1
0

iam_policy.pb.go 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411
  1. // Code generated by protoc-gen-go. DO NOT EDIT.
  2. // source: google/iam/v1/iam_policy.proto
  3. package iam // import "google.golang.org/genproto/googleapis/iam/v1"
  4. import proto "github.com/golang/protobuf/proto"
  5. import fmt "fmt"
  6. import math "math"
  7. import _ "google.golang.org/genproto/googleapis/api/annotations"
  8. import (
  9. context "golang.org/x/net/context"
  10. grpc "google.golang.org/grpc"
  11. )
  12. // Reference imports to suppress errors if they are not otherwise used.
  13. var _ = proto.Marshal
  14. var _ = fmt.Errorf
  15. var _ = math.Inf
  16. // This is a compile-time assertion to ensure that this generated file
  17. // is compatible with the proto package it is being compiled against.
  18. // A compilation error at this line likely means your copy of the
  19. // proto package needs to be updated.
  20. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
  21. // Request message for `SetIamPolicy` method.
  22. type SetIamPolicyRequest struct {
  23. // REQUIRED: The resource for which the policy is being specified.
  24. // `resource` is usually specified as a path. For example, a Project
  25. // resource is specified as `projects/{project}`.
  26. Resource string `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"`
  27. // REQUIRED: The complete policy to be applied to the `resource`. The size of
  28. // the policy is limited to a few 10s of KB. An empty policy is a
  29. // valid policy but certain Cloud Platform services (such as Projects)
  30. // might reject them.
  31. Policy *Policy `protobuf:"bytes,2,opt,name=policy,proto3" json:"policy,omitempty"`
  32. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  33. XXX_unrecognized []byte `json:"-"`
  34. XXX_sizecache int32 `json:"-"`
  35. }
  36. func (m *SetIamPolicyRequest) Reset() { *m = SetIamPolicyRequest{} }
  37. func (m *SetIamPolicyRequest) String() string { return proto.CompactTextString(m) }
  38. func (*SetIamPolicyRequest) ProtoMessage() {}
  39. func (*SetIamPolicyRequest) Descriptor() ([]byte, []int) {
  40. return fileDescriptor_iam_policy_58547b5cf2e9d67a, []int{0}
  41. }
  42. func (m *SetIamPolicyRequest) XXX_Unmarshal(b []byte) error {
  43. return xxx_messageInfo_SetIamPolicyRequest.Unmarshal(m, b)
  44. }
  45. func (m *SetIamPolicyRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  46. return xxx_messageInfo_SetIamPolicyRequest.Marshal(b, m, deterministic)
  47. }
  48. func (dst *SetIamPolicyRequest) XXX_Merge(src proto.Message) {
  49. xxx_messageInfo_SetIamPolicyRequest.Merge(dst, src)
  50. }
  51. func (m *SetIamPolicyRequest) XXX_Size() int {
  52. return xxx_messageInfo_SetIamPolicyRequest.Size(m)
  53. }
  54. func (m *SetIamPolicyRequest) XXX_DiscardUnknown() {
  55. xxx_messageInfo_SetIamPolicyRequest.DiscardUnknown(m)
  56. }
  57. var xxx_messageInfo_SetIamPolicyRequest proto.InternalMessageInfo
  58. func (m *SetIamPolicyRequest) GetResource() string {
  59. if m != nil {
  60. return m.Resource
  61. }
  62. return ""
  63. }
  64. func (m *SetIamPolicyRequest) GetPolicy() *Policy {
  65. if m != nil {
  66. return m.Policy
  67. }
  68. return nil
  69. }
  70. // Request message for `GetIamPolicy` method.
  71. type GetIamPolicyRequest struct {
  72. // REQUIRED: The resource for which the policy is being requested.
  73. // `resource` is usually specified as a path. For example, a Project
  74. // resource is specified as `projects/{project}`.
  75. Resource string `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"`
  76. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  77. XXX_unrecognized []byte `json:"-"`
  78. XXX_sizecache int32 `json:"-"`
  79. }
  80. func (m *GetIamPolicyRequest) Reset() { *m = GetIamPolicyRequest{} }
  81. func (m *GetIamPolicyRequest) String() string { return proto.CompactTextString(m) }
  82. func (*GetIamPolicyRequest) ProtoMessage() {}
  83. func (*GetIamPolicyRequest) Descriptor() ([]byte, []int) {
  84. return fileDescriptor_iam_policy_58547b5cf2e9d67a, []int{1}
  85. }
  86. func (m *GetIamPolicyRequest) XXX_Unmarshal(b []byte) error {
  87. return xxx_messageInfo_GetIamPolicyRequest.Unmarshal(m, b)
  88. }
  89. func (m *GetIamPolicyRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  90. return xxx_messageInfo_GetIamPolicyRequest.Marshal(b, m, deterministic)
  91. }
  92. func (dst *GetIamPolicyRequest) XXX_Merge(src proto.Message) {
  93. xxx_messageInfo_GetIamPolicyRequest.Merge(dst, src)
  94. }
  95. func (m *GetIamPolicyRequest) XXX_Size() int {
  96. return xxx_messageInfo_GetIamPolicyRequest.Size(m)
  97. }
  98. func (m *GetIamPolicyRequest) XXX_DiscardUnknown() {
  99. xxx_messageInfo_GetIamPolicyRequest.DiscardUnknown(m)
  100. }
  101. var xxx_messageInfo_GetIamPolicyRequest proto.InternalMessageInfo
  102. func (m *GetIamPolicyRequest) GetResource() string {
  103. if m != nil {
  104. return m.Resource
  105. }
  106. return ""
  107. }
  108. // Request message for `TestIamPermissions` method.
  109. type TestIamPermissionsRequest struct {
  110. // REQUIRED: The resource for which the policy detail is being requested.
  111. // `resource` is usually specified as a path. For example, a Project
  112. // resource is specified as `projects/{project}`.
  113. Resource string `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"`
  114. // The set of permissions to check for the `resource`. Permissions with
  115. // wildcards (such as '*' or 'storage.*') are not allowed. For more
  116. // information see
  117. // [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
  118. Permissions []string `protobuf:"bytes,2,rep,name=permissions,proto3" json:"permissions,omitempty"`
  119. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  120. XXX_unrecognized []byte `json:"-"`
  121. XXX_sizecache int32 `json:"-"`
  122. }
  123. func (m *TestIamPermissionsRequest) Reset() { *m = TestIamPermissionsRequest{} }
  124. func (m *TestIamPermissionsRequest) String() string { return proto.CompactTextString(m) }
  125. func (*TestIamPermissionsRequest) ProtoMessage() {}
  126. func (*TestIamPermissionsRequest) Descriptor() ([]byte, []int) {
  127. return fileDescriptor_iam_policy_58547b5cf2e9d67a, []int{2}
  128. }
  129. func (m *TestIamPermissionsRequest) XXX_Unmarshal(b []byte) error {
  130. return xxx_messageInfo_TestIamPermissionsRequest.Unmarshal(m, b)
  131. }
  132. func (m *TestIamPermissionsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  133. return xxx_messageInfo_TestIamPermissionsRequest.Marshal(b, m, deterministic)
  134. }
  135. func (dst *TestIamPermissionsRequest) XXX_Merge(src proto.Message) {
  136. xxx_messageInfo_TestIamPermissionsRequest.Merge(dst, src)
  137. }
  138. func (m *TestIamPermissionsRequest) XXX_Size() int {
  139. return xxx_messageInfo_TestIamPermissionsRequest.Size(m)
  140. }
  141. func (m *TestIamPermissionsRequest) XXX_DiscardUnknown() {
  142. xxx_messageInfo_TestIamPermissionsRequest.DiscardUnknown(m)
  143. }
  144. var xxx_messageInfo_TestIamPermissionsRequest proto.InternalMessageInfo
  145. func (m *TestIamPermissionsRequest) GetResource() string {
  146. if m != nil {
  147. return m.Resource
  148. }
  149. return ""
  150. }
  151. func (m *TestIamPermissionsRequest) GetPermissions() []string {
  152. if m != nil {
  153. return m.Permissions
  154. }
  155. return nil
  156. }
  157. // Response message for `TestIamPermissions` method.
  158. type TestIamPermissionsResponse struct {
  159. // A subset of `TestPermissionsRequest.permissions` that the caller is
  160. // allowed.
  161. Permissions []string `protobuf:"bytes,1,rep,name=permissions,proto3" json:"permissions,omitempty"`
  162. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  163. XXX_unrecognized []byte `json:"-"`
  164. XXX_sizecache int32 `json:"-"`
  165. }
  166. func (m *TestIamPermissionsResponse) Reset() { *m = TestIamPermissionsResponse{} }
  167. func (m *TestIamPermissionsResponse) String() string { return proto.CompactTextString(m) }
  168. func (*TestIamPermissionsResponse) ProtoMessage() {}
  169. func (*TestIamPermissionsResponse) Descriptor() ([]byte, []int) {
  170. return fileDescriptor_iam_policy_58547b5cf2e9d67a, []int{3}
  171. }
  172. func (m *TestIamPermissionsResponse) XXX_Unmarshal(b []byte) error {
  173. return xxx_messageInfo_TestIamPermissionsResponse.Unmarshal(m, b)
  174. }
  175. func (m *TestIamPermissionsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  176. return xxx_messageInfo_TestIamPermissionsResponse.Marshal(b, m, deterministic)
  177. }
  178. func (dst *TestIamPermissionsResponse) XXX_Merge(src proto.Message) {
  179. xxx_messageInfo_TestIamPermissionsResponse.Merge(dst, src)
  180. }
  181. func (m *TestIamPermissionsResponse) XXX_Size() int {
  182. return xxx_messageInfo_TestIamPermissionsResponse.Size(m)
  183. }
  184. func (m *TestIamPermissionsResponse) XXX_DiscardUnknown() {
  185. xxx_messageInfo_TestIamPermissionsResponse.DiscardUnknown(m)
  186. }
  187. var xxx_messageInfo_TestIamPermissionsResponse proto.InternalMessageInfo
  188. func (m *TestIamPermissionsResponse) GetPermissions() []string {
  189. if m != nil {
  190. return m.Permissions
  191. }
  192. return nil
  193. }
  194. func init() {
  195. proto.RegisterType((*SetIamPolicyRequest)(nil), "google.iam.v1.SetIamPolicyRequest")
  196. proto.RegisterType((*GetIamPolicyRequest)(nil), "google.iam.v1.GetIamPolicyRequest")
  197. proto.RegisterType((*TestIamPermissionsRequest)(nil), "google.iam.v1.TestIamPermissionsRequest")
  198. proto.RegisterType((*TestIamPermissionsResponse)(nil), "google.iam.v1.TestIamPermissionsResponse")
  199. }
  200. // Reference imports to suppress errors if they are not otherwise used.
  201. var _ context.Context
  202. var _ grpc.ClientConn
  203. // This is a compile-time assertion to ensure that this generated file
  204. // is compatible with the grpc package it is being compiled against.
  205. const _ = grpc.SupportPackageIsVersion4
  206. // IAMPolicyClient is the client API for IAMPolicy service.
  207. //
  208. // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  209. type IAMPolicyClient interface {
  210. // Sets the access control policy on the specified resource. Replaces any
  211. // existing policy.
  212. SetIamPolicy(ctx context.Context, in *SetIamPolicyRequest, opts ...grpc.CallOption) (*Policy, error)
  213. // Gets the access control policy for a resource.
  214. // Returns an empty policy if the resource exists and does not have a policy
  215. // set.
  216. GetIamPolicy(ctx context.Context, in *GetIamPolicyRequest, opts ...grpc.CallOption) (*Policy, error)
  217. // Returns permissions that a caller has on the specified resource.
  218. // If the resource does not exist, this will return an empty set of
  219. // permissions, not a NOT_FOUND error.
  220. TestIamPermissions(ctx context.Context, in *TestIamPermissionsRequest, opts ...grpc.CallOption) (*TestIamPermissionsResponse, error)
  221. }
  222. type iAMPolicyClient struct {
  223. cc *grpc.ClientConn
  224. }
  225. func NewIAMPolicyClient(cc *grpc.ClientConn) IAMPolicyClient {
  226. return &iAMPolicyClient{cc}
  227. }
  228. func (c *iAMPolicyClient) SetIamPolicy(ctx context.Context, in *SetIamPolicyRequest, opts ...grpc.CallOption) (*Policy, error) {
  229. out := new(Policy)
  230. err := c.cc.Invoke(ctx, "/google.iam.v1.IAMPolicy/SetIamPolicy", in, out, opts...)
  231. if err != nil {
  232. return nil, err
  233. }
  234. return out, nil
  235. }
  236. func (c *iAMPolicyClient) GetIamPolicy(ctx context.Context, in *GetIamPolicyRequest, opts ...grpc.CallOption) (*Policy, error) {
  237. out := new(Policy)
  238. err := c.cc.Invoke(ctx, "/google.iam.v1.IAMPolicy/GetIamPolicy", in, out, opts...)
  239. if err != nil {
  240. return nil, err
  241. }
  242. return out, nil
  243. }
  244. func (c *iAMPolicyClient) TestIamPermissions(ctx context.Context, in *TestIamPermissionsRequest, opts ...grpc.CallOption) (*TestIamPermissionsResponse, error) {
  245. out := new(TestIamPermissionsResponse)
  246. err := c.cc.Invoke(ctx, "/google.iam.v1.IAMPolicy/TestIamPermissions", in, out, opts...)
  247. if err != nil {
  248. return nil, err
  249. }
  250. return out, nil
  251. }
  252. // IAMPolicyServer is the server API for IAMPolicy service.
  253. type IAMPolicyServer interface {
  254. // Sets the access control policy on the specified resource. Replaces any
  255. // existing policy.
  256. SetIamPolicy(context.Context, *SetIamPolicyRequest) (*Policy, error)
  257. // Gets the access control policy for a resource.
  258. // Returns an empty policy if the resource exists and does not have a policy
  259. // set.
  260. GetIamPolicy(context.Context, *GetIamPolicyRequest) (*Policy, error)
  261. // Returns permissions that a caller has on the specified resource.
  262. // If the resource does not exist, this will return an empty set of
  263. // permissions, not a NOT_FOUND error.
  264. TestIamPermissions(context.Context, *TestIamPermissionsRequest) (*TestIamPermissionsResponse, error)
  265. }
  266. func RegisterIAMPolicyServer(s *grpc.Server, srv IAMPolicyServer) {
  267. s.RegisterService(&_IAMPolicy_serviceDesc, srv)
  268. }
  269. func _IAMPolicy_SetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  270. in := new(SetIamPolicyRequest)
  271. if err := dec(in); err != nil {
  272. return nil, err
  273. }
  274. if interceptor == nil {
  275. return srv.(IAMPolicyServer).SetIamPolicy(ctx, in)
  276. }
  277. info := &grpc.UnaryServerInfo{
  278. Server: srv,
  279. FullMethod: "/google.iam.v1.IAMPolicy/SetIamPolicy",
  280. }
  281. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  282. return srv.(IAMPolicyServer).SetIamPolicy(ctx, req.(*SetIamPolicyRequest))
  283. }
  284. return interceptor(ctx, in, info, handler)
  285. }
  286. func _IAMPolicy_GetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  287. in := new(GetIamPolicyRequest)
  288. if err := dec(in); err != nil {
  289. return nil, err
  290. }
  291. if interceptor == nil {
  292. return srv.(IAMPolicyServer).GetIamPolicy(ctx, in)
  293. }
  294. info := &grpc.UnaryServerInfo{
  295. Server: srv,
  296. FullMethod: "/google.iam.v1.IAMPolicy/GetIamPolicy",
  297. }
  298. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  299. return srv.(IAMPolicyServer).GetIamPolicy(ctx, req.(*GetIamPolicyRequest))
  300. }
  301. return interceptor(ctx, in, info, handler)
  302. }
  303. func _IAMPolicy_TestIamPermissions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  304. in := new(TestIamPermissionsRequest)
  305. if err := dec(in); err != nil {
  306. return nil, err
  307. }
  308. if interceptor == nil {
  309. return srv.(IAMPolicyServer).TestIamPermissions(ctx, in)
  310. }
  311. info := &grpc.UnaryServerInfo{
  312. Server: srv,
  313. FullMethod: "/google.iam.v1.IAMPolicy/TestIamPermissions",
  314. }
  315. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  316. return srv.(IAMPolicyServer).TestIamPermissions(ctx, req.(*TestIamPermissionsRequest))
  317. }
  318. return interceptor(ctx, in, info, handler)
  319. }
  320. var _IAMPolicy_serviceDesc = grpc.ServiceDesc{
  321. ServiceName: "google.iam.v1.IAMPolicy",
  322. HandlerType: (*IAMPolicyServer)(nil),
  323. Methods: []grpc.MethodDesc{
  324. {
  325. MethodName: "SetIamPolicy",
  326. Handler: _IAMPolicy_SetIamPolicy_Handler,
  327. },
  328. {
  329. MethodName: "GetIamPolicy",
  330. Handler: _IAMPolicy_GetIamPolicy_Handler,
  331. },
  332. {
  333. MethodName: "TestIamPermissions",
  334. Handler: _IAMPolicy_TestIamPermissions_Handler,
  335. },
  336. },
  337. Streams: []grpc.StreamDesc{},
  338. Metadata: "google/iam/v1/iam_policy.proto",
  339. }
  340. func init() {
  341. proto.RegisterFile("google/iam/v1/iam_policy.proto", fileDescriptor_iam_policy_58547b5cf2e9d67a)
  342. }
  343. var fileDescriptor_iam_policy_58547b5cf2e9d67a = []byte{
  344. // 411 bytes of a gzipped FileDescriptorProto
  345. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4b, 0xcf, 0xcf, 0x4f,
  346. 0xcf, 0x49, 0xd5, 0xcf, 0x4c, 0xcc, 0xd5, 0x2f, 0x33, 0x04, 0x51, 0xf1, 0x05, 0xf9, 0x39, 0x99,
  347. 0xc9, 0x95, 0x7a, 0x05, 0x45, 0xf9, 0x25, 0xf9, 0x42, 0xbc, 0x10, 0x79, 0xbd, 0xcc, 0xc4, 0x5c,
  348. 0xbd, 0x32, 0x43, 0x29, 0x19, 0xa8, 0xf2, 0xc4, 0x82, 0x4c, 0xfd, 0xc4, 0xbc, 0xbc, 0xfc, 0x92,
  349. 0xc4, 0x92, 0xcc, 0xfc, 0xbc, 0x62, 0x88, 0x62, 0x29, 0x29, 0x54, 0xc3, 0x90, 0x0d, 0x52, 0x4a,
  350. 0xe0, 0x12, 0x0e, 0x4e, 0x2d, 0xf1, 0x4c, 0xcc, 0x0d, 0x00, 0x8b, 0x06, 0xa5, 0x16, 0x96, 0xa6,
  351. 0x16, 0x97, 0x08, 0x49, 0x71, 0x71, 0x14, 0xa5, 0x16, 0xe7, 0x97, 0x16, 0x25, 0xa7, 0x4a, 0x30,
  352. 0x2a, 0x30, 0x6a, 0x70, 0x06, 0xc1, 0xf9, 0x42, 0xba, 0x5c, 0x6c, 0x10, 0x23, 0x24, 0x98, 0x14,
  353. 0x18, 0x35, 0xb8, 0x8d, 0x44, 0xf5, 0x50, 0x1c, 0xa3, 0x07, 0x35, 0x09, 0xaa, 0x48, 0xc9, 0x90,
  354. 0x4b, 0xd8, 0x9d, 0x34, 0x1b, 0x94, 0x22, 0xb9, 0x24, 0x43, 0x52, 0x8b, 0xc1, 0x7a, 0x52, 0x8b,
  355. 0x72, 0x33, 0x8b, 0x8b, 0x41, 0x9e, 0x21, 0xc6, 0x69, 0x0a, 0x5c, 0xdc, 0x05, 0x08, 0x1d, 0x12,
  356. 0x4c, 0x0a, 0xcc, 0x1a, 0x9c, 0x41, 0xc8, 0x42, 0x4a, 0x76, 0x5c, 0x52, 0xd8, 0x8c, 0x2e, 0x2e,
  357. 0xc8, 0xcf, 0x2b, 0xc6, 0xd0, 0xcf, 0x88, 0xa1, 0xdf, 0x68, 0x0a, 0x33, 0x17, 0xa7, 0xa7, 0xa3,
  358. 0x2f, 0xc4, 0x2f, 0x42, 0x25, 0x5c, 0x3c, 0xc8, 0xa1, 0x27, 0xa4, 0x84, 0x16, 0x14, 0x58, 0x82,
  359. 0x56, 0x0a, 0x7b, 0x70, 0x29, 0x69, 0x36, 0x5d, 0x7e, 0x32, 0x99, 0x49, 0x59, 0x49, 0x0e, 0x14,
  360. 0x45, 0xd5, 0x30, 0x1f, 0xd9, 0x6a, 0x69, 0xd5, 0x5a, 0x15, 0x23, 0x99, 0x62, 0xc5, 0xa8, 0x05,
  361. 0xb2, 0xd5, 0x1d, 0x9f, 0xad, 0xee, 0x54, 0xb1, 0x35, 0x1d, 0xcd, 0xd6, 0x59, 0x8c, 0x5c, 0x42,
  362. 0x98, 0x41, 0x27, 0xa4, 0x81, 0x66, 0x30, 0xce, 0x88, 0x93, 0xd2, 0x24, 0x42, 0x25, 0x24, 0x1e,
  363. 0x94, 0xf4, 0xc1, 0xce, 0xd2, 0x54, 0x52, 0xc1, 0x74, 0x56, 0x09, 0x86, 0x2e, 0x2b, 0x46, 0x2d,
  364. 0xa7, 0x36, 0x46, 0x2e, 0xc1, 0xe4, 0xfc, 0x5c, 0x54, 0x1b, 0x9c, 0xf8, 0xe0, 0x1e, 0x08, 0x00,
  365. 0x25, 0xf6, 0x00, 0xc6, 0x28, 0x03, 0xa8, 0x82, 0xf4, 0xfc, 0x9c, 0xc4, 0xbc, 0x74, 0xbd, 0xfc,
  366. 0xa2, 0x74, 0xfd, 0xf4, 0xd4, 0x3c, 0x70, 0x56, 0xd0, 0x87, 0x48, 0x25, 0x16, 0x64, 0x16, 0x43,
  367. 0x73, 0x8a, 0x75, 0x66, 0x62, 0xee, 0x0f, 0x46, 0xc6, 0x55, 0x4c, 0xc2, 0xee, 0x10, 0x5d, 0xce,
  368. 0x39, 0xf9, 0xa5, 0x29, 0x7a, 0x9e, 0x89, 0xb9, 0x7a, 0x61, 0x86, 0xa7, 0x60, 0xa2, 0x31, 0x60,
  369. 0xd1, 0x18, 0xcf, 0xc4, 0xdc, 0x98, 0x30, 0xc3, 0x24, 0x36, 0xb0, 0x59, 0xc6, 0x80, 0x00, 0x00,
  370. 0x00, 0xff, 0xff, 0xea, 0x62, 0x8f, 0x22, 0xc1, 0x03, 0x00, 0x00,
  371. }