Skip to content

Commit 1427647

Browse files
committed
fix(compatibility): refreeze the six packets that pin orchestration/integrations.json
E02, E03, E04, E07, E08 and E10 all carry integrations.json in their frozen source set, so re-pinning the sentrux_gate.rs toolchain digest made every one of them stale. Same mechanism the E10 verifier documents for #48's edit to the same file. Regenerated with each packet's own generator at its recorded EvaluatedAt (1785441780), so the only fields that move are snapshotIdentity, artifact ref sha256s and the request/approval digest payloads that carry them. Blockers, decisions, evidence classes, window timestamps and file sets are byte-identical — verified field by field before installing. The suite now passes 8 packets + 2 audits with CODE_INTEL_HOME pointed at this worktree. My earlier run of it did not: without that variable the harness resolves the main checkout, so it validated unmodified sources and reported a false PASS. The CI failure was correct and the local pass was the wrong one. Also removes the generators' rollback scratch under legacy/work/ — it is gitignored but not invisible to the scanner, and three copies of run-code-intel.ps1 left there pushed the tree to 242 files / 36 god files and failed the gate on quality. Refs #78
1 parent b7a5abc commit 1427647

112 files changed

Lines changed: 112 additions & 112 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

orchestration/retirements/e02-recommender/compatibility-retirement-deletion-diff.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"schema":"code-intel-compatibility-retirement-manifest.v1","snapshotIdentity":"1d75df8756da0b18b82a7fca6b0d9347d909919b14d1b446e6a6ffd020597cf6","retirementId":"retire-recommender-branch","approvalSubject":{"legacyBranch":{"capabilityId":"facade.workflow-recommender.inline","branchId":"run-code-intel.workflow-recommender.inline","callPath":"run-code-intel.ps1::run-code-intel.workflow-recommender.inline","affectedFiles":["run-code-intel.ps1"],"owner":"executor-recommender","registryParticipantId":"facade.workflow-recommender.inline"},"replacement":{"capabilityId":"advisory.workflow-recommend","implementationId":"advisory.workflow-recommend.compat","dependencies":["repo.snapshot","project.orientation-benchmark"],"atomEvidence":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-evidence.v1","type":"compatibility.retirement-evidence","path":"evidence/replacement-atom.json","sha256":"2ce5f628189eff3b9150276ae4e24964db7e07841e2294e5ad1aeb9d33818b1a","consumedSnapshotIdentity":"1d75df8756da0b18b82a7fca6b0d9347d909919b14d1b446e6a6ffd020597cf6"}},"parity":{"golden":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-evidence.v1","type":"compatibility.retirement-evidence","path":"evidence/golden-parity.json","sha256":"2ef4b4e4b4ed051de70cec024a4399a23c9114c3fd2ee69aee1e1b79f2d3cdef","consumedSnapshotIdentity":"1d75df8756da0b18b82a7fca6b0d9347d909919b14d1b446e6a6ffd020597cf6"},"contract":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-evidence.v1","type":"compatibility.retirement-evidence","path":"evidence/contract-parity.json","sha256":"49a585bad4774e7b8f5be7581b792ff0918d6ddb89201cba09cd91ae90870af6","consumedSnapshotIdentity":"1d75df8756da0b18b82a7fca6b0d9347d909919b14d1b446e6a6ffd020597cf6"},"effects":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-evidence.v1","type":"compatibility.retirement-evidence","path":"evidence/effect-parity.json","sha256":"98126f3d16ca2e5eea98502f1815c9de365ff72d5417cf1331559fefcb937e01","consumedSnapshotIdentity":"1d75df8756da0b18b82a7fca6b0d9347d909919b14d1b446e6a6ffd020597cf6"}},"registryReconciliation":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-evidence.v1","type":"compatibility.retirement-evidence","path":"evidence/registry-reconciliation.json","sha256":"85e4416032539f546643501fc36accd22296f99181cdbcd7b3eb698f6d071462","consumedSnapshotIdentity":"1d75df8756da0b18b82a7fca6b0d9347d909919b14d1b446e6a6ffd020597cf6"},"compatibilityWindow":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-evidence.v1","type":"compatibility.retirement-evidence","path":"evidence/compatibility-window.json","sha256":"5c7ecebfd0f9d1fc69a64f3d99da9a498a771cd421549b0f583e4e3aedf0caa1","consumedSnapshotIdentity":"1d75df8756da0b18b82a7fca6b0d9347d909919b14d1b446e6a6ffd020597cf6"},"rollback":{"command":"pwsh -NoLogo -NoProfile -File tools/compatibility/Restore-RecommenderLegacyBranch.ps1 -RehearsalRoot work/e02-recommender-rollback-1785441780","executionEvidence":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-evidence.v1","type":"compatibility.retirement-evidence","path":"evidence/rollback-execution.json","sha256":"7243c5faa186555c002be6117ab47d01df778a9052eb817d63ddd4c0a37939a9","consumedSnapshotIdentity":"1d75df8756da0b18b82a7fca6b0d9347d909919b14d1b446e6a6ffd020597cf6"}},"usageObservation":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-evidence.v1","type":"compatibility.retirement-evidence","path":"evidence/usage-observation.json","sha256":"b685f0a89ab14f58253b1e7495601eb17bc04b01d79d30f005641e39f9750570","consumedSnapshotIdentity":"1d75df8756da0b18b82a7fca6b0d9347d909919b14d1b446e6a6ffd020597cf6"},"necessityEvidence":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-evidence.v1","type":"compatibility.retirement-evidence","path":"evidence/c00-necessity.json","sha256":"e24660a0394d542b134797baa00a04b4705a2c4249c4279b728655b24520dc68","consumedSnapshotIdentity":"1d75df8756da0b18b82a7fca6b0d9347d909919b14d1b446e6a6ffd020597cf6"},"dependencyStates":[{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-evidence.v1","type":"compatibility.retirement-evidence","path":"evidence/dependency-repo-snapshot.json","sha256":"af8e3118cc8fd37c63f0d4ebac5b10e4d73f1c10e2f44e3dd4ca00e0cef8c838","consumedSnapshotIdentity":"1d75df8756da0b18b82a7fca6b0d9347d909919b14d1b446e6a6ffd020597cf6"},{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-evidence.v1","type":"compatibility.retirement-evidence","path":"evidence/dependency-d02-clean-machine.json","sha256":"a13cc658cc74e0fabe7870bcf9549f32063ef5ebdf8155d1c6b0b929a5d7ec05","consumedSnapshotIdentity":"1d75df8756da0b18b82a7fca6b0d9347d909919b14d1b446e6a6ffd020597cf6"}],"lineReductionEvidence":false},"independentApproval":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-evidence.v1","type":"compatibility.retirement-evidence","path":"evidence/independent-approval.json","sha256":"363179a8a8f338dda2f77537bb94ce2b3bcce10ef55eacdad1d7d41b8942dcfa","consumedSnapshotIdentity":"1d75df8756da0b18b82a7fca6b0d9347d909919b14d1b446e6a6ffd020597cf6"}}
1+
{"schema":"code-intel-compatibility-retirement-manifest.v1","snapshotIdentity":"562efc4fede0c2ce2407cb1ef2d28561b0a8a0edd3c6e5d3937285f3178c701d","retirementId":"retire-recommender-branch","approvalSubject":{"legacyBranch":{"capabilityId":"facade.workflow-recommender.inline","branchId":"run-code-intel.workflow-recommender.inline","callPath":"run-code-intel.ps1::run-code-intel.workflow-recommender.inline","affectedFiles":["run-code-intel.ps1"],"owner":"executor-recommender","registryParticipantId":"facade.workflow-recommender.inline"},"replacement":{"capabilityId":"advisory.workflow-recommend","implementationId":"advisory.workflow-recommend.compat","dependencies":["repo.snapshot","project.orientation-benchmark"],"atomEvidence":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-evidence.v1","type":"compatibility.retirement-evidence","path":"evidence/replacement-atom.json","sha256":"054164fb1d31495a8dad5d0ed674622fb7141fcd1969d0cf470335d6c88d5ba1","consumedSnapshotIdentity":"562efc4fede0c2ce2407cb1ef2d28561b0a8a0edd3c6e5d3937285f3178c701d"}},"parity":{"golden":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-evidence.v1","type":"compatibility.retirement-evidence","path":"evidence/golden-parity.json","sha256":"a510947f660c709dd7667e4c7b91eec0c828c6de487c5a6f2e8902fa0cb0297e","consumedSnapshotIdentity":"562efc4fede0c2ce2407cb1ef2d28561b0a8a0edd3c6e5d3937285f3178c701d"},"contract":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-evidence.v1","type":"compatibility.retirement-evidence","path":"evidence/contract-parity.json","sha256":"d4bbc6455c62cd533187848b8c0e6b3421a408920b9f2f32919d5617dea494ca","consumedSnapshotIdentity":"562efc4fede0c2ce2407cb1ef2d28561b0a8a0edd3c6e5d3937285f3178c701d"},"effects":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-evidence.v1","type":"compatibility.retirement-evidence","path":"evidence/effect-parity.json","sha256":"69d5da69dcb2a4f8d486a6b0861afbe4083a8fdb67631edc8fde0f8d37a43eba","consumedSnapshotIdentity":"562efc4fede0c2ce2407cb1ef2d28561b0a8a0edd3c6e5d3937285f3178c701d"}},"registryReconciliation":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-evidence.v1","type":"compatibility.retirement-evidence","path":"evidence/registry-reconciliation.json","sha256":"45dfb93dbb0eaaae8713fa36dcc93dfcdc58696ce11ef0b91a4454b27bd7468f","consumedSnapshotIdentity":"562efc4fede0c2ce2407cb1ef2d28561b0a8a0edd3c6e5d3937285f3178c701d"},"compatibilityWindow":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-evidence.v1","type":"compatibility.retirement-evidence","path":"evidence/compatibility-window.json","sha256":"1c21d982f98ffcdf677a518a6c7296bb558983f0bf951ed23b3176983cc15fba","consumedSnapshotIdentity":"562efc4fede0c2ce2407cb1ef2d28561b0a8a0edd3c6e5d3937285f3178c701d"},"rollback":{"command":"pwsh -NoLogo -NoProfile -File tools/compatibility/Restore-RecommenderLegacyBranch.ps1 -RehearsalRoot work/e02-recommender-rollback-1785441780","executionEvidence":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-evidence.v1","type":"compatibility.retirement-evidence","path":"evidence/rollback-execution.json","sha256":"a835ef09d4db722e862d4fb4bbadd346a13203361af2d6a36dbfa3326aca131f","consumedSnapshotIdentity":"562efc4fede0c2ce2407cb1ef2d28561b0a8a0edd3c6e5d3937285f3178c701d"}},"usageObservation":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-evidence.v1","type":"compatibility.retirement-evidence","path":"evidence/usage-observation.json","sha256":"9095aca2154d5850ad514cb3acc9b736e7604696e03ad7610d351a7eeafb99cc","consumedSnapshotIdentity":"562efc4fede0c2ce2407cb1ef2d28561b0a8a0edd3c6e5d3937285f3178c701d"},"necessityEvidence":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-evidence.v1","type":"compatibility.retirement-evidence","path":"evidence/c00-necessity.json","sha256":"a2eea970a338b214e72f8acc2d827618eb8b495a4ae50dc91665eacaaa0e0404","consumedSnapshotIdentity":"562efc4fede0c2ce2407cb1ef2d28561b0a8a0edd3c6e5d3937285f3178c701d"},"dependencyStates":[{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-evidence.v1","type":"compatibility.retirement-evidence","path":"evidence/dependency-repo-snapshot.json","sha256":"ca7bda4fbac7fe004da02dcfd7ea97e6382db3d1a198a6cdd4ce910efce62100","consumedSnapshotIdentity":"562efc4fede0c2ce2407cb1ef2d28561b0a8a0edd3c6e5d3937285f3178c701d"},{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-evidence.v1","type":"compatibility.retirement-evidence","path":"evidence/dependency-d02-clean-machine.json","sha256":"fdf9b4a9dc3b28ef8e7ef4778cbd61b6d5644a251a30464756a1226f252a2d15","consumedSnapshotIdentity":"562efc4fede0c2ce2407cb1ef2d28561b0a8a0edd3c6e5d3937285f3178c701d"}],"lineReductionEvidence":false},"independentApproval":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-evidence.v1","type":"compatibility.retirement-evidence","path":"evidence/independent-approval.json","sha256":"a66a44731eb4e2d70ce41eca9364e7e38b5391d15474c3359c99e709412f8142","consumedSnapshotIdentity":"562efc4fede0c2ce2407cb1ef2d28561b0a8a0edd3c6e5d3937285f3178c701d"}}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"schema":"code-intel-compatibility-retirement-ticket-template.v1","snapshotIdentity":"1d75df8756da0b18b82a7fca6b0d9347d909919b14d1b446e6a6ffd020597cf6","ticketId":"ticket-e02-retire-recommender-branch","retirementId":"retire-recommender-branch","legacyBranch":{"capabilityId":"facade.workflow-recommender.inline","branchId":"run-code-intel.workflow-recommender.inline","callPath":"run-code-intel.ps1::run-code-intel.workflow-recommender.inline"},"replacement":{"capabilityId":"advisory.workflow-recommend","dependencies":["repo.snapshot","project.orientation-benchmark"]},"affectedFiles":["run-code-intel.ps1"],"evidence":{"golden":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-evidence.v1","type":"compatibility.retirement-evidence","path":"evidence/golden-parity.json","sha256":"2ef4b4e4b4ed051de70cec024a4399a23c9114c3fd2ee69aee1e1b79f2d3cdef","consumedSnapshotIdentity":"1d75df8756da0b18b82a7fca6b0d9347d909919b14d1b446e6a6ffd020597cf6"},"contract":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-evidence.v1","type":"compatibility.retirement-evidence","path":"evidence/contract-parity.json","sha256":"49a585bad4774e7b8f5be7581b792ff0918d6ddb89201cba09cd91ae90870af6","consumedSnapshotIdentity":"1d75df8756da0b18b82a7fca6b0d9347d909919b14d1b446e6a6ffd020597cf6"},"effects":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-evidence.v1","type":"compatibility.retirement-evidence","path":"evidence/effect-parity.json","sha256":"98126f3d16ca2e5eea98502f1815c9de365ff72d5417cf1331559fefcb937e01","consumedSnapshotIdentity":"1d75df8756da0b18b82a7fca6b0d9347d909919b14d1b446e6a6ffd020597cf6"},"usage":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-evidence.v1","type":"compatibility.retirement-evidence","path":"evidence/usage-observation.json","sha256":"b685f0a89ab14f58253b1e7495601eb17bc04b01d79d30f005641e39f9750570","consumedSnapshotIdentity":"1d75df8756da0b18b82a7fca6b0d9347d909919b14d1b446e6a6ffd020597cf6"},"rollbackRehearsal":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-evidence.v1","type":"compatibility.retirement-evidence","path":"evidence/rollback-execution.json","sha256":"7243c5faa186555c002be6117ab47d01df778a9052eb817d63ddd4c0a37939a9","consumedSnapshotIdentity":"1d75df8756da0b18b82a7fca6b0d9347d909919b14d1b446e6a6ffd020597cf6"},"deletionDiff":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-deletion-diff.v1","type":"compatibility.retirement-deletion-diff","path":"compatibility-retirement-deletion-diff.json","sha256":"f62bcfc0de9051a63d950c50d90d867cd37aff6782c836a7337186b9f65a2a13","consumedSnapshotIdentity":"1d75df8756da0b18b82a7fca6b0d9347d909919b14d1b446e6a6ffd020597cf6"}},"source":{"retirementDecision":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-decision.v1","type":"compatibility.retirement-decision","path":"gate-out/compatibility-retirement-decision.json","sha256":"3b6d7ee9bdfb04a2480059250f103139ee62eb15042551885ef3fc4acfa39700","consumedSnapshotIdentity":"1d75df8756da0b18b82a7fca6b0d9347d909919b14d1b446e6a6ffd020597cf6"},"retirementManifest":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-manifest.v1","type":"compatibility.retirement-manifest","path":"compatibility-retirement-manifest.json","sha256":"dfc7b1c97b4426727f9e6ead448bd42d172c5275f259b302f217ae96e23f9034","consumedSnapshotIdentity":"1d75df8756da0b18b82a7fca6b0d9347d909919b14d1b446e6a6ffd020597cf6"}},"owner":"executor-recommender","verifier":"independent-verifier-required","observationExpiry":1788033780,"status":"draft","authorityBoundary":"template_only_no_approval_or_deletion_authority"}
1+
{"schema":"code-intel-compatibility-retirement-ticket-template.v1","snapshotIdentity":"562efc4fede0c2ce2407cb1ef2d28561b0a8a0edd3c6e5d3937285f3178c701d","ticketId":"ticket-e02-retire-recommender-branch","retirementId":"retire-recommender-branch","legacyBranch":{"capabilityId":"facade.workflow-recommender.inline","branchId":"run-code-intel.workflow-recommender.inline","callPath":"run-code-intel.ps1::run-code-intel.workflow-recommender.inline"},"replacement":{"capabilityId":"advisory.workflow-recommend","dependencies":["repo.snapshot","project.orientation-benchmark"]},"affectedFiles":["run-code-intel.ps1"],"evidence":{"golden":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-evidence.v1","type":"compatibility.retirement-evidence","path":"evidence/golden-parity.json","sha256":"a510947f660c709dd7667e4c7b91eec0c828c6de487c5a6f2e8902fa0cb0297e","consumedSnapshotIdentity":"562efc4fede0c2ce2407cb1ef2d28561b0a8a0edd3c6e5d3937285f3178c701d"},"contract":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-evidence.v1","type":"compatibility.retirement-evidence","path":"evidence/contract-parity.json","sha256":"d4bbc6455c62cd533187848b8c0e6b3421a408920b9f2f32919d5617dea494ca","consumedSnapshotIdentity":"562efc4fede0c2ce2407cb1ef2d28561b0a8a0edd3c6e5d3937285f3178c701d"},"effects":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-evidence.v1","type":"compatibility.retirement-evidence","path":"evidence/effect-parity.json","sha256":"69d5da69dcb2a4f8d486a6b0861afbe4083a8fdb67631edc8fde0f8d37a43eba","consumedSnapshotIdentity":"562efc4fede0c2ce2407cb1ef2d28561b0a8a0edd3c6e5d3937285f3178c701d"},"usage":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-evidence.v1","type":"compatibility.retirement-evidence","path":"evidence/usage-observation.json","sha256":"9095aca2154d5850ad514cb3acc9b736e7604696e03ad7610d351a7eeafb99cc","consumedSnapshotIdentity":"562efc4fede0c2ce2407cb1ef2d28561b0a8a0edd3c6e5d3937285f3178c701d"},"rollbackRehearsal":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-evidence.v1","type":"compatibility.retirement-evidence","path":"evidence/rollback-execution.json","sha256":"a835ef09d4db722e862d4fb4bbadd346a13203361af2d6a36dbfa3326aca131f","consumedSnapshotIdentity":"562efc4fede0c2ce2407cb1ef2d28561b0a8a0edd3c6e5d3937285f3178c701d"},"deletionDiff":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-deletion-diff.v1","type":"compatibility.retirement-deletion-diff","path":"compatibility-retirement-deletion-diff.json","sha256":"c1cf902e6a90c99ac066407d420f6deaa518acacd242b4f29aacfda4438d2165","consumedSnapshotIdentity":"562efc4fede0c2ce2407cb1ef2d28561b0a8a0edd3c6e5d3937285f3178c701d"}},"source":{"retirementDecision":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-decision.v1","type":"compatibility.retirement-decision","path":"gate-out/compatibility-retirement-decision.json","sha256":"8b465cb76128f1df2c821206ecb9bdac106496f2a3b531ea6bef07d8a684896f","consumedSnapshotIdentity":"562efc4fede0c2ce2407cb1ef2d28561b0a8a0edd3c6e5d3937285f3178c701d"},"retirementManifest":{"schema":"code-intel-artifact-ref.v1","artifactSchema":"code-intel-compatibility-retirement-manifest.v1","type":"compatibility.retirement-manifest","path":"compatibility-retirement-manifest.json","sha256":"3f2c8da215a214347d1bade25ce80067b80cd3169847fd8763be953795288e6d","consumedSnapshotIdentity":"562efc4fede0c2ce2407cb1ef2d28561b0a8a0edd3c6e5d3937285f3178c701d"}},"owner":"executor-recommender","verifier":"independent-verifier-required","observationExpiry":1788033780,"status":"draft","authorityBoundary":"template_only_no_approval_or_deletion_authority"}

0 commit comments

Comments
 (0)