1 // Code generated by protoc-gen-go. DO NOT EDIT.
2 // source: google/pubsub/v1/pubsub.proto
5 Package pubsub is a generated protocol buffer package.
7 It is generated from these files:
8 google/pubsub/v1/pubsub.proto
10 It has these top-level messages:
19 ListTopicSubscriptionsRequest
20 ListTopicSubscriptionsResponse
25 GetSubscriptionRequest
26 UpdateSubscriptionRequest
27 ListSubscriptionsRequest
28 ListSubscriptionsResponse
29 DeleteSubscriptionRequest
30 ModifyPushConfigRequest
33 ModifyAckDeadlineRequest
48 import proto "github.com/golang/protobuf/proto"
51 import _ "google.golang.org/genproto/googleapis/api/annotations"
52 import google_protobuf1 "github.com/golang/protobuf/ptypes/duration"
53 import google_protobuf2 "github.com/golang/protobuf/ptypes/empty"
54 import google_protobuf3 "google.golang.org/genproto/protobuf/field_mask"
55 import google_protobuf4 "github.com/golang/protobuf/ptypes/timestamp"
58 context "golang.org/x/net/context"
59 grpc "google.golang.org/grpc"
62 // Reference imports to suppress errors if they are not otherwise used.
67 // This is a compile-time assertion to ensure that this generated file
68 // is compatible with the proto package it is being compiled against.
69 // A compilation error at this line likely means your copy of the
70 // proto package needs to be updated.
71 const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
75 // The name of the topic. It must have the format
76 // `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter,
77 // and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),
78 // underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent
79 // signs (`%`). It must be between 3 and 255 characters in length, and it
80 // must not start with `"goog"`.
81 Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
83 Labels map[string]string `protobuf:"bytes,2,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
86 func (m *Topic) Reset() { *m = Topic{} }
87 func (m *Topic) String() string { return proto.CompactTextString(m) }
88 func (*Topic) ProtoMessage() {}
89 func (*Topic) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
91 func (m *Topic) GetName() string {
98 func (m *Topic) GetLabels() map[string]string {
105 // A message data and its attributes. The message payload must not be empty;
106 // it must contain either a non-empty data field, or at least one attribute.
107 type PubsubMessage struct {
108 // The message payload.
109 Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
110 // Optional attributes for this message.
111 Attributes map[string]string `protobuf:"bytes,2,rep,name=attributes" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
112 // ID of this message, assigned by the server when the message is published.
113 // Guaranteed to be unique within the topic. This value may be read by a
114 // subscriber that receives a `PubsubMessage` via a `Pull` call or a push
115 // delivery. It must not be populated by the publisher in a `Publish` call.
116 MessageId string `protobuf:"bytes,3,opt,name=message_id,json=messageId" json:"message_id,omitempty"`
117 // The time at which the message was published, populated by the server when
118 // it receives the `Publish` call. It must not be populated by the
119 // publisher in a `Publish` call.
120 PublishTime *google_protobuf4.Timestamp `protobuf:"bytes,4,opt,name=publish_time,json=publishTime" json:"publish_time,omitempty"`
123 func (m *PubsubMessage) Reset() { *m = PubsubMessage{} }
124 func (m *PubsubMessage) String() string { return proto.CompactTextString(m) }
125 func (*PubsubMessage) ProtoMessage() {}
126 func (*PubsubMessage) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
128 func (m *PubsubMessage) GetData() []byte {
135 func (m *PubsubMessage) GetAttributes() map[string]string {
142 func (m *PubsubMessage) GetMessageId() string {
149 func (m *PubsubMessage) GetPublishTime() *google_protobuf4.Timestamp {
156 // Request for the GetTopic method.
157 type GetTopicRequest struct {
158 // The name of the topic to get.
159 // Format is `projects/{project}/topics/{topic}`.
160 Topic string `protobuf:"bytes,1,opt,name=topic" json:"topic,omitempty"`
163 func (m *GetTopicRequest) Reset() { *m = GetTopicRequest{} }
164 func (m *GetTopicRequest) String() string { return proto.CompactTextString(m) }
165 func (*GetTopicRequest) ProtoMessage() {}
166 func (*GetTopicRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
168 func (m *GetTopicRequest) GetTopic() string {
175 // Request for the UpdateTopic method.
176 type UpdateTopicRequest struct {
177 // The topic to update.
178 Topic *Topic `protobuf:"bytes,1,opt,name=topic" json:"topic,omitempty"`
179 // Indicates which fields in the provided topic to update.
180 // Must be specified and non-empty.
181 UpdateMask *google_protobuf3.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask" json:"update_mask,omitempty"`
184 func (m *UpdateTopicRequest) Reset() { *m = UpdateTopicRequest{} }
185 func (m *UpdateTopicRequest) String() string { return proto.CompactTextString(m) }
186 func (*UpdateTopicRequest) ProtoMessage() {}
187 func (*UpdateTopicRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
189 func (m *UpdateTopicRequest) GetTopic() *Topic {
196 func (m *UpdateTopicRequest) GetUpdateMask() *google_protobuf3.FieldMask {
203 // Request for the Publish method.
204 type PublishRequest struct {
205 // The messages in the request will be published on this topic.
206 // Format is `projects/{project}/topics/{topic}`.
207 Topic string `protobuf:"bytes,1,opt,name=topic" json:"topic,omitempty"`
208 // The messages to publish.
209 Messages []*PubsubMessage `protobuf:"bytes,2,rep,name=messages" json:"messages,omitempty"`
212 func (m *PublishRequest) Reset() { *m = PublishRequest{} }
213 func (m *PublishRequest) String() string { return proto.CompactTextString(m) }
214 func (*PublishRequest) ProtoMessage() {}
215 func (*PublishRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
217 func (m *PublishRequest) GetTopic() string {
224 func (m *PublishRequest) GetMessages() []*PubsubMessage {
231 // Response for the `Publish` method.
232 type PublishResponse struct {
233 // The server-assigned ID of each published message, in the same order as
234 // the messages in the request. IDs are guaranteed to be unique within
236 MessageIds []string `protobuf:"bytes,1,rep,name=message_ids,json=messageIds" json:"message_ids,omitempty"`
239 func (m *PublishResponse) Reset() { *m = PublishResponse{} }
240 func (m *PublishResponse) String() string { return proto.CompactTextString(m) }
241 func (*PublishResponse) ProtoMessage() {}
242 func (*PublishResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
244 func (m *PublishResponse) GetMessageIds() []string {
251 // Request for the `ListTopics` method.
252 type ListTopicsRequest struct {
253 // The name of the cloud project that topics belong to.
254 // Format is `projects/{project}`.
255 Project string `protobuf:"bytes,1,opt,name=project" json:"project,omitempty"`
256 // Maximum number of topics to return.
257 PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
258 // The value returned by the last `ListTopicsResponse`; indicates that this is
259 // a continuation of a prior `ListTopics` call, and that the system should
260 // return the next page of data.
261 PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
264 func (m *ListTopicsRequest) Reset() { *m = ListTopicsRequest{} }
265 func (m *ListTopicsRequest) String() string { return proto.CompactTextString(m) }
266 func (*ListTopicsRequest) ProtoMessage() {}
267 func (*ListTopicsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
269 func (m *ListTopicsRequest) GetProject() string {
276 func (m *ListTopicsRequest) GetPageSize() int32 {
283 func (m *ListTopicsRequest) GetPageToken() string {
290 // Response for the `ListTopics` method.
291 type ListTopicsResponse struct {
292 // The resulting topics.
293 Topics []*Topic `protobuf:"bytes,1,rep,name=topics" json:"topics,omitempty"`
294 // If not empty, indicates that there may be more topics that match the
295 // request; this value should be passed in a new `ListTopicsRequest`.
296 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
299 func (m *ListTopicsResponse) Reset() { *m = ListTopicsResponse{} }
300 func (m *ListTopicsResponse) String() string { return proto.CompactTextString(m) }
301 func (*ListTopicsResponse) ProtoMessage() {}
302 func (*ListTopicsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
304 func (m *ListTopicsResponse) GetTopics() []*Topic {
311 func (m *ListTopicsResponse) GetNextPageToken() string {
313 return m.NextPageToken
318 // Request for the `ListTopicSubscriptions` method.
319 type ListTopicSubscriptionsRequest struct {
320 // The name of the topic that subscriptions are attached to.
321 // Format is `projects/{project}/topics/{topic}`.
322 Topic string `protobuf:"bytes,1,opt,name=topic" json:"topic,omitempty"`
323 // Maximum number of subscription names to return.
324 PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
325 // The value returned by the last `ListTopicSubscriptionsResponse`; indicates
326 // that this is a continuation of a prior `ListTopicSubscriptions` call, and
327 // that the system should return the next page of data.
328 PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
331 func (m *ListTopicSubscriptionsRequest) Reset() { *m = ListTopicSubscriptionsRequest{} }
332 func (m *ListTopicSubscriptionsRequest) String() string { return proto.CompactTextString(m) }
333 func (*ListTopicSubscriptionsRequest) ProtoMessage() {}
334 func (*ListTopicSubscriptionsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
336 func (m *ListTopicSubscriptionsRequest) GetTopic() string {
343 func (m *ListTopicSubscriptionsRequest) GetPageSize() int32 {
350 func (m *ListTopicSubscriptionsRequest) GetPageToken() string {
357 // Response for the `ListTopicSubscriptions` method.
358 type ListTopicSubscriptionsResponse struct {
359 // The names of the subscriptions that match the request.
360 Subscriptions []string `protobuf:"bytes,1,rep,name=subscriptions" json:"subscriptions,omitempty"`
361 // If not empty, indicates that there may be more subscriptions that match
362 // the request; this value should be passed in a new
363 // `ListTopicSubscriptionsRequest` to get more subscriptions.
364 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
367 func (m *ListTopicSubscriptionsResponse) Reset() { *m = ListTopicSubscriptionsResponse{} }
368 func (m *ListTopicSubscriptionsResponse) String() string { return proto.CompactTextString(m) }
369 func (*ListTopicSubscriptionsResponse) ProtoMessage() {}
370 func (*ListTopicSubscriptionsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
372 func (m *ListTopicSubscriptionsResponse) GetSubscriptions() []string {
374 return m.Subscriptions
379 func (m *ListTopicSubscriptionsResponse) GetNextPageToken() string {
381 return m.NextPageToken
386 // Request for the `DeleteTopic` method.
387 type DeleteTopicRequest struct {
388 // Name of the topic to delete.
389 // Format is `projects/{project}/topics/{topic}`.
390 Topic string `protobuf:"bytes,1,opt,name=topic" json:"topic,omitempty"`
393 func (m *DeleteTopicRequest) Reset() { *m = DeleteTopicRequest{} }
394 func (m *DeleteTopicRequest) String() string { return proto.CompactTextString(m) }
395 func (*DeleteTopicRequest) ProtoMessage() {}
396 func (*DeleteTopicRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
398 func (m *DeleteTopicRequest) GetTopic() string {
405 // A subscription resource.
406 type Subscription struct {
407 // The name of the subscription. It must have the format
408 // `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must
409 // start with a letter, and contain only letters (`[A-Za-z]`), numbers
410 // (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
411 // plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
412 // in length, and it must not start with `"goog"`.
413 Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
414 // The name of the topic from which this subscription is receiving messages.
415 // Format is `projects/{project}/topics/{topic}`.
416 // The value of this field will be `_deleted-topic_` if the topic has been
418 Topic string `protobuf:"bytes,2,opt,name=topic" json:"topic,omitempty"`
419 // If push delivery is used with this subscription, this field is
420 // used to configure it. An empty `pushConfig` signifies that the subscriber
421 // will pull and ack messages using API methods.
422 PushConfig *PushConfig `protobuf:"bytes,4,opt,name=push_config,json=pushConfig" json:"push_config,omitempty"`
423 // This value is the maximum time after a subscriber receives a message
424 // before the subscriber should acknowledge the message. After message
425 // delivery but before the ack deadline expires and before the message is
426 // acknowledged, it is an outstanding message and will not be delivered
427 // again during that time (on a best-effort basis).
429 // For pull subscriptions, this value is used as the initial value for the ack
430 // deadline. To override this value for a given message, call
431 // `ModifyAckDeadline` with the corresponding `ack_id` if using
433 // The minimum custom deadline you can specify is 10 seconds.
434 // The maximum custom deadline you can specify is 600 seconds (10 minutes).
435 // If this parameter is 0, a default value of 10 seconds is used.
437 // For push delivery, this value is also used to set the request timeout for
438 // the call to the push endpoint.
440 // If the subscriber never acknowledges the message, the Pub/Sub
441 // system will eventually redeliver the message.
442 AckDeadlineSeconds int32 `protobuf:"varint,5,opt,name=ack_deadline_seconds,json=ackDeadlineSeconds" json:"ack_deadline_seconds,omitempty"`
443 // Indicates whether to retain acknowledged messages. If true, then
444 // messages are not expunged from the subscription's backlog, even if they are
445 // acknowledged, until they fall out of the `message_retention_duration`
447 RetainAckedMessages bool `protobuf:"varint,7,opt,name=retain_acked_messages,json=retainAckedMessages" json:"retain_acked_messages,omitempty"`
448 // How long to retain unacknowledged messages in the subscription's backlog,
449 // from the moment a message is published.
450 // If `retain_acked_messages` is true, then this also configures the retention
451 // of acknowledged messages, and thus configures how far back in time a `Seek`
452 // can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
454 MessageRetentionDuration *google_protobuf1.Duration `protobuf:"bytes,8,opt,name=message_retention_duration,json=messageRetentionDuration" json:"message_retention_duration,omitempty"`
456 Labels map[string]string `protobuf:"bytes,9,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
459 func (m *Subscription) Reset() { *m = Subscription{} }
460 func (m *Subscription) String() string { return proto.CompactTextString(m) }
461 func (*Subscription) ProtoMessage() {}
462 func (*Subscription) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
464 func (m *Subscription) GetName() string {
471 func (m *Subscription) GetTopic() string {
478 func (m *Subscription) GetPushConfig() *PushConfig {
485 func (m *Subscription) GetAckDeadlineSeconds() int32 {
487 return m.AckDeadlineSeconds
492 func (m *Subscription) GetRetainAckedMessages() bool {
494 return m.RetainAckedMessages
499 func (m *Subscription) GetMessageRetentionDuration() *google_protobuf1.Duration {
501 return m.MessageRetentionDuration
506 func (m *Subscription) GetLabels() map[string]string {
513 // Configuration for a push delivery endpoint.
514 type PushConfig struct {
515 // A URL locating the endpoint to which messages should be pushed.
516 // For example, a Webhook endpoint might use "https://example.com/push".
517 PushEndpoint string `protobuf:"bytes,1,opt,name=push_endpoint,json=pushEndpoint" json:"push_endpoint,omitempty"`
518 // Endpoint configuration attributes.
520 // Every endpoint has a set of API supported attributes that can be used to
521 // control different aspects of the message delivery.
523 // The currently supported attribute is `x-goog-version`, which you can
524 // use to change the format of the pushed message. This attribute
525 // indicates the version of the data expected by the endpoint. This
526 // controls the shape of the pushed message (i.e., its fields and metadata).
527 // The endpoint version is based on the version of the Pub/Sub API.
529 // If not present during the `CreateSubscription` call, it will default to
530 // the version of the API used to make such call. If not present during a
531 // `ModifyPushConfig` call, its value will not be changed. `GetSubscription`
532 // calls will always return a valid version, even if the subscription was
533 // created without this attribute.
535 // The possible values for this attribute are:
537 // * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.
538 // * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.
539 Attributes map[string]string `protobuf:"bytes,2,rep,name=attributes" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
542 func (m *PushConfig) Reset() { *m = PushConfig{} }
543 func (m *PushConfig) String() string { return proto.CompactTextString(m) }
544 func (*PushConfig) ProtoMessage() {}
545 func (*PushConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
547 func (m *PushConfig) GetPushEndpoint() string {
549 return m.PushEndpoint
554 func (m *PushConfig) GetAttributes() map[string]string {
561 // A message and its corresponding acknowledgment ID.
562 type ReceivedMessage struct {
563 // This ID can be used to acknowledge the received message.
564 AckId string `protobuf:"bytes,1,opt,name=ack_id,json=ackId" json:"ack_id,omitempty"`
566 Message *PubsubMessage `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"`
569 func (m *ReceivedMessage) Reset() { *m = ReceivedMessage{} }
570 func (m *ReceivedMessage) String() string { return proto.CompactTextString(m) }
571 func (*ReceivedMessage) ProtoMessage() {}
572 func (*ReceivedMessage) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
574 func (m *ReceivedMessage) GetAckId() string {
581 func (m *ReceivedMessage) GetMessage() *PubsubMessage {
588 // Request for the GetSubscription method.
589 type GetSubscriptionRequest struct {
590 // The name of the subscription to get.
591 // Format is `projects/{project}/subscriptions/{sub}`.
592 Subscription string `protobuf:"bytes,1,opt,name=subscription" json:"subscription,omitempty"`
595 func (m *GetSubscriptionRequest) Reset() { *m = GetSubscriptionRequest{} }
596 func (m *GetSubscriptionRequest) String() string { return proto.CompactTextString(m) }
597 func (*GetSubscriptionRequest) ProtoMessage() {}
598 func (*GetSubscriptionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
600 func (m *GetSubscriptionRequest) GetSubscription() string {
602 return m.Subscription
607 // Request for the UpdateSubscription method.
608 type UpdateSubscriptionRequest struct {
609 // The updated subscription object.
610 Subscription *Subscription `protobuf:"bytes,1,opt,name=subscription" json:"subscription,omitempty"`
611 // Indicates which fields in the provided subscription to update.
612 // Must be specified and non-empty.
613 UpdateMask *google_protobuf3.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask" json:"update_mask,omitempty"`
616 func (m *UpdateSubscriptionRequest) Reset() { *m = UpdateSubscriptionRequest{} }
617 func (m *UpdateSubscriptionRequest) String() string { return proto.CompactTextString(m) }
618 func (*UpdateSubscriptionRequest) ProtoMessage() {}
619 func (*UpdateSubscriptionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
621 func (m *UpdateSubscriptionRequest) GetSubscription() *Subscription {
623 return m.Subscription
628 func (m *UpdateSubscriptionRequest) GetUpdateMask() *google_protobuf3.FieldMask {
635 // Request for the `ListSubscriptions` method.
636 type ListSubscriptionsRequest struct {
637 // The name of the cloud project that subscriptions belong to.
638 // Format is `projects/{project}`.
639 Project string `protobuf:"bytes,1,opt,name=project" json:"project,omitempty"`
640 // Maximum number of subscriptions to return.
641 PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
642 // The value returned by the last `ListSubscriptionsResponse`; indicates that
643 // this is a continuation of a prior `ListSubscriptions` call, and that the
644 // system should return the next page of data.
645 PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
648 func (m *ListSubscriptionsRequest) Reset() { *m = ListSubscriptionsRequest{} }
649 func (m *ListSubscriptionsRequest) String() string { return proto.CompactTextString(m) }
650 func (*ListSubscriptionsRequest) ProtoMessage() {}
651 func (*ListSubscriptionsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
653 func (m *ListSubscriptionsRequest) GetProject() string {
660 func (m *ListSubscriptionsRequest) GetPageSize() int32 {
667 func (m *ListSubscriptionsRequest) GetPageToken() string {
674 // Response for the `ListSubscriptions` method.
675 type ListSubscriptionsResponse struct {
676 // The subscriptions that match the request.
677 Subscriptions []*Subscription `protobuf:"bytes,1,rep,name=subscriptions" json:"subscriptions,omitempty"`
678 // If not empty, indicates that there may be more subscriptions that match
679 // the request; this value should be passed in a new
680 // `ListSubscriptionsRequest` to get more subscriptions.
681 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
684 func (m *ListSubscriptionsResponse) Reset() { *m = ListSubscriptionsResponse{} }
685 func (m *ListSubscriptionsResponse) String() string { return proto.CompactTextString(m) }
686 func (*ListSubscriptionsResponse) ProtoMessage() {}
687 func (*ListSubscriptionsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
689 func (m *ListSubscriptionsResponse) GetSubscriptions() []*Subscription {
691 return m.Subscriptions
696 func (m *ListSubscriptionsResponse) GetNextPageToken() string {
698 return m.NextPageToken
703 // Request for the DeleteSubscription method.
704 type DeleteSubscriptionRequest struct {
705 // The subscription to delete.
706 // Format is `projects/{project}/subscriptions/{sub}`.
707 Subscription string `protobuf:"bytes,1,opt,name=subscription" json:"subscription,omitempty"`
710 func (m *DeleteSubscriptionRequest) Reset() { *m = DeleteSubscriptionRequest{} }
711 func (m *DeleteSubscriptionRequest) String() string { return proto.CompactTextString(m) }
712 func (*DeleteSubscriptionRequest) ProtoMessage() {}
713 func (*DeleteSubscriptionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
715 func (m *DeleteSubscriptionRequest) GetSubscription() string {
717 return m.Subscription
722 // Request for the ModifyPushConfig method.
723 type ModifyPushConfigRequest struct {
724 // The name of the subscription.
725 // Format is `projects/{project}/subscriptions/{sub}`.
726 Subscription string `protobuf:"bytes,1,opt,name=subscription" json:"subscription,omitempty"`
727 // The push configuration for future deliveries.
729 // An empty `pushConfig` indicates that the Pub/Sub system should
730 // stop pushing messages from the given subscription and allow
731 // messages to be pulled and acknowledged - effectively pausing
732 // the subscription if `Pull` is not called.
733 PushConfig *PushConfig `protobuf:"bytes,2,opt,name=push_config,json=pushConfig" json:"push_config,omitempty"`
736 func (m *ModifyPushConfigRequest) Reset() { *m = ModifyPushConfigRequest{} }
737 func (m *ModifyPushConfigRequest) String() string { return proto.CompactTextString(m) }
738 func (*ModifyPushConfigRequest) ProtoMessage() {}
739 func (*ModifyPushConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }
741 func (m *ModifyPushConfigRequest) GetSubscription() string {
743 return m.Subscription
748 func (m *ModifyPushConfigRequest) GetPushConfig() *PushConfig {
755 // Request for the `Pull` method.
756 type PullRequest struct {
757 // The subscription from which messages should be pulled.
758 // Format is `projects/{project}/subscriptions/{sub}`.
759 Subscription string `protobuf:"bytes,1,opt,name=subscription" json:"subscription,omitempty"`
760 // If this field set to true, the system will respond immediately even if
761 // it there are no messages available to return in the `Pull` response.
762 // Otherwise, the system may wait (for a bounded amount of time) until at
763 // least one message is available, rather than returning no messages. The
764 // client may cancel the request if it does not wish to wait any longer for
766 ReturnImmediately bool `protobuf:"varint,2,opt,name=return_immediately,json=returnImmediately" json:"return_immediately,omitempty"`
767 // The maximum number of messages returned for this request. The Pub/Sub
768 // system may return fewer than the number specified.
769 MaxMessages int32 `protobuf:"varint,3,opt,name=max_messages,json=maxMessages" json:"max_messages,omitempty"`
772 func (m *PullRequest) Reset() { *m = PullRequest{} }
773 func (m *PullRequest) String() string { return proto.CompactTextString(m) }
774 func (*PullRequest) ProtoMessage() {}
775 func (*PullRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} }
777 func (m *PullRequest) GetSubscription() string {
779 return m.Subscription
784 func (m *PullRequest) GetReturnImmediately() bool {
786 return m.ReturnImmediately
791 func (m *PullRequest) GetMaxMessages() int32 {
798 // Response for the `Pull` method.
799 type PullResponse struct {
800 // Received Pub/Sub messages. The Pub/Sub system will return zero messages if
801 // there are no more available in the backlog. The Pub/Sub system may return
802 // fewer than the `maxMessages` requested even if there are more messages
803 // available in the backlog.
804 ReceivedMessages []*ReceivedMessage `protobuf:"bytes,1,rep,name=received_messages,json=receivedMessages" json:"received_messages,omitempty"`
807 func (m *PullResponse) Reset() { *m = PullResponse{} }
808 func (m *PullResponse) String() string { return proto.CompactTextString(m) }
809 func (*PullResponse) ProtoMessage() {}
810 func (*PullResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} }
812 func (m *PullResponse) GetReceivedMessages() []*ReceivedMessage {
814 return m.ReceivedMessages
819 // Request for the ModifyAckDeadline method.
820 type ModifyAckDeadlineRequest struct {
821 // The name of the subscription.
822 // Format is `projects/{project}/subscriptions/{sub}`.
823 Subscription string `protobuf:"bytes,1,opt,name=subscription" json:"subscription,omitempty"`
824 // List of acknowledgment IDs.
825 AckIds []string `protobuf:"bytes,4,rep,name=ack_ids,json=ackIds" json:"ack_ids,omitempty"`
826 // The new ack deadline with respect to the time this request was sent to
827 // the Pub/Sub system. For example, if the value is 10, the new
828 // ack deadline will expire 10 seconds after the `ModifyAckDeadline` call
829 // was made. Specifying zero may immediately make the message available for
830 // another pull request.
831 // The minimum deadline you can specify is 0 seconds.
832 // The maximum deadline you can specify is 600 seconds (10 minutes).
833 AckDeadlineSeconds int32 `protobuf:"varint,3,opt,name=ack_deadline_seconds,json=ackDeadlineSeconds" json:"ack_deadline_seconds,omitempty"`
836 func (m *ModifyAckDeadlineRequest) Reset() { *m = ModifyAckDeadlineRequest{} }
837 func (m *ModifyAckDeadlineRequest) String() string { return proto.CompactTextString(m) }
838 func (*ModifyAckDeadlineRequest) ProtoMessage() {}
839 func (*ModifyAckDeadlineRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} }
841 func (m *ModifyAckDeadlineRequest) GetSubscription() string {
843 return m.Subscription
848 func (m *ModifyAckDeadlineRequest) GetAckIds() []string {
855 func (m *ModifyAckDeadlineRequest) GetAckDeadlineSeconds() int32 {
857 return m.AckDeadlineSeconds
862 // Request for the Acknowledge method.
863 type AcknowledgeRequest struct {
864 // The subscription whose message is being acknowledged.
865 // Format is `projects/{project}/subscriptions/{sub}`.
866 Subscription string `protobuf:"bytes,1,opt,name=subscription" json:"subscription,omitempty"`
867 // The acknowledgment ID for the messages being acknowledged that was returned
868 // by the Pub/Sub system in the `Pull` response. Must not be empty.
869 AckIds []string `protobuf:"bytes,2,rep,name=ack_ids,json=ackIds" json:"ack_ids,omitempty"`
872 func (m *AcknowledgeRequest) Reset() { *m = AcknowledgeRequest{} }
873 func (m *AcknowledgeRequest) String() string { return proto.CompactTextString(m) }
874 func (*AcknowledgeRequest) ProtoMessage() {}
875 func (*AcknowledgeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} }
877 func (m *AcknowledgeRequest) GetSubscription() string {
879 return m.Subscription
884 func (m *AcknowledgeRequest) GetAckIds() []string {
891 // Request for the `StreamingPull` streaming RPC method. This request is used to
892 // establish the initial stream as well as to stream acknowledgements and ack
893 // deadline modifications from the client to the server.
894 type StreamingPullRequest struct {
895 // The subscription for which to initialize the new stream. This must be
896 // provided in the first request on the stream, and must not be set in
897 // subsequent requests from client to server.
898 // Format is `projects/{project}/subscriptions/{sub}`.
899 Subscription string `protobuf:"bytes,1,opt,name=subscription" json:"subscription,omitempty"`
900 // List of acknowledgement IDs for acknowledging previously received messages
901 // (received on this stream or a different stream). If an ack ID has expired,
902 // the corresponding message may be redelivered later. Acknowledging a message
903 // more than once will not result in an error. If the acknowledgement ID is
904 // malformed, the stream will be aborted with status `INVALID_ARGUMENT`.
905 AckIds []string `protobuf:"bytes,2,rep,name=ack_ids,json=ackIds" json:"ack_ids,omitempty"`
906 // The list of new ack deadlines for the IDs listed in
907 // `modify_deadline_ack_ids`. The size of this list must be the same as the
908 // size of `modify_deadline_ack_ids`. If it differs the stream will be aborted
909 // with `INVALID_ARGUMENT`. Each element in this list is applied to the
910 // element in the same position in `modify_deadline_ack_ids`. The new ack
911 // deadline is with respect to the time this request was sent to the Pub/Sub
912 // system. Must be >= 0. For example, if the value is 10, the new ack deadline
913 // will expire 10 seconds after this request is received. If the value is 0,
914 // the message is immediately made available for another streaming or
915 // non-streaming pull request. If the value is < 0 (an error), the stream will
916 // be aborted with status `INVALID_ARGUMENT`.
917 ModifyDeadlineSeconds []int32 `protobuf:"varint,3,rep,packed,name=modify_deadline_seconds,json=modifyDeadlineSeconds" json:"modify_deadline_seconds,omitempty"`
918 // List of acknowledgement IDs whose deadline will be modified based on the
919 // corresponding element in `modify_deadline_seconds`. This field can be used
920 // to indicate that more time is needed to process a message by the
921 // subscriber, or to make the message available for redelivery if the
922 // processing was interrupted.
923 ModifyDeadlineAckIds []string `protobuf:"bytes,4,rep,name=modify_deadline_ack_ids,json=modifyDeadlineAckIds" json:"modify_deadline_ack_ids,omitempty"`
924 // The ack deadline to use for the stream. This must be provided in the
925 // first request on the stream, but it can also be updated on subsequent
926 // requests from client to server. The minimum deadline you can specify is 10
927 // seconds. The maximum deadline you can specify is 600 seconds (10 minutes).
928 StreamAckDeadlineSeconds int32 `protobuf:"varint,5,opt,name=stream_ack_deadline_seconds,json=streamAckDeadlineSeconds" json:"stream_ack_deadline_seconds,omitempty"`
931 func (m *StreamingPullRequest) Reset() { *m = StreamingPullRequest{} }
932 func (m *StreamingPullRequest) String() string { return proto.CompactTextString(m) }
933 func (*StreamingPullRequest) ProtoMessage() {}
934 func (*StreamingPullRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} }
936 func (m *StreamingPullRequest) GetSubscription() string {
938 return m.Subscription
943 func (m *StreamingPullRequest) GetAckIds() []string {
950 func (m *StreamingPullRequest) GetModifyDeadlineSeconds() []int32 {
952 return m.ModifyDeadlineSeconds
957 func (m *StreamingPullRequest) GetModifyDeadlineAckIds() []string {
959 return m.ModifyDeadlineAckIds
964 func (m *StreamingPullRequest) GetStreamAckDeadlineSeconds() int32 {
966 return m.StreamAckDeadlineSeconds
971 // Response for the `StreamingPull` method. This response is used to stream
972 // messages from the server to the client.
973 type StreamingPullResponse struct {
974 // Received Pub/Sub messages. This will not be empty.
975 ReceivedMessages []*ReceivedMessage `protobuf:"bytes,1,rep,name=received_messages,json=receivedMessages" json:"received_messages,omitempty"`
978 func (m *StreamingPullResponse) Reset() { *m = StreamingPullResponse{} }
979 func (m *StreamingPullResponse) String() string { return proto.CompactTextString(m) }
980 func (*StreamingPullResponse) ProtoMessage() {}
981 func (*StreamingPullResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} }
983 func (m *StreamingPullResponse) GetReceivedMessages() []*ReceivedMessage {
985 return m.ReceivedMessages
990 // Request for the `CreateSnapshot` method.
991 type CreateSnapshotRequest struct {
992 // Optional user-provided name for this snapshot.
993 // If the name is not provided in the request, the server will assign a random
994 // name for this snapshot on the same project as the subscription.
995 // Note that for REST API requests, you must specify a name.
996 // Format is `projects/{project}/snapshots/{snap}`.
997 Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
998 // The subscription whose backlog the snapshot retains.
999 // Specifically, the created snapshot is guaranteed to retain:
1000 // (a) The existing backlog on the subscription. More precisely, this is
1001 // defined as the messages in the subscription's backlog that are
1002 // unacknowledged upon the successful completion of the
1003 // `CreateSnapshot` request; as well as:
1004 // (b) Any messages published to the subscription's topic following the
1005 // successful completion of the CreateSnapshot request.
1006 // Format is `projects/{project}/subscriptions/{sub}`.
1007 Subscription string `protobuf:"bytes,2,opt,name=subscription" json:"subscription,omitempty"`
1010 func (m *CreateSnapshotRequest) Reset() { *m = CreateSnapshotRequest{} }
1011 func (m *CreateSnapshotRequest) String() string { return proto.CompactTextString(m) }
1012 func (*CreateSnapshotRequest) ProtoMessage() {}
1013 func (*CreateSnapshotRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{26} }
1015 func (m *CreateSnapshotRequest) GetName() string {
1022 func (m *CreateSnapshotRequest) GetSubscription() string {
1024 return m.Subscription
1029 // Request for the UpdateSnapshot method.
1030 type UpdateSnapshotRequest struct {
1031 // The updated snpashot object.
1032 Snapshot *Snapshot `protobuf:"bytes,1,opt,name=snapshot" json:"snapshot,omitempty"`
1033 // Indicates which fields in the provided snapshot to update.
1034 // Must be specified and non-empty.
1035 UpdateMask *google_protobuf3.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask" json:"update_mask,omitempty"`
1038 func (m *UpdateSnapshotRequest) Reset() { *m = UpdateSnapshotRequest{} }
1039 func (m *UpdateSnapshotRequest) String() string { return proto.CompactTextString(m) }
1040 func (*UpdateSnapshotRequest) ProtoMessage() {}
1041 func (*UpdateSnapshotRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{27} }
1043 func (m *UpdateSnapshotRequest) GetSnapshot() *Snapshot {
1050 func (m *UpdateSnapshotRequest) GetUpdateMask() *google_protobuf3.FieldMask {
1057 // A snapshot resource.
1058 type Snapshot struct {
1059 // The name of the snapshot.
1060 Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
1061 // The name of the topic from which this snapshot is retaining messages.
1062 Topic string `protobuf:"bytes,2,opt,name=topic" json:"topic,omitempty"`
1063 // The snapshot is guaranteed to exist up until this time.
1064 // A newly-created snapshot expires no later than 7 days from the time of its
1065 // creation. Its exact lifetime is determined at creation by the existing
1066 // backlog in the source subscription. Specifically, the lifetime of the
1067 // snapshot is `7 days - (age of oldest unacked message in the subscription)`.
1068 // For example, consider a subscription whose oldest unacked message is 3 days
1069 // old. If a snapshot is created from this subscription, the snapshot -- which
1070 // will always capture this 3-day-old backlog as long as the snapshot
1071 // exists -- will expire in 4 days.
1072 ExpireTime *google_protobuf4.Timestamp `protobuf:"bytes,3,opt,name=expire_time,json=expireTime" json:"expire_time,omitempty"`
1074 Labels map[string]string `protobuf:"bytes,4,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
1077 func (m *Snapshot) Reset() { *m = Snapshot{} }
1078 func (m *Snapshot) String() string { return proto.CompactTextString(m) }
1079 func (*Snapshot) ProtoMessage() {}
1080 func (*Snapshot) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{28} }
1082 func (m *Snapshot) GetName() string {
1089 func (m *Snapshot) GetTopic() string {
1096 func (m *Snapshot) GetExpireTime() *google_protobuf4.Timestamp {
1103 func (m *Snapshot) GetLabels() map[string]string {
1110 // Request for the `ListSnapshots` method.
1111 type ListSnapshotsRequest struct {
1112 // The name of the cloud project that snapshots belong to.
1113 // Format is `projects/{project}`.
1114 Project string `protobuf:"bytes,1,opt,name=project" json:"project,omitempty"`
1115 // Maximum number of snapshots to return.
1116 PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
1117 // The value returned by the last `ListSnapshotsResponse`; indicates that this
1118 // is a continuation of a prior `ListSnapshots` call, and that the system
1119 // should return the next page of data.
1120 PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
1123 func (m *ListSnapshotsRequest) Reset() { *m = ListSnapshotsRequest{} }
1124 func (m *ListSnapshotsRequest) String() string { return proto.CompactTextString(m) }
1125 func (*ListSnapshotsRequest) ProtoMessage() {}
1126 func (*ListSnapshotsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{29} }
1128 func (m *ListSnapshotsRequest) GetProject() string {
1135 func (m *ListSnapshotsRequest) GetPageSize() int32 {
1142 func (m *ListSnapshotsRequest) GetPageToken() string {
1149 // Response for the `ListSnapshots` method.
1150 type ListSnapshotsResponse struct {
1151 // The resulting snapshots.
1152 Snapshots []*Snapshot `protobuf:"bytes,1,rep,name=snapshots" json:"snapshots,omitempty"`
1153 // If not empty, indicates that there may be more snapshot that match the
1154 // request; this value should be passed in a new `ListSnapshotsRequest`.
1155 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
1158 func (m *ListSnapshotsResponse) Reset() { *m = ListSnapshotsResponse{} }
1159 func (m *ListSnapshotsResponse) String() string { return proto.CompactTextString(m) }
1160 func (*ListSnapshotsResponse) ProtoMessage() {}
1161 func (*ListSnapshotsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{30} }
1163 func (m *ListSnapshotsResponse) GetSnapshots() []*Snapshot {
1170 func (m *ListSnapshotsResponse) GetNextPageToken() string {
1172 return m.NextPageToken
1177 // Request for the `DeleteSnapshot` method.
1178 type DeleteSnapshotRequest struct {
1179 // The name of the snapshot to delete.
1180 // Format is `projects/{project}/snapshots/{snap}`.
1181 Snapshot string `protobuf:"bytes,1,opt,name=snapshot" json:"snapshot,omitempty"`
1184 func (m *DeleteSnapshotRequest) Reset() { *m = DeleteSnapshotRequest{} }
1185 func (m *DeleteSnapshotRequest) String() string { return proto.CompactTextString(m) }
1186 func (*DeleteSnapshotRequest) ProtoMessage() {}
1187 func (*DeleteSnapshotRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{31} }
1189 func (m *DeleteSnapshotRequest) GetSnapshot() string {
1196 // Request for the `Seek` method.
1197 type SeekRequest struct {
1198 // The subscription to affect.
1199 Subscription string `protobuf:"bytes,1,opt,name=subscription" json:"subscription,omitempty"`
1200 // Types that are valid to be assigned to Target:
1201 // *SeekRequest_Time
1202 // *SeekRequest_Snapshot
1203 Target isSeekRequest_Target `protobuf_oneof:"target"`
1206 func (m *SeekRequest) Reset() { *m = SeekRequest{} }
1207 func (m *SeekRequest) String() string { return proto.CompactTextString(m) }
1208 func (*SeekRequest) ProtoMessage() {}
1209 func (*SeekRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{32} }
1211 type isSeekRequest_Target interface {
1212 isSeekRequest_Target()
1215 type SeekRequest_Time struct {
1216 Time *google_protobuf4.Timestamp `protobuf:"bytes,2,opt,name=time,oneof"`
1218 type SeekRequest_Snapshot struct {
1219 Snapshot string `protobuf:"bytes,3,opt,name=snapshot,oneof"`
1222 func (*SeekRequest_Time) isSeekRequest_Target() {}
1223 func (*SeekRequest_Snapshot) isSeekRequest_Target() {}
1225 func (m *SeekRequest) GetTarget() isSeekRequest_Target {
1232 func (m *SeekRequest) GetSubscription() string {
1234 return m.Subscription
1239 func (m *SeekRequest) GetTime() *google_protobuf4.Timestamp {
1240 if x, ok := m.GetTarget().(*SeekRequest_Time); ok {
1246 func (m *SeekRequest) GetSnapshot() string {
1247 if x, ok := m.GetTarget().(*SeekRequest_Snapshot); ok {
1253 // XXX_OneofFuncs is for the internal use of the proto package.
1254 func (*SeekRequest) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
1255 return _SeekRequest_OneofMarshaler, _SeekRequest_OneofUnmarshaler, _SeekRequest_OneofSizer, []interface{}{
1256 (*SeekRequest_Time)(nil),
1257 (*SeekRequest_Snapshot)(nil),
1261 func _SeekRequest_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
1262 m := msg.(*SeekRequest)
1264 switch x := m.Target.(type) {
1265 case *SeekRequest_Time:
1266 b.EncodeVarint(2<<3 | proto.WireBytes)
1267 if err := b.EncodeMessage(x.Time); err != nil {
1270 case *SeekRequest_Snapshot:
1271 b.EncodeVarint(3<<3 | proto.WireBytes)
1272 b.EncodeStringBytes(x.Snapshot)
1275 return fmt.Errorf("SeekRequest.Target has unexpected type %T", x)
1280 func _SeekRequest_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
1281 m := msg.(*SeekRequest)
1283 case 2: // target.time
1284 if wire != proto.WireBytes {
1285 return true, proto.ErrInternalBadWireType
1287 msg := new(google_protobuf4.Timestamp)
1288 err := b.DecodeMessage(msg)
1289 m.Target = &SeekRequest_Time{msg}
1291 case 3: // target.snapshot
1292 if wire != proto.WireBytes {
1293 return true, proto.ErrInternalBadWireType
1295 x, err := b.DecodeStringBytes()
1296 m.Target = &SeekRequest_Snapshot{x}
1303 func _SeekRequest_OneofSizer(msg proto.Message) (n int) {
1304 m := msg.(*SeekRequest)
1306 switch x := m.Target.(type) {
1307 case *SeekRequest_Time:
1308 s := proto.Size(x.Time)
1309 n += proto.SizeVarint(2<<3 | proto.WireBytes)
1310 n += proto.SizeVarint(uint64(s))
1312 case *SeekRequest_Snapshot:
1313 n += proto.SizeVarint(3<<3 | proto.WireBytes)
1314 n += proto.SizeVarint(uint64(len(x.Snapshot)))
1315 n += len(x.Snapshot)
1318 panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
1323 type SeekResponse struct {
1326 func (m *SeekResponse) Reset() { *m = SeekResponse{} }
1327 func (m *SeekResponse) String() string { return proto.CompactTextString(m) }
1328 func (*SeekResponse) ProtoMessage() {}
1329 func (*SeekResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{33} }
1332 proto.RegisterType((*Topic)(nil), "google.pubsub.v1.Topic")
1333 proto.RegisterType((*PubsubMessage)(nil), "google.pubsub.v1.PubsubMessage")
1334 proto.RegisterType((*GetTopicRequest)(nil), "google.pubsub.v1.GetTopicRequest")
1335 proto.RegisterType((*UpdateTopicRequest)(nil), "google.pubsub.v1.UpdateTopicRequest")
1336 proto.RegisterType((*PublishRequest)(nil), "google.pubsub.v1.PublishRequest")
1337 proto.RegisterType((*PublishResponse)(nil), "google.pubsub.v1.PublishResponse")
1338 proto.RegisterType((*ListTopicsRequest)(nil), "google.pubsub.v1.ListTopicsRequest")
1339 proto.RegisterType((*ListTopicsResponse)(nil), "google.pubsub.v1.ListTopicsResponse")
1340 proto.RegisterType((*ListTopicSubscriptionsRequest)(nil), "google.pubsub.v1.ListTopicSubscriptionsRequest")
1341 proto.RegisterType((*ListTopicSubscriptionsResponse)(nil), "google.pubsub.v1.ListTopicSubscriptionsResponse")
1342 proto.RegisterType((*DeleteTopicRequest)(nil), "google.pubsub.v1.DeleteTopicRequest")
1343 proto.RegisterType((*Subscription)(nil), "google.pubsub.v1.Subscription")
1344 proto.RegisterType((*PushConfig)(nil), "google.pubsub.v1.PushConfig")
1345 proto.RegisterType((*ReceivedMessage)(nil), "google.pubsub.v1.ReceivedMessage")
1346 proto.RegisterType((*GetSubscriptionRequest)(nil), "google.pubsub.v1.GetSubscriptionRequest")
1347 proto.RegisterType((*UpdateSubscriptionRequest)(nil), "google.pubsub.v1.UpdateSubscriptionRequest")
1348 proto.RegisterType((*ListSubscriptionsRequest)(nil), "google.pubsub.v1.ListSubscriptionsRequest")
1349 proto.RegisterType((*ListSubscriptionsResponse)(nil), "google.pubsub.v1.ListSubscriptionsResponse")
1350 proto.RegisterType((*DeleteSubscriptionRequest)(nil), "google.pubsub.v1.DeleteSubscriptionRequest")
1351 proto.RegisterType((*ModifyPushConfigRequest)(nil), "google.pubsub.v1.ModifyPushConfigRequest")
1352 proto.RegisterType((*PullRequest)(nil), "google.pubsub.v1.PullRequest")
1353 proto.RegisterType((*PullResponse)(nil), "google.pubsub.v1.PullResponse")
1354 proto.RegisterType((*ModifyAckDeadlineRequest)(nil), "google.pubsub.v1.ModifyAckDeadlineRequest")
1355 proto.RegisterType((*AcknowledgeRequest)(nil), "google.pubsub.v1.AcknowledgeRequest")
1356 proto.RegisterType((*StreamingPullRequest)(nil), "google.pubsub.v1.StreamingPullRequest")
1357 proto.RegisterType((*StreamingPullResponse)(nil), "google.pubsub.v1.StreamingPullResponse")
1358 proto.RegisterType((*CreateSnapshotRequest)(nil), "google.pubsub.v1.CreateSnapshotRequest")
1359 proto.RegisterType((*UpdateSnapshotRequest)(nil), "google.pubsub.v1.UpdateSnapshotRequest")
1360 proto.RegisterType((*Snapshot)(nil), "google.pubsub.v1.Snapshot")
1361 proto.RegisterType((*ListSnapshotsRequest)(nil), "google.pubsub.v1.ListSnapshotsRequest")
1362 proto.RegisterType((*ListSnapshotsResponse)(nil), "google.pubsub.v1.ListSnapshotsResponse")
1363 proto.RegisterType((*DeleteSnapshotRequest)(nil), "google.pubsub.v1.DeleteSnapshotRequest")
1364 proto.RegisterType((*SeekRequest)(nil), "google.pubsub.v1.SeekRequest")
1365 proto.RegisterType((*SeekResponse)(nil), "google.pubsub.v1.SeekResponse")
1368 // Reference imports to suppress errors if they are not otherwise used.
1369 var _ context.Context
1370 var _ grpc.ClientConn
1372 // This is a compile-time assertion to ensure that this generated file
1373 // is compatible with the grpc package it is being compiled against.
1374 const _ = grpc.SupportPackageIsVersion4
1376 // Client API for Subscriber service
1378 type SubscriberClient interface {
1379 // Creates a subscription to a given topic.
1380 // If the subscription already exists, returns `ALREADY_EXISTS`.
1381 // If the corresponding topic doesn't exist, returns `NOT_FOUND`.
1383 // If the name is not provided in the request, the server will assign a random
1384 // name for this subscription on the same project as the topic, conforming
1386 // [resource name format](https://cloud.google.com/pubsub/docs/overview#names).
1387 // The generated name is populated in the returned Subscription object.
1388 // Note that for REST API requests, you must specify a name in the request.
1389 CreateSubscription(ctx context.Context, in *Subscription, opts ...grpc.CallOption) (*Subscription, error)
1390 // Gets the configuration details of a subscription.
1391 GetSubscription(ctx context.Context, in *GetSubscriptionRequest, opts ...grpc.CallOption) (*Subscription, error)
1392 // Updates an existing subscription. Note that certain properties of a
1393 // subscription, such as its topic, are not modifiable.
1394 // NOTE: The style guide requires body: "subscription" instead of body: "*".
1395 // Keeping the latter for internal consistency in V1, however it should be
1396 // corrected in V2. See
1397 // https://cloud.google.com/apis/design/standard_methods#update for details.
1398 UpdateSubscription(ctx context.Context, in *UpdateSubscriptionRequest, opts ...grpc.CallOption) (*Subscription, error)
1399 // Lists matching subscriptions.
1400 ListSubscriptions(ctx context.Context, in *ListSubscriptionsRequest, opts ...grpc.CallOption) (*ListSubscriptionsResponse, error)
1401 // Deletes an existing subscription. All messages retained in the subscription
1402 // are immediately dropped. Calls to `Pull` after deletion will return
1403 // `NOT_FOUND`. After a subscription is deleted, a new one may be created with
1404 // the same name, but the new one has no association with the old
1405 // subscription or its topic unless the same topic is specified.
1406 DeleteSubscription(ctx context.Context, in *DeleteSubscriptionRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error)
1407 // Modifies the ack deadline for a specific message. This method is useful
1408 // to indicate that more time is needed to process a message by the
1409 // subscriber, or to make the message available for redelivery if the
1410 // processing was interrupted. Note that this does not modify the
1411 // subscription-level `ackDeadlineSeconds` used for subsequent messages.
1412 ModifyAckDeadline(ctx context.Context, in *ModifyAckDeadlineRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error)
1413 // Acknowledges the messages associated with the `ack_ids` in the
1414 // `AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages
1415 // from the subscription.
1417 // Acknowledging a message whose ack deadline has expired may succeed,
1418 // but such a message may be redelivered later. Acknowledging a message more
1419 // than once will not result in an error.
1420 Acknowledge(ctx context.Context, in *AcknowledgeRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error)
1421 // Pulls messages from the server. Returns an empty list if there are no
1422 // messages available in the backlog. The server may return `UNAVAILABLE` if
1423 // there are too many concurrent pull requests pending for the given
1425 Pull(ctx context.Context, in *PullRequest, opts ...grpc.CallOption) (*PullResponse, error)
1426 // (EXPERIMENTAL) StreamingPull is an experimental feature. This RPC will
1427 // respond with UNIMPLEMENTED errors unless you have been invited to test
1428 // this feature. Contact cloud-pubsub@google.com with any questions.
1430 // Establishes a stream with the server, which sends messages down to the
1431 // client. The client streams acknowledgements and ack deadline modifications
1432 // back to the server. The server will close the stream and return the status
1433 // on any error. The server may close the stream with status `OK` to reassign
1434 // server-side resources, in which case, the client should re-establish the
1435 // stream. `UNAVAILABLE` may also be returned in the case of a transient error
1436 // (e.g., a server restart). These should also be retried by the client. Flow
1437 // control can be achieved by configuring the underlying RPC channel.
1438 StreamingPull(ctx context.Context, opts ...grpc.CallOption) (Subscriber_StreamingPullClient, error)
1439 // Modifies the `PushConfig` for a specified subscription.
1441 // This may be used to change a push subscription to a pull one (signified by
1442 // an empty `PushConfig`) or vice versa, or change the endpoint URL and other
1443 // attributes of a push subscription. Messages will accumulate for delivery
1444 // continuously through the call regardless of changes to the `PushConfig`.
1445 ModifyPushConfig(ctx context.Context, in *ModifyPushConfigRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error)
1446 // Lists the existing snapshots.
1447 ListSnapshots(ctx context.Context, in *ListSnapshotsRequest, opts ...grpc.CallOption) (*ListSnapshotsResponse, error)
1448 // Creates a snapshot from the requested subscription.
1449 // If the snapshot already exists, returns `ALREADY_EXISTS`.
1450 // If the requested subscription doesn't exist, returns `NOT_FOUND`.
1452 // If the name is not provided in the request, the server will assign a random
1453 // name for this snapshot on the same project as the subscription, conforming
1455 // [resource name format](https://cloud.google.com/pubsub/docs/overview#names).
1456 // The generated name is populated in the returned Snapshot object.
1457 // Note that for REST API requests, you must specify a name in the request.
1458 CreateSnapshot(ctx context.Context, in *CreateSnapshotRequest, opts ...grpc.CallOption) (*Snapshot, error)
1459 // Updates an existing snapshot. Note that certain properties of a snapshot
1460 // are not modifiable.
1461 // NOTE: The style guide requires body: "snapshot" instead of body: "*".
1462 // Keeping the latter for internal consistency in V1, however it should be
1463 // corrected in V2. See
1464 // https://cloud.google.com/apis/design/standard_methods#update for details.
1465 UpdateSnapshot(ctx context.Context, in *UpdateSnapshotRequest, opts ...grpc.CallOption) (*Snapshot, error)
1466 // Removes an existing snapshot. All messages retained in the snapshot
1467 // are immediately dropped. After a snapshot is deleted, a new one may be
1468 // created with the same name, but the new one has no association with the old
1469 // snapshot or its subscription, unless the same subscription is specified.
1470 DeleteSnapshot(ctx context.Context, in *DeleteSnapshotRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error)
1471 // Seeks an existing subscription to a point in time or to a given snapshot,
1472 // whichever is provided in the request.
1473 Seek(ctx context.Context, in *SeekRequest, opts ...grpc.CallOption) (*SeekResponse, error)
1476 type subscriberClient struct {
1480 func NewSubscriberClient(cc *grpc.ClientConn) SubscriberClient {
1481 return &subscriberClient{cc}
1484 func (c *subscriberClient) CreateSubscription(ctx context.Context, in *Subscription, opts ...grpc.CallOption) (*Subscription, error) {
1485 out := new(Subscription)
1486 err := grpc.Invoke(ctx, "/google.pubsub.v1.Subscriber/CreateSubscription", in, out, c.cc, opts...)
1493 func (c *subscriberClient) GetSubscription(ctx context.Context, in *GetSubscriptionRequest, opts ...grpc.CallOption) (*Subscription, error) {
1494 out := new(Subscription)
1495 err := grpc.Invoke(ctx, "/google.pubsub.v1.Subscriber/GetSubscription", in, out, c.cc, opts...)
1502 func (c *subscriberClient) UpdateSubscription(ctx context.Context, in *UpdateSubscriptionRequest, opts ...grpc.CallOption) (*Subscription, error) {
1503 out := new(Subscription)
1504 err := grpc.Invoke(ctx, "/google.pubsub.v1.Subscriber/UpdateSubscription", in, out, c.cc, opts...)
1511 func (c *subscriberClient) ListSubscriptions(ctx context.Context, in *ListSubscriptionsRequest, opts ...grpc.CallOption) (*ListSubscriptionsResponse, error) {
1512 out := new(ListSubscriptionsResponse)
1513 err := grpc.Invoke(ctx, "/google.pubsub.v1.Subscriber/ListSubscriptions", in, out, c.cc, opts...)
1520 func (c *subscriberClient) DeleteSubscription(ctx context.Context, in *DeleteSubscriptionRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error) {
1521 out := new(google_protobuf2.Empty)
1522 err := grpc.Invoke(ctx, "/google.pubsub.v1.Subscriber/DeleteSubscription", in, out, c.cc, opts...)
1529 func (c *subscriberClient) ModifyAckDeadline(ctx context.Context, in *ModifyAckDeadlineRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error) {
1530 out := new(google_protobuf2.Empty)
1531 err := grpc.Invoke(ctx, "/google.pubsub.v1.Subscriber/ModifyAckDeadline", in, out, c.cc, opts...)
1538 func (c *subscriberClient) Acknowledge(ctx context.Context, in *AcknowledgeRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error) {
1539 out := new(google_protobuf2.Empty)
1540 err := grpc.Invoke(ctx, "/google.pubsub.v1.Subscriber/Acknowledge", in, out, c.cc, opts...)
1547 func (c *subscriberClient) Pull(ctx context.Context, in *PullRequest, opts ...grpc.CallOption) (*PullResponse, error) {
1548 out := new(PullResponse)
1549 err := grpc.Invoke(ctx, "/google.pubsub.v1.Subscriber/Pull", in, out, c.cc, opts...)
1556 func (c *subscriberClient) StreamingPull(ctx context.Context, opts ...grpc.CallOption) (Subscriber_StreamingPullClient, error) {
1557 stream, err := grpc.NewClientStream(ctx, &_Subscriber_serviceDesc.Streams[0], c.cc, "/google.pubsub.v1.Subscriber/StreamingPull", opts...)
1561 x := &subscriberStreamingPullClient{stream}
1565 type Subscriber_StreamingPullClient interface {
1566 Send(*StreamingPullRequest) error
1567 Recv() (*StreamingPullResponse, error)
1571 type subscriberStreamingPullClient struct {
1575 func (x *subscriberStreamingPullClient) Send(m *StreamingPullRequest) error {
1576 return x.ClientStream.SendMsg(m)
1579 func (x *subscriberStreamingPullClient) Recv() (*StreamingPullResponse, error) {
1580 m := new(StreamingPullResponse)
1581 if err := x.ClientStream.RecvMsg(m); err != nil {
1587 func (c *subscriberClient) ModifyPushConfig(ctx context.Context, in *ModifyPushConfigRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error) {
1588 out := new(google_protobuf2.Empty)
1589 err := grpc.Invoke(ctx, "/google.pubsub.v1.Subscriber/ModifyPushConfig", in, out, c.cc, opts...)
1596 func (c *subscriberClient) ListSnapshots(ctx context.Context, in *ListSnapshotsRequest, opts ...grpc.CallOption) (*ListSnapshotsResponse, error) {
1597 out := new(ListSnapshotsResponse)
1598 err := grpc.Invoke(ctx, "/google.pubsub.v1.Subscriber/ListSnapshots", in, out, c.cc, opts...)
1605 func (c *subscriberClient) CreateSnapshot(ctx context.Context, in *CreateSnapshotRequest, opts ...grpc.CallOption) (*Snapshot, error) {
1606 out := new(Snapshot)
1607 err := grpc.Invoke(ctx, "/google.pubsub.v1.Subscriber/CreateSnapshot", in, out, c.cc, opts...)
1614 func (c *subscriberClient) UpdateSnapshot(ctx context.Context, in *UpdateSnapshotRequest, opts ...grpc.CallOption) (*Snapshot, error) {
1615 out := new(Snapshot)
1616 err := grpc.Invoke(ctx, "/google.pubsub.v1.Subscriber/UpdateSnapshot", in, out, c.cc, opts...)
1623 func (c *subscriberClient) DeleteSnapshot(ctx context.Context, in *DeleteSnapshotRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error) {
1624 out := new(google_protobuf2.Empty)
1625 err := grpc.Invoke(ctx, "/google.pubsub.v1.Subscriber/DeleteSnapshot", in, out, c.cc, opts...)
1632 func (c *subscriberClient) Seek(ctx context.Context, in *SeekRequest, opts ...grpc.CallOption) (*SeekResponse, error) {
1633 out := new(SeekResponse)
1634 err := grpc.Invoke(ctx, "/google.pubsub.v1.Subscriber/Seek", in, out, c.cc, opts...)
1641 // Server API for Subscriber service
1643 type SubscriberServer interface {
1644 // Creates a subscription to a given topic.
1645 // If the subscription already exists, returns `ALREADY_EXISTS`.
1646 // If the corresponding topic doesn't exist, returns `NOT_FOUND`.
1648 // If the name is not provided in the request, the server will assign a random
1649 // name for this subscription on the same project as the topic, conforming
1651 // [resource name format](https://cloud.google.com/pubsub/docs/overview#names).
1652 // The generated name is populated in the returned Subscription object.
1653 // Note that for REST API requests, you must specify a name in the request.
1654 CreateSubscription(context.Context, *Subscription) (*Subscription, error)
1655 // Gets the configuration details of a subscription.
1656 GetSubscription(context.Context, *GetSubscriptionRequest) (*Subscription, error)
1657 // Updates an existing subscription. Note that certain properties of a
1658 // subscription, such as its topic, are not modifiable.
1659 // NOTE: The style guide requires body: "subscription" instead of body: "*".
1660 // Keeping the latter for internal consistency in V1, however it should be
1661 // corrected in V2. See
1662 // https://cloud.google.com/apis/design/standard_methods#update for details.
1663 UpdateSubscription(context.Context, *UpdateSubscriptionRequest) (*Subscription, error)
1664 // Lists matching subscriptions.
1665 ListSubscriptions(context.Context, *ListSubscriptionsRequest) (*ListSubscriptionsResponse, error)
1666 // Deletes an existing subscription. All messages retained in the subscription
1667 // are immediately dropped. Calls to `Pull` after deletion will return
1668 // `NOT_FOUND`. After a subscription is deleted, a new one may be created with
1669 // the same name, but the new one has no association with the old
1670 // subscription or its topic unless the same topic is specified.
1671 DeleteSubscription(context.Context, *DeleteSubscriptionRequest) (*google_protobuf2.Empty, error)
1672 // Modifies the ack deadline for a specific message. This method is useful
1673 // to indicate that more time is needed to process a message by the
1674 // subscriber, or to make the message available for redelivery if the
1675 // processing was interrupted. Note that this does not modify the
1676 // subscription-level `ackDeadlineSeconds` used for subsequent messages.
1677 ModifyAckDeadline(context.Context, *ModifyAckDeadlineRequest) (*google_protobuf2.Empty, error)
1678 // Acknowledges the messages associated with the `ack_ids` in the
1679 // `AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages
1680 // from the subscription.
1682 // Acknowledging a message whose ack deadline has expired may succeed,
1683 // but such a message may be redelivered later. Acknowledging a message more
1684 // than once will not result in an error.
1685 Acknowledge(context.Context, *AcknowledgeRequest) (*google_protobuf2.Empty, error)
1686 // Pulls messages from the server. Returns an empty list if there are no
1687 // messages available in the backlog. The server may return `UNAVAILABLE` if
1688 // there are too many concurrent pull requests pending for the given
1690 Pull(context.Context, *PullRequest) (*PullResponse, error)
1691 // (EXPERIMENTAL) StreamingPull is an experimental feature. This RPC will
1692 // respond with UNIMPLEMENTED errors unless you have been invited to test
1693 // this feature. Contact cloud-pubsub@google.com with any questions.
1695 // Establishes a stream with the server, which sends messages down to the
1696 // client. The client streams acknowledgements and ack deadline modifications
1697 // back to the server. The server will close the stream and return the status
1698 // on any error. The server may close the stream with status `OK` to reassign
1699 // server-side resources, in which case, the client should re-establish the
1700 // stream. `UNAVAILABLE` may also be returned in the case of a transient error
1701 // (e.g., a server restart). These should also be retried by the client. Flow
1702 // control can be achieved by configuring the underlying RPC channel.
1703 StreamingPull(Subscriber_StreamingPullServer) error
1704 // Modifies the `PushConfig` for a specified subscription.
1706 // This may be used to change a push subscription to a pull one (signified by
1707 // an empty `PushConfig`) or vice versa, or change the endpoint URL and other
1708 // attributes of a push subscription. Messages will accumulate for delivery
1709 // continuously through the call regardless of changes to the `PushConfig`.
1710 ModifyPushConfig(context.Context, *ModifyPushConfigRequest) (*google_protobuf2.Empty, error)
1711 // Lists the existing snapshots.
1712 ListSnapshots(context.Context, *ListSnapshotsRequest) (*ListSnapshotsResponse, error)
1713 // Creates a snapshot from the requested subscription.
1714 // If the snapshot already exists, returns `ALREADY_EXISTS`.
1715 // If the requested subscription doesn't exist, returns `NOT_FOUND`.
1717 // If the name is not provided in the request, the server will assign a random
1718 // name for this snapshot on the same project as the subscription, conforming
1720 // [resource name format](https://cloud.google.com/pubsub/docs/overview#names).
1721 // The generated name is populated in the returned Snapshot object.
1722 // Note that for REST API requests, you must specify a name in the request.
1723 CreateSnapshot(context.Context, *CreateSnapshotRequest) (*Snapshot, error)
1724 // Updates an existing snapshot. Note that certain properties of a snapshot
1725 // are not modifiable.
1726 // NOTE: The style guide requires body: "snapshot" instead of body: "*".
1727 // Keeping the latter for internal consistency in V1, however it should be
1728 // corrected in V2. See
1729 // https://cloud.google.com/apis/design/standard_methods#update for details.
1730 UpdateSnapshot(context.Context, *UpdateSnapshotRequest) (*Snapshot, error)
1731 // Removes an existing snapshot. All messages retained in the snapshot
1732 // are immediately dropped. After a snapshot is deleted, a new one may be
1733 // created with the same name, but the new one has no association with the old
1734 // snapshot or its subscription, unless the same subscription is specified.
1735 DeleteSnapshot(context.Context, *DeleteSnapshotRequest) (*google_protobuf2.Empty, error)
1736 // Seeks an existing subscription to a point in time or to a given snapshot,
1737 // whichever is provided in the request.
1738 Seek(context.Context, *SeekRequest) (*SeekResponse, error)
1741 func RegisterSubscriberServer(s *grpc.Server, srv SubscriberServer) {
1742 s.RegisterService(&_Subscriber_serviceDesc, srv)
1745 func _Subscriber_CreateSubscription_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1746 in := new(Subscription)
1747 if err := dec(in); err != nil {
1750 if interceptor == nil {
1751 return srv.(SubscriberServer).CreateSubscription(ctx, in)
1753 info := &grpc.UnaryServerInfo{
1755 FullMethod: "/google.pubsub.v1.Subscriber/CreateSubscription",
1757 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1758 return srv.(SubscriberServer).CreateSubscription(ctx, req.(*Subscription))
1760 return interceptor(ctx, in, info, handler)
1763 func _Subscriber_GetSubscription_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1764 in := new(GetSubscriptionRequest)
1765 if err := dec(in); err != nil {
1768 if interceptor == nil {
1769 return srv.(SubscriberServer).GetSubscription(ctx, in)
1771 info := &grpc.UnaryServerInfo{
1773 FullMethod: "/google.pubsub.v1.Subscriber/GetSubscription",
1775 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1776 return srv.(SubscriberServer).GetSubscription(ctx, req.(*GetSubscriptionRequest))
1778 return interceptor(ctx, in, info, handler)
1781 func _Subscriber_UpdateSubscription_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1782 in := new(UpdateSubscriptionRequest)
1783 if err := dec(in); err != nil {
1786 if interceptor == nil {
1787 return srv.(SubscriberServer).UpdateSubscription(ctx, in)
1789 info := &grpc.UnaryServerInfo{
1791 FullMethod: "/google.pubsub.v1.Subscriber/UpdateSubscription",
1793 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1794 return srv.(SubscriberServer).UpdateSubscription(ctx, req.(*UpdateSubscriptionRequest))
1796 return interceptor(ctx, in, info, handler)
1799 func _Subscriber_ListSubscriptions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1800 in := new(ListSubscriptionsRequest)
1801 if err := dec(in); err != nil {
1804 if interceptor == nil {
1805 return srv.(SubscriberServer).ListSubscriptions(ctx, in)
1807 info := &grpc.UnaryServerInfo{
1809 FullMethod: "/google.pubsub.v1.Subscriber/ListSubscriptions",
1811 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1812 return srv.(SubscriberServer).ListSubscriptions(ctx, req.(*ListSubscriptionsRequest))
1814 return interceptor(ctx, in, info, handler)
1817 func _Subscriber_DeleteSubscription_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1818 in := new(DeleteSubscriptionRequest)
1819 if err := dec(in); err != nil {
1822 if interceptor == nil {
1823 return srv.(SubscriberServer).DeleteSubscription(ctx, in)
1825 info := &grpc.UnaryServerInfo{
1827 FullMethod: "/google.pubsub.v1.Subscriber/DeleteSubscription",
1829 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1830 return srv.(SubscriberServer).DeleteSubscription(ctx, req.(*DeleteSubscriptionRequest))
1832 return interceptor(ctx, in, info, handler)
1835 func _Subscriber_ModifyAckDeadline_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1836 in := new(ModifyAckDeadlineRequest)
1837 if err := dec(in); err != nil {
1840 if interceptor == nil {
1841 return srv.(SubscriberServer).ModifyAckDeadline(ctx, in)
1843 info := &grpc.UnaryServerInfo{
1845 FullMethod: "/google.pubsub.v1.Subscriber/ModifyAckDeadline",
1847 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1848 return srv.(SubscriberServer).ModifyAckDeadline(ctx, req.(*ModifyAckDeadlineRequest))
1850 return interceptor(ctx, in, info, handler)
1853 func _Subscriber_Acknowledge_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1854 in := new(AcknowledgeRequest)
1855 if err := dec(in); err != nil {
1858 if interceptor == nil {
1859 return srv.(SubscriberServer).Acknowledge(ctx, in)
1861 info := &grpc.UnaryServerInfo{
1863 FullMethod: "/google.pubsub.v1.Subscriber/Acknowledge",
1865 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1866 return srv.(SubscriberServer).Acknowledge(ctx, req.(*AcknowledgeRequest))
1868 return interceptor(ctx, in, info, handler)
1871 func _Subscriber_Pull_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1872 in := new(PullRequest)
1873 if err := dec(in); err != nil {
1876 if interceptor == nil {
1877 return srv.(SubscriberServer).Pull(ctx, in)
1879 info := &grpc.UnaryServerInfo{
1881 FullMethod: "/google.pubsub.v1.Subscriber/Pull",
1883 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1884 return srv.(SubscriberServer).Pull(ctx, req.(*PullRequest))
1886 return interceptor(ctx, in, info, handler)
1889 func _Subscriber_StreamingPull_Handler(srv interface{}, stream grpc.ServerStream) error {
1890 return srv.(SubscriberServer).StreamingPull(&subscriberStreamingPullServer{stream})
1893 type Subscriber_StreamingPullServer interface {
1894 Send(*StreamingPullResponse) error
1895 Recv() (*StreamingPullRequest, error)
1899 type subscriberStreamingPullServer struct {
1903 func (x *subscriberStreamingPullServer) Send(m *StreamingPullResponse) error {
1904 return x.ServerStream.SendMsg(m)
1907 func (x *subscriberStreamingPullServer) Recv() (*StreamingPullRequest, error) {
1908 m := new(StreamingPullRequest)
1909 if err := x.ServerStream.RecvMsg(m); err != nil {
1915 func _Subscriber_ModifyPushConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1916 in := new(ModifyPushConfigRequest)
1917 if err := dec(in); err != nil {
1920 if interceptor == nil {
1921 return srv.(SubscriberServer).ModifyPushConfig(ctx, in)
1923 info := &grpc.UnaryServerInfo{
1925 FullMethod: "/google.pubsub.v1.Subscriber/ModifyPushConfig",
1927 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1928 return srv.(SubscriberServer).ModifyPushConfig(ctx, req.(*ModifyPushConfigRequest))
1930 return interceptor(ctx, in, info, handler)
1933 func _Subscriber_ListSnapshots_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1934 in := new(ListSnapshotsRequest)
1935 if err := dec(in); err != nil {
1938 if interceptor == nil {
1939 return srv.(SubscriberServer).ListSnapshots(ctx, in)
1941 info := &grpc.UnaryServerInfo{
1943 FullMethod: "/google.pubsub.v1.Subscriber/ListSnapshots",
1945 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1946 return srv.(SubscriberServer).ListSnapshots(ctx, req.(*ListSnapshotsRequest))
1948 return interceptor(ctx, in, info, handler)
1951 func _Subscriber_CreateSnapshot_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1952 in := new(CreateSnapshotRequest)
1953 if err := dec(in); err != nil {
1956 if interceptor == nil {
1957 return srv.(SubscriberServer).CreateSnapshot(ctx, in)
1959 info := &grpc.UnaryServerInfo{
1961 FullMethod: "/google.pubsub.v1.Subscriber/CreateSnapshot",
1963 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1964 return srv.(SubscriberServer).CreateSnapshot(ctx, req.(*CreateSnapshotRequest))
1966 return interceptor(ctx, in, info, handler)
1969 func _Subscriber_UpdateSnapshot_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1970 in := new(UpdateSnapshotRequest)
1971 if err := dec(in); err != nil {
1974 if interceptor == nil {
1975 return srv.(SubscriberServer).UpdateSnapshot(ctx, in)
1977 info := &grpc.UnaryServerInfo{
1979 FullMethod: "/google.pubsub.v1.Subscriber/UpdateSnapshot",
1981 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1982 return srv.(SubscriberServer).UpdateSnapshot(ctx, req.(*UpdateSnapshotRequest))
1984 return interceptor(ctx, in, info, handler)
1987 func _Subscriber_DeleteSnapshot_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1988 in := new(DeleteSnapshotRequest)
1989 if err := dec(in); err != nil {
1992 if interceptor == nil {
1993 return srv.(SubscriberServer).DeleteSnapshot(ctx, in)
1995 info := &grpc.UnaryServerInfo{
1997 FullMethod: "/google.pubsub.v1.Subscriber/DeleteSnapshot",
1999 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2000 return srv.(SubscriberServer).DeleteSnapshot(ctx, req.(*DeleteSnapshotRequest))
2002 return interceptor(ctx, in, info, handler)
2005 func _Subscriber_Seek_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2006 in := new(SeekRequest)
2007 if err := dec(in); err != nil {
2010 if interceptor == nil {
2011 return srv.(SubscriberServer).Seek(ctx, in)
2013 info := &grpc.UnaryServerInfo{
2015 FullMethod: "/google.pubsub.v1.Subscriber/Seek",
2017 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2018 return srv.(SubscriberServer).Seek(ctx, req.(*SeekRequest))
2020 return interceptor(ctx, in, info, handler)
2023 var _Subscriber_serviceDesc = grpc.ServiceDesc{
2024 ServiceName: "google.pubsub.v1.Subscriber",
2025 HandlerType: (*SubscriberServer)(nil),
2026 Methods: []grpc.MethodDesc{
2028 MethodName: "CreateSubscription",
2029 Handler: _Subscriber_CreateSubscription_Handler,
2032 MethodName: "GetSubscription",
2033 Handler: _Subscriber_GetSubscription_Handler,
2036 MethodName: "UpdateSubscription",
2037 Handler: _Subscriber_UpdateSubscription_Handler,
2040 MethodName: "ListSubscriptions",
2041 Handler: _Subscriber_ListSubscriptions_Handler,
2044 MethodName: "DeleteSubscription",
2045 Handler: _Subscriber_DeleteSubscription_Handler,
2048 MethodName: "ModifyAckDeadline",
2049 Handler: _Subscriber_ModifyAckDeadline_Handler,
2052 MethodName: "Acknowledge",
2053 Handler: _Subscriber_Acknowledge_Handler,
2057 Handler: _Subscriber_Pull_Handler,
2060 MethodName: "ModifyPushConfig",
2061 Handler: _Subscriber_ModifyPushConfig_Handler,
2064 MethodName: "ListSnapshots",
2065 Handler: _Subscriber_ListSnapshots_Handler,
2068 MethodName: "CreateSnapshot",
2069 Handler: _Subscriber_CreateSnapshot_Handler,
2072 MethodName: "UpdateSnapshot",
2073 Handler: _Subscriber_UpdateSnapshot_Handler,
2076 MethodName: "DeleteSnapshot",
2077 Handler: _Subscriber_DeleteSnapshot_Handler,
2081 Handler: _Subscriber_Seek_Handler,
2084 Streams: []grpc.StreamDesc{
2086 StreamName: "StreamingPull",
2087 Handler: _Subscriber_StreamingPull_Handler,
2088 ServerStreams: true,
2089 ClientStreams: true,
2092 Metadata: "google/pubsub/v1/pubsub.proto",
2095 // Client API for Publisher service
2097 type PublisherClient interface {
2098 // Creates the given topic with the given name.
2099 CreateTopic(ctx context.Context, in *Topic, opts ...grpc.CallOption) (*Topic, error)
2100 // Updates an existing topic. Note that certain properties of a topic are not
2101 // modifiable. Options settings follow the style guide:
2102 // NOTE: The style guide requires body: "topic" instead of body: "*".
2103 // Keeping the latter for internal consistency in V1, however it should be
2104 // corrected in V2. See
2105 // https://cloud.google.com/apis/design/standard_methods#update for details.
2106 UpdateTopic(ctx context.Context, in *UpdateTopicRequest, opts ...grpc.CallOption) (*Topic, error)
2107 // Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic
2108 // does not exist. The message payload must not be empty; it must contain
2109 // either a non-empty data field, or at least one attribute.
2110 Publish(ctx context.Context, in *PublishRequest, opts ...grpc.CallOption) (*PublishResponse, error)
2111 // Gets the configuration of a topic.
2112 GetTopic(ctx context.Context, in *GetTopicRequest, opts ...grpc.CallOption) (*Topic, error)
2113 // Lists matching topics.
2114 ListTopics(ctx context.Context, in *ListTopicsRequest, opts ...grpc.CallOption) (*ListTopicsResponse, error)
2115 // Lists the name of the subscriptions for this topic.
2116 ListTopicSubscriptions(ctx context.Context, in *ListTopicSubscriptionsRequest, opts ...grpc.CallOption) (*ListTopicSubscriptionsResponse, error)
2117 // Deletes the topic with the given name. Returns `NOT_FOUND` if the topic
2118 // does not exist. After a topic is deleted, a new topic may be created with
2119 // the same name; this is an entirely new topic with none of the old
2120 // configuration or subscriptions. Existing subscriptions to this topic are
2121 // not deleted, but their `topic` field is set to `_deleted-topic_`.
2122 DeleteTopic(ctx context.Context, in *DeleteTopicRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error)
2125 type publisherClient struct {
2129 func NewPublisherClient(cc *grpc.ClientConn) PublisherClient {
2130 return &publisherClient{cc}
2133 func (c *publisherClient) CreateTopic(ctx context.Context, in *Topic, opts ...grpc.CallOption) (*Topic, error) {
2135 err := grpc.Invoke(ctx, "/google.pubsub.v1.Publisher/CreateTopic", in, out, c.cc, opts...)
2142 func (c *publisherClient) UpdateTopic(ctx context.Context, in *UpdateTopicRequest, opts ...grpc.CallOption) (*Topic, error) {
2144 err := grpc.Invoke(ctx, "/google.pubsub.v1.Publisher/UpdateTopic", in, out, c.cc, opts...)
2151 func (c *publisherClient) Publish(ctx context.Context, in *PublishRequest, opts ...grpc.CallOption) (*PublishResponse, error) {
2152 out := new(PublishResponse)
2153 err := grpc.Invoke(ctx, "/google.pubsub.v1.Publisher/Publish", in, out, c.cc, opts...)
2160 func (c *publisherClient) GetTopic(ctx context.Context, in *GetTopicRequest, opts ...grpc.CallOption) (*Topic, error) {
2162 err := grpc.Invoke(ctx, "/google.pubsub.v1.Publisher/GetTopic", in, out, c.cc, opts...)
2169 func (c *publisherClient) ListTopics(ctx context.Context, in *ListTopicsRequest, opts ...grpc.CallOption) (*ListTopicsResponse, error) {
2170 out := new(ListTopicsResponse)
2171 err := grpc.Invoke(ctx, "/google.pubsub.v1.Publisher/ListTopics", in, out, c.cc, opts...)
2178 func (c *publisherClient) ListTopicSubscriptions(ctx context.Context, in *ListTopicSubscriptionsRequest, opts ...grpc.CallOption) (*ListTopicSubscriptionsResponse, error) {
2179 out := new(ListTopicSubscriptionsResponse)
2180 err := grpc.Invoke(ctx, "/google.pubsub.v1.Publisher/ListTopicSubscriptions", in, out, c.cc, opts...)
2187 func (c *publisherClient) DeleteTopic(ctx context.Context, in *DeleteTopicRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error) {
2188 out := new(google_protobuf2.Empty)
2189 err := grpc.Invoke(ctx, "/google.pubsub.v1.Publisher/DeleteTopic", in, out, c.cc, opts...)
2196 // Server API for Publisher service
2198 type PublisherServer interface {
2199 // Creates the given topic with the given name.
2200 CreateTopic(context.Context, *Topic) (*Topic, error)
2201 // Updates an existing topic. Note that certain properties of a topic are not
2202 // modifiable. Options settings follow the style guide:
2203 // NOTE: The style guide requires body: "topic" instead of body: "*".
2204 // Keeping the latter for internal consistency in V1, however it should be
2205 // corrected in V2. See
2206 // https://cloud.google.com/apis/design/standard_methods#update for details.
2207 UpdateTopic(context.Context, *UpdateTopicRequest) (*Topic, error)
2208 // Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic
2209 // does not exist. The message payload must not be empty; it must contain
2210 // either a non-empty data field, or at least one attribute.
2211 Publish(context.Context, *PublishRequest) (*PublishResponse, error)
2212 // Gets the configuration of a topic.
2213 GetTopic(context.Context, *GetTopicRequest) (*Topic, error)
2214 // Lists matching topics.
2215 ListTopics(context.Context, *ListTopicsRequest) (*ListTopicsResponse, error)
2216 // Lists the name of the subscriptions for this topic.
2217 ListTopicSubscriptions(context.Context, *ListTopicSubscriptionsRequest) (*ListTopicSubscriptionsResponse, error)
2218 // Deletes the topic with the given name. Returns `NOT_FOUND` if the topic
2219 // does not exist. After a topic is deleted, a new topic may be created with
2220 // the same name; this is an entirely new topic with none of the old
2221 // configuration or subscriptions. Existing subscriptions to this topic are
2222 // not deleted, but their `topic` field is set to `_deleted-topic_`.
2223 DeleteTopic(context.Context, *DeleteTopicRequest) (*google_protobuf2.Empty, error)
2226 func RegisterPublisherServer(s *grpc.Server, srv PublisherServer) {
2227 s.RegisterService(&_Publisher_serviceDesc, srv)
2230 func _Publisher_CreateTopic_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2232 if err := dec(in); err != nil {
2235 if interceptor == nil {
2236 return srv.(PublisherServer).CreateTopic(ctx, in)
2238 info := &grpc.UnaryServerInfo{
2240 FullMethod: "/google.pubsub.v1.Publisher/CreateTopic",
2242 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2243 return srv.(PublisherServer).CreateTopic(ctx, req.(*Topic))
2245 return interceptor(ctx, in, info, handler)
2248 func _Publisher_UpdateTopic_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2249 in := new(UpdateTopicRequest)
2250 if err := dec(in); err != nil {
2253 if interceptor == nil {
2254 return srv.(PublisherServer).UpdateTopic(ctx, in)
2256 info := &grpc.UnaryServerInfo{
2258 FullMethod: "/google.pubsub.v1.Publisher/UpdateTopic",
2260 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2261 return srv.(PublisherServer).UpdateTopic(ctx, req.(*UpdateTopicRequest))
2263 return interceptor(ctx, in, info, handler)
2266 func _Publisher_Publish_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2267 in := new(PublishRequest)
2268 if err := dec(in); err != nil {
2271 if interceptor == nil {
2272 return srv.(PublisherServer).Publish(ctx, in)
2274 info := &grpc.UnaryServerInfo{
2276 FullMethod: "/google.pubsub.v1.Publisher/Publish",
2278 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2279 return srv.(PublisherServer).Publish(ctx, req.(*PublishRequest))
2281 return interceptor(ctx, in, info, handler)
2284 func _Publisher_GetTopic_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2285 in := new(GetTopicRequest)
2286 if err := dec(in); err != nil {
2289 if interceptor == nil {
2290 return srv.(PublisherServer).GetTopic(ctx, in)
2292 info := &grpc.UnaryServerInfo{
2294 FullMethod: "/google.pubsub.v1.Publisher/GetTopic",
2296 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2297 return srv.(PublisherServer).GetTopic(ctx, req.(*GetTopicRequest))
2299 return interceptor(ctx, in, info, handler)
2302 func _Publisher_ListTopics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2303 in := new(ListTopicsRequest)
2304 if err := dec(in); err != nil {
2307 if interceptor == nil {
2308 return srv.(PublisherServer).ListTopics(ctx, in)
2310 info := &grpc.UnaryServerInfo{
2312 FullMethod: "/google.pubsub.v1.Publisher/ListTopics",
2314 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2315 return srv.(PublisherServer).ListTopics(ctx, req.(*ListTopicsRequest))
2317 return interceptor(ctx, in, info, handler)
2320 func _Publisher_ListTopicSubscriptions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2321 in := new(ListTopicSubscriptionsRequest)
2322 if err := dec(in); err != nil {
2325 if interceptor == nil {
2326 return srv.(PublisherServer).ListTopicSubscriptions(ctx, in)
2328 info := &grpc.UnaryServerInfo{
2330 FullMethod: "/google.pubsub.v1.Publisher/ListTopicSubscriptions",
2332 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2333 return srv.(PublisherServer).ListTopicSubscriptions(ctx, req.(*ListTopicSubscriptionsRequest))
2335 return interceptor(ctx, in, info, handler)
2338 func _Publisher_DeleteTopic_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2339 in := new(DeleteTopicRequest)
2340 if err := dec(in); err != nil {
2343 if interceptor == nil {
2344 return srv.(PublisherServer).DeleteTopic(ctx, in)
2346 info := &grpc.UnaryServerInfo{
2348 FullMethod: "/google.pubsub.v1.Publisher/DeleteTopic",
2350 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2351 return srv.(PublisherServer).DeleteTopic(ctx, req.(*DeleteTopicRequest))
2353 return interceptor(ctx, in, info, handler)
2356 var _Publisher_serviceDesc = grpc.ServiceDesc{
2357 ServiceName: "google.pubsub.v1.Publisher",
2358 HandlerType: (*PublisherServer)(nil),
2359 Methods: []grpc.MethodDesc{
2361 MethodName: "CreateTopic",
2362 Handler: _Publisher_CreateTopic_Handler,
2365 MethodName: "UpdateTopic",
2366 Handler: _Publisher_UpdateTopic_Handler,
2369 MethodName: "Publish",
2370 Handler: _Publisher_Publish_Handler,
2373 MethodName: "GetTopic",
2374 Handler: _Publisher_GetTopic_Handler,
2377 MethodName: "ListTopics",
2378 Handler: _Publisher_ListTopics_Handler,
2381 MethodName: "ListTopicSubscriptions",
2382 Handler: _Publisher_ListTopicSubscriptions_Handler,
2385 MethodName: "DeleteTopic",
2386 Handler: _Publisher_DeleteTopic_Handler,
2389 Streams: []grpc.StreamDesc{},
2390 Metadata: "google/pubsub/v1/pubsub.proto",
2393 func init() { proto.RegisterFile("google/pubsub/v1/pubsub.proto", fileDescriptor0) }
2395 var fileDescriptor0 = []byte{
2396 // 2011 bytes of a gzipped FileDescriptorProto
2397 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x59, 0xcb, 0x73, 0xdb, 0xc6,
2398 0x19, 0xcf, 0x92, 0x7a, 0x50, 0x1f, 0xf4, 0xf2, 0x56, 0xb2, 0x69, 0xf8, 0x25, 0xc1, 0x8a, 0x45,
2399 0x33, 0x36, 0x29, 0x33, 0x13, 0x37, 0xb6, 0x2a, 0x67, 0x24, 0xcb, 0x75, 0xdc, 0xb1, 0x1b, 0x15,
2400 0x72, 0xdb, 0x99, 0x1e, 0xca, 0x01, 0x89, 0x35, 0x8d, 0x90, 0x04, 0x10, 0x00, 0x54, 0xad, 0xb4,
2401 0x9e, 0x49, 0x93, 0x4e, 0x67, 0x3a, 0xf5, 0xa1, 0x69, 0x6e, 0x9d, 0x1c, 0x3a, 0xd3, 0x5b, 0x8f,
2402 0x9d, 0xe9, 0xb5, 0xff, 0x44, 0xff, 0x85, 0x1e, 0x7b, 0x6f, 0x8f, 0x99, 0x7d, 0x00, 0xc4, 0x63,
2403 0x41, 0x8a, 0xb2, 0x7d, 0x03, 0xf6, 0xfb, 0x76, 0xbf, 0xdf, 0xf7, 0xfe, 0x80, 0x85, 0x4b, 0x1d,
2404 0xc7, 0xe9, 0xf4, 0x48, 0xdd, 0x1d, 0xb4, 0xfc, 0x41, 0xab, 0x7e, 0x74, 0x4b, 0x3c, 0xd5, 0x5c,
2405 0xcf, 0x09, 0x1c, 0xbc, 0xcc, 0xc9, 0x35, 0xb1, 0x78, 0x74, 0x4b, 0xbd, 0x28, 0x36, 0x18, 0xae,
2406 0x55, 0x37, 0x6c, 0xdb, 0x09, 0x8c, 0xc0, 0x72, 0x6c, 0x9f, 0xf3, 0xab, 0x97, 0xc3, 0xe3, 0xe8,
2407 0x5b, 0x6b, 0xf0, 0xac, 0x6e, 0x0e, 0x3c, 0xc6, 0x20, 0xe8, 0x17, 0xd2, 0x74, 0xd2, 0x77, 0x83,
2408 0x63, 0x41, 0x5c, 0x4b, 0x13, 0x9f, 0x59, 0xa4, 0x67, 0x36, 0xfb, 0x86, 0xdf, 0x15, 0x1c, 0x57,
2409 0xd2, 0x1c, 0x81, 0xd5, 0x27, 0x7e, 0x60, 0xf4, 0x5d, 0xce, 0xa0, 0x7d, 0x83, 0x60, 0xfa, 0xa9,
2410 0xe3, 0x5a, 0x6d, 0x8c, 0x61, 0xca, 0x36, 0xfa, 0xa4, 0x8c, 0xd6, 0x50, 0x65, 0x4e, 0x67, 0xcf,
2411 0x78, 0x1b, 0x66, 0x7a, 0x46, 0x8b, 0xf4, 0xfc, 0x72, 0x61, 0xad, 0x58, 0x51, 0x1a, 0x57, 0x6b,
2412 0x69, 0xf5, 0x6a, 0x6c, 0x73, 0xed, 0x31, 0xe3, 0x7a, 0x60, 0x07, 0xde, 0xb1, 0x2e, 0xb6, 0xa8,
2413 0x77, 0x40, 0x89, 0x2d, 0xe3, 0x65, 0x28, 0x76, 0xc9, 0xb1, 0x38, 0x9e, 0x3e, 0xe2, 0x15, 0x98,
2414 0x3e, 0x32, 0x7a, 0x03, 0x52, 0x2e, 0xb0, 0x35, 0xfe, 0x72, 0xb7, 0xf0, 0x21, 0xd2, 0xbe, 0x2e,
2415 0xc0, 0xc2, 0x01, 0x13, 0xf1, 0x84, 0xf8, 0xbe, 0xd1, 0x21, 0x14, 0x9d, 0x69, 0x04, 0x06, 0xdb,
2416 0x3e, 0xaf, 0xb3, 0x67, 0xfc, 0x09, 0x80, 0x11, 0x04, 0x9e, 0xd5, 0x1a, 0x04, 0x24, 0x44, 0x58,
2417 0xcf, 0x22, 0x4c, 0x1c, 0x54, 0xdb, 0x8d, 0x76, 0x70, 0xb4, 0xb1, 0x23, 0xf0, 0x25, 0x80, 0x3e,
2418 0x67, 0x6b, 0x5a, 0x66, 0xb9, 0xc8, 0x50, 0xcd, 0x89, 0x95, 0x47, 0x26, 0xde, 0x81, 0x79, 0x77,
2419 0xd0, 0xea, 0x59, 0xfe, 0xf3, 0x26, 0x35, 0x63, 0x79, 0x6a, 0x0d, 0x55, 0x94, 0x86, 0x1a, 0x49,
2420 0x14, 0x36, 0xae, 0x3d, 0x0d, 0x6d, 0xac, 0x2b, 0x82, 0x9f, 0xae, 0xa8, 0x3b, 0xb0, 0x94, 0x12,
2421 0x3e, 0x91, 0x4d, 0x36, 0x61, 0xe9, 0x21, 0x09, 0x98, 0xb9, 0x75, 0xf2, 0xd9, 0x80, 0xf8, 0x01,
2422 0x65, 0x0e, 0xe8, 0xbb, 0x38, 0x80, 0xbf, 0x68, 0x5f, 0x20, 0xc0, 0x3f, 0x75, 0x4d, 0x23, 0x20,
2423 0x09, 0xe6, 0x9b, 0x71, 0x66, 0xa5, 0x71, 0x2e, 0xc7, 0x95, 0xe2, 0x14, 0xbc, 0x0d, 0xca, 0x80,
2424 0x1d, 0xc2, 0xc2, 0x89, 0xc1, 0x91, 0xe9, 0xfa, 0x43, 0x1a, 0x71, 0x4f, 0x0c, 0xbf, 0xab, 0x03,
2425 0x67, 0xa7, 0xcf, 0x5a, 0x1b, 0x16, 0x0f, 0xb8, 0xe6, 0x23, 0xa1, 0xe2, 0x6d, 0x28, 0x09, 0xf3,
2426 0x86, 0xfe, 0xbb, 0x32, 0xc6, 0x7f, 0x7a, 0xb4, 0x41, 0x6b, 0xc0, 0x52, 0x24, 0xc4, 0x77, 0x1d,
2427 0xdb, 0x27, 0xf8, 0x0a, 0x28, 0x43, 0x07, 0xfa, 0x65, 0xb4, 0x56, 0xac, 0xcc, 0xe9, 0x10, 0x79,
2428 0xd0, 0xd7, 0x2c, 0x38, 0xf3, 0xd8, 0xf2, 0xb9, 0x15, 0xfd, 0x10, 0x5b, 0x19, 0x66, 0x5d, 0xcf,
2429 0xf9, 0x94, 0xb4, 0x03, 0x81, 0x2e, 0x7c, 0xc5, 0x17, 0x60, 0xce, 0xa5, 0x87, 0xf9, 0xd6, 0xe7,
2430 0xdc, 0x23, 0xd3, 0x7a, 0x89, 0x2e, 0x1c, 0x5a, 0x9f, 0x13, 0x1a, 0x2d, 0x8c, 0x18, 0x38, 0x5d,
2431 0x62, 0x87, 0xd1, 0x42, 0x57, 0x9e, 0xd2, 0x05, 0xad, 0x0f, 0x38, 0x2e, 0x4a, 0x20, 0xac, 0xc3,
2432 0x0c, 0x53, 0x9d, 0x83, 0x1b, 0xe1, 0x06, 0xc1, 0x86, 0xaf, 0xc1, 0x92, 0x4d, 0x5e, 0x04, 0xcd,
2433 0x98, 0x28, 0x1e, 0x1a, 0x0b, 0x74, 0xf9, 0x20, 0x12, 0xf7, 0x19, 0x5c, 0x8a, 0xc4, 0x1d, 0x0e,
2434 0x5a, 0x7e, 0xdb, 0xb3, 0x5c, 0x56, 0x68, 0x46, 0x7b, 0xe0, 0x75, 0x34, 0xb4, 0xe1, 0x72, 0x9e,
2435 0x48, 0xa1, 0xed, 0x06, 0x2c, 0xf8, 0x71, 0x82, 0xf0, 0x48, 0x72, 0xf1, 0xc4, 0x2a, 0x56, 0x01,
2436 0xef, 0x93, 0x1e, 0x49, 0xc5, 0xb5, 0x3c, 0x09, 0xfe, 0x59, 0x84, 0xf9, 0x38, 0x26, 0x69, 0x79,
2437 0x8b, 0xb6, 0x16, 0xe2, 0x26, 0xd9, 0x01, 0xc5, 0x1d, 0xf8, 0xcf, 0x9b, 0x6d, 0xc7, 0x7e, 0x66,
2438 0x75, 0x44, 0x96, 0x5f, 0x94, 0xc5, 0xa5, 0xff, 0xfc, 0x3e, 0xe3, 0xd1, 0xc1, 0x8d, 0x9e, 0xf1,
2439 0x16, 0xac, 0x18, 0xed, 0x6e, 0xd3, 0x24, 0x86, 0xd9, 0xb3, 0x6c, 0xd2, 0xf4, 0x49, 0xdb, 0xb1,
2440 0x4d, 0xbf, 0x3c, 0xcd, 0x8c, 0x8b, 0x8d, 0x76, 0x77, 0x5f, 0x90, 0x0e, 0x39, 0x05, 0x37, 0x60,
2441 0xd5, 0x23, 0x81, 0x61, 0xd9, 0x4d, 0xa3, 0xdd, 0x25, 0x66, 0x33, 0x4a, 0x89, 0xd9, 0x35, 0x54,
2442 0x29, 0xe9, 0xdf, 0xe3, 0xc4, 0x5d, 0x4a, 0x13, 0x59, 0xe0, 0xe3, 0x9f, 0x83, 0x1a, 0x46, 0xba,
2443 0x47, 0x02, 0x62, 0x53, 0x1d, 0x9b, 0x61, 0xef, 0x28, 0x97, 0x18, 0xe6, 0xf3, 0x99, 0x6c, 0xdd,
2444 0x17, 0x0c, 0x7a, 0x59, 0x6c, 0xd6, 0xc3, 0xbd, 0x21, 0x05, 0xef, 0x45, 0x25, 0x7f, 0x8e, 0x05,
2445 0x68, 0x35, 0xab, 0x78, 0xdc, 0xae, 0x6f, 0xba, 0xf2, 0xff, 0x0b, 0x01, 0x0c, 0x0d, 0x8b, 0xaf,
2446 0xc2, 0x02, 0xf3, 0x05, 0xb1, 0x4d, 0xd7, 0xb1, 0xec, 0x30, 0x41, 0xe7, 0xe9, 0xe2, 0x03, 0xb1,
2447 0x86, 0x1f, 0x4b, 0xfa, 0xc0, 0x8d, 0x51, 0xfe, 0x1a, 0xd5, 0x04, 0x5e, 0xb7, 0x4c, 0xb7, 0x61,
2448 0x49, 0x27, 0x6d, 0x62, 0x1d, 0x45, 0xce, 0xc2, 0xab, 0x30, 0x43, 0x23, 0xc2, 0x32, 0xc3, 0x10,
2449 0x35, 0xda, 0xdd, 0x47, 0x26, 0xbe, 0x03, 0xb3, 0xc2, 0x0b, 0xa2, 0xba, 0x8e, 0xad, 0x7d, 0x21,
2450 0xbf, 0xf6, 0x03, 0x38, 0xfb, 0x90, 0x04, 0x71, 0x3f, 0x84, 0xd9, 0xa0, 0xc1, 0x7c, 0x3c, 0xb9,
2451 0x42, 0x7b, 0xc5, 0xd7, 0xb4, 0x6f, 0x11, 0x9c, 0xe7, 0x0d, 0x42, 0x76, 0xc2, 0x9e, 0xe4, 0x04,
2452 0xa5, 0x71, 0x79, 0x74, 0x18, 0x24, 0x25, 0xbc, 0x5e, 0xf3, 0x70, 0xa1, 0x4c, 0xcb, 0x8a, 0xb4,
2453 0x88, 0xbd, 0x9d, 0x52, 0xfd, 0x07, 0x04, 0xe7, 0x25, 0x22, 0x45, 0x11, 0xdb, 0x97, 0x15, 0xb1,
2454 0xf1, 0x16, 0x39, 0x65, 0x91, 0xfb, 0x08, 0xce, 0xf3, 0x22, 0x77, 0x5a, 0xef, 0xfe, 0x06, 0xce,
2455 0x3d, 0x71, 0x4c, 0xeb, 0xd9, 0x71, 0xac, 0x3e, 0x9d, 0x7c, 0x7b, 0xba, 0xfa, 0x15, 0x26, 0xab,
2456 0x7e, 0xda, 0x57, 0x08, 0x94, 0x83, 0x41, 0xaf, 0x37, 0x89, 0xc8, 0x9b, 0x80, 0x3d, 0x12, 0x0c,
2457 0x3c, 0xbb, 0x69, 0xf5, 0xfb, 0xc4, 0xb4, 0x8c, 0x80, 0xf4, 0x8e, 0x99, 0xe4, 0x92, 0x7e, 0x86,
2458 0x53, 0x1e, 0x0d, 0x09, 0x78, 0x1d, 0xe6, 0xfb, 0xc6, 0x8b, 0x61, 0x95, 0x2c, 0x32, 0x67, 0x2b,
2459 0x7d, 0xe3, 0x45, 0x58, 0x1d, 0xb5, 0x5f, 0xc2, 0x3c, 0x07, 0x21, 0x5c, 0xf8, 0x63, 0x38, 0xe3,
2460 0x89, 0xa4, 0x1c, 0xee, 0xe3, 0x6e, 0x5c, 0xcf, 0xaa, 0x96, 0xca, 0x5f, 0x7d, 0xd9, 0x4b, 0x2e,
2461 0xf8, 0x34, 0x60, 0xca, 0xdc, 0xc8, 0xbb, 0xc3, 0x72, 0x3e, 0x89, 0xca, 0xe7, 0x60, 0x96, 0x97,
2462 0x04, 0xbf, 0x3c, 0xc5, 0x5a, 0xe2, 0x0c, 0xab, 0x09, 0x7e, 0x6e, 0xf7, 0x28, 0xe6, 0x75, 0x0f,
2463 0xed, 0x27, 0x80, 0x77, 0xdb, 0x5d, 0xdb, 0xf9, 0x55, 0x8f, 0x98, 0x9d, 0xd3, 0x82, 0x28, 0xc4,
2464 0x41, 0x68, 0xbf, 0x2d, 0xc0, 0xca, 0x61, 0xe0, 0x11, 0xa3, 0x6f, 0xd9, 0x9d, 0x49, 0xbd, 0x99,
2465 0x77, 0x2a, 0xbe, 0x0d, 0xe7, 0xfa, 0xcc, 0x66, 0x32, 0xed, 0x8a, 0x95, 0x69, 0x7d, 0x95, 0x93,
2466 0xd3, 0xed, 0xf1, 0x83, 0xec, 0xbe, 0xa4, 0xed, 0x56, 0x92, 0xfb, 0x76, 0xb9, 0xb8, 0x1d, 0xb8,
2467 0xe0, 0x33, 0x1d, 0x9a, 0x23, 0xda, 0x71, 0x99, 0xb3, 0xec, 0x66, 0xcd, 0xda, 0x81, 0xd5, 0x94,
2468 0x09, 0xde, 0x52, 0x2c, 0x7d, 0x02, 0xab, 0xf7, 0x3d, 0x42, 0x8b, 0xb1, 0x6d, 0xb8, 0xfe, 0x73,
2469 0x27, 0x08, 0x8d, 0x2d, 0x9b, 0x58, 0xd2, 0x0e, 0x28, 0x48, 0x0a, 0xc0, 0x2b, 0x04, 0xab, 0xa2,
2470 0xbc, 0xa7, 0x4e, 0xbc, 0x0d, 0x25, 0x5f, 0x2c, 0x89, 0xb2, 0xae, 0x4a, 0x8a, 0x58, 0xb8, 0x29,
2471 0xe2, 0x7d, 0xbd, 0x72, 0xfe, 0x5f, 0x04, 0xa5, 0xf0, 0xcc, 0x09, 0xa6, 0xb0, 0x6d, 0x50, 0xc8,
2472 0x0b, 0xd7, 0xf2, 0x08, 0xff, 0xd6, 0x2a, 0x8e, 0xfd, 0xd6, 0x02, 0xce, 0x4e, 0x17, 0xf0, 0xbd,
2473 0x68, 0x88, 0x99, 0x62, 0x8e, 0xb9, 0x96, 0xaf, 0xe6, 0x9b, 0x1e, 0x60, 0x7a, 0xb0, 0xc2, 0x5a,
2474 0x89, 0x38, 0xfe, 0x2d, 0x77, 0xae, 0x63, 0x58, 0x4d, 0x49, 0x13, 0x51, 0xfa, 0x21, 0xcc, 0x85,
2475 0xee, 0x0b, 0xa3, 0x73, 0x94, 0xaf, 0x87, 0xcc, 0x27, 0x6e, 0x54, 0xef, 0xc3, 0xaa, 0x68, 0x54,
2476 0xa9, 0x28, 0x53, 0x53, 0x51, 0x36, 0x37, 0x8c, 0x24, 0xed, 0x8f, 0x08, 0x94, 0x43, 0x42, 0xba,
2477 0x93, 0x14, 0x94, 0x2d, 0x98, 0x62, 0x21, 0x50, 0x18, 0x17, 0x02, 0x1f, 0xbf, 0xa3, 0x33, 0x4e,
2478 0x7c, 0x31, 0x86, 0x80, 0x99, 0xec, 0xe3, 0x77, 0x86, 0x18, 0xf6, 0x4a, 0x30, 0x13, 0x18, 0x5e,
2479 0x87, 0x04, 0xda, 0x22, 0xcc, 0x73, 0x30, 0xdc, 0x68, 0x8d, 0xff, 0x2d, 0x03, 0x88, 0xb6, 0xdb,
2480 0x22, 0x1e, 0xfe, 0x3d, 0x02, 0x2c, 0x52, 0x33, 0x8e, 0x67, 0x4c, 0xe3, 0x57, 0xc7, 0xd0, 0xb5,
2481 0xad, 0x2f, 0xff, 0xfd, 0x9f, 0x6f, 0x0a, 0x55, 0xf5, 0xdd, 0xfa, 0xd1, 0xad, 0xfa, 0xaf, 0x69,
2482 0x0a, 0xec, 0x88, 0x50, 0xf0, 0xeb, 0xd5, 0x7a, 0x62, 0x6a, 0xa8, 0x57, 0x5f, 0xde, 0x45, 0x55,
2483 0xfc, 0x67, 0xc4, 0xbe, 0xfd, 0x13, 0x28, 0x2a, 0x59, 0x29, 0xf2, 0x91, 0x70, 0x2c, 0x9e, 0x0f,
2484 0x18, 0x9e, 0x3a, 0xbe, 0xc9, 0xf0, 0xc4, 0xe5, 0x8f, 0xc2, 0x85, 0xff, 0x1a, 0xfd, 0x66, 0x48,
2485 0xe0, 0x7a, 0x2f, 0x2b, 0x2d, 0x77, 0xd6, 0x1c, 0x0b, 0x6d, 0x87, 0x41, 0xfb, 0x7e, 0xa3, 0x91,
2486 0x81, 0x56, 0x3b, 0x89, 0xdd, 0xbe, 0x45, 0xfc, 0x73, 0x3f, 0x31, 0xd7, 0x61, 0xc9, 0x17, 0x4d,
2487 0xde, 0xbc, 0xa9, 0xbe, 0x77, 0x22, 0x5e, 0x1e, 0x3e, 0x5a, 0x8d, 0xa1, 0xad, 0xe0, 0x6b, 0x0c,
2488 0xad, 0xc0, 0x16, 0xc3, 0xf8, 0x32, 0x09, 0x12, 0xff, 0x09, 0x85, 0x1f, 0xb4, 0xe3, 0x2c, 0x98,
2489 0x3b, 0x11, 0xaa, 0x67, 0x33, 0xe9, 0xf0, 0xa0, 0xef, 0x06, 0xc7, 0xa1, 0x53, 0xab, 0x13, 0x3a,
2490 0xf5, 0x6f, 0x08, 0xce, 0x64, 0x06, 0x1b, 0x99, 0xc5, 0xf2, 0xa6, 0x9f, 0x5c, 0x40, 0x3f, 0x62,
2491 0x80, 0xf6, 0xb5, 0x8f, 0x26, 0x02, 0x74, 0xb7, 0x9f, 0x96, 0x43, 0xfd, 0xfa, 0x35, 0x02, 0x25,
2492 0x36, 0xf3, 0xe0, 0x8d, 0x2c, 0xbe, 0xec, 0x48, 0x94, 0x8b, 0x6c, 0x9f, 0x21, 0xbb, 0xa7, 0xdd,
2493 0x99, 0x0c, 0x99, 0x31, 0x94, 0x40, 0x31, 0xfd, 0x0e, 0xc1, 0x14, 0x9d, 0x13, 0xf0, 0x25, 0xd9,
2494 0xac, 0x1c, 0x8d, 0x50, 0xb2, 0x90, 0x8f, 0x8f, 0x17, 0x61, 0xc8, 0x6b, 0x8d, 0xc9, 0xd0, 0xb8,
2495 0x83, 0x5e, 0x8f, 0xc2, 0x30, 0x61, 0x21, 0x31, 0xb6, 0x60, 0x59, 0xeb, 0x93, 0x8c, 0x76, 0xea,
2496 0xe6, 0x58, 0x3e, 0x0e, 0xb0, 0x82, 0xb6, 0x10, 0xcd, 0xfd, 0xe5, 0xf4, 0x47, 0x06, 0xbe, 0x9e,
2497 0x17, 0x25, 0x99, 0x0f, 0x91, 0x5c, 0x57, 0x3c, 0x62, 0xca, 0xdf, 0xd7, 0xee, 0x9d, 0x26, 0x48,
2498 0x86, 0x62, 0xa8, 0x21, 0x5e, 0x21, 0x58, 0x48, 0xb4, 0x46, 0x99, 0x25, 0x64, 0x9d, 0x5a, 0x66,
2499 0x09, 0x69, 0x8f, 0xd5, 0xaa, 0x0c, 0xed, 0x06, 0xd6, 0xf2, 0xf3, 0x3d, 0x12, 0xfe, 0x15, 0x82,
2500 0xc5, 0xe4, 0x98, 0x87, 0x25, 0x72, 0xa4, 0x83, 0xa0, 0x3a, 0xa2, 0x71, 0x6b, 0x37, 0x18, 0x86,
2501 0x6b, 0xea, 0xba, 0xbc, 0x99, 0x84, 0xf2, 0x45, 0x41, 0x7c, 0x85, 0x60, 0x31, 0x39, 0x1a, 0xca,
2502 0x50, 0x48, 0x87, 0xc7, 0x91, 0x28, 0x44, 0xb5, 0x69, 0x54, 0xb9, 0xdf, 0xc2, 0xd1, 0x6a, 0x1c,
2503 0x9c, 0x2f, 0x10, 0x2c, 0x26, 0x67, 0x08, 0x19, 0x1c, 0xe9, 0x94, 0x91, 0x1b, 0x42, 0x37, 0x19,
2504 0x94, 0xcd, 0xea, 0xbb, 0x09, 0x28, 0x79, 0x28, 0x58, 0xda, 0xd2, 0x19, 0x40, 0x96, 0xb6, 0xb1,
2505 0x41, 0x45, 0xda, 0xa9, 0x62, 0xa3, 0xc3, 0x69, 0xd3, 0xd6, 0x27, 0xa4, 0x7b, 0x17, 0x55, 0x1b,
2506 0x7f, 0x99, 0x85, 0x39, 0xf1, 0x33, 0x9b, 0x78, 0xf8, 0x53, 0x50, 0x78, 0x24, 0xf0, 0x9b, 0x99,
2507 0xbc, 0x7f, 0xc4, 0x6a, 0x1e, 0x41, 0xbb, 0xce, 0xd0, 0x5c, 0x55, 0x2f, 0x4b, 0xa3, 0x82, 0xff,
2508 0x59, 0x16, 0x3e, 0x78, 0x09, 0x4a, 0xec, 0xb2, 0x40, 0x56, 0x4a, 0xb3, 0x77, 0x09, 0xf9, 0x82,
2509 0xeb, 0x4c, 0xf0, 0xf5, 0xc6, 0x06, 0x13, 0xcc, 0x04, 0xd5, 0x46, 0x8a, 0xff, 0x12, 0xc1, 0xac,
2510 0x50, 0x1c, 0xaf, 0x49, 0xff, 0x7f, 0xc5, 0x6e, 0x11, 0xd4, 0xf5, 0x11, 0x1c, 0xc2, 0x11, 0x0d,
2511 0x86, 0xe0, 0x86, 0xb6, 0x39, 0x44, 0x20, 0x17, 0x2e, 0xae, 0x66, 0x28, 0x08, 0x07, 0x4a, 0xe1,
2512 0xd5, 0x0a, 0x5e, 0x97, 0xce, 0x55, 0x27, 0xd3, 0x7e, 0x93, 0xc9, 0x5e, 0xc7, 0x57, 0xc6, 0xc8,
2513 0xa6, 0x81, 0x0f, 0xc3, 0xcb, 0x01, 0x7c, 0x55, 0x5e, 0x71, 0x12, 0xb7, 0x14, 0xea, 0xc6, 0x68,
2514 0x26, 0xa1, 0x7e, 0x12, 0x82, 0xac, 0x26, 0x89, 0x7b, 0x85, 0x7f, 0x20, 0x38, 0x2b, 0xff, 0x7b,
2515 0x8f, 0xeb, 0x23, 0x24, 0x49, 0xa7, 0xa4, 0xad, 0x93, 0x6f, 0x10, 0x30, 0x93, 0x33, 0x67, 0xbe,
2516 0xa5, 0x52, 0x13, 0x53, 0x00, 0x4a, 0xec, 0x06, 0x40, 0x16, 0xac, 0xd9, 0x0b, 0x82, 0xdc, 0x4a,
2517 0x21, 0x4c, 0x55, 0x1d, 0xe7, 0xad, 0xbd, 0x63, 0x58, 0x69, 0x3b, 0xfd, 0x8c, 0xac, 0x3d, 0x85,
2518 0xff, 0x9d, 0x3d, 0xa0, 0xc7, 0x1e, 0xa0, 0x5f, 0xdc, 0x16, 0x0c, 0x1d, 0xa7, 0x67, 0xd8, 0x9d,
2519 0x9a, 0xe3, 0x75, 0xea, 0x1d, 0x62, 0x33, 0xa1, 0x75, 0x4e, 0x32, 0x5c, 0xcb, 0x1f, 0x5e, 0x1c,
2520 0x6f, 0xf3, 0xa7, 0xff, 0x23, 0xf4, 0xf7, 0xc2, 0xd9, 0x87, 0x7c, 0xef, 0xfd, 0x9e, 0x33, 0x30,
2521 0x69, 0x4c, 0x1f, 0x0e, 0x5a, 0xb5, 0x9f, 0xdd, 0x6a, 0xcd, 0xb0, 0xed, 0xef, 0x7f, 0x17, 0x00,
2522 0x00, 0xff, 0xff, 0x68, 0xa2, 0x62, 0x98, 0x76, 0x1e, 0x00, 0x00,