@enbox/dwn-sdk-js 0.0.5 → 0.0.7
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/dist/browser.mjs +8 -8
- package/dist/browser.mjs.map +4 -4
- package/dist/esm/generated/precompiled-validators.js +1 -2
- package/dist/esm/generated/precompiled-validators.js.map +1 -1
- package/dist/esm/src/core/abstract-message.js +4 -0
- package/dist/esm/src/core/abstract-message.js.map +1 -1
- package/dist/esm/src/core/auth.js +22 -33
- package/dist/esm/src/core/auth.js.map +1 -1
- package/dist/esm/src/core/dwn-constant.js +7 -7
- package/dist/esm/src/core/dwn-constant.js.map +1 -1
- package/dist/esm/src/core/dwn-error.js +1 -0
- package/dist/esm/src/core/dwn-error.js.map +1 -1
- package/dist/esm/src/core/grant-authorization.js +37 -52
- package/dist/esm/src/core/grant-authorization.js.map +1 -1
- package/dist/esm/src/core/message.js +85 -116
- package/dist/esm/src/core/message.js.map +1 -1
- package/dist/esm/src/core/messages-grant-authorization.js +63 -78
- package/dist/esm/src/core/messages-grant-authorization.js.map +1 -1
- package/dist/esm/src/core/protocol-authorization-action.js +266 -0
- package/dist/esm/src/core/protocol-authorization-action.js.map +1 -0
- package/dist/esm/src/core/protocol-authorization-validation.js +254 -0
- package/dist/esm/src/core/protocol-authorization-validation.js.map +1 -0
- package/dist/esm/src/core/protocol-authorization.js +122 -740
- package/dist/esm/src/core/protocol-authorization.js.map +1 -1
- package/dist/esm/src/core/protocols-grant-authorization.js +24 -38
- package/dist/esm/src/core/protocols-grant-authorization.js.map +1 -1
- package/dist/esm/src/core/record-chain.js +64 -0
- package/dist/esm/src/core/record-chain.js.map +1 -0
- package/dist/esm/src/core/records-grant-authorization.js +55 -72
- package/dist/esm/src/core/records-grant-authorization.js.map +1 -1
- package/dist/esm/src/core/resumable-task-manager.js +50 -65
- package/dist/esm/src/core/resumable-task-manager.js.map +1 -1
- package/dist/esm/src/core/tenant-gate.js +2 -13
- package/dist/esm/src/core/tenant-gate.js.map +1 -1
- package/dist/esm/src/dwn.js +69 -86
- package/dist/esm/src/dwn.js.map +1 -1
- package/dist/esm/src/event-stream/event-emitter-stream.js +17 -31
- package/dist/esm/src/event-stream/event-emitter-stream.js.map +1 -1
- package/dist/esm/src/handlers/messages-read.js +67 -77
- package/dist/esm/src/handlers/messages-read.js.map +1 -1
- package/dist/esm/src/handlers/messages-subscribe.js +51 -61
- package/dist/esm/src/handlers/messages-subscribe.js.map +1 -1
- package/dist/esm/src/handlers/messages-sync.js +75 -85
- package/dist/esm/src/handlers/messages-sync.js.map +1 -1
- package/dist/esm/src/handlers/protocols-configure.js +135 -155
- package/dist/esm/src/handlers/protocols-configure.js.map +1 -1
- package/dist/esm/src/handlers/protocols-query.js +52 -51
- package/dist/esm/src/handlers/protocols-query.js.map +1 -1
- package/dist/esm/src/handlers/records-count.js +96 -82
- package/dist/esm/src/handlers/records-count.js.map +1 -1
- package/dist/esm/src/handlers/records-delete.js +78 -88
- package/dist/esm/src/handlers/records-delete.js.map +1 -1
- package/dist/esm/src/handlers/records-query.js +116 -101
- package/dist/esm/src/handlers/records-query.js.map +1 -1
- package/dist/esm/src/handlers/records-read.js +124 -131
- package/dist/esm/src/handlers/records-read.js.map +1 -1
- package/dist/esm/src/handlers/records-subscribe.js +150 -103
- package/dist/esm/src/handlers/records-subscribe.js.map +1 -1
- package/dist/esm/src/handlers/records-write.js +250 -259
- package/dist/esm/src/handlers/records-write.js.map +1 -1
- package/dist/esm/src/interfaces/messages-read.js +24 -32
- package/dist/esm/src/interfaces/messages-read.js.map +1 -1
- package/dist/esm/src/interfaces/messages-subscribe.js +27 -41
- package/dist/esm/src/interfaces/messages-subscribe.js.map +1 -1
- package/dist/esm/src/interfaces/messages-sync.js +26 -40
- package/dist/esm/src/interfaces/messages-sync.js.map +1 -1
- package/dist/esm/src/interfaces/protocols-configure.js +63 -63
- package/dist/esm/src/interfaces/protocols-configure.js.map +1 -1
- package/dist/esm/src/interfaces/protocols-query.js +55 -68
- package/dist/esm/src/interfaces/protocols-query.js.map +1 -1
- package/dist/esm/src/interfaces/records-count.js +50 -66
- package/dist/esm/src/interfaces/records-count.js.map +1 -1
- package/dist/esm/src/interfaces/records-delete.js +45 -55
- package/dist/esm/src/interfaces/records-delete.js.map +1 -1
- package/dist/esm/src/interfaces/records-query.js +60 -76
- package/dist/esm/src/interfaces/records-query.js.map +1 -1
- package/dist/esm/src/interfaces/records-read.js +51 -67
- package/dist/esm/src/interfaces/records-read.js.map +1 -1
- package/dist/esm/src/interfaces/records-subscribe.js +52 -68
- package/dist/esm/src/interfaces/records-subscribe.js.map +1 -1
- package/dist/esm/src/interfaces/records-write-query.js +102 -0
- package/dist/esm/src/interfaces/records-write-query.js.map +1 -0
- package/dist/esm/src/interfaces/records-write-signing.js +92 -0
- package/dist/esm/src/interfaces/records-write-signing.js.map +1 -0
- package/dist/esm/src/interfaces/records-write.js +407 -602
- package/dist/esm/src/interfaces/records-write.js.map +1 -1
- package/dist/esm/src/jose/algorithms/signing/ed25519.js +10 -19
- package/dist/esm/src/jose/algorithms/signing/ed25519.js.map +1 -1
- package/dist/esm/src/jose/jws/general/builder.js +23 -35
- package/dist/esm/src/jose/jws/general/builder.js.map +1 -1
- package/dist/esm/src/jose/jws/general/verifier.js +56 -69
- package/dist/esm/src/jose/jws/general/verifier.js.map +1 -1
- package/dist/esm/src/protocols/permission-grant.js +44 -15
- package/dist/esm/src/protocols/permission-grant.js.map +1 -1
- package/dist/esm/src/protocols/permission-request.js +29 -15
- package/dist/esm/src/protocols/permission-request.js.map +1 -1
- package/dist/esm/src/protocols/permissions.js +216 -226
- package/dist/esm/src/protocols/permissions.js.map +1 -1
- package/dist/esm/src/smt/smt-store-level.js +42 -64
- package/dist/esm/src/smt/smt-store-level.js.map +1 -1
- package/dist/esm/src/smt/smt-store-memory.js +19 -45
- package/dist/esm/src/smt/smt-store-memory.js.map +1 -1
- package/dist/esm/src/smt/smt-utils.js +28 -45
- package/dist/esm/src/smt/smt-utils.js.map +1 -1
- package/dist/esm/src/smt/sparse-merkle-tree.js +426 -471
- package/dist/esm/src/smt/sparse-merkle-tree.js.map +1 -1
- package/dist/esm/src/state-index/state-index-level.js +115 -150
- package/dist/esm/src/state-index/state-index-level.js.map +1 -1
- package/dist/esm/src/store/blockstore-level.js +54 -156
- package/dist/esm/src/store/blockstore-level.js.map +1 -1
- package/dist/esm/src/store/blockstore-mock.js +48 -153
- package/dist/esm/src/store/blockstore-mock.js.map +1 -1
- package/dist/esm/src/store/data-store-level.js +59 -99
- package/dist/esm/src/store/data-store-level.js.map +1 -1
- package/dist/esm/src/store/index-level-compound.js +246 -0
- package/dist/esm/src/store/index-level-compound.js.map +1 -0
- package/dist/esm/src/store/index-level.js +295 -713
- package/dist/esm/src/store/index-level.js.map +1 -1
- package/dist/esm/src/store/level-wrapper.js +143 -244
- package/dist/esm/src/store/level-wrapper.js.map +1 -1
- package/dist/esm/src/store/message-store-level.js +71 -94
- package/dist/esm/src/store/message-store-level.js.map +1 -1
- package/dist/esm/src/store/resumable-task-store-level.js +62 -101
- package/dist/esm/src/store/resumable-task-store-level.js.map +1 -1
- package/dist/esm/src/store/storage-controller.js +129 -144
- package/dist/esm/src/store/storage-controller.js.map +1 -1
- package/dist/esm/src/utils/abort.js +8 -19
- package/dist/esm/src/utils/abort.js.map +1 -1
- package/dist/esm/src/utils/array.js +15 -49
- package/dist/esm/src/utils/array.js.map +1 -1
- package/dist/esm/src/utils/cid.js +29 -77
- package/dist/esm/src/utils/cid.js.map +1 -1
- package/dist/esm/src/utils/data-stream.js +37 -65
- package/dist/esm/src/utils/data-stream.js.map +1 -1
- package/dist/esm/src/utils/encryption.js +136 -162
- package/dist/esm/src/utils/encryption.js.map +1 -1
- package/dist/esm/src/utils/filter.js +1 -12
- package/dist/esm/src/utils/filter.js.map +1 -1
- package/dist/esm/src/utils/hd-key.js +45 -63
- package/dist/esm/src/utils/hd-key.js.map +1 -1
- package/dist/esm/src/utils/jws.js +9 -20
- package/dist/esm/src/utils/jws.js.map +1 -1
- package/dist/esm/src/utils/memory-cache.js +12 -23
- package/dist/esm/src/utils/memory-cache.js.map +1 -1
- package/dist/esm/src/utils/messages.js +9 -3
- package/dist/esm/src/utils/messages.js.map +1 -1
- package/dist/esm/src/utils/private-key-signer.js +9 -17
- package/dist/esm/src/utils/private-key-signer.js.map +1 -1
- package/dist/esm/src/utils/protocols.js +62 -70
- package/dist/esm/src/utils/protocols.js.map +1 -1
- package/dist/esm/src/utils/records.js +108 -140
- package/dist/esm/src/utils/records.js.map +1 -1
- package/dist/esm/src/utils/secp256k1.js +60 -96
- package/dist/esm/src/utils/secp256k1.js.map +1 -1
- package/dist/esm/src/utils/secp256r1.js +54 -71
- package/dist/esm/src/utils/secp256r1.js.map +1 -1
- package/dist/esm/src/utils/time.js +5 -18
- package/dist/esm/src/utils/time.js.map +1 -1
- package/dist/esm/src/utils/url.js +3 -3
- package/dist/esm/src/utils/url.js.map +1 -1
- package/dist/esm/tests/core/auth.spec.js +3 -12
- package/dist/esm/tests/core/auth.spec.js.map +1 -1
- package/dist/esm/tests/core/message.spec.js +50 -59
- package/dist/esm/tests/core/message.spec.js.map +1 -1
- package/dist/esm/tests/core/protocol-authorization.spec.js +9 -18
- package/dist/esm/tests/core/protocol-authorization.spec.js.map +1 -1
- package/dist/esm/tests/dwn.spec.js +45 -58
- package/dist/esm/tests/dwn.spec.js.map +1 -1
- package/dist/esm/tests/event-stream/event-emitter-stream.spec.js +24 -33
- package/dist/esm/tests/event-stream/event-emitter-stream.spec.js.map +1 -1
- package/dist/esm/tests/event-stream/event-stream.spec.js +46 -55
- package/dist/esm/tests/event-stream/event-stream.spec.js.map +1 -1
- package/dist/esm/tests/features/author-delegated-grant.spec.js +326 -343
- package/dist/esm/tests/features/author-delegated-grant.spec.js.map +1 -1
- package/dist/esm/tests/features/owner-delegated-grant.spec.js +153 -169
- package/dist/esm/tests/features/owner-delegated-grant.spec.js.map +1 -1
- package/dist/esm/tests/features/owner-signature.spec.js +67 -78
- package/dist/esm/tests/features/owner-signature.spec.js.map +1 -1
- package/dist/esm/tests/features/permissions.spec.js +446 -181
- package/dist/esm/tests/features/permissions.spec.js.map +1 -1
- package/dist/esm/tests/features/protocol-composition.spec.js +346 -356
- package/dist/esm/tests/features/protocol-composition.spec.js.map +1 -1
- package/dist/esm/tests/features/protocol-create-action.spec.js +42 -51
- package/dist/esm/tests/features/protocol-create-action.spec.js.map +1 -1
- package/dist/esm/tests/features/protocol-delete-action.spec.js +94 -103
- package/dist/esm/tests/features/protocol-delete-action.spec.js.map +1 -1
- package/dist/esm/tests/features/protocol-update-action.spec.js +105 -114
- package/dist/esm/tests/features/protocol-update-action.spec.js.map +1 -1
- package/dist/esm/tests/features/records-prune.spec.js +175 -191
- package/dist/esm/tests/features/records-prune.spec.js.map +1 -1
- package/dist/esm/tests/features/records-tags.spec.js +441 -460
- package/dist/esm/tests/features/records-tags.spec.js.map +1 -1
- package/dist/esm/tests/features/resumable-tasks.spec.js +82 -91
- package/dist/esm/tests/features/resumable-tasks.spec.js.map +1 -1
- package/dist/esm/tests/handlers/messages-read.spec.js +206 -207
- package/dist/esm/tests/handlers/messages-read.spec.js.map +1 -1
- package/dist/esm/tests/handlers/messages-subscribe.spec.js +145 -154
- package/dist/esm/tests/handlers/messages-subscribe.spec.js.map +1 -1
- package/dist/esm/tests/handlers/messages-sync.spec.js +174 -183
- package/dist/esm/tests/handlers/messages-sync.spec.js.map +1 -1
- package/dist/esm/tests/handlers/protocols-configure.spec.js +244 -238
- package/dist/esm/tests/handlers/protocols-configure.spec.js.map +1 -1
- package/dist/esm/tests/handlers/protocols-query.spec.js +156 -169
- package/dist/esm/tests/handlers/protocols-query.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-count.spec.js +93 -102
- package/dist/esm/tests/handlers/records-count.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-delete.spec.js +252 -264
- package/dist/esm/tests/handlers/records-delete.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-query.spec.js +917 -988
- package/dist/esm/tests/handlers/records-query.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-read.spec.js +553 -568
- package/dist/esm/tests/handlers/records-read.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-subscribe.spec.js +269 -278
- package/dist/esm/tests/handlers/records-subscribe.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-write.spec.js +1057 -1082
- package/dist/esm/tests/handlers/records-write.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/messages-get.spec.js +39 -48
- package/dist/esm/tests/interfaces/messages-get.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/messages-subscribe.spec.js +4 -13
- package/dist/esm/tests/interfaces/messages-subscribe.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/protocols-configure.spec.js +212 -88
- package/dist/esm/tests/interfaces/protocols-configure.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/protocols-query.spec.js +8 -17
- package/dist/esm/tests/interfaces/protocols-query.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/records-delete.spec.js +8 -17
- package/dist/esm/tests/interfaces/records-delete.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/records-query.spec.js +20 -29
- package/dist/esm/tests/interfaces/records-query.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/records-read.spec.js +42 -51
- package/dist/esm/tests/interfaces/records-read.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/records-subscribe.spec.js +16 -25
- package/dist/esm/tests/interfaces/records-subscribe.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/records-write.spec.js +152 -165
- package/dist/esm/tests/interfaces/records-write.spec.js.map +1 -1
- package/dist/esm/tests/jose/jws/general.spec.js +36 -45
- package/dist/esm/tests/jose/jws/general.spec.js.map +1 -1
- package/dist/esm/tests/protocols/permission-grant.spec.js +44 -50
- package/dist/esm/tests/protocols/permission-grant.spec.js.map +1 -1
- package/dist/esm/tests/protocols/permission-request.spec.js +23 -32
- package/dist/esm/tests/protocols/permission-request.spec.js.map +1 -1
- package/dist/esm/tests/protocols/permissions.spec.js +49 -55
- package/dist/esm/tests/protocols/permissions.spec.js.map +1 -1
- package/dist/esm/tests/scenarios/aggregator.spec.js +124 -135
- package/dist/esm/tests/scenarios/aggregator.spec.js.map +1 -1
- package/dist/esm/tests/scenarios/deleted-record.spec.js +23 -32
- package/dist/esm/tests/scenarios/deleted-record.spec.js.map +1 -1
- package/dist/esm/tests/scenarios/end-to-end-tests.spec.js +52 -61
- package/dist/esm/tests/scenarios/end-to-end-tests.spec.js.map +1 -1
- package/dist/esm/tests/scenarios/nested-roles.spec.js +63 -73
- package/dist/esm/tests/scenarios/nested-roles.spec.js.map +1 -1
- package/dist/esm/tests/scenarios/subscriptions.spec.js +377 -333
- package/dist/esm/tests/scenarios/subscriptions.spec.js.map +1 -1
- package/dist/esm/tests/smt/smt-store-level.spec.js +76 -87
- package/dist/esm/tests/smt/smt-store-level.spec.js.map +1 -1
- package/dist/esm/tests/smt/sparse-merkle-tree.spec.js +344 -353
- package/dist/esm/tests/smt/sparse-merkle-tree.spec.js.map +1 -1
- package/dist/esm/tests/state-index/state-index-level.spec.js +117 -126
- package/dist/esm/tests/state-index/state-index-level.spec.js.map +1 -1
- package/dist/esm/tests/store/blockstore-level.spec.js +44 -99
- package/dist/esm/tests/store/blockstore-level.spec.js.map +1 -1
- package/dist/esm/tests/store/blockstore-mock.spec.js +40 -120
- package/dist/esm/tests/store/blockstore-mock.spec.js.map +1 -1
- package/dist/esm/tests/store/data-store-level.spec.js +86 -95
- package/dist/esm/tests/store/data-store-level.spec.js.map +1 -1
- package/dist/esm/tests/store/index-level.spec.js +404 -414
- package/dist/esm/tests/store/index-level.spec.js.map +1 -1
- package/dist/esm/tests/store/message-store-level.spec.js +13 -22
- package/dist/esm/tests/store/message-store-level.spec.js.map +1 -1
- package/dist/esm/tests/store/message-store.spec.js +229 -238
- package/dist/esm/tests/store/message-store.spec.js.map +1 -1
- package/dist/esm/tests/test-event-stream.js +3 -3
- package/dist/esm/tests/test-event-stream.js.map +1 -1
- package/dist/esm/tests/test-stores.js +16 -13
- package/dist/esm/tests/test-stores.js.map +1 -1
- package/dist/esm/tests/test-suite.js +2 -11
- package/dist/esm/tests/test-suite.js.map +1 -1
- package/dist/esm/tests/utils/cid.spec.js +24 -33
- package/dist/esm/tests/utils/cid.spec.js.map +1 -1
- package/dist/esm/tests/utils/data-stream.spec.js +48 -57
- package/dist/esm/tests/utils/data-stream.spec.js.map +1 -1
- package/dist/esm/tests/utils/encryption-callbacks.spec.js +45 -54
- package/dist/esm/tests/utils/encryption-callbacks.spec.js.map +1 -1
- package/dist/esm/tests/utils/encryption.spec.js +291 -44
- package/dist/esm/tests/utils/encryption.spec.js.map +1 -1
- package/dist/esm/tests/utils/filters.spec.js +46 -55
- package/dist/esm/tests/utils/filters.spec.js.map +1 -1
- package/dist/esm/tests/utils/hd-key.spec.js +10 -19
- package/dist/esm/tests/utils/hd-key.spec.js.map +1 -1
- package/dist/esm/tests/utils/jws.spec.js +3 -12
- package/dist/esm/tests/utils/jws.spec.js.map +1 -1
- package/dist/esm/tests/utils/memory-cache.spec.js +9 -18
- package/dist/esm/tests/utils/memory-cache.spec.js.map +1 -1
- package/dist/esm/tests/utils/messages.spec.js +6 -15
- package/dist/esm/tests/utils/messages.spec.js.map +1 -1
- package/dist/esm/tests/utils/poller.js +22 -33
- package/dist/esm/tests/utils/poller.js.map +1 -1
- package/dist/esm/tests/utils/private-key-signer.spec.js +15 -24
- package/dist/esm/tests/utils/private-key-signer.spec.js.map +1 -1
- package/dist/esm/tests/utils/records.spec.js +10 -19
- package/dist/esm/tests/utils/records.spec.js.map +1 -1
- package/dist/esm/tests/utils/secp256k1.spec.js +16 -25
- package/dist/esm/tests/utils/secp256k1.spec.js.map +1 -1
- package/dist/esm/tests/utils/secp256r1.spec.js +18 -27
- package/dist/esm/tests/utils/secp256r1.spec.js.map +1 -1
- package/dist/esm/tests/utils/test-data-generator.js +414 -468
- package/dist/esm/tests/utils/test-data-generator.js.map +1 -1
- package/dist/esm/tests/validation/json-schemas/definitions.spec.js +2 -11
- package/dist/esm/tests/validation/json-schemas/definitions.spec.js.map +1 -1
- package/dist/esm/tests/validation/json-schemas/jwk/general-jwk.spec.js +4 -13
- package/dist/esm/tests/validation/json-schemas/jwk/general-jwk.spec.js.map +1 -1
- package/dist/esm/tests/validation/json-schemas/jwk/public-jwk.spec.js +8 -17
- package/dist/esm/tests/validation/json-schemas/jwk/public-jwk.spec.js.map +1 -1
- package/dist/esm/tests/validation/json-schemas/jwk-verification-method.spec.js +3 -12
- package/dist/esm/tests/validation/json-schemas/jwk-verification-method.spec.js.map +1 -1
- package/dist/esm/tests/validation/json-schemas/protocols/protocols-configure.spec.js +4 -13
- package/dist/esm/tests/validation/json-schemas/protocols/protocols-configure.spec.js.map +1 -1
- package/dist/esm/tests/validation/json-schemas/records/records-query.spec.js +2 -11
- package/dist/esm/tests/validation/json-schemas/records/records-query.spec.js.map +1 -1
- package/dist/esm/tests/validation/json-schemas/records/records-read.spec.js +2 -11
- package/dist/esm/tests/validation/json-schemas/records/records-read.spec.js.map +1 -1
- package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js +7 -16
- package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js.map +1 -1
- package/dist/types/src/core/protocol-authorization-action.d.ts +42 -0
- package/dist/types/src/core/protocol-authorization-action.d.ts.map +1 -0
- package/dist/types/src/core/protocol-authorization-validation.d.ts +60 -0
- package/dist/types/src/core/protocol-authorization-validation.d.ts.map +1 -0
- package/dist/types/src/core/protocol-authorization.d.ts +10 -100
- package/dist/types/src/core/protocol-authorization.d.ts.map +1 -1
- package/dist/types/src/core/record-chain.d.ts +24 -0
- package/dist/types/src/core/record-chain.d.ts.map +1 -0
- package/dist/types/src/handlers/records-write.d.ts +2 -1
- package/dist/types/src/handlers/records-write.d.ts.map +1 -1
- package/dist/types/src/interfaces/protocols-configure.d.ts.map +1 -1
- package/dist/types/src/interfaces/records-write-query.d.ts +33 -0
- package/dist/types/src/interfaces/records-write-query.d.ts.map +1 -0
- package/dist/types/src/interfaces/records-write-signing.d.ts +35 -0
- package/dist/types/src/interfaces/records-write-signing.d.ts.map +1 -0
- package/dist/types/src/interfaces/records-write.d.ts +10 -44
- package/dist/types/src/interfaces/records-write.d.ts.map +1 -1
- package/dist/types/src/store/index-level-compound.d.ts +70 -0
- package/dist/types/src/store/index-level-compound.d.ts.map +1 -0
- package/dist/types/src/store/index-level.d.ts +0 -58
- package/dist/types/src/store/index-level.d.ts.map +1 -1
- package/dist/types/src/utils/protocols.d.ts +5 -0
- package/dist/types/src/utils/protocols.d.ts.map +1 -1
- package/dist/types/src/utils/records.d.ts +3 -1
- package/dist/types/src/utils/records.d.ts.map +1 -1
- package/dist/types/tests/features/permissions.spec.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/core/protocol-authorization-action.ts +377 -0
- package/src/core/protocol-authorization-validation.ts +391 -0
- package/src/core/protocol-authorization.ts +60 -849
- package/src/core/record-chain.ts +99 -0
- package/src/handlers/records-read.ts +1 -1
- package/src/handlers/records-write.ts +37 -21
- package/src/interfaces/protocols-configure.ts +33 -5
- package/src/interfaces/records-write-query.ts +139 -0
- package/src/interfaces/records-write-signing.ts +143 -0
- package/src/interfaces/records-write.ts +49 -221
- package/src/store/index-level-compound.ts +324 -0
- package/src/store/index-level.ts +24 -306
- package/src/utils/protocols.ts +8 -0
- package/src/utils/records.ts +9 -15
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import sinon from 'sinon';
|
|
11
2
|
import { DataStream } from '../../src/utils/data-stream.js';
|
|
12
3
|
import { Dwn } from '../../src/dwn.js';
|
|
@@ -32,7 +23,7 @@ export function testProtocolDeleteAction() {
|
|
|
32
23
|
let dwn;
|
|
33
24
|
// important to follow the `before` and `after` pattern to initialize and clean the stores in tests
|
|
34
25
|
// so that different test suites can reuse the same backend store for testing
|
|
35
|
-
beforeAll(() =>
|
|
26
|
+
beforeAll(async () => {
|
|
36
27
|
didResolver = new UniversalResolver({ didResolvers: [DidKey] });
|
|
37
28
|
const stores = TestStores.get();
|
|
38
29
|
messageStore = stores.messageStore;
|
|
@@ -40,20 +31,20 @@ export function testProtocolDeleteAction() {
|
|
|
40
31
|
resumableTaskStore = stores.resumableTaskStore;
|
|
41
32
|
stateIndex = stores.stateIndex;
|
|
42
33
|
eventStream = TestEventStream.get();
|
|
43
|
-
dwn =
|
|
44
|
-
})
|
|
45
|
-
beforeEach(() =>
|
|
34
|
+
dwn = await Dwn.create({ didResolver, messageStore, dataStore, stateIndex, eventStream, resumableTaskStore });
|
|
35
|
+
});
|
|
36
|
+
beforeEach(async () => {
|
|
46
37
|
sinon.restore(); // wipe all previous stubs/spies/mocks/fakes
|
|
47
38
|
// clean up before each test rather than after so that a test does not depend on other tests to do the clean up
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
})
|
|
53
|
-
afterAll(() =>
|
|
54
|
-
|
|
55
|
-
})
|
|
56
|
-
it('should only allow author of a role-authorized create to delete', () =>
|
|
39
|
+
await messageStore.clear();
|
|
40
|
+
await dataStore.clear();
|
|
41
|
+
await resumableTaskStore.clear();
|
|
42
|
+
await stateIndex.clear();
|
|
43
|
+
});
|
|
44
|
+
afterAll(async () => {
|
|
45
|
+
await dwn.close();
|
|
46
|
+
});
|
|
47
|
+
it('should only allow author of a role-authorized create to delete', async () => {
|
|
57
48
|
// Scenario:
|
|
58
49
|
// 1. Alice installs a protocol with a "author of a role-authorized create can delete" rule.
|
|
59
50
|
// 2. Alice gives Bob and Carol the "user" role to be able to write `foo` records.
|
|
@@ -62,9 +53,9 @@ export function testProtocolDeleteAction() {
|
|
|
62
53
|
// 4a. Sanity verify that the delete took effect by reading the record back
|
|
63
54
|
// 5. Carol creates a `foo` by invoking the user role.
|
|
64
55
|
// 6. Verify that Bob cannot delete Carol's `foo`
|
|
65
|
-
const alice =
|
|
66
|
-
const bob =
|
|
67
|
-
const carol =
|
|
56
|
+
const alice = await TestDataGenerator.generateDidKeyPersona();
|
|
57
|
+
const bob = await TestDataGenerator.generateDidKeyPersona();
|
|
58
|
+
const carol = await TestDataGenerator.generateDidKeyPersona();
|
|
68
59
|
// 1. Alice installs a protocol with a "author of a role-authorized create can delete" rule.
|
|
69
60
|
const protocolDefinition = {
|
|
70
61
|
protocol: 'foo',
|
|
@@ -87,32 +78,32 @@ export function testProtocolDeleteAction() {
|
|
|
87
78
|
}
|
|
88
79
|
}
|
|
89
80
|
};
|
|
90
|
-
const protocolsConfig =
|
|
81
|
+
const protocolsConfig = await ProtocolsConfigure.create({
|
|
91
82
|
definition: protocolDefinition,
|
|
92
83
|
signer: Jws.createSigner(alice)
|
|
93
84
|
});
|
|
94
|
-
const protocolsConfigureReply =
|
|
85
|
+
const protocolsConfigureReply = await dwn.processMessage(alice.did, protocolsConfig.message);
|
|
95
86
|
expect(protocolsConfigureReply.status.code).toBe(202);
|
|
96
87
|
// 2. Alice gives Bob and Carol the "user" role to be able to write `foo` records.
|
|
97
|
-
const userBobRecordsWrite =
|
|
88
|
+
const userBobRecordsWrite = await TestDataGenerator.generateRecordsWrite({
|
|
98
89
|
author: alice,
|
|
99
90
|
recipient: bob.did,
|
|
100
91
|
protocol: protocolDefinition.protocol,
|
|
101
92
|
protocolPath: 'user'
|
|
102
93
|
});
|
|
103
|
-
const userBobRecordsWriteReply =
|
|
94
|
+
const userBobRecordsWriteReply = await dwn.processMessage(alice.did, userBobRecordsWrite.message, { dataStream: userBobRecordsWrite.dataStream });
|
|
104
95
|
expect(userBobRecordsWriteReply.status.code).toBe(202);
|
|
105
|
-
const userCarolRecordsWrite =
|
|
96
|
+
const userCarolRecordsWrite = await TestDataGenerator.generateRecordsWrite({
|
|
106
97
|
author: alice,
|
|
107
98
|
recipient: carol.did,
|
|
108
99
|
protocol: protocolDefinition.protocol,
|
|
109
100
|
protocolPath: 'user'
|
|
110
101
|
});
|
|
111
|
-
const userCarolRecordsWriteReply =
|
|
102
|
+
const userCarolRecordsWriteReply = await dwn.processMessage(alice.did, userCarolRecordsWrite.message, { dataStream: userCarolRecordsWrite.dataStream });
|
|
112
103
|
expect(userCarolRecordsWriteReply.status.code).toBe(202);
|
|
113
104
|
// 3. Bob creates a `foo` by invoking the user role.
|
|
114
105
|
const bobFooBytes = TestDataGenerator.randomBytes(100);
|
|
115
|
-
const bobRoleAuthorizedFoo =
|
|
106
|
+
const bobRoleAuthorizedFoo = await RecordsWrite.create({
|
|
116
107
|
signer: Jws.createSigner(bob),
|
|
117
108
|
protocolRole: 'user',
|
|
118
109
|
protocol: protocolDefinition.protocol,
|
|
@@ -121,28 +112,28 @@ export function testProtocolDeleteAction() {
|
|
|
121
112
|
dataFormat: 'any-format',
|
|
122
113
|
data: bobFooBytes
|
|
123
114
|
});
|
|
124
|
-
const bobRoleAuthorizedCreateReply =
|
|
115
|
+
const bobRoleAuthorizedCreateReply = await dwn.processMessage(alice.did, bobRoleAuthorizedFoo.message, { dataStream: DataStream.fromBytes(bobFooBytes) });
|
|
125
116
|
expect(bobRoleAuthorizedCreateReply.status.code).toBe(202);
|
|
126
117
|
// 4. Verify that Bob can delete his `foo`
|
|
127
|
-
const bobAuthorizedFooDelete =
|
|
118
|
+
const bobAuthorizedFooDelete = await RecordsDelete.create({
|
|
128
119
|
protocolRole: 'user',
|
|
129
120
|
recordId: bobRoleAuthorizedFoo.message.recordId,
|
|
130
121
|
signer: Jws.createSigner(bob)
|
|
131
122
|
});
|
|
132
|
-
const bobAuthorizedFooDeleteReply =
|
|
123
|
+
const bobAuthorizedFooDeleteReply = await dwn.processMessage(alice.did, bobAuthorizedFooDelete.message);
|
|
133
124
|
expect(bobAuthorizedFooDeleteReply.status.code).toBe(202);
|
|
134
125
|
// 4a. Sanity verify that the delete took effect by reading the record back
|
|
135
|
-
const recordsRead =
|
|
126
|
+
const recordsRead = await RecordsRead.create({
|
|
136
127
|
filter: {
|
|
137
128
|
recordId: bobRoleAuthorizedFoo.message.recordId
|
|
138
129
|
},
|
|
139
130
|
signer: Jws.createSigner(alice)
|
|
140
131
|
});
|
|
141
|
-
const recordsReadReply =
|
|
132
|
+
const recordsReadReply = await dwn.processMessage(alice.did, recordsRead.message);
|
|
142
133
|
expect(recordsReadReply.status.code).toBe(404);
|
|
143
134
|
// 5. Carol creates a `foo` by invoking the user role.
|
|
144
135
|
const carolFooBytes = TestDataGenerator.randomBytes(100);
|
|
145
|
-
const carolRoleAuthorizedFoo =
|
|
136
|
+
const carolRoleAuthorizedFoo = await RecordsWrite.create({
|
|
146
137
|
signer: Jws.createSigner(carol),
|
|
147
138
|
protocolRole: 'user',
|
|
148
139
|
protocol: protocolDefinition.protocol,
|
|
@@ -151,19 +142,19 @@ export function testProtocolDeleteAction() {
|
|
|
151
142
|
dataFormat: 'any-format',
|
|
152
143
|
data: carolFooBytes
|
|
153
144
|
});
|
|
154
|
-
const carolRoleAuthorizedCreateReply =
|
|
145
|
+
const carolRoleAuthorizedCreateReply = await dwn.processMessage(alice.did, carolRoleAuthorizedFoo.message, { dataStream: DataStream.fromBytes(carolFooBytes) });
|
|
155
146
|
expect(carolRoleAuthorizedCreateReply.status.code).toBe(202);
|
|
156
147
|
// 6. Verify that Bob cannot delete Carol's `foo`
|
|
157
|
-
const bobUnauthorizedFooDelete =
|
|
148
|
+
const bobUnauthorizedFooDelete = await RecordsDelete.create({
|
|
158
149
|
protocolRole: 'user',
|
|
159
150
|
recordId: carolRoleAuthorizedFoo.message.recordId,
|
|
160
151
|
signer: Jws.createSigner(bob)
|
|
161
152
|
});
|
|
162
|
-
const bobUnauthorizedFooDeleteReply =
|
|
153
|
+
const bobUnauthorizedFooDeleteReply = await dwn.processMessage(alice.did, bobUnauthorizedFooDelete.message);
|
|
163
154
|
expect(bobUnauthorizedFooDeleteReply.status.code).toBe(401);
|
|
164
155
|
expect(bobUnauthorizedFooDeleteReply.status.detail).toContain(DwnErrorCode.ProtocolAuthorizationActionNotAllowed);
|
|
165
|
-
})
|
|
166
|
-
it('should only allow author of an author/recipient-authorized create to delete', () =>
|
|
156
|
+
});
|
|
157
|
+
it('should only allow author of an author/recipient-authorized create to delete', async () => {
|
|
167
158
|
// Scenario:
|
|
168
159
|
// 1. Alice installs a protocol with "author of an author/recipient-authorized create can delete" rules.
|
|
169
160
|
// 2. Alice creates a `foo` with Bob being the recipient, so that Bob can create `bar`.
|
|
@@ -177,9 +168,9 @@ export function testProtocolDeleteAction() {
|
|
|
177
168
|
// 9. Verify that Bob can delete his `bar`.
|
|
178
169
|
// 10. Verify that Bob cannot delete Carol's `bar`.
|
|
179
170
|
// 11. Verify that Bob cannot delete Carol's `baz`
|
|
180
|
-
const alice =
|
|
181
|
-
const bob =
|
|
182
|
-
const carol =
|
|
171
|
+
const alice = await TestDataGenerator.generateDidKeyPersona();
|
|
172
|
+
const bob = await TestDataGenerator.generateDidKeyPersona();
|
|
173
|
+
const carol = await TestDataGenerator.generateDidKeyPersona();
|
|
183
174
|
// 1. Alice installs a protocol with "author of an author/recipient-authorized create can delete" rules.
|
|
184
175
|
const protocolDefinition = {
|
|
185
176
|
protocol: 'foo-bar-baz',
|
|
@@ -212,33 +203,33 @@ export function testProtocolDeleteAction() {
|
|
|
212
203
|
}
|
|
213
204
|
}
|
|
214
205
|
};
|
|
215
|
-
const protocolsConfig =
|
|
206
|
+
const protocolsConfig = await ProtocolsConfigure.create({
|
|
216
207
|
definition: protocolDefinition,
|
|
217
208
|
signer: Jws.createSigner(alice)
|
|
218
209
|
});
|
|
219
|
-
const protocolsConfigureReply =
|
|
210
|
+
const protocolsConfigureReply = await dwn.processMessage(alice.did, protocolsConfig.message);
|
|
220
211
|
expect(protocolsConfigureReply.status.code).toBe(202);
|
|
221
212
|
// 2. Alice creates a `foo` with Bob being the recipient, so that Bob can create `bar`.
|
|
222
|
-
const fooForBob =
|
|
213
|
+
const fooForBob = await TestDataGenerator.generateRecordsWrite({
|
|
223
214
|
author: alice,
|
|
224
215
|
recipient: bob.did,
|
|
225
216
|
protocol: protocolDefinition.protocol,
|
|
226
217
|
protocolPath: 'foo'
|
|
227
218
|
});
|
|
228
|
-
const fooForBobReply =
|
|
219
|
+
const fooForBobReply = await dwn.processMessage(alice.did, fooForBob.message, { dataStream: fooForBob.dataStream });
|
|
229
220
|
expect(fooForBobReply.status.code).toBe(202);
|
|
230
221
|
// 3. Alice creates a `foo` with Carol being the recipient, so that Carol can create `bar`.
|
|
231
|
-
const fooForCarol =
|
|
222
|
+
const fooForCarol = await TestDataGenerator.generateRecordsWrite({
|
|
232
223
|
author: alice,
|
|
233
224
|
recipient: carol.did,
|
|
234
225
|
protocol: protocolDefinition.protocol,
|
|
235
226
|
protocolPath: 'foo'
|
|
236
227
|
});
|
|
237
|
-
const fooForCarolReply =
|
|
228
|
+
const fooForCarolReply = await dwn.processMessage(alice.did, fooForCarol.message, { dataStream: fooForCarol.dataStream });
|
|
238
229
|
expect(fooForCarolReply.status.code).toBe(202);
|
|
239
230
|
// 4. Bob creates a recipient-authorized `bar`.
|
|
240
231
|
const bobBarBytes = TestDataGenerator.randomBytes(100);
|
|
241
|
-
const bobRecipientAuthorizedBar =
|
|
232
|
+
const bobRecipientAuthorizedBar = await RecordsWrite.create({
|
|
242
233
|
signer: Jws.createSigner(bob),
|
|
243
234
|
protocol: protocolDefinition.protocol,
|
|
244
235
|
protocolPath: 'foo/bar',
|
|
@@ -247,11 +238,11 @@ export function testProtocolDeleteAction() {
|
|
|
247
238
|
dataFormat: 'any-format',
|
|
248
239
|
data: bobBarBytes
|
|
249
240
|
});
|
|
250
|
-
const bobRecipientAuthorizedBarReply =
|
|
241
|
+
const bobRecipientAuthorizedBarReply = await dwn.processMessage(alice.did, bobRecipientAuthorizedBar.message, { dataStream: DataStream.fromBytes(bobBarBytes) });
|
|
251
242
|
expect(bobRecipientAuthorizedBarReply.status.code).toBe(202);
|
|
252
243
|
// 5. Bob creates a author-authorized `baz` after his `bar`.
|
|
253
244
|
const bobBazBytes = TestDataGenerator.randomBytes(100);
|
|
254
|
-
const bobAuthorAuthorizedBaz =
|
|
245
|
+
const bobAuthorAuthorizedBaz = await RecordsWrite.create({
|
|
255
246
|
signer: Jws.createSigner(bob),
|
|
256
247
|
protocol: protocolDefinition.protocol,
|
|
257
248
|
protocolPath: 'foo/bar/baz',
|
|
@@ -260,11 +251,11 @@ export function testProtocolDeleteAction() {
|
|
|
260
251
|
dataFormat: 'any-format',
|
|
261
252
|
data: bobBazBytes
|
|
262
253
|
});
|
|
263
|
-
const bobAuthorAuthorizedBazReply =
|
|
254
|
+
const bobAuthorAuthorizedBazReply = await dwn.processMessage(alice.did, bobAuthorAuthorizedBaz.message, { dataStream: DataStream.fromBytes(bobBazBytes) });
|
|
264
255
|
expect(bobAuthorAuthorizedBazReply.status.code).toBe(202);
|
|
265
256
|
// 6. Carol creates a recipient-authorized `bar`.
|
|
266
257
|
const carolBarBytes = TestDataGenerator.randomBytes(100);
|
|
267
|
-
const carolRecipientAuthorizedBar =
|
|
258
|
+
const carolRecipientAuthorizedBar = await RecordsWrite.create({
|
|
268
259
|
signer: Jws.createSigner(carol),
|
|
269
260
|
protocol: protocolDefinition.protocol,
|
|
270
261
|
protocolPath: 'foo/bar',
|
|
@@ -273,11 +264,11 @@ export function testProtocolDeleteAction() {
|
|
|
273
264
|
dataFormat: 'any-format',
|
|
274
265
|
data: carolBarBytes
|
|
275
266
|
});
|
|
276
|
-
const carolRecipientAuthorizedBarReply =
|
|
267
|
+
const carolRecipientAuthorizedBarReply = await dwn.processMessage(alice.did, carolRecipientAuthorizedBar.message, { dataStream: DataStream.fromBytes(carolBarBytes) });
|
|
277
268
|
expect(carolRecipientAuthorizedBarReply.status.code).toBe(202);
|
|
278
269
|
// 7. Carol creates a author-authorized `baz` after her `bar`.
|
|
279
270
|
const carolBazBytes = TestDataGenerator.randomBytes(100);
|
|
280
|
-
const carolAuthorAuthorizedBaz =
|
|
271
|
+
const carolAuthorAuthorizedBaz = await RecordsWrite.create({
|
|
281
272
|
signer: Jws.createSigner(carol),
|
|
282
273
|
protocol: protocolDefinition.protocol,
|
|
283
274
|
protocolPath: 'foo/bar/baz',
|
|
@@ -286,49 +277,49 @@ export function testProtocolDeleteAction() {
|
|
|
286
277
|
dataFormat: 'any-format',
|
|
287
278
|
data: carolBazBytes
|
|
288
279
|
});
|
|
289
|
-
const carolAuthorAuthorizedBazReply =
|
|
280
|
+
const carolAuthorAuthorizedBazReply = await dwn.processMessage(alice.did, carolAuthorAuthorizedBaz.message, { dataStream: DataStream.fromBytes(carolBazBytes) });
|
|
290
281
|
expect(carolAuthorAuthorizedBazReply.status.code).toBe(202);
|
|
291
282
|
// 8. Verify that Bob can delete his `baz`
|
|
292
|
-
const bobAuthorizedBazDelete =
|
|
283
|
+
const bobAuthorizedBazDelete = await RecordsDelete.create({
|
|
293
284
|
recordId: bobAuthorAuthorizedBaz.message.recordId,
|
|
294
285
|
signer: Jws.createSigner(bob)
|
|
295
286
|
});
|
|
296
|
-
const bobAuthorizedBazDeleteReply =
|
|
287
|
+
const bobAuthorizedBazDeleteReply = await dwn.processMessage(alice.did, bobAuthorizedBazDelete.message);
|
|
297
288
|
expect(bobAuthorizedBazDeleteReply.status.code).toBe(202);
|
|
298
289
|
// 8a. Sanity verify that the delete took effect by reading the record back.
|
|
299
|
-
const bobBarRead =
|
|
290
|
+
const bobBarRead = await RecordsRead.create({
|
|
300
291
|
filter: {
|
|
301
292
|
recordId: bobAuthorAuthorizedBaz.message.recordId
|
|
302
293
|
},
|
|
303
294
|
signer: Jws.createSigner(alice)
|
|
304
295
|
});
|
|
305
|
-
const bobBarReadReply =
|
|
296
|
+
const bobBarReadReply = await dwn.processMessage(alice.did, bobBarRead.message);
|
|
306
297
|
expect(bobBarReadReply.status.code).toBe(404);
|
|
307
298
|
// 9. Verify that Bob can delete his `bar`.
|
|
308
|
-
const bobAuthorizedBarDelete =
|
|
299
|
+
const bobAuthorizedBarDelete = await RecordsDelete.create({
|
|
309
300
|
recordId: bobRecipientAuthorizedBar.message.recordId,
|
|
310
301
|
signer: Jws.createSigner(bob)
|
|
311
302
|
});
|
|
312
|
-
const bobAuthorizedBarDeleteReply =
|
|
303
|
+
const bobAuthorizedBarDeleteReply = await dwn.processMessage(alice.did, bobAuthorizedBarDelete.message);
|
|
313
304
|
expect(bobAuthorizedBarDeleteReply.status.code).toBe(202);
|
|
314
305
|
// 10. Verify that Bob cannot delete Carol's `bar`.
|
|
315
|
-
const bobUnauthorizedBarDelete =
|
|
306
|
+
const bobUnauthorizedBarDelete = await RecordsDelete.create({
|
|
316
307
|
recordId: carolRecipientAuthorizedBar.message.recordId,
|
|
317
308
|
signer: Jws.createSigner(bob)
|
|
318
309
|
});
|
|
319
|
-
const bobUnauthorizedBarDeleteReply =
|
|
310
|
+
const bobUnauthorizedBarDeleteReply = await dwn.processMessage(alice.did, bobUnauthorizedBarDelete.message);
|
|
320
311
|
expect(bobUnauthorizedBarDeleteReply.status.code).toBe(401);
|
|
321
312
|
expect(bobUnauthorizedBarDeleteReply.status.detail).toContain(DwnErrorCode.ProtocolAuthorizationActionNotAllowed);
|
|
322
313
|
// 11. Verify that Bob cannot delete Carol's `baz`
|
|
323
|
-
const bobUnauthorizedBazDelete =
|
|
314
|
+
const bobUnauthorizedBazDelete = await RecordsDelete.create({
|
|
324
315
|
recordId: carolRecipientAuthorizedBar.message.recordId,
|
|
325
316
|
signer: Jws.createSigner(bob)
|
|
326
317
|
});
|
|
327
|
-
const bobUnauthorizedBazDeleteReply =
|
|
318
|
+
const bobUnauthorizedBazDeleteReply = await dwn.processMessage(alice.did, bobUnauthorizedBazDelete.message);
|
|
328
319
|
expect(bobUnauthorizedBazDeleteReply.status.code).toBe(401);
|
|
329
320
|
expect(bobUnauthorizedBazDeleteReply.status.detail).toContain(DwnErrorCode.ProtocolAuthorizationActionNotAllowed);
|
|
330
|
-
})
|
|
331
|
-
it('should only allow author of an anyone-authorized create to delete', () =>
|
|
321
|
+
});
|
|
322
|
+
it('should only allow author of an anyone-authorized create to delete', async () => {
|
|
332
323
|
// Scenario:
|
|
333
324
|
// 1. Alice installs a protocol with "author of an anyone-authorized create can delete" rules.
|
|
334
325
|
// 2. Bob creates an anyone-authorized `foo`.
|
|
@@ -336,9 +327,9 @@ export function testProtocolDeleteAction() {
|
|
|
336
327
|
// 4. Verify that Bob can delete his `foo`.
|
|
337
328
|
// 4a. Sanity verify that the delete took effect by reading the record back.
|
|
338
329
|
// 5. Verify that Bob cannot delete Carol's `foo`.
|
|
339
|
-
const alice =
|
|
340
|
-
const bob =
|
|
341
|
-
const carol =
|
|
330
|
+
const alice = await TestDataGenerator.generateDidKeyPersona();
|
|
331
|
+
const bob = await TestDataGenerator.generateDidKeyPersona();
|
|
332
|
+
const carol = await TestDataGenerator.generateDidKeyPersona();
|
|
342
333
|
// 1. Alice installs a protocol with "author of an anyone-authorized create can delete" rule.
|
|
343
334
|
const protocolDefinition = {
|
|
344
335
|
protocol: 'foo',
|
|
@@ -357,15 +348,15 @@ export function testProtocolDeleteAction() {
|
|
|
357
348
|
}
|
|
358
349
|
}
|
|
359
350
|
};
|
|
360
|
-
const protocolsConfig =
|
|
351
|
+
const protocolsConfig = await ProtocolsConfigure.create({
|
|
361
352
|
definition: protocolDefinition,
|
|
362
353
|
signer: Jws.createSigner(alice)
|
|
363
354
|
});
|
|
364
|
-
const protocolsConfigureReply =
|
|
355
|
+
const protocolsConfigureReply = await dwn.processMessage(alice.did, protocolsConfig.message);
|
|
365
356
|
expect(protocolsConfigureReply.status.code).toBe(202);
|
|
366
357
|
// 2. Bob creates an anyone-authorized `foo`.
|
|
367
358
|
const bobFooBytes = TestDataGenerator.randomBytes(100);
|
|
368
|
-
const bobAnyoneAuthorizedFoo =
|
|
359
|
+
const bobAnyoneAuthorizedFoo = await RecordsWrite.create({
|
|
369
360
|
signer: Jws.createSigner(bob),
|
|
370
361
|
protocol: protocolDefinition.protocol,
|
|
371
362
|
protocolPath: 'foo',
|
|
@@ -373,11 +364,11 @@ export function testProtocolDeleteAction() {
|
|
|
373
364
|
dataFormat: 'any-format',
|
|
374
365
|
data: bobFooBytes
|
|
375
366
|
});
|
|
376
|
-
const bobAnyoneAuthorizedFooReply =
|
|
367
|
+
const bobAnyoneAuthorizedFooReply = await dwn.processMessage(alice.did, bobAnyoneAuthorizedFoo.message, { dataStream: DataStream.fromBytes(bobFooBytes) });
|
|
377
368
|
expect(bobAnyoneAuthorizedFooReply.status.code).toBe(202);
|
|
378
369
|
// 3. Carol creates a anyone-authorized `foo`.
|
|
379
370
|
const carolFooBytes = TestDataGenerator.randomBytes(100);
|
|
380
|
-
const carolAnyoneAuthorizedFoo =
|
|
371
|
+
const carolAnyoneAuthorizedFoo = await RecordsWrite.create({
|
|
381
372
|
signer: Jws.createSigner(carol),
|
|
382
373
|
protocol: protocolDefinition.protocol,
|
|
383
374
|
protocolPath: 'foo',
|
|
@@ -385,34 +376,34 @@ export function testProtocolDeleteAction() {
|
|
|
385
376
|
dataFormat: 'any-format',
|
|
386
377
|
data: carolFooBytes
|
|
387
378
|
});
|
|
388
|
-
const carolAnyoneAuthorizedFooReply =
|
|
379
|
+
const carolAnyoneAuthorizedFooReply = await dwn.processMessage(alice.did, carolAnyoneAuthorizedFoo.message, { dataStream: DataStream.fromBytes(carolFooBytes) });
|
|
389
380
|
expect(carolAnyoneAuthorizedFooReply.status.code).toBe(202);
|
|
390
381
|
// 4. Verify that Bob can delete his `foo`.
|
|
391
|
-
const bobAuthorizedFooDelete =
|
|
382
|
+
const bobAuthorizedFooDelete = await RecordsDelete.create({
|
|
392
383
|
recordId: bobAnyoneAuthorizedFoo.message.recordId,
|
|
393
384
|
signer: Jws.createSigner(bob)
|
|
394
385
|
});
|
|
395
|
-
const bobAuthorizedFooDeleteReply =
|
|
386
|
+
const bobAuthorizedFooDeleteReply = await dwn.processMessage(alice.did, bobAuthorizedFooDelete.message);
|
|
396
387
|
expect(bobAuthorizedFooDeleteReply.status.code).toBe(202);
|
|
397
388
|
// 4a. Sanity verify that the delete took effect by reading the record back.
|
|
398
|
-
const bobBarRead =
|
|
389
|
+
const bobBarRead = await RecordsRead.create({
|
|
399
390
|
filter: {
|
|
400
391
|
recordId: bobAnyoneAuthorizedFoo.message.recordId
|
|
401
392
|
},
|
|
402
393
|
signer: Jws.createSigner(alice)
|
|
403
394
|
});
|
|
404
|
-
const bobFooReadReply =
|
|
395
|
+
const bobFooReadReply = await dwn.processMessage(alice.did, bobBarRead.message);
|
|
405
396
|
expect(bobFooReadReply.status.code).toBe(404);
|
|
406
397
|
// 5. Verify that Bob cannot delete Carol's `foo`.
|
|
407
|
-
const bobUnauthorizedBarDelete =
|
|
398
|
+
const bobUnauthorizedBarDelete = await RecordsDelete.create({
|
|
408
399
|
recordId: carolAnyoneAuthorizedFoo.message.recordId,
|
|
409
400
|
signer: Jws.createSigner(bob)
|
|
410
401
|
});
|
|
411
|
-
const bobUnauthorizedFooDeleteReply =
|
|
402
|
+
const bobUnauthorizedFooDeleteReply = await dwn.processMessage(alice.did, bobUnauthorizedBarDelete.message);
|
|
412
403
|
expect(bobUnauthorizedFooDeleteReply.status.code).toBe(401);
|
|
413
404
|
expect(bobUnauthorizedFooDeleteReply.status.detail).toContain(DwnErrorCode.ProtocolAuthorizationActionNotAllowed);
|
|
414
|
-
})
|
|
415
|
-
it('should not allow creation of a protocol definition with action rule containing `delete` without `create`', () =>
|
|
405
|
+
});
|
|
406
|
+
it('should not allow creation of a protocol definition with action rule containing `delete` without `create`', async () => {
|
|
416
407
|
const protocolDefinition = {
|
|
417
408
|
protocol: 'foo',
|
|
418
409
|
published: true,
|
|
@@ -430,14 +421,14 @@ export function testProtocolDeleteAction() {
|
|
|
430
421
|
}
|
|
431
422
|
}
|
|
432
423
|
};
|
|
433
|
-
const alice =
|
|
424
|
+
const alice = await TestDataGenerator.generateDidKeyPersona();
|
|
434
425
|
const protocolsConfigureCreatePromise = ProtocolsConfigure.create({
|
|
435
426
|
definition: protocolDefinition,
|
|
436
427
|
signer: Jws.createSigner(alice)
|
|
437
428
|
});
|
|
438
|
-
|
|
439
|
-
})
|
|
440
|
-
it('should reject ProtocolsConfigure with action rule containing `delete` action without `create` during processing', () =>
|
|
429
|
+
await expect(protocolsConfigureCreatePromise).rejects.toThrow(DwnErrorCode.ProtocolsConfigureInvalidActionDeleteWithoutCreate);
|
|
430
|
+
});
|
|
431
|
+
it('should reject ProtocolsConfigure with action rule containing `delete` action without `create` during processing', async () => {
|
|
441
432
|
const protocolDefinition = {
|
|
442
433
|
protocol: 'http://foo',
|
|
443
434
|
published: true,
|
|
@@ -462,28 +453,28 @@ export function testProtocolDeleteAction() {
|
|
|
462
453
|
messageTimestamp: Time.getCurrentTimestamp(),
|
|
463
454
|
definition: protocolDefinition
|
|
464
455
|
};
|
|
465
|
-
const alice =
|
|
466
|
-
const authorization =
|
|
456
|
+
const alice = await TestDataGenerator.generateDidKeyPersona();
|
|
457
|
+
const authorization = await Message.createAuthorization({
|
|
467
458
|
descriptor,
|
|
468
459
|
signer: Jws.createSigner(alice)
|
|
469
460
|
});
|
|
470
461
|
const protocolsConfigureMessage = { descriptor, authorization };
|
|
471
|
-
const protocolsConfigureReply =
|
|
462
|
+
const protocolsConfigureReply = await dwn.processMessage(alice.did, protocolsConfigureMessage);
|
|
472
463
|
expect(protocolsConfigureReply.status.code).toBe(400);
|
|
473
464
|
expect(protocolsConfigureReply.status.detail).toContain(DwnErrorCode.ProtocolsConfigureInvalidActionDeleteWithoutCreate);
|
|
474
|
-
})
|
|
465
|
+
});
|
|
475
466
|
describe('ProtocolAuthorization.getActionsSeekingARuleMatch()', () => {
|
|
476
|
-
it('should return empty array when given a RecordsDelete on a non-existent record', () =>
|
|
477
|
-
const alice =
|
|
478
|
-
const bobUnauthorizedFooDelete =
|
|
467
|
+
it('should return empty array when given a RecordsDelete on a non-existent record', async () => {
|
|
468
|
+
const alice = await TestDataGenerator.generateDidKeyPersona();
|
|
469
|
+
const bobUnauthorizedFooDelete = await RecordsDelete.create({
|
|
479
470
|
recordId: 'non-existent-record-id',
|
|
480
471
|
signer: Jws.createSigner(alice)
|
|
481
472
|
});
|
|
482
|
-
const bobUnauthorizedFooDeleteReply =
|
|
473
|
+
const bobUnauthorizedFooDeleteReply = await dwn.processMessage(alice.did, bobUnauthorizedFooDelete.message);
|
|
483
474
|
expect(bobUnauthorizedFooDeleteReply.status.code).toBe(404);
|
|
484
|
-
const actionsSeekingARuleMatch =
|
|
475
|
+
const actionsSeekingARuleMatch = await ProtocolAuthorization['getActionsSeekingARuleMatch'](alice.did, bobUnauthorizedFooDelete, messageStore);
|
|
485
476
|
expect(actionsSeekingARuleMatch).toHaveLength(0);
|
|
486
|
-
})
|
|
477
|
+
});
|
|
487
478
|
});
|
|
488
479
|
});
|
|
489
480
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol-delete-action.spec.js","sourceRoot":"","sources":["../../../../tests/features/protocol-delete-action.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"protocol-delete-action.spec.js","sourceRoot":"","sources":["../../../../tests/features/protocol-delete-action.spec.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AACjF,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAGrI,MAAM,UAAU,wBAAwB;IACtC,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACxC,IAAI,WAAwB,CAAC;QAC7B,IAAI,YAA0B,CAAC;QAC/B,IAAI,SAAoB,CAAC;QACzB,IAAI,kBAAsC,CAAC;QAC3C,IAAI,UAAsB,CAAC;QAC3B,IAAI,WAAwB,CAAC;QAC7B,IAAI,GAAQ,CAAC;QAEb,mGAAmG;QACnG,6EAA6E;QAC7E,SAAS,CAAC,KAAK,IAAI,EAAE;YACnB,WAAW,GAAG,IAAI,iBAAiB,CAAC,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAEhE,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC;YAChC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;YACnC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;YAC7B,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;YAC/C,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;YAC/B,WAAW,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC;YAEpC,GAAG,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAChH,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,4CAA4C;YAE7D,+GAA+G;YAC/G,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;YAC3B,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;YACxB,MAAM,kBAAkB,CAAC,KAAK,EAAE,CAAC;YACjC,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;YAClB,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;YAC9E,YAAY;YACZ,4FAA4F;YAC5F,kFAAkF;YAClF,oDAAoD;YACpD,0CAA0C;YAC1C,6EAA6E;YAC7E,sDAAsD;YACtD,iDAAiD;YAEjD,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;YAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;YAC5D,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;YAE9D,4FAA4F;YAC5F,MAAM,kBAAkB,GAAuB;gBAC7C,QAAQ,EAAI,KAAK;gBACjB,SAAS,EAAG,IAAI;gBAChB,KAAK,EAAO;oBACV,IAAI,EAAG,EAAE;oBACT,GAAG,EAAI,EAAE;iBACV;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE;wBACJ,KAAK,EAAE,IAAI;qBACZ;oBACD,GAAG,EAAE;wBACH,QAAQ,EAAE;4BACR;gCACE,IAAI,EAAG,MAAM;gCACb,GAAG,EAAI,CAAC,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC;6BACtD;yBACF;qBACF;iBACF;aACF,CAAC;YACF,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC;gBACtD,UAAU,EAAG,kBAAkB;gBAC/B,MAAM,EAAO,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;aACrC,CAAC,CAAC;YAEH,MAAM,uBAAuB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;YAC7F,MAAM,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEtD,kFAAkF;YAClF,MAAM,mBAAmB,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;gBACvE,MAAM,EAAS,KAAK;gBACpB,SAAS,EAAM,GAAG,CAAC,GAAG;gBACtB,QAAQ,EAAO,kBAAkB,CAAC,QAAQ;gBAC1C,YAAY,EAAG,MAAM;aACtB,CAAC,CAAC;YACH,MAAM,wBAAwB,GAC1B,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,mBAAmB,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,mBAAmB,CAAC,UAAU,EAAE,CAAC,CAAC;YACrH,MAAM,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEvD,MAAM,qBAAqB,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;gBACzE,MAAM,EAAS,KAAK;gBACpB,SAAS,EAAM,KAAK,CAAC,GAAG;gBACxB,QAAQ,EAAO,kBAAkB,CAAC,QAAQ;gBAC1C,YAAY,EAAG,MAAM;aACtB,CAAC,CAAC;YACH,MAAM,0BAA0B,GAC5B,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,qBAAqB,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,qBAAqB,CAAC,UAAU,EAAE,CAAC,CAAC;YACzH,MAAM,CAAC,0BAA0B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEzD,oDAAoD;YACpD,MAAM,WAAW,GAAG,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACvD,MAAM,oBAAoB,GAAG,MAAM,YAAY,CAAC,MAAM,CACpD;gBACE,MAAM,EAAS,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC;gBACpC,YAAY,EAAG,MAAM;gBACrB,QAAQ,EAAO,kBAAkB,CAAC,QAAQ;gBAC1C,YAAY,EAAG,KAAK;gBACpB,MAAM,EAAS,YAAY;gBAC3B,UAAU,EAAK,YAAY;gBAC3B,IAAI,EAAW,WAAW;aAC3B,CACF,CAAC;YACF,MAAM,4BAA4B,GAC9B,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,oBAAoB,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACzH,MAAM,CAAC,4BAA4B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE3D,0CAA0C;YAC1C,MAAM,sBAAsB,GAAG,MAAM,aAAa,CAAC,MAAM,CACvD;gBACE,YAAY,EAAG,MAAM;gBACrB,QAAQ,EAAO,oBAAoB,CAAC,OAAO,CAAC,QAAQ;gBACpD,MAAM,EAAS,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC;aACrC,CACF,CAAC;YACF,MAAM,2BAA2B,GAC7B,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC;YACxE,MAAM,CAAC,2BAA2B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE1D,6EAA6E;YAC7E,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC;gBAC3C,MAAM,EAAE;oBACN,QAAQ,EAAE,oBAAoB,CAAC,OAAO,CAAC,QAAQ;iBAChD;gBACD,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;aAChC,CAAC,CAAC;YACH,MAAM,gBAAgB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;YAClF,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE/C,sDAAsD;YACtD,MAAM,aAAa,GAAG,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACzD,MAAM,sBAAsB,GAAG,MAAM,YAAY,CAAC,MAAM,CACtD;gBACE,MAAM,EAAS,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;gBACtC,YAAY,EAAG,MAAM;gBACrB,QAAQ,EAAO,kBAAkB,CAAC,QAAQ;gBAC1C,YAAY,EAAG,KAAK;gBACpB,MAAM,EAAS,YAAY;gBAC3B,UAAU,EAAK,YAAY;gBAC3B,IAAI,EAAW,aAAa;aAC7B,CACF,CAAC;YACF,MAAM,8BAA8B,GAChC,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,sBAAsB,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAC7H,MAAM,CAAC,8BAA8B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE7D,iDAAiD;YACjD,MAAM,wBAAwB,GAAG,MAAM,aAAa,CAAC,MAAM,CACzD;gBACE,YAAY,EAAG,MAAM;gBACrB,QAAQ,EAAO,sBAAsB,CAAC,OAAO,CAAC,QAAQ;gBACtD,MAAM,EAAS,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC;aACrC,CACF,CAAC;YACF,MAAM,6BAA6B,GAC/B,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC;YAC1E,MAAM,CAAC,6BAA6B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5D,MAAM,CAAC,6BAA6B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,qCAAqC,CAAC,CAAC;QACpH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;YAC3F,YAAY;YACZ,wGAAwG;YACxG,uFAAuF;YACvF,2FAA2F;YAC3F,+CAA+C;YAC/C,4DAA4D;YAC5D,iDAAiD;YACjD,8DAA8D;YAC9D,0CAA0C;YAC1C,8EAA8E;YAC9E,2CAA2C;YAC3C,mDAAmD;YACnD,kDAAkD;YAElD,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;YAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;YAC5D,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;YAE9D,wGAAwG;YACxG,MAAM,kBAAkB,GAAuB;gBAC7C,QAAQ,EAAI,aAAa;gBACzB,SAAS,EAAG,IAAI;gBAChB,KAAK,EAAO;oBACV,GAAG,EAAG,EAAE;oBACR,GAAG,EAAG,EAAE;oBACR,GAAG,EAAG,EAAE;iBACT;gBACD,SAAS,EAAE;oBACT,GAAG,EAAE;wBACH,GAAG,EAAE;4BACH,QAAQ,EAAE;gCACR;oCACE,GAAG,EAAG,WAAW;oCACjB,EAAE,EAAI,KAAK;oCACX,GAAG,EAAG,CAAC,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC;iCACrD;6BACF;4BACD,GAAG,EAAE;gCACH,QAAQ,EAAE;oCACR;wCACE,GAAG,EAAG,QAAQ;wCACd,EAAE,EAAI,SAAS;wCACf,GAAG,EAAG,CAAC,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC;qCACrD;iCACF;6BACF;yBACF;qBACF;iBACF;aACF,CAAC;YACF,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC;gBACtD,UAAU,EAAG,kBAAkB;gBAC/B,MAAM,EAAO,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;aACrC,CAAC,CAAC;YAEH,MAAM,uBAAuB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;YAC7F,MAAM,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEtD,uFAAuF;YACvF,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;gBAC7D,MAAM,EAAS,KAAK;gBACpB,SAAS,EAAM,GAAG,CAAC,GAAG;gBACtB,QAAQ,EAAO,kBAAkB,CAAC,QAAQ;gBAC1C,YAAY,EAAG,KAAK;aACrB,CAAC,CAAC;YACH,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC;YACpH,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE7C,2FAA2F;YAC3F,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;gBAC/D,MAAM,EAAS,KAAK;gBACpB,SAAS,EAAM,KAAK,CAAC,GAAG;gBACxB,QAAQ,EAAO,kBAAkB,CAAC,QAAQ;gBAC1C,YAAY,EAAG,KAAK;aACrB,CAAC,CAAC;YACH,MAAM,gBAAgB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;YAC1H,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE/C,+CAA+C;YAC/C,MAAM,WAAW,GAAG,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACvD,MAAM,yBAAyB,GAAG,MAAM,YAAY,CAAC,MAAM,CACzD;gBACE,MAAM,EAAY,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC;gBACvC,QAAQ,EAAU,kBAAkB,CAAC,QAAQ;gBAC7C,YAAY,EAAM,SAAS;gBAC3B,eAAe,EAAG,SAAS,CAAC,OAAO,CAAC,SAAS;gBAC7C,MAAM,EAAY,YAAY;gBAC9B,UAAU,EAAQ,YAAY;gBAC9B,IAAI,EAAc,WAAW;aAC9B,CACF,CAAC;YACF,MAAM,8BAA8B,GAChC,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,yBAAyB,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC9H,MAAM,CAAC,8BAA8B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE7D,4DAA4D;YAC5D,MAAM,WAAW,GAAG,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACvD,MAAM,sBAAsB,GAAG,MAAM,YAAY,CAAC,MAAM,CACtD;gBACE,MAAM,EAAY,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC;gBACvC,QAAQ,EAAU,kBAAkB,CAAC,QAAQ;gBAC7C,YAAY,EAAM,aAAa;gBAC/B,eAAe,EAAG,yBAAyB,CAAC,OAAO,CAAC,SAAS;gBAC7D,MAAM,EAAY,YAAY;gBAC9B,UAAU,EAAQ,YAAY;gBAC9B,IAAI,EAAc,WAAW;aAC9B,CACF,CAAC;YACF,MAAM,2BAA2B,GAC7B,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,sBAAsB,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC3H,MAAM,CAAC,2BAA2B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE1D,iDAAiD;YACjD,MAAM,aAAa,GAAG,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACzD,MAAM,2BAA2B,GAAG,MAAM,YAAY,CAAC,MAAM,CAC3D;gBACE,MAAM,EAAY,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;gBACzC,QAAQ,EAAU,kBAAkB,CAAC,QAAQ;gBAC7C,YAAY,EAAM,SAAS;gBAC3B,eAAe,EAAG,WAAW,CAAC,OAAO,CAAC,SAAS;gBAC/C,MAAM,EAAY,YAAY;gBAC9B,UAAU,EAAQ,YAAY;gBAC9B,IAAI,EAAc,aAAa;aAChC,CACF,CAAC;YACF,MAAM,gCAAgC,GAClC,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,2BAA2B,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAClI,MAAM,CAAC,gCAAgC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE/D,8DAA8D;YAC9D,MAAM,aAAa,GAAG,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACzD,MAAM,wBAAwB,GAAG,MAAM,YAAY,CAAC,MAAM,CACxD;gBACE,MAAM,EAAY,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;gBACzC,QAAQ,EAAU,kBAAkB,CAAC,QAAQ;gBAC7C,YAAY,EAAM,aAAa;gBAC/B,eAAe,EAAG,2BAA2B,CAAC,OAAO,CAAC,SAAS;gBAC/D,MAAM,EAAY,YAAY;gBAC9B,UAAU,EAAQ,YAAY;gBAC9B,IAAI,EAAc,aAAa;aAChC,CACF,CAAC;YACF,MAAM,6BAA6B,GAC/B,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,wBAAwB,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAC/H,MAAM,CAAC,6BAA6B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE5D,0CAA0C;YAC1C,MAAM,sBAAsB,GAAG,MAAM,aAAa,CAAC,MAAM,CACvD;gBACE,QAAQ,EAAG,sBAAsB,CAAC,OAAO,CAAC,QAAQ;gBAClD,MAAM,EAAK,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC;aACjC,CACF,CAAC;YACF,MAAM,2BAA2B,GAC7B,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC;YACxE,MAAM,CAAC,2BAA2B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE1D,8EAA8E;YAC9E,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC;gBAC1C,MAAM,EAAE;oBACN,QAAQ,EAAE,sBAAsB,CAAC,OAAO,CAAC,QAAQ;iBAClD;gBACD,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;aAChC,CAAC,CAAC;YACH,MAAM,eAAe,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;YAChF,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE9C,2CAA2C;YAC3C,MAAM,sBAAsB,GAAG,MAAM,aAAa,CAAC,MAAM,CACvD;gBACE,QAAQ,EAAG,yBAAyB,CAAC,OAAO,CAAC,QAAQ;gBACrD,MAAM,EAAK,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC;aACjC,CACF,CAAC;YACF,MAAM,2BAA2B,GAC7B,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC;YACxE,MAAM,CAAC,2BAA2B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE1D,mDAAmD;YACnD,MAAM,wBAAwB,GAAG,MAAM,aAAa,CAAC,MAAM,CACzD;gBACE,QAAQ,EAAG,2BAA2B,CAAC,OAAO,CAAC,QAAQ;gBACvD,MAAM,EAAK,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC;aACjC,CACF,CAAC;YACF,MAAM,6BAA6B,GAC/B,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC;YAC1E,MAAM,CAAC,6BAA6B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5D,MAAM,CAAC,6BAA6B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,qCAAqC,CAAC,CAAC;YAElH,kDAAkD;YAClD,MAAM,wBAAwB,GAAG,MAAM,aAAa,CAAC,MAAM,CACzD;gBACE,QAAQ,EAAG,2BAA2B,CAAC,OAAO,CAAC,QAAQ;gBACvD,MAAM,EAAK,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC;aACjC,CACF,CAAC;YACF,MAAM,6BAA6B,GAC/B,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC;YAC1E,MAAM,CAAC,6BAA6B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5D,MAAM,CAAC,6BAA6B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,qCAAqC,CAAC,CAAC;QACpH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;YACjF,YAAY;YACZ,8FAA8F;YAC9F,6CAA6C;YAC7C,8CAA8C;YAC9C,2CAA2C;YAC3C,8EAA8E;YAC9E,kDAAkD;YAElD,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;YAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;YAC5D,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;YAE9D,6FAA6F;YAC7F,MAAM,kBAAkB,GAAuB;gBAC7C,QAAQ,EAAI,KAAK;gBACjB,SAAS,EAAG,IAAI;gBAChB,KAAK,EAAO;oBACV,GAAG,EAAE,EAAE;iBACR;gBACD,SAAS,EAAE;oBACT,GAAG,EAAE;wBACH,QAAQ,EAAE;4BACR;gCACE,GAAG,EAAG,QAAQ;gCACd,GAAG,EAAG,CAAC,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC;6BACrD;yBACF;qBACF;iBACF;aACF,CAAC;YACF,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC;gBACtD,UAAU,EAAG,kBAAkB;gBAC/B,MAAM,EAAO,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;aACrC,CAAC,CAAC;YAEH,MAAM,uBAAuB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;YAC7F,MAAM,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEtD,6CAA6C;YAC7C,MAAM,WAAW,GAAG,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACvD,MAAM,sBAAsB,GAAG,MAAM,YAAY,CAAC,MAAM,CACtD;gBACE,MAAM,EAAS,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC;gBACpC,QAAQ,EAAO,kBAAkB,CAAC,QAAQ;gBAC1C,YAAY,EAAG,KAAK;gBACpB,MAAM,EAAS,YAAY;gBAC3B,UAAU,EAAK,YAAY;gBAC3B,IAAI,EAAW,WAAW;aAC3B,CACF,CAAC;YACF,MAAM,2BAA2B,GAC7B,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,sBAAsB,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC3H,MAAM,CAAC,2BAA2B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE1D,8CAA8C;YAC9C,MAAM,aAAa,GAAG,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACzD,MAAM,wBAAwB,GAAG,MAAM,YAAY,CAAC,MAAM,CACxD;gBACE,MAAM,EAAS,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;gBACtC,QAAQ,EAAO,kBAAkB,CAAC,QAAQ;gBAC1C,YAAY,EAAG,KAAK;gBACpB,MAAM,EAAS,YAAY;gBAC3B,UAAU,EAAK,YAAY;gBAC3B,IAAI,EAAW,aAAa;aAC7B,CACF,CAAC;YACF,MAAM,6BAA6B,GAC/B,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,wBAAwB,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAC/H,MAAM,CAAC,6BAA6B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE5D,2CAA2C;YAC3C,MAAM,sBAAsB,GAAG,MAAM,aAAa,CAAC,MAAM,CACvD;gBACE,QAAQ,EAAG,sBAAsB,CAAC,OAAO,CAAC,QAAQ;gBAClD,MAAM,EAAK,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC;aACjC,CACF,CAAC;YACF,MAAM,2BAA2B,GAC7B,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC;YACxE,MAAM,CAAC,2BAA2B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE1D,8EAA8E;YAC9E,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC;gBAC1C,MAAM,EAAE;oBACN,QAAQ,EAAE,sBAAsB,CAAC,OAAO,CAAC,QAAQ;iBAClD;gBACD,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;aAChC,CAAC,CAAC;YACH,MAAM,eAAe,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;YAChF,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE9C,kDAAkD;YAClD,MAAM,wBAAwB,GAAG,MAAM,aAAa,CAAC,MAAM,CACzD;gBACE,QAAQ,EAAG,wBAAwB,CAAC,OAAO,CAAC,QAAQ;gBACpD,MAAM,EAAK,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC;aACjC,CACF,CAAC;YACF,MAAM,6BAA6B,GAC/B,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC;YAC1E,MAAM,CAAC,6BAA6B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5D,MAAM,CAAC,6BAA6B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,qCAAqC,CAAC,CAAC;QACpH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0GAA0G,EAAE,KAAK,IAAI,EAAE;YACxH,MAAM,kBAAkB,GAAuB;gBAC7C,QAAQ,EAAI,KAAK;gBACjB,SAAS,EAAG,IAAI;gBAChB,KAAK,EAAO;oBACV,GAAG,EAAE,EAAE;iBACR;gBACD,SAAS,EAAE;oBACT,GAAG,EAAE;wBACH,QAAQ,EAAE;4BACR;gCACE,GAAG,EAAG,QAAQ;gCACd,GAAG,EAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,wCAAwC;6BACvE;yBACF;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;YAC9D,MAAM,+BAA+B,GAAG,kBAAkB,CAAC,MAAM,CAAC;gBAChE,UAAU,EAAG,kBAAkB;gBAC/B,MAAM,EAAO,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;aACrC,CAAC,CAAC;YAEH,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,kDAAkD,CAAC,CAAC;QACjI,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iHAAiH,EAAE,KAAK,IAAI,EAAE;YAC/H,MAAM,kBAAkB,GAAuB;gBAC7C,QAAQ,EAAI,YAAY;gBACxB,SAAS,EAAG,IAAI;gBAChB,KAAK,EAAO;oBACV,GAAG,EAAE,EAAE;iBACR;gBACD,SAAS,EAAE;oBACT,GAAG,EAAE;wBACH,QAAQ,EAAE;4BACR;gCACE,GAAG,EAAG,QAAQ;gCACd,GAAG,EAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,wCAAwC;6BACvE;yBACF;qBACF;iBACF;aACF,CAAC;YAEF,0HAA0H;YAC1H,MAAM,UAAU,GAAiC;gBAC/C,SAAS,EAAU,gBAAgB,CAAC,SAAS;gBAC7C,MAAM,EAAa,aAAa,CAAC,SAAS;gBAC1C,gBAAgB,EAAG,IAAI,CAAC,mBAAmB,EAAE;gBAC7C,UAAU,EAAS,kBAAkB;aACtC,CAAC;YAEF,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;YAC9D,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,mBAAmB,CAAC;gBACtD,UAAU;gBACV,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;aAChC,CAAC,CAAC;YACH,MAAM,yBAAyB,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC;YAEhE,MAAM,uBAAuB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC;YAC/F,MAAM,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtD,MAAM,CAAC,uBAAuB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,kDAAkD,CAAC,CAAC;QAC3H,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,qDAAqD,EAAE,GAAG,EAAE;YACnE,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;gBAC7F,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE9D,MAAM,wBAAwB,GAAG,MAAM,aAAa,CAAC,MAAM,CACzD;oBACE,QAAQ,EAAG,wBAAwB;oBACnC,MAAM,EAAK,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;iBACnC,CACF,CAAC;gBACF,MAAM,6BAA6B,GAC/B,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC;gBAC1E,MAAM,CAAC,6BAA6B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAE5D,MAAM,wBAAwB,GAAG,MAAM,qBAAqB,CAAC,6BAA6B,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,wBAAwB,EAAE,YAAY,CAAC,CAAC;gBAC/I,MAAM,CAAC,wBAAwB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|