From c58ffe428c231ef09197bf95389ac62d3f18ce95 Mon Sep 17 00:00:00 2001 From: John Kjell Date: Mon, 10 Jun 2024 17:08:18 -0500 Subject: [PATCH 1/5] Add new docs and schema for new SBOM attestor. Also includes schema update to git attestor Signed-off-by: John Kjell --- docs/attestors/git.json | 4 +- docs/attestors/git.md | 3 ++ docs/attestors/sbom.json | 17 ++++++++ docs/attestors/sbom.md | 24 +++++++++++ go.mod | 41 +++++++++--------- go.sum | 89 +++++++++++++++++++++------------------- 6 files changed, 114 insertions(+), 64 deletions(-) create mode 100644 docs/attestors/sbom.json create mode 100644 docs/attestors/sbom.md diff --git a/docs/attestors/git.json b/docs/attestors/git.json index ae8acfc4..13f0da77 100644 --- a/docs/attestors/git.json +++ b/docs/attestors/git.json @@ -63,6 +63,9 @@ "$ref": "#/$defs/Tag" }, "type": "array" + }, + "branch": { + "type": "string" } }, "additionalProperties": false, @@ -129,4 +132,3 @@ } } } - \ No newline at end of file diff --git a/docs/attestors/git.md b/docs/attestors/git.md index 2904b85c..6c0d3f7e 100644 --- a/docs/attestors/git.md +++ b/docs/attestors/git.md @@ -75,6 +75,9 @@ The attestor returns the SHA1 ([Secure Hash Algorithm 1](https://en.wikipedia.or "$ref": "#/$defs/Tag" }, "type": "array" + }, + "branch": { + "type": "string" } }, "additionalProperties": false, diff --git a/docs/attestors/sbom.json b/docs/attestors/sbom.json new file mode 100644 index 00000000..e17e6a1a --- /dev/null +++ b/docs/attestors/sbom.json @@ -0,0 +1,17 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://github.com/in-toto/go-witness/attestation/sbom/sbom-attestor", + "$ref": "#/$defs/SBOMAttestor", + "$defs": { + "SBOMAttestor": { + "properties": { + "SBOMDocument": true + }, + "additionalProperties": false, + "type": "object", + "required": [ + "SBOMDocument" + ] + } + } +} diff --git a/docs/attestors/sbom.md b/docs/attestors/sbom.md new file mode 100644 index 00000000..b65fba49 --- /dev/null +++ b/docs/attestors/sbom.md @@ -0,0 +1,24 @@ +# SBOM Attestor + +The SBOM attestor records the contents of any [products](./product.md) that are valid [CycloneDX](https://cyclonedx.org/specification/overview/) or [SPDX](https://spdx.dev/learn/overview/) json files. The SBOM file is parsed and the contents are recorded in the attestation. + +## Schema +```json +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://github.com/in-toto/go-witness/attestation/sbom/sbom-attestor", + "$ref": "#/$defs/SBOMAttestor", + "$defs": { + "SBOMAttestor": { + "properties": { + "SBOMDocument": true + }, + "additionalProperties": false, + "type": "object", + "required": [ + "SBOMDocument" + ] + } + } +} +``` diff --git a/go.mod b/go.mod index 5950ff36..3ae471c5 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.22.0 toolchain go1.22.2 require ( - github.com/in-toto/go-witness v0.4.0 + github.com/in-toto/go-witness v0.4.1-0.20240608134736-6f2f501dd2bd github.com/invopop/jsonschema v0.12.0 github.com/olekukonko/tablewriter v0.0.5 github.com/sigstore/fulcio v1.4.5 @@ -25,7 +25,7 @@ require ( github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 // indirect github.com/spiffe/go-spiffe/v2 v2.1.7 // indirect github.com/zclconf/go-cty v1.14.2 // indirect - golang.org/x/oauth2 v0.19.0 // indirect + golang.org/x/oauth2 v0.20.0 // indirect ) require ( @@ -41,19 +41,19 @@ require ( github.com/agnivade/levenshtein v1.1.1 // indirect github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect github.com/aws/aws-sdk-go v1.50.38 // indirect - github.com/aws/aws-sdk-go-v2 v1.26.1 // indirect - github.com/aws/aws-sdk-go-v2/config v1.27.13 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.17.13 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.5 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.5 // indirect + github.com/aws/aws-sdk-go-v2 v1.27.0 // indirect + github.com/aws/aws-sdk-go-v2/config v1.27.16 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.17.16 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.3 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.7 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.7 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.7 // indirect - github.com/aws/aws-sdk-go-v2/service/kms v1.31.1 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.20.6 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.0 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.28.7 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.9 // indirect + github.com/aws/aws-sdk-go-v2/service/kms v1.31.3 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.20.9 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.3 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.28.10 // indirect github.com/aws/smithy-go v1.20.2 // indirect github.com/bahlo/generic-list-go v0.2.0 // indirect github.com/beorn7/perks v1.0.1 // indirect @@ -69,6 +69,7 @@ require ( github.com/emirpasic/gods v1.18.1 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect + github.com/gabriel-vasile/mimetype v1.4.4 // indirect github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect github.com/go-git/go-billy/v5 v5.5.0 // indirect github.com/go-git/go-git/v5 v5.11.0 // indirect @@ -81,7 +82,7 @@ require ( github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.4 // indirect - github.com/google/go-containerregistry v0.19.0 // indirect + github.com/google/go-containerregistry v0.19.1 // indirect github.com/google/gofuzz v1.2.0 // indirect github.com/google/s2a-go v0.1.7 // indirect github.com/google/uuid v1.6.0 // indirect @@ -121,7 +122,7 @@ require ( github.com/sagikazarmark/slog-shim v0.1.0 // indirect github.com/secure-systems-lab/go-securesystemslib v0.8.0 // indirect github.com/sergi/go-diff v1.3.1 // indirect - github.com/sigstore/sigstore v1.8.3 // indirect + github.com/sigstore/sigstore v1.8.4 // indirect github.com/skeema/knownhosts v1.2.1 // indirect github.com/sourcegraph/conc v0.3.0 // indirect github.com/spf13/afero v1.11.0 // indirect @@ -144,14 +145,14 @@ require ( go.opentelemetry.io/otel/sdk v1.24.0 // indirect go.opentelemetry.io/otel/trace v1.24.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.22.0 // indirect + golang.org/x/crypto v0.23.0 // indirect golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8 // indirect golang.org/x/mod v0.16.0 // indirect - golang.org/x/net v0.24.0 // indirect + golang.org/x/net v0.25.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.19.0 // indirect - golang.org/x/term v0.19.0 // indirect - golang.org/x/text v0.14.0 // indirect + golang.org/x/sys v0.20.0 // indirect + golang.org/x/term v0.20.0 // indirect + golang.org/x/text v0.15.0 // indirect golang.org/x/time v0.5.0 // indirect golang.org/x/tools v0.19.0 // indirect google.golang.org/api v0.177.0 // indirect diff --git a/go.sum b/go.sum index 5dc71f95..280a4d86 100644 --- a/go.sum +++ b/go.sum @@ -36,32 +36,32 @@ github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPd github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/aws/aws-sdk-go v1.50.38 h1:h8wxaLin7sFGK4sKassc1VpNcDbgAAEQJ5PHjqLAvXQ= github.com/aws/aws-sdk-go v1.50.38/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= -github.com/aws/aws-sdk-go-v2 v1.26.1 h1:5554eUqIYVWpU0YmeeYZ0wU64H2VLBs8TlhRB2L+EkA= -github.com/aws/aws-sdk-go-v2 v1.26.1/go.mod h1:ffIFB97e2yNsv4aTSGkqtHnppsIJzw7G7BReUZ3jCXM= -github.com/aws/aws-sdk-go-v2/config v1.27.13 h1:WbKW8hOzrWoOA/+35S5okqO/2Ap8hkkFUzoW8Hzq24A= -github.com/aws/aws-sdk-go-v2/config v1.27.13/go.mod h1:XLiyiTMnguytjRER7u5RIkhIqS8Nyz41SwAWb4xEjxs= -github.com/aws/aws-sdk-go-v2/credentials v1.17.13 h1:XDCJDzk/u5cN7Aple7D/MiAhx1Rjo/0nueJ0La8mRuE= -github.com/aws/aws-sdk-go-v2/credentials v1.17.13/go.mod h1:FMNcjQrmuBYvOTZDtOLCIu0esmxjF7RuA/89iSXWzQI= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1 h1:FVJ0r5XTHSmIHJV6KuDmdYhEpvlHpiSd38RQWhut5J4= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1/go.mod h1:zusuAeqezXzAB24LGuzuekqMAEgWkVYukBec3kr3jUg= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.5 h1:aw39xVGeRWlWx9EzGVnhOR4yOjQDHPQ6o6NmBlscyQg= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.5/go.mod h1:FSaRudD0dXiMPK2UjknVwwTYyZMRsHv3TtkabsZih5I= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.5 h1:PG1F3OD1szkuQPzDw3CIQsRIrtTlUC3lP84taWzHlq0= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.5/go.mod h1:jU1li6RFryMz+so64PpKtudI+QzbKoIEivqdf6LNpOc= +github.com/aws/aws-sdk-go-v2 v1.27.0 h1:7bZWKoXhzI+mMR/HjdMx8ZCC5+6fY0lS5tr0bbgiLlo= +github.com/aws/aws-sdk-go-v2 v1.27.0/go.mod h1:ffIFB97e2yNsv4aTSGkqtHnppsIJzw7G7BReUZ3jCXM= +github.com/aws/aws-sdk-go-v2/config v1.27.16 h1:knpCuH7laFVGYTNd99Ns5t+8PuRjDn4HnnZK48csipM= +github.com/aws/aws-sdk-go-v2/config v1.27.16/go.mod h1:vutqgRhDUktwSge3hrC3nkuirzkJ4E/mLj5GvI0BQas= +github.com/aws/aws-sdk-go-v2/credentials v1.17.16 h1:7d2QxY83uYl0l58ceyiSpxg9bSbStqBC6BeEeHEchwo= +github.com/aws/aws-sdk-go-v2/credentials v1.17.16/go.mod h1:Ae6li/6Yc6eMzysRL2BXlPYvnrLLBg3D11/AmOjw50k= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.3 h1:dQLK4TjtnlRGb0czOht2CevZ5l6RSyRWAnKeGd7VAFE= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.3/go.mod h1:TL79f2P6+8Q7dTsILpiVST+AL9lkF6PPGI167Ny0Cjw= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.7 h1:lf/8VTF2cM+N4SLzaYJERKEWAXq8MOMpZfU6wEPWsPk= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.7/go.mod h1:4SjkU7QiqK2M9oozyMzfZ/23LmUY+h3oFqhdeP5OMiI= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.7 h1:4OYVp0705xu8yjdyoWix0r9wPIRXnIzzOoUpQVHIJ/g= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.7/go.mod h1:vd7ESTEvI76T2Na050gODNmNU7+OyKrIKroYTu4ABiI= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 h1:hT8rVHwugYE2lEfdFE0QWVo81lF7jMrYJVDWI+f+VxU= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0/go.mod h1:8tu/lYfQfFe6IGnaOdrpVgEL2IrrDOf6/m9RQum4NkY= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2 h1:Ji0DY1xUsUr3I8cHps0G+XM3WWU16lP6yG8qu1GAZAs= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2/go.mod h1:5CsjAbs3NlGQyZNFACh+zztPDI7fU6eW9QsxjfnuBKg= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.7 h1:ogRAwT1/gxJBcSWDMZlgyFUM962F51A5CRhDLbxLdmo= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.7/go.mod h1:YCsIZhXfRPLFFCl5xxY+1T9RKzOKjCut+28JSX2DnAk= -github.com/aws/aws-sdk-go-v2/service/kms v1.31.1 h1:5wtyAwuUiJiM3DHYeGZmP5iMonM7DFBWAEaaVPHYZA0= -github.com/aws/aws-sdk-go-v2/service/kms v1.31.1/go.mod h1:2snWQJQUKsbN66vAawJuOGX7dr37pfOq9hb0tZDGIqQ= -github.com/aws/aws-sdk-go-v2/service/sso v1.20.6 h1:o5cTaeunSpfXiLTIBx5xo2enQmiChtu1IBbzXnfU9Hs= -github.com/aws/aws-sdk-go-v2/service/sso v1.20.6/go.mod h1:qGzynb/msuZIE8I75DVRCUXw3o3ZyBmUvMwQ2t/BrGM= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.0 h1:Qe0r0lVURDDeBQJ4yP+BOrJkvkiCo/3FH/t+wY11dmw= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.0/go.mod h1:mUYPBhaF2lGiukDEjJX2BLRRKTmoUSitGDUgM4tRxak= -github.com/aws/aws-sdk-go-v2/service/sts v1.28.7 h1:et3Ta53gotFR4ERLXXHIHl/Uuk1qYpP5uU7cvNql8ns= -github.com/aws/aws-sdk-go-v2/service/sts v1.28.7/go.mod h1:FZf1/nKNEkHdGGJP/cI2MoIMquumuRK6ol3QQJNDxmw= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.9 h1:Wx0rlZoEJR7JwlSZcHnEa7CNjrSIyVxMFWGAaXy4fJY= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.9/go.mod h1:aVMHdE0aHO3v+f/iw01fmXV/5DbfQ3Bi9nN7nd9bE9Y= +github.com/aws/aws-sdk-go-v2/service/kms v1.31.3 h1:wLBgq6nDNYdd0A5CvscVAKV5SVlHKOHVPedpgtigATg= +github.com/aws/aws-sdk-go-v2/service/kms v1.31.3/go.mod h1:8lETO9lelSG2B6KMXFh2OwPPqGV6WQM3RqLAEjP1xaU= +github.com/aws/aws-sdk-go-v2/service/sso v1.20.9 h1:aD7AGQhvPuAxlSUfo0CWU7s6FpkbyykMhGYMvlqTjVs= +github.com/aws/aws-sdk-go-v2/service/sso v1.20.9/go.mod h1:c1qtZUWtygI6ZdvKppzCSXsDOq5I4luJPZ0Ud3juFCA= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.3 h1:Pav5q3cA260Zqez42T9UhIlsd9QeypszRPwC9LdSSsQ= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.3/go.mod h1:9lmoVDVLz/yUZwLaQ676TK02fhCu4+PgRSmMaKR1ozk= +github.com/aws/aws-sdk-go-v2/service/sts v1.28.10 h1:69tpbPED7jKPyzMcrwSvhWcJ9bPnZsZs18NT40JwM0g= +github.com/aws/aws-sdk-go-v2/service/sts v1.28.10/go.mod h1:0Aqn1MnEuitqfsCNyKsdKLhDUOr4txD/g19EfiUqgws= github.com/aws/smithy-go v1.20.2 h1:tbp628ireGtzcHDDmLT/6ADHidqnwgF57XOXZe6tp4Q= github.com/aws/smithy-go v1.20.2/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E= github.com/bahlo/generic-list-go v0.2.0 h1:5sz/EEAK+ls5wF+NeqDpk5+iNdMDXrh3z3nPnH1Wvgk= @@ -128,6 +128,8 @@ github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHk github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= +github.com/gabriel-vasile/mimetype v1.4.4 h1:QjV6pZ7/XZ7ryI2KuyeEDE8wnh7fHP9YnQy+R0LnH8I= +github.com/gabriel-vasile/mimetype v1.4.4/go.mod h1:JwLei5XPtWdGiMFB5Pjle1oEeoSeEuJfJE+TtfvdB/s= github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY= github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= @@ -149,8 +151,8 @@ github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-rod/rod v0.114.7 h1:h4pimzSOUnw7Eo41zdJA788XsawzHjJMyzCE3BrBww0= -github.com/go-rod/rod v0.114.7/go.mod h1:aiedSEFg5DwG/fnNbUOTPMTTWX3MRj6vIs/a684Mthw= +github.com/go-rod/rod v0.116.0 h1:ypRryjTys3EnqHskJ/TdgodFMvXV0EHvmy4bSkKZgHM= +github.com/go-rod/rod v0.116.0/go.mod h1:aiedSEFg5DwG/fnNbUOTPMTTWX3MRj6vIs/a684Mthw= github.com/go-test/deep v1.1.0 h1:WOcxcdHcvdgThNXjw0t76K42FXTU7HpNQWHpA2HHNlg= github.com/go-test/deep v1.1.0/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= @@ -190,8 +192,8 @@ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-containerregistry v0.19.0 h1:uIsMRBV7m/HDkDxE/nXMnv1q+lOOSPlQ/ywc5JbB8Ic= -github.com/google/go-containerregistry v0.19.0/go.mod h1:u0qB2l7mvtWVR5kNcbFIhFY1hLbf8eeGapA+vbFDCtQ= +github.com/google/go-containerregistry v0.19.1 h1:yMQ62Al6/V0Z7CqIrrS1iYoA5/oQCm88DeNujc7C1KY= +github.com/google/go-containerregistry v0.19.1/go.mod h1:YCMFNQeeXeLF+dnhhWkqDItx/JSkH01j1Kis4PsjzFI= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= @@ -214,8 +216,8 @@ github.com/in-toto/archivista v0.4.0 h1:5g79iqmyXblnnwuD+768lrEbeoE0V5H7URYJFnr0 github.com/in-toto/archivista v0.4.0/go.mod h1:HgqAu7az0Ql0Jf844Paf0Ji5PdUMKxO5JIBh4hOjMs8= github.com/in-toto/attestation v1.0.2 h1:ICqV41bfaDC3ixVUzAtFxFu+Dy56EPcjiIrJQe+4LVM= github.com/in-toto/attestation v1.0.2/go.mod h1:3uRayZSKuCHDDZOxLm5UfYulqqd1L1NdzYvxX/jyZEM= -github.com/in-toto/go-witness v0.4.0 h1:6DZakoe2DxBFuvat9xQW6SmPVrT7T5KiO2ft619OwyI= -github.com/in-toto/go-witness v0.4.0/go.mod h1:7Ed461YDgTrfzkdf81Hq9GgRgiaJ8bHbjY9Vx6RDtkc= +github.com/in-toto/go-witness v0.4.1-0.20240608134736-6f2f501dd2bd h1:sPGd1tzOrrEjxHXqbtatexyNKu1tcrllppdKkOlpV1c= +github.com/in-toto/go-witness v0.4.1-0.20240608134736-6f2f501dd2bd/go.mod h1:G3tdf4O1bjP9F0BdZ3jfpGhZ4P+8b+O8Adcdw5FNE6M= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/invopop/jsonschema v0.12.0 h1:6ovsNSuvn9wEQVOyc72aycBMVQFKz7cPdMJn10CvzRI= @@ -237,8 +239,8 @@ github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4 github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.4 h1:Ej5ixsIri7BrIjBkRZLTo6ghwrEtHFk7ijlczPW4fZ4= -github.com/klauspost/compress v1.17.4/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.6 h1:60eq2E/jlfwQXtvZEeBUYADs+BwKBWURIY+Gj2eRGjI= +github.com/klauspost/compress v1.17.6/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -313,8 +315,8 @@ github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8= github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I= github.com/sigstore/fulcio v1.4.5 h1:WWNnrOknD0DbruuZWCbN+86WRROpEl3Xts+WT2Ek1yc= github.com/sigstore/fulcio v1.4.5/go.mod h1:oz3Qwlma8dWcSS/IENR/6SjbW4ipN0cxpRVfgdsjMU8= -github.com/sigstore/sigstore v1.8.3 h1:G7LVXqL+ekgYtYdksBks9B38dPoIsbscjQJX/MGWkA4= -github.com/sigstore/sigstore v1.8.3/go.mod h1:mqbTEariiGA94cn6G3xnDiV6BD8eSLdL/eA7bvJ0fVs= +github.com/sigstore/sigstore v1.8.4 h1:g4ICNpiENFnWxjmBzBDWUn62rNFeny/P77HUC8da32w= +github.com/sigstore/sigstore v1.8.4/go.mod h1:1jIKtkTFEeISen7en+ZPWdDHazqhxco/+v9CNjc7oNg= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= @@ -421,8 +423,8 @@ golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30= -golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M= +golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= +golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8 h1:aAcj0Da7eBAtrTp03QXWvm88pSyOt+UgdZw2BFZ+lEw= golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8/go.mod h1:CQ1k9gNrJ50XIzaKCRR2hssIjF07kZFEiieALBM/ARQ= @@ -453,11 +455,11 @@ golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w= -golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= +golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= +golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.19.0 h1:9+E/EZBCbTLNrbN35fHv/a/d/mOBatymz1zbtQrXpIg= -golang.org/x/oauth2 v0.19.0/go.mod h1:vYi7skDa1x015PmRRYZ7+s1cWyPgrPiSYRe4rnsexc8= +golang.org/x/oauth2 v0.20.0 h1:4mQdhULixXKP1rwYBW0vAijoXnkTG0BLCDRzfe1idMo= +golang.org/x/oauth2 v0.20.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -485,8 +487,8 @@ golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= -golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= +golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= @@ -494,8 +496,8 @@ golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.19.0 h1:+ThwsDv+tYfnJFhF4L8jITxu1tdTWRTZpdsWgEgjL6Q= -golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk= +golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= +golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -506,8 +508,9 @@ golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= From 0c15286a502098a7746e6cc586b78ae5cf35caa4 Mon Sep 17 00:00:00 2001 From: John Kjell Date: Wed, 12 Jun 2024 14:55:59 -0500 Subject: [PATCH 2/5] Update docs and fix multiple signatures Signed-off-by: John Kjell --- cmd/run.go | 1 - docs/attestors/omnitrail.json | 145 +++++++++++++++++++++++++++++++++ docs/attestors/omnitrail.md | 148 ++++++++++++++++++++++++++++++++++ docs/commands.md | 1 + go.mod | 4 +- go.sum | 8 ++ 6 files changed, 305 insertions(+), 2 deletions(-) create mode 100644 docs/attestors/omnitrail.json create mode 100644 docs/attestors/omnitrail.md diff --git a/cmd/run.go b/cmd/run.go index 3d557682..9f2091ed 100644 --- a/cmd/run.go +++ b/cmd/run.go @@ -133,7 +133,6 @@ func runRun(ctx context.Context, ro options.RunOptions, args []string, signers . witness.RunWithAttestors(attestors), witness.RunWithAttestationOpts(attestation.WithWorkingDir(ro.WorkingDir), attestation.WithHashes(roHashes)), witness.RunWithTimestampers(timestampers...), - witness.RunWithSigners(signers...), ) if err != nil { return err diff --git a/docs/attestors/omnitrail.json b/docs/attestors/omnitrail.json new file mode 100644 index 00000000..e0a0f538 --- /dev/null +++ b/docs/attestors/omnitrail.json @@ -0,0 +1,145 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$ref": "#/$defs/Attestor", + "$defs": { + "Attestor": { + "properties": { + "Envelope": { + "$ref": "#/$defs/Envelope" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "Envelope" + ] + }, + "Element": { + "properties": { + "type": { + "type": "string" + }, + "sha1": { + "type": "string" + }, + "sha256": { + "type": "string" + }, + "gitoid:sha1": { + "type": "string" + }, + "gitoid:sha256": { + "type": "string" + }, + "posix": { + "$ref": "#/$defs/Posix" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "type" + ] + }, + "Envelope": { + "properties": { + "header": { + "$ref": "#/$defs/Header" + }, + "mapping": { + "additionalProperties": { + "$ref": "#/$defs/Element" + }, + "type": "object" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "header", + "mapping" + ] + }, + "Feature": { + "properties": { + "algorithms": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "additionalProperties": false, + "type": "object" + }, + "Header": { + "properties": { + "features": { + "additionalProperties": { + "$ref": "#/$defs/Feature" + }, + "type": "object" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "features" + ] + }, + "Posix": { + "properties": { + "atime": { + "type": "string" + }, + "ctime": { + "type": "string" + }, + "creation_time": { + "type": "string" + }, + "extended_attributes": { + "type": "string" + }, + "file_device_id": { + "type": "string" + }, + "file_flags": { + "type": "string" + }, + "file_inode": { + "type": "string" + }, + "file_system_id": { + "type": "string" + }, + "file_type": { + "type": "string" + }, + "hard_link_count": { + "type": "string" + }, + "mtime": { + "type": "string" + }, + "metadata_ctime": { + "type": "string" + }, + "owner_gid": { + "type": "string" + }, + "owner_uid": { + "type": "string" + }, + "permissions": { + "type": "string" + }, + "size": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + } + } +} diff --git a/docs/attestors/omnitrail.md b/docs/attestors/omnitrail.md new file mode 100644 index 00000000..5f703efc --- /dev/null +++ b/docs/attestors/omnitrail.md @@ -0,0 +1,148 @@ +## Schema +```json +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$ref": "#/$defs/Attestor", + "$defs": { + "Attestor": { + "properties": { + "Envelope": { + "$ref": "#/$defs/Envelope" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "Envelope" + ] + }, + "Element": { + "properties": { + "type": { + "type": "string" + }, + "sha1": { + "type": "string" + }, + "sha256": { + "type": "string" + }, + "gitoid:sha1": { + "type": "string" + }, + "gitoid:sha256": { + "type": "string" + }, + "posix": { + "$ref": "#/$defs/Posix" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "type" + ] + }, + "Envelope": { + "properties": { + "header": { + "$ref": "#/$defs/Header" + }, + "mapping": { + "additionalProperties": { + "$ref": "#/$defs/Element" + }, + "type": "object" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "header", + "mapping" + ] + }, + "Feature": { + "properties": { + "algorithms": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "additionalProperties": false, + "type": "object" + }, + "Header": { + "properties": { + "features": { + "additionalProperties": { + "$ref": "#/$defs/Feature" + }, + "type": "object" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "features" + ] + }, + "Posix": { + "properties": { + "atime": { + "type": "string" + }, + "ctime": { + "type": "string" + }, + "creation_time": { + "type": "string" + }, + "extended_attributes": { + "type": "string" + }, + "file_device_id": { + "type": "string" + }, + "file_flags": { + "type": "string" + }, + "file_inode": { + "type": "string" + }, + "file_system_id": { + "type": "string" + }, + "file_type": { + "type": "string" + }, + "hard_link_count": { + "type": "string" + }, + "mtime": { + "type": "string" + }, + "metadata_ctime": { + "type": "string" + }, + "owner_gid": { + "type": "string" + }, + "owner_uid": { + "type": "string" + }, + "permissions": { + "type": "string" + }, + "size": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + } + } +} +``` diff --git a/docs/commands.md b/docs/commands.md index 05f0b370..14078fd2 100644 --- a/docs/commands.md +++ b/docs/commands.md @@ -46,6 +46,7 @@ witness run [cmd] [flags] --attestor-maven-pom-path string The path to the Project Object Model (POM) XML file used for task being attested (default "pom.xml"). (default "pom.xml") --attestor-product-exclude-glob string Pattern to use when recording products. Files that match this pattern will be excluded as subjects on the attestation. --attestor-product-include-glob string Pattern to use when recording products. Files that match this pattern will be included as subjects on the attestation. (default "*") + --attestor-sbom-export Export the SBOM predicate in its own attestation --attestor-slsa-export Export the SLSA provenance predicate in its own attestation --enable-archivista Use Archivista to store or retrieve attestations --hashes strings Hashes selected for digest calculation. Defaults to SHA256 (default [sha256]) diff --git a/go.mod b/go.mod index 3ae471c5..28fdc1f0 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.22.0 toolchain go1.22.2 require ( - github.com/in-toto/go-witness v0.4.1-0.20240608134736-6f2f501dd2bd + github.com/in-toto/go-witness v0.4.1-0.20240612191953-430d30c0e675 github.com/invopop/jsonschema v0.12.0 github.com/olekukonko/tablewriter v0.0.5 github.com/sigstore/fulcio v1.4.5 @@ -68,6 +68,7 @@ require ( github.com/edwarnicke/gitoid v0.0.0-20220710194850-1be5bfda1f9d // indirect github.com/emirpasic/gods v1.18.1 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect + github.com/fkautz/omnitrail-go v0.0.0-20230808061951-37d34c23539d // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/gabriel-vasile/mimetype v1.4.4 // indirect github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect @@ -107,6 +108,7 @@ require ( github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/omnibor/omnibor-go v0.0.0-20230521145532-a77de61a16cd // indirect github.com/open-policy-agent/opa v0.61.0 // indirect github.com/owenrumney/go-sarif v1.1.1 // indirect github.com/pelletier/go-toml/v2 v2.2.2 // indirect diff --git a/go.sum b/go.sum index 280a4d86..7f51c4bf 100644 --- a/go.sum +++ b/go.sum @@ -120,6 +120,8 @@ github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1m github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/fkautz/omnitrail-go v0.0.0-20230808061951-37d34c23539d h1:p4DOjnN5IAuUhtksK+RuwR2q3VclzeI1+zh+AfNFFjw= +github.com/fkautz/omnitrail-go v0.0.0-20230808061951-37d34c23539d/go.mod h1:To+426All36lUwebm2u5Qptl3daW1Nnk+LHrkTFhiWQ= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/foxcpp/go-mockdns v1.0.0 h1:7jBqxd3WDWwi/6WhDvacvH1XsN3rOLXyHM1uhvIx6FI= @@ -218,6 +220,10 @@ github.com/in-toto/attestation v1.0.2 h1:ICqV41bfaDC3ixVUzAtFxFu+Dy56EPcjiIrJQe+ github.com/in-toto/attestation v1.0.2/go.mod h1:3uRayZSKuCHDDZOxLm5UfYulqqd1L1NdzYvxX/jyZEM= github.com/in-toto/go-witness v0.4.1-0.20240608134736-6f2f501dd2bd h1:sPGd1tzOrrEjxHXqbtatexyNKu1tcrllppdKkOlpV1c= github.com/in-toto/go-witness v0.4.1-0.20240608134736-6f2f501dd2bd/go.mod h1:G3tdf4O1bjP9F0BdZ3jfpGhZ4P+8b+O8Adcdw5FNE6M= +github.com/in-toto/go-witness v0.4.1-0.20240612145707-93c2d04134ec h1:NLX7Mtim7ZyEog9sn7n4IOx+3hFHGj/j3e5bawsh/jE= +github.com/in-toto/go-witness v0.4.1-0.20240612145707-93c2d04134ec/go.mod h1:6naOxeUWknoYAxGysHav9y8EIff0kGEeFxHqZMchfho= +github.com/in-toto/go-witness v0.4.1-0.20240612191953-430d30c0e675 h1:+BYfIJclVcZEqjh+8kChaCMn8V9/lH/tOJ8yIXdHYy8= +github.com/in-toto/go-witness v0.4.1-0.20240612191953-430d30c0e675/go.mod h1:6naOxeUWknoYAxGysHav9y8EIff0kGEeFxHqZMchfho= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/invopop/jsonschema v0.12.0 h1:6ovsNSuvn9wEQVOyc72aycBMVQFKz7cPdMJn10CvzRI= @@ -271,6 +277,8 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= +github.com/omnibor/omnibor-go v0.0.0-20230521145532-a77de61a16cd h1:25EpGVgctk6V3DUa1gqFHvjVbmdWqM+jBZAed7p/krQ= +github.com/omnibor/omnibor-go v0.0.0-20230521145532-a77de61a16cd/go.mod h1:ArlQivzDQvZnFe8itjlA3ndPTXd9iWOgqzF31OyIEFQ= github.com/onsi/gomega v1.31.0 h1:54UJxxj6cPInHS3a35wm6BK/F9nHYueZ1NVujHDrnXE= github.com/onsi/gomega v1.31.0/go.mod h1:DW9aCi7U6Yi40wNVAvT6kzFnEVEI5n3DloYBiKiT6zk= github.com/open-policy-agent/opa v0.61.0 h1:nhncQ2CAYtQTV/SMBhDDPsCpCQsUW+zO/1j+T5V7oZg= From 616eab955ce6991fb49a58c8becbef8271ac74ec Mon Sep 17 00:00:00 2001 From: John Kjell Date: Thu, 13 Jun 2024 10:45:14 -0500 Subject: [PATCH 3/5] Update to go-witness v0.5.0 and support testing on Darwin/Mac (no tracing support) Signed-off-by: John Kjell --- go.mod | 53 ++++++++++---------- go.sum | 118 +++++++++++++++++++++------------------------ test/test-mac.yaml | 31 ++++++++++++ test/test.sh | 22 ++++++--- 4 files changed, 128 insertions(+), 96 deletions(-) create mode 100644 test/test-mac.yaml diff --git a/go.mod b/go.mod index 28fdc1f0..7a613cac 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.22.0 toolchain go1.22.2 require ( - github.com/in-toto/go-witness v0.4.1-0.20240612191953-430d30c0e675 + github.com/in-toto/go-witness v0.5.0 github.com/invopop/jsonschema v0.12.0 github.com/olekukonko/tablewriter v0.0.5 github.com/sigstore/fulcio v1.4.5 @@ -24,7 +24,7 @@ require ( github.com/segmentio/ksuid v1.0.4 // indirect github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 // indirect github.com/spiffe/go-spiffe/v2 v2.1.7 // indirect - github.com/zclconf/go-cty v1.14.2 // indirect + github.com/zclconf/go-cty v1.14.4 // indirect golang.org/x/oauth2 v0.20.0 // indirect ) @@ -41,24 +41,24 @@ require ( github.com/agnivade/levenshtein v1.1.1 // indirect github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect github.com/aws/aws-sdk-go v1.50.38 // indirect - github.com/aws/aws-sdk-go-v2 v1.27.0 // indirect - github.com/aws/aws-sdk-go-v2/config v1.27.16 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.17.16 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.3 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.7 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.7 // indirect + github.com/aws/aws-sdk-go-v2 v1.27.2 // indirect + github.com/aws/aws-sdk-go-v2/config v1.27.18 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.17.18 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.5 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.9 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.9 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.9 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.11 // indirect github.com/aws/aws-sdk-go-v2/service/kms v1.31.3 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.20.9 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.3 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.28.10 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.20.11 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.5 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.28.12 // indirect github.com/aws/smithy-go v1.20.2 // indirect github.com/bahlo/generic-list-go v0.2.0 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/buger/jsonparser v1.1.1 // indirect - github.com/cespare/xxhash/v2 v2.2.0 // indirect + github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/cloudflare/circl v1.3.7 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.3 // indirect github.com/cyphar/filepath-securejoin v0.2.4 // indirect @@ -92,7 +92,7 @@ require ( github.com/gorilla/mux v1.8.1 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.1 // indirect github.com/hashicorp/hcl v1.0.1-vault-3 // indirect - github.com/in-toto/archivista v0.4.0 // indirect + github.com/in-toto/archivista v0.5.1 // indirect github.com/in-toto/attestation v1.0.2 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect @@ -109,15 +109,15 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/omnibor/omnibor-go v0.0.0-20230521145532-a77de61a16cd // indirect - github.com/open-policy-agent/opa v0.61.0 // indirect + github.com/open-policy-agent/opa v0.64.0 // indirect github.com/owenrumney/go-sarif v1.1.1 // indirect github.com/pelletier/go-toml/v2 v2.2.2 // indirect github.com/pjbgf/sha1cd v0.3.0 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.0 // indirect - github.com/prometheus/client_model v0.6.0 // indirect - github.com/prometheus/common v0.51.1 // indirect - github.com/prometheus/procfs v0.12.0 // indirect + github.com/prometheus/client_model v0.6.1 // indirect + github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/procfs v0.14.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/sagikazarmark/locafero v0.4.0 // indirect @@ -142,21 +142,21 @@ require ( go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect - go.opentelemetry.io/otel v1.24.0 // indirect - go.opentelemetry.io/otel/metric v1.24.0 // indirect - go.opentelemetry.io/otel/sdk v1.24.0 // indirect - go.opentelemetry.io/otel/trace v1.24.0 // indirect + go.opentelemetry.io/otel v1.26.0 // indirect + go.opentelemetry.io/otel/metric v1.26.0 // indirect + go.opentelemetry.io/otel/sdk v1.26.0 // indirect + go.opentelemetry.io/otel/trace v1.26.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/crypto v0.23.0 // indirect - golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8 // indirect - golang.org/x/mod v0.16.0 // indirect + golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f // indirect + golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/sync v0.7.0 // indirect golang.org/x/sys v0.20.0 // indirect golang.org/x/term v0.20.0 // indirect golang.org/x/text v0.15.0 // indirect golang.org/x/time v0.5.0 // indirect - golang.org/x/tools v0.19.0 // indirect + golang.org/x/tools v0.21.0 // indirect google.golang.org/api v0.177.0 // indirect google.golang.org/genproto v0.0.0-20240401170217-c3f982113cda // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240429193739-8cf5692501f6 // indirect @@ -166,12 +166,11 @@ require ( gopkg.in/go-jose/go-jose.v2 v2.6.3 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect - gopkg.in/square/go-jose.v2 v2.6.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect k8s.io/klog/v2 v2.120.1 // indirect - k8s.io/utils v0.0.0-20240102154912-e7106e64919e // indirect + k8s.io/utils v0.0.0-20240423183400-0849a56e8f22 // indirect sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect sigs.k8s.io/yaml v1.4.0 // indirect diff --git a/go.sum b/go.sum index 7f51c4bf..8d743ea3 100644 --- a/go.sum +++ b/go.sum @@ -36,32 +36,32 @@ github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPd github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/aws/aws-sdk-go v1.50.38 h1:h8wxaLin7sFGK4sKassc1VpNcDbgAAEQJ5PHjqLAvXQ= github.com/aws/aws-sdk-go v1.50.38/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= -github.com/aws/aws-sdk-go-v2 v1.27.0 h1:7bZWKoXhzI+mMR/HjdMx8ZCC5+6fY0lS5tr0bbgiLlo= -github.com/aws/aws-sdk-go-v2 v1.27.0/go.mod h1:ffIFB97e2yNsv4aTSGkqtHnppsIJzw7G7BReUZ3jCXM= -github.com/aws/aws-sdk-go-v2/config v1.27.16 h1:knpCuH7laFVGYTNd99Ns5t+8PuRjDn4HnnZK48csipM= -github.com/aws/aws-sdk-go-v2/config v1.27.16/go.mod h1:vutqgRhDUktwSge3hrC3nkuirzkJ4E/mLj5GvI0BQas= -github.com/aws/aws-sdk-go-v2/credentials v1.17.16 h1:7d2QxY83uYl0l58ceyiSpxg9bSbStqBC6BeEeHEchwo= -github.com/aws/aws-sdk-go-v2/credentials v1.17.16/go.mod h1:Ae6li/6Yc6eMzysRL2BXlPYvnrLLBg3D11/AmOjw50k= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.3 h1:dQLK4TjtnlRGb0czOht2CevZ5l6RSyRWAnKeGd7VAFE= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.3/go.mod h1:TL79f2P6+8Q7dTsILpiVST+AL9lkF6PPGI167Ny0Cjw= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.7 h1:lf/8VTF2cM+N4SLzaYJERKEWAXq8MOMpZfU6wEPWsPk= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.7/go.mod h1:4SjkU7QiqK2M9oozyMzfZ/23LmUY+h3oFqhdeP5OMiI= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.7 h1:4OYVp0705xu8yjdyoWix0r9wPIRXnIzzOoUpQVHIJ/g= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.7/go.mod h1:vd7ESTEvI76T2Na050gODNmNU7+OyKrIKroYTu4ABiI= +github.com/aws/aws-sdk-go-v2 v1.27.2 h1:pLsTXqX93rimAOZG2FIYraDQstZaaGVVN4tNw65v0h8= +github.com/aws/aws-sdk-go-v2 v1.27.2/go.mod h1:ffIFB97e2yNsv4aTSGkqtHnppsIJzw7G7BReUZ3jCXM= +github.com/aws/aws-sdk-go-v2/config v1.27.18 h1:wFvAnwOKKe7QAyIxziwSKjmer9JBMH1vzIL6W+fYuKk= +github.com/aws/aws-sdk-go-v2/config v1.27.18/go.mod h1:0xz6cgdX55+kmppvPm2IaKzIXOheGJhAufacPJaXZ7c= +github.com/aws/aws-sdk-go-v2/credentials v1.17.18 h1:D/ALDWqK4JdY3OFgA2thcPO1c9aYTT5STS/CvnkqY1c= +github.com/aws/aws-sdk-go-v2/credentials v1.17.18/go.mod h1:JuitCWq+F5QGUrmMPsk945rop6bB57jdscu+Glozdnc= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.5 h1:dDgptDO9dxeFkXy+tEgVkzSClHZje/6JkPW5aZyEvrQ= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.5/go.mod h1:gjvE2KBUgUQhcv89jqxrIxH9GaKs1JbZzWejj/DaHGA= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.9 h1:cy8ahBJuhtM8GTTSyOkfy6WVPV1IE+SS5/wfXUYuulw= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.9/go.mod h1:CZBXGLaJnEZI6EVNcPd7a6B5IC5cA/GkRWtu9fp3S6Y= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.9 h1:A4SYk07ef04+vxZToz9LWvAXl9LW0NClpPpMsi31cz0= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.9/go.mod h1:5jJcHuwDagxN+ErjQ3PU3ocf6Ylc/p9x+BLO/+X4iXw= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 h1:hT8rVHwugYE2lEfdFE0QWVo81lF7jMrYJVDWI+f+VxU= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0/go.mod h1:8tu/lYfQfFe6IGnaOdrpVgEL2IrrDOf6/m9RQum4NkY= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2 h1:Ji0DY1xUsUr3I8cHps0G+XM3WWU16lP6yG8qu1GAZAs= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2/go.mod h1:5CsjAbs3NlGQyZNFACh+zztPDI7fU6eW9QsxjfnuBKg= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.9 h1:Wx0rlZoEJR7JwlSZcHnEa7CNjrSIyVxMFWGAaXy4fJY= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.9/go.mod h1:aVMHdE0aHO3v+f/iw01fmXV/5DbfQ3Bi9nN7nd9bE9Y= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.11 h1:o4T+fKxA3gTMcluBNZZXE9DNaMkJuUL1O3mffCUjoJo= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.11/go.mod h1:84oZdJ+VjuJKs9v1UTC9NaodRZRseOXCTgku+vQJWR8= github.com/aws/aws-sdk-go-v2/service/kms v1.31.3 h1:wLBgq6nDNYdd0A5CvscVAKV5SVlHKOHVPedpgtigATg= github.com/aws/aws-sdk-go-v2/service/kms v1.31.3/go.mod h1:8lETO9lelSG2B6KMXFh2OwPPqGV6WQM3RqLAEjP1xaU= -github.com/aws/aws-sdk-go-v2/service/sso v1.20.9 h1:aD7AGQhvPuAxlSUfo0CWU7s6FpkbyykMhGYMvlqTjVs= -github.com/aws/aws-sdk-go-v2/service/sso v1.20.9/go.mod h1:c1qtZUWtygI6ZdvKppzCSXsDOq5I4luJPZ0Ud3juFCA= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.3 h1:Pav5q3cA260Zqez42T9UhIlsd9QeypszRPwC9LdSSsQ= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.3/go.mod h1:9lmoVDVLz/yUZwLaQ676TK02fhCu4+PgRSmMaKR1ozk= -github.com/aws/aws-sdk-go-v2/service/sts v1.28.10 h1:69tpbPED7jKPyzMcrwSvhWcJ9bPnZsZs18NT40JwM0g= -github.com/aws/aws-sdk-go-v2/service/sts v1.28.10/go.mod h1:0Aqn1MnEuitqfsCNyKsdKLhDUOr4txD/g19EfiUqgws= +github.com/aws/aws-sdk-go-v2/service/sso v1.20.11 h1:gEYM2GSpr4YNWc6hCd5nod4+d4kd9vWIAWrmGuLdlMw= +github.com/aws/aws-sdk-go-v2/service/sso v1.20.11/go.mod h1:gVvwPdPNYehHSP9Rs7q27U1EU+3Or2ZpXvzAYJNh63w= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.5 h1:iXjh3uaH3vsVcnyZX7MqCoCfcyxIrVE9iOQruRaWPrQ= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.5/go.mod h1:5ZXesEuy/QcO0WUnt+4sDkxhdXRHTu2yG0uCSH8B6os= +github.com/aws/aws-sdk-go-v2/service/sts v1.28.12 h1:M/1u4HBpwLuMtjlxuI2y6HoVLzF5e2mfxHCg7ZVMYmk= +github.com/aws/aws-sdk-go-v2/service/sts v1.28.12/go.mod h1:kcfd+eTdEi/40FIbLq4Hif3XMXnl5b/+t/KTfLt9xIk= github.com/aws/smithy-go v1.20.2 h1:tbp628ireGtzcHDDmLT/6ADHidqnwgF57XOXZe6tp4Q= github.com/aws/smithy-go v1.20.2/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E= github.com/bahlo/generic-list-go v0.2.0 h1:5sz/EEAK+ls5wF+NeqDpk5+iNdMDXrh3z3nPnH1Wvgk= @@ -78,8 +78,8 @@ github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyY github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= -github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= +github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU= @@ -124,8 +124,8 @@ github.com/fkautz/omnitrail-go v0.0.0-20230808061951-37d34c23539d h1:p4DOjnN5IAu github.com/fkautz/omnitrail-go v0.0.0-20230808061951-37d34c23539d/go.mod h1:To+426All36lUwebm2u5Qptl3daW1Nnk+LHrkTFhiWQ= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= -github.com/foxcpp/go-mockdns v1.0.0 h1:7jBqxd3WDWwi/6WhDvacvH1XsN3rOLXyHM1uhvIx6FI= -github.com/foxcpp/go-mockdns v1.0.0/go.mod h1:lgRN6+KxQBawyIghpnl5CezHFGS9VLzvtVlwxvzXTQ4= +github.com/foxcpp/go-mockdns v1.1.0 h1:jI0rD8M0wuYAxL7r/ynTrCQQq0BVqfB99Vgk7DlmewI= +github.com/foxcpp/go-mockdns v1.1.0/go.mod h1:IhLeSFGed3mJIAXPH2aiRQB+kqz7oqu8ld2qVbOu7Wk= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= @@ -214,16 +214,12 @@ github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.1 h1:/c3QmbOGMGTOumP2iT/rCwB7b0Q github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.1/go.mod h1:5SN9VR2LTsRFsrEC6FHgRbTWrTHu6tqPeKxEQv15giM= github.com/hashicorp/hcl v1.0.1-vault-3 h1:V95v5KSTu6DB5huDSKiq4uAfILEuNigK/+qPET6H/Mg= github.com/hashicorp/hcl v1.0.1-vault-3/go.mod h1:XYhtn6ijBSAj6n4YqAaf7RBPS4I06AItNorpy+MoQNM= -github.com/in-toto/archivista v0.4.0 h1:5g79iqmyXblnnwuD+768lrEbeoE0V5H7URYJFnr0p4I= -github.com/in-toto/archivista v0.4.0/go.mod h1:HgqAu7az0Ql0Jf844Paf0Ji5PdUMKxO5JIBh4hOjMs8= +github.com/in-toto/archivista v0.5.1 h1:mAPt1lW9VAMnEGiS38OGvej4t2AZ4Irfh8+y5koqSmo= +github.com/in-toto/archivista v0.5.1/go.mod h1:wzOSEgvDdV27CZUWm6H72sQ+vzAWjQLX1qhBJIJUSYI= github.com/in-toto/attestation v1.0.2 h1:ICqV41bfaDC3ixVUzAtFxFu+Dy56EPcjiIrJQe+4LVM= github.com/in-toto/attestation v1.0.2/go.mod h1:3uRayZSKuCHDDZOxLm5UfYulqqd1L1NdzYvxX/jyZEM= -github.com/in-toto/go-witness v0.4.1-0.20240608134736-6f2f501dd2bd h1:sPGd1tzOrrEjxHXqbtatexyNKu1tcrllppdKkOlpV1c= -github.com/in-toto/go-witness v0.4.1-0.20240608134736-6f2f501dd2bd/go.mod h1:G3tdf4O1bjP9F0BdZ3jfpGhZ4P+8b+O8Adcdw5FNE6M= -github.com/in-toto/go-witness v0.4.1-0.20240612145707-93c2d04134ec h1:NLX7Mtim7ZyEog9sn7n4IOx+3hFHGj/j3e5bawsh/jE= -github.com/in-toto/go-witness v0.4.1-0.20240612145707-93c2d04134ec/go.mod h1:6naOxeUWknoYAxGysHav9y8EIff0kGEeFxHqZMchfho= -github.com/in-toto/go-witness v0.4.1-0.20240612191953-430d30c0e675 h1:+BYfIJclVcZEqjh+8kChaCMn8V9/lH/tOJ8yIXdHYy8= -github.com/in-toto/go-witness v0.4.1-0.20240612191953-430d30c0e675/go.mod h1:6naOxeUWknoYAxGysHav9y8EIff0kGEeFxHqZMchfho= +github.com/in-toto/go-witness v0.5.0 h1:ViES51SWrgOByFdZTny+ZRFPClJcFQ8WId/YlxdPG7Q= +github.com/in-toto/go-witness v0.5.0/go.mod h1:RN10WG5hFnK9OSHFlQD4mql54uCrtWdZ08/bl1vPuMI= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/invopop/jsonschema v0.12.0 h1:6ovsNSuvn9wEQVOyc72aycBMVQFKz7cPdMJn10CvzRI= @@ -245,8 +241,8 @@ github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4 github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.6 h1:60eq2E/jlfwQXtvZEeBUYADs+BwKBWURIY+Gj2eRGjI= -github.com/klauspost/compress v1.17.6/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.8 h1:YcnTYrq7MikUT7k0Yb5eceMmALQPYBW/Xltxn0NAMnU= +github.com/klauspost/compress v1.17.8/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -281,8 +277,8 @@ github.com/omnibor/omnibor-go v0.0.0-20230521145532-a77de61a16cd h1:25EpGVgctk6V github.com/omnibor/omnibor-go v0.0.0-20230521145532-a77de61a16cd/go.mod h1:ArlQivzDQvZnFe8itjlA3ndPTXd9iWOgqzF31OyIEFQ= github.com/onsi/gomega v1.31.0 h1:54UJxxj6cPInHS3a35wm6BK/F9nHYueZ1NVujHDrnXE= github.com/onsi/gomega v1.31.0/go.mod h1:DW9aCi7U6Yi40wNVAvT6kzFnEVEI5n3DloYBiKiT6zk= -github.com/open-policy-agent/opa v0.61.0 h1:nhncQ2CAYtQTV/SMBhDDPsCpCQsUW+zO/1j+T5V7oZg= -github.com/open-policy-agent/opa v0.61.0/go.mod h1:7OUuzJnsS9yHf8lw0ApfcbrnaRG1EkN3J2fuuqi4G/E= +github.com/open-policy-agent/opa v0.64.0 h1:2g0JTt78zxhFaoBmZViY4UXvtOlzBjhhrnyrIxkm+tI= +github.com/open-policy-agent/opa v0.64.0/go.mod h1:j4VeLorVpKipnkQ2TDjWshEuV3cvP/rHzQhYaraUXZY= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/owenrumney/go-sarif v1.1.1 h1:QNObu6YX1igyFKhdzd7vgzmw7XsWN3/6NMGuDzBgXmE= @@ -299,12 +295,12 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH github.com/prometheus/client_golang v1.19.0 h1:ygXvpU1AoN1MhdzckN+PyD9QJOSD4x7kmXYlnfbA6JU= github.com/prometheus/client_golang v1.19.0/go.mod h1:ZRM9uEAypZakd+q/x7+gmsvXdURP+DABIEIjnmDdp+k= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.6.0 h1:k1v3CzpSRUTrKMppY35TLwPvxHqBu0bYgxZzqGIgaos= -github.com/prometheus/client_model v0.6.0/go.mod h1:NTQHnmxFpouOD0DpvP4XujX3CdOAGQPoaGhyTchlyt8= -github.com/prometheus/common v0.51.1 h1:eIjN50Bwglz6a/c3hAgSMcofL3nD+nFQkV6Dd4DsQCw= -github.com/prometheus/common v0.51.1/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q= -github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo= -github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= +github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= +github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= +github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= +github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/procfs v0.14.0 h1:Lw4VdGGoKEZilJsayHf0B+9YgLGREba2C6xr+Fdfq6s= +github.com/prometheus/procfs v0.14.0/go.mod h1:XL+Iwz8k8ZabyZfMFHPiilCniixqQarAy5Mu67pHlNQ= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= @@ -393,8 +389,8 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/zclconf/go-cty v1.10.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= -github.com/zclconf/go-cty v1.14.2 h1:kTG7lqmBou0Zkx35r6HJHUQTvaRPr5bIAf3AoHS0izI= -github.com/zclconf/go-cty v1.14.2/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE= +github.com/zclconf/go-cty v1.14.4 h1:uXXczd9QDGsgu0i/QFR/hzI5NYCHLf6NQw/atrbnhq8= +github.com/zclconf/go-cty v1.14.4/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE= github.com/zeebo/errs v1.3.0 h1:hmiaKqgYZzcVgRL1Vkc1Mn2914BbzB0IBxs+ebeutGs= github.com/zeebo/errs v1.3.0/go.mod h1:sgbWHsvVuTPHcqJJGQ1WhI5KbWlHYz+2+2C/LSEtCw4= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= @@ -403,18 +399,18 @@ go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.4 go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0/go.mod h1:Mjt1i1INqiaoZOMGR1RIUJN+i3ChKoFRqzrRQhlkbs0= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= -go.opentelemetry.io/otel v1.24.0 h1:0LAOdjNmQeSTzGBzduGe/rU4tZhMwL5rWgtp9Ku5Jfo= -go.opentelemetry.io/otel v1.24.0/go.mod h1:W7b9Ozg4nkF5tWI5zsXkaKKDjdVjpD4oAt9Qi/MArHo= +go.opentelemetry.io/otel v1.26.0 h1:LQwgL5s/1W7YiiRwxf03QGnWLb2HW4pLiAhaA5cZXBs= +go.opentelemetry.io/otel v1.26.0/go.mod h1:UmLkJHUAidDval2EICqBMbnAd0/m2vmpf/dAM+fvFs4= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.22.0 h1:9M3+rhx7kZCIQQhQRYaZCdNu1V73tm4TvXs2ntl98C4= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.22.0/go.mod h1:noq80iT8rrHP1SfybmPiRGc9dc5M8RPmGvtwo7Oo7tc= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0 h1:tIqheXEFWAZ7O8A7m+J0aPTmpJN3YQ7qetUAdkkkKpk= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0/go.mod h1:nUeKExfxAQVbiVFn32YXpXZZHZ61Cc3s3Rn1pDBGAb0= -go.opentelemetry.io/otel/metric v1.24.0 h1:6EhoGWWK28x1fbpA4tYTOWBkPefTDQnb8WSGXlc88kI= -go.opentelemetry.io/otel/metric v1.24.0/go.mod h1:VYhLe1rFfxuTXLgj4CBiyz+9WYBA8pNGJgDcSFRKBco= -go.opentelemetry.io/otel/sdk v1.24.0 h1:YMPPDNymmQN3ZgczicBY3B6sf9n62Dlj9pWD3ucgoDw= -go.opentelemetry.io/otel/sdk v1.24.0/go.mod h1:KVrIYw6tEubO9E96HQpcmpTKDVn9gdv35HoYiQWGDFg= -go.opentelemetry.io/otel/trace v1.24.0 h1:CsKnnL4dUAr/0llH9FKuc698G04IrpWV0MQA/Y1YELI= -go.opentelemetry.io/otel/trace v1.24.0/go.mod h1:HPc3Xr/cOApsBI154IU0OI0HJexz+aw5uPdbs3UCjNU= +go.opentelemetry.io/otel/metric v1.26.0 h1:7S39CLuY5Jgg9CrnA9HHiEjGMF/X2VHvoXGgSllRz30= +go.opentelemetry.io/otel/metric v1.26.0/go.mod h1:SY+rHOI4cEawI9a7N1A4nIg/nTQXe1ccCNWYOJUrpX4= +go.opentelemetry.io/otel/sdk v1.26.0 h1:Y7bumHf5tAiDlRYFmGqetNcLaVUZmh4iYfmGxtmz7F8= +go.opentelemetry.io/otel/sdk v1.26.0/go.mod h1:0p8MXpqLeJ0pzcszQQN4F0S5FVjBLgypeGSngLsmirs= +go.opentelemetry.io/otel/trace v1.26.0 h1:1ieeAUb4y0TE26jUFrCIXKpTuVK7uJGN9/Z/2LP5sQA= +go.opentelemetry.io/otel/trace v1.26.0/go.mod h1:4iDxvGDQuUkHve82hJJ8UqrwswHYsZuWCBllGV2U2y0= go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I= go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM= go.step.sm/crypto v0.44.8 h1:jDSHL6FdB1UTA0d56ECNx9XtLVkewzeg38Vy3HWB3N8= @@ -434,8 +430,8 @@ golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDf golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8 h1:aAcj0Da7eBAtrTp03QXWvm88pSyOt+UgdZw2BFZ+lEw= -golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8/go.mod h1:CQ1k9gNrJ50XIzaKCRR2hssIjF07kZFEiieALBM/ARQ= +golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f h1:99ci1mjWVBWwJiEKYY6jWa4d2nTQVIEhZIptnrVb1XY= +golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f/go.mod h1:/lliqkxwWAhPjf5oSOIJup2XcqJaw8RGS6k3TGEc7GI= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -443,8 +439,8 @@ golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.16.0 h1:QX4fJ0Rr5cPQCF7O9lh9Se4pmwfwskqZfq5moyldzic= -golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= +golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -531,8 +527,8 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.19.0 h1:tfGCXNR1OsFG+sVdLAitlpjAvD/I6dHDKnYrpEZUHkw= -golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc= +golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= +golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -580,8 +576,6 @@ gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/square/go-jose.v2 v2.6.0 h1:NGk74WTnPKBNUhNzQX7PYcTLUjoq7mzKk2OKbvwk2iI= -gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= @@ -597,8 +591,8 @@ k8s.io/apimachinery v0.30.1 h1:ZQStsEfo4n65yAdlGTfP/uSHMQSoYzU/oeEbkmF7P2U= k8s.io/apimachinery v0.30.1/go.mod h1:iexa2somDaxdnj7bha06bhb43Zpa6eWH8N8dbqVjTUc= k8s.io/klog/v2 v2.120.1 h1:QXU6cPEOIslTGvZaXvFWiP9VKyeet3sawzTOvdXb4Vw= k8s.io/klog/v2 v2.120.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= -k8s.io/utils v0.0.0-20240102154912-e7106e64919e h1:eQ/4ljkx21sObifjzXwlPKpdGLrCfRziVtos3ofG/sQ= -k8s.io/utils v0.0.0-20240102154912-e7106e64919e/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +k8s.io/utils v0.0.0-20240423183400-0849a56e8f22 h1:ao5hUqGhsqdm+bYbjH/pRkCs0unBGe9UyDahzs9zQzQ= +k8s.io/utils v0.0.0-20240423183400-0849a56e8f22/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4= diff --git a/test/test-mac.yaml b/test/test-mac.yaml new file mode 100644 index 00000000..7b2b6dc1 --- /dev/null +++ b/test/test-mac.yaml @@ -0,0 +1,31 @@ +# Copyright 2022 The Witness Contributors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +run: + signer-file-key-path: testkey.pem + step: build + trace: false + attestations: + - environment + - git +sign: + signer-file-key-path: testkey.pem + outfile: policy-signed.json +verify: + attestations: + - "build.attestation.json" + - "package.attestation.json" + policy: policy-signed.json + publickey: testpub.pem + artifactfile: testapp diff --git a/test/test.sh b/test/test.sh index 7c801b9e..2dd8650d 100755 --- a/test/test.sh +++ b/test/test.sh @@ -20,31 +20,39 @@ DIR="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 pwd -P )" + . "$DIR/common.sh" if ! checkprograms make tar; then exit 1 fi +test_config=test.yaml + +# if Darwin use test-mac.yaml +if [ "$(uname)" = "Darwin" ]; then + test_config=test-mac.yaml +fi + make -C ../ build rm -f ./policy-signed.json ./build.attestation.json ./package.attestation.json ./fail.attestation.json ./testapp ./testapp.tar.tgz echo "testing signing policy" -../bin/witness -c test.yaml -l debug sign -f policy.json +../bin/witness -c $test_config -l debug sign -f policy.json # successful test echo "testing witness run on build step" -../bin/witness -c test.yaml run -o build.attestation.json -- go build -o=testapp . +../bin/witness -c $test_config run -o build.attestation.json -- go build -o=testapp . echo "testing witness run on packaging step" -../bin/witness -c test.yaml run -s package -k ./testkey2.pem -o package.attestation.json -- tar czf ./testapp.tar.tgz ./testapp +../bin/witness -c $test_config run -s package -k ./testkey2.pem -o package.attestation.json -- tar czf ./testapp.tar.tgz ./testapp echo "testing witness verify" -../bin/witness -c test.yaml verify +../bin/witness -c $test_config verify # make sure we fail if we run with a key not in the policy echo "testing that witness verify fails with a key not in the policy" -../bin/witness -c test.yaml run -k failkey.pem -o ./fail.attestation.json -- go build -o=testapp . -../bin/witness -c test.yaml run -s package -k ./testkey2.pem -o package.attestation.json -- tar czf ./testapp.tar.tgz ./testapp +../bin/witness -c $test_config run -k failkey.pem -o ./fail.attestation.json -- go build -o=testapp . +../bin/witness -c $test_config run -s package -k ./testkey2.pem -o package.attestation.json -- tar czf ./testapp.tar.tgz ./testapp set +e -if ../bin/witness -c test.yaml verify -a ./fail.attestation.json -a ./package.attestation.json; then +if ../bin/witness -c $test_config verify -a ./fail.attestation.json -a ./package.attestation.json; then echo "expected verify to fail" exit 1 fi From 584b3ff8bd433cb6ec26905c0f6f6dca0453b9d8 Mon Sep 17 00:00:00 2001 From: John Kjell Date: Thu, 13 Jun 2024 15:05:27 -0500 Subject: [PATCH 4/5] Add testing and policy for SBOM attestations Signed-off-by: John Kjell --- test/sbom-policy-signed.json | 1 + test/sbom-policy.json | 38 ++++++++++++++++++++++++++++++++++++ test/sbom.spdx.json | 1 + test/spdx-att.json | 1 + test/test.sh | 3 +++ 5 files changed, 44 insertions(+) create mode 100644 test/sbom-policy-signed.json create mode 100644 test/sbom-policy.json create mode 100644 test/sbom.spdx.json create mode 100644 test/spdx-att.json diff --git a/test/sbom-policy-signed.json b/test/sbom-policy-signed.json new file mode 100644 index 00000000..b8c4343b --- /dev/null +++ b/test/sbom-policy-signed.json @@ -0,0 +1 @@ +{"payload":"ewogICJleHBpcmVzIjogIjIwMjUtMTItMTdUMjM6NTc6NDAtMDU6MDAiLAogICJzdGVwcyI6IHsKICAgICJzYm9tIjogewogICAgICAibmFtZSI6ICJzYm9tIiwKICAgICAgImF0dGVzdGF0aW9ucyI6IFsKICAgICAgICB7CiAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9tYXRlcmlhbC92MC4xIiwKICAgICAgICAgICJyZWdvcG9saWNpZXMiOiBbXQogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvY29tbWFuZC1ydW4vdjAuMSIsCiAgICAgICAgICAicmVnb3BvbGljaWVzIjogW10KICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJ0eXBlIjogImh0dHBzOi8vd2l0bmVzcy5kZXYvYXR0ZXN0YXRpb25zL2NvbW1hbmQtcnVuL3YwLjEiLAogICAgICAgICAgInJlZ29wb2xpY2llcyI6IFtdCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAidHlwZSI6ICJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9wcm9kdWN0L3YwLjEiLAogICAgICAgICAgInJlZ29wb2xpY2llcyI6IFtdCiAgICAgICAgfQogICAgICBdLAogICAgICAiZnVuY3Rpb25hcmllcyI6IFsKICAgICAgICB7CiAgICAgICAgICAidHlwZSI6ICJwdWJsaWNrZXkiLAogICAgICAgICAgInB1YmxpY2tleWlkIjogImFlMmRjYzk4OWVhOWMxMDlhMzZlOGViYTVjNGJjMTZkOGZhZmNmZThlMWE2MTQxNjQ2NzBkNTBhZWRhY2Q2NDciCiAgICAgICAgfQogICAgICBdCiAgICB9CiAgfSwKICAicHVibGlja2V5cyI6IHsKICAgICJhZTJkY2M5ODllYTljMTA5YTM2ZThlYmE1YzRiYzE2ZDhmYWZjZmU4ZTFhNjE0MTY0NjcwZDUwYWVkYWNkNjQ3IjogewogICAgICAia2V5aWQiOiAiYWUyZGNjOTg5ZWE5YzEwOWEzNmU4ZWJhNWM0YmMxNmQ4ZmFmY2ZlOGUxYTYxNDE2NDY3MGQ1MGFlZGFjZDY0NyIsCiAgICAgICJrZXkiOiAiTFMwdExTMUNSVWRKVGlCUVZVSk1TVU1nUzBWWkxTMHRMUzBLVFVOdmQwSlJXVVJMTWxaM1FYbEZRV1l5T1c5UVVEaFZaMmhDZVVjNE5USjFRbVJQZUhKS1MwdHVOMDFOTldoVVlsQTVaWE5uVDFvdmF6QTlDaTB0TFMwdFJVNUVJRkJWUWt4SlF5QkxSVmt0TFMwdExRbz0iCiAgICB9CiAgfQp9Cg==","payloadType":"https://witness.testifysec.com/policy/v0.1","signatures":[{"keyid":"ae2dcc989ea9c109a36e8eba5c4bc16d8fafcfe8e1a614164670d50aedacd647","sig":"8CZIdUNegugaCxdekSJLscZ6D9+GatKj9ZqWdAtiScHr3ir8n6jB2iCKPYKestX8CASq3Kumq8s06zxHfMvXCw=="}]} diff --git a/test/sbom-policy.json b/test/sbom-policy.json new file mode 100644 index 00000000..8b756765 --- /dev/null +++ b/test/sbom-policy.json @@ -0,0 +1,38 @@ +{ + "expires": "2025-12-17T23:57:40-05:00", + "steps": { + "sbom": { + "name": "sbom", + "attestations": [ + { + "type": "https://witness.dev/attestations/material/v0.1", + "regopolicies": [] + }, + { + "type": "https://witness.dev/attestations/command-run/v0.1", + "regopolicies": [] + }, + { + "type": "https://witness.dev/attestations/command-run/v0.1", + "regopolicies": [] + }, + { + "type": "https://witness.dev/attestations/product/v0.1", + "regopolicies": [] + } + ], + "functionaries": [ + { + "type": "publickey", + "publickeyid": "ae2dcc989ea9c109a36e8eba5c4bc16d8fafcfe8e1a614164670d50aedacd647" + } + ] + } + }, + "publickeys": { + "ae2dcc989ea9c109a36e8eba5c4bc16d8fafcfe8e1a614164670d50aedacd647": { + "keyid": "ae2dcc989ea9c109a36e8eba5c4bc16d8fafcfe8e1a614164670d50aedacd647", + "key": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUNvd0JRWURLMlZ3QXlFQWYyOW9QUDhVZ2hCeUc4NTJ1QmRPeHJKS0tuN01NNWhUYlA5ZXNnT1ovazA9Ci0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQo=" + } + } +} diff --git a/test/sbom.spdx.json b/test/sbom.spdx.json new file mode 100644 index 00000000..4dfcd311 --- /dev/null +++ b/test/sbom.spdx.json @@ -0,0 +1 @@ +{"spdxVersion":"SPDX-2.3","dataLicense":"CC0-1.0","SPDXID":"SPDXRef-DOCUMENT","name":"alpine","documentNamespace":"https://anchore.com/syft/image/alpine-7d3763fe-b0b0-4bb8-8d36-2fd15cf369ac","creationInfo":{"licenseListVersion":"3.24","creators":["Organization: Anchore, Inc","Tool: syft-1.5.0"],"created":"2024-06-13T18:27:26Z"},"packages":[{"name":"alpine-baselayout","SPDXID":"SPDXRef-Package-apk-alpine-baselayout-21e54be9d7ca763c","versionInfo":"3.6.5-r0","supplier":"Person: Natanael Copa (ncopa@alpinelinux.org)","originator":"Person: Natanael Copa (ncopa@alpinelinux.org)","downloadLocation":"https://git.alpinelinux.org/cgit/aports/tree/main/alpine-baselayout","filesAnalyzed":true,"packageVerificationCode":{"packageVerificationCodeValue":"6a22bff30e2aed347029eeb9d51c810613705455"},"sourceInfo":"acquired package info from APK DB: /lib/apk/db/installed","licenseConcluded":"NOASSERTION","licenseDeclared":"GPL-2.0-only","copyrightText":"NOASSERTION","description":"Alpine base dir structure and init scripts","externalRefs":[{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:alpine-baselayout:alpine-baselayout:3.6.5-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:alpine-baselayout:alpine_baselayout:3.6.5-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:alpine_baselayout:alpine-baselayout:3.6.5-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:alpine_baselayout:alpine_baselayout:3.6.5-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:alpine:alpine-baselayout:3.6.5-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:alpine:alpine_baselayout:3.6.5-r0:*:*:*:*:*:*:*"},{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:apk/alpine/alpine-baselayout@3.6.5-r0?arch=aarch64&distro=alpine-3.20.0"}]},{"name":"alpine-baselayout-data","SPDXID":"SPDXRef-Package-apk-alpine-baselayout-data-9ff96f942d2401f2","versionInfo":"3.6.5-r0","supplier":"Person: Natanael Copa (ncopa@alpinelinux.org)","originator":"Person: Natanael Copa (ncopa@alpinelinux.org)","downloadLocation":"https://git.alpinelinux.org/cgit/aports/tree/main/alpine-baselayout","filesAnalyzed":true,"packageVerificationCode":{"packageVerificationCodeValue":"6a7d69893b8bca00a39ad9a06c6a7e2833593ad0"},"sourceInfo":"acquired package info from APK DB: /lib/apk/db/installed","licenseConcluded":"NOASSERTION","licenseDeclared":"GPL-2.0-only","copyrightText":"NOASSERTION","description":"Alpine base dir structure and init scripts","externalRefs":[{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:alpine-baselayout-data:alpine-baselayout-data:3.6.5-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:alpine-baselayout-data:alpine_baselayout_data:3.6.5-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:alpine_baselayout_data:alpine-baselayout-data:3.6.5-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:alpine_baselayout_data:alpine_baselayout_data:3.6.5-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:alpine-baselayout:alpine-baselayout-data:3.6.5-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:alpine-baselayout:alpine_baselayout_data:3.6.5-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:alpine_baselayout:alpine-baselayout-data:3.6.5-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:alpine_baselayout:alpine_baselayout_data:3.6.5-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:alpine:alpine-baselayout-data:3.6.5-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:alpine:alpine_baselayout_data:3.6.5-r0:*:*:*:*:*:*:*"},{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:apk/alpine/alpine-baselayout-data@3.6.5-r0?arch=aarch64&upstream=alpine-baselayout&distro=alpine-3.20.0"}]},{"name":"alpine-keys","SPDXID":"SPDXRef-Package-apk-alpine-keys-0e5100e3d266a135","versionInfo":"2.4-r1","supplier":"Person: Natanael Copa (ncopa@alpinelinux.org)","originator":"Person: Natanael Copa (ncopa@alpinelinux.org)","downloadLocation":"https://alpinelinux.org","filesAnalyzed":true,"packageVerificationCode":{"packageVerificationCodeValue":"555910826b4a68482679b6d4809b1502dd6d46ab"},"sourceInfo":"acquired package info from APK DB: /lib/apk/db/installed","licenseConcluded":"NOASSERTION","licenseDeclared":"MIT","copyrightText":"NOASSERTION","description":"Public keys for Alpine Linux packages","externalRefs":[{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:alpine-keys:alpine-keys:2.4-r1:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:alpine-keys:alpine_keys:2.4-r1:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:alpine_keys:alpine-keys:2.4-r1:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:alpine_keys:alpine_keys:2.4-r1:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:alpine:alpine-keys:2.4-r1:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:alpine:alpine_keys:2.4-r1:*:*:*:*:*:*:*"},{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:apk/alpine/alpine-keys@2.4-r1?arch=aarch64&distro=alpine-3.20.0"}]},{"name":"apk-tools","SPDXID":"SPDXRef-Package-apk-apk-tools-78c55d64ab350462","versionInfo":"2.14.4-r0","supplier":"Person: Natanael Copa (ncopa@alpinelinux.org)","originator":"Person: Natanael Copa (ncopa@alpinelinux.org)","downloadLocation":"https://gitlab.alpinelinux.org/alpine/apk-tools","filesAnalyzed":true,"packageVerificationCode":{"packageVerificationCodeValue":"e09707a797756cf9daf1c3f5832e7c4499a04266"},"sourceInfo":"acquired package info from APK DB: /lib/apk/db/installed","licenseConcluded":"NOASSERTION","licenseDeclared":"GPL-2.0-only","copyrightText":"NOASSERTION","description":"Alpine Package Keeper - package manager for alpine","externalRefs":[{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:apk-tools:apk-tools:2.14.4-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:apk-tools:apk_tools:2.14.4-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:apk_tools:apk-tools:2.14.4-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:apk_tools:apk_tools:2.14.4-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:apk:apk-tools:2.14.4-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:apk:apk_tools:2.14.4-r0:*:*:*:*:*:*:*"},{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:apk/alpine/apk-tools@2.14.4-r0?arch=aarch64&distro=alpine-3.20.0"}]},{"name":"busybox","SPDXID":"SPDXRef-Package-apk-busybox-4cea7ce2e2974c99","versionInfo":"1.36.1-r28","supplier":"NOASSERTION","downloadLocation":"https://busybox.net/","filesAnalyzed":true,"packageVerificationCode":{"packageVerificationCodeValue":"c873508e0b37506b4b2d3006b4ce096069b6ab9a"},"sourceInfo":"acquired package info from APK DB: /lib/apk/db/installed","licenseConcluded":"NOASSERTION","licenseDeclared":"GPL-2.0-only","copyrightText":"NOASSERTION","description":"Size optimized toolbox of many common UNIX utilities","externalRefs":[{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:busybox:busybox:1.36.1-r28:*:*:*:*:*:*:*"},{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:apk/alpine/busybox@1.36.1-r28?arch=aarch64&distro=alpine-3.20.0"}]},{"name":"busybox-binsh","SPDXID":"SPDXRef-Package-apk-busybox-binsh-1fd95b4d43a9f438","versionInfo":"1.36.1-r28","supplier":"NOASSERTION","downloadLocation":"https://busybox.net/","filesAnalyzed":true,"packageVerificationCode":{"packageVerificationCodeValue":"71bd3a1b510b531ba920457cfaa87f907c6cd091"},"sourceInfo":"acquired package info from APK DB: /lib/apk/db/installed","licenseConcluded":"NOASSERTION","licenseDeclared":"GPL-2.0-only","copyrightText":"NOASSERTION","description":"busybox ash /bin/sh","externalRefs":[{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:busybox-binsh:busybox-binsh:1.36.1-r28:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:busybox-binsh:busybox_binsh:1.36.1-r28:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:busybox_binsh:busybox-binsh:1.36.1-r28:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:busybox_binsh:busybox_binsh:1.36.1-r28:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:busybox:busybox-binsh:1.36.1-r28:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:busybox:busybox_binsh:1.36.1-r28:*:*:*:*:*:*:*"},{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:apk/alpine/busybox-binsh@1.36.1-r28?arch=aarch64&upstream=busybox&distro=alpine-3.20.0"}]},{"name":"ca-certificates-bundle","SPDXID":"SPDXRef-Package-apk-ca-certificates-bundle-bf42440dd0b61727","versionInfo":"20240226-r0","supplier":"Person: Natanael Copa (ncopa@alpinelinux.org)","originator":"Person: Natanael Copa (ncopa@alpinelinux.org)","downloadLocation":"https://www.mozilla.org/en-US/about/governance/policies/security-group/certs/","filesAnalyzed":true,"packageVerificationCode":{"packageVerificationCodeValue":"ed7a773d52aea0765c0db03bb25b01b5f0f50f3c"},"sourceInfo":"acquired package info from APK DB: /lib/apk/db/installed","licenseConcluded":"NOASSERTION","licenseDeclared":"(MPL-2.0 AND MIT)","copyrightText":"NOASSERTION","description":"Pre generated bundle of Mozilla certificates","externalRefs":[{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:ca-certificates-bundle:ca-certificates-bundle:20240226-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:ca-certificates-bundle:ca_certificates_bundle:20240226-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:ca_certificates_bundle:ca-certificates-bundle:20240226-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:ca_certificates_bundle:ca_certificates_bundle:20240226-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:ca-certificates:ca-certificates-bundle:20240226-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:ca-certificates:ca_certificates_bundle:20240226-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:ca_certificates:ca-certificates-bundle:20240226-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:ca_certificates:ca_certificates_bundle:20240226-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:mozilla:ca-certificates-bundle:20240226-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:mozilla:ca_certificates_bundle:20240226-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:ca:ca-certificates-bundle:20240226-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:ca:ca_certificates_bundle:20240226-r0:*:*:*:*:*:*:*"},{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:apk/alpine/ca-certificates-bundle@20240226-r0?arch=aarch64&upstream=ca-certificates&distro=alpine-3.20.0"}]},{"name":"libcrypto3","SPDXID":"SPDXRef-Package-apk-libcrypto3-0cfcda1a242dfd13","versionInfo":"3.3.0-r2","supplier":"Person: Natanael Copa (ncopa@alpinelinux.org)","originator":"Person: Natanael Copa (ncopa@alpinelinux.org)","downloadLocation":"https://www.openssl.org/","filesAnalyzed":true,"packageVerificationCode":{"packageVerificationCodeValue":"ae6bdffda4acbdf371b8ccc19dba2e7a525d08e1"},"sourceInfo":"acquired package info from APK DB: /lib/apk/db/installed","licenseConcluded":"NOASSERTION","licenseDeclared":"Apache-2.0","copyrightText":"NOASSERTION","description":"Crypto library from openssl","externalRefs":[{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:libcrypto3:libcrypto3:3.3.0-r2:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:libcrypto3:libcrypto:3.3.0-r2:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:libcrypto:libcrypto3:3.3.0-r2:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:libcrypto:libcrypto:3.3.0-r2:*:*:*:*:*:*:*"},{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:apk/alpine/libcrypto3@3.3.0-r2?arch=aarch64&upstream=openssl&distro=alpine-3.20.0"}]},{"name":"libssl3","SPDXID":"SPDXRef-Package-apk-libssl3-1bffb507b1b535bc","versionInfo":"3.3.0-r2","supplier":"Person: Natanael Copa (ncopa@alpinelinux.org)","originator":"Person: Natanael Copa (ncopa@alpinelinux.org)","downloadLocation":"https://www.openssl.org/","filesAnalyzed":true,"packageVerificationCode":{"packageVerificationCodeValue":"bdcc4aef521963183255243c4256cc3348a6796b"},"sourceInfo":"acquired package info from APK DB: /lib/apk/db/installed","licenseConcluded":"NOASSERTION","licenseDeclared":"Apache-2.0","copyrightText":"NOASSERTION","description":"SSL shared libraries","externalRefs":[{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:libssl3:libssl3:3.3.0-r2:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:libssl3:libssl:3.3.0-r2:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:libssl:libssl3:3.3.0-r2:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:libssl:libssl:3.3.0-r2:*:*:*:*:*:*:*"},{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:apk/alpine/libssl3@3.3.0-r2?arch=aarch64&upstream=openssl&distro=alpine-3.20.0"}]},{"name":"musl","SPDXID":"SPDXRef-Package-apk-musl-03e521237cbed45a","versionInfo":"1.2.5-r0","supplier":"Person: Natanael Copa (ncopa@alpinelinux.org)","originator":"Person: Natanael Copa (ncopa@alpinelinux.org)","downloadLocation":"https://musl.libc.org/","filesAnalyzed":true,"packageVerificationCode":{"packageVerificationCodeValue":"498ba4340e8deb05fbea7e1053b734717307dd81"},"sourceInfo":"acquired package info from APK DB: /lib/apk/db/installed","licenseConcluded":"NOASSERTION","licenseDeclared":"MIT","copyrightText":"NOASSERTION","description":"the musl c library (libc) implementation","externalRefs":[{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:musl-libc:musl:1.2.5-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:musl_libc:musl:1.2.5-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:musl:musl:1.2.5-r0:*:*:*:*:*:*:*"},{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:apk/alpine/musl@1.2.5-r0?arch=aarch64&distro=alpine-3.20.0"}]},{"name":"musl-utils","SPDXID":"SPDXRef-Package-apk-musl-utils-c84ae08b59df5c6e","versionInfo":"1.2.5-r0","supplier":"Person: Natanael Copa (ncopa@alpinelinux.org)","originator":"Person: Natanael Copa (ncopa@alpinelinux.org)","downloadLocation":"https://musl.libc.org/","filesAnalyzed":true,"packageVerificationCode":{"packageVerificationCodeValue":"c05211eeb2d680bcd129b57790feea2157222f93"},"sourceInfo":"acquired package info from APK DB: /lib/apk/db/installed","licenseConcluded":"NOASSERTION","licenseDeclared":"(MIT AND BSD-2-Clause AND GPL-2.0-or-later)","copyrightText":"NOASSERTION","description":"the musl c library (libc) implementation","externalRefs":[{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:musl-utils:musl-utils:1.2.5-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:musl-utils:musl_utils:1.2.5-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:musl_utils:musl-utils:1.2.5-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:musl_utils:musl_utils:1.2.5-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:musl-libc:musl-utils:1.2.5-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:musl-libc:musl_utils:1.2.5-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:musl:musl-utils:1.2.5-r0:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:musl:musl_utils:1.2.5-r0:*:*:*:*:*:*:*"},{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:apk/alpine/musl-utils@1.2.5-r0?arch=aarch64&upstream=musl&distro=alpine-3.20.0"}]},{"name":"scanelf","SPDXID":"SPDXRef-Package-apk-scanelf-54f3623fdd8fb8d4","versionInfo":"1.3.7-r2","supplier":"Person: Natanael Copa (ncopa@alpinelinux.org)","originator":"Person: Natanael Copa (ncopa@alpinelinux.org)","downloadLocation":"https://wiki.gentoo.org/wiki/Hardened/PaX_Utilities","filesAnalyzed":true,"packageVerificationCode":{"packageVerificationCodeValue":"98c686afd83394fddb10bd9239ec6b5a474397f1"},"sourceInfo":"acquired package info from APK DB: /lib/apk/db/installed","licenseConcluded":"NOASSERTION","licenseDeclared":"GPL-2.0-only","copyrightText":"NOASSERTION","description":"Scan ELF binaries for stuff","externalRefs":[{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:scanelf:scanelf:1.3.7-r2:*:*:*:*:*:*:*"},{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:apk/alpine/scanelf@1.3.7-r2?arch=aarch64&upstream=pax-utils&distro=alpine-3.20.0"}]},{"name":"ssl_client","SPDXID":"SPDXRef-Package-apk-ssl-client-6bbb10e52b8e7eb4","versionInfo":"1.36.1-r28","supplier":"NOASSERTION","downloadLocation":"https://busybox.net/","filesAnalyzed":true,"packageVerificationCode":{"packageVerificationCodeValue":"7d5a1591577ff883690877e5b50998b7950f9ac7"},"sourceInfo":"acquired package info from APK DB: /lib/apk/db/installed","licenseConcluded":"NOASSERTION","licenseDeclared":"GPL-2.0-only","copyrightText":"NOASSERTION","description":"EXternal ssl_client for busybox wget","externalRefs":[{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:ssl-client:ssl-client:1.36.1-r28:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:ssl-client:ssl_client:1.36.1-r28:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:ssl_client:ssl-client:1.36.1-r28:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:ssl_client:ssl_client:1.36.1-r28:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:ssl:ssl-client:1.36.1-r28:*:*:*:*:*:*:*"},{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:ssl:ssl_client:1.36.1-r28:*:*:*:*:*:*:*"},{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:apk/alpine/ssl_client@1.36.1-r28?arch=aarch64&upstream=busybox&distro=alpine-3.20.0"}]},{"name":"zlib","SPDXID":"SPDXRef-Package-apk-zlib-d8258d3d7c48cfbf","versionInfo":"1.3.1-r1","supplier":"Person: Natanael Copa (ncopa@alpinelinux.org)","originator":"Person: Natanael Copa (ncopa@alpinelinux.org)","downloadLocation":"https://zlib.net/","filesAnalyzed":true,"packageVerificationCode":{"packageVerificationCodeValue":"144c1bbadb241708c66589af3af429734cb73bb0"},"sourceInfo":"acquired package info from APK DB: /lib/apk/db/installed","licenseConcluded":"NOASSERTION","licenseDeclared":"Zlib","copyrightText":"NOASSERTION","description":"A compression/decompression Library","externalRefs":[{"referenceCategory":"SECURITY","referenceType":"cpe23Type","referenceLocator":"cpe:2.3:a:zlib:zlib:1.3.1-r1:*:*:*:*:*:*:*"},{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:apk/alpine/zlib@1.3.1-r1?arch=aarch64&distro=alpine-3.20.0"}]},{"name":"alpine","SPDXID":"SPDXRef-DocumentRoot-Image-alpine","versionInfo":"sha256:8946eb426fbf9ed6260ee859e60462b834c8d1d50349f15e73aa17928f7991e8","supplier":"NOASSERTION","downloadLocation":"NOASSERTION","filesAnalyzed":false,"checksums":[{"algorithm":"SHA256","checksumValue":"8946eb426fbf9ed6260ee859e60462b834c8d1d50349f15e73aa17928f7991e8"}],"licenseConcluded":"NOASSERTION","licenseDeclared":"NOASSERTION","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:oci/alpine@sha256:8946eb426fbf9ed6260ee859e60462b834c8d1d50349f15e73aa17928f7991e8?arch=arm64"}],"primaryPackagePurpose":"CONTAINER"}],"files":[{"fileName":"/bin/busybox","SPDXID":"SPDXRef-File-bin-busybox-909c5f40cb01cb38","fileTypes":["APPLICATION","BINARY"],"checksums":[{"algorithm":"SHA1","checksumValue":"db850d50e6edff81a9f1af582aaf9b843b0981e3"},{"algorithm":"SHA256","checksumValue":"19f15cbea8d91421f7f8d5086a494048d305a922a8cad88f0a4836299411ac12"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/apk/keys/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub","SPDXID":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-524d27bb.rsa.pub-6742b949ff851b46","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"053a92f87fd4532850bb31f0881978efe0532ae5"},{"algorithm":"SHA256","checksumValue":"1bb2a846c0ea4ca9d0e7862f970863857fc33c32f5506098c636a62a726a847b"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/apk/keys/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub","SPDXID":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-58199dcc.rsa.pub-444fb4815b9c5fa7","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"39ac5d72c6ba018a0f74b8b453894edc9db07b5f"},{"algorithm":"SHA256","checksumValue":"73867d92083f2f8ab899a26ccda7ef63dfaa0032a938620eda605558958a8041"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/apk/keys/alpine-devel@lists.alpinelinux.org-616a9724.rsa.pub","SPDXID":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-616a9724.rsa.pub-cfc1d017a48ee9e7","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"23d0f2ea1af269c2f66165e0f8a944e96bf011de"},{"algorithm":"SHA256","checksumValue":"10877cce0a935e46ad88cb79e174a2491680508eccda08e92bf04fb9bf37fbc1"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/apk/keys/alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pub","SPDXID":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-616adfeb.rsa.pub-ed83cb346d241bdf","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"de1241307014aae3dba798e900f163408d98d6f4"},{"algorithm":"SHA256","checksumValue":"ebe717d228555aa58133c202314a451f81e71f174781fd7ff8d8970d6cfa60da"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/apk/keys/alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub","SPDXID":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-616ae350.rsa.pub-76207aeaad529724","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"57f6b93fda4a4496fab62844ddef0eeb168f80b5"},{"algorithm":"SHA256","checksumValue":"d11f6b21c61b4274e182eb888883a8ba8acdbf820dcc7a6d82a7d9fc2fd2836d"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/busybox-paths.d/busybox","SPDXID":"SPDXRef-File-etc-busybox-paths.d-busybox-6a326fdbd2e5a86c","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"af9972dab927fb4bfcbf574de8cf870492a66657"},{"algorithm":"SHA256","checksumValue":"e12e0822f5c6426b62f07799a0fc20394241535c5bc2cc8f10c8a25088b8defa"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/crontabs/root","SPDXID":"SPDXRef-File-etc-crontabs-root-351da988aba8a527","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"bdf9356a9516238c8b2468613517749098b17ef6"},{"algorithm":"SHA256","checksumValue":"575d810a9fae5f2f0671c9b2c0ce973e46c7207fbe5cb8d1b0d1836a6a0470e3"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/fstab","SPDXID":"SPDXRef-File-etc-fstab-0c5c3473875a5b85","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"d50ee135ef10a434b9df582ea8276b5c1ce803fa"},{"algorithm":"SHA256","checksumValue":"a3efca2e8d62785c87517283092b4c800d88612b6f3f06b80a4c2f39d8e68841"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/group","SPDXID":"SPDXRef-File-etc-group-cc490babc7ba6984","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"d8eb64e0cdfd7cfd998e4a1bbb49c2f45be5448d"},{"algorithm":"SHA256","checksumValue":"6fb6ab5a5526e6f4896b70c7e3c350fd475158a1f0d7b5fc0f3f9bd57f1c3be8"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/hostname","SPDXID":"SPDXRef-File-etc-hostname-18f4143fa24a5309","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"ea75706155cffed0a1bd43ddba4543da27d73a67"},{"algorithm":"SHA256","checksumValue":"d906aecb61d076a967d9ffe8821c7b04b063f72df9d9e35b33ef36b1c0d98f16"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/hosts","SPDXID":"SPDXRef-File-etc-hosts-097d60485ef1a565","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"043eb324a653456caa1a73e2e2d49f77792bb0c5"},{"algorithm":"SHA256","checksumValue":"e3998dbe02b51dada33de87ae43d18a93ab6915b9e34f5a751bf2b9b25a55492"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/inittab","SPDXID":"SPDXRef-File-etc-inittab-273285a459443001","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"ce9586d2acf1d9462765259a21ccc4f96a402151"},{"algorithm":"SHA256","checksumValue":"7326d8ad56bf5fea63b1ca516a747ff6e6723e25ae84a93c31620b03de6c001d"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/logrotate.d/acpid","SPDXID":"SPDXRef-File-etc-logrotate.d-acpid-e47331443c3f2fdc","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"4f29720883559a74be03f4de69de2f66113b064b"},{"algorithm":"SHA256","checksumValue":"d608a3b7715886b5735def0cc50a6359fd364fac2e0e0a459c588c04be471031"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/modprobe.d/aliases.conf","SPDXID":"SPDXRef-File-etc-modprobe.d-aliases.conf-8ac9ab5944e0b537","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"5946e1e930583552bb7b863eb94bcbb3feef8aa9"},{"algorithm":"SHA256","checksumValue":"3ebaba946f213670170c7d69949f690a3854553bd0b1560f1d980cba4c83a942"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/modprobe.d/blacklist.conf","SPDXID":"SPDXRef-File-etc-modprobe.d-blacklist.conf-abf9fc46510ff77c","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"e1376014791376ddee402f8d06dae7b4e9e6f67e"},{"algorithm":"SHA256","checksumValue":"5cd46031fc7dc7186e67c97fd34780597de4ebff51dbe41eba27220fe5e0d866"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/modprobe.d/i386.conf","SPDXID":"SPDXRef-File-etc-modprobe.d-i386.conf-e9054a53c22e88cf","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"a676b2fe78e7ea897d702b2c2fb2a2659f1eb657"},{"algorithm":"SHA256","checksumValue":"6c46c4cbfb8b7594f19eb94801a350fa2221ae9ac5239a8819d15555caa76ae8"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/modprobe.d/kms.conf","SPDXID":"SPDXRef-File-etc-modprobe.d-kms.conf-77f620d7a99cffa8","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"ca76cb9f71980e9bda8db6bf95da759e26b27a88"},{"algorithm":"SHA256","checksumValue":"50467fa732f809f3a2bb5738628765c5f895c3a237e1c1ad09f85d41fd9ca7c5"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/modules","SPDXID":"SPDXRef-File-etc-modules-f9e050b82be1ad75","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"b68a208d48a91c670c8040a03c95fae12c144f53"},{"algorithm":"SHA256","checksumValue":"2c881de75a5409c35d2433a24f180b8b02ba478ef2c1c60ea3434a35bcbc335d"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/motd","SPDXID":"SPDXRef-File-etc-motd-9a55980593b74a03","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"48b912f610627546cfc30af0f974745a1bf7c30f"},{"algorithm":"SHA256","checksumValue":"ff044e9be5daa2eee2d3d10a4da72e5477e4c24c16f1792de2c91dae844c0e30"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/network/if-up.d/dad","SPDXID":"SPDXRef-File-etc-network-if-up.d-dad-e17f6cd71c480b11","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"ddd99bc197c36e8a9aab9463aaeebda44a7a8029"},{"algorithm":"SHA256","checksumValue":"2fd20d1bc67d9ee711990002b24f156635a73f56b8935b2f76592938817fa4e7"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/nsswitch.conf","SPDXID":"SPDXRef-File-etc-nsswitch.conf-26adb8feffe4129b","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"f4306c327bf44767da8da4e3a13bf40bdd4d3aaa"},{"algorithm":"SHA256","checksumValue":"0afd94c183d30a348b45057f6bf468e121aa448a7641109addb5bb8e282f514d"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/passwd","SPDXID":"SPDXRef-File-etc-passwd-7accffa8923d35e9","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"afe6cba27664032062c7f1cb812783b1ecf6d99b"},{"algorithm":"SHA256","checksumValue":"31a94f06f17bc3b9085fccab1d0fa6ee9e79c4a1e4d91f617fa5de95863be015"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/profile","SPDXID":"SPDXRef-File-etc-profile-6dfdb9518e6b63ef","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"54dd1d99ac0383798113f96307ee9b52b0bb0f37"},{"algorithm":"SHA256","checksumValue":"87e8643d3ce156de0c09370d4d39446f30bd00d264bea248abc191c4d7b9df3e"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/profile.d/20locale.sh","SPDXID":"SPDXRef-File-etc-profile.d-20locale.sh-4738cb952eababba","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"96adbd950ccf992085295990f9bbe667f0cf4c4e"},{"algorithm":"SHA256","checksumValue":"284a6ef56ab97a13a777c6b01ae14f2cc3d2b7a29c19e750e622e70cc3c73186"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/profile.d/README","SPDXID":"SPDXRef-File-etc-profile.d-README-3be87e7f154adb63","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"df9396b02cf3be70767e6171eb691baa6d40c759"},{"algorithm":"SHA256","checksumValue":"b73284f27fe2da9ae1902b1fe9596c3ffc61a154e2805a034184f0468f8b09b0"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/profile.d/color_prompt.sh.disabled","SPDXID":"SPDXRef-File-etc-profile.d-color-prompt.sh.disabled-eeb93048af63bf64","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"d5733d99d7b5676f6d58c19a3a47a8bc3fe6e2e5"},{"algorithm":"SHA256","checksumValue":"ba24425c6864a5d17fa0fdaf914c4d21419e47c4d62080c33830af059fe46617"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/protocols","SPDXID":"SPDXRef-File-etc-protocols-5f1d8d1482d973b6","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"d5f9654539089b96f1b1956848d783527da6fb47"},{"algorithm":"SHA256","checksumValue":"4959498abbadaa1e50894a266f8d0d94500101cfe5b5f09dcad82e9d5bdfab46"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/securetty","SPDXID":"SPDXRef-File-etc-securetty-f5826ff16d6eaebb","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"0e29ce7fa251a4246033abcdaa339ec5dde84a75"},{"algorithm":"SHA256","checksumValue":"713fcea5109728883b9147e822429133fcc8b5e253afd3c2a197b10cd0bc3b4d"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/services","SPDXID":"SPDXRef-File-etc-services-812b3f1a2d583f29","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"a0d7a229bf049f7fe17e8445226236e4024535d0"},{"algorithm":"SHA256","checksumValue":"f6183055fd949f9c53d49ee620f85d0150123ea691d25ed1bba0c641b4ee2f48"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/shadow","SPDXID":"SPDXRef-File-etc-shadow-a1d64c72d061cd92","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"fdcce813d9a3aa27fffcf07126d2deabf17cb057"},{"algorithm":"SHA256","checksumValue":"d5992a27f05f380fc5faeb82a3359e2f230fd1d6ea6517b45892b771a2194ddb"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/shells","SPDXID":"SPDXRef-File-etc-shells-2dc73ba417bebb75","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"a239b661da4227a07f6a9183699fd275bdb12640"},{"algorithm":"SHA256","checksumValue":"24be6ceb236610df45684c83b06c918ae45635be55f69975e43676b7595bbc5f"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/ssl/certs/ca-certificates.crt","SPDXID":"SPDXRef-File-etc-ssl-certs-ca-certificates.crt-c7ec96e3f9d22e5e","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"ef142b502de28cb73fab260c80032bbb9013f2bd"},{"algorithm":"SHA256","checksumValue":"37acffef4900dc598edca36a177c60ca77f9130b5a93b1344d713ac4abcf94c1"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/ssl/ct_log_list.cnf","SPDXID":"SPDXRef-File-etc-ssl-ct-log-list.cnf-7c00b4ab1629d304","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"a2587c4e97408b64274e5e052b74e3754892c13a"},{"algorithm":"SHA256","checksumValue":"f1c1803d13d1d0b755b13b23c28bd4e20e07baf9f2b744c9337ba5866aa0ec3b"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/ssl/ct_log_list.cnf.dist","SPDXID":"SPDXRef-File-etc-ssl-ct-log-list.cnf.dist-4706267d3fefbca6","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"a2587c4e97408b64274e5e052b74e3754892c13a"},{"algorithm":"SHA256","checksumValue":"f1c1803d13d1d0b755b13b23c28bd4e20e07baf9f2b744c9337ba5866aa0ec3b"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/ssl/openssl.cnf","SPDXID":"SPDXRef-File-etc-ssl-openssl.cnf-e2fe362bf9fd5340","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"c6aaa437fab0d4186ff361da58952c45447f0181"},{"algorithm":"SHA256","checksumValue":"3a0c65ff954aff207420846926d31d1b6056be525a0f3d38dff21f5b89f90688"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/ssl/openssl.cnf.dist","SPDXID":"SPDXRef-File-etc-ssl-openssl.cnf.dist-a2fcecd0c7860aea","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"c6aaa437fab0d4186ff361da58952c45447f0181"},{"algorithm":"SHA256","checksumValue":"3a0c65ff954aff207420846926d31d1b6056be525a0f3d38dff21f5b89f90688"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/sysctl.conf","SPDXID":"SPDXRef-File-etc-sysctl.conf-2eede682f1d2d57e","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"e2ea73ded7e7371664204b148569fb5e88b0f7a8"},{"algorithm":"SHA256","checksumValue":"8bba47da45bc8715c69ac904a60410eabffaa7bbbef640f9c1368ab9c48493d0"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/etc/udhcpc/udhcpc.conf","SPDXID":"SPDXRef-File-etc-udhcpc-udhcpc.conf-a8f34a90829fb0c8","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"9bc069e434228e6ca441848bfb7a6bac23fa148a"},{"algorithm":"SHA256","checksumValue":"5b372209e01cda07c87b8afa6d1ab3d7e8daf18a1f2332d744203a6dc289eb1a"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/lib/apk/db/installed","SPDXID":"SPDXRef-File-lib-apk-db-installed-8363b4a677041553","checksums":[{"algorithm":"SHA1","checksumValue":"0000000000000000000000000000000000000000"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/lib/ld-musl-aarch64.so.1","SPDXID":"SPDXRef-File-lib-ld-musl-aarch64.so.1-15ac5a87021c605c","fileTypes":["APPLICATION","BINARY"],"checksums":[{"algorithm":"SHA1","checksumValue":"50859585e21254306aeb74426d5dd4537cbe3305"},{"algorithm":"SHA256","checksumValue":"59420a762274dddac5c3d7d612564d0d6f76c54a0edf0bdf167fea661bb6d6bf"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/lib/libapk.so.2.14.0","SPDXID":"SPDXRef-File-lib-libapk.so.2.14.0-85382abc3213df0c","fileTypes":["APPLICATION","BINARY"],"checksums":[{"algorithm":"SHA1","checksumValue":"d6eed4bf4133792285922c44322d42e196405e50"},{"algorithm":"SHA256","checksumValue":"3d9d886647cc576d1c3bab0dc1a4d4e752a2f4b7d8bd5c6abfe11acccb3e4409"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/lib/libcrypto.so.3","SPDXID":"SPDXRef-File-lib-libcrypto.so.3-d7aa31f07714a25f","fileTypes":["APPLICATION","BINARY"],"checksums":[{"algorithm":"SHA1","checksumValue":"eddc1d6d87670038a43530097662cb6eee36e624"},{"algorithm":"SHA256","checksumValue":"0f9439f7e7f83e4ae355fa957ffe6878b03c467cb289dbc56f65ce058729de6d"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/lib/libssl.so.3","SPDXID":"SPDXRef-File-lib-libssl.so.3-942e1a73404f4c12","fileTypes":["APPLICATION","BINARY"],"checksums":[{"algorithm":"SHA1","checksumValue":"3f1e772e6d4a99fecf0a608f6e42d7da2069c73c"},{"algorithm":"SHA256","checksumValue":"5136a0a97053a7694de117eaec692c85bee2062b8e6907dc875599dc56629384"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/lib/libz.so.1.3.1","SPDXID":"SPDXRef-File-lib-libz.so.1.3.1-cfebf8b5dc1f6374","fileTypes":["APPLICATION","BINARY"],"checksums":[{"algorithm":"SHA1","checksumValue":"70949f5bdc478b4552562050c43b1e4b6bf014bb"},{"algorithm":"SHA256","checksumValue":"540bf9ba24238ac85b21755126dfa3a9c8ca947e0d0c938b6c1fea43d6927a7e"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/lib/sysctl.d/00-alpine.conf","SPDXID":"SPDXRef-File-lib-sysctl.d-00-alpine.conf-812cee121e721231","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"1e9125cd6d7112098a7c446d4f2ee8a269a7aba7"},{"algorithm":"SHA256","checksumValue":"ee169bea2cb6859420b55ca7a9c23fb68b50adc1d26c951f904dec9e8f767380"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/sbin/apk","SPDXID":"SPDXRef-File-sbin-apk-03a303c2f408ad75","fileTypes":["APPLICATION","BINARY"],"checksums":[{"algorithm":"SHA1","checksumValue":"191b64288f8976f9cb5875ad24481671998eceed"},{"algorithm":"SHA256","checksumValue":"d15d690cdb7e32b735a0b47806710fbfc2f8e7faabe3b3059b2009c8fbda8cdc"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/sbin/ldconfig","SPDXID":"SPDXRef-File-sbin-ldconfig-6dd00345fd25dfbe","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"2a36b6f8f3992b112450e66ac128c2ea499a103e"},{"algorithm":"SHA256","checksumValue":"b4a2c06db38742e8c42c3c9838b285a7d8cdac6c091ff3df5ff9a15f1e41b9c7"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/usr/bin/getconf","SPDXID":"SPDXRef-File-usr-bin-getconf-aa569a0b492dbc3e","fileTypes":["APPLICATION","BINARY"],"checksums":[{"algorithm":"SHA1","checksumValue":"a7c92a25adeb9f46272bf52c5d33d3babedb312d"},{"algorithm":"SHA256","checksumValue":"5238595ed22353d8c6adb8d78652b3b252f3c2ba6cffdf6eecf419eb78ff0209"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/usr/bin/getent","SPDXID":"SPDXRef-File-usr-bin-getent-dfc1d5b68ea46609","fileTypes":["APPLICATION","BINARY"],"checksums":[{"algorithm":"SHA1","checksumValue":"db0ec5b54f31a315956027172ecfee6aa60a2581"},{"algorithm":"SHA256","checksumValue":"ace5b03661ca07022837d3d7cd4781cb5a30ef6d3fc5d591d83b9263368ec0ac"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/usr/bin/iconv","SPDXID":"SPDXRef-File-usr-bin-iconv-b4f317a0c3ae4126","fileTypes":["APPLICATION","BINARY"],"checksums":[{"algorithm":"SHA1","checksumValue":"913d4848ef8289b2ff1a8f6386c3771380c601bf"},{"algorithm":"SHA256","checksumValue":"e6fcc190f17c0dc4fb691256440a6e83dc52e9fb1217e35d2a882e32296c48a6"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/usr/bin/ldd","SPDXID":"SPDXRef-File-usr-bin-ldd-0f8acf82bbb616a2","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"afe298b72fc708b978a7876f3edf2409bd66841d"},{"algorithm":"SHA256","checksumValue":"5f115be8562262bcc50ec469e25c0af2fda3bad72a960c6aa3488acd7a7da8cf"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/usr/bin/scanelf","SPDXID":"SPDXRef-File-usr-bin-scanelf-42e6597f9fa4518a","fileTypes":["APPLICATION","BINARY"],"checksums":[{"algorithm":"SHA1","checksumValue":"429e07005a605dcf7afa72a2926033c6c2cfb07d"},{"algorithm":"SHA256","checksumValue":"5ef9e7df17d4f20ad9dec44a5fdc39ea581377680cfdc1994ac48986c9254351"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/usr/bin/ssl_client","SPDXID":"SPDXRef-File-usr-bin-ssl-client-90e1da58238b5003","fileTypes":["APPLICATION","BINARY"],"checksums":[{"algorithm":"SHA1","checksumValue":"f17cb9d9effd3a5597f5dc79f50349f7b5971d31"},{"algorithm":"SHA256","checksumValue":"0094d52eac21454dedd2fce85262bba9e8538f45a3125a9e3a767ba6b8056f67"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/usr/lib/engines-3/afalg.so","SPDXID":"SPDXRef-File-usr-lib-engines-3-afalg.so-2dd02daf0dc8736e","fileTypes":["APPLICATION","BINARY"],"checksums":[{"algorithm":"SHA1","checksumValue":"feb5d2147e9a48d12cc936e1ccb8aeedd3e4c330"},{"algorithm":"SHA256","checksumValue":"24d5276e7ebb6e2c898d5329ffabb62adb0212a6bf90829b4bf88e692b669b93"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/usr/lib/engines-3/capi.so","SPDXID":"SPDXRef-File-usr-lib-engines-3-capi.so-ec9b7c1e1d7152b6","fileTypes":["APPLICATION","BINARY"],"checksums":[{"algorithm":"SHA1","checksumValue":"ddea94ab48fc5f001be7c04733be2232650b2af1"},{"algorithm":"SHA256","checksumValue":"936611a77d0786c572fcd931cd745a3e98570c82d1a1f119b8cd12062ff6da58"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/usr/lib/engines-3/loader_attic.so","SPDXID":"SPDXRef-File-usr-lib-engines-3-loader-attic.so-592a2f6a8711eea8","fileTypes":["APPLICATION","BINARY"],"checksums":[{"algorithm":"SHA1","checksumValue":"b4be46c34fcb2a01faa45819b05d0904739b0c61"},{"algorithm":"SHA256","checksumValue":"5211c7f5c60792672d4b329fc6618f4852e44ad524a480dae785b4c3fdf2e294"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/usr/lib/engines-3/padlock.so","SPDXID":"SPDXRef-File-usr-lib-engines-3-padlock.so-cb12bf2787e0b4d0","fileTypes":["APPLICATION","BINARY"],"checksums":[{"algorithm":"SHA1","checksumValue":"867d553d0d11f999eb8b9e69f66421fa0a024eb2"},{"algorithm":"SHA256","checksumValue":"129501fb2e14a42fcb8435235ef5811ff1ebc2bbebb6de9ad8d20142cadb7a97"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/usr/lib/ossl-modules/legacy.so","SPDXID":"SPDXRef-File-usr-lib-ossl-modules-legacy.so-fda2c463fe1d1275","fileTypes":["APPLICATION","BINARY"],"checksums":[{"algorithm":"SHA1","checksumValue":"1d8693b5b9b8cb13bb679d5f8bdd92038fe05850"},{"algorithm":"SHA256","checksumValue":"96e39fb0e1e386543d6d46259bc3cf77c5b5a938eda714e440ca8066b471c5d2"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub","SPDXID":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-4a6a0840.rsa.pub-410a0a130a42ece8","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"3af08548ef78cfdedcf349880c2c6a1a48763a0e"},{"algorithm":"SHA256","checksumValue":"9c102bcc376af1498d549b77bdbfa815ae86faa1d2d82f040e616b18ef2df2d4"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub","SPDXID":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-5243ef4b.rsa.pub-b5b8c9e17450db1c","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"bfb616658cc05a872568b0c8e398c482e23b60dd"},{"algorithm":"SHA256","checksumValue":"ebf31683b56410ecc4c00acd9f6e2839e237a3b62b5ae7ef686705c7ba0396a9"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub","SPDXID":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-524d27bb.rsa.pub-050339be1296c5a7","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"053a92f87fd4532850bb31f0881978efe0532ae5"},{"algorithm":"SHA256","checksumValue":"1bb2a846c0ea4ca9d0e7862f970863857fc33c32f5506098c636a62a726a847b"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub","SPDXID":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-5261cecb.rsa.pub-3840c02005b419b2","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"3671ae0ec7503b1e193587c1dcdf7b78bc863e42"},{"algorithm":"SHA256","checksumValue":"12f899e55a7691225603d6fb3324940fc51cd7f133e7ead788663c2b7eecb00c"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub","SPDXID":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-58199dcc.rsa.pub-df4b284ea560bc2f","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"39ac5d72c6ba018a0f74b8b453894edc9db07b5f"},{"algorithm":"SHA256","checksumValue":"73867d92083f2f8ab899a26ccda7ef63dfaa0032a938620eda605558958a8041"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub","SPDXID":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-58cbb476.rsa.pub-fc38dbb1c534a98b","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"c8fabeb2eeb992c368c77b9707e0d1ecfd7cf905"},{"algorithm":"SHA256","checksumValue":"9a4cd858d9710963848e6d5f555325dc199d1c952b01cf6e64da2c15deedbd97"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub","SPDXID":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-58e4f17d.rsa.pub-793318842ffeec8c","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"329643357d0b78b1ef48ec155325e25f1d7534dd"},{"algorithm":"SHA256","checksumValue":"780b3ed41786772cbc7b68136546fa3f897f28a23b30c72dde6225319c44cfff"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pub","SPDXID":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-5e69ca50.rsa.pub-fb2a93a263fc77d5","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"825090fde25bbc0e71a9cb3076316b5afe459e4d"},{"algorithm":"SHA256","checksumValue":"59c01c57b446633249f67c04b115dd6787f4378f183dff2bbf65406df93f176d"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-60ac2099.rsa.pub","SPDXID":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-60ac2099.rsa.pub-05c47cc8cdd4f66e","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"5d4743128353b6396fad2fa2ba793ace21602295"},{"algorithm":"SHA256","checksumValue":"db0b49163f07ffba64a5ca198bcf1688610b0bd1f0d8d5afeaf78559d73f2278"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub","SPDXID":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-6165ee59.rsa.pub-5576929bc9db6198","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"95995311236b7a55933642ffa10ce6014f1af7d0"},{"algorithm":"SHA256","checksumValue":"207e4696d3c05f7cb05966aee557307151f1f00217af4143c1bcaf33b8df733f"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub","SPDXID":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-61666e3f.rsa.pub-fdccfa670e123d3d","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"58d5ba4b2f3b1e927721d7a6432f298eedf72a6b"},{"algorithm":"SHA256","checksumValue":"128d34d4aec39b0daedea8163cd8dc24dff36fd3d848630ab97eeb1d3084bbb3"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616a9724.rsa.pub","SPDXID":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-616a9724.rsa.pub-fe0797f3d753de34","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"23d0f2ea1af269c2f66165e0f8a944e96bf011de"},{"algorithm":"SHA256","checksumValue":"10877cce0a935e46ad88cb79e174a2491680508eccda08e92bf04fb9bf37fbc1"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616abc23.rsa.pub","SPDXID":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-616abc23.rsa.pub-83f8824a9e8a4daf","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"3529ec82670c6d4e20ee3e4968db34b551e91d50"},{"algorithm":"SHA256","checksumValue":"4a095a9daca86da496a3cd9adcd95ee2197fdbeb84638656d469f05a4d740751"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616ac3bc.rsa.pub","SPDXID":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-616ac3bc.rsa.pub-22d34d5fbfa617ab","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"55a301064e11c6fe9ba0f2ca17e234f3943ccb61"},{"algorithm":"SHA256","checksumValue":"0caf5662fde45616d88cfd7021b7bda269a2fcaf311e51c48945a967a609ec0b"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pub","SPDXID":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-616adfeb.rsa.pub-951eb66cb4549509","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"de1241307014aae3dba798e900f163408d98d6f4"},{"algorithm":"SHA256","checksumValue":"ebe717d228555aa58133c202314a451f81e71f174781fd7ff8d8970d6cfa60da"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub","SPDXID":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-616ae350.rsa.pub-44fa2966c51f0c1f","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"57f6b93fda4a4496fab62844ddef0eeb168f80b5"},{"algorithm":"SHA256","checksumValue":"d11f6b21c61b4274e182eb888883a8ba8acdbf820dcc7a6d82a7d9fc2fd2836d"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616db30d.rsa.pub","SPDXID":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-616db30d.rsa.pub-b14251d1f8bcfe18","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"df02c9adc2906a3aa5e5ad69f50e3953e65710d0"},{"algorithm":"SHA256","checksumValue":"40a216cbd163f22e5f16a9e0929de7cde221b9cbae8e36aa368b1e128afe0a31"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"},{"fileName":"/usr/share/udhcpc/default.script","SPDXID":"SPDXRef-File-usr-share-udhcpc-default.script-4fc79137008d263f","fileTypes":["TEXT"],"checksums":[{"algorithm":"SHA1","checksumValue":"1d6a46dde403f14a22e2692cd84dd24af3805216"},{"algorithm":"SHA256","checksumValue":"c4e5a7c4783a7a73dec48dee009ee687015d2de7ff86b269679b95bef2c60e13"}],"licenseConcluded":"NOASSERTION","licenseInfoInFiles":["NOASSERTION"],"copyrightText":"","comment":"layerID: sha256:50171d1acbd537989c0740e2cba2b8288d1029dde7772c1db0c1288a634201fc"}],"relationships":[{"spdxElementId":"SPDXRef-Package-apk-musl-03e521237cbed45a","relatedSpdxElement":"SPDXRef-Package-apk-libcrypto3-0cfcda1a242dfd13","relationshipType":"DEPENDENCY_OF"},{"spdxElementId":"SPDXRef-Package-apk-musl-03e521237cbed45a","relatedSpdxElement":"SPDXRef-File-lib-ld-musl-aarch64.so.1-15ac5a87021c605c","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-musl-03e521237cbed45a","relatedSpdxElement":"SPDXRef-Package-apk-libssl3-1bffb507b1b535bc","relationshipType":"DEPENDENCY_OF"},{"spdxElementId":"SPDXRef-Package-apk-musl-03e521237cbed45a","relatedSpdxElement":"SPDXRef-Package-apk-busybox-4cea7ce2e2974c99","relationshipType":"DEPENDENCY_OF"},{"spdxElementId":"SPDXRef-Package-apk-musl-03e521237cbed45a","relatedSpdxElement":"SPDXRef-Package-apk-scanelf-54f3623fdd8fb8d4","relationshipType":"DEPENDENCY_OF"},{"spdxElementId":"SPDXRef-Package-apk-musl-03e521237cbed45a","relatedSpdxElement":"SPDXRef-Package-apk-ssl-client-6bbb10e52b8e7eb4","relationshipType":"DEPENDENCY_OF"},{"spdxElementId":"SPDXRef-Package-apk-musl-03e521237cbed45a","relatedSpdxElement":"SPDXRef-Package-apk-apk-tools-78c55d64ab350462","relationshipType":"DEPENDENCY_OF"},{"spdxElementId":"SPDXRef-Package-apk-musl-03e521237cbed45a","relatedSpdxElement":"SPDXRef-File-lib-apk-db-installed-8363b4a677041553","relationshipType":"OTHER","comment":"evident-by: indicates the package's existence is evident by the given file"},{"spdxElementId":"SPDXRef-Package-apk-musl-03e521237cbed45a","relatedSpdxElement":"SPDXRef-Package-apk-musl-utils-c84ae08b59df5c6e","relationshipType":"DEPENDENCY_OF"},{"spdxElementId":"SPDXRef-Package-apk-musl-03e521237cbed45a","relatedSpdxElement":"SPDXRef-Package-apk-zlib-d8258d3d7c48cfbf","relationshipType":"DEPENDENCY_OF"},{"spdxElementId":"SPDXRef-Package-apk-libcrypto3-0cfcda1a242dfd13","relatedSpdxElement":"SPDXRef-Package-apk-libssl3-1bffb507b1b535bc","relationshipType":"DEPENDENCY_OF"},{"spdxElementId":"SPDXRef-Package-apk-libcrypto3-0cfcda1a242dfd13","relatedSpdxElement":"SPDXRef-File-usr-lib-engines-3-afalg.so-2dd02daf0dc8736e","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-libcrypto3-0cfcda1a242dfd13","relatedSpdxElement":"SPDXRef-File-etc-ssl-ct-log-list.cnf.dist-4706267d3fefbca6","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-libcrypto3-0cfcda1a242dfd13","relatedSpdxElement":"SPDXRef-File-usr-lib-engines-3-loader-attic.so-592a2f6a8711eea8","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-libcrypto3-0cfcda1a242dfd13","relatedSpdxElement":"SPDXRef-Package-apk-ssl-client-6bbb10e52b8e7eb4","relationshipType":"DEPENDENCY_OF"},{"spdxElementId":"SPDXRef-Package-apk-libcrypto3-0cfcda1a242dfd13","relatedSpdxElement":"SPDXRef-Package-apk-apk-tools-78c55d64ab350462","relationshipType":"DEPENDENCY_OF"},{"spdxElementId":"SPDXRef-Package-apk-libcrypto3-0cfcda1a242dfd13","relatedSpdxElement":"SPDXRef-File-etc-ssl-ct-log-list.cnf-7c00b4ab1629d304","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-libcrypto3-0cfcda1a242dfd13","relatedSpdxElement":"SPDXRef-File-lib-apk-db-installed-8363b4a677041553","relationshipType":"OTHER","comment":"evident-by: indicates the package's existence is evident by the given file"},{"spdxElementId":"SPDXRef-Package-apk-libcrypto3-0cfcda1a242dfd13","relatedSpdxElement":"SPDXRef-File-etc-ssl-openssl.cnf.dist-a2fcecd0c7860aea","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-libcrypto3-0cfcda1a242dfd13","relatedSpdxElement":"SPDXRef-File-usr-lib-engines-3-padlock.so-cb12bf2787e0b4d0","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-libcrypto3-0cfcda1a242dfd13","relatedSpdxElement":"SPDXRef-File-lib-libcrypto.so.3-d7aa31f07714a25f","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-libcrypto3-0cfcda1a242dfd13","relatedSpdxElement":"SPDXRef-File-etc-ssl-openssl.cnf-e2fe362bf9fd5340","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-libcrypto3-0cfcda1a242dfd13","relatedSpdxElement":"SPDXRef-File-usr-lib-engines-3-capi.so-ec9b7c1e1d7152b6","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-libcrypto3-0cfcda1a242dfd13","relatedSpdxElement":"SPDXRef-File-usr-lib-ossl-modules-legacy.so-fda2c463fe1d1275","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-keys-0e5100e3d266a135","relatedSpdxElement":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-524d27bb.rsa.pub-050339be1296c5a7","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-keys-0e5100e3d266a135","relatedSpdxElement":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-60ac2099.rsa.pub-05c47cc8cdd4f66e","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-keys-0e5100e3d266a135","relatedSpdxElement":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-616ac3bc.rsa.pub-22d34d5fbfa617ab","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-keys-0e5100e3d266a135","relatedSpdxElement":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-5261cecb.rsa.pub-3840c02005b419b2","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-keys-0e5100e3d266a135","relatedSpdxElement":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-4a6a0840.rsa.pub-410a0a130a42ece8","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-keys-0e5100e3d266a135","relatedSpdxElement":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-58199dcc.rsa.pub-444fb4815b9c5fa7","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-keys-0e5100e3d266a135","relatedSpdxElement":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-616ae350.rsa.pub-44fa2966c51f0c1f","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-keys-0e5100e3d266a135","relatedSpdxElement":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-6165ee59.rsa.pub-5576929bc9db6198","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-keys-0e5100e3d266a135","relatedSpdxElement":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-524d27bb.rsa.pub-6742b949ff851b46","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-keys-0e5100e3d266a135","relatedSpdxElement":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-616ae350.rsa.pub-76207aeaad529724","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-keys-0e5100e3d266a135","relatedSpdxElement":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-58e4f17d.rsa.pub-793318842ffeec8c","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-keys-0e5100e3d266a135","relatedSpdxElement":"SPDXRef-File-lib-apk-db-installed-8363b4a677041553","relationshipType":"OTHER","comment":"evident-by: indicates the package's existence is evident by the given file"},{"spdxElementId":"SPDXRef-Package-apk-alpine-keys-0e5100e3d266a135","relatedSpdxElement":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-616abc23.rsa.pub-83f8824a9e8a4daf","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-keys-0e5100e3d266a135","relatedSpdxElement":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-616adfeb.rsa.pub-951eb66cb4549509","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-keys-0e5100e3d266a135","relatedSpdxElement":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-616db30d.rsa.pub-b14251d1f8bcfe18","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-keys-0e5100e3d266a135","relatedSpdxElement":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-5243ef4b.rsa.pub-b5b8c9e17450db1c","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-keys-0e5100e3d266a135","relatedSpdxElement":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-616a9724.rsa.pub-cfc1d017a48ee9e7","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-keys-0e5100e3d266a135","relatedSpdxElement":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-58199dcc.rsa.pub-df4b284ea560bc2f","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-keys-0e5100e3d266a135","relatedSpdxElement":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-616adfeb.rsa.pub-ed83cb346d241bdf","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-keys-0e5100e3d266a135","relatedSpdxElement":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-5e69ca50.rsa.pub-fb2a93a263fc77d5","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-keys-0e5100e3d266a135","relatedSpdxElement":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-58cbb476.rsa.pub-fc38dbb1c534a98b","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-keys-0e5100e3d266a135","relatedSpdxElement":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-61666e3f.rsa.pub-fdccfa670e123d3d","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-keys-0e5100e3d266a135","relatedSpdxElement":"SPDXRef-File-...alpine-devel-lists.alpinelinux.org-616a9724.rsa.pub-fe0797f3d753de34","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-libssl3-1bffb507b1b535bc","relatedSpdxElement":"SPDXRef-Package-apk-ssl-client-6bbb10e52b8e7eb4","relationshipType":"DEPENDENCY_OF"},{"spdxElementId":"SPDXRef-Package-apk-libssl3-1bffb507b1b535bc","relatedSpdxElement":"SPDXRef-Package-apk-apk-tools-78c55d64ab350462","relationshipType":"DEPENDENCY_OF"},{"spdxElementId":"SPDXRef-Package-apk-libssl3-1bffb507b1b535bc","relatedSpdxElement":"SPDXRef-File-lib-apk-db-installed-8363b4a677041553","relationshipType":"OTHER","comment":"evident-by: indicates the package's existence is evident by the given file"},{"spdxElementId":"SPDXRef-Package-apk-libssl3-1bffb507b1b535bc","relatedSpdxElement":"SPDXRef-File-lib-libssl.so.3-942e1a73404f4c12","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-busybox-binsh-1fd95b4d43a9f438","relatedSpdxElement":"SPDXRef-Package-apk-alpine-baselayout-21e54be9d7ca763c","relationshipType":"DEPENDENCY_OF"},{"spdxElementId":"SPDXRef-Package-apk-busybox-binsh-1fd95b4d43a9f438","relatedSpdxElement":"SPDXRef-File-lib-apk-db-installed-8363b4a677041553","relationshipType":"OTHER","comment":"evident-by: indicates the package's existence is evident by the given file"},{"spdxElementId":"SPDXRef-Package-apk-busybox-binsh-1fd95b4d43a9f438","relatedSpdxElement":"SPDXRef-File-bin-busybox-909c5f40cb01cb38","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-baselayout-21e54be9d7ca763c","relatedSpdxElement":"SPDXRef-File-etc-crontabs-root-351da988aba8a527","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-baselayout-21e54be9d7ca763c","relatedSpdxElement":"SPDXRef-File-etc-profile.d-README-3be87e7f154adb63","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-baselayout-21e54be9d7ca763c","relatedSpdxElement":"SPDXRef-File-etc-profile.d-20locale.sh-4738cb952eababba","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-baselayout-21e54be9d7ca763c","relatedSpdxElement":"SPDXRef-File-etc-modprobe.d-kms.conf-77f620d7a99cffa8","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-baselayout-21e54be9d7ca763c","relatedSpdxElement":"SPDXRef-File-lib-sysctl.d-00-alpine.conf-812cee121e721231","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-baselayout-21e54be9d7ca763c","relatedSpdxElement":"SPDXRef-File-lib-apk-db-installed-8363b4a677041553","relationshipType":"OTHER","comment":"evident-by: indicates the package's existence is evident by the given file"},{"spdxElementId":"SPDXRef-Package-apk-alpine-baselayout-21e54be9d7ca763c","relatedSpdxElement":"SPDXRef-File-etc-modprobe.d-aliases.conf-8ac9ab5944e0b537","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-baselayout-21e54be9d7ca763c","relatedSpdxElement":"SPDXRef-File-etc-motd-9a55980593b74a03","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-baselayout-21e54be9d7ca763c","relatedSpdxElement":"SPDXRef-File-etc-modprobe.d-blacklist.conf-abf9fc46510ff77c","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-baselayout-21e54be9d7ca763c","relatedSpdxElement":"SPDXRef-File-etc-modprobe.d-i386.conf-e9054a53c22e88cf","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-baselayout-21e54be9d7ca763c","relatedSpdxElement":"SPDXRef-File-etc-profile.d-color-prompt.sh.disabled-eeb93048af63bf64","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-busybox-4cea7ce2e2974c99","relatedSpdxElement":"SPDXRef-Package-apk-busybox-binsh-1fd95b4d43a9f438","relationshipType":"DEPENDENCY_OF"},{"spdxElementId":"SPDXRef-Package-apk-busybox-4cea7ce2e2974c99","relatedSpdxElement":"SPDXRef-File-usr-share-udhcpc-default.script-4fc79137008d263f","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-busybox-4cea7ce2e2974c99","relatedSpdxElement":"SPDXRef-File-etc-busybox-paths.d-busybox-6a326fdbd2e5a86c","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-busybox-4cea7ce2e2974c99","relatedSpdxElement":"SPDXRef-File-lib-apk-db-installed-8363b4a677041553","relationshipType":"OTHER","comment":"evident-by: indicates the package's existence is evident by the given file"},{"spdxElementId":"SPDXRef-Package-apk-busybox-4cea7ce2e2974c99","relatedSpdxElement":"SPDXRef-File-bin-busybox-909c5f40cb01cb38","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-busybox-4cea7ce2e2974c99","relatedSpdxElement":"SPDXRef-File-etc-udhcpc-udhcpc.conf-a8f34a90829fb0c8","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-busybox-4cea7ce2e2974c99","relatedSpdxElement":"SPDXRef-File-etc-network-if-up.d-dad-e17f6cd71c480b11","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-busybox-4cea7ce2e2974c99","relatedSpdxElement":"SPDXRef-File-etc-logrotate.d-acpid-e47331443c3f2fdc","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-busybox-4cea7ce2e2974c99","relatedSpdxElement":"SPDXRef-File-etc-securetty-f5826ff16d6eaebb","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-scanelf-54f3623fdd8fb8d4","relatedSpdxElement":"SPDXRef-File-usr-bin-scanelf-42e6597f9fa4518a","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-scanelf-54f3623fdd8fb8d4","relatedSpdxElement":"SPDXRef-File-lib-apk-db-installed-8363b4a677041553","relationshipType":"OTHER","comment":"evident-by: indicates the package's existence is evident by the given file"},{"spdxElementId":"SPDXRef-Package-apk-scanelf-54f3623fdd8fb8d4","relatedSpdxElement":"SPDXRef-Package-apk-musl-utils-c84ae08b59df5c6e","relationshipType":"DEPENDENCY_OF"},{"spdxElementId":"SPDXRef-Package-apk-ssl-client-6bbb10e52b8e7eb4","relatedSpdxElement":"SPDXRef-File-lib-apk-db-installed-8363b4a677041553","relationshipType":"OTHER","comment":"evident-by: indicates the package's existence is evident by the given file"},{"spdxElementId":"SPDXRef-Package-apk-ssl-client-6bbb10e52b8e7eb4","relatedSpdxElement":"SPDXRef-File-usr-bin-ssl-client-90e1da58238b5003","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-apk-tools-78c55d64ab350462","relatedSpdxElement":"SPDXRef-File-sbin-apk-03a303c2f408ad75","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-apk-tools-78c55d64ab350462","relatedSpdxElement":"SPDXRef-File-lib-apk-db-installed-8363b4a677041553","relationshipType":"OTHER","comment":"evident-by: indicates the package's existence is evident by the given file"},{"spdxElementId":"SPDXRef-Package-apk-apk-tools-78c55d64ab350462","relatedSpdxElement":"SPDXRef-File-lib-libapk.so.2.14.0-85382abc3213df0c","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-baselayout-data-9ff96f942d2401f2","relatedSpdxElement":"SPDXRef-File-etc-hosts-097d60485ef1a565","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-baselayout-data-9ff96f942d2401f2","relatedSpdxElement":"SPDXRef-File-etc-fstab-0c5c3473875a5b85","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-baselayout-data-9ff96f942d2401f2","relatedSpdxElement":"SPDXRef-File-etc-hostname-18f4143fa24a5309","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-baselayout-data-9ff96f942d2401f2","relatedSpdxElement":"SPDXRef-Package-apk-alpine-baselayout-21e54be9d7ca763c","relationshipType":"DEPENDENCY_OF"},{"spdxElementId":"SPDXRef-Package-apk-alpine-baselayout-data-9ff96f942d2401f2","relatedSpdxElement":"SPDXRef-File-etc-nsswitch.conf-26adb8feffe4129b","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-baselayout-data-9ff96f942d2401f2","relatedSpdxElement":"SPDXRef-File-etc-inittab-273285a459443001","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-baselayout-data-9ff96f942d2401f2","relatedSpdxElement":"SPDXRef-File-etc-shells-2dc73ba417bebb75","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-baselayout-data-9ff96f942d2401f2","relatedSpdxElement":"SPDXRef-File-etc-sysctl.conf-2eede682f1d2d57e","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-baselayout-data-9ff96f942d2401f2","relatedSpdxElement":"SPDXRef-File-etc-protocols-5f1d8d1482d973b6","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-baselayout-data-9ff96f942d2401f2","relatedSpdxElement":"SPDXRef-File-etc-profile-6dfdb9518e6b63ef","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-baselayout-data-9ff96f942d2401f2","relatedSpdxElement":"SPDXRef-File-etc-passwd-7accffa8923d35e9","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-baselayout-data-9ff96f942d2401f2","relatedSpdxElement":"SPDXRef-File-etc-services-812b3f1a2d583f29","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-baselayout-data-9ff96f942d2401f2","relatedSpdxElement":"SPDXRef-File-lib-apk-db-installed-8363b4a677041553","relationshipType":"OTHER","comment":"evident-by: indicates the package's existence is evident by the given file"},{"spdxElementId":"SPDXRef-Package-apk-alpine-baselayout-data-9ff96f942d2401f2","relatedSpdxElement":"SPDXRef-File-etc-shadow-a1d64c72d061cd92","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-baselayout-data-9ff96f942d2401f2","relatedSpdxElement":"SPDXRef-File-etc-group-cc490babc7ba6984","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-alpine-baselayout-data-9ff96f942d2401f2","relatedSpdxElement":"SPDXRef-File-etc-modules-f9e050b82be1ad75","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-ca-certificates-bundle-bf42440dd0b61727","relatedSpdxElement":"SPDXRef-Package-apk-apk-tools-78c55d64ab350462","relationshipType":"DEPENDENCY_OF"},{"spdxElementId":"SPDXRef-Package-apk-ca-certificates-bundle-bf42440dd0b61727","relatedSpdxElement":"SPDXRef-File-lib-apk-db-installed-8363b4a677041553","relationshipType":"OTHER","comment":"evident-by: indicates the package's existence is evident by the given file"},{"spdxElementId":"SPDXRef-Package-apk-ca-certificates-bundle-bf42440dd0b61727","relatedSpdxElement":"SPDXRef-File-etc-ssl-certs-ca-certificates.crt-c7ec96e3f9d22e5e","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-musl-utils-c84ae08b59df5c6e","relatedSpdxElement":"SPDXRef-File-usr-bin-ldd-0f8acf82bbb616a2","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-musl-utils-c84ae08b59df5c6e","relatedSpdxElement":"SPDXRef-File-sbin-ldconfig-6dd00345fd25dfbe","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-musl-utils-c84ae08b59df5c6e","relatedSpdxElement":"SPDXRef-File-lib-apk-db-installed-8363b4a677041553","relationshipType":"OTHER","comment":"evident-by: indicates the package's existence is evident by the given file"},{"spdxElementId":"SPDXRef-Package-apk-musl-utils-c84ae08b59df5c6e","relatedSpdxElement":"SPDXRef-File-usr-bin-getconf-aa569a0b492dbc3e","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-musl-utils-c84ae08b59df5c6e","relatedSpdxElement":"SPDXRef-File-usr-bin-iconv-b4f317a0c3ae4126","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-musl-utils-c84ae08b59df5c6e","relatedSpdxElement":"SPDXRef-File-usr-bin-getent-dfc1d5b68ea46609","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-Package-apk-zlib-d8258d3d7c48cfbf","relatedSpdxElement":"SPDXRef-Package-apk-apk-tools-78c55d64ab350462","relationshipType":"DEPENDENCY_OF"},{"spdxElementId":"SPDXRef-Package-apk-zlib-d8258d3d7c48cfbf","relatedSpdxElement":"SPDXRef-File-lib-apk-db-installed-8363b4a677041553","relationshipType":"OTHER","comment":"evident-by: indicates the package's existence is evident by the given file"},{"spdxElementId":"SPDXRef-Package-apk-zlib-d8258d3d7c48cfbf","relatedSpdxElement":"SPDXRef-File-lib-libz.so.1.3.1-cfebf8b5dc1f6374","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-DocumentRoot-Image-alpine","relatedSpdxElement":"SPDXRef-Package-apk-alpine-baselayout-21e54be9d7ca763c","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-DocumentRoot-Image-alpine","relatedSpdxElement":"SPDXRef-Package-apk-alpine-baselayout-data-9ff96f942d2401f2","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-DocumentRoot-Image-alpine","relatedSpdxElement":"SPDXRef-Package-apk-alpine-keys-0e5100e3d266a135","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-DocumentRoot-Image-alpine","relatedSpdxElement":"SPDXRef-Package-apk-apk-tools-78c55d64ab350462","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-DocumentRoot-Image-alpine","relatedSpdxElement":"SPDXRef-Package-apk-busybox-4cea7ce2e2974c99","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-DocumentRoot-Image-alpine","relatedSpdxElement":"SPDXRef-Package-apk-busybox-binsh-1fd95b4d43a9f438","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-DocumentRoot-Image-alpine","relatedSpdxElement":"SPDXRef-Package-apk-ca-certificates-bundle-bf42440dd0b61727","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-DocumentRoot-Image-alpine","relatedSpdxElement":"SPDXRef-Package-apk-libcrypto3-0cfcda1a242dfd13","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-DocumentRoot-Image-alpine","relatedSpdxElement":"SPDXRef-Package-apk-libssl3-1bffb507b1b535bc","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-DocumentRoot-Image-alpine","relatedSpdxElement":"SPDXRef-Package-apk-musl-03e521237cbed45a","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-DocumentRoot-Image-alpine","relatedSpdxElement":"SPDXRef-Package-apk-musl-utils-c84ae08b59df5c6e","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-DocumentRoot-Image-alpine","relatedSpdxElement":"SPDXRef-Package-apk-scanelf-54f3623fdd8fb8d4","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-DocumentRoot-Image-alpine","relatedSpdxElement":"SPDXRef-Package-apk-ssl-client-6bbb10e52b8e7eb4","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-DocumentRoot-Image-alpine","relatedSpdxElement":"SPDXRef-Package-apk-zlib-d8258d3d7c48cfbf","relationshipType":"CONTAINS"},{"spdxElementId":"SPDXRef-DOCUMENT","relatedSpdxElement":"SPDXRef-DocumentRoot-Image-alpine","relationshipType":"DESCRIBES"}]} diff --git a/test/spdx-att.json b/test/spdx-att.json new file mode 100644 index 00000000..6c51bf81 --- /dev/null +++ b/test/spdx-att.json @@ -0,0 +1 @@ +{"payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjAuMSIsInN1YmplY3QiOlt7Im5hbWUiOiJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9wcm9kdWN0L3YwLjEvZmlsZTpzYm9tLnNwZHguanNvbiIsImRpZ2VzdCI6eyJzaGEyNTYiOiIzN2RjM2I0YmFlODgwNzBhNjQzYzk4NThiMWU3Y2Y1NGNiMmQyNzkxOTYyMjI4MmQ1MTZjYzMyN2NlY2UyN2Y2In19LHsibmFtZSI6Imh0dHBzOi8vc3BkeC5kZXYvRG9jdW1lbnQvZmlsZTpzYm9tLnNwZHguanNvbiIsImRpZ2VzdCI6eyJzaGEyNTYiOiIzN2RjM2I0YmFlODgwNzBhNjQzYzk4NThiMWU3Y2Y1NGNiMmQyNzkxOTYyMjI4MmQ1MTZjYzMyN2NlY2UyN2Y2In19XSwicHJlZGljYXRlVHlwZSI6Imh0dHBzOi8vd2l0bmVzcy50ZXN0aWZ5c2VjLmNvbS9hdHRlc3RhdGlvbi1jb2xsZWN0aW9uL3YwLjEiLCJwcmVkaWNhdGUiOnsibmFtZSI6InNib20iLCJhdHRlc3RhdGlvbnMiOlt7InR5cGUiOiJodHRwczovL3dpdG5lc3MuZGV2L2F0dGVzdGF0aW9ucy9tYXRlcmlhbC92MC4xIiwiYXR0ZXN0YXRpb24iOnsiLmdpdGlnbm9yZSI6eyJzaGEyNTYiOiJlYmYzYTczYTQyZWQyMDEyZGIwYmUyYjllNzdmOWU1M2Q3M2EwYTBhZTIyMDgxYTVmYzVkZjIzMjZmOWFmYmFiIn0sImJ1aWxkLmF0dGVzdGF0aW9uLmpzb24iOnsic2hhMjU2IjoiMGRmYTVmNGE5YTEyZDM3YjA0NjdjMzBkYjUyN2IyYTIzNWQ4YWNjMjMwMmQxNzA3YWIyYjJhNmRiNmVjNTkxOSJ9LCJjZHgtYXR0Lmpzb24iOnsic2hhMjU2IjoiMTE0YWZhNTA5MTk0NDExMDk1MTJjOTJiNzEwYjYxMDA0MzcxMDM2M2NkNWM2NWEzZDFjZGQ1MTliMDg1MDllZCJ9LCJjb21tb24uc2giOnsic2hhMjU2IjoiMTIwN2I2OWE2MjdjZGE2NWNhZmU4ODc3YTZmNTYwZTEyMmJhM2I2Yjc1N2Y4ZDYxOWJkYTU1YmZjNTQwMDI5YiJ9LCJmYWlsLmF0dGVzdGF0aW9uLmpzb24iOnsic2hhMjU2IjoiM2I0ZGRmNmI1Y2U1MzhlOTgxNjJmZGMxN2QxNWJmOTNjYTlmNmQ0YjkxNTQ3OGUyZGU2ZmJiODZhNzI3YzI3YSJ9LCJmYWlsa2V5LnBlbSI6eyJzaGEyNTYiOiIwOTNmMGY4YzU5MjJhMmY2NmNmYjQ3MzdhNTAwN2IxOTdiMzZmMDE5YTQ3ZDExYTAwYTk1NzdhZDhmZTI4OGE5In0sImZyZWV0c2EucGVtIjp7InNoYTI1NiI6IjIxNTFiNjExMzdmZmE4NmJmNjY0NjkxYmE2N2U3ZGEwYjE5Zjk4Yzc1OGUzZDIyOGQ1ZDhlYmYyN2UwNDQ0MzgifSwiZnVsY2lvLXBvbGljeS1zaWduZWQuanNvbiI6eyJzaGEyNTYiOiIzMjE1NTAxMTJmYTg4ZmRjZDlmNzMxNjlhMmIwZGQ5MDgyYjIzMTIyZTVjMzQ1OThhZTc0NTY3ZWYwNjM5NGEwIn0sIm1haW4uZ28iOnsic2hhMjU2IjoiMzEwZTVjZTI2N2E2NGRkMGNjYzYzNDFhNmYwNDNkNWE3ZDU5ZDU3YWNiMTBmMzFmYzExYzJmNTRjOTQ4NTRkMyJ9LCJwYWNrYWdlLmF0dGVzdGF0aW9uLmpzb24iOnsic2hhMjU2IjoiYzZkNzkwNzM1NjlhNjgxNzg3YWVmYmFjZDhiMDFjZmEzNDliMjkxZmMzZTA3OTI3YTlkOWI2ZGUxNjQ4Mjg3ZCJ9LCJwb2xpY3ktaGVsbG8tc2lnbmVkLmpzb24iOnsic2hhMjU2IjoiNDQyOTM2YjUyNDBiM2QxNDRhMzE1MmU2MmNmZDQyOTJkYWQwYWJkNzk0Y2ExMDkyZmRmMzM2NjY4Mjk3NWVlMSJ9LCJwb2xpY3ktc2lnbmVkLmpzb24iOnsic2hhMjU2IjoiY2FmYjQ4M2ZlMzU4OGI5ZTczYzMyZmQzODJmYjQ2NzkzYWY5MDIxOTBiNmU5YzgyMjg2MjE0ZDJjYzZhY2I4NCJ9LCJwb2xpY3kuanNvbiI6eyJzaGEyNTYiOiJjYzdkNTVjODNkNDZhNjZjOWQ2YjYxMmZkZDYxNTE2YzllMmRiZDEzMzAxMTk0MTJmYWQ0MWY5Y2VlYTdlODRmIn0sInNib20uY2R4Lmpzb24iOnsic2hhMjU2IjoiYzc0YTI4MDY4ZTc1MzYwZjMzMTljYzAzMDlkZTQ3N2Q5OTkwNDZkNjNkMjIyNTNiNjgxMzI3NDlkY2NjNmVkMSJ9LCJ0ZXN0LW1hYy55YW1sIjp7InNoYTI1NiI6ImIyNjU3YTUxYWU3ZmY0MjQ3NTVhNmUzYjVjZWZjMzIyNzY1YTQxMWMwODg5MjhmMmE2Njc0ODZjZmQxZTA5MTIifSwidGVzdC1vY2kuc2giOnsic2hhMjU2IjoiOTkxNGExZjZlYWU0ZjIwNmEyNTFmNzk3M2E2ZTc4YzNmZTdiNWYwZGU4ZWM2ODlkYmMyOGZhMzRlODZkNjdjMSJ9LCJ0ZXN0Lmpzb24iOnsic2hhMjU2IjoiZjU3ODdmNjYyM2QzYWI3NmRhYTUyOGNmMGZlNTU2ZDE4MDZlNmYxZGYwYzEyN2QzYmI1OGE3MDZkZjI3MDdmYSJ9LCJ0ZXN0LnNoIjp7InNoYTI1NiI6IjgyOWU4ZGZkMzBiNmE5MjI0YmVhNDA1NTk2ZGUxMzM3ZTdiNWU4Zjk0MWNlMDkxMDU1ODBiYzU0ODM1NzcxYTIifSwidGVzdC50eHQiOnsic2hhMjU2IjoiNTg5MWI1YjUyMmQ1ZGYwODZkMGZmMGIxMTBmYmQ5ZDIxYmI0ZmM3MTYzYWYzNGQwODI4NmEyZTg0NmY2YmUwMyJ9LCJ0ZXN0LnlhbWwiOnsic2hhMjU2IjoiODM4MDU0NGU0YTJjMmVjMmVjM2FmMzI1MDU1OWVlYmIzMTdmYTMzNWE0NzRlOTlhYzU2OGM0YTM2NTMxNDJiNyJ9LCJ0ZXN0YXBwIjp7InNoYTI1NiI6IjNjNDg3MDFjODQ1ZWUwYTJkNGQzZmQ3Nzk4YzkzMGExMzdkZWZjYmJmOTY2M2UwMDI3ZjJkY2M3NjVjN2YyNTcifSwidGVzdGFwcC50YXIudGd6Ijp7InNoYTI1NiI6ImUyN2I0N2ZmNWZlNThhMmVjOWEyMDQwZDI1YjdhMGY1MGUwM2VjNTcyM2RjZGYyN2RlMjNlNGY0NDg4MzRlNGEifSwidGVzdGtleS5wZW0iOnsic2hhMjU2IjoiZTM1Y2U0NjUzZjU2NmFkNzE2NWJlYzk5MmI4NjM5ODA5MmQzODMwOTQ3ODcyMTZmNGQ1OWZkZWYzN2RlZWJkZSJ9LCJ0ZXN0a2V5Mi5wZW0iOnsic2hhMjU2IjoiM2E2ZjM5ZDc2MWZkMGU5YWE0NDE3YzUwYTA3ZjlmNGQ3YjI5YjFhYzQzMGEwMTY4N2I2ODQwMGMyYjk2ODgwMyJ9LCJ0ZXN0cHViLnBlbSI6eyJzaGEyNTYiOiJhZTJkY2M5ODllYTljMTA5YTM2ZThlYmE1YzRiYzE2ZDhmYWZjZmU4ZTFhNjE0MTY0NjcwZDUwYWVkYWNkNjQ3In0sInRlc3RwdWIyLnBlbSI6eyJzaGEyNTYiOiI1ZThjNTdkZjhhZTU4ZmU5YTI5YjI5Zjk5OTNlMmZjM2IyNWJkNzVlYjI3NTRmMzUzODgwYmFkNGI5ZWJmZGIzIn19LCJzdGFydHRpbWUiOiIyMDI0LTA2LTEzVDEzOjI3OjI1Ljc2OTA5LTA1OjAwIiwiZW5kdGltZSI6IjIwMjQtMDYtMTNUMTM6Mjc6MjUuNzgxNDc1LTA1OjAwIn0seyJ0eXBlIjoiaHR0cHM6Ly93aXRuZXNzLmRldi9hdHRlc3RhdGlvbnMvY29tbWFuZC1ydW4vdjAuMSIsImF0dGVzdGF0aW9uIjp7ImNtZCI6WyJzeWZ0IiwiYWxwaW5lIiwiLW8iLCJzcGR4LWpzb249c2JvbS5zcGR4Lmpzb24iXSwiZXhpdGNvZGUiOjB9LCJzdGFydHRpbWUiOiIyMDI0LTA2LTEzVDEzOjI3OjI1Ljc4MTU1Ny0wNTowMCIsImVuZHRpbWUiOiIyMDI0LTA2LTEzVDEzOjI3OjI2LjU5MzE0OC0wNTowMCJ9LHsidHlwZSI6Imh0dHBzOi8vd2l0bmVzcy5kZXYvYXR0ZXN0YXRpb25zL3Byb2R1Y3QvdjAuMSIsImF0dGVzdGF0aW9uIjp7InNib20uc3BkeC5qc29uIjp7Im1pbWVfdHlwZSI6ImFwcGxpY2F0aW9uL3NwZHgranNvbiIsImRpZ2VzdCI6eyJzaGEyNTYiOiIzN2RjM2I0YmFlODgwNzBhNjQzYzk4NThiMWU3Y2Y1NGNiMmQyNzkxOTYyMjI4MmQ1MTZjYzMyN2NlY2UyN2Y2In19fSwic3RhcnR0aW1lIjoiMjAyNC0wNi0xM1QxMzoyNzoyNi41OTMyOTEtMDU6MDAiLCJlbmR0aW1lIjoiMjAyNC0wNi0xM1QxMzoyNzoyNi41OTczMDctMDU6MDAifSx7InR5cGUiOiJodHRwczovL3NwZHguZGV2L0RvY3VtZW50IiwiYXR0ZXN0YXRpb24iOnsiU1BEWElEIjoiU1BEWFJlZi1ET0NVTUVOVCIsImNyZWF0aW9uSW5mbyI6eyJjcmVhdGVkIjoiMjAyNC0wNi0xM1QxODoyNzoyNloiLCJjcmVhdG9ycyI6WyJPcmdhbml6YXRpb246IEFuY2hvcmUsIEluYyIsIlRvb2w6IHN5ZnQtMS41LjAiXSwibGljZW5zZUxpc3RWZXJzaW9uIjoiMy4yNCJ9LCJkYXRhTGljZW5zZSI6IkNDMC0xLjAiLCJkb2N1bWVudE5hbWVzcGFjZSI6Imh0dHBzOi8vYW5jaG9yZS5jb20vc3lmdC9pbWFnZS9hbHBpbmUtN2QzNzYzZmUtYjBiMC00YmI4LThkMzYtMmZkMTVjZjM2OWFjIiwiZmlsZXMiOlt7IlNQRFhJRCI6IlNQRFhSZWYtRmlsZS1iaW4tYnVzeWJveC05MDljNWY0MGNiMDFjYjM4IiwiY2hlY2tzdW1zIjpbeyJhbGdvcml0aG0iOiJTSEExIiwiY2hlY2tzdW1WYWx1ZSI6ImRiODUwZDUwZTZlZGZmODFhOWYxYWY1ODJhYWY5Yjg0M2IwOTgxZTMifSx7ImFsZ29yaXRobSI6IlNIQTI1NiIsImNoZWNrc3VtVmFsdWUiOiIxOWYxNWNiZWE4ZDkxNDIxZjdmOGQ1MDg2YTQ5NDA0OGQzMDVhOTIyYThjYWQ4OGYwYTQ4MzYyOTk0MTFhYzEyIn1dLCJjb21tZW50IjoibGF5ZXJJRDogc2hhMjU2OjUwMTcxZDFhY2JkNTM3OTg5YzA3NDBlMmNiYTJiODI4OGQxMDI5ZGRlNzc3MmMxZGIwYzEyODhhNjM0MjAxZmMiLCJjb3B5cmlnaHRUZXh0IjoiIiwiZmlsZU5hbWUiOiIvYmluL2J1c3lib3giLCJmaWxlVHlwZXMiOlsiQVBQTElDQVRJT04iLCJCSU5BUlkiXSwibGljZW5zZUNvbmNsdWRlZCI6Ik5PQVNTRVJUSU9OIiwibGljZW5zZUluZm9JbkZpbGVzIjpbIk5PQVNTRVJUSU9OIl19LHsiU1BEWElEIjoiU1BEWFJlZi1GaWxlLS4uLmFscGluZS1kZXZlbC1saXN0cy5hbHBpbmVsaW51eC5vcmctNTI0ZDI3YmIucnNhLnB1Yi02NzQyYjk0OWZmODUxYjQ2IiwiY2hlY2tzdW1zIjpbeyJhbGdvcml0aG0iOiJTSEExIiwiY2hlY2tzdW1WYWx1ZSI6IjA1M2E5MmY4N2ZkNDUzMjg1MGJiMzFmMDg4MTk3OGVmZTA1MzJhZTUifSx7ImFsZ29yaXRobSI6IlNIQTI1NiIsImNoZWNrc3VtVmFsdWUiOiIxYmIyYTg0NmMwZWE0Y2E5ZDBlNzg2MmY5NzA4NjM4NTdmYzMzYzMyZjU1MDYwOThjNjM2YTYyYTcyNmE4NDdiIn1dLCJjb21tZW50IjoibGF5ZXJJRDogc2hhMjU2OjUwMTcxZDFhY2JkNTM3OTg5YzA3NDBlMmNiYTJiODI4OGQxMDI5ZGRlNzc3MmMxZGIwYzEyODhhNjM0MjAxZmMiLCJjb3B5cmlnaHRUZXh0IjoiIiwiZmlsZU5hbWUiOiIvZXRjL2Fway9rZXlzL2FscGluZS1kZXZlbEBsaXN0cy5hbHBpbmVsaW51eC5vcmctNTI0ZDI3YmIucnNhLnB1YiIsImZpbGVUeXBlcyI6WyJURVhUIl0sImxpY2Vuc2VDb25jbHVkZWQiOiJOT0FTU0VSVElPTiIsImxpY2Vuc2VJbmZvSW5GaWxlcyI6WyJOT0FTU0VSVElPTiJdfSx7IlNQRFhJRCI6IlNQRFhSZWYtRmlsZS0uLi5hbHBpbmUtZGV2ZWwtbGlzdHMuYWxwaW5lbGludXgub3JnLTU4MTk5ZGNjLnJzYS5wdWItNDQ0ZmI0ODE1YjljNWZhNyIsImNoZWNrc3VtcyI6W3siYWxnb3JpdGhtIjoiU0hBMSIsImNoZWNrc3VtVmFsdWUiOiIzOWFjNWQ3MmM2YmEwMThhMGY3NGI4YjQ1Mzg5NGVkYzlkYjA3YjVmIn0seyJhbGdvcml0aG0iOiJTSEEyNTYiLCJjaGVja3N1bVZhbHVlIjoiNzM4NjdkOTIwODNmMmY4YWI4OTlhMjZjY2RhN2VmNjNkZmFhMDAzMmE5Mzg2MjBlZGE2MDU1NTg5NThhODA0MSJ9XSwiY29tbWVudCI6ImxheWVySUQ6IHNoYTI1Njo1MDE3MWQxYWNiZDUzNzk4OWMwNzQwZTJjYmEyYjgyODhkMTAyOWRkZTc3NzJjMWRiMGMxMjg4YTYzNDIwMWZjIiwiY29weXJpZ2h0VGV4dCI6IiIsImZpbGVOYW1lIjoiL2V0Yy9hcGsva2V5cy9hbHBpbmUtZGV2ZWxAbGlzdHMuYWxwaW5lbGludXgub3JnLTU4MTk5ZGNjLnJzYS5wdWIiLCJmaWxlVHlwZXMiOlsiVEVYVCJdLCJsaWNlbnNlQ29uY2x1ZGVkIjoiTk9BU1NFUlRJT04iLCJsaWNlbnNlSW5mb0luRmlsZXMiOlsiTk9BU1NFUlRJT04iXX0seyJTUERYSUQiOiJTUERYUmVmLUZpbGUtLi4uYWxwaW5lLWRldmVsLWxpc3RzLmFscGluZWxpbnV4Lm9yZy02MTZhOTcyNC5yc2EucHViLWNmYzFkMDE3YTQ4ZWU5ZTciLCJjaGVja3N1bXMiOlt7ImFsZ29yaXRobSI6IlNIQTEiLCJjaGVja3N1bVZhbHVlIjoiMjNkMGYyZWExYWYyNjljMmY2NjE2NWUwZjhhOTQ0ZTk2YmYwMTFkZSJ9LHsiYWxnb3JpdGhtIjoiU0hBMjU2IiwiY2hlY2tzdW1WYWx1ZSI6IjEwODc3Y2NlMGE5MzVlNDZhZDg4Y2I3OWUxNzRhMjQ5MTY4MDUwOGVjY2RhMDhlOTJiZjA0ZmI5YmYzN2ZiYzEifV0sImNvbW1lbnQiOiJsYXllcklEOiBzaGEyNTY6NTAxNzFkMWFjYmQ1Mzc5ODljMDc0MGUyY2JhMmI4Mjg4ZDEwMjlkZGU3NzcyYzFkYjBjMTI4OGE2MzQyMDFmYyIsImNvcHlyaWdodFRleHQiOiIiLCJmaWxlTmFtZSI6Ii9ldGMvYXBrL2tleXMvYWxwaW5lLWRldmVsQGxpc3RzLmFscGluZWxpbnV4Lm9yZy02MTZhOTcyNC5yc2EucHViIiwiZmlsZVR5cGVzIjpbIlRFWFQiXSwibGljZW5zZUNvbmNsdWRlZCI6Ik5PQVNTRVJUSU9OIiwibGljZW5zZUluZm9JbkZpbGVzIjpbIk5PQVNTRVJUSU9OIl19LHsiU1BEWElEIjoiU1BEWFJlZi1GaWxlLS4uLmFscGluZS1kZXZlbC1saXN0cy5hbHBpbmVsaW51eC5vcmctNjE2YWRmZWIucnNhLnB1Yi1lZDgzY2IzNDZkMjQxYmRmIiwiY2hlY2tzdW1zIjpbeyJhbGdvcml0aG0iOiJTSEExIiwiY2hlY2tzdW1WYWx1ZSI6ImRlMTI0MTMwNzAxNGFhZTNkYmE3OThlOTAwZjE2MzQwOGQ5OGQ2ZjQifSx7ImFsZ29yaXRobSI6IlNIQTI1NiIsImNoZWNrc3VtVmFsdWUiOiJlYmU3MTdkMjI4NTU1YWE1ODEzM2MyMDIzMTRhNDUxZjgxZTcxZjE3NDc4MWZkN2ZmOGQ4OTcwZDZjZmE2MGRhIn1dLCJjb21tZW50IjoibGF5ZXJJRDogc2hhMjU2OjUwMTcxZDFhY2JkNTM3OTg5YzA3NDBlMmNiYTJiODI4OGQxMDI5ZGRlNzc3MmMxZGIwYzEyODhhNjM0MjAxZmMiLCJjb3B5cmlnaHRUZXh0IjoiIiwiZmlsZU5hbWUiOiIvZXRjL2Fway9rZXlzL2FscGluZS1kZXZlbEBsaXN0cy5hbHBpbmVsaW51eC5vcmctNjE2YWRmZWIucnNhLnB1YiIsImZpbGVUeXBlcyI6WyJURVhUIl0sImxpY2Vuc2VDb25jbHVkZWQiOiJOT0FTU0VSVElPTiIsImxpY2Vuc2VJbmZvSW5GaWxlcyI6WyJOT0FTU0VSVElPTiJdfSx7IlNQRFhJRCI6IlNQRFhSZWYtRmlsZS0uLi5hbHBpbmUtZGV2ZWwtbGlzdHMuYWxwaW5lbGludXgub3JnLTYxNmFlMzUwLnJzYS5wdWItNzYyMDdhZWFhZDUyOTcyNCIsImNoZWNrc3VtcyI6W3siYWxnb3JpdGhtIjoiU0hBMSIsImNoZWNrc3VtVmFsdWUiOiI1N2Y2YjkzZmRhNGE0NDk2ZmFiNjI4NDRkZGVmMGVlYjE2OGY4MGI1In0seyJhbGdvcml0aG0iOiJTSEEyNTYiLCJjaGVja3N1bVZhbHVlIjoiZDExZjZiMjFjNjFiNDI3NGUxODJlYjg4ODg4M2E4YmE4YWNkYmY4MjBkY2M3YTZkODJhN2Q5ZmMyZmQyODM2ZCJ9XSwiY29tbWVudCI6ImxheWVySUQ6IHNoYTI1Njo1MDE3MWQxYWNiZDUzNzk4OWMwNzQwZTJjYmEyYjgyODhkMTAyOWRkZTc3NzJjMWRiMGMxMjg4YTYzNDIwMWZjIiwiY29weXJpZ2h0VGV4dCI6IiIsImZpbGVOYW1lIjoiL2V0Yy9hcGsva2V5cy9hbHBpbmUtZGV2ZWxAbGlzdHMuYWxwaW5lbGludXgub3JnLTYxNmFlMzUwLnJzYS5wdWIiLCJmaWxlVHlwZXMiOlsiVEVYVCJdLCJsaWNlbnNlQ29uY2x1ZGVkIjoiTk9BU1NFUlRJT04iLCJsaWNlbnNlSW5mb0luRmlsZXMiOlsiTk9BU1NFUlRJT04iXX0seyJTUERYSUQiOiJTUERYUmVmLUZpbGUtZXRjLWJ1c3lib3gtcGF0aHMuZC1idXN5Ym94LTZhMzI2ZmRiZDJlNWE4NmMiLCJjaGVja3N1bXMiOlt7ImFsZ29yaXRobSI6IlNIQTEiLCJjaGVja3N1bVZhbHVlIjoiYWY5OTcyZGFiOTI3ZmI0YmZjYmY1NzRkZThjZjg3MDQ5MmE2NjY1NyJ9LHsiYWxnb3JpdGhtIjoiU0hBMjU2IiwiY2hlY2tzdW1WYWx1ZSI6ImUxMmUwODIyZjVjNjQyNmI2MmYwNzc5OWEwZmMyMDM5NDI0MTUzNWM1YmMyY2M4ZjEwYzhhMjUwODhiOGRlZmEifV0sImNvbW1lbnQiOiJsYXllcklEOiBzaGEyNTY6NTAxNzFkMWFjYmQ1Mzc5ODljMDc0MGUyY2JhMmI4Mjg4ZDEwMjlkZGU3NzcyYzFkYjBjMTI4OGE2MzQyMDFmYyIsImNvcHlyaWdodFRleHQiOiIiLCJmaWxlTmFtZSI6Ii9ldGMvYnVzeWJveC1wYXRocy5kL2J1c3lib3giLCJmaWxlVHlwZXMiOlsiVEVYVCJdLCJsaWNlbnNlQ29uY2x1ZGVkIjoiTk9BU1NFUlRJT04iLCJsaWNlbnNlSW5mb0luRmlsZXMiOlsiTk9BU1NFUlRJT04iXX0seyJTUERYSUQiOiJTUERYUmVmLUZpbGUtZXRjLWNyb250YWJzLXJvb3QtMzUxZGE5ODhhYmE4YTUyNyIsImNoZWNrc3VtcyI6W3siYWxnb3JpdGhtIjoiU0hBMSIsImNoZWNrc3VtVmFsdWUiOiJiZGY5MzU2YTk1MTYyMzhjOGIyNDY4NjEzNTE3NzQ5MDk4YjE3ZWY2In0seyJhbGdvcml0aG0iOiJTSEEyNTYiLCJjaGVja3N1bVZhbHVlIjoiNTc1ZDgxMGE5ZmFlNWYyZjA2NzFjOWIyYzBjZTk3M2U0NmM3MjA3ZmJlNWNiOGQxYjBkMTgzNmE2YTA0NzBlMyJ9XSwiY29tbWVudCI6ImxheWVySUQ6IHNoYTI1Njo1MDE3MWQxYWNiZDUzNzk4OWMwNzQwZTJjYmEyYjgyODhkMTAyOWRkZTc3NzJjMWRiMGMxMjg4YTYzNDIwMWZjIiwiY29weXJpZ2h0VGV4dCI6IiIsImZpbGVOYW1lIjoiL2V0Yy9jcm9udGFicy9yb290IiwiZmlsZVR5cGVzIjpbIlRFWFQiXSwibGljZW5zZUNvbmNsdWRlZCI6Ik5PQVNTRVJUSU9OIiwibGljZW5zZUluZm9JbkZpbGVzIjpbIk5PQVNTRVJUSU9OIl19LHsiU1BEWElEIjoiU1BEWFJlZi1GaWxlLWV0Yy1mc3RhYi0wYzVjMzQ3Mzg3NWE1Yjg1IiwiY2hlY2tzdW1zIjpbeyJhbGdvcml0aG0iOiJTSEExIiwiY2hlY2tzdW1WYWx1ZSI6ImQ1MGVlMTM1ZWYxMGE0MzRiOWRmNTgyZWE4Mjc2YjVjMWNlODAzZmEifSx7ImFsZ29yaXRobSI6IlNIQTI1NiIsImNoZWNrc3VtVmFsdWUiOiJhM2VmY2EyZThkNjI3ODVjODc1MTcyODMwOTJiNGM4MDBkODg2MTJiNmYzZjA2YjgwYTRjMmYzOWQ4ZTY4ODQxIn1dLCJjb21tZW50IjoibGF5ZXJJRDogc2hhMjU2OjUwMTcxZDFhY2JkNTM3OTg5YzA3NDBlMmNiYTJiODI4OGQxMDI5ZGRlNzc3MmMxZGIwYzEyODhhNjM0MjAxZmMiLCJjb3B5cmlnaHRUZXh0IjoiIiwiZmlsZU5hbWUiOiIvZXRjL2ZzdGFiIiwiZmlsZVR5cGVzIjpbIlRFWFQiXSwibGljZW5zZUNvbmNsdWRlZCI6Ik5PQVNTRVJUSU9OIiwibGljZW5zZUluZm9JbkZpbGVzIjpbIk5PQVNTRVJUSU9OIl19LHsiU1BEWElEIjoiU1BEWFJlZi1GaWxlLWV0Yy1ncm91cC1jYzQ5MGJhYmM3YmE2OTg0IiwiY2hlY2tzdW1zIjpbeyJhbGdvcml0aG0iOiJTSEExIiwiY2hlY2tzdW1WYWx1ZSI6ImQ4ZWI2NGUwY2RmZDdjZmQ5OThlNGExYmJiNDljMmY0NWJlNTQ0OGQifSx7ImFsZ29yaXRobSI6IlNIQTI1NiIsImNoZWNrc3VtVmFsdWUiOiI2ZmI2YWI1YTU1MjZlNmY0ODk2YjcwYzdlM2MzNTBmZDQ3NTE1OGExZjBkN2I1ZmMwZjNmOWJkNTdmMWMzYmU4In1dLCJjb21tZW50IjoibGF5ZXJJRDogc2hhMjU2OjUwMTcxZDFhY2JkNTM3OTg5YzA3NDBlMmNiYTJiODI4OGQxMDI5ZGRlNzc3MmMxZGIwYzEyODhhNjM0MjAxZmMiLCJjb3B5cmlnaHRUZXh0IjoiIiwiZmlsZU5hbWUiOiIvZXRjL2dyb3VwIiwiZmlsZVR5cGVzIjpbIlRFWFQiXSwibGljZW5zZUNvbmNsdWRlZCI6Ik5PQVNTRVJUSU9OIiwibGljZW5zZUluZm9JbkZpbGVzIjpbIk5PQVNTRVJUSU9OIl19LHsiU1BEWElEIjoiU1BEWFJlZi1GaWxlLWV0Yy1ob3N0bmFtZS0xOGY0MTQzZmEyNGE1MzA5IiwiY2hlY2tzdW1zIjpbeyJhbGdvcml0aG0iOiJTSEExIiwiY2hlY2tzdW1WYWx1ZSI6ImVhNzU3MDYxNTVjZmZlZDBhMWJkNDNkZGJhNDU0M2RhMjdkNzNhNjcifSx7ImFsZ29yaXRobSI6IlNIQTI1NiIsImNoZWNrc3VtVmFsdWUiOiJkOTA2YWVjYjYxZDA3NmE5NjdkOWZmZTg4MjFjN2IwNGIwNjNmNzJkZjlkOWUzNWIzM2VmMzZiMWMwZDk4ZjE2In1dLCJjb21tZW50IjoibGF5ZXJJRDogc2hhMjU2OjUwMTcxZDFhY2JkNTM3OTg5YzA3NDBlMmNiYTJiODI4OGQxMDI5ZGRlNzc3MmMxZGIwYzEyODhhNjM0MjAxZmMiLCJjb3B5cmlnaHRUZXh0IjoiIiwiZmlsZU5hbWUiOiIvZXRjL2hvc3RuYW1lIiwiZmlsZVR5cGVzIjpbIlRFWFQiXSwibGljZW5zZUNvbmNsdWRlZCI6Ik5PQVNTRVJUSU9OIiwibGljZW5zZUluZm9JbkZpbGVzIjpbIk5PQVNTRVJUSU9OIl19LHsiU1BEWElEIjoiU1BEWFJlZi1GaWxlLWV0Yy1ob3N0cy0wOTdkNjA0ODVlZjFhNTY1IiwiY2hlY2tzdW1zIjpbeyJhbGdvcml0aG0iOiJTSEExIiwiY2hlY2tzdW1WYWx1ZSI6IjA0M2ViMzI0YTY1MzQ1NmNhYTFhNzNlMmUyZDQ5Zjc3NzkyYmIwYzUifSx7ImFsZ29yaXRobSI6IlNIQTI1NiIsImNoZWNrc3VtVmFsdWUiOiJlMzk5OGRiZTAyYjUxZGFkYTMzZGU4N2FlNDNkMThhOTNhYjY5MTViOWUzNGY1YTc1MWJmMmI5YjI1YTU1NDkyIn1dLCJjb21tZW50IjoibGF5ZXJJRDogc2hhMjU2OjUwMTcxZDFhY2JkNTM3OTg5YzA3NDBlMmNiYTJiODI4OGQxMDI5ZGRlNzc3MmMxZGIwYzEyODhhNjM0MjAxZmMiLCJjb3B5cmlnaHRUZXh0IjoiIiwiZmlsZU5hbWUiOiIvZXRjL2hvc3RzIiwiZmlsZVR5cGVzIjpbIlRFWFQiXSwibGljZW5zZUNvbmNsdWRlZCI6Ik5PQVNTRVJUSU9OIiwibGljZW5zZUluZm9JbkZpbGVzIjpbIk5PQVNTRVJUSU9OIl19LHsiU1BEWElEIjoiU1BEWFJlZi1GaWxlLWV0Yy1pbml0dGFiLTI3MzI4NWE0NTk0NDMwMDEiLCJjaGVja3N1bXMiOlt7ImFsZ29yaXRobSI6IlNIQTEiLCJjaGVja3N1bVZhbHVlIjoiY2U5NTg2ZDJhY2YxZDk0NjI3NjUyNTlhMjFjY2M0Zjk2YTQwMjE1MSJ9LHsiYWxnb3JpdGhtIjoiU0hBMjU2IiwiY2hlY2tzdW1WYWx1ZSI6IjczMjZkOGFkNTZiZjVmZWE2M2IxY2E1MTZhNzQ3ZmY2ZTY3MjNlMjVhZTg0YTkzYzMxNjIwYjAzZGU2YzAwMWQifV0sImNvbW1lbnQiOiJsYXllcklEOiBzaGEyNTY6NTAxNzFkMWFjYmQ1Mzc5ODljMDc0MGUyY2JhMmI4Mjg4ZDEwMjlkZGU3NzcyYzFkYjBjMTI4OGE2MzQyMDFmYyIsImNvcHlyaWdodFRleHQiOiIiLCJmaWxlTmFtZSI6Ii9ldGMvaW5pdHRhYiIsImZpbGVUeXBlcyI6WyJURVhUIl0sImxpY2Vuc2VDb25jbHVkZWQiOiJOT0FTU0VSVElPTiIsImxpY2Vuc2VJbmZvSW5GaWxlcyI6WyJOT0FTU0VSVElPTiJdfSx7IlNQRFhJRCI6IlNQRFhSZWYtRmlsZS1ldGMtbG9ncm90YXRlLmQtYWNwaWQtZTQ3MzMxNDQzYzNmMmZkYyIsImNoZWNrc3VtcyI6W3siYWxnb3JpdGhtIjoiU0hBMSIsImNoZWNrc3VtVmFsdWUiOiI0ZjI5NzIwODgzNTU5YTc0YmUwM2Y0ZGU2OWRlMmY2NjExM2IwNjRiIn0seyJhbGdvcml0aG0iOiJTSEEyNTYiLCJjaGVja3N1bVZhbHVlIjoiZDYwOGEzYjc3MTU4ODZiNTczNWRlZjBjYzUwYTYzNTlmZDM2NGZhYzJlMGUwYTQ1OWM1ODhjMDRiZTQ3MTAzMSJ9XSwiY29tbWVudCI6ImxheWVySUQ6IHNoYTI1Njo1MDE3MWQxYWNiZDUzNzk4OWMwNzQwZTJjYmEyYjgyODhkMTAyOWRkZTc3NzJjMWRiMGMxMjg4YTYzNDIwMWZjIiwiY29weXJpZ2h0VGV4dCI6IiIsImZpbGVOYW1lIjoiL2V0Yy9sb2dyb3RhdGUuZC9hY3BpZCIsImZpbGVUeXBlcyI6WyJURVhUIl0sImxpY2Vuc2VDb25jbHVkZWQiOiJOT0FTU0VSVElPTiIsImxpY2Vuc2VJbmZvSW5GaWxlcyI6WyJOT0FTU0VSVElPTiJdfSx7IlNQRFhJRCI6IlNQRFhSZWYtRmlsZS1ldGMtbW9kcHJvYmUuZC1hbGlhc2VzLmNvbmYtOGFjOWFiNTk0NGUwYjUzNyIsImNoZWNrc3VtcyI6W3siYWxnb3JpdGhtIjoiU0hBMSIsImNoZWNrc3VtVmFsdWUiOiI1OTQ2ZTFlOTMwNTgzNTUyYmI3Yjg2M2ViOTRiY2JiM2ZlZWY4YWE5In0seyJhbGdvcml0aG0iOiJTSEEyNTYiLCJjaGVja3N1bVZhbHVlIjoiM2ViYWJhOTQ2ZjIxMzY3MDE3MGM3ZDY5OTQ5ZjY5MGEzODU0NTUzYmQwYjE1NjBmMWQ5ODBjYmE0YzgzYTk0MiJ9XSwiY29tbWVudCI6ImxheWVySUQ6IHNoYTI1Njo1MDE3MWQxYWNiZDUzNzk4OWMwNzQwZTJjYmEyYjgyODhkMTAyOWRkZTc3NzJjMWRiMGMxMjg4YTYzNDIwMWZjIiwiY29weXJpZ2h0VGV4dCI6IiIsImZpbGVOYW1lIjoiL2V0Yy9tb2Rwcm9iZS5kL2FsaWFzZXMuY29uZiIsImZpbGVUeXBlcyI6WyJURVhUIl0sImxpY2Vuc2VDb25jbHVkZWQiOiJOT0FTU0VSVElPTiIsImxpY2Vuc2VJbmZvSW5GaWxlcyI6WyJOT0FTU0VSVElPTiJdfSx7IlNQRFhJRCI6IlNQRFhSZWYtRmlsZS1ldGMtbW9kcHJvYmUuZC1ibGFja2xpc3QuY29uZi1hYmY5ZmM0NjUxMGZmNzdjIiwiY2hlY2tzdW1zIjpbeyJhbGdvcml0aG0iOiJTSEExIiwiY2hlY2tzdW1WYWx1ZSI6ImUxMzc2MDE0NzkxMzc2ZGRlZTQwMmY4ZDA2ZGFlN2I0ZTllNmY2N2UifSx7ImFsZ29yaXRobSI6IlNIQTI1NiIsImNoZWNrc3VtVmFsdWUiOiI1Y2Q0NjAzMWZjN2RjNzE4NmU2N2M5N2ZkMzQ3ODA1OTdkZTRlYmZmNTFkYmU0MWViYTI3MjIwZmU1ZTBkODY2In1dLCJjb21tZW50IjoibGF5ZXJJRDogc2hhMjU2OjUwMTcxZDFhY2JkNTM3OTg5YzA3NDBlMmNiYTJiODI4OGQxMDI5ZGRlNzc3MmMxZGIwYzEyODhhNjM0MjAxZmMiLCJjb3B5cmlnaHRUZXh0IjoiIiwiZmlsZU5hbWUiOiIvZXRjL21vZHByb2JlLmQvYmxhY2tsaXN0LmNvbmYiLCJmaWxlVHlwZXMiOlsiVEVYVCJdLCJsaWNlbnNlQ29uY2x1ZGVkIjoiTk9BU1NFUlRJT04iLCJsaWNlbnNlSW5mb0luRmlsZXMiOlsiTk9BU1NFUlRJT04iXX0seyJTUERYSUQiOiJTUERYUmVmLUZpbGUtZXRjLW1vZHByb2JlLmQtaTM4Ni5jb25mLWU5MDU0YTUzYzIyZTg4Y2YiLCJjaGVja3N1bXMiOlt7ImFsZ29yaXRobSI6IlNIQTEiLCJjaGVja3N1bVZhbHVlIjoiYTY3NmIyZmU3OGU3ZWE4OTdkNzAyYjJjMmZiMmEyNjU5ZjFlYjY1NyJ9LHsiYWxnb3JpdGhtIjoiU0hBMjU2IiwiY2hlY2tzdW1WYWx1ZSI6IjZjNDZjNGNiZmI4Yjc1OTRmMTllYjk0ODAxYTM1MGZhMjIyMWFlOWFjNTIzOWE4ODE5ZDE1NTU1Y2FhNzZhZTgifV0sImNvbW1lbnQiOiJsYXllcklEOiBzaGEyNTY6NTAxNzFkMWFjYmQ1Mzc5ODljMDc0MGUyY2JhMmI4Mjg4ZDEwMjlkZGU3NzcyYzFkYjBjMTI4OGE2MzQyMDFmYyIsImNvcHlyaWdodFRleHQiOiIiLCJmaWxlTmFtZSI6Ii9ldGMvbW9kcHJvYmUuZC9pMzg2LmNvbmYiLCJmaWxlVHlwZXMiOlsiVEVYVCJdLCJsaWNlbnNlQ29uY2x1ZGVkIjoiTk9BU1NFUlRJT04iLCJsaWNlbnNlSW5mb0luRmlsZXMiOlsiTk9BU1NFUlRJT04iXX0seyJTUERYSUQiOiJTUERYUmVmLUZpbGUtZXRjLW1vZHByb2JlLmQta21zLmNvbmYtNzdmNjIwZDdhOTljZmZhOCIsImNoZWNrc3VtcyI6W3siYWxnb3JpdGhtIjoiU0hBMSIsImNoZWNrc3VtVmFsdWUiOiJjYTc2Y2I5ZjcxOTgwZTliZGE4ZGI2YmY5NWRhNzU5ZTI2YjI3YTg4In0seyJhbGdvcml0aG0iOiJTSEEyNTYiLCJjaGVja3N1bVZhbHVlIjoiNTA0NjdmYTczMmY4MDlmM2EyYmI1NzM4NjI4NzY1YzVmODk1YzNhMjM3ZTFjMWFkMDlmODVkNDFmZDljYTdjNSJ9XSwiY29tbWVudCI6ImxheWVySUQ6IHNoYTI1Njo1MDE3MWQxYWNiZDUzNzk4OWMwNzQwZTJjYmEyYjgyODhkMTAyOWRkZTc3NzJjMWRiMGMxMjg4YTYzNDIwMWZjIiwiY29weXJpZ2h0VGV4dCI6IiIsImZpbGVOYW1lIjoiL2V0Yy9tb2Rwcm9iZS5kL2ttcy5jb25mIiwiZmlsZVR5cGVzIjpbIlRFWFQiXSwibGljZW5zZUNvbmNsdWRlZCI6Ik5PQVNTRVJUSU9OIiwibGljZW5zZUluZm9JbkZpbGVzIjpbIk5PQVNTRVJUSU9OIl19LHsiU1BEWElEIjoiU1BEWFJlZi1GaWxlLWV0Yy1tb2R1bGVzLWY5ZTA1MGI4MmJlMWFkNzUiLCJjaGVja3N1bXMiOlt7ImFsZ29yaXRobSI6IlNIQTEiLCJjaGVja3N1bVZhbHVlIjoiYjY4YTIwOGQ0OGE5MWM2NzBjODA0MGEwM2M5NWZhZTEyYzE0NGY1MyJ9LHsiYWxnb3JpdGhtIjoiU0hBMjU2IiwiY2hlY2tzdW1WYWx1ZSI6IjJjODgxZGU3NWE1NDA5YzM1ZDI0MzNhMjRmMTgwYjhiMDJiYTQ3OGVmMmMxYzYwZWEzNDM0YTM1YmNiYzMzNWQifV0sImNvbW1lbnQiOiJsYXllcklEOiBzaGEyNTY6NTAxNzFkMWFjYmQ1Mzc5ODljMDc0MGUyY2JhMmI4Mjg4ZDEwMjlkZGU3NzcyYzFkYjBjMTI4OGE2MzQyMDFmYyIsImNvcHlyaWdodFRleHQiOiIiLCJmaWxlTmFtZSI6Ii9ldGMvbW9kdWxlcyIsImZpbGVUeXBlcyI6WyJURVhUIl0sImxpY2Vuc2VDb25jbHVkZWQiOiJOT0FTU0VSVElPTiIsImxpY2Vuc2VJbmZvSW5GaWxlcyI6WyJOT0FTU0VSVElPTiJdfSx7IlNQRFhJRCI6IlNQRFhSZWYtRmlsZS1ldGMtbW90ZC05YTU1OTgwNTkzYjc0YTAzIiwiY2hlY2tzdW1zIjpbeyJhbGdvcml0aG0iOiJTSEExIiwiY2hlY2tzdW1WYWx1ZSI6IjQ4YjkxMmY2MTA2Mjc1NDZjZmMzMGFmMGY5NzQ3NDVhMWJmN2MzMGYifSx7ImFsZ29yaXRobSI6IlNIQTI1NiIsImNoZWNrc3VtVmFsdWUiOiJmZjA0NGU5YmU1ZGFhMmVlZTJkM2QxMGE0ZGE3MmU1NDc3ZTRjMjRjMTZmMTc5MmRlMmM5MWRhZTg0NGMwZTMwIn1dLCJjb21tZW50IjoibGF5ZXJJRDogc2hhMjU2OjUwMTcxZDFhY2JkNTM3OTg5YzA3NDBlMmNiYTJiODI4OGQxMDI5ZGRlNzc3MmMxZGIwYzEyODhhNjM0MjAxZmMiLCJjb3B5cmlnaHRUZXh0IjoiIiwiZmlsZU5hbWUiOiIvZXRjL21vdGQiLCJmaWxlVHlwZXMiOlsiVEVYVCJdLCJsaWNlbnNlQ29uY2x1ZGVkIjoiTk9BU1NFUlRJT04iLCJsaWNlbnNlSW5mb0luRmlsZXMiOlsiTk9BU1NFUlRJT04iXX0seyJTUERYSUQiOiJTUERYUmVmLUZpbGUtZXRjLW5ldHdvcmstaWYtdXAuZC1kYWQtZTE3ZjZjZDcxYzQ4MGIxMSIsImNoZWNrc3VtcyI6W3siYWxnb3JpdGhtIjoiU0hBMSIsImNoZWNrc3VtVmFsdWUiOiJkZGQ5OWJjMTk3YzM2ZThhOWFhYjk0NjNhYWVlYmRhNDRhN2E4MDI5In0seyJhbGdvcml0aG0iOiJTSEEyNTYiLCJjaGVja3N1bVZhbHVlIjoiMmZkMjBkMWJjNjdkOWVlNzExOTkwMDAyYjI0ZjE1NjYzNWE3M2Y1NmI4OTM1YjJmNzY1OTI5Mzg4MTdmYTRlNyJ9XSwiY29tbWVudCI6ImxheWVySUQ6IHNoYTI1Njo1MDE3MWQxYWNiZDUzNzk4OWMwNzQwZTJjYmEyYjgyODhkMTAyOWRkZTc3NzJjMWRiMGMxMjg4YTYzNDIwMWZjIiwiY29weXJpZ2h0VGV4dCI6IiIsImZpbGVOYW1lIjoiL2V0Yy9uZXR3b3JrL2lmLXVwLmQvZGFkIiwiZmlsZVR5cGVzIjpbIlRFWFQiXSwibGljZW5zZUNvbmNsdWRlZCI6Ik5PQVNTRVJUSU9OIiwibGljZW5zZUluZm9JbkZpbGVzIjpbIk5PQVNTRVJUSU9OIl19LHsiU1BEWElEIjoiU1BEWFJlZi1GaWxlLWV0Yy1uc3N3aXRjaC5jb25mLTI2YWRiOGZlZmZlNDEyOWIiLCJjaGVja3N1bXMiOlt7ImFsZ29yaXRobSI6IlNIQTEiLCJjaGVja3N1bVZhbHVlIjoiZjQzMDZjMzI3YmY0NDc2N2RhOGRhNGUzYTEzYmY0MGJkZDRkM2FhYSJ9LHsiYWxnb3JpdGhtIjoiU0hBMjU2IiwiY2hlY2tzdW1WYWx1ZSI6IjBhZmQ5NGMxODNkMzBhMzQ4YjQ1MDU3ZjZiZjQ2OGUxMjFhYTQ0OGE3NjQxMTA5YWRkYjViYjhlMjgyZjUxNGQifV0sImNvbW1lbnQiOiJsYXllcklEOiBzaGEyNTY6NTAxNzFkMWFjYmQ1Mzc5ODljMDc0MGUyY2JhMmI4Mjg4ZDEwMjlkZGU3NzcyYzFkYjBjMTI4OGE2MzQyMDFmYyIsImNvcHlyaWdodFRleHQiOiIiLCJmaWxlTmFtZSI6Ii9ldGMvbnNzd2l0Y2guY29uZiIsImZpbGVUeXBlcyI6WyJURVhUIl0sImxpY2Vuc2VDb25jbHVkZWQiOiJOT0FTU0VSVElPTiIsImxpY2Vuc2VJbmZvSW5GaWxlcyI6WyJOT0FTU0VSVElPTiJdfSx7IlNQRFhJRCI6IlNQRFhSZWYtRmlsZS1ldGMtcGFzc3dkLTdhY2NmZmE4OTIzZDM1ZTkiLCJjaGVja3N1bXMiOlt7ImFsZ29yaXRobSI6IlNIQTEiLCJjaGVja3N1bVZhbHVlIjoiYWZlNmNiYTI3NjY0MDMyMDYyYzdmMWNiODEyNzgzYjFlY2Y2ZDk5YiJ9LHsiYWxnb3JpdGhtIjoiU0hBMjU2IiwiY2hlY2tzdW1WYWx1ZSI6IjMxYTk0ZjA2ZjE3YmMzYjkwODVmY2NhYjFkMGZhNmVlOWU3OWM0YTFlNGQ5MWY2MTdmYTVkZTk1ODYzYmUwMTUifV0sImNvbW1lbnQiOiJsYXllcklEOiBzaGEyNTY6NTAxNzFkMWFjYmQ1Mzc5ODljMDc0MGUyY2JhMmI4Mjg4ZDEwMjlkZGU3NzcyYzFkYjBjMTI4OGE2MzQyMDFmYyIsImNvcHlyaWdodFRleHQiOiIiLCJmaWxlTmFtZSI6Ii9ldGMvcGFzc3dkIiwiZmlsZVR5cGVzIjpbIlRFWFQiXSwibGljZW5zZUNvbmNsdWRlZCI6Ik5PQVNTRVJUSU9OIiwibGljZW5zZUluZm9JbkZpbGVzIjpbIk5PQVNTRVJUSU9OIl19LHsiU1BEWElEIjoiU1BEWFJlZi1GaWxlLWV0Yy1wcm9maWxlLTZkZmRiOTUxOGU2YjYzZWYiLCJjaGVja3N1bXMiOlt7ImFsZ29yaXRobSI6IlNIQTEiLCJjaGVja3N1bVZhbHVlIjoiNTRkZDFkOTlhYzAzODM3OTgxMTNmOTYzMDdlZTliNTJiMGJiMGYzNyJ9LHsiYWxnb3JpdGhtIjoiU0hBMjU2IiwiY2hlY2tzdW1WYWx1ZSI6Ijg3ZTg2NDNkM2NlMTU2ZGUwYzA5MzcwZDRkMzk0NDZmMzBiZDAwZDI2NGJlYTI0OGFiYzE5MWM0ZDdiOWRmM2UifV0sImNvbW1lbnQiOiJsYXllcklEOiBzaGEyNTY6NTAxNzFkMWFjYmQ1Mzc5ODljMDc0MGUyY2JhMmI4Mjg4ZDEwMjlkZGU3NzcyYzFkYjBjMTI4OGE2MzQyMDFmYyIsImNvcHlyaWdodFRleHQiOiIiLCJmaWxlTmFtZSI6Ii9ldGMvcHJvZmlsZSIsImZpbGVUeXBlcyI6WyJURVhUIl0sImxpY2Vuc2VDb25jbHVkZWQiOiJOT0FTU0VSVElPTiIsImxpY2Vuc2VJbmZvSW5GaWxlcyI6WyJOT0FTU0VSVElPTiJdfSx7IlNQRFhJRCI6IlNQRFhSZWYtRmlsZS1ldGMtcHJvZmlsZS5kLTIwbG9jYWxlLnNoLTQ3MzhjYjk1MmVhYmFiYmEiLCJjaGVja3N1bXMiOlt7ImFsZ29yaXRobSI6IlNIQTEiLCJjaGVja3N1bVZhbHVlIjoiOTZhZGJkOTUwY2NmOTkyMDg1Mjk1OTkwZjliYmU2NjdmMGNmNGM0ZSJ9LHsiYWxnb3JpdGhtIjoiU0hBMjU2IiwiY2hlY2tzdW1WYWx1ZSI6IjI4NGE2ZWY1NmFiOTdhMTNhNzc3YzZiMDFhZTE0ZjJjYzNkMmI3YTI5YzE5ZTc1MGU2MjJlNzBjYzNjNzMxODYifV0sImNvbW1lbnQiOiJsYXllcklEOiBzaGEyNTY6NTAxNzFkMWFjYmQ1Mzc5ODljMDc0MGUyY2JhMmI4Mjg4ZDEwMjlkZGU3NzcyYzFkYjBjMTI4OGE2MzQyMDFmYyIsImNvcHlyaWdodFRleHQiOiIiLCJmaWxlTmFtZSI6Ii9ldGMvcHJvZmlsZS5kLzIwbG9jYWxlLnNoIiwiZmlsZVR5cGVzIjpbIlRFWFQiXSwibGljZW5zZUNvbmNsdWRlZCI6Ik5PQVNTRVJUSU9OIiwibGljZW5zZUluZm9JbkZpbGVzIjpbIk5PQVNTRVJUSU9OIl19LHsiU1BEWElEIjoiU1BEWFJlZi1GaWxlLWV0Yy1wcm9maWxlLmQtUkVBRE1FLTNiZTg3ZTdmMTU0YWRiNjMiLCJjaGVja3N1bXMiOlt7ImFsZ29yaXRobSI6IlNIQTEiLCJjaGVja3N1bVZhbHVlIjoiZGY5Mzk2YjAyY2YzYmU3MDc2N2U2MTcxZWI2OTFiYWE2ZDQwYzc1OSJ9LHsiYWxnb3JpdGhtIjoiU0hBMjU2IiwiY2hlY2tzdW1WYWx1ZSI6ImI3MzI4NGYyN2ZlMmRhOWFlMTkwMmIxZmU5NTk2YzNmZmM2MWExNTRlMjgwNWEwMzQxODRmMDQ2OGY4YjA5YjAifV0sImNvbW1lbnQiOiJsYXllcklEOiBzaGEyNTY6NTAxNzFkMWFjYmQ1Mzc5ODljMDc0MGUyY2JhMmI4Mjg4ZDEwMjlkZGU3NzcyYzFkYjBjMTI4OGE2MzQyMDFmYyIsImNvcHlyaWdodFRleHQiOiIiLCJmaWxlTmFtZSI6Ii9ldGMvcHJvZmlsZS5kL1JFQURNRSIsImZpbGVUeXBlcyI6WyJURVhUIl0sImxpY2Vuc2VDb25jbHVkZWQiOiJOT0FTU0VSVElPTiIsImxpY2Vuc2VJbmZvSW5GaWxlcyI6WyJOT0FTU0VSVElPTiJdfSx7IlNQRFhJRCI6IlNQRFhSZWYtRmlsZS1ldGMtcHJvZmlsZS5kLWNvbG9yLXByb21wdC5zaC5kaXNhYmxlZC1lZWI5MzA0OGFmNjNiZjY0IiwiY2hlY2tzdW1zIjpbeyJhbGdvcml0aG0iOiJTSEExIiwiY2hlY2tzdW1WYWx1ZSI6ImQ1NzMzZDk5ZDdiNTY3NmY2ZDU4YzE5YTNhNDdhOGJjM2ZlNmUyZTUifSx7ImFsZ29yaXRobSI6IlNIQTI1NiIsImNoZWNrc3VtVmFsdWUiOiJiYTI0NDI1YzY4NjRhNWQxN2ZhMGZkYWY5MTRjNGQyMTQxOWU0N2M0ZDYyMDgwYzMzODMwYWYwNTlmZTQ2NjE3In1dLCJjb21tZW50IjoibGF5ZXJJRDogc2hhMjU2OjUwMTcxZDFhY2JkNTM3OTg5YzA3NDBlMmNiYTJiODI4OGQxMDI5ZGRlNzc3MmMxZGIwYzEyODhhNjM0MjAxZmMiLCJjb3B5cmlnaHRUZXh0IjoiIiwiZmlsZU5hbWUiOiIvZXRjL3Byb2ZpbGUuZC9jb2xvcl9wcm9tcHQuc2guZGlzYWJsZWQiLCJmaWxlVHlwZXMiOlsiVEVYVCJdLCJsaWNlbnNlQ29uY2x1ZGVkIjoiTk9BU1NFUlRJT04iLCJsaWNlbnNlSW5mb0luRmlsZXMiOlsiTk9BU1NFUlRJT04iXX0seyJTUERYSUQiOiJTUERYUmVmLUZpbGUtZXRjLXByb3RvY29scy01ZjFkOGQxNDgyZDk3M2I2IiwiY2hlY2tzdW1zIjpbeyJhbGdvcml0aG0iOiJTSEExIiwiY2hlY2tzdW1WYWx1ZSI6ImQ1Zjk2NTQ1MzkwODliOTZmMWIxOTU2ODQ4ZDc4MzUyN2RhNmZiNDcifSx7ImFsZ29yaXRobSI6IlNIQTI1NiIsImNoZWNrc3VtVmFsdWUiOiI0OTU5NDk4YWJiYWRhYTFlNTA4OTRhMjY2ZjhkMGQ5NDUwMDEwMWNmZTViNWYwOWRjYWQ4MmU5ZDViZGZhYjQ2In1dLCJjb21tZW50IjoibGF5ZXJJRDogc2hhMjU2OjUwMTcxZDFhY2JkNTM3OTg5YzA3NDBlMmNiYTJiODI4OGQxMDI5ZGRlNzc3MmMxZGIwYzEyODhhNjM0MjAxZmMiLCJjb3B5cmlnaHRUZXh0IjoiIiwiZmlsZU5hbWUiOiIvZXRjL3Byb3RvY29scyIsImZpbGVUeXBlcyI6WyJURVhUIl0sImxpY2Vuc2VDb25jbHVkZWQiOiJOT0FTU0VSVElPTiIsImxpY2Vuc2VJbmZvSW5GaWxlcyI6WyJOT0FTU0VSVElPTiJdfSx7IlNQRFhJRCI6IlNQRFhSZWYtRmlsZS1ldGMtc2VjdXJldHR5LWY1ODI2ZmYxNmQ2ZWFlYmIiLCJjaGVja3N1bXMiOlt7ImFsZ29yaXRobSI6IlNIQTEiLCJjaGVja3N1bVZhbHVlIjoiMGUyOWNlN2ZhMjUxYTQyNDYwMzNhYmNkYWEzMzllYzVkZGU4NGE3NSJ9LHsiYWxnb3JpdGhtIjoiU0hBMjU2IiwiY2hlY2tzdW1WYWx1ZSI6IjcxM2ZjZWE1MTA5NzI4ODgzYjkxNDdlODIyNDI5MTMzZmNjOGI1ZTI1M2FmZDNjMmExOTdiMTBjZDBiYzNiNGQifV0sImNvbW1lbnQiOiJsYXllcklEOiBzaGEyNTY6NTAxNzFkMWFjYmQ1Mzc5ODljMDc0MGUyY2JhMmI4Mjg4ZDEwMjlkZGU3NzcyYzFkYjBjMTI4OGE2MzQyMDFmYyIsImNvcHlyaWdodFRleHQiOiIiLCJmaWxlTmFtZSI6Ii9ldGMvc2VjdXJldHR5IiwiZmlsZVR5cGVzIjpbIlRFWFQiXSwibGljZW5zZUNvbmNsdWRlZCI6Ik5PQVNTRVJUSU9OIiwibGljZW5zZUluZm9JbkZpbGVzIjpbIk5PQVNTRVJUSU9OIl19LHsiU1BEWElEIjoiU1BEWFJlZi1GaWxlLWV0Yy1zZXJ2aWNlcy04MTJiM2YxYTJkNTgzZjI5IiwiY2hlY2tzdW1zIjpbeyJhbGdvcml0aG0iOiJTSEExIiwiY2hlY2tzdW1WYWx1ZSI6ImEwZDdhMjI5YmYwNDlmN2ZlMTdlODQ0NTIyNjIzNmU0MDI0NTM1ZDAifSx7ImFsZ29yaXRobSI6IlNIQTI1NiIsImNoZWNrc3VtVmFsdWUiOiJmNjE4MzA1NWZkOTQ5ZjljNTNkNDllZTYyMGY4NWQwMTUwMTIzZWE2OTFkMjVlZDFiYmEwYzY0MWI0ZWUyZjQ4In1dLCJjb21tZW50IjoibGF5ZXJJRDogc2hhMjU2OjUwMTcxZDFhY2JkNTM3OTg5YzA3NDBlMmNiYTJiODI4OGQxMDI5ZGRlNzc3MmMxZGIwYzEyODhhNjM0MjAxZmMiLCJjb3B5cmlnaHRUZXh0IjoiIiwiZmlsZU5hbWUiOiIvZXRjL3NlcnZpY2VzIiwiZmlsZVR5cGVzIjpbIlRFWFQiXSwibGljZW5zZUNvbmNsdWRlZCI6Ik5PQVNTRVJUSU9OIiwibGljZW5zZUluZm9JbkZpbGVzIjpbIk5PQVNTRVJUSU9OIl19LHsiU1BEWElEIjoiU1BEWFJlZi1GaWxlLWV0Yy1zaGFkb3ctYTFkNjRjNzJkMDYxY2Q5MiIsImNoZWNrc3VtcyI6W3siYWxnb3JpdGhtIjoiU0hBMSIsImNoZWNrc3VtVmFsdWUiOiJmZGNjZTgxM2Q5YTNhYTI3ZmZmY2YwNzEyNmQyZGVhYmYxN2NiMDU3In0seyJhbGdvcml0aG0iOiJTSEEyNTYiLCJjaGVja3N1bVZhbHVlIjoiZDU5OTJhMjdmMDVmMzgwZmM1ZmFlYjgyYTMzNTllMmYyMzBmZDFkNmVhNjUxN2I0NTg5MmI3NzFhMjE5NGRkYiJ9XSwiY29tbWVudCI6ImxheWVySUQ6IHNoYTI1Njo1MDE3MWQxYWNiZDUzNzk4OWMwNzQwZTJjYmEyYjgyODhkMTAyOWRkZTc3NzJjMWRiMGMxMjg4YTYzNDIwMWZjIiwiY29weXJpZ2h0VGV4dCI6IiIsImZpbGVOYW1lIjoiL2V0Yy9zaGFkb3ciLCJmaWxlVHlwZXMiOlsiVEVYVCJdLCJsaWNlbnNlQ29uY2x1ZGVkIjoiTk9BU1NFUlRJT04iLCJsaWNlbnNlSW5mb0luRmlsZXMiOlsiTk9BU1NFUlRJT04iXX0seyJTUERYSUQiOiJTUERYUmVmLUZpbGUtZXRjLXNoZWxscy0yZGM3M2JhNDE3YmViYjc1IiwiY2hlY2tzdW1zIjpbeyJhbGdvcml0aG0iOiJTSEExIiwiY2hlY2tzdW1WYWx1ZSI6ImEyMzliNjYxZGE0MjI3YTA3ZjZhOTE4MzY5OWZkMjc1YmRiMTI2NDAifSx7ImFsZ29yaXRobSI6IlNIQTI1NiIsImNoZWNrc3VtVmFsdWUiOiIyNGJlNmNlYjIzNjYxMGRmNDU2ODRjODNiMDZjOTE4YWU0NTYzNWJlNTVmNjk5NzVlNDM2NzZiNzU5NWJiYzVmIn1dLCJjb21tZW50IjoibGF5ZXJJRDogc2hhMjU2OjUwMTcxZDFhY2JkNTM3OTg5YzA3NDBlMmNiYTJiODI4OGQxMDI5ZGRlNzc3MmMxZGIwYzEyODhhNjM0MjAxZmMiLCJjb3B5cmlnaHRUZXh0IjoiIiwiZmlsZU5hbWUiOiIvZXRjL3NoZWxscyIsImZpbGVUeXBlcyI6WyJURVhUIl0sImxpY2Vuc2VDb25jbHVkZWQiOiJOT0FTU0VSVElPTiIsImxpY2Vuc2VJbmZvSW5GaWxlcyI6WyJOT0FTU0VSVElPTiJdfSx7IlNQRFhJRCI6IlNQRFhSZWYtRmlsZS1ldGMtc3NsLWNlcnRzLWNhLWNlcnRpZmljYXRlcy5jcnQtYzdlYzk2ZTNmOWQyMmU1ZSIsImNoZWNrc3VtcyI6W3siYWxnb3JpdGhtIjoiU0hBMSIsImNoZWNrc3VtVmFsdWUiOiJlZjE0MmI1MDJkZTI4Y2I3M2ZhYjI2MGM4MDAzMmJiYjkwMTNmMmJkIn0seyJhbGdvcml0aG0iOiJTSEEyNTYiLCJjaGVja3N1bVZhbHVlIjoiMzdhY2ZmZWY0OTAwZGM1OThlZGNhMzZhMTc3YzYwY2E3N2Y5MTMwYjVhOTNiMTM0NGQ3MTNhYzRhYmNmOTRjMSJ9XSwiY29tbWVudCI6ImxheWVySUQ6IHNoYTI1Njo1MDE3MWQxYWNiZDUzNzk4OWMwNzQwZTJjYmEyYjgyODhkMTAyOWRkZTc3NzJjMWRiMGMxMjg4YTYzNDIwMWZjIiwiY29weXJpZ2h0VGV4dCI6IiIsImZpbGVOYW1lIjoiL2V0Yy9zc2wvY2VydHMvY2EtY2VydGlmaWNhdGVzLmNydCIsImZpbGVUeXBlcyI6WyJURVhUIl0sImxpY2Vuc2VDb25jbHVkZWQiOiJOT0FTU0VSVElPTiIsImxpY2Vuc2VJbmZvSW5GaWxlcyI6WyJOT0FTU0VSVElPTiJdfSx7IlNQRFhJRCI6IlNQRFhSZWYtRmlsZS1ldGMtc3NsLWN0LWxvZy1saXN0LmNuZi03YzAwYjRhYjE2MjlkMzA0IiwiY2hlY2tzdW1zIjpbeyJhbGdvcml0aG0iOiJTSEExIiwiY2hlY2tzdW1WYWx1ZSI6ImEyNTg3YzRlOTc0MDhiNjQyNzRlNWUwNTJiNzRlMzc1NDg5MmMxM2EifSx7ImFsZ29yaXRobSI6IlNIQTI1NiIsImNoZWNrc3VtVmFsdWUiOiJmMWMxODAzZDEzZDFkMGI3NTViMTNiMjNjMjhiZDRlMjBlMDdiYWY5ZjJiNzQ0YzkzMzdiYTU4NjZhYTBlYzNiIn1dLCJjb21tZW50IjoibGF5ZXJJRDogc2hhMjU2OjUwMTcxZDFhY2JkNTM3OTg5YzA3NDBlMmNiYTJiODI4OGQxMDI5ZGRlNzc3MmMxZGIwYzEyODhhNjM0MjAxZmMiLCJjb3B5cmlnaHRUZXh0IjoiIiwiZmlsZU5hbWUiOiIvZXRjL3NzbC9jdF9sb2dfbGlzdC5jbmYiLCJmaWxlVHlwZXMiOlsiVEVYVCJdLCJsaWNlbnNlQ29uY2x1ZGVkIjoiTk9BU1NFUlRJT04iLCJsaWNlbnNlSW5mb0luRmlsZXMiOlsiTk9BU1NFUlRJT04iXX0seyJTUERYSUQiOiJTUERYUmVmLUZpbGUtZXRjLXNzbC1jdC1sb2ctbGlzdC5jbmYuZGlzdC00NzA2MjY3ZDNmZWZiY2E2IiwiY2hlY2tzdW1zIjpbeyJhbGdvcml0aG0iOiJTSEExIiwiY2hlY2tzdW1WYWx1ZSI6ImEyNTg3YzRlOTc0MDhiNjQyNzRlNWUwNTJiNzRlMzc1NDg5MmMxM2EifSx7ImFsZ29yaXRobSI6IlNIQTI1NiIsImNoZWNrc3VtVmFsdWUiOiJmMWMxODAzZDEzZDFkMGI3NTViMTNiMjNjMjhiZDRlMjBlMDdiYWY5ZjJiNzQ0YzkzMzdiYTU4NjZhYTBlYzNiIn1dLCJjb21tZW50IjoibGF5ZXJJRDogc2hhMjU2OjUwMTcxZDFhY2JkNTM3OTg5YzA3NDBlMmNiYTJiODI4OGQxMDI5ZGRlNzc3MmMxZGIwYzEyODhhNjM0MjAxZmMiLCJjb3B5cmlnaHRUZXh0IjoiIiwiZmlsZU5hbWUiOiIvZXRjL3NzbC9jdF9sb2dfbGlzdC5jbmYuZGlzdCIsImZpbGVUeXBlcyI6WyJURVhUIl0sImxpY2Vuc2VDb25jbHVkZWQiOiJOT0FTU0VSVElPTiIsImxpY2Vuc2VJbmZvSW5GaWxlcyI6WyJOT0FTU0VSVElPTiJdfSx7IlNQRFhJRCI6IlNQRFhSZWYtRmlsZS1ldGMtc3NsLW9wZW5zc2wuY25mLWUyZmUzNjJiZjlmZDUzNDAiLCJjaGVja3N1bXMiOlt7ImFsZ29yaXRobSI6IlNIQTEiLCJjaGVja3N1bVZhbHVlIjoiYzZhYWE0MzdmYWIwZDQxODZmZjM2MWRhNTg5NTJjNDU0NDdmMDE4MSJ9LHsiYWxnb3JpdGhtIjoiU0hBMjU2IiwiY2hlY2tzdW1WYWx1ZSI6IjNhMGM2NWZmOTU0YWZmMjA3NDIwODQ2OTI2ZDMxZDFiNjA1NmJlNTI1YTBmM2QzOGRmZjIxZjViODlmOTA2ODgifV0sImNvbW1lbnQiOiJsYXllcklEOiBzaGEyNTY6NTAxNzFkMWFjYmQ1Mzc5ODljMDc0MGUyY2JhMmI4Mjg4ZDEwMjlkZGU3NzcyYzFkYjBjMTI4OGE2MzQyMDFmYyIsImNvcHlyaWdodFRleHQiOiIiLCJmaWxlTmFtZSI6Ii9ldGMvc3NsL29wZW5zc2wuY25mIiwiZmlsZVR5cGVzIjpbIlRFWFQiXSwibGljZW5zZUNvbmNsdWRlZCI6Ik5PQVNTRVJUSU9OIiwibGljZW5zZUluZm9JbkZpbGVzIjpbIk5PQVNTRVJUSU9OIl19LHsiU1BEWElEIjoiU1BEWFJlZi1GaWxlLWV0Yy1zc2wtb3BlbnNzbC5jbmYuZGlzdC1hMmZjZWNkMGM3ODYwYWVhIiwiY2hlY2tzdW1zIjpbeyJhbGdvcml0aG0iOiJTSEExIiwiY2hlY2tzdW1WYWx1ZSI6ImM2YWFhNDM3ZmFiMGQ0MTg2ZmYzNjFkYTU4OTUyYzQ1NDQ3ZjAxODEifSx7ImFsZ29yaXRobSI6IlNIQTI1NiIsImNoZWNrc3VtVmFsdWUiOiIzYTBjNjVmZjk1NGFmZjIwNzQyMDg0NjkyNmQzMWQxYjYwNTZiZTUyNWEwZjNkMzhkZmYyMWY1Yjg5ZjkwNjg4In1dLCJjb21tZW50IjoibGF5ZXJJRDogc2hhMjU2OjUwMTcxZDFhY2JkNTM3OTg5YzA3NDBlMmNiYTJiODI4OGQxMDI5ZGRlNzc3MmMxZGIwYzEyODhhNjM0MjAxZmMiLCJjb3B5cmlnaHRUZXh0IjoiIiwiZmlsZU5hbWUiOiIvZXRjL3NzbC9vcGVuc3NsLmNuZi5kaXN0IiwiZmlsZVR5cGVzIjpbIlRFWFQiXSwibGljZW5zZUNvbmNsdWRlZCI6Ik5PQVNTRVJUSU9OIiwibGljZW5zZUluZm9JbkZpbGVzIjpbIk5PQVNTRVJUSU9OIl19LHsiU1BEWElEIjoiU1BEWFJlZi1GaWxlLWV0Yy1zeXNjdGwuY29uZi0yZWVkZTY4MmYxZDJkNTdlIiwiY2hlY2tzdW1zIjpbeyJhbGdvcml0aG0iOiJTSEExIiwiY2hlY2tzdW1WYWx1ZSI6ImUyZWE3M2RlZDdlNzM3MTY2NDIwNGIxNDg1NjlmYjVlODhiMGY3YTgifSx7ImFsZ29yaXRobSI6IlNIQTI1NiIsImNoZWNrc3VtVmFsdWUiOiI4YmJhNDdkYTQ1YmM4NzE1YzY5YWM5MDRhNjA0MTBlYWJmZmFhN2JiYmVmNjQwZjljMTM2OGFiOWM0ODQ5M2QwIn1dLCJjb21tZW50IjoibGF5ZXJJRDogc2hhMjU2OjUwMTcxZDFhY2JkNTM3OTg5YzA3NDBlMmNiYTJiODI4OGQxMDI5ZGRlNzc3MmMxZGIwYzEyODhhNjM0MjAxZmMiLCJjb3B5cmlnaHRUZXh0IjoiIiwiZmlsZU5hbWUiOiIvZXRjL3N5c2N0bC5jb25mIiwiZmlsZVR5cGVzIjpbIlRFWFQiXSwibGljZW5zZUNvbmNsdWRlZCI6Ik5PQVNTRVJUSU9OIiwibGljZW5zZUluZm9JbkZpbGVzIjpbIk5PQVNTRVJUSU9OIl19LHsiU1BEWElEIjoiU1BEWFJlZi1GaWxlLWV0Yy11ZGhjcGMtdWRoY3BjLmNvbmYtYThmMzRhOTA4MjlmYjBjOCIsImNoZWNrc3VtcyI6W3siYWxnb3JpdGhtIjoiU0hBMSIsImNoZWNrc3VtVmFsdWUiOiI5YmMwNjllNDM0MjI4ZTZjYTQ0MTg0OGJmYjdhNmJhYzIzZmExNDhhIn0seyJhbGdvcml0aG0iOiJTSEEyNTYiLCJjaGVja3N1bVZhbHVlIjoiNWIzNzIyMDllMDFjZGEwN2M4N2I4YWZhNmQxYWIzZDdlOGRhZjE4YTFmMjMzMmQ3NDQyMDNhNmRjMjg5ZWIxYSJ9XSwiY29tbWVudCI6ImxheWVySUQ6IHNoYTI1Njo1MDE3MWQxYWNiZDUzNzk4OWMwNzQwZTJjYmEyYjgyODhkMTAyOWRkZTc3NzJjMWRiMGMxMjg4YTYzNDIwMWZjIiwiY29weXJpZ2h0VGV4dCI6IiIsImZpbGVOYW1lIjoiL2V0Yy91ZGhjcGMvdWRoY3BjLmNvbmYiLCJmaWxlVHlwZXMiOlsiVEVYVCJdLCJsaWNlbnNlQ29uY2x1ZGVkIjoiTk9BU1NFUlRJT04iLCJsaWNlbnNlSW5mb0luRmlsZXMiOlsiTk9BU1NFUlRJT04iXX0seyJTUERYSUQiOiJTUERYUmVmLUZpbGUtbGliLWFway1kYi1pbnN0YWxsZWQtODM2M2I0YTY3NzA0MTU1MyIsImNoZWNrc3VtcyI6W3siYWxnb3JpdGhtIjoiU0hBMSIsImNoZWNrc3VtVmFsdWUiOiIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIn1dLCJjb21tZW50IjoibGF5ZXJJRDogc2hhMjU2OjUwMTcxZDFhY2JkNTM3OTg5YzA3NDBlMmNiYTJiODI4OGQxMDI5ZGRlNzc3MmMxZGIwYzEyODhhNjM0MjAxZmMiLCJjb3B5cmlnaHRUZXh0IjoiIiwiZmlsZU5hbWUiOiIvbGliL2Fway9kYi9pbnN0YWxsZWQiLCJsaWNlbnNlQ29uY2x1ZGVkIjoiTk9BU1NFUlRJT04iLCJsaWNlbnNlSW5mb0luRmlsZXMiOlsiTk9BU1NFUlRJT04iXX0seyJTUERYSUQiOiJTUERYUmVmLUZpbGUtbGliLWxkLW11c2wtYWFyY2g2NC5zby4xLTE1YWM1YTg3MDIxYzYwNWMiLCJjaGVja3N1bXMiOlt7ImFsZ29yaXRobSI6IlNIQTEiLCJjaGVja3N1bVZhbHVlIjoiNTA4NTk1ODVlMjEyNTQzMDZhZWI3NDQyNmQ1ZGQ0NTM3Y2JlMzMwNSJ9LHsiYWxnb3JpdGhtIjoiU0hBMjU2IiwiY2hlY2tzdW1WYWx1ZSI6IjU5NDIwYTc2MjI3NGRkZGFjNWMzZDdkNjEyNTY0ZDBkNmY3NmM1NGEwZWRmMGJkZjE2N2ZlYTY2MWJiNmQ2YmYifV0sImNvbW1lbnQiOiJsYXllcklEOiBzaGEyNTY6NTAxNzFkMWFjYmQ1Mzc5ODljMDc0MGUyY2JhMmI4Mjg4ZDEwMjlkZGU3NzcyYzFkYjBjMTI4OGE2MzQyMDFmYyIsImNvcHlyaWdodFRleHQiOiIiLCJmaWxlTmFtZSI6Ii9saWIvbGQtbXVzbC1hYXJjaDY0LnNvLjEiLCJmaWxlVHlwZXMiOlsiQVBQTElDQVRJT04iLCJCSU5BUlkiXSwibGljZW5zZUNvbmNsdWRlZCI6Ik5PQVNTRVJUSU9OIiwibGljZW5zZUluZm9JbkZpbGVzIjpbIk5PQVNTRVJUSU9OIl19LHsiU1BEWElEIjoiU1BEWFJlZi1GaWxlLWxpYi1saWJhcGsuc28uMi4xNC4wLTg1MzgyYWJjMzIxM2RmMGMiLCJjaGVja3N1bXMiOlt7ImFsZ29yaXRobSI6IlNIQTEiLCJjaGVja3N1bVZhbHVlIjoiZDZlZWQ0YmY0MTMzNzkyMjg1OTIyYzQ0MzIyZDQyZTE5NjQwNWU1MCJ9LHsiYWxnb3JpdGhtIjoiU0hBMjU2IiwiY2hlY2tzdW1WYWx1ZSI6IjNkOWQ4ODY2NDdjYzU3NmQxYzNiYWIwZGMxYTRkNGU3NTJhMmY0YjdkOGJkNWM2YWJmZTExYWNjY2IzZTQ0MDkifV0sImNvbW1lbnQiOiJsYXllcklEOiBzaGEyNTY6NTAxNzFkMWFjYmQ1Mzc5ODljMDc0MGUyY2JhMmI4Mjg4ZDEwMjlkZGU3NzcyYzFkYjBjMTI4OGE2MzQyMDFmYyIsImNvcHlyaWdodFRleHQiOiIiLCJmaWxlTmFtZSI6Ii9saWIvbGliYXBrLnNvLjIuMTQuMCIsImZpbGVUeXBlcyI6WyJBUFBMSUNBVElPTiIsIkJJTkFSWSJdLCJsaWNlbnNlQ29uY2x1ZGVkIjoiTk9BU1NFUlRJT04iLCJsaWNlbnNlSW5mb0luRmlsZXMiOlsiTk9BU1NFUlRJT04iXX0seyJTUERYSUQiOiJTUERYUmVmLUZpbGUtbGliLWxpYmNyeXB0by5zby4zLWQ3YWEzMWYwNzcxNGEyNWYiLCJjaGVja3N1bXMiOlt7ImFsZ29yaXRobSI6IlNIQTEiLCJjaGVja3N1bVZhbHVlIjoiZWRkYzFkNmQ4NzY3MDAzOGE0MzUzMDA5NzY2MmNiNmVlZTM2ZTYyNCJ9LHsiYWxnb3JpdGhtIjoiU0hBMjU2IiwiY2hlY2tzdW1WYWx1ZSI6IjBmOTQzOWY3ZTdmODNlNGFlMzU1ZmE5NTdmZmU2ODc4YjAzYzQ2N2NiMjg5ZGJjNTZmNjVjZTA1ODcyOWRlNmQifV0sImNvbW1lbnQiOiJsYXllcklEOiBzaGEyNTY6NTAxNzFkMWFjYmQ1Mzc5ODljMDc0MGUyY2JhMmI4Mjg4ZDEwMjlkZGU3NzcyYzFkYjBjMTI4OGE2MzQyMDFmYyIsImNvcHlyaWdodFRleHQiOiIiLCJmaWxlTmFtZSI6Ii9saWIvbGliY3J5cHRvLnNvLjMiLCJmaWxlVHlwZXMiOlsiQVBQTElDQVRJT04iLCJCSU5BUlkiXSwibGljZW5zZUNvbmNsdWRlZCI6Ik5PQVNTRVJUSU9OIiwibGljZW5zZUluZm9JbkZpbGVzIjpbIk5PQVNTRVJUSU9OIl19LHsiU1BEWElEIjoiU1BEWFJlZi1GaWxlLWxpYi1saWJzc2wuc28uMy05NDJlMWE3MzQwNGY0YzEyIiwiY2hlY2tzdW1zIjpbeyJhbGdvcml0aG0iOiJTSEExIiwiY2hlY2tzdW1WYWx1ZSI6IjNmMWU3NzJlNmQ0YTk5ZmVjZjBhNjA4ZjZlNDJkN2RhMjA2OWM3M2MifSx7ImFsZ29yaXRobSI6IlNIQTI1NiIsImNoZWNrc3VtVmFsdWUiOiI1MTM2YTBhOTcwNTNhNzY5NGRlMTE3ZWFlYzY5MmM4NWJlZTIwNjJiOGU2OTA3ZGM4NzU1OTlkYzU2NjI5Mzg0In1dLCJjb21tZW50IjoibGF5ZXJJRDogc2hhMjU2OjUwMTcxZDFhY2JkNTM3OTg5YzA3NDBlMmNiYTJiODI4OGQxMDI5ZGRlNzc3MmMxZGIwYzEyODhhNjM0MjAxZmMiLCJjb3B5cmlnaHRUZXh0IjoiIiwiZmlsZU5hbWUiOiIvbGliL2xpYnNzbC5zby4zIiwiZmlsZVR5cGVzIjpbIkFQUExJQ0FUSU9OIiwiQklOQVJZIl0sImxpY2Vuc2VDb25jbHVkZWQiOiJOT0FTU0VSVElPTiIsImxpY2Vuc2VJbmZvSW5GaWxlcyI6WyJOT0FTU0VSVElPTiJdfSx7IlNQRFhJRCI6IlNQRFhSZWYtRmlsZS1saWItbGliei5zby4xLjMuMS1jZmViZjhiNWRjMWY2Mzc0IiwiY2hlY2tzdW1zIjpbeyJhbGdvcml0aG0iOiJTSEExIiwiY2hlY2tzdW1WYWx1ZSI6IjcwOTQ5ZjViZGM0NzhiNDU1MjU2MjA1MGM0M2IxZTRiNmJmMDE0YmIifSx7ImFsZ29yaXRobSI6IlNIQTI1NiIsImNoZWNrc3VtVmFsdWUiOiI1NDBiZjliYTI0MjM4YWM4NWIyMTc1NTEyNmRmYTNhOWM4Y2E5NDdlMGQwYzkzOGI2YzFmZWE0M2Q2OTI3YTdlIn1dLCJjb21tZW50IjoibGF5ZXJJRDogc2hhMjU2OjUwMTcxZDFhY2JkNTM3OTg5YzA3NDBlMmNiYTJiODI4OGQxMDI5ZGRlNzc3MmMxZGIwYzEyODhhNjM0MjAxZmMiLCJjb3B5cmlnaHRUZXh0IjoiIiwiZmlsZU5hbWUiOiIvbGliL2xpYnouc28uMS4zLjEiLCJmaWxlVHlwZXMiOlsiQVBQTElDQVRJT04iLCJCSU5BUlkiXSwibGljZW5zZUNvbmNsdWRlZCI6Ik5PQVNTRVJUSU9OIiwibGljZW5zZUluZm9JbkZpbGVzIjpbIk5PQVNTRVJUSU9OIl19LHsiU1BEWElEIjoiU1BEWFJlZi1GaWxlLWxpYi1zeXNjdGwuZC0wMC1hbHBpbmUuY29uZi04MTJjZWUxMjFlNzIxMjMxIiwiY2hlY2tzdW1zIjpbeyJhbGdvcml0aG0iOiJTSEExIiwiY2hlY2tzdW1WYWx1ZSI6IjFlOTEyNWNkNmQ3MTEyMDk4YTdjNDQ2ZDRmMmVlOGEyNjlhN2FiYTcifSx7ImFsZ29yaXRobSI6IlNIQTI1NiIsImNoZWNrc3VtVmFsdWUiOiJlZTE2OWJlYTJjYjY4NTk0MjBiNTVjYTdhOWMyM2ZiNjhiNTBhZGMxZDI2Yzk1MWY5MDRkZWM5ZThmNzY3MzgwIn1dLCJjb21tZW50IjoibGF5ZXJJRDogc2hhMjU2OjUwMTcxZDFhY2JkNTM3OTg5YzA3NDBlMmNiYTJiODI4OGQxMDI5ZGRlNzc3MmMxZGIwYzEyODhhNjM0MjAxZmMiLCJjb3B5cmlnaHRUZXh0IjoiIiwiZmlsZU5hbWUiOiIvbGliL3N5c2N0bC5kLzAwLWFscGluZS5jb25mIiwiZmlsZVR5cGVzIjpbIlRFWFQiXSwibGljZW5zZUNvbmNsdWRlZCI6Ik5PQVNTRVJUSU9OIiwibGljZW5zZUluZm9JbkZpbGVzIjpbIk5PQVNTRVJUSU9OIl19LHsiU1BEWElEIjoiU1BEWFJlZi1GaWxlLXNiaW4tYXBrLTAzYTMwM2MyZjQwOGFkNzUiLCJjaGVja3N1bXMiOlt7ImFsZ29yaXRobSI6IlNIQTEiLCJjaGVja3N1bVZhbHVlIjoiMTkxYjY0Mjg4Zjg5NzZmOWNiNTg3NWFkMjQ0ODE2NzE5OThlY2VlZCJ9LHsiYWxnb3JpdGhtIjoiU0hBMjU2IiwiY2hlY2tzdW1WYWx1ZSI6ImQxNWQ2OTBjZGI3ZTMyYjczNWEwYjQ3ODA2NzEwZmJmYzJmOGU3ZmFhYmUzYjMwNTliMjAwOWM4ZmJkYThjZGMifV0sImNvbW1lbnQiOiJsYXllcklEOiBzaGEyNTY6NTAxNzFkMWFjYmQ1Mzc5ODljMDc0MGUyY2JhMmI4Mjg4ZDEwMjlkZGU3NzcyYzFkYjBjMTI4OGE2MzQyMDFmYyIsImNvcHlyaWdodFRleHQiOiIiLCJmaWxlTmFtZSI6Ii9zYmluL2FwayIsImZpbGVUeXBlcyI6WyJBUFBMSUNBVElPTiIsIkJJTkFSWSJdLCJsaWNlbnNlQ29uY2x1ZGVkIjoiTk9BU1NFUlRJT04iLCJsaWNlbnNlSW5mb0luRmlsZXMiOlsiTk9BU1NFUlRJT04iXX0seyJTUERYSUQiOiJTUERYUmVmLUZpbGUtc2Jpbi1sZGNvbmZpZy02ZGQwMDM0NWZkMjVkZmJlIiwiY2hlY2tzdW1zIjpbeyJhbGdvcml0aG0iOiJTSEExIiwiY2hlY2tzdW1WYWx1ZSI6IjJhMzZiNmY4ZjM5OTJiMTEyNDUwZTY2YWMxMjhjMmVhNDk5YTEwM2UifSx7ImFsZ29yaXRobSI6IlNIQTI1NiIsImNoZWNrc3VtVmFsdWUiOiJiNGEyYzA2ZGIzODc0MmU4YzQyYzNjOTgzOGIyODVhN2Q4Y2RhYzZjMDkxZmYzZGY1ZmY5YTE1ZjFlNDFiOWM3In1dLCJjb21tZW50IjoibGF5ZXJJRDogc2hhMjU2OjUwMTcxZDFhY2JkNTM3OTg5YzA3NDBlMmNiYTJiODI4OGQxMDI5ZGRlNzc3MmMxZGIwYzEyODhhNjM0MjAxZmMiLCJjb3B5cmlnaHRUZXh0IjoiIiwiZmlsZU5hbWUiOiIvc2Jpbi9sZGNvbmZpZyIsImZpbGVUeXBlcyI6WyJURVhUIl0sImxpY2Vuc2VDb25jbHVkZWQiOiJOT0FTU0VSVElPTiIsImxpY2Vuc2VJbmZvSW5GaWxlcyI6WyJOT0FTU0VSVElPTiJdfSx7IlNQRFhJRCI6IlNQRFhSZWYtRmlsZS11c3ItYmluLWdldGNvbmYtYWE1NjlhMGI0OTJkYmMzZSIsImNoZWNrc3VtcyI6W3siYWxnb3JpdGhtIjoiU0hBMSIsImNoZWNrc3VtVmFsdWUiOiJhN2M5MmEyNWFkZWI5ZjQ2MjcyYmY1MmM1ZDMzZDNiYWJlZGIzMTJkIn0seyJhbGdvcml0aG0iOiJTSEEyNTYiLCJjaGVja3N1bVZhbHVlIjoiNTIzODU5NWVkMjIzNTNkOGM2YWRiOGQ3ODY1MmIzYjI1MmYzYzJiYTZjZmZkZjZlZWNmNDE5ZWI3OGZmMDIwOSJ9XSwiY29tbWVudCI6ImxheWVySUQ6IHNoYTI1Njo1MDE3MWQxYWNiZDUzNzk4OWMwNzQwZTJjYmEyYjgyODhkMTAyOWRkZTc3NzJjMWRiMGMxMjg4YTYzNDIwMWZjIiwiY29weXJpZ2h0VGV4dCI6IiIsImZpbGVOYW1lIjoiL3Vzci9iaW4vZ2V0Y29uZiIsImZpbGVUeXBlcyI6WyJBUFBMSUNBVElPTiIsIkJJTkFSWSJdLCJsaWNlbnNlQ29uY2x1ZGVkIjoiTk9BU1NFUlRJT04iLCJsaWNlbnNlSW5mb0luRmlsZXMiOlsiTk9BU1NFUlRJT04iXX0seyJTUERYSUQiOiJTUERYUmVmLUZpbGUtdXNyLWJpbi1nZXRlbnQtZGZjMWQ1YjY4ZWE0NjYwOSIsImNoZWNrc3VtcyI6W3siYWxnb3JpdGhtIjoiU0hBMSIsImNoZWNrc3VtVmFsdWUiOiJkYjBlYzViNTRmMzFhMzE1OTU2MDI3MTcyZWNmZWU2YWE2MGEyNTgxIn0seyJhbGdvcml0aG0iOiJTSEEyNTYiLCJjaGVja3N1bVZhbHVlIjoiYWNlNWIwMzY2MWNhMDcwMjI4MzdkM2Q3Y2Q0NzgxY2I1YTMwZWY2ZDNmYzVkNTkxZDgzYjkyNjMzNjhlYzBhYyJ9XSwiY29tbWVudCI6ImxheWVySUQ6IHNoYTI1Njo1MDE3MWQxYWNiZDUzNzk4OWMwNzQwZTJjYmEyYjgyODhkMTAyOWRkZTc3NzJjMWRiMGMxMjg4YTYzNDIwMWZjIiwiY29weXJpZ2h0VGV4dCI6IiIsImZpbGVOYW1lIjoiL3Vzci9iaW4vZ2V0ZW50IiwiZmlsZVR5cGVzIjpbIkFQUExJQ0FUSU9OIiwiQklOQVJZIl0sImxpY2Vuc2VDb25jbHVkZWQiOiJOT0FTU0VSVElPTiIsImxpY2Vuc2VJbmZvSW5GaWxlcyI6WyJOT0FTU0VSVElPTiJdfSx7IlNQRFhJRCI6IlNQRFhSZWYtRmlsZS11c3ItYmluLWljb252LWI0ZjMxN2EwYzNhZTQxMjYiLCJjaGVja3N1bXMiOlt7ImFsZ29yaXRobSI6IlNIQTEiLCJjaGVja3N1bVZhbHVlIjoiOTEzZDQ4NDhlZjgyODliMmZmMWE4ZjYzODZjMzc3MTM4MGM2MDFiZiJ9LHsiYWxnb3JpdGhtIjoiU0hBMjU2IiwiY2hlY2tzdW1WYWx1ZSI6ImU2ZmNjMTkwZjE3YzBkYzRmYjY5MTI1NjQ0MGE2ZTgzZGM1MmU5ZmIxMjE3ZTM1ZDJhODgyZTMyMjk2YzQ4YTYifV0sImNvbW1lbnQiOiJsYXllcklEOiBzaGEyNTY6NTAxNzFkMWFjYmQ1Mzc5ODljMDc0MGUyY2JhMmI4Mjg4ZDEwMjlkZGU3NzcyYzFkYjBjMTI4OGE2MzQyMDFmYyIsImNvcHlyaWdodFRleHQiOiIiLCJmaWxlTmFtZSI6Ii91c3IvYmluL2ljb252IiwiZmlsZVR5cGVzIjpbIkFQUExJQ0FUSU9OIiwiQklOQVJZIl0sImxpY2Vuc2VDb25jbHVkZWQiOiJOT0FTU0VSVElPTiIsImxpY2Vuc2VJbmZvSW5GaWxlcyI6WyJOT0FTU0VSVElPTiJdfSx7IlNQRFhJRCI6IlNQRFhSZWYtRmlsZS11c3ItYmluLWxkZC0wZjhhY2Y4MmJiYjYxNmEyIiwiY2hlY2tzdW1zIjpbeyJhbGdvcml0aG0iOiJTSEExIiwiY2hlY2tzdW1WYWx1ZSI6ImFmZTI5OGI3MmZjNzA4Yjk3OGE3ODc2ZjNlZGYyNDA5YmQ2Njg0MWQifSx7ImFsZ29yaXRobSI6IlNIQTI1NiIsImNoZWNrc3VtVmFsdWUiOiI1ZjExNWJlODU2MjI2MmJjYzUwZWM0NjllMjVjMGFmMmZkYTNiYWQ3MmE5NjBjNmFhMzQ4OGFjZDdhN2RhOGNmIn1dLCJjb21tZW50IjoibGF5ZXJJRDogc2hhMjU2OjUwMTcxZDFhY2JkNTM3OTg5YzA3NDBlMmNiYTJiODI4OGQxMDI5ZGRlNzc3MmMxZGIwYzEyODhhNjM0MjAxZmMiLCJjb3B5cmlnaHRUZXh0IjoiIiwiZmlsZU5hbWUiOiIvdXNyL2Jpbi9sZGQiLCJmaWxlVHlwZXMiOlsiVEVYVCJdLCJsaWNlbnNlQ29uY2x1ZGVkIjoiTk9BU1NFUlRJT04iLCJsaWNlbnNlSW5mb0luRmlsZXMiOlsiTk9BU1NFUlRJT04iXX0seyJTUERYSUQiOiJTUERYUmVmLUZpbGUtdXNyLWJpbi1zY2FuZWxmLTQyZTY1OTdmOWZhNDUxOGEiLCJjaGVja3N1bXMiOlt7ImFsZ29yaXRobSI6IlNIQTEiLCJjaGVja3N1bVZhbHVlIjoiNDI5ZTA3MDA1YTYwNWRjZjdhZmE3MmEyOTI2MDMzYzZjMmNmYjA3ZCJ9LHsiYWxnb3JpdGhtIjoiU0hBMjU2IiwiY2hlY2tzdW1WYWx1ZSI6IjVlZjllN2RmMTdkNGYyMGFkOWRlYzQ0YTVmZGMzOWVhNTgxMzc3NjgwY2ZkYzE5OTRhYzQ4OTg2YzkyNTQzNTEifV0sImNvbW1lbnQiOiJsYXllcklEOiBzaGEyNTY6NTAxNzFkMWFjYmQ1Mzc5ODljMDc0MGUyY2JhMmI4Mjg4ZDEwMjlkZGU3NzcyYzFkYjBjMTI4OGE2MzQyMDFmYyIsImNvcHlyaWdodFRleHQiOiIiLCJmaWxlTmFtZSI6Ii91c3IvYmluL3NjYW5lbGYiLCJmaWxlVHlwZXMiOlsiQVBQTElDQVRJT04iLCJCSU5BUlkiXSwibGljZW5zZUNvbmNsdWRlZCI6Ik5PQVNTRVJUSU9OIiwibGljZW5zZUluZm9JbkZpbGVzIjpbIk5PQVNTRVJUSU9OIl19LHsiU1BEWElEIjoiU1BEWFJlZi1GaWxlLXVzci1iaW4tc3NsLWNsaWVudC05MGUxZGE1ODIzOGI1MDAzIiwiY2hlY2tzdW1zIjpbeyJhbGdvcml0aG0iOiJTSEExIiwiY2hlY2tzdW1WYWx1ZSI6ImYxN2NiOWQ5ZWZmZDNhNTU5N2Y1ZGM3OWY1MDM0OWY3YjU5NzFkMzEifSx7ImFsZ29yaXRobSI6IlNIQTI1NiIsImNoZWNrc3VtVmFsdWUiOiIwMDk0ZDUyZWFjMjE0NTRkZWRkMmZjZTg1MjYyYmJhOWU4NTM4ZjQ1YTMxMjVhOWUzYTc2N2JhNmI4MDU2ZjY3In1dLCJjb21tZW50IjoibGF5ZXJJRDogc2hhMjU2OjUwMTcxZDFhY2JkNTM3OTg5YzA3NDBlMmNiYTJiODI4OGQxMDI5ZGRlNzc3MmMxZGIwYzEyODhhNjM0MjAxZmMiLCJjb3B5cmlnaHRUZXh0IjoiIiwiZmlsZU5hbWUiOiIvdXNyL2Jpbi9zc2xfY2xpZW50IiwiZmlsZVR5cGVzIjpbIkFQUExJQ0FUSU9OIiwiQklOQVJZIl0sImxpY2Vuc2VDb25jbHVkZWQiOiJOT0FTU0VSVElPTiIsImxpY2Vuc2VJbmZvSW5GaWxlcyI6WyJOT0FTU0VSVElPTiJdfSx7IlNQRFhJRCI6IlNQRFhSZWYtRmlsZS11c3ItbGliLWVuZ2luZXMtMy1hZmFsZy5zby0yZGQwMmRhZjBkYzg3MzZlIiwiY2hlY2tzdW1zIjpbeyJhbGdvcml0aG0iOiJTSEExIiwiY2hlY2tzdW1WYWx1ZSI6ImZlYjVkMjE0N2U5YTQ4ZDEyY2M5MzZlMWNjYjhhZWVkZDNlNGMzMzAifSx7ImFsZ29yaXRobSI6IlNIQTI1NiIsImNoZWNrc3VtVmFsdWUiOiIyNGQ1Mjc2ZTdlYmI2ZTJjODk4ZDUzMjlmZmFiYjYyYWRiMDIxMmE2YmY5MDgyOWI0YmY4OGU2OTJiNjY5YjkzIn1dLCJjb21tZW50IjoibGF5ZXJJRDogc2hhMjU2OjUwMTcxZDFhY2JkNTM3OTg5YzA3NDBlMmNiYTJiODI4OGQxMDI5ZGRlNzc3MmMxZGIwYzEyODhhNjM0MjAxZmMiLCJjb3B5cmlnaHRUZXh0IjoiIiwiZmlsZU5hbWUiOiIvdXNyL2xpYi9lbmdpbmVzLTMvYWZhbGcuc28iLCJmaWxlVHlwZXMiOlsiQVBQTElDQVRJT04iLCJCSU5BUlkiXSwibGljZW5zZUNvbmNsdWRlZCI6Ik5PQVNTRVJUSU9OIiwibGljZW5zZUluZm9JbkZpbGVzIjpbIk5PQVNTRVJUSU9OIl19LHsiU1BEWElEIjoiU1BEWFJlZi1GaWxlLXVzci1saWItZW5naW5lcy0zLWNhcGkuc28tZWM5YjdjMWUxZDcxNTJiNiIsImNoZWNrc3VtcyI6W3siYWxnb3JpdGhtIjoiU0hBMSIsImNoZWNrc3VtVmFsdWUiOiJkZGVhOTRhYjQ4ZmM1ZjAwMWJlN2MwNDczM2JlMjIzMjY1MGIyYWYxIn0seyJhbGdvcml0aG0iOiJTSEEyNTYiLCJjaGVja3N1bVZhbHVlIjoiOTM2NjExYTc3ZDA3ODZjNTcyZmNkOTMxY2Q3NDVhM2U5ODU3MGM4MmQxYTFmMTE5YjhjZDEyMDYyZmY2ZGE1OCJ9XSwiY29tbWVudCI6ImxheWVySUQ6IHNoYTI1Njo1MDE3MWQxYWNiZDUzNzk4OWMwNzQwZTJjYmEyYjgyODhkMTAyOWRkZTc3NzJjMWRiMGMxMjg4YTYzNDIwMWZjIiwiY29weXJpZ2h0VGV4dCI6IiIsImZpbGVOYW1lIjoiL3Vzci9saWIvZW5naW5lcy0zL2NhcGkuc28iLCJmaWxlVHlwZXMiOlsiQVBQTElDQVRJT04iLCJCSU5BUlkiXSwibGljZW5zZUNvbmNsdWRlZCI6Ik5PQVNTRVJUSU9OIiwibGljZW5zZUluZm9JbkZpbGVzIjpbIk5PQVNTRVJUSU9OIl19LHsiU1BEWElEIjoiU1BEWFJlZi1GaWxlLXVzci1saWItZW5naW5lcy0zLWxvYWRlci1hdHRpYy5zby01OTJhMmY2YTg3MTFlZWE4IiwiY2hlY2tzdW1zIjpbeyJhbGdvcml0aG0iOiJTSEExIiwiY2hlY2tzdW1WYWx1ZSI6ImI0YmU0NmMzNGZjYjJhMDFmYWE0NTgxOWIwNWQwOTA0NzM5YjBjNjEifSx7ImFsZ29yaXRobSI6IlNIQTI1NiIsImNoZWNrc3VtVmFsdWUiOiI1MjExYzdmNWM2MDc5MjY3MmQ0YjMyOWZjNjYxOGY0ODUyZTQ0YWQ1MjRhNDgwZGFlNzg1YjRjM2ZkZjJlMjk0In1dLCJjb21tZW50IjoibGF5ZXJJRDogc2hhMjU2OjUwMTcxZDFhY2JkNTM3OTg5YzA3NDBlMmNiYTJiODI4OGQxMDI5ZGRlNzc3MmMxZGIwYzEyODhhNjM0MjAxZmMiLCJjb3B5cmlnaHRUZXh0IjoiIiwiZmlsZU5hbWUiOiIvdXNyL2xpYi9lbmdpbmVzLTMvbG9hZGVyX2F0dGljLnNvIiwiZmlsZVR5cGVzIjpbIkFQUExJQ0FUSU9OIiwiQklOQVJZIl0sImxpY2Vuc2VDb25jbHVkZWQiOiJOT0FTU0VSVElPTiIsImxpY2Vuc2VJbmZvSW5GaWxlcyI6WyJOT0FTU0VSVElPTiJdfSx7IlNQRFhJRCI6IlNQRFhSZWYtRmlsZS11c3ItbGliLWVuZ2luZXMtMy1wYWRsb2NrLnNvLWNiMTJiZjI3ODdlMGI0ZDAiLCJjaGVja3N1bXMiOlt7ImFsZ29yaXRobSI6IlNIQTEiLCJjaGVja3N1bVZhbHVlIjoiODY3ZDU1M2QwZDExZjk5OWViOGI5ZTY5ZjY2NDIxZmEwYTAyNGViMiJ9LHsiYWxnb3JpdGhtIjoiU0hBMjU2IiwiY2hlY2tzdW1WYWx1ZSI6IjEyOTUwMWZiMmUxNGE0MmZjYjg0MzUyMzVlZjU4MTFmZjFlYmMyYmJlYmI2ZGU5YWQ4ZDIwMTQyY2FkYjdhOTcifV0sImNvbW1lbnQiOiJsYXllcklEOiBzaGEyNTY6NTAxNzFkMWFjYmQ1Mzc5ODljMDc0MGUyY2JhMmI4Mjg4ZDEwMjlkZGU3NzcyYzFkYjBjMTI4OGE2MzQyMDFmYyIsImNvcHlyaWdodFRleHQiOiIiLCJmaWxlTmFtZSI6Ii91c3IvbGliL2VuZ2luZXMtMy9wYWRsb2NrLnNvIiwiZmlsZVR5cGVzIjpbIkFQUExJQ0FUSU9OIiwiQklOQVJZIl0sImxpY2Vuc2VDb25jbHVkZWQiOiJOT0FTU0VSVElPTiIsImxpY2Vuc2VJbmZvSW5GaWxlcyI6WyJOT0FTU0VSVElPTiJdfSx7IlNQRFhJRCI6IlNQRFhSZWYtRmlsZS11c3ItbGliLW9zc2wtbW9kdWxlcy1sZWdhY3kuc28tZmRhMmM0NjNmZTFkMTI3NSIsImNoZWNrc3VtcyI6W3siYWxnb3JpdGhtIjoiU0hBMSIsImNoZWNrc3VtVmFsdWUiOiIxZDg2OTNiNWI5YjhjYjEzYmI2NzlkNWY4YmRkOTIwMzhmZTA1ODUwIn0seyJhbGdvcml0aG0iOiJTSEEyNTYiLCJjaGVja3N1bVZhbHVlIjoiOTZlMzlmYjBlMWUzODY1NDNkNmQ0NjI1OWJjM2NmNzdjNWI1YTkzOGVkYTcxNGU0NDBjYTgwNjZiNDcxYzVkMiJ9XSwiY29tbWVudCI6ImxheWVySUQ6IHNoYTI1Njo1MDE3MWQxYWNiZDUzNzk4OWMwNzQwZTJjYmEyYjgyODhkMTAyOWRkZTc3NzJjMWRiMGMxMjg4YTYzNDIwMWZjIiwiY29weXJpZ2h0VGV4dCI6IiIsImZpbGVOYW1lIjoiL3Vzci9saWIvb3NzbC1tb2R1bGVzL2xlZ2FjeS5zbyIsImZpbGVUeXBlcyI6WyJBUFBMSUNBVElPTiIsIkJJTkFSWSJdLCJsaWNlbnNlQ29uY2x1ZGVkIjoiTk9BU1NFUlRJT04iLCJsaWNlbnNlSW5mb0luRmlsZXMiOlsiTk9BU1NFUlRJT04iXX0seyJTUERYSUQiOiJTUERYUmVmLUZpbGUtLi4uYWxwaW5lLWRldmVsLWxpc3RzLmFscGluZWxpbnV4Lm9yZy00YTZhMDg0MC5yc2EucHViLTQxMGEwYTEzMGE0MmVjZTgiLCJjaGVja3N1bXMiOlt7ImFsZ29yaXRobSI6IlNIQTEiLCJjaGVja3N1bVZhbHVlIjoiM2FmMDg1NDhlZjc4Y2ZkZWRjZjM0OTg4MGMyYzZhMWE0ODc2M2EwZSJ9LHsiYWxnb3JpdGhtIjoiU0hBMjU2IiwiY2hlY2tzdW1WYWx1ZSI6IjljMTAyYmNjMzc2YWYxNDk4ZDU0OWI3N2JkYmZhODE1YWU4NmZhYTFkMmQ4MmYwNDBlNjE2YjE4ZWYyZGYyZDQifV0sImNvbW1lbnQiOiJsYXllcklEOiBzaGEyNTY6NTAxNzFkMWFjYmQ1Mzc5ODljMDc0MGUyY2JhMmI4Mjg4ZDEwMjlkZGU3NzcyYzFkYjBjMTI4OGE2MzQyMDFmYyIsImNvcHlyaWdodFRleHQiOiIiLCJmaWxlTmFtZSI6Ii91c3Ivc2hhcmUvYXBrL2tleXMvYWxwaW5lLWRldmVsQGxpc3RzLmFscGluZWxpbnV4Lm9yZy00YTZhMDg0MC5yc2EucHViIiwiZmlsZVR5cGVzIjpbIlRFWFQiXSwibGljZW5zZUNvbmNsdWRlZCI6Ik5PQVNTRVJUSU9OIiwibGljZW5zZUluZm9JbkZpbGVzIjpbIk5PQVNTRVJUSU9OIl19LHsiU1BEWElEIjoiU1BEWFJlZi1GaWxlLS4uLmFscGluZS1kZXZlbC1saXN0cy5hbHBpbmVsaW51eC5vcmctNTI0M2VmNGIucnNhLnB1Yi1iNWI4YzllMTc0NTBkYjFjIiwiY2hlY2tzdW1zIjpbeyJhbGdvcml0aG0iOiJTSEExIiwiY2hlY2tzdW1WYWx1ZSI6ImJmYjYxNjY1OGNjMDVhODcyNTY4YjBjOGUzOThjNDgyZTIzYjYwZGQifSx7ImFsZ29yaXRobSI6IlNIQTI1NiIsImNoZWNrc3VtVmFsdWUiOiJlYmYzMTY4M2I1NjQxMGVjYzRjMDBhY2Q5ZjZlMjgzOWUyMzdhM2I2MmI1YWU3ZWY2ODY3MDVjN2JhMDM5NmE5In1dLCJjb21tZW50IjoibGF5ZXJJRDogc2hhMjU2OjUwMTcxZDFhY2JkNTM3OTg5YzA3NDBlMmNiYTJiODI4OGQxMDI5ZGRlNzc3MmMxZGIwYzEyODhhNjM0MjAxZmMiLCJjb3B5cmlnaHRUZXh0IjoiIiwiZmlsZU5hbWUiOiIvdXNyL3NoYXJlL2Fway9rZXlzL2FscGluZS1kZXZlbEBsaXN0cy5hbHBpbmVsaW51eC5vcmctNTI0M2VmNGIucnNhLnB1YiIsImZpbGVUeXBlcyI6WyJURVhUIl0sImxpY2Vuc2VDb25jbHVkZWQiOiJOT0FTU0VSVElPTiIsImxpY2Vuc2VJbmZvSW5GaWxlcyI6WyJOT0FTU0VSVElPTiJdfSx7IlNQRFhJRCI6IlNQRFhSZWYtRmlsZS0uLi5hbHBpbmUtZGV2ZWwtbGlzdHMuYWxwaW5lbGludXgub3JnLTUyNGQyN2JiLnJzYS5wdWItMDUwMzM5YmUxMjk2YzVhNyIsImNoZWNrc3VtcyI6W3siYWxnb3JpdGhtIjoiU0hBMSIsImNoZWNrc3VtVmFsdWUiOiIwNTNhOTJmODdmZDQ1MzI4NTBiYjMxZjA4ODE5NzhlZmUwNTMyYWU1In0seyJhbGdvcml0aG0iOiJTSEEyNTYiLCJjaGVja3N1bVZhbHVlIjoiMWJiMmE4NDZjMGVhNGNhOWQwZTc4NjJmOTcwODYzODU3ZmMzM2MzMmY1NTA2MDk4YzYzNmE2MmE3MjZhODQ3YiJ9XSwiY29tbWVudCI6ImxheWVySUQ6IHNoYTI1Njo1MDE3MWQxYWNiZDUzNzk4OWMwNzQwZTJjYmEyYjgyODhkMTAyOWRkZTc3NzJjMWRiMGMxMjg4YTYzNDIwMWZjIiwiY29weXJpZ2h0VGV4dCI6IiIsImZpbGVOYW1lIjoiL3Vzci9zaGFyZS9hcGsva2V5cy9hbHBpbmUtZGV2ZWxAbGlzdHMuYWxwaW5lbGludXgub3JnLTUyNGQyN2JiLnJzYS5wdWIiLCJmaWxlVHlwZXMiOlsiVEVYVCJdLCJsaWNlbnNlQ29uY2x1ZGVkIjoiTk9BU1NFUlRJT04iLCJsaWNlbnNlSW5mb0luRmlsZXMiOlsiTk9BU1NFUlRJT04iXX0seyJTUERYSUQiOiJTUERYUmVmLUZpbGUtLi4uYWxwaW5lLWRldmVsLWxpc3RzLmFscGluZWxpbnV4Lm9yZy01MjYxY2VjYi5yc2EucHViLTM4NDBjMDIwMDViNDE5YjIiLCJjaGVja3N1bXMiOlt7ImFsZ29yaXRobSI6IlNIQTEiLCJjaGVja3N1bVZhbHVlIjoiMzY3MWFlMGVjNzUwM2IxZTE5MzU4N2MxZGNkZjdiNzhiYzg2M2U0MiJ9LHsiYWxnb3JpdGhtIjoiU0hBMjU2IiwiY2hlY2tzdW1WYWx1ZSI6IjEyZjg5OWU1NWE3NjkxMjI1NjAzZDZmYjMzMjQ5NDBmYzUxY2Q3ZjEzM2U3ZWFkNzg4NjYzYzJiN2VlY2IwMGMifV0sImNvbW1lbnQiOiJsYXllcklEOiBzaGEyNTY6NTAxNzFkMWFjYmQ1Mzc5ODljMDc0MGUyY2JhMmI4Mjg4ZDEwMjlkZGU3NzcyYzFkYjBjMTI4OGE2MzQyMDFmYyIsImNvcHlyaWdodFRleHQiOiIiLCJmaWxlTmFtZSI6Ii91c3Ivc2hhcmUvYXBrL2tleXMvYWxwaW5lLWRldmVsQGxpc3RzLmFscGluZWxpbnV4Lm9yZy01MjYxY2VjYi5yc2EucHViIiwiZmlsZVR5cGVzIjpbIlRFWFQiXSwibGljZW5zZUNvbmNsdWRlZCI6Ik5PQVNTRVJUSU9OIiwibGljZW5zZUluZm9JbkZpbGVzIjpbIk5PQVNTRVJUSU9OIl19LHsiU1BEWElEIjoiU1BEWFJlZi1GaWxlLS4uLmFscGluZS1kZXZlbC1saXN0cy5hbHBpbmVsaW51eC5vcmctNTgxOTlkY2MucnNhLnB1Yi1kZjRiMjg0ZWE1NjBiYzJmIiwiY2hlY2tzdW1zIjpbeyJhbGdvcml0aG0iOiJTSEExIiwiY2hlY2tzdW1WYWx1ZSI6IjM5YWM1ZDcyYzZiYTAxOGEwZjc0YjhiNDUzODk0ZWRjOWRiMDdiNWYifSx7ImFsZ29yaXRobSI6IlNIQTI1NiIsImNoZWNrc3VtVmFsdWUiOiI3Mzg2N2Q5MjA4M2YyZjhhYjg5OWEyNmNjZGE3ZWY2M2RmYWEwMDMyYTkzODYyMGVkYTYwNTU1ODk1OGE4MDQxIn1dLCJjb21tZW50IjoibGF5ZXJJRDogc2hhMjU2OjUwMTcxZDFhY2JkNTM3OTg5YzA3NDBlMmNiYTJiODI4OGQxMDI5ZGRlNzc3MmMxZGIwYzEyODhhNjM0MjAxZmMiLCJjb3B5cmlnaHRUZXh0IjoiIiwiZmlsZU5hbWUiOiIvdXNyL3NoYXJlL2Fway9rZXlzL2FscGluZS1kZXZlbEBsaXN0cy5hbHBpbmVsaW51eC5vcmctNTgxOTlkY2MucnNhLnB1YiIsImZpbGVUeXBlcyI6WyJURVhUIl0sImxpY2Vuc2VDb25jbHVkZWQiOiJOT0FTU0VSVElPTiIsImxpY2Vuc2VJbmZvSW5GaWxlcyI6WyJOT0FTU0VSVElPTiJdfSx7IlNQRFhJRCI6IlNQRFhSZWYtRmlsZS0uLi5hbHBpbmUtZGV2ZWwtbGlzdHMuYWxwaW5lbGludXgub3JnLTU4Y2JiNDc2LnJzYS5wdWItZmMzOGRiYjFjNTM0YTk4YiIsImNoZWNrc3VtcyI6W3siYWxnb3JpdGhtIjoiU0hBMSIsImNoZWNrc3VtVmFsdWUiOiJjOGZhYmViMmVlYjk5MmMzNjhjNzdiOTcwN2UwZDFlY2ZkN2NmOTA1In0seyJhbGdvcml0aG0iOiJTSEEyNTYiLCJjaGVja3N1bVZhbHVlIjoiOWE0Y2Q4NThkOTcxMDk2Mzg0OGU2ZDVmNTU1MzI1ZGMxOTlkMWM5NTJiMDFjZjZlNjRkYTJjMTVkZWVkYmQ5NyJ9XSwiY29tbWVudCI6ImxheWVySUQ6IHNoYTI1Njo1MDE3MWQxYWNiZDUzNzk4OWMwNzQwZTJjYmEyYjgyODhkMTAyOWRkZTc3NzJjMWRiMGMxMjg4YTYzNDIwMWZjIiwiY29weXJpZ2h0VGV4dCI6IiIsImZpbGVOYW1lIjoiL3Vzci9zaGFyZS9hcGsva2V5cy9hbHBpbmUtZGV2ZWxAbGlzdHMuYWxwaW5lbGludXgub3JnLTU4Y2JiNDc2LnJzYS5wdWIiLCJmaWxlVHlwZXMiOlsiVEVYVCJdLCJsaWNlbnNlQ29uY2x1ZGVkIjoiTk9BU1NFUlRJT04iLCJsaWNlbnNlSW5mb0luRmlsZXMiOlsiTk9BU1NFUlRJT04iXX0seyJTUERYSUQiOiJTUERYUmVmLUZpbGUtLi4uYWxwaW5lLWRldmVsLWxpc3RzLmFscGluZWxpbnV4Lm9yZy01OGU0ZjE3ZC5yc2EucHViLTc5MzMxODg0MmZmZWVjOGMiLCJjaGVja3N1bXMiOlt7ImFsZ29yaXRobSI6IlNIQTEiLCJjaGVja3N1bVZhbHVlIjoiMzI5NjQzMzU3ZDBiNzhiMWVmNDhlYzE1NTMyNWUyNWYxZDc1MzRkZCJ9LHsiYWxnb3JpdGhtIjoiU0hBMjU2IiwiY2hlY2tzdW1WYWx1ZSI6Ijc4MGIzZWQ0MTc4Njc3MmNiYzdiNjgxMzY1NDZmYTNmODk3ZjI4YTIzYjMwYzcyZGRlNjIyNTMxOWM0NGNmZmYifV0sImNvbW1lbnQiOiJsYXllcklEOiBzaGEyNTY6NTAxNzFkMWFjYmQ1Mzc5ODljMDc0MGUyY2JhMmI4Mjg4ZDEwMjlkZGU3NzcyYzFkYjBjMTI4OGE2MzQyMDFmYyIsImNvcHlyaWdodFRleHQiOiIiLCJmaWxlTmFtZSI6Ii91c3Ivc2hhcmUvYXBrL2tleXMvYWxwaW5lLWRldmVsQGxpc3RzLmFscGluZWxpbnV4Lm9yZy01OGU0ZjE3ZC5yc2EucHViIiwiZmlsZVR5cGVzIjpbIlRFWFQiXSwibGljZW5zZUNvbmNsdWRlZCI6Ik5PQVNTRVJUSU9OIiwibGljZW5zZUluZm9JbkZpbGVzIjpbIk5PQVNTRVJUSU9OIl19LHsiU1BEWElEIjoiU1BEWFJlZi1GaWxlLS4uLmFscGluZS1kZXZlbC1saXN0cy5hbHBpbmVsaW51eC5vcmctNWU2OWNhNTAucnNhLnB1Yi1mYjJhOTNhMjYzZmM3N2Q1IiwiY2hlY2tzdW1zIjpbeyJhbGdvcml0aG0iOiJTSEExIiwiY2hlY2tzdW1WYWx1ZSI6IjgyNTA5MGZkZTI1YmJjMGU3MWE5Y2IzMDc2MzE2YjVhZmU0NTllNGQifSx7ImFsZ29yaXRobSI6IlNIQTI1NiIsImNoZWNrc3VtVmFsdWUiOiI1OWMwMWM1N2I0NDY2MzMyNDlmNjdjMDRiMTE1ZGQ2Nzg3ZjQzNzhmMTgzZGZmMmJiZjY1NDA2ZGY5M2YxNzZkIn1dLCJjb21tZW50IjoibGF5ZXJJRDogc2hhMjU2OjUwMTcxZDFhY2JkNTM3OTg5YzA3NDBlMmNiYTJiODI4OGQxMDI5ZGRlNzc3MmMxZGIwYzEyODhhNjM0MjAxZmMiLCJjb3B5cmlnaHRUZXh0IjoiIiwiZmlsZU5hbWUiOiIvdXNyL3NoYXJlL2Fway9rZXlzL2FscGluZS1kZXZlbEBsaXN0cy5hbHBpbmVsaW51eC5vcmctNWU2OWNhNTAucnNhLnB1YiIsImZpbGVUeXBlcyI6WyJURVhUIl0sImxpY2Vuc2VDb25jbHVkZWQiOiJOT0FTU0VSVElPTiIsImxpY2Vuc2VJbmZvSW5GaWxlcyI6WyJOT0FTU0VSVElPTiJdfSx7IlNQRFhJRCI6IlNQRFhSZWYtRmlsZS0uLi5hbHBpbmUtZGV2ZWwtbGlzdHMuYWxwaW5lbGludXgub3JnLTYwYWMyMDk5LnJzYS5wdWItMDVjNDdjYzhjZGQ0ZjY2ZSIsImNoZWNrc3VtcyI6W3siYWxnb3JpdGhtIjoiU0hBMSIsImNoZWNrc3VtVmFsdWUiOiI1ZDQ3NDMxMjgzNTNiNjM5NmZhZDJmYTJiYTc5M2FjZTIxNjAyMjk1In0seyJhbGdvcml0aG0iOiJTSEEyNTYiLCJjaGVja3N1bVZhbHVlIjoiZGIwYjQ5MTYzZjA3ZmZiYTY0YTVjYTE5OGJjZjE2ODg2MTBiMGJkMWYwZDhkNWFmZWFmNzg1NTlkNzNmMjI3OCJ9XSwiY29tbWVudCI6ImxheWVySUQ6IHNoYTI1Njo1MDE3MWQxYWNiZDUzNzk4OWMwNzQwZTJjYmEyYjgyODhkMTAyOWRkZTc3NzJjMWRiMGMxMjg4YTYzNDIwMWZjIiwiY29weXJpZ2h0VGV4dCI6IiIsImZpbGVOYW1lIjoiL3Vzci9zaGFyZS9hcGsva2V5cy9hbHBpbmUtZGV2ZWxAbGlzdHMuYWxwaW5lbGludXgub3JnLTYwYWMyMDk5LnJzYS5wdWIiLCJmaWxlVHlwZXMiOlsiVEVYVCJdLCJsaWNlbnNlQ29uY2x1ZGVkIjoiTk9BU1NFUlRJT04iLCJsaWNlbnNlSW5mb0luRmlsZXMiOlsiTk9BU1NFUlRJT04iXX0seyJTUERYSUQiOiJTUERYUmVmLUZpbGUtLi4uYWxwaW5lLWRldmVsLWxpc3RzLmFscGluZWxpbnV4Lm9yZy02MTY1ZWU1OS5yc2EucHViLTU1NzY5MjliYzlkYjYxOTgiLCJjaGVja3N1bXMiOlt7ImFsZ29yaXRobSI6IlNIQTEiLCJjaGVja3N1bVZhbHVlIjoiOTU5OTUzMTEyMzZiN2E1NTkzMzY0MmZmYTEwY2U2MDE0ZjFhZjdkMCJ9LHsiYWxnb3JpdGhtIjoiU0hBMjU2IiwiY2hlY2tzdW1WYWx1ZSI6IjIwN2U0Njk2ZDNjMDVmN2NiMDU5NjZhZWU1NTczMDcxNTFmMWYwMDIxN2FmNDE0M2MxYmNhZjMzYjhkZjczM2YifV0sImNvbW1lbnQiOiJsYXllcklEOiBzaGEyNTY6NTAxNzFkMWFjYmQ1Mzc5ODljMDc0MGUyY2JhMmI4Mjg4ZDEwMjlkZGU3NzcyYzFkYjBjMTI4OGE2MzQyMDFmYyIsImNvcHlyaWdodFRleHQiOiIiLCJmaWxlTmFtZSI6Ii91c3Ivc2hhcmUvYXBrL2tleXMvYWxwaW5lLWRldmVsQGxpc3RzLmFscGluZWxpbnV4Lm9yZy02MTY1ZWU1OS5yc2EucHViIiwiZmlsZVR5cGVzIjpbIlRFWFQiXSwibGljZW5zZUNvbmNsdWRlZCI6Ik5PQVNTRVJUSU9OIiwibGljZW5zZUluZm9JbkZpbGVzIjpbIk5PQVNTRVJUSU9OIl19LHsiU1BEWElEIjoiU1BEWFJlZi1GaWxlLS4uLmFscGluZS1kZXZlbC1saXN0cy5hbHBpbmVsaW51eC5vcmctNjE2NjZlM2YucnNhLnB1Yi1mZGNjZmE2NzBlMTIzZDNkIiwiY2hlY2tzdW1zIjpbeyJhbGdvcml0aG0iOiJTSEExIiwiY2hlY2tzdW1WYWx1ZSI6IjU4ZDViYTRiMmYzYjFlOTI3NzIxZDdhNjQzMmYyOThlZWRmNzJhNmIifSx7ImFsZ29yaXRobSI6IlNIQTI1NiIsImNoZWNrc3VtVmFsdWUiOiIxMjhkMzRkNGFlYzM5YjBkYWVkZWE4MTYzY2Q4ZGMyNGRmZjM2ZmQzZDg0ODYzMGFiOTdlZWIxZDMwODRiYmIzIn1dLCJjb21tZW50IjoibGF5ZXJJRDogc2hhMjU2OjUwMTcxZDFhY2JkNTM3OTg5YzA3NDBlMmNiYTJiODI4OGQxMDI5ZGRlNzc3MmMxZGIwYzEyODhhNjM0MjAxZmMiLCJjb3B5cmlnaHRUZXh0IjoiIiwiZmlsZU5hbWUiOiIvdXNyL3NoYXJlL2Fway9rZXlzL2FscGluZS1kZXZlbEBsaXN0cy5hbHBpbmVsaW51eC5vcmctNjE2NjZlM2YucnNhLnB1YiIsImZpbGVUeXBlcyI6WyJURVhUIl0sImxpY2Vuc2VDb25jbHVkZWQiOiJOT0FTU0VSVElPTiIsImxpY2Vuc2VJbmZvSW5GaWxlcyI6WyJOT0FTU0VSVElPTiJdfSx7IlNQRFhJRCI6IlNQRFhSZWYtRmlsZS0uLi5hbHBpbmUtZGV2ZWwtbGlzdHMuYWxwaW5lbGludXgub3JnLTYxNmE5NzI0LnJzYS5wdWItZmUwNzk3ZjNkNzUzZGUzNCIsImNoZWNrc3VtcyI6W3siYWxnb3JpdGhtIjoiU0hBMSIsImNoZWNrc3VtVmFsdWUiOiIyM2QwZjJlYTFhZjI2OWMyZjY2MTY1ZTBmOGE5NDRlOTZiZjAxMWRlIn0seyJhbGdvcml0aG0iOiJTSEEyNTYiLCJjaGVja3N1bVZhbHVlIjoiMTA4NzdjY2UwYTkzNWU0NmFkODhjYjc5ZTE3NGEyNDkxNjgwNTA4ZWNjZGEwOGU5MmJmMDRmYjliZjM3ZmJjMSJ9XSwiY29tbWVudCI6ImxheWVySUQ6IHNoYTI1Njo1MDE3MWQxYWNiZDUzNzk4OWMwNzQwZTJjYmEyYjgyODhkMTAyOWRkZTc3NzJjMWRiMGMxMjg4YTYzNDIwMWZjIiwiY29weXJpZ2h0VGV4dCI6IiIsImZpbGVOYW1lIjoiL3Vzci9zaGFyZS9hcGsva2V5cy9hbHBpbmUtZGV2ZWxAbGlzdHMuYWxwaW5lbGludXgub3JnLTYxNmE5NzI0LnJzYS5wdWIiLCJmaWxlVHlwZXMiOlsiVEVYVCJdLCJsaWNlbnNlQ29uY2x1ZGVkIjoiTk9BU1NFUlRJT04iLCJsaWNlbnNlSW5mb0luRmlsZXMiOlsiTk9BU1NFUlRJT04iXX0seyJTUERYSUQiOiJTUERYUmVmLUZpbGUtLi4uYWxwaW5lLWRldmVsLWxpc3RzLmFscGluZWxpbnV4Lm9yZy02MTZhYmMyMy5yc2EucHViLTgzZjg4MjRhOWU4YTRkYWYiLCJjaGVja3N1bXMiOlt7ImFsZ29yaXRobSI6IlNIQTEiLCJjaGVja3N1bVZhbHVlIjoiMzUyOWVjODI2NzBjNmQ0ZTIwZWUzZTQ5NjhkYjM0YjU1MWU5MWQ1MCJ9LHsiYWxnb3JpdGhtIjoiU0hBMjU2IiwiY2hlY2tzdW1WYWx1ZSI6IjRhMDk1YTlkYWNhODZkYTQ5NmEzY2Q5YWRjZDk1ZWUyMTk3ZmRiZWI4NDYzODY1NmQ0NjlmMDVhNGQ3NDA3NTEifV0sImNvbW1lbnQiOiJsYXllcklEOiBzaGEyNTY6NTAxNzFkMWFjYmQ1Mzc5ODljMDc0MGUyY2JhMmI4Mjg4ZDEwMjlkZGU3NzcyYzFkYjBjMTI4OGE2MzQyMDFmYyIsImNvcHlyaWdodFRleHQiOiIiLCJmaWxlTmFtZSI6Ii91c3Ivc2hhcmUvYXBrL2tleXMvYWxwaW5lLWRldmVsQGxpc3RzLmFscGluZWxpbnV4Lm9yZy02MTZhYmMyMy5yc2EucHViIiwiZmlsZVR5cGVzIjpbIlRFWFQiXSwibGljZW5zZUNvbmNsdWRlZCI6Ik5PQVNTRVJUSU9OIiwibGljZW5zZUluZm9JbkZpbGVzIjpbIk5PQVNTRVJUSU9OIl19LHsiU1BEWElEIjoiU1BEWFJlZi1GaWxlLS4uLmFscGluZS1kZXZlbC1saXN0cy5hbHBpbmVsaW51eC5vcmctNjE2YWMzYmMucnNhLnB1Yi0yMmQzNGQ1ZmJmYTYxN2FiIiwiY2hlY2tzdW1zIjpbeyJhbGdvcml0aG0iOiJTSEExIiwiY2hlY2tzdW1WYWx1ZSI6IjU1YTMwMTA2NGUxMWM2ZmU5YmEwZjJjYTE3ZTIzNGYzOTQzY2NiNjEifSx7ImFsZ29yaXRobSI6IlNIQTI1NiIsImNoZWNrc3VtVmFsdWUiOiIwY2FmNTY2MmZkZTQ1NjE2ZDg4Y2ZkNzAyMWI3YmRhMjY5YTJmY2FmMzExZTUxYzQ4OTQ1YTk2N2E2MDllYzBiIn1dLCJjb21tZW50IjoibGF5ZXJJRDogc2hhMjU2OjUwMTcxZDFhY2JkNTM3OTg5YzA3NDBlMmNiYTJiODI4OGQxMDI5ZGRlNzc3MmMxZGIwYzEyODhhNjM0MjAxZmMiLCJjb3B5cmlnaHRUZXh0IjoiIiwiZmlsZU5hbWUiOiIvdXNyL3NoYXJlL2Fway9rZXlzL2FscGluZS1kZXZlbEBsaXN0cy5hbHBpbmVsaW51eC5vcmctNjE2YWMzYmMucnNhLnB1YiIsImZpbGVUeXBlcyI6WyJURVhUIl0sImxpY2Vuc2VDb25jbHVkZWQiOiJOT0FTU0VSVElPTiIsImxpY2Vuc2VJbmZvSW5GaWxlcyI6WyJOT0FTU0VSVElPTiJdfSx7IlNQRFhJRCI6IlNQRFhSZWYtRmlsZS0uLi5hbHBpbmUtZGV2ZWwtbGlzdHMuYWxwaW5lbGludXgub3JnLTYxNmFkZmViLnJzYS5wdWItOTUxZWI2NmNiNDU0OTUwOSIsImNoZWNrc3VtcyI6W3siYWxnb3JpdGhtIjoiU0hBMSIsImNoZWNrc3VtVmFsdWUiOiJkZTEyNDEzMDcwMTRhYWUzZGJhNzk4ZTkwMGYxNjM0MDhkOThkNmY0In0seyJhbGdvcml0aG0iOiJTSEEyNTYiLCJjaGVja3N1bVZhbHVlIjoiZWJlNzE3ZDIyODU1NWFhNTgxMzNjMjAyMzE0YTQ1MWY4MWU3MWYxNzQ3ODFmZDdmZjhkODk3MGQ2Y2ZhNjBkYSJ9XSwiY29tbWVudCI6ImxheWVySUQ6IHNoYTI1Njo1MDE3MWQxYWNiZDUzNzk4OWMwNzQwZTJjYmEyYjgyODhkMTAyOWRkZTc3NzJjMWRiMGMxMjg4YTYzNDIwMWZjIiwiY29weXJpZ2h0VGV4dCI6IiIsImZpbGVOYW1lIjoiL3Vzci9zaGFyZS9hcGsva2V5cy9hbHBpbmUtZGV2ZWxAbGlzdHMuYWxwaW5lbGludXgub3JnLTYxNmFkZmViLnJzYS5wdWIiLCJmaWxlVHlwZXMiOlsiVEVYVCJdLCJsaWNlbnNlQ29uY2x1ZGVkIjoiTk9BU1NFUlRJT04iLCJsaWNlbnNlSW5mb0luRmlsZXMiOlsiTk9BU1NFUlRJT04iXX0seyJTUERYSUQiOiJTUERYUmVmLUZpbGUtLi4uYWxwaW5lLWRldmVsLWxpc3RzLmFscGluZWxpbnV4Lm9yZy02MTZhZTM1MC5yc2EucHViLTQ0ZmEyOTY2YzUxZjBjMWYiLCJjaGVja3N1bXMiOlt7ImFsZ29yaXRobSI6IlNIQTEiLCJjaGVja3N1bVZhbHVlIjoiNTdmNmI5M2ZkYTRhNDQ5NmZhYjYyODQ0ZGRlZjBlZWIxNjhmODBiNSJ9LHsiYWxnb3JpdGhtIjoiU0hBMjU2IiwiY2hlY2tzdW1WYWx1ZSI6ImQxMWY2YjIxYzYxYjQyNzRlMTgyZWI4ODg4ODNhOGJhOGFjZGJmODIwZGNjN2E2ZDgyYTdkOWZjMmZkMjgzNmQifV0sImNvbW1lbnQiOiJsYXllcklEOiBzaGEyNTY6NTAxNzFkMWFjYmQ1Mzc5ODljMDc0MGUyY2JhMmI4Mjg4ZDEwMjlkZGU3NzcyYzFkYjBjMTI4OGE2MzQyMDFmYyIsImNvcHlyaWdodFRleHQiOiIiLCJmaWxlTmFtZSI6Ii91c3Ivc2hhcmUvYXBrL2tleXMvYWxwaW5lLWRldmVsQGxpc3RzLmFscGluZWxpbnV4Lm9yZy02MTZhZTM1MC5yc2EucHViIiwiZmlsZVR5cGVzIjpbIlRFWFQiXSwibGljZW5zZUNvbmNsdWRlZCI6Ik5PQVNTRVJUSU9OIiwibGljZW5zZUluZm9JbkZpbGVzIjpbIk5PQVNTRVJUSU9OIl19LHsiU1BEWElEIjoiU1BEWFJlZi1GaWxlLS4uLmFscGluZS1kZXZlbC1saXN0cy5hbHBpbmVsaW51eC5vcmctNjE2ZGIzMGQucnNhLnB1Yi1iMTQyNTFkMWY4YmNmZTE4IiwiY2hlY2tzdW1zIjpbeyJhbGdvcml0aG0iOiJTSEExIiwiY2hlY2tzdW1WYWx1ZSI6ImRmMDJjOWFkYzI5MDZhM2FhNWU1YWQ2OWY1MGUzOTUzZTY1NzEwZDAifSx7ImFsZ29yaXRobSI6IlNIQTI1NiIsImNoZWNrc3VtVmFsdWUiOiI0MGEyMTZjYmQxNjNmMjJlNWYxNmE5ZTA5MjlkZTdjZGUyMjFiOWNiYWU4ZTM2YWEzNjhiMWUxMjhhZmUwYTMxIn1dLCJjb21tZW50IjoibGF5ZXJJRDogc2hhMjU2OjUwMTcxZDFhY2JkNTM3OTg5YzA3NDBlMmNiYTJiODI4OGQxMDI5ZGRlNzc3MmMxZGIwYzEyODhhNjM0MjAxZmMiLCJjb3B5cmlnaHRUZXh0IjoiIiwiZmlsZU5hbWUiOiIvdXNyL3NoYXJlL2Fway9rZXlzL2FscGluZS1kZXZlbEBsaXN0cy5hbHBpbmVsaW51eC5vcmctNjE2ZGIzMGQucnNhLnB1YiIsImZpbGVUeXBlcyI6WyJURVhUIl0sImxpY2Vuc2VDb25jbHVkZWQiOiJOT0FTU0VSVElPTiIsImxpY2Vuc2VJbmZvSW5GaWxlcyI6WyJOT0FTU0VSVElPTiJdfSx7IlNQRFhJRCI6IlNQRFhSZWYtRmlsZS11c3Itc2hhcmUtdWRoY3BjLWRlZmF1bHQuc2NyaXB0LTRmYzc5MTM3MDA4ZDI2M2YiLCJjaGVja3N1bXMiOlt7ImFsZ29yaXRobSI6IlNIQTEiLCJjaGVja3N1bVZhbHVlIjoiMWQ2YTQ2ZGRlNDAzZjE0YTIyZTI2OTJjZDg0ZGQyNGFmMzgwNTIxNiJ9LHsiYWxnb3JpdGhtIjoiU0hBMjU2IiwiY2hlY2tzdW1WYWx1ZSI6ImM0ZTVhN2M0NzgzYTdhNzNkZWM0OGRlZTAwOWVlNjg3MDE1ZDJkZTdmZjg2YjI2OTY3OWI5NWJlZjJjNjBlMTMifV0sImNvbW1lbnQiOiJsYXllcklEOiBzaGEyNTY6NTAxNzFkMWFjYmQ1Mzc5ODljMDc0MGUyY2JhMmI4Mjg4ZDEwMjlkZGU3NzcyYzFkYjBjMTI4OGE2MzQyMDFmYyIsImNvcHlyaWdodFRleHQiOiIiLCJmaWxlTmFtZSI6Ii91c3Ivc2hhcmUvdWRoY3BjL2RlZmF1bHQuc2NyaXB0IiwiZmlsZVR5cGVzIjpbIlRFWFQiXSwibGljZW5zZUNvbmNsdWRlZCI6Ik5PQVNTRVJUSU9OIiwibGljZW5zZUluZm9JbkZpbGVzIjpbIk5PQVNTRVJUSU9OIl19XSwibmFtZSI6ImFscGluZSIsInBhY2thZ2VzIjpbeyJTUERYSUQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWFscGluZS1iYXNlbGF5b3V0LTIxZTU0YmU5ZDdjYTc2M2MiLCJjb3B5cmlnaHRUZXh0IjoiTk9BU1NFUlRJT04iLCJkZXNjcmlwdGlvbiI6IkFscGluZSBiYXNlIGRpciBzdHJ1Y3R1cmUgYW5kIGluaXQgc2NyaXB0cyIsImRvd25sb2FkTG9jYXRpb24iOiJodHRwczovL2dpdC5hbHBpbmVsaW51eC5vcmcvY2dpdC9hcG9ydHMvdHJlZS9tYWluL2FscGluZS1iYXNlbGF5b3V0IiwiZXh0ZXJuYWxSZWZzIjpbeyJyZWZlcmVuY2VDYXRlZ29yeSI6IlNFQ1VSSVRZIiwicmVmZXJlbmNlTG9jYXRvciI6ImNwZToyLjM6YTphbHBpbmUtYmFzZWxheW91dDphbHBpbmUtYmFzZWxheW91dDozLjYuNS1yMDoqOio6KjoqOio6KjoqIiwicmVmZXJlbmNlVHlwZSI6ImNwZTIzVHlwZSJ9LHsicmVmZXJlbmNlQ2F0ZWdvcnkiOiJTRUNVUklUWSIsInJlZmVyZW5jZUxvY2F0b3IiOiJjcGU6Mi4zOmE6YWxwaW5lLWJhc2VsYXlvdXQ6YWxwaW5lX2Jhc2VsYXlvdXQ6My42LjUtcjA6KjoqOio6KjoqOio6KiIsInJlZmVyZW5jZVR5cGUiOiJjcGUyM1R5cGUifSx7InJlZmVyZW5jZUNhdGVnb3J5IjoiU0VDVVJJVFkiLCJyZWZlcmVuY2VMb2NhdG9yIjoiY3BlOjIuMzphOmFscGluZV9iYXNlbGF5b3V0OmFscGluZS1iYXNlbGF5b3V0OjMuNi41LXIwOio6KjoqOio6KjoqOioiLCJyZWZlcmVuY2VUeXBlIjoiY3BlMjNUeXBlIn0seyJyZWZlcmVuY2VDYXRlZ29yeSI6IlNFQ1VSSVRZIiwicmVmZXJlbmNlTG9jYXRvciI6ImNwZToyLjM6YTphbHBpbmVfYmFzZWxheW91dDphbHBpbmVfYmFzZWxheW91dDozLjYuNS1yMDoqOio6KjoqOio6KjoqIiwicmVmZXJlbmNlVHlwZSI6ImNwZTIzVHlwZSJ9LHsicmVmZXJlbmNlQ2F0ZWdvcnkiOiJTRUNVUklUWSIsInJlZmVyZW5jZUxvY2F0b3IiOiJjcGU6Mi4zOmE6YWxwaW5lOmFscGluZS1iYXNlbGF5b3V0OjMuNi41LXIwOio6KjoqOio6KjoqOioiLCJyZWZlcmVuY2VUeXBlIjoiY3BlMjNUeXBlIn0seyJyZWZlcmVuY2VDYXRlZ29yeSI6IlNFQ1VSSVRZIiwicmVmZXJlbmNlTG9jYXRvciI6ImNwZToyLjM6YTphbHBpbmU6YWxwaW5lX2Jhc2VsYXlvdXQ6My42LjUtcjA6KjoqOio6KjoqOio6KiIsInJlZmVyZW5jZVR5cGUiOiJjcGUyM1R5cGUifSx7InJlZmVyZW5jZUNhdGVnb3J5IjoiUEFDS0FHRS1NQU5BR0VSIiwicmVmZXJlbmNlTG9jYXRvciI6InBrZzphcGsvYWxwaW5lL2FscGluZS1iYXNlbGF5b3V0QDMuNi41LXIwP2FyY2g9YWFyY2g2NFx1MDAyNmRpc3Rybz1hbHBpbmUtMy4yMC4wIiwicmVmZXJlbmNlVHlwZSI6InB1cmwifV0sImZpbGVzQW5hbHl6ZWQiOnRydWUsImxpY2Vuc2VDb25jbHVkZWQiOiJOT0FTU0VSVElPTiIsImxpY2Vuc2VEZWNsYXJlZCI6IkdQTC0yLjAtb25seSIsIm5hbWUiOiJhbHBpbmUtYmFzZWxheW91dCIsIm9yaWdpbmF0b3IiOiJQZXJzb246IE5hdGFuYWVsIENvcGEgKG5jb3BhQGFscGluZWxpbnV4Lm9yZykiLCJwYWNrYWdlVmVyaWZpY2F0aW9uQ29kZSI6eyJwYWNrYWdlVmVyaWZpY2F0aW9uQ29kZVZhbHVlIjoiNmEyMmJmZjMwZTJhZWQzNDcwMjllZWI5ZDUxYzgxMDYxMzcwNTQ1NSJ9LCJzb3VyY2VJbmZvIjoiYWNxdWlyZWQgcGFja2FnZSBpbmZvIGZyb20gQVBLIERCOiAvbGliL2Fway9kYi9pbnN0YWxsZWQiLCJzdXBwbGllciI6IlBlcnNvbjogTmF0YW5hZWwgQ29wYSAobmNvcGFAYWxwaW5lbGludXgub3JnKSIsInZlcnNpb25JbmZvIjoiMy42LjUtcjAifSx7IlNQRFhJRCI6IlNQRFhSZWYtUGFja2FnZS1hcGstYWxwaW5lLWJhc2VsYXlvdXQtZGF0YS05ZmY5NmY5NDJkMjQwMWYyIiwiY29weXJpZ2h0VGV4dCI6Ik5PQVNTRVJUSU9OIiwiZGVzY3JpcHRpb24iOiJBbHBpbmUgYmFzZSBkaXIgc3RydWN0dXJlIGFuZCBpbml0IHNjcmlwdHMiLCJkb3dubG9hZExvY2F0aW9uIjoiaHR0cHM6Ly9naXQuYWxwaW5lbGludXgub3JnL2NnaXQvYXBvcnRzL3RyZWUvbWFpbi9hbHBpbmUtYmFzZWxheW91dCIsImV4dGVybmFsUmVmcyI6W3sicmVmZXJlbmNlQ2F0ZWdvcnkiOiJTRUNVUklUWSIsInJlZmVyZW5jZUxvY2F0b3IiOiJjcGU6Mi4zOmE6YWxwaW5lLWJhc2VsYXlvdXQtZGF0YTphbHBpbmUtYmFzZWxheW91dC1kYXRhOjMuNi41LXIwOio6KjoqOio6KjoqOioiLCJyZWZlcmVuY2VUeXBlIjoiY3BlMjNUeXBlIn0seyJyZWZlcmVuY2VDYXRlZ29yeSI6IlNFQ1VSSVRZIiwicmVmZXJlbmNlTG9jYXRvciI6ImNwZToyLjM6YTphbHBpbmUtYmFzZWxheW91dC1kYXRhOmFscGluZV9iYXNlbGF5b3V0X2RhdGE6My42LjUtcjA6KjoqOio6KjoqOio6KiIsInJlZmVyZW5jZVR5cGUiOiJjcGUyM1R5cGUifSx7InJlZmVyZW5jZUNhdGVnb3J5IjoiU0VDVVJJVFkiLCJyZWZlcmVuY2VMb2NhdG9yIjoiY3BlOjIuMzphOmFscGluZV9iYXNlbGF5b3V0X2RhdGE6YWxwaW5lLWJhc2VsYXlvdXQtZGF0YTozLjYuNS1yMDoqOio6KjoqOio6KjoqIiwicmVmZXJlbmNlVHlwZSI6ImNwZTIzVHlwZSJ9LHsicmVmZXJlbmNlQ2F0ZWdvcnkiOiJTRUNVUklUWSIsInJlZmVyZW5jZUxvY2F0b3IiOiJjcGU6Mi4zOmE6YWxwaW5lX2Jhc2VsYXlvdXRfZGF0YTphbHBpbmVfYmFzZWxheW91dF9kYXRhOjMuNi41LXIwOio6KjoqOio6KjoqOioiLCJyZWZlcmVuY2VUeXBlIjoiY3BlMjNUeXBlIn0seyJyZWZlcmVuY2VDYXRlZ29yeSI6IlNFQ1VSSVRZIiwicmVmZXJlbmNlTG9jYXRvciI6ImNwZToyLjM6YTphbHBpbmUtYmFzZWxheW91dDphbHBpbmUtYmFzZWxheW91dC1kYXRhOjMuNi41LXIwOio6KjoqOio6KjoqOioiLCJyZWZlcmVuY2VUeXBlIjoiY3BlMjNUeXBlIn0seyJyZWZlcmVuY2VDYXRlZ29yeSI6IlNFQ1VSSVRZIiwicmVmZXJlbmNlTG9jYXRvciI6ImNwZToyLjM6YTphbHBpbmUtYmFzZWxheW91dDphbHBpbmVfYmFzZWxheW91dF9kYXRhOjMuNi41LXIwOio6KjoqOio6KjoqOioiLCJyZWZlcmVuY2VUeXBlIjoiY3BlMjNUeXBlIn0seyJyZWZlcmVuY2VDYXRlZ29yeSI6IlNFQ1VSSVRZIiwicmVmZXJlbmNlTG9jYXRvciI6ImNwZToyLjM6YTphbHBpbmVfYmFzZWxheW91dDphbHBpbmUtYmFzZWxheW91dC1kYXRhOjMuNi41LXIwOio6KjoqOio6KjoqOioiLCJyZWZlcmVuY2VUeXBlIjoiY3BlMjNUeXBlIn0seyJyZWZlcmVuY2VDYXRlZ29yeSI6IlNFQ1VSSVRZIiwicmVmZXJlbmNlTG9jYXRvciI6ImNwZToyLjM6YTphbHBpbmVfYmFzZWxheW91dDphbHBpbmVfYmFzZWxheW91dF9kYXRhOjMuNi41LXIwOio6KjoqOio6KjoqOioiLCJyZWZlcmVuY2VUeXBlIjoiY3BlMjNUeXBlIn0seyJyZWZlcmVuY2VDYXRlZ29yeSI6IlNFQ1VSSVRZIiwicmVmZXJlbmNlTG9jYXRvciI6ImNwZToyLjM6YTphbHBpbmU6YWxwaW5lLWJhc2VsYXlvdXQtZGF0YTozLjYuNS1yMDoqOio6KjoqOio6KjoqIiwicmVmZXJlbmNlVHlwZSI6ImNwZTIzVHlwZSJ9LHsicmVmZXJlbmNlQ2F0ZWdvcnkiOiJTRUNVUklUWSIsInJlZmVyZW5jZUxvY2F0b3IiOiJjcGU6Mi4zOmE6YWxwaW5lOmFscGluZV9iYXNlbGF5b3V0X2RhdGE6My42LjUtcjA6KjoqOio6KjoqOio6KiIsInJlZmVyZW5jZVR5cGUiOiJjcGUyM1R5cGUifSx7InJlZmVyZW5jZUNhdGVnb3J5IjoiUEFDS0FHRS1NQU5BR0VSIiwicmVmZXJlbmNlTG9jYXRvciI6InBrZzphcGsvYWxwaW5lL2FscGluZS1iYXNlbGF5b3V0LWRhdGFAMy42LjUtcjA/YXJjaD1hYXJjaDY0XHUwMDI2dXBzdHJlYW09YWxwaW5lLWJhc2VsYXlvdXRcdTAwMjZkaXN0cm89YWxwaW5lLTMuMjAuMCIsInJlZmVyZW5jZVR5cGUiOiJwdXJsIn1dLCJmaWxlc0FuYWx5emVkIjp0cnVlLCJsaWNlbnNlQ29uY2x1ZGVkIjoiTk9BU1NFUlRJT04iLCJsaWNlbnNlRGVjbGFyZWQiOiJHUEwtMi4wLW9ubHkiLCJuYW1lIjoiYWxwaW5lLWJhc2VsYXlvdXQtZGF0YSIsIm9yaWdpbmF0b3IiOiJQZXJzb246IE5hdGFuYWVsIENvcGEgKG5jb3BhQGFscGluZWxpbnV4Lm9yZykiLCJwYWNrYWdlVmVyaWZpY2F0aW9uQ29kZSI6eyJwYWNrYWdlVmVyaWZpY2F0aW9uQ29kZVZhbHVlIjoiNmE3ZDY5ODkzYjhiY2EwMGEzOWFkOWEwNmM2YTdlMjgzMzU5M2FkMCJ9LCJzb3VyY2VJbmZvIjoiYWNxdWlyZWQgcGFja2FnZSBpbmZvIGZyb20gQVBLIERCOiAvbGliL2Fway9kYi9pbnN0YWxsZWQiLCJzdXBwbGllciI6IlBlcnNvbjogTmF0YW5hZWwgQ29wYSAobmNvcGFAYWxwaW5lbGludXgub3JnKSIsInZlcnNpb25JbmZvIjoiMy42LjUtcjAifSx7IlNQRFhJRCI6IlNQRFhSZWYtUGFja2FnZS1hcGstYWxwaW5lLWtleXMtMGU1MTAwZTNkMjY2YTEzNSIsImNvcHlyaWdodFRleHQiOiJOT0FTU0VSVElPTiIsImRlc2NyaXB0aW9uIjoiUHVibGljIGtleXMgZm9yIEFscGluZSBMaW51eCBwYWNrYWdlcyIsImRvd25sb2FkTG9jYXRpb24iOiJodHRwczovL2FscGluZWxpbnV4Lm9yZyIsImV4dGVybmFsUmVmcyI6W3sicmVmZXJlbmNlQ2F0ZWdvcnkiOiJTRUNVUklUWSIsInJlZmVyZW5jZUxvY2F0b3IiOiJjcGU6Mi4zOmE6YWxwaW5lLWtleXM6YWxwaW5lLWtleXM6Mi40LXIxOio6KjoqOio6KjoqOioiLCJyZWZlcmVuY2VUeXBlIjoiY3BlMjNUeXBlIn0seyJyZWZlcmVuY2VDYXRlZ29yeSI6IlNFQ1VSSVRZIiwicmVmZXJlbmNlTG9jYXRvciI6ImNwZToyLjM6YTphbHBpbmUta2V5czphbHBpbmVfa2V5czoyLjQtcjE6KjoqOio6KjoqOio6KiIsInJlZmVyZW5jZVR5cGUiOiJjcGUyM1R5cGUifSx7InJlZmVyZW5jZUNhdGVnb3J5IjoiU0VDVVJJVFkiLCJyZWZlcmVuY2VMb2NhdG9yIjoiY3BlOjIuMzphOmFscGluZV9rZXlzOmFscGluZS1rZXlzOjIuNC1yMToqOio6KjoqOio6KjoqIiwicmVmZXJlbmNlVHlwZSI6ImNwZTIzVHlwZSJ9LHsicmVmZXJlbmNlQ2F0ZWdvcnkiOiJTRUNVUklUWSIsInJlZmVyZW5jZUxvY2F0b3IiOiJjcGU6Mi4zOmE6YWxwaW5lX2tleXM6YWxwaW5lX2tleXM6Mi40LXIxOio6KjoqOio6KjoqOioiLCJyZWZlcmVuY2VUeXBlIjoiY3BlMjNUeXBlIn0seyJyZWZlcmVuY2VDYXRlZ29yeSI6IlNFQ1VSSVRZIiwicmVmZXJlbmNlTG9jYXRvciI6ImNwZToyLjM6YTphbHBpbmU6YWxwaW5lLWtleXM6Mi40LXIxOio6KjoqOio6KjoqOioiLCJyZWZlcmVuY2VUeXBlIjoiY3BlMjNUeXBlIn0seyJyZWZlcmVuY2VDYXRlZ29yeSI6IlNFQ1VSSVRZIiwicmVmZXJlbmNlTG9jYXRvciI6ImNwZToyLjM6YTphbHBpbmU6YWxwaW5lX2tleXM6Mi40LXIxOio6KjoqOio6KjoqOioiLCJyZWZlcmVuY2VUeXBlIjoiY3BlMjNUeXBlIn0seyJyZWZlcmVuY2VDYXRlZ29yeSI6IlBBQ0tBR0UtTUFOQUdFUiIsInJlZmVyZW5jZUxvY2F0b3IiOiJwa2c6YXBrL2FscGluZS9hbHBpbmUta2V5c0AyLjQtcjE/YXJjaD1hYXJjaDY0XHUwMDI2ZGlzdHJvPWFscGluZS0zLjIwLjAiLCJyZWZlcmVuY2VUeXBlIjoicHVybCJ9XSwiZmlsZXNBbmFseXplZCI6dHJ1ZSwibGljZW5zZUNvbmNsdWRlZCI6Ik5PQVNTRVJUSU9OIiwibGljZW5zZURlY2xhcmVkIjoiTUlUIiwibmFtZSI6ImFscGluZS1rZXlzIiwib3JpZ2luYXRvciI6IlBlcnNvbjogTmF0YW5hZWwgQ29wYSAobmNvcGFAYWxwaW5lbGludXgub3JnKSIsInBhY2thZ2VWZXJpZmljYXRpb25Db2RlIjp7InBhY2thZ2VWZXJpZmljYXRpb25Db2RlVmFsdWUiOiI1NTU5MTA4MjZiNGE2ODQ4MjY3OWI2ZDQ4MDliMTUwMmRkNmQ0NmFiIn0sInNvdXJjZUluZm8iOiJhY3F1aXJlZCBwYWNrYWdlIGluZm8gZnJvbSBBUEsgREI6IC9saWIvYXBrL2RiL2luc3RhbGxlZCIsInN1cHBsaWVyIjoiUGVyc29uOiBOYXRhbmFlbCBDb3BhIChuY29wYUBhbHBpbmVsaW51eC5vcmcpIiwidmVyc2lvbkluZm8iOiIyLjQtcjEifSx7IlNQRFhJRCI6IlNQRFhSZWYtUGFja2FnZS1hcGstYXBrLXRvb2xzLTc4YzU1ZDY0YWIzNTA0NjIiLCJjb3B5cmlnaHRUZXh0IjoiTk9BU1NFUlRJT04iLCJkZXNjcmlwdGlvbiI6IkFscGluZSBQYWNrYWdlIEtlZXBlciAtIHBhY2thZ2UgbWFuYWdlciBmb3IgYWxwaW5lIiwiZG93bmxvYWRMb2NhdGlvbiI6Imh0dHBzOi8vZ2l0bGFiLmFscGluZWxpbnV4Lm9yZy9hbHBpbmUvYXBrLXRvb2xzIiwiZXh0ZXJuYWxSZWZzIjpbeyJyZWZlcmVuY2VDYXRlZ29yeSI6IlNFQ1VSSVRZIiwicmVmZXJlbmNlTG9jYXRvciI6ImNwZToyLjM6YTphcGstdG9vbHM6YXBrLXRvb2xzOjIuMTQuNC1yMDoqOio6KjoqOio6KjoqIiwicmVmZXJlbmNlVHlwZSI6ImNwZTIzVHlwZSJ9LHsicmVmZXJlbmNlQ2F0ZWdvcnkiOiJTRUNVUklUWSIsInJlZmVyZW5jZUxvY2F0b3IiOiJjcGU6Mi4zOmE6YXBrLXRvb2xzOmFwa190b29sczoyLjE0LjQtcjA6KjoqOio6KjoqOio6KiIsInJlZmVyZW5jZVR5cGUiOiJjcGUyM1R5cGUifSx7InJlZmVyZW5jZUNhdGVnb3J5IjoiU0VDVVJJVFkiLCJyZWZlcmVuY2VMb2NhdG9yIjoiY3BlOjIuMzphOmFwa190b29sczphcGstdG9vbHM6Mi4xNC40LXIwOio6KjoqOio6KjoqOioiLCJyZWZlcmVuY2VUeXBlIjoiY3BlMjNUeXBlIn0seyJyZWZlcmVuY2VDYXRlZ29yeSI6IlNFQ1VSSVRZIiwicmVmZXJlbmNlTG9jYXRvciI6ImNwZToyLjM6YTphcGtfdG9vbHM6YXBrX3Rvb2xzOjIuMTQuNC1yMDoqOio6KjoqOio6KjoqIiwicmVmZXJlbmNlVHlwZSI6ImNwZTIzVHlwZSJ9LHsicmVmZXJlbmNlQ2F0ZWdvcnkiOiJTRUNVUklUWSIsInJlZmVyZW5jZUxvY2F0b3IiOiJjcGU6Mi4zOmE6YXBrOmFway10b29sczoyLjE0LjQtcjA6KjoqOio6KjoqOio6KiIsInJlZmVyZW5jZVR5cGUiOiJjcGUyM1R5cGUifSx7InJlZmVyZW5jZUNhdGVnb3J5IjoiU0VDVVJJVFkiLCJyZWZlcmVuY2VMb2NhdG9yIjoiY3BlOjIuMzphOmFwazphcGtfdG9vbHM6Mi4xNC40LXIwOio6KjoqOio6KjoqOioiLCJyZWZlcmVuY2VUeXBlIjoiY3BlMjNUeXBlIn0seyJyZWZlcmVuY2VDYXRlZ29yeSI6IlBBQ0tBR0UtTUFOQUdFUiIsInJlZmVyZW5jZUxvY2F0b3IiOiJwa2c6YXBrL2FscGluZS9hcGstdG9vbHNAMi4xNC40LXIwP2FyY2g9YWFyY2g2NFx1MDAyNmRpc3Rybz1hbHBpbmUtMy4yMC4wIiwicmVmZXJlbmNlVHlwZSI6InB1cmwifV0sImZpbGVzQW5hbHl6ZWQiOnRydWUsImxpY2Vuc2VDb25jbHVkZWQiOiJOT0FTU0VSVElPTiIsImxpY2Vuc2VEZWNsYXJlZCI6IkdQTC0yLjAtb25seSIsIm5hbWUiOiJhcGstdG9vbHMiLCJvcmlnaW5hdG9yIjoiUGVyc29uOiBOYXRhbmFlbCBDb3BhIChuY29wYUBhbHBpbmVsaW51eC5vcmcpIiwicGFja2FnZVZlcmlmaWNhdGlvbkNvZGUiOnsicGFja2FnZVZlcmlmaWNhdGlvbkNvZGVWYWx1ZSI6ImUwOTcwN2E3OTc3NTZjZjlkYWYxYzNmNTgzMmU3YzQ0OTlhMDQyNjYifSwic291cmNlSW5mbyI6ImFjcXVpcmVkIHBhY2thZ2UgaW5mbyBmcm9tIEFQSyBEQjogL2xpYi9hcGsvZGIvaW5zdGFsbGVkIiwic3VwcGxpZXIiOiJQZXJzb246IE5hdGFuYWVsIENvcGEgKG5jb3BhQGFscGluZWxpbnV4Lm9yZykiLCJ2ZXJzaW9uSW5mbyI6IjIuMTQuNC1yMCJ9LHsiU1BEWElEIjoiU1BEWFJlZi1QYWNrYWdlLWFway1idXN5Ym94LTRjZWE3Y2UyZTI5NzRjOTkiLCJjb3B5cmlnaHRUZXh0IjoiTk9BU1NFUlRJT04iLCJkZXNjcmlwdGlvbiI6IlNpemUgb3B0aW1pemVkIHRvb2xib3ggb2YgbWFueSBjb21tb24gVU5JWCB1dGlsaXRpZXMiLCJkb3dubG9hZExvY2F0aW9uIjoiaHR0cHM6Ly9idXN5Ym94Lm5ldC8iLCJleHRlcm5hbFJlZnMiOlt7InJlZmVyZW5jZUNhdGVnb3J5IjoiU0VDVVJJVFkiLCJyZWZlcmVuY2VMb2NhdG9yIjoiY3BlOjIuMzphOmJ1c3lib3g6YnVzeWJveDoxLjM2LjEtcjI4Oio6KjoqOio6KjoqOioiLCJyZWZlcmVuY2VUeXBlIjoiY3BlMjNUeXBlIn0seyJyZWZlcmVuY2VDYXRlZ29yeSI6IlBBQ0tBR0UtTUFOQUdFUiIsInJlZmVyZW5jZUxvY2F0b3IiOiJwa2c6YXBrL2FscGluZS9idXN5Ym94QDEuMzYuMS1yMjg/YXJjaD1hYXJjaDY0XHUwMDI2ZGlzdHJvPWFscGluZS0zLjIwLjAiLCJyZWZlcmVuY2VUeXBlIjoicHVybCJ9XSwiZmlsZXNBbmFseXplZCI6dHJ1ZSwibGljZW5zZUNvbmNsdWRlZCI6Ik5PQVNTRVJUSU9OIiwibGljZW5zZURlY2xhcmVkIjoiR1BMLTIuMC1vbmx5IiwibmFtZSI6ImJ1c3lib3giLCJwYWNrYWdlVmVyaWZpY2F0aW9uQ29kZSI6eyJwYWNrYWdlVmVyaWZpY2F0aW9uQ29kZVZhbHVlIjoiYzg3MzUwOGUwYjM3NTA2YjRiMmQzMDA2YjRjZTA5NjA2OWI2YWI5YSJ9LCJzb3VyY2VJbmZvIjoiYWNxdWlyZWQgcGFja2FnZSBpbmZvIGZyb20gQVBLIERCOiAvbGliL2Fway9kYi9pbnN0YWxsZWQiLCJzdXBwbGllciI6Ik5PQVNTRVJUSU9OIiwidmVyc2lvbkluZm8iOiIxLjM2LjEtcjI4In0seyJTUERYSUQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWJ1c3lib3gtYmluc2gtMWZkOTViNGQ0M2E5ZjQzOCIsImNvcHlyaWdodFRleHQiOiJOT0FTU0VSVElPTiIsImRlc2NyaXB0aW9uIjoiYnVzeWJveCBhc2ggL2Jpbi9zaCIsImRvd25sb2FkTG9jYXRpb24iOiJodHRwczovL2J1c3lib3gubmV0LyIsImV4dGVybmFsUmVmcyI6W3sicmVmZXJlbmNlQ2F0ZWdvcnkiOiJTRUNVUklUWSIsInJlZmVyZW5jZUxvY2F0b3IiOiJjcGU6Mi4zOmE6YnVzeWJveC1iaW5zaDpidXN5Ym94LWJpbnNoOjEuMzYuMS1yMjg6KjoqOio6KjoqOio6KiIsInJlZmVyZW5jZVR5cGUiOiJjcGUyM1R5cGUifSx7InJlZmVyZW5jZUNhdGVnb3J5IjoiU0VDVVJJVFkiLCJyZWZlcmVuY2VMb2NhdG9yIjoiY3BlOjIuMzphOmJ1c3lib3gtYmluc2g6YnVzeWJveF9iaW5zaDoxLjM2LjEtcjI4Oio6KjoqOio6KjoqOioiLCJyZWZlcmVuY2VUeXBlIjoiY3BlMjNUeXBlIn0seyJyZWZlcmVuY2VDYXRlZ29yeSI6IlNFQ1VSSVRZIiwicmVmZXJlbmNlTG9jYXRvciI6ImNwZToyLjM6YTpidXN5Ym94X2JpbnNoOmJ1c3lib3gtYmluc2g6MS4zNi4xLXIyODoqOio6KjoqOio6KjoqIiwicmVmZXJlbmNlVHlwZSI6ImNwZTIzVHlwZSJ9LHsicmVmZXJlbmNlQ2F0ZWdvcnkiOiJTRUNVUklUWSIsInJlZmVyZW5jZUxvY2F0b3IiOiJjcGU6Mi4zOmE6YnVzeWJveF9iaW5zaDpidXN5Ym94X2JpbnNoOjEuMzYuMS1yMjg6KjoqOio6KjoqOio6KiIsInJlZmVyZW5jZVR5cGUiOiJjcGUyM1R5cGUifSx7InJlZmVyZW5jZUNhdGVnb3J5IjoiU0VDVVJJVFkiLCJyZWZlcmVuY2VMb2NhdG9yIjoiY3BlOjIuMzphOmJ1c3lib3g6YnVzeWJveC1iaW5zaDoxLjM2LjEtcjI4Oio6KjoqOio6KjoqOioiLCJyZWZlcmVuY2VUeXBlIjoiY3BlMjNUeXBlIn0seyJyZWZlcmVuY2VDYXRlZ29yeSI6IlNFQ1VSSVRZIiwicmVmZXJlbmNlTG9jYXRvciI6ImNwZToyLjM6YTpidXN5Ym94OmJ1c3lib3hfYmluc2g6MS4zNi4xLXIyODoqOio6KjoqOio6KjoqIiwicmVmZXJlbmNlVHlwZSI6ImNwZTIzVHlwZSJ9LHsicmVmZXJlbmNlQ2F0ZWdvcnkiOiJQQUNLQUdFLU1BTkFHRVIiLCJyZWZlcmVuY2VMb2NhdG9yIjoicGtnOmFway9hbHBpbmUvYnVzeWJveC1iaW5zaEAxLjM2LjEtcjI4P2FyY2g9YWFyY2g2NFx1MDAyNnVwc3RyZWFtPWJ1c3lib3hcdTAwMjZkaXN0cm89YWxwaW5lLTMuMjAuMCIsInJlZmVyZW5jZVR5cGUiOiJwdXJsIn1dLCJmaWxlc0FuYWx5emVkIjp0cnVlLCJsaWNlbnNlQ29uY2x1ZGVkIjoiTk9BU1NFUlRJT04iLCJsaWNlbnNlRGVjbGFyZWQiOiJHUEwtMi4wLW9ubHkiLCJuYW1lIjoiYnVzeWJveC1iaW5zaCIsInBhY2thZ2VWZXJpZmljYXRpb25Db2RlIjp7InBhY2thZ2VWZXJpZmljYXRpb25Db2RlVmFsdWUiOiI3MWJkM2ExYjUxMGI1MzFiYTkyMDQ1N2NmYWE4N2Y5MDdjNmNkMDkxIn0sInNvdXJjZUluZm8iOiJhY3F1aXJlZCBwYWNrYWdlIGluZm8gZnJvbSBBUEsgREI6IC9saWIvYXBrL2RiL2luc3RhbGxlZCIsInN1cHBsaWVyIjoiTk9BU1NFUlRJT04iLCJ2ZXJzaW9uSW5mbyI6IjEuMzYuMS1yMjgifSx7IlNQRFhJRCI6IlNQRFhSZWYtUGFja2FnZS1hcGstY2EtY2VydGlmaWNhdGVzLWJ1bmRsZS1iZjQyNDQwZGQwYjYxNzI3IiwiY29weXJpZ2h0VGV4dCI6Ik5PQVNTRVJUSU9OIiwiZGVzY3JpcHRpb24iOiJQcmUgZ2VuZXJhdGVkIGJ1bmRsZSBvZiBNb3ppbGxhIGNlcnRpZmljYXRlcyIsImRvd25sb2FkTG9jYXRpb24iOiJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9lbi1VUy9hYm91dC9nb3Zlcm5hbmNlL3BvbGljaWVzL3NlY3VyaXR5LWdyb3VwL2NlcnRzLyIsImV4dGVybmFsUmVmcyI6W3sicmVmZXJlbmNlQ2F0ZWdvcnkiOiJTRUNVUklUWSIsInJlZmVyZW5jZUxvY2F0b3IiOiJjcGU6Mi4zOmE6Y2EtY2VydGlmaWNhdGVzLWJ1bmRsZTpjYS1jZXJ0aWZpY2F0ZXMtYnVuZGxlOjIwMjQwMjI2LXIwOio6KjoqOio6KjoqOioiLCJyZWZlcmVuY2VUeXBlIjoiY3BlMjNUeXBlIn0seyJyZWZlcmVuY2VDYXRlZ29yeSI6IlNFQ1VSSVRZIiwicmVmZXJlbmNlTG9jYXRvciI6ImNwZToyLjM6YTpjYS1jZXJ0aWZpY2F0ZXMtYnVuZGxlOmNhX2NlcnRpZmljYXRlc19idW5kbGU6MjAyNDAyMjYtcjA6KjoqOio6KjoqOio6KiIsInJlZmVyZW5jZVR5cGUiOiJjcGUyM1R5cGUifSx7InJlZmVyZW5jZUNhdGVnb3J5IjoiU0VDVVJJVFkiLCJyZWZlcmVuY2VMb2NhdG9yIjoiY3BlOjIuMzphOmNhX2NlcnRpZmljYXRlc19idW5kbGU6Y2EtY2VydGlmaWNhdGVzLWJ1bmRsZToyMDI0MDIyNi1yMDoqOio6KjoqOio6KjoqIiwicmVmZXJlbmNlVHlwZSI6ImNwZTIzVHlwZSJ9LHsicmVmZXJlbmNlQ2F0ZWdvcnkiOiJTRUNVUklUWSIsInJlZmVyZW5jZUxvY2F0b3IiOiJjcGU6Mi4zOmE6Y2FfY2VydGlmaWNhdGVzX2J1bmRsZTpjYV9jZXJ0aWZpY2F0ZXNfYnVuZGxlOjIwMjQwMjI2LXIwOio6KjoqOio6KjoqOioiLCJyZWZlcmVuY2VUeXBlIjoiY3BlMjNUeXBlIn0seyJyZWZlcmVuY2VDYXRlZ29yeSI6IlNFQ1VSSVRZIiwicmVmZXJlbmNlTG9jYXRvciI6ImNwZToyLjM6YTpjYS1jZXJ0aWZpY2F0ZXM6Y2EtY2VydGlmaWNhdGVzLWJ1bmRsZToyMDI0MDIyNi1yMDoqOio6KjoqOio6KjoqIiwicmVmZXJlbmNlVHlwZSI6ImNwZTIzVHlwZSJ9LHsicmVmZXJlbmNlQ2F0ZWdvcnkiOiJTRUNVUklUWSIsInJlZmVyZW5jZUxvY2F0b3IiOiJjcGU6Mi4zOmE6Y2EtY2VydGlmaWNhdGVzOmNhX2NlcnRpZmljYXRlc19idW5kbGU6MjAyNDAyMjYtcjA6KjoqOio6KjoqOio6KiIsInJlZmVyZW5jZVR5cGUiOiJjcGUyM1R5cGUifSx7InJlZmVyZW5jZUNhdGVnb3J5IjoiU0VDVVJJVFkiLCJyZWZlcmVuY2VMb2NhdG9yIjoiY3BlOjIuMzphOmNhX2NlcnRpZmljYXRlczpjYS1jZXJ0aWZpY2F0ZXMtYnVuZGxlOjIwMjQwMjI2LXIwOio6KjoqOio6KjoqOioiLCJyZWZlcmVuY2VUeXBlIjoiY3BlMjNUeXBlIn0seyJyZWZlcmVuY2VDYXRlZ29yeSI6IlNFQ1VSSVRZIiwicmVmZXJlbmNlTG9jYXRvciI6ImNwZToyLjM6YTpjYV9jZXJ0aWZpY2F0ZXM6Y2FfY2VydGlmaWNhdGVzX2J1bmRsZToyMDI0MDIyNi1yMDoqOio6KjoqOio6KjoqIiwicmVmZXJlbmNlVHlwZSI6ImNwZTIzVHlwZSJ9LHsicmVmZXJlbmNlQ2F0ZWdvcnkiOiJTRUNVUklUWSIsInJlZmVyZW5jZUxvY2F0b3IiOiJjcGU6Mi4zOmE6bW96aWxsYTpjYS1jZXJ0aWZpY2F0ZXMtYnVuZGxlOjIwMjQwMjI2LXIwOio6KjoqOio6KjoqOioiLCJyZWZlcmVuY2VUeXBlIjoiY3BlMjNUeXBlIn0seyJyZWZlcmVuY2VDYXRlZ29yeSI6IlNFQ1VSSVRZIiwicmVmZXJlbmNlTG9jYXRvciI6ImNwZToyLjM6YTptb3ppbGxhOmNhX2NlcnRpZmljYXRlc19idW5kbGU6MjAyNDAyMjYtcjA6KjoqOio6KjoqOio6KiIsInJlZmVyZW5jZVR5cGUiOiJjcGUyM1R5cGUifSx7InJlZmVyZW5jZUNhdGVnb3J5IjoiU0VDVVJJVFkiLCJyZWZlcmVuY2VMb2NhdG9yIjoiY3BlOjIuMzphOmNhOmNhLWNlcnRpZmljYXRlcy1idW5kbGU6MjAyNDAyMjYtcjA6KjoqOio6KjoqOio6KiIsInJlZmVyZW5jZVR5cGUiOiJjcGUyM1R5cGUifSx7InJlZmVyZW5jZUNhdGVnb3J5IjoiU0VDVVJJVFkiLCJyZWZlcmVuY2VMb2NhdG9yIjoiY3BlOjIuMzphOmNhOmNhX2NlcnRpZmljYXRlc19idW5kbGU6MjAyNDAyMjYtcjA6KjoqOio6KjoqOio6KiIsInJlZmVyZW5jZVR5cGUiOiJjcGUyM1R5cGUifSx7InJlZmVyZW5jZUNhdGVnb3J5IjoiUEFDS0FHRS1NQU5BR0VSIiwicmVmZXJlbmNlTG9jYXRvciI6InBrZzphcGsvYWxwaW5lL2NhLWNlcnRpZmljYXRlcy1idW5kbGVAMjAyNDAyMjYtcjA/YXJjaD1hYXJjaDY0XHUwMDI2dXBzdHJlYW09Y2EtY2VydGlmaWNhdGVzXHUwMDI2ZGlzdHJvPWFscGluZS0zLjIwLjAiLCJyZWZlcmVuY2VUeXBlIjoicHVybCJ9XSwiZmlsZXNBbmFseXplZCI6dHJ1ZSwibGljZW5zZUNvbmNsdWRlZCI6Ik5PQVNTRVJUSU9OIiwibGljZW5zZURlY2xhcmVkIjoiKE1QTC0yLjAgQU5EIE1JVCkiLCJuYW1lIjoiY2EtY2VydGlmaWNhdGVzLWJ1bmRsZSIsIm9yaWdpbmF0b3IiOiJQZXJzb246IE5hdGFuYWVsIENvcGEgKG5jb3BhQGFscGluZWxpbnV4Lm9yZykiLCJwYWNrYWdlVmVyaWZpY2F0aW9uQ29kZSI6eyJwYWNrYWdlVmVyaWZpY2F0aW9uQ29kZVZhbHVlIjoiZWQ3YTc3M2Q1MmFlYTA3NjVjMGRiMDNiYjI1YjAxYjVmMGY1MGYzYyJ9LCJzb3VyY2VJbmZvIjoiYWNxdWlyZWQgcGFja2FnZSBpbmZvIGZyb20gQVBLIERCOiAvbGliL2Fway9kYi9pbnN0YWxsZWQiLCJzdXBwbGllciI6IlBlcnNvbjogTmF0YW5hZWwgQ29wYSAobmNvcGFAYWxwaW5lbGludXgub3JnKSIsInZlcnNpb25JbmZvIjoiMjAyNDAyMjYtcjAifSx7IlNQRFhJRCI6IlNQRFhSZWYtUGFja2FnZS1hcGstbGliY3J5cHRvMy0wY2ZjZGExYTI0MmRmZDEzIiwiY29weXJpZ2h0VGV4dCI6Ik5PQVNTRVJUSU9OIiwiZGVzY3JpcHRpb24iOiJDcnlwdG8gbGlicmFyeSBmcm9tIG9wZW5zc2wiLCJkb3dubG9hZExvY2F0aW9uIjoiaHR0cHM6Ly93d3cub3BlbnNzbC5vcmcvIiwiZXh0ZXJuYWxSZWZzIjpbeyJyZWZlcmVuY2VDYXRlZ29yeSI6IlNFQ1VSSVRZIiwicmVmZXJlbmNlTG9jYXRvciI6ImNwZToyLjM6YTpsaWJjcnlwdG8zOmxpYmNyeXB0bzM6My4zLjAtcjI6KjoqOio6KjoqOio6KiIsInJlZmVyZW5jZVR5cGUiOiJjcGUyM1R5cGUifSx7InJlZmVyZW5jZUNhdGVnb3J5IjoiU0VDVVJJVFkiLCJyZWZlcmVuY2VMb2NhdG9yIjoiY3BlOjIuMzphOmxpYmNyeXB0bzM6bGliY3J5cHRvOjMuMy4wLXIyOio6KjoqOio6KjoqOioiLCJyZWZlcmVuY2VUeXBlIjoiY3BlMjNUeXBlIn0seyJyZWZlcmVuY2VDYXRlZ29yeSI6IlNFQ1VSSVRZIiwicmVmZXJlbmNlTG9jYXRvciI6ImNwZToyLjM6YTpsaWJjcnlwdG86bGliY3J5cHRvMzozLjMuMC1yMjoqOio6KjoqOio6KjoqIiwicmVmZXJlbmNlVHlwZSI6ImNwZTIzVHlwZSJ9LHsicmVmZXJlbmNlQ2F0ZWdvcnkiOiJTRUNVUklUWSIsInJlZmVyZW5jZUxvY2F0b3IiOiJjcGU6Mi4zOmE6bGliY3J5cHRvOmxpYmNyeXB0bzozLjMuMC1yMjoqOio6KjoqOio6KjoqIiwicmVmZXJlbmNlVHlwZSI6ImNwZTIzVHlwZSJ9LHsicmVmZXJlbmNlQ2F0ZWdvcnkiOiJQQUNLQUdFLU1BTkFHRVIiLCJyZWZlcmVuY2VMb2NhdG9yIjoicGtnOmFway9hbHBpbmUvbGliY3J5cHRvM0AzLjMuMC1yMj9hcmNoPWFhcmNoNjRcdTAwMjZ1cHN0cmVhbT1vcGVuc3NsXHUwMDI2ZGlzdHJvPWFscGluZS0zLjIwLjAiLCJyZWZlcmVuY2VUeXBlIjoicHVybCJ9XSwiZmlsZXNBbmFseXplZCI6dHJ1ZSwibGljZW5zZUNvbmNsdWRlZCI6Ik5PQVNTRVJUSU9OIiwibGljZW5zZURlY2xhcmVkIjoiQXBhY2hlLTIuMCIsIm5hbWUiOiJsaWJjcnlwdG8zIiwib3JpZ2luYXRvciI6IlBlcnNvbjogTmF0YW5hZWwgQ29wYSAobmNvcGFAYWxwaW5lbGludXgub3JnKSIsInBhY2thZ2VWZXJpZmljYXRpb25Db2RlIjp7InBhY2thZ2VWZXJpZmljYXRpb25Db2RlVmFsdWUiOiJhZTZiZGZmZGE0YWNiZGYzNzFiOGNjYzE5ZGJhMmU3YTUyNWQwOGUxIn0sInNvdXJjZUluZm8iOiJhY3F1aXJlZCBwYWNrYWdlIGluZm8gZnJvbSBBUEsgREI6IC9saWIvYXBrL2RiL2luc3RhbGxlZCIsInN1cHBsaWVyIjoiUGVyc29uOiBOYXRhbmFlbCBDb3BhIChuY29wYUBhbHBpbmVsaW51eC5vcmcpIiwidmVyc2lvbkluZm8iOiIzLjMuMC1yMiJ9LHsiU1BEWElEIjoiU1BEWFJlZi1QYWNrYWdlLWFway1saWJzc2wzLTFiZmZiNTA3YjFiNTM1YmMiLCJjb3B5cmlnaHRUZXh0IjoiTk9BU1NFUlRJT04iLCJkZXNjcmlwdGlvbiI6IlNTTCBzaGFyZWQgbGlicmFyaWVzIiwiZG93bmxvYWRMb2NhdGlvbiI6Imh0dHBzOi8vd3d3Lm9wZW5zc2wub3JnLyIsImV4dGVybmFsUmVmcyI6W3sicmVmZXJlbmNlQ2F0ZWdvcnkiOiJTRUNVUklUWSIsInJlZmVyZW5jZUxvY2F0b3IiOiJjcGU6Mi4zOmE6bGlic3NsMzpsaWJzc2wzOjMuMy4wLXIyOio6KjoqOio6KjoqOioiLCJyZWZlcmVuY2VUeXBlIjoiY3BlMjNUeXBlIn0seyJyZWZlcmVuY2VDYXRlZ29yeSI6IlNFQ1VSSVRZIiwicmVmZXJlbmNlTG9jYXRvciI6ImNwZToyLjM6YTpsaWJzc2wzOmxpYnNzbDozLjMuMC1yMjoqOio6KjoqOio6KjoqIiwicmVmZXJlbmNlVHlwZSI6ImNwZTIzVHlwZSJ9LHsicmVmZXJlbmNlQ2F0ZWdvcnkiOiJTRUNVUklUWSIsInJlZmVyZW5jZUxvY2F0b3IiOiJjcGU6Mi4zOmE6bGlic3NsOmxpYnNzbDM6My4zLjAtcjI6KjoqOio6KjoqOio6KiIsInJlZmVyZW5jZVR5cGUiOiJjcGUyM1R5cGUifSx7InJlZmVyZW5jZUNhdGVnb3J5IjoiU0VDVVJJVFkiLCJyZWZlcmVuY2VMb2NhdG9yIjoiY3BlOjIuMzphOmxpYnNzbDpsaWJzc2w6My4zLjAtcjI6KjoqOio6KjoqOio6KiIsInJlZmVyZW5jZVR5cGUiOiJjcGUyM1R5cGUifSx7InJlZmVyZW5jZUNhdGVnb3J5IjoiUEFDS0FHRS1NQU5BR0VSIiwicmVmZXJlbmNlTG9jYXRvciI6InBrZzphcGsvYWxwaW5lL2xpYnNzbDNAMy4zLjAtcjI/YXJjaD1hYXJjaDY0XHUwMDI2dXBzdHJlYW09b3BlbnNzbFx1MDAyNmRpc3Rybz1hbHBpbmUtMy4yMC4wIiwicmVmZXJlbmNlVHlwZSI6InB1cmwifV0sImZpbGVzQW5hbHl6ZWQiOnRydWUsImxpY2Vuc2VDb25jbHVkZWQiOiJOT0FTU0VSVElPTiIsImxpY2Vuc2VEZWNsYXJlZCI6IkFwYWNoZS0yLjAiLCJuYW1lIjoibGlic3NsMyIsIm9yaWdpbmF0b3IiOiJQZXJzb246IE5hdGFuYWVsIENvcGEgKG5jb3BhQGFscGluZWxpbnV4Lm9yZykiLCJwYWNrYWdlVmVyaWZpY2F0aW9uQ29kZSI6eyJwYWNrYWdlVmVyaWZpY2F0aW9uQ29kZVZhbHVlIjoiYmRjYzRhZWY1MjE5NjMxODMyNTUyNDNjNDI1NmNjMzM0OGE2Nzk2YiJ9LCJzb3VyY2VJbmZvIjoiYWNxdWlyZWQgcGFja2FnZSBpbmZvIGZyb20gQVBLIERCOiAvbGliL2Fway9kYi9pbnN0YWxsZWQiLCJzdXBwbGllciI6IlBlcnNvbjogTmF0YW5hZWwgQ29wYSAobmNvcGFAYWxwaW5lbGludXgub3JnKSIsInZlcnNpb25JbmZvIjoiMy4zLjAtcjIifSx7IlNQRFhJRCI6IlNQRFhSZWYtUGFja2FnZS1hcGstbXVzbC0wM2U1MjEyMzdjYmVkNDVhIiwiY29weXJpZ2h0VGV4dCI6Ik5PQVNTRVJUSU9OIiwiZGVzY3JpcHRpb24iOiJ0aGUgbXVzbCBjIGxpYnJhcnkgKGxpYmMpIGltcGxlbWVudGF0aW9uIiwiZG93bmxvYWRMb2NhdGlvbiI6Imh0dHBzOi8vbXVzbC5saWJjLm9yZy8iLCJleHRlcm5hbFJlZnMiOlt7InJlZmVyZW5jZUNhdGVnb3J5IjoiU0VDVVJJVFkiLCJyZWZlcmVuY2VMb2NhdG9yIjoiY3BlOjIuMzphOm11c2wtbGliYzptdXNsOjEuMi41LXIwOio6KjoqOio6KjoqOioiLCJyZWZlcmVuY2VUeXBlIjoiY3BlMjNUeXBlIn0seyJyZWZlcmVuY2VDYXRlZ29yeSI6IlNFQ1VSSVRZIiwicmVmZXJlbmNlTG9jYXRvciI6ImNwZToyLjM6YTptdXNsX2xpYmM6bXVzbDoxLjIuNS1yMDoqOio6KjoqOio6KjoqIiwicmVmZXJlbmNlVHlwZSI6ImNwZTIzVHlwZSJ9LHsicmVmZXJlbmNlQ2F0ZWdvcnkiOiJTRUNVUklUWSIsInJlZmVyZW5jZUxvY2F0b3IiOiJjcGU6Mi4zOmE6bXVzbDptdXNsOjEuMi41LXIwOio6KjoqOio6KjoqOioiLCJyZWZlcmVuY2VUeXBlIjoiY3BlMjNUeXBlIn0seyJyZWZlcmVuY2VDYXRlZ29yeSI6IlBBQ0tBR0UtTUFOQUdFUiIsInJlZmVyZW5jZUxvY2F0b3IiOiJwa2c6YXBrL2FscGluZS9tdXNsQDEuMi41LXIwP2FyY2g9YWFyY2g2NFx1MDAyNmRpc3Rybz1hbHBpbmUtMy4yMC4wIiwicmVmZXJlbmNlVHlwZSI6InB1cmwifV0sImZpbGVzQW5hbHl6ZWQiOnRydWUsImxpY2Vuc2VDb25jbHVkZWQiOiJOT0FTU0VSVElPTiIsImxpY2Vuc2VEZWNsYXJlZCI6Ik1JVCIsIm5hbWUiOiJtdXNsIiwib3JpZ2luYXRvciI6IlBlcnNvbjogTmF0YW5hZWwgQ29wYSAobmNvcGFAYWxwaW5lbGludXgub3JnKSIsInBhY2thZ2VWZXJpZmljYXRpb25Db2RlIjp7InBhY2thZ2VWZXJpZmljYXRpb25Db2RlVmFsdWUiOiI0OThiYTQzNDBlOGRlYjA1ZmJlYTdlMTA1M2I3MzQ3MTczMDdkZDgxIn0sInNvdXJjZUluZm8iOiJhY3F1aXJlZCBwYWNrYWdlIGluZm8gZnJvbSBBUEsgREI6IC9saWIvYXBrL2RiL2luc3RhbGxlZCIsInN1cHBsaWVyIjoiUGVyc29uOiBOYXRhbmFlbCBDb3BhIChuY29wYUBhbHBpbmVsaW51eC5vcmcpIiwidmVyc2lvbkluZm8iOiIxLjIuNS1yMCJ9LHsiU1BEWElEIjoiU1BEWFJlZi1QYWNrYWdlLWFway1tdXNsLXV0aWxzLWM4NGFlMDhiNTlkZjVjNmUiLCJjb3B5cmlnaHRUZXh0IjoiTk9BU1NFUlRJT04iLCJkZXNjcmlwdGlvbiI6InRoZSBtdXNsIGMgbGlicmFyeSAobGliYykgaW1wbGVtZW50YXRpb24iLCJkb3dubG9hZExvY2F0aW9uIjoiaHR0cHM6Ly9tdXNsLmxpYmMub3JnLyIsImV4dGVybmFsUmVmcyI6W3sicmVmZXJlbmNlQ2F0ZWdvcnkiOiJTRUNVUklUWSIsInJlZmVyZW5jZUxvY2F0b3IiOiJjcGU6Mi4zOmE6bXVzbC11dGlsczptdXNsLXV0aWxzOjEuMi41LXIwOio6KjoqOio6KjoqOioiLCJyZWZlcmVuY2VUeXBlIjoiY3BlMjNUeXBlIn0seyJyZWZlcmVuY2VDYXRlZ29yeSI6IlNFQ1VSSVRZIiwicmVmZXJlbmNlTG9jYXRvciI6ImNwZToyLjM6YTptdXNsLXV0aWxzOm11c2xfdXRpbHM6MS4yLjUtcjA6KjoqOio6KjoqOio6KiIsInJlZmVyZW5jZVR5cGUiOiJjcGUyM1R5cGUifSx7InJlZmVyZW5jZUNhdGVnb3J5IjoiU0VDVVJJVFkiLCJyZWZlcmVuY2VMb2NhdG9yIjoiY3BlOjIuMzphOm11c2xfdXRpbHM6bXVzbC11dGlsczoxLjIuNS1yMDoqOio6KjoqOio6KjoqIiwicmVmZXJlbmNlVHlwZSI6ImNwZTIzVHlwZSJ9LHsicmVmZXJlbmNlQ2F0ZWdvcnkiOiJTRUNVUklUWSIsInJlZmVyZW5jZUxvY2F0b3IiOiJjcGU6Mi4zOmE6bXVzbF91dGlsczptdXNsX3V0aWxzOjEuMi41LXIwOio6KjoqOio6KjoqOioiLCJyZWZlcmVuY2VUeXBlIjoiY3BlMjNUeXBlIn0seyJyZWZlcmVuY2VDYXRlZ29yeSI6IlNFQ1VSSVRZIiwicmVmZXJlbmNlTG9jYXRvciI6ImNwZToyLjM6YTptdXNsLWxpYmM6bXVzbC11dGlsczoxLjIuNS1yMDoqOio6KjoqOio6KjoqIiwicmVmZXJlbmNlVHlwZSI6ImNwZTIzVHlwZSJ9LHsicmVmZXJlbmNlQ2F0ZWdvcnkiOiJTRUNVUklUWSIsInJlZmVyZW5jZUxvY2F0b3IiOiJjcGU6Mi4zOmE6bXVzbC1saWJjOm11c2xfdXRpbHM6MS4yLjUtcjA6KjoqOio6KjoqOio6KiIsInJlZmVyZW5jZVR5cGUiOiJjcGUyM1R5cGUifSx7InJlZmVyZW5jZUNhdGVnb3J5IjoiU0VDVVJJVFkiLCJyZWZlcmVuY2VMb2NhdG9yIjoiY3BlOjIuMzphOm11c2w6bXVzbC11dGlsczoxLjIuNS1yMDoqOio6KjoqOio6KjoqIiwicmVmZXJlbmNlVHlwZSI6ImNwZTIzVHlwZSJ9LHsicmVmZXJlbmNlQ2F0ZWdvcnkiOiJTRUNVUklUWSIsInJlZmVyZW5jZUxvY2F0b3IiOiJjcGU6Mi4zOmE6bXVzbDptdXNsX3V0aWxzOjEuMi41LXIwOio6KjoqOio6KjoqOioiLCJyZWZlcmVuY2VUeXBlIjoiY3BlMjNUeXBlIn0seyJyZWZlcmVuY2VDYXRlZ29yeSI6IlBBQ0tBR0UtTUFOQUdFUiIsInJlZmVyZW5jZUxvY2F0b3IiOiJwa2c6YXBrL2FscGluZS9tdXNsLXV0aWxzQDEuMi41LXIwP2FyY2g9YWFyY2g2NFx1MDAyNnVwc3RyZWFtPW11c2xcdTAwMjZkaXN0cm89YWxwaW5lLTMuMjAuMCIsInJlZmVyZW5jZVR5cGUiOiJwdXJsIn1dLCJmaWxlc0FuYWx5emVkIjp0cnVlLCJsaWNlbnNlQ29uY2x1ZGVkIjoiTk9BU1NFUlRJT04iLCJsaWNlbnNlRGVjbGFyZWQiOiIoTUlUIEFORCBCU0QtMi1DbGF1c2UgQU5EIEdQTC0yLjAtb3ItbGF0ZXIpIiwibmFtZSI6Im11c2wtdXRpbHMiLCJvcmlnaW5hdG9yIjoiUGVyc29uOiBOYXRhbmFlbCBDb3BhIChuY29wYUBhbHBpbmVsaW51eC5vcmcpIiwicGFja2FnZVZlcmlmaWNhdGlvbkNvZGUiOnsicGFja2FnZVZlcmlmaWNhdGlvbkNvZGVWYWx1ZSI6ImMwNTIxMWVlYjJkNjgwYmNkMTI5YjU3NzkwZmVlYTIxNTcyMjJmOTMifSwic291cmNlSW5mbyI6ImFjcXVpcmVkIHBhY2thZ2UgaW5mbyBmcm9tIEFQSyBEQjogL2xpYi9hcGsvZGIvaW5zdGFsbGVkIiwic3VwcGxpZXIiOiJQZXJzb246IE5hdGFuYWVsIENvcGEgKG5jb3BhQGFscGluZWxpbnV4Lm9yZykiLCJ2ZXJzaW9uSW5mbyI6IjEuMi41LXIwIn0seyJTUERYSUQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLXNjYW5lbGYtNTRmMzYyM2ZkZDhmYjhkNCIsImNvcHlyaWdodFRleHQiOiJOT0FTU0VSVElPTiIsImRlc2NyaXB0aW9uIjoiU2NhbiBFTEYgYmluYXJpZXMgZm9yIHN0dWZmIiwiZG93bmxvYWRMb2NhdGlvbiI6Imh0dHBzOi8vd2lraS5nZW50b28ub3JnL3dpa2kvSGFyZGVuZWQvUGFYX1V0aWxpdGllcyIsImV4dGVybmFsUmVmcyI6W3sicmVmZXJlbmNlQ2F0ZWdvcnkiOiJTRUNVUklUWSIsInJlZmVyZW5jZUxvY2F0b3IiOiJjcGU6Mi4zOmE6c2NhbmVsZjpzY2FuZWxmOjEuMy43LXIyOio6KjoqOio6KjoqOioiLCJyZWZlcmVuY2VUeXBlIjoiY3BlMjNUeXBlIn0seyJyZWZlcmVuY2VDYXRlZ29yeSI6IlBBQ0tBR0UtTUFOQUdFUiIsInJlZmVyZW5jZUxvY2F0b3IiOiJwa2c6YXBrL2FscGluZS9zY2FuZWxmQDEuMy43LXIyP2FyY2g9YWFyY2g2NFx1MDAyNnVwc3RyZWFtPXBheC11dGlsc1x1MDAyNmRpc3Rybz1hbHBpbmUtMy4yMC4wIiwicmVmZXJlbmNlVHlwZSI6InB1cmwifV0sImZpbGVzQW5hbHl6ZWQiOnRydWUsImxpY2Vuc2VDb25jbHVkZWQiOiJOT0FTU0VSVElPTiIsImxpY2Vuc2VEZWNsYXJlZCI6IkdQTC0yLjAtb25seSIsIm5hbWUiOiJzY2FuZWxmIiwib3JpZ2luYXRvciI6IlBlcnNvbjogTmF0YW5hZWwgQ29wYSAobmNvcGFAYWxwaW5lbGludXgub3JnKSIsInBhY2thZ2VWZXJpZmljYXRpb25Db2RlIjp7InBhY2thZ2VWZXJpZmljYXRpb25Db2RlVmFsdWUiOiI5OGM2ODZhZmQ4MzM5NGZkZGIxMGJkOTIzOWVjNmI1YTQ3NDM5N2YxIn0sInNvdXJjZUluZm8iOiJhY3F1aXJlZCBwYWNrYWdlIGluZm8gZnJvbSBBUEsgREI6IC9saWIvYXBrL2RiL2luc3RhbGxlZCIsInN1cHBsaWVyIjoiUGVyc29uOiBOYXRhbmFlbCBDb3BhIChuY29wYUBhbHBpbmVsaW51eC5vcmcpIiwidmVyc2lvbkluZm8iOiIxLjMuNy1yMiJ9LHsiU1BEWElEIjoiU1BEWFJlZi1QYWNrYWdlLWFway1zc2wtY2xpZW50LTZiYmIxMGU1MmI4ZTdlYjQiLCJjb3B5cmlnaHRUZXh0IjoiTk9BU1NFUlRJT04iLCJkZXNjcmlwdGlvbiI6IkVYdGVybmFsIHNzbF9jbGllbnQgZm9yIGJ1c3lib3ggd2dldCIsImRvd25sb2FkTG9jYXRpb24iOiJodHRwczovL2J1c3lib3gubmV0LyIsImV4dGVybmFsUmVmcyI6W3sicmVmZXJlbmNlQ2F0ZWdvcnkiOiJTRUNVUklUWSIsInJlZmVyZW5jZUxvY2F0b3IiOiJjcGU6Mi4zOmE6c3NsLWNsaWVudDpzc2wtY2xpZW50OjEuMzYuMS1yMjg6KjoqOio6KjoqOio6KiIsInJlZmVyZW5jZVR5cGUiOiJjcGUyM1R5cGUifSx7InJlZmVyZW5jZUNhdGVnb3J5IjoiU0VDVVJJVFkiLCJyZWZlcmVuY2VMb2NhdG9yIjoiY3BlOjIuMzphOnNzbC1jbGllbnQ6c3NsX2NsaWVudDoxLjM2LjEtcjI4Oio6KjoqOio6KjoqOioiLCJyZWZlcmVuY2VUeXBlIjoiY3BlMjNUeXBlIn0seyJyZWZlcmVuY2VDYXRlZ29yeSI6IlNFQ1VSSVRZIiwicmVmZXJlbmNlTG9jYXRvciI6ImNwZToyLjM6YTpzc2xfY2xpZW50OnNzbC1jbGllbnQ6MS4zNi4xLXIyODoqOio6KjoqOio6KjoqIiwicmVmZXJlbmNlVHlwZSI6ImNwZTIzVHlwZSJ9LHsicmVmZXJlbmNlQ2F0ZWdvcnkiOiJTRUNVUklUWSIsInJlZmVyZW5jZUxvY2F0b3IiOiJjcGU6Mi4zOmE6c3NsX2NsaWVudDpzc2xfY2xpZW50OjEuMzYuMS1yMjg6KjoqOio6KjoqOio6KiIsInJlZmVyZW5jZVR5cGUiOiJjcGUyM1R5cGUifSx7InJlZmVyZW5jZUNhdGVnb3J5IjoiU0VDVVJJVFkiLCJyZWZlcmVuY2VMb2NhdG9yIjoiY3BlOjIuMzphOnNzbDpzc2wtY2xpZW50OjEuMzYuMS1yMjg6KjoqOio6KjoqOio6KiIsInJlZmVyZW5jZVR5cGUiOiJjcGUyM1R5cGUifSx7InJlZmVyZW5jZUNhdGVnb3J5IjoiU0VDVVJJVFkiLCJyZWZlcmVuY2VMb2NhdG9yIjoiY3BlOjIuMzphOnNzbDpzc2xfY2xpZW50OjEuMzYuMS1yMjg6KjoqOio6KjoqOio6KiIsInJlZmVyZW5jZVR5cGUiOiJjcGUyM1R5cGUifSx7InJlZmVyZW5jZUNhdGVnb3J5IjoiUEFDS0FHRS1NQU5BR0VSIiwicmVmZXJlbmNlTG9jYXRvciI6InBrZzphcGsvYWxwaW5lL3NzbF9jbGllbnRAMS4zNi4xLXIyOD9hcmNoPWFhcmNoNjRcdTAwMjZ1cHN0cmVhbT1idXN5Ym94XHUwMDI2ZGlzdHJvPWFscGluZS0zLjIwLjAiLCJyZWZlcmVuY2VUeXBlIjoicHVybCJ9XSwiZmlsZXNBbmFseXplZCI6dHJ1ZSwibGljZW5zZUNvbmNsdWRlZCI6Ik5PQVNTRVJUSU9OIiwibGljZW5zZURlY2xhcmVkIjoiR1BMLTIuMC1vbmx5IiwibmFtZSI6InNzbF9jbGllbnQiLCJwYWNrYWdlVmVyaWZpY2F0aW9uQ29kZSI6eyJwYWNrYWdlVmVyaWZpY2F0aW9uQ29kZVZhbHVlIjoiN2Q1YTE1OTE1NzdmZjg4MzY5MDg3N2U1YjUwOTk4Yjc5NTBmOWFjNyJ9LCJzb3VyY2VJbmZvIjoiYWNxdWlyZWQgcGFja2FnZSBpbmZvIGZyb20gQVBLIERCOiAvbGliL2Fway9kYi9pbnN0YWxsZWQiLCJzdXBwbGllciI6Ik5PQVNTRVJUSU9OIiwidmVyc2lvbkluZm8iOiIxLjM2LjEtcjI4In0seyJTUERYSUQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLXpsaWItZDgyNThkM2Q3YzQ4Y2ZiZiIsImNvcHlyaWdodFRleHQiOiJOT0FTU0VSVElPTiIsImRlc2NyaXB0aW9uIjoiQSBjb21wcmVzc2lvbi9kZWNvbXByZXNzaW9uIExpYnJhcnkiLCJkb3dubG9hZExvY2F0aW9uIjoiaHR0cHM6Ly96bGliLm5ldC8iLCJleHRlcm5hbFJlZnMiOlt7InJlZmVyZW5jZUNhdGVnb3J5IjoiU0VDVVJJVFkiLCJyZWZlcmVuY2VMb2NhdG9yIjoiY3BlOjIuMzphOnpsaWI6emxpYjoxLjMuMS1yMToqOio6KjoqOio6KjoqIiwicmVmZXJlbmNlVHlwZSI6ImNwZTIzVHlwZSJ9LHsicmVmZXJlbmNlQ2F0ZWdvcnkiOiJQQUNLQUdFLU1BTkFHRVIiLCJyZWZlcmVuY2VMb2NhdG9yIjoicGtnOmFway9hbHBpbmUvemxpYkAxLjMuMS1yMT9hcmNoPWFhcmNoNjRcdTAwMjZkaXN0cm89YWxwaW5lLTMuMjAuMCIsInJlZmVyZW5jZVR5cGUiOiJwdXJsIn1dLCJmaWxlc0FuYWx5emVkIjp0cnVlLCJsaWNlbnNlQ29uY2x1ZGVkIjoiTk9BU1NFUlRJT04iLCJsaWNlbnNlRGVjbGFyZWQiOiJabGliIiwibmFtZSI6InpsaWIiLCJvcmlnaW5hdG9yIjoiUGVyc29uOiBOYXRhbmFlbCBDb3BhIChuY29wYUBhbHBpbmVsaW51eC5vcmcpIiwicGFja2FnZVZlcmlmaWNhdGlvbkNvZGUiOnsicGFja2FnZVZlcmlmaWNhdGlvbkNvZGVWYWx1ZSI6IjE0NGMxYmJhZGIyNDE3MDhjNjY1ODlhZjNhZjQyOTczNGNiNzNiYjAifSwic291cmNlSW5mbyI6ImFjcXVpcmVkIHBhY2thZ2UgaW5mbyBmcm9tIEFQSyBEQjogL2xpYi9hcGsvZGIvaW5zdGFsbGVkIiwic3VwcGxpZXIiOiJQZXJzb246IE5hdGFuYWVsIENvcGEgKG5jb3BhQGFscGluZWxpbnV4Lm9yZykiLCJ2ZXJzaW9uSW5mbyI6IjEuMy4xLXIxIn0seyJTUERYSUQiOiJTUERYUmVmLURvY3VtZW50Um9vdC1JbWFnZS1hbHBpbmUiLCJjaGVja3N1bXMiOlt7ImFsZ29yaXRobSI6IlNIQTI1NiIsImNoZWNrc3VtVmFsdWUiOiI4OTQ2ZWI0MjZmYmY5ZWQ2MjYwZWU4NTllNjA0NjJiODM0YzhkMWQ1MDM0OWYxNWU3M2FhMTc5MjhmNzk5MWU4In1dLCJkb3dubG9hZExvY2F0aW9uIjoiTk9BU1NFUlRJT04iLCJleHRlcm5hbFJlZnMiOlt7InJlZmVyZW5jZUNhdGVnb3J5IjoiUEFDS0FHRS1NQU5BR0VSIiwicmVmZXJlbmNlTG9jYXRvciI6InBrZzpvY2kvYWxwaW5lQHNoYTI1Njo4OTQ2ZWI0MjZmYmY5ZWQ2MjYwZWU4NTllNjA0NjJiODM0YzhkMWQ1MDM0OWYxNWU3M2FhMTc5MjhmNzk5MWU4P2FyY2g9YXJtNjQiLCJyZWZlcmVuY2VUeXBlIjoicHVybCJ9XSwiZmlsZXNBbmFseXplZCI6ZmFsc2UsImxpY2Vuc2VDb25jbHVkZWQiOiJOT0FTU0VSVElPTiIsImxpY2Vuc2VEZWNsYXJlZCI6Ik5PQVNTRVJUSU9OIiwibmFtZSI6ImFscGluZSIsInByaW1hcnlQYWNrYWdlUHVycG9zZSI6IkNPTlRBSU5FUiIsInN1cHBsaWVyIjoiTk9BU1NFUlRJT04iLCJ2ZXJzaW9uSW5mbyI6InNoYTI1Njo4OTQ2ZWI0MjZmYmY5ZWQ2MjYwZWU4NTllNjA0NjJiODM0YzhkMWQ1MDM0OWYxNWU3M2FhMTc5MjhmNzk5MWU4In1dLCJyZWxhdGlvbnNoaXBzIjpbeyJyZWxhdGVkU3BkeEVsZW1lbnQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWxpYmNyeXB0bzMtMGNmY2RhMWEyNDJkZmQxMyIsInJlbGF0aW9uc2hpcFR5cGUiOiJERVBFTkRFTkNZX09GIiwic3BkeEVsZW1lbnRJZCI6IlNQRFhSZWYtUGFja2FnZS1hcGstbXVzbC0wM2U1MjEyMzdjYmVkNDVhIn0seyJyZWxhdGVkU3BkeEVsZW1lbnQiOiJTUERYUmVmLUZpbGUtbGliLWxkLW11c2wtYWFyY2g2NC5zby4xLTE1YWM1YTg3MDIxYzYwNWMiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1tdXNsLTAzZTUyMTIzN2NiZWQ0NWEifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtUGFja2FnZS1hcGstbGlic3NsMy0xYmZmYjUwN2IxYjUzNWJjIiwicmVsYXRpb25zaGlwVHlwZSI6IkRFUEVOREVOQ1lfT0YiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1tdXNsLTAzZTUyMTIzN2NiZWQ0NWEifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtUGFja2FnZS1hcGstYnVzeWJveC00Y2VhN2NlMmUyOTc0Yzk5IiwicmVsYXRpb25zaGlwVHlwZSI6IkRFUEVOREVOQ1lfT0YiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1tdXNsLTAzZTUyMTIzN2NiZWQ0NWEifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtUGFja2FnZS1hcGstc2NhbmVsZi01NGYzNjIzZmRkOGZiOGQ0IiwicmVsYXRpb25zaGlwVHlwZSI6IkRFUEVOREVOQ1lfT0YiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1tdXNsLTAzZTUyMTIzN2NiZWQ0NWEifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtUGFja2FnZS1hcGstc3NsLWNsaWVudC02YmJiMTBlNTJiOGU3ZWI0IiwicmVsYXRpb25zaGlwVHlwZSI6IkRFUEVOREVOQ1lfT0YiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1tdXNsLTAzZTUyMTIzN2NiZWQ0NWEifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtUGFja2FnZS1hcGstYXBrLXRvb2xzLTc4YzU1ZDY0YWIzNTA0NjIiLCJyZWxhdGlvbnNoaXBUeXBlIjoiREVQRU5ERU5DWV9PRiIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLW11c2wtMDNlNTIxMjM3Y2JlZDQ1YSJ9LHsiY29tbWVudCI6ImV2aWRlbnQtYnk6IGluZGljYXRlcyB0aGUgcGFja2FnZSdzIGV4aXN0ZW5jZSBpcyBldmlkZW50IGJ5IHRoZSBnaXZlbiBmaWxlIiwicmVsYXRlZFNwZHhFbGVtZW50IjoiU1BEWFJlZi1GaWxlLWxpYi1hcGstZGItaW5zdGFsbGVkLTgzNjNiNGE2NzcwNDE1NTMiLCJyZWxhdGlvbnNoaXBUeXBlIjoiT1RIRVIiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1tdXNsLTAzZTUyMTIzN2NiZWQ0NWEifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtUGFja2FnZS1hcGstbXVzbC11dGlscy1jODRhZTA4YjU5ZGY1YzZlIiwicmVsYXRpb25zaGlwVHlwZSI6IkRFUEVOREVOQ1lfT0YiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1tdXNsLTAzZTUyMTIzN2NiZWQ0NWEifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtUGFja2FnZS1hcGstemxpYi1kODI1OGQzZDdjNDhjZmJmIiwicmVsYXRpb25zaGlwVHlwZSI6IkRFUEVOREVOQ1lfT0YiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1tdXNsLTAzZTUyMTIzN2NiZWQ0NWEifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtUGFja2FnZS1hcGstbGlic3NsMy0xYmZmYjUwN2IxYjUzNWJjIiwicmVsYXRpb25zaGlwVHlwZSI6IkRFUEVOREVOQ1lfT0YiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1saWJjcnlwdG8zLTBjZmNkYTFhMjQyZGZkMTMifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS11c3ItbGliLWVuZ2luZXMtMy1hZmFsZy5zby0yZGQwMmRhZjBkYzg3MzZlIiwicmVsYXRpb25zaGlwVHlwZSI6IkNPTlRBSU5TIiwic3BkeEVsZW1lbnRJZCI6IlNQRFhSZWYtUGFja2FnZS1hcGstbGliY3J5cHRvMy0wY2ZjZGExYTI0MmRmZDEzIn0seyJyZWxhdGVkU3BkeEVsZW1lbnQiOiJTUERYUmVmLUZpbGUtZXRjLXNzbC1jdC1sb2ctbGlzdC5jbmYuZGlzdC00NzA2MjY3ZDNmZWZiY2E2IiwicmVsYXRpb25zaGlwVHlwZSI6IkNPTlRBSU5TIiwic3BkeEVsZW1lbnRJZCI6IlNQRFhSZWYtUGFja2FnZS1hcGstbGliY3J5cHRvMy0wY2ZjZGExYTI0MmRmZDEzIn0seyJyZWxhdGVkU3BkeEVsZW1lbnQiOiJTUERYUmVmLUZpbGUtdXNyLWxpYi1lbmdpbmVzLTMtbG9hZGVyLWF0dGljLnNvLTU5MmEyZjZhODcxMWVlYTgiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1saWJjcnlwdG8zLTBjZmNkYTFhMjQyZGZkMTMifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtUGFja2FnZS1hcGstc3NsLWNsaWVudC02YmJiMTBlNTJiOGU3ZWI0IiwicmVsYXRpb25zaGlwVHlwZSI6IkRFUEVOREVOQ1lfT0YiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1saWJjcnlwdG8zLTBjZmNkYTFhMjQyZGZkMTMifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtUGFja2FnZS1hcGstYXBrLXRvb2xzLTc4YzU1ZDY0YWIzNTA0NjIiLCJyZWxhdGlvbnNoaXBUeXBlIjoiREVQRU5ERU5DWV9PRiIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWxpYmNyeXB0bzMtMGNmY2RhMWEyNDJkZmQxMyJ9LHsicmVsYXRlZFNwZHhFbGVtZW50IjoiU1BEWFJlZi1GaWxlLWV0Yy1zc2wtY3QtbG9nLWxpc3QuY25mLTdjMDBiNGFiMTYyOWQzMDQiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1saWJjcnlwdG8zLTBjZmNkYTFhMjQyZGZkMTMifSx7ImNvbW1lbnQiOiJldmlkZW50LWJ5OiBpbmRpY2F0ZXMgdGhlIHBhY2thZ2UncyBleGlzdGVuY2UgaXMgZXZpZGVudCBieSB0aGUgZ2l2ZW4gZmlsZSIsInJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS1saWItYXBrLWRiLWluc3RhbGxlZC04MzYzYjRhNjc3MDQxNTUzIiwicmVsYXRpb25zaGlwVHlwZSI6Ik9USEVSIiwic3BkeEVsZW1lbnRJZCI6IlNQRFhSZWYtUGFja2FnZS1hcGstbGliY3J5cHRvMy0wY2ZjZGExYTI0MmRmZDEzIn0seyJyZWxhdGVkU3BkeEVsZW1lbnQiOiJTUERYUmVmLUZpbGUtZXRjLXNzbC1vcGVuc3NsLmNuZi5kaXN0LWEyZmNlY2QwYzc4NjBhZWEiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1saWJjcnlwdG8zLTBjZmNkYTFhMjQyZGZkMTMifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS11c3ItbGliLWVuZ2luZXMtMy1wYWRsb2NrLnNvLWNiMTJiZjI3ODdlMGI0ZDAiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1saWJjcnlwdG8zLTBjZmNkYTFhMjQyZGZkMTMifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS1saWItbGliY3J5cHRvLnNvLjMtZDdhYTMxZjA3NzE0YTI1ZiIsInJlbGF0aW9uc2hpcFR5cGUiOiJDT05UQUlOUyIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWxpYmNyeXB0bzMtMGNmY2RhMWEyNDJkZmQxMyJ9LHsicmVsYXRlZFNwZHhFbGVtZW50IjoiU1BEWFJlZi1GaWxlLWV0Yy1zc2wtb3BlbnNzbC5jbmYtZTJmZTM2MmJmOWZkNTM0MCIsInJlbGF0aW9uc2hpcFR5cGUiOiJDT05UQUlOUyIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWxpYmNyeXB0bzMtMGNmY2RhMWEyNDJkZmQxMyJ9LHsicmVsYXRlZFNwZHhFbGVtZW50IjoiU1BEWFJlZi1GaWxlLXVzci1saWItZW5naW5lcy0zLWNhcGkuc28tZWM5YjdjMWUxZDcxNTJiNiIsInJlbGF0aW9uc2hpcFR5cGUiOiJDT05UQUlOUyIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWxpYmNyeXB0bzMtMGNmY2RhMWEyNDJkZmQxMyJ9LHsicmVsYXRlZFNwZHhFbGVtZW50IjoiU1BEWFJlZi1GaWxlLXVzci1saWItb3NzbC1tb2R1bGVzLWxlZ2FjeS5zby1mZGEyYzQ2M2ZlMWQxMjc1IiwicmVsYXRpb25zaGlwVHlwZSI6IkNPTlRBSU5TIiwic3BkeEVsZW1lbnRJZCI6IlNQRFhSZWYtUGFja2FnZS1hcGstbGliY3J5cHRvMy0wY2ZjZGExYTI0MmRmZDEzIn0seyJyZWxhdGVkU3BkeEVsZW1lbnQiOiJTUERYUmVmLUZpbGUtLi4uYWxwaW5lLWRldmVsLWxpc3RzLmFscGluZWxpbnV4Lm9yZy01MjRkMjdiYi5yc2EucHViLTA1MDMzOWJlMTI5NmM1YTciLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1hbHBpbmUta2V5cy0wZTUxMDBlM2QyNjZhMTM1In0seyJyZWxhdGVkU3BkeEVsZW1lbnQiOiJTUERYUmVmLUZpbGUtLi4uYWxwaW5lLWRldmVsLWxpc3RzLmFscGluZWxpbnV4Lm9yZy02MGFjMjA5OS5yc2EucHViLTA1YzQ3Y2M4Y2RkNGY2NmUiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1hbHBpbmUta2V5cy0wZTUxMDBlM2QyNjZhMTM1In0seyJyZWxhdGVkU3BkeEVsZW1lbnQiOiJTUERYUmVmLUZpbGUtLi4uYWxwaW5lLWRldmVsLWxpc3RzLmFscGluZWxpbnV4Lm9yZy02MTZhYzNiYy5yc2EucHViLTIyZDM0ZDVmYmZhNjE3YWIiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1hbHBpbmUta2V5cy0wZTUxMDBlM2QyNjZhMTM1In0seyJyZWxhdGVkU3BkeEVsZW1lbnQiOiJTUERYUmVmLUZpbGUtLi4uYWxwaW5lLWRldmVsLWxpc3RzLmFscGluZWxpbnV4Lm9yZy01MjYxY2VjYi5yc2EucHViLTM4NDBjMDIwMDViNDE5YjIiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1hbHBpbmUta2V5cy0wZTUxMDBlM2QyNjZhMTM1In0seyJyZWxhdGVkU3BkeEVsZW1lbnQiOiJTUERYUmVmLUZpbGUtLi4uYWxwaW5lLWRldmVsLWxpc3RzLmFscGluZWxpbnV4Lm9yZy00YTZhMDg0MC5yc2EucHViLTQxMGEwYTEzMGE0MmVjZTgiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1hbHBpbmUta2V5cy0wZTUxMDBlM2QyNjZhMTM1In0seyJyZWxhdGVkU3BkeEVsZW1lbnQiOiJTUERYUmVmLUZpbGUtLi4uYWxwaW5lLWRldmVsLWxpc3RzLmFscGluZWxpbnV4Lm9yZy01ODE5OWRjYy5yc2EucHViLTQ0NGZiNDgxNWI5YzVmYTciLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1hbHBpbmUta2V5cy0wZTUxMDBlM2QyNjZhMTM1In0seyJyZWxhdGVkU3BkeEVsZW1lbnQiOiJTUERYUmVmLUZpbGUtLi4uYWxwaW5lLWRldmVsLWxpc3RzLmFscGluZWxpbnV4Lm9yZy02MTZhZTM1MC5yc2EucHViLTQ0ZmEyOTY2YzUxZjBjMWYiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1hbHBpbmUta2V5cy0wZTUxMDBlM2QyNjZhMTM1In0seyJyZWxhdGVkU3BkeEVsZW1lbnQiOiJTUERYUmVmLUZpbGUtLi4uYWxwaW5lLWRldmVsLWxpc3RzLmFscGluZWxpbnV4Lm9yZy02MTY1ZWU1OS5yc2EucHViLTU1NzY5MjliYzlkYjYxOTgiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1hbHBpbmUta2V5cy0wZTUxMDBlM2QyNjZhMTM1In0seyJyZWxhdGVkU3BkeEVsZW1lbnQiOiJTUERYUmVmLUZpbGUtLi4uYWxwaW5lLWRldmVsLWxpc3RzLmFscGluZWxpbnV4Lm9yZy01MjRkMjdiYi5yc2EucHViLTY3NDJiOTQ5ZmY4NTFiNDYiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1hbHBpbmUta2V5cy0wZTUxMDBlM2QyNjZhMTM1In0seyJyZWxhdGVkU3BkeEVsZW1lbnQiOiJTUERYUmVmLUZpbGUtLi4uYWxwaW5lLWRldmVsLWxpc3RzLmFscGluZWxpbnV4Lm9yZy02MTZhZTM1MC5yc2EucHViLTc2MjA3YWVhYWQ1Mjk3MjQiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1hbHBpbmUta2V5cy0wZTUxMDBlM2QyNjZhMTM1In0seyJyZWxhdGVkU3BkeEVsZW1lbnQiOiJTUERYUmVmLUZpbGUtLi4uYWxwaW5lLWRldmVsLWxpc3RzLmFscGluZWxpbnV4Lm9yZy01OGU0ZjE3ZC5yc2EucHViLTc5MzMxODg0MmZmZWVjOGMiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1hbHBpbmUta2V5cy0wZTUxMDBlM2QyNjZhMTM1In0seyJjb21tZW50IjoiZXZpZGVudC1ieTogaW5kaWNhdGVzIHRoZSBwYWNrYWdlJ3MgZXhpc3RlbmNlIGlzIGV2aWRlbnQgYnkgdGhlIGdpdmVuIGZpbGUiLCJyZWxhdGVkU3BkeEVsZW1lbnQiOiJTUERYUmVmLUZpbGUtbGliLWFway1kYi1pbnN0YWxsZWQtODM2M2I0YTY3NzA0MTU1MyIsInJlbGF0aW9uc2hpcFR5cGUiOiJPVEhFUiIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWFscGluZS1rZXlzLTBlNTEwMGUzZDI2NmExMzUifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS0uLi5hbHBpbmUtZGV2ZWwtbGlzdHMuYWxwaW5lbGludXgub3JnLTYxNmFiYzIzLnJzYS5wdWItODNmODgyNGE5ZThhNGRhZiIsInJlbGF0aW9uc2hpcFR5cGUiOiJDT05UQUlOUyIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWFscGluZS1rZXlzLTBlNTEwMGUzZDI2NmExMzUifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS0uLi5hbHBpbmUtZGV2ZWwtbGlzdHMuYWxwaW5lbGludXgub3JnLTYxNmFkZmViLnJzYS5wdWItOTUxZWI2NmNiNDU0OTUwOSIsInJlbGF0aW9uc2hpcFR5cGUiOiJDT05UQUlOUyIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWFscGluZS1rZXlzLTBlNTEwMGUzZDI2NmExMzUifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS0uLi5hbHBpbmUtZGV2ZWwtbGlzdHMuYWxwaW5lbGludXgub3JnLTYxNmRiMzBkLnJzYS5wdWItYjE0MjUxZDFmOGJjZmUxOCIsInJlbGF0aW9uc2hpcFR5cGUiOiJDT05UQUlOUyIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWFscGluZS1rZXlzLTBlNTEwMGUzZDI2NmExMzUifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS0uLi5hbHBpbmUtZGV2ZWwtbGlzdHMuYWxwaW5lbGludXgub3JnLTUyNDNlZjRiLnJzYS5wdWItYjViOGM5ZTE3NDUwZGIxYyIsInJlbGF0aW9uc2hpcFR5cGUiOiJDT05UQUlOUyIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWFscGluZS1rZXlzLTBlNTEwMGUzZDI2NmExMzUifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS0uLi5hbHBpbmUtZGV2ZWwtbGlzdHMuYWxwaW5lbGludXgub3JnLTYxNmE5NzI0LnJzYS5wdWItY2ZjMWQwMTdhNDhlZTllNyIsInJlbGF0aW9uc2hpcFR5cGUiOiJDT05UQUlOUyIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWFscGluZS1rZXlzLTBlNTEwMGUzZDI2NmExMzUifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS0uLi5hbHBpbmUtZGV2ZWwtbGlzdHMuYWxwaW5lbGludXgub3JnLTU4MTk5ZGNjLnJzYS5wdWItZGY0YjI4NGVhNTYwYmMyZiIsInJlbGF0aW9uc2hpcFR5cGUiOiJDT05UQUlOUyIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWFscGluZS1rZXlzLTBlNTEwMGUzZDI2NmExMzUifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS0uLi5hbHBpbmUtZGV2ZWwtbGlzdHMuYWxwaW5lbGludXgub3JnLTYxNmFkZmViLnJzYS5wdWItZWQ4M2NiMzQ2ZDI0MWJkZiIsInJlbGF0aW9uc2hpcFR5cGUiOiJDT05UQUlOUyIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWFscGluZS1rZXlzLTBlNTEwMGUzZDI2NmExMzUifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS0uLi5hbHBpbmUtZGV2ZWwtbGlzdHMuYWxwaW5lbGludXgub3JnLTVlNjljYTUwLnJzYS5wdWItZmIyYTkzYTI2M2ZjNzdkNSIsInJlbGF0aW9uc2hpcFR5cGUiOiJDT05UQUlOUyIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWFscGluZS1rZXlzLTBlNTEwMGUzZDI2NmExMzUifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS0uLi5hbHBpbmUtZGV2ZWwtbGlzdHMuYWxwaW5lbGludXgub3JnLTU4Y2JiNDc2LnJzYS5wdWItZmMzOGRiYjFjNTM0YTk4YiIsInJlbGF0aW9uc2hpcFR5cGUiOiJDT05UQUlOUyIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWFscGluZS1rZXlzLTBlNTEwMGUzZDI2NmExMzUifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS0uLi5hbHBpbmUtZGV2ZWwtbGlzdHMuYWxwaW5lbGludXgub3JnLTYxNjY2ZTNmLnJzYS5wdWItZmRjY2ZhNjcwZTEyM2QzZCIsInJlbGF0aW9uc2hpcFR5cGUiOiJDT05UQUlOUyIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWFscGluZS1rZXlzLTBlNTEwMGUzZDI2NmExMzUifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS0uLi5hbHBpbmUtZGV2ZWwtbGlzdHMuYWxwaW5lbGludXgub3JnLTYxNmE5NzI0LnJzYS5wdWItZmUwNzk3ZjNkNzUzZGUzNCIsInJlbGF0aW9uc2hpcFR5cGUiOiJDT05UQUlOUyIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWFscGluZS1rZXlzLTBlNTEwMGUzZDI2NmExMzUifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtUGFja2FnZS1hcGstc3NsLWNsaWVudC02YmJiMTBlNTJiOGU3ZWI0IiwicmVsYXRpb25zaGlwVHlwZSI6IkRFUEVOREVOQ1lfT0YiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1saWJzc2wzLTFiZmZiNTA3YjFiNTM1YmMifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtUGFja2FnZS1hcGstYXBrLXRvb2xzLTc4YzU1ZDY0YWIzNTA0NjIiLCJyZWxhdGlvbnNoaXBUeXBlIjoiREVQRU5ERU5DWV9PRiIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWxpYnNzbDMtMWJmZmI1MDdiMWI1MzViYyJ9LHsiY29tbWVudCI6ImV2aWRlbnQtYnk6IGluZGljYXRlcyB0aGUgcGFja2FnZSdzIGV4aXN0ZW5jZSBpcyBldmlkZW50IGJ5IHRoZSBnaXZlbiBmaWxlIiwicmVsYXRlZFNwZHhFbGVtZW50IjoiU1BEWFJlZi1GaWxlLWxpYi1hcGstZGItaW5zdGFsbGVkLTgzNjNiNGE2NzcwNDE1NTMiLCJyZWxhdGlvbnNoaXBUeXBlIjoiT1RIRVIiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1saWJzc2wzLTFiZmZiNTA3YjFiNTM1YmMifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS1saWItbGlic3NsLnNvLjMtOTQyZTFhNzM0MDRmNGMxMiIsInJlbGF0aW9uc2hpcFR5cGUiOiJDT05UQUlOUyIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWxpYnNzbDMtMWJmZmI1MDdiMWI1MzViYyJ9LHsicmVsYXRlZFNwZHhFbGVtZW50IjoiU1BEWFJlZi1QYWNrYWdlLWFway1hbHBpbmUtYmFzZWxheW91dC0yMWU1NGJlOWQ3Y2E3NjNjIiwicmVsYXRpb25zaGlwVHlwZSI6IkRFUEVOREVOQ1lfT0YiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1idXN5Ym94LWJpbnNoLTFmZDk1YjRkNDNhOWY0MzgifSx7ImNvbW1lbnQiOiJldmlkZW50LWJ5OiBpbmRpY2F0ZXMgdGhlIHBhY2thZ2UncyBleGlzdGVuY2UgaXMgZXZpZGVudCBieSB0aGUgZ2l2ZW4gZmlsZSIsInJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS1saWItYXBrLWRiLWluc3RhbGxlZC04MzYzYjRhNjc3MDQxNTUzIiwicmVsYXRpb25zaGlwVHlwZSI6Ik9USEVSIiwic3BkeEVsZW1lbnRJZCI6IlNQRFhSZWYtUGFja2FnZS1hcGstYnVzeWJveC1iaW5zaC0xZmQ5NWI0ZDQzYTlmNDM4In0seyJyZWxhdGVkU3BkeEVsZW1lbnQiOiJTUERYUmVmLUZpbGUtYmluLWJ1c3lib3gtOTA5YzVmNDBjYjAxY2IzOCIsInJlbGF0aW9uc2hpcFR5cGUiOiJDT05UQUlOUyIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWJ1c3lib3gtYmluc2gtMWZkOTViNGQ0M2E5ZjQzOCJ9LHsicmVsYXRlZFNwZHhFbGVtZW50IjoiU1BEWFJlZi1GaWxlLWV0Yy1jcm9udGFicy1yb290LTM1MWRhOTg4YWJhOGE1MjciLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1hbHBpbmUtYmFzZWxheW91dC0yMWU1NGJlOWQ3Y2E3NjNjIn0seyJyZWxhdGVkU3BkeEVsZW1lbnQiOiJTUERYUmVmLUZpbGUtZXRjLXByb2ZpbGUuZC1SRUFETUUtM2JlODdlN2YxNTRhZGI2MyIsInJlbGF0aW9uc2hpcFR5cGUiOiJDT05UQUlOUyIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWFscGluZS1iYXNlbGF5b3V0LTIxZTU0YmU5ZDdjYTc2M2MifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS1ldGMtcHJvZmlsZS5kLTIwbG9jYWxlLnNoLTQ3MzhjYjk1MmVhYmFiYmEiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1hbHBpbmUtYmFzZWxheW91dC0yMWU1NGJlOWQ3Y2E3NjNjIn0seyJyZWxhdGVkU3BkeEVsZW1lbnQiOiJTUERYUmVmLUZpbGUtZXRjLW1vZHByb2JlLmQta21zLmNvbmYtNzdmNjIwZDdhOTljZmZhOCIsInJlbGF0aW9uc2hpcFR5cGUiOiJDT05UQUlOUyIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWFscGluZS1iYXNlbGF5b3V0LTIxZTU0YmU5ZDdjYTc2M2MifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS1saWItc3lzY3RsLmQtMDAtYWxwaW5lLmNvbmYtODEyY2VlMTIxZTcyMTIzMSIsInJlbGF0aW9uc2hpcFR5cGUiOiJDT05UQUlOUyIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWFscGluZS1iYXNlbGF5b3V0LTIxZTU0YmU5ZDdjYTc2M2MifSx7ImNvbW1lbnQiOiJldmlkZW50LWJ5OiBpbmRpY2F0ZXMgdGhlIHBhY2thZ2UncyBleGlzdGVuY2UgaXMgZXZpZGVudCBieSB0aGUgZ2l2ZW4gZmlsZSIsInJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS1saWItYXBrLWRiLWluc3RhbGxlZC04MzYzYjRhNjc3MDQxNTUzIiwicmVsYXRpb25zaGlwVHlwZSI6Ik9USEVSIiwic3BkeEVsZW1lbnRJZCI6IlNQRFhSZWYtUGFja2FnZS1hcGstYWxwaW5lLWJhc2VsYXlvdXQtMjFlNTRiZTlkN2NhNzYzYyJ9LHsicmVsYXRlZFNwZHhFbGVtZW50IjoiU1BEWFJlZi1GaWxlLWV0Yy1tb2Rwcm9iZS5kLWFsaWFzZXMuY29uZi04YWM5YWI1OTQ0ZTBiNTM3IiwicmVsYXRpb25zaGlwVHlwZSI6IkNPTlRBSU5TIiwic3BkeEVsZW1lbnRJZCI6IlNQRFhSZWYtUGFja2FnZS1hcGstYWxwaW5lLWJhc2VsYXlvdXQtMjFlNTRiZTlkN2NhNzYzYyJ9LHsicmVsYXRlZFNwZHhFbGVtZW50IjoiU1BEWFJlZi1GaWxlLWV0Yy1tb3RkLTlhNTU5ODA1OTNiNzRhMDMiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1hbHBpbmUtYmFzZWxheW91dC0yMWU1NGJlOWQ3Y2E3NjNjIn0seyJyZWxhdGVkU3BkeEVsZW1lbnQiOiJTUERYUmVmLUZpbGUtZXRjLW1vZHByb2JlLmQtYmxhY2tsaXN0LmNvbmYtYWJmOWZjNDY1MTBmZjc3YyIsInJlbGF0aW9uc2hpcFR5cGUiOiJDT05UQUlOUyIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWFscGluZS1iYXNlbGF5b3V0LTIxZTU0YmU5ZDdjYTc2M2MifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS1ldGMtbW9kcHJvYmUuZC1pMzg2LmNvbmYtZTkwNTRhNTNjMjJlODhjZiIsInJlbGF0aW9uc2hpcFR5cGUiOiJDT05UQUlOUyIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWFscGluZS1iYXNlbGF5b3V0LTIxZTU0YmU5ZDdjYTc2M2MifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS1ldGMtcHJvZmlsZS5kLWNvbG9yLXByb21wdC5zaC5kaXNhYmxlZC1lZWI5MzA0OGFmNjNiZjY0IiwicmVsYXRpb25zaGlwVHlwZSI6IkNPTlRBSU5TIiwic3BkeEVsZW1lbnRJZCI6IlNQRFhSZWYtUGFja2FnZS1hcGstYWxwaW5lLWJhc2VsYXlvdXQtMjFlNTRiZTlkN2NhNzYzYyJ9LHsicmVsYXRlZFNwZHhFbGVtZW50IjoiU1BEWFJlZi1QYWNrYWdlLWFway1idXN5Ym94LWJpbnNoLTFmZDk1YjRkNDNhOWY0MzgiLCJyZWxhdGlvbnNoaXBUeXBlIjoiREVQRU5ERU5DWV9PRiIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWJ1c3lib3gtNGNlYTdjZTJlMjk3NGM5OSJ9LHsicmVsYXRlZFNwZHhFbGVtZW50IjoiU1BEWFJlZi1GaWxlLXVzci1zaGFyZS11ZGhjcGMtZGVmYXVsdC5zY3JpcHQtNGZjNzkxMzcwMDhkMjYzZiIsInJlbGF0aW9uc2hpcFR5cGUiOiJDT05UQUlOUyIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWJ1c3lib3gtNGNlYTdjZTJlMjk3NGM5OSJ9LHsicmVsYXRlZFNwZHhFbGVtZW50IjoiU1BEWFJlZi1GaWxlLWV0Yy1idXN5Ym94LXBhdGhzLmQtYnVzeWJveC02YTMyNmZkYmQyZTVhODZjIiwicmVsYXRpb25zaGlwVHlwZSI6IkNPTlRBSU5TIiwic3BkeEVsZW1lbnRJZCI6IlNQRFhSZWYtUGFja2FnZS1hcGstYnVzeWJveC00Y2VhN2NlMmUyOTc0Yzk5In0seyJjb21tZW50IjoiZXZpZGVudC1ieTogaW5kaWNhdGVzIHRoZSBwYWNrYWdlJ3MgZXhpc3RlbmNlIGlzIGV2aWRlbnQgYnkgdGhlIGdpdmVuIGZpbGUiLCJyZWxhdGVkU3BkeEVsZW1lbnQiOiJTUERYUmVmLUZpbGUtbGliLWFway1kYi1pbnN0YWxsZWQtODM2M2I0YTY3NzA0MTU1MyIsInJlbGF0aW9uc2hpcFR5cGUiOiJPVEhFUiIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWJ1c3lib3gtNGNlYTdjZTJlMjk3NGM5OSJ9LHsicmVsYXRlZFNwZHhFbGVtZW50IjoiU1BEWFJlZi1GaWxlLWJpbi1idXN5Ym94LTkwOWM1ZjQwY2IwMWNiMzgiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1idXN5Ym94LTRjZWE3Y2UyZTI5NzRjOTkifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS1ldGMtdWRoY3BjLXVkaGNwYy5jb25mLWE4ZjM0YTkwODI5ZmIwYzgiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1idXN5Ym94LTRjZWE3Y2UyZTI5NzRjOTkifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS1ldGMtbmV0d29yay1pZi11cC5kLWRhZC1lMTdmNmNkNzFjNDgwYjExIiwicmVsYXRpb25zaGlwVHlwZSI6IkNPTlRBSU5TIiwic3BkeEVsZW1lbnRJZCI6IlNQRFhSZWYtUGFja2FnZS1hcGstYnVzeWJveC00Y2VhN2NlMmUyOTc0Yzk5In0seyJyZWxhdGVkU3BkeEVsZW1lbnQiOiJTUERYUmVmLUZpbGUtZXRjLWxvZ3JvdGF0ZS5kLWFjcGlkLWU0NzMzMTQ0M2MzZjJmZGMiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1idXN5Ym94LTRjZWE3Y2UyZTI5NzRjOTkifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS1ldGMtc2VjdXJldHR5LWY1ODI2ZmYxNmQ2ZWFlYmIiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1idXN5Ym94LTRjZWE3Y2UyZTI5NzRjOTkifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS11c3ItYmluLXNjYW5lbGYtNDJlNjU5N2Y5ZmE0NTE4YSIsInJlbGF0aW9uc2hpcFR5cGUiOiJDT05UQUlOUyIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLXNjYW5lbGYtNTRmMzYyM2ZkZDhmYjhkNCJ9LHsiY29tbWVudCI6ImV2aWRlbnQtYnk6IGluZGljYXRlcyB0aGUgcGFja2FnZSdzIGV4aXN0ZW5jZSBpcyBldmlkZW50IGJ5IHRoZSBnaXZlbiBmaWxlIiwicmVsYXRlZFNwZHhFbGVtZW50IjoiU1BEWFJlZi1GaWxlLWxpYi1hcGstZGItaW5zdGFsbGVkLTgzNjNiNGE2NzcwNDE1NTMiLCJyZWxhdGlvbnNoaXBUeXBlIjoiT1RIRVIiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1zY2FuZWxmLTU0ZjM2MjNmZGQ4ZmI4ZDQifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtUGFja2FnZS1hcGstbXVzbC11dGlscy1jODRhZTA4YjU5ZGY1YzZlIiwicmVsYXRpb25zaGlwVHlwZSI6IkRFUEVOREVOQ1lfT0YiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1zY2FuZWxmLTU0ZjM2MjNmZGQ4ZmI4ZDQifSx7ImNvbW1lbnQiOiJldmlkZW50LWJ5OiBpbmRpY2F0ZXMgdGhlIHBhY2thZ2UncyBleGlzdGVuY2UgaXMgZXZpZGVudCBieSB0aGUgZ2l2ZW4gZmlsZSIsInJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS1saWItYXBrLWRiLWluc3RhbGxlZC04MzYzYjRhNjc3MDQxNTUzIiwicmVsYXRpb25zaGlwVHlwZSI6Ik9USEVSIiwic3BkeEVsZW1lbnRJZCI6IlNQRFhSZWYtUGFja2FnZS1hcGstc3NsLWNsaWVudC02YmJiMTBlNTJiOGU3ZWI0In0seyJyZWxhdGVkU3BkeEVsZW1lbnQiOiJTUERYUmVmLUZpbGUtdXNyLWJpbi1zc2wtY2xpZW50LTkwZTFkYTU4MjM4YjUwMDMiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1zc2wtY2xpZW50LTZiYmIxMGU1MmI4ZTdlYjQifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS1zYmluLWFway0wM2EzMDNjMmY0MDhhZDc1IiwicmVsYXRpb25zaGlwVHlwZSI6IkNPTlRBSU5TIiwic3BkeEVsZW1lbnRJZCI6IlNQRFhSZWYtUGFja2FnZS1hcGstYXBrLXRvb2xzLTc4YzU1ZDY0YWIzNTA0NjIifSx7ImNvbW1lbnQiOiJldmlkZW50LWJ5OiBpbmRpY2F0ZXMgdGhlIHBhY2thZ2UncyBleGlzdGVuY2UgaXMgZXZpZGVudCBieSB0aGUgZ2l2ZW4gZmlsZSIsInJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS1saWItYXBrLWRiLWluc3RhbGxlZC04MzYzYjRhNjc3MDQxNTUzIiwicmVsYXRpb25zaGlwVHlwZSI6Ik9USEVSIiwic3BkeEVsZW1lbnRJZCI6IlNQRFhSZWYtUGFja2FnZS1hcGstYXBrLXRvb2xzLTc4YzU1ZDY0YWIzNTA0NjIifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS1saWItbGliYXBrLnNvLjIuMTQuMC04NTM4MmFiYzMyMTNkZjBjIiwicmVsYXRpb25zaGlwVHlwZSI6IkNPTlRBSU5TIiwic3BkeEVsZW1lbnRJZCI6IlNQRFhSZWYtUGFja2FnZS1hcGstYXBrLXRvb2xzLTc4YzU1ZDY0YWIzNTA0NjIifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS1ldGMtaG9zdHMtMDk3ZDYwNDg1ZWYxYTU2NSIsInJlbGF0aW9uc2hpcFR5cGUiOiJDT05UQUlOUyIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWFscGluZS1iYXNlbGF5b3V0LWRhdGEtOWZmOTZmOTQyZDI0MDFmMiJ9LHsicmVsYXRlZFNwZHhFbGVtZW50IjoiU1BEWFJlZi1GaWxlLWV0Yy1mc3RhYi0wYzVjMzQ3Mzg3NWE1Yjg1IiwicmVsYXRpb25zaGlwVHlwZSI6IkNPTlRBSU5TIiwic3BkeEVsZW1lbnRJZCI6IlNQRFhSZWYtUGFja2FnZS1hcGstYWxwaW5lLWJhc2VsYXlvdXQtZGF0YS05ZmY5NmY5NDJkMjQwMWYyIn0seyJyZWxhdGVkU3BkeEVsZW1lbnQiOiJTUERYUmVmLUZpbGUtZXRjLWhvc3RuYW1lLTE4ZjQxNDNmYTI0YTUzMDkiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1hbHBpbmUtYmFzZWxheW91dC1kYXRhLTlmZjk2Zjk0MmQyNDAxZjIifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtUGFja2FnZS1hcGstYWxwaW5lLWJhc2VsYXlvdXQtMjFlNTRiZTlkN2NhNzYzYyIsInJlbGF0aW9uc2hpcFR5cGUiOiJERVBFTkRFTkNZX09GIiwic3BkeEVsZW1lbnRJZCI6IlNQRFhSZWYtUGFja2FnZS1hcGstYWxwaW5lLWJhc2VsYXlvdXQtZGF0YS05ZmY5NmY5NDJkMjQwMWYyIn0seyJyZWxhdGVkU3BkeEVsZW1lbnQiOiJTUERYUmVmLUZpbGUtZXRjLW5zc3dpdGNoLmNvbmYtMjZhZGI4ZmVmZmU0MTI5YiIsInJlbGF0aW9uc2hpcFR5cGUiOiJDT05UQUlOUyIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWFscGluZS1iYXNlbGF5b3V0LWRhdGEtOWZmOTZmOTQyZDI0MDFmMiJ9LHsicmVsYXRlZFNwZHhFbGVtZW50IjoiU1BEWFJlZi1GaWxlLWV0Yy1pbml0dGFiLTI3MzI4NWE0NTk0NDMwMDEiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1hbHBpbmUtYmFzZWxheW91dC1kYXRhLTlmZjk2Zjk0MmQyNDAxZjIifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS1ldGMtc2hlbGxzLTJkYzczYmE0MTdiZWJiNzUiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1hbHBpbmUtYmFzZWxheW91dC1kYXRhLTlmZjk2Zjk0MmQyNDAxZjIifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS1ldGMtc3lzY3RsLmNvbmYtMmVlZGU2ODJmMWQyZDU3ZSIsInJlbGF0aW9uc2hpcFR5cGUiOiJDT05UQUlOUyIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWFscGluZS1iYXNlbGF5b3V0LWRhdGEtOWZmOTZmOTQyZDI0MDFmMiJ9LHsicmVsYXRlZFNwZHhFbGVtZW50IjoiU1BEWFJlZi1GaWxlLWV0Yy1wcm90b2NvbHMtNWYxZDhkMTQ4MmQ5NzNiNiIsInJlbGF0aW9uc2hpcFR5cGUiOiJDT05UQUlOUyIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWFscGluZS1iYXNlbGF5b3V0LWRhdGEtOWZmOTZmOTQyZDI0MDFmMiJ9LHsicmVsYXRlZFNwZHhFbGVtZW50IjoiU1BEWFJlZi1GaWxlLWV0Yy1wcm9maWxlLTZkZmRiOTUxOGU2YjYzZWYiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1hbHBpbmUtYmFzZWxheW91dC1kYXRhLTlmZjk2Zjk0MmQyNDAxZjIifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS1ldGMtcGFzc3dkLTdhY2NmZmE4OTIzZDM1ZTkiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1hbHBpbmUtYmFzZWxheW91dC1kYXRhLTlmZjk2Zjk0MmQyNDAxZjIifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS1ldGMtc2VydmljZXMtODEyYjNmMWEyZDU4M2YyOSIsInJlbGF0aW9uc2hpcFR5cGUiOiJDT05UQUlOUyIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWFscGluZS1iYXNlbGF5b3V0LWRhdGEtOWZmOTZmOTQyZDI0MDFmMiJ9LHsiY29tbWVudCI6ImV2aWRlbnQtYnk6IGluZGljYXRlcyB0aGUgcGFja2FnZSdzIGV4aXN0ZW5jZSBpcyBldmlkZW50IGJ5IHRoZSBnaXZlbiBmaWxlIiwicmVsYXRlZFNwZHhFbGVtZW50IjoiU1BEWFJlZi1GaWxlLWxpYi1hcGstZGItaW5zdGFsbGVkLTgzNjNiNGE2NzcwNDE1NTMiLCJyZWxhdGlvbnNoaXBUeXBlIjoiT1RIRVIiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1hbHBpbmUtYmFzZWxheW91dC1kYXRhLTlmZjk2Zjk0MmQyNDAxZjIifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS1ldGMtc2hhZG93LWExZDY0YzcyZDA2MWNkOTIiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1hbHBpbmUtYmFzZWxheW91dC1kYXRhLTlmZjk2Zjk0MmQyNDAxZjIifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS1ldGMtZ3JvdXAtY2M0OTBiYWJjN2JhNjk4NCIsInJlbGF0aW9uc2hpcFR5cGUiOiJDT05UQUlOUyIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWFscGluZS1iYXNlbGF5b3V0LWRhdGEtOWZmOTZmOTQyZDI0MDFmMiJ9LHsicmVsYXRlZFNwZHhFbGVtZW50IjoiU1BEWFJlZi1GaWxlLWV0Yy1tb2R1bGVzLWY5ZTA1MGI4MmJlMWFkNzUiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1hbHBpbmUtYmFzZWxheW91dC1kYXRhLTlmZjk2Zjk0MmQyNDAxZjIifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtUGFja2FnZS1hcGstYXBrLXRvb2xzLTc4YzU1ZDY0YWIzNTA0NjIiLCJyZWxhdGlvbnNoaXBUeXBlIjoiREVQRU5ERU5DWV9PRiIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWNhLWNlcnRpZmljYXRlcy1idW5kbGUtYmY0MjQ0MGRkMGI2MTcyNyJ9LHsiY29tbWVudCI6ImV2aWRlbnQtYnk6IGluZGljYXRlcyB0aGUgcGFja2FnZSdzIGV4aXN0ZW5jZSBpcyBldmlkZW50IGJ5IHRoZSBnaXZlbiBmaWxlIiwicmVsYXRlZFNwZHhFbGVtZW50IjoiU1BEWFJlZi1GaWxlLWxpYi1hcGstZGItaW5zdGFsbGVkLTgzNjNiNGE2NzcwNDE1NTMiLCJyZWxhdGlvbnNoaXBUeXBlIjoiT1RIRVIiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1jYS1jZXJ0aWZpY2F0ZXMtYnVuZGxlLWJmNDI0NDBkZDBiNjE3MjcifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS1ldGMtc3NsLWNlcnRzLWNhLWNlcnRpZmljYXRlcy5jcnQtYzdlYzk2ZTNmOWQyMmU1ZSIsInJlbGF0aW9uc2hpcFR5cGUiOiJDT05UQUlOUyIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWNhLWNlcnRpZmljYXRlcy1idW5kbGUtYmY0MjQ0MGRkMGI2MTcyNyJ9LHsicmVsYXRlZFNwZHhFbGVtZW50IjoiU1BEWFJlZi1GaWxlLXVzci1iaW4tbGRkLTBmOGFjZjgyYmJiNjE2YTIiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1tdXNsLXV0aWxzLWM4NGFlMDhiNTlkZjVjNmUifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS1zYmluLWxkY29uZmlnLTZkZDAwMzQ1ZmQyNWRmYmUiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1tdXNsLXV0aWxzLWM4NGFlMDhiNTlkZjVjNmUifSx7ImNvbW1lbnQiOiJldmlkZW50LWJ5OiBpbmRpY2F0ZXMgdGhlIHBhY2thZ2UncyBleGlzdGVuY2UgaXMgZXZpZGVudCBieSB0aGUgZ2l2ZW4gZmlsZSIsInJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS1saWItYXBrLWRiLWluc3RhbGxlZC04MzYzYjRhNjc3MDQxNTUzIiwicmVsYXRpb25zaGlwVHlwZSI6Ik9USEVSIiwic3BkeEVsZW1lbnRJZCI6IlNQRFhSZWYtUGFja2FnZS1hcGstbXVzbC11dGlscy1jODRhZTA4YjU5ZGY1YzZlIn0seyJyZWxhdGVkU3BkeEVsZW1lbnQiOiJTUERYUmVmLUZpbGUtdXNyLWJpbi1nZXRjb25mLWFhNTY5YTBiNDkyZGJjM2UiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1tdXNsLXV0aWxzLWM4NGFlMDhiNTlkZjVjNmUifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS11c3ItYmluLWljb252LWI0ZjMxN2EwYzNhZTQxMjYiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway1tdXNsLXV0aWxzLWM4NGFlMDhiNTlkZjVjNmUifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS11c3ItYmluLWdldGVudC1kZmMxZDViNjhlYTQ2NjA5IiwicmVsYXRpb25zaGlwVHlwZSI6IkNPTlRBSU5TIiwic3BkeEVsZW1lbnRJZCI6IlNQRFhSZWYtUGFja2FnZS1hcGstbXVzbC11dGlscy1jODRhZTA4YjU5ZGY1YzZlIn0seyJyZWxhdGVkU3BkeEVsZW1lbnQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWFway10b29scy03OGM1NWQ2NGFiMzUwNDYyIiwicmVsYXRpb25zaGlwVHlwZSI6IkRFUEVOREVOQ1lfT0YiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1QYWNrYWdlLWFway16bGliLWQ4MjU4ZDNkN2M0OGNmYmYifSx7ImNvbW1lbnQiOiJldmlkZW50LWJ5OiBpbmRpY2F0ZXMgdGhlIHBhY2thZ2UncyBleGlzdGVuY2UgaXMgZXZpZGVudCBieSB0aGUgZ2l2ZW4gZmlsZSIsInJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtRmlsZS1saWItYXBrLWRiLWluc3RhbGxlZC04MzYzYjRhNjc3MDQxNTUzIiwicmVsYXRpb25zaGlwVHlwZSI6Ik9USEVSIiwic3BkeEVsZW1lbnRJZCI6IlNQRFhSZWYtUGFja2FnZS1hcGstemxpYi1kODI1OGQzZDdjNDhjZmJmIn0seyJyZWxhdGVkU3BkeEVsZW1lbnQiOiJTUERYUmVmLUZpbGUtbGliLWxpYnouc28uMS4zLjEtY2ZlYmY4YjVkYzFmNjM3NCIsInJlbGF0aW9uc2hpcFR5cGUiOiJDT05UQUlOUyIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLXpsaWItZDgyNThkM2Q3YzQ4Y2ZiZiJ9LHsicmVsYXRlZFNwZHhFbGVtZW50IjoiU1BEWFJlZi1QYWNrYWdlLWFway1hbHBpbmUtYmFzZWxheW91dC0yMWU1NGJlOWQ3Y2E3NjNjIiwicmVsYXRpb25zaGlwVHlwZSI6IkNPTlRBSU5TIiwic3BkeEVsZW1lbnRJZCI6IlNQRFhSZWYtRG9jdW1lbnRSb290LUltYWdlLWFscGluZSJ9LHsicmVsYXRlZFNwZHhFbGVtZW50IjoiU1BEWFJlZi1QYWNrYWdlLWFway1hbHBpbmUtYmFzZWxheW91dC1kYXRhLTlmZjk2Zjk0MmQyNDAxZjIiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1Eb2N1bWVudFJvb3QtSW1hZ2UtYWxwaW5lIn0seyJyZWxhdGVkU3BkeEVsZW1lbnQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWFscGluZS1rZXlzLTBlNTEwMGUzZDI2NmExMzUiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1Eb2N1bWVudFJvb3QtSW1hZ2UtYWxwaW5lIn0seyJyZWxhdGVkU3BkeEVsZW1lbnQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWFway10b29scy03OGM1NWQ2NGFiMzUwNDYyIiwicmVsYXRpb25zaGlwVHlwZSI6IkNPTlRBSU5TIiwic3BkeEVsZW1lbnRJZCI6IlNQRFhSZWYtRG9jdW1lbnRSb290LUltYWdlLWFscGluZSJ9LHsicmVsYXRlZFNwZHhFbGVtZW50IjoiU1BEWFJlZi1QYWNrYWdlLWFway1idXN5Ym94LTRjZWE3Y2UyZTI5NzRjOTkiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1Eb2N1bWVudFJvb3QtSW1hZ2UtYWxwaW5lIn0seyJyZWxhdGVkU3BkeEVsZW1lbnQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWJ1c3lib3gtYmluc2gtMWZkOTViNGQ0M2E5ZjQzOCIsInJlbGF0aW9uc2hpcFR5cGUiOiJDT05UQUlOUyIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLURvY3VtZW50Um9vdC1JbWFnZS1hbHBpbmUifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtUGFja2FnZS1hcGstY2EtY2VydGlmaWNhdGVzLWJ1bmRsZS1iZjQyNDQwZGQwYjYxNzI3IiwicmVsYXRpb25zaGlwVHlwZSI6IkNPTlRBSU5TIiwic3BkeEVsZW1lbnRJZCI6IlNQRFhSZWYtRG9jdW1lbnRSb290LUltYWdlLWFscGluZSJ9LHsicmVsYXRlZFNwZHhFbGVtZW50IjoiU1BEWFJlZi1QYWNrYWdlLWFway1saWJjcnlwdG8zLTBjZmNkYTFhMjQyZGZkMTMiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1Eb2N1bWVudFJvb3QtSW1hZ2UtYWxwaW5lIn0seyJyZWxhdGVkU3BkeEVsZW1lbnQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLWxpYnNzbDMtMWJmZmI1MDdiMWI1MzViYyIsInJlbGF0aW9uc2hpcFR5cGUiOiJDT05UQUlOUyIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLURvY3VtZW50Um9vdC1JbWFnZS1hbHBpbmUifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtUGFja2FnZS1hcGstbXVzbC0wM2U1MjEyMzdjYmVkNDVhIiwicmVsYXRpb25zaGlwVHlwZSI6IkNPTlRBSU5TIiwic3BkeEVsZW1lbnRJZCI6IlNQRFhSZWYtRG9jdW1lbnRSb290LUltYWdlLWFscGluZSJ9LHsicmVsYXRlZFNwZHhFbGVtZW50IjoiU1BEWFJlZi1QYWNrYWdlLWFway1tdXNsLXV0aWxzLWM4NGFlMDhiNTlkZjVjNmUiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1Eb2N1bWVudFJvb3QtSW1hZ2UtYWxwaW5lIn0seyJyZWxhdGVkU3BkeEVsZW1lbnQiOiJTUERYUmVmLVBhY2thZ2UtYXBrLXNjYW5lbGYtNTRmMzYyM2ZkZDhmYjhkNCIsInJlbGF0aW9uc2hpcFR5cGUiOiJDT05UQUlOUyIsInNwZHhFbGVtZW50SWQiOiJTUERYUmVmLURvY3VtZW50Um9vdC1JbWFnZS1hbHBpbmUifSx7InJlbGF0ZWRTcGR4RWxlbWVudCI6IlNQRFhSZWYtUGFja2FnZS1hcGstc3NsLWNsaWVudC02YmJiMTBlNTJiOGU3ZWI0IiwicmVsYXRpb25zaGlwVHlwZSI6IkNPTlRBSU5TIiwic3BkeEVsZW1lbnRJZCI6IlNQRFhSZWYtRG9jdW1lbnRSb290LUltYWdlLWFscGluZSJ9LHsicmVsYXRlZFNwZHhFbGVtZW50IjoiU1BEWFJlZi1QYWNrYWdlLWFway16bGliLWQ4MjU4ZDNkN2M0OGNmYmYiLCJyZWxhdGlvbnNoaXBUeXBlIjoiQ09OVEFJTlMiLCJzcGR4RWxlbWVudElkIjoiU1BEWFJlZi1Eb2N1bWVudFJvb3QtSW1hZ2UtYWxwaW5lIn0seyJyZWxhdGVkU3BkeEVsZW1lbnQiOiJTUERYUmVmLURvY3VtZW50Um9vdC1JbWFnZS1hbHBpbmUiLCJyZWxhdGlvbnNoaXBUeXBlIjoiREVTQ1JJQkVTIiwic3BkeEVsZW1lbnRJZCI6IlNQRFhSZWYtRE9DVU1FTlQifV0sInNwZHhWZXJzaW9uIjoiU1BEWC0yLjMifSwic3RhcnR0aW1lIjoiMjAyNC0wNi0xM1QxMzoyNzoyNi41OTczNTUtMDU6MDAiLCJlbmR0aW1lIjoiMjAyNC0wNi0xM1QxMzoyNzoyNi41OTg3NjktMDU6MDAifV19fQ==","payloadType":"application/vnd.in-toto+json","signatures":[{"keyid":"ae2dcc989ea9c109a36e8eba5c4bc16d8fafcfe8e1a614164670d50aedacd647","sig":"RIQOqwpkQcN4HuovLss1NPMDTbHaM+3edVyfNOwxCyZXicjOWFlXOlO4iZ+ZUpLjqmsABVhdaOL0VVwRemr+BA=="}]} diff --git a/test/test.sh b/test/test.sh index 2dd8650d..a7aa5523 100755 --- a/test/test.sh +++ b/test/test.sh @@ -56,3 +56,6 @@ if ../bin/witness -c $test_config verify -a ./fail.attestation.json -a ./package echo "expected verify to fail" exit 1 fi + +# test policy with multi-type attestor (ie. SBOM) +../bin/witness verify -p sbom-policy-signed.json -a spdx-att.json -k testpub.pem -f sbom.spdx.json --log-level debug From 55d15abd60a85a8ce3a902cebd0c2eff365eee72 Mon Sep 17 00:00:00 2001 From: John Kjell Date: Thu, 13 Jun 2024 15:16:01 -0500 Subject: [PATCH 5/5] Update to go-witness v0.5.1 Signed-off-by: John Kjell --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 7a613cac..b3841378 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.22.0 toolchain go1.22.2 require ( - github.com/in-toto/go-witness v0.5.0 + github.com/in-toto/go-witness v0.5.1 github.com/invopop/jsonschema v0.12.0 github.com/olekukonko/tablewriter v0.0.5 github.com/sigstore/fulcio v1.4.5 diff --git a/go.sum b/go.sum index 8d743ea3..73c1d54d 100644 --- a/go.sum +++ b/go.sum @@ -218,8 +218,8 @@ github.com/in-toto/archivista v0.5.1 h1:mAPt1lW9VAMnEGiS38OGvej4t2AZ4Irfh8+y5koq github.com/in-toto/archivista v0.5.1/go.mod h1:wzOSEgvDdV27CZUWm6H72sQ+vzAWjQLX1qhBJIJUSYI= github.com/in-toto/attestation v1.0.2 h1:ICqV41bfaDC3ixVUzAtFxFu+Dy56EPcjiIrJQe+4LVM= github.com/in-toto/attestation v1.0.2/go.mod h1:3uRayZSKuCHDDZOxLm5UfYulqqd1L1NdzYvxX/jyZEM= -github.com/in-toto/go-witness v0.5.0 h1:ViES51SWrgOByFdZTny+ZRFPClJcFQ8WId/YlxdPG7Q= -github.com/in-toto/go-witness v0.5.0/go.mod h1:RN10WG5hFnK9OSHFlQD4mql54uCrtWdZ08/bl1vPuMI= +github.com/in-toto/go-witness v0.5.1 h1:lrnFttDWEZqHxSfupcDGWTxSw8Uk/pNtVM1Wr3St0fo= +github.com/in-toto/go-witness v0.5.1/go.mod h1:RN10WG5hFnK9OSHFlQD4mql54uCrtWdZ08/bl1vPuMI= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/invopop/jsonschema v0.12.0 h1:6ovsNSuvn9wEQVOyc72aycBMVQFKz7cPdMJn10CvzRI=