change Product.id to string

Signed-off-by: Ahmet Alp Balkan <ahmetb@google.com>
This commit is contained in:
Ahmet Alp Balkan 2018-06-20 12:20:39 -07:00
parent cc8ef35006
commit 2316e25504
4 changed files with 188 additions and 188 deletions

View file

@ -59,7 +59,7 @@ service ProductCatalogService {
}
message Product {
int32 id = 1;
string id = 1;
string name = 2;
string description = 3;
string picture = 4;
@ -71,7 +71,7 @@ message ListProductsResponse {
}
message GetProductRequest {
int32 id = 1;
string id = 1;
}
message SearchProductsRequest {

View file

@ -24,8 +24,8 @@ var _ = math.Inf
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
type CartItem struct {
ProductId string `protobuf:"bytes,1,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"`
Quantity int32 `protobuf:"varint,2,opt,name=quantity,proto3" json:"quantity,omitempty"`
ProductId string `protobuf:"bytes,1,opt,name=product_id,json=productId" json:"product_id,omitempty"`
Quantity int32 `protobuf:"varint,2,opt,name=quantity" json:"quantity,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -35,7 +35,7 @@ func (m *CartItem) Reset() { *m = CartItem{} }
func (m *CartItem) String() string { return proto.CompactTextString(m) }
func (*CartItem) ProtoMessage() {}
func (*CartItem) Descriptor() ([]byte, []int) {
return fileDescriptor_demo_d65f84bf2547388d, []int{0}
return fileDescriptor_demo_957798eed1991a59, []int{0}
}
func (m *CartItem) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CartItem.Unmarshal(m, b)
@ -70,8 +70,8 @@ func (m *CartItem) GetQuantity() int32 {
}
type AddItemRequest struct {
UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
Item *CartItem `protobuf:"bytes,2,opt,name=item,proto3" json:"item,omitempty"`
UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId" json:"user_id,omitempty"`
Item *CartItem `protobuf:"bytes,2,opt,name=item" json:"item,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -81,7 +81,7 @@ func (m *AddItemRequest) Reset() { *m = AddItemRequest{} }
func (m *AddItemRequest) String() string { return proto.CompactTextString(m) }
func (*AddItemRequest) ProtoMessage() {}
func (*AddItemRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_demo_d65f84bf2547388d, []int{1}
return fileDescriptor_demo_957798eed1991a59, []int{1}
}
func (m *AddItemRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AddItemRequest.Unmarshal(m, b)
@ -116,7 +116,7 @@ func (m *AddItemRequest) GetItem() *CartItem {
}
type EmptyCartRequest struct {
UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId" json:"user_id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -126,7 +126,7 @@ func (m *EmptyCartRequest) Reset() { *m = EmptyCartRequest{} }
func (m *EmptyCartRequest) String() string { return proto.CompactTextString(m) }
func (*EmptyCartRequest) ProtoMessage() {}
func (*EmptyCartRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_demo_d65f84bf2547388d, []int{2}
return fileDescriptor_demo_957798eed1991a59, []int{2}
}
func (m *EmptyCartRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_EmptyCartRequest.Unmarshal(m, b)
@ -154,7 +154,7 @@ func (m *EmptyCartRequest) GetUserId() string {
}
type GetCartRequest struct {
UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId" json:"user_id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -164,7 +164,7 @@ func (m *GetCartRequest) Reset() { *m = GetCartRequest{} }
func (m *GetCartRequest) String() string { return proto.CompactTextString(m) }
func (*GetCartRequest) ProtoMessage() {}
func (*GetCartRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_demo_d65f84bf2547388d, []int{3}
return fileDescriptor_demo_957798eed1991a59, []int{3}
}
func (m *GetCartRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetCartRequest.Unmarshal(m, b)
@ -192,8 +192,8 @@ func (m *GetCartRequest) GetUserId() string {
}
type Cart struct {
UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
Items []*CartItem `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId" json:"user_id,omitempty"`
Items []*CartItem `protobuf:"bytes,2,rep,name=items" json:"items,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -203,7 +203,7 @@ func (m *Cart) Reset() { *m = Cart{} }
func (m *Cart) String() string { return proto.CompactTextString(m) }
func (*Cart) ProtoMessage() {}
func (*Cart) Descriptor() ([]byte, []int) {
return fileDescriptor_demo_d65f84bf2547388d, []int{4}
return fileDescriptor_demo_957798eed1991a59, []int{4}
}
func (m *Cart) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Cart.Unmarshal(m, b)
@ -247,7 +247,7 @@ func (m *Empty) Reset() { *m = Empty{} }
func (m *Empty) String() string { return proto.CompactTextString(m) }
func (*Empty) ProtoMessage() {}
func (*Empty) Descriptor() ([]byte, []int) {
return fileDescriptor_demo_d65f84bf2547388d, []int{5}
return fileDescriptor_demo_957798eed1991a59, []int{5}
}
func (m *Empty) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Empty.Unmarshal(m, b)
@ -268,8 +268,8 @@ func (m *Empty) XXX_DiscardUnknown() {
var xxx_messageInfo_Empty proto.InternalMessageInfo
type ListRecommendationsRequest struct {
UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
ProductIds []string `protobuf:"bytes,2,rep,name=product_ids,json=productIds,proto3" json:"product_ids,omitempty"`
UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId" json:"user_id,omitempty"`
ProductIds []string `protobuf:"bytes,2,rep,name=product_ids,json=productIds" json:"product_ids,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -279,7 +279,7 @@ func (m *ListRecommendationsRequest) Reset() { *m = ListRecommendationsR
func (m *ListRecommendationsRequest) String() string { return proto.CompactTextString(m) }
func (*ListRecommendationsRequest) ProtoMessage() {}
func (*ListRecommendationsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_demo_d65f84bf2547388d, []int{6}
return fileDescriptor_demo_957798eed1991a59, []int{6}
}
func (m *ListRecommendationsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListRecommendationsRequest.Unmarshal(m, b)
@ -314,7 +314,7 @@ func (m *ListRecommendationsRequest) GetProductIds() []string {
}
type ListRecommendationsResponse struct {
ProductIds []string `protobuf:"bytes,1,rep,name=product_ids,json=productIds,proto3" json:"product_ids,omitempty"`
ProductIds []string `protobuf:"bytes,1,rep,name=product_ids,json=productIds" json:"product_ids,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -324,7 +324,7 @@ func (m *ListRecommendationsResponse) Reset() { *m = ListRecommendations
func (m *ListRecommendationsResponse) String() string { return proto.CompactTextString(m) }
func (*ListRecommendationsResponse) ProtoMessage() {}
func (*ListRecommendationsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_demo_d65f84bf2547388d, []int{7}
return fileDescriptor_demo_957798eed1991a59, []int{7}
}
func (m *ListRecommendationsResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListRecommendationsResponse.Unmarshal(m, b)
@ -352,11 +352,11 @@ func (m *ListRecommendationsResponse) GetProductIds() []string {
}
type Product struct {
Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
Picture string `protobuf:"bytes,4,opt,name=picture,proto3" json:"picture,omitempty"`
PriceUsd *MoneyAmount `protobuf:"bytes,5,opt,name=price_usd,json=priceUsd,proto3" json:"price_usd,omitempty"`
Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
Description string `protobuf:"bytes,3,opt,name=description" json:"description,omitempty"`
Picture string `protobuf:"bytes,4,opt,name=picture" json:"picture,omitempty"`
PriceUsd *MoneyAmount `protobuf:"bytes,5,opt,name=price_usd,json=priceUsd" json:"price_usd,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -366,7 +366,7 @@ func (m *Product) Reset() { *m = Product{} }
func (m *Product) String() string { return proto.CompactTextString(m) }
func (*Product) ProtoMessage() {}
func (*Product) Descriptor() ([]byte, []int) {
return fileDescriptor_demo_d65f84bf2547388d, []int{8}
return fileDescriptor_demo_957798eed1991a59, []int{8}
}
func (m *Product) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Product.Unmarshal(m, b)
@ -386,11 +386,11 @@ func (m *Product) XXX_DiscardUnknown() {
var xxx_messageInfo_Product proto.InternalMessageInfo
func (m *Product) GetId() int32 {
func (m *Product) GetId() string {
if m != nil {
return m.Id
}
return 0
return ""
}
func (m *Product) GetName() string {
@ -422,7 +422,7 @@ func (m *Product) GetPriceUsd() *MoneyAmount {
}
type ListProductsResponse struct {
Products []*Product `protobuf:"bytes,1,rep,name=products,proto3" json:"products,omitempty"`
Products []*Product `protobuf:"bytes,1,rep,name=products" json:"products,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -432,7 +432,7 @@ func (m *ListProductsResponse) Reset() { *m = ListProductsResponse{} }
func (m *ListProductsResponse) String() string { return proto.CompactTextString(m) }
func (*ListProductsResponse) ProtoMessage() {}
func (*ListProductsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_demo_d65f84bf2547388d, []int{9}
return fileDescriptor_demo_957798eed1991a59, []int{9}
}
func (m *ListProductsResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListProductsResponse.Unmarshal(m, b)
@ -460,7 +460,7 @@ func (m *ListProductsResponse) GetProducts() []*Product {
}
type GetProductRequest struct {
Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -470,7 +470,7 @@ func (m *GetProductRequest) Reset() { *m = GetProductRequest{} }
func (m *GetProductRequest) String() string { return proto.CompactTextString(m) }
func (*GetProductRequest) ProtoMessage() {}
func (*GetProductRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_demo_d65f84bf2547388d, []int{10}
return fileDescriptor_demo_957798eed1991a59, []int{10}
}
func (m *GetProductRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetProductRequest.Unmarshal(m, b)
@ -490,15 +490,15 @@ func (m *GetProductRequest) XXX_DiscardUnknown() {
var xxx_messageInfo_GetProductRequest proto.InternalMessageInfo
func (m *GetProductRequest) GetId() int32 {
func (m *GetProductRequest) GetId() string {
if m != nil {
return m.Id
}
return 0
return ""
}
type SearchProductsRequest struct {
Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"`
Query string `protobuf:"bytes,1,opt,name=query" json:"query,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -508,7 +508,7 @@ func (m *SearchProductsRequest) Reset() { *m = SearchProductsRequest{} }
func (m *SearchProductsRequest) String() string { return proto.CompactTextString(m) }
func (*SearchProductsRequest) ProtoMessage() {}
func (*SearchProductsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_demo_d65f84bf2547388d, []int{11}
return fileDescriptor_demo_957798eed1991a59, []int{11}
}
func (m *SearchProductsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SearchProductsRequest.Unmarshal(m, b)
@ -536,7 +536,7 @@ func (m *SearchProductsRequest) GetQuery() string {
}
type SearchProductsResponse struct {
Results []*Product `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"`
Results []*Product `protobuf:"bytes,1,rep,name=results" json:"results,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -546,7 +546,7 @@ func (m *SearchProductsResponse) Reset() { *m = SearchProductsResponse{}
func (m *SearchProductsResponse) String() string { return proto.CompactTextString(m) }
func (*SearchProductsResponse) ProtoMessage() {}
func (*SearchProductsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_demo_d65f84bf2547388d, []int{12}
return fileDescriptor_demo_957798eed1991a59, []int{12}
}
func (m *SearchProductsResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SearchProductsResponse.Unmarshal(m, b)
@ -574,8 +574,8 @@ func (m *SearchProductsResponse) GetResults() []*Product {
}
type GetQuoteRequest struct {
Address *Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
Items []*CartItem `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
Address *Address `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
Items []*CartItem `protobuf:"bytes,2,rep,name=items" json:"items,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -585,7 +585,7 @@ func (m *GetQuoteRequest) Reset() { *m = GetQuoteRequest{} }
func (m *GetQuoteRequest) String() string { return proto.CompactTextString(m) }
func (*GetQuoteRequest) ProtoMessage() {}
func (*GetQuoteRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_demo_d65f84bf2547388d, []int{13}
return fileDescriptor_demo_957798eed1991a59, []int{13}
}
func (m *GetQuoteRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetQuoteRequest.Unmarshal(m, b)
@ -620,7 +620,7 @@ func (m *GetQuoteRequest) GetItems() []*CartItem {
}
type GetQuoteResponse struct {
CostUsd *MoneyAmount `protobuf:"bytes,1,opt,name=cost_usd,json=costUsd,proto3" json:"cost_usd,omitempty"`
CostUsd *MoneyAmount `protobuf:"bytes,1,opt,name=cost_usd,json=costUsd" json:"cost_usd,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -630,7 +630,7 @@ func (m *GetQuoteResponse) Reset() { *m = GetQuoteResponse{} }
func (m *GetQuoteResponse) String() string { return proto.CompactTextString(m) }
func (*GetQuoteResponse) ProtoMessage() {}
func (*GetQuoteResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_demo_d65f84bf2547388d, []int{14}
return fileDescriptor_demo_957798eed1991a59, []int{14}
}
func (m *GetQuoteResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetQuoteResponse.Unmarshal(m, b)
@ -658,8 +658,8 @@ func (m *GetQuoteResponse) GetCostUsd() *MoneyAmount {
}
type ShipOrderRequest struct {
Address *Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
Items []*CartItem `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
Address *Address `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
Items []*CartItem `protobuf:"bytes,2,rep,name=items" json:"items,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -669,7 +669,7 @@ func (m *ShipOrderRequest) Reset() { *m = ShipOrderRequest{} }
func (m *ShipOrderRequest) String() string { return proto.CompactTextString(m) }
func (*ShipOrderRequest) ProtoMessage() {}
func (*ShipOrderRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_demo_d65f84bf2547388d, []int{15}
return fileDescriptor_demo_957798eed1991a59, []int{15}
}
func (m *ShipOrderRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ShipOrderRequest.Unmarshal(m, b)
@ -704,7 +704,7 @@ func (m *ShipOrderRequest) GetItems() []*CartItem {
}
type ShipOrderResponse struct {
TrackingId string `protobuf:"bytes,1,opt,name=tracking_id,json=trackingId,proto3" json:"tracking_id,omitempty"`
TrackingId string `protobuf:"bytes,1,opt,name=tracking_id,json=trackingId" json:"tracking_id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -714,7 +714,7 @@ func (m *ShipOrderResponse) Reset() { *m = ShipOrderResponse{} }
func (m *ShipOrderResponse) String() string { return proto.CompactTextString(m) }
func (*ShipOrderResponse) ProtoMessage() {}
func (*ShipOrderResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_demo_d65f84bf2547388d, []int{16}
return fileDescriptor_demo_957798eed1991a59, []int{16}
}
func (m *ShipOrderResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ShipOrderResponse.Unmarshal(m, b)
@ -742,11 +742,11 @@ func (m *ShipOrderResponse) GetTrackingId() string {
}
type Address struct {
StreetAddress_1 string `protobuf:"bytes,1,opt,name=street_address_1,json=streetAddress1,proto3" json:"street_address_1,omitempty"`
StreetAddress_2 string `protobuf:"bytes,2,opt,name=street_address_2,json=streetAddress2,proto3" json:"street_address_2,omitempty"`
City string `protobuf:"bytes,3,opt,name=city,proto3" json:"city,omitempty"`
Country string `protobuf:"bytes,4,opt,name=country,proto3" json:"country,omitempty"`
ZipCode int32 `protobuf:"varint,5,opt,name=zip_code,json=zipCode,proto3" json:"zip_code,omitempty"`
StreetAddress_1 string `protobuf:"bytes,1,opt,name=street_address_1,json=streetAddress1" json:"street_address_1,omitempty"`
StreetAddress_2 string `protobuf:"bytes,2,opt,name=street_address_2,json=streetAddress2" json:"street_address_2,omitempty"`
City string `protobuf:"bytes,3,opt,name=city" json:"city,omitempty"`
Country string `protobuf:"bytes,4,opt,name=country" json:"country,omitempty"`
ZipCode int32 `protobuf:"varint,5,opt,name=zip_code,json=zipCode" json:"zip_code,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -756,7 +756,7 @@ func (m *Address) Reset() { *m = Address{} }
func (m *Address) String() string { return proto.CompactTextString(m) }
func (*Address) ProtoMessage() {}
func (*Address) Descriptor() ([]byte, []int) {
return fileDescriptor_demo_d65f84bf2547388d, []int{17}
return fileDescriptor_demo_957798eed1991a59, []int{17}
}
func (m *Address) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Address.Unmarshal(m, b)
@ -814,8 +814,8 @@ func (m *Address) GetZipCode() int32 {
// Describes a money amount without currency. For example, decimal=2 and
// fractional=500 (or fractional=5) makes up 2.5 units.
type MoneyAmount struct {
Decimal uint32 `protobuf:"varint,1,opt,name=decimal,proto3" json:"decimal,omitempty"`
Fractional uint32 `protobuf:"varint,2,opt,name=fractional,proto3" json:"fractional,omitempty"`
Decimal uint32 `protobuf:"varint,1,opt,name=decimal" json:"decimal,omitempty"`
Fractional uint32 `protobuf:"varint,2,opt,name=fractional" json:"fractional,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -825,7 +825,7 @@ func (m *MoneyAmount) Reset() { *m = MoneyAmount{} }
func (m *MoneyAmount) String() string { return proto.CompactTextString(m) }
func (*MoneyAmount) ProtoMessage() {}
func (*MoneyAmount) Descriptor() ([]byte, []int) {
return fileDescriptor_demo_d65f84bf2547388d, []int{18}
return fileDescriptor_demo_957798eed1991a59, []int{18}
}
func (m *MoneyAmount) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MoneyAmount.Unmarshal(m, b)
@ -861,8 +861,8 @@ func (m *MoneyAmount) GetFractional() uint32 {
type Money struct {
// The 3-letter currency code defined in ISO 4217.
CurrencyCode string `protobuf:"bytes,1,opt,name=currency_code,json=currencyCode,proto3" json:"currency_code,omitempty"`
Amount *MoneyAmount `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"`
CurrencyCode string `protobuf:"bytes,1,opt,name=currency_code,json=currencyCode" json:"currency_code,omitempty"`
Amount *MoneyAmount `protobuf:"bytes,2,opt,name=amount" json:"amount,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -872,7 +872,7 @@ func (m *Money) Reset() { *m = Money{} }
func (m *Money) String() string { return proto.CompactTextString(m) }
func (*Money) ProtoMessage() {}
func (*Money) Descriptor() ([]byte, []int) {
return fileDescriptor_demo_d65f84bf2547388d, []int{19}
return fileDescriptor_demo_957798eed1991a59, []int{19}
}
func (m *Money) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Money.Unmarshal(m, b)
@ -908,7 +908,7 @@ func (m *Money) GetAmount() *MoneyAmount {
type GetSupportedCurrenciesResponse struct {
// The 3-letter currency code defined in ISO 4217.
CurrencyCodes []string `protobuf:"bytes,1,rep,name=currency_codes,json=currencyCodes,proto3" json:"currency_codes,omitempty"`
CurrencyCodes []string `protobuf:"bytes,1,rep,name=currency_codes,json=currencyCodes" json:"currency_codes,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -918,7 +918,7 @@ func (m *GetSupportedCurrenciesResponse) Reset() { *m = GetSupportedCurr
func (m *GetSupportedCurrenciesResponse) String() string { return proto.CompactTextString(m) }
func (*GetSupportedCurrenciesResponse) ProtoMessage() {}
func (*GetSupportedCurrenciesResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_demo_d65f84bf2547388d, []int{20}
return fileDescriptor_demo_957798eed1991a59, []int{20}
}
func (m *GetSupportedCurrenciesResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetSupportedCurrenciesResponse.Unmarshal(m, b)
@ -946,9 +946,9 @@ func (m *GetSupportedCurrenciesResponse) GetCurrencyCodes() []string {
}
type ConversionRequest struct {
From *Money `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"`
From *Money `protobuf:"bytes,1,opt,name=from" json:"from,omitempty"`
// The 3-letter currency code defined in ISO 4217.
ToCode string `protobuf:"bytes,2,opt,name=to_code,json=toCode,proto3" json:"to_code,omitempty"`
ToCode string `protobuf:"bytes,2,opt,name=to_code,json=toCode" json:"to_code,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -958,7 +958,7 @@ func (m *ConversionRequest) Reset() { *m = ConversionRequest{} }
func (m *ConversionRequest) String() string { return proto.CompactTextString(m) }
func (*ConversionRequest) ProtoMessage() {}
func (*ConversionRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_demo_d65f84bf2547388d, []int{21}
return fileDescriptor_demo_957798eed1991a59, []int{21}
}
func (m *ConversionRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ConversionRequest.Unmarshal(m, b)
@ -993,7 +993,7 @@ func (m *ConversionRequest) GetToCode() string {
}
type ConversionResponse struct {
Result *Money `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"`
Result *Money `protobuf:"bytes,1,opt,name=result" json:"result,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -1003,7 +1003,7 @@ func (m *ConversionResponse) Reset() { *m = ConversionResponse{} }
func (m *ConversionResponse) String() string { return proto.CompactTextString(m) }
func (*ConversionResponse) ProtoMessage() {}
func (*ConversionResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_demo_d65f84bf2547388d, []int{22}
return fileDescriptor_demo_957798eed1991a59, []int{22}
}
func (m *ConversionResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ConversionResponse.Unmarshal(m, b)
@ -1031,10 +1031,10 @@ func (m *ConversionResponse) GetResult() *Money {
}
type CreditCardInfo struct {
CreditCardNumber string `protobuf:"bytes,1,opt,name=credit_card_number,json=creditCardNumber,proto3" json:"credit_card_number,omitempty"`
CreditCardCvv int32 `protobuf:"varint,2,opt,name=credit_card_cvv,json=creditCardCvv,proto3" json:"credit_card_cvv,omitempty"`
CreditCardExpirationYear int32 `protobuf:"varint,3,opt,name=credit_card_expiration_year,json=creditCardExpirationYear,proto3" json:"credit_card_expiration_year,omitempty"`
CreditCardExpirationMonth int32 `protobuf:"varint,4,opt,name=credit_card_expiration_month,json=creditCardExpirationMonth,proto3" json:"credit_card_expiration_month,omitempty"`
CreditCardNumber string `protobuf:"bytes,1,opt,name=credit_card_number,json=creditCardNumber" json:"credit_card_number,omitempty"`
CreditCardCvv int32 `protobuf:"varint,2,opt,name=credit_card_cvv,json=creditCardCvv" json:"credit_card_cvv,omitempty"`
CreditCardExpirationYear int32 `protobuf:"varint,3,opt,name=credit_card_expiration_year,json=creditCardExpirationYear" json:"credit_card_expiration_year,omitempty"`
CreditCardExpirationMonth int32 `protobuf:"varint,4,opt,name=credit_card_expiration_month,json=creditCardExpirationMonth" json:"credit_card_expiration_month,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -1044,7 +1044,7 @@ func (m *CreditCardInfo) Reset() { *m = CreditCardInfo{} }
func (m *CreditCardInfo) String() string { return proto.CompactTextString(m) }
func (*CreditCardInfo) ProtoMessage() {}
func (*CreditCardInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_demo_d65f84bf2547388d, []int{23}
return fileDescriptor_demo_957798eed1991a59, []int{23}
}
func (m *CreditCardInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreditCardInfo.Unmarshal(m, b)
@ -1093,8 +1093,8 @@ func (m *CreditCardInfo) GetCreditCardExpirationMonth() int32 {
}
type ChargeRequest struct {
Amount *Money `protobuf:"bytes,1,opt,name=amount,proto3" json:"amount,omitempty"`
CreditCard *CreditCardInfo `protobuf:"bytes,2,opt,name=credit_card,json=creditCard,proto3" json:"credit_card,omitempty"`
Amount *Money `protobuf:"bytes,1,opt,name=amount" json:"amount,omitempty"`
CreditCard *CreditCardInfo `protobuf:"bytes,2,opt,name=credit_card,json=creditCard" json:"credit_card,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -1104,7 +1104,7 @@ func (m *ChargeRequest) Reset() { *m = ChargeRequest{} }
func (m *ChargeRequest) String() string { return proto.CompactTextString(m) }
func (*ChargeRequest) ProtoMessage() {}
func (*ChargeRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_demo_d65f84bf2547388d, []int{24}
return fileDescriptor_demo_957798eed1991a59, []int{24}
}
func (m *ChargeRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ChargeRequest.Unmarshal(m, b)
@ -1139,7 +1139,7 @@ func (m *ChargeRequest) GetCreditCard() *CreditCardInfo {
}
type ChargeResponse struct {
TransactionId string `protobuf:"bytes,1,opt,name=transaction_id,json=transactionId,proto3" json:"transaction_id,omitempty"`
TransactionId string `protobuf:"bytes,1,opt,name=transaction_id,json=transactionId" json:"transaction_id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -1149,7 +1149,7 @@ func (m *ChargeResponse) Reset() { *m = ChargeResponse{} }
func (m *ChargeResponse) String() string { return proto.CompactTextString(m) }
func (*ChargeResponse) ProtoMessage() {}
func (*ChargeResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_demo_d65f84bf2547388d, []int{25}
return fileDescriptor_demo_957798eed1991a59, []int{25}
}
func (m *ChargeResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ChargeResponse.Unmarshal(m, b)
@ -1177,8 +1177,8 @@ func (m *ChargeResponse) GetTransactionId() string {
}
type OrderItem struct {
Item *CartItem `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"`
Cost *Money `protobuf:"bytes,2,opt,name=cost,proto3" json:"cost,omitempty"`
Item *CartItem `protobuf:"bytes,1,opt,name=item" json:"item,omitempty"`
Cost *Money `protobuf:"bytes,2,opt,name=cost" json:"cost,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -1188,7 +1188,7 @@ func (m *OrderItem) Reset() { *m = OrderItem{} }
func (m *OrderItem) String() string { return proto.CompactTextString(m) }
func (*OrderItem) ProtoMessage() {}
func (*OrderItem) Descriptor() ([]byte, []int) {
return fileDescriptor_demo_d65f84bf2547388d, []int{26}
return fileDescriptor_demo_957798eed1991a59, []int{26}
}
func (m *OrderItem) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_OrderItem.Unmarshal(m, b)
@ -1223,11 +1223,11 @@ func (m *OrderItem) GetCost() *Money {
}
type OrderResult struct {
OrderId string `protobuf:"bytes,1,opt,name=order_id,json=orderId,proto3" json:"order_id,omitempty"`
ShippingTrackingId string `protobuf:"bytes,2,opt,name=shipping_tracking_id,json=shippingTrackingId,proto3" json:"shipping_tracking_id,omitempty"`
ShippingCost *Money `protobuf:"bytes,3,opt,name=shipping_cost,json=shippingCost,proto3" json:"shipping_cost,omitempty"`
ShippingAddress *Address `protobuf:"bytes,4,opt,name=shipping_address,json=shippingAddress,proto3" json:"shipping_address,omitempty"`
Items []*OrderItem `protobuf:"bytes,5,rep,name=items,proto3" json:"items,omitempty"`
OrderId string `protobuf:"bytes,1,opt,name=order_id,json=orderId" json:"order_id,omitempty"`
ShippingTrackingId string `protobuf:"bytes,2,opt,name=shipping_tracking_id,json=shippingTrackingId" json:"shipping_tracking_id,omitempty"`
ShippingCost *Money `protobuf:"bytes,3,opt,name=shipping_cost,json=shippingCost" json:"shipping_cost,omitempty"`
ShippingAddress *Address `protobuf:"bytes,4,opt,name=shipping_address,json=shippingAddress" json:"shipping_address,omitempty"`
Items []*OrderItem `protobuf:"bytes,5,rep,name=items" json:"items,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -1237,7 +1237,7 @@ func (m *OrderResult) Reset() { *m = OrderResult{} }
func (m *OrderResult) String() string { return proto.CompactTextString(m) }
func (*OrderResult) ProtoMessage() {}
func (*OrderResult) Descriptor() ([]byte, []int) {
return fileDescriptor_demo_d65f84bf2547388d, []int{27}
return fileDescriptor_demo_957798eed1991a59, []int{27}
}
func (m *OrderResult) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_OrderResult.Unmarshal(m, b)
@ -1293,8 +1293,8 @@ func (m *OrderResult) GetItems() []*OrderItem {
}
type SendOrderConfirmationRequest struct {
Email string `protobuf:"bytes,1,opt,name=email,proto3" json:"email,omitempty"`
Order *OrderResult `protobuf:"bytes,2,opt,name=order,proto3" json:"order,omitempty"`
Email string `protobuf:"bytes,1,opt,name=email" json:"email,omitempty"`
Order *OrderResult `protobuf:"bytes,2,opt,name=order" json:"order,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -1304,7 +1304,7 @@ func (m *SendOrderConfirmationRequest) Reset() { *m = SendOrderConfirmat
func (m *SendOrderConfirmationRequest) String() string { return proto.CompactTextString(m) }
func (*SendOrderConfirmationRequest) ProtoMessage() {}
func (*SendOrderConfirmationRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_demo_d65f84bf2547388d, []int{28}
return fileDescriptor_demo_957798eed1991a59, []int{28}
}
func (m *SendOrderConfirmationRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SendOrderConfirmationRequest.Unmarshal(m, b)
@ -1339,9 +1339,9 @@ func (m *SendOrderConfirmationRequest) GetOrder() *OrderResult {
}
type CreateOrderRequest struct {
UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
UserCurrency string `protobuf:"bytes,2,opt,name=user_currency,json=userCurrency,proto3" json:"user_currency,omitempty"`
Address *Address `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"`
UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId" json:"user_id,omitempty"`
UserCurrency string `protobuf:"bytes,2,opt,name=user_currency,json=userCurrency" json:"user_currency,omitempty"`
Address *Address `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -1351,7 +1351,7 @@ func (m *CreateOrderRequest) Reset() { *m = CreateOrderRequest{} }
func (m *CreateOrderRequest) String() string { return proto.CompactTextString(m) }
func (*CreateOrderRequest) ProtoMessage() {}
func (*CreateOrderRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_demo_d65f84bf2547388d, []int{29}
return fileDescriptor_demo_957798eed1991a59, []int{29}
}
func (m *CreateOrderRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateOrderRequest.Unmarshal(m, b)
@ -1393,8 +1393,8 @@ func (m *CreateOrderRequest) GetAddress() *Address {
}
type CreateOrderResponse struct {
Items []*OrderItem `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
ShippingCost *Money `protobuf:"bytes,2,opt,name=shipping_cost,json=shippingCost,proto3" json:"shipping_cost,omitempty"`
Items []*OrderItem `protobuf:"bytes,1,rep,name=items" json:"items,omitempty"`
ShippingCost *Money `protobuf:"bytes,2,opt,name=shipping_cost,json=shippingCost" json:"shipping_cost,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -1404,7 +1404,7 @@ func (m *CreateOrderResponse) Reset() { *m = CreateOrderResponse{} }
func (m *CreateOrderResponse) String() string { return proto.CompactTextString(m) }
func (*CreateOrderResponse) ProtoMessage() {}
func (*CreateOrderResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_demo_d65f84bf2547388d, []int{30}
return fileDescriptor_demo_957798eed1991a59, []int{30}
}
func (m *CreateOrderResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateOrderResponse.Unmarshal(m, b)
@ -1439,11 +1439,11 @@ func (m *CreateOrderResponse) GetShippingCost() *Money {
}
type PlaceOrderRequest struct {
UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
UserCurrency string `protobuf:"bytes,2,opt,name=user_currency,json=userCurrency,proto3" json:"user_currency,omitempty"`
Address *Address `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"`
Email string `protobuf:"bytes,5,opt,name=email,proto3" json:"email,omitempty"`
CreditCard *CreditCardInfo `protobuf:"bytes,6,opt,name=credit_card,json=creditCard,proto3" json:"credit_card,omitempty"`
UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId" json:"user_id,omitempty"`
UserCurrency string `protobuf:"bytes,2,opt,name=user_currency,json=userCurrency" json:"user_currency,omitempty"`
Address *Address `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"`
Email string `protobuf:"bytes,5,opt,name=email" json:"email,omitempty"`
CreditCard *CreditCardInfo `protobuf:"bytes,6,opt,name=credit_card,json=creditCard" json:"credit_card,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -1453,7 +1453,7 @@ func (m *PlaceOrderRequest) Reset() { *m = PlaceOrderRequest{} }
func (m *PlaceOrderRequest) String() string { return proto.CompactTextString(m) }
func (*PlaceOrderRequest) ProtoMessage() {}
func (*PlaceOrderRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_demo_d65f84bf2547388d, []int{31}
return fileDescriptor_demo_957798eed1991a59, []int{31}
}
func (m *PlaceOrderRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PlaceOrderRequest.Unmarshal(m, b)
@ -1509,7 +1509,7 @@ func (m *PlaceOrderRequest) GetCreditCard() *CreditCardInfo {
}
type PlaceOrderResponse struct {
Order *OrderResult `protobuf:"bytes,1,opt,name=order,proto3" json:"order,omitempty"`
Order *OrderResult `protobuf:"bytes,1,opt,name=order" json:"order,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -1519,7 +1519,7 @@ func (m *PlaceOrderResponse) Reset() { *m = PlaceOrderResponse{} }
func (m *PlaceOrderResponse) String() string { return proto.CompactTextString(m) }
func (*PlaceOrderResponse) ProtoMessage() {}
func (*PlaceOrderResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_demo_d65f84bf2547388d, []int{32}
return fileDescriptor_demo_957798eed1991a59, []int{32}
}
func (m *PlaceOrderResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PlaceOrderResponse.Unmarshal(m, b)
@ -2333,10 +2333,10 @@ var _CheckoutService_serviceDesc = grpc.ServiceDesc{
Metadata: "demo.proto",
}
func init() { proto.RegisterFile("demo.proto", fileDescriptor_demo_d65f84bf2547388d) }
func init() { proto.RegisterFile("demo.proto", fileDescriptor_demo_957798eed1991a59) }
var fileDescriptor_demo_d65f84bf2547388d = []byte{
// 1482 bytes of a gzipped FileDescriptorProto
var fileDescriptor_demo_957798eed1991a59 = []byte{
// 1480 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x58, 0xdd, 0x72, 0xd3, 0x46,
0x1b, 0x8e, 0x92, 0x38, 0xb6, 0x5f, 0xc7, 0x4e, 0xb2, 0x24, 0x7c, 0x46, 0x81, 0x90, 0x6f, 0x33,
0x1f, 0x5f, 0xf8, 0x69, 0x06, 0x42, 0x3b, 0x1c, 0x94, 0x16, 0x18, 0x93, 0x31, 0x9e, 0x81, 0x42,
@ -2355,79 +2355,79 @@ var fileDescriptor_demo_d65f84bf2547388d = []byte{
0x36, 0xc9, 0x04, 0x83, 0xeb, 0x50, 0x93, 0x2c, 0xf1, 0x37, 0x60, 0x3e, 0xf6, 0x22, 0x6e, 0x11,
0x87, 0xfa, 0x3e, 0x09, 0x5c, 0x9b, 0x7b, 0x34, 0x88, 0x4e, 0x35, 0xc8, 0x65, 0x68, 0x65, 0x66,
0x4f, 0x54, 0x36, 0x2d, 0x48, 0xed, 0x1e, 0xe1, 0x2f, 0x61, 0xb3, 0x52, 0x6e, 0x14, 0xd2, 0x20,
0x22, 0xe5, 0xfb, 0xc6, 0xd4, 0xfd, 0x9f, 0x0d, 0xa8, 0x3f, 0x4b, 0x96, 0xa8, 0x03, 0xf3, 0x8a,
0x40, 0xcd, 0x9a, 0xf7, 0x5c, 0x84, 0x60, 0x31, 0xb0, 0x7d, 0x22, 0xbd, 0xd1, 0xb4, 0xe4, 0x6f,
0xb4, 0x0d, 0x2d, 0x97, 0x44, 0x0e, 0xf3, 0x42, 0xa1, 0xa8, 0xbb, 0x20, 0x8f, 0xf2, 0x5b, 0xa8,
0x0b, 0xf5, 0xd0, 0x73, 0x78, 0xcc, 0x48, 0x77, 0x51, 0x9e, 0xea, 0x25, 0xfa, 0x0c, 0x9a, 0x21,
0xf3, 0x1c, 0x32, 0x8c, 0x23, 0xb7, 0x5b, 0x93, 0x2e, 0xee, 0x16, 0xac, 0xf7, 0x84, 0x06, 0x64,
0xf2, 0xc0, 0xa7, 0x71, 0xc0, 0xad, 0x86, 0x84, 0xbe, 0x88, 0x5c, 0xfc, 0x08, 0xd6, 0xc5, 0x13,
0x15, 0xcb, 0xec, 0x6d, 0x37, 0xa1, 0xa1, 0x1e, 0x92, 0x3c, 0xac, 0xb5, 0xbf, 0x5e, 0x90, 0xa6,
0x2e, 0x58, 0x29, 0x0a, 0xef, 0xc0, 0x5a, 0x9f, 0x68, 0x41, 0xda, 0xf6, 0xa5, 0x57, 0xe3, 0x4f,
0x60, 0xe3, 0x90, 0xd8, 0xcc, 0x19, 0x65, 0x0a, 0x13, 0xe0, 0x3a, 0xd4, 0xde, 0xc5, 0x84, 0x4d,
0x94, 0x8b, 0x92, 0x05, 0x7e, 0x04, 0xe7, 0xcb, 0x70, 0xc5, 0x6f, 0x0f, 0xea, 0x8c, 0x44, 0xf1,
0xf8, 0x14, 0x7a, 0x1a, 0x84, 0x03, 0x58, 0xe9, 0x13, 0xfe, 0x75, 0x4c, 0x39, 0xd1, 0x2a, 0xf7,
0xa0, 0x6e, 0xbb, 0x2e, 0x23, 0x51, 0x24, 0x95, 0x96, 0x45, 0x3c, 0x48, 0xce, 0x2c, 0x0d, 0xfa,
0xb8, 0xd8, 0xec, 0xc3, 0x6a, 0xa6, 0x4f, 0x71, 0xbe, 0x0d, 0x0d, 0x87, 0x46, 0x5c, 0x7a, 0xc8,
0x38, 0xc5, 0x43, 0x75, 0x81, 0x14, 0x0e, 0xa2, 0xb0, 0x7a, 0x38, 0xf2, 0xc2, 0xa7, 0xcc, 0x25,
0xec, 0x1f, 0x61, 0xfe, 0x29, 0xac, 0xe5, 0x14, 0x66, 0xa1, 0xce, 0x99, 0xed, 0xbc, 0xf5, 0x82,
0x37, 0x59, 0x1e, 0x81, 0xde, 0x1a, 0xb8, 0xf8, 0x17, 0x03, 0xea, 0x4a, 0x2f, 0xda, 0x85, 0xd5,
0x88, 0x33, 0x42, 0xf8, 0x50, 0x11, 0x18, 0xde, 0x52, 0x37, 0x3a, 0xc9, 0xbe, 0x02, 0xde, 0xaa,
0x40, 0xee, 0xab, 0x84, 0x28, 0x22, 0xf7, 0x45, 0xba, 0x38, 0xa2, 0xfe, 0x25, 0x39, 0x21, 0x7f,
0x8b, 0x64, 0x70, 0x84, 0xb1, 0xd8, 0x44, 0x27, 0x83, 0x5a, 0xa2, 0x0b, 0xd0, 0x78, 0xef, 0x85,
0x43, 0x87, 0xba, 0x44, 0xe6, 0x42, 0xcd, 0xaa, 0xbf, 0xf7, 0xc2, 0x1e, 0x75, 0x09, 0xee, 0x43,
0x2b, 0x67, 0x67, 0x21, 0xc3, 0x25, 0x8e, 0xe7, 0xdb, 0x63, 0x49, 0xb1, 0x6d, 0xe9, 0x25, 0xda,
0x02, 0x38, 0x62, 0xb6, 0x23, 0xd2, 0xce, 0x1e, 0x4b, 0x56, 0x6d, 0x2b, 0xb7, 0x83, 0x5f, 0x41,
0x4d, 0x0a, 0x42, 0x3b, 0xd0, 0x76, 0x62, 0xc6, 0x48, 0xe0, 0x4c, 0x12, 0x8d, 0xc9, 0x5b, 0x97,
0xf5, 0xa6, 0x50, 0x8b, 0x6e, 0xc2, 0x92, 0x2d, 0x35, 0xaa, 0xf2, 0x3b, 0xdb, 0xf3, 0x0a, 0x87,
0xfb, 0xb0, 0xd5, 0x27, 0xfc, 0x30, 0x0e, 0x43, 0xca, 0x38, 0x71, 0x7b, 0x89, 0x34, 0x8f, 0x64,
0x39, 0xf0, 0x3f, 0xe8, 0x14, 0x14, 0xeb, 0x12, 0xd4, 0xce, 0x6b, 0x8e, 0xf0, 0x73, 0x58, 0xeb,
0xd1, 0xe0, 0x98, 0xb0, 0xc8, 0xa3, 0x81, 0x0e, 0xa1, 0x2b, 0xb0, 0x78, 0xc4, 0xa8, 0xaf, 0xe2,
0x07, 0x4d, 0xb3, 0xb1, 0xe4, 0xb9, 0x28, 0x9e, 0x9c, 0x26, 0xcf, 0x4a, 0x1c, 0xb3, 0xc4, 0xa9,
0xb4, 0xe3, 0x7d, 0x40, 0x79, 0xa9, 0x8a, 0xd2, 0x35, 0x58, 0x4a, 0x32, 0xee, 0x04, 0xc1, 0x0a,
0x81, 0xff, 0x32, 0xa0, 0xd3, 0x63, 0xc4, 0xf5, 0x44, 0xef, 0x70, 0x07, 0xc1, 0x11, 0x45, 0x37,
0x00, 0x39, 0x72, 0x67, 0xe8, 0xd8, 0xcc, 0x1d, 0x06, 0xb1, 0xff, 0x9a, 0x30, 0x65, 0xcf, 0x55,
0x27, 0xc5, 0x7e, 0x25, 0xf7, 0xd1, 0x15, 0x58, 0xc9, 0xa3, 0x9d, 0xe3, 0x63, 0xd5, 0x1e, 0xdb,
0x19, 0xb4, 0x77, 0x7c, 0x8c, 0xbe, 0x80, 0xcd, 0x3c, 0x8e, 0xfc, 0x10, 0x7a, 0x4c, 0x96, 0xf2,
0xe1, 0x84, 0xd8, 0x4c, 0x86, 0x54, 0xcd, 0xea, 0x66, 0x77, 0x0e, 0x52, 0xc0, 0x77, 0xc4, 0x66,
0xe8, 0x1e, 0x5c, 0x9c, 0x71, 0xdd, 0xa7, 0x01, 0x1f, 0xc9, 0xd8, 0xab, 0x59, 0x17, 0xaa, 0xee,
0x3f, 0x11, 0x00, 0x3c, 0x81, 0x76, 0x6f, 0x64, 0xb3, 0x37, 0x69, 0xe5, 0xb9, 0x96, 0x06, 0xc3,
0x09, 0x56, 0x4a, 0x10, 0xe8, 0x2e, 0xb4, 0x72, 0xda, 0x55, 0xf4, 0x6c, 0x16, 0x33, 0xb8, 0x60,
0x44, 0x0b, 0x32, 0x26, 0xf8, 0x0e, 0x74, 0xb4, 0xea, 0x2c, 0x68, 0x38, 0xb3, 0x83, 0x28, 0x89,
0xe3, 0x2c, 0x99, 0xdb, 0xb9, 0xdd, 0x81, 0x8b, 0x5f, 0x41, 0x53, 0x56, 0x00, 0x39, 0x9f, 0xe8,
0xc9, 0xc1, 0x38, 0x75, 0x72, 0x10, 0x71, 0x25, 0x2a, 0x97, 0xe2, 0x59, 0x19, 0x57, 0xe2, 0x1c,
0x7f, 0x98, 0x87, 0x96, 0x2e, 0x31, 0xf1, 0x98, 0x8b, 0x8c, 0xa5, 0x62, 0x99, 0x11, 0xaa, 0xcb,
0xf5, 0xc0, 0x45, 0x37, 0x61, 0x3d, 0x1a, 0x79, 0x61, 0x28, 0x6a, 0x4f, 0xbe, 0x08, 0x25, 0xf1,
0x88, 0xf4, 0xd9, 0xf3, 0xb4, 0x18, 0xa1, 0x3b, 0xd0, 0x4e, 0x6f, 0x48, 0x36, 0x0b, 0x33, 0xd9,
0x2c, 0x6b, 0x60, 0x8f, 0x46, 0x1c, 0xdd, 0x83, 0xd5, 0xf4, 0xa2, 0xae, 0xb0, 0x8b, 0x27, 0x54,
0xd8, 0x15, 0x8d, 0xd6, 0xa5, 0xef, 0x86, 0xae, 0xb4, 0x35, 0x59, 0x69, 0xcf, 0x17, 0x6e, 0xa5,
0x06, 0xd5, 0xa5, 0xd6, 0x85, 0x8b, 0x87, 0x24, 0x70, 0xe5, 0x7e, 0x8f, 0x06, 0x47, 0x1e, 0xf3,
0x65, 0xd8, 0xe4, 0x9a, 0x22, 0xf1, 0x6d, 0x6f, 0xac, 0x9b, 0xa2, 0x5c, 0xa0, 0x3d, 0xa8, 0x49,
0xd3, 0x54, 0x56, 0x92, 0x9c, 0x4d, 0xad, 0x04, 0x86, 0x3f, 0x18, 0x80, 0x7a, 0x8c, 0xd8, 0x9c,
0x14, 0x9a, 0xc8, 0xcc, 0xb1, 0x68, 0x07, 0xda, 0xf2, 0x40, 0x57, 0x11, 0x65, 0xe8, 0x65, 0xb1,
0xa9, 0xaa, 0xd0, 0x24, 0xdf, 0x82, 0x16, 0xce, 0xd0, 0x82, 0xf0, 0x8f, 0x70, 0xae, 0xc0, 0x41,
0x45, 0x63, 0x6a, 0x2f, 0xe3, 0x0c, 0xf6, 0x9a, 0xf6, 0xeb, 0xfc, 0xd9, 0xfc, 0x8a, 0xff, 0x34,
0x60, 0xed, 0xd9, 0xd8, 0x76, 0xfe, 0x45, 0x0b, 0x64, 0xce, 0xac, 0xe5, 0x9d, 0x59, 0x4a, 0xef,
0xa5, 0x8f, 0x4b, 0xef, 0x87, 0x80, 0xf2, 0xcf, 0x4a, 0x67, 0x23, 0x15, 0x20, 0xc6, 0x99, 0x02,
0x64, 0xff, 0x0f, 0x03, 0x5a, 0x22, 0x8d, 0x0f, 0x09, 0x3b, 0xf6, 0x1c, 0x82, 0xee, 0xca, 0x56,
0x2e, 0x33, 0x7f, 0xb3, 0xfc, 0xa6, 0xdc, 0x97, 0x86, 0x59, 0xb4, 0x7b, 0x32, 0x8a, 0xcf, 0xa1,
0xcf, 0xa1, 0xae, 0x3e, 0x07, 0x4a, 0xb7, 0x8b, 0x1f, 0x09, 0xe6, 0xda, 0x54, 0x19, 0xc1, 0x73,
0xe8, 0x3e, 0x34, 0xd3, 0x0f, 0x0f, 0x74, 0x69, 0x5a, 0x7e, 0x5e, 0x40, 0xa5, 0xfa, 0xfd, 0x9f,
0x0c, 0xd8, 0x28, 0x0e, 0xec, 0xfa, 0x59, 0xdf, 0xc3, 0xb9, 0x8a, 0x69, 0x1e, 0xfd, 0xbf, 0x20,
0x66, 0xf6, 0x77, 0x84, 0xb9, 0x7b, 0x3a, 0x30, 0x71, 0x80, 0x60, 0x31, 0x0f, 0x1b, 0x6a, 0x06,
0xed, 0xd9, 0xdc, 0x1e, 0xd3, 0x37, 0x9a, 0x45, 0x1f, 0x96, 0xf3, 0x03, 0x37, 0xaa, 0x78, 0x85,
0xf9, 0xdf, 0x29, 0x4d, 0xe5, 0xf9, 0x17, 0xcf, 0xa1, 0x87, 0x00, 0xd9, 0xbc, 0x8d, 0xb6, 0xca,
0xa6, 0x2e, 0x0e, 0xe2, 0x66, 0xe5, 0x78, 0x8c, 0xe7, 0xd0, 0x4b, 0xe8, 0x14, 0x27, 0x6c, 0x84,
0x0b, 0xc8, 0xca, 0x69, 0xdd, 0xdc, 0x39, 0x11, 0x93, 0x5a, 0xe1, 0x57, 0x03, 0x56, 0x0e, 0x55,
0x1e, 0xea, 0xf7, 0x0f, 0xa0, 0xa1, 0x07, 0x63, 0x74, 0xb1, 0x4c, 0x3a, 0x3f, 0x9f, 0x9b, 0x97,
0x66, 0x9c, 0xa6, 0x16, 0x78, 0x0c, 0xcd, 0x74, 0x52, 0x2d, 0x05, 0x4b, 0x79, 0x64, 0x36, 0xb7,
0x66, 0x1d, 0xa7, 0x64, 0x7f, 0x37, 0x60, 0x45, 0x27, 0xb7, 0x26, 0xfb, 0x12, 0xce, 0x57, 0xcf,
0x60, 0x95, 0x6e, 0xbb, 0x5e, 0x26, 0x7c, 0xc2, 0xf0, 0x26, 0xe9, 0xd7, 0x93, 0x09, 0xaa, 0xec,
0xbd, 0xa9, 0x69, 0xcd, 0xbc, 0x3c, 0xf3, 0x3c, 0xa5, 0xff, 0x02, 0x3a, 0xcf, 0xec, 0x89, 0x4f,
0x82, 0x34, 0x8d, 0x7b, 0xb0, 0x94, 0xf4, 0x7e, 0x64, 0x16, 0xaf, 0xe7, 0x67, 0x11, 0x73, 0xb3,
0xf2, 0x2c, 0x15, 0x3b, 0x82, 0xe5, 0x03, 0x51, 0xa8, 0xb4, 0xd0, 0x6f, 0xc5, 0x07, 0x5c, 0x45,
0xcb, 0x42, 0x57, 0x4b, 0x21, 0x31, 0xbb, 0xad, 0xcd, 0x48, 0xdc, 0xdf, 0x84, 0xfd, 0x47, 0xc4,
0x79, 0x4b, 0xe3, 0xf4, 0x09, 0x16, 0xb4, 0x72, 0x5d, 0x03, 0x5d, 0x2e, 0xd7, 0xc5, 0x52, 0x4f,
0x33, 0xb7, 0x67, 0x03, 0x52, 0xb3, 0x3f, 0x05, 0xc8, 0x6a, 0x66, 0xc9, 0xf2, 0x53, 0x3d, 0xa2,
0x64, 0xf9, 0xe9, 0x62, 0x8b, 0xe7, 0x5e, 0x2f, 0xc9, 0x7f, 0x77, 0x6e, 0xff, 0x1d, 0x00, 0x00,
0xff, 0xff, 0xfe, 0x73, 0x50, 0xfe, 0xeb, 0x11, 0x00, 0x00,
0x22, 0xe5, 0xfb, 0xc6, 0xd4, 0xfd, 0x9f, 0x0d, 0xa8, 0x3f, 0x4b, 0x96, 0xa8, 0x03, 0xf3, 0x29,
0x81, 0x79, 0xcf, 0x45, 0x08, 0x16, 0x03, 0xdb, 0x27, 0xd2, 0x1b, 0x4d, 0x4b, 0xfe, 0x46, 0xdb,
0xd0, 0x72, 0x49, 0xe4, 0x30, 0x2f, 0x14, 0x8a, 0xba, 0x0b, 0xf2, 0x28, 0xbf, 0x85, 0xba, 0x50,
0x0f, 0x3d, 0x87, 0xc7, 0x8c, 0x74, 0x17, 0xe5, 0xa9, 0x5e, 0xa2, 0xcf, 0xa0, 0x19, 0x32, 0xcf,
0x21, 0xc3, 0x38, 0x72, 0xbb, 0x35, 0xe9, 0xe2, 0x6e, 0xc1, 0x7a, 0x4f, 0x68, 0x40, 0x26, 0x0f,
0x7c, 0x1a, 0x07, 0xdc, 0x6a, 0x48, 0xe8, 0x8b, 0xc8, 0xc5, 0x8f, 0x60, 0x5d, 0x3c, 0x51, 0xb1,
0xcc, 0xde, 0x76, 0x13, 0x1a, 0xea, 0x21, 0xc9, 0xc3, 0x5a, 0xfb, 0xeb, 0x05, 0x69, 0xea, 0x82,
0x95, 0xa2, 0xf0, 0x0e, 0xac, 0xf5, 0x89, 0x16, 0xa4, 0x6d, 0x5f, 0x7a, 0x35, 0xfe, 0x04, 0x36,
0x0e, 0x89, 0xcd, 0x9c, 0x51, 0xa6, 0x30, 0x01, 0xae, 0x43, 0xed, 0x5d, 0x4c, 0xd8, 0x44, 0x61,
0x93, 0x05, 0x7e, 0x04, 0xe7, 0xcb, 0x70, 0xc5, 0x6f, 0x0f, 0xea, 0x8c, 0x44, 0xf1, 0xf8, 0x14,
0x7a, 0x1a, 0x84, 0x03, 0x58, 0xe9, 0x13, 0xfe, 0x75, 0x4c, 0x39, 0xd1, 0x2a, 0xf7, 0xa0, 0x6e,
0xbb, 0x2e, 0x23, 0x51, 0x24, 0x95, 0x96, 0x45, 0x3c, 0x48, 0xce, 0x2c, 0x0d, 0xfa, 0xb8, 0xd8,
0xec, 0xc3, 0x6a, 0xa6, 0x4f, 0x71, 0xbe, 0x0d, 0x0d, 0x87, 0x46, 0x5c, 0x7a, 0xc8, 0x38, 0xc5,
0x43, 0x75, 0x81, 0x14, 0x0e, 0xa2, 0xb0, 0x7a, 0x38, 0xf2, 0xc2, 0xa7, 0xcc, 0x25, 0xec, 0x1f,
0x61, 0xfe, 0x29, 0xac, 0xe5, 0x14, 0x66, 0xa1, 0xce, 0x99, 0xed, 0xbc, 0xf5, 0x82, 0x37, 0x59,
0x1e, 0x81, 0xde, 0x1a, 0xb8, 0xf8, 0x17, 0x03, 0xea, 0x4a, 0x2f, 0xda, 0x85, 0xd5, 0x88, 0x33,
0x42, 0xf8, 0x50, 0x11, 0x18, 0xde, 0x52, 0x37, 0x3a, 0xc9, 0xbe, 0x02, 0xde, 0xaa, 0x40, 0xee,
0xab, 0x84, 0x28, 0x22, 0xf7, 0x45, 0xba, 0x38, 0xa2, 0xfe, 0x25, 0x39, 0x21, 0x7f, 0x8b, 0x64,
0x70, 0x84, 0xb1, 0xd8, 0x44, 0x27, 0x83, 0x5a, 0xa2, 0x0b, 0xd0, 0x78, 0xef, 0x85, 0x43, 0x87,
0xba, 0x44, 0xe6, 0x42, 0xcd, 0xaa, 0xbf, 0xf7, 0xc2, 0x1e, 0x75, 0x09, 0xee, 0x43, 0x2b, 0x67,
0x67, 0x21, 0xc3, 0x25, 0x8e, 0xe7, 0xdb, 0x63, 0x49, 0xb1, 0x6d, 0xe9, 0x25, 0xda, 0x02, 0x38,
0x62, 0xb6, 0x23, 0xd2, 0xce, 0x1e, 0x4b, 0x56, 0x6d, 0x2b, 0xb7, 0x83, 0x5f, 0x41, 0x4d, 0x0a,
0x42, 0x3b, 0xd0, 0x76, 0x62, 0xc6, 0x48, 0xe0, 0x4c, 0x12, 0x8d, 0xc9, 0x5b, 0x97, 0xf5, 0xa6,
0x50, 0x8b, 0x6e, 0xc2, 0x92, 0x2d, 0x35, 0xaa, 0xf2, 0x3b, 0xdb, 0xf3, 0x0a, 0x87, 0xfb, 0xb0,
0xd5, 0x27, 0xfc, 0x30, 0x0e, 0x43, 0xca, 0x38, 0x71, 0x7b, 0x89, 0x34, 0x8f, 0x64, 0x39, 0xf0,
0x3f, 0xe8, 0x14, 0x14, 0xeb, 0x12, 0xd4, 0xce, 0x6b, 0x8e, 0xf0, 0x73, 0x58, 0xeb, 0xd1, 0xe0,
0x98, 0xb0, 0xc8, 0xa3, 0x81, 0x0e, 0xa1, 0x2b, 0xb0, 0x78, 0xc4, 0xa8, 0xaf, 0xe2, 0x07, 0x4d,
0xb3, 0xb1, 0xe4, 0xb9, 0x28, 0x9e, 0x9c, 0x26, 0xcf, 0x4a, 0x1c, 0xb3, 0xc4, 0xa9, 0xb4, 0xe3,
0x7d, 0x40, 0x79, 0xa9, 0x8a, 0xd2, 0x35, 0x58, 0x4a, 0x32, 0xee, 0x04, 0xc1, 0x0a, 0x81, 0xff,
0x32, 0xa0, 0xd3, 0x63, 0xc4, 0xf5, 0x44, 0xef, 0x70, 0x07, 0xc1, 0x11, 0x45, 0x37, 0x00, 0x39,
0x72, 0x67, 0xe8, 0xd8, 0xcc, 0x1d, 0x06, 0xb1, 0xff, 0x9a, 0x30, 0x65, 0xcf, 0x55, 0x27, 0xc5,
0x7e, 0x25, 0xf7, 0xd1, 0x15, 0x58, 0xc9, 0xa3, 0x9d, 0xe3, 0x63, 0xd5, 0x1e, 0xdb, 0x19, 0xb4,
0x77, 0x7c, 0x8c, 0xbe, 0x80, 0xcd, 0x3c, 0x8e, 0xfc, 0x10, 0x7a, 0x4c, 0x96, 0xf2, 0xe1, 0x84,
0xd8, 0x4c, 0x86, 0x54, 0xcd, 0xea, 0x66, 0x77, 0x0e, 0x52, 0xc0, 0x77, 0xc4, 0x66, 0xe8, 0x1e,
0x5c, 0x9c, 0x71, 0xdd, 0xa7, 0x01, 0x1f, 0xc9, 0xd8, 0xab, 0x59, 0x17, 0xaa, 0xee, 0x3f, 0x11,
0x00, 0x3c, 0x81, 0x76, 0x6f, 0x64, 0xb3, 0x37, 0x69, 0xe5, 0xb9, 0x96, 0x06, 0xc3, 0x09, 0x56,
0x4a, 0x10, 0xe8, 0x2e, 0xb4, 0x72, 0xda, 0x55, 0xf4, 0x6c, 0x16, 0x33, 0xb8, 0x60, 0x44, 0x0b,
0x32, 0x26, 0xf8, 0x0e, 0x74, 0xb4, 0xea, 0x2c, 0x68, 0x38, 0xb3, 0x83, 0x28, 0x89, 0xe3, 0x2c,
0x99, 0xdb, 0xb9, 0xdd, 0x81, 0x8b, 0x5f, 0x41, 0x53, 0x56, 0x00, 0x39, 0x9f, 0xe8, 0xc9, 0xc1,
0x38, 0x75, 0x72, 0x10, 0x71, 0x25, 0x2a, 0x97, 0xe2, 0x59, 0x19, 0x57, 0xe2, 0x1c, 0x7f, 0x98,
0x87, 0x96, 0x2e, 0x31, 0xf1, 0x98, 0x8b, 0x8c, 0xa5, 0x62, 0x99, 0x11, 0xaa, 0xcb, 0xf5, 0xc0,
0x45, 0x37, 0x61, 0x3d, 0x1a, 0x79, 0x61, 0x28, 0x6a, 0x4f, 0xbe, 0x08, 0x25, 0xf1, 0x88, 0xf4,
0xd9, 0xf3, 0xb4, 0x18, 0xa1, 0x3b, 0xd0, 0x4e, 0x6f, 0x48, 0x36, 0x0b, 0x33, 0xd9, 0x2c, 0x6b,
0x60, 0x8f, 0x46, 0x1c, 0xdd, 0x83, 0xd5, 0xf4, 0xa2, 0xae, 0xb0, 0x8b, 0x27, 0x54, 0xd8, 0x15,
0x8d, 0xd6, 0xa5, 0xef, 0x86, 0xae, 0xb4, 0x35, 0x59, 0x69, 0xcf, 0x17, 0x6e, 0xa5, 0x06, 0xd5,
0xa5, 0xd6, 0x85, 0x8b, 0x87, 0x24, 0x70, 0xe5, 0x7e, 0x8f, 0x06, 0x47, 0x1e, 0xf3, 0x65, 0xd8,
0xe4, 0x9a, 0x22, 0xf1, 0x6d, 0x6f, 0xac, 0x9b, 0xa2, 0x5c, 0xa0, 0x3d, 0xa8, 0x49, 0xd3, 0x54,
0x56, 0x92, 0x9c, 0x4d, 0xad, 0x04, 0x86, 0x3f, 0x18, 0x80, 0x7a, 0x8c, 0xd8, 0x9c, 0x14, 0x9a,
0xc8, 0xcc, 0xb1, 0x68, 0x07, 0xda, 0xf2, 0x40, 0x57, 0x11, 0x65, 0xe8, 0x65, 0xb1, 0xa9, 0xaa,
0xd0, 0x24, 0xdf, 0x82, 0x16, 0xce, 0xd0, 0x82, 0xf0, 0x8f, 0x70, 0xae, 0xc0, 0x41, 0x45, 0x63,
0x6a, 0x2f, 0xe3, 0x0c, 0xf6, 0x9a, 0xf6, 0xeb, 0xfc, 0xd9, 0xfc, 0x8a, 0xff, 0x34, 0x60, 0xed,
0xd9, 0xd8, 0x76, 0xfe, 0x45, 0x0b, 0x64, 0xce, 0xac, 0xe5, 0x9d, 0x59, 0x4a, 0xef, 0xa5, 0x8f,
0x4b, 0xef, 0x87, 0x80, 0xf2, 0xcf, 0x4a, 0x67, 0x23, 0x15, 0x20, 0xc6, 0x99, 0x02, 0x64, 0xff,
0x0f, 0x03, 0x5a, 0x22, 0x8d, 0x0f, 0x09, 0x3b, 0xf6, 0x1c, 0x82, 0xee, 0xca, 0x56, 0x2e, 0x33,
0x7f, 0xb3, 0xfc, 0xa6, 0xdc, 0x97, 0x86, 0x59, 0xb4, 0x7b, 0x32, 0x8a, 0xcf, 0xa1, 0xcf, 0xa1,
0xae, 0x3e, 0x07, 0x4a, 0xb7, 0x8b, 0x1f, 0x09, 0xe6, 0xda, 0x54, 0x19, 0xc1, 0x73, 0xe8, 0x3e,
0x34, 0xd3, 0x0f, 0x0f, 0x74, 0x69, 0x5a, 0x7e, 0x5e, 0x40, 0xa5, 0xfa, 0xfd, 0x9f, 0x0c, 0xd8,
0x28, 0x0e, 0xec, 0xfa, 0x59, 0xdf, 0xc3, 0xb9, 0x8a, 0x69, 0x1e, 0xfd, 0xbf, 0x20, 0x66, 0xf6,
0x77, 0x84, 0xb9, 0x7b, 0x3a, 0x30, 0x71, 0x80, 0x60, 0x31, 0x0f, 0x1b, 0x6a, 0x06, 0xed, 0xd9,
0xdc, 0x1e, 0xd3, 0x37, 0x9a, 0x45, 0x1f, 0x96, 0xf3, 0x03, 0x37, 0xaa, 0x78, 0x85, 0xf9, 0xdf,
0x29, 0x4d, 0xe5, 0xf9, 0x17, 0xcf, 0xa1, 0x87, 0x00, 0xd9, 0xbc, 0x8d, 0xb6, 0xca, 0xa6, 0x2e,
0x0e, 0xe2, 0x66, 0xe5, 0x78, 0x8c, 0xe7, 0xd0, 0x4b, 0xe8, 0x14, 0x27, 0x6c, 0x84, 0x0b, 0xc8,
0xca, 0x69, 0xdd, 0xdc, 0x39, 0x11, 0x93, 0x5a, 0xe1, 0x57, 0x03, 0x56, 0x0e, 0x55, 0x1e, 0xea,
0xf7, 0x0f, 0xa0, 0xa1, 0x07, 0x63, 0x74, 0xb1, 0x4c, 0x3a, 0x3f, 0x9f, 0x9b, 0x97, 0x66, 0x9c,
0xa6, 0x16, 0x78, 0x0c, 0xcd, 0x74, 0x52, 0x2d, 0x05, 0x4b, 0x79, 0x64, 0x36, 0xb7, 0x66, 0x1d,
0xa7, 0x64, 0x7f, 0x37, 0x60, 0x45, 0x27, 0xb7, 0x26, 0xfb, 0x12, 0xce, 0x57, 0xcf, 0x60, 0x95,
0x6e, 0xbb, 0x5e, 0x26, 0x7c, 0xc2, 0xf0, 0x26, 0xe9, 0xd7, 0x93, 0x09, 0xaa, 0xec, 0xbd, 0xa9,
0x69, 0xcd, 0xbc, 0x3c, 0xf3, 0x3c, 0xa5, 0xff, 0x02, 0x3a, 0xcf, 0xec, 0x89, 0x4f, 0x82, 0x34,
0x8d, 0x7b, 0xb0, 0x94, 0xf4, 0x7e, 0x64, 0x16, 0xaf, 0xe7, 0x67, 0x11, 0x73, 0xb3, 0xf2, 0x2c,
0x15, 0x3b, 0x82, 0xe5, 0x03, 0x51, 0xa8, 0xb4, 0xd0, 0x6f, 0xc5, 0x07, 0x5c, 0x45, 0xcb, 0x42,
0x57, 0x4b, 0x21, 0x31, 0xbb, 0xad, 0xcd, 0x48, 0xdc, 0xdf, 0x84, 0xfd, 0x47, 0xc4, 0x79, 0x4b,
0xe3, 0xf4, 0x09, 0x16, 0xb4, 0x72, 0x5d, 0x03, 0x5d, 0x2e, 0xd7, 0xc5, 0x52, 0x4f, 0x33, 0xb7,
0x67, 0x03, 0x52, 0xb3, 0x3f, 0x05, 0xc8, 0x6a, 0x66, 0xc9, 0xf2, 0x53, 0x3d, 0xa2, 0x64, 0xf9,
0xe9, 0x62, 0x8b, 0xe7, 0x5e, 0x2f, 0xc9, 0x7f, 0x77, 0x6e, 0xff, 0x1d, 0x00, 0x00, 0xff, 0xff,
0x51, 0x5f, 0x0f, 0xde, 0xeb, 0x11, 0x00, 0x00,
}

View file

@ -17,9 +17,9 @@ import (
var port = flag.Int("port", 3550, "port to listen at")
var catalog = []*pb.Product{
{Id: 1, Name: "shirt", Description: "nice shirt", Picture: "picture1", PriceUsd: &pb.MoneyAmount{Decimal: 53}},
{Id: 2, Name: "pants", Description: "nice pants", Picture: "picture2", PriceUsd: &pb.MoneyAmount{Decimal: 81}},
{Id: 3, Name: "hat", Description: "nice hat", Picture: "picture3", PriceUsd: &pb.MoneyAmount{Decimal: 20}},
{Id: "1", Name: "shirt", Description: "nice shirt", Picture: "picture1", PriceUsd: &pb.MoneyAmount{Decimal: 53}},
{Id: "2", Name: "pants", Description: "nice pants", Picture: "picture2", PriceUsd: &pb.MoneyAmount{Decimal: 81}},
{Id: "3", Name: "hat", Description: "nice hat", Picture: "picture3", PriceUsd: &pb.MoneyAmount{Decimal: 20}},
}
func main() {

View file

@ -29,14 +29,14 @@ func TestServer(t *testing.T) {
t.Error(diff)
}
got, err := client.GetProduct(ctx, &pb.GetProductRequest{Id: 2})
got, err := client.GetProduct(ctx, &pb.GetProductRequest{Id: "2"})
if err != nil {
t.Fatal(err)
}
if want := catalog[1]; !proto.Equal(got, want) {
t.Errorf("got %v, want %v", got, want)
}
_, err = client.GetProduct(ctx, &pb.GetProductRequest{Id: -1})
_, err = client.GetProduct(ctx, &pb.GetProductRequest{Id: "N/A"})
if got, want := status.Code(err), codes.NotFound; got != want {
t.Errorf("got %s, want %s", got, want)
}