1// Copyright 2020 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15// Code generated by protoc-gen-go. DO NOT EDIT. 16// versions: 17// protoc-gen-go v1.22.0 18// protoc v3.11.2 19// source: google/ads/googleads/v3/common/metrics.proto 20 21package common 22 23import ( 24 reflect "reflect" 25 sync "sync" 26 27 proto "github.com/golang/protobuf/proto" 28 wrappers "github.com/golang/protobuf/ptypes/wrappers" 29 enums "google.golang.org/genproto/googleapis/ads/googleads/v3/enums" 30 _ "google.golang.org/genproto/googleapis/api/annotations" 31 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 32 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 33) 34 35const ( 36 // Verify that this generated code is sufficiently up-to-date. 37 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 38 // Verify that runtime/protoimpl is sufficiently up-to-date. 39 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 40) 41 42// This is a compile-time assertion that a sufficiently up-to-date version 43// of the legacy proto package is being used. 44const _ = proto.ProtoPackageIsVersion4 45 46// Metrics data. 47type Metrics struct { 48 state protoimpl.MessageState 49 sizeCache protoimpl.SizeCache 50 unknownFields protoimpl.UnknownFields 51 52 // The percent of your ad impressions that are shown as the very first ad 53 // above the organic search results. 54 AbsoluteTopImpressionPercentage *wrappers.DoubleValue `protobuf:"bytes,95,opt,name=absolute_top_impression_percentage,json=absoluteTopImpressionPercentage,proto3" json:"absolute_top_impression_percentage,omitempty"` 55 // Average cost of viewable impressions (`active_view_impressions`). 56 ActiveViewCpm *wrappers.DoubleValue `protobuf:"bytes,1,opt,name=active_view_cpm,json=activeViewCpm,proto3" json:"active_view_cpm,omitempty"` 57 // Active view measurable clicks divided by active view viewable impressions. 58 // This metric is reported only for display network. 59 ActiveViewCtr *wrappers.DoubleValue `protobuf:"bytes,79,opt,name=active_view_ctr,json=activeViewCtr,proto3" json:"active_view_ctr,omitempty"` 60 // A measurement of how often your ad has become viewable on a Display 61 // Network site. 62 ActiveViewImpressions *wrappers.Int64Value `protobuf:"bytes,2,opt,name=active_view_impressions,json=activeViewImpressions,proto3" json:"active_view_impressions,omitempty"` 63 // The ratio of impressions that could be measured by Active View over the 64 // number of served impressions. 65 ActiveViewMeasurability *wrappers.DoubleValue `protobuf:"bytes,96,opt,name=active_view_measurability,json=activeViewMeasurability,proto3" json:"active_view_measurability,omitempty"` 66 // The cost of the impressions you received that were measurable by Active 67 // View. 68 ActiveViewMeasurableCostMicros *wrappers.Int64Value `protobuf:"bytes,3,opt,name=active_view_measurable_cost_micros,json=activeViewMeasurableCostMicros,proto3" json:"active_view_measurable_cost_micros,omitempty"` 69 // The number of times your ads are appearing on placements in positions 70 // where they can be seen. 71 ActiveViewMeasurableImpressions *wrappers.Int64Value `protobuf:"bytes,4,opt,name=active_view_measurable_impressions,json=activeViewMeasurableImpressions,proto3" json:"active_view_measurable_impressions,omitempty"` 72 // The percentage of time when your ad appeared on an Active View enabled site 73 // (measurable impressions) and was viewable (viewable impressions). 74 ActiveViewViewability *wrappers.DoubleValue `protobuf:"bytes,97,opt,name=active_view_viewability,json=activeViewViewability,proto3" json:"active_view_viewability,omitempty"` 75 // All conversions from interactions (as oppose to view through conversions) 76 // divided by the number of ad interactions. 77 AllConversionsFromInteractionsRate *wrappers.DoubleValue `protobuf:"bytes,65,opt,name=all_conversions_from_interactions_rate,json=allConversionsFromInteractionsRate,proto3" json:"all_conversions_from_interactions_rate,omitempty"` 78 // The total value of all conversions. 79 AllConversionsValue *wrappers.DoubleValue `protobuf:"bytes,66,opt,name=all_conversions_value,json=allConversionsValue,proto3" json:"all_conversions_value,omitempty"` 80 // The total number of conversions. This only includes conversion actions 81 // which include_in_conversions_metric attribute is set to true. 82 AllConversions *wrappers.DoubleValue `protobuf:"bytes,7,opt,name=all_conversions,json=allConversions,proto3" json:"all_conversions,omitempty"` 83 // The value of all conversions divided by the total cost of ad interactions 84 // (such as clicks for text ads or views for video ads). 85 AllConversionsValuePerCost *wrappers.DoubleValue `protobuf:"bytes,62,opt,name=all_conversions_value_per_cost,json=allConversionsValuePerCost,proto3" json:"all_conversions_value_per_cost,omitempty"` 86 // The number of times people clicked the "Call" button to call a store during 87 // or after clicking an ad. This number doesn't include whether or not calls 88 // were connected, or the duration of any calls. 89 // This metric applies to feed items only. 90 AllConversionsFromClickToCall *wrappers.DoubleValue `protobuf:"bytes,118,opt,name=all_conversions_from_click_to_call,json=allConversionsFromClickToCall,proto3" json:"all_conversions_from_click_to_call,omitempty"` 91 // The number of times people clicked a "Get directions" button to navigate to 92 // a store after clicking an ad. 93 // This metric applies to feed items only. 94 AllConversionsFromDirections *wrappers.DoubleValue `protobuf:"bytes,119,opt,name=all_conversions_from_directions,json=allConversionsFromDirections,proto3" json:"all_conversions_from_directions,omitempty"` 95 // The value of all conversions from interactions divided by the total number 96 // of interactions. 97 AllConversionsFromInteractionsValuePerInteraction *wrappers.DoubleValue `protobuf:"bytes,67,opt,name=all_conversions_from_interactions_value_per_interaction,json=allConversionsFromInteractionsValuePerInteraction,proto3" json:"all_conversions_from_interactions_value_per_interaction,omitempty"` 98 // The number of times people clicked a link to view a store's menu after 99 // clicking an ad. 100 // This metric applies to feed items only. 101 AllConversionsFromMenu *wrappers.DoubleValue `protobuf:"bytes,120,opt,name=all_conversions_from_menu,json=allConversionsFromMenu,proto3" json:"all_conversions_from_menu,omitempty"` 102 // The number of times people placed an order at a store after clicking an ad. 103 // This metric applies to feed items only. 104 AllConversionsFromOrder *wrappers.DoubleValue `protobuf:"bytes,121,opt,name=all_conversions_from_order,json=allConversionsFromOrder,proto3" json:"all_conversions_from_order,omitempty"` 105 // The number of other conversions (for example, posting a review or saving a 106 // location for a store) that occurred after people clicked an ad. 107 // This metric applies to feed items only. 108 AllConversionsFromOtherEngagement *wrappers.DoubleValue `protobuf:"bytes,122,opt,name=all_conversions_from_other_engagement,json=allConversionsFromOtherEngagement,proto3" json:"all_conversions_from_other_engagement,omitempty"` 109 // Estimated number of times people visited a store after clicking an ad. 110 // This metric applies to feed items only. 111 AllConversionsFromStoreVisit *wrappers.DoubleValue `protobuf:"bytes,123,opt,name=all_conversions_from_store_visit,json=allConversionsFromStoreVisit,proto3" json:"all_conversions_from_store_visit,omitempty"` 112 // The number of times that people were taken to a store's URL after clicking 113 // an ad. 114 // This metric applies to feed items only. 115 AllConversionsFromStoreWebsite *wrappers.DoubleValue `protobuf:"bytes,124,opt,name=all_conversions_from_store_website,json=allConversionsFromStoreWebsite,proto3" json:"all_conversions_from_store_website,omitempty"` 116 // The average amount you pay per interaction. This amount is the total cost 117 // of your ads divided by the total number of interactions. 118 AverageCost *wrappers.DoubleValue `protobuf:"bytes,8,opt,name=average_cost,json=averageCost,proto3" json:"average_cost,omitempty"` 119 // The total cost of all clicks divided by the total number of clicks 120 // received. 121 AverageCpc *wrappers.DoubleValue `protobuf:"bytes,9,opt,name=average_cpc,json=averageCpc,proto3" json:"average_cpc,omitempty"` 122 // The average amount that you've been charged for an ad engagement. This 123 // amount is the total cost of all ad engagements divided by the total number 124 // of ad engagements. 125 AverageCpe *wrappers.DoubleValue `protobuf:"bytes,98,opt,name=average_cpe,json=averageCpe,proto3" json:"average_cpe,omitempty"` 126 // Average cost-per-thousand impressions (CPM). 127 AverageCpm *wrappers.DoubleValue `protobuf:"bytes,10,opt,name=average_cpm,json=averageCpm,proto3" json:"average_cpm,omitempty"` 128 // The average amount you pay each time someone views your ad. 129 // The average CPV is defined by the total cost of all ad views divided by 130 // the number of views. 131 AverageCpv *wrappers.DoubleValue `protobuf:"bytes,11,opt,name=average_cpv,json=averageCpv,proto3" json:"average_cpv,omitempty"` 132 // Average number of pages viewed per session. 133 AveragePageViews *wrappers.DoubleValue `protobuf:"bytes,99,opt,name=average_page_views,json=averagePageViews,proto3" json:"average_page_views,omitempty"` 134 // Total duration of all sessions (in seconds) / number of sessions. Imported 135 // from Google Analytics. 136 AverageTimeOnSite *wrappers.DoubleValue `protobuf:"bytes,84,opt,name=average_time_on_site,json=averageTimeOnSite,proto3" json:"average_time_on_site,omitempty"` 137 // An indication of how other advertisers are bidding on similar products. 138 BenchmarkAverageMaxCpc *wrappers.DoubleValue `protobuf:"bytes,14,opt,name=benchmark_average_max_cpc,json=benchmarkAverageMaxCpc,proto3" json:"benchmark_average_max_cpc,omitempty"` 139 // An indication on how other advertisers' Shopping ads for similar products 140 // are performing based on how often people who see their ad click on it. 141 BenchmarkCtr *wrappers.DoubleValue `protobuf:"bytes,77,opt,name=benchmark_ctr,json=benchmarkCtr,proto3" json:"benchmark_ctr,omitempty"` 142 // Percentage of clicks where the user only visited a single page on your 143 // site. Imported from Google Analytics. 144 BounceRate *wrappers.DoubleValue `protobuf:"bytes,15,opt,name=bounce_rate,json=bounceRate,proto3" json:"bounce_rate,omitempty"` 145 // The number of clicks. 146 Clicks *wrappers.Int64Value `protobuf:"bytes,19,opt,name=clicks,proto3" json:"clicks,omitempty"` 147 // The number of times your ad or your site's listing in the unpaid 148 // results was clicked. See the help page at 149 // https://support.google.com/google-ads/answer/3097241 for details. 150 CombinedClicks *wrappers.Int64Value `protobuf:"bytes,115,opt,name=combined_clicks,json=combinedClicks,proto3" json:"combined_clicks,omitempty"` 151 // The number of times your ad or your site's listing in the unpaid 152 // results was clicked (combined_clicks) divided by combined_queries. See the 153 // help page at https://support.google.com/google-ads/answer/3097241 for 154 // details. 155 CombinedClicksPerQuery *wrappers.DoubleValue `protobuf:"bytes,116,opt,name=combined_clicks_per_query,json=combinedClicksPerQuery,proto3" json:"combined_clicks_per_query,omitempty"` 156 // The number of searches that returned pages from your site in the unpaid 157 // results or showed one of your text ads. See the help page at 158 // https://support.google.com/google-ads/answer/3097241 for details. 159 CombinedQueries *wrappers.Int64Value `protobuf:"bytes,117,opt,name=combined_queries,json=combinedQueries,proto3" json:"combined_queries,omitempty"` 160 // The estimated percent of times that your ad was eligible to show 161 // on the Display Network but didn't because your budget was too low. 162 // Note: Content budget lost impression share is reported in the range of 0 163 // to 0.9. Any value above 0.9 is reported as 0.9001. 164 ContentBudgetLostImpressionShare *wrappers.DoubleValue `protobuf:"bytes,20,opt,name=content_budget_lost_impression_share,json=contentBudgetLostImpressionShare,proto3" json:"content_budget_lost_impression_share,omitempty"` 165 // The impressions you've received on the Display Network divided 166 // by the estimated number of impressions you were eligible to receive. 167 // Note: Content impression share is reported in the range of 0.1 to 1. Any 168 // value below 0.1 is reported as 0.0999. 169 ContentImpressionShare *wrappers.DoubleValue `protobuf:"bytes,21,opt,name=content_impression_share,json=contentImpressionShare,proto3" json:"content_impression_share,omitempty"` 170 // The last date/time a conversion tag for this conversion action successfully 171 // fired and was seen by Google Ads. This firing event may not have been the 172 // result of an attributable conversion (e.g. because the tag was fired from a 173 // browser that did not previously click an ad from an appropriate 174 // advertiser). The date/time is in the customer's time zone. 175 ConversionLastReceivedRequestDateTime *wrappers.StringValue `protobuf:"bytes,73,opt,name=conversion_last_received_request_date_time,json=conversionLastReceivedRequestDateTime,proto3" json:"conversion_last_received_request_date_time,omitempty"` 176 // The date of the most recent conversion for this conversion action. The date 177 // is in the customer's time zone. 178 ConversionLastConversionDate *wrappers.StringValue `protobuf:"bytes,74,opt,name=conversion_last_conversion_date,json=conversionLastConversionDate,proto3" json:"conversion_last_conversion_date,omitempty"` 179 // The estimated percentage of impressions on the Display Network 180 // that your ads didn't receive due to poor Ad Rank. 181 // Note: Content rank lost impression share is reported in the range of 0 182 // to 0.9. Any value above 0.9 is reported as 0.9001. 183 ContentRankLostImpressionShare *wrappers.DoubleValue `protobuf:"bytes,22,opt,name=content_rank_lost_impression_share,json=contentRankLostImpressionShare,proto3" json:"content_rank_lost_impression_share,omitempty"` 184 // Conversions from interactions divided by the number of ad interactions 185 // (such as clicks for text ads or views for video ads). This only includes 186 // conversion actions which include_in_conversions_metric attribute is set to 187 // true. 188 ConversionsFromInteractionsRate *wrappers.DoubleValue `protobuf:"bytes,69,opt,name=conversions_from_interactions_rate,json=conversionsFromInteractionsRate,proto3" json:"conversions_from_interactions_rate,omitempty"` 189 // The total value of conversions. This only includes conversion actions which 190 // include_in_conversions_metric attribute is set to true. 191 ConversionsValue *wrappers.DoubleValue `protobuf:"bytes,70,opt,name=conversions_value,json=conversionsValue,proto3" json:"conversions_value,omitempty"` 192 // The value of conversions divided by the cost of ad interactions. This only 193 // includes conversion actions which include_in_conversions_metric attribute 194 // is set to true. 195 ConversionsValuePerCost *wrappers.DoubleValue `protobuf:"bytes,71,opt,name=conversions_value_per_cost,json=conversionsValuePerCost,proto3" json:"conversions_value_per_cost,omitempty"` 196 // The value of conversions from interactions divided by the number of ad 197 // interactions. This only includes conversion actions which 198 // include_in_conversions_metric attribute is set to true. 199 ConversionsFromInteractionsValuePerInteraction *wrappers.DoubleValue `protobuf:"bytes,72,opt,name=conversions_from_interactions_value_per_interaction,json=conversionsFromInteractionsValuePerInteraction,proto3" json:"conversions_from_interactions_value_per_interaction,omitempty"` 200 // The number of conversions. This only includes conversion actions which 201 // include_in_conversions_metric attribute is set to true. 202 Conversions *wrappers.DoubleValue `protobuf:"bytes,25,opt,name=conversions,proto3" json:"conversions,omitempty"` 203 // The sum of your cost-per-click (CPC) and cost-per-thousand impressions 204 // (CPM) costs during this period. 205 CostMicros *wrappers.Int64Value `protobuf:"bytes,26,opt,name=cost_micros,json=costMicros,proto3" json:"cost_micros,omitempty"` 206 // The cost of ad interactions divided by all conversions. 207 CostPerAllConversions *wrappers.DoubleValue `protobuf:"bytes,68,opt,name=cost_per_all_conversions,json=costPerAllConversions,proto3" json:"cost_per_all_conversions,omitempty"` 208 // The cost of ad interactions divided by conversions. This only includes 209 // conversion actions which include_in_conversions_metric attribute is set to 210 // true. 211 CostPerConversion *wrappers.DoubleValue `protobuf:"bytes,28,opt,name=cost_per_conversion,json=costPerConversion,proto3" json:"cost_per_conversion,omitempty"` 212 // The cost of ad interactions divided by current model attributed 213 // conversions. This only includes conversion actions which 214 // include_in_conversions_metric attribute is set to true. 215 CostPerCurrentModelAttributedConversion *wrappers.DoubleValue `protobuf:"bytes,106,opt,name=cost_per_current_model_attributed_conversion,json=costPerCurrentModelAttributedConversion,proto3" json:"cost_per_current_model_attributed_conversion,omitempty"` 216 // Conversions from when a customer clicks on a Google Ads ad on one device, 217 // then converts on a different device or browser. 218 // Cross-device conversions are already included in all_conversions. 219 CrossDeviceConversions *wrappers.DoubleValue `protobuf:"bytes,29,opt,name=cross_device_conversions,json=crossDeviceConversions,proto3" json:"cross_device_conversions,omitempty"` 220 // The number of clicks your ad receives (Clicks) divided by the number 221 // of times your ad is shown (Impressions). 222 Ctr *wrappers.DoubleValue `protobuf:"bytes,30,opt,name=ctr,proto3" json:"ctr,omitempty"` 223 // Shows how your historic conversions data would look under the attribution 224 // model you've currently selected. This only includes conversion actions 225 // which include_in_conversions_metric attribute is set to true. 226 CurrentModelAttributedConversions *wrappers.DoubleValue `protobuf:"bytes,101,opt,name=current_model_attributed_conversions,json=currentModelAttributedConversions,proto3" json:"current_model_attributed_conversions,omitempty"` 227 // Current model attributed conversions from interactions divided by the 228 // number of ad interactions (such as clicks for text ads or views for video 229 // ads). This only includes conversion actions which 230 // include_in_conversions_metric attribute is set to true. 231 CurrentModelAttributedConversionsFromInteractionsRate *wrappers.DoubleValue `protobuf:"bytes,102,opt,name=current_model_attributed_conversions_from_interactions_rate,json=currentModelAttributedConversionsFromInteractionsRate,proto3" json:"current_model_attributed_conversions_from_interactions_rate,omitempty"` 232 // The value of current model attributed conversions from interactions divided 233 // by the number of ad interactions. This only includes conversion actions 234 // which include_in_conversions_metric attribute is set to true. 235 CurrentModelAttributedConversionsFromInteractionsValuePerInteraction *wrappers.DoubleValue `protobuf:"bytes,103,opt,name=current_model_attributed_conversions_from_interactions_value_per_interaction,json=currentModelAttributedConversionsFromInteractionsValuePerInteraction,proto3" json:"current_model_attributed_conversions_from_interactions_value_per_interaction,omitempty"` 236 // The total value of current model attributed conversions. This only includes 237 // conversion actions which include_in_conversions_metric attribute is set to 238 // true. 239 CurrentModelAttributedConversionsValue *wrappers.DoubleValue `protobuf:"bytes,104,opt,name=current_model_attributed_conversions_value,json=currentModelAttributedConversionsValue,proto3" json:"current_model_attributed_conversions_value,omitempty"` 240 // The value of current model attributed conversions divided by the cost of ad 241 // interactions. This only includes conversion actions which 242 // include_in_conversions_metric attribute is set to true. 243 CurrentModelAttributedConversionsValuePerCost *wrappers.DoubleValue `protobuf:"bytes,105,opt,name=current_model_attributed_conversions_value_per_cost,json=currentModelAttributedConversionsValuePerCost,proto3" json:"current_model_attributed_conversions_value_per_cost,omitempty"` 244 // How often people engage with your ad after it's shown to them. This is the 245 // number of ad expansions divided by the number of times your ad is shown. 246 EngagementRate *wrappers.DoubleValue `protobuf:"bytes,31,opt,name=engagement_rate,json=engagementRate,proto3" json:"engagement_rate,omitempty"` 247 // The number of engagements. 248 // An engagement occurs when a viewer expands your Lightbox ad. Also, in the 249 // future, other ad types may support engagement metrics. 250 Engagements *wrappers.Int64Value `protobuf:"bytes,32,opt,name=engagements,proto3" json:"engagements,omitempty"` 251 // Average lead value based on clicks. 252 HotelAverageLeadValueMicros *wrappers.DoubleValue `protobuf:"bytes,75,opt,name=hotel_average_lead_value_micros,json=hotelAverageLeadValueMicros,proto3" json:"hotel_average_lead_value_micros,omitempty"` 253 // The average price difference between the price offered by reporting hotel 254 // advertiser and the cheapest price offered by the competing advertiser. 255 HotelPriceDifferencePercentage *wrappers.DoubleValue `protobuf:"bytes,129,opt,name=hotel_price_difference_percentage,json=hotelPriceDifferencePercentage,proto3" json:"hotel_price_difference_percentage,omitempty"` 256 // The creative historical quality score. 257 HistoricalCreativeQualityScore enums.QualityScoreBucketEnum_QualityScoreBucket `protobuf:"varint,80,opt,name=historical_creative_quality_score,json=historicalCreativeQualityScore,proto3,enum=google.ads.googleads.v3.enums.QualityScoreBucketEnum_QualityScoreBucket" json:"historical_creative_quality_score,omitempty"` 258 // The quality of historical landing page experience. 259 HistoricalLandingPageQualityScore enums.QualityScoreBucketEnum_QualityScoreBucket `protobuf:"varint,81,opt,name=historical_landing_page_quality_score,json=historicalLandingPageQualityScore,proto3,enum=google.ads.googleads.v3.enums.QualityScoreBucketEnum_QualityScoreBucket" json:"historical_landing_page_quality_score,omitempty"` 260 // The historical quality score. 261 HistoricalQualityScore *wrappers.Int64Value `protobuf:"bytes,82,opt,name=historical_quality_score,json=historicalQualityScore,proto3" json:"historical_quality_score,omitempty"` 262 // The historical search predicted click through rate (CTR). 263 HistoricalSearchPredictedCtr enums.QualityScoreBucketEnum_QualityScoreBucket `protobuf:"varint,83,opt,name=historical_search_predicted_ctr,json=historicalSearchPredictedCtr,proto3,enum=google.ads.googleads.v3.enums.QualityScoreBucketEnum_QualityScoreBucket" json:"historical_search_predicted_ctr,omitempty"` 264 // The number of times the ad was forwarded to someone else as a message. 265 GmailForwards *wrappers.Int64Value `protobuf:"bytes,85,opt,name=gmail_forwards,json=gmailForwards,proto3" json:"gmail_forwards,omitempty"` 266 // The number of times someone has saved your Gmail ad to their inbox as a 267 // message. 268 GmailSaves *wrappers.Int64Value `protobuf:"bytes,86,opt,name=gmail_saves,json=gmailSaves,proto3" json:"gmail_saves,omitempty"` 269 // The number of clicks to the landing page on the expanded state of Gmail 270 // ads. 271 GmailSecondaryClicks *wrappers.Int64Value `protobuf:"bytes,87,opt,name=gmail_secondary_clicks,json=gmailSecondaryClicks,proto3" json:"gmail_secondary_clicks,omitempty"` 272 // The number of times a store's location-based ad was shown. 273 // This metric applies to feed items only. 274 ImpressionsFromStoreReach *wrappers.Int64Value `protobuf:"bytes,125,opt,name=impressions_from_store_reach,json=impressionsFromStoreReach,proto3" json:"impressions_from_store_reach,omitempty"` 275 // Count of how often your ad has appeared on a search results page or 276 // website on the Google Network. 277 Impressions *wrappers.Int64Value `protobuf:"bytes,37,opt,name=impressions,proto3" json:"impressions,omitempty"` 278 // How often people interact with your ad after it is shown to them. 279 // This is the number of interactions divided by the number of times your ad 280 // is shown. 281 InteractionRate *wrappers.DoubleValue `protobuf:"bytes,38,opt,name=interaction_rate,json=interactionRate,proto3" json:"interaction_rate,omitempty"` 282 // The number of interactions. 283 // An interaction is the main user action associated with an ad format-clicks 284 // for text and shopping ads, views for video ads, and so on. 285 Interactions *wrappers.Int64Value `protobuf:"bytes,39,opt,name=interactions,proto3" json:"interactions,omitempty"` 286 // The types of payable and free interactions. 287 InteractionEventTypes []enums.InteractionEventTypeEnum_InteractionEventType `protobuf:"varint,100,rep,packed,name=interaction_event_types,json=interactionEventTypes,proto3,enum=google.ads.googleads.v3.enums.InteractionEventTypeEnum_InteractionEventType" json:"interaction_event_types,omitempty"` 288 // The percentage of clicks filtered out of your total number of clicks 289 // (filtered + non-filtered clicks) during the reporting period. 290 InvalidClickRate *wrappers.DoubleValue `protobuf:"bytes,40,opt,name=invalid_click_rate,json=invalidClickRate,proto3" json:"invalid_click_rate,omitempty"` 291 // Number of clicks Google considers illegitimate and doesn't charge you for. 292 InvalidClicks *wrappers.Int64Value `protobuf:"bytes,41,opt,name=invalid_clicks,json=invalidClicks,proto3" json:"invalid_clicks,omitempty"` 293 // Number of message chats initiated for Click To Message impressions that 294 // were message tracking eligible. 295 MessageChats *wrappers.Int64Value `protobuf:"bytes,126,opt,name=message_chats,json=messageChats,proto3" json:"message_chats,omitempty"` 296 // Number of Click To Message impressions that were message tracking eligible. 297 MessageImpressions *wrappers.Int64Value `protobuf:"bytes,127,opt,name=message_impressions,json=messageImpressions,proto3" json:"message_impressions,omitempty"` 298 // Number of message chats initiated (message_chats) divided by the number 299 // of message impressions (message_impressions). 300 // Rate at which a user initiates a message chat from an ad impression with 301 // a messaging option and message tracking enabled. 302 // Note that this rate can be more than 1.0 for a given message impression. 303 MessageChatRate *wrappers.DoubleValue `protobuf:"bytes,128,opt,name=message_chat_rate,json=messageChatRate,proto3" json:"message_chat_rate,omitempty"` 304 // The percentage of mobile clicks that go to a mobile-friendly page. 305 MobileFriendlyClicksPercentage *wrappers.DoubleValue `protobuf:"bytes,109,opt,name=mobile_friendly_clicks_percentage,json=mobileFriendlyClicksPercentage,proto3" json:"mobile_friendly_clicks_percentage,omitempty"` 306 // The number of times someone clicked your site's listing in the unpaid 307 // results for a particular query. See the help page at 308 // https://support.google.com/google-ads/answer/3097241 for details. 309 OrganicClicks *wrappers.Int64Value `protobuf:"bytes,110,opt,name=organic_clicks,json=organicClicks,proto3" json:"organic_clicks,omitempty"` 310 // The number of times someone clicked your site's listing in the unpaid 311 // results (organic_clicks) divided by the total number of searches that 312 // returned pages from your site (organic_queries). See the help page at 313 // https://support.google.com/google-ads/answer/3097241 for details. 314 OrganicClicksPerQuery *wrappers.DoubleValue `protobuf:"bytes,111,opt,name=organic_clicks_per_query,json=organicClicksPerQuery,proto3" json:"organic_clicks_per_query,omitempty"` 315 // The number of listings for your site in the unpaid search results. See the 316 // help page at https://support.google.com/google-ads/answer/3097241 for 317 // details. 318 OrganicImpressions *wrappers.Int64Value `protobuf:"bytes,112,opt,name=organic_impressions,json=organicImpressions,proto3" json:"organic_impressions,omitempty"` 319 // The number of times a page from your site was listed in the unpaid search 320 // results (organic_impressions) divided by the number of searches returning 321 // your site's listing in the unpaid results (organic_queries). See the help 322 // page at https://support.google.com/google-ads/answer/3097241 for details. 323 OrganicImpressionsPerQuery *wrappers.DoubleValue `protobuf:"bytes,113,opt,name=organic_impressions_per_query,json=organicImpressionsPerQuery,proto3" json:"organic_impressions_per_query,omitempty"` 324 // The total number of searches that returned your site's listing in the 325 // unpaid results. See the help page at 326 // https://support.google.com/google-ads/answer/3097241 for details. 327 OrganicQueries *wrappers.Int64Value `protobuf:"bytes,114,opt,name=organic_queries,json=organicQueries,proto3" json:"organic_queries,omitempty"` 328 // Percentage of first-time sessions (from people who had never visited your 329 // site before). Imported from Google Analytics. 330 PercentNewVisitors *wrappers.DoubleValue `protobuf:"bytes,42,opt,name=percent_new_visitors,json=percentNewVisitors,proto3" json:"percent_new_visitors,omitempty"` 331 // Number of offline phone calls. 332 PhoneCalls *wrappers.Int64Value `protobuf:"bytes,43,opt,name=phone_calls,json=phoneCalls,proto3" json:"phone_calls,omitempty"` 333 // Number of offline phone impressions. 334 PhoneImpressions *wrappers.Int64Value `protobuf:"bytes,44,opt,name=phone_impressions,json=phoneImpressions,proto3" json:"phone_impressions,omitempty"` 335 // Number of phone calls received (phone_calls) divided by the number of 336 // times your phone number is shown (phone_impressions). 337 PhoneThroughRate *wrappers.DoubleValue `protobuf:"bytes,45,opt,name=phone_through_rate,json=phoneThroughRate,proto3" json:"phone_through_rate,omitempty"` 338 // Your clickthrough rate (Ctr) divided by the average clickthrough rate of 339 // all advertisers on the websites that show your ads. Measures how your ads 340 // perform on Display Network sites compared to other ads on the same sites. 341 RelativeCtr *wrappers.DoubleValue `protobuf:"bytes,46,opt,name=relative_ctr,json=relativeCtr,proto3" json:"relative_ctr,omitempty"` 342 // The percentage of the customer's Shopping or Search ad impressions that are 343 // shown in the most prominent Shopping position. See 344 // https://support.google.com/google-ads/answer/7501826 345 // for details. Any value below 0.1 is reported as 0.0999. 346 SearchAbsoluteTopImpressionShare *wrappers.DoubleValue `protobuf:"bytes,78,opt,name=search_absolute_top_impression_share,json=searchAbsoluteTopImpressionShare,proto3" json:"search_absolute_top_impression_share,omitempty"` 347 // The number estimating how often your ad wasn't the very first ad above the 348 // organic search results due to a low budget. Note: Search 349 // budget lost absolute top impression share is reported in the range of 0 to 350 // 0.9. Any value above 0.9 is reported as 0.9001. 351 SearchBudgetLostAbsoluteTopImpressionShare *wrappers.DoubleValue `protobuf:"bytes,88,opt,name=search_budget_lost_absolute_top_impression_share,json=searchBudgetLostAbsoluteTopImpressionShare,proto3" json:"search_budget_lost_absolute_top_impression_share,omitempty"` 352 // The estimated percent of times that your ad was eligible to show on the 353 // Search Network but didn't because your budget was too low. Note: Search 354 // budget lost impression share is reported in the range of 0 to 0.9. Any 355 // value above 0.9 is reported as 0.9001. 356 SearchBudgetLostImpressionShare *wrappers.DoubleValue `protobuf:"bytes,47,opt,name=search_budget_lost_impression_share,json=searchBudgetLostImpressionShare,proto3" json:"search_budget_lost_impression_share,omitempty"` 357 // The number estimating how often your ad didn't show anywhere above the 358 // organic search results due to a low budget. Note: Search 359 // budget lost top impression share is reported in the range of 0 to 0.9. Any 360 // value above 0.9 is reported as 0.9001. 361 SearchBudgetLostTopImpressionShare *wrappers.DoubleValue `protobuf:"bytes,89,opt,name=search_budget_lost_top_impression_share,json=searchBudgetLostTopImpressionShare,proto3" json:"search_budget_lost_top_impression_share,omitempty"` 362 // The number of clicks you've received on the Search Network 363 // divided by the estimated number of clicks you were eligible to receive. 364 // Note: Search click share is reported in the range of 0.1 to 1. Any value 365 // below 0.1 is reported as 0.0999. 366 SearchClickShare *wrappers.DoubleValue `protobuf:"bytes,48,opt,name=search_click_share,json=searchClickShare,proto3" json:"search_click_share,omitempty"` 367 // The impressions you've received divided by the estimated number of 368 // impressions you were eligible to receive on the Search Network for search 369 // terms that matched your keywords exactly (or were close variants of your 370 // keyword), regardless of your keyword match types. Note: Search exact match 371 // impression share is reported in the range of 0.1 to 1. Any value below 0.1 372 // is reported as 0.0999. 373 SearchExactMatchImpressionShare *wrappers.DoubleValue `protobuf:"bytes,49,opt,name=search_exact_match_impression_share,json=searchExactMatchImpressionShare,proto3" json:"search_exact_match_impression_share,omitempty"` 374 // The impressions you've received on the Search Network divided 375 // by the estimated number of impressions you were eligible to receive. 376 // Note: Search impression share is reported in the range of 0.1 to 1. Any 377 // value below 0.1 is reported as 0.0999. 378 SearchImpressionShare *wrappers.DoubleValue `protobuf:"bytes,50,opt,name=search_impression_share,json=searchImpressionShare,proto3" json:"search_impression_share,omitempty"` 379 // The number estimating how often your ad wasn't the very first ad above the 380 // organic search results due to poor Ad Rank. 381 // Note: Search rank lost absolute top impression share is reported in the 382 // range of 0 to 0.9. Any value above 0.9 is reported as 0.9001. 383 SearchRankLostAbsoluteTopImpressionShare *wrappers.DoubleValue `protobuf:"bytes,90,opt,name=search_rank_lost_absolute_top_impression_share,json=searchRankLostAbsoluteTopImpressionShare,proto3" json:"search_rank_lost_absolute_top_impression_share,omitempty"` 384 // The estimated percentage of impressions on the Search Network 385 // that your ads didn't receive due to poor Ad Rank. 386 // Note: Search rank lost impression share is reported in the range of 0 to 387 // 0.9. Any value above 0.9 is reported as 0.9001. 388 SearchRankLostImpressionShare *wrappers.DoubleValue `protobuf:"bytes,51,opt,name=search_rank_lost_impression_share,json=searchRankLostImpressionShare,proto3" json:"search_rank_lost_impression_share,omitempty"` 389 // The number estimating how often your ad didn't show anywhere above the 390 // organic search results due to poor Ad Rank. 391 // Note: Search rank lost top impression share is reported in the range of 0 392 // to 0.9. Any value above 0.9 is reported as 0.9001. 393 SearchRankLostTopImpressionShare *wrappers.DoubleValue `protobuf:"bytes,91,opt,name=search_rank_lost_top_impression_share,json=searchRankLostTopImpressionShare,proto3" json:"search_rank_lost_top_impression_share,omitempty"` 394 // The impressions you've received in the top location (anywhere above the 395 // organic search results) compared to the estimated number of impressions you 396 // were eligible to receive in the top location. 397 // Note: Search top impression share is reported in the range of 0.1 to 1. Any 398 // value below 0.1 is reported as 0.0999. 399 SearchTopImpressionShare *wrappers.DoubleValue `protobuf:"bytes,92,opt,name=search_top_impression_share,json=searchTopImpressionShare,proto3" json:"search_top_impression_share,omitempty"` 400 // A measure of how quickly your page loads after clicks on your mobile ads. 401 // The score is a range from 1 to 10, 10 being the fastest. 402 SpeedScore *wrappers.Int64Value `protobuf:"bytes,107,opt,name=speed_score,json=speedScore,proto3" json:"speed_score,omitempty"` 403 // The percent of your ad impressions that are shown anywhere above the 404 // organic search results. 405 TopImpressionPercentage *wrappers.DoubleValue `protobuf:"bytes,93,opt,name=top_impression_percentage,json=topImpressionPercentage,proto3" json:"top_impression_percentage,omitempty"` 406 // The percentage of ad clicks to Accelerated Mobile Pages (AMP) landing pages 407 // that reach a valid AMP page. 408 ValidAcceleratedMobilePagesClicksPercentage *wrappers.DoubleValue `protobuf:"bytes,108,opt,name=valid_accelerated_mobile_pages_clicks_percentage,json=validAcceleratedMobilePagesClicksPercentage,proto3" json:"valid_accelerated_mobile_pages_clicks_percentage,omitempty"` 409 // The value of all conversions divided by the number of all conversions. 410 ValuePerAllConversions *wrappers.DoubleValue `protobuf:"bytes,52,opt,name=value_per_all_conversions,json=valuePerAllConversions,proto3" json:"value_per_all_conversions,omitempty"` 411 // The value of conversions divided by the number of conversions. This only 412 // includes conversion actions which include_in_conversions_metric attribute 413 // is set to true. 414 ValuePerConversion *wrappers.DoubleValue `protobuf:"bytes,53,opt,name=value_per_conversion,json=valuePerConversion,proto3" json:"value_per_conversion,omitempty"` 415 // The value of current model attributed conversions divided by the number of 416 // the conversions. This only includes conversion actions which 417 // include_in_conversions_metric attribute is set to true. 418 ValuePerCurrentModelAttributedConversion *wrappers.DoubleValue `protobuf:"bytes,94,opt,name=value_per_current_model_attributed_conversion,json=valuePerCurrentModelAttributedConversion,proto3" json:"value_per_current_model_attributed_conversion,omitempty"` 419 // Percentage of impressions where the viewer watched all of your video. 420 VideoQuartile_100Rate *wrappers.DoubleValue `protobuf:"bytes,54,opt,name=video_quartile_100_rate,json=videoQuartile100Rate,proto3" json:"video_quartile_100_rate,omitempty"` 421 // Percentage of impressions where the viewer watched 25% of your video. 422 VideoQuartile_25Rate *wrappers.DoubleValue `protobuf:"bytes,55,opt,name=video_quartile_25_rate,json=videoQuartile25Rate,proto3" json:"video_quartile_25_rate,omitempty"` 423 // Percentage of impressions where the viewer watched 50% of your video. 424 VideoQuartile_50Rate *wrappers.DoubleValue `protobuf:"bytes,56,opt,name=video_quartile_50_rate,json=videoQuartile50Rate,proto3" json:"video_quartile_50_rate,omitempty"` 425 // Percentage of impressions where the viewer watched 75% of your video. 426 VideoQuartile_75Rate *wrappers.DoubleValue `protobuf:"bytes,57,opt,name=video_quartile_75_rate,json=videoQuartile75Rate,proto3" json:"video_quartile_75_rate,omitempty"` 427 // The number of views your TrueView video ad receives divided by its number 428 // of impressions, including thumbnail impressions for TrueView in-display 429 // ads. 430 VideoViewRate *wrappers.DoubleValue `protobuf:"bytes,58,opt,name=video_view_rate,json=videoViewRate,proto3" json:"video_view_rate,omitempty"` 431 // The number of times your video ads were viewed. 432 VideoViews *wrappers.Int64Value `protobuf:"bytes,59,opt,name=video_views,json=videoViews,proto3" json:"video_views,omitempty"` 433 // The total number of view-through conversions. 434 // These happen when a customer sees an image or rich media ad, then later 435 // completes a conversion on your site without interacting with (e.g., 436 // clicking on) another ad. 437 ViewThroughConversions *wrappers.Int64Value `protobuf:"bytes,60,opt,name=view_through_conversions,json=viewThroughConversions,proto3" json:"view_through_conversions,omitempty"` 438} 439 440func (x *Metrics) Reset() { 441 *x = Metrics{} 442 if protoimpl.UnsafeEnabled { 443 mi := &file_google_ads_googleads_v3_common_metrics_proto_msgTypes[0] 444 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 445 ms.StoreMessageInfo(mi) 446 } 447} 448 449func (x *Metrics) String() string { 450 return protoimpl.X.MessageStringOf(x) 451} 452 453func (*Metrics) ProtoMessage() {} 454 455func (x *Metrics) ProtoReflect() protoreflect.Message { 456 mi := &file_google_ads_googleads_v3_common_metrics_proto_msgTypes[0] 457 if protoimpl.UnsafeEnabled && x != nil { 458 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 459 if ms.LoadMessageInfo() == nil { 460 ms.StoreMessageInfo(mi) 461 } 462 return ms 463 } 464 return mi.MessageOf(x) 465} 466 467// Deprecated: Use Metrics.ProtoReflect.Descriptor instead. 468func (*Metrics) Descriptor() ([]byte, []int) { 469 return file_google_ads_googleads_v3_common_metrics_proto_rawDescGZIP(), []int{0} 470} 471 472func (x *Metrics) GetAbsoluteTopImpressionPercentage() *wrappers.DoubleValue { 473 if x != nil { 474 return x.AbsoluteTopImpressionPercentage 475 } 476 return nil 477} 478 479func (x *Metrics) GetActiveViewCpm() *wrappers.DoubleValue { 480 if x != nil { 481 return x.ActiveViewCpm 482 } 483 return nil 484} 485 486func (x *Metrics) GetActiveViewCtr() *wrappers.DoubleValue { 487 if x != nil { 488 return x.ActiveViewCtr 489 } 490 return nil 491} 492 493func (x *Metrics) GetActiveViewImpressions() *wrappers.Int64Value { 494 if x != nil { 495 return x.ActiveViewImpressions 496 } 497 return nil 498} 499 500func (x *Metrics) GetActiveViewMeasurability() *wrappers.DoubleValue { 501 if x != nil { 502 return x.ActiveViewMeasurability 503 } 504 return nil 505} 506 507func (x *Metrics) GetActiveViewMeasurableCostMicros() *wrappers.Int64Value { 508 if x != nil { 509 return x.ActiveViewMeasurableCostMicros 510 } 511 return nil 512} 513 514func (x *Metrics) GetActiveViewMeasurableImpressions() *wrappers.Int64Value { 515 if x != nil { 516 return x.ActiveViewMeasurableImpressions 517 } 518 return nil 519} 520 521func (x *Metrics) GetActiveViewViewability() *wrappers.DoubleValue { 522 if x != nil { 523 return x.ActiveViewViewability 524 } 525 return nil 526} 527 528func (x *Metrics) GetAllConversionsFromInteractionsRate() *wrappers.DoubleValue { 529 if x != nil { 530 return x.AllConversionsFromInteractionsRate 531 } 532 return nil 533} 534 535func (x *Metrics) GetAllConversionsValue() *wrappers.DoubleValue { 536 if x != nil { 537 return x.AllConversionsValue 538 } 539 return nil 540} 541 542func (x *Metrics) GetAllConversions() *wrappers.DoubleValue { 543 if x != nil { 544 return x.AllConversions 545 } 546 return nil 547} 548 549func (x *Metrics) GetAllConversionsValuePerCost() *wrappers.DoubleValue { 550 if x != nil { 551 return x.AllConversionsValuePerCost 552 } 553 return nil 554} 555 556func (x *Metrics) GetAllConversionsFromClickToCall() *wrappers.DoubleValue { 557 if x != nil { 558 return x.AllConversionsFromClickToCall 559 } 560 return nil 561} 562 563func (x *Metrics) GetAllConversionsFromDirections() *wrappers.DoubleValue { 564 if x != nil { 565 return x.AllConversionsFromDirections 566 } 567 return nil 568} 569 570func (x *Metrics) GetAllConversionsFromInteractionsValuePerInteraction() *wrappers.DoubleValue { 571 if x != nil { 572 return x.AllConversionsFromInteractionsValuePerInteraction 573 } 574 return nil 575} 576 577func (x *Metrics) GetAllConversionsFromMenu() *wrappers.DoubleValue { 578 if x != nil { 579 return x.AllConversionsFromMenu 580 } 581 return nil 582} 583 584func (x *Metrics) GetAllConversionsFromOrder() *wrappers.DoubleValue { 585 if x != nil { 586 return x.AllConversionsFromOrder 587 } 588 return nil 589} 590 591func (x *Metrics) GetAllConversionsFromOtherEngagement() *wrappers.DoubleValue { 592 if x != nil { 593 return x.AllConversionsFromOtherEngagement 594 } 595 return nil 596} 597 598func (x *Metrics) GetAllConversionsFromStoreVisit() *wrappers.DoubleValue { 599 if x != nil { 600 return x.AllConversionsFromStoreVisit 601 } 602 return nil 603} 604 605func (x *Metrics) GetAllConversionsFromStoreWebsite() *wrappers.DoubleValue { 606 if x != nil { 607 return x.AllConversionsFromStoreWebsite 608 } 609 return nil 610} 611 612func (x *Metrics) GetAverageCost() *wrappers.DoubleValue { 613 if x != nil { 614 return x.AverageCost 615 } 616 return nil 617} 618 619func (x *Metrics) GetAverageCpc() *wrappers.DoubleValue { 620 if x != nil { 621 return x.AverageCpc 622 } 623 return nil 624} 625 626func (x *Metrics) GetAverageCpe() *wrappers.DoubleValue { 627 if x != nil { 628 return x.AverageCpe 629 } 630 return nil 631} 632 633func (x *Metrics) GetAverageCpm() *wrappers.DoubleValue { 634 if x != nil { 635 return x.AverageCpm 636 } 637 return nil 638} 639 640func (x *Metrics) GetAverageCpv() *wrappers.DoubleValue { 641 if x != nil { 642 return x.AverageCpv 643 } 644 return nil 645} 646 647func (x *Metrics) GetAveragePageViews() *wrappers.DoubleValue { 648 if x != nil { 649 return x.AveragePageViews 650 } 651 return nil 652} 653 654func (x *Metrics) GetAverageTimeOnSite() *wrappers.DoubleValue { 655 if x != nil { 656 return x.AverageTimeOnSite 657 } 658 return nil 659} 660 661func (x *Metrics) GetBenchmarkAverageMaxCpc() *wrappers.DoubleValue { 662 if x != nil { 663 return x.BenchmarkAverageMaxCpc 664 } 665 return nil 666} 667 668func (x *Metrics) GetBenchmarkCtr() *wrappers.DoubleValue { 669 if x != nil { 670 return x.BenchmarkCtr 671 } 672 return nil 673} 674 675func (x *Metrics) GetBounceRate() *wrappers.DoubleValue { 676 if x != nil { 677 return x.BounceRate 678 } 679 return nil 680} 681 682func (x *Metrics) GetClicks() *wrappers.Int64Value { 683 if x != nil { 684 return x.Clicks 685 } 686 return nil 687} 688 689func (x *Metrics) GetCombinedClicks() *wrappers.Int64Value { 690 if x != nil { 691 return x.CombinedClicks 692 } 693 return nil 694} 695 696func (x *Metrics) GetCombinedClicksPerQuery() *wrappers.DoubleValue { 697 if x != nil { 698 return x.CombinedClicksPerQuery 699 } 700 return nil 701} 702 703func (x *Metrics) GetCombinedQueries() *wrappers.Int64Value { 704 if x != nil { 705 return x.CombinedQueries 706 } 707 return nil 708} 709 710func (x *Metrics) GetContentBudgetLostImpressionShare() *wrappers.DoubleValue { 711 if x != nil { 712 return x.ContentBudgetLostImpressionShare 713 } 714 return nil 715} 716 717func (x *Metrics) GetContentImpressionShare() *wrappers.DoubleValue { 718 if x != nil { 719 return x.ContentImpressionShare 720 } 721 return nil 722} 723 724func (x *Metrics) GetConversionLastReceivedRequestDateTime() *wrappers.StringValue { 725 if x != nil { 726 return x.ConversionLastReceivedRequestDateTime 727 } 728 return nil 729} 730 731func (x *Metrics) GetConversionLastConversionDate() *wrappers.StringValue { 732 if x != nil { 733 return x.ConversionLastConversionDate 734 } 735 return nil 736} 737 738func (x *Metrics) GetContentRankLostImpressionShare() *wrappers.DoubleValue { 739 if x != nil { 740 return x.ContentRankLostImpressionShare 741 } 742 return nil 743} 744 745func (x *Metrics) GetConversionsFromInteractionsRate() *wrappers.DoubleValue { 746 if x != nil { 747 return x.ConversionsFromInteractionsRate 748 } 749 return nil 750} 751 752func (x *Metrics) GetConversionsValue() *wrappers.DoubleValue { 753 if x != nil { 754 return x.ConversionsValue 755 } 756 return nil 757} 758 759func (x *Metrics) GetConversionsValuePerCost() *wrappers.DoubleValue { 760 if x != nil { 761 return x.ConversionsValuePerCost 762 } 763 return nil 764} 765 766func (x *Metrics) GetConversionsFromInteractionsValuePerInteraction() *wrappers.DoubleValue { 767 if x != nil { 768 return x.ConversionsFromInteractionsValuePerInteraction 769 } 770 return nil 771} 772 773func (x *Metrics) GetConversions() *wrappers.DoubleValue { 774 if x != nil { 775 return x.Conversions 776 } 777 return nil 778} 779 780func (x *Metrics) GetCostMicros() *wrappers.Int64Value { 781 if x != nil { 782 return x.CostMicros 783 } 784 return nil 785} 786 787func (x *Metrics) GetCostPerAllConversions() *wrappers.DoubleValue { 788 if x != nil { 789 return x.CostPerAllConversions 790 } 791 return nil 792} 793 794func (x *Metrics) GetCostPerConversion() *wrappers.DoubleValue { 795 if x != nil { 796 return x.CostPerConversion 797 } 798 return nil 799} 800 801func (x *Metrics) GetCostPerCurrentModelAttributedConversion() *wrappers.DoubleValue { 802 if x != nil { 803 return x.CostPerCurrentModelAttributedConversion 804 } 805 return nil 806} 807 808func (x *Metrics) GetCrossDeviceConversions() *wrappers.DoubleValue { 809 if x != nil { 810 return x.CrossDeviceConversions 811 } 812 return nil 813} 814 815func (x *Metrics) GetCtr() *wrappers.DoubleValue { 816 if x != nil { 817 return x.Ctr 818 } 819 return nil 820} 821 822func (x *Metrics) GetCurrentModelAttributedConversions() *wrappers.DoubleValue { 823 if x != nil { 824 return x.CurrentModelAttributedConversions 825 } 826 return nil 827} 828 829func (x *Metrics) GetCurrentModelAttributedConversionsFromInteractionsRate() *wrappers.DoubleValue { 830 if x != nil { 831 return x.CurrentModelAttributedConversionsFromInteractionsRate 832 } 833 return nil 834} 835 836func (x *Metrics) GetCurrentModelAttributedConversionsFromInteractionsValuePerInteraction() *wrappers.DoubleValue { 837 if x != nil { 838 return x.CurrentModelAttributedConversionsFromInteractionsValuePerInteraction 839 } 840 return nil 841} 842 843func (x *Metrics) GetCurrentModelAttributedConversionsValue() *wrappers.DoubleValue { 844 if x != nil { 845 return x.CurrentModelAttributedConversionsValue 846 } 847 return nil 848} 849 850func (x *Metrics) GetCurrentModelAttributedConversionsValuePerCost() *wrappers.DoubleValue { 851 if x != nil { 852 return x.CurrentModelAttributedConversionsValuePerCost 853 } 854 return nil 855} 856 857func (x *Metrics) GetEngagementRate() *wrappers.DoubleValue { 858 if x != nil { 859 return x.EngagementRate 860 } 861 return nil 862} 863 864func (x *Metrics) GetEngagements() *wrappers.Int64Value { 865 if x != nil { 866 return x.Engagements 867 } 868 return nil 869} 870 871func (x *Metrics) GetHotelAverageLeadValueMicros() *wrappers.DoubleValue { 872 if x != nil { 873 return x.HotelAverageLeadValueMicros 874 } 875 return nil 876} 877 878func (x *Metrics) GetHotelPriceDifferencePercentage() *wrappers.DoubleValue { 879 if x != nil { 880 return x.HotelPriceDifferencePercentage 881 } 882 return nil 883} 884 885func (x *Metrics) GetHistoricalCreativeQualityScore() enums.QualityScoreBucketEnum_QualityScoreBucket { 886 if x != nil { 887 return x.HistoricalCreativeQualityScore 888 } 889 return enums.QualityScoreBucketEnum_UNSPECIFIED 890} 891 892func (x *Metrics) GetHistoricalLandingPageQualityScore() enums.QualityScoreBucketEnum_QualityScoreBucket { 893 if x != nil { 894 return x.HistoricalLandingPageQualityScore 895 } 896 return enums.QualityScoreBucketEnum_UNSPECIFIED 897} 898 899func (x *Metrics) GetHistoricalQualityScore() *wrappers.Int64Value { 900 if x != nil { 901 return x.HistoricalQualityScore 902 } 903 return nil 904} 905 906func (x *Metrics) GetHistoricalSearchPredictedCtr() enums.QualityScoreBucketEnum_QualityScoreBucket { 907 if x != nil { 908 return x.HistoricalSearchPredictedCtr 909 } 910 return enums.QualityScoreBucketEnum_UNSPECIFIED 911} 912 913func (x *Metrics) GetGmailForwards() *wrappers.Int64Value { 914 if x != nil { 915 return x.GmailForwards 916 } 917 return nil 918} 919 920func (x *Metrics) GetGmailSaves() *wrappers.Int64Value { 921 if x != nil { 922 return x.GmailSaves 923 } 924 return nil 925} 926 927func (x *Metrics) GetGmailSecondaryClicks() *wrappers.Int64Value { 928 if x != nil { 929 return x.GmailSecondaryClicks 930 } 931 return nil 932} 933 934func (x *Metrics) GetImpressionsFromStoreReach() *wrappers.Int64Value { 935 if x != nil { 936 return x.ImpressionsFromStoreReach 937 } 938 return nil 939} 940 941func (x *Metrics) GetImpressions() *wrappers.Int64Value { 942 if x != nil { 943 return x.Impressions 944 } 945 return nil 946} 947 948func (x *Metrics) GetInteractionRate() *wrappers.DoubleValue { 949 if x != nil { 950 return x.InteractionRate 951 } 952 return nil 953} 954 955func (x *Metrics) GetInteractions() *wrappers.Int64Value { 956 if x != nil { 957 return x.Interactions 958 } 959 return nil 960} 961 962func (x *Metrics) GetInteractionEventTypes() []enums.InteractionEventTypeEnum_InteractionEventType { 963 if x != nil { 964 return x.InteractionEventTypes 965 } 966 return nil 967} 968 969func (x *Metrics) GetInvalidClickRate() *wrappers.DoubleValue { 970 if x != nil { 971 return x.InvalidClickRate 972 } 973 return nil 974} 975 976func (x *Metrics) GetInvalidClicks() *wrappers.Int64Value { 977 if x != nil { 978 return x.InvalidClicks 979 } 980 return nil 981} 982 983func (x *Metrics) GetMessageChats() *wrappers.Int64Value { 984 if x != nil { 985 return x.MessageChats 986 } 987 return nil 988} 989 990func (x *Metrics) GetMessageImpressions() *wrappers.Int64Value { 991 if x != nil { 992 return x.MessageImpressions 993 } 994 return nil 995} 996 997func (x *Metrics) GetMessageChatRate() *wrappers.DoubleValue { 998 if x != nil { 999 return x.MessageChatRate 1000 } 1001 return nil 1002} 1003 1004func (x *Metrics) GetMobileFriendlyClicksPercentage() *wrappers.DoubleValue { 1005 if x != nil { 1006 return x.MobileFriendlyClicksPercentage 1007 } 1008 return nil 1009} 1010 1011func (x *Metrics) GetOrganicClicks() *wrappers.Int64Value { 1012 if x != nil { 1013 return x.OrganicClicks 1014 } 1015 return nil 1016} 1017 1018func (x *Metrics) GetOrganicClicksPerQuery() *wrappers.DoubleValue { 1019 if x != nil { 1020 return x.OrganicClicksPerQuery 1021 } 1022 return nil 1023} 1024 1025func (x *Metrics) GetOrganicImpressions() *wrappers.Int64Value { 1026 if x != nil { 1027 return x.OrganicImpressions 1028 } 1029 return nil 1030} 1031 1032func (x *Metrics) GetOrganicImpressionsPerQuery() *wrappers.DoubleValue { 1033 if x != nil { 1034 return x.OrganicImpressionsPerQuery 1035 } 1036 return nil 1037} 1038 1039func (x *Metrics) GetOrganicQueries() *wrappers.Int64Value { 1040 if x != nil { 1041 return x.OrganicQueries 1042 } 1043 return nil 1044} 1045 1046func (x *Metrics) GetPercentNewVisitors() *wrappers.DoubleValue { 1047 if x != nil { 1048 return x.PercentNewVisitors 1049 } 1050 return nil 1051} 1052 1053func (x *Metrics) GetPhoneCalls() *wrappers.Int64Value { 1054 if x != nil { 1055 return x.PhoneCalls 1056 } 1057 return nil 1058} 1059 1060func (x *Metrics) GetPhoneImpressions() *wrappers.Int64Value { 1061 if x != nil { 1062 return x.PhoneImpressions 1063 } 1064 return nil 1065} 1066 1067func (x *Metrics) GetPhoneThroughRate() *wrappers.DoubleValue { 1068 if x != nil { 1069 return x.PhoneThroughRate 1070 } 1071 return nil 1072} 1073 1074func (x *Metrics) GetRelativeCtr() *wrappers.DoubleValue { 1075 if x != nil { 1076 return x.RelativeCtr 1077 } 1078 return nil 1079} 1080 1081func (x *Metrics) GetSearchAbsoluteTopImpressionShare() *wrappers.DoubleValue { 1082 if x != nil { 1083 return x.SearchAbsoluteTopImpressionShare 1084 } 1085 return nil 1086} 1087 1088func (x *Metrics) GetSearchBudgetLostAbsoluteTopImpressionShare() *wrappers.DoubleValue { 1089 if x != nil { 1090 return x.SearchBudgetLostAbsoluteTopImpressionShare 1091 } 1092 return nil 1093} 1094 1095func (x *Metrics) GetSearchBudgetLostImpressionShare() *wrappers.DoubleValue { 1096 if x != nil { 1097 return x.SearchBudgetLostImpressionShare 1098 } 1099 return nil 1100} 1101 1102func (x *Metrics) GetSearchBudgetLostTopImpressionShare() *wrappers.DoubleValue { 1103 if x != nil { 1104 return x.SearchBudgetLostTopImpressionShare 1105 } 1106 return nil 1107} 1108 1109func (x *Metrics) GetSearchClickShare() *wrappers.DoubleValue { 1110 if x != nil { 1111 return x.SearchClickShare 1112 } 1113 return nil 1114} 1115 1116func (x *Metrics) GetSearchExactMatchImpressionShare() *wrappers.DoubleValue { 1117 if x != nil { 1118 return x.SearchExactMatchImpressionShare 1119 } 1120 return nil 1121} 1122 1123func (x *Metrics) GetSearchImpressionShare() *wrappers.DoubleValue { 1124 if x != nil { 1125 return x.SearchImpressionShare 1126 } 1127 return nil 1128} 1129 1130func (x *Metrics) GetSearchRankLostAbsoluteTopImpressionShare() *wrappers.DoubleValue { 1131 if x != nil { 1132 return x.SearchRankLostAbsoluteTopImpressionShare 1133 } 1134 return nil 1135} 1136 1137func (x *Metrics) GetSearchRankLostImpressionShare() *wrappers.DoubleValue { 1138 if x != nil { 1139 return x.SearchRankLostImpressionShare 1140 } 1141 return nil 1142} 1143 1144func (x *Metrics) GetSearchRankLostTopImpressionShare() *wrappers.DoubleValue { 1145 if x != nil { 1146 return x.SearchRankLostTopImpressionShare 1147 } 1148 return nil 1149} 1150 1151func (x *Metrics) GetSearchTopImpressionShare() *wrappers.DoubleValue { 1152 if x != nil { 1153 return x.SearchTopImpressionShare 1154 } 1155 return nil 1156} 1157 1158func (x *Metrics) GetSpeedScore() *wrappers.Int64Value { 1159 if x != nil { 1160 return x.SpeedScore 1161 } 1162 return nil 1163} 1164 1165func (x *Metrics) GetTopImpressionPercentage() *wrappers.DoubleValue { 1166 if x != nil { 1167 return x.TopImpressionPercentage 1168 } 1169 return nil 1170} 1171 1172func (x *Metrics) GetValidAcceleratedMobilePagesClicksPercentage() *wrappers.DoubleValue { 1173 if x != nil { 1174 return x.ValidAcceleratedMobilePagesClicksPercentage 1175 } 1176 return nil 1177} 1178 1179func (x *Metrics) GetValuePerAllConversions() *wrappers.DoubleValue { 1180 if x != nil { 1181 return x.ValuePerAllConversions 1182 } 1183 return nil 1184} 1185 1186func (x *Metrics) GetValuePerConversion() *wrappers.DoubleValue { 1187 if x != nil { 1188 return x.ValuePerConversion 1189 } 1190 return nil 1191} 1192 1193func (x *Metrics) GetValuePerCurrentModelAttributedConversion() *wrappers.DoubleValue { 1194 if x != nil { 1195 return x.ValuePerCurrentModelAttributedConversion 1196 } 1197 return nil 1198} 1199 1200func (x *Metrics) GetVideoQuartile_100Rate() *wrappers.DoubleValue { 1201 if x != nil { 1202 return x.VideoQuartile_100Rate 1203 } 1204 return nil 1205} 1206 1207func (x *Metrics) GetVideoQuartile_25Rate() *wrappers.DoubleValue { 1208 if x != nil { 1209 return x.VideoQuartile_25Rate 1210 } 1211 return nil 1212} 1213 1214func (x *Metrics) GetVideoQuartile_50Rate() *wrappers.DoubleValue { 1215 if x != nil { 1216 return x.VideoQuartile_50Rate 1217 } 1218 return nil 1219} 1220 1221func (x *Metrics) GetVideoQuartile_75Rate() *wrappers.DoubleValue { 1222 if x != nil { 1223 return x.VideoQuartile_75Rate 1224 } 1225 return nil 1226} 1227 1228func (x *Metrics) GetVideoViewRate() *wrappers.DoubleValue { 1229 if x != nil { 1230 return x.VideoViewRate 1231 } 1232 return nil 1233} 1234 1235func (x *Metrics) GetVideoViews() *wrappers.Int64Value { 1236 if x != nil { 1237 return x.VideoViews 1238 } 1239 return nil 1240} 1241 1242func (x *Metrics) GetViewThroughConversions() *wrappers.Int64Value { 1243 if x != nil { 1244 return x.ViewThroughConversions 1245 } 1246 return nil 1247} 1248 1249var File_google_ads_googleads_v3_common_metrics_proto protoreflect.FileDescriptor 1250 1251var file_google_ads_googleads_v3_common_metrics_proto_rawDesc = []byte{ 1252 0x0a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 1253 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 1254 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 1255 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1256 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x1a, 0x3a, 1257 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1258 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x69, 0x6e, 1259 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 1260 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x38, 0x67, 0x6f, 0x6f, 0x67, 1261 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 1262 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 1263 0x79, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x70, 1264 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 1265 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 1266 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 1267 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 1268 0x74, 0x6f, 0x22, 0xc5, 0x4f, 0x0a, 0x07, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x69, 1269 0x0a, 0x22, 0x61, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x5f, 0x74, 0x6f, 0x70, 0x5f, 0x69, 1270 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 1271 0x74, 0x61, 0x67, 0x65, 0x18, 0x5f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 1272 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 1273 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1f, 0x61, 0x62, 0x73, 0x6f, 0x6c, 0x75, 1274 0x74, 0x65, 0x54, 0x6f, 0x70, 0x49, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x50, 1275 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, 0x44, 0x0a, 0x0f, 0x61, 0x63, 0x74, 1276 0x69, 0x76, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x63, 0x70, 0x6d, 0x18, 0x01, 0x20, 0x01, 1277 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 1278 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 1279 0x52, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x56, 0x69, 0x65, 0x77, 0x43, 0x70, 0x6d, 0x12, 1280 0x44, 0x0a, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x63, 1281 0x74, 0x72, 0x18, 0x4f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1282 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 1283 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x56, 0x69, 1284 0x65, 0x77, 0x43, 0x74, 0x72, 0x12, 0x53, 0x0a, 0x17, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 1285 0x76, 0x69, 0x65, 0x77, 0x5f, 0x69, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 1286 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 1287 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 1288 0x6c, 0x75, 0x65, 0x52, 0x15, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x56, 0x69, 0x65, 0x77, 0x49, 1289 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x58, 0x0a, 0x19, 0x61, 0x63, 1290 0x74, 0x69, 0x76, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 1291 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x60, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 1292 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 1293 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x17, 0x61, 0x63, 0x74, 1294 0x69, 0x76, 0x65, 0x56, 0x69, 0x65, 0x77, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x61, 0x62, 0x69, 1295 0x6c, 0x69, 0x74, 0x79, 0x12, 0x67, 0x0a, 0x22, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x76, 1296 0x69, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 1297 0x6f, 0x73, 0x74, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 1298 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 1299 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1e, 0x61, 1300 0x63, 0x74, 0x69, 0x76, 0x65, 0x56, 0x69, 0x65, 0x77, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x61, 1301 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x12, 0x68, 0x0a, 1302 0x22, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x61, 1303 0x73, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 1304 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1305 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 1306 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x56, 0x69, 1307 0x65, 0x77, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6d, 0x70, 0x72, 1308 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x54, 0x0a, 0x17, 0x61, 0x63, 0x74, 0x69, 0x76, 1309 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x61, 0x62, 0x69, 0x6c, 0x69, 1310 0x74, 0x79, 0x18, 0x61, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1311 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 1312 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x56, 0x69, 1313 0x65, 0x77, 0x56, 0x69, 0x65, 0x77, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x70, 0x0a, 1314 0x26, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 1315 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 1316 0x6e, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x41, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 1317 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 1318 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x22, 0x61, 0x6c, 0x6c, 1319 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x49, 1320 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x61, 0x74, 0x65, 0x12, 1321 0x50, 0x0a, 0x15, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 1322 0x6e, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x42, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 1323 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 1324 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x61, 0x6c, 1325 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x61, 0x6c, 0x75, 1326 0x65, 0x12, 0x45, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 1327 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 1328 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 1329 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 1330 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x60, 0x0a, 0x1e, 0x61, 0x6c, 0x6c, 0x5f, 1331 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x75, 1332 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x0b, 1333 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 1334 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1a, 1335 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x61, 1336 0x6c, 0x75, 0x65, 0x50, 0x65, 0x72, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x67, 0x0a, 0x22, 0x61, 0x6c, 1337 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x66, 0x72, 1338 0x6f, 0x6d, 0x5f, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 1339 0x18, 0x76, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 1340 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 1341 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1d, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 1342 0x69, 0x6f, 0x6e, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x54, 0x6f, 0x43, 1343 0x61, 0x6c, 0x6c, 0x12, 0x63, 0x0a, 0x1f, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 1344 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x64, 0x69, 0x72, 0x65, 1345 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x77, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 1346 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 1347 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1c, 0x61, 0x6c, 0x6c, 0x43, 1348 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x44, 0x69, 1349 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x90, 0x01, 0x0a, 0x37, 0x61, 0x6c, 0x6c, 1350 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x66, 0x72, 0x6f, 1351 0x6d, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x76, 1352 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 1353 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x43, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 1354 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 1355 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x31, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 1356 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x49, 0x6e, 0x74, 0x65, 1357 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x65, 0x72, 1358 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x57, 0x0a, 0x19, 0x61, 1359 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x66, 1360 0x72, 0x6f, 0x6d, 0x5f, 0x6d, 0x65, 0x6e, 0x75, 0x18, 0x78, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 1361 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 1362 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x61, 0x6c, 1363 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x46, 0x72, 0x6f, 0x6d, 1364 0x4d, 0x65, 0x6e, 0x75, 0x12, 0x59, 0x0a, 0x1a, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 1365 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x6f, 0x72, 0x64, 1366 0x65, 0x72, 0x18, 0x79, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1367 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 1368 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x17, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 1369 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 1370 0x6e, 0x0a, 0x25, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 1371 0x6e, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x65, 0x6e, 1372 0x67, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x7a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 1373 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 1374 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x21, 0x61, 0x6c, 1375 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x46, 0x72, 0x6f, 0x6d, 1376 0x4f, 0x74, 0x68, 0x65, 0x72, 0x45, 0x6e, 0x67, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 1377 0x64, 0x0a, 0x20, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 1378 0x6e, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x76, 0x69, 1379 0x73, 0x69, 0x74, 0x18, 0x7b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1380 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 1381 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1c, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x76, 1382 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x74, 0x6f, 0x72, 0x65, 1383 0x56, 0x69, 0x73, 0x69, 0x74, 0x12, 0x68, 0x0a, 0x22, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 1384 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x74, 1385 0x6f, 0x72, 0x65, 0x5f, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x18, 0x7c, 0x20, 0x01, 0x28, 1386 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 1387 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 1388 0x1e, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x46, 1389 0x72, 0x6f, 0x6d, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 1390 0x3f, 0x0a, 0x0c, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 1391 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 1392 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 1393 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 1394 0x12, 0x3d, 0x0a, 0x0b, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x70, 0x63, 0x18, 1395 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 1396 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 1397 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x43, 0x70, 0x63, 0x12, 1398 0x3d, 0x0a, 0x0b, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x70, 0x65, 0x18, 0x62, 1399 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 1400 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 1401 0x75, 0x65, 0x52, 0x0a, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x43, 0x70, 0x65, 0x12, 0x3d, 1402 0x0a, 0x0b, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x70, 0x6d, 0x18, 0x0a, 0x20, 1403 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 1404 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 1405 0x65, 0x52, 0x0a, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x43, 0x70, 0x6d, 0x12, 0x3d, 0x0a, 1406 0x0b, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x70, 0x76, 0x18, 0x0b, 0x20, 0x01, 1407 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 1408 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 1409 0x52, 0x0a, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x43, 0x70, 0x76, 0x12, 0x4a, 0x0a, 0x12, 1410 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x76, 0x69, 0x65, 1411 0x77, 0x73, 0x18, 0x63, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1412 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 1413 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x50, 1414 0x61, 0x67, 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x12, 0x4d, 0x0a, 0x14, 0x61, 0x76, 0x65, 0x72, 1415 0x61, 0x67, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x74, 0x65, 1416 0x18, 0x54, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 1417 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 1418 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x54, 0x69, 0x6d, 1419 0x65, 0x4f, 0x6e, 0x53, 0x69, 0x74, 0x65, 0x12, 0x57, 0x0a, 0x19, 0x62, 0x65, 0x6e, 0x63, 0x68, 1420 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x78, 1421 0x5f, 0x63, 0x70, 0x63, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 1422 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 1423 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x62, 0x65, 0x6e, 0x63, 0x68, 0x6d, 1424 0x61, 0x72, 0x6b, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x78, 0x43, 0x70, 0x63, 1425 0x12, 0x41, 0x0a, 0x0d, 0x62, 0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x63, 0x74, 1426 0x72, 0x18, 0x4d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1427 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 1428 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x62, 0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72, 0x6b, 1429 0x43, 0x74, 0x72, 0x12, 0x3d, 0x0a, 0x0b, 0x62, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x61, 1430 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1431 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 1432 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x62, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x52, 0x61, 1433 0x74, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x73, 0x18, 0x13, 0x20, 0x01, 1434 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 1435 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 1436 0x06, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x73, 0x12, 0x44, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x62, 0x69, 1437 0x6e, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x73, 0x18, 0x73, 0x20, 0x01, 0x28, 0x0b, 1438 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 1439 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x63, 1440 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x64, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x73, 0x12, 0x57, 0x0a, 1441 0x19, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x73, 1442 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x74, 0x20, 0x01, 0x28, 0x0b, 1443 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 1444 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 1445 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x64, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x73, 0x50, 0x65, 1446 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x46, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 1447 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x75, 0x20, 0x01, 0x28, 0x0b, 1448 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 1449 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x63, 1450 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x6c, 1451 0x0a, 0x24, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 1452 0x5f, 0x6c, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 1453 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 1454 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 1455 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x20, 0x63, 0x6f, 0x6e, 0x74, 1456 0x65, 0x6e, 0x74, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x4c, 0x6f, 0x73, 0x74, 0x49, 0x6d, 0x70, 1457 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x56, 0x0a, 0x18, 1458 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 1459 0x6f, 0x6e, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 1460 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 1461 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x63, 0x6f, 1462 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 1463 0x68, 0x61, 0x72, 0x65, 0x12, 0x77, 0x0a, 0x2a, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 1464 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 1465 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 1466 0x6d, 0x65, 0x18, 0x49, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1467 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 1468 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x25, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 1469 0x6f, 0x6e, 0x4c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x52, 0x65, 1470 0x71, 0x75, 0x65, 0x73, 0x74, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x63, 0x0a, 1471 0x1f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x73, 0x74, 1472 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 1473 0x18, 0x4a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 1474 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 1475 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 1476 0x4c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x61, 1477 0x74, 0x65, 0x12, 0x68, 0x0a, 0x22, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 1478 0x6e, 0x6b, 0x5f, 0x6c, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 1479 0x6f, 0x6e, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 1480 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 1481 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1e, 0x63, 0x6f, 1482 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x6f, 0x73, 0x74, 0x49, 0x6d, 0x70, 1483 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x69, 0x0a, 0x22, 1484 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 1485 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x61, 1486 0x74, 0x65, 0x18, 0x45, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1487 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 1488 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 1489 0x6f, 0x6e, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 1490 0x6f, 0x6e, 0x73, 0x52, 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x76, 0x65, 1491 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x46, 0x20, 0x01, 1492 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 1493 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 1494 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x61, 0x6c, 1495 0x75, 0x65, 0x12, 0x59, 0x0a, 0x1a, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 1496 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x73, 0x74, 1497 0x18, 0x47, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 1498 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 1499 0x61, 0x6c, 0x75, 0x65, 0x52, 0x17, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 1500 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x65, 0x72, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x89, 0x01, 1501 0x0a, 0x33, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x66, 0x72, 1502 0x6f, 0x6d, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 1503 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 1504 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x48, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 1505 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 1506 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x2e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 1507 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 1508 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, 1509 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 1510 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 1511 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 1512 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x63, 0x6f, 1513 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x0a, 0x0b, 0x63, 0x6f, 0x73, 1514 0x74, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 1515 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 1516 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x73, 1517 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x12, 0x55, 0x0a, 0x18, 0x63, 0x6f, 0x73, 0x74, 0x5f, 1518 0x70, 0x65, 0x72, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 1519 0x6f, 0x6e, 0x73, 0x18, 0x44, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1520 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 1521 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x63, 0x6f, 0x73, 0x74, 0x50, 0x65, 0x72, 1522 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4c, 1523 0x0a, 0x13, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 1524 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 1525 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 1526 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x63, 0x6f, 0x73, 0x74, 0x50, 1527 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x7b, 0x0a, 0x2c, 1528 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 1529 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 1530 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x6a, 0x20, 0x01, 1531 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 1532 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 1533 0x52, 0x27, 0x63, 0x6f, 0x73, 0x74, 0x50, 0x65, 0x72, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 1534 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x43, 1535 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x18, 0x63, 0x72, 0x6f, 1536 0x73, 0x73, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 1537 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 1538 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 1539 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x63, 0x72, 0x6f, 0x73, 0x73, 1540 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 1541 0x73, 0x12, 0x2e, 0x0a, 0x03, 0x63, 0x74, 0x72, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 1542 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 1543 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x63, 0x74, 1544 0x72, 0x12, 0x6d, 0x0a, 0x24, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 1545 0x65, 0x6c, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 1546 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 1547 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 1548 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x21, 0x63, 1549 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x41, 0x74, 0x74, 0x72, 0x69, 1550 0x62, 0x75, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 1551 0x12, 0x98, 0x01, 0x0a, 0x3b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 1552 0x65, 0x6c, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 1553 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x69, 1554 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 1555 0x18, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 1556 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 1557 0x61, 0x6c, 0x75, 0x65, 0x52, 0x35, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x64, 1558 0x65, 0x6c, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x76, 1559 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x49, 0x6e, 0x74, 0x65, 0x72, 1560 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x61, 0x74, 0x65, 0x12, 0xb8, 0x01, 0x0a, 0x4c, 1561 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x61, 0x74, 1562 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 1563 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 1564 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x70, 0x65, 0x72, 1565 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x67, 0x20, 0x01, 1566 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 1567 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 1568 0x52, 0x44, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x41, 0x74, 1569 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 1570 0x6f, 0x6e, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 1571 0x6f, 0x6e, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 1572 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x78, 0x0a, 0x2a, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 1573 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 1574 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x76, 1575 0x61, 0x6c, 0x75, 0x65, 0x18, 0x68, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 1576 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 1577 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x26, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 1578 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 1579 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 1580 0x12, 0x88, 0x01, 0x0a, 0x33, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 1581 0x65, 0x6c, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 1582 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 1583 0x70, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x69, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 1584 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 1585 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x2d, 0x63, 0x75, 1586 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 1587 0x75, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x56, 1588 0x61, 0x6c, 0x75, 0x65, 0x50, 0x65, 0x72, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0f, 0x65, 1589 0x6e, 0x67, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x1f, 1590 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 1591 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 1592 0x75, 0x65, 0x52, 0x0e, 0x65, 0x6e, 0x67, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 1593 0x74, 0x65, 0x12, 0x3d, 0x0a, 0x0b, 0x65, 0x6e, 0x67, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 1594 0x73, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1595 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 1596 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x65, 0x6e, 0x67, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 1597 0x73, 0x12, 0x62, 0x0a, 0x1f, 0x68, 0x6f, 0x74, 0x65, 0x6c, 0x5f, 0x61, 0x76, 0x65, 0x72, 0x61, 1598 0x67, 0x65, 0x5f, 0x6c, 0x65, 0x61, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6d, 0x69, 1599 0x63, 0x72, 0x6f, 0x73, 0x18, 0x4b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 1600 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 1601 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1b, 0x68, 0x6f, 0x74, 0x65, 0x6c, 0x41, 1602 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x65, 0x61, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 1603 0x69, 0x63, 0x72, 0x6f, 0x73, 0x12, 0x68, 0x0a, 0x21, 0x68, 0x6f, 0x74, 0x65, 0x6c, 0x5f, 0x70, 1604 0x72, 0x69, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 1605 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x81, 0x01, 0x20, 0x01, 0x28, 1606 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 1607 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 1608 0x1e, 0x68, 0x6f, 0x74, 0x65, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x44, 0x69, 0x66, 0x66, 0x65, 1609 0x72, 0x65, 0x6e, 0x63, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, 1610 0x93, 0x01, 0x0a, 0x21, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x63, 1611 0x72, 0x65, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 1612 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x50, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x48, 0x2e, 0x67, 0x6f, 1613 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 1614 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x51, 0x75, 0x61, 0x6c, 1615 0x69, 0x74, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x6e, 1616 0x75, 0x6d, 0x2e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x42, 1617 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x1e, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 1618 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x76, 0x65, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 1619 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x9a, 0x01, 0x0a, 0x25, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 1620 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x6c, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x67, 1621 0x65, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 1622 0x51, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 1623 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 1624 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x63, 0x6f, 1625 0x72, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x51, 0x75, 0x61, 1626 0x6c, 0x69, 0x74, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 1627 0x21, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x4c, 0x61, 0x6e, 0x64, 0x69, 1628 0x6e, 0x67, 0x50, 0x61, 0x67, 0x65, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x63, 0x6f, 1629 0x72, 0x65, 0x12, 0x55, 0x0a, 0x18, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 1630 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x52, 1631 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 1632 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 1633 0x65, 0x52, 0x16, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x51, 0x75, 0x61, 1634 0x6c, 0x69, 0x74, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x8f, 0x01, 0x0a, 0x1f, 0x68, 0x69, 1635 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 1636 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x74, 0x72, 0x18, 0x53, 0x20, 1637 0x01, 0x28, 0x0e, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 1638 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x65, 0x6e, 1639 0x75, 0x6d, 0x73, 0x2e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 1640 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x51, 0x75, 0x61, 0x6c, 0x69, 1641 0x74, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x1c, 0x68, 1642 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 1643 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x65, 0x64, 0x43, 0x74, 0x72, 0x12, 0x42, 0x0a, 0x0e, 0x67, 1644 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x55, 0x20, 1645 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 1646 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 1647 0x52, 0x0d, 0x67, 0x6d, 0x61, 0x69, 0x6c, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 1648 0x3c, 0x0a, 0x0b, 0x67, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x73, 0x61, 0x76, 0x65, 0x73, 0x18, 0x56, 1649 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 1650 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 1651 0x65, 0x52, 0x0a, 0x67, 0x6d, 0x61, 0x69, 0x6c, 0x53, 0x61, 0x76, 0x65, 0x73, 0x12, 0x51, 0x0a, 1652 0x16, 0x67, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 1653 0x5f, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x73, 0x18, 0x57, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 1654 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 1655 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x67, 0x6d, 0x61, 0x69, 1656 0x6c, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x73, 1657 0x12, 0x5c, 0x0a, 0x1c, 0x69, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 1658 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x63, 0x68, 1659 0x18, 0x7d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 1660 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 1661 0x6c, 0x75, 0x65, 0x52, 0x19, 0x69, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 1662 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x61, 0x63, 0x68, 0x12, 0x3d, 1663 0x0a, 0x0b, 0x69, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x25, 0x20, 1664 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 1665 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 1666 0x52, 0x0b, 0x69, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x47, 0x0a, 1667 0x10, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x74, 1668 0x65, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1669 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 1670 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 1671 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 1672 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 1673 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 1674 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72, 1675 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x84, 0x01, 0x0a, 0x17, 0x69, 0x6e, 0x74, 0x65, 1676 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 1677 0x70, 0x65, 0x73, 0x18, 0x64, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x4c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1678 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 1679 0x2e, 0x76, 0x33, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 1680 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x45, 0x6e, 1681 0x75, 0x6d, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 1682 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x15, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 1683 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x4a, 1684 0x0a, 0x12, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x5f, 1685 0x72, 0x61, 0x74, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 1686 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 1687 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 1688 0x64, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x52, 0x61, 0x74, 0x65, 0x12, 0x42, 0x0a, 0x0e, 0x69, 0x6e, 1689 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x73, 0x18, 0x29, 0x20, 0x01, 1690 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 1691 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 1692 0x0d, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x73, 0x12, 0x40, 1693 0x0a, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x74, 0x73, 0x18, 1694 0x7e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 1695 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 1696 0x75, 0x65, 0x52, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x68, 0x61, 0x74, 0x73, 1697 0x12, 0x4c, 0x0a, 0x13, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6d, 0x70, 0x72, 1698 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x7f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 1699 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 1700 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x6d, 0x65, 0x73, 0x73, 1701 0x61, 0x67, 0x65, 0x49, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x49, 1702 0x0a, 0x11, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x72, 1703 0x61, 0x74, 0x65, 0x18, 0x80, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 1704 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 1705 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 1706 0x65, 0x43, 0x68, 0x61, 0x74, 0x52, 0x61, 0x74, 0x65, 0x12, 0x67, 0x0a, 0x21, 0x6d, 0x6f, 0x62, 1707 0x69, 0x6c, 0x65, 0x5f, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x5f, 0x63, 0x6c, 0x69, 1708 0x63, 0x6b, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x6d, 1709 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 1710 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 1711 0x75, 0x65, 0x52, 0x1e, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 1712 0x6c, 0x79, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 1713 0x67, 0x65, 0x12, 0x42, 0x0a, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x63, 0x5f, 0x63, 0x6c, 1714 0x69, 0x63, 0x6b, 0x73, 0x18, 0x6e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 1715 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 1716 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x63, 1717 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x73, 0x12, 0x55, 0x0a, 0x18, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 1718 0x63, 0x5f, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x71, 0x75, 0x65, 1719 0x72, 0x79, 0x18, 0x6f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1720 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 1721 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x63, 0x43, 1722 0x6c, 0x69, 0x63, 0x6b, 0x73, 0x50, 0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x4c, 0x0a, 1723 0x13, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x63, 0x5f, 0x69, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 1724 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x70, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 1725 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 1726 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x63, 1727 0x49, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5f, 0x0a, 0x1d, 0x6f, 1728 0x72, 0x67, 0x61, 0x6e, 0x69, 0x63, 0x5f, 0x69, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 1729 0x6e, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x71, 0x20, 0x01, 1730 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 1731 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 1732 0x52, 0x1a, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x63, 0x49, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 1733 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x44, 0x0a, 0x0f, 1734 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x63, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 1735 0x72, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 1736 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 1737 0x75, 0x65, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x63, 0x51, 0x75, 0x65, 0x72, 0x69, 1738 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x14, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x65, 1739 0x77, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0b, 1740 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 1741 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 1742 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x4e, 0x65, 0x77, 0x56, 0x69, 0x73, 0x69, 0x74, 0x6f, 1743 0x72, 0x73, 0x12, 0x3c, 0x0a, 0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 1744 0x73, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1745 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 1746 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x73, 1747 0x12, 0x48, 0x0a, 0x11, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x6d, 0x70, 0x72, 0x65, 0x73, 1748 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 1749 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 1750 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x49, 1751 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4a, 0x0a, 0x12, 0x70, 0x68, 1752 0x6f, 0x6e, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x5f, 0x72, 0x61, 0x74, 0x65, 1753 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 1754 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 1755 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x54, 0x68, 0x72, 0x6f, 0x75, 1756 0x67, 0x68, 0x52, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 1757 0x76, 0x65, 0x5f, 0x63, 0x74, 0x72, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 1758 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 1759 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x72, 0x65, 0x6c, 0x61, 1760 0x74, 0x69, 0x76, 0x65, 0x43, 0x74, 0x72, 0x12, 0x6c, 0x0a, 0x24, 0x73, 0x65, 0x61, 0x72, 0x63, 1761 0x68, 0x5f, 0x61, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x5f, 0x74, 0x6f, 0x70, 0x5f, 0x69, 1762 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 1763 0x4e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 1764 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 1765 0x6c, 0x75, 0x65, 0x52, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x62, 0x73, 0x6f, 0x6c, 1766 0x75, 0x74, 0x65, 0x54, 0x6f, 0x70, 0x49, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 1767 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x82, 0x01, 0x0a, 0x30, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 1768 0x5f, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x73, 0x74, 0x5f, 0x61, 0x62, 0x73, 1769 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x5f, 0x74, 0x6f, 0x70, 0x5f, 0x69, 0x6d, 0x70, 0x72, 0x65, 0x73, 1770 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x58, 0x20, 0x01, 0x28, 0x0b, 1771 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 1772 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x2a, 1773 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x4c, 0x6f, 0x73, 0x74, 1774 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x54, 0x6f, 0x70, 0x49, 0x6d, 0x70, 0x72, 0x65, 1775 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x6a, 0x0a, 0x23, 0x73, 0x65, 1776 0x61, 0x72, 0x63, 0x68, 0x5f, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x73, 0x74, 1777 0x5f, 0x69, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x68, 0x61, 0x72, 1778 0x65, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1779 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 1780 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, 0x75, 0x64, 1781 0x67, 0x65, 0x74, 0x4c, 0x6f, 0x73, 0x74, 0x49, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 1782 0x6e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x71, 0x0a, 0x27, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 1783 0x5f, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x73, 0x74, 0x5f, 0x74, 0x6f, 0x70, 1784 0x5f, 0x69, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x68, 0x61, 0x72, 1785 0x65, 0x18, 0x59, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1786 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 1787 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x22, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, 0x75, 0x64, 1788 0x67, 0x65, 0x74, 0x4c, 0x6f, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x49, 0x6d, 0x70, 0x72, 0x65, 0x73, 1789 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x4a, 0x0a, 0x12, 0x73, 0x65, 0x61, 1790 0x72, 0x63, 0x68, 0x5f, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 1791 0x30, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 1792 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 1793 0x6c, 0x75, 0x65, 0x52, 0x10, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6c, 0x69, 0x63, 0x6b, 1794 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x6a, 0x0a, 0x23, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 1795 0x65, 0x78, 0x61, 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x6d, 0x70, 0x72, 1796 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x31, 0x20, 0x01, 1797 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 1798 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 1799 0x52, 0x1f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 1800 0x63, 0x68, 0x49, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x68, 0x61, 0x72, 1801 0x65, 0x12, 0x54, 0x0a, 0x17, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x69, 0x6d, 0x70, 0x72, 1802 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x32, 0x20, 0x01, 1803 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 1804 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 1805 0x52, 0x15, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x49, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 1806 0x6f, 0x6e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x7e, 0x0a, 0x2e, 0x73, 0x65, 0x61, 0x72, 0x63, 1807 0x68, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x6c, 0x6f, 0x73, 0x74, 0x5f, 0x61, 0x62, 0x73, 0x6f, 1808 0x6c, 0x75, 0x74, 0x65, 0x5f, 0x74, 0x6f, 0x70, 0x5f, 0x69, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 1809 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x0b, 0x32, 1810 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 1811 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x28, 0x73, 1812 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x6f, 0x73, 0x74, 0x41, 0x62, 0x73, 1813 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x54, 0x6f, 0x70, 0x49, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 1814 0x6f, 0x6e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x66, 0x0a, 0x21, 0x73, 0x65, 0x61, 0x72, 0x63, 1815 0x68, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x6c, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x70, 0x72, 1816 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x33, 0x20, 0x01, 1817 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 1818 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 1819 0x52, 0x1d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x6f, 0x73, 0x74, 1820 0x49, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 1821 0x6d, 0x0a, 0x25, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x6c, 1822 0x6f, 0x73, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x5f, 0x69, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 1823 0x6f, 0x6e, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x5b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 1824 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 1825 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x20, 0x73, 0x65, 1826 0x61, 0x72, 0x63, 0x68, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x6f, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x49, 1827 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x5b, 1828 0x0a, 0x1b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x74, 0x6f, 0x70, 0x5f, 0x69, 0x6d, 0x70, 1829 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x5c, 0x20, 1830 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 1831 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 1832 0x65, 0x52, 0x18, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x6f, 0x70, 0x49, 0x6d, 0x70, 0x72, 1833 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x3c, 0x0a, 0x0b, 0x73, 1834 0x70, 0x65, 0x65, 0x64, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x6b, 0x20, 0x01, 0x28, 0x0b, 1835 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 1836 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x73, 1837 0x70, 0x65, 0x65, 0x64, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x58, 0x0a, 0x19, 0x74, 0x6f, 0x70, 1838 0x5f, 0x69, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x63, 1839 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x5d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 1840 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 1841 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x17, 0x74, 0x6f, 0x70, 0x49, 1842 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 1843 0x61, 0x67, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x30, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x61, 0x63, 1844 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 1845 0x5f, 0x70, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x73, 0x5f, 0x70, 0x65, 1846 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x6c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 1847 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 1848 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x2b, 0x76, 0x61, 1849 0x6c, 0x69, 0x64, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x6f, 1850 0x62, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x67, 0x65, 0x73, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x73, 0x50, 1851 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, 0x57, 0x0a, 0x19, 0x76, 0x61, 0x6c, 1852 0x75, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 1853 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x34, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 1854 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 1855 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x76, 0x61, 0x6c, 0x75, 1856 0x65, 0x50, 0x65, 0x72, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 1857 0x6e, 0x73, 0x12, 0x4e, 0x0a, 0x14, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 1858 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0b, 1859 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 1860 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 1861 0x76, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 1862 0x6f, 0x6e, 0x12, 0x7d, 0x0a, 0x2d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 1863 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x61, 0x74, 1864 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 1865 0x69, 0x6f, 0x6e, 0x18, 0x5e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1866 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 1867 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x65, 1868 0x72, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x41, 0x74, 0x74, 1869 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 1870 0x6e, 0x12, 0x53, 0x0a, 0x17, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x71, 0x75, 0x61, 0x72, 0x74, 1871 0x69, 0x6c, 0x65, 0x5f, 0x31, 0x30, 0x30, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x36, 0x20, 0x01, 1872 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 1873 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 1874 0x52, 0x14, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x51, 0x75, 0x61, 0x72, 0x74, 0x69, 0x6c, 0x65, 0x31, 1875 0x30, 0x30, 0x52, 0x61, 0x74, 0x65, 0x12, 0x51, 0x0a, 0x16, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 1876 0x71, 0x75, 0x61, 0x72, 0x74, 0x69, 0x6c, 0x65, 0x5f, 0x32, 0x35, 0x5f, 0x72, 0x61, 0x74, 0x65, 1877 0x18, 0x37, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 1878 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 1879 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x51, 0x75, 0x61, 0x72, 0x74, 1880 0x69, 0x6c, 0x65, 0x32, 0x35, 0x52, 0x61, 0x74, 0x65, 0x12, 0x51, 0x0a, 0x16, 0x76, 0x69, 0x64, 1881 0x65, 0x6f, 0x5f, 0x71, 0x75, 0x61, 0x72, 0x74, 0x69, 0x6c, 0x65, 0x5f, 0x35, 0x30, 0x5f, 0x72, 1882 0x61, 0x74, 0x65, 0x18, 0x38, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1883 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 1884 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x51, 0x75, 1885 0x61, 0x72, 0x74, 0x69, 0x6c, 0x65, 0x35, 0x30, 0x52, 0x61, 0x74, 0x65, 0x12, 0x51, 0x0a, 0x16, 1886 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x71, 0x75, 0x61, 0x72, 0x74, 0x69, 0x6c, 0x65, 0x5f, 0x37, 1887 0x35, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x39, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 1888 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 1889 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x76, 0x69, 0x64, 0x65, 1890 0x6f, 0x51, 0x75, 0x61, 0x72, 0x74, 0x69, 0x6c, 0x65, 0x37, 0x35, 0x52, 0x61, 0x74, 0x65, 0x12, 1891 0x44, 0x0a, 0x0f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x72, 0x61, 1892 0x74, 0x65, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1893 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 1894 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x56, 0x69, 0x65, 1895 0x77, 0x52, 0x61, 0x74, 0x65, 0x12, 0x3c, 0x0a, 0x0b, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x76, 1896 0x69, 0x65, 0x77, 0x73, 0x18, 0x3b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 1897 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 1898 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x56, 0x69, 1899 0x65, 0x77, 0x73, 0x12, 0x55, 0x0a, 0x18, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x74, 0x68, 0x72, 0x6f, 1900 0x75, 0x67, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 1901 0x3c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 1902 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 1903 0x75, 0x65, 0x52, 0x16, 0x76, 0x69, 0x65, 0x77, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x43, 1904 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0xe7, 0x01, 0x0a, 0x22, 0x63, 1905 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 1906 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 1907 0x6e, 0x42, 0x0c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 1908 0x01, 0x5a, 0x44, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 1909 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 1910 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 1911 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 1912 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0xa2, 0x02, 0x03, 0x47, 0x41, 0x41, 0xaa, 0x02, 0x1e, 1913 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x41, 0x64, 0x73, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 1914 0x65, 0x41, 0x64, 0x73, 0x2e, 0x56, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0xca, 0x02, 1915 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x41, 0x64, 0x73, 0x5c, 0x47, 0x6f, 0x6f, 0x67, 1916 0x6c, 0x65, 0x41, 0x64, 0x73, 0x5c, 0x56, 0x33, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0xea, 1917 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x41, 0x64, 0x73, 0x3a, 0x3a, 0x47, 1918 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x3a, 0x3a, 0x56, 0x33, 0x3a, 0x3a, 0x43, 0x6f, 1919 0x6d, 0x6d, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 1920} 1921 1922var ( 1923 file_google_ads_googleads_v3_common_metrics_proto_rawDescOnce sync.Once 1924 file_google_ads_googleads_v3_common_metrics_proto_rawDescData = file_google_ads_googleads_v3_common_metrics_proto_rawDesc 1925) 1926 1927func file_google_ads_googleads_v3_common_metrics_proto_rawDescGZIP() []byte { 1928 file_google_ads_googleads_v3_common_metrics_proto_rawDescOnce.Do(func() { 1929 file_google_ads_googleads_v3_common_metrics_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_ads_googleads_v3_common_metrics_proto_rawDescData) 1930 }) 1931 return file_google_ads_googleads_v3_common_metrics_proto_rawDescData 1932} 1933 1934var file_google_ads_googleads_v3_common_metrics_proto_msgTypes = make([]protoimpl.MessageInfo, 1) 1935var file_google_ads_googleads_v3_common_metrics_proto_goTypes = []interface{}{ 1936 (*Metrics)(nil), // 0: google.ads.googleads.v3.common.Metrics 1937 (*wrappers.DoubleValue)(nil), // 1: google.protobuf.DoubleValue 1938 (*wrappers.Int64Value)(nil), // 2: google.protobuf.Int64Value 1939 (*wrappers.StringValue)(nil), // 3: google.protobuf.StringValue 1940 (enums.QualityScoreBucketEnum_QualityScoreBucket)(0), // 4: google.ads.googleads.v3.enums.QualityScoreBucketEnum.QualityScoreBucket 1941 (enums.InteractionEventTypeEnum_InteractionEventType)(0), // 5: google.ads.googleads.v3.enums.InteractionEventTypeEnum.InteractionEventType 1942} 1943var file_google_ads_googleads_v3_common_metrics_proto_depIdxs = []int32{ 1944 1, // 0: google.ads.googleads.v3.common.Metrics.absolute_top_impression_percentage:type_name -> google.protobuf.DoubleValue 1945 1, // 1: google.ads.googleads.v3.common.Metrics.active_view_cpm:type_name -> google.protobuf.DoubleValue 1946 1, // 2: google.ads.googleads.v3.common.Metrics.active_view_ctr:type_name -> google.protobuf.DoubleValue 1947 2, // 3: google.ads.googleads.v3.common.Metrics.active_view_impressions:type_name -> google.protobuf.Int64Value 1948 1, // 4: google.ads.googleads.v3.common.Metrics.active_view_measurability:type_name -> google.protobuf.DoubleValue 1949 2, // 5: google.ads.googleads.v3.common.Metrics.active_view_measurable_cost_micros:type_name -> google.protobuf.Int64Value 1950 2, // 6: google.ads.googleads.v3.common.Metrics.active_view_measurable_impressions:type_name -> google.protobuf.Int64Value 1951 1, // 7: google.ads.googleads.v3.common.Metrics.active_view_viewability:type_name -> google.protobuf.DoubleValue 1952 1, // 8: google.ads.googleads.v3.common.Metrics.all_conversions_from_interactions_rate:type_name -> google.protobuf.DoubleValue 1953 1, // 9: google.ads.googleads.v3.common.Metrics.all_conversions_value:type_name -> google.protobuf.DoubleValue 1954 1, // 10: google.ads.googleads.v3.common.Metrics.all_conversions:type_name -> google.protobuf.DoubleValue 1955 1, // 11: google.ads.googleads.v3.common.Metrics.all_conversions_value_per_cost:type_name -> google.protobuf.DoubleValue 1956 1, // 12: google.ads.googleads.v3.common.Metrics.all_conversions_from_click_to_call:type_name -> google.protobuf.DoubleValue 1957 1, // 13: google.ads.googleads.v3.common.Metrics.all_conversions_from_directions:type_name -> google.protobuf.DoubleValue 1958 1, // 14: google.ads.googleads.v3.common.Metrics.all_conversions_from_interactions_value_per_interaction:type_name -> google.protobuf.DoubleValue 1959 1, // 15: google.ads.googleads.v3.common.Metrics.all_conversions_from_menu:type_name -> google.protobuf.DoubleValue 1960 1, // 16: google.ads.googleads.v3.common.Metrics.all_conversions_from_order:type_name -> google.protobuf.DoubleValue 1961 1, // 17: google.ads.googleads.v3.common.Metrics.all_conversions_from_other_engagement:type_name -> google.protobuf.DoubleValue 1962 1, // 18: google.ads.googleads.v3.common.Metrics.all_conversions_from_store_visit:type_name -> google.protobuf.DoubleValue 1963 1, // 19: google.ads.googleads.v3.common.Metrics.all_conversions_from_store_website:type_name -> google.protobuf.DoubleValue 1964 1, // 20: google.ads.googleads.v3.common.Metrics.average_cost:type_name -> google.protobuf.DoubleValue 1965 1, // 21: google.ads.googleads.v3.common.Metrics.average_cpc:type_name -> google.protobuf.DoubleValue 1966 1, // 22: google.ads.googleads.v3.common.Metrics.average_cpe:type_name -> google.protobuf.DoubleValue 1967 1, // 23: google.ads.googleads.v3.common.Metrics.average_cpm:type_name -> google.protobuf.DoubleValue 1968 1, // 24: google.ads.googleads.v3.common.Metrics.average_cpv:type_name -> google.protobuf.DoubleValue 1969 1, // 25: google.ads.googleads.v3.common.Metrics.average_page_views:type_name -> google.protobuf.DoubleValue 1970 1, // 26: google.ads.googleads.v3.common.Metrics.average_time_on_site:type_name -> google.protobuf.DoubleValue 1971 1, // 27: google.ads.googleads.v3.common.Metrics.benchmark_average_max_cpc:type_name -> google.protobuf.DoubleValue 1972 1, // 28: google.ads.googleads.v3.common.Metrics.benchmark_ctr:type_name -> google.protobuf.DoubleValue 1973 1, // 29: google.ads.googleads.v3.common.Metrics.bounce_rate:type_name -> google.protobuf.DoubleValue 1974 2, // 30: google.ads.googleads.v3.common.Metrics.clicks:type_name -> google.protobuf.Int64Value 1975 2, // 31: google.ads.googleads.v3.common.Metrics.combined_clicks:type_name -> google.protobuf.Int64Value 1976 1, // 32: google.ads.googleads.v3.common.Metrics.combined_clicks_per_query:type_name -> google.protobuf.DoubleValue 1977 2, // 33: google.ads.googleads.v3.common.Metrics.combined_queries:type_name -> google.protobuf.Int64Value 1978 1, // 34: google.ads.googleads.v3.common.Metrics.content_budget_lost_impression_share:type_name -> google.protobuf.DoubleValue 1979 1, // 35: google.ads.googleads.v3.common.Metrics.content_impression_share:type_name -> google.protobuf.DoubleValue 1980 3, // 36: google.ads.googleads.v3.common.Metrics.conversion_last_received_request_date_time:type_name -> google.protobuf.StringValue 1981 3, // 37: google.ads.googleads.v3.common.Metrics.conversion_last_conversion_date:type_name -> google.protobuf.StringValue 1982 1, // 38: google.ads.googleads.v3.common.Metrics.content_rank_lost_impression_share:type_name -> google.protobuf.DoubleValue 1983 1, // 39: google.ads.googleads.v3.common.Metrics.conversions_from_interactions_rate:type_name -> google.protobuf.DoubleValue 1984 1, // 40: google.ads.googleads.v3.common.Metrics.conversions_value:type_name -> google.protobuf.DoubleValue 1985 1, // 41: google.ads.googleads.v3.common.Metrics.conversions_value_per_cost:type_name -> google.protobuf.DoubleValue 1986 1, // 42: google.ads.googleads.v3.common.Metrics.conversions_from_interactions_value_per_interaction:type_name -> google.protobuf.DoubleValue 1987 1, // 43: google.ads.googleads.v3.common.Metrics.conversions:type_name -> google.protobuf.DoubleValue 1988 2, // 44: google.ads.googleads.v3.common.Metrics.cost_micros:type_name -> google.protobuf.Int64Value 1989 1, // 45: google.ads.googleads.v3.common.Metrics.cost_per_all_conversions:type_name -> google.protobuf.DoubleValue 1990 1, // 46: google.ads.googleads.v3.common.Metrics.cost_per_conversion:type_name -> google.protobuf.DoubleValue 1991 1, // 47: google.ads.googleads.v3.common.Metrics.cost_per_current_model_attributed_conversion:type_name -> google.protobuf.DoubleValue 1992 1, // 48: google.ads.googleads.v3.common.Metrics.cross_device_conversions:type_name -> google.protobuf.DoubleValue 1993 1, // 49: google.ads.googleads.v3.common.Metrics.ctr:type_name -> google.protobuf.DoubleValue 1994 1, // 50: google.ads.googleads.v3.common.Metrics.current_model_attributed_conversions:type_name -> google.protobuf.DoubleValue 1995 1, // 51: google.ads.googleads.v3.common.Metrics.current_model_attributed_conversions_from_interactions_rate:type_name -> google.protobuf.DoubleValue 1996 1, // 52: google.ads.googleads.v3.common.Metrics.current_model_attributed_conversions_from_interactions_value_per_interaction:type_name -> google.protobuf.DoubleValue 1997 1, // 53: google.ads.googleads.v3.common.Metrics.current_model_attributed_conversions_value:type_name -> google.protobuf.DoubleValue 1998 1, // 54: google.ads.googleads.v3.common.Metrics.current_model_attributed_conversions_value_per_cost:type_name -> google.protobuf.DoubleValue 1999 1, // 55: google.ads.googleads.v3.common.Metrics.engagement_rate:type_name -> google.protobuf.DoubleValue 2000 2, // 56: google.ads.googleads.v3.common.Metrics.engagements:type_name -> google.protobuf.Int64Value 2001 1, // 57: google.ads.googleads.v3.common.Metrics.hotel_average_lead_value_micros:type_name -> google.protobuf.DoubleValue 2002 1, // 58: google.ads.googleads.v3.common.Metrics.hotel_price_difference_percentage:type_name -> google.protobuf.DoubleValue 2003 4, // 59: google.ads.googleads.v3.common.Metrics.historical_creative_quality_score:type_name -> google.ads.googleads.v3.enums.QualityScoreBucketEnum.QualityScoreBucket 2004 4, // 60: google.ads.googleads.v3.common.Metrics.historical_landing_page_quality_score:type_name -> google.ads.googleads.v3.enums.QualityScoreBucketEnum.QualityScoreBucket 2005 2, // 61: google.ads.googleads.v3.common.Metrics.historical_quality_score:type_name -> google.protobuf.Int64Value 2006 4, // 62: google.ads.googleads.v3.common.Metrics.historical_search_predicted_ctr:type_name -> google.ads.googleads.v3.enums.QualityScoreBucketEnum.QualityScoreBucket 2007 2, // 63: google.ads.googleads.v3.common.Metrics.gmail_forwards:type_name -> google.protobuf.Int64Value 2008 2, // 64: google.ads.googleads.v3.common.Metrics.gmail_saves:type_name -> google.protobuf.Int64Value 2009 2, // 65: google.ads.googleads.v3.common.Metrics.gmail_secondary_clicks:type_name -> google.protobuf.Int64Value 2010 2, // 66: google.ads.googleads.v3.common.Metrics.impressions_from_store_reach:type_name -> google.protobuf.Int64Value 2011 2, // 67: google.ads.googleads.v3.common.Metrics.impressions:type_name -> google.protobuf.Int64Value 2012 1, // 68: google.ads.googleads.v3.common.Metrics.interaction_rate:type_name -> google.protobuf.DoubleValue 2013 2, // 69: google.ads.googleads.v3.common.Metrics.interactions:type_name -> google.protobuf.Int64Value 2014 5, // 70: google.ads.googleads.v3.common.Metrics.interaction_event_types:type_name -> google.ads.googleads.v3.enums.InteractionEventTypeEnum.InteractionEventType 2015 1, // 71: google.ads.googleads.v3.common.Metrics.invalid_click_rate:type_name -> google.protobuf.DoubleValue 2016 2, // 72: google.ads.googleads.v3.common.Metrics.invalid_clicks:type_name -> google.protobuf.Int64Value 2017 2, // 73: google.ads.googleads.v3.common.Metrics.message_chats:type_name -> google.protobuf.Int64Value 2018 2, // 74: google.ads.googleads.v3.common.Metrics.message_impressions:type_name -> google.protobuf.Int64Value 2019 1, // 75: google.ads.googleads.v3.common.Metrics.message_chat_rate:type_name -> google.protobuf.DoubleValue 2020 1, // 76: google.ads.googleads.v3.common.Metrics.mobile_friendly_clicks_percentage:type_name -> google.protobuf.DoubleValue 2021 2, // 77: google.ads.googleads.v3.common.Metrics.organic_clicks:type_name -> google.protobuf.Int64Value 2022 1, // 78: google.ads.googleads.v3.common.Metrics.organic_clicks_per_query:type_name -> google.protobuf.DoubleValue 2023 2, // 79: google.ads.googleads.v3.common.Metrics.organic_impressions:type_name -> google.protobuf.Int64Value 2024 1, // 80: google.ads.googleads.v3.common.Metrics.organic_impressions_per_query:type_name -> google.protobuf.DoubleValue 2025 2, // 81: google.ads.googleads.v3.common.Metrics.organic_queries:type_name -> google.protobuf.Int64Value 2026 1, // 82: google.ads.googleads.v3.common.Metrics.percent_new_visitors:type_name -> google.protobuf.DoubleValue 2027 2, // 83: google.ads.googleads.v3.common.Metrics.phone_calls:type_name -> google.protobuf.Int64Value 2028 2, // 84: google.ads.googleads.v3.common.Metrics.phone_impressions:type_name -> google.protobuf.Int64Value 2029 1, // 85: google.ads.googleads.v3.common.Metrics.phone_through_rate:type_name -> google.protobuf.DoubleValue 2030 1, // 86: google.ads.googleads.v3.common.Metrics.relative_ctr:type_name -> google.protobuf.DoubleValue 2031 1, // 87: google.ads.googleads.v3.common.Metrics.search_absolute_top_impression_share:type_name -> google.protobuf.DoubleValue 2032 1, // 88: google.ads.googleads.v3.common.Metrics.search_budget_lost_absolute_top_impression_share:type_name -> google.protobuf.DoubleValue 2033 1, // 89: google.ads.googleads.v3.common.Metrics.search_budget_lost_impression_share:type_name -> google.protobuf.DoubleValue 2034 1, // 90: google.ads.googleads.v3.common.Metrics.search_budget_lost_top_impression_share:type_name -> google.protobuf.DoubleValue 2035 1, // 91: google.ads.googleads.v3.common.Metrics.search_click_share:type_name -> google.protobuf.DoubleValue 2036 1, // 92: google.ads.googleads.v3.common.Metrics.search_exact_match_impression_share:type_name -> google.protobuf.DoubleValue 2037 1, // 93: google.ads.googleads.v3.common.Metrics.search_impression_share:type_name -> google.protobuf.DoubleValue 2038 1, // 94: google.ads.googleads.v3.common.Metrics.search_rank_lost_absolute_top_impression_share:type_name -> google.protobuf.DoubleValue 2039 1, // 95: google.ads.googleads.v3.common.Metrics.search_rank_lost_impression_share:type_name -> google.protobuf.DoubleValue 2040 1, // 96: google.ads.googleads.v3.common.Metrics.search_rank_lost_top_impression_share:type_name -> google.protobuf.DoubleValue 2041 1, // 97: google.ads.googleads.v3.common.Metrics.search_top_impression_share:type_name -> google.protobuf.DoubleValue 2042 2, // 98: google.ads.googleads.v3.common.Metrics.speed_score:type_name -> google.protobuf.Int64Value 2043 1, // 99: google.ads.googleads.v3.common.Metrics.top_impression_percentage:type_name -> google.protobuf.DoubleValue 2044 1, // 100: google.ads.googleads.v3.common.Metrics.valid_accelerated_mobile_pages_clicks_percentage:type_name -> google.protobuf.DoubleValue 2045 1, // 101: google.ads.googleads.v3.common.Metrics.value_per_all_conversions:type_name -> google.protobuf.DoubleValue 2046 1, // 102: google.ads.googleads.v3.common.Metrics.value_per_conversion:type_name -> google.protobuf.DoubleValue 2047 1, // 103: google.ads.googleads.v3.common.Metrics.value_per_current_model_attributed_conversion:type_name -> google.protobuf.DoubleValue 2048 1, // 104: google.ads.googleads.v3.common.Metrics.video_quartile_100_rate:type_name -> google.protobuf.DoubleValue 2049 1, // 105: google.ads.googleads.v3.common.Metrics.video_quartile_25_rate:type_name -> google.protobuf.DoubleValue 2050 1, // 106: google.ads.googleads.v3.common.Metrics.video_quartile_50_rate:type_name -> google.protobuf.DoubleValue 2051 1, // 107: google.ads.googleads.v3.common.Metrics.video_quartile_75_rate:type_name -> google.protobuf.DoubleValue 2052 1, // 108: google.ads.googleads.v3.common.Metrics.video_view_rate:type_name -> google.protobuf.DoubleValue 2053 2, // 109: google.ads.googleads.v3.common.Metrics.video_views:type_name -> google.protobuf.Int64Value 2054 2, // 110: google.ads.googleads.v3.common.Metrics.view_through_conversions:type_name -> google.protobuf.Int64Value 2055 111, // [111:111] is the sub-list for method output_type 2056 111, // [111:111] is the sub-list for method input_type 2057 111, // [111:111] is the sub-list for extension type_name 2058 111, // [111:111] is the sub-list for extension extendee 2059 0, // [0:111] is the sub-list for field type_name 2060} 2061 2062func init() { file_google_ads_googleads_v3_common_metrics_proto_init() } 2063func file_google_ads_googleads_v3_common_metrics_proto_init() { 2064 if File_google_ads_googleads_v3_common_metrics_proto != nil { 2065 return 2066 } 2067 if !protoimpl.UnsafeEnabled { 2068 file_google_ads_googleads_v3_common_metrics_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 2069 switch v := v.(*Metrics); i { 2070 case 0: 2071 return &v.state 2072 case 1: 2073 return &v.sizeCache 2074 case 2: 2075 return &v.unknownFields 2076 default: 2077 return nil 2078 } 2079 } 2080 } 2081 type x struct{} 2082 out := protoimpl.TypeBuilder{ 2083 File: protoimpl.DescBuilder{ 2084 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 2085 RawDescriptor: file_google_ads_googleads_v3_common_metrics_proto_rawDesc, 2086 NumEnums: 0, 2087 NumMessages: 1, 2088 NumExtensions: 0, 2089 NumServices: 0, 2090 }, 2091 GoTypes: file_google_ads_googleads_v3_common_metrics_proto_goTypes, 2092 DependencyIndexes: file_google_ads_googleads_v3_common_metrics_proto_depIdxs, 2093 MessageInfos: file_google_ads_googleads_v3_common_metrics_proto_msgTypes, 2094 }.Build() 2095 File_google_ads_googleads_v3_common_metrics_proto = out.File 2096 file_google_ads_googleads_v3_common_metrics_proto_rawDesc = nil 2097 file_google_ads_googleads_v3_common_metrics_proto_goTypes = nil 2098 file_google_ads_googleads_v3_common_metrics_proto_depIdxs = nil 2099} 2100