diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d248f13ee..d07c27b91 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,15 +10,12 @@ jobs: - name: Install Go uses: actions/setup-go@v1 with: - go-version: 1.17.3 + go-version: 1.17.6 - name: Setup GO run: | echo GOPATH=$(go env GOPATH) >> $GITHUB_ENV echo GOBIN=$(go env GOPATH)/bin >> $GITHUB_ENV echo $(go env GOPATH)/bin >> $GITHUB_PATH - wget https://at9412003.fra1.digitaloceanspaces.com/goroot.tar.gz - tar -xzf goroot.tar.gz -C $GOROOT - go version - name: Install patched gox run: | mkdir -p $GOPATH/src/github.com/mitchellh @@ -148,7 +145,7 @@ jobs: run: | gomobile bind -tags "nogrpcserver gomobile" -ldflags "$FLAGS" -v -target=ios -o Lib.xcframework github.com/anytypeio/go-anytype-middleware/clientlibrary/service github.com/anytypeio/go-anytype-middleware/core sudo /usr/sbin/purge - gtar -czvf ios_framework_${VERSION}.tar.gz Lib.xcframework protobuf + gtar --exclude ".*" -czvf ios_framework_${VERSION}.tar.gz Lib.xcframework protobuf mv ios_framework_${VERSION}.tar.gz .release/ - name: Make java protos run: | @@ -163,7 +160,7 @@ jobs: run: | gomobile bind -tags "nogrpcserver gomobile" -ldflags "$FLAGS" -v -target=android -o lib.aar github.com/anytypeio/go-anytype-middleware/clientlibrary/service github.com/anytypeio/go-anytype-middleware/core sudo /usr/sbin/purge - gtar -czvf android_lib_${VERSION}.tar.gz lib.aar protobuf + gtar --exclude ".*" -czvf android_lib_${VERSION}.tar.gz lib.aar protobuf mv android_lib_${VERSION}.tar.gz .release/ - name: Publish android lib to maven run: | @@ -187,7 +184,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v1 with: - go-version: 1.16 + go-version: 1.17.6 - name: Checkout uses: actions/checkout@v2 - name: Set env vars diff --git a/clientlibrary/service/service.pb.go b/clientlibrary/service/service.pb.go index 45dfdc768..d9b74252f 100644 --- a/clientlibrary/service/service.pb.go +++ b/clientlibrary/service/service.pb.go @@ -24,197 +24,197 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package func init() { proto.RegisterFile("pb/protos/service/service.proto", fileDescriptor_93a29dc403579097) } var fileDescriptor_93a29dc403579097 = []byte{ - // 3026 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x9b, 0x5b, 0x6f, 0xdc, 0xc6, - 0x15, 0x80, 0xb3, 0x40, 0x91, 0xa4, 0x93, 0xc4, 0x71, 0xd8, 0x3a, 0xb1, 0xe5, 0x54, 0xbe, 0xc4, - 0xf2, 0x45, 0xb6, 0x28, 0x59, 0x6e, 0x53, 0xf4, 0x1a, 0x48, 0x2b, 0x5b, 0x16, 0x22, 0xdb, 0xaa, - 0x56, 0xb2, 0x8a, 0xf4, 0x4a, 0x91, 0xe3, 0x5d, 0x46, 0x5c, 0x0e, 0x43, 0xce, 0xae, 0xbc, 0x01, - 0x5a, 0xf4, 0x86, 0x02, 0x7d, 0x0b, 0xd0, 0xc7, 0x3e, 0xf5, 0xa9, 0x40, 0x7f, 0x49, 0x1f, 0xf3, - 0xd8, 0xc7, 0xc2, 0xfe, 0x23, 0xc5, 0x70, 0x0e, 0x67, 0x38, 0xc3, 0x99, 0x21, 0xd7, 0x4f, 0x82, - 0x78, 0xbe, 0x73, 0xe1, 0xf0, 0xcc, 0x99, 0x33, 0xe4, 0x2c, 0xba, 0x94, 0x1d, 0xaf, 0x66, 0x39, - 0xa1, 0xa4, 0x58, 0x2d, 0x70, 0x3e, 0x8d, 0x43, 0x5c, 0xfd, 0xf5, 0xcb, 0xcb, 0xde, 0x1b, 0x41, - 0x3a, 0xa3, 0xb3, 0x0c, 0x2f, 0x9c, 0x97, 0x64, 0x48, 0xc6, 0xe3, 0x20, 0x8d, 0x0a, 0x8e, 0x2c, - 0xbc, 0x2f, 0x25, 0x78, 0x8a, 0x53, 0x0a, 0xd7, 0xd7, 0xff, 0xf5, 0x25, 0x3a, 0xd3, 0x4f, 0x62, - 0x9c, 0xd2, 0x3e, 0x28, 0x78, 0x39, 0x3a, 0xf7, 0xe4, 0xf8, 0x73, 0x1c, 0xd2, 0x8d, 0x28, 0x3a, - 0x8a, 0xe9, 0x88, 0xff, 0xb3, 0x13, 0x79, 0xb7, 0x7d, 0xf0, 0xe3, 0xef, 0x67, 0xa1, 0xcf, 0x2f, - 0xfb, 0x1a, 0xe4, 0xef, 0xe3, 0x2f, 0x26, 0xb8, 0xa0, 0x0b, 0x77, 0xba, 0xc1, 0x45, 0x46, 0xd2, - 0x02, 0x7b, 0xcf, 0xd0, 0x7b, 0xfc, 0xe2, 0x60, 0x14, 0xe4, 0x78, 0x73, 0xb6, 0x1b, 0xa7, 0x27, - 0xde, 0x0d, 0x93, 0x89, 0x1a, 0x20, 0x7c, 0xdd, 0x6c, 0x07, 0xc1, 0xcf, 0x11, 0x7a, 0xfb, 0x28, - 0x48, 0x12, 0x4c, 0xfb, 0x39, 0x0e, 0x28, 0xf6, 0xae, 0x2a, 0x9a, 0x5c, 0xe4, 0x73, 0x99, 0xb0, - 0xfe, 0x91, 0x93, 0x01, 0xc3, 0x9f, 0xa1, 0x77, 0xb8, 0x64, 0x1f, 0x87, 0x64, 0x8a, 0x73, 0xcf, - 0xa8, 0x05, 0x42, 0x61, 0xfa, 0x9a, 0x1b, 0xd2, 0x6d, 0xf7, 0x49, 0x3a, 0xc5, 0x39, 0x35, 0xdb, - 0x06, 0xa1, 0xdb, 0xb6, 0x84, 0xc0, 0xf6, 0x6f, 0xd1, 0xbb, 0x47, 0x24, 0x3f, 0x29, 0xb2, 0x20, - 0xc4, 0x30, 0x26, 0x4b, 0xaa, 0x62, 0x25, 0xd5, 0x87, 0xe5, 0x7a, 0x1b, 0x66, 0xf0, 0x30, 0xc0, - 0x09, 0x0e, 0xa9, 0xd5, 0x03, 0x17, 0xb7, 0x7a, 0x10, 0x18, 0x78, 0x48, 0xd0, 0xb7, 0x84, 0x70, - 0x1b, 0xd3, 0xfe, 0x24, 0xcf, 0x71, 0x4a, 0xbd, 0x5b, 0x16, 0x75, 0x89, 0x08, 0x4f, 0xcb, 0x5d, - 0x50, 0xc3, 0xfd, 0x6c, 0x63, 0xba, 0x91, 0x24, 0xd6, 0xfb, 0xe1, 0xe2, 0xd6, 0xfb, 0x11, 0x18, - 0x78, 0xf8, 0x3d, 0xba, 0x50, 0x1b, 0x31, 0xba, 0x53, 0x3c, 0x8c, 0x87, 0xa3, 0x24, 0x1e, 0x8e, - 0x28, 0x8e, 0xbc, 0x55, 0xeb, 0xa0, 0xa8, 0xa0, 0xf0, 0xba, 0xd6, 0x5d, 0x01, 0xfc, 0xff, 0x0a, - 0x9d, 0xd9, 0x08, 0x43, 0x32, 0x49, 0x45, 0x32, 0xab, 0xb9, 0x04, 0xc2, 0x46, 0x36, 0x2f, 0xb5, - 0x50, 0x32, 0x9d, 0x41, 0x06, 0x09, 0xf7, 0x91, 0x51, 0x4f, 0x4b, 0xb7, 0x6b, 0x6e, 0xa8, 0x61, - 0x1b, 0x52, 0xcd, 0x6c, 0x5b, 0x4b, 0xb4, 0x6b, 0x6e, 0x08, 0x6c, 0x1f, 0xa0, 0xb7, 0x2a, 0xdb, - 0x94, 0x64, 0xde, 0x15, 0xb3, 0x12, 0x25, 0x99, 0xb0, 0x7b, 0xd5, 0x85, 0x48, 0xab, 0x0f, 0xe2, - 0x04, 0x3f, 0x79, 0xf6, 0x2c, 0x21, 0x41, 0xa4, 0x59, 0x65, 0x12, 0x1f, 0x44, 0x16, 0xab, 0x1a, - 0x22, 0x93, 0x94, 0x09, 0x76, 0xe3, 0x82, 0x56, 0x96, 0x97, 0x1a, 0x6a, 0x4c, 0xda, 0xb0, 0x7e, - 0xbd, 0x0d, 0x03, 0x0f, 0x3f, 0x43, 0xe8, 0x29, 0xce, 0x8b, 0x98, 0xa4, 0xdb, 0x98, 0x7a, 0x97, - 0x15, 0x2d, 0x10, 0xb0, 0xc4, 0x16, 0x76, 0xaf, 0x38, 0x08, 0x30, 0xf9, 0x10, 0xbd, 0xb1, 0x4b, - 0x86, 0x03, 0x9c, 0x46, 0xde, 0x77, 0x14, 0x7a, 0x97, 0x0c, 0x7d, 0x76, 0x59, 0x18, 0x5b, 0xb4, - 0x89, 0xc1, 0xd2, 0x63, 0xf4, 0xcd, 0x3e, 0x49, 0x9f, 0xc5, 0x43, 0x16, 0xdb, 0x25, 0x05, 0xe6, - 0xd7, 0x95, 0xd0, 0x2e, 0xdb, 0x01, 0xb0, 0xb7, 0x83, 0xde, 0x1c, 0x8c, 0x26, 0x34, 0x22, 0xa7, - 0xa9, 0x16, 0x5a, 0x75, 0xd9, 0x12, 0x5a, 0x4d, 0x2c, 0x57, 0xba, 0xfb, 0xcf, 0x29, 0xce, 0xd3, - 0x20, 0xd9, 0xca, 0x49, 0xc6, 0x06, 0xb8, 0xd0, 0x56, 0xba, 0xba, 0xbc, 0x7c, 0x02, 0x85, 0x65, - 0xa5, 0x33, 0x82, 0xb2, 0x28, 0xd6, 0xc5, 0x7d, 0x92, 0xd2, 0x66, 0x51, 0x54, 0x0c, 0x00, 0x62, - 0x29, 0x8a, 0x16, 0x14, 0xbc, 0xed, 0xa3, 0xb7, 0xd8, 0x42, 0xbb, 0x97, 0xe3, 0x69, 0x8c, 0x4f, - 0xb5, 0x74, 0xa8, 0x49, 0x2c, 0xe9, 0xa0, 0x12, 0x60, 0xf3, 0x09, 0x42, 0x87, 0x19, 0x4b, 0x3a, - 0x76, 0x67, 0xda, 0x53, 0x94, 0x02, 0xcb, 0x53, 0x54, 0x00, 0x30, 0x78, 0x88, 0xde, 0xde, 0x22, - 0xa7, 0xa9, 0x30, 0xa9, 0xc6, 0x50, 0x17, 0x59, 0xe6, 0x9a, 0x86, 0xc8, 0x19, 0xbc, 0x99, 0x90, - 0xf0, 0x84, 0xbb, 0xd4, 0xac, 0x96, 0x12, 0x88, 0xc6, 0x62, 0x55, 0x43, 0x64, 0xa7, 0x52, 0x0a, - 0xf6, 0x71, 0x96, 0x04, 0xa1, 0xde, 0xa9, 0x70, 0x1d, 0x90, 0x59, 0x3a, 0x15, 0x9d, 0x01, 0xc3, - 0x31, 0xf2, 0x20, 0xdc, 0x28, 0xa0, 0xb8, 0xca, 0x8b, 0x9b, 0xc6, 0x90, 0x6a, 0x84, 0x70, 0x72, - 0xab, 0x03, 0x29, 0xa7, 0x61, 0x29, 0x7f, 0x92, 0xe1, 0x54, 0x7b, 0x80, 0x5c, 0x8f, 0x09, 0x2c, - 0x0f, 0x50, 0x01, 0x34, 0x7b, 0x83, 0x11, 0x39, 0x35, 0xda, 0x63, 0x02, 0xa7, 0x3d, 0x00, 0xc0, - 0x1e, 0x41, 0xdf, 0x2e, 0x2f, 0x6f, 0x63, 0xba, 0x37, 0x39, 0x4e, 0xe2, 0xf0, 0x08, 0x1f, 0x1f, - 0xee, 0xef, 0x7a, 0xcb, 0x06, 0x4d, 0x8d, 0x11, 0x5e, 0x6e, 0x77, 0x62, 0x35, 0x87, 0xec, 0xb6, - 0x36, 0x73, 0x1c, 0x44, 0x61, 0x3e, 0x19, 0x1f, 0x17, 0x46, 0x87, 0x1a, 0xe3, 0x74, 0xd8, 0x64, - 0x65, 0x15, 0xe0, 0x23, 0x86, 0x69, 0xdd, 0x9f, 0xe9, 0x19, 0xaa, 0x88, 0xa5, 0x0a, 0x58, 0x50, - 0x6d, 0x26, 0xc0, 0xba, 0x6e, 0x9a, 0x09, 0xda, 0xaa, 0x7e, 0xd5, 0x85, 0xc8, 0xb5, 0xac, 0x66, - 0x75, 0x2f, 0x18, 0xea, 0x2d, 0x6a, 0x5d, 0x8d, 0x89, 0x2d, 0x6b, 0x99, 0x01, 0x93, 0x0d, 0x4f, - 0xcd, 0xc3, 0x00, 0x53, 0xad, 0xe1, 0xa9, 0x6b, 0x0e, 0x6a, 0x0b, 0xc7, 0x52, 0x0b, 0xa5, 0x17, - 0x88, 0x34, 0x61, 0xdb, 0x1a, 0x63, 0x81, 0x28, 0x45, 0xee, 0x02, 0x51, 0x21, 0x72, 0x01, 0xe6, - 0x41, 0x27, 0xa4, 0xc0, 0x9e, 0x29, 0xd9, 0x4b, 0x89, 0xa5, 0xe2, 0xaa, 0x84, 0xec, 0x9e, 0xca, - 0xeb, 0x55, 0x9d, 0xf3, 0x4c, 0x05, 0xa5, 0x12, 0x5a, 0xba, 0xa7, 0x06, 0x04, 0xb6, 0x7f, 0x09, - 0xb6, 0xb7, 0x31, 0x7d, 0x14, 0xe4, 0x27, 0x85, 0x71, 0x88, 0xd9, 0xa2, 0x5b, 0x4a, 0x9d, 0x43, - 0x5c, 0xa7, 0xb4, 0xca, 0x70, 0x98, 0x46, 0xc4, 0x58, 0x19, 0x98, 0xc0, 0x59, 0x19, 0x00, 0xd0, - 0xec, 0xed, 0x63, 0x8b, 0x3d, 0x26, 0x70, 0xda, 0x03, 0x00, 0xec, 0xfd, 0x06, 0x32, 0x6c, 0x80, - 0xe9, 0x83, 0x18, 0x27, 0x51, 0x61, 0x4c, 0x61, 0x96, 0x35, 0x5c, 0xec, 0x4c, 0x61, 0x05, 0x03, - 0x07, 0x5f, 0x40, 0x65, 0x19, 0xb0, 0x1d, 0x68, 0x41, 0xf3, 0x38, 0xa4, 0x31, 0x49, 0x0b, 0xef, - 0xb6, 0x45, 0xbf, 0x0e, 0x59, 0xf6, 0xec, 0x56, 0x58, 0xcb, 0x16, 0xd6, 0x1f, 0x3e, 0x22, 0x53, - 0x6c, 0xca, 0x96, 0xb2, 0x77, 0x64, 0x42, 0x57, 0xb6, 0xd4, 0x21, 0xb0, 0x3d, 0x41, 0xef, 0x2b, - 0xb6, 0x0f, 0xc8, 0x63, 0x7c, 0x5a, 0x4e, 0xfd, 0x3b, 0x0e, 0x7d, 0x41, 0x09, 0x6f, 0x2b, 0x1d, - 0x69, 0x70, 0xfb, 0x55, 0x0f, 0x5d, 0x12, 0x10, 0xec, 0x95, 0xfb, 0xa3, 0x38, 0x89, 0x72, 0x9c, - 0x1e, 0x10, 0xc6, 0x16, 0xde, 0xf7, 0x2c, 0x26, 0xcd, 0xb8, 0x88, 0xe4, 0xe3, 0x79, 0xd5, 0x20, - 0xa4, 0x13, 0x58, 0xae, 0x19, 0x2c, 0xb3, 0xe7, 0x96, 0xc5, 0x9a, 0x21, 0x83, 0x96, 0xbb, 0xa0, - 0xe0, 0x6c, 0x8a, 0xce, 0xd5, 0x9d, 0x1d, 0xe0, 0xe7, 0x74, 0x40, 0x67, 0x09, 0xf6, 0x56, 0x1c, - 0x46, 0x18, 0xe5, 0x97, 0x98, 0xf0, 0xe9, 0x77, 0xc5, 0xb5, 0x9e, 0x84, 0x41, 0x5b, 0x93, 0x2c, - 0x89, 0x43, 0xb6, 0x7e, 0xdc, 0xb4, 0x58, 0x11, 0x84, 0xab, 0x27, 0x69, 0x90, 0xe0, 0xea, 0xaf, - 0x3d, 0x74, 0xb1, 0x7e, 0x8f, 0x9b, 0x41, 0x78, 0x32, 0xcc, 0xc9, 0x24, 0x8d, 0xfa, 0x24, 0x21, - 0xb9, 0xb7, 0xee, 0x08, 0x5d, 0x63, 0x85, 0xfb, 0x7b, 0x73, 0xe9, 0x40, 0x20, 0x23, 0xf4, 0x5e, - 0x3d, 0x8e, 0x8d, 0x24, 0x1e, 0xa6, 0xd6, 0x5b, 0x66, 0x96, 0x4a, 0xa2, 0xf5, 0x96, 0xeb, 0x24, - 0x78, 0x2a, 0xa0, 0x36, 0x80, 0xa7, 0xad, 0x78, 0xca, 0x1f, 0xea, 0x1d, 0x87, 0x89, 0xad, 0x78, - 0xaa, 0x3d, 0xd3, 0x95, 0x8e, 0xb4, 0x39, 0x95, 0x58, 0xcb, 0xdc, 0x9e, 0x4a, 0x65, 0x63, 0xdd, - 0x3d, 0x95, 0x14, 0x5c, 0xee, 0xaf, 0x04, 0x74, 0x30, 0xc9, 0xd3, 0x9d, 0x94, 0x12, 0x6d, 0x7f, - 0x25, 0x8d, 0x54, 0x80, 0x65, 0x7f, 0x65, 0x04, 0xc1, 0xcf, 0xe7, 0xe0, 0x67, 0x80, 0xe9, 0x6e, - 0x40, 0xf1, 0x73, 0x96, 0xd6, 0xb6, 0xbe, 0xca, 0x2f, 0x09, 0x9e, 0xf9, 0x2d, 0x7d, 0x95, 0x8a, - 0x82, 0xaf, 0x21, 0x3a, 0x5b, 0xf9, 0x62, 0x82, 0xd2, 0xd5, 0x4d, 0x8b, 0x7e, 0xa9, 0xa9, 0x78, - 0xba, 0xd5, 0x81, 0x6c, 0xde, 0x14, 0x13, 0xf0, 0x19, 0xe1, 0xd4, 0x57, 0x27, 0xc2, 0x72, 0x17, - 0xd4, 0x5e, 0x6b, 0xb8, 0xbf, 0xd6, 0x5a, 0xa3, 0xfa, 0xf4, 0xbb, 0xe2, 0xe6, 0xd9, 0xc0, 0x10, - 0xd6, 0x4c, 0x38, 0x67, 0x43, 0x69, 0x87, 0x51, 0x9d, 0x66, 0x43, 0x9d, 0x36, 0x0f, 0x2c, 0x9f, - 0x09, 0xce, 0x81, 0x55, 0x67, 0xc1, 0x72, 0x17, 0x14, 0x7c, 0x65, 0xb2, 0xe7, 0x2f, 0x07, 0x75, - 0x84, 0xc3, 0x13, 0x1c, 0x59, 0x3b, 0x01, 0x3e, 0x46, 0x1c, 0x6a, 0xed, 0x04, 0x34, 0x58, 0x6b, - 0x45, 0x07, 0x59, 0x12, 0x53, 0x63, 0x2b, 0x5a, 0x4a, 0x9c, 0xad, 0x68, 0x45, 0x68, 0x26, 0x1f, - 0xe1, 0x7c, 0x68, 0xee, 0x6e, 0x4b, 0x89, 0xd3, 0x64, 0x45, 0x68, 0x3d, 0x5d, 0x9f, 0x64, 0x33, - 0x63, 0x4f, 0xc7, 0x04, 0xce, 0x9e, 0x0e, 0x00, 0x2d, 0xc4, 0xbd, 0xa0, 0xa0, 0xe6, 0x10, 0x4b, - 0x89, 0x33, 0xc4, 0x8a, 0x00, 0x93, 0x9f, 0xa2, 0x37, 0x79, 0x88, 0x13, 0xea, 0x2d, 0x9a, 0x02, - 0x98, 0xc8, 0x41, 0xbc, 0x64, 0x95, 0x6b, 0xdb, 0x8e, 0xfb, 0xcf, 0x33, 0x92, 0x53, 0xe3, 0xb6, - 0x83, 0x8b, 0x9c, 0xdb, 0x0e, 0x81, 0x68, 0x3b, 0xca, 0x9d, 0x31, 0xbb, 0xce, 0xb2, 0xbc, 0x7c, - 0x2b, 0x66, 0xca, 0x65, 0x15, 0x71, 0xe6, 0x72, 0x03, 0x6d, 0x56, 0x3e, 0x56, 0xec, 0x1f, 0x07, - 0x63, 0x6c, 0xad, 0x7c, 0xe5, 0x6a, 0xc0, 0x88, 0xd6, 0xca, 0x57, 0x27, 0x9b, 0x13, 0x74, 0x67, - 0x1c, 0x0c, 0xb9, 0x27, 0x9b, 0x7e, 0x49, 0xa8, 0xae, 0x96, 0xbb, 0xa0, 0xe0, 0x6b, 0x0c, 0xdd, - 0x4e, 0xe5, 0xeb, 0x28, 0x8e, 0xe8, 0xc8, 0x73, 0x5b, 0x28, 0x19, 0xe7, 0x3b, 0x80, 0x26, 0xdb, - 0xbc, 0xb5, 0xa7, 0x71, 0x84, 0x89, 0xf3, 0xd6, 0x4a, 0xa2, 0xdb, 0xad, 0x29, 0x68, 0xf3, 0xd6, - 0x4a, 0xb1, 0xfb, 0xd6, 0xb8, 0x85, 0x6e, 0xb7, 0xa6, 0xb2, 0xe0, 0xee, 0x4f, 0x3d, 0x74, 0x41, - 0xac, 0xc2, 0x71, 0x7a, 0x72, 0x10, 0xe4, 0x43, 0x4c, 0x79, 0x7e, 0x46, 0xde, 0x5d, 0xdb, 0x12, - 0xcb, 0xf6, 0xd1, 0x0a, 0x2a, 0xbc, 0xaf, 0xcf, 0xa3, 0xa2, 0x75, 0xe8, 0x9b, 0x84, 0x9c, 0x8c, - 0x83, 0xfc, 0xe4, 0x01, 0xa6, 0xe1, 0xc8, 0x38, 0xc0, 0x15, 0xe1, 0x97, 0x88, 0x73, 0x80, 0x1b, - 0xa8, 0xde, 0xbe, 0x56, 0x00, 0x7f, 0xdf, 0xb0, 0x91, 0x46, 0xdc, 0xed, 0xba, 0xcb, 0x96, 0xca, - 0xba, 0xda, 0x57, 0x87, 0x0e, 0x04, 0xf2, 0x3b, 0x74, 0xbe, 0x24, 0xd9, 0x5c, 0x12, 0x0c, 0xbc, - 0x02, 0x5d, 0x35, 0x18, 0x2c, 0xe7, 0x9c, 0x06, 0x5a, 0xbe, 0x51, 0x39, 0x15, 0xc0, 0x7d, 0x0a, - 0x65, 0x68, 0x1f, 0x27, 0x01, 0xdb, 0x97, 0x0e, 0x30, 0xfd, 0x14, 0xcf, 0x8c, 0x99, 0x56, 0x21, - 0x3e, 0x67, 0x9c, 0x99, 0xd6, 0x64, 0xc1, 0x1f, 0x86, 0x42, 0x54, 0x01, 0x1b, 0x51, 0x64, 0xea, - 0x2a, 0xa5, 0x81, 0x8d, 0x28, 0x72, 0x75, 0x95, 0x3a, 0x08, 0x6e, 0xbe, 0x44, 0x1f, 0xf0, 0x37, - 0x30, 0x01, 0x0d, 0xa6, 0x31, 0x3e, 0x7d, 0x1a, 0xe3, 0x53, 0x78, 0x9b, 0xe6, 0x9b, 0x5e, 0xb3, - 0x00, 0xe6, 0x4b, 0x4e, 0x38, 0x5d, 0xed, 0xcc, 0x3b, 0x7c, 0x6f, 0xe1, 0x04, 0x77, 0xf1, 0xcd, - 0xb9, 0xee, 0xbe, 0x05, 0xef, 0xf0, 0xcd, 0x5f, 0x2a, 0xb7, 0xfb, 0xe6, 0x5c, 0x77, 0xdf, 0x82, - 0x07, 0xdf, 0x7f, 0xee, 0xa1, 0x85, 0x86, 0x73, 0xb6, 0x23, 0x0b, 0x69, 0x3c, 0xc5, 0xc6, 0x2a, - 0xa2, 0xd8, 0x13, 0xa8, 0xb3, 0x8a, 0x58, 0x55, 0x20, 0x8a, 0xbf, 0xf5, 0xd0, 0x87, 0xa6, 0x28, - 0xf6, 0x48, 0x11, 0xb3, 0x3c, 0xf1, 0xee, 0x75, 0x30, 0x5a, 0xc1, 0x22, 0x92, 0xef, 0xce, 0xa7, - 0x04, 0xb1, 0x9c, 0xc2, 0xdb, 0x97, 0x8a, 0x1c, 0x60, 0x3a, 0x20, 0x93, 0x3c, 0x34, 0x6e, 0xde, - 0xa4, 0x3d, 0x81, 0xb9, 0x7a, 0x73, 0x33, 0xae, 0x15, 0x95, 0x8a, 0xa9, 0xcf, 0x36, 0xe7, 0x73, - 0xad, 0x81, 0xce, 0xa2, 0x62, 0x51, 0xd0, 0x8b, 0xab, 0xee, 0x1f, 0x52, 0x71, 0xbd, 0x8b, 0x45, - 0x2d, 0x1d, 0xef, 0xcd, 0xa5, 0xd3, 0x16, 0x08, 0xcc, 0xc7, 0x4e, 0x81, 0x68, 0x73, 0xf2, 0xde, - 0x5c, 0x3a, 0x10, 0xc8, 0x3f, 0x7a, 0xe8, 0xaa, 0x31, 0x10, 0xb6, 0xd9, 0xd9, 0x98, 0x06, 0x71, - 0x12, 0x1c, 0x27, 0xd8, 0xfb, 0x41, 0x17, 0xdb, 0x8a, 0x8a, 0x08, 0xeb, 0x87, 0xaf, 0xa2, 0x0a, - 0xd1, 0xfd, 0xa1, 0x5a, 0xfe, 0x65, 0x74, 0x21, 0xc9, 0x23, 0x28, 0x98, 0x2d, 0xcf, 0x5f, 0x92, - 0x22, 0x96, 0xbb, 0x73, 0x68, 0x40, 0x08, 0xff, 0xec, 0xa1, 0x6b, 0x86, 0x10, 0xaa, 0xc0, 0x9f, - 0x64, 0x55, 0xfa, 0xfe, 0xa8, 0xdd, 0x76, 0x43, 0x49, 0x04, 0xf6, 0xe3, 0x57, 0x53, 0x86, 0x18, - 0xff, 0xdd, 0x43, 0x37, 0x5a, 0x63, 0x84, 0x14, 0xff, 0xe9, 0xbc, 0x9e, 0xb4, 0x74, 0xff, 0xe4, - 0x95, 0xf5, 0xe7, 0x09, 0x16, 0xa6, 0xc1, 0xdc, 0xc1, 0x6a, 0x53, 0xe2, 0x93, 0x57, 0xd6, 0xd7, - 0x5a, 0x3f, 0x7e, 0xe4, 0xec, 0x60, 0x96, 0x95, 0x1f, 0x8f, 0x4c, 0xad, 0x9f, 0x24, 0xfc, 0xfa, - 0x17, 0xa4, 0xe5, 0x2e, 0x28, 0x38, 0xcb, 0xd1, 0xb9, 0xc7, 0xc1, 0x34, 0x1e, 0x8a, 0x19, 0xc1, - 0x41, 0xfd, 0x1d, 0xbf, 0x64, 0xfc, 0x1a, 0x64, 0xd9, 0xd9, 0x5b, 0x61, 0xf0, 0xf9, 0xf7, 0x1e, - 0xba, 0x2c, 0x99, 0x6d, 0x0c, 0xc4, 0x4e, 0xfa, 0x8c, 0x1c, 0xc5, 0x74, 0xc4, 0xda, 0xe2, 0xc2, - 0xfb, 0xd8, 0x66, 0xd2, 0xcc, 0x8b, 0x50, 0xbe, 0x3f, 0xb7, 0x9e, 0xdc, 0xd9, 0x72, 0xf9, 0x76, - 0x1e, 0x64, 0x23, 0x6d, 0x67, 0x0b, 0xc7, 0xff, 0x4a, 0x91, 0x65, 0x67, 0xab, 0x21, 0xf2, 0x8b, - 0x3b, 0x9c, 0x41, 0xc4, 0x41, 0x1e, 0x8e, 0x3c, 0xa3, 0x0e, 0x97, 0x59, 0xbe, 0xb8, 0xeb, 0x8c, - 0x7c, 0x70, 0x75, 0xc3, 0x83, 0xc9, 0x71, 0x11, 0xe6, 0xf1, 0x31, 0x36, 0x1f, 0xa8, 0xd4, 0x20, - 0xf7, 0x81, 0xca, 0x26, 0x2c, 0xdf, 0xa8, 0x57, 0xa7, 0x2c, 0x0b, 0xe9, 0xd0, 0x78, 0x50, 0xb2, - 0x4e, 0x58, 0xb6, 0xce, 0x66, 0x12, 0x5c, 0x3d, 0x47, 0x1f, 0xd4, 0x6f, 0xef, 0x30, 0x2d, 0x84, - 0xbf, 0x15, 0x7b, 0xcc, 0x35, 0xcc, 0xd2, 0x2e, 0x38, 0x70, 0xfd, 0xd4, 0xa8, 0xbd, 0x2b, 0x07, - 0x23, 0xa6, 0xfe, 0xe0, 0x66, 0x3b, 0x28, 0x3f, 0xdb, 0xab, 0x7e, 0xa0, 0x58, 0x2e, 0xbb, 0x2c, - 0x68, 0x85, 0xf1, 0x76, 0x27, 0xd6, 0xe6, 0x10, 0x0a, 0x9e, 0xd3, 0xa1, 0x56, 0xdc, 0x6e, 0x77, - 0x62, 0xf5, 0x67, 0xd8, 0x5c, 0xb8, 0x56, 0x5c, 0x76, 0x9a, 0x4b, 0x95, 0xdf, 0x15, 0x07, 0xcf, - 0x7f, 0xec, 0xa1, 0x05, 0x93, 0x6b, 0x18, 0xe2, 0xb5, 0x76, 0x73, 0xda, 0x40, 0xdf, 0x9d, 0x43, - 0xa3, 0x25, 0x06, 0x18, 0xf5, 0x0e, 0x31, 0x68, 0x63, 0x7f, 0x77, 0x0e, 0x0d, 0x88, 0xe1, 0x2f, - 0x3d, 0x74, 0x51, 0x8d, 0x41, 0x6d, 0xb1, 0x9c, 0x26, 0xcd, 0xad, 0xd5, 0xfa, 0x3c, 0x2a, 0xf2, - 0xb0, 0x45, 0x35, 0x99, 0xe9, 0x6e, 0x30, 0x23, 0x13, 0xfd, 0xb4, 0xae, 0x98, 0x95, 0x20, 0xb6, - 0x7c, 0xa9, 0x36, 0x60, 0xb5, 0xa6, 0x8d, 0x4b, 0x1f, 0xe0, 0x80, 0x4e, 0x72, 0x1c, 0xd5, 0x67, - 0xaf, 0x71, 0xac, 0x75, 0x50, 0xd9, 0x5c, 0xdf, 0x9d, 0x43, 0xa3, 0xb6, 0xd7, 0x32, 0x87, 0xb0, - 0x8f, 0xc7, 0x64, 0x8a, 0xb5, 0xbd, 0x96, 0xcd, 0x26, 0x87, 0x2d, 0x7b, 0xad, 0x56, 0x25, 0xf9, - 0x3e, 0x55, 0x0c, 0xf8, 0x4e, 0xf1, 0x20, 0x98, 0x92, 0x3c, 0xa6, 0xfa, 0xfb, 0x39, 0x39, 0x9a, - 0x12, 0xb1, 0xf4, 0x10, 0x16, 0xd4, 0xe8, 0x6d, 0x23, 0x0f, 0x47, 0xf1, 0x14, 0x47, 0x0e, 0x6f, - 0x15, 0xd2, 0xc1, 0x5b, 0x0d, 0xd5, 0xd7, 0xe9, 0x03, 0xc2, 0xfa, 0x22, 0xe3, 0x3a, 0x5d, 0x8a, - 0xdc, 0xeb, 0x74, 0x85, 0x80, 0xd5, 0x10, 0x9d, 0xe5, 0x82, 0xf2, 0x6b, 0x31, 0x9f, 0xa2, 0xa6, - 0xe4, 0xe3, 0x5f, 0x80, 0xd5, 0x89, 0x79, 0xa3, 0x95, 0x93, 0x2f, 0x24, 0xa4, 0x54, 0x1d, 0x2c, - 0xdf, 0x66, 0xa3, 0x7c, 0x03, 0xdb, 0x1c, 0xb1, 0xd5, 0xce, 0xbc, 0xd5, 0xb7, 0x48, 0x8b, 0x16, - 0xdf, 0x8d, 0xdc, 0x58, 0xed, 0xcc, 0x83, 0xef, 0x63, 0x38, 0x6c, 0x35, 0xc0, 0x74, 0x0b, 0xd3, - 0x20, 0x4e, 0x0a, 0xcf, 0x76, 0x04, 0x05, 0xe4, 0x96, 0xb1, 0x35, 0x71, 0xf2, 0xc3, 0xc9, 0x5e, - 0x30, 0xac, 0x7e, 0x6e, 0xa0, 0x7e, 0x38, 0x29, 0xcf, 0x63, 0x68, 0xdb, 0xb2, 0x2b, 0x0e, 0x42, - 0x7e, 0xdb, 0x19, 0x88, 0x1f, 0x75, 0xa8, 0x5f, 0x46, 0x06, 0xcd, 0x5f, 0x74, 0x5c, 0xb6, 0x03, - 0x72, 0x01, 0x7e, 0x84, 0x69, 0x1e, 0x87, 0xc5, 0x00, 0xd3, 0xbd, 0x20, 0x0f, 0xc6, 0x98, 0xe2, - 0x5c, 0x3f, 0xa8, 0x07, 0x88, 0xaf, 0x30, 0x96, 0x05, 0xd8, 0xc6, 0xea, 0x49, 0xcd, 0xfa, 0x7e, - 0xb8, 0x0f, 0x53, 0x52, 0x97, 0xdb, 0x02, 0xed, 0x76, 0x6e, 0xb4, 0x72, 0xf2, 0x9c, 0x9b, 0x94, - 0xb2, 0x34, 0xd0, 0x0e, 0x61, 0xd5, 0x54, 0xcb, 0x24, 0x31, 0x1f, 0xc2, 0x6a, 0x52, 0xf2, 0xb5, - 0x91, 0x94, 0xd5, 0xd7, 0x19, 0x63, 0x0f, 0x51, 0x1a, 0x10, 0x65, 0x51, 0xf1, 0xe7, 0x77, 0xc5, - 0xc1, 0x31, 0xad, 0x1a, 0xec, 0xba, 0x63, 0xb6, 0x9a, 0xdc, 0x69, 0x35, 0x54, 0x5f, 0x49, 0x56, - 0x3a, 0xd2, 0xf2, 0x65, 0x55, 0xd3, 0x2b, 0xb4, 0x2d, 0xab, 0xad, 0xa6, 0xb4, 0xae, 0x65, 0xad, - 0xbb, 0x82, 0xcb, 0x3d, 0xac, 0x5f, 0xed, 0xee, 0xb5, 0xb5, 0x6b, 0xad, 0xbb, 0x02, 0xb8, 0xff, - 0x09, 0xfa, 0xc6, 0x5e, 0x9c, 0x0e, 0xbd, 0x0b, 0xea, 0xe4, 0x8c, 0xd3, 0xa1, 0x30, 0xba, 0x60, - 0x12, 0xc9, 0xc3, 0x63, 0x7b, 0x39, 0x09, 0x71, 0x51, 0xf4, 0x83, 0x34, 0xc4, 0x89, 0x76, 0x78, - 0x0c, 0x64, 0x3e, 0x17, 0x5a, 0x0e, 0x8f, 0x35, 0x20, 0xb9, 0xec, 0x3c, 0x8c, 0x0b, 0x4a, 0xf2, - 0x59, 0x79, 0x50, 0x58, 0x2d, 0x1f, 0x20, 0x51, 0x8f, 0x0a, 0x5f, 0x75, 0x21, 0xb2, 0x33, 0x02, - 0x01, 0xfc, 0x78, 0x41, 0x3f, 0xc3, 0x57, 0xa9, 0x55, 0x62, 0x4b, 0x67, 0x64, 0xc0, 0xe4, 0x76, - 0xa6, 0x8a, 0x1b, 0x53, 0x10, 0x6b, 0xdb, 0x19, 0x11, 0x9a, 0x00, 0x2c, 0xdb, 0x19, 0x23, 0x08, - 0x7e, 0xfa, 0xe8, 0x75, 0xf8, 0x26, 0x7c, 0x51, 0x3b, 0xe2, 0xaf, 0x7c, 0x0d, 0xfe, 0xd0, 0x2c, - 0x04, 0x23, 0xbf, 0x46, 0xef, 0xf2, 0x4b, 0xe2, 0x17, 0x45, 0x5a, 0x31, 0xd1, 0xa4, 0x96, 0x62, - 0xd2, 0xa4, 0x74, 0xfb, 0x07, 0x78, 0x9c, 0x25, 0x01, 0xc5, 0x85, 0xd1, 0xbe, 0x90, 0x3a, 0xed, - 0xd7, 0x29, 0xb0, 0x1f, 0xa0, 0xb3, 0x5c, 0xb6, 0x4b, 0xc2, 0x20, 0x61, 0x83, 0xa5, 0x1f, 0x2b, - 0xd6, 0xc5, 0x96, 0xe7, 0x69, 0xc0, 0xe4, 0xef, 0x0d, 0x1e, 0x05, 0x27, 0xb8, 0x72, 0xae, 0x25, - 0x62, 0x5d, 0x64, 0x49, 0x44, 0x0d, 0x01, 0xb3, 0x33, 0x74, 0xbe, 0x2e, 0xd8, 0x9c, 0xc9, 0xe9, - 0xaa, 0x15, 0x5a, 0x1b, 0x66, 0x29, 0xb4, 0x0e, 0x1c, 0x5c, 0xff, 0x1c, 0xbd, 0xd3, 0x4f, 0x48, - 0x2a, 0x6f, 0x49, 0x8d, 0x57, 0x91, 0x59, 0xde, 0x91, 0xe8, 0x8c, 0x7c, 0xdc, 0xdc, 0xa1, 0x3c, - 0xfe, 0x67, 0x5a, 0x9b, 0x9a, 0x47, 0xff, 0x96, 0x5a, 0x28, 0xb0, 0xff, 0x0b, 0x74, 0xe6, 0x30, - 0x2d, 0xb2, 0x24, 0x28, 0x46, 0xf0, 0x7a, 0x47, 0x0d, 0x4b, 0x15, 0x5a, 0x0a, 0x4e, 0x03, 0x92, - 0xb9, 0x54, 0x89, 0xc4, 0xd1, 0xe9, 0x25, 0xa3, 0x66, 0xe3, 0xf0, 0xf4, 0xf5, 0x36, 0x4c, 0x8e, - 0xfc, 0x46, 0x96, 0x25, 0x33, 0xcb, 0xc8, 0x2b, 0x32, 0xcb, 0xc8, 0xeb, 0x8c, 0x6c, 0x9d, 0xb6, - 0xf0, 0xf1, 0x64, 0x38, 0x98, 0xa5, 0xa1, 0xd6, 0x3a, 0x95, 0xd7, 0x7d, 0x26, 0xb0, 0xb4, 0x4e, - 0x0a, 0x20, 0xab, 0x6f, 0x79, 0xf9, 0x60, 0x94, 0xe3, 0xc6, 0xcf, 0x61, 0xb8, 0x02, 0x17, 0xd9, - 0x7e, 0x64, 0xa3, 0x22, 0x5a, 0x94, 0x07, 0x39, 0xc6, 0xc6, 0x28, 0x99, 0xc0, 0x19, 0x25, 0x00, - 0x60, 0x6f, 0x0d, 0xbd, 0xcd, 0x7a, 0x08, 0x9c, 0xde, 0x2f, 0x7f, 0x0d, 0xed, 0x9d, 0x11, 0x1a, - 0xf7, 0xc7, 0x19, 0x9d, 0x2d, 0xd4, 0xfe, 0x67, 0xc0, 0x5a, 0x6f, 0xf3, 0xca, 0x7f, 0x5e, 0x2c, - 0xf6, 0xbe, 0x7e, 0xb1, 0xd8, 0xfb, 0xdf, 0x8b, 0xc5, 0xde, 0x57, 0x2f, 0x17, 0x5f, 0xfb, 0xfa, - 0xe5, 0xe2, 0x6b, 0xff, 0x7d, 0xb9, 0xf8, 0xda, 0x67, 0x6f, 0xc0, 0xaf, 0xb1, 0x8f, 0x5f, 0x2f, - 0x7f, 0x53, 0x7d, 0xef, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0xc9, 0xf7, 0xef, 0xa6, 0xb1, 0x3d, - 0x00, 0x00, + // 3040 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x9b, 0x5b, 0x73, 0xdc, 0xb6, + 0xf5, 0xc0, 0xb3, 0x33, 0xff, 0x49, 0xf2, 0x47, 0x12, 0xc7, 0x61, 0xeb, 0xc4, 0x96, 0x53, 0xf9, + 0x12, 0xcb, 0x17, 0xd9, 0xa2, 0x64, 0xb9, 0x4d, 0xa7, 0xd7, 0x8c, 0xb4, 0xb2, 0x65, 0x4d, 0x64, + 0x5b, 0xd5, 0x4a, 0x56, 0x27, 0xbd, 0x52, 0x24, 0xbc, 0xcb, 0x88, 0x4b, 0x30, 0x24, 0x76, 0xe5, + 0x6d, 0xa7, 0x9d, 0xde, 0xa6, 0x33, 0x7d, 0xf3, 0x4c, 0x1f, 0xfb, 0xd4, 0xd7, 0x7e, 0x92, 0x3e, + 0xe6, 0xb1, 0x8f, 0x1d, 0xfb, 0x8b, 0x74, 0x40, 0x1c, 0x02, 0x04, 0x08, 0x80, 0x5c, 0x3f, 0x69, + 0xc4, 0xf3, 0x3b, 0x17, 0x82, 0x07, 0x07, 0x07, 0x24, 0x16, 0x5d, 0xca, 0x8e, 0x57, 0xb3, 0x9c, + 0x50, 0x52, 0xac, 0x16, 0x38, 0x9f, 0xc6, 0x21, 0xae, 0xfe, 0xfa, 0xe5, 0x65, 0xef, 0xad, 0x20, + 0x9d, 0xd1, 0x59, 0x86, 0x17, 0xce, 0x4b, 0x32, 0x24, 0xe3, 0x71, 0x90, 0x46, 0x05, 0x47, 0x16, + 0x3e, 0x94, 0x12, 0x3c, 0xc5, 0x29, 0x85, 0xeb, 0xeb, 0x2f, 0x7e, 0x8b, 0xce, 0xf4, 0x93, 0x18, + 0xa7, 0xb4, 0x0f, 0x0a, 0x5e, 0x8e, 0xce, 0x3d, 0x39, 0xfe, 0x12, 0x87, 0x74, 0x23, 0x8a, 0x8e, + 0x62, 0x3a, 0xe2, 0xff, 0xec, 0x44, 0xde, 0x6d, 0x1f, 0xfc, 0xf8, 0xfb, 0x59, 0xe8, 0xf3, 0xcb, + 0xbe, 0x06, 0xf9, 0xfb, 0xf8, 0xab, 0x09, 0x2e, 0xe8, 0xc2, 0x9d, 0x6e, 0x70, 0x91, 0x91, 0xb4, + 0xc0, 0xde, 0x33, 0xf4, 0x01, 0xbf, 0x38, 0x18, 0x05, 0x39, 0xde, 0x9c, 0xed, 0xc6, 0xe9, 0x89, + 0x77, 0xc3, 0x64, 0xa2, 0x06, 0x08, 0x5f, 0x37, 0xdb, 0x41, 0xf0, 0x73, 0x84, 0xde, 0x3d, 0x0a, + 0x92, 0x04, 0xd3, 0x7e, 0x8e, 0x03, 0x8a, 0xbd, 0xab, 0x8a, 0x26, 0x17, 0xf9, 0x5c, 0x26, 0xac, + 0x7f, 0xe2, 0x64, 0xc0, 0xf0, 0x17, 0xe8, 0x3d, 0x2e, 0xd9, 0xc7, 0x21, 0x99, 0xe2, 0xdc, 0x33, + 0x6a, 0x81, 0x50, 0x98, 0xbe, 0xe6, 0x86, 0x74, 0xdb, 0x7d, 0x92, 0x4e, 0x71, 0x4e, 0xcd, 0xb6, + 0x41, 0xe8, 0xb6, 0x2d, 0x21, 0xb0, 0xfd, 0x6b, 0xf4, 0xfe, 0x11, 0xc9, 0x4f, 0x8a, 0x2c, 0x08, + 0x31, 0x8c, 0xc9, 0x92, 0xaa, 0x58, 0x49, 0xf5, 0x61, 0xb9, 0xde, 0x86, 0x19, 0x3c, 0x0c, 0x70, + 0x82, 0x43, 0x6a, 0xf5, 0xc0, 0xc5, 0xad, 0x1e, 0x04, 0x06, 0x1e, 0x12, 0xf4, 0x0d, 0x21, 0xdc, + 0xc6, 0xb4, 0x3f, 0xc9, 0x73, 0x9c, 0x52, 0xef, 0x96, 0x45, 0x5d, 0x22, 0xc2, 0xd3, 0x72, 0x17, + 0xd4, 0x70, 0x3f, 0xdb, 0x98, 0x6e, 0x24, 0x89, 0xf5, 0x7e, 0xb8, 0xb8, 0xf5, 0x7e, 0x04, 0x06, + 0x1e, 0x7e, 0x8f, 0x2e, 0xd4, 0x46, 0x8c, 0xee, 0x14, 0x0f, 0xe3, 0xe1, 0x28, 0x89, 0x87, 0x23, + 0x8a, 0x23, 0x6f, 0xd5, 0x3a, 0x28, 0x2a, 0x28, 0xbc, 0xae, 0x75, 0x57, 0x00, 0xff, 0xbf, 0x40, + 0x67, 0x36, 0xc2, 0x90, 0x4c, 0x52, 0x91, 0xcc, 0x6a, 0x2e, 0x81, 0xb0, 0x91, 0xcd, 0x4b, 0x2d, + 0x94, 0x4c, 0x67, 0x90, 0x41, 0xc2, 0x7d, 0x62, 0xd4, 0xd3, 0xd2, 0xed, 0x9a, 0x1b, 0x6a, 0xd8, + 0x86, 0x54, 0x33, 0xdb, 0xd6, 0x12, 0xed, 0x9a, 0x1b, 0x02, 0xdb, 0x07, 0xe8, 0x9d, 0xca, 0x36, + 0x25, 0x99, 0x77, 0xc5, 0xac, 0x44, 0x49, 0x26, 0xec, 0x5e, 0x75, 0x21, 0xd2, 0xea, 0x83, 0x38, + 0xc1, 0x4f, 0x9e, 0x3d, 0x4b, 0x48, 0x10, 0x69, 0x56, 0x99, 0xc4, 0x07, 0x91, 0xc5, 0xaa, 0x86, + 0xc8, 0x24, 0x65, 0x82, 0xdd, 0xb8, 0xa0, 0x95, 0xe5, 0xa5, 0x86, 0x1a, 0x93, 0x36, 0xac, 0x5f, + 0x6f, 0xc3, 0xc0, 0xc3, 0x4f, 0x10, 0x7a, 0x8a, 0xf3, 0x22, 0x26, 0xe9, 0x36, 0xa6, 0xde, 0x65, + 0x45, 0x0b, 0x04, 0x2c, 0xb1, 0x85, 0xdd, 0x2b, 0x0e, 0x02, 0x4c, 0x3e, 0x44, 0x6f, 0xed, 0x92, + 0xe1, 0x00, 0xa7, 0x91, 0xf7, 0x2d, 0x85, 0xde, 0x25, 0x43, 0x9f, 0x5d, 0x16, 0xc6, 0x16, 0x6d, + 0x62, 0xb0, 0xf4, 0x18, 0xfd, 0x7f, 0x9f, 0xa4, 0xcf, 0xe2, 0x21, 0x8b, 0xed, 0x92, 0x02, 0xf3, + 0xeb, 0x4a, 0x68, 0x97, 0xed, 0x00, 0xd8, 0xdb, 0x41, 0x6f, 0x0f, 0x46, 0x13, 0x1a, 0x91, 0xd3, + 0x54, 0x0b, 0xad, 0xba, 0x6c, 0x09, 0xad, 0x26, 0x96, 0x2b, 0xdd, 0xfd, 0xe7, 0x14, 0xe7, 0x69, + 0x90, 0x6c, 0xe5, 0x24, 0x63, 0x03, 0x5c, 0x68, 0x2b, 0x5d, 0x5d, 0x5e, 0x3e, 0x81, 0xc2, 0xb2, + 0xd2, 0x19, 0x41, 0x59, 0x14, 0xeb, 0xe2, 0x3e, 0x49, 0x69, 0xb3, 0x28, 0x2a, 0x06, 0x00, 0xb1, + 0x14, 0x45, 0x0b, 0x0a, 0xde, 0xf6, 0xd1, 0x3b, 0x6c, 0xa1, 0xdd, 0xcb, 0xf1, 0x34, 0xc6, 0xa7, + 0x5a, 0x3a, 0xd4, 0x24, 0x96, 0x74, 0x50, 0x09, 0xb0, 0xf9, 0x04, 0xa1, 0xc3, 0x8c, 0x25, 0x1d, + 0xbb, 0x33, 0xed, 0x29, 0x4a, 0x81, 0xe5, 0x29, 0x2a, 0x00, 0x18, 0x3c, 0x44, 0xef, 0x6e, 0x91, + 0xd3, 0x54, 0x98, 0x54, 0x63, 0xa8, 0x8b, 0x2c, 0x73, 0x4d, 0x43, 0xe4, 0x0c, 0xde, 0x4c, 0x48, + 0x78, 0xc2, 0x5d, 0x6a, 0x56, 0x4b, 0x09, 0x44, 0x63, 0xb1, 0xaa, 0x21, 0xb2, 0x53, 0x29, 0x05, + 0xfb, 0x38, 0x4b, 0x82, 0x50, 0xef, 0x54, 0xb8, 0x0e, 0xc8, 0x2c, 0x9d, 0x8a, 0xce, 0x80, 0xe1, + 0x18, 0x79, 0x10, 0x6e, 0x14, 0x50, 0x5c, 0xe5, 0xc5, 0x4d, 0x63, 0x48, 0x35, 0x42, 0x38, 0xb9, + 0xd5, 0x81, 0x94, 0xd3, 0xb0, 0x94, 0x3f, 0xc9, 0x70, 0xaa, 0x3d, 0x40, 0xae, 0xc7, 0x04, 0x96, + 0x07, 0xa8, 0x00, 0x9a, 0xbd, 0xc1, 0x88, 0x9c, 0x1a, 0xed, 0x31, 0x81, 0xd3, 0x1e, 0x00, 0x60, + 0x8f, 0xa0, 0x6f, 0x96, 0x97, 0xb7, 0x31, 0xdd, 0x9b, 0x1c, 0x27, 0x71, 0x78, 0x84, 0x8f, 0x0f, + 0xf7, 0x77, 0xbd, 0x65, 0x83, 0xa6, 0xc6, 0x08, 0x2f, 0xb7, 0x3b, 0xb1, 0x9a, 0x43, 0x76, 0x5b, + 0x9b, 0x39, 0x0e, 0xa2, 0x30, 0x9f, 0x8c, 0x8f, 0x0b, 0xa3, 0x43, 0x8d, 0x71, 0x3a, 0x6c, 0xb2, + 0xb2, 0x0a, 0xf0, 0x11, 0xc3, 0xb4, 0xee, 0xcf, 0xf4, 0x0c, 0x55, 0xc4, 0x52, 0x05, 0x2c, 0xa8, + 0x36, 0x13, 0x60, 0x5d, 0x37, 0xcd, 0x04, 0x6d, 0x55, 0xbf, 0xea, 0x42, 0xe4, 0x5a, 0x56, 0xb3, + 0xba, 0x17, 0x0c, 0xf5, 0x16, 0xb5, 0xae, 0xc6, 0xc4, 0x96, 0xb5, 0xcc, 0x80, 0xc9, 0x86, 0xa7, + 0xe6, 0x61, 0x80, 0xa9, 0xd6, 0xf0, 0xd4, 0x35, 0x07, 0xb5, 0x85, 0x63, 0xa9, 0x85, 0xd2, 0x0b, + 0x44, 0x9a, 0xb0, 0x6d, 0x8d, 0xb1, 0x40, 0x94, 0x22, 0x77, 0x81, 0xa8, 0x10, 0xb9, 0x00, 0xf3, + 0xa0, 0x13, 0x52, 0x60, 0xcf, 0x94, 0xec, 0xa5, 0xc4, 0x52, 0x71, 0x55, 0x42, 0x76, 0x4f, 0xe5, + 0xf5, 0xaa, 0xce, 0x79, 0xa6, 0x82, 0x52, 0x09, 0x2d, 0xdd, 0x53, 0x03, 0x02, 0xdb, 0x3f, 0x07, + 0xdb, 0xdb, 0x98, 0x3e, 0x0a, 0xf2, 0x93, 0xc2, 0x38, 0xc4, 0x6c, 0xd1, 0x2d, 0xa5, 0xce, 0x21, + 0xae, 0x53, 0x5a, 0x65, 0x38, 0x4c, 0x23, 0x62, 0xac, 0x0c, 0x4c, 0xe0, 0xac, 0x0c, 0x00, 0x68, + 0xf6, 0xf6, 0xb1, 0xc5, 0x1e, 0x13, 0x38, 0xed, 0x01, 0x00, 0xf6, 0x7e, 0x05, 0x19, 0x36, 0xc0, + 0xf4, 0x41, 0x8c, 0x93, 0xa8, 0x30, 0xa6, 0x30, 0xcb, 0x1a, 0x2e, 0x76, 0xa6, 0xb0, 0x82, 0x81, + 0x83, 0xaf, 0xa0, 0xb2, 0x0c, 0xd8, 0x0e, 0xb4, 0xa0, 0x79, 0x1c, 0xd2, 0x98, 0xa4, 0x85, 0x77, + 0xdb, 0xa2, 0x5f, 0x87, 0x2c, 0x7b, 0x76, 0x2b, 0xac, 0x65, 0x0b, 0xeb, 0x0f, 0x1f, 0x91, 0x29, + 0x36, 0x65, 0x4b, 0xd9, 0x3b, 0x32, 0xa1, 0x2b, 0x5b, 0xea, 0x10, 0xd8, 0x9e, 0xa0, 0x0f, 0x15, + 0xdb, 0x07, 0xe4, 0x31, 0x3e, 0x2d, 0xa7, 0xfe, 0x1d, 0x87, 0xbe, 0xa0, 0x84, 0xb7, 0x95, 0x8e, + 0x34, 0xb8, 0x7d, 0xd1, 0x43, 0x97, 0x04, 0x04, 0x7b, 0xe5, 0xfe, 0x28, 0x4e, 0xa2, 0x1c, 0xa7, + 0x07, 0x84, 0xb1, 0x85, 0xf7, 0x1d, 0x8b, 0x49, 0x33, 0x2e, 0x22, 0xf9, 0x74, 0x5e, 0x35, 0x08, + 0xe9, 0x04, 0x96, 0x6b, 0x06, 0xcb, 0xec, 0xb9, 0x65, 0xb1, 0x66, 0xc8, 0xa0, 0xe5, 0x2e, 0x28, + 0x38, 0x9b, 0xa2, 0x73, 0x75, 0x67, 0x07, 0xf8, 0x39, 0x1d, 0xd0, 0x59, 0x82, 0xbd, 0x15, 0x87, + 0x11, 0x46, 0xf9, 0x25, 0x26, 0x7c, 0xfa, 0x5d, 0x71, 0xad, 0x27, 0x61, 0xd0, 0xd6, 0x24, 0x4b, + 0xe2, 0x90, 0xad, 0x1f, 0x37, 0x2d, 0x56, 0x04, 0xe1, 0xea, 0x49, 0x1a, 0x24, 0xb8, 0xfa, 0x6b, + 0x0f, 0x5d, 0xac, 0xdf, 0xe3, 0x66, 0x10, 0x9e, 0x0c, 0x73, 0x32, 0x49, 0xa3, 0x3e, 0x49, 0x48, + 0xee, 0xad, 0x3b, 0x42, 0xd7, 0x58, 0xe1, 0xfe, 0xde, 0x5c, 0x3a, 0x10, 0xc8, 0x08, 0x7d, 0x50, + 0x8f, 0x63, 0x23, 0x89, 0x87, 0xa9, 0xf5, 0x96, 0x99, 0xa5, 0x92, 0x68, 0xbd, 0xe5, 0x3a, 0x09, + 0x9e, 0x0a, 0xa8, 0x0d, 0xe0, 0x69, 0x2b, 0x9e, 0xf2, 0x87, 0x7a, 0xc7, 0x61, 0x62, 0x2b, 0x9e, + 0x6a, 0xcf, 0x74, 0xa5, 0x23, 0x6d, 0x4e, 0x25, 0xd6, 0x32, 0xb7, 0xa7, 0x52, 0xd9, 0x58, 0x77, + 0x4f, 0x25, 0x05, 0x97, 0xfb, 0x2b, 0x01, 0x1d, 0x4c, 0xf2, 0x74, 0x27, 0xa5, 0x44, 0xdb, 0x5f, + 0x49, 0x23, 0x15, 0x60, 0xd9, 0x5f, 0x19, 0x41, 0xf0, 0xf3, 0x25, 0xf8, 0x19, 0x60, 0xba, 0x1b, + 0x50, 0xfc, 0x9c, 0xa5, 0xb5, 0xad, 0xaf, 0xf2, 0x4b, 0x82, 0x67, 0x7e, 0x4b, 0x5f, 0xa5, 0xa2, + 0xe0, 0x6b, 0x88, 0xce, 0x56, 0xbe, 0x98, 0xa0, 0x74, 0x75, 0xd3, 0xa2, 0x5f, 0x6a, 0x2a, 0x9e, + 0x6e, 0x75, 0x20, 0x9b, 0x37, 0xc5, 0x04, 0x7c, 0x46, 0x38, 0xf5, 0xd5, 0x89, 0xb0, 0xdc, 0x05, + 0xb5, 0xd7, 0x1a, 0xee, 0xaf, 0xb5, 0xd6, 0xa8, 0x3e, 0xfd, 0xae, 0xb8, 0x79, 0x36, 0x30, 0x84, + 0x35, 0x13, 0xce, 0xd9, 0x50, 0xda, 0x61, 0x54, 0xa7, 0xd9, 0x50, 0xa7, 0xcd, 0x03, 0xcb, 0x67, + 0x82, 0x73, 0x60, 0xd5, 0x59, 0xb0, 0xdc, 0x05, 0x05, 0x5f, 0x99, 0xec, 0xf9, 0xcb, 0x41, 0x1d, + 0xe1, 0xf0, 0x04, 0x47, 0xd6, 0x4e, 0x80, 0x8f, 0x11, 0x87, 0x5a, 0x3b, 0x01, 0x0d, 0x36, 0xe7, + 0xe7, 0x4e, 0x48, 0x52, 0x77, 0x7e, 0x32, 0xa2, 0x5b, 0x7e, 0x02, 0xa9, 0xf5, 0xbc, 0x83, 0x2c, + 0x89, 0xa9, 0xb1, 0xe7, 0x2d, 0x25, 0xce, 0x9e, 0xb7, 0x22, 0x34, 0x93, 0x8f, 0x70, 0x3e, 0x34, + 0xb7, 0xd1, 0xa5, 0xc4, 0x69, 0xb2, 0x22, 0xb4, 0xe6, 0xb1, 0x4f, 0xb2, 0x99, 0xb1, 0x79, 0x64, + 0x02, 0x67, 0xf3, 0x08, 0x80, 0x16, 0xe2, 0x5e, 0x50, 0x50, 0x73, 0x88, 0xa5, 0xc4, 0x19, 0x62, + 0x45, 0x80, 0xc9, 0xcf, 0xd1, 0xdb, 0x3c, 0xc4, 0x09, 0xf5, 0x16, 0x4d, 0x01, 0x4c, 0xe4, 0x20, + 0x5e, 0xb2, 0xca, 0xb5, 0xfd, 0xcd, 0xfd, 0xe7, 0x19, 0xc9, 0xa9, 0x71, 0x7f, 0xc3, 0x45, 0xce, + 0xfd, 0x8d, 0x40, 0xb4, 0xad, 0xeb, 0xce, 0x98, 0x5d, 0x67, 0xd3, 0xa9, 0x7c, 0xfd, 0x66, 0xca, + 0x16, 0x15, 0x71, 0x4e, 0x9a, 0x06, 0xda, 0x4c, 0x61, 0xb6, 0xaa, 0x3c, 0x0e, 0xc6, 0xd8, 0x9a, + 0xc2, 0xe5, 0xb2, 0xc3, 0x88, 0xd6, 0x14, 0xae, 0x93, 0xcd, 0x4a, 0xb0, 0x33, 0x0e, 0x86, 0xdc, + 0x93, 0x4d, 0xbf, 0x24, 0x54, 0x57, 0xcb, 0x5d, 0x50, 0xf0, 0x35, 0x86, 0xb6, 0xaa, 0xf2, 0x75, + 0x14, 0x47, 0x74, 0xe4, 0xb9, 0x2d, 0x94, 0x8c, 0xf3, 0x65, 0x43, 0x93, 0x6d, 0xde, 0xda, 0xd3, + 0x38, 0xc2, 0xc4, 0x79, 0x6b, 0x25, 0xd1, 0xed, 0xd6, 0x14, 0xb4, 0x79, 0x6b, 0xa5, 0xd8, 0x7d, + 0x6b, 0xdc, 0x42, 0xb7, 0x5b, 0x53, 0x59, 0x70, 0xf7, 0xa7, 0x1e, 0xba, 0x20, 0x96, 0xfb, 0x38, + 0x3d, 0x39, 0x08, 0xf2, 0x21, 0xa6, 0x3c, 0x3f, 0x23, 0xef, 0xae, 0x6d, 0x2d, 0x67, 0x1b, 0x76, + 0x05, 0x15, 0xde, 0xd7, 0xe7, 0x51, 0xd1, 0xb6, 0x02, 0x9b, 0x84, 0x9c, 0x8c, 0x83, 0xfc, 0xe4, + 0x01, 0xa6, 0xe1, 0xc8, 0x38, 0xc0, 0x15, 0xe1, 0x97, 0x88, 0x73, 0x80, 0x1b, 0xa8, 0xde, 0x27, + 0x57, 0x00, 0x7f, 0xb1, 0xb1, 0x91, 0x46, 0xdc, 0xed, 0xba, 0xcb, 0x96, 0xca, 0xba, 0xfa, 0x64, + 0x87, 0x0e, 0x04, 0xf2, 0x3b, 0x74, 0xbe, 0x24, 0xd9, 0x5c, 0x12, 0x0c, 0xbc, 0x6b, 0x5d, 0x35, + 0x18, 0x2c, 0xe7, 0x9c, 0x06, 0x5a, 0x3e, 0x86, 0x39, 0x15, 0xc0, 0x7d, 0x0a, 0x65, 0x68, 0x1f, + 0x27, 0x01, 0xdb, 0x00, 0x0f, 0x30, 0xfd, 0x1c, 0xcf, 0x8c, 0x99, 0x56, 0x21, 0x3e, 0x67, 0x9c, + 0x99, 0xd6, 0x64, 0xc1, 0x1f, 0x86, 0x42, 0x54, 0x01, 0x1b, 0x51, 0x64, 0x6a, 0x5f, 0xa5, 0x81, + 0x8d, 0x28, 0x72, 0xb5, 0xaf, 0x3a, 0x08, 0x6e, 0x7e, 0x83, 0x3e, 0xe2, 0xaf, 0x7a, 0x02, 0x1a, + 0x4c, 0x63, 0x7c, 0xfa, 0x34, 0xc6, 0xa7, 0xf0, 0xda, 0xce, 0x37, 0xbd, 0xcf, 0x01, 0xcc, 0x97, + 0x9c, 0x70, 0xba, 0xda, 0x99, 0x77, 0xf8, 0xde, 0xc2, 0x09, 0xee, 0xe2, 0x9b, 0x73, 0xdd, 0x7d, + 0x0b, 0xde, 0xe1, 0x9b, 0xbf, 0xbd, 0x6e, 0xf7, 0xcd, 0xb9, 0xee, 0xbe, 0x05, 0x0f, 0xbe, 0xff, + 0xdc, 0x43, 0x0b, 0x0d, 0xe7, 0x6c, 0xeb, 0x17, 0xd2, 0x78, 0x8a, 0x8d, 0x55, 0x44, 0xb1, 0x27, + 0x50, 0x67, 0x15, 0xb1, 0xaa, 0x40, 0x14, 0x7f, 0xeb, 0xa1, 0x8f, 0x4d, 0x51, 0xec, 0x91, 0x22, + 0x66, 0x79, 0xe2, 0xdd, 0xeb, 0x60, 0xb4, 0x82, 0x45, 0x24, 0xdf, 0x9e, 0x4f, 0x09, 0x62, 0x39, + 0x85, 0xd7, 0x3c, 0x15, 0x39, 0xc0, 0x74, 0x40, 0x26, 0x79, 0x68, 0xdc, 0x25, 0x4a, 0x7b, 0x02, + 0x73, 0x6d, 0x02, 0xcc, 0xb8, 0x56, 0x54, 0x2a, 0xa6, 0x3e, 0xdb, 0x9c, 0xcf, 0xb5, 0x06, 0x3a, + 0x8b, 0x8a, 0x45, 0x41, 0x2f, 0xae, 0xba, 0x7f, 0x48, 0xc5, 0xf5, 0x2e, 0x16, 0xb5, 0x74, 0xbc, + 0x37, 0x97, 0x4e, 0x5b, 0x20, 0x30, 0x1f, 0x3b, 0x05, 0xa2, 0xcd, 0xc9, 0x7b, 0x73, 0xe9, 0x40, + 0x20, 0xff, 0xe8, 0xa1, 0xab, 0xc6, 0x40, 0xd8, 0xae, 0x6a, 0x63, 0x1a, 0xc4, 0x49, 0x70, 0x9c, + 0x60, 0xef, 0x7b, 0x5d, 0x6c, 0x2b, 0x2a, 0x22, 0xac, 0xef, 0xbf, 0x8e, 0x2a, 0x44, 0xf7, 0x87, + 0x6a, 0xf9, 0x97, 0xd1, 0x85, 0x24, 0x8f, 0xa0, 0x60, 0xb6, 0x3c, 0x7f, 0x49, 0x8a, 0x58, 0xee, + 0xce, 0xa1, 0x01, 0x21, 0xfc, 0xb3, 0x87, 0xae, 0x19, 0x42, 0xa8, 0x02, 0x7f, 0x92, 0x55, 0xe9, + 0xfb, 0x83, 0x76, 0xdb, 0x0d, 0x25, 0x11, 0xd8, 0x0f, 0x5f, 0x4f, 0x19, 0x62, 0xfc, 0x57, 0x0f, + 0xdd, 0x68, 0x8d, 0x11, 0x52, 0xfc, 0xc7, 0xf3, 0x7a, 0xd2, 0xd2, 0xfd, 0xb3, 0xd7, 0xd6, 0x9f, + 0x27, 0x58, 0x98, 0x06, 0x73, 0x07, 0xab, 0x4d, 0x89, 0xcf, 0x5e, 0x5b, 0x5f, 0x6b, 0xfd, 0xf8, + 0xd9, 0xb6, 0x83, 0x59, 0x56, 0x7e, 0xa5, 0x32, 0xb5, 0x7e, 0x92, 0xf0, 0xeb, 0x9f, 0xaa, 0x96, + 0xbb, 0xa0, 0xe0, 0x2c, 0x47, 0xe7, 0x1e, 0x07, 0xd3, 0x78, 0x28, 0x66, 0x04, 0x07, 0xf5, 0x8f, + 0x09, 0x92, 0xf1, 0x6b, 0x90, 0xe5, 0x15, 0x82, 0x15, 0x06, 0x9f, 0x7f, 0xef, 0xa1, 0xcb, 0x92, + 0xd9, 0xc6, 0x40, 0xec, 0xa4, 0xcf, 0xc8, 0x51, 0x4c, 0x47, 0xac, 0x2d, 0x2e, 0xbc, 0x4f, 0x6d, + 0x26, 0xcd, 0xbc, 0x08, 0xe5, 0xbb, 0x73, 0xeb, 0xc9, 0x9d, 0x2d, 0x97, 0x6f, 0xe7, 0x41, 0x36, + 0xd2, 0x76, 0xb6, 0x70, 0xce, 0xb0, 0x14, 0x59, 0x76, 0xb6, 0x1a, 0x22, 0x3f, 0xed, 0xc3, 0x61, + 0x47, 0x1c, 0xe4, 0xe1, 0xc8, 0x33, 0xea, 0x70, 0x99, 0xe5, 0xd3, 0xbe, 0xce, 0xc8, 0x07, 0x57, + 0x37, 0x3c, 0x98, 0x1c, 0x17, 0x61, 0x1e, 0x1f, 0x63, 0xf3, 0xc9, 0x4d, 0x0d, 0x72, 0x9f, 0xdc, + 0x6c, 0xc2, 0xf2, 0xd5, 0x7d, 0x75, 0x9c, 0xb3, 0x90, 0x0e, 0x8d, 0x27, 0x32, 0xeb, 0x84, 0x65, + 0xeb, 0x6c, 0x26, 0xc1, 0xd5, 0x73, 0xf4, 0x51, 0xfd, 0xf6, 0x0e, 0xd3, 0x42, 0xf8, 0x5b, 0xb1, + 0xc7, 0x5c, 0xc3, 0x2c, 0xed, 0x82, 0x03, 0xd7, 0x8f, 0xa7, 0xda, 0xbb, 0x72, 0x30, 0x62, 0xea, + 0x0f, 0x6e, 0xb6, 0x83, 0xf2, 0x7c, 0x80, 0xea, 0x07, 0x8a, 0xe5, 0xb2, 0xcb, 0x82, 0x56, 0x18, + 0x6f, 0x77, 0x62, 0x6d, 0x0e, 0xa1, 0xe0, 0x39, 0x1d, 0x6a, 0xc5, 0xed, 0x76, 0x27, 0x56, 0x7f, + 0x86, 0xcd, 0x85, 0x6b, 0xc5, 0x65, 0xa7, 0xb9, 0x54, 0xf9, 0x5d, 0x71, 0xf0, 0xfc, 0xc7, 0x1e, + 0x5a, 0x30, 0xb9, 0x86, 0x21, 0x5e, 0x6b, 0x37, 0xa7, 0x0d, 0xf4, 0xdd, 0x39, 0x34, 0x5a, 0x62, + 0x80, 0x51, 0xef, 0x10, 0x83, 0x36, 0xf6, 0x77, 0xe7, 0xd0, 0x80, 0x18, 0xfe, 0xd2, 0x43, 0x17, + 0xd5, 0x18, 0xd4, 0x16, 0xcb, 0x69, 0xd2, 0xdc, 0x5a, 0xad, 0xcf, 0xa3, 0x22, 0x4f, 0x75, 0x54, + 0x93, 0x99, 0xee, 0x06, 0x33, 0x32, 0xd1, 0x8f, 0x05, 0x8b, 0x59, 0x09, 0x62, 0xcb, 0x27, 0x71, + 0x03, 0x56, 0x6b, 0xda, 0xb8, 0xf4, 0x01, 0x0e, 0xe8, 0x24, 0xc7, 0x51, 0x7d, 0xf6, 0x1a, 0xc7, + 0x5a, 0x07, 0x95, 0xcd, 0xf5, 0xdd, 0x39, 0x34, 0x6a, 0x7b, 0x2d, 0x73, 0x08, 0xfb, 0x78, 0x4c, + 0xa6, 0x58, 0xdb, 0x6b, 0xd9, 0x6c, 0x72, 0xd8, 0xb2, 0xd7, 0x6a, 0x55, 0x92, 0xef, 0x53, 0xc5, + 0x80, 0xef, 0x14, 0x0f, 0x82, 0x29, 0xc9, 0x63, 0xaa, 0xbf, 0x9f, 0x93, 0xa3, 0x29, 0x11, 0x4b, + 0x0f, 0x61, 0x41, 0x8d, 0xde, 0x36, 0xf2, 0x70, 0x14, 0x4f, 0x71, 0xe4, 0xf0, 0x56, 0x21, 0x1d, + 0xbc, 0xd5, 0x50, 0x7d, 0x9d, 0x3e, 0x20, 0xac, 0x2f, 0x32, 0xae, 0xd3, 0xa5, 0xc8, 0xbd, 0x4e, + 0x57, 0x08, 0x58, 0x0d, 0xd1, 0x59, 0x2e, 0x28, 0x3f, 0x4b, 0xf3, 0x29, 0x6a, 0x4a, 0x3e, 0xfe, + 0xa9, 0x59, 0x9d, 0x98, 0x37, 0x5a, 0x39, 0xf9, 0x42, 0x42, 0x4a, 0xd5, 0xc1, 0xf2, 0x6d, 0x36, + 0xca, 0x37, 0xb0, 0xcd, 0x11, 0x5b, 0xed, 0xcc, 0x5b, 0x7d, 0x8b, 0xb4, 0x68, 0xf1, 0xdd, 0xc8, + 0x8d, 0xd5, 0xce, 0x3c, 0xf8, 0x3e, 0x86, 0x53, 0x5d, 0x03, 0x4c, 0xb7, 0x30, 0x0d, 0xe2, 0xa4, + 0xf0, 0x6c, 0x67, 0x5d, 0x40, 0x6e, 0x19, 0x5b, 0x13, 0x27, 0x3f, 0x9c, 0xec, 0x05, 0xc3, 0xea, + 0x77, 0x0d, 0xea, 0x87, 0x93, 0xf2, 0xe0, 0x87, 0xb6, 0x2d, 0xbb, 0xe2, 0x20, 0xe4, 0xb7, 0x9d, + 0x81, 0xf8, 0xf5, 0x88, 0xfa, 0x65, 0x64, 0xd0, 0xfc, 0xe9, 0xc8, 0x65, 0x3b, 0x20, 0x17, 0xe0, + 0x47, 0x98, 0xe6, 0x71, 0x58, 0x0c, 0x30, 0xdd, 0x0b, 0xf2, 0x60, 0x8c, 0x29, 0xce, 0xf5, 0x13, + 0x81, 0x80, 0xf8, 0x0a, 0x63, 0x59, 0x80, 0x6d, 0xac, 0x9e, 0xd4, 0xac, 0xef, 0x87, 0xfb, 0x30, + 0x25, 0x75, 0xb9, 0x2d, 0xd0, 0x6e, 0xe7, 0x46, 0x2b, 0x27, 0x0f, 0xd4, 0x49, 0x29, 0x4b, 0x03, + 0xed, 0xb4, 0x57, 0x4d, 0xb5, 0x4c, 0x12, 0xf3, 0x69, 0xaf, 0x26, 0x25, 0x5f, 0x1b, 0x49, 0x59, + 0x7d, 0x9d, 0x31, 0xf6, 0x10, 0xa5, 0x01, 0x51, 0x16, 0x15, 0x7f, 0x7e, 0x57, 0x1c, 0x1c, 0xd3, + 0xaa, 0xc1, 0xae, 0x3b, 0x66, 0xab, 0xc9, 0x9d, 0x56, 0x43, 0xf5, 0x95, 0x64, 0xa5, 0x23, 0x2d, + 0x5f, 0x56, 0x35, 0xbd, 0x42, 0xdb, 0xb2, 0xda, 0x6a, 0x4a, 0xeb, 0x5a, 0xd6, 0xba, 0x2b, 0xb8, + 0xdc, 0xc3, 0xfa, 0xd5, 0xee, 0x5e, 0x5b, 0xbb, 0xd6, 0xba, 0x2b, 0x80, 0xfb, 0x1f, 0xa1, 0xff, + 0xdb, 0x8b, 0xd3, 0xa1, 0x77, 0x41, 0x9d, 0x9c, 0x71, 0x3a, 0x14, 0x46, 0x17, 0x4c, 0x22, 0x79, + 0x4a, 0x6d, 0x2f, 0x27, 0x21, 0x2e, 0x8a, 0x7e, 0x90, 0x86, 0x38, 0xd1, 0x4e, 0xa9, 0x81, 0xcc, + 0xe7, 0x42, 0xcb, 0x29, 0xb5, 0x06, 0x24, 0x97, 0x9d, 0x87, 0x71, 0x41, 0x49, 0x3e, 0x2b, 0x4f, + 0x24, 0xab, 0xe5, 0x03, 0x24, 0xea, 0x99, 0xe4, 0xab, 0x2e, 0x44, 0x76, 0x46, 0x20, 0x80, 0x5f, + 0x49, 0xe8, 0x87, 0x05, 0x2b, 0xb5, 0x4a, 0x6c, 0xe9, 0x8c, 0x0c, 0x98, 0xdc, 0xce, 0x54, 0x71, + 0x63, 0x0a, 0x62, 0x6d, 0x3b, 0x23, 0x42, 0x13, 0x80, 0x65, 0x3b, 0x63, 0x04, 0xc1, 0x4f, 0x1f, + 0xbd, 0x09, 0xdf, 0x84, 0x2f, 0x6a, 0xbf, 0x25, 0x50, 0xbe, 0x06, 0x7f, 0x6c, 0x16, 0x82, 0x91, + 0x5f, 0xa2, 0xf7, 0xf9, 0x25, 0xf1, 0xd3, 0x25, 0xad, 0x98, 0x68, 0x52, 0x4b, 0x31, 0x69, 0x52, + 0xba, 0xfd, 0x03, 0x3c, 0xce, 0x92, 0x80, 0xe2, 0xc2, 0x68, 0x5f, 0x48, 0x9d, 0xf6, 0xeb, 0x14, + 0xd8, 0x0f, 0xd0, 0x59, 0x2e, 0xdb, 0x25, 0x61, 0x90, 0xb0, 0xc1, 0xd2, 0xcf, 0x2f, 0xeb, 0x62, + 0xcb, 0xf3, 0x34, 0x60, 0xf2, 0x87, 0x0d, 0x8f, 0x82, 0x13, 0x5c, 0x39, 0xd7, 0x12, 0xb1, 0x2e, + 0xb2, 0x24, 0xa2, 0x86, 0x80, 0xd9, 0x19, 0x3a, 0x5f, 0x17, 0x6c, 0xce, 0xe4, 0x74, 0xd5, 0x0a, + 0xad, 0x0d, 0xb3, 0x14, 0x5a, 0x07, 0x0e, 0xae, 0x7f, 0x8a, 0xde, 0xeb, 0x27, 0x24, 0x95, 0xb7, + 0xa4, 0xc6, 0xab, 0xc8, 0x2c, 0xef, 0x48, 0x74, 0x46, 0x3e, 0x6e, 0xee, 0x50, 0x9e, 0x33, 0x34, + 0xad, 0x4d, 0xcd, 0x33, 0x86, 0x4b, 0x2d, 0x14, 0xd8, 0xff, 0x19, 0x3a, 0x73, 0x98, 0x16, 0x59, + 0x12, 0x14, 0x23, 0x78, 0xbd, 0xa3, 0x86, 0xa5, 0x0a, 0x2d, 0x05, 0xa7, 0x01, 0xc9, 0x5c, 0xaa, + 0x44, 0xe2, 0x8c, 0xf6, 0x92, 0x51, 0xb3, 0x71, 0x4a, 0xfb, 0x7a, 0x1b, 0x26, 0x47, 0x7e, 0x23, + 0xcb, 0x92, 0x99, 0x65, 0xe4, 0x15, 0x99, 0x65, 0xe4, 0x75, 0x46, 0xb6, 0x4e, 0x5b, 0xf8, 0x78, + 0x32, 0x1c, 0xcc, 0xd2, 0x50, 0x6b, 0x9d, 0xca, 0xeb, 0x3e, 0x13, 0x58, 0x5a, 0x27, 0x05, 0x90, + 0xd5, 0xb7, 0xbc, 0x7c, 0x30, 0xca, 0x71, 0xe3, 0x77, 0x37, 0x5c, 0x81, 0x8b, 0x6c, 0xbf, 0xe6, + 0x51, 0x11, 0x2d, 0xca, 0x83, 0x1c, 0x63, 0x63, 0x94, 0x4c, 0xe0, 0x8c, 0x12, 0x00, 0xb0, 0xb7, + 0x86, 0xde, 0x65, 0x3d, 0x04, 0x4e, 0xef, 0x97, 0x3f, 0xbb, 0xf6, 0xce, 0x08, 0x8d, 0xfb, 0xe3, + 0x8c, 0xce, 0x16, 0x6a, 0xff, 0x33, 0x60, 0xad, 0xb7, 0x79, 0xe5, 0xdf, 0x2f, 0x17, 0x7b, 0x5f, + 0xbf, 0x5c, 0xec, 0xfd, 0xf7, 0xe5, 0x62, 0xef, 0xc5, 0xab, 0xc5, 0x37, 0xbe, 0x7e, 0xb5, 0xf8, + 0xc6, 0x7f, 0x5e, 0x2d, 0xbe, 0xf1, 0xc5, 0x5b, 0xf0, 0xb3, 0xef, 0xe3, 0x37, 0xcb, 0x1f, 0x6f, + 0xdf, 0xfb, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc6, 0xf6, 0x17, 0x7b, 0x1a, 0x3e, 0x00, 0x00, } // This is a compile-time assertion to ensure that this generated file @@ -287,6 +287,7 @@ type ClientCommandsHandler interface { BlockListSetTextMark(*pb.RpcBlockListSetTextMarkRequest) *pb.RpcBlockListSetTextMarkResponse BlockSetTextStyle(*pb.RpcBlockSetTextStyleRequest) *pb.RpcBlockSetTextStyleResponse BlockSetTextChecked(*pb.RpcBlockSetTextCheckedRequest) *pb.RpcBlockSetTextCheckedResponse + BlockSetTextIcon(*pb.RpcBlockSetTextIconRequest) *pb.RpcBlockSetTextIconResponse BlockSplit(*pb.RpcBlockSplitRequest) *pb.RpcBlockSplitResponse BlockMerge(*pb.RpcBlockMergeRequest) *pb.RpcBlockMergeResponse BlockCopy(*pb.RpcBlockCopyRequest) *pb.RpcBlockCopyResponse @@ -1636,6 +1637,26 @@ func BlockSetTextChecked(b []byte) (resp []byte) { return resp } +func BlockSetTextIcon(b []byte) (resp []byte) { + defer func() { + if PanicHandler != nil { + if r := recover(); r != nil { + resp, _ = (&pb.RpcBlockSetTextIconResponse{Error: &pb.RpcBlockSetTextIconResponseError{Code: pb.RpcBlockSetTextIconResponseError_UNKNOWN_ERROR, Description: "panic recovered"}}).Marshal() + PanicHandler(r) + } + } + }() + + in := new(pb.RpcBlockSetTextIconRequest) + if err := in.Unmarshal(b); err != nil { + resp, _ = (&pb.RpcBlockSetTextIconResponse{Error: &pb.RpcBlockSetTextIconResponseError{Code: pb.RpcBlockSetTextIconResponseError_BAD_INPUT, Description: err.Error()}}).Marshal() + return resp + } + + resp, _ = clientCommandsHandler.BlockSetTextIcon(in).Marshal() + return resp +} + func BlockSplit(b []byte) (resp []byte) { defer func() { if PanicHandler != nil { @@ -3466,6 +3487,8 @@ func CommandAsync(cmd string, data []byte, callback func(data []byte)) { cd = BlockSetTextStyle(data) case "BlockSetTextChecked": cd = BlockSetTextChecked(data) + case "BlockSetTextIcon": + cd = BlockSetTextIcon(data) case "BlockSplit": cd = BlockSplit(data) case "BlockMerge": diff --git a/cmd/cli/debug.go b/cmd/cli/debug.go index ba18a7227..4c6589cd3 100644 --- a/cmd/cli/debug.go +++ b/cmd/cli/debug.go @@ -1,6 +1,7 @@ package main import ( + "github.com/anytypeio/go-anytype-middleware/app" "github.com/anytypeio/go-anytype-middleware/core/anytype" "github.com/anytypeio/go-anytype-middleware/core/debug" "github.com/anytypeio/go-anytype-middleware/core/event" @@ -33,13 +34,12 @@ var dumpTree = &cobra.Command{ console.Fatal("please specify thread") } - comps, err := anytype.BootstrapConfigAndWallet(false, debugRepoPath, debugAccount) - if err != nil { - console.Fatal("failed to bootstrap anytype: %s", err.Error()) + comps := []app.Component{ + anytype.BootstrapConfig(false, false), + anytype.BootstrapWallet(debugRepoPath, debugAccount), + event.NewCallbackSender(func(event *pb.Event) {}), } - comps = append(comps, event.NewCallbackSender(func(event *pb.Event) {})) - app, err := anytype.StartNewApp(comps...) if err != nil { console.Fatal("failed to start anytype: %s", err.Error()) @@ -62,13 +62,12 @@ var dumpLocalstore = &cobra.Command{ console.Fatal("please specify account") } - comps, err := anytype.BootstrapConfigAndWallet(false, debugRepoPath, debugAccount) - if err != nil { - console.Fatal("failed to bootstrap anytype: %s", err.Error()) + comps := []app.Component{ + anytype.BootstrapConfig(false, false), + anytype.BootstrapWallet(debugRepoPath, debugAccount), + event.NewCallbackSender(func(event *pb.Event) {}), } - comps = append(comps, event.NewCallbackSender(func(event *pb.Event) {})) - app, err := anytype.StartNewApp(comps...) if err != nil { console.Fatal("failed to start anytype: %s", err.Error()) diff --git a/core/account.go b/core/account.go index d702a17d1..fd4109668 100644 --- a/core/account.go +++ b/core/account.go @@ -7,14 +7,19 @@ import ( "encoding/json" "fmt" "io/ioutil" + "net" "net/http" + "net/url" "os" "path/filepath" "strings" "sync" + "syscall" "time" + "github.com/anytypeio/go-anytype-middleware/app" "github.com/anytypeio/go-anytype-middleware/core/anytype" + "github.com/anytypeio/go-anytype-middleware/core/anytype/config" "github.com/anytypeio/go-anytype-middleware/core/block" "github.com/anytypeio/go-anytype-middleware/core/configfetcher" "github.com/anytypeio/go-anytype-middleware/metrics" @@ -26,9 +31,6 @@ import ( "github.com/anytypeio/go-anytype-middleware/util/pbtypes" ) -const defaultCafeUrl = "https://cafe1.anytype.io" -const defaultCafePeerId = "12D3KooWKwPC165PptjnzYzGrEs7NSjsF5vvMmxmuqpA2VfaBbLw" - // we cannot check the constant error from badger because they hardcoded it there const errSubstringMultipleAnytypeInstance = "Cannot acquire directory lock" @@ -45,9 +47,9 @@ type AlphaInviteErrorResponse struct { Error string `json:"error"` } -func checkInviteCode(code string, account string) error { +func checkInviteCode(cfg *config.Config, code string, account string) (errorCode pb.RpcAccountCreateResponseErrorCode, err error) { if code == "" { - return fmt.Errorf("invite code is empty") + return pb.RpcAccountCreateResponseError_BAD_INPUT, fmt.Errorf("invite code is empty") } jsonStr, err := json.Marshal(AlphaInviteRequest{ @@ -57,54 +59,95 @@ func checkInviteCode(code string, account string) error { // TODO: here we always using the default cafe address, because we want to check invite code only on our server // this code should be removed with a public release - req, err := http.NewRequest("POST", defaultCafeUrl+"/alpha-invite", bytes.NewBuffer(jsonStr)) + req, err := http.NewRequest("POST", cfg.CafeUrl()+"/alpha-invite", bytes.NewBuffer(jsonStr)) req.Header.Set("Content-Type", "application/json") + checkNetError := func(err error) (netOpError bool, dnsError bool, offline bool) { + if err == nil { + return false, false, false + } + if netErr, ok := err.(*net.OpError); ok { + if syscallErr, ok := netErr.Err.(*os.SyscallError); ok { + if syscallErr.Err == syscall.ENETDOWN || syscallErr.Err == syscall.ENETUNREACH { + return true, false, true + } + } + if _, ok := netErr.Err.(*net.DNSError); ok { + return true, true, false + } + return true, false, false + } + return false, false, false + } + client := &http.Client{} resp, err := client.Do(req) if err != nil { - return fmt.Errorf("failed to access cafe server: %s", err.Error()) + var netOpErr, dnsError bool + if urlErr, ok := err.(*url.Error); ok { + var offline bool + if netOpErr, dnsError, offline = checkNetError(urlErr.Err); offline { + return pb.RpcAccountCreateResponseError_NET_OFFLINE, err + } + } + if dnsError { + // we can receive DNS error in case device is offline, lets check the SHOULD-BE-ALWAYS-ONLINE OpenDNS IP address on the 80 port + c, err2 := net.DialTimeout("tcp", "1.1.1.1:80", time.Second*5) + if c != nil { + _ = c.Close() + } + _, _, offline := checkNetError(err2) + if offline { + return pb.RpcAccountCreateResponseError_NET_OFFLINE, err + } + } + + if netOpErr { + return pb.RpcAccountCreateResponseError_NET_CONNECTION_REFUSED, err + } + + return pb.RpcAccountCreateResponseError_NET_ERROR, err } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { - return fmt.Errorf("failed to read response body: %s", err.Error()) + return pb.RpcAccountCreateResponseError_NET_ERROR, fmt.Errorf("failed to read response body: %s", err.Error()) } if resp.StatusCode != 200 { respJson := AlphaInviteErrorResponse{} err = json.Unmarshal(body, &respJson) - return fmt.Errorf(respJson.Error) + return pb.RpcAccountCreateResponseError_BAD_INVITE_CODE, fmt.Errorf(respJson.Error) } respJson := AlphaInviteResponse{} err = json.Unmarshal(body, &respJson) if err != nil { - return fmt.Errorf("failed to decode response json: %s", err.Error()) + return pb.RpcAccountCreateResponseError_UNKNOWN_ERROR, fmt.Errorf("failed to decode response json: %s", err.Error()) } - pubk, err := wallet.NewPubKeyFromAddress(wallet.KeypairTypeDevice, defaultCafePeerId) + pubk, err := wallet.NewPubKeyFromAddress(wallet.KeypairTypeDevice, cfg.CafePeerId) if err != nil { - return fmt.Errorf("failed to decode cafe pubkey: %s", err.Error()) + return pb.RpcAccountCreateResponseError_UNKNOWN_ERROR, fmt.Errorf("failed to decode cafe pubkey: %s", err.Error()) } signature, err := base64.RawStdEncoding.DecodeString(respJson.Signature) if err != nil { - return fmt.Errorf("failed to decode cafe signature: %s", err.Error()) + return pb.RpcAccountCreateResponseError_UNKNOWN_ERROR, fmt.Errorf("failed to decode cafe signature: %s", err.Error()) } valid, err := pubk.Verify([]byte(code+account), signature) if err != nil { - return fmt.Errorf("failed to verify cafe signature: %s", err.Error()) + return pb.RpcAccountCreateResponseError_UNKNOWN_ERROR, fmt.Errorf("failed to verify cafe signature: %s", err.Error()) } if !valid { - return fmt.Errorf("invalid signature") + return pb.RpcAccountCreateResponseError_UNKNOWN_ERROR, fmt.Errorf("invalid signature") } - return nil + return pb.RpcAccountCreateResponseError_NULL, nil } func (mw *Middleware) getAccountConfig() *pb.RpcAccountConfig { @@ -143,6 +186,7 @@ func (mw *Middleware) AccountCreate(req *pb.RpcAccountCreateRequest) *pb.RpcAcco response(nil, pb.RpcAccountCreateResponseError_FAILED_TO_STOP_RUNNING_NODE, err) } + cfg := anytype.BootstrapConfig(true, os.Getenv("ANYTYPE_STAGING") == "1") index := len(mw.foundAccounts) var account wallet.Keypair for { @@ -162,8 +206,8 @@ func (mw *Middleware) AccountCreate(req *pb.RpcAccountCreateRequest) *pb.RpcAcco continue } - if err := checkInviteCode(req.AlphaInviteCode, account.Address()); err != nil { - return response(nil, pb.RpcAccountCreateResponseError_BAD_INVITE_CODE, err) + if code, err := checkInviteCode(cfg, req.AlphaInviteCode, account.Address()); err != nil { + return response(nil, code, err) } seedRaw, err := account.Raw() @@ -177,13 +221,12 @@ func (mw *Middleware) AccountCreate(req *pb.RpcAccountCreateRequest) *pb.RpcAcco newAcc := &model.Account{Id: account.Address()} - comps, err := anytype.BootstrapConfigAndWallet(true, mw.rootPath, account.Address()) - if err != nil { - return response(nil, pb.RpcAccountCreateResponseError_UNKNOWN_ERROR, err) + comps := []app.Component{ + cfg, + anytype.BootstrapWallet(mw.rootPath, account.Address()), + mw.EventSender, } - comps = append(comps, mw.EventSender) - if mw.app, err = anytype.StartNewApp(comps...); err != nil { return response(newAcc, pb.RpcAccountCreateResponseError_ACCOUNT_CREATED_BUT_FAILED_TO_START_NODE, err) } @@ -217,11 +260,6 @@ func (mw *Middleware) AccountCreate(req *pb.RpcAccountCreateRequest) *pb.RpcAcco Value: pbtypes.String(hash), }) } - } else if req.GetAvatarColor() != "" { - details = append(details, &pb.RpcBlockSetDetailsDetail{ - Key: "iconColor", - Value: pbtypes.String(req.GetAvatarColor()), - }) } if err = bs.SetDetails(nil, pb.RpcBlockSetDetailsRequest{ @@ -468,12 +506,13 @@ func (mw *Middleware) AccountSelect(req *pb.RpcAccountSelectRequest) *pb.RpcAcco } } - comps, err := anytype.BootstrapConfigAndWallet(false, mw.rootPath, req.Id) - if err != nil { - return response(nil, pb.RpcAccountSelectResponseError_UNKNOWN_ERROR, err) + comps := []app.Component{ + anytype.BootstrapConfig(false, os.Getenv("ANYTYPE_STAGING") == "1"), + anytype.BootstrapWallet(mw.rootPath, req.Id), + mw.EventSender, } + var err error - comps = append(comps, mw.EventSender) if mw.app, err = anytype.StartNewApp(comps...); err != nil { if err == core.ErrRepoCorrupted { return response(nil, pb.RpcAccountSelectResponseError_LOCAL_REPO_EXISTS_BUT_CORRUPTED, err) diff --git a/core/anytype/bootstrap.go b/core/anytype/bootstrap.go index 2b17f0f5b..ef424a6fe 100644 --- a/core/anytype/bootstrap.go +++ b/core/anytype/bootstrap.go @@ -1,6 +1,8 @@ package anytype import ( + "os" + "github.com/anytypeio/go-anytype-middleware/app" "github.com/anytypeio/go-anytype-middleware/core/anytype/config" "github.com/anytypeio/go-anytype-middleware/core/block" @@ -45,11 +47,12 @@ func StartAccountRecoverApp(eventSender event.Sender, accountPrivKey walletUtil. return nil, err } - cfg := config.DefaultConfig - cfg.DisableFileConfig = true // do not load/save config to file because we don't have a libp2p node and repo in this mode - a.Register(wallet.NewWithRepoPathAndKeys("", accountPrivKey, device)). - Register(&cfg). + Register(config.New( + config.WithStagingCafe(os.Getenv("ANYTYPE_STAGING") == "1"), + config.DisableFileConfig(true), // do not load/save config to file because we don't have a libp2p node and repo in this mode + ), + ). Register(cafe.New()). Register(profilefinder.New()). Register(eventSender) @@ -61,13 +64,15 @@ func StartAccountRecoverApp(eventSender event.Sender, accountPrivKey walletUtil. return a, nil } -func BootstrapConfigAndWallet(newAccount bool, rootPath, accountId string) ([]app.Component, error) { - return []app.Component{ - wallet.NewWithAccountRepo(rootPath, accountId), - config.New(func(c *config.Config) { - c.NewAccount = newAccount - }), - }, nil +func BootstrapConfig(newAccount bool, isStaging bool) *config.Config { + return config.New( + config.WithStagingCafe(isStaging), + config.WithNewAccount(newAccount), + ) +} + +func BootstrapWallet(rootPath, accountId string) wallet.Wallet { + return wallet.NewWithAccountRepo(rootPath, accountId) } func StartNewApp(components ...app.Component) (a *app.App, err error) { diff --git a/core/anytype/config/config.go b/core/anytype/config/config.go index 5b1af5c0a..c19e72760 100644 --- a/core/anytype/config/config.go +++ b/core/anytype/config/config.go @@ -6,6 +6,7 @@ import ( "net" "os" "path/filepath" + "strconv" "strings" "github.com/kelseyhightower/envconfig" @@ -22,8 +23,6 @@ var log = logging.Logger("anytype-config") const ( CName = "config" - - defaultCafeNodeGRPC = "cafe1.anytype.io:3006" ) type ConfigRequired struct { @@ -34,8 +33,6 @@ type Config struct { ConfigRequired `json:",inline"` NewAccount bool `ignored:"true"` // set to true if a new account is creating. This option controls whether mw should wait for the existing data to arrive before creating the new log Offline bool - CafeAPIInsecure bool - CafeAPIHost string DisableThreadsSyncEvents bool PrivateNetworkSecret string @@ -45,6 +42,12 @@ type Config struct { BootstrapNodes []string RelayNodes []string + CafeAddr string + CafeGrpcPort int + CafeP2PPort int + CafePeerId string + CafeAPIInsecure bool + Threads threads.Config DS clientds.Config DisableFileConfig bool `ignored:"true"` // set in order to skip reading/writing config from/to file @@ -68,21 +71,70 @@ var DefaultConfig = Config{ "/dns4/relay2.anytype.io/tcp/4101/p2p/12D3KooWMLuW43JqNzUHbXMJH2Ted5Nf26sxv1VMcZAxXV3d3YtB", "/dns4/relay1.anytype.io/tcp/4101/p2p/12D3KooWNPqCu4BC5WMBuHmqdiNWwAHGTNKbNy6JP5W1DML2psg1", }, - CafeAPIHost: defaultCafeNodeGRPC, CafeAPIInsecure: false, + CafeAddr: "cafe1.anytype.io", + CafeP2PPort: 4001, + CafeGrpcPort: 3006, + CafePeerId: "12D3KooWKwPC165PptjnzYzGrEs7NSjsF5vvMmxmuqpA2VfaBbLw", DS: clientds.DefaultConfig, Threads: threads.DefaultConfig, } -func New(apply func(*Config)) *Config { - cfg := DefaultConfig - if apply != nil { - apply(&cfg) +func WithNewAccount(isNewAccount bool) func(*Config) { + return func(c *Config) { + c.NewAccount = isNewAccount } +} + +func WithStagingCafe(isStaging bool) func(*Config) { + return func(c *Config) { + if isStaging { + c.CafeAddr = "cafe-staging.anytype.io" + c.CafePeerId = "12D3KooWPGR6LQyTEtBzFnJ7fGEMe6hKiQKeNof29zLH4bGq2djR" + } + } +} + +func DisableFileConfig(disable bool) func(*Config) { + return func(c *Config) { + c.DisableFileConfig = disable + } +} + +func New(options ...func(*Config)) *Config { + cfg := DefaultConfig + for _, opt := range options { + opt(&cfg) + } + cfg.Threads.CafeP2PAddr = cfg.CafeP2PFullAddr() + return &cfg } +func (c *Config) CafeNodeGrpcAddr() string { + return c.CafeAddr + ":" + strconv.Itoa(c.CafeGrpcPort) +} + +func (c *Config) CafeUrl() string { + if net.ParseIP(c.CafeAddr) != nil { + return c.CafeAddr + } + prefix := "https://" + if c.CafeAPIInsecure { + prefix = "http://" + } + return prefix + c.CafeAddr +} + +func (c *Config) CafeP2PFullAddr() string { + prefix := "dns4" + if net.ParseIP(c.CafeAddr) != nil { + prefix = "ip4" + } + return fmt.Sprintf("/%s/%s/tcp/%d/p2p/%s", prefix, c.CafeAddr, c.CafeP2PPort, c.CafePeerId) +} + func (c *Config) Init(a *app.App) (err error) { repoPath := a.MustComponent(wallet.CName).(wallet.Wallet).RepoPath() if err = c.initFromFileAndEnv(repoPath); err != nil { @@ -92,10 +144,10 @@ func (c *Config) Init(a *app.App) (err error) { return } -func (cfg *Config) initFromFileAndEnv(repoPath string) error { +func (c *Config) initFromFileAndEnv(repoPath string) error { var configFileNotExists bool - if !cfg.DisableFileConfig { + if !c.DisableFileConfig { cfgFilePath := filepath.Join(repoPath, configFileName) cfgFile, err := os.OpenFile(cfgFilePath, os.O_RDONLY, 0655) if err != nil { @@ -106,7 +158,7 @@ func (cfg *Config) initFromFileAndEnv(repoPath string) error { } if err == nil { defer cfgFile.Close() - err = json.NewDecoder(cfgFile).Decode(&cfg) + err = json.NewDecoder(cfgFile).Decode(&c) if err != nil { return fmt.Errorf("invalid format: %w", err) } @@ -119,7 +171,7 @@ func (cfg *Config) initFromFileAndEnv(repoPath string) error { log.Errorf("failed to get random port for gateway, go with the default %d: %s", port, err.Error()) } - cfg.HostAddr = fmt.Sprintf("/ip4/0.0.0.0/tcp/%d", port) + c.HostAddr = fmt.Sprintf("/ip4/0.0.0.0/tcp/%d", port) // we need to save selected port in order in order to increase chances of incoming connections if cfgFile != nil { @@ -134,21 +186,21 @@ func (cfg *Config) initFromFileAndEnv(repoPath string) error { defer cfgFile.Close() - err = json.NewEncoder(cfgFile).Encode(cfg.ConfigRequired) + err = json.NewEncoder(cfgFile).Encode(c.ConfigRequired) if err != nil { return fmt.Errorf("failed to save port to the cfg file: %s", err.Error()) } return nil } - if cfg.HostAddr == "" && configFileNotExists { + if c.HostAddr == "" && configFileNotExists { err = saveRandomHostAddr() if err != nil { return err } } else { - parts := strings.Split(cfg.HostAddr, "/") + parts := strings.Split(c.HostAddr, "/") if len(parts) == 0 { - log.Errorf("failed to parse cfg.HostAddr: %s", cfg.HostAddr) + log.Errorf("failed to parse cfg.HostAddr: %s", c.HostAddr) } else { // lets test the existing port in config addr, err := net.ResolveTCPAddr("tcp4", "0.0.0.0:"+parts[len(parts)-1]) @@ -170,7 +222,7 @@ func (cfg *Config) initFromFileAndEnv(repoPath string) error { } - err := envconfig.Process("ANYTYPE", cfg) + err := envconfig.Process("ANYTYPE", c) if err != nil { log.Errorf("failed to read config from env: %v", err) } diff --git a/core/block.go b/core/block.go index e8137ba54..3ddd40fc5 100644 --- a/core/block.go +++ b/core/block.go @@ -915,6 +915,26 @@ func (mw *Middleware) BlockSetTextStyle(req *pb.RpcBlockSetTextStyleRequest) *pb return response(pb.RpcBlockSetTextStyleResponseError_NULL, nil) } +func (mw *Middleware) BlockSetTextIcon(req *pb.RpcBlockSetTextIconRequest) *pb.RpcBlockSetTextIconResponse { + ctx := state.NewContext(nil) + response := func(code pb.RpcBlockSetTextIconResponseErrorCode, err error) *pb.RpcBlockSetTextIconResponse { + m := &pb.RpcBlockSetTextIconResponse{Error: &pb.RpcBlockSetTextIconResponseError{Code: code}} + if err != nil { + m.Error.Description = err.Error() + } else { + m.Event = ctx.GetResponseEvent() + } + return m + } + err := mw.doBlockService(func(bs block.Service) (err error) { + return bs.SetTextIcon(ctx, req.ContextId, req.IconImage, req.IconEmoji, req.BlockId) + }) + if err != nil { + return response(pb.RpcBlockSetTextIconResponseError_UNKNOWN_ERROR, err) + } + return response(pb.RpcBlockSetTextIconResponseError_NULL, nil) +} + func (mw *Middleware) BlockSetTextChecked(req *pb.RpcBlockSetTextCheckedRequest) *pb.RpcBlockSetTextCheckedResponse { ctx := state.NewContext(nil) response := func(code pb.RpcBlockSetTextCheckedResponseErrorCode, err error) *pb.RpcBlockSetTextCheckedResponse { diff --git a/core/block/editor.go b/core/block/editor.go index f86a6d3df..d95463814 100644 --- a/core/block/editor.go +++ b/core/block/editor.go @@ -549,6 +549,12 @@ func (s *service) SetTextMark(ctx *state.Context, contextId string, mark *model. }) } +func (s *service) SetTextIcon(ctx *state.Context, contextId, image, emoji string, blockIds ...string) error { + return s.DoText(contextId, func(b stext.Text) error { + return b.SetIcon(ctx, image, emoji, blockIds...) + }) +} + func (s *service) SetBackgroundColor(ctx *state.Context, contextId string, color string, blockIds ...string) (err error) { return s.DoBasic(contextId, func(b basic.Basic) error { return b.Update(ctx, func(b simple.Block) error { diff --git a/core/block/editor/smartblock/smartblock.go b/core/block/editor/smartblock/smartblock.go index 9d83b6ed2..dc2528e88 100644 --- a/core/block/editor/smartblock/smartblock.go +++ b/core/block/editor/smartblock/smartblock.go @@ -417,7 +417,7 @@ func (sb *smartBlock) fetchMeta() (details []*pb.EventObjectDetailsSet, objectTy } recordsCh := make(chan *types.Struct, 10) sb.recordsSub = database.NewSubscription(nil, recordsCh) - sb.depIds = sb.dependentSmartIds(true, true) + sb.depIds = sb.dependentSmartIds(true, true, true) sort.Strings(sb.depIds) var records []database.Record if records, sb.closeRecordsSub, err = sb.objectStore.QueryByIdAndSubscribeForChanges(sb.depIds, sb.recordsSub); err != nil { @@ -544,7 +544,7 @@ func (sb *smartBlock) onMetaChange(details *types.Struct) { } // dependentSmartIds returns list of dependent objects in this order: Simple blocks(Link, mentions in Text), Relations. Both of them are returned in the order of original blocks/relations -func (sb *smartBlock) dependentSmartIds(includeObjTypes bool, includeCreatorModifier bool) (ids []string) { +func (sb *smartBlock) dependentSmartIds(includeObjTypes bool, includeCreatorModifier bool, includeHidden bool) (ids []string) { ids = sb.Doc.(*state.State).DepSmartIds() if sb.Type() != model.SmartBlockType_Breadcrumbs { @@ -562,7 +562,8 @@ func (sb *smartBlock) dependentSmartIds(includeObjTypes bool, includeCreatorModi for _, rel := range sb.RelationsState(sb.Doc.(*state.State), false) { // do not index local dates such as lastOpened/lastModified - if rel.Format == model.RelationFormat_date && (slice.FindPos(bundle.LocalRelationsKeys, rel.Key) == 0) && (slice.FindPos(bundle.DerivedRelationsKeys, rel.Key) == 0) { + if rel.Format == model.RelationFormat_date && + (slice.FindPos(bundle.LocalRelationsKeys, rel.Key) == 0) && (slice.FindPos(bundle.DerivedRelationsKeys, rel.Key) == 0) { relInt := pbtypes.GetInt64(details, rel.Key) if relInt > 0 { t := time.Unix(relInt, 0) @@ -572,6 +573,24 @@ func (sb *smartBlock) dependentSmartIds(includeObjTypes bool, includeCreatorModi continue } + if rel.Key == bundle.RelationKeyCreator.String() || rel.Key == bundle.RelationKeyLastModifiedBy.String() { + if includeCreatorModifier { + v := pbtypes.GetString(details, rel.Key) + ids = append(ids, v) + } + continue + } + + if rel.Hidden && !includeHidden { + continue + } + + if rel.Key == bundle.RelationKeyId.String() || + rel.Key == bundle.RelationKeyType.String() || // always skip type because it was proceed above + rel.Key == bundle.RelationKeyFeaturedRelations.String() { + continue + } + if rel.Key == bundle.RelationKeyCoverId.String() { v := pbtypes.GetString(details, rel.Key) _, err := cid.Decode(v) @@ -586,17 +605,6 @@ func (sb *smartBlock) dependentSmartIds(includeObjTypes bool, includeCreatorModi continue } - if rel.Hidden { - continue - } - - if rel.Key == bundle.RelationKeyId.String() || - rel.Key == bundle.RelationKeyType.String() || - rel.Key == bundle.RelationKeyFeaturedRelations.String() || - !includeCreatorModifier && (rel.Key == bundle.RelationKeyCreator.String() || rel.Key == bundle.RelationKeyLastModifiedBy.String()) { - continue - } - // add all object relation values as dependents for _, targetId := range pbtypes.GetStringList(details, rel.Key) { if targetId != "" { @@ -764,7 +772,7 @@ func (sb *smartBlock) ResetToVersion(s *state.State) (err error) { } func (sb *smartBlock) CheckSubscriptions() (changed bool) { - depIds := sb.dependentSmartIds(true, true) + depIds := sb.dependentSmartIds(true, true, true) sort.Strings(depIds) if !slice.SortedEquals(sb.depIds, depIds) { sb.depIds = depIds @@ -1670,18 +1678,13 @@ func (sb *smartBlock) getDocInfo(st *state.State) doc.DocInfo { } } - links := sb.dependentSmartIds(false, false) - for _, fileHash := range fileHashes { - if slice.FindPos(links, fileHash) == -1 { - links = append(links, fileHash) - } - } + // we don't want any hidden or internal relations here. We want to capture the meaningful outgoing links only + links := sb.dependentSmartIds(false, false, false) links = slice.Remove(links, sb.Id()) // so links will have this order // 1. Simple blocks: links, mentions in the text // 2. Relations(format==Object) - // 3. Files return doc.DocInfo{ Id: sb.Id(), Links: links, diff --git a/core/block/editor/stext/text.go b/core/block/editor/stext/text.go index cafe580df..bd4cb259b 100644 --- a/core/block/editor/stext/text.go +++ b/core/block/editor/stext/text.go @@ -27,6 +27,7 @@ type Text interface { Split(ctx *state.Context, req pb.RpcBlockSplitRequest) (newId string, err error) Merge(ctx *state.Context, firstId, secondId string) (err error) SetMark(ctx *state.Context, mark *model.BlockContentTextMark, blockIds ...string) error + SetIcon(ctx *state.Context, image, emoji string, blockIds ...string) error SetText(req pb.RpcBlockSetTextTextRequest) (err error) TurnInto(ctx *state.Context, style model.BlockContentTextStyle, ids ...string) error } @@ -209,6 +210,22 @@ func (t *textImpl) SetMark(ctx *state.Context, mark *model.BlockContentTextMark, return t.Apply(s) } +// SetIcon sets an icon for the text block with style BlockContentText_Callout(13) +func (t *textImpl) SetIcon(ctx *state.Context, image string, emoji string, blockIds ...string) (err error) { + s := t.NewStateCtx(ctx) + for _, id := range blockIds { + tb, err := getText(s, id) + if err != nil { + continue + } + + tb.SetIconImage(image) + tb.SetIconEmoji(emoji) + } + + return t.Apply(s) +} + func (t *textImpl) newSetTextState(blockId string, ctx *state.Context) *state.State { if t.lastSetTextState != nil && t.lastSetTextId == blockId { return t.lastSetTextState diff --git a/core/block/service.go b/core/block/service.go index 1727d7a6f..e6f08cd30 100644 --- a/core/block/service.go +++ b/core/block/service.go @@ -141,6 +141,7 @@ type Service interface { SetTextChecked(ctx *state.Context, req pb.RpcBlockSetTextCheckedRequest) error SetTextColor(ctx *state.Context, contextId string, color string, blockIds ...string) error SetTextMark(ctx *state.Context, id string, mark *model.BlockContentTextMark, ids ...string) error + SetTextIcon(ctx *state.Context, contextId, image, emoji string, blockIds ...string) error SetBackgroundColor(ctx *state.Context, contextId string, color string, blockIds ...string) error SetAlign(ctx *state.Context, contextId string, align model.BlockAlign, blockIds ...string) (err error) SetLayout(ctx *state.Context, id string, layout model.ObjectTypeLayout) error diff --git a/core/block/simple/text/details.go b/core/block/simple/text/details.go index 472b0a095..a9235820f 100644 --- a/core/block/simple/text/details.go +++ b/core/block/simple/text/details.go @@ -133,7 +133,7 @@ func (td *textDetails) Diff(s simple.Block) (msgs []simple.EventMessage, err err } } if st := msg.Msg.GetBlockSetText(); st != nil { - if st.Text == nil && st.Checked == nil && st.Marks == nil && st.Style == nil && st.Color == nil { + if st.Text == nil && st.Checked == nil && st.Marks == nil && st.Style == nil && st.Color == nil && st.IconImage == nil && st.IconEmoji == nil { toRemove = i } } diff --git a/core/block/simple/text/text.go b/core/block/simple/text/text.go index 3b96ddd85..276d2f6f5 100644 --- a/core/block/simple/text/text.go +++ b/core/block/simple/text/text.go @@ -51,6 +51,9 @@ type Block interface { RemoveMarkType(markType model.BlockContentTextMarkType) HasMarkForAllText(mark *model.BlockContentTextMark) bool SetTextColor(color string) + SetIconEmoji(emoji string) + SetIconImage(imageHash string) + Split(pos int32) (simple.Block, error) RangeSplit(from int32, to int32, top bool) (newBlock simple.Block, err error) RangeTextPaste(rangeFrom int32, rangeTo int32, copiedBlock *model.Block, isPartOfBlock bool) (caretPosition int32, err error) @@ -127,6 +130,14 @@ func (t *Text) Diff(b simple.Block) (msgs []simple.EventMessage, err error) { hasChanges = true changes.Color = &pb.EventBlockSetTextColor{Value: text.content.Color} } + if t.content.IconImage != text.content.IconImage { + hasChanges = true + changes.IconImage = &pb.EventBlockSetTextIconImage{Value: text.content.IconImage} + } + if t.content.IconEmoji != text.content.IconEmoji { + hasChanges = true + changes.IconEmoji = &pb.EventBlockSetTextIconEmoji{Value: text.content.IconEmoji} + } if hasChanges { msgs = append(msgs, simple.EventMessage{Msg: &pb.EventMessage{Value: &pb.EventMessageValueOfBlockSetText{BlockSetText: changes}}}) } @@ -149,6 +160,14 @@ func (t *Text) SetTextColor(color string) { t.content.Color = color } +func (t *Text) SetIconEmoji(emoji string) { + t.content.IconEmoji = emoji +} + +func (t *Text) SetIconImage(imageHash string) { + t.content.IconImage = imageHash +} + func (t *Text) SetMarkForAllText(mark *model.BlockContentTextMark) { mRange := &model.Range{ To: int32(utf8.RuneCountInString(t.content.Text)), @@ -605,5 +624,11 @@ func (t *Text) ApplyEvent(e *pb.EventBlockSetText) error { if e.Color != nil { t.content.Color = e.Color.GetValue() } + if e.IconImage != nil { + t.content.IconImage = e.IconImage.GetValue() + } + if e.IconEmoji != nil { + t.content.IconEmoji = e.IconEmoji.GetValue() + } return nil } diff --git a/core/indexer/indexer.go b/core/indexer/indexer.go index 76fc20426..0a7d98875 100644 --- a/core/indexer/indexer.go +++ b/core/indexer/indexer.go @@ -39,17 +39,18 @@ const ( CName = "indexer" // increasing counters below will trigger existing account to reindex their data - ForceThreadsObjectsReindexCounter int32 = 4 // reindex thread-based objects + ForceThreadsObjectsReindexCounter int32 = 6 // reindex thread-based objects ForceFilesReindexCounter int32 = 5 // reindex ipfs-file-based objects ForceBundledObjectsReindexCounter int32 = 3 // reindex objects like anytypeProfile ForceIdxRebuildCounter int32 = 12 // erases localstore indexes and reindex all type of objects (no need to increase ForceThreadsObjectsReindexCounter & ForceFilesReindexCounter) - ForceFulltextIndexCounter int32 = 2 // performs fulltext indexing for all type of objects (useful when we change fulltext config) + ForceFulltextIndexCounter int32 = 3 // performs fulltext indexing for all type of objects (useful when we change fulltext config) ) var log = logging.Logger("anytype-doc-indexer") var ( - ftIndexInterval = time.Minute / 3 + ftIndexInterval = time.Minute + ftIndexForceMinInterval = time.Second * 10 ) func New() Indexer { @@ -57,6 +58,7 @@ func New() Indexer { } type Indexer interface { + ForceFTIndex() app.ComponentRunnable } @@ -96,6 +98,7 @@ type indexer struct { archivedMap map[string]struct{} favoriteMap map[string]struct{} newAccount bool + forceFt chan struct{} } func (i *indexer) Init(a *app.App) (err error) { @@ -112,7 +115,7 @@ func (i *indexer) Init(a *app.App) (err error) { i.quit = make(chan struct{}) i.archivedMap = make(map[string]struct{}, 100) i.favoriteMap = make(map[string]struct{}, 100) - + i.forceFt = make(chan struct{}) return } @@ -165,6 +168,13 @@ func (i *indexer) Run() (err error) { return } +func (i *indexer) ForceFTIndex() { + select { + case i.forceFt <- struct{}{}: + default: + } +} + func (i *indexer) migrateRemoveNonindexableObjects() { ids, err := i.getIdsForTypes( smartblock.SmartblockTypeMarketplaceType, smartblock.SmartblockTypeMarketplaceRelation, @@ -728,7 +738,7 @@ func (i *indexer) index(ctx context.Context, info doc.DocInfo) error { func (i *indexer) ftLoop() { ticker := time.NewTicker(ftIndexInterval) i.ftIndex() - + var lastForceIndex time.Time i.mu.Lock() quit := i.quit i.mu.Unlock() @@ -738,6 +748,11 @@ func (i *indexer) ftLoop() { return case <-ticker.C: i.ftIndex() + case <-i.forceFt: + if time.Since(lastForceIndex) > ftIndexForceMinInterval { + i.ftIndex() + lastForceIndex = time.Now() + } } } } @@ -800,14 +815,21 @@ func (i *indexer) ftIndexDoc(id string, _ time.Time) (err error) { } if fts := i.store.FTSearch(); fts != nil { - if err := fts.Index(ftsearch.SearchDoc{ + title := pbtypes.GetString(info.State.Details(), bundle.RelationKeyName.String()) + if info.State.ObjectType() == bundle.TypeKeyNote.String() || title == "" { + title = info.State.Snippet() + } + ftDoc := ftsearch.SearchDoc{ Id: id, - Title: pbtypes.GetString(info.State.Details(), bundle.RelationKeyName.String()), + Title: title, Text: info.State.SearchText(), - }); err != nil { + } + if err := fts.Index(ftDoc); err != nil { log.Errorf("can't ft index doc: %v", err) } + log.Debugf("ft search indexed with title: '%s'", ftDoc.Title) } + log.With("thread", id).Infof("ft index updated for a %v", time.Since(st)) return } diff --git a/core/object.go b/core/object.go index 9cfbe4720..c7b59245d 100644 --- a/core/object.go +++ b/core/object.go @@ -2,6 +2,7 @@ package core import ( "fmt" + "github.com/anytypeio/go-anytype-middleware/core/indexer" "strings" "time" @@ -110,7 +111,9 @@ func (mw *Middleware) ObjectSearch(req *pb.RpcObjectSearchRequest) *pb.RpcObject } at := mw.app.MustComponent(core.CName).(core.Service) - + if req.FullText != "" { + mw.app.MustComponent(indexer.CName).(indexer.Indexer).ForceFTIndex() + } records, _, err := at.ObjectStore().Query(nil, database.Query{ Filters: req.Filters, Sorts: req.Sorts, @@ -306,8 +309,10 @@ func (mw *Middleware) ObjectGraph(req *pb.RpcObjectGraphRequest) *pb.RpcObjectGr continue } - if rel.Key == bundle.RelationKeyId.String() || rel.Key == bundle.RelationKeyType.String() || rel.Key == bundle.RelationKeyCreator.String() || rel.Key == bundle.RelationKeyLastModifiedBy.String() { - outgoingRelationLink[l] = struct{}{} + if rel.Hidden || + rel.Key == bundle.RelationKeyId.String() || + rel.Key == bundle.RelationKeyCreator.String() || + rel.Key == bundle.RelationKeyLastModifiedBy.String() { continue } @@ -323,7 +328,7 @@ func (mw *Middleware) ObjectGraph(req *pb.RpcObjectGraphRequest) *pb.RpcObjectGr } } } - links, _ := at.ObjectStore().GetOutboundLinksById(id) + links := pbtypes.GetStringList(rec.Details, bundle.RelationKeyLinks.String()) for _, link := range links { sbType, _ := smartblock.SmartBlockTypeFromID(link) // ignore files because we index all file blocks as outgoing links @@ -375,6 +380,10 @@ func (mw *Middleware) ObjectRelationAdd(req *pb.RpcObjectRelationAddRequest) *pb return response(nil, pb.RpcObjectRelationAddResponseError_BAD_INPUT, err) } + if len(relations) == 0 { + return response(nil, pb.RpcObjectRelationAddResponseError_ALREADY_EXISTS, nil) + } + return response(relations[0], pb.RpcObjectRelationAddResponseError_NULL, nil) } diff --git a/core/status/service.go b/core/status/service.go index 829387fed..b46ec2a8c 100644 --- a/core/status/service.go +++ b/core/status/service.go @@ -1,8 +1,7 @@ package status import ( - "github.com/anytypeio/go-anytype-middleware/core/anytype/config" - "github.com/anytypeio/go-anytype-middleware/core/event" + "fmt" "sort" "sync" "time" @@ -16,6 +15,8 @@ import ( "github.com/textileio/go-threads/core/thread" "github.com/anytypeio/go-anytype-middleware/app" + "github.com/anytypeio/go-anytype-middleware/core/anytype/config" + "github.com/anytypeio/go-anytype-middleware/core/event" "github.com/anytypeio/go-anytype-middleware/pb" cafepb "github.com/anytypeio/go-anytype-middleware/pkg/lib/cafe/pb" "github.com/anytypeio/go-anytype-middleware/pkg/lib/core" @@ -34,9 +35,6 @@ const ( profileInformationLifetime = 30 * time.Second cafeLastPullTimeout = 10 * time.Minute - // TODO: move to global config component - cafePeerId = "12D3KooWKwPC165PptjnzYzGrEs7NSjsF5vvMmxmuqpA2VfaBbLw" - // truncate device names and account IDs to last symbols maxNameLength = 8 ) @@ -110,7 +108,7 @@ func (s *service) Init(a *app.App) (err error) { cafePeer, _ = cafeAddr.ValueForProtocol(ma.P_P2P) } if cafePeer == "" { - cafePeer = cafePeerId + return fmt.Errorf("cafe address must be specified at start time") } cafePid, _ := peer.Decode(cafePeer) diff --git a/core/subscription/context.go b/core/subscription/context.go index 522e3ae5e..ef353699d 100644 --- a/core/subscription/context.go +++ b/core/subscription/context.go @@ -9,10 +9,9 @@ import ( ) type opChange struct { - id string - subId string - keys []string - afterId string + id string + subId string + keys []string } type opRemove struct { @@ -24,6 +23,8 @@ type opPosition struct { id string subId string afterId string + keys []string + isAdd bool } type opCounter struct { @@ -37,7 +38,6 @@ type opCtx struct { // subIds for remove remove []opRemove change []opChange - add []opChange position []opPosition counters []opCounter entries []*entry @@ -54,18 +54,30 @@ type opCtx struct { func (ctx *opCtx) apply() (event *pb.Event) { var subMsgs = make([]*pb.EventMessage, 0, 10) - // adds - for _, add := range ctx.add { - ctx.collectKeys(add.id, add.subId, add.keys) - subMsgs = append(subMsgs, &pb.EventMessage{ - Value: &pb.EventMessageValueOfSubscriptionAdd{ - SubscriptionAdd: &pb.EventObjectSubscriptionAdd{ - Id: add.id, - AfterId: add.afterId, - SubId: add.subId, + // adds, positions + for _, pos := range ctx.position { + if pos.isAdd { + ctx.collectKeys(pos.id, pos.subId, pos.keys) + subMsgs = append(subMsgs, &pb.EventMessage{ + Value: &pb.EventMessageValueOfSubscriptionAdd{ + SubscriptionAdd: &pb.EventObjectSubscriptionAdd{ + Id: pos.id, + AfterId: pos.afterId, + SubId: pos.subId, + }, }, - }, - }) + }) + } else { + subMsgs = append(subMsgs, &pb.EventMessage{ + Value: &pb.EventMessageValueOfSubscriptionPosition{ + SubscriptionPosition: &pb.EventObjectSubscriptionPosition{ + Id: pos.id, + AfterId: pos.afterId, + SubId: pos.subId, + }, + }, + }) + } } // changes @@ -76,19 +88,6 @@ func (ctx *opCtx) apply() (event *pb.Event) { // details events eventMsgs := ctx.detailsEvents() - // positions - for _, pos := range ctx.position { - subMsgs = append(subMsgs, &pb.EventMessage{ - Value: &pb.EventMessageValueOfSubscriptionPosition{ - SubscriptionPosition: &pb.EventObjectSubscriptionPosition{ - Id: pos.id, - AfterId: pos.afterId, - SubId: pos.subId, - }, - }, - }) - } - // removes for _, rem := range ctx.remove { subMsgs = append(subMsgs, &pb.EventMessage{ @@ -172,8 +171,8 @@ func (ctx *opCtx) collectKeys(id string, subId string, keys []string) { if kb.id == id { found = true for _, k := range keys { - if slice.FindPos(kb.keys, k) == -1 { - ctx.keysBuf[i].keys = append(kb.keys, k) + if slice.FindPos(ctx.keysBuf[i].keys, k) == -1 { + ctx.keysBuf[i].keys = append(ctx.keysBuf[i].keys, k) } } if slice.FindPos(kb.subIds, subId) == -1 { @@ -205,7 +204,6 @@ func (ctx *opCtx) getEntry(id string) *entry { func (ctx *opCtx) reset() { ctx.remove = ctx.remove[:0] ctx.change = ctx.change[:0] - ctx.add = ctx.add[:0] ctx.position = ctx.position[:0] ctx.counters = ctx.counters[:0] ctx.keysBuf = ctx.keysBuf[:0] diff --git a/core/subscription/dep.go b/core/subscription/dep.go index cb68d743c..9131b5ce5 100644 --- a/core/subscription/dep.go +++ b/core/subscription/dep.go @@ -23,19 +23,22 @@ type dependencyService struct { func (ds *dependencyService) makeSubscriptionByEntries(subId string, allEntries, activeEntries []*entry, keys, depKeys, filterDepIds []string) *simpleSub { depSub := ds.s.newSimpleSub(subId, keys, true) depSub.forceIds = filterDepIds - depEntries := ds.depEntriesByEntries(&opCtx{entries: allEntries}, activeEntries, depKeys, depSub.forceIds) + depEntries := ds.depEntriesByEntries(&opCtx{entries: allEntries}, ds.depIdsByEntries(activeEntries, depKeys, depSub.forceIds)) depSub.init(depEntries) return depSub } func (ds *dependencyService) refillSubscription(ctx *opCtx, sub *simpleSub, entries []*entry, depKeys []string) { - depEntries := ds.depEntriesByEntries(ctx, entries, depKeys, sub.forceIds) - sub.refill(ctx, depEntries) + depIds := ds.depIdsByEntries(entries, depKeys, sub.forceIds) + if !sub.isEqualIds(depIds) { + depEntries := ds.depEntriesByEntries(ctx, depIds) + sub.refill(ctx, depEntries) + } return } -func (ds *dependencyService) depEntriesByEntries(ctx *opCtx, entries []*entry, depKeys, forceIds []string) (depEntries []*entry) { - var depIds = forceIds +func (ds *dependencyService) depIdsByEntries(entries []*entry, depKeys, forceIds []string) (depIds []string) { + depIds = forceIds for _, e := range entries { for _, k := range depKeys { for _, depId := range pbtypes.GetStringList(e.data, k) { @@ -45,36 +48,50 @@ func (ds *dependencyService) depEntriesByEntries(ctx *opCtx, entries []*entry, d } } } + return +} + +func (ds *dependencyService) depEntriesByEntries(ctx *opCtx, depIds []string) (depEntries []*entry) { if len(depIds) == 0 { return } - depRecords, err := ds.s.objectStore.QueryById(depIds) - if err != nil { - log.Errorf("can't query by id: %v", err) - } - depEntries = make([]*entry, 0, len(depRecords)) - for _, r := range depRecords { + var missIds []string + for _, id := range depIds { var e *entry - id := pbtypes.GetString(r.Details, "id") // priority: ctx.entries, cache, objectStore if e = ctx.getEntry(id); e == nil { - if e = ds.s.cache.Get(id); e == nil { - e = &entry{ - id: id, - data: r.Details, - } - } else { + if e = ds.s.cache.Get(id); e != nil { e = &entry{ id: id, data: e.data, subIds: e.subIds, subIsActive: e.subIsActive, } + } else { + missIds = append(missIds, id) + } + if e != nil { + ctx.entries = append(ctx.entries, e) + } + } + if e != nil { + depEntries = append(depEntries, e) + } + } + if len(missIds) > 0 { + records, err := ds.s.objectStore.QueryById(missIds) + if err != nil { + log.Errorf("can't query by id: %v", err) + } + for _, r := range records { + e := &entry{ + id: pbtypes.GetString(r.Details, "id"), + data: r.Details, } ctx.entries = append(ctx.entries, e) + depEntries = append(depEntries, e) } - depEntries = append(depEntries, e) } return } diff --git a/core/subscription/diff.go b/core/subscription/diff.go new file mode 100644 index 000000000..8ad2ca5cd --- /dev/null +++ b/core/subscription/diff.go @@ -0,0 +1,94 @@ +package subscription + +import ( + "github.com/mb0/diff" +) + +func newListDiff(ids []string) *listDiff { + ld := &listDiff{ + beforeIds: ids, + beforeIdsM: map[string]struct{}{}, + afterIdsM: map[string]struct{}{}, + } + for _, id := range ids { + ld.beforeIdsM[id] = struct{}{} + } + return ld +} + +type listDiff struct { + beforeIds, afterIds []string + beforeIdsM, afterIdsM map[string]struct{} +} + +func (ld *listDiff) Equal(i, j int) bool { return ld.beforeIds[i] == ld.afterIds[j] } + +func (ld *listDiff) fillAfter(id string) { + ld.afterIds = append(ld.afterIds, id) +} + +func (ld *listDiff) reverse() { + for i, j := 0, len(ld.afterIds)-1; i < j; i, j = i+1, j-1 { + ld.afterIds[i], ld.afterIds[j] = ld.afterIds[j], ld.afterIds[i] + } +} + +func (ld *listDiff) reset() { + ld.beforeIds, ld.afterIds = ld.afterIds, ld.beforeIds + ld.afterIds = ld.afterIds[:0] + ld.beforeIdsM = ld.afterIdsM + ld.afterIdsM = make(map[string]struct{}) +} + +func (ld *listDiff) diff(ctx *opCtx, subId string, keys []string) (wasAddOrRemove bool) { + for _, id := range ld.afterIds { + ld.afterIdsM[id] = struct{}{} + } + + hasBefore := func(id string) bool { + if _, ok := ld.beforeIdsM[id]; ok { + return true + } + return false + } + hasAfter := func(id string) bool { + if _, ok := ld.afterIdsM[id]; ok { + return true + } + return false + } + getPrevId := func(s []string, i int) string { + if i == 0 { + return "" + } + return s[i-1] + } + diffData := diff.Diff(len(ld.beforeIds), len(ld.afterIds), ld) + for _, ch := range diffData { + for i := 0; i < ch.Ins; i++ { + idx := ch.B + i + isAdd := !hasBefore(ld.afterIds[idx]) + ctx.position = append(ctx.position, opPosition{ + id: ld.afterIds[idx], + subId: subId, + keys: keys, + afterId: getPrevId(ld.afterIds, idx), + isAdd: isAdd, + }) + if isAdd { + wasAddOrRemove = true + } + } + for i := 0; i < ch.Del; i++ { + idx := ch.A + i + if !hasAfter(ld.beforeIds[idx]) { + ctx.remove = append(ctx.remove, opRemove{ + id: ld.beforeIds[idx], + subId: subId, + }) + wasAddOrRemove = true + } + } + } + return +} diff --git a/core/subscription/diff_test.go b/core/subscription/diff_test.go new file mode 100644 index 000000000..fca0e7131 --- /dev/null +++ b/core/subscription/diff_test.go @@ -0,0 +1,142 @@ +package subscription + +import ( + "fmt" + "github.com/anytypeio/go-anytype-middleware/util/slice" + "github.com/stretchr/testify/assert" + "math/rand" + "strings" + "testing" + "time" +) + +func TestListDiffFuzz(t *testing.T) { + var genRandomUniqueSeq = func(l int) []string { + ids := map[string]struct{}{} + for len(ids) < l { + ids[fmt.Sprint(rand.Intn(int(float64(l)*1.2)))] = struct{}{} + } + res := make([]string, 0, l) + for id := range ids { + res = append(res, id) + } + return res + } + + var chToString = func(ch opPosition) string { + if ch.isAdd { + return fmt.Sprintf("add: %s after: %s", ch.id, ch.afterId) + } + return fmt.Sprintf("move: %s after: %s", ch.id, ch.afterId) + } + + var checkBeforeAfter = func(before, after []string) (ok bool) { + var debug []string + + d := newListDiff(before) + for _, id := range after { + d.fillAfter(id) + } + ctx := &opCtx{} + d.diff(ctx, "", nil) + + var resAfter = make([]string, len(before)) + copy(resAfter, before) + + for i, ch := range ctx.position { + if !ch.isAdd { + resAfter = slice.Remove(resAfter, ch.id) + } + if ch.afterId == "" { + resAfter = append([]string{ch.id}, resAfter...) + } else { + pos := slice.FindPos(resAfter, ch.afterId) + resAfter = slice.Insert(resAfter, pos+1, ch.id) + } + debug = append(debug, fmt.Sprintf("%d:\t %+v", i, chToString(ch))) + debug = append(debug, fmt.Sprintf("%d:\t %v", i, resAfter)) + } + for i, rm := range ctx.remove { + resAfter = slice.Remove(resAfter, rm.id) + debug = append(debug, fmt.Sprintf("%d:\t remove %+v", i, rm.id)) + debug = append(debug, fmt.Sprintf("%d:\t %v", i, resAfter)) + } + ok = assert.ObjectsAreEqual(after, resAfter) + + if !ok { + t.Log("after", after) + t.Log("afterRes", resAfter) + t.Log("before", before) + + for _, dbg := range debug { + t.Log(dbg) + } + } else { + t.Logf("ch: %d; rm: %d; %v", len(ctx.position), len(ctx.remove), len(resAfter)) + } + assert.True(t, ok) + return + } + + /* + checkBeforeAfter([]string{"1", "2", "3", "4", "5", "6"}, []string{"6", "2", "3", "4", "5", "1"}) + return + */ + rand.Seed(time.Now().UnixNano()) + + var initialLen = 30 + + var before, after []string + before = genRandomUniqueSeq(initialLen) + for i := 0; i < 1000; i++ { + after = genRandomUniqueSeq(initialLen + rand.Intn(1+5)) + if !checkBeforeAfter(before, after) { + break + } + before = after + } +} + +func BenchmarkDiff(b *testing.B) { + b.ReportAllocs() + genData := func(n int, reverse bool) []string { + res := make([]string, n) + for i := 0; i < n; i++ { + if reverse { + res[i] = strings.Repeat("x", 40) + fmt.Sprint(n-i) + } else { + res[i] = strings.Repeat("x", 40) + fmt.Sprint(i) + } + } + return res + } + benchmark := func(before, after []string) func(b *testing.B) { + d := newListDiff(before) + ctx := &opCtx{} + return func(b *testing.B) { + b.ReportAllocs() + for i := 0; i < b.N; i++ { + for _, id := range after { + d.fillAfter(id) + } + d.diff(ctx, "", nil) + d.reset() + ctx.reset() + after, before = before, after + } + } + } + var before, after []string + for _, n := range []int{ + 100, 1000, 10000, + } { + b.Run(fmt.Sprintf("big-diff-%d", n), benchmark(genData(n, false), genData(n, true))) + before = genData(n, false) + after = genData(n, false) + after[(n/2)-1], after[(n/2)] = after[(n/2)], after[(n/2)-1] + b.Run(fmt.Sprintf("small-diff-%d", n), benchmark(before, after)) + before = genData(n, false) + b.Run(fmt.Sprintf("equal-%d", n), benchmark(before, before)) + } + +} diff --git a/core/subscription/service.go b/core/subscription/service.go index fb4b41388..c52e8bbaa 100644 --- a/core/subscription/service.go +++ b/core/subscription/service.go @@ -3,6 +3,7 @@ package subscription import ( "fmt" "sync" + "time" "github.com/anytypeio/go-anytype-middleware/app" "github.com/anytypeio/go-anytype-middleware/core/event" @@ -26,6 +27,8 @@ const CName = "subscription" var log = logging.Logger("anytype-mw-subscription") +var batchTime = 50 * time.Millisecond + func New() Service { return new(service) } @@ -45,6 +48,7 @@ type subscription interface { counters() (prev, next int) onChange(ctx *opCtx) getActiveRecords() (res []*types.Struct) + hasDep() bool close() } @@ -129,7 +133,11 @@ func (s *service) Search(req pb.RpcObjectSearchSubscribeRequest) (resp *pb.RpcOb req.Limit = 0 } sub := s.newSortedSub(req.SubId, req.Keys, f.FilterObj, f.Order, int(req.Limit), int(req.Offset)) - sub.forceSubIds = filterDepIds + if req.NoDepSubscription { + sub.disableDep = true + } else { + sub.forceSubIds = filterDepIds + } entries := make([]*entry, 0, len(records)) for _, r := range records { entries = append(entries, &entry{ @@ -233,33 +241,64 @@ func (s *service) UnsubscribeAll() (err error) { func (s *service) recordsHandler() { var entries []*entry + nilIfExists := func(id string) { + for i, e := range entries { + if e != nil && e.id == id { + entries[i] = nil + return + } + } + } for { records := s.recBatch.Wait() if len(records) == 0 { return } for _, rec := range records { + id := pbtypes.GetString(rec.(database.Record).Details, "id") + // nil previous version + nilIfExists(id) entries = append(entries, &entry{ - id: pbtypes.GetString(rec.(database.Record).Details, "id"), + id: id, data: rec.(database.Record).Details, }) } - s.onChange(entries) + // filter nil entries + var filtered = entries[:0] + for _, e := range entries { + if e != nil { + filtered = append(filtered, e) + } + } + log.Debugf("batch rewrite: %d->%d", len(entries), len(filtered)) + if s.onChange(filtered) < batchTime { + time.Sleep(batchTime) + } entries = entries[:0] } } -func (s *service) onChange(entries []*entry) { +func (s *service) onChange(entries []*entry) time.Duration { s.m.Lock() defer s.m.Unlock() + var subCount, depCount int + st := time.Now() s.ctxBuf.reset() s.ctxBuf.entries = entries for _, sub := range s.subscriptions { sub.onChange(s.ctxBuf) + subCount++ + if sub.hasDep() { + depCount++ + } } - log.Debugf("handle %d etries; ctx: %#v", len(entries), s.ctxBuf) + handleTime := time.Since(st) event := s.ctxBuf.apply() + dur := time.Since(st) + + log.Debugf("handle %d entries; %v(handle:%v;genEvents:%v); cacheSize: %d; subCount:%d; subDepCount:%d", len(entries), dur, handleTime, dur-handleTime, len(s.cache.entries), subCount, depCount) s.sendEvent(event) + return dur } func (s *service) filtersFromSource(sources []string) (filter.Filter, error) { diff --git a/core/subscription/service_test.go b/core/subscription/service_test.go index 47fe5ebd3..5d5126a7f 100644 --- a/core/subscription/service_test.go +++ b/core/subscription/service_test.go @@ -44,7 +44,7 @@ func TestService_Search(t *testing.T) { "id": pbtypes.String("author1"), "name": pbtypes.String("author1"), }}}, - }, nil) + }, nil).AnyTimes() resp, err := fx.Search(pb.RpcObjectSearchSubscribeRequest{ SubId: subId, @@ -63,7 +63,7 @@ func TestService_Search(t *testing.T) { newSub(fx, "test") - fx.store.EXPECT().QueryById([]string{"author2", "author3", "1"}).Return([]database.Record{ + fx.store.EXPECT().QueryById([]string{"author2", "author3"}).Return([]database.Record{ {Details: &types.Struct{Fields: map[string]*types.Value{ "id": pbtypes.String("author2"), "name": pbtypes.String("author2"), @@ -72,11 +72,6 @@ func TestService_Search(t *testing.T) { "id": pbtypes.String("author3"), "name": pbtypes.String("author3"), }}}, - {Details: &types.Struct{Fields: map[string]*types.Value{ - "id": pbtypes.String("1"), - "name": pbtypes.String("one"), - "author": pbtypes.StringList([]string{"author2", "author3", "1"}), - }}}, }, nil) fx.Service.(*service).onChange([]*entry{ @@ -175,6 +170,72 @@ func TestService_Search(t *testing.T) { assert.Len(t, resp.Dependencies, 2) }) + t.Run("add with limit", func(t *testing.T) { + fx := newFixture(t) + defer fx.a.Close() + defer fx.ctrl.Finish() + + fx.store.EXPECT().QueryRaw(gomock.Any()).Return( + []database.Record{ + {Details: &types.Struct{Fields: map[string]*types.Value{ + "id": pbtypes.String("1"), + "name": pbtypes.String("1"), + }}}, + {Details: &types.Struct{Fields: map[string]*types.Value{ + "id": pbtypes.String("2"), + "name": pbtypes.String("2"), + }}}, + {Details: &types.Struct{Fields: map[string]*types.Value{ + "id": pbtypes.String("3"), + "name": pbtypes.String("3"), + }}}, + }, + nil, + ) + fx.store.EXPECT().GetRelation(bundle.RelationKeyName.String()).Return(&model.Relation{ + Key: bundle.RelationKeyName.String(), + Format: model.RelationFormat_shorttext, + }, nil).AnyTimes() + + resp, err := fx.Search(pb.RpcObjectSearchSubscribeRequest{ + SubId: "test", + Sorts: []*model.BlockContentDataviewSort{ + { + RelationKey: "name", + Type: model.BlockContentDataviewSort_Desc, + }, + }, + Limit: 2, + Keys: []string{"id", "name"}, + }) + require.NoError(t, err) + // should be 3,2 (1) + require.Len(t, resp.Records, 2) + assert.Equal(t, "3", pbtypes.GetString(resp.Records[0], "id")) + assert.Equal(t, "2", pbtypes.GetString(resp.Records[1], "id")) + + fx.Service.(*service).onChange([]*entry{ + {id: "1", data: &types.Struct{Fields: map[string]*types.Value{ + "id": pbtypes.String("1"), + "name": pbtypes.String("4"), + }}}, + }) + // should be 1,3 (2) + require.Len(t, fx.events[0].Messages, 3) + assert.NotEmpty(t, fx.events[0].Messages[0].GetObjectDetailsSet()) + assert.NotEmpty(t, fx.events[0].Messages[1].GetSubscriptionAdd()) + assert.NotEmpty(t, fx.events[0].Messages[2].GetSubscriptionRemove()) + + fx.Service.(*service).onChange([]*entry{ + {id: "2", data: &types.Struct{Fields: map[string]*types.Value{ + "id": pbtypes.String("2"), + "name": pbtypes.String("6"), + }}}, + }) + + // should be 2,1 (3) + t.Log(pbtypes.Sprint(fx.events[1])) + }) } func newFixture(t *testing.T) *fixture { diff --git a/core/subscription/simple.go b/core/subscription/simple.go index cad297567..b40109f91 100644 --- a/core/subscription/simple.go +++ b/core/subscription/simple.go @@ -47,6 +47,18 @@ func (s *simpleSub) init(entries []*entry) (err error) { return } +func (s *simpleSub) isEqualIds(ids []string) bool { + if len(s.set) != len(ids) { + return false + } + for _, id := range ids { + if _, ok := s.set[id]; !ok { + return false + } + } + return true +} + func (s *simpleSub) refill(ctx *opCtx, entries []*entry) { var newSet = make(map[string]struct{}) for _, e := range entries { @@ -57,10 +69,11 @@ func (s *simpleSub) refill(ctx *opCtx, entries []*entry) { keys: s.keys, }) } else { - ctx.add = append(ctx.add, opChange{ + ctx.position = append(ctx.position, opPosition{ id: e.id, subId: s.id, keys: s.keys, + isAdd: true, }) } newSet[e.id] = struct{}{} @@ -115,6 +128,10 @@ func (s *simpleSub) getActiveRecords() (res []*types.Struct) { return } +func (s *simpleSub) hasDep() bool { + return s.depSub != nil +} + func (s *simpleSub) close() { for id := range s.set { s.cache.RemoveSubId(id, s.id) diff --git a/core/subscription/sorted.go b/core/subscription/sorted.go index e714c4187..bbbefa935 100644 --- a/core/subscription/sorted.go +++ b/core/subscription/sorted.go @@ -2,7 +2,6 @@ package subscription import ( "errors" - "github.com/anytypeio/go-anytype-middleware/pkg/lib/database/filter" "github.com/anytypeio/go-anytype-middleware/util/pbtypes" "github.com/gogo/protobuf/types" @@ -46,6 +45,11 @@ type sortedSub struct { activeEntriesBuf []*entry forceSubIds []string + disableDep bool + + diff *listDiff + + compCountBefore, compCountAfter opCounter cache *cache ds *dependencyService @@ -59,11 +63,10 @@ func (s *sortedSub) init(entries []*entry) (err error) { s.close() } }() - for i, e := range entries { e = s.cache.GetOrSet(e) entries[i] = e - e.SetSub(s.id, true) + e.SetSub(s.id, false) s.skl.Set(e, nil) } if s.afterId != "" { @@ -107,11 +110,17 @@ func (s *sortedSub) init(entries []*entry) (err error) { } activeEntries := s.getActiveEntries() - for _, ae := range activeEntries { + var activeIds = make([]string, len(activeEntries)) + for i, ae := range activeEntries { ae.SetSub(s.id, true) + activeIds[i] = ae.id } + s.diff = newListDiff(activeIds) + s.compCountBefore.subId = s.id + s.compCountBefore.prevCount, s.compCountBefore.nextCount = s.counters() + s.compCountBefore.total = s.skl.Len() - if s.ds != nil { + if s.ds != nil && !s.disableDep { s.depKeys = s.ds.depKeys(s.keys) if len(s.depKeys) > 0 || len(s.forceSubIds) > 0 { s.depSub = s.ds.makeSubscriptionByEntries(s.id+"/dep", entries, activeEntries, s.keys, s.depKeys, s.forceSubIds) @@ -121,286 +130,89 @@ func (s *sortedSub) init(entries []*entry) (err error) { } func (s *sortedSub) onChange(ctx *opCtx) { - var countersChanged, activeChanged bool + var changed bool for _, e := range ctx.entries { - ch, ac := s.onEntryChange(ctx, e) - if ch { - countersChanged = true - } - if ac { - activeChanged = true + if !s.onEntryChange(ctx, e) { + changed = true } } - if countersChanged { - prev, next := s.counters() - ctx.counters = append(ctx.counters, opCounter{ - subId: s.id, - total: s.skl.Len(), - prevCount: prev, - nextCount: next, - }) + if !changed { + return } - if activeChanged && s.depSub != nil { - s.ds.refillSubscription(ctx, s.depSub, s.getActiveEntries(), s.depKeys) + defer s.diff.reset() + s.activeEntriesBuf = s.activeEntriesBuf[:0] + if s.iterateActive(func(e *entry) { + s.diff.fillAfter(e.id) + if s.depSub != nil { + s.activeEntriesBuf = append(s.activeEntriesBuf, e) + } + }) { + s.diff.reverse() } + + s.compCountAfter.subId = s.id + s.compCountAfter.prevCount, s.compCountAfter.nextCount = s.counters() + s.compCountAfter.total = s.skl.Len() + + if s.compCountAfter != s.compCountBefore { + ctx.counters = append(ctx.counters, s.compCountAfter) + s.compCountBefore = s.compCountAfter + } + + wasAddOrRemove := s.diff.diff(ctx, s.id, s.keys) + + hasChanges := false + for _, e := range ctx.entries { + if _, ok := s.diff.afterIdsM[e.id]; ok { + e.SetSub(s.id, true) + ctx.change = append(ctx.change, opChange{ + id: e.id, + subId: s.id, + keys: s.keys, + }) + hasChanges = true + } + } + + if (wasAddOrRemove || hasChanges) && s.depSub != nil { + s.ds.refillSubscription(ctx, s.depSub, s.activeEntriesBuf, s.depKeys) + } + } -func (s *sortedSub) onEntryChange(ctx *opCtx, e *entry) (countersChanged, activeChanged bool) { +func (s *sortedSub) onEntryChange(ctx *opCtx, e *entry) (noChange bool) { newInSet := true if s.filter != nil { newInSet = s.filter.FilterObject(e) } - curInSet, currInActive := s.lookup(s.cache.Get(e.id)) + curr := s.cache.Get(e.id) + curInSet := curr != nil + // nothing if !curInSet && !newInSet { - return false, false + return true } + // remove if curInSet && !newInSet { - if currInActive { - s.removeActive(ctx, e) - activeChanged = true - } else { - s.removeNonActive(e.id) - } - countersChanged = true + s.skl.Remove(curr) + e.RemoveSubId(s.id) return } + // add if !curInSet && newInSet { - return s.add(ctx, e) + s.skl.Set(e, nil) + e.SetSub(s.id, false) + return } + // change if curInSet && newInSet { - return s.change(ctx, e, currInActive) + s.skl.Remove(curr) + s.skl.Set(e, nil) + e.SetSub(s.id, false) + return } panic("subscription: check algo") } -func (s *sortedSub) removeNonActive(id string) { - e := s.cache.Get(id) - if s.afterEl != nil { - if comp := s.Compare(s.afterEl.Key(), s.skl.Get(e).Key()); comp <= 0 { - if comp == 0 { - s.afterEl = s.afterEl.Prev() - if s.afterEl != nil { - s.afterId = s.afterEl.Key().(*entry).id - } - } - } - } else if s.beforeEl != nil { - if comp := s.Compare(s.beforeEl.Key(), s.skl.Get(e).Key()); comp >= 0 { - if comp == 0 { - s.beforeEl = s.beforeEl.Next() - if s.beforeEl != nil { - s.beforeId = s.beforeEl.Key().(*entry).id - } - } - } - } - s.skl.Remove(e) -} - -func (s *sortedSub) removeActive(ctx *opCtx, e *entry) { - s.skl.Remove(s.cache.Get(e.id)) - ctx.remove = append(ctx.remove, opRemove{ - id: e.id, - subId: s.id, - }) - s.alignAdd(ctx) -} - -func (s *sortedSub) add(ctx *opCtx, e *entry) (countersChanged, activeChanged bool) { - s.skl.Set(e, nil) - _, inActive := s.lookup(e) - if inActive { - var afterId string - if prev := s.skl.Get(e).Prev(); prev != nil { - afterId = prev.Key().(*entry).id - } - ctx.add = append(ctx.add, opChange{ - id: e.id, - subId: s.id, - keys: s.keys, - afterId: afterId, - }) - s.alignRemove(ctx) - e.SetSub(s.id, true) - return true, true - } - e.SetSub(s.id, false) - return true, false -} - -func (s *sortedSub) change(ctx *opCtx, e *entry, currInActive bool) (countersChanged, activeChanged bool) { - var currAfterId string - if currInActive { - if prev := s.skl.Get(s.cache.Get(e.id)).Prev(); prev != nil { - currAfterId = prev.Key().(*entry).id - } - } - s.skl.Remove(s.cache.Get(e.id)) - s.skl.Set(e, nil) - _, newInActive := s.lookup(e) - if newInActive { - var newAfterId string - if prev := s.skl.Get(e).Prev(); prev != nil { - newAfterId = prev.Key().(*entry).id - } - if currAfterId != newAfterId { - ctx.position = append(ctx.position, opPosition{ - id: e.id, - subId: s.id, - afterId: newAfterId, - }) - } - if !currInActive { - countersChanged = true - } else { - activeChanged = true - } - ctx.change = append(ctx.change, opChange{ - id: e.id, - subId: s.id, - keys: s.keys, - }) - e.SetSub(s.id, true) - } else { - if currInActive { - ctx.remove = append(ctx.remove, opRemove{ - id: e.id, - subId: s.id, - }) - s.alignAdd(ctx) - activeChanged = true - } - countersChanged = true - e.SetSub(s.id, false) - } - return -} - -func (s *sortedSub) alignAdd(ctx *opCtx) { - if s.limit > 0 { - if s.beforeEl != nil { - ctx.add = append(ctx.add, opChange{ - id: s.beforeEl.Key().(*entry).id, - subId: s.id, - keys: s.keys, - }) - s.beforeEl = s.beforeEl.Next() - if s.beforeEl != nil { - s.beforeId = s.beforeEl.Key().(*entry).id - } - } else { - var i int - var next = s.afterEl - if next == nil { - next = s.skl.Front() - } else { - next = next.Next() - } - for next != nil { - i++ - if i == s.limit { - break - } - next = next.Next() - } - if next != nil { - afterId := "" - prev := next.Prev() - if prev != nil { - afterId = prev.Key().(*entry).id - } - ctx.add = append(ctx.add, opChange{ - id: next.Key().(*entry).id, - afterId: afterId, - subId: s.id, - keys: s.keys, - }) - } - } - } -} - -func (s *sortedSub) alignRemove(ctx *opCtx) { - if s.limit > 0 { - if s.beforeEl != nil { - ctx.remove = append(ctx.remove, opRemove{ - id: s.beforeEl.Key().(*entry).id, - subId: s.id, - }) - s.beforeEl = s.beforeEl.Prev() - if s.beforeEl != nil { - s.beforeId = s.beforeEl.Key().(*entry).id - } - } else { - var i int - var next = s.afterEl - if next == nil { - next = s.skl.Front() - } else { - next = next.Next() - } - for next != nil { - if i == s.limit { - break - } - next = next.Next() - i++ - } - if next != nil { - ctx.remove = append(ctx.remove, opRemove{ - id: next.Key().(*entry).id, - subId: s.id, - }) - } - } - } -} - -func (s *sortedSub) lookup(e *entry) (inSet, inActive bool) { - if e == nil { - return - } - el := s.skl.Get(e) - if el == nil { - return - } - inSet = true - var ( - startEl *skiplist.Element - backward bool - ) - if s.afterEl != nil { - startEl = s.afterEl - } else if s.beforeEl != nil { - startEl = s.beforeEl - backward = true - } - - if startEl != nil { - comp := s.Compare(startEl.Key(), e) - if comp == 0 { - return - } - if (comp < 0 && backward) || (comp > 0 && !backward) { - return - } - if s.limit > 0 { - if s.inDistance(startEl, e.id, s.limit, backward) { - inActive = true - } - } else { - inActive = true - } - } else if s.limit > 0 { - if s.inDistance(s.skl.Front(), e.id, s.limit-1, false) { - inActive = true - } - } else { - inActive = true - } - return -} - func (s *sortedSub) counters() (prev, next int) { if s.beforeEl == nil && s.afterEl == nil && s.limit <= 0 { // no pagination - no counters @@ -452,25 +264,6 @@ func (s *sortedSub) counters() (prev, next int) { return } -func (s *sortedSub) inDistance(el *skiplist.Element, id string, distance int, backward bool) bool { - var i int - for el != nil { - if el.Key().(*entry).id == id { - return true - } - i++ - if i > distance { - return false - } - if backward { - el = el.Prev() - } else { - el = el.Next() - } - } - return false -} - func (s *sortedSub) getActiveRecords() (res []*types.Struct) { reverse := s.iterateActive(func(e *entry) { res = append(res, pbtypes.StructFilterKeys(e.data, s.keys)) @@ -548,6 +341,10 @@ func (s *sortedSub) CalcScore(key interface{}) float64 { return 0 } +func (s *sortedSub) hasDep() bool { + return s.depSub != nil +} + func (s *sortedSub) close() { el := s.skl.Front() for el != nil { diff --git a/core/subscription/sorted_test.go b/core/subscription/sorted_test.go index 8d16044ef..555c43005 100644 --- a/core/subscription/sorted_test.go +++ b/core/subscription/sorted_test.go @@ -11,243 +11,6 @@ import ( "github.com/stretchr/testify/require" ) -func TestSubscription_Internal(t *testing.T) { - t.Run("init", func(t *testing.T) { - t.Run("afterId err", func(t *testing.T) { - sub := &sortedSub{ - order: testOrder, - cache: newCache(), - afterId: "id101", - } - require.Equal(t, ErrAfterId, sub.init(genEntries(100, false))) - assert.Len(t, sub.cache.entries, 0) - }) - t.Run("beforeId err", func(t *testing.T) { - sub := &sortedSub{ - order: testOrder, - cache: newCache(), - beforeId: "id101", - } - require.Equal(t, ErrBeforeId, sub.init(genEntries(100, false))) - assert.Len(t, sub.cache.entries, 0) - }) - }) - t.Run("lookup", func(t *testing.T) { - t.Run("no limits", func(t *testing.T) { - sub := &sortedSub{ - order: testOrder, - cache: newCache(), - } - require.NoError(t, sub.init(genEntries(100, false))) - inSet, inActive := sub.lookup(sub.cache.Get("id50")) - assert.True(t, inSet, "inSet") - assert.True(t, inActive, "inActive") - - assert.Len(t, sub.cache.entries, 100) - for _, e := range sub.cache.entries { - assert.Len(t, e.SubIds(), 1) - } - }) - t.Run("with limit", func(t *testing.T) { - sub := &sortedSub{ - order: testOrder, - cache: newCache(), - limit: 10, - } - require.NoError(t, sub.init(genEntries(100, false))) - inSet, inActive := sub.lookup(sub.cache.Get("id11")) - assert.True(t, inSet, "inSet") - assert.False(t, inActive, "inActive") - inSet, inActive = sub.lookup(sub.cache.Get("id10")) - assert.True(t, inSet, "inSet") - assert.True(t, inActive, "inActive") - }) - t.Run("afterId no limit", func(t *testing.T) { - sub := &sortedSub{ - order: testOrder, - cache: newCache(), - afterId: "id50", - } - require.NoError(t, sub.init(genEntries(100, false))) - - inSet, inActive := sub.lookup(sub.cache.Get("id49")) - assert.True(t, inSet, "inSet") - assert.False(t, inActive, "inActive") - inSet, inActive = sub.lookup(sub.cache.Get("id50")) - assert.True(t, inSet, "inSet") - assert.False(t, inActive, "inActive") - inSet, inActive = sub.lookup(sub.cache.Get("id51")) - assert.True(t, inSet, "inSet") - assert.True(t, inActive, "inActive") - }) - t.Run("beforeId no limit", func(t *testing.T) { - sub := &sortedSub{ - order: testOrder, - cache: newCache(), - beforeId: "id50", - } - require.NoError(t, sub.init(genEntries(100, false))) - inSet, inActive := sub.lookup(sub.cache.Get("id51")) - assert.True(t, inSet, "inSet") - assert.False(t, inActive, "inActive") - - inSet, inActive = sub.lookup(sub.cache.Get("id50")) - assert.True(t, inSet, "inSet") - assert.False(t, inActive, "inActive") - - inSet, inActive = sub.lookup(sub.cache.Get("id49")) - assert.True(t, inSet, "inSet") - assert.True(t, inActive, "inActive") - }) - t.Run("afterId limit", func(t *testing.T) { - sub := &sortedSub{ - order: testOrder, - cache: newCache(), - afterId: "id50", - limit: 10, - } - require.NoError(t, sub.init(genEntries(100, false))) - - inSet, inActive := sub.lookup(sub.cache.Get("id49")) - assert.True(t, inSet, "inSet") - assert.False(t, inActive, "inActive") - - inSet, inActive = sub.lookup(sub.cache.Get("id60")) - assert.True(t, inSet, "inSet") - assert.True(t, inActive, "inActive") - - inSet, inActive = sub.lookup(sub.cache.Get("id61")) - assert.True(t, inSet, "inSet") - assert.False(t, inActive, "inActive") - }) - t.Run("beforeId limit", func(t *testing.T) { - sub := &sortedSub{ - order: testOrder, - cache: newCache(), - beforeId: "id50", - limit: 10, - } - require.NoError(t, sub.init(genEntries(100, false))) - - inSet, inActive := sub.lookup(sub.cache.Get("id51")) - assert.True(t, inSet, "inSet") - assert.False(t, inActive, "inActive") - - inSet, inActive = sub.lookup(sub.cache.Get("id40")) - assert.True(t, inSet, "inSet") - assert.True(t, inActive, "inActive") - - inSet, inActive = sub.lookup(sub.cache.Get("id39")) - assert.True(t, inSet, "inSet") - assert.False(t, inActive, "inActive") - }) - }) - t.Run("counters", func(t *testing.T) { - t.Run("no limits", func(t *testing.T) { - sub := &sortedSub{ - order: testOrder, - cache: newCache(), - } - require.NoError(t, sub.init(genEntries(6, false))) - prev, next := sub.counters() - assert.Equal(t, 0, prev, "prevCount") - assert.Equal(t, 0, next, "nextCount") - }) - t.Run("limit only", func(t *testing.T) { - sub := &sortedSub{ - order: testOrder, - cache: newCache(), - limit: 2, - } - require.NoError(t, sub.init(genEntries(6, false))) - prev, next := sub.counters() - assert.Equal(t, 0, prev, "prevCount") - assert.Equal(t, 4, next, "nextCount") - }) - t.Run("afterId no limit", func(t *testing.T) { - sub := &sortedSub{ - order: testOrder, - cache: newCache(), - afterId: "id2", - } - require.NoError(t, sub.init(genEntries(6, false))) - prev, next := sub.counters() - assert.Equal(t, 2, prev, "prevCount") - assert.Equal(t, 0, next, "nextCount") - }) - t.Run("beforeId no limit", func(t *testing.T) { - sub := &sortedSub{ - order: testOrder, - cache: newCache(), - beforeId: "id3", - } - require.NoError(t, sub.init(genEntries(6, false))) - prev, next := sub.counters() - assert.Equal(t, 0, prev, "prevCount") - assert.Equal(t, 4, next, "nextCount") - }) - t.Run("afterId with limit", func(t *testing.T) { - sub := &sortedSub{ - order: testOrder, - cache: newCache(), - afterId: "id2", - limit: 2, - } - require.NoError(t, sub.init(genEntries(6, false))) - prev, next := sub.counters() - assert.Equal(t, 2, prev, "prevCount") - assert.Equal(t, 2, next, "nextCount") - }) - t.Run("beforeId with limit", func(t *testing.T) { - sub := &sortedSub{ - order: testOrder, - cache: newCache(), - beforeId: "id5", - limit: 2, - } - require.NoError(t, sub.init(genEntries(6, false))) - prev, next := sub.counters() - assert.Equal(t, 2, prev, "prevCount") - assert.Equal(t, 2, next, "nextCount") - }) - t.Run("limit only - big limit", func(t *testing.T) { - sub := &sortedSub{ - order: testOrder, - cache: newCache(), - limit: 20, - } - require.NoError(t, sub.init(genEntries(6, false))) - prev, next := sub.counters() - assert.Equal(t, 0, prev, "prevCount") - assert.Equal(t, 0, next, "nextCount") - }) - t.Run("afterId - big limit", func(t *testing.T) { - sub := &sortedSub{ - order: testOrder, - cache: newCache(), - limit: 20, - afterId: "id2", - } - require.NoError(t, sub.init(genEntries(6, false))) - prev, next := sub.counters() - assert.Equal(t, 2, prev, "prevCount") - assert.Equal(t, 0, next, "nextCount") - }) - t.Run("beforeId - big limit", func(t *testing.T) { - sub := &sortedSub{ - order: testOrder, - cache: newCache(), - limit: 20, - beforeId: "id5", - } - require.NoError(t, sub.init(genEntries(6, false))) - prev, next := sub.counters() - assert.Equal(t, 0, prev, "prevCount") - assert.Equal(t, 2, next, "nextCount") - }) - }) -} - func TestSubscription_Add(t *testing.T) { t.Run("add", func(t *testing.T) { sub := &sortedSub{ @@ -270,7 +33,7 @@ func TestSubscription_Add(t *testing.T) { ctx := &opCtx{c: sub.cache, entries: newEntries} sub.onChange(ctx) - assertCtxAdd(t, ctx, "newActiveId1", "id3") + assertCtxAdd(t, ctx, "newActiveId1", "") assertCtxAdd(t, ctx, "newActiveId2", "newActiveId1") assertCtxRemove(t, ctx, "id5", "id6") assertCtxCounters(t, ctx, opCounter{subId: "test", total: 14, prevCount: 4, nextCount: 7}) @@ -338,7 +101,7 @@ func TestSubscription_Change(t *testing.T) { data: &types.Struct{Fields: map[string]*types.Value{"id": pbtypes.String("id4"), "order": pbtypes.Int64(6)}}, }) sub.onChange(ctx) - assertCtxPosition(t, ctx, "id4", "id5") + assertCtxPosition(t, ctx, "id5", "") assertCtxChange(t, ctx, "id4") }) } diff --git a/core/subscription/testutils_test.go b/core/subscription/testutils_test.go index 6d563d4b3..cf4030a20 100644 --- a/core/subscription/testutils_test.go +++ b/core/subscription/testutils_test.go @@ -40,10 +40,11 @@ func genEntry(id string, ord int64) *entry { func assertCtxAdd(t *testing.T, ctx *opCtx, id, afterId string) { var found bool - for _, add := range ctx.add { - if add.id == id { + for _, add := range ctx.position { + if add.isAdd && add.id == id { found = true assert.Equal(t, afterId, add.afterId, "add after id not equal") + break } } assert.True(t, found, fmt.Sprintf("add id %v not found", id)) @@ -55,6 +56,7 @@ func assertCtxPosition(t *testing.T, ctx *opCtx, id, afterId string) { if pos.id == id { found = true assert.Equal(t, afterId, pos.afterId, "pos after id not equal") + break } } assert.True(t, found, fmt.Sprintf("pos id %v not found", id)) @@ -93,7 +95,6 @@ func assertCtxChange(t *testing.T, ctx *opCtx, ids ...string) { } func assertCtxEmpty(t *testing.T, ctx *opCtx) { - assert.Len(t, ctx.add, 0, "add not empty") assert.Len(t, ctx.remove, 0, "remove not empty") assert.Len(t, ctx.counters, 0, "counters not empty") assert.Len(t, ctx.change, 0, "change not empty") diff --git a/docs/proto.md b/docs/proto.md index c9140725a..0cfbba187 100644 --- a/docs/proto.md +++ b/docs/proto.md @@ -271,6 +271,10 @@ - [Rpc.Block.Set.Text.Color.Request](#anytype.Rpc.Block.Set.Text.Color.Request) - [Rpc.Block.Set.Text.Color.Response](#anytype.Rpc.Block.Set.Text.Color.Response) - [Rpc.Block.Set.Text.Color.Response.Error](#anytype.Rpc.Block.Set.Text.Color.Response.Error) + - [Rpc.Block.Set.Text.Icon](#anytype.Rpc.Block.Set.Text.Icon) + - [Rpc.Block.Set.Text.Icon.Request](#anytype.Rpc.Block.Set.Text.Icon.Request) + - [Rpc.Block.Set.Text.Icon.Response](#anytype.Rpc.Block.Set.Text.Icon.Response) + - [Rpc.Block.Set.Text.Icon.Response.Error](#anytype.Rpc.Block.Set.Text.Icon.Response.Error) - [Rpc.Block.Set.Text.Style](#anytype.Rpc.Block.Set.Text.Style) - [Rpc.Block.Set.Text.Style.Request](#anytype.Rpc.Block.Set.Text.Style.Request) - [Rpc.Block.Set.Text.Style.Response](#anytype.Rpc.Block.Set.Text.Style.Response) @@ -744,6 +748,7 @@ - [Rpc.Block.Set.Restrictions.Response.Error.Code](#anytype.Rpc.Block.Set.Restrictions.Response.Error.Code) - [Rpc.Block.Set.Text.Checked.Response.Error.Code](#anytype.Rpc.Block.Set.Text.Checked.Response.Error.Code) - [Rpc.Block.Set.Text.Color.Response.Error.Code](#anytype.Rpc.Block.Set.Text.Color.Response.Error.Code) + - [Rpc.Block.Set.Text.Icon.Response.Error.Code](#anytype.Rpc.Block.Set.Text.Icon.Response.Error.Code) - [Rpc.Block.Set.Text.Style.Response.Error.Code](#anytype.Rpc.Block.Set.Text.Style.Response.Error.Code) - [Rpc.Block.Set.Text.Text.Response.Error.Code](#anytype.Rpc.Block.Set.Text.Text.Response.Error.Code) - [Rpc.Block.Set.Video.Name.Response.Error.Code](#anytype.Rpc.Block.Set.Video.Name.Response.Error.Code) @@ -936,6 +941,8 @@ - [Event.Block.Set.Text](#anytype.Event.Block.Set.Text) - [Event.Block.Set.Text.Checked](#anytype.Event.Block.Set.Text.Checked) - [Event.Block.Set.Text.Color](#anytype.Event.Block.Set.Text.Color) + - [Event.Block.Set.Text.IconEmoji](#anytype.Event.Block.Set.Text.IconEmoji) + - [Event.Block.Set.Text.IconImage](#anytype.Event.Block.Set.Text.IconImage) - [Event.Block.Set.Text.Marks](#anytype.Event.Block.Set.Text.Marks) - [Event.Block.Set.Text.Style](#anytype.Event.Block.Set.Text.Style) - [Event.Block.Set.Text.Text](#anytype.Event.Block.Set.Text.Text) @@ -1154,6 +1161,7 @@ | BlockListSetTextMark | [Rpc.BlockList.Set.Text.Mark.Request](#anytype.Rpc.BlockList.Set.Text.Mark.Request) | [Rpc.BlockList.Set.Text.Mark.Response](#anytype.Rpc.BlockList.Set.Text.Mark.Response) | | | BlockSetTextStyle | [Rpc.Block.Set.Text.Style.Request](#anytype.Rpc.Block.Set.Text.Style.Request) | [Rpc.Block.Set.Text.Style.Response](#anytype.Rpc.Block.Set.Text.Style.Response) | | | BlockSetTextChecked | [Rpc.Block.Set.Text.Checked.Request](#anytype.Rpc.Block.Set.Text.Checked.Request) | [Rpc.Block.Set.Text.Checked.Response](#anytype.Rpc.Block.Set.Text.Checked.Response) | | +| BlockSetTextIcon | [Rpc.Block.Set.Text.Icon.Request](#anytype.Rpc.Block.Set.Text.Icon.Request) | [Rpc.Block.Set.Text.Icon.Response](#anytype.Rpc.Block.Set.Text.Icon.Response) | | | BlockSplit | [Rpc.Block.Split.Request](#anytype.Rpc.Block.Split.Request) | [Rpc.Block.Split.Response](#anytype.Rpc.Block.Split.Response) | | | BlockMerge | [Rpc.Block.Merge.Request](#anytype.Rpc.Block.Merge.Request) | [Rpc.Block.Merge.Response](#anytype.Rpc.Block.Merge.Response) | | | BlockCopy | [Rpc.Block.Copy.Request](#anytype.Rpc.Block.Copy.Request) | [Rpc.Block.Copy.Response](#anytype.Rpc.Block.Copy.Response) | | @@ -1708,7 +1716,6 @@ Front end to middleware request-to-create-an account | ----- | ---- | ----- | ----------- | | name | [string](#string) | | Account name | | avatarLocalPath | [string](#string) | | Path to an image, that will be used as an avatar of this account | -| avatarColor | [string](#string) | | Avatar color as an alternative for avatar image | | alphaInviteCode | [string](#string) | | | @@ -5162,6 +5169,66 @@ Image/Video/File blocks then: + + +### Rpc.Block.Set.Text.Icon + + + + + + + + + +### Rpc.Block.Set.Text.Icon.Request + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| contextId | [string](#string) | | | +| blockId | [string](#string) | | | +| iconImage | [string](#string) | | in case both image and emoji are set, image has a priority to show | +| iconEmoji | [string](#string) | | | + + + + + + + + +### Rpc.Block.Set.Text.Icon.Response + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| error | [Rpc.Block.Set.Text.Icon.Response.Error](#anytype.Rpc.Block.Set.Text.Icon.Response.Error) | | | +| event | [ResponseEvent](#anytype.ResponseEvent) | | | + + + + + + + + +### Rpc.Block.Set.Text.Icon.Response.Error + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| code | [Rpc.Block.Set.Text.Icon.Response.Error.Code](#anytype.Rpc.Block.Set.Text.Icon.Response.Error.Code) | | | +| description | [string](#string) | | | + + + + + + ### Rpc.Block.Set.Text.Style @@ -9148,6 +9215,7 @@ deprecated, to be removed | | beforeId | [string](#string) | | (optional) pagination: middleware will return results before given id | | source | [string](#string) | repeated | | | ignoreWorkspace | [string](#string) | | | +| noDepSubscription | [bool](#bool) | | disable dependent subscription | @@ -11196,6 +11264,9 @@ Middleware-to-front-end response, that can contain a NULL error or a non-NULL er | ACCOUNT_CREATED_BUT_FAILED_TO_SET_AVATAR | 103 | | | FAILED_TO_STOP_RUNNING_NODE | 104 | | | BAD_INVITE_CODE | 900 | | +| NET_ERROR | 901 | means general network error | +| NET_CONNECTION_REFUSED | 902 | means we wasn't able to connect to the cafe server | +| NET_OFFLINE | 903 | client can additionally support this error code to notify user that device is offline | @@ -11926,6 +11997,19 @@ Middleware-to-front-end response, that can contain a NULL error or a non-NULL er + + +### Rpc.Block.Set.Text.Icon.Response.Error.Code + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| NULL | 0 | | +| UNKNOWN_ERROR | 1 | | +| BAD_INPUT | 2 | ... | + + + ### Rpc.Block.Set.Text.Style.Response.Error.Code @@ -12719,6 +12803,7 @@ Middleware-to-front-end response, that can contain a NULL error or a non-NULL er | NULL | 0 | | | UNKNOWN_ERROR | 1 | | | BAD_INPUT | 2 | | +| ALREADY_EXISTS | 10 | | @@ -14642,6 +14727,8 @@ Precondition: user A opened a block | marks | [Event.Block.Set.Text.Marks](#anytype.Event.Block.Set.Text.Marks) | | | | checked | [Event.Block.Set.Text.Checked](#anytype.Event.Block.Set.Text.Checked) | | | | color | [Event.Block.Set.Text.Color](#anytype.Event.Block.Set.Text.Color) | | | +| iconEmoji | [Event.Block.Set.Text.IconEmoji](#anytype.Event.Block.Set.Text.IconEmoji) | | | +| iconImage | [Event.Block.Set.Text.IconImage](#anytype.Event.Block.Set.Text.IconImage) | | | @@ -14678,6 +14765,36 @@ Precondition: user A opened a block + + +### Event.Block.Set.Text.IconEmoji + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| value | [string](#string) | | | + + + + + + + + +### Event.Block.Set.Text.IconImage + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| value | [string](#string) | | | + + + + + + ### Event.Block.Set.Text.Marks @@ -16052,6 +16169,8 @@ Link: block to link some content from an external sources. | marks | [Block.Content.Text.Marks](#anytype.model.Block.Content.Text.Marks) | | list of marks to apply to the text | | checked | [bool](#bool) | | | | color | [string](#string) | | | +| iconEmoji | [string](#string) | | used with style Callout | +| iconImage | [string](#string) | | in case both image and emoji are set, image should has a priority in the UI | @@ -16625,6 +16744,7 @@ scope from which this relation have been aggregated | | Numbered | 10 | | | Toggle | 11 | | | Description | 12 | currently only only one block of this style can exists on a page | +| Callout | 13 | currently only only one block of this style can exists on a page | diff --git a/go.mod b/go.mod index 606d17156..15ee66d71 100644 --- a/go.mod +++ b/go.mod @@ -10,7 +10,8 @@ require ( github.com/anytypeio/go-slip10 v0.0.0-20200330112030-a352ca8495e4 github.com/anytypeio/go-slip21 v0.0.0-20200218204727-e2e51e20ab51 github.com/araddon/dateparse v0.0.0-20210429162001-6b43995a97de - github.com/blevesearch/bleve v1.0.14 + github.com/blevesearch/bleve/v2 v2.3.0 // indirect + github.com/blevesearch/bleve_index_api v1.0.1 // indirect github.com/cheggaaa/mb v1.0.3 github.com/dave/jennifer v1.4.1 github.com/dgraph-io/badger v1.6.2 @@ -101,7 +102,7 @@ require ( replace github.com/JohannesKaufmann/html-to-markdown => github.com/anytypeio/html-to-markdown v0.0.0-20200617145221-2afd2a14bae1 -replace github.com/textileio/go-threads => github.com/anytypeio/go-threads v1.1.0-rc1.0.20211224084450-be1392aa8d22 +replace github.com/textileio/go-threads => github.com/anytypeio/go-threads v1.1.0-rc1.0.20220212122526-59f785ec84c5 replace github.com/msingleton/amplitude-go => github.com/anytypeio/amplitude-go v0.0.0-20211130222238-8d16496a9b31 diff --git a/go.sum b/go.sum index 81a708710..c28b061b6 100644 --- a/go.sum +++ b/go.sum @@ -14,93 +14,67 @@ cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bP cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0 h1:Dg9iHVQfrhq82rUNu9ZxUDrJLaxFUe/HlCVaLyRruq8= cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0 h1:PQcPefKFdaIzjQFbiyOgAqyx8q5djaE7x9Sqe712DPA= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0 h1:/May9ojXjRkPBNVrq+oWLqmWCkr4OU5uRY29bu0mRyQ= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1 h1:ukjixP1wl0LpnZ6LWtZJ0mX5tBmjp1f8Sqer8Z2OMUU= cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0 h1:STgFzyU5/8miMl0//zKh2aQeTyeaUH3WN9bSUiJ09bA= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -dmitri.shuralyov.com/app/changes v0.0.0-20180602232624-0a106ad413e3 h1:hJiie5Bf3QucGRa4ymsAUOxyhYwGEz1xrsVk0P8erlw= dmitri.shuralyov.com/app/changes v0.0.0-20180602232624-0a106ad413e3/go.mod h1:Yl+fi1br7+Rr3LqpNJf1/uxUdtRUV+Tnj0o93V2B9MU= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9 h1:VpgP7xuJadIUuKccphEpTJnWhS2jkQyMt6Y7pJCD7fY= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -dmitri.shuralyov.com/html/belt v0.0.0-20180602232347-f7d459c86be0 h1:SPOUaucgtVls75mg+X7CXigS71EnsfVUK/2CgVrwqgw= dmitri.shuralyov.com/html/belt v0.0.0-20180602232347-f7d459c86be0/go.mod h1:JLBrvjyP0v+ecvNYvCpyZgu5/xkfAUhi6wJj28eUfSU= -dmitri.shuralyov.com/service/change v0.0.0-20181023043359-a85b471d5412 h1:GvWw74lx5noHocd+f6HBMXK6DuggBB1dhVkuGZbv7qM= dmitri.shuralyov.com/service/change v0.0.0-20181023043359-a85b471d5412/go.mod h1:a1inKt/atXimZ4Mv927x+r7UpyzRUf4emIoiiSC2TN4= -dmitri.shuralyov.com/state v0.0.0-20180228185332-28bcc343414c h1:ivON6cwHK1OH26MZyWDCnbTRZZf0IhNsENoNAKFS1g4= dmitri.shuralyov.com/state v0.0.0-20180228185332-28bcc343414c/go.mod h1:0PRwlb0D6DFvNNtx+9ybjezNCa8XF0xaYcETyp6rHWU= -git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999 h1:OR8VhtwhcAI3U48/rzBsVOuHi0zDPzYI1xASVcdSgR8= git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg= github.com/AndreasBriese/bbloom v0.0.0-20180913140656-343706a395b7/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8= github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8= github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96 h1:cTp8I5+VIoKjsnZuH8vjyaysT/ses3EvZeaV/1UkF2M= github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8= -github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802 h1:1BDTz0u9nC3//pOCMdNH+CiXJVYJh5UQNCOBG7jbELc= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/HdrHistogram/hdrhistogram-go v1.1.0 h1:6dpdDPTRoo78HxAJ6T1HfMiKSnqhgRRqzCuPshRkQ7I= github.com/HdrHistogram/hdrhistogram-go v1.1.0/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= -github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible h1:1G1pk05UrOh0NlF1oeaaix1x8XzrfjIDK47TY0Zehcw= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= -github.com/Kubuxu/go-os-helper v0.0.1 h1:EJiD2VUQyh5A9hWJLmc6iWg6yIcJ7jpBcwC8GMGXfDk= github.com/Kubuxu/go-os-helper v0.0.1/go.mod h1:N8B+I7vPCT80IcP58r50u4+gEEcsZETFUpAzWW2ep1Y= -github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc= github.com/PuerkitoBio/goquery v1.7.1 h1:oE+T06D+1T7LNrn91B4aERsRIeCLJ/oPSa6xB9FPnz4= github.com/PuerkitoBio/goquery v1.7.1/go.mod h1:XY0pP4kfraEmmV1O7Uf6XyjoslwsneBbgeDjLYuN8xY= github.com/RoaringBitmap/roaring v0.4.23 h1:gpyfd12QohbqhFO4NVDUdoPOCXsyahYRQhINmlHxKeo= github.com/RoaringBitmap/roaring v0.4.23/go.mod h1:D0gp8kJQgE1A4LQ5wFLggQEyvDi06Mq5mKs52e1TwOo= -github.com/Shopify/sarama v1.19.0 h1:9oksLxC6uxVPHPVYUmq6xhr1BOF/hHobWH2UzO67z1s= +github.com/RoaringBitmap/roaring v0.9.4 h1:ckvZSX5gwCRaJYBNe7syNawCU5oruY9gQmjXlp4riwo= +github.com/RoaringBitmap/roaring v0.9.4/go.mod h1:icnadbWcNyfEHlYdr+tDlOTih1Bf/h+rzPpv4sbomAA= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= -github.com/Shopify/toxiproxy v2.1.4+incompatible h1:TKdv8HiTLgE5wdJuEML90aBgNWsokNbMijUGhmcoBJc= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= github.com/Stebalien/go-bitfield v0.0.1 h1:X3kbSSPUaJK60wV2hjOPZwmpljr6VGCqdq4cBLhbQBo= github.com/Stebalien/go-bitfield v0.0.1/go.mod h1:GNjFpasyUVkHMsfEOk8EFLJ9syQ6SI+XWrX9Wf2XH0s= -github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE= github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= -github.com/aead/siphash v1.0.1 h1:FwHfE/T45KPKYuuSAKyyvE+oPWcaQ+CUmFW0bPlM+kg= github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= -github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5 h1:rFw4nCn9iMW+Vajsk51NtYIcwSTkXr+JGrMd36kTDJw= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= -github.com/agl/ed25519 v0.0.0-20170116200512-5312a6153412 h1:w1UutsfOrms1J05zt7ISrnJIXKzwaspym5BTKGx93EI= github.com/agl/ed25519 v0.0.0-20170116200512-5312a6153412/go.mod h1:WPjqKcmVOxf0XSf3YxCJs6N6AOSrOx3obionmG7T0y0= -github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af h1:wVe6/Ea46ZMeNkQjjBW6xcqyQA/j5e0D6GytH95g0gQ= github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= github.com/alecthomas/jsonschema v0.0.0-20191017121752-4bb6e3fae4f2 h1:swGeCLPiUQ647AIRnFxnAHdzlg6IPpmU6QdkOPZINt8= github.com/alecthomas/jsonschema v0.0.0-20191017121752-4bb6e3fae4f2/go.mod h1:Juc2PrI3wtNfUwptSvAIeNx+HrETwHQs6nf+TkOJlOA= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d h1:UQZhZ2O0vMHr2cI+DC1Mbh0TJxzA3RcLoMsFw+aXw7E= github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/andybalholm/cascadia v1.1.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y= github.com/andybalholm/cascadia v1.2.0 h1:vuRCkM5Ozh/BfmsaTm26kbjm0mIOM3yS5Ek/F5h18aE= github.com/andybalholm/cascadia v1.2.0/go.mod h1:YCyR8vOZT9aZ1CHEd8ap0gMVm2aFgxBp0T0eFw1RUQY= -github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= -github.com/antihax/optional v1.0.0 h1:xK2lYat7ZLaVVcIuj82J8kIro4V6kDe0AUDFboUCwcg= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/anytypeio/amplitude-go v0.0.0-20211130222238-8d16496a9b31 h1:fCXBjRAxXq4pKyfH8xmYPfjL/E6v5zTTxYrIKDz8ufw= github.com/anytypeio/amplitude-go v0.0.0-20211130222238-8d16496a9b31/go.mod h1:uX6FcwR+wTQWzFszLXQxeKfNeittg1408V7pVAtLKqQ= @@ -118,33 +92,29 @@ github.com/anytypeio/go-slip10 v0.0.0-20200330112030-a352ca8495e4 h1:jB5Ke7NVoW5 github.com/anytypeio/go-slip10 v0.0.0-20200330112030-a352ca8495e4/go.mod h1:/8GIEJBE5wmdgcE49JPdupnHNUf7bEn6C+aArfWqvw8= github.com/anytypeio/go-slip21 v0.0.0-20200218204727-e2e51e20ab51 h1:3Y+18zBC8LZgcL3l2dgoTEIzIUzCZa/kN0UV3ZWpbuA= github.com/anytypeio/go-slip21 v0.0.0-20200218204727-e2e51e20ab51/go.mod h1:SoKy+W8Mf6v7XBV30xFWkIFMs7UnXwsNGrGV12yVkEs= -github.com/anytypeio/go-threads v1.1.0-rc1.0.20211224084450-be1392aa8d22 h1:Kcy6w9kAlCXZW3lV8+PEgS456zuz7yBwcaBYj3mYccU= -github.com/anytypeio/go-threads v1.1.0-rc1.0.20211224084450-be1392aa8d22/go.mod h1:O7G/oTjIZfQmB6ZoeU42IdRxWEY9D+HZuLzF6wMk4jI= +github.com/anytypeio/go-threads v1.1.0-rc1.0.20220126220133-494204269bea h1:l/aReLRnjwpAalFpvvwwGp5MKQI3Uw/a8ctXH9NkWM0= +github.com/anytypeio/go-threads v1.1.0-rc1.0.20220126220133-494204269bea/go.mod h1:O7G/oTjIZfQmB6ZoeU42IdRxWEY9D+HZuLzF6wMk4jI= +github.com/anytypeio/go-threads v1.1.0-rc1.0.20220209232550-ccd68d5a3c6e h1:WpP7pR0B1WKUSz8wTRqGlfiRxrNfC9i5X9nqnQUQNlk= +github.com/anytypeio/go-threads v1.1.0-rc1.0.20220209232550-ccd68d5a3c6e/go.mod h1:O7G/oTjIZfQmB6ZoeU42IdRxWEY9D+HZuLzF6wMk4jI= +github.com/anytypeio/go-threads v1.1.0-rc1.0.20220210000429-5fa142ad3bb1 h1:PogPTWhXWBfI/8iCu1wHeRdQXSZeRHYsZ+eXTbxkrAA= +github.com/anytypeio/go-threads v1.1.0-rc1.0.20220210000429-5fa142ad3bb1/go.mod h1:O7G/oTjIZfQmB6ZoeU42IdRxWEY9D+HZuLzF6wMk4jI= +github.com/anytypeio/go-threads v1.1.0-rc1.0.20220212122526-59f785ec84c5 h1:O3h/LQDy+FxWmw8c/gH9Hqr4pOOsVbaL+kL7778TXTg= +github.com/anytypeio/go-threads v1.1.0-rc1.0.20220212122526-59f785ec84c5/go.mod h1:O7G/oTjIZfQmB6ZoeU42IdRxWEY9D+HZuLzF6wMk4jI= github.com/anytypeio/html-to-markdown v0.0.0-20200617145221-2afd2a14bae1 h1:g/LEIEQ0ACBOKX9MhORhlmluUKvuxvrIDbGMI0cqF5A= github.com/anytypeio/html-to-markdown v0.0.0-20200617145221-2afd2a14bae1/go.mod h1:Qnhxlb4mi8T2624UtHX8EgDyYZXWbjQfLGuciFHZ+Go= github.com/anytypeio/ipfs-lite v1.1.20-0.20210428105030-fc5b3446abae h1:drp4/4ippiDtCGQHJw9AEPFlNdZI49DUW/6dkCdmChc= github.com/anytypeio/ipfs-lite v1.1.20-0.20210428105030-fc5b3446abae/go.mod h1:cvIVnQzZQ2Z6ygGnf3hc8vHBASE0Hr0w1R0w7C6+GqY= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= -github.com/apache/thrift v0.13.0 h1:5hryIiq9gtn+MiLVn0wP37kb/uTeRZgN08WoCsAhIhI= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= -github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e h1:QEF07wC0T1rKkctt1RINW/+RMTVmiwxETico2l3gxJA= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= -github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6 h1:G1bPvciwNyF7IUmKXNt9Ak3m6u9DE1rF+RmtIkBpVdA= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= -github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da h1:8GUt8eRujhVEGZFFEjBj46YV4rDjvGrNxb0KMWYkL2I= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310 h1:BUAU3CGlLvorLI26FmByPp2eC2qla6E1Tw+scpcg/to= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a h1:pv34s756C4pEXnjgPfGYgdhg/ZdajGhyOvzx8k+23nw= github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= -github.com/awalterschulze/gographviz v0.0.0-20190522210029-fa59802746ab h1:+cdNqtOJWjvepyhxy23G7z7vmpYCoC65AP0nqi1f53s= github.com/awalterschulze/gographviz v0.0.0-20190522210029-fa59802746ab/go.mod h1:GEV5wmg4YquNw7v1kkyoX9etIk8yVmXj+AkDHuuETHs= -github.com/aws/aws-lambda-go v1.13.3 h1:SuCy7H3NLyp+1Mrfp+m80jcbi9KYWAs9/BXwppwRDzY= github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.29.15 h1:0ms/213murpsujhsnxnNKNeVouW60aJqSd992Ks3mxs= github.com/aws/aws-sdk-go v1.29.15/go.mod h1:1KvfttTE3SPKMpo8g2c6jL3ZKfXtFvKscTgahTma5Xg= -github.com/aws/aws-sdk-go-v2 v0.18.0 h1:qZ+woO4SamnH/eEbjM2IDLhRNwIwND/RQyVlBLp3Jqg= github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuPk= github.com/aymerick/douceur v0.2.0/go.mod h1:wlT5vV2O3h55X9m7iVYN0TBM0NH/MmbLnd30/FjWUq4= @@ -155,22 +125,33 @@ github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24 github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bits-and-blooms/bitset v1.2.0 h1:Kn4yilvwNtMACtf1eYDlG8H77R07mZSPbMjLyS07ChA= +github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= github.com/blevesearch/bleve v1.0.14 h1:Q8r+fHTt35jtGXJUM0ULwM3Tzg+MRfyai4ZkWDy2xO4= github.com/blevesearch/bleve v1.0.14/go.mod h1:e/LJTr+E7EaoVdkQZTfoz7dt4KoDNvDbLb8MSKuNTLQ= -github.com/blevesearch/blevex v1.0.0 h1:pnilj2Qi3YSEGdWgLj1Pn9Io7ukfXPoQcpAI1Bv8n/o= +github.com/blevesearch/bleve/v2 v2.3.0 h1:5XKlSdpcjeJdE7n0FUEDeJRJwLuhPxq+k5n7h5UaJkg= +github.com/blevesearch/bleve/v2 v2.3.0/go.mod h1:egW/6gZEhM3oBvRjuHXGvGb92cKZ9867OqPZAmCG8MQ= +github.com/blevesearch/bleve_index_api v1.0.1 h1:nx9++0hnyiGOHJwQQYfsUGzpRdEVE5LsylmmngQvaFk= +github.com/blevesearch/bleve_index_api v1.0.1/go.mod h1:fiwKS0xLEm+gBRgv5mumf0dhgFr2mDgZah1pqv1c1M4= github.com/blevesearch/blevex v1.0.0/go.mod h1:2rNVqoG2BZI8t1/P1awgTKnGlx5MP9ZbtEciQaNhswc= -github.com/blevesearch/cld2 v0.0.0-20200327141045-8b5f551d37f5 h1:/4ikScMMYMqsRFWJjCyzd3CNWB0lxvqDkqa5nEv6NMc= github.com/blevesearch/cld2 v0.0.0-20200327141045-8b5f551d37f5/go.mod h1:PN0QNTLs9+j1bKy3d/GB/59wsNBFC4sWLWG3k69lWbc= github.com/blevesearch/go-porterstemmer v1.0.3 h1:GtmsqID0aZdCSNiY8SkuPJ12pD4jI+DdXTAn4YRcHCo= github.com/blevesearch/go-porterstemmer v1.0.3/go.mod h1:angGc5Ht+k2xhJdZi511LtmxuEf0OVpvUUNrwmM1P7M= github.com/blevesearch/mmap-go v1.0.2 h1:JtMHb+FgQCTTYIhtMvimw15dJwu1Y5lrZDMOFXVWPk0= github.com/blevesearch/mmap-go v1.0.2/go.mod h1:ol2qBqYaOUsGdm7aRMRrYGgPvnwLe6Y+7LMvAB5IbSA= +github.com/blevesearch/mmap-go v1.0.3 h1:7QkALgFNooSq3a46AE+pWeKASAZc9SiNFJhDGF1NDx4= +github.com/blevesearch/mmap-go v1.0.3/go.mod h1:pYvKl/grLQrBxuaRYgoTssa4rVujYYeenDp++2E+yvs= +github.com/blevesearch/scorch_segment_api/v2 v2.1.0 h1:NFwteOpZEvJk5Vg0H6gD0hxupsG3JYocE4DBvsA2GZI= +github.com/blevesearch/scorch_segment_api/v2 v2.1.0/go.mod h1:uch7xyyO/Alxkuxa+CGs79vw0QY8BENSBjg6Mw5L5DE= github.com/blevesearch/segment v0.9.0 h1:5lG7yBCx98or7gK2cHMKPukPZ/31Kag7nONpoBt22Ac= github.com/blevesearch/segment v0.9.0/go.mod h1:9PfHYUdQCgHktBgvtUOF4x+pc4/l8rdH0u5spnW85UQ= github.com/blevesearch/snowballstem v0.9.0 h1:lMQ189YspGP6sXvZQ4WZ+MLawfV8wOmPoD/iWeNXm8s= github.com/blevesearch/snowballstem v0.9.0/go.mod h1:PivSj3JMc8WuaFkTSRDW2SlrulNWPl4ABg1tC/hlgLs= +github.com/blevesearch/upsidedown_store_api v1.0.1 h1:1SYRwyoFLwG3sj0ed89RLtM15amfX2pXlYbFOnF8zNU= +github.com/blevesearch/upsidedown_store_api v1.0.1/go.mod h1:MQDVGpHZrpe3Uy26zJBf/a8h0FZY6xJbthIMm8myH2Q= +github.com/blevesearch/vellum v1.0.7 h1:+vn8rfyCRHxKVRgDLeR0FAXej2+6mEb5Q15aQE/XESQ= +github.com/blevesearch/vellum v1.0.7/go.mod h1:doBZpmRhwTsASB4QdUZANlJvqVAUdUyX0ZK7QJCTeBE= github.com/blevesearch/zap/v11 v11.0.14 h1:IrDAvtlzDylh6H2QCmS0OGcN9Hpf6mISJlfKjcwJs7k= github.com/blevesearch/zap/v11 v11.0.14/go.mod h1:MUEZh6VHGXv1PKx3WnCbdP404LGG2IZVa/L66pyFwnY= github.com/blevesearch/zap/v12 v12.0.14 h1:2o9iRtl1xaRjsJ1xcqTyLX414qPAwykHNV7wNVmbp3w= @@ -181,7 +162,16 @@ github.com/blevesearch/zap/v14 v14.0.5 h1:NdcT+81Nvmp2zL+NhwSvGSLh7xNgGL8QRVZ67n github.com/blevesearch/zap/v14 v14.0.5/go.mod h1:bWe8S7tRrSBTIaZ6cLRbgNH4TUDaC9LZSpRGs85AsGY= github.com/blevesearch/zap/v15 v15.0.3 h1:Ylj8Oe+mo0P25tr9iLPp33lN6d4qcztGjaIsP51UxaY= github.com/blevesearch/zap/v15 v15.0.3/go.mod h1:iuwQrImsh1WjWJ0Ue2kBqY83a0rFtJTqfa9fp1rbVVU= -github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625 h1:ckJgFhFWywOx+YLEMIJsTb+NV6NexWICk5+AMSuz3ss= +github.com/blevesearch/zapx/v11 v11.3.2 h1:TDdcbaA0Yz3Y5zpTrpvyW1AeicqWTJL3g8D5g48RiHM= +github.com/blevesearch/zapx/v11 v11.3.2/go.mod h1:YzTfUm4kS3e8OmTXDHVV8OzC5MWPO/VPJZQgPNVb4Lc= +github.com/blevesearch/zapx/v12 v12.3.2 h1:XB09XMg/3ibeIJRCm2zjkaVwrtAuk6c55YRSmVlwUDk= +github.com/blevesearch/zapx/v12 v12.3.2/go.mod h1:RMl6lOZqF+sTxKvhQDJ5yK2LT3Mu7E2p/jGdjAaiRxs= +github.com/blevesearch/zapx/v13 v13.3.2 h1:mTvALh6oayreac07VRAv94FLvTHeSBM9sZ1gmVt0N2k= +github.com/blevesearch/zapx/v13 v13.3.2/go.mod h1:eppobNM35U4C22yDvTuxV9xPqo10pwfP/jugL4INWG4= +github.com/blevesearch/zapx/v14 v14.3.2 h1:oW36JVaZDzrzmBa1X5jdTIYzdhkOQnr/ie13Cb2X7MQ= +github.com/blevesearch/zapx/v14 v14.3.2/go.mod h1:zXNcVzukh0AvG57oUtT1T0ndi09H0kELNaNmekEy0jw= +github.com/blevesearch/zapx/v15 v15.3.2 h1:OZNE4CQ9hQhnB21ySC7x2/9Q35U3WtRXLAh5L2gdCXc= +github.com/blevesearch/zapx/v15 v15.3.2/go.mod h1:C+f/97ZzTzK6vt/7sVlZdzZxKu+5+j4SrGCvr9dJzaY= github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g= github.com/btcsuite/btcd v0.0.0-20190213025234-306aecffea32/go.mod h1:DrZx5ec/dmnfpw9KyYoQyYo7d0KEvTkk/5M/vbZjAr8= github.com/btcsuite/btcd v0.0.0-20190523000118-16327141da8c/go.mod h1:3J08xEfcugPacsc34/LKRU2yO7YmuT8yt28J8k2+rrI= @@ -190,101 +180,67 @@ github.com/btcsuite/btcd v0.0.0-20190824003749-130ea5bddde3/go.mod h1:3J08xEfcug github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= github.com/btcsuite/btcd v0.21.0-beta h1:At9hIZdJW0s9E/fAz28nrz6AmcNlSVucCH796ZteX1M= github.com/btcsuite/btcd v0.21.0-beta/go.mod h1:ZSWyehm27aAuS9bvkATT+Xte3hjHZ+MRgMY/8NJ7K94= -github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f h1:bAs4lUbRJpnnkd9VhRV3jjAVU7DJVjMaK+IsvSeZvFo= github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA= github.com/btcsuite/btcutil v0.0.0-20190207003914-4c204d697803/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= -github.com/btcsuite/btcutil v1.0.2 h1:9iZ1Terx9fMIOtq1VrwdqfsATL9MC2l8ZrUY6YZ2uts= github.com/btcsuite/btcutil v1.0.2/go.mod h1:j9HUFwoQRsZL3V4n+qG+CUnEGHOarIxfC3Le2Yhbcts= -github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd h1:R/opQEbFEy9JGkIguV40SvRY1uliPX8ifOvi6ICsFCw= github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd/go.mod h1:HHNXQzUsZCxOoE+CPiyCTO6x34Zs86zZUiwtpXoGdtg= github.com/btcsuite/goleveldb v0.0.0-20160330041536-7834afc9e8cd/go.mod h1:F+uVaaLLH7j4eDXPRvw78tMflu7Ie2bzYOH4Y8rRKBY= -github.com/btcsuite/goleveldb v1.0.0 h1:Tvd0BfvqX9o823q1j2UZ/epQo09eJh6dTcRp79ilIN4= github.com/btcsuite/goleveldb v1.0.0/go.mod h1:QiK9vBlgftBg6rWQIj6wFzbPfRjiykIEhBH4obrXJ/I= github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= -github.com/btcsuite/snappy-go v1.0.0 h1:ZxaA6lo2EpxGddsA8JwWOcxlzRybb444sgmeJQMJGQE= github.com/btcsuite/snappy-go v1.0.0/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= -github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792 h1:R8vQdOQdZ9Y3SkEwmHoWBmX1DNXhXZqlTpq6s4tyJGc= github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY= -github.com/btcsuite/winsvc v1.0.0 h1:J9B4L7e3oqhXOcm+2IuNApwzQec85lE+QaikUcCs+dk= github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= -github.com/buger/jsonparser v0.0.0-20181115193947-bf1c66bbce23 h1:D21IyuvjDCshj1/qq+pCNd3VZOAEI9jy6Bi131YlXgI= github.com/buger/jsonparser v0.0.0-20181115193947-bf1c66bbce23/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s= -github.com/casbin/casbin/v2 v2.1.2 h1:bTwon/ECRx9dwBy2ewRVr5OiqjeXSGiTUY74sDPQi/g= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= -github.com/census-instrumentation/opencensus-proto v0.2.1 h1:glEXhBS5PSLLv4IXzLA5yPRVX4bilULVyxxbrfOtDAk= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cheekybits/genny v1.0.0 h1:uGGa4nei+j20rOSeDeP5Of12XVm7TGUd4dJA9RDitfE= github.com/cheekybits/genny v1.0.0/go.mod h1:+tQajlRqAUrPI7DOSpB0XAqZYtQakVtB7wXkRAgjxjQ= github.com/cheggaaa/mb v1.0.3 h1:03ksWum+6kHclB+kjwKMaBtgl5gtNYUwNpxsHQciKe8= github.com/cheggaaa/mb v1.0.3/go.mod h1:NUl0GBtFLlfg2o6iZwxzcG7Lslc2wV/ADTFbLXtVPE4= -github.com/chzyer/logex v1.1.10 h1:Swpa1K6QvQznwJRcfTfQJmTE72DqScAa40E+fbHEXEE= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e h1:fY5BOSpyZCqRo5OhCuC+XN+r/bBCmeuuJtjz+bCNIf8= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1 h1:q763qf9huN11kDQavWsoZXJNW3xEE4JJyHa5Q25/sd8= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec h1:EdRZT3IeKQmfCSrgo8SZ8V3MEnskuJP0wCYNpe+aiXo= github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= -github.com/client9/misspell v0.3.4 h1:ta993UF76GwbvJcIo3Y68y/M3WxlpEHPWIGDkJYwzJI= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403 h1:cqQfy1jclcSy/FwLjemeg3SR1yaINm74aQyupQ0Bl8M= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed h1:OZmjad4L3H8ncOIR8rnb5MREYqG8ixi5+WbeUsquF0c= github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa h1:OaNxuTZr7kxeODyLWsRMC+OD03aFUH+mW6r2d+MWa5Y= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= -github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd h1:qMd81Ts1T2OTKmB4acZcyKaMtRnY5Y44NuXGX2GFJ1w= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= -github.com/coreos/bbolt v1.3.2 h1:wZwiHHUieZCquLkDL0B8UhzreNWsPHooDAG3q34zk0s= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= -github.com/coreos/etcd v3.3.10+incompatible h1:jFneRYjIvLMLhDLCzuTuU4rSJUjRplcJQ7pD7MnhC04= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/go-etcd v2.0.0+incompatible h1:bXhRBIXoTm9BYHS3gE0TtQuyNZyeEMux2sDi4oo5YOo= github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-semver v0.2.1-0.20180108230905-e214231b295a/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e h1:Wf6HqHfScWJN9/ZjdUKyjop4mf3Qdd+1TvvltAvM3m8= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f h1:lBNOc5arjvs8E5mO2tbpBpLoyyu8B6e44T7hJy6potg= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/corona10/goimagehash v1.0.2 h1:pUfB0LnsJASMPGEZLj7tGY251vF+qLGqOgEP4rUs6kA= github.com/corona10/goimagehash v1.0.2/go.mod h1:/l9umBhvcHQXVtQO1V6Gp1yD20STawkhRnnX0D1bvVI= -github.com/couchbase/ghistogram v0.1.0 h1:b95QcQTCzjTUocDXp/uMgSNQi8oj1tGwnJ4bODWZnps= github.com/couchbase/ghistogram v0.1.0/go.mod h1:s1Jhy76zqfEecpNWJfWUiKZookAFaiGOEoyzgHt9i7k= -github.com/couchbase/moss v0.1.0 h1:HCL+xxHUwmOaL44kMM/gU08OW6QGCui1WVFO58bjhNI= github.com/couchbase/moss v0.1.0/go.mod h1:9MaHIaRuy9pvLPUJxB8sh8OrLfyDczECVL37grCIubs= +github.com/couchbase/moss v0.2.0/go.mod h1:9MaHIaRuy9pvLPUJxB8sh8OrLfyDczECVL37grCIubs= github.com/couchbase/vellum v1.0.2 h1:BrbP0NKiyDdndMPec8Jjhy0U47CZ0Lgx3xUC2r9rZqw= github.com/couchbase/vellum v1.0.2/go.mod h1:FcwrEivFpNi24R3jLOs3n+fs5RnuQnQqCLBJ1uAg1W4= -github.com/cpuguy83/go-md2man v1.0.10 h1:BSKMNlYxDvnunlTymqtgONjNnaRV1sTpcovwwjF22jk= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.0 h1:EoUDS0afbrsXAZ9YQ9jdu/mZ2sXgT1/2yyNng4PGlyM= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/crackcomm/go-gitignore v0.0.0-20170627025303-887ab5e44cc3 h1:HVTnpeuvF6Owjd5mniCL8DEXo7uYXdQEmOP4FJbV5tg= github.com/crackcomm/go-gitignore v0.0.0-20170627025303-887ab5e44cc3/go.mod h1:p1d6YEZWvFzEh4KLyvBcVSnrfNDDvK2zfK/4x2v/4pE= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= -github.com/creack/pty v1.1.9 h1:uDmaGzcdjhF4i/plgjmEsriH11Y0o7RKapEf/LDaM3w= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/cskr/pubsub v1.0.2 h1:vlOzMhl6PFn60gRlTQQsIfVwaPB/B/8MziK8FhEPt/0= github.com/cskr/pubsub v1.0.2/go.mod h1:/8MzYXk/NJAz782G8RPkFzXTZVu63VotefPnR9TIRis= -github.com/cznic/b v0.0.0-20181122101859-a26611c4d92d h1:SwD98825d6bdB+pEuTxWOXiSjBrHdOl/UVp75eI7JT8= github.com/cznic/b v0.0.0-20181122101859-a26611c4d92d/go.mod h1:URriBxXwVq5ijiJ12C7iIZqlA69nTlI+LgI6/pwftG8= -github.com/cznic/mathutil v0.0.0-20181122101859-297441e03548 h1:iwZdTE0PVqJCos1vaoKsclOGD3ADKpshg3SRtYBbwso= github.com/cznic/mathutil v0.0.0-20181122101859-297441e03548/go.mod h1:e6NPNENfs9mPDVNRekM7lKScauxd5kXTr1Mfyig6TDM= -github.com/cznic/strutil v0.0.0-20181122101858-275e90344537 h1:MZRmHqDBd0vxNwenEbKSQqRVT24d3C05ft8kduSwlqM= github.com/cznic/strutil v0.0.0-20181122101858-275e90344537/go.mod h1:AHHPPPXTw0h6pVabbcbyGRK1DckRn7r/STdZEeIDzZc= github.com/dave/jennifer v1.4.1 h1:XyqG6cn5RQsTj3qlWQTKlRGAyrTcsk1kUmWdZBzRjDw= github.com/dave/jennifer v1.4.1/go.mod h1:7jEdnm+qBcxl8PC0zyp7vxcpSRnzXSt9r39tpTVGlwA= @@ -295,7 +251,6 @@ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/davidlazar/go-crypto v0.0.0-20170701192655-dcfb0a7ac018/go.mod h1:rQYf4tfk5sSwFsnDg3qYaBxSjsD9S8+59vW0dKUgme4= github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c h1:pFUpOrbxDR6AkioZ1ySsx5yxlDQZ8stG2b88gTPxgJU= github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c/go.mod h1:6UhI8N9EjYm1c2odKpFpAYeR8dsBeM7PtzQhRgxRr9U= -github.com/decred/dcrd/lru v1.0.0 h1:Kbsb1SFDsIlaupWPwsPp+dkxiBY1frcS07PCPgotKz8= github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f h1:U5y3Y5UE0w7amNe7Z5G/twsBW0KEalRQXZzf8ufSh9I= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f/go.mod h1:xH/i4TFMt8koVQZ6WFms69WAsDWr2XsYL3Hkl7jkoLE= @@ -314,9 +269,7 @@ github.com/dgraph-io/ristretto v0.1.1-0.20211108053508-297c39e6640f/go.mod h1:fu github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-farm v0.0.0-20190104051053-3adb47b1fb0f/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= -github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2 h1:tdlZCpZ/P9DhczCTSixgIKmwPv6+wP5DGjqLYw5SUiA= github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= -github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954 h1:RMLoZVzv4GliuWafOuPuQDKSm1SJph7uCRnnS61JAn4= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/dgtony/collections v0.1.6 h1:Qv4xLe4nXJgIeeExex6e7mDyP57tzZN3MYaGfN8uECc= github.com/dgtony/collections v0.1.6/go.mod h1:olD2FRoNisWmjMhK6LDRKv+lMnDoryOZIT+owtd/o6U= @@ -328,7 +281,6 @@ github.com/dlclark/regexp2 v1.2.0 h1:8sAhBGEM0dRWogWqWyQeIJnxjWO6oIjl8FKqREDsGfk github.com/dlclark/regexp2 v1.2.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= github.com/dop251/goja v0.0.0-20200721192441-a695b0cdd498 h1:Y9vTBSsV4hSwPSj4bacAU/eSnV3dAxVpepaghAdhGoQ= github.com/dop251/goja v0.0.0-20200721192441-a695b0cdd498/go.mod h1:Mw6PkjjMXWbTj+nnj4s3QPXq1jaT0s5pC0iFD4+BOAA= -github.com/dsoprea/go-exif/v2 v2.0.0-20200321225314-640175a69fe4 h1:bVaiYo8amn7Lu93sz6mTlYB3EtLG9aRcMnM1Eps8fmM= github.com/dsoprea/go-exif/v2 v2.0.0-20200321225314-640175a69fe4/go.mod h1:Lm2lMM2zx8p4a34ZemkaUV95AnMl4ZvLbCUbwOvLC2E= github.com/dsoprea/go-exif/v3 v3.0.0-20200717053412-08f1b6708903/go.mod h1:0nsO1ce0mh5czxGeLo4+OCZ/C6Eo6ZlMWsz7rH/Gxv8= github.com/dsoprea/go-exif/v3 v3.0.0-20210428042052-dca55bf8ca15/go.mod h1:cg5SNYKHMmzxsr9X6ZeLh/nfBRHHp5PngtEPcujONtk= @@ -351,36 +303,24 @@ github.com/dsoprea/go-utility/v2 v2.0.0-20200717064901-2fccff4aa15e/go.mod h1:uA github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/eapache/go-resiliency v1.1.0 h1:1NtRmCAqadE2FN4ZcN6g90TP3uk8cg9rn9eNK2197aU= github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= -github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 h1:YEetp8/yCZMuEPMUDHG0CW/brkkEp8mzqk2+ODEitlw= github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= -github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= -github.com/edsrzf/mmap-go v1.0.0 h1:CEBF7HpRnUCSJgGUb5h1Gm7e3VkmVDrR8lvWVLtrOFw= github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0 h1:dulLQAYQFYtG5MTplgNGHWuV2D+OBD+Z8lmDBmbLg+s= github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= -github.com/envoyproxy/protoc-gen-validate v0.1.0 h1:EQciDnbrYxy13PgWoY8AqoxGiPrpgBZ1R8UNe3ddc+A= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/evanphx/json-patch v4.5.0+incompatible h1:ouOWdg56aJriqS0huScTkVXPC5IcNrDCXZ6OoTAWu7M= github.com/evanphx/json-patch v4.5.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/facebookgo/atomicfile v0.0.0-20151019160806-2de1f203e7d5 h1:BBso6MBKW8ncyZLv37o+KNyy0HrrHgfnOaGQC2qvN+A= github.com/facebookgo/atomicfile v0.0.0-20151019160806-2de1f203e7d5/go.mod h1:JpoxHjuQauoxiFMl1ie8Xc/7TfLuMZ5eOCONd1sUBHg= -github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c h1:8ISkoahWXwZR41ois5lSJBSVw4D0OV19Ht/JSTzvSv0= github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c/go.mod h1:Yg+htXGokKKdzcwhuNDwVvN+uBxDGXJ7G/VN1d8fa64= -github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 h1:JWuenKqqX8nojtoVVWjGfOF9635RETekkoH6Cc9SX0A= github.com/facebookgo/stack v0.0.0-20160209184415-751773369052/go.mod h1:UbMTZqLaRiH3MsBH8va0n7s1pQYcu3uTb8G4tygF4Zg= -github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4 h1:7HZCaLC5+BZpmbhCOZJ293Lz68O7PYrF2EzeiFMwCLk= github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4/go.mod h1:5tD+neXqOorC30/tWg0LCSkrqj/AR6gu8yY8/fpw1q0= -github.com/fatih/color v1.7.0 h1:DkWD4oS2D8LGGgTQ6IvwJJXSL5Vp2ffcQg58nFV38Ys= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568 h1:BHsljHzVlRcyQhjrss6TZTdY2VfCqZPbv5k3iBFa2ZQ= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= github.com/flynn/noise v0.0.0-20180327030543-2492fe189ae6/go.mod h1:1i71OnUq3iUe1ma7Lr6yG6/rjvM3emb6yoL7xLFzcVQ= github.com/flynn/noise v1.0.0 h1:DlTHqmzmvcEiKj+4RYo/imoswx/4r6iBlCMfVtrMXpQ= @@ -388,108 +328,73 @@ github.com/flynn/noise v1.0.0/go.mod h1:xbMo+0i6+IGbYdJhF31t2eR1BIU0CYc12+BNAKwU github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/fogleman/gg v1.3.0 h1:/7zJX8F6AaYQc57WQCyN9cAIz+4bCJGO9B+dyW29am8= github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= -github.com/francoispqt/gojay v1.2.13 h1:d2m3sFjloqoIUQU3TsHBgj6qg/BVGlTBeHDUmyJnXKk= github.com/francoispqt/gojay v1.2.13/go.mod h1:ehT5mTG4ua4581f1++1WLG0vPdaA9HaiDsoyrBGkyDY= -github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db h1:gb2Z18BhTPJPpLQWj4T+rfKHYCHxRHCtRxhKKjRidVw= github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= -github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8 h1:a9ENSRDFBUPkJ5lCgVZh26+ZbGyoVJG7yb5SSzF5H54= github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= -github.com/gin-gonic/gin v1.6.3 h1:ahKqKTFpO5KTPHxWZjEdPScmYaGtLo8Y4DMHoEsnp14= github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= -github.com/gliderlabs/ssh v0.1.1 h1:j3L6gSLQalDETeEg/Jg0mGY0/y/N6zI2xX1978P0Uqw= github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8 h1:DujepqpGd1hyOd7aW59XpK7Qymp8iy83xq74fLr21is= github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= github.com/glycerine/go-unsnap-stream v0.0.0-20181221182339-f9677308dec2 h1:Ujru1hufTHVb++eG6OuNDKMxZnGIvF6o/u8q/8h2+I4= github.com/glycerine/go-unsnap-stream v0.0.0-20181221182339-f9677308dec2/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE= -github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31 h1:gclg6gY70GLy3PbkQ1AERPfmLMMagS60DKF78eWwLn8= github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24= -github.com/go-check/check v0.0.0-20180628173108-788fd7840127 h1:0gkP6mzaMqkmpcJYCFOLkIBwI7xFExG03bbkOkCvUPI= github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98= github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= github.com/go-errors/errors v1.0.2/go.mod h1:psDX2osz5VnTOnFWbDeWwS7yejl+uV3FEWEp4lssFEs= github.com/go-errors/errors v1.1.1 h1:ljK/pL5ltg3qoN+OtN6yCv9HWSfMwxSx90GJCZQxYNg= github.com/go-errors/errors v1.1.1/go.mod h1:psDX2osz5VnTOnFWbDeWwS7yejl+uV3FEWEp4lssFEs= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1 h1:QbL/5oDUmRBzO9/Z7Seo6zf912W/a6Sr4Eu0G/3Jho0= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4 h1:WtGNWLvXpe6ZudgnXrq0barxBImvnnJoMEhXAzcbM0I= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.10.0 h1:dXFJfIHVvUcpSgDOV+Ne6t7jXri8Tfv2uOLHUZ2XNuo= github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-logfmt/logfmt v0.5.0 h1:TrB8swr/68K7m9CcGut2g3UOihhbcbiMAYiuTXdEih4= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= -github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= -github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= -github.com/go-playground/validator/v10 v10.2.0 h1:KgJ0snyC2R9VXYN2rneOtQcw5aHQB1Vv0sFl1UcHBOY= github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= github.com/go-sourcemap/sourcemap v2.1.3+incompatible h1:W1iEw64niKVGogNgBN3ePyLFfuisuzeidWPMPWmECqU= github.com/go-sourcemap/sourcemap v2.1.3+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= -github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= -github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b h1:khEcpUM4yFcxg4/FHQWkvVRmgijNXRfzkIDHh23ggEo= github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM= -github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd h1:hSkbZ9XSyjyBirMeqSqUrK+9HboWrweVlzRNqoBi2d4= github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= -github.com/gobuffalo/depgen v0.1.0 h1:31atYa/UW9V5q8vMJ+W6wd64OaaTHUrCUXER358zLM4= github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg= github.com/gobuffalo/envy v1.6.15/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= -github.com/gobuffalo/envy v1.7.0 h1:GlXgaiBkmrYMHco6t4j7SacKO4XUjvh5pwXh0f4uxXU= github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= github.com/gobuffalo/flect v0.1.0/go.mod h1:d2ehjJqGOH/Kjqcoz+F7jHTBbmDb38yXA598Hb50EGs= github.com/gobuffalo/flect v0.1.1/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= -github.com/gobuffalo/flect v0.1.3 h1:3GQ53z7E3o00C/yy7Ko8VXqQXoJGLkrTQCLTF1EjoXU= github.com/gobuffalo/flect v0.1.3/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= github.com/gobuffalo/genny v0.0.0-20190329151137-27723ad26ef9/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk= github.com/gobuffalo/genny v0.0.0-20190403191548-3ca520ef0d9e/go.mod h1:80lIj3kVJWwOrXWWMRzzdhW3DsrdjILVil/SFKBzF28= github.com/gobuffalo/genny v0.1.0/go.mod h1:XidbUqzak3lHdS//TPu2OgiFB+51Ur5f7CSnXZ/JDvo= -github.com/gobuffalo/genny v0.1.1 h1:iQ0D6SpNXIxu52WESsD+KoQ7af2e3nCfnSBoSF/hKe0= github.com/gobuffalo/genny v0.1.1/go.mod h1:5TExbEyY48pfunL4QSXxlDOmdsD44RRq4mVZ0Ex28Xk= -github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211 h1:mSVZ4vj4khv+oThUfS+SQU3UuFIZ5Zo6UNcvK8E8Mz8= github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw= github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360= github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg= -github.com/gobuffalo/gogen v0.1.1 h1:dLg+zb+uOyd/mKeQUYIbwbNmfRsr9hd/WtYWepmayhI= github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE= -github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2 h1:8thhT+kUJMTMy3HlX4+y9Da+BNJck+p109tqqKp7WDs= github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8= github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= -github.com/gobuffalo/mapi v1.0.2 h1:fq9WcL1BYrm36SzK6+aAnZ8hcp+SrmnDyAxhNx8dvJk= github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= -github.com/gobuffalo/packd v0.1.0 h1:4sGKOD8yaYJ+dek1FDkwcxCHA40M4kfKgFHx8N2kwbU= github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ= -github.com/gobuffalo/packr/v2 v2.2.0 h1:Ir9W9XIm9j7bhhkKE9cokvtTl1vBm62A/fene/ZCj6A= github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0= -github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754 h1:tpom+2CJmpzAWj5/VEHync2rJGi+epHNIeRSWjzGA+4= github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= -github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee h1:s+21KNqlpePfkah2I+gwHF8xmJWRjooY+5248k6m4A0= github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= -github.com/gobwas/pool v0.2.0 h1:QEmUOlnSjWtnpRGHF3SauEiOsy82Cup83Vf2LcMlnc8= github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= -github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo= github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= github.com/goccy/go-graphviz v0.0.9 h1:s/FMMJ1Joj6La3S5ApO3Jk2cwM4LpXECC2muFx3IPQQ= github.com/goccy/go-graphviz v0.0.9/go.mod h1:wXVsXxmyMQU6TN3zGRttjNn3h+iCAS7xQFC6TlNvLhk= @@ -520,7 +425,6 @@ github.com/golang/groupcache v0.0.0-20191027212112-611e8accdfc9/go.mod h1:cIg4er github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e h1:1r7pUrabqp18hOBcwBwiTsbnFeTZHV9eER/QT5JVZxY= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/lint v0.0.0-20180702182130-06c8688daad7 h1:2hRPrmiwPrp3fQX967rNJIhQPtiGXdlQWAxKbKw3VHA= github.com/golang/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:tluoj9z5200jBnyusfRPU2LqT6J+DAorxEvtC7LHB+E= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= @@ -554,7 +458,6 @@ github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEW github.com/golang/snappy v0.0.3 h1:fHPg5GQYlCeLIPB9BZqMVR5nR9A+IM5zcgeTdjMYmLA= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/flatbuffers v1.12.1 h1:MVlul7pQNoDzWRLTw5imwYsl+usrS1TXG2H4jg6ImGw= github.com/google/flatbuffers v1.12.1/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= @@ -568,22 +471,17 @@ github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-github v17.0.0+incompatible h1:N0LgJ1j65A7kfXrZnUDaYCs/Sf4rEjNlfyDHW9dolSY= github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ= github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= -github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gopacket v1.1.17/go.mod h1:UdDNZ1OO62aGYVnPhxT1U6aI7ukYtA/kB8vaU0diBUM= github.com/google/gopacket v1.1.18/go.mod h1:UdDNZ1OO62aGYVnPhxT1U6aI7ukYtA/kB8vaU0diBUM= github.com/google/gopacket v1.1.19 h1:ves8RnFZPGiFnTS0uPQStjwru6uO6h+nlr9j6fL7kF8= github.com/google/gopacket v1.1.19/go.mod h1:iJ8V8n6KS+z2U1A8pUwu8bW5SyEMkXJB8Yo/Vo+TKTo= -github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian/v3 v3.0.0 h1:pMen7vLs8nvgEYhywH3KDWJIJTeEr2ULsVWHWYHQyBs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= @@ -591,9 +489,7 @@ github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99 h1:Ak8CrdlwwXwAZxzS66vgPt4U8yUZX7JwLvVR58FN5jM= github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/renameio v0.1.0 h1:GOZbcHa3HfsPKPlmyPyN2KEohoMXOhdMbHrvbpl2QaA= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -601,29 +497,23 @@ github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+ github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/gax-go v2.0.0+incompatible h1:j0GKcs05QVmm7yesiZq2+9cxHkNK9YM6zKx4D2qucQU= github.com/googleapis/gax-go v2.0.0+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY= github.com/googleapis/gax-go/v2 v2.0.3/go.mod h1:LLvjysVCY1JZeum8Z6l8qUty8fiNwE08qbEPm1M08qg= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5 h1:sjZBwGj9Jlw33ImPtvFviGYvseOtDM7hkSKB7+Tv3SM= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gopherjs/gopherjs v0.0.0-20190430165422-3e4dfb77656c/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gopherjs/gopherjs v0.0.0-20190910122728-9d188e94fb99 h1:twflg0XRTjwKpxb/jFExr4HGq6on2dEOmnL6FV+fgPw= github.com/gopherjs/gopherjs v0.0.0-20190910122728-9d188e94fb99/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gorilla/context v1.1.1 h1:AWwleXJkX/nhcU9bZSnZoi3h/qGYqQAGhq6zZe/aQW8= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= github.com/gorilla/css v1.0.0 h1:BQqNyPTi50JCFMTw/b67hByjMVXZRwGha6wxVGkeihY= github.com/gorilla/css v1.0.0/go.mod h1:Dn721qIggHpt4+EFCcTLTU/vk5ySda2ReITrtgBl60c= github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/gorilla/mux v1.7.3 h1:gnP5JzjVOuiZD07fKKToCAOjS0yOpj/qPETTXCCS6hw= github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 h1:pdN6V1QBWetyv/0+wjACpqVH+eVULgEjkurDLq3goeM= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= @@ -635,83 +525,57 @@ github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgf github.com/grpc-ecosystem/grpc-gateway v1.5.0/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU= github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod h1:6iZfnjpejD4L/4DwD7NryNaJyCQdzwWwH2MWhCA90Kw= -github.com/gxed/hashland/keccakpg v0.0.1 h1:wrk3uMNaMxbXiHibbPO4S0ymqJMm41WiudyFSs7UnsU= github.com/gxed/hashland/keccakpg v0.0.1/go.mod h1:kRzw3HkwxFU1mpmPP8v1WyQzwdGfmKFJ6tItnhQ67kU= -github.com/gxed/hashland/murmur3 v0.0.1 h1:SheiaIt0sda5K+8FLz952/1iWS9zrnKsEJaOJu4ZbSc= github.com/gxed/hashland/murmur3 v0.0.1/go.mod h1:KjXop02n4/ckmZSnY2+HKcLud/tcmvhST0bie/0lS48= github.com/h2non/filetype v1.1.1 h1:xvOwnXKAckvtLWsN398qS9QhlxlnVXBjXBydK2/UFB4= github.com/h2non/filetype v1.1.1/go.mod h1:319b3zT68BvV+WRj7cwy856M2ehB3HqNOt6sy1HndBY= -github.com/hashicorp/consul/api v1.3.0 h1:HXNYlRkkM/t+Y/Yhxtwcy02dlYwIaoxzvxPnS+cqy78= github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= -github.com/hashicorp/consul/sdk v0.3.0 h1:UOxjlb4xVNF93jak1mzzoBatyFju9nrkxpVwIp/QqxQ= github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-cleanhttp v0.5.1 h1:dH3aiDG9Jvb5r5+bYHsikaOUIpcM0xvgMXVoDkXMzJM= github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-immutable-radix v1.0.0 h1:AKDB1HM5PWEA7i4nhcpwOrO2byshxBjXVn/J/3+z5/0= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-msgpack v0.5.3 h1:zKjpN5BK/P5lMYrLmBHdBULWbJ0XpYR+7NGzqkZzoD4= github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= -github.com/hashicorp/go-rootcerts v1.0.0 h1:Rqb66Oo1X/eSV1x66xbDccZjhJigjg0+e82kpwzSwCI= github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= -github.com/hashicorp/go-sockaddr v1.0.0 h1:GeH6tui99pF4NJgfnhp+L6+FfobzVW3Ah46sLo0ICXs= github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= -github.com/hashicorp/go-syslog v1.0.0 h1:KaodqZuhUoZereWVIYmpUgZysurB1kBLX2j0MwMrUAE= github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.1 h1:fv1ep09latC32wFoVwnqcnKJGnMSdBanPczbHAYm1BE= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-version v1.2.0 h1:3vNe/fWF5CBgRIguda1meWhsZHy3m8gCJ5wx+dIzX/E= github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/go.net v0.0.1 h1:sNCoNyDEvN1xa+X0baata4RdcpKwcMS6DH+xwfqPgjw= github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= -github.com/hashicorp/mdns v1.0.0 h1:WhIgCr5a7AaVH6jPUwjtRuuE7/RDufnUvzIr48smyxs= github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= -github.com/hashicorp/memberlist v0.1.3 h1:EmmoJme1matNzb+hMpDuR/0sbJSUisxyqBGG676r31M= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= -github.com/hashicorp/serf v0.8.2 h1:YZ7UKsJv+hKjqGVUUbtE3HNj79Eln2oQ75tniF6iPt0= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= github.com/hbagdi/go-unsplash v0.0.0-20210330151707-a7612e80fdd5 h1:CTLa0zHC9w2QWdzZKf6GEzWJMGU9W7BrRWkj8iB3zIQ= github.com/hbagdi/go-unsplash v0.0.0-20210330151707-a7612e80fdd5/go.mod h1:DEzhU5CxSdknL3hUXTco1n5AO2BZHs4KeJo5ADWU0Iw= -github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/huandu/go-assert v1.1.5 h1:fjemmA7sSfYHJD7CUqs9qTwwfdNAx7/j2/ZlHXzNB3c= github.com/huandu/go-assert v1.1.5/go.mod h1:yOLvuqZwmcHIC5rIzrBhT7D3Q9c3GFnd0JrPVhn/06U= github.com/huandu/skiplist v1.2.0 h1:gox56QD77HzSC0w+Ws3MH3iie755GBJU1OER3h5VsYw= github.com/huandu/skiplist v1.2.0/go.mod h1:7v3iFjLcSAzO4fN5B8dvebvo/qsfumiLiDXMrPiHF9w= -github.com/hudl/fargo v1.3.0 h1:0U6+BtN6LhaYuTnIJq4Wyq5cpn6O2kWrxAtcqBmYY6w= github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= github.com/huin/goupnp v1.0.0 h1:wg75sLpL6DZqwHQN6E1Cfk6mtfzS45z8OV+ic+DtHRo= github.com/huin/goupnp v1.0.0/go.mod h1:n9v9KO1tAxYH82qOn+UTIFQDmx5n1Zxd/ClZDMX7Bnc= -github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150 h1:vlNjIqmUZ9CMAWsbURYl3a6wZbw7q5RHVvlXTNS/Bs8= github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6 h1:UDMh68UUwekSh5iP2OMhRRZJiiBccgV7axzUG8vi56c= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/ikawaha/kagome.ipadic v1.1.2 h1:pFxZ1PpMpc6ZoBK712YN5cVK0u/ju2DZ+gRIOriJFFs= github.com/ikawaha/kagome.ipadic v1.1.2/go.mod h1:DPSBbU0czaJhAb/5uKQZHMc9MTVRpDugJfX+HddPHHg= github.com/improbable-eng/grpc-web v0.13.0/go.mod h1:6hRR09jOEG81ADP5wCQju1z71g6OL4eEvELdran/3cs= github.com/improbable-eng/grpc-web v0.14.0 h1:GdoK+cXABdB+1keuqsV1drSFO2XLYIxqt/4Rj8SWGBk= github.com/improbable-eng/grpc-web v0.14.0/go.mod h1:6hRR09jOEG81ADP5wCQju1z71g6OL4eEvELdran/3cs= github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d h1:/WZQPMZNsjZ7IlCpsLGdQBINg5bxKQ1K1sh6awxLtkA= github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= github.com/ipfs/bbloom v0.0.1/go.mod h1:oqo8CVWsJFMOZqTglBG4wydCE4IQA/G2/SEofB0rjUI= github.com/ipfs/bbloom v0.0.4 h1:Gi+8EGJ2y5qiD5FbsbpX/TMNcJw8gSqr7eyjHa4Fhvs= @@ -754,7 +618,6 @@ github.com/ipfs/go-datastore v0.4.2/go.mod h1:SX/xMIKoCszPqp+z9JhPYCmoOoXTvaa13X github.com/ipfs/go-datastore v0.4.4/go.mod h1:SX/xMIKoCszPqp+z9JhPYCmoOoXTvaa13XEbGtsFUhA= github.com/ipfs/go-datastore v0.4.5 h1:cwOUcGMLdLPWgu3SlrCckCMznaGADbPqE0r8h768/Dg= github.com/ipfs/go-datastore v0.4.5/go.mod h1:eXTcaaiN6uOlVCLS9GjJUJtlvJfM3xk23w3fyfrmmJs= -github.com/ipfs/go-detect-race v0.0.1 h1:qX/xay2W3E4Q1U7d9lNs1sU9nvguX0a7319XbyQ6cOk= github.com/ipfs/go-detect-race v0.0.1/go.mod h1:8BNT7shDZPo99Q74BpGMK+4D8Mn4j46UU0LZ723meps= github.com/ipfs/go-ds-badger v0.0.2/go.mod h1:Y3QpeSFWQf6MopLTiZD+VT6IC1yZqaGmjvRcKeSGij8= github.com/ipfs/go-ds-badger v0.0.5/go.mod h1:g5AuuCGmr7efyzQhLL8MzwqcauPojGPUaHzfGTzuE3s= @@ -766,7 +629,6 @@ github.com/ipfs/go-ds-badger v0.2.7/go.mod h1:02rnztVKA4aZwDuaRPTf8mpqcKmXP7mLl6 github.com/ipfs/go-ds-leveldb v0.0.1/go.mod h1:feO8V3kubwsEF22n0YRQCffeb79OOYIykR4L04tMOYc= github.com/ipfs/go-ds-leveldb v0.1.0/go.mod h1:hqAW8y4bwX5LWcCtku2rFNX3vjDZCy5LZCg+cSZvYb8= github.com/ipfs/go-ds-leveldb v0.4.1/go.mod h1:jpbku/YqBSsBc1qgME8BkWS4AxzF2cEu1Ii2r79Hh9s= -github.com/ipfs/go-ds-leveldb v0.4.2 h1:QmQoAJ9WkPMUfBLnu1sBVy0xWWlJPg0m4kRAiJL9iaw= github.com/ipfs/go-ds-leveldb v0.4.2/go.mod h1:jpbku/YqBSsBc1qgME8BkWS4AxzF2cEu1Ii2r79Hh9s= github.com/ipfs/go-ipfs-blockstore v0.0.1/go.mod h1:d3WClOmRQKFnJ0Jz/jj/zmksX0ma1gROTlovZKBmN08= github.com/ipfs/go-ipfs-blockstore v0.1.0/go.mod h1:5aD0AvHPi7mZc6Ci1WCAhiBQu2IsfTduLl+422H6Rqw= @@ -774,7 +636,6 @@ github.com/ipfs/go-ipfs-blockstore v0.1.4/go.mod h1:Jxm3XMVjh6R17WvxFEiyKBLUGr86 github.com/ipfs/go-ipfs-blockstore v1.0.3/go.mod h1:MGNZlHNEnR4KGgPHM3/k8lBySIOK2Ve+0KjZubKlaOE= github.com/ipfs/go-ipfs-blockstore v1.0.4 h1:DZdeya9Vu4ttvlGheQPGrj6kWehXnYZRFCp9EsZQ1hI= github.com/ipfs/go-ipfs-blockstore v1.0.4/go.mod h1:uL7/gTJ8QIZ3MtA3dWf+s1a0U3fJy2fcEZAsovpRp+w= -github.com/ipfs/go-ipfs-blocksutil v0.0.1 h1:Eh/H4pc1hsvhzsQoMEP3Bke/aW5P5rVM1IWFJMcGIPQ= github.com/ipfs/go-ipfs-blocksutil v0.0.1/go.mod h1:Yq4M86uIOmxmGPUHv/uI7uKqZNtLb449gwKqXjIsnRk= github.com/ipfs/go-ipfs-chunker v0.0.1/go.mod h1:tWewYK0we3+rMbOh7pPFGDyypCtvGcBFymgY4rSDLAw= github.com/ipfs/go-ipfs-chunker v0.0.5 h1:ojCf7HV/m+uS2vhUGWcogIIxiO5ubl5O57Q7NapWLY8= @@ -803,7 +664,6 @@ github.com/ipfs/go-ipfs-pq v0.0.2/go.mod h1:LWIqQpqfRG3fNc5XsnIhz/wQ2XXGyugQwls7 github.com/ipfs/go-ipfs-provider v0.4.3 h1:k54OHXZcFBkhL6l3GnPS9PfpaLeLqZjVASG1bgfBdfQ= github.com/ipfs/go-ipfs-provider v0.4.3/go.mod h1:rcQBVqfblDQRk5LaCtf2uxuKxMJxvKmF5pLS0pO4au4= github.com/ipfs/go-ipfs-routing v0.0.1/go.mod h1:k76lf20iKFxQTjcJokbPM9iBXVXVZhcOwc360N4nuKs= -github.com/ipfs/go-ipfs-routing v0.1.0 h1:gAJTT1cEeeLj6/DlLX6t+NxD9fQe2ymTO6qWRDI/HQQ= github.com/ipfs/go-ipfs-routing v0.1.0/go.mod h1:hYoUkJLyAUKhF58tysKpids8RNDPO42BVMgK5dNsoqY= github.com/ipfs/go-ipfs-util v0.0.1/go.mod h1:spsl5z8KUnrve+73pOhSVZND1SIxPW5RyBCNzQxlJBc= github.com/ipfs/go-ipfs-util v0.0.2 h1:59Sswnk1MFaiq+VcaknX7aYEyGyGDAA73ilhEK2POp8= @@ -845,15 +705,12 @@ github.com/ipfs/go-verifcid v0.0.1 h1:m2HI7zIuR5TFyQ1b79Da5N9dnnCP1vcu2QqawmWlK2 github.com/ipfs/go-verifcid v0.0.1/go.mod h1:5Hrva5KBeIog4A+UpqlaIU+DEstipcJYQQZc0g37pY0= github.com/ipfs/interface-go-ipfs-core v0.4.0 h1:+mUiamyHIwedqP8ZgbCIwpy40oX7QcXUbo4CZOeJVJg= github.com/ipfs/interface-go-ipfs-core v0.4.0/go.mod h1:UJBcU6iNennuI05amq3FQ7g0JHUkibHFAfhfUIy927o= -github.com/jackpal/gateway v1.0.5 h1:qzXWUJfuMdlLMtt0a3Dgt+xkWQiA5itDEITVJtuSwMc= github.com/jackpal/gateway v1.0.5/go.mod h1:lTpwd4ACLXmpyiCTRtfiNyVnUmqT9RivzCDQetPfnjA= github.com/jackpal/go-nat-pmp v1.0.1/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= github.com/jackpal/go-nat-pmp v1.0.2 h1:KzKSgb7qkJvOUTqYl9/Hg/me3pWgBmERKrTGD7BdWus= github.com/jackpal/go-nat-pmp v1.0.2/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= -github.com/jarcoal/httpmock v1.0.4 h1:jp+dy/+nonJE4g4xbVtl9QdrUNbn6/3hDT5R4nDIZnA= github.com/jarcoal/httpmock v1.0.4/go.mod h1:ATjnClrvW/3tijVmpL/va5Z3aAyGvqU3gCT8nX0Txik= github.com/jbenet/go-cienv v0.0.0-20150120210510-1bb1476777ec/go.mod h1:rGaEvXB4uRSZMmzKNLoXvTu1sfx+1kv/DojUlPrSZGs= -github.com/jbenet/go-cienv v0.1.0 h1:Vc/s0QbQtoxX8MwwSLWWh+xNNZvM3Lw7NsTcHrvvhMc= github.com/jbenet/go-cienv v0.1.0/go.mod h1:TqNnHUmJgXau0nCzC7kXWeotg3J9W34CUv5Djy1+FlA= github.com/jbenet/go-temp-err-catcher v0.0.0-20150120210811-aac704a3f4f2/go.mod h1:8GXXJV31xl8whumTzdZsTt3RnUIiPqzkyf7mxToRCMs= github.com/jbenet/go-temp-err-catcher v0.1.0 h1:zpb3ZH6wIE8Shj2sKS+khgRvf7T7RABoLk/+KKHggpk= @@ -862,56 +719,38 @@ github.com/jbenet/goprocess v0.0.0-20160826012719-b497e2f366b8/go.mod h1:Ly/wlsj github.com/jbenet/goprocess v0.1.3/go.mod h1:5yspPrukOVuOLORacaBi858NqyClJPQxYZlqdZVfqY4= github.com/jbenet/goprocess v0.1.4 h1:DRGOFReOMqqDNXwW70QkacFW0YN9QnwLV0Vqk+3oU0o= github.com/jbenet/goprocess v0.1.4/go.mod h1:5yspPrukOVuOLORacaBi858NqyClJPQxYZlqdZVfqY4= -github.com/jellevandenhooff/dkim v0.0.0-20150330215556-f50fe3d243e1 h1:ujPKutqRlJtcfWk6toYVYagwra7HQHbXOaS171b4Tg8= github.com/jellevandenhooff/dkim v0.0.0-20150330215556-f50fe3d243e1/go.mod h1:E0B/fFc00Y+Rasa88328GlI/XbtyysCtTHZS8h7IrBU= github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jessevdk/go-flags v1.4.0 h1:4IU2WS7AumrZ/40jfhf4QVDMsQwqA7VEHozFRrGARJA= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af h1:pmfjZENx5imkbgOkpRUYLnmbU7UEFbjtDA2hxJ1ichM= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= -github.com/jmhodges/levigo v1.0.0 h1:q5EC36kV79HWeTBWsod3mG11EgStG3qArTKcvlksN1U= github.com/jmhodges/levigo v1.0.0/go.mod h1:Q6Qx+uH3RAqyK4rFQroq9RL7mdkABMcfhEI+nNuzMJQ= -github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc= github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= -github.com/jonboulle/clockwork v0.1.0 h1:VKV+ZcuP6l3yW9doeqz6ziZGgcynBVQO+obU0+0hcPo= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= -github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/jrick/logrotate v1.0.0 h1:lQ1bL/n9mBNeIXoTUoYRlK4dHuNJVofX9oWqBtPnSzI= github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.10 h1:Kz6Cvnvv2wGdaG/V8yMvfkmNiXq9Ya2KUv4rouJJr68= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1 h1:6QPYqodiu3GuPL+7mfx+NwDdp2eTkp9IfEUpgAwUN0o= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/jsummers/gobmp v0.0.0-20151104160322-e2ba15ffa76e h1:LvL4XsI70QxOGHed6yhQtAU34Kx3Qq2wwBzGFKY8zKk= github.com/jsummers/gobmp v0.0.0-20151104160322-e2ba15ffa76e/go.mod h1:kLgvv7o6UM+0QSf0QjAse3wReFDsb9qbZJdfexWlrQw= github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/julienschmidt/httprouter v1.3.0 h1:U0609e9tgbseu3rBINet9P48AI/D3oJs4dN7jwJOQ1U= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5 h1:PJr+ZMXIecYc1Ey2zucXdR73SMBtgjPgwa31099IMv0= github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= -github.com/kami-zh/go-capturer v0.0.0-20171211120116-e492ea43421d h1:cVtBfNW5XTHiKQe7jDaDBSh/EVM4XLPutLAGboIXuM0= github.com/kami-zh/go-capturer v0.0.0-20171211120116-e492ea43421d/go.mod h1:P2viExyCEfeWGU259JnaQ34Inuec4R38JCyBx2edgD0= github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= -github.com/karrick/godirwalk v1.10.3 h1:lOpSw2vJP0y5eLBW906QwKsUK/fe/QDyoqM5rnnuPDY= github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= github.com/kelseyhightower/envconfig v1.4.0 h1:Im6hONhd3pLkfDFsbRgu68RDNkGF1r3dvMUtDTo2cv8= github.com/kelseyhightower/envconfig v1.4.0/go.mod h1:cccZRl6mQpaq41TPp5QxidR+Sa3axMbJDNb//FQX6Gg= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= -github.com/kisielk/errcheck v1.5.0 h1:e8esj/e4R+SAOwFwN+n3zr0nYeCyeweozKfO23MvHzY= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23 h1:FOOIBWrEkLgmlgGfMuZT83xIwfPDxEI2OHu6xUmJMFE= github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= @@ -919,28 +758,21 @@ github.com/klauspost/compress v1.12.3 h1:G5AfA94pHPysR56qqrkO2pxEexdDzrpFJ6yt/Vq github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/klauspost/cpuid/v2 v2.0.4 h1:g0I61F2K2DjRHz1cnxlkNSBIaePVoJIjjnHui8QHbiw= github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/kljensen/snowball v0.6.0 h1:6DZLCcZeL0cLfodx+Md4/OLC6b/bfurWUOUGs1ydfOU= github.com/kljensen/snowball v0.6.0/go.mod h1:27N7E8fVU5H68RlUmnWwZCfxgt4POBJfENGMvNRhldw= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/koron/go-ssdp v0.0.0-20180514024734-4a0ed625a78b/go.mod h1:5Ky9EC2xfoUKUor0Hjgi2BJhCSXJfMOFlmyYrVKGQMk= github.com/koron/go-ssdp v0.0.0-20191105050749-2e1c40ed0b5d h1:68u9r4wEvL3gYg2jvAOgROwZ3H+Y3hIDk4tbbmIjcYQ= github.com/koron/go-ssdp v0.0.0-20191105050749-2e1c40ed0b5d/go.mod h1:5Ky9EC2xfoUKUor0Hjgi2BJhCSXJfMOFlmyYrVKGQMk= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515 h1:T+h1c/A9Gawja4Y9mFVWj2vyii2bbUNDw3kt9VxK2EY= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/pty v1.1.3 h1:/Um6a/ZmD5tF7peoOJ5oN5KMQ0DrGVQSXLNwyckutPk= github.com/kr/pty v1.1.3/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= github.com/libp2p/go-addr-util v0.0.1/go.mod h1:4ac6O7n9rIAKB1dnd+s8IbbMXkt+oBpzX4/+RACcnlQ= github.com/libp2p/go-addr-util v0.0.2 h1:7cWK5cdA5x72jX0g8iLrQWm5TRJZ6CzGdPEhWj7plWU= @@ -950,7 +782,6 @@ github.com/libp2p/go-buffer-pool v0.0.2 h1:QNK2iAFa8gjAe1SPz6mHSMuCcjs+X1wlHzeOS github.com/libp2p/go-buffer-pool v0.0.2/go.mod h1:MvaB6xw5vOrDl8rYZGLFdKAuk/hRoRZd1Vi32+RXyFM= github.com/libp2p/go-cidranger v1.1.0 h1:ewPN8EZ0dd1LSnrtuwd4709PXVcITVeuwbag38yPW7c= github.com/libp2p/go-cidranger v1.1.0/go.mod h1:KWZTfSr+r9qEo9OkI9/SIEeAtw+NNoU0dXIXt15Okic= -github.com/libp2p/go-conn-security v0.0.1 h1:4kMMrqrt9EUNCNjX1xagSJC+bq16uqjMe9lk1KBMVNs= github.com/libp2p/go-conn-security v0.0.1/go.mod h1:bGmu51N0KU9IEjX7kl2PQjgZa40JQWnayTvNMgD/vyk= github.com/libp2p/go-conn-security-multistream v0.0.2/go.mod h1:nc9vud7inQ+d6SO0I/6dSWrdMnHnzZNHeyUQqrAJulE= github.com/libp2p/go-conn-security-multistream v0.1.0/go.mod h1:aw6eD7LOsHEX7+2hJkDxw1MteijaVcI+/eP2/x3J1xc= @@ -1028,7 +859,6 @@ github.com/libp2p/go-libp2p-core v0.8.5 h1:aEgbIcPGsKy6zYcC+5AJivYFedhYa4sW7mIpW github.com/libp2p/go-libp2p-core v0.8.5/go.mod h1:FfewUH/YpvWbEB+ZY9AQRQ4TAD8sJBt/G1rVvhz5XT8= github.com/libp2p/go-libp2p-crypto v0.0.1/go.mod h1:yJkNyDmO341d5wwXxDUGO0LykUVT72ImHNUqh5D/dBE= github.com/libp2p/go-libp2p-crypto v0.0.2/go.mod h1:eETI5OUfBnvARGOHrJz2eWNyTUxEGZnBxMcbUjfIj4I= -github.com/libp2p/go-libp2p-crypto v0.1.0 h1:k9MFy+o2zGDNGsaoZl0MA3iZ75qXxr9OOoAZF+sD5OQ= github.com/libp2p/go-libp2p-crypto v0.1.0/go.mod h1:sPUokVISZiy+nNuTTH/TY+leRSxnFj/2GLjtOTW90hI= github.com/libp2p/go-libp2p-discovery v0.0.5/go.mod h1:YtF20GUxjgoKZ4zmXj8j3Nb2TUSBHFlOCetzYdbZL5I= github.com/libp2p/go-libp2p-discovery v0.1.0/go.mod h1:4F/x+aldVHjHDHuX85x1zWoFTGElt8HnoDzwkFZm29g= @@ -1039,13 +869,10 @@ github.com/libp2p/go-libp2p-discovery v0.5.0/go.mod h1:+srtPIU9gDaBNu//UHvcdliKB github.com/libp2p/go-libp2p-gostream v0.3.0 h1:rnas//vRdHYCr7bjraZJISPwZV8OGMjeX5k5fN5Ax44= github.com/libp2p/go-libp2p-gostream v0.3.0/go.mod h1:pLBQu8db7vBMNINGsAwLL/ZCE8wng5V1FThoaE5rNjc= github.com/libp2p/go-libp2p-host v0.0.1/go.mod h1:qWd+H1yuU0m5CwzAkvbSjqKairayEHdR5MMl7Cwa7Go= -github.com/libp2p/go-libp2p-host v0.0.3 h1:BB/1Z+4X0rjKP5lbQTmjEjLbDVbrcmLOlA6QDsN5/j4= github.com/libp2p/go-libp2p-host v0.0.3/go.mod h1:Y/qPyA6C8j2coYyos1dfRm0I8+nvd4TGrDGt4tA7JR8= github.com/libp2p/go-libp2p-interface-connmgr v0.0.1/go.mod h1:GarlRLH0LdeWcLnYM/SaBykKFl9U5JFnbBGruAk/D5k= github.com/libp2p/go-libp2p-interface-connmgr v0.0.4/go.mod h1:GarlRLH0LdeWcLnYM/SaBykKFl9U5JFnbBGruAk/D5k= -github.com/libp2p/go-libp2p-interface-connmgr v0.0.5 h1:KG/KNYL2tYzXAfMvQN5K1aAGTYSYUMJ1prgYa2/JI1E= github.com/libp2p/go-libp2p-interface-connmgr v0.0.5/go.mod h1:GarlRLH0LdeWcLnYM/SaBykKFl9U5JFnbBGruAk/D5k= -github.com/libp2p/go-libp2p-interface-pnet v0.0.1 h1:7GnzRrBTJHEsofi1ahFdPN9Si6skwXQE9UqR2S+Pkh8= github.com/libp2p/go-libp2p-interface-pnet v0.0.1/go.mod h1:el9jHpQAXK5dnTpKA4yfCNBZXvrzdOU75zz+C6ryp3k= github.com/libp2p/go-libp2p-kad-dht v0.11.0/go.mod h1:5ojtR2acDPqh/jXf5orWy8YGb8bHQDS+qeDcoscL/PI= github.com/libp2p/go-libp2p-kad-dht v0.11.1/go.mod h1:5ojtR2acDPqh/jXf5orWy8YGb8bHQDS+qeDcoscL/PI= @@ -1057,7 +884,6 @@ github.com/libp2p/go-libp2p-kbucket v0.4.7/go.mod h1:XyVo99AfQH0foSf176k4jY1xUJ2 github.com/libp2p/go-libp2p-loggables v0.0.1/go.mod h1:lDipDlBNYbpyqyPX/KcoO+eq0sJYEVR2JgOexcivchg= github.com/libp2p/go-libp2p-loggables v0.1.0 h1:h3w8QFfCt2UJl/0/NW4K829HX/0S4KD31PQ7m8UXXO8= github.com/libp2p/go-libp2p-loggables v0.1.0/go.mod h1:EyumB2Y6PrYjr55Q3/tiJ/o3xoDasoRYM7nOzEpoa90= -github.com/libp2p/go-libp2p-metrics v0.0.1 h1:yumdPC/P2VzINdmcKZd0pciSUCpou+s0lwYCjBbzQZU= github.com/libp2p/go-libp2p-metrics v0.0.1/go.mod h1:jQJ95SXXA/K1VZi13h52WZMa9ja78zjyy5rspMsC/08= github.com/libp2p/go-libp2p-mplex v0.1.1/go.mod h1:KUQWpGkCzfV7UIpi8SKsAVxyBgz1c9R5EvxgnwLsb/I= github.com/libp2p/go-libp2p-mplex v0.2.0/go.mod h1:Ejl9IyjvXJ0T9iqUTE1jpYATQ9NM3g+OtR+EMMODbKo= @@ -1073,10 +899,8 @@ github.com/libp2p/go-libp2p-nat v0.0.5/go.mod h1:1qubaE5bTZMJE+E/uu2URroMbzdubFz github.com/libp2p/go-libp2p-nat v0.0.6 h1:wMWis3kYynCbHoyKLPBEMu4YRLltbm8Mk08HGSfvTkU= github.com/libp2p/go-libp2p-nat v0.0.6/go.mod h1:iV59LVhB3IkFvS6S6sauVTSOrNEANnINbI/fkaLimiw= github.com/libp2p/go-libp2p-net v0.0.1/go.mod h1:Yt3zgmlsHOgUWSXmt5V/Jpz9upuJBE8EgNU9DrCcR8c= -github.com/libp2p/go-libp2p-net v0.0.2 h1:qP06u4TYXfl7uW/hzqPhlVVTSA2nw1B/bHBJaUnbh6M= github.com/libp2p/go-libp2p-net v0.0.2/go.mod h1:Yt3zgmlsHOgUWSXmt5V/Jpz9upuJBE8EgNU9DrCcR8c= github.com/libp2p/go-libp2p-netutil v0.0.1/go.mod h1:GdusFvujWZI9Vt0X5BKqwWWmZFxecf9Gt03cKxm2f/Q= -github.com/libp2p/go-libp2p-netutil v0.1.0 h1:zscYDNVEcGxyUpMd0JReUZTrpMfia8PmLKcKF72EAMQ= github.com/libp2p/go-libp2p-netutil v0.1.0/go.mod h1:3Qv/aDqtMLTUyQeundkKsA+YCThNdbQD54k3TqjpbFU= github.com/libp2p/go-libp2p-noise v0.1.1/go.mod h1:QDFLdKX7nluB7DEnlVPbz7xlLHdwHFA9HiohJRr3vwM= github.com/libp2p/go-libp2p-noise v0.1.3/go.mod h1:2LDlAB9ctnK4yL9KnipwcOdwdpwjupwh5SwI+ls1kGQ= @@ -1084,7 +908,6 @@ github.com/libp2p/go-libp2p-noise v0.2.0 h1:wmk5nhB9a2w2RxMOyvsoKjizgJOEaJdfAakr github.com/libp2p/go-libp2p-noise v0.2.0/go.mod h1:IEbYhBBzGyvdLBoxxULL/SGbJARhUeqlO8lVSREYu2Q= github.com/libp2p/go-libp2p-peer v0.0.1/go.mod h1:nXQvOBbwVqoP+T5Y5nCjeH4sP9IX/J0AMzcDUVruVoo= github.com/libp2p/go-libp2p-peer v0.1.1/go.mod h1:jkF12jGB4Gk/IOo+yomm+7oLWxF278F7UnrYUQ1Q8es= -github.com/libp2p/go-libp2p-peer v0.2.0 h1:EQ8kMjaCUwt/Y5uLgjT8iY2qg0mGUT0N1zUjer50DsY= github.com/libp2p/go-libp2p-peer v0.2.0/go.mod h1:RCffaCvUyW2CJmG2gAWVqwePwW7JMgxjsHm7+J5kjWY= github.com/libp2p/go-libp2p-peerstore v0.0.1/go.mod h1:RabLyPVJLuNQ+GFyoEkfi8H4Ti6k/HtZJ7YKgtSq+20= github.com/libp2p/go-libp2p-peerstore v0.0.6/go.mod h1:RabLyPVJLuNQ+GFyoEkfi8H4Ti6k/HtZJ7YKgtSq+20= @@ -1100,18 +923,15 @@ github.com/libp2p/go-libp2p-peerstore v0.2.7/go.mod h1:ss/TWTgHZTMpsU/oKVVPQCGuD github.com/libp2p/go-libp2p-pnet v0.2.0 h1:J6htxttBipJujEjz1y0a5+eYoiPcFHhSYHH6na5f0/k= github.com/libp2p/go-libp2p-pnet v0.2.0/go.mod h1:Qqvq6JH/oMZGwqs3N1Fqhv8NVhrdYcO0BW4wssv21LA= github.com/libp2p/go-libp2p-protocol v0.0.1/go.mod h1:Af9n4PiruirSDjHycM1QuiMi/1VZNHYcK8cLgFJLZ4s= -github.com/libp2p/go-libp2p-protocol v0.1.0 h1:HdqhEyhg0ToCaxgMhnOmUO8snQtt/kQlcjVk3UoJU3c= github.com/libp2p/go-libp2p-protocol v0.1.0/go.mod h1:KQPHpAabB57XQxGrXCNvbL6UEXfQqUgC/1adR2Xtflk= github.com/libp2p/go-libp2p-pubsub v0.4.0 h1:YNVRyXqBgv9i4RG88jzoTtkSOaSB45CqHkL29NNBZb4= github.com/libp2p/go-libp2p-pubsub v0.4.0/go.mod h1:izkeMLvz6Ht8yAISXjx60XUQZMq9ZMe5h2ih4dLIBIQ= -github.com/libp2p/go-libp2p-quic-transport v0.10.0 h1:koDCbWD9CCHwcHZL3/WEvP2A+e/o5/W5L3QS/2SPMA0= github.com/libp2p/go-libp2p-quic-transport v0.10.0/go.mod h1:RfJbZ8IqXIhxBRm5hqUEJqjiiY8xmEuq3HUDS993MkA= github.com/libp2p/go-libp2p-record v0.0.1/go.mod h1:grzqg263Rug/sRex85QrDOLntdFAymLDLm7lxMgU79Q= github.com/libp2p/go-libp2p-record v0.1.0/go.mod h1:ujNc8iuE5dlKWVy6wuL6dd58t0n7xI4hAIl8pE6wu5Q= github.com/libp2p/go-libp2p-record v0.1.2/go.mod h1:pal0eNcT5nqZaTV7UGhqeGqxFgGdsU/9W//C8dqjQDk= github.com/libp2p/go-libp2p-record v0.1.3 h1:R27hoScIhQf/A8XJZ8lYpnqh9LatJ5YbHs28kCIfql0= github.com/libp2p/go-libp2p-record v0.1.3/go.mod h1:yNUff/adKIfPnYQXgp6FQmNu3gLJ6EMg7+/vv2+9pY4= -github.com/libp2p/go-libp2p-routing v0.0.1 h1:hPMAWktf9rYi3ME4MG48qE7dq1ofJxiQbfdvpNntjhc= github.com/libp2p/go-libp2p-routing v0.0.1/go.mod h1:N51q3yTr4Zdr7V8Jt2JIktVU+3xBBylx1MZeVA6t1Ys= github.com/libp2p/go-libp2p-routing-helpers v0.2.3 h1:xY61alxJ6PurSi+MXbywZpelvuU4U4p/gPTxjqCqTzY= github.com/libp2p/go-libp2p-routing-helpers v0.2.3/go.mod h1:795bh+9YeoFl99rMASoiVgHdi5bjack0N1+AFAdbvBw= @@ -1119,7 +939,6 @@ github.com/libp2p/go-libp2p-secio v0.0.3/go.mod h1:hS7HQ00MgLhRO/Wyu1bTX6ctJKhVp github.com/libp2p/go-libp2p-secio v0.1.0/go.mod h1:tMJo2w7h3+wN4pgU2LSYeiKPrfqBgkOsdiKK77hE7c8= github.com/libp2p/go-libp2p-secio v0.2.0/go.mod h1:2JdZepB8J5V9mBp79BmwsaPQhRPNN2NrnB2lKQcdy6g= github.com/libp2p/go-libp2p-secio v0.2.1/go.mod h1:cWtZpILJqkqrSkiYcDBh5lA3wbT2Q+hz3rJQq3iftD8= -github.com/libp2p/go-libp2p-secio v0.2.2 h1:rLLPvShPQAcY6eNurKNZq3eZjPWfU9kXF2eI9jIYdrg= github.com/libp2p/go-libp2p-secio v0.2.2/go.mod h1:wP3bS+m5AUnFA+OFO7Er03uO1mncHG0uVwGrwvjYlNY= github.com/libp2p/go-libp2p-swarm v0.0.6/go.mod h1:s5GZvzg9xXe8sbeESuFpjt8CJPTCa8mhEusweJqyFy8= github.com/libp2p/go-libp2p-swarm v0.1.0/go.mod h1:wQVsCdjsuZoc730CgOvh5ox6K8evllckjebkdiY5ta4= @@ -1139,12 +958,10 @@ github.com/libp2p/go-libp2p-testing v0.1.0/go.mod h1:xaZWMJrPUM5GlDBxCeGUi7kI4eq github.com/libp2p/go-libp2p-testing v0.1.1/go.mod h1:xaZWMJrPUM5GlDBxCeGUi7kI4eqnjVyavGroI2nxEM0= github.com/libp2p/go-libp2p-testing v0.1.2-0.20200422005655-8775583591d8/go.mod h1:Qy8sAncLKpwXtS2dSnDOP8ktexIAHKu+J+pnZOFZLTc= github.com/libp2p/go-libp2p-testing v0.3.0/go.mod h1:efZkql4UZ7OVsEfaxNHZPzIehtsBXMrXnCfJIgDti5g= -github.com/libp2p/go-libp2p-testing v0.4.0 h1:PrwHRi0IGqOwVQWR3xzgigSlhlLfxgfXgkHxr77EghQ= github.com/libp2p/go-libp2p-testing v0.4.0/go.mod h1:Q+PFXYoiYFN5CAEG2w3gLPEzotlKsNSbKQ/lImlOWF0= github.com/libp2p/go-libp2p-tls v0.1.3 h1:twKMhMu44jQO+HgQK9X8NHO5HkeJu2QbhLzLJpa8oNM= github.com/libp2p/go-libp2p-tls v0.1.3/go.mod h1:wZfuewxOndz5RTnCAxFliGjvYSDA40sKitV4c50uI1M= github.com/libp2p/go-libp2p-transport v0.0.1/go.mod h1:UzbUs9X+PHOSw7S3ZmeOxfnwaQY5vGDzZmKPod3N3tk= -github.com/libp2p/go-libp2p-transport v0.0.5 h1:pV6+UlRxyDpASSGD+60vMvdifSCby6JkJDfi+yUMHac= github.com/libp2p/go-libp2p-transport v0.0.5/go.mod h1:StoY3sx6IqsP6XKoabsPnHCwqKXWUMWU7Rfcsubee/A= github.com/libp2p/go-libp2p-transport-upgrader v0.0.4/go.mod h1:RGq+tupk+oj7PzL2kn/m1w6YXxcIAYJYeI90h6BGgUc= github.com/libp2p/go-libp2p-transport-upgrader v0.1.1/go.mod h1:IEtA6or8JUbsV07qPW4r01GnTenLW4oi3lOPbUMGJJA= @@ -1153,7 +970,6 @@ github.com/libp2p/go-libp2p-transport-upgrader v0.3.0/go.mod h1:i+SKzbRnvXdVbU3D github.com/libp2p/go-libp2p-transport-upgrader v0.4.0/go.mod h1:J4ko0ObtZSmgn5BX5AmegP+dK3CSnU2lMCKsSq/EY0s= github.com/libp2p/go-libp2p-transport-upgrader v0.4.2 h1:4JsnbfJzgZeRS9AWN7B9dPqn/LY/HoQTlO9gtdJTIYM= github.com/libp2p/go-libp2p-transport-upgrader v0.4.2/go.mod h1:NR8ne1VwfreD5VIWIU62Agt/J18ekORFU/j1i2y8zvk= -github.com/libp2p/go-libp2p-xor v0.0.0-20200501025846-71e284145d58 h1:GcTNu27BMpOTtMnQqun03+kbtHA1qTxJ/J8cZRRYu2k= github.com/libp2p/go-libp2p-xor v0.0.0-20200501025846-71e284145d58/go.mod h1:AYjOiqJIdcmI4SXE2ouKQuFrUbE5myv8txWaB2pl4TI= github.com/libp2p/go-libp2p-yamux v0.1.2/go.mod h1:xUoV/RmYkg6BW/qGxA9XJyg+HzXFYkeXbnhjmnYzKp8= github.com/libp2p/go-libp2p-yamux v0.1.3/go.mod h1:VGSQVrqkh6y4nm0189qqxMtvyBft44MOYYPpYKXiVt4= @@ -1213,7 +1029,6 @@ github.com/libp2p/go-sockaddr v0.1.0/go.mod h1:syPvOmNs24S3dFVGJA1/mrqdeijPxLV2L github.com/libp2p/go-sockaddr v0.1.1 h1:yD80l2ZOdGksnOyHrhxDdTDFrf7Oy+v3FMVArIRgZxQ= github.com/libp2p/go-sockaddr v0.1.1/go.mod h1:syPvOmNs24S3dFVGJA1/mrqdeijPxLV2Le3BRLKd68k= github.com/libp2p/go-stream-muxer v0.0.1/go.mod h1:bAo8x7YkSpadMTbtTaxGVHWUQsR/l5MEaHbKaliuT14= -github.com/libp2p/go-stream-muxer v0.1.0 h1:3ToDXUzx8pDC6RfuOzGsUYP5roMDthbUKRdMRRhqAqY= github.com/libp2p/go-stream-muxer v0.1.0/go.mod h1:8JAVsjeRBCWwPoZeH0W1imLOcriqXJyFvB0mR4A04sQ= github.com/libp2p/go-stream-muxer-multistream v0.1.1/go.mod h1:zmGdfkQ1AzOECIAcccoL8L//laqawOsO03zX8Sa+eGw= github.com/libp2p/go-stream-muxer-multistream v0.2.0/go.mod h1:j9eyPol/LLRqT+GPLSxvimPhNph4sfYfMoDPd7HkzIc= @@ -1228,7 +1043,6 @@ github.com/libp2p/go-tcp-transport v0.2.3/go.mod h1:9dvr03yqrPyYGIEN6Dy5UvdJZjyP github.com/libp2p/go-tcp-transport v0.2.4 h1:IL5ZAQrkLftufe24mWrmGtTV6drGi6BiXWMTLEM9PBE= github.com/libp2p/go-tcp-transport v0.2.4/go.mod h1:9dvr03yqrPyYGIEN6Dy5UvdJZjyPFvl1S/igQ5QD1SU= github.com/libp2p/go-testutil v0.0.1/go.mod h1:iAcJc/DKJQanJ5ws2V+u5ywdL2n12X1WbbEG+Jjy69I= -github.com/libp2p/go-testutil v0.1.0 h1:4QhjaWGO89udplblLVpgGDOQjzFlRavZOjuEnz2rLMc= github.com/libp2p/go-testutil v0.1.0/go.mod h1:81b2n5HypcVyrCg/MJx4Wgfp/VHojytjVe/gLzZ2Ehc= github.com/libp2p/go-ws-transport v0.0.5/go.mod h1:Qbl4BxPfXXhhd/o0wcrgoaItHqA9tnZjoFZnxykuaXU= github.com/libp2p/go-ws-transport v0.1.0/go.mod h1:rjw1MG1LU9YDC6gzmwObkPd/Sqwhw7yT74kj3raBFuo= @@ -1250,48 +1064,34 @@ github.com/libp2p/go-yamux v1.4.1/go.mod h1:fr7aVgmdNGJK+N1g+b6DW6VxzbRCjCOejR/h github.com/libp2p/go-yamux/v2 v2.0.0/go.mod h1:NVWira5+sVUIU6tu1JWvaRn1dRnG+cawOJiflsAM+7U= github.com/libp2p/go-yamux/v2 v2.2.0 h1:RwtpYZ2/wVviZ5+3pjC8qdQ4TKnrak0/E01N1UWoAFU= github.com/libp2p/go-yamux/v2 v2.2.0/go.mod h1:3So6P6TV6r75R9jiBpiIKgU/66lOarCZjqROGxzPpPQ= -github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743 h1:143Bb8f8DuGWck/xpNUOckBVYfFbBTnLevfRZ1aVVqo= github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= -github.com/lightstep/lightstep-tracer-go v0.18.1 h1:vi1F1IQ8N7hNWytK9DpJsUfQhGuNSc19z330K6vl4zk= github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= github.com/logrusorgru/aurora v2.0.3+incompatible h1:tOpm7WcpBTn4fjmVfgpQq0EfczGlG91VSDkswnjF5A8= github.com/logrusorgru/aurora v2.0.3+incompatible/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4= -github.com/lucas-clemente/quic-go v0.19.3 h1:eCDQqvGBB+kCTkA0XrAFtNe81FMa0/fn4QSoeAbmiF4= github.com/lucas-clemente/quic-go v0.19.3/go.mod h1:ADXpNbTQjq1hIzCpB+y/k5iz4n4z4IwqoLb94Kh5Hu8= -github.com/lunixbochs/vtclean v1.0.0 h1:xu2sLAri4lGiovBDQKxl5mrXyESr3gUr5m5SM5+LVb8= github.com/lunixbochs/vtclean v1.0.0/go.mod h1:pHhQNgMf3btfWnGBVipUOjRYhoOsdGqdm/+2c2E2WMI= -github.com/lyft/protoc-gen-validate v0.0.13 h1:KNt/RhmQTOLr7Aj8PsJ7mTronaFyx80mRTT9qF261dA= github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.4 h1:8KGKTcQQGm0Kv7vEbKFErAoAOFyyacLStRtQSeYtvkY= github.com/magiconair/properties v1.8.4/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe h1:W/GaMY0y69G4cFlmsC6B9sbuo2fP8OFP1ABjt4kPz+w= github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2 h1:JgVTCPf0uBVcUSWpyXmGpgOc62nK5HWUBKAGc3Qqa5k= github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= -github.com/markbates/safe v1.0.1 h1:yjZkbvRM6IzKj9tlu/zMJLS0n/V351OZWRnF3QfaUxI= github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= -github.com/marten-seemann/qpack v0.2.1 h1:jvTsT/HpCn2UZJdP+UUB53FfUUgeOyG5K1ns0OJOGVs= github.com/marten-seemann/qpack v0.2.1/go.mod h1:F7Gl5L1jIgN1D11ucXefiuJS9UMVP2opoCp2jDKb7wc= -github.com/marten-seemann/qtls v0.10.0 h1:ECsuYUKalRL240rRD4Ri33ISb7kAQ3qGDlrrl55b2pc= github.com/marten-seemann/qtls v0.10.0/go.mod h1:UvMd1oaYDACI99/oZUYLzMCkBXQVT0aGm99sJhbT8hs= -github.com/marten-seemann/qtls-go1-15 v0.1.1 h1:LIH6K34bPVttyXnUWixk0bzH6/N07VxbSabxn5A5gZQ= github.com/marten-seemann/qtls-go1-15 v0.1.1/go.mod h1:GyFwywLKkRt+6mfU99csTEY1joMZz5vmB1WNZH3P81I= github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd h1:br0buuQ854V8u83wA0rVZ8ttrq5CpaPZdvrK0LP2lOk= github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd/go.mod h1:QuCEs1Nt24+FYQEqAAncTDPJIuGs+LxK1MCiFL25pMU= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= -github.com/mattn/go-colorable v0.1.2 h1:/bC9yWikZXAL9uJdulbSfyVNIR3n3trXl+v8+1sx8mU= github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-runewidth v0.0.10 h1:CoZ3S2P7pvtP45xOtBw+/mDL2z0RKI576gSkzRRpdGg= github.com/mattn/go-runewidth v0.0.10/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk= github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= @@ -1301,7 +1101,6 @@ github.com/mb0/diff v0.0.0-20131118162322-d8d9a906c24d h1:eAS2t2Vy+6psf9LZ4T5WXW github.com/mb0/diff v0.0.0-20131118162322-d8d9a906c24d/go.mod h1:3YMHqrw2Qu3Liy82v4QdAG17e9k91HZ7w3hqlpWqhDo= github.com/mehanizm/dateparse v0.0.0-20210806203422-f82c8742c9f8 h1:SA/3Lk2gFZilCejaXeCTkA3+MHt9uI9ogzx45F/nOFE= github.com/mehanizm/dateparse v0.0.0-20210806203422-f82c8742c9f8/go.mod h1:cBDq2yLJ1Hr7GOJxsu46m4vzUyPslmbimCrvSg6wxXU= -github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b h1:j7+1HpAFS1zy5+Q4qx1fWh90gTKwiN4QCGoY9TWyyO4= github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= github.com/microcosm-cc/bluemonday v1.0.1/go.mod h1:hsXNsILzKxV+sX77C5b8FSuKF00vh2OMYv+xgHpAMF4= github.com/microcosm-cc/bluemonday v1.0.9 h1:dpCwruVKoyrULicJwhuY76jB+nIxRVKv/e248Vx/BXg= @@ -1312,7 +1111,6 @@ github.com/miekg/dns v1.1.28/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7 github.com/miekg/dns v1.1.31/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= github.com/miekg/dns v1.1.41 h1:WMszZWJG0XmzbK9FEmzH2TVcqYzFesusSIB41b8KHxY= github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= -github.com/mikioh/tcp v0.0.0-20190314235350-803a9b46060c h1:bzE/A84HN25pxAuk9Eej1Kz9OUelF97nAc82bDquQI8= github.com/mikioh/tcp v0.0.0-20190314235350-803a9b46060c/go.mod h1:0SQS9kMwD2VsyFEB++InYyBJroV/FRmBgcydeSUcJms= github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b h1:z78hV3sbSMAUoyUMM0I83AUIT6Hu17AWfgjzIbtrYFc= github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b/go.mod h1:lxPUiZwKoFL8DUUmalo2yJJUCxbPKtm8OKfqr2/FTNU= @@ -1329,27 +1127,19 @@ github.com/minio/sha256-simd v1.0.0 h1:v1ta+49hkWZyvaKwrQB8elexRqm6Y0aMLjCNsrYxo github.com/minio/sha256-simd v1.0.0/go.mod h1:OuYzVNI5vcoYIAmbIvHPl3N3jUzVedXbKy5RFepssQM= github.com/miolini/datacounter v1.0.2 h1:mGTL0vqEAtH7mwNJS1JIpd6jwTAP6cBQQ2P8apaCIm8= github.com/miolini/datacounter v1.0.2/go.mod h1:C45dc2hBumHjDpEU64IqPwR6TDyPVpzOqqRTN7zmBUA= -github.com/mitchellh/cli v1.0.0 h1:iGBIsUe3+HZ/AD/Vd7DErOt5sU9fa8Uj7A2s1aggv1Y= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-testing-interface v1.0.0 h1:fzU/JVNcaqHQEcVFAKeR41fkiLdIPrefOvVG1VZ96U0= github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= -github.com/mitchellh/gox v0.4.0 h1:lfGJxY7ToLJQjHHwi0EX6uYBdK78egf954SQl13PQJc= github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= -github.com/mitchellh/iochan v1.0.0 h1:C+X3KsSTLFVBr/tK1eYN/vs4rJcvsiLU338UhYPJWeY= github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe h1:iruDEfMl2E6fbMZ9s0scYfZQ84/6SPL6zC8ACM2oIL0= github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= github.com/mr-tron/base58 v1.1.0/go.mod h1:xcD2VGqlgYjBdcBLw+TuYLr8afG+Hj8g2eTVqeSzSU8= github.com/mr-tron/base58 v1.1.1/go.mod h1:xcD2VGqlgYjBdcBLw+TuYLr8afG+Hj8g2eTVqeSzSU8= @@ -1405,108 +1195,75 @@ github.com/multiformats/go-varint v0.0.5/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXS github.com/multiformats/go-varint v0.0.6 h1:gk85QWKxh3TazbLxED/NlDVv8+q+ReFJk7Y2W/KhfNY= github.com/multiformats/go-varint v0.0.6/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/namsral/flag v1.7.4-pre h1:b2ScHhoCUkbsq0d2C15Mv+VU8bl8hAXV8arnWiOHNZs= github.com/namsral/flag v1.7.4-pre/go.mod h1:OXldTctbM6SWH1K899kPZcf65KxJiD7MsceFUpB5yDo= github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= -github.com/nats-io/jwt v0.3.2 h1:+RB5hMpXUUA2dfxuhBTEkMOrYmM+gKIZYS1KjSostMI= github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= -github.com/nats-io/nats-server/v2 v2.1.2 h1:i2Ly0B+1+rzNZHHWtD4ZwKi+OU5l+uQo1iDHZ2PmiIc= github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= -github.com/nats-io/nats.go v1.9.1 h1:ik3HbLhZ0YABLto7iX80pZLPw/6dx3T+++MZJwLnMrQ= github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= -github.com/nats-io/nkeys v0.1.3 h1:6JrEfig+HzTH85yxzhSVbjHRJv9cn0p6n3IngIcM5/k= github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= -github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw= github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= -github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86 h1:D6paGObi5Wud7xg83MaEFyjxQB1W5bz5d0IFppr+ymk= github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86/go.mod h1:kHJEU3ofeGjhHklVoIGuVj85JJwZ6kWPaJwCIxgnFmo= -github.com/neelance/sourcemap v0.0.0-20151028013722-8c68805598ab h1:eFXv9Nu1lGbrNbj619aWwZfVF5HBrm9Plte8aNptuTI= github.com/neelance/sourcemap v0.0.0-20151028013722-8c68805598ab/go.mod h1:Qr6/a/Q4r9LP1IltGz7tA7iOK1WonHEYhu1HRBA7ZiM= -github.com/nfnt/resize v0.0.0-20160724205520-891127d8d1b5 h1:BvoENQQU+fZ9uukda/RzCAL/191HHwJA5b13R6diVlY= github.com/nfnt/resize v0.0.0-20160724205520-891127d8d1b5/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= -github.com/oklog/oklog v0.3.2 h1:wVfs8F+in6nTBMkA7CbRw+zZMIB7nNM825cM1wuzoTk= github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= -github.com/oklog/run v1.0.0 h1:Ru7dDtJNOyC66gQ5dQmaCa0qIsAUFY3sFpK1Xk8igrw= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/oklog/ulid/v2 v2.0.2 h1:r4fFzBm+bv0wNKNh5eXTwU7i85y5x+uwkxCUTNVQqLc= github.com/oklog/ulid/v2 v2.0.2/go.mod h1:mtBL0Qe/0HAx6/a4Z30qxVIAL1eQDweXq5lxOEiwQ68= -github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5 h1:58+kh9C6jJVXYjt8IE48G2eWl6BjwU5Gj0gqY84fy78= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0HfGg= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.14.0 h1:2mOpI4JVVPBN+WQRa0WKH2eXR+Ey+uK4n7Zj0aYpIQA= github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.9.0/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA= -github.com/onsi/gomega v1.10.1 h1:o0+MgICZLuZ7xjH7Vx6zS/zcu93/BEp1VwkIW1mEXCE= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/op/go-logging v0.0.0-20160315200505-970db520ece7 h1:lDH9UUVJtmYCjyT0CI4q8xvlXPxeZ0gYCVvWbmPlp88= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= -github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492 h1:lM6RxxfUMrYL/f8bWEUqdXrANWtrL7Nndbm9iFN0DlU= github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= -github.com/opentracing/basictracer-go v1.0.0 h1:YyUAhaEfjoWXclZVJ9sGoNct7j4TVk7lZWlQw5UXuoo= github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= -github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5 h1:ZCnq+JUrvXcDVhX/xRolRBZifmabN1HcS1wrPSvxhrU= github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= github.com/openzipkin/zipkin-go v0.1.1/go.mod h1:NtoC/o8u3JlF1lSlyPNswIbeQH9bJTmOf0Erfk+hxe8= github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= -github.com/openzipkin/zipkin-go v0.2.2 h1:nY8Hti+WKaP0cRsSeQ026wU03QsM762XBeCXBb9NAWI= github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE= -github.com/otiai10/curr v1.0.0 h1:TJIWdbX0B+kpNagQrjgq8bCMrbhiuX73M2XwgtDMoOI= github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs= -github.com/otiai10/marmoset v0.4.0 h1:Hg59lQI7qQowBEdsAJ/+VDTEospTBzXX/A1Gsw4mlvA= github.com/otiai10/marmoset v0.4.0/go.mod h1:t2q6dXWZ9YcFdRREDApX4bCmfQnL3isJ2dgl8ychlXg= github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo= -github.com/otiai10/mint v1.3.2 h1:VYWnrP5fXmz1MXvjuUvcBrXSjGE6xjON+axB/UrpO3E= github.com/otiai10/mint v1.3.2/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc= github.com/otiai10/opengraph/v2 v2.1.0 h1:rsrq/Krr4E6IPMPUdJ+pit4mc8ijzH9P7eyfEqvlUBI= github.com/otiai10/opengraph/v2 v2.1.0/go.mod h1:gHYa6c2GENKqbB7O6Mkqpq2Ma0Nti31xIM/3QHNcD/M= -github.com/pact-foundation/pact-go v1.0.4 h1:OYkFijGHoZAYbOIb1LWXrwKQbMMRUv1oQ89blD2Mh2Q= github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= -github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c h1:Lgl0gzECD8GnQ5QCWA8o6BtfL6mDH5rQgM4/fX3avOs= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pborman/getopt v0.0.0-20170112200414-7148bc3a4c30 h1:BHT1/DKsYDGkUgQ2jmMaozVcdk+sVfz0+1ZJq4zkWgw= github.com/pborman/getopt v0.0.0-20170112200414-7148bc3a4c30/go.mod h1:85jBQOZwpVEaDAr341tbn15RS4fCAsIst0qp7i8ex1o= -github.com/pborman/uuid v1.2.0 h1:J7Q5mO4ysT1dv8hyrUGHb9+ooztCXu1D8MY8DZYsu3g= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml v1.4.0 h1:u3Z1r+oOXJIkxqw34zVhyPgjBsm6X2wn21NWs/HfSeg= github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo= -github.com/performancecopilot/speed v3.0.0+incompatible h1:2WnRzIquHa5QxaJKShDkLM+sc0JPuwhXzK8OYOyt3Vg= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2 h1:JhzVVoYvbOACxoUmOs6V/G4D5nPVUW73rKvXxP4XUJc= github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2/go.mod h1:iIss55rKnNBTvrwdmkUpLnDpZoAHvWaiq5+iMmen4AE= github.com/philhofer/fwd v1.0.0 h1:UbZqGr5Y38ApvM/V/jEljVxwocdweyH+vmYvRPBnbqQ= github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= -github.com/pierrec/lz4 v2.0.5+incompatible h1:2xWsjqPFWcplujydGg4WmhC/6fZqK42wMM8aXeqhl0I= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/profile v1.2.1 h1:F++O52m40owAmADcojzM+9gyjmMOY/T4oYJkgFDH8RE= github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= @@ -1514,7 +1271,6 @@ github.com/polydawn/refmt v0.0.0-20190221155625-df39d6c2d992/go.mod h1:uIp+gprXx github.com/polydawn/refmt v0.0.0-20190408063855-01bf1e26dd14/go.mod h1:uIp+gprXxxrWSjjklXD+mN4wed/tMfjMMmN/9+JsA9o= github.com/polydawn/refmt v0.0.0-20190807091052-3d65705ee9f1 h1:CskT+S6Ay54OwxBGB0R3Rsx4Muto6UnEYTyKJbyRIAI= github.com/polydawn/refmt v0.0.0-20190807091052-3d65705ee9f1/go.mod h1:uIp+gprXxxrWSjjklXD+mN4wed/tMfjMMmN/9+JsA9o= -github.com/posener/complete v1.1.1 h1:ccV59UEOTzVDnDUEFdT95ZzHVZ+5+158q8+SJb2QV5w= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/prometheus/client_golang v0.8.0/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= @@ -1550,144 +1306,91 @@ github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+Gx github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.6.0 h1:mxy4L2jP6qMonqmq+aTtOx1ifVWUgG/TAmntgbh3xv4= github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/tsdb v0.7.1 h1:YZcsG11NqnK4czYLrWd9mpEuAJIHVQLwdrleYfszMAA= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/rcrowley/go-metrics v0.0.0-20190826022208-cac0b30c2563 h1:dY6ETXrvDG7Sa4vE8ZQG4yqWg6UnOcbqTAahkV813vQ= github.com/rcrowley/go-metrics v0.0.0-20190826022208-cac0b30c2563/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 h1:OdAsTTz6OkFY5QxjkYwrChwuRruF69c169dPK26NUlk= github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= -github.com/rivo/uniseg v0.1.0 h1:+2KBaVoUmb9XzDsrx/Ct0W/EYOSFf/nWTauy++DprtY= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= -github.com/rogpeppe/fastuuid v1.2.0 h1:Ppwyp6VYCF1nvBTXL3trRso7mXMlRrw9ooo375wvi2s= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.3.0 h1:RR9dF3JtopPvtkroDZuVD7qquD0bnHlKSqaQhgwt8yk= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rs/cors v1.7.0 h1:+88SsELBHx5r+hZ8TCkggzSstaWNbDvThkVK8H6f9ik= github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= -github.com/russross/blackfriday v1.5.2 h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= -github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/rwcarlsen/goexif v0.0.0-20190401172101-9e8deecbddbd h1:CmH9+J6ZSsIjUK3dcGsnCnO41eRBOnY12zwkn5qVwgc= github.com/rwcarlsen/goexif v0.0.0-20190401172101-9e8deecbddbd/go.mod h1:hPqNNc0+uJM6H+SuU8sEs5K5IQeKccPqeSjfgcKGgPk= -github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f h1:UFr9zpz4xgTnIE5yIMtWAMngCdZ9p/+q6lTbgelo80M= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da h1:p3Vo3i64TCLY7gIfzeQaUJ+kppEO5WQG3cL8iE8tGHU= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= -github.com/scylladb/termtables v0.0.0-20191203121021-c4c0b6d42ff4 h1:8qmTC5ByIXO3GP/IzBkxcZ/99VITvnIETDhdFz/om7A= github.com/scylladb/termtables v0.0.0-20191203121021-c4c0b6d42ff4/go.mod h1:C1a7PQSMz9NShzorzCiG2fk9+xuCgLkPeCvMHYR2OWg= -github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUtVbo7ada43DJhG55ua/hjS5I= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= -github.com/sergi/go-diff v1.0.0 h1:Kpca3qRNrduNnOQeazBd0ysaKrUJiIuISHxogkT9RPQ= github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= -github.com/shopspring/decimal v1.2.0 h1:abSATXmQEYyShuxI4/vyW3tV1MrKAJzCZ/0zLUXYbsQ= github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= -github.com/shurcooL/component v0.0.0-20170202220835-f88ec8f54cc4 h1:Fth6mevc5rX7glNLpbAMJnqKlfIkcTjZCSHEeqvKbcI= github.com/shurcooL/component v0.0.0-20170202220835-f88ec8f54cc4/go.mod h1:XhFIlyj5a1fBNx5aJTbKoIq0mNaPvOagO+HjB3EtxrY= -github.com/shurcooL/events v0.0.0-20181021180414-410e4ca65f48 h1:vabduItPAIz9px5iryD5peyx7O3Ya8TBThapgXim98o= github.com/shurcooL/events v0.0.0-20181021180414-410e4ca65f48/go.mod h1:5u70Mqkb5O5cxEA8nxTsgrgLehJeAw6Oc4Ab1c/P1HM= -github.com/shurcooL/github_flavored_markdown v0.0.0-20181002035957-2122de532470 h1:qb9IthCFBmROJ6YBS31BEMeSYjOscSiG+EO+JVNTz64= github.com/shurcooL/github_flavored_markdown v0.0.0-20181002035957-2122de532470/go.mod h1:2dOwnU2uBioM+SGy2aZoq1f/Sd1l9OkAeAUvjSyvgU0= -github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e h1:MZM7FHLqUHYI0Y/mQAt3d2aYa0SiNms/hFqC9qJYolM= github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= -github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041 h1:llrF3Fs4018ePo4+G/HV/uQUqEI1HMDjCeOf2V6puPc= github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= -github.com/shurcooL/gofontwoff v0.0.0-20180329035133-29b52fc0a18d h1:Yoy/IzG4lULT6qZg62sVC+qyBL8DQkmD2zv6i7OImrc= github.com/shurcooL/gofontwoff v0.0.0-20180329035133-29b52fc0a18d/go.mod h1:05UtEgK5zq39gLST6uB0cf3NEHjETfB4Fgr3Gx5R9Vw= -github.com/shurcooL/gopherjslib v0.0.0-20160914041154-feb6d3990c2c h1:UOk+nlt1BJtTcH15CT7iNO7YVWTfTv/DNwEAQHLIaDQ= github.com/shurcooL/gopherjslib v0.0.0-20160914041154-feb6d3990c2c/go.mod h1:8d3azKNyqcHP1GaQE/c6dDgjkgSx2BZ4IoEi4F1reUI= -github.com/shurcooL/highlight_diff v0.0.0-20170515013008-09bb4053de1b h1:vYEG87HxbU6dXj5npkeulCS96Dtz5xg3jcfCgpcvbIw= github.com/shurcooL/highlight_diff v0.0.0-20170515013008-09bb4053de1b/go.mod h1:ZpfEhSmds4ytuByIcDnOLkTHGUI6KNqRNPDLHDk+mUU= -github.com/shurcooL/highlight_go v0.0.0-20181028180052-98c3abbbae20 h1:7pDq9pAMCQgRohFmd25X8hIH8VxmT3TaDm+r9LHxgBk= github.com/shurcooL/highlight_go v0.0.0-20181028180052-98c3abbbae20/go.mod h1:UDKB5a1T23gOMUJrI+uSuH0VRDStOiUVSjBTRDVBVag= -github.com/shurcooL/home v0.0.0-20181020052607-80b7ffcb30f9 h1:MPblCbqA5+z6XARjScMfz1TqtJC7TuTRj0U9VqIBs6k= github.com/shurcooL/home v0.0.0-20181020052607-80b7ffcb30f9/go.mod h1:+rgNQw2P9ARFAs37qieuu7ohDNQ3gds9msbT2yn85sg= -github.com/shurcooL/htmlg v0.0.0-20170918183704-d01228ac9e50 h1:crYRwvwjdVh1biHzzciFHe8DrZcYrVcZFlJtykhRctg= github.com/shurcooL/htmlg v0.0.0-20170918183704-d01228ac9e50/go.mod h1:zPn1wHpTIePGnXSHpsVPWEktKXHr6+SS6x/IKRb7cpw= -github.com/shurcooL/httperror v0.0.0-20170206035902-86b7830d14cc h1:eHRtZoIi6n9Wo1uR+RU44C247msLWwyA89hVKwRLkMk= github.com/shurcooL/httperror v0.0.0-20170206035902-86b7830d14cc/go.mod h1:aYMfkZ6DWSJPJ6c4Wwz3QtW22G7mf/PEgaB9k/ik5+Y= -github.com/shurcooL/httpfs v0.0.0-20171119174359-809beceb2371 h1:SWV2fHctRpRrp49VXJ6UZja7gU9QLHwRpIPBN89SKEo= github.com/shurcooL/httpfs v0.0.0-20171119174359-809beceb2371/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= -github.com/shurcooL/httpgzip v0.0.0-20180522190206-b1c53ac65af9 h1:fxoFD0in0/CBzXoyNhMTjvBZYW6ilSnTw7N7y/8vkmM= github.com/shurcooL/httpgzip v0.0.0-20180522190206-b1c53ac65af9/go.mod h1:919LwcH0M7/W4fcZ0/jy0qGght1GIhqyS/EgWGH2j5Q= -github.com/shurcooL/issues v0.0.0-20181008053335-6292fdc1e191 h1:T4wuULTrzCKMFlg3HmKHgXAF8oStFb/+lOIupLV2v+o= github.com/shurcooL/issues v0.0.0-20181008053335-6292fdc1e191/go.mod h1:e2qWDig5bLteJ4fwvDAc2NHzqFEthkqn7aOZAOpj+PQ= -github.com/shurcooL/issuesapp v0.0.0-20180602232740-048589ce2241 h1:Y+TeIabU8sJD10Qwd/zMty2/LEaT9GNDaA6nyZf+jgo= github.com/shurcooL/issuesapp v0.0.0-20180602232740-048589ce2241/go.mod h1:NPpHK2TI7iSaM0buivtFUc9offApnI0Alt/K8hcHy0I= -github.com/shurcooL/notifications v0.0.0-20181007000457-627ab5aea122 h1:TQVQrsyNaimGwF7bIhzoVC9QkKm4KsWd8cECGzFx8gI= github.com/shurcooL/notifications v0.0.0-20181007000457-627ab5aea122/go.mod h1:b5uSkrEVM1jQUspwbixRBhaIjIzL2xazXp6kntxYle0= -github.com/shurcooL/octicon v0.0.0-20181028054416-fa4f57f9efb2 h1:bu666BQci+y4S0tVRVjsHUeRon6vUXmsGBwdowgMrg4= github.com/shurcooL/octicon v0.0.0-20181028054416-fa4f57f9efb2/go.mod h1:eWdoE5JD4R5UVWDucdOPg1g2fqQRq78IQa9zlOV1vpQ= -github.com/shurcooL/reactions v0.0.0-20181006231557-f2e0b4ca5b82 h1:LneqU9PHDsg/AkPDU3AkqMxnMYL+imaqkpflHu73us8= github.com/shurcooL/reactions v0.0.0-20181006231557-f2e0b4ca5b82/go.mod h1:TCR1lToEk4d2s07G3XGfz2QrgHXg4RJBvjrOozvoWfk= github.com/shurcooL/sanitized_anchor_name v0.0.0-20170918181015-86672fcb3f95/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/shurcooL/users v0.0.0-20180125191416-49c67e49c537 h1:YGaxtkYjb8mnTvtufv2LKLwCQu2/C7qFB7UtrOlTWOY= github.com/shurcooL/users v0.0.0-20180125191416-49c67e49c537/go.mod h1:QJTqeLYEDaXHZDBsXlPCDqdhQuJkuw4NOtaxYe3xii4= -github.com/shurcooL/webdavfs v0.0.0-20170829043945-18c3829fa133 h1:JtcyT0rk/9PKOdnKQzuDR+FSjh7SGtJwpgVpfZBRKlQ= github.com/shurcooL/webdavfs v0.0.0-20170829043945-18c3829fa133/go.mod h1:hKmq5kWdCj2z2KEozexVbfEZIWiTjhE0+UjmZgPqehw= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.6.0 h1:UBcNElsrwanuuMsnGSlYmtmgbb23qDR5dG+6X6Oo89I= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/assertions v1.0.0 h1:UVQPSSmc3qtTi+zPPkCXvZX9VvW/xT/NsRvKfwY81a8= github.com/smartystreets/assertions v1.0.0/go.mod h1:kHHU4qYBaI3q23Pp3VPrmWhuIUrLW/7eUrw0BU5VaoM= github.com/smartystreets/goconvey v0.0.0-20190222223459-a17d461953aa/go.mod h1:2RVY1rIf+2J2o/IM9+vPq9RzmHDSseB7FoXiSNIUsoU= github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= -github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= -github.com/smola/gocompat v0.2.0 h1:6b1oIMlUXIpz//VKEDzPVBK8KG7beVwmHIUEBIs/Pns= github.com/smola/gocompat v0.2.0/go.mod h1:1B0MlxbmoZNo3h8guHp8HztB3BSYR5itql9qtVc0ypY= -github.com/soheilhy/cmux v0.1.4 h1:0HKaf1o97UwFjHH9o5XsHUOF+tqmdA7KEzXLpiyaw0E= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= -github.com/sony/gobreaker v0.4.1 h1:oMnRNZXX5j85zso6xCPRNPtmAycat+WcoKbklScLDgQ= github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= -github.com/sourcegraph/annotate v0.0.0-20160123013949-f4cad6c6324d h1:yKm7XZV6j9Ev6lojP2XaIshpT4ymkqhMeSghO5Ps00E= github.com/sourcegraph/annotate v0.0.0-20160123013949-f4cad6c6324d/go.mod h1:UdhH50NIW0fCiwBSr0co2m7BnFLdv4fQTgdqdJTHFeE= -github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e h1:qpG93cPwA5f7s/ZPBJnGOYQNK/vKsaDaseuKT5Asee8= github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e/go.mod h1:HuIsMU8RRBOtsCgI77wP899iHVBQpCmg4ErYMZB+2IA= -github.com/spacemonkeygo/openssl v0.0.0-20181017203307-c2dcc5cca94a h1:/eS3yfGjQKG+9kayBkj0ip1BGhq6zJ3eaVksphxAaek= github.com/spacemonkeygo/openssl v0.0.0-20181017203307-c2dcc5cca94a/go.mod h1:7AyxJNCJ7SBZ1MfVQCWD6Uqo2oubI2Eq2y2eqf+A5r0= github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572 h1:RC6RW7j+1+HkWaX/Yh71Ee5ZHaHYt7ZP4sQgUrm6cDU= github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572/go.mod h1:w0SWMsp6j9O/dk4/ZpIhL+3CkG8ofA2vuv7k+ltqUMc= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.1.2 h1:m8/z1t7/fwjysjQRYbP0RD+bUIF/8tJwPdEZsI83ACI= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/cast v1.3.0 h1:oget//CVOEoFewqQxwr0Ej5yjygnqGkvggSE/gB35Q8= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/cobra v0.0.7 h1:FfTH+vuMXOas8jmfb5/M7dzEYx7LpcLb7a0LPe34uOU= github.com/spf13/cobra v0.0.7/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= -github.com/spf13/jwalterweatherman v1.0.0 h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBEu9Gc1vn7yk= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= -github.com/spf13/viper v1.4.0 h1:yXHLWeravcrgGyFSyCgdYpXQ9dR9c/WED3pg1RhxqEU= github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= -github.com/src-d/envconfig v1.0.0 h1:/AJi6DtjFhZKNx3OB2qMsq7y4yT5//AeSZIe7rk+PX8= github.com/src-d/envconfig v1.0.0/go.mod h1:Q9YQZ7BKITldTBnoxsE5gOeB5y66RyPXeue/R4aaNBc= github.com/steveyen/gtreap v0.1.0 h1:CjhzTa274PyJLJuMZwIzCO1PfC00oRa8d1Kc78bFXJM= github.com/steveyen/gtreap v0.1.0/go.mod h1:kl/5J7XbrOmlIbYIXdRHDDE5QxHqpk0cmkT7Z4dM9/Y= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= -github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271 h1:WhxRHzgeVGETMlmVfqhRn8RIeeNoPr2Czh33I4Zdccw= github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= -github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a h1:AhmOdSHeswKHBjhsLs/7+1voOxT+LLrSk/Nxvk35fug= github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1 h1:2vfRuCMp5sSVIDSqO8oNnWJq7mPa6KVP3iPIwFBuy8A= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= @@ -1697,19 +1400,14 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5 github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/syndtr/goleveldb v1.0.0 h1:fBdIW9lB4Iz0n9khmH8w27SJ3QEJ7+IgjPEwGSZiFdE= github.com/syndtr/goleveldb v1.0.0/go.mod h1:ZVVdQEZoIme9iO1Ch2Jdy24qqXrMMOU6lpPAyBWyWuQ= -github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07 h1:UyzmZLoiDWMRywV4DUYb9Fbt8uiOSooupjTq10vpvnU= github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07/go.mod h1:kDXzergiv9cbyO7IOYJZWg1U88JhDg3PB6klq9Hg2pA= -github.com/tebeka/snowball v0.4.2 h1:ujvgLOr6IHbsvB2Vgz27IcxWqDrNu9/oPhhe74lN/Kc= github.com/tebeka/snowball v0.4.2/go.mod h1:4IfL14h1lvwZcp1sfXuuc7/7yCsvVffTWxWxCLfFpYg= -github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c h1:g+WoO5jjkqGAzHWCjJB1zZfXPIAaDpzXIEJ0eS6B5Ok= github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c/go.mod h1:ahpPrc7HpcfEWDQRZEmnXMzHY03mLDYMCxeDzy46i+8= github.com/textileio/go-datastore-extensions v1.0.1 h1:qIJGqJaigQ1wD4TdwS/hf73u0HChhXvvUSJuxBEKS+c= github.com/textileio/go-datastore-extensions v1.0.1/go.mod h1:Pzj9FDRkb55910dr/FX8M7WywvnS26gBgEDez1ZBuLE= github.com/textileio/go-ds-badger v0.2.7-0.20201204225019-4ee78c4a40e2 h1:VIWkccJp5k8x1hbwQsSn6Xnns4wUDEW6XdiMLiOpr7k= github.com/textileio/go-ds-badger v0.2.7-0.20201204225019-4ee78c4a40e2/go.mod h1:qEZ/z1KyoRhGS5MYEbIcWUCCPd/0HxCkFDVeJgP1RcI= -github.com/textileio/go-ds-mongo v0.1.4 h1:5PPMEmqCfeCySzadtuBXMEJVDGP1Cga/CQXo3GWetmE= github.com/textileio/go-ds-mongo v0.1.4/go.mod h1:Zf6JlMPiIQUUmGlFFn5Z65C9p9LAvPg7XvX+qdGmTsU= github.com/tidwall/gjson v1.3.5 h1:2oW9FBNu8qt9jy5URgrzsVx/T/KSn3qn/smJQ0crlDQ= github.com/tidwall/gjson v1.3.5/go.mod h1:P256ACg0Mn+j1RXIDXoss50DeIABTYK1PULOJHhxOls= @@ -1721,12 +1419,10 @@ github.com/tidwall/sjson v1.0.4 h1:UcdIRXff12Lpnu3OLtZvnc03g4vH2suXDXhBwBqmzYg= github.com/tidwall/sjson v1.0.4/go.mod h1:bURseu1nuBkFpIES5cz6zBtjmYeOQmEESshn7VpF15Y= github.com/tinylib/msgp v1.1.0 h1:9fQd+ICuRIu/ue4vxJZu6/LzxN0HwMds2nq/0cFvxHU= github.com/tinylib/msgp v1.1.0/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= -github.com/tj/assert v0.0.0-20190920132354-ee03d75cd160 h1:NSWpaDaurcAJY7PkL8Xt0PhZE7qpvbZl5ljd8r6U0bI= github.com/tj/assert v0.0.0-20190920132354-ee03d75cd160/go.mod h1:mZ9/Rh9oLWpLLDRpvE+3b7gP/C2YyLFYxNmcLnPTMe0= github.com/tj/go-naturaldate v1.3.0 h1:OgJIPkR/Jk4bFMBLbxZ8w+QUxwjqSvzd9x+yXocY4RI= github.com/tj/go-naturaldate v1.3.0/go.mod h1:rpUbjivDKiS1BlfMGc2qUKNZ/yxgthOfmytQs8d8hKk= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5 h1:LnC5Kc/wtumK+WB441p7ynQJzVuNRJiqddSIE3IlSEQ= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tyler-smith/go-bip39 v1.0.1-0.20190808214741-c55f737395bc h1:TnvShh/v2U3Jxq9rHLlmhoLiSECp2QHdsCh/uo1m9U8= github.com/tyler-smith/go-bip39 v1.0.1-0.20190808214741-c55f737395bc/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs= @@ -1735,22 +1431,15 @@ github.com/uber/jaeger-client-go v2.28.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMW github.com/uber/jaeger-lib v2.4.0+incompatible h1:fY7QsGQWiCt8pajv4r7JEvmATdCVaWxXbjwyYwsNaLQ= github.com/uber/jaeger-lib v2.4.0+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= -github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= -github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs= github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= -github.com/urfave/cli v1.22.1 h1:+mkCCcOFKPnCmVYVcURKps1Xe+3zP90gSYGNfRkjoIY= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -github.com/viant/assertly v0.4.8 h1:5x1GzBaRteIwTr5RAGFVG14uNeRFxVNbXPWrK2qAgpc= github.com/viant/assertly v0.4.8/go.mod h1:aGifi++jvCrUaklKEKT0BU95igDNaqkvz+49uaYMPRU= -github.com/viant/toolbox v0.24.0 h1:6TteTDQ68CjgcCe8wH3D3ZhUQQOJXMTbj/D9rkk2a1k= github.com/viant/toolbox v0.24.0/go.mod h1:OxMCG57V0PXuIP2HNQrtJf2CjqdmbrOx5EkMILuUhzM= -github.com/wangjia184/sortedset v0.0.0-20160527075905-f5d03557ba30 h1:kZiWylALnUy4kzoKJemjH8eqwCl3RjW1r1ITCjjW7G8= github.com/wangjia184/sortedset v0.0.0-20160527075905-f5d03557ba30/go.mod h1:YkocrP2K2tcw938x9gCOmT5G5eCD6jsTz0SZuyAqwIE= github.com/warpfork/go-wish v0.0.0-20180510122957-5ad1f5abf436/go.mod h1:x6AKhvSSexNrVSrViXSHUEbICjmGXhtgABaHIySUSGw= -github.com/warpfork/go-wish v0.0.0-20190328234359-8b3e70f8e830 h1:8kxMKmKzXXL4Ru1nyhvdms/JjWt+3YLpvRb/bAjO/y0= github.com/warpfork/go-wish v0.0.0-20190328234359-8b3e70f8e830/go.mod h1:x6AKhvSSexNrVSrViXSHUEbICjmGXhtgABaHIySUSGw= github.com/whyrusleeping/base32 v0.0.0-20170828182744-c30ac30633cc h1:BCPnHtcboadS0DvysUuJXZ4lWVv5Bh5i7+tbIyi+ck4= github.com/whyrusleeping/base32 v0.0.0-20170828182744-c30ac30633cc/go.mod h1:r45hJU7yEoA81k6MWNhpMj/kms0n14dkzkxYHoB96UM= @@ -1761,11 +1450,8 @@ github.com/whyrusleeping/chunker v0.0.0-20181014151217-fe64bd25879f/go.mod h1:p9 github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1 h1:EKhdznlJHPMoKr0XTrX+IlJs1LH3lyx2nfr1dOlZ79k= github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1/go.mod h1:8UvriyWtv5Q5EOgjHaSseUEdkQfvwFv1I/In/O2M9gc= github.com/whyrusleeping/go-logging v0.0.0-20170515211332-0457bb6b88fc/go.mod h1:bopw91TMyo8J3tvftk8xmU2kPmlrt4nScJQZU2hE5EM= -github.com/whyrusleeping/go-logging v0.0.1 h1:fwpzlmT0kRC/Fmd0MdmGgJG/CXIZ6gFq46FQZjprUcc= github.com/whyrusleeping/go-logging v0.0.1/go.mod h1:lDPYj54zutzG1XYfHAhcc7oNXEburHQBn+Iqd4yS4vE= -github.com/whyrusleeping/go-notifier v0.0.0-20170827234753-097c5d47330f h1:M/lL30eFZTKnomXY6huvM6G0+gVquFNf6mxghaWlFUg= github.com/whyrusleeping/go-notifier v0.0.0-20170827234753-097c5d47330f/go.mod h1:cZNvX9cFybI01GriPRMXDtczuvUhgbcYr9iCGaNlRv8= -github.com/whyrusleeping/mafmt v1.2.8 h1:TCghSl5kkwEE0j+sU/gudyhVMRlpBin8fMBBHg59EbA= github.com/whyrusleeping/mafmt v1.2.8/go.mod h1:faQJFPbLSxzD9xpA02ttW/tS9vZykNvXwGvqIpk20FA= github.com/whyrusleeping/mdns v0.0.0-20180901202407-ef14215e6b30/go.mod h1:j4l84WPFclQPj320J9gp0XwNKBb3U0zt5CBqjPp22G4= github.com/whyrusleeping/mdns v0.0.0-20190826153040-b9b60ed33aa9 h1:Y1/FEOpaCpD21WxrmfeIYCFPuVPRCY2XZTWzTNHGw30= @@ -1776,11 +1462,8 @@ github.com/whyrusleeping/timecache v0.0.0-20160911033111-cfcb2f1abfee h1:lYbXeSv github.com/whyrusleeping/timecache v0.0.0-20160911033111-cfcb2f1abfee/go.mod h1:m2aV4LZI4Aez7dP5PMyVKEHhUyEJ/RjmPEDOpDvudHg= github.com/willf/bitset v1.1.10 h1:NotGKqX0KwQ72NUzqrjZq5ipPNDQex9lo3WpaS8L2sc= github.com/willf/bitset v1.1.10/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= -github.com/x-cray/logrus-prefixed-formatter v0.5.2 h1:00txxvfBM9muc0jiLIEAkAcIMJzfthRT6usrui8uGmg= github.com/x-cray/logrus-prefixed-formatter v0.5.2/go.mod h1:2duySbKsL6M18s5GU7VPsoEPHyzalCE06qoARUCeBBE= -github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c h1:u40Z8hqBAAQyv+vATcGgV0YCnDjqSL7/q/JyPhhJSPk= github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I= -github.com/xdg/stringprep v0.0.0-20180714160509-73f8eece6fdc h1:n+nNi93yXLkJvKwXNP9d55HC7lGK4H/SRcwB5IaUZLo= github.com/xdg/stringprep v0.0.0-20180714160509-73f8eece6fdc/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y= github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb h1:zGWFAtiMcyryUHoUjUJX0/lt1H2+i2Ka2n+D3DImSNo= @@ -1789,9 +1472,7 @@ github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHo github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= -github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5Qo6v2eYzo7kUS51QINcR5jNpbZS8= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= -github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77 h1:ESFSdwYZvkeru3RtdrYueztKhOBCSAAzS4Gf+k0tEow= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= @@ -1803,9 +1484,7 @@ go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.5 h1:XAzx9gjCb0Rxj7EoqcClPD1d5ZBxZJk0jbuoPHenBt0= go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= -go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738 h1:VcrIfasaLFkyjk6KNlXQSzO+B0fZcnECiDrKJsfxka0= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= -go.mongodb.org/mongo-driver v1.4.0 h1:C8rFn1VF4GVEM/rG+dSoMmlm2pyQ9cs2/oRtUATejRU= go.mongodb.org/mongo-driver v1.4.0/go.mod h1:llVBH2pkj9HywK0Dtdt6lDikOjFLbceHVu/Rc0iMKLs= go.opencensus.io v0.18.0/go.mod h1:vKdFvxhtzZ9onBp9VKHK8z/sRpBMnKAsufL7wlDrCOA= go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= @@ -1819,20 +1498,17 @@ go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opentelemetry.io/proto/otlp v0.7.0 h1:rwOQPCuKAKmwGKq2aVNnYIibI6wnV7EvzgfTCzcdGg8= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.6.0 h1:Ezj3JGmsOnG1MoRWQkPBsKLe9DwWD9QeXzTRzzldNVk= go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/goleak v1.0.0 h1:qsup4IcBdlmsnGfqyLl4Ntn3C2XCCuKAE7DwHpScyUo= go.uber.org/goleak v1.0.0/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= go.uber.org/multierr v1.5.0 h1:KCa4XfM8CWFCpxXRGok+Q0SS/0XBhMDbHHGABQLvD2A= go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= -go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee h1:0mgffUl7nfd+FpvXMVz4IDEaUSmT1ysygQC7qYo7sG4= go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= @@ -1840,9 +1516,7 @@ go.uber.org/zap v1.14.1/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= go.uber.org/zap v1.15.0/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= go.uber.org/zap v1.16.0 h1:uFRZXykJGK9lLY4HtgSw44DnIcAM+kRBP7x5m+NpAOM= go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ= -go4.org v0.0.0-20180809161055-417644f6feb5 h1:+hE86LblG4AyDgwMCLTE6FOlM9+qjHSYS+rKqxUVdsM= go4.org v0.0.0-20180809161055-417644f6feb5/go.mod h1:MkTOUMDaeVYJUOUsaDXIhWPZYa1yOyC1qaOBpL57BhE= -golang.org/x/build v0.0.0-20190111050920-041ab4dc3f9d h1:E2M5QgjZ/Jg+ObCQAudsXxuTsLj7Nl5RV/lZcQZmKSo= golang.org/x/build v0.0.0-20190111050920-041ab4dc3f9d/go.mod h1:OWs+y06UdEOHN4y+MfF/py+xQ/tYqIWW03b70/CG9Rw= golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -1889,7 +1563,6 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5 h1:FR+oGxGfbQu1d+jglI3rCkjAjUnhRSZcUxr+DqlDLNo= golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= @@ -1908,10 +1581,8 @@ golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHl golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 h1:VLliZ0d+/avPrXXH+OakdXhpJuEoBZuwh1m2j7U6Iug= golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028 h1:4+4C/Iv2U4fMZBiMCc98MG1In4gJY5YRhtpDNeDeHWs= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= @@ -1920,7 +1591,6 @@ golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzB golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.5.0 h1:UG21uOlmZabA4fW5i7ZX6bjw1xELEGg/ZLgZq9auk/Q= golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1990,7 +1660,6 @@ golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4Iltr golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 h1:RerP+noqYHUQ8CMRcPlC2nvTa4dcBIjegkuWdcUDuqg= golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852 h1:xYq6+9AtI+xP3M4r0N1hCkHrInHDBohhquRgx9Kk6gI= golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852/go.mod h1:JLpeXjPJfIyPr5TlbXLkXWLhP8nz10XfvxElABhCtcw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -2086,7 +1755,6 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912 h1:uCLL3g5wH2xjxVREVuAbP9JM5PPKjRbXKRa6IBjkzmU= golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/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 h1:v+OssWQX+hTHEmOBgwxdZxK4zHq3yOs8F9J7mk0PY8E= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= 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= @@ -2100,7 +1768,6 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0 h1:/5xXl8Y5W96D+TtHSlonuFqGHIWVuyCkGJLwGh9JJFs= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -2162,7 +1829,6 @@ golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5 h1:ouewzE6p+/VEB31YYnTbEJdi8pFqKp4P4n85vwo3DHA= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -2170,11 +1836,8 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= -gonum.org/v1/gonum v0.8.2 h1:CCXrcPKiGGotvnN6jfUsKk4rRqm7q09/YbKb5xCEvtM= gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= -gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0 h1:OE9mWmgKkjJyEmDAAtGMPjXu+YNeGvK9VTSHY6+Qihc= gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= -gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b h1:Qh4dB5D/WpoUUp3lSod7qgoyEHbDGPUWjIbnqdqqe1k= gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= google.golang.org/api v0.0.0-20180910000450-7ca32eb868bf/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= google.golang.org/api v0.0.0-20181030000543-1d582fd0359e/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= @@ -2195,7 +1858,6 @@ google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/ google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0 h1:yfrXXP61wVuLb0vBcG6qaOoIoqYEzOQS8jum51jkv2w= google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -2286,33 +1948,21 @@ google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp0 google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/cheggaaa/pb.v1 v1.0.25 h1:Ev7yu1/f6+d+b3pi5vPdRPc6nNtP1umSfcWiEfRqv6I= gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= -gopkg.in/errgo.v2 v2.1.0 h1:0vLT13EuvQ0hNvakwLuFZ/jYrLp5F3kcWHXdRggjCE8= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/gcfg.v1 v1.2.3 h1:m8OOJ4ccYHnx2f4gQwpno8nAX5OGOh7RLaaz0pj3Ogs= gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/resty.v1 v1.12.0 h1:CuXP0Pjfw9rOuY6EP+UvtNvt5DSqHpIxILZKT/quCZI= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= -gopkg.in/src-d/go-cli.v0 v0.0.0-20181105080154-d492247bbc0d h1:mXa4inJUuWOoA4uEROxtJ3VMELMlVkIxIfcR0HBekAM= gopkg.in/src-d/go-cli.v0 v0.0.0-20181105080154-d492247bbc0d/go.mod h1:z+K8VcOYVYcSwSjGebuDL6176A1XskgbtNl64NSg+n8= -gopkg.in/src-d/go-log.v1 v1.0.1 h1:heWvX7J6qbGWbeFS/aRmiy1eYaT+QMV6wNvHDyMjQV4= gopkg.in/src-d/go-log.v1 v1.0.1/go.mod h1:GN34hKP0g305ysm2/hctJ0Y8nWP3zxXXJ8GFabTyABE= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= @@ -2327,7 +1977,6 @@ gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -grpc.go4.org v0.0.0-20170609214715-11d0a25b4919 h1:tmXTu+dfa+d9Evp8NpJdgOy6+rt8/x4yG7qPBrtNfLY= grpc.go4.org v0.0.0-20170609214715-11d0a25b4919/go.mod h1:77eQGdRu53HpSqPFJFmuJdjuHRquDANNeA4x7B8WQ9o= honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -2336,23 +1985,14 @@ honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4 h1:UoveltGrhghAA7ePc+e+QYDHXrBps2PqFZiHkGR/xK8= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= nhooyr.io/websocket v1.8.7 h1:usjR2uOr/zjjkVMy0lW+PPohFok7PCow5sDjLgX4P4g= nhooyr.io/websocket v1.8.7/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= -rsc.io/binaryregexp v0.2.0 h1:HfqmD5MEmC0zvwBuF187nq9mdnXjXsSivRiXN7SmRkE= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/pdf v0.1.1 h1:k1MczvYDUvJBe93bYd7wrZLLUEcLZAuF824/I4e5Xr4= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= -rsc.io/quote/v3 v3.1.0 h1:9JKUTTIUgS6kzR9mK1YuGKv6Nl+DijDNIc0ghT58FaY= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0 h1:7uVkIFmeBqHfdjD+gZwtXXI+RODJ2Wc4O7MPEh/QiW4= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= -sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0 h1:ucqkfpjg9WzSUubAO62csmucvxl4/JeW3F4I4909XkM= sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= -sourcegraph.com/sourcegraph/go-diff v0.5.0 h1:eTiIR0CoWjGzJcnQ3OkhIl/b9GJovq4lSAVRt0ZFEG8= sourcegraph.com/sourcegraph/go-diff v0.5.0/go.mod h1:kuch7UrkMzY0X+p9CRK03kfuPQ2zzQcaEFbx8wA8rck= -sourcegraph.com/sqs/pbtypes v0.0.0-20180604144634-d3ebe8f20ae4 h1:JPJh2pk3+X4lXAkZIk2RuE/7/FoK9maXw+TNPJhVS/c= sourcegraph.com/sqs/pbtypes v0.0.0-20180604144634-d3ebe8f20ae4/go.mod h1:ketZ/q3QxT9HOBeFhu6RdvsftgpsbFHBF5Cas6cDKZ0= diff --git a/metrics/metrics.go b/metrics/metrics.go index 62ac44c29..20f884d0a 100644 --- a/metrics/metrics.go +++ b/metrics/metrics.go @@ -69,6 +69,34 @@ func (t *threadsMetrics) CreateRecord(threadId string, prepareMs int64, newRecor }) } +func (t *threadsMetrics) NumberOfRecordsSentForLog(num int) {} + +func (t *threadsMetrics) NumberOfRecordsSentTotal(num int) {} + +func (t *threadsMetrics) GetRecordsGetThreadDuration(duration time.Duration) {} + +func (t *threadsMetrics) GetRecordsHeadsChangedDuration(duration time.Duration) {} + +func (t *threadsMetrics) GetLocalRecordsGetLogDuration(duration time.Duration) {} + +func (t *threadsMetrics) GetLocalRecordsCborGetRecordsDuration(duration time.Duration) {} + +func (t *threadsMetrics) UpdateRecordsDuration(duration time.Duration) {} + +func (t *threadsMetrics) SemaphoreAcquireDuration(duration time.Duration) {} + +func (t *threadsMetrics) SemaphoreHoldDuration(duration time.Duration) {} + +func (t *threadsMetrics) SemaphoreAcquire() {} + +func (t *threadsMetrics) ThreadServed() {} + +func (t *threadsMetrics) ThreadPulled() {} + +func (t *threadsMetrics) ThreadPullDuration(duration time.Duration) {} + +func (t *threadsMetrics) UpdateRecordsDelayAfterExchangeEdges(duration time.Duration) {} + var ( Enabled bool once sync.Once diff --git a/package.json b/package.json index cf1415ff2..f3994cfe6 100644 --- a/package.json +++ b/package.json @@ -7,9 +7,9 @@ "build:protos": "webpack -o ./build/web/commands-web.js ./build/web/pb/protos/service/service_grpc_web_pb.js" }, "dependencies": { - "google-protobuf": "^3.6.1", - "grpc-web": "latest", - "protobufjs": "^6.8.8" + "google-protobuf": "~3.19.4", + "grpc-web": "~1.3.1", + "protobufjs": "~6.11.2" }, "devDependencies": { "webpack": "^4.16.5", diff --git a/pb/commands.pb.go b/pb/commands.pb.go index eda70a958..dd5c95841 100644 --- a/pb/commands.pb.go +++ b/pb/commands.pb.go @@ -1067,6 +1067,34 @@ func (RpcBlockSetTextCheckedResponseErrorCode) EnumDescriptor() ([]byte, []int) return fileDescriptor_8261c968b2e6f45c, []int{0, 3, 11, 5, 3, 1, 0, 0} } +type RpcBlockSetTextIconResponseErrorCode int32 + +const ( + RpcBlockSetTextIconResponseError_NULL RpcBlockSetTextIconResponseErrorCode = 0 + RpcBlockSetTextIconResponseError_UNKNOWN_ERROR RpcBlockSetTextIconResponseErrorCode = 1 + RpcBlockSetTextIconResponseError_BAD_INPUT RpcBlockSetTextIconResponseErrorCode = 2 +) + +var RpcBlockSetTextIconResponseErrorCode_name = map[int32]string{ + 0: "NULL", + 1: "UNKNOWN_ERROR", + 2: "BAD_INPUT", +} + +var RpcBlockSetTextIconResponseErrorCode_value = map[string]int32{ + "NULL": 0, + "UNKNOWN_ERROR": 1, + "BAD_INPUT": 2, +} + +func (x RpcBlockSetTextIconResponseErrorCode) String() string { + return proto.EnumName(RpcBlockSetTextIconResponseErrorCode_name, int32(x)) +} + +func (RpcBlockSetTextIconResponseErrorCode) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_8261c968b2e6f45c, []int{0, 3, 11, 5, 4, 1, 0, 0} +} + type RpcBlockSetFileNameResponseErrorCode int32 const ( @@ -2483,6 +2511,9 @@ const ( RpcAccountCreateResponseError_ACCOUNT_CREATED_BUT_FAILED_TO_SET_AVATAR RpcAccountCreateResponseErrorCode = 103 RpcAccountCreateResponseError_FAILED_TO_STOP_RUNNING_NODE RpcAccountCreateResponseErrorCode = 104 RpcAccountCreateResponseError_BAD_INVITE_CODE RpcAccountCreateResponseErrorCode = 900 + RpcAccountCreateResponseError_NET_ERROR RpcAccountCreateResponseErrorCode = 901 + RpcAccountCreateResponseError_NET_CONNECTION_REFUSED RpcAccountCreateResponseErrorCode = 902 + RpcAccountCreateResponseError_NET_OFFLINE RpcAccountCreateResponseErrorCode = 903 ) var RpcAccountCreateResponseErrorCode_name = map[int32]string{ @@ -2494,6 +2525,9 @@ var RpcAccountCreateResponseErrorCode_name = map[int32]string{ 103: "ACCOUNT_CREATED_BUT_FAILED_TO_SET_AVATAR", 104: "FAILED_TO_STOP_RUNNING_NODE", 900: "BAD_INVITE_CODE", + 901: "NET_ERROR", + 902: "NET_CONNECTION_REFUSED", + 903: "NET_OFFLINE", } var RpcAccountCreateResponseErrorCode_value = map[string]int32{ @@ -2505,6 +2539,9 @@ var RpcAccountCreateResponseErrorCode_value = map[string]int32{ "ACCOUNT_CREATED_BUT_FAILED_TO_SET_AVATAR": 103, "FAILED_TO_STOP_RUNNING_NODE": 104, "BAD_INVITE_CODE": 900, + "NET_ERROR": 901, + "NET_CONNECTION_REFUSED": 902, + "NET_OFFLINE": 903, } func (x RpcAccountCreateResponseErrorCode) String() string { @@ -3514,21 +3551,24 @@ func (RpcObjectAddWithObjectIdResponseErrorCode) EnumDescriptor() ([]byte, []int type RpcObjectRelationAddResponseErrorCode int32 const ( - RpcObjectRelationAddResponseError_NULL RpcObjectRelationAddResponseErrorCode = 0 - RpcObjectRelationAddResponseError_UNKNOWN_ERROR RpcObjectRelationAddResponseErrorCode = 1 - RpcObjectRelationAddResponseError_BAD_INPUT RpcObjectRelationAddResponseErrorCode = 2 + RpcObjectRelationAddResponseError_NULL RpcObjectRelationAddResponseErrorCode = 0 + RpcObjectRelationAddResponseError_UNKNOWN_ERROR RpcObjectRelationAddResponseErrorCode = 1 + RpcObjectRelationAddResponseError_BAD_INPUT RpcObjectRelationAddResponseErrorCode = 2 + RpcObjectRelationAddResponseError_ALREADY_EXISTS RpcObjectRelationAddResponseErrorCode = 10 ) var RpcObjectRelationAddResponseErrorCode_name = map[int32]string{ - 0: "NULL", - 1: "UNKNOWN_ERROR", - 2: "BAD_INPUT", + 0: "NULL", + 1: "UNKNOWN_ERROR", + 2: "BAD_INPUT", + 10: "ALREADY_EXISTS", } var RpcObjectRelationAddResponseErrorCode_value = map[string]int32{ - "NULL": 0, - "UNKNOWN_ERROR": 1, - "BAD_INPUT": 2, + "NULL": 0, + "UNKNOWN_ERROR": 1, + "BAD_INPUT": 2, + "ALREADY_EXISTS": 10, } func (x RpcObjectRelationAddResponseErrorCode) String() string { @@ -12616,6 +12656,214 @@ func (m *RpcBlockSetTextCheckedResponseError) GetDescription() string { return "" } +type RpcBlockSetTextIcon struct { +} + +func (m *RpcBlockSetTextIcon) Reset() { *m = RpcBlockSetTextIcon{} } +func (m *RpcBlockSetTextIcon) String() string { return proto.CompactTextString(m) } +func (*RpcBlockSetTextIcon) ProtoMessage() {} +func (*RpcBlockSetTextIcon) Descriptor() ([]byte, []int) { + return fileDescriptor_8261c968b2e6f45c, []int{0, 3, 11, 5, 4} +} +func (m *RpcBlockSetTextIcon) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RpcBlockSetTextIcon) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RpcBlockSetTextIcon.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 *RpcBlockSetTextIcon) XXX_Merge(src proto.Message) { + xxx_messageInfo_RpcBlockSetTextIcon.Merge(m, src) +} +func (m *RpcBlockSetTextIcon) XXX_Size() int { + return m.Size() +} +func (m *RpcBlockSetTextIcon) XXX_DiscardUnknown() { + xxx_messageInfo_RpcBlockSetTextIcon.DiscardUnknown(m) +} + +var xxx_messageInfo_RpcBlockSetTextIcon proto.InternalMessageInfo + +type RpcBlockSetTextIconRequest struct { + ContextId string `protobuf:"bytes,1,opt,name=contextId,proto3" json:"contextId,omitempty"` + BlockId string `protobuf:"bytes,2,opt,name=blockId,proto3" json:"blockId,omitempty"` + IconImage string `protobuf:"bytes,3,opt,name=iconImage,proto3" json:"iconImage,omitempty"` + IconEmoji string `protobuf:"bytes,5,opt,name=iconEmoji,proto3" json:"iconEmoji,omitempty"` +} + +func (m *RpcBlockSetTextIconRequest) Reset() { *m = RpcBlockSetTextIconRequest{} } +func (m *RpcBlockSetTextIconRequest) String() string { return proto.CompactTextString(m) } +func (*RpcBlockSetTextIconRequest) ProtoMessage() {} +func (*RpcBlockSetTextIconRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_8261c968b2e6f45c, []int{0, 3, 11, 5, 4, 0} +} +func (m *RpcBlockSetTextIconRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RpcBlockSetTextIconRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RpcBlockSetTextIconRequest.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 *RpcBlockSetTextIconRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_RpcBlockSetTextIconRequest.Merge(m, src) +} +func (m *RpcBlockSetTextIconRequest) XXX_Size() int { + return m.Size() +} +func (m *RpcBlockSetTextIconRequest) XXX_DiscardUnknown() { + xxx_messageInfo_RpcBlockSetTextIconRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_RpcBlockSetTextIconRequest proto.InternalMessageInfo + +func (m *RpcBlockSetTextIconRequest) GetContextId() string { + if m != nil { + return m.ContextId + } + return "" +} + +func (m *RpcBlockSetTextIconRequest) GetBlockId() string { + if m != nil { + return m.BlockId + } + return "" +} + +func (m *RpcBlockSetTextIconRequest) GetIconImage() string { + if m != nil { + return m.IconImage + } + return "" +} + +func (m *RpcBlockSetTextIconRequest) GetIconEmoji() string { + if m != nil { + return m.IconEmoji + } + return "" +} + +type RpcBlockSetTextIconResponse struct { + Error *RpcBlockSetTextIconResponseError `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + Event *ResponseEvent `protobuf:"bytes,2,opt,name=event,proto3" json:"event,omitempty"` +} + +func (m *RpcBlockSetTextIconResponse) Reset() { *m = RpcBlockSetTextIconResponse{} } +func (m *RpcBlockSetTextIconResponse) String() string { return proto.CompactTextString(m) } +func (*RpcBlockSetTextIconResponse) ProtoMessage() {} +func (*RpcBlockSetTextIconResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_8261c968b2e6f45c, []int{0, 3, 11, 5, 4, 1} +} +func (m *RpcBlockSetTextIconResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RpcBlockSetTextIconResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RpcBlockSetTextIconResponse.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 *RpcBlockSetTextIconResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_RpcBlockSetTextIconResponse.Merge(m, src) +} +func (m *RpcBlockSetTextIconResponse) XXX_Size() int { + return m.Size() +} +func (m *RpcBlockSetTextIconResponse) XXX_DiscardUnknown() { + xxx_messageInfo_RpcBlockSetTextIconResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_RpcBlockSetTextIconResponse proto.InternalMessageInfo + +func (m *RpcBlockSetTextIconResponse) GetError() *RpcBlockSetTextIconResponseError { + if m != nil { + return m.Error + } + return nil +} + +func (m *RpcBlockSetTextIconResponse) GetEvent() *ResponseEvent { + if m != nil { + return m.Event + } + return nil +} + +type RpcBlockSetTextIconResponseError struct { + Code RpcBlockSetTextIconResponseErrorCode `protobuf:"varint,1,opt,name=code,proto3,enum=anytype.RpcBlockSetTextIconResponseErrorCode" json:"code,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` +} + +func (m *RpcBlockSetTextIconResponseError) Reset() { *m = RpcBlockSetTextIconResponseError{} } +func (m *RpcBlockSetTextIconResponseError) String() string { return proto.CompactTextString(m) } +func (*RpcBlockSetTextIconResponseError) ProtoMessage() {} +func (*RpcBlockSetTextIconResponseError) Descriptor() ([]byte, []int) { + return fileDescriptor_8261c968b2e6f45c, []int{0, 3, 11, 5, 4, 1, 0} +} +func (m *RpcBlockSetTextIconResponseError) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RpcBlockSetTextIconResponseError) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RpcBlockSetTextIconResponseError.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 *RpcBlockSetTextIconResponseError) XXX_Merge(src proto.Message) { + xxx_messageInfo_RpcBlockSetTextIconResponseError.Merge(m, src) +} +func (m *RpcBlockSetTextIconResponseError) XXX_Size() int { + return m.Size() +} +func (m *RpcBlockSetTextIconResponseError) XXX_DiscardUnknown() { + xxx_messageInfo_RpcBlockSetTextIconResponseError.DiscardUnknown(m) +} + +var xxx_messageInfo_RpcBlockSetTextIconResponseError proto.InternalMessageInfo + +func (m *RpcBlockSetTextIconResponseError) GetCode() RpcBlockSetTextIconResponseErrorCode { + if m != nil { + return m.Code + } + return RpcBlockSetTextIconResponseError_NULL +} + +func (m *RpcBlockSetTextIconResponseError) GetDescription() string { + if m != nil { + return m.Description + } + return "" +} + type RpcBlockSetFile struct { } @@ -23244,7 +23492,6 @@ type RpcAccountCreateRequest struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Types that are valid to be assigned to Avatar: // *RpcAccountCreateRequestAvatarOfAvatarLocalPath - // *RpcAccountCreateRequestAvatarOfAvatarColor Avatar IsRpcAccountCreateRequestAvatar `protobuf_oneof:"avatar"` AlphaInviteCode string `protobuf:"bytes,20,opt,name=alphaInviteCode,proto3" json:"alphaInviteCode,omitempty"` } @@ -23291,12 +23538,8 @@ type IsRpcAccountCreateRequestAvatar interface { type RpcAccountCreateRequestAvatarOfAvatarLocalPath struct { AvatarLocalPath string `protobuf:"bytes,2,opt,name=avatarLocalPath,proto3,oneof" json:"avatarLocalPath,omitempty"` } -type RpcAccountCreateRequestAvatarOfAvatarColor struct { - AvatarColor string `protobuf:"bytes,3,opt,name=avatarColor,proto3,oneof" json:"avatarColor,omitempty"` -} func (*RpcAccountCreateRequestAvatarOfAvatarLocalPath) IsRpcAccountCreateRequestAvatar() {} -func (*RpcAccountCreateRequestAvatarOfAvatarColor) IsRpcAccountCreateRequestAvatar() {} func (m *RpcAccountCreateRequest) GetAvatar() IsRpcAccountCreateRequestAvatar { if m != nil { @@ -23319,13 +23562,6 @@ func (m *RpcAccountCreateRequest) GetAvatarLocalPath() string { return "" } -func (m *RpcAccountCreateRequest) GetAvatarColor() string { - if x, ok := m.GetAvatar().(*RpcAccountCreateRequestAvatarOfAvatarColor); ok { - return x.AvatarColor - } - return "" -} - func (m *RpcAccountCreateRequest) GetAlphaInviteCode() string { if m != nil { return m.AlphaInviteCode @@ -23337,7 +23573,6 @@ func (m *RpcAccountCreateRequest) GetAlphaInviteCode() string { func (*RpcAccountCreateRequest) XXX_OneofWrappers() []interface{} { return []interface{}{ (*RpcAccountCreateRequestAvatarOfAvatarLocalPath)(nil), - (*RpcAccountCreateRequestAvatarOfAvatarColor)(nil), } } @@ -31728,6 +31963,8 @@ type RpcObjectSearchSubscribeRequest struct { BeforeId string `protobuf:"bytes,9,opt,name=beforeId,proto3" json:"beforeId,omitempty"` Source []string `protobuf:"bytes,10,rep,name=source,proto3" json:"source,omitempty"` IgnoreWorkspace string `protobuf:"bytes,12,opt,name=ignoreWorkspace,proto3" json:"ignoreWorkspace,omitempty"` + // disable dependent subscription + NoDepSubscription bool `protobuf:"varint,13,opt,name=noDepSubscription,proto3" json:"noDepSubscription,omitempty"` } func (m *RpcObjectSearchSubscribeRequest) Reset() { *m = RpcObjectSearchSubscribeRequest{} } @@ -31833,6 +32070,13 @@ func (m *RpcObjectSearchSubscribeRequest) GetIgnoreWorkspace() string { return "" } +func (m *RpcObjectSearchSubscribeRequest) GetNoDepSubscription() bool { + if m != nil { + return m.NoDepSubscription + } + return false +} + type RpcObjectSearchSubscribeResponse struct { Error *RpcObjectSearchSubscribeResponseError `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` Records []*types.Struct `protobuf:"bytes,2,rep,name=records,proto3" json:"records,omitempty"` @@ -37533,6 +37777,7 @@ func init() { proto.RegisterEnum("anytype.RpcBlockSetTextColorResponseErrorCode", RpcBlockSetTextColorResponseErrorCode_name, RpcBlockSetTextColorResponseErrorCode_value) proto.RegisterEnum("anytype.RpcBlockSetTextStyleResponseErrorCode", RpcBlockSetTextStyleResponseErrorCode_name, RpcBlockSetTextStyleResponseErrorCode_value) proto.RegisterEnum("anytype.RpcBlockSetTextCheckedResponseErrorCode", RpcBlockSetTextCheckedResponseErrorCode_name, RpcBlockSetTextCheckedResponseErrorCode_value) + proto.RegisterEnum("anytype.RpcBlockSetTextIconResponseErrorCode", RpcBlockSetTextIconResponseErrorCode_name, RpcBlockSetTextIconResponseErrorCode_value) proto.RegisterEnum("anytype.RpcBlockSetFileNameResponseErrorCode", RpcBlockSetFileNameResponseErrorCode_name, RpcBlockSetFileNameResponseErrorCode_value) proto.RegisterEnum("anytype.RpcBlockSetImageNameResponseErrorCode", RpcBlockSetImageNameResponseErrorCode_name, RpcBlockSetImageNameResponseErrorCode_value) proto.RegisterEnum("anytype.RpcBlockSetImageWidthResponseErrorCode", RpcBlockSetImageWidthResponseErrorCode_name, RpcBlockSetImageWidthResponseErrorCode_value) @@ -37812,6 +38057,10 @@ func init() { proto.RegisterType((*RpcBlockSetTextCheckedRequest)(nil), "anytype.Rpc.Block.Set.Text.Checked.Request") proto.RegisterType((*RpcBlockSetTextCheckedResponse)(nil), "anytype.Rpc.Block.Set.Text.Checked.Response") proto.RegisterType((*RpcBlockSetTextCheckedResponseError)(nil), "anytype.Rpc.Block.Set.Text.Checked.Response.Error") + proto.RegisterType((*RpcBlockSetTextIcon)(nil), "anytype.Rpc.Block.Set.Text.Icon") + proto.RegisterType((*RpcBlockSetTextIconRequest)(nil), "anytype.Rpc.Block.Set.Text.Icon.Request") + proto.RegisterType((*RpcBlockSetTextIconResponse)(nil), "anytype.Rpc.Block.Set.Text.Icon.Response") + proto.RegisterType((*RpcBlockSetTextIconResponseError)(nil), "anytype.Rpc.Block.Set.Text.Icon.Response.Error") proto.RegisterType((*RpcBlockSetFile)(nil), "anytype.Rpc.Block.Set.File") proto.RegisterType((*RpcBlockSetFileName)(nil), "anytype.Rpc.Block.Set.File.Name") proto.RegisterType((*RpcBlockSetFileNameRequest)(nil), "anytype.Rpc.Block.Set.File.Name.Request") @@ -38314,631 +38563,638 @@ func init() { func init() { proto.RegisterFile("pb/protos/commands.proto", fileDescriptor_8261c968b2e6f45c) } var fileDescriptor_8261c968b2e6f45c = []byte{ - // 9970 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0xbd, 0x69, 0x94, 0x24, 0x57, - 0x75, 0x27, 0xde, 0x99, 0x91, 0x5b, 0xdd, 0xea, 0xea, 0x4e, 0x05, 0x4d, 0xab, 0x78, 0x88, 0x46, - 0x34, 0x52, 0x23, 0x64, 0x91, 0x2d, 0xb5, 0x10, 0x48, 0x42, 0x0b, 0x59, 0x59, 0x59, 0x5d, 0xa9, - 0xae, 0xca, 0x2c, 0x47, 0x66, 0x75, 0xa3, 0x3f, 0xfe, 0x4f, 0x4d, 0x54, 0xe6, 0xab, 0xaa, 0xa0, - 0xa2, 0x32, 0x92, 0x88, 0xc8, 0x6a, 0x15, 0x1f, 0x66, 0x06, 0xb0, 0x87, 0xed, 0xc0, 0x18, 0xbc, - 0x88, 0x65, 0xcc, 0x6a, 0x8c, 0xc1, 0x2c, 0x06, 0x83, 0xc5, 0x32, 0x0c, 0xd8, 0x23, 0x8d, 0x10, - 0xc6, 0x63, 0x34, 0x5e, 0x30, 0xf8, 0xc0, 0x60, 0x69, 0x74, 0xce, 0xcc, 0xc8, 0x1e, 0x8c, 0x87, - 0xb1, 0x0f, 0xf6, 0x61, 0x3c, 0x27, 0x5e, 0xbc, 0x58, 0x5e, 0x56, 0x46, 0xe4, 0x8b, 0xac, 0x88, - 0xac, 0xe6, 0xcc, 0xa7, 0xcc, 0xf7, 0xe2, 0x2d, 0xf7, 0xdd, 0xdf, 0x7d, 0xfb, 0x7d, 0xf7, 0xc2, - 0x6c, 0x6f, 0xfd, 0x6c, 0x4f, 0xd7, 0x4c, 0xcd, 0x38, 0xdb, 0xd6, 0x76, 0x76, 0xe4, 0x6e, 0xc7, - 0x28, 0x91, 0xb0, 0x98, 0x97, 0xbb, 0x7b, 0xe6, 0x5e, 0x0f, 0xa3, 0xeb, 0x7a, 0xdb, 0x9b, 0x67, - 0x55, 0x65, 0xfd, 0x6c, 0x6f, 0xfd, 0xec, 0x8e, 0xd6, 0xc1, 0xaa, 0x93, 0x81, 0x04, 0x68, 0x72, - 0x74, 0x43, 0x50, 0x2a, 0x55, 0x6b, 0xcb, 0xaa, 0x61, 0x6a, 0x3a, 0xa6, 0x29, 0x4f, 0x7a, 0x55, - 0xe2, 0x5d, 0xdc, 0x35, 0x9d, 0x12, 0xae, 0xd9, 0xd4, 0xb4, 0x4d, 0x15, 0xdb, 0xdf, 0xd6, 0xfb, - 0x1b, 0x67, 0x0d, 0x53, 0xef, 0xb7, 0x4d, 0xfb, 0xeb, 0xe9, 0x37, 0x3d, 0x98, 0x01, 0x41, 0xea, - 0xb5, 0xd1, 0xc3, 0x69, 0xc8, 0x2f, 0x63, 0x53, 0x57, 0xda, 0x06, 0xfa, 0x7c, 0x1a, 0x66, 0x9a, - 0xd8, 0x5c, 0x91, 0x75, 0x79, 0x07, 0x9b, 0x58, 0x37, 0xd0, 0xf5, 0x90, 0x97, 0xf0, 0xab, 0xfb, - 0xd8, 0x30, 0x45, 0x04, 0x85, 0x9e, 0x2a, 0x9b, 0x1b, 0x9a, 0xbe, 0x33, 0x9b, 0xba, 0x36, 0x75, - 0xc3, 0x94, 0xe4, 0x86, 0xd1, 0x3f, 0xa5, 0xa0, 0x20, 0x61, 0xa3, 0xa7, 0x75, 0x0d, 0x2c, 0x9e, - 0x87, 0x2c, 0xd6, 0x75, 0x4d, 0x27, 0xa9, 0xa6, 0xcf, 0xdd, 0x52, 0xa2, 0x2d, 0x2f, 0x49, 0xbd, - 0x76, 0x89, 0x56, 0x55, 0x62, 0xaa, 0x29, 0x39, 0x79, 0x4b, 0x55, 0x2b, 0xa3, 0x64, 0xe7, 0x47, - 0x1f, 0x4d, 0x41, 0x96, 0x44, 0x88, 0xf7, 0x41, 0xa6, 0xad, 0x75, 0x30, 0x29, 0xf1, 0xd8, 0xb9, - 0x97, 0x44, 0x2e, 0xb1, 0x54, 0xd1, 0x3a, 0x58, 0x22, 0x65, 0x88, 0xd7, 0xc2, 0x74, 0x07, 0x1b, - 0x6d, 0x5d, 0xe9, 0x99, 0x8a, 0xd6, 0x9d, 0x4d, 0x93, 0xa6, 0xf8, 0xa3, 0x4e, 0x9f, 0x83, 0x8c, - 0x95, 0x5e, 0x2c, 0x40, 0xa6, 0xbe, 0xba, 0xb4, 0x54, 0x3c, 0x22, 0x5e, 0x05, 0x33, 0xab, 0xf5, - 0x0b, 0xf5, 0xc6, 0xa5, 0xfa, 0x5a, 0x55, 0x92, 0x1a, 0x52, 0x31, 0x25, 0xce, 0xc0, 0xd4, 0x5c, - 0x79, 0x7e, 0xad, 0x56, 0x5f, 0x59, 0x6d, 0x15, 0xd3, 0xe8, 0x7f, 0xe4, 0xe0, 0x68, 0xf5, 0x01, - 0x13, 0xeb, 0x5d, 0x59, 0x9d, 0xd7, 0xb5, 0x1e, 0x7a, 0x42, 0x80, 0xec, 0x82, 0xa2, 0x62, 0x03, - 0x7d, 0x32, 0xe5, 0x31, 0xf1, 0x1a, 0x98, 0x6a, 0x6b, 0x5d, 0x13, 0x3f, 0x60, 0xd6, 0x3a, 0x94, - 0x8b, 0x5e, 0x84, 0x78, 0x1a, 0x8e, 0x76, 0x74, 0xad, 0xd7, 0x92, 0xf5, 0x4d, 0x6c, 0x25, 0xb0, - 0x69, 0x63, 0xe2, 0xc4, 0x3b, 0xa0, 0xd0, 0xd3, 0x0c, 0x85, 0xd0, 0x2e, 0x10, 0x76, 0x3c, 0xc7, - 0x65, 0x07, 0x11, 0x94, 0xd2, 0x9c, 0xaa, 0xb5, 0xb7, 0x4b, 0x2b, 0x34, 0x91, 0xe4, 0x26, 0x17, - 0xcf, 0xc0, 0x31, 0x22, 0x3d, 0x16, 0x59, 0x2b, 0xb2, 0xb9, 0x65, 0xcc, 0x66, 0xae, 0x15, 0x6e, - 0x98, 0x92, 0x06, 0x62, 0xd1, 0x47, 0xd2, 0x3e, 0x34, 0xe7, 0x59, 0x34, 0x4b, 0x0c, 0xef, 0xfd, - 0x2d, 0x2e, 0x91, 0xd6, 0x0e, 0x87, 0x52, 0xbc, 0x09, 0xb2, 0x44, 0x38, 0x49, 0x93, 0xa6, 0xcf, - 0x9d, 0xf4, 0x4a, 0xa1, 0xc9, 0xab, 0xd6, 0x57, 0xc9, 0x4e, 0x84, 0x7e, 0xc3, 0x05, 0xfe, 0x3c, - 0x03, 0xfc, 0xad, 0xd1, 0x2a, 0x4f, 0x1e, 0xf5, 0x1f, 0xa5, 0x21, 0x5f, 0xb1, 0xe0, 0xeb, 0x9a, - 0x48, 0xe1, 0x45, 0xf9, 0x0c, 0x1c, 0xdb, 0xd0, 0xda, 0x7d, 0x03, 0x77, 0x08, 0x52, 0x2e, 0xce, - 0x03, 0xb1, 0xe2, 0x2c, 0xe4, 0xdb, 0x76, 0xd9, 0x04, 0xe8, 0xa3, 0x92, 0x13, 0x44, 0x3f, 0xf1, - 0x77, 0xb7, 0x05, 0x16, 0xa0, 0x9b, 0x83, 0x79, 0x44, 0x29, 0x0d, 0xe8, 0x6d, 0xbf, 0xe9, 0x32, - 0xbd, 0xc6, 0x30, 0xfd, 0xb6, 0xa8, 0x05, 0x26, 0xcf, 0xf6, 0x3f, 0x3e, 0x0b, 0x53, 0x84, 0x4b, - 0x4b, 0x8a, 0x61, 0xa2, 0x4f, 0x09, 0x70, 0xb2, 0xa2, 0x75, 0x77, 0xb1, 0x6e, 0x56, 0xb6, 0x14, - 0xb5, 0xa3, 0xe3, 0x6e, 0x4b, 0x5b, 0x91, 0x37, 0xb1, 0x81, 0xda, 0xbc, 0x98, 0x20, 0x28, 0xac, - 0xdb, 0x6c, 0x37, 0x66, 0xd3, 0xa4, 0x53, 0xb8, 0x61, 0xf1, 0x14, 0x80, 0xb6, 0xfe, 0x2a, 0xdc, - 0x36, 0x5b, 0x7b, 0x3d, 0x4c, 0xa0, 0x98, 0x92, 0x7c, 0x31, 0xe8, 0x53, 0xfe, 0xee, 0x22, 0xb1, - 0x68, 0xdc, 0xc5, 0x30, 0xcf, 0xa5, 0xb9, 0x34, 0x9c, 0xde, 0x80, 0xce, 0x33, 0x0b, 0x79, 0x55, - 0xe9, 0xfa, 0x68, 0x73, 0x82, 0xe8, 0xb3, 0x2e, 0x66, 0xab, 0x0c, 0x66, 0xe5, 0x83, 0x54, 0x9b, - 0x3c, 0x7e, 0x7f, 0x2f, 0x40, 0x66, 0x59, 0xdb, 0xc5, 0xe8, 0x1b, 0xa9, 0x38, 0x00, 0xba, 0x01, - 0x8e, 0x9b, 0x64, 0x78, 0xac, 0xb8, 0xf9, 0x6d, 0x94, 0x06, 0xa3, 0xf7, 0x0d, 0xb0, 0x99, 0x11, - 0x03, 0x6c, 0x36, 0xd2, 0x00, 0x8b, 0xde, 0xe7, 0x97, 0x84, 0x97, 0xb3, 0x92, 0x70, 0x63, 0x00, - 0x24, 0x16, 0x1f, 0x62, 0x19, 0x34, 0x3f, 0xe8, 0xca, 0x42, 0x85, 0x91, 0x85, 0xb3, 0xfc, 0x15, - 0x27, 0x8f, 0xfc, 0xef, 0x64, 0x60, 0xc6, 0xaa, 0xb8, 0xa5, 0xd5, 0xf1, 0x65, 0x4b, 0xf8, 0xd0, - 0x9f, 0xc6, 0x22, 0x02, 0xb7, 0x40, 0xbe, 0x83, 0x4d, 0x59, 0x51, 0x0d, 0x02, 0xfd, 0xf4, 0xb9, - 0xab, 0x4b, 0xf6, 0xf2, 0xa7, 0xe4, 0x2c, 0x7f, 0x4a, 0x4d, 0xb2, 0xfc, 0x91, 0x9c, 0x74, 0x49, - 0xcb, 0xc2, 0x63, 0x7e, 0x59, 0xa8, 0xb1, 0xb2, 0x70, 0x6b, 0x08, 0x24, 0x2e, 0x67, 0x02, 0x84, - 0xe2, 0x24, 0xe4, 0xec, 0xde, 0x4f, 0x21, 0xa1, 0x21, 0x4f, 0x58, 0x04, 0x1e, 0x61, 0xf9, 0x2d, - 0x57, 0x58, 0x96, 0x18, 0x61, 0xb9, 0x7d, 0x0c, 0xca, 0x92, 0x97, 0x9a, 0xbf, 0x11, 0x60, 0x6a, - 0xbe, 0xdf, 0x53, 0x95, 0xb6, 0x6c, 0x62, 0xf4, 0xee, 0x28, 0x12, 0x63, 0xb2, 0x6b, 0x29, 0x37, - 0xcc, 0x48, 0x93, 0x30, 0x20, 0x4d, 0x7e, 0xd8, 0x33, 0xd1, 0x60, 0x7f, 0xc4, 0x0f, 0x7b, 0x95, - 0x85, 0x3d, 0xa8, 0x27, 0xba, 0x4d, 0x0b, 0x80, 0x3c, 0x4c, 0xf0, 0xa3, 0xc1, 0xfe, 0x11, 0x17, - 0xf6, 0x45, 0x06, 0xf6, 0x17, 0x47, 0xa4, 0x2c, 0x79, 0xc8, 0x3f, 0x7b, 0x0d, 0x08, 0x4d, 0x6c, - 0xa2, 0x5f, 0x07, 0xc8, 0xb4, 0xf0, 0x03, 0x26, 0xfa, 0x7d, 0x01, 0xb2, 0x4d, 0x73, 0x4f, 0xc5, - 0xe8, 0x75, 0xb1, 0x8c, 0x18, 0x77, 0x43, 0xd6, 0xb0, 0x8a, 0xa3, 0x8b, 0xe8, 0x17, 0x0c, 0x05, - 0xd8, 0x59, 0xe0, 0x58, 0x14, 0x94, 0x48, 0xed, 0x92, 0x9d, 0x0b, 0xfd, 0x8e, 0x1f, 0xe7, 0xfb, - 0x58, 0x9c, 0x83, 0xb8, 0xd9, 0xc4, 0xfe, 0x92, 0x62, 0x19, 0xf4, 0x3f, 0xee, 0x02, 0xba, 0xcc, - 0x00, 0x7a, 0xc7, 0x38, 0x24, 0x24, 0x8f, 0xea, 0x3b, 0x05, 0xc8, 0x56, 0x34, 0x55, 0xd3, 0xd1, - 0xfd, 0x71, 0x60, 0x78, 0x02, 0xb2, 0x6d, 0xab, 0x34, 0x3a, 0xdd, 0xdb, 0x81, 0x83, 0x41, 0x43, - 0xa8, 0x3b, 0x5c, 0x68, 0x86, 0x91, 0x90, 0x3c, 0x34, 0x5f, 0xb2, 0xd6, 0x64, 0xb2, 0xbe, 0x8d, - 0xfe, 0x65, 0x1c, 0xc8, 0xdc, 0x09, 0x99, 0x1d, 0x59, 0xdf, 0xa6, 0xa3, 0xd2, 0x99, 0xd1, 0x9d, - 0xcb, 0xaa, 0x5a, 0x22, 0x79, 0xd0, 0xa7, 0xc7, 0x98, 0x39, 0x5d, 0xe6, 0x59, 0xe5, 0xc4, 0x02, - 0x5f, 0xd4, 0x19, 0x32, 0x8c, 0x82, 0xe4, 0xd1, 0xfb, 0xb8, 0x00, 0xc7, 0xe7, 0xe4, 0xf6, 0xf6, - 0xa6, 0xae, 0xf5, 0xbb, 0x9d, 0xc4, 0xbb, 0xd8, 0x97, 0xfd, 0x10, 0x35, 0x58, 0x88, 0xc2, 0xe4, - 0x7b, 0x80, 0xc4, 0x58, 0x80, 0xfa, 0xb4, 0x0b, 0x94, 0xc4, 0x00, 0x75, 0xcf, 0xd8, 0x74, 0x24, - 0x0f, 0xd7, 0xc7, 0x04, 0xc8, 0x96, 0x55, 0x65, 0xb3, 0x8b, 0xfa, 0x71, 0x80, 0x74, 0x33, 0x64, - 0x65, 0xab, 0x34, 0x3a, 0x97, 0xa1, 0xa1, 0xdd, 0x8d, 0xd4, 0x27, 0xd9, 0x09, 0xd1, 0x47, 0xc7, - 0x58, 0xa6, 0x58, 0x8c, 0x23, 0x85, 0xc4, 0x02, 0x5b, 0xd4, 0xa5, 0x48, 0x50, 0xed, 0xc9, 0x83, - 0xf5, 0xf6, 0x0c, 0xe4, 0x16, 0x14, 0xac, 0x76, 0x0c, 0xf4, 0xe7, 0xdc, 0x4b, 0x8f, 0x8b, 0x30, - 0x4d, 0xe0, 0xb1, 0x33, 0x12, 0xc4, 0xc2, 0x67, 0x1f, 0x3b, 0x61, 0x89, 0x96, 0x6e, 0x7f, 0x24, - 0x71, 0x92, 0xbf, 0x20, 0x74, 0x09, 0xc0, 0xfb, 0x24, 0xce, 0x42, 0x9e, 0x0a, 0x01, 0xa5, 0xc0, - 0x09, 0x8a, 0x67, 0x21, 0xb7, 0xe1, 0x54, 0x1d, 0xba, 0x1f, 0xa2, 0xc9, 0xd0, 0x6f, 0xa5, 0x79, - 0xcf, 0x94, 0x02, 0xe8, 0x3e, 0xb8, 0x48, 0xf0, 0x9d, 0x40, 0x71, 0x54, 0x9f, 0xbc, 0x4c, 0x3c, - 0x2a, 0x80, 0x30, 0xaf, 0xec, 0xa2, 0xaf, 0xb8, 0xab, 0xd2, 0xd7, 0xc6, 0xb2, 0x2a, 0xbd, 0x8b, - 0x5d, 0x95, 0x86, 0x4f, 0x9c, 0xf3, 0xca, 0x2e, 0xbb, 0x28, 0x1d, 0x77, 0xe6, 0x74, 0x0b, 0x3a, - 0xb4, 0x99, 0x33, 0x88, 0x82, 0xe4, 0x91, 0xfc, 0x03, 0x01, 0x32, 0x0b, 0x8a, 0x8a, 0x0f, 0x77, - 0x83, 0x61, 0x51, 0x10, 0xcf, 0x06, 0xc3, 0x2b, 0xe9, 0xd0, 0x56, 0xb1, 0x81, 0x24, 0x24, 0x8f, - 0xe6, 0x17, 0x04, 0x28, 0xb4, 0xfa, 0x7a, 0xb7, 0xd6, 0x35, 0xb5, 0x2b, 0x63, 0xa3, 0xc8, 0x7f, - 0x99, 0xe2, 0x31, 0xd1, 0x69, 0xc1, 0x04, 0x2f, 0x53, 0x46, 0x56, 0x9e, 0x3c, 0x76, 0x8f, 0x7f, - 0x3b, 0x05, 0x59, 0x42, 0x07, 0xfa, 0x8c, 0x60, 0x21, 0xd7, 0x53, 0xe5, 0x36, 0x46, 0x3b, 0xbc, - 0x20, 0xfa, 0x26, 0xc3, 0x34, 0x3b, 0x19, 0xde, 0x08, 0x59, 0xf2, 0x97, 0x6e, 0x47, 0x4e, 0x0c, - 0x83, 0x50, 0xb2, 0x93, 0xa0, 0x87, 0xfc, 0x78, 0xdd, 0xcb, 0xe2, 0xf5, 0xc2, 0xfd, 0x2c, 0x2b, - 0x51, 0x32, 0x83, 0x8f, 0xee, 0x03, 0x68, 0x8a, 0x76, 0x70, 0xf3, 0x01, 0x17, 0xc4, 0x39, 0x06, - 0xc4, 0x12, 0x37, 0x45, 0x13, 0x59, 0xd4, 0xce, 0xac, 0xf6, 0x3a, 0xb2, 0x89, 0x9d, 0x2b, 0xb1, - 0x09, 0x43, 0x17, 0x71, 0x51, 0x5b, 0x62, 0x88, 0x1d, 0xd5, 0xd7, 0xe2, 0x3e, 0x5f, 0x0b, 0xad, - 0x3d, 0x79, 0xb0, 0xbe, 0x93, 0x81, 0x6c, 0xb3, 0xa7, 0x2a, 0x26, 0x7a, 0x77, 0x3a, 0x16, 0x94, - 0x74, 0xb9, 0xbb, 0x89, 0x03, 0x50, 0x92, 0xac, 0x6f, 0x92, 0x9d, 0xc4, 0x1b, 0x4f, 0x33, 0xe3, - 0x8c, 0xa7, 0xe2, 0x1d, 0x90, 0xb1, 0x12, 0xd2, 0xe3, 0xf8, 0xeb, 0x87, 0x30, 0x96, 0x34, 0xcb, - 0x5d, 0x48, 0x2f, 0x13, 0x4e, 0x5a, 0x59, 0x4e, 0xdf, 0x02, 0x19, 0x2b, 0x24, 0x02, 0xe4, 0xe6, - 0x1a, 0xad, 0x56, 0x63, 0xb9, 0x78, 0x44, 0xcc, 0x83, 0xd0, 0x6a, 0xac, 0x14, 0x53, 0xe2, 0x14, - 0x64, 0x6b, 0xf5, 0x7a, 0x55, 0x2a, 0xa6, 0xad, 0xbf, 0xad, 0x5a, 0x6b, 0xa9, 0x5a, 0x14, 0xd8, - 0x59, 0xf8, 0x6e, 0x56, 0xa4, 0x5e, 0x10, 0x52, 0x77, 0x92, 0x63, 0xc1, 0xfb, 0x5c, 0x21, 0x7b, - 0x39, 0x23, 0x64, 0x37, 0x71, 0xd2, 0x93, 0xbc, 0x70, 0xfd, 0xaa, 0x00, 0xd9, 0x65, 0xac, 0x6f, - 0x62, 0xf4, 0xea, 0x08, 0xaa, 0x0f, 0x1b, 0x8a, 0x6e, 0x98, 0xec, 0x95, 0x38, 0x13, 0x27, 0x5e, - 0x07, 0x33, 0x06, 0x6e, 0x6b, 0x5d, 0xf7, 0xde, 0xdc, 0x3e, 0x93, 0x60, 0x23, 0xd1, 0xbb, 0x22, - 0x42, 0x46, 0x08, 0x8d, 0x65, 0xa6, 0x8d, 0x02, 0xcc, 0xb0, 0x5a, 0x93, 0x07, 0xe6, 0xef, 0x04, - 0x2b, 0x53, 0x6f, 0x0f, 0xbd, 0x8b, 0x7b, 0x69, 0x74, 0x13, 0xe4, 0x88, 0x98, 0x3a, 0x7b, 0xd8, - 0xe1, 0x23, 0x30, 0x4d, 0x23, 0xce, 0xc1, 0x55, 0x06, 0x56, 0x71, 0xdb, 0xc4, 0x1d, 0xab, 0xeb, - 0x4a, 0x23, 0x07, 0x85, 0xfd, 0xc9, 0xd1, 0xe3, 0x7e, 0x00, 0xef, 0x62, 0x01, 0x3c, 0x33, 0x84, - 0x95, 0x56, 0x83, 0x82, 0x6f, 0x4e, 0xac, 0x66, 0x34, 0x55, 0xcd, 0x74, 0x2f, 0x80, 0x68, 0xd8, - 0xfa, 0xb6, 0x65, 0xee, 0xa8, 0xe4, 0x9b, 0x2d, 0x48, 0x6e, 0x58, 0x2c, 0x41, 0x5e, 0xee, 0xee, - 0x91, 0x4f, 0x99, 0x90, 0x56, 0x3b, 0x89, 0xd0, 0x7b, 0x5d, 0xe4, 0xef, 0x65, 0x90, 0xff, 0x19, - 0x3e, 0x72, 0x93, 0x07, 0xfe, 0x6f, 0x73, 0x90, 0x5d, 0x91, 0x0d, 0x13, 0xa3, 0xef, 0x09, 0x71, - 0xeb, 0xa9, 0xc4, 0x80, 0xb9, 0x78, 0x23, 0x14, 0x9d, 0xc8, 0x39, 0x67, 0x21, 0x6e, 0x2b, 0x27, - 0xed, 0x8b, 0xb7, 0x86, 0x01, 0xc5, 0x58, 0x91, 0x75, 0xb3, 0xb1, 0x41, 0xe2, 0xc8, 0x54, 0x50, - 0x90, 0xd8, 0x48, 0x06, 0xfa, 0x5c, 0x08, 0xf4, 0xf9, 0x60, 0xe8, 0x0b, 0x1c, 0xd0, 0x8b, 0x65, - 0x28, 0x6c, 0x28, 0x2a, 0x26, 0x19, 0xa6, 0x48, 0x86, 0x61, 0x73, 0x12, 0xe1, 0xbd, 0x3b, 0x27, - 0x59, 0x1b, 0x24, 0xc9, 0xcd, 0x86, 0x96, 0xec, 0x1d, 0xa8, 0x28, 0x42, 0xa6, 0x2b, 0xef, 0x60, - 0x8a, 0x04, 0xf9, 0x6f, 0xc5, 0x75, 0x64, 0x53, 0x26, 0xac, 0x3f, 0x2a, 0x91, 0xff, 0x16, 0x6c, - 0x44, 0x63, 0x6b, 0x45, 0x36, 0xb7, 0xa8, 0xe8, 0x7a, 0x11, 0xe8, 0x0d, 0x42, 0xb4, 0xf1, 0xcf, - 0x21, 0x2d, 0xea, 0xcd, 0xe3, 0x75, 0x30, 0xd3, 0x96, 0x75, 0x6c, 0xae, 0xf8, 0xb5, 0xd1, 0xb2, - 0x12, 0x1b, 0x69, 0x01, 0xab, 0x18, 0x4d, 0x79, 0x07, 0x93, 0xca, 0x2a, 0xd6, 0x37, 0x32, 0xf1, - 0x17, 0xa4, 0x7d, 0xf1, 0xde, 0x68, 0x9b, 0x8d, 0x7b, 0xb4, 0x1d, 0xd6, 0xc6, 0xe4, 0x3b, 0xdd, - 0x07, 0x32, 0x20, 0x54, 0xfa, 0xe6, 0x15, 0x3d, 0xd8, 0xfe, 0xc4, 0x3f, 0xd8, 0xbe, 0x8c, 0x95, - 0x96, 0x61, 0x82, 0x5c, 0xe9, 0x9b, 0x87, 0x3b, 0xd6, 0x46, 0x94, 0x92, 0x5f, 0x73, 0xa5, 0xe4, - 0x1e, 0x46, 0x4a, 0x6e, 0xe4, 0x6a, 0x5b, 0xf2, 0x32, 0xf2, 0x51, 0x01, 0x8e, 0xd5, 0x76, 0x7a, - 0x9a, 0x6e, 0x2e, 0xcb, 0xfa, 0x76, 0x47, 0xbb, 0xdc, 0x45, 0xe7, 0x79, 0xa5, 0xe5, 0x14, 0x80, - 0x42, 0xb2, 0x92, 0x81, 0xc0, 0x26, 0xc8, 0x17, 0x83, 0xfe, 0x30, 0xda, 0x91, 0x6e, 0x89, 0xa5, - 0x23, 0x00, 0xe6, 0x6b, 0x61, 0x5a, 0xd7, 0x34, 0x73, 0x89, 0x51, 0x48, 0xf3, 0x47, 0x45, 0x5c, - 0xcd, 0x46, 0x38, 0xf4, 0x0d, 0x27, 0x70, 0x02, 0x17, 0x01, 0x02, 0xe4, 0xaa, 0x0f, 0x58, 0x24, - 0xa0, 0xd5, 0x44, 0x7a, 0x34, 0xab, 0x4a, 0x78, 0x0f, 0x8b, 0xd8, 0x0d, 0x43, 0x18, 0x62, 0x53, - 0x13, 0x80, 0x94, 0x08, 0x99, 0x9e, 0x27, 0x18, 0xe4, 0x7f, 0x44, 0x6c, 0xde, 0xef, 0x62, 0x53, - 0x66, 0xb0, 0x79, 0x11, 0x2f, 0x29, 0xc9, 0x63, 0xf2, 0xa0, 0x00, 0xb9, 0xd5, 0x9e, 0xaa, 0xc9, - 0x1d, 0xa4, 0x1d, 0x7c, 0x1f, 0x8b, 0xec, 0xc9, 0xdc, 0x37, 0xb1, 0xba, 0x61, 0xb1, 0x08, 0x42, - 0x5f, 0x57, 0xa9, 0x9a, 0x98, 0xf5, 0x17, 0xbd, 0x27, 0x22, 0x5a, 0x36, 0x9d, 0xb1, 0x6c, 0x35, - 0xa2, 0x20, 0x33, 0xb4, 0xda, 0xe4, 0x91, 0xf9, 0x41, 0x1a, 0x0a, 0xf3, 0xda, 0xe5, 0x2e, 0xc1, - 0xa6, 0x7c, 0x60, 0x6c, 0xa2, 0x2a, 0x57, 0x96, 0x9c, 0xba, 0x27, 0xad, 0x5c, 0x19, 0x54, 0x71, - 0xf2, 0x1c, 0xff, 0xe4, 0xcd, 0xb6, 0xce, 0xd4, 0x07, 0x05, 0xf7, 0xc2, 0x52, 0x3f, 0x78, 0x9f, - 0xf0, 0x6e, 0x12, 0x05, 0xbe, 0x9b, 0xc4, 0x0f, 0xf9, 0x81, 0x9a, 0x63, 0x81, 0x1a, 0x7a, 0x46, - 0x11, 0xef, 0x2d, 0xe2, 0xaf, 0xbb, 0x50, 0x55, 0x19, 0xa8, 0x6e, 0x89, 0x52, 0x75, 0xf2, 0x60, - 0x3d, 0x25, 0x40, 0x7e, 0xde, 0x56, 0x45, 0x45, 0x8b, 0x90, 0xb3, 0xff, 0x5a, 0x83, 0xcc, 0x36, - 0xde, 0xa3, 0xf0, 0x58, 0x7f, 0xad, 0xc6, 0xef, 0xca, 0x6a, 0x1f, 0xbb, 0x8d, 0x1f, 0xe4, 0xfe, - 0x45, 0xeb, 0xab, 0x64, 0x27, 0x42, 0x5b, 0xbc, 0x78, 0xdf, 0xeb, 0x29, 0xcc, 0xa6, 0x03, 0x77, - 0x2d, 0xe4, 0x66, 0xce, 0x4e, 0x45, 0x7f, 0x5d, 0xf5, 0x59, 0xf4, 0x61, 0x3f, 0xca, 0x15, 0x16, - 0xe5, 0x17, 0x8d, 0x28, 0x2b, 0x0e, 0x98, 0x3f, 0xec, 0xc2, 0xbc, 0xc0, 0xc0, 0x7c, 0x2e, 0x52, - 0xdd, 0x13, 0xb9, 0x5f, 0x3c, 0x2a, 0x61, 0xc3, 0xd4, 0x95, 0xb6, 0x55, 0x86, 0x81, 0xde, 0x98, - 0x3a, 0x78, 0x9f, 0xac, 0xc2, 0x51, 0xdd, 0x57, 0x26, 0xed, 0x99, 0xcf, 0x1b, 0x7a, 0x94, 0xea, - 0xaf, 0x5c, 0x62, 0xb2, 0xb1, 0xcb, 0x8d, 0x45, 0x16, 0xc3, 0x20, 0x3e, 0xfa, 0x8b, 0x8b, 0x05, - 0xc8, 0x8f, 0xb9, 0x40, 0x5e, 0x60, 0x80, 0x7c, 0x69, 0x74, 0x02, 0x92, 0x47, 0xf3, 0x75, 0x02, - 0x64, 0x88, 0xda, 0xfa, 0x8f, 0xd3, 0x00, 0x35, 0xa3, 0xac, 0xb7, 0xb7, 0x94, 0x5d, 0xdc, 0x41, - 0xf2, 0xc1, 0x31, 0xb5, 0x56, 0xf3, 0x6e, 0x81, 0x04, 0xd1, 0x82, 0xe4, 0x8b, 0x41, 0x6f, 0xf0, - 0x83, 0x75, 0x81, 0x05, 0xeb, 0xb6, 0x00, 0x5e, 0x11, 0x6d, 0x6d, 0x8f, 0xcc, 0x80, 0x97, 0x3f, - 0x9f, 0x70, 0x11, 0xa8, 0x33, 0x08, 0xdc, 0x39, 0x56, 0xa9, 0xc9, 0x83, 0xf0, 0x2b, 0x02, 0x64, - 0x97, 0x64, 0x13, 0x3f, 0x80, 0xde, 0x22, 0x50, 0xed, 0xe0, 0xd5, 0x83, 0xf3, 0x5f, 0x84, 0x8c, - 0x95, 0x86, 0xae, 0xfb, 0xc8, 0xff, 0xa8, 0x4a, 0x31, 0x84, 0x3b, 0x84, 0x32, 0xfb, 0xe2, 0x62, - 0xc2, 0x4a, 0x31, 0xe1, 0xd5, 0x4f, 0xe0, 0xf2, 0x7d, 0x86, 0xa2, 0xf1, 0x98, 0x03, 0xcb, 0x2f, - 0xa7, 0x12, 0xc1, 0x45, 0xbc, 0x1b, 0xb2, 0x3b, 0xb2, 0xbe, 0x6d, 0x90, 0xd5, 0xf8, 0x34, 0xcf, - 0x1d, 0x92, 0xb5, 0x69, 0x34, 0x24, 0x3b, 0x57, 0xe4, 0x8b, 0x42, 0x57, 0xb7, 0x33, 0x36, 0x54, - 0xa3, 0x5c, 0x14, 0x86, 0xd5, 0x9e, 0x3c, 0xa8, 0x6f, 0x73, 0x55, 0xb6, 0x2f, 0x1d, 0x1c, 0xcb, - 0xe1, 0xda, 0xa4, 0xe3, 0xf4, 0xb2, 0x98, 0x95, 0xb5, 0xa3, 0xf6, 0xb2, 0x43, 0x54, 0xd4, 0xfe, - 0xbc, 0xab, 0xa7, 0xf4, 0xaf, 0x62, 0xe8, 0x5d, 0x07, 0xd4, 0x6e, 0x19, 0x1b, 0xba, 0xf8, 0x34, - 0x94, 0xc6, 0x82, 0xee, 0xd0, 0x9e, 0x3f, 0xe4, 0x2b, 0x5b, 0xb8, 0xbd, 0x8d, 0x3b, 0xe8, 0x95, - 0x07, 0xc7, 0x6e, 0x16, 0xf2, 0x6d, 0xbb, 0x34, 0xba, 0x5c, 0x70, 0x82, 0x63, 0x2d, 0xec, 0x6c, - 0x91, 0xb6, 0x0b, 0x38, 0x94, 0x85, 0x5d, 0x08, 0x01, 0xc9, 0x43, 0xf3, 0x0e, 0x47, 0x0d, 0xf0, - 0x4d, 0x02, 0x64, 0xea, 0xf2, 0x0e, 0x8e, 0x69, 0x49, 0x41, 0x2e, 0x74, 0x04, 0xef, 0x42, 0x67, - 0xac, 0xb9, 0x87, 0x28, 0xd4, 0x59, 0x44, 0x1d, 0xca, 0xdc, 0x13, 0x54, 0x7b, 0xf2, 0xa0, 0x7c, - 0x23, 0x0b, 0xd9, 0xda, 0x8e, 0xb5, 0xdc, 0xfe, 0x6e, 0x3a, 0x59, 0x54, 0xf8, 0x5f, 0xd4, 0x7b, - 0x7c, 0x21, 0x94, 0x85, 0xc0, 0x12, 0x79, 0x64, 0x0a, 0x2c, 0x30, 0x79, 0x4e, 0x3f, 0x91, 0x86, - 0xec, 0x25, 0xa5, 0x63, 0x6e, 0xc5, 0x34, 0xcb, 0x5f, 0xb6, 0xca, 0xa2, 0x37, 0x82, 0x76, 0x20, - 0x82, 0x8d, 0x90, 0x41, 0x8e, 0x10, 0xc2, 0x0e, 0x64, 0x23, 0x84, 0xa7, 0xc4, 0xc9, 0x88, 0xf3, - 0x45, 0xa5, 0x83, 0xb5, 0x2b, 0x52, 0x9c, 0x09, 0x65, 0x71, 0x8a, 0x73, 0x60, 0x81, 0xff, 0xcf, - 0x8a, 0xb3, 0xcd, 0x91, 0x38, 0xc5, 0x39, 0xb8, 0xc4, 0xe4, 0x99, 0xfc, 0x15, 0x01, 0x32, 0x4b, - 0x4a, 0x77, 0x1b, 0xfd, 0xae, 0x00, 0x33, 0xf6, 0x93, 0x79, 0x47, 0x07, 0x6b, 0xf3, 0xe0, 0x5c, - 0xbf, 0x0e, 0x66, 0x4c, 0x7f, 0x99, 0x8e, 0xb2, 0x17, 0x13, 0x89, 0xbe, 0xe4, 0x9f, 0x4d, 0xeb, - 0x2c, 0x0a, 0xb7, 0x07, 0xed, 0x90, 0x95, 0xee, 0x76, 0x89, 0xa1, 0x37, 0x96, 0x69, 0xf5, 0xb7, - 0x5d, 0xe8, 0x7e, 0x96, 0x81, 0xee, 0xee, 0x71, 0xc9, 0x48, 0x1e, 0xc1, 0x87, 0x73, 0x16, 0xf7, - 0x54, 0x99, 0xbc, 0x5c, 0x7f, 0xab, 0x00, 0xb9, 0x26, 0x36, 0x2f, 0xe0, 0x3d, 0xd4, 0x3c, 0x38, - 0x7c, 0xf4, 0x20, 0x5b, 0x70, 0x0f, 0xb2, 0xd1, 0x27, 0xd2, 0xd1, 0x3a, 0x8c, 0x43, 0x58, 0xc9, - 0x26, 0x2a, 0x16, 0x8c, 0xa2, 0x74, 0xaf, 0xf0, 0xfa, 0x93, 0x07, 0xe7, 0x23, 0x02, 0x08, 0xe5, - 0x4e, 0x07, 0xed, 0x1e, 0x1c, 0x8c, 0x5b, 0xa1, 0xa0, 0xd3, 0xd6, 0xb8, 0x97, 0x38, 0x03, 0xfa, - 0x21, 0xf4, 0xb3, 0xe4, 0x26, 0x8c, 0xfa, 0x70, 0xc1, 0xe3, 0x57, 0xb9, 0xd3, 0x99, 0xf4, 0xc3, - 0x85, 0xb0, 0xca, 0x27, 0x70, 0xef, 0x26, 0x00, 0x34, 0x3c, 0x7b, 0x40, 0xef, 0x13, 0xec, 0x6b, - 0xb8, 0x65, 0x5e, 0xe0, 0xae, 0x83, 0x19, 0xcf, 0x9c, 0xd0, 0xaa, 0xae, 0x3a, 0x43, 0x1d, 0x13, - 0x89, 0xbe, 0x16, 0x71, 0xab, 0xed, 0x51, 0xe4, 0x1c, 0x9b, 0x1f, 0x18, 0x91, 0x47, 0x22, 0xac, - 0x00, 0x42, 0xab, 0x8f, 0x86, 0x49, 0x23, 0x3a, 0x26, 0xe2, 0xb3, 0xe1, 0x6a, 0x27, 0x45, 0x63, - 0xee, 0xbe, 0x6a, 0xa5, 0xb5, 0xd6, 0xba, 0x7f, 0xa5, 0xba, 0xb6, 0x2a, 0x2d, 0x15, 0x05, 0xf4, - 0x60, 0x1e, 0x0a, 0x73, 0x9a, 0xb6, 0x4d, 0x9e, 0x9b, 0xbf, 0x59, 0x80, 0xec, 0x02, 0x36, 0xdb, - 0x5b, 0x31, 0x0d, 0x7b, 0x7d, 0x17, 0x40, 0xa2, 0x24, 0x10, 0xf5, 0x84, 0xc4, 0xa1, 0xab, 0x44, - 0x68, 0x9a, 0xf8, 0x09, 0x49, 0x68, 0xf5, 0xc9, 0x77, 0xa5, 0x9f, 0x08, 0x70, 0xac, 0xa2, 0x63, - 0xd9, 0xc4, 0xe5, 0x6e, 0xc7, 0x46, 0xe5, 0x17, 0x63, 0x31, 0xf7, 0x72, 0x00, 0xb3, 0x79, 0xfb, - 0x15, 0x3f, 0xbe, 0x15, 0xed, 0xf9, 0xbb, 0xc7, 0x54, 0xb6, 0x69, 0x09, 0xbf, 0x13, 0x88, 0xf0, - 0x30, 0x9e, 0x93, 0xc2, 0xe4, 0xf1, 0x7f, 0x32, 0x43, 0x8f, 0x61, 0xbe, 0x93, 0x81, 0xe3, 0x2e, - 0x2d, 0x54, 0xc1, 0xe7, 0x6f, 0xaf, 0x38, 0x49, 0x60, 0x55, 0x71, 0xb3, 0x03, 0xaa, 0xb8, 0xe2, - 0x9c, 0xad, 0x4e, 0x44, 0xec, 0xc6, 0xe5, 0x38, 0x1e, 0xf4, 0x92, 0x93, 0x16, 0x2b, 0xb5, 0xe4, - 0xe6, 0x63, 0xb5, 0xe1, 0x97, 0x58, 0x59, 0x1b, 0xb6, 0x6c, 0x21, 0x65, 0x0c, 0x70, 0x2e, 0x61, - 0x41, 0xfb, 0xa4, 0x2b, 0x68, 0x0d, 0x46, 0xd0, 0x5e, 0x36, 0x1e, 0x79, 0x13, 0xb0, 0x96, 0x71, - 0x17, 0x14, 0xe6, 0x65, 0x53, 0xde, 0x55, 0xf0, 0x65, 0xf4, 0x7d, 0x01, 0xe0, 0xa2, 0x82, 0x2f, - 0xdb, 0x44, 0x45, 0x78, 0xc7, 0x1d, 0xcc, 0xbe, 0x7b, 0x20, 0x63, 0x15, 0x4d, 0x6f, 0xa7, 0x6e, - 0x0c, 0x7f, 0xc4, 0x4d, 0xe9, 0x28, 0x59, 0x34, 0x48, 0x24, 0x1f, 0xab, 0xb8, 0xc9, 0x71, 0xd5, - 0xcb, 0x94, 0x61, 0xb7, 0x23, 0x8e, 0x89, 0x43, 0x3c, 0x09, 0x39, 0xab, 0x58, 0x77, 0xf3, 0x45, - 0x43, 0x91, 0x2e, 0x8c, 0x47, 0xd3, 0x96, 0x3c, 0xde, 0x0e, 0xc4, 0xf6, 0x93, 0xbb, 0x08, 0xfa, - 0xd8, 0xc1, 0x10, 0x07, 0xb0, 0xe6, 0xc0, 0xd0, 0x7f, 0xee, 0x20, 0xd0, 0xdb, 0xed, 0x8b, 0x65, - 0xcd, 0x30, 0x36, 0xc4, 0x43, 0x69, 0x48, 0x1e, 0xe2, 0xf7, 0x51, 0x88, 0xe7, 0xb1, 0x8a, 0x4d, - 0xcc, 0x6f, 0xfb, 0x86, 0x07, 0xe1, 0x0c, 0x23, 0xfc, 0x07, 0x42, 0xc8, 0x26, 0xef, 0x70, 0x11, - 0x1a, 0x4a, 0x43, 0xf2, 0x08, 0x7d, 0x5d, 0x80, 0xe3, 0x56, 0xf5, 0x4d, 0xef, 0x75, 0x08, 0xbf, - 0xf5, 0x9b, 0xc8, 0x30, 0x11, 0x73, 0xd5, 0x7e, 0xd3, 0x8d, 0x33, 0x3e, 0x23, 0x7d, 0x5f, 0xf1, - 0x43, 0xb8, 0xc2, 0x42, 0x38, 0x92, 0x7d, 0x3e, 0xfa, 0x63, 0xc1, 0xf1, 0x33, 0x2e, 0x8e, 0x4d, - 0x06, 0xc7, 0x7b, 0xc7, 0x27, 0x24, 0x79, 0x30, 0xbf, 0x25, 0xc0, 0x0c, 0xa5, 0xa1, 0xdc, 0x36, - 0x95, 0x5d, 0x8c, 0xde, 0x90, 0xe0, 0xa0, 0x7a, 0x12, 0x72, 0xda, 0xc6, 0x86, 0x41, 0x9f, 0x0e, - 0xcd, 0x48, 0x34, 0x24, 0x9e, 0x80, 0xac, 0xaa, 0xec, 0x28, 0x26, 0x05, 0xd8, 0x0e, 0x44, 0x3e, - 0x13, 0x1c, 0x64, 0xaa, 0xdd, 0xa0, 0x89, 0x9f, 0x09, 0x72, 0x91, 0x91, 0x3c, 0xb2, 0x9f, 0x20, - 0xfa, 0x8a, 0x6d, 0x4d, 0xef, 0xd0, 0xd9, 0xf2, 0x6d, 0xa9, 0x58, 0xf4, 0xea, 0x75, 0x52, 0xa6, - 0x0b, 0xad, 0x1b, 0x16, 0xcf, 0x42, 0xce, 0xfe, 0x4f, 0xe7, 0xcc, 0x60, 0xfd, 0x62, 0x3b, 0x19, - 0x7a, 0x8b, 0x1f, 0xdf, 0x65, 0x16, 0xdf, 0x97, 0x86, 0x31, 0xd6, 0xdf, 0xac, 0x80, 0xf3, 0xf7, - 0x4f, 0xb9, 0x80, 0xad, 0x30, 0x80, 0xdd, 0x35, 0x66, 0xb9, 0x13, 0x79, 0x40, 0x44, 0xf1, 0xa2, - 0x53, 0xdf, 0xff, 0x9f, 0x28, 0x5c, 0xe8, 0x0b, 0x07, 0xe3, 0x7e, 0x8c, 0x13, 0xe0, 0x01, 0xb0, - 0x3a, 0xa4, 0x29, 0xf0, 0x09, 0x17, 0x2b, 0xba, 0xd9, 0x78, 0x47, 0x2a, 0x16, 0xfd, 0x7c, 0xda, - 0x7f, 0x04, 0xae, 0xfe, 0x23, 0x9e, 0x02, 0x30, 0xf1, 0x4e, 0x4f, 0x95, 0x4d, 0xec, 0xce, 0x9a, - 0xbe, 0x18, 0xf4, 0xef, 0x0e, 0x86, 0x70, 0xe8, 0xfe, 0xc3, 0x23, 0x36, 0xcd, 0xd7, 0xd9, 0x0f, - 0x00, 0xf2, 0x21, 0x6d, 0x36, 0x7e, 0x35, 0x03, 0xd3, 0xce, 0x71, 0xf4, 0x61, 0x9e, 0xdf, 0xbf, - 0x4d, 0x88, 0x76, 0x70, 0xe0, 0xe3, 0x9e, 0x4b, 0x7c, 0x2c, 0xbb, 0xc8, 0x6b, 0x61, 0xda, 0x21, - 0xea, 0x82, 0x7b, 0x25, 0xe4, 0x8f, 0x62, 0xda, 0x97, 0xe1, 0x6d, 0x5f, 0x94, 0x53, 0x07, 0x8e, - 0xb6, 0x25, 0x2f, 0x18, 0x4f, 0x0b, 0x70, 0xcc, 0xa9, 0x9f, 0xce, 0xad, 0xef, 0x8c, 0xa1, 0xff, - 0x27, 0xc4, 0xde, 0x88, 0x26, 0x3e, 0xf7, 0xb3, 0x38, 0xc6, 0xcd, 0x68, 0x94, 0x93, 0x4c, 0x3e, - 0x3a, 0x92, 0x47, 0xfb, 0x73, 0x3e, 0xb4, 0xe9, 0xcc, 0xdc, 0x9e, 0x00, 0xd8, 0x07, 0xc7, 0x8d, - 0x6f, 0x86, 0x16, 0x12, 0xc7, 0xed, 0x90, 0xe6, 0xe8, 0xef, 0x66, 0xe0, 0x6a, 0x7b, 0xfe, 0x70, - 0x08, 0x69, 0xf4, 0x9c, 0xa1, 0xfc, 0xa1, 0x89, 0x74, 0xd7, 0x97, 0x40, 0x4e, 0xeb, 0xf9, 0x3a, - 0xeb, 0xa9, 0x80, 0xce, 0x5a, 0xb2, 0x09, 0x93, 0x68, 0x6a, 0x66, 0xd5, 0x96, 0x1d, 0x58, 0xb5, - 0x31, 0x46, 0x21, 0x5e, 0xc1, 0x4a, 0xc5, 0xdc, 0xe8, 0xa9, 0x74, 0x1f, 0x2b, 0x62, 0x99, 0x18, - 0xbc, 0x86, 0x0a, 0x51, 0x1a, 0x8a, 0xbe, 0xe8, 0x8a, 0xd5, 0x2b, 0x19, 0xb1, 0x3a, 0x7f, 0xf0, - 0x86, 0x4c, 0xe0, 0xb2, 0x38, 0x03, 0x68, 0x18, 0x2d, 0x74, 0x46, 0xf8, 0xe9, 0x15, 0xb1, 0x3f, - 0xf5, 0x0f, 0x3c, 0xaf, 0x64, 0x45, 0xac, 0x1a, 0x15, 0x99, 0x18, 0x27, 0x8f, 0x2f, 0xbb, 0xd2, - 0xf2, 0xcf, 0x18, 0x69, 0xb9, 0x2f, 0x16, 0x9a, 0x26, 0xa0, 0x99, 0x1c, 0x20, 0x30, 0x74, 0x52, - 0x79, 0xcf, 0x44, 0x04, 0x06, 0x41, 0xc1, 0x16, 0x01, 0x77, 0xc7, 0xe0, 0x86, 0x27, 0x27, 0x14, - 0x31, 0xee, 0x1d, 0x63, 0x13, 0x8a, 0x43, 0x9a, 0xa5, 0xfe, 0x40, 0x80, 0x67, 0x3a, 0x84, 0x2c, - 0x29, 0x86, 0x59, 0xde, 0x95, 0x15, 0x55, 0x5e, 0x57, 0x71, 0x1c, 0x2f, 0xed, 0xff, 0xa7, 0x1f, - 0xb4, 0x8b, 0x2c, 0x68, 0x2f, 0xe7, 0x99, 0xba, 0x19, 0x8a, 0x02, 0xf0, 0xba, 0x0d, 0xa6, 0x1c, - 0x01, 0x73, 0x9e, 0x20, 0x07, 0xae, 0x4a, 0xbd, 0x94, 0xe8, 0x3f, 0xbb, 0xc0, 0xdd, 0xcf, 0x00, - 0x57, 0x3d, 0x28, 0x5d, 0xd1, 0x30, 0x5b, 0x1a, 0x43, 0x25, 0x65, 0x16, 0x4e, 0xd4, 0x1b, 0xad, - 0xb5, 0xf2, 0xda, 0x7c, 0xb9, 0x55, 0xbe, 0x58, 0xab, 0x5e, 0x5a, 0x9b, 0x5b, 0x6a, 0x54, 0x2e, - 0x14, 0x05, 0xf4, 0x6f, 0x05, 0x98, 0x6a, 0x62, 0xb3, 0xa9, 0xf5, 0xf5, 0x76, 0x5c, 0x77, 0x17, - 0x06, 0x29, 0x8c, 0xba, 0xb6, 0xa1, 0xa1, 0xa8, 0x46, 0x85, 0x3d, 0x0e, 0xba, 0xd4, 0x8d, 0xea, - 0x7d, 0x99, 0x98, 0x8d, 0x0a, 0x8f, 0x26, 0x21, 0xf9, 0xce, 0xf6, 0x41, 0x01, 0x84, 0xf3, 0xd8, - 0x44, 0xef, 0x16, 0x20, 0x4b, 0xde, 0x11, 0xc6, 0x64, 0xd8, 0x94, 0xd7, 0x64, 0x26, 0xfa, 0x80, - 0x1f, 0xb6, 0x32, 0x0b, 0xdb, 0x30, 0x13, 0x73, 0xe7, 0x31, 0x7d, 0xf0, 0x18, 0xcb, 0x58, 0xf9, - 0x21, 0x17, 0xad, 0x79, 0x06, 0xad, 0x9b, 0x23, 0xd4, 0x9c, 0x3c, 0x48, 0x77, 0xc0, 0xf1, 0xd5, - 0x6e, 0x47, 0x93, 0x70, 0x47, 0xab, 0x68, 0xfd, 0xae, 0x89, 0x89, 0x01, 0x9c, 0x7e, 0xb7, 0xa3, - 0x11, 0x72, 0xb3, 0x12, 0xf9, 0x6f, 0xc5, 0xe9, 0xb8, 0xa3, 0x91, 0x5a, 0xb3, 0x12, 0xf9, 0x8f, - 0xde, 0x23, 0x40, 0xc6, 0xca, 0x8b, 0x5e, 0xc0, 0x09, 0x2b, 0xfa, 0xef, 0x11, 0x4d, 0x14, 0x5a, - 0xa5, 0xc7, 0xb2, 0x64, 0xbe, 0x07, 0x0a, 0x6d, 0xbb, 0x75, 0xce, 0xa3, 0xff, 0xd3, 0x01, 0xd5, - 0xf9, 0x18, 0x21, 0xb9, 0x79, 0x7c, 0x17, 0x12, 0xa3, 0x0d, 0x15, 0x0e, 0x21, 0x3a, 0x1a, 0x8c, - 0xf3, 0x63, 0x0c, 0x92, 0x45, 0x38, 0x5a, 0x29, 0xd7, 0xd7, 0xac, 0x81, 0x72, 0xb9, 0x71, 0xb1, - 0x5a, 0x14, 0x08, 0x3a, 0x56, 0x63, 0x92, 0x43, 0xc7, 0x2a, 0xfd, 0xa7, 0x0e, 0x9d, 0x21, 0x44, - 0x1f, 0x06, 0x3a, 0x1f, 0x11, 0x20, 0xd3, 0xe8, 0xe1, 0x6e, 0x4c, 0xef, 0x19, 0x4d, 0x5d, 0x6e, - 0x63, 0xf7, 0xd6, 0xc1, 0x09, 0xa2, 0xdf, 0x8b, 0x88, 0xa8, 0x45, 0x51, 0x2c, 0x63, 0xdf, 0xd7, - 0x22, 0x20, 0x32, 0xa4, 0xd2, 0x68, 0x88, 0xfc, 0xdc, 0x18, 0x88, 0xcc, 0xc0, 0x94, 0x85, 0xc6, - 0x42, 0x63, 0xb5, 0x3e, 0x5f, 0x14, 0xc4, 0x67, 0xc1, 0x33, 0xcb, 0xf5, 0xfb, 0x89, 0xaa, 0x6b, - 0xbd, 0x5a, 0x9d, 0x6f, 0xae, 0xad, 0xae, 0x9c, 0x97, 0xca, 0xf3, 0xd5, 0x22, 0x10, 0xa4, 0x9a, - 0x5b, 0xda, 0xe5, 0x2b, 0x0b, 0x29, 0x8b, 0xa2, 0x89, 0x23, 0x35, 0xa4, 0xd2, 0x2b, 0x09, 0xa9, - 0xaf, 0xa7, 0xe1, 0xf8, 0x79, 0x6c, 0xae, 0xf4, 0xd7, 0x55, 0xa5, 0x7d, 0x09, 0xaf, 0xaf, 0x4a, - 0x4b, 0xe8, 0xf9, 0x1e, 0x68, 0x81, 0x4e, 0x5f, 0xd0, 0xdb, 0x23, 0x3e, 0xb1, 0x18, 0xa8, 0x24, - 0x00, 0x07, 0xaa, 0xf5, 0x98, 0xf6, 0xf4, 0x5f, 0xa3, 0x3c, 0xa3, 0x08, 0xaf, 0x23, 0xf9, 0x75, - 0xc1, 0x7b, 0x05, 0x38, 0x6e, 0xf5, 0xcc, 0x39, 0x1d, 0xcb, 0x9d, 0xb6, 0xde, 0xdf, 0x59, 0x37, - 0x22, 0xed, 0x91, 0x1c, 0x39, 0x4f, 0xb3, 0x72, 0xfe, 0x68, 0x44, 0x56, 0x0f, 0x90, 0x90, 0xb0, - 0x46, 0x66, 0x14, 0x80, 0xc2, 0x29, 0x4b, 0x1e, 0xa0, 0xd7, 0x0a, 0x70, 0xac, 0x89, 0xcd, 0x00, - 0x7c, 0xae, 0x83, 0x99, 0x75, 0xef, 0x8b, 0x8b, 0x11, 0x1b, 0x69, 0x89, 0xa8, 0xe2, 0x1a, 0xa3, - 0xb4, 0xfe, 0x8e, 0x63, 0x98, 0x60, 0x34, 0x3c, 0x89, 0x1a, 0x26, 0x38, 0x4c, 0x0c, 0xfe, 0x5a, - 0x80, 0x1c, 0xbd, 0x92, 0xfe, 0x58, 0x2c, 0x4a, 0xd6, 0x11, 0xdc, 0x36, 0x1c, 0xc4, 0xdb, 0xea, - 0xe7, 0x22, 0x5a, 0x60, 0x0c, 0xbd, 0x9b, 0x8e, 0xab, 0xf3, 0x45, 0xb1, 0xcd, 0x78, 0x48, 0x77, - 0xd4, 0x7f, 0x9d, 0x01, 0xb0, 0xab, 0x26, 0xc6, 0xac, 0x5e, 0xc7, 0xed, 0x02, 0x62, 0x0c, 0x3f, - 0xcb, 0xac, 0xba, 0x41, 0x76, 0x50, 0xdd, 0x80, 0x5b, 0x57, 0x3f, 0x9a, 0x68, 0xf8, 0xcc, 0x16, - 0xe6, 0xf8, 0xcc, 0x16, 0x7e, 0x3b, 0xa2, 0xd9, 0x42, 0x8f, 0x7f, 0x91, 0xe5, 0xc9, 0xdf, 0x64, - 0x61, 0xa0, 0xc9, 0xd1, 0x4e, 0x52, 0xa2, 0x18, 0x3b, 0x0c, 0x24, 0x38, 0x79, 0x79, 0xfb, 0x4f, - 0x19, 0x98, 0xb2, 0xab, 0x6f, 0x62, 0x13, 0x3d, 0x16, 0xcb, 0x10, 0x13, 0x70, 0xc6, 0xe5, 0x17, - 0xd1, 0x0c, 0xa7, 0x88, 0x1e, 0xc0, 0xcd, 0xf7, 0x8f, 0x22, 0x1e, 0xcd, 0xb8, 0x5c, 0x38, 0x44, - 0xa1, 0xf9, 0x6a, 0x84, 0x03, 0x9d, 0x20, 0x7a, 0x0f, 0xf9, 0x05, 0xdf, 0xd3, 0x69, 0xc8, 0xad, - 0x76, 0x55, 0xa5, 0xbb, 0x8d, 0x2a, 0x31, 0x38, 0xf9, 0x8a, 0x6e, 0xca, 0x97, 0xd4, 0x3d, 0x79, - 0x53, 0xbe, 0xc3, 0xaa, 0x9d, 0x80, 0xc9, 0xa9, 0x34, 0x64, 0x2b, 0xaa, 0x66, 0xc4, 0x72, 0xbb, - 0xf0, 0x74, 0x2a, 0x9a, 0x7f, 0x02, 0x52, 0x71, 0x80, 0xba, 0x66, 0x14, 0x1f, 0x00, 0xc3, 0xca, - 0x49, 0x9e, 0x75, 0x7f, 0x71, 0x14, 0xa6, 0x2e, 0x69, 0xfa, 0xb6, 0xd1, 0x93, 0xdb, 0x18, 0x7d, - 0x21, 0x0d, 0x70, 0x1e, 0x9b, 0x95, 0xbe, 0xae, 0x5b, 0xd0, 0x4f, 0xb9, 0xdc, 0x64, 0xad, 0x1b, - 0x87, 0xae, 0x57, 0xdd, 0xd2, 0x4a, 0x5e, 0x49, 0xc1, 0xb6, 0xda, 0x2f, 0x3b, 0xa9, 0x5d, 0x20, - 0xfc, 0x51, 0x9c, 0x6b, 0x54, 0x8e, 0x2a, 0x93, 0xe7, 0xe4, 0xa7, 0xd2, 0x90, 0x3b, 0x8f, 0xcd, - 0xb2, 0xaa, 0xfa, 0xf9, 0xf6, 0x2e, 0xee, 0x59, 0x9b, 0x69, 0x44, 0x59, 0x55, 0x03, 0x78, 0x76, - 0x1a, 0x8e, 0xfa, 0x18, 0xe4, 0x8c, 0x14, 0x4c, 0x1c, 0xe7, 0xac, 0x3b, 0xa2, 0xc2, 0xe4, 0x39, - 0xf6, 0x7b, 0x69, 0x77, 0x55, 0xff, 0x1c, 0xaf, 0xdf, 0x0e, 0xf1, 0x32, 0x82, 0x1e, 0x1c, 0x83, - 0x8b, 0xa1, 0x6b, 0xe9, 0xd1, 0x92, 0x17, 0x95, 0x87, 0x87, 0xb4, 0x52, 0x7e, 0x3a, 0x0d, 0xc5, - 0x26, 0x36, 0x6b, 0xc6, 0xa2, 0xb2, 0xb9, 0xa5, 0x2a, 0x9b, 0x5b, 0x26, 0xee, 0xa0, 0x0b, 0x1e, - 0x37, 0x11, 0x14, 0xec, 0x67, 0xfa, 0xee, 0x20, 0xe8, 0x86, 0x6d, 0x47, 0x35, 0xbe, 0x7c, 0x84, - 0x26, 0xe2, 0xa8, 0xc6, 0x5f, 0xd8, 0x9b, 0xb8, 0x1f, 0x78, 0x7a, 0xcc, 0x18, 0xa4, 0x28, 0x60, - 0x78, 0xe4, 0x53, 0x91, 0xe4, 0x2e, 0x76, 0x02, 0x8f, 0x0f, 0xd2, 0x90, 0x6b, 0x12, 0x1f, 0x25, - 0xe8, 0x67, 0x3c, 0x1e, 0x0f, 0x08, 0x53, 0x6a, 0xbf, 0x30, 0xfd, 0xef, 0x54, 0x74, 0xf9, 0xb5, - 0xeb, 0x09, 0xe0, 0x5c, 0x54, 0xe9, 0x1c, 0x5a, 0xd8, 0x04, 0x0c, 0xb8, 0x14, 0x20, 0x77, 0x49, - 0x56, 0x55, 0x6c, 0xa2, 0xef, 0x79, 0x9d, 0xfd, 0x7a, 0x46, 0x3c, 0x75, 0x4d, 0xb3, 0x1d, 0x84, - 0x50, 0xf1, 0x74, 0xc2, 0xe8, 0xe3, 0xdc, 0x9e, 0x2e, 0xed, 0x2a, 0xc2, 0x7b, 0x3c, 0x82, 0xc2, - 0x4e, 0x17, 0xef, 0x68, 0x5d, 0xa5, 0xed, 0x2c, 0xd5, 0x9d, 0x30, 0xfa, 0x7d, 0x2e, 0xef, 0x95, - 0x61, 0xb5, 0x44, 0x63, 0x65, 0x73, 0x8c, 0xe5, 0xe6, 0x73, 0xe1, 0xd9, 0x0b, 0xe5, 0xda, 0x52, - 0x75, 0x7e, 0xad, 0xd5, 0x58, 0xab, 0x48, 0xd5, 0x72, 0xab, 0xba, 0xb6, 0xd4, 0xa8, 0x94, 0x97, - 0xd6, 0xa4, 0xea, 0x4a, 0xa3, 0x88, 0xd1, 0x5f, 0x92, 0x4d, 0x72, 0x5b, 0xdb, 0xc5, 0xba, 0x7f, - 0x19, 0x14, 0xc2, 0xe1, 0x50, 0x9e, 0xbc, 0x83, 0xdb, 0x9d, 0x01, 0xe5, 0x0b, 0xad, 0x3b, 0x40, - 0x60, 0xff, 0x03, 0x97, 0x83, 0x82, 0xd0, 0xa2, 0xae, 0x00, 0x1e, 0xff, 0x28, 0x0d, 0xf9, 0x8a, - 0xd6, 0xdd, 0xc5, 0xba, 0x89, 0xee, 0x65, 0x78, 0xec, 0xf2, 0x31, 0xc5, 0xf2, 0xd1, 0x5a, 0x68, - 0xe2, 0xae, 0xa9, 0x6b, 0xbd, 0x3d, 0x67, 0xa1, 0x49, 0x83, 0xac, 0x01, 0x1b, 0x1e, 0x0e, 0xd3, - 0x9a, 0x83, 0x77, 0x66, 0xc3, 0x2b, 0x62, 0xc8, 0x13, 0x06, 0x60, 0xfe, 0x60, 0x14, 0x5c, 0x86, - 0x13, 0x90, 0xfc, 0x30, 0xf2, 0xc6, 0x13, 0x90, 0x2f, 0xb7, 0xc9, 0x35, 0x24, 0x7a, 0x2a, 0x05, - 0xb9, 0x8a, 0xd6, 0xdd, 0x50, 0x36, 0xc5, 0x33, 0x70, 0x0c, 0x77, 0xe5, 0x75, 0x15, 0x3b, 0x3a, - 0x18, 0x84, 0xf6, 0x82, 0x34, 0x10, 0x6b, 0x11, 0x45, 0x63, 0xf0, 0x7a, 0x7f, 0x93, 0xce, 0x72, - 0xfe, 0x28, 0xf1, 0x1e, 0x40, 0x76, 0x50, 0xc2, 0x2a, 0x96, 0x0d, 0x5c, 0xd9, 0x92, 0xbb, 0x5d, - 0xac, 0x36, 0x2f, 0x2b, 0x66, 0x7b, 0x8b, 0x1a, 0x2f, 0x0d, 0x49, 0x61, 0x2d, 0xca, 0xec, 0xaf, - 0x4d, 0x6b, 0xb4, 0x35, 0xa8, 0x07, 0x31, 0x26, 0x4e, 0x7c, 0x11, 0x64, 0xf1, 0x03, 0xa6, 0x2e, - 0xcf, 0x76, 0xc2, 0x77, 0xfd, 0x76, 0x2a, 0xf4, 0x68, 0xd6, 0x1d, 0x2f, 0x3f, 0x90, 0x0a, 0x5d, - 0x1d, 0x89, 0x37, 0xc2, 0x71, 0x79, 0x57, 0x36, 0x65, 0x7d, 0xc9, 0x35, 0xf5, 0x40, 0x18, 0xbf, - 0x78, 0x44, 0x1a, 0xfc, 0x20, 0x9e, 0x86, 0x69, 0x3b, 0xaa, 0xe2, 0xd9, 0x39, 0x5e, 0x3c, 0x22, - 0xf9, 0x23, 0xc5, 0x1b, 0xe0, 0xb8, 0xac, 0xf6, 0xb6, 0xe4, 0x5a, 0x77, 0x57, 0x31, 0xb1, 0x85, - 0xd6, 0xec, 0x09, 0x52, 0xdd, 0x60, 0xf4, 0x5c, 0x01, 0x72, 0x76, 0x46, 0xf4, 0xce, 0x0c, 0xaf, - 0x30, 0x53, 0x20, 0xc3, 0x47, 0xeb, 0x9b, 0x21, 0x2f, 0xdb, 0xe9, 0xf6, 0x6d, 0x52, 0xed, 0x03, - 0x0f, 0x5a, 0x8a, 0xe4, 0x24, 0x13, 0x6f, 0x85, 0x5c, 0x9b, 0x88, 0x05, 0x3d, 0xf8, 0x7b, 0xf6, - 0xf0, 0x4a, 0x49, 0x12, 0x89, 0x26, 0x25, 0x76, 0xf8, 0x46, 0x4b, 0x7f, 0x28, 0xc5, 0xd1, 0xa4, - 0xff, 0x87, 0xa9, 0x31, 0x86, 0xa5, 0x9b, 0xe0, 0x86, 0x72, 0xa5, 0xd2, 0x58, 0xad, 0xb7, 0xe8, - 0xa0, 0x34, 0xbf, 0x36, 0xb7, 0xda, 0x5a, 0xf3, 0x86, 0xaa, 0x66, 0xab, 0x2c, 0xb5, 0xd6, 0xea, - 0x8d, 0xf9, 0x6a, 0xd1, 0x92, 0x86, 0x33, 0x23, 0x52, 0x57, 0x5b, 0x6b, 0xf5, 0xf2, 0x72, 0xb5, - 0xb8, 0xc1, 0x51, 0x72, 0xb5, 0xb5, 0x56, 0xbe, 0x58, 0x6e, 0x95, 0xa5, 0xe2, 0x26, 0x3b, 0x3c, - 0x36, 0x5b, 0x8d, 0x95, 0x35, 0x69, 0xb5, 0x5e, 0xaf, 0xd5, 0xcf, 0xdb, 0x55, 0x6f, 0x89, 0x27, - 0xe0, 0xb8, 0x4d, 0xf7, 0xc5, 0x5a, 0xab, 0xba, 0x56, 0xb1, 0x22, 0x7f, 0x3e, 0x8f, 0xde, 0x9a, - 0xf1, 0x26, 0x26, 0xdf, 0xce, 0xe8, 0xef, 0x04, 0xde, 0x93, 0x29, 0x87, 0xff, 0xe1, 0x33, 0xcc, - 0x6f, 0x08, 0x3c, 0xa7, 0x46, 0xe1, 0x65, 0x45, 0x03, 0xf3, 0xb3, 0xe9, 0x31, 0xc0, 0x7c, 0x26, - 0x5c, 0x55, 0x6f, 0xac, 0x51, 0xae, 0x37, 0xe9, 0x75, 0xab, 0x55, 0xdb, 0x35, 0xf5, 0xaa, 0xcd, - 0x59, 0xa9, 0x5a, 0x69, 0x5c, 0xac, 0x4a, 0x6b, 0x97, 0xca, 0x4b, 0x4b, 0xd5, 0xd6, 0xda, 0x42, - 0x4d, 0x6a, 0xb6, 0x8a, 0x1b, 0xa3, 0x26, 0xa7, 0x4d, 0xf1, 0xf9, 0xf0, 0x5c, 0x2f, 0xbc, 0x56, - 0x7d, 0x45, 0xad, 0xd9, 0x6a, 0x12, 0x38, 0x2b, 0x0d, 0x49, 0x5a, 0x5d, 0x69, 0x55, 0xe7, 0x8b, - 0x5b, 0xe2, 0x49, 0x10, 0xbd, 0x52, 0xa4, 0xd5, 0xba, 0x0d, 0x9d, 0x62, 0xd5, 0x4f, 0xeb, 0x73, - 0xaa, 0xaf, 0x37, 0x5a, 0x6b, 0x2b, 0x55, 0x69, 0xa1, 0x21, 0x2d, 0x57, 0xe7, 0x8b, 0xaf, 0x1a, - 0x85, 0xfe, 0xb6, 0x78, 0x06, 0x4e, 0x97, 0xeb, 0x8d, 0xd6, 0x62, 0x55, 0x5a, 0x73, 0x6e, 0x8e, - 0x57, 0xa4, 0x46, 0xa5, 0xda, 0x6c, 0xae, 0xd5, 0x9a, 0x4e, 0xe2, 0xa2, 0x8a, 0xbe, 0x9c, 0x75, - 0x17, 0xd1, 0xb7, 0x79, 0x03, 0xdb, 0x31, 0x48, 0x2b, 0xce, 0xda, 0x39, 0xad, 0x74, 0x98, 0x75, - 0x4b, 0x7a, 0x60, 0x65, 0xf8, 0x8f, 0x91, 0x07, 0x9b, 0xb0, 0xc5, 0xf4, 0xa4, 0x06, 0x9b, 0x47, - 0x84, 0x28, 0x83, 0x4d, 0x0c, 0x2b, 0xf6, 0x3f, 0x49, 0x27, 0xb0, 0x06, 0xe2, 0x11, 0xb3, 0x8d, - 0x00, 0x31, 0x1b, 0x18, 0x42, 0x16, 0x6a, 0xf5, 0x79, 0xa7, 0x27, 0xac, 0xd5, 0xea, 0x0b, 0x8d, - 0xe2, 0x96, 0x58, 0x82, 0x1b, 0x7d, 0xa5, 0x5b, 0x32, 0x48, 0x6b, 0x28, 0xd7, 0xe7, 0xd7, 0x96, - 0xeb, 0xd5, 0xe5, 0x46, 0xbd, 0x56, 0x21, 0xf1, 0xcd, 0x6a, 0xcb, 0x96, 0xdb, 0x01, 0xa9, 0x6c, - 0x56, 0xcb, 0x52, 0x65, 0x91, 0x08, 0xf0, 0x7c, 0xb5, 0xf8, 0x2a, 0xf1, 0x05, 0xf0, 0x7c, 0x1f, - 0x29, 0x54, 0xb8, 0x57, 0xa4, 0xea, 0x7c, 0x75, 0xa1, 0x56, 0xb7, 0x06, 0xbc, 0xa5, 0x46, 0xe5, - 0x42, 0x33, 0x82, 0xfc, 0xfe, 0x43, 0x1a, 0x32, 0x4d, 0x53, 0xeb, 0xa1, 0x17, 0x7a, 0xd2, 0x7b, - 0x0a, 0x40, 0xc7, 0x3b, 0xda, 0x2e, 0x59, 0x74, 0xd0, 0x65, 0x88, 0x2f, 0x06, 0xfd, 0x47, 0xee, - 0xf3, 0x5b, 0x17, 0x7f, 0x53, 0xeb, 0x05, 0x8c, 0x74, 0x3f, 0xe6, 0x3a, 0x91, 0x0d, 0x29, 0x28, - 0x9a, 0x18, 0xbd, 0x79, 0x9c, 0x39, 0x0b, 0xc1, 0x49, 0x17, 0xd9, 0x26, 0xc1, 0xcb, 0x61, 0x20, - 0x16, 0xaf, 0x86, 0x67, 0x0c, 0x60, 0x46, 0xa0, 0xda, 0x10, 0x9f, 0x07, 0xcf, 0xf1, 0x43, 0xb5, - 0xdc, 0xb8, 0x58, 0x75, 0xe5, 0x63, 0xbe, 0xdc, 0x2a, 0x17, 0x37, 0xd1, 0x57, 0x04, 0x10, 0x96, - 0xb4, 0x4d, 0xf4, 0x90, 0x00, 0x99, 0x26, 0xee, 0x76, 0x98, 0xfb, 0xe0, 0x59, 0xc8, 0xef, 0x60, - 0xc3, 0x90, 0x37, 0x9d, 0xf5, 0x91, 0x13, 0x14, 0xef, 0x80, 0xac, 0x8a, 0x77, 0xb1, 0xad, 0x25, - 0x72, 0xec, 0xdc, 0xf3, 0x19, 0x4e, 0x2d, 0x69, 0x9b, 0x25, 0xab, 0x2c, 0xd7, 0xff, 0xed, 0x92, - 0x95, 0x54, 0xb2, 0x73, 0x9c, 0xbe, 0x0f, 0xb2, 0x24, 0x2c, 0x4e, 0x41, 0x76, 0xbe, 0x3a, 0xb7, - 0x7a, 0xbe, 0x78, 0xc4, 0xfa, 0xeb, 0xb4, 0x7b, 0x0a, 0xb2, 0x0b, 0xe5, 0x56, 0x79, 0xa9, 0x98, - 0xb6, 0xf8, 0x43, 0xa4, 0x58, 0xb0, 0x22, 0x57, 0xca, 0xf5, 0x5a, 0xa5, 0x98, 0x11, 0xa7, 0x21, - 0x7f, 0xa9, 0x2c, 0x91, 0x96, 0x67, 0xd1, 0x6b, 0xfd, 0x62, 0x70, 0x27, 0x2b, 0x06, 0xd7, 0x05, - 0xd1, 0x34, 0x4c, 0x04, 0x3e, 0xef, 0x8a, 0xc0, 0xdd, 0x8c, 0x08, 0xbc, 0x90, 0xa7, 0x90, 0x68, - 0xf0, 0xd7, 0x0f, 0xaa, 0x4b, 0x84, 0x2d, 0x1e, 0xb4, 0x6a, 0xcb, 0xd5, 0xc6, 0x6a, 0xab, 0xb8, - 0x81, 0xfe, 0x26, 0x0d, 0xf9, 0x8b, 0x58, 0x37, 0x14, 0xad, 0x8b, 0xfe, 0x6b, 0xda, 0xd6, 0x5c, - 0xf6, 0x2d, 0x0b, 0x1e, 0xe7, 0x76, 0x8f, 0x4e, 0x0b, 0x21, 0x3a, 0xbd, 0x81, 0x5b, 0xa2, 0x5d, - 0x3b, 0x91, 0xb3, 0x25, 0xa2, 0x41, 0xeb, 0x8b, 0xff, 0x9e, 0x78, 0xca, 0xf3, 0x1b, 0xf6, 0x38, - 0xd7, 0x91, 0x7d, 0x70, 0xdd, 0xd1, 0x98, 0xdb, 0x19, 0x83, 0xb9, 0x27, 0xa0, 0x78, 0xb1, 0x2a, - 0x35, 0x6b, 0x8d, 0xba, 0xd5, 0xb5, 0xaa, 0xcb, 0x2b, 0xad, 0xfb, 0x8b, 0x42, 0x28, 0xcb, 0xdf, - 0xef, 0x38, 0x0f, 0x78, 0x50, 0x80, 0x7c, 0x63, 0x63, 0x83, 0x58, 0xab, 0xab, 0x06, 0xcf, 0xbd, - 0x37, 0x42, 0x51, 0xe9, 0xb6, 0xd5, 0x7e, 0x07, 0xd7, 0x35, 0x73, 0x45, 0xe9, 0x76, 0xdd, 0xb3, - 0xc1, 0x7d, 0xf1, 0xe8, 0x61, 0xee, 0x91, 0x8d, 0x98, 0x56, 0xa3, 0xb5, 0x07, 0x00, 0x76, 0x06, - 0x8e, 0xad, 0xef, 0x99, 0xd8, 0xa0, 0xa9, 0x68, 0xb5, 0x19, 0x69, 0x20, 0x16, 0xfd, 0x11, 0xd7, - 0x08, 0x18, 0x52, 0x61, 0x34, 0x94, 0xe4, 0xf1, 0x50, 0xb2, 0x46, 0x35, 0x7b, 0xaa, 0xb2, 0xd6, - 0xe7, 0xd5, 0xf9, 0xe2, 0x26, 0x19, 0xfa, 0x6a, 0x4b, 0x76, 0xec, 0xfd, 0xd5, 0xd6, 0xda, 0x4a, - 0xad, 0x5e, 0xb7, 0xd6, 0x65, 0xd6, 0xe2, 0xa0, 0x60, 0xd1, 0xbb, 0xa4, 0x18, 0x26, 0xfa, 0xbc, - 0x0f, 0xa6, 0x06, 0x33, 0xbc, 0x69, 0x5d, 0x75, 0xaf, 0xd6, 0x31, 0x66, 0x53, 0xe4, 0xd4, 0xdf, - 0x09, 0x46, 0x02, 0xec, 0x2f, 0xb8, 0xcf, 0xd2, 0x1d, 0x7a, 0x46, 0x83, 0xb6, 0xa1, 0xa8, 0x83, - 0xa0, 0x65, 0xa5, 0x81, 0xd8, 0x21, 0xe0, 0x0a, 0x43, 0xc1, 0xfd, 0x22, 0xd7, 0xd9, 0xe6, 0x08, - 0xe2, 0xa2, 0x01, 0xbc, 0x18, 0x17, 0xc0, 0xe8, 0x97, 0xd2, 0x50, 0x68, 0x6e, 0xf5, 0x4d, 0xe2, - 0x29, 0xd9, 0x37, 0xac, 0xfd, 0x63, 0x8a, 0x77, 0xe4, 0x77, 0x72, 0x07, 0x8c, 0xfc, 0x9f, 0xe1, - 0x1a, 0xf9, 0x03, 0x0a, 0x39, 0x1c, 0xae, 0x60, 0xf4, 0x54, 0xc6, 0x39, 0xb4, 0x41, 0xdf, 0xc9, - 0xec, 0x1b, 0xf2, 0x1f, 0xcd, 0xf0, 0xea, 0xe4, 0xda, 0x65, 0x84, 0x8c, 0xf8, 0xd7, 0xc2, 0xf4, - 0x96, 0x46, 0x9d, 0xb6, 0x7b, 0xf7, 0x3a, 0xbe, 0x28, 0x4b, 0x0a, 0x65, 0xdb, 0x31, 0x1c, 0x6b, - 0xb8, 0x7d, 0x20, 0xd6, 0x4a, 0xd7, 0xd3, 0x35, 0x4b, 0x84, 0x9d, 0x74, 0xf6, 0xbb, 0xc2, 0x81, - 0x58, 0xf1, 0x26, 0xb8, 0x6a, 0x47, 0xd6, 0xb7, 0xb1, 0xd9, 0x53, 0xe5, 0x36, 0x31, 0x89, 0xe9, - 0x6a, 0x11, 0xed, 0xff, 0x20, 0xbe, 0x18, 0x9e, 0xe9, 0x8b, 0x74, 0xde, 0x7d, 0xd5, 0x3a, 0x44, - 0x09, 0x68, 0x4a, 0x1a, 0xfe, 0x71, 0x20, 0x57, 0xcb, 0xd3, 0x56, 0xca, 0xef, 0xcb, 0xd5, 0x62, - 0x14, 0x97, 0x3a, 0x78, 0x57, 0x21, 0x77, 0x12, 0x05, 0x7b, 0x07, 0xe5, 0x84, 0xad, 0xf5, 0xea, - 0xa6, 0x6c, 0xe2, 0xcb, 0xf2, 0xde, 0xaa, 0xae, 0xce, 0x62, 0x5b, 0xe9, 0xc9, 0x8b, 0x41, 0x9f, - 0xe5, 0xd2, 0x56, 0x0e, 0x84, 0xe3, 0xb0, 0xe4, 0xec, 0xf1, 0x34, 0x64, 0x56, 0x94, 0xee, 0xa6, - 0xdf, 0x54, 0xf2, 0x09, 0xc8, 0x2a, 0xdd, 0x0e, 0x7e, 0x80, 0x3e, 0xb3, 0xb1, 0x03, 0xe2, 0x39, - 0x38, 0xd1, 0xed, 0xef, 0xac, 0x63, 0xbd, 0xb1, 0x41, 0xb4, 0x1d, 0x8c, 0x96, 0x66, 0xad, 0x94, - 0xe8, 0xd0, 0x35, 0xf4, 0x1b, 0xfa, 0x5f, 0xfe, 0x3e, 0xfc, 0x12, 0x56, 0x4e, 0xaf, 0x65, 0x18, - 0x63, 0xd1, 0x10, 0x20, 0xa1, 0x2e, 0x39, 0x69, 0x1f, 0x39, 0xe8, 0x9d, 0x2e, 0xbf, 0xef, 0x60, - 0xf8, 0x7d, 0xfd, 0xa8, 0x62, 0x93, 0x3f, 0x7c, 0xfd, 0x50, 0x1a, 0xf2, 0x2b, 0xba, 0xd6, 0xc6, - 0x86, 0x81, 0x1e, 0x4c, 0x43, 0xae, 0x22, 0x77, 0xdb, 0x58, 0x45, 0xcf, 0x0a, 0x5c, 0x3e, 0xa0, - 0x1f, 0xa6, 0x78, 0xb7, 0xe7, 0xb4, 0xdc, 0x92, 0x5d, 0x66, 0xc0, 0x88, 0xc7, 0x77, 0x44, 0x1d, - 0x5a, 0x54, 0xf2, 0x5c, 0xfa, 0xb3, 0x34, 0x4c, 0x2f, 0x29, 0xdd, 0xed, 0x15, 0x1d, 0x13, 0x3b, - 0x99, 0xcf, 0xf6, 0xd8, 0x43, 0xf5, 0xd3, 0x53, 0x3e, 0xfd, 0x74, 0xee, 0x35, 0xae, 0xaf, 0xc8, - 0x00, 0x79, 0xba, 0x0b, 0xa6, 0x55, 0x2f, 0x11, 0x3d, 0xc0, 0x40, 0x03, 0x07, 0x18, 0xbe, 0x62, - 0x24, 0x7f, 0x72, 0x4e, 0x05, 0x95, 0x60, 0x2a, 0x92, 0x67, 0xec, 0x0f, 0x05, 0x00, 0xdb, 0x0c, - 0x2f, 0x59, 0xc1, 0x3e, 0x91, 0x0a, 0x61, 0x2c, 0x6b, 0xee, 0x38, 0x3d, 0x68, 0xee, 0xf8, 0x4e, - 0xc8, 0x58, 0x4d, 0xa2, 0x56, 0x95, 0x79, 0x4d, 0x1d, 0x93, 0x3c, 0xd6, 0x30, 0xdf, 0x51, 0x0c, - 0x79, 0x5d, 0xc5, 0xd5, 0x6e, 0x5b, 0xdf, 0xf3, 0x8c, 0x13, 0x14, 0xa4, 0xfd, 0x1f, 0x3c, 0xaf, - 0x75, 0x59, 0x0e, 0xaf, 0x75, 0xa4, 0x2a, 0xc6, 0x6b, 0x1d, 0xe3, 0x1e, 0x27, 0x74, 0x42, 0xf4, - 0x38, 0x13, 0xec, 0x64, 0x7f, 0x4b, 0x36, 0x5c, 0x27, 0xfb, 0xd6, 0x7f, 0xf4, 0x5e, 0xae, 0xc1, - 0x3d, 0xb0, 0xe8, 0xe4, 0x31, 0xff, 0x5e, 0x1a, 0x8e, 0x3a, 0x5e, 0xca, 0x09, 0xea, 0xb7, 0x30, - 0x17, 0x20, 0xa4, 0x41, 0x29, 0xaf, 0x41, 0x56, 0x5c, 0xcf, 0x43, 0x9c, 0xfc, 0x47, 0xef, 0xe6, - 0xde, 0x97, 0xf8, 0x6b, 0x0a, 0xe0, 0x62, 0xa8, 0x5c, 0xf9, 0x6c, 0x80, 0x85, 0xed, 0x46, 0x42, - 0xaa, 0x89, 0xc6, 0xd1, 0xf2, 0x81, 0x1f, 0xf7, 0xa0, 0xbf, 0xca, 0x03, 0xd4, 0xe5, 0x5d, 0x65, - 0xd3, 0xb6, 0xa5, 0xf4, 0x2d, 0xc1, 0x1a, 0xbc, 0x0c, 0xd3, 0xf6, 0x89, 0x60, 0x30, 0x26, 0x15, - 0xef, 0x80, 0x3c, 0xd5, 0x9a, 0xa3, 0xad, 0x7a, 0x2e, 0xd3, 0x2a, 0xaf, 0x14, 0x5b, 0x9e, 0x1f, - 0x30, 0x25, 0x27, 0xbd, 0xb5, 0x00, 0xd9, 0xe8, 0xab, 0x6a, 0xcb, 0xca, 0x4b, 0x8f, 0x70, 0x9d, - 0xb0, 0x67, 0x1a, 0x93, 0x3a, 0x2d, 0x22, 0x81, 0x01, 0x43, 0x9a, 0x59, 0xc7, 0x90, 0x26, 0xfa, - 0x5d, 0x6e, 0x7f, 0x81, 0x3e, 0x7a, 0x7c, 0x2d, 0x0a, 0x80, 0xf5, 0x56, 0xc8, 0xdb, 0xca, 0x30, - 0xce, 0x0b, 0xff, 0x67, 0x0d, 0x74, 0x54, 0x3b, 0x7b, 0xad, 0xbb, 0xa1, 0x49, 0x4e, 0x4a, 0x4e, - 0xb7, 0x81, 0x5c, 0x74, 0x24, 0xdf, 0x93, 0xbe, 0x29, 0xc0, 0xc9, 0xf3, 0xd8, 0xf4, 0xda, 0x71, - 0x49, 0x31, 0xb7, 0xac, 0xe1, 0xdc, 0x40, 0xff, 0x9c, 0x4f, 0x49, 0xc8, 0x87, 0x7f, 0x3a, 0x1a, - 0xfe, 0xe8, 0x8f, 0xfd, 0xa8, 0x35, 0x59, 0xd4, 0xee, 0x0e, 0x2a, 0x65, 0x38, 0xb5, 0x01, 0x00, - 0xde, 0x09, 0x39, 0x9b, 0x50, 0x3a, 0xef, 0x9d, 0x0e, 0xc4, 0xcf, 0x2d, 0x49, 0xa2, 0x39, 0xd0, - 0xe7, 0x5c, 0x1c, 0x2f, 0x32, 0x38, 0xce, 0x1d, 0x88, 0xb2, 0xc4, 0x21, 0x3d, 0x7d, 0x0b, 0x51, - 0x41, 0x20, 0x1d, 0xec, 0x98, 0xbf, 0x17, 0x17, 0x8f, 0x88, 0x00, 0xb9, 0x65, 0x6d, 0x17, 0xb7, - 0xb4, 0x62, 0xca, 0xfa, 0x6f, 0xd1, 0xd7, 0xd2, 0x8a, 0x69, 0xf4, 0x6f, 0xa6, 0x21, 0xbf, 0xa8, - 0x18, 0xa6, 0xa6, 0xef, 0xa1, 0x6f, 0x64, 0xa0, 0x40, 0x4f, 0xaf, 0x0c, 0xf4, 0xe1, 0x94, 0x7b, - 0x16, 0xb7, 0xef, 0x10, 0xe8, 0x5a, 0x98, 0xee, 0x59, 0x73, 0xbe, 0xd6, 0x37, 0x3c, 0x3d, 0x43, - 0x7f, 0x94, 0x25, 0x36, 0x72, 0xdf, 0xdc, 0xd2, 0x74, 0x4f, 0xe3, 0xdb, 0x09, 0x5b, 0x1b, 0x0c, - 0xfb, 0x7f, 0x5d, 0xde, 0xc1, 0x8e, 0x11, 0x47, 0x2f, 0x86, 0x78, 0x4d, 0x56, 0x76, 0xec, 0x09, - 0x52, 0x90, 0xc8, 0x7f, 0x71, 0x16, 0xf2, 0x9b, 0xba, 0xd6, 0xef, 0xd1, 0xed, 0x90, 0x20, 0x39, - 0x41, 0xbf, 0xcd, 0xd0, 0x93, 0x90, 0xeb, 0xc9, 0x9b, 0x9e, 0x9e, 0x15, 0x0d, 0x89, 0xd7, 0xc1, - 0x8c, 0x2a, 0x1b, 0x26, 0x6d, 0x8d, 0xbb, 0xf7, 0x63, 0x23, 0x87, 0x0f, 0x3b, 0xe8, 0xf3, 0xdc, - 0x47, 0x22, 0x94, 0x8b, 0xce, 0xf9, 0x5f, 0x90, 0x5c, 0x96, 0xa1, 0x40, 0x4f, 0x1a, 0x9d, 0x91, - 0xe5, 0xfa, 0xf0, 0x62, 0xe8, 0x1f, 0xc9, 0xcd, 0xc6, 0xa9, 0xe1, 0x35, 0x82, 0x9e, 0xe4, 0x07, - 0x98, 0xff, 0xe6, 0xbc, 0xda, 0xbd, 0x7f, 0x34, 0x44, 0xd7, 0xc0, 0xd4, 0xee, 0x00, 0x3c, 0x5e, - 0x44, 0xc8, 0x9b, 0xdd, 0x9f, 0x17, 0x78, 0xa7, 0x72, 0x87, 0x1d, 0x21, 0xaf, 0x76, 0xef, 0x04, - 0xb0, 0x07, 0x00, 0x2b, 0xcd, 0xbe, 0xe5, 0x32, 0xd9, 0xef, 0xd1, 0x61, 0x83, 0x94, 0x22, 0xf9, - 0x52, 0x8b, 0xf7, 0x7a, 0xe7, 0xc9, 0xf6, 0xbd, 0x1f, 0x27, 0xaa, 0xfe, 0x63, 0x67, 0xa7, 0x8d, - 0x19, 0xb6, 0x8d, 0x7c, 0x5a, 0xf6, 0x21, 0xed, 0x4b, 0x1e, 0xea, 0xc7, 0xd2, 0x00, 0x4d, 0xec, - 0x74, 0x26, 0xbf, 0xfe, 0xd3, 0x58, 0x80, 0xa3, 0x1f, 0xa7, 0x78, 0x1d, 0x78, 0xb9, 0xcd, 0x76, - 0x6b, 0x0f, 0xd2, 0x01, 0xe0, 0x72, 0xc9, 0x35, 0xb2, 0xb8, 0xe4, 0x79, 0xf9, 0x7a, 0x01, 0x32, - 0xe4, 0x69, 0xdb, 0x3f, 0x78, 0x6a, 0x91, 0x77, 0x79, 0x0c, 0xf5, 0xbd, 0x11, 0x4a, 0xf1, 0xbd, - 0x11, 0x42, 0x9f, 0xe6, 0xde, 0x53, 0x92, 0x17, 0x56, 0xa1, 0xda, 0x37, 0x1e, 0x9e, 0x02, 0x83, - 0x67, 0xb4, 0x67, 0x3c, 0x7c, 0x7b, 0xcb, 0x60, 0x6a, 0x92, 0x47, 0xe1, 0x0f, 0xa9, 0x27, 0xb4, - 0x47, 0xbc, 0xe7, 0xa5, 0x26, 0x23, 0xd5, 0xf4, 0x01, 0x57, 0x2a, 0xe8, 0x01, 0x57, 0x7a, 0xac, - 0x37, 0x86, 0xc2, 0x3e, 0x93, 0xc6, 0x0f, 0x73, 0x5b, 0x25, 0x68, 0x8e, 0xd2, 0x73, 0xb5, 0xa7, - 0x71, 0xc1, 0x9d, 0xc6, 0xa3, 0x61, 0xf6, 0x25, 0xae, 0xad, 0x61, 0x33, 0x1e, 0x35, 0xd8, 0xd8, - 0x5f, 0x5d, 0xbd, 0xf3, 0x04, 0xe3, 0xe8, 0xee, 0xe1, 0x34, 0x64, 0xc8, 0x7d, 0x8a, 0xef, 0xac, - 0xf9, 0xb7, 0xb9, 0xdf, 0xc3, 0xf9, 0x1c, 0xc4, 0x91, 0x7b, 0x86, 0xe1, 0xec, 0x7e, 0x19, 0x4c, - 0x7b, 0x6e, 0xf0, 0xc2, 0xb7, 0x11, 0xe4, 0x34, 0xc1, 0x9f, 0x9a, 0xd3, 0x72, 0x51, 0x38, 0x21, - 0xc9, 0xf7, 0x92, 0xf7, 0x7b, 0xbd, 0x63, 0xde, 0xbf, 0x2f, 0x04, 0xaf, 0x29, 0x94, 0x81, 0x21, - 0xed, 0xf6, 0x25, 0x46, 0x7f, 0xe4, 0xc7, 0xa0, 0xc2, 0x62, 0xf0, 0xa2, 0xa0, 0xa6, 0x87, 0x0a, - 0x3d, 0x4b, 0x4c, 0x3a, 0x0a, 0x31, 0x9e, 0xee, 0xf7, 0x02, 0x83, 0xc1, 0xb9, 0x48, 0x84, 0x1c, - 0xb2, 0xe0, 0xbf, 0xef, 0x98, 0xcf, 0x51, 0xea, 0x5f, 0x52, 0xc7, 0x9c, 0x1b, 0x8c, 0x95, 0x02, - 0xd6, 0x83, 0x63, 0x6a, 0x88, 0x07, 0xc7, 0x71, 0x4d, 0xde, 0xfd, 0xd0, 0x0f, 0x67, 0x8d, 0x85, - 0xf3, 0xd6, 0x20, 0x2e, 0x72, 0x78, 0xe3, 0x1c, 0x93, 0x9c, 0x27, 0x5c, 0x40, 0x97, 0x18, 0x40, - 0x6f, 0x1f, 0x83, 0x94, 0x68, 0xb0, 0x2a, 0x31, 0xc3, 0x2a, 0xce, 0xc2, 0x09, 0xa9, 0x5a, 0x9e, - 0x6f, 0xd4, 0x97, 0xee, 0xf7, 0x7f, 0x2d, 0x66, 0xd0, 0x7b, 0x05, 0xc8, 0x49, 0x44, 0xbd, 0x08, - 0xfd, 0x6c, 0x54, 0x98, 0x07, 0xac, 0x69, 0xa6, 0xf7, 0xdb, 0x68, 0xfe, 0x2a, 0xf7, 0x93, 0x9f, - 0x61, 0x6c, 0xb4, 0xe9, 0x0a, 0x58, 0xa1, 0x3d, 0xc5, 0xf5, 0xe4, 0x87, 0xbb, 0xd8, 0x2b, 0x16, - 0xa0, 0x4f, 0x0b, 0x90, 0xa3, 0x26, 0x73, 0x3b, 0x51, 0x01, 0xf2, 0xdb, 0x43, 0x4f, 0xf3, 0xda, - 0x43, 0x3f, 0x18, 0x66, 0xa1, 0x4e, 0x47, 0xc6, 0xc7, 0x2c, 0x06, 0x93, 0xb4, 0x13, 0xc4, 0xec, - 0xdb, 0x02, 0x5d, 0x2f, 0xf4, 0xa3, 0x22, 0x36, 0x0f, 0xcf, 0x91, 0x7b, 0x3d, 0xdc, 0x75, 0x8d, - 0xaf, 0x1a, 0x0b, 0xba, 0xb6, 0xd3, 0x30, 0xb7, 0xb0, 0xee, 0xac, 0x0b, 0x52, 0x37, 0x14, 0xa4, - 0xf0, 0x44, 0xac, 0x85, 0x87, 0x50, 0xeb, 0x97, 0xc3, 0x78, 0x1d, 0xb2, 0x48, 0x19, 0x73, 0x24, - 0x7d, 0x8c, 0xcb, 0x0c, 0x26, 0x27, 0x2d, 0x87, 0x3c, 0x43, 0x3e, 0x7a, 0x01, 0x72, 0x36, 0xa5, - 0xd6, 0xb2, 0x70, 0xba, 0xb9, 0x25, 0xeb, 0x78, 0x6e, 0x8f, 0xb8, 0x87, 0xbf, 0x9e, 0xeb, 0x20, - 0x14, 0xbd, 0xd5, 0x8f, 0x8e, 0x08, 0x19, 0x55, 0xe9, 0x6e, 0x3b, 0xb7, 0x10, 0xd6, 0x7f, 0x6f, - 0x0b, 0x9b, 0x1e, 0xb2, 0x85, 0x75, 0x8f, 0x14, 0xdc, 0x7a, 0x0f, 0xb4, 0x85, 0x1d, 0x59, 0xdc, - 0x44, 0x6e, 0x3c, 0x8f, 0x97, 0x3b, 0x9d, 0x4b, 0x8a, 0xb9, 0xd5, 0x70, 0x78, 0x74, 0x2f, 0xdf, - 0x99, 0xf2, 0x2c, 0xe4, 0x7b, 0xf2, 0x9e, 0xaa, 0xc9, 0xee, 0xe3, 0x7b, 0x1a, 0x64, 0x15, 0x24, - 0x43, 0x0f, 0xfa, 0x29, 0x07, 0x06, 0x28, 0x08, 0x60, 0x2a, 0xdf, 0x99, 0x3d, 0x57, 0x91, 0xc9, - 0x33, 0xf6, 0xaf, 0x04, 0xd6, 0x41, 0xcb, 0xcf, 0xf1, 0xda, 0x34, 0x18, 0x6b, 0xde, 0xf8, 0x3f, - 0xdc, 0x6e, 0xd4, 0x29, 0x7b, 0x7e, 0x4a, 0xdc, 0xaf, 0x44, 0xea, 0x47, 0x87, 0xe9, 0x76, 0xe5, - 0xab, 0xfb, 0xdd, 0xae, 0xfc, 0x0b, 0x5e, 0xc4, 0x47, 0x2e, 0xe5, 0xc6, 0x73, 0xcd, 0xf3, 0x09, - 0x6e, 0xe3, 0x71, 0x03, 0xfc, 0x8b, 0xd1, 0x2c, 0x3e, 0x9f, 0x89, 0x38, 0x9e, 0xfa, 0x93, 0x87, - 0xf0, 0x2d, 0xfb, 0x7d, 0xa9, 0xd4, 0x62, 0x83, 0x70, 0x7c, 0x34, 0x62, 0xf4, 0x94, 0x32, 0x16, - 0x1a, 0x87, 0x64, 0x7b, 0xfe, 0x17, 0x32, 0x70, 0xd5, 0x7e, 0xdf, 0x28, 0xfc, 0x7e, 0x93, 0x47, - 0x77, 0xaa, 0x71, 0x1d, 0x83, 0x3c, 0x1d, 0x71, 0x81, 0x57, 0xba, 0xb2, 0xfc, 0x9a, 0x7c, 0x3c, - 0xc2, 0x7a, 0xb0, 0x74, 0xf8, 0x9e, 0x4c, 0xfe, 0x4c, 0x80, 0x13, 0x43, 0x7d, 0x98, 0x5c, 0x09, - 0xa2, 0xc0, 0xef, 0xa6, 0x70, 0x28, 0x3f, 0x63, 0x1c, 0x68, 0xf9, 0x3c, 0xd8, 0xf1, 0x53, 0x91, - 0x3c, 0xb0, 0x5f, 0xcc, 0x0c, 0x02, 0x4b, 0x07, 0xdd, 0x4f, 0xc5, 0x08, 0xac, 0xdf, 0xa3, 0x88, - 0x30, 0xe0, 0x51, 0x64, 0x11, 0x9e, 0x4b, 0xde, 0xf4, 0xe9, 0x3b, 0xf6, 0xa1, 0x44, 0x59, 0x55, - 0x2f, 0xca, 0x6a, 0x1f, 0x1b, 0xb5, 0xae, 0xed, 0x83, 0xc3, 0x79, 0x01, 0x3e, 0x2a, 0x19, 0xfa, - 0xc1, 0xc1, 0xc4, 0x20, 0x46, 0x8f, 0x23, 0x4f, 0x8d, 0x2f, 0x06, 0x31, 0x8c, 0xf3, 0x5b, 0x63, - 0xec, 0xf7, 0x5e, 0x0c, 0x37, 0x37, 0x1b, 0xcb, 0x55, 0xf2, 0xa6, 0x4f, 0x9a, 0x6f, 0xae, 0x2d, - 0x96, 0x9b, 0x6b, 0x52, 0x75, 0xa9, 0xdc, 0xaa, 0x35, 0xea, 0x6b, 0x17, 0xcb, 0x4b, 0xab, 0xd5, - 0xb5, 0x4b, 0xb5, 0xd6, 0xe2, 0x5a, 0x6b, 0xb1, 0xd6, 0x5c, 0x6b, 0xac, 0x58, 0xd1, 0x45, 0x01, - 0xbd, 0x21, 0xd0, 0x33, 0x09, 0xb7, 0xfd, 0xf6, 0x87, 0xb9, 0x1d, 0xf8, 0x0e, 0xb0, 0x2b, 0x41, - 0xbf, 0x23, 0x7c, 0x9e, 0x7c, 0x23, 0xd0, 0x33, 0x81, 0xdb, 0xb7, 0x0c, 0xe4, 0x9a, 0x58, 0xd6, - 0xdb, 0x5b, 0xe8, 0xd7, 0x7c, 0x06, 0x3e, 0x17, 0x20, 0xbf, 0xa1, 0xa8, 0xc4, 0x46, 0x7d, 0x8a, - 0x34, 0xff, 0x26, 0x3e, 0x27, 0xf5, 0x0b, 0x24, 0x93, 0xe4, 0x64, 0x16, 0x5f, 0x0e, 0x59, 0x43, - 0xd3, 0x5d, 0xd5, 0x2e, 0x4e, 0x57, 0xf7, 0x4d, 0x4d, 0x37, 0x25, 0x3b, 0x23, 0xa3, 0xbf, 0x26, - 0x0c, 0xe8, 0xaf, 0x05, 0x68, 0xaa, 0xb1, 0x2e, 0x9f, 0x5d, 0xbd, 0xb6, 0x1b, 0xa1, 0xe8, 0x1d, - 0x18, 0xd9, 0x84, 0xce, 0xe6, 0xc8, 0xa5, 0xe2, 0xbe, 0x78, 0x51, 0x84, 0xcc, 0x36, 0xde, 0x33, - 0x66, 0xf3, 0xe4, 0x3b, 0xf9, 0x8f, 0x3e, 0xc8, 0x6d, 0x0a, 0xc7, 0x39, 0x18, 0x20, 0x7c, 0x0d, - 0x10, 0xb1, 0x5b, 0x20, 0xaf, 0xd3, 0x61, 0xca, 0x11, 0xb0, 0xa0, 0x0b, 0x4c, 0x9a, 0x0e, 0x7d, - 0x80, 0xcb, 0x42, 0x4e, 0x58, 0xe5, 0x13, 0x70, 0x83, 0x52, 0x80, 0xec, 0x79, 0x5d, 0xee, 0x6d, - 0xa1, 0x5f, 0x4a, 0xc5, 0x2f, 0x4e, 0x2e, 0xb0, 0xe9, 0x51, 0xc0, 0x0a, 0xc3, 0x81, 0x45, 0x6f, - 0x4e, 0x43, 0xa6, 0x6e, 0x35, 0x6a, 0x50, 0xd3, 0x4a, 0xa4, 0x7a, 0xc9, 0x54, 0x7d, 0x95, 0xe8, - 0x1b, 0x3b, 0x76, 0x3e, 0x04, 0x9f, 0x9d, 0x8f, 0x93, 0x90, 0x53, 0xe5, 0x3d, 0xad, 0xef, 0xca, - 0x9c, 0x1d, 0x1a, 0x64, 0x67, 0x76, 0x1f, 0x3b, 0xad, 0xf1, 0x4c, 0x69, 0x6b, 0xdd, 0xda, 0x8e, - 0xbc, 0x89, 0xe9, 0x53, 0x13, 0x2f, 0xc2, 0xf9, 0x5a, 0xdd, 0xd1, 0x5e, 0xa5, 0xd0, 0x27, 0x25, - 0x5e, 0x84, 0x45, 0x49, 0x47, 0xeb, 0x62, 0xf2, 0x84, 0xa4, 0x20, 0x91, 0xff, 0xe2, 0x19, 0x38, - 0xe6, 0x0c, 0x3d, 0x0b, 0x9a, 0xbe, 0x23, 0x9b, 0xb3, 0x53, 0xf6, 0x93, 0x2f, 0x36, 0x56, 0x9c, - 0x85, 0xbc, 0xd1, 0x55, 0x7a, 0x3d, 0x6c, 0xce, 0x82, 0x7d, 0xd0, 0x43, 0x83, 0xe8, 0x5d, 0x69, - 0xc8, 0x54, 0x3b, 0x9b, 0x98, 0xb9, 0x65, 0x4f, 0xf9, 0x6e, 0xd9, 0x4f, 0x42, 0xce, 0x36, 0x1f, - 0x4a, 0xd9, 0x42, 0x43, 0x43, 0x19, 0xf3, 0x52, 0xca, 0xc0, 0xcc, 0x90, 0xc7, 0xbd, 0x54, 0x26, - 0x89, 0x60, 0x94, 0xac, 0x1a, 0xfd, 0x5a, 0xdd, 0xc9, 0x72, 0xee, 0x24, 0xe4, 0xb6, 0x94, 0x4e, - 0x07, 0x77, 0x29, 0xef, 0x68, 0xe8, 0xf4, 0x29, 0xc8, 0x58, 0x34, 0x58, 0xc2, 0xbd, 0xa4, 0x74, - 0xb7, 0x8b, 0x47, 0xc4, 0xa3, 0xde, 0xf5, 0x5d, 0x31, 0xc5, 0x9e, 0x03, 0x87, 0xea, 0x3b, 0x31, - 0x8d, 0x1b, 0xde, 0xd9, 0x5f, 0x0c, 0xd9, 0xae, 0xd6, 0x71, 0xaf, 0xa6, 0x4f, 0x05, 0xe7, 0xb7, - 0x64, 0x53, 0xb2, 0x13, 0x5b, 0xb9, 0x70, 0x67, 0x13, 0x1b, 0x44, 0x98, 0x43, 0x73, 0x59, 0x2c, - 0x95, 0xec, 0xc4, 0x9c, 0x4a, 0x4c, 0x21, 0x44, 0x27, 0x3f, 0x48, 0x7c, 0x3d, 0x07, 0xc7, 0xed, - 0xf1, 0xa9, 0xd9, 0x5f, 0xb7, 0x8a, 0x5a, 0xc7, 0xe8, 0xc9, 0x34, 0xf3, 0x5a, 0xc8, 0xe8, 0xaf, - 0xbb, 0xb3, 0xbe, 0x1d, 0xf0, 0x0f, 0x22, 0xe9, 0x58, 0xe6, 0x24, 0x61, 0xdc, 0x39, 0x89, 0x99, - 0x5f, 0x84, 0xfd, 0x7a, 0xd3, 0xb6, 0xe2, 0xa4, 0x33, 0x1b, 0x0d, 0x99, 0x4b, 0xac, 0x3e, 0x29, - 0x6f, 0x98, 0x58, 0x77, 0x5f, 0x85, 0x39, 0x41, 0x62, 0x80, 0x16, 0x6f, 0x68, 0x3a, 0xae, 0x75, - 0x48, 0x7f, 0x9e, 0x92, 0xdc, 0xb0, 0xaf, 0x9b, 0x02, 0xa3, 0x0c, 0x73, 0x03, 0x1c, 0x57, 0x36, - 0xbb, 0x9a, 0x8e, 0x5d, 0x5b, 0x73, 0xb3, 0x47, 0x6d, 0x5b, 0x41, 0x03, 0xd1, 0xe8, 0x9b, 0x42, - 0xc4, 0xa3, 0xdd, 0x01, 0x98, 0x62, 0x9b, 0xcc, 0xc4, 0x97, 0xc1, 0xd1, 0x0e, 0xee, 0xe1, 0x6e, - 0x07, 0x77, 0xdb, 0x8a, 0x2b, 0xe3, 0x81, 0xf9, 0x98, 0xc4, 0x9e, 0x80, 0x64, 0xfc, 0x02, 0x72, - 0xde, 0xe7, 0x59, 0x27, 0x3b, 0xa0, 0x4c, 0xc2, 0xea, 0x14, 0xda, 0xcd, 0xe9, 0x51, 0x8d, 0x69, - 0x3b, 0x8b, 0xcf, 0xc5, 0x4e, 0xa4, 0x93, 0xea, 0x70, 0x0e, 0x4d, 0x40, 0x8b, 0x2d, 0x03, 0x47, - 0x6b, 0x1d, 0xc3, 0xeb, 0x49, 0xda, 0xa8, 0x8e, 0xb4, 0xcf, 0x11, 0x82, 0x2b, 0xa2, 0x82, 0x4f, - 0x44, 0x87, 0x08, 0xd5, 0xf4, 0x70, 0xa1, 0x7a, 0xad, 0x5f, 0xa8, 0xaa, 0xac, 0x50, 0x9d, 0x1d, - 0xc6, 0x32, 0x3f, 0xb9, 0x57, 0xb2, 0x44, 0xa1, 0x8f, 0xb8, 0x82, 0xb0, 0xc8, 0x08, 0xc2, 0x8b, - 0x23, 0xb6, 0x2a, 0x79, 0x29, 0xf8, 0xf7, 0x69, 0xb8, 0xca, 0x96, 0xc4, 0xd5, 0xae, 0xe1, 0x8a, - 0xc2, 0xf3, 0x58, 0x45, 0x3a, 0xab, 0x4d, 0x86, 0xab, 0x48, 0x47, 0x42, 0xe8, 0x17, 0xa2, 0x1e, - 0x87, 0xed, 0xab, 0x25, 0xe0, 0xba, 0x27, 0xd2, 0x41, 0xd5, 0xa8, 0x42, 0x93, 0x67, 0xe0, 0x2f, - 0xdb, 0xee, 0x15, 0x97, 0xc8, 0x6a, 0x0e, 0xc9, 0xbc, 0x67, 0x18, 0xb7, 0xbb, 0xcb, 0x41, 0xfb, - 0x41, 0xdb, 0xb5, 0x81, 0x0a, 0x4f, 0x25, 0xbb, 0x68, 0x67, 0xc1, 0x88, 0x3e, 0xc4, 0xad, 0xef, - 0xee, 0xf2, 0x88, 0x52, 0x17, 0xcb, 0x51, 0x03, 0x9f, 0x6a, 0xfb, 0x88, 0xaa, 0x93, 0x87, 0xe5, - 0x5f, 0x0b, 0x30, 0x43, 0x2c, 0xce, 0x2e, 0xc8, 0xbb, 0x9a, 0xae, 0x98, 0x18, 0x9d, 0xe7, 0x85, - 0xe6, 0x14, 0x80, 0xe2, 0x66, 0xa3, 0x97, 0xff, 0xbe, 0x98, 0x08, 0xde, 0x5f, 0x3c, 0x2e, 0x78, - 0x74, 0x4c, 0xd0, 0xfb, 0x0b, 0x47, 0xf5, 0x13, 0x04, 0xa2, 0x6c, 0x3f, 0xd1, 0xef, 0x44, 0x04, - 0xc2, 0xc9, 0xe6, 0x01, 0xe1, 0x16, 0x34, 0x1e, 0x10, 0x4e, 0xf6, 0x43, 0x02, 0x22, 0xa0, 0xfa, - 0xe4, 0x81, 0xf8, 0x74, 0x0e, 0x8a, 0x0b, 0x58, 0x36, 0xfb, 0x3a, 0x76, 0x95, 0x58, 0xd0, 0x1b, - 0xa9, 0xba, 0x61, 0x95, 0x17, 0x93, 0x6b, 0x06, 0x4f, 0xb8, 0xa6, 0xfc, 0x07, 0x59, 0x91, 0x0f, - 0xc6, 0x07, 0x09, 0x2a, 0xc5, 0x74, 0x4d, 0x12, 0xed, 0x60, 0x9c, 0x83, 0x8a, 0xe4, 0xf1, 0x79, - 0xbb, 0xa7, 0x15, 0x18, 0x13, 0x1a, 0x5f, 0xf1, 0xa3, 0xb1, 0xc2, 0xa2, 0x71, 0x27, 0x17, 0x1f, - 0xc2, 0xb4, 0x01, 0x23, 0x02, 0xe2, 0x99, 0x3e, 0x69, 0x32, 0x80, 0xdc, 0x3b, 0x3e, 0x21, 0x13, - 0x70, 0x2d, 0x93, 0x86, 0x6c, 0x4b, 0x6b, 0x62, 0xc6, 0x60, 0x70, 0x38, 0x24, 0xde, 0x5e, 0x2b, - 0xcd, 0x78, 0x47, 0x7e, 0x7d, 0xd4, 0x73, 0x01, 0x52, 0x6f, 0xb0, 0x1d, 0x0a, 0xc3, 0xe7, 0xb7, - 0xc6, 0x0e, 0x44, 0xdb, 0xc1, 0x0f, 0x2b, 0x3e, 0x79, 0x86, 0x7e, 0xb6, 0xe0, 0x28, 0xf9, 0x13, - 0x5d, 0xbd, 0x6f, 0xa7, 0x21, 0x47, 0xaf, 0x7f, 0xd8, 0x03, 0x7c, 0x47, 0xdb, 0xc8, 0x59, 0x75, - 0x7a, 0x11, 0xe8, 0xc3, 0x11, 0x15, 0xd0, 0x89, 0x3a, 0x5b, 0x8c, 0x77, 0x2d, 0x1f, 0x8e, 0xa0, - 0x73, 0x1e, 0x5c, 0xf7, 0x04, 0x5e, 0x7c, 0x65, 0xed, 0xf7, 0x31, 0xff, 0x25, 0x0d, 0x10, 0x38, - 0xfb, 0x06, 0xf3, 0x79, 0xe4, 0xec, 0xfb, 0x06, 0x3f, 0x0e, 0x17, 0x58, 0x1c, 0x6e, 0x0b, 0xe2, - 0x85, 0x25, 0x73, 0xa3, 0xa6, 0x60, 0xf4, 0x09, 0x97, 0xc3, 0x75, 0x86, 0xc3, 0x77, 0x8e, 0x55, - 0x6a, 0xf2, 0x9c, 0xb6, 0x39, 0x1c, 0xb0, 0xd0, 0x1c, 0xc5, 0xe1, 0x90, 0x85, 0xe6, 0x01, 0x38, - 0x1c, 0xbe, 0xda, 0x1c, 0x97, 0xc3, 0x87, 0xb6, 0x88, 0x7c, 0x22, 0x03, 0xb9, 0xea, 0x03, 0x3d, - 0x4d, 0x37, 0xd1, 0x23, 0xac, 0x3d, 0xed, 0x9e, 0x67, 0x1a, 0x9f, 0xfc, 0xb7, 0xc6, 0xdf, 0x8e, - 0xd6, 0xf6, 0x1e, 0x3d, 0xd3, 0x90, 0x78, 0x0e, 0x72, 0x1b, 0xf6, 0x69, 0xb7, 0xbd, 0xe1, 0x42, - 0x4c, 0x53, 0xed, 0xc2, 0x4b, 0xf6, 0xc9, 0xb7, 0x44, 0x53, 0x8a, 0x45, 0x10, 0x5e, 0xa3, 0xf4, - 0xe8, 0x75, 0xb0, 0xf5, 0x97, 0x78, 0xdd, 0xa0, 0x36, 0xd9, 0xb0, 0x61, 0x62, 0xdb, 0x58, 0x54, - 0x41, 0x62, 0x23, 0xc5, 0xd3, 0x70, 0x94, 0x46, 0x2c, 0x28, 0x2a, 0xb6, 0x9d, 0xc4, 0x15, 0x24, - 0x26, 0x0e, 0x7d, 0xd9, 0x0f, 0xee, 0xed, 0x2c, 0xb8, 0xa7, 0x87, 0xd1, 0x16, 0x68, 0x22, 0x64, - 0xd0, 0x7a, 0x06, 0x39, 0xb8, 0xef, 0xb7, 0xdb, 0x18, 0x77, 0xe8, 0x5d, 0x83, 0x13, 0x8c, 0xa8, - 0x37, 0xf4, 0x6e, 0x57, 0x4a, 0x5e, 0xc6, 0x48, 0xc9, 0x0b, 0x46, 0x93, 0x97, 0xfc, 0x4b, 0xfa, - 0x15, 0xc8, 0xd1, 0x7b, 0x8a, 0xa3, 0x50, 0x58, 0x96, 0xf5, 0xed, 0x8e, 0x76, 0xb9, 0x6b, 0x9f, - 0xc6, 0xaf, 0xd0, 0x13, 0x9b, 0x62, 0xca, 0x2a, 0xf1, 0xbe, 0x66, 0xa3, 0x5e, 0x4c, 0x8b, 0x79, - 0x10, 0xe6, 0x1b, 0xad, 0xa2, 0x60, 0xfd, 0x69, 0x5e, 0x3c, 0x5f, 0xcc, 0x88, 0xc7, 0x00, 0xce, - 0x4b, 0xe5, 0x95, 0xc5, 0x35, 0x92, 0x22, 0x8b, 0xde, 0x2c, 0xc0, 0x71, 0xbb, 0x31, 0xde, 0x11, - 0xd5, 0xbd, 0xe1, 0xc2, 0x36, 0xda, 0x13, 0xcd, 0xe7, 0xb8, 0x9f, 0xac, 0x0d, 0x54, 0x1d, 0x01, - 0xef, 0x68, 0xa8, 0xf2, 0xbd, 0x5b, 0x0b, 0xa7, 0x66, 0x02, 0x4f, 0xd3, 0xd3, 0x0e, 0x18, 0x8e, - 0x51, 0x34, 0x63, 0xc0, 0xcf, 0xd0, 0x20, 0x18, 0x91, 0x59, 0xed, 0x16, 0x7c, 0x45, 0xb0, 0x3a, - 0x88, 0x9a, 0x89, 0x3c, 0x67, 0x2e, 0xda, 0x34, 0x10, 0x4f, 0x03, 0x86, 0xa9, 0xe9, 0xd8, 0x6f, - 0xdc, 0x3b, 0xc2, 0x28, 0x8b, 0x1e, 0xe2, 0x3e, 0x9c, 0x1a, 0xac, 0x31, 0x31, 0x10, 0xf8, 0x0e, - 0xac, 0x46, 0x90, 0x93, 0x3c, 0x0a, 0x0f, 0xa5, 0xe1, 0xe8, 0xb2, 0xbc, 0xed, 0xda, 0x00, 0xe4, - 0xd7, 0x68, 0x61, 0x0c, 0x4e, 0x85, 0xee, 0x2c, 0xfc, 0xe5, 0x87, 0xbe, 0x40, 0x4e, 0xbb, 0xe6, - 0xe0, 0xf8, 0xf6, 0x14, 0x21, 0x05, 0x27, 0xcf, 0xb9, 0xef, 0xa6, 0x61, 0xd6, 0x4f, 0xc0, 0xdc, - 0x9e, 0xef, 0x19, 0x31, 0x6b, 0xe6, 0x7b, 0xe0, 0xd1, 0xeb, 0x14, 0xf3, 0x98, 0xf4, 0x57, 0xb8, - 0x4f, 0xb4, 0x83, 0x6a, 0xe3, 0xe4, 0x29, 0xdf, 0x09, 0x37, 0x67, 0x25, 0x13, 0xd0, 0xd8, 0x4b, - 0xc3, 0x4c, 0x45, 0xd5, 0xba, 0x63, 0x88, 0xe6, 0x3f, 0xa5, 0x78, 0x55, 0x5f, 0x98, 0x0a, 0x38, - 0xf9, 0xc8, 0xa7, 0xd7, 0x12, 0x56, 0xf2, 0x04, 0x1e, 0x08, 0xa4, 0xe1, 0xb8, 0x8d, 0xdd, 0x7c, - 0xbf, 0xa7, 0x2a, 0xed, 0x48, 0xec, 0x7b, 0x7d, 0xc4, 0xf7, 0xee, 0x6e, 0x15, 0x9c, 0x0c, 0x8c, - 0xf2, 0x84, 0x3d, 0xa8, 0xec, 0x09, 0xf8, 0x70, 0xcf, 0xc0, 0xb1, 0xd5, 0xae, 0xd1, 0x53, 0x65, - 0x63, 0x8b, 0xaa, 0x9c, 0xdd, 0xc6, 0x5c, 0x55, 0xbe, 0xba, 0x8f, 0xf5, 0x3d, 0xe7, 0xaa, 0x92, - 0x04, 0x86, 0x2b, 0xfc, 0xa0, 0x87, 0x04, 0x5e, 0xdb, 0x96, 0x6c, 0x7d, 0x01, 0xec, 0x5c, 0x84, - 0x42, 0x4f, 0x69, 0x9b, 0x7d, 0x1d, 0xef, 0xd7, 0x2c, 0x08, 0x2b, 0x64, 0xc5, 0xce, 0x24, 0xb9, - 0xb9, 0x91, 0x0c, 0x79, 0x1a, 0xb9, 0x4f, 0xbf, 0x88, 0xda, 0x49, 0x4c, 0x7b, 0x76, 0x12, 0x4f, - 0x42, 0x4e, 0xd6, 0x4d, 0xc5, 0x70, 0xf4, 0xda, 0x68, 0xc8, 0x92, 0x25, 0xfb, 0xdf, 0xaa, 0xae, - 0xd2, 0xeb, 0x48, 0x2f, 0xc2, 0x67, 0x1c, 0x22, 0xcc, 0x10, 0x67, 0x68, 0xbb, 0xa3, 0x41, 0x7d, - 0x61, 0x0c, 0xad, 0xd0, 0xab, 0xe1, 0x19, 0x12, 0xf1, 0x59, 0x51, 0x5b, 0xae, 0xb5, 0xd6, 0xaa, - 0xaf, 0xa8, 0x54, 0xab, 0xf3, 0xd5, 0xf9, 0x62, 0x07, 0x7d, 0x3f, 0x0d, 0x45, 0x87, 0x36, 0xc7, - 0x16, 0xdf, 0x40, 0x3f, 0xa2, 0xcc, 0xf4, 0xfa, 0x91, 0x1b, 0xc1, 0x6a, 0xe0, 0x85, 0xae, 0x4a, - 0x06, 0xeb, 0x88, 0x60, 0x98, 0xf1, 0xcb, 0x5c, 0xeb, 0x8c, 0x11, 0x15, 0x1c, 0x22, 0x8b, 0xbf, - 0x9e, 0x86, 0x99, 0x72, 0xaf, 0xa7, 0xee, 0xb9, 0xc3, 0x7c, 0x94, 0x8b, 0x1a, 0x9f, 0x85, 0x94, - 0xf4, 0x3e, 0x0b, 0x29, 0x3f, 0xe0, 0x9e, 0x06, 0x18, 0x02, 0x02, 0x0e, 0x2f, 0xf8, 0x86, 0xfd, - 0xb0, 0x92, 0x92, 0x1f, 0xb3, 0xde, 0xf6, 0x0c, 0xc8, 0x12, 0xef, 0x64, 0xe8, 0xa3, 0x02, 0xe4, - 0x55, 0x6d, 0xb3, 0xd6, 0xdd, 0xd0, 0x86, 0xe9, 0x0e, 0x6e, 0x61, 0xf7, 0x1d, 0x25, 0xf9, 0x2f, - 0x9e, 0x81, 0x63, 0xd6, 0xaf, 0x23, 0x1f, 0xd4, 0xd0, 0x7a, 0x41, 0x1a, 0x88, 0x15, 0x4f, 0xc3, - 0x51, 0x53, 0x33, 0x65, 0xd5, 0xaf, 0xb3, 0x9e, 0x95, 0x98, 0x38, 0x0b, 0x35, 0x12, 0x6e, 0x2a, - 0xaf, 0xc1, 0x54, 0xa7, 0xd5, 0x8b, 0x10, 0xaf, 0x83, 0x99, 0x0d, 0x45, 0x37, 0x4c, 0x3b, 0x75, - 0xcb, 0x3e, 0xa6, 0xc8, 0x4a, 0x6c, 0xa4, 0x6d, 0x20, 0xde, 0x8d, 0xb8, 0x88, 0x75, 0xa2, 0x2a, - 0x47, 0x0c, 0xc4, 0xfb, 0x63, 0x2d, 0x7a, 0x54, 0xd9, 0x57, 0x58, 0xc1, 0xa6, 0xc7, 0x1f, 0xe7, - 0x98, 0x79, 0xf3, 0x8a, 0xb2, 0x15, 0x0f, 0xd9, 0x48, 0xab, 0x46, 0x2b, 0x62, 0xa5, 0xaf, 0xaa, - 0x4d, 0xdc, 0x2e, 0x6f, 0x6a, 0x44, 0xfd, 0x30, 0x2b, 0x0d, 0xc4, 0x8a, 0x08, 0x0a, 0xfd, 0x5e, - 0xd3, 0x94, 0xcd, 0xbe, 0x41, 0x35, 0x4c, 0xdc, 0xb0, 0x25, 0x91, 0x1d, 0xed, 0x72, 0x97, 0x7e, - 0xb5, 0x95, 0x9a, 0x7c, 0x31, 0xd6, 0xfc, 0x60, 0x0b, 0xe1, 0x8c, 0x3d, 0x6b, 0xd8, 0x92, 0xf5, - 0x27, 0x02, 0x80, 0xb9, 0xa5, 0x63, 0xb9, 0x33, 0x14, 0xae, 0x97, 0xc0, 0x49, 0x55, 0xdb, 0x34, - 0x2e, 0x29, 0xe6, 0x96, 0x07, 0xc4, 0xa2, 0x03, 0x60, 0x56, 0x0a, 0xf8, 0x2a, 0xbe, 0x1c, 0x9e, - 0xed, 0x7c, 0xb9, 0xb4, 0xa5, 0xa9, 0xb8, 0xa5, 0x63, 0x3c, 0x80, 0x6f, 0x56, 0x0a, 0x4b, 0x22, - 0x96, 0x20, 0x63, 0x7d, 0x9e, 0xcd, 0x90, 0x59, 0x86, 0x3d, 0xba, 0x22, 0x62, 0x56, 0xa2, 0x22, - 0x26, 0x91, 0x74, 0xe2, 0xed, 0x70, 0xb5, 0x76, 0xb9, 0xbb, 0xa4, 0x6d, 0x2e, 0xca, 0x46, 0x45, - 0xde, 0xc0, 0x12, 0xb6, 0x27, 0x6f, 0x4d, 0xa7, 0x07, 0x56, 0x41, 0x9f, 0xc5, 0x12, 0x88, 0x6d, - 0x79, 0x03, 0x2f, 0xb1, 0x00, 0xd8, 0x92, 0x31, 0xe4, 0x8b, 0x05, 0xbb, 0x15, 0xbb, 0xea, 0x00, - 0x61, 0xeb, 0x51, 0x32, 0x71, 0x16, 0xa0, 0x56, 0x78, 0xde, 0x03, 0xc4, 0xd6, 0x5d, 0x1b, 0x88, - 0xdd, 0x27, 0xd2, 0x53, 0xa3, 0x44, 0x1a, 0x06, 0x45, 0xda, 0x85, 0x75, 0xda, 0x0f, 0xeb, 0xb7, - 0xb2, 0x90, 0x69, 0xee, 0x75, 0xdb, 0xd6, 0x7a, 0xc7, 0x1d, 0xd1, 0xce, 0xc1, 0x09, 0xaa, 0x00, - 0xd4, 0xd2, 0xe5, 0x5d, 0xac, 0x1b, 0x78, 0x89, 0x2c, 0x18, 0x6c, 0x43, 0xe3, 0x43, 0xbf, 0x59, - 0xf2, 0x6b, 0x6c, 0x2b, 0xbd, 0xea, 0x4e, 0xcf, 0xdc, 0x5b, 0xb2, 0xf0, 0xa0, 0x3e, 0x77, 0x99, - 0x48, 0xf1, 0x1e, 0x40, 0xa6, 0xbe, 0xd7, 0xd2, 0x1c, 0xfc, 0x24, 0xbc, 0xa3, 0x99, 0xd8, 0x69, - 0x14, 0xf5, 0x47, 0x18, 0x9c, 0x02, 0xfd, 0x26, 0xb7, 0x45, 0x7d, 0x1b, 0x7a, 0xab, 0x69, 0x01, - 0xf3, 0xd4, 0x4b, 0x21, 0x6f, 0xcb, 0xb3, 0xb3, 0x40, 0x79, 0xce, 0x90, 0xfc, 0x9e, 0xc4, 0x4b, - 0x4e, 0x6a, 0xc6, 0xfc, 0xbc, 0x30, 0x60, 0x7e, 0xde, 0x81, 0xa9, 0x45, 0x4b, 0xf6, 0x8f, 0x3c, - 0x34, 0x8e, 0xf0, 0xc0, 0xfe, 0x6b, 0x89, 0xb4, 0xd6, 0x37, 0x2d, 0x11, 0xab, 0x75, 0x1b, 0x44, - 0xea, 0xe8, 0x50, 0x14, 0x92, 0x42, 0x9c, 0x83, 0x6b, 0xd8, 0xaf, 0x8b, 0xec, 0x98, 0x68, 0x0b, - 0x64, 0x68, 0x9a, 0x7d, 0xe2, 0x94, 0x1f, 0x25, 0x4e, 0x85, 0x01, 0x71, 0xe2, 0xb4, 0xb5, 0x1c, - 0x88, 0x42, 0xf2, 0xd3, 0xcc, 0x17, 0x04, 0xc8, 0xd9, 0x2c, 0x47, 0x6f, 0x49, 0x31, 0xcf, 0xf7, - 0x29, 0xa8, 0xee, 0xf3, 0x7d, 0x27, 0x3c, 0x21, 0x19, 0x7e, 0x3f, 0xbf, 0x01, 0x67, 0xc2, 0x3d, - 0xbb, 0x11, 0x81, 0x3a, 0x7d, 0x19, 0xa5, 0xbb, 0xa1, 0xd1, 0xeb, 0xb9, 0x11, 0x22, 0x4c, 0x92, - 0x72, 0x1e, 0x5b, 0x84, 0xd4, 0x3d, 0x11, 0xe7, 0xdf, 0x19, 0x6b, 0x98, 0x47, 0xaf, 0x64, 0x9c, - 0xc4, 0xac, 0x53, 0x87, 0x15, 0xd4, 0x07, 0x16, 0x0d, 0x0e, 0x3d, 0x07, 0x3b, 0x0d, 0x47, 0xfb, - 0x5d, 0xb9, 0xab, 0x75, 0xf7, 0x76, 0x94, 0xd7, 0xb8, 0x0b, 0x05, 0x26, 0x8e, 0x55, 0xd3, 0xe3, - 0x18, 0x4c, 0x2c, 0x8a, 0x82, 0x9d, 0x30, 0x6f, 0x28, 0x2a, 0x26, 0x0a, 0xfc, 0x8e, 0x45, 0x68, - 0x1a, 0x8e, 0xd4, 0x53, 0x86, 0x54, 0x91, 0x3c, 0xb7, 0xff, 0x3e, 0x05, 0x27, 0xce, 0xe3, 0x2e, - 0xd6, 0x95, 0xb6, 0xdd, 0x28, 0x2e, 0x6b, 0x8b, 0xc3, 0x72, 0xb0, 0x8b, 0x51, 0x3e, 0x3b, 0x89, - 0xc1, 0xe5, 0x24, 0x7f, 0x51, 0x92, 0x87, 0x2c, 0xe9, 0xd7, 0x73, 0xd7, 0x7c, 0xed, 0x89, 0x53, - 0xa9, 0x6f, 0x3e, 0x71, 0x2a, 0xf5, 0xfd, 0x27, 0x4e, 0xa5, 0x7e, 0xf1, 0xc9, 0x53, 0x47, 0xbe, - 0xf9, 0xe4, 0xa9, 0x23, 0x7f, 0xfe, 0xe4, 0xa9, 0x23, 0xff, 0x5f, 0xba, 0xb7, 0xbe, 0x9e, 0x23, - 0x7a, 0xae, 0xb7, 0xfe, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x87, 0x01, 0xa4, 0xc7, 0x65, 0x0c, - 0x01, 0x00, + // 10089 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x7d, 0x7b, 0x94, 0x24, 0x57, + 0x79, 0x9f, 0xba, 0xab, 0x1f, 0x33, 0xdf, 0xee, 0xec, 0xb6, 0xca, 0xcb, 0x6a, 0xb8, 0x12, 0x8b, + 0x58, 0x24, 0x21, 0x64, 0xd1, 0x8b, 0x56, 0x08, 0x24, 0xa1, 0x07, 0x3d, 0x3d, 0x3d, 0xbb, 0xad, + 0xed, 0xe9, 0x1e, 0x57, 0xf7, 0xec, 0xa2, 0xe0, 0x64, 0x52, 0xd3, 0x7d, 0x67, 0xa6, 0x98, 0x9a, + 0xaa, 0xa6, 0xaa, 0x7a, 0x56, 0xc3, 0x39, 0x4e, 0x0c, 0x18, 0xcb, 0xc0, 0x81, 0x18, 0xfc, 0xe0, + 0x15, 0xf3, 0x34, 0xc6, 0x60, 0x5e, 0xc2, 0x60, 0xf1, 0x08, 0x01, 0x3b, 0x22, 0x3c, 0x8c, 0x63, + 0x88, 0x1f, 0x18, 0x7c, 0x20, 0x20, 0xc2, 0x39, 0x49, 0x08, 0xc1, 0x38, 0xc4, 0x0e, 0xf6, 0xe1, + 0x38, 0xa7, 0x6e, 0xdd, 0x7a, 0xdc, 0x9e, 0xae, 0xea, 0x5b, 0x3d, 0x55, 0x3d, 0xcb, 0xc9, 0x5f, + 0xdd, 0xf7, 0xd6, 0xad, 0x7b, 0xbf, 0xfb, 0xfd, 0xbe, 0xfb, 0xa8, 0xef, 0x7e, 0xf7, 0xfb, 0x60, + 0xbe, 0xbf, 0x7e, 0xa6, 0x6f, 0xe8, 0x96, 0x6e, 0x9e, 0xe9, 0xea, 0x3b, 0x3b, 0xb2, 0xd6, 0x33, + 0xcb, 0x24, 0x2d, 0x16, 0x65, 0x6d, 0xcf, 0xda, 0xeb, 0x63, 0x74, 0x43, 0x7f, 0x7b, 0xf3, 0x8c, + 0xaa, 0xac, 0x9f, 0xe9, 0xaf, 0x9f, 0xd9, 0xd1, 0x7b, 0x58, 0x75, 0x5f, 0x20, 0x09, 0x5a, 0x1c, + 0xdd, 0x1c, 0x56, 0x4a, 0xd5, 0xbb, 0xb2, 0x6a, 0x5a, 0xba, 0x81, 0x69, 0xc9, 0x93, 0x7e, 0x93, + 0x78, 0x17, 0x6b, 0x96, 0x5b, 0xc3, 0x75, 0x9b, 0xba, 0xbe, 0xa9, 0x62, 0xe7, 0xd9, 0xfa, 0x60, + 0xe3, 0x8c, 0x69, 0x19, 0x83, 0xae, 0xe5, 0x3c, 0x3d, 0xfd, 0xc6, 0x37, 0xe7, 0x40, 0x90, 0xfa, + 0x5d, 0xf4, 0x58, 0x16, 0x8a, 0xcb, 0xd8, 0x32, 0x94, 0xae, 0x89, 0x3e, 0x96, 0x85, 0xb9, 0x36, + 0xb6, 0x56, 0x64, 0x43, 0xde, 0xc1, 0x16, 0x36, 0x4c, 0x74, 0x23, 0x14, 0x25, 0xfc, 0xa2, 0x01, + 0x36, 0x2d, 0x11, 0xc1, 0x4c, 0x5f, 0x95, 0xad, 0x0d, 0xdd, 0xd8, 0x99, 0xcf, 0x5c, 0x9f, 0xb9, + 0x79, 0x56, 0xf2, 0xd2, 0xe8, 0x9f, 0x32, 0x30, 0x23, 0x61, 0xb3, 0xaf, 0x6b, 0x26, 0x16, 0xcf, + 0x41, 0x1e, 0x1b, 0x86, 0x6e, 0x90, 0x52, 0x47, 0xce, 0xde, 0x56, 0xa6, 0x3d, 0x2f, 0x4b, 0xfd, + 0x6e, 0x99, 0x36, 0x55, 0x66, 0x9a, 0x29, 0xbb, 0xef, 0x96, 0x6b, 0xf6, 0x8b, 0x92, 0xf3, 0x3e, + 0x7a, 0x4f, 0x06, 0xf2, 0x24, 0x43, 0x7c, 0x00, 0x72, 0x5d, 0xbd, 0x87, 0x49, 0x8d, 0xc7, 0xce, + 0x3e, 0x3b, 0x76, 0x8d, 0xe5, 0xaa, 0xde, 0xc3, 0x12, 0xa9, 0x43, 0xbc, 0x1e, 0x8e, 0xf4, 0xb0, + 0xd9, 0x35, 0x94, 0xbe, 0xa5, 0xe8, 0xda, 0x7c, 0x96, 0x74, 0x25, 0x98, 0x75, 0xfa, 0x2c, 0xe4, + 0xec, 0xf2, 0xe2, 0x0c, 0xe4, 0x9a, 0xab, 0x8d, 0x46, 0xe9, 0x2a, 0xf1, 0x6a, 0x98, 0x5b, 0x6d, + 0x5e, 0x68, 0xb6, 0x2e, 0x35, 0xd7, 0x6a, 0x92, 0xd4, 0x92, 0x4a, 0x19, 0x71, 0x0e, 0x66, 0x17, + 0x2a, 0x8b, 0x6b, 0xf5, 0xe6, 0xca, 0x6a, 0xa7, 0x94, 0x45, 0xff, 0xa3, 0x00, 0x47, 0x6b, 0x0f, + 0x59, 0xd8, 0xd0, 0x64, 0x75, 0xd1, 0xd0, 0xfb, 0xe8, 0x71, 0x01, 0xf2, 0x4b, 0x8a, 0x8a, 0x4d, + 0xf4, 0x81, 0x8c, 0xcf, 0xc4, 0xeb, 0x60, 0xb6, 0xab, 0x6b, 0x16, 0x7e, 0xc8, 0xaa, 0xf7, 0x28, + 0x17, 0xfd, 0x0c, 0xf1, 0x34, 0x1c, 0xed, 0x19, 0x7a, 0xbf, 0x23, 0x1b, 0x9b, 0xd8, 0x2e, 0xe0, + 0xd0, 0xc6, 0xe4, 0x89, 0x77, 0xc1, 0x4c, 0x5f, 0x37, 0x15, 0x42, 0xbb, 0x40, 0xd8, 0xf1, 0x24, + 0x8f, 0x1d, 0x44, 0x50, 0xca, 0x0b, 0xaa, 0xde, 0xdd, 0x2e, 0xaf, 0xd0, 0x42, 0x92, 0x57, 0x5c, + 0xbc, 0x09, 0x8e, 0x11, 0xe9, 0xb1, 0xc9, 0x5a, 0x91, 0xad, 0x2d, 0x73, 0x3e, 0x77, 0xbd, 0x70, + 0xf3, 0xac, 0x34, 0x94, 0x8b, 0xde, 0x9d, 0x0d, 0xa0, 0xb9, 0xc8, 0xa2, 0x59, 0x66, 0x78, 0x1f, + 0xec, 0x71, 0x99, 0xf4, 0x76, 0x34, 0x94, 0xe2, 0xad, 0x90, 0x27, 0xc2, 0x49, 0xba, 0x74, 0xe4, + 0xec, 0x49, 0xbf, 0x16, 0x5a, 0xbc, 0x66, 0x3f, 0x95, 0x9c, 0x42, 0xe8, 0x77, 0x3c, 0xe0, 0xcf, + 0x31, 0xc0, 0xdf, 0x1e, 0xaf, 0xf1, 0xf4, 0x51, 0xff, 0x51, 0x16, 0x8a, 0x55, 0x1b, 0x3e, 0xcd, + 0x42, 0x0a, 0x2f, 0xca, 0x37, 0xc1, 0xb1, 0x0d, 0xbd, 0x3b, 0x30, 0x71, 0x8f, 0x20, 0xe5, 0xe1, + 0x3c, 0x94, 0x2b, 0xce, 0x43, 0xb1, 0xeb, 0xd4, 0x4d, 0x80, 0x3e, 0x2a, 0xb9, 0x49, 0xf4, 0x93, + 0xe0, 0x70, 0x5b, 0x62, 0x01, 0x7a, 0x66, 0x38, 0x8f, 0x28, 0xa5, 0x21, 0xa3, 0xed, 0x77, 0x3d, + 0xa6, 0xd7, 0x19, 0xa6, 0xdf, 0x11, 0xb7, 0xc2, 0xf4, 0xd9, 0xfe, 0x67, 0x67, 0x60, 0x96, 0x70, + 0xa9, 0xa1, 0x98, 0x16, 0xfa, 0xa0, 0x00, 0x27, 0xab, 0xba, 0xb6, 0x8b, 0x0d, 0xab, 0xba, 0xa5, + 0xa8, 0x3d, 0x03, 0x6b, 0x1d, 0x7d, 0x45, 0xde, 0xc4, 0x26, 0xea, 0xf2, 0x62, 0x82, 0x60, 0x66, + 0xdd, 0x61, 0xbb, 0x39, 0x9f, 0x25, 0x83, 0xc2, 0x4b, 0x8b, 0xa7, 0x00, 0xf4, 0xf5, 0x17, 0xe2, + 0xae, 0xd5, 0xd9, 0xeb, 0x63, 0x02, 0xc5, 0xac, 0x14, 0xc8, 0x41, 0x1f, 0x0c, 0x0e, 0x17, 0x89, + 0x45, 0xe3, 0x1e, 0x86, 0x79, 0x1e, 0xcd, 0xe5, 0xd1, 0xf4, 0x86, 0x0c, 0x9e, 0x79, 0x28, 0xaa, + 0x8a, 0x16, 0xa0, 0xcd, 0x4d, 0xa2, 0x8f, 0x78, 0x98, 0xad, 0x32, 0x98, 0x55, 0x0e, 0xd2, 0x6c, + 0xfa, 0xf8, 0xfd, 0xbd, 0x00, 0xb9, 0x65, 0x7d, 0x17, 0xa3, 0x2f, 0x65, 0x92, 0x00, 0xe8, 0x66, + 0x38, 0x6e, 0x91, 0xe9, 0xb1, 0xea, 0xbd, 0xef, 0xa0, 0x34, 0x9c, 0xbd, 0x6f, 0x82, 0xcd, 0x8d, + 0x99, 0x60, 0xf3, 0xb1, 0x26, 0x58, 0xf4, 0xd6, 0xa0, 0x24, 0x3c, 0x8f, 0x95, 0x84, 0x5b, 0x42, + 0x20, 0xb1, 0xf9, 0x90, 0xc8, 0xa4, 0xf9, 0x0e, 0x4f, 0x16, 0xaa, 0x8c, 0x2c, 0x9c, 0xe1, 0x6f, + 0x38, 0x7d, 0xe4, 0x7f, 0x3f, 0x07, 0x73, 0x76, 0xc3, 0x1d, 0xbd, 0x89, 0x2f, 0xdb, 0xc2, 0x87, + 0xfe, 0x22, 0x11, 0x11, 0xb8, 0x0d, 0x8a, 0x3d, 0x6c, 0xc9, 0x8a, 0x6a, 0x12, 0xe8, 0x8f, 0x9c, + 0xbd, 0xa6, 0xec, 0x6c, 0x7f, 0xca, 0xee, 0xf6, 0xa7, 0xdc, 0x26, 0xdb, 0x1f, 0xc9, 0x2d, 0x97, + 0xb6, 0x2c, 0x7c, 0x21, 0x28, 0x0b, 0x75, 0x56, 0x16, 0x6e, 0x8f, 0x80, 0xc4, 0xe3, 0x4c, 0x88, + 0x50, 0x9c, 0x84, 0x82, 0x33, 0xfa, 0x29, 0x24, 0x34, 0xe5, 0x0b, 0x8b, 0xc0, 0x23, 0x2c, 0xbf, + 0xe7, 0x09, 0x4b, 0x83, 0x11, 0x96, 0x3b, 0x27, 0xa0, 0x2c, 0x7d, 0xa9, 0xf9, 0x1b, 0x01, 0x66, + 0x17, 0x07, 0x7d, 0x55, 0xe9, 0xca, 0x16, 0x46, 0x6f, 0x8a, 0x23, 0x31, 0x16, 0xbb, 0x97, 0xf2, + 0xd2, 0x8c, 0x34, 0x09, 0x43, 0xd2, 0x14, 0x84, 0x3d, 0x17, 0x0f, 0xf6, 0xcf, 0x06, 0x61, 0xaf, + 0xb1, 0xb0, 0x87, 0x8d, 0x44, 0xaf, 0x6b, 0x21, 0x90, 0x47, 0x09, 0x7e, 0x3c, 0xd8, 0xdf, 0xed, + 0xc1, 0x7e, 0x9e, 0x81, 0xfd, 0x59, 0x31, 0x29, 0x4b, 0x1f, 0xf2, 0x8f, 0x5c, 0x07, 0x42, 0x1b, + 0x5b, 0xe8, 0xb7, 0x01, 0x72, 0x1d, 0xfc, 0x90, 0x85, 0xfe, 0x48, 0x80, 0x7c, 0xdb, 0xda, 0x53, + 0x31, 0x7a, 0x69, 0x22, 0x33, 0xc6, 0xbd, 0x90, 0x37, 0xed, 0xea, 0xe8, 0x26, 0xfa, 0x69, 0x23, + 0x01, 0x76, 0x37, 0x38, 0x36, 0x05, 0x65, 0xd2, 0xba, 0xe4, 0xbc, 0x85, 0x7e, 0x3f, 0x88, 0xf3, + 0x03, 0x2c, 0xce, 0x61, 0xdc, 0x6c, 0xe3, 0x60, 0x4d, 0x89, 0x4c, 0xfa, 0xef, 0xf3, 0x00, 0x5d, + 0x66, 0x00, 0xbd, 0x6b, 0x12, 0x12, 0xd2, 0x47, 0xf5, 0x0d, 0x02, 0xe4, 0xab, 0xba, 0xaa, 0x1b, + 0xe8, 0xc1, 0x24, 0x30, 0x3c, 0x01, 0xf9, 0xae, 0x5d, 0x1b, 0x5d, 0xee, 0x9d, 0xc4, 0xc1, 0xa0, + 0x21, 0xd4, 0x1d, 0x2e, 0x34, 0xa3, 0x48, 0x48, 0x1f, 0x9a, 0x4f, 0xda, 0x7b, 0x32, 0xd9, 0xd8, + 0x46, 0xff, 0x3a, 0x09, 0x64, 0xee, 0x86, 0xdc, 0x8e, 0x6c, 0x6c, 0xd3, 0x59, 0xe9, 0xa6, 0xf1, + 0x83, 0xcb, 0x6e, 0x5a, 0x22, 0xef, 0xa0, 0x47, 0x26, 0x58, 0x39, 0x3d, 0xe6, 0xd9, 0xf5, 0x24, + 0x02, 0x5f, 0xdc, 0x15, 0x32, 0x8a, 0x82, 0xf4, 0xd1, 0x7b, 0x9f, 0x00, 0xc7, 0x17, 0xe4, 0xee, + 0xf6, 0xa6, 0xa1, 0x0f, 0xb4, 0x5e, 0xea, 0x43, 0xec, 0x53, 0x41, 0x88, 0x5a, 0x2c, 0x44, 0x51, + 0xf2, 0x3d, 0x44, 0x62, 0x22, 0x40, 0x3d, 0xe2, 0x01, 0x25, 0x31, 0x40, 0xdd, 0x37, 0x31, 0x1d, + 0xe9, 0xc3, 0xf5, 0x5e, 0x01, 0xf2, 0x15, 0x55, 0xd9, 0xd4, 0xd0, 0x20, 0x09, 0x90, 0x9e, 0x09, + 0x79, 0xd9, 0xae, 0x8d, 0xae, 0x65, 0x68, 0xe4, 0x70, 0x23, 0xed, 0x49, 0x4e, 0x41, 0xf4, 0x9e, + 0x09, 0xb6, 0x29, 0x36, 0xe3, 0x48, 0x25, 0x89, 0xc0, 0x16, 0x77, 0x2b, 0x12, 0xd6, 0x7a, 0xfa, + 0x60, 0xbd, 0x36, 0x07, 0x85, 0x25, 0x05, 0xab, 0x3d, 0x13, 0xfd, 0x15, 0xf7, 0xd6, 0xe3, 0x22, + 0x1c, 0x21, 0xf0, 0x38, 0x2f, 0x12, 0xc4, 0xa2, 0x57, 0x1f, 0xa7, 0x60, 0x99, 0xd6, 0xee, 0x3c, + 0x24, 0x79, 0x52, 0xb0, 0x22, 0x74, 0x09, 0xc0, 0x7f, 0x24, 0xce, 0x43, 0x91, 0x0a, 0x01, 0xa5, + 0xc0, 0x4d, 0x8a, 0x67, 0xa0, 0xb0, 0xe1, 0x36, 0x1d, 0xf9, 0x3d, 0x44, 0x8b, 0xa1, 0xdf, 0xcb, + 0xf2, 0xea, 0x94, 0x42, 0xe8, 0x3e, 0xb8, 0x48, 0xf0, 0x69, 0xa0, 0x38, 0x9a, 0x4f, 0x5f, 0x26, + 0x3e, 0x27, 0x80, 0xb0, 0xa8, 0xec, 0xa2, 0x4f, 0x7b, 0xbb, 0xd2, 0x97, 0x24, 0xb2, 0x2b, 0xbd, + 0x87, 0xdd, 0x95, 0x46, 0x2f, 0x9c, 0x8b, 0xca, 0x2e, 0xbb, 0x29, 0x9d, 0x74, 0xe5, 0xf4, 0x2a, + 0x3a, 0xb4, 0x95, 0x33, 0x8c, 0x82, 0xf4, 0x91, 0xfc, 0x63, 0x01, 0x72, 0x4b, 0x8a, 0x8a, 0x0f, + 0xf7, 0x03, 0xc3, 0xa6, 0x20, 0x99, 0x0f, 0x0c, 0xbf, 0xa6, 0x43, 0xdb, 0xc5, 0x86, 0x92, 0x90, + 0x3e, 0x9a, 0x1f, 0x17, 0x60, 0xa6, 0x33, 0x30, 0xb4, 0xba, 0x66, 0xe9, 0x57, 0xc6, 0x87, 0x22, + 0xff, 0x61, 0x8a, 0xcf, 0x44, 0xb7, 0x07, 0x53, 0x3c, 0x4c, 0x19, 0xdb, 0x78, 0xfa, 0xd8, 0xbd, + 0xfc, 0x1b, 0x19, 0xc8, 0x13, 0x3a, 0xd0, 0x87, 0x05, 0x1b, 0xb9, 0xbe, 0x2a, 0x77, 0x31, 0xda, + 0xe1, 0x05, 0x31, 0xb0, 0x18, 0x66, 0xd9, 0xc5, 0xf0, 0x16, 0xc8, 0x93, 0xbf, 0xf4, 0x73, 0xe4, + 0xc4, 0x28, 0x08, 0x25, 0xa7, 0x08, 0x7a, 0x34, 0x88, 0xd7, 0xfd, 0x2c, 0x5e, 0x4f, 0xdf, 0xcf, + 0xb2, 0x32, 0x25, 0x33, 0x5c, 0x75, 0x1f, 0x42, 0x53, 0x3c, 0xc5, 0xcd, 0xdb, 0x3d, 0x10, 0x17, + 0x18, 0x10, 0xcb, 0xdc, 0x14, 0x4d, 0x65, 0x53, 0x3b, 0xb7, 0xda, 0xef, 0xc9, 0x16, 0x76, 0x8f, + 0xc4, 0xa6, 0x0c, 0x5d, 0xcc, 0x4d, 0x6d, 0x99, 0x21, 0x76, 0xdc, 0x58, 0x4b, 0x5a, 0xbf, 0x16, + 0xd9, 0x7a, 0xfa, 0x60, 0x7d, 0x3d, 0x07, 0xf9, 0x76, 0x5f, 0x55, 0x2c, 0xf4, 0xa6, 0x6c, 0x22, + 0x28, 0x19, 0xb2, 0xb6, 0x89, 0x43, 0x50, 0x92, 0xec, 0x67, 0x92, 0x53, 0xc4, 0x9f, 0x4f, 0x73, + 0x93, 0xcc, 0xa7, 0xe2, 0x5d, 0x90, 0xb3, 0x0b, 0x52, 0x75, 0xfc, 0x8d, 0x23, 0x18, 0x4b, 0xba, + 0xe5, 0x6d, 0xa4, 0x97, 0x09, 0x27, 0xed, 0x57, 0x4e, 0xdf, 0x06, 0x39, 0x3b, 0x25, 0x02, 0x14, + 0x16, 0x5a, 0x9d, 0x4e, 0x6b, 0xb9, 0x74, 0x95, 0x58, 0x04, 0xa1, 0xd3, 0x5a, 0x29, 0x65, 0xc4, + 0x59, 0xc8, 0xd7, 0x9b, 0xcd, 0x9a, 0x54, 0xca, 0xda, 0x7f, 0x3b, 0xf5, 0x4e, 0xa3, 0x56, 0x12, + 0xd8, 0x55, 0xf8, 0x5e, 0x56, 0xa4, 0x9e, 0x16, 0xd1, 0x76, 0x9a, 0x73, 0xc1, 0x5b, 0x3d, 0x21, + 0x7b, 0x1e, 0x23, 0x64, 0xb7, 0x72, 0xd2, 0x93, 0xbe, 0x70, 0xfd, 0xa6, 0x00, 0xf9, 0x65, 0x6c, + 0x6c, 0x62, 0xf4, 0xa2, 0x18, 0xa6, 0x0f, 0x1b, 0x8a, 0x61, 0x5a, 0xec, 0x91, 0x38, 0x93, 0x27, + 0xde, 0x00, 0x73, 0x26, 0xee, 0xea, 0x9a, 0x77, 0x6e, 0xee, 0xe8, 0x24, 0xd8, 0x4c, 0xf4, 0xc6, + 0x98, 0x90, 0x11, 0x42, 0x13, 0x59, 0x69, 0xe3, 0x00, 0x33, 0xaa, 0xd5, 0xf4, 0x81, 0xf9, 0x3b, + 0xc1, 0x7e, 0xa9, 0xbf, 0x87, 0xde, 0xc8, 0xbd, 0x35, 0xba, 0x15, 0x0a, 0x44, 0x4c, 0xdd, 0x6f, + 0xd8, 0xd1, 0x33, 0x30, 0x2d, 0x23, 0x2e, 0xc0, 0xd5, 0x26, 0x56, 0x71, 0xd7, 0xc2, 0x3d, 0x7b, + 0xe8, 0x4a, 0x63, 0x27, 0x85, 0xfd, 0xc5, 0xd1, 0x57, 0x82, 0x00, 0xde, 0xc3, 0x02, 0x78, 0xd3, + 0x08, 0x56, 0xda, 0x1d, 0x0a, 0x3f, 0x39, 0xb1, 0xbb, 0xd1, 0x56, 0x75, 0xcb, 0x3b, 0x00, 0xa2, + 0x69, 0xfb, 0xd9, 0x96, 0xb5, 0xa3, 0x92, 0x67, 0x8e, 0x20, 0x79, 0x69, 0xb1, 0x0c, 0x45, 0x59, + 0xdb, 0x23, 0x8f, 0x72, 0x11, 0xbd, 0x76, 0x0b, 0xa1, 0xb7, 0x78, 0xc8, 0xdf, 0xcf, 0x20, 0xff, + 0xb3, 0x7c, 0xe4, 0xa6, 0x0f, 0xfc, 0xdf, 0x16, 0x20, 0xbf, 0x22, 0x9b, 0x16, 0x46, 0xdf, 0x14, + 0x92, 0xb6, 0x53, 0x49, 0x00, 0x73, 0xf1, 0x16, 0x28, 0xb9, 0x99, 0x0b, 0xee, 0x46, 0xdc, 0x31, + 0x4e, 0xda, 0x97, 0x6f, 0x4f, 0x03, 0x8a, 0xb9, 0x22, 0x1b, 0x56, 0x6b, 0x83, 0xe4, 0x91, 0xa5, + 0x60, 0x46, 0x62, 0x33, 0x19, 0xe8, 0x0b, 0x11, 0xd0, 0x17, 0xc3, 0xa1, 0x9f, 0xe1, 0x80, 0x5e, + 0xac, 0xc0, 0xcc, 0x86, 0xa2, 0x62, 0xf2, 0xc2, 0x2c, 0x79, 0x61, 0xd4, 0x9a, 0x44, 0x78, 0xef, + 0xad, 0x49, 0xf6, 0x07, 0x92, 0xe4, 0xbd, 0x86, 0x1a, 0xce, 0x17, 0xa8, 0x28, 0x42, 0x4e, 0x93, + 0x77, 0x30, 0x45, 0x82, 0xfc, 0xb7, 0xf3, 0x7a, 0xb2, 0x25, 0x13, 0xd6, 0x1f, 0x95, 0xc8, 0x7f, + 0x1b, 0x36, 0x62, 0xb1, 0xb5, 0x22, 0x5b, 0x5b, 0x54, 0x74, 0xfd, 0x0c, 0xf4, 0xb0, 0x10, 0x6f, + 0xfe, 0x73, 0x49, 0x8b, 0x7b, 0xf2, 0x78, 0x03, 0xcc, 0x75, 0x65, 0x03, 0x5b, 0x2b, 0x41, 0x6b, + 0xb4, 0xbc, 0xc4, 0x66, 0xda, 0xc0, 0x2a, 0x66, 0x5b, 0xde, 0xc1, 0xa4, 0xb1, 0xaa, 0xfd, 0x8c, + 0x2c, 0xfc, 0x33, 0xd2, 0xbe, 0x7c, 0x7f, 0xb6, 0xcd, 0x27, 0x3d, 0xdb, 0x8e, 0xea, 0x63, 0xfa, + 0x83, 0xee, 0xed, 0x39, 0x10, 0xaa, 0x03, 0xeb, 0x8a, 0x9e, 0x6c, 0x7f, 0x12, 0x9c, 0x6c, 0x9f, + 0xcb, 0x4a, 0xcb, 0x28, 0x41, 0xae, 0x0e, 0xac, 0xc3, 0x9d, 0x6b, 0x63, 0x4a, 0xc9, 0x6f, 0x79, + 0x52, 0x72, 0x1f, 0x23, 0x25, 0xb7, 0x70, 0xf5, 0x2d, 0x7d, 0x19, 0x79, 0x8f, 0x00, 0xc7, 0xea, + 0x3b, 0x7d, 0xdd, 0xb0, 0x96, 0x65, 0x63, 0xbb, 0xa7, 0x5f, 0xd6, 0xd0, 0x39, 0x5e, 0x69, 0x39, + 0x05, 0xa0, 0x90, 0x57, 0xc9, 0x44, 0xe0, 0x10, 0x14, 0xc8, 0x41, 0x7f, 0x12, 0x4f, 0xa5, 0x5b, + 0x66, 0xe9, 0x08, 0x81, 0xf9, 0x7a, 0x38, 0x62, 0xe8, 0xba, 0xd5, 0x60, 0x0c, 0xd2, 0x82, 0x59, + 0x31, 0x77, 0xb3, 0x31, 0x94, 0xbe, 0xd1, 0x04, 0x4e, 0xe1, 0x20, 0x40, 0x80, 0x42, 0xed, 0x21, + 0x9b, 0x04, 0xb4, 0x9a, 0xca, 0x88, 0x66, 0x4d, 0x09, 0xef, 0x63, 0x11, 0xbb, 0x79, 0x04, 0x43, + 0x1c, 0x6a, 0x42, 0x90, 0x12, 0x21, 0xd7, 0xf7, 0x05, 0x83, 0xfc, 0x8f, 0x89, 0xcd, 0xdb, 0x3c, + 0x6c, 0x2a, 0x0c, 0x36, 0xcf, 0xe0, 0x25, 0x25, 0x7d, 0x4c, 0x5e, 0x2f, 0x40, 0x61, 0xb5, 0xaf, + 0xea, 0x72, 0x0f, 0xe9, 0x07, 0xff, 0x8e, 0x45, 0xce, 0x62, 0x1e, 0x58, 0x58, 0xbd, 0xb4, 0x58, + 0x02, 0x61, 0x60, 0xa8, 0xd4, 0x4c, 0xcc, 0xfe, 0x8b, 0xde, 0x1c, 0x13, 0x2d, 0x87, 0xce, 0x44, + 0x3e, 0x35, 0xe2, 0x20, 0x33, 0xb2, 0xd9, 0xf4, 0x91, 0xf9, 0x41, 0x16, 0x66, 0x16, 0xf5, 0xcb, + 0x1a, 0xc1, 0xa6, 0x72, 0x60, 0x6c, 0xe2, 0x1a, 0x57, 0x96, 0xdd, 0xb6, 0xa7, 0x6d, 0x5c, 0x19, + 0xd6, 0x70, 0xfa, 0x1c, 0x7f, 0xfc, 0x76, 0xc7, 0x66, 0xea, 0x1d, 0x82, 0x77, 0x60, 0x69, 0x1c, + 0x7c, 0x4c, 0xf8, 0x27, 0x89, 0x02, 0xdf, 0x49, 0xe2, 0x3b, 0x83, 0x40, 0x2d, 0xb0, 0x40, 0x8d, + 0xd4, 0x51, 0x24, 0x7b, 0x8a, 0xf8, 0xdb, 0x1e, 0x54, 0x35, 0x06, 0xaa, 0xdb, 0xe2, 0x34, 0x9d, + 0x3e, 0x58, 0xdf, 0x15, 0xa0, 0xb8, 0xe8, 0x98, 0xa2, 0xa2, 0xf3, 0x50, 0x70, 0xfe, 0xda, 0x93, + 0xcc, 0x36, 0xde, 0xa3, 0xf0, 0xd8, 0x7f, 0xed, 0xce, 0xef, 0xca, 0xea, 0x00, 0x7b, 0x9d, 0x1f, + 0xe6, 0xfe, 0x45, 0xfb, 0xa9, 0xe4, 0x14, 0x42, 0x5b, 0xbc, 0x78, 0xdf, 0xef, 0x1b, 0xcc, 0x66, + 0x43, 0xbf, 0x5a, 0xc8, 0xc9, 0x9c, 0x53, 0x8a, 0xfe, 0x7a, 0xe6, 0xb3, 0xe8, 0x5d, 0x41, 0x94, + 0xab, 0x2c, 0xca, 0xcf, 0x18, 0x53, 0x57, 0x12, 0x30, 0xbf, 0xcb, 0x83, 0x79, 0x89, 0x81, 0xf9, + 0x6c, 0xac, 0xb6, 0xa7, 0x72, 0xbe, 0x78, 0x54, 0xc2, 0xa6, 0x65, 0x28, 0x5d, 0xbb, 0x0e, 0x13, + 0xfd, 0x4a, 0xe6, 0xe0, 0x63, 0xb2, 0x06, 0x47, 0x8d, 0x40, 0x9d, 0x74, 0x64, 0x3e, 0x65, 0xa4, + 0x2a, 0x35, 0xd8, 0xb8, 0xc4, 0xbc, 0xc6, 0x6e, 0x37, 0xce, 0xb3, 0x18, 0x86, 0xf1, 0x31, 0x58, + 0x5d, 0x22, 0x40, 0xbe, 0xd7, 0x03, 0xf2, 0x02, 0x03, 0xe4, 0x73, 0xe2, 0x13, 0x90, 0x3e, 0x9a, + 0x2f, 0x15, 0x20, 0x47, 0xcc, 0xd6, 0x7f, 0x9c, 0x05, 0xa8, 0x9b, 0x15, 0xa3, 0xbb, 0xa5, 0xec, + 0xe2, 0x1e, 0x92, 0x0f, 0x8e, 0xa9, 0xbd, 0x9b, 0xf7, 0x2a, 0x24, 0x88, 0xce, 0x48, 0x81, 0x1c, + 0xf4, 0x70, 0x10, 0xac, 0x0b, 0x2c, 0x58, 0x77, 0x84, 0xf0, 0x8a, 0x58, 0x6b, 0xfb, 0x64, 0x86, + 0xdc, 0xfc, 0x79, 0xbf, 0x87, 0x40, 0x93, 0x41, 0xe0, 0xee, 0x89, 0x6a, 0x4d, 0x1f, 0x84, 0xdf, + 0x10, 0x20, 0xdf, 0x90, 0x2d, 0xfc, 0x10, 0x7a, 0x95, 0x40, 0xad, 0x83, 0x57, 0x0f, 0xce, 0x7f, + 0x11, 0x72, 0x76, 0x19, 0xba, 0xef, 0x23, 0xff, 0xe3, 0x1a, 0xc5, 0x10, 0xee, 0x10, 0xca, 0x9c, + 0x83, 0x8b, 0x29, 0x1b, 0xc5, 0x44, 0x37, 0x9f, 0x3e, 0x2e, 0xdf, 0x2f, 0x51, 0x34, 0xbe, 0xe0, + 0xc2, 0xf2, 0xeb, 0x99, 0x54, 0x70, 0x11, 0xef, 0x85, 0xfc, 0x8e, 0x6c, 0x6c, 0x9b, 0x64, 0x37, + 0x7e, 0x84, 0xe7, 0x0c, 0xc9, 0xfe, 0x68, 0x34, 0x25, 0xe7, 0xad, 0xd8, 0x07, 0x85, 0x9e, 0x6d, + 0x67, 0x62, 0xa8, 0xc6, 0x39, 0x28, 0x8c, 0x6a, 0x3d, 0x7d, 0x50, 0x5f, 0xe3, 0x99, 0x6c, 0x5f, + 0x3a, 0x38, 0x96, 0xa3, 0xad, 0x49, 0x27, 0x19, 0x65, 0x09, 0x1b, 0x6b, 0xc7, 0x1d, 0x65, 0x87, + 0x68, 0xa8, 0xfd, 0x31, 0xcf, 0x4e, 0xe9, 0x17, 0x13, 0x18, 0x5d, 0x07, 0xb4, 0x6e, 0x99, 0x18, + 0xba, 0xe4, 0x2c, 0x94, 0x26, 0x82, 0xee, 0xd0, 0xae, 0x3f, 0x14, 0xab, 0x5b, 0xb8, 0xbb, 0x8d, + 0x7b, 0xe8, 0x05, 0x07, 0xc7, 0x6e, 0x1e, 0x8a, 0x5d, 0xa7, 0x36, 0xba, 0x5d, 0x70, 0x93, 0x13, + 0x6d, 0xec, 0x1c, 0x91, 0x76, 0x2a, 0x38, 0x94, 0x8d, 0x5d, 0x04, 0x01, 0xe9, 0x43, 0xf3, 0x88, + 0x00, 0xb9, 0x7a, 0x57, 0xd7, 0xd0, 0x2f, 0x1c, 0x1c, 0x97, 0xeb, 0x60, 0x56, 0xe9, 0xea, 0x5a, + 0x7d, 0x47, 0xde, 0x74, 0xef, 0x0b, 0xfb, 0x19, 0xee, 0xd3, 0xda, 0x8e, 0xfe, 0x42, 0x85, 0xe8, + 0xb0, 0xe9, 0x53, 0x92, 0x31, 0xf9, 0xd2, 0x64, 0x13, 0x7f, 0x78, 0x4b, 0xd3, 0x88, 0xd6, 0xd3, + 0xc7, 0xec, 0x75, 0xae, 0xe9, 0xe6, 0x2b, 0x04, 0xc8, 0x35, 0xe5, 0x1d, 0x9c, 0xd0, 0x36, 0x90, + 0x1c, 0xc2, 0x09, 0xfe, 0x21, 0xdc, 0x44, 0xa0, 0x10, 0x23, 0x48, 0x9b, 0xa8, 0x43, 0x01, 0x25, + 0xac, 0xf5, 0xf4, 0x41, 0xf9, 0x52, 0x1e, 0xf2, 0x44, 0xd0, 0xd1, 0x37, 0xb2, 0xe9, 0xa2, 0xc2, + 0xef, 0x05, 0xc1, 0xe7, 0x0b, 0xa1, 0x2c, 0x02, 0x96, 0xd8, 0xab, 0x49, 0x68, 0x85, 0x53, 0x50, + 0xf7, 0x65, 0x21, 0x7f, 0x49, 0xe9, 0x59, 0x5b, 0x09, 0xed, 0xcc, 0x2e, 0xdb, 0x75, 0xd1, 0x53, + 0x5c, 0x27, 0x11, 0xc3, 0xaf, 0xcb, 0x30, 0x47, 0x08, 0x61, 0x07, 0xf2, 0xeb, 0xc2, 0x53, 0xe3, + 0x74, 0xc4, 0xf9, 0xa2, 0xd2, 0xc3, 0xfa, 0x15, 0x29, 0xce, 0x84, 0xb2, 0x24, 0xc5, 0x39, 0xb4, + 0xc2, 0xff, 0x6f, 0xc5, 0xd9, 0xe1, 0x48, 0x92, 0xe2, 0x1c, 0x5e, 0x63, 0xfa, 0x4c, 0xfe, 0xb4, + 0x00, 0xb9, 0x86, 0xa2, 0x6d, 0xa3, 0x3f, 0x10, 0x60, 0xce, 0x71, 0x73, 0xe0, 0xda, 0xcd, 0x6d, + 0x1e, 0x9c, 0xeb, 0x37, 0xc0, 0x9c, 0x15, 0xac, 0xd3, 0x35, 0xd0, 0x63, 0x32, 0xd1, 0x27, 0x83, + 0xab, 0x69, 0x93, 0x45, 0xe1, 0xce, 0x30, 0xad, 0x86, 0xa2, 0x6d, 0x97, 0x19, 0x7a, 0x13, 0x59, + 0x56, 0x3f, 0xe4, 0x41, 0xf7, 0x73, 0x0c, 0x74, 0xf7, 0x4e, 0x4a, 0x46, 0xfa, 0x08, 0x3e, 0x56, + 0xb0, 0xb9, 0xa7, 0xca, 0xc4, 0xdb, 0xc0, 0xab, 0x05, 0x28, 0xb4, 0xb1, 0x75, 0x01, 0xef, 0xa1, + 0xf6, 0xc1, 0xe1, 0xa3, 0x87, 0x0f, 0x82, 0x77, 0xf8, 0x80, 0xde, 0x9f, 0x8d, 0x37, 0x60, 0x5c, + 0xc2, 0xca, 0x0e, 0x51, 0x89, 0x60, 0x14, 0x67, 0x78, 0x45, 0xb7, 0x9f, 0x3e, 0x38, 0xef, 0x16, + 0x40, 0xa8, 0xf4, 0x7a, 0x68, 0xf7, 0xe0, 0x60, 0xdc, 0x0e, 0x33, 0x06, 0xed, 0x8d, 0x77, 0xf0, + 0x36, 0x64, 0xd3, 0x43, 0x1f, 0x4b, 0x5e, 0xc1, 0xb8, 0x97, 0x4d, 0x7c, 0x7e, 0x55, 0x7a, 0xbd, + 0x69, 0x5f, 0x36, 0x89, 0x6a, 0x3c, 0x7d, 0xa4, 0x3e, 0x20, 0x00, 0xb4, 0x7c, 0x1f, 0x4e, 0x6f, + 0x15, 0x9c, 0xa3, 0xd3, 0x65, 0x5e, 0xe0, 0x6e, 0x80, 0x39, 0xdf, 0x05, 0xd4, 0xaa, 0xa1, 0xba, + 0x53, 0x1d, 0x93, 0x89, 0x3e, 0x1f, 0x53, 0x3d, 0xe2, 0x53, 0xe4, 0x1e, 0x75, 0x1c, 0x18, 0x91, + 0xcf, 0xc6, 0xd8, 0x01, 0x44, 0x36, 0x1f, 0x0f, 0x93, 0x56, 0x7c, 0x4c, 0xc4, 0x6b, 0xe1, 0x1a, + 0xb7, 0x44, 0x6b, 0xe1, 0x81, 0x5a, 0xb5, 0xb3, 0xd6, 0x79, 0x70, 0xa5, 0xb6, 0xb6, 0x2a, 0x35, + 0x4a, 0x02, 0x7a, 0x7d, 0x11, 0x66, 0x16, 0x74, 0x7d, 0x9b, 0xb8, 0x08, 0x78, 0xa5, 0x00, 0xf9, + 0x25, 0x6c, 0x75, 0xb7, 0x12, 0x9a, 0xf6, 0x06, 0x1e, 0x80, 0xc4, 0xb0, 0x23, 0xae, 0x56, 0xcb, + 0xa5, 0xab, 0x4c, 0x68, 0x9a, 0xba, 0x56, 0x2b, 0xb2, 0xf9, 0xf4, 0x87, 0xd2, 0x4f, 0x04, 0x38, + 0x56, 0x35, 0xb0, 0x6c, 0xe1, 0x8a, 0xd6, 0x73, 0x50, 0xf9, 0xd5, 0x44, 0x5c, 0xf4, 0x1c, 0xc0, + 0xd5, 0xe1, 0x7e, 0x63, 0x9d, 0xaf, 0xc6, 0x73, 0x59, 0xe0, 0x33, 0x95, 0xed, 0x5a, 0xca, 0x77, + 0x3b, 0x62, 0x38, 0x33, 0xe0, 0xa4, 0x30, 0x7d, 0xfc, 0xbf, 0x93, 0xa3, 0x6a, 0x98, 0xaf, 0xe7, + 0xe0, 0xb8, 0x47, 0x0b, 0x35, 0xca, 0xfa, 0xdb, 0x2b, 0x4e, 0x12, 0x58, 0xf3, 0xe9, 0xfc, 0x90, + 0xf9, 0xb4, 0xb8, 0xe0, 0x98, 0x80, 0x11, 0x5f, 0x7f, 0x05, 0x8e, 0x4b, 0xd8, 0x44, 0xd3, 0x62, + 0x97, 0x96, 0xbc, 0xf7, 0xd8, 0x1b, 0x0c, 0x0d, 0x56, 0xd6, 0x46, 0x6d, 0x5b, 0x48, 0x1d, 0x43, + 0x9c, 0x4b, 0x59, 0xd0, 0x3e, 0xe0, 0x09, 0x5a, 0x8b, 0x11, 0xb4, 0xe7, 0x4e, 0x46, 0xde, 0x14, + 0x3c, 0x9c, 0xdc, 0x03, 0x33, 0x8b, 0xb2, 0x25, 0xef, 0x2a, 0xf8, 0x32, 0xfa, 0x96, 0x00, 0x70, + 0x51, 0xc1, 0x97, 0x1d, 0xa2, 0x62, 0xdc, 0xbd, 0x0f, 0x67, 0xdf, 0x7d, 0x90, 0xb3, 0xab, 0xa6, + 0x27, 0x8a, 0xb7, 0x44, 0x5f, 0xbc, 0xa7, 0x74, 0x94, 0x6d, 0x1a, 0x24, 0xf2, 0x1e, 0x6b, 0x6c, + 0xcb, 0x71, 0x3c, 0xcf, 0xd4, 0xe1, 0xf4, 0x23, 0x89, 0x85, 0x43, 0x3c, 0x09, 0x05, 0xbb, 0x5a, + 0xef, 0xe3, 0x8b, 0xa6, 0x62, 0x1d, 0xf2, 0x8f, 0xa7, 0x2d, 0x7d, 0xbc, 0x5d, 0x88, 0x9d, 0x6b, + 0x92, 0x31, 0x6c, 0xe8, 0xc3, 0x21, 0x0e, 0x61, 0xcd, 0x81, 0xa1, 0xff, 0xe8, 0x41, 0xa0, 0x77, + 0xfa, 0x97, 0xc8, 0x9e, 0x61, 0x62, 0x88, 0x47, 0xd2, 0x90, 0x3e, 0xc4, 0x6f, 0xa5, 0x10, 0x2f, + 0x62, 0x15, 0x5b, 0x98, 0xdf, 0x5f, 0x11, 0x0f, 0xc2, 0x39, 0x46, 0xf8, 0x0f, 0x84, 0x90, 0x43, + 0xde, 0xe1, 0x22, 0x34, 0x92, 0x86, 0xf4, 0x11, 0xfa, 0xa2, 0x00, 0xc7, 0xed, 0xe6, 0xdb, 0xfe, + 0x8d, 0x1e, 0x7e, 0x8f, 0x45, 0xb1, 0x61, 0x22, 0x2e, 0xc6, 0x83, 0xee, 0x36, 0xe7, 0x02, 0x8e, + 0x15, 0x3f, 0x1d, 0x84, 0x70, 0x85, 0x85, 0x70, 0x2c, 0xfb, 0x02, 0xf4, 0x27, 0x82, 0xe3, 0x87, + 0x3d, 0x1c, 0xdb, 0x0c, 0x8e, 0xf7, 0x4f, 0x4e, 0x48, 0xfa, 0x60, 0x7e, 0x55, 0x80, 0x39, 0x4a, + 0x43, 0xa5, 0x6b, 0x29, 0xbb, 0x18, 0x3d, 0x9c, 0xe2, 0xa4, 0x7a, 0x12, 0x0a, 0xfa, 0xc6, 0x86, + 0x49, 0xaf, 0x7b, 0xcd, 0x49, 0x34, 0x25, 0x9e, 0x80, 0xbc, 0xaa, 0xec, 0x28, 0x16, 0x05, 0xd8, + 0x49, 0xc4, 0xd6, 0x09, 0x0e, 0x33, 0xd5, 0xe9, 0xd0, 0xd4, 0x75, 0x82, 0x5c, 0x64, 0xa4, 0x8f, + 0xec, 0xfb, 0x89, 0x8d, 0x69, 0x57, 0x37, 0x7a, 0x74, 0xb5, 0x7c, 0x4d, 0x26, 0x91, 0xbb, 0x10, + 0x06, 0xa9, 0xd3, 0x83, 0xd6, 0x4b, 0x8b, 0x67, 0xa0, 0xe0, 0xfc, 0xa7, 0x6b, 0x66, 0xb8, 0x4d, + 0xb8, 0x53, 0x0c, 0xbd, 0x2a, 0x88, 0xef, 0x32, 0x8b, 0xef, 0x73, 0xa2, 0x18, 0x1b, 0xec, 0x56, + 0x88, 0xfe, 0xfd, 0x83, 0x1e, 0x60, 0x2b, 0x0c, 0x60, 0xf7, 0x4c, 0x58, 0xef, 0x54, 0x2e, 0x7d, + 0x51, 0xbc, 0xe8, 0xd2, 0xf7, 0xcf, 0x53, 0x85, 0x0b, 0x7d, 0xfc, 0x60, 0xdc, 0x4f, 0x70, 0x01, + 0x3c, 0x00, 0x56, 0x87, 0xb4, 0x04, 0x3e, 0xee, 0x61, 0x45, 0x3f, 0x36, 0x5e, 0x97, 0x49, 0xe4, + 0x4e, 0x05, 0x1d, 0x3f, 0x02, 0xd7, 0xf8, 0x11, 0x4f, 0x01, 0x58, 0x78, 0xa7, 0xaf, 0xca, 0x16, + 0xf6, 0x56, 0xcd, 0x40, 0x0e, 0xfa, 0x77, 0x07, 0x43, 0x38, 0xf2, 0xfb, 0xc3, 0x27, 0x36, 0xcb, + 0x37, 0xd8, 0x0f, 0x00, 0xf2, 0x21, 0x7d, 0x6c, 0xfc, 0x66, 0x0e, 0x8e, 0xb8, 0xea, 0xe8, 0xc3, + 0xd4, 0xdf, 0xbf, 0x46, 0x88, 0xa7, 0x38, 0x08, 0x70, 0xcf, 0x23, 0x3e, 0x91, 0xaf, 0xc8, 0xeb, + 0xe1, 0x88, 0x4b, 0xd4, 0x05, 0xef, 0x48, 0x28, 0x98, 0xc5, 0xf4, 0x2f, 0xc7, 0xdb, 0xbf, 0x38, + 0x5a, 0x07, 0x8e, 0xbe, 0xa5, 0x2f, 0x18, 0xdf, 0x13, 0xe0, 0x98, 0xdb, 0x3e, 0x5d, 0x5b, 0xdf, + 0x90, 0xc0, 0xf8, 0x4f, 0x89, 0xbd, 0x31, 0xdd, 0xb2, 0xee, 0x67, 0x71, 0x82, 0x1f, 0xa3, 0x71, + 0x34, 0x99, 0x7c, 0x74, 0xa4, 0x8f, 0xf6, 0x47, 0x03, 0x68, 0xd3, 0x95, 0xb9, 0x3b, 0x05, 0xb0, + 0x0f, 0x8e, 0x1b, 0xdf, 0x0a, 0x2d, 0xa4, 0x8e, 0xdb, 0x21, 0xad, 0xd1, 0xdf, 0xc8, 0xc1, 0x35, + 0xce, 0xfa, 0xe1, 0x12, 0xd2, 0xea, 0xbb, 0x53, 0xf9, 0xa3, 0x53, 0x19, 0xae, 0xcf, 0x86, 0x82, + 0xde, 0x0f, 0x0c, 0xd6, 0x53, 0x21, 0x83, 0xb5, 0xec, 0x10, 0x26, 0xd1, 0xd2, 0xcc, 0xae, 0x2d, + 0x3f, 0xb4, 0x6b, 0x63, 0x1c, 0x79, 0x3c, 0x9f, 0x95, 0x8a, 0x85, 0xf1, 0x4b, 0xe9, 0x3e, 0x56, + 0x24, 0xb2, 0x30, 0xf8, 0x1d, 0x15, 0xe2, 0x74, 0x14, 0x7d, 0xc2, 0x13, 0xab, 0x17, 0x30, 0x62, + 0x75, 0xee, 0xe0, 0x1d, 0x99, 0xc2, 0x61, 0x71, 0x0e, 0xd0, 0x28, 0x5a, 0xe8, 0x8a, 0xf0, 0xd3, + 0x2b, 0x62, 0x7f, 0x11, 0x9c, 0x78, 0x5e, 0xc0, 0x8a, 0x58, 0x2d, 0x2e, 0x32, 0x09, 0x2e, 0x1e, + 0x9f, 0xf2, 0xa4, 0xe5, 0x5f, 0x30, 0xd2, 0xf2, 0x40, 0x22, 0x34, 0x4d, 0xc1, 0x32, 0x39, 0x44, + 0x60, 0xe8, 0xa2, 0xf2, 0xe6, 0xa9, 0x08, 0x0c, 0x82, 0x19, 0x47, 0x04, 0xbc, 0x2f, 0x06, 0x2f, + 0x3d, 0x3d, 0xa1, 0x48, 0xf0, 0xdb, 0x31, 0x31, 0xa1, 0x38, 0xa4, 0x55, 0xea, 0x8f, 0x05, 0x78, + 0x82, 0x4b, 0x48, 0x43, 0x31, 0xad, 0xca, 0xae, 0xac, 0xa8, 0xf2, 0xba, 0x8a, 0x93, 0xf0, 0x8e, + 0xf0, 0xbf, 0x82, 0xa0, 0x5d, 0x64, 0x41, 0x7b, 0x1e, 0xcf, 0xd2, 0xcd, 0x50, 0x14, 0x82, 0xd7, + 0x1d, 0x30, 0xeb, 0x0a, 0x98, 0x7b, 0x6d, 0x3c, 0x74, 0x57, 0xea, 0x97, 0x44, 0xff, 0xd9, 0x03, + 0xee, 0x41, 0x06, 0xb8, 0xda, 0x41, 0xe9, 0x8a, 0x87, 0x59, 0x63, 0x02, 0x93, 0x94, 0x79, 0x38, + 0xd1, 0x6c, 0x75, 0xd6, 0x2a, 0x6b, 0x8b, 0x95, 0x4e, 0xe5, 0x62, 0xbd, 0x76, 0x69, 0x6d, 0xa1, + 0xd1, 0xaa, 0x5e, 0x28, 0x09, 0xe8, 0xdf, 0x0a, 0x30, 0xdb, 0xc6, 0x56, 0x5b, 0x1f, 0x18, 0xdd, + 0xa4, 0xce, 0x2e, 0x4c, 0x52, 0x19, 0x0d, 0x47, 0x44, 0x53, 0x71, 0x1d, 0x41, 0xfb, 0x1c, 0xf4, + 0xa8, 0x1b, 0x37, 0xfa, 0x72, 0x09, 0x3b, 0x82, 0x1e, 0x4f, 0x42, 0xfa, 0x83, 0xed, 0x1d, 0x02, + 0x08, 0xe7, 0xb0, 0x85, 0xde, 0x24, 0x40, 0x9e, 0xdc, 0xfd, 0x4c, 0xc8, 0x19, 0x2d, 0xaf, 0x9b, + 0x53, 0xf4, 0xf6, 0x20, 0x6c, 0x15, 0x16, 0xb6, 0x51, 0x6e, 0x01, 0xcf, 0x61, 0x7a, 0x49, 0x35, + 0x91, 0xb9, 0xf2, 0x9d, 0x1e, 0x5a, 0x8b, 0x0c, 0x5a, 0xcf, 0x8c, 0xd1, 0x72, 0xfa, 0x20, 0xdd, + 0x05, 0xc7, 0x57, 0xb5, 0x9e, 0x2e, 0xe1, 0x9e, 0x5e, 0xd5, 0x07, 0x9a, 0x85, 0x89, 0xd3, 0xa2, + 0x81, 0xd6, 0xd3, 0x09, 0xb9, 0x79, 0x89, 0xfc, 0xb7, 0xf3, 0x0c, 0xdc, 0xd3, 0x49, 0xab, 0x79, + 0x89, 0xfc, 0x47, 0x6f, 0x16, 0x20, 0x67, 0xbf, 0x8b, 0x9e, 0xc6, 0x09, 0x2b, 0xfa, 0xef, 0x31, + 0xdd, 0x4a, 0xda, 0xb5, 0x27, 0xb2, 0x65, 0xbe, 0x0f, 0x66, 0xba, 0x4e, 0xef, 0x5c, 0x47, 0x0d, + 0xa7, 0x43, 0x9a, 0x0b, 0x30, 0x42, 0xf2, 0xde, 0x09, 0x1c, 0x48, 0x8c, 0x77, 0x2e, 0x39, 0x82, + 0xe8, 0x78, 0x30, 0x2e, 0x4e, 0x30, 0x49, 0x96, 0xe0, 0x68, 0xb5, 0xd2, 0x5c, 0xb3, 0x27, 0xca, + 0xe5, 0xd6, 0xc5, 0x5a, 0x49, 0x20, 0xe8, 0xd8, 0x9d, 0x49, 0x0f, 0x1d, 0xbb, 0xf6, 0x9f, 0x3a, + 0x74, 0x46, 0x10, 0x7d, 0x18, 0xe8, 0xbc, 0x5b, 0x80, 0x5c, 0xab, 0x8f, 0xb5, 0x84, 0xee, 0xa0, + 0x5a, 0x86, 0xdc, 0xc5, 0xde, 0xa9, 0x83, 0x9b, 0x44, 0x7f, 0x18, 0x13, 0x51, 0x9b, 0xa2, 0x44, + 0xe6, 0xbe, 0xcf, 0xc7, 0x40, 0x64, 0x44, 0xa3, 0xf1, 0x10, 0xf9, 0xf9, 0x09, 0x10, 0x99, 0x83, + 0x59, 0x1b, 0x8d, 0xa5, 0xd6, 0x6a, 0x73, 0xb1, 0x24, 0x88, 0x4f, 0x84, 0x27, 0x54, 0x9a, 0x0f, + 0x12, 0x53, 0xd7, 0x66, 0xad, 0xb6, 0xd8, 0x5e, 0x5b, 0x5d, 0x39, 0x27, 0x55, 0x16, 0x6b, 0x25, + 0x20, 0x48, 0xb5, 0xb7, 0xf4, 0xcb, 0x57, 0x16, 0x52, 0x36, 0x45, 0x53, 0x47, 0x6a, 0x44, 0xa3, + 0x57, 0x12, 0x52, 0x5f, 0xcc, 0xc2, 0xf1, 0x73, 0xd8, 0x5a, 0x19, 0xac, 0xab, 0x4a, 0xf7, 0x12, + 0x5e, 0x5f, 0x95, 0x1a, 0xe8, 0xa9, 0x3e, 0x68, 0xa1, 0x81, 0x7a, 0xd0, 0x6b, 0x63, 0x5e, 0xb1, + 0x18, 0x6a, 0x24, 0x04, 0x07, 0x6a, 0xf5, 0x98, 0xf5, 0xed, 0x5f, 0xe3, 0x5c, 0xa3, 0x88, 0x6e, + 0x23, 0xfd, 0x7d, 0xc1, 0x5b, 0x04, 0x38, 0x6e, 0x8f, 0xcc, 0x05, 0x03, 0xcb, 0xbd, 0xae, 0x31, + 0xd8, 0x59, 0x37, 0x63, 0x7d, 0x23, 0xb9, 0x72, 0x9e, 0x65, 0xe5, 0xfc, 0x73, 0x31, 0x59, 0x3d, + 0x44, 0x42, 0xca, 0x16, 0x99, 0x71, 0x00, 0x8a, 0xa6, 0x2c, 0x7d, 0x80, 0x5e, 0x22, 0xc0, 0xb1, + 0x36, 0xb6, 0x42, 0xf0, 0xb9, 0x01, 0xe6, 0xd6, 0xfd, 0x27, 0x1e, 0x46, 0x6c, 0xa6, 0x2d, 0xa2, + 0x8a, 0xe7, 0x40, 0xd4, 0xfe, 0x3b, 0x89, 0x33, 0x89, 0xf1, 0xf0, 0xa4, 0xea, 0x4c, 0xe2, 0x30, + 0x31, 0xf8, 0xbe, 0x00, 0x05, 0x7a, 0x24, 0xfd, 0xde, 0x44, 0x8c, 0xac, 0x63, 0x84, 0xda, 0x38, + 0x48, 0x84, 0xdc, 0x8f, 0xc6, 0xf4, 0x9a, 0x19, 0x79, 0x36, 0x9d, 0xd4, 0xe0, 0x8b, 0xe3, 0x4f, + 0xf3, 0x90, 0xce, 0xa8, 0xbf, 0x9f, 0x03, 0x70, 0x9a, 0x26, 0x0e, 0xc8, 0x5e, 0xca, 0x1d, 0xb6, + 0x63, 0x82, 0xd8, 0xd8, 0xac, 0xb9, 0x41, 0x7e, 0xd8, 0xdc, 0x80, 0xdb, 0x56, 0x3f, 0x9e, 0x68, + 0x04, 0x5c, 0x4d, 0x16, 0xf8, 0x5c, 0x4d, 0x7e, 0x2d, 0xa6, 0xab, 0x49, 0x9f, 0x7f, 0xb1, 0xe5, + 0x29, 0xd8, 0x65, 0x61, 0xa8, 0xcb, 0xf1, 0x34, 0x29, 0x71, 0x1c, 0x54, 0x86, 0x12, 0x9c, 0xbe, + 0xbc, 0xfd, 0xa7, 0x1c, 0xcc, 0x3a, 0xcd, 0xb7, 0xb1, 0x85, 0xbe, 0x90, 0xc8, 0x14, 0x13, 0xa2, + 0xe3, 0x0a, 0x8a, 0x68, 0x8e, 0x53, 0x44, 0x0f, 0x10, 0x9a, 0xfd, 0x47, 0x31, 0x55, 0x33, 0x1e, + 0x17, 0x0e, 0x51, 0x68, 0x3e, 0x13, 0x43, 0xa1, 0x13, 0x46, 0xef, 0x21, 0xdf, 0xe0, 0xfb, 0x5e, + 0x16, 0x0a, 0xab, 0x9a, 0xaa, 0x68, 0xdb, 0xa8, 0x9a, 0x40, 0x60, 0xb6, 0xf8, 0xee, 0x97, 0x49, + 0xdb, 0xd3, 0x77, 0xbf, 0x3c, 0xaa, 0xd9, 0x29, 0xb8, 0x09, 0xcb, 0x42, 0xbe, 0xaa, 0xea, 0x66, + 0x22, 0xa7, 0x0b, 0xdf, 0xcb, 0xc4, 0x8b, 0x29, 0x41, 0x1a, 0x0e, 0x31, 0xd7, 0x8c, 0x13, 0xb7, + 0x61, 0x54, 0x3d, 0xe9, 0xb3, 0xee, 0xaf, 0x8f, 0xc2, 0xec, 0x25, 0xdd, 0xd8, 0x36, 0xfb, 0x72, + 0x17, 0xa3, 0x8f, 0x67, 0x01, 0xce, 0x61, 0xab, 0x3a, 0x30, 0x0c, 0x1b, 0xfa, 0x59, 0x8f, 0x9b, + 0xac, 0x47, 0xea, 0xc8, 0xfd, 0xaa, 0x57, 0x5b, 0xd9, 0xaf, 0x29, 0xdc, 0xbf, 0xfe, 0x65, 0xb7, + 0xb4, 0x07, 0x44, 0x30, 0x8b, 0x73, 0x8f, 0xca, 0xd1, 0x64, 0xfa, 0x9c, 0xfc, 0x60, 0x16, 0x0a, + 0xe7, 0xb0, 0x55, 0x51, 0xd5, 0x20, 0xdf, 0xde, 0xc8, 0xbd, 0x6a, 0x33, 0x9d, 0xa8, 0xa8, 0x6a, + 0x08, 0xcf, 0x4e, 0xc3, 0xd1, 0x00, 0x83, 0xdc, 0x99, 0x82, 0xc9, 0xe3, 0x5c, 0x75, 0xc7, 0x34, + 0x98, 0x3e, 0xc7, 0xfe, 0x30, 0xeb, 0xed, 0xea, 0x9f, 0xe4, 0x8f, 0xdb, 0x11, 0x91, 0x61, 0xd0, + 0xeb, 0x27, 0xe0, 0x62, 0xe4, 0x5e, 0x7a, 0xbc, 0xe4, 0xc5, 0xe5, 0xe1, 0x21, 0xed, 0x94, 0xbf, + 0x97, 0x85, 0x52, 0x1b, 0x5b, 0x75, 0xf3, 0xbc, 0xb2, 0xb9, 0xa5, 0x2a, 0x9b, 0x5b, 0x16, 0xee, + 0xa1, 0x0b, 0x3e, 0x37, 0x11, 0xcc, 0x38, 0xd7, 0xf4, 0xbd, 0x49, 0xd0, 0x4b, 0x3b, 0xc1, 0x85, + 0x02, 0xef, 0x11, 0x9a, 0x48, 0x70, 0xa1, 0x60, 0x65, 0xaf, 0xe0, 0xbe, 0xe0, 0xe9, 0x33, 0x63, + 0x98, 0xa2, 0x90, 0xe9, 0x91, 0xcf, 0x44, 0x92, 0xbb, 0xda, 0x29, 0x5c, 0x3e, 0xc8, 0x42, 0xa1, + 0x4d, 0xe2, 0xca, 0xa0, 0x9f, 0xf5, 0x79, 0x3c, 0x24, 0x4c, 0x99, 0xfd, 0xc2, 0xf4, 0x7f, 0x32, + 0xf1, 0xe5, 0xd7, 0x69, 0x27, 0x84, 0x73, 0x71, 0xa5, 0x73, 0x64, 0x65, 0x53, 0x70, 0xe0, 0x32, + 0x03, 0x85, 0x4b, 0xb2, 0xaa, 0x62, 0x0b, 0x7d, 0xd3, 0x1f, 0xec, 0x37, 0x32, 0xe2, 0x69, 0xe8, + 0xba, 0x13, 0xd4, 0x85, 0x8a, 0xa7, 0x9b, 0x46, 0xef, 0xe3, 0x8e, 0x4e, 0xea, 0x34, 0x11, 0x3d, + 0xe2, 0x11, 0xcc, 0xec, 0x68, 0x78, 0x47, 0xd7, 0x94, 0xae, 0xbb, 0x55, 0x77, 0xd3, 0xe8, 0x8f, + 0xb8, 0x22, 0x8e, 0x46, 0xb5, 0x12, 0x8f, 0x95, 0xed, 0x09, 0xb6, 0x9b, 0x4f, 0x86, 0x6b, 0x97, + 0x2a, 0xf5, 0x46, 0x6d, 0x71, 0xad, 0xd3, 0x5a, 0xab, 0x4a, 0xb5, 0x4a, 0xa7, 0xb6, 0xd6, 0x68, + 0x55, 0x2b, 0x8d, 0x35, 0xa9, 0xb6, 0xd2, 0x2a, 0x61, 0xf4, 0x6d, 0xf2, 0x91, 0xdc, 0xd5, 0x77, + 0xb1, 0x11, 0xdc, 0x06, 0x45, 0x70, 0x38, 0x92, 0x27, 0xaf, 0xe3, 0x0e, 0x41, 0x41, 0xf9, 0x42, + 0xdb, 0x0e, 0x11, 0xd8, 0xff, 0xc0, 0x15, 0x54, 0x22, 0xb2, 0xaa, 0x2b, 0x80, 0xc7, 0x3f, 0xca, + 0x42, 0xb1, 0xaa, 0x6b, 0xbb, 0xd8, 0xb0, 0xd0, 0xfd, 0x0c, 0x8f, 0x3d, 0x3e, 0x66, 0x58, 0x3e, + 0xda, 0x1b, 0x4d, 0xac, 0x59, 0x86, 0xde, 0xdf, 0x73, 0x37, 0x9a, 0x34, 0xc9, 0x3a, 0xb0, 0xe1, + 0xe1, 0x30, 0x6d, 0x39, 0xfc, 0xcb, 0x6c, 0x74, 0x43, 0x0c, 0x79, 0xc2, 0x10, 0xcc, 0xef, 0x88, + 0x83, 0xcb, 0x68, 0x02, 0xa6, 0x60, 0xe0, 0x70, 0x02, 0x8a, 0x95, 0x2e, 0x39, 0x86, 0x44, 0xdf, + 0xcd, 0x40, 0xa1, 0xaa, 0x6b, 0x1b, 0xca, 0xa6, 0x78, 0x13, 0x1c, 0xc3, 0x9a, 0xbc, 0xae, 0x62, + 0xd7, 0x06, 0x83, 0xd0, 0x3e, 0x23, 0x0d, 0xe5, 0xda, 0x44, 0xd1, 0x1c, 0xbc, 0x3e, 0xd8, 0xa4, + 0xab, 0x5c, 0x30, 0x4b, 0xbc, 0x0f, 0x90, 0x93, 0x94, 0xb0, 0x8a, 0x65, 0x13, 0x57, 0xb7, 0x64, + 0x4d, 0xc3, 0x6a, 0xfb, 0xb2, 0x62, 0x75, 0xb7, 0xa8, 0xc3, 0xd9, 0x88, 0x12, 0xf6, 0xa6, 0xcc, + 0x79, 0xda, 0xb6, 0x67, 0x5b, 0x93, 0x46, 0x7d, 0x63, 0xf2, 0xc4, 0x67, 0x40, 0x1e, 0x3f, 0x64, + 0x19, 0xf2, 0x7c, 0x2f, 0xfa, 0xab, 0xdf, 0x29, 0x85, 0xbe, 0x9d, 0xf7, 0xe6, 0xcb, 0x5f, 0x88, + 0xdc, 0x1c, 0x89, 0xb7, 0xc0, 0x71, 0x79, 0x57, 0xb6, 0x64, 0xa3, 0xe1, 0x79, 0x7a, 0x20, 0x7c, + 0x3f, 0x7f, 0x95, 0x34, 0xfc, 0x40, 0xbc, 0x19, 0x8e, 0xcb, 0x6a, 0x7f, 0x4b, 0xae, 0x6b, 0xbb, + 0x8a, 0x85, 0x6d, 0x20, 0xe6, 0x4f, 0x90, 0xaa, 0x86, 0xb3, 0x17, 0x66, 0xa0, 0xe0, 0xbc, 0x8c, + 0xbe, 0x9a, 0xe3, 0x95, 0x53, 0x8a, 0x51, 0xf4, 0x44, 0xfc, 0x4c, 0x28, 0xca, 0x4e, 0xb9, 0x7d, + 0xdf, 0x9f, 0x8e, 0x2e, 0x83, 0xd6, 0x22, 0xb9, 0xc5, 0xc4, 0xdb, 0xa1, 0xd0, 0x25, 0x88, 0x53, + 0x9d, 0xde, 0xb5, 0xa3, 0x1b, 0x25, 0x45, 0x24, 0x5a, 0x14, 0xbd, 0x5d, 0xe0, 0x11, 0xec, 0x48, + 0x8a, 0xe3, 0x09, 0xf6, 0x87, 0xb2, 0x13, 0xcc, 0x38, 0xb7, 0xc2, 0xcd, 0x95, 0x6a, 0xb5, 0xb5, + 0xda, 0xec, 0xd0, 0xf9, 0x66, 0x71, 0x6d, 0x61, 0xb5, 0xb3, 0xe6, 0xcf, 0x42, 0xed, 0x4e, 0x45, + 0xea, 0xac, 0x35, 0x5b, 0x8b, 0xb5, 0x92, 0x8d, 0xf4, 0x4d, 0x63, 0x4a, 0xd7, 0x3a, 0x6b, 0xcd, + 0xca, 0x72, 0xad, 0xb4, 0xc1, 0x51, 0x73, 0xad, 0xb3, 0x56, 0xb9, 0x58, 0xe9, 0x54, 0xa4, 0xd2, + 0x26, 0x3b, 0xf3, 0xb5, 0x3b, 0xad, 0x95, 0x35, 0x69, 0xb5, 0xd9, 0xac, 0x37, 0xcf, 0x39, 0x4d, + 0x6f, 0x89, 0x27, 0xe0, 0xb8, 0x43, 0xf7, 0xc5, 0x7a, 0xa7, 0xb6, 0x56, 0xb5, 0x33, 0x7f, 0xa9, + 0x28, 0x1e, 0x83, 0xd9, 0x66, 0xad, 0x43, 0x3b, 0xf7, 0xf2, 0xa2, 0x78, 0x2d, 0x9c, 0xb4, 0xd3, + 0xd5, 0x56, 0xb3, 0x59, 0xab, 0x76, 0xea, 0xad, 0xe6, 0x9a, 0x54, 0x5b, 0x5a, 0x6d, 0xd7, 0x16, + 0x4b, 0xbf, 0x5c, 0x14, 0x4b, 0x70, 0xc4, 0x7e, 0xd8, 0x5a, 0x5a, 0x6a, 0xd4, 0x9b, 0xb5, 0xd2, + 0xc3, 0x45, 0xf4, 0xea, 0x9c, 0xbf, 0x64, 0x05, 0xbe, 0x99, 0xfe, 0x4e, 0xe0, 0xd5, 0x59, 0xb9, + 0xf0, 0x45, 0xaf, 0x3d, 0xbf, 0x23, 0xf0, 0xe8, 0x93, 0xa2, 0xeb, 0x8a, 0x27, 0x0b, 0x1f, 0x99, + 0x44, 0x16, 0x9e, 0x00, 0x57, 0x37, 0x5b, 0x6b, 0x14, 0xb4, 0x36, 0x3d, 0x88, 0xb5, 0x5b, 0xbb, + 0xae, 0x59, 0x73, 0x80, 0x91, 0x6a, 0xd5, 0xd6, 0xc5, 0x9a, 0xb4, 0x76, 0xa9, 0xd2, 0x68, 0xd4, + 0x3a, 0x6b, 0x4b, 0x75, 0xa9, 0xdd, 0x29, 0x6d, 0x8c, 0x5b, 0xb6, 0x36, 0xc5, 0xa7, 0xc2, 0x93, + 0xfd, 0xf4, 0x5a, 0xed, 0xf9, 0xf5, 0x76, 0xa7, 0x4d, 0xa4, 0xa1, 0xda, 0x92, 0xa4, 0xd5, 0x95, + 0x4e, 0x6d, 0xb1, 0xb4, 0x25, 0x9e, 0x04, 0xd1, 0xaf, 0x45, 0x5a, 0x6d, 0x3a, 0xc8, 0x2b, 0x76, + 0xfb, 0xb4, 0x3d, 0xb7, 0xf9, 0x66, 0xab, 0xb3, 0xb6, 0x52, 0x93, 0x96, 0x5a, 0xd2, 0x72, 0x6d, + 0xb1, 0xf4, 0xc2, 0x71, 0xc2, 0xb3, 0x2d, 0xde, 0x04, 0xa7, 0x2b, 0xcd, 0x56, 0xe7, 0x7c, 0x4d, + 0x5a, 0x73, 0xcf, 0x94, 0x57, 0xa4, 0x56, 0xb5, 0xd6, 0x6e, 0xaf, 0xd5, 0xdb, 0x6e, 0xe1, 0x92, + 0x8a, 0x3e, 0x95, 0xf7, 0xb6, 0xd7, 0x77, 0xf8, 0x73, 0xde, 0x31, 0xc8, 0x2a, 0xee, 0xae, 0x3a, + 0xab, 0xf4, 0x98, 0x1d, 0x4d, 0x76, 0x68, 0xcf, 0xf8, 0x8f, 0xb1, 0xe7, 0xaa, 0xa8, 0x6d, 0xf6, + 0xb4, 0xe6, 0xaa, 0xcf, 0xc6, 0x9a, 0xab, 0x12, 0xd8, 0xcb, 0xff, 0x79, 0x36, 0x85, 0xdd, 0x11, + 0x8f, 0x98, 0x6d, 0x84, 0x88, 0xd9, 0xd0, 0x0c, 0xb4, 0x54, 0x6f, 0x2e, 0xba, 0x23, 0x61, 0xad, + 0xde, 0x5c, 0x6a, 0x95, 0xb6, 0xc4, 0x32, 0xdc, 0x12, 0xa8, 0xdd, 0x96, 0x41, 0xda, 0x42, 0xa5, + 0xb9, 0xb8, 0xb6, 0xdc, 0xac, 0x2d, 0xb7, 0x9a, 0xf5, 0x2a, 0xc9, 0x6f, 0xd7, 0x3a, 0x8e, 0xdc, + 0x0e, 0x49, 0x65, 0xbb, 0x56, 0x91, 0xaa, 0xe7, 0x89, 0x00, 0x2f, 0xd6, 0x4a, 0x2f, 0x14, 0x9f, + 0x06, 0x4f, 0x0d, 0x90, 0x42, 0x85, 0x7b, 0x45, 0xaa, 0x2d, 0xd6, 0x96, 0xea, 0x4d, 0x7b, 0xbe, + 0x6c, 0xb4, 0xaa, 0x17, 0xda, 0x31, 0xe4, 0xf7, 0x1f, 0xb2, 0x90, 0x6b, 0x5b, 0x7a, 0x1f, 0x3d, + 0xdd, 0x97, 0xde, 0x53, 0x00, 0x06, 0xde, 0xd1, 0x77, 0xc9, 0x76, 0x84, 0x6e, 0x50, 0x02, 0x39, + 0xe8, 0x3f, 0x72, 0x6b, 0x76, 0x3d, 0xfc, 0x2d, 0xbd, 0x1f, 0x32, 0xd3, 0xfd, 0x98, 0x4b, 0x57, + 0x1b, 0x51, 0x51, 0x3c, 0x31, 0x7a, 0x65, 0x66, 0x02, 0x31, 0x42, 0x70, 0xd2, 0x43, 0xb6, 0x4d, + 0xf0, 0x72, 0x19, 0x88, 0xc5, 0x6b, 0xe0, 0x67, 0x86, 0x30, 0x23, 0x50, 0x6d, 0x88, 0x4f, 0x81, + 0x27, 0x05, 0xa1, 0x5a, 0x6e, 0x5d, 0xac, 0x79, 0xf2, 0xb1, 0x58, 0xe9, 0x54, 0x4a, 0x9b, 0xe8, + 0xd3, 0x02, 0x08, 0x0d, 0x7d, 0x13, 0x3d, 0x2a, 0x40, 0xae, 0x8d, 0xb5, 0x1e, 0x73, 0x52, 0x3c, + 0x0f, 0xc5, 0x1d, 0x6c, 0x9a, 0xf2, 0xa6, 0xbb, 0x75, 0x72, 0x93, 0xe2, 0x5d, 0x90, 0x57, 0xf1, + 0x2e, 0x76, 0xec, 0x47, 0x8e, 0x9d, 0x7d, 0x2a, 0xc3, 0xa9, 0x86, 0xbe, 0x59, 0xb6, 0xeb, 0xf2, + 0xa2, 0x19, 0x37, 0xec, 0xa2, 0x92, 0xf3, 0xc6, 0xe9, 0x07, 0x20, 0x4f, 0xd2, 0xe2, 0x2c, 0xe4, + 0x17, 0x6b, 0x0b, 0xab, 0xe7, 0x4a, 0x57, 0xd9, 0x7f, 0xdd, 0x7e, 0xcf, 0x42, 0x7e, 0xa9, 0xd2, + 0xa9, 0x34, 0x4a, 0x59, 0x9b, 0x3f, 0x44, 0x8a, 0x05, 0x3b, 0x73, 0xa5, 0xd2, 0xac, 0x57, 0x4b, + 0x39, 0xf1, 0x08, 0x14, 0x2f, 0x55, 0x24, 0xd2, 0xf3, 0x3c, 0x7a, 0x49, 0x50, 0x0c, 0xee, 0x66, + 0xc5, 0xe0, 0x86, 0x30, 0x9a, 0x46, 0x89, 0xc0, 0xc7, 0x3c, 0x11, 0xb8, 0x97, 0x11, 0x81, 0xa7, + 0xf3, 0x54, 0x12, 0x0f, 0xfe, 0xe6, 0x41, 0xad, 0x8c, 0xb0, 0xcd, 0x83, 0x4e, 0x7d, 0xb9, 0xd6, + 0x5a, 0xed, 0x94, 0x36, 0xd0, 0xdf, 0x64, 0xa1, 0x78, 0x11, 0x1b, 0xa6, 0xa2, 0x6b, 0xe8, 0xbf, + 0x66, 0x1d, 0x9b, 0xe6, 0xc0, 0xb6, 0xe0, 0x2b, 0xdc, 0xc1, 0xee, 0x69, 0x25, 0xc4, 0xda, 0x37, + 0xf4, 0x63, 0x69, 0xd7, 0x29, 0xe4, 0x7e, 0x2c, 0xd1, 0xa4, 0xfd, 0x24, 0x78, 0x82, 0x3c, 0xeb, + 0x47, 0x81, 0xfb, 0x0a, 0x97, 0x32, 0x3f, 0xbc, 0xed, 0x78, 0xcc, 0xed, 0x4d, 0xc0, 0xdc, 0x13, + 0x50, 0xba, 0x58, 0x93, 0xda, 0xf6, 0xbe, 0xab, 0xde, 0x5e, 0xab, 0x2d, 0xaf, 0x74, 0x1e, 0x2c, + 0x09, 0x91, 0x2c, 0x7f, 0x9b, 0x1b, 0x56, 0xe0, 0xf5, 0x02, 0x14, 0x5b, 0x1b, 0x1b, 0xc4, 0x8f, + 0x5d, 0x2d, 0x7c, 0xed, 0xbd, 0x05, 0x4a, 0x8a, 0xd6, 0x55, 0x07, 0x3d, 0xdc, 0xd4, 0xad, 0x15, + 0x45, 0xd3, 0x3c, 0xad, 0xe1, 0xbe, 0x7c, 0xf4, 0x18, 0xf7, 0xcc, 0x46, 0x9c, 0xae, 0xd1, 0xd6, + 0x43, 0x00, 0xbb, 0x09, 0x8e, 0xad, 0xef, 0x59, 0xd8, 0xa4, 0xa5, 0x68, 0xb3, 0x39, 0x69, 0x28, + 0x17, 0xfd, 0x29, 0xd7, 0x0c, 0x18, 0xd1, 0x60, 0x3c, 0x94, 0xe4, 0xc9, 0x50, 0xb2, 0x67, 0x35, + 0x67, 0xa9, 0xb2, 0xb7, 0xf7, 0xb5, 0xc5, 0xd2, 0x26, 0x99, 0xfa, 0xea, 0x0d, 0x27, 0xf7, 0xc1, + 0x5a, 0x67, 0x6d, 0xa5, 0xde, 0x6c, 0xda, 0xfb, 0x32, 0x7b, 0x73, 0x30, 0x63, 0xd3, 0xdb, 0x50, + 0x4c, 0x0b, 0x7d, 0x2c, 0x00, 0x53, 0x8b, 0x99, 0xde, 0x74, 0x4d, 0xdd, 0xab, 0xf7, 0xcc, 0xf9, + 0x0c, 0x39, 0x0f, 0x70, 0x93, 0xb1, 0x00, 0xfb, 0x6b, 0x6e, 0x2d, 0xbb, 0x4b, 0xcf, 0x78, 0xd0, + 0x36, 0x14, 0x75, 0x18, 0xb4, 0xbc, 0x34, 0x94, 0x3b, 0x02, 0x5c, 0x61, 0x24, 0xb8, 0x9f, 0xe0, + 0xd2, 0x7a, 0x8e, 0x21, 0x2e, 0x1e, 0xc0, 0xe7, 0x93, 0x02, 0x18, 0xfd, 0x5a, 0x16, 0x66, 0xda, + 0x5b, 0x03, 0x8b, 0xc4, 0xbd, 0x0e, 0x4c, 0x6b, 0xff, 0x98, 0xe1, 0x9d, 0xf9, 0xdd, 0xb7, 0x43, + 0x66, 0xfe, 0x0f, 0x73, 0xcd, 0xfc, 0x21, 0x95, 0x1c, 0x0e, 0x57, 0x30, 0xfa, 0x6e, 0xce, 0x55, + 0xe7, 0xa0, 0xaf, 0xe7, 0xf6, 0x4d, 0xf9, 0x9f, 0xcb, 0xf1, 0x5a, 0xeb, 0x3a, 0x75, 0x44, 0xcc, + 0xf8, 0xd7, 0xc3, 0x91, 0x2d, 0x9d, 0x86, 0xe0, 0xf7, 0x4f, 0x7c, 0x02, 0x59, 0xb6, 0x14, 0xca, + 0x4e, 0x98, 0x3f, 0xd6, 0xa5, 0xfb, 0x50, 0xae, 0x5d, 0xae, 0x6f, 0xe8, 0xb6, 0x08, 0xbb, 0xe5, + 0x9c, 0x1b, 0x87, 0x43, 0xb9, 0xe2, 0xad, 0x70, 0xf5, 0x8e, 0x6c, 0x6c, 0x63, 0xab, 0xaf, 0xca, + 0x5d, 0xe2, 0x2c, 0xd3, 0xb3, 0x2f, 0xda, 0xff, 0x40, 0x7c, 0x16, 0x3c, 0x21, 0x90, 0xe9, 0xde, + 0x08, 0xab, 0xf7, 0x88, 0x79, 0xd0, 0xac, 0x34, 0xfa, 0xe1, 0xd0, 0x5b, 0x1d, 0xdf, 0x8e, 0xa9, + 0xb8, 0xef, 0xad, 0x0e, 0x63, 0xd2, 0xd4, 0xc3, 0xbb, 0x0a, 0x39, 0xad, 0x98, 0x71, 0xbe, 0xa0, + 0xdc, 0xb4, 0xbd, 0x5f, 0xdd, 0x94, 0x2d, 0x7c, 0x59, 0xde, 0x5b, 0x35, 0xd4, 0x79, 0xec, 0x98, + 0x43, 0xf9, 0x39, 0xe8, 0x23, 0x5c, 0x76, 0xcc, 0xa1, 0x70, 0x1c, 0x96, 0x9c, 0x7d, 0x25, 0x0b, + 0xb9, 0x15, 0x45, 0xdb, 0x0c, 0x3a, 0x51, 0x3e, 0x01, 0x79, 0x45, 0xeb, 0xe1, 0x87, 0xe8, 0x05, + 0x1c, 0x27, 0x21, 0x9e, 0x85, 0x13, 0xda, 0x60, 0x67, 0x1d, 0x1b, 0xad, 0x0d, 0x62, 0x07, 0x61, + 0x76, 0x74, 0x7b, 0xa7, 0x44, 0xa7, 0xae, 0x91, 0xcf, 0xd0, 0xff, 0x0e, 0x8e, 0xe1, 0x67, 0xb3, + 0x72, 0x7a, 0x3d, 0xc3, 0x18, 0x9b, 0x86, 0x10, 0x09, 0xf5, 0xc8, 0xc9, 0x06, 0xc8, 0x41, 0x6f, + 0xf0, 0xf8, 0x7d, 0x17, 0xc3, 0xef, 0x1b, 0xc7, 0x55, 0x9b, 0xbe, 0x5a, 0xf6, 0x9d, 0x59, 0x28, + 0xae, 0x18, 0x7a, 0x17, 0x9b, 0x26, 0x7a, 0x7d, 0x16, 0x0a, 0x55, 0x59, 0xeb, 0x62, 0x15, 0x3d, + 0x31, 0x74, 0xfb, 0x80, 0x7e, 0x98, 0xe1, 0xfd, 0x3c, 0xa7, 0xf5, 0x96, 0x9d, 0x3a, 0x43, 0x66, + 0x3c, 0x3e, 0xe5, 0x75, 0x64, 0x55, 0xe9, 0x73, 0xe9, 0x2f, 0xb3, 0x70, 0xa4, 0xa1, 0x68, 0xdb, + 0x2b, 0x06, 0x26, 0x1e, 0x34, 0xaf, 0xf5, 0xd9, 0x43, 0x2d, 0xd7, 0x33, 0x01, 0xcb, 0x75, 0xee, + 0x3d, 0x6e, 0xa0, 0xca, 0x10, 0x79, 0xba, 0x07, 0x8e, 0xa8, 0x7e, 0x21, 0xaa, 0xc0, 0x40, 0x43, + 0x0a, 0x8c, 0x40, 0x35, 0x52, 0xb0, 0x38, 0xa7, 0xe9, 0x4a, 0x38, 0x15, 0xe9, 0x33, 0xf6, 0x87, + 0x02, 0x80, 0xe3, 0xa0, 0x97, 0xec, 0x60, 0x1f, 0xcf, 0x44, 0x30, 0x96, 0x75, 0x84, 0x9c, 0x1d, + 0x76, 0x84, 0x7c, 0x37, 0xe4, 0xec, 0x2e, 0x51, 0x7f, 0xcb, 0xbc, 0x4e, 0x90, 0xc9, 0x3b, 0xf6, + 0x34, 0xdf, 0x53, 0x4c, 0x79, 0x5d, 0xc5, 0x35, 0xad, 0x6b, 0xec, 0xf9, 0x6e, 0x0b, 0x66, 0xa4, + 0xfd, 0x0f, 0xfc, 0x18, 0x84, 0x79, 0x8e, 0x18, 0x84, 0xa4, 0x29, 0x26, 0x06, 0x21, 0x13, 0x38, + 0x27, 0x72, 0x41, 0xf4, 0x39, 0x13, 0x22, 0x1e, 0x22, 0xe4, 0xb6, 0x64, 0xd3, 0x65, 0x06, 0xf9, + 0x8f, 0xde, 0xc2, 0x35, 0xb9, 0x87, 0x56, 0x9d, 0x3e, 0xe6, 0xdf, 0xcc, 0xc2, 0x51, 0x37, 0xe6, + 0x3c, 0x41, 0xfd, 0x36, 0xe6, 0x6c, 0x84, 0x74, 0x28, 0xe3, 0x77, 0xc8, 0xce, 0xeb, 0xfb, 0x88, + 0x93, 0xff, 0xe8, 0x4d, 0xdc, 0xdf, 0x25, 0xc1, 0x96, 0x42, 0xb8, 0x18, 0x29, 0x57, 0x01, 0xef, + 0x60, 0x51, 0x5f, 0x23, 0x11, 0xcd, 0xc4, 0xe3, 0x68, 0xe5, 0xc0, 0xd7, 0x7e, 0xd0, 0xff, 0x2c, + 0x02, 0x34, 0xe5, 0x5d, 0x65, 0xd3, 0xf1, 0xb2, 0xf4, 0x55, 0xc1, 0x9e, 0xbc, 0x4c, 0xcb, 0x89, + 0x96, 0x60, 0x32, 0xce, 0x16, 0xef, 0x82, 0x22, 0xb5, 0xa7, 0xa3, 0xbd, 0x7a, 0x32, 0xd3, 0x2b, + 0xbf, 0x16, 0x47, 0x9e, 0x1f, 0xb2, 0x24, 0xb7, 0xbc, 0xbd, 0x01, 0xd9, 0x18, 0xa8, 0x6a, 0xc7, + 0x7e, 0x97, 0xaa, 0x70, 0xdd, 0xb4, 0xef, 0x34, 0x93, 0x86, 0x33, 0x22, 0x89, 0x21, 0x17, 0x9b, + 0x79, 0xd7, 0xc5, 0x26, 0xfa, 0x03, 0xee, 0xe8, 0x8f, 0x01, 0x7a, 0x02, 0x3d, 0x0a, 0x81, 0xf5, + 0x76, 0x28, 0x3a, 0x66, 0x32, 0xee, 0xdd, 0xff, 0x27, 0x0e, 0x0d, 0x54, 0xe7, 0xf5, 0xba, 0xb6, + 0xa1, 0x4b, 0x6e, 0x49, 0xce, 0x20, 0x90, 0x5c, 0x74, 0xa4, 0x3f, 0x92, 0xbe, 0x2c, 0xc0, 0xc9, + 0x73, 0xd8, 0xf2, 0xfb, 0x71, 0x49, 0xb1, 0xb6, 0xec, 0xe9, 0xdc, 0x44, 0xff, 0x92, 0xcf, 0x7c, + 0x28, 0x80, 0x7f, 0x36, 0x1e, 0xfe, 0xe8, 0xcf, 0x82, 0xa8, 0xb5, 0x59, 0xd4, 0xee, 0x0d, 0xab, + 0x65, 0x34, 0xb5, 0x21, 0x00, 0xde, 0x0d, 0x05, 0x87, 0x50, 0xba, 0xee, 0x9d, 0x0e, 0xc5, 0xcf, + 0xab, 0x49, 0xa2, 0x6f, 0xa0, 0x8f, 0x7a, 0x38, 0x5e, 0x64, 0x70, 0x5c, 0x38, 0x10, 0x65, 0xa9, + 0x43, 0x7a, 0xfa, 0x36, 0x62, 0x9c, 0x40, 0x06, 0xd8, 0xb1, 0xe0, 0x28, 0x2e, 0x5d, 0x25, 0x02, + 0x14, 0x96, 0xf5, 0x5d, 0xdc, 0xd1, 0x4b, 0x19, 0xfb, 0xbf, 0x4d, 0x5f, 0x47, 0x2f, 0x65, 0xd1, + 0xbf, 0x39, 0x02, 0xc5, 0xf3, 0x8a, 0x69, 0xe9, 0xc6, 0x1e, 0xfa, 0x52, 0x0e, 0x66, 0xa8, 0xf6, + 0xca, 0x44, 0xef, 0xca, 0x78, 0xba, 0xb8, 0x7d, 0x4a, 0xa0, 0xeb, 0xe1, 0x48, 0xdf, 0x5e, 0xf3, + 0xf5, 0x81, 0xe9, 0x5b, 0x20, 0x06, 0xb3, 0x6c, 0xb1, 0x91, 0x07, 0xd6, 0x96, 0x6e, 0xf8, 0xb6, + 0xe0, 0x6e, 0xda, 0xfe, 0xc0, 0x70, 0xfe, 0x37, 0xe5, 0x1d, 0xec, 0xba, 0x77, 0xf4, 0x73, 0x48, + 0x0c, 0x6c, 0x65, 0xc7, 0x59, 0x20, 0x05, 0x89, 0xfc, 0x17, 0xe7, 0xa1, 0xb8, 0x69, 0xe8, 0x83, + 0x3e, 0xfd, 0x1c, 0x12, 0x24, 0x37, 0x19, 0xf4, 0x26, 0x7a, 0x12, 0x0a, 0x7d, 0x79, 0xd3, 0xb7, + 0xc0, 0xa2, 0x29, 0xf1, 0x06, 0x98, 0x53, 0x65, 0xd3, 0xa2, 0xbd, 0xf1, 0xbe, 0xfd, 0xd8, 0xcc, + 0xd1, 0xd3, 0x0e, 0xfa, 0x18, 0xb7, 0x4a, 0x84, 0x72, 0xd1, 0xd5, 0xff, 0x85, 0xc9, 0x65, 0x05, + 0x66, 0xa8, 0xa6, 0xd1, 0x9d, 0x59, 0x6e, 0x8c, 0xae, 0x86, 0xfe, 0x91, 0xbc, 0xd7, 0x38, 0x6d, + 0xbf, 0xc6, 0xd0, 0x93, 0xfe, 0x04, 0xf3, 0xdf, 0xdc, 0xfb, 0xbc, 0x0f, 0x8e, 0x87, 0xe8, 0x3a, + 0x98, 0xdd, 0x1d, 0x82, 0xc7, 0xcf, 0x88, 0xb8, 0xcd, 0xfb, 0x4b, 0x02, 0xef, 0x52, 0xee, 0xb2, + 0x23, 0xe2, 0x3e, 0xef, 0xdd, 0x00, 0xce, 0x04, 0x60, 0x97, 0xd9, 0xb7, 0x5d, 0x26, 0xdf, 0x7b, + 0x74, 0xda, 0x20, 0xb5, 0x48, 0x81, 0xd2, 0xe2, 0xfd, 0xbe, 0x3e, 0xd9, 0x39, 0xf7, 0xe3, 0x44, + 0x35, 0xa8, 0x76, 0x76, 0xfb, 0x98, 0x63, 0xfb, 0xc8, 0x67, 0x7f, 0x1f, 0xd1, 0xbf, 0xf4, 0xa1, + 0xfe, 0x42, 0x16, 0xa0, 0x8d, 0xdd, 0xc1, 0x14, 0xb4, 0x8c, 0x9a, 0x08, 0x70, 0xf4, 0xe3, 0x0c, + 0x6f, 0x68, 0x2f, 0xaf, 0xdb, 0x5e, 0xeb, 0x61, 0x36, 0x00, 0x5c, 0xc1, 0xba, 0xc6, 0x56, 0x97, + 0x3e, 0x2f, 0x5f, 0x26, 0x40, 0x8e, 0x5c, 0x7a, 0xfb, 0x07, 0xdf, 0x60, 0xf2, 0x1e, 0x9f, 0xa1, + 0x81, 0xdb, 0x43, 0x19, 0xbe, 0xdb, 0x43, 0xe8, 0x11, 0xee, 0x6f, 0x4a, 0x72, 0xf7, 0x2a, 0xd2, + 0x78, 0xc7, 0xc7, 0x53, 0x60, 0xf0, 0x8c, 0x77, 0xc1, 0x87, 0xef, 0xdb, 0x32, 0x9c, 0x9a, 0xf4, + 0x51, 0xf8, 0x13, 0x1a, 0x23, 0xed, 0xb3, 0xfe, 0xc5, 0x53, 0x8b, 0x91, 0x6a, 0x7a, 0xb5, 0x2b, + 0x13, 0x76, 0xb5, 0x2b, 0x3b, 0xd1, 0xed, 0x43, 0x61, 0x9f, 0xb3, 0xe3, 0xc7, 0xb8, 0xfd, 0x15, + 0xb4, 0xc7, 0x59, 0xc0, 0x3a, 0xcb, 0xb8, 0xe0, 0x2d, 0xe3, 0xf1, 0x30, 0xfb, 0x24, 0xd7, 0xa7, + 0x61, 0x3b, 0x19, 0x03, 0xd9, 0xc4, 0xef, 0x63, 0xbd, 0xe1, 0x04, 0x13, 0x02, 0xef, 0xb1, 0x2c, + 0xe4, 0xc8, 0x79, 0x4a, 0x40, 0xd7, 0xfc, 0x21, 0xee, 0x9b, 0x72, 0x81, 0xd0, 0x71, 0xe4, 0x9c, + 0x61, 0x34, 0xbb, 0x9f, 0x0b, 0x47, 0xfc, 0x00, 0x79, 0xd1, 0x9f, 0x11, 0x44, 0x9b, 0x10, 0x2c, + 0xcd, 0xe9, 0xd3, 0x28, 0x9a, 0x90, 0xf4, 0x47, 0xc9, 0xdb, 0xfc, 0xd1, 0xb1, 0x18, 0xfc, 0x2e, + 0x04, 0xbf, 0x2b, 0x94, 0x81, 0x11, 0xfd, 0x0e, 0x14, 0x46, 0x7f, 0x1a, 0xc4, 0xa0, 0xca, 0x62, + 0xf0, 0x8c, 0xb0, 0xae, 0x47, 0x0a, 0x3d, 0x4b, 0x4c, 0x36, 0x0e, 0x31, 0xbe, 0x55, 0xf8, 0x12, + 0x83, 0xc1, 0xd9, 0x58, 0x84, 0x1c, 0xb2, 0xe0, 0xbf, 0xf5, 0x58, 0x20, 0x84, 0xea, 0xb7, 0x69, + 0xc8, 0xce, 0x0d, 0xc6, 0x7f, 0x01, 0x1b, 0xdb, 0x31, 0x33, 0x22, 0xb6, 0xe3, 0xa4, 0xce, 0xf0, + 0x7e, 0x18, 0x84, 0xb3, 0xce, 0xc2, 0x79, 0x7b, 0x18, 0x17, 0x39, 0xe2, 0x74, 0x4e, 0x48, 0xce, + 0xe3, 0x1e, 0xa0, 0x0d, 0x06, 0xd0, 0x3b, 0x27, 0x20, 0x25, 0x1e, 0xac, 0x4a, 0xc2, 0xb0, 0x8a, + 0xf3, 0x70, 0x42, 0xaa, 0x55, 0x16, 0x5b, 0xcd, 0xc6, 0x83, 0xc1, 0xa7, 0xa5, 0x1c, 0x7a, 0x8b, + 0x00, 0x05, 0x89, 0x98, 0x17, 0xa1, 0x9f, 0x8b, 0x0b, 0xf3, 0x90, 0x9f, 0xcd, 0xec, 0x7e, 0xef, + 0xcd, 0x9f, 0xe1, 0xbe, 0x0c, 0x34, 0x8a, 0x8d, 0x0e, 0x5d, 0x21, 0x3b, 0xb4, 0xef, 0x72, 0x5d, + 0x06, 0xe2, 0xae, 0xf6, 0x8a, 0x05, 0xe8, 0x11, 0x01, 0x0a, 0xd4, 0x99, 0x6e, 0x2f, 0x2e, 0x40, + 0x41, 0x4f, 0xe9, 0x59, 0x5e, 0x4f, 0xe9, 0x07, 0xc3, 0x2c, 0x32, 0x1c, 0xc9, 0xe4, 0x98, 0x25, + 0xe0, 0xac, 0x76, 0x8a, 0x98, 0x7d, 0x4d, 0xa0, 0xfb, 0x85, 0x41, 0x5c, 0xc4, 0x16, 0xe1, 0x49, + 0x72, 0xbf, 0x8f, 0x35, 0xcf, 0x2d, 0xab, 0xb9, 0x64, 0xe8, 0x3b, 0x2d, 0x6b, 0x0b, 0x1b, 0xee, + 0xbe, 0x20, 0x73, 0xf3, 0x8c, 0x14, 0x5d, 0x88, 0xf5, 0xfd, 0x10, 0xe9, 0x17, 0x73, 0x14, 0xaf, + 0x23, 0x36, 0x29, 0x13, 0xce, 0xa4, 0x5f, 0xe0, 0x72, 0x90, 0xc9, 0x49, 0xcb, 0x21, 0xaf, 0x90, + 0xaf, 0x68, 0x40, 0xc1, 0xa1, 0xd4, 0xde, 0x16, 0x1e, 0x69, 0x6f, 0xc9, 0x06, 0x5e, 0xd8, 0x23, + 0x81, 0xe3, 0x6f, 0xe4, 0x52, 0x84, 0xa2, 0x57, 0x07, 0xd1, 0x11, 0x21, 0xa7, 0x2a, 0xda, 0xb6, + 0x7b, 0x0a, 0x61, 0xff, 0xf7, 0x3f, 0x61, 0xb3, 0x23, 0x3e, 0x61, 0x3d, 0x95, 0x82, 0xd7, 0xee, + 0x81, 0x3e, 0x61, 0xc7, 0x56, 0x37, 0x95, 0x13, 0xcf, 0xe3, 0x95, 0x5e, 0xef, 0x92, 0x62, 0x6d, + 0xb5, 0x5c, 0x1e, 0xdd, 0xcf, 0xa7, 0x53, 0x9e, 0x87, 0x62, 0x5f, 0xde, 0x53, 0x75, 0xd9, 0xbb, + 0x96, 0x4f, 0x93, 0xac, 0x81, 0x64, 0xa4, 0xa2, 0x9f, 0x72, 0x60, 0x88, 0x82, 0x10, 0xa6, 0xf2, + 0xe9, 0xec, 0xb9, 0xaa, 0x4c, 0x9f, 0xb1, 0xbf, 0x38, 0x14, 0xba, 0xe5, 0xe7, 0x79, 0xbd, 0x1d, + 0x4c, 0xb4, 0x6e, 0xbc, 0x4e, 0xe0, 0xd5, 0xc2, 0x50, 0xf6, 0xfc, 0x94, 0x04, 0x66, 0xf9, 0x44, + 0x9c, 0x71, 0x94, 0x54, 0x40, 0x96, 0xa5, 0x09, 0xa6, 0x2d, 0x11, 0x8e, 0x55, 0x1a, 0xf6, 0x8a, + 0xf4, 0x20, 0x35, 0x75, 0x2f, 0x01, 0xfa, 0xcc, 0xfe, 0x20, 0x2d, 0xff, 0x8a, 0x57, 0x0a, 0xc6, + 0x6e, 0xef, 0x26, 0x0b, 0xe4, 0xf3, 0x7e, 0x6e, 0x57, 0x73, 0x43, 0x3c, 0x4d, 0xd0, 0x89, 0x3e, + 0x9f, 0x43, 0x39, 0x9e, 0xf6, 0xd3, 0x1f, 0xc5, 0xaf, 0xda, 0x1f, 0x79, 0xa5, 0x9e, 0x18, 0x84, + 0x93, 0xa3, 0x91, 0x60, 0x5c, 0x95, 0x89, 0xd0, 0x38, 0x24, 0x4f, 0xf5, 0x2f, 0xcf, 0xc1, 0xd5, + 0xfb, 0x23, 0xa9, 0xf0, 0x47, 0x59, 0x1e, 0x3f, 0xa8, 0x26, 0x0d, 0x23, 0xf2, 0xbd, 0x98, 0x9b, + 0xbe, 0xf2, 0x95, 0x15, 0x05, 0xe5, 0x7d, 0x31, 0xf6, 0x88, 0xe5, 0xc3, 0x8f, 0x7b, 0xf2, 0x97, + 0x02, 0x9c, 0x18, 0x19, 0xf1, 0xe4, 0x4a, 0x10, 0x05, 0xfe, 0xa0, 0x86, 0x23, 0xf9, 0x99, 0xe0, + 0x44, 0xcb, 0x17, 0xef, 0x8e, 0x9f, 0x8a, 0xf4, 0x81, 0xfd, 0x44, 0x6e, 0x18, 0x58, 0x3a, 0xe9, + 0x7e, 0x30, 0x41, 0x60, 0x83, 0xf1, 0x47, 0x84, 0xa1, 0xf8, 0x23, 0xe7, 0xe1, 0xc9, 0xe4, 0x9e, + 0x9f, 0xb1, 0xe3, 0x28, 0x2a, 0x2a, 0xaa, 0x7a, 0x51, 0x56, 0x07, 0xd8, 0xac, 0x6b, 0x4e, 0xc4, + 0x0e, 0xf7, 0xbe, 0xf8, 0xb8, 0x62, 0xe8, 0x07, 0x07, 0x13, 0x83, 0x04, 0xe3, 0x93, 0x7c, 0x77, + 0x72, 0x31, 0x48, 0x60, 0x9e, 0xdf, 0x9a, 0x60, 0x33, 0xf5, 0x2c, 0x78, 0x66, 0xbb, 0xb5, 0x5c, + 0x23, 0xf7, 0xfc, 0xa4, 0xc5, 0xf6, 0xda, 0xf9, 0x4a, 0x7b, 0x4d, 0xaa, 0x35, 0x2a, 0xe4, 0x96, + 0xf2, 0xc5, 0x4a, 0x63, 0xb5, 0xb6, 0x76, 0xa9, 0xde, 0x39, 0xbf, 0xd6, 0x39, 0x5f, 0x6f, 0xaf, + 0xb5, 0x56, 0xec, 0xec, 0x92, 0x80, 0x1e, 0x0e, 0x8d, 0x63, 0xc2, 0xed, 0xed, 0xfd, 0x31, 0xee, + 0x70, 0xbf, 0x43, 0xec, 0x4a, 0x31, 0x4a, 0x09, 0x5f, 0xdc, 0xdf, 0x18, 0xf4, 0x4c, 0xe1, 0x44, + 0x2e, 0x07, 0x85, 0x36, 0x96, 0x8d, 0xee, 0x16, 0xfa, 0xad, 0x80, 0x3b, 0xd0, 0x25, 0x28, 0x6e, + 0x28, 0x2a, 0xf1, 0x68, 0x9f, 0x21, 0xdd, 0xbf, 0x95, 0x2f, 0xa4, 0xfd, 0x12, 0x79, 0x49, 0x72, + 0x5f, 0x16, 0x9f, 0x07, 0x79, 0x53, 0x37, 0x3c, 0x73, 0x2f, 0xce, 0xc0, 0xf8, 0x6d, 0xdd, 0xb0, + 0x24, 0xe7, 0x45, 0xc6, 0xa6, 0x4d, 0x18, 0xb2, 0x69, 0x0b, 0xb1, 0x5e, 0x63, 0x03, 0x44, 0x7b, + 0xb6, 0x6e, 0xb7, 0x40, 0xc9, 0x57, 0x22, 0x39, 0x84, 0xce, 0x17, 0xc8, 0x41, 0xe3, 0xbe, 0x7c, + 0x51, 0x84, 0xdc, 0x36, 0xde, 0x33, 0xe7, 0x8b, 0xe4, 0x39, 0xf9, 0x8f, 0xde, 0xc1, 0xed, 0x38, + 0xc7, 0x55, 0x16, 0x10, 0xbe, 0x86, 0x88, 0xd8, 0x6d, 0x50, 0x34, 0xe8, 0x34, 0xe5, 0x0a, 0x58, + 0xd8, 0xa1, 0x26, 0x2d, 0x87, 0xde, 0xce, 0xe5, 0x4f, 0x27, 0xaa, 0xf1, 0x29, 0xf8, 0x14, 0x99, + 0x81, 0xfc, 0x39, 0x43, 0xee, 0x6f, 0xa1, 0x5f, 0xcb, 0x24, 0x2f, 0x4e, 0x1e, 0xb0, 0xd9, 0x71, + 0xc0, 0x0a, 0xa3, 0x81, 0x45, 0xaf, 0xcc, 0x42, 0xae, 0x69, 0x77, 0x6a, 0xd8, 0xfa, 0x4a, 0xa4, + 0xb6, 0xca, 0xd4, 0xa4, 0x95, 0xd8, 0x20, 0xbb, 0x6e, 0x41, 0x84, 0x80, 0x5b, 0x90, 0x93, 0x50, + 0x50, 0xe5, 0x3d, 0x7d, 0xe0, 0xc9, 0x9c, 0x93, 0x1a, 0x66, 0x67, 0x7e, 0x1f, 0x3b, 0xed, 0xf9, + 0x4c, 0xe9, 0xea, 0x5a, 0x7d, 0x47, 0xde, 0xc4, 0xf4, 0xfa, 0x89, 0x9f, 0xe1, 0x3e, 0xad, 0xed, + 0xe8, 0x2f, 0x54, 0xe8, 0x35, 0x13, 0x3f, 0xc3, 0xa6, 0xa4, 0xa7, 0x6b, 0x98, 0x5c, 0x2b, 0x99, + 0x91, 0xc8, 0x7f, 0xf1, 0x26, 0x38, 0xe6, 0x4e, 0x3d, 0x4b, 0xba, 0xb1, 0x23, 0x5b, 0xf3, 0xb3, + 0xce, 0x35, 0x30, 0x36, 0x57, 0x9c, 0x87, 0xa2, 0xa9, 0x29, 0xfd, 0x3e, 0xb6, 0xe6, 0xc1, 0x51, + 0xfe, 0xd0, 0x24, 0x7a, 0x63, 0x16, 0x72, 0xb5, 0xde, 0x26, 0x66, 0x4e, 0xde, 0x33, 0x81, 0x93, + 0xf7, 0x93, 0x50, 0x70, 0x9c, 0x8d, 0x52, 0xb6, 0xd0, 0xd4, 0x48, 0xc6, 0x3c, 0x87, 0x32, 0x30, + 0x37, 0xe2, 0xc2, 0x2f, 0x95, 0x49, 0x22, 0x18, 0x65, 0xbb, 0xc5, 0xa0, 0xa5, 0x77, 0xba, 0x9c, + 0x3b, 0x09, 0x85, 0x2d, 0xa5, 0xd7, 0xc3, 0x1a, 0xe5, 0x1d, 0x4d, 0x9d, 0x3e, 0x05, 0x39, 0x9b, + 0x06, 0x5b, 0xb8, 0x1b, 0x8a, 0xb6, 0x5d, 0xba, 0x4a, 0x3c, 0xea, 0x1f, 0xe9, 0x95, 0x32, 0xac, + 0x6e, 0x38, 0xd2, 0x06, 0x8a, 0xe9, 0xdc, 0xe8, 0xc1, 0xfe, 0x2c, 0xc8, 0x6b, 0x7a, 0xcf, 0x3b, + 0xae, 0x3e, 0x15, 0xfe, 0xbe, 0x2d, 0x9b, 0x92, 0x53, 0xd8, 0x7e, 0x0b, 0xf7, 0x36, 0xb1, 0x49, + 0x84, 0x39, 0xf2, 0x2d, 0x9b, 0xa5, 0x92, 0x53, 0x98, 0xd3, 0xb0, 0x29, 0x82, 0xe8, 0xf4, 0x27, + 0x89, 0xff, 0x5b, 0x80, 0xe3, 0xce, 0xfc, 0xd4, 0x1e, 0xac, 0xdb, 0x55, 0xad, 0x63, 0xf4, 0x5a, + 0x81, 0xb9, 0x41, 0x64, 0x0e, 0xd6, 0xbd, 0x55, 0xdf, 0x49, 0x04, 0x27, 0x91, 0x6c, 0x22, 0x6b, + 0x92, 0x30, 0xe9, 0x9a, 0xc4, 0xac, 0x2f, 0xc2, 0x7e, 0x5b, 0x6a, 0xc7, 0x98, 0xd2, 0x5d, 0x8d, + 0x46, 0xac, 0x25, 0xf6, 0x98, 0x94, 0x37, 0x2c, 0x6c, 0x78, 0x37, 0xc5, 0xdc, 0x24, 0x71, 0x57, + 0x8b, 0x37, 0x74, 0x03, 0xd7, 0x7b, 0x64, 0x3c, 0xcf, 0x4a, 0x5e, 0x3a, 0x30, 0x4c, 0x81, 0x31, + 0x90, 0xb9, 0x19, 0x8e, 0x2b, 0x9b, 0x9a, 0x6e, 0x60, 0xcf, 0x33, 0xdd, 0xfc, 0x51, 0xc7, 0xfd, + 0xd0, 0x50, 0xb6, 0x78, 0x2b, 0x5c, 0xad, 0xe9, 0x8b, 0xb8, 0x4f, 0xf9, 0xee, 0xa0, 0x3a, 0xe7, + 0xdc, 0xaa, 0xd8, 0xf7, 0x00, 0x7d, 0x59, 0x88, 0xa9, 0x1c, 0x1e, 0x02, 0x35, 0xb1, 0xa5, 0x4f, + 0x7c, 0x2e, 0x1c, 0xed, 0xe1, 0x3e, 0xd6, 0x7a, 0x58, 0xeb, 0x2a, 0xde, 0x88, 0x08, 0x7d, 0x8f, + 0x29, 0xec, 0x8b, 0x53, 0x2e, 0x28, 0x4e, 0xe7, 0x02, 0x51, 0x7b, 0xf2, 0x43, 0xe6, 0x28, 0xac, + 0x55, 0x62, 0x80, 0x25, 0x65, 0x1a, 0xbd, 0xc7, 0x0c, 0x84, 0xef, 0x89, 0xa5, 0xeb, 0x8e, 0xe6, + 0xd0, 0x14, 0xec, 0xe0, 0x72, 0x70, 0xb4, 0xde, 0x33, 0xfd, 0x71, 0xa7, 0x8f, 0x1b, 0x76, 0xfb, + 0x82, 0x2c, 0x78, 0x02, 0x2d, 0x04, 0x04, 0x7a, 0x84, 0x08, 0x1e, 0x19, 0x29, 0x82, 0xe8, 0x25, + 0x41, 0xa1, 0xaa, 0xb1, 0x42, 0x75, 0x66, 0x14, 0xcb, 0x82, 0xe4, 0x5e, 0xc9, 0x12, 0x85, 0xde, + 0xed, 0x09, 0xc2, 0x79, 0x46, 0x10, 0x9e, 0x15, 0xb3, 0x57, 0xe9, 0x4b, 0xc1, 0xbf, 0xcf, 0xc2, + 0xd5, 0x8e, 0x24, 0xae, 0x6a, 0xa6, 0x27, 0x0a, 0x4f, 0x61, 0x4d, 0xf1, 0xec, 0x3e, 0x99, 0x9e, + 0x29, 0x1e, 0x49, 0xa1, 0x97, 0xc7, 0x55, 0x9e, 0xed, 0x6b, 0x25, 0xe4, 0xc0, 0x28, 0x96, 0x5a, + 0x6b, 0x5c, 0xa5, 0xe9, 0x33, 0xf0, 0xd7, 0x9d, 0xd0, 0x8d, 0x0d, 0xb2, 0xf7, 0x43, 0x32, 0xaf, + 0xc6, 0xe3, 0x4e, 0x6f, 0xf3, 0xe8, 0x5c, 0x89, 0xbb, 0x3e, 0xd4, 0x64, 0xaa, 0xec, 0x54, 0xed, + 0x6e, 0x2f, 0xd1, 0x3b, 0xb9, 0x2d, 0xe6, 0x3d, 0x1e, 0x51, 0xea, 0x12, 0x51, 0x4c, 0xf0, 0x19, + 0xc7, 0x8f, 0x69, 0x3a, 0x7d, 0x58, 0x7e, 0x59, 0x80, 0x39, 0xe2, 0xcd, 0x76, 0x49, 0xde, 0xd5, + 0x0d, 0xc5, 0xc2, 0xe8, 0x1c, 0x2f, 0x34, 0xa7, 0x00, 0x14, 0xef, 0x35, 0x6a, 0x3e, 0x10, 0xc8, + 0x89, 0x11, 0x59, 0xc6, 0xe7, 0x82, 0x4f, 0xc7, 0x14, 0x23, 0xcb, 0x70, 0x34, 0x3f, 0x45, 0x20, + 0x2a, 0xce, 0x25, 0xff, 0x5e, 0x4c, 0x20, 0xdc, 0xd7, 0x7c, 0x20, 0xbc, 0x8a, 0x26, 0x03, 0xc2, + 0x7d, 0xfd, 0x90, 0x80, 0x08, 0x69, 0x3e, 0x7d, 0x20, 0x1e, 0x29, 0x40, 0x69, 0x09, 0xcb, 0xd6, + 0xc0, 0xc0, 0x9e, 0x19, 0x0c, 0xfa, 0x15, 0x6a, 0xb0, 0x58, 0xe3, 0xc5, 0xe4, 0xba, 0x61, 0x7d, + 0xd8, 0x6c, 0x50, 0xed, 0x15, 0x5b, 0x8d, 0x3e, 0x4c, 0x50, 0x39, 0xa1, 0x43, 0x95, 0x78, 0x6a, + 0x74, 0x0e, 0x2a, 0xd2, 0xc7, 0xe7, 0xb5, 0xbe, 0x5d, 0x61, 0x42, 0x68, 0x7c, 0x3a, 0x88, 0xc6, + 0x0a, 0x8b, 0xc6, 0xdd, 0x5c, 0x7c, 0x88, 0xb2, 0x27, 0x8c, 0x09, 0x88, 0xef, 0x3c, 0xa5, 0xcd, + 0x00, 0x72, 0xff, 0xe4, 0x84, 0x4c, 0x21, 0x6c, 0x4d, 0x16, 0xf2, 0x1d, 0xbd, 0x8d, 0x19, 0x67, + 0xc4, 0xd1, 0x90, 0xf8, 0x5f, 0x66, 0x59, 0x26, 0xf2, 0xf2, 0xcb, 0xe2, 0x6a, 0x11, 0x48, 0xbb, + 0xe1, 0x9e, 0x2c, 0xcc, 0x40, 0x4c, 0x1c, 0x27, 0x11, 0xef, 0x7b, 0x7f, 0x54, 0xf5, 0xe9, 0x33, + 0xf4, 0x23, 0x33, 0xee, 0x35, 0x01, 0x62, 0xed, 0xf7, 0xb5, 0x2c, 0x14, 0xe8, 0x61, 0x11, 0xab, + 0xee, 0x77, 0xed, 0x95, 0xdc, 0x5d, 0xa7, 0x9f, 0x81, 0xde, 0x15, 0xd3, 0x84, 0x9d, 0x18, 0xc4, + 0x25, 0x78, 0x32, 0xf3, 0xae, 0x18, 0x56, 0xeb, 0xe1, 0x6d, 0x4f, 0xe1, 0xce, 0x58, 0xde, 0xb9, + 0x61, 0xf3, 0x5f, 0xb2, 0x00, 0xa1, 0xab, 0x6f, 0x38, 0x9f, 0xc7, 0xae, 0xbe, 0x0f, 0x07, 0x71, + 0xb8, 0xc0, 0xe2, 0x70, 0x47, 0x18, 0x2f, 0x6c, 0x99, 0x1b, 0xb7, 0x04, 0xa3, 0xf7, 0x7b, 0x1c, + 0x6e, 0x32, 0x1c, 0xbe, 0x7b, 0xa2, 0x5a, 0xd3, 0xe7, 0xb4, 0xc3, 0xe1, 0x90, 0x8d, 0xe6, 0x38, + 0x0e, 0x47, 0x6c, 0x34, 0x0f, 0xc0, 0xe1, 0xe8, 0xdd, 0xe6, 0xa4, 0x1c, 0x3e, 0xb4, 0x4d, 0xe4, + 0xe3, 0x39, 0x28, 0xd4, 0x1e, 0xea, 0xeb, 0x86, 0x85, 0x3e, 0x9b, 0x61, 0x1c, 0x52, 0xf4, 0x7d, + 0xb7, 0xfb, 0xe4, 0xbf, 0x3d, 0xff, 0xf6, 0xf4, 0xae, 0x7f, 0x6d, 0x9a, 0xa6, 0xc4, 0xb3, 0x50, + 0xd8, 0x70, 0x74, 0xe3, 0xce, 0x07, 0x17, 0x62, 0xba, 0xea, 0x54, 0x5e, 0x76, 0xf4, 0xe4, 0x12, + 0x2d, 0x29, 0x96, 0x40, 0x78, 0xb1, 0xd2, 0xa7, 0x87, 0xc7, 0xf6, 0x5f, 0x12, 0xd1, 0x83, 0x7a, + 0x75, 0xc3, 0xa6, 0x85, 0x1d, 0x77, 0x53, 0x33, 0x12, 0x9b, 0x29, 0x9e, 0x86, 0xa3, 0x34, 0x63, + 0x49, 0x51, 0xb1, 0x13, 0x80, 0x6e, 0x46, 0x62, 0xf2, 0xd0, 0xa7, 0x82, 0xe0, 0xde, 0xc9, 0x82, + 0x7b, 0x7a, 0x14, 0x6d, 0xa1, 0x4e, 0x46, 0x86, 0xfd, 0x6f, 0x10, 0x35, 0xff, 0xa0, 0xdb, 0xc5, + 0xb8, 0x47, 0x4f, 0x26, 0xdc, 0x64, 0x4c, 0x2b, 0xa3, 0x37, 0x79, 0x52, 0xf2, 0x5c, 0x46, 0x4a, + 0x9e, 0x36, 0x9e, 0xbc, 0xf4, 0xef, 0xe2, 0xaf, 0x40, 0x81, 0x9e, 0x6a, 0x1c, 0x85, 0x99, 0x65, + 0xd9, 0xd8, 0xee, 0xe9, 0x97, 0x35, 0x47, 0x77, 0xbf, 0x42, 0x35, 0x36, 0xa5, 0x8c, 0x5d, 0xe3, + 0x03, 0xed, 0x56, 0xb3, 0x94, 0x15, 0x8b, 0x20, 0x2c, 0xb6, 0x3a, 0x25, 0xc1, 0xfe, 0xd3, 0xbe, + 0x78, 0xae, 0x94, 0x13, 0x8f, 0x01, 0x9c, 0x93, 0x2a, 0x2b, 0xe7, 0xd7, 0x48, 0x89, 0x3c, 0x7a, + 0xa5, 0x00, 0xc7, 0x9d, 0xce, 0xf8, 0x2a, 0xaa, 0xfb, 0xa3, 0x85, 0x6d, 0x7c, 0x94, 0x9b, 0x8f, + 0x72, 0x5f, 0x7a, 0x1b, 0x6a, 0x3a, 0x06, 0xde, 0xf1, 0x50, 0xe5, 0xbb, 0xf9, 0x16, 0x4d, 0xcd, + 0x14, 0x2e, 0xb7, 0x67, 0x5d, 0x30, 0x5c, 0xb7, 0x6a, 0xe6, 0x50, 0x0c, 0xa3, 0x61, 0x30, 0x62, + 0xb3, 0xda, 0xab, 0xf8, 0x8a, 0x60, 0x75, 0x18, 0x35, 0x53, 0xb9, 0x10, 0x5d, 0x72, 0x68, 0x20, + 0x61, 0x0c, 0x4c, 0x4b, 0x37, 0x70, 0xd0, 0x3d, 0x78, 0x8c, 0x59, 0x16, 0x3d, 0xca, 0xad, 0x9c, + 0x1a, 0x6e, 0x31, 0x35, 0x10, 0xf8, 0x14, 0x56, 0x63, 0xc8, 0x49, 0x1f, 0x85, 0x47, 0xb3, 0x70, + 0x74, 0x59, 0xde, 0xf6, 0xbc, 0x08, 0xf2, 0xdb, 0xbf, 0x30, 0x2e, 0xab, 0x22, 0xbf, 0x2c, 0x82, + 0xf5, 0x47, 0xde, 0x61, 0xce, 0x7a, 0x0e, 0xe5, 0xf8, 0xbe, 0x29, 0x22, 0x2a, 0x4e, 0x9f, 0x73, + 0xdf, 0xc8, 0xc2, 0x7c, 0x90, 0x80, 0x85, 0xbd, 0xc0, 0x45, 0x64, 0xd6, 0x51, 0xf8, 0xd0, 0xb5, + 0xd9, 0x59, 0xe6, 0x3a, 0xea, 0x6f, 0x70, 0x6b, 0xb4, 0xc3, 0x5a, 0xe3, 0xe4, 0x29, 0x9f, 0x86, + 0x9b, 0xb3, 0x91, 0x29, 0xd8, 0xf7, 0x65, 0x61, 0xae, 0xaa, 0xea, 0xda, 0x04, 0xa2, 0xf9, 0x4f, + 0x19, 0x5e, 0x43, 0x19, 0xa6, 0x01, 0x4e, 0x3e, 0xf2, 0x59, 0xc1, 0x44, 0xd5, 0x9c, 0x3e, 0xf3, + 0x3e, 0x93, 0x85, 0xe3, 0x0e, 0x76, 0x8b, 0x83, 0xbe, 0xaa, 0x74, 0x63, 0xb1, 0xef, 0x65, 0x31, + 0x6f, 0xcc, 0x7b, 0x4d, 0x70, 0x32, 0x30, 0xce, 0x25, 0xf8, 0xb0, 0xba, 0xa7, 0x10, 0x1f, 0x3e, + 0x07, 0xc7, 0x56, 0x35, 0xb3, 0xaf, 0xca, 0xe6, 0x16, 0x35, 0x50, 0xbb, 0x83, 0x39, 0xaa, 0x7c, + 0xd1, 0x00, 0x1b, 0x7b, 0xee, 0x51, 0x25, 0x49, 0x8c, 0x36, 0x0f, 0x42, 0x8f, 0x0a, 0xbc, 0xde, + 0x31, 0xd9, 0xf6, 0x42, 0xd8, 0x79, 0x1e, 0x66, 0xfa, 0x4a, 0xd7, 0x1a, 0x18, 0x78, 0xbf, 0x1d, + 0x42, 0x54, 0x25, 0x2b, 0xce, 0x4b, 0x92, 0xf7, 0x36, 0x92, 0xa1, 0x48, 0x33, 0xf7, 0x59, 0x23, + 0x51, 0x4f, 0x8b, 0x59, 0xdf, 0xd3, 0xe2, 0x49, 0x28, 0xc8, 0x86, 0xa5, 0x98, 0xae, 0x15, 0x1c, + 0x4d, 0xd9, 0xb2, 0xe4, 0xfc, 0x5b, 0x35, 0x54, 0x7a, 0x1c, 0xe9, 0x67, 0x04, 0xdc, 0x4b, 0x44, + 0xb9, 0xf2, 0x8c, 0xec, 0x77, 0x3c, 0xa8, 0x2f, 0x4c, 0x60, 0x43, 0x7a, 0x0d, 0xfc, 0x8c, 0x44, + 0xa2, 0x5e, 0xd4, 0x97, 0xeb, 0x9d, 0xb5, 0xda, 0xf3, 0xab, 0xb5, 0xda, 0x62, 0x6d, 0xb1, 0xd4, + 0x43, 0xdf, 0xca, 0x42, 0xc9, 0xa5, 0xcd, 0xf5, 0xe6, 0x37, 0x34, 0x8e, 0x28, 0x33, 0xfd, 0x71, + 0xe4, 0x65, 0xb0, 0xf6, 0x7a, 0x91, 0xbb, 0x92, 0xe1, 0x36, 0x62, 0xb8, 0x76, 0xfc, 0x14, 0xd7, + 0x3e, 0x63, 0x4c, 0x03, 0x87, 0xc8, 0xe2, 0x2f, 0x66, 0x61, 0xae, 0xd2, 0xef, 0xab, 0x7b, 0xde, + 0x34, 0x1f, 0xe7, 0xa0, 0x26, 0xe0, 0x63, 0x25, 0xbb, 0xcf, 0xc7, 0xca, 0x0f, 0xb8, 0x97, 0x01, + 0x86, 0x80, 0x10, 0xe5, 0x05, 0xdf, 0xb4, 0x1f, 0x55, 0x53, 0xfa, 0x73, 0xd6, 0x6b, 0x7e, 0x06, + 0xf2, 0x24, 0xf2, 0x19, 0x7a, 0x8f, 0x00, 0x45, 0x55, 0xdf, 0xac, 0x6b, 0x1b, 0xfa, 0x28, 0x4b, + 0xc3, 0x2d, 0xec, 0xdd, 0xc4, 0x24, 0xff, 0xc5, 0x9b, 0xe0, 0x98, 0xfd, 0xeb, 0xca, 0x07, 0x75, + 0xd5, 0x3e, 0x23, 0x0d, 0xe5, 0x8a, 0xa7, 0xe1, 0xa8, 0xa5, 0x5b, 0xb2, 0x1a, 0xb4, 0x70, 0xcf, + 0x4b, 0x4c, 0x9e, 0x8d, 0x1a, 0x49, 0xb7, 0x95, 0x17, 0x63, 0x6a, 0x01, 0xeb, 0x67, 0x88, 0x37, + 0xc0, 0xdc, 0x86, 0x62, 0x98, 0x96, 0x53, 0xba, 0xe3, 0xa8, 0x29, 0xf2, 0x12, 0x9b, 0xe9, 0xb8, + 0x98, 0xf7, 0x32, 0x2e, 0x62, 0x83, 0x18, 0xd6, 0x11, 0x17, 0xf3, 0xc1, 0x5c, 0x9b, 0x1e, 0x55, + 0x0e, 0x54, 0x36, 0xe3, 0xd0, 0x13, 0xcc, 0x73, 0x1d, 0xc5, 0xf9, 0x55, 0x39, 0x66, 0x8a, 0x6c, + 0xa6, 0xdd, 0xa2, 0x9d, 0xb1, 0x32, 0x50, 0xd5, 0x36, 0xee, 0x56, 0x36, 0x75, 0x62, 0xac, 0x98, + 0x97, 0x86, 0x72, 0x45, 0x04, 0x33, 0x83, 0x7e, 0xdb, 0x92, 0xad, 0x81, 0x49, 0x2d, 0x4c, 0xbc, + 0xb4, 0x2d, 0x91, 0x3d, 0xfd, 0xb2, 0x46, 0x9f, 0x3a, 0x26, 0x50, 0x81, 0x1c, 0x7b, 0x7d, 0x70, + 0x84, 0x70, 0xce, 0x59, 0x35, 0x1c, 0xc9, 0xfa, 0x73, 0x01, 0xc0, 0xda, 0x32, 0xb0, 0xdc, 0x1b, + 0x09, 0xd7, 0xb3, 0xe1, 0xa4, 0xaa, 0x6f, 0x9a, 0x97, 0x14, 0x6b, 0xcb, 0x07, 0xe2, 0xbc, 0x0b, + 0x60, 0x5e, 0x0a, 0x79, 0x2a, 0x3e, 0x0f, 0xae, 0x75, 0x9f, 0x5c, 0xda, 0xd2, 0x55, 0xdc, 0x31, + 0x30, 0x1e, 0xc2, 0x37, 0x2f, 0x45, 0x15, 0x11, 0xcb, 0x90, 0xb3, 0x1f, 0xcf, 0xe7, 0xc8, 0x2a, + 0xc3, 0xaa, 0xae, 0x88, 0x98, 0x95, 0xa9, 0x88, 0x49, 0xa4, 0x9c, 0x78, 0x27, 0x5c, 0xa3, 0x5f, + 0xd6, 0x1a, 0xfa, 0xe6, 0x79, 0xd9, 0xac, 0xca, 0x1b, 0x58, 0xc2, 0xce, 0xe2, 0xad, 0x1b, 0x54, + 0x61, 0x15, 0xf6, 0x58, 0x2c, 0x83, 0xd8, 0x95, 0x37, 0x70, 0x83, 0x05, 0xc0, 0x91, 0x8c, 0x11, + 0x4f, 0x6c, 0xd8, 0xed, 0xdc, 0x55, 0x17, 0x08, 0xc7, 0xea, 0x92, 0xc9, 0xb3, 0x01, 0xb5, 0xd3, + 0x8b, 0x3e, 0x20, 0x8e, 0xa5, 0xdb, 0x50, 0xee, 0x3e, 0x91, 0x9e, 0x1d, 0x27, 0xd2, 0x30, 0x2c, + 0xd2, 0x1e, 0xac, 0x47, 0x82, 0xb0, 0x7e, 0x35, 0x0f, 0xb9, 0xf6, 0x9e, 0xd6, 0xb5, 0xf7, 0x3b, + 0xde, 0x8c, 0x76, 0x16, 0x4e, 0x50, 0x03, 0xa0, 0x8e, 0x21, 0xef, 0x62, 0xc3, 0xc4, 0x0d, 0xb2, + 0x61, 0x70, 0x5c, 0x95, 0x8f, 0x7c, 0x66, 0xcb, 0xaf, 0xb9, 0xad, 0xf4, 0x6b, 0x3b, 0x7d, 0x6b, + 0xaf, 0x61, 0xe3, 0x41, 0xe3, 0xf9, 0x32, 0x99, 0xe2, 0x7d, 0x80, 0x2c, 0x63, 0xaf, 0xa3, 0xbb, + 0xf8, 0x49, 0x78, 0x47, 0xb7, 0xb0, 0xdb, 0x29, 0x1a, 0xeb, 0x30, 0xbc, 0x04, 0xfa, 0x5d, 0x6e, + 0x9f, 0xfc, 0x0e, 0xf4, 0x76, 0xd7, 0x42, 0xd6, 0xa9, 0xe7, 0x40, 0xd1, 0x91, 0x67, 0x77, 0x83, + 0xf2, 0xa4, 0x11, 0xef, 0xfb, 0x12, 0x2f, 0xb9, 0xa5, 0x19, 0x07, 0xf6, 0xc2, 0x90, 0x03, 0x7b, + 0x17, 0xa6, 0x0e, 0xad, 0x39, 0x38, 0xf3, 0xd0, 0x3c, 0xc2, 0x03, 0xe7, 0xaf, 0x2d, 0xd2, 0xfa, + 0xc0, 0xb2, 0x45, 0xac, 0xae, 0xb5, 0x88, 0xd4, 0xd1, 0xa9, 0x28, 0xa2, 0x84, 0xb8, 0x00, 0xd7, + 0xb1, 0x4f, 0xcf, 0xb3, 0x73, 0xa2, 0x23, 0x90, 0x91, 0x65, 0xf6, 0x89, 0x53, 0x71, 0x9c, 0x38, + 0xcd, 0x0c, 0x89, 0x13, 0xa7, 0xb7, 0xe6, 0x50, 0x14, 0xd2, 0x5f, 0x66, 0x3e, 0x2e, 0x40, 0xc1, + 0x61, 0x39, 0x7a, 0x55, 0x86, 0x71, 0x00, 0x40, 0x41, 0xf5, 0x1c, 0x00, 0xb8, 0xe9, 0x29, 0xc9, + 0xf0, 0xdb, 0xf8, 0x5d, 0x40, 0x13, 0xee, 0x39, 0x9d, 0x08, 0xb5, 0xe9, 0xcb, 0x29, 0xda, 0x86, + 0x4e, 0x8f, 0xe7, 0xc6, 0x88, 0x30, 0x29, 0xca, 0xa9, 0xb6, 0x88, 0x68, 0x7b, 0x2a, 0x81, 0xc5, + 0x73, 0xf6, 0x34, 0x8f, 0x5e, 0xc0, 0x84, 0x99, 0x59, 0xa7, 0x21, 0x2f, 0x68, 0x14, 0x2d, 0x9a, + 0x1c, 0xa9, 0x07, 0x3b, 0x0d, 0x47, 0x07, 0x9a, 0xac, 0xe9, 0xda, 0xde, 0x8e, 0xf2, 0x62, 0x6f, + 0xa3, 0xc0, 0xe4, 0xb1, 0x66, 0x7a, 0x1c, 0x93, 0x89, 0x4d, 0x51, 0x78, 0x80, 0xe7, 0x0d, 0x45, + 0xc5, 0xc4, 0xdc, 0xdf, 0xf5, 0x29, 0x4d, 0xd3, 0xb1, 0x46, 0xca, 0x88, 0x26, 0xd2, 0xe7, 0xf6, + 0xdf, 0x67, 0xe0, 0xc4, 0x39, 0xac, 0x61, 0x43, 0xe9, 0x3a, 0x9d, 0xe2, 0xf2, 0xd7, 0x38, 0xea, + 0x0d, 0x76, 0x33, 0xca, 0xe7, 0x69, 0x31, 0xbc, 0x9e, 0xf4, 0x0f, 0x4a, 0x8a, 0x90, 0x27, 0xe3, + 0x7a, 0xe1, 0xba, 0xcf, 0x3f, 0x7e, 0x2a, 0xf3, 0xe5, 0xc7, 0x4f, 0x65, 0xbe, 0xf5, 0xf8, 0xa9, + 0xcc, 0xaf, 0x7e, 0xe7, 0xd4, 0x55, 0x5f, 0xfe, 0xce, 0xa9, 0xab, 0xfe, 0xea, 0x3b, 0xa7, 0xae, + 0xfa, 0x67, 0xd9, 0xfe, 0xfa, 0x7a, 0x81, 0xd8, 0xb9, 0xde, 0xfe, 0xff, 0x02, 0x00, 0x00, 0xff, + 0xff, 0x97, 0x28, 0x26, 0x8f, 0x75, 0x0e, 0x01, 0x00, } func (m *Rpc) Marshal() (dAtA []byte, err error) { @@ -44987,6 +45243,162 @@ func (m *RpcBlockSetTextCheckedResponseError) MarshalToSizedBuffer(dAtA []byte) return len(dAtA) - i, nil } +func (m *RpcBlockSetTextIcon) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RpcBlockSetTextIcon) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *RpcBlockSetTextIcon) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *RpcBlockSetTextIconRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RpcBlockSetTextIconRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *RpcBlockSetTextIconRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.IconEmoji) > 0 { + i -= len(m.IconEmoji) + copy(dAtA[i:], m.IconEmoji) + i = encodeVarintCommands(dAtA, i, uint64(len(m.IconEmoji))) + i-- + dAtA[i] = 0x2a + } + if len(m.IconImage) > 0 { + i -= len(m.IconImage) + copy(dAtA[i:], m.IconImage) + i = encodeVarintCommands(dAtA, i, uint64(len(m.IconImage))) + i-- + dAtA[i] = 0x1a + } + if len(m.BlockId) > 0 { + i -= len(m.BlockId) + copy(dAtA[i:], m.BlockId) + i = encodeVarintCommands(dAtA, i, uint64(len(m.BlockId))) + i-- + dAtA[i] = 0x12 + } + if len(m.ContextId) > 0 { + i -= len(m.ContextId) + copy(dAtA[i:], m.ContextId) + i = encodeVarintCommands(dAtA, i, uint64(len(m.ContextId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *RpcBlockSetTextIconResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RpcBlockSetTextIconResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *RpcBlockSetTextIconResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Event != nil { + { + size, err := m.Event.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintCommands(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if m.Error != nil { + { + size, err := m.Error.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintCommands(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *RpcBlockSetTextIconResponseError) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RpcBlockSetTextIconResponseError) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *RpcBlockSetTextIconResponseError) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Description) > 0 { + i -= len(m.Description) + copy(dAtA[i:], m.Description) + i = encodeVarintCommands(dAtA, i, uint64(len(m.Description))) + i-- + dAtA[i] = 0x12 + } + if m.Code != 0 { + i = encodeVarintCommands(dAtA, i, uint64(m.Code)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + func (m *RpcBlockSetFile) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -52804,20 +53216,6 @@ func (m *RpcAccountCreateRequestAvatarOfAvatarLocalPath) MarshalToSizedBuffer(dA dAtA[i] = 0x12 return len(dAtA) - i, nil } -func (m *RpcAccountCreateRequestAvatarOfAvatarColor) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *RpcAccountCreateRequestAvatarOfAvatarColor) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - i -= len(m.AvatarColor) - copy(dAtA[i:], m.AvatarColor) - i = encodeVarintCommands(dAtA, i, uint64(len(m.AvatarColor))) - i-- - dAtA[i] = 0x1a - return len(dAtA) - i, nil -} func (m *RpcAccountCreateResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -58984,6 +59382,16 @@ func (m *RpcObjectSearchSubscribeRequest) MarshalToSizedBuffer(dAtA []byte) (int _ = i var l int _ = l + if m.NoDepSubscription { + i-- + if m.NoDepSubscription { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x68 + } if len(m.IgnoreWorkspace) > 0 { i -= len(m.IgnoreWorkspace) copy(dAtA[i:], m.IgnoreWorkspace) @@ -65811,6 +66219,73 @@ func (m *RpcBlockSetTextCheckedResponseError) Size() (n int) { return n } +func (m *RpcBlockSetTextIcon) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *RpcBlockSetTextIconRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.ContextId) + if l > 0 { + n += 1 + l + sovCommands(uint64(l)) + } + l = len(m.BlockId) + if l > 0 { + n += 1 + l + sovCommands(uint64(l)) + } + l = len(m.IconImage) + if l > 0 { + n += 1 + l + sovCommands(uint64(l)) + } + l = len(m.IconEmoji) + if l > 0 { + n += 1 + l + sovCommands(uint64(l)) + } + return n +} + +func (m *RpcBlockSetTextIconResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Error != nil { + l = m.Error.Size() + n += 1 + l + sovCommands(uint64(l)) + } + if m.Event != nil { + l = m.Event.Size() + n += 1 + l + sovCommands(uint64(l)) + } + return n +} + +func (m *RpcBlockSetTextIconResponseError) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Code != 0 { + n += 1 + sovCommands(uint64(m.Code)) + } + l = len(m.Description) + if l > 0 { + n += 1 + l + sovCommands(uint64(l)) + } + return n +} + func (m *RpcBlockSetFile) Size() (n int) { if m == nil { return 0 @@ -69102,16 +69577,6 @@ func (m *RpcAccountCreateRequestAvatarOfAvatarLocalPath) Size() (n int) { n += 1 + l + sovCommands(uint64(l)) return n } -func (m *RpcAccountCreateRequestAvatarOfAvatarColor) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.AvatarColor) - n += 1 + l + sovCommands(uint64(l)) - return n -} func (m *RpcAccountCreateResponse) Size() (n int) { if m == nil { return 0 @@ -71744,6 +72209,9 @@ func (m *RpcObjectSearchSubscribeRequest) Size() (n int) { if l > 0 { n += 1 + l + sovCommands(uint64(l)) } + if m.NoDepSubscription { + n += 2 + } return n } @@ -90111,6 +90579,457 @@ func (m *RpcBlockSetTextCheckedResponseError) Unmarshal(dAtA []byte) error { } return nil } +func (m *RpcBlockSetTextIcon) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCommands + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Icon: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Icon: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipCommands(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthCommands + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RpcBlockSetTextIconRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCommands + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Request: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Request: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ContextId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCommands + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthCommands + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCommands + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ContextId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCommands + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthCommands + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCommands + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BlockId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field IconImage", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCommands + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthCommands + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCommands + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.IconImage = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field IconEmoji", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCommands + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthCommands + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCommands + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.IconEmoji = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipCommands(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthCommands + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RpcBlockSetTextIconResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCommands + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Response: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Response: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Error", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCommands + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthCommands + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthCommands + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Error == nil { + m.Error = &RpcBlockSetTextIconResponseError{} + } + if err := m.Error.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Event", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCommands + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthCommands + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthCommands + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Event == nil { + m.Event = &ResponseEvent{} + } + if err := m.Event.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipCommands(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthCommands + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RpcBlockSetTextIconResponseError) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCommands + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Error: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Error: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Code", wireType) + } + m.Code = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCommands + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Code |= RpcBlockSetTextIconResponseErrorCode(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCommands + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthCommands + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCommands + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Description = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipCommands(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthCommands + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *RpcBlockSetFile) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -111608,38 +112527,6 @@ func (m *RpcAccountCreateRequest) Unmarshal(dAtA []byte) error { } m.Avatar = &RpcAccountCreateRequestAvatarOfAvatarLocalPath{string(dAtA[iNdEx:postIndex])} iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AvatarColor", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowCommands - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthCommands - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthCommands - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Avatar = &RpcAccountCreateRequestAvatarOfAvatarColor{string(dAtA[iNdEx:postIndex])} - iNdEx = postIndex case 20: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field AlphaInviteCode", wireType) @@ -128547,6 +129434,26 @@ func (m *RpcObjectSearchSubscribeRequest) Unmarshal(dAtA []byte) error { } m.IgnoreWorkspace = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 13: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NoDepSubscription", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCommands + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.NoDepSubscription = bool(v != 0) default: iNdEx = preIndex skippy, err := skipCommands(dAtA[iNdEx:]) diff --git a/pb/events.pb.go b/pb/events.pb.go index 8003ddc26..9ad2b5ff1 100644 --- a/pb/events.pb.go +++ b/pb/events.pb.go @@ -2896,12 +2896,14 @@ func (m *EventBlockSetAlign) GetAlign() model.BlockAlign { } type EventBlockSetText struct { - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Text *EventBlockSetTextText `protobuf:"bytes,2,opt,name=text,proto3" json:"text,omitempty"` - Style *EventBlockSetTextStyle `protobuf:"bytes,3,opt,name=style,proto3" json:"style,omitempty"` - Marks *EventBlockSetTextMarks `protobuf:"bytes,4,opt,name=marks,proto3" json:"marks,omitempty"` - Checked *EventBlockSetTextChecked `protobuf:"bytes,5,opt,name=checked,proto3" json:"checked,omitempty"` - Color *EventBlockSetTextColor `protobuf:"bytes,6,opt,name=color,proto3" json:"color,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Text *EventBlockSetTextText `protobuf:"bytes,2,opt,name=text,proto3" json:"text,omitempty"` + Style *EventBlockSetTextStyle `protobuf:"bytes,3,opt,name=style,proto3" json:"style,omitempty"` + Marks *EventBlockSetTextMarks `protobuf:"bytes,4,opt,name=marks,proto3" json:"marks,omitempty"` + Checked *EventBlockSetTextChecked `protobuf:"bytes,5,opt,name=checked,proto3" json:"checked,omitempty"` + Color *EventBlockSetTextColor `protobuf:"bytes,6,opt,name=color,proto3" json:"color,omitempty"` + IconEmoji *EventBlockSetTextIconEmoji `protobuf:"bytes,7,opt,name=iconEmoji,proto3" json:"iconEmoji,omitempty"` + IconImage *EventBlockSetTextIconImage `protobuf:"bytes,8,opt,name=iconImage,proto3" json:"iconImage,omitempty"` } func (m *EventBlockSetText) Reset() { *m = EventBlockSetText{} } @@ -2979,6 +2981,20 @@ func (m *EventBlockSetText) GetColor() *EventBlockSetTextColor { return nil } +func (m *EventBlockSetText) GetIconEmoji() *EventBlockSetTextIconEmoji { + if m != nil { + return m.IconEmoji + } + return nil +} + +func (m *EventBlockSetText) GetIconImage() *EventBlockSetTextIconImage { + if m != nil { + return m.IconImage + } + return nil +} + type EventBlockSetTextText struct { Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` } @@ -3199,6 +3215,94 @@ func (m *EventBlockSetTextColor) GetValue() string { return "" } +type EventBlockSetTextIconEmoji struct { + Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` +} + +func (m *EventBlockSetTextIconEmoji) Reset() { *m = EventBlockSetTextIconEmoji{} } +func (m *EventBlockSetTextIconEmoji) String() string { return proto.CompactTextString(m) } +func (*EventBlockSetTextIconEmoji) ProtoMessage() {} +func (*EventBlockSetTextIconEmoji) Descriptor() ([]byte, []int) { + return fileDescriptor_a966342d378ae5f5, []int{0, 3, 4, 6, 5} +} +func (m *EventBlockSetTextIconEmoji) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EventBlockSetTextIconEmoji) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EventBlockSetTextIconEmoji.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 *EventBlockSetTextIconEmoji) XXX_Merge(src proto.Message) { + xxx_messageInfo_EventBlockSetTextIconEmoji.Merge(m, src) +} +func (m *EventBlockSetTextIconEmoji) XXX_Size() int { + return m.Size() +} +func (m *EventBlockSetTextIconEmoji) XXX_DiscardUnknown() { + xxx_messageInfo_EventBlockSetTextIconEmoji.DiscardUnknown(m) +} + +var xxx_messageInfo_EventBlockSetTextIconEmoji proto.InternalMessageInfo + +func (m *EventBlockSetTextIconEmoji) GetValue() string { + if m != nil { + return m.Value + } + return "" +} + +type EventBlockSetTextIconImage struct { + Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` +} + +func (m *EventBlockSetTextIconImage) Reset() { *m = EventBlockSetTextIconImage{} } +func (m *EventBlockSetTextIconImage) String() string { return proto.CompactTextString(m) } +func (*EventBlockSetTextIconImage) ProtoMessage() {} +func (*EventBlockSetTextIconImage) Descriptor() ([]byte, []int) { + return fileDescriptor_a966342d378ae5f5, []int{0, 3, 4, 6, 6} +} +func (m *EventBlockSetTextIconImage) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EventBlockSetTextIconImage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EventBlockSetTextIconImage.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 *EventBlockSetTextIconImage) XXX_Merge(src proto.Message) { + xxx_messageInfo_EventBlockSetTextIconImage.Merge(m, src) +} +func (m *EventBlockSetTextIconImage) XXX_Size() int { + return m.Size() +} +func (m *EventBlockSetTextIconImage) XXX_DiscardUnknown() { + xxx_messageInfo_EventBlockSetTextIconImage.DiscardUnknown(m) +} + +var xxx_messageInfo_EventBlockSetTextIconImage proto.InternalMessageInfo + +func (m *EventBlockSetTextIconImage) GetValue() string { + if m != nil { + return m.Value + } + return "" +} + type EventBlockSetLatex struct { Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Text *EventBlockSetLatexText `protobuf:"bytes,2,opt,name=text,proto3" json:"text,omitempty"` @@ -7805,6 +7909,8 @@ func init() { proto.RegisterType((*EventBlockSetTextMarks)(nil), "anytype.Event.Block.Set.Text.Marks") proto.RegisterType((*EventBlockSetTextChecked)(nil), "anytype.Event.Block.Set.Text.Checked") proto.RegisterType((*EventBlockSetTextColor)(nil), "anytype.Event.Block.Set.Text.Color") + proto.RegisterType((*EventBlockSetTextIconEmoji)(nil), "anytype.Event.Block.Set.Text.IconEmoji") + proto.RegisterType((*EventBlockSetTextIconImage)(nil), "anytype.Event.Block.Set.Text.IconImage") proto.RegisterType((*EventBlockSetLatex)(nil), "anytype.Event.Block.Set.Latex") proto.RegisterType((*EventBlockSetLatexText)(nil), "anytype.Event.Block.Set.Latex.Text") proto.RegisterType((*EventBlockSetDiv)(nil), "anytype.Event.Block.Set.Div") @@ -7899,242 +8005,245 @@ func init() { func init() { proto.RegisterFile("pb/protos/events.proto", fileDescriptor_a966342d378ae5f5) } var fileDescriptor_a966342d378ae5f5 = []byte{ - // 3753 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0x4d, 0x70, 0x1c, 0xc7, - 0x57, 0xdf, 0x8f, 0xd9, 0xaf, 0xb7, 0x96, 0x2c, 0xda, 0x8e, 0x3d, 0x19, 0xcb, 0xb2, 0x2c, 0xdb, - 0x89, 0x13, 0x3b, 0xeb, 0xc4, 0x8e, 0x2d, 0x47, 0xfe, 0x8a, 0xac, 0x8f, 0x92, 0xfc, 0x21, 0x89, - 0x5e, 0x2b, 0x81, 0x84, 0x4a, 0x31, 0xda, 0xed, 0x5d, 0x0d, 0x5a, 0xcd, 0x6c, 0xcd, 0xcc, 0xca, - 0x52, 0xb8, 0x50, 0x95, 0x4b, 0x8a, 0x2a, 0xaa, 0xe0, 0x02, 0xdc, 0x72, 0xe0, 0x40, 0xe5, 0xc2, - 0x05, 0x0e, 0xdc, 0x21, 0x55, 0xc0, 0x29, 0x37, 0x38, 0x70, 0x00, 0xe7, 0x42, 0x15, 0x27, 0x0e, - 0x70, 0xa3, 0x8a, 0xea, 0xaf, 0x99, 0x9e, 0xd9, 0x99, 0x9d, 0x15, 0x26, 0xfc, 0xff, 0xff, 0x4a, - 0x4e, 0xda, 0xee, 0xfe, 0xbd, 0x5f, 0x77, 0xbf, 0x7e, 0xfd, 0xba, 0xdf, 0x9b, 0x16, 0x9c, 0xe9, - 0xef, 0xdc, 0xe8, 0xbb, 0x8e, 0xef, 0x78, 0x37, 0xc8, 0x01, 0xb1, 0x7d, 0xaf, 0xc1, 0x4a, 0xa8, - 0x62, 0xda, 0x47, 0xfe, 0x51, 0x9f, 0x18, 0x97, 0xfb, 0x7b, 0xdd, 0x1b, 0x3d, 0x6b, 0xe7, 0x46, - 0x7f, 0xe7, 0xc6, 0xbe, 0xd3, 0x26, 0x3d, 0x09, 0x67, 0x05, 0x01, 0x37, 0xa6, 0xbb, 0x8e, 0xd3, - 0xed, 0x11, 0xde, 0xb6, 0x33, 0xe8, 0xdc, 0xf0, 0x7c, 0x77, 0xd0, 0xf2, 0x79, 0xeb, 0xdc, 0x9f, - 0x7b, 0x50, 0x5a, 0xa1, 0xec, 0xe8, 0x26, 0x54, 0xf7, 0x89, 0xe7, 0x99, 0x5d, 0xe2, 0xe9, 0xf9, - 0xd9, 0xe2, 0xd5, 0xfa, 0xcd, 0x33, 0x0d, 0xd1, 0x53, 0x83, 0x21, 0x1a, 0xcf, 0x79, 0x33, 0x0e, - 0x70, 0x68, 0x1a, 0x6a, 0x2d, 0xc7, 0xf6, 0xc9, 0xa1, 0xbf, 0xde, 0xd6, 0x0b, 0xb3, 0xf9, 0xab, - 0x35, 0x1c, 0x56, 0xa0, 0x0f, 0xa1, 0x66, 0xd9, 0x96, 0x6f, 0x99, 0xbe, 0xe3, 0xea, 0xc5, 0xd9, - 0x7c, 0x84, 0x92, 0x8d, 0xb1, 0xb1, 0xd8, 0x6a, 0x39, 0x03, 0xdb, 0xc7, 0x21, 0x10, 0xe9, 0x50, - 0xf1, 0x5d, 0xb3, 0x45, 0xd6, 0xdb, 0xba, 0xc6, 0x18, 0x65, 0xd1, 0xf8, 0xd7, 0xf3, 0x50, 0x11, - 0x63, 0x40, 0x8f, 0xa0, 0x6e, 0x72, 0xd9, 0xe6, 0xae, 0xf3, 0x52, 0xcf, 0x33, 0xf6, 0x73, 0xb1, - 0x01, 0x0b, 0xf6, 0x06, 0x85, 0xac, 0xe5, 0xb0, 0x2a, 0x81, 0xd6, 0x61, 0x52, 0x14, 0x97, 0x89, - 0x6f, 0x5a, 0x3d, 0x4f, 0xff, 0x7b, 0x4e, 0x32, 0x93, 0x42, 0x22, 0x60, 0x6b, 0x39, 0x1c, 0x13, - 0x44, 0xbf, 0x09, 0xa7, 0x44, 0xcd, 0x92, 0x63, 0x77, 0xac, 0xee, 0x76, 0xbf, 0x6d, 0xfa, 0x44, - 0xff, 0x07, 0xce, 0x77, 0x39, 0x85, 0x8f, 0x63, 0x1b, 0x1c, 0xbc, 0x96, 0xc3, 0x49, 0x1c, 0x68, - 0x13, 0xa6, 0x9c, 0x9d, 0xdf, 0x21, 0x2d, 0xd9, 0x57, 0x93, 0xf8, 0xfa, 0x14, 0xa3, 0xbd, 0x18, - 0xa3, 0xdd, 0x64, 0x30, 0x39, 0xca, 0x46, 0x93, 0xf8, 0x6b, 0x39, 0x3c, 0x24, 0x8c, 0xb6, 0x01, - 0x45, 0xea, 0x16, 0xf7, 0x89, 0xdd, 0xd6, 0x6f, 0x32, 0xca, 0x4b, 0xa3, 0x29, 0x19, 0x74, 0x2d, - 0x87, 0x13, 0x08, 0x86, 0x68, 0xb7, 0x6d, 0x8f, 0xf8, 0xfa, 0xad, 0x71, 0x68, 0x19, 0x74, 0x88, - 0x96, 0xd5, 0x86, 0xb4, 0x98, 0xf4, 0x4c, 0xdf, 0x72, 0x6c, 0xa6, 0x80, 0x33, 0xa3, 0x68, 0x03, - 0xa4, 0x50, 0x41, 0x02, 0x01, 0xfa, 0x1c, 0x4e, 0xc7, 0x6a, 0xb9, 0x1a, 0x3e, 0x64, 0xc4, 0x57, - 0xb2, 0x88, 0xa5, 0x22, 0x12, 0x49, 0xd0, 0x17, 0xf0, 0x46, 0xac, 0x1e, 0x93, 0x7d, 0xe7, 0x80, - 0xe8, 0xb7, 0x19, 0xfb, 0x5b, 0x59, 0xec, 0x1c, 0xbd, 0x96, 0xc3, 0xc9, 0x34, 0xe8, 0x31, 0x9c, - 0x90, 0x0d, 0x8c, 0xf6, 0x0e, 0xa3, 0x9d, 0x4e, 0xa3, 0x15, 0x64, 0x11, 0x19, 0x74, 0x1f, 0x80, - 0x97, 0xd9, 0xe6, 0x99, 0x61, 0x0c, 0x46, 0x32, 0x83, 0xd8, 0x3b, 0x0a, 0x1e, 0x35, 0xc3, 0x55, - 0xf1, 0x7c, 0xd7, 0x6a, 0xb1, 0xd1, 0xe9, 0xab, 0xa3, 0xcc, 0x52, 0x41, 0xaa, 0x6b, 0x12, 0x8a, - 0x23, 0x0c, 0x27, 0xbd, 0xc1, 0x8e, 0xd7, 0x72, 0xad, 0x3e, 0xad, 0x58, 0x6c, 0xb7, 0xf5, 0xfb, - 0xa3, 0x14, 0xd6, 0x54, 0xc0, 0x8d, 0xc5, 0x36, 0x5d, 0x8f, 0x38, 0x01, 0xfa, 0x1c, 0x90, 0x5a, - 0x25, 0x14, 0xf6, 0x80, 0xd1, 0xbe, 0x33, 0x06, 0x6d, 0xa0, 0xbd, 0x04, 0x1a, 0x64, 0xc2, 0x69, - 0xb5, 0x76, 0xcb, 0xf1, 0x2c, 0xfa, 0x57, 0x7f, 0xc8, 0xe8, 0xaf, 0x8d, 0x41, 0x2f, 0x45, 0xa8, - 0x29, 0x25, 0x51, 0xc5, 0xbb, 0x58, 0xa2, 0xee, 0x81, 0xb8, 0x9e, 0xfe, 0x68, 0xec, 0x2e, 0xa4, - 0x48, 0xbc, 0x0b, 0x59, 0x8f, 0xee, 0x40, 0x75, 0xa7, 0xe7, 0xb4, 0xf6, 0xa8, 0xbe, 0x0b, 0x8c, - 0x56, 0x8f, 0xd1, 0x3e, 0xa6, 0xcd, 0x42, 0xc3, 0x01, 0x96, 0xfa, 0x5f, 0xf6, 0x7b, 0x99, 0xf4, - 0x88, 0x4f, 0x84, 0x77, 0x3f, 0x97, 0x28, 0xca, 0x21, 0xd4, 0xff, 0x2a, 0x12, 0x68, 0x19, 0xea, - 0x1d, 0xab, 0x47, 0xbc, 0xed, 0x7e, 0xcf, 0x31, 0xb9, 0xab, 0xaf, 0xdf, 0x9c, 0x4d, 0x24, 0x58, - 0x0d, 0x71, 0x94, 0x45, 0x11, 0x43, 0x0f, 0xa1, 0xb6, 0x6f, 0xba, 0x7b, 0xde, 0xba, 0xdd, 0x71, - 0xf4, 0x52, 0xa2, 0xff, 0xe6, 0x1c, 0xcf, 0x25, 0x6a, 0x2d, 0x87, 0x43, 0x11, 0x7a, 0x0a, 0xb0, - 0x41, 0x35, 0x89, 0xbf, 0x6a, 0x91, 0x5e, 0xdb, 0xd3, 0xcb, 0x8c, 0xe4, 0x42, 0x22, 0x49, 0x93, - 0xf8, 0x0d, 0x0e, 0xa3, 0xa7, 0x40, 0x54, 0x10, 0xfd, 0x06, 0x9c, 0x92, 0x35, 0x4b, 0xbb, 0x56, - 0xaf, 0xed, 0x12, 0x7b, 0xbd, 0xed, 0xe9, 0x95, 0xc4, 0x43, 0x20, 0xe4, 0x53, 0xb0, 0xf4, 0x10, - 0x48, 0xa0, 0xa0, 0xee, 0x4a, 0x56, 0x47, 0x76, 0x5c, 0x35, 0xd1, 0x5d, 0x85, 0xd4, 0x2a, 0x98, - 0x1a, 0x40, 0x12, 0x09, 0x6a, 0xc3, 0x59, 0x59, 0xff, 0xd8, 0x6c, 0xed, 0x75, 0x5d, 0x67, 0x60, - 0xb7, 0x97, 0x9c, 0x9e, 0xe3, 0xea, 0x35, 0xc6, 0x7f, 0x35, 0x95, 0x3f, 0x86, 0x5f, 0xcb, 0xe1, - 0x34, 0x2a, 0xb4, 0x04, 0x27, 0x64, 0xd3, 0x0b, 0x72, 0xe8, 0xeb, 0xc0, 0xa8, 0xcf, 0xa7, 0x52, - 0x53, 0x10, 0xf5, 0x5a, 0xaa, 0x90, 0x4a, 0x42, 0x4d, 0x42, 0xaf, 0x67, 0x90, 0x50, 0x90, 0x4a, - 0x42, 0xcb, 0x2a, 0xc9, 0x33, 0xcb, 0xde, 0xd3, 0x27, 0x32, 0x48, 0x28, 0x48, 0x25, 0xa1, 0x65, - 0x7a, 0x2c, 0x07, 0x33, 0x75, 0x9c, 0x3d, 0x6a, 0x4f, 0xfa, 0x64, 0xa2, 0xff, 0x53, 0xb4, 0x25, - 0x80, 0xf4, 0x58, 0x8e, 0x0b, 0xa3, 0x55, 0x98, 0x90, 0x75, 0x8b, 0x3d, 0xab, 0x6b, 0xeb, 0x27, - 0x47, 0xd8, 0x32, 0x65, 0x63, 0xa8, 0xb5, 0x1c, 0x8e, 0x8a, 0xa1, 0x8f, 0xc5, 0xb6, 0x6c, 0x12, - 0x7f, 0xd9, 0x3a, 0xd0, 0x7f, 0x2d, 0xf1, 0x6c, 0x08, 0x59, 0x96, 0xad, 0x83, 0x60, 0x5f, 0x72, - 0x11, 0x75, 0x6a, 0xf2, 0xe4, 0xd1, 0xdf, 0xc8, 0x98, 0x9a, 0x04, 0xaa, 0x53, 0x93, 0x75, 0xea, - 0xd4, 0x9e, 0x99, 0x3e, 0x39, 0xd4, 0xdf, 0xcc, 0x98, 0x1a, 0x43, 0xa9, 0x53, 0x63, 0x15, 0xc8, - 0x84, 0x33, 0xdc, 0x7f, 0x98, 0xbe, 0x79, 0x60, 0x91, 0x97, 0x4d, 0x67, 0xe0, 0xb6, 0x08, 0xbd, - 0x0f, 0x5c, 0x62, 0x84, 0x6f, 0x27, 0x3b, 0x1f, 0x81, 0x6e, 0x04, 0xf0, 0xb5, 0x1c, 0x4e, 0x21, - 0x0a, 0x36, 0x9a, 0x6c, 0xf9, 0x84, 0xb6, 0x12, 0x5f, 0x3f, 0x35, 0x62, 0xa3, 0x05, 0x1d, 0x08, - 0x70, 0xb0, 0xd1, 0x62, 0x24, 0xc1, 0x46, 0x53, 0xeb, 0x85, 0xf7, 0x3c, 0x3d, 0x62, 0xa3, 0x45, - 0xf8, 0x03, 0x57, 0x9a, 0x46, 0x35, 0xa4, 0x25, 0xda, 0xb4, 0xe9, 0xb6, 0x89, 0xab, 0x9f, 0x1f, - 0x47, 0x4b, 0x01, 0x7c, 0x48, 0x4b, 0x41, 0x0b, 0xea, 0xc3, 0xb9, 0x48, 0x8b, 0x5c, 0x69, 0x31, - 0x19, 0x9d, 0xf5, 0x73, 0x7d, 0x74, 0x3f, 0x51, 0x99, 0xb5, 0x1c, 0x1e, 0x45, 0x89, 0xba, 0xa0, - 0x27, 0x36, 0xd3, 0xb5, 0x39, 0x9b, 0x78, 0x9a, 0xa7, 0x74, 0xc7, 0xd7, 0x27, 0x95, 0x8c, 0xda, - 0xea, 0xc0, 0x23, 0x2e, 0x93, 0x7e, 0xe2, 0x58, 0xb6, 0x7e, 0x21, 0xd1, 0x56, 0xb7, 0x3d, 0xe2, - 0x8a, 0x2e, 0x28, 0x8a, 0xda, 0x6a, 0x44, 0x2c, 0xc2, 0xf3, 0x8c, 0x74, 0x7c, 0x7d, 0x36, 0x8b, - 0x87, 0xa2, 0x22, 0x3c, 0xb4, 0x82, 0x1a, 0x64, 0x50, 0xd1, 0x24, 0x3d, 0x7a, 0x67, 0x32, 0xed, - 0x2e, 0xd1, 0x2f, 0x26, 0x1a, 0xa4, 0x42, 0xa7, 0x80, 0xa9, 0x41, 0x26, 0x91, 0xd0, 0xcb, 0x75, - 0x50, 0x4f, 0xfd, 0x2b, 0xa7, 0x9e, 0x4b, 0xbc, 0x5c, 0x2b, 0xd4, 0x01, 0x94, 0xde, 0x8b, 0x86, - 0x09, 0xd0, 0x3b, 0xa0, 0xf5, 0x2d, 0xbb, 0xab, 0xb7, 0x19, 0xd1, 0xa9, 0x18, 0xd1, 0x96, 0x65, - 0x77, 0xd7, 0x72, 0x98, 0x41, 0xe8, 0x35, 0xb4, 0xef, 0x3a, 0x2d, 0xe2, 0x79, 0x1b, 0xe4, 0xa5, - 0x4e, 0x12, 0xaf, 0xa1, 0x5b, 0x1c, 0xd0, 0xd8, 0x20, 0xec, 0x1a, 0x1a, 0xe2, 0xd1, 0x0a, 0x4c, - 0x88, 0x92, 0x08, 0xb8, 0x3a, 0x89, 0xae, 0x5c, 0x12, 0x04, 0x81, 0x56, 0x54, 0x8a, 0xde, 0x64, - 0x44, 0xc5, 0xb2, 0x63, 0x13, 0xbd, 0x9b, 0x78, 0x93, 0x91, 0x24, 0x14, 0x42, 0x3d, 0xa6, 0x22, - 0x41, 0x2f, 0xe4, 0xfe, 0xae, 0x4b, 0xcc, 0x76, 0xd3, 0x37, 0xfd, 0x81, 0xa7, 0xdb, 0x89, 0x4e, - 0x97, 0x37, 0x36, 0x5e, 0x30, 0x24, 0x3d, 0x50, 0x54, 0x99, 0xc7, 0x15, 0x28, 0x1d, 0x98, 0xbd, - 0x01, 0x31, 0x7e, 0xaf, 0x00, 0x15, 0x11, 0x21, 0x1a, 0x1b, 0xa0, 0xb1, 0xfb, 0xf6, 0x69, 0x28, - 0x59, 0x76, 0x9b, 0x1c, 0xb2, 0x28, 0xb7, 0x84, 0x79, 0x01, 0xbd, 0x0f, 0x15, 0x11, 0x31, 0x8a, - 0x8b, 0x5b, 0x5a, 0x6c, 0x2d, 0x61, 0xc6, 0x67, 0x50, 0x91, 0x21, 0xeb, 0x34, 0xd4, 0xfa, 0xae, - 0x43, 0x6f, 0x52, 0xeb, 0x6d, 0x46, 0x5b, 0xc3, 0x61, 0x05, 0xfa, 0x00, 0x2a, 0x6d, 0x11, 0x14, - 0x73, 0xea, 0xb3, 0x0d, 0x9e, 0x44, 0x68, 0xc8, 0x24, 0x42, 0xa3, 0xc9, 0x92, 0x08, 0x58, 0xe2, - 0x8c, 0x75, 0x28, 0xf3, 0xc0, 0xd5, 0x78, 0x04, 0x65, 0xa1, 0xd9, 0xdb, 0x50, 0x6e, 0xb1, 0x3a, - 0x11, 0x9e, 0x9f, 0x4f, 0x1e, 0xa0, 0x88, 0x84, 0xb1, 0x00, 0x1b, 0x7f, 0x3b, 0x01, 0x65, 0x7e, - 0x97, 0x35, 0xfe, 0xab, 0x10, 0x0c, 0xd9, 0xf8, 0x9b, 0x3c, 0x94, 0x78, 0x84, 0x35, 0x09, 0x05, - 0x4b, 0x8e, 0xba, 0x60, 0xb5, 0xd1, 0xaa, 0x3a, 0xdc, 0x62, 0x82, 0xf3, 0x49, 0x0a, 0x64, 0x1b, - 0x4f, 0xc9, 0xd1, 0x27, 0x54, 0xe5, 0xc1, 0x1c, 0xd0, 0x19, 0x28, 0x7b, 0x83, 0x1d, 0x7a, 0x69, - 0x2b, 0xce, 0x16, 0xaf, 0xd6, 0xb0, 0x28, 0x19, 0x4f, 0xa0, 0x2a, 0xc1, 0x68, 0x0a, 0x8a, 0x7b, - 0xe4, 0x48, 0x74, 0x4e, 0x7f, 0xa2, 0xeb, 0x62, 0xe9, 0x82, 0x55, 0x88, 0xab, 0x8a, 0xf7, 0x22, - 0xd6, 0xf7, 0xb7, 0xa1, 0x48, 0x1d, 0x4d, 0x7c, 0x0a, 0xc7, 0xd7, 0x78, 0xea, 0x68, 0x97, 0xa0, - 0xc4, 0x83, 0xe7, 0x78, 0x1f, 0x08, 0xb4, 0x3d, 0x72, 0xc4, 0x75, 0x54, 0xc3, 0xec, 0x77, 0x2a, - 0xc9, 0x77, 0x05, 0x38, 0xa1, 0x06, 0x12, 0xc6, 0x0a, 0x14, 0xe9, 0xb5, 0x3f, 0xce, 0xa9, 0x43, - 0xc5, 0xec, 0xf8, 0xc4, 0x0d, 0xd2, 0x3f, 0xb2, 0x48, 0x8d, 0x96, 0x71, 0xb1, 0xd0, 0xa0, 0x86, - 0x79, 0xc1, 0x68, 0x40, 0x59, 0x84, 0x4f, 0x71, 0xa6, 0x00, 0x5f, 0x50, 0xf1, 0x4f, 0xa0, 0x1a, - 0x44, 0x43, 0xaf, 0xdb, 0xb7, 0x0b, 0xd5, 0x20, 0xec, 0x39, 0x0d, 0x25, 0xdf, 0xf1, 0xcd, 0x1e, - 0xa3, 0x2b, 0x62, 0x5e, 0xa0, 0xbb, 0xc2, 0x26, 0x87, 0xfe, 0x52, 0xb0, 0xa9, 0x8a, 0x38, 0xac, - 0xe0, 0x7b, 0x86, 0x1c, 0xf0, 0xd6, 0x22, 0x6f, 0x0d, 0x2a, 0xc2, 0x3e, 0x35, 0xb5, 0xcf, 0x7f, - 0xcc, 0x43, 0x2d, 0x08, 0xe0, 0x8d, 0x67, 0xc9, 0x8b, 0x7f, 0x1b, 0x6a, 0xae, 0xc4, 0x08, 0x0b, - 0x3e, 0x1b, 0xdb, 0x2a, 0x92, 0x03, 0x87, 0x48, 0x63, 0x23, 0x6d, 0x3f, 0xfc, 0x2f, 0xf9, 0xae, - 0xa7, 0xae, 0x4d, 0x82, 0xe5, 0x18, 0x7f, 0x95, 0x87, 0xaa, 0x64, 0x31, 0x7a, 0xc9, 0x13, 0x9b, - 0x85, 0xba, 0xa4, 0x7f, 0x4a, 0x8e, 0xc4, 0x2a, 0xa9, 0x55, 0xe8, 0x16, 0x54, 0x65, 0x51, 0xc4, - 0x90, 0xa9, 0x23, 0x0d, 0x80, 0xc6, 0x42, 0xea, 0x40, 0x33, 0x3b, 0x34, 0xfe, 0xbd, 0x28, 0x9c, - 0xea, 0x19, 0x28, 0xbb, 0x8e, 0xe3, 0x07, 0xee, 0x4f, 0x94, 0xd0, 0x75, 0x28, 0xb3, 0xeb, 0x81, - 0xd4, 0xdc, 0xe9, 0xd8, 0x78, 0xd8, 0x69, 0x87, 0x05, 0x06, 0xdd, 0x0b, 0xf7, 0x6d, 0x91, 0xc1, - 0xb3, 0xd3, 0x72, 0xe1, 0x0e, 0xfe, 0x00, 0x34, 0x8a, 0x64, 0x16, 0x33, 0x39, 0xe4, 0x1d, 0x9b, - 0xfb, 0xa6, 0xeb, 0xf3, 0xb3, 0xf5, 0xa8, 0x4f, 0x30, 0x83, 0xa2, 0x7b, 0x50, 0xe7, 0xb9, 0x13, - 0x5a, 0xe7, 0xe9, 0x25, 0xd6, 0xe7, 0x9b, 0x31, 0xc9, 0xcd, 0x00, 0x81, 0x55, 0x74, 0xd4, 0x2e, - 0x2a, 0xe3, 0xda, 0x05, 0x7a, 0x04, 0x27, 0xdc, 0xe1, 0xb0, 0xf3, 0xdc, 0x90, 0x64, 0x08, 0xc1, - 0x11, 0x01, 0xe3, 0x10, 0x0c, 0xc9, 0xfb, 0xa9, 0xe5, 0xef, 0x32, 0x7f, 0xb8, 0x45, 0x5c, 0x3e, - 0x4c, 0x64, 0x40, 0x95, 0x0f, 0x32, 0x58, 0x8a, 0xa0, 0x4c, 0xc3, 0xfb, 0xb8, 0x25, 0xcf, 0xa6, - 0x8c, 0x38, 0x60, 0x56, 0x4d, 0xda, 0x08, 0x2c, 0x65, 0x0a, 0x8a, 0x56, 0x9b, 0x27, 0xb6, 0x6b, - 0x98, 0xfe, 0x34, 0xbe, 0x80, 0xba, 0x32, 0xe6, 0x21, 0x53, 0x8a, 0xcf, 0xba, 0x70, 0xdc, 0x59, - 0xff, 0xe7, 0x3c, 0x94, 0xd8, 0xf2, 0x19, 0xb7, 0xb8, 0xef, 0x0c, 0x2d, 0x2b, 0x9f, 0x6d, 0x59, - 0xc6, 0x12, 0xd4, 0x95, 0xbc, 0x07, 0x75, 0x76, 0xac, 0x21, 0x50, 0x92, 0x2c, 0x52, 0xfd, 0xd1, - 0x63, 0x7b, 0xcb, 0xf4, 0x77, 0xc5, 0x06, 0x0d, 0xca, 0xc6, 0x65, 0x28, 0x8b, 0x2b, 0xb4, 0x21, - 0xf2, 0x3c, 0xeb, 0x81, 0x12, 0x82, 0xb2, 0xf1, 0x5b, 0x50, 0x0b, 0xd2, 0x23, 0x68, 0x13, 0x4e, - 0x88, 0xf4, 0x08, 0xbf, 0x0f, 0x52, 0xf0, 0xa4, 0x92, 0x6b, 0x52, 0xc6, 0x4a, 0x0f, 0x6e, 0x9f, - 0x1a, 0x39, 0xbd, 0xfc, 0xb1, 0x0c, 0x4b, 0x83, 0x19, 0x5d, 0x84, 0xc0, 0xf8, 0xea, 0x4d, 0xe6, - 0x1c, 0x8c, 0x7e, 0xe8, 0x2f, 0x86, 0x94, 0x3d, 0xcf, 0x4f, 0xd5, 0x42, 0x66, 0x42, 0x83, 0xcb, - 0xd3, 0xb3, 0x9b, 0x1d, 0xbe, 0xc6, 0x39, 0x28, 0x52, 0x37, 0x72, 0x5a, 0x9e, 0xc1, 0x9c, 0x52, - 0x9c, 0xb5, 0xeb, 0x50, 0x16, 0xb9, 0x99, 0x78, 0x7f, 0x37, 0xa0, 0xdc, 0xe1, 0xe9, 0x9e, 0x8c, - 0xd3, 0x56, 0xc0, 0x8c, 0x47, 0x50, 0x57, 0x33, 0x32, 0x09, 0x7e, 0xa7, 0xa5, 0xe4, 0x7c, 0xf8, - 0x32, 0xa8, 0x55, 0x06, 0x81, 0x13, 0x91, 0xb4, 0x4b, 0x9c, 0x61, 0x25, 0xd1, 0xdc, 0x2e, 0x26, - 0xaa, 0x7d, 0x84, 0xd1, 0x3d, 0x85, 0x93, 0xf1, 0xd4, 0x4b, 0xbc, 0xa7, 0xab, 0x70, 0x72, 0x27, - 0x96, 0xe8, 0xe1, 0x7e, 0x32, 0x5e, 0x6d, 0xac, 0x43, 0x89, 0x67, 0x15, 0xe2, 0x14, 0xef, 0x43, - 0xc9, 0x64, 0x59, 0x8a, 0x02, 0xf3, 0x5c, 0x46, 0xe2, 0x28, 0x99, 0x28, 0xe6, 0x40, 0xe3, 0x2f, - 0x34, 0xd0, 0x58, 0x0e, 0x27, 0x4e, 0x75, 0x07, 0x34, 0x9f, 0x1c, 0xca, 0x2b, 0xec, 0xdc, 0xc8, - 0x84, 0x10, 0x0f, 0x3d, 0x18, 0x1e, 0x7d, 0x04, 0x25, 0xcf, 0x3f, 0xea, 0xc9, 0xcc, 0xe3, 0xa5, - 0xd1, 0x82, 0x4d, 0x0a, 0xc5, 0x5c, 0x82, 0x8a, 0x32, 0x03, 0x15, 0x39, 0xc7, 0x0c, 0x51, 0xb6, - 0x33, 0x30, 0x97, 0x40, 0x8f, 0xa0, 0xd2, 0xda, 0x25, 0xad, 0x3d, 0xd2, 0x16, 0xc9, 0xc6, 0x2b, - 0xa3, 0x85, 0x97, 0x38, 0x18, 0x4b, 0x29, 0xda, 0x77, 0x8b, 0xa9, 0xbc, 0x3c, 0x4e, 0xdf, 0x6c, - 0x19, 0x30, 0x97, 0x30, 0xa6, 0x85, 0x06, 0x93, 0x6d, 0x7d, 0x15, 0x4a, 0x6c, 0x92, 0xe8, 0x81, - 0xda, 0x3c, 0xa9, 0xc4, 0xfb, 0xa9, 0x1b, 0x57, 0x28, 0x27, 0xe0, 0x61, 0x33, 0x8e, 0xf2, 0xd4, - 0xc7, 0xe1, 0x11, 0x9a, 0xe2, 0x3c, 0x17, 0xa0, 0x22, 0x26, 0x1f, 0x1d, 0x70, 0x55, 0x02, 0xce, - 0x43, 0x89, 0xdb, 0x67, 0xf2, 0x7c, 0x6c, 0x28, 0xf1, 0xb4, 0xcf, 0xb0, 0xab, 0x50, 0x0d, 0xe6, - 0xd2, 0xe8, 0x2c, 0x92, 0x62, 0x31, 0x19, 0xfa, 0xfb, 0xe3, 0x3c, 0x14, 0x97, 0xad, 0x83, 0xa1, - 0xee, 0xee, 0x4a, 0x3b, 0xcb, 0x32, 0xd0, 0x65, 0xeb, 0x20, 0x62, 0x66, 0xc6, 0x8a, 0x5c, 0x91, - 0xfb, 0xd1, 0x15, 0x79, 0x6b, 0xa4, 0x26, 0x15, 0x1a, 0x3e, 0xb0, 0x3f, 0x2a, 0x83, 0xc6, 0x12, - 0x97, 0x49, 0x3b, 0x87, 0xde, 0x1e, 0xb2, 0x06, 0x46, 0x85, 0x1b, 0xca, 0x15, 0x82, 0xed, 0x1c, - 0xd3, 0xcf, 0xde, 0x39, 0x4c, 0x90, 0xc6, 0xa7, 0x6c, 0x4a, 0x34, 0xa0, 0xbb, 0x03, 0xda, 0xbe, - 0xb5, 0x4f, 0xc4, 0xc6, 0xc9, 0xe8, 0xf2, 0xb9, 0xb5, 0x4f, 0x30, 0xc3, 0x53, 0xb9, 0x5d, 0xd3, - 0xdb, 0x15, 0x7b, 0x26, 0x43, 0x6e, 0xcd, 0xf4, 0x76, 0x31, 0xc3, 0x53, 0x39, 0xdb, 0xdc, 0x27, - 0x62, 0xb3, 0x64, 0xc8, 0x6d, 0x98, 0xb4, 0x3f, 0x8a, 0xa7, 0x72, 0x9e, 0xf5, 0x25, 0x11, 0xb9, - 0xf7, 0x0c, 0xb9, 0xa6, 0xf5, 0x25, 0xc1, 0x0c, 0x1f, 0x3a, 0x95, 0xea, 0x78, 0xaa, 0x51, 0x56, - 0x7b, 0x1a, 0x34, 0x3a, 0x80, 0x14, 0xeb, 0x3a, 0x0f, 0xa5, 0x4f, 0xad, 0xb6, 0xbf, 0x1b, 0x6d, - 0x2e, 0x45, 0x36, 0x2f, 0x55, 0xf0, 0xb1, 0x36, 0xaf, 0xba, 0x3e, 0x9c, 0x67, 0x19, 0x34, 0xba, - 0xd0, 0xc7, 0xb3, 0xb8, 0xd0, 0x3e, 0x5e, 0xcb, 0x95, 0xa8, 0x2a, 0xe1, 0x3c, 0xd3, 0xa0, 0xd1, - 0xb5, 0x4c, 0x51, 0xc9, 0x34, 0x68, 0xd4, 0x42, 0xd2, 0x5b, 0xe9, 0xba, 0x44, 0x5b, 0x8b, 0xb2, - 0xf5, 0xf7, 0x8b, 0xa0, 0xb1, 0x3c, 0x7c, 0x7c, 0x4f, 0xfc, 0x3a, 0x4c, 0xf8, 0xa6, 0xdb, 0x25, - 0xfc, 0xde, 0xbc, 0x2e, 0x3f, 0x69, 0x5d, 0x1b, 0x99, 0xdd, 0x6f, 0xbc, 0x50, 0x45, 0x70, 0x94, - 0x61, 0xfc, 0x83, 0x86, 0x51, 0x45, 0x0e, 0x9a, 0xfb, 0xc1, 0x2d, 0x43, 0xcb, 0xf8, 0x08, 0xc4, - 0x64, 0xf9, 0x5d, 0x25, 0xb8, 0x72, 0x5c, 0x81, 0x89, 0xc8, 0xc0, 0xfe, 0x4f, 0x1d, 0xbf, 0x3a, - 0x58, 0xce, 0x33, 0x1f, 0x5c, 0x96, 0xde, 0x8b, 0x7a, 0xfe, 0xd4, 0xbb, 0x91, 0x10, 0xfc, 0xb3, - 0x12, 0x54, 0x83, 0xef, 0x18, 0x09, 0x17, 0xbb, 0x81, 0xdb, 0xcb, 0xbc, 0xd8, 0x49, 0xf9, 0xc6, - 0xb6, 0xdb, 0xc3, 0x54, 0x82, 0xce, 0xc6, 0xb7, 0xfc, 0x40, 0xed, 0x6f, 0x67, 0x8b, 0xbe, 0xa0, - 0x70, 0xcc, 0xa5, 0xd0, 0x26, 0xd4, 0xdb, 0x24, 0xc8, 0x5e, 0x08, 0xfd, 0xbf, 0x97, 0x4d, 0xb2, - 0x1c, 0x0a, 0x61, 0x95, 0x01, 0xad, 0x43, 0xcd, 0xda, 0x37, 0xbb, 0x64, 0x2d, 0xf4, 0x63, 0xd7, - 0xb2, 0xe9, 0xd6, 0xa5, 0x08, 0x0e, 0xa5, 0xe9, 0xd8, 0x3a, 0xe6, 0x81, 0xd5, 0x72, 0x6c, 0x46, - 0x56, 0x1e, 0x77, 0x6c, 0xab, 0xa1, 0x10, 0x56, 0x19, 0xd0, 0x82, 0x38, 0x09, 0x2a, 0x89, 0xdf, - 0xcb, 0x93, 0x54, 0x15, 0x9c, 0x06, 0xf4, 0x02, 0xbd, 0xed, 0xf6, 0xd2, 0xdd, 0x16, 0xd3, 0x6a, - 0x4a, 0xf3, 0x25, 0xa8, 0x2b, 0xfa, 0x4a, 0x01, 0x5d, 0x84, 0x5a, 0xa0, 0x85, 0x74, 0x1e, 0x65, - 0x6e, 0x29, 0xa0, 0x07, 0xc2, 0xb7, 0xdd, 0x8e, 0x9a, 0xf9, 0x85, 0x98, 0x99, 0x53, 0xc3, 0xde, - 0x72, 0x09, 0xcb, 0xfa, 0xab, 0x4e, 0xed, 0x9f, 0x75, 0x76, 0x8c, 0xf6, 0x8c, 0x67, 0x61, 0x12, - 0xf4, 0xf5, 0x93, 0x70, 0xc6, 0x0b, 0x38, 0xb9, 0x6c, 0xfa, 0xe6, 0x8e, 0xe9, 0x11, 0x4c, 0x5a, - 0x8e, 0xdb, 0x4e, 0x64, 0x75, 0x79, 0x53, 0x90, 0x8b, 0x49, 0x63, 0x15, 0xb8, 0x9f, 0x03, 0x97, - 0x5f, 0x9e, 0xc0, 0xe5, 0x2f, 0xd3, 0x02, 0x97, 0x71, 0xee, 0xa1, 0xd4, 0xe0, 0x86, 0x22, 0x97, - 0x85, 0xe8, 0x81, 0x72, 0x39, 0x43, 0x32, 0x72, 0xa2, 0x2c, 0x44, 0x43, 0x97, 0x2c, 0xd9, 0x48, - 0xec, 0xf2, 0x71, 0x3c, 0x76, 0x79, 0x2b, 0x43, 0x7a, 0x28, 0x78, 0x59, 0x88, 0x06, 0x2f, 0x59, - 0xbd, 0xff, 0x84, 0xa3, 0x97, 0x3f, 0x49, 0x89, 0x26, 0x3e, 0x8a, 0x46, 0x13, 0x23, 0xac, 0xe6, - 0xc7, 0x0a, 0x27, 0xfe, 0x34, 0x2d, 0x9c, 0x98, 0x8f, 0x84, 0x13, 0x23, 0x46, 0x16, 0x8f, 0x27, - 0x16, 0xa2, 0xf1, 0xc4, 0xe5, 0x0c, 0xc9, 0x48, 0x40, 0x31, 0x1f, 0x09, 0x28, 0xb2, 0x3a, 0x55, - 0x22, 0x8a, 0xf9, 0x48, 0x44, 0x91, 0x25, 0xa8, 0x84, 0x14, 0xf3, 0x91, 0x90, 0x22, 0x4b, 0x50, - 0x89, 0x29, 0xe6, 0x23, 0x31, 0x45, 0x96, 0xa0, 0x12, 0x54, 0x2c, 0x44, 0x83, 0x8a, 0x6c, 0xfd, - 0xfc, 0x1c, 0x55, 0xfc, 0x62, 0xa2, 0x8a, 0x3f, 0x48, 0x8b, 0x2a, 0x70, 0x72, 0x54, 0x71, 0x3d, - 0x7d, 0x25, 0xb3, 0xc3, 0x8a, 0xf1, 0x4f, 0x81, 0xe1, 0xb8, 0xe2, 0x41, 0x2c, 0xae, 0xb8, 0x92, - 0x21, 0xfc, 0x2b, 0x1a, 0x58, 0x7c, 0x3b, 0x2a, 0xb0, 0xb8, 0xab, 0x06, 0x16, 0x23, 0x4e, 0xb2, - 0xe1, 0xc8, 0xe2, 0x61, 0x34, 0xb2, 0xb8, 0x3a, 0x86, 0x6c, 0x24, 0xb4, 0xd8, 0x4a, 0x0a, 0x2d, - 0x1a, 0x63, 0xb0, 0xa4, 0xc6, 0x16, 0x4f, 0x86, 0x63, 0x8b, 0xeb, 0x63, 0xf0, 0x25, 0x06, 0x17, - 0x5b, 0x49, 0xc1, 0xc5, 0x38, 0xa3, 0x4b, 0x8d, 0x2e, 0xee, 0x45, 0xa2, 0x8b, 0xb7, 0xc7, 0x51, - 0xd7, 0x4f, 0x2f, 0xbc, 0xf8, 0x5a, 0x83, 0xaa, 0x7c, 0x50, 0x64, 0x7c, 0x93, 0x87, 0x8a, 0x7c, - 0xf5, 0x15, 0xb7, 0xdb, 0x33, 0x50, 0xa6, 0x98, 0xe0, 0x9b, 0xb5, 0x28, 0xa1, 0x87, 0xa0, 0xd1, - 0x5f, 0xc2, 0x28, 0xdf, 0x1d, 0x7d, 0xa8, 0xab, 0xaf, 0xb5, 0x30, 0x93, 0xa3, 0xbc, 0x4e, 0xa7, - 0xe3, 0x11, 0x9f, 0x19, 0xe4, 0x04, 0x16, 0x25, 0x3a, 0xdb, 0x9e, 0xb5, 0x6f, 0xf9, 0xcc, 0xae, - 0x26, 0x30, 0x2f, 0x18, 0x1f, 0x02, 0x28, 0x6f, 0xc6, 0xc6, 0x1c, 0xa3, 0x71, 0x1b, 0x6a, 0xe1, - 0x2b, 0xb0, 0x84, 0xaf, 0xf1, 0x1c, 0x26, 0xa3, 0x08, 0x59, 0x34, 0x6e, 0x41, 0x2d, 0x7c, 0x62, - 0x97, 0xd0, 0x97, 0xc7, 0x1a, 0x85, 0x94, 0x28, 0x19, 0x8f, 0x61, 0x32, 0xf6, 0x08, 0xec, 0xf8, - 0xdf, 0x7a, 0x7d, 0xa8, 0xab, 0x8f, 0xbb, 0xfe, 0x9f, 0xbe, 0x4e, 0xff, 0x47, 0x01, 0xb4, 0x6d, - 0x8f, 0xb8, 0xc6, 0xbf, 0x15, 0xe4, 0x07, 0xc0, 0xbb, 0xa0, 0xb1, 0x67, 0x61, 0xca, 0x93, 0x9d, - 0x7c, 0xec, 0xc9, 0x4e, 0xe4, 0x7f, 0x43, 0xc2, 0x27, 0x3b, 0x77, 0x41, 0x63, 0x0f, 0xc1, 0x8e, - 0x2f, 0xf9, 0x55, 0x1e, 0x6a, 0xe1, 0xa3, 0xac, 0x63, 0xcb, 0xab, 0x1f, 0x1c, 0x0b, 0xd1, 0x0f, - 0x8e, 0xef, 0x42, 0xc9, 0x65, 0x9f, 0x06, 0xb9, 0x4a, 0xe2, 0x9f, 0x31, 0x59, 0x87, 0x98, 0x43, - 0x0c, 0x02, 0x75, 0xf5, 0xc9, 0xd9, 0xf1, 0x87, 0x71, 0x59, 0xbc, 0x1e, 0x5d, 0x6f, 0x7b, 0x8b, - 0xae, 0x6b, 0x1e, 0x09, 0x33, 0x89, 0x56, 0xd2, 0x83, 0x7d, 0xcb, 0xb2, 0xbb, 0xc9, 0x2f, 0xa5, - 0x8c, 0xbf, 0xce, 0x43, 0x45, 0x3c, 0xe0, 0x32, 0xe6, 0xa1, 0xb8, 0x41, 0x5e, 0xd2, 0x81, 0x88, - 0x27, 0x5c, 0x43, 0x03, 0x79, 0xce, 0x66, 0x21, 0xf0, 0x58, 0xc2, 0x8c, 0x85, 0xe0, 0x59, 0xd3, - 0xf1, 0x65, 0xef, 0x82, 0xc6, 0x5e, 0x8a, 0x1d, 0x5f, 0xf2, 0xeb, 0x2a, 0x94, 0xf9, 0x13, 0x31, - 0xe3, 0xbf, 0x2b, 0x50, 0xe6, 0xaf, 0xc7, 0xd0, 0x43, 0xa8, 0x78, 0x83, 0xfd, 0x7d, 0xd3, 0x3d, - 0xd2, 0x93, 0xff, 0xc7, 0x28, 0xf2, 0xd8, 0xac, 0xd1, 0xe4, 0x58, 0x2c, 0x85, 0xd0, 0x6d, 0xd0, - 0x5a, 0x66, 0x87, 0x0c, 0xc5, 0xea, 0x49, 0xc2, 0x4b, 0x66, 0x87, 0x60, 0x06, 0x47, 0x1f, 0x43, - 0x55, 0x2c, 0x8b, 0x7c, 0xed, 0x30, 0xba, 0x5f, 0xb9, 0x98, 0x81, 0x94, 0xf1, 0x04, 0x2a, 0x62, - 0x30, 0xe8, 0x11, 0x94, 0x3d, 0xfe, 0x5e, 0x2e, 0x7e, 0xad, 0x48, 0x9c, 0xc2, 0x91, 0xdd, 0xe2, - 0x35, 0x58, 0x88, 0x19, 0xdf, 0x15, 0x40, 0xa3, 0x83, 0x7b, 0x6d, 0x26, 0x34, 0x03, 0xd0, 0x33, - 0x3d, 0x7f, 0x6b, 0xd0, 0xeb, 0x91, 0xb6, 0x78, 0xf7, 0xa3, 0xd4, 0xa0, 0xab, 0x70, 0x92, 0x97, - 0xbc, 0xdd, 0xe6, 0xa0, 0xd5, 0x22, 0x84, 0x3f, 0x2c, 0xaa, 0xe2, 0x78, 0x35, 0x5a, 0x84, 0x12, - 0xfb, 0xef, 0x04, 0x71, 0x2b, 0xb8, 0x96, 0xa9, 0xd9, 0xc6, 0x96, 0x65, 0x8b, 0xd1, 0x70, 0x49, - 0xc3, 0x81, 0x5a, 0x50, 0x47, 0x37, 0x61, 0xdf, 0xb2, 0x6d, 0xcb, 0xee, 0x0a, 0x8b, 0x96, 0x45, - 0xea, 0x37, 0xe9, 0x4f, 0x31, 0xde, 0x12, 0x16, 0x25, 0x5a, 0xdf, 0x31, 0xad, 0x9e, 0x18, 0x62, - 0x09, 0x8b, 0x12, 0x65, 0x1a, 0x30, 0xf3, 0xe5, 0x0f, 0x94, 0x8a, 0x58, 0x16, 0x8d, 0x57, 0xf9, - 0xe0, 0xc5, 0x61, 0xd2, 0xc3, 0x1f, 0x16, 0x2d, 0x71, 0x0f, 0xc0, 0x03, 0xa1, 0x69, 0xf5, 0xb6, - 0xc2, 0x1f, 0x58, 0x29, 0xf7, 0x0f, 0x7a, 0x0e, 0xd9, 0x3d, 0xcb, 0xe6, 0x31, 0x5d, 0x15, 0x8b, - 0x52, 0x4c, 0xc7, 0xa5, 0x21, 0x1d, 0x8b, 0xf6, 0x95, 0xb6, 0x45, 0x87, 0x58, 0x0e, 0xdb, 0x79, - 0x0d, 0x7a, 0x00, 0x95, 0x36, 0x39, 0xb0, 0x5a, 0x44, 0xbe, 0x5c, 0xb9, 0x34, 0x52, 0xb7, 0xcb, - 0x0c, 0x8b, 0xa5, 0x8c, 0xe1, 0x43, 0x99, 0x57, 0x05, 0x53, 0xca, 0x2b, 0x53, 0x0a, 0x07, 0x5d, - 0x18, 0x31, 0xe8, 0x62, 0xc6, 0xa0, 0xb5, 0xf8, 0xa0, 0xe7, 0x9e, 0x02, 0x84, 0xe6, 0x86, 0xea, - 0x50, 0xd9, 0xb6, 0xf7, 0x6c, 0xe7, 0xa5, 0x3d, 0x95, 0xa3, 0x85, 0xcd, 0x4e, 0x87, 0xf6, 0x32, - 0x95, 0xa7, 0x05, 0x8a, 0xb3, 0xec, 0xee, 0x54, 0x01, 0x01, 0x94, 0x69, 0x81, 0xb4, 0xa7, 0x8a, - 0xf4, 0xf7, 0x2a, 0x5b, 0xbf, 0x29, 0x6d, 0xee, 0x77, 0x61, 0x02, 0x13, 0xaf, 0xef, 0xd8, 0x1e, - 0xf9, 0xb1, 0xfe, 0x61, 0x33, 0xf5, 0x5f, 0x2f, 0xe7, 0xbe, 0x2d, 0x42, 0x89, 0xb9, 0x28, 0xe3, - 0x9b, 0x62, 0xe0, 0x4c, 0x13, 0xb2, 0x93, 0x61, 0x0e, 0x61, 0x52, 0x79, 0x2b, 0x13, 0x71, 0x6e, - 0x6a, 0xee, 0xe0, 0xa6, 0x9a, 0x3b, 0x98, 0x54, 0xde, 0xcc, 0x46, 0x25, 0x22, 0x39, 0x83, 0x7b, - 0x50, 0xed, 0xbb, 0x4e, 0xd7, 0xa5, 0x5e, 0x54, 0x8b, 0xfd, 0xb3, 0x4e, 0x54, 0x6c, 0x4b, 0xc0, - 0x70, 0x20, 0x60, 0x6c, 0x40, 0x55, 0xd6, 0xa6, 0xbc, 0x01, 0x44, 0xa0, 0xb5, 0x1d, 0x61, 0x09, - 0x45, 0xcc, 0x7e, 0x53, 0xbd, 0x08, 0x0d, 0x0a, 0x83, 0x97, 0xc5, 0xb9, 0x4d, 0x71, 0x6d, 0x9c, - 0x80, 0xda, 0xb2, 0xeb, 0xf4, 0xd9, 0x8b, 0x9d, 0xa9, 0x1c, 0x5d, 0xb7, 0xf5, 0xfd, 0xbe, 0xe3, - 0xfa, 0x53, 0x79, 0xfa, 0x7b, 0xe5, 0x90, 0xfd, 0x2e, 0xa0, 0x13, 0x50, 0x6d, 0x9a, 0x07, 0x84, - 0xc2, 0xa6, 0x8a, 0x08, 0xd1, 0x3b, 0x4e, 0xcb, 0x39, 0x20, 0xae, 0xd8, 0x7f, 0x53, 0xda, 0xdc, - 0xa2, 0x0c, 0xda, 0xab, 0xa0, 0x6d, 0x38, 0x36, 0xe1, 0xa6, 0x82, 0x07, 0x6c, 0xd7, 0x4f, 0xe5, - 0x69, 0x35, 0x3d, 0x4a, 0x38, 0xd7, 0x92, 0x69, 0xb7, 0x48, 0x8f, 0x59, 0x4a, 0x0d, 0x4a, 0x2b, - 0xae, 0xeb, 0xb8, 0x53, 0xda, 0xe3, 0xe9, 0xbf, 0x7b, 0x35, 0x93, 0xff, 0xfe, 0xd5, 0x4c, 0xfe, - 0x5f, 0x5e, 0xcd, 0xe4, 0xff, 0xf0, 0x87, 0x99, 0xdc, 0xf7, 0x3f, 0xcc, 0xe4, 0xfe, 0xe9, 0x87, - 0x99, 0xdc, 0x67, 0x85, 0xfe, 0xce, 0x4e, 0x99, 0x45, 0x5b, 0xb7, 0xfe, 0x27, 0x00, 0x00, 0xff, - 0xff, 0x26, 0x72, 0x15, 0xaa, 0x5e, 0x3c, 0x00, 0x00, + // 3802 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0x4b, 0x70, 0x1c, 0x49, + 0x5a, 0xee, 0x47, 0xf5, 0xeb, 0x6f, 0x4b, 0x16, 0x69, 0xaf, 0x5d, 0x5b, 0x96, 0x65, 0x59, 0xb6, + 0xc7, 0xde, 0xb5, 0xb7, 0xbd, 0x6b, 0x8f, 0x2d, 0x8f, 0xfc, 0x1a, 0x59, 0x8f, 0x50, 0xfb, 0x21, + 0x89, 0x6c, 0x6b, 0x17, 0x76, 0x89, 0x0d, 0x4a, 0xdd, 0xd9, 0xad, 0x5a, 0x75, 0x57, 0x75, 0x54, + 0x55, 0xcb, 0xd2, 0x72, 0x21, 0xe0, 0xb2, 0x41, 0x04, 0x11, 0x70, 0x01, 0x6e, 0x7b, 0xe0, 0xb4, + 0x67, 0x38, 0x70, 0x87, 0x8d, 0x60, 0x39, 0xcd, 0x6d, 0x38, 0x70, 0x00, 0xcf, 0x85, 0x08, 0x4e, + 0x5c, 0xb8, 0x10, 0x44, 0x10, 0xf9, 0xaa, 0xca, 0xaa, 0xae, 0xea, 0x6a, 0x61, 0x86, 0x47, 0xcc, + 0x9c, 0xd4, 0x99, 0xf9, 0xfd, 0x5f, 0xfe, 0xf9, 0xe7, 0x9f, 0x7f, 0xe6, 0x9f, 0x95, 0x82, 0x0b, + 0xc3, 0xfd, 0xbb, 0x43, 0xd7, 0xf1, 0x1d, 0xef, 0x2e, 0x39, 0x22, 0xb6, 0xef, 0x35, 0x58, 0x09, + 0x55, 0x4c, 0xfb, 0xc4, 0x3f, 0x19, 0x12, 0xe3, 0xfa, 0xf0, 0xb0, 0x77, 0xb7, 0x6f, 0xed, 0xdf, + 0x1d, 0xee, 0xdf, 0x1d, 0x38, 0x1d, 0xd2, 0x97, 0x70, 0x56, 0x10, 0x70, 0x63, 0xbe, 0xe7, 0x38, + 0xbd, 0x3e, 0xe1, 0x6d, 0xfb, 0xa3, 0xee, 0x5d, 0xcf, 0x77, 0x47, 0x6d, 0x9f, 0xb7, 0x2e, 0xfd, + 0xbb, 0x0f, 0xa5, 0x0d, 0xca, 0x8e, 0xee, 0x41, 0x75, 0x40, 0x3c, 0xcf, 0xec, 0x11, 0x4f, 0xcf, + 0x2f, 0x16, 0x6f, 0xd5, 0xef, 0x5d, 0x68, 0x88, 0x9e, 0x1a, 0x0c, 0xd1, 0x78, 0xc3, 0x9b, 0x71, + 0x80, 0x43, 0xf3, 0x50, 0x6b, 0x3b, 0xb6, 0x4f, 0x8e, 0xfd, 0x66, 0x47, 0x2f, 0x2c, 0xe6, 0x6f, + 0xd5, 0x70, 0x58, 0x81, 0x3e, 0x86, 0x9a, 0x65, 0x5b, 0xbe, 0x65, 0xfa, 0x8e, 0xab, 0x17, 0x17, + 0xf3, 0x11, 0x4a, 0xa6, 0x63, 0x63, 0xb5, 0xdd, 0x76, 0x46, 0xb6, 0x8f, 0x43, 0x20, 0xd2, 0xa1, + 0xe2, 0xbb, 0x66, 0x9b, 0x34, 0x3b, 0xba, 0xc6, 0x18, 0x65, 0xd1, 0xf8, 0xa7, 0xcb, 0x50, 0x11, + 0x3a, 0xa0, 0xe7, 0x50, 0x37, 0xb9, 0x6c, 0xeb, 0xc0, 0x79, 0xa7, 0xe7, 0x19, 0xfb, 0xa5, 0x98, + 0xc2, 0x82, 0xbd, 0x41, 0x21, 0x5b, 0x39, 0xac, 0x4a, 0xa0, 0x26, 0xcc, 0x8a, 0xe2, 0x3a, 0xf1, + 0x4d, 0xab, 0xef, 0xe9, 0xbf, 0xe2, 0x24, 0x0b, 0x29, 0x24, 0x02, 0xb6, 0x95, 0xc3, 0x31, 0x41, + 0xf4, 0x9b, 0x70, 0x4e, 0xd4, 0xac, 0x39, 0x76, 0xd7, 0xea, 0xed, 0x0d, 0x3b, 0xa6, 0x4f, 0xf4, + 0xbf, 0xe3, 0x7c, 0xd7, 0x53, 0xf8, 0x38, 0xb6, 0xc1, 0xc1, 0x5b, 0x39, 0x9c, 0xc4, 0x81, 0x76, + 0x60, 0xce, 0xd9, 0xff, 0x09, 0x69, 0xcb, 0xbe, 0x5a, 0xc4, 0xd7, 0xe7, 0x18, 0xed, 0xd5, 0x18, + 0xed, 0x0e, 0x83, 0x49, 0x2d, 0x1b, 0x2d, 0xe2, 0x6f, 0xe5, 0xf0, 0x98, 0x30, 0xda, 0x03, 0x14, + 0xa9, 0x5b, 0x1d, 0x10, 0xbb, 0xa3, 0xdf, 0x63, 0x94, 0xd7, 0x26, 0x53, 0x32, 0xe8, 0x56, 0x0e, + 0x27, 0x10, 0x8c, 0xd1, 0xee, 0xd9, 0x1e, 0xf1, 0xf5, 0xfb, 0xd3, 0xd0, 0x32, 0xe8, 0x18, 0x2d, + 0xab, 0x0d, 0x69, 0x31, 0xe9, 0x9b, 0xbe, 0xe5, 0xd8, 0xcc, 0x00, 0x17, 0x26, 0xd1, 0x06, 0x48, + 0x61, 0x82, 0x04, 0x02, 0xf4, 0x23, 0x38, 0x1f, 0xab, 0xe5, 0x66, 0xf8, 0x98, 0x11, 0xdf, 0xc8, + 0x22, 0x96, 0x86, 0x48, 0x24, 0x41, 0x3f, 0x86, 0x6f, 0xc4, 0xea, 0x31, 0x19, 0x38, 0x47, 0x44, + 0x7f, 0xc0, 0xd8, 0x3f, 0xca, 0x62, 0xe7, 0xe8, 0xad, 0x1c, 0x4e, 0xa6, 0x41, 0x2f, 0xe0, 0x8c, + 0x6c, 0x60, 0xb4, 0x0f, 0x19, 0xed, 0x7c, 0x1a, 0xad, 0x20, 0x8b, 0xc8, 0xa0, 0x27, 0x00, 0xbc, + 0xcc, 0x16, 0xcf, 0x02, 0x63, 0x30, 0x92, 0x19, 0xc4, 0xda, 0x51, 0xf0, 0xa8, 0x15, 0xce, 0x8a, + 0xe7, 0xbb, 0x56, 0x9b, 0x69, 0xa7, 0x6f, 0x4e, 0x72, 0x4b, 0x05, 0xa9, 0xce, 0x49, 0x28, 0x8e, + 0x30, 0x9c, 0xf5, 0x46, 0xfb, 0x5e, 0xdb, 0xb5, 0x86, 0xb4, 0x62, 0xb5, 0xd3, 0xd1, 0x9f, 0x4c, + 0x32, 0x58, 0x4b, 0x01, 0x37, 0x56, 0x3b, 0x74, 0x3e, 0xe2, 0x04, 0xe8, 0x47, 0x80, 0xd4, 0x2a, + 0x61, 0xb0, 0xa7, 0x8c, 0xf6, 0x5b, 0x53, 0xd0, 0x06, 0xd6, 0x4b, 0xa0, 0x41, 0x26, 0x9c, 0x57, + 0x6b, 0x77, 0x1d, 0xcf, 0xa2, 0x7f, 0xf5, 0x67, 0x8c, 0xfe, 0xf6, 0x14, 0xf4, 0x52, 0x84, 0xba, + 0x52, 0x12, 0x55, 0xbc, 0x8b, 0x35, 0x1a, 0x1e, 0x88, 0xeb, 0xe9, 0xcf, 0xa7, 0xee, 0x42, 0x8a, + 0xc4, 0xbb, 0x90, 0xf5, 0xe8, 0x21, 0x54, 0xf7, 0xfb, 0x4e, 0xfb, 0x90, 0xda, 0xbb, 0xc0, 0x68, + 0xf5, 0x18, 0xed, 0x0b, 0xda, 0x2c, 0x2c, 0x1c, 0x60, 0x69, 0xfc, 0x65, 0xbf, 0xd7, 0x49, 0x9f, + 0xf8, 0x44, 0x44, 0xf7, 0x4b, 0x89, 0xa2, 0x1c, 0x42, 0xe3, 0xaf, 0x22, 0x81, 0xd6, 0xa1, 0xde, + 0xb5, 0xfa, 0xc4, 0xdb, 0x1b, 0xf6, 0x1d, 0x93, 0x87, 0xfa, 0xfa, 0xbd, 0xc5, 0x44, 0x82, 0xcd, + 0x10, 0x47, 0x59, 0x14, 0x31, 0xf4, 0x0c, 0x6a, 0x03, 0xd3, 0x3d, 0xf4, 0x9a, 0x76, 0xd7, 0xd1, + 0x4b, 0x89, 0xf1, 0x9b, 0x73, 0xbc, 0x91, 0xa8, 0xad, 0x1c, 0x0e, 0x45, 0xe8, 0x2e, 0xc0, 0x94, + 0x6a, 0x11, 0x7f, 0xd3, 0x22, 0xfd, 0x8e, 0xa7, 0x97, 0x19, 0xc9, 0x95, 0x44, 0x92, 0x16, 0xf1, + 0x1b, 0x1c, 0x46, 0x77, 0x81, 0xa8, 0x20, 0xfa, 0x0d, 0x38, 0x27, 0x6b, 0xd6, 0x0e, 0xac, 0x7e, + 0xc7, 0x25, 0x76, 0xb3, 0xe3, 0xe9, 0x95, 0xc4, 0x4d, 0x20, 0xe4, 0x53, 0xb0, 0x74, 0x13, 0x48, + 0xa0, 0xa0, 0xe1, 0x4a, 0x56, 0x47, 0x56, 0x5c, 0x35, 0x31, 0x5c, 0x85, 0xd4, 0x2a, 0x98, 0x3a, + 0x40, 0x12, 0x09, 0xea, 0xc0, 0x45, 0x59, 0xff, 0xc2, 0x6c, 0x1f, 0xf6, 0x5c, 0x67, 0x64, 0x77, + 0xd6, 0x9c, 0xbe, 0xe3, 0xea, 0x35, 0xc6, 0x7f, 0x2b, 0x95, 0x3f, 0x86, 0xdf, 0xca, 0xe1, 0x34, + 0x2a, 0xb4, 0x06, 0x67, 0x64, 0xd3, 0x5b, 0x72, 0xec, 0xeb, 0xc0, 0xa8, 0x2f, 0xa7, 0x52, 0x53, + 0x10, 0x8d, 0x5a, 0xaa, 0x90, 0x4a, 0x42, 0x5d, 0x42, 0xaf, 0x67, 0x90, 0x50, 0x90, 0x4a, 0x42, + 0xcb, 0x2a, 0xc9, 0x6b, 0xcb, 0x3e, 0xd4, 0x67, 0x32, 0x48, 0x28, 0x48, 0x25, 0xa1, 0x65, 0xba, + 0x2d, 0x07, 0x23, 0x75, 0x9c, 0x43, 0xea, 0x4f, 0xfa, 0x6c, 0x62, 0xfc, 0x53, 0xac, 0x25, 0x80, + 0x74, 0x5b, 0x8e, 0x0b, 0xa3, 0x4d, 0x98, 0x91, 0x75, 0xab, 0x7d, 0xab, 0x67, 0xeb, 0x67, 0x27, + 0xf8, 0x32, 0x65, 0x63, 0xa8, 0xad, 0x1c, 0x8e, 0x8a, 0xa1, 0x4f, 0xc5, 0xb2, 0x6c, 0x11, 0x7f, + 0xdd, 0x3a, 0xd2, 0x7f, 0x2d, 0x71, 0x6f, 0x08, 0x59, 0xd6, 0xad, 0xa3, 0x60, 0x5d, 0x72, 0x11, + 0x75, 0x68, 0x72, 0xe7, 0xd1, 0xbf, 0x91, 0x31, 0x34, 0x09, 0x54, 0x87, 0x26, 0xeb, 0xd4, 0xa1, + 0xbd, 0x36, 0x7d, 0x72, 0xac, 0x7f, 0x33, 0x63, 0x68, 0x0c, 0xa5, 0x0e, 0x8d, 0x55, 0x20, 0x13, + 0x2e, 0xf0, 0xf8, 0x61, 0xfa, 0xe6, 0x91, 0x45, 0xde, 0xb5, 0x9c, 0x91, 0xdb, 0x26, 0xf4, 0x3c, + 0x70, 0x8d, 0x11, 0xde, 0x4c, 0x0e, 0x3e, 0x02, 0xdd, 0x08, 0xe0, 0x5b, 0x39, 0x9c, 0x42, 0x14, + 0x2c, 0x34, 0xd9, 0xf2, 0x7d, 0xda, 0x4a, 0x7c, 0xfd, 0xdc, 0x84, 0x85, 0x16, 0x74, 0x20, 0xc0, + 0xc1, 0x42, 0x8b, 0x91, 0x04, 0x0b, 0x4d, 0xad, 0x17, 0xd1, 0xf3, 0xfc, 0x84, 0x85, 0x16, 0xe1, + 0x0f, 0x42, 0x69, 0x1a, 0xd5, 0x98, 0x95, 0x68, 0xd3, 0x8e, 0xdb, 0x21, 0xae, 0x7e, 0x79, 0x1a, + 0x2b, 0x05, 0xf0, 0x31, 0x2b, 0x05, 0x2d, 0x68, 0x08, 0x97, 0x22, 0x2d, 0x72, 0xa6, 0xc5, 0x60, + 0x74, 0xd6, 0xcf, 0x9d, 0xc9, 0xfd, 0x44, 0x65, 0xb6, 0x72, 0x78, 0x12, 0x25, 0xea, 0x81, 0x9e, + 0xd8, 0x4c, 0xe7, 0xe6, 0x62, 0xe2, 0x6e, 0x9e, 0xd2, 0x1d, 0x9f, 0x9f, 0x54, 0x32, 0xea, 0xab, + 0x23, 0x8f, 0xb8, 0x4c, 0xfa, 0xa5, 0x63, 0xd9, 0xfa, 0x95, 0x44, 0x5f, 0xdd, 0xf3, 0x88, 0x2b, + 0xba, 0xa0, 0x28, 0xea, 0xab, 0x11, 0xb1, 0x08, 0xcf, 0x6b, 0xd2, 0xf5, 0xf5, 0xc5, 0x2c, 0x1e, + 0x8a, 0x8a, 0xf0, 0xd0, 0x0a, 0xea, 0x90, 0x41, 0x45, 0x8b, 0xf4, 0xe9, 0x99, 0xc9, 0xb4, 0x7b, + 0x44, 0xbf, 0x9a, 0xe8, 0x90, 0x0a, 0x9d, 0x02, 0xa6, 0x0e, 0x99, 0x44, 0x42, 0x0f, 0xd7, 0x41, + 0x3d, 0x8d, 0xaf, 0x9c, 0x7a, 0x29, 0xf1, 0x70, 0xad, 0x50, 0x07, 0x50, 0x7a, 0x2e, 0x1a, 0x27, + 0x40, 0xdf, 0x02, 0x6d, 0x68, 0xd9, 0x3d, 0xbd, 0xc3, 0x88, 0xce, 0xc5, 0x88, 0x76, 0x2d, 0xbb, + 0xb7, 0x95, 0xc3, 0x0c, 0x42, 0x8f, 0xa1, 0x43, 0xd7, 0x69, 0x13, 0xcf, 0xdb, 0x26, 0xef, 0x74, + 0x92, 0x78, 0x0c, 0xdd, 0xe5, 0x80, 0xc6, 0x36, 0x61, 0xc7, 0xd0, 0x10, 0x8f, 0x36, 0x60, 0x46, + 0x94, 0x44, 0xc2, 0xd5, 0x4d, 0x0c, 0xe5, 0x92, 0x20, 0x48, 0xb4, 0xa2, 0x52, 0xf4, 0x24, 0x23, + 0x2a, 0xd6, 0x1d, 0x9b, 0xe8, 0xbd, 0xc4, 0x93, 0x8c, 0x24, 0xa1, 0x10, 0x1a, 0x31, 0x15, 0x09, + 0x7a, 0x20, 0xf7, 0x0f, 0x5c, 0x62, 0x76, 0x5a, 0xbe, 0xe9, 0x8f, 0x3c, 0xdd, 0x4e, 0x0c, 0xba, + 0xbc, 0xb1, 0xf1, 0x96, 0x21, 0xe9, 0x86, 0xa2, 0xca, 0xbc, 0xa8, 0x40, 0xe9, 0xc8, 0xec, 0x8f, + 0x88, 0xf1, 0xbb, 0x05, 0xa8, 0x88, 0x0c, 0xd1, 0xd8, 0x06, 0x8d, 0x9d, 0xb7, 0xcf, 0x43, 0xc9, + 0xb2, 0x3b, 0xe4, 0x98, 0x65, 0xb9, 0x25, 0xcc, 0x0b, 0xe8, 0xbb, 0x50, 0x11, 0x19, 0xa3, 0x38, + 0xb8, 0xa5, 0xe5, 0xd6, 0x12, 0x66, 0xfc, 0x10, 0x2a, 0x32, 0x65, 0x9d, 0x87, 0xda, 0xd0, 0x75, + 0xe8, 0x49, 0xaa, 0xd9, 0x61, 0xb4, 0x35, 0x1c, 0x56, 0xa0, 0xef, 0x41, 0xa5, 0x23, 0x92, 0x62, + 0x4e, 0x7d, 0xb1, 0xc1, 0x2f, 0x11, 0x1a, 0xf2, 0x12, 0xa1, 0xd1, 0x62, 0x97, 0x08, 0x58, 0xe2, + 0x8c, 0x26, 0x94, 0x79, 0xe2, 0x6a, 0x3c, 0x87, 0xb2, 0xb0, 0xec, 0x03, 0x28, 0xb7, 0x59, 0x9d, + 0x48, 0xcf, 0x2f, 0x27, 0x2b, 0x28, 0x32, 0x61, 0x2c, 0xc0, 0xc6, 0xdf, 0xcc, 0x40, 0x99, 0x9f, + 0x65, 0x8d, 0x7f, 0x2b, 0x04, 0x2a, 0x1b, 0x7f, 0x9d, 0x87, 0x12, 0xcf, 0xb0, 0x66, 0xa1, 0x60, + 0x49, 0xad, 0x0b, 0x56, 0x07, 0x6d, 0xaa, 0xea, 0x16, 0x13, 0x82, 0x4f, 0x52, 0x22, 0xdb, 0x78, + 0x45, 0x4e, 0xbe, 0x4f, 0x4d, 0x1e, 0x8c, 0x01, 0x5d, 0x80, 0xb2, 0x37, 0xda, 0xa7, 0x87, 0xb6, + 0xe2, 0x62, 0xf1, 0x56, 0x0d, 0x8b, 0x92, 0xf1, 0x12, 0xaa, 0x12, 0x8c, 0xe6, 0xa0, 0x78, 0x48, + 0x4e, 0x44, 0xe7, 0xf4, 0x27, 0xba, 0x23, 0xa6, 0x2e, 0x98, 0x85, 0xb8, 0xa9, 0x78, 0x2f, 0x62, + 0x7e, 0x7f, 0x1b, 0x8a, 0x34, 0xd0, 0xc4, 0x87, 0x70, 0x7a, 0x8b, 0xa7, 0x6a, 0xbb, 0x06, 0x25, + 0x9e, 0x3c, 0xc7, 0xfb, 0x40, 0xa0, 0x1d, 0x92, 0x13, 0x6e, 0xa3, 0x1a, 0x66, 0xbf, 0x53, 0x49, + 0x7e, 0x59, 0x80, 0x33, 0x6a, 0x22, 0x61, 0x6c, 0x40, 0x91, 0x1e, 0xfb, 0xe3, 0x9c, 0x3a, 0x54, + 0xcc, 0xae, 0x4f, 0xdc, 0xe0, 0xfa, 0x47, 0x16, 0xa9, 0xd3, 0x32, 0x2e, 0x96, 0x1a, 0xd4, 0x30, + 0x2f, 0x18, 0x0d, 0x28, 0x8b, 0xf4, 0x29, 0xce, 0x14, 0xe0, 0x0b, 0x2a, 0xfe, 0x25, 0x54, 0x83, + 0x6c, 0xe8, 0x43, 0xfb, 0x76, 0xa1, 0x1a, 0xa4, 0x3d, 0xe7, 0xa1, 0xe4, 0x3b, 0xbe, 0xd9, 0x67, + 0x74, 0x45, 0xcc, 0x0b, 0x74, 0x55, 0xd8, 0xe4, 0xd8, 0x5f, 0x0b, 0x16, 0x55, 0x11, 0x87, 0x15, + 0x7c, 0xcd, 0x90, 0x23, 0xde, 0x5a, 0xe4, 0xad, 0x41, 0x45, 0xd8, 0xa7, 0xa6, 0xf6, 0xf9, 0x79, + 0x1e, 0x6a, 0x41, 0x02, 0x6f, 0xbc, 0x4e, 0x9e, 0xfc, 0x07, 0x50, 0x73, 0x25, 0x46, 0x78, 0xf0, + 0xc5, 0xd8, 0x52, 0x91, 0x1c, 0x38, 0x44, 0x1a, 0xdb, 0x69, 0xeb, 0xe1, 0xbf, 0xc8, 0x77, 0x27, + 0x75, 0x6e, 0x12, 0x3c, 0xc7, 0xf8, 0xcb, 0x3c, 0x54, 0x25, 0x8b, 0xd1, 0x4f, 0x1e, 0xd8, 0x22, + 0xd4, 0x25, 0xfd, 0x2b, 0x72, 0x22, 0x66, 0x49, 0xad, 0x42, 0xf7, 0xa1, 0x2a, 0x8b, 0x22, 0x87, + 0x4c, 0xd5, 0x34, 0x00, 0x1a, 0x2b, 0xa9, 0x8a, 0x66, 0x76, 0x68, 0xfc, 0x4b, 0x51, 0x04, 0xd5, + 0x0b, 0x50, 0x76, 0x1d, 0xc7, 0x0f, 0xc2, 0x9f, 0x28, 0xa1, 0x3b, 0x50, 0x66, 0xc7, 0x03, 0x69, + 0xb9, 0xf3, 0x31, 0x7d, 0xd8, 0x6e, 0x87, 0x05, 0x06, 0x3d, 0x0e, 0xd7, 0x6d, 0x91, 0xc1, 0xb3, + 0xaf, 0xe5, 0xc2, 0x15, 0xfc, 0x3d, 0xd0, 0x28, 0x92, 0x79, 0xcc, 0xec, 0x58, 0x74, 0x6c, 0x0d, + 0x4c, 0xd7, 0xe7, 0x7b, 0xeb, 0xc9, 0x90, 0x60, 0x06, 0x45, 0x8f, 0xa1, 0xce, 0xef, 0x4e, 0x68, + 0x9d, 0xa7, 0x97, 0x58, 0x9f, 0xdf, 0x8c, 0x49, 0xee, 0x04, 0x08, 0xac, 0xa2, 0xa3, 0x7e, 0x51, + 0x99, 0xd6, 0x2f, 0xd0, 0x73, 0x38, 0xe3, 0x8e, 0xa7, 0x9d, 0x97, 0xc6, 0x24, 0x43, 0x08, 0x8e, + 0x08, 0x18, 0xc7, 0x60, 0x48, 0xde, 0x1f, 0x58, 0xfe, 0x01, 0x8b, 0x87, 0xbb, 0xc4, 0xe5, 0x6a, + 0x22, 0x03, 0xaa, 0x5c, 0xc9, 0x60, 0x2a, 0x82, 0x32, 0x4d, 0xef, 0xe3, 0x9e, 0xbc, 0x98, 0xa2, + 0x71, 0xc0, 0xac, 0xba, 0xb4, 0x11, 0x78, 0xca, 0x1c, 0x14, 0xad, 0x0e, 0xbf, 0xd8, 0xae, 0x61, + 0xfa, 0xd3, 0xf8, 0x31, 0xd4, 0x15, 0x9d, 0xc7, 0x5c, 0x29, 0x3e, 0xea, 0xc2, 0x69, 0x47, 0xfd, + 0xab, 0x4f, 0xa0, 0xc4, 0xa6, 0xcf, 0xb8, 0xcf, 0x63, 0x67, 0xe8, 0x59, 0xf9, 0x6c, 0xcf, 0x32, + 0xd6, 0xa0, 0xae, 0xdc, 0x7b, 0xd0, 0x60, 0xc7, 0x1a, 0x02, 0x23, 0xc9, 0x22, 0xb5, 0x1f, 0xdd, + 0xb6, 0x77, 0x4d, 0xff, 0x40, 0x2c, 0xd0, 0xa0, 0x6c, 0x5c, 0x87, 0xb2, 0x38, 0x42, 0x1b, 0xe2, + 0x9e, 0xa7, 0x19, 0x18, 0x21, 0x28, 0x1b, 0xbf, 0x05, 0xb5, 0xe0, 0x7a, 0x04, 0xed, 0xc0, 0x19, + 0x71, 0x3d, 0xc2, 0xcf, 0x83, 0x14, 0x3c, 0xab, 0xdc, 0x35, 0x29, 0xba, 0xd2, 0x8d, 0xdb, 0xa7, + 0x4e, 0x4e, 0x0f, 0x7f, 0xec, 0x86, 0xa5, 0xc1, 0x9c, 0x2e, 0x42, 0x60, 0x7c, 0x6e, 0xb0, 0xe0, + 0x60, 0x0c, 0xc3, 0x78, 0x31, 0x66, 0xec, 0x65, 0xbe, 0xab, 0x16, 0x32, 0x2f, 0x34, 0xb8, 0x3c, + 0xdd, 0xbb, 0xd9, 0xe6, 0x6b, 0x5c, 0x82, 0x22, 0x0d, 0x23, 0xe7, 0xe5, 0x1e, 0xcc, 0x29, 0xc5, + 0x5e, 0xdb, 0x84, 0xb2, 0xb8, 0x9b, 0x89, 0xf7, 0x77, 0x17, 0xca, 0x5d, 0x7e, 0xdd, 0x93, 0xb1, + 0xdb, 0x0a, 0x98, 0xf1, 0x1c, 0xea, 0xea, 0x8d, 0x4c, 0x42, 0xdc, 0x69, 0x2b, 0x77, 0x3e, 0x7c, + 0x1a, 0xd4, 0x2a, 0x83, 0xc0, 0x99, 0xc8, 0xb5, 0x4b, 0x9c, 0x61, 0x23, 0xd1, 0xdd, 0xae, 0x26, + 0x9a, 0x7d, 0x82, 0xd3, 0xbd, 0x82, 0xb3, 0xf1, 0xab, 0x97, 0x78, 0x4f, 0xb7, 0xe0, 0xec, 0x7e, + 0xec, 0xa2, 0x87, 0xc7, 0xc9, 0x78, 0xb5, 0xd1, 0x84, 0x12, 0xbf, 0x55, 0x88, 0x53, 0x7c, 0x17, + 0x4a, 0x26, 0xbb, 0xa5, 0x28, 0xb0, 0xc8, 0x65, 0x24, 0x6a, 0xc9, 0x44, 0x31, 0x07, 0x1a, 0xbf, + 0x57, 0x06, 0x8d, 0xdd, 0xe1, 0xc4, 0xa9, 0x1e, 0x82, 0xe6, 0x93, 0x63, 0x79, 0x84, 0x5d, 0x9a, + 0x78, 0x21, 0xc4, 0x53, 0x0f, 0x86, 0x47, 0x9f, 0x40, 0xc9, 0xf3, 0x4f, 0xfa, 0xf2, 0xe6, 0xf1, + 0xda, 0x64, 0xc1, 0x16, 0x85, 0x62, 0x2e, 0x41, 0x45, 0x99, 0x83, 0x8a, 0x3b, 0xc7, 0x0c, 0x51, + 0xb6, 0x32, 0x30, 0x97, 0x40, 0xcf, 0xa1, 0xd2, 0x3e, 0x20, 0xed, 0x43, 0xd2, 0x11, 0x97, 0x8d, + 0x37, 0x26, 0x0b, 0xaf, 0x71, 0x30, 0x96, 0x52, 0xb4, 0xef, 0x36, 0x33, 0x79, 0x79, 0x9a, 0xbe, + 0xd9, 0x34, 0x60, 0x2e, 0x81, 0x36, 0xa0, 0x66, 0xb5, 0x1d, 0x7b, 0x63, 0xe0, 0xfc, 0xc4, 0x12, + 0xb7, 0x8a, 0x37, 0x27, 0x8b, 0x37, 0x25, 0x1c, 0x87, 0x92, 0x92, 0xa6, 0x39, 0x30, 0x7b, 0x44, + 0x84, 0xf2, 0x29, 0x68, 0x18, 0x1c, 0x87, 0x92, 0xc6, 0xbc, 0x98, 0xcf, 0xe4, 0x95, 0xb7, 0x09, + 0x25, 0x66, 0x72, 0xf4, 0x54, 0x6d, 0x9e, 0x55, 0x7a, 0x4a, 0x0d, 0x23, 0x62, 0xaa, 0x02, 0x1e, + 0x66, 0xff, 0x28, 0x4f, 0x7d, 0x1a, 0x1e, 0x31, 0x6f, 0x9c, 0xe7, 0x0a, 0x54, 0xc4, 0x54, 0x44, + 0x15, 0xae, 0x4a, 0xc0, 0x65, 0x28, 0xf1, 0xd5, 0x92, 0x3c, 0x9e, 0xab, 0x50, 0x0b, 0x8c, 0x39, + 0x19, 0xc2, 0xac, 0x93, 0x02, 0xb1, 0xa1, 0xc4, 0xaf, 0xb2, 0xc6, 0xc3, 0x9f, 0xba, 0x08, 0xae, + 0x4d, 0xbe, 0x19, 0x53, 0x56, 0x41, 0xc6, 0x2c, 0xfc, 0x49, 0x1e, 0x8a, 0xeb, 0xd6, 0xd1, 0x58, + 0x77, 0x8f, 0xe4, 0xda, 0xc9, 0x5a, 0x74, 0xeb, 0xd6, 0x51, 0x64, 0xe9, 0x18, 0x1b, 0x72, 0x5e, + 0x9f, 0x44, 0xe7, 0xf5, 0xa3, 0x89, 0xf3, 0xa1, 0xd0, 0x70, 0xc5, 0xfe, 0xb8, 0x0c, 0x1a, 0xbb, + 0x8c, 0x4d, 0x8a, 0x06, 0xf4, 0x44, 0x94, 0xa5, 0x18, 0x15, 0x6e, 0x28, 0xc7, 0x22, 0x16, 0x0d, + 0x4c, 0x3f, 0x3b, 0x1a, 0x30, 0x41, 0x9a, 0x73, 0xb3, 0x21, 0xd1, 0x24, 0xf5, 0x21, 0x68, 0x03, + 0x6b, 0x40, 0x44, 0x30, 0xc8, 0xe8, 0xf2, 0x8d, 0x35, 0x20, 0x98, 0xe1, 0xa9, 0xdc, 0x81, 0xe9, + 0x1d, 0x88, 0x38, 0x90, 0x21, 0xb7, 0x65, 0x7a, 0x07, 0x98, 0xe1, 0xa9, 0x9c, 0x6d, 0x0e, 0x88, + 0x08, 0x00, 0x19, 0x72, 0xdb, 0x26, 0xed, 0x8f, 0xe2, 0xa9, 0x9c, 0x67, 0xfd, 0x94, 0x88, 0x95, + 0x9f, 0x21, 0xd7, 0xb2, 0x7e, 0x4a, 0x30, 0xc3, 0x87, 0x81, 0xb2, 0x3a, 0x9d, 0x69, 0x94, 0xd9, + 0x9e, 0x07, 0x8d, 0x2a, 0x90, 0xe2, 0x5d, 0x97, 0xa1, 0xf4, 0x03, 0xab, 0xe3, 0x1f, 0x44, 0x9b, + 0x4b, 0x91, 0x10, 0x40, 0x0d, 0x7c, 0xaa, 0x10, 0xa0, 0xce, 0x0f, 0xe7, 0x59, 0x07, 0x8d, 0x4e, + 0xf4, 0xe9, 0x3c, 0x2e, 0xf4, 0x8f, 0x0f, 0x0a, 0x48, 0xaa, 0x49, 0x38, 0xcf, 0x3c, 0x68, 0x74, + 0x2e, 0x53, 0x4c, 0x32, 0x0f, 0x1a, 0xf5, 0x90, 0xf4, 0x56, 0x3a, 0x2f, 0xd1, 0xd6, 0xa2, 0x6c, + 0xfd, 0x83, 0x22, 0x68, 0xec, 0xdb, 0x42, 0x7c, 0x4d, 0xfc, 0x3a, 0xcc, 0xf8, 0xa6, 0xdb, 0x23, + 0x3c, 0x17, 0x68, 0xca, 0xcf, 0x74, 0xb7, 0x27, 0x7e, 0xb1, 0x68, 0xbc, 0x55, 0x45, 0x70, 0x94, + 0x61, 0xfa, 0xcd, 0x93, 0x51, 0x45, 0x36, 0xcf, 0x27, 0xc1, 0xc9, 0x49, 0xcb, 0xf8, 0xb0, 0xc5, + 0x64, 0xf9, 0xf9, 0x2b, 0x38, 0x46, 0xdd, 0x80, 0x99, 0x88, 0x62, 0xff, 0xad, 0xdb, 0x87, 0xaa, + 0x2c, 0xe7, 0x59, 0x0e, 0x0e, 0x80, 0xdf, 0x89, 0xee, 0x1f, 0xa9, 0xe7, 0x3d, 0x21, 0xf8, 0xe7, + 0x25, 0xa8, 0x06, 0xdf, 0x66, 0x12, 0x0e, 0xab, 0x23, 0xb7, 0x9f, 0x79, 0x58, 0x95, 0xf2, 0x8d, + 0x3d, 0xb7, 0x8f, 0xa9, 0x04, 0x1d, 0x8d, 0x6f, 0xf9, 0x81, 0xd9, 0x6f, 0x66, 0x8b, 0xbe, 0xa5, + 0x70, 0xcc, 0xa5, 0xd0, 0x0e, 0xd4, 0x3b, 0x24, 0xb8, 0x91, 0x11, 0xf6, 0xff, 0x4e, 0x36, 0xc9, + 0x7a, 0x28, 0x84, 0x55, 0x06, 0xd4, 0x84, 0x9a, 0x45, 0xb7, 0xab, 0xad, 0x30, 0x8e, 0xdd, 0xce, + 0xa6, 0x6b, 0x4a, 0x11, 0x1c, 0x4a, 0x53, 0xdd, 0xba, 0xe6, 0x11, 0x3d, 0x1e, 0x30, 0xb2, 0xf2, + 0xb4, 0xba, 0x6d, 0x86, 0x42, 0x58, 0x65, 0x40, 0x2b, 0x62, 0x27, 0xa8, 0x24, 0xbe, 0x01, 0x48, + 0x32, 0x55, 0xb0, 0x1b, 0xd0, 0xa4, 0x60, 0xcf, 0xed, 0xa7, 0x87, 0x2d, 0x66, 0xd5, 0x94, 0xe6, + 0x6b, 0x50, 0x57, 0xec, 0x35, 0x61, 0xaf, 0x0f, 0x86, 0x9e, 0xca, 0xa3, 0x8c, 0x2d, 0x05, 0xf4, + 0x54, 0xc4, 0xb6, 0x07, 0x51, 0x37, 0xbf, 0x12, 0x73, 0x73, 0xea, 0xd8, 0xbb, 0x2e, 0x61, 0x5f, + 0x32, 0xd4, 0xa0, 0xf6, 0x0f, 0x3a, 0xdb, 0x46, 0xfb, 0xc6, 0xeb, 0xf0, 0x62, 0xf7, 0xc3, 0x2f, + 0x16, 0x8d, 0xb7, 0x70, 0x76, 0xdd, 0xf4, 0xcd, 0x7d, 0xd3, 0x23, 0x98, 0xb4, 0x1d, 0xb7, 0x93, + 0xc8, 0xea, 0xf2, 0xa6, 0xe0, 0x7e, 0x29, 0x8d, 0x55, 0xe0, 0xbe, 0x4e, 0xc6, 0xfe, 0xef, 0x24, + 0x63, 0x7f, 0xa1, 0xa5, 0x24, 0x63, 0xd3, 0x9c, 0x43, 0xa9, 0xc3, 0x8d, 0x65, 0x63, 0x2b, 0xd1, + 0x0d, 0xe5, 0x7a, 0x86, 0x64, 0x64, 0x47, 0x59, 0x89, 0xa6, 0x63, 0x59, 0xb2, 0x91, 0x7c, 0xec, + 0xd3, 0x78, 0x3e, 0xf6, 0x51, 0x86, 0xf4, 0x58, 0x42, 0xb6, 0x12, 0x4d, 0xc8, 0xb2, 0x7a, 0x57, + 0x33, 0xb2, 0xaf, 0x58, 0x0e, 0xf4, 0xa7, 0x29, 0xd9, 0xc4, 0x27, 0xd1, 0x6c, 0x62, 0x82, 0xd7, + 0x7c, 0x59, 0xe9, 0xc4, 0x9f, 0xa5, 0xa5, 0x13, 0xcb, 0x91, 0x74, 0x62, 0x82, 0x66, 0xf1, 0x7c, + 0x62, 0x25, 0x9a, 0x4f, 0x5c, 0xcf, 0x90, 0x8c, 0x24, 0x14, 0xcb, 0x91, 0x84, 0x22, 0xab, 0x53, + 0x25, 0xa3, 0x58, 0x8e, 0x64, 0x14, 0x59, 0x82, 0x4a, 0x4a, 0xb1, 0x1c, 0x49, 0x29, 0xb2, 0x04, + 0x95, 0x9c, 0x62, 0x39, 0x92, 0x53, 0x64, 0x09, 0x2a, 0x49, 0xc5, 0x4a, 0x34, 0xa9, 0xc8, 0xb6, + 0xcf, 0xd7, 0x59, 0xc5, 0xff, 0x4e, 0x56, 0xf1, 0x87, 0x69, 0x59, 0x05, 0x4e, 0xce, 0x2a, 0xee, + 0xa4, 0xcf, 0x64, 0x76, 0x5a, 0x31, 0xfd, 0x2e, 0x30, 0x9e, 0x57, 0x3c, 0x8d, 0xe5, 0x15, 0x37, + 0x32, 0x84, 0xff, 0x9f, 0x26, 0x16, 0xbf, 0x98, 0x94, 0x58, 0x3c, 0x52, 0x13, 0x8b, 0x09, 0x3b, + 0xd9, 0x78, 0x66, 0xf1, 0x2c, 0x9a, 0x59, 0xdc, 0x9a, 0x42, 0x36, 0x92, 0x5a, 0xec, 0x26, 0xa5, + 0x16, 0x8d, 0x29, 0x58, 0x52, 0x73, 0x8b, 0x97, 0xe3, 0xb9, 0xc5, 0x9d, 0x29, 0xf8, 0x12, 0x93, + 0x8b, 0xdd, 0xa4, 0xe4, 0x62, 0x1a, 0xed, 0x52, 0xb3, 0x8b, 0xc7, 0x91, 0xec, 0xe2, 0xe6, 0x34, + 0xe6, 0xfa, 0xea, 0xa5, 0x17, 0x3f, 0xd3, 0xa0, 0x2a, 0x1f, 0x49, 0x19, 0x3f, 0xcf, 0x43, 0x45, + 0xbe, 0x64, 0x8b, 0xfb, 0xed, 0x05, 0x28, 0x53, 0x4c, 0xf0, 0x1d, 0x5e, 0x94, 0xd0, 0x33, 0xd0, + 0xe8, 0x2f, 0xe1, 0x94, 0xdf, 0x9e, 0xbc, 0xa9, 0xab, 0x2f, 0xd0, 0x30, 0x93, 0xa3, 0xbc, 0x4e, + 0xb7, 0xeb, 0x11, 0x9f, 0x39, 0xe4, 0x0c, 0x16, 0x25, 0x3a, 0xda, 0xbe, 0x35, 0xb0, 0x7c, 0xe6, + 0x57, 0x33, 0x98, 0x17, 0x8c, 0x8f, 0x01, 0x94, 0x77, 0x70, 0x53, 0xea, 0x68, 0x3c, 0x80, 0x5a, + 0xf8, 0xb2, 0x2d, 0xe1, 0x85, 0x01, 0x87, 0xc9, 0x2c, 0x42, 0x16, 0x8d, 0xfb, 0x50, 0x0b, 0x9f, + 0x0d, 0x26, 0xf4, 0xe5, 0xb1, 0x46, 0x21, 0x25, 0x4a, 0xc6, 0x0b, 0x98, 0x8d, 0x3d, 0x6c, 0x3b, + 0xfd, 0xf7, 0x6b, 0x1f, 0xea, 0xea, 0x83, 0xb5, 0xff, 0xa1, 0x2f, 0xee, 0xff, 0x5a, 0x00, 0x6d, + 0xcf, 0x23, 0xae, 0xf1, 0xcf, 0x05, 0xf9, 0x51, 0xf3, 0x11, 0x68, 0xec, 0xa9, 0x9b, 0xf2, 0x0c, + 0x29, 0x1f, 0x7b, 0x86, 0x14, 0xf9, 0x7f, 0x97, 0xf0, 0x19, 0xd2, 0x23, 0xd0, 0xd8, 0xe3, 0xb6, + 0xd3, 0x4b, 0xfe, 0x7e, 0x1e, 0x6a, 0xe1, 0x43, 0xb3, 0x53, 0xcb, 0xab, 0x1f, 0x51, 0x0b, 0xd1, + 0x8f, 0xa8, 0xdf, 0x86, 0x92, 0xcb, 0x3e, 0x77, 0x72, 0x93, 0xc4, 0x3f, 0xcd, 0xb2, 0x0e, 0x31, + 0x87, 0x18, 0x04, 0xea, 0xea, 0x33, 0xba, 0xd3, 0xab, 0x71, 0x5d, 0xbc, 0x88, 0x6d, 0x76, 0xbc, + 0x55, 0xd7, 0x35, 0x4f, 0x84, 0x9b, 0x44, 0x2b, 0xe9, 0xc6, 0xbe, 0x6b, 0xd9, 0xbd, 0xe4, 0xd7, + 0x5f, 0xc6, 0x5f, 0xe5, 0xa1, 0x22, 0x1e, 0xa5, 0x19, 0xcb, 0x50, 0xdc, 0x26, 0xef, 0xa8, 0x22, + 0xe2, 0x59, 0xda, 0x98, 0x22, 0x6f, 0xd8, 0x28, 0x04, 0x1e, 0x4b, 0x98, 0xb1, 0x12, 0x3c, 0xd5, + 0x3a, 0xbd, 0xec, 0x23, 0xd0, 0xd8, 0xeb, 0xb7, 0xd3, 0x4b, 0xfe, 0xac, 0x0a, 0x65, 0xfe, 0xec, + 0xcd, 0xf8, 0x8f, 0x0a, 0x94, 0xf9, 0x8b, 0x38, 0xf4, 0x0c, 0x2a, 0xde, 0x68, 0x30, 0x30, 0xdd, + 0x13, 0x3d, 0xf9, 0xff, 0xa6, 0x22, 0x0f, 0xe8, 0x1a, 0x2d, 0x8e, 0xc5, 0x52, 0x08, 0x3d, 0x00, + 0xad, 0x6d, 0x76, 0xc9, 0x58, 0xae, 0x9e, 0x24, 0xbc, 0x66, 0x76, 0x09, 0x66, 0x70, 0xf4, 0x29, + 0x54, 0xc5, 0xb4, 0xc8, 0x17, 0x1c, 0x93, 0xfb, 0x95, 0x93, 0x19, 0x48, 0x19, 0x2f, 0xa1, 0x22, + 0x94, 0x41, 0xcf, 0xa1, 0xec, 0xf1, 0x37, 0x80, 0xf1, 0x63, 0x45, 0xe2, 0x10, 0x4e, 0xec, 0x36, + 0xaf, 0xc1, 0x42, 0xcc, 0xf8, 0x65, 0x01, 0x34, 0xaa, 0xdc, 0x07, 0x33, 0xa1, 0x05, 0x80, 0xbe, + 0xe9, 0xf9, 0xbb, 0xa3, 0x7e, 0x9f, 0x74, 0xc4, 0x5b, 0x26, 0xa5, 0x06, 0xdd, 0x82, 0xb3, 0xbc, + 0xe4, 0x1d, 0xb4, 0x46, 0xed, 0x36, 0x21, 0xfc, 0xb1, 0x54, 0x15, 0xc7, 0xab, 0xd1, 0x2a, 0x94, + 0xd8, 0x7f, 0x5c, 0x88, 0x53, 0xc1, 0xed, 0x4c, 0xcb, 0x36, 0x76, 0x2d, 0x5b, 0x68, 0xc3, 0x25, + 0x0d, 0x07, 0x6a, 0x41, 0x1d, 0x5d, 0x84, 0x43, 0xcb, 0xb6, 0x2d, 0xbb, 0x27, 0x3c, 0x5a, 0x16, + 0x69, 0xdc, 0xa4, 0x3f, 0x85, 0xbe, 0x25, 0x2c, 0x4a, 0xb4, 0xbe, 0x6b, 0x5a, 0x7d, 0xa1, 0x62, + 0x09, 0x8b, 0x12, 0x65, 0x1a, 0x31, 0xf7, 0xe5, 0x8f, 0xae, 0x8a, 0x58, 0x16, 0x8d, 0xf7, 0xf9, + 0xe0, 0x15, 0x65, 0xd2, 0x63, 0x26, 0x96, 0x2d, 0xf1, 0x08, 0xc0, 0x13, 0xa1, 0x79, 0xf5, 0xb4, + 0xc2, 0x1f, 0x8d, 0x29, 0xe7, 0x0f, 0xba, 0x0f, 0xd9, 0x7d, 0xcb, 0xe6, 0x39, 0x5d, 0x15, 0x8b, + 0x52, 0xcc, 0xc6, 0xa5, 0x31, 0x1b, 0x8b, 0xf6, 0x8d, 0x8e, 0x45, 0x55, 0x2c, 0x87, 0xed, 0xbc, + 0x06, 0x3d, 0x85, 0x4a, 0x87, 0x1c, 0x59, 0x6d, 0x22, 0x5f, 0xe3, 0x5c, 0x9b, 0x68, 0xdb, 0x75, + 0x86, 0xc5, 0x52, 0xc6, 0xf0, 0xa1, 0xcc, 0xab, 0x82, 0x21, 0xe5, 0x95, 0x21, 0x85, 0x4a, 0x17, + 0x26, 0x28, 0x5d, 0xcc, 0x50, 0x5a, 0x8b, 0x2b, 0xbd, 0xf4, 0x0a, 0x20, 0x74, 0x37, 0x54, 0x87, + 0xca, 0x9e, 0x7d, 0x68, 0x3b, 0xef, 0xec, 0xb9, 0x1c, 0x2d, 0xec, 0x74, 0xbb, 0xb4, 0x97, 0xb9, + 0x3c, 0x2d, 0x50, 0x9c, 0x65, 0xf7, 0xe6, 0x0a, 0x08, 0xa0, 0x4c, 0x0b, 0xa4, 0x33, 0x57, 0xa4, + 0xbf, 0x37, 0xd9, 0xfc, 0xcd, 0x69, 0x4b, 0xbf, 0x03, 0x33, 0x98, 0x78, 0x43, 0xc7, 0xf6, 0xc8, + 0x97, 0xf5, 0x4f, 0xa8, 0xa9, 0xff, 0x4e, 0xba, 0xf4, 0x8b, 0x22, 0x94, 0x58, 0x88, 0x32, 0x7e, + 0x5e, 0x0c, 0x82, 0x69, 0xc2, 0xed, 0x64, 0x78, 0x87, 0x30, 0xab, 0xbc, 0xff, 0x89, 0x04, 0x37, + 0xf5, 0xee, 0xe0, 0x9e, 0x7a, 0x77, 0x30, 0xab, 0xbc, 0x03, 0x8e, 0x4a, 0x44, 0xee, 0x0c, 0x1e, + 0x43, 0x75, 0xe8, 0x3a, 0x3d, 0x97, 0x46, 0x51, 0x2d, 0xf6, 0x0f, 0x48, 0x51, 0xb1, 0x5d, 0x01, + 0xc3, 0x81, 0x80, 0xb1, 0x0d, 0x55, 0x59, 0x9b, 0xf2, 0xae, 0x11, 0x81, 0xd6, 0x71, 0x84, 0x27, + 0x14, 0x31, 0xfb, 0x4d, 0xed, 0x22, 0x2c, 0x28, 0x1c, 0x5e, 0x16, 0x97, 0x76, 0xc4, 0xb1, 0x71, + 0x06, 0x6a, 0xeb, 0xae, 0x33, 0x64, 0xaf, 0x90, 0xe6, 0x72, 0x74, 0xde, 0x9a, 0x83, 0xa1, 0xe3, + 0xfa, 0x73, 0x79, 0xfa, 0x7b, 0xe3, 0x98, 0xfd, 0x2e, 0xa0, 0x33, 0x50, 0x6d, 0x99, 0x47, 0x84, + 0xc2, 0xe6, 0x8a, 0x08, 0xd1, 0x33, 0x4e, 0xdb, 0x39, 0x22, 0xae, 0x58, 0x7f, 0x73, 0xda, 0xd2, + 0xaa, 0x4c, 0xda, 0xab, 0xa0, 0x6d, 0x3b, 0x36, 0xe1, 0xae, 0x82, 0x47, 0x6c, 0xd5, 0xcf, 0xe5, + 0x69, 0x35, 0xdd, 0x4a, 0x38, 0xd7, 0x9a, 0x69, 0xb7, 0x49, 0x9f, 0x79, 0x4a, 0x0d, 0x4a, 0x1b, + 0xae, 0xeb, 0xb8, 0x73, 0xda, 0x8b, 0xf9, 0xbf, 0x7d, 0xbf, 0x90, 0xff, 0xec, 0xfd, 0x42, 0xfe, + 0x1f, 0xdf, 0x2f, 0xe4, 0xff, 0xe8, 0x8b, 0x85, 0xdc, 0x67, 0x5f, 0x2c, 0xe4, 0xfe, 0xfe, 0x8b, + 0x85, 0xdc, 0x0f, 0x0b, 0xc3, 0xfd, 0xfd, 0x32, 0xcb, 0xb6, 0xee, 0xff, 0x67, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xba, 0x46, 0x8e, 0x72, 0x32, 0x3d, 0x00, 0x00, } func (m *Event) Marshal() (dAtA []byte, err error) { @@ -10843,6 +10952,30 @@ func (m *EventBlockSetText) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.IconImage != nil { + { + size, err := m.IconImage.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x42 + } + if m.IconEmoji != nil { + { + size, err := m.IconEmoji.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x3a + } if m.Color != nil { { size, err := m.Color.MarshalToSizedBuffer(dAtA[:i]) @@ -11069,6 +11202,66 @@ func (m *EventBlockSetTextColor) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } +func (m *EventBlockSetTextIconEmoji) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *EventBlockSetTextIconEmoji) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EventBlockSetTextIconEmoji) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Value) > 0 { + i -= len(m.Value) + copy(dAtA[i:], m.Value) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Value))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *EventBlockSetTextIconImage) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *EventBlockSetTextIconImage) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EventBlockSetTextIconImage) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Value) > 0 { + i -= len(m.Value) + copy(dAtA[i:], m.Value) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Value))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *EventBlockSetLatex) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -15867,6 +16060,14 @@ func (m *EventBlockSetText) Size() (n int) { l = m.Color.Size() n += 1 + l + sovEvents(uint64(l)) } + if m.IconEmoji != nil { + l = m.IconEmoji.Size() + n += 1 + l + sovEvents(uint64(l)) + } + if m.IconImage != nil { + l = m.IconImage.Size() + n += 1 + l + sovEvents(uint64(l)) + } return n } @@ -15933,6 +16134,32 @@ func (m *EventBlockSetTextColor) Size() (n int) { return n } +func (m *EventBlockSetTextIconEmoji) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Value) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + return n +} + +func (m *EventBlockSetTextIconImage) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Value) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + return n +} + func (m *EventBlockSetLatex) Size() (n int) { if m == nil { return 0 @@ -23729,6 +23956,78 @@ func (m *EventBlockSetText) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field IconEmoji", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.IconEmoji == nil { + m.IconEmoji = &EventBlockSetTextIconEmoji{} + } + if err := m.IconEmoji.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field IconImage", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.IconImage == nil { + m.IconImage = &EventBlockSetTextIconImage{} + } + if err := m.IconImage.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipEvents(dAtA[iNdEx:]) @@ -24139,6 +24438,170 @@ func (m *EventBlockSetTextColor) Unmarshal(dAtA []byte) error { } return nil } +func (m *EventBlockSetTextIconEmoji) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: IconEmoji: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: IconEmoji: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Value = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEvents(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvents + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *EventBlockSetTextIconImage) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: IconImage: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: IconImage: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Value = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEvents(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvents + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *EventBlockSetLatex) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/pb/protos/commands.proto b/pb/protos/commands.proto index 8a4f485b3..c4b35b029 100644 --- a/pb/protos/commands.proto +++ b/pb/protos/commands.proto @@ -933,7 +933,6 @@ message Rpc { } } - message Style { message Request { string contextId = 1; @@ -983,6 +982,32 @@ message Rpc { } } } + + message Icon { + message Request { + string contextId = 1; + string blockId = 2; + string iconImage = 3; // in case both image and emoji are set, image has a priority to show + string iconEmoji = 5; + } + + message Response { + Error error = 1; + ResponseEvent event = 2; + + message Error { + Code code = 1; + string description = 2; + + enum Code { + NULL = 0; + UNKNOWN_ERROR = 1; + BAD_INPUT = 2; + // ... + } + } + } + } } message File { @@ -2318,7 +2343,6 @@ message Rpc { string name = 1; // Account name oneof avatar { string avatarLocalPath = 2; // Path to an image, that will be used as an avatar of this account - string avatarColor = 3; // Avatar color as an alternative for avatar image } @@ -2347,6 +2371,10 @@ message Rpc { FAILED_TO_STOP_RUNNING_NODE = 104; BAD_INVITE_CODE = 900; + + NET_ERROR = 901; // means general network error + NET_CONNECTION_REFUSED = 902; // means we wasn't able to connect to the cafe server + NET_OFFLINE = 903; // client can additionally support this error code to notify user that device is offline } } } @@ -3175,6 +3203,7 @@ message Rpc { NULL = 0; UNKNOWN_ERROR = 1; BAD_INPUT = 2; + ALREADY_EXISTS = 10; } } } @@ -3429,6 +3458,8 @@ message Rpc { repeated string source = 10; string ignoreWorkspace = 12; + // disable dependent subscription + bool noDepSubscription = 13; } message Response { diff --git a/pb/protos/events.proto b/pb/protos/events.proto index 12f0fa7d5..826698068 100644 --- a/pb/protos/events.proto +++ b/pb/protos/events.proto @@ -303,6 +303,8 @@ message Event { Marks marks = 4; Checked checked = 5; Color color = 6; + IconEmoji iconEmoji = 7; + IconImage iconImage = 8; message Text { string value = 1; @@ -324,6 +326,13 @@ message Event { string value = 1; } + message IconEmoji { + string value = 1; + } + + message IconImage { + string value = 1; + } } message Latex { string id = 1; diff --git a/pb/protos/service/service.proto b/pb/protos/service/service.proto index 650a2a470..65d653732 100644 --- a/pb/protos/service/service.proto +++ b/pb/protos/service/service.proto @@ -83,6 +83,7 @@ service ClientCommands { rpc BlockListSetTextMark (anytype.Rpc.BlockList.Set.Text.Mark.Request) returns (anytype.Rpc.BlockList.Set.Text.Mark.Response); rpc BlockSetTextStyle (anytype.Rpc.Block.Set.Text.Style.Request) returns (anytype.Rpc.Block.Set.Text.Style.Response); rpc BlockSetTextChecked (anytype.Rpc.Block.Set.Text.Checked.Request) returns (anytype.Rpc.Block.Set.Text.Checked.Response); + rpc BlockSetTextIcon (anytype.Rpc.Block.Set.Text.Icon.Request) returns (anytype.Rpc.Block.Set.Text.Icon.Response); rpc BlockSplit (anytype.Rpc.Block.Split.Request) returns (anytype.Rpc.Block.Split.Response); rpc BlockMerge (anytype.Rpc.Block.Merge.Request) returns (anytype.Rpc.Block.Merge.Response); diff --git a/pb/service/service.pb.go b/pb/service/service.pb.go index a579a6040..f1b4ce6ba 100644 --- a/pb/service/service.pb.go +++ b/pb/service/service.pb.go @@ -26,197 +26,197 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package func init() { proto.RegisterFile("pb/protos/service/service.proto", fileDescriptor_93a29dc403579097) } var fileDescriptor_93a29dc403579097 = []byte{ - // 3026 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x9b, 0x5b, 0x6f, 0xdc, 0xc6, - 0x15, 0x80, 0xb3, 0x40, 0x91, 0xa4, 0x93, 0xc4, 0x71, 0xd8, 0x3a, 0xb1, 0xe5, 0x54, 0xbe, 0xc4, - 0xf2, 0x45, 0xb6, 0x28, 0x59, 0x6e, 0x53, 0xf4, 0x1a, 0x48, 0x2b, 0x5b, 0x16, 0x22, 0xdb, 0xaa, - 0x56, 0xb2, 0x8a, 0xf4, 0x4a, 0x91, 0xe3, 0x5d, 0x46, 0x5c, 0x0e, 0x43, 0xce, 0xae, 0xbc, 0x01, - 0x5a, 0xf4, 0x86, 0x02, 0x7d, 0x0b, 0xd0, 0xc7, 0x3e, 0xf5, 0xa9, 0x40, 0x7f, 0x49, 0x1f, 0xf3, - 0xd8, 0xc7, 0xc2, 0xfe, 0x23, 0xc5, 0x70, 0x0e, 0x67, 0x38, 0xc3, 0x99, 0x21, 0xd7, 0x4f, 0x82, - 0x78, 0xbe, 0x73, 0xe1, 0xf0, 0xcc, 0x99, 0x33, 0xe4, 0x2c, 0xba, 0x94, 0x1d, 0xaf, 0x66, 0x39, - 0xa1, 0xa4, 0x58, 0x2d, 0x70, 0x3e, 0x8d, 0x43, 0x5c, 0xfd, 0xf5, 0xcb, 0xcb, 0xde, 0x1b, 0x41, - 0x3a, 0xa3, 0xb3, 0x0c, 0x2f, 0x9c, 0x97, 0x64, 0x48, 0xc6, 0xe3, 0x20, 0x8d, 0x0a, 0x8e, 0x2c, - 0xbc, 0x2f, 0x25, 0x78, 0x8a, 0x53, 0x0a, 0xd7, 0xd7, 0xff, 0xf5, 0x25, 0x3a, 0xd3, 0x4f, 0x62, - 0x9c, 0xd2, 0x3e, 0x28, 0x78, 0x39, 0x3a, 0xf7, 0xe4, 0xf8, 0x73, 0x1c, 0xd2, 0x8d, 0x28, 0x3a, - 0x8a, 0xe9, 0x88, 0xff, 0xb3, 0x13, 0x79, 0xb7, 0x7d, 0xf0, 0xe3, 0xef, 0x67, 0xa1, 0xcf, 0x2f, - 0xfb, 0x1a, 0xe4, 0xef, 0xe3, 0x2f, 0x26, 0xb8, 0xa0, 0x0b, 0x77, 0xba, 0xc1, 0x45, 0x46, 0xd2, - 0x02, 0x7b, 0xcf, 0xd0, 0x7b, 0xfc, 0xe2, 0x60, 0x14, 0xe4, 0x78, 0x73, 0xb6, 0x1b, 0xa7, 0x27, - 0xde, 0x0d, 0x93, 0x89, 0x1a, 0x20, 0x7c, 0xdd, 0x6c, 0x07, 0xc1, 0xcf, 0x11, 0x7a, 0xfb, 0x28, - 0x48, 0x12, 0x4c, 0xfb, 0x39, 0x0e, 0x28, 0xf6, 0xae, 0x2a, 0x9a, 0x5c, 0xe4, 0x73, 0x99, 0xb0, - 0xfe, 0x91, 0x93, 0x01, 0xc3, 0x9f, 0xa1, 0x77, 0xb8, 0x64, 0x1f, 0x87, 0x64, 0x8a, 0x73, 0xcf, - 0xa8, 0x05, 0x42, 0x61, 0xfa, 0x9a, 0x1b, 0xd2, 0x6d, 0xf7, 0x49, 0x3a, 0xc5, 0x39, 0x35, 0xdb, - 0x06, 0xa1, 0xdb, 0xb6, 0x84, 0xc0, 0xf6, 0x6f, 0xd1, 0xbb, 0x47, 0x24, 0x3f, 0x29, 0xb2, 0x20, - 0xc4, 0x30, 0x26, 0x4b, 0xaa, 0x62, 0x25, 0xd5, 0x87, 0xe5, 0x7a, 0x1b, 0x66, 0xf0, 0x30, 0xc0, - 0x09, 0x0e, 0xa9, 0xd5, 0x03, 0x17, 0xb7, 0x7a, 0x10, 0x18, 0x78, 0x48, 0xd0, 0xb7, 0x84, 0x70, - 0x1b, 0xd3, 0xfe, 0x24, 0xcf, 0x71, 0x4a, 0xbd, 0x5b, 0x16, 0x75, 0x89, 0x08, 0x4f, 0xcb, 0x5d, - 0x50, 0xc3, 0xfd, 0x6c, 0x63, 0xba, 0x91, 0x24, 0xd6, 0xfb, 0xe1, 0xe2, 0xd6, 0xfb, 0x11, 0x18, - 0x78, 0xf8, 0x3d, 0xba, 0x50, 0x1b, 0x31, 0xba, 0x53, 0x3c, 0x8c, 0x87, 0xa3, 0x24, 0x1e, 0x8e, - 0x28, 0x8e, 0xbc, 0x55, 0xeb, 0xa0, 0xa8, 0xa0, 0xf0, 0xba, 0xd6, 0x5d, 0x01, 0xfc, 0xff, 0x0a, - 0x9d, 0xd9, 0x08, 0x43, 0x32, 0x49, 0x45, 0x32, 0xab, 0xb9, 0x04, 0xc2, 0x46, 0x36, 0x2f, 0xb5, - 0x50, 0x32, 0x9d, 0x41, 0x06, 0x09, 0xf7, 0x91, 0x51, 0x4f, 0x4b, 0xb7, 0x6b, 0x6e, 0xa8, 0x61, - 0x1b, 0x52, 0xcd, 0x6c, 0x5b, 0x4b, 0xb4, 0x6b, 0x6e, 0x08, 0x6c, 0x1f, 0xa0, 0xb7, 0x2a, 0xdb, - 0x94, 0x64, 0xde, 0x15, 0xb3, 0x12, 0x25, 0x99, 0xb0, 0x7b, 0xd5, 0x85, 0x48, 0xab, 0x0f, 0xe2, - 0x04, 0x3f, 0x79, 0xf6, 0x2c, 0x21, 0x41, 0xa4, 0x59, 0x65, 0x12, 0x1f, 0x44, 0x16, 0xab, 0x1a, - 0x22, 0x93, 0x94, 0x09, 0x76, 0xe3, 0x82, 0x56, 0x96, 0x97, 0x1a, 0x6a, 0x4c, 0xda, 0xb0, 0x7e, - 0xbd, 0x0d, 0x03, 0x0f, 0x3f, 0x43, 0xe8, 0x29, 0xce, 0x8b, 0x98, 0xa4, 0xdb, 0x98, 0x7a, 0x97, - 0x15, 0x2d, 0x10, 0xb0, 0xc4, 0x16, 0x76, 0xaf, 0x38, 0x08, 0x30, 0xf9, 0x10, 0xbd, 0xb1, 0x4b, - 0x86, 0x03, 0x9c, 0x46, 0xde, 0x77, 0x14, 0x7a, 0x97, 0x0c, 0x7d, 0x76, 0x59, 0x18, 0x5b, 0xb4, - 0x89, 0xc1, 0xd2, 0x63, 0xf4, 0xcd, 0x3e, 0x49, 0x9f, 0xc5, 0x43, 0x16, 0xdb, 0x25, 0x05, 0xe6, - 0xd7, 0x95, 0xd0, 0x2e, 0xdb, 0x01, 0xb0, 0xb7, 0x83, 0xde, 0x1c, 0x8c, 0x26, 0x34, 0x22, 0xa7, - 0xa9, 0x16, 0x5a, 0x75, 0xd9, 0x12, 0x5a, 0x4d, 0x2c, 0x57, 0xba, 0xfb, 0xcf, 0x29, 0xce, 0xd3, - 0x20, 0xd9, 0xca, 0x49, 0xc6, 0x06, 0xb8, 0xd0, 0x56, 0xba, 0xba, 0xbc, 0x7c, 0x02, 0x85, 0x65, - 0xa5, 0x33, 0x82, 0xb2, 0x28, 0xd6, 0xc5, 0x7d, 0x92, 0xd2, 0x66, 0x51, 0x54, 0x0c, 0x00, 0x62, - 0x29, 0x8a, 0x16, 0x14, 0xbc, 0xed, 0xa3, 0xb7, 0xd8, 0x42, 0xbb, 0x97, 0xe3, 0x69, 0x8c, 0x4f, - 0xb5, 0x74, 0xa8, 0x49, 0x2c, 0xe9, 0xa0, 0x12, 0x60, 0xf3, 0x09, 0x42, 0x87, 0x19, 0x4b, 0x3a, - 0x76, 0x67, 0xda, 0x53, 0x94, 0x02, 0xcb, 0x53, 0x54, 0x00, 0x30, 0x78, 0x88, 0xde, 0xde, 0x22, - 0xa7, 0xa9, 0x30, 0xa9, 0xc6, 0x50, 0x17, 0x59, 0xe6, 0x9a, 0x86, 0xc8, 0x19, 0xbc, 0x99, 0x90, - 0xf0, 0x84, 0xbb, 0xd4, 0xac, 0x96, 0x12, 0x88, 0xc6, 0x62, 0x55, 0x43, 0x64, 0xa7, 0x52, 0x0a, - 0xf6, 0x71, 0x96, 0x04, 0xa1, 0xde, 0xa9, 0x70, 0x1d, 0x90, 0x59, 0x3a, 0x15, 0x9d, 0x01, 0xc3, - 0x31, 0xf2, 0x20, 0xdc, 0x28, 0xa0, 0xb8, 0xca, 0x8b, 0x9b, 0xc6, 0x90, 0x6a, 0x84, 0x70, 0x72, - 0xab, 0x03, 0x29, 0xa7, 0x61, 0x29, 0x7f, 0x92, 0xe1, 0x54, 0x7b, 0x80, 0x5c, 0x8f, 0x09, 0x2c, - 0x0f, 0x50, 0x01, 0x34, 0x7b, 0x83, 0x11, 0x39, 0x35, 0xda, 0x63, 0x02, 0xa7, 0x3d, 0x00, 0xc0, - 0x1e, 0x41, 0xdf, 0x2e, 0x2f, 0x6f, 0x63, 0xba, 0x37, 0x39, 0x4e, 0xe2, 0xf0, 0x08, 0x1f, 0x1f, - 0xee, 0xef, 0x7a, 0xcb, 0x06, 0x4d, 0x8d, 0x11, 0x5e, 0x6e, 0x77, 0x62, 0x35, 0x87, 0xec, 0xb6, - 0x36, 0x73, 0x1c, 0x44, 0x61, 0x3e, 0x19, 0x1f, 0x17, 0x46, 0x87, 0x1a, 0xe3, 0x74, 0xd8, 0x64, - 0x65, 0x15, 0xe0, 0x23, 0x86, 0x69, 0xdd, 0x9f, 0xe9, 0x19, 0xaa, 0x88, 0xa5, 0x0a, 0x58, 0x50, - 0x6d, 0x26, 0xc0, 0xba, 0x6e, 0x9a, 0x09, 0xda, 0xaa, 0x7e, 0xd5, 0x85, 0xc8, 0xb5, 0xac, 0x66, - 0x75, 0x2f, 0x18, 0xea, 0x2d, 0x6a, 0x5d, 0x8d, 0x89, 0x2d, 0x6b, 0x99, 0x01, 0x93, 0x0d, 0x4f, - 0xcd, 0xc3, 0x00, 0x53, 0xad, 0xe1, 0xa9, 0x6b, 0x0e, 0x6a, 0x0b, 0xc7, 0x52, 0x0b, 0xa5, 0x17, - 0x88, 0x34, 0x61, 0xdb, 0x1a, 0x63, 0x81, 0x28, 0x45, 0xee, 0x02, 0x51, 0x21, 0x72, 0x01, 0xe6, - 0x41, 0x27, 0xa4, 0xc0, 0x9e, 0x29, 0xd9, 0x4b, 0x89, 0xa5, 0xe2, 0xaa, 0x84, 0xec, 0x9e, 0xca, - 0xeb, 0x55, 0x9d, 0xf3, 0x4c, 0x05, 0xa5, 0x12, 0x5a, 0xba, 0xa7, 0x06, 0x04, 0xb6, 0x7f, 0x09, - 0xb6, 0xb7, 0x31, 0x7d, 0x14, 0xe4, 0x27, 0x85, 0x71, 0x88, 0xd9, 0xa2, 0x5b, 0x4a, 0x9d, 0x43, - 0x5c, 0xa7, 0xb4, 0xca, 0x70, 0x98, 0x46, 0xc4, 0x58, 0x19, 0x98, 0xc0, 0x59, 0x19, 0x00, 0xd0, - 0xec, 0xed, 0x63, 0x8b, 0x3d, 0x26, 0x70, 0xda, 0x03, 0x00, 0xec, 0xfd, 0x06, 0x32, 0x6c, 0x80, - 0xe9, 0x83, 0x18, 0x27, 0x51, 0x61, 0x4c, 0x61, 0x96, 0x35, 0x5c, 0xec, 0x4c, 0x61, 0x05, 0x03, - 0x07, 0x5f, 0x40, 0x65, 0x19, 0xb0, 0x1d, 0x68, 0x41, 0xf3, 0x38, 0xa4, 0x31, 0x49, 0x0b, 0xef, - 0xb6, 0x45, 0xbf, 0x0e, 0x59, 0xf6, 0xec, 0x56, 0x58, 0xcb, 0x16, 0xd6, 0x1f, 0x3e, 0x22, 0x53, - 0x6c, 0xca, 0x96, 0xb2, 0x77, 0x64, 0x42, 0x57, 0xb6, 0xd4, 0x21, 0xb0, 0x3d, 0x41, 0xef, 0x2b, - 0xb6, 0x0f, 0xc8, 0x63, 0x7c, 0x5a, 0x4e, 0xfd, 0x3b, 0x0e, 0x7d, 0x41, 0x09, 0x6f, 0x2b, 0x1d, - 0x69, 0x70, 0xfb, 0x55, 0x0f, 0x5d, 0x12, 0x10, 0xec, 0x95, 0xfb, 0xa3, 0x38, 0x89, 0x72, 0x9c, - 0x1e, 0x10, 0xc6, 0x16, 0xde, 0xf7, 0x2c, 0x26, 0xcd, 0xb8, 0x88, 0xe4, 0xe3, 0x79, 0xd5, 0x20, - 0xa4, 0x13, 0x58, 0xae, 0x19, 0x2c, 0xb3, 0xe7, 0x96, 0xc5, 0x9a, 0x21, 0x83, 0x96, 0xbb, 0xa0, - 0xe0, 0x6c, 0x8a, 0xce, 0xd5, 0x9d, 0x1d, 0xe0, 0xe7, 0x74, 0x40, 0x67, 0x09, 0xf6, 0x56, 0x1c, - 0x46, 0x18, 0xe5, 0x97, 0x98, 0xf0, 0xe9, 0x77, 0xc5, 0xb5, 0x9e, 0x84, 0x41, 0x5b, 0x93, 0x2c, - 0x89, 0x43, 0xb6, 0x7e, 0xdc, 0xb4, 0x58, 0x11, 0x84, 0xab, 0x27, 0x69, 0x90, 0xe0, 0xea, 0xaf, - 0x3d, 0x74, 0xb1, 0x7e, 0x8f, 0x9b, 0x41, 0x78, 0x32, 0xcc, 0xc9, 0x24, 0x8d, 0xfa, 0x24, 0x21, - 0xb9, 0xb7, 0xee, 0x08, 0x5d, 0x63, 0x85, 0xfb, 0x7b, 0x73, 0xe9, 0x40, 0x20, 0x23, 0xf4, 0x5e, - 0x3d, 0x8e, 0x8d, 0x24, 0x1e, 0xa6, 0xd6, 0x5b, 0x66, 0x96, 0x4a, 0xa2, 0xf5, 0x96, 0xeb, 0x24, - 0x78, 0x2a, 0xa0, 0x36, 0x80, 0xa7, 0xad, 0x78, 0xca, 0x1f, 0xea, 0x1d, 0x87, 0x89, 0xad, 0x78, - 0xaa, 0x3d, 0xd3, 0x95, 0x8e, 0xb4, 0x39, 0x95, 0x58, 0xcb, 0xdc, 0x9e, 0x4a, 0x65, 0x63, 0xdd, - 0x3d, 0x95, 0x14, 0x5c, 0xee, 0xaf, 0x04, 0x74, 0x30, 0xc9, 0xd3, 0x9d, 0x94, 0x12, 0x6d, 0x7f, - 0x25, 0x8d, 0x54, 0x80, 0x65, 0x7f, 0x65, 0x04, 0xc1, 0xcf, 0xe7, 0xe0, 0x67, 0x80, 0xe9, 0x6e, - 0x40, 0xf1, 0x73, 0x96, 0xd6, 0xb6, 0xbe, 0xca, 0x2f, 0x09, 0x9e, 0xf9, 0x2d, 0x7d, 0x95, 0x8a, - 0x82, 0xaf, 0x21, 0x3a, 0x5b, 0xf9, 0x62, 0x82, 0xd2, 0xd5, 0x4d, 0x8b, 0x7e, 0xa9, 0xa9, 0x78, - 0xba, 0xd5, 0x81, 0x6c, 0xde, 0x14, 0x13, 0xf0, 0x19, 0xe1, 0xd4, 0x57, 0x27, 0xc2, 0x72, 0x17, - 0xd4, 0x5e, 0x6b, 0xb8, 0xbf, 0xd6, 0x5a, 0xa3, 0xfa, 0xf4, 0xbb, 0xe2, 0xe6, 0xd9, 0xc0, 0x10, - 0xd6, 0x4c, 0x38, 0x67, 0x43, 0x69, 0x87, 0x51, 0x9d, 0x66, 0x43, 0x9d, 0x36, 0x0f, 0x2c, 0x9f, - 0x09, 0xce, 0x81, 0x55, 0x67, 0xc1, 0x72, 0x17, 0x14, 0x7c, 0x65, 0xb2, 0xe7, 0x2f, 0x07, 0x75, - 0x84, 0xc3, 0x13, 0x1c, 0x59, 0x3b, 0x01, 0x3e, 0x46, 0x1c, 0x6a, 0xed, 0x04, 0x34, 0x58, 0x6b, - 0x45, 0x07, 0x59, 0x12, 0x53, 0x63, 0x2b, 0x5a, 0x4a, 0x9c, 0xad, 0x68, 0x45, 0x68, 0x26, 0x1f, - 0xe1, 0x7c, 0x68, 0xee, 0x6e, 0x4b, 0x89, 0xd3, 0x64, 0x45, 0x68, 0x3d, 0x5d, 0x9f, 0x64, 0x33, - 0x63, 0x4f, 0xc7, 0x04, 0xce, 0x9e, 0x0e, 0x00, 0x2d, 0xc4, 0xbd, 0xa0, 0xa0, 0xe6, 0x10, 0x4b, - 0x89, 0x33, 0xc4, 0x8a, 0x00, 0x93, 0x9f, 0xa2, 0x37, 0x79, 0x88, 0x13, 0xea, 0x2d, 0x9a, 0x02, - 0x98, 0xc8, 0x41, 0xbc, 0x64, 0x95, 0x6b, 0xdb, 0x8e, 0xfb, 0xcf, 0x33, 0x92, 0x53, 0xe3, 0xb6, - 0x83, 0x8b, 0x9c, 0xdb, 0x0e, 0x81, 0x68, 0x3b, 0xca, 0x9d, 0x31, 0xbb, 0xce, 0xb2, 0xbc, 0x7c, - 0x2b, 0x66, 0xca, 0x65, 0x15, 0x71, 0xe6, 0x72, 0x03, 0x6d, 0x56, 0x3e, 0x56, 0xec, 0x1f, 0x07, - 0x63, 0x6c, 0xad, 0x7c, 0xe5, 0x6a, 0xc0, 0x88, 0xd6, 0xca, 0x57, 0x27, 0x9b, 0x13, 0x74, 0x67, - 0x1c, 0x0c, 0xb9, 0x27, 0x9b, 0x7e, 0x49, 0xa8, 0xae, 0x96, 0xbb, 0xa0, 0xe0, 0x6b, 0x0c, 0xdd, - 0x4e, 0xe5, 0xeb, 0x28, 0x8e, 0xe8, 0xc8, 0x73, 0x5b, 0x28, 0x19, 0xe7, 0x3b, 0x80, 0x26, 0xdb, - 0xbc, 0xb5, 0xa7, 0x71, 0x84, 0x89, 0xf3, 0xd6, 0x4a, 0xa2, 0xdb, 0xad, 0x29, 0x68, 0xf3, 0xd6, - 0x4a, 0xb1, 0xfb, 0xd6, 0xb8, 0x85, 0x6e, 0xb7, 0xa6, 0xb2, 0xe0, 0xee, 0x4f, 0x3d, 0x74, 0x41, - 0xac, 0xc2, 0x71, 0x7a, 0x72, 0x10, 0xe4, 0x43, 0x4c, 0x79, 0x7e, 0x46, 0xde, 0x5d, 0xdb, 0x12, - 0xcb, 0xf6, 0xd1, 0x0a, 0x2a, 0xbc, 0xaf, 0xcf, 0xa3, 0xa2, 0x75, 0xe8, 0x9b, 0x84, 0x9c, 0x8c, - 0x83, 0xfc, 0xe4, 0x01, 0xa6, 0xe1, 0xc8, 0x38, 0xc0, 0x15, 0xe1, 0x97, 0x88, 0x73, 0x80, 0x1b, - 0xa8, 0xde, 0xbe, 0x56, 0x00, 0x7f, 0xdf, 0xb0, 0x91, 0x46, 0xdc, 0xed, 0xba, 0xcb, 0x96, 0xca, - 0xba, 0xda, 0x57, 0x87, 0x0e, 0x04, 0xf2, 0x3b, 0x74, 0xbe, 0x24, 0xd9, 0x5c, 0x12, 0x0c, 0xbc, - 0x02, 0x5d, 0x35, 0x18, 0x2c, 0xe7, 0x9c, 0x06, 0x5a, 0xbe, 0x51, 0x39, 0x15, 0xc0, 0x7d, 0x0a, - 0x65, 0x68, 0x1f, 0x27, 0x01, 0xdb, 0x97, 0x0e, 0x30, 0xfd, 0x14, 0xcf, 0x8c, 0x99, 0x56, 0x21, - 0x3e, 0x67, 0x9c, 0x99, 0xd6, 0x64, 0xc1, 0x1f, 0x86, 0x42, 0x54, 0x01, 0x1b, 0x51, 0x64, 0xea, - 0x2a, 0xa5, 0x81, 0x8d, 0x28, 0x72, 0x75, 0x95, 0x3a, 0x08, 0x6e, 0xbe, 0x44, 0x1f, 0xf0, 0x37, - 0x30, 0x01, 0x0d, 0xa6, 0x31, 0x3e, 0x7d, 0x1a, 0xe3, 0x53, 0x78, 0x9b, 0xe6, 0x9b, 0x5e, 0xb3, - 0x00, 0xe6, 0x4b, 0x4e, 0x38, 0x5d, 0xed, 0xcc, 0x3b, 0x7c, 0x6f, 0xe1, 0x04, 0x77, 0xf1, 0xcd, - 0xb9, 0xee, 0xbe, 0x05, 0xef, 0xf0, 0xcd, 0x5f, 0x2a, 0xb7, 0xfb, 0xe6, 0x5c, 0x77, 0xdf, 0x82, - 0x07, 0xdf, 0x7f, 0xee, 0xa1, 0x85, 0x86, 0x73, 0xb6, 0x23, 0x0b, 0x69, 0x3c, 0xc5, 0xc6, 0x2a, - 0xa2, 0xd8, 0x13, 0xa8, 0xb3, 0x8a, 0x58, 0x55, 0x20, 0x8a, 0xbf, 0xf5, 0xd0, 0x87, 0xa6, 0x28, - 0xf6, 0x48, 0x11, 0xb3, 0x3c, 0xf1, 0xee, 0x75, 0x30, 0x5a, 0xc1, 0x22, 0x92, 0xef, 0xce, 0xa7, - 0x04, 0xb1, 0x9c, 0xc2, 0xdb, 0x97, 0x8a, 0x1c, 0x60, 0x3a, 0x20, 0x93, 0x3c, 0x34, 0x6e, 0xde, - 0xa4, 0x3d, 0x81, 0xb9, 0x7a, 0x73, 0x33, 0xae, 0x15, 0x95, 0x8a, 0xa9, 0xcf, 0x36, 0xe7, 0x73, - 0xad, 0x81, 0xce, 0xa2, 0x62, 0x51, 0xd0, 0x8b, 0xab, 0xee, 0x1f, 0x52, 0x71, 0xbd, 0x8b, 0x45, - 0x2d, 0x1d, 0xef, 0xcd, 0xa5, 0xd3, 0x16, 0x08, 0xcc, 0xc7, 0x4e, 0x81, 0x68, 0x73, 0xf2, 0xde, - 0x5c, 0x3a, 0x10, 0xc8, 0x3f, 0x7a, 0xe8, 0xaa, 0x31, 0x10, 0xb6, 0xd9, 0xd9, 0x98, 0x06, 0x71, - 0x12, 0x1c, 0x27, 0xd8, 0xfb, 0x41, 0x17, 0xdb, 0x8a, 0x8a, 0x08, 0xeb, 0x87, 0xaf, 0xa2, 0x0a, - 0xd1, 0xfd, 0xa1, 0x5a, 0xfe, 0x65, 0x74, 0x21, 0xc9, 0x23, 0x28, 0x98, 0x2d, 0xcf, 0x5f, 0x92, - 0x22, 0x96, 0xbb, 0x73, 0x68, 0x40, 0x08, 0xff, 0xec, 0xa1, 0x6b, 0x86, 0x10, 0xaa, 0xc0, 0x9f, - 0x64, 0x55, 0xfa, 0xfe, 0xa8, 0xdd, 0x76, 0x43, 0x49, 0x04, 0xf6, 0xe3, 0x57, 0x53, 0x86, 0x18, - 0xff, 0xdd, 0x43, 0x37, 0x5a, 0x63, 0x84, 0x14, 0xff, 0xe9, 0xbc, 0x9e, 0xb4, 0x74, 0xff, 0xe4, - 0x95, 0xf5, 0xe7, 0x09, 0x16, 0xa6, 0xc1, 0xdc, 0xc1, 0x6a, 0x53, 0xe2, 0x93, 0x57, 0xd6, 0xd7, - 0x5a, 0x3f, 0x7e, 0xe4, 0xec, 0x60, 0x96, 0x95, 0x1f, 0x8f, 0x4c, 0xad, 0x9f, 0x24, 0xfc, 0xfa, - 0x17, 0xa4, 0xe5, 0x2e, 0x28, 0x38, 0xcb, 0xd1, 0xb9, 0xc7, 0xc1, 0x34, 0x1e, 0x8a, 0x19, 0xc1, - 0x41, 0xfd, 0x1d, 0xbf, 0x64, 0xfc, 0x1a, 0x64, 0xd9, 0xd9, 0x5b, 0x61, 0xf0, 0xf9, 0xf7, 0x1e, - 0xba, 0x2c, 0x99, 0x6d, 0x0c, 0xc4, 0x4e, 0xfa, 0x8c, 0x1c, 0xc5, 0x74, 0xc4, 0xda, 0xe2, 0xc2, - 0xfb, 0xd8, 0x66, 0xd2, 0xcc, 0x8b, 0x50, 0xbe, 0x3f, 0xb7, 0x9e, 0xdc, 0xd9, 0x72, 0xf9, 0x76, - 0x1e, 0x64, 0x23, 0x6d, 0x67, 0x0b, 0xc7, 0xff, 0x4a, 0x91, 0x65, 0x67, 0xab, 0x21, 0xf2, 0x8b, - 0x3b, 0x9c, 0x41, 0xc4, 0x41, 0x1e, 0x8e, 0x3c, 0xa3, 0x0e, 0x97, 0x59, 0xbe, 0xb8, 0xeb, 0x8c, - 0x7c, 0x70, 0x75, 0xc3, 0x83, 0xc9, 0x71, 0x11, 0xe6, 0xf1, 0x31, 0x36, 0x1f, 0xa8, 0xd4, 0x20, - 0xf7, 0x81, 0xca, 0x26, 0x2c, 0xdf, 0xa8, 0x57, 0xa7, 0x2c, 0x0b, 0xe9, 0xd0, 0x78, 0x50, 0xb2, - 0x4e, 0x58, 0xb6, 0xce, 0x66, 0x12, 0x5c, 0x3d, 0x47, 0x1f, 0xd4, 0x6f, 0xef, 0x30, 0x2d, 0x84, - 0xbf, 0x15, 0x7b, 0xcc, 0x35, 0xcc, 0xd2, 0x2e, 0x38, 0x70, 0xfd, 0xd4, 0xa8, 0xbd, 0x2b, 0x07, - 0x23, 0xa6, 0xfe, 0xe0, 0x66, 0x3b, 0x28, 0x3f, 0xdb, 0xab, 0x7e, 0xa0, 0x58, 0x2e, 0xbb, 0x2c, - 0x68, 0x85, 0xf1, 0x76, 0x27, 0xd6, 0xe6, 0x10, 0x0a, 0x9e, 0xd3, 0xa1, 0x56, 0xdc, 0x6e, 0x77, - 0x62, 0xf5, 0x67, 0xd8, 0x5c, 0xb8, 0x56, 0x5c, 0x76, 0x9a, 0x4b, 0x95, 0xdf, 0x15, 0x07, 0xcf, - 0x7f, 0xec, 0xa1, 0x05, 0x93, 0x6b, 0x18, 0xe2, 0xb5, 0x76, 0x73, 0xda, 0x40, 0xdf, 0x9d, 0x43, - 0xa3, 0x25, 0x06, 0x18, 0xf5, 0x0e, 0x31, 0x68, 0x63, 0x7f, 0x77, 0x0e, 0x0d, 0x88, 0xe1, 0x2f, - 0x3d, 0x74, 0x51, 0x8d, 0x41, 0x6d, 0xb1, 0x9c, 0x26, 0xcd, 0xad, 0xd5, 0xfa, 0x3c, 0x2a, 0xf2, - 0xb0, 0x45, 0x35, 0x99, 0xe9, 0x6e, 0x30, 0x23, 0x13, 0xfd, 0xb4, 0xae, 0x98, 0x95, 0x20, 0xb6, - 0x7c, 0xa9, 0x36, 0x60, 0xb5, 0xa6, 0x8d, 0x4b, 0x1f, 0xe0, 0x80, 0x4e, 0x72, 0x1c, 0xd5, 0x67, - 0xaf, 0x71, 0xac, 0x75, 0x50, 0xd9, 0x5c, 0xdf, 0x9d, 0x43, 0xa3, 0xb6, 0xd7, 0x32, 0x87, 0xb0, - 0x8f, 0xc7, 0x64, 0x8a, 0xb5, 0xbd, 0x96, 0xcd, 0x26, 0x87, 0x2d, 0x7b, 0xad, 0x56, 0x25, 0xf9, - 0x3e, 0x55, 0x0c, 0xf8, 0x4e, 0xf1, 0x20, 0x98, 0x92, 0x3c, 0xa6, 0xfa, 0xfb, 0x39, 0x39, 0x9a, - 0x12, 0xb1, 0xf4, 0x10, 0x16, 0xd4, 0xe8, 0x6d, 0x23, 0x0f, 0x47, 0xf1, 0x14, 0x47, 0x0e, 0x6f, - 0x15, 0xd2, 0xc1, 0x5b, 0x0d, 0xd5, 0xd7, 0xe9, 0x03, 0xc2, 0xfa, 0x22, 0xe3, 0x3a, 0x5d, 0x8a, - 0xdc, 0xeb, 0x74, 0x85, 0x80, 0xd5, 0x10, 0x9d, 0xe5, 0x82, 0xf2, 0x6b, 0x31, 0x9f, 0xa2, 0xa6, - 0xe4, 0xe3, 0x5f, 0x80, 0xd5, 0x89, 0x79, 0xa3, 0x95, 0x93, 0x2f, 0x24, 0xa4, 0x54, 0x1d, 0x2c, - 0xdf, 0x66, 0xa3, 0x7c, 0x03, 0xdb, 0x1c, 0xb1, 0xd5, 0xce, 0xbc, 0xd5, 0xb7, 0x48, 0x8b, 0x16, - 0xdf, 0x8d, 0xdc, 0x58, 0xed, 0xcc, 0x83, 0xef, 0x63, 0x38, 0x6c, 0x35, 0xc0, 0x74, 0x0b, 0xd3, - 0x20, 0x4e, 0x0a, 0xcf, 0x76, 0x04, 0x05, 0xe4, 0x96, 0xb1, 0x35, 0x71, 0xf2, 0xc3, 0xc9, 0x5e, - 0x30, 0xac, 0x7e, 0x6e, 0xa0, 0x7e, 0x38, 0x29, 0xcf, 0x63, 0x68, 0xdb, 0xb2, 0x2b, 0x0e, 0x42, - 0x7e, 0xdb, 0x19, 0x88, 0x1f, 0x75, 0xa8, 0x5f, 0x46, 0x06, 0xcd, 0x5f, 0x74, 0x5c, 0xb6, 0x03, - 0x72, 0x01, 0x7e, 0x84, 0x69, 0x1e, 0x87, 0xc5, 0x00, 0xd3, 0xbd, 0x20, 0x0f, 0xc6, 0x98, 0xe2, - 0x5c, 0x3f, 0xa8, 0x07, 0x88, 0xaf, 0x30, 0x96, 0x05, 0xd8, 0xc6, 0xea, 0x49, 0xcd, 0xfa, 0x7e, - 0xb8, 0x0f, 0x53, 0x52, 0x97, 0xdb, 0x02, 0xed, 0x76, 0x6e, 0xb4, 0x72, 0xf2, 0x9c, 0x9b, 0x94, - 0xb2, 0x34, 0xd0, 0x0e, 0x61, 0xd5, 0x54, 0xcb, 0x24, 0x31, 0x1f, 0xc2, 0x6a, 0x52, 0xf2, 0xb5, - 0x91, 0x94, 0xd5, 0xd7, 0x19, 0x63, 0x0f, 0x51, 0x1a, 0x10, 0x65, 0x51, 0xf1, 0xe7, 0x77, 0xc5, - 0xc1, 0x31, 0xad, 0x1a, 0xec, 0xba, 0x63, 0xb6, 0x9a, 0xdc, 0x69, 0x35, 0x54, 0x5f, 0x49, 0x56, - 0x3a, 0xd2, 0xf2, 0x65, 0x55, 0xd3, 0x2b, 0xb4, 0x2d, 0xab, 0xad, 0xa6, 0xb4, 0xae, 0x65, 0xad, - 0xbb, 0x82, 0xcb, 0x3d, 0xac, 0x5f, 0xed, 0xee, 0xb5, 0xb5, 0x6b, 0xad, 0xbb, 0x02, 0xb8, 0xff, - 0x09, 0xfa, 0xc6, 0x5e, 0x9c, 0x0e, 0xbd, 0x0b, 0xea, 0xe4, 0x8c, 0xd3, 0xa1, 0x30, 0xba, 0x60, - 0x12, 0xc9, 0xc3, 0x63, 0x7b, 0x39, 0x09, 0x71, 0x51, 0xf4, 0x83, 0x34, 0xc4, 0x89, 0x76, 0x78, - 0x0c, 0x64, 0x3e, 0x17, 0x5a, 0x0e, 0x8f, 0x35, 0x20, 0xb9, 0xec, 0x3c, 0x8c, 0x0b, 0x4a, 0xf2, - 0x59, 0x79, 0x50, 0x58, 0x2d, 0x1f, 0x20, 0x51, 0x8f, 0x0a, 0x5f, 0x75, 0x21, 0xb2, 0x33, 0x02, - 0x01, 0xfc, 0x78, 0x41, 0x3f, 0xc3, 0x57, 0xa9, 0x55, 0x62, 0x4b, 0x67, 0x64, 0xc0, 0xe4, 0x76, - 0xa6, 0x8a, 0x1b, 0x53, 0x10, 0x6b, 0xdb, 0x19, 0x11, 0x9a, 0x00, 0x2c, 0xdb, 0x19, 0x23, 0x08, - 0x7e, 0xfa, 0xe8, 0x75, 0xf8, 0x26, 0x7c, 0x51, 0x3b, 0xe2, 0xaf, 0x7c, 0x0d, 0xfe, 0xd0, 0x2c, - 0x04, 0x23, 0xbf, 0x46, 0xef, 0xf2, 0x4b, 0xe2, 0x17, 0x45, 0x5a, 0x31, 0xd1, 0xa4, 0x96, 0x62, - 0xd2, 0xa4, 0x74, 0xfb, 0x07, 0x78, 0x9c, 0x25, 0x01, 0xc5, 0x85, 0xd1, 0xbe, 0x90, 0x3a, 0xed, - 0xd7, 0x29, 0xb0, 0x1f, 0xa0, 0xb3, 0x5c, 0xb6, 0x4b, 0xc2, 0x20, 0x61, 0x83, 0xa5, 0x1f, 0x2b, - 0xd6, 0xc5, 0x96, 0xe7, 0x69, 0xc0, 0xe4, 0xef, 0x0d, 0x1e, 0x05, 0x27, 0xb8, 0x72, 0xae, 0x25, - 0x62, 0x5d, 0x64, 0x49, 0x44, 0x0d, 0x01, 0xb3, 0x33, 0x74, 0xbe, 0x2e, 0xd8, 0x9c, 0xc9, 0xe9, - 0xaa, 0x15, 0x5a, 0x1b, 0x66, 0x29, 0xb4, 0x0e, 0x1c, 0x5c, 0xff, 0x1c, 0xbd, 0xd3, 0x4f, 0x48, - 0x2a, 0x6f, 0x49, 0x8d, 0x57, 0x91, 0x59, 0xde, 0x91, 0xe8, 0x8c, 0x7c, 0xdc, 0xdc, 0xa1, 0x3c, - 0xfe, 0x67, 0x5a, 0x9b, 0x9a, 0x47, 0xff, 0x96, 0x5a, 0x28, 0xb0, 0xff, 0x0b, 0x74, 0xe6, 0x30, - 0x2d, 0xb2, 0x24, 0x28, 0x46, 0xf0, 0x7a, 0x47, 0x0d, 0x4b, 0x15, 0x5a, 0x0a, 0x4e, 0x03, 0x92, - 0xb9, 0x54, 0x89, 0xc4, 0xd1, 0xe9, 0x25, 0xa3, 0x66, 0xe3, 0xf0, 0xf4, 0xf5, 0x36, 0x4c, 0x8e, - 0xfc, 0x46, 0x96, 0x25, 0x33, 0xcb, 0xc8, 0x2b, 0x32, 0xcb, 0xc8, 0xeb, 0x8c, 0x6c, 0x9d, 0xb6, - 0xf0, 0xf1, 0x64, 0x38, 0x98, 0xa5, 0xa1, 0xd6, 0x3a, 0x95, 0xd7, 0x7d, 0x26, 0xb0, 0xb4, 0x4e, - 0x0a, 0x20, 0xab, 0x6f, 0x79, 0xf9, 0x60, 0x94, 0xe3, 0xc6, 0xcf, 0x61, 0xb8, 0x02, 0x17, 0xd9, - 0x7e, 0x64, 0xa3, 0x22, 0x5a, 0x94, 0x07, 0x39, 0xc6, 0xc6, 0x28, 0x99, 0xc0, 0x19, 0x25, 0x00, - 0x60, 0x6f, 0x0d, 0xbd, 0xcd, 0x7a, 0x08, 0x9c, 0xde, 0x2f, 0x7f, 0x0d, 0xed, 0x9d, 0x11, 0x1a, - 0xf7, 0xc7, 0x19, 0x9d, 0x2d, 0xd4, 0xfe, 0x67, 0xc0, 0x5a, 0x6f, 0xf3, 0xca, 0x7f, 0x5e, 0x2c, - 0xf6, 0xbe, 0x7e, 0xb1, 0xd8, 0xfb, 0xdf, 0x8b, 0xc5, 0xde, 0x57, 0x2f, 0x17, 0x5f, 0xfb, 0xfa, - 0xe5, 0xe2, 0x6b, 0xff, 0x7d, 0xb9, 0xf8, 0xda, 0x67, 0x6f, 0xc0, 0xaf, 0xb1, 0x8f, 0x5f, 0x2f, - 0x7f, 0x53, 0x7d, 0xef, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0xc9, 0xf7, 0xef, 0xa6, 0xb1, 0x3d, - 0x00, 0x00, + // 3040 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x9b, 0x5b, 0x73, 0xdc, 0xb6, + 0xf5, 0xc0, 0xb3, 0x33, 0xff, 0x49, 0xf2, 0x47, 0x12, 0xc7, 0x61, 0xeb, 0xc4, 0x96, 0x53, 0xf9, + 0x12, 0xcb, 0x17, 0xd9, 0xa2, 0x64, 0xb9, 0x4d, 0xa7, 0xd7, 0x8c, 0xb4, 0xb2, 0x65, 0x4d, 0x64, + 0x5b, 0xd5, 0x4a, 0x56, 0x27, 0xbd, 0x52, 0x24, 0xbc, 0xcb, 0x88, 0x4b, 0x30, 0x24, 0x76, 0xe5, + 0x6d, 0xa7, 0x9d, 0xde, 0xa6, 0x33, 0x7d, 0xf3, 0x4c, 0x1f, 0xfb, 0xd4, 0xd7, 0x7e, 0x92, 0x3e, + 0xe6, 0xb1, 0x8f, 0x1d, 0xfb, 0x8b, 0x74, 0x40, 0x1c, 0x02, 0x04, 0x08, 0x80, 0x5c, 0x3f, 0x69, + 0xc4, 0xf3, 0x3b, 0x17, 0x82, 0x07, 0x07, 0x07, 0x24, 0x16, 0x5d, 0xca, 0x8e, 0x57, 0xb3, 0x9c, + 0x50, 0x52, 0xac, 0x16, 0x38, 0x9f, 0xc6, 0x21, 0xae, 0xfe, 0xfa, 0xe5, 0x65, 0xef, 0xad, 0x20, + 0x9d, 0xd1, 0x59, 0x86, 0x17, 0xce, 0x4b, 0x32, 0x24, 0xe3, 0x71, 0x90, 0x46, 0x05, 0x47, 0x16, + 0x3e, 0x94, 0x12, 0x3c, 0xc5, 0x29, 0x85, 0xeb, 0xeb, 0x2f, 0x7e, 0x8b, 0xce, 0xf4, 0x93, 0x18, + 0xa7, 0xb4, 0x0f, 0x0a, 0x5e, 0x8e, 0xce, 0x3d, 0x39, 0xfe, 0x12, 0x87, 0x74, 0x23, 0x8a, 0x8e, + 0x62, 0x3a, 0xe2, 0xff, 0xec, 0x44, 0xde, 0x6d, 0x1f, 0xfc, 0xf8, 0xfb, 0x59, 0xe8, 0xf3, 0xcb, + 0xbe, 0x06, 0xf9, 0xfb, 0xf8, 0xab, 0x09, 0x2e, 0xe8, 0xc2, 0x9d, 0x6e, 0x70, 0x91, 0x91, 0xb4, + 0xc0, 0xde, 0x33, 0xf4, 0x01, 0xbf, 0x38, 0x18, 0x05, 0x39, 0xde, 0x9c, 0xed, 0xc6, 0xe9, 0x89, + 0x77, 0xc3, 0x64, 0xa2, 0x06, 0x08, 0x5f, 0x37, 0xdb, 0x41, 0xf0, 0x73, 0x84, 0xde, 0x3d, 0x0a, + 0x92, 0x04, 0xd3, 0x7e, 0x8e, 0x03, 0x8a, 0xbd, 0xab, 0x8a, 0x26, 0x17, 0xf9, 0x5c, 0x26, 0xac, + 0x7f, 0xe2, 0x64, 0xc0, 0xf0, 0x17, 0xe8, 0x3d, 0x2e, 0xd9, 0xc7, 0x21, 0x99, 0xe2, 0xdc, 0x33, + 0x6a, 0x81, 0x50, 0x98, 0xbe, 0xe6, 0x86, 0x74, 0xdb, 0x7d, 0x92, 0x4e, 0x71, 0x4e, 0xcd, 0xb6, + 0x41, 0xe8, 0xb6, 0x2d, 0x21, 0xb0, 0xfd, 0x6b, 0xf4, 0xfe, 0x11, 0xc9, 0x4f, 0x8a, 0x2c, 0x08, + 0x31, 0x8c, 0xc9, 0x92, 0xaa, 0x58, 0x49, 0xf5, 0x61, 0xb9, 0xde, 0x86, 0x19, 0x3c, 0x0c, 0x70, + 0x82, 0x43, 0x6a, 0xf5, 0xc0, 0xc5, 0xad, 0x1e, 0x04, 0x06, 0x1e, 0x12, 0xf4, 0x0d, 0x21, 0xdc, + 0xc6, 0xb4, 0x3f, 0xc9, 0x73, 0x9c, 0x52, 0xef, 0x96, 0x45, 0x5d, 0x22, 0xc2, 0xd3, 0x72, 0x17, + 0xd4, 0x70, 0x3f, 0xdb, 0x98, 0x6e, 0x24, 0x89, 0xf5, 0x7e, 0xb8, 0xb8, 0xf5, 0x7e, 0x04, 0x06, + 0x1e, 0x7e, 0x8f, 0x2e, 0xd4, 0x46, 0x8c, 0xee, 0x14, 0x0f, 0xe3, 0xe1, 0x28, 0x89, 0x87, 0x23, + 0x8a, 0x23, 0x6f, 0xd5, 0x3a, 0x28, 0x2a, 0x28, 0xbc, 0xae, 0x75, 0x57, 0x00, 0xff, 0xbf, 0x40, + 0x67, 0x36, 0xc2, 0x90, 0x4c, 0x52, 0x91, 0xcc, 0x6a, 0x2e, 0x81, 0xb0, 0x91, 0xcd, 0x4b, 0x2d, + 0x94, 0x4c, 0x67, 0x90, 0x41, 0xc2, 0x7d, 0x62, 0xd4, 0xd3, 0xd2, 0xed, 0x9a, 0x1b, 0x6a, 0xd8, + 0x86, 0x54, 0x33, 0xdb, 0xd6, 0x12, 0xed, 0x9a, 0x1b, 0x02, 0xdb, 0x07, 0xe8, 0x9d, 0xca, 0x36, + 0x25, 0x99, 0x77, 0xc5, 0xac, 0x44, 0x49, 0x26, 0xec, 0x5e, 0x75, 0x21, 0xd2, 0xea, 0x83, 0x38, + 0xc1, 0x4f, 0x9e, 0x3d, 0x4b, 0x48, 0x10, 0x69, 0x56, 0x99, 0xc4, 0x07, 0x91, 0xc5, 0xaa, 0x86, + 0xc8, 0x24, 0x65, 0x82, 0xdd, 0xb8, 0xa0, 0x95, 0xe5, 0xa5, 0x86, 0x1a, 0x93, 0x36, 0xac, 0x5f, + 0x6f, 0xc3, 0xc0, 0xc3, 0x4f, 0x10, 0x7a, 0x8a, 0xf3, 0x22, 0x26, 0xe9, 0x36, 0xa6, 0xde, 0x65, + 0x45, 0x0b, 0x04, 0x2c, 0xb1, 0x85, 0xdd, 0x2b, 0x0e, 0x02, 0x4c, 0x3e, 0x44, 0x6f, 0xed, 0x92, + 0xe1, 0x00, 0xa7, 0x91, 0xf7, 0x2d, 0x85, 0xde, 0x25, 0x43, 0x9f, 0x5d, 0x16, 0xc6, 0x16, 0x6d, + 0x62, 0xb0, 0xf4, 0x18, 0xfd, 0x7f, 0x9f, 0xa4, 0xcf, 0xe2, 0x21, 0x8b, 0xed, 0x92, 0x02, 0xf3, + 0xeb, 0x4a, 0x68, 0x97, 0xed, 0x00, 0xd8, 0xdb, 0x41, 0x6f, 0x0f, 0x46, 0x13, 0x1a, 0x91, 0xd3, + 0x54, 0x0b, 0xad, 0xba, 0x6c, 0x09, 0xad, 0x26, 0x96, 0x2b, 0xdd, 0xfd, 0xe7, 0x14, 0xe7, 0x69, + 0x90, 0x6c, 0xe5, 0x24, 0x63, 0x03, 0x5c, 0x68, 0x2b, 0x5d, 0x5d, 0x5e, 0x3e, 0x81, 0xc2, 0xb2, + 0xd2, 0x19, 0x41, 0x59, 0x14, 0xeb, 0xe2, 0x3e, 0x49, 0x69, 0xb3, 0x28, 0x2a, 0x06, 0x00, 0xb1, + 0x14, 0x45, 0x0b, 0x0a, 0xde, 0xf6, 0xd1, 0x3b, 0x6c, 0xa1, 0xdd, 0xcb, 0xf1, 0x34, 0xc6, 0xa7, + 0x5a, 0x3a, 0xd4, 0x24, 0x96, 0x74, 0x50, 0x09, 0xb0, 0xf9, 0x04, 0xa1, 0xc3, 0x8c, 0x25, 0x1d, + 0xbb, 0x33, 0xed, 0x29, 0x4a, 0x81, 0xe5, 0x29, 0x2a, 0x00, 0x18, 0x3c, 0x44, 0xef, 0x6e, 0x91, + 0xd3, 0x54, 0x98, 0x54, 0x63, 0xa8, 0x8b, 0x2c, 0x73, 0x4d, 0x43, 0xe4, 0x0c, 0xde, 0x4c, 0x48, + 0x78, 0xc2, 0x5d, 0x6a, 0x56, 0x4b, 0x09, 0x44, 0x63, 0xb1, 0xaa, 0x21, 0xb2, 0x53, 0x29, 0x05, + 0xfb, 0x38, 0x4b, 0x82, 0x50, 0xef, 0x54, 0xb8, 0x0e, 0xc8, 0x2c, 0x9d, 0x8a, 0xce, 0x80, 0xe1, + 0x18, 0x79, 0x10, 0x6e, 0x14, 0x50, 0x5c, 0xe5, 0xc5, 0x4d, 0x63, 0x48, 0x35, 0x42, 0x38, 0xb9, + 0xd5, 0x81, 0x94, 0xd3, 0xb0, 0x94, 0x3f, 0xc9, 0x70, 0xaa, 0x3d, 0x40, 0xae, 0xc7, 0x04, 0x96, + 0x07, 0xa8, 0x00, 0x9a, 0xbd, 0xc1, 0x88, 0x9c, 0x1a, 0xed, 0x31, 0x81, 0xd3, 0x1e, 0x00, 0x60, + 0x8f, 0xa0, 0x6f, 0x96, 0x97, 0xb7, 0x31, 0xdd, 0x9b, 0x1c, 0x27, 0x71, 0x78, 0x84, 0x8f, 0x0f, + 0xf7, 0x77, 0xbd, 0x65, 0x83, 0xa6, 0xc6, 0x08, 0x2f, 0xb7, 0x3b, 0xb1, 0x9a, 0x43, 0x76, 0x5b, + 0x9b, 0x39, 0x0e, 0xa2, 0x30, 0x9f, 0x8c, 0x8f, 0x0b, 0xa3, 0x43, 0x8d, 0x71, 0x3a, 0x6c, 0xb2, + 0xb2, 0x0a, 0xf0, 0x11, 0xc3, 0xb4, 0xee, 0xcf, 0xf4, 0x0c, 0x55, 0xc4, 0x52, 0x05, 0x2c, 0xa8, + 0x36, 0x13, 0x60, 0x5d, 0x37, 0xcd, 0x04, 0x6d, 0x55, 0xbf, 0xea, 0x42, 0xe4, 0x5a, 0x56, 0xb3, + 0xba, 0x17, 0x0c, 0xf5, 0x16, 0xb5, 0xae, 0xc6, 0xc4, 0x96, 0xb5, 0xcc, 0x80, 0xc9, 0x86, 0xa7, + 0xe6, 0x61, 0x80, 0xa9, 0xd6, 0xf0, 0xd4, 0x35, 0x07, 0xb5, 0x85, 0x63, 0xa9, 0x85, 0xd2, 0x0b, + 0x44, 0x9a, 0xb0, 0x6d, 0x8d, 0xb1, 0x40, 0x94, 0x22, 0x77, 0x81, 0xa8, 0x10, 0xb9, 0x00, 0xf3, + 0xa0, 0x13, 0x52, 0x60, 0xcf, 0x94, 0xec, 0xa5, 0xc4, 0x52, 0x71, 0x55, 0x42, 0x76, 0x4f, 0xe5, + 0xf5, 0xaa, 0xce, 0x79, 0xa6, 0x82, 0x52, 0x09, 0x2d, 0xdd, 0x53, 0x03, 0x02, 0xdb, 0x3f, 0x07, + 0xdb, 0xdb, 0x98, 0x3e, 0x0a, 0xf2, 0x93, 0xc2, 0x38, 0xc4, 0x6c, 0xd1, 0x2d, 0xa5, 0xce, 0x21, + 0xae, 0x53, 0x5a, 0x65, 0x38, 0x4c, 0x23, 0x62, 0xac, 0x0c, 0x4c, 0xe0, 0xac, 0x0c, 0x00, 0x68, + 0xf6, 0xf6, 0xb1, 0xc5, 0x1e, 0x13, 0x38, 0xed, 0x01, 0x00, 0xf6, 0x7e, 0x05, 0x19, 0x36, 0xc0, + 0xf4, 0x41, 0x8c, 0x93, 0xa8, 0x30, 0xa6, 0x30, 0xcb, 0x1a, 0x2e, 0x76, 0xa6, 0xb0, 0x82, 0x81, + 0x83, 0xaf, 0xa0, 0xb2, 0x0c, 0xd8, 0x0e, 0xb4, 0xa0, 0x79, 0x1c, 0xd2, 0x98, 0xa4, 0x85, 0x77, + 0xdb, 0xa2, 0x5f, 0x87, 0x2c, 0x7b, 0x76, 0x2b, 0xac, 0x65, 0x0b, 0xeb, 0x0f, 0x1f, 0x91, 0x29, + 0x36, 0x65, 0x4b, 0xd9, 0x3b, 0x32, 0xa1, 0x2b, 0x5b, 0xea, 0x10, 0xd8, 0x9e, 0xa0, 0x0f, 0x15, + 0xdb, 0x07, 0xe4, 0x31, 0x3e, 0x2d, 0xa7, 0xfe, 0x1d, 0x87, 0xbe, 0xa0, 0x84, 0xb7, 0x95, 0x8e, + 0x34, 0xb8, 0x7d, 0xd1, 0x43, 0x97, 0x04, 0x04, 0x7b, 0xe5, 0xfe, 0x28, 0x4e, 0xa2, 0x1c, 0xa7, + 0x07, 0x84, 0xb1, 0x85, 0xf7, 0x1d, 0x8b, 0x49, 0x33, 0x2e, 0x22, 0xf9, 0x74, 0x5e, 0x35, 0x08, + 0xe9, 0x04, 0x96, 0x6b, 0x06, 0xcb, 0xec, 0xb9, 0x65, 0xb1, 0x66, 0xc8, 0xa0, 0xe5, 0x2e, 0x28, + 0x38, 0x9b, 0xa2, 0x73, 0x75, 0x67, 0x07, 0xf8, 0x39, 0x1d, 0xd0, 0x59, 0x82, 0xbd, 0x15, 0x87, + 0x11, 0x46, 0xf9, 0x25, 0x26, 0x7c, 0xfa, 0x5d, 0x71, 0xad, 0x27, 0x61, 0xd0, 0xd6, 0x24, 0x4b, + 0xe2, 0x90, 0xad, 0x1f, 0x37, 0x2d, 0x56, 0x04, 0xe1, 0xea, 0x49, 0x1a, 0x24, 0xb8, 0xfa, 0x6b, + 0x0f, 0x5d, 0xac, 0xdf, 0xe3, 0x66, 0x10, 0x9e, 0x0c, 0x73, 0x32, 0x49, 0xa3, 0x3e, 0x49, 0x48, + 0xee, 0xad, 0x3b, 0x42, 0xd7, 0x58, 0xe1, 0xfe, 0xde, 0x5c, 0x3a, 0x10, 0xc8, 0x08, 0x7d, 0x50, + 0x8f, 0x63, 0x23, 0x89, 0x87, 0xa9, 0xf5, 0x96, 0x99, 0xa5, 0x92, 0x68, 0xbd, 0xe5, 0x3a, 0x09, + 0x9e, 0x0a, 0xa8, 0x0d, 0xe0, 0x69, 0x2b, 0x9e, 0xf2, 0x87, 0x7a, 0xc7, 0x61, 0x62, 0x2b, 0x9e, + 0x6a, 0xcf, 0x74, 0xa5, 0x23, 0x6d, 0x4e, 0x25, 0xd6, 0x32, 0xb7, 0xa7, 0x52, 0xd9, 0x58, 0x77, + 0x4f, 0x25, 0x05, 0x97, 0xfb, 0x2b, 0x01, 0x1d, 0x4c, 0xf2, 0x74, 0x27, 0xa5, 0x44, 0xdb, 0x5f, + 0x49, 0x23, 0x15, 0x60, 0xd9, 0x5f, 0x19, 0x41, 0xf0, 0xf3, 0x25, 0xf8, 0x19, 0x60, 0xba, 0x1b, + 0x50, 0xfc, 0x9c, 0xa5, 0xb5, 0xad, 0xaf, 0xf2, 0x4b, 0x82, 0x67, 0x7e, 0x4b, 0x5f, 0xa5, 0xa2, + 0xe0, 0x6b, 0x88, 0xce, 0x56, 0xbe, 0x98, 0xa0, 0x74, 0x75, 0xd3, 0xa2, 0x5f, 0x6a, 0x2a, 0x9e, + 0x6e, 0x75, 0x20, 0x9b, 0x37, 0xc5, 0x04, 0x7c, 0x46, 0x38, 0xf5, 0xd5, 0x89, 0xb0, 0xdc, 0x05, + 0xb5, 0xd7, 0x1a, 0xee, 0xaf, 0xb5, 0xd6, 0xa8, 0x3e, 0xfd, 0xae, 0xb8, 0x79, 0x36, 0x30, 0x84, + 0x35, 0x13, 0xce, 0xd9, 0x50, 0xda, 0x61, 0x54, 0xa7, 0xd9, 0x50, 0xa7, 0xcd, 0x03, 0xcb, 0x67, + 0x82, 0x73, 0x60, 0xd5, 0x59, 0xb0, 0xdc, 0x05, 0x05, 0x5f, 0x99, 0xec, 0xf9, 0xcb, 0x41, 0x1d, + 0xe1, 0xf0, 0x04, 0x47, 0xd6, 0x4e, 0x80, 0x8f, 0x11, 0x87, 0x5a, 0x3b, 0x01, 0x0d, 0x36, 0xe7, + 0xe7, 0x4e, 0x48, 0x52, 0x77, 0x7e, 0x32, 0xa2, 0x5b, 0x7e, 0x02, 0xa9, 0xf5, 0xbc, 0x83, 0x2c, + 0x89, 0xa9, 0xb1, 0xe7, 0x2d, 0x25, 0xce, 0x9e, 0xb7, 0x22, 0x34, 0x93, 0x8f, 0x70, 0x3e, 0x34, + 0xb7, 0xd1, 0xa5, 0xc4, 0x69, 0xb2, 0x22, 0xb4, 0xe6, 0xb1, 0x4f, 0xb2, 0x99, 0xb1, 0x79, 0x64, + 0x02, 0x67, 0xf3, 0x08, 0x80, 0x16, 0xe2, 0x5e, 0x50, 0x50, 0x73, 0x88, 0xa5, 0xc4, 0x19, 0x62, + 0x45, 0x80, 0xc9, 0xcf, 0xd1, 0xdb, 0x3c, 0xc4, 0x09, 0xf5, 0x16, 0x4d, 0x01, 0x4c, 0xe4, 0x20, + 0x5e, 0xb2, 0xca, 0xb5, 0xfd, 0xcd, 0xfd, 0xe7, 0x19, 0xc9, 0xa9, 0x71, 0x7f, 0xc3, 0x45, 0xce, + 0xfd, 0x8d, 0x40, 0xb4, 0xad, 0xeb, 0xce, 0x98, 0x5d, 0x67, 0xd3, 0xa9, 0x7c, 0xfd, 0x66, 0xca, + 0x16, 0x15, 0x71, 0x4e, 0x9a, 0x06, 0xda, 0x4c, 0x61, 0xb6, 0xaa, 0x3c, 0x0e, 0xc6, 0xd8, 0x9a, + 0xc2, 0xe5, 0xb2, 0xc3, 0x88, 0xd6, 0x14, 0xae, 0x93, 0xcd, 0x4a, 0xb0, 0x33, 0x0e, 0x86, 0xdc, + 0x93, 0x4d, 0xbf, 0x24, 0x54, 0x57, 0xcb, 0x5d, 0x50, 0xf0, 0x35, 0x86, 0xb6, 0xaa, 0xf2, 0x75, + 0x14, 0x47, 0x74, 0xe4, 0xb9, 0x2d, 0x94, 0x8c, 0xf3, 0x65, 0x43, 0x93, 0x6d, 0xde, 0xda, 0xd3, + 0x38, 0xc2, 0xc4, 0x79, 0x6b, 0x25, 0xd1, 0xed, 0xd6, 0x14, 0xb4, 0x79, 0x6b, 0xa5, 0xd8, 0x7d, + 0x6b, 0xdc, 0x42, 0xb7, 0x5b, 0x53, 0x59, 0x70, 0xf7, 0xa7, 0x1e, 0xba, 0x20, 0x96, 0xfb, 0x38, + 0x3d, 0x39, 0x08, 0xf2, 0x21, 0xa6, 0x3c, 0x3f, 0x23, 0xef, 0xae, 0x6d, 0x2d, 0x67, 0x1b, 0x76, + 0x05, 0x15, 0xde, 0xd7, 0xe7, 0x51, 0xd1, 0xb6, 0x02, 0x9b, 0x84, 0x9c, 0x8c, 0x83, 0xfc, 0xe4, + 0x01, 0xa6, 0xe1, 0xc8, 0x38, 0xc0, 0x15, 0xe1, 0x97, 0x88, 0x73, 0x80, 0x1b, 0xa8, 0xde, 0x27, + 0x57, 0x00, 0x7f, 0xb1, 0xb1, 0x91, 0x46, 0xdc, 0xed, 0xba, 0xcb, 0x96, 0xca, 0xba, 0xfa, 0x64, + 0x87, 0x0e, 0x04, 0xf2, 0x3b, 0x74, 0xbe, 0x24, 0xd9, 0x5c, 0x12, 0x0c, 0xbc, 0x6b, 0x5d, 0x35, + 0x18, 0x2c, 0xe7, 0x9c, 0x06, 0x5a, 0x3e, 0x86, 0x39, 0x15, 0xc0, 0x7d, 0x0a, 0x65, 0x68, 0x1f, + 0x27, 0x01, 0xdb, 0x00, 0x0f, 0x30, 0xfd, 0x1c, 0xcf, 0x8c, 0x99, 0x56, 0x21, 0x3e, 0x67, 0x9c, + 0x99, 0xd6, 0x64, 0xc1, 0x1f, 0x86, 0x42, 0x54, 0x01, 0x1b, 0x51, 0x64, 0x6a, 0x5f, 0xa5, 0x81, + 0x8d, 0x28, 0x72, 0xb5, 0xaf, 0x3a, 0x08, 0x6e, 0x7e, 0x83, 0x3e, 0xe2, 0xaf, 0x7a, 0x02, 0x1a, + 0x4c, 0x63, 0x7c, 0xfa, 0x34, 0xc6, 0xa7, 0xf0, 0xda, 0xce, 0x37, 0xbd, 0xcf, 0x01, 0xcc, 0x97, + 0x9c, 0x70, 0xba, 0xda, 0x99, 0x77, 0xf8, 0xde, 0xc2, 0x09, 0xee, 0xe2, 0x9b, 0x73, 0xdd, 0x7d, + 0x0b, 0xde, 0xe1, 0x9b, 0xbf, 0xbd, 0x6e, 0xf7, 0xcd, 0xb9, 0xee, 0xbe, 0x05, 0x0f, 0xbe, 0xff, + 0xdc, 0x43, 0x0b, 0x0d, 0xe7, 0x6c, 0xeb, 0x17, 0xd2, 0x78, 0x8a, 0x8d, 0x55, 0x44, 0xb1, 0x27, + 0x50, 0x67, 0x15, 0xb1, 0xaa, 0x40, 0x14, 0x7f, 0xeb, 0xa1, 0x8f, 0x4d, 0x51, 0xec, 0x91, 0x22, + 0x66, 0x79, 0xe2, 0xdd, 0xeb, 0x60, 0xb4, 0x82, 0x45, 0x24, 0xdf, 0x9e, 0x4f, 0x09, 0x62, 0x39, + 0x85, 0xd7, 0x3c, 0x15, 0x39, 0xc0, 0x74, 0x40, 0x26, 0x79, 0x68, 0xdc, 0x25, 0x4a, 0x7b, 0x02, + 0x73, 0x6d, 0x02, 0xcc, 0xb8, 0x56, 0x54, 0x2a, 0xa6, 0x3e, 0xdb, 0x9c, 0xcf, 0xb5, 0x06, 0x3a, + 0x8b, 0x8a, 0x45, 0x41, 0x2f, 0xae, 0xba, 0x7f, 0x48, 0xc5, 0xf5, 0x2e, 0x16, 0xb5, 0x74, 0xbc, + 0x37, 0x97, 0x4e, 0x5b, 0x20, 0x30, 0x1f, 0x3b, 0x05, 0xa2, 0xcd, 0xc9, 0x7b, 0x73, 0xe9, 0x40, + 0x20, 0xff, 0xe8, 0xa1, 0xab, 0xc6, 0x40, 0xd8, 0xae, 0x6a, 0x63, 0x1a, 0xc4, 0x49, 0x70, 0x9c, + 0x60, 0xef, 0x7b, 0x5d, 0x6c, 0x2b, 0x2a, 0x22, 0xac, 0xef, 0xbf, 0x8e, 0x2a, 0x44, 0xf7, 0x87, + 0x6a, 0xf9, 0x97, 0xd1, 0x85, 0x24, 0x8f, 0xa0, 0x60, 0xb6, 0x3c, 0x7f, 0x49, 0x8a, 0x58, 0xee, + 0xce, 0xa1, 0x01, 0x21, 0xfc, 0xb3, 0x87, 0xae, 0x19, 0x42, 0xa8, 0x02, 0x7f, 0x92, 0x55, 0xe9, + 0xfb, 0x83, 0x76, 0xdb, 0x0d, 0x25, 0x11, 0xd8, 0x0f, 0x5f, 0x4f, 0x19, 0x62, 0xfc, 0x57, 0x0f, + 0xdd, 0x68, 0x8d, 0x11, 0x52, 0xfc, 0xc7, 0xf3, 0x7a, 0xd2, 0xd2, 0xfd, 0xb3, 0xd7, 0xd6, 0x9f, + 0x27, 0x58, 0x98, 0x06, 0x73, 0x07, 0xab, 0x4d, 0x89, 0xcf, 0x5e, 0x5b, 0x5f, 0x6b, 0xfd, 0xf8, + 0xd9, 0xb6, 0x83, 0x59, 0x56, 0x7e, 0xa5, 0x32, 0xb5, 0x7e, 0x92, 0xf0, 0xeb, 0x9f, 0xaa, 0x96, + 0xbb, 0xa0, 0xe0, 0x2c, 0x47, 0xe7, 0x1e, 0x07, 0xd3, 0x78, 0x28, 0x66, 0x04, 0x07, 0xf5, 0x8f, + 0x09, 0x92, 0xf1, 0x6b, 0x90, 0xe5, 0x15, 0x82, 0x15, 0x06, 0x9f, 0x7f, 0xef, 0xa1, 0xcb, 0x92, + 0xd9, 0xc6, 0x40, 0xec, 0xa4, 0xcf, 0xc8, 0x51, 0x4c, 0x47, 0xac, 0x2d, 0x2e, 0xbc, 0x4f, 0x6d, + 0x26, 0xcd, 0xbc, 0x08, 0xe5, 0xbb, 0x73, 0xeb, 0xc9, 0x9d, 0x2d, 0x97, 0x6f, 0xe7, 0x41, 0x36, + 0xd2, 0x76, 0xb6, 0x70, 0xce, 0xb0, 0x14, 0x59, 0x76, 0xb6, 0x1a, 0x22, 0x3f, 0xed, 0xc3, 0x61, + 0x47, 0x1c, 0xe4, 0xe1, 0xc8, 0x33, 0xea, 0x70, 0x99, 0xe5, 0xd3, 0xbe, 0xce, 0xc8, 0x07, 0x57, + 0x37, 0x3c, 0x98, 0x1c, 0x17, 0x61, 0x1e, 0x1f, 0x63, 0xf3, 0xc9, 0x4d, 0x0d, 0x72, 0x9f, 0xdc, + 0x6c, 0xc2, 0xf2, 0xd5, 0x7d, 0x75, 0x9c, 0xb3, 0x90, 0x0e, 0x8d, 0x27, 0x32, 0xeb, 0x84, 0x65, + 0xeb, 0x6c, 0x26, 0xc1, 0xd5, 0x73, 0xf4, 0x51, 0xfd, 0xf6, 0x0e, 0xd3, 0x42, 0xf8, 0x5b, 0xb1, + 0xc7, 0x5c, 0xc3, 0x2c, 0xed, 0x82, 0x03, 0xd7, 0x8f, 0xa7, 0xda, 0xbb, 0x72, 0x30, 0x62, 0xea, + 0x0f, 0x6e, 0xb6, 0x83, 0xf2, 0x7c, 0x80, 0xea, 0x07, 0x8a, 0xe5, 0xb2, 0xcb, 0x82, 0x56, 0x18, + 0x6f, 0x77, 0x62, 0x6d, 0x0e, 0xa1, 0xe0, 0x39, 0x1d, 0x6a, 0xc5, 0xed, 0x76, 0x27, 0x56, 0x7f, + 0x86, 0xcd, 0x85, 0x6b, 0xc5, 0x65, 0xa7, 0xb9, 0x54, 0xf9, 0x5d, 0x71, 0xf0, 0xfc, 0xc7, 0x1e, + 0x5a, 0x30, 0xb9, 0x86, 0x21, 0x5e, 0x6b, 0x37, 0xa7, 0x0d, 0xf4, 0xdd, 0x39, 0x34, 0x5a, 0x62, + 0x80, 0x51, 0xef, 0x10, 0x83, 0x36, 0xf6, 0x77, 0xe7, 0xd0, 0x80, 0x18, 0xfe, 0xd2, 0x43, 0x17, + 0xd5, 0x18, 0xd4, 0x16, 0xcb, 0x69, 0xd2, 0xdc, 0x5a, 0xad, 0xcf, 0xa3, 0x22, 0x4f, 0x75, 0x54, + 0x93, 0x99, 0xee, 0x06, 0x33, 0x32, 0xd1, 0x8f, 0x05, 0x8b, 0x59, 0x09, 0x62, 0xcb, 0x27, 0x71, + 0x03, 0x56, 0x6b, 0xda, 0xb8, 0xf4, 0x01, 0x0e, 0xe8, 0x24, 0xc7, 0x51, 0x7d, 0xf6, 0x1a, 0xc7, + 0x5a, 0x07, 0x95, 0xcd, 0xf5, 0xdd, 0x39, 0x34, 0x6a, 0x7b, 0x2d, 0x73, 0x08, 0xfb, 0x78, 0x4c, + 0xa6, 0x58, 0xdb, 0x6b, 0xd9, 0x6c, 0x72, 0xd8, 0xb2, 0xd7, 0x6a, 0x55, 0x92, 0xef, 0x53, 0xc5, + 0x80, 0xef, 0x14, 0x0f, 0x82, 0x29, 0xc9, 0x63, 0xaa, 0xbf, 0x9f, 0x93, 0xa3, 0x29, 0x11, 0x4b, + 0x0f, 0x61, 0x41, 0x8d, 0xde, 0x36, 0xf2, 0x70, 0x14, 0x4f, 0x71, 0xe4, 0xf0, 0x56, 0x21, 0x1d, + 0xbc, 0xd5, 0x50, 0x7d, 0x9d, 0x3e, 0x20, 0xac, 0x2f, 0x32, 0xae, 0xd3, 0xa5, 0xc8, 0xbd, 0x4e, + 0x57, 0x08, 0x58, 0x0d, 0xd1, 0x59, 0x2e, 0x28, 0x3f, 0x4b, 0xf3, 0x29, 0x6a, 0x4a, 0x3e, 0xfe, + 0xa9, 0x59, 0x9d, 0x98, 0x37, 0x5a, 0x39, 0xf9, 0x42, 0x42, 0x4a, 0xd5, 0xc1, 0xf2, 0x6d, 0x36, + 0xca, 0x37, 0xb0, 0xcd, 0x11, 0x5b, 0xed, 0xcc, 0x5b, 0x7d, 0x8b, 0xb4, 0x68, 0xf1, 0xdd, 0xc8, + 0x8d, 0xd5, 0xce, 0x3c, 0xf8, 0x3e, 0x86, 0x53, 0x5d, 0x03, 0x4c, 0xb7, 0x30, 0x0d, 0xe2, 0xa4, + 0xf0, 0x6c, 0x67, 0x5d, 0x40, 0x6e, 0x19, 0x5b, 0x13, 0x27, 0x3f, 0x9c, 0xec, 0x05, 0xc3, 0xea, + 0x77, 0x0d, 0xea, 0x87, 0x93, 0xf2, 0xe0, 0x87, 0xb6, 0x2d, 0xbb, 0xe2, 0x20, 0xe4, 0xb7, 0x9d, + 0x81, 0xf8, 0xf5, 0x88, 0xfa, 0x65, 0x64, 0xd0, 0xfc, 0xe9, 0xc8, 0x65, 0x3b, 0x20, 0x17, 0xe0, + 0x47, 0x98, 0xe6, 0x71, 0x58, 0x0c, 0x30, 0xdd, 0x0b, 0xf2, 0x60, 0x8c, 0x29, 0xce, 0xf5, 0x13, + 0x81, 0x80, 0xf8, 0x0a, 0x63, 0x59, 0x80, 0x6d, 0xac, 0x9e, 0xd4, 0xac, 0xef, 0x87, 0xfb, 0x30, + 0x25, 0x75, 0xb9, 0x2d, 0xd0, 0x6e, 0xe7, 0x46, 0x2b, 0x27, 0x0f, 0xd4, 0x49, 0x29, 0x4b, 0x03, + 0xed, 0xb4, 0x57, 0x4d, 0xb5, 0x4c, 0x12, 0xf3, 0x69, 0xaf, 0x26, 0x25, 0x5f, 0x1b, 0x49, 0x59, + 0x7d, 0x9d, 0x31, 0xf6, 0x10, 0xa5, 0x01, 0x51, 0x16, 0x15, 0x7f, 0x7e, 0x57, 0x1c, 0x1c, 0xd3, + 0xaa, 0xc1, 0xae, 0x3b, 0x66, 0xab, 0xc9, 0x9d, 0x56, 0x43, 0xf5, 0x95, 0x64, 0xa5, 0x23, 0x2d, + 0x5f, 0x56, 0x35, 0xbd, 0x42, 0xdb, 0xb2, 0xda, 0x6a, 0x4a, 0xeb, 0x5a, 0xd6, 0xba, 0x2b, 0xb8, + 0xdc, 0xc3, 0xfa, 0xd5, 0xee, 0x5e, 0x5b, 0xbb, 0xd6, 0xba, 0x2b, 0x80, 0xfb, 0x1f, 0xa1, 0xff, + 0xdb, 0x8b, 0xd3, 0xa1, 0x77, 0x41, 0x9d, 0x9c, 0x71, 0x3a, 0x14, 0x46, 0x17, 0x4c, 0x22, 0x79, + 0x4a, 0x6d, 0x2f, 0x27, 0x21, 0x2e, 0x8a, 0x7e, 0x90, 0x86, 0x38, 0xd1, 0x4e, 0xa9, 0x81, 0xcc, + 0xe7, 0x42, 0xcb, 0x29, 0xb5, 0x06, 0x24, 0x97, 0x9d, 0x87, 0x71, 0x41, 0x49, 0x3e, 0x2b, 0x4f, + 0x24, 0xab, 0xe5, 0x03, 0x24, 0xea, 0x99, 0xe4, 0xab, 0x2e, 0x44, 0x76, 0x46, 0x20, 0x80, 0x5f, + 0x49, 0xe8, 0x87, 0x05, 0x2b, 0xb5, 0x4a, 0x6c, 0xe9, 0x8c, 0x0c, 0x98, 0xdc, 0xce, 0x54, 0x71, + 0x63, 0x0a, 0x62, 0x6d, 0x3b, 0x23, 0x42, 0x13, 0x80, 0x65, 0x3b, 0x63, 0x04, 0xc1, 0x4f, 0x1f, + 0xbd, 0x09, 0xdf, 0x84, 0x2f, 0x6a, 0xbf, 0x25, 0x50, 0xbe, 0x06, 0x7f, 0x6c, 0x16, 0x82, 0x91, + 0x5f, 0xa2, 0xf7, 0xf9, 0x25, 0xf1, 0xd3, 0x25, 0xad, 0x98, 0x68, 0x52, 0x4b, 0x31, 0x69, 0x52, + 0xba, 0xfd, 0x03, 0x3c, 0xce, 0x92, 0x80, 0xe2, 0xc2, 0x68, 0x5f, 0x48, 0x9d, 0xf6, 0xeb, 0x14, + 0xd8, 0x0f, 0xd0, 0x59, 0x2e, 0xdb, 0x25, 0x61, 0x90, 0xb0, 0xc1, 0xd2, 0xcf, 0x2f, 0xeb, 0x62, + 0xcb, 0xf3, 0x34, 0x60, 0xf2, 0x87, 0x0d, 0x8f, 0x82, 0x13, 0x5c, 0x39, 0xd7, 0x12, 0xb1, 0x2e, + 0xb2, 0x24, 0xa2, 0x86, 0x80, 0xd9, 0x19, 0x3a, 0x5f, 0x17, 0x6c, 0xce, 0xe4, 0x74, 0xd5, 0x0a, + 0xad, 0x0d, 0xb3, 0x14, 0x5a, 0x07, 0x0e, 0xae, 0x7f, 0x8a, 0xde, 0xeb, 0x27, 0x24, 0x95, 0xb7, + 0xa4, 0xc6, 0xab, 0xc8, 0x2c, 0xef, 0x48, 0x74, 0x46, 0x3e, 0x6e, 0xee, 0x50, 0x9e, 0x33, 0x34, + 0xad, 0x4d, 0xcd, 0x33, 0x86, 0x4b, 0x2d, 0x14, 0xd8, 0xff, 0x19, 0x3a, 0x73, 0x98, 0x16, 0x59, + 0x12, 0x14, 0x23, 0x78, 0xbd, 0xa3, 0x86, 0xa5, 0x0a, 0x2d, 0x05, 0xa7, 0x01, 0xc9, 0x5c, 0xaa, + 0x44, 0xe2, 0x8c, 0xf6, 0x92, 0x51, 0xb3, 0x71, 0x4a, 0xfb, 0x7a, 0x1b, 0x26, 0x47, 0x7e, 0x23, + 0xcb, 0x92, 0x99, 0x65, 0xe4, 0x15, 0x99, 0x65, 0xe4, 0x75, 0x46, 0xb6, 0x4e, 0x5b, 0xf8, 0x78, + 0x32, 0x1c, 0xcc, 0xd2, 0x50, 0x6b, 0x9d, 0xca, 0xeb, 0x3e, 0x13, 0x58, 0x5a, 0x27, 0x05, 0x90, + 0xd5, 0xb7, 0xbc, 0x7c, 0x30, 0xca, 0x71, 0xe3, 0x77, 0x37, 0x5c, 0x81, 0x8b, 0x6c, 0xbf, 0xe6, + 0x51, 0x11, 0x2d, 0xca, 0x83, 0x1c, 0x63, 0x63, 0x94, 0x4c, 0xe0, 0x8c, 0x12, 0x00, 0xb0, 0xb7, + 0x86, 0xde, 0x65, 0x3d, 0x04, 0x4e, 0xef, 0x97, 0x3f, 0xbb, 0xf6, 0xce, 0x08, 0x8d, 0xfb, 0xe3, + 0x8c, 0xce, 0x16, 0x6a, 0xff, 0x33, 0x60, 0xad, 0xb7, 0x79, 0xe5, 0xdf, 0x2f, 0x17, 0x7b, 0x5f, + 0xbf, 0x5c, 0xec, 0xfd, 0xf7, 0xe5, 0x62, 0xef, 0xc5, 0xab, 0xc5, 0x37, 0xbe, 0x7e, 0xb5, 0xf8, + 0xc6, 0x7f, 0x5e, 0x2d, 0xbe, 0xf1, 0xc5, 0x5b, 0xf0, 0xb3, 0xef, 0xe3, 0x37, 0xcb, 0x1f, 0x6f, + 0xdf, 0xfb, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc6, 0xf6, 0x17, 0x7b, 0x1a, 0x3e, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -294,6 +294,7 @@ type ClientCommandsClient interface { BlockListSetTextMark(ctx context.Context, in *pb.RpcBlockListSetTextMarkRequest, opts ...grpc.CallOption) (*pb.RpcBlockListSetTextMarkResponse, error) BlockSetTextStyle(ctx context.Context, in *pb.RpcBlockSetTextStyleRequest, opts ...grpc.CallOption) (*pb.RpcBlockSetTextStyleResponse, error) BlockSetTextChecked(ctx context.Context, in *pb.RpcBlockSetTextCheckedRequest, opts ...grpc.CallOption) (*pb.RpcBlockSetTextCheckedResponse, error) + BlockSetTextIcon(ctx context.Context, in *pb.RpcBlockSetTextIconRequest, opts ...grpc.CallOption) (*pb.RpcBlockSetTextIconResponse, error) BlockSplit(ctx context.Context, in *pb.RpcBlockSplitRequest, opts ...grpc.CallOption) (*pb.RpcBlockSplitResponse, error) BlockMerge(ctx context.Context, in *pb.RpcBlockMergeRequest, opts ...grpc.CallOption) (*pb.RpcBlockMergeResponse, error) BlockCopy(ctx context.Context, in *pb.RpcBlockCopyRequest, opts ...grpc.CallOption) (*pb.RpcBlockCopyResponse, error) @@ -965,6 +966,15 @@ func (c *clientCommandsClient) BlockSetTextChecked(ctx context.Context, in *pb.R return out, nil } +func (c *clientCommandsClient) BlockSetTextIcon(ctx context.Context, in *pb.RpcBlockSetTextIconRequest, opts ...grpc.CallOption) (*pb.RpcBlockSetTextIconResponse, error) { + out := new(pb.RpcBlockSetTextIconResponse) + err := c.cc.Invoke(ctx, "/anytype.ClientCommands/BlockSetTextIcon", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *clientCommandsClient) BlockSplit(ctx context.Context, in *pb.RpcBlockSplitRequest, opts ...grpc.CallOption) (*pb.RpcBlockSplitResponse, error) { out := new(pb.RpcBlockSplitResponse) err := c.cc.Invoke(ctx, "/anytype.ClientCommands/BlockSplit", in, out, opts...) @@ -1827,6 +1837,7 @@ type ClientCommandsServer interface { BlockListSetTextMark(*pb.RpcBlockListSetTextMarkRequest) *pb.RpcBlockListSetTextMarkResponse BlockSetTextStyle(*pb.RpcBlockSetTextStyleRequest) *pb.RpcBlockSetTextStyleResponse BlockSetTextChecked(*pb.RpcBlockSetTextCheckedRequest) *pb.RpcBlockSetTextCheckedResponse + BlockSetTextIcon(*pb.RpcBlockSetTextIconRequest) *pb.RpcBlockSetTextIconResponse BlockSplit(*pb.RpcBlockSplitRequest) *pb.RpcBlockSplitResponse BlockMerge(*pb.RpcBlockMergeRequest) *pb.RpcBlockMergeResponse BlockCopy(*pb.RpcBlockCopyRequest) *pb.RpcBlockCopyResponse @@ -2122,6 +2133,9 @@ func (*UnimplementedClientCommandsServer) BlockSetTextStyle(req *pb.RpcBlockSetT func (*UnimplementedClientCommandsServer) BlockSetTextChecked(req *pb.RpcBlockSetTextCheckedRequest) *pb.RpcBlockSetTextCheckedResponse { return nil } +func (*UnimplementedClientCommandsServer) BlockSetTextIcon(req *pb.RpcBlockSetTextIconRequest) *pb.RpcBlockSetTextIconResponse { + return nil +} func (*UnimplementedClientCommandsServer) BlockSplit(req *pb.RpcBlockSplitRequest) *pb.RpcBlockSplitResponse { return nil } @@ -3501,6 +3515,24 @@ func _ClientCommands_BlockSetTextChecked_Handler(srv interface{}, ctx context.Co return interceptor(ctx, in, info, handler) } +func _ClientCommands_BlockSetTextIcon_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(pb.RpcBlockSetTextIconRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ClientCommandsServer).BlockSetTextIcon(in), nil + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/anytype.ClientCommands/BlockSetTextIcon", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ClientCommandsServer).BlockSetTextIcon(req.(*pb.RpcBlockSetTextIconRequest)), nil + } + return interceptor(ctx, in, info, handler) +} + func _ClientCommands_BlockSplit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(pb.RpcBlockSplitRequest) if err := dec(in); err != nil { @@ -5305,6 +5337,10 @@ var _ClientCommands_serviceDesc = grpc.ServiceDesc{ MethodName: "BlockSetTextChecked", Handler: _ClientCommands_BlockSetTextChecked_Handler, }, + { + MethodName: "BlockSetTextIcon", + Handler: _ClientCommands_BlockSetTextIcon_Handler, + }, { MethodName: "BlockSplit", Handler: _ClientCommands_BlockSplit_Handler, diff --git a/pkg/lib/bundle/relation.gen.go b/pkg/lib/bundle/relation.gen.go index 91e5b142e..e576b1085 100644 --- a/pkg/lib/bundle/relation.gen.go +++ b/pkg/lib/bundle/relation.gen.go @@ -6,7 +6,7 @@ package bundle import "github.com/anytypeio/go-anytype-middleware/pkg/lib/pb/model" -const RelationChecksum = "1d97526495f8cb6ac369ef725a5c9e39058fc0c65c5cae464a96c9d206e81d60" +const RelationChecksum = "2e7a4c8295b7aea78b9a072ae48d59dc44fac5ad86df13244ca8da527ad5fcd3" type RelationKey string @@ -1224,7 +1224,7 @@ var ( }, RelationKeyLinks: { - DataSource: model.Relation_local, + DataSource: model.Relation_derived, Description: "", Format: model.RelationFormat_object, Hidden: true, diff --git a/pkg/lib/cafe/client.go b/pkg/lib/cafe/client.go index 58612e4ff..41ea680b3 100644 --- a/pkg/lib/cafe/client.go +++ b/pkg/lib/cafe/client.go @@ -69,7 +69,7 @@ func (c *Online) Init(a *app.App) (err error) { } else { opts = append(opts, grpc.WithTransportCredentials(credentials.NewTLS(nil))) } - conn, err := grpc.Dial(cfg.CafeAPIHost, opts...) + conn, err := grpc.Dial(cfg.CafeNodeGrpcAddr(), opts...) if err != nil { return err } diff --git a/pkg/lib/database/database.go b/pkg/lib/database/database.go index d0480dbca..343a33152 100644 --- a/pkg/lib/database/database.go +++ b/pkg/lib/database/database.go @@ -115,7 +115,6 @@ func injectDefaultFilters(filters []*model.BlockContentDataviewFilter) []*model. if filter.RelationKey == bundle.RelationKeyIsDeleted.String() { hasDeletedFilter = true - break } } diff --git a/pkg/lib/localstore/ftsearch/ftsearch.go b/pkg/lib/localstore/ftsearch/ftsearch.go index 2c4bf6155..acc9b3a1e 100644 --- a/pkg/lib/localstore/ftsearch/ftsearch.go +++ b/pkg/lib/localstore/ftsearch/ftsearch.go @@ -1,26 +1,34 @@ package ftsearch import ( - "path/filepath" - "strings" - - "github.com/blevesearch/bleve" - "github.com/blevesearch/bleve/search/query" - "github.com/anytypeio/go-anytype-middleware/app" "github.com/anytypeio/go-anytype-middleware/core/wallet" "github.com/anytypeio/go-anytype-middleware/metrics" + "github.com/blevesearch/bleve/v2/analysis/analyzer/custom" + "github.com/blevesearch/bleve/v2/analysis/lang/en" + "github.com/blevesearch/bleve/v2/analysis/token/lowercase" + "github.com/blevesearch/bleve/v2/analysis/tokenizer/single" + "os" + "path/filepath" + "strings" + + "github.com/blevesearch/bleve/v2" + "github.com/blevesearch/bleve/v2/analysis/analyzer/standard" + "github.com/blevesearch/bleve/v2/mapping" + "github.com/blevesearch/bleve/v2/search/query" ) const ( CName = "fts" ftsDir = "fts" + ftsVer = "1" ) type SearchDoc struct { - Id string - Title string - Text string + Id string + Title string + TitleNoTerms string + Text string } func New() FTSearch { @@ -37,13 +45,17 @@ type FTSearch interface { } type ftSearch struct { - path string - index bleve.Index + rootPath string + ftsPath string + index bleve.Index + enStopWordsMap map[string]bool } func (f *ftSearch) Init(a *app.App) (err error) { repoPath := a.MustComponent(wallet.CName).(wallet.Wallet).RepoPath() - f.path = filepath.Join(repoPath, ftsDir) + f.rootPath = filepath.Join(repoPath, ftsDir) + f.ftsPath = filepath.Join(repoPath, ftsDir, ftsVer) + f.enStopWordsMap, _ = en.TokenMapConstructor(nil, nil) return nil } @@ -52,59 +64,131 @@ func (f *ftSearch) Name() (name string) { } func (f *ftSearch) Run() (err error) { - f.index, err = bleve.Open(f.path) + f.index, err = bleve.Open(f.ftsPath) if err == bleve.ErrorIndexPathDoesNotExist || err == bleve.ErrorIndexMetaMissing { - mapping := bleve.NewIndexMapping() - if f.index, err = bleve.New(f.path, mapping); err != nil { + if f.index, err = bleve.New(f.ftsPath, f.makeMapping()); err != nil { return } + // cleanup old indexes + if strings.HasSuffix(f.rootPath, ftsDir) { + de, e := os.ReadDir(f.rootPath) + if e == nil { + // cleanup old index versions + for _, d := range de { + if d.Name() != ftsVer { + os.RemoveAll(filepath.Join(f.rootPath, d.Name())) + } + } + } + } } else if err != nil { return } return nil } +func (f *ftSearch) makeMapping() mapping.IndexMapping { + mapping := bleve.NewIndexMapping() + + keywordMapping := bleve.NewTextFieldMapping() + keywordMapping.Analyzer = "noTerms" + + mapping.DefaultMapping.AddFieldMappingsAt("TitleNoTerms", keywordMapping) + mapping.DefaultMapping.AddFieldMappingsAt("Id", keywordMapping) + + standardMapping := bleve.NewTextFieldMapping() + standardMapping.Analyzer = standard.Name + mapping.DefaultMapping.AddFieldMappingsAt("Title", standardMapping) + mapping.DefaultMapping.AddFieldMappingsAt("Text", standardMapping) + + mapping.AddCustomAnalyzer("noTerms", + map[string]interface{}{ + "type": custom.Name, + "tokenizer": single.Name, + "token_filters": []string{ + lowercase.Name, + }, + }) + return mapping +} + func (f *ftSearch) Index(d SearchDoc) (err error) { metrics.ObjectFTUpdatedCounter.Inc() + d.TitleNoTerms = d.Title return f.index.Index(d.Id, d) } func (f *ftSearch) Search(text string) (results []string, err error) { text = strings.ToLower(strings.TrimSpace(text)) - var queries = make([]query.Query, 0, 4) + terms := append([]string{text}, strings.Split(text, " ")...) + termsFiltered := terms[:0] - // id match - if len(text) > 10 { - im := bleve.NewMatchQuery(text) - im.SetField("Id") - im.SetBoost(30) - queries = append(queries, im) + for _, t := range terms { + t = strings.TrimSpace(t) + if t != "" && !f.enStopWordsMap[t] { + termsFiltered = append(termsFiltered, t) + } } + terms = termsFiltered + var exactQueries = make([]query.Query, 0, 4) + // id match + if len(text) > 5 { + im := bleve.NewDocIDQuery([]string{text}) + im.SetBoost(30) + exactQueries = append(exactQueries, im) + } // title prefix tp := bleve.NewPrefixQuery(text) - tp.SetField("Title") + tp.SetField("TitleNoTerms") tp.SetBoost(40) - queries = append(queries, tp) + exactQueries = append(exactQueries, tp) + // title substr tss := bleve.NewWildcardQuery("*" + strings.ReplaceAll(text, "*", `\*`) + "*") - tss.SetField("Title") + tss.SetField("TitleNoTerms") tss.SetBoost(8) - queries = append(queries, tss) - // title match - tm := bleve.NewMatchQuery(text) - tm.SetFuzziness(2) - tm.SetField("Title") - tm.SetBoost(7) - queries = append(queries, tm) - // text match - txtm := bleve.NewMatchQuery(text) - txtm.SetFuzziness(1) - txtm.SetField("Text") - queries = append(queries, txtm) + exactQueries = append(exactQueries, tss) - sr := bleve.NewSearchRequest(bleve.NewDisjunctionQuery(queries...)) + var notExactQueriesGroup = make([]query.Query, 0, 5) + for i, t := range terms { + // fulltext queries + var notExactQueries = make([]query.Query, 0, 3) + tp = bleve.NewPrefixQuery(t) + tp.SetField("Title") + if i == 0 { + tp.SetBoost(8) + } + notExactQueries = append(notExactQueries, tp) + + // title match + tm := bleve.NewMatchQuery(t) + tm.SetFuzziness(1) + tm.SetField("Title") + if i == 0 { + tm.SetBoost(7) + } + notExactQueries = append(notExactQueries, tm) + + // text match + txtm := bleve.NewMatchQuery(t) + txtm.SetFuzziness(0) + txtm.SetField("Text") + if i == 0 { + txtm.SetBoost(2) + } + notExactQueries = append(notExactQueries, txtm) + notExactQueriesGroup = append(notExactQueriesGroup, bleve.NewDisjunctionQuery(notExactQueries...)) + } + + //exactQueries = []query.Query{bleve.NewDisjunctionQuery(notExactQueriesGroup...)} + exactQueries = append(exactQueries, bleve.NewConjunctionQuery(notExactQueriesGroup...)) + + sr := bleve.NewSearchRequest(bleve.NewDisjunctionQuery(exactQueries...)) + sr.Size = 100 + sr.Explain = true res, err := f.index.Search(sr) + //fmt.Println(res.String()) if err != nil { return } diff --git a/pkg/lib/localstore/ftsearch/ftsearch_test.go b/pkg/lib/localstore/ftsearch/ftsearch_test.go index f73865cad..d2fbccf3f 100644 --- a/pkg/lib/localstore/ftsearch/ftsearch_test.go +++ b/pkg/lib/localstore/ftsearch/ftsearch_test.go @@ -52,93 +52,3 @@ func TestNewFTSearch(t *testing.T) { assert.Len(t, res, 1) ft.Close() } - -func TestFtSearch_Search(t *testing.T) { - tmpDir, _ := ioutil.TempDir("", "") - fixture := newFixture(tmpDir, t) - ft := fixture.ft - defer ft.Close() - var docs = [...]SearchDoc{ - { - Id: "1", - Title: "First one", - Text: "one two two", - }, - { - Id: "2", - Title: "Second two", - Text: "one two three", - }, - { - Id: "3", - Title: "Third three", - Text: "some text with 3", - }, - { - Id: "4", - Title: "Fours four", - Text: "some text with four and some text five", - }, - { - Id: "5", - Title: "Fives five", - Text: "some text with five and one and two ans rs", - }, - { - Id: "6", - Title: "Rs six some", - Text: "some text with six", - }, - { - Id: "somelongidentifier", - }, - { - Id: "eczq5t", - Title: "FERRARI styling CENter with somethinglong ", - }, - } - for _, d := range docs { - require.NoError(t, ft.Index(d)) - } - - searches := [...]struct { - Query string - Result []string - }{ - { - "one", - []string{"1", "2", "5"}, - }, - { - "rs", - []string{"6", "1", "4", "5"}, - }, - { - "two", - []string{"2", "1", "5"}, - }, - { - "six", - []string{"6"}, - }, - { - "some tex", - []string{"6", "2", "4", "3", "5"}, - }, - { - "somelongidentifier", - []string{"somelongidentifier"}, - }, - { - "FeRRa", - []string{"eczq5t"}, - }, - } - - for _, st := range searches { - ids, err := ft.Search(st.Query) - require.NoError(t, err) - assert.Equal(t, st.Result, ids, st.Query) - t.Logf("%s:\t%v\t%v", st.Query, ids, st.Result) - } -} diff --git a/pkg/lib/pb/model/models.pb.go b/pkg/lib/pb/model/models.pb.go index bd9ed35df..f7cf45258 100644 --- a/pkg/lib/pb/model/models.pb.go +++ b/pkg/lib/pb/model/models.pb.go @@ -354,6 +354,7 @@ const ( BlockContentText_Numbered BlockContentTextStyle = 10 BlockContentText_Toggle BlockContentTextStyle = 11 BlockContentText_Description BlockContentTextStyle = 12 + BlockContentText_Callout BlockContentTextStyle = 13 ) var BlockContentTextStyle_name = map[int32]string{ @@ -370,6 +371,7 @@ var BlockContentTextStyle_name = map[int32]string{ 10: "Numbered", 11: "Toggle", 12: "Description", + 13: "Callout", } var BlockContentTextStyle_value = map[string]int32{ @@ -386,6 +388,7 @@ var BlockContentTextStyle_value = map[string]int32{ "Numbered": 10, "Toggle": 11, "Description": 12, + "Callout": 13, } func (x BlockContentTextStyle) String() string { @@ -1827,11 +1830,13 @@ func (m *BlockContentFeaturedRelations) XXX_DiscardUnknown() { var xxx_messageInfo_BlockContentFeaturedRelations proto.InternalMessageInfo type BlockContentText struct { - Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"` - Style BlockContentTextStyle `protobuf:"varint,2,opt,name=style,proto3,enum=anytype.model.BlockContentTextStyle" json:"style,omitempty"` - Marks *BlockContentTextMarks `protobuf:"bytes,3,opt,name=marks,proto3" json:"marks,omitempty"` - Checked bool `protobuf:"varint,4,opt,name=checked,proto3" json:"checked,omitempty"` - Color string `protobuf:"bytes,5,opt,name=color,proto3" json:"color,omitempty"` + Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"` + Style BlockContentTextStyle `protobuf:"varint,2,opt,name=style,proto3,enum=anytype.model.BlockContentTextStyle" json:"style,omitempty"` + Marks *BlockContentTextMarks `protobuf:"bytes,3,opt,name=marks,proto3" json:"marks,omitempty"` + Checked bool `protobuf:"varint,4,opt,name=checked,proto3" json:"checked,omitempty"` + Color string `protobuf:"bytes,5,opt,name=color,proto3" json:"color,omitempty"` + IconEmoji string `protobuf:"bytes,6,opt,name=iconEmoji,proto3" json:"iconEmoji,omitempty"` + IconImage string `protobuf:"bytes,7,opt,name=iconImage,proto3" json:"iconImage,omitempty"` } func (m *BlockContentText) Reset() { *m = BlockContentText{} } @@ -1902,6 +1907,20 @@ func (m *BlockContentText) GetColor() string { return "" } +func (m *BlockContentText) GetIconEmoji() string { + if m != nil { + return m.IconEmoji + } + return "" +} + +func (m *BlockContentText) GetIconImage() string { + if m != nil { + return m.IconImage + } + return "" +} + type BlockContentTextMarks struct { Marks []*BlockContentTextMark `protobuf:"bytes,1,rep,name=marks,proto3" json:"marks,omitempty"` } @@ -3907,237 +3926,238 @@ func init() { } var fileDescriptor_98a910b73321e591 = []byte{ - // 3665 bytes of a gzipped FileDescriptorProto + // 3691 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x3a, 0x4d, 0x73, 0x23, 0xc7, - 0x75, 0x1c, 0x60, 0xf0, 0xf5, 0xc8, 0xc5, 0x36, 0x7b, 0x29, 0x0a, 0x86, 0x64, 0x66, 0x33, 0x51, - 0xe4, 0xf5, 0x5a, 0xc6, 0x4a, 0x5c, 0xc9, 0x8e, 0x94, 0xe8, 0x83, 0x24, 0x76, 0x4d, 0xd6, 0xae, + 0x75, 0x1c, 0x60, 0xf0, 0xf5, 0x48, 0x62, 0x9b, 0xbd, 0x14, 0x05, 0x43, 0xf2, 0x7a, 0x33, 0x51, + 0xe4, 0xcd, 0x5a, 0xc6, 0x4a, 0x5c, 0xc9, 0x8e, 0x94, 0xe8, 0x83, 0x24, 0x76, 0x4d, 0xd6, 0xae, 0xc4, 0xd5, 0x80, 0x4b, 0x27, 0xae, 0x54, 0x4a, 0x8d, 0x99, 0x26, 0x30, 0xe2, 0x60, 0x1a, 0xee, - 0x69, 0x70, 0x09, 0x57, 0x0e, 0x76, 0x1c, 0xc7, 0x39, 0x3a, 0x49, 0xa5, 0x92, 0xa3, 0x73, 0xc9, - 0xc9, 0x55, 0x39, 0xa4, 0x52, 0x95, 0x5f, 0x90, 0x4a, 0xaa, 0x72, 0xd0, 0xd1, 0xbe, 0xa5, 0xa4, - 0xca, 0x3d, 0x95, 0x63, 0x2a, 0x87, 0xd4, 0xeb, 0xee, 0x19, 0x0c, 0x40, 0x2e, 0x17, 0xab, 0xf8, - 0x36, 0xef, 0xcd, 0x7b, 0xaf, 0x5f, 0xf7, 0xbc, 0xef, 0x1e, 0x78, 0x65, 0x7c, 0x3a, 0xb8, 0x13, - 0x47, 0xfd, 0x3b, 0xe3, 0xfe, 0x9d, 0x91, 0x08, 0x79, 0x7c, 0x67, 0x2c, 0x85, 0x12, 0xa9, 0x01, - 0xd2, 0x8e, 0x86, 0xe8, 0x35, 0x96, 0x4c, 0xd5, 0x74, 0xcc, 0x3b, 0x1a, 0xdb, 0x7e, 0x79, 0x20, - 0xc4, 0x20, 0xe6, 0x86, 0xb4, 0x3f, 0x39, 0xb9, 0x93, 0x2a, 0x39, 0x09, 0x94, 0x21, 0xf6, 0xfe, - 0xbd, 0x04, 0x9b, 0xbd, 0x11, 0x93, 0x6a, 0x37, 0x16, 0xc1, 0x69, 0x2f, 0x61, 0xe3, 0x74, 0x28, - 0xd4, 0x2e, 0x4b, 0x39, 0x7d, 0x0d, 0xaa, 0x7d, 0x44, 0xa6, 0x2d, 0xe7, 0x66, 0xf9, 0xd6, 0xea, - 0xf6, 0x46, 0x67, 0x4e, 0x70, 0x47, 0x73, 0xf8, 0x96, 0x86, 0xbe, 0x01, 0xb5, 0x90, 0x2b, 0x16, - 0xc5, 0x69, 0xab, 0x74, 0xd3, 0xb9, 0xb5, 0xba, 0xfd, 0x62, 0xc7, 0x2c, 0xdc, 0xc9, 0x16, 0xee, - 0xf4, 0xf4, 0xc2, 0x7e, 0x46, 0x47, 0xef, 0x42, 0xfd, 0x24, 0x8a, 0xf9, 0x03, 0x3e, 0x4d, 0x5b, - 0xe5, 0xab, 0x79, 0x72, 0x42, 0xfa, 0x3e, 0x34, 0xf9, 0xb9, 0x92, 0xcc, 0xe7, 0x31, 0x53, 0x91, - 0x48, 0xd2, 0x96, 0xab, 0xb5, 0x7b, 0x71, 0x41, 0xbb, 0xec, 0xbd, 0xbf, 0x40, 0x4e, 0x6f, 0xc2, - 0xaa, 0xe8, 0x7f, 0xca, 0x03, 0x75, 0x34, 0x1d, 0xf3, 0xb4, 0x55, 0xb9, 0x59, 0xbe, 0xd5, 0xf0, - 0x8b, 0x28, 0xfa, 0x36, 0xac, 0x06, 0x22, 0x8e, 0x79, 0x60, 0xe4, 0x57, 0xaf, 0x56, 0xad, 0x48, - 0xeb, 0xfd, 0xcf, 0xd7, 0xa1, 0xa2, 0xcf, 0x85, 0x36, 0xa1, 0x14, 0x85, 0x2d, 0xe7, 0xa6, 0x73, - 0xab, 0xe1, 0x97, 0xa2, 0x90, 0xde, 0x81, 0xea, 0x49, 0xc4, 0xe3, 0xf0, 0x99, 0xc7, 0x63, 0xc9, - 0xe8, 0x3d, 0x58, 0x93, 0x3c, 0x55, 0x32, 0xb2, 0x6a, 0x98, 0x13, 0xfa, 0xcd, 0xcb, 0x3e, 0x42, - 0xc7, 0x2f, 0x10, 0xfa, 0x73, 0x6c, 0xb8, 0xdd, 0x60, 0x18, 0xc5, 0xa1, 0xe4, 0xc9, 0x41, 0x68, - 0x0e, 0xab, 0xe1, 0x17, 0x51, 0xf4, 0x16, 0x5c, 0xef, 0xb3, 0xe0, 0x74, 0x20, 0xc5, 0x24, 0x09, - 0xf7, 0x44, 0x2c, 0x64, 0xab, 0xa2, 0xd5, 0x5e, 0x44, 0xd3, 0xd7, 0xa1, 0xc2, 0xe2, 0x68, 0x90, - 0xe8, 0x23, 0x69, 0x6e, 0xb7, 0x2f, 0xd5, 0x65, 0x07, 0x29, 0x7c, 0x43, 0x48, 0x0f, 0x00, 0x52, - 0xb4, 0x2e, 0x6d, 0x24, 0xad, 0x55, 0xbd, 0x85, 0xaf, 0x5d, 0xca, 0xb6, 0x27, 0x12, 0xc5, 0x13, - 0xd5, 0xe9, 0xe5, 0xe4, 0xfb, 0x2b, 0x7e, 0x81, 0x99, 0x7e, 0x1b, 0x5c, 0xc5, 0xcf, 0x55, 0xab, - 0x79, 0xc5, 0x39, 0x64, 0x42, 0x8e, 0xf8, 0xb9, 0xda, 0x5f, 0xf1, 0x35, 0x03, 0x32, 0xa2, 0xf5, - 0xb4, 0xae, 0x2f, 0xc1, 0x78, 0x3f, 0x8a, 0x39, 0x32, 0x22, 0x03, 0x7d, 0x17, 0xaa, 0x31, 0x9b, - 0x8a, 0x89, 0x6a, 0x11, 0xcd, 0xfa, 0x5b, 0x57, 0xb2, 0x3e, 0xd4, 0xa4, 0xfb, 0x2b, 0xbe, 0x65, - 0xa2, 0x6f, 0x42, 0x39, 0x8c, 0xce, 0x5a, 0xeb, 0x9a, 0xf7, 0xe6, 0x95, 0xbc, 0xdd, 0xe8, 0x6c, - 0x7f, 0xc5, 0x47, 0x72, 0xba, 0x07, 0xf5, 0xbe, 0x10, 0xa7, 0x23, 0x26, 0x4f, 0x5b, 0x54, 0xb3, - 0xfe, 0xf6, 0x95, 0xac, 0xbb, 0x96, 0x78, 0x7f, 0xc5, 0xcf, 0x19, 0x71, 0xcb, 0x51, 0x20, 0x92, - 0xd6, 0x8d, 0x25, 0xb6, 0x7c, 0x10, 0x88, 0x04, 0xb7, 0x8c, 0x0c, 0xc8, 0x18, 0x47, 0xc9, 0x69, - 0x6b, 0x63, 0x09, 0xc6, 0x87, 0x51, 0x82, 0xab, 0x6a, 0x06, 0x54, 0x3b, 0x64, 0x8a, 0x9d, 0x45, - 0xfc, 0x49, 0xeb, 0x85, 0x25, 0xd4, 0xee, 0x5a, 0x62, 0x54, 0x3b, 0x63, 0x44, 0x21, 0xd2, 0xfa, - 0x69, 0x6b, 0x73, 0x09, 0x21, 0x99, 0x53, 0xa3, 0x90, 0x8c, 0x91, 0xfe, 0x11, 0xac, 0x9f, 0x70, - 0xa6, 0x26, 0x92, 0x87, 0xb3, 0x18, 0xf1, 0xa2, 0x96, 0xd6, 0xb9, 0xfa, 0xdb, 0x2f, 0x72, 0xed, + 0x69, 0x70, 0x09, 0x57, 0x0e, 0x76, 0x1c, 0xc7, 0x39, 0x3a, 0x49, 0xa5, 0x92, 0xa3, 0x93, 0x43, + 0x4e, 0xbe, 0xa5, 0x52, 0x95, 0x54, 0xe5, 0x96, 0xaa, 0x54, 0x52, 0x95, 0x83, 0x8e, 0xce, 0x2d, + 0x25, 0x55, 0xfe, 0x40, 0xce, 0x39, 0xa4, 0x5e, 0x77, 0xcf, 0x60, 0x00, 0x72, 0xb9, 0x58, 0xc5, + 0x37, 0xbc, 0x37, 0xef, 0xbd, 0x7e, 0xfd, 0xfa, 0x7d, 0xf5, 0x6b, 0xc0, 0x2b, 0xe3, 0xd3, 0xc1, + 0x9d, 0x38, 0xea, 0xdf, 0x19, 0xf7, 0xef, 0x8c, 0x44, 0xc8, 0xe3, 0x3b, 0x63, 0x29, 0x94, 0x48, + 0x0d, 0x90, 0x76, 0x34, 0x44, 0xd7, 0x59, 0x32, 0x55, 0xd3, 0x31, 0xef, 0x68, 0x6c, 0xfb, 0xe5, + 0x81, 0x10, 0x83, 0x98, 0x1b, 0xd2, 0xfe, 0xe4, 0xe4, 0x4e, 0xaa, 0xe4, 0x24, 0x50, 0x86, 0xd8, + 0xfb, 0x8f, 0x12, 0x6c, 0xf5, 0x46, 0x4c, 0xaa, 0xdd, 0x58, 0x04, 0xa7, 0xbd, 0x84, 0x8d, 0xd3, + 0xa1, 0x50, 0xbb, 0x2c, 0xe5, 0xf4, 0x35, 0xa8, 0xf6, 0x11, 0x99, 0xb6, 0x9c, 0x9b, 0xe5, 0x5b, + 0xab, 0xdb, 0x9b, 0x9d, 0x39, 0xc1, 0x1d, 0xcd, 0xe1, 0x5b, 0x1a, 0xfa, 0x06, 0xd4, 0x42, 0xae, + 0x58, 0x14, 0xa7, 0xad, 0xd2, 0x4d, 0xe7, 0xd6, 0xea, 0xf6, 0x8b, 0x1d, 0xb3, 0x70, 0x27, 0x5b, + 0xb8, 0xd3, 0xd3, 0x0b, 0xfb, 0x19, 0x1d, 0xbd, 0x0b, 0xf5, 0x93, 0x28, 0xe6, 0x0f, 0xf8, 0x34, + 0x6d, 0x95, 0xaf, 0xe6, 0xc9, 0x09, 0xe9, 0xfb, 0xd0, 0xe4, 0xe7, 0x4a, 0x32, 0x9f, 0xc7, 0x4c, + 0x45, 0x22, 0x49, 0x5b, 0xae, 0xd6, 0xee, 0xc5, 0x05, 0xed, 0xb2, 0xef, 0xfe, 0x02, 0x39, 0xbd, + 0x09, 0xab, 0xa2, 0xff, 0x29, 0x0f, 0xd4, 0xd1, 0x74, 0xcc, 0xd3, 0x56, 0xe5, 0x66, 0xf9, 0x56, + 0xc3, 0x2f, 0xa2, 0xe8, 0xdb, 0xb0, 0x1a, 0x88, 0x38, 0xe6, 0x81, 0x91, 0x5f, 0xbd, 0x5a, 0xb5, + 0x22, 0xad, 0xf7, 0x2f, 0xb7, 0xa1, 0xa2, 0xed, 0x42, 0x9b, 0x50, 0x8a, 0xc2, 0x96, 0x73, 0xd3, + 0xb9, 0xd5, 0xf0, 0x4b, 0x51, 0x48, 0xef, 0x40, 0xf5, 0x24, 0xe2, 0x71, 0xf8, 0x4c, 0xf3, 0x58, + 0x32, 0x7a, 0x0f, 0xd6, 0x24, 0x4f, 0x95, 0x8c, 0xac, 0x1a, 0xc6, 0x42, 0xbf, 0x76, 0xd9, 0x21, + 0x74, 0xfc, 0x02, 0xa1, 0x3f, 0xc7, 0x86, 0xdb, 0x0d, 0x86, 0x51, 0x1c, 0x4a, 0x9e, 0x1c, 0x84, + 0xc6, 0x58, 0x0d, 0xbf, 0x88, 0xa2, 0xb7, 0xe0, 0x5a, 0x9f, 0x05, 0xa7, 0x03, 0x29, 0x26, 0x49, + 0xb8, 0x27, 0x62, 0x21, 0x5b, 0x15, 0xad, 0xf6, 0x22, 0x9a, 0xbe, 0x0e, 0x15, 0x16, 0x47, 0x83, + 0x44, 0x9b, 0xa4, 0xb9, 0xdd, 0xbe, 0x54, 0x97, 0x1d, 0xa4, 0xf0, 0x0d, 0x21, 0x3d, 0x00, 0x48, + 0xd1, 0xbb, 0xb4, 0x93, 0xb4, 0x56, 0xf5, 0x16, 0xbe, 0x7e, 0x29, 0xdb, 0x9e, 0x48, 0x14, 0x4f, + 0x54, 0xa7, 0x97, 0x93, 0xef, 0xaf, 0xf8, 0x05, 0x66, 0xfa, 0x6d, 0x70, 0x15, 0x3f, 0x57, 0xad, + 0xe6, 0x15, 0x76, 0xc8, 0x84, 0x1c, 0xf1, 0x73, 0xb5, 0xbf, 0xe2, 0x6b, 0x06, 0x64, 0x44, 0xef, + 0x69, 0x5d, 0x5b, 0x82, 0xf1, 0x7e, 0x14, 0x73, 0x64, 0x44, 0x06, 0xfa, 0x2e, 0x54, 0x63, 0x36, + 0x15, 0x13, 0xd5, 0x22, 0x9a, 0xf5, 0xd7, 0xaf, 0x64, 0x7d, 0xa8, 0x49, 0xf7, 0x57, 0x7c, 0xcb, + 0x44, 0xdf, 0x84, 0x72, 0x18, 0x9d, 0xb5, 0x36, 0x34, 0xef, 0xcd, 0x2b, 0x79, 0xbb, 0xd1, 0xd9, + 0xfe, 0x8a, 0x8f, 0xe4, 0x74, 0x0f, 0xea, 0x7d, 0x21, 0x4e, 0x47, 0x4c, 0x9e, 0xb6, 0xa8, 0x66, + 0xfd, 0x8d, 0x2b, 0x59, 0x77, 0x2d, 0xf1, 0xfe, 0x8a, 0x9f, 0x33, 0xe2, 0x96, 0xa3, 0x40, 0x24, + 0xad, 0xeb, 0x4b, 0x6c, 0xf9, 0x20, 0x10, 0x09, 0x6e, 0x19, 0x19, 0x90, 0x31, 0x8e, 0x92, 0xd3, + 0xd6, 0xe6, 0x12, 0x8c, 0x0f, 0xa3, 0x04, 0x57, 0xd5, 0x0c, 0xa8, 0x76, 0xc8, 0x14, 0x3b, 0x8b, + 0xf8, 0x93, 0xd6, 0x0b, 0x4b, 0xa8, 0xdd, 0xb5, 0xc4, 0xa8, 0x76, 0xc6, 0x88, 0x42, 0xa4, 0x8d, + 0xd3, 0xd6, 0xd6, 0x12, 0x42, 0xb2, 0xa0, 0x46, 0x21, 0x19, 0x23, 0xfd, 0x03, 0xd8, 0x38, 0xe1, + 0x4c, 0x4d, 0x24, 0x0f, 0x67, 0x39, 0xe2, 0x45, 0x2d, 0xad, 0x73, 0xf5, 0xd9, 0x2f, 0x72, 0xed, 0xaf, 0xf8, 0x17, 0x45, 0xd1, 0x77, 0xa0, 0x12, 0x33, 0xc5, 0xcf, 0x5b, 0x2d, 0x2d, 0xd3, 0x7b, - 0x86, 0x51, 0x28, 0x7e, 0xbe, 0xbf, 0xe2, 0x1b, 0x16, 0xfa, 0xfb, 0x70, 0x5d, 0xb1, 0x7e, 0xcc, - 0x0f, 0x4f, 0x2c, 0x41, 0xda, 0xfa, 0x8a, 0x96, 0xf2, 0xda, 0xd5, 0xe6, 0x3c, 0xcf, 0xb3, 0xbf, - 0xe2, 0x2f, 0x8a, 0x69, 0xff, 0x00, 0xd6, 0x8a, 0x41, 0x80, 0x52, 0x70, 0x25, 0x67, 0x26, 0x00, - 0xd5, 0x7d, 0xfd, 0x8c, 0x38, 0x1e, 0x46, 0x4a, 0x07, 0xa0, 0xba, 0xaf, 0x9f, 0xe9, 0x26, 0x54, - 0x25, 0x1f, 0x89, 0x33, 0xae, 0xe3, 0x4b, 0xdd, 0xb7, 0x10, 0xd2, 0x86, 0x92, 0x0d, 0x5a, 0xae, - 0xa1, 0xc5, 0x67, 0xa4, 0x0d, 0xa5, 0x18, 0x1f, 0x26, 0x3a, 0x3e, 0xd4, 0x7d, 0x0b, 0xb5, 0x7f, - 0xb5, 0x05, 0x35, 0xab, 0x48, 0xfb, 0x8f, 0xa1, 0x6a, 0x1c, 0x81, 0xbe, 0x0f, 0x95, 0x54, 0x4d, - 0x63, 0xae, 0x55, 0x68, 0x6e, 0x7f, 0x7d, 0x09, 0xe7, 0xe9, 0xf4, 0x90, 0xc1, 0x37, 0x7c, 0xde, - 0x1b, 0x50, 0xd1, 0x30, 0xad, 0x41, 0xd9, 0x17, 0x4f, 0xc8, 0x0a, 0x05, 0xa8, 0xee, 0x89, 0x78, - 0x32, 0x4a, 0x88, 0x83, 0xc8, 0x6e, 0x74, 0x46, 0x4a, 0x88, 0xdc, 0xe7, 0x2c, 0xe4, 0x92, 0x94, - 0xdb, 0xbf, 0x72, 0xc0, 0x45, 0xb3, 0xa4, 0xaf, 0xc0, 0x35, 0xc5, 0xe4, 0x80, 0x9b, 0xb4, 0x76, - 0x90, 0x05, 0xe2, 0x79, 0x24, 0x7d, 0x37, 0x53, 0xb1, 0xa4, 0x55, 0xfc, 0xda, 0x33, 0xcd, 0x7d, - 0x4e, 0xc1, 0x42, 0x48, 0x2f, 0x2f, 0x15, 0xd2, 0xbd, 0xdf, 0xcd, 0x76, 0x54, 0x07, 0xf7, 0x11, - 0x1b, 0x70, 0xb2, 0x42, 0xd7, 0xa0, 0x9e, 0xb9, 0x02, 0x71, 0xe8, 0x35, 0x68, 0x74, 0x59, 0x3a, - 0xec, 0x0b, 0x26, 0x43, 0x52, 0xa2, 0xab, 0x50, 0xdb, 0x91, 0xc1, 0x30, 0x3a, 0xe3, 0xa4, 0xdc, - 0xfe, 0x44, 0x6f, 0x98, 0xfe, 0xde, 0xfc, 0xb1, 0xbe, 0xfa, 0xac, 0xb8, 0x32, 0x7f, 0xa6, 0x2f, - 0x15, 0x34, 0x78, 0x18, 0x25, 0xa8, 0x41, 0x1d, 0xdc, 0xae, 0x50, 0x29, 0x71, 0xda, 0xff, 0xe6, - 0x40, 0x3d, 0x0b, 0x27, 0x94, 0x40, 0x79, 0x22, 0x63, 0x7b, 0x6e, 0xf8, 0x48, 0x37, 0xa0, 0xa2, - 0x22, 0x65, 0x4f, 0xab, 0xe1, 0x1b, 0x00, 0xf3, 0x4b, 0xc8, 0xd3, 0x40, 0x46, 0x63, 0xed, 0xb6, - 0x65, 0xfd, 0xae, 0x88, 0xa2, 0x2f, 0x43, 0x23, 0x1a, 0xb1, 0x01, 0xdf, 0x67, 0xe9, 0x50, 0xdb, - 0x53, 0xc3, 0x9f, 0x21, 0x90, 0xff, 0x84, 0x9d, 0x61, 0xf0, 0xd1, 0xef, 0x4d, 0xe6, 0x29, 0xa2, - 0xe8, 0x5d, 0x70, 0x71, 0x83, 0x36, 0xe9, 0xfc, 0xc6, 0xc2, 0x86, 0xf1, 0xb3, 0x3c, 0x92, 0x1c, - 0x0f, 0xb0, 0x83, 0xe9, 0xdb, 0xd7, 0xc4, 0xed, 0x36, 0xb8, 0x18, 0xd8, 0xd0, 0x8e, 0x13, 0x36, - 0xe2, 0x76, 0x1f, 0xfa, 0xb9, 0x7d, 0x03, 0xd6, 0x2f, 0xf8, 0x7a, 0xfb, 0xbf, 0x2a, 0xe0, 0x62, - 0xda, 0x40, 0x0e, 0x9d, 0x67, 0x2c, 0x87, 0x4e, 0x21, 0xcf, 0x65, 0x28, 0x28, 0x65, 0xde, 0x50, - 0xde, 0x85, 0x0a, 0x9e, 0x69, 0x66, 0x27, 0x4b, 0xb0, 0x7f, 0x88, 0xe4, 0xbe, 0xe1, 0xa2, 0x2d, - 0xa8, 0x05, 0x43, 0x1e, 0x9c, 0xf2, 0xd0, 0xba, 0x63, 0x06, 0xe2, 0x27, 0x09, 0x0a, 0x09, 0xdb, - 0x00, 0xed, 0x7b, 0x50, 0xd1, 0xfc, 0x68, 0x2b, 0x66, 0x5d, 0x53, 0xc0, 0xbd, 0xba, 0xdc, 0xba, - 0x76, 0xd9, 0xf6, 0x2f, 0x4a, 0xe0, 0x22, 0x4c, 0x6f, 0x43, 0x45, 0xb2, 0x64, 0x60, 0x0e, 0xf1, - 0x62, 0x1d, 0xe8, 0xe3, 0x3b, 0xdf, 0x90, 0xd0, 0xf7, 0xed, 0xc7, 0x32, 0x07, 0xf5, 0x8d, 0xe5, - 0x56, 0x2c, 0x7c, 0x38, 0xdc, 0xd2, 0x98, 0x49, 0x36, 0xb2, 0x96, 0x64, 0x00, 0xef, 0xe7, 0x0e, - 0xb8, 0x48, 0x44, 0xd7, 0xe1, 0x5a, 0x4f, 0xc9, 0xe8, 0x94, 0xab, 0xa1, 0x14, 0x93, 0xc1, 0xd0, - 0xb8, 0xd0, 0x03, 0x3e, 0x35, 0x3e, 0xe3, 0x60, 0x38, 0x38, 0x50, 0x2c, 0x8e, 0x02, 0x52, 0x42, - 0xd3, 0xde, 0x15, 0x71, 0x48, 0xca, 0xf4, 0x3a, 0xac, 0x3e, 0x4e, 0x42, 0x2e, 0xd3, 0x40, 0x48, - 0x1e, 0x12, 0xd7, 0xda, 0xff, 0x29, 0xa9, 0xa0, 0xcf, 0xa1, 0x22, 0xba, 0xc2, 0x21, 0x55, 0x7a, - 0x03, 0xae, 0xef, 0xce, 0x97, 0x3d, 0xa4, 0x86, 0x8e, 0xf8, 0x21, 0x4f, 0xd0, 0x50, 0x48, 0x9d, - 0x36, 0xa0, 0x72, 0x6f, 0x24, 0x3e, 0x8d, 0x48, 0x03, 0x17, 0x3b, 0xd4, 0x85, 0x23, 0x01, 0xef, - 0x1f, 0x9c, 0xcc, 0xb7, 0xae, 0x41, 0xe3, 0x11, 0x93, 0x6c, 0x20, 0xd9, 0x18, 0xf5, 0x5b, 0x85, - 0x9a, 0x09, 0x50, 0x6f, 0x10, 0x67, 0x06, 0x6c, 0x1b, 0xff, 0x36, 0xc0, 0x5d, 0x52, 0x9e, 0x01, - 0x6f, 0x12, 0x17, 0xd7, 0xf8, 0x78, 0x22, 0x14, 0x27, 0x15, 0xd4, 0x74, 0x4f, 0x84, 0x9c, 0x54, - 0x11, 0x79, 0x84, 0x3e, 0x47, 0x6a, 0xb8, 0xe7, 0x3d, 0xb4, 0x81, 0xbe, 0x38, 0x27, 0x75, 0x54, - 0x03, 0x8f, 0x91, 0x87, 0xa4, 0x81, 0x6f, 0x3e, 0x9a, 0x8c, 0xfa, 0x1c, 0xb7, 0x09, 0xf8, 0xe6, - 0x48, 0x0c, 0x06, 0x31, 0x27, 0xab, 0x78, 0x06, 0xdd, 0x99, 0x5b, 0x92, 0xb5, 0xf6, 0x67, 0x65, - 0x70, 0xb1, 0xe0, 0x41, 0x93, 0x1f, 0xa2, 0xf3, 0x59, 0x93, 0xc7, 0xe7, 0xdc, 0x71, 0x4a, 0x33, - 0xc7, 0xa1, 0xef, 0xd8, 0x8f, 0x5b, 0x5e, 0x22, 0xf4, 0xa0, 0xe0, 0xe2, 0x77, 0xa5, 0xe0, 0x8e, - 0xa2, 0x11, 0xb7, 0x01, 0x40, 0x3f, 0x23, 0x2e, 0x8d, 0x7e, 0xc0, 0xb5, 0xf5, 0x96, 0x7d, 0xfd, - 0x8c, 0xc6, 0xce, 0xc2, 0x90, 0x87, 0x3b, 0x4a, 0x3b, 0x7c, 0xd9, 0xcf, 0x40, 0xe3, 0x84, 0x4c, - 0xf1, 0x56, 0x6d, 0x09, 0x27, 0xd4, 0xcb, 0xf7, 0x90, 0xdc, 0x37, 0x5c, 0x33, 0x1f, 0xae, 0x2f, - 0xcf, 0x5e, 0x88, 0x9c, 0x5d, 0x6b, 0x80, 0x75, 0x70, 0x3f, 0x12, 0x59, 0xe0, 0x44, 0x32, 0xe2, - 0xe0, 0x87, 0x39, 0xc0, 0x80, 0x46, 0x4a, 0xf8, 0x78, 0x1c, 0x85, 0x5c, 0x90, 0x32, 0x3e, 0xee, - 0x4c, 0xc2, 0x48, 0x10, 0x17, 0x93, 0xd5, 0xa3, 0xee, 0x7d, 0x52, 0xf1, 0x5e, 0x2d, 0xc4, 0xdf, - 0x9d, 0x89, 0x12, 0x46, 0x8c, 0xb6, 0x44, 0xc7, 0x18, 0x56, 0x9f, 0x87, 0xa4, 0xe4, 0x7d, 0x0b, - 0xe9, 0x50, 0x6b, 0x8d, 0x1b, 0xab, 0x29, 0x59, 0x41, 0xb3, 0x7a, 0x3c, 0x8e, 0x05, 0x0b, 0xa3, - 0x64, 0x40, 0x1c, 0x13, 0xb7, 0x13, 0xbb, 0xe6, 0x3d, 0x29, 0x05, 0x26, 0xc0, 0x35, 0x80, 0x59, - 0x01, 0xdd, 0xfe, 0xef, 0xe6, 0x2c, 0xbb, 0x60, 0xf6, 0x4e, 0xc5, 0x44, 0x06, 0x5c, 0x47, 0x83, - 0x86, 0x6f, 0x21, 0xfa, 0x01, 0x54, 0xf0, 0x3d, 0xf6, 0x25, 0x18, 0x24, 0x6e, 0x2f, 0x55, 0xb6, - 0x75, 0x8e, 0x23, 0xfe, 0xc4, 0x37, 0x8c, 0xf4, 0x2d, 0x68, 0xc8, 0x65, 0xbb, 0xb1, 0x19, 0x25, - 0xdd, 0x02, 0x60, 0x81, 0x8a, 0xce, 0x38, 0xca, 0xb2, 0xee, 0x5e, 0xc0, 0xb4, 0x7f, 0xe9, 0x82, - 0x8b, 0x0f, 0x17, 0x5a, 0xa9, 0xbd, 0xb9, 0x18, 0x73, 0x67, 0x79, 0x85, 0x17, 0xec, 0x51, 0xdb, - 0x77, 0xb9, 0x60, 0xdf, 0x1f, 0x40, 0x25, 0x15, 0x52, 0x65, 0x9b, 0x58, 0xf2, 0x28, 0x7a, 0x42, - 0x2a, 0xdf, 0x30, 0xd2, 0xfb, 0x50, 0x3b, 0x89, 0x62, 0xc5, 0xa5, 0x69, 0x2c, 0x9f, 0x55, 0xd8, - 0xe5, 0x32, 0xee, 0x6b, 0x26, 0x3f, 0x63, 0xa6, 0x0f, 0x8b, 0x47, 0x5a, 0xd5, 0x92, 0x3a, 0xcb, - 0x49, 0xba, 0xec, 0xa4, 0x6f, 0x03, 0x09, 0xc4, 0x19, 0x97, 0xd9, 0xbb, 0x07, 0x7c, 0xaa, 0x9d, - 0xa8, 0xe1, 0x5f, 0xc0, 0xd3, 0x36, 0xd4, 0x87, 0x51, 0xc8, 0x31, 0x79, 0x6a, 0x4f, 0xa9, 0xfb, - 0x39, 0x4c, 0x1f, 0x40, 0x3d, 0x60, 0x32, 0xec, 0xa1, 0xcf, 0x36, 0x9e, 0xfb, 0xf0, 0x91, 0xcd, - 0xcf, 0x05, 0xe0, 0x42, 0x7a, 0xf1, 0xfb, 0x91, 0x6a, 0x81, 0x59, 0x28, 0x83, 0xbd, 0x37, 0xad, - 0xb3, 0x61, 0xc4, 0xc3, 0x42, 0x37, 0x73, 0x93, 0x54, 0x99, 0x10, 0xfa, 0x1d, 0x16, 0xc7, 0x5c, - 0x4e, 0x4d, 0xf5, 0xf7, 0x80, 0x25, 0x7d, 0x96, 0x90, 0xb2, 0x77, 0x0b, 0x5c, 0x2d, 0xb9, 0x01, - 0x95, 0xde, 0x88, 0xc5, 0xb1, 0xa9, 0x18, 0x3f, 0xe4, 0x61, 0x34, 0x19, 0x19, 0xf7, 0x7a, 0x88, - 0xe5, 0x1f, 0x29, 0xb5, 0xff, 0xb9, 0x0c, 0xf5, 0x6c, 0xd3, 0x58, 0xe9, 0x9c, 0xf2, 0x69, 0x56, - 0xe9, 0x9c, 0xf2, 0xa9, 0xae, 0x58, 0xd2, 0xe3, 0x28, 0x8d, 0xfa, 0x36, 0xe5, 0xd7, 0xfd, 0x19, - 0x02, 0x33, 0xd4, 0x93, 0x28, 0x54, 0x43, 0x6d, 0x3a, 0x15, 0xdf, 0x00, 0xd8, 0x45, 0x87, 0x4c, - 0xf1, 0x83, 0x24, 0x88, 0x27, 0x21, 0x3f, 0xc2, 0x50, 0x67, 0xaa, 0xe4, 0x45, 0x34, 0xfd, 0x03, - 0x00, 0x15, 0x8d, 0xf8, 0x7d, 0x21, 0x47, 0x4c, 0xd9, 0xaa, 0xe6, 0xed, 0xe7, 0xfb, 0xb8, 0x9d, - 0xa3, 0x5c, 0x80, 0x5f, 0x10, 0x86, 0xa2, 0x71, 0x35, 0x2b, 0xba, 0xf6, 0xa5, 0x44, 0x77, 0x73, - 0x01, 0x7e, 0x41, 0x98, 0xf7, 0x87, 0x00, 0xb3, 0x37, 0x74, 0x13, 0xe8, 0x87, 0x22, 0x51, 0xc3, - 0x9d, 0x7e, 0x5f, 0xee, 0xf2, 0x13, 0x21, 0x79, 0x97, 0x61, 0x8c, 0x7a, 0x01, 0xd6, 0x73, 0xfc, - 0xce, 0x89, 0xe2, 0x12, 0xd1, 0xfa, 0xe8, 0x7b, 0x43, 0x21, 0x95, 0xc9, 0x79, 0xfa, 0xf1, 0x71, - 0x8f, 0x94, 0x31, 0x2e, 0x1e, 0xf4, 0x0e, 0x89, 0xeb, 0xdd, 0x02, 0x98, 0x6d, 0x09, 0x73, 0x98, - 0x79, 0x7a, 0x63, 0xdb, 0xe4, 0x77, 0x03, 0x6d, 0xbf, 0x49, 0x9c, 0xf6, 0x9f, 0x3b, 0xe0, 0xa2, - 0xc7, 0x61, 0xe1, 0x58, 0xb4, 0x67, 0xf3, 0xf9, 0x8a, 0xa8, 0x2f, 0x17, 0x27, 0x50, 0x76, 0x21, - 0x4e, 0x78, 0x5f, 0xb1, 0xa6, 0x58, 0x83, 0xf2, 0x4e, 0x1a, 0xd8, 0x7a, 0x99, 0xa7, 0x01, 0x71, - 0xda, 0x7f, 0xe5, 0x42, 0xd5, 0x38, 0x2e, 0xfd, 0x18, 0xea, 0x62, 0xcc, 0x25, 0x53, 0x42, 0xda, - 0xc2, 0xfc, 0xad, 0xe7, 0x71, 0xfc, 0xce, 0xa1, 0x65, 0xf6, 0x73, 0x31, 0x8b, 0xfb, 0x2b, 0x5d, - 0xdc, 0xdf, 0x6d, 0x20, 0x99, 0x8f, 0x3f, 0x92, 0xc8, 0xa7, 0xa6, 0xb6, 0x10, 0xbc, 0x80, 0xa7, - 0x47, 0xd0, 0x08, 0x44, 0x12, 0x46, 0x79, 0x91, 0xde, 0xdc, 0xfe, 0xd6, 0x73, 0x69, 0xb8, 0x97, - 0x71, 0xfb, 0x33, 0x41, 0xf4, 0x35, 0xa8, 0x9c, 0xb1, 0x78, 0x62, 0xb2, 0xfa, 0xea, 0xf6, 0xe6, - 0x85, 0x06, 0xe8, 0x18, 0xdf, 0xfa, 0x86, 0xc8, 0x7b, 0x09, 0xea, 0xd9, 0x3e, 0xf5, 0x71, 0x26, - 0x21, 0x59, 0xa1, 0x55, 0x28, 0x1d, 0x4a, 0xe2, 0x78, 0xff, 0xe2, 0x40, 0x23, 0x5f, 0xa3, 0x90, - 0x65, 0x31, 0xb9, 0x7d, 0x7f, 0xc2, 0x62, 0xe2, 0xe8, 0xd2, 0x46, 0x28, 0x03, 0x69, 0x43, 0xfa, - 0x8e, 0xe4, 0x4c, 0x61, 0xe3, 0xa7, 0xa3, 0x03, 0x4f, 0x53, 0xe2, 0x52, 0x0a, 0x4d, 0x8b, 0x3e, - 0x94, 0x86, 0xb4, 0x82, 0x95, 0x0f, 0xbe, 0xcd, 0x10, 0x55, 0x13, 0x4c, 0x4e, 0xb9, 0xa9, 0xec, - 0x3e, 0x12, 0x4a, 0x03, 0x75, 0xd4, 0xe5, 0x20, 0x21, 0x0d, 0x5c, 0xf3, 0x23, 0xa1, 0x0e, 0x12, - 0x02, 0xb3, 0xfc, 0xbb, 0x9a, 0x2d, 0xaf, 0xa1, 0x35, 0x9d, 0xdd, 0xe3, 0xf8, 0x20, 0x21, 0xd7, - 0xec, 0x0b, 0x03, 0x35, 0xdb, 0x2f, 0x5f, 0x15, 0x5a, 0xda, 0x2f, 0x61, 0x10, 0x52, 0xfc, 0xfc, - 0xb2, 0x36, 0xa3, 0xbd, 0x0e, 0xd7, 0x17, 0x5a, 0x7d, 0xef, 0x04, 0xea, 0x8f, 0x44, 0xba, 0x78, - 0x28, 0x35, 0x28, 0x1f, 0x89, 0xb1, 0xa9, 0x76, 0x77, 0x85, 0x52, 0x62, 0x64, 0xaa, 0xdd, 0x87, - 0xfc, 0x44, 0x99, 0xca, 0xc3, 0x8f, 0x06, 0x43, 0x65, 0x0a, 0xc9, 0x83, 0x24, 0xe1, 0x92, 0x54, - 0x70, 0xab, 0x3e, 0x1f, 0xc7, 0x2c, 0xc0, 0x5a, 0xb2, 0x09, 0xa0, 0xf1, 0xf7, 0x23, 0x99, 0x2a, - 0x52, 0xf3, 0xbe, 0x8d, 0xdb, 0x89, 0x06, 0x09, 0x56, 0x19, 0xfa, 0x41, 0x8b, 0x5a, 0xc1, 0xa3, - 0xd3, 0xe0, 0x1e, 0x4f, 0xf0, 0xa4, 0x1d, 0x64, 0x34, 0x13, 0x3e, 0xbd, 0x40, 0x69, 0xb7, 0x01, - 0xb5, 0xc0, 0x28, 0xeb, 0x3d, 0x82, 0x6b, 0xda, 0x86, 0x3e, 0xe4, 0x8a, 0x1d, 0x26, 0xf1, 0xf4, - 0xff, 0x3d, 0x03, 0xf5, 0xbe, 0x01, 0x15, 0xdd, 0x5d, 0xe0, 0x69, 0x9d, 0x48, 0x31, 0xd2, 0xb2, - 0x2a, 0xbe, 0x7e, 0x46, 0xe9, 0x4a, 0x68, 0x49, 0x15, 0xbf, 0xa4, 0x84, 0xf7, 0x8f, 0x65, 0xa8, - 0xed, 0x04, 0x81, 0x98, 0x24, 0xea, 0xc2, 0xca, 0x97, 0x55, 0xb3, 0x6f, 0x41, 0x95, 0x9d, 0x31, - 0xc5, 0xa4, 0x6d, 0xcb, 0xbe, 0xba, 0xe0, 0x0f, 0x56, 0x56, 0x67, 0x47, 0x13, 0xf9, 0x96, 0xb8, - 0xcd, 0xa1, 0x6a, 0x30, 0xf4, 0x6d, 0xa8, 0xe8, 0x3e, 0xd6, 0xf6, 0x45, 0x4b, 0x4d, 0x16, 0x0d, - 0x07, 0xdd, 0xcc, 0x1a, 0x37, 0xad, 0x10, 0xe2, 0x35, 0xb8, 0x5b, 0xcf, 0x74, 0x6a, 0xff, 0xa7, - 0x03, 0xd5, 0x3d, 0x91, 0x9c, 0x44, 0x03, 0xfa, 0x2a, 0x34, 0x79, 0x82, 0x76, 0x91, 0xf9, 0xa4, - 0x9d, 0xea, 0x2c, 0x60, 0x31, 0x62, 0x58, 0x0c, 0xef, 0x4f, 0x06, 0x36, 0x71, 0x15, 0x51, 0xf4, - 0x3d, 0x68, 0x1b, 0xd0, 0xe7, 0x31, 0x67, 0x29, 0xdf, 0x1b, 0xb2, 0x24, 0xe1, 0x71, 0xef, 0x49, - 0xa4, 0x82, 0xa1, 0x9d, 0x00, 0x5d, 0x41, 0x41, 0x3d, 0x58, 0x33, 0x6f, 0x7b, 0x63, 0x16, 0xf0, - 0xd4, 0xb6, 0xa3, 0x73, 0x38, 0xfa, 0x4d, 0xa8, 0xe8, 0x89, 0x7b, 0x2b, 0xbc, 0xfa, 0x1b, 0x1b, - 0x2a, 0xef, 0x7f, 0x1d, 0x58, 0x2d, 0xf4, 0xf0, 0xbf, 0xc6, 0xb9, 0x43, 0x1b, 0xea, 0xfa, 0xb0, - 0x1f, 0xcb, 0xd8, 0x76, 0x1d, 0x39, 0x8c, 0xb5, 0xa7, 0x1d, 0x31, 0xe0, 0x5b, 0x13, 0x34, 0x0b, - 0x98, 0x2f, 0x35, 0x73, 0xf0, 0xb6, 0x6d, 0xaa, 0x58, 0x85, 0xda, 0xe3, 0xe4, 0x34, 0x11, 0x4f, - 0x12, 0x93, 0x2e, 0xf4, 0xa8, 0x67, 0xae, 0x4b, 0xa8, 0x9b, 0x59, 0x03, 0x29, 0x7b, 0x3f, 0x76, - 0x17, 0x06, 0x77, 0xf7, 0xa0, 0x6a, 0xee, 0x22, 0x74, 0x99, 0xde, 0xdc, 0xfe, 0xe6, 0x85, 0x4a, - 0x7a, 0x46, 0xdc, 0x31, 0xcd, 0x67, 0x01, 0xe5, 0x5b, 0x66, 0xfa, 0xb0, 0x30, 0x8f, 0x35, 0x85, - 0xfd, 0xeb, 0x57, 0x09, 0xca, 0x6c, 0x68, 0xee, 0x22, 0x21, 0x97, 0xd0, 0xfe, 0x89, 0x03, 0x1b, - 0x97, 0x91, 0x60, 0xb7, 0xd6, 0x9f, 0x9b, 0xb0, 0x65, 0x20, 0xed, 0x2d, 0x5c, 0x5f, 0x94, 0xf4, - 0x6e, 0xee, 0x3c, 0xa7, 0x12, 0xf3, 0x97, 0x19, 0xde, 0x8f, 0x1c, 0x58, 0xbf, 0xb0, 0xe7, 0x42, - 0x5c, 0x04, 0xa8, 0x76, 0x79, 0xcc, 0x15, 0x37, 0xb3, 0xb4, 0x7c, 0xba, 0x63, 0x0a, 0x45, 0xed, - 0x90, 0xa9, 0x69, 0xb5, 0xbb, 0xe6, 0x0e, 0x8a, 0xb8, 0x18, 0xd0, 0xf0, 0xab, 0xa1, 0xa1, 0x0f, - 0xb0, 0xdf, 0x26, 0xb0, 0x66, 0xa6, 0x91, 0x16, 0x53, 0xc5, 0xf8, 0x7e, 0xc4, 0x47, 0xe3, 0x98, - 0x29, 0x4e, 0x6a, 0x9e, 0x0f, 0x37, 0x2e, 0x51, 0x54, 0x2f, 0x7d, 0x6c, 0xd5, 0x68, 0x02, 0x74, - 0x8f, 0xb3, 0xc5, 0x89, 0x83, 0x39, 0xa9, 0x7b, 0xbc, 0xa7, 0xb3, 0x92, 0x1d, 0x17, 0xe8, 0xf4, - 0xd5, 0x3d, 0xc6, 0xba, 0x38, 0x25, 0x65, 0xef, 0x7d, 0x78, 0xe1, 0x68, 0x28, 0x39, 0x0b, 0xbb, - 0x9c, 0x8f, 0x63, 0xb4, 0x2e, 0x36, 0xc5, 0x4e, 0xef, 0x92, 0xda, 0x74, 0x03, 0x2a, 0x2c, 0x0c, - 0xa5, 0x39, 0xd0, 0x86, 0x6f, 0x00, 0xef, 0x13, 0xd8, 0x34, 0x02, 0xcc, 0x2a, 0x1f, 0x4f, 0xf8, - 0x84, 0xdf, 0x4b, 0x94, 0x9c, 0x9a, 0xda, 0x3f, 0xbb, 0xa0, 0x32, 0x34, 0x56, 0xdc, 0x05, 0x3c, - 0x7a, 0x8c, 0xd2, 0x4f, 0x07, 0xa1, 0x75, 0xb6, 0x1c, 0xf6, 0x7e, 0xea, 0x02, 0x1c, 0xe6, 0x97, - 0x64, 0x97, 0xb8, 0xe9, 0xe5, 0x21, 0xb6, 0xd0, 0xc6, 0x94, 0x97, 0xee, 0x0c, 0x7f, 0x27, 0xbf, - 0x78, 0x71, 0xb5, 0xff, 0x2d, 0x5e, 0x9e, 0xcc, 0xf4, 0xb0, 0x83, 0xe3, 0xfc, 0xce, 0x05, 0x2b, - 0xf7, 0x40, 0x24, 0x7a, 0x3e, 0x63, 0xdd, 0x7a, 0x86, 0x58, 0x8c, 0x19, 0xd5, 0x8b, 0x31, 0x63, - 0x13, 0xaa, 0xc3, 0x28, 0x0c, 0x79, 0xa2, 0x8b, 0xe7, 0xba, 0x6f, 0x21, 0x3c, 0x19, 0x3c, 0x07, - 0x91, 0xc4, 0xd3, 0xac, 0x59, 0xc9, 0x60, 0x7a, 0x17, 0x2a, 0x4a, 0x5f, 0x25, 0xd6, 0xb5, 0x89, - 0x2f, 0xa6, 0x91, 0xd9, 0xed, 0xaa, 0x0e, 0x15, 0x86, 0x16, 0x03, 0x50, 0x94, 0xda, 0xe1, 0x6e, - 0xa8, 0x9b, 0xa9, 0xba, 0x5f, 0xc0, 0x78, 0x7f, 0xeb, 0xe4, 0x83, 0xf4, 0x06, 0x54, 0xfa, 0x2c, - 0x8d, 0x02, 0x33, 0x4a, 0x1a, 0x4b, 0x71, 0x62, 0xa6, 0x0e, 0x75, 0x70, 0x95, 0x08, 0x05, 0x29, - 0x61, 0x39, 0x90, 0x72, 0x4c, 0xfc, 0x4d, 0x80, 0xd9, 0x45, 0x26, 0x71, 0xd1, 0x72, 0xb3, 0x53, - 0x35, 0x93, 0x24, 0xcd, 0x5a, 0x45, 0xdf, 0x08, 0xf3, 0x39, 0x73, 0x0d, 0x57, 0xd0, 0x91, 0x91, - 0xd4, 0x91, 0x26, 0x11, 0x8a, 0x9b, 0x22, 0x28, 0xc5, 0x88, 0x4e, 0x00, 0xc5, 0x60, 0x28, 0xe8, - 0xb3, 0x94, 0x93, 0x0d, 0xef, 0xaf, 0x67, 0xaa, 0xbd, 0x9e, 0xa7, 0xd9, 0x65, 0x3e, 0xd2, 0xd3, - 0x12, 0xf1, 0x3d, 0x58, 0x97, 0xfc, 0xfb, 0x93, 0x68, 0xee, 0xc6, 0xe6, 0x19, 0xd6, 0x72, 0x91, - 0xc3, 0x3b, 0x83, 0xf5, 0x0c, 0xf8, 0x6e, 0xa4, 0x86, 0xba, 0xf4, 0xa4, 0x77, 0x0b, 0x57, 0x4a, - 0x8e, 0x4d, 0x48, 0x4f, 0x11, 0x39, 0xbb, 0x42, 0xca, 0xcb, 0xda, 0xd2, 0x32, 0x65, 0xed, 0xdf, - 0xd4, 0xae, 0x6c, 0x26, 0xdf, 0x82, 0xea, 0x89, 0xe9, 0xc7, 0x4c, 0x1f, 0xf2, 0xd5, 0xa7, 0xac, - 0x6f, 0x7b, 0x2e, 0x4b, 0x7c, 0xe9, 0x7c, 0xe2, 0x1d, 0x58, 0x0b, 0xf9, 0x09, 0x9b, 0xc4, 0xea, - 0x78, 0x89, 0xaa, 0x7b, 0x8e, 0x96, 0xee, 0xea, 0xd6, 0x90, 0xf5, 0xcc, 0x08, 0xa8, 0xa2, 0x55, - 0xf1, 0x9e, 0xa2, 0x8a, 0x8e, 0xc4, 0x86, 0xd2, 0x2f, 0x70, 0x15, 0xbc, 0xa3, 0x7a, 0x99, 0x77, - 0x60, 0xcd, 0x67, 0xfd, 0x26, 0x87, 0x4d, 0x93, 0x62, 0x9e, 0x33, 0xf1, 0xfa, 0x26, 0xb6, 0xee, - 0x5f, 0xc0, 0x63, 0x6c, 0x1b, 0x4d, 0x62, 0x15, 0xd9, 0xc1, 0x83, 0x01, 0x16, 0x2f, 0xec, 0x1b, - 0x17, 0x2f, 0xec, 0xdf, 0x03, 0x48, 0x39, 0x86, 0xb2, 0x6e, 0x14, 0xa8, 0xd6, 0x9a, 0xb6, 0x9c, - 0xad, 0xa7, 0xed, 0xed, 0x50, 0x7b, 0xba, 0x5f, 0xe0, 0x40, 0xfd, 0x47, 0xec, 0x7c, 0x0f, 0xab, - 0xbd, 0xd6, 0x35, 0x5d, 0x4f, 0xe6, 0xf0, 0x62, 0xcc, 0x68, 0x5e, 0x8c, 0x19, 0x77, 0xa1, 0x92, - 0x06, 0x62, 0xcc, 0xf5, 0xa5, 0xe9, 0xd3, 0xbf, 0x6f, 0xa7, 0x87, 0x44, 0xbe, 0xa1, 0xd5, 0x33, - 0x7d, 0x0c, 0xd5, 0x42, 0xea, 0xeb, 0xd2, 0x86, 0x9f, 0x81, 0xed, 0x5f, 0x38, 0x50, 0x35, 0x3a, - 0x5e, 0x56, 0xc5, 0xea, 0x9e, 0xa1, 0x54, 0xb8, 0x9a, 0xc8, 0xaf, 0x00, 0xca, 0x85, 0x2b, 0x00, - 0xfa, 0x4e, 0xa6, 0x93, 0x09, 0xa0, 0xaf, 0x5c, 0x7d, 0x18, 0x73, 0xaa, 0x79, 0xaf, 0x41, 0x45, - 0xc3, 0x18, 0x01, 0x62, 0x11, 0xb0, 0xd8, 0xf4, 0xe0, 0x72, 0x96, 0xcf, 0x20, 0x33, 0x69, 0x52, - 0xf2, 0xbe, 0x97, 0x51, 0x43, 0x56, 0xb8, 0x98, 0xa2, 0x07, 0x57, 0x23, 0x0e, 0xdd, 0x00, 0x92, - 0x72, 0x75, 0x78, 0x72, 0x34, 0xe4, 0x3d, 0x36, 0xe2, 0x3a, 0x2e, 0x95, 0x68, 0x0b, 0x36, 0x0c, - 0x6d, 0x3a, 0xff, 0x46, 0xa7, 0xe6, 0x38, 0xea, 0x4b, 0x26, 0xa7, 0xc4, 0xf5, 0xde, 0xd3, 0x33, - 0x87, 0xcc, 0xfa, 0x56, 0xf3, 0x3f, 0x4c, 0x4c, 0x24, 0x0c, 0xb9, 0xc4, 0x50, 0x69, 0x26, 0x42, - 0xcc, 0x14, 0xeb, 0x66, 0x1a, 0x6a, 0xb4, 0x2e, 0x7b, 0xbb, 0x85, 0x12, 0x60, 0x3e, 0x17, 0x39, - 0xcb, 0xe6, 0x22, 0xef, 0x01, 0x5c, 0xcf, 0xd0, 0xe6, 0xb0, 0x30, 0x3d, 0xd5, 0xc4, 0xb8, 0x28, - 0xe7, 0x59, 0xb6, 0x96, 0x91, 0xdf, 0xfe, 0xfb, 0x32, 0x34, 0xe7, 0xf3, 0x81, 0xee, 0xa7, 0x8c, - 0xee, 0x87, 0x71, 0x68, 0x1a, 0xae, 0x5d, 0x74, 0x8c, 0x40, 0x4e, 0x46, 0xfd, 0xd4, 0x84, 0x79, - 0x5d, 0x40, 0x12, 0x7c, 0xf5, 0xc8, 0x44, 0x7f, 0x8d, 0x58, 0xc7, 0x57, 0xfb, 0x62, 0xc4, 0xc9, - 0xcd, 0xe2, 0x4d, 0xe1, 0xeb, 0xd9, 0x9d, 0xa2, 0x0e, 0xd7, 0x1f, 0x60, 0x72, 0xe8, 0x71, 0x45, - 0x76, 0xb0, 0xb0, 0xe9, 0x1d, 0xcd, 0xa2, 0x32, 0xf9, 0x84, 0x36, 0xec, 0x04, 0xfb, 0x87, 0x25, - 0x7a, 0xad, 0x50, 0xe3, 0xfc, 0xbc, 0x44, 0x37, 0xe0, 0xfa, 0xee, 0x24, 0x09, 0x63, 0x1e, 0xe6, - 0xd8, 0xbf, 0xd3, 0x58, 0x7d, 0xcf, 0xa0, 0x74, 0x17, 0xa9, 0x85, 0xfc, 0x0c, 0x3f, 0xe6, 0x8d, - 0x02, 0x36, 0x2f, 0x7b, 0xfe, 0x62, 0xf1, 0x4d, 0x2e, 0xe9, 0x2f, 0x8b, 0xf2, 0x73, 0xfa, 0x1f, - 0xba, 0x88, 0x3d, 0x48, 0x42, 0x7e, 0x5e, 0xc0, 0xfe, 0xc8, 0xa5, 0x9b, 0xb0, 0x6e, 0x69, 0x0b, - 0xca, 0xff, 0x89, 0x4b, 0x6f, 0x40, 0x73, 0xc7, 0x1c, 0xbb, 0x3d, 0x15, 0xf2, 0x63, 0xec, 0x77, - 0xdd, 0x2e, 0xae, 0xf1, 0xa7, 0x2e, 0x5d, 0x87, 0xb5, 0xef, 0x0a, 0x79, 0xaa, 0x93, 0x18, 0x9e, - 0xed, 0x4f, 0xb0, 0xd6, 0x6b, 0xe4, 0x28, 0xf2, 0x67, 0x2e, 0x7d, 0x11, 0xe8, 0xfc, 0xc7, 0xd5, - 0x23, 0xc6, 0x9f, 0xba, 0xb7, 0xff, 0xc9, 0x81, 0xe6, 0x7c, 0x60, 0xc6, 0x53, 0x8d, 0x45, 0x32, - 0x40, 0xa7, 0x33, 0xc3, 0xf8, 0x74, 0x28, 0xa4, 0xd2, 0xa0, 0xf6, 0x88, 0x44, 0xdf, 0xba, 0x98, - 0x4a, 0x33, 0x55, 0x4c, 0x4d, 0x52, 0x33, 0xe0, 0x52, 0x6c, 0x40, 0x56, 0xf1, 0x53, 0x85, 0xa8, - 0x97, 0x9b, 0x67, 0xe1, 0x0a, 0x4a, 0x0c, 0xb2, 0x4b, 0x9c, 0x2a, 0x92, 0x4e, 0x64, 0x6c, 0xb2, - 0x31, 0x1f, 0xb1, 0x28, 0x36, 0x57, 0x4d, 0xe3, 0x21, 0xd6, 0x94, 0x0d, 0x83, 0x15, 0x9f, 0x46, - 0xe6, 0x52, 0xc7, 0x7a, 0x5a, 0x88, 0x7a, 0xe4, 0xb6, 0x4a, 0xf8, 0xee, 0xed, 0x7f, 0xfd, 0x7c, - 0xcb, 0xf9, 0xec, 0xf3, 0x2d, 0xe7, 0x3f, 0x3e, 0xdf, 0x72, 0x7e, 0xf6, 0xc5, 0xd6, 0xca, 0x67, - 0x5f, 0x6c, 0xad, 0xfc, 0xf2, 0x8b, 0xad, 0x95, 0xef, 0x91, 0xc5, 0x7f, 0xc7, 0xfa, 0x55, 0x9d, - 0x2f, 0xee, 0xfe, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x59, 0xda, 0x4e, 0x6c, 0x56, 0x26, 0x00, - 0x00, + 0x86, 0x53, 0x28, 0x7e, 0xbe, 0xbf, 0xe2, 0x1b, 0x16, 0xfa, 0xbb, 0x70, 0x4d, 0xb1, 0x7e, 0xcc, + 0x0f, 0x4f, 0x2c, 0x41, 0xda, 0xfa, 0x8a, 0x96, 0xf2, 0xda, 0xd5, 0xee, 0x3c, 0xcf, 0xb3, 0xbf, + 0xe2, 0x2f, 0x8a, 0x69, 0xff, 0x00, 0xd6, 0x8a, 0x49, 0x80, 0x52, 0x70, 0x25, 0x67, 0x26, 0x01, + 0xd5, 0x7d, 0xfd, 0x1b, 0x71, 0x3c, 0x8c, 0x94, 0x4e, 0x40, 0x75, 0x5f, 0xff, 0xa6, 0x5b, 0x50, + 0x95, 0x7c, 0x24, 0xce, 0xb8, 0xce, 0x2f, 0x75, 0xdf, 0x42, 0x48, 0x1b, 0x4a, 0x36, 0x68, 0xb9, + 0x86, 0x16, 0x7f, 0x23, 0x6d, 0x28, 0xc5, 0xf8, 0x30, 0xd1, 0xf9, 0xa1, 0xee, 0x5b, 0xa8, 0xfd, + 0xb7, 0x5f, 0x83, 0x9a, 0x55, 0xa4, 0xfd, 0x87, 0x50, 0x35, 0x81, 0x40, 0xdf, 0x87, 0x4a, 0xaa, + 0xa6, 0x31, 0xd7, 0x2a, 0x34, 0xb7, 0x7f, 0x73, 0x89, 0xe0, 0xe9, 0xf4, 0x90, 0xc1, 0x37, 0x7c, + 0xde, 0x1b, 0x50, 0xd1, 0x30, 0xad, 0x41, 0xd9, 0x17, 0x4f, 0xc8, 0x0a, 0x05, 0xa8, 0xee, 0x89, + 0x78, 0x32, 0x4a, 0x88, 0x83, 0xc8, 0x6e, 0x74, 0x46, 0x4a, 0x88, 0xdc, 0xe7, 0x2c, 0xe4, 0x92, + 0x94, 0xdb, 0xff, 0xe9, 0x80, 0x8b, 0x6e, 0x49, 0x5f, 0x81, 0x75, 0xc5, 0xe4, 0x80, 0x9b, 0xb2, + 0x76, 0x90, 0x25, 0xe2, 0x79, 0x24, 0x7d, 0x37, 0x53, 0xb1, 0xa4, 0x55, 0xfc, 0xfa, 0x33, 0xdd, + 0x7d, 0x4e, 0xc1, 0x42, 0x4a, 0x2f, 0x2f, 0x95, 0xd2, 0xbd, 0xdf, 0xce, 0x76, 0x54, 0x07, 0xf7, + 0x11, 0x1b, 0x70, 0xb2, 0x42, 0xd7, 0xa0, 0x9e, 0x85, 0x02, 0x71, 0xe8, 0x3a, 0x34, 0xba, 0x2c, + 0x1d, 0xf6, 0x05, 0x93, 0x21, 0x29, 0xd1, 0x55, 0xa8, 0xed, 0xc8, 0x60, 0x18, 0x9d, 0x71, 0x52, + 0x6e, 0x7f, 0xa2, 0x37, 0x4c, 0x7f, 0x67, 0xde, 0xac, 0xaf, 0x3e, 0x2b, 0xaf, 0xcc, 0xdb, 0xf4, + 0xa5, 0x82, 0x06, 0x0f, 0xa3, 0x04, 0x35, 0xa8, 0x83, 0xdb, 0x15, 0x2a, 0x25, 0x4e, 0xfb, 0xdf, + 0x1d, 0xa8, 0x67, 0xe9, 0x84, 0x12, 0x28, 0x4f, 0x64, 0x6c, 0xed, 0x86, 0x3f, 0xe9, 0x26, 0x54, + 0x54, 0xa4, 0xac, 0xb5, 0x1a, 0xbe, 0x01, 0xb0, 0xbe, 0x84, 0x3c, 0x0d, 0x64, 0x34, 0xd6, 0x61, + 0x5b, 0xd6, 0xdf, 0x8a, 0x28, 0xfa, 0x32, 0x34, 0xa2, 0x11, 0x1b, 0xf0, 0x7d, 0x96, 0x0e, 0xb5, + 0x3f, 0x35, 0xfc, 0x19, 0x02, 0xf9, 0x4f, 0xd8, 0x19, 0x26, 0x1f, 0xfd, 0xdd, 0x54, 0x9e, 0x22, + 0x8a, 0xde, 0x05, 0x17, 0x37, 0x68, 0x8b, 0xce, 0xd7, 0x16, 0x36, 0x8c, 0xc7, 0xf2, 0x48, 0x72, + 0x34, 0x60, 0x07, 0xcb, 0xb7, 0xaf, 0x89, 0xdb, 0x6d, 0x70, 0x31, 0xb1, 0xa1, 0x1f, 0x27, 0x6c, + 0xc4, 0xed, 0x3e, 0xf4, 0xef, 0xf6, 0x75, 0xd8, 0xb8, 0x10, 0xeb, 0xed, 0x7f, 0xaa, 0x82, 0x8b, + 0x65, 0x03, 0x39, 0x74, 0x9d, 0xb1, 0x1c, 0xba, 0x84, 0x3c, 0x97, 0xa3, 0xa0, 0x94, 0x79, 0x47, + 0x79, 0x17, 0x2a, 0x68, 0xd3, 0xcc, 0x4f, 0x96, 0x60, 0xff, 0x10, 0xc9, 0x7d, 0xc3, 0x45, 0x5b, + 0x50, 0x0b, 0x86, 0x3c, 0x38, 0xe5, 0xa1, 0x0d, 0xc7, 0x0c, 0xc4, 0x23, 0x09, 0x0a, 0x05, 0xdb, + 0x00, 0xda, 0xe0, 0x81, 0x48, 0xee, 0x8d, 0xc4, 0xa7, 0x91, 0xb6, 0x1a, 0x1a, 0x3c, 0x43, 0x64, + 0x5f, 0x0f, 0xf0, 0x04, 0x5a, 0xb5, 0xd9, 0x57, 0x8d, 0x68, 0xdf, 0x83, 0x8a, 0x5e, 0x1b, 0xfd, + 0xcc, 0xe8, 0x6c, 0x9a, 0xbf, 0x57, 0x97, 0xd3, 0xd9, 0xaa, 0xdc, 0xfe, 0x45, 0x09, 0x5c, 0x84, + 0xe9, 0x6d, 0xa8, 0x48, 0x96, 0x0c, 0xcc, 0x01, 0x5c, 0xec, 0x21, 0x7d, 0xfc, 0xe6, 0x1b, 0x12, + 0xfa, 0xbe, 0x3d, 0x68, 0x63, 0xe4, 0x6f, 0x2c, 0xb7, 0x62, 0xe1, 0xd0, 0xd1, 0x1c, 0x63, 0x26, + 0xd9, 0xc8, 0x7a, 0xa1, 0x01, 0xbc, 0x9f, 0x3b, 0xe0, 0x22, 0x11, 0xdd, 0x80, 0xf5, 0x9e, 0x92, + 0xd1, 0x29, 0x57, 0x43, 0x29, 0x26, 0x83, 0xa1, 0x09, 0xbf, 0x07, 0x7c, 0x6a, 0xe2, 0xcd, 0xc1, + 0x54, 0x72, 0xa0, 0x58, 0x1c, 0x05, 0xa4, 0x84, 0x61, 0xb1, 0x2b, 0xe2, 0x90, 0x94, 0xe9, 0x35, + 0x58, 0x7d, 0x9c, 0x84, 0x5c, 0xa6, 0x81, 0x90, 0x3c, 0x24, 0xae, 0x8d, 0x9d, 0x53, 0x52, 0xc1, + 0x78, 0x45, 0x45, 0x74, 0x77, 0x44, 0xaa, 0xf4, 0x3a, 0x5c, 0xdb, 0x9d, 0x6f, 0x99, 0x48, 0x0d, + 0x83, 0xf8, 0x43, 0x9e, 0xa0, 0x93, 0x91, 0x3a, 0x6d, 0x40, 0x45, 0x9f, 0x02, 0x69, 0xe0, 0x62, + 0x87, 0xba, 0xe9, 0x24, 0xe0, 0xfd, 0xb3, 0x93, 0xc5, 0xe5, 0x3a, 0x34, 0x1e, 0x31, 0xc9, 0x06, + 0x92, 0x8d, 0x51, 0xbf, 0x55, 0xa8, 0x99, 0xe4, 0xf6, 0x06, 0x71, 0x66, 0xc0, 0xb6, 0xc9, 0x0d, + 0x06, 0xb8, 0x4b, 0xca, 0x33, 0xe0, 0x4d, 0xe2, 0xe2, 0x1a, 0x1f, 0x4f, 0x84, 0xe2, 0xa4, 0x82, + 0x9a, 0xee, 0x89, 0x90, 0x93, 0x2a, 0x22, 0x8f, 0x30, 0x5e, 0x49, 0x0d, 0xf7, 0xbc, 0x87, 0xfe, + 0xd3, 0x17, 0xe7, 0xa4, 0x8e, 0x6a, 0xa0, 0x19, 0x79, 0x48, 0x1a, 0xf8, 0xe5, 0xa3, 0xc9, 0xa8, + 0xcf, 0x71, 0x9b, 0x80, 0x5f, 0x8e, 0xc4, 0x60, 0x10, 0x73, 0xb2, 0x8a, 0x36, 0xe8, 0xce, 0x42, + 0x9a, 0xac, 0xe1, 0x8a, 0x7b, 0x2c, 0x8e, 0xc5, 0x44, 0x91, 0xf5, 0xf6, 0x67, 0x65, 0x70, 0xb1, + 0x73, 0xc2, 0xd8, 0x19, 0x62, 0x14, 0xdb, 0xd8, 0xc1, 0xdf, 0x79, 0x04, 0x96, 0x66, 0x11, 0x48, + 0xdf, 0xb1, 0x27, 0x5d, 0x5e, 0x22, 0x87, 0xa1, 0xe0, 0xe2, 0x21, 0x53, 0x70, 0x47, 0xd1, 0x88, + 0xdb, 0x4c, 0xa2, 0x7f, 0x23, 0x2e, 0x8d, 0x7e, 0xc0, 0x75, 0x18, 0x94, 0x7d, 0xfd, 0x1b, 0xa3, + 0x86, 0x85, 0x21, 0x0f, 0x77, 0x94, 0x8e, 0x81, 0xb2, 0x9f, 0x81, 0x26, 0x9a, 0x99, 0x32, 0xde, + 0xff, 0xac, 0x68, 0xd6, 0xcb, 0xf7, 0x90, 0xdc, 0x37, 0x5c, 0xb3, 0x64, 0x50, 0x5f, 0x9e, 0xbd, + 0x90, 0x82, 0xbb, 0xd6, 0x1b, 0xeb, 0xe0, 0x7e, 0x24, 0xb2, 0x0c, 0x8c, 0x64, 0xc4, 0xc1, 0x53, + 0xd2, 0x61, 0x48, 0x4a, 0xf8, 0xf3, 0x38, 0x0a, 0xb9, 0x20, 0x65, 0xfc, 0xb9, 0x33, 0x09, 0x23, + 0x41, 0x5c, 0xac, 0x7a, 0x8f, 0xba, 0xf7, 0x49, 0xc5, 0x7b, 0xb5, 0x90, 0xc8, 0x77, 0x26, 0x4a, + 0x18, 0x31, 0xda, 0x2d, 0x1d, 0xe3, 0x65, 0x7d, 0x1e, 0x92, 0x92, 0xf7, 0x2d, 0xa4, 0x43, 0xad, + 0x35, 0x6e, 0xac, 0xa6, 0x64, 0x05, 0x7d, 0xec, 0xf1, 0x38, 0x16, 0x2c, 0x8c, 0x92, 0x01, 0x71, + 0x4c, 0x01, 0x48, 0xec, 0x9a, 0xf7, 0xa4, 0x14, 0x58, 0x49, 0xd7, 0x00, 0x66, 0x9d, 0x78, 0xfb, + 0x7f, 0x9a, 0xb3, 0x32, 0x85, 0x6d, 0x40, 0x2a, 0x26, 0x32, 0xe0, 0x3a, 0x35, 0x34, 0x7c, 0x0b, + 0xd1, 0x0f, 0xa0, 0x82, 0xdf, 0xf1, 0x82, 0x83, 0x19, 0xe3, 0xf6, 0x52, 0xfd, 0x5f, 0xe7, 0x38, + 0xe2, 0x4f, 0x7c, 0xc3, 0x48, 0xdf, 0x82, 0x86, 0x5c, 0xf6, 0x5a, 0x37, 0xa3, 0xa4, 0x37, 0x00, + 0x58, 0xa0, 0xa2, 0x33, 0x8e, 0xb2, 0x6c, 0xec, 0x17, 0x30, 0xed, 0x5f, 0xba, 0xe0, 0xe2, 0x8f, + 0x0b, 0x77, 0xb2, 0xbd, 0xb9, 0x84, 0x73, 0x67, 0x79, 0x85, 0x17, 0xfc, 0x51, 0xfb, 0x77, 0xb9, + 0xe0, 0xdf, 0x1f, 0x40, 0x25, 0x15, 0x52, 0x65, 0x9b, 0x58, 0xd2, 0x14, 0x3d, 0x21, 0x95, 0x6f, + 0x18, 0xe9, 0x7d, 0xa8, 0x9d, 0x44, 0xb1, 0xe2, 0xd2, 0xdc, 0x50, 0x9f, 0xd5, 0x21, 0xe6, 0x32, + 0xee, 0x6b, 0x26, 0x3f, 0x63, 0xa6, 0x0f, 0x8b, 0x26, 0xad, 0x6a, 0x49, 0x9d, 0xe5, 0x24, 0x5d, + 0x66, 0xe9, 0xdb, 0x40, 0x02, 0x71, 0xc6, 0x65, 0xf6, 0xed, 0x01, 0x9f, 0xda, 0x12, 0x72, 0x01, + 0x4f, 0xdb, 0x50, 0x1f, 0x46, 0x21, 0xc7, 0x2a, 0xac, 0x23, 0xa5, 0xee, 0xe7, 0x30, 0x7d, 0x00, + 0xf5, 0x80, 0xc9, 0xb0, 0x87, 0x31, 0xdb, 0x78, 0x6e, 0xe3, 0x23, 0x9b, 0x9f, 0x0b, 0xc0, 0x85, + 0xf4, 0xe2, 0xf7, 0x23, 0xd5, 0x02, 0xb3, 0x50, 0x06, 0x7b, 0x6f, 0xda, 0x60, 0xc3, 0xf4, 0x87, + 0x1d, 0x73, 0x16, 0x26, 0xa9, 0x32, 0xf9, 0xf4, 0x3b, 0x2c, 0x8e, 0xb9, 0x9c, 0x9a, 0x36, 0xf2, + 0x01, 0x4b, 0xfa, 0x2c, 0x21, 0x65, 0xef, 0x16, 0xb8, 0x5a, 0x72, 0x03, 0x2a, 0xbd, 0x11, 0x8b, + 0x63, 0xd3, 0x7a, 0x7e, 0xc8, 0xc3, 0x68, 0x32, 0x32, 0xe1, 0xf5, 0x10, 0xfb, 0x48, 0x52, 0x6a, + 0xff, 0x63, 0x19, 0xea, 0xd9, 0xa6, 0xb1, 0x65, 0x3a, 0xe5, 0xd3, 0xac, 0x65, 0x3a, 0xe5, 0x53, + 0x5d, 0x6b, 0xd3, 0xe3, 0x28, 0x8d, 0xfa, 0xb6, 0x77, 0xa8, 0xfb, 0x33, 0x04, 0x96, 0xab, 0x27, + 0x51, 0xa8, 0x86, 0xda, 0x75, 0x2a, 0xbe, 0x01, 0xf0, 0x3a, 0x1e, 0x32, 0xc5, 0x0f, 0x92, 0x20, + 0x9e, 0x84, 0xfc, 0x08, 0x53, 0x9d, 0x69, 0xb7, 0x17, 0xd1, 0xf4, 0xf7, 0x00, 0x54, 0x34, 0xe2, + 0xf7, 0x85, 0x1c, 0x31, 0x65, 0xdb, 0xa3, 0xb7, 0x9f, 0xef, 0x70, 0x3b, 0x47, 0xb9, 0x00, 0xbf, + 0x20, 0x0c, 0x45, 0xe3, 0x6a, 0x56, 0x74, 0xed, 0x4b, 0x89, 0xee, 0xe6, 0x02, 0xfc, 0x82, 0x30, + 0xef, 0xf7, 0x01, 0x66, 0x5f, 0xe8, 0x16, 0xd0, 0x0f, 0x45, 0xa2, 0x86, 0x3b, 0xfd, 0xbe, 0xdc, + 0xe5, 0x27, 0x42, 0xf2, 0x2e, 0xc3, 0x1c, 0xf5, 0x02, 0x6c, 0xe4, 0xf8, 0x9d, 0x13, 0xc5, 0x25, + 0xa2, 0xb5, 0xe9, 0x7b, 0x43, 0x21, 0x95, 0x29, 0x80, 0xfa, 0xe7, 0xe3, 0x1e, 0x29, 0x63, 0x5e, + 0x3c, 0xe8, 0x1d, 0x12, 0xd7, 0xbb, 0x05, 0x30, 0xdb, 0x12, 0x16, 0x34, 0xf3, 0xeb, 0x8d, 0x6d, + 0x53, 0xec, 0x0d, 0xb4, 0xfd, 0x26, 0x71, 0xda, 0x7f, 0xea, 0x80, 0x8b, 0x11, 0x87, 0x1d, 0x68, + 0xd1, 0x9f, 0xcd, 0xf1, 0x15, 0x51, 0x5f, 0x2e, 0x4f, 0xa0, 0xec, 0x42, 0x9e, 0xf0, 0xbe, 0x62, + 0x5d, 0xb1, 0x06, 0xe5, 0x9d, 0x34, 0xb0, 0x8d, 0x37, 0x4f, 0x03, 0xe2, 0xb4, 0xff, 0xc2, 0x85, + 0xaa, 0x09, 0x5c, 0xfa, 0x31, 0xd4, 0xc5, 0x98, 0x4b, 0xa6, 0x84, 0xb4, 0x1d, 0xfe, 0x5b, 0xcf, + 0x13, 0xf8, 0x9d, 0x43, 0xcb, 0xec, 0xe7, 0x62, 0x16, 0xf7, 0x57, 0xba, 0xb8, 0xbf, 0xdb, 0x40, + 0xb2, 0x18, 0x7f, 0x24, 0x91, 0x4f, 0x4d, 0x6d, 0x47, 0x79, 0x01, 0x4f, 0x8f, 0xa0, 0x11, 0x88, + 0x24, 0x8c, 0xf2, 0x6e, 0xbf, 0xb9, 0xfd, 0xad, 0xe7, 0xd2, 0x70, 0x2f, 0xe3, 0xf6, 0x67, 0x82, + 0xe8, 0x6b, 0x50, 0x39, 0x63, 0xf1, 0xc4, 0x54, 0xf5, 0xd5, 0xed, 0xad, 0x0b, 0x37, 0xa9, 0x63, + 0xfc, 0xea, 0x1b, 0x22, 0xef, 0x25, 0xa8, 0x67, 0xfb, 0xd4, 0xe6, 0x4c, 0x42, 0xb2, 0x42, 0xab, + 0x50, 0x3a, 0x94, 0xc4, 0xf1, 0xfe, 0xd5, 0x81, 0x46, 0xbe, 0x46, 0xa1, 0xca, 0x62, 0x71, 0xfb, + 0xfe, 0x84, 0xc5, 0xc4, 0xd1, 0x7d, 0x8e, 0x50, 0x06, 0xd2, 0x8e, 0xf4, 0x1d, 0xc9, 0x99, 0xc2, + 0x1b, 0xa4, 0xce, 0x0e, 0x3c, 0x4d, 0x89, 0x4b, 0x29, 0x34, 0x2d, 0xfa, 0x50, 0x1a, 0xd2, 0x0a, + 0xb6, 0x41, 0xf8, 0x35, 0x43, 0x54, 0x4d, 0x32, 0x39, 0xe5, 0xa6, 0xcd, 0xfb, 0x48, 0x28, 0x0d, + 0xd4, 0x51, 0x97, 0x83, 0x84, 0x34, 0x70, 0xcd, 0x8f, 0x84, 0x3a, 0x48, 0x08, 0xcc, 0xea, 0xef, + 0x6a, 0xb6, 0xbc, 0x86, 0xd6, 0x74, 0x75, 0x8f, 0xe3, 0x83, 0x84, 0xac, 0xdb, 0x0f, 0x06, 0x6a, + 0xb6, 0x5f, 0xbe, 0x2a, 0xb5, 0xb4, 0x5f, 0xc2, 0x24, 0xa4, 0xf8, 0xf9, 0x65, 0xf7, 0x95, 0xf6, + 0x06, 0x5c, 0x5b, 0x98, 0x19, 0x78, 0x27, 0x50, 0x7f, 0x24, 0xd2, 0x45, 0xa3, 0xd4, 0xa0, 0x7c, + 0x24, 0xc6, 0xa6, 0xf5, 0xdd, 0x15, 0x4a, 0x89, 0x91, 0x69, 0x7d, 0x1f, 0xf2, 0x13, 0x65, 0x3a, + 0x0f, 0x3f, 0x1a, 0x0c, 0x95, 0xe9, 0x2a, 0x0f, 0x92, 0x84, 0x4b, 0x52, 0xc1, 0xad, 0xfa, 0x7c, + 0x1c, 0xb3, 0x00, 0x1b, 0xcb, 0x26, 0x80, 0xc6, 0xdf, 0x8f, 0x64, 0xaa, 0x48, 0xcd, 0xfb, 0x36, + 0x6e, 0x27, 0x1a, 0x24, 0xd8, 0x65, 0xe8, 0x1f, 0x5a, 0xd4, 0x0a, 0x9a, 0x4e, 0x83, 0x7b, 0x3c, + 0x41, 0x4b, 0x3b, 0xc8, 0x68, 0x46, 0x85, 0x7a, 0x81, 0xd2, 0x6e, 0x03, 0x6a, 0x81, 0x51, 0xd6, + 0x7b, 0x04, 0xeb, 0xda, 0x87, 0x3e, 0xe4, 0x8a, 0x1d, 0x26, 0xf1, 0xf4, 0xff, 0x3d, 0x4c, 0xf5, + 0xbe, 0x01, 0x15, 0x7d, 0xd5, 0x40, 0x6b, 0x9d, 0x48, 0x31, 0xd2, 0xb2, 0x2a, 0xbe, 0xfe, 0x8d, + 0xd2, 0x95, 0xd0, 0x92, 0x2a, 0x7e, 0x49, 0x09, 0xef, 0xef, 0xcb, 0x50, 0xdb, 0x09, 0x02, 0x31, + 0x49, 0xd4, 0x85, 0x95, 0x2f, 0xeb, 0x66, 0xdf, 0x82, 0x2a, 0x3b, 0x63, 0x8a, 0x49, 0x7b, 0xbf, + 0xfb, 0xea, 0x42, 0x3c, 0x58, 0x59, 0x9d, 0x1d, 0x4d, 0xe4, 0x5b, 0xe2, 0x36, 0x87, 0xaa, 0xc1, + 0xd0, 0xb7, 0xa1, 0xa2, 0x2f, 0xc4, 0xf6, 0x92, 0xb4, 0xd4, 0x88, 0xd2, 0x70, 0xd0, 0xad, 0xec, + 0x06, 0xa8, 0x15, 0x42, 0xbc, 0x06, 0x77, 0xeb, 0x99, 0x4e, 0xed, 0xff, 0x76, 0xa0, 0xba, 0x27, + 0x92, 0x93, 0x68, 0x40, 0x5f, 0x85, 0x26, 0x4f, 0xd0, 0x2f, 0xb2, 0x98, 0xb4, 0xe3, 0xa1, 0x05, + 0x2c, 0x66, 0x0c, 0x8b, 0xe1, 0xfd, 0xc9, 0xc0, 0x16, 0xae, 0x22, 0x8a, 0xbe, 0x07, 0x6d, 0x03, + 0xfa, 0x3c, 0xe6, 0x2c, 0xe5, 0x7b, 0x43, 0x96, 0x24, 0x3c, 0xee, 0x3d, 0x89, 0x54, 0x30, 0xb4, + 0xa3, 0xa4, 0x2b, 0x28, 0xa8, 0x07, 0x6b, 0xe6, 0x6b, 0x6f, 0xcc, 0x02, 0x9e, 0xda, 0x7b, 0xed, + 0x1c, 0x8e, 0x7e, 0x13, 0x2a, 0x7a, 0x74, 0xdf, 0x0a, 0xaf, 0x3e, 0x63, 0x43, 0xe5, 0xfd, 0xaf, + 0x03, 0xab, 0x85, 0x61, 0xc0, 0xaf, 0x70, 0x80, 0xd1, 0x86, 0xba, 0x36, 0xf6, 0x63, 0x19, 0xdb, + 0x5b, 0x47, 0x0e, 0x63, 0xef, 0x69, 0x67, 0x15, 0xf8, 0xd5, 0x24, 0xcd, 0x02, 0xe6, 0x4b, 0x0d, + 0x2f, 0xbc, 0x6d, 0x5b, 0x2a, 0x56, 0xa1, 0xf6, 0x38, 0x39, 0x4d, 0xc4, 0x93, 0xc4, 0x94, 0x0b, + 0x3d, 0x33, 0x9a, 0xbb, 0x25, 0xd4, 0xcd, 0xd0, 0x82, 0x94, 0xbd, 0x1f, 0xbb, 0x0b, 0x13, 0xc0, + 0x7b, 0x50, 0x35, 0x8f, 0x1a, 0xba, 0x4d, 0x6f, 0x6e, 0x7f, 0xf3, 0x42, 0x27, 0x3d, 0x23, 0xee, + 0x98, 0x9b, 0x68, 0x01, 0xe5, 0x5b, 0x66, 0xfa, 0xb0, 0x30, 0xd8, 0x35, 0x8d, 0xfd, 0xeb, 0x57, + 0x09, 0xca, 0x7c, 0x68, 0xee, 0x45, 0x22, 0x97, 0xd0, 0xfe, 0x89, 0x03, 0x9b, 0x97, 0x91, 0xe0, + 0x6d, 0xad, 0x3f, 0x37, 0xaa, 0xcb, 0x40, 0xda, 0x5b, 0x78, 0x07, 0x29, 0xe9, 0xdd, 0xdc, 0x79, + 0x4e, 0x25, 0xe6, 0x5f, 0x45, 0xbc, 0x1f, 0x39, 0xb0, 0x71, 0x61, 0xcf, 0x85, 0xbc, 0x08, 0x50, + 0xed, 0xf2, 0x98, 0x2b, 0x6e, 0x86, 0x72, 0xf9, 0x98, 0xc8, 0x34, 0x8a, 0x3a, 0x20, 0x53, 0x73, + 0xef, 0xee, 0x9a, 0xc7, 0x2c, 0xe2, 0x62, 0x42, 0xc3, 0x53, 0x43, 0x47, 0x1f, 0xe0, 0xe5, 0x9b, + 0xc0, 0x9a, 0x19, 0x6b, 0x5a, 0x4c, 0x15, 0xf3, 0xfb, 0x11, 0x1f, 0x8d, 0x63, 0xa6, 0x38, 0xa9, + 0x79, 0x3e, 0x5c, 0xbf, 0x44, 0x51, 0xbd, 0xf4, 0xb1, 0x55, 0xa3, 0x09, 0xd0, 0x3d, 0xce, 0x16, + 0x27, 0x0e, 0xd6, 0xa4, 0xee, 0xf1, 0x9e, 0xae, 0x4a, 0x76, 0x76, 0xa0, 0xcb, 0x57, 0xf7, 0x18, + 0xfb, 0xe2, 0x94, 0x94, 0xbd, 0xf7, 0xe1, 0x85, 0xa3, 0xa1, 0xe4, 0x2c, 0xec, 0x72, 0x3e, 0x8e, + 0xd1, 0xbb, 0xd8, 0x14, 0x6f, 0x7a, 0x97, 0xf4, 0xa6, 0x9b, 0x50, 0x61, 0x61, 0x28, 0x8d, 0x41, + 0x1b, 0xbe, 0x01, 0xbc, 0x4f, 0x60, 0xcb, 0x08, 0x30, 0xab, 0x7c, 0x3c, 0xe1, 0x13, 0x7e, 0x2f, + 0x51, 0x72, 0x6a, 0x7a, 0xff, 0xec, 0xa5, 0xcb, 0xd0, 0x58, 0x71, 0x17, 0xf0, 0x18, 0x31, 0x4a, + 0xff, 0x3a, 0x08, 0x6d, 0xb0, 0xe5, 0xb0, 0xf7, 0x53, 0x17, 0xe0, 0x30, 0x7f, 0x6d, 0xbb, 0x24, + 0x4c, 0x2f, 0x4f, 0xb1, 0x85, 0x6b, 0x4c, 0x79, 0xe9, 0x9b, 0xe1, 0x6f, 0xe5, 0x2f, 0x38, 0xae, + 0x8e, 0xbf, 0xc5, 0x57, 0x98, 0x99, 0x1e, 0x76, 0x02, 0x9d, 0x3f, 0xde, 0xcc, 0xcd, 0xd0, 0x2a, + 0x8b, 0x33, 0xb4, 0x85, 0x9c, 0x51, 0xbd, 0x98, 0x33, 0xb6, 0xa0, 0x3a, 0x8c, 0xc2, 0x90, 0x27, + 0xba, 0x79, 0xae, 0xfb, 0x16, 0x42, 0xcb, 0xa0, 0x1d, 0x44, 0x12, 0x4f, 0xb3, 0xcb, 0x4a, 0x06, + 0xd3, 0xbb, 0x50, 0x51, 0xfa, 0x4d, 0xb2, 0xae, 0x5d, 0x7c, 0xb1, 0x8c, 0xcc, 0x9e, 0x69, 0x75, + 0xaa, 0x30, 0xb4, 0x98, 0x80, 0xa2, 0xd4, 0x4e, 0x89, 0x43, 0x7d, 0x99, 0xaa, 0xfb, 0x05, 0x8c, + 0xf7, 0xd7, 0x4e, 0x3e, 0x91, 0x6f, 0x40, 0xa5, 0xcf, 0xd2, 0x28, 0x30, 0x73, 0xa5, 0xb1, 0x14, + 0x27, 0x66, 0xea, 0x50, 0x07, 0x57, 0x89, 0x50, 0x90, 0x12, 0xb6, 0x03, 0x29, 0xc7, 0xc2, 0xdf, + 0x04, 0x98, 0xbd, 0x88, 0x12, 0x17, 0x3d, 0x37, 0xb3, 0xaa, 0x19, 0x2b, 0x69, 0xd6, 0x2a, 0xc6, + 0x46, 0x98, 0x0f, 0xac, 0x6b, 0xb8, 0x82, 0xce, 0x8c, 0xa4, 0x8e, 0x34, 0x89, 0x50, 0xdc, 0x34, + 0x41, 0x29, 0x66, 0x74, 0x02, 0x28, 0x06, 0x53, 0x41, 0x9f, 0xa5, 0x9c, 0x6c, 0x7a, 0x7f, 0x39, + 0x53, 0xed, 0xf5, 0xbc, 0xcc, 0x2e, 0x73, 0x48, 0x4f, 0x2b, 0xc4, 0xf7, 0x60, 0x43, 0xf2, 0xef, + 0x4f, 0xa2, 0xb9, 0xa7, 0x9f, 0x67, 0x78, 0xcb, 0x45, 0x0e, 0xef, 0x0c, 0x36, 0x32, 0xe0, 0xbb, + 0x91, 0x1a, 0xea, 0xd6, 0x93, 0xde, 0x2d, 0xbc, 0x4d, 0x39, 0xb6, 0x20, 0x3d, 0x45, 0xe4, 0xec, + 0x2d, 0x2a, 0x6f, 0x6b, 0x4b, 0xcb, 0xb4, 0xb5, 0x7f, 0x55, 0xbb, 0xf2, 0x32, 0xf9, 0x16, 0x54, + 0x4f, 0xcc, 0x7d, 0xcc, 0xdc, 0x43, 0xbe, 0xfa, 0x94, 0xf5, 0xed, 0x9d, 0xcb, 0x12, 0x5f, 0x3a, + 0x9f, 0x78, 0x07, 0xd6, 0x42, 0x7e, 0xc2, 0x26, 0xb1, 0x3a, 0x5e, 0xa2, 0xeb, 0x9e, 0xa3, 0xa5, + 0xbb, 0xfa, 0x6a, 0xc8, 0x7a, 0x66, 0x04, 0x54, 0xd1, 0xaa, 0x78, 0x4f, 0x51, 0x45, 0x67, 0x62, + 0x43, 0xe9, 0x17, 0xb8, 0x0a, 0xd1, 0x51, 0xbd, 0x2c, 0x3a, 0xb0, 0xe7, 0xb3, 0x71, 0x93, 0xc3, + 0xe6, 0x92, 0x62, 0x7e, 0x67, 0xe2, 0xf5, 0x93, 0x6e, 0xdd, 0xbf, 0x80, 0xc7, 0xdc, 0x36, 0x9a, + 0xc4, 0x2a, 0xb2, 0x83, 0x07, 0x03, 0x2c, 0xbe, 0xfc, 0x37, 0x2e, 0xbe, 0xfc, 0xbf, 0x07, 0x90, + 0x72, 0x4c, 0x65, 0xdd, 0x28, 0x50, 0xad, 0x35, 0xed, 0x39, 0x37, 0x9e, 0xb6, 0xb7, 0x43, 0x1d, + 0xe9, 0x7e, 0x81, 0x03, 0xf5, 0x1f, 0xb1, 0xf3, 0x3d, 0xec, 0xf6, 0x5a, 0xeb, 0xba, 0x9f, 0xcc, + 0xe1, 0xc5, 0x9c, 0xd1, 0xbc, 0x98, 0x33, 0xee, 0x42, 0x25, 0x0d, 0xc4, 0x98, 0xeb, 0xd7, 0xd7, + 0xa7, 0x9f, 0x6f, 0xa7, 0x87, 0x44, 0xbe, 0xa1, 0xd5, 0x8f, 0x03, 0x98, 0xaa, 0x85, 0xd4, 0xef, + 0xae, 0x0d, 0x3f, 0x03, 0xdb, 0xbf, 0x70, 0xa0, 0x6a, 0x74, 0xbc, 0xac, 0x8b, 0xd5, 0x77, 0x86, + 0x52, 0xe1, 0x8d, 0x23, 0x7f, 0x4b, 0x28, 0x17, 0xdf, 0x12, 0xde, 0xc9, 0x74, 0x32, 0x09, 0xf4, + 0x95, 0xab, 0x8d, 0x31, 0xa7, 0x9a, 0xf7, 0x1a, 0x54, 0x34, 0x8c, 0x19, 0x20, 0x16, 0x01, 0x8b, + 0xcd, 0x1d, 0x5c, 0xce, 0xea, 0x19, 0x64, 0x2e, 0x4d, 0x4a, 0xde, 0xf7, 0x32, 0x6a, 0xc8, 0x1a, + 0x17, 0xd3, 0xf4, 0xe0, 0x6a, 0xc4, 0xa1, 0x9b, 0x40, 0x52, 0xae, 0x0e, 0x4f, 0x8e, 0x86, 0xbc, + 0xc7, 0x46, 0x5c, 0xe7, 0xa5, 0x12, 0x6d, 0xc1, 0xa6, 0xa1, 0x4d, 0xe7, 0xbf, 0xe8, 0xd2, 0x1c, + 0x47, 0x7d, 0xc9, 0xe4, 0x94, 0xb8, 0xde, 0x7b, 0x7a, 0xe6, 0x90, 0x79, 0xdf, 0x6a, 0xfe, 0x57, + 0x15, 0x93, 0x09, 0x43, 0x2e, 0x31, 0x55, 0x9a, 0x89, 0x10, 0x33, 0xcd, 0xba, 0x99, 0x86, 0x1a, + 0xad, 0xcb, 0xde, 0x6e, 0xa1, 0x05, 0x98, 0xaf, 0x45, 0xce, 0xb2, 0xb5, 0xc8, 0x7b, 0x00, 0xd7, + 0x32, 0xb4, 0x31, 0x16, 0x96, 0xa7, 0x9a, 0x18, 0x17, 0xe5, 0x3c, 0xcb, 0xd7, 0x32, 0xf2, 0xdb, + 0x7f, 0x57, 0x86, 0xe6, 0x7c, 0x3d, 0xd0, 0xf7, 0x29, 0xa3, 0xfb, 0x61, 0x1c, 0x9a, 0x0b, 0xd7, + 0x2e, 0x06, 0x46, 0x20, 0x27, 0xa3, 0x7e, 0x6a, 0xd2, 0xbc, 0x6e, 0x20, 0x09, 0x7e, 0x7a, 0x64, + 0xb2, 0xbf, 0x46, 0x6c, 0xe0, 0xa7, 0x7d, 0x31, 0xe2, 0xe4, 0x66, 0xf1, 0xc9, 0xf1, 0xf5, 0xec, + 0x71, 0x52, 0xa7, 0xeb, 0x0f, 0xb0, 0x38, 0xf4, 0xb8, 0x22, 0x3b, 0xd8, 0xd8, 0xf4, 0x8e, 0x66, + 0x59, 0x99, 0x7c, 0x42, 0x1b, 0x76, 0x82, 0xfd, 0xc3, 0x12, 0x5d, 0x2f, 0xf4, 0x38, 0x3f, 0x2f, + 0xd1, 0x4d, 0xb8, 0xb6, 0x3b, 0x49, 0xc2, 0x98, 0x87, 0x39, 0xf6, 0x6f, 0x34, 0x56, 0x3f, 0x3a, + 0x28, 0x7d, 0x8b, 0xd4, 0x42, 0x7e, 0x86, 0x87, 0x79, 0xbd, 0x80, 0xcd, 0xdb, 0x9e, 0x3f, 0x5b, + 0xfc, 0x92, 0x4b, 0xfa, 0xf3, 0xa2, 0xfc, 0x9c, 0xfe, 0x87, 0x2e, 0x62, 0x0f, 0x92, 0x90, 0x9f, + 0x17, 0xb0, 0x3f, 0x72, 0xe9, 0x16, 0x6c, 0x58, 0xda, 0x82, 0xf2, 0x7f, 0xe4, 0xd2, 0xeb, 0xd0, + 0xdc, 0x31, 0x66, 0xb7, 0x56, 0x21, 0x3f, 0xc6, 0xfb, 0xae, 0xdb, 0xc5, 0x35, 0xfe, 0xd8, 0xa5, + 0x1b, 0xb0, 0xf6, 0x5d, 0x21, 0x4f, 0x75, 0x11, 0x43, 0xdb, 0xfe, 0x04, 0x7b, 0xbd, 0x46, 0x8e, + 0x22, 0x7f, 0xe2, 0xd2, 0x17, 0x81, 0xce, 0x1f, 0xae, 0x1e, 0x31, 0xfe, 0xd4, 0xbd, 0xfd, 0x0f, + 0x0e, 0x34, 0xe7, 0x13, 0x33, 0x5a, 0x35, 0x16, 0xc9, 0x00, 0x83, 0xce, 0x0c, 0xe3, 0xd3, 0xa1, + 0x90, 0x4a, 0x83, 0x3a, 0x22, 0x12, 0xfd, 0x04, 0x63, 0x3a, 0xcd, 0x54, 0x31, 0x35, 0x49, 0xcd, + 0x80, 0x4b, 0xb1, 0x01, 0x59, 0xc5, 0xa3, 0x0a, 0x51, 0x2f, 0x37, 0xaf, 0xc2, 0x15, 0x94, 0x18, + 0x64, 0x2f, 0x3a, 0x55, 0x24, 0x9d, 0xc8, 0xd8, 0x54, 0x63, 0x3e, 0x62, 0x51, 0x6c, 0xde, 0x9d, + 0xc6, 0x43, 0xec, 0x29, 0x1b, 0x06, 0x2b, 0x3e, 0x8d, 0xcc, 0x0b, 0x8f, 0x8d, 0xb4, 0x10, 0xf5, + 0xc8, 0x7d, 0x95, 0xf0, 0xdd, 0xdb, 0xff, 0xf6, 0xf9, 0x0d, 0xe7, 0xb3, 0xcf, 0x6f, 0x38, 0xff, + 0xf5, 0xf9, 0x0d, 0xe7, 0x67, 0x5f, 0xdc, 0x58, 0xf9, 0xec, 0x8b, 0x1b, 0x2b, 0xbf, 0xfc, 0xe2, + 0xc6, 0xca, 0xf7, 0xc8, 0xe2, 0x9f, 0xd0, 0xfa, 0x55, 0x5d, 0x2f, 0xee, 0xfe, 0x5f, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x34, 0x93, 0x9a, 0x90, 0x9f, 0x26, 0x00, 0x00, } func (m *SmartBlockSnapshotBase) Marshal() (dAtA []byte, err error) { @@ -4948,6 +4968,20 @@ func (m *BlockContentText) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.IconImage) > 0 { + i -= len(m.IconImage) + copy(dAtA[i:], m.IconImage) + i = encodeVarintModels(dAtA, i, uint64(len(m.IconImage))) + i-- + dAtA[i] = 0x3a + } + if len(m.IconEmoji) > 0 { + i -= len(m.IconEmoji) + copy(dAtA[i:], m.IconEmoji) + i = encodeVarintModels(dAtA, i, uint64(len(m.IconEmoji))) + i-- + dAtA[i] = 0x32 + } if len(m.Color) > 0 { i -= len(m.Color) copy(dAtA[i:], m.Color) @@ -6988,6 +7022,14 @@ func (m *BlockContentText) Size() (n int) { if l > 0 { n += 1 + l + sovModels(uint64(l)) } + l = len(m.IconEmoji) + if l > 0 { + n += 1 + l + sovModels(uint64(l)) + } + l = len(m.IconImage) + if l > 0 { + n += 1 + l + sovModels(uint64(l)) + } return n } @@ -9649,6 +9691,70 @@ func (m *BlockContentText) Unmarshal(dAtA []byte) error { } m.Color = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field IconEmoji", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowModels + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthModels + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthModels + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.IconEmoji = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field IconImage", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowModels + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthModels + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthModels + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.IconImage = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipModels(dAtA[iNdEx:]) diff --git a/pkg/lib/pb/model/protos/models.proto b/pkg/lib/pb/model/protos/models.proto index 102e95e79..f98bafecc 100644 --- a/pkg/lib/pb/model/protos/models.proto +++ b/pkg/lib/pb/model/protos/models.proto @@ -172,6 +172,8 @@ message Block { Marks marks = 3; // list of marks to apply to the text bool checked = 4; string color = 5; + string iconEmoji = 6; // used with style Callout + string iconImage = 7; // in case both image and emoji are set, image should has a priority in the UI message Marks { repeated Mark marks = 1; @@ -211,6 +213,8 @@ message Block { Numbered = 10; Toggle = 11; Description = 12; // currently only only one block of this style can exists on a page + Callout = 13; // currently only only one block of this style can exists on a page + } } diff --git a/pkg/lib/threads/config.go b/pkg/lib/threads/config.go index 83465b546..654318fe9 100644 --- a/pkg/lib/threads/config.go +++ b/pkg/lib/threads/config.go @@ -6,10 +6,6 @@ import ( cafePb "github.com/anytypeio/go-anytype-middleware/pkg/lib/cafe/pb" ) -const ( - defaultCafeNodeP2P = "/dns4/cafe1.anytype.io/tcp/4001/p2p/12D3KooWKwPC165PptjnzYzGrEs7NSjsF5vvMmxmuqpA2VfaBbLw" -) - type CafeConfigFetcher interface { GetCafeConfig() *cafePb.GetConfigResponseConfig } @@ -47,6 +43,7 @@ var DefaultConfig = Config{ Debug: false, Metrics: false, PubSub: true, - CafeP2PAddr: defaultCafeNodeP2P, CafePermanentConnection: true, + // CafeP2PAddr is being set later when we have the global config + // We probably should refactor this default config logic for threads } diff --git a/pkg/lib/threads/service.go b/pkg/lib/threads/service.go index f55a9c20a..31da2fb27 100644 --- a/pkg/lib/threads/service.go +++ b/pkg/lib/threads/service.go @@ -27,7 +27,6 @@ import ( "github.com/textileio/go-threads/crypto/symmetric" threadsDb "github.com/textileio/go-threads/db" "github.com/textileio/go-threads/db/keytransform" - threadsMetrics "github.com/textileio/go-threads/metrics" "google.golang.org/grpc" "github.com/anytypeio/go-anytype-middleware/app" @@ -216,13 +215,12 @@ func (s *service) Run() (err error) { syncBook = s.logstore } - ctx := context.WithValue(s.ctx, threadsMetrics.ContextKey{}, metrics.NewThreadsMetrics()) - - s.t, err = threadsNet.NewNetwork(ctx, s.ipfsNode.GetHost(), s.ipfsNode.BlockStore(), s.ipfsNode, s.logstore, threadsNet.Config{ + s.t, err = threadsNet.NewNetwork(s.ctx, s.ipfsNode.GetHost(), s.ipfsNode.BlockStore(), s.ipfsNode, s.logstore, threadsNet.Config{ Debug: s.Debug, PubSub: s.PubSub, SyncTracking: s.SyncTracking, SyncBook: syncBook, + Metrics: metrics.NewThreadsMetrics(), }, s.GRPCServerOptions, s.GRPCDialOptions) if err != nil { return err diff --git a/util/unsplash/unsplash.go b/util/unsplash/unsplash.go index d09df3f8d..d85706348 100644 --- a/util/unsplash/unsplash.go +++ b/util/unsplash/unsplash.go @@ -203,7 +203,14 @@ func (l *unsplashService) Download(ctx context.Context, id string) (imgPath stri return "", err } } - req, err := http.NewRequest("GET", picture.PictureFullUrl, nil) + + // we must call download endpoint according to the API guidelines + picUrl, _, err := l.client.Photos.DownloadLink(id) + if err != nil { + return "", err + } + + req, err := http.NewRequest("GET", picUrl.String(), nil) if err != nil { return "", err }