From 85afda6f524bbdb101b897cbe77333fba80df018 Mon Sep 17 00:00:00 2001 From: Rodrigo Campos Date: Tue, 11 Apr 2023 17:31:02 +0200 Subject: [PATCH 1/2] cri: Vendor v0.27.0-beta.0 for mounts uid/gid mappings We will use this in future commits to see if the kubelet requested idmap mounts for volumes, that we don't yet support. Signed-off-by: Rodrigo Campos --- go.mod | 10 +- go.sum | 19 +- integration/client/go.mod | 6 +- integration/client/go.sum | 12 +- .../golang/protobuf/jsonpb/decode.go | 8 +- .../x/text/unicode/norm/forminfo.go | 2 +- .../cri-api/pkg/apis/runtime/v1/api.pb.go | 1405 +++++++++++------ .../cri-api/pkg/apis/runtime/v1/api.proto | 48 +- vendor/modules.txt | 12 +- 9 files changed, 978 insertions(+), 544 deletions(-) diff --git a/go.mod b/go.mod index b2587e3ff..05f24c8d1 100644 --- a/go.mod +++ b/go.mod @@ -76,7 +76,7 @@ require ( k8s.io/apiserver v0.26.2 k8s.io/client-go v0.26.2 k8s.io/component-base v0.26.2 - k8s.io/cri-api v0.26.2 + k8s.io/cri-api v0.27.0-beta.0 k8s.io/klog/v2 v2.90.1 k8s.io/utils v0.0.0-20230220204549-a5ecb0141aa5 ) @@ -97,7 +97,7 @@ require ( github.com/godbus/dbus/v5 v5.1.0 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/protobuf v1.5.2 // indirect + github.com/golang/protobuf v1.5.3 // indirect github.com/google/gofuzz v1.2.0 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect @@ -126,10 +126,10 @@ require ( go.opentelemetry.io/proto/otlp v0.19.0 // indirect golang.org/x/crypto v0.1.0 // indirect golang.org/x/mod v0.8.0 // indirect - golang.org/x/net v0.7.0 // indirect + golang.org/x/net v0.8.0 // indirect golang.org/x/oauth2 v0.4.0 // indirect - golang.org/x/term v0.5.0 // indirect - golang.org/x/text v0.7.0 // indirect + golang.org/x/term v0.6.0 // indirect + golang.org/x/text v0.8.0 // indirect golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 // indirect golang.org/x/tools v0.6.0 // indirect google.golang.org/appengine v1.6.7 // indirect diff --git a/go.sum b/go.sum index 89c6fcb11..a665a017f 100644 --- a/go.sum +++ b/go.sum @@ -498,8 +498,9 @@ github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= @@ -1175,8 +1176,8 @@ golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g= -golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ= +golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1317,8 +1318,8 @@ golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9sn golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.5.0 h1:n2a8QNdAb0sZNpU9R1ALUXBbY+w51fCQDN+7EdxNBsY= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.6.0 h1:clScbb1cHjoCkyRbWwBEUZ5H/tIFu5TAXIqaZD0Gcjw= +golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1328,8 +1329,8 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68= +golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1626,8 +1627,8 @@ k8s.io/cri-api v0.20.1/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= k8s.io/cri-api v0.20.4/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= k8s.io/cri-api v0.20.6/go.mod h1:ew44AjNXwyn1s0U4xCKGodU7J1HzBeZ1MpGrpa5r8Yc= k8s.io/cri-api v0.23.1/go.mod h1:REJE3PSU0h/LOV1APBrupxrEJqnoxZC8KWzkBUHwrK4= -k8s.io/cri-api v0.26.2 h1:Vifw8T4ZFzU5pQ5dj5rdDsPOSzmLAvhVcYEJpbjOYLY= -k8s.io/cri-api v0.26.2/go.mod h1:Oo8O7MKFPNDxfDf2LmrF/3Hf30q1C6iliGuv3la3tIA= +k8s.io/cri-api v0.27.0-beta.0 h1:CnjmzwpQ8bHWh42LE7uQu2+nD47RZBEFeRlXfcdXpc0= +k8s.io/cri-api v0.27.0-beta.0/go.mod h1:+Ts/AVYbIo04S86XbTD73UPp/DkTiYxtsFeOFEu32L0= k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/gengo v0.0.0-20200428234225-8167cfdcfc14/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/gengo v0.0.0-20201113003025-83324d819ded/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= diff --git a/integration/client/go.mod b/integration/client/go.mod index db78ee998..8aa74e60c 100644 --- a/integration/client/go.mod +++ b/integration/client/go.mod @@ -39,7 +39,7 @@ require ( github.com/godbus/dbus/v5 v5.1.0 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/protobuf v1.5.2 // indirect + github.com/golang/protobuf v1.5.3 // indirect github.com/google/go-cmp v0.5.9 // indirect github.com/google/uuid v1.3.0 // indirect github.com/imdario/mergo v0.3.13 // indirect @@ -56,9 +56,9 @@ require ( go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/otel/trace v1.14.0 // indirect golang.org/x/mod v0.8.0 // indirect - golang.org/x/net v0.7.0 // indirect + golang.org/x/net v0.8.0 // indirect golang.org/x/sync v0.1.0 // indirect - golang.org/x/text v0.7.0 // indirect + golang.org/x/text v0.8.0 // indirect golang.org/x/tools v0.6.0 // indirect google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4 // indirect google.golang.org/grpc v1.53.0 // indirect diff --git a/integration/client/go.sum b/integration/client/go.sum index 38c5dbd5c..d177a112b 100644 --- a/integration/client/go.sum +++ b/integration/client/go.sum @@ -887,8 +887,9 @@ github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/gomodule/redigo v1.8.2/go.mod h1:P9dn9mFrCBvWhGE1wpxx6fgq7BAeLBk+UUUzlpkBYO0= @@ -1597,8 +1598,9 @@ golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ= +golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1779,6 +1781,7 @@ golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= 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/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1792,8 +1795,9 @@ golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68= +golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -2204,7 +2208,7 @@ k8s.io/code-generator v0.19.7/go.mod h1:lwEq3YnLYb/7uVXLorOJfxg+cUu2oihFhHZ0n9NI k8s.io/component-base v0.26.2/go.mod h1:DxbuIe9M3IZPRxPIzhch2m1eT7uFrSBJUBuVCQEBivs= k8s.io/cri-api v0.20.1/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= k8s.io/cri-api v0.25.3/go.mod h1:riC/P0yOGUf2K1735wW+CXs1aY2ctBgePtnnoFLd0dU= -k8s.io/cri-api v0.26.2/go.mod h1:Oo8O7MKFPNDxfDf2LmrF/3Hf30q1C6iliGuv3la3tIA= +k8s.io/cri-api v0.27.0-beta.0/go.mod h1:+Ts/AVYbIo04S86XbTD73UPp/DkTiYxtsFeOFEu32L0= k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/gengo v0.0.0-20200428234225-8167cfdcfc14/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/gengo v0.0.0-20201113003025-83324d819ded/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= diff --git a/vendor/github.com/golang/protobuf/jsonpb/decode.go b/vendor/github.com/golang/protobuf/jsonpb/decode.go index 60e82caa9..6c16c255f 100644 --- a/vendor/github.com/golang/protobuf/jsonpb/decode.go +++ b/vendor/github.com/golang/protobuf/jsonpb/decode.go @@ -386,8 +386,14 @@ func (u *Unmarshaler) unmarshalMessage(m protoreflect.Message, in []byte) error } func isSingularWellKnownValue(fd protoreflect.FieldDescriptor) bool { + if fd.Cardinality() == protoreflect.Repeated { + return false + } if md := fd.Message(); md != nil { - return md.FullName() == "google.protobuf.Value" && fd.Cardinality() != protoreflect.Repeated + return md.FullName() == "google.protobuf.Value" + } + if ed := fd.Enum(); ed != nil { + return ed.FullName() == "google.protobuf.NullValue" } return false } diff --git a/vendor/golang.org/x/text/unicode/norm/forminfo.go b/vendor/golang.org/x/text/unicode/norm/forminfo.go index d69ccb4f9..487335d14 100644 --- a/vendor/golang.org/x/text/unicode/norm/forminfo.go +++ b/vendor/golang.org/x/text/unicode/norm/forminfo.go @@ -13,7 +13,7 @@ import "encoding/binary" // a rune to a uint16. The values take two forms. For v >= 0x8000: // bits // 15: 1 (inverse of NFD_QC bit of qcInfo) -// 13..7: qcInfo (see below). isYesD is always true (no decompostion). +// 13..7: qcInfo (see below). isYesD is always true (no decomposition). // 6..0: ccc (compressed CCC value). // For v < 0x8000, the respective rune has a decomposition and v is an index // into a byte array of UTF-8 decomposition sequences and additional info and diff --git a/vendor/k8s.io/cri-api/pkg/apis/runtime/v1/api.pb.go b/vendor/k8s.io/cri-api/pkg/apis/runtime/v1/api.pb.go index b8be0069b..56bc7dbae 100644 --- a/vendor/k8s.io/cri-api/pkg/apis/runtime/v1/api.pb.go +++ b/vendor/k8s.io/cri-api/pkg/apis/runtime/v1/api.pb.go @@ -577,9 +577,13 @@ type Mount struct { // If set, the mount needs SELinux relabeling. SelinuxRelabel bool `protobuf:"varint,4,opt,name=selinux_relabel,json=selinuxRelabel,proto3" json:"selinux_relabel,omitempty"` // Requested propagation mode. - Propagation MountPropagation `protobuf:"varint,5,opt,name=propagation,proto3,enum=runtime.v1.MountPropagation" json:"propagation,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_sizecache int32 `json:"-"` + Propagation MountPropagation `protobuf:"varint,5,opt,name=propagation,proto3,enum=runtime.v1.MountPropagation" json:"propagation,omitempty"` + // UidMappings specifies the runtime UID mappings for the mount. + UidMappings []*IDMapping `protobuf:"bytes,6,rep,name=uidMappings,proto3" json:"uidMappings,omitempty"` + // GidMappings specifies the runtime GID mappings for the mount. + GidMappings []*IDMapping `protobuf:"bytes,7,rep,name=gidMappings,proto3" json:"gidMappings,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *Mount) Reset() { *m = Mount{} } @@ -649,6 +653,20 @@ func (m *Mount) GetPropagation() MountPropagation { return MountPropagation_PROPAGATION_PRIVATE } +func (m *Mount) GetUidMappings() []*IDMapping { + if m != nil { + return m.UidMappings + } + return nil +} + +func (m *Mount) GetGidMappings() []*IDMapping { + if m != nil { + return m.GidMappings + } + return nil +} + // IDMapping describes host to container ID mappings for a pod sandbox. type IDMapping struct { // HostId is the id on the host. @@ -1315,7 +1333,7 @@ type PodSandboxConfig struct { // structured logs, systemd-journald journal files, gRPC trace files, etc. // E.g., // - // PodSandboxConfig.LogDirectory = `/var/log/pods//` + // PodSandboxConfig.LogDirectory = `/var/log/pods/__/` // ContainerConfig.LogPath = `containerName/Instance#.log` LogDirectory string `protobuf:"bytes,3,opt,name=log_directory,json=logDirectory,proto3" json:"log_directory,omitempty"` // DNS config for the sandbox. @@ -4671,6 +4689,56 @@ func (m *Device) GetPermissions() string { return "" } +// CDIDevice specifies a CDI device information. +type CDIDevice struct { + // Fully qualified CDI device name + // for example: vendor.com/gpu=gpudevice1 + // see more details in the CDI specification: + // https://github.com/container-orchestrated-devices/container-device-interface/blob/main/SPEC.md + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CDIDevice) Reset() { *m = CDIDevice{} } +func (*CDIDevice) ProtoMessage() {} +func (*CDIDevice) Descriptor() ([]byte, []int) { + return fileDescriptor_00212fb1f9d3bf1c, []int{63} +} +func (m *CDIDevice) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *CDIDevice) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_CDIDevice.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *CDIDevice) XXX_Merge(src proto.Message) { + xxx_messageInfo_CDIDevice.Merge(m, src) +} +func (m *CDIDevice) XXX_Size() int { + return m.Size() +} +func (m *CDIDevice) XXX_DiscardUnknown() { + xxx_messageInfo_CDIDevice.DiscardUnknown(m) +} + +var xxx_messageInfo_CDIDevice proto.InternalMessageInfo + +func (m *CDIDevice) GetName() string { + if m != nil { + return m.Name + } + return "" +} + // ContainerConfig holds all the required and optional fields for creating a // container. type ContainerConfig struct { @@ -4716,13 +4784,8 @@ type ContainerConfig struct { // the log (STDOUT and STDERR) on the host. // E.g., // - // PodSandboxConfig.LogDirectory = `/var/log/pods//` + // PodSandboxConfig.LogDirectory = `/var/log/pods/__/` // ContainerConfig.LogPath = `containerName/Instance#.log` - // - // WARNING: Log management and how kubelet should interface with the - // container logs are under active discussion in - // https://issues.k8s.io/24677. There *may* be future change of direction - // for logging as the discussion carries on. LogPath string `protobuf:"bytes,11,opt,name=log_path,json=logPath,proto3" json:"log_path,omitempty"` // Variables for interactive containers, these have very specialized // use-cases (e.g. debugging). @@ -4732,15 +4795,17 @@ type ContainerConfig struct { // Configuration specific to Linux containers. Linux *LinuxContainerConfig `protobuf:"bytes,15,opt,name=linux,proto3" json:"linux,omitempty"` // Configuration specific to Windows containers. - Windows *WindowsContainerConfig `protobuf:"bytes,16,opt,name=windows,proto3" json:"windows,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_sizecache int32 `json:"-"` + Windows *WindowsContainerConfig `protobuf:"bytes,16,opt,name=windows,proto3" json:"windows,omitempty"` + // CDI devices for the container. + CDIDevices []*CDIDevice `protobuf:"bytes,17,rep,name=CDI_devices,json=CDIDevices,proto3" json:"CDI_devices,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ContainerConfig) Reset() { *m = ContainerConfig{} } func (*ContainerConfig) ProtoMessage() {} func (*ContainerConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{63} + return fileDescriptor_00212fb1f9d3bf1c, []int{64} } func (m *ContainerConfig) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4881,6 +4946,13 @@ func (m *ContainerConfig) GetWindows() *WindowsContainerConfig { return nil } +func (m *ContainerConfig) GetCDIDevices() []*CDIDevice { + if m != nil { + return m.CDIDevices + } + return nil +} + type CreateContainerRequest struct { // ID of the PodSandbox in which the container should be created. PodSandboxId string `protobuf:"bytes,1,opt,name=pod_sandbox_id,json=podSandboxId,proto3" json:"pod_sandbox_id,omitempty"` @@ -4898,7 +4970,7 @@ type CreateContainerRequest struct { func (m *CreateContainerRequest) Reset() { *m = CreateContainerRequest{} } func (*CreateContainerRequest) ProtoMessage() {} func (*CreateContainerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{64} + return fileDescriptor_00212fb1f9d3bf1c, []int{65} } func (m *CreateContainerRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4958,7 +5030,7 @@ type CreateContainerResponse struct { func (m *CreateContainerResponse) Reset() { *m = CreateContainerResponse{} } func (*CreateContainerResponse) ProtoMessage() {} func (*CreateContainerResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{65} + return fileDescriptor_00212fb1f9d3bf1c, []int{66} } func (m *CreateContainerResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5004,7 +5076,7 @@ type StartContainerRequest struct { func (m *StartContainerRequest) Reset() { *m = StartContainerRequest{} } func (*StartContainerRequest) ProtoMessage() {} func (*StartContainerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{66} + return fileDescriptor_00212fb1f9d3bf1c, []int{67} } func (m *StartContainerRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5048,7 +5120,7 @@ type StartContainerResponse struct { func (m *StartContainerResponse) Reset() { *m = StartContainerResponse{} } func (*StartContainerResponse) ProtoMessage() {} func (*StartContainerResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{67} + return fileDescriptor_00212fb1f9d3bf1c, []int{68} } func (m *StartContainerResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5090,7 +5162,7 @@ type StopContainerRequest struct { func (m *StopContainerRequest) Reset() { *m = StopContainerRequest{} } func (*StopContainerRequest) ProtoMessage() {} func (*StopContainerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{68} + return fileDescriptor_00212fb1f9d3bf1c, []int{69} } func (m *StopContainerRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5141,7 +5213,7 @@ type StopContainerResponse struct { func (m *StopContainerResponse) Reset() { *m = StopContainerResponse{} } func (*StopContainerResponse) ProtoMessage() {} func (*StopContainerResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{69} + return fileDescriptor_00212fb1f9d3bf1c, []int{70} } func (m *StopContainerResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5180,7 +5252,7 @@ type RemoveContainerRequest struct { func (m *RemoveContainerRequest) Reset() { *m = RemoveContainerRequest{} } func (*RemoveContainerRequest) ProtoMessage() {} func (*RemoveContainerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{70} + return fileDescriptor_00212fb1f9d3bf1c, []int{71} } func (m *RemoveContainerRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5224,7 +5296,7 @@ type RemoveContainerResponse struct { func (m *RemoveContainerResponse) Reset() { *m = RemoveContainerResponse{} } func (*RemoveContainerResponse) ProtoMessage() {} func (*RemoveContainerResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{71} + return fileDescriptor_00212fb1f9d3bf1c, []int{72} } func (m *RemoveContainerResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5264,7 +5336,7 @@ type ContainerStateValue struct { func (m *ContainerStateValue) Reset() { *m = ContainerStateValue{} } func (*ContainerStateValue) ProtoMessage() {} func (*ContainerStateValue) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{72} + return fileDescriptor_00212fb1f9d3bf1c, []int{73} } func (m *ContainerStateValue) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5320,7 +5392,7 @@ type ContainerFilter struct { func (m *ContainerFilter) Reset() { *m = ContainerFilter{} } func (*ContainerFilter) ProtoMessage() {} func (*ContainerFilter) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{73} + return fileDescriptor_00212fb1f9d3bf1c, []int{74} } func (m *ContainerFilter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5386,7 +5458,7 @@ type ListContainersRequest struct { func (m *ListContainersRequest) Reset() { *m = ListContainersRequest{} } func (*ListContainersRequest) ProtoMessage() {} func (*ListContainersRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{74} + return fileDescriptor_00212fb1f9d3bf1c, []int{75} } func (m *ListContainersRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5455,7 +5527,7 @@ type Container struct { func (m *Container) Reset() { *m = Container{} } func (*Container) ProtoMessage() {} func (*Container) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{75} + return fileDescriptor_00212fb1f9d3bf1c, []int{76} } func (m *Container) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5557,7 +5629,7 @@ type ListContainersResponse struct { func (m *ListContainersResponse) Reset() { *m = ListContainersResponse{} } func (*ListContainersResponse) ProtoMessage() {} func (*ListContainersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{76} + return fileDescriptor_00212fb1f9d3bf1c, []int{77} } func (m *ListContainersResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5605,7 +5677,7 @@ type ContainerStatusRequest struct { func (m *ContainerStatusRequest) Reset() { *m = ContainerStatusRequest{} } func (*ContainerStatusRequest) ProtoMessage() {} func (*ContainerStatusRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{77} + return fileDescriptor_00212fb1f9d3bf1c, []int{78} } func (m *ContainerStatusRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5670,6 +5742,7 @@ type ContainerStatus struct { // image ID ImageRef string `protobuf:"bytes,9,opt,name=image_ref,json=imageRef,proto3" json:"image_ref,omitempty"` // Brief CamelCase string explaining why container is in its current state. + // Must be set to "OOMKilled" for containers terminated by cgroup-based Out-of-Memory killer. Reason string `protobuf:"bytes,10,opt,name=reason,proto3" json:"reason,omitempty"` // Human-readable message indicating details about why container is in its // current state. @@ -5694,7 +5767,7 @@ type ContainerStatus struct { func (m *ContainerStatus) Reset() { *m = ContainerStatus{} } func (*ContainerStatus) ProtoMessage() {} func (*ContainerStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{78} + return fileDescriptor_00212fb1f9d3bf1c, []int{79} } func (m *ContainerStatus) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5850,7 +5923,7 @@ type ContainerStatusResponse struct { func (m *ContainerStatusResponse) Reset() { *m = ContainerStatusResponse{} } func (*ContainerStatusResponse) ProtoMessage() {} func (*ContainerStatusResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{79} + return fileDescriptor_00212fb1f9d3bf1c, []int{80} } func (m *ContainerStatusResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5906,7 +5979,7 @@ type ContainerResources struct { func (m *ContainerResources) Reset() { *m = ContainerResources{} } func (*ContainerResources) ProtoMessage() {} func (*ContainerResources) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{80} + return fileDescriptor_00212fb1f9d3bf1c, []int{81} } func (m *ContainerResources) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5967,7 +6040,7 @@ type UpdateContainerResourcesRequest struct { func (m *UpdateContainerResourcesRequest) Reset() { *m = UpdateContainerResourcesRequest{} } func (*UpdateContainerResourcesRequest) ProtoMessage() {} func (*UpdateContainerResourcesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{81} + return fileDescriptor_00212fb1f9d3bf1c, []int{82} } func (m *UpdateContainerResourcesRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6032,7 +6105,7 @@ type UpdateContainerResourcesResponse struct { func (m *UpdateContainerResourcesResponse) Reset() { *m = UpdateContainerResourcesResponse{} } func (*UpdateContainerResourcesResponse) ProtoMessage() {} func (*UpdateContainerResourcesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{82} + return fileDescriptor_00212fb1f9d3bf1c, []int{83} } func (m *UpdateContainerResourcesResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6075,7 +6148,7 @@ type ExecSyncRequest struct { func (m *ExecSyncRequest) Reset() { *m = ExecSyncRequest{} } func (*ExecSyncRequest) ProtoMessage() {} func (*ExecSyncRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{83} + return fileDescriptor_00212fb1f9d3bf1c, []int{84} } func (m *ExecSyncRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6127,8 +6200,16 @@ func (m *ExecSyncRequest) GetTimeout() int64 { type ExecSyncResponse struct { // Captured command stdout output. + // The runtime should cap the output of this response to 16MB. + // If the stdout of the command produces more than 16MB, the remaining output + // should be discarded, and the command should proceed with no error. + // See CVE-2022-1708 and CVE-2022-31030 for more information. Stdout []byte `protobuf:"bytes,1,opt,name=stdout,proto3" json:"stdout,omitempty"` // Captured command stderr output. + // The runtime should cap the output of this response to 16MB. + // If the stderr of the command produces more than 16MB, the remaining output + // should be discarded, and the command should proceed with no error. + // See CVE-2022-1708 and CVE-2022-31030 for more information. Stderr []byte `protobuf:"bytes,2,opt,name=stderr,proto3" json:"stderr,omitempty"` // Exit code the command finished with. Default: 0 (success). ExitCode int32 `protobuf:"varint,3,opt,name=exit_code,json=exitCode,proto3" json:"exit_code,omitempty"` @@ -6139,7 +6220,7 @@ type ExecSyncResponse struct { func (m *ExecSyncResponse) Reset() { *m = ExecSyncResponse{} } func (*ExecSyncResponse) ProtoMessage() {} func (*ExecSyncResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{84} + return fileDescriptor_00212fb1f9d3bf1c, []int{85} } func (m *ExecSyncResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6215,7 +6296,7 @@ type ExecRequest struct { func (m *ExecRequest) Reset() { *m = ExecRequest{} } func (*ExecRequest) ProtoMessage() {} func (*ExecRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{85} + return fileDescriptor_00212fb1f9d3bf1c, []int{86} } func (m *ExecRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6296,7 +6377,7 @@ type ExecResponse struct { func (m *ExecResponse) Reset() { *m = ExecResponse{} } func (*ExecResponse) ProtoMessage() {} func (*ExecResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{86} + return fileDescriptor_00212fb1f9d3bf1c, []int{87} } func (m *ExecResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6357,7 +6438,7 @@ type AttachRequest struct { func (m *AttachRequest) Reset() { *m = AttachRequest{} } func (*AttachRequest) ProtoMessage() {} func (*AttachRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{87} + return fileDescriptor_00212fb1f9d3bf1c, []int{88} } func (m *AttachRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6431,7 +6512,7 @@ type AttachResponse struct { func (m *AttachResponse) Reset() { *m = AttachResponse{} } func (*AttachResponse) ProtoMessage() {} func (*AttachResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{88} + return fileDescriptor_00212fb1f9d3bf1c, []int{89} } func (m *AttachResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6479,7 +6560,7 @@ type PortForwardRequest struct { func (m *PortForwardRequest) Reset() { *m = PortForwardRequest{} } func (*PortForwardRequest) ProtoMessage() {} func (*PortForwardRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{89} + return fileDescriptor_00212fb1f9d3bf1c, []int{90} } func (m *PortForwardRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6532,7 +6613,7 @@ type PortForwardResponse struct { func (m *PortForwardResponse) Reset() { *m = PortForwardResponse{} } func (*PortForwardResponse) ProtoMessage() {} func (*PortForwardResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{90} + return fileDescriptor_00212fb1f9d3bf1c, []int{91} } func (m *PortForwardResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6578,7 +6659,7 @@ type ImageFilter struct { func (m *ImageFilter) Reset() { *m = ImageFilter{} } func (*ImageFilter) ProtoMessage() {} func (*ImageFilter) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{91} + return fileDescriptor_00212fb1f9d3bf1c, []int{92} } func (m *ImageFilter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6624,7 +6705,7 @@ type ListImagesRequest struct { func (m *ListImagesRequest) Reset() { *m = ListImagesRequest{} } func (*ListImagesRequest) ProtoMessage() {} func (*ListImagesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{92} + return fileDescriptor_00212fb1f9d3bf1c, []int{93} } func (m *ListImagesRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6690,7 +6771,7 @@ type Image struct { func (m *Image) Reset() { *m = Image{} } func (*Image) ProtoMessage() {} func (*Image) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{93} + return fileDescriptor_00212fb1f9d3bf1c, []int{94} } func (m *Image) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6785,7 +6866,7 @@ type ListImagesResponse struct { func (m *ListImagesResponse) Reset() { *m = ListImagesResponse{} } func (*ListImagesResponse) ProtoMessage() {} func (*ListImagesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{94} + return fileDescriptor_00212fb1f9d3bf1c, []int{95} } func (m *ListImagesResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6833,7 +6914,7 @@ type ImageStatusRequest struct { func (m *ImageStatusRequest) Reset() { *m = ImageStatusRequest{} } func (*ImageStatusRequest) ProtoMessage() {} func (*ImageStatusRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{95} + return fileDescriptor_00212fb1f9d3bf1c, []int{96} } func (m *ImageStatusRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6891,7 +6972,7 @@ type ImageStatusResponse struct { func (m *ImageStatusResponse) Reset() { *m = ImageStatusResponse{} } func (*ImageStatusResponse) ProtoMessage() {} func (*ImageStatusResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{96} + return fileDescriptor_00212fb1f9d3bf1c, []int{97} } func (m *ImageStatusResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6952,7 +7033,7 @@ type AuthConfig struct { func (m *AuthConfig) Reset() { *m = AuthConfig{} } func (*AuthConfig) ProtoMessage() {} func (*AuthConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{97} + return fileDescriptor_00212fb1f9d3bf1c, []int{98} } func (m *AuthConfig) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7037,7 +7118,7 @@ type PullImageRequest struct { func (m *PullImageRequest) Reset() { *m = PullImageRequest{} } func (*PullImageRequest) ProtoMessage() {} func (*PullImageRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{98} + return fileDescriptor_00212fb1f9d3bf1c, []int{99} } func (m *PullImageRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7098,7 +7179,7 @@ type PullImageResponse struct { func (m *PullImageResponse) Reset() { *m = PullImageResponse{} } func (*PullImageResponse) ProtoMessage() {} func (*PullImageResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{99} + return fileDescriptor_00212fb1f9d3bf1c, []int{100} } func (m *PullImageResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7144,7 +7225,7 @@ type RemoveImageRequest struct { func (m *RemoveImageRequest) Reset() { *m = RemoveImageRequest{} } func (*RemoveImageRequest) ProtoMessage() {} func (*RemoveImageRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{100} + return fileDescriptor_00212fb1f9d3bf1c, []int{101} } func (m *RemoveImageRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7188,7 +7269,7 @@ type RemoveImageResponse struct { func (m *RemoveImageResponse) Reset() { *m = RemoveImageResponse{} } func (*RemoveImageResponse) ProtoMessage() {} func (*RemoveImageResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{101} + return fileDescriptor_00212fb1f9d3bf1c, []int{102} } func (m *RemoveImageResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7228,7 +7309,7 @@ type NetworkConfig struct { func (m *NetworkConfig) Reset() { *m = NetworkConfig{} } func (*NetworkConfig) ProtoMessage() {} func (*NetworkConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{102} + return fileDescriptor_00212fb1f9d3bf1c, []int{103} } func (m *NetworkConfig) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7273,7 +7354,7 @@ type RuntimeConfig struct { func (m *RuntimeConfig) Reset() { *m = RuntimeConfig{} } func (*RuntimeConfig) ProtoMessage() {} func (*RuntimeConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{103} + return fileDescriptor_00212fb1f9d3bf1c, []int{104} } func (m *RuntimeConfig) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7318,7 +7399,7 @@ type UpdateRuntimeConfigRequest struct { func (m *UpdateRuntimeConfigRequest) Reset() { *m = UpdateRuntimeConfigRequest{} } func (*UpdateRuntimeConfigRequest) ProtoMessage() {} func (*UpdateRuntimeConfigRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{104} + return fileDescriptor_00212fb1f9d3bf1c, []int{105} } func (m *UpdateRuntimeConfigRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7362,7 +7443,7 @@ type UpdateRuntimeConfigResponse struct { func (m *UpdateRuntimeConfigResponse) Reset() { *m = UpdateRuntimeConfigResponse{} } func (*UpdateRuntimeConfigResponse) ProtoMessage() {} func (*UpdateRuntimeConfigResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{105} + return fileDescriptor_00212fb1f9d3bf1c, []int{106} } func (m *UpdateRuntimeConfigResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7421,7 +7502,7 @@ type RuntimeCondition struct { func (m *RuntimeCondition) Reset() { *m = RuntimeCondition{} } func (*RuntimeCondition) ProtoMessage() {} func (*RuntimeCondition) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{106} + return fileDescriptor_00212fb1f9d3bf1c, []int{107} } func (m *RuntimeCondition) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7489,7 +7570,7 @@ type RuntimeStatus struct { func (m *RuntimeStatus) Reset() { *m = RuntimeStatus{} } func (*RuntimeStatus) ProtoMessage() {} func (*RuntimeStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{107} + return fileDescriptor_00212fb1f9d3bf1c, []int{108} } func (m *RuntimeStatus) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7535,7 +7616,7 @@ type StatusRequest struct { func (m *StatusRequest) Reset() { *m = StatusRequest{} } func (*StatusRequest) ProtoMessage() {} func (*StatusRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{108} + return fileDescriptor_00212fb1f9d3bf1c, []int{109} } func (m *StatusRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7586,7 +7667,7 @@ type StatusResponse struct { func (m *StatusResponse) Reset() { *m = StatusResponse{} } func (*StatusResponse) ProtoMessage() {} func (*StatusResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{109} + return fileDescriptor_00212fb1f9d3bf1c, []int{110} } func (m *StatusResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7637,7 +7718,7 @@ type ImageFsInfoRequest struct { func (m *ImageFsInfoRequest) Reset() { *m = ImageFsInfoRequest{} } func (*ImageFsInfoRequest) ProtoMessage() {} func (*ImageFsInfoRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{110} + return fileDescriptor_00212fb1f9d3bf1c, []int{111} } func (m *ImageFsInfoRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7677,7 +7758,7 @@ type UInt64Value struct { func (m *UInt64Value) Reset() { *m = UInt64Value{} } func (*UInt64Value) ProtoMessage() {} func (*UInt64Value) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{111} + return fileDescriptor_00212fb1f9d3bf1c, []int{112} } func (m *UInt64Value) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7724,7 +7805,7 @@ type FilesystemIdentifier struct { func (m *FilesystemIdentifier) Reset() { *m = FilesystemIdentifier{} } func (*FilesystemIdentifier) ProtoMessage() {} func (*FilesystemIdentifier) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{112} + return fileDescriptor_00212fb1f9d3bf1c, []int{113} } func (m *FilesystemIdentifier) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7781,7 +7862,7 @@ type FilesystemUsage struct { func (m *FilesystemUsage) Reset() { *m = FilesystemUsage{} } func (*FilesystemUsage) ProtoMessage() {} func (*FilesystemUsage) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{113} + return fileDescriptor_00212fb1f9d3bf1c, []int{114} } func (m *FilesystemUsage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7855,7 +7936,7 @@ type WindowsFilesystemUsage struct { func (m *WindowsFilesystemUsage) Reset() { *m = WindowsFilesystemUsage{} } func (*WindowsFilesystemUsage) ProtoMessage() {} func (*WindowsFilesystemUsage) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{114} + return fileDescriptor_00212fb1f9d3bf1c, []int{115} } func (m *WindowsFilesystemUsage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7915,7 +7996,7 @@ type ImageFsInfoResponse struct { func (m *ImageFsInfoResponse) Reset() { *m = ImageFsInfoResponse{} } func (*ImageFsInfoResponse) ProtoMessage() {} func (*ImageFsInfoResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{115} + return fileDescriptor_00212fb1f9d3bf1c, []int{116} } func (m *ImageFsInfoResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7961,7 +8042,7 @@ type ContainerStatsRequest struct { func (m *ContainerStatsRequest) Reset() { *m = ContainerStatsRequest{} } func (*ContainerStatsRequest) ProtoMessage() {} func (*ContainerStatsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{116} + return fileDescriptor_00212fb1f9d3bf1c, []int{117} } func (m *ContainerStatsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8007,7 +8088,7 @@ type ContainerStatsResponse struct { func (m *ContainerStatsResponse) Reset() { *m = ContainerStatsResponse{} } func (*ContainerStatsResponse) ProtoMessage() {} func (*ContainerStatsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{117} + return fileDescriptor_00212fb1f9d3bf1c, []int{118} } func (m *ContainerStatsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8053,7 +8134,7 @@ type ListContainerStatsRequest struct { func (m *ListContainerStatsRequest) Reset() { *m = ListContainerStatsRequest{} } func (*ListContainerStatsRequest) ProtoMessage() {} func (*ListContainerStatsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{118} + return fileDescriptor_00212fb1f9d3bf1c, []int{119} } func (m *ListContainerStatsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8107,7 +8188,7 @@ type ContainerStatsFilter struct { func (m *ContainerStatsFilter) Reset() { *m = ContainerStatsFilter{} } func (*ContainerStatsFilter) ProtoMessage() {} func (*ContainerStatsFilter) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{119} + return fileDescriptor_00212fb1f9d3bf1c, []int{120} } func (m *ContainerStatsFilter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8167,7 +8248,7 @@ type ListContainerStatsResponse struct { func (m *ListContainerStatsResponse) Reset() { *m = ListContainerStatsResponse{} } func (*ListContainerStatsResponse) ProtoMessage() {} func (*ListContainerStatsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{120} + return fileDescriptor_00212fb1f9d3bf1c, []int{121} } func (m *ListContainerStatsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8223,7 +8304,7 @@ type ContainerAttributes struct { func (m *ContainerAttributes) Reset() { *m = ContainerAttributes{} } func (*ContainerAttributes) ProtoMessage() {} func (*ContainerAttributes) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{121} + return fileDescriptor_00212fb1f9d3bf1c, []int{122} } func (m *ContainerAttributes) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8297,7 +8378,7 @@ type ContainerStats struct { func (m *ContainerStats) Reset() { *m = ContainerStats{} } func (*ContainerStats) ProtoMessage() {} func (*ContainerStats) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{122} + return fileDescriptor_00212fb1f9d3bf1c, []int{123} } func (m *ContainerStats) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8371,7 +8452,7 @@ type WindowsContainerStats struct { func (m *WindowsContainerStats) Reset() { *m = WindowsContainerStats{} } func (*WindowsContainerStats) ProtoMessage() {} func (*WindowsContainerStats) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{123} + return fileDescriptor_00212fb1f9d3bf1c, []int{124} } func (m *WindowsContainerStats) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8444,7 +8525,7 @@ type CpuUsage struct { func (m *CpuUsage) Reset() { *m = CpuUsage{} } func (*CpuUsage) ProtoMessage() {} func (*CpuUsage) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{124} + return fileDescriptor_00212fb1f9d3bf1c, []int{125} } func (m *CpuUsage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8510,7 +8591,7 @@ type WindowsCpuUsage struct { func (m *WindowsCpuUsage) Reset() { *m = WindowsCpuUsage{} } func (*WindowsCpuUsage) ProtoMessage() {} func (*WindowsCpuUsage) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{125} + return fileDescriptor_00212fb1f9d3bf1c, []int{126} } func (m *WindowsCpuUsage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8583,7 +8664,7 @@ type MemoryUsage struct { func (m *MemoryUsage) Reset() { *m = MemoryUsage{} } func (*MemoryUsage) ProtoMessage() {} func (*MemoryUsage) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{126} + return fileDescriptor_00212fb1f9d3bf1c, []int{127} } func (m *MemoryUsage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8678,7 +8759,7 @@ type WindowsMemoryUsage struct { func (m *WindowsMemoryUsage) Reset() { *m = WindowsMemoryUsage{} } func (*WindowsMemoryUsage) ProtoMessage() {} func (*WindowsMemoryUsage) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{127} + return fileDescriptor_00212fb1f9d3bf1c, []int{128} } func (m *WindowsMemoryUsage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8745,7 +8826,7 @@ type ReopenContainerLogRequest struct { func (m *ReopenContainerLogRequest) Reset() { *m = ReopenContainerLogRequest{} } func (*ReopenContainerLogRequest) ProtoMessage() {} func (*ReopenContainerLogRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{128} + return fileDescriptor_00212fb1f9d3bf1c, []int{129} } func (m *ReopenContainerLogRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8789,7 +8870,7 @@ type ReopenContainerLogResponse struct { func (m *ReopenContainerLogResponse) Reset() { *m = ReopenContainerLogResponse{} } func (*ReopenContainerLogResponse) ProtoMessage() {} func (*ReopenContainerLogResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{129} + return fileDescriptor_00212fb1f9d3bf1c, []int{130} } func (m *ReopenContainerLogResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8834,7 +8915,7 @@ type CheckpointContainerRequest struct { func (m *CheckpointContainerRequest) Reset() { *m = CheckpointContainerRequest{} } func (*CheckpointContainerRequest) ProtoMessage() {} func (*CheckpointContainerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{130} + return fileDescriptor_00212fb1f9d3bf1c, []int{131} } func (m *CheckpointContainerRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8892,7 +8973,7 @@ type CheckpointContainerResponse struct { func (m *CheckpointContainerResponse) Reset() { *m = CheckpointContainerResponse{} } func (*CheckpointContainerResponse) ProtoMessage() {} func (*CheckpointContainerResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{131} + return fileDescriptor_00212fb1f9d3bf1c, []int{132} } func (m *CheckpointContainerResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8929,7 +9010,7 @@ type GetEventsRequest struct { func (m *GetEventsRequest) Reset() { *m = GetEventsRequest{} } func (*GetEventsRequest) ProtoMessage() {} func (*GetEventsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{132} + return fileDescriptor_00212fb1f9d3bf1c, []int{133} } func (m *GetEventsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8976,7 +9057,7 @@ type ContainerEventResponse struct { func (m *ContainerEventResponse) Reset() { *m = ContainerEventResponse{} } func (*ContainerEventResponse) ProtoMessage() {} func (*ContainerEventResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{133} + return fileDescriptor_00212fb1f9d3bf1c, []int{134} } func (m *ContainerEventResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9048,7 +9129,7 @@ type ListMetricDescriptorsRequest struct { func (m *ListMetricDescriptorsRequest) Reset() { *m = ListMetricDescriptorsRequest{} } func (*ListMetricDescriptorsRequest) ProtoMessage() {} func (*ListMetricDescriptorsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{134} + return fileDescriptor_00212fb1f9d3bf1c, []int{135} } func (m *ListMetricDescriptorsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9086,7 +9167,7 @@ type ListMetricDescriptorsResponse struct { func (m *ListMetricDescriptorsResponse) Reset() { *m = ListMetricDescriptorsResponse{} } func (*ListMetricDescriptorsResponse) ProtoMessage() {} func (*ListMetricDescriptorsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{135} + return fileDescriptor_00212fb1f9d3bf1c, []int{136} } func (m *ListMetricDescriptorsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9139,7 +9220,7 @@ type MetricDescriptor struct { func (m *MetricDescriptor) Reset() { *m = MetricDescriptor{} } func (*MetricDescriptor) ProtoMessage() {} func (*MetricDescriptor) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{136} + return fileDescriptor_00212fb1f9d3bf1c, []int{137} } func (m *MetricDescriptor) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9197,7 +9278,7 @@ type ListPodSandboxMetricsRequest struct { func (m *ListPodSandboxMetricsRequest) Reset() { *m = ListPodSandboxMetricsRequest{} } func (*ListPodSandboxMetricsRequest) ProtoMessage() {} func (*ListPodSandboxMetricsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{137} + return fileDescriptor_00212fb1f9d3bf1c, []int{138} } func (m *ListPodSandboxMetricsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9235,7 +9316,7 @@ type ListPodSandboxMetricsResponse struct { func (m *ListPodSandboxMetricsResponse) Reset() { *m = ListPodSandboxMetricsResponse{} } func (*ListPodSandboxMetricsResponse) ProtoMessage() {} func (*ListPodSandboxMetricsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{138} + return fileDescriptor_00212fb1f9d3bf1c, []int{139} } func (m *ListPodSandboxMetricsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9282,7 +9363,7 @@ type PodSandboxMetrics struct { func (m *PodSandboxMetrics) Reset() { *m = PodSandboxMetrics{} } func (*PodSandboxMetrics) ProtoMessage() {} func (*PodSandboxMetrics) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{139} + return fileDescriptor_00212fb1f9d3bf1c, []int{140} } func (m *PodSandboxMetrics) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9342,7 +9423,7 @@ type ContainerMetrics struct { func (m *ContainerMetrics) Reset() { *m = ContainerMetrics{} } func (*ContainerMetrics) ProtoMessage() {} func (*ContainerMetrics) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{140} + return fileDescriptor_00212fb1f9d3bf1c, []int{141} } func (m *ContainerMetrics) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9405,7 +9486,7 @@ type Metric struct { func (m *Metric) Reset() { *m = Metric{} } func (*Metric) ProtoMessage() {} func (*Metric) Descriptor() ([]byte, []int) { - return fileDescriptor_00212fb1f9d3bf1c, []int{141} + return fileDescriptor_00212fb1f9d3bf1c, []int{142} } func (m *Metric) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9555,6 +9636,7 @@ func init() { proto.RegisterType((*WindowsContainerResources)(nil), "runtime.v1.WindowsContainerResources") proto.RegisterType((*ContainerMetadata)(nil), "runtime.v1.ContainerMetadata") proto.RegisterType((*Device)(nil), "runtime.v1.Device") + proto.RegisterType((*CDIDevice)(nil), "runtime.v1.CDIDevice") proto.RegisterType((*ContainerConfig)(nil), "runtime.v1.ContainerConfig") proto.RegisterMapType((map[string]string)(nil), "runtime.v1.ContainerConfig.AnnotationsEntry") proto.RegisterMapType((map[string]string)(nil), "runtime.v1.ContainerConfig.LabelsEntry") @@ -9653,416 +9735,420 @@ func init() { func init() { proto.RegisterFile("api.proto", fileDescriptor_00212fb1f9d3bf1c) } var fileDescriptor_00212fb1f9d3bf1c = []byte{ - // 6539 bytes of a gzipped FileDescriptorProto + // 6593 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x7d, 0x4d, 0x6c, 0x1c, 0xc9, - 0x75, 0x30, 0x7b, 0x66, 0x48, 0xce, 0xbc, 0xe1, 0x90, 0xc3, 0x12, 0x45, 0x52, 0x43, 0x89, 0x2b, - 0xb5, 0xf6, 0x47, 0x3f, 0xab, 0x9f, 0xd5, 0x6a, 0x77, 0x25, 0x59, 0xbb, 0xab, 0x11, 0xc9, 0x95, - 0xb8, 0x96, 0xc8, 0x71, 0x93, 0x94, 0xbd, 0xf6, 0x07, 0xf7, 0xd7, 0x9a, 0x2e, 0x92, 0xbd, 0x9a, - 0xe9, 0x6e, 0x77, 0xf7, 0x48, 0xa2, 0x4f, 0x39, 0x26, 0x3e, 0x19, 0x48, 0x1c, 0x03, 0x46, 0x90, - 0x20, 0x87, 0xfc, 0x00, 0x39, 0x38, 0x08, 0x90, 0xc0, 0x41, 0x90, 0x04, 0x08, 0x12, 0xc3, 0x09, - 0x10, 0xc0, 0x87, 0x04, 0xf0, 0x21, 0x40, 0xec, 0x4d, 0x4e, 0x39, 0xe4, 0x12, 0x1f, 0x72, 0x73, - 0x50, 0x7f, 0xdd, 0x5d, 0xfd, 0x37, 0x43, 0xee, 0x7a, 0x77, 0x7d, 0xe2, 0xf4, 0xab, 0xf7, 0x5e, - 0xbd, 0x7a, 0xf5, 0xea, 0xd5, 0xab, 0xaa, 0x57, 0x45, 0xa8, 0x19, 0xae, 0x75, 0xd9, 0xf5, 0x9c, - 0xc0, 0x41, 0xe0, 0x0d, 0xec, 0xc0, 0xea, 0xe3, 0xcb, 0x4f, 0x5f, 0x6b, 0x5d, 0xda, 0xb3, 0x82, - 0xfd, 0xc1, 0xe3, 0xcb, 0x5d, 0xa7, 0x7f, 0x65, 0xcf, 0xd9, 0x73, 0xae, 0x50, 0x94, 0xc7, 0x83, - 0x5d, 0xfa, 0x45, 0x3f, 0xe8, 0x2f, 0x46, 0xaa, 0x5e, 0x80, 0xe9, 0x47, 0xd8, 0xf3, 0x2d, 0xc7, - 0xd6, 0xf0, 0x37, 0x06, 0xd8, 0x0f, 0xd0, 0x22, 0x4c, 0x3e, 0x65, 0x90, 0x45, 0xe5, 0xb4, 0x72, - 0xae, 0xa6, 0x89, 0x4f, 0xf5, 0x8f, 0x14, 0x98, 0x09, 0x91, 0x7d, 0xd7, 0xb1, 0x7d, 0x9c, 0x8f, - 0x8d, 0xce, 0xc0, 0x14, 0x17, 0x4b, 0xb7, 0x8d, 0x3e, 0x5e, 0x2c, 0xd1, 0xe2, 0x3a, 0x87, 0x6d, - 0x18, 0x7d, 0x8c, 0x5e, 0x81, 0x19, 0x81, 0x22, 0x98, 0x94, 0x29, 0xd6, 0x34, 0x07, 0xf3, 0xda, - 0xd0, 0x65, 0x38, 0x26, 0x10, 0x0d, 0xd7, 0x0a, 0x91, 0x2b, 0x14, 0x79, 0x96, 0x17, 0xb5, 0x5d, - 0x8b, 0xe3, 0xab, 0x5f, 0x83, 0xda, 0xea, 0xc6, 0xd6, 0x8a, 0x63, 0xef, 0x5a, 0x7b, 0x44, 0x44, - 0x1f, 0x7b, 0x84, 0x66, 0x51, 0x39, 0x5d, 0x26, 0x22, 0xf2, 0x4f, 0xd4, 0x82, 0xaa, 0x8f, 0x0d, - 0xaf, 0xbb, 0x8f, 0xfd, 0xc5, 0x12, 0x2d, 0x0a, 0xbf, 0x09, 0x95, 0xe3, 0x06, 0x96, 0x63, 0xfb, - 0x8b, 0x65, 0x46, 0xc5, 0x3f, 0xd5, 0xdf, 0x51, 0xa0, 0xde, 0x71, 0xbc, 0xe0, 0xa1, 0xe1, 0xba, - 0x96, 0xbd, 0x87, 0xae, 0x42, 0x95, 0xea, 0xb2, 0xeb, 0xf4, 0xa8, 0x0e, 0xa6, 0xaf, 0xcd, 0x5d, - 0x8e, 0x3a, 0xe4, 0x72, 0x87, 0x97, 0x69, 0x21, 0x16, 0x7a, 0x09, 0xa6, 0xbb, 0x8e, 0x1d, 0x18, - 0x96, 0x8d, 0x3d, 0xdd, 0x75, 0xbc, 0x80, 0x2a, 0x67, 0x5c, 0x6b, 0x84, 0x50, 0xc2, 0x1f, 0x2d, - 0x41, 0x6d, 0xdf, 0xf1, 0x03, 0x86, 0x51, 0xa6, 0x18, 0x55, 0x02, 0xa0, 0x85, 0x0b, 0x30, 0x49, - 0x0b, 0x2d, 0x97, 0xab, 0x61, 0x82, 0x7c, 0xae, 0xbb, 0xea, 0x8f, 0x15, 0x18, 0x7f, 0xe8, 0x0c, - 0xec, 0x20, 0x51, 0x8d, 0x11, 0xec, 0xf3, 0x2e, 0x8a, 0x55, 0x63, 0x04, 0xfb, 0x51, 0x35, 0x04, - 0x83, 0xf5, 0x12, 0xab, 0x86, 0x14, 0xb6, 0xa0, 0xea, 0x61, 0xc3, 0x74, 0xec, 0xde, 0x01, 0x15, - 0xa1, 0xaa, 0x85, 0xdf, 0xa4, 0xfb, 0x7c, 0xdc, 0xb3, 0xec, 0xc1, 0x73, 0xdd, 0xc3, 0x3d, 0xe3, - 0x31, 0xee, 0x51, 0x51, 0xaa, 0xda, 0x34, 0x07, 0x6b, 0x0c, 0x8a, 0xde, 0x81, 0xba, 0xeb, 0x39, - 0xae, 0xb1, 0x67, 0x10, 0x0d, 0x2e, 0x8e, 0x53, 0x25, 0x9d, 0x8c, 0x2b, 0x89, 0x0a, 0xdc, 0x89, - 0x70, 0xb4, 0x38, 0x81, 0xaa, 0x43, 0x6d, 0x7d, 0x55, 0xa8, 0x3b, 0x6c, 0xb8, 0x49, 0x9b, 0xd3, - 0xe0, 0x0d, 0x37, 0x89, 0xc1, 0x45, 0xcd, 0xb5, 0x4c, 0xda, 0x94, 0x86, 0x56, 0x0f, 0x61, 0xeb, - 0x26, 0x9a, 0x87, 0x89, 0x1e, 0xb6, 0xf7, 0x82, 0x7d, 0xda, 0x96, 0x86, 0xc6, 0xbf, 0xd4, 0xdf, - 0x52, 0xa0, 0xb1, 0xe3, 0x63, 0x8f, 0x58, 0xa5, 0xef, 0x1a, 0x5d, 0x8c, 0x2e, 0x41, 0xa5, 0xef, - 0x98, 0x98, 0x77, 0xe8, 0x89, 0xb8, 0xac, 0x21, 0xd2, 0x43, 0xc7, 0xc4, 0x1a, 0x45, 0x43, 0xe7, - 0xa1, 0x32, 0xb0, 0x4c, 0x66, 0x45, 0xf5, 0x6b, 0xc7, 0xe3, 0xe8, 0xa1, 0xe4, 0x1a, 0x45, 0x21, - 0xa8, 0x7b, 0x04, 0xb5, 0x5c, 0x88, 0x4a, 0x50, 0xd4, 0x5f, 0x28, 0x30, 0x13, 0xd6, 0xb6, 0x49, - 0xcd, 0x0f, 0xbd, 0x0e, 0x93, 0x36, 0x0e, 0x9e, 0x39, 0xde, 0x93, 0xe1, 0xb2, 0x09, 0x4c, 0x74, - 0x11, 0xca, 0x2e, 0xd7, 0x48, 0x21, 0x01, 0xc1, 0x22, 0xc8, 0x96, 0xdb, 0xa5, 0x1a, 0x2a, 0x46, - 0xb6, 0xdc, 0x2e, 0x31, 0x9e, 0xc0, 0xf0, 0xf6, 0x30, 0xed, 0x0f, 0x66, 0x88, 0x55, 0x06, 0x58, - 0x37, 0xd1, 0x1d, 0x98, 0x1e, 0xf8, 0xd8, 0xb3, 0x7d, 0x5d, 0x0c, 0x25, 0xd2, 0xf5, 0x75, 0x99, - 0xa9, 0xa4, 0x77, 0xad, 0xc1, 0x08, 0x36, 0xf9, 0x58, 0x53, 0x01, 0xd6, 0xed, 0xe0, 0xcd, 0xeb, - 0x8f, 0x8c, 0xde, 0x00, 0xa3, 0x39, 0x18, 0x7f, 0x4a, 0x7e, 0xd0, 0x96, 0x97, 0x35, 0xf6, 0xa1, - 0xfe, 0x75, 0x05, 0x96, 0x1e, 0x10, 0x73, 0xdb, 0x32, 0x6c, 0xf3, 0xb1, 0xf3, 0x7c, 0x0b, 0x77, - 0x07, 0x9e, 0x15, 0x1c, 0xac, 0x38, 0x76, 0x80, 0x9f, 0x07, 0xe8, 0x3e, 0xcc, 0xda, 0x82, 0x7f, - 0x28, 0x88, 0x42, 0x05, 0x59, 0xca, 0x6c, 0x1d, 0xab, 0x5c, 0x6b, 0xda, 0x32, 0xc0, 0x47, 0x77, - 0x23, 0x83, 0x17, 0x7c, 0x4a, 0xe9, 0x06, 0x6d, 0xad, 0x51, 0x69, 0x38, 0x17, 0x31, 0x16, 0x04, - 0x8f, 0x37, 0x81, 0xb8, 0x40, 0xdd, 0xf0, 0x75, 0xd2, 0x52, 0xaa, 0xe5, 0xfa, 0xb5, 0x79, 0xc9, - 0x0a, 0xc2, 0x06, 0x6b, 0x35, 0x6f, 0x60, 0xb7, 0x7d, 0xa2, 0x21, 0x74, 0x83, 0xba, 0x53, 0x42, - 0xb7, 0xe7, 0x39, 0x03, 0x77, 0xb1, 0x5a, 0x48, 0x08, 0x94, 0xf0, 0x1e, 0xc1, 0xa4, 0x5e, 0x96, - 0x0f, 0x59, 0xdd, 0x73, 0x9c, 0x60, 0xd7, 0x17, 0xc3, 0x54, 0x80, 0x35, 0x0a, 0x45, 0x57, 0xe0, - 0x98, 0x3f, 0x70, 0xdd, 0x1e, 0xee, 0x63, 0x3b, 0x30, 0x7a, 0xac, 0x22, 0xd2, 0x67, 0xe5, 0x73, - 0x65, 0x0d, 0xc5, 0x8b, 0x28, 0x63, 0x1f, 0x2d, 0x03, 0xb8, 0x9e, 0xf5, 0xd4, 0xea, 0xe1, 0x3d, - 0x6c, 0x2e, 0x4e, 0x50, 0xa6, 0x31, 0x08, 0x7a, 0x83, 0x78, 0xde, 0x6e, 0xd7, 0xe9, 0xbb, 0x8b, - 0xb5, 0xb4, 0xbe, 0x45, 0x3f, 0x75, 0x3c, 0x67, 0xd7, 0xea, 0x61, 0x4d, 0xe0, 0xa2, 0xb7, 0xa0, - 0x6a, 0xb8, 0xae, 0xe1, 0xf5, 0x1d, 0x6f, 0x11, 0x86, 0xd3, 0x85, 0xc8, 0xe8, 0x3a, 0xcc, 0x71, - 0x1e, 0xba, 0xcb, 0x0a, 0x99, 0x53, 0x9b, 0x24, 0x76, 0x79, 0xb7, 0xb4, 0xa8, 0x68, 0x88, 0x97, - 0x73, 0x5a, 0xe2, 0xe2, 0xd4, 0xbf, 0x57, 0x60, 0x26, 0xc1, 0x13, 0xbd, 0x0f, 0x53, 0x82, 0x43, - 0x70, 0xe0, 0x0a, 0x37, 0xf0, 0x4a, 0x81, 0x18, 0x97, 0xf9, 0xdf, 0xed, 0x03, 0x17, 0x53, 0xef, - 0x25, 0x3e, 0xd0, 0x59, 0x68, 0xf4, 0x9c, 0xae, 0xd1, 0xa3, 0x5e, 0xcb, 0xc3, 0xbb, 0xdc, 0xc7, - 0x4e, 0x85, 0x40, 0x0d, 0xef, 0xaa, 0x77, 0xa0, 0x1e, 0x63, 0x80, 0x10, 0x4c, 0x6b, 0xac, 0xaa, - 0x55, 0xbc, 0x6b, 0x0c, 0x7a, 0x41, 0x73, 0x0c, 0x4d, 0x03, 0xec, 0xd8, 0x5d, 0x32, 0xa7, 0xd9, - 0xd8, 0x6c, 0x2a, 0xa8, 0x01, 0xb5, 0x07, 0x82, 0x45, 0xb3, 0xa4, 0x7e, 0xaf, 0x0c, 0xc7, 0xa9, - 0xe1, 0x75, 0x1c, 0x93, 0x8f, 0x04, 0x3e, 0x01, 0x9e, 0x85, 0x46, 0x97, 0xf6, 0xa5, 0xee, 0x1a, - 0x1e, 0xb6, 0x03, 0x3e, 0x0d, 0x4c, 0x31, 0x60, 0x87, 0xc2, 0x90, 0x06, 0x4d, 0x9f, 0xb7, 0x48, - 0xef, 0xb2, 0x91, 0xc3, 0x8d, 0x5b, 0x6a, 0x75, 0xc1, 0x40, 0xd3, 0x66, 0xfc, 0xd4, 0xc8, 0x9b, - 0xf4, 0x0f, 0xfc, 0x6e, 0xd0, 0x13, 0xde, 0xee, 0x72, 0x8a, 0x55, 0x52, 0xd8, 0xcb, 0x5b, 0x8c, - 0x60, 0xcd, 0x0e, 0xbc, 0x03, 0x4d, 0x90, 0xa3, 0x77, 0xa1, 0xea, 0x3c, 0xc5, 0xde, 0x3e, 0x36, - 0x98, 0x97, 0xa9, 0x5f, 0x3b, 0x9b, 0x62, 0xb5, 0x22, 0x1c, 0xbd, 0x86, 0x7d, 0x67, 0xe0, 0x75, - 0xb1, 0xaf, 0x85, 0x44, 0xa8, 0x0d, 0x35, 0x4f, 0x80, 0xb9, 0x17, 0x1a, 0x89, 0x43, 0x44, 0xd5, - 0xba, 0x05, 0x53, 0x71, 0xe1, 0x50, 0x13, 0xca, 0x4f, 0xf0, 0x01, 0x57, 0x26, 0xf9, 0x19, 0xf9, - 0x27, 0xd6, 0xc3, 0xec, 0xe3, 0x56, 0xe9, 0x86, 0xa2, 0x7a, 0x80, 0xa2, 0x96, 0x3e, 0xc4, 0x81, - 0x61, 0x1a, 0x81, 0x81, 0x10, 0x54, 0x68, 0x68, 0xc4, 0x58, 0xd0, 0xdf, 0x84, 0xeb, 0x80, 0xbb, - 0xea, 0x9a, 0x46, 0x7e, 0xa2, 0x93, 0x50, 0x0b, 0x3d, 0x11, 0x8f, 0x8f, 0x22, 0x00, 0x89, 0x53, - 0x8c, 0x20, 0xc0, 0x7d, 0x37, 0xa0, 0x8a, 0x69, 0x68, 0xe2, 0x53, 0xfd, 0x8d, 0x71, 0x68, 0xa6, - 0x6c, 0xe1, 0x16, 0x54, 0xfb, 0xbc, 0x7a, 0xee, 0x03, 0x97, 0xa5, 0x60, 0x25, 0x25, 0xa4, 0x16, - 0xe2, 0x93, 0x58, 0x80, 0xd8, 0x5a, 0x2c, 0x9a, 0x0b, 0xbf, 0x99, 0x91, 0xef, 0xe9, 0xa6, 0xe5, - 0xe1, 0x6e, 0xe0, 0x78, 0x07, 0x5c, 0xd0, 0xa9, 0x9e, 0xb3, 0xb7, 0x2a, 0x60, 0xe8, 0x3a, 0x80, - 0x69, 0xfb, 0x3a, 0xb5, 0xe1, 0x3d, 0xde, 0x8f, 0xd2, 0x04, 0x18, 0x06, 0x6d, 0x5a, 0xcd, 0xb4, - 0x7d, 0x2e, 0xf2, 0x6d, 0x68, 0x90, 0x08, 0x48, 0xef, 0xb3, 0xb9, 0x91, 0x39, 0xa4, 0xfa, 0xb5, - 0x05, 0x59, 0xee, 0x30, 0x1e, 0xd3, 0xa6, 0xdc, 0xe8, 0xc3, 0x47, 0x77, 0x60, 0x82, 0x06, 0x21, - 0xfe, 0xe2, 0x04, 0x25, 0x3b, 0x97, 0xdd, 0x5c, 0x6e, 0x7d, 0x0f, 0x28, 0x2a, 0x33, 0x3e, 0x4e, - 0x87, 0x36, 0xa1, 0x6e, 0xd8, 0xb6, 0x13, 0x18, 0xcc, 0xe3, 0x4f, 0x52, 0x36, 0x97, 0x0a, 0xd9, - 0xb4, 0x23, 0x7c, 0xc6, 0x2b, 0xce, 0x01, 0xbd, 0x05, 0xe3, 0x74, 0x4a, 0xe0, 0x3e, 0xfc, 0xcc, - 0xd0, 0x41, 0xa1, 0x31, 0x7c, 0xf4, 0x36, 0x4c, 0x3e, 0xb3, 0x6c, 0xd3, 0x79, 0xe6, 0x73, 0x7f, - 0x2a, 0x99, 0xf0, 0x97, 0x59, 0x51, 0x8a, 0x58, 0xd0, 0xb4, 0x6e, 0x42, 0x3d, 0xd6, 0xbe, 0xc3, - 0xd8, 0x6f, 0xeb, 0x1d, 0x68, 0x26, 0xdb, 0x74, 0x28, 0xfb, 0x1f, 0xc0, 0x9c, 0x36, 0xb0, 0x23, - 0xd1, 0xc4, 0x62, 0xe3, 0x3a, 0x4c, 0x70, 0x6b, 0x60, 0xc6, 0x78, 0xb2, 0x48, 0xad, 0x1a, 0xc7, - 0x8d, 0xaf, 0x1b, 0xf6, 0x0d, 0xdb, 0xec, 0x61, 0x8f, 0xd7, 0x28, 0xd6, 0x0d, 0xf7, 0x19, 0x54, - 0x7d, 0x1b, 0x8e, 0x27, 0xaa, 0xe5, 0xcb, 0x96, 0x17, 0x61, 0xda, 0x75, 0x4c, 0xdd, 0x67, 0x60, - 0x11, 0x4b, 0xd6, 0x88, 0xed, 0x08, 0xdc, 0x75, 0x93, 0x90, 0x6f, 0x05, 0x8e, 0x9b, 0x16, 0x7b, - 0x34, 0xf2, 0x45, 0x98, 0x4f, 0x92, 0xb3, 0xea, 0xd5, 0x77, 0x61, 0x41, 0xc3, 0x7d, 0xe7, 0x29, - 0x3e, 0x2a, 0xeb, 0x16, 0x2c, 0xa6, 0x19, 0x70, 0xe6, 0x1f, 0xc0, 0x42, 0x04, 0xdd, 0x0a, 0x8c, - 0x60, 0xe0, 0x1f, 0x8a, 0x39, 0x5f, 0xd3, 0x3d, 0x76, 0x7c, 0xd6, 0x91, 0x55, 0x4d, 0x7c, 0xaa, - 0x0b, 0x30, 0xde, 0x71, 0xcc, 0xf5, 0x0e, 0x9a, 0x86, 0x92, 0xe5, 0x72, 0xe2, 0x92, 0xe5, 0xaa, - 0xdd, 0x78, 0x9d, 0x1b, 0x2c, 0xea, 0x64, 0x55, 0x27, 0x51, 0xd1, 0x0d, 0x98, 0x36, 0x4c, 0xd3, - 0x22, 0x86, 0x64, 0xf4, 0x74, 0xcb, 0x15, 0x41, 0xf3, 0x6c, 0xa2, 0xeb, 0xd7, 0x3b, 0x5a, 0x23, - 0x42, 0x5c, 0x77, 0x7d, 0xf5, 0x2e, 0xd4, 0xa2, 0x00, 0xfd, 0x8d, 0x68, 0x7d, 0x56, 0x1a, 0x1e, - 0xcb, 0x85, 0x8b, 0xb7, 0x8d, 0xd4, 0x24, 0xc9, 0xc5, 0x7c, 0x03, 0x20, 0x74, 0xaa, 0x22, 0x3c, - 0x3c, 0x9e, 0xc9, 0x52, 0x8b, 0x21, 0xaa, 0xff, 0x5e, 0x89, 0x3b, 0xd9, 0x58, 0x93, 0xcd, 0xb0, - 0xc9, 0xa6, 0xe4, 0x74, 0x4b, 0x87, 0x74, 0xba, 0xaf, 0xc1, 0xb8, 0x1f, 0x18, 0x01, 0xe6, 0xf1, - 0xf8, 0x52, 0x36, 0x21, 0xa9, 0x18, 0x6b, 0x0c, 0x13, 0x9d, 0x02, 0xe8, 0x7a, 0xd8, 0x08, 0xb0, - 0xa9, 0x1b, 0x6c, 0x56, 0x28, 0x6b, 0x35, 0x0e, 0x69, 0x07, 0xc4, 0x8b, 0x88, 0x15, 0x44, 0xc6, - 0x44, 0x98, 0xd3, 0x8d, 0xd1, 0x5a, 0x22, 0xf4, 0x5e, 0x13, 0x43, 0xbd, 0x17, 0x27, 0xe5, 0xde, - 0x2b, 0xf2, 0xc4, 0x93, 0x45, 0x9e, 0x98, 0x11, 0x8d, 0xe2, 0x89, 0xab, 0x45, 0x9e, 0x98, 0xb3, - 0x29, 0xf6, 0xc4, 0x19, 0x8e, 0xa4, 0x96, 0xe5, 0x48, 0x3e, 0x4b, 0xd7, 0xf9, 0x97, 0x25, 0x58, - 0x4c, 0x8f, 0x67, 0xee, 0xc7, 0xae, 0xc3, 0x84, 0x4f, 0x21, 0xc5, 0xfe, 0x93, 0x53, 0x71, 0x5c, - 0x74, 0x17, 0x2a, 0x96, 0xbd, 0xeb, 0xf0, 0x81, 0x77, 0xb9, 0x90, 0x86, 0xd7, 0x74, 0x79, 0xdd, - 0xde, 0x75, 0x98, 0x06, 0x29, 0x2d, 0x7a, 0x00, 0xc7, 0xc2, 0x95, 0xb5, 0xaf, 0x33, 0xc6, 0x58, - 0xc4, 0x79, 0x92, 0x95, 0x86, 0x51, 0x15, 0xe7, 0x88, 0x22, 0xba, 0x2d, 0x4e, 0x46, 0x62, 0x1c, - 0x82, 0xee, 0x07, 0x46, 0xdf, 0x15, 0x16, 0x1b, 0x02, 0x5a, 0x6f, 0x41, 0x2d, 0xac, 0xfe, 0x50, - 0xba, 0x5b, 0x87, 0xb9, 0xc4, 0x18, 0x61, 0x0b, 0xc9, 0x70, 0x50, 0x29, 0xa3, 0x0e, 0x2a, 0xf5, - 0xe7, 0x4a, 0x7c, 0xa0, 0xbf, 0x67, 0xf5, 0x02, 0xec, 0xa5, 0x06, 0xfa, 0x9b, 0x82, 0x2f, 0x1b, - 0xe5, 0xa7, 0x0b, 0xf8, 0xb2, 0x75, 0x1a, 0x1f, 0xb1, 0x8f, 0x60, 0x9a, 0x9a, 0xb8, 0xee, 0xe3, - 0x1e, 0x8d, 0x95, 0xb8, 0x1e, 0xaf, 0x64, 0x33, 0x60, 0xb5, 0xb3, 0x21, 0xb2, 0xc5, 0x29, 0x58, - 0xdf, 0x34, 0x7a, 0x71, 0x58, 0xeb, 0x0e, 0xa0, 0x34, 0xd2, 0xa1, 0x34, 0xf8, 0x90, 0xf8, 0x4b, - 0x3f, 0xc8, 0x9c, 0xb9, 0x77, 0xa9, 0x18, 0xc5, 0x96, 0xc7, 0x44, 0xd5, 0x38, 0xae, 0xfa, 0xaf, - 0x65, 0x80, 0xa8, 0xf0, 0x73, 0xee, 0x28, 0x6f, 0x85, 0x0e, 0x8b, 0x45, 0x9c, 0x6a, 0x36, 0xcb, - 0x4c, 0x57, 0xb5, 0x2e, 0xbb, 0x2a, 0x16, 0x7b, 0xbe, 0x92, 0xc3, 0xe0, 0xd0, 0x4e, 0x6a, 0xf2, - 0xf3, 0xe6, 0xa4, 0xde, 0x83, 0xf9, 0xa4, 0x99, 0x70, 0x0f, 0xf5, 0x2a, 0x8c, 0x5b, 0x01, 0xee, - 0xb3, 0xbd, 0xd7, 0xc4, 0x86, 0x45, 0x0c, 0x9d, 0x21, 0xa9, 0xef, 0xc0, 0xbc, 0xdc, 0x57, 0x87, - 0x0b, 0x5d, 0xd4, 0x07, 0xc9, 0xd8, 0x27, 0x72, 0x95, 0xdc, 0x3e, 0x32, 0xb7, 0x7e, 0x92, 0x34, - 0x0c, 0x53, 0xfd, 0xa1, 0x02, 0xc7, 0x13, 0x45, 0x39, 0x03, 0xff, 0x6b, 0xa9, 0x01, 0xcc, 0x7c, - 0xeb, 0xf5, 0x82, 0x5a, 0x3e, 0xc5, 0x51, 0xfc, 0x65, 0x68, 0xc9, 0xdd, 0x23, 0xa9, 0xf6, 0x66, - 0x62, 0x28, 0x9f, 0x19, 0x2a, 0x74, 0x38, 0x9e, 0x3b, 0xb0, 0x94, 0xc9, 0x38, 0xad, 0xf3, 0xf2, - 0x88, 0x3a, 0xff, 0xdf, 0x52, 0xdc, 0x67, 0xb7, 0x83, 0xc0, 0xb3, 0x1e, 0x0f, 0x02, 0xfc, 0xc9, - 0x06, 0x55, 0xab, 0xe1, 0xc8, 0x66, 0x7e, 0xf6, 0xd5, 0x6c, 0xca, 0xa8, 0xf6, 0xcc, 0x31, 0xbe, - 0x25, 0x8f, 0xf1, 0x0a, 0x65, 0xf5, 0xda, 0x50, 0x56, 0x85, 0xa3, 0xfd, 0xb3, 0x1c, 0xc4, 0xff, - 0xa8, 0xc0, 0x4c, 0xa2, 0x57, 0xd0, 0x1d, 0x00, 0x23, 0x14, 0x9d, 0xdb, 0xc7, 0xe9, 0x61, 0x4d, - 0xd4, 0x62, 0x34, 0x64, 0x4e, 0x64, 0xf1, 0x62, 0xc6, 0x9c, 0x98, 0x11, 0x2f, 0x86, 0xe1, 0xe2, - 0xed, 0x68, 0xb1, 0xcb, 0x36, 0x49, 0xd5, 0xc2, 0xc5, 0x2e, 0xa3, 0x15, 0x24, 0xea, 0x6f, 0x96, - 0x60, 0x2e, 0x8b, 0x3b, 0x7a, 0x19, 0xca, 0x5d, 0x77, 0xc0, 0x5b, 0x22, 0x1d, 0xd4, 0xac, 0xb8, - 0x83, 0x1d, 0xdf, 0xd8, 0xc3, 0x1a, 0x41, 0x40, 0x57, 0x60, 0xa2, 0x8f, 0xfb, 0x8e, 0x77, 0xc0, - 0xe5, 0x96, 0xb6, 0x1b, 0x1e, 0xd2, 0x12, 0x86, 0xcd, 0xd1, 0xd0, 0xb5, 0x28, 0xac, 0x66, 0xf2, - 0x2e, 0x4a, 0xab, 0x07, 0x56, 0xc4, 0x48, 0xc2, 0x58, 0xfa, 0x1a, 0x4c, 0xba, 0x9e, 0xd3, 0xc5, - 0xbe, 0xcf, 0x77, 0x43, 0x16, 0x13, 0x27, 0x47, 0xa4, 0x88, 0xd3, 0x70, 0x44, 0x74, 0x0b, 0x20, - 0x0a, 0xa0, 0xf8, 0xcc, 0xd4, 0xca, 0x8d, 0xb7, 0x7c, 0x2d, 0x86, 0xad, 0xfe, 0xa0, 0x04, 0xf3, - 0xd9, 0x9a, 0x43, 0x97, 0xe2, 0x7a, 0x59, 0xca, 0x50, 0xb5, 0xac, 0x9e, 0x37, 0x13, 0xea, 0x59, - 0xce, 0xa0, 0xc8, 0xd2, 0xd2, 0xcd, 0xa4, 0x96, 0x5e, 0xc8, 0x20, 0xcc, 0x56, 0xd6, 0xcd, 0xa4, - 0xb2, 0xb2, 0x48, 0xb3, 0x75, 0xd6, 0xce, 0xd0, 0xd9, 0x99, 0xac, 0x36, 0xe6, 0xab, 0xee, 0x6f, - 0x15, 0x98, 0x8a, 0xcb, 0x25, 0x87, 0xac, 0x4a, 0x22, 0x64, 0x45, 0x1b, 0x30, 0x6b, 0xb2, 0x9d, - 0x5b, 0xdd, 0xb2, 0x03, 0xec, 0xed, 0x1a, 0x5d, 0x11, 0x15, 0x9e, 0xc9, 0xb0, 0x8b, 0x75, 0x81, - 0xc3, 0x04, 0x6f, 0x72, 0xda, 0x10, 0x4c, 0x5a, 0x10, 0xf2, 0x11, 0x5e, 0x6b, 0x04, 0x46, 0x31, - 0x22, 0xf5, 0x5f, 0x14, 0x38, 0x96, 0xa1, 0xe0, 0x21, 0x0d, 0xd9, 0xc9, 0x6f, 0xc8, 0xb9, 0xfc, - 0xae, 0x1b, 0xda, 0x9e, 0xfb, 0x19, 0xed, 0x19, 0x9d, 0x5f, 0xbc, 0x59, 0xbf, 0x50, 0xe0, 0x78, - 0x26, 0x56, 0xe6, 0xf6, 0xea, 0x35, 0xa8, 0x7a, 0xcf, 0xf5, 0xc7, 0x07, 0x01, 0xf6, 0xb3, 0x06, - 0xf6, 0x4e, 0xec, 0x0c, 0x65, 0xd2, 0x7b, 0x7e, 0x97, 0xe0, 0xa1, 0xeb, 0x50, 0xf3, 0x9e, 0xeb, - 0xd8, 0xf3, 0x1c, 0x4f, 0xf8, 0xa2, 0x5c, 0xa2, 0xaa, 0xf7, 0x7c, 0x8d, 0x22, 0x92, 0x9a, 0x02, - 0x51, 0x53, 0x65, 0x48, 0x4d, 0x41, 0x54, 0x53, 0x10, 0xd6, 0x34, 0x3e, 0xa4, 0xa6, 0x80, 0xd7, - 0xa4, 0xfe, 0x71, 0x09, 0x4e, 0x16, 0xa9, 0xeb, 0x13, 0x53, 0xc4, 0x1a, 0x20, 0xef, 0xb9, 0xee, - 0x1a, 0xdd, 0x27, 0x38, 0xf0, 0x75, 0xd3, 0x73, 0x5c, 0x17, 0x9b, 0xc3, 0x34, 0xd2, 0xf4, 0x9e, - 0x77, 0x18, 0xc5, 0x2a, 0x23, 0x38, 0x92, 0x66, 0xd6, 0x00, 0x05, 0xe9, 0xaa, 0x87, 0xa8, 0xa8, - 0x19, 0x24, 0xaa, 0x56, 0x3f, 0x84, 0xa9, 0xb8, 0x87, 0x18, 0x62, 0xfb, 0xb7, 0xa1, 0xc1, 0x3d, - 0x88, 0xde, 0x75, 0x06, 0x76, 0x30, 0x4c, 0x51, 0x53, 0x1c, 0x7b, 0x85, 0x20, 0xab, 0xdf, 0x08, - 0x87, 0xdb, 0xa7, 0x56, 0xe5, 0x9f, 0x28, 0x50, 0x5b, 0xef, 0x1b, 0x7b, 0x78, 0xcb, 0xc5, 0x5d, - 0x32, 0xd3, 0x5b, 0xe4, 0x83, 0xf7, 0x3b, 0xfb, 0x40, 0xf7, 0xe5, 0xa8, 0x85, 0xc5, 0xa9, 0x2f, - 0x4b, 0xe7, 0x88, 0x82, 0xc3, 0x90, 0x50, 0xe5, 0xe3, 0xc6, 0x1b, 0xd7, 0xa0, 0xfa, 0x45, 0x7c, - 0xc0, 0x56, 0xe4, 0x23, 0xd2, 0xa9, 0xdf, 0xa9, 0xc0, 0x42, 0xce, 0x59, 0x0d, 0x5d, 0xce, 0xb9, - 0x03, 0xdd, 0xc5, 0x9e, 0xe5, 0x98, 0x42, 0xb5, 0x5d, 0x77, 0xd0, 0xa1, 0x00, 0xb4, 0x04, 0xe4, - 0x43, 0xff, 0xc6, 0xc0, 0xe1, 0x11, 0x63, 0x59, 0xab, 0x76, 0xdd, 0xc1, 0x97, 0xc8, 0xb7, 0xa0, - 0xf5, 0xf7, 0x0d, 0x0f, 0xb3, 0x41, 0xce, 0x68, 0xb7, 0x28, 0x00, 0xbd, 0x06, 0xc7, 0xd9, 0x04, - 0xa6, 0xf7, 0xac, 0xbe, 0x45, 0x5c, 0x61, 0xcc, 0x7e, 0xcb, 0x1a, 0x62, 0x85, 0x0f, 0x48, 0xd9, - 0xba, 0xcd, 0x2c, 0x56, 0x85, 0x86, 0xe3, 0xf4, 0x75, 0xbf, 0xeb, 0x78, 0x58, 0x37, 0xcc, 0x0f, - 0xa9, 0xb1, 0x96, 0xb5, 0xba, 0xe3, 0xf4, 0xb7, 0x08, 0xac, 0x6d, 0x7e, 0x88, 0x5e, 0x80, 0x7a, - 0xd7, 0x1d, 0xf8, 0x38, 0xd0, 0xc9, 0x1f, 0xba, 0xa3, 0x56, 0xd3, 0x80, 0x81, 0x56, 0xdc, 0x81, - 0x1f, 0x43, 0xe8, 0x93, 0x35, 0xd4, 0x64, 0x1c, 0xe1, 0x21, 0xee, 0xd3, 0x23, 0xe9, 0xfd, 0xc1, - 0x1e, 0x76, 0x8d, 0x3d, 0xcc, 0x44, 0x13, 0xdb, 0x62, 0xd2, 0x91, 0xf4, 0x7d, 0x8e, 0x42, 0x05, - 0xd4, 0xa6, 0xf7, 0xe3, 0x9f, 0x3e, 0x7a, 0x1f, 0x26, 0x07, 0xb6, 0xb5, 0x6b, 0x61, 0x73, 0xb1, - 0x46, 0x69, 0xaf, 0x8e, 0x70, 0x32, 0x76, 0x79, 0x87, 0x91, 0xf0, 0x83, 0x3a, 0xce, 0x00, 0xdd, - 0x82, 0x16, 0x57, 0x94, 0xff, 0xcc, 0x70, 0x93, 0xda, 0x02, 0xaa, 0x82, 0x79, 0x86, 0xb1, 0xf5, - 0xcc, 0x70, 0xe3, 0x1a, 0x6b, 0xdd, 0x82, 0xa9, 0x38, 0xd3, 0x43, 0xd9, 0xd2, 0x5d, 0x68, 0x48, - 0x8d, 0x24, 0xbd, 0x4d, 0x95, 0xe2, 0x5b, 0xdf, 0x14, 0x03, 0xa0, 0x4a, 0x00, 0x5b, 0xd6, 0x37, - 0x69, 0x22, 0x01, 0x95, 0x8c, 0xf2, 0xa9, 0x68, 0xec, 0x43, 0x35, 0xa0, 0x21, 0x9d, 0xdd, 0x13, - 0xbf, 0x49, 0x0f, 0xe9, 0xb9, 0xdf, 0x24, 0xbf, 0x09, 0xcc, 0x73, 0x7a, 0x42, 0x02, 0xfa, 0x9b, - 0xc0, 0xe8, 0x29, 0x31, 0x3b, 0xf3, 0xa2, 0xbf, 0x69, 0x15, 0xf8, 0x29, 0x4f, 0x89, 0xa9, 0x69, - 0xec, 0x43, 0xfd, 0x5d, 0x05, 0x60, 0xc5, 0x70, 0x8d, 0xc7, 0x56, 0xcf, 0x0a, 0x0e, 0xd0, 0x79, - 0x68, 0x1a, 0xa6, 0xa9, 0x77, 0x05, 0xc4, 0xc2, 0x22, 0x47, 0x69, 0xc6, 0x30, 0xcd, 0x95, 0x18, - 0x18, 0x5d, 0x84, 0x59, 0xe2, 0xf5, 0x64, 0x5c, 0x96, 0xb4, 0xd4, 0x24, 0x05, 0x12, 0xf2, 0x0d, - 0x58, 0x24, 0x7c, 0x8d, 0xfe, 0x63, 0x0b, 0xdb, 0x81, 0x4c, 0xc3, 0xb2, 0x99, 0xe6, 0x0d, 0xd3, - 0x6c, 0xb3, 0xe2, 0x38, 0xa5, 0xfa, 0x37, 0x13, 0x70, 0x4a, 0xee, 0xf1, 0x64, 0x3a, 0xc5, 0x2d, - 0x98, 0x4a, 0xc8, 0x9b, 0x4a, 0x44, 0x88, 0x5a, 0xa8, 0x49, 0xb8, 0x89, 0x84, 0x81, 0x52, 0x2a, - 0x61, 0x20, 0x33, 0x55, 0xa3, 0xfc, 0x09, 0xa5, 0x6a, 0x54, 0x3e, 0x66, 0xaa, 0xc6, 0xf8, 0x51, - 0x53, 0x35, 0xa6, 0x46, 0x4e, 0xd5, 0x78, 0x99, 0x6e, 0xf5, 0x88, 0x1a, 0xe9, 0x9c, 0xcd, 0x7c, - 0x42, 0x23, 0xe4, 0x6e, 0x8b, 0xc4, 0xb9, 0x44, 0x4a, 0xc7, 0xe4, 0x61, 0x52, 0x3a, 0xaa, 0xb9, - 0x29, 0x1d, 0xa7, 0x61, 0xca, 0x76, 0x74, 0x1b, 0x3f, 0xd3, 0x49, 0xb7, 0xf8, 0x8b, 0x75, 0xd6, - 0x47, 0xb6, 0xb3, 0x81, 0x9f, 0x75, 0x08, 0x04, 0x9d, 0x81, 0xa9, 0xbe, 0xe1, 0x3f, 0xc1, 0x26, - 0xcd, 0xad, 0xf0, 0x17, 0x1b, 0xd4, 0x9e, 0xea, 0x0c, 0xd6, 0x21, 0x20, 0xf4, 0x12, 0x84, 0x72, - 0x70, 0xa4, 0x69, 0x8a, 0xd4, 0x10, 0x50, 0x86, 0x16, 0x4b, 0x0f, 0x99, 0x39, 0x62, 0x7a, 0x48, - 0xf3, 0x30, 0xe9, 0x21, 0x97, 0xa0, 0x29, 0x7e, 0x8b, 0xfc, 0x10, 0xb6, 0xdd, 0x4f, 0x53, 0x43, - 0x66, 0x44, 0x99, 0xc8, 0x01, 0xc9, 0xcb, 0x26, 0x81, 0xc2, 0x6c, 0x92, 0xef, 0x2b, 0x7c, 0xe1, - 0x19, 0x0e, 0x20, 0x7e, 0x8c, 0x2d, 0x65, 0x20, 0x28, 0x47, 0xc9, 0x40, 0x40, 0xdb, 0xb9, 0x39, - 0x1a, 0xe7, 0xf3, 0x39, 0x0d, 0xcb, 0xd2, 0x50, 0x1f, 0x86, 0x6b, 0xc2, 0x4f, 0x22, 0xd7, 0x4c, - 0xfd, 0x4f, 0x05, 0x4e, 0x71, 0x7e, 0x39, 0x09, 0x59, 0x19, 0x56, 0xae, 0xe4, 0x58, 0x79, 0xd7, - 0xc3, 0x26, 0xb6, 0x03, 0xcb, 0xe8, 0xe9, 0xbe, 0x8b, 0xbb, 0xe2, 0x98, 0x37, 0x02, 0xd3, 0x40, - 0xe7, 0x0c, 0x4c, 0xb1, 0x0c, 0x46, 0xbe, 0x3c, 0x64, 0x89, 0x8a, 0x75, 0x9a, 0xc4, 0xc8, 0x57, - 0x80, 0x9b, 0x59, 0x9e, 0xa5, 0x92, 0xbb, 0xaf, 0x30, 0xd4, 0xc1, 0xa8, 0x0e, 0x2c, 0xe4, 0x1c, - 0xb8, 0x67, 0x76, 0x93, 0x92, 0xee, 0xa6, 0x42, 0x25, 0xa5, 0xbb, 0xe9, 0x3b, 0x0a, 0xbc, 0x90, - 0x5a, 0xa6, 0x7e, 0xf6, 0x9a, 0x55, 0xff, 0x5c, 0x09, 0xed, 0x27, 0x69, 0xf2, 0x2b, 0x69, 0x93, - 0x7f, 0xa9, 0x68, 0xd5, 0x9d, 0x69, 0xf4, 0x8f, 0x72, 0x8d, 0xfe, 0x62, 0xe1, 0x0a, 0x7e, 0x98, - 0x3e, 0xff, 0x4d, 0x81, 0x13, 0xb9, 0x02, 0x24, 0xe2, 0x41, 0x25, 0x19, 0x0f, 0xf2, 0x58, 0x32, - 0x0a, 0xd1, 0x59, 0x2c, 0x49, 0xa3, 0x70, 0x1e, 0xb4, 0xe9, 0x7d, 0xe3, 0xb9, 0xd5, 0x1f, 0xf4, - 0x79, 0x30, 0x49, 0xd8, 0x3d, 0x64, 0x90, 0xa3, 0x44, 0x93, 0x57, 0x60, 0x8e, 0x39, 0x7a, 0x1a, - 0xd0, 0x44, 0x14, 0x2c, 0xa8, 0x9c, 0x65, 0x65, 0x24, 0xb6, 0xe1, 0x04, 0x6a, 0x1b, 0x66, 0xc3, - 0x66, 0x15, 0x26, 0x1c, 0xc5, 0x12, 0x88, 0x4a, 0x72, 0x02, 0x91, 0x0d, 0x13, 0xab, 0xf8, 0xa9, - 0xd5, 0xc5, 0x9f, 0x48, 0x26, 0xf1, 0x69, 0xa8, 0xbb, 0xd8, 0xeb, 0x5b, 0xbe, 0x1f, 0xce, 0xea, - 0x35, 0x2d, 0x0e, 0x52, 0xbf, 0x3f, 0x01, 0x33, 0x49, 0x13, 0xba, 0x99, 0xca, 0x57, 0x3a, 0x95, - 0xb9, 0xd7, 0x95, 0xb1, 0xc9, 0x7b, 0x51, 0x2c, 0x7f, 0x4a, 0xe9, 0xc3, 0xfc, 0x70, 0x89, 0x23, - 0x56, 0x45, 0x8b, 0x30, 0xd9, 0x75, 0xfa, 0x7d, 0xc3, 0x36, 0x45, 0xba, 0x37, 0xff, 0x24, 0x3a, - 0x33, 0xbc, 0x3d, 0xb6, 0xbd, 0x5b, 0xd3, 0xe8, 0x6f, 0xd2, 0xc3, 0xc4, 0xd7, 0x59, 0x36, 0xcd, - 0x78, 0xa2, 0x9d, 0x50, 0xd3, 0x80, 0x83, 0x56, 0x2d, 0x0f, 0x9d, 0x83, 0x0a, 0xb6, 0x9f, 0x8a, - 0x73, 0x1f, 0x69, 0x9b, 0x51, 0x2c, 0x79, 0x34, 0x8a, 0x81, 0xce, 0xc3, 0x44, 0x9f, 0x58, 0x8d, - 0x38, 0x15, 0x9f, 0x4d, 0xa5, 0x45, 0x6b, 0x1c, 0x01, 0xbd, 0x0a, 0x93, 0x26, 0xed, 0x0f, 0x11, - 0xe3, 0x23, 0x29, 0x77, 0x8a, 0x16, 0x69, 0x02, 0x05, 0xbd, 0x1b, 0xee, 0x71, 0xd7, 0xd2, 0x87, - 0x4f, 0x09, 0x35, 0x67, 0x6e, 0x6f, 0x6f, 0xc8, 0x0b, 0x45, 0x48, 0xef, 0x94, 0x27, 0xb9, 0x14, - 0x9f, 0x63, 0x9d, 0x80, 0x6a, 0xcf, 0xd9, 0x63, 0xc6, 0x51, 0x67, 0x77, 0x05, 0x7a, 0xce, 0x1e, - 0xb5, 0x8d, 0x39, 0x18, 0xf7, 0x03, 0xd3, 0xb2, 0x69, 0xa8, 0x54, 0xd5, 0xd8, 0x07, 0x19, 0x83, - 0xf4, 0x87, 0xee, 0xd8, 0x5d, 0xbc, 0xd8, 0xa0, 0x45, 0x35, 0x0a, 0xd9, 0xb4, 0xbb, 0x74, 0xc9, - 0x18, 0x04, 0x07, 0x8b, 0xd3, 0x14, 0x4e, 0x7e, 0x46, 0x5b, 0xcd, 0x33, 0x39, 0x5b, 0xcd, 0x09, - 0x81, 0x33, 0xb6, 0x9a, 0x9b, 0xb9, 0x53, 0x42, 0x92, 0xf6, 0xf3, 0x90, 0x56, 0xf5, 0x03, 0x05, - 0xe6, 0x57, 0xe8, 0x79, 0x65, 0xcc, 0x85, 0x1d, 0x26, 0xd5, 0xe7, 0xf5, 0x30, 0xff, 0x2a, 0x23, - 0x89, 0x26, 0xd9, 0x62, 0x91, 0x7e, 0xb5, 0x02, 0xd3, 0x82, 0x2d, 0x27, 0x2e, 0x8f, 0x90, 0xbc, - 0xd5, 0xf0, 0xe3, 0x9f, 0xea, 0x6d, 0x58, 0x48, 0x49, 0xce, 0x4f, 0x8d, 0x92, 0x89, 0xfc, 0x4c, - 0xf0, 0x78, 0x22, 0xbf, 0x7a, 0x0b, 0x8e, 0x6f, 0x05, 0x86, 0x17, 0xa4, 0x9a, 0x3d, 0x02, 0x2d, - 0x4d, 0xcb, 0x92, 0x69, 0x79, 0xe6, 0xd4, 0x16, 0xcc, 0x6d, 0x05, 0x8e, 0x7b, 0x04, 0xa6, 0xc4, - 0x7f, 0x90, 0x96, 0x3b, 0x03, 0x31, 0x1d, 0x88, 0x4f, 0x75, 0x81, 0x25, 0x91, 0xa5, 0x6b, 0xfb, - 0x02, 0xcc, 0xb3, 0x1c, 0xae, 0xa3, 0x34, 0xe2, 0x84, 0xc8, 0x20, 0x4b, 0xf3, 0xbd, 0x07, 0xc7, - 0xa4, 0x7d, 0x6c, 0x9e, 0xf3, 0x70, 0x55, 0xce, 0x79, 0xc8, 0x3f, 0x32, 0x08, 0x53, 0x1e, 0xbe, - 0x5b, 0x8a, 0xf9, 0xe3, 0x9c, 0x83, 0xcf, 0x37, 0xe4, 0x8c, 0x87, 0x17, 0xf2, 0xb9, 0x4a, 0x09, - 0x0f, 0x69, 0xeb, 0x2c, 0x67, 0x58, 0xe7, 0x4e, 0xea, 0x54, 0xb5, 0x92, 0xce, 0x58, 0x49, 0x48, - 0xf8, 0xa9, 0x9c, 0xa7, 0x3e, 0x60, 0x59, 0x11, 0x61, 0xd5, 0xe1, 0x51, 0xea, 0xeb, 0x89, 0xa3, - 0xd4, 0xa5, 0x02, 0x49, 0xc3, 0x43, 0xd4, 0xef, 0x56, 0xa0, 0x16, 0x96, 0xa5, 0x34, 0x9c, 0x56, - 0x55, 0x29, 0x43, 0x55, 0xf1, 0x79, 0xb2, 0x7c, 0xc4, 0x79, 0xb2, 0x32, 0xc2, 0x3c, 0xb9, 0x04, - 0x35, 0xfa, 0x83, 0x26, 0xb2, 0xb3, 0x79, 0xaf, 0x4a, 0x01, 0x1a, 0xde, 0x8d, 0x4c, 0x6c, 0x62, - 0x44, 0x13, 0x4b, 0x64, 0x60, 0x4c, 0x26, 0x33, 0x30, 0x6e, 0x86, 0x73, 0x58, 0x35, 0x7d, 0xe2, - 0x11, 0x72, 0xcc, 0x9c, 0xbd, 0x12, 0xdb, 0x9c, 0xb5, 0xf4, 0x36, 0x67, 0x44, 0xff, 0xb9, 0x3d, - 0x91, 0xdd, 0x64, 0x69, 0x15, 0x71, 0x3b, 0xe3, 0x3e, 0xf2, 0x0d, 0xe9, 0x44, 0x4b, 0x49, 0xdf, - 0x25, 0x8a, 0xfc, 0x42, 0xfc, 0x14, 0x6b, 0x07, 0xe6, 0x93, 0xe9, 0x58, 0x87, 0xf2, 0x71, 0x39, - 0x79, 0xa1, 0xbf, 0x1d, 0x8f, 0xdc, 0x72, 0x92, 0x20, 0x6f, 0xa6, 0xce, 0xeb, 0x47, 0xb6, 0xd0, - 0xab, 0x72, 0x6a, 0xcf, 0xa1, 0xed, 0x2a, 0x95, 0xd9, 0x43, 0x23, 0x0b, 0xc3, 0xe3, 0xc5, 0x2c, - 0x86, 0xae, 0x71, 0x48, 0x9b, 0x06, 0xf0, 0xbb, 0x96, 0x6d, 0xf9, 0xfb, 0xac, 0x7c, 0x82, 0x05, - 0xf0, 0x02, 0xd4, 0xa6, 0x9b, 0x8b, 0xf8, 0xb9, 0x15, 0xe8, 0x5d, 0xc7, 0xc4, 0xd4, 0x6a, 0xc7, - 0xb5, 0x2a, 0x01, 0xac, 0x38, 0x26, 0x8e, 0xc6, 0x53, 0xf5, 0xb0, 0xe3, 0xa9, 0x96, 0x18, 0x4f, - 0xf3, 0x30, 0xe1, 0x61, 0xc3, 0x77, 0x6c, 0xb6, 0xe7, 0xa0, 0xf1, 0x2f, 0xd2, 0x11, 0x7d, 0xec, - 0xfb, 0xa4, 0x0e, 0x1e, 0x48, 0xf1, 0xcf, 0x58, 0xd0, 0x37, 0x55, 0x10, 0xf4, 0x15, 0xa4, 0x58, - 0x26, 0x82, 0xbe, 0x46, 0x41, 0xd0, 0x37, 0x52, 0x86, 0x65, 0x14, 0xde, 0x4e, 0x0f, 0x0b, 0x6f, - 0xe3, 0xf1, 0xe1, 0x8c, 0x1c, 0x1f, 0xde, 0x8e, 0x2f, 0x24, 0x9b, 0xe9, 0x03, 0xe7, 0xe2, 0x8b, - 0x1b, 0x9f, 0xe1, 0x00, 0xfe, 0x27, 0x05, 0x16, 0x52, 0x03, 0x8e, 0x0f, 0xe1, 0xd7, 0x13, 0xb9, - 0x9b, 0x85, 0x49, 0x93, 0x22, 0x75, 0xb3, 0x2d, 0xa5, 0x6e, 0x5e, 0x2a, 0x22, 0xc9, 0xc9, 0xdc, - 0x3c, 0x7a, 0x36, 0xe5, 0xb7, 0x15, 0x40, 0x19, 0x4b, 0xe5, 0x9b, 0x22, 0xea, 0x3e, 0xc4, 0xa6, - 0x16, 0x0f, 0xbc, 0xdf, 0x8d, 0x02, 0xef, 0xd2, 0x61, 0xb6, 0x07, 0xc2, 0x34, 0x8f, 0x9f, 0x96, - 0xe0, 0x85, 0x1d, 0xd7, 0x4c, 0x84, 0x91, 0x1c, 0x6b, 0x74, 0xcf, 0x76, 0x53, 0xce, 0x51, 0x39, - 0x62, 0x13, 0xca, 0x47, 0x69, 0x02, 0xfa, 0x7a, 0x56, 0x16, 0xd1, 0x6d, 0xe9, 0xbc, 0xaf, 0xb8, - 0x81, 0xbf, 0xe4, 0x53, 0x3a, 0x15, 0x4e, 0xe7, 0x0b, 0xc0, 0x43, 0xce, 0xff, 0x0f, 0x33, 0x6b, - 0xcf, 0x71, 0x77, 0xeb, 0xc0, 0xee, 0x1e, 0x42, 0xeb, 0x4d, 0x28, 0x77, 0xfb, 0x26, 0x3f, 0xc4, - 0x20, 0x3f, 0xe3, 0x51, 0x74, 0x59, 0x8e, 0xa2, 0x75, 0x68, 0x46, 0x35, 0xf0, 0x01, 0x34, 0x4f, - 0x06, 0x90, 0x49, 0x90, 0x09, 0xf3, 0x29, 0x8d, 0x7f, 0x71, 0x38, 0xf6, 0xd8, 0xad, 0x10, 0x06, - 0xc7, 0x9e, 0x27, 0x7b, 0xed, 0xb2, 0xec, 0xb5, 0xd5, 0xef, 0x29, 0x50, 0x27, 0x35, 0x7c, 0x2c, - 0xf9, 0xf9, 0x92, 0xb4, 0x1c, 0x2d, 0x49, 0xc3, 0x95, 0x6d, 0x25, 0xbe, 0xb2, 0x8d, 0x24, 0x1f, - 0xa7, 0xe0, 0xb4, 0xe4, 0x13, 0x21, 0x1c, 0x7b, 0x9e, 0x7a, 0x1a, 0xa6, 0x98, 0x6c, 0xbc, 0xe5, - 0x4d, 0x28, 0x0f, 0xbc, 0x9e, 0xe8, 0xbf, 0x81, 0xd7, 0x53, 0xbf, 0xa5, 0x40, 0xa3, 0x1d, 0x04, - 0x46, 0x77, 0xff, 0x10, 0x0d, 0x08, 0x85, 0x2b, 0xc5, 0x85, 0x4b, 0x37, 0x22, 0x12, 0xb7, 0x92, - 0x23, 0xee, 0xb8, 0x24, 0xae, 0x0a, 0xd3, 0x42, 0x96, 0x5c, 0x81, 0x37, 0x00, 0x75, 0x1c, 0x2f, - 0x78, 0xcf, 0xf1, 0x9e, 0x19, 0x9e, 0x79, 0xb8, 0x55, 0x2b, 0x82, 0x0a, 0xbf, 0x35, 0x5f, 0x3e, - 0x37, 0xae, 0xd1, 0xdf, 0xea, 0x2b, 0x70, 0x4c, 0xe2, 0x97, 0x5b, 0xf1, 0x2d, 0xa8, 0xd3, 0x59, - 0x98, 0x2f, 0x68, 0x2e, 0xc6, 0x0f, 0xc9, 0x87, 0xcc, 0xd6, 0xea, 0x2a, 0xcc, 0x92, 0x78, 0x8c, - 0xc2, 0x43, 0xff, 0x72, 0x25, 0x11, 0xf3, 0x2f, 0xa4, 0x58, 0x24, 0xe2, 0xfd, 0x9f, 0x2b, 0x30, - 0x4e, 0xe1, 0xa9, 0x18, 0x69, 0x89, 0xcc, 0x73, 0xae, 0xa3, 0x07, 0xc6, 0x5e, 0xf8, 0x22, 0x01, - 0x01, 0x6c, 0x1b, 0x7b, 0xf4, 0xe0, 0x85, 0x16, 0x9a, 0xd6, 0x1e, 0xf6, 0x03, 0x71, 0x90, 0x57, - 0x27, 0xb0, 0x55, 0x06, 0x22, 0x8a, 0xa1, 0xe7, 0x9d, 0x15, 0x7a, 0xac, 0x49, 0x7f, 0xa3, 0x73, - 0xec, 0x42, 0x61, 0xf1, 0xe9, 0x15, 0xbd, 0x68, 0xd8, 0x82, 0x6a, 0xe2, 0xd8, 0x29, 0xfc, 0x46, - 0xe7, 0xa1, 0x42, 0xb7, 0x89, 0x27, 0x8b, 0xb4, 0x44, 0x51, 0x88, 0x55, 0xb8, 0x96, 0x6d, 0x63, - 0x93, 0x06, 0x40, 0x55, 0x8d, 0x7f, 0xa9, 0xef, 0x02, 0x8a, 0x2b, 0x8f, 0x77, 0xd0, 0x79, 0x98, - 0xa0, 0xba, 0x15, 0x41, 0xec, 0x6c, 0x8a, 0xb5, 0xc6, 0x11, 0xd4, 0xaf, 0x01, 0x62, 0x75, 0x49, - 0x81, 0xeb, 0x61, 0x3a, 0xb0, 0x20, 0x84, 0xfd, 0x0b, 0x05, 0x8e, 0x49, 0xdc, 0xb9, 0x7c, 0xaf, - 0xc8, 0xec, 0x33, 0xc4, 0xe3, 0xac, 0xdf, 0x96, 0x66, 0xe6, 0xf3, 0x69, 0x31, 0x7e, 0x49, 0xb3, - 0xf2, 0x3f, 0x2b, 0x00, 0xed, 0x41, 0xb0, 0xcf, 0x37, 0x4c, 0xe3, 0x9d, 0xa8, 0x24, 0x3a, 0xb1, - 0x05, 0x55, 0xd7, 0xf0, 0xfd, 0x67, 0x8e, 0x27, 0x16, 0x91, 0xe1, 0x37, 0xdd, 0xe6, 0x1c, 0xf0, - 0x87, 0x11, 0x6a, 0x1a, 0xfd, 0x8d, 0x5e, 0x82, 0x69, 0xf6, 0x54, 0x86, 0x6e, 0x98, 0xa6, 0x27, - 0x12, 0xef, 0x6a, 0x5a, 0x83, 0x41, 0xdb, 0x0c, 0x48, 0xd0, 0x2c, 0x7a, 0x68, 0x10, 0x1c, 0xe8, - 0x81, 0xf3, 0x04, 0xdb, 0x7c, 0x61, 0xd8, 0x10, 0xd0, 0x6d, 0x02, 0x64, 0xa7, 0x82, 0x7b, 0x96, - 0x1f, 0x78, 0x02, 0x4d, 0x9c, 0x6d, 0x72, 0x28, 0x45, 0x53, 0xff, 0x54, 0x81, 0x66, 0x67, 0xd0, - 0xeb, 0x31, 0xe5, 0x1e, 0xa5, 0x93, 0x2f, 0xf0, 0xa6, 0x94, 0xd2, 0x26, 0x1f, 0x29, 0x8a, 0x37, - 0xf1, 0x13, 0xd9, 0xcb, 0xba, 0x0a, 0xb3, 0x31, 0x89, 0xb9, 0xe1, 0x48, 0x91, 0xbd, 0x22, 0x47, - 0xf6, 0x6a, 0x1b, 0x10, 0xdb, 0xbe, 0x39, 0x72, 0x2b, 0xd5, 0xe3, 0x70, 0x4c, 0x62, 0xc1, 0xa7, - 0xe2, 0x0b, 0xd0, 0xe0, 0x49, 0x60, 0xdc, 0x20, 0x4e, 0x40, 0x95, 0xb8, 0xd4, 0xae, 0x65, 0x8a, - 0x44, 0x86, 0x49, 0xd7, 0x31, 0x57, 0x2c, 0xd3, 0x53, 0xbf, 0x04, 0x0d, 0x7e, 0xcb, 0x9c, 0xe3, - 0xde, 0x81, 0x69, 0x7e, 0x8c, 0xa7, 0x4b, 0xd7, 0x32, 0x4f, 0x64, 0x64, 0x1a, 0x0a, 0x55, 0xd8, - 0xf1, 0x4f, 0xf5, 0xeb, 0xd0, 0x62, 0xd1, 0x82, 0xc4, 0x58, 0x34, 0xf0, 0x0e, 0x88, 0x3b, 0x0b, - 0x05, 0xfc, 0x65, 0xca, 0x86, 0x17, 0xff, 0x54, 0x4f, 0xc1, 0x52, 0x26, 0x7f, 0xde, 0x7a, 0x17, - 0x9a, 0x51, 0x01, 0xbb, 0x3b, 0x18, 0x66, 0x67, 0x28, 0xb1, 0xec, 0x8c, 0xf9, 0x30, 0xf6, 0x2e, - 0x89, 0x99, 0x8b, 0x86, 0xd7, 0xd1, 0x8a, 0xab, 0x9c, 0xb7, 0xe2, 0xaa, 0x48, 0x2b, 0x2e, 0xf5, - 0x61, 0xa8, 0x43, 0xbe, 0xee, 0xbd, 0x4d, 0x57, 0xe6, 0xac, 0x6e, 0xe1, 0xd4, 0x4e, 0x66, 0xb7, - 0x8f, 0x21, 0x69, 0x31, 0x7c, 0xf5, 0x3c, 0x34, 0x64, 0xf7, 0x16, 0xf3, 0x58, 0x4a, 0xca, 0x63, - 0x4d, 0x27, 0x9c, 0xd5, 0x6b, 0x89, 0x25, 0x45, 0x96, 0x5e, 0x13, 0x0b, 0x8a, 0x1b, 0x92, 0xdb, - 0x7a, 0x51, 0x3a, 0x49, 0xff, 0x25, 0x79, 0xac, 0x39, 0xee, 0xc7, 0xdf, 0xf3, 0x09, 0x3d, 0x6f, - 0xa8, 0x7a, 0x16, 0xea, 0x3b, 0x79, 0x6f, 0x7d, 0x54, 0x44, 0xfa, 0xd7, 0x9b, 0x30, 0xf7, 0x9e, - 0xd5, 0xc3, 0xfe, 0x81, 0x1f, 0xe0, 0xfe, 0x3a, 0x75, 0x2f, 0xbb, 0x16, 0xf6, 0xd0, 0x32, 0x00, - 0x5d, 0x45, 0xba, 0x8e, 0x15, 0xbe, 0x6f, 0x10, 0x83, 0xa8, 0x3f, 0x51, 0x60, 0x26, 0x22, 0x1c, - 0x25, 0x11, 0xef, 0x0d, 0x18, 0xdf, 0xf5, 0xc5, 0x6e, 0x5b, 0xe2, 0x2c, 0x21, 0x4b, 0x04, 0xad, - 0xb2, 0xeb, 0xaf, 0x9b, 0xe8, 0x4d, 0x80, 0x81, 0x8f, 0x4d, 0x7e, 0x3a, 0x37, 0x24, 0x35, 0xb2, - 0x46, 0x50, 0xd9, 0xf9, 0xde, 0x0d, 0xa8, 0x5b, 0xb6, 0x63, 0x62, 0x7a, 0x72, 0x6b, 0x0e, 0x4b, - 0x8b, 0x04, 0x86, 0xbb, 0xe3, 0x63, 0x53, 0xfd, 0x83, 0xe8, 0xfc, 0xf5, 0xf3, 0xdc, 0x42, 0x55, - 0xe7, 0xf3, 0xab, 0xe8, 0x75, 0x6e, 0xb2, 0xf7, 0x61, 0x96, 0xb9, 0xc9, 0xdd, 0xb0, 0xca, 0xcc, - 0xeb, 0x22, 0x89, 0xb6, 0x69, 0x4d, 0x8b, 0x47, 0x56, 0x82, 0x48, 0xbd, 0x05, 0xc7, 0x13, 0xf9, - 0xdb, 0xa3, 0x6f, 0xa7, 0xbf, 0x9f, 0xd8, 0x17, 0x8b, 0x86, 0xd4, 0x55, 0xf9, 0xda, 0x50, 0x51, - 0xa6, 0x3d, 0xbf, 0xc1, 0xb2, 0x03, 0x27, 0xa4, 0x4d, 0x3b, 0x49, 0x96, 0x1b, 0x89, 0x60, 0xf1, - 0x74, 0x3e, 0xbf, 0x44, 0xd4, 0xf8, 0x5f, 0x0a, 0xcc, 0x65, 0x21, 0x1c, 0x71, 0xc3, 0xf8, 0xab, - 0x39, 0x57, 0x0e, 0x5f, 0x1f, 0x26, 0xd0, 0xa7, 0xb2, 0xc1, 0xbe, 0xc1, 0x2e, 0x2c, 0x0d, 0xef, - 0x93, 0xf2, 0x68, 0x7d, 0xf2, 0xf3, 0x52, 0xec, 0x50, 0xa4, 0xe0, 0x52, 0xd1, 0xc7, 0xd8, 0xa4, - 0x5c, 0x49, 0xdc, 0x29, 0xba, 0x98, 0x49, 0x38, 0xe4, 0x4a, 0x91, 0x96, 0xb5, 0x19, 0x70, 0x75, - 0x18, 0xa7, 0xcf, 0xed, 0xfe, 0xf5, 0x7f, 0x2b, 0x30, 0x2d, 0x77, 0x08, 0x7a, 0x37, 0xe3, 0x42, - 0xd1, 0x0b, 0x43, 0x1a, 0x28, 0xdd, 0x27, 0xe2, 0x17, 0x78, 0x4a, 0xa3, 0x5f, 0xe0, 0x29, 0x8f, - 0x76, 0x81, 0xe7, 0x2e, 0x4c, 0x3f, 0xf3, 0xac, 0xc0, 0x78, 0xdc, 0xc3, 0x7a, 0xcf, 0x38, 0xc0, - 0x1e, 0xf7, 0xc2, 0x85, 0x6e, 0xa8, 0x21, 0x48, 0x1e, 0x10, 0x0a, 0xf5, 0x5b, 0x25, 0x38, 0x9e, - 0x79, 0x97, 0xe4, 0xe3, 0xb7, 0xfb, 0x52, 0xbc, 0xdd, 0x87, 0xb9, 0xa0, 0x53, 0x3e, 0xd4, 0x05, - 0x9d, 0xf5, 0x1c, 0x2d, 0x64, 0x1d, 0x89, 0x0f, 0x51, 0xc6, 0x5f, 0x29, 0x50, 0x15, 0x42, 0x0d, - 0xbd, 0x2e, 0xb3, 0x30, 0x20, 0x68, 0x3a, 0xcd, 0x96, 0xb6, 0x0d, 0xdb, 0xd1, 0x7d, 0x4c, 0xc2, - 0xa2, 0xa1, 0x97, 0x13, 0xe6, 0x28, 0xdd, 0x8a, 0xe3, 0xe1, 0x0d, 0xc3, 0x76, 0xb6, 0x18, 0x11, - 0x6a, 0x43, 0x93, 0xf1, 0xa3, 0xac, 0x08, 0xd3, 0xa1, 0x53, 0xd5, 0x34, 0x25, 0x20, 0x4c, 0x08, - 0x33, 0x5f, 0xfd, 0x3b, 0x05, 0x66, 0x12, 0x9a, 0xfd, 0xd5, 0x6b, 0xc4, 0xef, 0x97, 0xa1, 0x1e, - 0xeb, 0xe5, 0x21, 0x0d, 0x58, 0x81, 0x59, 0x91, 0xd6, 0xe2, 0xe3, 0x60, 0xb4, 0xcb, 0x21, 0x33, - 0x9c, 0x62, 0x0b, 0x07, 0x2c, 0x92, 0xb9, 0x03, 0x33, 0xc6, 0x53, 0xc3, 0xea, 0x51, 0x0b, 0x1a, - 0x29, 0x48, 0x98, 0x0e, 0xf1, 0xc3, 0x58, 0x88, 0xb5, 0x7b, 0xa4, 0x2b, 0x22, 0x40, 0x71, 0xa3, - 0x9b, 0x3a, 0xbe, 0x1f, 0x4b, 0x8d, 0x2a, 0xbc, 0xa9, 0xe3, 0xfb, 0x61, 0x7d, 0x34, 0x55, 0x9c, - 0x5e, 0x51, 0xf2, 0xf9, 0xbb, 0x16, 0xf9, 0xf5, 0x11, 0xdc, 0xf7, 0x28, 0x2a, 0x51, 0x58, 0xdf, - 0xf8, 0xd0, 0xf1, 0xf4, 0x38, 0xfd, 0xe4, 0x10, 0x85, 0x51, 0x8a, 0x4e, 0xc8, 0x44, 0xfd, 0x1f, - 0x05, 0x50, 0x7a, 0x40, 0xfe, 0xca, 0x74, 0x55, 0xbc, 0xe9, 0x95, 0x91, 0x55, 0xa7, 0xbe, 0x03, - 0x27, 0x34, 0xec, 0xb8, 0xd8, 0x0e, 0xfd, 0xde, 0x03, 0x67, 0xef, 0x10, 0x11, 0xdb, 0x49, 0x68, - 0x65, 0xd1, 0xf3, 0x75, 0xe0, 0x00, 0x5a, 0x2b, 0xfb, 0xb8, 0xfb, 0x84, 0x46, 0xff, 0x47, 0xc9, - 0xe7, 0x68, 0x41, 0xb5, 0xe7, 0x74, 0xd9, 0x7b, 0x95, 0x7c, 0xab, 0x44, 0x7c, 0x17, 0xec, 0x52, - 0x9f, 0x82, 0xa5, 0xcc, 0x6a, 0xb9, 0x54, 0x08, 0x9a, 0xf7, 0x70, 0xb0, 0xf6, 0x14, 0xdb, 0x61, - 0x40, 0xa8, 0xfe, 0xb0, 0x14, 0x0b, 0x3d, 0x69, 0xd1, 0x21, 0xf2, 0x60, 0x50, 0x07, 0xe6, 0x22, - 0x14, 0x4c, 0xa8, 0xd9, 0x7b, 0x75, 0xec, 0xa5, 0xc7, 0xec, 0x33, 0x32, 0x5a, 0x09, 0x7d, 0xa6, - 0x2e, 0x7a, 0x89, 0x23, 0x84, 0x25, 0x4e, 0x4e, 0xcb, 0xc9, 0x93, 0xd3, 0xf7, 0x01, 0xc5, 0x83, - 0x4b, 0xbe, 0xda, 0xac, 0x8c, 0xf0, 0xf8, 0x48, 0xd3, 0x4d, 0x3e, 0x93, 0x93, 0xf3, 0x84, 0xc8, - 0xf8, 0x91, 0x9e, 0x10, 0x51, 0x97, 0xe1, 0x24, 0x09, 0x19, 0x1f, 0xe2, 0xc0, 0xb3, 0xba, 0xab, - 0xd8, 0xef, 0x7a, 0x96, 0x1b, 0x38, 0x61, 0x6a, 0x86, 0xaa, 0xc3, 0xa9, 0x9c, 0x72, 0xae, 0xee, - 0x77, 0xa0, 0x6e, 0x46, 0xe0, 0xac, 0x95, 0x7b, 0x92, 0x56, 0x8b, 0x13, 0xa8, 0x1f, 0x40, 0x33, - 0x89, 0x90, 0x99, 0x70, 0x89, 0xa0, 0xb2, 0x8f, 0x7b, 0xae, 0xb8, 0x41, 0x42, 0x7e, 0x13, 0xad, - 0xb3, 0x68, 0xfc, 0x09, 0x3e, 0x10, 0x3b, 0xbb, 0x35, 0x0a, 0xf9, 0x22, 0x3e, 0x08, 0xdb, 0x26, - 0xdd, 0x69, 0xf7, 0xac, 0x6e, 0xb2, 0x6d, 0x19, 0xe5, 0x51, 0xdb, 0x48, 0xb7, 0xf5, 0x19, 0x98, - 0xb7, 0xed, 0x54, 0xee, 0x7d, 0x79, 0x4a, 0x0b, 0xae, 0x63, 0xf2, 0xdf, 0xea, 0x9f, 0x29, 0x30, - 0x9b, 0xc2, 0x18, 0x71, 0xb7, 0xfe, 0x55, 0x98, 0x14, 0xf5, 0x96, 0xd2, 0x69, 0x8b, 0x8c, 0x97, - 0x26, 0x50, 0xd0, 0x3a, 0xcc, 0x46, 0x16, 0x2d, 0xe8, 0xca, 0xe9, 0xbe, 0x88, 0x87, 0xe2, 0x54, - 0xdc, 0x66, 0x37, 0x01, 0x51, 0xbb, 0xd0, 0x4c, 0x62, 0x8d, 0x32, 0xa6, 0x0e, 0x25, 0xaf, 0xfa, - 0x0f, 0x0a, 0x4c, 0x30, 0x58, 0x66, 0x67, 0x4b, 0x5e, 0xbc, 0x94, 0xf4, 0xe2, 0x6f, 0x41, 0x9d, - 0xf1, 0xd1, 0xc3, 0xfb, 0x43, 0xd3, 0xf2, 0x86, 0x25, 0x63, 0x4d, 0x47, 0x2b, 0xf4, 0xc3, 0xdf, - 0xa4, 0x19, 0xcc, 0x5e, 0x68, 0xac, 0x2d, 0x92, 0x53, 0xeb, 0x14, 0x46, 0x7d, 0x2d, 0x89, 0x17, - 0x79, 0x54, 0x3e, 0x64, 0x1e, 0x64, 0x58, 0x17, 0x5e, 0x86, 0xaa, 0x78, 0xa9, 0x18, 0x4d, 0x42, - 0x79, 0x7b, 0xa5, 0xd3, 0x1c, 0x23, 0x3f, 0x76, 0x56, 0x3b, 0x4d, 0x05, 0x55, 0xa1, 0xb2, 0xb5, - 0xb2, 0xdd, 0x69, 0x96, 0x2e, 0xf4, 0xa1, 0x99, 0x7c, 0xac, 0x17, 0x2d, 0xc0, 0xb1, 0x8e, 0xb6, - 0xd9, 0x69, 0xdf, 0x6b, 0x6f, 0xaf, 0x6f, 0x6e, 0xe8, 0x1d, 0x6d, 0xfd, 0x51, 0x7b, 0x7b, 0xad, - 0x39, 0x86, 0xce, 0xc0, 0xa9, 0x78, 0xc1, 0xfd, 0xcd, 0xad, 0x6d, 0x7d, 0x7b, 0x53, 0x5f, 0xd9, - 0xdc, 0xd8, 0x6e, 0xaf, 0x6f, 0xac, 0x69, 0x4d, 0x05, 0x9d, 0x82, 0x13, 0x71, 0x94, 0xbb, 0xeb, - 0xab, 0xeb, 0xda, 0xda, 0x0a, 0xf9, 0xdd, 0x7e, 0xd0, 0x2c, 0x5d, 0x78, 0x1b, 0x1a, 0xd2, 0x3d, - 0x03, 0x22, 0x52, 0x67, 0x73, 0xb5, 0x39, 0x86, 0x1a, 0x50, 0x8b, 0xf3, 0xa9, 0x42, 0x65, 0x63, - 0x73, 0x75, 0xad, 0x59, 0x42, 0x00, 0x13, 0xdb, 0x6d, 0xed, 0xde, 0xda, 0x76, 0xb3, 0x7c, 0xe1, - 0x56, 0xf2, 0x45, 0x03, 0x8c, 0x66, 0xa1, 0xb1, 0xd5, 0xde, 0x58, 0xbd, 0xbb, 0xf9, 0x15, 0x5d, - 0x5b, 0x6b, 0xaf, 0x7e, 0xd0, 0x1c, 0x43, 0x73, 0xd0, 0x14, 0xa0, 0x8d, 0xcd, 0x6d, 0x06, 0x55, - 0x2e, 0x3c, 0x49, 0xac, 0x5d, 0x30, 0x3a, 0x0e, 0xb3, 0x61, 0x95, 0xfa, 0x8a, 0xb6, 0xd6, 0xde, - 0x5e, 0x23, 0x92, 0x48, 0x60, 0x6d, 0x67, 0x63, 0x63, 0x7d, 0xe3, 0x5e, 0x53, 0x21, 0x5c, 0x23, - 0xf0, 0xda, 0x57, 0xd6, 0x09, 0x72, 0x49, 0x46, 0xde, 0xd9, 0xf8, 0xe2, 0xc6, 0xe6, 0x97, 0x37, - 0x9a, 0xe5, 0x0b, 0xbf, 0x1e, 0x3f, 0x5b, 0x8f, 0xbc, 0xf1, 0x12, 0x2c, 0xa4, 0x6a, 0xd4, 0xd7, - 0x1e, 0xad, 0x6d, 0x6c, 0x37, 0xc7, 0xe4, 0xc2, 0xad, 0xed, 0xb6, 0x16, 0x15, 0x2a, 0xc9, 0xc2, - 0xcd, 0x4e, 0x27, 0x2c, 0x2c, 0xc9, 0x85, 0xab, 0x6b, 0x0f, 0xd6, 0x22, 0xca, 0xf2, 0x85, 0x17, - 0x01, 0x22, 0xab, 0x43, 0x75, 0x98, 0x5c, 0xd9, 0xdc, 0xd9, 0xd8, 0x5e, 0xd3, 0x9a, 0x63, 0xa8, - 0x06, 0xe3, 0xf7, 0xda, 0x3b, 0xf7, 0xd6, 0x9a, 0xca, 0xb5, 0x3f, 0x9c, 0x0b, 0x9f, 0x28, 0xdd, - 0xc2, 0x1e, 0xcd, 0x12, 0x5f, 0x85, 0x49, 0xf1, 0x60, 0xb7, 0xb4, 0x24, 0x97, 0x1f, 0x18, 0x6f, - 0x2d, 0x65, 0x96, 0xf1, 0x29, 0x72, 0x0c, 0x3d, 0xa2, 0x1b, 0xaa, 0xb1, 0x47, 0x82, 0x4e, 0x27, - 0x36, 0x31, 0x53, 0x6f, 0x11, 0xb5, 0xce, 0x14, 0x60, 0x84, 0x7c, 0x3f, 0x80, 0x69, 0xf9, 0x35, - 0x3e, 0x74, 0x46, 0xde, 0xec, 0xcc, 0x78, 0xe8, 0xaf, 0xa5, 0x16, 0xa1, 0x84, 0xac, 0x75, 0x68, - 0x26, 0x5f, 0xe3, 0x43, 0x52, 0x0e, 0x41, 0xce, 0x63, 0x7f, 0xad, 0x17, 0x8b, 0x91, 0xe2, 0x15, - 0xa4, 0x1e, 0x99, 0x3b, 0x5b, 0xfc, 0x6c, 0x57, 0x46, 0x05, 0x79, 0x6f, 0x7b, 0x31, 0xe5, 0xc8, - 0x13, 0x08, 0x4a, 0xbc, 0xeb, 0x96, 0xf1, 0x04, 0x94, 0xac, 0x9c, 0xec, 0xe7, 0x7f, 0xd4, 0x31, - 0xf4, 0xff, 0x60, 0x26, 0x91, 0xe8, 0x8b, 0x24, 0xc2, 0xec, 0xfc, 0xe5, 0xd6, 0xd9, 0x42, 0x1c, - 0xb9, 0x57, 0xe3, 0xc9, 0xbc, 0xc9, 0x5e, 0xcd, 0x48, 0x12, 0x4e, 0xf6, 0x6a, 0x66, 0x2e, 0x30, - 0x35, 0x44, 0x29, 0x71, 0x57, 0x36, 0xc4, 0xac, 0x44, 0xe1, 0xd6, 0x99, 0x02, 0x8c, 0xb8, 0x42, - 0x12, 0xa9, 0xbb, 0xb2, 0x42, 0xb2, 0x93, 0x82, 0x5b, 0x67, 0x0b, 0x71, 0x92, 0x3d, 0x19, 0xa5, - 0x0c, 0xa6, 0x7b, 0x32, 0x95, 0xb6, 0x9a, 0xee, 0xc9, 0x74, 0xc6, 0x21, 0xef, 0xc9, 0x44, 0x92, - 0x9f, 0x5a, 0x98, 0x80, 0x94, 0xd5, 0x93, 0xd9, 0x49, 0x4a, 0xea, 0x18, 0x7a, 0x06, 0x8b, 0x79, - 0x79, 0x26, 0xe8, 0xe2, 0x21, 0xd2, 0x61, 0x5a, 0xaf, 0x8e, 0x86, 0x1c, 0x56, 0x8c, 0x01, 0xa5, - 0x57, 0x12, 0xe8, 0x25, 0x59, 0xdd, 0x39, 0x2b, 0x95, 0xd6, 0xcb, 0xc3, 0xd0, 0xc2, 0x6a, 0xee, - 0x41, 0x55, 0x64, 0xb0, 0x20, 0xc9, 0x05, 0x26, 0x32, 0x67, 0x5a, 0x27, 0xb3, 0x0b, 0x43, 0x46, - 0x5f, 0x80, 0x0a, 0x81, 0xa2, 0x85, 0x24, 0x9e, 0x60, 0xb0, 0x98, 0x2e, 0x08, 0x89, 0xdb, 0x30, - 0xc1, 0x52, 0x33, 0x90, 0x74, 0x36, 0x24, 0xa5, 0x8e, 0xb4, 0x5a, 0x59, 0x45, 0x21, 0x8b, 0x0e, - 0xfb, 0xf7, 0x07, 0x3c, 0xd3, 0x02, 0x2d, 0x27, 0xdf, 0xe1, 0x95, 0x53, 0x3a, 0x5a, 0x2f, 0xe4, - 0x96, 0xc7, 0x6d, 0x36, 0xb1, 0x5b, 0x76, 0xa6, 0x60, 0x4b, 0x37, 0xcb, 0x66, 0xb3, 0x37, 0x8a, - 0x59, 0xe7, 0xa6, 0x37, 0x92, 0xe5, 0xce, 0xcd, 0xdd, 0xac, 0x97, 0x3b, 0x37, 0x7f, 0x3f, 0x9a, - 0x0d, 0x8d, 0xe4, 0x83, 0x3a, 0x6a, 0xd1, 0x63, 0x57, 0x59, 0x43, 0x23, 0xe7, 0x11, 0x2d, 0x75, - 0x0c, 0xed, 0xc3, 0xb1, 0x8c, 0x57, 0xb6, 0xd0, 0xcb, 0xf9, 0xfe, 0x57, 0xaa, 0xe5, 0x95, 0xa1, - 0x78, 0xf1, 0x9a, 0x32, 0x8e, 0x57, 0xe5, 0x9a, 0xf2, 0xcf, 0x77, 0xe5, 0x9a, 0x8a, 0xce, 0x69, - 0xa9, 0x21, 0x72, 0x1f, 0x72, 0x22, 0xeb, 0xcc, 0x31, 0xc3, 0x10, 0x53, 0x1e, 0x63, 0x1f, 0x8e, - 0x65, 0xac, 0xb6, 0x65, 0x61, 0xf3, 0x77, 0x01, 0x64, 0x61, 0x8b, 0x96, 0xed, 0x63, 0xe8, 0xab, - 0x80, 0xee, 0xe1, 0x40, 0x8e, 0xcf, 0x7c, 0x24, 0x0d, 0xd4, 0xe4, 0xc2, 0x3e, 0xc7, 0x3e, 0xa5, - 0x15, 0xbe, 0x3a, 0x76, 0x55, 0x41, 0x36, 0xbb, 0x4b, 0x90, 0x5a, 0x97, 0xa2, 0x73, 0xc9, 0x6e, - 0xcb, 0x5b, 0xda, 0xb6, 0xce, 0x8f, 0x80, 0x19, 0xb6, 0xc5, 0x4e, 0xbe, 0xe8, 0x28, 0x96, 0x46, - 0xe7, 0xf2, 0xcd, 0x44, 0x5e, 0x6e, 0xa6, 0xeb, 0xcb, 0x5d, 0x78, 0xaa, 0x63, 0xd7, 0x7e, 0xaf, - 0x0c, 0x53, 0x2c, 0x79, 0x81, 0x87, 0x89, 0x0f, 0x01, 0xa2, 0x3c, 0x20, 0x74, 0x2a, 0xc9, 0x4b, - 0x4a, 0xae, 0x6a, 0x2d, 0xe7, 0x15, 0xc7, 0xdd, 0x51, 0x2c, 0xbf, 0x46, 0x76, 0x47, 0xe9, 0x74, - 0x21, 0xd9, 0x1d, 0x65, 0x24, 0xe6, 0xa8, 0x63, 0xe8, 0x7d, 0xa8, 0x85, 0xe9, 0x1c, 0x72, 0x27, - 0x27, 0xf3, 0x52, 0x5a, 0xa7, 0x72, 0x4a, 0xe3, 0xd2, 0xc5, 0xb2, 0x34, 0x64, 0xe9, 0xd2, 0x19, - 0x20, 0xb2, 0x74, 0x59, 0xe9, 0x1d, 0x51, 0x7b, 0xd9, 0x39, 0x6a, 0x46, 0x7b, 0xa5, 0x63, 0xf5, - 0x8c, 0xf6, 0xca, 0x07, 0xb0, 0xea, 0xd8, 0xdd, 0x3b, 0x3f, 0xfa, 0xd9, 0xb2, 0xf2, 0x93, 0x9f, - 0x2d, 0x8f, 0xfd, 0xda, 0x47, 0xcb, 0xca, 0x8f, 0x3e, 0x5a, 0x56, 0x7e, 0xfc, 0xd1, 0xb2, 0xf2, - 0xd3, 0x8f, 0x96, 0x95, 0x6f, 0xff, 0xc7, 0xf2, 0xd8, 0x57, 0xd5, 0x27, 0x37, 0xfc, 0xcb, 0x96, - 0x73, 0xa5, 0xeb, 0x59, 0x97, 0x0c, 0xd7, 0xba, 0xe2, 0x3e, 0xd9, 0xbb, 0x62, 0xb8, 0x96, 0x7f, - 0x85, 0xf3, 0xbd, 0xf2, 0xf4, 0xb5, 0xc7, 0x13, 0xf4, 0x5f, 0xdb, 0xbc, 0xfe, 0x7f, 0x01, 0x00, - 0x00, 0xff, 0xff, 0x4f, 0x2a, 0xd4, 0x99, 0x94, 0x68, 0x00, 0x00, + 0x75, 0x30, 0x7b, 0x66, 0x48, 0xce, 0xbc, 0xe1, 0x90, 0xc3, 0x12, 0x45, 0x52, 0x43, 0x89, 0x92, + 0x7a, 0xff, 0xf4, 0xb3, 0xfa, 0x59, 0xad, 0x76, 0x57, 0x92, 0xb5, 0xbb, 0x1a, 0x91, 0x5c, 0x69, + 0xd6, 0x12, 0x39, 0x6e, 0x92, 0xb2, 0xd7, 0xfe, 0xe0, 0xfe, 0x5a, 0xd3, 0xc5, 0x61, 0xaf, 0x66, + 0xba, 0xdb, 0xdd, 0x3d, 0x92, 0xe8, 0x53, 0x8e, 0x89, 0x4f, 0x06, 0x12, 0xc7, 0x80, 0x11, 0x24, + 0xc8, 0x21, 0x3f, 0x40, 0x0e, 0x09, 0x02, 0x24, 0x70, 0x10, 0x24, 0x01, 0x8c, 0xc4, 0x70, 0x02, + 0x04, 0xc8, 0x21, 0x01, 0x7c, 0x08, 0x10, 0x7b, 0x13, 0x20, 0x40, 0x0e, 0xb9, 0xc4, 0x87, 0xdc, + 0x1c, 0xd4, 0x5f, 0x77, 0x57, 0xff, 0xcc, 0x0c, 0xb9, 0xeb, 0xdd, 0xf5, 0x89, 0xd3, 0xaf, 0xde, + 0x7b, 0xf5, 0xea, 0xd5, 0xab, 0x57, 0xaf, 0xaa, 0x5e, 0x15, 0xa1, 0x62, 0xb8, 0xd6, 0x65, 0xd7, + 0x73, 0x02, 0x07, 0x81, 0x37, 0xb0, 0x03, 0xab, 0x8f, 0x2f, 0x3f, 0x7d, 0xad, 0x71, 0xa9, 0x6b, + 0x05, 0xfb, 0x83, 0xc7, 0x97, 0x3b, 0x4e, 0xff, 0x4a, 0xd7, 0xe9, 0x3a, 0x57, 0x28, 0xca, 0xe3, + 0xc1, 0x1e, 0xfd, 0xa2, 0x1f, 0xf4, 0x17, 0x23, 0x55, 0x2f, 0xc0, 0xec, 0x23, 0xec, 0xf9, 0x96, + 0x63, 0x6b, 0xf8, 0x1b, 0x03, 0xec, 0x07, 0x68, 0x19, 0xa6, 0x9f, 0x32, 0xc8, 0xb2, 0x72, 0x46, + 0x39, 0x57, 0xd1, 0xc4, 0xa7, 0xfa, 0x07, 0x0a, 0xcc, 0x85, 0xc8, 0xbe, 0xeb, 0xd8, 0x3e, 0xce, + 0xc7, 0x46, 0x67, 0x61, 0x86, 0x8b, 0xa5, 0xdb, 0x46, 0x1f, 0x2f, 0x17, 0x68, 0x71, 0x95, 0xc3, + 0x36, 0x8d, 0x3e, 0x46, 0xaf, 0xc0, 0x9c, 0x40, 0x11, 0x4c, 0x8a, 0x14, 0x6b, 0x96, 0x83, 0x79, + 0x6d, 0xe8, 0x32, 0x1c, 0x13, 0x88, 0x86, 0x6b, 0x85, 0xc8, 0x25, 0x8a, 0x3c, 0xcf, 0x8b, 0x9a, + 0xae, 0xc5, 0xf1, 0xd5, 0xaf, 0x41, 0x65, 0x7d, 0x73, 0x7b, 0xcd, 0xb1, 0xf7, 0xac, 0x2e, 0x11, + 0xd1, 0xc7, 0x1e, 0xa1, 0x59, 0x56, 0xce, 0x14, 0x89, 0x88, 0xfc, 0x13, 0x35, 0xa0, 0xec, 0x63, + 0xc3, 0xeb, 0xec, 0x63, 0x7f, 0xb9, 0x40, 0x8b, 0xc2, 0x6f, 0x42, 0xe5, 0xb8, 0x81, 0xe5, 0xd8, + 0xfe, 0x72, 0x91, 0x51, 0xf1, 0x4f, 0xf5, 0xb7, 0x14, 0xa8, 0xb6, 0x1d, 0x2f, 0x78, 0x68, 0xb8, + 0xae, 0x65, 0x77, 0xd1, 0x55, 0x28, 0x53, 0x5d, 0x76, 0x9c, 0x1e, 0xd5, 0xc1, 0xec, 0xb5, 0x85, + 0xcb, 0x51, 0x87, 0x5c, 0x6e, 0xf3, 0x32, 0x2d, 0xc4, 0x42, 0x2f, 0xc1, 0x6c, 0xc7, 0xb1, 0x03, + 0xc3, 0xb2, 0xb1, 0xa7, 0xbb, 0x8e, 0x17, 0x50, 0xe5, 0x4c, 0x6a, 0xb5, 0x10, 0x4a, 0xf8, 0xa3, + 0x15, 0xa8, 0xec, 0x3b, 0x7e, 0xc0, 0x30, 0x8a, 0x14, 0xa3, 0x4c, 0x00, 0xb4, 0x70, 0x09, 0xa6, + 0x69, 0xa1, 0xe5, 0x72, 0x35, 0x4c, 0x91, 0xcf, 0x96, 0xab, 0xfe, 0xa0, 0x00, 0x93, 0x0f, 0x9d, + 0x81, 0x1d, 0x24, 0xaa, 0x31, 0x82, 0x7d, 0xde, 0x45, 0xb1, 0x6a, 0x8c, 0x60, 0x3f, 0xaa, 0x86, + 0x60, 0xb0, 0x5e, 0x62, 0xd5, 0x90, 0xc2, 0x06, 0x94, 0x3d, 0x6c, 0x98, 0x8e, 0xdd, 0x3b, 0xa0, + 0x22, 0x94, 0xb5, 0xf0, 0x9b, 0x74, 0x9f, 0x8f, 0x7b, 0x96, 0x3d, 0x78, 0xae, 0x7b, 0xb8, 0x67, + 0x3c, 0xc6, 0x3d, 0x2a, 0x4a, 0x59, 0x9b, 0xe5, 0x60, 0x8d, 0x41, 0xd1, 0x3b, 0x50, 0x75, 0x3d, + 0xc7, 0x35, 0xba, 0x06, 0xd1, 0xe0, 0xf2, 0x24, 0x55, 0xd2, 0xc9, 0xb8, 0x92, 0xa8, 0xc0, 0xed, + 0x08, 0x47, 0x8b, 0x13, 0xa0, 0xb7, 0xa0, 0x3a, 0xb0, 0x4c, 0xae, 0x6f, 0x7f, 0x79, 0xea, 0x4c, + 0xf1, 0x5c, 0xf5, 0xda, 0xf1, 0x38, 0x7d, 0x6b, 0x9d, 0x97, 0x6a, 0x71, 0x4c, 0x42, 0xd8, 0x8d, + 0x11, 0x4e, 0x0f, 0x25, 0x8c, 0x61, 0xaa, 0x3a, 0x54, 0xc2, 0x92, 0x48, 0xd5, 0x26, 0x55, 0x60, + 0x8d, 0xab, 0xda, 0x24, 0x26, 0x1e, 0x29, 0xd8, 0x32, 0xa9, 0xf2, 0x6a, 0x5a, 0x35, 0x84, 0xb5, + 0x4c, 0xb4, 0x08, 0x53, 0x3d, 0x6c, 0x77, 0x83, 0x7d, 0xaa, 0xbd, 0x9a, 0xc6, 0xbf, 0xd4, 0xdf, + 0x50, 0xa0, 0xb6, 0xeb, 0x63, 0x8f, 0x8c, 0x03, 0xdf, 0x35, 0x3a, 0x18, 0x5d, 0x82, 0x52, 0xdf, + 0x31, 0x31, 0x37, 0xa1, 0x13, 0x71, 0x21, 0x43, 0xa4, 0x87, 0x8e, 0x89, 0x35, 0x8a, 0x86, 0xce, + 0x43, 0x69, 0x60, 0x99, 0xcc, 0x6e, 0x73, 0xdb, 0x44, 0x51, 0x08, 0x6a, 0x97, 0xa0, 0x16, 0x87, + 0xa2, 0x12, 0x14, 0xf5, 0xe7, 0x0a, 0xcc, 0x85, 0xb5, 0x6d, 0x51, 0x83, 0x47, 0xaf, 0xc3, 0xb4, + 0x8d, 0x83, 0x67, 0x8e, 0xf7, 0x64, 0xb4, 0x6c, 0x02, 0x13, 0x5d, 0x84, 0xa2, 0xcb, 0x35, 0x32, + 0x94, 0x80, 0x60, 0x11, 0x64, 0xcb, 0xed, 0x50, 0x0d, 0x0d, 0x47, 0xb6, 0xdc, 0x0e, 0x31, 0xd7, + 0xc0, 0xf0, 0xba, 0x98, 0xf6, 0x07, 0x33, 0xfd, 0x32, 0x03, 0xb4, 0x4c, 0x74, 0x07, 0x66, 0x07, + 0x3e, 0xf6, 0x6c, 0x5f, 0x17, 0x83, 0x97, 0x18, 0x5b, 0x55, 0x66, 0x2a, 0xe9, 0x5d, 0xab, 0x31, + 0x82, 0x2d, 0x3e, 0xba, 0x55, 0x80, 0x96, 0x1d, 0xbc, 0x79, 0xfd, 0x91, 0xd1, 0x1b, 0x60, 0xb4, + 0x00, 0x93, 0x4f, 0xc9, 0x0f, 0xda, 0xf2, 0xa2, 0xc6, 0x3e, 0xd4, 0xbf, 0x2a, 0xc1, 0xca, 0x03, + 0x62, 0xe0, 0xdb, 0x86, 0x6d, 0x3e, 0x76, 0x9e, 0x6f, 0xe3, 0xce, 0xc0, 0xb3, 0x82, 0x83, 0x35, + 0xc7, 0x0e, 0xf0, 0xf3, 0x00, 0xdd, 0x87, 0x79, 0x5b, 0xf0, 0x0f, 0x05, 0x51, 0xa8, 0x20, 0x2b, + 0x99, 0xad, 0x63, 0x95, 0x6b, 0x75, 0x5b, 0x06, 0xf8, 0xe8, 0x6e, 0x34, 0xc4, 0x04, 0x9f, 0x42, + 0xba, 0x41, 0xdb, 0x1b, 0x54, 0x1a, 0xce, 0x45, 0x8c, 0x3e, 0xc1, 0xe3, 0x4d, 0x20, 0x4e, 0x57, + 0x37, 0x7c, 0x9d, 0xb4, 0x94, 0x6a, 0xb9, 0x7a, 0x6d, 0x51, 0xb2, 0x82, 0xb0, 0xc1, 0x5a, 0xc5, + 0x1b, 0xd8, 0x4d, 0x9f, 0x68, 0x08, 0xdd, 0xa0, 0x0e, 0x9c, 0xd0, 0x75, 0x3d, 0x67, 0xe0, 0x2e, + 0x97, 0x87, 0x12, 0x02, 0x25, 0xbc, 0x47, 0x30, 0xa9, 0x5f, 0xe7, 0x4e, 0x42, 0xf7, 0x1c, 0x27, + 0xd8, 0xf3, 0x85, 0x63, 0x10, 0x60, 0x8d, 0x42, 0xd1, 0x15, 0x38, 0xe6, 0x0f, 0x5c, 0xb7, 0x87, + 0xfb, 0xd8, 0x0e, 0x8c, 0x1e, 0xab, 0x88, 0xf4, 0x59, 0xf1, 0x5c, 0x51, 0x43, 0xf1, 0x22, 0xca, + 0xd8, 0x47, 0xab, 0x00, 0xae, 0x67, 0x3d, 0xb5, 0x7a, 0xb8, 0x8b, 0xcd, 0xe5, 0x29, 0xca, 0x34, + 0x06, 0x41, 0x6f, 0x10, 0x5f, 0xdf, 0xe9, 0x38, 0x7d, 0x77, 0xb9, 0x92, 0xd6, 0xb7, 0xe8, 0xa7, + 0xb6, 0xe7, 0xec, 0x59, 0x3d, 0xac, 0x09, 0x5c, 0xf4, 0x16, 0x94, 0x0d, 0xd7, 0x35, 0xbc, 0xbe, + 0xe3, 0x2d, 0xc3, 0x68, 0xba, 0x10, 0x19, 0x5d, 0x87, 0x05, 0xce, 0x43, 0x77, 0x59, 0x21, 0x73, + 0xa3, 0xd3, 0xc4, 0x2e, 0xef, 0x16, 0x96, 0x15, 0x0d, 0xf1, 0x72, 0x4e, 0x4b, 0x9c, 0xaa, 0xfa, + 0xb7, 0x0a, 0xcc, 0x25, 0x78, 0xa2, 0xf7, 0x61, 0x46, 0x70, 0x08, 0x0e, 0x5c, 0xe1, 0x06, 0x5e, + 0x19, 0x22, 0xc6, 0x65, 0xfe, 0x77, 0xe7, 0xc0, 0xc5, 0xd4, 0x5f, 0x8a, 0x0f, 0xf4, 0x02, 0xd4, + 0x7a, 0x4e, 0xc7, 0xe8, 0x51, 0xaf, 0xe5, 0xe1, 0x3d, 0xee, 0xd5, 0x67, 0x42, 0xa0, 0x86, 0xf7, + 0xd4, 0x3b, 0x50, 0x8d, 0x31, 0x40, 0x08, 0x66, 0x35, 0x56, 0xd5, 0x3a, 0xde, 0x33, 0x06, 0xbd, + 0xa0, 0x3e, 0x81, 0x66, 0x01, 0x76, 0xed, 0x0e, 0x99, 0x45, 0x6d, 0x6c, 0xd6, 0x15, 0x54, 0x83, + 0xca, 0x03, 0xc1, 0xa2, 0x5e, 0x50, 0xbf, 0x57, 0x84, 0xe3, 0xd4, 0xf0, 0xda, 0x8e, 0xc9, 0x47, + 0x02, 0x9f, 0x72, 0x5f, 0x80, 0x5a, 0x87, 0xf6, 0xa5, 0xee, 0x1a, 0x1e, 0xb6, 0x03, 0x3e, 0xf1, + 0xcc, 0x30, 0x60, 0x9b, 0xc2, 0x90, 0x06, 0x75, 0x9f, 0xb7, 0x48, 0xef, 0xb0, 0x91, 0xc3, 0x8d, + 0x5b, 0x6a, 0xf5, 0x90, 0x81, 0xa6, 0xcd, 0xf9, 0xa9, 0x91, 0x37, 0xed, 0x1f, 0xf8, 0x9d, 0xa0, + 0x27, 0xbc, 0xdd, 0xe5, 0x14, 0xab, 0xa4, 0xb0, 0x97, 0xb7, 0x19, 0xc1, 0x86, 0x1d, 0x78, 0x07, + 0x9a, 0x20, 0x47, 0xef, 0x42, 0xd9, 0x79, 0x8a, 0xbd, 0x7d, 0x6c, 0x30, 0x2f, 0x53, 0xbd, 0xf6, + 0x42, 0x8a, 0xd5, 0x9a, 0x70, 0xf4, 0x1a, 0xf6, 0x9d, 0x81, 0xd7, 0xc1, 0xbe, 0x16, 0x12, 0xa1, + 0x26, 0x54, 0x3c, 0x01, 0xe6, 0x5e, 0x68, 0x2c, 0x0e, 0x11, 0x55, 0xe3, 0x16, 0xcc, 0xc4, 0x85, + 0x43, 0x75, 0x28, 0x3e, 0xc1, 0x07, 0x5c, 0x99, 0xe4, 0x67, 0xe4, 0x9f, 0x58, 0x0f, 0xb3, 0x8f, + 0x5b, 0x85, 0x1b, 0x8a, 0xea, 0x01, 0x8a, 0x5a, 0xfa, 0x10, 0x07, 0x86, 0x69, 0x04, 0x06, 0x42, + 0x50, 0xa2, 0xc1, 0x18, 0x63, 0x41, 0x7f, 0x13, 0xae, 0x03, 0xee, 0xaa, 0x2b, 0x1a, 0xf9, 0x89, + 0x4e, 0x42, 0x25, 0xf4, 0x44, 0x3c, 0x22, 0x8b, 0x00, 0x24, 0x32, 0x32, 0x82, 0x00, 0xf7, 0xdd, + 0x80, 0x2a, 0xa6, 0xa6, 0x89, 0x4f, 0xf5, 0xd7, 0x26, 0xa1, 0x9e, 0xb2, 0x85, 0x5b, 0x50, 0xee, + 0xf3, 0xea, 0xb9, 0x0f, 0x5c, 0x95, 0xc2, 0xa3, 0x94, 0x90, 0x5a, 0x88, 0x4f, 0xa2, 0x0f, 0x62, + 0x6b, 0xb1, 0xf8, 0x31, 0xfc, 0x66, 0x46, 0xde, 0xd5, 0x4d, 0xcb, 0xc3, 0x9d, 0xc0, 0xf1, 0x0e, + 0xb8, 0xa0, 0x33, 0x3d, 0xa7, 0xbb, 0x2e, 0x60, 0xe8, 0x3a, 0x80, 0x69, 0xfb, 0x3a, 0xb5, 0xe1, + 0x2e, 0xef, 0x47, 0x69, 0x02, 0x0c, 0xc3, 0x44, 0xad, 0x62, 0xda, 0x3e, 0x17, 0xf9, 0x36, 0xd4, + 0x48, 0xcc, 0xa5, 0xf7, 0x45, 0xe0, 0x30, 0x49, 0x6d, 0x69, 0x49, 0x96, 0x3b, 0x8c, 0x00, 0xb5, + 0x19, 0x37, 0xfa, 0xf0, 0xd1, 0x1d, 0x98, 0xa2, 0x61, 0x8f, 0x08, 0x54, 0xce, 0x65, 0x37, 0x97, + 0x5b, 0xdf, 0x03, 0x8a, 0xca, 0x8c, 0x8f, 0xd3, 0xa1, 0x2d, 0xa8, 0x1a, 0xb6, 0xed, 0x04, 0x06, + 0xf3, 0xf8, 0x2c, 0x6c, 0xb9, 0x34, 0x94, 0x4d, 0x33, 0xc2, 0x67, 0xbc, 0xe2, 0x1c, 0xd0, 0x5b, + 0x30, 0x49, 0xa7, 0x04, 0xee, 0xc3, 0xcf, 0x8e, 0x1c, 0x14, 0x1a, 0xc3, 0x47, 0x6f, 0xc3, 0xf4, + 0x33, 0xcb, 0x36, 0x9d, 0x67, 0x3e, 0xf7, 0xa7, 0x92, 0x09, 0x7f, 0x99, 0x15, 0xa5, 0x88, 0x05, + 0x4d, 0xe3, 0x26, 0x54, 0x63, 0xed, 0x3b, 0x8c, 0xfd, 0x36, 0xde, 0x81, 0x7a, 0xb2, 0x4d, 0x87, + 0xb2, 0xff, 0x01, 0x2c, 0x68, 0x03, 0x3b, 0x12, 0x4d, 0x2c, 0x6f, 0xae, 0xc3, 0x14, 0xb7, 0x06, + 0x66, 0x8c, 0x27, 0x87, 0xa9, 0x55, 0xe3, 0xb8, 0xf1, 0x95, 0xca, 0xbe, 0x61, 0x9b, 0x3d, 0xec, + 0xf1, 0x1a, 0xc5, 0x4a, 0xe5, 0x3e, 0x83, 0xaa, 0x6f, 0xc3, 0xf1, 0x44, 0xb5, 0x7c, 0xa1, 0xf4, + 0x22, 0xcc, 0xba, 0x8e, 0xa9, 0xfb, 0x0c, 0x2c, 0x62, 0xc9, 0x0a, 0xb1, 0x1d, 0x81, 0xdb, 0x32, + 0x09, 0xf9, 0x76, 0xe0, 0xb8, 0x69, 0xb1, 0xc7, 0x23, 0x5f, 0x86, 0xc5, 0x24, 0x39, 0xab, 0x5e, + 0x7d, 0x17, 0x96, 0x34, 0xdc, 0x77, 0x9e, 0xe2, 0xa3, 0xb2, 0x6e, 0xc0, 0x72, 0x9a, 0x01, 0x67, + 0xfe, 0x01, 0x2c, 0x45, 0xd0, 0xed, 0xc0, 0x08, 0x06, 0xfe, 0xa1, 0x98, 0xf3, 0x55, 0xe4, 0x63, + 0xc7, 0x67, 0x1d, 0x59, 0xd6, 0xc4, 0xa7, 0xba, 0x04, 0x93, 0x6d, 0xc7, 0x6c, 0xb5, 0xd1, 0x2c, + 0x14, 0x2c, 0x97, 0x13, 0x17, 0x2c, 0x57, 0xed, 0xc4, 0xeb, 0xdc, 0x64, 0x51, 0x27, 0xab, 0x3a, + 0x89, 0x8a, 0x6e, 0xc0, 0xac, 0x61, 0x9a, 0x16, 0x31, 0x24, 0xa3, 0xa7, 0x5b, 0xae, 0x08, 0x9a, + 0xe7, 0x13, 0x5d, 0xdf, 0x6a, 0x6b, 0xb5, 0x08, 0xb1, 0xe5, 0xfa, 0xea, 0x5d, 0xa8, 0x44, 0x01, + 0xfa, 0x1b, 0xd1, 0x8a, 0xb0, 0x30, 0x3a, 0x96, 0x0b, 0x97, 0x8b, 0x9b, 0xa9, 0x49, 0x92, 0x8b, + 0xf9, 0x06, 0x40, 0xe8, 0x54, 0x45, 0x78, 0x78, 0x3c, 0x93, 0xa5, 0x16, 0x43, 0x54, 0xff, 0xad, + 0x14, 0x77, 0xb2, 0xb1, 0x26, 0x9b, 0x61, 0x93, 0x4d, 0xc9, 0xe9, 0x16, 0x0e, 0xe9, 0x74, 0x5f, + 0x83, 0x49, 0x3f, 0x30, 0x02, 0xcc, 0xe3, 0xf1, 0x95, 0x6c, 0x42, 0x52, 0x31, 0xd6, 0x18, 0x26, + 0x3a, 0x05, 0xd0, 0xf1, 0xb0, 0x11, 0x60, 0x53, 0x37, 0xd8, 0xac, 0x50, 0xd4, 0x2a, 0x1c, 0xd2, + 0x0c, 0x88, 0x17, 0x11, 0x2b, 0x88, 0x8c, 0x89, 0x30, 0xa7, 0x1b, 0xa3, 0xb5, 0x44, 0xe8, 0xbd, + 0xa6, 0x46, 0x7a, 0x2f, 0x4e, 0xca, 0xbd, 0x57, 0xe4, 0x89, 0xa7, 0x87, 0x79, 0x62, 0x46, 0x34, + 0x8e, 0x27, 0x2e, 0x0f, 0xf3, 0xc4, 0x9c, 0xcd, 0x70, 0x4f, 0x9c, 0xe1, 0x48, 0x2a, 0x59, 0x8e, + 0xe4, 0xb3, 0x74, 0x9d, 0x7f, 0x51, 0x80, 0xe5, 0xf4, 0x78, 0xe6, 0x7e, 0xec, 0x3a, 0x4c, 0xf9, + 0x14, 0x32, 0xdc, 0x7f, 0x72, 0x2a, 0x8e, 0x8b, 0xee, 0x42, 0xc9, 0xb2, 0xf7, 0x1c, 0x3e, 0xf0, + 0x2e, 0x0f, 0xa5, 0xe1, 0x35, 0x5d, 0x6e, 0xd9, 0x7b, 0x0e, 0xd3, 0x20, 0xa5, 0x45, 0x0f, 0xe0, + 0x58, 0xb8, 0xb2, 0xf6, 0x75, 0xc6, 0x18, 0x8b, 0x38, 0x4f, 0xb2, 0xd2, 0x30, 0xaa, 0xe2, 0x1c, + 0x51, 0x44, 0xb7, 0xcd, 0xc9, 0x48, 0x8c, 0x43, 0xd0, 0xfd, 0xc0, 0xe8, 0xbb, 0xc2, 0x62, 0x43, + 0x40, 0xe3, 0x2d, 0xa8, 0x84, 0xd5, 0x1f, 0x4a, 0x77, 0x2d, 0x58, 0x48, 0x8c, 0x11, 0xb6, 0x90, + 0x0c, 0x07, 0x95, 0x32, 0xee, 0xa0, 0x52, 0x7f, 0xa6, 0xc4, 0x07, 0xfa, 0x7b, 0x56, 0x2f, 0xc0, + 0x5e, 0x6a, 0xa0, 0xbf, 0x29, 0xf8, 0xb2, 0x51, 0x7e, 0x66, 0x08, 0x5f, 0xb6, 0x4e, 0xe3, 0x23, + 0xf6, 0x11, 0xcc, 0x52, 0x13, 0xd7, 0x7d, 0xdc, 0xa3, 0xb1, 0x12, 0xd7, 0xe3, 0x95, 0x6c, 0x06, + 0xac, 0x76, 0x36, 0x44, 0xb6, 0x39, 0x05, 0xeb, 0x9b, 0x5a, 0x2f, 0x0e, 0x6b, 0xdc, 0x01, 0x94, + 0x46, 0x3a, 0x94, 0x06, 0x1f, 0x12, 0x7f, 0xe9, 0x07, 0x99, 0x33, 0xf7, 0x1e, 0x15, 0x63, 0xb8, + 0xe5, 0x31, 0x51, 0x35, 0x8e, 0xab, 0xfe, 0x4b, 0x11, 0x20, 0x2a, 0xfc, 0x9c, 0x3b, 0xca, 0x5b, + 0xa1, 0xc3, 0x62, 0x11, 0xa7, 0x9a, 0xcd, 0x32, 0xd3, 0x55, 0xb5, 0x64, 0x57, 0xc5, 0x62, 0xcf, + 0x57, 0x72, 0x18, 0x1c, 0xda, 0x49, 0x4d, 0x7f, 0xde, 0x9c, 0xd4, 0x7b, 0xb0, 0x98, 0x34, 0x13, + 0xee, 0xa1, 0x5e, 0x85, 0x49, 0x2b, 0xc0, 0x7d, 0xb6, 0xdb, 0x9b, 0xd8, 0xb0, 0x88, 0xa1, 0x33, + 0x24, 0xf5, 0x1d, 0x58, 0x94, 0xfb, 0xea, 0x70, 0xa1, 0x8b, 0xfa, 0x20, 0x19, 0xfb, 0x44, 0xae, + 0x92, 0xdb, 0x47, 0xe6, 0xd6, 0x4f, 0x92, 0x86, 0x61, 0xaa, 0x3f, 0x54, 0xe0, 0x78, 0xa2, 0x28, + 0x67, 0xe0, 0x7f, 0x2d, 0x35, 0x80, 0x99, 0x6f, 0xbd, 0x3e, 0xa4, 0x96, 0x4f, 0x71, 0x14, 0x7f, + 0x19, 0x1a, 0x72, 0xf7, 0x48, 0xaa, 0xbd, 0x99, 0x18, 0xca, 0x67, 0x47, 0x0a, 0x1d, 0x8e, 0xe7, + 0x36, 0xac, 0x64, 0x32, 0x4e, 0xeb, 0xbc, 0x38, 0xa6, 0xce, 0xff, 0xb7, 0x10, 0xf7, 0xd9, 0xcd, + 0x20, 0xf0, 0xac, 0xc7, 0x83, 0x00, 0x7f, 0xb2, 0x41, 0xd5, 0x7a, 0x38, 0xb2, 0x99, 0x9f, 0x7d, + 0x35, 0x9b, 0x32, 0xaa, 0x3d, 0x73, 0x8c, 0x6f, 0xcb, 0x63, 0xbc, 0x44, 0x59, 0xbd, 0x36, 0x92, + 0xd5, 0xd0, 0xd1, 0xfe, 0x59, 0x0e, 0xe2, 0xbf, 0x57, 0x60, 0x2e, 0xd1, 0x2b, 0xe8, 0x0e, 0x80, + 0x11, 0x8a, 0xce, 0xed, 0xe3, 0xcc, 0xa8, 0x26, 0x6a, 0x31, 0x1a, 0x32, 0x27, 0xb2, 0x78, 0x31, + 0x63, 0x4e, 0xcc, 0x88, 0x17, 0xc3, 0x70, 0xf1, 0x76, 0xb4, 0xd8, 0x65, 0x9b, 0xa4, 0xea, 0xd0, + 0xc5, 0x2e, 0xa3, 0x15, 0x24, 0xea, 0xaf, 0x17, 0x60, 0x21, 0x8b, 0x3b, 0x7a, 0x19, 0x8a, 0x1d, + 0x77, 0xc0, 0x5b, 0x22, 0x1d, 0x0d, 0xad, 0xb9, 0x83, 0x5d, 0xdf, 0xe8, 0x62, 0x8d, 0x20, 0xa0, + 0x2b, 0x30, 0xd5, 0xc7, 0x7d, 0xc7, 0x3b, 0xe0, 0x72, 0x4b, 0xdb, 0x0d, 0x0f, 0x69, 0x09, 0xc3, + 0xe6, 0x68, 0xe8, 0x5a, 0x14, 0x56, 0x33, 0x79, 0x97, 0xa5, 0xd5, 0x03, 0x2b, 0x62, 0x24, 0x61, + 0x2c, 0x7d, 0x0d, 0xa6, 0x5d, 0xcf, 0xe9, 0x60, 0xdf, 0xe7, 0xbb, 0x21, 0xcb, 0x89, 0xb3, 0x2a, + 0x52, 0xc4, 0x69, 0x38, 0x22, 0xba, 0x05, 0x10, 0x05, 0x50, 0x7c, 0x66, 0x6a, 0xe4, 0xc6, 0x5b, + 0xbe, 0x16, 0xc3, 0x56, 0xbf, 0x5f, 0x80, 0xc5, 0x6c, 0xcd, 0xa1, 0x4b, 0x71, 0xbd, 0xac, 0x64, + 0xa8, 0x5a, 0x56, 0xcf, 0x9b, 0x09, 0xf5, 0xac, 0x66, 0x50, 0x64, 0x69, 0xe9, 0x66, 0x52, 0x4b, + 0xa7, 0x33, 0x08, 0xb3, 0x95, 0x75, 0x33, 0xa9, 0xac, 0x2c, 0xd2, 0x6c, 0x9d, 0x35, 0x33, 0x74, + 0x76, 0x36, 0xab, 0x8d, 0xf9, 0xaa, 0xfb, 0x1b, 0x05, 0x66, 0xe2, 0x72, 0xc9, 0x21, 0xab, 0x92, + 0x08, 0x59, 0xd1, 0x26, 0xcc, 0x9b, 0x6c, 0xe7, 0x56, 0xb7, 0xec, 0x00, 0x7b, 0x7b, 0x46, 0x47, + 0x44, 0x85, 0x67, 0x33, 0xec, 0xa2, 0x25, 0x70, 0x98, 0xe0, 0x75, 0x4e, 0x1b, 0x82, 0x49, 0x0b, + 0x42, 0x3e, 0xc2, 0x6b, 0x8d, 0xc1, 0x28, 0x46, 0xa4, 0xfe, 0xb3, 0x02, 0xc7, 0x32, 0x14, 0x3c, + 0xa2, 0x21, 0xbb, 0xf9, 0x0d, 0x39, 0x97, 0xdf, 0x75, 0x23, 0xdb, 0x73, 0x3f, 0xa3, 0x3d, 0xe3, + 0xf3, 0x8b, 0x37, 0xeb, 0xe7, 0x0a, 0x1c, 0xcf, 0xc4, 0xca, 0xdc, 0x5e, 0xbd, 0x06, 0x65, 0xef, + 0xb9, 0xfe, 0xf8, 0x20, 0xc0, 0x7e, 0xd6, 0xc0, 0xde, 0x8d, 0x9d, 0xa1, 0x4c, 0x7b, 0xcf, 0xef, + 0x12, 0x3c, 0x74, 0x1d, 0x2a, 0xde, 0x73, 0x1d, 0x7b, 0x9e, 0xe3, 0x09, 0x5f, 0x94, 0x4b, 0x54, + 0xf6, 0x9e, 0x6f, 0x50, 0x44, 0x52, 0x53, 0x20, 0x6a, 0x2a, 0x8d, 0xa8, 0x29, 0x88, 0x6a, 0x0a, + 0xc2, 0x9a, 0x26, 0x47, 0xd4, 0x14, 0xf0, 0x9a, 0xd4, 0x3f, 0x2c, 0xc0, 0xc9, 0x61, 0xea, 0xfa, + 0xc4, 0x14, 0xb1, 0x01, 0xc8, 0x7b, 0xae, 0xbb, 0x46, 0xe7, 0x09, 0x0e, 0x7c, 0xdd, 0xf4, 0x1c, + 0xd7, 0xc5, 0xe6, 0x28, 0x8d, 0xd4, 0xbd, 0xe7, 0x6d, 0x46, 0xb1, 0xce, 0x08, 0x8e, 0xa4, 0x99, + 0x0d, 0x40, 0x41, 0xba, 0xea, 0x11, 0x2a, 0xaa, 0x07, 0x89, 0xaa, 0xd5, 0x0f, 0x61, 0x26, 0xee, + 0x21, 0x46, 0xd8, 0xfe, 0x6d, 0xa8, 0x71, 0x0f, 0xa2, 0x77, 0x9c, 0x81, 0x1d, 0x8c, 0x52, 0xd4, + 0x0c, 0xc7, 0x5e, 0x23, 0xc8, 0xea, 0x37, 0xc2, 0xe1, 0xf6, 0xa9, 0x55, 0xf9, 0x47, 0x0a, 0x54, + 0x5a, 0x7d, 0xa3, 0x8b, 0xb7, 0x5d, 0xdc, 0x21, 0x33, 0xbd, 0x45, 0x3e, 0x78, 0xbf, 0xb3, 0x0f, + 0x74, 0x5f, 0x8e, 0x5a, 0x58, 0x9c, 0xfa, 0xb2, 0x74, 0x8e, 0x28, 0x38, 0x8c, 0x08, 0x55, 0x3e, + 0x6e, 0xbc, 0x71, 0x0d, 0xca, 0x5f, 0xc4, 0x07, 0x6c, 0x45, 0x3e, 0x26, 0x9d, 0xfa, 0x9d, 0x12, + 0x2c, 0xe5, 0x9c, 0xd5, 0xd0, 0xe5, 0x9c, 0x3b, 0xd0, 0x5d, 0xec, 0x59, 0x8e, 0x29, 0x54, 0xdb, + 0x71, 0x07, 0x6d, 0x0a, 0x40, 0x2b, 0x40, 0x3e, 0xf4, 0x6f, 0x0c, 0x1c, 0x1e, 0x31, 0x16, 0xb5, + 0x72, 0xc7, 0x1d, 0x7c, 0x89, 0x7c, 0x0b, 0x5a, 0x7f, 0xdf, 0xf0, 0x30, 0x1b, 0xe4, 0x8c, 0x76, + 0x9b, 0x02, 0xd0, 0x6b, 0x70, 0x9c, 0x4d, 0x60, 0x7a, 0xcf, 0xea, 0x5b, 0xc4, 0x15, 0xc6, 0xec, + 0xb7, 0xa8, 0x21, 0x56, 0xf8, 0x80, 0x94, 0xb5, 0x6c, 0x66, 0xb1, 0x2a, 0xd4, 0x1c, 0xa7, 0xaf, + 0xfb, 0x1d, 0xc7, 0xc3, 0xba, 0x61, 0x7e, 0x48, 0x8d, 0xb5, 0xa8, 0x55, 0x1d, 0xa7, 0xbf, 0x4d, + 0x60, 0x4d, 0xf3, 0x43, 0x74, 0x1a, 0xaa, 0x1d, 0x77, 0xe0, 0xe3, 0x40, 0x27, 0x7f, 0xe8, 0x8e, + 0x5a, 0x45, 0x03, 0x06, 0x5a, 0x73, 0x07, 0x7e, 0x0c, 0xa1, 0x4f, 0xd6, 0x50, 0xd3, 0x71, 0x84, + 0x87, 0xb8, 0x4f, 0x8f, 0xa4, 0xf7, 0x07, 0x5d, 0xec, 0x1a, 0x5d, 0xcc, 0x44, 0x13, 0xdb, 0x62, + 0xd2, 0x91, 0xf4, 0x7d, 0x8e, 0x42, 0x05, 0xd4, 0x66, 0xf7, 0xe3, 0x9f, 0x3e, 0x7a, 0x1f, 0xa6, + 0x07, 0xb6, 0xb5, 0x67, 0x61, 0x73, 0xb9, 0x42, 0x69, 0xaf, 0x8e, 0x71, 0x32, 0x76, 0x79, 0x97, + 0x91, 0xf0, 0x83, 0x3a, 0xce, 0x00, 0xdd, 0x82, 0x06, 0x57, 0x94, 0xff, 0xcc, 0x70, 0x93, 0xda, + 0x02, 0xaa, 0x82, 0x45, 0x86, 0xb1, 0xfd, 0xcc, 0x70, 0xe3, 0x1a, 0x6b, 0xdc, 0x82, 0x99, 0x38, + 0xd3, 0x43, 0xd9, 0xd2, 0x5d, 0xa8, 0x49, 0x8d, 0x24, 0xbd, 0x4d, 0x95, 0xe2, 0x5b, 0xdf, 0x14, + 0x03, 0xa0, 0x4c, 0x00, 0xdb, 0xd6, 0x37, 0x69, 0x22, 0x01, 0x95, 0x8c, 0xf2, 0x29, 0x69, 0xec, + 0x43, 0x35, 0xa0, 0x26, 0x9d, 0xdd, 0x13, 0xbf, 0x49, 0x0f, 0xe9, 0xb9, 0xdf, 0x24, 0xbf, 0x09, + 0xcc, 0x73, 0x7a, 0x42, 0x02, 0xfa, 0x9b, 0xc0, 0xe8, 0x29, 0x31, 0x3b, 0xf3, 0xa2, 0xbf, 0x69, + 0x15, 0xf8, 0x29, 0x4f, 0xc2, 0xa9, 0x68, 0xec, 0x43, 0xfd, 0x6d, 0x05, 0x60, 0xcd, 0x70, 0x8d, + 0xc7, 0x56, 0xcf, 0x0a, 0x0e, 0xd0, 0x79, 0xa8, 0x1b, 0xa6, 0xa9, 0x77, 0x04, 0xc4, 0xc2, 0x22, + 0x2b, 0x6a, 0xce, 0x30, 0xcd, 0xb5, 0x18, 0x18, 0x5d, 0x84, 0x79, 0xe2, 0xf5, 0x64, 0x5c, 0x96, + 0x26, 0x55, 0x27, 0x05, 0x12, 0xf2, 0x0d, 0x58, 0x26, 0x7c, 0x8d, 0xfe, 0x63, 0x0b, 0xdb, 0x81, + 0x4c, 0xc3, 0xf2, 0xa7, 0x16, 0x0d, 0xd3, 0x6c, 0xb2, 0xe2, 0x38, 0xa5, 0xfa, 0xd7, 0x53, 0x70, + 0x4a, 0xee, 0xf1, 0x64, 0x3a, 0xc5, 0x2d, 0x98, 0x49, 0xc8, 0x9b, 0x4a, 0x44, 0x88, 0x5a, 0xa8, + 0x49, 0xb8, 0x89, 0x84, 0x81, 0x42, 0x2a, 0x61, 0x20, 0x33, 0x55, 0xa3, 0xf8, 0x09, 0xa5, 0x6a, + 0x94, 0x3e, 0x66, 0xaa, 0xc6, 0xe4, 0x51, 0x53, 0x35, 0x66, 0xc6, 0x4e, 0xd5, 0x78, 0x99, 0x6e, + 0xf5, 0x88, 0x1a, 0xe9, 0x9c, 0xcd, 0x7c, 0x42, 0x2d, 0xe4, 0x6e, 0x8b, 0x54, 0xbd, 0x44, 0x4a, + 0xc7, 0xf4, 0x61, 0x52, 0x3a, 0xca, 0xb9, 0x29, 0x1d, 0x67, 0x60, 0xc6, 0x76, 0x74, 0x1b, 0x3f, + 0xd3, 0x49, 0xb7, 0xf8, 0xcb, 0x55, 0xd6, 0x47, 0xb6, 0xb3, 0x89, 0x9f, 0xb5, 0x09, 0x04, 0x9d, + 0x85, 0x99, 0xbe, 0xe1, 0x3f, 0xc1, 0x26, 0xcd, 0xad, 0xf0, 0x97, 0x6b, 0xd4, 0x9e, 0xaa, 0x0c, + 0xd6, 0x26, 0x20, 0xf4, 0x12, 0x84, 0x72, 0x70, 0xa4, 0x59, 0x8a, 0x54, 0x13, 0x50, 0x86, 0x16, + 0x4b, 0x0f, 0x99, 0x3b, 0x62, 0x7a, 0x48, 0xfd, 0x30, 0xe9, 0x21, 0x97, 0xa0, 0x2e, 0x7e, 0x8b, + 0xfc, 0x10, 0xb6, 0xdd, 0x4f, 0x53, 0x43, 0xe6, 0x44, 0x99, 0xc8, 0x01, 0xc9, 0xcb, 0x26, 0x81, + 0xa1, 0xd9, 0x24, 0x7f, 0xac, 0xf0, 0x85, 0x67, 0x38, 0x80, 0xf8, 0x31, 0xb6, 0x94, 0x81, 0xa0, + 0x1c, 0x25, 0x03, 0x01, 0xed, 0xe4, 0xe6, 0x68, 0x9c, 0xcf, 0xe7, 0x34, 0x2a, 0x4b, 0x43, 0x7d, + 0x18, 0xae, 0x09, 0x3f, 0x89, 0x5c, 0x33, 0xf5, 0x3f, 0x14, 0x38, 0xc5, 0xf9, 0xe5, 0x24, 0x64, + 0x65, 0x58, 0xb9, 0x92, 0x63, 0xe5, 0x1d, 0x0f, 0x9b, 0xd8, 0x0e, 0x2c, 0xa3, 0xa7, 0xfb, 0x2e, + 0xee, 0x88, 0x63, 0xde, 0x08, 0x4c, 0x03, 0x9d, 0xb3, 0x30, 0xc3, 0x72, 0x26, 0xf9, 0xf2, 0x90, + 0xa5, 0x46, 0x56, 0x69, 0xda, 0x24, 0x5f, 0x01, 0x6e, 0x65, 0x79, 0x96, 0x52, 0xee, 0xbe, 0xc2, + 0x48, 0x07, 0xa3, 0x3a, 0xb0, 0x94, 0x73, 0xe0, 0x9e, 0xd9, 0x4d, 0x4a, 0xba, 0x9b, 0x86, 0x2a, + 0x29, 0xdd, 0x4d, 0xdf, 0x51, 0xe0, 0x74, 0x6a, 0x99, 0xfa, 0xd9, 0x6b, 0x56, 0xfd, 0x33, 0x25, + 0xb4, 0x9f, 0xa4, 0xc9, 0xaf, 0xa5, 0x4d, 0xfe, 0xa5, 0x61, 0xab, 0xee, 0x4c, 0xa3, 0x7f, 0x94, + 0x6b, 0xf4, 0x17, 0x87, 0xae, 0xe0, 0x47, 0xe9, 0xf3, 0x5f, 0x15, 0x38, 0x91, 0x2b, 0x40, 0x22, + 0x1e, 0x54, 0x92, 0xf1, 0x20, 0x8f, 0x25, 0xa3, 0x10, 0x9d, 0xc5, 0x92, 0x34, 0x0a, 0xe7, 0x41, + 0x9b, 0xde, 0x37, 0x9e, 0x5b, 0xfd, 0x41, 0x9f, 0x07, 0x93, 0x84, 0xdd, 0x43, 0x06, 0x39, 0x4a, + 0x34, 0x79, 0x05, 0x16, 0x98, 0xa3, 0xa7, 0x01, 0x4d, 0x44, 0xc1, 0x82, 0xca, 0x79, 0x56, 0x46, + 0x62, 0x1b, 0x4e, 0xa0, 0x36, 0x61, 0x3e, 0x6c, 0xd6, 0xd0, 0x84, 0xa3, 0x58, 0x02, 0x51, 0x41, + 0x4e, 0x20, 0xb2, 0x61, 0x6a, 0x1d, 0x3f, 0xb5, 0x3a, 0xf8, 0x13, 0xc9, 0x5d, 0x3e, 0x03, 0x55, + 0x17, 0x7b, 0x7d, 0xcb, 0xf7, 0xc3, 0x59, 0xbd, 0xa2, 0xc5, 0x41, 0xea, 0x69, 0xa8, 0xac, 0xad, + 0xb7, 0x78, 0x95, 0x19, 0xa2, 0xaa, 0xff, 0x39, 0x05, 0x73, 0x49, 0x1b, 0xbb, 0x99, 0x4a, 0x68, + 0x3a, 0x95, 0xb9, 0x19, 0x96, 0xb1, 0x0b, 0x7c, 0x51, 0xac, 0x8f, 0x0a, 0xe9, 0xd3, 0xfe, 0x70, + 0x0d, 0x24, 0x96, 0x4d, 0xcb, 0x30, 0xdd, 0x71, 0xfa, 0x7d, 0xc3, 0x36, 0x45, 0x06, 0x3a, 0xff, + 0x24, 0x92, 0x1a, 0x5e, 0x97, 0xed, 0xff, 0x56, 0x34, 0xfa, 0x9b, 0x98, 0x00, 0x71, 0x86, 0x96, + 0x4d, 0x53, 0xa2, 0x68, 0x2f, 0x55, 0x34, 0xe0, 0xa0, 0x75, 0xcb, 0x43, 0xe7, 0xa0, 0x84, 0xed, + 0xa7, 0xe2, 0x60, 0x48, 0xda, 0x87, 0x14, 0x6b, 0x22, 0x8d, 0x62, 0xa0, 0xf3, 0x30, 0xd5, 0x27, + 0x66, 0x25, 0x8e, 0xcd, 0xe7, 0x53, 0x99, 0xda, 0x1a, 0x47, 0x40, 0xaf, 0xc2, 0xb4, 0x49, 0xb5, + 0x27, 0x16, 0x01, 0x48, 0x4a, 0xae, 0xa2, 0x45, 0x9a, 0x40, 0x41, 0xef, 0x86, 0x9b, 0xe0, 0x95, + 0xf4, 0xe9, 0x54, 0x42, 0xcd, 0x99, 0xfb, 0xdf, 0x9b, 0xf2, 0x4a, 0x12, 0xd2, 0x5b, 0xe9, 0x49, + 0x2e, 0xc3, 0x0f, 0xba, 0x4e, 0x40, 0xb9, 0xe7, 0x74, 0x99, 0xf5, 0x54, 0xd9, 0xf5, 0x85, 0x9e, + 0xd3, 0xa5, 0xc6, 0xb3, 0x00, 0x93, 0x7e, 0x60, 0x5a, 0x36, 0x8d, 0xa5, 0xca, 0x1a, 0xfb, 0x20, + 0x83, 0x94, 0xfe, 0xd0, 0x1d, 0xbb, 0x83, 0x97, 0x6b, 0xb4, 0xa8, 0x42, 0x21, 0x5b, 0x76, 0x87, + 0xae, 0x29, 0x83, 0xe0, 0x60, 0x79, 0x96, 0xc2, 0xc9, 0xcf, 0x68, 0x2f, 0x7a, 0x2e, 0x67, 0x2f, + 0x3a, 0x21, 0x70, 0xc6, 0x5e, 0x74, 0x3d, 0x77, 0xce, 0x48, 0xd2, 0x0a, 0x12, 0x12, 0x47, 0xae, + 0xad, 0xb7, 0x74, 0xd1, 0x35, 0xf3, 0xe9, 0xc4, 0xef, 0xd0, 0xec, 0x35, 0x08, 0x7f, 0x7e, 0xa6, + 0x47, 0x01, 0xdf, 0x57, 0x60, 0x71, 0x8d, 0x1e, 0x84, 0xc6, 0x7c, 0xe3, 0x61, 0x72, 0x88, 0x5e, + 0x0f, 0x13, 0xbb, 0x32, 0xb2, 0x73, 0x92, 0x9a, 0x12, 0x79, 0x5d, 0x6b, 0x30, 0x2b, 0xd8, 0x72, + 0xe2, 0xe2, 0x18, 0x59, 0x61, 0x35, 0x3f, 0xfe, 0xa9, 0xde, 0x86, 0xa5, 0x94, 0xe4, 0xfc, 0x38, + 0x2a, 0x79, 0x43, 0x80, 0x09, 0x1e, 0xbf, 0x21, 0xa0, 0xde, 0x82, 0xe3, 0xdb, 0x81, 0xe1, 0x05, + 0xa9, 0x66, 0x8f, 0x41, 0x4b, 0xf3, 0xbd, 0x64, 0x5a, 0x9e, 0x92, 0xb5, 0x0d, 0x0b, 0xdb, 0x81, + 0xe3, 0x1e, 0x81, 0x29, 0xf1, 0x3b, 0xa4, 0xe5, 0xce, 0x40, 0xcc, 0x33, 0xe2, 0x53, 0x5d, 0x62, + 0xd9, 0x69, 0xe9, 0xda, 0xbe, 0x00, 0x8b, 0x2c, 0x39, 0xec, 0x28, 0x8d, 0x38, 0x21, 0x52, 0xd3, + 0xd2, 0x7c, 0xef, 0xc1, 0x31, 0x69, 0x83, 0x9c, 0x27, 0x53, 0x5c, 0x95, 0x93, 0x29, 0xf2, 0xcf, + 0x22, 0xc2, 0x5c, 0x8a, 0xef, 0x16, 0x62, 0x7e, 0x3c, 0xe7, 0x44, 0xf5, 0x0d, 0x39, 0x95, 0xe2, + 0x74, 0x3e, 0x57, 0x29, 0x93, 0x22, 0x6d, 0x9d, 0xc5, 0x0c, 0xeb, 0xdc, 0x4d, 0x1d, 0xd7, 0x96, + 0xd2, 0xa9, 0x30, 0x09, 0x09, 0x3f, 0x95, 0x83, 0xda, 0x07, 0x2c, 0xdd, 0x22, 0xac, 0x3a, 0x3c, + 0xa3, 0x7d, 0x3d, 0x71, 0x46, 0xbb, 0x32, 0x44, 0xd2, 0xf0, 0x74, 0xf6, 0xbb, 0x25, 0xa8, 0x84, + 0x65, 0x29, 0x0d, 0xa7, 0x55, 0x55, 0xc8, 0x50, 0x55, 0x7c, 0x7e, 0x2d, 0x1e, 0x71, 0x7e, 0x2d, + 0x8d, 0x31, 0xbf, 0xae, 0x40, 0x85, 0xfe, 0xa0, 0x19, 0xf2, 0x6c, 0xbe, 0x2c, 0x53, 0x80, 0x86, + 0xf7, 0x22, 0x13, 0x9b, 0x1a, 0xd3, 0xc4, 0x12, 0xa9, 0x1d, 0xd3, 0xc9, 0xd4, 0x8e, 0x9b, 0xe1, + 0xdc, 0x57, 0x4e, 0x1f, 0xa5, 0x84, 0x1c, 0x33, 0x67, 0xbd, 0xc4, 0xfe, 0x69, 0x25, 0xbd, 0x7f, + 0x1a, 0xd1, 0x7f, 0x6e, 0x8f, 0x7a, 0xb7, 0x58, 0xbe, 0x46, 0xdc, 0xce, 0xb8, 0x8f, 0x7c, 0x43, + 0x3a, 0x2a, 0x53, 0x32, 0xe6, 0xaa, 0xd0, 0x2f, 0xc4, 0x8f, 0xc7, 0x76, 0x61, 0x31, 0x99, 0xe7, + 0x75, 0x28, 0x1f, 0x97, 0x93, 0x70, 0xfa, 0x9b, 0xf1, 0x88, 0x2f, 0x27, 0xbb, 0xf2, 0x66, 0x2a, + 0x11, 0x60, 0x6c, 0x0b, 0xbd, 0x2a, 0xe7, 0x0c, 0x1d, 0xda, 0xae, 0x52, 0x29, 0x43, 0x34, 0x22, + 0x31, 0x3c, 0x5e, 0xcc, 0x82, 0xf3, 0x0a, 0x87, 0x34, 0xe9, 0xca, 0x60, 0xcf, 0xb2, 0x2d, 0x7f, + 0x9f, 0x95, 0x4f, 0xb1, 0x95, 0x81, 0x00, 0x35, 0xe9, 0xae, 0x25, 0x7e, 0x6e, 0x05, 0x7a, 0xc7, + 0x31, 0x31, 0xb5, 0xda, 0x49, 0xad, 0x4c, 0x00, 0x6b, 0x8e, 0x89, 0xa3, 0xf1, 0x54, 0x3e, 0xec, + 0x78, 0xaa, 0x24, 0xc6, 0xd3, 0x22, 0x4c, 0x79, 0xd8, 0xf0, 0x1d, 0x9b, 0x6d, 0x66, 0x68, 0xfc, + 0x8b, 0x74, 0x44, 0x1f, 0xfb, 0x3e, 0xa9, 0x83, 0x07, 0x60, 0xfc, 0x33, 0x16, 0x2c, 0xce, 0x0c, + 0x09, 0x16, 0x87, 0xe4, 0x6e, 0x26, 0x82, 0xc5, 0xda, 0x90, 0x60, 0x71, 0xac, 0xd4, 0xcd, 0x28, + 0x2c, 0x9e, 0x1d, 0x15, 0x16, 0xc7, 0xe3, 0xca, 0x39, 0x39, 0xae, 0xbc, 0x1d, 0x5f, 0xa1, 0xd6, + 0xd3, 0x27, 0xd9, 0xc3, 0x6f, 0x84, 0x7c, 0x86, 0x03, 0xf8, 0x1f, 0x14, 0x58, 0x4a, 0x0d, 0x38, + 0x3e, 0x84, 0x5f, 0x4f, 0x24, 0x85, 0x0e, 0xcd, 0xc6, 0x14, 0x39, 0xa1, 0x4d, 0x29, 0x27, 0xf4, + 0xd2, 0x30, 0x92, 0x9c, 0x94, 0xd0, 0xa3, 0xa7, 0x69, 0x7e, 0x5b, 0x01, 0x94, 0xb1, 0x06, 0xbf, + 0x29, 0xa2, 0xf5, 0x43, 0xec, 0x96, 0xf1, 0x80, 0xfd, 0xdd, 0x28, 0x60, 0x2f, 0x1c, 0x66, 0xdf, + 0x21, 0xcc, 0x1f, 0xf9, 0x49, 0x01, 0x4e, 0xef, 0xba, 0x66, 0x22, 0x8c, 0xe4, 0x58, 0xe3, 0x7b, + 0xb6, 0x9b, 0x72, 0xf2, 0xcb, 0x11, 0x9b, 0x50, 0x3c, 0x4a, 0x13, 0xd0, 0xd7, 0xb3, 0xd2, 0x93, + 0x6e, 0x4b, 0x07, 0x89, 0xc3, 0x1b, 0xf8, 0x0b, 0x3e, 0xfe, 0x53, 0xe1, 0x4c, 0xbe, 0x00, 0x3c, + 0xe4, 0xfc, 0xff, 0x30, 0xb7, 0xf1, 0x1c, 0x77, 0xb6, 0x0f, 0xec, 0xce, 0x21, 0xb4, 0x5e, 0x87, + 0x62, 0xa7, 0x6f, 0xf2, 0xd3, 0x11, 0xf2, 0x33, 0x1e, 0x45, 0x17, 0xe5, 0x28, 0x5a, 0x87, 0x7a, + 0x54, 0x03, 0x1f, 0x40, 0x8b, 0x64, 0x00, 0x99, 0x04, 0x99, 0x30, 0x9f, 0xd1, 0xf8, 0x17, 0x87, + 0x63, 0x8f, 0x5d, 0x37, 0x61, 0x70, 0xec, 0x79, 0xb2, 0xd7, 0x2e, 0xca, 0x5e, 0x5b, 0xfd, 0x9e, + 0x02, 0x55, 0x52, 0xc3, 0xc7, 0x92, 0x9f, 0x2f, 0x65, 0x8b, 0xd1, 0x52, 0x36, 0x5c, 0x11, 0x97, + 0xe2, 0x2b, 0xe2, 0x48, 0xf2, 0x49, 0x0a, 0x4e, 0x4b, 0x3e, 0x15, 0xc2, 0xb1, 0xe7, 0xa9, 0x67, + 0x60, 0x86, 0xc9, 0xc6, 0x5b, 0x5e, 0x87, 0xe2, 0xc0, 0xeb, 0x89, 0xfe, 0x1b, 0x78, 0x3d, 0xf5, + 0x5b, 0x0a, 0xd4, 0x9a, 0x41, 0x60, 0x74, 0xf6, 0x0f, 0xd1, 0x80, 0x50, 0xb8, 0x42, 0x5c, 0xb8, + 0x74, 0x23, 0x22, 0x71, 0x4b, 0x39, 0xe2, 0x4e, 0x4a, 0xe2, 0xaa, 0x30, 0x2b, 0x64, 0xc9, 0x15, + 0x78, 0x13, 0x50, 0xdb, 0xf1, 0x82, 0xf7, 0x1c, 0xef, 0x99, 0xe1, 0x99, 0x87, 0x5b, 0xb5, 0x22, + 0x28, 0xf1, 0x07, 0x00, 0x8a, 0xe7, 0x26, 0x35, 0xfa, 0x5b, 0x7d, 0x05, 0x8e, 0x49, 0xfc, 0x72, + 0x2b, 0xbe, 0x05, 0x55, 0x3a, 0x0b, 0xf3, 0x05, 0xcd, 0xc5, 0xf8, 0xe9, 0xfb, 0x88, 0xd9, 0x5a, + 0x5d, 0x87, 0x79, 0x12, 0x8f, 0x51, 0x78, 0xe8, 0x5f, 0xae, 0x24, 0x62, 0xfe, 0xa5, 0x14, 0x8b, + 0x44, 0xbc, 0xff, 0x33, 0x05, 0x26, 0x29, 0x3c, 0x15, 0x23, 0xad, 0x90, 0x79, 0xce, 0x75, 0xf4, + 0xc0, 0xe8, 0x86, 0x8f, 0x2b, 0x10, 0xc0, 0x8e, 0xd1, 0xa5, 0x27, 0x3a, 0xb4, 0xd0, 0xb4, 0xba, + 0xd8, 0x0f, 0xc4, 0x09, 0x61, 0x95, 0xc0, 0xd6, 0x19, 0x88, 0x28, 0x86, 0x1e, 0xa4, 0x96, 0xe8, + 0x79, 0x29, 0xfd, 0x8d, 0xce, 0xb1, 0x9b, 0x8a, 0xc3, 0x8f, 0xc5, 0xe8, 0x0d, 0xc6, 0x06, 0x94, + 0x13, 0xe7, 0x59, 0xe1, 0x37, 0x3a, 0x0f, 0x25, 0xba, 0xff, 0x3c, 0x3d, 0x4c, 0x4b, 0x14, 0x85, + 0x58, 0x85, 0x6b, 0xd9, 0x36, 0x36, 0x69, 0x00, 0x54, 0xd6, 0xf8, 0x97, 0xfa, 0x2e, 0xa0, 0xb8, + 0xf2, 0x78, 0x07, 0x9d, 0x87, 0x29, 0xaa, 0x5b, 0x11, 0xc4, 0xce, 0xa7, 0x58, 0x6b, 0x1c, 0x41, + 0xfd, 0x1a, 0x20, 0x56, 0x97, 0x14, 0xb8, 0x1e, 0xa6, 0x03, 0x87, 0x84, 0xb0, 0x7f, 0xae, 0xc0, + 0x31, 0x89, 0x3b, 0x97, 0xef, 0x15, 0x99, 0x7d, 0x86, 0x78, 0x9c, 0xf5, 0xdb, 0xd2, 0xcc, 0x7c, + 0x3e, 0x2d, 0xc6, 0x2f, 0x68, 0x56, 0xfe, 0x47, 0x05, 0xa0, 0x39, 0x08, 0xf6, 0xf9, 0x46, 0x6b, + 0xbc, 0x13, 0x95, 0x44, 0x27, 0x36, 0xa0, 0xec, 0x1a, 0xbe, 0xff, 0xcc, 0xf1, 0xc4, 0x22, 0x32, + 0xfc, 0xa6, 0xdb, 0xa3, 0x03, 0xfe, 0xe2, 0x42, 0x45, 0xa3, 0xbf, 0xd1, 0x4b, 0x30, 0xcb, 0x5e, + 0xfd, 0xd0, 0x0d, 0xd3, 0xf4, 0x44, 0x46, 0x5f, 0x45, 0xab, 0x31, 0x68, 0x93, 0x01, 0x09, 0x9a, + 0x45, 0x4f, 0x23, 0x82, 0x03, 0x3d, 0x70, 0x9e, 0x60, 0x9b, 0x2f, 0x0c, 0x6b, 0x02, 0xba, 0x43, + 0x80, 0xec, 0xb8, 0xb1, 0x6b, 0xf9, 0x81, 0x27, 0xd0, 0xc4, 0xa1, 0x29, 0x87, 0x52, 0x34, 0xf5, + 0x4f, 0x14, 0xa8, 0xb7, 0x07, 0xbd, 0x1e, 0x53, 0xee, 0x51, 0x3a, 0xf9, 0x02, 0x6f, 0x4a, 0x21, + 0x6d, 0xf2, 0x91, 0xa2, 0x78, 0x13, 0x3f, 0x91, 0xbd, 0xac, 0xab, 0x30, 0x1f, 0x93, 0x98, 0x1b, + 0x8e, 0x14, 0xd9, 0x2b, 0x72, 0x64, 0xaf, 0x36, 0x01, 0xb1, 0xed, 0x9b, 0x23, 0xb7, 0x52, 0x3d, + 0x0e, 0xc7, 0x24, 0x16, 0x7c, 0x2a, 0xbe, 0x00, 0x35, 0x9e, 0x5d, 0xc6, 0x0d, 0xe2, 0x04, 0x94, + 0x89, 0x4b, 0xed, 0x58, 0xa6, 0xc8, 0x90, 0x98, 0x76, 0x1d, 0x73, 0xcd, 0x32, 0x3d, 0xf5, 0x4b, + 0x50, 0xe3, 0xd7, 0xd7, 0x39, 0xee, 0x1d, 0x98, 0xe5, 0xe7, 0x83, 0xba, 0x74, 0xdf, 0xf3, 0x44, + 0x46, 0x0a, 0xa3, 0x50, 0x85, 0x1d, 0xff, 0x54, 0xbf, 0x0e, 0x0d, 0x16, 0x2d, 0x48, 0x8c, 0x45, + 0x03, 0xef, 0x80, 0xb8, 0x0c, 0x31, 0x84, 0xbf, 0x4c, 0x59, 0xf3, 0xe2, 0x9f, 0xea, 0x29, 0x58, + 0xc9, 0xe4, 0xcf, 0x5b, 0xef, 0x42, 0x3d, 0x2a, 0x60, 0x97, 0x12, 0xc3, 0xb4, 0x0f, 0x25, 0x96, + 0xf6, 0xb1, 0x18, 0xc6, 0xde, 0x05, 0x31, 0x73, 0xd1, 0xf0, 0x3a, 0x5a, 0x71, 0x15, 0xf3, 0x56, + 0x5c, 0x25, 0x69, 0xc5, 0xa5, 0x3e, 0x0c, 0x75, 0xc8, 0xd7, 0xbd, 0xb7, 0xe9, 0xca, 0x9c, 0xd5, + 0x2d, 0x9c, 0xda, 0xc9, 0xec, 0xf6, 0x31, 0x24, 0x2d, 0x86, 0xaf, 0x9e, 0x87, 0x9a, 0xec, 0xde, + 0x62, 0x1e, 0x4b, 0x49, 0x79, 0xac, 0xd9, 0x84, 0xb3, 0x7a, 0x2d, 0xb1, 0xa4, 0xc8, 0xd2, 0x6b, + 0x62, 0x41, 0x71, 0x43, 0x72, 0x5b, 0x2f, 0x4a, 0x47, 0xf4, 0xbf, 0x20, 0x8f, 0xb5, 0xc0, 0xfd, + 0xf8, 0x7b, 0x3e, 0xa1, 0xe7, 0x0d, 0x55, 0x5f, 0x80, 0xea, 0x6e, 0xde, 0x23, 0x22, 0x25, 0x91, + 0x57, 0xf6, 0x26, 0x2c, 0xbc, 0x67, 0xf5, 0xb0, 0x7f, 0xe0, 0x07, 0xb8, 0xdf, 0xa2, 0xee, 0x65, + 0xcf, 0xc2, 0x1e, 0x5a, 0x05, 0xa0, 0xab, 0x48, 0xd7, 0xb1, 0xc2, 0x87, 0x13, 0x62, 0x10, 0xf5, + 0xc7, 0x0a, 0xcc, 0x45, 0x84, 0xe3, 0x64, 0xf8, 0xbd, 0x01, 0x93, 0x7b, 0xbe, 0xd8, 0x6d, 0x4b, + 0x9c, 0x41, 0x64, 0x89, 0xa0, 0x95, 0xf6, 0xfc, 0x96, 0x89, 0xde, 0x04, 0x18, 0xf8, 0xd8, 0xe4, + 0xc7, 0x7e, 0x23, 0x72, 0x2e, 0x2b, 0x04, 0x95, 0x1d, 0x1c, 0xde, 0x80, 0xaa, 0x65, 0x3b, 0x26, + 0xa6, 0x47, 0xc2, 0xe6, 0xa8, 0x7c, 0x4b, 0x60, 0xb8, 0xbb, 0x3e, 0x36, 0xd5, 0xdf, 0x8b, 0x0e, + 0x76, 0x3f, 0xcf, 0x2d, 0x54, 0x75, 0x3e, 0xbf, 0x8a, 0x5e, 0xe7, 0x26, 0x7b, 0x1f, 0xe6, 0x99, + 0x9b, 0xdc, 0x0b, 0xab, 0xcc, 0xbc, 0x87, 0x92, 0x68, 0x9b, 0x56, 0xb7, 0x78, 0x64, 0x25, 0x88, + 0xd4, 0x5b, 0x70, 0x3c, 0x91, 0x18, 0x3e, 0xfe, 0x76, 0xfa, 0xfb, 0x89, 0x7d, 0xb1, 0x68, 0x48, + 0x5d, 0x95, 0xef, 0x23, 0x0d, 0x4b, 0xe1, 0xe7, 0x57, 0x63, 0x76, 0xe1, 0x84, 0xb4, 0x69, 0x27, + 0xc9, 0x72, 0x23, 0x11, 0x2c, 0x9e, 0xc9, 0xe7, 0x97, 0x88, 0x1a, 0xff, 0x4b, 0x81, 0x85, 0x2c, + 0x84, 0x23, 0x6e, 0x18, 0x7f, 0x35, 0xe7, 0x2e, 0xe3, 0xeb, 0xa3, 0x04, 0xfa, 0x54, 0x36, 0xd8, + 0x37, 0xd9, 0x4d, 0xa8, 0xd1, 0x7d, 0x52, 0x1c, 0xaf, 0x4f, 0x7e, 0x56, 0x88, 0x1d, 0x8a, 0x0c, + 0xb9, 0xad, 0xf4, 0x31, 0x36, 0x29, 0xd7, 0x12, 0x97, 0x95, 0x2e, 0x66, 0x12, 0x8e, 0xb8, 0xab, + 0xa4, 0x65, 0x6d, 0x06, 0x5c, 0x1d, 0xc5, 0xe9, 0x73, 0xbb, 0x7f, 0xfd, 0xdf, 0x0a, 0xcc, 0xca, + 0x1d, 0x82, 0xde, 0xcd, 0xb8, 0xa9, 0x74, 0x7a, 0x44, 0x03, 0xa5, 0x8b, 0x4a, 0xfc, 0x66, 0x50, + 0x61, 0xfc, 0x9b, 0x41, 0xc5, 0xf1, 0x6e, 0x06, 0xdd, 0x85, 0xd9, 0x67, 0x9e, 0x15, 0x18, 0x8f, + 0x7b, 0x58, 0xef, 0x19, 0x07, 0xd8, 0xe3, 0x5e, 0x78, 0xa8, 0x1b, 0xaa, 0x09, 0x92, 0x07, 0x84, + 0x42, 0xfd, 0x56, 0x01, 0x8e, 0x67, 0x5e, 0x52, 0xf9, 0xf8, 0xed, 0xbe, 0x14, 0x6f, 0xf7, 0x61, + 0x6e, 0xfe, 0x14, 0x0f, 0x75, 0xf3, 0xa7, 0x95, 0xa3, 0x85, 0xac, 0xa3, 0xf4, 0x11, 0xca, 0xf8, + 0x4b, 0x05, 0xca, 0x42, 0xa8, 0x91, 0xf7, 0x70, 0x96, 0x06, 0x04, 0x4d, 0xa7, 0x69, 0xd8, 0xb6, + 0x61, 0x3b, 0xba, 0x8f, 0x49, 0x58, 0x34, 0xf2, 0xd6, 0xc3, 0x02, 0xa5, 0x5b, 0x73, 0x3c, 0xbc, + 0x69, 0xd8, 0xce, 0x36, 0x23, 0x42, 0x4d, 0xa8, 0x33, 0x7e, 0x94, 0x15, 0x61, 0x3a, 0x72, 0xaa, + 0x9a, 0xa5, 0x04, 0x84, 0x09, 0x61, 0xe6, 0xab, 0x3f, 0x50, 0x60, 0x2e, 0xa1, 0xd9, 0x5f, 0xbe, + 0x46, 0xfc, 0x6e, 0x11, 0xaa, 0xb1, 0x5e, 0x1e, 0xd1, 0x80, 0x35, 0x98, 0x17, 0xe9, 0x30, 0x3e, + 0x0e, 0xc6, 0xbb, 0x75, 0x32, 0xc7, 0x29, 0xb6, 0x71, 0xc0, 0x22, 0x99, 0x3b, 0x30, 0x67, 0x3c, + 0x35, 0xac, 0x1e, 0xb5, 0xa0, 0xb1, 0x82, 0x84, 0xd9, 0x10, 0x3f, 0x8c, 0x85, 0x58, 0xbb, 0xc7, + 0xba, 0x7b, 0x02, 0x14, 0x37, 0xba, 0x02, 0xe4, 0xfb, 0xb1, 0x9c, 0xab, 0xa1, 0x57, 0x80, 0x7c, + 0x3f, 0xac, 0x8f, 0xe6, 0xa0, 0xd3, 0xbb, 0x4f, 0x3e, 0x7f, 0x30, 0x23, 0xbf, 0x3e, 0x82, 0xfb, + 0x1e, 0x45, 0x25, 0x0a, 0xeb, 0x1b, 0x1f, 0x3a, 0x9e, 0x1e, 0xa7, 0x9f, 0x1e, 0xa1, 0x30, 0x4a, + 0xd1, 0x0e, 0x99, 0xa8, 0xff, 0xa3, 0x00, 0x4a, 0x0f, 0xc8, 0x5f, 0x9a, 0xae, 0x8a, 0x37, 0xbd, + 0x34, 0xb6, 0xea, 0xd4, 0x77, 0xe0, 0x84, 0x86, 0x1d, 0x17, 0xdb, 0xa1, 0xdf, 0x7b, 0xe0, 0x74, + 0x0f, 0x11, 0xb1, 0x9d, 0x84, 0x46, 0x16, 0x3d, 0x5f, 0x07, 0x0e, 0xa0, 0xb1, 0xb6, 0x8f, 0x3b, + 0x4f, 0x68, 0xf4, 0x7f, 0x94, 0x7c, 0x8e, 0x06, 0x94, 0x7b, 0x4e, 0x87, 0x3d, 0xbd, 0xc9, 0xb7, + 0x4a, 0xc4, 0xf7, 0x90, 0x5d, 0xea, 0x53, 0xb0, 0x92, 0x59, 0x2d, 0x97, 0x0a, 0x41, 0xfd, 0x1e, + 0x0e, 0x36, 0x9e, 0x62, 0x3b, 0x0c, 0x08, 0xd5, 0x1f, 0x16, 0x62, 0xa1, 0x27, 0x2d, 0x3a, 0x44, + 0x1e, 0x0c, 0x6a, 0xc3, 0x42, 0x84, 0x82, 0x09, 0x35, 0x7b, 0x08, 0x8f, 0x3d, 0x21, 0x99, 0x7d, + 0x46, 0x46, 0x2b, 0xa1, 0xef, 0xdf, 0x45, 0x4f, 0x7c, 0x84, 0xb0, 0xc4, 0xc9, 0x69, 0x31, 0x79, + 0x72, 0xfa, 0x3e, 0xa0, 0x78, 0x70, 0xc9, 0x57, 0x9b, 0xa5, 0x31, 0x5e, 0x35, 0xa9, 0xbb, 0xc9, + 0xf7, 0x77, 0x72, 0xde, 0x26, 0x99, 0x3c, 0xd2, 0xdb, 0x24, 0xea, 0x2a, 0x9c, 0x24, 0x21, 0xe3, + 0x43, 0x1c, 0x78, 0x56, 0x67, 0x1d, 0xfb, 0x1d, 0xcf, 0x72, 0x03, 0x27, 0x4c, 0xcd, 0x50, 0x75, + 0x38, 0x95, 0x53, 0xce, 0xd5, 0xfd, 0x0e, 0x54, 0xcd, 0x08, 0x9c, 0xb5, 0x72, 0x4f, 0xd2, 0x6a, + 0x71, 0x02, 0xf5, 0x03, 0xa8, 0x27, 0x11, 0x32, 0x33, 0x39, 0x11, 0x94, 0xf6, 0x71, 0xcf, 0x15, + 0x57, 0x53, 0xc8, 0x6f, 0xa2, 0x75, 0x16, 0x8d, 0x3f, 0xc1, 0x07, 0x62, 0x67, 0xb7, 0x42, 0x21, + 0x5f, 0xc4, 0x07, 0x61, 0xdb, 0xa4, 0xcb, 0xf2, 0x9e, 0xd5, 0x49, 0xb6, 0x2d, 0xa3, 0x3c, 0x6a, + 0x1b, 0xe9, 0xb6, 0x3e, 0x03, 0xf3, 0xb6, 0x9d, 0xca, 0xbd, 0x88, 0x4f, 0x69, 0xc1, 0x75, 0x4c, + 0xfe, 0x5b, 0xfd, 0x53, 0x05, 0xe6, 0x53, 0x18, 0x63, 0xee, 0xd6, 0xbf, 0x0a, 0xd3, 0xa2, 0xde, + 0x42, 0x3a, 0xdd, 0x91, 0xf1, 0xd2, 0x04, 0x0a, 0x6a, 0xc1, 0x7c, 0x64, 0xd1, 0x82, 0xae, 0x98, + 0xee, 0x8b, 0x78, 0x28, 0x4e, 0xc5, 0xad, 0x77, 0x12, 0x10, 0xb5, 0x03, 0xf5, 0x24, 0xd6, 0x38, + 0x63, 0xea, 0x50, 0xf2, 0xaa, 0x7f, 0xa7, 0xc0, 0x14, 0x83, 0x65, 0x76, 0xb6, 0xe4, 0xc5, 0x0b, + 0x49, 0x2f, 0xfe, 0x16, 0x54, 0x19, 0x1f, 0x3d, 0xbc, 0x98, 0x34, 0x2b, 0x6f, 0x58, 0x32, 0xd6, + 0x74, 0xb4, 0x42, 0x3f, 0xfc, 0x4d, 0x9a, 0xc1, 0xec, 0x85, 0xc6, 0xda, 0x22, 0xa9, 0xb5, 0x4a, + 0x61, 0xd4, 0xd7, 0x92, 0x78, 0x91, 0x47, 0xe5, 0x23, 0xe6, 0x41, 0x86, 0x75, 0xe1, 0x65, 0x28, + 0x8b, 0x47, 0x97, 0xd1, 0x34, 0x14, 0x77, 0xd6, 0xda, 0xf5, 0x09, 0xf2, 0x63, 0x77, 0xbd, 0x5d, + 0x57, 0x50, 0x19, 0x4a, 0xdb, 0x6b, 0x3b, 0xed, 0x7a, 0xe1, 0x42, 0x1f, 0xea, 0xc9, 0x77, 0x87, + 0xd1, 0x12, 0x1c, 0x6b, 0x6b, 0x5b, 0xed, 0xe6, 0xbd, 0xe6, 0x4e, 0x6b, 0x6b, 0x53, 0x6f, 0x6b, + 0xad, 0x47, 0xcd, 0x9d, 0x8d, 0xfa, 0x04, 0x3a, 0x0b, 0xa7, 0xe2, 0x05, 0xf7, 0xb7, 0xb6, 0x77, + 0xf4, 0x9d, 0x2d, 0x7d, 0x6d, 0x6b, 0x73, 0xa7, 0xd9, 0xda, 0xdc, 0xd0, 0xea, 0x0a, 0x3a, 0x05, + 0x27, 0xe2, 0x28, 0x77, 0x5b, 0xeb, 0x2d, 0x6d, 0x63, 0x8d, 0xfc, 0x6e, 0x3e, 0xa8, 0x17, 0x2e, + 0xbc, 0x0d, 0x35, 0xe9, 0x02, 0x03, 0x11, 0xa9, 0xbd, 0xb5, 0x5e, 0x9f, 0x40, 0x35, 0xa8, 0xc4, + 0xf9, 0x94, 0xa1, 0xb4, 0xb9, 0xb5, 0xbe, 0x51, 0x2f, 0x20, 0x80, 0xa9, 0x9d, 0xa6, 0x76, 0x6f, + 0x63, 0xa7, 0x5e, 0xbc, 0x70, 0x2b, 0xf9, 0x54, 0x02, 0x46, 0xf3, 0x50, 0xdb, 0x6e, 0x6e, 0xae, + 0xdf, 0xdd, 0xfa, 0x8a, 0xae, 0x6d, 0x34, 0xd7, 0x3f, 0xa8, 0x4f, 0xa0, 0x05, 0xa8, 0x0b, 0xd0, + 0xe6, 0xd6, 0x0e, 0x83, 0x2a, 0x17, 0x9e, 0x24, 0xd6, 0x2e, 0x18, 0x1d, 0x87, 0xf9, 0xb0, 0x4a, + 0x7d, 0x4d, 0xdb, 0x68, 0xee, 0x6c, 0x10, 0x49, 0x24, 0xb0, 0xb6, 0xbb, 0xb9, 0xd9, 0xda, 0xbc, + 0x57, 0x57, 0x08, 0xd7, 0x08, 0xbc, 0xf1, 0x95, 0x16, 0x41, 0x2e, 0xc8, 0xc8, 0xbb, 0x9b, 0x5f, + 0xdc, 0xdc, 0xfa, 0xf2, 0x66, 0xbd, 0x78, 0xe1, 0x57, 0xe3, 0x67, 0xeb, 0x91, 0x37, 0x5e, 0x81, + 0xa5, 0x54, 0x8d, 0xfa, 0xc6, 0xa3, 0x8d, 0xcd, 0x9d, 0xfa, 0x84, 0x5c, 0xb8, 0xbd, 0xd3, 0xd4, + 0xa2, 0x42, 0x25, 0x59, 0xb8, 0xd5, 0x6e, 0x87, 0x85, 0x05, 0xb9, 0x70, 0x7d, 0xe3, 0xc1, 0x46, + 0x44, 0x59, 0xbc, 0xf0, 0x22, 0x40, 0x64, 0x75, 0xa8, 0x0a, 0xd3, 0x6b, 0x5b, 0xbb, 0x9b, 0x3b, + 0x1b, 0x5a, 0x7d, 0x02, 0x55, 0x60, 0xf2, 0x5e, 0x73, 0xf7, 0xde, 0x46, 0x5d, 0xb9, 0xf6, 0xfb, + 0x0b, 0xe1, 0xdb, 0xa7, 0xdb, 0xd8, 0xa3, 0xb9, 0xe0, 0xeb, 0x30, 0x2d, 0xde, 0x1e, 0x97, 0x96, + 0xe4, 0xf2, 0x5b, 0xe9, 0x8d, 0x95, 0xcc, 0x32, 0x3e, 0x45, 0x4e, 0xa0, 0x47, 0x74, 0x43, 0x35, + 0xf6, 0xfa, 0xd0, 0x99, 0xc4, 0x26, 0x66, 0xea, 0x91, 0xa3, 0xc6, 0xd9, 0x21, 0x18, 0x21, 0xdf, + 0x0f, 0x60, 0x56, 0x7e, 0xe6, 0x0f, 0x9d, 0x95, 0x37, 0x3b, 0x33, 0x5e, 0x10, 0x6c, 0xa8, 0xc3, + 0x50, 0x42, 0xd6, 0x3a, 0xd4, 0x93, 0xcf, 0xfc, 0x21, 0x29, 0x87, 0x20, 0xe7, 0x15, 0xc1, 0xc6, + 0x8b, 0xc3, 0x91, 0xe2, 0x15, 0xa4, 0x5e, 0xaf, 0x7b, 0x61, 0xf8, 0x7b, 0x60, 0x19, 0x15, 0xe4, + 0x3d, 0x1a, 0xc6, 0x94, 0x23, 0x4f, 0x20, 0x28, 0xf1, 0x60, 0x5c, 0xc6, 0xdb, 0x52, 0xb2, 0x72, + 0xb2, 0xdf, 0x15, 0x52, 0x27, 0xd0, 0xff, 0x83, 0xb9, 0x44, 0xa2, 0x2f, 0x92, 0x08, 0xb3, 0xf3, + 0x97, 0x1b, 0x2f, 0x0c, 0xc5, 0x91, 0x7b, 0x35, 0x9e, 0xcc, 0x9b, 0xec, 0xd5, 0x8c, 0x24, 0xe1, + 0x64, 0xaf, 0x66, 0xe6, 0x02, 0x53, 0x43, 0x94, 0x12, 0x77, 0x65, 0x43, 0xcc, 0x4a, 0x14, 0x6e, + 0x9c, 0x1d, 0x82, 0x11, 0x57, 0x48, 0x22, 0x75, 0x57, 0x56, 0x48, 0x76, 0x52, 0x70, 0xe3, 0x85, + 0xa1, 0x38, 0xc9, 0x9e, 0x8c, 0x52, 0x06, 0xd3, 0x3d, 0x99, 0x4a, 0x5b, 0x4d, 0xf7, 0x64, 0x3a, + 0xe3, 0x90, 0xf7, 0x64, 0x22, 0xc9, 0x4f, 0x1d, 0x9a, 0x80, 0x94, 0xd5, 0x93, 0xd9, 0x49, 0x4a, + 0xea, 0x04, 0x7a, 0x06, 0xcb, 0x79, 0x79, 0x26, 0xe8, 0xe2, 0x21, 0xd2, 0x61, 0x1a, 0xaf, 0x8e, + 0x87, 0x1c, 0x56, 0x8c, 0x01, 0xa5, 0x57, 0x12, 0xe8, 0x25, 0x59, 0xdd, 0x39, 0x2b, 0x95, 0xc6, + 0xcb, 0xa3, 0xd0, 0xc2, 0x6a, 0xee, 0x41, 0x59, 0x64, 0xb0, 0x20, 0xc9, 0x05, 0x26, 0x32, 0x67, + 0x1a, 0x27, 0xb3, 0x0b, 0x43, 0x46, 0x5f, 0x80, 0x12, 0x81, 0xa2, 0xa5, 0x24, 0x9e, 0x60, 0xb0, + 0x9c, 0x2e, 0x08, 0x89, 0x9b, 0x30, 0xc5, 0x52, 0x33, 0x90, 0x74, 0x36, 0x24, 0xa5, 0x8e, 0x34, + 0x1a, 0x59, 0x45, 0x21, 0x8b, 0x36, 0xfb, 0x4f, 0x0e, 0x3c, 0xd3, 0x02, 0xad, 0x26, 0x1f, 0xf8, + 0x95, 0x53, 0x3a, 0x1a, 0xa7, 0x73, 0xcb, 0xe3, 0x36, 0x9b, 0xd8, 0x2d, 0x3b, 0x3b, 0x64, 0x4b, + 0x37, 0xcb, 0x66, 0xb3, 0x37, 0x8a, 0x59, 0xe7, 0xa6, 0x37, 0x92, 0xe5, 0xce, 0xcd, 0xdd, 0xac, + 0x97, 0x3b, 0x37, 0x7f, 0x3f, 0x9a, 0x0d, 0x8d, 0xe4, 0x4b, 0x3d, 0xea, 0xb0, 0x57, 0xb4, 0xb2, + 0x86, 0x46, 0xce, 0xeb, 0x5c, 0xea, 0x04, 0xda, 0x87, 0x63, 0x19, 0xcf, 0x77, 0xa1, 0x97, 0xf3, + 0xfd, 0xaf, 0x54, 0xcb, 0x2b, 0x23, 0xf1, 0xe2, 0x35, 0x65, 0x1c, 0xaf, 0xca, 0x35, 0xe5, 0x9f, + 0xef, 0xca, 0x35, 0x0d, 0x3b, 0xa7, 0xa5, 0x86, 0xc8, 0x7d, 0xc8, 0x89, 0xac, 0x33, 0xc7, 0x0c, + 0x43, 0x4c, 0x79, 0x8c, 0x7d, 0x38, 0x96, 0xb1, 0xda, 0x96, 0x85, 0xcd, 0xdf, 0x05, 0x90, 0x85, + 0x1d, 0xb6, 0x6c, 0x9f, 0x40, 0x5f, 0x05, 0x74, 0x0f, 0x07, 0x72, 0x7c, 0xe6, 0x23, 0x69, 0xa0, + 0x26, 0x17, 0xf6, 0x39, 0xf6, 0x29, 0xad, 0xf0, 0xd5, 0x89, 0xab, 0x0a, 0xb2, 0xd9, 0x5d, 0x82, + 0xd4, 0xba, 0x14, 0x9d, 0x4b, 0x76, 0x5b, 0xde, 0xd2, 0xb6, 0x71, 0x7e, 0x0c, 0xcc, 0xb0, 0x2d, + 0x76, 0xf2, 0xa9, 0x48, 0xb1, 0x34, 0x3a, 0x97, 0x6f, 0x26, 0xf2, 0x72, 0x33, 0x5d, 0x5f, 0xee, + 0xc2, 0x53, 0x9d, 0xb8, 0xf6, 0x3b, 0x45, 0x98, 0x61, 0xc9, 0x0b, 0x3c, 0x4c, 0x7c, 0x08, 0x10, + 0xe5, 0x01, 0xa1, 0x53, 0x49, 0x5e, 0x52, 0x72, 0x55, 0x63, 0x35, 0xaf, 0x38, 0xee, 0x8e, 0x62, + 0xf9, 0x35, 0xb2, 0x3b, 0x4a, 0xa7, 0x0b, 0xc9, 0xee, 0x28, 0x23, 0x31, 0x47, 0x9d, 0x40, 0xef, + 0x43, 0x25, 0x4c, 0xe7, 0x90, 0x3b, 0x39, 0x99, 0x97, 0xd2, 0x38, 0x95, 0x53, 0x1a, 0x97, 0x2e, + 0x96, 0xa5, 0x21, 0x4b, 0x97, 0xce, 0x00, 0x91, 0xa5, 0xcb, 0x4a, 0xef, 0x88, 0xda, 0xcb, 0xce, + 0x51, 0x33, 0xda, 0x2b, 0x1d, 0xab, 0x67, 0xb4, 0x57, 0x3e, 0x80, 0x55, 0x27, 0xee, 0xde, 0xf9, + 0xd1, 0x4f, 0x57, 0x95, 0x1f, 0xff, 0x74, 0x75, 0xe2, 0x57, 0x3e, 0x5a, 0x55, 0x7e, 0xf4, 0xd1, + 0xaa, 0xf2, 0x4f, 0x1f, 0xad, 0x2a, 0x3f, 0xf9, 0x68, 0x55, 0xf9, 0xf6, 0xbf, 0xaf, 0x4e, 0x7c, + 0x55, 0x7d, 0x72, 0xc3, 0xbf, 0x6c, 0x39, 0x57, 0x3a, 0x9e, 0x75, 0xc9, 0x70, 0xad, 0x2b, 0xee, + 0x93, 0xee, 0x15, 0xc3, 0xb5, 0xfc, 0x2b, 0x9c, 0xef, 0x95, 0xa7, 0xaf, 0x3d, 0x9e, 0xa2, 0xff, + 0xa5, 0xe7, 0xf5, 0xff, 0x0b, 0x00, 0x00, 0xff, 0xff, 0xdc, 0x7a, 0xda, 0x2e, 0x5f, 0x69, 0x00, + 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -11695,6 +11781,34 @@ func (m *Mount) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.GidMappings) > 0 { + for iNdEx := len(m.GidMappings) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.GidMappings[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintApi(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x3a + } + } + if len(m.UidMappings) > 0 { + for iNdEx := len(m.UidMappings) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.UidMappings[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintApi(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x32 + } + } if m.Propagation != 0 { i = encodeVarintApi(dAtA, i, uint64(m.Propagation)) i-- @@ -14925,6 +15039,36 @@ func (m *Device) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *CDIDevice) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CDIDevice) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *CDIDevice) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = encodeVarintApi(dAtA, i, uint64(len(m.Name))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *ContainerConfig) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -14945,6 +15089,22 @@ func (m *ContainerConfig) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.CDIDevices) > 0 { + for iNdEx := len(m.CDIDevices) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.CDIDevices[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintApi(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x8a + } + } if m.Windows != nil { { size, err := m.Windows.MarshalToSizedBuffer(dAtA[:i]) @@ -18843,6 +19003,18 @@ func (m *Mount) Size() (n int) { if m.Propagation != 0 { n += 1 + sovApi(uint64(m.Propagation)) } + if len(m.UidMappings) > 0 { + for _, e := range m.UidMappings { + l = e.Size() + n += 1 + l + sovApi(uint64(l)) + } + } + if len(m.GidMappings) > 0 { + for _, e := range m.GidMappings { + l = e.Size() + n += 1 + l + sovApi(uint64(l)) + } + } return n } @@ -20162,6 +20334,19 @@ func (m *Device) Size() (n int) { return n } +func (m *CDIDevice) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Name) + if l > 0 { + n += 1 + l + sovApi(uint64(l)) + } + return n +} + func (m *ContainerConfig) Size() (n int) { if m == nil { return 0 @@ -20247,6 +20432,12 @@ func (m *ContainerConfig) Size() (n int) { l = m.Windows.Size() n += 2 + l + sovApi(uint64(l)) } + if len(m.CDIDevices) > 0 { + for _, e := range m.CDIDevices { + l = e.Size() + n += 2 + l + sovApi(uint64(l)) + } + } return n } @@ -21776,12 +21967,24 @@ func (this *Mount) String() string { if this == nil { return "nil" } + repeatedStringForUidMappings := "[]*IDMapping{" + for _, f := range this.UidMappings { + repeatedStringForUidMappings += strings.Replace(f.String(), "IDMapping", "IDMapping", 1) + "," + } + repeatedStringForUidMappings += "}" + repeatedStringForGidMappings := "[]*IDMapping{" + for _, f := range this.GidMappings { + repeatedStringForGidMappings += strings.Replace(f.String(), "IDMapping", "IDMapping", 1) + "," + } + repeatedStringForGidMappings += "}" s := strings.Join([]string{`&Mount{`, `ContainerPath:` + fmt.Sprintf("%v", this.ContainerPath) + `,`, `HostPath:` + fmt.Sprintf("%v", this.HostPath) + `,`, `Readonly:` + fmt.Sprintf("%v", this.Readonly) + `,`, `SelinuxRelabel:` + fmt.Sprintf("%v", this.SelinuxRelabel) + `,`, `Propagation:` + fmt.Sprintf("%v", this.Propagation) + `,`, + `UidMappings:` + repeatedStringForUidMappings + `,`, + `GidMappings:` + repeatedStringForGidMappings + `,`, `}`, }, "") return s @@ -22693,6 +22896,16 @@ func (this *Device) String() string { }, "") return s } +func (this *CDIDevice) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&CDIDevice{`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `}`, + }, "") + return s +} func (this *ContainerConfig) String() string { if this == nil { return "nil" @@ -22712,6 +22925,11 @@ func (this *ContainerConfig) String() string { repeatedStringForDevices += strings.Replace(f.String(), "Device", "Device", 1) + "," } repeatedStringForDevices += "}" + repeatedStringForCDIDevices := "[]*CDIDevice{" + for _, f := range this.CDIDevices { + repeatedStringForCDIDevices += strings.Replace(f.String(), "CDIDevice", "CDIDevice", 1) + "," + } + repeatedStringForCDIDevices += "}" keysForLabels := make([]string, 0, len(this.Labels)) for k := range this.Labels { keysForLabels = append(keysForLabels, k) @@ -22749,6 +22967,7 @@ func (this *ContainerConfig) String() string { `Tty:` + fmt.Sprintf("%v", this.Tty) + `,`, `Linux:` + strings.Replace(this.Linux.String(), "LinuxContainerConfig", "LinuxContainerConfig", 1) + `,`, `Windows:` + strings.Replace(this.Windows.String(), "WindowsContainerConfig", "WindowsContainerConfig", 1) + `,`, + `CDIDevices:` + repeatedStringForCDIDevices + `,`, `}`, }, "") return s @@ -24519,6 +24738,74 @@ func (m *Mount) Unmarshal(dAtA []byte) error { break } } + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UidMappings", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthApi + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthApi + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.UidMappings = append(m.UidMappings, &IDMapping{}) + if err := m.UidMappings[len(m.UidMappings)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GidMappings", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthApi + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthApi + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.GidMappings = append(m.GidMappings, &IDMapping{}) + if err := m.GidMappings[len(m.GidMappings)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipApi(dAtA[iNdEx:]) @@ -34516,6 +34803,88 @@ func (m *Device) Unmarshal(dAtA []byte) error { } return nil } +func (m *CDIDevice) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CDIDevice: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CDIDevice: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthApi + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthApi + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipApi(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthApi + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *ContainerConfig) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -35233,6 +35602,40 @@ func (m *ContainerConfig) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 17: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CDIDevices", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthApi + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthApi + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.CDIDevices = append(m.CDIDevices, &CDIDevice{}) + if err := m.CDIDevices[len(m.CDIDevices)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipApi(dAtA[iNdEx:]) diff --git a/vendor/k8s.io/cri-api/pkg/apis/runtime/v1/api.proto b/vendor/k8s.io/cri-api/pkg/apis/runtime/v1/api.proto index 83a7ac312..3e20c42c6 100644 --- a/vendor/k8s.io/cri-api/pkg/apis/runtime/v1/api.proto +++ b/vendor/k8s.io/cri-api/pkg/apis/runtime/v1/api.proto @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -// To regenerate api.pb.go run hack/update-generated-runtime.sh +// To regenerate api.pb.go run `hack/update-codegen.sh protobindings` syntax = "proto3"; package runtime.v1; @@ -222,6 +222,10 @@ message Mount { bool selinux_relabel = 4; // Requested propagation mode. MountPropagation propagation = 5; + // UidMappings specifies the runtime UID mappings for the mount. + repeated IDMapping uidMappings = 6; + // GidMappings specifies the runtime GID mappings for the mount. + repeated IDMapping gidMappings = 7; } // IDMapping describes host to container ID mappings for a pod sandbox. @@ -324,10 +328,10 @@ message LinuxSandboxSecurityContext { // If set, the root filesystem of the sandbox is read-only. bool readonly_rootfs = 4; // List of groups applied to the first process run in the sandbox, in - // addition to the sandbox's primary GID, and group memberships defined + // addition to the sandbox's primary GID, and group memberships defined // in the container image for the sandbox's primary UID of the container process. // If the list is empty, no additional groups are added to any container. - // Note that group memberships defined in the container image for the sandbox's primary UID + // Note that group memberships defined in the container image for the sandbox's primary UID // of the container process are still effective, even if they are not included in this list. repeated int64 supplemental_groups = 5; // Indicates whether the sandbox will be asked to run a privileged @@ -420,7 +424,7 @@ message PodSandboxConfig { // containers. For example, the files might be newline separated JSON // structured logs, systemd-journald journal files, gRPC trace files, etc. // E.g., - // PodSandboxConfig.LogDirectory = `/var/log/pods//` + // PodSandboxConfig.LogDirectory = `/var/log/pods/__/` // ContainerConfig.LogPath = `containerName/Instance#.log` string log_directory = 3; // DNS config for the sandbox. @@ -877,10 +881,10 @@ message LinuxContainerSecurityContext { // If set, the root filesystem of the container is read-only. bool readonly_rootfs = 7; // List of groups applied to the first process run in the container, in - // addition to the container's primary GID, and group memberships defined + // addition to the container's primary GID, and group memberships defined // in the container image for the container's primary UID of the container process. // If the list is empty, no additional groups are added to any container. - // Note that group memberships defined in the container image for the container's primary UID + // Note that group memberships defined in the container image for the container's primary UID // of the container process are still effective, even if they are not included in this list. repeated int64 supplemental_groups = 8; // no_new_privs defines if the flag for no_new_privs should be set on the @@ -1017,6 +1021,15 @@ message Device { string permissions = 3; } +// CDIDevice specifies a CDI device information. +message CDIDevice { + // Fully qualified CDI device name + // for example: vendor.com/gpu=gpudevice1 + // see more details in the CDI specification: + // https://github.com/container-orchestrated-devices/container-device-interface/blob/main/SPEC.md + string name = 1; +} + // ContainerConfig holds all the required and optional fields for creating a // container. message ContainerConfig { @@ -1060,13 +1073,8 @@ message ContainerConfig { // Path relative to PodSandboxConfig.LogDirectory for container to store // the log (STDOUT and STDERR) on the host. // E.g., - // PodSandboxConfig.LogDirectory = `/var/log/pods//` + // PodSandboxConfig.LogDirectory = `/var/log/pods/__/` // ContainerConfig.LogPath = `containerName/Instance#.log` - // - // WARNING: Log management and how kubelet should interface with the - // container logs are under active discussion in - // https://issues.k8s.io/24677. There *may* be future change of direction - // for logging as the discussion carries on. string log_path = 11; // Variables for interactive containers, these have very specialized @@ -1079,6 +1087,9 @@ message ContainerConfig { LinuxContainerConfig linux = 15; // Configuration specific to Windows containers. WindowsContainerConfig windows = 16; + + // CDI devices for the container. + repeated CDIDevice CDI_devices = 17; } message CreateContainerRequest { @@ -1216,6 +1227,7 @@ message ContainerStatus { // image ID string image_ref = 9; // Brief CamelCase string explaining why container is in its current state. + // Must be set to "OOMKilled" for containers terminated by cgroup-based Out-of-Memory killer. string reason = 10; // Human-readable message indicating details about why container is in its // current state. @@ -1279,8 +1291,16 @@ message ExecSyncRequest { message ExecSyncResponse { // Captured command stdout output. + // The runtime should cap the output of this response to 16MB. + // If the stdout of the command produces more than 16MB, the remaining output + // should be discarded, and the command should proceed with no error. + // See CVE-2022-1708 and CVE-2022-31030 for more information. bytes stdout = 1; // Captured command stderr output. + // The runtime should cap the output of this response to 16MB. + // If the stderr of the command produces more than 16MB, the remaining output + // should be discarded, and the command should proceed with no error. + // See CVE-2022-1708 and CVE-2022-31030 for more information. bytes stderr = 2; // Exit code the command finished with. Default: 0 (success). int32 exit_code = 3; @@ -1609,7 +1629,7 @@ message ContainerStats { FilesystemUsage writable_layer = 4; } -// WindowsContainerStats provides the resource usage statistics for a container specific for Windows +// WindowsContainerStats provides the resource usage statistics for a container specific for Windows message WindowsContainerStats { // Information of the container. ContainerAttributes attributes = 1; @@ -1745,7 +1765,7 @@ message MetricDescriptor { repeated string label_keys = 3; } -message ListPodSandboxMetricsRequest {} +message ListPodSandboxMetricsRequest {} message ListPodSandboxMetricsResponse { repeated PodSandboxMetrics pod_metrics = 1; diff --git a/vendor/modules.txt b/vendor/modules.txt index 9fd9fef03..e4651e3b7 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -228,7 +228,7 @@ github.com/gogo/protobuf/types # github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da ## explicit github.com/golang/groupcache/lru -# github.com/golang/protobuf v1.5.2 +# github.com/golang/protobuf v1.5.3 ## explicit; go 1.9 github.com/golang/protobuf/jsonpb github.com/golang/protobuf/proto @@ -500,7 +500,7 @@ golang.org/x/crypto/pbkdf2 # golang.org/x/mod v0.8.0 ## explicit; go 1.17 golang.org/x/mod/semver -# golang.org/x/net v0.7.0 +# golang.org/x/net v0.8.0 ## explicit; go 1.17 golang.org/x/net/context golang.org/x/net/context/ctxhttp @@ -533,10 +533,10 @@ golang.org/x/sys/windows/registry golang.org/x/sys/windows/svc golang.org/x/sys/windows/svc/debug golang.org/x/sys/windows/svc/mgr -# golang.org/x/term v0.5.0 +# golang.org/x/term v0.6.0 ## explicit; go 1.17 golang.org/x/term -# golang.org/x/text v0.7.0 +# golang.org/x/text v0.8.0 ## explicit; go 1.17 golang.org/x/text/secure/bidirule golang.org/x/text/transform @@ -777,8 +777,8 @@ k8s.io/component-base/metrics/legacyregistry k8s.io/component-base/metrics/prometheus/feature k8s.io/component-base/metrics/prometheusextension k8s.io/component-base/version -# k8s.io/cri-api v0.26.2 -## explicit; go 1.19 +# k8s.io/cri-api v0.27.0-beta.0 +## explicit; go 1.20 k8s.io/cri-api/pkg/apis/runtime/v1 # k8s.io/klog/v2 v2.90.1 ## explicit; go 1.13 From 7e6ab84884f3ea52ee9f59699967d5578f957261 Mon Sep 17 00:00:00 2001 From: Rodrigo Campos Date: Mon, 23 Jan 2023 18:35:28 +0100 Subject: [PATCH 2/2] cri: Throw an error if idmap mounts is requested We need support in containerd and the OCI runtime to use idmap mounts. Let's just throw an error for now if the kubelet requests some mounts with mappings. Signed-off-by: Rodrigo Campos --- pkg/cri/opts/spec_linux_opts.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkg/cri/opts/spec_linux_opts.go b/pkg/cri/opts/spec_linux_opts.go index 942f66f4a..354977f32 100644 --- a/pkg/cri/opts/spec_linux_opts.go +++ b/pkg/cri/opts/spec_linux_opts.go @@ -163,6 +163,10 @@ func WithMounts(osi osinterface.OS, config *runtime.ContainerConfig, extra []*ru return fmt.Errorf("relabel %q with %q failed: %w", src, mountLabel, err) } } + if mount.UidMappings != nil || mount.GidMappings != nil { + return fmt.Errorf("idmap mounts not yet supported, but they were requested for: %q", src) + } + s.Mounts = append(s.Mounts, runtimespec.Mount{ Source: src, Destination: dst,