Merge pull request #4341 from thaJeztah/update_engine

vendor: update docker/docker to latest  v25.0.0-dev
This commit is contained in:
Sebastiaan van Stijn 2023-06-12 13:51:19 +02:00 committed by GitHub
commit f26ac475a3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
114 changed files with 1234 additions and 1377 deletions

View File

@ -10,7 +10,7 @@ require (
github.com/containerd/containerd v1.6.21
github.com/creack/pty v1.1.18
github.com/docker/distribution v2.8.2+incompatible
github.com/docker/docker v24.0.0-rc.2.0.20230523155306-cf4df9d8ae4c+incompatible // master (v25.0.0-dev)
github.com/docker/docker v24.0.0-rc.2.0.20230612074407-ed798d651a50+incompatible // master (v25.0.0-dev)
github.com/docker/docker-credential-helpers v0.7.0
github.com/docker/go-connections v0.4.0
github.com/docker/go-units v0.5.0
@ -23,24 +23,24 @@ require (
github.com/mitchellh/mapstructure v1.3.2
github.com/moby/buildkit v0.11.6
github.com/moby/patternmatcher v0.5.0
github.com/moby/swarmkit/v2 v2.0.0-20230406225228-75e92ce14ff7
github.com/moby/swarmkit/v2 v2.0.0-20230607145746-36334ed18760
github.com/moby/sys/sequential v0.5.0
github.com/moby/sys/signal v0.7.0
github.com/moby/term v0.5.0
github.com/morikuni/aec v1.0.0
github.com/opencontainers/go-digest v1.0.0
github.com/opencontainers/image-spec v1.1.0-rc2.0.20221005185240-3a7f492d3f1b
github.com/opencontainers/image-spec v1.1.0-rc3
github.com/pkg/errors v0.9.1
github.com/sirupsen/logrus v1.9.0
github.com/sirupsen/logrus v1.9.3
github.com/spf13/cobra v1.7.0
github.com/spf13/pflag v1.0.5
github.com/theupdateframework/notary v0.7.1-0.20210315103452-bf96a202a09a
github.com/tonistiigi/go-rosetta v0.0.0-20200727161949-f79598599c5d
github.com/xeipuuv/gojsonschema v1.2.0
golang.org/x/sync v0.1.0
golang.org/x/sys v0.6.0
golang.org/x/term v0.6.0
golang.org/x/text v0.8.0
golang.org/x/sys v0.8.0
golang.org/x/term v0.8.0
golang.org/x/text v0.9.0
gopkg.in/yaml.v2 v2.4.0
gotest.tools/v3 v3.4.0
)
@ -71,7 +71,7 @@ require (
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
go.etcd.io/etcd/raft/v3 v3.5.6 // indirect
golang.org/x/crypto v0.2.0 // indirect
golang.org/x/net v0.8.0 // indirect
golang.org/x/net v0.10.0 // indirect
golang.org/x/time v0.3.0 // indirect
google.golang.org/genproto v0.0.0-20220706185917-7780775163c4 // indirect
google.golang.org/grpc v1.50.1 // indirect

View File

@ -96,8 +96,8 @@ github.com/denisenkom/go-mssqldb v0.0.0-20191128021309-1d7a30a10f73/go.mod h1:xb
github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8=
github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
github.com/docker/docker v24.0.0-rc.2.0.20230523155306-cf4df9d8ae4c+incompatible h1:stJU/EC2yJHujjvqyEAHeNxsIXtwuCvvYwImyaJ0wtI=
github.com/docker/docker v24.0.0-rc.2.0.20230523155306-cf4df9d8ae4c+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
github.com/docker/docker v24.0.0-rc.2.0.20230612074407-ed798d651a50+incompatible h1:HJQK5UfDglLDjf9aIUzBR1UPDPpjWi3XJDV7bsndteM=
github.com/docker/docker v24.0.0-rc.2.0.20230612074407-ed798d651a50+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
github.com/docker/docker-credential-helpers v0.7.0 h1:xtCHsjxogADNZcdv1pKUHXryefjlVRqWqIhk/uXJp0A=
github.com/docker/docker-credential-helpers v0.7.0/go.mod h1:rETQfLdHNT3foU5kuNkFR1R1V12OJRRO5lzt2D1b5X0=
github.com/docker/go v1.5.1-1.0.20160303222718-d30aec9fd63c h1:lzqkGL9b3znc+ZUgi7FlLnqjQhcXxkNM/quxIjBVMD0=
@ -273,8 +273,8 @@ github.com/moby/buildkit v0.11.6 h1:VYNdoKk5TVxN7k4RvZgdeM4GOyRvIi4Z8MXOY7xvyUs=
github.com/moby/buildkit v0.11.6/go.mod h1:GCqKfHhz+pddzfgaR7WmHVEE3nKKZMMDPpK8mh3ZLv4=
github.com/moby/patternmatcher v0.5.0 h1:YCZgJOeULcxLw1Q+sVR636pmS7sPEn1Qo2iAN6M7DBo=
github.com/moby/patternmatcher v0.5.0/go.mod h1:hDPoyOpDY7OrrMDLaYoY3hf52gNCR/YOUYxkhApJIxc=
github.com/moby/swarmkit/v2 v2.0.0-20230406225228-75e92ce14ff7 h1:h6NclNly6/B9N4IdM5pcBaq/LkNLuaCmE7B44Vj+pb0=
github.com/moby/swarmkit/v2 v2.0.0-20230406225228-75e92ce14ff7/go.mod h1:P/ha3F7UZMmuUvqrHw9cZK/BjktSngQIgRPiairNHTc=
github.com/moby/swarmkit/v2 v2.0.0-20230607145746-36334ed18760 h1:LbUvmXIeCCsPwayNUD/TeYiu14iBMnIN1DrOn6ND2O8=
github.com/moby/swarmkit/v2 v2.0.0-20230607145746-36334ed18760/go.mod h1:bFJgtsZIsxE+Zf+hhKQpDcFRS98R13oxruudp0k5v/w=
github.com/moby/sys/sequential v0.5.0 h1:OPvI35Lzn9K04PBbCLW0g4LcFAJgHsvXsRyewg5lXtc=
github.com/moby/sys/sequential v0.5.0/go.mod h1:tH2cOOs5V9MlPiXcQzRC+eEyab644PWKGRYaaV5ZZlo=
github.com/moby/sys/signal v0.7.0 h1:25RW3d5TnQEoKvRbEKUGay6DCQ46IxAVTT9CUMgmsSI=
@ -301,8 +301,8 @@ github.com/onsi/gomega v1.9.0/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoT
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0=
github.com/opencontainers/image-spec v1.1.0-rc2.0.20221005185240-3a7f492d3f1b h1:YWuSjZCQAPM8UUBLkYUk1e+rZcvWHJmFb6i6rM44Xs8=
github.com/opencontainers/image-spec v1.1.0-rc2.0.20221005185240-3a7f492d3f1b/go.mod h1:3OVijpioIKYWTqjiG0zfF6wvoJ4fAXGbjdZuI2NgsRQ=
github.com/opencontainers/image-spec v1.1.0-rc3 h1:fzg1mXZFj8YdPeNkRXMg+zb88BFV0Ys52cJydRwBkb8=
github.com/opencontainers/image-spec v1.1.0-rc3/go.mod h1:X4pATf0uXsnn3g5aiGIsVnJBR4mxhKzfwmvK/B2NTm8=
github.com/opencontainers/runc v1.1.7 h1:y2EZDS8sNng4Ksf0GUYNhKbTShZJPJg1FiXJNH/uoCk=
github.com/opencontainers/runc v1.1.7/go.mod h1:CbUumNnWCuTGFukNXahoo/RFBZvDAgRh/smNYNOhA50=
github.com/opentracing/opentracing-go v1.1.0 h1:pWlfV3Bxv7k65HYwkikxat0+s3pV4bsqf19k25Ur8rU=
@ -357,8 +357,8 @@ github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6Mwd
github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0=
github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/spf13/cast v0.0.0-20150508191742-4d07383ffe94 h1:JmfC365KywYwHB946TTiQWEb8kqPY+pybPLoGE9GgVk=
github.com/spf13/cast v0.0.0-20150508191742-4d07383ffe94/go.mod h1:r2rcYCSwa1IExKTDiTfzaxqT2FNHs8hODu4LnUfgKEg=
github.com/spf13/cobra v0.0.1/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
@ -482,8 +482,8 @@ golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96b
golang.org/x/net v0.0.0-20210525063256-abc453219eb5/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.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ=
golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M=
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
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=
@ -553,13 +553,13 @@ golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU=
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.6.0 h1:clScbb1cHjoCkyRbWwBEUZ5H/tIFu5TAXIqaZD0Gcjw=
golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
golang.org/x/term v0.8.0 h1:n5xxQn2i3PC0yLAbjTpNT85q/Kgzcr2gIoX9OrJUols=
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
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=
@ -568,8 +568,8 @@ golang.org/x/text v0.3.3/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.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68=
golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE=
golang.org/x/text v0.9.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=

View File

@ -388,6 +388,16 @@ definitions:
description: "Create mount point on host if missing"
type: "boolean"
default: false
ReadOnlyNonRecursive:
description: |
Make the mount non-recursively read-only, but still leave the mount recursive
(unless NonRecursive is set to true in conjunction).
type: "boolean"
default: false
ReadOnlyForceRecursive:
description: "Raise an error if the mount cannot be made recursively read-only."
type: "boolean"
default: false
VolumeOptions:
description: "Optional configuration for the `volume` type."
type: "object"

View File

@ -29,7 +29,7 @@ type Mount struct {
// Source is not supported for tmpfs (must be an empty value)
Source string `json:",omitempty"`
Target string `json:",omitempty"`
ReadOnly bool `json:",omitempty"`
ReadOnly bool `json:",omitempty"` // attempts recursive read-only if possible
Consistency Consistency `json:",omitempty"`
BindOptions *BindOptions `json:",omitempty"`
@ -85,6 +85,11 @@ type BindOptions struct {
Propagation Propagation `json:",omitempty"`
NonRecursive bool `json:",omitempty"`
CreateMountpoint bool `json:",omitempty"`
// ReadOnlyNonRecursive makes the mount non-recursively read-only, but still leaves the mount recursive
// (unless NonRecursive is set to true in conjunction).
ReadOnlyNonRecursive bool `json:",omitempty"`
// ReadOnlyForceRecursive raises an error if the mount cannot be made recursively read-only.
ReadOnlyForceRecursive bool `json:",omitempty"`
}
// VolumeOptions represents the options for a mount of type volume.

View File

@ -1,3 +1,3 @@
//go:generate protoc -I . --gogofast_out=import_path=github.com/docker/docker/api/types/swarm/runtime:. plugin.proto
//go:generate protoc --gogofaster_out=import_path=github.com/docker/docker/api/types/swarm/runtime:. plugin.proto
package runtime // import "github.com/docker/docker/api/types/swarm/runtime"

View File

@ -1,23 +1,15 @@
// Code generated by protoc-gen-gogo. DO NOT EDIT.
// source: plugin.proto
/*
Package runtime is a generated protocol buffer package.
It is generated from these files:
plugin.proto
It has these top-level messages:
PluginSpec
PluginPrivilege
*/
package runtime
import proto "github.com/gogo/protobuf/proto"
import fmt "fmt"
import math "math"
import io "io"
import (
fmt "fmt"
proto "github.com/gogo/protobuf/proto"
io "io"
math "math"
math_bits "math/bits"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
@ -28,22 +20,50 @@ var _ = math.Inf
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
// PluginSpec defines the base payload which clients can specify for creating
// a service with the plugin runtime.
type PluginSpec struct {
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Remote string `protobuf:"bytes,2,opt,name=remote,proto3" json:"remote,omitempty"`
Privileges []*PluginPrivilege `protobuf:"bytes,3,rep,name=privileges" json:"privileges,omitempty"`
Privileges []*PluginPrivilege `protobuf:"bytes,3,rep,name=privileges,proto3" json:"privileges,omitempty"`
Disabled bool `protobuf:"varint,4,opt,name=disabled,proto3" json:"disabled,omitempty"`
Env []string `protobuf:"bytes,5,rep,name=env" json:"env,omitempty"`
Env []string `protobuf:"bytes,5,rep,name=env,proto3" json:"env,omitempty"`
}
func (m *PluginSpec) Reset() { *m = PluginSpec{} }
func (m *PluginSpec) String() string { return proto.CompactTextString(m) }
func (*PluginSpec) ProtoMessage() {}
func (*PluginSpec) Descriptor() ([]byte, []int) { return fileDescriptorPlugin, []int{0} }
func (m *PluginSpec) Reset() { *m = PluginSpec{} }
func (m *PluginSpec) String() string { return proto.CompactTextString(m) }
func (*PluginSpec) ProtoMessage() {}
func (*PluginSpec) Descriptor() ([]byte, []int) {
return fileDescriptor_22a625af4bc1cc87, []int{0}
}
func (m *PluginSpec) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
func (m *PluginSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
if deterministic {
return xxx_messageInfo_PluginSpec.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 *PluginSpec) XXX_Merge(src proto.Message) {
xxx_messageInfo_PluginSpec.Merge(m, src)
}
func (m *PluginSpec) XXX_Size() int {
return m.Size()
}
func (m *PluginSpec) XXX_DiscardUnknown() {
xxx_messageInfo_PluginSpec.DiscardUnknown(m)
}
var xxx_messageInfo_PluginSpec proto.InternalMessageInfo
func (m *PluginSpec) GetName() string {
if m != nil {
@ -85,13 +105,41 @@ func (m *PluginSpec) GetEnv() []string {
type PluginPrivilege struct {
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
Value []string `protobuf:"bytes,3,rep,name=value" json:"value,omitempty"`
Value []string `protobuf:"bytes,3,rep,name=value,proto3" json:"value,omitempty"`
}
func (m *PluginPrivilege) Reset() { *m = PluginPrivilege{} }
func (m *PluginPrivilege) String() string { return proto.CompactTextString(m) }
func (*PluginPrivilege) ProtoMessage() {}
func (*PluginPrivilege) Descriptor() ([]byte, []int) { return fileDescriptorPlugin, []int{1} }
func (m *PluginPrivilege) Reset() { *m = PluginPrivilege{} }
func (m *PluginPrivilege) String() string { return proto.CompactTextString(m) }
func (*PluginPrivilege) ProtoMessage() {}
func (*PluginPrivilege) Descriptor() ([]byte, []int) {
return fileDescriptor_22a625af4bc1cc87, []int{1}
}
func (m *PluginPrivilege) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
func (m *PluginPrivilege) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
if deterministic {
return xxx_messageInfo_PluginPrivilege.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 *PluginPrivilege) XXX_Merge(src proto.Message) {
xxx_messageInfo_PluginPrivilege.Merge(m, src)
}
func (m *PluginPrivilege) XXX_Size() int {
return m.Size()
}
func (m *PluginPrivilege) XXX_DiscardUnknown() {
xxx_messageInfo_PluginPrivilege.DiscardUnknown(m)
}
var xxx_messageInfo_PluginPrivilege proto.InternalMessageInfo
func (m *PluginPrivilege) GetName() string {
if m != nil {
@ -118,10 +166,32 @@ func init() {
proto.RegisterType((*PluginSpec)(nil), "PluginSpec")
proto.RegisterType((*PluginPrivilege)(nil), "PluginPrivilege")
}
func init() { proto.RegisterFile("plugin.proto", fileDescriptor_22a625af4bc1cc87) }
var fileDescriptor_22a625af4bc1cc87 = []byte{
// 225 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x29, 0xc8, 0x29, 0x4d,
0xcf, 0xcc, 0xd3, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x57, 0x9a, 0xc1, 0xc8, 0xc5, 0x15, 0x00, 0x16,
0x08, 0x2e, 0x48, 0x4d, 0x16, 0x12, 0xe2, 0x62, 0xc9, 0x4b, 0xcc, 0x4d, 0x95, 0x60, 0x54, 0x60,
0xd4, 0xe0, 0x0c, 0x02, 0xb3, 0x85, 0xc4, 0xb8, 0xd8, 0x8a, 0x52, 0x73, 0xf3, 0x4b, 0x52, 0x25,
0x98, 0xc0, 0xa2, 0x50, 0x9e, 0x90, 0x01, 0x17, 0x57, 0x41, 0x51, 0x66, 0x59, 0x66, 0x4e, 0x6a,
0x7a, 0x6a, 0xb1, 0x04, 0xb3, 0x02, 0xb3, 0x06, 0xb7, 0x91, 0x80, 0x1e, 0xc4, 0xb0, 0x00, 0x98,
0x44, 0x10, 0x92, 0x1a, 0x21, 0x29, 0x2e, 0x8e, 0x94, 0xcc, 0xe2, 0xc4, 0xa4, 0x9c, 0xd4, 0x14,
0x09, 0x16, 0x05, 0x46, 0x0d, 0x8e, 0x20, 0x38, 0x5f, 0x48, 0x80, 0x8b, 0x39, 0x35, 0xaf, 0x4c,
0x82, 0x55, 0x81, 0x59, 0x83, 0x33, 0x08, 0xc4, 0x54, 0x8a, 0xe5, 0xe2, 0x47, 0x33, 0x0c, 0xab,
0xf3, 0x14, 0xb8, 0xb8, 0x53, 0x52, 0x8b, 0x93, 0x8b, 0x32, 0x0b, 0x4a, 0x32, 0xf3, 0xf3, 0xa0,
0x6e, 0x44, 0x16, 0x12, 0x12, 0xe1, 0x62, 0x2d, 0x4b, 0xcc, 0x29, 0x4d, 0x05, 0xbb, 0x91, 0x33,
0x08, 0xc2, 0x71, 0x92, 0x38, 0xf1, 0x48, 0x8e, 0xf1, 0xc2, 0x23, 0x39, 0xc6, 0x07, 0x8f, 0xe4,
0x18, 0x27, 0x3c, 0x96, 0x63, 0xb8, 0xf0, 0x58, 0x8e, 0xe1, 0xc6, 0x63, 0x39, 0x86, 0x24, 0x36,
0x70, 0xd0, 0x18, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0x37, 0xea, 0xe2, 0xca, 0x2a, 0x01, 0x00,
0x00,
}
func (m *PluginSpec) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalTo(dAtA)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
if err != nil {
return nil, err
}
@ -129,66 +199,69 @@ func (m *PluginSpec) Marshal() (dAtA []byte, err error) {
}
func (m *PluginSpec) MarshalTo(dAtA []byte) (int, error) {
var i int
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
func (m *PluginSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
if len(m.Name) > 0 {
dAtA[i] = 0xa
i++
i = encodeVarintPlugin(dAtA, i, uint64(len(m.Name)))
i += copy(dAtA[i:], m.Name)
}
if len(m.Remote) > 0 {
dAtA[i] = 0x12
i++
i = encodeVarintPlugin(dAtA, i, uint64(len(m.Remote)))
i += copy(dAtA[i:], m.Remote)
}
if len(m.Privileges) > 0 {
for _, msg := range m.Privileges {
dAtA[i] = 0x1a
i++
i = encodeVarintPlugin(dAtA, i, uint64(msg.Size()))
n, err := msg.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n
if len(m.Env) > 0 {
for iNdEx := len(m.Env) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Env[iNdEx])
copy(dAtA[i:], m.Env[iNdEx])
i = encodeVarintPlugin(dAtA, i, uint64(len(m.Env[iNdEx])))
i--
dAtA[i] = 0x2a
}
}
if m.Disabled {
dAtA[i] = 0x20
i++
i--
if m.Disabled {
dAtA[i] = 1
} else {
dAtA[i] = 0
}
i++
i--
dAtA[i] = 0x20
}
if len(m.Env) > 0 {
for _, s := range m.Env {
dAtA[i] = 0x2a
i++
l = len(s)
for l >= 1<<7 {
dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
l >>= 7
i++
if len(m.Privileges) > 0 {
for iNdEx := len(m.Privileges) - 1; iNdEx >= 0; iNdEx-- {
{
size, err := m.Privileges[iNdEx].MarshalToSizedBuffer(dAtA[:i])
if err != nil {
return 0, err
}
i -= size
i = encodeVarintPlugin(dAtA, i, uint64(size))
}
dAtA[i] = uint8(l)
i++
i += copy(dAtA[i:], s)
i--
dAtA[i] = 0x1a
}
}
return i, nil
if len(m.Remote) > 0 {
i -= len(m.Remote)
copy(dAtA[i:], m.Remote)
i = encodeVarintPlugin(dAtA, i, uint64(len(m.Remote)))
i--
dAtA[i] = 0x12
}
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
i = encodeVarintPlugin(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0xa
}
return len(dAtA) - i, nil
}
func (m *PluginPrivilege) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalTo(dAtA)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
if err != nil {
return nil, err
}
@ -196,50 +269,56 @@ func (m *PluginPrivilege) Marshal() (dAtA []byte, err error) {
}
func (m *PluginPrivilege) MarshalTo(dAtA []byte) (int, error) {
var i int
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
func (m *PluginPrivilege) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
if len(m.Name) > 0 {
dAtA[i] = 0xa
i++
i = encodeVarintPlugin(dAtA, i, uint64(len(m.Name)))
i += copy(dAtA[i:], m.Name)
}
if len(m.Description) > 0 {
dAtA[i] = 0x12
i++
i = encodeVarintPlugin(dAtA, i, uint64(len(m.Description)))
i += copy(dAtA[i:], m.Description)
}
if len(m.Value) > 0 {
for _, s := range m.Value {
for iNdEx := len(m.Value) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Value[iNdEx])
copy(dAtA[i:], m.Value[iNdEx])
i = encodeVarintPlugin(dAtA, i, uint64(len(m.Value[iNdEx])))
i--
dAtA[i] = 0x1a
i++
l = len(s)
for l >= 1<<7 {
dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
l >>= 7
i++
}
dAtA[i] = uint8(l)
i++
i += copy(dAtA[i:], s)
}
}
return i, nil
if len(m.Description) > 0 {
i -= len(m.Description)
copy(dAtA[i:], m.Description)
i = encodeVarintPlugin(dAtA, i, uint64(len(m.Description)))
i--
dAtA[i] = 0x12
}
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
i = encodeVarintPlugin(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0xa
}
return len(dAtA) - i, nil
}
func encodeVarintPlugin(dAtA []byte, offset int, v uint64) int {
offset -= sovPlugin(v)
base := offset
for v >= 1<<7 {
dAtA[offset] = uint8(v&0x7f | 0x80)
v >>= 7
offset++
}
dAtA[offset] = uint8(v)
return offset + 1
return base
}
func (m *PluginSpec) Size() (n int) {
if m == nil {
return 0
}
var l int
_ = l
l = len(m.Name)
@ -269,6 +348,9 @@ func (m *PluginSpec) Size() (n int) {
}
func (m *PluginPrivilege) Size() (n int) {
if m == nil {
return 0
}
var l int
_ = l
l = len(m.Name)
@ -289,14 +371,7 @@ func (m *PluginPrivilege) Size() (n int) {
}
func sovPlugin(x uint64) (n int) {
for {
n++
x >>= 7
if x == 0 {
break
}
}
return n
return (math_bits.Len64(x|1) + 6) / 7
}
func sozPlugin(x uint64) (n int) {
return sovPlugin(uint64((x << 1) ^ uint64((int64(x) >> 63))))
@ -316,7 +391,7 @@ func (m *PluginSpec) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
wire |= (uint64(b) & 0x7F) << shift
wire |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
@ -344,7 +419,7 @@ func (m *PluginSpec) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
stringLen |= (uint64(b) & 0x7F) << shift
stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
@ -354,6 +429,9 @@ func (m *PluginSpec) Unmarshal(dAtA []byte) error {
return ErrInvalidLengthPlugin
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthPlugin
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
@ -373,7 +451,7 @@ func (m *PluginSpec) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
stringLen |= (uint64(b) & 0x7F) << shift
stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
@ -383,6 +461,9 @@ func (m *PluginSpec) Unmarshal(dAtA []byte) error {
return ErrInvalidLengthPlugin
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthPlugin
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
@ -402,7 +483,7 @@ func (m *PluginSpec) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
msglen |= (int(b) & 0x7F) << shift
msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
@ -411,6 +492,9 @@ func (m *PluginSpec) Unmarshal(dAtA []byte) error {
return ErrInvalidLengthPlugin
}
postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthPlugin
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
@ -433,7 +517,7 @@ func (m *PluginSpec) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
v |= (int(b) & 0x7F) << shift
v |= int(b&0x7F) << shift
if b < 0x80 {
break
}
@ -453,7 +537,7 @@ func (m *PluginSpec) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
stringLen |= (uint64(b) & 0x7F) << shift
stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
@ -463,6 +547,9 @@ func (m *PluginSpec) Unmarshal(dAtA []byte) error {
return ErrInvalidLengthPlugin
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthPlugin
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
@ -474,7 +561,7 @@ func (m *PluginSpec) Unmarshal(dAtA []byte) error {
if err != nil {
return err
}
if skippy < 0 {
if (skippy < 0) || (iNdEx+skippy) < 0 {
return ErrInvalidLengthPlugin
}
if (iNdEx + skippy) > l {
@ -504,7 +591,7 @@ func (m *PluginPrivilege) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
wire |= (uint64(b) & 0x7F) << shift
wire |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
@ -532,7 +619,7 @@ func (m *PluginPrivilege) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
stringLen |= (uint64(b) & 0x7F) << shift
stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
@ -542,6 +629,9 @@ func (m *PluginPrivilege) Unmarshal(dAtA []byte) error {
return ErrInvalidLengthPlugin
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthPlugin
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
@ -561,7 +651,7 @@ func (m *PluginPrivilege) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
stringLen |= (uint64(b) & 0x7F) << shift
stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
@ -571,6 +661,9 @@ func (m *PluginPrivilege) Unmarshal(dAtA []byte) error {
return ErrInvalidLengthPlugin
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthPlugin
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
@ -590,7 +683,7 @@ func (m *PluginPrivilege) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
stringLen |= (uint64(b) & 0x7F) << shift
stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
@ -600,6 +693,9 @@ func (m *PluginPrivilege) Unmarshal(dAtA []byte) error {
return ErrInvalidLengthPlugin
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthPlugin
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
@ -611,7 +707,7 @@ func (m *PluginPrivilege) Unmarshal(dAtA []byte) error {
if err != nil {
return err
}
if skippy < 0 {
if (skippy < 0) || (iNdEx+skippy) < 0 {
return ErrInvalidLengthPlugin
}
if (iNdEx + skippy) > l {
@ -629,6 +725,7 @@ func (m *PluginPrivilege) Unmarshal(dAtA []byte) error {
func skipPlugin(dAtA []byte) (n int, err error) {
l := len(dAtA)
iNdEx := 0
depth := 0
for iNdEx < l {
var wire uint64
for shift := uint(0); ; shift += 7 {
@ -660,10 +757,8 @@ func skipPlugin(dAtA []byte) (n int, err error) {
break
}
}
return iNdEx, nil
case 1:
iNdEx += 8
return iNdEx, nil
case 2:
var length int
for shift := uint(0); ; shift += 7 {
@ -680,75 +775,34 @@ func skipPlugin(dAtA []byte) (n int, err error) {
break
}
}
iNdEx += length
if length < 0 {
return 0, ErrInvalidLengthPlugin
}
return iNdEx, nil
iNdEx += length
case 3:
for {
var innerWire uint64
var start int = iNdEx
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return 0, ErrIntOverflowPlugin
}
if iNdEx >= l {
return 0, io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
innerWire |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
innerWireType := int(innerWire & 0x7)
if innerWireType == 4 {
break
}
next, err := skipPlugin(dAtA[start:])
if err != nil {
return 0, err
}
iNdEx = start + next
}
return iNdEx, nil
depth++
case 4:
return iNdEx, nil
if depth == 0 {
return 0, ErrUnexpectedEndOfGroupPlugin
}
depth--
case 5:
iNdEx += 4
return iNdEx, nil
default:
return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
}
if iNdEx < 0 {
return 0, ErrInvalidLengthPlugin
}
if depth == 0 {
return iNdEx, nil
}
}
panic("unreachable")
return 0, io.ErrUnexpectedEOF
}
var (
ErrInvalidLengthPlugin = fmt.Errorf("proto: negative length found during unmarshaling")
ErrIntOverflowPlugin = fmt.Errorf("proto: integer overflow")
ErrInvalidLengthPlugin = fmt.Errorf("proto: negative length found during unmarshaling")
ErrIntOverflowPlugin = fmt.Errorf("proto: integer overflow")
ErrUnexpectedEndOfGroupPlugin = fmt.Errorf("proto: unexpected end of group")
)
func init() { proto.RegisterFile("plugin.proto", fileDescriptorPlugin) }
var fileDescriptorPlugin = []byte{
// 256 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x90, 0x4d, 0x4b, 0xc3, 0x30,
0x18, 0xc7, 0x89, 0xdd, 0xc6, 0xfa, 0x4c, 0x70, 0x04, 0x91, 0xe2, 0xa1, 0x94, 0x9d, 0x7a, 0x6a,
0x45, 0x2f, 0x82, 0x37, 0x0f, 0x9e, 0x47, 0xbc, 0x09, 0x1e, 0xd2, 0xf6, 0xa1, 0x06, 0x9b, 0x17,
0x92, 0xb4, 0xe2, 0x37, 0xf1, 0x23, 0x79, 0xf4, 0x23, 0x48, 0x3f, 0x89, 0x98, 0x75, 0x32, 0x64,
0xa7, 0xff, 0x4b, 0xc2, 0x9f, 0x1f, 0x0f, 0x9c, 0x9a, 0xae, 0x6f, 0x85, 0x2a, 0x8c, 0xd5, 0x5e,
0x6f, 0x3e, 0x08, 0xc0, 0x36, 0x14, 0x8f, 0x06, 0x6b, 0x4a, 0x61, 0xa6, 0xb8, 0xc4, 0x84, 0x64,
0x24, 0x8f, 0x59, 0xf0, 0xf4, 0x02, 0x16, 0x16, 0xa5, 0xf6, 0x98, 0x9c, 0x84, 0x76, 0x4a, 0xf4,
0x0a, 0xc0, 0x58, 0x31, 0x88, 0x0e, 0x5b, 0x74, 0x49, 0x94, 0x45, 0xf9, 0xea, 0x7a, 0x5d, 0xec,
0xc6, 0xb6, 0xfb, 0x07, 0x76, 0xf0, 0x87, 0x5e, 0xc2, 0xb2, 0x11, 0x8e, 0x57, 0x1d, 0x36, 0xc9,
0x2c, 0x23, 0xf9, 0x92, 0xfd, 0x65, 0xba, 0x86, 0x08, 0xd5, 0x90, 0xcc, 0xb3, 0x28, 0x8f, 0xd9,
0xaf, 0xdd, 0x3c, 0xc3, 0xd9, 0xbf, 0xb1, 0xa3, 0x78, 0x19, 0xac, 0x1a, 0x74, 0xb5, 0x15, 0xc6,
0x0b, 0xad, 0x26, 0xc6, 0xc3, 0x8a, 0x9e, 0xc3, 0x7c, 0xe0, 0x5d, 0x8f, 0x81, 0x31, 0x66, 0xbb,
0x70, 0xff, 0xf0, 0x39, 0xa6, 0xe4, 0x6b, 0x4c, 0xc9, 0xf7, 0x98, 0x92, 0xa7, 0xdb, 0x56, 0xf8,
0x97, 0xbe, 0x2a, 0x6a, 0x2d, 0xcb, 0x46, 0xd7, 0xaf, 0x68, 0xf7, 0xc2, 0x8d, 0x28, 0xfd, 0xbb,
0x41, 0x57, 0xba, 0x37, 0x6e, 0x65, 0x69, 0x7b, 0xe5, 0x85, 0xc4, 0xbb, 0x49, 0xab, 0x45, 0x38,
0xe4, 0xcd, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x99, 0xa8, 0xd9, 0x9b, 0x58, 0x01, 0x00, 0x00,
}

View File

@ -1,7 +1,5 @@
syntax = "proto3";
option go_package = "github.com/docker/docker/api/types/swarm/runtime;runtime";
// PluginSpec defines the base payload which clients can specify for creating
// a service with the plugin runtime.
message PluginSpec {

View File

@ -656,15 +656,6 @@ type Runtime struct {
Type string `json:"runtimeType,omitempty"`
Options map[string]interface{} `json:"options,omitempty"`
// This is exposed here only for internal use
ShimConfig *ShimConfig `json:"-"`
}
// ShimConfig is used by runtime to configure containerd shims
type ShimConfig struct {
Binary string
Opts interface{}
}
// DiskUsageObject represents an object type used for disk usage query filtering.

View File

@ -76,6 +76,11 @@ type Client struct {
client *http.Client
// version of the server to talk to.
version string
// userAgent is the User-Agent header to use for HTTP requests. It takes
// precedence over User-Agent headers set in customHTTPHeaders, and other
// header variables. When set to an empty string, the User-Agent header
// is removed, and no header is sent.
userAgent *string
// custom http headers configured by users.
customHTTPHeaders map[string]string
// manualOverride is set to true when the version was set by users.

View File

@ -104,6 +104,16 @@ func WithTimeout(timeout time.Duration) Opt {
}
}
// WithUserAgent configures the User-Agent header to use for HTTP requests.
// It overrides any User-Agent set in headers. When set to an empty string,
// the User-Agent header is removed, and no header is sent.
func WithUserAgent(ua string) Opt {
return func(c *Client) error {
c.userAgent = &ua
return nil
}
}
// WithHTTPHeaders overrides the client default http headers
func WithHTTPHeaders(headers map[string]string) Opt {
return func(c *Client) error {

View File

@ -107,7 +107,10 @@ func (cli *Client) buildRequest(method, path string, body io.Reader, headers hea
if cli.proto == "unix" || cli.proto == "npipe" {
// For local communications, it doesn't matter what the host is. We just
// need a valid and meaningful host name. (See #189)
// need a valid and meaningful host name. For details, see:
//
// - https://github.com/docker/engine-api/issues/189
// - https://github.com/golang/go/issues/13624
req.Host = "docker"
}
@ -263,6 +266,14 @@ func (cli *Client) addHeaders(req *http.Request, headers headers) *http.Request
for k, v := range headers {
req.Header[http.CanonicalHeaderKey(k)] = v
}
if cli.userAgent != nil {
if *cli.userAgent == "" {
req.Header.Del("User-Agent")
} else {
req.Header.Set("User-Agent", *cli.userAgent)
}
}
return req
}

View File

@ -35,28 +35,18 @@ func (s *Service) ServiceConfig() *registry.ServiceConfig {
return s.config.copy()
}
// LoadAllowNondistributableArtifacts loads allow-nondistributable-artifacts registries for Service.
func (s *Service) LoadAllowNondistributableArtifacts(registries []string) error {
s.mu.Lock()
defer s.mu.Unlock()
return s.config.loadAllowNondistributableArtifacts(registries)
}
// LoadMirrors loads registry mirrors for Service
func (s *Service) LoadMirrors(mirrors []string) error {
s.mu.Lock()
defer s.mu.Unlock()
return s.config.loadMirrors(mirrors)
}
// LoadInsecureRegistries loads insecure registries for Service
func (s *Service) LoadInsecureRegistries(registries []string) error {
s.mu.Lock()
defer s.mu.Unlock()
return s.config.loadInsecureRegistries(registries)
// ReplaceConfig prepares a transaction which will atomically replace the
// registry service's configuration when the returned commit function is called.
func (s *Service) ReplaceConfig(options ServiceOptions) (commit func(), err error) {
config, err := newServiceConfig(options)
if err != nil {
return nil, err
}
return func() {
s.mu.Lock()
defer s.mu.Unlock()
s.config = config
}, nil
}
// Auth contacts the public registry with the provided credentials,

View File

@ -1651,6 +1651,13 @@ type Mount_BindOptions struct {
Propagation Mount_BindOptions_MountPropagation `protobuf:"varint,1,opt,name=propagation,proto3,enum=docker.swarmkit.v1.Mount_BindOptions_MountPropagation" json:"propagation,omitempty"`
// allows non-recursive bind-mount, i.e. mount(2) with "bind" rather than "rbind".
NonRecursive bool `protobuf:"varint,2,opt,name=nonrecursive,proto3" json:"nonrecursive,omitempty"`
// Create the mount point
CreateMountpoint bool `protobuf:"varint,3,opt,name=createmountpoint,proto3" json:"createmountpoint,omitempty"`
// ReadOnlyNonRecursive makes the mount non-recursively read-only, but still leaves the mount recursive
// (unless NonRecursive is set to true in conjunction).
ReadOnlyNonRecursive bool `protobuf:"varint,4,opt,name=readonlynonrecursive,proto3" json:"readonlynonrecursive,omitempty"`
// ReadOnlyForceRecursive raises an error if the mount cannot be made recursively read-only.
ReadOnlyForceRecursive bool `protobuf:"varint,5,opt,name=readonlyforcerecursive,proto3" json:"readonlyforcerecursive,omitempty"`
}
func (m *Mount_BindOptions) Reset() { *m = Mount_BindOptions{} }
@ -5004,402 +5011,407 @@ func init() {
}
var fileDescriptor_0b5eafd0404ded3d = []byte{
// 6316 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x7b, 0x5d, 0x6c, 0x24, 0xd9,
0x55, 0xb0, 0xfb, 0xd7, 0xdd, 0xa7, 0xbb, 0xed, 0x9a, 0x6b, 0xaf, 0xd7, 0xd3, 0x3b, 0x6b, 0x7b,
0x6b, 0x77, 0xb2, 0xb3, 0x93, 0x8d, 0x67, 0x76, 0x76, 0xb3, 0xdf, 0xec, 0x6e, 0x36, 0xbb, 0xfd,
0xe7, 0x71, 0x67, 0xec, 0xee, 0xd6, 0xed, 0xf6, 0x4c, 0x36, 0xd2, 0x97, 0xa2, 0x5c, 0x75, 0xdd,
0xae, 0x71, 0x75, 0x55, 0x53, 0x55, 0x6d, 0x8f, 0x09, 0x88, 0x7d, 0x40, 0x80, 0x2c, 0x21, 0x40,
0x48, 0x21, 0x08, 0x59, 0x20, 0x08, 0x4f, 0x3c, 0xf0, 0xc0, 0x03, 0x01, 0xf1, 0xb0, 0x48, 0x08,
0x85, 0x27, 0x12, 0x82, 0x20, 0x0a, 0xc8, 0x10, 0x47, 0xe2, 0x0d, 0xc1, 0x0b, 0x82, 0x07, 0x1e,
0xd0, 0xfd, 0xab, 0xaa, 0xf6, 0xb4, 0xed, 0x99, 0x6c, 0x78, 0xb1, 0xeb, 0x9e, 0xbf, 0x7b, 0xef,
0xb9, 0xf7, 0x9e, 0x7b, 0xce, 0xb9, 0xa7, 0xe1, 0x66, 0xdf, 0x0a, 0x76, 0x47, 0xdb, 0xab, 0x86,
0x3b, 0xb8, 0x65, 0xba, 0xc6, 0x1e, 0xf1, 0x6e, 0xf9, 0x07, 0xba, 0x37, 0xd8, 0xb3, 0x82, 0x5b,
0xfa, 0xd0, 0xba, 0x15, 0x1c, 0x0e, 0x89, 0xbf, 0x3a, 0xf4, 0xdc, 0xc0, 0x45, 0x88, 0x13, 0xac,
0x4a, 0x82, 0xd5, 0xfd, 0x37, 0xca, 0xcb, 0x7d, 0xd7, 0xed, 0xdb, 0xe4, 0x16, 0xa3, 0xd8, 0x1e,
0xed, 0xdc, 0x0a, 0xac, 0x01, 0xf1, 0x03, 0x7d, 0x30, 0xe4, 0x4c, 0xe5, 0xa5, 0xb3, 0x04, 0xe6,
0xc8, 0xd3, 0x03, 0xcb, 0x75, 0xce, 0xc3, 0x1f, 0x78, 0xfa, 0x70, 0x48, 0x3c, 0xd1, 0x69, 0x79,
0xbe, 0xef, 0xf6, 0x5d, 0xf6, 0x79, 0x8b, 0x7e, 0x71, 0xa8, 0xba, 0x0c, 0xd3, 0x0f, 0x88, 0xe7,
0x5b, 0xae, 0x83, 0xe6, 0x21, 0x63, 0x39, 0x26, 0x79, 0xbc, 0x98, 0x58, 0x49, 0xdc, 0x48, 0x63,
0xde, 0x50, 0x6f, 0x03, 0x34, 0xe9, 0x47, 0xc3, 0x09, 0xbc, 0x43, 0xa4, 0x40, 0x6a, 0x8f, 0x1c,
0x32, 0x8a, 0x3c, 0xa6, 0x9f, 0x14, 0xb2, 0xaf, 0xdb, 0x8b, 0x49, 0x0e, 0xd9, 0xd7, 0x6d, 0xf5,
0x87, 0x09, 0x28, 0x54, 0x1c, 0xc7, 0x0d, 0xd8, 0xe8, 0x7c, 0x84, 0x20, 0xed, 0xe8, 0x03, 0x22,
0x98, 0xd8, 0x37, 0xaa, 0x41, 0xd6, 0xd6, 0xb7, 0x89, 0xed, 0x2f, 0x26, 0x57, 0x52, 0x37, 0x0a,
0x77, 0x3e, 0xbb, 0xfa, 0xa4, 0x4a, 0x56, 0x63, 0x42, 0x56, 0x37, 0x18, 0x35, 0x1b, 0x04, 0x16,
0xac, 0xe8, 0x8b, 0x30, 0x6d, 0x39, 0xa6, 0x65, 0x10, 0x7f, 0x31, 0xcd, 0xa4, 0x2c, 0x4d, 0x92,
0x12, 0x8d, 0xbe, 0x9a, 0xfe, 0xf6, 0xc9, 0xf2, 0x14, 0x96, 0x4c, 0xe5, 0x77, 0xa0, 0x10, 0x13,
0x3b, 0x61, 0x6e, 0xf3, 0x90, 0xd9, 0xd7, 0xed, 0x11, 0x11, 0xb3, 0xe3, 0x8d, 0x77, 0x93, 0x77,
0x13, 0xea, 0x87, 0x30, 0xdf, 0xd2, 0x07, 0xc4, 0xbc, 0x47, 0x1c, 0xe2, 0x59, 0x06, 0x26, 0xbe,
0x3b, 0xf2, 0x0c, 0x42, 0xe7, 0xba, 0x67, 0x39, 0xa6, 0x9c, 0x2b, 0xfd, 0x9e, 0x2c, 0x45, 0xad,
0xc1, 0xf3, 0x75, 0xcb, 0x37, 0x3c, 0x12, 0x90, 0x67, 0x16, 0x92, 0x92, 0x42, 0x4e, 0x12, 0x30,
0x7b, 0x96, 0xfb, 0x2b, 0x30, 0x47, 0x55, 0x6c, 0x6a, 0x9e, 0x80, 0x68, 0xfe, 0x90, 0x18, 0x4c,
0x58, 0xe1, 0xce, 0x8d, 0x49, 0x1a, 0x9a, 0x34, 0x93, 0xf5, 0x29, 0x7c, 0x85, 0x89, 0x91, 0x80,
0xee, 0x90, 0x18, 0xc8, 0x80, 0x05, 0x53, 0x0c, 0xfa, 0x8c, 0xf8, 0x24, 0x13, 0x3f, 0x71, 0x19,
0xcf, 0x99, 0xe6, 0xfa, 0x14, 0x9e, 0x97, 0xc2, 0xe2, 0x9d, 0x54, 0x01, 0x72, 0x52, 0xb6, 0xfa,
0x8d, 0x04, 0xe4, 0x25, 0xd2, 0x47, 0xaf, 0x41, 0xde, 0xd1, 0x1d, 0x57, 0x33, 0x86, 0x23, 0x9f,
0x4d, 0x28, 0x55, 0x2d, 0x9e, 0x9e, 0x2c, 0xe7, 0x5a, 0xba, 0xe3, 0xd6, 0x3a, 0x5b, 0x3e, 0xce,
0x51, 0x74, 0x6d, 0x38, 0xf2, 0xd1, 0x4b, 0x50, 0x1c, 0x90, 0x81, 0xeb, 0x1d, 0x6a, 0xdb, 0x87,
0x01, 0xf1, 0x85, 0xda, 0x0a, 0x1c, 0x56, 0xa5, 0x20, 0xf4, 0x3e, 0x4c, 0xf7, 0xf9, 0x90, 0x16,
0x53, 0x6c, 0xfb, 0xbc, 0x3c, 0x69, 0xf4, 0x67, 0x46, 0x8d, 0x25, 0x8f, 0xfa, 0xf5, 0x24, 0xcc,
0x87, 0x50, 0xf2, 0xd3, 0x23, 0xcb, 0x23, 0x03, 0xe2, 0x04, 0x3e, 0xfa, 0x3c, 0x64, 0x6d, 0x6b,
0x60, 0x05, 0xbe, 0xd0, 0xf9, 0x8b, 0x93, 0xc4, 0x86, 0x93, 0xc2, 0x82, 0x18, 0x55, 0xa0, 0xe8,
0x11, 0x9f, 0x78, 0xfb, 0x7c, 0xc7, 0x0b, 0x8d, 0x5e, 0xc2, 0x3c, 0xc6, 0x82, 0xde, 0x05, 0xf0,
0x0f, 0xf4, 0xa1, 0x98, 0x72, 0x8a, 0x09, 0x78, 0x61, 0x95, 0xdb, 0x85, 0x55, 0x69, 0x17, 0x56,
0x9b, 0x4e, 0xf0, 0xf6, 0x5b, 0x0f, 0xe8, 0xfe, 0xc1, 0x79, 0x4a, 0xce, 0xb5, 0xb1, 0x0e, 0x57,
0x84, 0xc2, 0x28, 0x6c, 0x68, 0x39, 0xc4, 0xa7, 0xc7, 0xea, 0x52, 0x11, 0x0a, 0xe7, 0xea, 0x86,
0x4c, 0xea, 0x1a, 0xe4, 0x3a, 0xb6, 0x1e, 0xec, 0xb8, 0xde, 0x00, 0xa9, 0x50, 0xd4, 0x3d, 0x63,
0xd7, 0x0a, 0x88, 0x11, 0x8c, 0x3c, 0x69, 0x03, 0xc6, 0x60, 0x68, 0x01, 0x92, 0x2e, 0x9f, 0x6e,
0xbe, 0x9a, 0x3d, 0x3d, 0x59, 0x4e, 0xb6, 0xbb, 0x38, 0xe9, 0xfa, 0xea, 0x7b, 0x70, 0xa5, 0x63,
0x8f, 0xfa, 0x96, 0x53, 0x27, 0xbe, 0xe1, 0x59, 0x43, 0x3a, 0x47, 0x7a, 0x36, 0xa8, 0x25, 0x95,
0x67, 0x83, 0x7e, 0x87, 0x06, 0x26, 0x19, 0x19, 0x18, 0xf5, 0x97, 0x92, 0x70, 0xa5, 0xe1, 0xf4,
0x2d, 0x87, 0xc4, 0xb9, 0xaf, 0xc3, 0x0c, 0x61, 0x40, 0x6d, 0x9f, 0x1b, 0x3d, 0x21, 0xa7, 0xc4,
0xa1, 0xd2, 0x12, 0x36, 0xcf, 0x58, 0xa7, 0x37, 0x26, 0x2d, 0xc2, 0x13, 0xd2, 0x27, 0xda, 0xa8,
0x06, 0x4c, 0x0f, 0xd9, 0x24, 0x7c, 0xb1, 0xc9, 0xae, 0x4f, 0x92, 0xf5, 0xc4, 0x3c, 0xa5, 0xa9,
0x12, 0xbc, 0x9f, 0xc6, 0x54, 0xfd, 0x46, 0x0a, 0x66, 0x5b, 0xae, 0x39, 0xa6, 0x87, 0x32, 0xe4,
0x76, 0x5d, 0x3f, 0x88, 0x99, 0xe5, 0xb0, 0x8d, 0xee, 0x42, 0x6e, 0x28, 0x96, 0x4f, 0xec, 0xc1,
0x6b, 0x93, 0x87, 0xcc, 0x69, 0x70, 0x48, 0x8d, 0xde, 0x83, 0xbc, 0x3c, 0xb8, 0x72, 0xf7, 0x5d,
0xb2, 0x7d, 0x23, 0x7a, 0xf4, 0x3e, 0x64, 0xf9, 0x22, 0x88, 0x4d, 0x77, 0xfd, 0xa9, 0x74, 0x8e,
0x05, 0x13, 0xba, 0x07, 0xb9, 0xc0, 0xf6, 0x35, 0xcb, 0xd9, 0x71, 0x17, 0x33, 0x4c, 0xc0, 0xf2,
0x44, 0x53, 0xe7, 0x9a, 0xa4, 0xb7, 0xd1, 0x6d, 0x3a, 0x3b, 0x6e, 0xb5, 0x70, 0x7a, 0xb2, 0x3c,
0x2d, 0x1a, 0x78, 0x3a, 0xb0, 0x7d, 0xfa, 0x81, 0xae, 0x41, 0x7a, 0xc7, 0x1a, 0xfa, 0x8b, 0xd9,
0x95, 0xc4, 0x8d, 0x5c, 0x35, 0x77, 0x7a, 0xb2, 0x9c, 0x5e, 0x6b, 0x76, 0xba, 0x98, 0x41, 0x69,
0x37, 0x86, 0x6f, 0xf1, 0x6e, 0xa6, 0xd9, 0x7a, 0x9e, 0xdb, 0x4d, 0xad, 0xdb, 0x8c, 0xba, 0x11,
0x0d, 0x3c, 0x6d, 0xf8, 0x16, 0xfd, 0x50, 0x7f, 0x3d, 0x01, 0x85, 0xd8, 0x60, 0xd0, 0x8b, 0x00,
0x81, 0x37, 0xf2, 0x03, 0xcd, 0x73, 0xdd, 0x80, 0xad, 0x49, 0x11, 0xe7, 0x19, 0x04, 0xbb, 0x6e,
0x80, 0x56, 0x61, 0xce, 0x20, 0x5e, 0xa0, 0x59, 0xbe, 0x3f, 0x22, 0x9e, 0xe6, 0x8f, 0xb6, 0x1f,
0x11, 0x23, 0x60, 0xeb, 0x53, 0xc4, 0x57, 0x28, 0xaa, 0xc9, 0x30, 0x5d, 0x8e, 0x40, 0x6f, 0xc2,
0x42, 0x9c, 0x7e, 0x38, 0xda, 0xb6, 0x2d, 0x43, 0xa3, 0x7b, 0x26, 0xc5, 0x58, 0xe6, 0x22, 0x96,
0x0e, 0xc3, 0xdd, 0x27, 0x87, 0xea, 0xf7, 0xc4, 0x98, 0xc4, 0x60, 0xd1, 0x32, 0x14, 0xf8, 0xfe,
0xd3, 0x62, 0x1b, 0x05, 0x38, 0x88, 0xde, 0x19, 0xe8, 0x65, 0x98, 0x76, 0x5c, 0x93, 0x68, 0x96,
0x29, 0x8e, 0x2f, 0x9c, 0x9e, 0x2c, 0x67, 0xa9, 0x88, 0x66, 0x1d, 0x67, 0x29, 0xaa, 0x69, 0xa2,
0x5b, 0x30, 0x3f, 0xd0, 0x1f, 0x6b, 0xfb, 0xae, 0x3d, 0x1a, 0x10, 0x5f, 0x1b, 0x12, 0x4f, 0xa3,
0x18, 0x36, 0x90, 0x14, 0xbe, 0x32, 0xd0, 0x1f, 0x3f, 0xe0, 0xa8, 0x0e, 0xf1, 0x28, 0x2b, 0xda,
0x84, 0x39, 0xdd, 0x30, 0x88, 0xef, 0x5b, 0xdb, 0x36, 0xd1, 0x02, 0x77, 0xe8, 0xda, 0x6e, 0xff,
0x50, 0x6c, 0x8b, 0x89, 0x7b, 0xb1, 0x27, 0x68, 0x30, 0x8a, 0x18, 0x25, 0x4c, 0xfd, 0x7e, 0x02,
0x14, 0xac, 0xef, 0x04, 0x9b, 0x64, 0xb0, 0x4d, 0xbc, 0x6e, 0xa0, 0x07, 0x23, 0x1f, 0x2d, 0x40,
0xd6, 0x26, 0xba, 0x49, 0x3c, 0x36, 0xab, 0x1c, 0x16, 0x2d, 0xb4, 0x45, 0x8d, 0xb0, 0x6e, 0xec,
0xea, 0xdb, 0x96, 0x6d, 0x05, 0x87, 0x6c, 0x5a, 0x33, 0x93, 0xcf, 0xff, 0x59, 0x99, 0xab, 0x38,
0xc6, 0x88, 0xc7, 0xc4, 0xa0, 0x45, 0x98, 0x1e, 0x10, 0xdf, 0xd7, 0xfb, 0x7c, 0xda, 0x79, 0x2c,
0x9b, 0xea, 0x7b, 0x50, 0x8c, 0xf3, 0xa1, 0x02, 0x4c, 0x6f, 0xb5, 0xee, 0xb7, 0xda, 0x0f, 0x5b,
0xca, 0x14, 0x9a, 0x85, 0xc2, 0x56, 0x0b, 0x37, 0x2a, 0xb5, 0xf5, 0x4a, 0x75, 0xa3, 0xa1, 0x24,
0x50, 0x09, 0xf2, 0x51, 0x33, 0xa9, 0xfe, 0x71, 0x02, 0x80, 0xaa, 0x4c, 0x4c, 0xea, 0x5d, 0xc8,
0xf8, 0x81, 0x1e, 0xf0, 0x95, 0x9a, 0xb9, 0xf3, 0xca, 0x79, 0x3b, 0x53, 0x8c, 0x97, 0xfe, 0x23,
0x98, 0xb3, 0xc4, 0x47, 0x98, 0x1c, 0x1b, 0x21, 0xb5, 0xae, 0xba, 0x69, 0x7a, 0x62, 0xe0, 0xec,
0x5b, 0x7d, 0x0f, 0x32, 0x8c, 0x7b, 0x7c, 0xb8, 0x39, 0x48, 0xd7, 0xe9, 0x57, 0x02, 0xe5, 0x21,
0x83, 0x1b, 0x95, 0xfa, 0x47, 0x4a, 0x12, 0x29, 0x50, 0xac, 0x37, 0xbb, 0xb5, 0x76, 0xab, 0xd5,
0xa8, 0xf5, 0x1a, 0x75, 0x25, 0xa5, 0x5e, 0x87, 0x4c, 0x73, 0x40, 0x25, 0x5f, 0xa3, 0xf6, 0x62,
0x87, 0x78, 0xc4, 0x31, 0xe4, 0xee, 0x8a, 0x00, 0xea, 0x2f, 0x94, 0x20, 0xb3, 0xe9, 0x8e, 0x9c,
0x00, 0xdd, 0x89, 0xd9, 0xfc, 0x99, 0xc9, 0x4e, 0x1e, 0x23, 0x5c, 0xed, 0x1d, 0x0e, 0x89, 0xb8,
0x13, 0x16, 0x20, 0xcb, 0x2d, 0x8b, 0x98, 0x8e, 0x68, 0x51, 0x78, 0xa0, 0x7b, 0x7d, 0x12, 0x88,
0xf9, 0x88, 0x16, 0xba, 0x41, 0x9d, 0x0e, 0xdd, 0x74, 0x1d, 0x9b, 0xef, 0xb4, 0x1c, 0xf7, 0x2c,
0x30, 0xd1, 0xcd, 0xb6, 0x63, 0x1f, 0xe2, 0x10, 0x8b, 0xee, 0x41, 0xc1, 0x70, 0x1d, 0xdf, 0xf2,
0x03, 0xe2, 0x18, 0x87, 0x8b, 0x39, 0x36, 0xa8, 0xeb, 0xe7, 0x0f, 0xaa, 0x16, 0x11, 0xe3, 0x38,
0x27, 0x5a, 0x87, 0xe2, 0xb6, 0xe5, 0x98, 0x9a, 0x3b, 0xe4, 0x17, 0x7e, 0xe6, 0x7c, 0xbb, 0xc7,
0x25, 0x55, 0x2d, 0xc7, 0x6c, 0x73, 0x62, 0x5c, 0xd8, 0x8e, 0x1a, 0xa8, 0x05, 0x33, 0xfc, 0x78,
0x85, 0xb2, 0xb2, 0x4c, 0xd6, 0xab, 0xe7, 0xcb, 0xe2, 0x67, 0x4e, 0x4a, 0x2b, 0xed, 0xc7, 0x9b,
0xe8, 0x3e, 0x94, 0x82, 0xc1, 0x70, 0xc7, 0x0f, 0xc5, 0x4d, 0x33, 0x71, 0x9f, 0xb9, 0x40, 0xf3,
0x94, 0x5c, 0x4a, 0x2b, 0x06, 0xb1, 0x56, 0xf9, 0x5b, 0x29, 0x28, 0xc4, 0x46, 0x8e, 0xba, 0x50,
0x18, 0x7a, 0xee, 0x50, 0xef, 0x33, 0xa7, 0x45, 0x2c, 0xea, 0x1b, 0x4f, 0x35, 0xeb, 0xd5, 0x4e,
0xc4, 0x88, 0xe3, 0x52, 0xd0, 0x5b, 0x50, 0x74, 0x5c, 0xc7, 0x23, 0xc6, 0xc8, 0xf3, 0xad, 0x7d,
0xbe, 0xe8, 0xb9, 0xaa, 0x72, 0x7a, 0xb2, 0x5c, 0x6c, 0xb9, 0x0e, 0x96, 0x70, 0x3c, 0x46, 0xa5,
0x1e, 0x27, 0xa1, 0x10, 0x13, 0x89, 0x6e, 0x42, 0x0e, 0x77, 0x70, 0xf3, 0x41, 0xa5, 0xd7, 0x50,
0xa6, 0xca, 0xd7, 0x8e, 0x8e, 0x57, 0x16, 0xd9, 0x18, 0xe2, 0xdd, 0x76, 0x3c, 0x6b, 0x9f, 0xee,
0xfc, 0x1b, 0x30, 0x2d, 0x49, 0x13, 0xe5, 0x17, 0x8e, 0x8e, 0x57, 0x9e, 0x3f, 0x4b, 0x1a, 0xa3,
0xc4, 0xdd, 0xf5, 0x0a, 0x6e, 0xd4, 0x95, 0xe4, 0x64, 0x4a, 0xdc, 0xdd, 0xd5, 0x3d, 0x62, 0xa2,
0xcf, 0x40, 0x56, 0x10, 0xa6, 0xca, 0xe5, 0xa3, 0xe3, 0x95, 0x85, 0xb3, 0x84, 0x11, 0x1d, 0xee,
0x6e, 0x54, 0x1e, 0x34, 0x94, 0xf4, 0x64, 0x3a, 0xdc, 0xb5, 0xf5, 0x7d, 0x82, 0x5e, 0x81, 0x0c,
0x27, 0xcb, 0x94, 0xaf, 0x1e, 0x1d, 0xaf, 0x3c, 0xf7, 0x84, 0x38, 0x4a, 0x55, 0x5e, 0xfc, 0xe5,
0xdf, 0x5f, 0x9a, 0xfa, 0xb3, 0x6f, 0x2e, 0x29, 0x67, 0xd1, 0xe5, 0xff, 0x49, 0x40, 0x69, 0x6c,
0xa3, 0x20, 0x15, 0xb2, 0x8e, 0x6b, 0xb8, 0x43, 0xee, 0x7b, 0xe4, 0xa4, 0xc1, 0xaf, 0xb9, 0xc3,
0x43, 0x2c, 0x30, 0xe8, 0xfe, 0x19, 0xef, 0xe9, 0xcd, 0xa7, 0xdc, 0x85, 0x13, 0xfd, 0xa7, 0x0f,
0xa0, 0x64, 0x7a, 0xd6, 0x3e, 0xf1, 0x34, 0xc3, 0x75, 0x76, 0xac, 0xbe, 0xf0, 0x2b, 0xca, 0x13,
0x03, 0x0d, 0x46, 0x88, 0x8b, 0x9c, 0xa1, 0xc6, 0xe8, 0x3f, 0x85, 0xe7, 0x54, 0x1e, 0x42, 0x31,
0xbe, 0xaf, 0xe9, 0x1d, 0xed, 0x5b, 0x3f, 0x43, 0x84, 0x7b, 0xcd, 0xe2, 0x0f, 0x9c, 0xa7, 0x10,
0xee, 0x41, 0xbf, 0x0a, 0xe9, 0x01, 0xbd, 0xd8, 0xa8, 0x9c, 0x52, 0x75, 0x8e, 0x3a, 0x70, 0x3f,
0x38, 0x59, 0x2e, 0xb8, 0xfe, 0xea, 0x9a, 0x65, 0x93, 0x4d, 0xd7, 0x24, 0x98, 0x11, 0x50, 0x5b,
0x2b, 0x0f, 0x96, 0xb8, 0x0d, 0x44, 0x53, 0xfd, 0xf3, 0x04, 0xa4, 0xa9, 0x11, 0x43, 0x2f, 0x40,
0xba, 0xda, 0x6c, 0xd5, 0x95, 0xa9, 0xf2, 0x95, 0xa3, 0xe3, 0x95, 0x12, 0xd3, 0x16, 0x45, 0xd0,
0xc3, 0x80, 0x96, 0x21, 0xfb, 0xa0, 0xbd, 0xb1, 0xb5, 0x49, 0x77, 0xde, 0xdc, 0xd1, 0xf1, 0xca,
0x6c, 0x88, 0xe6, 0xfa, 0x44, 0x2f, 0x42, 0xa6, 0xb7, 0xd9, 0x59, 0xeb, 0x2a, 0xc9, 0x32, 0x3a,
0x3a, 0x5e, 0x99, 0x09, 0xf1, 0x6c, 0x3a, 0xe8, 0x25, 0xc8, 0xb4, 0x3a, 0xcd, 0x4e, 0x43, 0x49,
0x95, 0x17, 0x8e, 0x8e, 0x57, 0x50, 0x88, 0x66, 0x81, 0x60, 0xc7, 0x1a, 0x12, 0xf4, 0x12, 0x4c,
0xd7, 0x36, 0xb6, 0xba, 0xbd, 0x06, 0x56, 0xd2, 0xe5, 0xf9, 0xa3, 0xe3, 0x15, 0x25, 0x24, 0xaa,
0xd9, 0x23, 0x3f, 0x20, 0x5e, 0xf9, 0x8a, 0xd8, 0x36, 0xf9, 0x10, 0xa3, 0x7e, 0x37, 0x01, 0x85,
0x98, 0xb9, 0xa3, 0x3b, 0xbf, 0xde, 0x58, 0xab, 0x6c, 0x6d, 0xf4, 0x94, 0xa9, 0xd8, 0xce, 0x8f,
0x91, 0xd4, 0xc9, 0x8e, 0x3e, 0xb2, 0xa9, 0xf9, 0x85, 0x5a, 0xbb, 0xd5, 0x6d, 0x76, 0x7b, 0x8d,
0x56, 0x4f, 0x49, 0x94, 0x17, 0x8f, 0x8e, 0x57, 0xe6, 0xcf, 0x12, 0xaf, 0x8d, 0x6c, 0x9b, 0xee,
0xfd, 0x5a, 0xa5, 0xb6, 0xce, 0x0e, 0x53, 0xb4, 0xf7, 0x63, 0x54, 0x35, 0xdd, 0xd8, 0x25, 0x26,
0x7a, 0x1d, 0xf2, 0xf5, 0xc6, 0x46, 0xe3, 0x5e, 0x85, 0x5d, 0x3a, 0xe5, 0x17, 0x8f, 0x8e, 0x57,
0xae, 0x3e, 0xd9, 0xbb, 0x4d, 0xfa, 0x7a, 0x40, 0xcc, 0x33, 0x67, 0x20, 0x46, 0xa2, 0xfe, 0x67,
0x12, 0x4a, 0x98, 0xf8, 0x81, 0xee, 0x05, 0x1d, 0xd7, 0xb6, 0x8c, 0x43, 0xd4, 0x81, 0xbc, 0xe1,
0x3a, 0xa6, 0x15, 0x33, 0x5f, 0x77, 0xce, 0x71, 0x73, 0x23, 0x2e, 0xd9, 0xaa, 0x49, 0x4e, 0x1c,
0x09, 0x41, 0xb7, 0x20, 0x63, 0x12, 0x5b, 0x3f, 0x14, 0xfe, 0xf6, 0xd5, 0x27, 0xe2, 0xad, 0xba,
0x48, 0xf5, 0x60, 0x4e, 0xc7, 0xa2, 0x5b, 0xfd, 0xb1, 0xa6, 0x07, 0x01, 0x19, 0x0c, 0x03, 0xbe,
0x8d, 0xd2, 0xb8, 0x30, 0xd0, 0x1f, 0x57, 0x04, 0x08, 0xbd, 0x01, 0xd9, 0x03, 0xcb, 0x31, 0xdd,
0x03, 0xe1, 0x38, 0x5d, 0x20, 0x54, 0x10, 0xaa, 0x47, 0xd4, 0x53, 0x3a, 0x33, 0x4c, 0xba, 0x13,
0x5b, 0xed, 0x56, 0x43, 0xee, 0x44, 0x81, 0x6f, 0x3b, 0x2d, 0xd7, 0xa1, 0x06, 0x06, 0xda, 0x2d,
0x6d, 0xad, 0xd2, 0xdc, 0xd8, 0xc2, 0x74, 0x37, 0xb2, 0x9d, 0x12, 0x92, 0xac, 0xe9, 0x96, 0x4d,
0x03, 0xbc, 0xab, 0x90, 0xaa, 0xb4, 0x3e, 0x52, 0x92, 0x65, 0xe5, 0xe8, 0x78, 0xa5, 0x18, 0xa2,
0x2b, 0xce, 0x61, 0xa4, 0xf7, 0xb3, 0xfd, 0xaa, 0x7f, 0x93, 0x82, 0xe2, 0xd6, 0xd0, 0xd4, 0x03,
0xc2, 0x0f, 0x32, 0x5a, 0x81, 0xc2, 0x50, 0xf7, 0x74, 0xdb, 0x26, 0xb6, 0xe5, 0x0f, 0x44, 0x92,
0x2a, 0x0e, 0x42, 0xef, 0x3c, 0xad, 0x1a, 0xab, 0x39, 0x7a, 0x38, 0xbf, 0xf1, 0xcf, 0xcb, 0x09,
0xa9, 0xd0, 0x2d, 0x98, 0xd9, 0xe1, 0xa3, 0xd5, 0x74, 0x83, 0x2d, 0x6c, 0x8a, 0x2d, 0xec, 0xea,
0xa4, 0x85, 0x8d, 0x0f, 0x6b, 0x55, 0x4c, 0xb2, 0xc2, 0xb8, 0x70, 0x69, 0x27, 0xde, 0x44, 0x6f,
0xc2, 0xf4, 0xc0, 0x75, 0xac, 0xc0, 0xf5, 0x2e, 0x5f, 0x05, 0x49, 0x89, 0x6e, 0x02, 0x75, 0x8a,
0x35, 0x39, 0x1e, 0x86, 0x66, 0xce, 0x41, 0x12, 0xcf, 0x0e, 0xf4, 0xc7, 0xa2, 0x43, 0x4c, 0xc1,
0xa8, 0x0a, 0x19, 0xd7, 0xa3, 0x6e, 0x6c, 0x96, 0x0d, 0xf7, 0xf5, 0x4b, 0x87, 0xcb, 0x1b, 0x6d,
0xca, 0x83, 0x39, 0xab, 0xfa, 0x36, 0x94, 0xc6, 0x26, 0x41, 0xbd, 0xb7, 0x4e, 0x65, 0xab, 0xdb,
0x50, 0xa6, 0x50, 0x11, 0x72, 0xb5, 0x76, 0xab, 0xd7, 0x6c, 0x6d, 0x51, 0xf7, 0xb3, 0x08, 0x39,
0xdc, 0xde, 0xd8, 0xa8, 0x56, 0x6a, 0xf7, 0x95, 0xa4, 0xba, 0x0a, 0x85, 0x98, 0x34, 0x34, 0x03,
0xd0, 0xed, 0xb5, 0x3b, 0xda, 0x5a, 0x13, 0x77, 0x7b, 0xdc, 0x79, 0xed, 0xf6, 0x2a, 0xb8, 0x27,
0x00, 0x09, 0xf5, 0xdf, 0x93, 0x72, 0x45, 0x85, 0xbf, 0x5a, 0x1d, 0xf7, 0x57, 0x2f, 0x18, 0xbc,
0xf0, 0x58, 0xa3, 0x46, 0xe8, 0xb7, 0xbe, 0x03, 0xc0, 0x36, 0x0e, 0x31, 0x35, 0x3d, 0x10, 0x0b,
0x5f, 0x7e, 0x42, 0xc9, 0x3d, 0x99, 0x4b, 0xc5, 0x79, 0x41, 0x5d, 0x09, 0xd0, 0xfb, 0x50, 0x34,
0xdc, 0xc1, 0xd0, 0x26, 0x82, 0x39, 0x75, 0x29, 0x73, 0x21, 0xa4, 0xaf, 0x04, 0x71, 0x8f, 0x39,
0x3d, 0xee, 0xd3, 0xff, 0x62, 0x42, 0x6a, 0x66, 0x82, 0x93, 0x5c, 0x84, 0xdc, 0x56, 0xa7, 0x5e,
0xe9, 0x35, 0x5b, 0xf7, 0x94, 0x04, 0x02, 0xc8, 0x32, 0x55, 0xd7, 0x95, 0x24, 0x75, 0xee, 0x6b,
0xed, 0xcd, 0xce, 0x46, 0x83, 0x59, 0x2c, 0x34, 0x0f, 0x8a, 0x54, 0xb6, 0xc6, 0x14, 0xd9, 0xa8,
0x2b, 0x69, 0x34, 0x07, 0xb3, 0x21, 0x54, 0x70, 0x66, 0xd0, 0x02, 0xa0, 0x10, 0x18, 0x89, 0xc8,
0xaa, 0x3f, 0x07, 0xb3, 0x35, 0xd7, 0x09, 0x74, 0xcb, 0x09, 0x03, 0x9f, 0x3b, 0x74, 0xd2, 0x02,
0x44, 0xe3, 0x36, 0x76, 0x11, 0x56, 0x67, 0x4f, 0x4f, 0x96, 0x0b, 0x21, 0x69, 0xb3, 0xce, 0x1c,
0x55, 0xd1, 0x30, 0xe9, 0xf9, 0x1d, 0x8a, 0x10, 0x2f, 0x53, 0x9d, 0x3e, 0x3d, 0x59, 0x4e, 0x75,
0x9a, 0x75, 0x4c, 0x61, 0xe8, 0x05, 0xc8, 0x93, 0xc7, 0x56, 0xa0, 0x19, 0x32, 0xa2, 0xcb, 0xe0,
0x1c, 0x05, 0xd4, 0x5c, 0x93, 0xa8, 0x55, 0x80, 0x8e, 0xeb, 0x05, 0xa2, 0xe7, 0xb7, 0x20, 0x33,
0x74, 0x3d, 0x96, 0x15, 0x3b, 0x37, 0x57, 0x4b, 0xc9, 0xf9, 0x46, 0xc5, 0x9c, 0x58, 0xfd, 0xad,
0x14, 0x40, 0x4f, 0xf7, 0xf7, 0x84, 0x90, 0xbb, 0x90, 0x0f, 0xf3, 0xe2, 0x22, 0xbd, 0x76, 0xe1,
0x6a, 0x87, 0xc4, 0xe8, 0x4d, 0xb9, 0xd9, 0x78, 0x48, 0x37, 0x31, 0x31, 0x21, 0x3b, 0x9a, 0x14,
0x15, 0x8d, 0xc7, 0x6d, 0xd4, 0x8f, 0x20, 0x9e, 0x27, 0x56, 0x9e, 0x7e, 0xa2, 0x1a, 0xbb, 0x16,
0xb8, 0xd2, 0x84, 0x2f, 0x3f, 0x31, 0xa1, 0x78, 0x66, 0x45, 0xd6, 0xa7, 0x70, 0xc4, 0x87, 0x3e,
0x80, 0x02, 0x9d, 0xb7, 0xe6, 0x33, 0x9c, 0x70, 0xe3, 0xcf, 0x55, 0x15, 0x97, 0x80, 0x61, 0x18,
0x69, 0xf9, 0x45, 0x00, 0x7d, 0x38, 0xb4, 0x2d, 0x62, 0x6a, 0xdb, 0x87, 0xcc, 0x6f, 0xcf, 0xe3,
0xbc, 0x80, 0x54, 0x0f, 0xe9, 0x71, 0x91, 0x68, 0x3d, 0x60, 0xb1, 0xcb, 0x25, 0x0a, 0x14, 0xd4,
0x95, 0xa0, 0xaa, 0xc0, 0x8c, 0x37, 0x72, 0xa8, 0x42, 0xc5, 0xe8, 0xd4, 0x3f, 0x4a, 0xc2, 0xf3,
0x2d, 0x12, 0x1c, 0xb8, 0xde, 0x5e, 0x25, 0x08, 0x74, 0x63, 0x77, 0x40, 0x1c, 0xb1, 0x7c, 0xb1,
0x38, 0x2b, 0x31, 0x16, 0x67, 0x2d, 0xc2, 0xb4, 0x6e, 0x5b, 0xba, 0x4f, 0xb8, 0x77, 0x98, 0xc7,
0xb2, 0x49, 0xa3, 0x41, 0x1a, 0x5b, 0x12, 0xdf, 0x27, 0x3c, 0x57, 0x46, 0x07, 0x2e, 0x01, 0xe8,
0x6b, 0xb0, 0x20, 0xfc, 0x40, 0x3d, 0xec, 0x8a, 0x86, 0x27, 0x32, 0xf5, 0xdf, 0x98, 0x18, 0xec,
0x4e, 0x1e, 0x9c, 0x70, 0x14, 0x23, 0x70, 0x7b, 0x18, 0x08, 0xb7, 0x73, 0xde, 0x9c, 0x80, 0x2a,
0xdf, 0x83, 0xab, 0xe7, 0xb2, 0x3c, 0x53, 0x2e, 0xee, 0x7b, 0x49, 0x80, 0x66, 0xa7, 0xb2, 0x29,
0x94, 0x54, 0x87, 0xec, 0x8e, 0x3e, 0xb0, 0xec, 0xc3, 0x8b, 0x2c, 0x60, 0x44, 0xbf, 0x5a, 0xe1,
0xea, 0x58, 0x63, 0x3c, 0x58, 0xf0, 0xb2, 0x50, 0x77, 0xb4, 0xed, 0x90, 0x20, 0x0c, 0x75, 0x59,
0x8b, 0x0e, 0xc3, 0xd3, 0x9d, 0x70, 0xeb, 0xf2, 0x06, 0x5d, 0x00, 0xea, 0xf2, 0x1c, 0xe8, 0x87,
0xd2, 0x6c, 0x89, 0x26, 0x5a, 0x67, 0x79, 0x77, 0xe2, 0xed, 0x13, 0x73, 0x31, 0xc3, 0x94, 0x7a,
0xd9, 0x78, 0xb0, 0x20, 0xe7, 0xba, 0x0b, 0xb9, 0xcb, 0xef, 0x31, 0x97, 0x29, 0x42, 0x3d, 0x93,
0x8e, 0x6e, 0x43, 0x69, 0x6c, 0x9e, 0x4f, 0xe4, 0x18, 0x9a, 0x9d, 0x07, 0x6f, 0x29, 0x69, 0xf1,
0xf5, 0xb6, 0x92, 0x55, 0xff, 0x2a, 0xc5, 0x0d, 0x8d, 0xd0, 0xea, 0xe4, 0xf7, 0xa6, 0x1c, 0xdb,
0xdd, 0x86, 0x6b, 0x0b, 0x03, 0xf0, 0xea, 0xc5, 0xf6, 0x87, 0x86, 0x9a, 0x8c, 0x1c, 0x87, 0x8c,
0x68, 0x19, 0x0a, 0x7c, 0x17, 0x6b, 0xf4, 0xc0, 0x31, 0xb5, 0x96, 0x30, 0x70, 0x10, 0xe5, 0x44,
0xd7, 0x61, 0x86, 0x65, 0xda, 0xfc, 0x5d, 0x62, 0x72, 0x9a, 0x34, 0xa3, 0x29, 0x85, 0x50, 0x46,
0xb6, 0x09, 0x45, 0x01, 0xd0, 0x58, 0xc0, 0x90, 0x61, 0x03, 0xba, 0x79, 0xd9, 0x80, 0x38, 0x0b,
0x8b, 0x23, 0x0a, 0xc3, 0xa8, 0xa1, 0xfe, 0x14, 0xe4, 0xe4, 0x60, 0xd1, 0x22, 0xa4, 0x7a, 0xb5,
0x8e, 0x32, 0x55, 0x9e, 0x3d, 0x3a, 0x5e, 0x29, 0x48, 0x70, 0xaf, 0xd6, 0xa1, 0x98, 0xad, 0x7a,
0x47, 0x49, 0x8c, 0x63, 0xb6, 0xea, 0x1d, 0x54, 0x86, 0x74, 0xb7, 0xd6, 0xeb, 0x48, 0xff, 0x4c,
0xa2, 0x28, 0xac, 0x9c, 0xa6, 0xfe, 0x99, 0xba, 0x03, 0x85, 0x58, 0xef, 0xe8, 0x65, 0x98, 0x6e,
0xb6, 0xee, 0xe1, 0x46, 0xb7, 0xab, 0x4c, 0xf1, 0x08, 0x22, 0x86, 0x6d, 0x3a, 0x7d, 0xba, 0x76,
0xe8, 0x45, 0x48, 0xaf, 0xb7, 0xe9, 0xbd, 0xcf, 0x43, 0x94, 0x18, 0xc5, 0xba, 0xeb, 0x07, 0xe5,
0x39, 0xe1, 0xf8, 0xc5, 0x05, 0xab, 0xbf, 0x9d, 0x80, 0x2c, 0x3f, 0x68, 0x13, 0x17, 0xb1, 0x12,
0xc5, 0x4d, 0x3c, 0xb2, 0x7c, 0xf5, 0xfc, 0x28, 0x70, 0x55, 0x04, 0x6d, 0x7c, 0x6b, 0x4a, 0xbe,
0xf2, 0xbb, 0x50, 0x8c, 0x23, 0x9e, 0x69, 0x63, 0x7e, 0x0d, 0x0a, 0x74, 0xef, 0xcb, 0x68, 0xf0,
0x0e, 0x64, 0xb9, 0xb1, 0x08, 0xef, 0xa1, 0xf3, 0x43, 0x52, 0x41, 0x89, 0xee, 0xc2, 0x34, 0x0f,
0x63, 0xe5, 0x6b, 0xc0, 0xd2, 0xc5, 0x27, 0x0c, 0x4b, 0x72, 0xf5, 0x03, 0x48, 0x77, 0x08, 0xf1,
0xe2, 0x29, 0xd7, 0xc4, 0xb9, 0x29, 0x57, 0x99, 0xb2, 0x4b, 0xc6, 0x52, 0x76, 0x3d, 0x28, 0x3e,
0x24, 0x56, 0x7f, 0x37, 0x20, 0x26, 0x13, 0xf4, 0x3a, 0xa4, 0x87, 0x24, 0x1c, 0xfc, 0xe2, 0xc4,
0xcd, 0x47, 0x88, 0x87, 0x19, 0x15, 0xb5, 0x31, 0x07, 0x8c, 0x5b, 0x3c, 0xa4, 0x89, 0x96, 0xfa,
0xb7, 0x49, 0x98, 0x69, 0xfa, 0xfe, 0x48, 0x77, 0x0c, 0xe9, 0xd5, 0x7d, 0x71, 0xdc, 0xab, 0x9b,
0xf8, 0xe2, 0x38, 0xce, 0x32, 0x9e, 0x89, 0x14, 0x37, 0x6b, 0x32, 0xbc, 0x59, 0xd5, 0x7f, 0x4b,
0xc8, 0x74, 0xe3, 0xf5, 0x98, 0x29, 0xe0, 0x31, 0x62, 0x5c, 0x12, 0xd9, 0x72, 0xf6, 0x1c, 0xf7,
0xc0, 0xa1, 0x01, 0x2e, 0x6e, 0xb4, 0x1a, 0x0f, 0x95, 0x04, 0xdf, 0x9e, 0x63, 0x44, 0x98, 0x38,
0xe4, 0x80, 0x4a, 0xea, 0x34, 0x5a, 0x75, 0xea, 0x85, 0x25, 0x27, 0x48, 0xea, 0x10, 0xc7, 0xb4,
0x9c, 0x3e, 0x7a, 0x19, 0xb2, 0xcd, 0x6e, 0x77, 0x8b, 0x85, 0x90, 0xcf, 0x1f, 0x1d, 0xaf, 0xcc,
0x8d, 0x51, 0xb1, 0x04, 0xba, 0x49, 0x89, 0x68, 0x08, 0x44, 0xfd, 0xb3, 0x09, 0x44, 0xd4, 0xb7,
0xe6, 0x44, 0xb8, 0xdd, 0xab, 0xf4, 0x1a, 0x4a, 0x66, 0x02, 0x11, 0x76, 0xe9, 0x5f, 0x71, 0xdc,
0xfe, 0x31, 0x09, 0x4a, 0xc5, 0x30, 0xc8, 0x30, 0xa0, 0x78, 0x11, 0x75, 0xf6, 0x20, 0x37, 0xa4,
0x5f, 0x16, 0x91, 0x1e, 0xd4, 0xdd, 0x89, 0x6f, 0xe6, 0x67, 0xf8, 0x56, 0xb1, 0x6b, 0x93, 0x8a,
0x39, 0xb0, 0x7c, 0xdf, 0x72, 0x1d, 0x0e, 0xc3, 0xa1, 0xa4, 0xf2, 0x7f, 0x24, 0x60, 0x6e, 0x02,
0x05, 0xba, 0x0d, 0x69, 0xcf, 0xb5, 0xe5, 0x1a, 0x5e, 0x3b, 0x2f, 0x93, 0x4c, 0x59, 0x31, 0xa3,
0x44, 0x4b, 0x00, 0xfa, 0x28, 0x70, 0x75, 0xd6, 0x3f, 0xcf, 0xbf, 0xe1, 0x18, 0x04, 0x3d, 0x84,
0xac, 0x4f, 0x0c, 0x8f, 0x48, 0x3f, 0xfb, 0x83, 0x1f, 0x77, 0xf4, 0xab, 0x5d, 0x26, 0x06, 0x0b,
0x71, 0xe5, 0x55, 0xc8, 0x72, 0x08, 0xdd, 0xf6, 0xa6, 0x1e, 0xe8, 0xe2, 0xf5, 0x84, 0x7d, 0xd3,
0xdd, 0xa4, 0xdb, 0x7d, 0xb9, 0x9b, 0x74, 0xbb, 0xaf, 0xfe, 0x65, 0x12, 0xa0, 0xf1, 0x38, 0x20,
0x9e, 0xa3, 0xdb, 0xb5, 0x0a, 0x6a, 0xc4, 0x6e, 0x06, 0x3e, 0xdb, 0xd7, 0x26, 0xbe, 0x3c, 0x85,
0x1c, 0xab, 0xb5, 0xca, 0x84, 0xbb, 0xe1, 0x2a, 0xa4, 0x46, 0x9e, 0x28, 0x83, 0xe0, 0x3e, 0xf2,
0x16, 0xde, 0xc0, 0x14, 0x86, 0x1a, 0xf1, 0x74, 0xcf, 0xb9, 0xc5, 0x0e, 0xb1, 0x0e, 0x26, 0x9a,
0x2e, 0x7a, 0xf2, 0x0d, 0x5d, 0x33, 0x88, 0xb8, 0x55, 0x8a, 0xfc, 0xe4, 0xd7, 0x2a, 0x35, 0xe2,
0x05, 0x38, 0x6b, 0xe8, 0xf4, 0xff, 0xa7, 0xb2, 0x6f, 0xaf, 0x03, 0x44, 0x53, 0x43, 0x4b, 0x90,
0xa9, 0xad, 0x75, 0xbb, 0x1b, 0xca, 0x14, 0x37, 0xe0, 0x11, 0x8a, 0x81, 0xd5, 0x3f, 0x4d, 0x42,
0xae, 0x56, 0x11, 0x57, 0x6e, 0x0d, 0x14, 0x66, 0x95, 0xd8, 0x9b, 0x13, 0x79, 0x3c, 0xb4, 0xbc,
0x43, 0x61, 0x58, 0x2e, 0x08, 0x78, 0x67, 0x28, 0x0b, 0x1d, 0x75, 0x83, 0x31, 0x20, 0x0c, 0x45,
0x22, 0x94, 0xa0, 0x19, 0xba, 0xb4, 0xf1, 0x4b, 0x17, 0x2b, 0x8b, 0x87, 0x2e, 0x51, 0xdb, 0xc7,
0x05, 0x29, 0xa4, 0xa6, 0xfb, 0xe8, 0x1d, 0x98, 0xf5, 0xad, 0xbe, 0x63, 0x39, 0x7d, 0x4d, 0x2a,
0x8f, 0x3d, 0x80, 0x55, 0xaf, 0x9c, 0x9e, 0x2c, 0x97, 0xba, 0x1c, 0x25, 0x74, 0x58, 0x12, 0x94,
0x35, 0xa6, 0x4a, 0xf4, 0x36, 0xcc, 0xc4, 0x58, 0xa9, 0x16, 0xb9, 0xda, 0x59, 0x52, 0x39, 0xe4,
0xbc, 0x4f, 0x0e, 0x71, 0x31, 0x64, 0xbc, 0x4f, 0x58, 0x6e, 0x66, 0xc7, 0xf5, 0x0c, 0xa2, 0x79,
0xec, 0x4c, 0xb3, 0xdb, 0x3d, 0x8d, 0x0b, 0x0c, 0xc6, 0x8f, 0xb9, 0xfa, 0x00, 0xe6, 0xda, 0x9e,
0xb1, 0x4b, 0xfc, 0x80, 0xab, 0x42, 0x68, 0xf1, 0x03, 0xb8, 0x16, 0xe8, 0xfe, 0x9e, 0xb6, 0x6b,
0xf9, 0x81, 0xeb, 0x1d, 0x6a, 0x1e, 0x09, 0x88, 0x43, 0xf1, 0x1a, 0x2b, 0x11, 0x10, 0x19, 0xc7,
0xab, 0x94, 0x66, 0x9d, 0x93, 0x60, 0x49, 0xb1, 0x41, 0x09, 0xd4, 0x26, 0x14, 0x69, 0x08, 0x23,
0x92, 0x6a, 0x74, 0xf6, 0x60, 0xbb, 0x7d, 0xed, 0xa9, 0xaf, 0xa9, 0xbc, 0xed, 0xf6, 0xf9, 0xa7,
0xfa, 0x65, 0x50, 0xea, 0x96, 0x3f, 0xd4, 0x03, 0x63, 0x57, 0xa6, 0x52, 0x51, 0x1d, 0x94, 0x5d,
0xa2, 0x7b, 0xc1, 0x36, 0xd1, 0x03, 0x6d, 0x48, 0x3c, 0xcb, 0x35, 0x2f, 0x5f, 0xe5, 0xd9, 0x90,
0xa5, 0xc3, 0x38, 0xd4, 0xff, 0x4a, 0x00, 0x60, 0x7d, 0x47, 0x7a, 0x6b, 0x9f, 0x85, 0x2b, 0xbe,
0xa3, 0x0f, 0xfd, 0x5d, 0x37, 0xd0, 0x2c, 0x27, 0x20, 0xde, 0xbe, 0x6e, 0x8b, 0xe4, 0x8e, 0x22,
0x11, 0x4d, 0x01, 0x47, 0xaf, 0x03, 0xda, 0x23, 0x64, 0xa8, 0xb9, 0xb6, 0xa9, 0x49, 0x24, 0x2f,
0x1d, 0x48, 0x63, 0x85, 0x62, 0xda, 0xb6, 0xd9, 0x95, 0x70, 0x54, 0x85, 0x25, 0x3a, 0x7d, 0xe2,
0x04, 0x9e, 0x45, 0x7c, 0x6d, 0xc7, 0xf5, 0x34, 0xdf, 0x76, 0x0f, 0xb4, 0x1d, 0xd7, 0xb6, 0xdd,
0x03, 0xe2, 0xc9, 0xbc, 0x59, 0xd9, 0x76, 0xfb, 0x0d, 0x4e, 0xb4, 0xe6, 0x7a, 0x5d, 0xdb, 0x3d,
0x58, 0x93, 0x14, 0xd4, 0xa5, 0x8b, 0xe6, 0x1c, 0x58, 0xc6, 0x9e, 0x74, 0xe9, 0x42, 0x68, 0xcf,
0x32, 0xf6, 0xd0, 0xcb, 0x50, 0x22, 0x36, 0x61, 0xe9, 0x13, 0x4e, 0x95, 0x61, 0x54, 0x45, 0x09,
0xa4, 0x44, 0xea, 0x87, 0xa0, 0x34, 0x1c, 0xc3, 0x3b, 0x1c, 0xc6, 0xd6, 0xfc, 0x75, 0x40, 0xd4,
0x48, 0x6a, 0xb6, 0x6b, 0xec, 0x69, 0x03, 0xdd, 0xd1, 0xfb, 0x74, 0x5c, 0xfc, 0x51, 0x52, 0xa1,
0x98, 0x0d, 0xd7, 0xd8, 0xdb, 0x14, 0x70, 0xf5, 0x1d, 0x80, 0xee, 0xd0, 0x23, 0xba, 0xd9, 0xa6,
0xde, 0x04, 0x55, 0x1d, 0x6b, 0x69, 0xa6, 0x78, 0x11, 0x77, 0x3d, 0x71, 0xd4, 0x15, 0x8e, 0xa8,
0x87, 0x70, 0xf5, 0xff, 0xc3, 0x5c, 0xc7, 0xd6, 0x0d, 0x56, 0xa3, 0xd2, 0x09, 0x5f, 0xd9, 0xd0,
0x5d, 0xc8, 0x72, 0x52, 0xb1, 0x92, 0x13, 0x8f, 0x5b, 0xd4, 0xe7, 0xfa, 0x14, 0x16, 0xf4, 0xd5,
0x22, 0x40, 0x24, 0x47, 0xfd, 0x87, 0x04, 0xe4, 0x43, 0xf9, 0x68, 0x85, 0xbf, 0x91, 0x05, 0x9e,
0x6e, 0x39, 0x22, 0xe2, 0xcf, 0xe3, 0x38, 0x08, 0x35, 0xa1, 0x30, 0x0c, 0xb9, 0x2f, 0xf4, 0xe7,
0x26, 0x8c, 0x1a, 0xc7, 0x79, 0xd1, 0xbb, 0x90, 0x97, 0x25, 0x08, 0xd2, 0xc2, 0x5e, 0x5c, 0xb1,
0x10, 0x91, 0xcb, 0x44, 0xaa, 0x47, 0x86, 0xb6, 0x45, 0x6d, 0x4e, 0x3a, 0x4c, 0xa4, 0x62, 0x01,
0x52, 0xbf, 0x08, 0xf0, 0x25, 0xd7, 0x72, 0x7a, 0xee, 0x1e, 0x71, 0xd8, 0xc3, 0x31, 0x0d, 0x29,
0x89, 0x54, 0xb4, 0x68, 0xb1, 0x4c, 0x01, 0x5f, 0xa5, 0xf0, 0xfd, 0x94, 0x37, 0xd5, 0xbf, 0x48,
0x42, 0x16, 0xbb, 0x6e, 0x50, 0xab, 0xa0, 0x15, 0xc8, 0x0a, 0x53, 0xc2, 0xae, 0xa8, 0x6a, 0xfe,
0xf4, 0x64, 0x39, 0xc3, 0x6d, 0x48, 0xc6, 0x60, 0xc6, 0x23, 0x66, 0xe4, 0x93, 0xe7, 0x19, 0x79,
0x74, 0x1b, 0x8a, 0x82, 0x48, 0xdb, 0xd5, 0xfd, 0x5d, 0x1e, 0xdf, 0x55, 0x67, 0x4e, 0x4f, 0x96,
0x81, 0x53, 0xae, 0xeb, 0xfe, 0x2e, 0x06, 0x4e, 0x4d, 0xbf, 0x51, 0x03, 0x0a, 0x8f, 0x5c, 0xcb,
0xd1, 0x02, 0x36, 0x09, 0x91, 0x8b, 0x9c, 0xb8, 0xd4, 0xd1, 0x54, 0x45, 0x09, 0x0a, 0x3c, 0x8a,
0x26, 0xdf, 0x80, 0x92, 0xe7, 0xba, 0x01, 0xb7, 0x6c, 0x96, 0xeb, 0x88, 0x34, 0xc7, 0xca, 0xc4,
0xec, 0xb7, 0xeb, 0x06, 0x58, 0xd0, 0xe1, 0xa2, 0x17, 0x6b, 0xa1, 0xdb, 0x30, 0x6f, 0xeb, 0x7e,
0xa0, 0x31, 0x93, 0x68, 0x46, 0xd2, 0xb2, 0x4c, 0xf9, 0x88, 0xe2, 0xd6, 0x18, 0x4a, 0x72, 0xa8,
0x7f, 0x9f, 0x80, 0x02, 0x9d, 0x8c, 0xb5, 0x63, 0x19, 0xd4, 0x0f, 0x7c, 0x76, 0xf7, 0xe4, 0x2a,
0xa4, 0x0c, 0xdf, 0x13, 0x4a, 0x65, 0xf7, 0x73, 0xad, 0x8b, 0x31, 0x85, 0xa1, 0x0f, 0x21, 0x2b,
0xd2, 0x2d, 0xdc, 0x33, 0x51, 0x2f, 0xf7, 0x58, 0x85, 0x6e, 0x04, 0x1f, 0xdb, 0xee, 0xd1, 0xe8,
0xf8, 0x3d, 0x81, 0xe3, 0x20, 0xb4, 0x00, 0x49, 0x83, 0xab, 0x4b, 0xd4, 0x38, 0xd5, 0x5a, 0x38,
0x69, 0x38, 0xea, 0x77, 0x13, 0x50, 0x8a, 0x6c, 0x02, 0xdd, 0x01, 0xd7, 0x20, 0xef, 0x8f, 0xb6,
0xfd, 0x43, 0x3f, 0x20, 0x03, 0xf9, 0x28, 0x1e, 0x02, 0x50, 0x13, 0xf2, 0xba, 0xdd, 0x77, 0x3d,
0x2b, 0xd8, 0x1d, 0x88, 0x40, 0x76, 0xb2, 0x37, 0x11, 0x97, 0xb9, 0x5a, 0x91, 0x2c, 0x38, 0xe2,
0x96, 0xae, 0x01, 0xaf, 0x07, 0x61, 0xae, 0xc1, 0x4b, 0x50, 0xb4, 0xf5, 0x01, 0xcb, 0x3f, 0x05,
0xd6, 0x80, 0xc8, 0xc3, 0x20, 0x60, 0x3d, 0x6b, 0x40, 0x54, 0x15, 0xf2, 0xa1, 0x30, 0x34, 0x0b,
0x85, 0x4a, 0xa3, 0xab, 0xbd, 0x71, 0xe7, 0xae, 0x76, 0xaf, 0xb6, 0xa9, 0x4c, 0x09, 0xf7, 0xf5,
0x4f, 0x12, 0x50, 0x12, 0x16, 0x4b, 0x84, 0x04, 0x2f, 0xc3, 0xb4, 0xa7, 0xef, 0x04, 0x32, 0x68,
0x49, 0xf3, 0x5d, 0x4d, 0x2f, 0x01, 0x1a, 0xb4, 0x50, 0xd4, 0xe4, 0xa0, 0x25, 0x56, 0xa6, 0x91,
0xba, 0xb0, 0x4c, 0x23, 0xfd, 0x13, 0x29, 0xd3, 0x50, 0x7f, 0x1e, 0x60, 0xcd, 0xb2, 0x49, 0x8f,
0xa7, 0xaa, 0x26, 0x85, 0xa0, 0xd4, 0xcd, 0x0b, 0xab, 0x5d, 0xb8, 0x9b, 0xd7, 0xac, 0x63, 0x0a,
0xa3, 0xa8, 0xbe, 0x65, 0x8a, 0xc3, 0xc8, 0x50, 0xf7, 0x28, 0xaa, 0x6f, 0x99, 0xe1, 0xcb, 0x60,
0xfa, 0x92, 0x97, 0x41, 0x75, 0x16, 0x4a, 0x98, 0xe7, 0xd8, 0xf8, 0x18, 0xd4, 0xe3, 0x04, 0xcc,
0x0a, 0x7f, 0x37, 0x34, 0xd9, 0xaf, 0x41, 0x9e, 0xbb, 0xbe, 0x51, 0x10, 0xc8, 0x6a, 0x15, 0x38,
0x5d, 0xb3, 0x8e, 0x73, 0x1c, 0xdd, 0x34, 0xd1, 0x32, 0x14, 0x04, 0x69, 0xac, 0x40, 0x0e, 0x38,
0x88, 0x55, 0xf0, 0xbc, 0x05, 0xe9, 0x1d, 0xcb, 0x26, 0x62, 0xe7, 0x4f, 0xb4, 0x08, 0x91, 0x46,
0xd6, 0xa7, 0x30, 0xa3, 0xae, 0xe6, 0x64, 0x72, 0x4f, 0xfd, 0xa7, 0x04, 0x4b, 0x31, 0xd3, 0x50,
0x35, 0x3e, 0x3e, 0x1e, 0xb5, 0x9e, 0x19, 0x1f, 0xa7, 0xa3, 0xe3, 0xe3, 0x68, 0x3e, 0x3e, 0x41,
0x1a, 0x1f, 0x1f, 0x07, 0xfd, 0xf8, 0xe3, 0x43, 0xef, 0xc3, 0xb4, 0x48, 0x55, 0x0a, 0x53, 0xf7,
0xd2, 0xc4, 0x9d, 0x11, 0xd7, 0xf4, 0xfa, 0x14, 0x96, 0x3c, 0xb1, 0xe9, 0x6d, 0xc0, 0x42, 0xd5,
0xd6, 0x8d, 0x3d, 0xdb, 0xf2, 0x03, 0x62, 0xc6, 0x2d, 0xd0, 0x1d, 0xc8, 0x8e, 0xf9, 0xb9, 0x17,
0x25, 0x51, 0x05, 0xa5, 0xfa, 0xaf, 0x09, 0x28, 0xae, 0x13, 0xdd, 0x0e, 0x76, 0xa3, 0x4c, 0x55,
// 6395 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x7b, 0x4d, 0x6c, 0x24, 0x49,
0x56, 0xb0, 0xeb, 0xd7, 0x55, 0xaf, 0xca, 0x76, 0x76, 0xd8, 0xe3, 0x71, 0xd7, 0xf4, 0xd8, 0x9e,
0x9c, 0xe9, 0x9d, 0x9e, 0xde, 0x59, 0x77, 0x4f, 0xcf, 0xec, 0x7c, 0x3d, 0x33, 0x3b, 0x3b, 0x5d,
0x7f, 0x6e, 0xd7, 0xb6, 0x5d, 0x55, 0x8a, 0x2a, 0x77, 0xef, 0xac, 0xf4, 0x6d, 0x92, 0xce, 0x0c,
0x97, 0x73, 0x9c, 0x95, 0x59, 0x64, 0x66, 0xd9, 0x6d, 0x16, 0xc4, 0x9c, 0x00, 0x59, 0x42, 0x80,
0x90, 0x96, 0x45, 0x60, 0x81, 0x60, 0x39, 0x71, 0xe0, 0xc0, 0x81, 0x1f, 0x71, 0x18, 0x24, 0x84,
0x96, 0x13, 0xbb, 0x2c, 0x82, 0xd5, 0x82, 0x0c, 0xeb, 0x95, 0x10, 0x17, 0x04, 0x17, 0x04, 0x07,
0x0e, 0x28, 0xfe, 0x32, 0xb3, 0xaa, 0xcb, 0x76, 0xf7, 0xce, 0x72, 0xb1, 0x33, 0xde, 0x5f, 0x44,
0xbc, 0x88, 0x78, 0xf1, 0xde, 0x8b, 0x57, 0x70, 0xb3, 0x67, 0x05, 0x7b, 0xc3, 0x9d, 0x35, 0xc3,
0xed, 0xdf, 0x32, 0x5d, 0x63, 0x9f, 0x78, 0xb7, 0xfc, 0x43, 0xdd, 0xeb, 0xef, 0x5b, 0xc1, 0x2d,
0x7d, 0x60, 0xdd, 0x0a, 0x8e, 0x06, 0xc4, 0x5f, 0x1b, 0x78, 0x6e, 0xe0, 0x22, 0xc4, 0x09, 0xd6,
0x24, 0xc1, 0xda, 0xc1, 0x1b, 0xa5, 0x95, 0x9e, 0xeb, 0xf6, 0x6c, 0x72, 0x8b, 0x51, 0xec, 0x0c,
0x77, 0x6f, 0x05, 0x56, 0x9f, 0xf8, 0x81, 0xde, 0x1f, 0x70, 0xa6, 0xd2, 0xf2, 0x38, 0x81, 0x39,
0xf4, 0xf4, 0xc0, 0x72, 0x9d, 0xf3, 0xf0, 0x87, 0x9e, 0x3e, 0x18, 0x10, 0x4f, 0x74, 0x5a, 0x5a,
0xe8, 0xb9, 0x3d, 0x97, 0x7d, 0xde, 0xa2, 0x5f, 0x1c, 0xaa, 0xae, 0xc0, 0xf4, 0x43, 0xe2, 0xf9,
0x96, 0xeb, 0xa0, 0x05, 0xc8, 0x58, 0x8e, 0x49, 0x1e, 0x2f, 0x25, 0x56, 0x13, 0x37, 0xd2, 0x98,
0x37, 0xd4, 0xdb, 0x00, 0x0d, 0xfa, 0x51, 0x77, 0x02, 0xef, 0x08, 0x29, 0x90, 0xda, 0x27, 0x47,
0x8c, 0x22, 0x8f, 0xe9, 0x27, 0x85, 0x1c, 0xe8, 0xf6, 0x52, 0x92, 0x43, 0x0e, 0x74, 0x5b, 0xfd,
0x41, 0x02, 0x0a, 0x65, 0xc7, 0x71, 0x03, 0x36, 0x3a, 0x1f, 0x21, 0x48, 0x3b, 0x7a, 0x9f, 0x08,
0x26, 0xf6, 0x8d, 0xaa, 0x90, 0xb5, 0xf5, 0x1d, 0x62, 0xfb, 0x4b, 0xc9, 0xd5, 0xd4, 0x8d, 0xc2,
0x9d, 0xcf, 0xae, 0x3d, 0xa9, 0x92, 0xb5, 0x98, 0x90, 0xb5, 0x4d, 0x46, 0xcd, 0x06, 0x81, 0x05,
0x2b, 0xfa, 0x22, 0x4c, 0x5b, 0x8e, 0x69, 0x19, 0xc4, 0x5f, 0x4a, 0x33, 0x29, 0xcb, 0x93, 0xa4,
0x44, 0xa3, 0xaf, 0xa4, 0xbf, 0x75, 0xba, 0x32, 0x85, 0x25, 0x53, 0xe9, 0x1d, 0x28, 0xc4, 0xc4,
0x4e, 0x98, 0xdb, 0x02, 0x64, 0x0e, 0x74, 0x7b, 0x48, 0xc4, 0xec, 0x78, 0xe3, 0xdd, 0xe4, 0xdd,
0x84, 0x7a, 0x0f, 0x16, 0x9a, 0x7a, 0x9f, 0x98, 0xf7, 0x89, 0x43, 0x3c, 0xcb, 0xc0, 0xc4, 0x77,
0x87, 0x9e, 0x41, 0xe8, 0x5c, 0xf7, 0x2d, 0xc7, 0x94, 0x73, 0xa5, 0xdf, 0x93, 0xa5, 0xa8, 0x55,
0x78, 0xbe, 0x66, 0xf9, 0x86, 0x47, 0x02, 0xf2, 0xcc, 0x42, 0x52, 0x52, 0xc8, 0x69, 0x02, 0xe6,
0xc6, 0xb9, 0xbf, 0x02, 0xf3, 0x54, 0xc5, 0xa6, 0xe6, 0x09, 0x88, 0xe6, 0x0f, 0x88, 0xc1, 0x84,
0x15, 0xee, 0xdc, 0x98, 0xa4, 0xa1, 0x49, 0x33, 0xd9, 0x98, 0xc2, 0x57, 0x98, 0x18, 0x09, 0xe8,
0x0c, 0x88, 0x81, 0x0c, 0x58, 0x34, 0xc5, 0xa0, 0xc7, 0xc4, 0x27, 0x99, 0xf8, 0x89, 0xcb, 0x78,
0xce, 0x34, 0x37, 0xa6, 0xf0, 0x82, 0x14, 0x16, 0xef, 0xa4, 0x02, 0x90, 0x93, 0xb2, 0xd5, 0x6f,
0x24, 0x20, 0x2f, 0x91, 0x3e, 0x7a, 0x0d, 0xf2, 0x8e, 0xee, 0xb8, 0x9a, 0x31, 0x18, 0xfa, 0x6c,
0x42, 0xa9, 0x4a, 0xf1, 0xec, 0x74, 0x25, 0xd7, 0xd4, 0x1d, 0xb7, 0xda, 0xde, 0xf6, 0x71, 0x8e,
0xa2, 0xab, 0x83, 0xa1, 0x8f, 0x5e, 0x82, 0x62, 0x9f, 0xf4, 0x5d, 0xef, 0x48, 0xdb, 0x39, 0x0a,
0x88, 0x2f, 0xd4, 0x56, 0xe0, 0xb0, 0x0a, 0x05, 0xa1, 0xf7, 0x61, 0xba, 0xc7, 0x87, 0xb4, 0x94,
0x62, 0xdb, 0xe7, 0xe5, 0x49, 0xa3, 0x1f, 0x1b, 0x35, 0x96, 0x3c, 0xea, 0xd7, 0x93, 0xb0, 0x10,
0x42, 0xc9, 0x4f, 0x0e, 0x2d, 0x8f, 0xf4, 0x89, 0x13, 0xf8, 0xe8, 0xf3, 0x90, 0xb5, 0xad, 0xbe,
0x15, 0xf8, 0x42, 0xe7, 0x2f, 0x4e, 0x12, 0x1b, 0x4e, 0x0a, 0x0b, 0x62, 0x54, 0x86, 0xa2, 0x47,
0x7c, 0xe2, 0x1d, 0xf0, 0x1d, 0x2f, 0x34, 0x7a, 0x09, 0xf3, 0x08, 0x0b, 0x7a, 0x17, 0xc0, 0x3f,
0xd4, 0x07, 0x62, 0xca, 0x29, 0x26, 0xe0, 0x85, 0x35, 0x6e, 0x17, 0xd6, 0xa4, 0x5d, 0x58, 0x6b,
0x38, 0xc1, 0xdb, 0x6f, 0x3d, 0xa4, 0xfb, 0x07, 0xe7, 0x29, 0x39, 0xd7, 0xc6, 0x06, 0x5c, 0x11,
0x0a, 0xa3, 0xb0, 0x81, 0xe5, 0x10, 0x9f, 0x1e, 0xab, 0x4b, 0x45, 0x28, 0x9c, 0xab, 0x13, 0x32,
0xa9, 0xeb, 0x90, 0x6b, 0xdb, 0x7a, 0xb0, 0xeb, 0x7a, 0x7d, 0xa4, 0x42, 0x51, 0xf7, 0x8c, 0x3d,
0x2b, 0x20, 0x46, 0x30, 0xf4, 0xa4, 0x0d, 0x18, 0x81, 0xa1, 0x45, 0x48, 0xba, 0x7c, 0xba, 0xf9,
0x4a, 0xf6, 0xec, 0x74, 0x25, 0xd9, 0xea, 0xe0, 0xa4, 0xeb, 0xab, 0xef, 0xc1, 0x95, 0xb6, 0x3d,
0xec, 0x59, 0x4e, 0x8d, 0xf8, 0x86, 0x67, 0x0d, 0xe8, 0x1c, 0xe9, 0xd9, 0xa0, 0x96, 0x54, 0x9e,
0x0d, 0xfa, 0x1d, 0x1a, 0x98, 0x64, 0x64, 0x60, 0xd4, 0x9f, 0x4f, 0xc2, 0x95, 0xba, 0xd3, 0xb3,
0x1c, 0x12, 0xe7, 0xbe, 0x0e, 0xb3, 0x84, 0x01, 0xb5, 0x03, 0x6e, 0xf4, 0x84, 0x9c, 0x19, 0x0e,
0x95, 0x96, 0xb0, 0x31, 0x66, 0x9d, 0xde, 0x98, 0xb4, 0x08, 0x4f, 0x48, 0x9f, 0x68, 0xa3, 0xea,
0x30, 0x3d, 0x60, 0x93, 0xf0, 0xc5, 0x26, 0xbb, 0x3e, 0x49, 0xd6, 0x13, 0xf3, 0x94, 0xa6, 0x4a,
0xf0, 0x7e, 0x1a, 0x53, 0xf5, 0xab, 0x29, 0x98, 0x6b, 0xba, 0xe6, 0x88, 0x1e, 0x4a, 0x90, 0xdb,
0x73, 0xfd, 0x20, 0x66, 0x96, 0xc3, 0x36, 0xba, 0x0b, 0xb9, 0x81, 0x58, 0x3e, 0xb1, 0x07, 0xaf,
0x4d, 0x1e, 0x32, 0xa7, 0xc1, 0x21, 0x35, 0x7a, 0x0f, 0xf2, 0xf2, 0xe0, 0xca, 0xdd, 0x77, 0xc9,
0xf6, 0x8d, 0xe8, 0xd1, 0xfb, 0x90, 0xe5, 0x8b, 0x20, 0x36, 0xdd, 0xf5, 0xa7, 0xd2, 0x39, 0x16,
0x4c, 0xe8, 0x3e, 0xe4, 0x02, 0xdb, 0xd7, 0x2c, 0x67, 0xd7, 0x5d, 0xca, 0x30, 0x01, 0x2b, 0x13,
0x4d, 0x9d, 0x6b, 0x92, 0xee, 0x66, 0xa7, 0xe1, 0xec, 0xba, 0x95, 0xc2, 0xd9, 0xe9, 0xca, 0xb4,
0x68, 0xe0, 0xe9, 0xc0, 0xf6, 0xe9, 0x07, 0xba, 0x06, 0xe9, 0x5d, 0x6b, 0xe0, 0x2f, 0x65, 0x57,
0x13, 0x37, 0x72, 0x95, 0xdc, 0xd9, 0xe9, 0x4a, 0x7a, 0xbd, 0xd1, 0xee, 0x60, 0x06, 0xa5, 0xdd,
0x18, 0xbe, 0xc5, 0xbb, 0x99, 0x66, 0xeb, 0x79, 0x6e, 0x37, 0xd5, 0x4e, 0x23, 0xea, 0x46, 0x34,
0xf0, 0xb4, 0xe1, 0x5b, 0xf4, 0x43, 0xfd, 0x95, 0x04, 0x14, 0x62, 0x83, 0x41, 0x2f, 0x02, 0x04,
0xde, 0xd0, 0x0f, 0x34, 0xcf, 0x75, 0x03, 0xb6, 0x26, 0x45, 0x9c, 0x67, 0x10, 0xec, 0xba, 0x01,
0x5a, 0x83, 0x79, 0x83, 0x78, 0x81, 0x66, 0xf9, 0xfe, 0x90, 0x78, 0x9a, 0x3f, 0xdc, 0xf9, 0x88,
0x18, 0x01, 0x5b, 0x9f, 0x22, 0xbe, 0x42, 0x51, 0x0d, 0x86, 0xe9, 0x70, 0x04, 0x7a, 0x13, 0x16,
0xe3, 0xf4, 0x83, 0xe1, 0x8e, 0x6d, 0x19, 0x1a, 0xdd, 0x33, 0x29, 0xc6, 0x32, 0x1f, 0xb1, 0xb4,
0x19, 0xee, 0x01, 0x39, 0x52, 0xbf, 0x2b, 0xc6, 0x24, 0x06, 0x8b, 0x56, 0xa0, 0xc0, 0xf7, 0x9f,
0x16, 0xdb, 0x28, 0xc0, 0x41, 0xf4, 0xce, 0x40, 0x2f, 0xc3, 0xb4, 0xe3, 0x9a, 0x44, 0xb3, 0x4c,
0x71, 0x7c, 0xe1, 0xec, 0x74, 0x25, 0x4b, 0x45, 0x34, 0x6a, 0x38, 0x4b, 0x51, 0x0d, 0x13, 0xdd,
0x82, 0x85, 0xbe, 0xfe, 0x58, 0x3b, 0x70, 0xed, 0x61, 0x9f, 0xf8, 0xda, 0x80, 0x78, 0x1a, 0xc5,
0xb0, 0x81, 0xa4, 0xf0, 0x95, 0xbe, 0xfe, 0xf8, 0x21, 0x47, 0xb5, 0x89, 0x47, 0x59, 0xd1, 0x16,
0xcc, 0xeb, 0x86, 0x41, 0x7c, 0xdf, 0xda, 0xb1, 0x89, 0x16, 0xb8, 0x03, 0xd7, 0x76, 0x7b, 0x47,
0x62, 0x5b, 0x4c, 0xdc, 0x8b, 0x5d, 0x41, 0x83, 0x51, 0xc4, 0x28, 0x61, 0xea, 0xf7, 0x12, 0xa0,
0x60, 0x7d, 0x37, 0xd8, 0x22, 0xfd, 0x1d, 0xe2, 0x75, 0x02, 0x3d, 0x18, 0xfa, 0x68, 0x11, 0xb2,
0x36, 0xd1, 0x4d, 0xe2, 0xb1, 0x59, 0xe5, 0xb0, 0x68, 0xa1, 0x6d, 0x6a, 0x84, 0x75, 0x63, 0x4f,
0xdf, 0xb1, 0x6c, 0x2b, 0x38, 0x62, 0xd3, 0x9a, 0x9d, 0x7c, 0xfe, 0xc7, 0x65, 0xae, 0xe1, 0x18,
0x23, 0x1e, 0x11, 0x83, 0x96, 0x60, 0xba, 0x4f, 0x7c, 0x5f, 0xef, 0xf1, 0x69, 0xe7, 0xb1, 0x6c,
0xaa, 0xef, 0x41, 0x31, 0xce, 0x87, 0x0a, 0x30, 0xbd, 0xdd, 0x7c, 0xd0, 0x6c, 0x3d, 0x6a, 0x2a,
0x53, 0x68, 0x0e, 0x0a, 0xdb, 0x4d, 0x5c, 0x2f, 0x57, 0x37, 0xca, 0x95, 0xcd, 0xba, 0x92, 0x40,
0x33, 0x90, 0x8f, 0x9a, 0x49, 0xf5, 0x0f, 0x13, 0x00, 0x54, 0x65, 0x62, 0x52, 0xef, 0x42, 0xc6,
0x0f, 0xf4, 0x80, 0xaf, 0xd4, 0xec, 0x9d, 0x57, 0xce, 0xdb, 0x99, 0x62, 0xbc, 0xf4, 0x1f, 0xc1,
0x9c, 0x25, 0x3e, 0xc2, 0xe4, 0xc8, 0x08, 0xa9, 0x75, 0xd5, 0x4d, 0xd3, 0x13, 0x03, 0x67, 0xdf,
0xea, 0x7b, 0x90, 0x61, 0xdc, 0xa3, 0xc3, 0xcd, 0x41, 0xba, 0x46, 0xbf, 0x12, 0x28, 0x0f, 0x19,
0x5c, 0x2f, 0xd7, 0x3e, 0x54, 0x92, 0x48, 0x81, 0x62, 0xad, 0xd1, 0xa9, 0xb6, 0x9a, 0xcd, 0x7a,
0xb5, 0x5b, 0xaf, 0x29, 0x29, 0xf5, 0x3a, 0x64, 0x1a, 0x7d, 0x2a, 0xf9, 0x1a, 0xb5, 0x17, 0xbb,
0xc4, 0x23, 0x8e, 0x21, 0x77, 0x57, 0x04, 0x50, 0xff, 0x75, 0x16, 0x32, 0x5b, 0xee, 0xd0, 0x09,
0xd0, 0x9d, 0x98, 0xcd, 0x9f, 0x9d, 0xec, 0xe4, 0x31, 0xc2, 0xb5, 0xee, 0xd1, 0x80, 0x88, 0x3b,
0x61, 0x11, 0xb2, 0xdc, 0xb2, 0x88, 0xe9, 0x88, 0x16, 0x85, 0x07, 0xba, 0xd7, 0x23, 0x81, 0x98,
0x8f, 0x68, 0xa1, 0x1b, 0xd4, 0xe9, 0xd0, 0x4d, 0xd7, 0xb1, 0xf9, 0x4e, 0xcb, 0x71, 0xcf, 0x02,
0x13, 0xdd, 0x6c, 0x39, 0xf6, 0x11, 0x0e, 0xb1, 0xe8, 0x3e, 0x14, 0x0c, 0xd7, 0xf1, 0x2d, 0x3f,
0x20, 0x8e, 0x71, 0xb4, 0x94, 0x63, 0x83, 0xba, 0x7e, 0xfe, 0xa0, 0xaa, 0x11, 0x31, 0x8e, 0x73,
0xa2, 0x0d, 0x28, 0xee, 0x58, 0x8e, 0xa9, 0xb9, 0x03, 0x7e, 0xe1, 0x67, 0xce, 0xb7, 0x7b, 0x5c,
0x52, 0xc5, 0x72, 0xcc, 0x16, 0x27, 0xc6, 0x85, 0x9d, 0xa8, 0x81, 0x9a, 0x30, 0xcb, 0x8f, 0x57,
0x28, 0x2b, 0xcb, 0x64, 0xbd, 0x7a, 0xbe, 0x2c, 0x7e, 0xe6, 0xa4, 0xb4, 0x99, 0x83, 0x78, 0x13,
0x3d, 0x80, 0x99, 0xa0, 0x3f, 0xd8, 0xf5, 0x43, 0x71, 0xd3, 0x4c, 0xdc, 0x67, 0x2e, 0xd0, 0x3c,
0x25, 0x97, 0xd2, 0x8a, 0x41, 0xac, 0x55, 0xfa, 0xcd, 0x0c, 0x14, 0x62, 0x23, 0x47, 0x1d, 0x28,
0x0c, 0x3c, 0x77, 0xa0, 0xf7, 0x98, 0xd3, 0x22, 0x16, 0xf5, 0x8d, 0xa7, 0x9a, 0xf5, 0x5a, 0x3b,
0x62, 0xc4, 0x71, 0x29, 0xe8, 0x2d, 0x28, 0x3a, 0xae, 0xe3, 0x11, 0x63, 0xe8, 0xf9, 0xd6, 0x01,
0x5f, 0xf4, 0x5c, 0x45, 0x39, 0x3b, 0x5d, 0x29, 0x36, 0x5d, 0x07, 0x4b, 0x38, 0x1e, 0xa1, 0x42,
0xf7, 0x40, 0x31, 0x3c, 0xa2, 0x07, 0xa4, 0x4f, 0x7b, 0x1a, 0xb8, 0x96, 0xc3, 0xb7, 0x45, 0xae,
0xb2, 0x70, 0x76, 0xba, 0xa2, 0x54, 0x19, 0x6e, 0x2b, 0xc4, 0xe1, 0x27, 0xa8, 0xd1, 0x26, 0x2c,
0xc8, 0x8d, 0x31, 0xd2, 0x3f, 0xdf, 0x42, 0x4b, 0x67, 0xa7, 0x2b, 0x0b, 0x72, 0x0b, 0x8d, 0x8c,
0x63, 0x22, 0x17, 0xc2, 0xb0, 0x28, 0xe1, 0xbb, 0xae, 0x67, 0x90, 0x48, 0x5e, 0x86, 0xc9, 0x2b,
0x9d, 0x9d, 0xae, 0x2c, 0x4a, 0x79, 0xeb, 0x2e, 0x73, 0x3c, 0xa5, 0xc4, 0x73, 0x38, 0xd5, 0x93,
0x24, 0x14, 0x62, 0x6a, 0x43, 0x37, 0x21, 0x87, 0xdb, 0xb8, 0xf1, 0xb0, 0xdc, 0xad, 0x2b, 0x53,
0xa5, 0x6b, 0xc7, 0x27, 0xab, 0x4b, 0x6c, 0x86, 0x71, 0xd5, 0xb6, 0x3d, 0xeb, 0x80, 0x9e, 0xee,
0x1b, 0x30, 0x2d, 0x49, 0x13, 0xa5, 0x17, 0x8e, 0x4f, 0x56, 0x9f, 0x1f, 0x27, 0x8d, 0x51, 0xe2,
0xce, 0x46, 0x19, 0xd7, 0x6b, 0x4a, 0x72, 0x32, 0x25, 0xee, 0xec, 0xe9, 0x1e, 0x31, 0xd1, 0x67,
0x20, 0x2b, 0x08, 0x53, 0xa5, 0xd2, 0xf1, 0xc9, 0xea, 0xe2, 0x38, 0x61, 0x44, 0x87, 0x3b, 0x9b,
0xe5, 0x87, 0x75, 0x25, 0x3d, 0x99, 0x0e, 0x77, 0x6c, 0xfd, 0x80, 0xa0, 0x57, 0x20, 0xc3, 0xc9,
0x32, 0xa5, 0xab, 0xc7, 0x27, 0xab, 0xcf, 0x3d, 0x21, 0x8e, 0x52, 0x95, 0x96, 0x7e, 0xe1, 0x77,
0x97, 0xa7, 0xfe, 0xf4, 0x9b, 0xcb, 0xca, 0x38, 0xba, 0xf4, 0x3f, 0x09, 0x98, 0x19, 0x39, 0x0c,
0x48, 0x85, 0xac, 0xe3, 0x1a, 0xee, 0x80, 0xfb, 0x57, 0x39, 0x79, 0xa9, 0x55, 0xdd, 0xc1, 0x11,
0x16, 0x18, 0xf4, 0x60, 0xcc, 0x43, 0x7c, 0xf3, 0x29, 0x4f, 0xda, 0x44, 0x1f, 0xf1, 0x03, 0x98,
0x31, 0x3d, 0xeb, 0x80, 0x78, 0x9a, 0xe1, 0x3a, 0xbb, 0x56, 0x4f, 0xf8, 0x4e, 0xa5, 0x89, 0xc1,
0x14, 0x23, 0xc4, 0x45, 0xce, 0x50, 0x65, 0xf4, 0x9f, 0xc2, 0x3b, 0x2c, 0x0d, 0xa0, 0x18, 0x3f,
0xbb, 0xd4, 0x0f, 0xf1, 0xad, 0x9f, 0x22, 0x22, 0x84, 0x60, 0x31, 0x16, 0xce, 0x53, 0x08, 0x8f,
0x12, 0x5e, 0x85, 0x74, 0x9f, 0x5e, 0xde, 0x54, 0xce, 0x4c, 0x65, 0x9e, 0x3a, 0xa9, 0xdf, 0x3f,
0x5d, 0x29, 0xb8, 0xfe, 0xda, 0xba, 0x65, 0x93, 0x2d, 0xd7, 0x24, 0x98, 0x11, 0xd0, 0xfb, 0x44,
0x1a, 0x0f, 0x71, 0xe3, 0x89, 0xa6, 0xfa, 0x67, 0x09, 0x48, 0x53, 0x43, 0x8d, 0x5e, 0x80, 0x74,
0xa5, 0xd1, 0xac, 0x29, 0x53, 0xa5, 0x2b, 0xc7, 0x27, 0xab, 0x33, 0x4c, 0x5b, 0x14, 0x41, 0x0f,
0x3c, 0x5a, 0x81, 0xec, 0xc3, 0xd6, 0xe6, 0xf6, 0x16, 0xdd, 0x79, 0xf3, 0xc7, 0x27, 0xab, 0x73,
0x21, 0x9a, 0xeb, 0x13, 0xbd, 0x08, 0x99, 0xee, 0x56, 0x7b, 0xbd, 0xa3, 0x24, 0x4b, 0xe8, 0xf8,
0x64, 0x75, 0x36, 0xc4, 0xb3, 0xe9, 0xa0, 0x97, 0x20, 0xd3, 0x6c, 0x37, 0xda, 0x75, 0x25, 0x55,
0x5a, 0x3c, 0x3e, 0x59, 0x45, 0x21, 0x9a, 0x05, 0xbb, 0x6d, 0x6b, 0x40, 0xd0, 0x4b, 0x30, 0x5d,
0xdd, 0xdc, 0xee, 0x74, 0xeb, 0x58, 0x49, 0x97, 0x16, 0x8e, 0x4f, 0x56, 0x95, 0x90, 0xa8, 0x6a,
0x0f, 0xfd, 0x80, 0x78, 0xa5, 0x2b, 0x62, 0xdb, 0xe4, 0x43, 0x8c, 0xfa, 0x9d, 0x04, 0x14, 0x62,
0x26, 0x9d, 0xee, 0xfc, 0x5a, 0x7d, 0xbd, 0xbc, 0xbd, 0xd9, 0x55, 0xa6, 0x62, 0x3b, 0x3f, 0x46,
0x52, 0x23, 0xbb, 0xfa, 0xd0, 0xa6, 0x57, 0x0c, 0x54, 0x5b, 0xcd, 0x4e, 0xa3, 0xd3, 0xad, 0x37,
0xbb, 0x4a, 0xa2, 0xb4, 0x74, 0x7c, 0xb2, 0xba, 0x30, 0x4e, 0xbc, 0x3e, 0xb4, 0x6d, 0xba, 0xf7,
0xab, 0xe5, 0xea, 0x06, 0x3b, 0x4c, 0xd1, 0xde, 0x8f, 0x51, 0x55, 0x75, 0x63, 0x8f, 0x98, 0xe8,
0x75, 0xc8, 0xd7, 0xea, 0x9b, 0xf5, 0xfb, 0x65, 0x76, 0xb1, 0x96, 0x5e, 0x3c, 0x3e, 0x59, 0xbd,
0xfa, 0x64, 0xef, 0x36, 0xe9, 0xe9, 0x01, 0x31, 0xc7, 0xce, 0x40, 0x8c, 0x44, 0xfd, 0xcf, 0x24,
0xcc, 0x60, 0xe2, 0x07, 0xba, 0x17, 0xb4, 0x5d, 0xdb, 0x32, 0x8e, 0x50, 0x1b, 0xf2, 0x86, 0xeb,
0x98, 0x56, 0xcc, 0x44, 0xdf, 0x39, 0xc7, 0x95, 0x8f, 0xb8, 0x64, 0xab, 0x2a, 0x39, 0x71, 0x24,
0x04, 0xdd, 0x82, 0x8c, 0x49, 0x6c, 0xfd, 0x48, 0xc4, 0x14, 0x57, 0x9f, 0x88, 0x29, 0x6b, 0x22,
0x9d, 0x85, 0x39, 0x1d, 0x8b, 0xe0, 0xf5, 0xc7, 0x9a, 0x1e, 0x04, 0xa4, 0x3f, 0x08, 0xf8, 0x36,
0x4a, 0xe3, 0x42, 0x5f, 0x7f, 0x5c, 0x16, 0x20, 0xf4, 0x06, 0x64, 0x0f, 0x2d, 0xc7, 0x74, 0x0f,
0x85, 0x73, 0x78, 0x81, 0x50, 0x41, 0xa8, 0x1e, 0x53, 0x6f, 0x70, 0x6c, 0x98, 0x74, 0x27, 0x36,
0x5b, 0xcd, 0xba, 0xdc, 0x89, 0x02, 0xdf, 0x72, 0x9a, 0xae, 0x43, 0x0d, 0x0c, 0xb4, 0x9a, 0xda,
0x7a, 0xb9, 0xb1, 0xb9, 0x8d, 0xe9, 0x6e, 0x64, 0x3b, 0x25, 0x24, 0x59, 0xd7, 0x2d, 0x9b, 0x06,
0xb1, 0x57, 0x21, 0x55, 0x6e, 0x7e, 0xa8, 0x24, 0x4b, 0xca, 0xf1, 0xc9, 0x6a, 0x31, 0x44, 0x97,
0x9d, 0xa3, 0x48, 0xef, 0xe3, 0xfd, 0xaa, 0x7f, 0x9d, 0x82, 0xe2, 0xf6, 0xc0, 0xd4, 0x03, 0xc2,
0x0f, 0x32, 0x5a, 0x85, 0xc2, 0x40, 0xf7, 0x74, 0xdb, 0x26, 0xb6, 0xe5, 0xf7, 0x45, 0x22, 0x2e,
0x0e, 0x42, 0xef, 0x3c, 0xad, 0x1a, 0x2b, 0x39, 0x7a, 0x38, 0xbf, 0xf1, 0x4f, 0x2b, 0x09, 0xa9,
0xd0, 0x6d, 0x98, 0xdd, 0xe5, 0xa3, 0xd5, 0x74, 0x83, 0x2d, 0x6c, 0x8a, 0x2d, 0xec, 0xda, 0xa4,
0x85, 0x8d, 0x0f, 0x6b, 0x4d, 0x4c, 0xb2, 0xcc, 0xb8, 0xf0, 0xcc, 0x6e, 0xbc, 0x89, 0xde, 0x84,
0xe9, 0xbe, 0xeb, 0x58, 0x81, 0xeb, 0x5d, 0xbe, 0x0a, 0x92, 0x12, 0xdd, 0x04, 0xea, 0xf8, 0x6b,
0x72, 0x3c, 0x0c, 0xcd, 0x2e, 0xb9, 0x24, 0x9e, 0xeb, 0xeb, 0x8f, 0x45, 0x87, 0x98, 0x82, 0x51,
0x05, 0x32, 0xae, 0x47, 0x5d, 0xf5, 0x2c, 0x1b, 0xee, 0xeb, 0x97, 0x0e, 0x97, 0x37, 0x5a, 0x94,
0x07, 0x73, 0x56, 0xf5, 0x6d, 0x98, 0x19, 0x99, 0x04, 0xf5, 0x50, 0xdb, 0xe5, 0xed, 0x4e, 0x5d,
0x99, 0x42, 0x45, 0xc8, 0x55, 0x5b, 0xcd, 0x6e, 0xa3, 0xb9, 0x4d, 0x5d, 0xec, 0x22, 0xe4, 0x70,
0x6b, 0x73, 0xb3, 0x52, 0xae, 0x3e, 0x50, 0x92, 0xea, 0x1a, 0x14, 0x62, 0xd2, 0xd0, 0x2c, 0x40,
0xa7, 0xdb, 0x6a, 0x6b, 0xeb, 0x0d, 0xdc, 0xe9, 0x72, 0x07, 0xbd, 0xd3, 0x2d, 0xe3, 0xae, 0x00,
0x24, 0xd4, 0x7f, 0x4f, 0xca, 0x15, 0x15, 0x3e, 0x79, 0x65, 0xd4, 0x27, 0xbf, 0x60, 0xf0, 0xc2,
0x2b, 0x8f, 0x1a, 0xa1, 0x6f, 0xfe, 0x0e, 0x00, 0xdb, 0x38, 0xc4, 0xd4, 0xf4, 0x40, 0x2c, 0x7c,
0xe9, 0x09, 0x25, 0x77, 0x65, 0xbe, 0x18, 0xe7, 0x05, 0x75, 0x39, 0x40, 0xef, 0x43, 0xd1, 0x70,
0xfb, 0x03, 0x9b, 0x08, 0xe6, 0xd4, 0xa5, 0xcc, 0x85, 0x90, 0xbe, 0x1c, 0xc4, 0xa3, 0x82, 0xf4,
0x68, 0xdc, 0xf2, 0x73, 0x09, 0xa9, 0x99, 0x09, 0x81, 0x40, 0x11, 0x72, 0xdb, 0xed, 0x5a, 0xb9,
0xdb, 0x68, 0xde, 0x57, 0x12, 0x08, 0x20, 0xcb, 0x54, 0x5d, 0x53, 0x92, 0x34, 0x80, 0xa9, 0xb6,
0xb6, 0xda, 0x9b, 0x75, 0x66, 0xb1, 0xd0, 0x02, 0x28, 0x52, 0xd9, 0x1a, 0x53, 0x64, 0xbd, 0xa6,
0xa4, 0xd1, 0x3c, 0xcc, 0x85, 0x50, 0xc1, 0x99, 0x41, 0x8b, 0x80, 0x42, 0x60, 0x24, 0x22, 0xab,
0xfe, 0x0c, 0xcc, 0x55, 0x5d, 0x27, 0xd0, 0x2d, 0x27, 0x0c, 0xee, 0xee, 0xd0, 0x49, 0x0b, 0x10,
0x8d, 0x4d, 0xd9, 0x45, 0x58, 0x99, 0x3b, 0x3b, 0x5d, 0x29, 0x84, 0xa4, 0x8d, 0x1a, 0x73, 0xc6,
0x45, 0xc3, 0xa4, 0xe7, 0x77, 0x20, 0xc2, 0xd8, 0x4c, 0x65, 0xfa, 0xec, 0x74, 0x25, 0xd5, 0x6e,
0xd4, 0x30, 0x85, 0xa1, 0x17, 0x20, 0x4f, 0x1e, 0x5b, 0x81, 0x66, 0xc8, 0xa8, 0x35, 0x83, 0x73,
0x14, 0x50, 0x75, 0x4d, 0xa2, 0x56, 0x00, 0xda, 0xae, 0x17, 0x88, 0x9e, 0xdf, 0x82, 0xcc, 0xc0,
0xf5, 0x58, 0xe6, 0xef, 0xdc, 0x7c, 0x34, 0x25, 0xe7, 0x1b, 0x15, 0x73, 0x62, 0xf5, 0xd7, 0x53,
0x00, 0x5d, 0xdd, 0xdf, 0x17, 0x42, 0xee, 0x42, 0x3e, 0xcc, 0xfd, 0x8b, 0x14, 0xe2, 0x85, 0xab,
0x1d, 0x12, 0xa3, 0x37, 0xe5, 0x66, 0xe3, 0x61, 0xeb, 0xc4, 0xe4, 0x8b, 0xec, 0x68, 0x52, 0xe4,
0x37, 0x1a, 0x9b, 0x52, 0x3f, 0x82, 0x78, 0x9e, 0x58, 0x79, 0xfa, 0x89, 0xaa, 0xec, 0x5a, 0xe0,
0x4a, 0x13, 0xf1, 0xca, 0xc4, 0xa4, 0xe9, 0xd8, 0x8a, 0x6c, 0x4c, 0xe1, 0x88, 0x0f, 0x7d, 0x00,
0x05, 0x3a, 0x6f, 0xcd, 0x67, 0x38, 0x11, 0xaa, 0x9c, 0xab, 0x2a, 0x2e, 0x01, 0xc3, 0x20, 0xd2,
0xf2, 0x8b, 0x00, 0xfa, 0x60, 0x60, 0x5b, 0xc4, 0xd4, 0x76, 0x8e, 0x58, 0x6c, 0x92, 0xc7, 0x79,
0x01, 0xa9, 0x1c, 0xd1, 0xe3, 0x22, 0xd1, 0x7a, 0xc0, 0xe2, 0xb3, 0x4b, 0x14, 0x28, 0xa8, 0xcb,
0x41, 0x45, 0x81, 0x59, 0x6f, 0xe8, 0x50, 0x85, 0x8a, 0xd1, 0xa9, 0x7f, 0x90, 0x84, 0xe7, 0x9b,
0x24, 0x38, 0x74, 0xbd, 0xfd, 0x72, 0x10, 0xe8, 0xc6, 0x5e, 0x9f, 0x38, 0x62, 0xf9, 0x62, 0xb1,
0x64, 0x62, 0x24, 0x96, 0x5c, 0x82, 0x69, 0xdd, 0xb6, 0x74, 0x9f, 0x70, 0xef, 0x30, 0x8f, 0x65,
0x93, 0x46, 0xbc, 0x34, 0x7e, 0x26, 0xbe, 0x4f, 0x78, 0x3e, 0x90, 0x0e, 0x5c, 0x02, 0xd0, 0xd7,
0x60, 0x51, 0xf8, 0x81, 0x7a, 0xd8, 0x15, 0x0d, 0xc1, 0xe4, 0xf3, 0x46, 0x7d, 0x62, 0x40, 0x3f,
0x79, 0x70, 0xc2, 0x51, 0x8c, 0xc0, 0xad, 0x41, 0x20, 0xdc, 0xce, 0x05, 0x73, 0x02, 0xaa, 0x74,
0x1f, 0xae, 0x9e, 0xcb, 0xf2, 0x4c, 0xf9, 0xc6, 0xef, 0x26, 0x01, 0x1a, 0xed, 0xf2, 0x96, 0x50,
0x52, 0x0d, 0xb2, 0xbb, 0x7a, 0xdf, 0xb2, 0x8f, 0x2e, 0xb2, 0x80, 0x11, 0xfd, 0x5a, 0x99, 0xab,
0x63, 0x9d, 0xf1, 0x60, 0xc1, 0xcb, 0xc2, 0xf9, 0xe1, 0x8e, 0x43, 0x82, 0x30, 0x9c, 0x67, 0x2d,
0x3a, 0x0c, 0x4f, 0x77, 0xc2, 0xad, 0xcb, 0x1b, 0x74, 0x01, 0xa8, 0xcb, 0x73, 0xa8, 0x1f, 0x49,
0xb3, 0x25, 0x9a, 0x68, 0x83, 0xbd, 0x2d, 0x10, 0xef, 0x80, 0x98, 0x4b, 0x19, 0xa6, 0xd4, 0xcb,
0xc6, 0x83, 0x05, 0x39, 0xd7, 0x5d, 0xc8, 0x5d, 0x7a, 0x8f, 0xb9, 0x4c, 0x11, 0xea, 0x99, 0x74,
0x74, 0x1b, 0x66, 0x46, 0xe6, 0xf9, 0x44, 0x1e, 0xa5, 0xd1, 0x7e, 0xf8, 0x96, 0x92, 0x16, 0x5f,
0x6f, 0x2b, 0x59, 0xf5, 0x2f, 0x53, 0xdc, 0xd0, 0x08, 0xad, 0x4e, 0x7e, 0x53, 0xcb, 0xb1, 0xdd,
0x6d, 0xb8, 0xb6, 0x30, 0x00, 0xaf, 0x5e, 0x6c, 0x7f, 0x68, 0x38, 0xcd, 0xc8, 0x71, 0xc8, 0x88,
0x56, 0xa0, 0xc0, 0x77, 0xb1, 0x46, 0x0f, 0x1c, 0x53, 0xeb, 0x0c, 0x06, 0x0e, 0xa2, 0x9c, 0xe8,
0x3a, 0xcc, 0xb2, 0x6c, 0xa2, 0xbf, 0x47, 0x4c, 0x4e, 0x93, 0x66, 0x34, 0x33, 0x21, 0x94, 0x91,
0x6d, 0x41, 0x51, 0x00, 0x34, 0x16, 0x30, 0x64, 0xd8, 0x80, 0x6e, 0x5e, 0x36, 0x20, 0xce, 0xc2,
0xe2, 0x88, 0xc2, 0x20, 0x6a, 0xa8, 0x3f, 0x01, 0x39, 0x39, 0x58, 0xb4, 0x04, 0xa9, 0x6e, 0xb5,
0xad, 0x4c, 0x95, 0xe6, 0x8e, 0x4f, 0x56, 0x0b, 0x12, 0xdc, 0xad, 0xb6, 0x29, 0x66, 0xbb, 0xd6,
0x56, 0x12, 0xa3, 0x98, 0xed, 0x5a, 0x1b, 0x95, 0x20, 0xdd, 0xa9, 0x76, 0xdb, 0xd2, 0x3f, 0x93,
0x28, 0x0a, 0x2b, 0xa5, 0xa9, 0x7f, 0xa6, 0xee, 0x42, 0x21, 0xd6, 0x3b, 0x7a, 0x19, 0xa6, 0x1b,
0xcd, 0xfb, 0xb8, 0xde, 0xe9, 0x28, 0x53, 0x3c, 0x82, 0x88, 0x61, 0x1b, 0x4e, 0x8f, 0xae, 0x1d,
0x7a, 0x11, 0xd2, 0x1b, 0x2d, 0x7a, 0xef, 0xf3, 0x10, 0x25, 0x46, 0xb1, 0xe1, 0xfa, 0x41, 0x69,
0x5e, 0x38, 0x7e, 0x71, 0xc1, 0xea, 0x6f, 0x24, 0x20, 0xcb, 0x0f, 0xda, 0xc4, 0x45, 0x2c, 0x47,
0x71, 0x13, 0x8f, 0x2c, 0x5f, 0x3d, 0x3f, 0x0a, 0x5c, 0x13, 0x41, 0x1b, 0xdf, 0x9a, 0x92, 0xaf,
0xf4, 0x2e, 0x14, 0xe3, 0x88, 0x67, 0xda, 0x98, 0x5f, 0x83, 0x02, 0xdd, 0xfb, 0x32, 0x1a, 0xbc,
0x03, 0x59, 0x6e, 0x2c, 0xc2, 0x7b, 0xe8, 0xfc, 0x90, 0x54, 0x50, 0xa2, 0xbb, 0x30, 0xcd, 0xc3,
0x58, 0xf9, 0xe2, 0xb1, 0x7c, 0xf1, 0x09, 0xc3, 0x92, 0x5c, 0xfd, 0x00, 0xd2, 0x6d, 0x42, 0xbc,
0x78, 0x5a, 0x39, 0x71, 0x6e, 0x5a, 0x59, 0xa6, 0x25, 0x93, 0xb1, 0xb4, 0x64, 0x17, 0x8a, 0x8f,
0x88, 0xd5, 0xdb, 0x0b, 0x88, 0xc9, 0x04, 0xbd, 0x0e, 0xe9, 0x01, 0x09, 0x07, 0xbf, 0x34, 0x71,
0xf3, 0x11, 0xe2, 0x61, 0x46, 0x45, 0x6d, 0xcc, 0x21, 0xe3, 0x16, 0x8f, 0x85, 0xa2, 0xa5, 0xfe,
0x4d, 0x12, 0x66, 0x1b, 0xbe, 0x3f, 0xd4, 0x1d, 0x43, 0x7a, 0x75, 0x5f, 0x1c, 0xf5, 0xea, 0x26,
0xbe, 0xaa, 0x8e, 0xb2, 0x8c, 0x66, 0x5b, 0xc5, 0xcd, 0x9a, 0x0c, 0x6f, 0x56, 0xf5, 0xdf, 0x12,
0x32, 0xa5, 0x7a, 0x3d, 0x66, 0x0a, 0x78, 0x8c, 0x18, 0x97, 0x44, 0xb6, 0x9d, 0x7d, 0xc7, 0x3d,
0x74, 0x68, 0x80, 0x8b, 0xeb, 0xcd, 0xfa, 0x23, 0x25, 0xc1, 0xb7, 0xe7, 0x08, 0x11, 0x26, 0x0e,
0x39, 0xa4, 0x92, 0xda, 0xf5, 0x66, 0x8d, 0x7a, 0x61, 0xc9, 0x09, 0x92, 0xda, 0xc4, 0x31, 0x2d,
0xa7, 0x87, 0x5e, 0x86, 0x6c, 0xa3, 0xd3, 0xd9, 0x66, 0x21, 0xe4, 0xf3, 0xc7, 0x27, 0xab, 0xf3,
0x23, 0x54, 0xec, 0x91, 0xc0, 0xa4, 0x44, 0x34, 0x04, 0xa2, 0xfe, 0xd9, 0x04, 0x22, 0xea, 0x5b,
0x73, 0x22, 0xdc, 0xea, 0x96, 0xbb, 0x75, 0x25, 0x33, 0x81, 0x08, 0xbb, 0xf4, 0xaf, 0x38, 0x6e,
0xff, 0x90, 0x04, 0xa5, 0x6c, 0x18, 0x64, 0x10, 0x50, 0xbc, 0x88, 0x3a, 0xbb, 0x90, 0x1b, 0xd0,
0x2f, 0x8b, 0x48, 0x0f, 0xea, 0xee, 0xc4, 0xba, 0x80, 0x31, 0xbe, 0x35, 0xec, 0xda, 0xa4, 0x6c,
0xf6, 0x2d, 0xdf, 0xb7, 0x5c, 0x87, 0xc3, 0x70, 0x28, 0xa9, 0xf4, 0x1f, 0x09, 0x98, 0x9f, 0x40,
0x81, 0x6e, 0x43, 0xda, 0x73, 0x6d, 0xb9, 0x86, 0xd7, 0xce, 0xcb, 0x96, 0x53, 0x56, 0xcc, 0x28,
0xd1, 0x32, 0x80, 0x3e, 0x0c, 0x5c, 0x9d, 0xf5, 0xcf, 0x73, 0x8c, 0x38, 0x06, 0x41, 0x8f, 0x20,
0xeb, 0x13, 0xc3, 0x23, 0xd2, 0xcf, 0xfe, 0xe0, 0x47, 0x1d, 0xfd, 0x5a, 0x87, 0x89, 0xc1, 0x42,
0x5c, 0x69, 0x0d, 0xb2, 0x1c, 0x42, 0xb7, 0xbd, 0xa9, 0x07, 0xba, 0x78, 0x21, 0x62, 0xdf, 0x74,
0x37, 0xe9, 0x76, 0x4f, 0xee, 0x26, 0xdd, 0xee, 0xa9, 0x7f, 0x91, 0x04, 0xa8, 0x3f, 0x0e, 0x88,
0xe7, 0xe8, 0x76, 0xb5, 0x8c, 0xea, 0xb1, 0x9b, 0x81, 0xcf, 0xf6, 0xb5, 0x89, 0xaf, 0x6b, 0x21,
0xc7, 0x5a, 0xb5, 0x3c, 0xe1, 0x6e, 0xb8, 0x0a, 0xa9, 0xa1, 0x27, 0x4a, 0x3d, 0xb8, 0x8f, 0xbc,
0x8d, 0x37, 0x31, 0x85, 0xa1, 0x7a, 0x3c, 0xdd, 0x73, 0x6e, 0x41, 0x47, 0xac, 0x83, 0x89, 0xa6,
0x8b, 0x9e, 0x7c, 0x43, 0xd7, 0x0c, 0x22, 0x6e, 0x95, 0x22, 0x3f, 0xf9, 0xd5, 0x72, 0x95, 0x78,
0x01, 0xce, 0x1a, 0x3a, 0xfd, 0xff, 0xa9, 0xec, 0xdb, 0xeb, 0x00, 0xd1, 0xd4, 0xd0, 0x32, 0x64,
0xaa, 0xeb, 0x9d, 0xce, 0xa6, 0x32, 0xc5, 0x0d, 0x78, 0x84, 0x62, 0x60, 0xf5, 0x4f, 0x92, 0x90,
0xab, 0x96, 0xc5, 0x95, 0x5b, 0x05, 0x85, 0x59, 0x25, 0xf6, 0xae, 0x46, 0x1e, 0x0f, 0x2c, 0xef,
0x48, 0x18, 0x96, 0x0b, 0x02, 0xde, 0x59, 0xca, 0x42, 0x47, 0x5d, 0x67, 0x0c, 0x08, 0x43, 0x91,
0x08, 0x25, 0x68, 0x86, 0x2e, 0x6d, 0xfc, 0xf2, 0xc5, 0xca, 0xe2, 0xa1, 0x4b, 0xd4, 0xf6, 0x71,
0x41, 0x0a, 0xa9, 0xea, 0x3e, 0x7a, 0x07, 0xe6, 0x7c, 0xab, 0xe7, 0x58, 0x4e, 0x4f, 0x93, 0xca,
0x63, 0x8f, 0x7c, 0x95, 0x2b, 0x67, 0xa7, 0x2b, 0x33, 0x1d, 0x8e, 0x12, 0x3a, 0x9c, 0x11, 0x94,
0x55, 0xa6, 0x4a, 0xf4, 0x36, 0xcc, 0xc6, 0x58, 0xa9, 0x16, 0xb9, 0xda, 0x59, 0xe2, 0x3c, 0xe4,
0x7c, 0x40, 0x8e, 0x70, 0x31, 0x64, 0x7c, 0x40, 0x58, 0x6e, 0x86, 0xa5, 0x99, 0x35, 0x8f, 0x9d,
0x69, 0x76, 0xbb, 0xa7, 0x71, 0x81, 0xc1, 0xf8, 0x31, 0x57, 0x1f, 0xc2, 0x7c, 0xcb, 0x33, 0xf6,
0x88, 0x1f, 0x70, 0x55, 0x08, 0x2d, 0x7e, 0x00, 0xd7, 0x02, 0xdd, 0xdf, 0xd7, 0xf6, 0x2c, 0x3f,
0x70, 0xbd, 0x23, 0xcd, 0x23, 0x01, 0x71, 0x28, 0x5e, 0x63, 0x65, 0x10, 0x22, 0xe3, 0x78, 0x95,
0xd2, 0x6c, 0x70, 0x12, 0x2c, 0x29, 0x36, 0x29, 0x81, 0xda, 0x80, 0x22, 0x0d, 0x61, 0x44, 0x52,
0x8d, 0xce, 0x1e, 0x6c, 0xb7, 0xa7, 0x3d, 0xf5, 0x35, 0x95, 0xb7, 0xdd, 0x1e, 0xff, 0x54, 0xbf,
0x0c, 0x4a, 0xcd, 0xf2, 0x07, 0x7a, 0x60, 0xec, 0xc9, 0x54, 0x2a, 0xaa, 0x81, 0xb2, 0x47, 0x74,
0x2f, 0xd8, 0x21, 0x7a, 0xa0, 0x0d, 0x88, 0x67, 0xb9, 0xe6, 0xe5, 0xab, 0x3c, 0x17, 0xb2, 0xb4,
0x19, 0x87, 0xfa, 0x5f, 0x09, 0x00, 0xac, 0xef, 0x4a, 0x6f, 0xed, 0xb3, 0x70, 0xc5, 0x77, 0xf4,
0x81, 0xbf, 0xe7, 0x06, 0x9a, 0xe5, 0x04, 0xc4, 0x3b, 0xd0, 0x6d, 0x91, 0xdc, 0x51, 0x24, 0xa2,
0x21, 0xe0, 0xe8, 0x75, 0x40, 0xfb, 0x84, 0x0c, 0x34, 0xd7, 0x36, 0x35, 0x89, 0xe4, 0xe5, 0x11,
0x69, 0xac, 0x50, 0x4c, 0xcb, 0x36, 0x3b, 0x12, 0x8e, 0x2a, 0xb0, 0x4c, 0xa7, 0x4f, 0x9c, 0xc0,
0xb3, 0x88, 0xaf, 0xed, 0xba, 0x9e, 0xe6, 0xdb, 0xee, 0xa1, 0xb6, 0xeb, 0xda, 0xb6, 0x7b, 0x48,
0x3c, 0x99, 0x37, 0x2b, 0xd9, 0x6e, 0xaf, 0xce, 0x89, 0xd6, 0x5d, 0xaf, 0x63, 0xbb, 0x87, 0xeb,
0x92, 0x82, 0xba, 0x74, 0xd1, 0x9c, 0x03, 0xcb, 0xd8, 0x97, 0x2e, 0x5d, 0x08, 0xed, 0x5a, 0xc6,
0x3e, 0x7a, 0x19, 0x66, 0x88, 0x4d, 0x58, 0xfa, 0x84, 0x53, 0x65, 0x18, 0x55, 0x51, 0x02, 0x29,
0x91, 0x7a, 0x0f, 0x94, 0xba, 0x63, 0x78, 0x47, 0x83, 0xd8, 0x9a, 0xbf, 0x0e, 0x88, 0x1a, 0x49,
0xcd, 0x76, 0x8d, 0x7d, 0xad, 0xaf, 0x3b, 0x7a, 0x8f, 0x8e, 0x8b, 0x3f, 0xbc, 0x2a, 0x14, 0xb3,
0xe9, 0x1a, 0xfb, 0x5b, 0x02, 0xae, 0xbe, 0x03, 0xd0, 0x19, 0x78, 0x44, 0x37, 0x5b, 0xd4, 0x9b,
0xa0, 0xaa, 0x63, 0x2d, 0xcd, 0x14, 0xaf, 0xfe, 0xae, 0x27, 0x8e, 0xba, 0xc2, 0x11, 0xb5, 0x10,
0xae, 0xfe, 0x7f, 0x98, 0x6f, 0xdb, 0xba, 0xc1, 0xea, 0x70, 0xda, 0xe1, 0x4b, 0x22, 0xba, 0x0b,
0x59, 0x4e, 0x2a, 0x56, 0x72, 0xe2, 0x71, 0x8b, 0xfa, 0xdc, 0x98, 0xc2, 0x82, 0xbe, 0x52, 0x04,
0x88, 0xe4, 0xa8, 0x7f, 0x9f, 0x80, 0x7c, 0x28, 0x1f, 0xad, 0xf2, 0x77, 0xc0, 0xc0, 0xd3, 0x2d,
0x47, 0x44, 0xfc, 0x79, 0x1c, 0x07, 0xa1, 0x06, 0x14, 0x06, 0x21, 0xf7, 0x85, 0xfe, 0xdc, 0x84,
0x51, 0xe3, 0x38, 0x2f, 0x7a, 0x17, 0xf2, 0xb2, 0xcc, 0x42, 0x5a, 0xd8, 0x8b, 0xab, 0x32, 0x22,
0x72, 0x99, 0x48, 0xf5, 0xc8, 0xc0, 0xb6, 0xa8, 0xcd, 0x49, 0x87, 0x89, 0x54, 0x2c, 0x40, 0xea,
0x17, 0x01, 0xbe, 0xe4, 0x5a, 0x4e, 0xd7, 0xdd, 0x27, 0x0e, 0x7b, 0x1c, 0xa7, 0x21, 0x25, 0x91,
0x8a, 0x16, 0x2d, 0x96, 0x29, 0xe0, 0xab, 0x14, 0xbe, 0x11, 0xf3, 0xa6, 0xfa, 0xe7, 0x49, 0xc8,
0x62, 0xd7, 0x0d, 0xaa, 0x65, 0xb4, 0x0a, 0x59, 0x61, 0x4a, 0xd8, 0x15, 0x55, 0xc9, 0x9f, 0x9d,
0xae, 0x64, 0xb8, 0x0d, 0xc9, 0x18, 0xcc, 0x78, 0xc4, 0x8c, 0x7c, 0xf2, 0x3c, 0x23, 0x8f, 0x6e,
0x43, 0x51, 0x10, 0x69, 0x7b, 0xba, 0xbf, 0xc7, 0xe3, 0xbb, 0xca, 0xec, 0xd9, 0xe9, 0x0a, 0x70,
0xca, 0x0d, 0xdd, 0xdf, 0xc3, 0xc0, 0xa9, 0xe9, 0x37, 0xaa, 0x43, 0xe1, 0x23, 0xd7, 0x72, 0xb4,
0x80, 0x4d, 0x42, 0xe4, 0x22, 0x27, 0x2e, 0x75, 0x34, 0x55, 0x51, 0x66, 0x03, 0x1f, 0x45, 0x93,
0xaf, 0xc3, 0x8c, 0xe7, 0xba, 0x01, 0xb7, 0x6c, 0x96, 0xeb, 0x88, 0x34, 0xc7, 0xea, 0xc4, 0xec,
0xb7, 0xeb, 0x06, 0x58, 0xd0, 0xe1, 0xa2, 0x17, 0x6b, 0xa1, 0xdb, 0xb0, 0x60, 0xeb, 0x7e, 0xa0,
0x31, 0x93, 0x68, 0x46, 0xd2, 0xb2, 0x4c, 0xf9, 0x88, 0xe2, 0xd8, 0x03, 0x9e, 0x29, 0x39, 0xd4,
0xbf, 0x4b, 0x40, 0x81, 0x4e, 0xc6, 0xda, 0xb5, 0x0c, 0xea, 0x07, 0x3e, 0xbb, 0x7b, 0x72, 0x15,
0x52, 0x86, 0xef, 0x09, 0xa5, 0xb2, 0xfb, 0xb9, 0xda, 0xc1, 0x98, 0xc2, 0xd0, 0x3d, 0xc8, 0x8a,
0x74, 0x0b, 0xf7, 0x4c, 0xd4, 0xcb, 0x3d, 0x56, 0xa1, 0x1b, 0xc1, 0xc7, 0xb6, 0x7b, 0x34, 0x3a,
0x7e, 0x4f, 0xe0, 0x38, 0x08, 0x2d, 0x42, 0xd2, 0xe0, 0xea, 0x12, 0x75, 0x5c, 0xd5, 0x26, 0x4e,
0x1a, 0x8e, 0xfa, 0x9d, 0x04, 0xcc, 0x44, 0x36, 0x81, 0xee, 0x80, 0x6b, 0x90, 0xf7, 0x87, 0x3b,
0xfe, 0x91, 0x1f, 0x90, 0xbe, 0x7c, 0xf8, 0x0f, 0x01, 0xa8, 0x01, 0x79, 0xdd, 0xee, 0xb9, 0x9e,
0x15, 0xec, 0xf5, 0x45, 0x20, 0x3b, 0xd9, 0x9b, 0x88, 0xcb, 0x5c, 0x2b, 0x4b, 0x16, 0x1c, 0x71,
0x4b, 0xd7, 0x80, 0xd7, 0xbc, 0x30, 0xd7, 0xe0, 0x25, 0x28, 0xda, 0x7a, 0x9f, 0xe5, 0x9f, 0x02,
0xab, 0x4f, 0xe4, 0x61, 0x10, 0xb0, 0xae, 0xd5, 0x27, 0xaa, 0x0a, 0xf9, 0x50, 0x18, 0x9a, 0x83,
0x42, 0xb9, 0xde, 0xd1, 0xde, 0xb8, 0x73, 0x57, 0xbb, 0x5f, 0xdd, 0x52, 0xa6, 0x84, 0xfb, 0xfa,
0x47, 0x09, 0x98, 0x11, 0x16, 0x4b, 0x84, 0x04, 0x2f, 0xc3, 0xb4, 0xa7, 0xef, 0x06, 0x32, 0x68,
0x49, 0xf3, 0x5d, 0x4d, 0x2f, 0x01, 0x1a, 0xb4, 0x50, 0xd4, 0xe4, 0xa0, 0x25, 0x56, 0x8a, 0x92,
0xba, 0xb0, 0x14, 0x25, 0xfd, 0x63, 0x29, 0x45, 0x51, 0x7f, 0x16, 0x60, 0xdd, 0xb2, 0x49, 0x97,
0xa7, 0xaa, 0x26, 0x85, 0xa0, 0xd4, 0xcd, 0x0b, 0x2b, 0x7a, 0xb8, 0x9b, 0xd7, 0xa8, 0x61, 0x0a,
0xa3, 0xa8, 0x9e, 0x65, 0x8a, 0xc3, 0xc8, 0x50, 0xf7, 0x29, 0xaa, 0x67, 0x99, 0xe1, 0xcb, 0x60,
0xfa, 0x92, 0x97, 0x41, 0x75, 0x0e, 0x66, 0x30, 0xcf, 0xb1, 0xf1, 0x31, 0xa8, 0x27, 0x09, 0x98,
0x13, 0xfe, 0x6e, 0x68, 0xb2, 0x5f, 0x83, 0x3c, 0x77, 0x7d, 0xa3, 0x20, 0x90, 0xd5, 0x63, 0x70,
0xba, 0x46, 0x0d, 0xe7, 0x38, 0xba, 0x61, 0xa2, 0x15, 0x28, 0x08, 0xd2, 0x58, 0x11, 0x20, 0x70,
0x10, 0xab, 0x52, 0x7a, 0x0b, 0xd2, 0xbb, 0x96, 0x4d, 0xc4, 0xce, 0x9f, 0x68, 0x11, 0x22, 0x8d,
0x6c, 0x4c, 0x61, 0x46, 0x5d, 0xc9, 0xc9, 0xe4, 0x9e, 0xfa, 0x8f, 0x09, 0x96, 0x62, 0xa6, 0xa1,
0x6a, 0x7c, 0x7c, 0x3c, 0x6a, 0x1d, 0x1b, 0x1f, 0xa7, 0xa3, 0xe3, 0xe3, 0x68, 0x3e, 0x3e, 0x41,
0x1a, 0x1f, 0x1f, 0x07, 0xfd, 0xe8, 0xe3, 0x43, 0xef, 0xc3, 0xb4, 0x48, 0x55, 0x0a, 0x53, 0xf7,
0xd2, 0xc4, 0x9d, 0x11, 0xd7, 0xf4, 0xc6, 0x14, 0x96, 0x3c, 0xb1, 0xe9, 0x6d, 0xc2, 0x62, 0xc5,
0xd6, 0x8d, 0x7d, 0xdb, 0xf2, 0x03, 0x62, 0xc6, 0x2d, 0xd0, 0x1d, 0xc8, 0x8e, 0xf8, 0xb9, 0x17,
0x25, 0x51, 0x05, 0xa5, 0xfa, 0x2f, 0x09, 0x28, 0x6e, 0x10, 0xdd, 0x0e, 0xf6, 0xa2, 0x4c, 0x55,
0x40, 0xfc, 0x40, 0xdc, 0x8f, 0xec, 0x1b, 0x7d, 0x1e, 0x72, 0xa1, 0x1b, 0x74, 0xe9, 0x73, 0x60,
0x48, 0x8a, 0xde, 0x84, 0x69, 0x3a, 0x76, 0x77, 0x24, 0xe3, 0xab, 0x8b, 0x5e, 0x9a, 0x04, 0x25,
0x48, 0x8a, 0xde, 0x84, 0x69, 0x3a, 0x76, 0x77, 0x28, 0xe3, 0xab, 0x8b, 0x5e, 0x9a, 0x04, 0x25,
0xbd, 0xb4, 0x3c, 0xc2, 0xfc, 0x1e, 0xa6, 0xa7, 0x0c, 0x96, 0x4d, 0xf4, 0x05, 0x28, 0xb2, 0x87,
0x12, 0xe9, 0xe6, 0x65, 0x2e, 0x93, 0x59, 0xe0, 0x6f, 0x9d, 0xdc, 0xc5, 0xfb, 0xc3, 0x24, 0xcc,
0x6f, 0xea, 0x87, 0xdb, 0x44, 0x98, 0x21, 0x62, 0x62, 0x62, 0xb8, 0x9e, 0x89, 0x3a, 0x71, 0xf3,
0x75, 0xc1, 0xd3, 0xe9, 0x24, 0xe6, 0xc9, 0x56, 0x4c, 0xc6, 0x7c, 0xc9, 0x58, 0xcc, 0x37, 0x0f,
0x19, 0xc7, 0x75, 0x0c, 0x22, 0x6c, 0x1b, 0x6f, 0xa8, 0x5f, 0x4f, 0xc4, 0x6d, 0x57, 0x39, 0x7c,
0xd6, 0x64, 0x49, 0xaf, 0x96, 0x1b, 0x84, 0xdd, 0xa1, 0x0f, 0xa1, 0xdc, 0x6d, 0xd4, 0x70, 0xa3,
0x57, 0x6d, 0x7f, 0x59, 0xeb, 0x56, 0x36, 0xba, 0x95, 0x3b, 0xb7, 0xb5, 0x4e, 0x7b, 0xe3, 0xa3,
0x37, 0xde, 0xbc, 0xfd, 0x79, 0x25, 0x51, 0x5e, 0x39, 0x3a, 0x5e, 0xb9, 0xd6, 0xaa, 0xd4, 0x36,
0xf8, 0x89, 0xdb, 0x76, 0x1f, 0x77, 0x75, 0xdb, 0xd7, 0xef, 0xdc, 0xee, 0xb8, 0xf6, 0x21, 0xa5,
0x41, 0x9f, 0x05, 0xb4, 0xd6, 0xc0, 0xad, 0x46, 0x4f, 0x93, 0x06, 0xb2, 0x56, 0xad, 0x29, 0x49,
0x1e, 0x49, 0xad, 0x11, 0xcf, 0x21, 0x41, 0xa5, 0xd1, 0x7d, 0xe3, 0xce, 0xdd, 0x5a, 0xb5, 0x46,
0xcf, 0x78, 0x31, 0x7e, 0x5b, 0xc6, 0x9d, 0x80, 0xc4, 0xb9, 0x4e, 0x40, 0xe4, 0x4b, 0x24, 0xcf,
0xf1, 0x25, 0xd6, 0x60, 0xde, 0xf0, 0x5c, 0xdf, 0xd7, 0x68, 0x78, 0x42, 0xcc, 0x33, 0x01, 0xd0,
0x73, 0xa7, 0x27, 0xcb, 0x57, 0x6a, 0x14, 0xdf, 0x65, 0x68, 0x21, 0xfe, 0x8a, 0x11, 0x03, 0xb1,
0x9e, 0xd4, 0x6f, 0xa5, 0xa8, 0xa7, 0x67, 0xed, 0x5b, 0x36, 0xe9, 0x13, 0x1f, 0x3d, 0x80, 0x59,
0xc3, 0x23, 0x26, 0x8d, 0x3b, 0x74, 0x3b, 0x5e, 0x5b, 0xfe, 0xb9, 0x89, 0x4e, 0x57, 0xc8, 0xb8,
0x5a, 0x0b, 0xb9, 0xba, 0x43, 0x62, 0xe0, 0x19, 0x63, 0xac, 0x8d, 0x1e, 0xc1, 0xac, 0x4f, 0x6c,
0xcb, 0x19, 0x3d, 0xd6, 0x0c, 0xd7, 0x09, 0xc8, 0x63, 0xf9, 0x9c, 0x77, 0x99, 0xdc, 0x6e, 0x63,
0x83, 0x72, 0xd5, 0x38, 0x53, 0x15, 0x9d, 0x9e, 0x2c, 0xcf, 0x8c, 0xc3, 0xf0, 0x8c, 0x90, 0x2c,
0xda, 0xe5, 0x5d, 0x98, 0x19, 0x1f, 0x0d, 0x9a, 0x17, 0x86, 0x86, 0xd9, 0xab, 0xd0, 0x90, 0x5c,
0x83, 0x9c, 0x47, 0xfa, 0x96, 0x1f, 0x78, 0x5c, 0xcd, 0x14, 0x13, 0x42, 0xd0, 0x22, 0x64, 0x63,
0x45, 0x29, 0x14, 0x27, 0xda, 0xd4, 0x82, 0xf0, 0x7a, 0xb3, 0xf2, 0xcf, 0xc2, 0x99, 0xb1, 0xd0,
0x43, 0x67, 0x5a, 0xbe, 0xbe, 0x2d, 0x3a, 0xcb, 0x61, 0xd9, 0xa4, 0x7b, 0x79, 0xe4, 0x87, 0x0e,
0x24, 0xfb, 0xa6, 0x30, 0xe6, 0xe9, 0x88, 0xea, 0x3b, 0xe6, 0xcb, 0xc8, 0x1a, 0xe8, 0x74, 0xac,
0x06, 0x7a, 0x1e, 0x32, 0x36, 0xd9, 0x27, 0x36, 0xf7, 0x31, 0x30, 0x6f, 0xb0, 0x3d, 0xff, 0x25,
0x77, 0x5b, 0x5c, 0xc3, 0x6b, 0x50, 0x7a, 0xe4, 0x6e, 0x6b, 0x56, 0x40, 0xbc, 0xa8, 0xf6, 0xaa,
0x70, 0xe7, 0x85, 0x49, 0xfa, 0x15, 0xa5, 0xd0, 0xc2, 0xd1, 0x29, 0x3e, 0x72, 0xb7, 0x9b, 0x92,
0x0d, 0x55, 0x60, 0x86, 0xf9, 0x6f, 0xe4, 0x31, 0x31, 0x46, 0x4c, 0xd0, 0xe5, 0xef, 0xae, 0x25,
0xca, 0xd1, 0x90, 0x0c, 0xea, 0x37, 0x33, 0xa0, 0xf0, 0x62, 0x95, 0x0a, 0xab, 0xd8, 0x64, 0x79,
0xe5, 0x0f, 0x21, 0xe3, 0x1b, 0x6e, 0x58, 0xe8, 0x37, 0x31, 0x21, 0x7e, 0x96, 0x69, 0xb5, 0x4b,
0x39, 0x30, 0x67, 0x44, 0x6b, 0x30, 0xed, 0xef, 0xea, 0x9e, 0xe5, 0xf4, 0x85, 0x73, 0xf4, 0xfa,
0xd3, 0xc9, 0xe0, 0x3c, 0x58, 0x32, 0xa3, 0x75, 0xc8, 0x6c, 0xd3, 0x88, 0x4c, 0xd8, 0xd2, 0xdb,
0x4f, 0x25, 0xa5, 0x4a, 0x39, 0x38, 0x74, 0x7d, 0x0a, 0x73, 0x01, 0x54, 0xd2, 0xc0, 0x1d, 0x39,
0x81, 0xb8, 0x88, 0x9e, 0x4e, 0x12, 0x2b, 0x42, 0x89, 0x24, 0x31, 0x01, 0xe5, 0x12, 0x14, 0x62,
0x3d, 0x94, 0xef, 0x41, 0x21, 0x46, 0x86, 0x9e, 0x87, 0xe9, 0x1d, 0x5f, 0x8b, 0x95, 0xc6, 0x67,
0x77, 0x7c, 0x56, 0x49, 0xb4, 0x0c, 0x05, 0xc6, 0xaf, 0xed, 0xd8, 0x7a, 0x5f, 0x3e, 0xba, 0x01,
0x03, 0xad, 0x51, 0x88, 0x6a, 0x40, 0x86, 0xe9, 0x10, 0xdd, 0x84, 0x42, 0xb7, 0xd9, 0xba, 0xb7,
0xd1, 0xd0, 0x5a, 0xed, 0x3a, 0xb5, 0x8c, 0xac, 0x66, 0x8c, 0xcb, 0x67, 0x14, 0x5d, 0xcb, 0xe9,
0xdb, 0x84, 0xd5, 0xe8, 0xde, 0x00, 0xd8, 0xdc, 0xda, 0xe8, 0x35, 0x39, 0xa9, 0xa8, 0xd7, 0x89,
0x91, 0x6e, 0x8e, 0xec, 0xc0, 0xa2, 0x94, 0xc2, 0x27, 0xfc, 0x83, 0x04, 0x4c, 0x0b, 0x2d, 0xa3,
0xe5, 0xd0, 0xf4, 0x3e, 0x77, 0x74, 0xbc, 0x72, 0x45, 0x70, 0x71, 0x24, 0xab, 0x2a, 0xb9, 0xc1,
0xaa, 0x5c, 0xeb, 0x5a, 0xbb, 0xb5, 0xf1, 0x91, 0x92, 0x18, 0x1b, 0x86, 0x58, 0x28, 0x51, 0x95,
0x89, 0x6e, 0x02, 0xb4, 0x5b, 0x0d, 0xed, 0x21, 0x6e, 0xf6, 0x1a, 0x58, 0x16, 0x04, 0x8d, 0x91,
0xb6, 0x1d, 0xf2, 0xd0, 0xa3, 0x3b, 0x1e, 0xbd, 0x08, 0xa9, 0xca, 0xc6, 0x86, 0x92, 0xe2, 0x45,
0x2a, 0x63, 0x44, 0x15, 0xdb, 0xe6, 0xe3, 0xac, 0x96, 0xa0, 0xc0, 0x4b, 0x88, 0x99, 0x2a, 0xd5,
0xbb, 0x50, 0x14, 0x84, 0x3c, 0xc3, 0xf8, 0x64, 0x3a, 0x6d, 0x21, 0x4c, 0x6b, 0xca, 0xc7, 0x37,
0xd6, 0x52, 0x7f, 0x2f, 0x05, 0x73, 0x9c, 0x55, 0x3c, 0x70, 0x44, 0xae, 0xf0, 0xe5, 0xf9, 0xfb,
0xda, 0xf8, 0x5b, 0xf5, 0xe7, 0xce, 0xdf, 0x34, 0x63, 0xc2, 0xc7, 0xf3, 0xe8, 0x26, 0xcc, 0xca,
0x57, 0x26, 0x69, 0x4f, 0x79, 0x70, 0xfc, 0xde, 0xd3, 0x8a, 0x13, 0x2d, 0x61, 0xb8, 0x78, 0x3a,
0x52, 0x3e, 0x70, 0xc5, 0xac, 0x99, 0x7c, 0x21, 0xcf, 0x8c, 0xbd, 0x90, 0x97, 0x2b, 0x30, 0x37,
0x41, 0xc0, 0x33, 0x65, 0x24, 0xbf, 0x2a, 0xf3, 0xfe, 0x73, 0x30, 0x2b, 0xb2, 0xf5, 0x5a, 0x67,
0xab, 0xba, 0xd1, 0xec, 0xae, 0x2b, 0x53, 0xa8, 0x04, 0x79, 0xd1, 0x68, 0xd4, 0x95, 0x04, 0x2a,
0xc3, 0x82, 0xa4, 0xa1, 0x9b, 0x52, 0xdb, 0x6a, 0x49, 0xd2, 0x24, 0x7a, 0x0e, 0xae, 0x48, 0x5c,
0x04, 0x4e, 0xa9, 0x7f, 0x9d, 0x04, 0xe0, 0x13, 0x67, 0xf5, 0xee, 0xd7, 0x61, 0xc6, 0xd0, 0x87,
0xba, 0x61, 0x05, 0x87, 0x63, 0x35, 0x7e, 0x25, 0x09, 0xe5, 0x75, 0x7e, 0x5f, 0x0e, 0xab, 0x6d,
0xa3, 0x7b, 0xea, 0xdc, 0x5f, 0x89, 0x44, 0xe2, 0xc5, 0xe7, 0x98, 0x36, 0x45, 0xdd, 0xad, 0x54,
0xe6, 0x6b, 0x90, 0x17, 0x92, 0xc3, 0x40, 0x82, 0x79, 0xce, 0x42, 0x48, 0x1d, 0xe7, 0x38, 0xba,
0x69, 0x9e, 0x5f, 0x24, 0x9f, 0xfa, 0x71, 0x8a, 0xe4, 0xcb, 0x1f, 0x02, 0x7a, 0x72, 0x78, 0xcf,
0xb4, 0x56, 0x0f, 0xa1, 0x54, 0x13, 0x6a, 0xc2, 0xec, 0xa1, 0xf9, 0x3a, 0xcc, 0x78, 0xfc, 0x67,
0x51, 0xe6, 0xb8, 0x36, 0x25, 0x94, 0x6b, 0x73, 0x19, 0x0a, 0x2c, 0xbb, 0x39, 0xf6, 0x3b, 0x2d,
0x60, 0x20, 0x46, 0xa0, 0xfe, 0x5d, 0x3a, 0xbc, 0x2a, 0x7c, 0xea, 0xc9, 0xb0, 0x04, 0xd3, 0x02,
0x24, 0xc3, 0x13, 0xc4, 0xe2, 0xe9, 0x66, 0x1d, 0x27, 0x2d, 0x73, 0x5c, 0x83, 0xc9, 0x0b, 0x35,
0x12, 0xe9, 0xe6, 0x65, 0x2e, 0x93, 0x59, 0xe0, 0x6f, 0x9d, 0xdc, 0xc5, 0xfb, 0xfd, 0x24, 0x2c,
0x6c, 0xe9, 0x47, 0x3b, 0x44, 0x98, 0x21, 0x62, 0x62, 0x62, 0xb8, 0x9e, 0x89, 0xda, 0x71, 0xf3,
0x75, 0xc1, 0xd3, 0xe9, 0x24, 0xe6, 0xc9, 0x56, 0x4c, 0xc6, 0x7c, 0xc9, 0x58, 0xcc, 0xb7, 0x00,
0x19, 0xc7, 0x75, 0x0c, 0x22, 0x6c, 0x1b, 0x6f, 0xa8, 0x5f, 0x4f, 0xc4, 0x6d, 0x57, 0x29, 0x7c,
0xd6, 0x64, 0x49, 0xaf, 0xa6, 0x1b, 0x84, 0xdd, 0xa1, 0x7b, 0x50, 0xea, 0xd4, 0xab, 0xb8, 0xde,
0xad, 0xb4, 0xbe, 0xac, 0x75, 0xca, 0x9b, 0x9d, 0xf2, 0x9d, 0xdb, 0x5a, 0xbb, 0xb5, 0xf9, 0xe1,
0x1b, 0x6f, 0xde, 0xfe, 0xbc, 0x92, 0x28, 0xad, 0x1e, 0x9f, 0xac, 0x5e, 0x6b, 0x96, 0xab, 0x9b,
0xfc, 0xc4, 0xed, 0xb8, 0x8f, 0x3b, 0xba, 0xed, 0xeb, 0x77, 0x6e, 0xb7, 0x5d, 0xfb, 0x88, 0xd2,
0xa0, 0xcf, 0x02, 0x5a, 0xaf, 0xe3, 0x66, 0xbd, 0xab, 0x49, 0x03, 0x59, 0xad, 0x54, 0x95, 0x24,
0x8f, 0xa4, 0xd6, 0x89, 0xe7, 0x90, 0xa0, 0x5c, 0xef, 0xbc, 0x71, 0xe7, 0x6e, 0xb5, 0x52, 0xa5,
0x67, 0xbc, 0x18, 0xbf, 0x2d, 0xe3, 0x4e, 0x40, 0xe2, 0x5c, 0x27, 0x20, 0xf2, 0x25, 0x92, 0xe7,
0xf8, 0x12, 0xeb, 0xb0, 0x60, 0x78, 0xae, 0xef, 0x6b, 0x34, 0x3c, 0x21, 0xe6, 0x58, 0x00, 0xf4,
0xdc, 0xd9, 0xe9, 0xca, 0x95, 0x2a, 0xc5, 0x77, 0x18, 0x5a, 0x88, 0xbf, 0x62, 0xc4, 0x40, 0xac,
0x27, 0xf5, 0x8f, 0x53, 0xd4, 0xd3, 0xb3, 0x0e, 0x2c, 0x9b, 0xf4, 0x88, 0x8f, 0x1e, 0xc2, 0x9c,
0xe1, 0x11, 0x93, 0xc6, 0x1d, 0xba, 0x1d, 0xaf, 0x9f, 0xff, 0xdc, 0x44, 0xa7, 0x2b, 0x64, 0x5c,
0xab, 0x86, 0x5c, 0x9d, 0x01, 0x31, 0xf0, 0xac, 0x31, 0xd2, 0x46, 0x1f, 0xc1, 0x9c, 0x4f, 0x6c,
0xcb, 0x19, 0x3e, 0xd6, 0x0c, 0xd7, 0x09, 0xc8, 0x63, 0xf9, 0x9c, 0x77, 0x99, 0xdc, 0x4e, 0x7d,
0x93, 0x72, 0x55, 0x39, 0x53, 0x05, 0x9d, 0x9d, 0xae, 0xcc, 0x8e, 0xc2, 0xf0, 0xac, 0x90, 0x2c,
0xda, 0xa5, 0x3d, 0x98, 0x1d, 0x1d, 0x0d, 0x5a, 0x10, 0x86, 0x86, 0xd9, 0xab, 0xd0, 0x90, 0x5c,
0x83, 0x9c, 0x47, 0x7a, 0x96, 0x1f, 0x78, 0x5c, 0xcd, 0x14, 0x13, 0x42, 0xd0, 0x12, 0x64, 0x63,
0x45, 0x29, 0x14, 0x27, 0xda, 0xd4, 0x82, 0xf0, 0x9a, 0xba, 0xd2, 0x4f, 0xc3, 0xd8, 0x58, 0xe8,
0xa1, 0x33, 0x2d, 0x5f, 0xdf, 0x11, 0x9d, 0xe5, 0xb0, 0x6c, 0xd2, 0xbd, 0x3c, 0xf4, 0x43, 0x07,
0x92, 0x7d, 0x53, 0x18, 0xf3, 0x74, 0x44, 0x85, 0x21, 0xf3, 0x65, 0x64, 0x9d, 0x77, 0x3a, 0x56,
0xe7, 0xbd, 0x00, 0x19, 0x9b, 0x1c, 0x10, 0x9b, 0xfb, 0x18, 0x98, 0x37, 0xd8, 0x9e, 0xff, 0x92,
0xbb, 0x23, 0xae, 0xe1, 0x75, 0x98, 0xf9, 0xc8, 0xdd, 0xd1, 0xac, 0x80, 0x78, 0x51, 0x7d, 0x59,
0xe1, 0xce, 0x0b, 0x93, 0xf4, 0x2b, 0xca, 0xbd, 0x85, 0xa3, 0x53, 0xfc, 0xc8, 0xdd, 0x69, 0x48,
0x36, 0x54, 0x86, 0x59, 0xe6, 0xbf, 0x91, 0xc7, 0xc4, 0x18, 0x32, 0x41, 0x97, 0xbf, 0xbb, 0xce,
0x50, 0x8e, 0xba, 0x64, 0x50, 0xbf, 0x99, 0x01, 0x85, 0x17, 0xab, 0x94, 0x59, 0x55, 0x2a, 0xcb,
0x2b, 0xdf, 0x83, 0x8c, 0x6f, 0xb8, 0x61, 0x31, 0xe3, 0xc4, 0x84, 0xf8, 0x38, 0xd3, 0x5a, 0x87,
0x72, 0x60, 0xce, 0x88, 0xd6, 0x61, 0xda, 0xdf, 0xd3, 0x3d, 0xcb, 0xe9, 0x09, 0xe7, 0xe8, 0xf5,
0xa7, 0x93, 0xc1, 0x79, 0xb0, 0x64, 0x46, 0x1b, 0x90, 0xd9, 0xa1, 0x11, 0x99, 0xb0, 0xa5, 0xb7,
0x9f, 0x4a, 0x4a, 0x85, 0x72, 0x70, 0xe8, 0xc6, 0x14, 0xe6, 0x02, 0xa8, 0x24, 0x56, 0x12, 0x27,
0x2e, 0xa2, 0xa7, 0x93, 0xc4, 0x8a, 0x50, 0x22, 0x49, 0x4c, 0x40, 0x69, 0x06, 0x0a, 0xb1, 0x1e,
0x4a, 0xf7, 0xa1, 0x10, 0x23, 0x43, 0xcf, 0xc3, 0xf4, 0xae, 0xaf, 0xc5, 0xca, 0xff, 0xb3, 0xbb,
0x3e, 0xab, 0x24, 0x5a, 0x81, 0x02, 0xe3, 0xd7, 0x76, 0x6d, 0xbd, 0x27, 0x1f, 0xdd, 0x80, 0x81,
0xd6, 0x29, 0x44, 0x35, 0x20, 0xc3, 0x74, 0x88, 0x6e, 0x42, 0xa1, 0xd3, 0x68, 0xde, 0xdf, 0xac,
0x6b, 0xcd, 0x56, 0x8d, 0x5a, 0x46, 0x56, 0x33, 0xc6, 0xe5, 0x33, 0x8a, 0x8e, 0xe5, 0xf4, 0x6c,
0xc2, 0xea, 0x90, 0x6f, 0x00, 0x6c, 0x6d, 0x6f, 0x76, 0x1b, 0x9c, 0x54, 0xd4, 0xeb, 0xc4, 0x48,
0xb7, 0x86, 0x76, 0x60, 0x51, 0x4a, 0xe1, 0x13, 0xfe, 0x5e, 0x02, 0xa6, 0x85, 0x96, 0xd1, 0x4a,
0x68, 0x7a, 0x9f, 0x3b, 0x3e, 0x59, 0xbd, 0x22, 0xb8, 0x38, 0x92, 0x55, 0x95, 0xdc, 0x60, 0x95,
0xbc, 0x35, 0xad, 0xd5, 0xdc, 0xfc, 0x50, 0x49, 0x8c, 0x0c, 0x43, 0x2c, 0x94, 0x28, 0xf3, 0x43,
0x37, 0x01, 0x5a, 0xcd, 0xba, 0xf6, 0x08, 0x37, 0xba, 0x75, 0x2c, 0x0b, 0x82, 0x46, 0x48, 0x5b,
0x0e, 0x79, 0xe4, 0xd1, 0x1d, 0x8f, 0x5e, 0x84, 0x54, 0x79, 0x73, 0x53, 0x49, 0xf1, 0x22, 0x95,
0x11, 0xa2, 0xb2, 0x6d, 0xf3, 0x71, 0x56, 0x66, 0xa0, 0xc0, 0xcb, 0xa4, 0x99, 0x2a, 0xd5, 0xbb,
0x50, 0x14, 0x84, 0x3c, 0xc3, 0xf8, 0x64, 0x3a, 0x6d, 0x31, 0x4c, 0x6b, 0xca, 0xc7, 0x37, 0xd6,
0x52, 0x7f, 0x27, 0x05, 0xf3, 0x9c, 0x55, 0x3c, 0x70, 0x44, 0xae, 0xf0, 0xe5, 0xf9, 0xfb, 0xea,
0xe8, 0x5b, 0xf5, 0xe7, 0xce, 0xdf, 0x34, 0x23, 0xc2, 0x47, 0xf3, 0xe8, 0x26, 0xcc, 0xc9, 0x57,
0x26, 0x69, 0x4f, 0x79, 0x70, 0xfc, 0xde, 0xd3, 0x8a, 0x13, 0x2d, 0x61, 0xb8, 0x78, 0x3a, 0x52,
0x3e, 0x70, 0xc5, 0xac, 0x99, 0x7c, 0x21, 0xcf, 0x8c, 0xbc, 0x90, 0x97, 0xca, 0x30, 0x3f, 0x41,
0xc0, 0x33, 0x65, 0x24, 0xbf, 0x2a, 0xf3, 0xfe, 0xf3, 0x30, 0x27, 0xb2, 0xf5, 0x5a, 0x7b, 0xbb,
0xb2, 0xd9, 0xe8, 0x6c, 0x28, 0x53, 0x68, 0x06, 0xf2, 0xa2, 0x51, 0xaf, 0x29, 0x09, 0x54, 0x82,
0x45, 0x49, 0x43, 0x37, 0xa5, 0xb6, 0xdd, 0x94, 0xa4, 0x49, 0xf4, 0x1c, 0x5c, 0x91, 0xb8, 0x08,
0x9c, 0x52, 0xff, 0x2a, 0x09, 0xc0, 0x27, 0xce, 0x6a, 0xfa, 0xaf, 0xc3, 0xac, 0xa1, 0x0f, 0x74,
0xc3, 0x0a, 0x8e, 0x46, 0x6a, 0xfc, 0x66, 0x24, 0x94, 0xd7, 0xf9, 0x7d, 0x39, 0xac, 0x28, 0x8e,
0xee, 0xa9, 0x73, 0x7f, 0x09, 0x13, 0x89, 0x17, 0x9f, 0x23, 0xda, 0x14, 0xb5, 0xc5, 0x52, 0x99,
0xaf, 0x41, 0x5e, 0x48, 0x0e, 0x03, 0x09, 0xe6, 0x39, 0x0b, 0x21, 0x35, 0x9c, 0xe3, 0xe8, 0x86,
0x79, 0xfe, 0x0f, 0x01, 0x52, 0x3f, 0xca, 0x0f, 0x01, 0x4a, 0xf7, 0x00, 0x3d, 0x39, 0xbc, 0x67,
0x5a, 0xab, 0x47, 0x30, 0x53, 0x15, 0x6a, 0xc2, 0xec, 0xa1, 0xf9, 0x3a, 0xcc, 0x7a, 0xfc, 0xa7,
0x5f, 0xe6, 0xa8, 0x36, 0x25, 0x94, 0x6b, 0x73, 0x05, 0x0a, 0x2c, 0xbb, 0x39, 0xf2, 0x5b, 0x34,
0x60, 0x20, 0x46, 0xa0, 0xfe, 0x6d, 0x3a, 0xbc, 0x2a, 0x7c, 0xea, 0xc9, 0xb0, 0x04, 0xd3, 0x22,
0x24, 0xc3, 0x13, 0xc4, 0xe2, 0xe9, 0x46, 0x0d, 0x27, 0x2d, 0x73, 0x54, 0x83, 0xc9, 0x0b, 0x35,
0x18, 0xbd, 0xdf, 0xa5, 0x9e, 0xfa, 0xfd, 0xee, 0xab, 0x4f, 0x2c, 0x3d, 0x57, 0xf8, 0xff, 0xbb,
0xc0, 0xac, 0x87, 0x83, 0x7e, 0x8a, 0x0d, 0xa0, 0x3f, 0x79, 0x66, 0x33, 0xe7, 0xbf, 0xf5, 0x3c,
0xd1, 0xc1, 0xd3, 0x1c, 0xd8, 0x46, 0x68, 0xe1, 0x58, 0x48, 0xca, 0x2b, 0x4c, 0x5e, 0x79, 0x9a,
0x6b, 0x09, 0x83, 0x1e, 0xdd, 0xd5, 0xef, 0xc2, 0x34, 0xb7, 0x74, 0xbe, 0xf8, 0x1d, 0xcc, 0xca,
0xf9, 0x22, 0x44, 0x00, 0x2b, 0x19, 0x3e, 0xfd, 0x66, 0xfb, 0x49, 0xd8, 0x96, 0xaf, 0x84, 0xbb,
0x2a, 0xac, 0xe9, 0x38, 0x77, 0x57, 0x3d, 0xe3, 0x8f, 0x09, 0xd4, 0x5f, 0x49, 0xc0, 0x5c, 0x78,
0xdc, 0xa2, 0x9f, 0x06, 0xa2, 0x77, 0x21, 0xcf, 0x36, 0xbf, 0x6f, 0xb1, 0xe7, 0xd1, 0xcb, 0x8f,
0xd1, 0xc1, 0xd3, 0x1c, 0xd8, 0x7a, 0x68, 0xe1, 0x58, 0x48, 0xca, 0x2b, 0x4c, 0x5e, 0x79, 0x9a,
0x6b, 0x09, 0x83, 0x1e, 0xdd, 0xd5, 0xef, 0xc2, 0x34, 0xb7, 0x74, 0xbe, 0xf8, 0xad, 0xcf, 0xea,
0xf9, 0x22, 0x44, 0x00, 0x2b, 0x19, 0x3e, 0xfd, 0x66, 0xfb, 0x71, 0xd8, 0x96, 0xaf, 0x84, 0xbb,
0x2a, 0xac, 0xe9, 0x38, 0x77, 0x57, 0x3d, 0xe3, 0x0f, 0x26, 0xd4, 0x5f, 0x4c, 0xc0, 0x7c, 0x78,
0xdc, 0xa2, 0x9f, 0x3f, 0xa2, 0x77, 0x21, 0xcf, 0x36, 0xbf, 0x6f, 0xb1, 0xe7, 0xd1, 0xcb, 0x8f,
0x6a, 0x44, 0xce, 0xb2, 0x9c, 0x2c, 0xe9, 0xe9, 0x11, 0x53, 0x18, 0x9c, 0x4b, 0x78, 0x43, 0x72,
0xf5, 0x57, 0x13, 0x90, 0x93, 0x70, 0xb4, 0x06, 0x39, 0x9f, 0xf4, 0xd9, 0x4f, 0x15, 0xc5, 0x18,
0x6e, 0x5e, 0x24, 0x67, 0xb5, 0x2b, 0x88, 0x45, 0x91, 0x87, 0xe4, 0x2d, 0xbf, 0x07, 0xa5, 0x31,
0xd4, 0x33, 0x69, 0xff, 0x07, 0xe1, 0xa1, 0xa6, 0x46, 0x43, 0xfc, 0xf6, 0x25, 0xf4, 0xba, 0x12,
0x97, 0xf9, 0x4a, 0x11, 0xd3, 0x25, 0x5e, 0x57, 0xf2, 0x19, 0x24, 0x4d, 0xf2, 0xba, 0x50, 0x67,
0xfc, 0xb8, 0x70, 0x53, 0x71, 0xeb, 0xa9, 0xe4, 0x4d, 0x3e, 0x39, 0xff, 0x57, 0x7e, 0x5c, 0xf9,
0xbf, 0x13, 0x00, 0x31, 0x67, 0x7a, 0x5d, 0xe4, 0x9c, 0xb8, 0x2f, 0xfd, 0xd6, 0x33, 0x8e, 0x78,
0x35, 0x96, 0x94, 0xfa, 0x9d, 0x04, 0xa4, 0x99, 0xc8, 0xb1, 0x42, 0x9c, 0x05, 0x40, 0x31, 0x6f,
0x51, 0xba, 0x60, 0x09, 0xf4, 0x02, 0x3c, 0x1f, 0x87, 0x53, 0x47, 0xae, 0x81, 0xb9, 0x2b, 0x97,
0xa4, 0x77, 0x74, 0xe4, 0x36, 0x8e, 0xe1, 0x52, 0xe8, 0x1a, 0x2c, 0xc6, 0x70, 0x42, 0x86, 0x10,
0x9b, 0xa6, 0x62, 0x63, 0x58, 0xfe, 0x29, 0x90, 0x99, 0x33, 0x5e, 0xdb, 0xcd, 0x2f, 0x40, 0x51,
0xfe, 0xc4, 0x90, 0xa9, 0x2e, 0x07, 0xe9, 0x5e, 0xa5, 0x7b, 0x5f, 0x99, 0x42, 0x00, 0x59, 0x1e,
0xd9, 0xf3, 0xd2, 0xcb, 0x5a, 0xbb, 0xb5, 0xd6, 0xbc, 0xa7, 0x24, 0xe9, 0xb7, 0xa8, 0xa8, 0x4f,
0xdd, 0xfc, 0xcd, 0x34, 0xe4, 0xc3, 0x42, 0x40, 0x74, 0x15, 0x52, 0xad, 0xc6, 0x43, 0x99, 0x26,
0x08, 0xe1, 0x2d, 0x72, 0x80, 0x5e, 0x8a, 0x4a, 0x08, 0x3e, 0xe4, 0x4e, 0x65, 0x88, 0x96, 0xe5,
0x03, 0xaf, 0x40, 0xae, 0xd2, 0xed, 0x36, 0xef, 0xb5, 0x1a, 0x75, 0xe5, 0x93, 0x04, 0xf7, 0x77,
0x43, 0x22, 0x6e, 0xb8, 0x89, 0xc9, 0xa8, 0x6a, 0xb5, 0x46, 0xa7, 0xd7, 0xa8, 0x2b, 0x1f, 0x27,
0xcf, 0x52, 0xb1, 0x27, 0x71, 0xf6, 0xa3, 0x8f, 0x7c, 0x07, 0x37, 0x3a, 0x15, 0x4c, 0x3b, 0xfc,
0x24, 0xc9, 0x2b, 0x1b, 0xa2, 0x1e, 0x3d, 0x32, 0xe4, 0xee, 0xf5, 0x92, 0xfc, 0xed, 0xd5, 0xc7,
0x29, 0x5e, 0xfd, 0x1f, 0x55, 0x35, 0x12, 0xdd, 0x3c, 0xa4, 0xbd, 0xb1, 0x72, 0x52, 0x26, 0x26,
0x75, 0xa6, 0xb7, 0x6e, 0xa0, 0x7b, 0x01, 0x95, 0xa2, 0xc2, 0x34, 0xde, 0x6a, 0xb5, 0x28, 0xd1,
0xc7, 0xe9, 0x33, 0xb3, 0xc3, 0x23, 0xc7, 0xa1, 0x34, 0xd7, 0x21, 0x27, 0xab, 0x4d, 0x95, 0x4f,
0xd2, 0x67, 0x06, 0x54, 0x93, 0xa5, 0xb2, 0xac, 0xc3, 0xf5, 0xad, 0x1e, 0xfb, 0x69, 0xd8, 0xc7,
0x99, 0xb3, 0x1d, 0xee, 0x8e, 0x02, 0xd3, 0x3d, 0x70, 0xd0, 0x4a, 0x58, 0x44, 0xf1, 0x49, 0x86,
0xe7, 0x49, 0x42, 0x1a, 0x51, 0x41, 0xf1, 0x0a, 0xe4, 0x70, 0xe3, 0x4b, 0xfc, 0x57, 0x64, 0x1f,
0x67, 0xcf, 0xc8, 0xc1, 0xe4, 0x11, 0x31, 0x68, 0x6f, 0x2b, 0x90, 0xc5, 0x8d, 0xcd, 0xf6, 0x83,
0x86, 0xf2, 0xbb, 0xd9, 0x33, 0x72, 0x30, 0x19, 0xb8, 0xec, 0x57, 0x31, 0xb9, 0x36, 0xee, 0xac,
0x57, 0xd8, 0xa2, 0x9c, 0x95, 0xd3, 0xf6, 0x86, 0xbb, 0xba, 0x43, 0xcc, 0xe8, 0xe7, 0x0d, 0x21,
0xea, 0xe6, 0x57, 0x21, 0x27, 0x5f, 0x15, 0xd0, 0x12, 0x64, 0x1f, 0xb6, 0xf1, 0xfd, 0x06, 0x56,
0xa6, 0xb8, 0x96, 0x25, 0xe6, 0x21, 0x7f, 0x0f, 0x5a, 0x81, 0xe9, 0xcd, 0x4a, 0xab, 0x72, 0x8f,
0x9e, 0x09, 0x3e, 0x0c, 0x49, 0x20, 0x52, 0xe3, 0x65, 0x45, 0x74, 0x10, 0xca, 0xac, 0xbe, 0xf2,
0xed, 0x1f, 0x2e, 0x4d, 0x7d, 0xff, 0x87, 0x4b, 0x53, 0x1f, 0x9f, 0x2e, 0x25, 0xbe, 0x7d, 0xba,
0x94, 0xf8, 0xce, 0xe9, 0x52, 0xe2, 0x5f, 0x4e, 0x97, 0x12, 0xbf, 0xf6, 0xa3, 0xa5, 0xa9, 0xef,
0xfc, 0x68, 0x69, 0xea, 0xfb, 0x3f, 0x5a, 0x9a, 0xda, 0xce, 0xb2, 0xe8, 0xfa, 0xcd, 0xff, 0x0d,
0x00, 0x00, 0xff, 0xff, 0xa6, 0x20, 0x79, 0xea, 0x71, 0x42, 0x00, 0x00,
0xf5, 0x97, 0x12, 0x90, 0x93, 0x70, 0xb4, 0x0e, 0x39, 0x9f, 0xf4, 0xd8, 0xcf, 0x31, 0xc5, 0x18,
0x6e, 0x5e, 0x24, 0x67, 0xad, 0x23, 0x88, 0x45, 0x91, 0x87, 0xe4, 0x2d, 0xbd, 0x07, 0x33, 0x23,
0xa8, 0x67, 0xd2, 0xfe, 0xf7, 0xc3, 0x43, 0x4d, 0x8d, 0x86, 0xf8, 0x7d, 0x4f, 0xe8, 0x75, 0x25,
0x2e, 0xf3, 0x95, 0x22, 0xa6, 0x4b, 0xbc, 0xae, 0xe4, 0x33, 0x48, 0x9a, 0xe4, 0x75, 0xa1, 0xf6,
0xe8, 0x71, 0xe1, 0xa6, 0xe2, 0xd6, 0x53, 0xc9, 0x9b, 0x7c, 0x72, 0xfe, 0xaf, 0xfc, 0xb8, 0xd2,
0x7f, 0x27, 0x00, 0x62, 0xce, 0xf4, 0x86, 0xc8, 0x39, 0x71, 0x5f, 0xfa, 0xad, 0x67, 0x1c, 0xf1,
0x5a, 0x2c, 0x29, 0xf5, 0x5b, 0x09, 0x48, 0x33, 0x91, 0x23, 0x85, 0x38, 0x8b, 0x80, 0x62, 0xde,
0xa2, 0x74, 0xc1, 0x12, 0xe8, 0x05, 0x78, 0x3e, 0x0e, 0xa7, 0x8e, 0x5c, 0x1d, 0x73, 0x57, 0x2e,
0x49, 0xef, 0xe8, 0xc8, 0x6d, 0x1c, 0xc1, 0xa5, 0xd0, 0x35, 0x58, 0x8a, 0xe1, 0x84, 0x0c, 0x21,
0x36, 0x4d, 0xc5, 0xc6, 0xb0, 0xfc, 0x53, 0x20, 0x33, 0x63, 0x5e, 0xdb, 0xcd, 0x2f, 0x40, 0x51,
0xfe, 0x8c, 0x92, 0xa9, 0x2e, 0x07, 0xe9, 0x6e, 0xb9, 0xf3, 0x40, 0x99, 0x42, 0x00, 0x59, 0x1e,
0xd9, 0xf3, 0xd2, 0xcb, 0x6a, 0xab, 0xb9, 0xde, 0xb8, 0xaf, 0x24, 0xe9, 0xb7, 0xa8, 0xa8, 0x4f,
0xdd, 0xfc, 0xb5, 0x34, 0xe4, 0xc3, 0x42, 0x40, 0x74, 0x15, 0x52, 0xcd, 0xfa, 0x23, 0x99, 0x26,
0x08, 0xe1, 0x4d, 0x72, 0x88, 0x5e, 0x8a, 0x4a, 0x08, 0xee, 0x71, 0xa7, 0x32, 0x44, 0xcb, 0xf2,
0x81, 0x57, 0x20, 0x57, 0xee, 0x74, 0x1a, 0xf7, 0x9b, 0xf5, 0x9a, 0xf2, 0x49, 0x82, 0xfb, 0xbb,
0x21, 0x11, 0x37, 0xdc, 0xc4, 0x64, 0x54, 0xd5, 0x6a, 0xbd, 0xdd, 0xad, 0xd7, 0x94, 0x8f, 0x93,
0xe3, 0x54, 0xec, 0x49, 0x9c, 0xfd, 0xe8, 0x23, 0xdf, 0xc6, 0xf5, 0x76, 0x19, 0xd3, 0x0e, 0x3f,
0x49, 0xf2, 0xca, 0x86, 0xa8, 0x47, 0x8f, 0x0c, 0xb8, 0x7b, 0xbd, 0x2c, 0x7f, 0x5f, 0xf6, 0x71,
0x8a, 0x57, 0xff, 0x47, 0x55, 0x8d, 0x44, 0x37, 0x8f, 0x68, 0x6f, 0xac, 0x9c, 0x94, 0x89, 0x49,
0x8d, 0xf5, 0xd6, 0x09, 0x74, 0x2f, 0xa0, 0x52, 0x54, 0x98, 0xc6, 0xdb, 0xcd, 0x26, 0x25, 0xfa,
0x38, 0x3d, 0x36, 0x3b, 0x3c, 0x74, 0x1c, 0x4a, 0x73, 0x1d, 0x72, 0xb2, 0xda, 0x54, 0xf9, 0x24,
0x3d, 0x36, 0xa0, 0xaa, 0x2c, 0x95, 0x65, 0x1d, 0x6e, 0x6c, 0x77, 0xd9, 0xcf, 0xdf, 0x3e, 0xce,
0x8c, 0x77, 0xb8, 0x37, 0x0c, 0x4c, 0xf7, 0xd0, 0x41, 0xab, 0x61, 0x11, 0xc5, 0x27, 0x19, 0x9e,
0x27, 0x09, 0x69, 0x44, 0x05, 0xc5, 0x2b, 0x90, 0xc3, 0xf5, 0x2f, 0xf1, 0x5f, 0xca, 0x7d, 0x9c,
0x1d, 0x93, 0x83, 0xc9, 0x47, 0xc4, 0xa0, 0xbd, 0xad, 0x42, 0x16, 0xd7, 0xb7, 0x5a, 0x0f, 0xeb,
0xca, 0x6f, 0x67, 0xc7, 0xe4, 0x60, 0xd2, 0x77, 0xd9, 0xaf, 0x62, 0x72, 0x2d, 0xdc, 0xde, 0x28,
0xb3, 0x45, 0x19, 0x97, 0xd3, 0xf2, 0x06, 0x7b, 0xba, 0x43, 0xcc, 0xe8, 0xe7, 0x0d, 0x21, 0xea,
0xe6, 0x57, 0x21, 0x27, 0x5f, 0x15, 0xd0, 0x32, 0x64, 0x1f, 0xb5, 0xf0, 0x83, 0x3a, 0x56, 0xa6,
0xb8, 0x96, 0x25, 0xe6, 0x11, 0x7f, 0x0f, 0x5a, 0x85, 0xe9, 0xad, 0x72, 0xb3, 0x7c, 0x9f, 0x9e,
0x09, 0x3e, 0x0c, 0x49, 0x20, 0x52, 0xe3, 0x25, 0x45, 0x74, 0x10, 0xca, 0xac, 0xbc, 0xf2, 0xad,
0x1f, 0x2c, 0x4f, 0x7d, 0xef, 0x07, 0xcb, 0x53, 0x1f, 0x9f, 0x2d, 0x27, 0xbe, 0x75, 0xb6, 0x9c,
0xf8, 0xf6, 0xd9, 0x72, 0xe2, 0x9f, 0xcf, 0x96, 0x13, 0xbf, 0xfc, 0xc3, 0xe5, 0xa9, 0x6f, 0xff,
0x70, 0x79, 0xea, 0x7b, 0x3f, 0x5c, 0x9e, 0xda, 0xc9, 0xb2, 0xe8, 0xfa, 0xcd, 0xff, 0x0d, 0x00,
0x00, 0xff, 0xff, 0xdd, 0x33, 0x91, 0x58, 0x55, 0x43, 0x00, 0x00,
}
func (m *Version) Copy() *Version {
@ -8115,6 +8127,36 @@ func (m *Mount_BindOptions) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
if m.ReadOnlyForceRecursive {
i--
if m.ReadOnlyForceRecursive {
dAtA[i] = 1
} else {
dAtA[i] = 0
}
i--
dAtA[i] = 0x28
}
if m.ReadOnlyNonRecursive {
i--
if m.ReadOnlyNonRecursive {
dAtA[i] = 1
} else {
dAtA[i] = 0
}
i--
dAtA[i] = 0x20
}
if m.CreateMountpoint {
i--
if m.CreateMountpoint {
dAtA[i] = 1
} else {
dAtA[i] = 0
}
i--
dAtA[i] = 0x18
}
if m.NonRecursive {
i--
if m.NonRecursive {
@ -11695,6 +11737,15 @@ func (m *Mount_BindOptions) Size() (n int) {
if m.NonRecursive {
n += 2
}
if m.CreateMountpoint {
n += 2
}
if m.ReadOnlyNonRecursive {
n += 2
}
if m.ReadOnlyForceRecursive {
n += 2
}
return n
}
@ -13377,6 +13428,9 @@ func (this *Mount_BindOptions) String() string {
s := strings.Join([]string{`&Mount_BindOptions{`,
`Propagation:` + fmt.Sprintf("%v", this.Propagation) + `,`,
`NonRecursive:` + fmt.Sprintf("%v", this.NonRecursive) + `,`,
`CreateMountpoint:` + fmt.Sprintf("%v", this.CreateMountpoint) + `,`,
`ReadOnlyNonRecursive:` + fmt.Sprintf("%v", this.ReadOnlyNonRecursive) + `,`,
`ReadOnlyForceRecursive:` + fmt.Sprintf("%v", this.ReadOnlyForceRecursive) + `,`,
`}`,
}, "")
return s
@ -17215,6 +17269,66 @@ func (m *Mount_BindOptions) Unmarshal(dAtA []byte) error {
}
}
m.NonRecursive = bool(v != 0)
case 3:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field CreateMountpoint", wireType)
}
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowTypes
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
v |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
m.CreateMountpoint = bool(v != 0)
case 4:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field ReadOnlyNonRecursive", wireType)
}
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowTypes
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
v |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
m.ReadOnlyNonRecursive = bool(v != 0)
case 5:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field ReadOnlyForceRecursive", wireType)
}
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowTypes
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
v |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
m.ReadOnlyForceRecursive = bool(v != 0)
default:
iNdEx = preIndex
skippy, err := skipTypes(dAtA[iNdEx:])

View File

@ -289,6 +289,13 @@ message Mount {
Propagation propagation = 1;
// allows non-recursive bind-mount, i.e. mount(2) with "bind" rather than "rbind".
bool nonrecursive = 2 [(gogoproto.customname) = "NonRecursive"];
// Create the mount point
bool createmountpoint = 3 [(gogoproto.customname) = "CreateMountpoint"];
// ReadOnlyNonRecursive makes the mount non-recursively read-only, but still leaves the mount recursive
// (unless NonRecursive is set to true in conjunction).
bool readonlynonrecursive = 4 [(gogoproto.customname) = "ReadOnlyNonRecursive"];
// ReadOnlyForceRecursive raises an error if the mount cannot be made recursively read-only.
bool readonlyforcerecursive = 5 [(gogoproto.customname) = "ReadOnlyForceRecursive"];
}
// VolumeOptions contains parameters for mounting the volume.

View File

@ -65,7 +65,4 @@ const (
// AnnotationArtifactDescription is the annotation key for the human readable description for the artifact.
AnnotationArtifactDescription = "org.opencontainers.artifact.description"
// AnnotationReferrersFiltersApplied is the annotation key for the comma separated list of filters applied by the registry in the referrers listing.
AnnotationReferrersFiltersApplied = "org.opencontainers.referrers.filtersApplied"
)

View File

@ -1,34 +0,0 @@
// Copyright 2022 The Linux Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package v1
// Artifact describes an artifact manifest.
// This structure provides `application/vnd.oci.artifact.manifest.v1+json` mediatype when marshalled to JSON.
type Artifact struct {
// MediaType is the media type of the object this schema refers to.
MediaType string `json:"mediaType"`
// ArtifactType is the IANA media type of the artifact this schema refers to.
ArtifactType string `json:"artifactType"`
// Blobs is a collection of blobs referenced by this manifest.
Blobs []Descriptor `json:"blobs,omitempty"`
// Subject (reference) is an optional link from the artifact to another manifest forming an association between the artifact and the other manifest.
Subject *Descriptor `json:"subject,omitempty"`
// Annotations contains arbitrary metadata for the artifact manifest.
Annotations map[string]string `json:"annotations,omitempty"`
}

View File

@ -49,13 +49,15 @@ type ImageConfig struct {
// StopSignal contains the system call signal that will be sent to the container to exit.
StopSignal string `json:"StopSignal,omitempty"`
// ArgsEscaped `[Deprecated]` - This field is present only for legacy
// compatibility with Docker and should not be used by new image builders.
// It is used by Docker for Windows images to indicate that the `Entrypoint`
// or `Cmd` or both, contains only a single element array, that is a
// pre-escaped, and combined into a single string `CommandLine`. If `true`
// the value in `Entrypoint` or `Cmd` should be used as-is to avoid double
// escaping.
// ArgsEscaped
//
// Deprecated: This field is present only for legacy compatibility with
// Docker and should not be used by new image builders. It is used by Docker
// for Windows images to indicate that the `Entrypoint` or `Cmd` or both,
// contains only a single element array, that is a pre-escaped, and combined
// into a single string `CommandLine`. If `true` the value in `Entrypoint` or
// `Cmd` should be used as-is to avoid double escaping.
// https://github.com/opencontainers/image-spec/pull/892
ArgsEscaped bool `json:"ArgsEscaped,omitempty"`
}
@ -95,22 +97,8 @@ type Image struct {
// Author defines the name and/or email address of the person or entity which created and is responsible for maintaining the image.
Author string `json:"author,omitempty"`
// Architecture is the CPU architecture which the binaries in this image are built to run on.
Architecture string `json:"architecture"`
// Variant is the variant of the specified CPU architecture which image binaries are intended to run on.
Variant string `json:"variant,omitempty"`
// OS is the name of the operating system which the image is built to run on.
OS string `json:"os"`
// OSVersion is an optional field specifying the operating system
// version, for example on Windows `10.0.14393.1066`.
OSVersion string `json:"os.version,omitempty"`
// OSFeatures is an optional field specifying an array of strings,
// each listing a required OS feature (for example on Windows `win32k`).
OSFeatures []string `json:"os.features,omitempty"`
// Platform describes the platform which the image in the manifest runs on.
Platform
// Config defines the execution parameters which should be used as a base when running a container using the image.
Config ImageConfig `json:"config,omitempty"`

View File

@ -23,6 +23,9 @@ type Manifest struct {
// MediaType specifies the type of this document data structure e.g. `application/vnd.oci.image.manifest.v1+json`
MediaType string `json:"mediaType,omitempty"`
// ArtifactType specifies the IANA media type of artifact when the manifest is used for an artifact.
ArtifactType string `json:"artifactType,omitempty"`
// Config references a configuration object for a container, by digest.
// The referenced configuration object is a JSON blob that the runtime uses to set up the container.
Config Descriptor `json:"config"`
@ -36,3 +39,11 @@ type Manifest struct {
// Annotations contains arbitrary metadata for the image manifest.
Annotations map[string]string `json:"annotations,omitempty"`
}
// ScratchDescriptor is the descriptor of a blob with content of `{}`.
var ScratchDescriptor = Descriptor{
MediaType: MediaTypeScratch,
Digest: `sha256:44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a`,
Size: 2,
Data: []byte(`{}`),
}

View File

@ -40,21 +40,36 @@ const (
// MediaTypeImageLayerNonDistributable is the media type for layers referenced by
// the manifest but with distribution restrictions.
//
// Deprecated: Non-distributable layers are deprecated, and not recommended
// for future use. Implementations SHOULD NOT produce new non-distributable
// layers.
// https://github.com/opencontainers/image-spec/pull/965
MediaTypeImageLayerNonDistributable = "application/vnd.oci.image.layer.nondistributable.v1.tar"
// MediaTypeImageLayerNonDistributableGzip is the media type for
// gzipped layers referenced by the manifest but with distribution
// restrictions.
//
// Deprecated: Non-distributable layers are deprecated, and not recommended
// for future use. Implementations SHOULD NOT produce new non-distributable
// layers.
// https://github.com/opencontainers/image-spec/pull/965
MediaTypeImageLayerNonDistributableGzip = "application/vnd.oci.image.layer.nondistributable.v1.tar+gzip"
// MediaTypeImageLayerNonDistributableZstd is the media type for zstd
// compressed layers referenced by the manifest but with distribution
// restrictions.
//
// Deprecated: Non-distributable layers are deprecated, and not recommended
// for future use. Implementations SHOULD NOT produce new non-distributable
// layers.
// https://github.com/opencontainers/image-spec/pull/965
MediaTypeImageLayerNonDistributableZstd = "application/vnd.oci.image.layer.nondistributable.v1.tar+zstd"
// MediaTypeImageConfig specifies the media type for the image configuration.
MediaTypeImageConfig = "application/vnd.oci.image.config.v1+json"
// MediaTypeArtifactManifest specifies the media type for a content descriptor.
MediaTypeArtifactManifest = "application/vnd.oci.artifact.manifest.v1+json"
// MediaTypeScratch specifies the media type for an unused blob containing the value `{}`
MediaTypeScratch = "application/vnd.oci.scratch.v1+json"
)

View File

@ -25,7 +25,7 @@ const (
VersionPatch = 0
// VersionDev indicates development branch. Releases will be empty string.
VersionDev = "-dev"
VersionDev = "-rc.3"
)
// Version is the specification version that the package types support.

View File

@ -43,7 +43,7 @@ plain text):
With `log.SetFormatter(&log.JSONFormatter{})`, for easy parsing by logstash
or Splunk:
```json
```text
{"animal":"walrus","level":"info","msg":"A group of walrus emerges from the
ocean","size":10,"time":"2014-03-10 19:57:38.562264131 -0400 EDT"}
@ -317,6 +317,8 @@ log.SetLevel(log.InfoLevel)
It may be useful to set `log.Level = logrus.DebugLevel` in a debug or verbose
environment if your application has that.
Note: If you want different log levels for global (`log.SetLevel(...)`) and syslog logging, please check the [syslog hook README](hooks/syslog/README.md#different-log-levels-for-local-and-remote-logging).
#### Entries
Besides the fields added with `WithField` or `WithFields` some fields are

View File

@ -4,6 +4,7 @@ import (
"bufio"
"io"
"runtime"
"strings"
)
// Writer at INFO level. See WriterLevel for details.
@ -20,15 +21,18 @@ func (logger *Logger) WriterLevel(level Level) *io.PipeWriter {
return NewEntry(logger).WriterLevel(level)
}
// Writer returns an io.Writer that writes to the logger at the info log level
func (entry *Entry) Writer() *io.PipeWriter {
return entry.WriterLevel(InfoLevel)
}
// WriterLevel returns an io.Writer that writes to the logger at the given log level
func (entry *Entry) WriterLevel(level Level) *io.PipeWriter {
reader, writer := io.Pipe()
var printFunc func(args ...interface{})
// Determine which log function to use based on the specified log level
switch level {
case TraceLevel:
printFunc = entry.Trace
@ -48,23 +52,51 @@ func (entry *Entry) WriterLevel(level Level) *io.PipeWriter {
printFunc = entry.Print
}
// Start a new goroutine to scan the input and write it to the logger using the specified print function.
// It splits the input into chunks of up to 64KB to avoid buffer overflows.
go entry.writerScanner(reader, printFunc)
// Set a finalizer function to close the writer when it is garbage collected
runtime.SetFinalizer(writer, writerFinalizer)
return writer
}
// writerScanner scans the input from the reader and writes it to the logger
func (entry *Entry) writerScanner(reader *io.PipeReader, printFunc func(args ...interface{})) {
scanner := bufio.NewScanner(reader)
for scanner.Scan() {
printFunc(scanner.Text())
// Set the buffer size to the maximum token size to avoid buffer overflows
scanner.Buffer(make([]byte, bufio.MaxScanTokenSize), bufio.MaxScanTokenSize)
// Define a split function to split the input into chunks of up to 64KB
chunkSize := bufio.MaxScanTokenSize // 64KB
splitFunc := func(data []byte, atEOF bool) (int, []byte, error) {
if len(data) >= chunkSize {
return chunkSize, data[:chunkSize], nil
}
return bufio.ScanLines(data, atEOF)
}
// Use the custom split function to split the input
scanner.Split(splitFunc)
// Scan the input and write it to the logger using the specified print function
for scanner.Scan() {
printFunc(strings.TrimRight(scanner.Text(), "\r\n"))
}
// If there was an error while scanning the input, log an error
if err := scanner.Err(); err != nil {
entry.Errorf("Error while reading from Writer: %s", err)
}
// Close the reader when we are done
reader.Close()
}
// WriterFinalizer is a finalizer function that closes then given writer when it is garbage collected
func writerFinalizer(writer *io.PipeWriter) {
writer.Close()
}

View File

@ -88,13 +88,9 @@ func (p *pipe) Write(d []byte) (n int, err error) {
p.c.L = &p.mu
}
defer p.c.Signal()
if p.err != nil {
if p.err != nil || p.breakErr != nil {
return 0, errClosedPipeWrite
}
if p.breakErr != nil {
p.unread += len(d)
return len(d), nil // discard when there is no reader
}
return p.b.Write(d)
}

View File

@ -1822,15 +1822,18 @@ func (sc *serverConn) processData(f *DataFrame) error {
}
if len(data) > 0 {
st.bodyBytes += int64(len(data))
wrote, err := st.body.Write(data)
if err != nil {
// The handler has closed the request body.
// Return the connection-level flow control for the discarded data,
// but not the stream-level flow control.
sc.sendWindowUpdate(nil, int(f.Length)-wrote)
return sc.countError("body_write_err", streamError(id, ErrCodeStreamClosed))
return nil
}
if wrote != len(data) {
panic("internal error: bad Writer")
}
st.bodyBytes += int64(len(data))
}
// Return any padded flow control now, since we won't

View File

@ -560,10 +560,11 @@ func (t *Transport) RoundTripOpt(req *http.Request, opt RoundTripOpt) (*http.Res
traceGotConn(req, cc, reused)
res, err := cc.RoundTrip(req)
if err != nil && retry <= 6 {
roundTripErr := err
if req, err = shouldRetryRequest(req, err); err == nil {
// After the first retry, do exponential backoff with 10% jitter.
if retry == 0 {
t.vlogf("RoundTrip retrying after failure: %v", err)
t.vlogf("RoundTrip retrying after failure: %v", roundTripErr)
continue
}
backoff := float64(uint(1) << (uint(retry) - 1))
@ -572,7 +573,7 @@ func (t *Transport) RoundTripOpt(req *http.Request, opt RoundTripOpt) (*http.Res
timer := backoffNewTimer(d)
select {
case <-timer.C:
t.vlogf("RoundTrip retrying after failure: %v", err)
t.vlogf("RoundTrip retrying after failure: %v", roundTripErr)
continue
case <-req.Context().Done():
timer.Stop()
@ -1265,6 +1266,27 @@ func (cc *ClientConn) RoundTrip(req *http.Request) (*http.Response, error) {
return res, nil
}
cancelRequest := func(cs *clientStream, err error) error {
cs.cc.mu.Lock()
defer cs.cc.mu.Unlock()
cs.abortStreamLocked(err)
if cs.ID != 0 {
// This request may have failed because of a problem with the connection,
// or for some unrelated reason. (For example, the user might have canceled
// the request without waiting for a response.) Mark the connection as
// not reusable, since trying to reuse a dead connection is worse than
// unnecessarily creating a new one.
//
// If cs.ID is 0, then the request was never allocated a stream ID and
// whatever went wrong was unrelated to the connection. We might have
// timed out waiting for a stream slot when StrictMaxConcurrentStreams
// is set, for example, in which case retrying on a different connection
// will not help.
cs.cc.doNotReuse = true
}
return err
}
for {
select {
case <-cs.respHeaderRecv:
@ -1279,15 +1301,12 @@ func (cc *ClientConn) RoundTrip(req *http.Request) (*http.Response, error) {
return handleResponseHeaders()
default:
waitDone()
return nil, cs.abortErr
return nil, cancelRequest(cs, cs.abortErr)
}
case <-ctx.Done():
err := ctx.Err()
cs.abortStream(err)
return nil, err
return nil, cancelRequest(cs, ctx.Err())
case <-cs.reqCancel:
cs.abortStream(errRequestCanceled)
return nil, errRequestCanceled
return nil, cancelRequest(cs, errRequestCanceled)
}
}
}
@ -2555,6 +2574,9 @@ func (b transportResponseBody) Close() error {
cs := b.cs
cc := cs.cc
cs.bufPipe.BreakWithError(errClosedResponseBody)
cs.abortStream(errClosedResponseBody)
unread := cs.bufPipe.Len()
if unread > 0 {
cc.mu.Lock()
@ -2573,9 +2595,6 @@ func (b transportResponseBody) Close() error {
cc.wmu.Unlock()
}
cs.bufPipe.BreakWithError(errClosedResponseBody)
cs.abortStream(errClosedResponseBody)
select {
case <-cs.donec:
case <-cs.ctx.Done():

View File

@ -289,7 +289,7 @@ func (up *UsernamePassword) Authenticate(ctx context.Context, rw io.ReadWriter,
case AuthMethodNotRequired:
return nil
case AuthMethodUsernamePassword:
if len(up.Username) == 0 || len(up.Username) > 255 || len(up.Password) == 0 || len(up.Password) > 255 {
if len(up.Username) == 0 || len(up.Username) > 255 || len(up.Password) > 255 {
return errors.New("invalid username/password")
}
b := []byte{authUsernamePasswordVersion}

70
vendor/golang.org/x/sys/unix/ioctl_signed.go generated vendored Normal file
View File

@ -0,0 +1,70 @@
// Copyright 2018 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build aix || solaris
// +build aix solaris
package unix
import (
"unsafe"
)
// ioctl itself should not be exposed directly, but additional get/set
// functions for specific types are permissible.
// IoctlSetInt performs an ioctl operation which sets an integer value
// on fd, using the specified request number.
func IoctlSetInt(fd int, req int, value int) error {
return ioctl(fd, req, uintptr(value))
}
// IoctlSetPointerInt performs an ioctl operation which sets an
// integer value on fd, using the specified request number. The ioctl
// argument is called with a pointer to the integer value, rather than
// passing the integer value directly.
func IoctlSetPointerInt(fd int, req int, value int) error {
v := int32(value)
return ioctlPtr(fd, req, unsafe.Pointer(&v))
}
// IoctlSetWinsize performs an ioctl on fd with a *Winsize argument.
//
// To change fd's window size, the req argument should be TIOCSWINSZ.
func IoctlSetWinsize(fd int, req int, value *Winsize) error {
// TODO: if we get the chance, remove the req parameter and
// hardcode TIOCSWINSZ.
return ioctlPtr(fd, req, unsafe.Pointer(value))
}
// IoctlSetTermios performs an ioctl on fd with a *Termios.
//
// The req value will usually be TCSETA or TIOCSETA.
func IoctlSetTermios(fd int, req int, value *Termios) error {
// TODO: if we get the chance, remove the req parameter.
return ioctlPtr(fd, req, unsafe.Pointer(value))
}
// IoctlGetInt performs an ioctl operation which gets an integer value
// from fd, using the specified request number.
//
// A few ioctl requests use the return value as an output parameter;
// for those, IoctlRetInt should be used instead of this function.
func IoctlGetInt(fd int, req int) (int, error) {
var value int
err := ioctlPtr(fd, req, unsafe.Pointer(&value))
return value, err
}
func IoctlGetWinsize(fd int, req int) (*Winsize, error) {
var value Winsize
err := ioctlPtr(fd, req, unsafe.Pointer(&value))
return &value, err
}
func IoctlGetTermios(fd int, req int) (*Termios, error) {
var value Termios
err := ioctlPtr(fd, req, unsafe.Pointer(&value))
return &value, err
}

View File

@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build aix || darwin || dragonfly || freebsd || hurd || linux || netbsd || openbsd || solaris
// +build aix darwin dragonfly freebsd hurd linux netbsd openbsd solaris
//go:build darwin || dragonfly || freebsd || hurd || linux || netbsd || openbsd
// +build darwin dragonfly freebsd hurd linux netbsd openbsd
package unix

View File

@ -17,14 +17,14 @@ import (
// IoctlSetInt performs an ioctl operation which sets an integer value
// on fd, using the specified request number.
func IoctlSetInt(fd int, req uint, value int) error {
func IoctlSetInt(fd int, req int, value int) error {
return ioctl(fd, req, uintptr(value))
}
// IoctlSetWinsize performs an ioctl on fd with a *Winsize argument.
//
// To change fd's window size, the req argument should be TIOCSWINSZ.
func IoctlSetWinsize(fd int, req uint, value *Winsize) error {
func IoctlSetWinsize(fd int, req int, value *Winsize) error {
// TODO: if we get the chance, remove the req parameter and
// hardcode TIOCSWINSZ.
return ioctlPtr(fd, req, unsafe.Pointer(value))
@ -33,7 +33,7 @@ func IoctlSetWinsize(fd int, req uint, value *Winsize) error {
// IoctlSetTermios performs an ioctl on fd with a *Termios.
//
// The req value is expected to be TCSETS, TCSETSW, or TCSETSF
func IoctlSetTermios(fd int, req uint, value *Termios) error {
func IoctlSetTermios(fd int, req int, value *Termios) error {
if (req != TCSETS) && (req != TCSETSW) && (req != TCSETSF) {
return ENOSYS
}
@ -47,13 +47,13 @@ func IoctlSetTermios(fd int, req uint, value *Termios) error {
//
// A few ioctl requests use the return value as an output parameter;
// for those, IoctlRetInt should be used instead of this function.
func IoctlGetInt(fd int, req uint) (int, error) {
func IoctlGetInt(fd int, req int) (int, error) {
var value int
err := ioctlPtr(fd, req, unsafe.Pointer(&value))
return value, err
}
func IoctlGetWinsize(fd int, req uint) (*Winsize, error) {
func IoctlGetWinsize(fd int, req int) (*Winsize, error) {
var value Winsize
err := ioctlPtr(fd, req, unsafe.Pointer(&value))
return &value, err
@ -62,7 +62,7 @@ func IoctlGetWinsize(fd int, req uint) (*Winsize, error) {
// IoctlGetTermios performs an ioctl on fd with a *Termios.
//
// The req value is expected to be TCGETS
func IoctlGetTermios(fd int, req uint) (*Termios, error) {
func IoctlGetTermios(fd int, req int) (*Termios, error) {
var value Termios
if req != TCGETS {
return &value, ENOSYS

View File

@ -66,6 +66,7 @@ includes_Darwin='
#include <sys/ptrace.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/un.h>
#include <sys/sockio.h>
#include <sys/sys_domain.h>
@ -203,6 +204,7 @@ struct ltchars {
#include <sys/timerfd.h>
#include <sys/uio.h>
#include <sys/xattr.h>
#include <netinet/udp.h>
#include <linux/audit.h>
#include <linux/bpf.h>
#include <linux/can.h>
@ -517,10 +519,11 @@ ccflags="$@"
$2 ~ /^LOCK_(SH|EX|NB|UN)$/ ||
$2 ~ /^LO_(KEY|NAME)_SIZE$/ ||
$2 ~ /^LOOP_(CLR|CTL|GET|SET)_/ ||
$2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|TCP|MCAST|EVFILT|NOTE|SHUT|PROT|MAP|MFD|T?PACKET|MSG|SCM|MCL|DT|MADV|PR|LOCAL|TCPOPT)_/ ||
$2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|TCP|MCAST|EVFILT|NOTE|SHUT|PROT|MAP|MFD|T?PACKET|MSG|SCM|MCL|DT|MADV|PR|LOCAL|TCPOPT|UDP)_/ ||
$2 ~ /^NFC_(GENL|PROTO|COMM|RF|SE|DIRECTION|LLCP|SOCKPROTO)_/ ||
$2 ~ /^NFC_.*_(MAX)?SIZE$/ ||
$2 ~ /^RAW_PAYLOAD_/ ||
$2 ~ /^[US]F_/ ||
$2 ~ /^TP_STATUS_/ ||
$2 ~ /^FALLOC_/ ||
$2 ~ /^ICMPV?6?_(FILTER|SEC)/ ||

View File

@ -408,8 +408,8 @@ func (w WaitStatus) CoreDump() bool { return w&0x80 == 0x80 }
func (w WaitStatus) TrapCause() int { return -1 }
//sys ioctl(fd int, req uint, arg uintptr) (err error)
//sys ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) = ioctl
//sys ioctl(fd int, req int, arg uintptr) (err error)
//sys ioctlPtr(fd int, req int, arg unsafe.Pointer) (err error) = ioctl
// fcntl must never be called with cmd=F_DUP2FD because it doesn't work on AIX
// There is no way to create a custom fcntl and to keep //sys fcntl easily,

View File

@ -8,7 +8,6 @@
package unix
//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) = getrlimit64
//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) = setrlimit64
//sys Seek(fd int, offset int64, whence int) (off int64, err error) = lseek64
//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error)

View File

@ -8,7 +8,6 @@
package unix
//sysnb Getrlimit(resource int, rlim *Rlimit) (err error)
//sysnb Setrlimit(resource int, rlim *Rlimit) (err error)
//sys Seek(fd int, offset int64, whence int) (off int64, err error) = lseek
//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) = mmap64

View File

@ -613,6 +613,7 @@ func SysctlKinfoProcSlice(name string, args ...int) ([]KinfoProc, error) {
//sys Rmdir(path string) (err error)
//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK
//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
//sys Setattrlist(path string, attrlist *Attrlist, attrBuf []byte, options int) (err error)
//sys Setegid(egid int) (err error)
//sysnb Seteuid(euid int) (err error)
//sysnb Setgid(gid int) (err error)
@ -622,7 +623,6 @@ func SysctlKinfoProcSlice(name string, args ...int) ([]KinfoProc, error) {
//sys Setprivexec(flag int) (err error)
//sysnb Setregid(rgid int, egid int) (err error)
//sysnb Setreuid(ruid int, euid int) (err error)
//sysnb Setrlimit(which int, lim *Rlimit) (err error)
//sysnb Setsid() (pid int, err error)
//sysnb Settimeofday(tp *Timeval) (err error)
//sysnb Setuid(uid int) (err error)
@ -676,7 +676,6 @@ func SysctlKinfoProcSlice(name string, args ...int) ([]KinfoProc, error) {
// Kqueue_from_portset_np
// Kqueue_portset
// Getattrlist
// Setattrlist
// Getdirentriesattr
// Searchfs
// Delete

View File

@ -326,7 +326,6 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
//sysnb Setreuid(ruid int, euid int) (err error)
//sysnb Setresgid(rgid int, egid int, sgid int) (err error)
//sysnb Setresuid(ruid int, euid int, suid int) (err error)
//sysnb Setrlimit(which int, lim *Rlimit) (err error)
//sysnb Setsid() (pid int, err error)
//sysnb Settimeofday(tp *Timeval) (err error)
//sysnb Setuid(uid int) (err error)

View File

@ -433,7 +433,6 @@ func Dup3(oldfd, newfd, flags int) error {
//sysnb Setreuid(ruid int, euid int) (err error)
//sysnb Setresgid(rgid int, egid int, sgid int) (err error)
//sysnb Setresuid(ruid int, euid int, suid int) (err error)
//sysnb Setrlimit(which int, lim *Rlimit) (err error)
//sysnb Setsid() (pid int, err error)
//sysnb Settimeofday(tp *Timeval) (err error)
//sysnb Setuid(uid int) (err error)

View File

@ -1873,7 +1873,6 @@ func Getpgrp() (pid int) {
//sys OpenTree(dfd int, fileName string, flags uint) (r int, err error)
//sys PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error)
//sys PivotRoot(newroot string, putold string) (err error) = SYS_PIVOT_ROOT
//sysnb Prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) = SYS_PRLIMIT64
//sys Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error)
//sys Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) = SYS_PSELECT6
//sys read(fd int, p []byte) (n int, err error)
@ -1887,6 +1886,15 @@ func Getpgrp() (pid int) {
//sysnb Settimeofday(tv *Timeval) (err error)
//sys Setns(fd int, nstype int) (err error)
//go:linkname syscall_prlimit syscall.prlimit
func syscall_prlimit(pid, resource int, newlimit, old *syscall.Rlimit) error
func Prlimit(pid, resource int, newlimit, old *Rlimit) error {
// Just call the syscall version, because as of Go 1.21
// it will affect starting a new process.
return syscall_prlimit(pid, resource, (*syscall.Rlimit)(newlimit), (*syscall.Rlimit)(old))
}
// PrctlRetInt performs a prctl operation specified by option and further
// optional arguments arg2 through arg5 depending on option. It returns a
// non-negative integer that is returned by the prctl syscall.

View File

@ -97,33 +97,6 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) {
return
}
//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT
func Setrlimit(resource int, rlim *Rlimit) (err error) {
err = Prlimit(0, resource, rlim, nil)
if err != ENOSYS {
return err
}
rl := rlimit32{}
if rlim.Cur == rlimInf64 {
rl.Cur = rlimInf32
} else if rlim.Cur < uint64(rlimInf32) {
rl.Cur = uint32(rlim.Cur)
} else {
return EINVAL
}
if rlim.Max == rlimInf64 {
rl.Max = rlimInf32
} else if rlim.Max < uint64(rlimInf32) {
rl.Max = uint32(rlim.Max)
} else {
return EINVAL
}
return setrlimit(resource, &rl)
}
func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
newoffset, errno := seek(fd, offset, whence)
if errno != 0 {

View File

@ -46,7 +46,6 @@ func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err
//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error)
//sys setfsgid(gid int) (prev int, err error)
//sys setfsuid(uid int) (prev int, err error)
//sysnb Setrlimit(resource int, rlim *Rlimit) (err error)
//sys Shutdown(fd int, how int) (err error)
//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)

View File

@ -171,33 +171,6 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) {
return
}
//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT
func Setrlimit(resource int, rlim *Rlimit) (err error) {
err = Prlimit(0, resource, rlim, nil)
if err != ENOSYS {
return err
}
rl := rlimit32{}
if rlim.Cur == rlimInf64 {
rl.Cur = rlimInf32
} else if rlim.Cur < uint64(rlimInf32) {
rl.Cur = uint32(rlim.Cur)
} else {
return EINVAL
}
if rlim.Max == rlimInf64 {
rl.Max = rlimInf32
} else if rlim.Max < uint64(rlimInf32) {
rl.Max = uint32(rlim.Max)
} else {
return EINVAL
}
return setrlimit(resource, &rl)
}
func (r *PtraceRegs) PC() uint64 { return uint64(r.Uregs[15]) }
func (r *PtraceRegs) SetPC(pc uint64) { r.Uregs[15] = uint32(pc) }

View File

@ -39,7 +39,6 @@ func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err
//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error)
//sys setfsgid(gid int) (prev int, err error)
//sys setfsuid(uid int) (prev int, err error)
//sysnb setrlimit(resource int, rlim *Rlimit) (err error)
//sys Shutdown(fd int, how int) (err error)
//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)
@ -143,15 +142,6 @@ func Getrlimit(resource int, rlim *Rlimit) error {
return getrlimit(resource, rlim)
}
// Setrlimit prefers the prlimit64 system call. See issue 38604.
func Setrlimit(resource int, rlim *Rlimit) error {
err := Prlimit(0, resource, rlim, nil)
if err != ENOSYS {
return err
}
return setrlimit(resource, rlim)
}
func (r *PtraceRegs) PC() uint64 { return r.Pc }
func (r *PtraceRegs) SetPC(pc uint64) { r.Pc = pc }

View File

@ -126,11 +126,6 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) {
return
}
func Setrlimit(resource int, rlim *Rlimit) (err error) {
err = Prlimit(0, resource, rlim, nil)
return
}
func futimesat(dirfd int, path string, tv *[2]Timeval) (err error) {
if tv == nil {
return utimensat(dirfd, path, nil, 0)

View File

@ -37,7 +37,6 @@ func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err
//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error)
//sys setfsgid(gid int) (prev int, err error)
//sys setfsuid(uid int) (prev int, err error)
//sysnb Setrlimit(resource int, rlim *Rlimit) (err error)
//sys Shutdown(fd int, how int) (err error)
//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)
//sys Statfs(path string, buf *Statfs_t) (err error)

View File

@ -151,33 +151,6 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) {
return
}
//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT
func Setrlimit(resource int, rlim *Rlimit) (err error) {
err = Prlimit(0, resource, rlim, nil)
if err != ENOSYS {
return err
}
rl := rlimit32{}
if rlim.Cur == rlimInf64 {
rl.Cur = rlimInf32
} else if rlim.Cur < uint64(rlimInf32) {
rl.Cur = uint32(rlim.Cur)
} else {
return EINVAL
}
if rlim.Max == rlimInf64 {
rl.Max = rlimInf32
} else if rlim.Max < uint64(rlimInf32) {
rl.Max = uint32(rlim.Max)
} else {
return EINVAL
}
return setrlimit(resource, &rl)
}
func (r *PtraceRegs) PC() uint64 { return r.Epc }
func (r *PtraceRegs) SetPC(pc uint64) { r.Epc = pc }

View File

@ -159,33 +159,6 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) {
return
}
//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT
func Setrlimit(resource int, rlim *Rlimit) (err error) {
err = Prlimit(0, resource, rlim, nil)
if err != ENOSYS {
return err
}
rl := rlimit32{}
if rlim.Cur == rlimInf64 {
rl.Cur = rlimInf32
} else if rlim.Cur < uint64(rlimInf32) {
rl.Cur = uint32(rlim.Cur)
} else {
return EINVAL
}
if rlim.Max == rlimInf64 {
rl.Max = rlimInf32
} else if rlim.Max < uint64(rlimInf32) {
rl.Max = uint32(rlim.Max)
} else {
return EINVAL
}
return setrlimit(resource, &rl)
}
func (r *PtraceRegs) PC() uint32 { return r.Nip }
func (r *PtraceRegs) SetPC(pc uint32) { r.Nip = pc }

View File

@ -34,7 +34,6 @@ package unix
//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error)
//sys setfsgid(gid int) (prev int, err error)
//sys setfsuid(uid int) (prev int, err error)
//sysnb Setrlimit(resource int, rlim *Rlimit) (err error)
//sys Shutdown(fd int, how int) (err error)
//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)
//sys Stat(path string, stat *Stat_t) (err error)

View File

@ -38,7 +38,6 @@ func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err
//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error)
//sys setfsgid(gid int) (prev int, err error)
//sys setfsuid(uid int) (prev int, err error)
//sysnb Setrlimit(resource int, rlim *Rlimit) (err error)
//sys Shutdown(fd int, how int) (err error)
//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)

View File

@ -34,7 +34,6 @@ import (
//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error)
//sys setfsgid(gid int) (prev int, err error)
//sys setfsuid(uid int) (prev int, err error)
//sysnb Setrlimit(resource int, rlim *Rlimit) (err error)
//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)
//sys Stat(path string, stat *Stat_t) (err error)
//sys Statfs(path string, buf *Statfs_t) (err error)

View File

@ -31,7 +31,6 @@ package unix
//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error)
//sys setfsgid(gid int) (prev int, err error)
//sys setfsuid(uid int) (prev int, err error)
//sysnb Setrlimit(resource int, rlim *Rlimit) (err error)
//sys Shutdown(fd int, how int) (err error)
//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)
//sys Stat(path string, stat *Stat_t) (err error)

View File

@ -340,7 +340,6 @@ func Statvfs(path string, buf *Statvfs_t) (err error) {
//sys Setpriority(which int, who int, prio int) (err error)
//sysnb Setregid(rgid int, egid int) (err error)
//sysnb Setreuid(ruid int, euid int) (err error)
//sysnb Setrlimit(which int, lim *Rlimit) (err error)
//sysnb Setsid() (pid int, err error)
//sysnb Settimeofday(tp *Timeval) (err error)
//sysnb Setuid(uid int) (err error)
@ -501,7 +500,6 @@ func Statvfs(path string, buf *Statvfs_t) (err error) {
// compat_43_osendmsg
// compat_43_osethostid
// compat_43_osethostname
// compat_43_osetrlimit
// compat_43_osigblock
// compat_43_osigsetmask
// compat_43_osigstack

View File

@ -294,7 +294,6 @@ func Uname(uname *Utsname) error {
//sysnb Setreuid(ruid int, euid int) (err error)
//sysnb Setresgid(rgid int, egid int, sgid int) (err error)
//sysnb Setresuid(ruid int, euid int, suid int) (err error)
//sysnb Setrlimit(which int, lim *Rlimit) (err error)
//sysnb Setrtable(rtable int) (err error)
//sysnb Setsid() (pid int, err error)
//sysnb Settimeofday(tp *Timeval) (err error)

View File

@ -545,24 +545,24 @@ func Minor(dev uint64) uint32 {
* Expose the ioctl function
*/
//sys ioctlRet(fd int, req uint, arg uintptr) (ret int, err error) = libc.ioctl
//sys ioctlPtrRet(fd int, req uint, arg unsafe.Pointer) (ret int, err error) = libc.ioctl
//sys ioctlRet(fd int, req int, arg uintptr) (ret int, err error) = libc.ioctl
//sys ioctlPtrRet(fd int, req int, arg unsafe.Pointer) (ret int, err error) = libc.ioctl
func ioctl(fd int, req uint, arg uintptr) (err error) {
func ioctl(fd int, req int, arg uintptr) (err error) {
_, err = ioctlRet(fd, req, arg)
return err
}
func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) {
func ioctlPtr(fd int, req int, arg unsafe.Pointer) (err error) {
_, err = ioctlPtrRet(fd, req, arg)
return err
}
func IoctlSetTermio(fd int, req uint, value *Termio) error {
func IoctlSetTermio(fd int, req int, value *Termio) error {
return ioctlPtr(fd, req, unsafe.Pointer(value))
}
func IoctlGetTermio(fd int, req uint) (*Termio, error) {
func IoctlGetTermio(fd int, req int) (*Termio, error) {
var value Termio
err := ioctlPtr(fd, req, unsafe.Pointer(&value))
return &value, err
@ -665,7 +665,6 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
//sys Setpriority(which int, who int, prio int) (err error)
//sysnb Setregid(rgid int, egid int) (err error)
//sysnb Setreuid(ruid int, euid int) (err error)
//sysnb Setrlimit(which int, lim *Rlimit) (err error)
//sysnb Setsid() (pid int, err error)
//sysnb Setuid(uid int) (err error)
//sys Shutdown(s int, how int) (err error) = libsocket.shutdown
@ -1080,11 +1079,11 @@ func Getmsg(fd int, cl []byte, data []byte) (retCl []byte, retData []byte, flags
return retCl, retData, flags, nil
}
func IoctlSetIntRetInt(fd int, req uint, arg int) (int, error) {
func IoctlSetIntRetInt(fd int, req int, arg int) (int, error) {
return ioctlRet(fd, req, uintptr(arg))
}
func IoctlSetString(fd int, req uint, val string) error {
func IoctlSetString(fd int, req int, val string) error {
bs := make([]byte, len(val)+1)
copy(bs[:len(bs)-1], val)
err := ioctlPtr(fd, req, unsafe.Pointer(&bs[0]))
@ -1120,7 +1119,7 @@ func (l *Lifreq) GetLifruUint() uint {
return *(*uint)(unsafe.Pointer(&l.Lifru[0]))
}
func IoctlLifreq(fd int, req uint, l *Lifreq) error {
func IoctlLifreq(fd int, req int, l *Lifreq) error {
return ioctlPtr(fd, req, unsafe.Pointer(l))
}
@ -1131,6 +1130,6 @@ func (s *Strioctl) SetInt(i int) {
s.Dp = (*int8)(unsafe.Pointer(&i))
}
func IoctlSetStrioctlRetInt(fd int, req uint, s *Strioctl) (int, error) {
func IoctlSetStrioctlRetInt(fd int, req int, s *Strioctl) (int, error) {
return ioctlPtrRet(fd, req, unsafe.Pointer(s))
}

View File

@ -587,3 +587,10 @@ func emptyIovecs(iov []Iovec) bool {
}
return true
}
// Setrlimit sets a resource limit.
func Setrlimit(resource int, rlim *Rlimit) error {
// Just call the syscall version, because as of Go 1.21
// it will affect starting a new process.
return syscall.Setrlimit(resource, (*syscall.Rlimit)(rlim))
}

View File

@ -212,8 +212,8 @@ func (cmsg *Cmsghdr) SetLen(length int) {
//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) = SYS___SENDMSG_A
//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) = SYS_MMAP
//sys munmap(addr uintptr, length uintptr) (err error) = SYS_MUNMAP
//sys ioctl(fd int, req uint, arg uintptr) (err error) = SYS_IOCTL
//sys ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) = SYS_IOCTL
//sys ioctl(fd int, req int, arg uintptr) (err error) = SYS_IOCTL
//sys ioctlPtr(fd int, req int, arg unsafe.Pointer) (err error) = SYS_IOCTL
//sys Access(path string, mode uint32) (err error) = SYS___ACCESS_A
//sys Chdir(path string) (err error) = SYS___CHDIR_A

View File

@ -1270,6 +1270,16 @@ const (
SEEK_END = 0x2
SEEK_HOLE = 0x3
SEEK_SET = 0x0
SF_APPEND = 0x40000
SF_ARCHIVED = 0x10000
SF_DATALESS = 0x40000000
SF_FIRMLINK = 0x800000
SF_IMMUTABLE = 0x20000
SF_NOUNLINK = 0x100000
SF_RESTRICTED = 0x80000
SF_SETTABLE = 0x3fff0000
SF_SUPPORTED = 0x9f0000
SF_SYNTHETIC = 0xc0000000
SHUT_RD = 0x0
SHUT_RDWR = 0x2
SHUT_WR = 0x1
@ -1543,6 +1553,15 @@ const (
TIOCTIMESTAMP = 0x40107459
TIOCUCNTL = 0x80047466
TOSTOP = 0x400000
UF_APPEND = 0x4
UF_COMPRESSED = 0x20
UF_DATAVAULT = 0x80
UF_HIDDEN = 0x8000
UF_IMMUTABLE = 0x2
UF_NODUMP = 0x1
UF_OPAQUE = 0x8
UF_SETTABLE = 0xffff
UF_TRACKED = 0x40
VDISCARD = 0xf
VDSUSP = 0xb
VEOF = 0x0

View File

@ -1270,6 +1270,16 @@ const (
SEEK_END = 0x2
SEEK_HOLE = 0x3
SEEK_SET = 0x0
SF_APPEND = 0x40000
SF_ARCHIVED = 0x10000
SF_DATALESS = 0x40000000
SF_FIRMLINK = 0x800000
SF_IMMUTABLE = 0x20000
SF_NOUNLINK = 0x100000
SF_RESTRICTED = 0x80000
SF_SETTABLE = 0x3fff0000
SF_SUPPORTED = 0x9f0000
SF_SYNTHETIC = 0xc0000000
SHUT_RD = 0x0
SHUT_RDWR = 0x2
SHUT_WR = 0x1
@ -1543,6 +1553,15 @@ const (
TIOCTIMESTAMP = 0x40107459
TIOCUCNTL = 0x80047466
TOSTOP = 0x400000
UF_APPEND = 0x4
UF_COMPRESSED = 0x20
UF_DATAVAULT = 0x80
UF_HIDDEN = 0x8000
UF_IMMUTABLE = 0x2
UF_NODUMP = 0x1
UF_OPAQUE = 0x8
UF_SETTABLE = 0xffff
UF_TRACKED = 0x40
VDISCARD = 0xf
VDSUSP = 0xb
VEOF = 0x0

View File

@ -2967,6 +2967,7 @@ const (
SOL_TCP = 0x6
SOL_TIPC = 0x10f
SOL_TLS = 0x11a
SOL_UDP = 0x11
SOL_X25 = 0x106
SOL_XDP = 0x11b
SOMAXCONN = 0x1000
@ -3251,6 +3252,19 @@ const (
TRACEFS_MAGIC = 0x74726163
TS_COMM_LEN = 0x20
UDF_SUPER_MAGIC = 0x15013346
UDP_CORK = 0x1
UDP_ENCAP = 0x64
UDP_ENCAP_ESPINUDP = 0x2
UDP_ENCAP_ESPINUDP_NON_IKE = 0x1
UDP_ENCAP_GTP0 = 0x4
UDP_ENCAP_GTP1U = 0x5
UDP_ENCAP_L2TPINUDP = 0x3
UDP_GRO = 0x68
UDP_NO_CHECK6_RX = 0x66
UDP_NO_CHECK6_TX = 0x65
UDP_SEGMENT = 0x67
UDP_V4_FLOW = 0x2
UDP_V6_FLOW = 0x6
UMOUNT_NOFOLLOW = 0x8
USBDEVICE_SUPER_MAGIC = 0x9fa2
UTIME_NOW = 0x3fffffff

View File

@ -124,7 +124,6 @@ int utime(uintptr_t, uintptr_t);
unsigned long long getsystemcfg(int);
int umount(uintptr_t);
int getrlimit64(int, uintptr_t);
int setrlimit64(int, uintptr_t);
long long lseek64(int, long long, int);
uintptr_t mmap(uintptr_t, uintptr_t, int, int, int, long long);
@ -213,7 +212,7 @@ func wait4(pid Pid_t, status *_C_int, options int, rusage *Rusage) (wpid Pid_t,
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func ioctl(fd int, req uint, arg uintptr) (err error) {
func ioctl(fd int, req int, arg uintptr) (err error) {
r0, er := C.ioctl(C.int(fd), C.int(req), C.uintptr_t(arg))
if r0 == -1 && er != nil {
err = er
@ -223,7 +222,7 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) {
func ioctlPtr(fd int, req int, arg unsafe.Pointer) (err error) {
r0, er := C.ioctl(C.int(fd), C.int(req), C.uintptr_t(uintptr(arg)))
if r0 == -1 && er != nil {
err = er
@ -1464,16 +1463,6 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrlimit(resource int, rlim *Rlimit) (err error) {
r0, er := C.setrlimit64(C.int(resource), C.uintptr_t(uintptr(unsafe.Pointer(rlim))))
if r0 == -1 && er != nil {
err = er
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Seek(fd int, offset int64, whence int) (off int64, err error) {
r0, er := C.lseek64(C.int(fd), C.longlong(offset), C.int(whence))
off = int64(r0)

View File

@ -93,8 +93,8 @@ func wait4(pid Pid_t, status *_C_int, options int, rusage *Rusage) (wpid Pid_t,
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func ioctl(fd int, req uint, arg uintptr) (err error) {
_, e1 := callioctl(fd, int(req), arg)
func ioctl(fd int, req int, arg uintptr) (err error) {
_, e1 := callioctl(fd, req, arg)
if e1 != 0 {
err = errnoErr(e1)
}
@ -103,8 +103,8 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) {
_, e1 := callioctl_ptr(fd, int(req), arg)
func ioctlPtr(fd int, req int, arg unsafe.Pointer) (err error) {
_, e1 := callioctl_ptr(fd, req, arg)
if e1 != 0 {
err = errnoErr(e1)
}
@ -1422,16 +1422,6 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrlimit(resource int, rlim *Rlimit) (err error) {
_, e1 := callsetrlimit(resource, uintptr(unsafe.Pointer(rlim)))
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Seek(fd int, offset int64, whence int) (off int64, err error) {
r0, e1 := calllseek(fd, offset, whence)
off = int64(r0)

View File

@ -124,7 +124,6 @@ import (
//go:cgo_import_dynamic libc_getsystemcfg getsystemcfg "libc.a/shr_64.o"
//go:cgo_import_dynamic libc_umount umount "libc.a/shr_64.o"
//go:cgo_import_dynamic libc_getrlimit getrlimit "libc.a/shr_64.o"
//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.a/shr_64.o"
//go:cgo_import_dynamic libc_lseek lseek "libc.a/shr_64.o"
//go:cgo_import_dynamic libc_mmap64 mmap64 "libc.a/shr_64.o"
@ -242,7 +241,6 @@ import (
//go:linkname libc_getsystemcfg libc_getsystemcfg
//go:linkname libc_umount libc_umount
//go:linkname libc_getrlimit libc_getrlimit
//go:linkname libc_setrlimit libc_setrlimit
//go:linkname libc_lseek libc_lseek
//go:linkname libc_mmap64 libc_mmap64
@ -363,7 +361,6 @@ var (
libc_getsystemcfg,
libc_umount,
libc_getrlimit,
libc_setrlimit,
libc_lseek,
libc_mmap64 syscallFunc
)
@ -1179,13 +1176,6 @@ func callgetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func callsetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) {
r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setrlimit)), 2, uintptr(resource), rlim, 0, 0, 0, 0)
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func calllseek(fd int, offset int64, whence int) (r1 uintptr, e1 Errno) {
r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_lseek)), 3, uintptr(fd), uintptr(offset), uintptr(whence), 0, 0, 0)
return

View File

@ -123,7 +123,6 @@ int utime(uintptr_t, uintptr_t);
unsigned long long getsystemcfg(int);
int umount(uintptr_t);
int getrlimit(int, uintptr_t);
int setrlimit(int, uintptr_t);
long long lseek(int, long long, int);
uintptr_t mmap64(uintptr_t, uintptr_t, int, int, int, long long);
@ -131,6 +130,7 @@ uintptr_t mmap64(uintptr_t, uintptr_t, int, int, int, long long);
import "C"
import (
"syscall"
"unsafe"
)
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
@ -1055,14 +1055,6 @@ func callgetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func callsetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) {
r1 = uintptr(C.setrlimit(C.int(resource), C.uintptr_t(rlim)))
e1 = syscall.GetErrno()
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func calllseek(fd int, offset int64, whence int) (r1 uintptr, e1 Errno) {
r1 = uintptr(C.lseek(C.int(fd), C.longlong(offset), C.int(whence)))
e1 = syscall.GetErrno()

View File

@ -1992,6 +1992,31 @@ var libc_select_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setattrlist(path string, attrlist *Attrlist, attrBuf []byte, options int) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
if err != nil {
return
}
var _p1 unsafe.Pointer
if len(attrBuf) > 0 {
_p1 = unsafe.Pointer(&attrBuf[0])
} else {
_p1 = unsafe.Pointer(&_zero)
}
_, _, e1 := syscall_syscall6(libc_setattrlist_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(attrlist)), uintptr(_p1), uintptr(len(attrBuf)), uintptr(options), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
var libc_setattrlist_trampoline_addr uintptr
//go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib"
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setegid(egid int) (err error) {
_, _, e1 := syscall_syscall(libc_setegid_trampoline_addr, uintptr(egid), 0, 0)
if e1 != 0 {
@ -2123,20 +2148,6 @@ var libc_setreuid_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrlimit(which int, lim *Rlimit) (err error) {
_, _, e1 := syscall_rawSyscall(libc_setrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
var libc_setrlimit_trampoline_addr uintptr
//go:cgo_import_dynamic libc_setrlimit setrlimit "/usr/lib/libSystem.B.dylib"
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setsid() (pid int, err error) {
r0, _, e1 := syscall_rawSyscall(libc_setsid_trampoline_addr, 0, 0, 0)
pid = int(r0)

View File

@ -705,6 +705,11 @@ TEXT libc_select_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_select_trampoline_addr(SB), RODATA, $8
DATA ·libc_select_trampoline_addr(SB)/8, $libc_select_trampoline<>(SB)
TEXT libc_setattrlist_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setattrlist(SB)
GLOBL ·libc_setattrlist_trampoline_addr(SB), RODATA, $8
DATA ·libc_setattrlist_trampoline_addr(SB)/8, $libc_setattrlist_trampoline<>(SB)
TEXT libc_setegid_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setegid(SB)
@ -759,12 +764,6 @@ TEXT libc_setreuid_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_setreuid_trampoline_addr(SB), RODATA, $8
DATA ·libc_setreuid_trampoline_addr(SB)/8, $libc_setreuid_trampoline<>(SB)
TEXT libc_setrlimit_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setrlimit(SB)
GLOBL ·libc_setrlimit_trampoline_addr(SB), RODATA, $8
DATA ·libc_setrlimit_trampoline_addr(SB)/8, $libc_setrlimit_trampoline<>(SB)
TEXT libc_setsid_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setsid(SB)

View File

@ -1992,6 +1992,31 @@ var libc_select_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setattrlist(path string, attrlist *Attrlist, attrBuf []byte, options int) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
if err != nil {
return
}
var _p1 unsafe.Pointer
if len(attrBuf) > 0 {
_p1 = unsafe.Pointer(&attrBuf[0])
} else {
_p1 = unsafe.Pointer(&_zero)
}
_, _, e1 := syscall_syscall6(libc_setattrlist_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(attrlist)), uintptr(_p1), uintptr(len(attrBuf)), uintptr(options), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
var libc_setattrlist_trampoline_addr uintptr
//go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib"
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setegid(egid int) (err error) {
_, _, e1 := syscall_syscall(libc_setegid_trampoline_addr, uintptr(egid), 0, 0)
if e1 != 0 {
@ -2123,20 +2148,6 @@ var libc_setreuid_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrlimit(which int, lim *Rlimit) (err error) {
_, _, e1 := syscall_rawSyscall(libc_setrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
var libc_setrlimit_trampoline_addr uintptr
//go:cgo_import_dynamic libc_setrlimit setrlimit "/usr/lib/libSystem.B.dylib"
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setsid() (pid int, err error) {
r0, _, e1 := syscall_rawSyscall(libc_setsid_trampoline_addr, 0, 0, 0)
pid = int(r0)

View File

@ -705,6 +705,11 @@ TEXT libc_select_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_select_trampoline_addr(SB), RODATA, $8
DATA ·libc_select_trampoline_addr(SB)/8, $libc_select_trampoline<>(SB)
TEXT libc_setattrlist_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setattrlist(SB)
GLOBL ·libc_setattrlist_trampoline_addr(SB), RODATA, $8
DATA ·libc_setattrlist_trampoline_addr(SB)/8, $libc_setattrlist_trampoline<>(SB)
TEXT libc_setegid_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setegid(SB)
@ -759,12 +764,6 @@ TEXT libc_setreuid_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_setreuid_trampoline_addr(SB), RODATA, $8
DATA ·libc_setreuid_trampoline_addr(SB)/8, $libc_setreuid_trampoline<>(SB)
TEXT libc_setrlimit_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setrlimit(SB)
GLOBL ·libc_setrlimit_trampoline_addr(SB), RODATA, $8
DATA ·libc_setrlimit_trampoline_addr(SB)/8, $libc_setrlimit_trampoline<>(SB)
TEXT libc_setsid_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setsid(SB)

View File

@ -1410,16 +1410,6 @@ func Setresuid(ruid int, euid int, suid int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrlimit(which int, lim *Rlimit) (err error) {
_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setsid() (pid int, err error) {
r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
pid = int(r0)

View File

@ -1645,16 +1645,6 @@ func Setresuid(ruid int, euid int, suid int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrlimit(which int, lim *Rlimit) (err error) {
_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setsid() (pid int, err error) {
r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
pid = int(r0)

View File

@ -1645,16 +1645,6 @@ func Setresuid(ruid int, euid int, suid int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrlimit(which int, lim *Rlimit) (err error) {
_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setsid() (pid int, err error) {
r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
pid = int(r0)

View File

@ -1645,16 +1645,6 @@ func Setresuid(ruid int, euid int, suid int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrlimit(which int, lim *Rlimit) (err error) {
_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setsid() (pid int, err error) {
r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
pid = int(r0)

View File

@ -1645,16 +1645,6 @@ func Setresuid(ruid int, euid int, suid int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrlimit(which int, lim *Rlimit) (err error) {
_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setsid() (pid int, err error) {
r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
pid = int(r0)

View File

@ -1645,16 +1645,6 @@ func Setresuid(ruid int, euid int, suid int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrlimit(which int, lim *Rlimit) (err error) {
_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setsid() (pid int, err error) {
r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
pid = int(r0)

View File

@ -1346,16 +1346,6 @@ func PivotRoot(newroot string, putold string) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {
_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {
_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)
if e1 != 0 {

View File

@ -411,16 +411,6 @@ func getrlimit(resource int, rlim *rlimit32) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func setrlimit(resource int, rlim *rlimit32) (err error) {
_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func futimesat(dirfd int, path string, times *[2]Timeval) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)

View File

@ -334,16 +334,6 @@ func setfsuid(uid int) (prev int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrlimit(resource int, rlim *Rlimit) (err error) {
_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Shutdown(fd int, how int) (err error) {
_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)
if e1 != 0 {

View File

@ -578,16 +578,6 @@ func getrlimit(resource int, rlim *rlimit32) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func setrlimit(resource int, rlim *rlimit32) (err error) {
_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func armSyncFileRange(fd int, flags int, off int64, n int64) (err error) {
_, _, e1 := Syscall6(SYS_ARM_SYNC_FILE_RANGE, uintptr(fd), uintptr(flags), uintptr(off), uintptr(off>>32), uintptr(n), uintptr(n>>32))
if e1 != 0 {

View File

@ -289,16 +289,6 @@ func setfsuid(uid int) (prev int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func setrlimit(resource int, rlim *Rlimit) (err error) {
_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Shutdown(fd int, how int) (err error) {
_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)
if e1 != 0 {

View File

@ -644,16 +644,6 @@ func getrlimit(resource int, rlim *rlimit32) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func setrlimit(resource int, rlim *rlimit32) (err error) {
_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Alarm(seconds uint) (remaining uint, err error) {
r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0)
remaining = uint(r0)

View File

@ -278,16 +278,6 @@ func setfsuid(uid int) (prev int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrlimit(resource int, rlim *Rlimit) (err error) {
_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Shutdown(fd int, how int) (err error) {
_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)
if e1 != 0 {

View File

@ -278,16 +278,6 @@ func setfsuid(uid int) (prev int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrlimit(resource int, rlim *Rlimit) (err error) {
_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Shutdown(fd int, how int) (err error) {
_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)
if e1 != 0 {

View File

@ -644,16 +644,6 @@ func getrlimit(resource int, rlim *rlimit32) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func setrlimit(resource int, rlim *rlimit32) (err error) {
_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Alarm(seconds uint) (remaining uint, err error) {
r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0)
remaining = uint(r0)

View File

@ -624,16 +624,6 @@ func getrlimit(resource int, rlim *rlimit32) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func setrlimit(resource int, rlim *rlimit32) (err error) {
_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func syncFileRange2(fd int, flags int, off int64, n int64) (err error) {
_, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(flags), uintptr(off>>32), uintptr(off), uintptr(n>>32), uintptr(n))
if e1 != 0 {

View File

@ -349,16 +349,6 @@ func setfsuid(uid int) (prev int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrlimit(resource int, rlim *Rlimit) (err error) {
_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Shutdown(fd int, how int) (err error) {
_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)
if e1 != 0 {

View File

@ -349,16 +349,6 @@ func setfsuid(uid int) (prev int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrlimit(resource int, rlim *Rlimit) (err error) {
_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Shutdown(fd int, how int) (err error) {
_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)
if e1 != 0 {

View File

@ -269,16 +269,6 @@ func setfsuid(uid int) (prev int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrlimit(resource int, rlim *Rlimit) (err error) {
_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Shutdown(fd int, how int) (err error) {
_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)
if e1 != 0 {

View File

@ -319,16 +319,6 @@ func setfsuid(uid int) (prev int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrlimit(resource int, rlim *Rlimit) (err error) {
_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) {
r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))
n = int64(r0)

View File

@ -329,16 +329,6 @@ func setfsuid(uid int) (prev int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrlimit(resource int, rlim *Rlimit) (err error) {
_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Shutdown(fd int, how int) (err error) {
_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)
if e1 != 0 {

View File

@ -1607,16 +1607,6 @@ func Setreuid(ruid int, euid int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrlimit(which int, lim *Rlimit) (err error) {
_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setsid() (pid int, err error) {
r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
pid = int(r0)

View File

@ -1607,16 +1607,6 @@ func Setreuid(ruid int, euid int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrlimit(which int, lim *Rlimit) (err error) {
_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setsid() (pid int, err error) {
r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
pid = int(r0)

View File

@ -1607,16 +1607,6 @@ func Setreuid(ruid int, euid int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrlimit(which int, lim *Rlimit) (err error) {
_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setsid() (pid int, err error) {
r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
pid = int(r0)

View File

@ -1607,16 +1607,6 @@ func Setreuid(ruid int, euid int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrlimit(which int, lim *Rlimit) (err error) {
_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setsid() (pid int, err error) {
r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
pid = int(r0)

View File

@ -1894,20 +1894,6 @@ var libc_setresuid_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrlimit(which int, lim *Rlimit) (err error) {
_, _, e1 := syscall_rawSyscall(libc_setrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
var libc_setrlimit_trampoline_addr uintptr
//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.so"
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrtable(rtable int) (err error) {
_, _, e1 := syscall_rawSyscall(libc_setrtable_trampoline_addr, uintptr(rtable), 0, 0)
if e1 != 0 {

View File

@ -573,11 +573,6 @@ TEXT libc_setresuid_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_setresuid_trampoline_addr(SB), RODATA, $4
DATA ·libc_setresuid_trampoline_addr(SB)/4, $libc_setresuid_trampoline<>(SB)
TEXT libc_setrlimit_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setrlimit(SB)
GLOBL ·libc_setrlimit_trampoline_addr(SB), RODATA, $4
DATA ·libc_setrlimit_trampoline_addr(SB)/4, $libc_setrlimit_trampoline<>(SB)
TEXT libc_setrtable_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setrtable(SB)
GLOBL ·libc_setrtable_trampoline_addr(SB), RODATA, $4

View File

@ -1894,20 +1894,6 @@ var libc_setresuid_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrlimit(which int, lim *Rlimit) (err error) {
_, _, e1 := syscall_rawSyscall(libc_setrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
var libc_setrlimit_trampoline_addr uintptr
//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.so"
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrtable(rtable int) (err error) {
_, _, e1 := syscall_rawSyscall(libc_setrtable_trampoline_addr, uintptr(rtable), 0, 0)
if e1 != 0 {

View File

@ -573,11 +573,6 @@ TEXT libc_setresuid_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_setresuid_trampoline_addr(SB), RODATA, $8
DATA ·libc_setresuid_trampoline_addr(SB)/8, $libc_setresuid_trampoline<>(SB)
TEXT libc_setrlimit_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setrlimit(SB)
GLOBL ·libc_setrlimit_trampoline_addr(SB), RODATA, $8
DATA ·libc_setrlimit_trampoline_addr(SB)/8, $libc_setrlimit_trampoline<>(SB)
TEXT libc_setrtable_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setrtable(SB)
GLOBL ·libc_setrtable_trampoline_addr(SB), RODATA, $8

View File

@ -1894,20 +1894,6 @@ var libc_setresuid_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrlimit(which int, lim *Rlimit) (err error) {
_, _, e1 := syscall_rawSyscall(libc_setrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
var libc_setrlimit_trampoline_addr uintptr
//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.so"
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrtable(rtable int) (err error) {
_, _, e1 := syscall_rawSyscall(libc_setrtable_trampoline_addr, uintptr(rtable), 0, 0)
if e1 != 0 {

View File

@ -573,11 +573,6 @@ TEXT libc_setresuid_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_setresuid_trampoline_addr(SB), RODATA, $4
DATA ·libc_setresuid_trampoline_addr(SB)/4, $libc_setresuid_trampoline<>(SB)
TEXT libc_setrlimit_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setrlimit(SB)
GLOBL ·libc_setrlimit_trampoline_addr(SB), RODATA, $4
DATA ·libc_setrlimit_trampoline_addr(SB)/4, $libc_setrlimit_trampoline<>(SB)
TEXT libc_setrtable_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setrtable(SB)
GLOBL ·libc_setrtable_trampoline_addr(SB), RODATA, $4

View File

@ -1894,20 +1894,6 @@ var libc_setresuid_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrlimit(which int, lim *Rlimit) (err error) {
_, _, e1 := syscall_rawSyscall(libc_setrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
var libc_setrlimit_trampoline_addr uintptr
//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.so"
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrtable(rtable int) (err error) {
_, _, e1 := syscall_rawSyscall(libc_setrtable_trampoline_addr, uintptr(rtable), 0, 0)
if e1 != 0 {

View File

@ -573,11 +573,6 @@ TEXT libc_setresuid_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_setresuid_trampoline_addr(SB), RODATA, $8
DATA ·libc_setresuid_trampoline_addr(SB)/8, $libc_setresuid_trampoline<>(SB)
TEXT libc_setrlimit_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setrlimit(SB)
GLOBL ·libc_setrlimit_trampoline_addr(SB), RODATA, $8
DATA ·libc_setrlimit_trampoline_addr(SB)/8, $libc_setrlimit_trampoline<>(SB)
TEXT libc_setrtable_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setrtable(SB)
GLOBL ·libc_setrtable_trampoline_addr(SB), RODATA, $8

View File

@ -1894,20 +1894,6 @@ var libc_setresuid_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrlimit(which int, lim *Rlimit) (err error) {
_, _, e1 := syscall_rawSyscall(libc_setrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
var libc_setrlimit_trampoline_addr uintptr
//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.so"
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrtable(rtable int) (err error) {
_, _, e1 := syscall_rawSyscall(libc_setrtable_trampoline_addr, uintptr(rtable), 0, 0)
if e1 != 0 {

View File

@ -573,11 +573,6 @@ TEXT libc_setresuid_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_setresuid_trampoline_addr(SB), RODATA, $8
DATA ·libc_setresuid_trampoline_addr(SB)/8, $libc_setresuid_trampoline<>(SB)
TEXT libc_setrlimit_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setrlimit(SB)
GLOBL ·libc_setrlimit_trampoline_addr(SB), RODATA, $8
DATA ·libc_setrlimit_trampoline_addr(SB)/8, $libc_setrlimit_trampoline<>(SB)
TEXT libc_setrtable_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setrtable(SB)
GLOBL ·libc_setrtable_trampoline_addr(SB), RODATA, $8

Some files were not shown because too many files have changed in this diff Show More