agent-hitch 0.2.9 → 0.2.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +206 -137
- package/README.zh-CN.md +193 -119
- package/dist/scripts/canary-native-training.js +221 -0
- package/dist/scripts/canary-native-training.js.map +1 -0
- package/dist/scripts/canary-remote-training.js +246 -0
- package/dist/scripts/canary-remote-training.js.map +1 -0
- package/dist/scripts/canary-remote-verifier.js +124 -0
- package/dist/scripts/canary-remote-verifier.js.map +1 -0
- package/dist/scripts/canary-worker-host.js +113 -0
- package/dist/scripts/canary-worker-host.js.map +1 -0
- package/dist/scripts/canary-worker-peer.js +188 -0
- package/dist/scripts/canary-worker-peer.js.map +1 -0
- package/dist/scripts/check-architecture.js +4 -3
- package/dist/scripts/check-architecture.js.map +1 -1
- package/dist/src/adapters/catalog.js +2 -1
- package/dist/src/adapters/catalog.js.map +1 -1
- package/dist/src/adapters/providers/codex.js +65 -2
- package/dist/src/adapters/providers/codex.js.map +1 -1
- package/dist/src/adapters/providers/model-call.js +17 -1
- package/dist/src/adapters/providers/model-call.js.map +1 -1
- package/dist/src/adapters/providers/training-tool.js +29 -0
- package/dist/src/adapters/providers/training-tool.js.map +1 -0
- package/dist/src/artifacts/index.js +1 -1
- package/dist/src/artifacts/index.js.map +1 -1
- package/dist/src/artifacts/store.js +15 -10
- package/dist/src/artifacts/store.js.map +1 -1
- package/dist/src/backends/harbor/backend.js +24 -15
- package/dist/src/backends/harbor/backend.js.map +1 -1
- package/dist/src/backends/harbor/bridge-environment.js +12 -0
- package/dist/src/backends/harbor/bridge-environment.js.map +1 -0
- package/dist/src/backends/harbor/environment-config.js +2 -2
- package/dist/src/backends/harbor/environment-config.js.map +1 -1
- package/dist/src/backends/harbor/host-credential-helper.js +81 -0
- package/dist/src/backends/harbor/host-credential-helper.js.map +1 -0
- package/dist/src/backends/harbor/index.js +3 -0
- package/dist/src/backends/harbor/index.js.map +1 -1
- package/dist/src/backends/harbor/model-proxy-config.js +18 -1
- package/dist/src/backends/harbor/model-proxy-config.js.map +1 -1
- package/dist/src/backends/harbor/observation.js +61 -0
- package/dist/src/backends/harbor/observation.js.map +1 -0
- package/dist/src/backends/harbor/portable-regrade.js +150 -0
- package/dist/src/backends/harbor/portable-regrade.js.map +1 -0
- package/dist/src/backends/harbor/process.js +26 -5
- package/dist/src/backends/harbor/process.js.map +1 -1
- package/dist/src/backends/harbor/regrade.js +4 -1
- package/dist/src/backends/harbor/regrade.js.map +1 -1
- package/dist/src/backends/harbor/supervisor.js +22 -0
- package/dist/src/backends/harbor/supervisor.js.map +1 -1
- package/dist/src/backends/harbor/tools.js +2 -0
- package/dist/src/backends/harbor/tools.js.map +1 -1
- package/dist/src/backends/index.js +3 -0
- package/dist/src/backends/index.js.map +1 -1
- package/dist/src/cli/arguments.js +33 -0
- package/dist/src/cli/arguments.js.map +1 -1
- package/dist/src/cli/commands/capabilities.js +14 -1
- package/dist/src/cli/commands/capabilities.js.map +1 -1
- package/dist/src/cli/commands/daemon.js +19 -0
- package/dist/src/cli/commands/daemon.js.map +1 -1
- package/dist/src/cli/commands/eval.js +38 -10
- package/dist/src/cli/commands/eval.js.map +1 -1
- package/dist/src/cli/commands/local.js +130 -0
- package/dist/src/cli/commands/local.js.map +1 -0
- package/dist/src/cli/commands/model-node.js +26 -0
- package/dist/src/cli/commands/model-node.js.map +1 -0
- package/dist/src/cli/commands/models.js +72 -0
- package/dist/src/cli/commands/models.js.map +1 -0
- package/dist/src/cli/commands/run.js +36 -1
- package/dist/src/cli/commands/run.js.map +1 -1
- package/dist/src/cli/commands/training.js +32 -0
- package/dist/src/cli/commands/training.js.map +1 -0
- package/dist/src/cli/commands/worker.js +30 -2
- package/dist/src/cli/commands/worker.js.map +1 -1
- package/dist/src/cli/main.js +8 -0
- package/dist/src/cli/main.js.map +1 -1
- package/dist/src/cli/output.js +24 -2
- package/dist/src/cli/output.js.map +1 -1
- package/dist/src/control-plane/eval-records.js +2 -0
- package/dist/src/control-plane/eval-records.js.map +1 -1
- package/dist/src/control-plane/eval-recovery.js +7 -1
- package/dist/src/control-plane/eval-recovery.js.map +1 -1
- package/dist/src/control-plane/eval-scheduler.js +24 -50
- package/dist/src/control-plane/eval-scheduler.js.map +1 -1
- package/dist/src/control-plane/eval-submission-persist.js +30 -0
- package/dist/src/control-plane/eval-submission-persist.js.map +1 -0
- package/dist/src/control-plane/execution-observation-contract.js +60 -0
- package/dist/src/control-plane/execution-observation-contract.js.map +1 -0
- package/dist/src/control-plane/index.js +10 -0
- package/dist/src/control-plane/index.js.map +1 -1
- package/dist/src/control-plane/inference-manager.js +357 -0
- package/dist/src/control-plane/inference-manager.js.map +1 -0
- package/dist/src/control-plane/managed-gateway-receipt.js +26 -0
- package/dist/src/control-plane/managed-gateway-receipt.js.map +1 -0
- package/dist/src/control-plane/managed-service-recovery.js +158 -0
- package/dist/src/control-plane/managed-service-recovery.js.map +1 -0
- package/dist/src/control-plane/model-capture-planning.js +15 -1
- package/dist/src/control-plane/model-capture-planning.js.map +1 -1
- package/dist/src/control-plane/ordered-eval-control.js +221 -0
- package/dist/src/control-plane/ordered-eval-control.js.map +1 -0
- package/dist/src/control-plane/remote-backend-result.js +18 -0
- package/dist/src/control-plane/remote-backend-result.js.map +1 -0
- package/dist/src/control-plane/remote-execution-lease.js +15 -0
- package/dist/src/control-plane/remote-execution-lease.js.map +1 -0
- package/dist/src/control-plane/remote-execution-observation.js +108 -0
- package/dist/src/control-plane/remote-execution-observation.js.map +1 -0
- package/dist/src/control-plane/remote-model-routes.js +107 -0
- package/dist/src/control-plane/remote-model-routes.js.map +1 -0
- package/dist/src/control-plane/remote-observation-reporter.js +37 -0
- package/dist/src/control-plane/remote-observation-reporter.js.map +1 -0
- package/dist/src/control-plane/remote-offer-contract.js +48 -0
- package/dist/src/control-plane/remote-offer-contract.js.map +1 -0
- package/dist/src/control-plane/remote-rerun-journal.js +61 -0
- package/dist/src/control-plane/remote-rerun-journal.js.map +1 -0
- package/dist/src/control-plane/remote-result-transport.js +55 -9
- package/dist/src/control-plane/remote-result-transport.js.map +1 -1
- package/dist/src/control-plane/remote-verifier-import.js +52 -0
- package/dist/src/control-plane/remote-verifier-import.js.map +1 -0
- package/dist/src/control-plane/remote-verifier-result.js +61 -0
- package/dist/src/control-plane/remote-verifier-result.js.map +1 -0
- package/dist/src/control-plane/remote-verifier-source-transport.js +68 -0
- package/dist/src/control-plane/remote-verifier-source-transport.js.map +1 -0
- package/dist/src/control-plane/remote-work-coordinator.js +103 -47
- package/dist/src/control-plane/remote-work-coordinator.js.map +1 -1
- package/dist/src/control-plane/remote-work-inputs.js +26 -5
- package/dist/src/control-plane/remote-work-inputs.js.map +1 -1
- package/dist/src/control-plane/remote-work-recovery.js +123 -34
- package/dist/src/control-plane/remote-work-recovery.js.map +1 -1
- package/dist/src/control-plane/remote-worker-artifacts.js +10 -7
- package/dist/src/control-plane/remote-worker-artifacts.js.map +1 -1
- package/dist/src/control-plane/remote-worker-cleanup.js +104 -0
- package/dist/src/control-plane/remote-worker-cleanup.js.map +1 -0
- package/dist/src/control-plane/remote-worker-client.js +156 -14
- package/dist/src/control-plane/remote-worker-client.js.map +1 -1
- package/dist/src/control-plane/remote-worker-codecs.js +160 -0
- package/dist/src/control-plane/remote-worker-codecs.js.map +1 -0
- package/dist/src/control-plane/remote-worker-generation-recovery.js +67 -0
- package/dist/src/control-plane/remote-worker-generation-recovery.js.map +1 -0
- package/dist/src/control-plane/remote-worker-ownership.js +51 -0
- package/dist/src/control-plane/remote-worker-ownership.js.map +1 -0
- package/dist/src/control-plane/remote-worker-protocol.js +85 -119
- package/dist/src/control-plane/remote-worker-protocol.js.map +1 -1
- package/dist/src/control-plane/remote-worker-runner.js +95 -18
- package/dist/src/control-plane/remote-worker-runner.js.map +1 -1
- package/dist/src/control-plane/remote-workers.js +33 -5
- package/dist/src/control-plane/remote-workers.js.map +1 -1
- package/dist/src/control-plane/rerun-recovery.js +89 -0
- package/dist/src/control-plane/rerun-recovery.js.map +1 -0
- package/dist/src/control-plane/rerun-scheduler.js +70 -96
- package/dist/src/control-plane/rerun-scheduler.js.map +1 -1
- package/dist/src/control-plane/rerun-source.js +57 -0
- package/dist/src/control-plane/rerun-source.js.map +1 -0
- package/dist/src/control-plane/worker-model-relay.js +76 -0
- package/dist/src/control-plane/worker-model-relay.js.map +1 -0
- package/dist/src/controller-runtime/hash.js +3 -0
- package/dist/src/controller-runtime/hash.js.map +1 -1
- package/dist/src/controller-runtime/index.js +2 -0
- package/dist/src/controller-runtime/index.js.map +1 -1
- package/dist/src/controller-runtime/observation.js +29 -0
- package/dist/src/controller-runtime/observation.js.map +1 -0
- package/dist/src/controller-runtime/resident.js +22 -0
- package/dist/src/controller-runtime/resident.js.map +1 -0
- package/dist/src/daemon/client.js +34 -1
- package/dist/src/daemon/client.js.map +1 -1
- package/dist/src/daemon/execution-observation.js +38 -0
- package/dist/src/daemon/execution-observation.js.map +1 -0
- package/dist/src/daemon/http.js +57 -0
- package/dist/src/daemon/http.js.map +1 -0
- package/dist/src/daemon/inference-prepare.js +47 -0
- package/dist/src/daemon/inference-prepare.js.map +1 -0
- package/dist/src/daemon/scheduler.js +4 -1
- package/dist/src/daemon/scheduler.js.map +1 -1
- package/dist/src/daemon/server.js +80 -82
- package/dist/src/daemon/server.js.map +1 -1
- package/dist/src/daemon/worker-observation.js +34 -0
- package/dist/src/daemon/worker-observation.js.map +1 -0
- package/dist/src/daemon/worker-ownership.js +71 -0
- package/dist/src/daemon/worker-ownership.js.map +1 -0
- package/dist/src/daemon/worker-routes.js +83 -15
- package/dist/src/daemon/worker-routes.js.map +1 -1
- package/dist/src/domain/execution-observation.js +2 -0
- package/dist/src/domain/execution-observation.js.map +1 -0
- package/dist/src/domain/index.js +1 -0
- package/dist/src/domain/index.js.map +1 -1
- package/dist/src/domain/inference.js +2 -0
- package/dist/src/domain/inference.js.map +1 -0
- package/dist/src/domain/runs.js.map +1 -1
- package/dist/src/domain/training.js +2 -0
- package/dist/src/domain/training.js.map +1 -0
- package/dist/src/domain/validation.js +11 -0
- package/dist/src/domain/validation.js.map +1 -1
- package/dist/src/domain/verifier-source.js +2 -0
- package/dist/src/domain/verifier-source.js.map +1 -0
- package/dist/src/domain/worker-recovery.js +2 -0
- package/dist/src/domain/worker-recovery.js.map +1 -0
- package/dist/src/evals/eval-logical-plan.js +8 -1
- package/dist/src/evals/eval-logical-plan.js.map +1 -1
- package/dist/src/evals/execution-leases.js +15 -2
- package/dist/src/evals/execution-leases.js.map +1 -1
- package/dist/src/evals/execution-plan.js +11 -1
- package/dist/src/evals/execution-plan.js.map +1 -1
- package/dist/src/evals/harbor-bridge-error.js +8 -0
- package/dist/src/evals/harbor-bridge-error.js.map +1 -1
- package/dist/src/evals/index.js +19 -0
- package/dist/src/evals/index.js.map +1 -1
- package/dist/src/evals/model-capture-plan.js +12 -0
- package/dist/src/evals/model-capture-plan.js.map +1 -1
- package/dist/src/evals/model-capture-runtime.js +25 -0
- package/dist/src/evals/model-capture-runtime.js.map +1 -1
- package/dist/src/evals/physical-work-plan.js +57 -0
- package/dist/src/evals/physical-work-plan.js.map +1 -0
- package/dist/src/evals/preparation-rerun.js +6 -0
- package/dist/src/evals/preparation-rerun.js.map +1 -1
- package/dist/src/evals/recovery.js +8 -1
- package/dist/src/evals/recovery.js.map +1 -1
- package/dist/src/evals/regrade-evidence.js +4 -4
- package/dist/src/evals/regrade-evidence.js.map +1 -1
- package/dist/src/evals/remote-execution-ownership.js +50 -0
- package/dist/src/evals/remote-execution-ownership.js.map +1 -0
- package/dist/src/evals/remote-infrastructure-retry.js +2 -0
- package/dist/src/evals/remote-infrastructure-retry.js.map +1 -1
- package/dist/src/evals/remote-lease-release.js +58 -0
- package/dist/src/evals/remote-lease-release.js.map +1 -0
- package/dist/src/evals/remote-rerun-execution.js +85 -0
- package/dist/src/evals/remote-rerun-execution.js.map +1 -0
- package/dist/src/evals/remote-trial.js +6 -0
- package/dist/src/evals/remote-trial.js.map +1 -0
- package/dist/src/evals/remote-verifier-assessment.js +85 -0
- package/dist/src/evals/remote-verifier-assessment.js.map +1 -0
- package/dist/src/evals/remote-verifier-contract.js +43 -0
- package/dist/src/evals/remote-verifier-contract.js.map +1 -0
- package/dist/src/evals/remote-verifier-execution.js +105 -0
- package/dist/src/evals/remote-verifier-execution.js.map +1 -0
- package/dist/src/evals/remote-verifier-journal.js +21 -0
- package/dist/src/evals/remote-verifier-journal.js.map +1 -0
- package/dist/src/evals/remote-verifier-outcome.js +51 -0
- package/dist/src/evals/remote-verifier-outcome.js.map +1 -0
- package/dist/src/evals/remote-verifier-rerun.js +134 -0
- package/dist/src/evals/remote-verifier-rerun.js.map +1 -0
- package/dist/src/evals/remote-verifier-selection.js +61 -0
- package/dist/src/evals/remote-verifier-selection.js.map +1 -0
- package/dist/src/evals/remote-verifier-source.js +33 -0
- package/dist/src/evals/remote-verifier-source.js.map +1 -0
- package/dist/src/evals/remote-worker-cleanup.js +46 -0
- package/dist/src/evals/remote-worker-cleanup.js.map +1 -0
- package/dist/src/evals/request.js +58 -1
- package/dist/src/evals/request.js.map +1 -1
- package/dist/src/evals/rerun-completion.js +39 -0
- package/dist/src/evals/rerun-completion.js.map +1 -0
- package/dist/src/evals/rerun-resume.js +70 -0
- package/dist/src/evals/rerun-resume.js.map +1 -0
- package/dist/src/evals/rerun-state.js +25 -0
- package/dist/src/evals/rerun-state.js.map +1 -0
- package/dist/src/evals/rerun-types.js.map +1 -1
- package/dist/src/evals/rerun.js +90 -46
- package/dist/src/evals/rerun.js.map +1 -1
- package/dist/src/evals/service.js +59 -5
- package/dist/src/evals/service.js.map +1 -1
- package/dist/src/evals/verifier-only-rerun.js +2 -16
- package/dist/src/evals/verifier-only-rerun.js.map +1 -1
- package/dist/src/evals/verifier-rerun-result.js +24 -0
- package/dist/src/evals/verifier-rerun-result.js.map +1 -0
- package/dist/src/evals/verifier-source-import.js +48 -0
- package/dist/src/evals/verifier-source-import.js.map +1 -0
- package/dist/src/evals/verifier-source.js +139 -0
- package/dist/src/evals/verifier-source.js.map +1 -0
- package/dist/src/foundation/base64.js +19 -0
- package/dist/src/foundation/base64.js.map +1 -0
- package/dist/src/foundation/config.js +10 -0
- package/dist/src/foundation/config.js.map +1 -1
- package/dist/src/foundation/credential-redaction.js +22 -9
- package/dist/src/foundation/credential-redaction.js.map +1 -1
- package/dist/src/foundation/index.js +1 -0
- package/dist/src/foundation/index.js.map +1 -1
- package/dist/src/foundation/process-identity.js +13 -9
- package/dist/src/foundation/process-identity.js.map +1 -1
- package/dist/src/inference/daemon-capacity.js +41 -0
- package/dist/src/inference/daemon-capacity.js.map +1 -0
- package/dist/src/inference/device-reservation.js +58 -0
- package/dist/src/inference/device-reservation.js.map +1 -0
- package/dist/src/inference/doctor.js +95 -0
- package/dist/src/inference/doctor.js.map +1 -0
- package/dist/src/inference/generation-recovery.js +83 -0
- package/dist/src/inference/generation-recovery.js.map +1 -0
- package/dist/src/inference/index.js +24 -0
- package/dist/src/inference/index.js.map +1 -0
- package/dist/src/inference/lock.js +331 -0
- package/dist/src/inference/lock.js.map +1 -0
- package/dist/src/inference/managed-launcher.js +35 -0
- package/dist/src/inference/managed-launcher.js.map +1 -0
- package/dist/src/inference/manifest.js +262 -0
- package/dist/src/inference/manifest.js.map +1 -0
- package/dist/src/inference/materialize.js +66 -0
- package/dist/src/inference/materialize.js.map +1 -0
- package/dist/src/inference/model-location.js +34 -0
- package/dist/src/inference/model-location.js.map +1 -0
- package/dist/src/inference/model-store.js +439 -0
- package/dist/src/inference/model-store.js.map +1 -0
- package/dist/src/inference/node-client.js +167 -0
- package/dist/src/inference/node-client.js.map +1 -0
- package/dist/src/inference/node-registry.js +79 -0
- package/dist/src/inference/node-registry.js.map +1 -0
- package/dist/src/inference/observation.js +79 -0
- package/dist/src/inference/observation.js.map +1 -0
- package/dist/src/inference/preflight.js +132 -0
- package/dist/src/inference/preflight.js.map +1 -0
- package/dist/src/inference/process-sglang.js +169 -0
- package/dist/src/inference/process-sglang.js.map +1 -0
- package/dist/src/inference/protocol-probe.js +29 -0
- package/dist/src/inference/protocol-probe.js.map +1 -0
- package/dist/src/inference/remote-model-store.js +24 -0
- package/dist/src/inference/remote-model-store.js.map +1 -0
- package/dist/src/inference/runtime-catalog.js +41 -0
- package/dist/src/inference/runtime-catalog.js.map +1 -0
- package/dist/src/inference/runtime-store.js +93 -0
- package/dist/src/inference/runtime-store.js.map +1 -0
- package/dist/src/inference/service-attachment.js +46 -0
- package/dist/src/inference/service-attachment.js.map +1 -0
- package/dist/src/inference/service-inspection.js +38 -0
- package/dist/src/inference/service-inspection.js.map +1 -0
- package/dist/src/inference/sglang.js +279 -0
- package/dist/src/inference/sglang.js.map +1 -0
- package/dist/src/inference/supervisor.js +460 -0
- package/dist/src/inference/supervisor.js.map +1 -0
- package/dist/src/model-access/environment.js +28 -0
- package/dist/src/model-access/environment.js.map +1 -0
- package/dist/src/model-access/index.js +4 -0
- package/dist/src/model-access/index.js.map +1 -1
- package/dist/src/model-access/local-gateway-request.js +139 -0
- package/dist/src/model-access/local-gateway-request.js.map +1 -0
- package/dist/src/model-access/local-gateway.js +323 -0
- package/dist/src/model-access/local-gateway.js.map +1 -0
- package/dist/src/model-access/proxy.js +90 -5
- package/dist/src/model-access/proxy.js.map +1 -1
- package/dist/src/model-access/remote-model.js +58 -0
- package/dist/src/model-access/remote-model.js.map +1 -0
- package/dist/src/model-access/training.js +115 -0
- package/dist/src/model-access/training.js.map +1 -0
- package/dist/src/runs/adapter-process.js +2 -2
- package/dist/src/runs/adapter-process.js.map +1 -1
- package/dist/src/runs/executor-types.js +2 -0
- package/dist/src/runs/executor-types.js.map +1 -0
- package/dist/src/runs/executor.js +54 -34
- package/dist/src/runs/executor.js.map +1 -1
- package/dist/src/runs/index.js +1 -0
- package/dist/src/runs/index.js.map +1 -1
- package/dist/src/runs/local-inference-environment.js +59 -0
- package/dist/src/runs/local-inference-environment.js.map +1 -0
- package/dist/src/runs/local-inference-run.js +53 -0
- package/dist/src/runs/local-inference-run.js.map +1 -0
- package/dist/src/runs/outcome.js +22 -0
- package/dist/src/runs/outcome.js.map +1 -1
- package/dist/src/runs/records.js +9 -0
- package/dist/src/runs/records.js.map +1 -1
- package/dist/src/runs/request.js +58 -3
- package/dist/src/runs/request.js.map +1 -1
- package/dist/src/runs/training-evidence.js +22 -0
- package/dist/src/runs/training-evidence.js.map +1 -0
- package/dist/src/runs/training-runtime.js +20 -0
- package/dist/src/runs/training-runtime.js.map +1 -0
- package/dist/src/workers/execution-observation.js +32 -0
- package/dist/src/workers/execution-observation.js.map +1 -0
- package/dist/src/workers/index.js +2 -0
- package/dist/src/workers/index.js.map +1 -1
- package/dist/src/workers/remote-harbor-ownership.js +266 -0
- package/dist/src/workers/remote-harbor-ownership.js.map +1 -0
- package/dist/src/workers/remote-harbor-verifier.js +76 -0
- package/dist/src/workers/remote-harbor-verifier.js.map +1 -0
- package/dist/src/workers/remote-harbor-work-spec.js +66 -10
- package/dist/src/workers/remote-harbor-work-spec.js.map +1 -1
- package/dist/src/workers/remote-harbor-worker.js +56 -49
- package/dist/src/workers/remote-harbor-worker.js.map +1 -1
- package/dist/src/workers/remote-worker-host.js +33 -0
- package/dist/src/workers/remote-worker-host.js.map +1 -0
- package/docs/local-model-inference-spec.zh-CN.md +666 -0
- package/docs/schemas/controller-runtime-observation.schema.json +21 -0
- package/docs/schemas/eval-execution-plan.schema.json +1 -0
- package/docs/schemas/eval-request.schema.json +3 -1
- package/docs/schemas/execution-lease.schema.json +95 -1
- package/docs/schemas/execution-provider-status.schema.json +162 -28
- package/docs/schemas/inference-execution-evidence.schema.json +487 -0
- package/docs/schemas/inference-lock.schema.json +487 -0
- package/docs/schemas/inference-runtime-manifest.schema.json +156 -0
- package/docs/schemas/inference-service-record.schema.json +227 -0
- package/docs/schemas/local-inference-selection.schema.json +98 -0
- package/docs/schemas/local-model-manifest.schema.json +43 -0
- package/docs/schemas/model-node-binding.schema.json +34 -0
- package/docs/schemas/model-node-generation-release.schema.json +46 -0
- package/docs/schemas/ordered-eval-control.schema.json +39 -0
- package/docs/schemas/remote-execution-lease-grant.schema.json +45 -0
- package/docs/schemas/remote-harbor-work-spec.schema.json +325 -0
- package/docs/schemas/remote-model-binding.schema.json +21 -0
- package/docs/schemas/remote-physical-execution.schema.json +108 -0
- package/docs/schemas/remote-result-envelope.schema.json +9 -3
- package/docs/schemas/remote-tree-envelope.schema.json +17 -3
- package/docs/schemas/remote-verifier-result.schema.json +203 -0
- package/docs/schemas/remote-verifier-source.schema.json +52 -0
- package/docs/schemas/remote-verifier-work.schema.json +125 -0
- package/docs/schemas/remote-work-offer.schema.json +170 -34
- package/docs/schemas/remote-worker-execution-admission.schema.json +214 -0
- package/docs/schemas/remote-worker-generation-cleanup.schema.json +199 -0
- package/docs/schemas/remote-worker-registration.schema.json +226 -25
- package/docs/schemas/run-manifest.schema.json +211 -44
- package/docs/schemas/run-request.schema.json +2 -1
- package/docs/schemas/training-external-binding.schema.json +26 -0
- package/integrations/harbor/hitch_harbor_agent.py +241 -13
- package/integrations/harbor/hitch_harbor_environment.py +22 -1
- package/integrations/harbor/hitch_host_credentials.py +354 -0
- package/integrations/harbor/hitch_private_exec.py +150 -0
- package/integrations/model-call/cli.js +13 -5
- package/integrations/training-tool/cli.js +72 -0
- package/package.json +8 -2
|
@@ -1,16 +1,22 @@
|
|
|
1
|
+
import { prepareInference } from "./inference-prepare.js";
|
|
2
|
+
import { orderedEvalControl, withLegacyEvalMutation } from "../control-plane/index.js";
|
|
3
|
+
import { executionObservation } from "./execution-observation.js";
|
|
1
4
|
import { randomBytes } from "node:crypto";
|
|
2
5
|
import { createServer } from "node:http";
|
|
3
6
|
import { stat } from "node:fs/promises";
|
|
4
7
|
import path from "node:path";
|
|
5
8
|
import { Scheduler } from "./scheduler.js";
|
|
6
|
-
import { CollisionLockManager, EvalRerunScheduler, EvalScheduler, RemoteWorkerProtocol, RemoteWorkerRegistry, ResourceLedger, inspectBuild, validateResourceVector } from "../control-plane/index.js";
|
|
7
|
-
import { SCHEMA_VERSION, atomicWriteJSON, ensureDir, hitchRootId, invalidInput, readJSON, removeIfExists, statePaths } from "../foundation/index.js";
|
|
9
|
+
import { CollisionLockManager, EvalRerunScheduler, EvalScheduler, LocalInferenceManager, ManagedServiceRecovery, RemoteWorkerProtocol, RemoteWorkerRegistry, RemoteExecutionObservationCoordinator, ResourceLedger, inspectBuild, validateResourceVector } from "../control-plane/index.js";
|
|
10
|
+
import { HitchError, SCHEMA_VERSION, atomicWriteJSON, ensureDir, hitchRootId, invalidInput, readJSON, removeIfExists, statePaths } from "../foundation/index.js";
|
|
8
11
|
import { acquireInstanceLock, authorized, ensureToken, releaseInstanceLock } from "./auth.js";
|
|
9
12
|
import { handleRemoteWorkRoute, handleWorkerProtocolRoute } from "./worker-routes.js";
|
|
13
|
+
import { handleWorkerOwnershipRoute } from "./worker-ownership.js";
|
|
14
|
+
import { handleWorkerObservationRoute } from "./worker-observation.js";
|
|
10
15
|
import { DaemonTelemetry } from "./telemetry.js";
|
|
11
16
|
import { healthParallelism, healthResources, workerHealth } from "./health.js";
|
|
12
17
|
import { boundedControlEvent, boundedMessage } from "./logging.js";
|
|
13
18
|
import { completeLineSize, isLineBoundary, streamFileRange } from "./event-stream.js";
|
|
19
|
+
import { defaultLogger, defaultResourceCapacity, errorStatus, json, readBodyJSON } from "./http.js";
|
|
14
20
|
export class DaemonServer {
|
|
15
21
|
paths;
|
|
16
22
|
rootId;
|
|
@@ -31,6 +37,7 @@ export class DaemonServer {
|
|
|
31
37
|
evalScheduler;
|
|
32
38
|
evalRerunScheduler;
|
|
33
39
|
resources;
|
|
40
|
+
inferenceManager;
|
|
34
41
|
server;
|
|
35
42
|
remoteWorkers;
|
|
36
43
|
remoteWorkerProtocol;
|
|
@@ -41,7 +48,9 @@ export class DaemonServer {
|
|
|
41
48
|
evalRerunExecutor;
|
|
42
49
|
credentialEnv;
|
|
43
50
|
telemetry = new DaemonTelemetry();
|
|
44
|
-
|
|
51
|
+
executionObserver;
|
|
52
|
+
remoteObservations;
|
|
53
|
+
constructor({ root, port, maxConcurrent, logger = defaultLogger, discoverHarnesses = async () => [], resourceCapacity, runResources, evalTrialResources, evalExecutor, evalRerunExecutor, credentialEnv, executionObserver }) {
|
|
45
54
|
this.paths = statePaths(root);
|
|
46
55
|
this.rootId = hitchRootId(this.paths.root);
|
|
47
56
|
this.instanceId = randomBytes(16).toString("hex");
|
|
@@ -55,7 +64,9 @@ export class DaemonServer {
|
|
|
55
64
|
this.evalExecutor = evalExecutor;
|
|
56
65
|
this.evalRerunExecutor = evalRerunExecutor;
|
|
57
66
|
this.credentialEnv = credentialEnv ?? process.env;
|
|
67
|
+
this.executionObserver = executionObserver;
|
|
58
68
|
this.remoteWorkers = new RemoteWorkerRegistry({ root: this.paths.root });
|
|
69
|
+
this.remoteObservations = new RemoteExecutionObservationCoordinator({ registry: this.remoteWorkers, instanceId: this.instanceId });
|
|
59
70
|
this.remoteWorkerProtocol = new RemoteWorkerProtocol({ root: this.paths.root, registry: this.remoteWorkers, ...(credentialEnv ? { credentialEnv } : {}) });
|
|
60
71
|
this.startedAt = new Date();
|
|
61
72
|
this.closedPromise = new Promise((resolve) => { this.resolveClosed = resolve; });
|
|
@@ -69,10 +80,22 @@ export class DaemonServer {
|
|
|
69
80
|
this.ownsLock = true;
|
|
70
81
|
try {
|
|
71
82
|
this.token = await ensureToken(this.paths.token);
|
|
83
|
+
await this.executionObserver?.initialize();
|
|
72
84
|
await this.remoteWorkers.initialize();
|
|
73
85
|
await this.remoteWorkerProtocol.initialize();
|
|
86
|
+
this.remoteWorkerProtocol.modelRoutes.deferManagedRecovery();
|
|
87
|
+
// Recovery needs worker heartbeats, terminal receipts and release acknowledgments.
|
|
88
|
+
await this.listen();
|
|
74
89
|
this.agents = await this.discoverHarnesses();
|
|
75
90
|
this.resources = new ResourceLedger(this.resourceCapacity);
|
|
91
|
+
this.inferenceManager = new LocalInferenceManager({
|
|
92
|
+
root: this.paths.root,
|
|
93
|
+
resources: this.resources,
|
|
94
|
+
recovery: new ManagedServiceRecovery(this.paths.root, this.remoteWorkers, this.remoteWorkerProtocol),
|
|
95
|
+
onEvent: (event) => this.observeControlEvent(event),
|
|
96
|
+
});
|
|
97
|
+
await this.inferenceManager.initialize();
|
|
98
|
+
this.remoteWorkerProtocol.modelRoutes.finishManagedRecovery();
|
|
76
99
|
this.scheduler = new Scheduler({
|
|
77
100
|
runsRoot: this.paths.runs,
|
|
78
101
|
root: this.paths.root,
|
|
@@ -81,6 +104,7 @@ export class DaemonServer {
|
|
|
81
104
|
runResources: this.runResources,
|
|
82
105
|
credentialEnv: this.credentialEnv,
|
|
83
106
|
onEvent: (event) => this.observeRunEvent(event),
|
|
107
|
+
inferenceCoordinator: this.inferenceManager,
|
|
84
108
|
});
|
|
85
109
|
await this.scheduler.initialize();
|
|
86
110
|
const collisions = new CollisionLockManager();
|
|
@@ -92,6 +116,7 @@ export class DaemonServer {
|
|
|
92
116
|
remoteWorkers: this.remoteWorkers,
|
|
93
117
|
remoteWorkerProtocol: this.remoteWorkerProtocol,
|
|
94
118
|
credentialEnv: this.credentialEnv,
|
|
119
|
+
inferenceCoordinator: this.inferenceManager,
|
|
95
120
|
...(this.evalExecutor ? { executor: this.evalExecutor } : {}),
|
|
96
121
|
onEvent: (event) => this.observeControlEvent(event),
|
|
97
122
|
});
|
|
@@ -101,31 +126,13 @@ export class DaemonServer {
|
|
|
101
126
|
resources: this.resources,
|
|
102
127
|
trialResources: this.evalTrialResources,
|
|
103
128
|
collisions,
|
|
129
|
+
...(this.evalScheduler.remoteWork ? { remoteWork: this.evalScheduler.remoteWork } : {}),
|
|
104
130
|
...(this.evalRerunExecutor ? { executor: this.evalRerunExecutor } : {}),
|
|
105
131
|
credentialEnv: this.credentialEnv,
|
|
132
|
+
inferenceCoordinator: this.inferenceManager,
|
|
106
133
|
onEvent: (event) => this.observeControlEvent(event),
|
|
107
134
|
});
|
|
108
135
|
await this.evalRerunScheduler.initialize();
|
|
109
|
-
this.server = createServer((request, response) => {
|
|
110
|
-
this.handle(request, response).catch((error) => {
|
|
111
|
-
this.logger("request_error", { error: boundedMessage(error.message), path: boundedMessage(request.url || "", 2_048) });
|
|
112
|
-
const status = errorStatus(error);
|
|
113
|
-
json(response, status, {
|
|
114
|
-
error: {
|
|
115
|
-
code: error.code || "internal_error",
|
|
116
|
-
message: boundedMessage(error.message),
|
|
117
|
-
exit_code: Number.isInteger(error.exitCode) ? error.exitCode : 12,
|
|
118
|
-
},
|
|
119
|
-
});
|
|
120
|
-
});
|
|
121
|
-
});
|
|
122
|
-
this.server.requestTimeout = 30_000;
|
|
123
|
-
this.server.headersTimeout = 10_000;
|
|
124
|
-
await new Promise((resolve, reject) => {
|
|
125
|
-
this.server?.once("error", reject);
|
|
126
|
-
this.server?.listen(this.port, "127.0.0.1", () => resolve());
|
|
127
|
-
});
|
|
128
|
-
this.port = (this.server?.address()).port;
|
|
129
136
|
await atomicWriteJSON(this.paths.daemon, {
|
|
130
137
|
schema_version: SCHEMA_VERSION,
|
|
131
138
|
pid: process.pid,
|
|
@@ -147,20 +154,41 @@ export class DaemonServer {
|
|
|
147
154
|
this.scheduler?.shutdown().catch(() => { }),
|
|
148
155
|
this.evalScheduler?.shutdown().catch(() => { }),
|
|
149
156
|
this.evalRerunScheduler?.shutdown().catch(() => { }),
|
|
157
|
+
this.inferenceManager?.close().catch(() => { }),
|
|
150
158
|
]);
|
|
151
159
|
await releaseInstanceLock(this.paths.lock, this.instanceId);
|
|
152
160
|
this.ownsLock = false;
|
|
153
161
|
throw error;
|
|
154
162
|
}
|
|
155
163
|
}
|
|
164
|
+
async listen() {
|
|
165
|
+
this.server = createServer((request, response) => {
|
|
166
|
+
this.handle(request, response).catch((error) => {
|
|
167
|
+
this.logger("request_error", { error: boundedMessage(error.message), path: boundedMessage(request.url || "", 2_048) });
|
|
168
|
+
json(response, errorStatus(error), { error: {
|
|
169
|
+
code: error.code || "internal_error", message: boundedMessage(error.message),
|
|
170
|
+
exit_code: Number.isInteger(error.exitCode) ? error.exitCode : 12,
|
|
171
|
+
} });
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
this.server.requestTimeout = 30_000;
|
|
175
|
+
this.server.headersTimeout = 10_000;
|
|
176
|
+
await new Promise((resolve, reject) => {
|
|
177
|
+
this.server?.once("error", reject);
|
|
178
|
+
this.server?.listen(this.port, "127.0.0.1", () => resolve());
|
|
179
|
+
});
|
|
180
|
+
this.port = this.server.address().port;
|
|
181
|
+
}
|
|
156
182
|
async close() {
|
|
157
183
|
if (this.closing)
|
|
158
184
|
return this.closedPromise;
|
|
159
185
|
this.closing = true;
|
|
186
|
+
this.remoteObservations.close();
|
|
160
187
|
this.ready = false;
|
|
161
188
|
let failure;
|
|
162
189
|
try {
|
|
163
190
|
await Promise.all([this.scheduler?.shutdown(), this.evalScheduler?.shutdown(), this.evalRerunScheduler?.shutdown()]);
|
|
191
|
+
await this.inferenceManager?.close();
|
|
164
192
|
if (this.server)
|
|
165
193
|
await new Promise((resolve) => this.server?.close(() => resolve()));
|
|
166
194
|
}
|
|
@@ -192,11 +220,17 @@ export class DaemonServer {
|
|
|
192
220
|
return json(response, 200, await this.health());
|
|
193
221
|
}
|
|
194
222
|
const workerRoute = { request, response, url, registry: this.remoteWorkers, protocol: this.remoteWorkerProtocol, adminToken: this.token || "", onEvent: (event) => this.observeControlEvent(event) };
|
|
195
|
-
if (await
|
|
223
|
+
if (await handleWorkerObservationRoute({ ...workerRoute, observations: this.remoteObservations })
|
|
224
|
+
|| await handleWorkerOwnershipRoute(workerRoute) || await handleWorkerProtocolRoute(workerRoute) || await handleRemoteWorkRoute(workerRoute))
|
|
196
225
|
return;
|
|
197
226
|
if (!authorized(request, this.token || "")) {
|
|
198
227
|
return json(response, 401, { error: { code: "unauthorized", message: "missing or invalid daemon token" } });
|
|
199
228
|
}
|
|
229
|
+
if (!this.ready && !this.closing)
|
|
230
|
+
return json(response, 503, { error: { code: "daemon_recovering", message: "daemon is reconciling persisted execution; retry after recovery" } });
|
|
231
|
+
if (request.method === "POST" && url.pathname === "/v2/execution-observation") {
|
|
232
|
+
return executionObservation(request, response, { source: this.executionObserver, local: this.evalScheduler?.providerSnapshot(), instanceId: this.instanceId, remote: this.remoteObservations });
|
|
233
|
+
}
|
|
200
234
|
if (request.method === "GET" && ["/v1/harnesses", "/v1/agents"].includes(url.pathname)) {
|
|
201
235
|
this.agents = await this.discoverHarnesses();
|
|
202
236
|
const key = url.pathname === "/v1/agents" ? "agents" : "harnesses";
|
|
@@ -214,6 +248,21 @@ export class DaemonServer {
|
|
|
214
248
|
}));
|
|
215
249
|
return json(response, 200, { schema_version: SCHEMA_VERSION, workers: [...(local ? [local] : []), ...remote] });
|
|
216
250
|
}
|
|
251
|
+
if (request.method === "POST" && url.pathname === "/v1/inference/prepare") {
|
|
252
|
+
if (!this.inferenceManager)
|
|
253
|
+
throw new HitchError("inference manager unavailable", { code: "inference_route_unavailable", exitCode: 12 });
|
|
254
|
+
return prepareInference(request, response, this.inferenceManager);
|
|
255
|
+
}
|
|
256
|
+
if (request.method === "GET" && url.pathname === "/v1/inference/services") {
|
|
257
|
+
return json(response, 200, { schema_version: SCHEMA_VERSION, services: await this.inferenceManager?.list() ?? [] });
|
|
258
|
+
}
|
|
259
|
+
const inferenceStop = url.pathname.match(/^\/v1\/inference\/services\/(inference_[a-f0-9]{32})\/stop$/);
|
|
260
|
+
if (request.method === "POST" && inferenceStop) {
|
|
261
|
+
const body = await readBodyJSON(request);
|
|
262
|
+
const force = body.force === true;
|
|
263
|
+
await this.inferenceManager?.stop(inferenceStop[1], force);
|
|
264
|
+
return json(response, 200, { schema_version: SCHEMA_VERSION, service_id: inferenceStop[1], status: "stopped" });
|
|
265
|
+
}
|
|
217
266
|
const buildMatch = url.pathname.match(/^\/v1\/builds\/(build_[a-f0-9]{32})$/);
|
|
218
267
|
if (request.method === "GET" && buildMatch) {
|
|
219
268
|
const inspected = await inspectBuild(this.paths.root, buildMatch[1]);
|
|
@@ -226,6 +275,9 @@ export class DaemonServer {
|
|
|
226
275
|
const runId = await this.scheduler?.submit(requestBody);
|
|
227
276
|
return json(response, 202, { schema_version: SCHEMA_VERSION, run_id: runId, status: "queued" });
|
|
228
277
|
}
|
|
278
|
+
if (request.method === "POST" && url.pathname === "/v1/eval-controls") {
|
|
279
|
+
return json(response, 200, await orderedEvalControl(this.paths.root, await readBodyJSON(request), this.evalScheduler, this.evalRerunScheduler));
|
|
280
|
+
}
|
|
229
281
|
if (request.method === "POST" && url.pathname === "/v1/evals") {
|
|
230
282
|
const requestBody = await readBodyJSON(request);
|
|
231
283
|
const header = request.headers["idempotency-key"];
|
|
@@ -251,7 +303,8 @@ export class DaemonServer {
|
|
|
251
303
|
const rerunsCollectionMatch = url.pathname.match(/^\/v1\/evals\/(eval_[a-f0-9]+)\/reruns$/);
|
|
252
304
|
if (request.method === "POST" && rerunsCollectionMatch) {
|
|
253
305
|
const evalId = rerunsCollectionMatch[1];
|
|
254
|
-
const
|
|
306
|
+
const body = await readBodyJSON(request);
|
|
307
|
+
const accepted = await withLegacyEvalMutation(this.paths.root, evalId, () => this.evalRerunScheduler.submit(evalId, body));
|
|
255
308
|
return json(response, 202, {
|
|
256
309
|
schema_version: SCHEMA_VERSION,
|
|
257
310
|
eval_id: accepted?.evalId,
|
|
@@ -269,7 +322,7 @@ export class DaemonServer {
|
|
|
269
322
|
if (rerunMatch) {
|
|
270
323
|
const [, evalId, rerunId, action] = rerunMatch;
|
|
271
324
|
if (request.method === "POST" && action === "cancel") {
|
|
272
|
-
const status = await this.evalRerunScheduler
|
|
325
|
+
const status = await withLegacyEvalMutation(this.paths.root, evalId, () => this.evalRerunScheduler.cancel(evalId, rerunId));
|
|
273
326
|
return json(response, 200, { schema_version: SCHEMA_VERSION, eval_id: evalId, rerun_id: rerunId, status });
|
|
274
327
|
}
|
|
275
328
|
if (request.method === "GET" && !action) {
|
|
@@ -295,7 +348,7 @@ export class DaemonServer {
|
|
|
295
348
|
return this.streamEvents(response, path.join(this.paths.evals, evalId, "events.jsonl"), url.searchParams.get("offset") || "0");
|
|
296
349
|
}
|
|
297
350
|
if (request.method === "POST" && action === "cancel") {
|
|
298
|
-
const outcome = await this.evalScheduler
|
|
351
|
+
const outcome = await withLegacyEvalMutation(this.paths.root, evalId, () => this.evalScheduler.cancel(evalId));
|
|
299
352
|
if (outcome === "accepted")
|
|
300
353
|
return json(response, 202, { schema_version: SCHEMA_VERSION, eval_id: evalId, status: "cancelling" });
|
|
301
354
|
if (outcome === "terminal") {
|
|
@@ -415,59 +468,4 @@ export class DaemonServer {
|
|
|
415
468
|
}
|
|
416
469
|
}
|
|
417
470
|
}
|
|
418
|
-
function errorStatus(error) {
|
|
419
|
-
if (new Set(["idempotency_conflict", "eval_rerun_source_not_terminal", "eval_rerun_cancelled"]).has(String(error.code)))
|
|
420
|
-
return 409;
|
|
421
|
-
const exitCode = error.exitCode;
|
|
422
|
-
if (exitCode === 2)
|
|
423
|
-
return 400;
|
|
424
|
-
if (exitCode === 3)
|
|
425
|
-
return 404;
|
|
426
|
-
if (exitCode === 11)
|
|
427
|
-
return 403;
|
|
428
|
-
if ([4, 5, 10].includes(exitCode))
|
|
429
|
-
return 422;
|
|
430
|
-
return 500;
|
|
431
|
-
}
|
|
432
|
-
function httpErrorCode(status) {
|
|
433
|
-
if (status === 400)
|
|
434
|
-
return "invalid_input";
|
|
435
|
-
if (status === 404)
|
|
436
|
-
return "not_found";
|
|
437
|
-
return "daemon_request_failed";
|
|
438
|
-
}
|
|
439
|
-
async function readBodyJSON(request, limit = 1_048_576) {
|
|
440
|
-
const chunks = [];
|
|
441
|
-
let size = 0;
|
|
442
|
-
for await (const chunk of request) {
|
|
443
|
-
const buffer = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
|
|
444
|
-
size += buffer.length;
|
|
445
|
-
if (size > limit)
|
|
446
|
-
throw invalidInput("request body exceeds 1 MiB");
|
|
447
|
-
chunks.push(buffer);
|
|
448
|
-
}
|
|
449
|
-
try {
|
|
450
|
-
return JSON.parse(Buffer.concat(chunks).toString("utf8") || "{}");
|
|
451
|
-
}
|
|
452
|
-
catch {
|
|
453
|
-
throw invalidInput("invalid JSON request body");
|
|
454
|
-
}
|
|
455
|
-
}
|
|
456
|
-
function json(response, status, value) {
|
|
457
|
-
if (response.headersSent)
|
|
458
|
-
return;
|
|
459
|
-
response.writeHead(status, { "content-type": "application/json; charset=utf-8" });
|
|
460
|
-
response.end(`${JSON.stringify(value)}\n`);
|
|
461
|
-
}
|
|
462
|
-
function defaultLogger(type, fields) {
|
|
463
|
-
process.stdout.write(`${new Date().toISOString()} ${type} ${JSON.stringify(fields)}\n`);
|
|
464
|
-
}
|
|
465
|
-
function defaultResourceCapacity(maxConcurrent) {
|
|
466
|
-
return {
|
|
467
|
-
cpu_millis: maxConcurrent * 1_000,
|
|
468
|
-
memory_bytes: maxConcurrent * 1024 * 1024 * 1024,
|
|
469
|
-
container_slots: maxConcurrent,
|
|
470
|
-
build_slots: 1,
|
|
471
|
-
};
|
|
472
|
-
}
|
|
473
471
|
//# sourceMappingURL=server.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/daemon/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/daemon/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAY,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,aAAa,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,qCAAqC,EAAE,cAAc,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAE5R,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGjK,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAC9F,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,WAAW,EAAiB,IAAI,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAmBnH,MAAM,OAAO,YAAY;IACd,KAAK,CAAa;IAClB,MAAM,CAAS;IACf,UAAU,CAAS;IAC5B,IAAI,CAAS;IACJ,aAAa,CAAS;IACd,MAAM,CAA0D;IAChE,iBAAiB,CAA2B;IAC5C,SAAS,CAAO;IACzB,KAAK,GAAG,KAAK,CAAC;IACd,OAAO,GAAG,KAAK,CAAC;IACP,aAAa,CAAgB;IACtC,aAAa,CAAc;IAC3B,QAAQ,GAAG,KAAK,CAAC;IACjB,KAAK,CAAqB;IAC1B,MAAM,CAAwB;IAC9B,SAAS,CAAwB;IACjC,aAAa,CAA4B;IACzC,kBAAkB,CAAiC;IACnD,SAAS,CAA6B;IACtC,gBAAgB,CAAoC;IACpD,MAAM,CAA8C;IAC3C,aAAa,CAAuB;IACpC,oBAAoB,CAAuB;IAC3C,gBAAgB,CAAmB;IACnC,YAAY,CAAmB;IAC/B,kBAAkB,CAAmB;IACrC,YAAY,CAA+C;IAC3D,iBAAiB,CAAgC;IACjD,aAAa,CAAoB;IACjC,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;IAClC,iBAAiB,CAA2C;IAC5D,kBAAkB,CAAwC;IAE3E,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,GAAG,aAAa,EAAE,iBAAiB,GAAG,KAAK,IAAI,EAAE,CAAC,EAAE,EAAE,gBAAgB,EAAE,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,iBAAiB,EAAuB;QAC/O,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,gBAAgB,GAAG,sBAAsB,CAAC,gBAAgB,IAAI,uBAAuB,CAAC,aAAa,CAAC,EAAE,0BAA0B,CAAC,CAAC;QACvI,IAAI,CAAC,YAAY,GAAG,sBAAsB,CAAC,YAAY,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI,EAAE,eAAe,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,wBAAwB,CAAC,CAAC;QACjL,IAAI,CAAC,kBAAkB,GAAG,sBAAsB,CAAC,kBAAkB,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,eAAe,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,+BAA+B,CAAC,CAAC;QACrM,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC;QAClD,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,IAAI,oBAAoB,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,kBAAkB,GAAG,IAAI,qCAAqC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACnI,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3J,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACjD,MAAM,IAAI,CAAC,iBAAiB,EAAE,UAAU,EAAE,CAAC;YAC3C,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;YACtC,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,CAAC;YAC7C,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC;YAC7D,mFAAmF;YACnF,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC7C,IAAI,CAAC,SAAS,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC3D,IAAI,CAAC,gBAAgB,GAAG,IAAI,qBAAqB,CAAC;gBAChD,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;gBACrB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,QAAQ,EAAE,IAAI,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,oBAAoB,CAAC;gBACpG,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;aACpD,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;YACzC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,qBAAqB,EAAE,CAAC;YAC9D,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC;gBAC7B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;gBACzB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;gBACrB,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;gBAC/C,oBAAoB,EAAE,IAAI,CAAC,gBAAgB;aAC5C,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,IAAI,oBAAoB,EAAE,CAAC;YAC9C,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC;gBACrC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;gBACrB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,cAAc,EAAE,IAAI,CAAC,kBAAkB;gBACvC,UAAU;gBACV,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;gBAC/C,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,oBAAoB,EAAE,IAAI,CAAC,gBAAgB;gBAC3C,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;aACpD,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;YACtC,IAAI,CAAC,kBAAkB,GAAG,IAAI,kBAAkB,CAAC;gBAC/C,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;gBACrB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,cAAc,EAAE,IAAI,CAAC,kBAAkB;gBACvC,UAAU;gBACV,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvF,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvE,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,oBAAoB,EAAE,IAAI,CAAC,gBAAgB;gBAC3C,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;aACpD,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC;YAE3C,MAAM,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;gBACvC,cAAc,EAAE,cAAc;gBAC9B,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,IAAI,CAAC,MAAM;gBACpB,WAAW,EAAE,IAAI,CAAC,UAAU;gBAC5B,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;gBACrB,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;gBACxC,eAAe,EAAE,IAAI,CAAC,cAAc,EAAE;aACvC,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAC5F,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,MAAM,EAAE,SAAS;gBAAE,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACtG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;gBAC1C,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;gBAC9C,IAAI,CAAC,kBAAkB,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;gBACnD,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;aAC/C,CAAC,CAAC;YACH,MAAM,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC5D,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,MAAM;QAClB,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;YAC/C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC7C,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,cAAc,CAAE,KAAe,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;gBAClI,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE;wBAC1C,IAAI,EAAG,KAA2B,CAAC,IAAI,IAAI,gBAAgB,EAAE,OAAO,EAAE,cAAc,CAAE,KAAe,CAAC,OAAO,CAAC;wBAC9G,SAAS,EAAE,MAAM,CAAC,SAAS,CAAE,KAAgC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,KAA8B,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;qBACxH,EAAE,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC;QAAC,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC;QACzE,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACnG,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAuB,CAAC,IAAI,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,OAA0B,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;YACrH,MAAM,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC7F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,GAAG,KAAc,CAAC;QAC3B,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAkC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACvF,IAAI,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC,UAAU;oBAAE,MAAM,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACpF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClB,MAAM,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;oBAC5D,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACxB,CAAC;YACH,CAAC;YAAC,OAAO,YAAY,EAAE,CAAC;gBACtB,OAAO,KAAK,YAAqB,CAAC;YACpC,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAC3E,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC;QACD,IAAI,OAAO;YAAE,MAAM,OAAO,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAwB,EAAE,QAAwB;QAC7D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,oBAAoB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACzE,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,WAAW,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,IAAI,CAAC,oBAAoB,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,KAA8B,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9N,IAAI,MAAM,4BAA4B,CAAC,EAAE,GAAG,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC;eAC5F,MAAM,0BAA0B,CAAC,WAAW,CAAC,IAAI,MAAM,yBAAyB,CAAC,WAAW,CAAC,IAAI,MAAM,qBAAqB,CAAC,WAAW,CAAC;YAAE,OAAO;QAEvJ,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,iCAAiC,EAAE,EAAE,CAAC,CAAC;QAC9G,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,iEAAiE,EAAE,EAAE,CAAC,CAAC;QAEnL,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,2BAA2B,EAAE,CAAC;YAC9E,OAAO,oBAAoB,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,gBAAgB,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAClM,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvF,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC7C,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC;YACnE,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;YAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,gBAAgB,EAAE,CAAC;YACrD,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAChE,GAAG,MAAM,CAAC,eAAe;gBACzB,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;gBAC5B,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY;gBACxC,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChE,CAAC,CAAC,CAAC;YACJ,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;QAClH,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,uBAAuB,EAAE,CAAC;YAC1E,IAAI,CAAC,IAAI,CAAC,gBAAgB;gBAAE,MAAM,IAAI,UAAU,CAAC,+BAA+B,EAAE,EAAE,IAAI,EAAE,6BAA6B,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;YACzI,OAAO,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,QAAQ,KAAK,wBAAwB,EAAE,CAAC;YAC1E,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACtH,CAAC;QACD,MAAM,aAAa,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACxG,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,aAAa,EAAE,CAAC;YAC/C,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;YACzC,MAAM,KAAK,GAAI,IAA4B,CAAC,KAAK,KAAK,IAAI,CAAC;YAC3D,MAAM,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAClH,CAAC;QACD,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC9E,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,UAAU,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAW,CAAC,CAAC;YAC/E,OAAO,SAAS;gBACd,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC;gBAChG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,oBAAoB,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAChH,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC7D,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;YAChD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,WAA8B,CAAC,CAAC;YAC3E,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QAClG,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,mBAAmB,EAAE,CAAC;YACtE,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,YAAY,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,aAAc,EAAE,IAAI,CAAC,kBAAmB,CAAC,CAAC,CAAC;QACpJ,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC9D,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAClD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBAAE,MAAM,YAAY,CAAC,yCAAyC,CAAC,CAAC;YACzF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,WAA+B,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC3H,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;gBACzB,cAAc,EAAE,cAAc;gBAC9B,OAAO,EAAE,MAAM;gBACf,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE;oBACL,IAAI,EAAE,aAAa,MAAM,EAAE;oBAC3B,MAAM,EAAE,aAAa,MAAM,SAAS;oBACpC,MAAM,EAAE,aAAa,MAAM,SAAS;iBACrC;aACF,CAAC,CAAC;QACL,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC9D,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;YACjF,YAAY,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,cAAc,CAAE,KAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACtI,OAAO;QACT,CAAC;QAED,MAAM,qBAAqB,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC5F,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,qBAAqB,EAAE,CAAC;YACvD,MAAM,MAAM,GAAG,qBAAqB,CAAC,CAAC,CAAW,CAAC;YAClD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;YACzC,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5H,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;gBACzB,cAAc,EAAE,cAAc;gBAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM;gBACzB,QAAQ,EAAE,QAAQ,EAAE,OAAO;gBAC3B,UAAU,EAAE,QAAQ,EAAE,SAAS;gBAC/B,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE;oBACL,IAAI,EAAE,aAAa,QAAQ,EAAE,MAAM,WAAW,QAAQ,EAAE,OAAO,EAAE;oBACjE,MAAM,EAAE,aAAa,QAAQ,EAAE,MAAM,WAAW,QAAQ,EAAE,OAAO,SAAS;oBAC1E,MAAM,EAAE,aAAa,QAAQ,EAAE,MAAM,WAAW,QAAQ,EAAE,OAAO,SAAS;iBAC3E;aACF,CAAC,CAAC;QACL,CAAC;QACD,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,kFAAkF,CAAC,CAAC;QAC1H,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,UAAU,CAAC;YAC/C,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACrD,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,MAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAmB,CAAC,MAAM,CAAC,MAAgB,EAAE,OAAiB,CAAC,CAAC,CAAC;gBAClJ,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7G,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;gBACxC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,MAAgB,EAAE,OAAiB,CAAC,CAAC;gBAC1F,OAAO,MAAM;oBACX,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;oBACxG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,yBAAyB,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YACpH,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACpD,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAgB,EAAE,QAAQ,EAAE,OAAiB,EAAE,cAAc,CAAC,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;YACxK,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC9F,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;YACrC,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;gBACxC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,MAAgB,CAAC,CAAC;gBAClE,OAAO,MAAM;oBACX,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;oBACrF,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,mBAAmB,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;YACvG,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACpD,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAgB,EAAE,cAAc,CAAC,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;YAC3I,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACrD,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,MAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAc,CAAC,MAAM,CAAC,MAAgB,CAAC,CAAC,CAAC;gBAC3H,IAAI,OAAO,KAAK,UAAU;oBAAE,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;gBAClI,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;oBAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,MAAgB,CAAC,CAAC;oBAClE,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,UAAU,EAAE,CAAC,CAAC;gBAC/H,CAAC;gBACD,IAAI,OAAO,KAAK,WAAW;oBAAE,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,mBAAmB,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;gBACrI,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,+BAA+B,EAAE,EAAE,CAAC,CAAC;YAC/G,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QAC3F,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC;YACnC,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;gBACxC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,KAAc,CAAC,CAAC;gBAC5D,OAAO,MAAM;oBACX,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;oBACpE,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,kBAAkB,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;YACpG,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACpD,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAe,EAAE,cAAc,CAAC,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;YACzI,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACrD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,KAAc,CAAC,CAAC;gBAC/D,OAAO,SAAS;oBACd,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;oBAC9F,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,8BAA8B,EAAE,EAAE,CAAC,CAAC;YAC3G,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC;QACxD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC;QAC7D,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC;QAC5D,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACtE,MAAM,OAAO,GAAG,YAAY,CAC1B,aAAa,EACb,IAAI,CAAC,aAAa,EAAE,gBAAgB,EAAE,EACtC,MAAM,CAAE,aAAa,EAAE,UAA+C,EAAE,MAAM,IAAI,CAAC,CAAC,CACrF,CAAC;QACF,OAAO;YACL,cAAc,EAAE,cAAc;YAC9B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;YACvE,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,UAAU;YAC5B,OAAO,EAAE,IAAI,CAAC,MAAM;YACpB,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;YAC1E,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAE,KAA6B,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAE,KAAwB,CAAC,EAAE,CAAC,IAAI,EAAE;YAChJ,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAE,KAA6B,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAE,KAAwB,CAAC,EAAE,CAAC,IAAI,EAAE;YACnJ,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;gBACxB,GAAG,YAAY;gBACf,WAAW,EAAE,YAAY,CAAC,MAAM;gBAChC,YAAY,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC,CAAC;gBAChD,iBAAiB,EAAE,MAAM,CAAE,aAAa,EAAE,UAA+C,EAAE,MAAM,IAAI,CAAC,CAAC;gBACvG,SAAS,EAAE,eAAe,CAAC,gBAAgB,CAAC;aAC7C,CAAC,CAAC,CAAC,IAAI;YACR,cAAc,EAAE,aAAa;YAC7B,oBAAoB,EAAE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,EAAE,IAAI,IAAI;YACjE,SAAS,EAAE,gBAAgB;YAC3B,eAAe,EAAE,IAAI,CAAC,cAAc,EAAE;YACtC,OAAO;YACP,OAAO,EAAE;gBACP,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;gBAC5B,WAAW,EAAE,iBAAiB,CAAC,aAAa,CAAC;gBAC7C,SAAS,EAAE,eAAe,CAAC,gBAAgB,CAAC;gBAC5C,OAAO;aACR;SACF,CAAC;IACJ,CAAC;IAEO,eAAe,CAAC,KAA8B;QACpD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;IACnD,CAAC;IAEO,mBAAmB,CAAC,KAA8B;QACxD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;IACnD,CAAC;IAEO,cAAc;QACpB,OAAO;YACL,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE;YACtC,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE;YAC7B,UAAU,EAAE,EAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE;SAC3C,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,QAAwB,EAAE,UAAkB,EAAE,WAAmB;QAC1F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;YAAE,MAAM,YAAY,CAAC,8CAA8C,CAAC,CAAC;QACnG,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;YAAE,MAAM,YAAY,CAAC,4BAA4B,CAAC,CAAC;QACpF,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC;YACpC,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI;gBAAE,MAAM,YAAY,CAAC,iBAAiB,MAAM,yBAAyB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACxG,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACnE,IAAI,MAAM,GAAG,YAAY;gBAAE,MAAM,YAAY,CAAC,iBAAiB,MAAM,2BAA2B,YAAY,EAAE,CAAC,CAAC;YAChH,IAAI,CAAC,MAAM,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC;gBAAE,MAAM,YAAY,CAAC,iBAAiB,MAAM,8BAA8B,CAAC,CAAC;YACzH,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE;gBACtB,cAAc,EAAE,sBAAsB;gBACtC,qBAAqB,EAAE,MAAM,CAAC,YAAY,CAAC;gBAC3C,eAAe,EAAE,OAAO;aACzB,CAAC,CAAC;YACH,IAAI,MAAM,KAAK,YAAY;gBAAE,QAAQ,CAAC,GAAG,EAAE,CAAC;;gBACvC,MAAM,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAK,KAA+B,EAAE,IAAI,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,sBAAsB,EAAE,EAAE,CAAC,CAAC;YAC9J,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;gBACzB,QAAQ,CAAC,OAAO,CAAC,KAAc,CAAC,CAAC;gBACjC,OAAO;YACT,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { parseExecutionObservationReceipt } from "../control-plane/index.js";
|
|
2
|
+
import { HitchError, invalidInput } from "../foundation/index.js";
|
|
3
|
+
import { json, readBodyJSON } from "./http.js";
|
|
4
|
+
export async function handleWorkerObservationRoute(input) {
|
|
5
|
+
const { request, response, url, registry, observations } = input;
|
|
6
|
+
const match = url.pathname.match(/^\/v2\/workers\/(worker_[a-z0-9][a-z0-9_-]{0,62})\/execution-observation$/);
|
|
7
|
+
if (!match || !["GET", "POST"].includes(request.method ?? ""))
|
|
8
|
+
return false;
|
|
9
|
+
const workerId = match[1], token = /^Bearer ([a-f0-9]{64})$/.exec(request.headers.authorization ?? "")?.[1];
|
|
10
|
+
response.setHeader("cache-control", "no-store");
|
|
11
|
+
const authorizedGeneration = token ? await registry.authenticatedGeneration(workerId, token) : null;
|
|
12
|
+
if (authorizedGeneration === null) {
|
|
13
|
+
json(response, 401, { error: { code: "unauthorized", message: "missing or invalid worker credential" } });
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
16
|
+
if (request.method === "GET") {
|
|
17
|
+
const generation = url.searchParams.get("generation");
|
|
18
|
+
if (!generation || !/^[1-9][0-9]*$/.test(generation) || !Number.isSafeInteger(Number(generation)))
|
|
19
|
+
throw invalidInput("observation requires a valid worker generation");
|
|
20
|
+
if (Number(generation) !== authorizedGeneration)
|
|
21
|
+
throw credentialMismatch();
|
|
22
|
+
json(response, 200, { schema_version: "2", challenge: await observations.poll(workerId, Number(generation)) });
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
const receipt = parseExecutionObservationReceipt(await readBodyJSON(request, 64 * 1024));
|
|
26
|
+
if (receipt.challenge.generation !== authorizedGeneration)
|
|
27
|
+
throw credentialMismatch();
|
|
28
|
+
await observations.submit(workerId, receipt);
|
|
29
|
+
json(response, 200, { schema_version: "2", accepted: true });
|
|
30
|
+
}
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
function credentialMismatch() { return new HitchError("worker observation generation differs from its authenticated credential", { code: "worker_generation_mismatch", exitCode: 12 }); }
|
|
34
|
+
//# sourceMappingURL=worker-observation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-observation.js","sourceRoot":"","sources":["../../../src/daemon/worker-observation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE/C,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,KAGlD;IACC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IACjE,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,2EAA2E,CAAC,CAAC;IAC9G,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5E,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAE,EAAE,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7G,QAAQ,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IAChD,MAAM,oBAAoB,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,uBAAuB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpG,IAAI,oBAAoB,KAAK,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,sCAAsC,EAAE,EAAE,CAAC,CAAC;QAC1G,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAAE,MAAM,YAAY,CAAC,gDAAgD,CAAC,CAAC;QACxK,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,oBAAoB;YAAE,MAAM,kBAAkB,EAAE,CAAC;QAC5E,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;IACjH,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,gCAAgC,CAAC,MAAM,YAAY,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QACzF,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,KAAK,oBAAoB;YAAE,MAAM,kBAAkB,EAAE,CAAC;QACtF,MAAM,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AACD,SAAS,kBAAkB,KAAK,OAAO,IAAI,UAAU,CAAC,yEAAyE,EAAE,EAAE,IAAI,EAAE,4BAA4B,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { parseRemoteExecutionOwnership } from "../control-plane/index.js";
|
|
2
|
+
import { HitchError, invalidInput } from "../foundation/index.js";
|
|
3
|
+
/** Independent v2 endpoints; v1 offers and receipt formats are unchanged. */
|
|
4
|
+
export async function handleWorkerOwnershipRoute(input) {
|
|
5
|
+
const { request, response, url, registry, protocol } = input;
|
|
6
|
+
const match = url.pathname.match(/^\/v2\/workers\/(worker_[a-z0-9][a-z0-9_-]{0,62})\/offers\/(offer_[a-f0-9]{32})\/(accept|process|cleanup-challenge|cleanup)$/);
|
|
7
|
+
if (!match || request.method !== "POST")
|
|
8
|
+
return false;
|
|
9
|
+
const workerId = match[1], offerId = match[2], token = /^Bearer ([a-f0-9]{64})$/.exec(request.headers.authorization ?? "")?.[1];
|
|
10
|
+
const authenticated = token ? await registry.authenticatedGeneration(workerId, token) : null;
|
|
11
|
+
response.setHeader("cache-control", "no-store");
|
|
12
|
+
if (authenticated === null) {
|
|
13
|
+
response.setHeader("x-hitch-worker-auth", "rejected");
|
|
14
|
+
json(response, 401, { error: { code: "unauthorized", message: "missing or invalid worker credential" } });
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
const body = await readBody(request);
|
|
18
|
+
if (body.schema_version !== "2" || body.offer_id !== offerId || body.generation !== authenticated) {
|
|
19
|
+
throw new HitchError("worker execution admission generation differs from its bearer", { code: "worker_generation_mismatch", exitCode: 12 });
|
|
20
|
+
}
|
|
21
|
+
if (match[3] === "accept") {
|
|
22
|
+
exact(body, ["schema_version", "offer_id", "generation", "nonce", "sent_at", "ownership"]);
|
|
23
|
+
const offer = await protocol.acceptOffer(workerId, { schema_version: "1", offer_id: offerId, generation: authenticated,
|
|
24
|
+
nonce: body.nonce, sent_at: body.sent_at, accepted: true }, parseRemoteExecutionOwnership(body.ownership));
|
|
25
|
+
json(response, 200, { schema_version: "2", offer, admission: await protocol.executionAdmission(workerId, offerId) });
|
|
26
|
+
}
|
|
27
|
+
else if (match[3] === "process") {
|
|
28
|
+
exact(body, ["schema_version", "offer_id", "generation", "ownership_digest", "process"]);
|
|
29
|
+
const admission = await protocol.authorizeExecutionProcess(workerId, offerId, authenticated, body.ownership_digest, body.process);
|
|
30
|
+
json(response, 200, { schema_version: "2", admission });
|
|
31
|
+
}
|
|
32
|
+
else if (match[3] === "cleanup-challenge") {
|
|
33
|
+
exact(body, ["schema_version", "offer_id", "generation"]);
|
|
34
|
+
json(response, 200, { schema_version: "2", ...await protocol.generationCleanup.challenge(workerId, offerId, authenticated) });
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
exact(body, ["schema_version", "offer_id", "generation", "receipt"]);
|
|
38
|
+
json(response, 200, { schema_version: "2", receipt: await protocol.generationCleanup.commit(workerId, offerId, authenticated, body.receipt) });
|
|
39
|
+
}
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
async function readBody(request) {
|
|
43
|
+
const chunks = [];
|
|
44
|
+
let size = 0;
|
|
45
|
+
for await (const chunk of request) {
|
|
46
|
+
const bytes = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
|
|
47
|
+
size += bytes.length;
|
|
48
|
+
if (size > 64 * 1024)
|
|
49
|
+
throw invalidInput("worker execution admission body is too large");
|
|
50
|
+
chunks.push(bytes);
|
|
51
|
+
}
|
|
52
|
+
let value;
|
|
53
|
+
try {
|
|
54
|
+
value = JSON.parse(Buffer.concat(chunks).toString("utf8"));
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
throw invalidInput("invalid worker execution admission JSON");
|
|
58
|
+
}
|
|
59
|
+
if (!value || typeof value !== "object" || Array.isArray(value))
|
|
60
|
+
throw invalidInput("worker execution admission must be an object");
|
|
61
|
+
return value;
|
|
62
|
+
}
|
|
63
|
+
function exact(value, fields) {
|
|
64
|
+
if (Object.keys(value).length !== fields.length || Object.keys(value).some(key => !fields.includes(key)))
|
|
65
|
+
throw invalidInput("unexpected worker execution admission fields");
|
|
66
|
+
}
|
|
67
|
+
function json(response, status, value) {
|
|
68
|
+
response.writeHead(status, { "content-type": "application/json" });
|
|
69
|
+
response.end(JSON.stringify(value));
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=worker-ownership.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-ownership.js","sourceRoot":"","sources":["../../../src/daemon/worker-ownership.ts"],"names":[],"mappings":"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"}
|