| 1 | { |
| 2 | "checksum": "3123ea0c84c20d4fa869f5c157bad165e679a407a94e3bbe7c965d07d4a3f42e", |
| 3 | "tcb_info": "{\\\\n \\\\\\\"mrtd\\\\\\\": \\\\\\\"f06dfda6dce1cf904d4e2bab1dc370634cf95cefa2ceb2de2eee127c9382698090d7a4a13e14c536ec6c9c3c8fa87077\\\\\\\",\\\\n \\\\\\\"rtmr0\\\\\\\": \\\\\\\"68102e7b524af310f7b7d426ce75481e36c40f5d513a9009c046e9d37e31551f0134d954b496a3357fd61d03f07ffe96\\\\\\\",\\\\n \\\\\\\"rtmr1\\\\\\\": \\\\\\\"920eb831509b58bf83a554b5377dd5ce26d3f5182f14d33622ac24c1d343a0fa3c7bde746e55098ca30baf784dfd2556\\\\\\\",\\\\n \\\\\\\"rtmr2\\\\\\\": \\\\\\\"52b8f06ae1a998bdb66235baed57901d1e737eaf5a3ea0f4a0835e1b87ab1f0969b68ee129ddf701fb61864899a3b9f4\\\\\\\",\\\\n \\\\\\\"rtmr3\\\\\\\": \\\\\\\"c034434fe3f95cb5d83ea5be682ce6cc73de2770f74b552d858cbefdde4ffa34f0dd6f8621c02d5017e2ba9cee820c54\\\\\\\",\\\\n \\\\\\\"mr_aggregated\\\\\\\": \\\\\\\"a3ee44d5fef0ea9954948e25cea978b75acd4c0764ca1273a86fd491c757c30b\\\\\\\",\\\\n \\\\\\\"os_image_hash\\\\\\\": \\\\\\\"9b6a523983685016c0bf4a8a4ad930f86d283e5308c30e10fc0136db7c85f1fe\\\\\\\",\\\\n \\\\\\\"compose_hash\\\\\\\": \\\\\\\"769cc28332dc0b2cf1f76543d07b062f2821a264f7fec2e2cdc3f583547721d0\\\\\\\",\\\\n \\\\\\\"device_id\\\\\\\": \\\\\\\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\\\\\\\",\\\\n \\\\\\\"event_log\\\\\\\": [\\\\n {\\\\n \\\\\\\"imr\\\\\\\": 0,\\\\n \\\\\\\"event_type\\\\\\\": 2147483659,\\\\n \\\\\\\"digest\\\\\\\": \\\\\\\"0b8772e5b0b41b83e6044a68397e02f49fb47066b4fbe4917ea2c45c64f323fdacbb37948f821ebaf8bc9c938ba8a749\\\\\\\",\\\\n \\\\\\\"event\\\\\\\": \\\\\\\"\\\\\\\",\\\\n \\\\\\\"event_payload\\\\\\\": \\\\\\\"095464785461626c65000100000000000000af96bb93f2b9b84e9462e0ba745642360090800000000000\\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\\"imr\\\\\\\": 0,\\\\n \\\\\\\"event_type\\\\\\\": 2147483658,\\\\n \\\\\\\"digest\\\\\\\": \\\\\\\"344bc51c980ba621aaa00da3ed7436f7d6e549197dfe699515dfa2c6583d95e6412af21c097d473155875ffd561d6790\\\\\\\",\\\\n \\\\\\\"event\\\\\\\": \\\\\\\"\\\\\\\",\\\\n \\\\\\\"event_payload\\\\\\\": \\\\\\\"2946762858585858585858582d585858582d585858582d585858582d58585858585858585858585829000000c0ff000000000040080000000000\\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\\"imr\\\\\\\": 0,\\\\n \\\\\\\"event_type\\\\\\\": 2147483649,\\\\n \\\\\\\"digest\\\\\\\": \\\\\\\"9dc3a1f80bcec915391dcda5ffbb15e7419f77eab462bbf72b42166fb70d50325e37b36f93537a863769bcf9bedae6fb\\\\\\\",\\\\n \\\\\\\"event\\\\\\\": \\\\\\\"\\\\\\\",\\\\n \\\\\\\"event_payload\\\\\\\": \\\\\\\"61dfe48bca93d211aa0d00e098032b8c0a00000000000000000000000000000053006500630075007200650042006f006f007400\\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\\"imr\\\\\\\": 0,\\\\n \\\\\\\"event_type\\\\\\\": 2147483649,\\\\n \\\\\\\"digest\\\\\\\": \\\\\\\"6f2e3cbc14f9def86980f5f66fd85e99d63e69a73014ed8a5633ce56eca5b64b692108c56110e22acadcef58c3250f1b\\\\\\\",\\\\n \\\\\\\"event\\\\\\\": \\\\\\\"\\\\\\\",\\\\n \\\\\\\"event_payload\\\\\\\": \\\\\\\"61dfe48bca93d211aa0d00e098032b8c0200000000000000000000000000000050004b00\\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\\"imr\\\\\\\": 0,\\\\n \\\\\\\"event_type\\\\\\\": 2147483649,\\\\n \\\\\\\"digest\\\\\\\": \\\\\\\"d607c0efb41c0d757d69bca0615c3a9ac0b1db06c557d992e906c6b7dee40e0e031640c7bfd7bcd35844ef9edeadc6f9\\\\\\\",\\\\n \\\\\\\"event\\\\\\\": \\\\\\\"\\\\\\\",\\\\n \\\\\\\"event_payload\\\\\\\": \\\\\\\"61dfe48bca93d211aa0d00e098032b8c030000000000000000000000000000004b0045004b00\\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\\"imr\\\\\\\": 0,\\\\n \\\\\\\"event_type\\\\\\\": 2147483649,\\\\n \\\\\\\"digest\\\\\\\": \\\\\\\"08a74f8963b337acb6c93682f934496373679dd26af1089cb4eaf0c30cf260a12e814856385ab8843e56a9acea19e127\\\\\\\",\\\\n \\\\\\\"event\\\\\\\": \\\\\\\"\\\\\\\",\\\\n \\\\\\\"event_payload\\\\\\\": \\\\\\\"cbb219d73a3d9645a3bcdad00e67656f0200000000000000000000000000000064006200\\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\\"imr\\\\\\\": 0,\\\\n \\\\\\\"event_type\\\\\\\": 2147483649,\\\\n \\\\\\\"digest\\\\\\\": \\\\\\\"18cc6e01f0c6ea99aa23f8a280423e94ad81d96d0aeb5180504fc0f7a40cb3619dd39bd6a95ec1680a86ed6ab0f9828d\\\\\\\",\\\\n \\\\\\\"event\\\\\\\": \\\\\\\"\\\\\\\",\\\\n \\\\\\\"event_payload\\\\\\\": \\\\\\\"cbb219d73a3d9645a3bcdad00e67656f03000000000000000000000000000000640062007800\\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\\"imr\\\\\\\": 0,\\\\n \\\\\\\"event_type\\\\\\\": 4,\\\\n \\\\\\\"digest\\\\\\\": \\\\\\\"394341b7182cd227c5c6b07ef8000cdfd86136c4292b8e576573ad7ed9ae41019f5818b4b971c9effc60e1ad9f1289f0\\\\\\\",\\\\n \\\\\\\"event\\\\\\\": \\\\\\\"\\\\\\\",\\\\n \\\\\\\"event_payload\\\\\\\": \\\\\\\"00000000\\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\\"imr\\\\\\\": 0,\\\\n \\\\\\\"event_type\\\\\\\": 10,\\\\n \\\\\\\"digest\\\\\\\": \\\\\\\"39740da2ea1e7e6c69e5e6569755b2ad6d622a8a9983a2c5b32d5574659dbdc4ca8b95b1c766bd610bc5c26dcde842f8\\\\\\\",\\\\n \\\\\\\"event\\\\\\\": \\\\\\\"\\\\\\\",\\\\n \\\\\\\"event_payload\\\\\\\": \\\\\\\"414350492044415441\\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\\"imr\\\\\\\": 0,\\\\n \\\\\\\"event_type\\\\\\\": 10,\\\\n \\\\\\\"digest\\\\\\\": \\\\\\\"6385b89d2decb3de678d51faba0ff3506835915818fd3ee53a739aa678cd9c76bdd755adfa0aa714cf35a1abe062b253\\\\\\\",\\\\n \\\\\\\"event\\\\\\\": \\\\\\\"\\\\\\\",\\\\n \\\\\\\"event_payload\\\\\\\": \\\\\\\"414350492044415441\\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\\"imr\\\\\\\": 0,\\\\n \\\\\\\"event_type\\\\\\\": 10,\\\\n \\\\\\\"digest\\\\\\\": \\\\\\\"05705c3ca9d71e908d5ce70d4331b6aadce5331b9a6a546f222f017fb0e1797b951a3dac72f59cb197a0c897a201ca07\\\\\\\",\\\\n \\\\\\\"event\\\\\\\": \\\\\\\"\\\\\\\",\\\\n \\\\\\\"event_payload\\\\\\\": \\\\\\\"414350492044415441\\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\\"imr\\\\\\\": 1,\\\\n \\\\\\\"event_type\\\\\\\": 2147483651,\\\\n \\\\\\\"digest\\\\\\\": \\\\\\\"fd1ef5bf92e43dfbdc9c3ace5bdd716c60ae807319d797a69ff32296451bf08b7d2fbe39077ec0808368961f8643e06b\\\\\\\",\\\\n \\\\\\\"event\\\\\\\": \\\\\\\"\\\\\\\",\\\\n \\\\\\\"event_payload\\\\\\\": \\\\\\\"18e0fd7a00000000008485000000000000000000000000002a000000000000000403140072f728144ab61e44b8c39ebdd7f893c7040412006b00650072006e0065006c0000007fff0400\\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\\"imr\\\\\\\": 0,\\\\n \\\\\\\"event_type\\\\\\\": 2147483650,\\\\n \\\\\\\"digest\\\\\\\": \\\\\\\"1dd6f7b457ad880d840d41c961283bab688e94e4b59359ea45686581e90feccea3c624b1226113f824f315eb60ae0a7c\\\\\\\",\\\\n \\\\\\\"event\\\\\\\": \\\\\\\"\\\\\\\",\\\\n \\\\\\\"event_payload\\\\\\\": \\\\\\\"61dfe48bca93d211aa0d00e098032b8c0900000000000000020000000000000042006f006f0074004f0072006400650072000000\\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\\"imr\\\\\\\": 0,\\\\n \\\\\\\"event_type\\\\\\\": 2147483650,\\\\n \\\\\\\"digest\\\\\\\": \\\\\\\"23ada07f5261f12f34a0bd8e46760962d6b4d576a416f1fea1c64bc656b1d28eacf7047ae6e967c58fd2a98bfa74c298\\\\\\\",\\\\n \\\\\\\"event\\\\\\\": \\\\\\\"\\\\\\\",\\\\n \\\\\\\"event_payload\\\\\\\": \\\\\\\"61dfe48bca93d211aa0d00e098032b8c08000000000000003e0000000000000042006f006f0074003000300030003000090100002c0055006900410070007000000004071400c9bdb87cebf8344faaea3ee4af6516a10406140021aa2c4614760345836e8ab6f46623317fff0400\\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\\"imr\\\\\\\": 1,\\\\n \\\\\\\"event_type\\\\\\\": 2147483655,\\\\n \\\\\\\"digest\\\\\\\": \\\\\\\"77a0dab2312b4e1e57a84d865a21e5b2ee8d677a21012ada819d0a98988078d3d740f6346bfe0abaa938ca20439a8d71\\\\\\\",\\\\n \\\\\\\"event\\\\\\\": \\\\\\\"\\\\\\\",\\\\n \\\\\\\"event_payload\\\\\\\": \\\\\\\"43616c6c696e6720454649204170706c69636174696f6e2066726f6d20426f6f74204f7074696f6e\\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\\"imr\\\\\\\": 1,\\\\n \\\\\\\"event_type\\\\\\\": 4,\\\\n \\\\\\\"digest\\\\\\\": \\\\\\\"394341b7182cd227c5c6b07ef8000cdfd86136c4292b8e576573ad7ed9ae41019f5818b4b971c9effc60e1ad9f1289f0\\\\\\\",\\\\n \\\\\\\"event\\\\\\\": \\\\\\\"\\\\\\\",\\\\n \\\\\\\"event_payload\\\\\\\": \\\\\\\"00000000\\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\\"imr\\\\\\\": 2,\\\\n \\\\\\\"event_type\\\\\\\": 6,\\\\n \\\\\\\"digest\\\\\\\": \\\\\\\"94b677d83369e0f4a67d49261a63dc6c57c340646662dce791533b024af6149b52c0e1dadb6cd0653a4e175ab297ebf7\\\\\\\",\\\\n \\\\\\\"event\\\\\\\": \\\\\\\"\\\\\\\",\\\\n \\\\\\\"event_payload\\\\\\\": \\\\\\\"ed223b8f1a0000004c4f414445445f494d4147453a3a4c6f61644f7074696f6e7300\\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\\"imr\\\\\\\": 2,\\\\n \\\\\\\"event_type\\\\\\\": 6,\\\\n \\\\\\\"digest\\\\\\\": \\\\\\\"e59d1173aacb507405b875b47c457b03f3788004b786a7ee039d320c6b03220071630f3b306a8fa0af701d867f5f03e4\\\\\\\",\\\\n \\\\\\\"event\\\\\\\": \\\\\\\"\\\\\\\",\\\\n \\\\\\\"event_payload\\\\\\\": \\\\\\\"ec223b8f0d0000004c696e757820696e6974726400\\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\\"imr\\\\\\\": 1,\\\\n \\\\\\\"event_type\\\\\\\": 2147483655,\\\\n \\\\\\\"digest\\\\\\\": \\\\\\\"214b0bef1379756011344877743fdc2a5382bac6e70362d624ccf3f654407c1b4badf7d8f9295dd3dabdef65b27677e0\\\\\\\",\\\\n \\\\\\\"event\\\\\\\": \\\\\\\"\\\\\\\",\\\\n \\\\\\\"event_payload\\\\\\\": \\\\\\\"4578697420426f6f7420536572766963657320496e766f636174696f6e\\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\\"imr\\\\\\\": 1,\\\\n \\\\\\\"event_type\\\\\\\": 2147483655,\\\\n \\\\\\\"digest\\\\\\\": \\\\\\\"0a2e01c85deae718a530ad8c6d20a84009babe6c8989269e950d8cf440c6e997695e64d455c4174a652cd080f6230b74\\\\\\\",\\\\n \\\\\\\"event\\\\\\\": \\\\\\\"\\\\\\\",\\\\n \\\\\\\"event_payload\\\\\\\": \\\\\\\"4578697420426f6f742053657276696365732052657475726e656420776974682053756363657373\\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\\"imr\\\\\\\": 3,\\\\n \\\\\\\"event_type\\\\\\\": 134217729,\\\\n \\\\\\\"digest\\\\\\\": \\\\\\\"f9974020ef507068183313d0ca808e0d1ca9b2d1ad0c61f5784e7157c362c06536f5ddacdad4451693f48fcc72fff624\\\\\\\",\\\\n \\\\\\\"event\\\\\\\": \\\\\\\"system-preparing\\\\\\\",\\\\n \\\\\\\"event_payload\\\\\\\": \\\\\\\"\\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\\"imr\\\\\\\": 3,\\\\n \\\\\\\"event_type\\\\\\\": 134217729,\\\\n \\\\\\\"digest\\\\\\\": \\\\\\\"b918d7104f7f67e7aca1c6caa74594effc59f39cf87a7a0df5a2a6a5d9a8351c515fac62ec439247ee1763a8988be392\\\\\\\",\\\\n \\\\\\\"event\\\\\\\": \\\\\\\"app-id\\\\\\\",\\\\n \\\\\\\"event_payload\\\\\\\": \\\\\\\"0ad269049d3b5be13e9a9a3b2e5386c62cff990e\\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\\"imr\\\\\\\": 3,\\\\n \\\\\\\"event_type\\\\\\\": 134217729,\\\\n \\\\\\\"digest\\\\\\\": \\\\\\\"5c0569292dde09711559a0b1a670720bc8ea2ed80f3a5ce9c8a26d230b8936f06c1cab6b5bdae06a6ac8f98c21be138a\\\\\\\",\\\\n \\\\\\\"event\\\\\\\": \\\\\\\"compose-hash\\\\\\\",\\\\n \\\\\\\"event_payload\\\\\\\": \\\\\\\"769cc28332dc0b2cf1f76543d07b062f2821a264f7fec2e2cdc3f583547721d0\\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\\"imr\\\\\\\": 3,\\\\n \\\\\\\"event_type\\\\\\\": 134217729,\\\\n \\\\\\\"digest\\\\\\\": \\\\\\\"528c975661bf3fff6227d053c7f8cc9149e62c999a0126bfa0f5795cca6d9d05ad2c53961e23f05efc6ea0ae3100b083\\\\\\\",\\\\n \\\\\\\"event\\\\\\\": \\\\\\\"instance-id\\\\\\\",\\\\n \\\\\\\"event_payload\\\\\\\": \\\\\\\"ec01e27a52def22dd1f62318a4285a1778259936\\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\\"imr\\\\\\\": 3,\\\\n \\\\\\\"event_type\\\\\\\": 134217729,\\\\n \\\\\\\"digest\\\\\\\": \\\\\\\"98bd7e6bd3952720b65027fd494834045d06b4a714bf737a06b874638b3ea00ff402f7f583e3e3b05e921c8570433ac6\\\\\\\",\\\\n \\\\\\\"event\\\\\\\": \\\\\\\"boot-mr-done\\\\\\\",\\\\n \\\\\\\"event_payload\\\\\\\": \\\\\\\"\\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\\"imr\\\\\\\": 3,\\\\n \\\\\\\"event_type\\\\\\\": 134217729,\\\\n \\\\\\\"digest\\\\\\\": \\\\\\\"f90478ca858afb60d2b963a882e7508d2a88cbd348ed63a0de303bc59c82c2dfb14c3677e8ff00cc2ffeb84603e2f413\\\\\\\",\\\\n \\\\\\\"event\\\\\\\": \\\\\\\"mr-kms\\\\\\\",\\\\n \\\\\\\"event_payload\\\\\\\": \\\\\\\"7eb8f89cf5067da82fe5a8321dd6dbd08681c25165dbd0ab3cefc26bbd028855\\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\\"imr\\\\\\\": 3,\\\\n \\\\\\\"event_type\\\\\\\": 134217729,\\\\n \\\\\\\"digest\\\\\\\": \\\\\\\"2e584506c3827cfc565aa6447b67ccf15dab115c307fcc3cf2dbb4d5f68cd3955baccf20e7a216407241fd500fd0b509\\\\\\\",\\\\n \\\\\\\"event\\\\\\\": \\\\\\\"os-image-hash\\\\\\\",\\\\n \\\\\\\"event_payload\\\\\\\": \\\\\\\"9b6a523983685016c0bf4a8a4ad930f86d283e5308c30e10fc0136db7c85f1fe\\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\\"imr\\\\\\\": 3,\\\\n \\\\\\\"event_type\\\\\\\": 134217729,\\\\n \\\\\\\"digest\\\\\\\": \\\\\\\"83368b43a0fc6f824f5a9220592df85fd30e2d405ecbd253a5c6354af63e6c9b41aec557c38a38e348ab87f9ac8fc68c\\\\\\\",\\\\n \\\\\\\"event\\\\\\\": \\\\\\\"key-provider\\\\\\\",\\\\n \\\\\\\"event_payload\\\\\\\": \\\\\\\"7b226e616d65223a226b6d73222c226964223a223330353933303133303630373261383634386365336430323031303630383261383634386365336430333031303730333432303030343838343465623432636364663863353266643466313734663336326663623962626431396334356664343866316564656332643866316361323335333665633161373430323162346365653631306330373466383239346434333162326237666565326333396535333333666461663061343532326434336662313539643966227d\\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\\"imr\\\\\\\": 3,\\\\n \\\\\\\"event_type\\\\\\\": 134217729,\\\\n \\\\\\\"digest\\\\\\\": \\\\\\\"ba51104636900268b0e059fa3d266419d079d1e94aea26fb9fcbb8d764bf4c89a67ac271b8a0d1a3989945132a111fc7\\\\\\\",\\\\n \\\\\\\"event\\\\\\\": \\\\\\\"storage-fs\\\\\\\",\\\\n \\\\\\\"event_payload\\\\\\\": \\\\\\\"7a6673\\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\\"imr\\\\\\\": 3,\\\\n \\\\\\\"event_type\\\\\\\": 134217729,\\\\n \\\\\\\"digest\\\\\\\": \\\\\\\"1a76b2a80a0be71eae59f80945d876351a7a3fb8e9fd1ff1cede5734aa84ea11fd72b4edfbb6f04e5a85edd114c751bd\\\\\\\",\\\\n \\\\\\\"event\\\\\\\": \\\\\\\"system-ready\\\\\\\",\\\\n \\\\\\\"event_payload\\\\\\\": \\\\\\\"\\\\\\\"\\\\n }\\\\n ],\\\\n \\\\\\\"app_compose\\\\\\\": \\\\\\\"{\\\\\\\\\\\\\\\"allowed_envs\\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\\"DOLLA_NEAR_PRIVATE_KEYS\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"DOLLA_NEAR_ACCOUNT_IDS\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"RANDOMNESS_NEAR_PRIVATE_KEYS\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"RANDOMNESS_NEAR_ACCOUNT_IDS\\\\\\\\\\\\\\\"],\\\\\\\\\\\\\\\"docker_compose_file\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"version: \\\\\\'3.8\\\\\\'\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\nservices:\\\\\\\\\\\\\\\\n tee-worker:\\\\\\\\\\\\\\\\n image: unifathys/tee-workers:latest@sha256:e359dc05206cee7046a9f2475f6be145767de8f0902435046f08089d8ab0e6b2\\\\\\\\\\\\\\\\n platform: linux/amd64\\\\\\\\\\\\\\\\n ports:\\\\\\\\\\\\\\\\n - \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"3000:3000\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n - \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"3001:3001\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n environment:\\\\\\\\\\\\\\\\n # === Shared ===\\\\\\\\\\\\\\\\n - SERVICE_ENV=stg\\\\\\\\\\\\\\\\n - BALANCE_THRESHOLD=0.1\\\\\\\\\\\\\\\\n - SLACK_WEBHOOK_URL=https://hooks.slack.com/services/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\\\\\\\\\\\\\\\\n - SLACK_CHANNEL=monitor-dolla-dev\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n # === Dolla Service ===\\\\\\\\\\\\\\\\n - DOLLA_APP_PORT=3000\\\\\\\\\\\\\\\\n - DOLLA_NEAR_NETWORK_ID=mainnet\\\\\\\\\\\\\\\\n - DOLLA_GAME_TEE_CONTRACT=dolla_tee_stg.near\\\\\\\\\\\\\\\\n - DOLLA_GAME_CONTRACT=dollastg.near\\\\\\\\\\\\\\\\n - DOLLA_GAME_API_HOST=https://test-api.dolla.market\\\\\\\\\\\\\\\\n - DOLLA_GAME_WS_HOST=wss://test-ws.dolla.market\\\\\\\\\\\\\\\\n - DOLLA_GAME_API_KEY=3rqqsugmYUVLfgW8jwcLmT90f0gqJRkL\\\\\\\\\\\\\\\\n - DOLLA_NEAR_ACCOUNT_IDS=${DOLLA_NEAR_ACCOUNT_IDS}\\\\\\\\\\\\\\\\n - DOLLA_NEAR_PRIVATE_KEYS=${DOLLA_NEAR_PRIVATE_KEYS}\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n # === Randomness Service ===\\\\\\\\\\\\\\\\n - RANDOMNESS_APP_PORT=3001\\\\\\\\\\\\\\\\n - RANDOMNESS_NEAR_NETWORK_ID=mainnet\\\\\\\\\\\\\\\\n - RANDOMNESS_TEE_CONTRACT=randx.near\\\\\\\\\\\\\\\\n - RANDOMNESS_CONTRACT=randx.near\\\\\\\\\\\\\\\\n - RANDOMNESS_API_HOST=https://api.rhea.finance\\\\\\\\\\\\\\\\n - RANDOMNESS_POLLING_INTERVAL=5000\\\\\\\\\\\\\\\\n - RANDOMNESS_NEAR_ACCOUNT_IDS=${RANDOMNESS_NEAR_ACCOUNT_IDS}\\\\\\\\\\\\\\\\n - RANDOMNESS_NEAR_PRIVATE_KEYS=${RANDOMNESS_NEAR_PRIVATE_KEYS}\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n restart: unless-stopped\\\\\\\\\\\\\\\\n deploy:\\\\\\\\\\\\\\\\n resources:\\\\\\\\\\\\\\\\n limits:\\\\\\\\\\\\\\\\n cpus: \\\\\\'1\\\\\\'\\\\\\\\\\\\\\\\n memory: 2G\\\\\\\\\\\\\\\\n reservations:\\\\\\\\\\\\\\\\n cpus: \\\\\\'1\\\\\\'\\\\\\\\\\\\\\\\n memory: 2G\\\\\\\\\\\\\\\\n volumes:\\\\\\\\\\\\\\\\n - /var/run/tappd.sock:/var/run/tappd.sock\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"features\\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\\"kms\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"tproxy-net\\\\\\\\\\\\\\\"],\\\\\\\\\\\\\\\"gateway_enabled\\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\\"kms_enabled\\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\\"local_key_provider_enabled\\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\\"manifest_version\\\\\\\\\\\\\\\":2,\\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"no_instance_id\\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\\"pre_launch_script\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"#!/bin/bash\\\\\\\\\\\\\\\\necho \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"----------------------------------------------\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\necho \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Running Phala Cloud Pre-Launch Script v0.0.14\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\necho \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"----------------------------------------------\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\nset -e\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n# Function: notify host\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\nnotify_host() {\\\\\\\\\\\\\\\\n if command -v dstack-util >/dev/null 2>&1; then\\\\\\\\\\\\\\\\n dstack-util notify-host -e \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$1\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" -d \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$2\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n else\\\\\\\\\\\\\\\\n tdxctl notify-host -e \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$1\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" -d \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$2\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n fi\\\\\\\\\\\\\\\\n}\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\nnotify_host_hoot_info() {\\\\\\\\\\\\\\\\n notify_host \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"boot.progress\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$1\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n}\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\nnotify_host_hoot_error() {\\\\\\\\\\\\\\\\n notify_host \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"boot.error\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$1\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n}\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n# Function: Perform Docker cleanup\\\\\\\\\\\\\\\\nperform_cleanup() {\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Pruning unused images\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n docker image prune -af\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Pruning unused volumes\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n docker volume prune -f\\\\\\\\\\\\\\\\n notify_host_hoot_info \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"docker cleanup completed\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n}\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n# Function: Check Docker login status without exposing credentials\\\\\\\\\\\\\\\\ncheck_docker_login() {\\\\\\\\\\\\\\\\n local registry=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$1\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n # When registry is specified, check auth entry for that registry in Docker config\\\\\\\\\\\\\\\\n if [[ -n \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$registry\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" ]]; then\\\\\\\\\\\\\\\\n local docker_config_path=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"${DOCKER_CONFIG:-$HOME/.docker}/config.json\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n if [[ -f \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$docker_config_path\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" ]] && grep -q \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$registry\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$docker_config_path\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"; then\\\\\\\\\\\\\\\\n return 0\\\\\\\\\\\\\\\\n else\\\\\\\\\\\\\\\\n return 1\\\\\\\\\\\\\\\\n fi\\\\\\\\\\\\\\\\n fi\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n # Fallback check when no explicit registry is provided\\\\\\\\\\\\\\\\n if docker info 2>/dev/null | grep -q \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Username\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"; then\\\\\\\\\\\\\\\\n return 0\\\\\\\\\\\\\\\\n else\\\\\\\\\\\\\\\\n return 1\\\\\\\\\\\\\\\\n fi\\\\\\\\\\\\\\\\n}\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n# Main logic starts here\\\\\\\\\\\\\\\\necho \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Starting login process...\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n# Check if Docker credentials exist\\\\\\\\\\\\\\\\nif [[ -n \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_DOCKER_USERNAME\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" && -n \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_DOCKER_PASSWORD\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" ]]; then\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Docker credentials found\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n DOCKER_REGISTRY_TARGET=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"${DSTACK_DOCKER_REGISTRY:-docker.io}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Target Docker registry: $DOCKER_REGISTRY_TARGET\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n # Check if already logged in\\\\\\\\\\\\\\\\n if check_docker_login \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_DOCKER_REGISTRY\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"; then\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Already logged in to Docker registry: $DOCKER_REGISTRY_TARGET\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n else\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Logging in to Docker registry: $DOCKER_REGISTRY_TARGET\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n # Login without exposing password in process list\\\\\\\\\\\\\\\\n if [[ -n \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_DOCKER_REGISTRY\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" ]]; then\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_DOCKER_PASSWORD\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" | docker login -u \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_DOCKER_USERNAME\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" --password-stdin \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_DOCKER_REGISTRY\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n else\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_DOCKER_PASSWORD\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" | docker login -u \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_DOCKER_USERNAME\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" --password-stdin\\\\\\\\\\\\\\\\n fi\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n if [ $? -eq 0 ]; then\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Docker login successful: $DOCKER_REGISTRY_TARGET\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n else\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Docker login failed: $DOCKER_REGISTRY_TARGET\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n notify_host_hoot_error \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"docker login failed\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n exit 1\\\\\\\\\\\\\\\\n fi\\\\\\\\\\\\\\\\n fi\\\\\\\\\\\\\\\\n# Check if AWS ECR credentials exist\\\\\\\\\\\\\\\\nelif [[ -n \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_AWS_ACCESS_KEY_ID\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" && -n \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_AWS_SECRET_ACCESS_KEY\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" && -n \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_AWS_REGION\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" && -n \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_AWS_ECR_REGISTRY\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" ]]; then\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"AWS ECR credentials found\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n # Check if AWS CLI is installed\\\\\\\\\\\\\\\\n if [ ! -f \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"./aws/dist/aws\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" ]; then\\\\\\\\\\\\\\\\n notify_host_hoot_info \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"awscli not installed, installing...\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"AWS CLI not installed, installing...\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n curl \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.24.14.zip\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" -o \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"awscliv2.zip\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"6ff031a26df7daebbfa3ccddc9af1450 awscliv2.zip\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" | md5sum -c\\\\\\\\\\\\\\\\n if [ $? -ne 0 ]; then\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"MD5 checksum failed\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n notify_host_hoot_error \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"awscli install failed\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n exit 1\\\\\\\\\\\\\\\\n fi\\\\\\\\\\\\\\\\n unzip awscliv2.zip &> /dev/null\\\\\\\\\\\\\\\\n else\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"AWS CLI is already installed: ./aws/dist/aws\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n fi\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n # Set AWS credentials as environment variables\\\\\\\\\\\\\\\\n export AWS_ACCESS_KEY_ID=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_AWS_ACCESS_KEY_ID\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n export AWS_SECRET_ACCESS_KEY=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_AWS_SECRET_ACCESS_KEY\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n export AWS_DEFAULT_REGION=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_AWS_REGION\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n # Set session token if provided (for temporary credentials)\\\\\\\\\\\\\\\\n if [[ -n \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_AWS_SESSION_TOKEN\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" ]]; then\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"AWS session token found, using temporary credentials\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n export AWS_SESSION_TOKEN=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_AWS_SESSION_TOKEN\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n fi\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n # Test AWS credentials before attempting ECR login\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Testing AWS credentials...\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n if ! ./aws/dist/aws sts get-caller-identity &> /dev/null; then\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"AWS credentials test failed\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n # For session token credentials, this might be expected if they\\\\\\'re expired\\\\\\\\\\\\\\\\n # Log warning but don\\\\\\'t fail startup\\\\\\\\\\\\\\\\n if [[ -n \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_AWS_SESSION_TOKEN\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" ]]; then\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Warning: AWS temporary credentials may have expired, continuing startup\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n notify_host_hoot_info \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"AWS temporary credentials may have expired\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n else\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"AWS credentials test failed\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n notify_host_hoot_error \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Invalid AWS credentials\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n exit 1\\\\\\\\\\\\\\\\n fi\\\\\\\\\\\\\\\\n else\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Logging in to AWS ECR...\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n ./aws/dist/aws ecr get-login-password --region $DSTACK_AWS_REGION | docker login --username AWS --password-stdin \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_AWS_ECR_REGISTRY\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n if [ $? -eq 0 ]; then\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"AWS ECR login successful\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n notify_host_hoot_info \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"AWS ECR login successful\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n else\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"AWS ECR login failed\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n # For session token credentials, don\\\\\\'t fail startup if login fails\\\\\\\\\\\\\\\\n if [[ -n \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_AWS_SESSION_TOKEN\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" ]]; then\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Warning: AWS ECR login failed with temporary credentials, continuing startup\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n notify_host_hoot_info \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"AWS ECR login failed with temporary credentials\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n else\\\\\\\\\\\\\\\\n notify_host_hoot_error \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"AWS ECR login failed\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n exit 1\\\\\\\\\\\\\\\\n fi\\\\\\\\\\\\\\\\n fi\\\\\\\\\\\\\\\\n fi\\\\\\\\\\\\\\\\nfi\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\nperform_cleanup\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n#\\\\\\\\\\\\\\\\n# GHCR image pull access verification (pure HTTP, no docker daemon)\\\\\\\\\\\\\\\\n#\\\\\\\\\\\\\\\\nif [[ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DOCKER_REGISTRY_TARGET\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" == \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"ghcr.io\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" && -n \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_DOCKER_USERNAME\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" && -n \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_DOCKER_PASSWORD\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" ]]; then\\\\\\\\\\\\\\\\n COMPOSE_IMAGES=$(grep \\\\\\'image:\\\\\\' /dstack/docker-compose.yaml 2>/dev/null | awk \\\\\\'{print $2}\\\\\\' | tr -d \\\\\\'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" || true)\\\\\\\\\\\\\\\\n for img in $COMPOSE_IMAGES; do\\\\\\\\\\\\\\\\n [[ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$img\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" != ghcr.io/* ]] && continue\\\\\\\\\\\\\\\\n repo=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"${img#ghcr.io/}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"; repo=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"${repo%%:*}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n tag=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"${img##*:}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"; [[ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$tag\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" == \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$img\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" || \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$tag\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" == \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$repo\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" ]] && tag=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"latest\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Verifying GHCR pull access: $img\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n token=$(curl -sf -u \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_DOCKER_USERNAME:$DSTACK_DOCKER_PASSWORD\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"https://ghcr.io/token?service=ghcr.io&scope=repository:${repo}:pull\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" | jq -r \\\\\\'.token // empty\\\\\\' || true)\\\\\\\\\\\\\\\\n if [[ -z \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$token\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" ]]; then\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"ERROR: GHCR token exchange failed for $img\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n notify_host_hoot_error \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"GHCR token exchange failed: $img\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n exit 1\\\\\\\\\\\\\\\\n fi\\\\\\\\\\\\\\\\n http_code=$(curl -s -o /dev/null -w \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"%{http_code}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" -H \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Authorization: Bearer $token\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" -H \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Accept: application/vnd.oci.image.index.v1+json,application/vnd.oci.image.manifest.v1+json,application/vnd.docker.distribution.manifest.list.v2+json,application/vnd.docker.distribution.manifest.v2+json\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"https://ghcr.io/v2/${repo}/manifests/${tag}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\\\\\\\\\\n if [[ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$http_code\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" != \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"200\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" ]]; then\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"ERROR: GHCR pull access denied for $img (HTTP $http_code)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n notify_host_hoot_error \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"GHCR pull access denied: $img (HTTP $http_code)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n exit 1\\\\\\\\\\\\\\\\n fi\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"GHCR pull access OK: $img\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n done\\\\\\\\\\\\\\\\nfi\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n#\\\\\\\\\\\\\\\\n# Set root password.\\\\\\\\\\\\\\\\n#\\\\\\\\\\\\\\\\necho \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Setting root password..\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n# Check if password files are writable\\\\\\\\\\\\\\\\nPASSWD_WRITABLE=true\\\\\\\\\\\\\\\\nif [ ! -w /etc/passwd ]; then\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Warning: /etc/passwd is read-only\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n PASSWD_WRITABLE=false\\\\\\\\\\\\\\\\nfi\\\\\\\\\\\\\\\\nif [ ! -w /etc/shadow ]; then\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Warning: /etc/shadow is read-only\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n PASSWD_WRITABLE=false\\\\\\\\\\\\\\\\nfi\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\nif [ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$PASSWD_WRITABLE\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" = \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"false\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" ]; then\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Skipping password setup due to read-only file system\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\nelse\\\\\\\\\\\\\\\\n # Check if chpasswd is available\\\\\\\\\\\\\\\\n if command -v chpasswd >/dev/null 2>&1; then\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Using chpasswd method\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n if [ -n \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_ROOT_PASSWORD\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" ]; then\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Setting root password from user..\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"root:$DSTACK_ROOT_PASSWORD\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" | chpasswd\\\\\\\\\\\\\\\\n unset DSTACK_ROOT_PASSWORD\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Root password set/updated from DSTACK_ROOT_PASSWORD\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n elif [ -z \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$(grep \\\\\\'^root:\\\\\\' /etc/shadow 2>/dev/null | cut -d: -f2)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" ]; then\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Setting random root password..\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n DSTACK_ROOT_PASSWORD=$(\\\\\\\\\\\\\\\\n LC_ALL=C tr -dc \\\\\\'A-Za-z0-9\\\\\\' < /dev/urandom | dd bs=1 count=32 2>/dev/null\\\\\\\\\\\\\\\\n )\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"root:$DSTACK_ROOT_PASSWORD\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" | chpasswd\\\\\\\\\\\\\\\\n unset DSTACK_ROOT_PASSWORD\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Root password set (random auto-init)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n else\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Root password already set; no changes.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n fi\\\\\\\\\\\\\\\\n else\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Using passwd method\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n if [ -n \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_ROOT_PASSWORD\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" ]; then\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Setting root password from user..\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_ROOT_PASSWORD\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" | passwd --stdin root 2>/dev/null || printf \\\\\\'%s\\\\\\\\\\\\\\\\n%s\\\\\\\\\\\\\\\\n\\\\\\' \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_ROOT_PASSWORD\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_ROOT_PASSWORD\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" | passwd root\\\\\\\\\\\\\\\\n unset DSTACK_ROOT_PASSWORD\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Root password set/updated from DSTACK_ROOT_PASSWORD\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n elif [ -z \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$(grep \\\\\\'^root:\\\\\\' /etc/shadow 2>/dev/null | cut -d: -f2)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" ]; then\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Setting random root password..\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n DSTACK_ROOT_PASSWORD=$(\\\\\\\\\\\\\\\\n LC_ALL=C tr -dc \\\\\\'A-Za-z0-9\\\\\\' < /dev/urandom | dd bs=1 count=32 2>/dev/null\\\\\\\\\\\\\\\\n )\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_ROOT_PASSWORD\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" | passwd --stdin root 2>/dev/null || printf \\\\\\'%s\\\\\\\\\\\\\\\\n%s\\\\\\\\\\\\\\\\n\\\\\\' \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_ROOT_PASSWORD\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_ROOT_PASSWORD\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" | passwd root\\\\\\\\\\\\\\\\n unset DSTACK_ROOT_PASSWORD\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Root password set (random auto-init)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n else\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Root password already set; no changes.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n fi\\\\\\\\\\\\\\\\n fi\\\\\\\\\\\\\\\\nfi\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n#\\\\\\\\\\\\\\\\n# Set SSH authorized keys\\\\\\\\\\\\\\\\n#\\\\\\\\\\\\\\\\nif mkdir -p /home/root/.ssh 2>/dev/null; then\\\\\\\\\\\\\\\\n if [[ -n \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_ROOT_PUBLIC_KEY\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" ]]; then\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_ROOT_PUBLIC_KEY\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" > /home/root/.ssh/authorized_keys\\\\\\\\\\\\\\\\n unset $DSTACK_ROOT_PUBLIC_KEY\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Root public key set\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n fi\\\\\\\\\\\\\\\\n if [[ -n \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_AUTHORIZED_KEYS\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" ]]; then\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_AUTHORIZED_KEYS\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" > /home/root/.ssh/authorized_keys\\\\\\\\\\\\\\\\n unset $DSTACK_AUTHORIZED_KEYS\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Root authorized_keys set\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n fi\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n if [[ -f /dstack/user_config ]] && jq empty /dstack/user_config 2>/dev/null; then\\\\\\\\\\\\\\\\n if [[ $(jq \\\\\\'has(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"ssh_authorized_keys\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\' /dstack/user_config 2>/dev/null) == \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"true\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" ]]; then\\\\\\\\\\\\\\\\n jq -j \\\\\\'.ssh_authorized_keys\\\\\\' /dstack/user_config >> /home/root/.ssh/authorized_keys\\\\\\\\\\\\\\\\n # Remove duplicates if there are multiple keys\\\\\\\\\\\\\\\\n if [[ $(cat /home/root/.ssh/authorized_keys | wc -l) -gt 1 ]]; then\\\\\\\\\\\\\\\\n sort -u /home/root/.ssh/authorized_keys > /home/root/.ssh/authorized_keys.tmp\\\\\\\\\\\\\\\\n mv /home/root/.ssh/authorized_keys.tmp /home/root/.ssh/authorized_keys\\\\\\\\\\\\\\\\n fi\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Set root authorized_keys from user preferences, total\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" $(cat /home/root/.ssh/authorized_keys | wc -l) \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"keys\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n fi\\\\\\\\\\\\\\\\n fi\\\\\\\\\\\\\\\\nelse\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Warning: Cannot create /home/root/.ssh directory (read-only file system?)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Skipping SSH key setup\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\nfi\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\nif [[ -S /var/run/dstack.sock ]]; then\\\\\\\\\\\\\\\\n export DSTACK_APP_ID=$(curl -s --unix-socket /var/run/dstack.sock http://dstack/Info | jq -j .app_id)\\\\\\\\\\\\\\\\nelif [[ -S /var/run/tappd.sock ]]; then\\\\\\\\\\\\\\\\n export DSTACK_APP_ID=$(curl -s --unix-socket /var/run/tappd.sock http://dstack/prpc/Tappd.Info | jq -j .app_id)\\\\\\\\\\\\\\\\nfi\\\\\\\\\\\\\\\\n# Check if DSTACK_GATEWAY_DOMAIN is not set, try to get it from user_config or app-compose.json\\\\\\\\\\\\\\\\n# Priority: user_config > app-compose.json\\\\\\\\\\\\\\\\nif [[ -z \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_GATEWAY_DOMAIN\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" ]]; then\\\\\\\\\\\\\\\\n # First try to get from /dstack/user_config if it exists and is valid JSON\\\\\\\\\\\\\\\\n if [[ -f /dstack/user_config ]] && jq empty /dstack/user_config 2>/dev/null; then\\\\\\\\\\\\\\\\n if [[ $(jq \\\\\\'has(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"default_gateway_domain\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\' /dstack/user_config 2>/dev/null) == \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"true\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" ]]; then\\\\\\\\\\\\\\\\n export DSTACK_GATEWAY_DOMAIN=$(jq -j \\\\\\'.default_gateway_domain\\\\\\' /dstack/user_config)\\\\\\\\\\\\\\\\n fi\\\\\\\\\\\\\\\\n fi\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\n # If still not set, try to get from app-compose.json\\\\\\\\\\\\\\\\n if [[ -z \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_GATEWAY_DOMAIN\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" ]] && [[ $(jq \\\\\\'has(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"default_gateway_domain\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\' app-compose.json) == \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"true\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" ]]; then\\\\\\\\\\\\\\\\n export DSTACK_GATEWAY_DOMAIN=$(jq -j \\\\\\'.default_gateway_domain\\\\\\' app-compose.json)\\\\\\\\\\\\\\\\n fi\\\\\\\\\\\\\\\\nfi\\\\\\\\\\\\\\\\nif [[ -n \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_GATEWAY_DOMAIN\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" ]]; then\\\\\\\\\\\\\\\\n export DSTACK_APP_DOMAIN=$DSTACK_APP_ID\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\".\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$DSTACK_GATEWAY_DOMAIN\\\\\\\\\\\\\\\\nfi\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\necho \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"----------------------------------------------\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\necho \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Script execution completed\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\necho \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"----------------------------------------------\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"public_logs\\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\\"public_sysinfo\\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\\"public_tcbinfo\\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\\"runner\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"docker-compose\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"secure_time\\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\\"storage_fs\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"zfs\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"tproxy_enabled\\\\\\\\\\\\\\\":true}\\\\\\\"\\\\n}", |
| 4 | "quote_hex": "040002008100000000000000939a7233f79c4ca9940a0db3957f0607cca1e818c0d9e8b17007c295c31004ec000000000b0105000000000000000000000000007bf063280e94fb051f5dd7b1fc59ce9aac42bb961df8d44b709c9b0ff87a7b4df648657ba6d1189589feab1d5a3c9a9d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000702000000000000f06dfda6dce1cf904d4e2bab1dc370634cf95cefa2ceb2de2eee127c9382698090d7a4a13e14c536ec6c9c3c8fa8707701769cc28332dc0b2cf1f76543d07b062f2821a264f7fec2e2cdc3f583547721d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000068102e7b524af310f7b7d426ce75481e36c40f5d513a9009c046e9d37e31551f0134d954b496a3357fd61d03f07ffe96920eb831509b58bf83a554b5377dd5ce26d3f5182f14d33622ac24c1d343a0fa3c7bde746e55098ca30baf784dfd255652b8f06ae1a998bdb66235baed57901d1e737eaf5a3ea0f4a0835e1b87ab1f0969b68ee129ddf701fb61864899a3b9f4c034434fe3f95cb5d83ea5be682ce6cc73de2770f74b552d858cbefdde4ffa34f0dd6f8621c02d5017e2ba9cee820c54000000000000000000000000656432353531393a4337644a464e7770336a614d4e6e314b766371564a76747a7141327a62314778786141434474566476724177d0100000171a2ab09b29bd571d576187f815e449d0b391b117d392d0ef38099493ce36e46b8d9a0043a3f98bfce5044a33d2f159d1606d5c84e4423c438550f426b083ec9e04d3f419f6fefccd570008a9383a56b10805f400827f1f860274c13986219ec834641cc39badf83be6c98dfb021cbfeff7775b3ab1594f5db195b3fc509acb06004a10000005050a0a05ff00020000000000000000000000000000000000000000000000000000000000000000000000000000000015000000000000000700000000000000e5a3a7b5d830c2953b98534c6c59a3a34fdc34e933f7f5898f0a85cf08846bca0000000000000000000000000000000000000000000000000000000000000000dc9e2a7c6f948f17474e34a7fc43ed030f7c1563f1babddf6340c82e0e54a8c500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3181e37daaa4153e416d13b28484d8abe8ce7b7a41faf7ee280baf0f304f8400000000000000000000000000000000000000000000000000000000000000000bf3488717c816eaa086353d10d202fadd1e6b065fd1e339176bab4381f0999d8eb8aac2bebd283bd1560d1279b3a96a2c0925197636cb0086306176339779f7a2000000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f0500620e00002d2d2d2d2d424547494e2043455254494649434154452d2d2d2d2d0a4d494945386a4343424a69674177494241674956414b685252415768304973374f6c613841354433364879736641726c4d416f4743437147534d343942414d430a4d484178496a416742674e5642414d4d47556c756447567349464e4857434251513073675547786864475a76636d306751304578476a415942674e5642416f4d0a45556c756447567349454e76636e4276636d4630615739754d5251774567594456515148444174545957353059534244624746795954454c4d416b47413155450a4341774351304578437a414a42674e5642415954416c56544d423458445449324d4445794f5441314e5441314d566f5844544d7a4d4445794f5441314e5441310a4d566f77634445694d434147413155454177775a535735305a5777675530645949464244537942445a584a3061575a70593246305a5445614d426747413155450a43677752535735305a577767513239796347397959585270623234784644415342674e564241634d43314e68626e526849454e7359584a684d517377435159440a5651514944414a445154454c4d416b474131554542684d4356564d775754415442676371686b6a4f5051494242676771686b6a4f50514d4242774e434141546f0a487278654b587841794544784e343576302b7a48676250446a426a6f434c786b37544443306a50374754617a64504478333542364832416830614a7149796e440a34672b4263746e7068346b3353414d5a673057586f3449444454434341776b77487759445652306a42426777466f41556c5739647a62306234656c4153636e550a3944504f4156634c336c5177617759445652306642475177596a42676f46366758495a616148523063484d364c79396863476b7564484a316333526c5a484e6c0a636e5a705932567a4c6d6c75644756734c6d4e766253397a5a3367765932567964476c6d61574e6864476c76626939324e4339775932746a636d772f593245390a6347786864475a76636d306d5a57356a62325270626d63395a4756794d4230474131556444675157424253543746304969413438394565484573627a6a307a310a32662f4f677a414f42674e56485138424166384542414d434273417744415944565230544151482f4241497741444343416a6f4743537147534962345451454e0a41515343416973776767496e4d42344743697147534962345451454e4151454545474c565145444c6e66774975784d41623664657a6c59776767466b42676f710a686b69472b453042445145434d4949425644415142677371686b69472b45304244514543415149424254415142677371686b69472b45304244514543416749420a4254415142677371686b69472b4530424451454341774942416a415142677371686b69472b4530424451454342414942416a415142677371686b69472b4530420a44514543425149424254415242677371686b69472b4530424451454342674943415038774541594c4b6f5a496876684e4151304241676343415141774541594c0a4b6f5a496876684e4151304241676743415149774541594c4b6f5a496876684e4151304241676b43415141774541594c4b6f5a496876684e4151304241676f430a415141774541594c4b6f5a496876684e4151304241677343415141774541594c4b6f5a496876684e4151304241677743415141774541594c4b6f5a496876684e0a4151304241673043415141774541594c4b6f5a496876684e4151304241673443415141774541594c4b6f5a496876684e4151304241673843415141774541594c0a4b6f5a496876684e4151304241684143415141774541594c4b6f5a496876684e4151304241684543415130774877594c4b6f5a496876684e41513042416849450a45415546416749462f7741434141414141414141414141774541594b4b6f5a496876684e4151304241775143414141774641594b4b6f5a496876684e415130420a42415147494b4276414141414d41384743697147534962345451454e4151554b415145774867594b4b6f5a496876684e415130424267515155437844723245370a4b73656b434549476569682b3044424542676f71686b69472b453042445145484d4459774541594c4b6f5a496876684e4151304242774542416638774541594c0a4b6f5a496876684e4151304242774942416638774541594c4b6f5a496876684e4151304242774d4241663877436759494b6f5a497a6a304541774944534141770a525149684149434348435551515532364178732b4e6a6e79324836666668456d2f66473645756a4a684a58595a596a4241694254554835416e5071396e4b74380a7833687a4d397557532b58737877792b556c6941586e4d663030645345513d3d0a2d2d2d2d2d454e442043455254494649434154452d2d2d2d2d0a2d2d2d2d2d424547494e2043455254494649434154452d2d2d2d2d0a4d4949436c6a4343416a32674177494241674956414a567658633239472b487051456e4a3150517a7a674658433935554d416f4743437147534d343942414d430a4d476778476a415942674e5642414d4d45556c756447567349464e48574342536232393049454e424d526f77474159445651514b4442464a626e526c624342440a62334a7762334a6864476c76626a45554d424947413155454277774c553246756447456751327868636d4578437a414a42674e564241674d416b4e424d5173770a435159445651514745774a56557a4165467730784f4441314d6a45784d4455774d5442614677307a4d7a41314d6a45784d4455774d5442614d484178496a41670a42674e5642414d4d47556c756447567349464e4857434251513073675547786864475a76636d306751304578476a415942674e5642416f4d45556c75644756730a49454e76636e4276636d4630615739754d5251774567594456515148444174545957353059534244624746795954454c4d416b474131554543417743513045780a437a414a42674e5642415954416c56544d466b77457759484b6f5a497a6a3043415159494b6f5a497a6a304441516344516741454e53422f377432316c58534f0a3243757a7078773734654a423732457944476757357258437478327456544c7136684b6b367a2b5569525a436e71523770734f766771466553786c6d546c4a6c0a65546d693257597a33714f42757a43427544416642674e5648534d4547444157674251695a517a575770303069664f44744a5653763141624f536347724442530a42674e5648523845537a424a4d45656752614244686b466f64485277637a6f764c324e6c636e52705a6d6c6a5958526c63793530636e567a6447566b633256790a646d6c6a5a584d75615735305a577775593239744c306c756447567355306459556d397664454e424c6d526c636a416442674e5648513445466751556c5739640a7a62306234656c4153636e553944504f4156634c336c517744675944565230504151482f42415144416745474d42494741315564457745422f7751494d4159420a4166384341514177436759494b6f5a497a6a30454177494452774177524149675873566b6930772b6936565947573355462f32327561586530594a446a3155650a6e412b546a44316169356343494359623153416d4435786b66545670766f34556f79695359787244574c6d5552344349394e4b7966504e2b0a2d2d2d2d2d454e442043455254494649434154452d2d2d2d2d0a2d2d2d2d2d424547494e2043455254494649434154452d2d2d2d2d0a4d4949436a7a4343416a53674177494241674955496d554d316c71644e496e7a6737535655723951477a6b6e42717777436759494b6f5a497a6a3045417749770a614445614d4267474131554541777752535735305a5777675530645949464a766233516751304578476a415942674e5642416f4d45556c756447567349454e760a636e4276636d4630615739754d5251774567594456515148444174545957353059534244624746795954454c4d416b47413155454341774351304578437a414a0a42674e5642415954416c56544d423458445445344d4455794d5445774e4455784d466f58445451354d54497a4d54497a4e546b314f566f77614445614d4267470a4131554541777752535735305a5777675530645949464a766233516751304578476a415942674e5642416f4d45556c756447567349454e76636e4276636d46300a615739754d5251774567594456515148444174545957353059534244624746795954454c4d416b47413155454341774351304578437a414a42674e56424159540a416c56544d466b77457759484b6f5a497a6a3043415159494b6f5a497a6a3044415163445167414543366e45774d4449595a4f6a2f69505773437a61454b69370a314f694f534c52466857476a626e42564a66566e6b59347533496a6b4459594c304d784f346d717379596a6c42616c54565978465032734a424b357a6c4b4f420a757a43427544416642674e5648534d4547444157674251695a517a575770303069664f44744a5653763141624f5363477244425342674e5648523845537a424a0a4d45656752614244686b466f64485277637a6f764c324e6c636e52705a6d6c6a5958526c63793530636e567a6447566b63325679646d6c6a5a584d75615735300a5a577775593239744c306c756447567355306459556d397664454e424c6d526c636a416442674e564851344546675155496d554d316c71644e496e7a673753560a55723951477a6b6e4271777744675944565230504151482f42415144416745474d42494741315564457745422f7751494d4159424166384341514577436759490a4b6f5a497a6a3045417749445351417752674968414f572f35516b522b533943695344634e6f6f774c7550524c735747662f59693747535839344267775477670a41694541344a306c72486f4d732b586f356f2f7358364f39515778485241765a55474f6452513763767152586171493d0a2d2d2d2d2d454e442043455254494649434154452d2d2d2d2d0a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", |
| 5 | "collateral": "{\\\\\\\"pck_crl_issuer_chain\\\\\\\":\\\\\\\"-----BEGIN CERTIFICATE-----\\\\\\\\nMIICljCCAj2gAwIBAgIVAJVvXc29G+HpQEnJ1PQzzgFXC95UMAoGCCqGSM49BAMC\\\\\\\\nMGgxGjAYBgNVBAMMEUludGVsIFNHWCBSb290IENBMRowGAYDVQQKDBFJbnRlbCBD\\\\\\\\nb3Jwb3JhdGlvbjEUMBIGA1UEBwwLU2FudGEgQ2xhcmExCzAJBgNVBAgMAkNBMQsw\\\\\\\\nCQYDVQQGEwJVUzAeFw0xODA1MjExMDUwMTBaFw0zMzA1MjExMDUwMTBaMHAxIjAg\\\\\\\\nBgNVBAMMGUludGVsIFNHWCBQQ0sgUGxhdGZvcm0gQ0ExGjAYBgNVBAoMEUludGVs\\\\\\\\nIENvcnBvcmF0aW9uMRQwEgYDVQQHDAtTYW50YSBDbGFyYTELMAkGA1UECAwCQ0Ex\\\\\\\\nCzAJBgNVBAYTAlVTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAENSB/7t21lXSO\\\\\\\\n2Cuzpxw74eJB72EyDGgW5rXCtx2tVTLq6hKk6z+UiRZCnqR7psOvgqFeSxlmTlJl\\\\\\\\neTmi2WYz3qOBuzCBuDAfBgNVHSMEGDAWgBQiZQzWWp00ifODtJVSv1AbOScGrDBS\\\\\\\\nBgNVHR8ESzBJMEegRaBDhkFodHRwczovL2NlcnRpZmljYXRlcy50cnVzdGVkc2Vy\\\\\\\\ndmljZXMuaW50ZWwuY29tL0ludGVsU0dYUm9vdENBLmRlcjAdBgNVHQ4EFgQUlW9d\\\\\\\\nzb0b4elAScnU9DPOAVcL3lQwDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQIMAYB\\\\\\\\nAf8CAQAwCgYIKoZIzj0EAwIDRwAwRAIgXsVki0w+i6VYGW3UF/22uaXe0YJDj1Ue\\\\\\\\nnA+TjD1ai5cCICYb1SAmD5xkfTVpvo4UoyiSYxrDWLmUR4CI9NKyfPN+\\\\\\\\n-----END CERTIFICATE-----\\\\\\\\n-----BEGIN CERTIFICATE-----\\\\\\\\nMIICjzCCAjSgAwIBAgIUImUM1lqdNInzg7SVUr9QGzknBqwwCgYIKoZIzj0EAwIw\\\\\\\\naDEaMBgGA1UEAwwRSW50ZWwgU0dYIFJvb3QgQ0ExGjAYBgNVBAoMEUludGVsIENv\\\\\\\\ncnBvcmF0aW9uMRQwEgYDVQQHDAtTYW50YSBDbGFyYTELMAkGA1UECAwCQ0ExCzAJ\\\\\\\\nBgNVBAYTAlVTMB4XDTE4MDUyMTEwNDUxMFoXDTQ5MTIzMTIzNTk1OVowaDEaMBgG\\\\\\\\nA1UEAwwRSW50ZWwgU0dYIFJvb3QgQ0ExGjAYBgNVBAoMEUludGVsIENvcnBvcmF0\\\\\\\\naW9uMRQwEgYDVQQHDAtTYW50YSBDbGFyYTELMAkGA1UECAwCQ0ExCzAJBgNVBAYT\\\\\\\\nAlVTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEC6nEwMDIYZOj/iPWsCzaEKi7\\\\\\\\n1OiOSLRFhWGjbnBVJfVnkY4u3IjkDYYL0MxO4mqsyYjlBalTVYxFP2sJBK5zlKOB\\\\\\\\nuzCBuDAfBgNVHSMEGDAWgBQiZQzWWp00ifODtJVSv1AbOScGrDBSBgNVHR8ESzBJ\\\\\\\\nMEegRaBDhkFodHRwczovL2NlcnRpZmljYXRlcy50cnVzdGVkc2VydmljZXMuaW50\\\\\\\\nZWwuY29tL0ludGVsU0dYUm9vdENBLmRlcjAdBgNVHQ4EFgQUImUM1lqdNInzg7SV\\\\\\\\nUr9QGzknBqwwDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQEwCgYI\\\\\\\\nKoZIzj0EAwIDSQAwRgIhAOW/5QkR+S9CiSDcNoowLuPRLsWGf/Yi7GSX94BgwTwg\\\\\\\\nAiEA4J0lrHoMs+Xo5o/sX6O9QWxHRAvZUGOdRQ7cvqRXaqI=\\\\\\\\n-----END CERTIFICATE-----\\\\\\\\n\\\\\\\",\\\\\\\"root_ca_crl\\\\\\\":\\\\\\\"308201223081c8020101300a06082a8648ce3d0403023068311a301806035504030c11496e74656c2053475820526f6f74204341311a3018060355040a0c11496e74656c20436f72706f726174696f6e3114301206035504070c0b53616e746120436c617261310b300906035504080c024341310b3009060355040613025553170d3236303232363133303430305a170d3237303232363133303430305aa02f302d300a0603551d140403020101301f0603551d2304183016801422650cd65a9d3489f383b49552bf501b392706ac300a06082a8648ce3d0403020349003046022100c252ed59c795ba2b11496a4a99758bb8cbc380a1ebbb0865be69f2c4b38bb6400221009a7d8b03602a9ee2d62322d759166d6933d24d9dfa01ab3fde4520691d715bd7\\\\\\\",\\\\\\\"pck_crl\\\\\\\":\\\\\\\"30820d1730820cbd020101300a06082a8648ce3d04030230703122302006035504030c19496e74656c205347582050434b20506c6174666f726d204341311a3018060355040a0c11496e74656c20436f72706f726174696f6e3114301206035504070c0b53616e746120436c617261310b300906035504080c024341310b3009060355040613025553170d3236303331323037353733395a170d3236303431313037353733395a30820be9303302146fc34e5023e728923435d61aa4b83c618166ad35170d3236303331323037353733395a300c300a0603551d1504030a01013034021500efae6e9715fca13b87e333e8261ed6d990a926ad170d3236303331323037353733395a300c300a0603551d1504030a01013034021500fd608648629cba73078b4d492f4b3ea741ad08cd170d3236303331323037353733395a300c300a0603551d1504030a010130340215008af924184e1d5afddd73c3d63a12f5e8b5737e56170d3236303331323037353733395a300c300a0603551d1504030a01013034021500b1257978cfa9ccdd0759abf8c5ca72fae3a78a9b170d3236303331323037353733395a300c300a0603551d1504030a01013033021474fea614a972be0e2843f2059835811ed872f9b3170d3236303331323037353733395a300c300a0603551d1504030a01013034021500f9c4ef56b3ab48d577e108baedf4bf88014214b9170d3236303331323037353733395a300c300a0603551d1504030a010130330214071de0778f9e5fc4f2878f30d6b07c9a30e6b30b170d3236303331323037353733395a300c300a0603551d1504030a01013034021500cde2424f972cea94ff239937f4d80c25029dd60b170d3236303331323037353733395a300c300a0603551d1504030a0101303302146c3319e5109b64507d3cf1132ce00349ef527319170d3236303331323037353733395a300c300a0603551d1504030a01013034021500df08d756b66a7497f43b5bb58ada04d3f4f7a937170d3236303331323037353733395a300c300a0603551d1504030a01013033021428af485b6cf67e409a39d5cb5aee4598f7a8fa7b170d3236303331323037353733395a300c300a0603551d1504030a01013034021500fb8b2daec092cada8aa9bc4ff2f1c20d0346668c170d3236303331323037353733395a300c300a0603551d1504030a01013034021500cd4850ac52bdcc69a6a6f058c8bc57bbd0b5f864170d3236303331323037353733395a300c300a0603551d1504030a01013034021500994dd3666f5275fb805f95dd02bd50cb2679d8ad170d3236303331323037353733395a300c300a0603551d1504030a0101303302140702136900252274d9035eedf5457462fad0ef4c170d3236303331323037353733395a300c300a0603551d1504030a01013033021461f2bf73e39b4e04aa27d801bd73d24319b5bf80170d3236303331323037353733395a300c300a0603551d1504030a0101303302143992be851b96902eff38959e6c2eff1b0651a4b5170d3236303331323037353733395a300c300a0603551d1504030a0101303302140fda43a00b68ea79b7c2deaeac0b498bdfb2af90170d3236303331323037353733395a300c300a0603551d1504030a010130330214639f139a5040fdcff191e8a4fb1bf086ed603971170d3236303331323037353733395a300c300a0603551d1504030a01013034021500959d533f9249dc1e513544cdc830bf19b7f1f301170d3236303331323037353733395a300c300a0603551d1504030a0101303302147ae37748a9f912f4c63ba7ab07c593ce1d1d1181170d3236303331323037353733395a300c300a0603551d1504030a01013033021413884b33269938c195aa170fca75da177538df0b170d3236303331323037353733395a300c300a0603551d1504030a0101303402150085d3c9381b77a7e04d119c9e5ad6749ff3ffab87170d3236303331323037353733395a300c300a0603551d1504030a0101303402150093887ca4411e7a923bd1fed2819b2949f201b5b4170d3236303331323037353733395a300c300a0603551d1504030a0101303302142498dc6283930996fd8bf23a37acbe26a3bed457170d3236303331323037353733395a300c300a0603551d1504030a010130340215008a66f1a749488667689cc3903ac54c662b712e73170d3236303331323037353733395a300c300a0603551d1504030a01013034021500afc13610bdd36cb7985d106481a880d3a01fda07170d3236303331323037353733395a300c300a0603551d1504030a01013034021500efe04b2c33d036aac96ca673bf1e9a47b64d5cbb170d3236303331323037353733395a300c300a0603551d1504030a0101303402150083d9ac8d8bb509d1c6c809ad712e8430559ed7f3170d3236303331323037353733395a300c300a0603551d1504030a0101303302147931fd50b5071c1bbfc5b7b6ded8b45b9d8b8529170d3236303331323037353733395a300c300a0603551d1504030a0101303302141fa20e2970bde5d57f7b8ddf8339484e1f1d0823170d3236303331323037353733395a300c300a0603551d1504030a0101303302141e87b2c3b32d8d23e411cef34197b95af0c8adf5170d3236303331323037353733395a300c300a0603551d1504030a010130340215009afd2ee90a473550a167d996911437c7502d1f09170d3236303331323037353733395a300c300a0603551d1504030a0101303302144481b0f11728a13b696d3ea9c770a0b15ec58dda170d3236303331323037353733395a300c300a0603551d1504030a01013034021500a7859f57982ef0e67d37bc8ef2ef5ac835ff1aa9170d3236303331323037353733395a300c300a0603551d1504030a010130340215009d67753b81e47090aea763fbec4c4549bcdb9933170d3236303331323037353733395a300c300a0603551d1504030a01013033021434bfbb7a1d9c568147e118b614f7b76ed3ef68df170d3236303331323037353733395a300c300a0603551d1504030a0101303302142c3cc6fe9279db1516d5ce39f2a898cda5a175e1170d3236303331323037353733395a300c300a0603551d1504030a010130330214717948687509234be979e4b7dce6f31bef64b68c170d3236303331323037353733395a300c300a0603551d1504030a010130340215009d76ef2c39c136e8658b6e7396b1d7445a27631f170d3236303331323037353733395a300c300a0603551d1504030a01013034021500c3e025fca995f36f59b48467939e3e34e6361a6f170d3236303331323037353733395a300c300a0603551d1504030a010130340215008c5f6b3257da05b17429e2e61ba965d67330606a170d3236303331323037353733395a300c300a0603551d1504030a01013034021500a17c51722ec1e0c3278fe8bdf052059cbec4e648170d3236303331323037353733395a300c300a0603551d1504030a01013033021411c943b866fa04944e3057e5a67146596475a023170d3236303331323037353733395a300c300a0603551d1504030a01013034021500be6913785406155454a28885a515b3da5767d3a9170d3236303331323037353733395a300c300a0603551d1504030a0101303302140ac5ec91bd934c07b9ea41625e9cc09681002eb0170d3236303331323037353733395a300c300a0603551d1504030a0101303302146d51a0eabc1f9a1e9ddd5b36bdda1631ae6c182a170d3236303331323037353733395a300c300a0603551d1504030a01013034021500a52c5d71c4166b4fc0ded8b679951e5ee9193de5170d3236303331323037353733395a300c300a0603551d1504030a010130330214249779aedd85fcac93c8853516be5428c26b3bf8170d3236303331323037353733395a300c300a0603551d1504030a01013033021434ba4fd76bde5309210cf1dd1ffb494c638a9157170d3236303331323037353733395a300c300a0603551d1504030a010130330214043e04919daae13443248395094d2a2eacfc76fe170d3236303331323037353733395a300c300a0603551d1504030a01013033021447fc577d2d094cbdf270715ed6848a93855ad34b170d3236303331323037353733395a300c300a0603551d1504030a0101303302147d62a2f5e6f386e469653fffff045d0a8178e8e7170d3236303331323037353733395a300c300a0603551d1504030a01013034021500c4ed45fe026bb6a47eaec35ea80b7ef407ce062c170d3236303331323037353733395a300c300a0603551d1504030a01013034021500cf9831077a3ca4f1a2c56867bf55b18eccbeffd8170d3236303331323037353733395a300c300a0603551d1504030a0101303302146c2b81d7ea2e436720ce29f1d0b1ccb7a218600f170d3236303331323037353733395a300c300a0603551d1504030a0101a02f302d300a0603551d140403020101301f0603551d23041830168014956f5dcdbd1be1e94049c9d4f433ce01570bde54300a06082a8648ce3d040302034800304502201bc07718c98bdb25e459a883db73275fed9e341c93f4e7da5c16b9254fcebd6a022100f74d3c2fe5fdbd17c7a82fb63662d6b73760195224e52f77a4a175fb9fb34fe2\\\\\\\",\\\\\\\"tcb_info_issuer_chain\\\\\\\":\\\\\\\"-----BEGIN CERTIFICATE-----\\\\\\\\nMIICjTCCAjKgAwIBAgIUfjiC1ftVKUpASY5FhAPpFJG99FUwCgYIKoZIzj0EAwIw\\\\\\\\naDEaMBgGA1UEAwwRSW50ZWwgU0dYIFJvb3QgQ0ExGjAYBgNVBAoMEUludGVsIENv\\\\\\\\ncnBvcmF0aW9uMRQwEgYDVQQHDAtTYW50YSBDbGFyYTELMAkGA1UECAwCQ0ExCzAJ\\\\\\\\nBgNVBAYTAlVTMB4XDTI1MDUwNjA5MjUwMFoXDTMyMDUwNjA5MjUwMFowbDEeMBwG\\\\\\\\nA1UEAwwVSW50ZWwgU0dYIFRDQiBTaWduaW5nMRowGAYDVQQKDBFJbnRlbCBDb3Jw\\\\\\\\nb3JhdGlvbjEUMBIGA1UEBwwLU2FudGEgQ2xhcmExCzAJBgNVBAgMAkNBMQswCQYD\\\\\\\\nVQQGEwJVUzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABENFG8xzydWRfK92bmGv\\\\\\\\nP+mAh91PEyV7Jh6FGJd5ndE9aBH7R3E4A7ubrlh/zN3C4xvpoouGlirMba+W2lju\\\\\\\\nypajgbUwgbIwHwYDVR0jBBgwFoAUImUM1lqdNInzg7SVUr9QGzknBqwwUgYDVR0f\\\\\\\\nBEswSTBHoEWgQ4ZBaHR0cHM6Ly9jZXJ0aWZpY2F0ZXMudHJ1c3RlZHNlcnZpY2Vz\\\\\\\\nLmludGVsLmNvbS9JbnRlbFNHWFJvb3RDQS5kZXIwHQYDVR0OBBYEFH44gtX7VSlK\\\\\\\\nQEmORYQD6RSRvfRVMA4GA1UdDwEB/wQEAwIGwDAMBgNVHRMBAf8EAjAAMAoGCCqG\\\\\\\\nSM49BAMCA0kAMEYCIQDdmmRuAo3qCO8TC1IoJMITAoOEw4dlgEBHzSz1TuMSTAIh\\\\\\\\nAKVTqOkt59+co0O3m3hC+v5Fb00FjYWcgeu3EijOULo5\\\\\\\\n-----END CERTIFICATE-----\\\\\\\\n-----BEGIN CERTIFICATE-----\\\\\\\\nMIICjzCCAjSgAwIBAgIUImUM1lqdNInzg7SVUr9QGzknBqwwCgYIKoZIzj0EAwIw\\\\\\\\naDEaMBgGA1UEAwwRSW50ZWwgU0dYIFJvb3QgQ0ExGjAYBgNVBAoMEUludGVsIENv\\\\\\\\ncnBvcmF0aW9uMRQwEgYDVQQHDAtTYW50YSBDbGFyYTELMAkGA1UECAwCQ0ExCzAJ\\\\\\\\nBgNVBAYTAlVTMB4XDTE4MDUyMTEwNDUxMFoXDTQ5MTIzMTIzNTk1OVowaDEaMBgG\\\\\\\\nA1UEAwwRSW50ZWwgU0dYIFJvb3QgQ0ExGjAYBgNVBAoMEUludGVsIENvcnBvcmF0\\\\\\\\naW9uMRQwEgYDVQQHDAtTYW50YSBDbGFyYTELMAkGA1UECAwCQ0ExCzAJBgNVBAYT\\\\\\\\nAlVTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEC6nEwMDIYZOj/iPWsCzaEKi7\\\\\\\\n1OiOSLRFhWGjbnBVJfVnkY4u3IjkDYYL0MxO4mqsyYjlBalTVYxFP2sJBK5zlKOB\\\\\\\\nuzCBuDAfBgNVHSMEGDAWgBQiZQzWWp00ifODtJVSv1AbOScGrDBSBgNVHR8ESzBJ\\\\\\\\nMEegRaBDhkFodHRwczovL2NlcnRpZmljYXRlcy50cnVzdGVkc2VydmljZXMuaW50\\\\\\\\nZWwuY29tL0ludGVsU0dYUm9vdENBLmRlcjAdBgNVHQ4EFgQUImUM1lqdNInzg7SV\\\\\\\\nUr9QGzknBqwwDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQEwCgYI\\\\\\\\nKoZIzj0EAwIDSQAwRgIhAOW/5QkR+S9CiSDcNoowLuPRLsWGf/Yi7GSX94BgwTwg\\\\\\\\nAiEA4J0lrHoMs+Xo5o/sX6O9QWxHRAvZUGOdRQ7cvqRXaqI=\\\\\\\\n-----END CERTIFICATE-----\\\\\\\\n\\\\\\\",\\\\\\\"tcb_info\\\\\\\":\\\\\\\"{\\\\\\\\\\\\\\\"id\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"TDX\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"version\\\\\\\\\\\\\\\":3,\\\\\\\\\\\\\\\"issueDate\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"2026-03-12T08:31:49Z\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"nextUpdate\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"2026-04-11T08:31:49Z\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"fmspc\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"20a06f000000\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"pceId\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"0000\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"tcbType\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\"tcbEvaluationDataNumber\\\\\\\\\\\\\\\":18,\\\\\\\\\\\\\\\"tdxModule\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"mrsigner\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"attributes\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"0000000000000000\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"attributesMask\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"FFFFFFFFFFFFFFFF\\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\\"tdxModuleIdentities\\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\\"id\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"TDX_03\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"mrsigner\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"attributes\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"0000000000000000\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"attributesMask\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"FFFFFFFFFFFFFFFF\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"tcbLevels\\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\\"tcb\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"isvsvn\\\\\\\\\\\\\\\":3},\\\\\\\\\\\\\\\"tcbDate\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"2024-11-13T00:00:00Z\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"tcbStatus\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"UpToDate\\\\\\\\\\\\\\\"}]},{\\\\\\\\\\\\\\\"id\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"TDX_01\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"mrsigner\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"attributes\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"0000000000000000\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"attributesMask\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"FFFFFFFFFFFFFFFF\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"tcbLevels\\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\\"tcb\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"isvsvn\\\\\\\\\\\\\\\":6},\\\\\\\\\\\\\\\"tcbDate\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"2024-11-13T00:00:00Z\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"tcbStatus\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"UpToDate\\\\\\\\\\\\\\\"},{\\\\\\\\\\\\\\\"tcb\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"isvsvn\\\\\\\\\\\\\\\":4},\\\\\\\\\\\\\\\"tcbDate\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"2024-03-13T00:00:00Z\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"tcbStatus\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"OutOfDate\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"advisoryIDs\\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\\"INTEL-SA-01036\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"INTEL-SA-01099\\\\\\\\\\\\\\\"]},{\\\\\\\\\\\\\\\"tcb\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"isvsvn\\\\\\\\\\\\\\\":2},\\\\\\\\\\\\\\\"tcbDate\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"2023-08-09T00:00:00Z\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"tcbStatus\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"OutOfDate\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"advisoryIDs\\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\\"INTEL-SA-01036\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"INTEL-SA-01099\\\\\\\\\\\\\\\"]}]}],\\\\\\\\\\\\\\\"tcbLevels\\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\\"tcb\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"sgxtcbcomponents\\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":2,\\\\\\\\\\\\\\\"category\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"BIOS\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"Early Microcode Update\\\\\\\\\\\\\\\"},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":2,\\\\\\\\\\\\\\\"category\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"OS/VMM\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"SGX Late Microcode Update\\\\\\\\\\\\\\\"},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":2,\\\\\\\\\\\\\\\"category\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"OS/VMM\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"TXT SINIT\\\\\\\\\\\\\\\"},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":2,\\\\\\\\\\\\\\\"category\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"BIOS\\\\\\\\\\\\\\\"},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":2,\\\\\\\\\\\\\\\"category\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"BIOS\\\\\\\\\\\\\\\"},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":255,\\\\\\\\\\\\\\\"category\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"BIOS\\\\\\\\\\\\\\\"},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":2,\\\\\\\\\\\\\\\"category\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"OS/VMM\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"SEAMLDR ACM\\\\\\\\\\\\\\\"},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0}],\\\\\\\\\\\\\\\"pcesvn\\\\\\\\\\\\\\\":13,\\\\\\\\\\\\\\\"tdxtcbcomponents\\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":5,\\\\\\\\\\\\\\\"category\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"OS/VMM\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"TDX Module\\\\\\\\\\\\\\\"},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\"category\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"OS/VMM\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"TDX Module\\\\\\\\\\\\\\\"},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":2,\\\\\\\\\\\\\\\"category\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"OS/VMM\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"TDX Late Microcode Update\\\\\\\\\\\\\\\"},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0}]},\\\\\\\\\\\\\\\"tcbDate\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"2024-11-13T00:00:00Z\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"tcbStatus\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"UpToDate\\\\\\\\\\\\\\\"},{\\\\\\\\\\\\\\\"tcb\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"sgxtcbcomponents\\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":2,\\\\\\\\\\\\\\\"category\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"BIOS\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"Early Microcode Update\\\\\\\\\\\\\\\"},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":2,\\\\\\\\\\\\\\\"category\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"OS/VMM\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"SGX Late Microcode Update\\\\\\\\\\\\\\\"},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":2,\\\\\\\\\\\\\\\"category\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"OS/VMM\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"TXT SINIT\\\\\\\\\\\\\\\"},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":2,\\\\\\\\\\\\\\\"category\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"BIOS\\\\\\\\\\\\\\\"},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":2,\\\\\\\\\\\\\\\"category\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"BIOS\\\\\\\\\\\\\\\"},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":255,\\\\\\\\\\\\\\\"category\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"BIOS\\\\\\\\\\\\\\\"},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":2,\\\\\\\\\\\\\\\"category\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"OS/VMM\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"SEAMLDR ACM\\\\\\\\\\\\\\\"},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0}],\\\\\\\\\\\\\\\"pcesvn\\\\\\\\\\\\\\\":5,\\\\\\\\\\\\\\\"tdxtcbcomponents\\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":5,\\\\\\\\\\\\\\\"category\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"OS/VMM\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"TDX Module\\\\\\\\\\\\\\\"},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\"category\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"OS/VMM\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"TDX Module\\\\\\\\\\\\\\\"},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":2,\\\\\\\\\\\\\\\"category\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"OS/VMM\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"TDX Late Microcode Update\\\\\\\\\\\\\\\"},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\\"svn\\\\\\\\\\\\\\\":0}]},\\\\\\\\\\\\\\\"tcbDate\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"2018-01-04T00:00:00Z\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"tcbStatus\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"OutOfDate\\\\\\\\\\\\\\\"}]}\\\\\\\",\\\\\\\"tcb_info_signature\\\\\\\":\\\\\\\"3640d9de805cc053a531257c028abe926f80cb95c51d37a7fae7857e60faad51b34336d67614e065d4a2d74f6eade49ac7ee3853258acb99e6368bccf349c0ba\\\\\\\",\\\\\\\"qe_identity_issuer_chain\\\\\\\":\\\\\\\"-----BEGIN CERTIFICATE-----\\\\\\\\nMIICjTCCAjKgAwIBAgIUfjiC1ftVKUpASY5FhAPpFJG99FUwCgYIKoZIzj0EAwIw\\\\\\\\naDEaMBgGA1UEAwwRSW50ZWwgU0dYIFJvb3QgQ0ExGjAYBgNVBAoMEUludGVsIENv\\\\\\\\ncnBvcmF0aW9uMRQwEgYDVQQHDAtTYW50YSBDbGFyYTELMAkGA1UECAwCQ0ExCzAJ\\\\\\\\nBgNVBAYTAlVTMB4XDTI1MDUwNjA5MjUwMFoXDTMyMDUwNjA5MjUwMFowbDEeMBwG\\\\\\\\nA1UEAwwVSW50ZWwgU0dYIFRDQiBTaWduaW5nMRowGAYDVQQKDBFJbnRlbCBDb3Jw\\\\\\\\nb3JhdGlvbjEUMBIGA1UEBwwLU2FudGEgQ2xhcmExCzAJBgNVBAgMAkNBMQswCQYD\\\\\\\\nVQQGEwJVUzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABENFG8xzydWRfK92bmGv\\\\\\\\nP+mAh91PEyV7Jh6FGJd5ndE9aBH7R3E4A7ubrlh/zN3C4xvpoouGlirMba+W2lju\\\\\\\\nypajgbUwgbIwHwYDVR0jBBgwFoAUImUM1lqdNInzg7SVUr9QGzknBqwwUgYDVR0f\\\\\\\\nBEswSTBHoEWgQ4ZBaHR0cHM6Ly9jZXJ0aWZpY2F0ZXMudHJ1c3RlZHNlcnZpY2Vz\\\\\\\\nLmludGVsLmNvbS9JbnRlbFNHWFJvb3RDQS5kZXIwHQYDVR0OBBYEFH44gtX7VSlK\\\\\\\\nQEmORYQD6RSRvfRVMA4GA1UdDwEB/wQEAwIGwDAMBgNVHRMBAf8EAjAAMAoGCCqG\\\\\\\\nSM49BAMCA0kAMEYCIQDdmmRuAo3qCO8TC1IoJMITAoOEw4dlgEBHzSz1TuMSTAIh\\\\\\\\nAKVTqOkt59+co0O3m3hC+v5Fb00FjYWcgeu3EijOULo5\\\\\\\\n-----END CERTIFICATE-----\\\\\\\\n-----BEGIN CERTIFICATE-----\\\\\\\\nMIICjzCCAjSgAwIBAgIUImUM1lqdNInzg7SVUr9QGzknBqwwCgYIKoZIzj0EAwIw\\\\\\\\naDEaMBgGA1UEAwwRSW50ZWwgU0dYIFJvb3QgQ0ExGjAYBgNVBAoMEUludGVsIENv\\\\\\\\ncnBvcmF0aW9uMRQwEgYDVQQHDAtTYW50YSBDbGFyYTELMAkGA1UECAwCQ0ExCzAJ\\\\\\\\nBgNVBAYTAlVTMB4XDTE4MDUyMTEwNDUxMFoXDTQ5MTIzMTIzNTk1OVowaDEaMBgG\\\\\\\\nA1UEAwwRSW50ZWwgU0dYIFJvb3QgQ0ExGjAYBgNVBAoMEUludGVsIENvcnBvcmF0\\\\\\\\naW9uMRQwEgYDVQQHDAtTYW50YSBDbGFyYTELMAkGA1UECAwCQ0ExCzAJBgNVBAYT\\\\\\\\nAlVTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEC6nEwMDIYZOj/iPWsCzaEKi7\\\\\\\\n1OiOSLRFhWGjbnBVJfVnkY4u3IjkDYYL0MxO4mqsyYjlBalTVYxFP2sJBK5zlKOB\\\\\\\\nuzCBuDAfBgNVHSMEGDAWgBQiZQzWWp00ifODtJVSv1AbOScGrDBSBgNVHR8ESzBJ\\\\\\\\nMEegRaBDhkFodHRwczovL2NlcnRpZmljYXRlcy50cnVzdGVkc2VydmljZXMuaW50\\\\\\\\nZWwuY29tL0ludGVsU0dYUm9vdENBLmRlcjAdBgNVHQ4EFgQUImUM1lqdNInzg7SV\\\\\\\\nUr9QGzknBqwwDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQEwCgYI\\\\\\\\nKoZIzj0EAwIDSQAwRgIhAOW/5QkR+S9CiSDcNoowLuPRLsWGf/Yi7GSX94BgwTwg\\\\\\\\nAiEA4J0lrHoMs+Xo5o/sX6O9QWxHRAvZUGOdRQ7cvqRXaqI=\\\\\\\\n-----END CERTIFICATE-----\\\\\\\\n\\\\\\\",\\\\\\\"qe_identity\\\\\\\":\\\\\\\"{\\\\\\\\\\\\\\\"id\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"TD_QE\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"version\\\\\\\\\\\\\\\":2,\\\\\\\\\\\\\\\"issueDate\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"2026-03-12T08:14:23Z\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"nextUpdate\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"2026-04-11T08:14:23Z\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"tcbEvaluationDataNumber\\\\\\\\\\\\\\\":18,\\\\\\\\\\\\\\\"miscselect\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"00000000\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"miscselectMask\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"FFFFFFFF\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"attributes\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"11000000000000000000000000000000\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"attributesMask\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"FBFFFFFFFFFFFFFF0000000000000000\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"mrsigner\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"DC9E2A7C6F948F17474E34A7FC43ED030F7C1563F1BABDDF6340C82E0E54A8C5\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"isvprodid\\\\\\\\\\\\\\\":2,\\\\\\\\\\\\\\\"tcbLevels\\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\\"tcb\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"isvsvn\\\\\\\\\\\\\\\":4},\\\\\\\\\\\\\\\"tcbDate\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"2024-11-13T00:00:00Z\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"tcbStatus\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"UpToDate\\\\\\\\\\\\\\\"}]}\\\\\\\",\\\\\\\"qe_identity_signature\\\\\\\":\\\\\\\"b3930d8e588708187469bef36ea4d548b90d6b82c80b5146806228682e2ae2c69235b457a7764f5258ca56486914e4317e7251f9446a8736c0a7580ca3b0cc53\\\\\\\"}" |
| 6 | } |
| 1 | 8GHm2MvvJxshCyDoj1D5PAUrWFGLWbFZfYHhFKjQPc9J |
| 1 | verify result: VerifiedReport { status: "UpToDate", advisory_ids: [], report: TD10(TDReport10 { tee_tcb_svn: [11, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], mr_seam: [123, 240, 99, 40, 14, 148, 251, 5, 31, 93, 215, 177, 252, 89, 206, 154, 172, 66, 187, 150, 29, 248, 212, 75, 112, 156, 155, 15, 248, 122, 123, 77, 246, 72, 101, 123, 166, 209, 24, 149, 137, 254, 171, 29, 90, 60, 154, 157], mr_signer_seam: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], seam_attributes: [0, 0, 0, 0, 0, 0, 0, 0], td_attributes: [0, 0, 0, 16, 0, 0, 0, 0], xfam: [7, 2, 0, 0, 0, 0, 0, 0], mr_td: [240, 109, 253, 166, 220, 225, 207, 144, 77, 78, 43, 171, 29, 195, 112, 99, 76, 249, 92, 239, 162, 206, 178, 222, 46, 238, 18, 124, 147, 130, 105, 128, 144, 215, 164, 161, 62, 20, 197, 54, 236, 108, 156, 60, 143, 168, 112, 119], mr_config_id: [1, 118, 156, 194, 131, 50, 220, 11, 44, 241, 247, 101, 67, 208, 123, 6, 47, 40, 33, 162, 100, 247, 254, 194, 226, 205, 195, 245, 131, 84, 119, 33, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], mr_owner: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], mr_owner_config: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], rt_mr0: [104, 16, 46, 123, 82, 74, 243, 16, 247, 183, 212, 38, 206, 117, 72, 30, 54, 196, 15, 93, 81, 58, 144, 9, 192, 70, 233, 211, 126, 49, 85, 31, 1, 52, 217, 84, 180, 150, 163, 53, 127, 214, 29, 3, 240, 127, 254, 150], rt_mr1: [146, 14, 184, 49, 80, 155, 88, 191, 131, 165, 84, 181, 55, 125, 213, 206, 38, 211, 245, 24, 47, 20, 211, 54, 34, 172, 36, 193, 211, 67, 160, 250, 60, 123, 222, 116, 110, 85, 9, 140, 163, 11, 175, 120, 77, 253, 37, 86], rt_mr2: [82, 184, 240, 106, 225, 169, 152, 189, 182, 98, 53, 186, 237, 87, 144, 29, 30, 115, 126, 175, 90, 62, 160, 244, 160, 131, 94, 27, 135, 171, 31, 9, 105, 182, 142, 225, 41, 221, 247, 1, 251, 97, 134, 72, 153, 163, 185, 244], rt_mr3: [192, 52, 67, 79, 227, 249, 92, 181, 216, 62, 165, 190, 104, 44, 230, 204, 115, 222, 39, 112, 247, 75, 85, 45, 133, 140, 190, 253, 222, 79, 250, 52, 240, 221, 111, 134, 33, 192, 45, 80, 23, 226, 186, 156, 238, 130, 12, 84], report_data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 100, 50, 53, 53, 49, 57, 58, 67, 55, 100, 74, 70, 78, 119, 112, 51, 106, 97, 77, 78, 110, 49, 75, 118, 99, 113, 86, 74, 118, 116, 122, 113, 65, 50, 122, 98, 49, 71, 120, 120, 97, 65, 67, 68, 116, 86, 100, 118, 114, 65, 119] }), ppid: [98, 213, 64, 64, 203, 157, 252, 8, 187, 19, 0, 111, 167, 94, 206, 86], qe_status: TcbStatusWithAdvisory { status: UpToDate, advisory_ids: [] }, platform_status: TcbStatusWithAdvisory { status: UpToDate, advisory_ids: [] } } |
| 1 | { |
| 2 | "standard": "dolla_tee", |
| 3 | "version": "1.0.0", |
| 4 | "event": "worker_registered", |
| 5 | "data": [ |
| 6 | { |
| 7 | "worker_id": "a52315269699533e763466a5793c44a5ac086999eca26a58a8e50a037a6be1ec", |
| 8 | "public_key": "ed25519:C7dJFNwp3jaMNn1KvcqVJvtzqA2zb1GxxaACDtVdvrAw", |
| 9 | "codehash": "e359dc05206cee7046a9f2475f6be145767de8f0902435046f08089d8ab0e6b2", |
| 10 | "checksum": "3123ea0c84c20d4fa869f5c157bad165e679a407a94e3bbe7c965d07d4a3f42e" |
| 11 | } |
| 12 | ] |
| 13 | } |
| 1 | { |
| 2 | "worker": { |
| 3 | "checksum": "3123ea0c84c20d4fa869f5c157bad165e679a407a94e3bbe7c965d07d4a3f42e", |
| 4 | "codehash": "e359dc05206cee7046a9f2475f6be145767de8f0902435046f08089d8ab0e6b2", |
| 5 | "public_key": "ed25519:C7dJFNwp3jaMNn1KvcqVJvtzqA2zb1GxxaACDtVdvrAw" |
| 6 | }, |
| 7 | "worker_id": "a52315269699533e763466a5793c44a5ac086999eca26a58a8e50a037a6be1ec" |
| 8 | } |
| 1 | |
| 1 | |
| 1 | { |
| 2 | "deposit": "9675779856679400000000" |
| 3 | } |
| 1 | |
| 1 | |