From e8554cd1cbb980de887d52dd401e38f3b8a71740 Mon Sep 17 00:00:00 2001
From: Max Golionko <8kirk8@gmail.com>
Date: Thu, 19 Jan 2023 02:34:20 -0500
Subject: [PATCH 01/32] ci: checkout correct branch for build step (#3676)
---
.github/workflows/main.yml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 55ce413aec..ee25deceae 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -15,6 +15,8 @@ jobs:
steps:
- name: Code checkout
uses: actions/checkout@v3
+ with:
+ ref: ${{ github.event.workflow_run.head_branch }}
- name: Setup Go
uses: actions/setup-go@v3
From d513230d43021235209363f581e48c4b4d5e73aa Mon Sep 17 00:00:00 2001
From: Denys Holius <5650611+denisgolius@users.noreply.github.com>
Date: Thu, 19 Jan 2023 17:03:42 +0200
Subject: [PATCH 02/32] Adds some improvements to release guide docs (#3679)
* docs/Release-Guide.md: fixed a typo
* Release-Guide.md: adds missed steps for updating vmanomaly and vmgateway helm charts
---
docs/Release-Guide.md | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/docs/Release-Guide.md b/docs/Release-Guide.md
index c2d46b4ba4..7c10fdb064 100644
--- a/docs/Release-Guide.md
+++ b/docs/Release-Guide.md
@@ -94,11 +94,13 @@ The helm chart repository [https://github.com/VictoriaMetrics/helm-charts/](http
4. Update `cluster` chart versions in [`values.yaml`](https://github.com/VictoriaMetrics/helm-charts/blob/master/charts/victoria-metrics-cluster/values.yaml), bump version for `vmselect`, `vminsert` and `vmstorage` and [`Chart.yaml`](https://github.com/VictoriaMetrics/helm-charts/blob/master/charts/victoria-metrics-cluster/Chart.yaml)
5. Update `k8s-stack` chart versions in [`values.yaml`](https://github.com/VictoriaMetrics/helm-charts/blob/master/charts/victoria-metrics-k8s-stack/values.yaml), bump version for `vmselect`, `vminsert`, `vmstorage`, `vmsingle`, `vmalert`, `vmagent` and [`Chart.yaml`](https://github.com/VictoriaMetrics/helm-charts/blob/master/charts/victoria-metrics-k8s-stack/Chart.yaml)
6. Update `single-node` chart version in [`values.yaml`](https://github.com/VictoriaMetrics/helm-charts/blob/master/charts/victoria-metrics-single/values.yaml) and [`Chart.yaml`](https://github.com/VictoriaMetrics/helm-charts/blob/master/charts/victoria-metrics-single/Chart.yaml)
-8. Run `make gen-doc`
-9. Run `make package` that creates or updates zip file with the packed chart
-10. Run `make merge`. It creates or updates metadata for charts in index.yaml
-11. Push changes to master. `master` is a source of truth
-12. Push the changes to `gh-pages` branch
+7. Update `vmanomaly` chart version in [`values.yaml`](https://github.com/VictoriaMetrics/helm-charts/blob/master/charts/victoria-metrics-anomaly/values.yaml) and [`Chart.yaml`](https://github.com/VictoriaMetrics/helm-charts/blob/master/charts/victoria-metrics-anomaly/Chart.yaml)
+8. Update `vmgateway` chart version in [`values.yaml`](https://github.com/VictoriaMetrics/helm-charts/blob/master/charts/victoria-metrics-gateway/values.yamll) and [`Chart.yaml`](https://github.com/VictoriaMetrics/helm-charts/blob/master/charts/victoria-metrics-gateway/Chart.yaml)
+9. Run `make gen-docs`
+10. Run `make package` that creates or updates zip file with the packed chart
+11. Run `make merge`. It creates or updates metadata for charts in index.yaml
+12. Push changes to master. `master` is a source of truth
+13. Push the changes to `gh-pages` branch
## Ansible Roles
From df7b81b44d946cef8748e6391f8cf5c3b4342cb0 Mon Sep 17 00:00:00 2001
From: Yury Molodov
Date: Fri, 20 Jan 2023 20:47:53 +0100
Subject: [PATCH 03/32] vmui: add support for time zone selection for older
versions of browsers (#3680)
* fix: add check for support of getting time zones
* vmui: add support for time zone selection for older versions of browsers
---
.../packages/vmui/src/constants/timezones.ts | 430 ++++++++++++++++++
app/vmui/packages/vmui/src/utils/time.ts | 4 +-
docs/CHANGELOG.md | 1 +
3 files changed, 434 insertions(+), 1 deletion(-)
create mode 100644 app/vmui/packages/vmui/src/constants/timezones.ts
diff --git a/app/vmui/packages/vmui/src/constants/timezones.ts b/app/vmui/packages/vmui/src/constants/timezones.ts
new file mode 100644
index 0000000000..b1e31750aa
--- /dev/null
+++ b/app/vmui/packages/vmui/src/constants/timezones.ts
@@ -0,0 +1,430 @@
+export default [
+ "Africa/Abidjan",
+ "Africa/Accra",
+ "Africa/Addis_Ababa",
+ "Africa/Algiers",
+ "Africa/Asmera",
+ "Africa/Bamako",
+ "Africa/Bangui",
+ "Africa/Banjul",
+ "Africa/Bissau",
+ "Africa/Blantyre",
+ "Africa/Brazzaville",
+ "Africa/Bujumbura",
+ "Africa/Cairo",
+ "Africa/Casablanca",
+ "Africa/Ceuta",
+ "Africa/Conakry",
+ "Africa/Dakar",
+ "Africa/Dar_es_Salaam",
+ "Africa/Djibouti",
+ "Africa/Douala",
+ "Africa/El_Aaiun",
+ "Africa/Freetown",
+ "Africa/Gaborone",
+ "Africa/Harare",
+ "Africa/Johannesburg",
+ "Africa/Juba",
+ "Africa/Kampala",
+ "Africa/Khartoum",
+ "Africa/Kigali",
+ "Africa/Kinshasa",
+ "Africa/Lagos",
+ "Africa/Libreville",
+ "Africa/Lome",
+ "Africa/Luanda",
+ "Africa/Lubumbashi",
+ "Africa/Lusaka",
+ "Africa/Malabo",
+ "Africa/Maputo",
+ "Africa/Maseru",
+ "Africa/Mbabane",
+ "Africa/Mogadishu",
+ "Africa/Monrovia",
+ "Africa/Nairobi",
+ "Africa/Ndjamena",
+ "Africa/Niamey",
+ "Africa/Nouakchott",
+ "Africa/Ouagadougou",
+ "Africa/Porto-Novo",
+ "Africa/Sao_Tome",
+ "Africa/Tripoli",
+ "Africa/Tunis",
+ "Africa/Windhoek",
+ "America/Adak",
+ "America/Anchorage",
+ "America/Anguilla",
+ "America/Antigua",
+ "America/Araguaina",
+ "America/Argentina/La_Rioja",
+ "America/Argentina/Rio_Gallegos",
+ "America/Argentina/Salta",
+ "America/Argentina/San_Juan",
+ "America/Argentina/San_Luis",
+ "America/Argentina/Tucuman",
+ "America/Argentina/Ushuaia",
+ "America/Aruba",
+ "America/Asuncion",
+ "America/Bahia",
+ "America/Bahia_Banderas",
+ "America/Barbados",
+ "America/Belem",
+ "America/Belize",
+ "America/Blanc-Sablon",
+ "America/Boa_Vista",
+ "America/Bogota",
+ "America/Boise",
+ "America/Buenos_Aires",
+ "America/Cambridge_Bay",
+ "America/Campo_Grande",
+ "America/Cancun",
+ "America/Caracas",
+ "America/Catamarca",
+ "America/Cayenne",
+ "America/Cayman",
+ "America/Chicago",
+ "America/Chihuahua",
+ "America/Coral_Harbour",
+ "America/Cordoba",
+ "America/Costa_Rica",
+ "America/Creston",
+ "America/Cuiaba",
+ "America/Curacao",
+ "America/Danmarkshavn",
+ "America/Dawson",
+ "America/Dawson_Creek",
+ "America/Denver",
+ "America/Detroit",
+ "America/Dominica",
+ "America/Edmonton",
+ "America/Eirunepe",
+ "America/El_Salvador",
+ "America/Fort_Nelson",
+ "America/Fortaleza",
+ "America/Glace_Bay",
+ "America/Godthab",
+ "America/Goose_Bay",
+ "America/Grand_Turk",
+ "America/Grenada",
+ "America/Guadeloupe",
+ "America/Guatemala",
+ "America/Guayaquil",
+ "America/Guyana",
+ "America/Halifax",
+ "America/Havana",
+ "America/Hermosillo",
+ "America/Indiana/Knox",
+ "America/Indiana/Marengo",
+ "America/Indiana/Petersburg",
+ "America/Indiana/Tell_City",
+ "America/Indiana/Vevay",
+ "America/Indiana/Vincennes",
+ "America/Indiana/Winamac",
+ "America/Indianapolis",
+ "America/Inuvik",
+ "America/Iqaluit",
+ "America/Jamaica",
+ "America/Jujuy",
+ "America/Juneau",
+ "America/Kentucky/Monticello",
+ "America/Kralendijk",
+ "America/La_Paz",
+ "America/Lima",
+ "America/Los_Angeles",
+ "America/Louisville",
+ "America/Lower_Princes",
+ "America/Maceio",
+ "America/Managua",
+ "America/Manaus",
+ "America/Marigot",
+ "America/Martinique",
+ "America/Matamoros",
+ "America/Mazatlan",
+ "America/Mendoza",
+ "America/Menominee",
+ "America/Merida",
+ "America/Metlakatla",
+ "America/Mexico_City",
+ "America/Miquelon",
+ "America/Moncton",
+ "America/Monterrey",
+ "America/Montevideo",
+ "America/Montreal",
+ "America/Montserrat",
+ "America/Nassau",
+ "America/New_York",
+ "America/Nipigon",
+ "America/Nome",
+ "America/Noronha",
+ "America/North_Dakota/Beulah",
+ "America/North_Dakota/Center",
+ "America/North_Dakota/New_Salem",
+ "America/Ojinaga",
+ "America/Panama",
+ "America/Pangnirtung",
+ "America/Paramaribo",
+ "America/Phoenix",
+ "America/Port-au-Prince",
+ "America/Port_of_Spain",
+ "America/Porto_Velho",
+ "America/Puerto_Rico",
+ "America/Punta_Arenas",
+ "America/Rainy_River",
+ "America/Rankin_Inlet",
+ "America/Recife",
+ "America/Regina",
+ "America/Resolute",
+ "America/Rio_Branco",
+ "America/Santa_Isabel",
+ "America/Santarem",
+ "America/Santiago",
+ "America/Santo_Domingo",
+ "America/Sao_Paulo",
+ "America/Scoresbysund",
+ "America/Sitka",
+ "America/St_Barthelemy",
+ "America/St_Johns",
+ "America/St_Kitts",
+ "America/St_Lucia",
+ "America/St_Thomas",
+ "America/St_Vincent",
+ "America/Swift_Current",
+ "America/Tegucigalpa",
+ "America/Thule",
+ "America/Thunder_Bay",
+ "America/Tijuana",
+ "America/Toronto",
+ "America/Tortola",
+ "America/Vancouver",
+ "America/Whitehorse",
+ "America/Winnipeg",
+ "America/Yakutat",
+ "America/Yellowknife",
+ "Antarctica/Casey",
+ "Antarctica/Davis",
+ "Antarctica/DumontDUrville",
+ "Antarctica/Macquarie",
+ "Antarctica/Mawson",
+ "Antarctica/McMurdo",
+ "Antarctica/Palmer",
+ "Antarctica/Rothera",
+ "Antarctica/Syowa",
+ "Antarctica/Troll",
+ "Antarctica/Vostok",
+ "Arctic/Longyearbyen",
+ "Asia/Aden",
+ "Asia/Almaty",
+ "Asia/Amman",
+ "Asia/Anadyr",
+ "Asia/Aqtau",
+ "Asia/Aqtobe",
+ "Asia/Ashgabat",
+ "Asia/Atyrau",
+ "Asia/Baghdad",
+ "Asia/Bahrain",
+ "Asia/Baku",
+ "Asia/Bangkok",
+ "Asia/Barnaul",
+ "Asia/Beirut",
+ "Asia/Bishkek",
+ "Asia/Brunei",
+ "Asia/Calcutta",
+ "Asia/Chita",
+ "Asia/Choibalsan",
+ "Asia/Colombo",
+ "Asia/Damascus",
+ "Asia/Dhaka",
+ "Asia/Dili",
+ "Asia/Dubai",
+ "Asia/Dushanbe",
+ "Asia/Famagusta",
+ "Asia/Gaza",
+ "Asia/Hebron",
+ "Asia/Hong_Kong",
+ "Asia/Hovd",
+ "Asia/Irkutsk",
+ "Asia/Jakarta",
+ "Asia/Jayapura",
+ "Asia/Jerusalem",
+ "Asia/Kabul",
+ "Asia/Kamchatka",
+ "Asia/Karachi",
+ "Asia/Katmandu",
+ "Asia/Khandyga",
+ "Asia/Krasnoyarsk",
+ "Asia/Kuala_Lumpur",
+ "Asia/Kuching",
+ "Asia/Kuwait",
+ "Asia/Macau",
+ "Asia/Magadan",
+ "Asia/Makassar",
+ "Asia/Manila",
+ "Asia/Muscat",
+ "Asia/Nicosia",
+ "Asia/Novokuznetsk",
+ "Asia/Novosibirsk",
+ "Asia/Omsk",
+ "Asia/Oral",
+ "Asia/Phnom_Penh",
+ "Asia/Pontianak",
+ "Asia/Pyongyang",
+ "Asia/Qatar",
+ "Asia/Qostanay",
+ "Asia/Qyzylorda",
+ "Asia/Rangoon",
+ "Asia/Riyadh",
+ "Asia/Saigon",
+ "Asia/Sakhalin",
+ "Asia/Samarkand",
+ "Asia/Seoul",
+ "Asia/Shanghai",
+ "Asia/Singapore",
+ "Asia/Srednekolymsk",
+ "Asia/Taipei",
+ "Asia/Tashkent",
+ "Asia/Tbilisi",
+ "Asia/Tehran",
+ "Asia/Thimphu",
+ "Asia/Tokyo",
+ "Asia/Tomsk",
+ "Asia/Ulaanbaatar",
+ "Asia/Urumqi",
+ "Asia/Ust-Nera",
+ "Asia/Vientiane",
+ "Asia/Vladivostok",
+ "Asia/Yakutsk",
+ "Asia/Yekaterinburg",
+ "Asia/Yerevan",
+ "Atlantic/Azores",
+ "Atlantic/Bermuda",
+ "Atlantic/Canary",
+ "Atlantic/Cape_Verde",
+ "Atlantic/Faeroe",
+ "Atlantic/Madeira",
+ "Atlantic/Reykjavik",
+ "Atlantic/South_Georgia",
+ "Atlantic/St_Helena",
+ "Atlantic/Stanley",
+ "Australia/Adelaide",
+ "Australia/Brisbane",
+ "Australia/Broken_Hill",
+ "Australia/Currie",
+ "Australia/Darwin",
+ "Australia/Eucla",
+ "Australia/Hobart",
+ "Australia/Lindeman",
+ "Australia/Lord_Howe",
+ "Australia/Melbourne",
+ "Australia/Perth",
+ "Australia/Sydney",
+ "Europe/Amsterdam",
+ "Europe/Andorra",
+ "Europe/Astrakhan",
+ "Europe/Athens",
+ "Europe/Belgrade",
+ "Europe/Berlin",
+ "Europe/Bratislava",
+ "Europe/Brussels",
+ "Europe/Bucharest",
+ "Europe/Budapest",
+ "Europe/Busingen",
+ "Europe/Chisinau",
+ "Europe/Copenhagen",
+ "Europe/Dublin",
+ "Europe/Gibraltar",
+ "Europe/Guernsey",
+ "Europe/Helsinki",
+ "Europe/Isle_of_Man",
+ "Europe/Istanbul",
+ "Europe/Jersey",
+ "Europe/Kaliningrad",
+ "Europe/Kiev",
+ "Europe/Kirov",
+ "Europe/Lisbon",
+ "Europe/Ljubljana",
+ "Europe/London",
+ "Europe/Luxembourg",
+ "Europe/Madrid",
+ "Europe/Malta",
+ "Europe/Mariehamn",
+ "Europe/Minsk",
+ "Europe/Monaco",
+ "Europe/Moscow",
+ "Europe/Oslo",
+ "Europe/Paris",
+ "Europe/Podgorica",
+ "Europe/Prague",
+ "Europe/Riga",
+ "Europe/Rome",
+ "Europe/Samara",
+ "Europe/San_Marino",
+ "Europe/Sarajevo",
+ "Europe/Saratov",
+ "Europe/Simferopol",
+ "Europe/Skopje",
+ "Europe/Sofia",
+ "Europe/Stockholm",
+ "Europe/Tallinn",
+ "Europe/Tirane",
+ "Europe/Ulyanovsk",
+ "Europe/Uzhgorod",
+ "Europe/Vaduz",
+ "Europe/Vatican",
+ "Europe/Vienna",
+ "Europe/Vilnius",
+ "Europe/Volgograd",
+ "Europe/Warsaw",
+ "Europe/Zagreb",
+ "Europe/Zaporozhye",
+ "Europe/Zurich",
+ "Indian/Antananarivo",
+ "Indian/Chagos",
+ "Indian/Christmas",
+ "Indian/Cocos",
+ "Indian/Comoro",
+ "Indian/Kerguelen",
+ "Indian/Mahe",
+ "Indian/Maldives",
+ "Indian/Mauritius",
+ "Indian/Mayotte",
+ "Indian/Reunion",
+ "Pacific/Apia",
+ "Pacific/Auckland",
+ "Pacific/Bougainville",
+ "Pacific/Chatham",
+ "Pacific/Easter",
+ "Pacific/Efate",
+ "Pacific/Enderbury",
+ "Pacific/Fakaofo",
+ "Pacific/Fiji",
+ "Pacific/Funafuti",
+ "Pacific/Galapagos",
+ "Pacific/Gambier",
+ "Pacific/Guadalcanal",
+ "Pacific/Guam",
+ "Pacific/Honolulu",
+ "Pacific/Johnston",
+ "Pacific/Kiritimati",
+ "Pacific/Kosrae",
+ "Pacific/Kwajalein",
+ "Pacific/Majuro",
+ "Pacific/Marquesas",
+ "Pacific/Midway",
+ "Pacific/Nauru",
+ "Pacific/Niue",
+ "Pacific/Norfolk",
+ "Pacific/Noumea",
+ "Pacific/Pago_Pago",
+ "Pacific/Palau",
+ "Pacific/Pitcairn",
+ "Pacific/Ponape",
+ "Pacific/Port_Moresby",
+ "Pacific/Rarotonga",
+ "Pacific/Saipan",
+ "Pacific/Tahiti",
+ "Pacific/Tarawa",
+ "Pacific/Tongatapu",
+ "Pacific/Truk",
+ "Pacific/Wake",
+ "Pacific/Wallis"
+];
diff --git a/app/vmui/packages/vmui/src/utils/time.ts b/app/vmui/packages/vmui/src/utils/time.ts
index 281e7f9a1d..2350808010 100644
--- a/app/vmui/packages/vmui/src/utils/time.ts
+++ b/app/vmui/packages/vmui/src/utils/time.ts
@@ -2,6 +2,7 @@ import { RelativeTimeOption, TimeParams, TimePeriod, Timezone } from "../types";
import dayjs, { UnitTypeShort } from "dayjs";
import { getQueryStringValue } from "./query-string";
import { DATE_ISO_FORMAT } from "../constants/date";
+import timezones from "../constants/timezones";
const MAX_ITEMS_PER_CHART = window.innerWidth / 4;
@@ -9,7 +10,8 @@ export const limitsDurations = { min: 1, max: 1.578e+11 }; // min: 1 ms, max: 5
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
-export const supportedTimezones = Intl.supportedValuesOf("timeZone") as string[];
+const supportedValuesOf = Intl.supportedValuesOf;
+export const supportedTimezones = supportedValuesOf ? supportedValuesOf("timeZone") as string[] : timezones;
// The list of supported units could be the following -
// https://prometheus.io/docs/prometheus/latest/querying/basics/#time-durations
diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md
index d06ef19549..33bd65c0a0 100644
--- a/docs/CHANGELOG.md
+++ b/docs/CHANGELOG.md
@@ -39,6 +39,7 @@ Released at 2023-01-18
* BUGFIX: [Pushgateway import](https://docs.victoriametrics.com/#how-to-import-data-in-prometheus-exposition-format): properly return `200 OK` HTTP response code. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3636).
* BUGFIX: [MetricsQL](https://docs.victoriametrics.com/MetricsQL.html): properly parse `M` and `Mi` suffixes as `1e6` multipliers in `1M` and `1Mi` numeric constants. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3664). The issue has been introduced in [v1.86.0](https://docs.victoriametrics.com/CHANGELOG.html#v1860).
* BUGFIX: [vmui](https://docs.victoriametrics.com/#vmui): properly display range query results at `Table` view. For example, `up[5m]` query now shows all the raw samples for the last 5 minutes for the `up` metric at the `Table` view. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3516).
+* BUGFIX: [vmui](https://docs.victoriametrics.com/#vmui): add support for time zone selection for older versions of browsers. See [this pull request](https://github.com/VictoriaMetrics/VictoriaMetrics/pull/3680)
## [v1.86.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.86.1)
From 74df30456b79bbffa738d1ee40526d9a7390ff03 Mon Sep 17 00:00:00 2001
From: Aliaksandr Valialkin
Date: Fri, 20 Jan 2023 12:07:13 -0800
Subject: [PATCH 04/32] app/vmselect: `make vmui-update` after
df7b81b44d946cef8748e6391f8cf5c3b4342cb0
---
app/vmselect/vmui/asset-manifest.json | 4 ++--
app/vmselect/vmui/index.html | 2 +-
app/vmselect/vmui/static/js/main.1635e498.js | 2 ++
...n.58fe7908.js.LICENSE.txt => main.1635e498.js.LICENSE.txt} | 0
app/vmselect/vmui/static/js/main.58fe7908.js | 2 --
docs/CHANGELOG.md | 2 +-
6 files changed, 6 insertions(+), 6 deletions(-)
create mode 100644 app/vmselect/vmui/static/js/main.1635e498.js
rename app/vmselect/vmui/static/js/{main.58fe7908.js.LICENSE.txt => main.1635e498.js.LICENSE.txt} (100%)
delete mode 100644 app/vmselect/vmui/static/js/main.58fe7908.js
diff --git a/app/vmselect/vmui/asset-manifest.json b/app/vmselect/vmui/asset-manifest.json
index 2a926dcc9d..f9422030cd 100644
--- a/app/vmselect/vmui/asset-manifest.json
+++ b/app/vmselect/vmui/asset-manifest.json
@@ -1,12 +1,12 @@
{
"files": {
"main.css": "./static/css/main.e8e53cbf.css",
- "main.js": "./static/js/main.58fe7908.js",
+ "main.js": "./static/js/main.1635e498.js",
"static/js/27.c1ccfd29.chunk.js": "./static/js/27.c1ccfd29.chunk.js",
"index.html": "./index.html"
},
"entrypoints": [
"static/css/main.e8e53cbf.css",
- "static/js/main.58fe7908.js"
+ "static/js/main.1635e498.js"
]
}
\ No newline at end of file
diff --git a/app/vmselect/vmui/index.html b/app/vmselect/vmui/index.html
index 3b09855aaf..d10f05791b 100644
--- a/app/vmselect/vmui/index.html
+++ b/app/vmselect/vmui/index.html
@@ -1 +1 @@
-VM UI
\ No newline at end of file
+VM UI
\ No newline at end of file
diff --git a/app/vmselect/vmui/static/js/main.1635e498.js b/app/vmselect/vmui/static/js/main.1635e498.js
new file mode 100644
index 0000000000..4661131a78
--- /dev/null
+++ b/app/vmselect/vmui/static/js/main.1635e498.js
@@ -0,0 +1,2 @@
+/*! For license information please see main.1635e498.js.LICENSE.txt */
+!function(){var e={680:function(e,t,n){"use strict";var r=n(476),i=n(962),a=i(r("String.prototype.indexOf"));e.exports=function(e,t){var n=r(e,!!t);return"function"===typeof n&&a(e,".prototype.")>-1?i(n):n}},962:function(e,t,n){"use strict";var r=n(199),i=n(476),a=i("%Function.prototype.apply%"),o=i("%Function.prototype.call%"),u=i("%Reflect.apply%",!0)||r.call(o,a),l=i("%Object.getOwnPropertyDescriptor%",!0),c=i("%Object.defineProperty%",!0),s=i("%Math.max%");if(c)try{c({},"a",{value:1})}catch(d){c=null}e.exports=function(e){var t=u(r,o,arguments);if(l&&c){var n=l(t,"length");n.configurable&&c(t,"length",{value:1+s(0,e.length-(arguments.length-1))})}return t};var f=function(){return u(r,a,arguments)};c?c(e.exports,"apply",{value:f}):e.exports.apply=f},123:function(e,t){var n;!function(){"use strict";var r={}.hasOwnProperty;function i(){for(var e=[],t=0;t=t?e:""+Array(t+1-r.length).join(n)+e},g={s:y,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),i=n%60;return(t<=0?"+":"-")+y(r,2,"0")+":"+y(i,2,"0")},m:function e(t,n){if(t.date()1)return e(o[0])}else{var u=t.name;b[u]=t,i=u}return!r&&i&&(_=i),i||!r&&_},x=function(e,t){if(D(e))return e.clone();var n="object"==typeof t?t:{};return n.date=e,n.args=arguments,new k(n)},A=g;A.l=w,A.i=D,A.w=function(e,t){return x(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var k=function(){function m(e){this.$L=w(e.locale,null,!0),this.parse(e)}var y=m.prototype;return y.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(null===t)return new Date(NaN);if(A.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var r=t.match(p);if(r){var i=r[2]-1||0,a=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)}}return new Date(t)}(e),this.$x=e.x||{},this.init()},y.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},y.$utils=function(){return A},y.isValid=function(){return!(this.$d.toString()===h)},y.isSame=function(e,t){var n=x(e);return this.startOf(t)<=n&&n<=this.endOf(t)},y.isAfter=function(e,t){return x(e)=0&&(a[f]=parseInt(s,10))}var d=a[3],h=24===d?0:d,p=a[0]+"-"+a[1]+"-"+a[2]+" "+h+":"+a[4]+":"+a[5]+":000",v=+t;return(i.utc(p).valueOf()-(v-=v%1e3))/6e4},l=r.prototype;l.tz=function(e,t){void 0===e&&(e=a);var n=this.utcOffset(),r=this.toDate(),o=r.toLocaleString("en-US",{timeZone:e}),u=Math.round((r-new Date(o))/1e3/60),l=i(o).$set("millisecond",this.$ms).utcOffset(15*-Math.round(r.getTimezoneOffset()/15)-u,!0);if(t){var c=l.utcOffset();l=l.add(n-c,"minute")}return l.$x.$timezone=e,l},l.offsetName=function(e){var t=this.$x.$timezone||i.tz.guess(),n=o(this.valueOf(),t,{timeZoneName:e}).find((function(e){return"timezonename"===e.type.toLowerCase()}));return n&&n.value};var c=l.startOf;l.startOf=function(e,t){if(!this.$x||!this.$x.$timezone)return c.call(this,e,t);var n=i(this.format("YYYY-MM-DD HH:mm:ss:SSS"));return c.call(n,e,t).tz(this.$x.$timezone,!0)},i.tz=function(e,t,n){var r=n&&t,o=n||t||a,l=u(+i(),o);if("string"!=typeof e)return i(e).tz(o);var c=function(e,t,n){var r=e-60*t*1e3,i=u(r,n);if(t===i)return[r,t];var a=u(r-=60*(i-t)*1e3,n);return i===a?[r,i]:[e-60*Math.min(i,a)*1e3,Math.max(i,a)]}(i.utc(e,r).valueOf(),l,o),s=c[0],f=c[1],d=i(s).utcOffset(f);return d.$x.$timezone=o,d},i.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},i.tz.setDefault=function(e){a=e}}}()},635:function(e){e.exports=function(){"use strict";var e="minute",t=/[+-]\d\d(?::?\d\d)?/g,n=/([+-]|\d\d)/g;return function(r,i,a){var o=i.prototype;a.utc=function(e){return new i({date:e,utc:!0,args:arguments})},o.utc=function(t){var n=a(this.toDate(),{locale:this.$L,utc:!0});return t?n.add(this.utcOffset(),e):n},o.local=function(){return a(this.toDate(),{locale:this.$L,utc:!1})};var u=o.parse;o.parse=function(e){e.utc&&(this.$u=!0),this.$utils().u(e.$offset)||(this.$offset=e.$offset),u.call(this,e)};var l=o.init;o.init=function(){if(this.$u){var e=this.$d;this.$y=e.getUTCFullYear(),this.$M=e.getUTCMonth(),this.$D=e.getUTCDate(),this.$W=e.getUTCDay(),this.$H=e.getUTCHours(),this.$m=e.getUTCMinutes(),this.$s=e.getUTCSeconds(),this.$ms=e.getUTCMilliseconds()}else l.call(this)};var c=o.utcOffset;o.utcOffset=function(r,i){var a=this.$utils().u;if(a(r))return this.$u?0:a(this.$offset)?c.call(this):this.$offset;if("string"==typeof r&&(r=function(e){void 0===e&&(e="");var r=e.match(t);if(!r)return null;var i=(""+r[0]).match(n)||["-",0,0],a=i[0],o=60*+i[1]+ +i[2];return 0===o?0:"+"===a?o:-o}(r),null===r))return this;var o=Math.abs(r)<=16?60*r:r,u=this;if(i)return u.$offset=o,u.$u=0===r,u;if(0!==r){var l=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(u=this.local().add(o+l,e)).$offset=o,u.$x.$localOffset=l}else u=this.utc();return u};var s=o.format;o.format=function(e){var t=e||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return s.call(this,t)},o.valueOf=function(){var e=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*e},o.isUTC=function(){return!!this.$u},o.toISOString=function(){return this.toDate().toISOString()},o.toString=function(){return this.toDate().toUTCString()};var f=o.toDate;o.toDate=function(e){return"s"===e&&this.$offset?a(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():f.call(this)};var d=o.diff;o.diff=function(e,t,n){if(e&&this.$u===e.$u)return d.call(this,e,t,n);var r=this.local(),i=a(e).local();return d.call(r,i,t,n)}}}()},781:function(e){"use strict";var t="Function.prototype.bind called on incompatible ",n=Array.prototype.slice,r=Object.prototype.toString,i="[object Function]";e.exports=function(e){var a=this;if("function"!==typeof a||r.call(a)!==i)throw new TypeError(t+a);for(var o,u=n.call(arguments,1),l=function(){if(this instanceof o){var t=a.apply(this,u.concat(n.call(arguments)));return Object(t)===t?t:this}return a.apply(e,u.concat(n.call(arguments)))},c=Math.max(0,a.length-u.length),s=[],f=0;f1&&"boolean"!==typeof t)throw new o('"allowMissing" argument must be a boolean');if(null===A(/^%?[^%]*%?$/,e))throw new i("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=E(e),r=n.length>0?n[0]:"",a=S("%"+r+"%",t),u=a.name,c=a.value,s=!1,f=a.alias;f&&(r=f[0],D(n,b([0,1],f)));for(var d=1,h=!0;d=n.length){var g=l(c,p);c=(h=!!g)&&"get"in g&&!("originalValue"in g.get)?g.get:c[p]}else h=_(c,p),c=c[p];h&&!s&&(v[u]=c)}}return c}},520:function(e,t,n){"use strict";var r="undefined"!==typeof Symbol&&Symbol,i=n(541);e.exports=function(){return"function"===typeof r&&("function"===typeof Symbol&&("symbol"===typeof r("foo")&&("symbol"===typeof Symbol("bar")&&i())))}},541:function(e){"use strict";e.exports=function(){if("function"!==typeof Symbol||"function"!==typeof Object.getOwnPropertySymbols)return!1;if("symbol"===typeof Symbol.iterator)return!0;var e={},t=Symbol("test"),n=Object(t);if("string"===typeof t)return!1;if("[object Symbol]"!==Object.prototype.toString.call(t))return!1;if("[object Symbol]"!==Object.prototype.toString.call(n))return!1;for(t in e[t]=42,e)return!1;if("function"===typeof Object.keys&&0!==Object.keys(e).length)return!1;if("function"===typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var r=Object.getOwnPropertySymbols(e);if(1!==r.length||r[0]!==t)return!1;if(!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"===typeof Object.getOwnPropertyDescriptor){var i=Object.getOwnPropertyDescriptor(e,t);if(42!==i.value||!0!==i.enumerable)return!1}return!0}},838:function(e,t,n){"use strict";var r=n(199);e.exports=r.call(Function.call,Object.prototype.hasOwnProperty)},936:function(e,t,n){var r=/^\s+|\s+$/g,i=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,o=/^0o[0-7]+$/i,u=parseInt,l="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,c="object"==typeof self&&self&&self.Object===Object&&self,s=l||c||Function("return this")(),f=Object.prototype.toString,d=Math.max,h=Math.min,p=function(){return s.Date.now()};function v(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function m(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==f.call(e)}(e))return NaN;if(v(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=v(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(r,"");var n=a.test(e);return n||o.test(e)?u(e.slice(2),n?2:8):i.test(e)?NaN:+e}e.exports=function(e,t,n){var r,i,a,o,u,l,c=0,s=!1,f=!1,y=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function g(t){var n=r,a=i;return r=i=void 0,c=t,o=e.apply(a,n)}function _(e){return c=e,u=setTimeout(D,t),s?g(e):o}function b(e){var n=e-l;return void 0===l||n>=t||n<0||f&&e-c>=a}function D(){var e=p();if(b(e))return w(e);u=setTimeout(D,function(e){var n=t-(e-l);return f?h(n,a-(e-c)):n}(e))}function w(e){return u=void 0,y&&r?g(e):(r=i=void 0,o)}function x(){var e=p(),n=b(e);if(r=arguments,i=this,l=e,n){if(void 0===u)return _(l);if(f)return u=setTimeout(D,t),g(l)}return void 0===u&&(u=setTimeout(D,t)),o}return t=m(t)||0,v(n)&&(s=!!n.leading,a=(f="maxWait"in n)?d(m(n.maxWait)||0,t):a,y="trailing"in n?!!n.trailing:y),x.cancel=function(){void 0!==u&&clearTimeout(u),c=0,r=l=i=u=void 0},x.flush=function(){return void 0===u?o:w(p())},x}},7:function(e,t,n){var r="__lodash_hash_undefined__",i="[object Function]",a="[object GeneratorFunction]",o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,u=/^\w*$/,l=/^\./,c=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,s=/\\(\\)?/g,f=/^\[object .+?Constructor\]$/,d="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,h="object"==typeof self&&self&&self.Object===Object&&self,p=d||h||Function("return this")();var v=Array.prototype,m=Function.prototype,y=Object.prototype,g=p["__core-js_shared__"],_=function(){var e=/[^.]+$/.exec(g&&g.keys&&g.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),b=m.toString,D=y.hasOwnProperty,w=y.toString,x=RegExp("^"+b.call(D).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),A=p.Symbol,k=v.splice,C=P(p,"Map"),E=P(Object,"create"),S=A?A.prototype:void 0,N=S?S.toString:void 0;function F(e){var t=-1,n=e?e.length:0;for(this.clear();++t-1},O.prototype.set=function(e,t){var n=this.__data__,r=M(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},T.prototype.clear=function(){this.__data__={hash:new F,map:new(C||O),string:new F}},T.prototype.delete=function(e){return L(this,e).delete(e)},T.prototype.get=function(e){return L(this,e).get(e)},T.prototype.has=function(e){return L(this,e).has(e)},T.prototype.set=function(e,t){return L(this,e).set(e,t),this};var z=j((function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(U(e))return N?N.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(t);var n=[];return l.test(e)&&n.push(""),e.replace(c,(function(e,t,r,i){n.push(r?i.replace(s,"$1"):t||e)})),n}));function R(e){if("string"==typeof e||U(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function j(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function n(){var r=arguments,i=t?t.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=e.apply(this,r);return n.cache=a.set(i,o),o};return n.cache=new(j.Cache||T),n}j.Cache=T;var $=Array.isArray;function H(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function U(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==w.call(e)}e.exports=function(e,t,n){var r=null==e?void 0:B(e,t);return void 0===r?n:r}},61:function(e,t,n){var r="Expected a function",i=/^\s+|\s+$/g,a=/^[-+]0x[0-9a-f]+$/i,o=/^0b[01]+$/i,u=/^0o[0-7]+$/i,l=parseInt,c="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,s="object"==typeof self&&self&&self.Object===Object&&self,f=c||s||Function("return this")(),d=Object.prototype.toString,h=Math.max,p=Math.min,v=function(){return f.Date.now()};function m(e,t,n){var i,a,o,u,l,c,s=0,f=!1,d=!1,m=!0;if("function"!=typeof e)throw new TypeError(r);function _(t){var n=i,r=a;return i=a=void 0,s=t,u=e.apply(r,n)}function b(e){return s=e,l=setTimeout(w,t),f?_(e):u}function D(e){var n=e-c;return void 0===c||n>=t||n<0||d&&e-s>=o}function w(){var e=v();if(D(e))return x(e);l=setTimeout(w,function(e){var n=t-(e-c);return d?p(n,o-(e-s)):n}(e))}function x(e){return l=void 0,m&&i?_(e):(i=a=void 0,u)}function A(){var e=v(),n=D(e);if(i=arguments,a=this,c=e,n){if(void 0===l)return b(c);if(d)return l=setTimeout(w,t),_(c)}return void 0===l&&(l=setTimeout(w,t)),u}return t=g(t)||0,y(n)&&(f=!!n.leading,o=(d="maxWait"in n)?h(g(n.maxWait)||0,t):o,m="trailing"in n?!!n.trailing:m),A.cancel=function(){void 0!==l&&clearTimeout(l),s=0,i=c=a=l=void 0},A.flush=function(){return void 0===l?u:x(v())},A}function y(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function g(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==d.call(e)}(e))return NaN;if(y(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=y(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(i,"");var n=o.test(e);return n||u.test(e)?l(e.slice(2),n?2:8):a.test(e)?NaN:+e}e.exports=function(e,t,n){var i=!0,a=!0;if("function"!=typeof e)throw new TypeError(r);return y(n)&&(i="leading"in n?!!n.leading:i,a="trailing"in n?!!n.trailing:a),m(e,t,{leading:i,maxWait:t,trailing:a})}},154:function(e,t,n){var r="function"===typeof Map&&Map.prototype,i=Object.getOwnPropertyDescriptor&&r?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,a=r&&i&&"function"===typeof i.get?i.get:null,o=r&&Map.prototype.forEach,u="function"===typeof Set&&Set.prototype,l=Object.getOwnPropertyDescriptor&&u?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,c=u&&l&&"function"===typeof l.get?l.get:null,s=u&&Set.prototype.forEach,f="function"===typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,d="function"===typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,h="function"===typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,p=Boolean.prototype.valueOf,v=Object.prototype.toString,m=Function.prototype.toString,y=String.prototype.match,g=String.prototype.slice,_=String.prototype.replace,b=String.prototype.toUpperCase,D=String.prototype.toLowerCase,w=RegExp.prototype.test,x=Array.prototype.concat,A=Array.prototype.join,k=Array.prototype.slice,C=Math.floor,E="function"===typeof BigInt?BigInt.prototype.valueOf:null,S=Object.getOwnPropertySymbols,N="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?Symbol.prototype.toString:null,F="function"===typeof Symbol&&"object"===typeof Symbol.iterator,O="function"===typeof Symbol&&Symbol.toStringTag&&(typeof Symbol.toStringTag===F||"symbol")?Symbol.toStringTag:null,T=Object.prototype.propertyIsEnumerable,M=("function"===typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(e){return e.__proto__}:null);function B(e,t){if(e===1/0||e===-1/0||e!==e||e&&e>-1e3&&e<1e3||w.call(/e/,t))return t;var n=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"===typeof e){var r=e<0?-C(-e):C(e);if(r!==e){var i=String(r),a=g.call(t,i.length+1);return _.call(i,n,"$&_")+"."+_.call(_.call(a,/([0-9]{3})/g,"$&_"),/_$/,"")}}return _.call(t,n,"$&_")}var I=n(654),L=I.custom,P=H(L)?L:null;function z(e,t,n){var r="double"===(n.quoteStyle||t)?'"':"'";return r+e+r}function R(e){return _.call(String(e),/"/g,""")}function j(e){return"[object Array]"===V(e)&&(!O||!("object"===typeof e&&O in e))}function $(e){return"[object RegExp]"===V(e)&&(!O||!("object"===typeof e&&O in e))}function H(e){if(F)return e&&"object"===typeof e&&e instanceof Symbol;if("symbol"===typeof e)return!0;if(!e||"object"!==typeof e||!N)return!1;try{return N.call(e),!0}catch(t){}return!1}e.exports=function e(t,n,r,i){var u=n||{};if(Y(u,"quoteStyle")&&"single"!==u.quoteStyle&&"double"!==u.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(Y(u,"maxStringLength")&&("number"===typeof u.maxStringLength?u.maxStringLength<0&&u.maxStringLength!==1/0:null!==u.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var l=!Y(u,"customInspect")||u.customInspect;if("boolean"!==typeof l&&"symbol"!==l)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(Y(u,"indent")&&null!==u.indent&&"\t"!==u.indent&&!(parseInt(u.indent,10)===u.indent&&u.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(Y(u,"numericSeparator")&&"boolean"!==typeof u.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var v=u.numericSeparator;if("undefined"===typeof t)return"undefined";if(null===t)return"null";if("boolean"===typeof t)return t?"true":"false";if("string"===typeof t)return W(t,u);if("number"===typeof t){if(0===t)return 1/0/t>0?"0":"-0";var b=String(t);return v?B(t,b):b}if("bigint"===typeof t){var w=String(t)+"n";return v?B(t,w):w}var C="undefined"===typeof u.depth?5:u.depth;if("undefined"===typeof r&&(r=0),r>=C&&C>0&&"object"===typeof t)return j(t)?"[Array]":"[Object]";var S=function(e,t){var n;if("\t"===e.indent)n="\t";else{if(!("number"===typeof e.indent&&e.indent>0))return null;n=A.call(Array(e.indent+1)," ")}return{base:n,prev:A.call(Array(t+1),n)}}(u,r);if("undefined"===typeof i)i=[];else if(q(i,t)>=0)return"[Circular]";function L(t,n,a){if(n&&(i=k.call(i)).push(n),a){var o={depth:u.depth};return Y(u,"quoteStyle")&&(o.quoteStyle=u.quoteStyle),e(t,o,r+1,i)}return e(t,u,r+1,i)}if("function"===typeof t&&!$(t)){var U=function(e){if(e.name)return e.name;var t=y.call(m.call(e),/^function\s*([\w$]+)/);if(t)return t[1];return null}(t),Q=X(t,L);return"[Function"+(U?": "+U:" (anonymous)")+"]"+(Q.length>0?" { "+A.call(Q,", ")+" }":"")}if(H(t)){var ee=F?_.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):N.call(t);return"object"!==typeof t||F?ee:G(ee)}if(function(e){if(!e||"object"!==typeof e)return!1;if("undefined"!==typeof HTMLElement&&e instanceof HTMLElement)return!0;return"string"===typeof e.nodeName&&"function"===typeof e.getAttribute}(t)){for(var te="<"+D.call(String(t.nodeName)),ne=t.attributes||[],re=0;re",t.childNodes&&t.childNodes.length&&(te+="..."),te+=""+D.call(String(t.nodeName))+">"}if(j(t)){if(0===t.length)return"[]";var ie=X(t,L);return S&&!function(e){for(var t=0;t=0)return!1;return!0}(ie)?"["+K(ie,S)+"]":"[ "+A.call(ie,", ")+" ]"}if(function(e){return"[object Error]"===V(e)&&(!O||!("object"===typeof e&&O in e))}(t)){var ae=X(t,L);return"cause"in Error.prototype||!("cause"in t)||T.call(t,"cause")?0===ae.length?"["+String(t)+"]":"{ ["+String(t)+"] "+A.call(ae,", ")+" }":"{ ["+String(t)+"] "+A.call(x.call("[cause]: "+L(t.cause),ae),", ")+" }"}if("object"===typeof t&&l){if(P&&"function"===typeof t[P]&&I)return I(t,{depth:C-r});if("symbol"!==l&&"function"===typeof t.inspect)return t.inspect()}if(function(e){if(!a||!e||"object"!==typeof e)return!1;try{a.call(e);try{c.call(e)}catch(te){return!0}return e instanceof Map}catch(t){}return!1}(t)){var oe=[];return o.call(t,(function(e,n){oe.push(L(n,t,!0)+" => "+L(e,t))})),Z("Map",a.call(t),oe,S)}if(function(e){if(!c||!e||"object"!==typeof e)return!1;try{c.call(e);try{a.call(e)}catch(t){return!0}return e instanceof Set}catch(n){}return!1}(t)){var ue=[];return s.call(t,(function(e){ue.push(L(e,t))})),Z("Set",c.call(t),ue,S)}if(function(e){if(!f||!e||"object"!==typeof e)return!1;try{f.call(e,f);try{d.call(e,d)}catch(te){return!0}return e instanceof WeakMap}catch(t){}return!1}(t))return J("WeakMap");if(function(e){if(!d||!e||"object"!==typeof e)return!1;try{d.call(e,d);try{f.call(e,f)}catch(te){return!0}return e instanceof WeakSet}catch(t){}return!1}(t))return J("WeakSet");if(function(e){if(!h||!e||"object"!==typeof e)return!1;try{return h.call(e),!0}catch(t){}return!1}(t))return J("WeakRef");if(function(e){return"[object Number]"===V(e)&&(!O||!("object"===typeof e&&O in e))}(t))return G(L(Number(t)));if(function(e){if(!e||"object"!==typeof e||!E)return!1;try{return E.call(e),!0}catch(t){}return!1}(t))return G(L(E.call(t)));if(function(e){return"[object Boolean]"===V(e)&&(!O||!("object"===typeof e&&O in e))}(t))return G(p.call(t));if(function(e){return"[object String]"===V(e)&&(!O||!("object"===typeof e&&O in e))}(t))return G(L(String(t)));if(!function(e){return"[object Date]"===V(e)&&(!O||!("object"===typeof e&&O in e))}(t)&&!$(t)){var le=X(t,L),ce=M?M(t)===Object.prototype:t instanceof Object||t.constructor===Object,se=t instanceof Object?"":"null prototype",fe=!ce&&O&&Object(t)===t&&O in t?g.call(V(t),8,-1):se?"Object":"",de=(ce||"function"!==typeof t.constructor?"":t.constructor.name?t.constructor.name+" ":"")+(fe||se?"["+A.call(x.call([],fe||[],se||[]),": ")+"] ":"");return 0===le.length?de+"{}":S?de+"{"+K(le,S)+"}":de+"{ "+A.call(le,", ")+" }"}return String(t)};var U=Object.prototype.hasOwnProperty||function(e){return e in this};function Y(e,t){return U.call(e,t)}function V(e){return v.call(e)}function q(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0,r=e.length;nt.maxStringLength){var n=e.length-t.maxStringLength,r="... "+n+" more character"+(n>1?"s":"");return W(g.call(e,0,t.maxStringLength),t)+r}return z(_.call(_.call(e,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,Q),"single",t)}function Q(e){var t=e.charCodeAt(0),n={8:"b",9:"t",10:"n",12:"f",13:"r"}[t];return n?"\\"+n:"\\x"+(t<16?"0":"")+b.call(t.toString(16))}function G(e){return"Object("+e+")"}function J(e){return e+" { ? }"}function Z(e,t,n,r){return e+" ("+t+") {"+(r?K(n,r):A.call(n,", "))+"}"}function K(e,t){if(0===e.length)return"";var n="\n"+t.prev+t.base;return n+A.call(e,","+n)+"\n"+t.prev}function X(e,t){var n=j(e),r=[];if(n){r.length=e.length;for(var i=0;i-1?e.split(","):e},c=function(e,t,n,r){if(e){var a=n.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,o=/(\[[^[\]]*])/g,u=n.depth>0&&/(\[[^[\]]*])/.exec(a),c=u?a.slice(0,u.index):a,s=[];if(c){if(!n.plainObjects&&i.call(Object.prototype,c)&&!n.allowPrototypes)return;s.push(c)}for(var f=0;n.depth>0&&null!==(u=o.exec(a))&&f=0;--a){var o,u=e[a];if("[]"===u&&n.parseArrays)o=[].concat(i);else{o=n.plainObjects?Object.create(null):{};var c="["===u.charAt(0)&&"]"===u.charAt(u.length-1)?u.slice(1,-1):u,s=parseInt(c,10);n.parseArrays||""!==c?!isNaN(s)&&u!==c&&String(s)===c&&s>=0&&n.parseArrays&&s<=n.arrayLimit?(o=[])[s]=i:"__proto__"!==c&&(o[c]=i):o={0:i}}i=o}return i}(s,t,n,r)}};e.exports=function(e,t){var n=function(e){if(!e)return o;if(null!==e.decoder&&void 0!==e.decoder&&"function"!==typeof e.decoder)throw new TypeError("Decoder has to be a function.");if("undefined"!==typeof e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var t="undefined"===typeof e.charset?o.charset:e.charset;return{allowDots:"undefined"===typeof e.allowDots?o.allowDots:!!e.allowDots,allowPrototypes:"boolean"===typeof e.allowPrototypes?e.allowPrototypes:o.allowPrototypes,allowSparse:"boolean"===typeof e.allowSparse?e.allowSparse:o.allowSparse,arrayLimit:"number"===typeof e.arrayLimit?e.arrayLimit:o.arrayLimit,charset:t,charsetSentinel:"boolean"===typeof e.charsetSentinel?e.charsetSentinel:o.charsetSentinel,comma:"boolean"===typeof e.comma?e.comma:o.comma,decoder:"function"===typeof e.decoder?e.decoder:o.decoder,delimiter:"string"===typeof e.delimiter||r.isRegExp(e.delimiter)?e.delimiter:o.delimiter,depth:"number"===typeof e.depth||!1===e.depth?+e.depth:o.depth,ignoreQueryPrefix:!0===e.ignoreQueryPrefix,interpretNumericEntities:"boolean"===typeof e.interpretNumericEntities?e.interpretNumericEntities:o.interpretNumericEntities,parameterLimit:"number"===typeof e.parameterLimit?e.parameterLimit:o.parameterLimit,parseArrays:!1!==e.parseArrays,plainObjects:"boolean"===typeof e.plainObjects?e.plainObjects:o.plainObjects,strictNullHandling:"boolean"===typeof e.strictNullHandling?e.strictNullHandling:o.strictNullHandling}}(t);if(""===e||null===e||"undefined"===typeof e)return n.plainObjects?Object.create(null):{};for(var s="string"===typeof e?function(e,t){var n,c={},s=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,f=t.parameterLimit===1/0?void 0:t.parameterLimit,d=s.split(t.delimiter,f),h=-1,p=t.charset;if(t.charsetSentinel)for(n=0;n-1&&(m=a(m)?[m]:m),i.call(c,v)?c[v]=r.combine(c[v],m):c[v]=m}return c}(e,n):e,f=n.plainObjects?Object.create(null):{},d=Object.keys(s),h=0;h0?k.join(",")||null:void 0}];else if(l(h))B=h;else{var L=Object.keys(k);B=m?L.sort(m):L}for(var P=o&&l(k)&&1===k.length?n+"[]":n,z=0;z0?D+b:""}},837:function(e,t,n){"use strict";var r=n(609),i=Object.prototype.hasOwnProperty,a=Array.isArray,o=function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e}(),u=function(e,t){for(var n=t&&t.plainObjects?Object.create(null):{},r=0;r1;){var t=e.pop(),n=t.obj[t.prop];if(a(n)){for(var r=[],i=0;i=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122||a===r.RFC1738&&(40===s||41===s)?l+=u.charAt(c):s<128?l+=o[s]:s<2048?l+=o[192|s>>6]+o[128|63&s]:s<55296||s>=57344?l+=o[224|s>>12]+o[128|s>>6&63]+o[128|63&s]:(c+=1,s=65536+((1023&s)<<10|1023&u.charCodeAt(c)),l+=o[240|s>>18]+o[128|s>>12&63]+o[128|s>>6&63]+o[128|63&s])}return l},isBuffer:function(e){return!(!e||"object"!==typeof e)&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},isRegExp:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},maybeMap:function(e,t){if(a(e)){for(var n=[],r=0;r2&&(u.children=arguments.length>3?r.call(arguments,2):n),"function"==typeof e&&null!=e.defaultProps)for(o in e.defaultProps)void 0===u[o]&&(u[o]=e.defaultProps[o]);return v(e,u,i,a,null)}function v(e,t,n,r,o){var u={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==o?++a:o};return null==o&&null!=i.vnode&&i.vnode(u),u}function m(){return{current:null}}function y(e){return e.children}function g(e,t){this.props=e,this.context=t}function _(e,t){if(null==t)return e.__?_(e.__,e.__.__k.indexOf(e)+1):null;for(var n;t0?v(m.type,m.props,m.key,m.ref?m.ref:null,m.__v):m)){if(m.__=n,m.__b=n.__b+1,null===(p=w[d])||p&&m.key==p.key&&m.type===p.type)w[d]=void 0;else for(h=0;h2&&(u.children=arguments.length>3?r.call(arguments,2):n),v(e.type,u,i||e.key,a||e.ref,null)}function j(e,t){var n={__c:t="__cC"+l++,__:e,Consumer:function(e,t){return e.children(t)},Provider:function(e){var n,r;return this.getChildContext||(n=[],(r={})[t]=this,this.getChildContext=function(){return r},this.shouldComponentUpdate=function(e){this.props.value!==e.value&&n.some(D)},this.sub=function(e){n.push(e);var t=e.componentWillUnmount;e.componentWillUnmount=function(){n.splice(n.indexOf(e),1),t&&t.call(e)}}),e.children}};return n.Provider.__=n.Consumer.contextType=n}r=s.slice,i={__e:function(e,t,n,r){for(var i,a,o;t=t.__;)if((i=t.__c)&&!i.__)try{if((a=i.constructor)&&null!=a.getDerivedStateFromError&&(i.setState(a.getDerivedStateFromError(e)),o=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(e,r||{}),o=i.__d),o)return i.__E=i}catch(t){e=t}throw e}},a=0,g.prototype.setState=function(e,t){var n;n=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=d({},this.state),"function"==typeof e&&(e=e(d({},n),this.props)),e&&d(n,e),null!=e&&this.__v&&(t&&this._sb.push(t),D(this))},g.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),D(this))},g.prototype.render=y,o=[],w.__r=0,l=0;var $,H,U,Y,V=0,q=[],W=[],Q=i.__b,G=i.__r,J=i.diffed,Z=i.__c,K=i.unmount;function X(e,t){i.__h&&i.__h(H,e,V||t),V=0;var n=H.__H||(H.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({__V:W}),n.__[e]}function ee(e){return V=1,te(ge,e)}function te(e,t,n){var r=X($++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):ge(void 0,t),function(e){var t=r.__N?r.__N[0]:r.__[0],n=r.t(t,e);t!==n&&(r.__N=[n,r.__[1]],r.__c.setState({}))}],r.__c=H,!H.u)){H.u=!0;var i=H.shouldComponentUpdate;H.shouldComponentUpdate=function(e,t,n){if(!r.__c.__H)return!0;var a=r.__c.__H.__.filter((function(e){return e.__c}));if(a.every((function(e){return!e.__N})))return!i||i.call(this,e,t,n);var o=!1;return a.forEach((function(e){if(e.__N){var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(o=!0)}})),!(!o&&r.__c.props===e)&&(!i||i.call(this,e,t,n))}}return r.__N||r.__}function ne(e,t){var n=X($++,3);!i.__s&&ye(n.__H,t)&&(n.__=e,n.i=t,H.__H.__h.push(n))}function re(e,t){var n=X($++,4);!i.__s&&ye(n.__H,t)&&(n.__=e,n.i=t,H.__h.push(n))}function ie(e){return V=5,oe((function(){return{current:e}}),[])}function ae(e,t,n){V=6,re((function(){return"function"==typeof e?(e(t()),function(){return e(null)}):e?(e.current=t(),function(){return e.current=null}):void 0}),null==n?n:n.concat(e))}function oe(e,t){var n=X($++,7);return ye(n.__H,t)?(n.__V=e(),n.i=t,n.__h=e,n.__V):n.__}function ue(e,t){return V=8,oe((function(){return e}),t)}function le(e){var t=H.context[e.__c],n=X($++,9);return n.c=e,t?(null==n.__&&(n.__=!0,t.sub(H)),t.props.value):e.__}function ce(e,t){i.useDebugValue&&i.useDebugValue(t?t(e):e)}function se(e){var t=X($++,10),n=ee();return t.__=e,H.componentDidCatch||(H.componentDidCatch=function(e,r){t.__&&t.__(e,r),n[1](e)}),[n[0],function(){n[1](void 0)}]}function fe(){var e=X($++,11);if(!e.__){for(var t=H.__v;null!==t&&!t.__m&&null!==t.__;)t=t.__;var n=t.__m||(t.__m=[0,0]);e.__="P"+n[0]+"-"+n[1]++}return e.__}function de(){for(var e;e=q.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(ve),e.__H.__h.forEach(me),e.__H.__h=[]}catch(l){e.__H.__h=[],i.__e(l,e.__v)}}i.__b=function(e){H=null,Q&&Q(e)},i.__r=function(e){G&&G(e),$=0;var t=(H=e.__c).__H;t&&(U===H?(t.__h=[],H.__h=[],t.__.forEach((function(e){e.__N&&(e.__=e.__N),e.__V=W,e.__N=e.i=void 0}))):(t.__h.forEach(ve),t.__h.forEach(me),t.__h=[])),U=H},i.diffed=function(e){J&&J(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(1!==q.push(t)&&Y===i.requestAnimationFrame||((Y=i.requestAnimationFrame)||pe)(de)),t.__H.__.forEach((function(e){e.i&&(e.__H=e.i),e.__V!==W&&(e.__=e.__V),e.i=void 0,e.__V=W}))),U=H=null},i.__c=function(e,t){t.some((function(e){try{e.__h.forEach(ve),e.__h=e.__h.filter((function(e){return!e.__||me(e)}))}catch(a){t.some((function(e){e.__h&&(e.__h=[])})),t=[],i.__e(a,e.__v)}})),Z&&Z(e,t)},i.unmount=function(e){K&&K(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach((function(e){try{ve(e)}catch(e){t=e}})),n.__H=void 0,t&&i.__e(t,n.__v))};var he="function"==typeof requestAnimationFrame;function pe(e){var t,n=function(){clearTimeout(r),he&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,100);he&&(t=requestAnimationFrame(n))}function ve(e){var t=H,n=e.__c;"function"==typeof n&&(e.__c=void 0,n()),H=t}function me(e){var t=H;e.__c=e.__(),H=t}function ye(e,t){return!e||e.length!==t.length||t.some((function(t,n){return t!==e[n]}))}function ge(e,t){return"function"==typeof t?t(e):t}function _e(e,t){for(var n in t)e[n]=t[n];return e}function be(e,t){for(var n in e)if("__source"!==n&&!(n in t))return!0;for(var r in t)if("__source"!==r&&e[r]!==t[r])return!0;return!1}function De(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t}function we(e){this.props=e}function xe(e,t){function n(e){var n=this.props.ref,r=n==e.ref;return!r&&n&&(n.call?n(null):n.current=null),t?!t(this.props,e)||!r:be(this.props,e)}function r(t){return this.shouldComponentUpdate=n,p(e,t)}return r.displayName="Memo("+(e.displayName||e.name)+")",r.prototype.isReactComponent=!0,r.__f=!0,r}(we.prototype=new g).isPureReactComponent=!0,we.prototype.shouldComponentUpdate=function(e,t){return be(this.props,e)||be(this.state,t)};var Ae=i.__b;i.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),Ae&&Ae(e)};var ke="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function Ce(e){function t(t){var n=_e({},t);return delete n.ref,e(n,t.ref||null)}return t.$$typeof=ke,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(e.displayName||e.name)+")",t}var Ee=function(e,t){return null==e?null:k(k(e).map(t))},Se={map:Ee,forEach:Ee,count:function(e){return e?k(e).length:0},only:function(e){var t=k(e);if(1!==t.length)throw"Children.only";return t[0]},toArray:k},Ne=i.__e;i.__e=function(e,t,n,r){if(e.then)for(var i,a=t;a=a.__;)if((i=a.__c)&&i.__c)return null==t.__e&&(t.__e=n.__e,t.__k=n.__k),i.__c(e,t);Ne(e,t,n,r)};var Fe=i.unmount;function Oe(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach((function(e){"function"==typeof e.__c&&e.__c()})),e.__c.__H=null),null!=(e=_e({},e)).__c&&(e.__c.__P===n&&(e.__c.__P=t),e.__c=null),e.__k=e.__k&&e.__k.map((function(e){return Oe(e,t,n)}))),e}function Te(e,t,n){return e&&(e.__v=null,e.__k=e.__k&&e.__k.map((function(e){return Te(e,t,n)})),e.__c&&e.__c.__P===t&&(e.__e&&n.insertBefore(e.__e,e.__d),e.__c.__e=!0,e.__c.__P=n)),e}function Me(){this.__u=0,this.t=null,this.__b=null}function Be(e){var t=e.__.__c;return t&&t.__a&&t.__a(e)}function Ie(e){var t,n,r;function i(i){if(t||(t=e()).then((function(e){n=e.default||e}),(function(e){r=e})),r)throw r;if(!n)throw t;return p(n,i)}return i.displayName="Lazy",i.__f=!0,i}function Le(){this.u=null,this.o=null}i.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&!0===e.__h&&(e.type=null),Fe&&Fe(e)},(Me.prototype=new g).__c=function(e,t){var n=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(n);var i=Be(r.__v),a=!1,o=function(){a||(a=!0,n.__R=null,i?i(u):u())};n.__R=o;var u=function(){if(!--r.__u){if(r.state.__a){var e=r.state.__a;r.__v.__k[0]=Te(e,e.__c.__P,e.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.t.pop();)t.forceUpdate()}},l=!0===t.__h;r.__u++||l||r.setState({__a:r.__b=r.__v.__k[0]}),e.then(o,o)},Me.prototype.componentWillUnmount=function(){this.t=[]},Me.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),r=this.__v.__k[0].__c;this.__v.__k[0]=Oe(this.__b,n,r.__O=r.__P)}this.__b=null}var i=t.__a&&p(y,null,e.fallback);return i&&(i.__h=null),[p(y,null,t.__a?null:e.children),i]};var Pe=function(e,t,n){if(++n[1]===n[0]&&e.o.delete(t),e.props.revealOrder&&("t"!==e.props.revealOrder[0]||!e.o.size))for(n=e.u;n;){for(;n.length>3;)n.pop()();if(n[1]>>1,1),t.i.removeChild(e)}}),P(p(ze,{context:t.context},e.__v),t.l)):t.l&&t.componentWillUnmount()}function je(e,t){var n=p(Re,{__v:e,i:t});return n.containerInfo=t,n}(Le.prototype=new g).__a=function(e){var t=this,n=Be(t.__v),r=t.o.get(e);return r[0]++,function(i){var a=function(){t.props.revealOrder?(r.push(i),Pe(t,e,r)):i()};n?n(a):a()}},Le.prototype.render=function(e){this.u=null,this.o=new Map;var t=k(e.children);e.revealOrder&&"b"===e.revealOrder[0]&&t.reverse();for(var n=t.length;n--;)this.o.set(t[n],this.u=[1,0,this.u]);return e.children},Le.prototype.componentDidUpdate=Le.prototype.componentDidMount=function(){var e=this;this.o.forEach((function(t,n){Pe(e,n,t)}))};var $e="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,He=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,Ue="undefined"!=typeof document,Ye=function(e){return("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/i:/fil|che|ra/i).test(e)};function Ve(e,t,n){return null==t.__k&&(t.textContent=""),P(e,t),"function"==typeof n&&n(),e?e.__c:null}function qe(e,t,n){return z(e,t),"function"==typeof n&&n(),e?e.__c:null}g.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach((function(e){Object.defineProperty(g.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})}));var We=i.event;function Qe(){}function Ge(){return this.cancelBubble}function Je(){return this.defaultPrevented}i.event=function(e){return We&&(e=We(e)),e.persist=Qe,e.isPropagationStopped=Ge,e.isDefaultPrevented=Je,e.nativeEvent=e};var Ze,Ke={configurable:!0,get:function(){return this.class}},Xe=i.vnode;i.vnode=function(e){var t=e.type,n=e.props,r=n;if("string"==typeof t){var i=-1===t.indexOf("-");for(var a in r={},n){var o=n[a];Ue&&"children"===a&&"noscript"===t||"value"===a&&"defaultValue"in n&&null==o||("defaultValue"===a&&"value"in n&&null==n.value?a="value":"download"===a&&!0===o?o="":/ondoubleclick/i.test(a)?a="ondblclick":/^onchange(textarea|input)/i.test(a+t)&&!Ye(n.type)?a="oninput":/^onfocus$/i.test(a)?a="onfocusin":/^onblur$/i.test(a)?a="onfocusout":/^on(Ani|Tra|Tou|BeforeInp|Compo)/.test(a)?a=a.toLowerCase():i&&He.test(a)?a=a.replace(/[A-Z0-9]/g,"-$&").toLowerCase():null===o&&(o=void 0),/^oninput$/i.test(a)&&(a=a.toLowerCase(),r[a]&&(a="oninputCapture")),r[a]=o)}"select"==t&&r.multiple&&Array.isArray(r.value)&&(r.value=k(n.children).forEach((function(e){e.props.selected=-1!=r.value.indexOf(e.props.value)}))),"select"==t&&null!=r.defaultValue&&(r.value=k(n.children).forEach((function(e){e.props.selected=r.multiple?-1!=r.defaultValue.indexOf(e.props.value):r.defaultValue==e.props.value}))),e.props=r,n.class!=n.className&&(Ke.enumerable="className"in n,null!=n.className&&(r.class=n.className),Object.defineProperty(r,"className",Ke))}e.$$typeof=$e,Xe&&Xe(e)};var et=i.__r;i.__r=function(e){et&&et(e),Ze=e.__c};var tt={ReactCurrentDispatcher:{current:{readContext:function(e){return Ze.__n[e.__c].props.value}}}},nt="17.0.2";function rt(e){return p.bind(null,e)}function it(e){return!!e&&e.$$typeof===$e}function at(e){return it(e)?R.apply(null,arguments):e}function ot(e){return!!e.__k&&(P(null,e),!0)}function ut(e){return e&&(e.base||1===e.nodeType&&e)||null}var lt=function(e,t){return e(t)},ct=function(e,t){return e(t)},st=y;function ft(e){e()}function dt(e){return e}function ht(){return[!1,ft]}var pt=re;function vt(e,t){var n=t(),r=ee({h:{__:n,v:t}}),i=r[0].h,a=r[1];return re((function(){i.__=n,i.v=t,De(i.__,t())||a({h:i})}),[e,n,t]),ne((function(){return De(i.__,i.v())||a({h:i}),e((function(){De(i.__,i.v())||a({h:i})}))}),[e]),n}var mt,yt={useState:ee,useId:fe,useReducer:te,useEffect:ne,useLayoutEffect:re,useInsertionEffect:pt,useTransition:ht,useDeferredValue:dt,useSyncExternalStore:vt,startTransition:ft,useRef:ie,useImperativeHandle:ae,useMemo:oe,useCallback:ue,useContext:le,useDebugValue:ce,version:"17.0.2",Children:Se,render:Ve,hydrate:qe,unmountComponentAtNode:ot,createPortal:je,createElement:p,createContext:j,createFactory:rt,cloneElement:at,createRef:m,Fragment:y,isValidElement:it,findDOMNode:ut,Component:g,PureComponent:we,memo:xe,forwardRef:Ce,flushSync:ct,unstable_batchedUpdates:lt,StrictMode:st,Suspense:Me,SuspenseList:Le,lazy:Ie,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:tt},gt=n(658),_t=n.n(gt),bt=n(443),Dt=n.n(bt),wt=n(446),xt=n.n(wt),At=n(635),kt=n.n(At);function Ct(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0&&(t.hash=e.substr(n),e=e.substr(0,n));var r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function Kt(e){var t="undefined"!==typeof window&&"undefined"!==typeof window.location&&"null"!==window.location.origin?window.location.origin:window.location.href,n="string"===typeof e?e:Jt(e);return qt(t,"No window.location.(origin|href) available to create URL for href: "+n),new URL(n,t)}function Xt(e,t,n,r){void 0===r&&(r={});var i=r,a=i.window,o=void 0===a?document.defaultView:a,u=i.v5Compat,l=void 0!==u&&u,c=o.history,s=mt.Pop,f=null;function d(){s=mt.Pop,f&&f({action:s,location:h.location})}var h={get action(){return s},get location(){return e(o,c)},listen:function(e){if(f)throw new Error("A history only accepts one active listener");return o.addEventListener(Vt,d),f=e,function(){o.removeEventListener(Vt,d),f=null}},createHref:function(e){return t(o,e)},encodeLocation:function(e){var t=Kt("string"===typeof e?e:Jt(e));return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,t){s=mt.Push;var r=Gt(h.location,e,t);n&&n(r,e);var i=Qt(r),a=h.createHref(r);try{c.pushState(i,"",a)}catch(u){o.location.assign(a)}l&&f&&f({action:s,location:h.location})},replace:function(e,t){s=mt.Replace;var r=Gt(h.location,e,t);n&&n(r,e);var i=Qt(r),a=h.createHref(r);c.replaceState(i,"",a),l&&f&&f({action:s,location:h.location})},go:function(e){return c.go(e)}};return h}function en(e,t,n){void 0===n&&(n="/");var r=cn(("string"===typeof t?Zt(t):t).pathname||"/",n);if(null==r)return null;var i=tn(e);!function(e){e.sort((function(e,t){return e.score!==t.score?t.score-e.score:function(e,t){var n=e.length===t.length&&e.slice(0,-1).every((function(e,n){return e===t[n]}));return n?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map((function(e){return e.childrenIndex})),t.routesMeta.map((function(e){return e.childrenIndex})))}))}(i);for(var a=null,o=0;null==a&&o0&&(qt(!0!==e.index,'Index routes must not have child routes. Please remove all child routes from route path "'+o+'".'),tn(e.children,t,u,o)),(null!=e.path||e.index)&&t.push({path:o,score:an(o,e.index),routesMeta:u})})),t}!function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"}(Yt||(Yt={}));var nn=/^:\w+$/,rn=function(e){return"*"===e};function an(e,t){var n=e.split("/"),r=n.length;return n.some(rn)&&(r+=-2),t&&(r+=2),n.filter((function(e){return!rn(e)})).reduce((function(e,t){return e+(nn.test(t)?3:""===t?1:10)}),r)}function on(e,t){for(var n=e.routesMeta,r={},i="/",a=[],o=0;o and the router will parse it for you.'}function dn(e){return e.filter((function(e,t){return 0===t||e.route.path&&e.route.path.length>0}))}function hn(e,t,n,r){var i;void 0===r&&(r=!1),"string"===typeof e?i=Zt(e):(qt(!(i=Ut({},e)).pathname||!i.pathname.includes("?"),fn("?","pathname","search",i)),qt(!i.pathname||!i.pathname.includes("#"),fn("#","pathname","hash",i)),qt(!i.search||!i.search.includes("#"),fn("#","search","hash",i)));var a,o=""===e||""===i.pathname,u=o?"/":i.pathname;if(r||null==u)a=n;else{var l=t.length-1;if(u.startsWith("..")){for(var c=u.split("/");".."===c[0];)c.shift(),l-=1;i.pathname=c.join("/")}a=l>=0?t[l]:"/"}var s=function(e,t){void 0===t&&(t="/");var n="string"===typeof e?Zt(e):e,r=n.pathname,i=n.search,a=void 0===i?"":i,o=n.hash,u=void 0===o?"":o,l=r?r.startsWith("/")?r:function(e,t){var n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach((function(e){".."===e?n.length>1&&n.pop():"."!==e&&n.push(e)})),n.length>1?n.join("/"):"/"}(r,t):t;return{pathname:l,search:mn(a),hash:yn(u)}}(i,a),f=u&&"/"!==u&&u.endsWith("/"),d=(o||"."===u)&&n.endsWith("/");return s.pathname.endsWith("/")||!f&&!d||(s.pathname+="/"),s}var pn=function(e){return e.join("/").replace(/\/\/+/g,"/")},vn=function(e){return e.replace(/\/+$/,"").replace(/^\/*/,"/")},mn=function(e){return e&&"?"!==e?e.startsWith("?")?e:"?"+e:""},yn=function(e){return e&&"#"!==e?e.startsWith("#")?e:"#"+e:""};Error;var gn=Bt((function e(t,n,r,i){Ft(this,e),void 0===i&&(i=!1),this.status=t,this.statusText=n||"",this.internal=i,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}));function _n(e){return e instanceof gn}var bn=["post","put","patch","delete"],Dn=(new Set(bn),["get"].concat(bn));new Set(Dn),new Set([301,302,303,307,308]),new Set([307,308]),"undefined"!==typeof window&&"undefined"!==typeof window.document&&window.document.createElement;function wn(){return wn=Object.assign?Object.assign.bind():function(e){for(var t=1;t")))}var Hn,Un,Yn=function(e){Lt(n,e);var t=jt(n);function n(e){var r;return Ft(this,n),(r=t.call(this,e)).state={location:e.location,error:e.error},r}return Bt(n,[{key:"componentDidCatch",value:function(e,t){console.error("React Router caught the following error during render",e,t)}},{key:"render",value:function(){return this.state.error?p(In.Provider,{value:this.state.error,children:this.props.component}):this.props.children}}],[{key:"getDerivedStateFromError",value:function(e){return{error:e}}},{key:"getDerivedStateFromProps",value:function(e,t){return t.location!==e.location?{error:e.error,location:e.location}:{error:e.error||t.error,location:t.location}}}]),n}(g);function Vn(e){var t=e.routeContext,n=e.match,r=e.children,i=le(Nn);return i&&n.route.errorElement&&(i._deepestRenderedBoundaryId=n.route.id),p(Bn.Provider,{value:t},r)}function qn(e,t,n){if(void 0===t&&(t=[]),null==e){if(null==n||!n.errors)return null;e=n.matches}var r=e,i=null==n?void 0:n.errors;if(null!=i){var a=r.findIndex((function(e){return e.route.id&&(null==i?void 0:i[e.route.id])}));a>=0||qt(!1),r=r.slice(0,Math.min(r.length,a+1))}return r.reduceRight((function(e,a,o){var u=a.route.id?null==i?void 0:i[a.route.id]:null,l=n?a.route.errorElement||p($n,null):null,c=function(){return p(Vn,{match:a,routeContext:{outlet:e,matches:t.concat(r.slice(0,o+1))}},u?l:void 0!==a.route.element?a.route.element:e)};return n&&(a.route.errorElement||0===o)?p(Yn,{location:n.location,component:l,error:u,children:c()}):c()}),null)}function Wn(e){var t=le(On);return t||qt(!1),t}!function(e){e.UseRevalidator="useRevalidator"}(Hn||(Hn={})),function(e){e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator"}(Un||(Un={}));var Qn;function Gn(e){return function(e){var t=le(Bn).outlet;return t?p(Rn.Provider,{value:e},t):t}(e.context)}function Jn(e){qt(!1)}function Zn(e){var t=e.basename,n=void 0===t?"/":t,r=e.children,i=void 0===r?null:r,a=e.location,o=e.navigationType,u=void 0===o?mt.Pop:o,l=e.navigator,c=e.static,s=void 0!==c&&c;Ln()&&qt(!1);var f=n.replace(/^\/*/,"/"),d=oe((function(){return{basename:f,navigator:l,static:s}}),[f,l,s]);"string"===typeof a&&(a=Zt(a));var h=a,v=h.pathname,m=void 0===v?"/":v,y=h.search,g=void 0===y?"":y,_=h.hash,b=void 0===_?"":_,D=h.state,w=void 0===D?null:D,x=h.key,A=void 0===x?"default":x,k=oe((function(){var e=cn(m,f);return null==e?null:{pathname:e,search:g,hash:b,state:w,key:A}}),[f,m,g,b,w,A]);return null==k?null:p(Tn.Provider,{value:d},p(Mn.Provider,{children:i,value:{location:k,navigationType:u}}))}function Kn(e){var t=e.children,n=e.location,r=le(Fn);return function(e,t){Ln()||qt(!1);var n,r=le(Tn).navigator,i=le(On),a=le(Bn).matches,o=a[a.length-1],u=o?o.params:{},l=(o&&o.pathname,o?o.pathnameBase:"/"),c=(o&&o.route,Pn());if(t){var s,f="string"===typeof t?Zt(t):t;"/"===l||(null==(s=f.pathname)?void 0:s.startsWith(l))||qt(!1),n=f}else n=c;var d=n.pathname||"/",h=en(e,{pathname:"/"===l?d:d.slice(l.length)||"/"}),v=qn(h&&h.map((function(e){return Object.assign({},e,{params:Object.assign({},u,e.params),pathname:pn([l,r.encodeLocation?r.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?l:pn([l,r.encodeLocation?r.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])})})),a,i||void 0);return t&&v?p(Mn.Provider,{value:{location:wn({pathname:"/",search:"",hash:"",state:null,key:"default"},n),navigationType:mt.Pop}},v):v}(r&&!t?r.router.routes:Xn(t),n)}!function(e){e[e.pending=0]="pending",e[e.success=1]="success",e[e.error=2]="error"}(Qn||(Qn={}));new Promise((function(){}));function Xn(e,t){void 0===t&&(t=[]);var n=[];return Se.forEach(e,(function(e,r){if(it(e))if(e.type!==y){e.type!==Jn&&qt(!1),e.props.index&&e.props.children&&qt(!1);var i=[].concat(Nt(t),[r]),a={id:e.props.id||i.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,index:e.props.index,path:e.props.path,loader:e.props.loader,action:e.props.action,errorElement:e.props.errorElement,hasErrorBoundary:null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle};e.props.children&&(a.children=Xn(e.props.children,i)),n.push(a)}else n.push.apply(n,Xn(e.props.children,t))})),n}function er(){return er=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(i[n]=e[n]);return i}var nr=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset"],rr=["aria-current","caseSensitive","className","end","style","to","children"];function ir(e){var t=e.basename,n=e.children,r=e.window,i=ie();null==i.current&&(i.current=function(e){return void 0===e&&(e={}),Xt((function(e,t){var n=Zt(e.location.hash.substr(1)),r=n.pathname,i=void 0===r?"/":r,a=n.search,o=void 0===a?"":a,u=n.hash;return Gt("",{pathname:i,search:o,hash:void 0===u?"":u},t.state&&t.state.usr||null,t.state&&t.state.key||"default")}),(function(e,t){var n=e.document.querySelector("base"),r="";if(n&&n.getAttribute("href")){var i=e.location.href,a=i.indexOf("#");r=-1===a?i:i.slice(0,a)}return r+"#"+("string"===typeof t?t:Jt(t))}),(function(e,t){Wt("/"===e.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(t)+")")}),e)}({window:r,v5Compat:!0}));var a=i.current,o=St(ee({action:a.action,location:a.location}),2),u=o[0],l=o[1];return re((function(){return a.listen(l)}),[a]),p(Zn,{basename:t,children:n,location:u.location,navigationType:u.action,navigator:a})}var ar=Ce((function(e,t){var n=e.onClick,r=e.relative,i=e.reloadDocument,a=e.replace,o=e.state,u=e.target,l=e.to,c=e.preventScrollReset,s=tr(e,nr),f=function(e,t){var n=(void 0===t?{}:t).relative;Ln()||qt(!1);var r=le(Tn),i=r.basename,a=r.navigator,o=jn(e,{relative:n}),u=o.hash,l=o.pathname,c=o.search,s=l;return"/"!==i&&(s="/"===l?i:pn([i,l])),a.createHref({pathname:s,search:c,hash:u})}(l,{relative:r}),d=function(e,t){var n=void 0===t?{}:t,r=n.target,i=n.replace,a=n.state,o=n.preventScrollReset,u=n.relative,l=zn(),c=Pn(),s=jn(e,{relative:u});return ue((function(t){if(function(e,t){return 0===e.button&&(!t||"_self"===t)&&!function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)}(t,r)){t.preventDefault();var n=void 0!==i?i:Jt(c)===Jt(s);l(e,{replace:n,state:a,preventScrollReset:o,relative:u})}}),[c,l,s,i,a,r,e,o,u])}(l,{replace:a,state:o,target:u,preventScrollReset:c,relative:r});return p("a",er({},s,{href:f,onClick:i?n:function(e){n&&n(e),e.defaultPrevented||d(e)},ref:t,target:u}))}));var or=Ce((function(e,t){var n=e["aria-current"],r=void 0===n?"page":n,i=e.caseSensitive,a=void 0!==i&&i,o=e.className,u=void 0===o?"":o,l=e.end,c=void 0!==l&&l,s=e.style,f=e.to,d=e.children,h=tr(e,rr),v=jn(f,{relative:h.relative}),m=Pn(),y=le(On),g=le(Tn).navigator,_=g.encodeLocation?g.encodeLocation(v).pathname:v.pathname,b=m.pathname,D=y&&y.navigation&&y.navigation.location?y.navigation.location.pathname:null;a||(b=b.toLowerCase(),D=D?D.toLowerCase():null,_=_.toLowerCase());var w,x=b===_||!c&&b.startsWith(_)&&"/"===b.charAt(_.length),A=null!=D&&(D===_||!c&&D.startsWith(_)&&"/"===D.charAt(_.length)),k=x?r:void 0;w="function"===typeof u?u({isActive:x,isPending:A}):[u,x?"active":null,A?"pending":null].filter(Boolean).join(" ");var C="function"===typeof s?s({isActive:x,isPending:A}):s;return p(ar,er({},h,{"aria-current":k,className:w,ref:t,style:C,to:f}),"function"===typeof d?d({isActive:x,isPending:A}):d)}));var ur,lr;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmitImpl="useSubmitImpl",e.UseFetcher="useFetcher"})(ur||(ur={})),function(e){e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"}(lr||(lr={}));var cr;function sr(e,t,n){return(t=Tt(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function fr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function dr(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:window.location.search,r=br().parse(n,{ignoreQueryPrefix:!0});return wr()(r,e,t||"")},Er={serverUrl:yr().serverURL||window.location.href.replace(/\/(?:prometheus\/)?(?:graph|vmui)\/.*/,"/prometheus"),tenantId:Number(Cr("g0.tenantID",0))};function Sr(e,t){switch(t.type){case"SET_SERVER":return dr(dr({},e),{},{serverUrl:t.payload});case"SET_TENANT_ID":return dr(dr({},e),{},{tenantId:t.payload});default:throw new Error}}var Nr=0;function Fr(e,t,n,r,a){var o,u,l={};for(u in t)"ref"==u?o=t[u]:l[u]=t[u];var c={type:e,props:l,key:n,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:--Nr,__source:a,__self:r};if("function"==typeof e&&(o=e.defaultProps))for(u in o)void 0===l[u]&&(l[u]=o[u]);return i.vnode&&i.vnode(c),c}var Or=j({}),Tr=function(){return le(Or).state},Mr=function(){return le(Or).dispatch},Br=Object.entries(Er).reduce((function(e,t){var n=St(t,2),r=n[0],i=n[1];return dr(dr({},e),{},sr({},r,Cr(r)||i))}),{}),Ir="YYYY-MM-DD",Lr="YYYY-MM-DD HH:mm:ss",Pr="YYYY-MM-DD[T]HH:mm:ss",zr=window.innerWidth/4,Rr=1,jr=1578e8,$r=Intl.supportedValuesOf,Hr=$r?$r("timeZone"):["Africa/Abidjan","Africa/Accra","Africa/Addis_Ababa","Africa/Algiers","Africa/Asmera","Africa/Bamako","Africa/Bangui","Africa/Banjul","Africa/Bissau","Africa/Blantyre","Africa/Brazzaville","Africa/Bujumbura","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/Conakry","Africa/Dakar","Africa/Dar_es_Salaam","Africa/Djibouti","Africa/Douala","Africa/El_Aaiun","Africa/Freetown","Africa/Gaborone","Africa/Harare","Africa/Johannesburg","Africa/Juba","Africa/Kampala","Africa/Khartoum","Africa/Kigali","Africa/Kinshasa","Africa/Lagos","Africa/Libreville","Africa/Lome","Africa/Luanda","Africa/Lubumbashi","Africa/Lusaka","Africa/Malabo","Africa/Maputo","Africa/Maseru","Africa/Mbabane","Africa/Mogadishu","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Niamey","Africa/Nouakchott","Africa/Ouagadougou","Africa/Porto-Novo","Africa/Sao_Tome","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Anguilla","America/Antigua","America/Araguaina","America/Argentina/La_Rioja","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Aruba","America/Asuncion","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Buenos_Aires","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Catamarca","America/Cayenne","America/Cayman","America/Chicago","America/Chihuahua","America/Coral_Harbour","America/Cordoba","America/Costa_Rica","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Dominica","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Fort_Nelson","America/Fortaleza","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Grenada","America/Guadeloupe","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Indianapolis","America/Inuvik","America/Iqaluit","America/Jamaica","America/Jujuy","America/Juneau","America/Kentucky/Monticello","America/Kralendijk","America/La_Paz","America/Lima","America/Los_Angeles","America/Louisville","America/Lower_Princes","America/Maceio","America/Managua","America/Manaus","America/Marigot","America/Martinique","America/Matamoros","America/Mazatlan","America/Mendoza","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Montreal","America/Montserrat","America/Nassau","America/New_York","America/Nipigon","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Ojinaga","America/Panama","America/Pangnirtung","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rainy_River","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Santa_Isabel","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Sitka","America/St_Barthelemy","America/St_Johns","America/St_Kitts","America/St_Lucia","America/St_Thomas","America/St_Vincent","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Thunder_Bay","America/Tijuana","America/Toronto","America/Tortola","America/Vancouver","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/McMurdo","Antarctica/Palmer","Antarctica/Rothera","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Arctic/Longyearbyen","Asia/Aden","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Atyrau","Asia/Baghdad","Asia/Bahrain","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Calcutta","Asia/Chita","Asia/Choibalsan","Asia/Colombo","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Hebron","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Katmandu","Asia/Khandyga","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Muscat","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Phnom_Penh","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Rangoon","Asia/Riyadh","Asia/Saigon","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ulaanbaatar","Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane","Asia/Vladivostok","Asia/Yakutsk","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faeroe","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/St_Helena","Atlantic/Stanley","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/Perth","Australia/Sydney","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belgrade","Europe/Berlin","Europe/Bratislava","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Busingen","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki","Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Lisbon","Europe/Ljubljana","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Mariehamn","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino","Europe/Sarajevo","Europe/Saratov","Europe/Simferopol","Europe/Skopje","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Ulyanovsk","Europe/Uzhgorod","Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zagreb","Europe/Zaporozhye","Europe/Zurich","Indian/Antananarivo","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Mayotte","Indian/Reunion","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Johnston","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Midway","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Ponape","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Saipan","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Truk","Pacific/Wake","Pacific/Wallis"],Ur=[{long:"years",short:"y",possible:"year"},{long:"weeks",short:"w",possible:"week"},{long:"days",short:"d",possible:"day"},{long:"hours",short:"h",possible:"hour"},{long:"minutes",short:"m",possible:"min"},{long:"seconds",short:"s",possible:"sec"},{long:"milliseconds",short:"ms",possible:"millisecond"}],Yr=Ur.map((function(e){return e.short})),Vr=function(e){return Math.round(1e3*e)/1e3},qr=function(e){var t=e.match(/\d+/g),n=e.match(/[a-zA-Z]+/g);if(n&&t&&Yr.includes(n[0]))return sr({},n[0],t[0])},Wr=function(e){var t=Ur.map((function(e){return e.short})).join("|"),n=new RegExp("\\d+[".concat(t,"]+"),"g"),r=(e.match(n)||[]).reduce((function(e,t){var n=qr(t);return n?dr(dr({},e),n):dr({},e)}),{});return _t().duration(r).asSeconds()},Qr=function(e,t){var n=(t||_t()().toDate()).valueOf()/1e3,r=Wr(e);return{start:n-r,end:n,step:function(e){var t=Vr(e),n=Math.round(e);return e>=100&&(t=n-n%10),e<100&&e>=10&&(t=n-n%5),e<10&&e>=1&&(t=n),e<1&&e>.01&&(t=Math.round(40*e)/40),Zr(_t().duration(t||.001,"seconds").asMilliseconds()).replace(/\s/g,"")}(r/zr),date:Gr(t||_t()().toDate())}},Gr=function(e){return _t().tz(e).utc().format(Pr)},Jr=function(e){return _t().tz(e).format(Pr)},Zr=function(e){var t=Math.floor(e%1e3),n=Math.floor(e/1e3%60),r=Math.floor(e/1e3/60%60),i=Math.floor(e/1e3/3600%24),a=Math.floor(e/864e5),o=["d","h","m","s","ms"],u=[a,i,r,n,t].map((function(e,t){return e?"".concat(e).concat(o[t]):""}));return u.filter((function(e){return e})).join(" ")},Kr=function(e){return _t()(1e3*e).toDate()},Xr=[{title:"Last 5 minutes",duration:"5m"},{title:"Last 15 minutes",duration:"15m"},{title:"Last 30 minutes",duration:"30m",isDefault:!0},{title:"Last 1 hour",duration:"1h"},{title:"Last 3 hours",duration:"3h"},{title:"Last 6 hours",duration:"6h"},{title:"Last 12 hours",duration:"12h"},{title:"Last 24 hours",duration:"24h"},{title:"Last 2 days",duration:"2d"},{title:"Last 7 days",duration:"7d"},{title:"Last 30 days",duration:"30d"},{title:"Last 90 days",duration:"90d"},{title:"Last 180 days",duration:"180d"},{title:"Last 1 year",duration:"1y"},{title:"Yesterday",duration:"1d",until:function(){return _t()().tz().subtract(1,"day").endOf("day").toDate()}},{title:"Today",duration:"1d",until:function(){return _t()().tz().endOf("day").toDate()}}].map((function(e){return dr({id:e.title.replace(/\s/g,"_").toLocaleLowerCase(),until:e.until?e.until:function(){return _t()().tz().toDate()}},e)})),ei=function(e){var t,n=e.relativeTimeId,r=e.defaultDuration,i=e.defaultEndInput,a=null===(t=Xr.find((function(e){return e.isDefault})))||void 0===t?void 0:t.id,o=n||Cr("g0.relative_time",a),u=Xr.find((function(e){return e.id===o}));return{relativeTimeId:u?o:"none",duration:u?u.duration:r,endInput:u?u.until():i}},ti=function(e){var t=_t()().tz(e);return"UTC".concat(t.format("Z"))},ni=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=new RegExp(e,"i");return Hr.reduce((function(n,r){var i=(r.match(/^(.*?)\//)||[])[1]||"unknown",a=ti(r),o=a.replace(/UTC|0/,""),u=r.replace(/[/_]/g," "),l={region:r,utc:a,search:"".concat(r," ").concat(a," ").concat(u," ").concat(o)},c=!e||e&&t.test(l.search);return c&&n[i]?n[i].push(l):c&&(n[i]=[l]),n}),{})},ri=function(e){_t().tz.setDefault(e)},ii=function(e,t){t?window.localStorage.setItem(e,JSON.stringify({value:t})):oi([e])},ai=function(e){var t=window.localStorage.getItem(e);if(null!==t)try{var n;return null===(n=JSON.parse(t))||void 0===n?void 0:n.value}catch(s){return t}},oi=function(e){return e.forEach((function(e){return window.localStorage.removeItem(e)}))},ui=ai("TIMEZONE")||_t().tz.guess();ri(ui);var li,ci=Cr("g0.range_input"),si=ei({defaultDuration:ci||"1h",defaultEndInput:(li=Cr("g0.end_input",_t()().utc().format(Pr)),_t()(li).utcOffset(0,!0).toDate()),relativeTimeId:ci?Cr("g0.relative_time","none"):void 0}),fi=si.duration,di=si.endInput,hi=si.relativeTimeId,pi={duration:fi,period:Qr(fi,di),relativeTime:hi,timezone:ui};function vi(e,t){switch(t.type){case"SET_DURATION":return dr(dr({},e),{},{duration:t.payload,period:Qr(t.payload,Kr(e.period.end)),relativeTime:"none"});case"SET_RELATIVE_TIME":return dr(dr({},e),{},{duration:t.payload.duration,period:Qr(t.payload.duration,t.payload.until),relativeTime:t.payload.id});case"SET_PERIOD":var n=function(e){var t=e.to.valueOf()-e.from.valueOf();return Zr(t)}(t.payload);return dr(dr({},e),{},{duration:n,period:Qr(n,t.payload.to),relativeTime:"none"});case"RUN_QUERY":var r=ei({relativeTimeId:e.relativeTime,defaultDuration:e.duration,defaultEndInput:Kr(e.period.end)}),i=r.duration,a=r.endInput;return dr(dr({},e),{},{period:Qr(i,a)});case"RUN_QUERY_TO_NOW":return dr(dr({},e),{},{period:Qr(e.duration)});case"SET_TIMEZONE":return ri(t.payload),ii("TIMEZONE",t.payload),dr(dr({},e),{},{timezone:t.payload});default:throw new Error}}var mi=j({}),yi=function(){return le(mi).state},gi=function(){return le(mi).dispatch},_i=function(){var e,t=(null===(e=window.location.search.match(/g\d+\.expr/g))||void 0===e?void 0:e.length)||1;return new Array(t>4?4:t).fill(1).map((function(e,t){return Cr("g".concat(t,".expr"),"")}))}(),bi={query:_i,queryHistory:_i.map((function(e){return{index:0,values:[e]}})),autocomplete:ai("AUTOCOMPLETE")||!1};function Di(e,t){switch(t.type){case"SET_QUERY":return dr(dr({},e),{},{query:t.payload.map((function(e){return e}))});case"SET_QUERY_HISTORY":return dr(dr({},e),{},{queryHistory:t.payload});case"SET_QUERY_HISTORY_BY_INDEX":return e.queryHistory.splice(t.payload.queryNumber,1,t.payload.value),dr(dr({},e),{},{queryHistory:e.queryHistory});case"TOGGLE_AUTOCOMPLETE":return ii("AUTOCOMPLETE",!e.autocomplete),dr(dr({},e),{},{autocomplete:!e.autocomplete});default:throw new Error}}var wi=j({}),xi=function(){return le(wi).state},Ai=function(){return le(wi).dispatch},ki=function(){return Fr("svg",{viewBox:"0 0 74 24",fill:"currentColor",children:[Fr("path",{d:"M6.11767 10.4759C6.47736 10.7556 6.91931 10.909 7.37503 10.9121H7.42681C7.90756 10.9047 8.38832 10.7199 8.67677 10.4685C10.1856 9.18921 14.5568 5.18138 14.5568 5.18138C15.7254 4.09438 12.4637 3.00739 7.42681 3H7.36764C2.3308 3.00739 -0.930935 4.09438 0.237669 5.18138C0.237669 5.18138 4.60884 9.18921 6.11767 10.4759ZM8.67677 12.6424C8.31803 12.9248 7.87599 13.0808 7.41941 13.0861H7.37503C6.91845 13.0808 6.47641 12.9248 6.11767 12.6424C5.0822 11.7551 1.38409 8.42018 0.000989555 7.14832V9.07829C0.000989555 9.29273 0.0823481 9.57372 0.222877 9.70682L0.293316 9.7712L0.293344 9.77122C1.33784 10.7258 4.83903 13.9255 6.11767 15.0161C6.47641 15.2985 6.91845 15.4545 7.37503 15.4597H7.41941C7.90756 15.4449 8.38092 15.2601 8.67677 15.0161C9.9859 13.9069 13.6249 10.572 14.5642 9.70682C14.7121 9.57372 14.7861 9.29273 14.7861 9.07829V7.14832C12.7662 8.99804 10.7297 10.8295 8.67677 12.6424ZM7.41941 17.6263C7.87513 17.6232 8.31708 17.4698 8.67677 17.19C10.7298 15.3746 12.7663 13.5407 14.7861 11.6885V13.6259C14.7861 13.8329 14.7121 14.1139 14.5642 14.247C13.6249 15.1196 9.9859 18.4471 8.67677 19.5563C8.38092 19.8077 7.90756 19.9926 7.41941 20H7.37503C6.91931 19.9968 6.47736 19.8435 6.11767 19.5637C4.91427 18.5373 1.74219 15.6364 0.502294 14.5025C0.393358 14.4029 0.299337 14.3169 0.222877 14.247C0.0823481 14.1139 0.000989555 13.8329 0.000989555 13.6259V11.6885C1.38409 12.953 5.0822 16.2953 6.11767 17.1827C6.47641 17.4651 6.91845 17.6211 7.37503 17.6263H7.41941Z"}),Fr("path",{d:"M34.9996 5L29.1596 19.46H26.7296L20.8896 5H23.0496C23.2829 5 23.4729 5.05667 23.6196 5.17C23.7663 5.28333 23.8763 5.43 23.9496 5.61L27.3596 14.43C27.4729 14.7167 27.5796 15.0333 27.6796 15.38C27.7863 15.72 27.8863 16.0767 27.9796 16.45C28.0596 16.0767 28.1463 15.72 28.2396 15.38C28.3329 15.0333 28.4363 14.7167 28.5496 14.43L31.9396 5.61C31.9929 5.45667 32.0963 5.31667 32.2496 5.19C32.4096 5.06333 32.603 5 32.8297 5H34.9996ZM52.1763 5V19.46H49.8064V10.12C49.8064 9.74667 49.8263 9.34333 49.8663 8.91L45.4963 17.12C45.2897 17.5133 44.973 17.71 44.5463 17.71H44.1663C43.7397 17.71 43.4231 17.5133 43.2164 17.12L38.7963 8.88C38.8163 9.1 38.833 9.31667 38.8463 9.53C38.8597 9.74333 38.8663 9.94 38.8663 10.12V19.46H36.4963V5H38.5263C38.6463 5 38.7497 5.00333 38.8363 5.01C38.923 5.01667 38.9997 5.03333 39.0663 5.06C39.1397 5.08667 39.203 5.13 39.2563 5.19C39.3163 5.25 39.373 5.33 39.4263 5.43L43.7563 13.46C43.8697 13.6733 43.973 13.8933 44.0663 14.12C44.1663 14.3467 44.263 14.58 44.3563 14.82C44.4497 14.5733 44.5464 14.3367 44.6464 14.11C44.7464 13.8767 44.8531 13.6533 44.9664 13.44L49.2363 5.43C49.2897 5.33 49.3463 5.25 49.4063 5.19C49.4663 5.13 49.5297 5.08667 49.5963 5.06C49.6697 5.03333 49.7497 5.01667 49.8363 5.01C49.923 5.00333 50.0264 5 50.1464 5H52.1763ZM61.0626 18.73C61.7426 18.73 62.3492 18.6133 62.8826 18.38C63.4226 18.14 63.8792 17.81 64.2526 17.39C64.6259 16.97 64.9092 16.4767 65.1026 15.91C65.3026 15.3367 65.4026 14.72 65.4026 14.06V5.31H66.4226V14.06C66.4226 14.84 66.2993 15.57 66.0527 16.25C65.806 16.9233 65.4493 17.5133 64.9827 18.02C64.5227 18.52 63.9592 18.9133 63.2926 19.2C62.6326 19.4867 61.8892 19.63 61.0626 19.63C60.2359 19.63 59.4893 19.4867 58.8227 19.2C58.1627 18.9133 57.5992 18.52 57.1326 18.02C56.6726 17.5133 56.3193 16.9233 56.0727 16.25C55.826 15.57 55.7026 14.84 55.7026 14.06V5.31H56.7327V14.05C56.7327 14.71 56.8292 15.3267 57.0226 15.9C57.2226 16.4667 57.506 16.96 57.8727 17.38C58.246 17.8 58.6993 18.13 59.2327 18.37C59.7727 18.61 60.3826 18.73 61.0626 18.73ZM71.4438 19.46H70.4138V5.31H71.4438V19.46Z"})]})},Ci=function(){return Fr("svg",{viewBox:"0 0 15 17",fill:"currentColor",children:Fr("path",{d:"M6.11767 7.47586C6.47736 7.75563 6.91931 7.90898 7.37503 7.91213H7.42681C7.90756 7.90474 8.38832 7.71987 8.67677 7.46846C10.1856 6.18921 14.5568 2.18138 14.5568 2.18138C15.7254 1.09438 12.4637 0.00739 7.42681 0H7.36764C2.3308 0.00739 -0.930935 1.09438 0.237669 2.18138C0.237669 2.18138 4.60884 6.18921 6.11767 7.47586ZM8.67677 9.64243C8.31803 9.92483 7.87599 10.0808 7.41941 10.0861H7.37503C6.91845 10.0808 6.47641 9.92483 6.11767 9.64243C5.0822 8.75513 1.38409 5.42018 0.000989555 4.14832V6.07829C0.000989555 6.29273 0.0823481 6.57372 0.222877 6.70682L0.293316 6.7712L0.293344 6.77122C1.33784 7.72579 4.83903 10.9255 6.11767 12.0161C6.47641 12.2985 6.91845 12.4545 7.37503 12.4597H7.41941C7.90756 12.4449 8.38092 12.2601 8.67677 12.0161C9.9859 10.9069 13.6249 7.57198 14.5642 6.70682C14.7121 6.57372 14.7861 6.29273 14.7861 6.07829V4.14832C12.7662 5.99804 10.7297 7.82949 8.67677 9.64243ZM7.41941 14.6263C7.87513 14.6232 8.31708 14.4698 8.67677 14.19C10.7298 12.3746 12.7663 10.5407 14.7861 8.68853V10.6259C14.7861 10.8329 14.7121 11.1139 14.5642 11.247C13.6249 12.1196 9.9859 15.4471 8.67677 16.5563C8.38092 16.8077 7.90756 16.9926 7.41941 17H7.37503C6.91931 16.9968 6.47736 16.8435 6.11767 16.5637C4.91427 15.5373 1.74219 12.6364 0.502294 11.5025C0.393358 11.4029 0.299337 11.3169 0.222877 11.247C0.0823481 11.1139 0.000989555 10.8329 0.000989555 10.6259V8.68853C1.38409 9.95303 5.0822 13.2953 6.11767 14.1827C6.47641 14.4651 6.91845 14.6211 7.37503 14.6263H7.41941Z"})})},Ei=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z"})})},Si=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"})})},Ni=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M12 5V2L8 6l4 4V7c3.31 0 6 2.69 6 6 0 2.97-2.17 5.43-5 5.91v2.02c3.95-.49 7-3.85 7-7.93 0-4.42-3.58-8-8-8zm-6 8c0-1.65.67-3.15 1.76-4.24L6.34 7.34C4.9 8.79 4 10.79 4 13c0 4.08 3.05 7.44 7 7.93v-2.02c-2.83-.48-5-2.94-5-5.91z"})})},Fi=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z"})})},Oi=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"})})},Ti=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"})})},Mi=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"})})},Bi=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M12 6v3l4-4-4-4v3c-4.42 0-8 3.58-8 8 0 1.57.46 3.03 1.24 4.26L6.7 14.8c-.45-.83-.7-1.79-.7-2.8 0-3.31 2.69-6 6-6zm6.76 1.74L17.3 9.2c.44.84.7 1.79.7 2.8 0 3.31-2.69 6-6 6v-3l-4 4 4 4v-3c4.42 0 8-3.58 8-8 0-1.57-.46-3.03-1.24-4.26z"})})},Ii=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"})})},Li=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"m7 10 5 5 5-5z"})})},Pi=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm5 11h-4v4h-2v-4H7v-2h4V7h2v4h4v2z"})})},zi=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:[Fr("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),Fr("path",{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"})]})},Ri=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 18H4V8h16v13z"})})},ji=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"m22 5.72-4.6-3.86-1.29 1.53 4.6 3.86L22 5.72zM7.88 3.39 6.6 1.86 2 5.71l1.29 1.53 4.59-3.85zM12.5 8H11v6l4.75 2.85.75-1.23-4-2.37V8zM12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9c4.97 0 9-4.03 9-9s-4.03-9-9-9zm0 16c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"})})},$i=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M20 5H4c-1.1 0-1.99.9-1.99 2L2 17c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm-9 3h2v2h-2V8zm0 3h2v2h-2v-2zM8 8h2v2H8V8zm0 3h2v2H8v-2zm-1 2H5v-2h2v2zm0-3H5V8h2v2zm9 7H8v-2h8v2zm0-4h-2v-2h2v2zm0-3h-2V8h2v2zm3 3h-2v-2h2v2zm0-3h-2V8h2v2z"})})},Hi=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm5 11H7v-2h10v2z"})})},Ui=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M8 5v14l11-7z"})})},Yi=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"m10 16.5 6-4.5-6-4.5v9zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"})})},Vi=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"m3.5 18.49 6-6.01 4 4L22 6.92l-1.41-1.41-7.09 7.97-4-4L2 16.99z"})})},qi=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M10 10.02h5V21h-5zM17 21h3c1.1 0 2-.9 2-2v-9h-5v11zm3-18H5c-1.1 0-2 .9-2 2v3h19V5c0-1.1-.9-2-2-2zM3 19c0 1.1.9 2 2 2h3V10H3v9z"})})},Wi=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"})})},Qi=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"})})},Gi=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"})})},Ji=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M8.9999 14.7854L18.8928 4.8925C19.0803 4.70497 19.3347 4.59961 19.5999 4.59961C19.8651 4.59961 20.1195 4.70497 20.307 4.8925L21.707 6.2925C22.0975 6.68303 22.0975 7.31619 21.707 7.70672L9.70701 19.7067C9.31648 20.0972 8.68332 20.0972 8.2928 19.7067L2.6928 14.1067C2.50526 13.9192 2.3999 13.6648 2.3999 13.3996C2.3999 13.1344 2.50526 12.88 2.6928 12.6925L4.0928 11.2925C4.48332 10.902 5.11648 10.902 5.50701 11.2925L8.9999 14.7854Z"})})},Zi=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"})})},Ki=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"})})},Xi=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"})})},ea=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M20 9H4v2h16V9zM4 15h16v-2H4v2z"})})},ta=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"})})},na=function(){return Fr("svg",{className:"MuiSvgIcon-root MuiSvgIcon-fontSizeMedium MuiBox-root css-1om0hkc",focusable:"false","aria-hidden":"true",viewBox:"0 0 24 24","data-testid":"OpenInFullIcon",fill:"currentColor",children:Fr("path",{d:"M21 11V3h-8l3.29 3.29-10 10L3 13v8h8l-3.29-3.29 10-10z"})})},ra=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M23 8c0 1.1-.9 2-2 2-.18 0-.35-.02-.51-.07l-3.56 3.55c.05.16.07.34.07.52 0 1.1-.9 2-2 2s-2-.9-2-2c0-.18.02-.36.07-.52l-2.55-2.55c-.16.05-.34.07-.52.07s-.36-.02-.52-.07l-4.55 4.56c.05.16.07.33.07.51 0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2c.18 0 .35.02.51.07l4.56-4.55C8.02 9.36 8 9.18 8 9c0-1.1.9-2 2-2s2 .9 2 2c0 .18-.02.36-.07.52l2.55 2.55c.16-.05.34-.07.52-.07s.36.02.52.07l3.55-3.56C19.02 8.35 19 8.18 19 8c0-1.1.9-2 2-2s2 .9 2 2z"})})},ia=function(e){return getComputedStyle(document.documentElement).getPropertyValue("--".concat(e))},aa=function(e,t){document.documentElement.style.setProperty("--".concat(e),t)},oa=function(e){var t=St(ee({width:0,height:0}),2),n=t[0],r=t[1];return ne((function(){var t=new ResizeObserver((function(e){var t=e[0].contentRect,n=t.width,i=t.height;r({width:n,height:i})}));return e&&t.observe(e),function(){e&&t.unobserve(e)}}),[]),n},ua=n(123),la=n.n(ua);function ca(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var sa=["to","isNavLink","children"],fa=function(e){var t=e.to,n=e.isNavLink,r=e.children,i=ca(e,sa);return n?Fr(or,dr(dr({to:t},i),{},{children:r})):Fr("div",dr(dr({},i),{},{children:r}))},da=function(e){var t,n=e.activeItem,r=e.item,i=e.color,a=void 0===i?ia("color-primary"):i,o=e.activeNavRef,u=e.onChange,l=e.isNavLink;return Fr(fa,{className:la()(sr({"vm-tabs-item":!0,"vm-tabs-item_active":n===r.value},r.className||"",r.className)),isNavLink:l,to:r.value,style:{color:a},onClick:(t=r.value,function(){u&&u(t)}),ref:n===r.value?o:void 0,children:[r.icon&&Fr("div",{className:la()({"vm-tabs-item__icon":!0,"vm-tabs-item__icon_single":!r.label}),children:r.icon}),r.label]})},ha=function(e){var t=e.activeItem,n=e.items,r=e.color,i=void 0===r?ia("color-primary"):r,a=e.onChange,o=e.indicatorPlacement,u=void 0===o?"bottom":o,l=e.isNavLink,c=oa(document.body),s=ie(null),f=St(ee({left:0,width:0,bottom:0}),2),d=f[0],h=f[1];return ne((function(){var e;if((null===(e=s.current)||void 0===e?void 0:e.base)instanceof HTMLElement){var t=s.current.base,n=t.offsetLeft,r=t.offsetWidth,i=t.offsetHeight;h({left:n,width:r,bottom:"top"===u?i-2:0})}}),[c,t,s,n]),Fr("div",{className:"vm-tabs",children:[n.map((function(e){return Fr(da,{activeItem:t,item:e,onChange:a,color:i,activeNavRef:s,isNavLink:l},e.value)})),Fr("div",{className:"vm-tabs__indicator",style:dr(dr({},d),{},{borderColor:i})})]})},pa=[{value:"chart",icon:Fr(Vi,{}),label:"Graph",prometheusCode:0},{value:"code",icon:Fr(Wi,{}),label:"JSON",prometheusCode:3},{value:"table",icon:Fr(qi,{}),label:"Table",prometheusCode:1}],va=function(){var e=wa().displayType,t=xa();return Fr(ha,{activeItem:e,items:pa,onChange:function(n){var r;t({type:"SET_DISPLAY_TYPE",payload:null!==(r=n)&&void 0!==r?r:e})}})},ma=Cr("g0.tab",0),ya=pa.find((function(e){return e.prometheusCode===+ma||e.value===ma})),ga=ai("SERIES_LIMITS"),_a={displayType:(null===ya||void 0===ya?void 0:ya.value)||"chart",nocache:!1,isTracingEnabled:!1,seriesLimits:ga?JSON.parse(ai("SERIES_LIMITS")):xr,tableCompact:ai("TABLE_COMPACT")||!1};function ba(e,t){switch(t.type){case"SET_DISPLAY_TYPE":return dr(dr({},e),{},{displayType:t.payload});case"SET_SERIES_LIMITS":return ii("SERIES_LIMITS",JSON.stringify(t.payload)),dr(dr({},e),{},{seriesLimits:t.payload});case"TOGGLE_QUERY_TRACING":return dr(dr({},e),{},{isTracingEnabled:!e.isTracingEnabled});case"TOGGLE_NO_CACHE":return dr(dr({},e),{},{nocache:!e.nocache});case"TOGGLE_TABLE_COMPACT":return ii("TABLE_COMPACT",!e.tableCompact),dr(dr({},e),{},{tableCompact:!e.tableCompact});default:throw new Error}}var Da=j({}),wa=function(){return le(Da).state},xa=function(){return le(Da).dispatch},Aa={customStep:Cr("g0.step_input",""),yaxis:{limits:{enable:!1,range:{1:[0,0]}}}};function ka(e,t){switch(t.type){case"TOGGLE_ENABLE_YAXIS_LIMITS":return dr(dr({},e),{},{yaxis:dr(dr({},e.yaxis),{},{limits:dr(dr({},e.yaxis.limits),{},{enable:!e.yaxis.limits.enable})})});case"SET_CUSTOM_STEP":return dr(dr({},e),{},{customStep:t.payload});case"SET_YAXIS_LIMITS":return dr(dr({},e),{},{yaxis:dr(dr({},e.yaxis),{},{limits:dr(dr({},e.yaxis.limits),{},{range:t.payload})})});default:throw new Error}}var Ca=j({}),Ea=function(){return le(Ca).state},Sa=function(){return le(Ca).dispatch},Na={runQuery:0,topN:Cr("topN",10),date:Cr("date",_t()().tz().format(Ir)),focusLabel:Cr("focusLabel",""),match:Cr("match",""),extraLabel:Cr("extra_label","")};function Fa(e,t){switch(t.type){case"SET_TOP_N":return dr(dr({},e),{},{topN:t.payload});case"SET_DATE":return dr(dr({},e),{},{date:t.payload});case"SET_MATCH":return dr(dr({},e),{},{match:t.payload});case"SET_EXTRA_LABEL":return dr(dr({},e),{},{extraLabel:t.payload});case"SET_FOCUS_LABEL":return dr(dr({},e),{},{focusLabel:t.payload});case"RUN_QUERY":return dr(dr({},e),{},{runQuery:e.runQuery+1});default:throw new Error}}var Oa=j({}),Ta=function(){return le(Oa).state},Ma=function(){return le(Oa).dispatch},Ba={topN:Cr("topN",null),maxLifetime:Cr("maxLifetime",""),runQuery:0};function Ia(e,t){switch(t.type){case"SET_TOP_N":return dr(dr({},e),{},{topN:t.payload});case"SET_MAX_LIFE_TIME":return dr(dr({},e),{},{maxLifetime:t.payload});case"SET_RUN_QUERY":return dr(dr({},e),{},{runQuery:e.runQuery+1});default:throw new Error}}var La=j({}),Pa=function(){return le(La).state},za={success:Fr(Mi,{}),error:Fr(Ti,{}),warning:Fr(Oi,{}),info:Fr(Fi,{})},Ra=function(e){var t=e.variant,n=e.children;return Fr("div",{className:la()(sr({"vm-alert":!0},"vm-alert_".concat(t),t)),children:[Fr("div",{className:"vm-alert__icon",children:za[t||"info"]}),Fr("div",{className:"vm-alert__content",children:n})]})},ja=j({showInfoMessage:function(){}}),$a=function(){return le(ja)},Ha={dashboardsSettings:[],dashboardsLoading:!1,dashboardsError:""};function Ua(e,t){switch(t.type){case"SET_DASHBOARDS_SETTINGS":return dr(dr({},e),{},{dashboardsSettings:t.payload});case"SET_DASHBOARDS_LOADING":return dr(dr({},e),{},{dashboardsLoading:t.payload});case"SET_DASHBOARDS_ERROR":return dr(dr({},e),{},{dashboardsError:t.payload});default:throw new Error}}var Ya,Va=j({}),qa=function(){return le(Va).state},Wa=function(){for(var e=arguments.length,t=new Array(e),n=0;nh,m=r.top-20<0,y=r.left+g.width+20>f,_=r.left-20<0;return v&&(r.top=t.top-g.height-u),m&&(r.top=t.height+t.top+u),y&&(r.left=t.right-g.width-l),_&&(r.left=t.left+l),d&&(r.width="".concat(t.width,"px")),r}),[n,i,p,t,d]);f&&Ga(b,(function(){return v(!1)}),n);var x=la()({"vm-popper":!0,"vm-popper_open":p});return Fr(y,{children:p&&yt.createPortal(Fr("div",{className:x,ref:b,style:w,children:t}),document.body)})},Za=function(e){var t=e.children,n=e.title,r=e.open,i=e.placement,a=void 0===i?"bottom-center":i,o=e.offset,u=void 0===o?{top:6,left:0}:o,l=St(ee(!1),2),c=l[0],s=l[1],f=St(ee({width:0,height:0}),2),d=f[0],h=f[1],p=ie(null),v=ie(null),m=function(){return s(!1)};ne((function(){return window.addEventListener("scroll",m),function(){window.removeEventListener("scroll",m)}}),[]),ne((function(){v.current&&c&&h({width:v.current.clientWidth,height:v.current.clientHeight})}),[c]);var g=oe((function(){var e,t=null===p||void 0===p||null===(e=p.current)||void 0===e?void 0:e.base;if(!t||!c)return{};var n=t.getBoundingClientRect(),r={top:0,left:0},i="bottom-right"===a||"top-right"===a,o="bottom-left"===a||"top-left"===a,l=null===a||void 0===a?void 0:a.includes("top"),s=(null===u||void 0===u?void 0:u.top)||0,f=(null===u||void 0===u?void 0:u.left)||0;r.left=n.left-(d.width-n.width)/2+f,r.top=n.height+n.top+s,i&&(r.left=n.right-d.width),o&&(r.left=n.left+f),l&&(r.top=n.top-d.height-s);var h=window,v=h.innerWidth,m=h.innerHeight,y=r.top+d.height+20>m,g=r.top-20<0,_=r.left+d.width+20>v,b=r.left-20<0;return y&&(r.top=n.top-d.height-s),g&&(r.top=n.height+n.top+s),_&&(r.left=n.right-d.width-f),b&&(r.left=n.left+f),r.top<0&&(r.top=20),r.left<0&&(r.left=20),r}),[p,a,c,d]),_=function(){"boolean"!==typeof r&&s(!0)},b=function(){s(!1)};return ne((function(){"boolean"===typeof r&&s(r)}),[r]),ne((function(){var e,t=null===p||void 0===p||null===(e=p.current)||void 0===e?void 0:e.base;if(t)return t.addEventListener("mouseenter",_),t.addEventListener("mouseleave",b),function(){t.removeEventListener("mouseenter",_),t.removeEventListener("mouseleave",b)}}),[p]),Fr(y,{children:[Fr(y,{ref:p,children:t}),c&&yt.createPortal(Fr("div",{className:"vm-tooltip",ref:v,style:g,children:n}),document.body)]})},Ka=[{seconds:0,title:"Off"},{seconds:1,title:"1s"},{seconds:2,title:"2s"},{seconds:5,title:"5s"},{seconds:10,title:"10s"},{seconds:30,title:"30s"},{seconds:60,title:"1m"},{seconds:300,title:"5m"},{seconds:900,title:"15m"},{seconds:1800,title:"30m"},{seconds:3600,title:"1h"},{seconds:7200,title:"2h"}],Xa=function(){var e=gi(),t=gr(),n=St(ee(!1),2),r=n[0],i=n[1],a=St(ee(Ka[0]),2),o=a[0],u=a[1];ne((function(){var t,n=o.seconds;return r?t=setInterval((function(){e({type:"RUN_QUERY"})}),1e3*n):u(Ka[0]),function(){t&&clearInterval(t)}}),[o,r]);var l=St(ee(!1),2),c=l[0],s=l[1],f=ie(null),d=function(e){return function(){!function(e){(r&&!e.seconds||!r&&e.seconds)&&i((function(e){return!e})),u(e),s(!1)}(e)}};return Fr(y,{children:[Fr("div",{className:"vm-execution-controls",children:Fr("div",{className:la()({"vm-execution-controls-buttons":!0,"vm-header-button":!t}),children:[Fr(Za,{title:"Refresh dashboard",children:Fr(Qa,{variant:"contained",color:"primary",onClick:function(){e({type:"RUN_QUERY"})},startIcon:Fr(Bi,{})})}),Fr(Za,{title:"Auto-refresh control",children:Fr("div",{ref:f,children:Fr(Qa,{variant:"contained",color:"primary",fullWidth:!0,endIcon:Fr("div",{className:la()({"vm-execution-controls-buttons__arrow":!0,"vm-execution-controls-buttons__arrow_open":c}),children:Fr(Ii,{})}),onClick:function(){s((function(e){return!e}))},children:o.title})})})]})}),Fr(Ja,{open:c,placement:"bottom-right",onClose:function(){s(!1)},buttonRef:f,children:Fr("div",{className:"vm-execution-controls-list",children:Ka.map((function(e){return Fr("div",{className:la()({"vm-list-item":!0,"vm-list-item_active":e.seconds===o.seconds}),onClick:d(e),children:e.title},e.seconds)}))})})]})},eo=function(e){var t=e.relativeTime,n=e.setDuration;return Fr("div",{className:"vm-time-duration",children:Xr.map((function(e){var r,i=e.id,a=e.duration,o=e.until,u=e.title;return Fr("div",{className:la()({"vm-list-item":!0,"vm-list-item_active":i===t}),onClick:(r={duration:a,until:o(),id:i},function(){n(r)}),children:u||a},i)}))})},to=function(e){var t=e.viewDate,n=e.displayYears,r=e.onChangeViewDate;return Fr("div",{className:"vm-calendar-header",children:[Fr("div",{className:"vm-calendar-header-left",onClick:e.toggleDisplayYears,children:[Fr("span",{className:"vm-calendar-header-left__date",children:t.format("MMMM YYYY")}),Fr("div",{className:"vm-calendar-header-left__select-year",children:Fr(Li,{})})]}),!n&&Fr("div",{className:"vm-calendar-header-right",children:[Fr("div",{className:"vm-calendar-header-right__prev",onClick:function(){r(t.subtract(1,"month"))},children:Fr(Ii,{})}),Fr("div",{className:"vm-calendar-header-right__next",onClick:function(){r(t.add(1,"month"))},children:Fr(Ii,{})})]})]})},no=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ro=function(e){var t=e.viewDate,n=e.selectDate,r=e.onChangeSelectDate,i=_t()().tz().startOf("day"),a=oe((function(){var e=new Array(42).fill(null),n=t.startOf("month"),r=t.endOf("month").diff(n,"day")+1,i=new Array(r).fill(n).map((function(e,t){return e.add(t,"day")})),a=n.day();return e.splice.apply(e,[a,r].concat(Nt(i))),e}),[t]),o=function(e){return function(){e&&r(e)}};return Fr("div",{className:"vm-calendar-body",children:[no.map((function(e){return Fr("div",{className:"vm-calendar-body-cell vm-calendar-body-cell_weekday",children:e[0]},e)})),a.map((function(e,t){return Fr("div",{className:la()({"vm-calendar-body-cell":!0,"vm-calendar-body-cell_day":!0,"vm-calendar-body-cell_day_empty":!e,"vm-calendar-body-cell_day_active":(e&&e.toISOString())===n.startOf("day").toISOString(),"vm-calendar-body-cell_day_today":(e&&e.toISOString())===i.toISOString()}),onClick:o(e),children:e&&e.format("D")},e?e.toISOString():t)}))]})},io=function(e){var t=e.viewDate,n=e.onChangeViewDate,r=oe((function(){return t.format("YYYY")}),[t]),i=oe((function(){var e=_t()().subtract(103,"year");return new Array(206).fill(e).map((function(e,t){return e.add(t,"year")}))}),[t]);ne((function(){var e=document.getElementById("vm-calendar-year-".concat(r));e&&e.scrollIntoView({block:"center"})}),[]);return Fr("div",{className:"vm-calendar-years",children:i.map((function(e){return Fr("div",{className:la()({"vm-calendar-years__year":!0,"vm-calendar-years__year_selected":e.format("YYYY")===r}),id:"vm-calendar-year-".concat(e.format("YYYY")),onClick:(t=e,function(){n(t)}),children:e.format("YYYY")},e.format("YYYY"));var t}))})};!function(e){e[e.hour=0]="hour",e[e.minutes=1]="minutes",e[e.seconds=2]="seconds"}(Ya||(Ya={}));var ao,oo=function(e){var t=e.selectDate,n=e.onChangeTime,r=e.onClose,i=St(ee(Ya.hour),2),a=i[0],o=i[1],u=St(ee(t.format("HH")),2),l=u[0],c=u[1],s=St(ee(t.format("mm")),2),f=s[0],d=s[1],h=St(ee(t.format("ss")),2),p=h[0],v=h[1],m=oe((function(){return a===Ya.hour?new Array(24).fill("00").map((function(e,t){return{value:t,degrees:t/12*360,offset:0===t||t>12,title:t?"".concat(t):e}})):new Array(60).fill("00").map((function(e,t){return{value:t,degrees:t/60*360,offset:!1,title:t?"".concat(t):e}}))}),[a,l,f,p]),y=oe((function(){switch(a){case Ya.hour:return+l/12*360;case Ya.minutes:return+f/60*360;case Ya.seconds:return+p/60*360}}),[a,l,f,p]),g=ie(null),_=ie(null),b=ie(null),D=function(e){return function(t){!function(e,t){t.target.select(),o(e)}(e,t)}};return ne((function(){n("".concat(l,":").concat(f,":").concat(p))}),[l,f,p]),ne((function(){c(t.format("HH")),d(t.format("mm")),v(t.format("ss"))}),[t]),ne((function(){g.current&&g.current.focus()}),[]),Fr("div",{className:"vm-calendar-time-picker",children:[Fr("div",{className:"vm-calendar-time-picker-clock",children:[Fr("div",{className:la()({"vm-calendar-time-picker-clock__arrow":!0,"vm-calendar-time-picker-clock__arrow_offset":a===Ya.hour&&("00"===l||+l>12)}),style:{transform:"rotate(".concat(y,"deg)")}}),m.map((function(e){return Fr("div",{className:la()({"vm-calendar-time-picker-clock__time":!0,"vm-calendar-time-picker-clock__time_offset":e.offset,"vm-calendar-time-picker-clock__time_hide":m.length>24&&e.value%5}),style:{transform:"rotate(".concat(e.degrees,"deg)")},onClick:(t=e.value,function(){var e=String(t);switch(a){case Ya.hour:c(e),_.current&&_.current.focus();break;case Ya.minutes:d(e),b.current&&b.current.focus();break;case Ya.seconds:v(e),r()}}),children:Fr("span",{style:{transform:"rotate(-".concat(e.degrees,"deg)")},children:e.title})},e.value);var t}))]}),Fr("div",{className:"vm-calendar-time-picker-fields",children:[Fr("input",{className:"vm-calendar-time-picker-fields__input",value:l,onChange:function(e){var t=e.target,n=t.value,r=+n>23?"23":n;t.value=r,c(r),n.length>1&&_.current&&_.current.focus()},onFocus:D(Ya.hour),ref:g,type:"number",min:0,max:24}),Fr("span",{children:":"}),Fr("input",{className:"vm-calendar-time-picker-fields__input",value:f,onChange:function(e){var t=e.target,n=t.value,r=+n>59?"59":n;t.value=r,d(r),n.length>1&&b.current&&b.current.focus()},onFocus:D(Ya.minutes),ref:_,type:"number",min:0,max:60}),Fr("span",{children:":"}),Fr("input",{className:"vm-calendar-time-picker-fields__input",value:p,onChange:function(e){var t=e.target,n=t.value,i=+n>59?"59":n;t.value=i,v(i),n.length>1&&b.current&&r()},onFocus:D(Ya.seconds),ref:b,type:"number",min:0,max:60})]})]})},uo=[{value:"date",icon:Fr(Ri,{})},{value:"time",icon:Fr(zi,{})}],lo=function(e){var t=e.date,n=e.timepicker,r=void 0!==n&&n,i=e.format,a=void 0===i?Lr:i,o=e.onChange,u=e.onClose,l=St(ee(!1),2),c=l[0],s=l[1],f=St(ee(_t().tz(t)),2),d=f[0],h=f[1],p=St(ee(_t().tz(t)),2),v=p[0],m=p[1],g=St(ee(uo[0].value),2),_=g[0],b=g[1],D=function(e){h(e),s(!1)};return ne((function(){v.format()!==_t().tz(t).format()&&o(v.format(a))}),[v]),Fr("div",{className:"vm-calendar",children:["date"===_&&Fr(to,{viewDate:d,onChangeViewDate:D,toggleDisplayYears:function(){s((function(e){return!e}))},displayYears:c}),"date"===_&&Fr(y,{children:[!c&&Fr(ro,{viewDate:d,selectDate:v,onChangeSelectDate:function(e){m(e),r&&b("time")}}),c&&Fr(io,{viewDate:d,onChangeViewDate:D})]}),"time"===_&&Fr(oo,{selectDate:v,onChangeTime:function(e){var t=St(e.split(":"),3),n=t[0],r=t[1],i=t[2];m((function(e){return e.set("hour",+n).set("minute",+r).set("second",+i)}))},onClose:function(){u&&u()}}),r&&Fr("div",{className:"vm-calendar__tabs",children:Fr(ha,{activeItem:_,items:uo,onChange:function(e){b(e)},indicatorPlacement:"top"})})]})},co=Ce((function(e,t){var n=e.date,r=e.targetRef,i=e.format,a=void 0===i?Lr:i,o=e.timepicker,u=e.onChange,l=St(ee(!1),2),c=l[0],s=l[1],f=oe((function(){return n?_t().tz(n):_t()().tz()}),[n]),d=function(){s((function(e){return!e}))},h=function(){s(!1)},p=function(e){"Escape"!==e.key&&"Enter"!==e.key||h()};return ne((function(){var e;return null===(e=r.current)||void 0===e||e.addEventListener("click",d),function(){var e;null===(e=r.current)||void 0===e||e.removeEventListener("click",d)}}),[r]),ne((function(){return window.addEventListener("keyup",p),function(){window.removeEventListener("keyup",p)}}),[]),Fr(y,{children:Fr(Ja,{open:c,buttonRef:r,placement:"bottom-right",onClose:h,children:Fr("div",{ref:t,children:Fr(lo,{date:f,format:a,timepicker:o,onChange:function(e){o||h(),u(e)},onClose:h})})})})})),so=co,fo=function(){var e=ie(null),t=oa(document.body),n=oe((function(){return t.width>1120}),[t]),r=St(ee(),2),i=r[0],a=r[1],o=St(ee(),2),u=o[0],l=o[1],c=oe((function(){return _t().tz(u).format(Lr)}),[u]),s=oe((function(){return _t().tz(i).format(Lr)}),[i]),f=yi(),d=f.period,h=d.end,p=d.start,v=f.relativeTime,m=f.timezone,g=f.duration,_=gi(),b=gr(),D=oe((function(){return{region:m,utc:ti(m)}}),[m]);ne((function(){a(Jr(Kr(h)))}),[m,h]),ne((function(){l(Jr(Kr(p)))}),[m,p]);var w=function(e){var t=e.duration,n=e.until,r=e.id;_({type:"SET_RELATIVE_TIME",payload:{duration:t,until:n,id:r}}),O(!1)},x=oe((function(){return{start:_t().tz(Kr(p)).format(Lr),end:_t().tz(Kr(h)).format(Lr)}}),[p,h,m]),A=oe((function(){return v&&"none"!==v?v.replace(/_/g," "):"".concat(x.start," - ").concat(x.end)}),[v,x]),k=ie(null),C=ie(null),E=ie(null),S=ie(null),N=St(ee(!1),2),F=N[0],O=N[1],T=ie(null),M=function(){O(!1)};return ne((function(){var e=ei({relativeTimeId:v,defaultDuration:g,defaultEndInput:Kr(h)});w({id:e.relativeTimeId,duration:e.duration,until:e.endInput})}),[m]),Ga(e,(function(e){var t,n,r=e.target,i=(null===k||void 0===k?void 0:k.current)&&k.current.contains(r),a=(null===C||void 0===C?void 0:C.current)&&C.current.contains(r),o=(null===E||void 0===E?void 0:E.current)&&(null===E||void 0===E||null===(t=E.current)||void 0===t?void 0:t.contains(r)),u=(null===S||void 0===S?void 0:S.current)&&(null===S||void 0===S||null===(n=S.current)||void 0===n?void 0:n.contains(r));i||a||o||u||M()})),Fr(y,{children:[Fr("div",{ref:T,children:Fr(Za,{title:"Time range controls",children:Fr(Qa,{className:b?"":"vm-header-button",variant:"contained",color:"primary",startIcon:Fr(zi,{}),onClick:function(){O((function(e){return!e}))},children:n&&Fr("span",{children:A})})})}),Fr(Ja,{open:F,buttonRef:T,placement:"bottom-right",onClose:M,clickOutside:!1,children:Fr("div",{className:"vm-time-selector",ref:e,children:[Fr("div",{className:"vm-time-selector-left",children:[Fr("div",{className:"vm-time-selector-left-inputs",children:[Fr("div",{className:"vm-time-selector-left-inputs__date",ref:k,children:[Fr("label",{children:"From:"}),Fr("span",{children:c}),Fr(Ri,{}),Fr(so,{ref:E,date:u||"",onChange:function(e){return l(e)},targetRef:k,timepicker:!0})]}),Fr("div",{className:"vm-time-selector-left-inputs__date",ref:C,children:[Fr("label",{children:"To:"}),Fr("span",{children:s}),Fr(Ri,{}),Fr(so,{ref:S,date:i||"",onChange:function(e){return a(e)},targetRef:C,timepicker:!0})]})]}),Fr("div",{className:"vm-time-selector-left-timezone",children:[Fr("div",{className:"vm-time-selector-left-timezone__title",children:D.region}),Fr("div",{className:"vm-time-selector-left-timezone__utc",children:D.utc})]}),Fr(Qa,{variant:"text",startIcon:Fr(ji,{}),onClick:function(){return _({type:"RUN_QUERY_TO_NOW"})},children:"switch to now"}),Fr("div",{className:"vm-time-selector-left__controls",children:[Fr(Qa,{color:"error",variant:"outlined",onClick:function(){a(Jr(Kr(h))),l(Jr(Kr(p))),O(!1)},children:"Cancel"}),Fr(Qa,{color:"primary",onClick:function(){return u&&i&&_({type:"SET_PERIOD",payload:{from:_t().tz(u).toDate(),to:_t().tz(i).toDate()}}),void O(!1)},children:"Apply"})]})]}),Fr(eo,{relativeTime:v||"",setDuration:w})]})})]})};!function(e){e.emptyServer="Please enter Server URL",e.validServer="Please provide a valid Server URL",e.validQuery="Please enter a valid Query and execute it",e.traceNotFound="Not found the tracing information",e.emptyTitle="Please enter title",e.positiveNumber="Please enter positive number",e.validStep="Please enter a valid step"}(ao||(ao={}));var ho=function(e){var t=e.label,n=e.value,r=e.type,i=void 0===r?"text":r,a=e.error,o=void 0===a?"":a,u=e.placeholder,l=e.endIcon,c=e.startIcon,s=e.disabled,f=void 0!==s&&s,d=e.autofocus,h=void 0!==d&&d,p=e.helperText,v=e.onChange,m=e.onEnter,y=e.onKeyDown,g=e.onFocus,_=e.onBlur,b=ie(null),D=ie(null),w=oe((function(){return"textarea"===i?D:b}),[i]),x=la()({"vm-text-field__input":!0,"vm-text-field__input_error":o,"vm-text-field__input_icon-start":c,"vm-text-field__input_disabled":f,"vm-text-field__input_textarea":"textarea"===i}),A=function(e){y&&y(e),"Enter"!==e.key||e.shiftKey||(e.preventDefault(),m&&m())},k=function(e){f||v&&v(e.target.value)};ne((function(){var e;h&&(null===w||void 0===w||null===(e=w.current)||void 0===e?void 0:e.focus)&&w.current.focus()}),[w,h]);var C=function(){g&&g()},E=function(){_&&_()};return Fr("label",{className:la()({"vm-text-field":!0,"vm-text-field_textarea":"textarea"===i}),"data-replicated-value":n,children:[c&&Fr("div",{className:"vm-text-field__icon-start",children:c}),l&&Fr("div",{className:"vm-text-field__icon-end",children:l}),"textarea"===i?Fr("textarea",{className:x,disabled:f,ref:D,value:n,rows:1,placeholder:u,onInput:k,onKeyDown:A,onFocus:C,onBlur:E}):Fr("input",{className:x,disabled:f,ref:b,value:n,type:i,placeholder:u,onInput:k,onKeyDown:A,onFocus:C,onBlur:E}),t&&Fr("span",{className:"vm-text-field__label",children:t}),Fr("span",{className:"vm-text-field__error","data-show":!!o,children:o}),p&&!o&&Fr("span",{className:"vm-text-field__helper-text",children:p})]})},po=function(e){var t;try{t=new URL(e)}catch(_){return!1}return"http:"===t.protocol||"https:"===t.protocol},vo=function(e){var t=e.serverUrl,n=e.onChange,r=e.onEnter,i=St(ee(""),2),a=i[0],o=i[1];return Fr("div",{children:[Fr("div",{className:"vm-server-configurator__title",children:"Server URL"}),Fr(ho,{autofocus:!0,value:t,error:a,onChange:function(e){var t=e||"";n(t),o(""),t||o(ao.emptyServer),po(t)||o(ao.validServer)},onEnter:r})]})},mo=function(e){var t=e.title,n=e.children,r=e.onClose,i=function(e){"Escape"===e.key&&r()};return ne((function(){return window.addEventListener("keyup",i),function(){window.removeEventListener("keyup",i)}}),[]),yt.createPortal(Fr("div",{className:"vm-modal",onMouseDown:r,children:Fr("div",{className:"vm-modal-content",children:[Fr("div",{className:"vm-modal-content-header",children:[t&&Fr("div",{className:"vm-modal-content-header__title",children:t}),Fr("div",{className:"vm-modal-header__close",children:Fr(Qa,{variant:"text",size:"small",onClick:r,children:Fr(Si,{})})})]}),Fr("div",{className:"vm-modal-content-body",onMouseDown:function(e){e.stopPropagation()},children:n})]})}),document.body)},yo=[{label:"Graph",type:"chart"},{label:"JSON",type:"code"},{label:"Table",type:"table"}],go=function(e){var t=e.limits,n=e.onChange,r=e.onEnter,i=St(ee({table:"",chart:"",code:""}),2),a=i[0],o=i[1],u=function(e){return function(r){!function(e,r){var i=e||"";o((function(e){return dr(dr({},e),{},sr({},r,+i<0?ao.positiveNumber:""))})),n(dr(dr({},t),{},sr({},r,i||1/0)))}(r,e)}};return Fr("div",{className:"vm-limits-configurator",children:[Fr("div",{className:"vm-server-configurator__title",children:["Series limits by tabs",Fr(Za,{title:"To disable limits set to 0",children:Fr(Qa,{variant:"text",color:"primary",size:"small",startIcon:Fr(Fi,{})})}),Fr("div",{className:"vm-limits-configurator-title__reset",children:Fr(Qa,{variant:"text",color:"primary",size:"small",startIcon:Fr(Ni,{}),onClick:function(){n(xr)},children:"Reset"})})]}),Fr("div",{className:"vm-limits-configurator__inputs",children:yo.map((function(e){return Fr(ho,{label:e.label,value:t[e.type],error:a[e.type],onChange:u(e.type),onEnter:r,type:"number"},e.type)}))})]})},_o=function(e){var t=e.defaultExpanded,n=void 0!==t&&t,r=e.onChange,i=e.title,a=e.children,o=St(ee(n),2),u=o[0],l=o[1];return ne((function(){r&&r(u)}),[u]),Fr(y,{children:[Fr("header",{className:"vm-accordion-header ".concat(u&&"vm-accordion-header_open"),onClick:function(){l((function(e){return!e}))},children:[i,Fr("div",{className:"vm-accordion-header__arrow ".concat(u&&"vm-accordion-header__arrow_open"),children:Fr(Ii,{})})]}),u&&Fr("section",{className:"vm-accordion-section",children:a},"content")]})},bo=function(e){var t=e.timezoneState,n=e.onChange,r=ni(),i=St(ee(!1),2),a=i[0],o=i[1],u=St(ee(""),2),l=u[0],c=u[1],f=ie(null),d=oe((function(){if(!l)return r;try{return ni(l)}catch(s){return{}}}),[l,r]),h=oe((function(){return Object.keys(d)}),[d]),p=oe((function(){return{region:_t().tz.guess(),utc:ti(_t().tz.guess())}}),[]),v=oe((function(){return{region:t,utc:ti(t)}}),[t]),m=function(){o(!1)},y=function(e){return function(){!function(e){n(e.region),c(""),m()}(e)}};return Fr("div",{className:"vm-timezones",children:[Fr("div",{className:"vm-server-configurator__title",children:"Time zone"}),Fr("div",{className:"vm-timezones-item vm-timezones-item_selected",onClick:function(){o((function(e){return!e}))},ref:f,children:[Fr("div",{className:"vm-timezones-item__title",children:v.region}),Fr("div",{className:"vm-timezones-item__utc",children:v.utc}),Fr("div",{className:la()({"vm-timezones-item__icon":!0,"vm-timezones-item__icon_open":a}),children:Fr(Li,{})})]}),Fr(Ja,{open:a,buttonRef:f,placement:"bottom-left",onClose:m,children:Fr("div",{className:"vm-timezones-list",children:[Fr("div",{className:"vm-timezones-list-header",children:[Fr("div",{className:"vm-timezones-list-header__search",children:Fr(ho,{autofocus:!0,label:"Search",value:l,onChange:function(e){c(e)}})}),Fr("div",{className:"vm-timezones-item vm-timezones-list-group-options__item",onClick:y(p),children:[Fr("div",{className:"vm-timezones-item__title",children:["Browser Time (",p.region,")"]}),Fr("div",{className:"vm-timezones-item__utc",children:p.utc})]})]}),h.map((function(e){return Fr("div",{className:"vm-timezones-list-group",children:Fr(_o,{defaultExpanded:!0,title:Fr("div",{className:"vm-timezones-list-group__title",children:e}),children:Fr("div",{className:"vm-timezones-list-group-options",children:d[e]&&d[e].map((function(e){return Fr("div",{className:"vm-timezones-item vm-timezones-list-group-options__item",onClick:y(e),children:[Fr("div",{className:"vm-timezones-item__title",children:e.region}),Fr("div",{className:"vm-timezones-item__utc",children:e.utc})]},e.search)}))})})},e)}))]})})]})},Do="Settings",wo=function(){var e=gr(),t=Tr().serverUrl,n=yi().timezone,r=wa().seriesLimits,i=Mr(),a=gi(),o=xa(),u=St(ee(t),2),l=u[0],c=u[1],s=St(ee(r),2),f=s[0],d=s[1],h=St(ee(n),2),p=h[0],v=h[1],m=St(ee(!1),2),g=m[0],_=m[1],b=function(){return _(!1)},D=function(){i({type:"SET_SERVER",payload:l}),a({type:"SET_TIMEZONE",payload:p}),o({type:"SET_SERIES_LIMITS",payload:f}),b()};return Fr(y,{children:[Fr(Za,{title:Do,children:Fr(Qa,{className:la()({"vm-header-button":!e}),variant:"contained",color:"primary",startIcon:Fr(Ei,{}),onClick:function(){return _(!0)}})}),g&&Fr(mo,{title:Do,onClose:b,children:Fr("div",{className:"vm-server-configurator",children:[!e&&Fr("div",{className:"vm-server-configurator__input",children:Fr(vo,{serverUrl:l,onChange:c,onEnter:D})}),Fr("div",{className:"vm-server-configurator__input",children:Fr(go,{limits:f,onChange:d,onEnter:D})}),Fr("div",{className:"vm-server-configurator__input",children:Fr(bo,{timezoneState:p,onChange:v})}),Fr("div",{className:"vm-server-configurator__footer",children:[Fr(Qa,{variant:"outlined",color:"error",onClick:b,children:"Cancel"}),Fr(Qa,{variant:"contained",onClick:D,children:"apply"})]})]})})]})},xo={windows:"Windows",mac:"Mac OS",linux:"Linux"},Ao=(Object.values(xo).find((function(e){return navigator.userAgent.indexOf(e)>=0}))||"unknown")===xo.mac?"Cmd":"Ctrl",ko=[{title:"Query",list:[{keys:["Enter"],description:"Run"},{keys:["Shift","Enter"],description:"Multi-line queries"},{keys:[Ao,"Arrow Up"],description:"Previous command from the Query history"},{keys:[Ao,"Arrow Down"],description:"Next command from the Query history"},{keys:[Ao,"Click by 'Eye'"],description:"Toggle multiple queries"}]},{title:"Graph",list:[{keys:[Ao,"Scroll Up"],alt:["+"],description:"Zoom in"},{keys:[Ao,"Scroll Down"],alt:["-"],description:"Zoom out"},{keys:[Ao,"Click and Drag"],description:"Move the graph left/right"}]},{title:"Legend",list:[{keys:["Mouse Click"],description:"Select series"},{keys:[Ao,"Mouse Click"],description:"Toggle multiple series"}]}],Co=function(){var e=St(ee(!1),2),t=e[0],n=e[1],r=gr();return Fr(y,{children:[Fr(Za,{title:"Shortcut keys",placement:"bottom-center",children:Fr(Qa,{className:r?"":"vm-header-button",variant:"contained",color:"primary",startIcon:Fr($i,{}),onClick:function(){n(!0)}})}),t&&Fr(mo,{title:"Shortcut keys",onClose:function(){n(!1)},children:Fr("div",{className:"vm-shortcuts",children:ko.map((function(e){return Fr("div",{className:"vm-shortcuts-section",children:[Fr("h3",{className:"vm-shortcuts-section__title",children:e.title}),Fr("div",{className:"vm-shortcuts-section-list",children:e.list.map((function(e){return Fr("div",{className:"vm-shortcuts-section-list-item",children:[Fr("div",{className:"vm-shortcuts-section-list-item__key",children:[e.keys.map((function(t,n){return Fr(y,{children:[Fr("code",{children:t},t),n!==e.keys.length-1?"+":""]})})),e.alt&&e.alt.map((function(t,n){return Fr(y,{children:["or",Fr("code",{children:t},t),n!==e.alt.length-1?"+":""]})}))]}),Fr("p",{className:"vm-shortcuts-section-list-item__description",children:e.description})]},e.keys.join("+"))}))})]},e.title)}))})})]})},Eo=function(){var e=gr(),t=ie(null),n=Ta().date,r=Ma(),i=oe((function(){return _t().tz(n).format(Ir)}),[n]);return Fr("div",{children:[Fr("div",{ref:t,children:Fr(Za,{title:"Date control",children:Fr(Qa,{className:e?"":"vm-header-button",variant:"contained",color:"primary",startIcon:Fr(Ri,{}),children:i})})}),Fr(so,{date:n||"",format:Ir,onChange:function(e){r({type:"SET_DATE",payload:e})},targetRef:t})]})};var So=function(e){var t=ie();return ne((function(){t.current=e}),[e]),t.current},No=function(){var e=gr(),t=Ea().customStep,n=yi().period.step,r=Sa(),i=yi().period,a=So(i.end-i.start),o=St(ee(!1),2),u=o[0],l=o[1],c=St(ee(t||n),2),s=c[0],f=c[1],d=St(ee(""),2),h=d[0],p=d[1],v=ie(null),m=function(){l(!1)},y=function(e){var t=e||s||n||"1s",i=(t.match(/[a-zA-Z]+/g)||[]).length?t:"".concat(t,"s");r({type:"SET_CUSTOM_STEP",payload:i}),f(i),p("")},g=function(e){var t=e.match(/[-+]?([0-9]*\.[0-9]+|[0-9]+)/g)||[],n=e.match(/[a-zA-Z]+/g)||[],r=t.length&&t.every((function(e){return parseFloat(e)>0})),i=n.every((function(e){return Ur.find((function(t){return t.short===e}))})),a=r&&i;f(e),p(a?"":ao.validStep)};return ne((function(){t&&y(t)}),[t]),ne((function(){!t&&n&&y(n)}),[n]),ne((function(){i.end-i.start!==a&&a&&n&&y(n)}),[i,a,n]),Fr("div",{className:"vm-step-control",ref:v,children:[Fr(Za,{title:"Query resolution step width",children:Fr(Qa,{className:e?"":"vm-header-button",variant:"contained",color:"primary",startIcon:Fr(ra,{}),onClick:function(){l((function(e){return!e}))},children:["STEP ",s]})}),Fr(Ja,{open:u,placement:"bottom-right",onClose:m,buttonRef:v,children:Fr("div",{className:"vm-step-control-popper",children:[Fr(ho,{autofocus:!0,label:"Step value",value:s,error:h,onChange:g,onEnter:function(){y(),m()},onFocus:function(){document.activeElement instanceof HTMLInputElement&&document.activeElement.select()},onBlur:y,endIcon:Fr(Za,{title:"Set default step value: ".concat(n),children:Fr(Qa,{size:"small",variant:"text",color:"primary",startIcon:Fr(Ni,{}),onClick:function(){var e=n||"1s";g(e),y(e)}})})}),Fr("div",{className:"vm-step-control-popper-info",children:[Fr("code",{children:"step"})," - the ",Fr("a",{className:"vm-link vm-link_colored",href:"https://prometheus.io/docs/prometheus/latest/querying/basics/#time-durations",target:"_blank",rel:"noreferrer",children:"interval"}),"between datapoints, which must be returned from the range query. The ",Fr("code",{children:"query"})," is executed at",Fr("code",{children:"start"}),", ",Fr("code",{children:"start+step"}),", ",Fr("code",{children:"start+2*step"}),", \u2026, ",Fr("code",{children:"end"})," timestamps.",Fr("a",{className:"vm-link vm-link_colored",href:"https://docs.victoriametrics.com/keyConcepts.html#range-query",target:"_blank",rel:"noreferrer",children:"Read more about Range query"})]})]})})]})},Fo=function(){var e=ia("color-primary"),t=gr(),n=qa().dashboardsSettings,r=yr().headerStyles,i=(r=void 0===r?{}:r).background,a=void 0===i?t?"#FFF":e:i,o=r.color,u=void 0===o?t?e:"#FFF":o,l=zn(),c=Pn(),s=c.search,f=c.pathname,d=oe((function(){return[{label:vr[mr.home].title,value:mr.home},{label:vr[mr.metrics].title,value:mr.metrics},{label:vr[mr.cardinality].title,value:mr.cardinality},{label:vr[mr.topQueries].title,value:mr.topQueries},{label:vr[mr.trace].title,value:mr.trace},{label:vr[mr.dashboards].title,value:mr.dashboards,hide:t||!n.length}]}),[t,n]),h=St(ee(f),2),p=h[0],v=h[1],m=oe((function(){return(vr[f]||{}).header||{}}),[f]),y=function(e){l({pathname:e,search:s})};return ne((function(){v(f)}),[f]),Fr("header",{className:la()({"vm-header":!0,"vm-header_app":t}),style:{background:a,color:u},children:[!t&&Fr("div",{className:"vm-header-logo",onClick:function(){y(mr.home),kr({}),window.location.reload()},style:{color:u},children:Fr(ki,{})}),Fr("div",{className:"vm-header-nav",children:Fr(ha,{isNavLink:!0,activeItem:p,items:d.filter((function(e){return!e.hide})),color:u})}),Fr("div",{className:"vm-header__settings",children:[(null===m||void 0===m?void 0:m.stepControl)&&Fr(No,{}),(null===m||void 0===m?void 0:m.timeSelector)&&Fr(fo,{}),(null===m||void 0===m?void 0:m.cardinalityDatePicker)&&Fr(Eo,{}),(null===m||void 0===m?void 0:m.executionControls)&&Fr(Xa,{}),Fr(wo,{}),Fr(Co,{})]})]})},Oo=function(){var e="2019-".concat(_t()().format("YYYY"));return Fr("footer",{className:"vm-footer",children:[Fr("a",{className:"vm-link vm-footer__website",target:"_blank",href:"https://victoriametrics.com/",rel:"noreferrer",children:[Fr(Ci,{}),"victoriametrics.com"]}),Fr("a",{className:"vm-link",target:"_blank",href:"https://github.com/VictoriaMetrics/VictoriaMetrics/issues/new/choose",rel:"noreferrer",children:"create an issue"}),Fr("div",{className:"vm-footer__copyright",children:["\xa9 ",e," VictoriaMetrics"]})]})};function To(){To=function(){return e};var e={},t=Object.prototype,n=t.hasOwnProperty,r=Object.defineProperty||function(e,t,n){e[t]=n.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",o=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function l(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(S){l=function(e,t,n){return e[t]=n}}function c(e,t,n,i){var a=t&&t.prototype instanceof d?t:d,o=Object.create(a.prototype),u=new k(i||[]);return r(o,"_invoke",{value:D(e,n,u)}),o}function s(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(S){return{type:"throw",arg:S}}}e.wrap=c;var f={};function d(){}function h(){}function p(){}var v={};l(v,a,(function(){return this}));var m=Object.getPrototypeOf,y=m&&m(m(C([])));y&&y!==t&&n.call(y,a)&&(v=y);var g=p.prototype=d.prototype=Object.create(v);function _(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){function i(r,a,o,u){var l=s(e[r],e,a);if("throw"!==l.type){var c=l.arg,f=c.value;return f&&"object"==Ot(f)&&n.call(f,"__await")?t.resolve(f.__await).then((function(e){i("next",e,o,u)}),(function(e){i("throw",e,o,u)})):t.resolve(f).then((function(e){c.value=e,o(c)}),(function(e){return i("throw",e,o,u)}))}u(l.arg)}var a;r(this,"_invoke",{value:function(e,n){function r(){return new t((function(t,r){i(e,n,t,r)}))}return a=a?a.then(r,r):r()}})}function D(e,t,n){var r="suspendedStart";return function(i,a){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw a;return E()}for(n.method=i,n.arg=a;;){var o=n.delegate;if(o){var u=w(o,n);if(u){if(u===f)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var l=s(e,t,n);if("normal"===l.type){if(r=n.done?"completed":"suspendedYield",l.arg===f)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r="completed",n.method="throw",n.arg=l.arg)}}}function w(e,t){var n=t.method,r=e.iterator[n];if(void 0===r)return t.delegate=null,"throw"===n&&e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method)||"return"!==n&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+n+"' method")),f;var i=s(r,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,f;var a=i.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,f):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,f)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function A(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function C(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,i=function t(){for(;++r=0;--i){var a=this.tryEntries[i],o=a.completion;if("root"===a.tryLoc)return r("end");if(a.tryLoc<=this.prev){var u=n.call(a,"catchLoc"),l=n.call(a,"finallyLoc");if(u&&l){if(this.prev=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),A(n),f}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;A(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:C(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),f}},e}function Mo(e,t,n,r,i,a,o){try{var u=e[a](o),l=u.value}catch(c){return void n(c)}u.done?t(l):Promise.resolve(l).then(r,i)}function Bo(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var a=e.apply(t,n);function o(e){Mo(a,r,i,o,u,"next",e)}function u(e){Mo(a,r,i,o,u,"throw",e)}o(void 0)}))}}var Io=function(){var e=Bo(To().mark((function e(t){var n,r;return To().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch("./dashboards/".concat(t));case 2:return n=e.sent,e.next=5,n.json();case 5:return r=e.sent,e.abrupt("return",r);case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),Lo=function(){var e=gr(),t=Tr().serverUrl,n=le(Va).dispatch,r=St(ee(!1),2),i=r[0],a=r[1],o=St(ee(""),2),u=o[0],l=o[1],c=St(ee([]),2),s=c[0],f=c[1],d=function(){var e=Bo(To().mark((function e(){var t;return To().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!==(t=window.__VMUI_PREDEFINED_DASHBOARDS__)&&void 0!==t&&t.length){e.next=3;break}return e.abrupt("return",[]);case 3:return e.next=5,Promise.all(t.map(function(){var e=Bo(To().mark((function e(t){return To().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Io(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),h=function(){var e=Bo(To().mark((function e(){var n,r,i;return To().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return");case 2:return l(""),a(!0),e.prev=4,e.next=7,fetch("".concat(t,"/vmui/custom-dashboards"));case 7:return n=e.sent,e.next=10,n.json();case 10:r=e.sent,n.ok?((i=r.dashboardsSettings)&&i.length>0&&f((function(e){return[].concat(Nt(e),Nt(i))})),a(!1)):(l(r.error),a(!1)),e.next=18;break;case 14:e.prev=14,e.t0=e.catch(4),a(!1),e.t0 instanceof Error&&l("".concat(e.t0.name,": ").concat(e.t0.message));case 18:case"end":return e.stop()}}),e,null,[[4,14]])})));return function(){return e.apply(this,arguments)}}();return ne((function(){e||(f([]),d().then((function(e){return e.length&&f((function(t){return[].concat(Nt(e),Nt(t))}))})),h())}),[t]),ne((function(){n({type:"SET_DASHBOARDS_SETTINGS",payload:s})}),[s]),ne((function(){n({type:"SET_DASHBOARDS_LOADING",payload:i})}),[i]),ne((function(){n({type:"SET_DASHBOARDS_ERROR",payload:u})}),[u]),{dashboardsSettings:s,isLoading:i,error:u}},Po=function(){var e=gr();Lo();var t=Pn().pathname;return ne((function(){var e,n="VM UI",r=null===(e=vr[t])||void 0===e?void 0:e.title;document.title=r?"".concat(r," - ").concat(n):n}),[t]),Fr("section",{className:"vm-container",children:[Fr(Fo,{}),Fr("div",{className:la()({"vm-container-body":!0,"vm-container-body_app":e}),children:Fr(Gn,{})}),!e&&Fr(Oo,{})]})};function zo(e,t){var n="undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=Et(e))||t&&e&&"number"===typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,u=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){u=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(u)throw a}}}}var Ro,jo,$o="u-off",Ho="u-label",Uo="width",Yo="height",Vo="top",qo="bottom",Wo="left",Qo="right",Go="#000",Jo=Go+"0",Zo="mousemove",Ko="mousedown",Xo="mouseup",eu="mouseenter",tu="mouseleave",nu="dblclick",ru="change",iu="dppxchange",au="undefined"!=typeof window,ou=au?document:null,uu=au?window:null,lu=au?navigator:null;function cu(e,t){if(null!=t){var n=e.classList;!n.contains(t)&&n.add(t)}}function su(e,t){var n=e.classList;n.contains(t)&&n.remove(t)}function fu(e,t,n){e.style[t]=n+"px"}function du(e,t,n,r){var i=ou.createElement(e);return null!=t&&cu(i,t),null!=n&&n.insertBefore(i,r),i}function hu(e,t){return du("div",e,t)}var pu=new WeakMap;function vu(e,t,n,r,i){var a="translate("+t+"px,"+n+"px)";a!=pu.get(e)&&(e.style.transform=a,pu.set(e,a),t<0||n<0||t>r||n>i?cu(e,$o):su(e,$o))}var mu=new WeakMap;function yu(e,t,n){var r=t+n;r!=mu.get(e)&&(mu.set(e,r),e.style.background=t,e.style.borderColor=n)}var gu=new WeakMap;function _u(e,t,n,r){var i=t+""+n;i!=gu.get(e)&&(gu.set(e,i),e.style.height=n+"px",e.style.width=t+"px",e.style.marginLeft=r?-t/2+"px":0,e.style.marginTop=r?-n/2+"px":0)}var bu={passive:!0},Du=dr(dr({},bu),{},{capture:!0});function wu(e,t,n,r){t.addEventListener(e,n,r?Du:bu)}function xu(e,t,n,r){t.removeEventListener(e,n,r?Du:bu)}function Au(e,t,n,r){var i;n=n||0;for(var a=(r=r||t.length-1)<=2147483647;r-n>1;)t[i=a?n+r>>1:$u((n+r)/2)]=t&&i<=n;i+=r)if(null!=e[i])return i;return-1}function Cu(e,t,n,r){var i=Zu,a=-Zu;if(1==r)i=e[t],a=e[n];else if(-1==r)i=e[n],a=e[t];else for(var o=t;o<=n;o++)null!=e[o]&&(i=Yu(i,e[o]),a=Vu(a,e[o]));return[i,a]}function Eu(e,t,n){for(var r=Zu,i=-Zu,a=t;a<=n;a++)e[a]>0&&(r=Yu(r,e[a]),i=Vu(i,e[a]));return[r==Zu?1:r,i==-Zu?10:i]}function Su(e,t,n,r){var i=Wu(e),a=Wu(t),o=10==n?Qu:Gu;e==t&&(-1==i?(e*=n,t/=n):(e/=n,t*=n));var u=1==a?Uu:$u,l=(1==i?$u:Uu)(o(ju(e))),c=u(o(ju(t))),s=qu(n,l),f=qu(n,c);return l<0&&(s=cl(s,-l)),c<0&&(f=cl(f,-c)),r?(e=s*i,t=f*a):(e=ll(e,s),t=ul(t,f)),[e,t]}function Nu(e,t,n,r){var i=Su(e,t,n,r);return 0==e&&(i[0]=0),0==t&&(i[1]=0),i}au&&function e(){var t=devicePixelRatio;Ro!=t&&(Ro=t,jo&&xu(ru,jo,e),jo=matchMedia("(min-resolution: ".concat(Ro-.001,"dppx) and (max-resolution: ").concat(Ro+.001,"dppx)")),wu(ru,jo,e),uu.dispatchEvent(new CustomEvent(iu)))}();var Fu={mode:3,pad:.1},Ou={pad:0,soft:null,mode:0},Tu={min:Ou,max:Ou};function Mu(e,t,n,r){return _l(n)?Iu(e,t,n):(Ou.pad=n,Ou.soft=r?0:null,Ou.mode=r?3:0,Iu(e,t,Tu))}function Bu(e,t){return null==e?t:e}function Iu(e,t,n){var r=n.min,i=n.max,a=Bu(r.pad,0),o=Bu(i.pad,0),u=Bu(r.hard,-Zu),l=Bu(i.hard,Zu),c=Bu(r.soft,Zu),s=Bu(i.soft,-Zu),f=Bu(r.mode,0),d=Bu(i.mode,0),h=t-e,p=Qu(h),v=Vu(ju(e),ju(t)),m=Qu(v),y=ju(m-p);(h<1e-9||y>10)&&(h=0,0!=e&&0!=t||(h=1e-9,2==f&&c!=Zu&&(a=0),2==d&&s!=-Zu&&(o=0)));var g=h||v||1e3,_=Qu(g),b=qu(10,$u(_)),D=cl(ll(e-g*(0==h?0==e?.1:1:a),b/10),9),w=e>=c&&(1==f||3==f&&D<=c||2==f&&D>=c)?c:Zu,x=Vu(u,D=w?w:Yu(w,D)),A=cl(ul(t+g*(0==h?0==t?.1:1:o),b/10),9),k=t<=s&&(1==d||3==d&&A>=s||2==d&&A<=s)?s:-Zu,C=Yu(l,A>k&&t<=k?k:Vu(k,A));return x==C&&0==x&&(C=100),[x,C]}var Lu=new Intl.NumberFormat(au?lu.language:"en-US"),Pu=function(e){return Lu.format(e)},zu=Math,Ru=zu.PI,ju=zu.abs,$u=zu.floor,Hu=zu.round,Uu=zu.ceil,Yu=zu.min,Vu=zu.max,qu=zu.pow,Wu=zu.sign,Qu=zu.log10,Gu=zu.log2,Ju=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return zu.asinh(e/t)},Zu=1/0;function Ku(e){return 1+(0|Qu((e^e>>31)-(e>>31)))}function Xu(e,t){return Hu(e/t)*t}function el(e,t,n){return Yu(Vu(e,t),n)}function tl(e){return"function"==typeof e?e:function(){return e}}var nl=function(e){return e},rl=function(e,t){return t},il=function(e){return null},al=function(e){return!0},ol=function(e,t){return e==t};function ul(e,t){return Uu(e/t)*t}function ll(e,t){return $u(e/t)*t}function cl(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(yl(e))return e;var n=Math.pow(10,t),r=e*n*(1+Number.EPSILON);return Hu(r)/n}var sl=new Map;function fl(e){return((""+e).split(".")[1]||"").length}function dl(e,t,n,r){for(var i=[],a=r.map(fl),o=t;o=0&&o>=0?0:u)+(o>=a[c]?0:a[c]),d=cl(s,f);i.push(d),sl.set(d,f)}return i}var hl={},pl=[],vl=[null,null],ml=Array.isArray,yl=Number.isInteger;function gl(e){return"string"==typeof e}function _l(e){var t=!1;if(null!=e){var n=e.constructor;t=null==n||n==Object}return t}function bl(e){return null!=e&&"object"==typeof e}var Dl=Object.getPrototypeOf(Uint8Array);function wl(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_l;if(ml(e)){var r=e.find((function(e){return null!=e}));if(ml(r)||n(r)){t=Array(e.length);for(var i=0;ia){for(r=o-1;r>=0&&null==e[r];)e[r--]=null;for(r=o+1;r12?t-12:t},AA:function(e){return e.getHours()>=12?"PM":"AM"},aa:function(e){return e.getHours()>=12?"pm":"am"},a:function(e){return e.getHours()>=12?"p":"a"},mm:function(e){return Tl(e.getMinutes())},m:function(e){return e.getMinutes()},ss:function(e){return Tl(e.getSeconds())},s:function(e){return e.getSeconds()},fff:function(e){return((t=e.getMilliseconds())<10?"00":t<100?"0":"")+t;var t}};function Bl(e,t){t=t||Ol;for(var n,r=[],i=/\{([a-z]+)\}|[^{]+/gi;n=i.exec(e);)r.push("{"==n[0][0]?Ml[n[1]]:n[0]);return function(e){for(var n="",i=0;i=o,v=f>=a&&f=i?i:f,F=_+($u(c)-$u(y))+ul(y-_,N);h.push(F);for(var O=t(F),T=O.getHours()+O.getMinutes()/n+O.getSeconds()/r,M=f/r,B=d/u.axes[l]._space;!((F=cl(F+f,1==e?0:3))>s);)if(M>1){var I=$u(cl(T+M,6))%24,L=t(F).getHours()-I;L>1&&(L=-1),T=(T+M)%24,cl(((F-=L*r)-h[h.length-1])/f,3)*B>=.7&&h.push(F)}else h.push(F)}return h}}]}var Xl=St(Kl(1),3),ec=Xl[0],tc=Xl[1],nc=Xl[2],rc=St(Kl(.001),3),ic=rc[0],ac=rc[1],oc=rc[2];function uc(e,t){return e.map((function(e){return e.map((function(n,r){return 0==r||8==r||null==n?n:t(1==r||0==e[8]?n:e[1]+n)}))}))}function lc(e,t){return function(n,r,i,a,o){var u,l,c,s,f,d,h=t.find((function(e){return o>=e[0]}))||t[t.length-1];return r.map((function(t){var n=e(t),r=n.getFullYear(),i=n.getMonth(),a=n.getDate(),o=n.getHours(),p=n.getMinutes(),v=n.getSeconds(),m=r!=u&&h[2]||i!=l&&h[3]||a!=c&&h[4]||o!=s&&h[5]||p!=f&&h[6]||v!=d&&h[7]||h[1];return u=r,l=i,c=a,s=o,f=p,d=v,m(n)}))}}function cc(e,t,n){return new Date(e,t,n)}function sc(e,t){return t(e)}dl(2,-53,53,[1]);function fc(e,t){return function(n,r){return t(e(r))}}var dc={show:!0,live:!0,isolate:!1,mount:function(){},markers:{show:!0,width:2,stroke:function(e,t){var n=e.series[t];return n.width?n.stroke(e,t):n.points.width?n.points.stroke(e,t):null},fill:function(e,t){return e.series[t].fill(e,t)},dash:"solid"},idx:null,idxs:null,values:[]};var hc=[0,0];function pc(e,t,n){return function(e){0==e.button&&n(e)}}function vc(e,t,n){return n}var mc={show:!0,x:!0,y:!0,lock:!1,move:function(e,t,n){return hc[0]=t,hc[1]=n,hc},points:{show:function(e,t){var n=e.cursor.points,r=hu(),i=n.size(e,t);fu(r,Uo,i),fu(r,Yo,i);var a=i/-2;fu(r,"marginLeft",a),fu(r,"marginTop",a);var o=n.width(e,t,i);return o&&fu(r,"borderWidth",o),r},size:function(e,t){return Lc(e.series[t].points.width,1)},width:0,stroke:function(e,t){var n=e.series[t].points;return n._stroke||n._fill},fill:function(e,t){var n=e.series[t].points;return n._fill||n._stroke}},bind:{mousedown:pc,mouseup:pc,click:pc,dblclick:pc,mousemove:vc,mouseleave:vc,mouseenter:vc},drag:{setScale:!0,x:!0,y:!1,dist:0,uni:null,_x:!1,_y:!1},focus:{prox:-1},left:-10,top:-10,idx:null,dataIdx:function(e,t,n){return n},idxs:null},yc={show:!0,stroke:"rgba(0,0,0,0.07)",width:2},gc=xl({},yc,{filter:rl}),_c=xl({},gc,{size:10}),bc=xl({},yc,{show:!1}),Dc='12px system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"',wc="bold "+Dc,xc={show:!0,scale:"x",stroke:Go,space:50,gap:5,size:50,labelGap:0,labelSize:30,labelFont:wc,side:2,grid:gc,ticks:_c,border:bc,font:Dc,rotate:0},Ac={show:!0,scale:"x",auto:!1,sorted:1,min:Zu,max:-Zu,idxs:[]};function kc(e,t,n,r,i){return t.map((function(e){return null==e?"":Pu(e)}))}function Cc(e,t,n,r,i,a,o){for(var u=[],l=sl.get(i)||0,c=n=o?n:cl(ul(n,i),l);c<=r;c=cl(c+i,l))u.push(Object.is(c,-0)?0:c);return u}function Ec(e,t,n,r,i,a,o){var u=[],l=e.scales[e.axes[t].scale].log,c=$u((10==l?Qu:Gu)(n));i=qu(l,c),c<0&&(i=cl(i,-c));var s=n;do{u.push(s),(s=cl(s+i,sl.get(i)))>=i*l&&(i=s)}while(s<=r);return u}function Sc(e,t,n,r,i,a,o){var u=e.scales[e.axes[t].scale].asinh,l=r>u?Ec(e,t,Vu(u,n),r,i):[u],c=r>=0&&n<=0?[0]:[];return(n<-u?Ec(e,t,Vu(u,-r),-n,i):[u]).reverse().map((function(e){return-e})).concat(c,l)}var Nc=/./,Fc=/[12357]/,Oc=/[125]/,Tc=/1/;function Mc(e,t,n,r,i){var a=e.axes[n],o=a.scale,u=e.scales[o];if(3==u.distr&&2==u.log)return t;var l=e.valToPos,c=a._space,s=l(10,o),f=l(9,o)-s>=c?Nc:l(7,o)-s>=c?Fc:l(5,o)-s>=c?Oc:Tc;return t.map((function(e){return 4==u.distr&&0==e||f.test(e)?e:null}))}function Bc(e,t){return null==t?"":Pu(t)}var Ic={show:!0,scale:"y",stroke:Go,space:30,gap:5,size:50,labelGap:0,labelSize:30,labelFont:wc,side:3,grid:gc,ticks:_c,border:bc,font:Dc,rotate:0};function Lc(e,t){return cl((3+2*(e||1))*t,3)}var Pc={scale:null,auto:!0,sorted:0,min:Zu,max:-Zu},zc=function(e,t,n,r,i){return i},Rc={show:!0,auto:!0,sorted:0,gaps:zc,alpha:1,facets:[xl({},Pc,{scale:"x"}),xl({},Pc,{scale:"y"})]},jc={scale:"y",auto:!0,sorted:0,show:!0,spanGaps:!1,gaps:zc,alpha:1,points:{show:function(e,t){var n=e.series[0],r=n.scale,i=n.idxs,a=e._data[0],o=e.valToPos(a[i[0]],r,!0),u=e.valToPos(a[i[1]],r,!0),l=ju(u-o)/(e.series[t].points.space*Ro);return i[1]-i[0]<=l},filter:null},values:null,min:Zu,max:-Zu,idxs:[],path:null,clip:null};function $c(e,t,n,r,i){return n/10}var Hc={time:!0,auto:!0,distr:1,log:10,asinh:1,min:null,max:null,dir:1,ori:0},Uc=xl({},Hc,{time:!1,ori:1}),Yc={};function Vc(e,t){var n=Yc[e];return n||(n={key:e,plots:[],sub:function(e){n.plots.push(e)},unsub:function(e){n.plots=n.plots.filter((function(t){return t!=e}))},pub:function(e,t,r,i,a,o,u){for(var l=0;l0){o=new Path2D;for(var u=0==t?is:as,l=n,c=0;cs[0]){var f=s[0]-l;f>0&&u(o,l,r,f,r+a),l=s[1]}}var d=n+i-l;d>0&&u(o,l,r,d,r+a)}return o}function Zc(e,t,n,r,i,a,o){for(var u=[],l=e.length,c=1==i?n:r;c>=n&&c<=r;c+=i){if(null===t[c]){var s=c,f=c;if(1==i)for(;++c<=r&&null===t[c];)f=c;else for(;--c>=n&&null===t[c];)f=c;var d=a(e[s]),h=f==s?d:a(e[f]),p=s-i;d=o<=0&&p>=0&&p=0&&v>=0&&v=d&&u.push([d,h])}}return u}function Kc(e){return 0==e?nl:1==e?Hu:function(t){return Xu(t,e)}}function Xc(e){var t=0==e?es:ts,n=0==e?function(e,t,n,r,i,a){e.arcTo(t,n,r,i,a)}:function(e,t,n,r,i,a){e.arcTo(n,t,i,r,a)},r=0==e?function(e,t,n,r,i){e.rect(t,n,r,i)}:function(e,t,n,r,i){e.rect(n,t,i,r)};return function(e,i,a,o,u){var l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;0==l?r(e,i,a,o,u):(l=Yu(l,o/2,u/2),t(e,i+l,a),n(e,i+o,a,i+o,a+u,l),n(e,i+o,a+u,i,a+u,l),n(e,i,a+u,i,a,l),n(e,i,a,i+o,a,l),e.closePath())}}var es=function(e,t,n){e.moveTo(t,n)},ts=function(e,t,n){e.moveTo(n,t)},ns=function(e,t,n){e.lineTo(t,n)},rs=function(e,t,n){e.lineTo(n,t)},is=Xc(0),as=Xc(1),os=function(e,t,n,r,i,a){e.arc(t,n,r,i,a)},us=function(e,t,n,r,i,a){e.arc(n,t,r,i,a)},ls=function(e,t,n,r,i,a,o){e.bezierCurveTo(t,n,r,i,a,o)},cs=function(e,t,n,r,i,a,o){e.bezierCurveTo(n,t,i,r,o,a)};function ss(e){return function(e,t,n,r,i){return qc(e,t,(function(t,a,o,u,l,c,s,f,d,h,p){var v,m,y=t.pxRound,g=t.points;0==u.ori?(v=es,m=os):(v=ts,m=us);var _=cl(g.width*Ro,3),b=(g.size-g.width)/2*Ro,D=cl(2*b,3),w=new Path2D,x=new Path2D,A=e.bbox,k=A.left,C=A.top,E=A.width,S=A.height;is(x,k-D,C-D,E+2*D,S+2*D);var N=function(e){if(null!=o[e]){var t=y(c(a[e],u,h,f)),n=y(s(o[e],l,p,d));v(w,t+b,n),m(w,t,n,b,0,2*Ru)}};if(i)i.forEach(N);else for(var F=n;F<=r;F++)N(F);return{stroke:_>0?w:null,fill:w,clip:x,flags:3}}))}}function fs(e){return function(t,n,r,i,a,o){r!=i&&(a!=r&&o!=r&&e(t,n,r),a!=i&&o!=i&&e(t,n,i),e(t,n,o))}}var ds=fs(ns),hs=fs(rs);function ps(e){var t=Bu(null===e||void 0===e?void 0:e.alignGaps,0);return function(e,n,r,i){return qc(e,n,(function(a,o,u,l,c,s,f,d,h,p,v){var m,y,g=a.pxRound,_=function(e){return g(s(e,l,p,d))},b=function(e){return g(f(e,c,v,h))};0==l.ori?(m=ns,y=ds):(m=rs,y=hs);for(var D,w,x,A=l.dir*(0==l.ori?1:-1),k={stroke:new Path2D,fill:null,clip:null,band:null,gaps:null,flags:1},C=k.stroke,E=Zu,S=-Zu,N=_(o[1==A?r:i]),F=ku(u,r,i,1*A),O=ku(u,r,i,-1*A),T=_(o[F]),M=_(o[O]),B=1==A?r:i;B>=r&&B<=i;B+=A){var I=_(o[B]);I==N?null!=u[B]&&(w=b(u[B]),E==Zu&&(m(C,I,w),D=w),E=Yu(w,E),S=Vu(w,S)):(E!=Zu&&(y(C,N,E,S,D,w),x=N),null!=u[B]?(m(C,I,w=b(u[B])),E=S=D=w):(E=Zu,S=-Zu),N=I)}E!=Zu&&E!=S&&x!=N&&y(C,N,E,S,D,w);var L=St(Wc(e,n),2),P=L[0],z=L[1];if(null!=a.fill||0!=P){var R=k.fill=new Path2D(C),j=b(a.fillTo(e,n,a.min,a.max,P));m(R,M,j),m(R,T,j)}if(!a.spanGaps){var $,H=[];($=H).push.apply($,Nt(Zc(o,u,r,i,A,_,t))),k.gaps=H=a.gaps(e,n,r,i,H),k.clip=Jc(H,l.ori,d,h,p,v)}return 0!=z&&(k.band=2==z?[Gc(e,n,r,i,C,-1),Gc(e,n,r,i,C,1)]:Gc(e,n,r,i,C,z)),k}))}}function vs(e,t,n,r,i,a){var o=e.length;if(o<2)return null;var u=new Path2D;if(n(u,e[0],t[0]),2==o)r(u,e[1],t[1]);else{for(var l=Array(o),c=Array(o-1),s=Array(o-1),f=Array(o-1),d=0;d0!==c[h]>0?l[h]=0:(l[h]=3*(f[h-1]+f[h])/((2*f[h]+f[h-1])/c[h-1]+(f[h]+2*f[h-1])/c[h]),isFinite(l[h])||(l[h]=0));l[o-1]=c[o-2];for(var p=0;p=i&&a+(l<5?sl.get(l):0)<=17)return[l,c]}while(++u0?e:t.clamp(r,e,t.min,t.max,t.key)):4==t.distr?Ju(e,t.asinh):e)-t._min)/(t._max-t._min)}function o(e,t,n,r){var i=a(e,t);return r+n*(-1==t.dir?1-i:i)}function u(e,t,n,r){var i=a(e,t);return r+n*(-1==t.dir?i:1-i)}function l(e,t,n,r){return 0==t.ori?o(e,t,n,r):u(e,t,n,r)}r.valToPosH=o,r.valToPosV=u;var c=!1;r.status=0;var s=r.root=hu("uplot");(null!=e.id&&(s.id=e.id),cu(s,e.class),e.title)&&(hu("u-title",s).textContent=e.title);var f=du("canvas"),d=r.ctx=f.getContext("2d"),h=hu("u-wrap",s),p=r.under=hu("u-under",h);h.appendChild(f);var v=r.over=hu("u-over",h),m=+Bu((e=wl(e)).pxAlign,1),y=Kc(m);(e.plugins||[]).forEach((function(t){t.opts&&(e=t.opts(r,e)||e)}));var g=e.ms||.001,_=r.series=1==i?bs(e.series||[],Ac,jc,!1):function(e,t){return e.map((function(e,n){return 0==n?null:xl({},t,e)}))}(e.series||[null],Rc),b=r.axes=bs(e.axes||[],xc,Ic,!0),D=r.scales={},w=r.bands=e.bands||[];w.forEach((function(e){e.fill=tl(e.fill||null),e.dir=Bu(e.dir,-1)}));var x=2==i?_[1].facets[0].scale:_[0].scale,A={axes:function(){for(var e=function(e){var t=b[e];if(!t.show||!t._show)return"continue";var n=t.side,i=n%2,a=void 0,o=void 0,u=t.stroke(r,e),c=0==n||3==n?-1:1;if(t.label){var s=t.labelGap*c,f=Hu((t._lpos+s)*Ro);Ke(t.labelFont[0],u,"center",2==n?Vo:qo),d.save(),1==i?(a=o=0,d.translate(f,Hu(de+pe/2)),d.rotate((3==n?-Ru:Ru)/2)):(a=Hu(fe+he/2),o=f),d.fillText(t.label,a,o),d.restore()}var h=St(t._found,2),p=h[0],v=h[1];if(0==v)return"continue";var m=D[t.scale],g=0==i?he:pe,_=0==i?fe:de,w=Hu(t.gap*Ro),x=t._splits,A=2==m.distr?x.map((function(e){return We[e]})):x,k=2==m.distr?We[x[1]]-We[x[0]]:p,C=t.ticks,E=t.border,S=C.show?Hu(C.size*Ro):0,N=t._rotate*-Ru/180,F=y(t._pos*Ro),O=F+(S+w)*c;o=0==i?O:0,a=1==i?O:0,Ke(t.font[0],u,1==t.align?Wo:2==t.align?Qo:N>0?Wo:N<0?Qo:0==i?"center":3==n?Qo:Wo,N||1==i?"middle":2==n?Vo:qo);for(var T=1.5*t.font[1],M=x.map((function(e){return y(l(e,m,g,_))})),B=t._values,I=0;I0&&(_.forEach((function(e,n){if(n>0&&e.show&&null==e._paths){var a=2==i?[0,t[n][0].length-1]:function(e){var t=el(Ye-1,0,Oe-1),n=el(Ve+1,0,Oe-1);for(;null==e[t]&&t>0;)t--;for(;null==e[n]&&n0&&e.show){$e!=e.alpha&&(d.globalAlpha=$e=e.alpha),et(t,!1),e._paths&&tt(t,!1),et(t,!0);var n=e._paths?e._paths.gaps:null,i=e.points.show(r,t,Ye,Ve,n),a=e.points.filter(r,t,i,n);(i||a)&&(e.points._paths=e.points.paths(r,t,Ye,Ve,a),tt(t,!0)),1!=$e&&(d.globalAlpha=$e=1),on("drawSeries",t)}})))}},k=(e.drawOrder||["axes","series"]).map((function(e){return A[e]}));function C(t){var n=D[t];if(null==n){var r=(e.scales||hl)[t]||hl;if(null!=r.from)C(r.from),D[t]=xl({},D[r.from],r,{key:t});else{(n=D[t]=xl({},t==x?Hc:Uc,r)).key=t;var a=n.time,o=n.range,u=ml(o);if((t!=x||2==i&&!a)&&(!u||null!=o[0]&&null!=o[1]||(o={min:null==o[0]?Fu:{mode:1,hard:o[0],soft:o[0]},max:null==o[1]?Fu:{mode:1,hard:o[1],soft:o[1]}},u=!1),!u&&_l(o))){var l=o;o=function(e,t,n){return null==t?vl:Mu(t,n,l)}}n.range=tl(o||(a?xs:t==x?3==n.distr?Cs:4==n.distr?Ss:ws:3==n.distr?ks:4==n.distr?Es:As)),n.auto=tl(!u&&n.auto),n.clamp=tl(n.clamp||$c),n._min=n._max=null}}}for(var E in C("x"),C("y"),1==i&&_.forEach((function(e){C(e.scale)})),b.forEach((function(e){C(e.scale)})),e.scales)C(E);var S,N,F=D[x],O=F.distr;0==F.ori?(cu(s,"u-hz"),S=o,N=u):(cu(s,"u-vt"),S=u,N=o);var T={};for(var M in D){var B=D[M];null==B.min&&null==B.max||(T[M]={min:B.min,max:B.max},B.min=B.max=null)}var I,L=e.tzDate||function(e){return new Date(Hu(e/g))},P=e.fmtDate||Bl,z=1==g?nc(L):oc(L),R=lc(L,uc(1==g?tc:ac,P)),j=fc(L,sc("{YYYY}-{MM}-{DD} {h}:{mm}{aa}",P)),$=[],H=r.legend=xl({},dc,e.legend),U=H.show,Y=H.markers;H.idxs=$,Y.width=tl(Y.width),Y.dash=tl(Y.dash),Y.stroke=tl(Y.stroke),Y.fill=tl(Y.fill);var V,q=[],W=[],Q=!1,G={};if(H.live){var J=_[1]?_[1].values:null;for(var Z in V=(Q=null!=J)?J(r,1,0):{_:0})G[Z]="--"}if(U)if(I=du("table","u-legend",s),H.mount(r,I),Q){var K=du("tr","u-thead",I);for(var X in du("th",null,K),V)du("th",Ho,K).textContent=X}else cu(I,"u-inline"),H.live&&cu(I,"u-live");var ee={show:!0},te={show:!1};var ne=new Map;function re(e,t,n){var i=ne.get(t)||{},a=xe.bind[e](r,t,n);a&&(wu(e,t,i[e]=a),ne.set(t,i))}function ie(e,t,n){var r=ne.get(t)||{};for(var i in r)null!=e&&i!=e||(xu(i,t,r[i]),delete r[i]);null==e&&ne.delete(t)}var ae=0,oe=0,ue=0,le=0,ce=0,se=0,fe=0,de=0,he=0,pe=0;r.bbox={};var ve=!1,me=!1,ye=!1,ge=!1,_e=!1,be=!1;function De(e,t,n){(n||e!=r.width||t!=r.height)&&we(e,t),lt(!1),ye=!0,me=!0,xe.left>=0&&(ge=be=!0),wt()}function we(e,t){r.width=ae=ue=e,r.height=oe=le=t,ce=se=0,function(){var e=!1,t=!1,n=!1,r=!1;b.forEach((function(i,a){if(i.show&&i._show){var o=i.side,u=o%2,l=i._size+(null!=i.label?i.labelSize:0);l>0&&(u?(ue-=l,3==o?(ce+=l,r=!0):n=!0):(le-=l,0==o?(se+=l,e=!0):t=!0))}})),Ne[0]=e,Ne[1]=n,Ne[2]=t,Ne[3]=r,ue-=Ue[1]+Ue[3],ce+=Ue[3],le-=Ue[2]+Ue[0],se+=Ue[0]}(),function(){var e=ce+ue,t=se+le,n=ce,r=se;function i(i,a){switch(i){case 1:return(e+=a)-a;case 2:return(t+=a)-a;case 3:return(n-=a)+a;case 0:return(r-=a)+a}}b.forEach((function(e,t){if(e.show&&e._show){var n=e.side;e._pos=i(n,e._size),null!=e.label&&(e._lpos=i(n,e.labelSize))}}))}();var n=r.bbox;fe=n.left=Xu(ce*Ro,.5),de=n.top=Xu(se*Ro,.5),he=n.width=Xu(ue*Ro,.5),pe=n.height=Xu(le*Ro,.5)}r.setSize=function(e){De(e.width,e.height)};var xe=r.cursor=xl({},mc,{drag:{y:2==i}},e.cursor);xe.idxs=$,xe._lock=!1;var Ae=xe.points;Ae.show=tl(Ae.show),Ae.size=tl(Ae.size),Ae.stroke=tl(Ae.stroke),Ae.width=tl(Ae.width),Ae.fill=tl(Ae.fill);var ke=r.focus=xl({},e.focus||{alpha:.3},xe.focus),Ce=ke.prox>=0,Ee=[null];function Se(e,t){if(1==i||t>0){var n=1==i&&D[e.scale].time,a=e.value;e.value=n?gl(a)?fc(L,sc(a,P)):a||j:a||Bc,e.label=e.label||(n?"Time":"Value")}if(t>0){e.width=null==e.width?1:e.width,e.paths=e.paths||gs||il,e.fillTo=tl(e.fillTo||Qc),e.pxAlign=+Bu(e.pxAlign,m),e.pxRound=Kc(e.pxAlign),e.stroke=tl(e.stroke||null),e.fill=tl(e.fill||null),e._stroke=e._fill=e._paths=e._focus=null;var o=Lc(e.width,1),u=e.points=xl({},{size:o,width:Vu(1,.2*o),stroke:e.stroke,space:2*o,paths:_s,_stroke:null,_fill:null},e.points);u.show=tl(u.show),u.filter=tl(u.filter),u.fill=tl(u.fill),u.stroke=tl(u.stroke),u.paths=tl(u.paths),u.pxAlign=e.pxAlign}if(U){var l=function(e,t){if(0==t&&(Q||!H.live||2==i))return vl;var n=[],a=du("tr","u-series",I,I.childNodes[t]);cu(a,e.class),e.show||cu(a,$o);var o=du("th",null,a);if(Y.show){var u=hu("u-marker",o);if(t>0){var l=Y.width(r,t);l&&(u.style.border=l+"px "+Y.dash(r,t)+" "+Y.stroke(r,t)),u.style.background=Y.fill(r,t)}}var c=hu(Ho,o);for(var s in c.textContent=e.label,t>0&&(Y.show||(c.style.color=e.width>0?Y.stroke(r,t):Y.fill(r,t)),re("click",o,(function(t){if(!xe._lock){var n=_.indexOf(e);if((t.ctrlKey||t.metaKey)!=H.isolate){var r=_.some((function(e,t){return t>0&&t!=n&&e.show}));_.forEach((function(e,t){t>0&&Pt(t,r?t==n?ee:te:ee,!0,un.setSeries)}))}else Pt(n,{show:!e.show},!0,un.setSeries)}})),Ce&&re(eu,o,(function(t){xe._lock||Pt(_.indexOf(e),zt,!0,un.setSeries)}))),V){var f=du("td","u-value",a);f.textContent="--",n.push(f)}return[a,n]}(e,t);q.splice(t,0,l[0]),W.splice(t,0,l[1]),H.values.push(null)}if(xe.show){$.splice(t,0,null);var c=function(e,t){if(t>0){var n=xe.points.show(r,t);if(n)return cu(n,"u-cursor-pt"),cu(n,e.class),vu(n,-10,-10,ue,le),v.insertBefore(n,Ee[t]),n}}(e,t);c&&Ee.splice(t,0,c)}on("addSeries",t)}r.addSeries=function(e,t){t=null==t?_.length:t,e=1==i?Ds(e,t,Ac,jc):Ds(e,t,null,Rc),_.splice(t,0,e),Se(_[t],t)},r.delSeries=function(e){if(_.splice(e,1),U){H.values.splice(e,1),W.splice(e,1);var t=q.splice(e,1)[0];ie(null,t.firstChild),t.remove()}xe.show&&($.splice(e,1),Ee.length>1&&Ee.splice(e,1)[0].remove()),on("delSeries",e)};var Ne=[!1,!1,!1,!1];function Fe(e,t,n,r){var i=St(n,4),a=i[0],o=i[1],u=i[2],l=i[3],c=t%2,s=0;return 0==c&&(l||o)&&(s=0==t&&!a||2==t&&!u?Hu(xc.size/3):0),1==c&&(a||u)&&(s=1==t&&!o||3==t&&!l?Hu(Ic.size/2):0),s}var Oe,Te,Me,Be,Ie,Le,Pe,ze,Re,je,$e,He=r.padding=(e.padding||[Fe,Fe,Fe,Fe]).map((function(e){return tl(Bu(e,Fe))})),Ue=r._padding=He.map((function(e,t){return e(r,t,Ne,0)})),Ye=null,Ve=null,qe=1==i?_[0].idxs:null,We=null,Qe=!1;function Ge(e,n){if(t=null==e?[]:wl(e,bl),2==i){Oe=0;for(var a=1;a<_.length;a++)Oe+=t[a][0].length;r.data=t=e}else if(null==t[0]&&(t[0]=[]),r.data=t.slice(),We=t[0],Oe=We.length,2==O){t[0]=Array(Oe);for(var o=0;o=0,be=!0,wt()}}function Je(){var e,n;if(Qe=!0,1==i)if(Oe>0){if(Ye=qe[0]=0,Ve=qe[1]=Oe-1,e=t[0][Ye],n=t[0][Ve],2==O)e=Ye,n=Ve;else if(1==Oe)if(3==O){var r=St(Su(e,e,F.log,!1),2);e=r[0],n=r[1]}else if(4==O){var a=St(Nu(e,e,F.log,!1),2);e=a[0],n=a[1]}else if(F.time)n=e+Hu(86400/g);else{var o=St(Mu(e,n,.1,!0),2);e=o[0],n=o[1]}}else Ye=qe[0]=e=null,Ve=qe[1]=n=null;Lt(x,e,n)}function Ze(e,t,n,r,i,a){var o,u,l,c,s;null!==(o=e)&&void 0!==o||(e=Jo),null!==(u=n)&&void 0!==u||(n=pl),null!==(l=r)&&void 0!==l||(r="butt"),null!==(c=i)&&void 0!==c||(i=Jo),null!==(s=a)&&void 0!==s||(a="round"),e!=Te&&(d.strokeStyle=Te=e),i!=Me&&(d.fillStyle=Me=i),t!=Be&&(d.lineWidth=Be=t),a!=Le&&(d.lineJoin=Le=a),r!=Pe&&(d.lineCap=Pe=r),n!=Ie&&d.setLineDash(Ie=n)}function Ke(e,t,n,r){t!=Me&&(d.fillStyle=Me=t),e!=ze&&(d.font=ze=e),n!=Re&&(d.textAlign=Re=n),r!=je&&(d.textBaseline=je=r)}function Xe(e,t,n,i){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;if(i.length>0&&e.auto(r,Qe)&&(null==t||null==t.min)){var o=Bu(Ye,0),u=Bu(Ve,i.length-1),l=null==n.min?3==e.distr?Eu(i,o,u):Cu(i,o,u,a):[n.min,n.max];e.min=Yu(e.min,n.min=l[0]),e.max=Vu(e.max,n.max=l[1])}}function et(e,t){var n=t?_[e].points:_[e];n._stroke=n.stroke(r,e),n._fill=n.fill(r,e)}function tt(e,n){var i=n?_[e].points:_[e],a=i._stroke,o=i._fill,u=i._paths,l=u.stroke,c=u.fill,s=u.clip,f=u.flags,h=null,p=cl(i.width*Ro,3),v=p%2/2;n&&null==o&&(o=p>0?"#fff":a);var m=1==i.pxAlign;if(m&&d.translate(v,v),!n){var y=fe,g=de,b=he,D=pe,x=p*Ro/2;0==i.min&&(D+=x),0==i.max&&(g-=x,D+=x),(h=new Path2D).rect(y,g,b,D)}n?nt(a,p,i.dash,i.cap,o,l,c,f,s):function(e,n,i,a,o,u,l,c,s,f,d){var h=!1;w.forEach((function(p,v){if(p.series[0]==e){var m,y=_[p.series[1]],g=t[p.series[1]],b=(y._paths||hl).band;ml(b)&&(b=1==p.dir?b[0]:b[1]);var D=null;y.show&&b&&function(e,t,n){for(t=Bu(t,0),n=Bu(n,e.length-1);t<=n;){if(null!=e[t])return!0;t++}return!1}(g,Ye,Ve)?(D=p.fill(r,v)||u,m=y._paths.clip):b=null,nt(n,i,a,o,D,l,c,s,f,d,m,b),h=!0}})),h||nt(n,i,a,o,u,l,c,s,f,d)}(e,a,p,i.dash,i.cap,o,l,c,f,h,s),m&&d.translate(-v,-v)}r.setData=Ge;function nt(e,t,n,r,i,a,o,u,l,c,s,f){Ze(e,t,n,r,i),(l||c||f)&&(d.save(),l&&d.clip(l),c&&d.clip(c)),f?3==(3&u)?(d.clip(f),s&&d.clip(s),it(i,o),rt(e,a,t)):2&u?(it(i,o),d.clip(f),rt(e,a,t)):1&u&&(d.save(),d.clip(f),s&&d.clip(s),it(i,o),d.restore(),rt(e,a,t)):(it(i,o),rt(e,a,t)),(l||c||f)&&d.restore()}function rt(e,t,n){n>0&&(t instanceof Map?t.forEach((function(e,t){d.strokeStyle=Te=t,d.stroke(e)})):null!=t&&e&&d.stroke(t))}function it(e,t){t instanceof Map?t.forEach((function(e,t){d.fillStyle=Me=t,d.fill(e)})):null!=t&&e&&d.fill(t)}function at(e,t,n,r,i,a,o,u,l,c){var s=o%2/2;1==m&&d.translate(s,s),Ze(u,o,l,c,u),d.beginPath();var f,h,p,v,y=i+(0==r||3==r?-a:a);0==n?(h=i,v=y):(f=i,p=y);for(var g=0;g0&&(t._paths=null,e&&(1==i?(t.min=null,t.max=null):t.facets.forEach((function(e){e.min=null,e.max=null}))))}))}var ct,st,ft,dt,ht,pt,vt,mt,yt,gt,_t,bt,Dt=!1;function wt(){Dt||(kl(xt),Dt=!0)}function xt(){ve&&(!function(){var e=wl(D,bl);for(var n in e){var a=e[n],o=T[n];if(null!=o&&null!=o.min)xl(a,o),n==x&<(!0);else if(n!=x||2==i)if(0==Oe&&null==a.from){var u=a.range(r,null,null,n);a.min=u[0],a.max=u[1]}else a.min=Zu,a.max=-Zu}if(Oe>0)for(var l in _.forEach((function(n,a){if(1==i){var o=n.scale,u=e[o],l=T[o];if(0==a){var c=u.range(r,u.min,u.max,o);u.min=c[0],u.max=c[1],Ye=Au(u.min,t[0]),(Ve=Au(u.max,t[0]))-Ye>1&&(t[0][Ye]u.max&&Ve--),n.min=We[Ye],n.max=We[Ve]}else n.show&&n.auto&&Xe(u,l,n,t[a],n.sorted);n.idxs[0]=Ye,n.idxs[1]=Ve}else if(a>0&&n.show&&n.auto){var s=St(n.facets,2),f=s[0],d=s[1],h=f.scale,p=d.scale,v=St(t[a],2),m=v[0],y=v[1];Xe(e[h],T[h],f,m,f.sorted),Xe(e[p],T[p],d,y,d.sorted),n.min=d.min,n.max=d.max}})),e){var c=e[l],s=T[l];if(null==c.from&&(null==s||null==s.min)){var f=c.range(r,c.min==Zu?null:c.min,c.max==-Zu?null:c.max,l);c.min=f[0],c.max=f[1]}}for(var d in e){var h=e[d];if(null!=h.from){var p=e[h.from];if(null==p.min)h.min=h.max=null;else{var v=h.range(r,p.min,p.max,d);h.min=v[0],h.max=v[1]}}}var m={},y=!1;for(var g in e){var b=e[g],w=D[g];if(w.min!=b.min||w.max!=b.max){w.min=b.min,w.max=b.max;var A=w.distr;w._min=3==A?Qu(w.min):4==A?Ju(w.min,w.asinh):w.min,w._max=3==A?Qu(w.max):4==A?Ju(w.max,w.asinh):w.max,m[g]=y=!0}}if(y){for(var k in _.forEach((function(e,t){2==i?t>0&&m.y&&(e._paths=null):m[e.scale]&&(e._paths=null)})),m)ye=!0,on("setScale",k);xe.show&&xe.left>=0&&(ge=be=!0)}for(var C in T)T[C]=null}(),ve=!1),ye&&(!function(){for(var e=!1,t=0;!e;){var n=ot(++t),i=ut(t);(e=3==t||n&&i)||(we(r.width,r.height),me=!0)}}(),ye=!1),me&&(fu(p,Wo,ce),fu(p,Vo,se),fu(p,Uo,ue),fu(p,Yo,le),fu(v,Wo,ce),fu(v,Vo,se),fu(v,Uo,ue),fu(v,Yo,le),fu(h,Uo,ae),fu(h,Yo,oe),f.width=Hu(ae*Ro),f.height=Hu(oe*Ro),b.forEach((function(e){var t=e._el,n=e._show,r=e._size,i=e._pos,a=e.side;if(null!=t)if(n){var o=a%2==1;fu(t,o?"left":"top",i-(3===a||0===a?r:0)),fu(t,o?"width":"height",r),fu(t,o?"top":"left",o?se:ce),fu(t,o?"height":"width",o?le:ue),su(t,$o)}else cu(t,$o)})),Te=Me=Be=Le=Pe=ze=Re=je=Ie=null,$e=1,Qt(!0),on("setSize"),me=!1),ae>0&&oe>0&&(d.clearRect(0,0,f.width,f.height),on("drawClear"),k.forEach((function(e){return e()})),on("draw")),Mt.show&&_e&&(It(Mt),_e=!1),xe.show&&ge&&(qt(null,!0,!1),ge=!1),c||(c=!0,r.status=1,on("ready")),Qe=!1,Dt=!1}function At(e,n){var i=D[e];if(null==i.from){if(0==Oe){var a=i.range(r,n.min,n.max,e);n.min=a[0],n.max=a[1]}if(n.min>n.max){var o=n.min;n.min=n.max,n.max=o}if(Oe>1&&null!=n.min&&null!=n.max&&n.max-n.min<1e-16)return;e==x&&2==i.distr&&Oe>0&&(n.min=Au(n.min,t[0]),n.max=Au(n.max,t[0]),n.min==n.max&&n.max++),T[e]=n,ve=!0,wt()}}r.redraw=function(e,t){ye=t||!1,!1!==e?Lt(x,F.min,F.max):wt()},r.setScale=At;var kt=!1,Ct=xe.drag,Et=Ct.x,Nt=Ct.y;xe.show&&(xe.x&&(ct=hu("u-cursor-x",v)),xe.y&&(st=hu("u-cursor-y",v)),0==F.ori?(ft=ct,dt=st):(ft=st,dt=ct),_t=xe.left,bt=xe.top);var Ft,Ot,Tt,Mt=r.select=xl({show:!0,over:!0,left:0,width:0,top:0,height:0},e.select),Bt=Mt.show?hu("u-select",Mt.over?v:p):null;function It(e,t){if(Mt.show){for(var n in e)Mt[n]=e[n],n in Zt&&fu(Bt,n,e[n]);!1!==t&&on("setSelect")}}function Lt(e,t,n){At(e,{min:t,max:n})}function Pt(e,t,n,a){null!=t.focus&&function(e){if(e!=Tt){var t=null==e,n=1!=ke.alpha;_.forEach((function(r,i){var a=t||0==i||i==e;r._focus=t?null:a,n&&function(e,t){_[e].alpha=t,xe.show&&Ee[e]&&(Ee[e].style.opacity=t);U&&q[e]&&(q[e].style.opacity=t)}(i,a?1:ke.alpha)})),Tt=e,n&&wt()}}(e),null!=t.show&&_.forEach((function(n,r){r>0&&(e==r||null==e)&&(n.show=t.show,function(e,t){var n=_[e],r=U?q[e]:null;n.show?r&&su(r,$o):(r&&cu(r,$o),Ee.length>1&&vu(Ee[e],-10,-10,ue,le))}(r,t.show),Lt(2==i?n.facets[1].scale:n.scale,null,null),wt())})),!1!==n&&on("setSeries",e,t),a&&sn("setSeries",r,e,t)}r.setSelect=It,r.setSeries=Pt,r.addBand=function(e,t){e.fill=tl(e.fill||null),e.dir=Bu(e.dir,-1),t=null==t?w.length:t,w.splice(t,0,e)},r.setBand=function(e,t){xl(w[e],t)},r.delBand=function(e){null==e?w.length=0:w.splice(e,1)};var zt={focus:!0};function Rt(e,t,n){var r=D[t];n&&(e=e/Ro-(1==r.ori?se:ce));var i=ue;1==r.ori&&(e=(i=le)-e),-1==r.dir&&(e=i-e);var a=r._min,o=a+(r._max-a)*(e/i),u=r.distr;return 3==u?qu(10,o):4==u?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return zu.sinh(e)*t}(o,r.asinh):o}function jt(e,t){fu(Bt,Wo,Mt.left=e),fu(Bt,Uo,Mt.width=t)}function $t(e,t){fu(Bt,Vo,Mt.top=e),fu(Bt,Yo,Mt.height=t)}U&&Ce&&wu(tu,I,(function(e){xe._lock||null!=Tt&&Pt(null,zt,!0,un.setSeries)})),r.valToIdx=function(e){return Au(e,t[0])},r.posToIdx=function(e,n){return Au(Rt(e,x,n),t[0],Ye,Ve)},r.posToVal=Rt,r.valToPos=function(e,t,n){return 0==D[t].ori?o(e,D[t],n?he:ue,n?fe:0):u(e,D[t],n?pe:le,n?de:0)},r.batch=function(e){e(r),wt()},r.setCursor=function(e,t,n){_t=e.left,bt=e.top,qt(null,t,n)};var Ht=0==F.ori?jt:$t,Ut=1==F.ori?jt:$t;function Yt(e,t){if(null!=e){var n=e.idx;H.idx=n,_.forEach((function(e,t){(t>0||!Q)&&Vt(t,n)}))}U&&H.live&&function(){if(U&&H.live)for(var e=2==i?1:0;e<_.length;e++)if(0!=e||!Q){var t=H.values[e],n=0;for(var r in t)W[e][n++].firstChild.nodeValue=t[r]}}(),be=!1,!1!==t&&on("setLegend")}function Vt(e,n){var i;if(null==n)i=G;else{var a=_[e],o=0==e&&2==O?We:t[e];i=Q?a.values(r,e,n):{_:a.value(r,o[n],e,n)}}H.values[e]=i}function qt(e,n,a){yt=_t,gt=bt;var o,u=St(xe.move(r,_t,bt),2);_t=u[0],bt=u[1],xe.show&&(ft&&vu(ft,Hu(_t),0,ue,le),dt&&vu(dt,0,Hu(bt),ue,le));var l=Ye>Ve;Ft=Zu;var c=0==F.ori?ue:le,s=1==F.ori?ue:le;if(_t<0||0==Oe||l){o=null;for(var f=0;f<_.length;f++)f>0&&Ee.length>1&&vu(Ee[f],-10,-10,ue,le);if(Ce&&Pt(null,zt,!0,null==e&&un.setSeries),H.live){$.fill(null),be=!0;for(var d=0;d<_.length;d++)H.values[d]=G}}else{var h,p;1==i&&(o=Au(h=Rt(0==F.ori?_t:bt,x),t[0],Ye,Ve),p=ul(S(t[0][o],F,c,0),.5));for(var v=2==i?1:0;v<_.length;v++){var m=_[v],y=$[v],g=1==i?t[v][y]:t[v][1][y],b=xe.dataIdx(r,v,o,h),w=1==i?t[v][b]:t[v][1][b];be=be||w!=g||b!=y,$[v]=b;var A=b==o?p:ul(S(1==i?t[0][b]:t[v][0][b],F,c,0),.5);if(v>0&&m.show){var k=null==w?-10:ul(N(w,1==i?D[m.scale]:D[m.facets[1].scale],s,0),.5);if(k>0&&1==i){var C=ju(k-bt);C<=Ft&&(Ft=C,Ot=v)}var E=void 0,O=void 0;if(0==F.ori?(E=A,O=k):(E=k,O=A),be&&Ee.length>1){yu(Ee[v],xe.points.fill(r,v),xe.points.stroke(r,v));var T=void 0,M=void 0,B=void 0,I=void 0,L=!0,P=xe.points.bbox;if(null!=P){L=!1;var z=P(r,v);B=z.left,I=z.top,T=z.width,M=z.height}else B=E,I=O,T=M=xe.points.size(r,v);_u(Ee[v],T,M,L),vu(Ee[v],B,I,ue,le)}}if(H.live){if(!be||0==v&&Q)continue;Vt(v,b)}}}if(xe.idx=o,xe.left=_t,xe.top=bt,be&&(H.idx=o,Yt()),Mt.show&&kt)if(null!=e){var R=St(un.scales,2),j=R[0],U=R[1],Y=St(un.match,2),V=Y[0],q=Y[1],W=St(e.cursor.sync.scales,2),J=W[0],Z=W[1],K=e.cursor.drag;if(Et=K._x,Nt=K._y,Et||Nt){var X,ee,te,ne,re,ie=e.select,ae=ie.left,oe=ie.top,ce=ie.width,se=ie.height,fe=e.scales[j].ori,de=e.posToVal,he=null!=j&&V(j,J),pe=null!=U&&q(U,Z);he&&Et?(0==fe?(X=ae,ee=ce):(X=oe,ee=se),te=D[j],ne=S(de(X,J),te,c,0),re=S(de(X+ee,J),te,c,0),Ht(Yu(ne,re),ju(re-ne))):Ht(0,c),pe&&Nt?(1==fe?(X=ae,ee=ce):(X=oe,ee=se),te=D[U],ne=N(de(X,Z),te,s,0),re=N(de(X+ee,Z),te,s,0),Ut(Yu(ne,re),ju(re-ne))):Ut(0,s)}else Kt()}else{var ve=ju(yt-ht),me=ju(gt-pt);if(1==F.ori){var ye=ve;ve=me,me=ye}Et=Ct.x&&ve>=Ct.dist,Nt=Ct.y&&me>=Ct.dist;var ge,_e,De=Ct.uni;null!=De?Et&&Nt&&(Nt=me>=De,(Et=ve>=De)||Nt||(me>ve?Nt=!0:Et=!0)):Ct.x&&Ct.y&&(Et||Nt)&&(Et=Nt=!0),Et&&(0==F.ori?(ge=vt,_e=_t):(ge=mt,_e=bt),Ht(Yu(ge,_e),ju(_e-ge)),Nt||Ut(0,s)),Nt&&(1==F.ori?(ge=vt,_e=_t):(ge=mt,_e=bt),Ut(Yu(ge,_e),ju(_e-ge)),Et||Ht(0,c)),Et||Nt||(Ht(0,0),Ut(0,0))}if(Ct._x=Et,Ct._y=Nt,null==e){if(a){if(null!=ln){var we=St(un.scales,2),Ae=we[0],Se=we[1];un.values[0]=null!=Ae?Rt(0==F.ori?_t:bt,Ae):null,un.values[1]=null!=Se?Rt(1==F.ori?_t:bt,Se):null}sn(Zo,r,_t,bt,ue,le,o)}if(Ce){var Ne=a&&un.setSeries,Fe=ke.prox;null==Tt?Ft<=Fe&&Pt(Ot,zt,!0,Ne):Ft>Fe?Pt(null,zt,!0,Ne):Ot!=Tt&&Pt(Ot,zt,!0,Ne)}}!1!==n&&on("setCursor")}r.setLegend=Yt;var Wt=null;function Qt(e){!0===e?Wt=null:on("syncRect",Wt=v.getBoundingClientRect())}function Gt(e,t,n,r,i,a,o){xe._lock||kt&&null!=e&&0==e.movementX&&0==e.movementY||(Jt(e,t,n,r,i,a,o,!1,null!=e),null!=e?qt(null,!0,!0):qt(t,!0,!1))}function Jt(e,t,n,i,a,o,u,c,s){if(null==Wt&&Qt(!1),null!=e)n=e.clientX-Wt.left,i=e.clientY-Wt.top;else{if(n<0||i<0)return _t=-10,void(bt=-10);var f=St(un.scales,2),d=f[0],h=f[1],p=t.cursor.sync,v=St(p.values,2),m=v[0],y=v[1],g=St(p.scales,2),_=g[0],b=g[1],w=St(un.match,2),x=w[0],A=w[1],k=t.axes[0].side%2==1,C=0==F.ori?ue:le,E=1==F.ori?ue:le,S=k?o:a,N=k?a:o,O=k?i:n,T=k?n:i;if(n=null!=_?x(d,_)?l(m,D[d],C,0):-10:C*(O/S),i=null!=b?A(h,b)?l(y,D[h],E,0):-10:E*(T/N),1==F.ori){var M=n;n=i,i=M}}if(s&&((n<=1||n>=ue-1)&&(n=Xu(n,ue)),(i<=1||i>=le-1)&&(i=Xu(i,le))),c){ht=n,pt=i;var B=St(xe.move(r,n,i),2);vt=B[0],mt=B[1]}else _t=n,bt=i}var Zt={width:0,height:0,left:0,top:0};function Kt(){It(Zt,!1)}function Xt(e,t,n,i,a,o,u){kt=!0,Et=Nt=Ct._x=Ct._y=!1,Jt(e,t,n,i,a,o,0,!0,!1),null!=e&&(re(Xo,ou,en),sn(Ko,r,vt,mt,ue,le,null))}function en(e,t,n,i,a,o,u){kt=Ct._x=Ct._y=!1,Jt(e,t,n,i,a,o,0,!1,!0);var l=Mt.left,c=Mt.top,s=Mt.width,f=Mt.height,d=s>0||f>0;if(d&&It(Mt),Ct.setScale&&d){var h=l,p=s,v=c,m=f;if(1==F.ori&&(h=c,p=f,v=l,m=s),Et&&Lt(x,Rt(h,x),Rt(h+p,x)),Nt)for(var y in D){var g=D[y];y!=x&&null==g.from&&g.min!=Zu&&Lt(y,Rt(v+m,y),Rt(v,y))}Kt()}else xe.lock&&(xe._lock=!xe._lock,xe._lock||qt(null,!0,!1));null!=e&&(ie(Xo,ou),sn(Xo,r,_t,bt,ue,le,null))}function tn(e,t,n,i,a,o,u){Je(),Kt(),null!=e&&sn(nu,r,_t,bt,ue,le,null)}function nn(){b.forEach(Os),De(r.width,r.height,!0)}wu(iu,uu,nn);var rn={};rn.mousedown=Xt,rn.mousemove=Gt,rn.mouseup=en,rn.dblclick=tn,rn.setSeries=function(e,t,n,r){Pt(n,r,!0,!1)},xe.show&&(re(Ko,v,Xt),re(Zo,v,Gt),re(eu,v,Qt),re(tu,v,(function(e,t,n,r,i,a,o){if(!xe._lock){var u=kt;if(kt){var l,c,s=!0,f=!0;0==F.ori?(l=Et,c=Nt):(l=Nt,c=Et),l&&c&&(s=_t<=10||_t>=ue-10,f=bt<=10||bt>=le-10),l&&s&&(_t=_t=3&&10==i.log?Mc:rl)),e.font=Fs(e.font),e.labelFont=Fs(e.labelFont),e._size=e.size(r,null,t,0),e._space=e._rotate=e._incrs=e._found=e._splits=e._values=null,e._size>0&&(Ne[t]=!0,e._el=hu("u-axis",h))}})),n?n instanceof HTMLElement?(n.appendChild(s),fn()):n(r,fn):fn(),r}Ts.assign=xl,Ts.fmtNum=Pu,Ts.rangeNum=Mu,Ts.rangeLog=Su,Ts.rangeAsinh=Nu,Ts.orient=qc,Ts.pxRatio=Ro,Ts.join=function(e,t){for(var n=new Set,r=0;r=o&&M<=u;M+=S){var B=s[M];if(null!=B){var I=x(c[M]),L=A(B);1==t?k(E,I,N):k(E,O,L),k(E,I,L),N=L,O=I}}var P=O;i&&1==t&&k(E,P=D+w,N);var z=St(Wc(e,a),2),R=z[0],j=z[1];if(null!=l.fill||0!=R){var $=C.fill=new Path2D(E),H=A(l.fillTo(e,a,l.min,l.max,R));k($,P,H),k($,T,H)}if(!l.spanGaps){var U,Y=[];(U=Y).push.apply(U,Nt(Zc(c,s,o,u,S,x,r)));var V=l.width*Ro/2,q=n||1==t?V:-V,W=n||-1==t?-V:V;Y.forEach((function(e){e[0]+=q,e[1]+=W})),C.gaps=Y=l.gaps(e,a,o,u,Y),C.clip=Jc(Y,f.ori,v,m,y,g)}return 0!=j&&(C.band=2==j?[Gc(e,a,o,u,E,-1),Gc(e,a,o,u,E,1)]:Gc(e,a,o,u,E,j)),C}))}},Ms.bars=function(e){var t=Bu((e=e||hl).size,[.6,Zu,1]),n=e.align||0,r=(e.gap||0)*Ro,i=Bu(e.radius,0),a=1-t[0],o=Bu(t[1],Zu)*Ro,u=Bu(t[2],1)*Ro,l=Bu(e.disp,hl),c=Bu(e.each,(function(e){})),s=l.fill,f=l.stroke;return function(e,t,d,h){return qc(e,t,(function(p,v,m,y,g,_,b,D,w,x,A){var k,C,E=p.pxRound,S=y.dir*(0==y.ori?1:-1),N=g.dir*(1==g.ori?1:-1),F=0==y.ori?is:as,O=0==y.ori?c:function(e,t,n,r,i,a,o){c(e,t,n,i,r,o,a)},T=St(Wc(e,t),2),M=T[0],B=T[1],I=3==g.distr?1==M?g.max:g.min:0,L=b(I,g,A,w),P=E(p.width*Ro),z=!1,R=null,j=null,$=null,H=null;null==s||0!=P&&null==f||(z=!0,R=s.values(e,t,d,h),j=new Map,new Set(R).forEach((function(e){null!=e&&j.set(e,new Path2D)})),P>0&&($=f.values(e,t,d,h),H=new Map,new Set($).forEach((function(e){null!=e&&H.set(e,new Path2D)}))));var U=l.x0,Y=l.size;if(null!=U&&null!=Y){v=U.values(e,t,d,h),2==U.unit&&(v=v.map((function(t){return e.posToVal(D+t*x,y.key,!0)})));var V=Y.values(e,t,d,h);C=E((C=2==Y.unit?V[0]*x:_(V[0],y,x,D)-_(0,y,x,D))-P),k=1==S?-P/2:C+P/2}else{var q=x;if(v.length>1)for(var W=null,Q=0,G=1/0;Q=d&&Q<=h;Q+=S){var ie=m[Q];if(void 0!==ie){var ae=_(2!=y.distr||null!=l?v[Q]:Q,y,x,D),oe=b(Bu(ie,I),g,A,w);null!=re&&null!=ie&&(L=b(re[Q],g,A,w));var ue=E(ae-k),le=E(Vu(oe,L)),ce=E(Yu(oe,L)),se=le-ce,fe=i*C;null!=ie&&(z?(P>0&&null!=$[Q]&&F(H.get($[Q]),ue,ce+$u(P/2),C,Vu(0,se-P),fe),null!=R[Q]&&F(j.get(R[Q]),ue,ce+$u(P/2),C,Vu(0,se-P),fe)):F(X,ue,ce+$u(P/2),C,Vu(0,se-P),fe),O(e,t,Q,ue-P/2,ce,C+P,se)),0!=B&&(N*B==1?(le=ce,ce=Z):(ce=le,le=Z),F(ee,ue-P/2,ce,C+P,Vu(0,se=le-ce),0))}}return P>0&&(K.stroke=z?H:X),K.fill=z?j:X,K}))}},Ms.spline=function(e){return function(e,t){var n=Bu(null===t||void 0===t?void 0:t.alignGaps,0);return function(t,r,i,a){return qc(t,r,(function(o,u,l,c,s,f,d,h,p,v,m){var y,g,_,b=o.pxRound,D=function(e){return b(f(e,c,v,h))},w=function(e){return b(d(e,s,m,p))};0==c.ori?(y=es,_=ns,g=ls):(y=ts,_=rs,g=cs);var x=c.dir*(0==c.ori?1:-1);i=ku(l,i,a,1),a=ku(l,i,a,-1);for(var A=D(u[1==x?i:a]),k=A,C=[],E=[],S=1==x?i:a;S>=i&&S<=a;S+=x)if(null!=l[S]){var N=D(u[S]);C.push(k=N),E.push(w(l[S]))}var F={stroke:e(C,E,y,_,g,b),fill:null,clip:null,band:null,gaps:null,flags:1},O=F.stroke,T=St(Wc(t,r),2),M=T[0],B=T[1];if(null!=o.fill||0!=M){var I=F.fill=new Path2D(O),L=w(o.fillTo(t,r,o.min,o.max,M));_(I,k,L),_(I,A,L)}if(!o.spanGaps){var P,z=[];(P=z).push.apply(P,Nt(Zc(u,l,i,a,x,D,n))),F.gaps=z=o.gaps(t,r,i,a,z),F.clip=Jc(z,c.ori,h,p,v,m)}return 0!=B&&(F.band=2==B?[Gc(t,r,i,a,O,-1),Gc(t,r,i,a,O,1)]:Gc(t,r,i,a,O,B)),F}))}}(vs,e)};var Bs,Is={legend:{show:!1},cursor:{drag:{x:!0,y:!1},focus:{prox:30},points:{size:5.6,width:1.4},bind:{click:function(){return null},dblclick:function(){return null}}}},Ls=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(void 0===e||null===e)return"";var r=Math.abs(n-t);if(isNaN(r)||0==r)return Math.abs(e)>=1e3?e.toLocaleString("en-US"):e.toString();var i=3+Math.floor(1+Math.log10(Math.max(Math.abs(t),Math.abs(n)))-Math.log10(r));return(isNaN(i)||i>20)&&(i=20),e.toLocaleString("en-US",{minimumSignificantDigits:i,maximumSignificantDigits:i})},Ps=function(e,t,n,r){var i,a=e.axes[n];if(r>1)return a._size||60;var o=6+((null===a||void 0===a||null===(i=a.ticks)||void 0===i?void 0:i.size)||0)+(a.gap||0),u=(null!==t&&void 0!==t?t:[]).reduce((function(e,t){return t.length>e.length?t:e}),"");return""!=u&&(o+=function(e,t){var n=document.createElement("span");n.innerText=e,n.style.cssText="position: absolute; z-index: -1; pointer-events: none; opacity: 0; font: ".concat(t),document.body.appendChild(n);var r=n.offsetWidth;return n.remove(),r}(u,e.ctx.font)),Math.ceil(o)},zs=function(e){for(var t=e.length,n=-1/0;t--;){var r=e[t];Number.isFinite(r)&&r>n&&(n=r)}return Number.isFinite(n)?n:null},Rs=function(e){for(var t=e.length,n=1/0;t--;){var r=e[t];Number.isFinite(r)&&r2&&void 0!==arguments[2]?arguments[2]:"",r=t[0],i=t[t.length-1];return n?t.map((function(e){return"".concat(Ls(e,r,i)," ").concat(n)})):t.map((function(e){return Ls(e,r,i)}))}(e,n,t)}};return e?Number(e)%2?n:dr(dr({},n),{},{side:1}):{space:80,values:js}}))},Hs=function(e,t){if(null==e||null==t)return[-1,1];var n=.02*(Math.abs(t-e)||Math.abs(e)||1);return[e-n,t+n]},Us=n(61),Ys=n.n(Us),Vs=function(e){var t,n,r,i=e.u,a=e.id,o=e.unit,u=void 0===o?"":o,l=e.metrics,c=e.series,s=e.yRange,f=e.tooltipIdx,d=e.tooltipOffset,h=e.isSticky,p=e.onClose,v=ie(null),m=St(ee({top:-999,left:-999}),2),g=m[0],_=m[1],b=St(ee(!1),2),D=b[0],w=b[1],x=St(ee(!1),2),A=x[0],k=x[1],C=St(ee(f.seriesIdx),2),E=C[0],S=C[1],N=St(ee(f.dataIdx),2),F=N[0],O=N[1],T=oe((function(){return i.root.querySelector(".u-wrap")}),[i]),M=wr()(i,["data",E,F],0),B=Ls(M,wr()(s,[0]),wr()(s,[1])),I=i.data[0][F],L=_t()(1e3*I).tz().format("YYYY-MM-DD HH:mm:ss:SSS (Z)"),P=(null===(t=c[E])||void 0===t?void 0:t.stroke)+"",z=new Set(l.map((function(e){return e.group}))),R=z.size>1,j=(null===(n=l[E-1])||void 0===n?void 0:n.group)||0,$=(null===(r=l[E-1])||void 0===r?void 0:r.metric)||{},H=Object.keys($).filter((function(e){return"__name__"!=e})),U=$.__name__||"value",Y=oe((function(){return H.map((function(e){return"".concat(e,"=").concat(JSON.stringify($[e]))}))}),[l,E]),V=function(e){if(D){var t=e.clientX,n=e.clientY;_({top:n,left:t})}},q=function(){w(!1)};return ne((function(){var e;if(v.current){var t=i.valToPos(M||0,(null===(e=c[E])||void 0===e?void 0:e.scale)||"1"),n=i.valToPos(I,"x"),r=v.current.getBoundingClientRect(),a=r.width,o=r.height,u=i.over.getBoundingClientRect(),l=n+a>=u.width?a+20:0,s=t+o>=u.height?o+20:0;_({top:t+d.top+10-s,left:n+d.left+10-l})}}),[i,M,I,E,d,v]),ne((function(){S(f.seriesIdx),O(f.dataIdx)}),[f]),ne((function(){return D&&(document.addEventListener("mousemove",V),document.addEventListener("mouseup",q)),function(){document.removeEventListener("mousemove",V),document.removeEventListener("mouseup",q)}}),[D]),!T||f.seriesIdx<0||f.dataIdx<0?null:yt.createPortal(Fr("div",{className:la()({"vm-chart-tooltip":!0,"vm-chart-tooltip_sticky":h,"vm-chart-tooltip_moved":A}),ref:v,style:g,children:[Fr("div",{className:"vm-chart-tooltip-header",children:[Fr("div",{className:"vm-chart-tooltip-header__date",children:[R&&Fr("div",{children:["Query ",j]}),L]}),h&&Fr(y,{children:[Fr(Qa,{className:"vm-chart-tooltip-header__drag",variant:"text",size:"small",startIcon:Fr(ea,{}),onMouseDown:function(e){k(!0),w(!0);var t=e.clientX,n=e.clientY;_({top:n,left:t})}}),Fr(Qa,{className:"vm-chart-tooltip-header__close",variant:"text",size:"small",startIcon:Fr(Si,{}),onClick:function(){p&&p(a)}})]})]}),Fr("div",{className:"vm-chart-tooltip-data",children:[Fr("div",{className:"vm-chart-tooltip-data__marker",style:{background:P}}),Fr("p",{children:[U,":",Fr("b",{className:"vm-chart-tooltip-data__value",children:B}),u]})]}),!!Y.length&&Fr("div",{className:"vm-chart-tooltip-info",children:Y.map((function(e,t){return Fr("div",{children:e},"".concat(e,"_").concat(t))}))})]}),T)};!function(e){e.xRange="xRange",e.yRange="yRange",e.data="data"}(Bs||(Bs={}));var qs=function(e){var t=e.data,n=e.series,r=e.metrics,i=void 0===r?[]:r,a=e.period,o=e.yaxis,u=e.unit,l=e.setPeriod,c=e.container,s=e.height,f=ie(null),d=St(ee(!1),2),h=d[0],v=d[1],m=St(ee({min:a.start,max:a.end}),2),y=m[0],g=m[1],_=St(ee([0,1]),2),b=_[0],D=_[1],w=St(ee(),2),x=w[0],A=w[1],k=oa(c),C=St(ee(!1),2),E=C[0],S=C[1],N=St(ee({seriesIdx:-1,dataIdx:-1}),2),F=N[0],O=N[1],T=St(ee({left:0,top:0}),2),M=T[0],B=T[1],I=St(ee([]),2),L=I[0],P=I[1],z=oe((function(){return"".concat(F.seriesIdx,"_").concat(F.dataIdx)}),[F]),R=ue(Ys()((function(e){var t=e.min,n=e.max;l({from:_t()(1e3*t).toDate(),to:_t()(1e3*n).toDate()})}),500),[]),j=function(e){var t=e.u,n=e.min,r=e.max,i=1e3*(r-n);ijr||(t.setScale("x",{min:n,max:r}),g({min:n,max:r}),R({min:n,max:r}))},$=function(e){var t=e.target,n=e.ctrlKey,r=e.metaKey,i=e.key,a=t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement;if(x&&!a){var o="+"===i||"="===i;if(("-"===i||o)&&!n&&!r){e.preventDefault();var u=(y.max-y.min)/10*(o?1:-1);j({u:x,min:y.min+u,max:y.max-u})}}},H=function(){var e="".concat(F.seriesIdx,"_").concat(F.dataIdx),t={id:e,unit:u,series:n,metrics:i,yRange:b,tooltipIdx:F,tooltipOffset:M};if(!L.find((function(t){return t.id===e}))){var r=JSON.parse(JSON.stringify(t));P((function(e){return[].concat(Nt(e),[r])}))}},U=function(e){P((function(t){return t.filter((function(t){return t.id!==e}))}))},Y=function(){return[y.min,y.max]},V=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3?arguments[3]:void 0;return"1"==r&&D([t,n]),o.limits.enable?o.limits.range[r]:Hs(t,n)},q=dr(dr({},Is),{},{tzDate:function(e){return _t()(Jr(Kr(e))).local().toDate()},series:n,axes:$s([{},{scale:"1"}],u),scales:dr({},function(){var e={x:{range:Y}},t=Object.keys(o.limits.range);return(t.length?t:["1"]).forEach((function(t){e[t]={range:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return V(e,n,r,t)}}})),e}()),width:k.width||400,height:s||500,plugins:[{hooks:{ready:function(e){B({left:parseFloat(e.over.style.left),top:parseFloat(e.over.style.top)}),e.over.addEventListener("mousedown",(function(t){var n=t.ctrlKey,r=t.metaKey;0===t.button&&(n||r)&&function(e){var t=e.e,n=e.factor,r=void 0===n?.85:n,i=e.u,a=e.setPanning,o=e.setPlotScale;t.preventDefault(),a(!0);var u=t.clientX,l=i.posToVal(1,"x")-i.posToVal(0,"x"),c=i.scales.x.min||0,s=i.scales.x.max||0,f=function(e){e.preventDefault();var t=l*((e.clientX-u)*r);o({u:i,min:c-t,max:s-t})};document.addEventListener("mousemove",f),document.addEventListener("mouseup",(function e(){a(!1),document.removeEventListener("mousemove",f),document.removeEventListener("mouseup",e)}))}({u:e,e:t,setPanning:v,setPlotScale:j,factor:.9})})),e.over.addEventListener("wheel",(function(t){if(t.ctrlKey||t.metaKey){t.preventDefault();var n=e.over.getBoundingClientRect().width,r=e.cursor.left&&e.cursor.left>0?e.cursor.left:0,i=e.posToVal(r,"x"),a=(e.scales.x.max||0)-(e.scales.x.min||0),o=t.deltaY<0?.9*a:a/.9,u=i-r/n*o,l=u+o;e.batch((function(){return j({u:e,min:u,max:l})}))}}))},setCursor:function(e){var t,n=null!==(t=e.cursor.idx)&&void 0!==t?t:-1;O((function(e){return dr(dr({},e),{},{dataIdx:n})}))},setSeries:function(e,t){var n=null!==t&&void 0!==t?t:-1;O((function(e){return dr(dr({},e),{},{seriesIdx:n})}))}}}],hooks:{setSelect:[function(e){var t=e.posToVal(e.select.left,"x"),n=e.posToVal(e.select.left+e.select.width,"x");j({u:e,min:t,max:n})}]}}),W=function(e){if(x){switch(e){case Bs.xRange:x.scales.x.range=Y;break;case Bs.yRange:Object.keys(o.limits.range).forEach((function(e){x.scales[e]&&(x.scales[e].range=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return V(t,n,r,e)})}));break;case Bs.data:x.setData(t)}h||x.redraw()}};return ne((function(){return g({min:a.start,max:a.end})}),[a]),ne((function(){if(P([]),O({seriesIdx:-1,dataIdx:-1}),f.current){var e=new Ts(q,t,f.current);return A(e),g({min:a.start,max:a.end}),e.destroy}}),[f.current,n,k,s]),ne((function(){return window.addEventListener("keydown",$),function(){window.removeEventListener("keydown",$)}}),[y]),ne((function(){return W(Bs.data)}),[t]),ne((function(){return W(Bs.xRange)}),[y]),ne((function(){return W(Bs.yRange)}),[o]),ne((function(){var e=-1!==F.dataIdx&&-1!==F.seriesIdx;return S(e),e&&window.addEventListener("click",H),function(){window.removeEventListener("click",H)}}),[F,L]),Fr("div",{className:la()({"vm-line-chart":!0,"vm-line-chart_panning":h}),children:[Fr("div",{className:"vm-line-chart__u-plot",ref:f}),x&&E&&Fr(Vs,{unit:u,u:x,series:n,metrics:i,yRange:b,tooltipIdx:F,tooltipOffset:M,id:z}),x&&L.map((function(e){return p(Vs,dr(dr({},e),{},{isSticky:!0,u:x,key:e.id,onClose:U}))}))]})},Ws=function(e){var t=e.legend,n=e.onChange,r=St(ee(""),2),i=r[0],a=r[1],o=oe((function(){return function(e){var t=Object.keys(e.freeFormFields).filter((function(e){return"__name__"!==e}));return t.map((function(t){var n="".concat(t,"=").concat(JSON.stringify(e.freeFormFields[t]));return{id:"".concat(e.label,".").concat(n),freeField:n,key:t}}))}(t)}),[t]),u=function(){var e=Bo(To().mark((function e(t,n){return To().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,navigator.clipboard.writeText(t);case 2:a(n),setTimeout((function(){return a("")}),2e3);case 4:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}();return Fr("div",{className:la()({"vm-legend-item":!0,"vm-legend-item_hide":!t.checked}),onClick:function(e){return function(t){n(e,t.ctrlKey||t.metaKey)}}(t),children:[Fr("div",{className:"vm-legend-item__marker",style:{backgroundColor:t.color}}),Fr("div",{className:"vm-legend-item-info",children:[Fr("span",{className:"vm-legend-item-info__label",children:t.freeFormFields.__name__||(0==o.length?"{}":"")}),o.length>0&&Fr("span",{children:["{",o.map((function(e){return Fr(Za,{open:i===e.id,title:"Copied!",placement:"top-center",children:Fr("span",{className:"vm-legend-item-info__free-fields",onClick:(t=e.freeField,n=e.id,function(e){e.stopPropagation(),u(t,n)}),children:e.freeField},e.key)},e.id);var t,n})),"}"]})]})]})},Qs=function(e){var t=e.labels,n=e.query,r=e.onChange,i=oe((function(){return Array.from(new Set(t.map((function(e){return e.group}))))}),[t]),a=i.length>1;return Fr(y,{children:Fr("div",{className:"vm-legend",children:i.map((function(e){return Fr("div",{className:"vm-legend-group",children:[Fr("div",{className:"vm-legend-group-title",children:[a&&Fr("span",{className:"vm-legend-group-title__count",children:["Query ",e,": "]}),Fr("span",{className:"vm-legend-group-title__query",children:n[e-1]})]}),Fr("div",{children:t.filter((function(t){return t.group===e})).map((function(e){return Fr(Ws,{legend:e,onChange:r},e.label)}))})]},e)}))})})},Gs=["__name__"],Js=function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=e.metric,i=r.__name__,a=ca(r,Gs),o=t||"".concat(n?"[Query ".concat(e.group,"] "):"").concat(i||"");return 0==Object.keys(a).length?o||"value":"".concat(o,"{").concat(Object.entries(a).map((function(e){return"".concat(e[0],"=").concat(JSON.stringify(e[1]))})).join(", "),"}")},Zs=["#e54040","#32a9dc","#2ee329","#7126a1","#e38f0f","#3d811a","#ffea00","#2d2d2d","#da42a6","#a44e0c"],Ks=function(e){var t=16777215,n=1,r=0,i=1;if(e.length>0)for(var a=0;ar&&(r=e[a].charCodeAt(0)),i=parseInt(String(t/r)),n=(n+e[a].charCodeAt(0)*i*49979693)%t;var o=(n*e.length%t).toString(16);return o=o.padEnd(6,o),"#".concat(o)},Xs=function(e,t){return{group:t,label:e.label||"",color:e.stroke,checked:e.show||!1,freeFormFields:e.freeFormFields}},ef=function(e,t){return t.includes("".concat(e))},tf=function(e){switch(e){case"NaN":return NaN;case"Inf":case"+Inf":return 1/0;case"-Inf":return-1/0;default:return parseFloat(e)}},nf=function(e){var t=e.data,n=void 0===t?[]:t,r=e.period,i=e.customStep,a=e.query,o=e.yaxis,u=e.unit,l=e.showLegend,c=void 0===l||l,s=e.setYaxisLimits,f=e.setPeriod,d=e.alias,h=void 0===d?[]:d,p=e.fullWidth,v=void 0===p||p,m=e.height,y=yi().timezone,g=oe((function(){return i||r.step||"1s"}),[r.step,i]),_=ue(function(){var e={};return function(t,n,r){var i=Js(t,r[t.group-1]),a=Object.keys(e).length;return a=i.length||i[u]>a)&&l.push(a)}for(;l.length<2;)l.push(a),a=Vr(a+r);return l}(e,g,r),u=n.map((function(e){var t,n=[],r=e.values,i=r.length,a=0,u=zo(o);try{for(u.s();!(t=u.n()).done;){for(var l=t.value;a1e10*h?n.map((function(){return f})):n}));u.unshift(o),T(t),w(u),k(a),S(i)}),[n,y]),ne((function(){var e=[],t=[{}];null===n||void 0===n||n.forEach((function(n){var r=_(n,F,h);t.push(r),e.push(Xs(r,n.group))})),k(t),S(e)}),[F]);var M=ie(null);return Fr("div",{className:la()({"vm-graph-view":!0,"vm-graph-view_full-width":v}),ref:M,children:[(null===M||void 0===M?void 0:M.current)&&Fr(qs,{data:D,series:A,metrics:n,period:r,yaxis:o,unit:u,setPeriod:f,container:null===M||void 0===M?void 0:M.current,height:m}),c&&Fr(Qs,{labels:E,query:a,onChange:function(e,t){O(function(e){var t=e.hideSeries,n=e.legend,r=e.metaKey,i=e.series,a=n.label,o=ef(a,t),u=i.map((function(e){return e.label||""}));return r?o?t.filter((function(e){return e!==a})):[].concat(Nt(t),[a]):t.length?o?Nt(u.filter((function(e){return e!==a}))):[]:Nt(u.filter((function(e){return e!==a})))}({hideSeries:F,legend:e,metaKey:t,series:A}))}})]})},rf=function(e){var t=e.value,n=e.options,r=e.anchor,i=e.disabled,a=e.maxWords,o=void 0===a?1:a,u=e.minLength,l=void 0===u?2:u,c=e.fullWidth,f=e.selected,d=e.noOptionsText,h=e.onSelect,p=e.onOpenAutocomplete,v=ie(null),m=St(ee(!1),2),y=m[0],g=m[1],_=St(ee(-1),2),b=_[0],D=_[1],w=oe((function(){if(!y)return[];try{var e=new RegExp(String(t),"i");return n.filter((function(n){return e.test(n)&&n!==t})).sort((function(t,n){var r,i;return((null===(r=t.match(e))||void 0===r?void 0:r.index)||0)-((null===(i=n.match(e))||void 0===i?void 0:i.index)||0)}))}catch(s){return[]}}),[y,n,t]),x=oe((function(){return d&&!w.length}),[d,w]),A=function(){g(!1)},k=function(e){var t=e.key,n=e.ctrlKey,r=e.metaKey,i=e.shiftKey,a=n||r||i,o=w.length;if("ArrowUp"===t&&!a&&o&&(e.preventDefault(),D((function(e){return e<=0?0:e-1}))),"ArrowDown"===t&&!a&&o){e.preventDefault();var u=w.length-1;D((function(e){return e>=u?u:e+1}))}if("Enter"===t){var l=w[b];l&&h(l),f||A()}"Escape"===t&&A()};return ne((function(){var e=(t.match(/[a-zA-Z_:.][a-zA-Z0-9_:.]*/gm)||[]).length;g(t.length>l&&e<=o)}),[t]),ne((function(){return function(){if(v.current){var e=v.current.childNodes[b];null!==e&&void 0!==e&&e.scrollIntoView&&e.scrollIntoView({block:"center"})}}(),window.addEventListener("keydown",k),function(){window.removeEventListener("keydown",k)}}),[b,w]),ne((function(){D(-1)}),[w]),ne((function(){p&&p(y)}),[y]),Ga(v,A,r),Fr(Ja,{open:y,buttonRef:r,placement:"bottom-left",onClose:A,fullWidth:c,children:Fr("div",{className:"vm-autocomplete",ref:v,children:[x&&Fr("div",{className:"vm-autocomplete__no-options",children:d}),w.map((function(e,t){return Fr("div",{className:la()({"vm-list-item":!0,"vm-list-item_active":t===b,"vm-list-item_multiselect":f,"vm-list-item_multiselect_selected":null===f||void 0===f?void 0:f.includes(e)}),id:"$autocomplete$".concat(e),onClick:(n=e,function(){i||(h(n),f||A())}),children:[(null===f||void 0===f?void 0:f.includes(e))&&Fr(Ji,{}),Fr("span",{children:e})]},e);var n}))]})})},af=function(e){var t=e.value,n=e.onChange,r=e.onEnter,i=e.onArrowUp,a=e.onArrowDown,o=e.autocomplete,u=e.error,l=e.options,c=e.label,s=e.disabled,f=void 0!==s&&s,d=St(ee(!1),2),h=d[0],p=d[1],v=ie(null);return Fr("div",{className:"vm-query-editor",ref:v,children:[Fr(ho,{value:t,label:c,type:"textarea",autofocus:!!t,error:u,onKeyDown:function(e){var t=e.key,n=e.ctrlKey,o=e.metaKey,u=e.shiftKey,l=n||o,c="ArrowDown"===t,s="Enter"===t;"ArrowUp"===t&&l&&(e.preventDefault(),i()),c&&l&&(e.preventDefault(),a()),!s||u||h||r()},onChange:n,disabled:f}),o&&Fr(rf,{value:t,options:l,anchor:v,onSelect:function(e){n(e)},onOpenAutocomplete:p})]})},of=n(936),uf=n.n(of),lf=function(){var e=yr().serverURL,t=Tr().tenantId,n=Mr(),r=gi(),i=St(ee(t||0),2),a=i[0],o=i[1],u=ue(uf()((function(t){var i=Number(t);if(n({type:"SET_TENANT_ID",payload:i}),e){var a=e.replace(/(\/select\/)([\d]+)(\/prometheus)/,"$1".concat(i,"$3"));n({type:"SET_SERVER",payload:a}),r({type:"RUN_QUERY"})}}),700),[]);return ne((function(){a!==t&&o(t)}),[t]),Fr(ho,{label:"Tenant ID",type:"number",value:a,onChange:function(e){o(e),u(e)},endIcon:Fr(Za,{title:"Define tenant id if you need request to another storage",children:Fr(Qa,{variant:"text",size:"small",startIcon:Fr(Fi,{})})})})},cf=function(e){var t,n=e.value,r=void 0!==n&&n,i=e.disabled,a=void 0!==i&&i,o=e.label,u=e.color,l=void 0===u?"secondary":u,c=e.onChange;return Fr("div",{className:la()((sr(t={"vm-switch":!0,"vm-switch_disabled":a,"vm-switch_active":r},"vm-switch_".concat(l,"_active"),r),sr(t,"vm-switch_".concat(l),l),t)),onClick:function(){a||c(!r)},children:[Fr("div",{className:"vm-switch-track",children:Fr("div",{className:"vm-switch-track__thumb"})}),o&&Fr("span",{className:"vm-switch__label",children:o})]})},sf=function(){var e=yr().inputTenantID,t=xi().autocomplete,n=Ai(),r=wa(),i=r.nocache,a=r.isTracingEnabled,o=xa();return Fr("div",{className:"vm-additional-settings",children:[Fr(cf,{label:"Autocomplete",value:t,onChange:function(){n({type:"TOGGLE_AUTOCOMPLETE"})}}),Fr(cf,{label:"Disable cache",value:i,onChange:function(){o({type:"TOGGLE_NO_CACHE"})}}),Fr(cf,{label:"Trace query",value:a,onChange:function(){o({type:"TOGGLE_QUERY_TRACING"})}}),!!e&&Fr("div",{className:"vm-additional-settings__input",children:Fr(lf,{})})]})},ff=function(e,t){return e.length===t.length&&e.every((function(e,n){return e===t[n]}))},df=function(e){var t=e.error,n=e.queryOptions,r=e.onHideQuery,i=xi(),a=i.query,o=i.queryHistory,u=i.autocomplete,l=Ai(),c=gi(),s=St(ee(a||[]),2),f=s[0],d=s[1],h=St(ee([]),2),p=h[0],v=h[1],m=So(f),y=function(){l({type:"SET_QUERY_HISTORY",payload:f.map((function(e,t){var n=o[t]||{values:[]},r=e===n.values[n.values.length-1];return{index:n.values.length-Number(r),values:!r&&e?[].concat(Nt(n.values),[e]):n.values}}))}),l({type:"SET_QUERY",payload:f}),c({type:"RUN_QUERY"})},g=function(e,t){d((function(n){return n.map((function(n,r){return r===t?e:n}))}))},_=function(e,t){return function(){!function(e,t){var n=o[t],r=n.index,i=n.values,a=r+e;a<0||a>=i.length||(g(i[a]||"",t),l({type:"SET_QUERY_HISTORY_BY_INDEX",payload:{value:{values:i,index:a},queryNumber:t}}))}(e,t)}},b=function(e){return function(t){g(t,e)}},D=function(e){return function(){var t;t=e,d((function(e){return e.filter((function(e,n){return n!==t}))})),v((function(t){return t.includes(e)?t.filter((function(t){return t!==e})):t.map((function(t){return t>e?t-1:t}))}))}},w=function(e){return function(t){!function(e,t){var n=e.ctrlKey,r=e.metaKey;if(n||r){var i=f.map((function(e,t){return t})).filter((function(e){return e!==t}));v((function(e){return ff(i,e)?[]:i}))}else v((function(e){return e.includes(t)?e.filter((function(e){return e!==t})):[].concat(Nt(e),[t])}))}(t,e)}};return ne((function(){m&&f.length1&&Fr(Za,{title:"Remove Query",children:Fr("div",{className:"vm-query-configurator-list-row__button",children:Fr(Qa,{variant:"text",color:"error",startIcon:Fr(Qi,{}),onClick:D(r)})})})]},r)}))}),Fr("div",{className:"vm-query-configurator-settings",children:[Fr(sf,{}),Fr("div",{className:"vm-query-configurator-settings__buttons",children:[f.length<4&&Fr(Qa,{variant:"outlined",onClick:function(){d((function(e){return[].concat(Nt(e),[""])}))},startIcon:Fr(Gi,{}),children:"Add Query"}),Fr(Qa,{variant:"contained",onClick:y,startIcon:Fr(Ui,{}),children:"Execute Query"})]})]})]})};function hf(e){var t,n,r,i=2;for("undefined"!=typeof Symbol&&(n=Symbol.asyncIterator,r=Symbol.iterator);i--;){if(n&&null!=(t=e[n]))return t.call(e);if(r&&null!=(t=e[r]))return new pf(t.call(e));n="@@asyncIterator",r="@@iterator"}throw new TypeError("Object is not async iterable")}function pf(e){function t(e){if(Object(e)!==e)return Promise.reject(new TypeError(e+" is not an object."));var t=e.done;return Promise.resolve(e.value).then((function(e){return{value:e,done:t}}))}return pf=function(e){this.s=e,this.n=e.next},pf.prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(e){var n=this.s.return;return void 0===n?Promise.resolve({value:e,done:!0}):t(n.apply(this.s,arguments))},throw:function(e){var n=this.s.return;return void 0===n?Promise.reject(e):t(n.apply(this.s,arguments))}},new pf(e)}var vf=0,mf=function(){function e(t,n){Ft(this,e),this.tracing=void 0,this.query=void 0,this.tracingChildren=void 0,this.originalTracing=void 0,this.id=void 0,this.tracing=t,this.originalTracing=JSON.parse(JSON.stringify(t)),this.query=n,this.id=vf++;var r=t.children||[];this.tracingChildren=r.map((function(t){return new e(t,n)}))}return Bt(e,[{key:"queryValue",get:function(){return this.query}},{key:"idValue",get:function(){return this.id}},{key:"children",get:function(){return this.tracingChildren}},{key:"message",get:function(){return this.tracing.message}},{key:"duration",get:function(){return this.tracing.duration_msec}},{key:"JSON",get:function(){return JSON.stringify(this.tracing,null,2)}},{key:"originalJSON",get:function(){return JSON.stringify(this.originalTracing,null,2)}},{key:"setTracing",value:function(t){var n=this;this.tracing=t;var r=t.children||[];this.tracingChildren=r.map((function(t){return new e(t,n.query)}))}},{key:"setQuery",value:function(e){this.query=e}},{key:"resetTracing",value:function(){this.tracing=this.originalTracing}}]),e}(),yf=function(e){var t=e.predefinedQuery,n=e.visible,r=e.display,i=e.customStep,a=e.hideQuery,o=e.showAllSeries,u=xi().query,l=yi().period,c=wa(),s=c.displayType,f=c.nocache,d=c.isTracingEnabled,h=c.seriesLimits,p=Tr().serverUrl,v=St(ee(!1),2),m=v[0],y=v[1],g=St(ee(),2),_=g[0],b=g[1],D=St(ee(),2),w=D[0],x=D[1],A=St(ee(),2),k=A[0],C=A[1],E=St(ee(),2),S=E[0],N=E[1],F=St(ee(),2),O=F[0],T=F[1],M=St(ee([]),2),B=M[0],I=M[1];ne((function(){S&&(b(void 0),x(void 0),C(void 0))}),[S]);var L=function(){var e=Bo(To().mark((function e(t){var n,r,i,a,o,u,l,c,s,f,d,h,p;return To().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.fetchUrl,r=t.fetchQueue,i=t.displayType,a=t.query,o=t.stateSeriesLimits,u=t.showAllSeries,l=t.hideQuery,c=new AbortController,I([].concat(Nt(r),[c])),e.prev=3,e.delegateYield(To().mark((function e(){var t,r,v,m,y,g,_,D,w,A,k,E;return To().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t="chart"===i,r=u?1/0:o[i],v=[],m=[],y=1,g=0,s=!1,f=!1,e.prev=8,h=hf(n);case 10:return e.next=12,h.next();case 12:if(!(s=!(p=e.sent).done)){e.next=28;break}if(_=p.value,!(null===l||void 0===l?void 0:l.includes(y-1))){e.next=18;break}return y++,e.abrupt("continue",25);case 18:return e.next=20,fetch(_,{signal:c.signal});case 20:return D=e.sent,e.next=23,D.json();case 23:w=e.sent,D.ok?(N(void 0),w.trace&&(A=new mf(w.trace,a[y-1]),m.push(A)),k=r-v.length,w.data.result.slice(0,k).forEach((function(e){e.group=y,v.push(e)})),g+=w.data.result.length,y++):N("".concat(w.errorType,"\r\n").concat(null===w||void 0===w?void 0:w.error));case 25:s=!1,e.next=10;break;case 28:e.next=34;break;case 30:e.prev=30,e.t0=e.catch(8),f=!0,d=e.t0;case 34:if(e.prev=34,e.prev=35,!s||null==h.return){e.next=39;break}return e.next=39,h.return();case 39:if(e.prev=39,!f){e.next=42;break}throw d;case 42:return e.finish(39);case 43:return e.finish(34);case 44:E="Showing ".concat(r," series out of ").concat(g," series due to performance reasons. Please narrow down the query, so it returns less series"),T(g>r?E:""),t?b(v):x(v),C(m);case 48:case"end":return e.stop()}}),e,null,[[8,30,34,44],[35,,39,43]])}))(),"t0",5);case 5:e.next=10;break;case 7:e.prev=7,e.t1=e.catch(3),e.t1 instanceof Error&&"AbortError"!==e.t1.name&&N("".concat(e.t1.name,": ").concat(e.t1.message));case 10:y(!1);case 11:case"end":return e.stop()}}),e,null,[[3,7]])})));return function(t){return e.apply(this,arguments)}}(),P=ue(uf()(L,300),[]),z=oe((function(){var e=null!==t&&void 0!==t?t:u,n="chart"===(r||s);if(l)if(p)if(e.every((function(e){return!e.trim()})))N(ao.validQuery);else{if(po(p)){var a=dr({},l);return a.step=i,e.map((function(e){return n?function(e,t,n,r,i){return"".concat(e,"/api/v1/query_range?query=").concat(encodeURIComponent(t),"&start=").concat(n.start,"&end=").concat(n.end,"&step=").concat(n.step).concat(r?"&nocache=1":"").concat(i?"&trace=1":"")}(p,e,a,f,d):function(e,t,n,r){return"".concat(e,"/api/v1/query?query=").concat(encodeURIComponent(t),"&time=").concat(n.end,"&step=").concat(n.step).concat(r?"&trace=1":"")}(p,e,a,d)}))}N(ao.validServer)}else N(ao.emptyServer)}),[p,l,s,i,a]);return ne((function(){n&&null!==z&&void 0!==z&&z.length&&(y(!0),P({fetchUrl:z,fetchQueue:B,displayType:r||s,query:null!==t&&void 0!==t?t:u,stateSeriesLimits:h,showAllSeries:o,hideQuery:a}))}),[z,n,h,o]),ne((function(){var e=B.slice(0,-1);e.length&&(e.map((function(e){return e.abort()})),I(B.filter((function(e){return!e.signal.aborted}))))}),[B]),{fetchUrl:z,isLoading:m,graphData:_,liveData:w,error:S,warning:O,traces:k}},gf=function(e){var t=e.data,n=$a().showInfoMessage,r=oe((function(){return JSON.stringify(t,null,2)}),[t]);return Fr("div",{className:"vm-json-view",children:[Fr("div",{className:"vm-json-view__copy",children:Fr(Qa,{variant:"outlined",onClick:function(){navigator.clipboard.writeText(r),n({text:"Formatted JSON has been copied",type:"success"})},children:"Copy JSON"})}),Fr("pre",{className:"vm-json-view__code",children:Fr("code",{children:r})})]})},_f=function(e){var t=e.yaxis,n=e.setYaxisLimits,r=e.toggleEnableLimits,i=oe((function(){return Object.keys(t.limits.range)}),[t.limits.range]),a=ue(uf()((function(e,r,i){var a=t.limits.range;a[r][i]=+e,a[r][0]===a[r][1]||a[r][0]>a[r][1]||n(a)}),500),[t.limits.range]),o=function(e,t){return function(n){a(n,e,t)}};return Fr("div",{className:"vm-axes-limits",children:[Fr(cf,{value:t.limits.enable,onChange:r,label:"Fix the limits for y-axis"}),Fr("div",{className:"vm-axes-limits-list",children:i.map((function(e){return Fr("div",{className:"vm-axes-limits-list__inputs",children:[Fr(ho,{label:"Min ".concat(e),type:"number",disabled:!t.limits.enable,value:t.limits.range[e][0],onChange:o(e,0)}),Fr(ho,{label:"Max ".concat(e),type:"number",disabled:!t.limits.enable,value:t.limits.range[e][1],onChange:o(e,1)})]},e)}))})]})},bf="Axes settings",Df=function(e){var t=e.yaxis,n=e.setYaxisLimits,r=e.toggleEnableLimits,i=ie(null),a=St(ee(!1),2),o=a[0],u=a[1],l=ie(null);Ga(i,(function(){return u(!1)}),l);var c=function(){u(!1)};return Fr("div",{className:"vm-graph-settings",children:[Fr(Za,{title:bf,children:Fr("div",{ref:l,children:Fr(Qa,{variant:"text",startIcon:Fr(Ei,{}),onClick:function(){u((function(e){return!e}))}})})}),Fr(Ja,{open:o,buttonRef:l,placement:"bottom-right",onClose:c,children:Fr("div",{className:"vm-graph-settings-popper",ref:i,children:[Fr("div",{className:"vm-popper-header",children:[Fr("h3",{className:"vm-popper-header__title",children:bf}),Fr(Qa,{size:"small",startIcon:Fr(Si,{}),onClick:c})]}),Fr("div",{className:"vm-graph-settings-popper__body",children:Fr(_f,{yaxis:t,setYaxisLimits:n,toggleEnableLimits:r})})]})})]})},wf=function(e){var t=e.containerStyles,n=void 0===t?{}:t,r=e.message;return Fr("div",{className:"vm-spinner",style:n&&{},children:[Fr("div",{className:"half-circle-spinner",children:[Fr("div",{className:"circle circle-1"}),Fr("div",{className:"circle circle-2"})]}),r&&Fr("div",{className:"vm-spinner__message",children:r})]})},xf=function(){var e=Tr().serverUrl,t=St(ee([]),2),n=t[0],r=t[1],i=function(){var t=Bo(To().mark((function t(){var n,i,a;return To().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e){t.next=2;break}return t.abrupt("return");case 2:return n="".concat(e,"/api/v1/label/__name__/values"),t.prev=3,t.next=6,fetch(n);case 6:return i=t.sent,t.next=9,i.json();case 9:a=t.sent,i.ok&&r(a.data),t.next=16;break;case 13:t.prev=13,t.t0=t.catch(3),console.error(t.t0);case 16:case"end":return t.stop()}}),t,null,[[3,13]])})));return function(){return t.apply(this,arguments)}}();return ne((function(){i()}),[e]),{queryOptions:n}},Af=function(e){var t=e.value;return Fr("div",{className:"vm-line-progress",children:[Fr("div",{className:"vm-line-progress-track",children:Fr("div",{className:"vm-line-progress-track__thumb",style:{width:"".concat(t,"%")}})}),Fr("span",{children:[t.toFixed(2),"%"]})]})},kf=function e(t){var n,r=t.trace,i=t.totalMsec,a=St(ee({}),2),o=a[0],u=a[1],l=r.children&&!!r.children.length,c=r.duration/i*100;return Fr("div",{className:"vm-nested-nav",children:[Fr("div",{className:"vm-nested-nav-header",onClick:(n=r.idValue,function(){u((function(e){return dr(dr({},e),{},sr({},n,!e[n]))}))}),children:[l&&Fr("div",{className:la()({"vm-nested-nav-header__icon":!0,"vm-nested-nav-header__icon_open":o[r.idValue]}),children:Fr(Ii,{})}),Fr("div",{className:"vm-nested-nav-header__progress",children:Fr(Af,{value:c})}),Fr("div",{className:"vm-nested-nav-header__message",children:r.message}),Fr("div",{className:"vm-nested-nav-header__duration",children:"duration: ".concat(r.duration," ms")})]}),o[r.idValue]&&Fr("div",{children:l&&r.children.map((function(t){return Fr(e,{trace:t,totalMsec:i},t.duration)}))})]})},Cf=function(e){var t=e.editable,n=void 0!==t&&t,r=e.defaultTile,i=void 0===r?"JSON":r,a=e.displayTitle,o=void 0===a||a,u=e.defaultJson,l=void 0===u?"":u,c=e.resetValue,f=void 0===c?"":c,d=e.onClose,h=e.onUpload,p=$a().showInfoMessage,v=St(ee(l),2),m=v[0],y=v[1],g=St(ee(i),2),_=g[0],b=g[1],D=St(ee(""),2),w=D[0],x=D[1],A=St(ee(""),2),k=A[0],C=A[1],E=oe((function(){try{var e=JSON.parse(m),t=e.trace||e;return t.duration_msec?(new mf(t,""),""):ao.traceNotFound}catch(s){return s instanceof Error?s.message:"Unknown error"}}),[m]),S=function(){var e=Bo(To().mark((function e(){return To().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,navigator.clipboard.writeText(m);case 2:p({text:"Formatted JSON has been copied",type:"success"});case 3:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),N=function(){C(E),_.trim()||x(ao.emptyTitle),E||w||(h(m,_),d())};return Fr("div",{className:la()({"vm-json-form":!0,"vm-json-form_one-field":!o}),children:[o&&Fr(ho,{value:_,label:"Title",error:w,onEnter:N,onChange:function(e){b(e)}}),Fr(ho,{value:m,label:"JSON",type:"textarea",error:k,autofocus:!0,onChange:function(e){C(""),y(e)},disabled:!n}),Fr("div",{className:"vm-json-form-footer",children:[Fr("div",{className:"vm-json-form-footer__controls",children:[Fr(Qa,{variant:"outlined",startIcon:Fr(Xi,{}),onClick:S,children:"Copy JSON"}),f&&Fr(Qa,{variant:"text",startIcon:Fr(Ni,{}),onClick:function(){y(f)},children:"Reset JSON"})]}),Fr("div",{className:"vm-json-form-footer__controls vm-json-form-footer__controls_right",children:[Fr(Qa,{variant:"outlined",color:"error",onClick:d,children:"Cancel"}),Fr(Qa,{variant:"contained",onClick:N,children:"apply"})]})]})]})},Ef=function(e){var t=e.traces,n=e.jsonEditor,r=void 0!==n&&n,i=e.onDeleteClick,a=St(ee(null),2),o=a[0],u=a[1],l=function(){u(null)};if(!t.length)return Fr(Ra,{variant:"info",children:"Please re-run the query to see results of the tracing"});var c=function(e){return function(){i(e)}};return Fr(y,{children:[Fr("div",{className:"vm-tracings-view",children:t.map((function(e){return Fr("div",{className:"vm-tracings-view-trace vm-block vm-block_empty-padding",children:[Fr("div",{className:"vm-tracings-view-trace-header",children:[Fr("h3",{className:"vm-tracings-view-trace-header-title",children:["Trace for ",Fr("b",{className:"vm-tracings-view-trace-header-title__query",children:e.queryValue})]}),Fr(Za,{title:"Open JSON",children:Fr(Qa,{variant:"text",startIcon:Fr(Wi,{}),onClick:(t=e,function(){u(t)})})}),Fr(Za,{title:"Remove trace",children:Fr(Qa,{variant:"text",color:"error",startIcon:Fr(Qi,{}),onClick:c(e)})})]}),Fr("nav",{className:"vm-tracings-view-trace__nav",children:Fr(kf,{trace:e,totalMsec:e.duration})})]},e.idValue);var t}))}),o&&Fr(mo,{title:o.queryValue,onClose:l,children:Fr(Cf,{editable:r,displayTitle:r,defaultTile:o.queryValue,defaultJson:o.JSON,resetValue:o.originalJSON,onClose:l,onUpload:function(e,t){if(r&&o)try{o.setTracing(JSON.parse(e)),o.setQuery(t),u(null)}catch(s){console.error(s)}}})})]})},Sf=function(e,t){return oe((function(){var n={};e.forEach((function(e){return Object.entries(e.metric).forEach((function(e){return n[e[0]]?n[e[0]].options.add(e[1]):n[e[0]]={options:new Set([e[1]])}}))}));var r=Object.entries(n).map((function(e){return{key:e[0],variations:e[1].options.size}})).sort((function(e,t){return e.variations-t.variations}));return t?r.filter((function(e){return t.includes(e.key)})):r}),[e,t])},Nf=function(e){var t,n=e.checked,r=void 0!==n&&n,i=e.disabled,a=void 0!==i&&i,o=e.label,u=e.color,l=void 0===u?"secondary":u,c=e.onChange;return Fr("div",{className:la()((sr(t={"vm-checkbox":!0,"vm-checkbox_disabled":a,"vm-checkbox_active":r},"vm-checkbox_".concat(l,"_active"),r),sr(t,"vm-checkbox_".concat(l),l),t)),onClick:function(){a||c(!r)},children:[Fr("div",{className:"vm-checkbox-track",children:Fr("div",{className:"vm-checkbox-track__thumb",children:Fr(Ji,{})})}),o&&Fr("span",{className:"vm-checkbox__label",children:o})]})},Ff="Table settings",Of=function(e){var t=e.data,n=e.defaultColumns,r=void 0===n?[]:n,i=e.onChange,a=wa().tableCompact,o=xa(),u=Sf(t),l=ie(null),c=St(ee(!1),2),s=c[0],f=c[1],d=oe((function(){return!u.length}),[u]),h=function(){f(!1)},p=function(e){return function(){!function(e){i(r.includes(e)?r.filter((function(t){return t!==e})):[].concat(Nt(r),[e]))}(e)}};return ne((function(){var e=u.map((function(e){return e.key}));ff(e,r)||i(e)}),[u]),Fr("div",{className:"vm-table-settings",children:[Fr(Za,{title:Ff,children:Fr("div",{ref:l,children:Fr(Qa,{variant:"text",startIcon:Fr(Ei,{}),onClick:function(){f((function(e){return!e}))},disabled:d})})}),Fr(Ja,{open:s,onClose:h,placement:"bottom-right",buttonRef:l,children:Fr("div",{className:"vm-table-settings-popper",children:[Fr("div",{className:"vm-popper-header",children:[Fr("h3",{className:"vm-popper-header__title",children:Ff}),Fr(Qa,{onClick:h,startIcon:Fr(Si,{}),size:"small"})]}),Fr("div",{className:"vm-table-settings-popper-list",children:Fr(cf,{label:"Compact view",value:a,onChange:function(){o({type:"TOGGLE_TABLE_COMPACT"})}})}),Fr("div",{className:"vm-table-settings-popper-list",children:[Fr("div",{className:"vm-table-settings-popper-list-header",children:[Fr("h3",{className:"vm-table-settings-popper-list-header__title",children:"Display columns"}),Fr(Za,{title:"Reset to default",children:Fr(Qa,{color:"primary",variant:"text",size:"small",onClick:function(){f(!1),i(u.map((function(e){return e.key})))},startIcon:Fr(Ni,{})})})]}),u.map((function(e){return Fr("div",{className:"vm-table-settings-popper-list__item",children:Fr(Nf,{checked:r.includes(e.key),onChange:p(e.key),label:e.key,disabled:a})},e.key)}))]})]})})]})};function Tf(e){return function(e,t){return Object.fromEntries(Object.entries(e).filter(t))}(e,(function(e){return!!e[1]}))}var Mf=["__name__"],Bf=function(e){var t=e.data,n=e.displayColumns,r=$a().showInfoMessage,i=wa().tableCompact,a=oa(document.body),o=ie(null),u=St(ee(0),2),l=u[0],c=u[1],s=St(ee(0),2),f=s[0],d=s[1],h=St(ee(""),2),p=h[0],v=h[1],m=St(ee("asc"),2),y=m[0],g=m[1],_=i?Sf([{group:0,metric:{Data:"Data"}}],["Data"]):Sf(t,n),b=function(e){var t=e.__name__,n=ca(e,Mf);return t||Object.keys(n).length?"".concat(t," ").concat(JSON.stringify(n)):""},D=new Set(null===t||void 0===t?void 0:t.map((function(e){return e.group}))),w=D.size>1,x=oe((function(){var e=null===t||void 0===t?void 0:t.map((function(e){return{metadata:_.map((function(t){return i?Js(e,"",w):e.metric[t.key]||"-"})),value:e.value?e.value[1]:"-",values:e.values?e.values.map((function(e){var t=St(e,2),n=t[0],r=t[1];return"".concat(r," @").concat(n)})):[],copyValue:b(e.metric)}})),n="Value"===p,r=_.findIndex((function(e){return e.key===p}));return n||-1!==r?e.sort((function(e,t){var i=n?Number(e.value):e.metadata[r],a=n?Number(t.value):t.metadata[r];return("asc"===y?ia)?-1:1})):e}),[_,t,p,y,i]),A=oe((function(){return x.some((function(e){return e.copyValue}))}),[x]),k=function(){var e=Bo(To().mark((function e(t){return To().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,navigator.clipboard.writeText(t);case 2:r({text:"Row has been copied",type:"success"});case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),C=function(e){return function(){!function(e){g((function(t){return"asc"===t&&p===e?"desc":"asc"})),v(e)}(e)}},E=function(){if(o.current){var e=o.current.getBoundingClientRect().top;d(e<0?window.scrollY-l:0)}};return ne((function(){return window.addEventListener("scroll",E),function(){window.removeEventListener("scroll",E)}}),[o,l,a]),ne((function(){if(o.current){var e=o.current.getBoundingClientRect().top;c(e+window.scrollY)}}),[o,a]),x.length?Fr("div",{className:"vm-table-view",children:Fr("table",{className:"vm-table",ref:o,children:[Fr("thead",{className:"vm-table-header",children:Fr("tr",{className:"vm-table__row vm-table__row_header",style:{transform:"translateY(".concat(f,"px)")},children:[_.map((function(e,t){return Fr("td",{className:"vm-table-cell vm-table-cell_header vm-table-cell_sort",onClick:C(e.key),children:Fr("div",{className:"vm-table-cell__content",children:[e.key,Fr("div",{className:la()({"vm-table__sort-icon":!0,"vm-table__sort-icon_active":p===e.key,"vm-table__sort-icon_desc":"desc"===y&&p===e.key}),children:Fr(Li,{})})]})},t)})),Fr("td",{className:"vm-table-cell vm-table-cell_header vm-table-cell_right vm-table-cell_sort",onClick:C("Value"),children:Fr("div",{className:"vm-table-cell__content",children:[Fr("div",{className:la()({"vm-table__sort-icon":!0,"vm-table__sort-icon_active":"Value"===p,"vm-table__sort-icon_desc":"desc"===y}),children:Fr(Li,{})}),"Value"]})}),A&&Fr("td",{className:"vm-table-cell vm-table-cell_header"})]})}),Fr("tbody",{className:"vm-table-body",children:x.map((function(e,t){return Fr("tr",{className:"vm-table__row",children:[e.metadata.map((function(e,n){return Fr("td",{className:la()({"vm-table-cell vm-table-cell_no-wrap":!0,"vm-table-cell_gray":x[t-1]&&x[t-1].metadata[n]===e}),children:e},n)})),Fr("td",{className:"vm-table-cell vm-table-cell_right vm-table-cell_no-wrap",children:e.values.length?e.values.map((function(e){return Fr("p",{children:e},e)})):e.value}),A&&Fr("td",{className:"vm-table-cell vm-table-cell_right",children:e.copyValue&&Fr("div",{className:"vm-table-cell__content",children:Fr(Za,{title:"Copy row",children:Fr(Qa,{variant:"text",color:"gray",size:"small",startIcon:Fr(Xi,{}),onClick:(n=e.copyValue,function(){k(n)})})})})})]},t);var n}))})]})}):Fr(Ra,{variant:"warning",children:"No data to show"})},If=function(){var e=wa(),t=e.displayType,n=e.isTracingEnabled,r=xi().query,i=yi().period,a=gi();!function(){var e=Tr().tenantId,t=wa().displayType,n=xi().query,r=yi(),i=r.duration,a=r.relativeTime,o=r.period,u=o.date,l=o.step,c=Ea().customStep,s=function(){var r={};n.forEach((function(n,o){var s,f="g".concat(o);r["".concat(f,".expr")]=n,r["".concat(f,".range_input")]=i,r["".concat(f,".end_input")]=u,r["".concat(f,".tab")]=(null===(s=pa.find((function(e){return e.value===t})))||void 0===s?void 0:s.prometheusCode)||0,r["".concat(f,".relative_time")]=a,r["".concat(f,".tenantID")]=e,l!==c&&c&&(r["".concat(f,".step_input")]=c)})),kr(Tf(r))};ne(s,[e,t,n,i,a,u,l,c]),ne(s,[])}();var o=St(ee(),2),u=o[0],l=o[1],c=St(ee([]),2),s=c[0],f=c[1],d=St(ee([]),2),h=d[0],p=d[1],v=St(ee(!1),2),m=v[0],y=v[1],g=Ea(),_=g.customStep,b=g.yaxis,D=Sa(),w=xf().queryOptions,x=yf({visible:!0,customStep:_,hideQuery:h,showAllSeries:m}),A=x.isLoading,k=x.liveData,C=x.graphData,E=x.error,S=x.warning,N=x.traces,F=function(e){D({type:"SET_YAXIS_LIMITS",payload:e})};return ne((function(){N&&f([].concat(Nt(s),Nt(N)))}),[N]),ne((function(){f([])}),[t]),ne((function(){y(!1)}),[r]),Fr("div",{className:"vm-custom-panel",children:[Fr(df,{error:E,queryOptions:w,onHideQuery:function(e){p(e)}}),n&&Fr("div",{className:"vm-custom-panel__trace",children:Fr(Ef,{traces:s,onDeleteClick:function(e){var t=s.filter((function(t){return t.idValue!==e.idValue}));f(Nt(t))}})}),A&&Fr(wf,{}),E&&Fr(Ra,{variant:"error",children:E}),S&&Fr(Ra,{variant:"warning",children:Fr("div",{className:"vm-custom-panel__warning",children:[Fr("p",{children:S}),Fr(Qa,{color:"warning",variant:"outlined",onClick:function(){y(!0)},children:"Show all"})]})}),Fr("div",{className:"vm-custom-panel-body vm-block",children:[Fr("div",{className:"vm-custom-panel-body-header",children:[Fr(va,{}),"chart"===t&&Fr(Df,{yaxis:b,setYaxisLimits:F,toggleEnableLimits:function(){D({type:"TOGGLE_ENABLE_YAXIS_LIMITS"})}}),"table"===t&&Fr(Of,{data:k||[],defaultColumns:u,onChange:l})]}),C&&i&&"chart"===t&&Fr(nf,{data:C,period:i,customStep:_,query:r,yaxis:b,setYaxisLimits:F,setPeriod:function(e){var t=e.from,n=e.to;a({type:"SET_PERIOD",payload:{from:t,to:n}})}}),k&&"code"===t&&Fr(gf,{data:k}),k&&"table"===t&&Fr(Bf,{data:k,displayColumns:u})]})]})};function Lf(){return{async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}var Pf={async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1};var zf=/[&<>"']/,Rf=new RegExp(zf.source,"g"),jf=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,$f=new RegExp(jf.source,"g"),Hf={"&":"&","<":"<",">":">",'"':""","'":"'"},Uf=function(e){return Hf[e]};function Yf(e,t){if(t){if(zf.test(e))return e.replace(Rf,Uf)}else if(jf.test(e))return e.replace($f,Uf);return e}var Vf=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function qf(e){return e.replace(Vf,(function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""}))}var Wf=/(^|[^\[])\^/g;function Qf(e,t){e="string"===typeof e?e:e.source,t=t||"";var n={replace:function(t,r){return r=(r=r.source||r).replace(Wf,"$1"),e=e.replace(t,r),n},getRegex:function(){return new RegExp(e,t)}};return n}var Gf=/[^\w:]/g,Jf=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function Zf(e,t,n){if(e){var r;try{r=decodeURIComponent(qf(n)).replace(Gf,"").toLowerCase()}catch(s){return null}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:")||0===r.indexOf("data:"))return null}t&&!Jf.test(n)&&(n=function(e,t){Kf[" "+e]||(Xf.test(e)?Kf[" "+e]=e+"/":Kf[" "+e]=ad(e,"/",!0));e=Kf[" "+e];var n=-1===e.indexOf(":");return"//"===t.substring(0,2)?n?t:e.replace(ed,"$1")+t:"/"===t.charAt(0)?n?t:e.replace(td,"$1")+t:e+t}(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch(s){return null}return n}var Kf={},Xf=/^[^:]+:\/*[^/]*$/,ed=/^([^:]+:)[\s\S]*$/,td=/^([^:]+:\/*[^/]*)[\s\S]*$/;var nd={exec:function(){}};function rd(e){for(var t,n,r=1;r=0&&"\\"===n[i];)r=!r;return r?"|":" |"})).split(/ \|/),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),n.length>t)n.splice(t);else for(;n.length1;)1&t&&(n+=e),t>>=1,e+=e;return n+e}function ld(e,t,n,r){var i=t.href,a=t.title?Yf(t.title):null,o=e[1].replace(/\\([\[\]])/g,"$1");if("!"!==e[0].charAt(0)){r.state.inLink=!0;var u={type:"link",raw:n,href:i,title:a,text:o,tokens:r.inlineTokens(o)};return r.state.inLink=!1,u}return{type:"image",raw:n,href:i,title:a,text:Yf(o)}}var cd=function(){function e(t){Ft(this,e),this.options=t||Pf}return Bt(e,[{key:"space",value:function(e){var t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}},{key:"code",value:function(e){var t=this.rules.block.code.exec(e);if(t){var n=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?n:ad(n,"\n")}}}},{key:"fences",value:function(e){var t=this.rules.block.fences.exec(e);if(t){var n=t[0],r=function(e,t){var n=e.match(/^(\s+)(?:```)/);if(null===n)return t;var r=n[1];return t.split("\n").map((function(e){var t=e.match(/^\s+/);return null===t?e:St(t,1)[0].length>=r.length?e.slice(r.length):e})).join("\n")}(n,t[3]||"");return{type:"code",raw:n,lang:t[2]?t[2].trim().replace(this.rules.inline._escapes,"$1"):t[2],text:r}}}},{key:"heading",value:function(e){var t=this.rules.block.heading.exec(e);if(t){var n=t[2].trim();if(/#$/.test(n)){var r=ad(n,"#");this.options.pedantic?n=r.trim():r&&!/ $/.test(r)||(n=r.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:n,tokens:this.lexer.inline(n)}}}},{key:"hr",value:function(e){var t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}}},{key:"blockquote",value:function(e){var t=this.rules.block.blockquote.exec(e);if(t){var n=t[0].replace(/^ *>[ \t]?/gm,""),r=this.lexer.state.top;this.lexer.state.top=!0;var i=this.lexer.blockTokens(n);return this.lexer.state.top=r,{type:"blockquote",raw:t[0],tokens:i,text:n}}}},{key:"list",value:function(e){var t=this.rules.block.list.exec(e);if(t){var n,r,i,a,o,u,l,c,s,f,d,h,p=t[1].trim(),v=p.length>1,m={type:"list",raw:"",ordered:v,start:v?+p.slice(0,-1):"",loose:!1,items:[]};p=v?"\\d{1,9}\\".concat(p.slice(-1)):"\\".concat(p),this.options.pedantic&&(p=v?p:"[*+-]");for(var y=new RegExp("^( {0,3}".concat(p,")((?:[\t ][^\\n]*)?(?:\\n|$))"));e&&(h=!1,t=y.exec(e))&&!this.rules.block.hr.test(e);){if(n=t[0],e=e.substring(n.length),c=t[2].split("\n",1)[0],s=e.split("\n",1)[0],this.options.pedantic?(a=2,d=c.trimLeft()):(a=(a=t[2].search(/[^ ]/))>4?1:a,d=c.slice(a),a+=t[1].length),u=!1,!c&&/^ *$/.test(s)&&(n+=s+"\n",e=e.substring(s.length+1),h=!0),!h)for(var g=new RegExp("^ {0,".concat(Math.min(3,a-1),"}(?:[*+-]|\\d{1,9}[.)])((?: [^\\n]*)?(?:\\n|$))")),_=new RegExp("^ {0,".concat(Math.min(3,a-1),"}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)")),b=new RegExp("^ {0,".concat(Math.min(3,a-1),"}(?:```|~~~)")),D=new RegExp("^ {0,".concat(Math.min(3,a-1),"}#"));e&&(c=f=e.split("\n",1)[0],this.options.pedantic&&(c=c.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),!b.test(c))&&!D.test(c)&&!g.test(c)&&!_.test(e);){if(c.search(/[^ ]/)>=a||!c.trim())d+="\n"+c.slice(a);else{if(u)break;d+="\n"+c}u||c.trim()||(u=!0),n+=f+"\n",e=e.substring(f.length+1)}m.loose||(l?m.loose=!0:/\n *\n *$/.test(n)&&(l=!0)),this.options.gfm&&(r=/^\[[ xX]\] /.exec(d))&&(i="[ ] "!==r[0],d=d.replace(/^\[[ xX]\] +/,"")),m.items.push({type:"list_item",raw:n,task:!!r,checked:i,loose:!1,text:d}),m.raw+=n}m.items[m.items.length-1].raw=n.trimRight(),m.items[m.items.length-1].text=d.trimRight(),m.raw=m.raw.trimRight();var w=m.items.length;for(o=0;o0&&x.some((function(e){return/\n.*\n/.test(e.raw)}));m.loose=A}if(m.loose)for(o=0;o$/,"$1").replace(this.rules.inline._escapes,"$1"):"",i=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline._escapes,"$1"):t[3];return{type:"def",tag:n,raw:t[0],href:r,title:i}}}},{key:"table",value:function(e){var t=this.rules.block.table.exec(e);if(t){var n={type:"table",header:id(t[1]).map((function(e){return{text:e}})),align:t[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split("\n"):[]};if(n.header.length===n.align.length){n.raw=t[0];var r,i,a,o,u=n.align.length;for(r=0;r/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(t[0]):Yf(t[0]):t[0]}}},{key:"link",value:function(e){var t=this.rules.inline.link.exec(e);if(t){var n=t[2].trim();if(!this.options.pedantic&&/^$/.test(n))return;var r=ad(n.slice(0,-1),"\\");if((n.length-r.length)%2===0)return}else{var i=function(e,t){if(-1===e.indexOf(t[1]))return-1;for(var n=e.length,r=0,i=0;i-1){var a=(0===t[0].indexOf("!")?5:4)+t[1].length+i;t[2]=t[2].substring(0,i),t[0]=t[0].substring(0,a).trim(),t[3]=""}}var o=t[2],u="";if(this.options.pedantic){var l=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(o);l&&(o=l[1],u=l[3])}else u=t[3]?t[3].slice(1,-1):"";return o=o.trim(),/^$/.test(n)?o.slice(1):o.slice(1,-1)),ld(t,{href:o?o.replace(this.rules.inline._escapes,"$1"):o,title:u?u.replace(this.rules.inline._escapes,"$1"):u},t[0],this.lexer)}}},{key:"reflink",value:function(e,t){var n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){var r=(n[2]||n[1]).replace(/\s+/g," ");if(!(r=t[r.toLowerCase()])){var i=n[0].charAt(0);return{type:"text",raw:i,text:i}}return ld(n,r,n[0],this.lexer)}}},{key:"emStrong",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=this.rules.inline.emStrong.lDelim.exec(e);if(r&&(!r[3]||!n.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDF70-\uDF81\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDF50-\uDF59\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEC0-\uDED3\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\uDCD0-\uDCEB\uDCF0-\uDCF9\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])/))){var i=r[1]||r[2]||"";if(!i||i&&(""===n||this.rules.inline.punctuation.exec(n))){var a,o,u=r[0].length-1,l=u,c=0,s="*"===r[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(s.lastIndex=0,t=t.slice(-1*e.length+u);null!=(r=s.exec(t));)if(a=r[1]||r[2]||r[3]||r[4]||r[5]||r[6])if(o=a.length,r[3]||r[4])l+=o;else if(!((r[5]||r[6])&&u%3)||(u+o)%3){if(!((l-=o)>0)){o=Math.min(o,o+l+c);var f=e.slice(0,u+r.index+(r[0].length-a.length)+o);if(Math.min(u,o)%2){var d=f.slice(1,-1);return{type:"em",raw:f,text:d,tokens:this.lexer.inlineTokens(d)}}var h=f.slice(2,-2);return{type:"strong",raw:f,text:h,tokens:this.lexer.inlineTokens(h)}}}else c+=o}}}},{key:"codespan",value:function(e){var t=this.rules.inline.code.exec(e);if(t){var n=t[2].replace(/\n/g," "),r=/[^ ]/.test(n),i=/^ /.test(n)&&/ $/.test(n);return r&&i&&(n=n.substring(1,n.length-1)),n=Yf(n,!0),{type:"codespan",raw:t[0],text:n}}}},{key:"br",value:function(e){var t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}},{key:"del",value:function(e){var t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}},{key:"autolink",value:function(e,t){var n,r,i=this.rules.inline.autolink.exec(e);if(i)return r="@"===i[2]?"mailto:"+(n=Yf(this.options.mangle?t(i[1]):i[1])):n=Yf(i[1]),{type:"link",raw:i[0],text:n,href:r,tokens:[{type:"text",raw:n,text:n}]}}},{key:"url",value:function(e,t){var n;if(n=this.rules.inline.url.exec(e)){var r,i;if("@"===n[2])i="mailto:"+(r=Yf(this.options.mangle?t(n[0]):n[0]));else{var a;do{a=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(a!==n[0]);r=Yf(n[0]),i="www."===n[1]?"http://"+n[0]:n[0]}return{type:"link",raw:n[0],text:r,href:i,tokens:[{type:"text",raw:r,text:r}]}}}},{key:"inlineText",value:function(e,t){var n,r=this.rules.inline.text.exec(e);if(r)return n=this.lexer.state.inRawBlock?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(r[0]):Yf(r[0]):r[0]:Yf(this.options.smartypants?t(r[0]):r[0]),{type:"text",raw:r[0],text:n}}}]),e}(),sd={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:nd,lheading:/^((?:.|\n(?!\n))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\.|[^\[\]\\])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};sd.def=Qf(sd.def).replace("label",sd._label).replace("title",sd._title).getRegex(),sd.bullet=/(?:[*+-]|\d{1,9}[.)])/,sd.listItemStart=Qf(/^( *)(bull) */).replace("bull",sd.bullet).getRegex(),sd.list=Qf(sd.list).replace(/bull/g,sd.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+sd.def.source+")").getRegex(),sd._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",sd._comment=/|$)/,sd.html=Qf(sd.html,"i").replace("comment",sd._comment).replace("tag",sd._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),sd.paragraph=Qf(sd._paragraph).replace("hr",sd.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",sd._tag).getRegex(),sd.blockquote=Qf(sd.blockquote).replace("paragraph",sd.paragraph).getRegex(),sd.normal=rd({},sd),sd.gfm=rd({},sd.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),sd.gfm.table=Qf(sd.gfm.table).replace("hr",sd.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",sd._tag).getRegex(),sd.gfm.paragraph=Qf(sd._paragraph).replace("hr",sd.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",sd.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",sd._tag).getRegex(),sd.pedantic=rd({},sd.normal,{html:Qf("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?\\1> *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",sd._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:nd,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:Qf(sd.normal._paragraph).replace("hr",sd.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",sd.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var fd={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:nd,tag:"^comment|^[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/^(?:[^_*\\]|\\.)*?\_\_(?:[^_*\\]|\\.)*?\*(?:[^_*\\]|\\.)*?(?=\_\_)|(?:[^*\\]|\\.)+(?=[^*])|[punct_](\*+)(?=[\s]|$)|(?:[^punct*_\s\\]|\\.)(\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|(?:[^punct*_\s\\]|\\.)(\*+)(?=[^punct*_\s])/,rDelimUnd:/^(?:[^_*\\]|\\.)*?\*\*(?:[^_*\\]|\\.)*?\_(?:[^_*\\]|\\.)*?(?=\*\*)|(?:[^_\\]|\\.)+(?=[^_])|[punct*](\_+)(?=[\s]|$)|(?:[^punct*_\s\\]|\\.)(\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:nd,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\.5&&(n="x"+n.toString(16)),r+=""+n+";";return r}fd._punctuation="!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~",fd.punctuation=Qf(fd.punctuation).replace(/punctuation/g,fd._punctuation).getRegex(),fd.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,fd.escapedEmSt=/(?:^|[^\\])(?:\\\\)*\\[*_]/g,fd._comment=Qf(sd._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),fd.emStrong.lDelim=Qf(fd.emStrong.lDelim).replace(/punct/g,fd._punctuation).getRegex(),fd.emStrong.rDelimAst=Qf(fd.emStrong.rDelimAst,"g").replace(/punct/g,fd._punctuation).getRegex(),fd.emStrong.rDelimUnd=Qf(fd.emStrong.rDelimUnd,"g").replace(/punct/g,fd._punctuation).getRegex(),fd._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,fd._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,fd._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,fd.autolink=Qf(fd.autolink).replace("scheme",fd._scheme).replace("email",fd._email).getRegex(),fd._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,fd.tag=Qf(fd.tag).replace("comment",fd._comment).replace("attribute",fd._attribute).getRegex(),fd._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,fd._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,fd._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,fd.link=Qf(fd.link).replace("label",fd._label).replace("href",fd._href).replace("title",fd._title).getRegex(),fd.reflink=Qf(fd.reflink).replace("label",fd._label).replace("ref",sd._label).getRegex(),fd.nolink=Qf(fd.nolink).replace("ref",sd._label).getRegex(),fd.reflinkSearch=Qf(fd.reflinkSearch,"g").replace("reflink",fd.reflink).replace("nolink",fd.nolink).getRegex(),fd.normal=rd({},fd),fd.pedantic=rd({},fd.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:Qf(/^!?\[(label)\]\((.*?)\)/).replace("label",fd._label).getRegex(),reflink:Qf(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",fd._label).getRegex()}),fd.gfm=rd({},fd.normal,{escape:Qf(fd.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\1&&void 0!==arguments[1]?arguments[1]:[];for(e=this.options.pedantic?e.replace(/\t/g," ").replace(/^ +$/gm,""):e.replace(/^( *)(\t+)/gm,(function(e,t,n){return t+" ".repeat(n.length)}));e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some((function(n){return!!(t=n.call({lexer:a},e,o))&&(e=e.substring(t.raw.length),o.push(t),!0)}))))if(t=this.tokenizer.space(e))e=e.substring(t.raw.length),1===t.raw.length&&o.length>0?o[o.length-1].raw+="\n":o.push(t);else if(t=this.tokenizer.code(e))e=e.substring(t.raw.length),!(n=o[o.length-1])||"paragraph"!==n.type&&"text"!==n.type?o.push(t):(n.raw+="\n"+t.raw,n.text+="\n"+t.text,this.inlineQueue[this.inlineQueue.length-1].src=n.text);else if(t=this.tokenizer.fences(e))e=e.substring(t.raw.length),o.push(t);else if(t=this.tokenizer.heading(e))e=e.substring(t.raw.length),o.push(t);else if(t=this.tokenizer.hr(e))e=e.substring(t.raw.length),o.push(t);else if(t=this.tokenizer.blockquote(e))e=e.substring(t.raw.length),o.push(t);else if(t=this.tokenizer.list(e))e=e.substring(t.raw.length),o.push(t);else if(t=this.tokenizer.html(e))e=e.substring(t.raw.length),o.push(t);else if(t=this.tokenizer.def(e))e=e.substring(t.raw.length),!(n=o[o.length-1])||"paragraph"!==n.type&&"text"!==n.type?this.tokens.links[t.tag]||(this.tokens.links[t.tag]={href:t.href,title:t.title}):(n.raw+="\n"+t.raw,n.text+="\n"+t.raw,this.inlineQueue[this.inlineQueue.length-1].src=n.text);else if(t=this.tokenizer.table(e))e=e.substring(t.raw.length),o.push(t);else if(t=this.tokenizer.lheading(e))e=e.substring(t.raw.length),o.push(t);else if(r=e,this.options.extensions&&this.options.extensions.startBlock&&function(){var t=1/0,n=e.slice(1),i=void 0;a.options.extensions.startBlock.forEach((function(e){"number"===typeof(i=e.call({lexer:this},n))&&i>=0&&(t=Math.min(t,i))})),t<1/0&&t>=0&&(r=e.substring(0,t+1))}(),this.state.top&&(t=this.tokenizer.paragraph(r)))n=o[o.length-1],i&&"paragraph"===n.type?(n.raw+="\n"+t.raw,n.text+="\n"+t.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=n.text):o.push(t),i=r.length!==e.length,e=e.substring(t.raw.length);else if(t=this.tokenizer.text(e))e=e.substring(t.raw.length),(n=o[o.length-1])&&"text"===n.type?(n.raw+="\n"+t.raw,n.text+="\n"+t.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=n.text):o.push(t);else if(e){var u="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(u);break}throw new Error(u)}return this.state.top=!0,o}},{key:"inline",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return this.inlineQueue.push({src:e,tokens:t}),t}},{key:"inlineTokens",value:function(e){var t,n,r,i,a,o,u=this,l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],c=e;if(this.tokens.links){var s=Object.keys(this.tokens.links);if(s.length>0)for(;null!=(i=this.tokenizer.rules.inline.reflinkSearch.exec(c));)s.includes(i[0].slice(i[0].lastIndexOf("[")+1,-1))&&(c=c.slice(0,i.index)+"["+ud("a",i[0].length-2)+"]"+c.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(i=this.tokenizer.rules.inline.blockSkip.exec(c));)c=c.slice(0,i.index)+"["+ud("a",i[0].length-2)+"]"+c.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(i=this.tokenizer.rules.inline.escapedEmSt.exec(c));)c=c.slice(0,i.index+i[0].length-2)+"++"+c.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex),this.tokenizer.rules.inline.escapedEmSt.lastIndex--;for(;e;)if(a||(o=""),a=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some((function(n){return!!(t=n.call({lexer:u},e,l))&&(e=e.substring(t.raw.length),l.push(t),!0)}))))if(t=this.tokenizer.escape(e))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.tag(e))e=e.substring(t.raw.length),(n=l[l.length-1])&&"text"===t.type&&"text"===n.type?(n.raw+=t.raw,n.text+=t.text):l.push(t);else if(t=this.tokenizer.link(e))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(t.raw.length),(n=l[l.length-1])&&"text"===t.type&&"text"===n.type?(n.raw+=t.raw,n.text+=t.text):l.push(t);else if(t=this.tokenizer.emStrong(e,c,o))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.codespan(e))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.br(e))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.del(e))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.autolink(e,hd))e=e.substring(t.raw.length),l.push(t);else if(this.state.inLink||!(t=this.tokenizer.url(e,hd))){if(r=e,this.options.extensions&&this.options.extensions.startInline&&function(){var t=1/0,n=e.slice(1),i=void 0;u.options.extensions.startInline.forEach((function(e){"number"===typeof(i=e.call({lexer:this},n))&&i>=0&&(t=Math.min(t,i))})),t<1/0&&t>=0&&(r=e.substring(0,t+1))}(),t=this.tokenizer.inlineText(r,dd))e=e.substring(t.raw.length),"_"!==t.raw.slice(-1)&&(o=t.raw.slice(-1)),a=!0,(n=l[l.length-1])&&"text"===n.type?(n.raw+=t.raw,n.text+=t.text):l.push(t);else if(e){var f="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(f);break}throw new Error(f)}}else e=e.substring(t.raw.length),l.push(t);return l}}],[{key:"rules",get:function(){return{block:sd,inline:fd}}},{key:"lex",value:function(t,n){return new e(n).lex(t)}},{key:"lexInline",value:function(t,n){return new e(n).inlineTokens(t)}}]),e}(),vd=function(){function e(t){Ft(this,e),this.options=t||Pf}return Bt(e,[{key:"code",value:function(e,t,n){var r=(t||"").match(/\S*/)[0];if(this.options.highlight){var i=this.options.highlight(e,r);null!=i&&i!==e&&(n=!0,e=i)}return e=e.replace(/\n$/,"")+"\n",r?''+(n?e:Yf(e,!0))+"
\n":""+(n?e:Yf(e,!0))+"
\n"}},{key:"blockquote",value:function(e){return"\n".concat(e,"
\n")}},{key:"html",value:function(e){return e}},{key:"heading",value:function(e,t,n,r){if(this.options.headerIds){var i=this.options.headerPrefix+r.slug(n);return"').concat(e,"\n")}return"").concat(e,"\n")}},{key:"hr",value:function(){return this.options.xhtml?"
\n":"
\n"}},{key:"list",value:function(e,t,n){var r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+""+r+">\n"}},{key:"listitem",value:function(e){return"".concat(e,"\n")}},{key:"checkbox",value:function(e){return" "}},{key:"paragraph",value:function(e){return"".concat(e,"
\n")}},{key:"table",value:function(e,t){return t&&(t="".concat(t,"")),"\n"}},{key:"tablerow",value:function(e){return"\n".concat(e,"
\n")}},{key:"tablecell",value:function(e,t){var n=t.header?"th":"td";return(t.align?"<".concat(n,' align="').concat(t.align,'">'):"<".concat(n,">"))+e+"".concat(n,">\n")}},{key:"strong",value:function(e){return"".concat(e,"")}},{key:"em",value:function(e){return"".concat(e,"")}},{key:"codespan",value:function(e){return"".concat(e,"
")}},{key:"br",value:function(){return this.options.xhtml?"
":"
"}},{key:"del",value:function(e){return"".concat(e,"")}},{key:"link",value:function(e,t,n){if(null===(e=Zf(this.options.sanitize,this.options.baseUrl,e)))return n;var r='"+n+""}},{key:"image",value:function(e,t,n){if(null===(e=Zf(this.options.sanitize,this.options.baseUrl,e)))return n;var r='
":">"}},{key:"text",value:function(e){return e}}]),e}(),md=function(){function e(){Ft(this,e)}return Bt(e,[{key:"strong",value:function(e){return e}},{key:"em",value:function(e){return e}},{key:"codespan",value:function(e){return e}},{key:"del",value:function(e){return e}},{key:"html",value:function(e){return e}},{key:"text",value:function(e){return e}},{key:"link",value:function(e,t,n){return""+n}},{key:"image",value:function(e,t,n){return""+n}},{key:"br",value:function(){return""}}]),e}(),yd=function(){function e(){Ft(this,e),this.seen={}}return Bt(e,[{key:"serialize",value:function(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")}},{key:"getNextSafeSlug",value:function(e,t){var n=e,r=0;if(this.seen.hasOwnProperty(n)){r=this.seen[e];do{n=e+"-"+ ++r}while(this.seen.hasOwnProperty(n))}return t||(this.seen[e]=r,this.seen[n]=0),n}},{key:"slug",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.serialize(e);return this.getNextSafeSlug(n,t.dryrun)}}]),e}(),gd=function(){function e(t){Ft(this,e),this.options=t||Pf,this.options.renderer=this.options.renderer||new vd,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new md,this.slugger=new yd}return Bt(e,[{key:"parse",value:function(e){var t,n,r,i,a,o,u,l,c,s,f,d,h,p,v,m,y,g,_,b=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],D="",w=e.length;for(t=0;t0&&"paragraph"===v.tokens[0].type?(v.tokens[0].text=g+" "+v.tokens[0].text,v.tokens[0].tokens&&v.tokens[0].tokens.length>0&&"text"===v.tokens[0].tokens[0].type&&(v.tokens[0].tokens[0].text=g+" "+v.tokens[0].tokens[0].text)):v.tokens.unshift({type:"text",text:g}):p+=g),p+=this.parse(v.tokens,h),c+=this.renderer.listitem(p,y,m);D+=this.renderer.list(c,f,d);continue;case"html":D+=this.renderer.html(s.text);continue;case"paragraph":D+=this.renderer.paragraph(this.parseInline(s.tokens));continue;case"text":for(c=s.tokens?this.parseInline(s.tokens):s.text;t+1An error occurred:
"+Yf(e.message+"",!0)+"
";throw e}try{var l=pd.lex(e,t);if(t.walkTokens){if(t.async)return Promise.all(_d.walkTokens(l,t.walkTokens)).then((function(){return gd.parse(l,t)})).catch(u);_d.walkTokens(l,t.walkTokens)}return gd.parse(l,t)}catch(s){u(s)}}_d.options=_d.setOptions=function(e){var t;return rd(_d.defaults,e),t=_d.defaults,Pf=t,_d},_d.getDefaults=Lf,_d.defaults=Pf,_d.use=function(){for(var e=_d.defaults.extensions||{renderers:{},childTokens:{}},t=arguments.length,n=new Array(t),r=0;rAn error occurred:"+Yf(s.message+"",!0)+"
";throw s}},_d.Parser=gd,_d.parser=gd.parse,_d.Renderer=vd,_d.TextRenderer=md,_d.Lexer=pd,_d.lexer=pd.lex,_d.Tokenizer=cd,_d.Slugger=yd,_d.parse=_d;_d.options,_d.setOptions,_d.use,_d.walkTokens,_d.parseInline,gd.parse,pd.lex;var bd=function(e){var t=e.title,n=e.description,r=e.unit,i=e.expr,a=e.showLegend,o=e.filename,u=e.alias,l=yi().period,c=Ea().customStep,s=gi(),f=ie(null),d=St(ee(!0),2),h=d[0],p=d[1],v=St(ee({limits:{enable:!1,range:{1:[0,0]}}}),2),m=v[0],g=v[1],_=oe((function(){return Array.isArray(i)&&i.every((function(e){return e}))}),[i]),b=yf({predefinedQuery:_?i:[],display:"chart",visible:h,customStep:c}),D=b.isLoading,w=b.graphData,x=b.error,A=b.warning,k=function(e){var t=dr({},m);t.limits.range=e,g(t)};if(ne((function(){var e=new IntersectionObserver((function(e){e.forEach((function(e){return p(e.isIntersecting)}))}),{threshold:.1});return f.current&&e.observe(f.current),function(){f.current&&e.unobserve(f.current)}}),[]),!_)return Fr(Ra,{variant:"error",children:[Fr("code",{children:'"expr"'})," not found. Check the configuration file ",Fr("b",{children:o}),"."]});var C=function(){return Fr("div",{className:"vm-predefined-panel-header__description vm-default-styles",children:[n&&Fr(y,{children:[Fr("div",{children:[Fr("span",{children:"Description:"}),Fr("div",{dangerouslySetInnerHTML:{__html:_d.parse(n)}})]}),Fr("hr",{})]}),Fr("div",{children:[Fr("span",{children:"Queries:"}),Fr("div",{children:i.map((function(e,t){return Fr("div",{children:e},"".concat(t,"_").concat(e))}))})]})]})};return Fr("div",{className:"vm-predefined-panel",ref:f,children:[Fr("div",{className:"vm-predefined-panel-header",children:[Fr(Za,{title:Fr(C,{}),children:Fr("div",{className:"vm-predefined-panel-header__info",children:Fr(Fi,{})})}),Fr("h3",{className:"vm-predefined-panel-header__title",children:t||""}),Fr(Df,{yaxis:m,setYaxisLimits:k,toggleEnableLimits:function(){var e=dr({},m);e.limits.enable=!e.limits.enable,g(e)}})]}),Fr("div",{className:"vm-predefined-panel-body",children:[D&&Fr(wf,{}),x&&Fr(Ra,{variant:"error",children:x}),A&&Fr(Ra,{variant:"warning",children:A}),w&&Fr(nf,{data:w,period:l,customStep:c,query:i,yaxis:m,unit:r,alias:u,showLegend:a,setYaxisLimits:k,setPeriod:function(e){var t=e.from,n=e.to;s({type:"SET_PERIOD",payload:{from:t,to:n}})},fullWidth:!1})]})]})},Dd=function(e){var t=e.index,n=e.title,r=e.panels,i=e.filename,a=oa(document.body),o=oe((function(){return a.width/12}),[a]),u=St(ee(!t),2),l=u[0],c=u[1],s=St(ee([]),2),f=s[0],d=s[1];ne((function(){d(r&&r.map((function(e){return e.width||12})))}),[r]);var h=St(ee({start:0,target:0,enable:!1}),2),p=h[0],v=h[1],m=function(e){if(p.enable){var t=p.start,n=Math.ceil((t-e.clientX)/o);if(!(Math.abs(n)>=12)){var r=f.map((function(e,t){return e-(t===p.target?n:0)}));d(r)}}},y=function(){v(dr(dr({},p),{},{enable:!1}))},g=function(e){return function(t){!function(e,t){v({start:e.clientX,target:t,enable:!0})}(t,e)}};return ne((function(){return window.addEventListener("mousemove",m),window.addEventListener("mouseup",y),function(){window.removeEventListener("mousemove",m),window.removeEventListener("mouseup",y)}}),[p]),Fr("div",{className:"vm-predefined-dashboard",children:Fr(_o,{defaultExpanded:l,onChange:function(e){return c(e)},title:Fr((function(){return Fr("div",{className:la()({"vm-predefined-dashboard-header":!0,"vm-predefined-dashboard-header_open":l}),children:[(n||i)&&Fr("span",{className:"vm-predefined-dashboard-header__title",children:n||"".concat(t+1,". ").concat(i)}),r&&Fr("span",{className:"vm-predefined-dashboard-header__count",children:["(",r.length," panels)"]})]})}),{}),children:Fr("div",{className:"vm-predefined-dashboard-panels",children:Array.isArray(r)&&r.length?r.map((function(e,t){return Fr("div",{className:"vm-predefined-dashboard-panels-panel vm-block vm-block_empty-padding",style:{gridColumn:"span ".concat(f[t])},children:[Fr(bd,{title:e.title,description:e.description,unit:e.unit,expr:e.expr,alias:e.alias,filename:i,showLegend:e.showLegend}),Fr("button",{className:"vm-predefined-dashboard-panels-panel__resizer",onMouseDown:g(t)})]},t)})):Fr("div",{className:"vm-predefined-dashboard-panels-panel__alert",children:Fr(Ra,{variant:"error",children:[Fr("code",{children:'"panels"'})," not found. Check the configuration file ",Fr("b",{children:i}),"."]})})})})})},wd=function(){!function(){var e=yi(),t=e.duration,n=e.relativeTime,r=e.period.date,i=Ea().customStep,a=function(){var e,a=Tf((sr(e={},"g0.range_input",t),sr(e,"g0.end_input",r),sr(e,"g0.step_input",i),sr(e,"g0.relative_time",n),e));kr(a)};ne(a,[t,n,r,i]),ne(a,[])}();var e=qa(),t=e.dashboardsSettings,n=e.dashboardsLoading,r=e.dashboardsError,i=St(ee(0),2),a=i[0],o=i[1],u=oe((function(){return t.map((function(e,t){return{label:e.title||"",value:t}}))}),[t]),l=oe((function(){return t[a]||{}}),[t,a]),c=oe((function(){return null===l||void 0===l?void 0:l.rows}),[l]),s=oe((function(){return l.title||l.filename||""}),[l]),f=oe((function(){return Array.isArray(c)&&!!c.length}),[c]),d=function(e){return function(){!function(e){o(e)}(e)}};return Fr("div",{className:"vm-predefined-panels",children:[n&&Fr(wf,{}),r&&Fr(Ra,{variant:"error",children:r}),!t.length&&Fr(Ra,{variant:"info",children:"Dashboards not found"}),u.length>1&&Fr("div",{className:"vm-predefined-panels-tabs vm-block",children:u.map((function(e){return Fr("div",{className:la()({"vm-predefined-panels-tabs__tab":!0,"vm-predefined-panels-tabs__tab_active":e.value==a}),onClick:d(e.value),children:e.label},e.value)}))}),Fr("div",{className:"vm-predefined-panels__dashboards",children:[f&&c.map((function(e,t){return Fr(Dd,{index:t,filename:s,title:e.title,panels:e.panels},"".concat(a,"_").concat(t))})),!!t.length&&!f&&Fr(Ra,{variant:"error",children:[Fr("code",{children:'"rows"'})," not found. Check the configuration file ",Fr("b",{children:s}),"."]})]})]})},xd=function(e,t){var n=t.match?"&match[]="+encodeURIComponent(t.match):"",r=t.focusLabel?"&focusLabel="+encodeURIComponent(t.focusLabel):"";return"".concat(e,"/api/v1/status/tsdb?topN=").concat(t.topN,"&date=").concat(t.date).concat(n).concat(r)},Ad=function(){function e(){Ft(this,e),this.tsdbStatus=void 0,this.tabsNames=void 0,this.tsdbStatus=this.defaultTSDBStatus,this.tabsNames=["table","graph"]}return Bt(e,[{key:"tsdbStatusData",get:function(){return this.tsdbStatus},set:function(e){this.tsdbStatus=e}},{key:"defaultTSDBStatus",get:function(){return{totalSeries:0,totalLabelValuePairs:0,seriesCountByMetricName:[],seriesCountByLabelName:[],seriesCountByFocusLabelValue:[],seriesCountByLabelValuePair:[],labelValueCountByLabelName:[]}}},{key:"keys",value:function(e){var t=[];return e&&(t=t.concat("seriesCountByFocusLabelValue")),t=t.concat("seriesCountByMetricName","seriesCountByLabelName","seriesCountByLabelValuePair","labelValueCountByLabelName"),t}},{key:"defaultState",get:function(){var e=this;return this.keys("job").reduce((function(t,n){return dr(dr({},t),{},{tabs:dr(dr({},t.tabs),{},sr({},n,e.tabsNames)),containerRefs:dr(dr({},t.containerRefs),{},sr({},n,ie(null))),defaultActiveTab:dr(dr({},t.defaultActiveTab),{},sr({},n,0))})}),{tabs:{},containerRefs:{},defaultActiveTab:{}})}},{key:"sectionsTitles",value:function(e){return{seriesCountByMetricName:"Metric names with the highest number of series",seriesCountByLabelName:"Labels with the highest number of series",seriesCountByFocusLabelValue:'Values for "'.concat(e,'" label with the highest number of series'),seriesCountByLabelValuePair:"Label=value pairs with the highest number of series",labelValueCountByLabelName:"Labels with the highest number of unique values"}}},{key:"tablesHeaders",get:function(){return{seriesCountByMetricName:kd,seriesCountByLabelName:Cd,seriesCountByFocusLabelValue:Ed,seriesCountByLabelValuePair:Sd,labelValueCountByLabelName:Nd}}},{key:"totalSeries",value:function(e){return"labelValueCountByLabelName"===e?-1:this.tsdbStatus.totalSeries}}]),e}(),kd=[{id:"name",label:"Metric name"},{id:"value",label:"Number of series"},{id:"percentage",label:"Percent of series"},{id:"action",label:"Action"}],Cd=[{id:"name",label:"Label name"},{id:"value",label:"Number of series"},{id:"percentage",label:"Percent of series"},{id:"action",label:"Action"}],Ed=[{id:"name",label:"Label value"},{id:"value",label:"Number of series"},{id:"percentage",label:"Percent of series"},{disablePadding:!1,id:"action",label:"Action",numeric:!1}],Sd=[{id:"name",label:"Label=value pair"},{id:"value",label:"Number of series"},{id:"percentage",label:"Percent of series"},{id:"action",label:"Action"}],Nd=[{id:"name",label:"Label name"},{id:"value",label:"Number of unique values"},{id:"action",label:"Action"}],Fd={seriesCountByMetricName:function(e,t){return Od("__name__",t)},seriesCountByLabelName:function(e,t){return"{".concat(t,'!=""}')},seriesCountByFocusLabelValue:function(e,t){return Od(e,t)},seriesCountByLabelValuePair:function(e,t){var n=t.split("="),r=n[0],i=n.slice(1).join("=");return Od(r,i)},labelValueCountByLabelName:function(e,t){return"{".concat(t,'!=""}')}},Od=function(e,t){return e?"{"+e+"="+JSON.stringify(t)+"}":""},Td=function(e){var t=e.topN,n=e.error,r=e.query,i=e.onSetHistory,a=e.onRunQuery,o=e.onSetQuery,u=e.onTopNChange,l=e.onFocusLabelChange,c=e.totalSeries,s=e.totalLabelValuePairs,f=e.date,d=e.match,h=e.focusLabel,p=xi().autocomplete,v=Ai(),m=xf().queryOptions,y=oe((function(){return t<1?"Number must be bigger than zero":""}),[t]);return Fr("div",{className:"vm-cardinality-configurator vm-block",children:[Fr("div",{className:"vm-cardinality-configurator-controls",children:[Fr("div",{className:"vm-cardinality-configurator-controls__query",children:Fr(af,{value:r||d||"",autocomplete:p,options:m,error:n,onArrowUp:function(){i(-1)},onArrowDown:function(){i(1)},onEnter:a,onChange:o,label:"Time series selector"})}),Fr("div",{className:"vm-cardinality-configurator-controls__item",children:Fr(ho,{label:"Number of entries per table",type:"number",value:t,error:y,onChange:u})}),Fr("div",{className:"vm-cardinality-configurator-controls__item",children:Fr(ho,{label:"Focus label",type:"text",value:h||"",onChange:l})}),Fr("div",{className:"vm-cardinality-configurator-controls__item",children:Fr(cf,{label:"Autocomplete",value:p,onChange:function(){v({type:"TOGGLE_AUTOCOMPLETE"})}})})]}),Fr("div",{className:"vm-cardinality-configurator-bottom",children:[Fr("div",{className:"vm-cardinality-configurator-bottom__info",children:["Analyzed ",Fr("b",{children:c})," series with ",Fr("b",{children:s}),' "label=value" pairs at ',Fr("b",{children:f}),d&&Fr("span",{children:[" for series selector ",Fr("b",{children:d})]}),". Show top ",t," entries per table."]}),Fr(Qa,{startIcon:Fr(Ui,{}),onClick:a,children:"Execute Query"})]})]})};function Md(e){var t=e.order,n=e.orderBy,r=e.onRequestSort,i=e.headerCells;return Fr("thead",{className:"vm-table-header",children:Fr("tr",{className:"vm-table__row vm-table__row_header",children:i.map((function(e){return Fr("th",{className:la()({"vm-table-cell vm-table-cell_header":!0,"vm-table-cell_sort":"action"!==e.id&&"percentage"!==e.id,"vm-table-cell_right":"action"===e.id}),onClick:(i=e.id,function(e){r(e,i)}),children:Fr("div",{className:"vm-table-cell__content",children:[e.label,"action"!==e.id&&"percentage"!==e.id&&Fr("div",{className:la()({"vm-table__sort-icon":!0,"vm-table__sort-icon_active":n===e.id,"vm-table__sort-icon_desc":"desc"===t&&n===e.id}),children:Fr(Li,{})})]})},e.id);var i}))})})}function Bd(e,t,n){return t[n]e[n]?1:0}function Id(e,t){return"desc"===e?function(e,n){return Bd(e,n,t)}:function(e,n){return-Bd(e,n,t)}}function Ld(e,t){var n=e.map((function(e,t){return[e,t]}));return n.sort((function(e,n){var r=t(e[0],n[0]);return 0!==r?r:e[1]-n[1]})),n.map((function(e){return e[0]}))}var Pd=function(e){var t=e.rows,n=e.headerCells,r=e.defaultSortColumn,i=e.tableCells,a=St(ee("desc"),2),o=a[0],u=a[1],l=St(ee(r),2),c=l[0],s=l[1],f=St(ee([]),2),d=f[0],h=f[1],p=function(e){return function(){var t=d.indexOf(e),n=[];-1===t?n=n.concat(d,e):0===t?n=n.concat(d.slice(1)):t===d.length-1?n=n.concat(d.slice(0,-1)):t>0&&(n=n.concat(d.slice(0,t),d.slice(t+1))),h(n)}},v=Ld(t,Id(o,c));return Fr("table",{className:"vm-table",children:[Fr(Md,{numSelected:d.length,order:o,orderBy:c,onSelectAllClick:function(e){if(e.target.checked){var n=t.map((function(e){return e.name}));h(n)}else h([])},onRequestSort:function(e,t){u(c===t&&"asc"===o?"desc":"asc"),s(t)},rowCount:t.length,headerCells:n}),Fr("tbody",{className:"vm-table-header",children:v.map((function(e){return Fr("tr",{className:la()({"vm-table__row":!0,"vm-table__row_selected":(t=e.name,-1!==d.indexOf(t))}),onClick:p(e.name),children:i(e)},e.name);var t}))})]})},zd=function(e){var t=e.row,n=e.totalSeries,r=e.onActionClick,i=n>0?t.value/n*100:-1;return Fr(y,{children:[Fr("td",{className:"vm-table-cell",children:t.name},t.name),Fr("td",{className:"vm-table-cell",children:t.value},t.value),i>0&&Fr("td",{className:"vm-table-cell",children:Fr(Af,{value:i})},t.progressValue),Fr("td",{className:"vm-table-cell vm-table-cell_right",children:Fr("div",{className:"vm-table-cell__content",children:Fr(Za,{title:"Filter by ".concat(t.name),children:Fr(Qa,{variant:"text",size:"small",onClick:function(){r(t.name)},children:Fr(Yi,{})})})})},"action")]})},Rd=function(e){var t=e.data,n=e.container,r=e.configs,i=ie(null),a=St(ee(),2),o=a[0],u=a[1],l=oa(n),c=dr(dr({},r),{},{width:l.width||400});return ne((function(){if(i.current){var e=new Ts(c,t,i.current);return u(e),e.destroy}}),[i.current,l]),ne((function(){o&&o.setData(t)}),[t]),Fr("div",{style:{height:"100%"},children:Fr("div",{ref:i})})},jd=function(e,t){return Math.round(e*(t=Math.pow(10,t)))/t},$d=1,Hd=function(e,t,n,r){return jd(t+e*(n+r),6)},Ud=function(e,t,n,r,i){var a=1-t,o=n===$d?a/(e-1):2===n?a/e:3===n?a/(e+1):0;(isNaN(o)||o===1/0)&&(o=0);var u=n===$d?0:2===n?o/2:3===n?o:0,l=t/e,c=jd(l,6);if(null==r)for(var s=0;s=n&&e<=i&&t>=r&&t<=a};function Vd(e,t,n,r,i){var a=this;a.x=e,a.y=t,a.w=n,a.h=r,a.l=i||0,a.o=[],a.q=null}var qd={split:function(){var e=this,t=e.x,n=e.y,r=e.w/2,i=e.h/2,a=e.l+1;e.q=[new Vd(t+r,n,r,i,a),new Vd(t,n,r,i,a),new Vd(t,n+i,r,i,a),new Vd(t+r,n+i,r,i,a)]},quads:function(e,t,n,r,i){var a=this,o=a.q,u=a.x+a.w/2,l=a.y+a.h/2,c=tu,d=t+r>l;c&&f&&i(o[0]),s&&c&&i(o[1]),s&&d&&i(o[2]),f&&d&&i(o[3])},add:function(e){var t=this;if(null!=t.q)t.quads(e.x,e.y,e.w,e.h,(function(t){t.add(e)}));else{var n=t.o;if(n.push(e),n.length>10&&t.l<4){t.split();for(var r=function(e){var r=n[e];t.quads(r.x,r.y,r.w,r.h,(function(e){e.add(r)}))},i=0;i=0?"left":"right",e.ctx.textBaseline=1===s?"middle":i[n]>=0?"bottom":"top",e.ctx.fillText(i[n],f,g)}}))})),e.ctx.restore()}function b(e,t,n){return[0,Ts.rangeNum(0,n,.05,!0)[1]]}return{hooks:{drawClear:function(t){var n;if((y=y||new Vd(0,0,t.bbox.width,t.bbox.height)).clear(),t.series.forEach((function(e){e._paths=null})),l=d?[null].concat(m(t.data.length-1-a.length,t.data[0].length)):2===t.series.length?[null].concat(m(t.data[0].length,1)):[null].concat(function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:h,r=Array.from({length:t},(function(){return{offs:Array(e).fill(0),size:Array(e).fill(0)}}));return Ud(e,n,p,null,(function(e,n,i){Ud(t,1,v,null,(function(t,a,o){r[t].offs[e]=n+i*a,r[t].size[e]=i*o}))})),r}(t.data[0].length,t.data.length-1-a.length,1===t.data[0].length?1:h)),null!=(null===(n=e.disp)||void 0===n?void 0:n.fill)){c=[null];for(var r=1;r0&&!a.includes(t)&&Ts.assign(e,{paths:g,points:{show:_}})}))}}}((Wd=[1],Qd=0,Gd=1,Jd=0,Zd=function(e,t){return{stroke:e,fill:t}}({unit:3,values:function(e){return e.data[1].map((function(e,t){return 0!==t?"#33BB55":"#F79420"}))}},{unit:3,values:function(e){return e.data[1].map((function(e,t){return 0!==t?"#33BB55":"#F79420"}))}}),{which:Wd,ori:Qd,dir:Gd,radius:Jd,disp:Zd}))]},Xd=function(e){var t=e.rows,n=e.activeTab,r=e.onChange,i=e.tabs,a=e.chartContainer,o=e.totalSeries,u=e.tabId,l=e.onActionClick,c=e.sectionTitle,s=e.tableHeaderCells,f=oe((function(){return i.map((function(e,t){return{value:String(t),label:e,icon:Fr(0===t?qi:Vi,{})}}))}),[i]);return Fr("div",{className:"vm-metrics-content vm-block",children:[Fr("div",{className:"vm-metrics-content-header vm-section-header",children:[Fr("h5",{className:"vm-section-header__title",children:c}),Fr("div",{className:"vm-section-header__tabs",children:Fr(ha,{activeItem:String(n),items:f,onChange:function(e){r(e,u)}})})]}),Fr("div",{ref:a,children:[0===n&&Fr(Pd,{rows:t,headerCells:s,defaultSortColumn:"value",tableCells:function(e){return Fr(zd,{row:e,totalSeries:o,onActionClick:l})}}),1===n&&Fr(Rd,{data:[t.map((function(e){return e.name})),t.map((function(e){return e.value})),t.map((function(e,t){return t%12==0?1:t%10==0?2:0}))],container:(null===a||void 0===a?void 0:a.current)||null,configs:Kd})]})]})},eh=function(){var e=Ta(),t=e.topN,n=e.match,r=e.date,i=e.focusLabel,a=Ma();!function(){var e=Ta(),t=e.topN,n=e.match,r=e.date,i=e.focusLabel,a=e.extraLabel,o=function(){var e=Tf({topN:t,date:r,match:n,extraLabel:a,focusLabel:i});kr(e)};ne(o,[t,n,r,i,a]),ne(o,[])}();var o=St(ee(n||""),2),u=o[0],l=o[1],c=St(ee(0),2),s=c[0],f=c[1],d=St(ee([]),2),h=d[0],p=d[1],v=function(){var e=new Ad,t=Ta(),n=t.topN,r=t.extraLabel,i=t.match,a=t.date,o=t.runQuery,u=t.focusLabel,l=Tr().serverUrl,c=St(ee(!1),2),s=c[0],f=c[1],d=St(ee(),2),h=d[0],p=d[1],v=St(ee(e.defaultTSDBStatus),2),m=v[0],y=v[1];ne((function(){h&&(y(e.defaultTSDBStatus),f(!1))}),[h]);var g=function(){var t=Bo(To().mark((function t(n){var r,i,a,o;return To().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(l){t.next=2;break}return t.abrupt("return");case 2:return p(""),f(!0),y(e.defaultTSDBStatus),r=xd(l,n),t.prev=6,t.next=9,fetch(r);case 9:return i=t.sent,t.next=12,i.json();case 12:a=t.sent,i.ok?(o=a.data,y(dr({},o)),f(!1)):(p(a.error),y(e.defaultTSDBStatus),f(!1)),t.next=20;break;case 16:t.prev=16,t.t0=t.catch(6),f(!1),t.t0 instanceof Error&&p("".concat(t.t0.name,": ").concat(t.t0.message));case 20:case"end":return t.stop()}}),t,null,[[6,16]])})));return function(e){return t.apply(this,arguments)}}();return ne((function(){g({topN:n,extraLabel:r,match:i,date:a,focusLabel:u})}),[l,o,a]),e.tsdbStatusData=m,{isLoading:s,appConfigurator:e,error:h}}(),m=v.isLoading,y=v.appConfigurator,g=v.error,_=St(ee(y.defaultState.defaultActiveTab),2),b=_[0],D=_[1],w=y.tsdbStatusData,x=y.defaultState,A=y.tablesHeaders,k=function(e,t){D(dr(dr({},b),{},sr({},t,+e)))};return Fr("div",{className:"vm-cardinality-panel",children:[m&&Fr(wf,{message:"Please wait while cardinality stats is calculated. \n This may take some time if the db contains big number of time series."}),Fr(Td,{error:"",query:u,topN:t,date:r,match:n,totalSeries:w.totalSeries,totalLabelValuePairs:w.totalLabelValuePairs,focusLabel:i,onRunQuery:function(){p((function(e){return[].concat(Nt(e),[u])})),f((function(e){return e+1})),a({type:"SET_MATCH",payload:u}),a({type:"RUN_QUERY"})},onSetQuery:function(e){l(e)},onSetHistory:function(e){var t=s+e;t<0||t>=h.length||(f(t),l(h[t]))},onTopNChange:function(e){a({type:"SET_TOP_N",payload:+e})},onFocusLabelChange:function(e){a({type:"SET_FOCUS_LABEL",payload:e})}}),g&&Fr(Ra,{variant:"error",children:g}),y.keys(i).map((function(e){return Fr(Xd,{sectionTitle:y.sectionsTitles(i)[e],activeTab:b[e],rows:w[e],onChange:k,onActionClick:(t=e,function(e){var n=Fd[t](i,e);l(n),p((function(e){return[].concat(Nt(e),[n])})),f((function(e){return e+1})),a({type:"SET_MATCH",payload:n});var r="";"labelValueCountByLabelName"!==t&&"seriesCountByLabelName"!=t||(r=e),a({type:"SET_FOCUS_LABEL",payload:r}),a({type:"RUN_QUERY"})}),tabs:x.tabs[e],chartContainer:x.containerRefs[e],totalSeries:y.totalSeries(e),tabId:e,tableHeaderCells:A[e]},e);var t}))]})},th=function(e){var t=e.rows,n=e.columns,r=St(ee(e.defaultOrderBy||"count"),2),i=r[0],a=r[1],o=St(ee("desc"),2),u=o[0],l=o[1],c=oe((function(){return Ld(t,Id(u,i))}),[t,i,u]),s=function(e){return function(){var t;t=e,l((function(e){return"asc"===e&&i===t?"desc":"asc"})),a(t)}};return Fr("table",{className:"vm-table",children:[Fr("thead",{className:"vm-table-header",children:Fr("tr",{className:"vm-table__row vm-table__row_header",children:n.map((function(e){return Fr("th",{className:"vm-table-cell vm-table-cell_header vm-table-cell_sort",onClick:s(e.key),children:Fr("div",{className:"vm-table-cell__content",children:[e.title||e.key,Fr("div",{className:la()({"vm-table__sort-icon":!0,"vm-table__sort-icon_active":i===e.key,"vm-table__sort-icon_desc":"desc"===u&&i===e.key}),children:Fr(Li,{})})]})},e.key)}))})}),Fr("tbody",{className:"vm-table-body",children:c.map((function(e,t){return Fr("tr",{className:"vm-table__row",children:n.map((function(t){return Fr("td",{className:"vm-table-cell",children:e[t.key]||"-"},t.key)}))},t)}))})]})},nh=["table","JSON"].map((function(e,t){return{value:String(t),label:e,icon:Fr(0===t?qi:Wi,{})}})),rh=function(e){var t=e.rows,n=e.title,r=e.columns,i=e.defaultOrderBy,a=St(ee(0),2),o=a[0],u=a[1];return Fr("div",{className:"vm-top-queries-panel vm-block",children:[Fr("div",{className:"vm-top-queries-panel-header vm-section-header",children:[Fr("h5",{className:"vm-section-header__title",children:n}),Fr("div",{className:"vm-section-header__tabs",children:Fr(ha,{activeItem:String(o),items:nh,onChange:function(e){u(+e)}})})]}),Fr("div",{children:[0===o&&Fr(th,{rows:t,columns:r,defaultOrderBy:i}),1===o&&Fr(gf,{data:t})]})]})},ih=function(){var e=function(){var e=Tr().serverUrl,t=Pa(),n=t.topN,r=t.maxLifetime,i=t.runQuery,a=St(ee(null),2),o=a[0],u=a[1],l=St(ee(!1),2),c=l[0],s=l[1],f=St(ee(),2),d=f[0],h=f[1],p=oe((function(){return function(e,t,n){return"".concat(e,"/api/v1/status/top_queries?topN=").concat(t||"","&maxLifetime=").concat(n||"")}(e,n,r)}),[e,n,r]),v=function(){var e=Bo(To().mark((function e(){var t,n;return To().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s(!0),e.prev=1,e.next=4,fetch(p);case 4:return t=e.sent,e.next=7,t.json();case 7:n=e.sent,t.ok&&["topByAvgDuration","topByCount","topBySumDuration"].forEach((function(e){var t=n[e];Array.isArray(t)&&t.forEach((function(e){return e.timeRangeHours=+(e.timeRangeSeconds/3600).toFixed(2)}))})),u(t.ok?n:null),h(String(n.error||"")),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(1),e.t0 instanceof Error&&"AbortError"!==e.t0.name&&h("".concat(e.t0.name,": ").concat(e.t0.message));case 16:s(!1);case 17:case"end":return e.stop()}}),e,null,[[1,13]])})));return function(){return e.apply(this,arguments)}}();return ne((function(){v()}),[i]),{data:o,error:d,loading:c}}(),t=e.data,n=e.error,r=e.loading,i=Pa(),a=i.topN,o=i.maxLifetime,u=le(La).dispatch;!function(){var e=Pa(),t=e.topN,n=e.maxLifetime,r=function(){var e=Tf({topN:String(t),maxLifetime:n});kr(e)};ne(r,[t,n]),ne(r,[])}();var l=oe((function(){var e=o.trim().split(" ").reduce((function(e,t){var n=qr(t);return n?dr(dr({},e),n):dr({},e)}),{});return!!_t().duration(e).asMilliseconds()}),[o]),c=oe((function(){return!!a&&a<1}),[a]),s=oe((function(){return c?"Number must be bigger than zero":""}),[c]),f=oe((function(){return l?"":"Invalid duration value"}),[l]),d=function(e){if(!t)return e;var n=t[e];return"number"===typeof n?Ls(n):n||e},h=function(){u({type:"SET_RUN_QUERY"})},p=function(e){"Enter"===e.key&&h()};return ne((function(){t&&(a||u({type:"SET_TOP_N",payload:+t.topN}),o||u({type:"SET_MAX_LIFE_TIME",payload:t.maxLifetime}))}),[t]),Fr("div",{className:"vm-top-queries",children:[r&&Fr(wf,{containerStyles:{height:"500px"}}),Fr("div",{className:"vm-top-queries-controls vm-block",children:[Fr("div",{className:"vm-top-queries-controls__fields",children:[Fr(ho,{label:"Max lifetime",value:o,error:f,helperText:"For example ".concat("30ms, 15s, 3d4h, 1y2w"),onChange:function(e){u({type:"SET_MAX_LIFE_TIME",payload:e})},onKeyDown:p}),Fr(ho,{label:"Number of returned queries",type:"number",value:a||"",error:s,onChange:function(e){u({type:"SET_TOP_N",payload:+e})},onKeyDown:p})]}),Fr("div",{className:"vm-top-queries-controls-bottom",children:[Fr("div",{className:"vm-top-queries-controls-bottom__info",children:["VictoriaMetrics tracks the last\xa0",Fr(Za,{title:"search.queryStats.lastQueriesCount",children:Fr("b",{children:d("search.queryStats.lastQueriesCount")})}),"\xa0queries with durations at least\xa0",Fr(Za,{title:"search.queryStats.minQueryDuration",children:Fr("b",{children:d("search.queryStats.minQueryDuration")})})]}),Fr("div",{className:"vm-top-queries-controls-bottom__button",children:Fr(Qa,{startIcon:Fr(Ui,{}),onClick:h,children:"Execute"})})]})]}),n&&Fr(Ra,{variant:"error",children:n}),t&&Fr(y,{children:Fr("div",{className:"vm-top-queries-panels",children:[Fr(rh,{rows:t.topByCount,title:"Most frequently executed queries",columns:[{key:"query"},{key:"timeRangeHours",title:"time range, hours"},{key:"count"}]}),Fr(rh,{rows:t.topByAvgDuration,title:"Most heavy queries",columns:[{key:"query"},{key:"avgDurationSeconds",title:"avg duration, seconds"},{key:"timeRangeHours",title:"time range, hours"},{key:"count"}],defaultOrderBy:"avgDurationSeconds"}),Fr(rh,{rows:t.topBySumDuration,title:"Queries with most summary time to execute",columns:[{key:"query"},{key:"sumDurationSeconds",title:"sum duration, seconds"},{key:"timeRangeHours",title:"time range, hours"},{key:"count"}],defaultOrderBy:"sumDurationSeconds"})]})})]})},ah=["primary","secondary","error","warning","info","success"],oh=function(e){var t=e.setLoadingTheme,n=yr().palette,r=void 0===n?{}:n,i=function(){ah.forEach((function(e){var t=function(e){var t=e.replace("#","").trim();if(3===t.length&&(t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]),6!==t.length)throw new Error("Invalid HEX color.");return(299*parseInt(t.slice(0,2),16)+587*parseInt(t.slice(2,4),16)+114*parseInt(t.slice(4,6),16))/1e3>=128?"#000000":"#FFFFFF"}(ia("color-".concat(e)));aa("".concat(e,"-text"),t)}))};return ne((function(){ah.forEach((function(e){var t=r[e];t&&aa("color-".concat(e),t)})),function(){var e=window,t=e.innerWidth,n=e.innerHeight,r=document.documentElement,i=r.clientWidth,a=r.clientHeight;aa("scrollbar-width","".concat(t-i,"px")),aa("scrollbar-height","".concat(n-a,"px"))}(),i(),t(!1)}),[]),null},uh=function(){var e=St(ee(!1),2),t=e[0],n=e[1],r=St(ee([]),2),i=r[0],a=r[1],o=St(ee([]),2),u=o[0],l=o[1],c=oe((function(){return!!i.length}),[i]),f=function(){n(!0)},d=function(){n(!1)},h=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";l((function(n){return[{filename:t,text:": ".concat(e.message)}].concat(Nt(n))}))},p=function(e,t){try{var n=JSON.parse(e),r=n.trace||n;if(!r.duration_msec)return void h(new Error(ao.traceNotFound),t);var i=new mf(r,t);a((function(e){return[i].concat(Nt(e))}))}catch(s){s instanceof Error&&h(s,t)}},v=function(e){l([]),Array.from(e.target.files||[]).map((function(e){var t=new FileReader,n=(null===e||void 0===e?void 0:e.name)||"";t.onload=function(e){var t,r=String(null===(t=e.target)||void 0===t?void 0:t.result);p(r,n)},t.readAsText(e)})),e.target.value=""},m=function(e){return function(){!function(e){l((function(t){return t.filter((function(t,n){return n!==e}))}))}(e)}};ne((function(){kr({})}),[]);var y=function(){return Fr("div",{className:"vm-trace-page-controls",children:[Fr(Qa,{variant:"outlined",onClick:f,children:"Paste JSON"}),Fr(Za,{title:"The file must contain tracing information in JSON format",children:Fr(Qa,{children:["Upload Files",Fr("input",{id:"json",type:"file",accept:"application/json",multiple:!0,title:" ",onChange:v})]})})]})};return Fr("div",{className:"vm-trace-page",children:[Fr("div",{className:"vm-trace-page-header",children:[Fr("div",{className:"vm-trace-page-header-errors",children:u.map((function(e,t){return Fr("div",{className:"vm-trace-page-header-errors-item",children:[Fr(Ra,{variant:"error",children:[Fr("b",{className:"vm-trace-page-header-errors-item__filename",children:e.filename}),Fr("span",{children:e.text})]}),Fr(Qa,{className:"vm-trace-page-header-errors-item__close",startIcon:Fr(Si,{}),variant:"text",color:"error",onClick:m(t)})]},"".concat(e,"_").concat(t))}))}),Fr("div",{children:c&&Fr(y,{})})]}),c&&Fr("div",{children:Fr(Ef,{jsonEditor:!0,traces:i,onDeleteClick:function(e){var t=i.filter((function(t){return t.idValue!==e.idValue}));a(Nt(t))}})}),!c&&Fr("div",{className:"vm-trace-page-preview",children:[Fr("p",{className:"vm-trace-page-preview__text",children:["Please, upload file with JSON response content.","\n","The file must contain tracing information in JSON format.","\n","In order to use tracing please refer to the doc:\xa0",Fr("a",{className:"vm-link vm-link_colored",href:"https://docs.victoriametrics.com/#query-tracing",target:"_blank",rel:"noreferrer",children:"https://docs.victoriametrics.com/#query-tracing"}),"\n","Tracing graph will be displayed after file upload."]}),Fr(y,{})]}),t&&Fr(mo,{title:"Paste JSON",onClose:d,children:Fr(Cf,{editable:!0,displayTitle:!0,defaultTile:"JSON ".concat(i.length+1),onClose:d,onUpload:p})})]})},lh=function(e){var t=Tr().serverUrl,n=yi().period,r=St(ee([]),2),i=r[0],a=r[1],o=St(ee(!1),2),u=o[0],l=o[1],c=St(ee(),2),s=c[0],f=c[1],d=oe((function(){return function(e,t,n){var r="{job=".concat(JSON.stringify(n),"}");return"".concat(e,"/api/v1/label/instance/values?match[]=").concat(encodeURIComponent(r),"&start=").concat(t.start,"&end=").concat(t.end)}(t,n,e)}),[t,n,e]);return ne((function(){if(e){var t=function(){var e=Bo(To().mark((function e(){var t,n,r;return To().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return l(!0),e.prev=1,e.next=4,fetch(d);case 4:return t=e.sent,e.next=7,t.json();case 7:n=e.sent,r=n.data||[],a(r.sort((function(e,t){return e.localeCompare(t)}))),t.ok?f(void 0):f("".concat(n.errorType,"\r\n").concat(null===n||void 0===n?void 0:n.error)),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(1),e.t0 instanceof Error&&f("".concat(e.t0.name,": ").concat(e.t0.message));case 16:l(!1);case 17:case"end":return e.stop()}}),e,null,[[1,13]])})));return function(){return e.apply(this,arguments)}}();t().catch(console.error)}}),[d]),{instances:i,isLoading:u,error:s}},ch=function(e,t){var n=Tr().serverUrl,r=yi().period,i=St(ee([]),2),a=i[0],o=i[1],u=St(ee(!1),2),l=u[0],c=u[1],s=St(ee(),2),f=s[0],d=s[1],h=oe((function(){return function(e,t,n,r){var i=Object.entries({job:n,instance:r}).filter((function(e){return e[1]})).map((function(e){var t=St(e,2),n=t[0],r=t[1];return"".concat(n,"=").concat(JSON.stringify(r))})).join(","),a="{".concat(i,"}");return"".concat(e,"/api/v1/label/__name__/values?match[]=").concat(encodeURIComponent(a),"&start=").concat(t.start,"&end=").concat(t.end)}(n,r,e,t)}),[n,r,e,t]);return ne((function(){if(e){var t=function(){var e=Bo(To().mark((function e(){var t,n,r;return To().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return c(!0),e.prev=1,e.next=4,fetch(h);case 4:return t=e.sent,e.next=7,t.json();case 7:n=e.sent,r=n.data||[],o(r.sort((function(e,t){return e.localeCompare(t)}))),t.ok?d(void 0):d("".concat(n.errorType,"\r\n").concat(null===n||void 0===n?void 0:n.error)),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(1),e.t0 instanceof Error&&d("".concat(e.t0.name,": ").concat(e.t0.message));case 16:c(!1);case 17:case"end":return e.stop()}}),e,null,[[1,13]])})));return function(){return e.apply(this,arguments)}}();t().catch(console.error)}}),[h]),{names:a,isLoading:l,error:f}},sh=function(e){var t=e.name,n=e.job,r=e.instance,i=e.rateEnabled,a=e.isBucket,o=e.height,u=Ea(),l=u.customStep,c=u.yaxis,s=yi().period,f=Sa(),d=gi(),h=St(ee(!1),2),p=h[0],v=h[1],m=oe((function(){var e=Object.entries({job:n,instance:r}).filter((function(e){return e[1]})).map((function(e){var t=St(e,2),n=t[0],r=t[1];return"".concat(n,"=").concat(JSON.stringify(r))}));e.push("__name__=".concat(JSON.stringify(t))),"node_cpu_seconds_total"==t&&e.push('mode!="idle"');var o="{".concat(e.join(","),"}");if(a)return r?'\nlabel_map(\n histogram_quantiles("__name__", 0.5, 0.95, 0.99, sum(rate('.concat(o,')) by (vmrange, le)),\n "__name__",\n "0.5", "q50",\n "0.95", "q95",\n "0.99", "q99",\n)'):"\nwith (q = histogram_quantile(0.95, sum(rate(".concat(o,')) by (instance, vmrange, le))) (\n alias(min(q), "q95min"),\n alias(max(q), "q95max"),\n alias(avg(q), "q95avg"),\n)');var u=i?"rollup_rate(".concat(o,")"):"rollup(".concat(o,")");return"\nwith (q = ".concat(u,') (\n alias(min(label_match(q, "rollup", "min")), "min"),\n alias(max(label_match(q, "rollup", "max")), "max"),\n alias(avg(label_match(q, "rollup", "avg")), "avg"),\n)')}),[t,n,r,i,a]),y=yf({predefinedQuery:[m],visible:!0,customStep:l,showAllSeries:p}),g=y.isLoading,_=y.graphData,b=y.error,D=y.warning;return Fr("div",{className:"vm-explore-metrics-graph",children:[g&&Fr(wf,{}),b&&Fr(Ra,{variant:"error",children:b}),D&&Fr(Ra,{variant:"warning",children:Fr("div",{className:"vm-explore-metrics-graph__warning",children:[Fr("p",{children:D}),Fr(Qa,{color:"warning",variant:"outlined",onClick:function(){v(!0)},children:"Show all"})]})}),_&&s&&Fr(nf,{data:_,period:s,customStep:l,query:[m],yaxis:c,setYaxisLimits:function(e){f({type:"SET_YAXIS_LIMITS",payload:e})},setPeriod:function(e){var t=e.from,n=e.to;d({type:"SET_PERIOD",payload:{from:t,to:n}})},showLegend:!1,height:o})]})},fh=function(e){var t=e.name,n=e.index,r=e.isBucket,i=e.rateEnabled,a=e.onChangeRate,o=e.onRemoveItem,u=e.onChangeOrder;return Fr("div",{className:"vm-explore-metrics-item-header",children:[Fr("div",{className:"vm-explore-metrics-item-header-order",children:[Fr(Za,{title:"move graph up",children:Fr(Qa,{className:"vm-explore-metrics-item-header-order__up",startIcon:Fr(Ii,{}),variant:"text",color:"gray",size:"small",onClick:function(){u(t,n,n-1)}})}),Fr("div",{className:"vm-explore-metrics-item-header__index",children:["#",n+1]}),Fr(Za,{title:"move graph down",children:Fr(Qa,{className:"vm-explore-metrics-item-header-order__down",startIcon:Fr(Ii,{}),variant:"text",color:"gray",size:"small",onClick:function(){u(t,n,n+1)}})})]}),Fr("div",{className:"vm-explore-metrics-item-header__name",children:t}),!r&&Fr(Za,{title:"calculates the average per-second speed of metric's change",children:Fr(cf,{label:Fr("span",{children:["enable ",Fr("code",{children:"rate()"})]}),value:i,onChange:a})}),Fr("div",{className:"vm-explore-metrics-item-header__layout",children:Fr(Za,{title:"close graph",children:Fr(Qa,{startIcon:Fr(Si,{}),variant:"text",color:"gray",size:"small",onClick:function(){o(t)}})})})]})},dh=function(e){var t=e.name,n=e.job,r=e.instance,i=e.index,a=e.size,o=e.onRemoveItem,u=e.onChangeOrder,l=oe((function(){return/_sum?|_total?|_count?/.test(t)}),[t]),c=oe((function(){return/_bucket?/.test(t)}),[t]),s=St(ee(l),2),f=s[0],d=s[1],h=oa(document.body),p=oe(a.height,[a,h]);return ne((function(){d(l)}),[n]),Fr("div",{className:"vm-explore-metrics-item vm-block vm-block_empty-padding",children:[Fr(fh,{name:t,index:i,isBucket:c,rateEnabled:f,size:a.id,onChangeRate:d,onRemoveItem:o,onChangeOrder:u}),Fr(sh,{name:t,job:n,instance:r,rateEnabled:f,isBucket:c,height:p},"".concat(t,"_").concat(n,"_").concat(r,"_").concat(f))]})},hh=function(e){var t=e.value,n=e.list,r=e.label,i=e.placeholder,a=e.noOptionsText,o=e.clearable,u=void 0!==o&&o,l=e.autofocus,c=e.onChange,s=St(ee(""),2),f=s[0],d=s[1],h=ie(null),p=St(ee(!1),2),v=p[0],m=p[1],y=ie(null),g=oe((function(){return Array.isArray(t)}),[t]),_=oe((function(){return Array.isArray(t)?t:void 0}),[g,t]),b=oe((function(){return v?f:Array.isArray(t)?"":t}),[t,f,v,g]),D=oe((function(){return v?f||"(.+)":""}),[f,v]),w=function(){y.current&&y.current.blur()},x=function(e){c(e),g||(m(!1),w()),g&&y.current&&y.current.focus()},A=function(e){return function(t){x(e),t.stopPropagation()}},k=function(e){y.current!==e.target&&m(!1)};return ne((function(){d(""),v&&y.current&&y.current.focus(),v||w()}),[v,y]),ne((function(){l&&y.current&&y.current.focus()}),[l,y]),ne((function(){return window.addEventListener("keyup",k),function(){window.removeEventListener("keyup",k)}}),[]),Fr("div",{className:"vm-select",children:[Fr("div",{className:"vm-select-input",onClick:function(e){e.target instanceof HTMLInputElement||m((function(e){return!e}))},ref:h,children:[Fr("div",{className:"vm-select-input-content",children:[_&&_.map((function(e){return Fr("div",{className:"vm-select-input-content__selected",children:[e,Fr("div",{onClick:A(e),children:Fr(Si,{})})]},e)})),Fr("input",{value:b,type:"text",placeholder:i,onInput:function(e){d(e.target.value)},onFocus:function(){m(!0)},ref:y})]}),r&&Fr("span",{className:"vm-text-field__label",children:r}),u&&t&&Fr("div",{className:"vm-select-input__icon",onClick:A(""),children:Fr(Si,{})}),Fr("div",{className:la()({"vm-select-input__icon":!0,"vm-select-input__icon_open":v}),children:Fr(Li,{})})]}),Fr(rf,{value:D,options:n,anchor:h,selected:_,maxWords:10,minLength:0,fullWidth:!0,noOptionsText:a,onSelect:x,onOpenAutocomplete:m})]})},ph=Ar.map((function(e){return e.id})),vh=function(e){var t=e.jobs,n=e.instances,r=e.names,i=e.job,a=e.instance,o=e.size,u=e.selectedMetrics,l=e.onChangeJob,c=e.onChangeInstance,s=e.onToggleMetric,f=e.onChangeSize,d=oe((function(){return i?"":"No instances. Please select job"}),[i]),h=oe((function(){return i?"":"No metric names. Please select job"}),[i]);return Fr("div",{className:"vm-explore-metrics-header vm-block",children:[Fr("div",{className:"vm-explore-metrics-header__job",children:Fr(hh,{value:i,list:t,label:"Job",placeholder:"Please select job",onChange:l,autofocus:!i})}),Fr("div",{className:"vm-explore-metrics-header__instance",children:Fr(hh,{value:a,list:n,label:"Instance",placeholder:"Please select instance",onChange:c,noOptionsText:d,clearable:!0})}),Fr("div",{className:"vm-explore-metrics-header__size",children:Fr(hh,{label:"Size graphs",value:o,list:ph,onChange:f})}),Fr("div",{className:"vm-explore-metrics-header-metrics",children:Fr(hh,{value:u,list:r,placeholder:"Search metric name",onChange:s,noOptionsText:h,clearable:!0})})]})},mh=Cr("job",""),yh=Cr("instance",""),gh=Cr("metrics",""),_h=Cr("size",""),bh=Ar.find((function(e){return _h?e.id===_h:e.isDefault}))||Ar[0],Dh=function(){var e=St(ee(mh),2),t=e[0],n=e[1],r=St(ee(yh),2),i=r[0],a=r[1],o=St(ee(gh?gh.split("&"):[]),2),u=o[0],l=o[1],c=St(ee(bh),2),s=c[0],f=c[1];!function(e){var t=e.job,n=e.instance,r=e.metrics,i=e.size,a=yi(),o=a.duration,u=a.relativeTime,l=a.period.date,c=Ea().customStep,s=function(){var e,a=Tf((sr(e={},"g0.range_input",o),sr(e,"g0.end_input",l),sr(e,"g0.step_input",c),sr(e,"g0.relative_time",u),sr(e,"size",i),sr(e,"job",t),sr(e,"instance",n),sr(e,"metrics",r),e));kr(a)};ne(s,[o,u,l,c,t,n,r,i]),ne(s,[])}({job:t,instance:i,metrics:u.join("&"),size:s.id});var d=function(){var e=Tr().serverUrl,t=yi().period,n=St(ee([]),2),r=n[0],i=n[1],a=St(ee(!1),2),o=a[0],u=a[1],l=St(ee(),2),c=l[0],s=l[1],f=oe((function(){return function(e,t){return"".concat(e,"/api/v1/label/job/values?start=").concat(t.start,"&end=").concat(t.end)}(e,t)}),[e,t]);return ne((function(){var e=function(){var e=Bo(To().mark((function e(){var t,n,r;return To().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u(!0),e.prev=1,e.next=4,fetch(f);case 4:return t=e.sent,e.next=7,t.json();case 7:n=e.sent,r=n.data||[],i(r.sort((function(e,t){return e.localeCompare(t)}))),t.ok?s(void 0):s("".concat(n.errorType,"\r\n").concat(null===n||void 0===n?void 0:n.error)),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(1),e.t0 instanceof Error&&s("".concat(e.t0.name,": ").concat(e.t0.message));case 16:u(!1);case 17:case"end":return e.stop()}}),e,null,[[1,13]])})));return function(){return e.apply(this,arguments)}}();e().catch(console.error)}),[f]),{jobs:r,isLoading:o,error:c}}(),h=d.jobs,p=d.isLoading,v=d.error,m=lh(t),y=m.instances,g=m.isLoading,_=m.error,b=ch(t,i),D=b.names,w=b.isLoading,x=b.error,A=oe((function(){return p||g||w}),[p,g,w]),k=oe((function(){return v||_||x}),[v,_,x]),C=function(e){l(e?function(t){return t.includes(e)?t.filter((function(t){return t!==e})):[].concat(Nt(t),[e])}:[])},E=function(e,t,n){var r=n>u.length-1;n<0||r||l((function(e){var r=Nt(e),i=St(r.splice(t,1),1)[0];return r.splice(n,0,i),r}))};return ne((function(){i&&y.length&&!y.includes(i)&&a("")}),[y,i]),Fr("div",{className:"vm-explore-metrics",children:[Fr(vh,{jobs:h,instances:y,names:D,job:t,size:s.id,instance:i,selectedMetrics:u,onChangeJob:n,onChangeSize:function(e){var t=Ar.find((function(t){return t.id===e}));t&&f(t)},onChangeInstance:a,onToggleMetric:C}),A&&Fr(wf,{}),k&&Fr(Ra,{variant:"error",children:k}),!t&&Fr(Ra,{variant:"info",children:"Please select job to see list of metric names."}),t&&!u.length&&Fr(Ra,{variant:"info",children:"Please select metric names to see the graphs."}),Fr("div",{className:"vm-explore-metrics-body",children:u.map((function(e,n){return Fr(dh,{name:e,job:t,instance:i,index:n,size:s,onRemoveItem:C,onChangeOrder:E},e)}))})]})},wh=function(){var e=$a().showInfoMessage,n=function(t){return function(){var n;n=t,navigator.clipboard.writeText("<".concat(n,"/>")),e({text:"<".concat(n,"/> has been copied"),type:"success"})}};return Fr("div",{className:"vm-preview-icons",children:Object.entries(t).map((function(e){var t=St(e,2),r=t[0],i=t[1];return Fr("div",{className:"vm-preview-icons-item",onClick:n(r),children:[Fr("div",{className:"vm-preview-icons-item__svg",children:i()}),Fr("div",{className:"vm-preview-icons-item__name",children:"<".concat(r,"/>")})]},r)}))})},xh=function(){var e=St(ee(!0),2),t=e[0],n=e[1];return Fr(y,t?{children:[Fr(wf,{}),Fr(oh,{setLoadingTheme:n}),";"]}:{children:Fr(ir,{children:Fr(Wa,{children:Fr(Kn,{children:Fr(Jn,{path:"/",element:Fr(Po,{}),children:[Fr(Jn,{path:mr.home,element:Fr(If,{})}),Fr(Jn,{path:mr.metrics,element:Fr(Dh,{})}),Fr(Jn,{path:mr.cardinality,element:Fr(eh,{})}),Fr(Jn,{path:mr.topQueries,element:Fr(ih,{})}),Fr(Jn,{path:mr.trace,element:Fr(uh,{})}),Fr(Jn,{path:mr.dashboards,element:Fr(wd,{})}),Fr(Jn,{path:mr.icons,element:Fr(wh,{})})]})})})})})},Ah=function(e){e&&n.e(27).then(n.bind(n,27)).then((function(t){var n=t.getCLS,r=t.getFID,i=t.getFCP,a=t.getLCP,o=t.getTTFB;n(e),r(e),i(e),a(e),o(e)}))},kh=document.getElementById("root");kh&&Ve(Fr(xh,{}),kh),Ah()}()}();
\ No newline at end of file
diff --git a/app/vmselect/vmui/static/js/main.58fe7908.js.LICENSE.txt b/app/vmselect/vmui/static/js/main.1635e498.js.LICENSE.txt
similarity index 100%
rename from app/vmselect/vmui/static/js/main.58fe7908.js.LICENSE.txt
rename to app/vmselect/vmui/static/js/main.1635e498.js.LICENSE.txt
diff --git a/app/vmselect/vmui/static/js/main.58fe7908.js b/app/vmselect/vmui/static/js/main.58fe7908.js
deleted file mode 100644
index ed7167931d..0000000000
--- a/app/vmselect/vmui/static/js/main.58fe7908.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see main.58fe7908.js.LICENSE.txt */
-!function(){var e={680:function(e,t,n){"use strict";var r=n(476),i=n(962),o=i(r("String.prototype.indexOf"));e.exports=function(e,t){var n=r(e,!!t);return"function"===typeof n&&o(e,".prototype.")>-1?i(n):n}},962:function(e,t,n){"use strict";var r=n(199),i=n(476),o=i("%Function.prototype.apply%"),a=i("%Function.prototype.call%"),u=i("%Reflect.apply%",!0)||r.call(a,o),l=i("%Object.getOwnPropertyDescriptor%",!0),c=i("%Object.defineProperty%",!0),s=i("%Math.max%");if(c)try{c({},"a",{value:1})}catch(d){c=null}e.exports=function(e){var t=u(r,a,arguments);if(l&&c){var n=l(t,"length");n.configurable&&c(t,"length",{value:1+s(0,e.length-(arguments.length-1))})}return t};var f=function(){return u(r,o,arguments)};c?c(e.exports,"apply",{value:f}):e.exports.apply=f},123:function(e,t){var n;!function(){"use strict";var r={}.hasOwnProperty;function i(){for(var e=[],t=0;t=t?e:""+Array(t+1-r.length).join(n)+e},g={s:y,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),i=n%60;return(t<=0?"+":"-")+y(r,2,"0")+":"+y(i,2,"0")},m:function e(t,n){if(t.date()1)return e(a[0])}else{var u=t.name;b[u]=t,i=u}return!r&&i&&(_=i),i||!r&&_},x=function(e,t){if(D(e))return e.clone();var n="object"==typeof t?t:{};return n.date=e,n.args=arguments,new C(n)},k=g;k.l=w,k.i=D,k.w=function(e,t){return x(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var C=function(){function m(e){this.$L=w(e.locale,null,!0),this.parse(e)}var y=m.prototype;return y.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(null===t)return new Date(NaN);if(k.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var r=t.match(p);if(r){var i=r[2]-1||0,o=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,o)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,o)}}return new Date(t)}(e),this.$x=e.x||{},this.init()},y.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},y.$utils=function(){return k},y.isValid=function(){return!(this.$d.toString()===h)},y.isSame=function(e,t){var n=x(e);return this.startOf(t)<=n&&n<=this.endOf(t)},y.isAfter=function(e,t){return x(e)=0&&(o[f]=parseInt(s,10))}var d=o[3],h=24===d?0:d,p=o[0]+"-"+o[1]+"-"+o[2]+" "+h+":"+o[4]+":"+o[5]+":000",v=+t;return(i.utc(p).valueOf()-(v-=v%1e3))/6e4},l=r.prototype;l.tz=function(e,t){void 0===e&&(e=o);var n=this.utcOffset(),r=this.toDate(),a=r.toLocaleString("en-US",{timeZone:e}),u=Math.round((r-new Date(a))/1e3/60),l=i(a).$set("millisecond",this.$ms).utcOffset(15*-Math.round(r.getTimezoneOffset()/15)-u,!0);if(t){var c=l.utcOffset();l=l.add(n-c,"minute")}return l.$x.$timezone=e,l},l.offsetName=function(e){var t=this.$x.$timezone||i.tz.guess(),n=a(this.valueOf(),t,{timeZoneName:e}).find((function(e){return"timezonename"===e.type.toLowerCase()}));return n&&n.value};var c=l.startOf;l.startOf=function(e,t){if(!this.$x||!this.$x.$timezone)return c.call(this,e,t);var n=i(this.format("YYYY-MM-DD HH:mm:ss:SSS"));return c.call(n,e,t).tz(this.$x.$timezone,!0)},i.tz=function(e,t,n){var r=n&&t,a=n||t||o,l=u(+i(),a);if("string"!=typeof e)return i(e).tz(a);var c=function(e,t,n){var r=e-60*t*1e3,i=u(r,n);if(t===i)return[r,t];var o=u(r-=60*(i-t)*1e3,n);return i===o?[r,i]:[e-60*Math.min(i,o)*1e3,Math.max(i,o)]}(i.utc(e,r).valueOf(),l,a),s=c[0],f=c[1],d=i(s).utcOffset(f);return d.$x.$timezone=a,d},i.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},i.tz.setDefault=function(e){o=e}}}()},635:function(e){e.exports=function(){"use strict";var e="minute",t=/[+-]\d\d(?::?\d\d)?/g,n=/([+-]|\d\d)/g;return function(r,i,o){var a=i.prototype;o.utc=function(e){return new i({date:e,utc:!0,args:arguments})},a.utc=function(t){var n=o(this.toDate(),{locale:this.$L,utc:!0});return t?n.add(this.utcOffset(),e):n},a.local=function(){return o(this.toDate(),{locale:this.$L,utc:!1})};var u=a.parse;a.parse=function(e){e.utc&&(this.$u=!0),this.$utils().u(e.$offset)||(this.$offset=e.$offset),u.call(this,e)};var l=a.init;a.init=function(){if(this.$u){var e=this.$d;this.$y=e.getUTCFullYear(),this.$M=e.getUTCMonth(),this.$D=e.getUTCDate(),this.$W=e.getUTCDay(),this.$H=e.getUTCHours(),this.$m=e.getUTCMinutes(),this.$s=e.getUTCSeconds(),this.$ms=e.getUTCMilliseconds()}else l.call(this)};var c=a.utcOffset;a.utcOffset=function(r,i){var o=this.$utils().u;if(o(r))return this.$u?0:o(this.$offset)?c.call(this):this.$offset;if("string"==typeof r&&(r=function(e){void 0===e&&(e="");var r=e.match(t);if(!r)return null;var i=(""+r[0]).match(n)||["-",0,0],o=i[0],a=60*+i[1]+ +i[2];return 0===a?0:"+"===o?a:-a}(r),null===r))return this;var a=Math.abs(r)<=16?60*r:r,u=this;if(i)return u.$offset=a,u.$u=0===r,u;if(0!==r){var l=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(u=this.local().add(a+l,e)).$offset=a,u.$x.$localOffset=l}else u=this.utc();return u};var s=a.format;a.format=function(e){var t=e||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return s.call(this,t)},a.valueOf=function(){var e=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*e},a.isUTC=function(){return!!this.$u},a.toISOString=function(){return this.toDate().toISOString()},a.toString=function(){return this.toDate().toUTCString()};var f=a.toDate;a.toDate=function(e){return"s"===e&&this.$offset?o(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():f.call(this)};var d=a.diff;a.diff=function(e,t,n){if(e&&this.$u===e.$u)return d.call(this,e,t,n);var r=this.local(),i=o(e).local();return d.call(r,i,t,n)}}}()},781:function(e){"use strict";var t="Function.prototype.bind called on incompatible ",n=Array.prototype.slice,r=Object.prototype.toString,i="[object Function]";e.exports=function(e){var o=this;if("function"!==typeof o||r.call(o)!==i)throw new TypeError(t+o);for(var a,u=n.call(arguments,1),l=function(){if(this instanceof a){var t=o.apply(this,u.concat(n.call(arguments)));return Object(t)===t?t:this}return o.apply(e,u.concat(n.call(arguments)))},c=Math.max(0,o.length-u.length),s=[],f=0;f1&&"boolean"!==typeof t)throw new a('"allowMissing" argument must be a boolean');if(null===k(/^%?[^%]*%?$/,e))throw new i("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=S(e),r=n.length>0?n[0]:"",o=A("%"+r+"%",t),u=o.name,c=o.value,s=!1,f=o.alias;f&&(r=f[0],D(n,b([0,1],f)));for(var d=1,h=!0;d=n.length){var g=l(c,p);c=(h=!!g)&&"get"in g&&!("originalValue"in g.get)?g.get:c[p]}else h=_(c,p),c=c[p];h&&!s&&(v[u]=c)}}return c}},520:function(e,t,n){"use strict";var r="undefined"!==typeof Symbol&&Symbol,i=n(541);e.exports=function(){return"function"===typeof r&&("function"===typeof Symbol&&("symbol"===typeof r("foo")&&("symbol"===typeof Symbol("bar")&&i())))}},541:function(e){"use strict";e.exports=function(){if("function"!==typeof Symbol||"function"!==typeof Object.getOwnPropertySymbols)return!1;if("symbol"===typeof Symbol.iterator)return!0;var e={},t=Symbol("test"),n=Object(t);if("string"===typeof t)return!1;if("[object Symbol]"!==Object.prototype.toString.call(t))return!1;if("[object Symbol]"!==Object.prototype.toString.call(n))return!1;for(t in e[t]=42,e)return!1;if("function"===typeof Object.keys&&0!==Object.keys(e).length)return!1;if("function"===typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var r=Object.getOwnPropertySymbols(e);if(1!==r.length||r[0]!==t)return!1;if(!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"===typeof Object.getOwnPropertyDescriptor){var i=Object.getOwnPropertyDescriptor(e,t);if(42!==i.value||!0!==i.enumerable)return!1}return!0}},838:function(e,t,n){"use strict";var r=n(199);e.exports=r.call(Function.call,Object.prototype.hasOwnProperty)},936:function(e,t,n){var r=/^\s+|\s+$/g,i=/^[-+]0x[0-9a-f]+$/i,o=/^0b[01]+$/i,a=/^0o[0-7]+$/i,u=parseInt,l="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,c="object"==typeof self&&self&&self.Object===Object&&self,s=l||c||Function("return this")(),f=Object.prototype.toString,d=Math.max,h=Math.min,p=function(){return s.Date.now()};function v(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function m(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==f.call(e)}(e))return NaN;if(v(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=v(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(r,"");var n=o.test(e);return n||a.test(e)?u(e.slice(2),n?2:8):i.test(e)?NaN:+e}e.exports=function(e,t,n){var r,i,o,a,u,l,c=0,s=!1,f=!1,y=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function g(t){var n=r,o=i;return r=i=void 0,c=t,a=e.apply(o,n)}function _(e){return c=e,u=setTimeout(D,t),s?g(e):a}function b(e){var n=e-l;return void 0===l||n>=t||n<0||f&&e-c>=o}function D(){var e=p();if(b(e))return w(e);u=setTimeout(D,function(e){var n=t-(e-l);return f?h(n,o-(e-c)):n}(e))}function w(e){return u=void 0,y&&r?g(e):(r=i=void 0,a)}function x(){var e=p(),n=b(e);if(r=arguments,i=this,l=e,n){if(void 0===u)return _(l);if(f)return u=setTimeout(D,t),g(l)}return void 0===u&&(u=setTimeout(D,t)),a}return t=m(t)||0,v(n)&&(s=!!n.leading,o=(f="maxWait"in n)?d(m(n.maxWait)||0,t):o,y="trailing"in n?!!n.trailing:y),x.cancel=function(){void 0!==u&&clearTimeout(u),c=0,r=l=i=u=void 0},x.flush=function(){return void 0===u?a:w(p())},x}},7:function(e,t,n){var r="__lodash_hash_undefined__",i="[object Function]",o="[object GeneratorFunction]",a=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,u=/^\w*$/,l=/^\./,c=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,s=/\\(\\)?/g,f=/^\[object .+?Constructor\]$/,d="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,h="object"==typeof self&&self&&self.Object===Object&&self,p=d||h||Function("return this")();var v=Array.prototype,m=Function.prototype,y=Object.prototype,g=p["__core-js_shared__"],_=function(){var e=/[^.]+$/.exec(g&&g.keys&&g.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),b=m.toString,D=y.hasOwnProperty,w=y.toString,x=RegExp("^"+b.call(D).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),k=p.Symbol,C=v.splice,E=P(p,"Map"),S=P(Object,"create"),A=k?k.prototype:void 0,N=A?A.toString:void 0;function F(e){var t=-1,n=e?e.length:0;for(this.clear();++t-1},O.prototype.set=function(e,t){var n=this.__data__,r=M(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},T.prototype.clear=function(){this.__data__={hash:new F,map:new(E||O),string:new F}},T.prototype.delete=function(e){return I(this,e).delete(e)},T.prototype.get=function(e){return I(this,e).get(e)},T.prototype.has=function(e){return I(this,e).has(e)},T.prototype.set=function(e,t){return I(this,e).set(e,t),this};var z=j((function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(H(e))return N?N.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(t);var n=[];return l.test(e)&&n.push(""),e.replace(c,(function(e,t,r,i){n.push(r?i.replace(s,"$1"):t||e)})),n}));function R(e){if("string"==typeof e||H(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function j(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function n(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=e.apply(this,r);return n.cache=o.set(i,a),a};return n.cache=new(j.Cache||T),n}j.Cache=T;var $=Array.isArray;function U(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function H(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==w.call(e)}e.exports=function(e,t,n){var r=null==e?void 0:B(e,t);return void 0===r?n:r}},61:function(e,t,n){var r="Expected a function",i=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,u=/^0o[0-7]+$/i,l=parseInt,c="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,s="object"==typeof self&&self&&self.Object===Object&&self,f=c||s||Function("return this")(),d=Object.prototype.toString,h=Math.max,p=Math.min,v=function(){return f.Date.now()};function m(e,t,n){var i,o,a,u,l,c,s=0,f=!1,d=!1,m=!0;if("function"!=typeof e)throw new TypeError(r);function _(t){var n=i,r=o;return i=o=void 0,s=t,u=e.apply(r,n)}function b(e){return s=e,l=setTimeout(w,t),f?_(e):u}function D(e){var n=e-c;return void 0===c||n>=t||n<0||d&&e-s>=a}function w(){var e=v();if(D(e))return x(e);l=setTimeout(w,function(e){var n=t-(e-c);return d?p(n,a-(e-s)):n}(e))}function x(e){return l=void 0,m&&i?_(e):(i=o=void 0,u)}function k(){var e=v(),n=D(e);if(i=arguments,o=this,c=e,n){if(void 0===l)return b(c);if(d)return l=setTimeout(w,t),_(c)}return void 0===l&&(l=setTimeout(w,t)),u}return t=g(t)||0,y(n)&&(f=!!n.leading,a=(d="maxWait"in n)?h(g(n.maxWait)||0,t):a,m="trailing"in n?!!n.trailing:m),k.cancel=function(){void 0!==l&&clearTimeout(l),s=0,i=c=o=l=void 0},k.flush=function(){return void 0===l?u:x(v())},k}function y(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function g(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==d.call(e)}(e))return NaN;if(y(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=y(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(i,"");var n=a.test(e);return n||u.test(e)?l(e.slice(2),n?2:8):o.test(e)?NaN:+e}e.exports=function(e,t,n){var i=!0,o=!0;if("function"!=typeof e)throw new TypeError(r);return y(n)&&(i="leading"in n?!!n.leading:i,o="trailing"in n?!!n.trailing:o),m(e,t,{leading:i,maxWait:t,trailing:o})}},154:function(e,t,n){var r="function"===typeof Map&&Map.prototype,i=Object.getOwnPropertyDescriptor&&r?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,o=r&&i&&"function"===typeof i.get?i.get:null,a=r&&Map.prototype.forEach,u="function"===typeof Set&&Set.prototype,l=Object.getOwnPropertyDescriptor&&u?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,c=u&&l&&"function"===typeof l.get?l.get:null,s=u&&Set.prototype.forEach,f="function"===typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,d="function"===typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,h="function"===typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,p=Boolean.prototype.valueOf,v=Object.prototype.toString,m=Function.prototype.toString,y=String.prototype.match,g=String.prototype.slice,_=String.prototype.replace,b=String.prototype.toUpperCase,D=String.prototype.toLowerCase,w=RegExp.prototype.test,x=Array.prototype.concat,k=Array.prototype.join,C=Array.prototype.slice,E=Math.floor,S="function"===typeof BigInt?BigInt.prototype.valueOf:null,A=Object.getOwnPropertySymbols,N="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?Symbol.prototype.toString:null,F="function"===typeof Symbol&&"object"===typeof Symbol.iterator,O="function"===typeof Symbol&&Symbol.toStringTag&&(typeof Symbol.toStringTag===F||"symbol")?Symbol.toStringTag:null,T=Object.prototype.propertyIsEnumerable,M=("function"===typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(e){return e.__proto__}:null);function B(e,t){if(e===1/0||e===-1/0||e!==e||e&&e>-1e3&&e<1e3||w.call(/e/,t))return t;var n=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"===typeof e){var r=e<0?-E(-e):E(e);if(r!==e){var i=String(r),o=g.call(t,i.length+1);return _.call(i,n,"$&_")+"."+_.call(_.call(o,/([0-9]{3})/g,"$&_"),/_$/,"")}}return _.call(t,n,"$&_")}var L=n(654),I=L.custom,P=U(I)?I:null;function z(e,t,n){var r="double"===(n.quoteStyle||t)?'"':"'";return r+e+r}function R(e){return _.call(String(e),/"/g,""")}function j(e){return"[object Array]"===q(e)&&(!O||!("object"===typeof e&&O in e))}function $(e){return"[object RegExp]"===q(e)&&(!O||!("object"===typeof e&&O in e))}function U(e){if(F)return e&&"object"===typeof e&&e instanceof Symbol;if("symbol"===typeof e)return!0;if(!e||"object"!==typeof e||!N)return!1;try{return N.call(e),!0}catch(t){}return!1}e.exports=function e(t,n,r,i){var u=n||{};if(Y(u,"quoteStyle")&&"single"!==u.quoteStyle&&"double"!==u.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(Y(u,"maxStringLength")&&("number"===typeof u.maxStringLength?u.maxStringLength<0&&u.maxStringLength!==1/0:null!==u.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var l=!Y(u,"customInspect")||u.customInspect;if("boolean"!==typeof l&&"symbol"!==l)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(Y(u,"indent")&&null!==u.indent&&"\t"!==u.indent&&!(parseInt(u.indent,10)===u.indent&&u.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(Y(u,"numericSeparator")&&"boolean"!==typeof u.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var v=u.numericSeparator;if("undefined"===typeof t)return"undefined";if(null===t)return"null";if("boolean"===typeof t)return t?"true":"false";if("string"===typeof t)return W(t,u);if("number"===typeof t){if(0===t)return 1/0/t>0?"0":"-0";var b=String(t);return v?B(t,b):b}if("bigint"===typeof t){var w=String(t)+"n";return v?B(t,w):w}var E="undefined"===typeof u.depth?5:u.depth;if("undefined"===typeof r&&(r=0),r>=E&&E>0&&"object"===typeof t)return j(t)?"[Array]":"[Object]";var A=function(e,t){var n;if("\t"===e.indent)n="\t";else{if(!("number"===typeof e.indent&&e.indent>0))return null;n=k.call(Array(e.indent+1)," ")}return{base:n,prev:k.call(Array(t+1),n)}}(u,r);if("undefined"===typeof i)i=[];else if(V(i,t)>=0)return"[Circular]";function I(t,n,o){if(n&&(i=C.call(i)).push(n),o){var a={depth:u.depth};return Y(u,"quoteStyle")&&(a.quoteStyle=u.quoteStyle),e(t,a,r+1,i)}return e(t,u,r+1,i)}if("function"===typeof t&&!$(t)){var H=function(e){if(e.name)return e.name;var t=y.call(m.call(e),/^function\s*([\w$]+)/);if(t)return t[1];return null}(t),Q=X(t,I);return"[Function"+(H?": "+H:" (anonymous)")+"]"+(Q.length>0?" { "+k.call(Q,", ")+" }":"")}if(U(t)){var ee=F?_.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):N.call(t);return"object"!==typeof t||F?ee:J(ee)}if(function(e){if(!e||"object"!==typeof e)return!1;if("undefined"!==typeof HTMLElement&&e instanceof HTMLElement)return!0;return"string"===typeof e.nodeName&&"function"===typeof e.getAttribute}(t)){for(var te="<"+D.call(String(t.nodeName)),ne=t.attributes||[],re=0;re",t.childNodes&&t.childNodes.length&&(te+="..."),te+=""+D.call(String(t.nodeName))+">"}if(j(t)){if(0===t.length)return"[]";var ie=X(t,I);return A&&!function(e){for(var t=0;t=0)return!1;return!0}(ie)?"["+K(ie,A)+"]":"[ "+k.call(ie,", ")+" ]"}if(function(e){return"[object Error]"===q(e)&&(!O||!("object"===typeof e&&O in e))}(t)){var oe=X(t,I);return"cause"in Error.prototype||!("cause"in t)||T.call(t,"cause")?0===oe.length?"["+String(t)+"]":"{ ["+String(t)+"] "+k.call(oe,", ")+" }":"{ ["+String(t)+"] "+k.call(x.call("[cause]: "+I(t.cause),oe),", ")+" }"}if("object"===typeof t&&l){if(P&&"function"===typeof t[P]&&L)return L(t,{depth:E-r});if("symbol"!==l&&"function"===typeof t.inspect)return t.inspect()}if(function(e){if(!o||!e||"object"!==typeof e)return!1;try{o.call(e);try{c.call(e)}catch(te){return!0}return e instanceof Map}catch(t){}return!1}(t)){var ae=[];return a.call(t,(function(e,n){ae.push(I(n,t,!0)+" => "+I(e,t))})),Z("Map",o.call(t),ae,A)}if(function(e){if(!c||!e||"object"!==typeof e)return!1;try{c.call(e);try{o.call(e)}catch(t){return!0}return e instanceof Set}catch(n){}return!1}(t)){var ue=[];return s.call(t,(function(e){ue.push(I(e,t))})),Z("Set",c.call(t),ue,A)}if(function(e){if(!f||!e||"object"!==typeof e)return!1;try{f.call(e,f);try{d.call(e,d)}catch(te){return!0}return e instanceof WeakMap}catch(t){}return!1}(t))return G("WeakMap");if(function(e){if(!d||!e||"object"!==typeof e)return!1;try{d.call(e,d);try{f.call(e,f)}catch(te){return!0}return e instanceof WeakSet}catch(t){}return!1}(t))return G("WeakSet");if(function(e){if(!h||!e||"object"!==typeof e)return!1;try{return h.call(e),!0}catch(t){}return!1}(t))return G("WeakRef");if(function(e){return"[object Number]"===q(e)&&(!O||!("object"===typeof e&&O in e))}(t))return J(I(Number(t)));if(function(e){if(!e||"object"!==typeof e||!S)return!1;try{return S.call(e),!0}catch(t){}return!1}(t))return J(I(S.call(t)));if(function(e){return"[object Boolean]"===q(e)&&(!O||!("object"===typeof e&&O in e))}(t))return J(p.call(t));if(function(e){return"[object String]"===q(e)&&(!O||!("object"===typeof e&&O in e))}(t))return J(I(String(t)));if(!function(e){return"[object Date]"===q(e)&&(!O||!("object"===typeof e&&O in e))}(t)&&!$(t)){var le=X(t,I),ce=M?M(t)===Object.prototype:t instanceof Object||t.constructor===Object,se=t instanceof Object?"":"null prototype",fe=!ce&&O&&Object(t)===t&&O in t?g.call(q(t),8,-1):se?"Object":"",de=(ce||"function"!==typeof t.constructor?"":t.constructor.name?t.constructor.name+" ":"")+(fe||se?"["+k.call(x.call([],fe||[],se||[]),": ")+"] ":"");return 0===le.length?de+"{}":A?de+"{"+K(le,A)+"}":de+"{ "+k.call(le,", ")+" }"}return String(t)};var H=Object.prototype.hasOwnProperty||function(e){return e in this};function Y(e,t){return H.call(e,t)}function q(e){return v.call(e)}function V(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0,r=e.length;nt.maxStringLength){var n=e.length-t.maxStringLength,r="... "+n+" more character"+(n>1?"s":"");return W(g.call(e,0,t.maxStringLength),t)+r}return z(_.call(_.call(e,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,Q),"single",t)}function Q(e){var t=e.charCodeAt(0),n={8:"b",9:"t",10:"n",12:"f",13:"r"}[t];return n?"\\"+n:"\\x"+(t<16?"0":"")+b.call(t.toString(16))}function J(e){return"Object("+e+")"}function G(e){return e+" { ? }"}function Z(e,t,n,r){return e+" ("+t+") {"+(r?K(n,r):k.call(n,", "))+"}"}function K(e,t){if(0===e.length)return"";var n="\n"+t.prev+t.base;return n+k.call(e,","+n)+"\n"+t.prev}function X(e,t){var n=j(e),r=[];if(n){r.length=e.length;for(var i=0;i-1?e.split(","):e},c=function(e,t,n,r){if(e){var o=n.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,a=/(\[[^[\]]*])/g,u=n.depth>0&&/(\[[^[\]]*])/.exec(o),c=u?o.slice(0,u.index):o,s=[];if(c){if(!n.plainObjects&&i.call(Object.prototype,c)&&!n.allowPrototypes)return;s.push(c)}for(var f=0;n.depth>0&&null!==(u=a.exec(o))&&f=0;--o){var a,u=e[o];if("[]"===u&&n.parseArrays)a=[].concat(i);else{a=n.plainObjects?Object.create(null):{};var c="["===u.charAt(0)&&"]"===u.charAt(u.length-1)?u.slice(1,-1):u,s=parseInt(c,10);n.parseArrays||""!==c?!isNaN(s)&&u!==c&&String(s)===c&&s>=0&&n.parseArrays&&s<=n.arrayLimit?(a=[])[s]=i:"__proto__"!==c&&(a[c]=i):a={0:i}}i=a}return i}(s,t,n,r)}};e.exports=function(e,t){var n=function(e){if(!e)return a;if(null!==e.decoder&&void 0!==e.decoder&&"function"!==typeof e.decoder)throw new TypeError("Decoder has to be a function.");if("undefined"!==typeof e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var t="undefined"===typeof e.charset?a.charset:e.charset;return{allowDots:"undefined"===typeof e.allowDots?a.allowDots:!!e.allowDots,allowPrototypes:"boolean"===typeof e.allowPrototypes?e.allowPrototypes:a.allowPrototypes,allowSparse:"boolean"===typeof e.allowSparse?e.allowSparse:a.allowSparse,arrayLimit:"number"===typeof e.arrayLimit?e.arrayLimit:a.arrayLimit,charset:t,charsetSentinel:"boolean"===typeof e.charsetSentinel?e.charsetSentinel:a.charsetSentinel,comma:"boolean"===typeof e.comma?e.comma:a.comma,decoder:"function"===typeof e.decoder?e.decoder:a.decoder,delimiter:"string"===typeof e.delimiter||r.isRegExp(e.delimiter)?e.delimiter:a.delimiter,depth:"number"===typeof e.depth||!1===e.depth?+e.depth:a.depth,ignoreQueryPrefix:!0===e.ignoreQueryPrefix,interpretNumericEntities:"boolean"===typeof e.interpretNumericEntities?e.interpretNumericEntities:a.interpretNumericEntities,parameterLimit:"number"===typeof e.parameterLimit?e.parameterLimit:a.parameterLimit,parseArrays:!1!==e.parseArrays,plainObjects:"boolean"===typeof e.plainObjects?e.plainObjects:a.plainObjects,strictNullHandling:"boolean"===typeof e.strictNullHandling?e.strictNullHandling:a.strictNullHandling}}(t);if(""===e||null===e||"undefined"===typeof e)return n.plainObjects?Object.create(null):{};for(var s="string"===typeof e?function(e,t){var n,c={},s=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,f=t.parameterLimit===1/0?void 0:t.parameterLimit,d=s.split(t.delimiter,f),h=-1,p=t.charset;if(t.charsetSentinel)for(n=0;n-1&&(m=o(m)?[m]:m),i.call(c,v)?c[v]=r.combine(c[v],m):c[v]=m}return c}(e,n):e,f=n.plainObjects?Object.create(null):{},d=Object.keys(s),h=0;h0?C.join(",")||null:void 0}];else if(l(h))B=h;else{var I=Object.keys(C);B=m?I.sort(m):I}for(var P=a&&l(C)&&1===C.length?n+"[]":n,z=0;z0?D+b:""}},837:function(e,t,n){"use strict";var r=n(609),i=Object.prototype.hasOwnProperty,o=Array.isArray,a=function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e}(),u=function(e,t){for(var n=t&&t.plainObjects?Object.create(null):{},r=0;r1;){var t=e.pop(),n=t.obj[t.prop];if(o(n)){for(var r=[],i=0;i=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122||o===r.RFC1738&&(40===s||41===s)?l+=u.charAt(c):s<128?l+=a[s]:s<2048?l+=a[192|s>>6]+a[128|63&s]:s<55296||s>=57344?l+=a[224|s>>12]+a[128|s>>6&63]+a[128|63&s]:(c+=1,s=65536+((1023&s)<<10|1023&u.charCodeAt(c)),l+=a[240|s>>18]+a[128|s>>12&63]+a[128|s>>6&63]+a[128|63&s])}return l},isBuffer:function(e){return!(!e||"object"!==typeof e)&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},isRegExp:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},maybeMap:function(e,t){if(o(e)){for(var n=[],r=0;r2&&(u.children=arguments.length>3?r.call(arguments,2):n),"function"==typeof e&&null!=e.defaultProps)for(a in e.defaultProps)void 0===u[a]&&(u[a]=e.defaultProps[a]);return v(e,u,i,o,null)}function v(e,t,n,r,a){var u={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==a?++o:a};return null==a&&null!=i.vnode&&i.vnode(u),u}function m(){return{current:null}}function y(e){return e.children}function g(e,t){this.props=e,this.context=t}function _(e,t){if(null==t)return e.__?_(e.__,e.__.__k.indexOf(e)+1):null;for(var n;t0?v(m.type,m.props,m.key,m.ref?m.ref:null,m.__v):m)){if(m.__=n,m.__b=n.__b+1,null===(p=w[d])||p&&m.key==p.key&&m.type===p.type)w[d]=void 0;else for(h=0;h2&&(u.children=arguments.length>3?r.call(arguments,2):n),v(e.type,u,i||e.key,o||e.ref,null)}function j(e,t){var n={__c:t="__cC"+l++,__:e,Consumer:function(e,t){return e.children(t)},Provider:function(e){var n,r;return this.getChildContext||(n=[],(r={})[t]=this,this.getChildContext=function(){return r},this.shouldComponentUpdate=function(e){this.props.value!==e.value&&n.some(D)},this.sub=function(e){n.push(e);var t=e.componentWillUnmount;e.componentWillUnmount=function(){n.splice(n.indexOf(e),1),t&&t.call(e)}}),e.children}};return n.Provider.__=n.Consumer.contextType=n}r=s.slice,i={__e:function(e,t,n,r){for(var i,o,a;t=t.__;)if((i=t.__c)&&!i.__)try{if((o=i.constructor)&&null!=o.getDerivedStateFromError&&(i.setState(o.getDerivedStateFromError(e)),a=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(e,r||{}),a=i.__d),a)return i.__E=i}catch(t){e=t}throw e}},o=0,g.prototype.setState=function(e,t){var n;n=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=d({},this.state),"function"==typeof e&&(e=e(d({},n),this.props)),e&&d(n,e),null!=e&&this.__v&&(t&&this._sb.push(t),D(this))},g.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),D(this))},g.prototype.render=y,a=[],w.__r=0,l=0;var $,U,H,Y,q=0,V=[],W=[],Q=i.__b,J=i.__r,G=i.diffed,Z=i.__c,K=i.unmount;function X(e,t){i.__h&&i.__h(U,e,q||t),q=0;var n=U.__H||(U.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({__V:W}),n.__[e]}function ee(e){return q=1,te(ge,e)}function te(e,t,n){var r=X($++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):ge(void 0,t),function(e){var t=r.__N?r.__N[0]:r.__[0],n=r.t(t,e);t!==n&&(r.__N=[n,r.__[1]],r.__c.setState({}))}],r.__c=U,!U.u)){U.u=!0;var i=U.shouldComponentUpdate;U.shouldComponentUpdate=function(e,t,n){if(!r.__c.__H)return!0;var o=r.__c.__H.__.filter((function(e){return e.__c}));if(o.every((function(e){return!e.__N})))return!i||i.call(this,e,t,n);var a=!1;return o.forEach((function(e){if(e.__N){var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(a=!0)}})),!(!a&&r.__c.props===e)&&(!i||i.call(this,e,t,n))}}return r.__N||r.__}function ne(e,t){var n=X($++,3);!i.__s&&ye(n.__H,t)&&(n.__=e,n.i=t,U.__H.__h.push(n))}function re(e,t){var n=X($++,4);!i.__s&&ye(n.__H,t)&&(n.__=e,n.i=t,U.__h.push(n))}function ie(e){return q=5,ae((function(){return{current:e}}),[])}function oe(e,t,n){q=6,re((function(){return"function"==typeof e?(e(t()),function(){return e(null)}):e?(e.current=t(),function(){return e.current=null}):void 0}),null==n?n:n.concat(e))}function ae(e,t){var n=X($++,7);return ye(n.__H,t)?(n.__V=e(),n.i=t,n.__h=e,n.__V):n.__}function ue(e,t){return q=8,ae((function(){return e}),t)}function le(e){var t=U.context[e.__c],n=X($++,9);return n.c=e,t?(null==n.__&&(n.__=!0,t.sub(U)),t.props.value):e.__}function ce(e,t){i.useDebugValue&&i.useDebugValue(t?t(e):e)}function se(e){var t=X($++,10),n=ee();return t.__=e,U.componentDidCatch||(U.componentDidCatch=function(e,r){t.__&&t.__(e,r),n[1](e)}),[n[0],function(){n[1](void 0)}]}function fe(){var e=X($++,11);if(!e.__){for(var t=U.__v;null!==t&&!t.__m&&null!==t.__;)t=t.__;var n=t.__m||(t.__m=[0,0]);e.__="P"+n[0]+"-"+n[1]++}return e.__}function de(){for(var e;e=V.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(ve),e.__H.__h.forEach(me),e.__H.__h=[]}catch(l){e.__H.__h=[],i.__e(l,e.__v)}}i.__b=function(e){U=null,Q&&Q(e)},i.__r=function(e){J&&J(e),$=0;var t=(U=e.__c).__H;t&&(H===U?(t.__h=[],U.__h=[],t.__.forEach((function(e){e.__N&&(e.__=e.__N),e.__V=W,e.__N=e.i=void 0}))):(t.__h.forEach(ve),t.__h.forEach(me),t.__h=[])),H=U},i.diffed=function(e){G&&G(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(1!==V.push(t)&&Y===i.requestAnimationFrame||((Y=i.requestAnimationFrame)||pe)(de)),t.__H.__.forEach((function(e){e.i&&(e.__H=e.i),e.__V!==W&&(e.__=e.__V),e.i=void 0,e.__V=W}))),H=U=null},i.__c=function(e,t){t.some((function(e){try{e.__h.forEach(ve),e.__h=e.__h.filter((function(e){return!e.__||me(e)}))}catch(o){t.some((function(e){e.__h&&(e.__h=[])})),t=[],i.__e(o,e.__v)}})),Z&&Z(e,t)},i.unmount=function(e){K&&K(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach((function(e){try{ve(e)}catch(e){t=e}})),n.__H=void 0,t&&i.__e(t,n.__v))};var he="function"==typeof requestAnimationFrame;function pe(e){var t,n=function(){clearTimeout(r),he&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,100);he&&(t=requestAnimationFrame(n))}function ve(e){var t=U,n=e.__c;"function"==typeof n&&(e.__c=void 0,n()),U=t}function me(e){var t=U;e.__c=e.__(),U=t}function ye(e,t){return!e||e.length!==t.length||t.some((function(t,n){return t!==e[n]}))}function ge(e,t){return"function"==typeof t?t(e):t}function _e(e,t){for(var n in t)e[n]=t[n];return e}function be(e,t){for(var n in e)if("__source"!==n&&!(n in t))return!0;for(var r in t)if("__source"!==r&&e[r]!==t[r])return!0;return!1}function De(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t}function we(e){this.props=e}function xe(e,t){function n(e){var n=this.props.ref,r=n==e.ref;return!r&&n&&(n.call?n(null):n.current=null),t?!t(this.props,e)||!r:be(this.props,e)}function r(t){return this.shouldComponentUpdate=n,p(e,t)}return r.displayName="Memo("+(e.displayName||e.name)+")",r.prototype.isReactComponent=!0,r.__f=!0,r}(we.prototype=new g).isPureReactComponent=!0,we.prototype.shouldComponentUpdate=function(e,t){return be(this.props,e)||be(this.state,t)};var ke=i.__b;i.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),ke&&ke(e)};var Ce="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function Ee(e){function t(t){var n=_e({},t);return delete n.ref,e(n,t.ref||null)}return t.$$typeof=Ce,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(e.displayName||e.name)+")",t}var Se=function(e,t){return null==e?null:C(C(e).map(t))},Ae={map:Se,forEach:Se,count:function(e){return e?C(e).length:0},only:function(e){var t=C(e);if(1!==t.length)throw"Children.only";return t[0]},toArray:C},Ne=i.__e;i.__e=function(e,t,n,r){if(e.then)for(var i,o=t;o=o.__;)if((i=o.__c)&&i.__c)return null==t.__e&&(t.__e=n.__e,t.__k=n.__k),i.__c(e,t);Ne(e,t,n,r)};var Fe=i.unmount;function Oe(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach((function(e){"function"==typeof e.__c&&e.__c()})),e.__c.__H=null),null!=(e=_e({},e)).__c&&(e.__c.__P===n&&(e.__c.__P=t),e.__c=null),e.__k=e.__k&&e.__k.map((function(e){return Oe(e,t,n)}))),e}function Te(e,t,n){return e&&(e.__v=null,e.__k=e.__k&&e.__k.map((function(e){return Te(e,t,n)})),e.__c&&e.__c.__P===t&&(e.__e&&n.insertBefore(e.__e,e.__d),e.__c.__e=!0,e.__c.__P=n)),e}function Me(){this.__u=0,this.t=null,this.__b=null}function Be(e){var t=e.__.__c;return t&&t.__a&&t.__a(e)}function Le(e){var t,n,r;function i(i){if(t||(t=e()).then((function(e){n=e.default||e}),(function(e){r=e})),r)throw r;if(!n)throw t;return p(n,i)}return i.displayName="Lazy",i.__f=!0,i}function Ie(){this.u=null,this.o=null}i.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&!0===e.__h&&(e.type=null),Fe&&Fe(e)},(Me.prototype=new g).__c=function(e,t){var n=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(n);var i=Be(r.__v),o=!1,a=function(){o||(o=!0,n.__R=null,i?i(u):u())};n.__R=a;var u=function(){if(!--r.__u){if(r.state.__a){var e=r.state.__a;r.__v.__k[0]=Te(e,e.__c.__P,e.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.t.pop();)t.forceUpdate()}},l=!0===t.__h;r.__u++||l||r.setState({__a:r.__b=r.__v.__k[0]}),e.then(a,a)},Me.prototype.componentWillUnmount=function(){this.t=[]},Me.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),r=this.__v.__k[0].__c;this.__v.__k[0]=Oe(this.__b,n,r.__O=r.__P)}this.__b=null}var i=t.__a&&p(y,null,e.fallback);return i&&(i.__h=null),[p(y,null,t.__a?null:e.children),i]};var Pe=function(e,t,n){if(++n[1]===n[0]&&e.o.delete(t),e.props.revealOrder&&("t"!==e.props.revealOrder[0]||!e.o.size))for(n=e.u;n;){for(;n.length>3;)n.pop()();if(n[1]>>1,1),t.i.removeChild(e)}}),P(p(ze,{context:t.context},e.__v),t.l)):t.l&&t.componentWillUnmount()}function je(e,t){var n=p(Re,{__v:e,i:t});return n.containerInfo=t,n}(Ie.prototype=new g).__a=function(e){var t=this,n=Be(t.__v),r=t.o.get(e);return r[0]++,function(i){var o=function(){t.props.revealOrder?(r.push(i),Pe(t,e,r)):i()};n?n(o):o()}},Ie.prototype.render=function(e){this.u=null,this.o=new Map;var t=C(e.children);e.revealOrder&&"b"===e.revealOrder[0]&&t.reverse();for(var n=t.length;n--;)this.o.set(t[n],this.u=[1,0,this.u]);return e.children},Ie.prototype.componentDidUpdate=Ie.prototype.componentDidMount=function(){var e=this;this.o.forEach((function(t,n){Pe(e,n,t)}))};var $e="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,Ue=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,He="undefined"!=typeof document,Ye=function(e){return("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/i:/fil|che|ra/i).test(e)};function qe(e,t,n){return null==t.__k&&(t.textContent=""),P(e,t),"function"==typeof n&&n(),e?e.__c:null}function Ve(e,t,n){return z(e,t),"function"==typeof n&&n(),e?e.__c:null}g.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach((function(e){Object.defineProperty(g.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})}));var We=i.event;function Qe(){}function Je(){return this.cancelBubble}function Ge(){return this.defaultPrevented}i.event=function(e){return We&&(e=We(e)),e.persist=Qe,e.isPropagationStopped=Je,e.isDefaultPrevented=Ge,e.nativeEvent=e};var Ze,Ke={configurable:!0,get:function(){return this.class}},Xe=i.vnode;i.vnode=function(e){var t=e.type,n=e.props,r=n;if("string"==typeof t){var i=-1===t.indexOf("-");for(var o in r={},n){var a=n[o];He&&"children"===o&&"noscript"===t||"value"===o&&"defaultValue"in n&&null==a||("defaultValue"===o&&"value"in n&&null==n.value?o="value":"download"===o&&!0===a?a="":/ondoubleclick/i.test(o)?o="ondblclick":/^onchange(textarea|input)/i.test(o+t)&&!Ye(n.type)?o="oninput":/^onfocus$/i.test(o)?o="onfocusin":/^onblur$/i.test(o)?o="onfocusout":/^on(Ani|Tra|Tou|BeforeInp|Compo)/.test(o)?o=o.toLowerCase():i&&Ue.test(o)?o=o.replace(/[A-Z0-9]/g,"-$&").toLowerCase():null===a&&(a=void 0),/^oninput$/i.test(o)&&(o=o.toLowerCase(),r[o]&&(o="oninputCapture")),r[o]=a)}"select"==t&&r.multiple&&Array.isArray(r.value)&&(r.value=C(n.children).forEach((function(e){e.props.selected=-1!=r.value.indexOf(e.props.value)}))),"select"==t&&null!=r.defaultValue&&(r.value=C(n.children).forEach((function(e){e.props.selected=r.multiple?-1!=r.defaultValue.indexOf(e.props.value):r.defaultValue==e.props.value}))),e.props=r,n.class!=n.className&&(Ke.enumerable="className"in n,null!=n.className&&(r.class=n.className),Object.defineProperty(r,"className",Ke))}e.$$typeof=$e,Xe&&Xe(e)};var et=i.__r;i.__r=function(e){et&&et(e),Ze=e.__c};var tt={ReactCurrentDispatcher:{current:{readContext:function(e){return Ze.__n[e.__c].props.value}}}},nt="17.0.2";function rt(e){return p.bind(null,e)}function it(e){return!!e&&e.$$typeof===$e}function ot(e){return it(e)?R.apply(null,arguments):e}function at(e){return!!e.__k&&(P(null,e),!0)}function ut(e){return e&&(e.base||1===e.nodeType&&e)||null}var lt=function(e,t){return e(t)},ct=function(e,t){return e(t)},st=y;function ft(e){e()}function dt(e){return e}function ht(){return[!1,ft]}var pt=re;function vt(e,t){var n=t(),r=ee({h:{__:n,v:t}}),i=r[0].h,o=r[1];return re((function(){i.__=n,i.v=t,De(i.__,t())||o({h:i})}),[e,n,t]),ne((function(){return De(i.__,i.v())||o({h:i}),e((function(){De(i.__,i.v())||o({h:i})}))}),[e]),n}var mt,yt={useState:ee,useId:fe,useReducer:te,useEffect:ne,useLayoutEffect:re,useInsertionEffect:pt,useTransition:ht,useDeferredValue:dt,useSyncExternalStore:vt,startTransition:ft,useRef:ie,useImperativeHandle:oe,useMemo:ae,useCallback:ue,useContext:le,useDebugValue:ce,version:"17.0.2",Children:Ae,render:qe,hydrate:Ve,unmountComponentAtNode:at,createPortal:je,createElement:p,createContext:j,createFactory:rt,cloneElement:ot,createRef:m,Fragment:y,isValidElement:it,findDOMNode:ut,Component:g,PureComponent:we,memo:xe,forwardRef:Ee,flushSync:ct,unstable_batchedUpdates:lt,StrictMode:st,Suspense:Me,SuspenseList:Ie,lazy:Le,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:tt},gt=n(658),_t=n.n(gt),bt=n(443),Dt=n.n(bt),wt=n(446),xt=n.n(wt),kt=n(635),Ct=n.n(kt);function Et(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0&&(t.hash=e.substr(n),e=e.substr(0,n));var r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function Kt(e){var t="undefined"!==typeof window&&"undefined"!==typeof window.location&&"null"!==window.location.origin?window.location.origin:window.location.href,n="string"===typeof e?e:Gt(e);return Vt(t,"No window.location.(origin|href) available to create URL for href: "+n),new URL(n,t)}function Xt(e,t,n,r){void 0===r&&(r={});var i=r,o=i.window,a=void 0===o?document.defaultView:o,u=i.v5Compat,l=void 0!==u&&u,c=a.history,s=mt.Pop,f=null;function d(){s=mt.Pop,f&&f({action:s,location:h.location})}var h={get action(){return s},get location(){return e(a,c)},listen:function(e){if(f)throw new Error("A history only accepts one active listener");return a.addEventListener(qt,d),f=e,function(){a.removeEventListener(qt,d),f=null}},createHref:function(e){return t(a,e)},encodeLocation:function(e){var t=Kt("string"===typeof e?e:Gt(e));return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,t){s=mt.Push;var r=Jt(h.location,e,t);n&&n(r,e);var i=Qt(r),o=h.createHref(r);try{c.pushState(i,"",o)}catch(u){a.location.assign(o)}l&&f&&f({action:s,location:h.location})},replace:function(e,t){s=mt.Replace;var r=Jt(h.location,e,t);n&&n(r,e);var i=Qt(r),o=h.createHref(r);c.replaceState(i,"",o),l&&f&&f({action:s,location:h.location})},go:function(e){return c.go(e)}};return h}function en(e,t,n){void 0===n&&(n="/");var r=cn(("string"===typeof t?Zt(t):t).pathname||"/",n);if(null==r)return null;var i=tn(e);!function(e){e.sort((function(e,t){return e.score!==t.score?t.score-e.score:function(e,t){var n=e.length===t.length&&e.slice(0,-1).every((function(e,n){return e===t[n]}));return n?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map((function(e){return e.childrenIndex})),t.routesMeta.map((function(e){return e.childrenIndex})))}))}(i);for(var o=null,a=0;null==o&&a0&&(Vt(!0!==e.index,'Index routes must not have child routes. Please remove all child routes from route path "'+a+'".'),tn(e.children,t,u,a)),(null!=e.path||e.index)&&t.push({path:a,score:on(a,e.index),routesMeta:u})})),t}!function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"}(Yt||(Yt={}));var nn=/^:\w+$/,rn=function(e){return"*"===e};function on(e,t){var n=e.split("/"),r=n.length;return n.some(rn)&&(r+=-2),t&&(r+=2),n.filter((function(e){return!rn(e)})).reduce((function(e,t){return e+(nn.test(t)?3:""===t?1:10)}),r)}function an(e,t){for(var n=e.routesMeta,r={},i="/",o=[],a=0;a and the router will parse it for you.'}function dn(e){return e.filter((function(e,t){return 0===t||e.route.path&&e.route.path.length>0}))}function hn(e,t,n,r){var i;void 0===r&&(r=!1),"string"===typeof e?i=Zt(e):(Vt(!(i=Ht({},e)).pathname||!i.pathname.includes("?"),fn("?","pathname","search",i)),Vt(!i.pathname||!i.pathname.includes("#"),fn("#","pathname","hash",i)),Vt(!i.search||!i.search.includes("#"),fn("#","search","hash",i)));var o,a=""===e||""===i.pathname,u=a?"/":i.pathname;if(r||null==u)o=n;else{var l=t.length-1;if(u.startsWith("..")){for(var c=u.split("/");".."===c[0];)c.shift(),l-=1;i.pathname=c.join("/")}o=l>=0?t[l]:"/"}var s=function(e,t){void 0===t&&(t="/");var n="string"===typeof e?Zt(e):e,r=n.pathname,i=n.search,o=void 0===i?"":i,a=n.hash,u=void 0===a?"":a,l=r?r.startsWith("/")?r:function(e,t){var n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach((function(e){".."===e?n.length>1&&n.pop():"."!==e&&n.push(e)})),n.length>1?n.join("/"):"/"}(r,t):t;return{pathname:l,search:mn(o),hash:yn(u)}}(i,o),f=u&&"/"!==u&&u.endsWith("/"),d=(a||"."===u)&&n.endsWith("/");return s.pathname.endsWith("/")||!f&&!d||(s.pathname+="/"),s}var pn=function(e){return e.join("/").replace(/\/\/+/g,"/")},vn=function(e){return e.replace(/\/+$/,"").replace(/^\/*/,"/")},mn=function(e){return e&&"?"!==e?e.startsWith("?")?e:"?"+e:""},yn=function(e){return e&&"#"!==e?e.startsWith("#")?e:"#"+e:""};Error;var gn=Bt((function e(t,n,r,i){Ft(this,e),void 0===i&&(i=!1),this.status=t,this.statusText=n||"",this.internal=i,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}));function _n(e){return e instanceof gn}var bn=["post","put","patch","delete"],Dn=(new Set(bn),["get"].concat(bn));new Set(Dn),new Set([301,302,303,307,308]),new Set([307,308]),"undefined"!==typeof window&&"undefined"!==typeof window.document&&window.document.createElement;function wn(){return wn=Object.assign?Object.assign.bind():function(e){for(var t=1;t")))}var Un,Hn,Yn=function(e){It(n,e);var t=jt(n);function n(e){var r;return Ft(this,n),(r=t.call(this,e)).state={location:e.location,error:e.error},r}return Bt(n,[{key:"componentDidCatch",value:function(e,t){console.error("React Router caught the following error during render",e,t)}},{key:"render",value:function(){return this.state.error?p(Ln.Provider,{value:this.state.error,children:this.props.component}):this.props.children}}],[{key:"getDerivedStateFromError",value:function(e){return{error:e}}},{key:"getDerivedStateFromProps",value:function(e,t){return t.location!==e.location?{error:e.error,location:e.location}:{error:e.error||t.error,location:t.location}}}]),n}(g);function qn(e){var t=e.routeContext,n=e.match,r=e.children,i=le(Nn);return i&&n.route.errorElement&&(i._deepestRenderedBoundaryId=n.route.id),p(Bn.Provider,{value:t},r)}function Vn(e,t,n){if(void 0===t&&(t=[]),null==e){if(null==n||!n.errors)return null;e=n.matches}var r=e,i=null==n?void 0:n.errors;if(null!=i){var o=r.findIndex((function(e){return e.route.id&&(null==i?void 0:i[e.route.id])}));o>=0||Vt(!1),r=r.slice(0,Math.min(r.length,o+1))}return r.reduceRight((function(e,o,a){var u=o.route.id?null==i?void 0:i[o.route.id]:null,l=n?o.route.errorElement||p($n,null):null,c=function(){return p(qn,{match:o,routeContext:{outlet:e,matches:t.concat(r.slice(0,a+1))}},u?l:void 0!==o.route.element?o.route.element:e)};return n&&(o.route.errorElement||0===a)?p(Yn,{location:n.location,component:l,error:u,children:c()}):c()}),null)}function Wn(e){var t=le(On);return t||Vt(!1),t}!function(e){e.UseRevalidator="useRevalidator"}(Un||(Un={})),function(e){e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator"}(Hn||(Hn={}));var Qn;function Jn(e){return function(e){var t=le(Bn).outlet;return t?p(Rn.Provider,{value:e},t):t}(e.context)}function Gn(e){Vt(!1)}function Zn(e){var t=e.basename,n=void 0===t?"/":t,r=e.children,i=void 0===r?null:r,o=e.location,a=e.navigationType,u=void 0===a?mt.Pop:a,l=e.navigator,c=e.static,s=void 0!==c&&c;In()&&Vt(!1);var f=n.replace(/^\/*/,"/"),d=ae((function(){return{basename:f,navigator:l,static:s}}),[f,l,s]);"string"===typeof o&&(o=Zt(o));var h=o,v=h.pathname,m=void 0===v?"/":v,y=h.search,g=void 0===y?"":y,_=h.hash,b=void 0===_?"":_,D=h.state,w=void 0===D?null:D,x=h.key,k=void 0===x?"default":x,C=ae((function(){var e=cn(m,f);return null==e?null:{pathname:e,search:g,hash:b,state:w,key:k}}),[f,m,g,b,w,k]);return null==C?null:p(Tn.Provider,{value:d},p(Mn.Provider,{children:i,value:{location:C,navigationType:u}}))}function Kn(e){var t=e.children,n=e.location,r=le(Fn);return function(e,t){In()||Vt(!1);var n,r=le(Tn).navigator,i=le(On),o=le(Bn).matches,a=o[o.length-1],u=a?a.params:{},l=(a&&a.pathname,a?a.pathnameBase:"/"),c=(a&&a.route,Pn());if(t){var s,f="string"===typeof t?Zt(t):t;"/"===l||(null==(s=f.pathname)?void 0:s.startsWith(l))||Vt(!1),n=f}else n=c;var d=n.pathname||"/",h=en(e,{pathname:"/"===l?d:d.slice(l.length)||"/"}),v=Vn(h&&h.map((function(e){return Object.assign({},e,{params:Object.assign({},u,e.params),pathname:pn([l,r.encodeLocation?r.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?l:pn([l,r.encodeLocation?r.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])})})),o,i||void 0);return t&&v?p(Mn.Provider,{value:{location:wn({pathname:"/",search:"",hash:"",state:null,key:"default"},n),navigationType:mt.Pop}},v):v}(r&&!t?r.router.routes:Xn(t),n)}!function(e){e[e.pending=0]="pending",e[e.success=1]="success",e[e.error=2]="error"}(Qn||(Qn={}));new Promise((function(){}));function Xn(e,t){void 0===t&&(t=[]);var n=[];return Ae.forEach(e,(function(e,r){if(it(e))if(e.type!==y){e.type!==Gn&&Vt(!1),e.props.index&&e.props.children&&Vt(!1);var i=[].concat(Nt(t),[r]),o={id:e.props.id||i.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,index:e.props.index,path:e.props.path,loader:e.props.loader,action:e.props.action,errorElement:e.props.errorElement,hasErrorBoundary:null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle};e.props.children&&(o.children=Xn(e.props.children,i)),n.push(o)}else n.push.apply(n,Xn(e.props.children,t))})),n}function er(){return er=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(i[n]=e[n]);return i}var nr=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset"],rr=["aria-current","caseSensitive","className","end","style","to","children"];function ir(e){var t=e.basename,n=e.children,r=e.window,i=ie();null==i.current&&(i.current=function(e){return void 0===e&&(e={}),Xt((function(e,t){var n=Zt(e.location.hash.substr(1)),r=n.pathname,i=void 0===r?"/":r,o=n.search,a=void 0===o?"":o,u=n.hash;return Jt("",{pathname:i,search:a,hash:void 0===u?"":u},t.state&&t.state.usr||null,t.state&&t.state.key||"default")}),(function(e,t){var n=e.document.querySelector("base"),r="";if(n&&n.getAttribute("href")){var i=e.location.href,o=i.indexOf("#");r=-1===o?i:i.slice(0,o)}return r+"#"+("string"===typeof t?t:Gt(t))}),(function(e,t){Wt("/"===e.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(t)+")")}),e)}({window:r,v5Compat:!0}));var o=i.current,a=At(ee({action:o.action,location:o.location}),2),u=a[0],l=a[1];return re((function(){return o.listen(l)}),[o]),p(Zn,{basename:t,children:n,location:u.location,navigationType:u.action,navigator:o})}var or=Ee((function(e,t){var n=e.onClick,r=e.relative,i=e.reloadDocument,o=e.replace,a=e.state,u=e.target,l=e.to,c=e.preventScrollReset,s=tr(e,nr),f=function(e,t){var n=(void 0===t?{}:t).relative;In()||Vt(!1);var r=le(Tn),i=r.basename,o=r.navigator,a=jn(e,{relative:n}),u=a.hash,l=a.pathname,c=a.search,s=l;return"/"!==i&&(s="/"===l?i:pn([i,l])),o.createHref({pathname:s,search:c,hash:u})}(l,{relative:r}),d=function(e,t){var n=void 0===t?{}:t,r=n.target,i=n.replace,o=n.state,a=n.preventScrollReset,u=n.relative,l=zn(),c=Pn(),s=jn(e,{relative:u});return ue((function(t){if(function(e,t){return 0===e.button&&(!t||"_self"===t)&&!function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)}(t,r)){t.preventDefault();var n=void 0!==i?i:Gt(c)===Gt(s);l(e,{replace:n,state:o,preventScrollReset:a,relative:u})}}),[c,l,s,i,o,r,e,a,u])}(l,{replace:o,state:a,target:u,preventScrollReset:c,relative:r});return p("a",er({},s,{href:f,onClick:i?n:function(e){n&&n(e),e.defaultPrevented||d(e)},ref:t,target:u}))}));var ar=Ee((function(e,t){var n=e["aria-current"],r=void 0===n?"page":n,i=e.caseSensitive,o=void 0!==i&&i,a=e.className,u=void 0===a?"":a,l=e.end,c=void 0!==l&&l,s=e.style,f=e.to,d=e.children,h=tr(e,rr),v=jn(f,{relative:h.relative}),m=Pn(),y=le(On),g=le(Tn).navigator,_=g.encodeLocation?g.encodeLocation(v).pathname:v.pathname,b=m.pathname,D=y&&y.navigation&&y.navigation.location?y.navigation.location.pathname:null;o||(b=b.toLowerCase(),D=D?D.toLowerCase():null,_=_.toLowerCase());var w,x=b===_||!c&&b.startsWith(_)&&"/"===b.charAt(_.length),k=null!=D&&(D===_||!c&&D.startsWith(_)&&"/"===D.charAt(_.length)),C=x?r:void 0;w="function"===typeof u?u({isActive:x,isPending:k}):[u,x?"active":null,k?"pending":null].filter(Boolean).join(" ");var E="function"===typeof s?s({isActive:x,isPending:k}):s;return p(or,er({},h,{"aria-current":C,className:w,ref:t,style:E,to:f}),"function"===typeof d?d({isActive:x,isPending:k}):d)}));var ur,lr;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmitImpl="useSubmitImpl",e.UseFetcher="useFetcher"})(ur||(ur={})),function(e){e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"}(lr||(lr={}));var cr;function sr(e,t,n){return(t=Tt(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function fr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function dr(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:window.location.search,r=br().parse(n,{ignoreQueryPrefix:!0});return wr()(r,e,t||"")},Sr={serverUrl:yr().serverURL||window.location.href.replace(/\/(?:prometheus\/)?(?:graph|vmui)\/.*/,"/prometheus"),tenantId:Number(Er("g0.tenantID",0))};function Ar(e,t){switch(t.type){case"SET_SERVER":return dr(dr({},e),{},{serverUrl:t.payload});case"SET_TENANT_ID":return dr(dr({},e),{},{tenantId:t.payload});default:throw new Error}}var Nr=0;function Fr(e,t,n,r,o){var a,u,l={};for(u in t)"ref"==u?a=t[u]:l[u]=t[u];var c={type:e,props:l,key:n,ref:a,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:--Nr,__source:o,__self:r};if("function"==typeof e&&(a=e.defaultProps))for(u in a)void 0===l[u]&&(l[u]=a[u]);return i.vnode&&i.vnode(c),c}var Or=j({}),Tr=function(){return le(Or).state},Mr=function(){return le(Or).dispatch},Br=Object.entries(Sr).reduce((function(e,t){var n=At(t,2),r=n[0],i=n[1];return dr(dr({},e),{},sr({},r,Er(r)||i))}),{}),Lr="YYYY-MM-DD",Ir="YYYY-MM-DD HH:mm:ss",Pr="YYYY-MM-DD[T]HH:mm:ss",zr=window.innerWidth/4,Rr=1,jr=1578e8,$r=Intl.supportedValuesOf("timeZone"),Ur=[{long:"years",short:"y",possible:"year"},{long:"weeks",short:"w",possible:"week"},{long:"days",short:"d",possible:"day"},{long:"hours",short:"h",possible:"hour"},{long:"minutes",short:"m",possible:"min"},{long:"seconds",short:"s",possible:"sec"},{long:"milliseconds",short:"ms",possible:"millisecond"}],Hr=Ur.map((function(e){return e.short})),Yr=function(e){return Math.round(1e3*e)/1e3},qr=function(e){var t=e.match(/\d+/g),n=e.match(/[a-zA-Z]+/g);if(n&&t&&Hr.includes(n[0]))return sr({},n[0],t[0])},Vr=function(e){var t=Ur.map((function(e){return e.short})).join("|"),n=new RegExp("\\d+[".concat(t,"]+"),"g"),r=(e.match(n)||[]).reduce((function(e,t){var n=qr(t);return n?dr(dr({},e),n):dr({},e)}),{});return _t().duration(r).asSeconds()},Wr=function(e,t){var n=(t||_t()().toDate()).valueOf()/1e3,r=Vr(e);return{start:n-r,end:n,step:function(e){var t=Yr(e),n=Math.round(e);return e>=100&&(t=n-n%10),e<100&&e>=10&&(t=n-n%5),e<10&&e>=1&&(t=n),e<1&&e>.01&&(t=Math.round(40*e)/40),Gr(_t().duration(t||.001,"seconds").asMilliseconds()).replace(/\s/g,"")}(r/zr),date:Qr(t||_t()().toDate())}},Qr=function(e){return _t().tz(e).utc().format(Pr)},Jr=function(e){return _t().tz(e).format(Pr)},Gr=function(e){var t=Math.floor(e%1e3),n=Math.floor(e/1e3%60),r=Math.floor(e/1e3/60%60),i=Math.floor(e/1e3/3600%24),o=Math.floor(e/864e5),a=["d","h","m","s","ms"],u=[o,i,r,n,t].map((function(e,t){return e?"".concat(e).concat(a[t]):""}));return u.filter((function(e){return e})).join(" ")},Zr=function(e){return _t()(1e3*e).toDate()},Kr=[{title:"Last 5 minutes",duration:"5m"},{title:"Last 15 minutes",duration:"15m"},{title:"Last 30 minutes",duration:"30m",isDefault:!0},{title:"Last 1 hour",duration:"1h"},{title:"Last 3 hours",duration:"3h"},{title:"Last 6 hours",duration:"6h"},{title:"Last 12 hours",duration:"12h"},{title:"Last 24 hours",duration:"24h"},{title:"Last 2 days",duration:"2d"},{title:"Last 7 days",duration:"7d"},{title:"Last 30 days",duration:"30d"},{title:"Last 90 days",duration:"90d"},{title:"Last 180 days",duration:"180d"},{title:"Last 1 year",duration:"1y"},{title:"Yesterday",duration:"1d",until:function(){return _t()().tz().subtract(1,"day").endOf("day").toDate()}},{title:"Today",duration:"1d",until:function(){return _t()().tz().endOf("day").toDate()}}].map((function(e){return dr({id:e.title.replace(/\s/g,"_").toLocaleLowerCase(),until:e.until?e.until:function(){return _t()().tz().toDate()}},e)})),Xr=function(e){var t,n=e.relativeTimeId,r=e.defaultDuration,i=e.defaultEndInput,o=null===(t=Kr.find((function(e){return e.isDefault})))||void 0===t?void 0:t.id,a=n||Er("g0.relative_time",o),u=Kr.find((function(e){return e.id===a}));return{relativeTimeId:u?a:"none",duration:u?u.duration:r,endInput:u?u.until():i}},ei=function(e){var t=_t()().tz(e);return"UTC".concat(t.format("Z"))},ti=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=new RegExp(e,"i");return $r.reduce((function(n,r){var i=(r.match(/^(.*?)\//)||[])[1]||"unknown",o=ei(r),a=o.replace(/UTC|0/,""),u=r.replace(/[/_]/g," "),l={region:r,utc:o,search:"".concat(r," ").concat(o," ").concat(u," ").concat(a)},c=!e||e&&t.test(l.search);return c&&n[i]?n[i].push(l):c&&(n[i]=[l]),n}),{})},ni=function(e){_t().tz.setDefault(e)},ri=function(e,t){t?window.localStorage.setItem(e,JSON.stringify({value:t})):oi([e])},ii=function(e){var t=window.localStorage.getItem(e);if(null!==t)try{var n;return null===(n=JSON.parse(t))||void 0===n?void 0:n.value}catch(s){return t}},oi=function(e){return e.forEach((function(e){return window.localStorage.removeItem(e)}))},ai=ii("TIMEZONE")||_t().tz.guess();ni(ai);var ui,li=Er("g0.range_input"),ci=Xr({defaultDuration:li||"1h",defaultEndInput:(ui=Er("g0.end_input",_t()().utc().format(Pr)),_t()(ui).utcOffset(0,!0).toDate()),relativeTimeId:li?Er("g0.relative_time","none"):void 0}),si=ci.duration,fi=ci.endInput,di=ci.relativeTimeId,hi={duration:si,period:Wr(si,fi),relativeTime:di,timezone:ai};function pi(e,t){switch(t.type){case"SET_DURATION":return dr(dr({},e),{},{duration:t.payload,period:Wr(t.payload,Zr(e.period.end)),relativeTime:"none"});case"SET_RELATIVE_TIME":return dr(dr({},e),{},{duration:t.payload.duration,period:Wr(t.payload.duration,t.payload.until),relativeTime:t.payload.id});case"SET_PERIOD":var n=function(e){var t=e.to.valueOf()-e.from.valueOf();return Gr(t)}(t.payload);return dr(dr({},e),{},{duration:n,period:Wr(n,t.payload.to),relativeTime:"none"});case"RUN_QUERY":var r=Xr({relativeTimeId:e.relativeTime,defaultDuration:e.duration,defaultEndInput:Zr(e.period.end)}),i=r.duration,o=r.endInput;return dr(dr({},e),{},{period:Wr(i,o)});case"RUN_QUERY_TO_NOW":return dr(dr({},e),{},{period:Wr(e.duration)});case"SET_TIMEZONE":return ni(t.payload),ri("TIMEZONE",t.payload),dr(dr({},e),{},{timezone:t.payload});default:throw new Error}}var vi=j({}),mi=function(){return le(vi).state},yi=function(){return le(vi).dispatch},gi=function(){var e,t=(null===(e=window.location.search.match(/g\d+\.expr/g))||void 0===e?void 0:e.length)||1;return new Array(t>4?4:t).fill(1).map((function(e,t){return Er("g".concat(t,".expr"),"")}))}(),_i={query:gi,queryHistory:gi.map((function(e){return{index:0,values:[e]}})),autocomplete:ii("AUTOCOMPLETE")||!1};function bi(e,t){switch(t.type){case"SET_QUERY":return dr(dr({},e),{},{query:t.payload.map((function(e){return e}))});case"SET_QUERY_HISTORY":return dr(dr({},e),{},{queryHistory:t.payload});case"SET_QUERY_HISTORY_BY_INDEX":return e.queryHistory.splice(t.payload.queryNumber,1,t.payload.value),dr(dr({},e),{},{queryHistory:e.queryHistory});case"TOGGLE_AUTOCOMPLETE":return ri("AUTOCOMPLETE",!e.autocomplete),dr(dr({},e),{},{autocomplete:!e.autocomplete});default:throw new Error}}var Di=j({}),wi=function(){return le(Di).state},xi=function(){return le(Di).dispatch},ki=function(){return Fr("svg",{viewBox:"0 0 74 24",fill:"currentColor",children:[Fr("path",{d:"M6.11767 10.4759C6.47736 10.7556 6.91931 10.909 7.37503 10.9121H7.42681C7.90756 10.9047 8.38832 10.7199 8.67677 10.4685C10.1856 9.18921 14.5568 5.18138 14.5568 5.18138C15.7254 4.09438 12.4637 3.00739 7.42681 3H7.36764C2.3308 3.00739 -0.930935 4.09438 0.237669 5.18138C0.237669 5.18138 4.60884 9.18921 6.11767 10.4759ZM8.67677 12.6424C8.31803 12.9248 7.87599 13.0808 7.41941 13.0861H7.37503C6.91845 13.0808 6.47641 12.9248 6.11767 12.6424C5.0822 11.7551 1.38409 8.42018 0.000989555 7.14832V9.07829C0.000989555 9.29273 0.0823481 9.57372 0.222877 9.70682L0.293316 9.7712L0.293344 9.77122C1.33784 10.7258 4.83903 13.9255 6.11767 15.0161C6.47641 15.2985 6.91845 15.4545 7.37503 15.4597H7.41941C7.90756 15.4449 8.38092 15.2601 8.67677 15.0161C9.9859 13.9069 13.6249 10.572 14.5642 9.70682C14.7121 9.57372 14.7861 9.29273 14.7861 9.07829V7.14832C12.7662 8.99804 10.7297 10.8295 8.67677 12.6424ZM7.41941 17.6263C7.87513 17.6232 8.31708 17.4698 8.67677 17.19C10.7298 15.3746 12.7663 13.5407 14.7861 11.6885V13.6259C14.7861 13.8329 14.7121 14.1139 14.5642 14.247C13.6249 15.1196 9.9859 18.4471 8.67677 19.5563C8.38092 19.8077 7.90756 19.9926 7.41941 20H7.37503C6.91931 19.9968 6.47736 19.8435 6.11767 19.5637C4.91427 18.5373 1.74219 15.6364 0.502294 14.5025C0.393358 14.4029 0.299337 14.3169 0.222877 14.247C0.0823481 14.1139 0.000989555 13.8329 0.000989555 13.6259V11.6885C1.38409 12.953 5.0822 16.2953 6.11767 17.1827C6.47641 17.4651 6.91845 17.6211 7.37503 17.6263H7.41941Z"}),Fr("path",{d:"M34.9996 5L29.1596 19.46H26.7296L20.8896 5H23.0496C23.2829 5 23.4729 5.05667 23.6196 5.17C23.7663 5.28333 23.8763 5.43 23.9496 5.61L27.3596 14.43C27.4729 14.7167 27.5796 15.0333 27.6796 15.38C27.7863 15.72 27.8863 16.0767 27.9796 16.45C28.0596 16.0767 28.1463 15.72 28.2396 15.38C28.3329 15.0333 28.4363 14.7167 28.5496 14.43L31.9396 5.61C31.9929 5.45667 32.0963 5.31667 32.2496 5.19C32.4096 5.06333 32.603 5 32.8297 5H34.9996ZM52.1763 5V19.46H49.8064V10.12C49.8064 9.74667 49.8263 9.34333 49.8663 8.91L45.4963 17.12C45.2897 17.5133 44.973 17.71 44.5463 17.71H44.1663C43.7397 17.71 43.4231 17.5133 43.2164 17.12L38.7963 8.88C38.8163 9.1 38.833 9.31667 38.8463 9.53C38.8597 9.74333 38.8663 9.94 38.8663 10.12V19.46H36.4963V5H38.5263C38.6463 5 38.7497 5.00333 38.8363 5.01C38.923 5.01667 38.9997 5.03333 39.0663 5.06C39.1397 5.08667 39.203 5.13 39.2563 5.19C39.3163 5.25 39.373 5.33 39.4263 5.43L43.7563 13.46C43.8697 13.6733 43.973 13.8933 44.0663 14.12C44.1663 14.3467 44.263 14.58 44.3563 14.82C44.4497 14.5733 44.5464 14.3367 44.6464 14.11C44.7464 13.8767 44.8531 13.6533 44.9664 13.44L49.2363 5.43C49.2897 5.33 49.3463 5.25 49.4063 5.19C49.4663 5.13 49.5297 5.08667 49.5963 5.06C49.6697 5.03333 49.7497 5.01667 49.8363 5.01C49.923 5.00333 50.0264 5 50.1464 5H52.1763ZM61.0626 18.73C61.7426 18.73 62.3492 18.6133 62.8826 18.38C63.4226 18.14 63.8792 17.81 64.2526 17.39C64.6259 16.97 64.9092 16.4767 65.1026 15.91C65.3026 15.3367 65.4026 14.72 65.4026 14.06V5.31H66.4226V14.06C66.4226 14.84 66.2993 15.57 66.0527 16.25C65.806 16.9233 65.4493 17.5133 64.9827 18.02C64.5227 18.52 63.9592 18.9133 63.2926 19.2C62.6326 19.4867 61.8892 19.63 61.0626 19.63C60.2359 19.63 59.4893 19.4867 58.8227 19.2C58.1627 18.9133 57.5992 18.52 57.1326 18.02C56.6726 17.5133 56.3193 16.9233 56.0727 16.25C55.826 15.57 55.7026 14.84 55.7026 14.06V5.31H56.7327V14.05C56.7327 14.71 56.8292 15.3267 57.0226 15.9C57.2226 16.4667 57.506 16.96 57.8727 17.38C58.246 17.8 58.6993 18.13 59.2327 18.37C59.7727 18.61 60.3826 18.73 61.0626 18.73ZM71.4438 19.46H70.4138V5.31H71.4438V19.46Z"})]})},Ci=function(){return Fr("svg",{viewBox:"0 0 15 17",fill:"currentColor",children:Fr("path",{d:"M6.11767 7.47586C6.47736 7.75563 6.91931 7.90898 7.37503 7.91213H7.42681C7.90756 7.90474 8.38832 7.71987 8.67677 7.46846C10.1856 6.18921 14.5568 2.18138 14.5568 2.18138C15.7254 1.09438 12.4637 0.00739 7.42681 0H7.36764C2.3308 0.00739 -0.930935 1.09438 0.237669 2.18138C0.237669 2.18138 4.60884 6.18921 6.11767 7.47586ZM8.67677 9.64243C8.31803 9.92483 7.87599 10.0808 7.41941 10.0861H7.37503C6.91845 10.0808 6.47641 9.92483 6.11767 9.64243C5.0822 8.75513 1.38409 5.42018 0.000989555 4.14832V6.07829C0.000989555 6.29273 0.0823481 6.57372 0.222877 6.70682L0.293316 6.7712L0.293344 6.77122C1.33784 7.72579 4.83903 10.9255 6.11767 12.0161C6.47641 12.2985 6.91845 12.4545 7.37503 12.4597H7.41941C7.90756 12.4449 8.38092 12.2601 8.67677 12.0161C9.9859 10.9069 13.6249 7.57198 14.5642 6.70682C14.7121 6.57372 14.7861 6.29273 14.7861 6.07829V4.14832C12.7662 5.99804 10.7297 7.82949 8.67677 9.64243ZM7.41941 14.6263C7.87513 14.6232 8.31708 14.4698 8.67677 14.19C10.7298 12.3746 12.7663 10.5407 14.7861 8.68853V10.6259C14.7861 10.8329 14.7121 11.1139 14.5642 11.247C13.6249 12.1196 9.9859 15.4471 8.67677 16.5563C8.38092 16.8077 7.90756 16.9926 7.41941 17H7.37503C6.91931 16.9968 6.47736 16.8435 6.11767 16.5637C4.91427 15.5373 1.74219 12.6364 0.502294 11.5025C0.393358 11.4029 0.299337 11.3169 0.222877 11.247C0.0823481 11.1139 0.000989555 10.8329 0.000989555 10.6259V8.68853C1.38409 9.95303 5.0822 13.2953 6.11767 14.1827C6.47641 14.4651 6.91845 14.6211 7.37503 14.6263H7.41941Z"})})},Ei=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z"})})},Si=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"})})},Ai=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M12 5V2L8 6l4 4V7c3.31 0 6 2.69 6 6 0 2.97-2.17 5.43-5 5.91v2.02c3.95-.49 7-3.85 7-7.93 0-4.42-3.58-8-8-8zm-6 8c0-1.65.67-3.15 1.76-4.24L6.34 7.34C4.9 8.79 4 10.79 4 13c0 4.08 3.05 7.44 7 7.93v-2.02c-2.83-.48-5-2.94-5-5.91z"})})},Ni=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z"})})},Fi=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"})})},Oi=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"})})},Ti=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"})})},Mi=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M12 6v3l4-4-4-4v3c-4.42 0-8 3.58-8 8 0 1.57.46 3.03 1.24 4.26L6.7 14.8c-.45-.83-.7-1.79-.7-2.8 0-3.31 2.69-6 6-6zm6.76 1.74L17.3 9.2c.44.84.7 1.79.7 2.8 0 3.31-2.69 6-6 6v-3l-4 4 4 4v-3c4.42 0 8-3.58 8-8 0-1.57-.46-3.03-1.24-4.26z"})})},Bi=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"})})},Li=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"m7 10 5 5 5-5z"})})},Ii=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm5 11h-4v4h-2v-4H7v-2h4V7h2v4h4v2z"})})},Pi=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:[Fr("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),Fr("path",{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"})]})},zi=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 18H4V8h16v13z"})})},Ri=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"m22 5.72-4.6-3.86-1.29 1.53 4.6 3.86L22 5.72zM7.88 3.39 6.6 1.86 2 5.71l1.29 1.53 4.59-3.85zM12.5 8H11v6l4.75 2.85.75-1.23-4-2.37V8zM12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9c4.97 0 9-4.03 9-9s-4.03-9-9-9zm0 16c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"})})},ji=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M20 5H4c-1.1 0-1.99.9-1.99 2L2 17c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm-9 3h2v2h-2V8zm0 3h2v2h-2v-2zM8 8h2v2H8V8zm0 3h2v2H8v-2zm-1 2H5v-2h2v2zm0-3H5V8h2v2zm9 7H8v-2h8v2zm0-4h-2v-2h2v2zm0-3h-2V8h2v2zm3 3h-2v-2h2v2zm0-3h-2V8h2v2z"})})},$i=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm5 11H7v-2h10v2z"})})},Ui=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M8 5v14l11-7z"})})},Hi=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"m10 16.5 6-4.5-6-4.5v9zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"})})},Yi=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"m3.5 18.49 6-6.01 4 4L22 6.92l-1.41-1.41-7.09 7.97-4-4L2 16.99z"})})},qi=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M10 10.02h5V21h-5zM17 21h3c1.1 0 2-.9 2-2v-9h-5v11zm3-18H5c-1.1 0-2 .9-2 2v3h19V5c0-1.1-.9-2-2-2zM3 19c0 1.1.9 2 2 2h3V10H3v9z"})})},Vi=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"})})},Wi=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"})})},Qi=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"})})},Ji=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M8.9999 14.7854L18.8928 4.8925C19.0803 4.70497 19.3347 4.59961 19.5999 4.59961C19.8651 4.59961 20.1195 4.70497 20.307 4.8925L21.707 6.2925C22.0975 6.68303 22.0975 7.31619 21.707 7.70672L9.70701 19.7067C9.31648 20.0972 8.68332 20.0972 8.2928 19.7067L2.6928 14.1067C2.50526 13.9192 2.3999 13.6648 2.3999 13.3996C2.3999 13.1344 2.50526 12.88 2.6928 12.6925L4.0928 11.2925C4.48332 10.902 5.11648 10.902 5.50701 11.2925L8.9999 14.7854Z"})})},Gi=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"})})},Zi=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"})})},Ki=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"})})},Xi=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M20 9H4v2h16V9zM4 15h16v-2H4v2z"})})},eo=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"})})},to=function(){return Fr("svg",{className:"MuiSvgIcon-root MuiSvgIcon-fontSizeMedium MuiBox-root css-1om0hkc",focusable:"false","aria-hidden":"true",viewBox:"0 0 24 24","data-testid":"OpenInFullIcon",fill:"currentColor",children:Fr("path",{d:"M21 11V3h-8l3.29 3.29-10 10L3 13v8h8l-3.29-3.29 10-10z"})})},no=function(){return Fr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Fr("path",{d:"M23 8c0 1.1-.9 2-2 2-.18 0-.35-.02-.51-.07l-3.56 3.55c.05.16.07.34.07.52 0 1.1-.9 2-2 2s-2-.9-2-2c0-.18.02-.36.07-.52l-2.55-2.55c-.16.05-.34.07-.52.07s-.36-.02-.52-.07l-4.55 4.56c.05.16.07.33.07.51 0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2c.18 0 .35.02.51.07l4.56-4.55C8.02 9.36 8 9.18 8 9c0-1.1.9-2 2-2s2 .9 2 2c0 .18-.02.36-.07.52l2.55 2.55c.16-.05.34-.07.52-.07s.36.02.52.07l3.55-3.56C19.02 8.35 19 8.18 19 8c0-1.1.9-2 2-2s2 .9 2 2z"})})},ro=function(e){return getComputedStyle(document.documentElement).getPropertyValue("--".concat(e))},io=function(e,t){document.documentElement.style.setProperty("--".concat(e),t)},oo=function(e){var t=At(ee({width:0,height:0}),2),n=t[0],r=t[1];return ne((function(){var t=new ResizeObserver((function(e){var t=e[0].contentRect,n=t.width,i=t.height;r({width:n,height:i})}));return e&&t.observe(e),function(){e&&t.unobserve(e)}}),[]),n},ao=n(123),uo=n.n(ao);function lo(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var co=["to","isNavLink","children"],so=function(e){var t=e.to,n=e.isNavLink,r=e.children,i=lo(e,co);return n?Fr(ar,dr(dr({to:t},i),{},{children:r})):Fr("div",dr(dr({},i),{},{children:r}))},fo=function(e){var t,n=e.activeItem,r=e.item,i=e.color,o=void 0===i?ro("color-primary"):i,a=e.activeNavRef,u=e.onChange,l=e.isNavLink;return Fr(so,{className:uo()(sr({"vm-tabs-item":!0,"vm-tabs-item_active":n===r.value},r.className||"",r.className)),isNavLink:l,to:r.value,style:{color:o},onClick:(t=r.value,function(){u&&u(t)}),ref:n===r.value?a:void 0,children:[r.icon&&Fr("div",{className:uo()({"vm-tabs-item__icon":!0,"vm-tabs-item__icon_single":!r.label}),children:r.icon}),r.label]})},ho=function(e){var t=e.activeItem,n=e.items,r=e.color,i=void 0===r?ro("color-primary"):r,o=e.onChange,a=e.indicatorPlacement,u=void 0===a?"bottom":a,l=e.isNavLink,c=oo(document.body),s=ie(null),f=At(ee({left:0,width:0,bottom:0}),2),d=f[0],h=f[1];return ne((function(){var e;if((null===(e=s.current)||void 0===e?void 0:e.base)instanceof HTMLElement){var t=s.current.base,n=t.offsetLeft,r=t.offsetWidth,i=t.offsetHeight;h({left:n,width:r,bottom:"top"===u?i-2:0})}}),[c,t,s,n]),Fr("div",{className:"vm-tabs",children:[n.map((function(e){return Fr(fo,{activeItem:t,item:e,onChange:o,color:i,activeNavRef:s,isNavLink:l},e.value)})),Fr("div",{className:"vm-tabs__indicator",style:dr(dr({},d),{},{borderColor:i})})]})},po=[{value:"chart",icon:Fr(Yi,{}),label:"Graph",prometheusCode:0},{value:"code",icon:Fr(Vi,{}),label:"JSON",prometheusCode:3},{value:"table",icon:Fr(qi,{}),label:"Table",prometheusCode:1}],vo=function(){var e=wo().displayType,t=xo();return Fr(ho,{activeItem:e,items:po,onChange:function(n){var r;t({type:"SET_DISPLAY_TYPE",payload:null!==(r=n)&&void 0!==r?r:e})}})},mo=Er("g0.tab",0),yo=po.find((function(e){return e.prometheusCode===+mo||e.value===mo})),go=ii("SERIES_LIMITS"),_o={displayType:(null===yo||void 0===yo?void 0:yo.value)||"chart",nocache:!1,isTracingEnabled:!1,seriesLimits:go?JSON.parse(ii("SERIES_LIMITS")):xr,tableCompact:ii("TABLE_COMPACT")||!1};function bo(e,t){switch(t.type){case"SET_DISPLAY_TYPE":return dr(dr({},e),{},{displayType:t.payload});case"SET_SERIES_LIMITS":return ri("SERIES_LIMITS",JSON.stringify(t.payload)),dr(dr({},e),{},{seriesLimits:t.payload});case"TOGGLE_QUERY_TRACING":return dr(dr({},e),{},{isTracingEnabled:!e.isTracingEnabled});case"TOGGLE_NO_CACHE":return dr(dr({},e),{},{nocache:!e.nocache});case"TOGGLE_TABLE_COMPACT":return ri("TABLE_COMPACT",!e.tableCompact),dr(dr({},e),{},{tableCompact:!e.tableCompact});default:throw new Error}}var Do=j({}),wo=function(){return le(Do).state},xo=function(){return le(Do).dispatch},ko={customStep:Er("g0.step_input",""),yaxis:{limits:{enable:!1,range:{1:[0,0]}}}};function Co(e,t){switch(t.type){case"TOGGLE_ENABLE_YAXIS_LIMITS":return dr(dr({},e),{},{yaxis:dr(dr({},e.yaxis),{},{limits:dr(dr({},e.yaxis.limits),{},{enable:!e.yaxis.limits.enable})})});case"SET_CUSTOM_STEP":return dr(dr({},e),{},{customStep:t.payload});case"SET_YAXIS_LIMITS":return dr(dr({},e),{},{yaxis:dr(dr({},e.yaxis),{},{limits:dr(dr({},e.yaxis.limits),{},{range:t.payload})})});default:throw new Error}}var Eo=j({}),So=function(){return le(Eo).state},Ao=function(){return le(Eo).dispatch},No={runQuery:0,topN:Er("topN",10),date:Er("date",_t()().tz().format(Lr)),focusLabel:Er("focusLabel",""),match:Er("match",""),extraLabel:Er("extra_label","")};function Fo(e,t){switch(t.type){case"SET_TOP_N":return dr(dr({},e),{},{topN:t.payload});case"SET_DATE":return dr(dr({},e),{},{date:t.payload});case"SET_MATCH":return dr(dr({},e),{},{match:t.payload});case"SET_EXTRA_LABEL":return dr(dr({},e),{},{extraLabel:t.payload});case"SET_FOCUS_LABEL":return dr(dr({},e),{},{focusLabel:t.payload});case"RUN_QUERY":return dr(dr({},e),{},{runQuery:e.runQuery+1});default:throw new Error}}var Oo=j({}),To=function(){return le(Oo).state},Mo=function(){return le(Oo).dispatch},Bo={topN:Er("topN",null),maxLifetime:Er("maxLifetime",""),runQuery:0};function Lo(e,t){switch(t.type){case"SET_TOP_N":return dr(dr({},e),{},{topN:t.payload});case"SET_MAX_LIFE_TIME":return dr(dr({},e),{},{maxLifetime:t.payload});case"SET_RUN_QUERY":return dr(dr({},e),{},{runQuery:e.runQuery+1});default:throw new Error}}var Io=j({}),Po=function(){return le(Io).state},zo={success:Fr(Ti,{}),error:Fr(Oi,{}),warning:Fr(Fi,{}),info:Fr(Ni,{})},Ro=function(e){var t=e.variant,n=e.children;return Fr("div",{className:uo()(sr({"vm-alert":!0},"vm-alert_".concat(t),t)),children:[Fr("div",{className:"vm-alert__icon",children:zo[t||"info"]}),Fr("div",{className:"vm-alert__content",children:n})]})},jo=j({showInfoMessage:function(){}}),$o=function(){return le(jo)},Uo={dashboardsSettings:[],dashboardsLoading:!1,dashboardsError:""};function Ho(e,t){switch(t.type){case"SET_DASHBOARDS_SETTINGS":return dr(dr({},e),{},{dashboardsSettings:t.payload});case"SET_DASHBOARDS_LOADING":return dr(dr({},e),{},{dashboardsLoading:t.payload});case"SET_DASHBOARDS_ERROR":return dr(dr({},e),{},{dashboardsError:t.payload});default:throw new Error}}var Yo,qo=j({}),Vo=function(){return le(qo).state},Wo=function(){for(var e=arguments.length,t=new Array(e),n=0;nh,m=r.top-20<0,y=r.left+g.width+20>f,_=r.left-20<0;return v&&(r.top=t.top-g.height-u),m&&(r.top=t.height+t.top+u),y&&(r.left=t.right-g.width-l),_&&(r.left=t.left+l),d&&(r.width="".concat(t.width,"px")),r}),[n,i,p,t,d]);f&&Jo(b,(function(){return v(!1)}),n);var x=uo()({"vm-popper":!0,"vm-popper_open":p});return Fr(y,{children:p&&yt.createPortal(Fr("div",{className:x,ref:b,style:w,children:t}),document.body)})},Zo=function(e){var t=e.children,n=e.title,r=e.open,i=e.placement,o=void 0===i?"bottom-center":i,a=e.offset,u=void 0===a?{top:6,left:0}:a,l=At(ee(!1),2),c=l[0],s=l[1],f=At(ee({width:0,height:0}),2),d=f[0],h=f[1],p=ie(null),v=ie(null),m=function(){return s(!1)};ne((function(){return window.addEventListener("scroll",m),function(){window.removeEventListener("scroll",m)}}),[]),ne((function(){v.current&&c&&h({width:v.current.clientWidth,height:v.current.clientHeight})}),[c]);var g=ae((function(){var e,t=null===p||void 0===p||null===(e=p.current)||void 0===e?void 0:e.base;if(!t||!c)return{};var n=t.getBoundingClientRect(),r={top:0,left:0},i="bottom-right"===o||"top-right"===o,a="bottom-left"===o||"top-left"===o,l=null===o||void 0===o?void 0:o.includes("top"),s=(null===u||void 0===u?void 0:u.top)||0,f=(null===u||void 0===u?void 0:u.left)||0;r.left=n.left-(d.width-n.width)/2+f,r.top=n.height+n.top+s,i&&(r.left=n.right-d.width),a&&(r.left=n.left+f),l&&(r.top=n.top-d.height-s);var h=window,v=h.innerWidth,m=h.innerHeight,y=r.top+d.height+20>m,g=r.top-20<0,_=r.left+d.width+20>v,b=r.left-20<0;return y&&(r.top=n.top-d.height-s),g&&(r.top=n.height+n.top+s),_&&(r.left=n.right-d.width-f),b&&(r.left=n.left+f),r.top<0&&(r.top=20),r.left<0&&(r.left=20),r}),[p,o,c,d]),_=function(){"boolean"!==typeof r&&s(!0)},b=function(){s(!1)};return ne((function(){"boolean"===typeof r&&s(r)}),[r]),ne((function(){var e,t=null===p||void 0===p||null===(e=p.current)||void 0===e?void 0:e.base;if(t)return t.addEventListener("mouseenter",_),t.addEventListener("mouseleave",b),function(){t.removeEventListener("mouseenter",_),t.removeEventListener("mouseleave",b)}}),[p]),Fr(y,{children:[Fr(y,{ref:p,children:t}),c&&yt.createPortal(Fr("div",{className:"vm-tooltip",ref:v,style:g,children:n}),document.body)]})},Ko=[{seconds:0,title:"Off"},{seconds:1,title:"1s"},{seconds:2,title:"2s"},{seconds:5,title:"5s"},{seconds:10,title:"10s"},{seconds:30,title:"30s"},{seconds:60,title:"1m"},{seconds:300,title:"5m"},{seconds:900,title:"15m"},{seconds:1800,title:"30m"},{seconds:3600,title:"1h"},{seconds:7200,title:"2h"}],Xo=function(){var e=yi(),t=gr(),n=At(ee(!1),2),r=n[0],i=n[1],o=At(ee(Ko[0]),2),a=o[0],u=o[1];ne((function(){var t,n=a.seconds;return r?t=setInterval((function(){e({type:"RUN_QUERY"})}),1e3*n):u(Ko[0]),function(){t&&clearInterval(t)}}),[a,r]);var l=At(ee(!1),2),c=l[0],s=l[1],f=ie(null),d=function(e){return function(){!function(e){(r&&!e.seconds||!r&&e.seconds)&&i((function(e){return!e})),u(e),s(!1)}(e)}};return Fr(y,{children:[Fr("div",{className:"vm-execution-controls",children:Fr("div",{className:uo()({"vm-execution-controls-buttons":!0,"vm-header-button":!t}),children:[Fr(Zo,{title:"Refresh dashboard",children:Fr(Qo,{variant:"contained",color:"primary",onClick:function(){e({type:"RUN_QUERY"})},startIcon:Fr(Mi,{})})}),Fr(Zo,{title:"Auto-refresh control",children:Fr("div",{ref:f,children:Fr(Qo,{variant:"contained",color:"primary",fullWidth:!0,endIcon:Fr("div",{className:uo()({"vm-execution-controls-buttons__arrow":!0,"vm-execution-controls-buttons__arrow_open":c}),children:Fr(Bi,{})}),onClick:function(){s((function(e){return!e}))},children:a.title})})})]})}),Fr(Go,{open:c,placement:"bottom-right",onClose:function(){s(!1)},buttonRef:f,children:Fr("div",{className:"vm-execution-controls-list",children:Ko.map((function(e){return Fr("div",{className:uo()({"vm-list-item":!0,"vm-list-item_active":e.seconds===a.seconds}),onClick:d(e),children:e.title},e.seconds)}))})})]})},ea=function(e){var t=e.relativeTime,n=e.setDuration;return Fr("div",{className:"vm-time-duration",children:Kr.map((function(e){var r,i=e.id,o=e.duration,a=e.until,u=e.title;return Fr("div",{className:uo()({"vm-list-item":!0,"vm-list-item_active":i===t}),onClick:(r={duration:o,until:a(),id:i},function(){n(r)}),children:u||o},i)}))})},ta=function(e){var t=e.viewDate,n=e.displayYears,r=e.onChangeViewDate;return Fr("div",{className:"vm-calendar-header",children:[Fr("div",{className:"vm-calendar-header-left",onClick:e.toggleDisplayYears,children:[Fr("span",{className:"vm-calendar-header-left__date",children:t.format("MMMM YYYY")}),Fr("div",{className:"vm-calendar-header-left__select-year",children:Fr(Li,{})})]}),!n&&Fr("div",{className:"vm-calendar-header-right",children:[Fr("div",{className:"vm-calendar-header-right__prev",onClick:function(){r(t.subtract(1,"month"))},children:Fr(Bi,{})}),Fr("div",{className:"vm-calendar-header-right__next",onClick:function(){r(t.add(1,"month"))},children:Fr(Bi,{})})]})]})},na=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ra=function(e){var t=e.viewDate,n=e.selectDate,r=e.onChangeSelectDate,i=_t()().tz().startOf("day"),o=ae((function(){var e=new Array(42).fill(null),n=t.startOf("month"),r=t.endOf("month").diff(n,"day")+1,i=new Array(r).fill(n).map((function(e,t){return e.add(t,"day")})),o=n.day();return e.splice.apply(e,[o,r].concat(Nt(i))),e}),[t]),a=function(e){return function(){e&&r(e)}};return Fr("div",{className:"vm-calendar-body",children:[na.map((function(e){return Fr("div",{className:"vm-calendar-body-cell vm-calendar-body-cell_weekday",children:e[0]},e)})),o.map((function(e,t){return Fr("div",{className:uo()({"vm-calendar-body-cell":!0,"vm-calendar-body-cell_day":!0,"vm-calendar-body-cell_day_empty":!e,"vm-calendar-body-cell_day_active":(e&&e.toISOString())===n.startOf("day").toISOString(),"vm-calendar-body-cell_day_today":(e&&e.toISOString())===i.toISOString()}),onClick:a(e),children:e&&e.format("D")},e?e.toISOString():t)}))]})},ia=function(e){var t=e.viewDate,n=e.onChangeViewDate,r=ae((function(){return t.format("YYYY")}),[t]),i=ae((function(){var e=_t()().subtract(103,"year");return new Array(206).fill(e).map((function(e,t){return e.add(t,"year")}))}),[t]);ne((function(){var e=document.getElementById("vm-calendar-year-".concat(r));e&&e.scrollIntoView({block:"center"})}),[]);return Fr("div",{className:"vm-calendar-years",children:i.map((function(e){return Fr("div",{className:uo()({"vm-calendar-years__year":!0,"vm-calendar-years__year_selected":e.format("YYYY")===r}),id:"vm-calendar-year-".concat(e.format("YYYY")),onClick:(t=e,function(){n(t)}),children:e.format("YYYY")},e.format("YYYY"));var t}))})};!function(e){e[e.hour=0]="hour",e[e.minutes=1]="minutes",e[e.seconds=2]="seconds"}(Yo||(Yo={}));var oa,aa=function(e){var t=e.selectDate,n=e.onChangeTime,r=e.onClose,i=At(ee(Yo.hour),2),o=i[0],a=i[1],u=At(ee(t.format("HH")),2),l=u[0],c=u[1],s=At(ee(t.format("mm")),2),f=s[0],d=s[1],h=At(ee(t.format("ss")),2),p=h[0],v=h[1],m=ae((function(){return o===Yo.hour?new Array(24).fill("00").map((function(e,t){return{value:t,degrees:t/12*360,offset:0===t||t>12,title:t?"".concat(t):e}})):new Array(60).fill("00").map((function(e,t){return{value:t,degrees:t/60*360,offset:!1,title:t?"".concat(t):e}}))}),[o,l,f,p]),y=ae((function(){switch(o){case Yo.hour:return+l/12*360;case Yo.minutes:return+f/60*360;case Yo.seconds:return+p/60*360}}),[o,l,f,p]),g=ie(null),_=ie(null),b=ie(null),D=function(e){return function(t){!function(e,t){t.target.select(),a(e)}(e,t)}};return ne((function(){n("".concat(l,":").concat(f,":").concat(p))}),[l,f,p]),ne((function(){c(t.format("HH")),d(t.format("mm")),v(t.format("ss"))}),[t]),ne((function(){g.current&&g.current.focus()}),[]),Fr("div",{className:"vm-calendar-time-picker",children:[Fr("div",{className:"vm-calendar-time-picker-clock",children:[Fr("div",{className:uo()({"vm-calendar-time-picker-clock__arrow":!0,"vm-calendar-time-picker-clock__arrow_offset":o===Yo.hour&&("00"===l||+l>12)}),style:{transform:"rotate(".concat(y,"deg)")}}),m.map((function(e){return Fr("div",{className:uo()({"vm-calendar-time-picker-clock__time":!0,"vm-calendar-time-picker-clock__time_offset":e.offset,"vm-calendar-time-picker-clock__time_hide":m.length>24&&e.value%5}),style:{transform:"rotate(".concat(e.degrees,"deg)")},onClick:(t=e.value,function(){var e=String(t);switch(o){case Yo.hour:c(e),_.current&&_.current.focus();break;case Yo.minutes:d(e),b.current&&b.current.focus();break;case Yo.seconds:v(e),r()}}),children:Fr("span",{style:{transform:"rotate(-".concat(e.degrees,"deg)")},children:e.title})},e.value);var t}))]}),Fr("div",{className:"vm-calendar-time-picker-fields",children:[Fr("input",{className:"vm-calendar-time-picker-fields__input",value:l,onChange:function(e){var t=e.target,n=t.value,r=+n>23?"23":n;t.value=r,c(r),n.length>1&&_.current&&_.current.focus()},onFocus:D(Yo.hour),ref:g,type:"number",min:0,max:24}),Fr("span",{children:":"}),Fr("input",{className:"vm-calendar-time-picker-fields__input",value:f,onChange:function(e){var t=e.target,n=t.value,r=+n>59?"59":n;t.value=r,d(r),n.length>1&&b.current&&b.current.focus()},onFocus:D(Yo.minutes),ref:_,type:"number",min:0,max:60}),Fr("span",{children:":"}),Fr("input",{className:"vm-calendar-time-picker-fields__input",value:p,onChange:function(e){var t=e.target,n=t.value,i=+n>59?"59":n;t.value=i,v(i),n.length>1&&b.current&&r()},onFocus:D(Yo.seconds),ref:b,type:"number",min:0,max:60})]})]})},ua=[{value:"date",icon:Fr(zi,{})},{value:"time",icon:Fr(Pi,{})}],la=function(e){var t=e.date,n=e.timepicker,r=void 0!==n&&n,i=e.format,o=void 0===i?Ir:i,a=e.onChange,u=e.onClose,l=At(ee(!1),2),c=l[0],s=l[1],f=At(ee(_t().tz(t)),2),d=f[0],h=f[1],p=At(ee(_t().tz(t)),2),v=p[0],m=p[1],g=At(ee(ua[0].value),2),_=g[0],b=g[1],D=function(e){h(e),s(!1)};return ne((function(){v.format()!==_t().tz(t).format()&&a(v.format(o))}),[v]),Fr("div",{className:"vm-calendar",children:["date"===_&&Fr(ta,{viewDate:d,onChangeViewDate:D,toggleDisplayYears:function(){s((function(e){return!e}))},displayYears:c}),"date"===_&&Fr(y,{children:[!c&&Fr(ra,{viewDate:d,selectDate:v,onChangeSelectDate:function(e){m(e),r&&b("time")}}),c&&Fr(ia,{viewDate:d,onChangeViewDate:D})]}),"time"===_&&Fr(aa,{selectDate:v,onChangeTime:function(e){var t=At(e.split(":"),3),n=t[0],r=t[1],i=t[2];m((function(e){return e.set("hour",+n).set("minute",+r).set("second",+i)}))},onClose:function(){u&&u()}}),r&&Fr("div",{className:"vm-calendar__tabs",children:Fr(ho,{activeItem:_,items:ua,onChange:function(e){b(e)},indicatorPlacement:"top"})})]})},ca=Ee((function(e,t){var n=e.date,r=e.targetRef,i=e.format,o=void 0===i?Ir:i,a=e.timepicker,u=e.onChange,l=At(ee(!1),2),c=l[0],s=l[1],f=ae((function(){return n?_t().tz(n):_t()().tz()}),[n]),d=function(){s((function(e){return!e}))},h=function(){s(!1)},p=function(e){"Escape"!==e.key&&"Enter"!==e.key||h()};return ne((function(){var e;return null===(e=r.current)||void 0===e||e.addEventListener("click",d),function(){var e;null===(e=r.current)||void 0===e||e.removeEventListener("click",d)}}),[r]),ne((function(){return window.addEventListener("keyup",p),function(){window.removeEventListener("keyup",p)}}),[]),Fr(y,{children:Fr(Go,{open:c,buttonRef:r,placement:"bottom-right",onClose:h,children:Fr("div",{ref:t,children:Fr(la,{date:f,format:o,timepicker:a,onChange:function(e){a||h(),u(e)},onClose:h})})})})})),sa=ca,fa=function(){var e=ie(null),t=oo(document.body),n=ae((function(){return t.width>1120}),[t]),r=At(ee(),2),i=r[0],o=r[1],a=At(ee(),2),u=a[0],l=a[1],c=ae((function(){return _t().tz(u).format(Ir)}),[u]),s=ae((function(){return _t().tz(i).format(Ir)}),[i]),f=mi(),d=f.period,h=d.end,p=d.start,v=f.relativeTime,m=f.timezone,g=f.duration,_=yi(),b=gr(),D=ae((function(){return{region:m,utc:ei(m)}}),[m]);ne((function(){o(Jr(Zr(h)))}),[m,h]),ne((function(){l(Jr(Zr(p)))}),[m,p]);var w=function(e){var t=e.duration,n=e.until,r=e.id;_({type:"SET_RELATIVE_TIME",payload:{duration:t,until:n,id:r}}),O(!1)},x=ae((function(){return{start:_t().tz(Zr(p)).format(Ir),end:_t().tz(Zr(h)).format(Ir)}}),[p,h,m]),k=ae((function(){return v&&"none"!==v?v.replace(/_/g," "):"".concat(x.start," - ").concat(x.end)}),[v,x]),C=ie(null),E=ie(null),S=ie(null),A=ie(null),N=At(ee(!1),2),F=N[0],O=N[1],T=ie(null),M=function(){O(!1)};return ne((function(){var e=Xr({relativeTimeId:v,defaultDuration:g,defaultEndInput:Zr(h)});w({id:e.relativeTimeId,duration:e.duration,until:e.endInput})}),[m]),Jo(e,(function(e){var t,n,r=e.target,i=(null===C||void 0===C?void 0:C.current)&&C.current.contains(r),o=(null===E||void 0===E?void 0:E.current)&&E.current.contains(r),a=(null===S||void 0===S?void 0:S.current)&&(null===S||void 0===S||null===(t=S.current)||void 0===t?void 0:t.contains(r)),u=(null===A||void 0===A?void 0:A.current)&&(null===A||void 0===A||null===(n=A.current)||void 0===n?void 0:n.contains(r));i||o||a||u||M()})),Fr(y,{children:[Fr("div",{ref:T,children:Fr(Zo,{title:"Time range controls",children:Fr(Qo,{className:b?"":"vm-header-button",variant:"contained",color:"primary",startIcon:Fr(Pi,{}),onClick:function(){O((function(e){return!e}))},children:n&&Fr("span",{children:k})})})}),Fr(Go,{open:F,buttonRef:T,placement:"bottom-right",onClose:M,clickOutside:!1,children:Fr("div",{className:"vm-time-selector",ref:e,children:[Fr("div",{className:"vm-time-selector-left",children:[Fr("div",{className:"vm-time-selector-left-inputs",children:[Fr("div",{className:"vm-time-selector-left-inputs__date",ref:C,children:[Fr("label",{children:"From:"}),Fr("span",{children:c}),Fr(zi,{}),Fr(sa,{ref:S,date:u||"",onChange:function(e){return l(e)},targetRef:C,timepicker:!0})]}),Fr("div",{className:"vm-time-selector-left-inputs__date",ref:E,children:[Fr("label",{children:"To:"}),Fr("span",{children:s}),Fr(zi,{}),Fr(sa,{ref:A,date:i||"",onChange:function(e){return o(e)},targetRef:E,timepicker:!0})]})]}),Fr("div",{className:"vm-time-selector-left-timezone",children:[Fr("div",{className:"vm-time-selector-left-timezone__title",children:D.region}),Fr("div",{className:"vm-time-selector-left-timezone__utc",children:D.utc})]}),Fr(Qo,{variant:"text",startIcon:Fr(Ri,{}),onClick:function(){return _({type:"RUN_QUERY_TO_NOW"})},children:"switch to now"}),Fr("div",{className:"vm-time-selector-left__controls",children:[Fr(Qo,{color:"error",variant:"outlined",onClick:function(){o(Jr(Zr(h))),l(Jr(Zr(p))),O(!1)},children:"Cancel"}),Fr(Qo,{color:"primary",onClick:function(){return u&&i&&_({type:"SET_PERIOD",payload:{from:_t().tz(u).toDate(),to:_t().tz(i).toDate()}}),void O(!1)},children:"Apply"})]})]}),Fr(ea,{relativeTime:v||"",setDuration:w})]})})]})};!function(e){e.emptyServer="Please enter Server URL",e.validServer="Please provide a valid Server URL",e.validQuery="Please enter a valid Query and execute it",e.traceNotFound="Not found the tracing information",e.emptyTitle="Please enter title",e.positiveNumber="Please enter positive number",e.validStep="Please enter a valid step"}(oa||(oa={}));var da=function(e){var t=e.label,n=e.value,r=e.type,i=void 0===r?"text":r,o=e.error,a=void 0===o?"":o,u=e.placeholder,l=e.endIcon,c=e.startIcon,s=e.disabled,f=void 0!==s&&s,d=e.autofocus,h=void 0!==d&&d,p=e.helperText,v=e.onChange,m=e.onEnter,y=e.onKeyDown,g=e.onFocus,_=e.onBlur,b=ie(null),D=ie(null),w=ae((function(){return"textarea"===i?D:b}),[i]),x=uo()({"vm-text-field__input":!0,"vm-text-field__input_error":a,"vm-text-field__input_icon-start":c,"vm-text-field__input_disabled":f,"vm-text-field__input_textarea":"textarea"===i}),k=function(e){y&&y(e),"Enter"!==e.key||e.shiftKey||(e.preventDefault(),m&&m())},C=function(e){f||v&&v(e.target.value)};ne((function(){var e;h&&(null===w||void 0===w||null===(e=w.current)||void 0===e?void 0:e.focus)&&w.current.focus()}),[w,h]);var E=function(){g&&g()},S=function(){_&&_()};return Fr("label",{className:uo()({"vm-text-field":!0,"vm-text-field_textarea":"textarea"===i}),"data-replicated-value":n,children:[c&&Fr("div",{className:"vm-text-field__icon-start",children:c}),l&&Fr("div",{className:"vm-text-field__icon-end",children:l}),"textarea"===i?Fr("textarea",{className:x,disabled:f,ref:D,value:n,rows:1,placeholder:u,onInput:C,onKeyDown:k,onFocus:E,onBlur:S}):Fr("input",{className:x,disabled:f,ref:b,value:n,type:i,placeholder:u,onInput:C,onKeyDown:k,onFocus:E,onBlur:S}),t&&Fr("span",{className:"vm-text-field__label",children:t}),Fr("span",{className:"vm-text-field__error","data-show":!!a,children:a}),p&&!a&&Fr("span",{className:"vm-text-field__helper-text",children:p})]})},ha=function(e){var t;try{t=new URL(e)}catch(_){return!1}return"http:"===t.protocol||"https:"===t.protocol},pa=function(e){var t=e.serverUrl,n=e.onChange,r=e.onEnter,i=At(ee(""),2),o=i[0],a=i[1];return Fr("div",{children:[Fr("div",{className:"vm-server-configurator__title",children:"Server URL"}),Fr(da,{autofocus:!0,value:t,error:o,onChange:function(e){var t=e||"";n(t),a(""),t||a(oa.emptyServer),ha(t)||a(oa.validServer)},onEnter:r})]})},va=function(e){var t=e.title,n=e.children,r=e.onClose,i=function(e){"Escape"===e.key&&r()};return ne((function(){return window.addEventListener("keyup",i),function(){window.removeEventListener("keyup",i)}}),[]),yt.createPortal(Fr("div",{className:"vm-modal",onMouseDown:r,children:Fr("div",{className:"vm-modal-content",children:[Fr("div",{className:"vm-modal-content-header",children:[t&&Fr("div",{className:"vm-modal-content-header__title",children:t}),Fr("div",{className:"vm-modal-header__close",children:Fr(Qo,{variant:"text",size:"small",onClick:r,children:Fr(Si,{})})})]}),Fr("div",{className:"vm-modal-content-body",onMouseDown:function(e){e.stopPropagation()},children:n})]})}),document.body)},ma=[{label:"Graph",type:"chart"},{label:"JSON",type:"code"},{label:"Table",type:"table"}],ya=function(e){var t=e.limits,n=e.onChange,r=e.onEnter,i=At(ee({table:"",chart:"",code:""}),2),o=i[0],a=i[1],u=function(e){return function(r){!function(e,r){var i=e||"";a((function(e){return dr(dr({},e),{},sr({},r,+i<0?oa.positiveNumber:""))})),n(dr(dr({},t),{},sr({},r,i||1/0)))}(r,e)}};return Fr("div",{className:"vm-limits-configurator",children:[Fr("div",{className:"vm-server-configurator__title",children:["Series limits by tabs",Fr(Zo,{title:"To disable limits set to 0",children:Fr(Qo,{variant:"text",color:"primary",size:"small",startIcon:Fr(Ni,{})})}),Fr("div",{className:"vm-limits-configurator-title__reset",children:Fr(Qo,{variant:"text",color:"primary",size:"small",startIcon:Fr(Ai,{}),onClick:function(){n(xr)},children:"Reset"})})]}),Fr("div",{className:"vm-limits-configurator__inputs",children:ma.map((function(e){return Fr(da,{label:e.label,value:t[e.type],error:o[e.type],onChange:u(e.type),onEnter:r,type:"number"},e.type)}))})]})},ga=function(e){var t=e.defaultExpanded,n=void 0!==t&&t,r=e.onChange,i=e.title,o=e.children,a=At(ee(n),2),u=a[0],l=a[1];return ne((function(){r&&r(u)}),[u]),Fr(y,{children:[Fr("header",{className:"vm-accordion-header ".concat(u&&"vm-accordion-header_open"),onClick:function(){l((function(e){return!e}))},children:[i,Fr("div",{className:"vm-accordion-header__arrow ".concat(u&&"vm-accordion-header__arrow_open"),children:Fr(Bi,{})})]}),u&&Fr("section",{className:"vm-accordion-section",children:o},"content")]})},_a=function(e){var t=e.timezoneState,n=e.onChange,r=ti(),i=At(ee(!1),2),o=i[0],a=i[1],u=At(ee(""),2),l=u[0],c=u[1],f=ie(null),d=ae((function(){if(!l)return r;try{return ti(l)}catch(s){return{}}}),[l,r]),h=ae((function(){return Object.keys(d)}),[d]),p=ae((function(){return{region:_t().tz.guess(),utc:ei(_t().tz.guess())}}),[]),v=ae((function(){return{region:t,utc:ei(t)}}),[t]),m=function(){a(!1)},y=function(e){return function(){!function(e){n(e.region),c(""),m()}(e)}};return Fr("div",{className:"vm-timezones",children:[Fr("div",{className:"vm-server-configurator__title",children:"Time zone"}),Fr("div",{className:"vm-timezones-item vm-timezones-item_selected",onClick:function(){a((function(e){return!e}))},ref:f,children:[Fr("div",{className:"vm-timezones-item__title",children:v.region}),Fr("div",{className:"vm-timezones-item__utc",children:v.utc}),Fr("div",{className:uo()({"vm-timezones-item__icon":!0,"vm-timezones-item__icon_open":o}),children:Fr(Li,{})})]}),Fr(Go,{open:o,buttonRef:f,placement:"bottom-left",onClose:m,children:Fr("div",{className:"vm-timezones-list",children:[Fr("div",{className:"vm-timezones-list-header",children:[Fr("div",{className:"vm-timezones-list-header__search",children:Fr(da,{autofocus:!0,label:"Search",value:l,onChange:function(e){c(e)}})}),Fr("div",{className:"vm-timezones-item vm-timezones-list-group-options__item",onClick:y(p),children:[Fr("div",{className:"vm-timezones-item__title",children:["Browser Time (",p.region,")"]}),Fr("div",{className:"vm-timezones-item__utc",children:p.utc})]})]}),h.map((function(e){return Fr("div",{className:"vm-timezones-list-group",children:Fr(ga,{defaultExpanded:!0,title:Fr("div",{className:"vm-timezones-list-group__title",children:e}),children:Fr("div",{className:"vm-timezones-list-group-options",children:d[e]&&d[e].map((function(e){return Fr("div",{className:"vm-timezones-item vm-timezones-list-group-options__item",onClick:y(e),children:[Fr("div",{className:"vm-timezones-item__title",children:e.region}),Fr("div",{className:"vm-timezones-item__utc",children:e.utc})]},e.search)}))})})},e)}))]})})]})},ba="Settings",Da=function(){var e=gr(),t=Tr().serverUrl,n=mi().timezone,r=wo().seriesLimits,i=Mr(),o=yi(),a=xo(),u=At(ee(t),2),l=u[0],c=u[1],s=At(ee(r),2),f=s[0],d=s[1],h=At(ee(n),2),p=h[0],v=h[1],m=At(ee(!1),2),g=m[0],_=m[1],b=function(){return _(!1)},D=function(){i({type:"SET_SERVER",payload:l}),o({type:"SET_TIMEZONE",payload:p}),a({type:"SET_SERIES_LIMITS",payload:f}),b()};return Fr(y,{children:[Fr(Zo,{title:ba,children:Fr(Qo,{className:uo()({"vm-header-button":!e}),variant:"contained",color:"primary",startIcon:Fr(Ei,{}),onClick:function(){return _(!0)}})}),g&&Fr(va,{title:ba,onClose:b,children:Fr("div",{className:"vm-server-configurator",children:[!e&&Fr("div",{className:"vm-server-configurator__input",children:Fr(pa,{serverUrl:l,onChange:c,onEnter:D})}),Fr("div",{className:"vm-server-configurator__input",children:Fr(ya,{limits:f,onChange:d,onEnter:D})}),Fr("div",{className:"vm-server-configurator__input",children:Fr(_a,{timezoneState:p,onChange:v})}),Fr("div",{className:"vm-server-configurator__footer",children:[Fr(Qo,{variant:"outlined",color:"error",onClick:b,children:"Cancel"}),Fr(Qo,{variant:"contained",onClick:D,children:"apply"})]})]})})]})},wa={windows:"Windows",mac:"Mac OS",linux:"Linux"},xa=(Object.values(wa).find((function(e){return navigator.userAgent.indexOf(e)>=0}))||"unknown")===wa.mac?"Cmd":"Ctrl",ka=[{title:"Query",list:[{keys:["Enter"],description:"Run"},{keys:["Shift","Enter"],description:"Multi-line queries"},{keys:[xa,"Arrow Up"],description:"Previous command from the Query history"},{keys:[xa,"Arrow Down"],description:"Next command from the Query history"},{keys:[xa,"Click by 'Eye'"],description:"Toggle multiple queries"}]},{title:"Graph",list:[{keys:[xa,"Scroll Up"],alt:["+"],description:"Zoom in"},{keys:[xa,"Scroll Down"],alt:["-"],description:"Zoom out"},{keys:[xa,"Click and Drag"],description:"Move the graph left/right"}]},{title:"Legend",list:[{keys:["Mouse Click"],description:"Select series"},{keys:[xa,"Mouse Click"],description:"Toggle multiple series"}]}],Ca=function(){var e=At(ee(!1),2),t=e[0],n=e[1],r=gr();return Fr(y,{children:[Fr(Zo,{title:"Shortcut keys",placement:"bottom-center",children:Fr(Qo,{className:r?"":"vm-header-button",variant:"contained",color:"primary",startIcon:Fr(ji,{}),onClick:function(){n(!0)}})}),t&&Fr(va,{title:"Shortcut keys",onClose:function(){n(!1)},children:Fr("div",{className:"vm-shortcuts",children:ka.map((function(e){return Fr("div",{className:"vm-shortcuts-section",children:[Fr("h3",{className:"vm-shortcuts-section__title",children:e.title}),Fr("div",{className:"vm-shortcuts-section-list",children:e.list.map((function(e){return Fr("div",{className:"vm-shortcuts-section-list-item",children:[Fr("div",{className:"vm-shortcuts-section-list-item__key",children:[e.keys.map((function(t,n){return Fr(y,{children:[Fr("code",{children:t},t),n!==e.keys.length-1?"+":""]})})),e.alt&&e.alt.map((function(t,n){return Fr(y,{children:["or",Fr("code",{children:t},t),n!==e.alt.length-1?"+":""]})}))]}),Fr("p",{className:"vm-shortcuts-section-list-item__description",children:e.description})]},e.keys.join("+"))}))})]},e.title)}))})})]})},Ea=function(){var e=gr(),t=ie(null),n=To().date,r=Mo(),i=ae((function(){return _t().tz(n).format(Lr)}),[n]);return Fr("div",{children:[Fr("div",{ref:t,children:Fr(Zo,{title:"Date control",children:Fr(Qo,{className:e?"":"vm-header-button",variant:"contained",color:"primary",startIcon:Fr(zi,{}),children:i})})}),Fr(sa,{date:n||"",format:Lr,onChange:function(e){r({type:"SET_DATE",payload:e})},targetRef:t})]})};var Sa=function(e){var t=ie();return ne((function(){t.current=e}),[e]),t.current},Aa=function(){var e=gr(),t=So().customStep,n=mi().period.step,r=Ao(),i=mi().period,o=Sa(i.end-i.start),a=At(ee(!1),2),u=a[0],l=a[1],c=At(ee(t||n),2),s=c[0],f=c[1],d=At(ee(""),2),h=d[0],p=d[1],v=ie(null),m=function(){l(!1)},y=function(e){var t=e||s||n||"1s",i=(t.match(/[a-zA-Z]+/g)||[]).length?t:"".concat(t,"s");r({type:"SET_CUSTOM_STEP",payload:i}),f(i),p("")},g=function(e){var t=e.match(/[-+]?([0-9]*\.[0-9]+|[0-9]+)/g)||[],n=e.match(/[a-zA-Z]+/g)||[],r=t.length&&t.every((function(e){return parseFloat(e)>0})),i=n.every((function(e){return Ur.find((function(t){return t.short===e}))})),o=r&&i;f(e),p(o?"":oa.validStep)};return ne((function(){t&&y(t)}),[t]),ne((function(){!t&&n&&y(n)}),[n]),ne((function(){i.end-i.start!==o&&o&&n&&y(n)}),[i,o,n]),Fr("div",{className:"vm-step-control",ref:v,children:[Fr(Zo,{title:"Query resolution step width",children:Fr(Qo,{className:e?"":"vm-header-button",variant:"contained",color:"primary",startIcon:Fr(no,{}),onClick:function(){l((function(e){return!e}))},children:["STEP ",s]})}),Fr(Go,{open:u,placement:"bottom-right",onClose:m,buttonRef:v,children:Fr("div",{className:"vm-step-control-popper",children:[Fr(da,{autofocus:!0,label:"Step value",value:s,error:h,onChange:g,onEnter:function(){y(),m()},onFocus:function(){document.activeElement instanceof HTMLInputElement&&document.activeElement.select()},onBlur:y,endIcon:Fr(Zo,{title:"Set default step value: ".concat(n),children:Fr(Qo,{size:"small",variant:"text",color:"primary",startIcon:Fr(Ai,{}),onClick:function(){var e=n||"1s";g(e),y(e)}})})}),Fr("div",{className:"vm-step-control-popper-info",children:[Fr("code",{children:"step"})," - the ",Fr("a",{className:"vm-link vm-link_colored",href:"https://prometheus.io/docs/prometheus/latest/querying/basics/#time-durations",target:"_blank",rel:"noreferrer",children:"interval"}),"between datapoints, which must be returned from the range query. The ",Fr("code",{children:"query"})," is executed at",Fr("code",{children:"start"}),", ",Fr("code",{children:"start+step"}),", ",Fr("code",{children:"start+2*step"}),", \u2026, ",Fr("code",{children:"end"})," timestamps.",Fr("a",{className:"vm-link vm-link_colored",href:"https://docs.victoriametrics.com/keyConcepts.html#range-query",target:"_blank",rel:"noreferrer",children:"Read more about Range query"})]})]})})]})},Na=function(){var e=ro("color-primary"),t=gr(),n=Vo().dashboardsSettings,r=yr().headerStyles,i=(r=void 0===r?{}:r).background,o=void 0===i?t?"#FFF":e:i,a=r.color,u=void 0===a?t?e:"#FFF":a,l=zn(),c=Pn(),s=c.search,f=c.pathname,d=ae((function(){return[{label:vr[mr.home].title,value:mr.home},{label:vr[mr.metrics].title,value:mr.metrics},{label:vr[mr.cardinality].title,value:mr.cardinality},{label:vr[mr.topQueries].title,value:mr.topQueries},{label:vr[mr.trace].title,value:mr.trace},{label:vr[mr.dashboards].title,value:mr.dashboards,hide:t||!n.length}]}),[t,n]),h=At(ee(f),2),p=h[0],v=h[1],m=ae((function(){return(vr[f]||{}).header||{}}),[f]),y=function(e){l({pathname:e,search:s})};return ne((function(){v(f)}),[f]),Fr("header",{className:uo()({"vm-header":!0,"vm-header_app":t}),style:{background:o,color:u},children:[!t&&Fr("div",{className:"vm-header-logo",onClick:function(){y(mr.home),Cr({}),window.location.reload()},style:{color:u},children:Fr(ki,{})}),Fr("div",{className:"vm-header-nav",children:Fr(ho,{isNavLink:!0,activeItem:p,items:d.filter((function(e){return!e.hide})),color:u})}),Fr("div",{className:"vm-header__settings",children:[(null===m||void 0===m?void 0:m.stepControl)&&Fr(Aa,{}),(null===m||void 0===m?void 0:m.timeSelector)&&Fr(fa,{}),(null===m||void 0===m?void 0:m.cardinalityDatePicker)&&Fr(Ea,{}),(null===m||void 0===m?void 0:m.executionControls)&&Fr(Xo,{}),Fr(Da,{}),Fr(Ca,{})]})]})},Fa=function(){var e="2019-".concat(_t()().format("YYYY"));return Fr("footer",{className:"vm-footer",children:[Fr("a",{className:"vm-link vm-footer__website",target:"_blank",href:"https://victoriametrics.com/",rel:"noreferrer",children:[Fr(Ci,{}),"victoriametrics.com"]}),Fr("a",{className:"vm-link",target:"_blank",href:"https://github.com/VictoriaMetrics/VictoriaMetrics/issues/new/choose",rel:"noreferrer",children:"create an issue"}),Fr("div",{className:"vm-footer__copyright",children:["\xa9 ",e," VictoriaMetrics"]})]})};function Oa(){Oa=function(){return e};var e={},t=Object.prototype,n=t.hasOwnProperty,r=Object.defineProperty||function(e,t,n){e[t]=n.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function l(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(A){l=function(e,t,n){return e[t]=n}}function c(e,t,n,i){var o=t&&t.prototype instanceof d?t:d,a=Object.create(o.prototype),u=new C(i||[]);return r(a,"_invoke",{value:D(e,n,u)}),a}function s(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(A){return{type:"throw",arg:A}}}e.wrap=c;var f={};function d(){}function h(){}function p(){}var v={};l(v,o,(function(){return this}));var m=Object.getPrototypeOf,y=m&&m(m(E([])));y&&y!==t&&n.call(y,o)&&(v=y);var g=p.prototype=d.prototype=Object.create(v);function _(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){function i(r,o,a,u){var l=s(e[r],e,o);if("throw"!==l.type){var c=l.arg,f=c.value;return f&&"object"==Ot(f)&&n.call(f,"__await")?t.resolve(f.__await).then((function(e){i("next",e,a,u)}),(function(e){i("throw",e,a,u)})):t.resolve(f).then((function(e){c.value=e,a(c)}),(function(e){return i("throw",e,a,u)}))}u(l.arg)}var o;r(this,"_invoke",{value:function(e,n){function r(){return new t((function(t,r){i(e,n,t,r)}))}return o=o?o.then(r,r):r()}})}function D(e,t,n){var r="suspendedStart";return function(i,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw o;return S()}for(n.method=i,n.arg=o;;){var a=n.delegate;if(a){var u=w(a,n);if(u){if(u===f)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var l=s(e,t,n);if("normal"===l.type){if(r=n.done?"completed":"suspendedYield",l.arg===f)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r="completed",n.method="throw",n.arg=l.arg)}}}function w(e,t){var n=t.method,r=e.iterator[n];if(void 0===r)return t.delegate=null,"throw"===n&&e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method)||"return"!==n&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+n+"' method")),f;var i=s(r,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,f;var o=i.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,f):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,f)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function k(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function C(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function E(e){if(e){var t=e[o];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,i=function t(){for(;++r=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var u=n.call(o,"catchLoc"),l=n.call(o,"finallyLoc");if(u&&l){if(this.prev=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),k(n),f}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;k(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:E(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),f}},e}function Ta(e,t,n,r,i,o,a){try{var u=e[o](a),l=u.value}catch(c){return void n(c)}u.done?t(l):Promise.resolve(l).then(r,i)}function Ma(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function a(e){Ta(o,r,i,a,u,"next",e)}function u(e){Ta(o,r,i,a,u,"throw",e)}a(void 0)}))}}var Ba=function(){var e=Ma(Oa().mark((function e(t){var n,r;return Oa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch("./dashboards/".concat(t));case 2:return n=e.sent,e.next=5,n.json();case 5:return r=e.sent,e.abrupt("return",r);case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),La=function(){var e=gr(),t=Tr().serverUrl,n=le(qo).dispatch,r=At(ee(!1),2),i=r[0],o=r[1],a=At(ee(""),2),u=a[0],l=a[1],c=At(ee([]),2),s=c[0],f=c[1],d=function(){var e=Ma(Oa().mark((function e(){var t;return Oa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!==(t=window.__VMUI_PREDEFINED_DASHBOARDS__)&&void 0!==t&&t.length){e.next=3;break}return e.abrupt("return",[]);case 3:return e.next=5,Promise.all(t.map(function(){var e=Ma(Oa().mark((function e(t){return Oa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Ba(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),h=function(){var e=Ma(Oa().mark((function e(){var n,r,i;return Oa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return");case 2:return l(""),o(!0),e.prev=4,e.next=7,fetch("".concat(t,"/vmui/custom-dashboards"));case 7:return n=e.sent,e.next=10,n.json();case 10:r=e.sent,n.ok?((i=r.dashboardsSettings)&&i.length>0&&f((function(e){return[].concat(Nt(e),Nt(i))})),o(!1)):(l(r.error),o(!1)),e.next=18;break;case 14:e.prev=14,e.t0=e.catch(4),o(!1),e.t0 instanceof Error&&l("".concat(e.t0.name,": ").concat(e.t0.message));case 18:case"end":return e.stop()}}),e,null,[[4,14]])})));return function(){return e.apply(this,arguments)}}();return ne((function(){e||(f([]),d().then((function(e){return e.length&&f((function(t){return[].concat(Nt(e),Nt(t))}))})),h())}),[t]),ne((function(){n({type:"SET_DASHBOARDS_SETTINGS",payload:s})}),[s]),ne((function(){n({type:"SET_DASHBOARDS_LOADING",payload:i})}),[i]),ne((function(){n({type:"SET_DASHBOARDS_ERROR",payload:u})}),[u]),{dashboardsSettings:s,isLoading:i,error:u}},Ia=function(){var e=gr();La();var t=Pn().pathname;return ne((function(){var e,n="VM UI",r=null===(e=vr[t])||void 0===e?void 0:e.title;document.title=r?"".concat(r," - ").concat(n):n}),[t]),Fr("section",{className:"vm-container",children:[Fr(Na,{}),Fr("div",{className:uo()({"vm-container-body":!0,"vm-container-body_app":e}),children:Fr(Jn,{})}),!e&&Fr(Fa,{})]})};function Pa(e,t){var n="undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=St(e))||t&&e&&"number"===typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,u=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){u=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw o}}}}var za,Ra,ja="u-off",$a="u-label",Ua="width",Ha="height",Ya="top",qa="bottom",Va="left",Wa="right",Qa="#000",Ja=Qa+"0",Ga="mousemove",Za="mousedown",Ka="mouseup",Xa="mouseenter",eu="mouseleave",tu="dblclick",nu="change",ru="dppxchange",iu="undefined"!=typeof window,ou=iu?document:null,au=iu?window:null,uu=iu?navigator:null;function lu(e,t){if(null!=t){var n=e.classList;!n.contains(t)&&n.add(t)}}function cu(e,t){var n=e.classList;n.contains(t)&&n.remove(t)}function su(e,t,n){e.style[t]=n+"px"}function fu(e,t,n,r){var i=ou.createElement(e);return null!=t&&lu(i,t),null!=n&&n.insertBefore(i,r),i}function du(e,t){return fu("div",e,t)}var hu=new WeakMap;function pu(e,t,n,r,i){var o="translate("+t+"px,"+n+"px)";o!=hu.get(e)&&(e.style.transform=o,hu.set(e,o),t<0||n<0||t>r||n>i?lu(e,ja):cu(e,ja))}var vu=new WeakMap;function mu(e,t,n){var r=t+n;r!=vu.get(e)&&(vu.set(e,r),e.style.background=t,e.style.borderColor=n)}var yu=new WeakMap;function gu(e,t,n,r){var i=t+""+n;i!=yu.get(e)&&(yu.set(e,i),e.style.height=n+"px",e.style.width=t+"px",e.style.marginLeft=r?-t/2+"px":0,e.style.marginTop=r?-n/2+"px":0)}var _u={passive:!0},bu=dr(dr({},_u),{},{capture:!0});function Du(e,t,n,r){t.addEventListener(e,n,r?bu:_u)}function wu(e,t,n,r){t.removeEventListener(e,n,r?bu:_u)}function xu(e,t,n,r){var i;n=n||0;for(var o=(r=r||t.length-1)<=2147483647;r-n>1;)t[i=o?n+r>>1:ju((n+r)/2)]=t&&i<=n;i+=r)if(null!=e[i])return i;return-1}function Cu(e,t,n,r){var i=Gu,o=-Gu;if(1==r)i=e[t],o=e[n];else if(-1==r)i=e[n],o=e[t];else for(var a=t;a<=n;a++)null!=e[a]&&(i=Hu(i,e[a]),o=Yu(o,e[a]));return[i,o]}function Eu(e,t,n){for(var r=Gu,i=-Gu,o=t;o<=n;o++)e[o]>0&&(r=Hu(r,e[o]),i=Yu(i,e[o]));return[r==Gu?1:r,i==-Gu?10:i]}function Su(e,t,n,r){var i=Vu(e),o=Vu(t),a=10==n?Wu:Qu;e==t&&(-1==i?(e*=n,t/=n):(e/=n,t*=n));var u=1==o?Uu:ju,l=(1==i?ju:Uu)(a(Ru(e))),c=u(a(Ru(t))),s=qu(n,l),f=qu(n,c);return l<0&&(s=ll(s,-l)),c<0&&(f=ll(f,-c)),r?(e=s*i,t=f*o):(e=ul(e,s),t=al(t,f)),[e,t]}function Au(e,t,n,r){var i=Su(e,t,n,r);return 0==e&&(i[0]=0),0==t&&(i[1]=0),i}iu&&function e(){var t=devicePixelRatio;za!=t&&(za=t,Ra&&wu(nu,Ra,e),Ra=matchMedia("(min-resolution: ".concat(za-.001,"dppx) and (max-resolution: ").concat(za+.001,"dppx)")),Du(nu,Ra,e),au.dispatchEvent(new CustomEvent(ru)))}();var Nu={mode:3,pad:.1},Fu={pad:0,soft:null,mode:0},Ou={min:Fu,max:Fu};function Tu(e,t,n,r){return gl(n)?Bu(e,t,n):(Fu.pad=n,Fu.soft=r?0:null,Fu.mode=r?3:0,Bu(e,t,Ou))}function Mu(e,t){return null==e?t:e}function Bu(e,t,n){var r=n.min,i=n.max,o=Mu(r.pad,0),a=Mu(i.pad,0),u=Mu(r.hard,-Gu),l=Mu(i.hard,Gu),c=Mu(r.soft,Gu),s=Mu(i.soft,-Gu),f=Mu(r.mode,0),d=Mu(i.mode,0),h=t-e,p=Wu(h),v=Yu(Ru(e),Ru(t)),m=Wu(v),y=Ru(m-p);(h<1e-9||y>10)&&(h=0,0!=e&&0!=t||(h=1e-9,2==f&&c!=Gu&&(o=0),2==d&&s!=-Gu&&(a=0)));var g=h||v||1e3,_=Wu(g),b=qu(10,ju(_)),D=ll(ul(e-g*(0==h?0==e?.1:1:o),b/10),9),w=e>=c&&(1==f||3==f&&D<=c||2==f&&D>=c)?c:Gu,x=Yu(u,D=w?w:Hu(w,D)),k=ll(al(t+g*(0==h?0==t?.1:1:a),b/10),9),C=t<=s&&(1==d||3==d&&k>=s||2==d&&k<=s)?s:-Gu,E=Hu(l,k>C&&t<=C?C:Yu(C,k));return x==E&&0==x&&(E=100),[x,E]}var Lu=new Intl.NumberFormat(iu?uu.language:"en-US"),Iu=function(e){return Lu.format(e)},Pu=Math,zu=Pu.PI,Ru=Pu.abs,ju=Pu.floor,$u=Pu.round,Uu=Pu.ceil,Hu=Pu.min,Yu=Pu.max,qu=Pu.pow,Vu=Pu.sign,Wu=Pu.log10,Qu=Pu.log2,Ju=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return Pu.asinh(e/t)},Gu=1/0;function Zu(e){return 1+(0|Wu((e^e>>31)-(e>>31)))}function Ku(e,t){return $u(e/t)*t}function Xu(e,t,n){return Hu(Yu(e,t),n)}function el(e){return"function"==typeof e?e:function(){return e}}var tl=function(e){return e},nl=function(e,t){return t},rl=function(e){return null},il=function(e){return!0},ol=function(e,t){return e==t};function al(e,t){return Uu(e/t)*t}function ul(e,t){return ju(e/t)*t}function ll(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(ml(e))return e;var n=Math.pow(10,t),r=e*n*(1+Number.EPSILON);return $u(r)/n}var cl=new Map;function sl(e){return((""+e).split(".")[1]||"").length}function fl(e,t,n,r){for(var i=[],o=r.map(sl),a=t;a=0&&a>=0?0:u)+(a>=o[c]?0:o[c]),d=ll(s,f);i.push(d),cl.set(d,f)}return i}var dl={},hl=[],pl=[null,null],vl=Array.isArray,ml=Number.isInteger;function yl(e){return"string"==typeof e}function gl(e){var t=!1;if(null!=e){var n=e.constructor;t=null==n||n==Object}return t}function _l(e){return null!=e&&"object"==typeof e}var bl=Object.getPrototypeOf(Uint8Array);function Dl(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:gl;if(vl(e)){var r=e.find((function(e){return null!=e}));if(vl(r)||n(r)){t=Array(e.length);for(var i=0;io){for(r=a-1;r>=0&&null==e[r];)e[r--]=null;for(r=a+1;r12?t-12:t},AA:function(e){return e.getHours()>=12?"PM":"AM"},aa:function(e){return e.getHours()>=12?"pm":"am"},a:function(e){return e.getHours()>=12?"p":"a"},mm:function(e){return Ol(e.getMinutes())},m:function(e){return e.getMinutes()},ss:function(e){return Ol(e.getSeconds())},s:function(e){return e.getSeconds()},fff:function(e){return((t=e.getMilliseconds())<10?"00":t<100?"0":"")+t;var t}};function Ml(e,t){t=t||Fl;for(var n,r=[],i=/\{([a-z]+)\}|[^{]+/gi;n=i.exec(e);)r.push("{"==n[0][0]?Tl[n[1]]:n[0]);return function(e){for(var n="",i=0;i=a,v=f>=o&&f=i?i:f,F=_+(ju(c)-ju(y))+al(y-_,N);h.push(F);for(var O=t(F),T=O.getHours()+O.getMinutes()/n+O.getSeconds()/r,M=f/r,B=d/u.axes[l]._space;!((F=ll(F+f,1==e?0:3))>s);)if(M>1){var L=ju(ll(T+M,6))%24,I=t(F).getHours()-L;I>1&&(I=-1),T=(T+M)%24,ll(((F-=I*r)-h[h.length-1])/f,3)*B>=.7&&h.push(F)}else h.push(F)}return h}}]}var Kl=At(Zl(1),3),Xl=Kl[0],ec=Kl[1],tc=Kl[2],nc=At(Zl(.001),3),rc=nc[0],ic=nc[1],oc=nc[2];function ac(e,t){return e.map((function(e){return e.map((function(n,r){return 0==r||8==r||null==n?n:t(1==r||0==e[8]?n:e[1]+n)}))}))}function uc(e,t){return function(n,r,i,o,a){var u,l,c,s,f,d,h=t.find((function(e){return a>=e[0]}))||t[t.length-1];return r.map((function(t){var n=e(t),r=n.getFullYear(),i=n.getMonth(),o=n.getDate(),a=n.getHours(),p=n.getMinutes(),v=n.getSeconds(),m=r!=u&&h[2]||i!=l&&h[3]||o!=c&&h[4]||a!=s&&h[5]||p!=f&&h[6]||v!=d&&h[7]||h[1];return u=r,l=i,c=o,s=a,f=p,d=v,m(n)}))}}function lc(e,t,n){return new Date(e,t,n)}function cc(e,t){return t(e)}fl(2,-53,53,[1]);function sc(e,t){return function(n,r){return t(e(r))}}var fc={show:!0,live:!0,isolate:!1,mount:function(){},markers:{show:!0,width:2,stroke:function(e,t){var n=e.series[t];return n.width?n.stroke(e,t):n.points.width?n.points.stroke(e,t):null},fill:function(e,t){return e.series[t].fill(e,t)},dash:"solid"},idx:null,idxs:null,values:[]};var dc=[0,0];function hc(e,t,n){return function(e){0==e.button&&n(e)}}function pc(e,t,n){return n}var vc={show:!0,x:!0,y:!0,lock:!1,move:function(e,t,n){return dc[0]=t,dc[1]=n,dc},points:{show:function(e,t){var n=e.cursor.points,r=du(),i=n.size(e,t);su(r,Ua,i),su(r,Ha,i);var o=i/-2;su(r,"marginLeft",o),su(r,"marginTop",o);var a=n.width(e,t,i);return a&&su(r,"borderWidth",a),r},size:function(e,t){return Lc(e.series[t].points.width,1)},width:0,stroke:function(e,t){var n=e.series[t].points;return n._stroke||n._fill},fill:function(e,t){var n=e.series[t].points;return n._fill||n._stroke}},bind:{mousedown:hc,mouseup:hc,click:hc,dblclick:hc,mousemove:pc,mouseleave:pc,mouseenter:pc},drag:{setScale:!0,x:!0,y:!1,dist:0,uni:null,_x:!1,_y:!1},focus:{prox:-1},left:-10,top:-10,idx:null,dataIdx:function(e,t,n){return n},idxs:null},mc={show:!0,stroke:"rgba(0,0,0,0.07)",width:2},yc=wl({},mc,{filter:nl}),gc=wl({},yc,{size:10}),_c=wl({},mc,{show:!1}),bc='12px system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"',Dc="bold "+bc,wc={show:!0,scale:"x",stroke:Qa,space:50,gap:5,size:50,labelGap:0,labelSize:30,labelFont:Dc,side:2,grid:yc,ticks:gc,border:_c,font:bc,rotate:0},xc={show:!0,scale:"x",auto:!1,sorted:1,min:Gu,max:-Gu,idxs:[]};function kc(e,t,n,r,i){return t.map((function(e){return null==e?"":Iu(e)}))}function Cc(e,t,n,r,i,o,a){for(var u=[],l=cl.get(i)||0,c=n=a?n:ll(al(n,i),l);c<=r;c=ll(c+i,l))u.push(Object.is(c,-0)?0:c);return u}function Ec(e,t,n,r,i,o,a){var u=[],l=e.scales[e.axes[t].scale].log,c=ju((10==l?Wu:Qu)(n));i=qu(l,c),c<0&&(i=ll(i,-c));var s=n;do{u.push(s),(s=ll(s+i,cl.get(i)))>=i*l&&(i=s)}while(s<=r);return u}function Sc(e,t,n,r,i,o,a){var u=e.scales[e.axes[t].scale].asinh,l=r>u?Ec(e,t,Yu(u,n),r,i):[u],c=r>=0&&n<=0?[0]:[];return(n<-u?Ec(e,t,Yu(u,-r),-n,i):[u]).reverse().map((function(e){return-e})).concat(c,l)}var Ac=/./,Nc=/[12357]/,Fc=/[125]/,Oc=/1/;function Tc(e,t,n,r,i){var o=e.axes[n],a=o.scale,u=e.scales[a];if(3==u.distr&&2==u.log)return t;var l=e.valToPos,c=o._space,s=l(10,a),f=l(9,a)-s>=c?Ac:l(7,a)-s>=c?Nc:l(5,a)-s>=c?Fc:Oc;return t.map((function(e){return 4==u.distr&&0==e||f.test(e)?e:null}))}function Mc(e,t){return null==t?"":Iu(t)}var Bc={show:!0,scale:"y",stroke:Qa,space:30,gap:5,size:50,labelGap:0,labelSize:30,labelFont:Dc,side:3,grid:yc,ticks:gc,border:_c,font:bc,rotate:0};function Lc(e,t){return ll((3+2*(e||1))*t,3)}var Ic={scale:null,auto:!0,sorted:0,min:Gu,max:-Gu},Pc=function(e,t,n,r,i){return i},zc={show:!0,auto:!0,sorted:0,gaps:Pc,alpha:1,facets:[wl({},Ic,{scale:"x"}),wl({},Ic,{scale:"y"})]},Rc={scale:"y",auto:!0,sorted:0,show:!0,spanGaps:!1,gaps:Pc,alpha:1,points:{show:function(e,t){var n=e.series[0],r=n.scale,i=n.idxs,o=e._data[0],a=e.valToPos(o[i[0]],r,!0),u=e.valToPos(o[i[1]],r,!0),l=Ru(u-a)/(e.series[t].points.space*za);return i[1]-i[0]<=l},filter:null},values:null,min:Gu,max:-Gu,idxs:[],path:null,clip:null};function jc(e,t,n,r,i){return n/10}var $c={time:!0,auto:!0,distr:1,log:10,asinh:1,min:null,max:null,dir:1,ori:0},Uc=wl({},$c,{time:!1,ori:1}),Hc={};function Yc(e,t){var n=Hc[e];return n||(n={key:e,plots:[],sub:function(e){n.plots.push(e)},unsub:function(e){n.plots=n.plots.filter((function(t){return t!=e}))},pub:function(e,t,r,i,o,a,u){for(var l=0;l0){a=new Path2D;for(var u=0==t?rs:is,l=n,c=0;cs[0]){var f=s[0]-l;f>0&&u(a,l,r,f,r+o),l=s[1]}}var d=n+i-l;d>0&&u(a,l,r,d,r+o)}return a}function Gc(e,t,n,r,i,o,a){for(var u=[],l=e.length,c=1==i?n:r;c>=n&&c<=r;c+=i){if(null===t[c]){var s=c,f=c;if(1==i)for(;++c<=r&&null===t[c];)f=c;else for(;--c>=n&&null===t[c];)f=c;var d=o(e[s]),h=f==s?d:o(e[f]),p=s-i;d=a<=0&&p>=0&&p=0&&v>=0&&v=d&&u.push([d,h])}}return u}function Zc(e){return 0==e?tl:1==e?$u:function(t){return Ku(t,e)}}function Kc(e){var t=0==e?Xc:es,n=0==e?function(e,t,n,r,i,o){e.arcTo(t,n,r,i,o)}:function(e,t,n,r,i,o){e.arcTo(n,t,i,r,o)},r=0==e?function(e,t,n,r,i){e.rect(t,n,r,i)}:function(e,t,n,r,i){e.rect(n,t,i,r)};return function(e,i,o,a,u){var l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;0==l?r(e,i,o,a,u):(l=Hu(l,a/2,u/2),t(e,i+l,o),n(e,i+a,o,i+a,o+u,l),n(e,i+a,o+u,i,o+u,l),n(e,i,o+u,i,o,l),n(e,i,o,i+a,o,l),e.closePath())}}var Xc=function(e,t,n){e.moveTo(t,n)},es=function(e,t,n){e.moveTo(n,t)},ts=function(e,t,n){e.lineTo(t,n)},ns=function(e,t,n){e.lineTo(n,t)},rs=Kc(0),is=Kc(1),os=function(e,t,n,r,i,o){e.arc(t,n,r,i,o)},as=function(e,t,n,r,i,o){e.arc(n,t,r,i,o)},us=function(e,t,n,r,i,o,a){e.bezierCurveTo(t,n,r,i,o,a)},ls=function(e,t,n,r,i,o,a){e.bezierCurveTo(n,t,i,r,a,o)};function cs(e){return function(e,t,n,r,i){return qc(e,t,(function(t,o,a,u,l,c,s,f,d,h,p){var v,m,y=t.pxRound,g=t.points;0==u.ori?(v=Xc,m=os):(v=es,m=as);var _=ll(g.width*za,3),b=(g.size-g.width)/2*za,D=ll(2*b,3),w=new Path2D,x=new Path2D,k=e.bbox,C=k.left,E=k.top,S=k.width,A=k.height;rs(x,C-D,E-D,S+2*D,A+2*D);var N=function(e){if(null!=a[e]){var t=y(c(o[e],u,h,f)),n=y(s(a[e],l,p,d));v(w,t+b,n),m(w,t,n,b,0,2*zu)}};if(i)i.forEach(N);else for(var F=n;F<=r;F++)N(F);return{stroke:_>0?w:null,fill:w,clip:x,flags:3}}))}}function ss(e){return function(t,n,r,i,o,a){r!=i&&(o!=r&&a!=r&&e(t,n,r),o!=i&&a!=i&&e(t,n,i),e(t,n,a))}}var fs=ss(ts),ds=ss(ns);function hs(e){var t=Mu(null===e||void 0===e?void 0:e.alignGaps,0);return function(e,n,r,i){return qc(e,n,(function(o,a,u,l,c,s,f,d,h,p,v){var m,y,g=o.pxRound,_=function(e){return g(s(e,l,p,d))},b=function(e){return g(f(e,c,v,h))};0==l.ori?(m=ts,y=fs):(m=ns,y=ds);for(var D,w,x,k=l.dir*(0==l.ori?1:-1),C={stroke:new Path2D,fill:null,clip:null,band:null,gaps:null,flags:1},E=C.stroke,S=Gu,A=-Gu,N=_(a[1==k?r:i]),F=ku(u,r,i,1*k),O=ku(u,r,i,-1*k),T=_(a[F]),M=_(a[O]),B=1==k?r:i;B>=r&&B<=i;B+=k){var L=_(a[B]);L==N?null!=u[B]&&(w=b(u[B]),S==Gu&&(m(E,L,w),D=w),S=Hu(w,S),A=Yu(w,A)):(S!=Gu&&(y(E,N,S,A,D,w),x=N),null!=u[B]?(m(E,L,w=b(u[B])),S=A=D=w):(S=Gu,A=-Gu),N=L)}S!=Gu&&S!=A&&x!=N&&y(E,N,S,A,D,w);var I=At(Vc(e,n),2),P=I[0],z=I[1];if(null!=o.fill||0!=P){var R=C.fill=new Path2D(E),j=b(o.fillTo(e,n,o.min,o.max,P));m(R,M,j),m(R,T,j)}if(!o.spanGaps){var $,U=[];($=U).push.apply($,Nt(Gc(a,u,r,i,k,_,t))),C.gaps=U=o.gaps(e,n,r,i,U),C.clip=Jc(U,l.ori,d,h,p,v)}return 0!=z&&(C.band=2==z?[Qc(e,n,r,i,E,-1),Qc(e,n,r,i,E,1)]:Qc(e,n,r,i,E,z)),C}))}}function ps(e,t,n,r,i,o){var a=e.length;if(a<2)return null;var u=new Path2D;if(n(u,e[0],t[0]),2==a)r(u,e[1],t[1]);else{for(var l=Array(a),c=Array(a-1),s=Array(a-1),f=Array(a-1),d=0;d0!==c[h]>0?l[h]=0:(l[h]=3*(f[h-1]+f[h])/((2*f[h]+f[h-1])/c[h-1]+(f[h]+2*f[h-1])/c[h]),isFinite(l[h])||(l[h]=0));l[a-1]=c[a-2];for(var p=0;p=i&&o+(l<5?cl.get(l):0)<=17)return[l,c]}while(++u0?e:t.clamp(r,e,t.min,t.max,t.key)):4==t.distr?Ju(e,t.asinh):e)-t._min)/(t._max-t._min)}function a(e,t,n,r){var i=o(e,t);return r+n*(-1==t.dir?1-i:i)}function u(e,t,n,r){var i=o(e,t);return r+n*(-1==t.dir?i:1-i)}function l(e,t,n,r){return 0==t.ori?a(e,t,n,r):u(e,t,n,r)}r.valToPosH=a,r.valToPosV=u;var c=!1;r.status=0;var s=r.root=du("uplot");(null!=e.id&&(s.id=e.id),lu(s,e.class),e.title)&&(du("u-title",s).textContent=e.title);var f=fu("canvas"),d=r.ctx=f.getContext("2d"),h=du("u-wrap",s),p=r.under=du("u-under",h);h.appendChild(f);var v=r.over=du("u-over",h),m=+Mu((e=Dl(e)).pxAlign,1),y=Zc(m);(e.plugins||[]).forEach((function(t){t.opts&&(e=t.opts(r,e)||e)}));var g=e.ms||.001,_=r.series=1==i?_s(e.series||[],xc,Rc,!1):function(e,t){return e.map((function(e,n){return 0==n?null:wl({},t,e)}))}(e.series||[null],zc),b=r.axes=_s(e.axes||[],wc,Bc,!0),D=r.scales={},w=r.bands=e.bands||[];w.forEach((function(e){e.fill=el(e.fill||null),e.dir=Mu(e.dir,-1)}));var x=2==i?_[1].facets[0].scale:_[0].scale,k={axes:function(){for(var e=function(e){var t=b[e];if(!t.show||!t._show)return"continue";var n=t.side,i=n%2,o=void 0,a=void 0,u=t.stroke(r,e),c=0==n||3==n?-1:1;if(t.label){var s=t.labelGap*c,f=$u((t._lpos+s)*za);Ke(t.labelFont[0],u,"center",2==n?Ya:qa),d.save(),1==i?(o=a=0,d.translate(f,$u(de+pe/2)),d.rotate((3==n?-zu:zu)/2)):(o=$u(fe+he/2),a=f),d.fillText(t.label,o,a),d.restore()}var h=At(t._found,2),p=h[0],v=h[1];if(0==v)return"continue";var m=D[t.scale],g=0==i?he:pe,_=0==i?fe:de,w=$u(t.gap*za),x=t._splits,k=2==m.distr?x.map((function(e){return We[e]})):x,C=2==m.distr?We[x[1]]-We[x[0]]:p,E=t.ticks,S=t.border,A=E.show?$u(E.size*za):0,N=t._rotate*-zu/180,F=y(t._pos*za),O=F+(A+w)*c;a=0==i?O:0,o=1==i?O:0,Ke(t.font[0],u,1==t.align?Va:2==t.align?Wa:N>0?Va:N<0?Wa:0==i?"center":3==n?Wa:Va,N||1==i?"middle":2==n?Ya:qa);for(var T=1.5*t.font[1],M=x.map((function(e){return y(l(e,m,g,_))})),B=t._values,L=0;L0&&(_.forEach((function(e,n){if(n>0&&e.show&&null==e._paths){var o=2==i?[0,t[n][0].length-1]:function(e){var t=Xu(Ye-1,0,Oe-1),n=Xu(qe+1,0,Oe-1);for(;null==e[t]&&t>0;)t--;for(;null==e[n]&&n0&&e.show){$e!=e.alpha&&(d.globalAlpha=$e=e.alpha),et(t,!1),e._paths&&tt(t,!1),et(t,!0);var n=e._paths?e._paths.gaps:null,i=e.points.show(r,t,Ye,qe,n),o=e.points.filter(r,t,i,n);(i||o)&&(e.points._paths=e.points.paths(r,t,Ye,qe,o),tt(t,!0)),1!=$e&&(d.globalAlpha=$e=1),an("drawSeries",t)}})))}},C=(e.drawOrder||["axes","series"]).map((function(e){return k[e]}));function E(t){var n=D[t];if(null==n){var r=(e.scales||dl)[t]||dl;if(null!=r.from)E(r.from),D[t]=wl({},D[r.from],r,{key:t});else{(n=D[t]=wl({},t==x?$c:Uc,r)).key=t;var o=n.time,a=n.range,u=vl(a);if((t!=x||2==i&&!o)&&(!u||null!=a[0]&&null!=a[1]||(a={min:null==a[0]?Nu:{mode:1,hard:a[0],soft:a[0]},max:null==a[1]?Nu:{mode:1,hard:a[1],soft:a[1]}},u=!1),!u&&gl(a))){var l=a;a=function(e,t,n){return null==t?pl:Tu(t,n,l)}}n.range=el(a||(o?ws:t==x?3==n.distr?Cs:4==n.distr?Ss:Ds:3==n.distr?ks:4==n.distr?Es:xs)),n.auto=el(!u&&n.auto),n.clamp=el(n.clamp||jc),n._min=n._max=null}}}for(var S in E("x"),E("y"),1==i&&_.forEach((function(e){E(e.scale)})),b.forEach((function(e){E(e.scale)})),e.scales)E(S);var A,N,F=D[x],O=F.distr;0==F.ori?(lu(s,"u-hz"),A=a,N=u):(lu(s,"u-vt"),A=u,N=a);var T={};for(var M in D){var B=D[M];null==B.min&&null==B.max||(T[M]={min:B.min,max:B.max},B.min=B.max=null)}var L,I=e.tzDate||function(e){return new Date($u(e/g))},P=e.fmtDate||Ml,z=1==g?tc(I):oc(I),R=uc(I,ac(1==g?ec:ic,P)),j=sc(I,cc("{YYYY}-{MM}-{DD} {h}:{mm}{aa}",P)),$=[],U=r.legend=wl({},fc,e.legend),H=U.show,Y=U.markers;U.idxs=$,Y.width=el(Y.width),Y.dash=el(Y.dash),Y.stroke=el(Y.stroke),Y.fill=el(Y.fill);var q,V=[],W=[],Q=!1,J={};if(U.live){var G=_[1]?_[1].values:null;for(var Z in q=(Q=null!=G)?G(r,1,0):{_:0})J[Z]="--"}if(H)if(L=fu("table","u-legend",s),U.mount(r,L),Q){var K=fu("tr","u-thead",L);for(var X in fu("th",null,K),q)fu("th",$a,K).textContent=X}else lu(L,"u-inline"),U.live&&lu(L,"u-live");var ee={show:!0},te={show:!1};var ne=new Map;function re(e,t,n){var i=ne.get(t)||{},o=xe.bind[e](r,t,n);o&&(Du(e,t,i[e]=o),ne.set(t,i))}function ie(e,t,n){var r=ne.get(t)||{};for(var i in r)null!=e&&i!=e||(wu(i,t,r[i]),delete r[i]);null==e&&ne.delete(t)}var oe=0,ae=0,ue=0,le=0,ce=0,se=0,fe=0,de=0,he=0,pe=0;r.bbox={};var ve=!1,me=!1,ye=!1,ge=!1,_e=!1,be=!1;function De(e,t,n){(n||e!=r.width||t!=r.height)&&we(e,t),lt(!1),ye=!0,me=!0,xe.left>=0&&(ge=be=!0),wt()}function we(e,t){r.width=oe=ue=e,r.height=ae=le=t,ce=se=0,function(){var e=!1,t=!1,n=!1,r=!1;b.forEach((function(i,o){if(i.show&&i._show){var a=i.side,u=a%2,l=i._size+(null!=i.label?i.labelSize:0);l>0&&(u?(ue-=l,3==a?(ce+=l,r=!0):n=!0):(le-=l,0==a?(se+=l,e=!0):t=!0))}})),Ne[0]=e,Ne[1]=n,Ne[2]=t,Ne[3]=r,ue-=He[1]+He[3],ce+=He[3],le-=He[2]+He[0],se+=He[0]}(),function(){var e=ce+ue,t=se+le,n=ce,r=se;function i(i,o){switch(i){case 1:return(e+=o)-o;case 2:return(t+=o)-o;case 3:return(n-=o)+o;case 0:return(r-=o)+o}}b.forEach((function(e,t){if(e.show&&e._show){var n=e.side;e._pos=i(n,e._size),null!=e.label&&(e._lpos=i(n,e.labelSize))}}))}();var n=r.bbox;fe=n.left=Ku(ce*za,.5),de=n.top=Ku(se*za,.5),he=n.width=Ku(ue*za,.5),pe=n.height=Ku(le*za,.5)}r.setSize=function(e){De(e.width,e.height)};var xe=r.cursor=wl({},vc,{drag:{y:2==i}},e.cursor);xe.idxs=$,xe._lock=!1;var ke=xe.points;ke.show=el(ke.show),ke.size=el(ke.size),ke.stroke=el(ke.stroke),ke.width=el(ke.width),ke.fill=el(ke.fill);var Ce=r.focus=wl({},e.focus||{alpha:.3},xe.focus),Ee=Ce.prox>=0,Se=[null];function Ae(e,t){if(1==i||t>0){var n=1==i&&D[e.scale].time,o=e.value;e.value=n?yl(o)?sc(I,cc(o,P)):o||j:o||Mc,e.label=e.label||(n?"Time":"Value")}if(t>0){e.width=null==e.width?1:e.width,e.paths=e.paths||ys||rl,e.fillTo=el(e.fillTo||Wc),e.pxAlign=+Mu(e.pxAlign,m),e.pxRound=Zc(e.pxAlign),e.stroke=el(e.stroke||null),e.fill=el(e.fill||null),e._stroke=e._fill=e._paths=e._focus=null;var a=Lc(e.width,1),u=e.points=wl({},{size:a,width:Yu(1,.2*a),stroke:e.stroke,space:2*a,paths:gs,_stroke:null,_fill:null},e.points);u.show=el(u.show),u.filter=el(u.filter),u.fill=el(u.fill),u.stroke=el(u.stroke),u.paths=el(u.paths),u.pxAlign=e.pxAlign}if(H){var l=function(e,t){if(0==t&&(Q||!U.live||2==i))return pl;var n=[],o=fu("tr","u-series",L,L.childNodes[t]);lu(o,e.class),e.show||lu(o,ja);var a=fu("th",null,o);if(Y.show){var u=du("u-marker",a);if(t>0){var l=Y.width(r,t);l&&(u.style.border=l+"px "+Y.dash(r,t)+" "+Y.stroke(r,t)),u.style.background=Y.fill(r,t)}}var c=du($a,a);for(var s in c.textContent=e.label,t>0&&(Y.show||(c.style.color=e.width>0?Y.stroke(r,t):Y.fill(r,t)),re("click",a,(function(t){if(!xe._lock){var n=_.indexOf(e);if((t.ctrlKey||t.metaKey)!=U.isolate){var r=_.some((function(e,t){return t>0&&t!=n&&e.show}));_.forEach((function(e,t){t>0&&Pt(t,r?t==n?ee:te:ee,!0,un.setSeries)}))}else Pt(n,{show:!e.show},!0,un.setSeries)}})),Ee&&re(Xa,a,(function(t){xe._lock||Pt(_.indexOf(e),zt,!0,un.setSeries)}))),q){var f=fu("td","u-value",o);f.textContent="--",n.push(f)}return[o,n]}(e,t);V.splice(t,0,l[0]),W.splice(t,0,l[1]),U.values.push(null)}if(xe.show){$.splice(t,0,null);var c=function(e,t){if(t>0){var n=xe.points.show(r,t);if(n)return lu(n,"u-cursor-pt"),lu(n,e.class),pu(n,-10,-10,ue,le),v.insertBefore(n,Se[t]),n}}(e,t);c&&Se.splice(t,0,c)}an("addSeries",t)}r.addSeries=function(e,t){t=null==t?_.length:t,e=1==i?bs(e,t,xc,Rc):bs(e,t,null,zc),_.splice(t,0,e),Ae(_[t],t)},r.delSeries=function(e){if(_.splice(e,1),H){U.values.splice(e,1),W.splice(e,1);var t=V.splice(e,1)[0];ie(null,t.firstChild),t.remove()}xe.show&&($.splice(e,1),Se.length>1&&Se.splice(e,1)[0].remove()),an("delSeries",e)};var Ne=[!1,!1,!1,!1];function Fe(e,t,n,r){var i=At(n,4),o=i[0],a=i[1],u=i[2],l=i[3],c=t%2,s=0;return 0==c&&(l||a)&&(s=0==t&&!o||2==t&&!u?$u(wc.size/3):0),1==c&&(o||u)&&(s=1==t&&!a||3==t&&!l?$u(Bc.size/2):0),s}var Oe,Te,Me,Be,Le,Ie,Pe,ze,Re,je,$e,Ue=r.padding=(e.padding||[Fe,Fe,Fe,Fe]).map((function(e){return el(Mu(e,Fe))})),He=r._padding=Ue.map((function(e,t){return e(r,t,Ne,0)})),Ye=null,qe=null,Ve=1==i?_[0].idxs:null,We=null,Qe=!1;function Je(e,n){if(t=null==e?[]:Dl(e,_l),2==i){Oe=0;for(var o=1;o<_.length;o++)Oe+=t[o][0].length;r.data=t=e}else if(null==t[0]&&(t[0]=[]),r.data=t.slice(),We=t[0],Oe=We.length,2==O){t[0]=Array(Oe);for(var a=0;a=0,be=!0,wt()}}function Ge(){var e,n;if(Qe=!0,1==i)if(Oe>0){if(Ye=Ve[0]=0,qe=Ve[1]=Oe-1,e=t[0][Ye],n=t[0][qe],2==O)e=Ye,n=qe;else if(1==Oe)if(3==O){var r=At(Su(e,e,F.log,!1),2);e=r[0],n=r[1]}else if(4==O){var o=At(Au(e,e,F.log,!1),2);e=o[0],n=o[1]}else if(F.time)n=e+$u(86400/g);else{var a=At(Tu(e,n,.1,!0),2);e=a[0],n=a[1]}}else Ye=Ve[0]=e=null,qe=Ve[1]=n=null;It(x,e,n)}function Ze(e,t,n,r,i,o){var a,u,l,c,s;null!==(a=e)&&void 0!==a||(e=Ja),null!==(u=n)&&void 0!==u||(n=hl),null!==(l=r)&&void 0!==l||(r="butt"),null!==(c=i)&&void 0!==c||(i=Ja),null!==(s=o)&&void 0!==s||(o="round"),e!=Te&&(d.strokeStyle=Te=e),i!=Me&&(d.fillStyle=Me=i),t!=Be&&(d.lineWidth=Be=t),o!=Ie&&(d.lineJoin=Ie=o),r!=Pe&&(d.lineCap=Pe=r),n!=Le&&d.setLineDash(Le=n)}function Ke(e,t,n,r){t!=Me&&(d.fillStyle=Me=t),e!=ze&&(d.font=ze=e),n!=Re&&(d.textAlign=Re=n),r!=je&&(d.textBaseline=je=r)}function Xe(e,t,n,i){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;if(i.length>0&&e.auto(r,Qe)&&(null==t||null==t.min)){var a=Mu(Ye,0),u=Mu(qe,i.length-1),l=null==n.min?3==e.distr?Eu(i,a,u):Cu(i,a,u,o):[n.min,n.max];e.min=Hu(e.min,n.min=l[0]),e.max=Yu(e.max,n.max=l[1])}}function et(e,t){var n=t?_[e].points:_[e];n._stroke=n.stroke(r,e),n._fill=n.fill(r,e)}function tt(e,n){var i=n?_[e].points:_[e],o=i._stroke,a=i._fill,u=i._paths,l=u.stroke,c=u.fill,s=u.clip,f=u.flags,h=null,p=ll(i.width*za,3),v=p%2/2;n&&null==a&&(a=p>0?"#fff":o);var m=1==i.pxAlign;if(m&&d.translate(v,v),!n){var y=fe,g=de,b=he,D=pe,x=p*za/2;0==i.min&&(D+=x),0==i.max&&(g-=x,D+=x),(h=new Path2D).rect(y,g,b,D)}n?nt(o,p,i.dash,i.cap,a,l,c,f,s):function(e,n,i,o,a,u,l,c,s,f,d){var h=!1;w.forEach((function(p,v){if(p.series[0]==e){var m,y=_[p.series[1]],g=t[p.series[1]],b=(y._paths||dl).band;vl(b)&&(b=1==p.dir?b[0]:b[1]);var D=null;y.show&&b&&function(e,t,n){for(t=Mu(t,0),n=Mu(n,e.length-1);t<=n;){if(null!=e[t])return!0;t++}return!1}(g,Ye,qe)?(D=p.fill(r,v)||u,m=y._paths.clip):b=null,nt(n,i,o,a,D,l,c,s,f,d,m,b),h=!0}})),h||nt(n,i,o,a,u,l,c,s,f,d)}(e,o,p,i.dash,i.cap,a,l,c,f,h,s),m&&d.translate(-v,-v)}r.setData=Je;function nt(e,t,n,r,i,o,a,u,l,c,s,f){Ze(e,t,n,r,i),(l||c||f)&&(d.save(),l&&d.clip(l),c&&d.clip(c)),f?3==(3&u)?(d.clip(f),s&&d.clip(s),it(i,a),rt(e,o,t)):2&u?(it(i,a),d.clip(f),rt(e,o,t)):1&u&&(d.save(),d.clip(f),s&&d.clip(s),it(i,a),d.restore(),rt(e,o,t)):(it(i,a),rt(e,o,t)),(l||c||f)&&d.restore()}function rt(e,t,n){n>0&&(t instanceof Map?t.forEach((function(e,t){d.strokeStyle=Te=t,d.stroke(e)})):null!=t&&e&&d.stroke(t))}function it(e,t){t instanceof Map?t.forEach((function(e,t){d.fillStyle=Me=t,d.fill(e)})):null!=t&&e&&d.fill(t)}function ot(e,t,n,r,i,o,a,u,l,c){var s=a%2/2;1==m&&d.translate(s,s),Ze(u,a,l,c,u),d.beginPath();var f,h,p,v,y=i+(0==r||3==r?-o:o);0==n?(h=i,v=y):(f=i,p=y);for(var g=0;g0&&(t._paths=null,e&&(1==i?(t.min=null,t.max=null):t.facets.forEach((function(e){e.min=null,e.max=null}))))}))}var ct,st,ft,dt,ht,pt,vt,mt,yt,gt,_t,bt,Dt=!1;function wt(){Dt||(kl(xt),Dt=!0)}function xt(){ve&&(!function(){var e=Dl(D,_l);for(var n in e){var o=e[n],a=T[n];if(null!=a&&null!=a.min)wl(o,a),n==x&<(!0);else if(n!=x||2==i)if(0==Oe&&null==o.from){var u=o.range(r,null,null,n);o.min=u[0],o.max=u[1]}else o.min=Gu,o.max=-Gu}if(Oe>0)for(var l in _.forEach((function(n,o){if(1==i){var a=n.scale,u=e[a],l=T[a];if(0==o){var c=u.range(r,u.min,u.max,a);u.min=c[0],u.max=c[1],Ye=xu(u.min,t[0]),(qe=xu(u.max,t[0]))-Ye>1&&(t[0][Ye]u.max&&qe--),n.min=We[Ye],n.max=We[qe]}else n.show&&n.auto&&Xe(u,l,n,t[o],n.sorted);n.idxs[0]=Ye,n.idxs[1]=qe}else if(o>0&&n.show&&n.auto){var s=At(n.facets,2),f=s[0],d=s[1],h=f.scale,p=d.scale,v=At(t[o],2),m=v[0],y=v[1];Xe(e[h],T[h],f,m,f.sorted),Xe(e[p],T[p],d,y,d.sorted),n.min=d.min,n.max=d.max}})),e){var c=e[l],s=T[l];if(null==c.from&&(null==s||null==s.min)){var f=c.range(r,c.min==Gu?null:c.min,c.max==-Gu?null:c.max,l);c.min=f[0],c.max=f[1]}}for(var d in e){var h=e[d];if(null!=h.from){var p=e[h.from];if(null==p.min)h.min=h.max=null;else{var v=h.range(r,p.min,p.max,d);h.min=v[0],h.max=v[1]}}}var m={},y=!1;for(var g in e){var b=e[g],w=D[g];if(w.min!=b.min||w.max!=b.max){w.min=b.min,w.max=b.max;var k=w.distr;w._min=3==k?Wu(w.min):4==k?Ju(w.min,w.asinh):w.min,w._max=3==k?Wu(w.max):4==k?Ju(w.max,w.asinh):w.max,m[g]=y=!0}}if(y){for(var C in _.forEach((function(e,t){2==i?t>0&&m.y&&(e._paths=null):m[e.scale]&&(e._paths=null)})),m)ye=!0,an("setScale",C);xe.show&&xe.left>=0&&(ge=be=!0)}for(var E in T)T[E]=null}(),ve=!1),ye&&(!function(){for(var e=!1,t=0;!e;){var n=at(++t),i=ut(t);(e=3==t||n&&i)||(we(r.width,r.height),me=!0)}}(),ye=!1),me&&(su(p,Va,ce),su(p,Ya,se),su(p,Ua,ue),su(p,Ha,le),su(v,Va,ce),su(v,Ya,se),su(v,Ua,ue),su(v,Ha,le),su(h,Ua,oe),su(h,Ha,ae),f.width=$u(oe*za),f.height=$u(ae*za),b.forEach((function(e){var t=e._el,n=e._show,r=e._size,i=e._pos,o=e.side;if(null!=t)if(n){var a=o%2==1;su(t,a?"left":"top",i-(3===o||0===o?r:0)),su(t,a?"width":"height",r),su(t,a?"top":"left",a?se:ce),su(t,a?"height":"width",a?le:ue),cu(t,ja)}else lu(t,ja)})),Te=Me=Be=Ie=Pe=ze=Re=je=Le=null,$e=1,Qt(!0),an("setSize"),me=!1),oe>0&&ae>0&&(d.clearRect(0,0,f.width,f.height),an("drawClear"),C.forEach((function(e){return e()})),an("draw")),Mt.show&&_e&&(Lt(Mt),_e=!1),xe.show&&ge&&(Vt(null,!0,!1),ge=!1),c||(c=!0,r.status=1,an("ready")),Qe=!1,Dt=!1}function kt(e,n){var i=D[e];if(null==i.from){if(0==Oe){var o=i.range(r,n.min,n.max,e);n.min=o[0],n.max=o[1]}if(n.min>n.max){var a=n.min;n.min=n.max,n.max=a}if(Oe>1&&null!=n.min&&null!=n.max&&n.max-n.min<1e-16)return;e==x&&2==i.distr&&Oe>0&&(n.min=xu(n.min,t[0]),n.max=xu(n.max,t[0]),n.min==n.max&&n.max++),T[e]=n,ve=!0,wt()}}r.redraw=function(e,t){ye=t||!1,!1!==e?It(x,F.min,F.max):wt()},r.setScale=kt;var Ct=!1,Et=xe.drag,St=Et.x,Nt=Et.y;xe.show&&(xe.x&&(ct=du("u-cursor-x",v)),xe.y&&(st=du("u-cursor-y",v)),0==F.ori?(ft=ct,dt=st):(ft=st,dt=ct),_t=xe.left,bt=xe.top);var Ft,Ot,Tt,Mt=r.select=wl({show:!0,over:!0,left:0,width:0,top:0,height:0},e.select),Bt=Mt.show?du("u-select",Mt.over?v:p):null;function Lt(e,t){if(Mt.show){for(var n in e)Mt[n]=e[n],n in Zt&&su(Bt,n,e[n]);!1!==t&&an("setSelect")}}function It(e,t,n){kt(e,{min:t,max:n})}function Pt(e,t,n,o){null!=t.focus&&function(e){if(e!=Tt){var t=null==e,n=1!=Ce.alpha;_.forEach((function(r,i){var o=t||0==i||i==e;r._focus=t?null:o,n&&function(e,t){_[e].alpha=t,xe.show&&Se[e]&&(Se[e].style.opacity=t);H&&V[e]&&(V[e].style.opacity=t)}(i,o?1:Ce.alpha)})),Tt=e,n&&wt()}}(e),null!=t.show&&_.forEach((function(n,r){r>0&&(e==r||null==e)&&(n.show=t.show,function(e,t){var n=_[e],r=H?V[e]:null;n.show?r&&cu(r,ja):(r&&lu(r,ja),Se.length>1&&pu(Se[e],-10,-10,ue,le))}(r,t.show),It(2==i?n.facets[1].scale:n.scale,null,null),wt())})),!1!==n&&an("setSeries",e,t),o&&sn("setSeries",r,e,t)}r.setSelect=Lt,r.setSeries=Pt,r.addBand=function(e,t){e.fill=el(e.fill||null),e.dir=Mu(e.dir,-1),t=null==t?w.length:t,w.splice(t,0,e)},r.setBand=function(e,t){wl(w[e],t)},r.delBand=function(e){null==e?w.length=0:w.splice(e,1)};var zt={focus:!0};function Rt(e,t,n){var r=D[t];n&&(e=e/za-(1==r.ori?se:ce));var i=ue;1==r.ori&&(e=(i=le)-e),-1==r.dir&&(e=i-e);var o=r._min,a=o+(r._max-o)*(e/i),u=r.distr;return 3==u?qu(10,a):4==u?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return Pu.sinh(e)*t}(a,r.asinh):a}function jt(e,t){su(Bt,Va,Mt.left=e),su(Bt,Ua,Mt.width=t)}function $t(e,t){su(Bt,Ya,Mt.top=e),su(Bt,Ha,Mt.height=t)}H&&Ee&&Du(eu,L,(function(e){xe._lock||null!=Tt&&Pt(null,zt,!0,un.setSeries)})),r.valToIdx=function(e){return xu(e,t[0])},r.posToIdx=function(e,n){return xu(Rt(e,x,n),t[0],Ye,qe)},r.posToVal=Rt,r.valToPos=function(e,t,n){return 0==D[t].ori?a(e,D[t],n?he:ue,n?fe:0):u(e,D[t],n?pe:le,n?de:0)},r.batch=function(e){e(r),wt()},r.setCursor=function(e,t,n){_t=e.left,bt=e.top,Vt(null,t,n)};var Ut=0==F.ori?jt:$t,Ht=1==F.ori?jt:$t;function Yt(e,t){if(null!=e){var n=e.idx;U.idx=n,_.forEach((function(e,t){(t>0||!Q)&&qt(t,n)}))}H&&U.live&&function(){if(H&&U.live)for(var e=2==i?1:0;e<_.length;e++)if(0!=e||!Q){var t=U.values[e],n=0;for(var r in t)W[e][n++].firstChild.nodeValue=t[r]}}(),be=!1,!1!==t&&an("setLegend")}function qt(e,n){var i;if(null==n)i=J;else{var o=_[e],a=0==e&&2==O?We:t[e];i=Q?o.values(r,e,n):{_:o.value(r,a[n],e,n)}}U.values[e]=i}function Vt(e,n,o){yt=_t,gt=bt;var a,u=At(xe.move(r,_t,bt),2);_t=u[0],bt=u[1],xe.show&&(ft&&pu(ft,$u(_t),0,ue,le),dt&&pu(dt,0,$u(bt),ue,le));var l=Ye>qe;Ft=Gu;var c=0==F.ori?ue:le,s=1==F.ori?ue:le;if(_t<0||0==Oe||l){a=null;for(var f=0;f<_.length;f++)f>0&&Se.length>1&&pu(Se[f],-10,-10,ue,le);if(Ee&&Pt(null,zt,!0,null==e&&un.setSeries),U.live){$.fill(null),be=!0;for(var d=0;d<_.length;d++)U.values[d]=J}}else{var h,p;1==i&&(a=xu(h=Rt(0==F.ori?_t:bt,x),t[0],Ye,qe),p=al(A(t[0][a],F,c,0),.5));for(var v=2==i?1:0;v<_.length;v++){var m=_[v],y=$[v],g=1==i?t[v][y]:t[v][1][y],b=xe.dataIdx(r,v,a,h),w=1==i?t[v][b]:t[v][1][b];be=be||w!=g||b!=y,$[v]=b;var k=b==a?p:al(A(1==i?t[0][b]:t[v][0][b],F,c,0),.5);if(v>0&&m.show){var C=null==w?-10:al(N(w,1==i?D[m.scale]:D[m.facets[1].scale],s,0),.5);if(C>0&&1==i){var E=Ru(C-bt);E<=Ft&&(Ft=E,Ot=v)}var S=void 0,O=void 0;if(0==F.ori?(S=k,O=C):(S=C,O=k),be&&Se.length>1){mu(Se[v],xe.points.fill(r,v),xe.points.stroke(r,v));var T=void 0,M=void 0,B=void 0,L=void 0,I=!0,P=xe.points.bbox;if(null!=P){I=!1;var z=P(r,v);B=z.left,L=z.top,T=z.width,M=z.height}else B=S,L=O,T=M=xe.points.size(r,v);gu(Se[v],T,M,I),pu(Se[v],B,L,ue,le)}}if(U.live){if(!be||0==v&&Q)continue;qt(v,b)}}}if(xe.idx=a,xe.left=_t,xe.top=bt,be&&(U.idx=a,Yt()),Mt.show&&Ct)if(null!=e){var R=At(un.scales,2),j=R[0],H=R[1],Y=At(un.match,2),q=Y[0],V=Y[1],W=At(e.cursor.sync.scales,2),G=W[0],Z=W[1],K=e.cursor.drag;if(St=K._x,Nt=K._y,St||Nt){var X,ee,te,ne,re,ie=e.select,oe=ie.left,ae=ie.top,ce=ie.width,se=ie.height,fe=e.scales[j].ori,de=e.posToVal,he=null!=j&&q(j,G),pe=null!=H&&V(H,Z);he&&St?(0==fe?(X=oe,ee=ce):(X=ae,ee=se),te=D[j],ne=A(de(X,G),te,c,0),re=A(de(X+ee,G),te,c,0),Ut(Hu(ne,re),Ru(re-ne))):Ut(0,c),pe&&Nt?(1==fe?(X=oe,ee=ce):(X=ae,ee=se),te=D[H],ne=N(de(X,Z),te,s,0),re=N(de(X+ee,Z),te,s,0),Ht(Hu(ne,re),Ru(re-ne))):Ht(0,s)}else Kt()}else{var ve=Ru(yt-ht),me=Ru(gt-pt);if(1==F.ori){var ye=ve;ve=me,me=ye}St=Et.x&&ve>=Et.dist,Nt=Et.y&&me>=Et.dist;var ge,_e,De=Et.uni;null!=De?St&&Nt&&(Nt=me>=De,(St=ve>=De)||Nt||(me>ve?Nt=!0:St=!0)):Et.x&&Et.y&&(St||Nt)&&(St=Nt=!0),St&&(0==F.ori?(ge=vt,_e=_t):(ge=mt,_e=bt),Ut(Hu(ge,_e),Ru(_e-ge)),Nt||Ht(0,s)),Nt&&(1==F.ori?(ge=vt,_e=_t):(ge=mt,_e=bt),Ht(Hu(ge,_e),Ru(_e-ge)),St||Ut(0,c)),St||Nt||(Ut(0,0),Ht(0,0))}if(Et._x=St,Et._y=Nt,null==e){if(o){if(null!=ln){var we=At(un.scales,2),ke=we[0],Ae=we[1];un.values[0]=null!=ke?Rt(0==F.ori?_t:bt,ke):null,un.values[1]=null!=Ae?Rt(1==F.ori?_t:bt,Ae):null}sn(Ga,r,_t,bt,ue,le,a)}if(Ee){var Ne=o&&un.setSeries,Fe=Ce.prox;null==Tt?Ft<=Fe&&Pt(Ot,zt,!0,Ne):Ft>Fe?Pt(null,zt,!0,Ne):Ot!=Tt&&Pt(Ot,zt,!0,Ne)}}!1!==n&&an("setCursor")}r.setLegend=Yt;var Wt=null;function Qt(e){!0===e?Wt=null:an("syncRect",Wt=v.getBoundingClientRect())}function Jt(e,t,n,r,i,o,a){xe._lock||Ct&&null!=e&&0==e.movementX&&0==e.movementY||(Gt(e,t,n,r,i,o,a,!1,null!=e),null!=e?Vt(null,!0,!0):Vt(t,!0,!1))}function Gt(e,t,n,i,o,a,u,c,s){if(null==Wt&&Qt(!1),null!=e)n=e.clientX-Wt.left,i=e.clientY-Wt.top;else{if(n<0||i<0)return _t=-10,void(bt=-10);var f=At(un.scales,2),d=f[0],h=f[1],p=t.cursor.sync,v=At(p.values,2),m=v[0],y=v[1],g=At(p.scales,2),_=g[0],b=g[1],w=At(un.match,2),x=w[0],k=w[1],C=t.axes[0].side%2==1,E=0==F.ori?ue:le,S=1==F.ori?ue:le,A=C?a:o,N=C?o:a,O=C?i:n,T=C?n:i;if(n=null!=_?x(d,_)?l(m,D[d],E,0):-10:E*(O/A),i=null!=b?k(h,b)?l(y,D[h],S,0):-10:S*(T/N),1==F.ori){var M=n;n=i,i=M}}if(s&&((n<=1||n>=ue-1)&&(n=Ku(n,ue)),(i<=1||i>=le-1)&&(i=Ku(i,le))),c){ht=n,pt=i;var B=At(xe.move(r,n,i),2);vt=B[0],mt=B[1]}else _t=n,bt=i}var Zt={width:0,height:0,left:0,top:0};function Kt(){Lt(Zt,!1)}function Xt(e,t,n,i,o,a,u){Ct=!0,St=Nt=Et._x=Et._y=!1,Gt(e,t,n,i,o,a,0,!0,!1),null!=e&&(re(Ka,ou,en),sn(Za,r,vt,mt,ue,le,null))}function en(e,t,n,i,o,a,u){Ct=Et._x=Et._y=!1,Gt(e,t,n,i,o,a,0,!1,!0);var l=Mt.left,c=Mt.top,s=Mt.width,f=Mt.height,d=s>0||f>0;if(d&&Lt(Mt),Et.setScale&&d){var h=l,p=s,v=c,m=f;if(1==F.ori&&(h=c,p=f,v=l,m=s),St&&It(x,Rt(h,x),Rt(h+p,x)),Nt)for(var y in D){var g=D[y];y!=x&&null==g.from&&g.min!=Gu&&It(y,Rt(v+m,y),Rt(v,y))}Kt()}else xe.lock&&(xe._lock=!xe._lock,xe._lock||Vt(null,!0,!1));null!=e&&(ie(Ka,ou),sn(Ka,r,_t,bt,ue,le,null))}function tn(e,t,n,i,o,a,u){Ge(),Kt(),null!=e&&sn(tu,r,_t,bt,ue,le,null)}function nn(){b.forEach(Fs),De(r.width,r.height,!0)}Du(ru,au,nn);var rn={};rn.mousedown=Xt,rn.mousemove=Jt,rn.mouseup=en,rn.dblclick=tn,rn.setSeries=function(e,t,n,r){Pt(n,r,!0,!1)},xe.show&&(re(Za,v,Xt),re(Ga,v,Jt),re(Xa,v,Qt),re(eu,v,(function(e,t,n,r,i,o,a){if(!xe._lock){var u=Ct;if(Ct){var l,c,s=!0,f=!0;0==F.ori?(l=St,c=Nt):(l=Nt,c=St),l&&c&&(s=_t<=10||_t>=ue-10,f=bt<=10||bt>=le-10),l&&s&&(_t=_t=3&&10==i.log?Tc:nl)),e.font=Ns(e.font),e.labelFont=Ns(e.labelFont),e._size=e.size(r,null,t,0),e._space=e._rotate=e._incrs=e._found=e._splits=e._values=null,e._size>0&&(Ne[t]=!0,e._el=du("u-axis",h))}})),n?n instanceof HTMLElement?(n.appendChild(s),fn()):n(r,fn):fn(),r}Os.assign=wl,Os.fmtNum=Iu,Os.rangeNum=Tu,Os.rangeLog=Su,Os.rangeAsinh=Au,Os.orient=qc,Os.pxRatio=za,Os.join=function(e,t){for(var n=new Set,r=0;r=a&&M<=u;M+=A){var B=s[M];if(null!=B){var L=x(c[M]),I=k(B);1==t?C(S,L,N):C(S,O,I),C(S,L,I),N=I,O=L}}var P=O;i&&1==t&&C(S,P=D+w,N);var z=At(Vc(e,o),2),R=z[0],j=z[1];if(null!=l.fill||0!=R){var $=E.fill=new Path2D(S),U=k(l.fillTo(e,o,l.min,l.max,R));C($,P,U),C($,T,U)}if(!l.spanGaps){var H,Y=[];(H=Y).push.apply(H,Nt(Gc(c,s,a,u,A,x,r)));var q=l.width*za/2,V=n||1==t?q:-q,W=n||-1==t?-q:q;Y.forEach((function(e){e[0]+=V,e[1]+=W})),E.gaps=Y=l.gaps(e,o,a,u,Y),E.clip=Jc(Y,f.ori,v,m,y,g)}return 0!=j&&(E.band=2==j?[Qc(e,o,a,u,S,-1),Qc(e,o,a,u,S,1)]:Qc(e,o,a,u,S,j)),E}))}},Ts.bars=function(e){var t=Mu((e=e||dl).size,[.6,Gu,1]),n=e.align||0,r=(e.gap||0)*za,i=Mu(e.radius,0),o=1-t[0],a=Mu(t[1],Gu)*za,u=Mu(t[2],1)*za,l=Mu(e.disp,dl),c=Mu(e.each,(function(e){})),s=l.fill,f=l.stroke;return function(e,t,d,h){return qc(e,t,(function(p,v,m,y,g,_,b,D,w,x,k){var C,E,S=p.pxRound,A=y.dir*(0==y.ori?1:-1),N=g.dir*(1==g.ori?1:-1),F=0==y.ori?rs:is,O=0==y.ori?c:function(e,t,n,r,i,o,a){c(e,t,n,i,r,a,o)},T=At(Vc(e,t),2),M=T[0],B=T[1],L=3==g.distr?1==M?g.max:g.min:0,I=b(L,g,k,w),P=S(p.width*za),z=!1,R=null,j=null,$=null,U=null;null==s||0!=P&&null==f||(z=!0,R=s.values(e,t,d,h),j=new Map,new Set(R).forEach((function(e){null!=e&&j.set(e,new Path2D)})),P>0&&($=f.values(e,t,d,h),U=new Map,new Set($).forEach((function(e){null!=e&&U.set(e,new Path2D)}))));var H=l.x0,Y=l.size;if(null!=H&&null!=Y){v=H.values(e,t,d,h),2==H.unit&&(v=v.map((function(t){return e.posToVal(D+t*x,y.key,!0)})));var q=Y.values(e,t,d,h);E=S((E=2==Y.unit?q[0]*x:_(q[0],y,x,D)-_(0,y,x,D))-P),C=1==A?-P/2:E+P/2}else{var V=x;if(v.length>1)for(var W=null,Q=0,J=1/0;Q=d&&Q<=h;Q+=A){var ie=m[Q];if(void 0!==ie){var oe=_(2!=y.distr||null!=l?v[Q]:Q,y,x,D),ae=b(Mu(ie,L),g,k,w);null!=re&&null!=ie&&(I=b(re[Q],g,k,w));var ue=S(oe-C),le=S(Yu(ae,I)),ce=S(Hu(ae,I)),se=le-ce,fe=i*E;null!=ie&&(z?(P>0&&null!=$[Q]&&F(U.get($[Q]),ue,ce+ju(P/2),E,Yu(0,se-P),fe),null!=R[Q]&&F(j.get(R[Q]),ue,ce+ju(P/2),E,Yu(0,se-P),fe)):F(X,ue,ce+ju(P/2),E,Yu(0,se-P),fe),O(e,t,Q,ue-P/2,ce,E+P,se)),0!=B&&(N*B==1?(le=ce,ce=Z):(ce=le,le=Z),F(ee,ue-P/2,ce,E+P,Yu(0,se=le-ce),0))}}return P>0&&(K.stroke=z?U:X),K.fill=z?j:X,K}))}},Ts.spline=function(e){return function(e,t){var n=Mu(null===t||void 0===t?void 0:t.alignGaps,0);return function(t,r,i,o){return qc(t,r,(function(a,u,l,c,s,f,d,h,p,v,m){var y,g,_,b=a.pxRound,D=function(e){return b(f(e,c,v,h))},w=function(e){return b(d(e,s,m,p))};0==c.ori?(y=Xc,_=ts,g=us):(y=es,_=ns,g=ls);var x=c.dir*(0==c.ori?1:-1);i=ku(l,i,o,1),o=ku(l,i,o,-1);for(var k=D(u[1==x?i:o]),C=k,E=[],S=[],A=1==x?i:o;A>=i&&A<=o;A+=x)if(null!=l[A]){var N=D(u[A]);E.push(C=N),S.push(w(l[A]))}var F={stroke:e(E,S,y,_,g,b),fill:null,clip:null,band:null,gaps:null,flags:1},O=F.stroke,T=At(Vc(t,r),2),M=T[0],B=T[1];if(null!=a.fill||0!=M){var L=F.fill=new Path2D(O),I=w(a.fillTo(t,r,a.min,a.max,M));_(L,C,I),_(L,k,I)}if(!a.spanGaps){var P,z=[];(P=z).push.apply(P,Nt(Gc(u,l,i,o,x,D,n))),F.gaps=z=a.gaps(t,r,i,o,z),F.clip=Jc(z,c.ori,h,p,v,m)}return 0!=B&&(F.band=2==B?[Qc(t,r,i,o,O,-1),Qc(t,r,i,o,O,1)]:Qc(t,r,i,o,O,B)),F}))}}(ps,e)};var Ms,Bs={legend:{show:!1},cursor:{drag:{x:!0,y:!1},focus:{prox:30},points:{size:5.6,width:1.4},bind:{click:function(){return null},dblclick:function(){return null}}}},Ls=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(void 0===e||null===e)return"";var r=Math.abs(n-t);if(isNaN(r)||0==r)return Math.abs(e)>=1e3?e.toLocaleString("en-US"):e.toString();var i=3+Math.floor(1+Math.log10(Math.max(Math.abs(t),Math.abs(n)))-Math.log10(r));return(isNaN(i)||i>20)&&(i=20),e.toLocaleString("en-US",{minimumSignificantDigits:i,maximumSignificantDigits:i})},Is=function(e,t,n,r){var i,o=e.axes[n];if(r>1)return o._size||60;var a=6+((null===o||void 0===o||null===(i=o.ticks)||void 0===i?void 0:i.size)||0)+(o.gap||0),u=(null!==t&&void 0!==t?t:[]).reduce((function(e,t){return t.length>e.length?t:e}),"");return""!=u&&(a+=function(e,t){var n=document.createElement("span");n.innerText=e,n.style.cssText="position: absolute; z-index: -1; pointer-events: none; opacity: 0; font: ".concat(t),document.body.appendChild(n);var r=n.offsetWidth;return n.remove(),r}(u,e.ctx.font)),Math.ceil(a)},Ps=function(e){for(var t=e.length,n=-1/0;t--;){var r=e[t];Number.isFinite(r)&&r>n&&(n=r)}return Number.isFinite(n)?n:null},zs=function(e){for(var t=e.length,n=1/0;t--;){var r=e[t];Number.isFinite(r)&&r2&&void 0!==arguments[2]?arguments[2]:"",r=t[0],i=t[t.length-1];return n?t.map((function(e){return"".concat(Ls(e,r,i)," ").concat(n)})):t.map((function(e){return Ls(e,r,i)}))}(e,n,t)}};return e?Number(e)%2?n:dr(dr({},n),{},{side:1}):{space:80,values:Rs}}))},$s=function(e,t){if(null==e||null==t)return[-1,1];var n=.02*(Math.abs(t-e)||Math.abs(e)||1);return[e-n,t+n]},Us=n(61),Hs=n.n(Us),Ys=function(e){var t,n,r,i=e.u,o=e.id,a=e.unit,u=void 0===a?"":a,l=e.metrics,c=e.series,s=e.yRange,f=e.tooltipIdx,d=e.tooltipOffset,h=e.isSticky,p=e.onClose,v=ie(null),m=At(ee({top:-999,left:-999}),2),g=m[0],_=m[1],b=At(ee(!1),2),D=b[0],w=b[1],x=At(ee(!1),2),k=x[0],C=x[1],E=At(ee(f.seriesIdx),2),S=E[0],A=E[1],N=At(ee(f.dataIdx),2),F=N[0],O=N[1],T=ae((function(){return i.root.querySelector(".u-wrap")}),[i]),M=wr()(i,["data",S,F],0),B=Ls(M,wr()(s,[0]),wr()(s,[1])),L=i.data[0][F],I=_t()(1e3*L).tz().format("YYYY-MM-DD HH:mm:ss:SSS (Z)"),P=(null===(t=c[S])||void 0===t?void 0:t.stroke)+"",z=new Set(l.map((function(e){return e.group}))),R=z.size>1,j=(null===(n=l[S-1])||void 0===n?void 0:n.group)||0,$=(null===(r=l[S-1])||void 0===r?void 0:r.metric)||{},U=Object.keys($).filter((function(e){return"__name__"!=e})),H=$.__name__||"value",Y=ae((function(){return U.map((function(e){return"".concat(e,"=").concat(JSON.stringify($[e]))}))}),[l,S]),q=function(e){if(D){var t=e.clientX,n=e.clientY;_({top:n,left:t})}},V=function(){w(!1)};return ne((function(){var e;if(v.current){var t=i.valToPos(M||0,(null===(e=c[S])||void 0===e?void 0:e.scale)||"1"),n=i.valToPos(L,"x"),r=v.current.getBoundingClientRect(),o=r.width,a=r.height,u=i.over.getBoundingClientRect(),l=n+o>=u.width?o+20:0,s=t+a>=u.height?a+20:0;_({top:t+d.top+10-s,left:n+d.left+10-l})}}),[i,M,L,S,d,v]),ne((function(){A(f.seriesIdx),O(f.dataIdx)}),[f]),ne((function(){return D&&(document.addEventListener("mousemove",q),document.addEventListener("mouseup",V)),function(){document.removeEventListener("mousemove",q),document.removeEventListener("mouseup",V)}}),[D]),!T||f.seriesIdx<0||f.dataIdx<0?null:yt.createPortal(Fr("div",{className:uo()({"vm-chart-tooltip":!0,"vm-chart-tooltip_sticky":h,"vm-chart-tooltip_moved":k}),ref:v,style:g,children:[Fr("div",{className:"vm-chart-tooltip-header",children:[Fr("div",{className:"vm-chart-tooltip-header__date",children:[R&&Fr("div",{children:["Query ",j]}),I]}),h&&Fr(y,{children:[Fr(Qo,{className:"vm-chart-tooltip-header__drag",variant:"text",size:"small",startIcon:Fr(Xi,{}),onMouseDown:function(e){C(!0),w(!0);var t=e.clientX,n=e.clientY;_({top:n,left:t})}}),Fr(Qo,{className:"vm-chart-tooltip-header__close",variant:"text",size:"small",startIcon:Fr(Si,{}),onClick:function(){p&&p(o)}})]})]}),Fr("div",{className:"vm-chart-tooltip-data",children:[Fr("div",{className:"vm-chart-tooltip-data__marker",style:{background:P}}),Fr("p",{children:[H,":",Fr("b",{className:"vm-chart-tooltip-data__value",children:B}),u]})]}),!!Y.length&&Fr("div",{className:"vm-chart-tooltip-info",children:Y.map((function(e,t){return Fr("div",{children:e},"".concat(e,"_").concat(t))}))})]}),T)};!function(e){e.xRange="xRange",e.yRange="yRange",e.data="data"}(Ms||(Ms={}));var qs=function(e){var t=e.data,n=e.series,r=e.metrics,i=void 0===r?[]:r,o=e.period,a=e.yaxis,u=e.unit,l=e.setPeriod,c=e.container,s=e.height,f=ie(null),d=At(ee(!1),2),h=d[0],v=d[1],m=At(ee({min:o.start,max:o.end}),2),y=m[0],g=m[1],_=At(ee([0,1]),2),b=_[0],D=_[1],w=At(ee(),2),x=w[0],k=w[1],C=oo(c),E=At(ee(!1),2),S=E[0],A=E[1],N=At(ee({seriesIdx:-1,dataIdx:-1}),2),F=N[0],O=N[1],T=At(ee({left:0,top:0}),2),M=T[0],B=T[1],L=At(ee([]),2),I=L[0],P=L[1],z=ae((function(){return"".concat(F.seriesIdx,"_").concat(F.dataIdx)}),[F]),R=ue(Hs()((function(e){var t=e.min,n=e.max;l({from:_t()(1e3*t).toDate(),to:_t()(1e3*n).toDate()})}),500),[]),j=function(e){var t=e.u,n=e.min,r=e.max,i=1e3*(r-n);ijr||(t.setScale("x",{min:n,max:r}),g({min:n,max:r}),R({min:n,max:r}))},$=function(e){var t=e.target,n=e.ctrlKey,r=e.metaKey,i=e.key,o=t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement;if(x&&!o){var a="+"===i||"="===i;if(("-"===i||a)&&!n&&!r){e.preventDefault();var u=(y.max-y.min)/10*(a?1:-1);j({u:x,min:y.min+u,max:y.max-u})}}},U=function(){var e="".concat(F.seriesIdx,"_").concat(F.dataIdx),t={id:e,unit:u,series:n,metrics:i,yRange:b,tooltipIdx:F,tooltipOffset:M};if(!I.find((function(t){return t.id===e}))){var r=JSON.parse(JSON.stringify(t));P((function(e){return[].concat(Nt(e),[r])}))}},H=function(e){P((function(t){return t.filter((function(t){return t.id!==e}))}))},Y=function(){return[y.min,y.max]},q=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3?arguments[3]:void 0;return"1"==r&&D([t,n]),a.limits.enable?a.limits.range[r]:$s(t,n)},V=dr(dr({},Bs),{},{tzDate:function(e){return _t()(Jr(Zr(e))).local().toDate()},series:n,axes:js([{},{scale:"1"}],u),scales:dr({},function(){var e={x:{range:Y}},t=Object.keys(a.limits.range);return(t.length?t:["1"]).forEach((function(t){e[t]={range:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return q(e,n,r,t)}}})),e}()),width:C.width||400,height:s||500,plugins:[{hooks:{ready:function(e){B({left:parseFloat(e.over.style.left),top:parseFloat(e.over.style.top)}),e.over.addEventListener("mousedown",(function(t){var n=t.ctrlKey,r=t.metaKey;0===t.button&&(n||r)&&function(e){var t=e.e,n=e.factor,r=void 0===n?.85:n,i=e.u,o=e.setPanning,a=e.setPlotScale;t.preventDefault(),o(!0);var u=t.clientX,l=i.posToVal(1,"x")-i.posToVal(0,"x"),c=i.scales.x.min||0,s=i.scales.x.max||0,f=function(e){e.preventDefault();var t=l*((e.clientX-u)*r);a({u:i,min:c-t,max:s-t})};document.addEventListener("mousemove",f),document.addEventListener("mouseup",(function e(){o(!1),document.removeEventListener("mousemove",f),document.removeEventListener("mouseup",e)}))}({u:e,e:t,setPanning:v,setPlotScale:j,factor:.9})})),e.over.addEventListener("wheel",(function(t){if(t.ctrlKey||t.metaKey){t.preventDefault();var n=e.over.getBoundingClientRect().width,r=e.cursor.left&&e.cursor.left>0?e.cursor.left:0,i=e.posToVal(r,"x"),o=(e.scales.x.max||0)-(e.scales.x.min||0),a=t.deltaY<0?.9*o:o/.9,u=i-r/n*a,l=u+a;e.batch((function(){return j({u:e,min:u,max:l})}))}}))},setCursor:function(e){var t,n=null!==(t=e.cursor.idx)&&void 0!==t?t:-1;O((function(e){return dr(dr({},e),{},{dataIdx:n})}))},setSeries:function(e,t){var n=null!==t&&void 0!==t?t:-1;O((function(e){return dr(dr({},e),{},{seriesIdx:n})}))}}}],hooks:{setSelect:[function(e){var t=e.posToVal(e.select.left,"x"),n=e.posToVal(e.select.left+e.select.width,"x");j({u:e,min:t,max:n})}]}}),W=function(e){if(x){switch(e){case Ms.xRange:x.scales.x.range=Y;break;case Ms.yRange:Object.keys(a.limits.range).forEach((function(e){x.scales[e]&&(x.scales[e].range=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return q(t,n,r,e)})}));break;case Ms.data:x.setData(t)}h||x.redraw()}};return ne((function(){return g({min:o.start,max:o.end})}),[o]),ne((function(){if(P([]),O({seriesIdx:-1,dataIdx:-1}),f.current){var e=new Os(V,t,f.current);return k(e),g({min:o.start,max:o.end}),e.destroy}}),[f.current,n,C,s]),ne((function(){return window.addEventListener("keydown",$),function(){window.removeEventListener("keydown",$)}}),[y]),ne((function(){return W(Ms.data)}),[t]),ne((function(){return W(Ms.xRange)}),[y]),ne((function(){return W(Ms.yRange)}),[a]),ne((function(){var e=-1!==F.dataIdx&&-1!==F.seriesIdx;return A(e),e&&window.addEventListener("click",U),function(){window.removeEventListener("click",U)}}),[F,I]),Fr("div",{className:uo()({"vm-line-chart":!0,"vm-line-chart_panning":h}),children:[Fr("div",{className:"vm-line-chart__u-plot",ref:f}),x&&S&&Fr(Ys,{unit:u,u:x,series:n,metrics:i,yRange:b,tooltipIdx:F,tooltipOffset:M,id:z}),x&&I.map((function(e){return p(Ys,dr(dr({},e),{},{isSticky:!0,u:x,key:e.id,onClose:H}))}))]})},Vs=function(e){var t=e.legend,n=e.onChange,r=At(ee(""),2),i=r[0],o=r[1],a=ae((function(){return function(e){var t=Object.keys(e.freeFormFields).filter((function(e){return"__name__"!==e}));return t.map((function(t){var n="".concat(t,"=").concat(JSON.stringify(e.freeFormFields[t]));return{id:"".concat(e.label,".").concat(n),freeField:n,key:t}}))}(t)}),[t]),u=function(){var e=Ma(Oa().mark((function e(t,n){return Oa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,navigator.clipboard.writeText(t);case 2:o(n),setTimeout((function(){return o("")}),2e3);case 4:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}();return Fr("div",{className:uo()({"vm-legend-item":!0,"vm-legend-item_hide":!t.checked}),onClick:function(e){return function(t){n(e,t.ctrlKey||t.metaKey)}}(t),children:[Fr("div",{className:"vm-legend-item__marker",style:{backgroundColor:t.color}}),Fr("div",{className:"vm-legend-item-info",children:[Fr("span",{className:"vm-legend-item-info__label",children:t.freeFormFields.__name__||(0==a.length?"{}":"")}),a.length>0&&Fr("span",{children:["{",a.map((function(e){return Fr(Zo,{open:i===e.id,title:"Copied!",placement:"top-center",children:Fr("span",{className:"vm-legend-item-info__free-fields",onClick:(t=e.freeField,n=e.id,function(e){e.stopPropagation(),u(t,n)}),children:e.freeField},e.key)},e.id);var t,n})),"}"]})]})]})},Ws=function(e){var t=e.labels,n=e.query,r=e.onChange,i=ae((function(){return Array.from(new Set(t.map((function(e){return e.group}))))}),[t]),o=i.length>1;return Fr(y,{children:Fr("div",{className:"vm-legend",children:i.map((function(e){return Fr("div",{className:"vm-legend-group",children:[Fr("div",{className:"vm-legend-group-title",children:[o&&Fr("span",{className:"vm-legend-group-title__count",children:["Query ",e,": "]}),Fr("span",{className:"vm-legend-group-title__query",children:n[e-1]})]}),Fr("div",{children:t.filter((function(t){return t.group===e})).map((function(e){return Fr(Vs,{legend:e,onChange:r},e.label)}))})]},e)}))})})},Qs=["__name__"],Js=function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=e.metric,i=r.__name__,o=lo(r,Qs),a=t||"".concat(n?"[Query ".concat(e.group,"] "):"").concat(i||"");return 0==Object.keys(o).length?a||"value":"".concat(a,"{").concat(Object.entries(o).map((function(e){return"".concat(e[0],"=").concat(JSON.stringify(e[1]))})).join(", "),"}")},Gs=["#e54040","#32a9dc","#2ee329","#7126a1","#e38f0f","#3d811a","#ffea00","#2d2d2d","#da42a6","#a44e0c"],Zs=function(e){var t=16777215,n=1,r=0,i=1;if(e.length>0)for(var o=0;or&&(r=e[o].charCodeAt(0)),i=parseInt(String(t/r)),n=(n+e[o].charCodeAt(0)*i*49979693)%t;var a=(n*e.length%t).toString(16);return a=a.padEnd(6,a),"#".concat(a)},Ks=function(e,t){return{group:t,label:e.label||"",color:e.stroke,checked:e.show||!1,freeFormFields:e.freeFormFields}},Xs=function(e,t){return t.includes("".concat(e))},ef=function(e){switch(e){case"NaN":return NaN;case"Inf":case"+Inf":return 1/0;case"-Inf":return-1/0;default:return parseFloat(e)}},tf=function(e){var t=e.data,n=void 0===t?[]:t,r=e.period,i=e.customStep,o=e.query,a=e.yaxis,u=e.unit,l=e.showLegend,c=void 0===l||l,s=e.setYaxisLimits,f=e.setPeriod,d=e.alias,h=void 0===d?[]:d,p=e.fullWidth,v=void 0===p||p,m=e.height,y=mi().timezone,g=ae((function(){return i||r.step||"1s"}),[r.step,i]),_=ue(function(){var e={};return function(t,n,r){var i=Js(t,r[t.group-1]),o=Object.keys(e).length;return o=i.length||i[u]>o)&&l.push(o)}for(;l.length<2;)l.push(o),o=Yr(o+r);return l}(e,g,r),u=n.map((function(e){var t,n=[],r=e.values,i=r.length,o=0,u=Pa(a);try{for(u.s();!(t=u.n()).done;){for(var l=t.value;o1e10*h?n.map((function(){return f})):n}));u.unshift(a),T(t),w(u),C(o),A(i)}),[n,y]),ne((function(){var e=[],t=[{}];null===n||void 0===n||n.forEach((function(n){var r=_(n,F,h);t.push(r),e.push(Ks(r,n.group))})),C(t),A(e)}),[F]);var M=ie(null);return Fr("div",{className:uo()({"vm-graph-view":!0,"vm-graph-view_full-width":v}),ref:M,children:[(null===M||void 0===M?void 0:M.current)&&Fr(qs,{data:D,series:k,metrics:n,period:r,yaxis:a,unit:u,setPeriod:f,container:null===M||void 0===M?void 0:M.current,height:m}),c&&Fr(Ws,{labels:S,query:o,onChange:function(e,t){O(function(e){var t=e.hideSeries,n=e.legend,r=e.metaKey,i=e.series,o=n.label,a=Xs(o,t),u=i.map((function(e){return e.label||""}));return r?a?t.filter((function(e){return e!==o})):[].concat(Nt(t),[o]):t.length?a?Nt(u.filter((function(e){return e!==o}))):[]:Nt(u.filter((function(e){return e!==o})))}({hideSeries:F,legend:e,metaKey:t,series:k}))}})]})},nf=function(e){var t=e.value,n=e.options,r=e.anchor,i=e.disabled,o=e.maxWords,a=void 0===o?1:o,u=e.minLength,l=void 0===u?2:u,c=e.fullWidth,f=e.selected,d=e.noOptionsText,h=e.onSelect,p=e.onOpenAutocomplete,v=ie(null),m=At(ee(!1),2),y=m[0],g=m[1],_=At(ee(-1),2),b=_[0],D=_[1],w=ae((function(){if(!y)return[];try{var e=new RegExp(String(t),"i");return n.filter((function(n){return e.test(n)&&n!==t})).sort((function(t,n){var r,i;return((null===(r=t.match(e))||void 0===r?void 0:r.index)||0)-((null===(i=n.match(e))||void 0===i?void 0:i.index)||0)}))}catch(s){return[]}}),[y,n,t]),x=ae((function(){return d&&!w.length}),[d,w]),k=function(){g(!1)},C=function(e){var t=e.key,n=e.ctrlKey,r=e.metaKey,i=e.shiftKey,o=n||r||i,a=w.length;if("ArrowUp"===t&&!o&&a&&(e.preventDefault(),D((function(e){return e<=0?0:e-1}))),"ArrowDown"===t&&!o&&a){e.preventDefault();var u=w.length-1;D((function(e){return e>=u?u:e+1}))}if("Enter"===t){var l=w[b];l&&h(l),f||k()}"Escape"===t&&k()};return ne((function(){var e=(t.match(/[a-zA-Z_:.][a-zA-Z0-9_:.]*/gm)||[]).length;g(t.length>l&&e<=a)}),[t]),ne((function(){return function(){if(v.current){var e=v.current.childNodes[b];null!==e&&void 0!==e&&e.scrollIntoView&&e.scrollIntoView({block:"center"})}}(),window.addEventListener("keydown",C),function(){window.removeEventListener("keydown",C)}}),[b,w]),ne((function(){D(-1)}),[w]),ne((function(){p&&p(y)}),[y]),Jo(v,k,r),Fr(Go,{open:y,buttonRef:r,placement:"bottom-left",onClose:k,fullWidth:c,children:Fr("div",{className:"vm-autocomplete",ref:v,children:[x&&Fr("div",{className:"vm-autocomplete__no-options",children:d}),w.map((function(e,t){return Fr("div",{className:uo()({"vm-list-item":!0,"vm-list-item_active":t===b,"vm-list-item_multiselect":f,"vm-list-item_multiselect_selected":null===f||void 0===f?void 0:f.includes(e)}),id:"$autocomplete$".concat(e),onClick:(n=e,function(){i||(h(n),f||k())}),children:[(null===f||void 0===f?void 0:f.includes(e))&&Fr(Ji,{}),Fr("span",{children:e})]},e);var n}))]})})},rf=function(e){var t=e.value,n=e.onChange,r=e.onEnter,i=e.onArrowUp,o=e.onArrowDown,a=e.autocomplete,u=e.error,l=e.options,c=e.label,s=e.disabled,f=void 0!==s&&s,d=At(ee(!1),2),h=d[0],p=d[1],v=ie(null);return Fr("div",{className:"vm-query-editor",ref:v,children:[Fr(da,{value:t,label:c,type:"textarea",autofocus:!!t,error:u,onKeyDown:function(e){var t=e.key,n=e.ctrlKey,a=e.metaKey,u=e.shiftKey,l=n||a,c="ArrowDown"===t,s="Enter"===t;"ArrowUp"===t&&l&&(e.preventDefault(),i()),c&&l&&(e.preventDefault(),o()),!s||u||h||r()},onChange:n,disabled:f}),a&&Fr(nf,{value:t,options:l,anchor:v,onSelect:function(e){n(e)},onOpenAutocomplete:p})]})},of=n(936),af=n.n(of),uf=function(){var e=yr().serverURL,t=Tr().tenantId,n=Mr(),r=yi(),i=At(ee(t||0),2),o=i[0],a=i[1],u=ue(af()((function(t){var i=Number(t);if(n({type:"SET_TENANT_ID",payload:i}),e){var o=e.replace(/(\/select\/)([\d]+)(\/prometheus)/,"$1".concat(i,"$3"));n({type:"SET_SERVER",payload:o}),r({type:"RUN_QUERY"})}}),700),[]);return ne((function(){o!==t&&a(t)}),[t]),Fr(da,{label:"Tenant ID",type:"number",value:o,onChange:function(e){a(e),u(e)},endIcon:Fr(Zo,{title:"Define tenant id if you need request to another storage",children:Fr(Qo,{variant:"text",size:"small",startIcon:Fr(Ni,{})})})})},lf=function(e){var t,n=e.value,r=void 0!==n&&n,i=e.disabled,o=void 0!==i&&i,a=e.label,u=e.color,l=void 0===u?"secondary":u,c=e.onChange;return Fr("div",{className:uo()((sr(t={"vm-switch":!0,"vm-switch_disabled":o,"vm-switch_active":r},"vm-switch_".concat(l,"_active"),r),sr(t,"vm-switch_".concat(l),l),t)),onClick:function(){o||c(!r)},children:[Fr("div",{className:"vm-switch-track",children:Fr("div",{className:"vm-switch-track__thumb"})}),a&&Fr("span",{className:"vm-switch__label",children:a})]})},cf=function(){var e=yr().inputTenantID,t=wi().autocomplete,n=xi(),r=wo(),i=r.nocache,o=r.isTracingEnabled,a=xo();return Fr("div",{className:"vm-additional-settings",children:[Fr(lf,{label:"Autocomplete",value:t,onChange:function(){n({type:"TOGGLE_AUTOCOMPLETE"})}}),Fr(lf,{label:"Disable cache",value:i,onChange:function(){a({type:"TOGGLE_NO_CACHE"})}}),Fr(lf,{label:"Trace query",value:o,onChange:function(){a({type:"TOGGLE_QUERY_TRACING"})}}),!!e&&Fr("div",{className:"vm-additional-settings__input",children:Fr(uf,{})})]})},sf=function(e,t){return e.length===t.length&&e.every((function(e,n){return e===t[n]}))},ff=function(e){var t=e.error,n=e.queryOptions,r=e.onHideQuery,i=wi(),o=i.query,a=i.queryHistory,u=i.autocomplete,l=xi(),c=yi(),s=At(ee(o||[]),2),f=s[0],d=s[1],h=At(ee([]),2),p=h[0],v=h[1],m=Sa(f),y=function(){l({type:"SET_QUERY_HISTORY",payload:f.map((function(e,t){var n=a[t]||{values:[]},r=e===n.values[n.values.length-1];return{index:n.values.length-Number(r),values:!r&&e?[].concat(Nt(n.values),[e]):n.values}}))}),l({type:"SET_QUERY",payload:f}),c({type:"RUN_QUERY"})},g=function(e,t){d((function(n){return n.map((function(n,r){return r===t?e:n}))}))},_=function(e,t){return function(){!function(e,t){var n=a[t],r=n.index,i=n.values,o=r+e;o<0||o>=i.length||(g(i[o]||"",t),l({type:"SET_QUERY_HISTORY_BY_INDEX",payload:{value:{values:i,index:o},queryNumber:t}}))}(e,t)}},b=function(e){return function(t){g(t,e)}},D=function(e){return function(){var t;t=e,d((function(e){return e.filter((function(e,n){return n!==t}))})),v((function(t){return t.includes(e)?t.filter((function(t){return t!==e})):t.map((function(t){return t>e?t-1:t}))}))}},w=function(e){return function(t){!function(e,t){var n=e.ctrlKey,r=e.metaKey;if(n||r){var i=f.map((function(e,t){return t})).filter((function(e){return e!==t}));v((function(e){return sf(i,e)?[]:i}))}else v((function(e){return e.includes(t)?e.filter((function(e){return e!==t})):[].concat(Nt(e),[t])}))}(t,e)}};return ne((function(){m&&f.length1&&Fr(Zo,{title:"Remove Query",children:Fr("div",{className:"vm-query-configurator-list-row__button",children:Fr(Qo,{variant:"text",color:"error",startIcon:Fr(Wi,{}),onClick:D(r)})})})]},r)}))}),Fr("div",{className:"vm-query-configurator-settings",children:[Fr(cf,{}),Fr("div",{className:"vm-query-configurator-settings__buttons",children:[f.length<4&&Fr(Qo,{variant:"outlined",onClick:function(){d((function(e){return[].concat(Nt(e),[""])}))},startIcon:Fr(Qi,{}),children:"Add Query"}),Fr(Qo,{variant:"contained",onClick:y,startIcon:Fr(Ui,{}),children:"Execute Query"})]})]})]})};function df(e){var t,n,r,i=2;for("undefined"!=typeof Symbol&&(n=Symbol.asyncIterator,r=Symbol.iterator);i--;){if(n&&null!=(t=e[n]))return t.call(e);if(r&&null!=(t=e[r]))return new hf(t.call(e));n="@@asyncIterator",r="@@iterator"}throw new TypeError("Object is not async iterable")}function hf(e){function t(e){if(Object(e)!==e)return Promise.reject(new TypeError(e+" is not an object."));var t=e.done;return Promise.resolve(e.value).then((function(e){return{value:e,done:t}}))}return hf=function(e){this.s=e,this.n=e.next},hf.prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(e){var n=this.s.return;return void 0===n?Promise.resolve({value:e,done:!0}):t(n.apply(this.s,arguments))},throw:function(e){var n=this.s.return;return void 0===n?Promise.reject(e):t(n.apply(this.s,arguments))}},new hf(e)}var pf=0,vf=function(){function e(t,n){Ft(this,e),this.tracing=void 0,this.query=void 0,this.tracingChildren=void 0,this.originalTracing=void 0,this.id=void 0,this.tracing=t,this.originalTracing=JSON.parse(JSON.stringify(t)),this.query=n,this.id=pf++;var r=t.children||[];this.tracingChildren=r.map((function(t){return new e(t,n)}))}return Bt(e,[{key:"queryValue",get:function(){return this.query}},{key:"idValue",get:function(){return this.id}},{key:"children",get:function(){return this.tracingChildren}},{key:"message",get:function(){return this.tracing.message}},{key:"duration",get:function(){return this.tracing.duration_msec}},{key:"JSON",get:function(){return JSON.stringify(this.tracing,null,2)}},{key:"originalJSON",get:function(){return JSON.stringify(this.originalTracing,null,2)}},{key:"setTracing",value:function(t){var n=this;this.tracing=t;var r=t.children||[];this.tracingChildren=r.map((function(t){return new e(t,n.query)}))}},{key:"setQuery",value:function(e){this.query=e}},{key:"resetTracing",value:function(){this.tracing=this.originalTracing}}]),e}(),mf=function(e){var t=e.predefinedQuery,n=e.visible,r=e.display,i=e.customStep,o=e.hideQuery,a=e.showAllSeries,u=wi().query,l=mi().period,c=wo(),s=c.displayType,f=c.nocache,d=c.isTracingEnabled,h=c.seriesLimits,p=Tr().serverUrl,v=At(ee(!1),2),m=v[0],y=v[1],g=At(ee(),2),_=g[0],b=g[1],D=At(ee(),2),w=D[0],x=D[1],k=At(ee(),2),C=k[0],E=k[1],S=At(ee(),2),A=S[0],N=S[1],F=At(ee(),2),O=F[0],T=F[1],M=At(ee([]),2),B=M[0],L=M[1];ne((function(){A&&(b(void 0),x(void 0),E(void 0))}),[A]);var I=function(){var e=Ma(Oa().mark((function e(t){var n,r,i,o,a,u,l,c,s,f,d,h,p;return Oa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.fetchUrl,r=t.fetchQueue,i=t.displayType,o=t.query,a=t.stateSeriesLimits,u=t.showAllSeries,l=t.hideQuery,c=new AbortController,L([].concat(Nt(r),[c])),e.prev=3,e.delegateYield(Oa().mark((function e(){var t,r,v,m,y,g,_,D,w,k,C,S;return Oa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t="chart"===i,r=u?1/0:a[i],v=[],m=[],y=1,g=0,s=!1,f=!1,e.prev=8,h=df(n);case 10:return e.next=12,h.next();case 12:if(!(s=!(p=e.sent).done)){e.next=28;break}if(_=p.value,!(null===l||void 0===l?void 0:l.includes(y-1))){e.next=18;break}return y++,e.abrupt("continue",25);case 18:return e.next=20,fetch(_,{signal:c.signal});case 20:return D=e.sent,e.next=23,D.json();case 23:w=e.sent,D.ok?(N(void 0),w.trace&&(k=new vf(w.trace,o[y-1]),m.push(k)),C=r-v.length,w.data.result.slice(0,C).forEach((function(e){e.group=y,v.push(e)})),g+=w.data.result.length,y++):N("".concat(w.errorType,"\r\n").concat(null===w||void 0===w?void 0:w.error));case 25:s=!1,e.next=10;break;case 28:e.next=34;break;case 30:e.prev=30,e.t0=e.catch(8),f=!0,d=e.t0;case 34:if(e.prev=34,e.prev=35,!s||null==h.return){e.next=39;break}return e.next=39,h.return();case 39:if(e.prev=39,!f){e.next=42;break}throw d;case 42:return e.finish(39);case 43:return e.finish(34);case 44:S="Showing ".concat(r," series out of ").concat(g," series due to performance reasons. Please narrow down the query, so it returns less series"),T(g>r?S:""),t?b(v):x(v),E(m);case 48:case"end":return e.stop()}}),e,null,[[8,30,34,44],[35,,39,43]])}))(),"t0",5);case 5:e.next=10;break;case 7:e.prev=7,e.t1=e.catch(3),e.t1 instanceof Error&&"AbortError"!==e.t1.name&&N("".concat(e.t1.name,": ").concat(e.t1.message));case 10:y(!1);case 11:case"end":return e.stop()}}),e,null,[[3,7]])})));return function(t){return e.apply(this,arguments)}}(),P=ue(af()(I,300),[]),z=ae((function(){var e=null!==t&&void 0!==t?t:u,n="chart"===(r||s);if(l)if(p)if(e.every((function(e){return!e.trim()})))N(oa.validQuery);else{if(ha(p)){var o=dr({},l);return o.step=i,e.map((function(e){return n?function(e,t,n,r,i){return"".concat(e,"/api/v1/query_range?query=").concat(encodeURIComponent(t),"&start=").concat(n.start,"&end=").concat(n.end,"&step=").concat(n.step).concat(r?"&nocache=1":"").concat(i?"&trace=1":"")}(p,e,o,f,d):function(e,t,n,r){return"".concat(e,"/api/v1/query?query=").concat(encodeURIComponent(t),"&time=").concat(n.end,"&step=").concat(n.step).concat(r?"&trace=1":"")}(p,e,o,d)}))}N(oa.validServer)}else N(oa.emptyServer)}),[p,l,s,i,o]);return ne((function(){n&&null!==z&&void 0!==z&&z.length&&(y(!0),P({fetchUrl:z,fetchQueue:B,displayType:r||s,query:null!==t&&void 0!==t?t:u,stateSeriesLimits:h,showAllSeries:a,hideQuery:o}))}),[z,n,h,a]),ne((function(){var e=B.slice(0,-1);e.length&&(e.map((function(e){return e.abort()})),L(B.filter((function(e){return!e.signal.aborted}))))}),[B]),{fetchUrl:z,isLoading:m,graphData:_,liveData:w,error:A,warning:O,traces:C}},yf=function(e){var t=e.data,n=$o().showInfoMessage,r=ae((function(){return JSON.stringify(t,null,2)}),[t]);return Fr("div",{className:"vm-json-view",children:[Fr("div",{className:"vm-json-view__copy",children:Fr(Qo,{variant:"outlined",onClick:function(){navigator.clipboard.writeText(r),n({text:"Formatted JSON has been copied",type:"success"})},children:"Copy JSON"})}),Fr("pre",{className:"vm-json-view__code",children:Fr("code",{children:r})})]})},gf=function(e){var t=e.yaxis,n=e.setYaxisLimits,r=e.toggleEnableLimits,i=ae((function(){return Object.keys(t.limits.range)}),[t.limits.range]),o=ue(af()((function(e,r,i){var o=t.limits.range;o[r][i]=+e,o[r][0]===o[r][1]||o[r][0]>o[r][1]||n(o)}),500),[t.limits.range]),a=function(e,t){return function(n){o(n,e,t)}};return Fr("div",{className:"vm-axes-limits",children:[Fr(lf,{value:t.limits.enable,onChange:r,label:"Fix the limits for y-axis"}),Fr("div",{className:"vm-axes-limits-list",children:i.map((function(e){return Fr("div",{className:"vm-axes-limits-list__inputs",children:[Fr(da,{label:"Min ".concat(e),type:"number",disabled:!t.limits.enable,value:t.limits.range[e][0],onChange:a(e,0)}),Fr(da,{label:"Max ".concat(e),type:"number",disabled:!t.limits.enable,value:t.limits.range[e][1],onChange:a(e,1)})]},e)}))})]})},_f="Axes settings",bf=function(e){var t=e.yaxis,n=e.setYaxisLimits,r=e.toggleEnableLimits,i=ie(null),o=At(ee(!1),2),a=o[0],u=o[1],l=ie(null);Jo(i,(function(){return u(!1)}),l);var c=function(){u(!1)};return Fr("div",{className:"vm-graph-settings",children:[Fr(Zo,{title:_f,children:Fr("div",{ref:l,children:Fr(Qo,{variant:"text",startIcon:Fr(Ei,{}),onClick:function(){u((function(e){return!e}))}})})}),Fr(Go,{open:a,buttonRef:l,placement:"bottom-right",onClose:c,children:Fr("div",{className:"vm-graph-settings-popper",ref:i,children:[Fr("div",{className:"vm-popper-header",children:[Fr("h3",{className:"vm-popper-header__title",children:_f}),Fr(Qo,{size:"small",startIcon:Fr(Si,{}),onClick:c})]}),Fr("div",{className:"vm-graph-settings-popper__body",children:Fr(gf,{yaxis:t,setYaxisLimits:n,toggleEnableLimits:r})})]})})]})},Df=function(e){var t=e.containerStyles,n=void 0===t?{}:t,r=e.message;return Fr("div",{className:"vm-spinner",style:n&&{},children:[Fr("div",{className:"half-circle-spinner",children:[Fr("div",{className:"circle circle-1"}),Fr("div",{className:"circle circle-2"})]}),r&&Fr("div",{className:"vm-spinner__message",children:r})]})},wf=function(){var e=Tr().serverUrl,t=At(ee([]),2),n=t[0],r=t[1],i=function(){var t=Ma(Oa().mark((function t(){var n,i,o;return Oa().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e){t.next=2;break}return t.abrupt("return");case 2:return n="".concat(e,"/api/v1/label/__name__/values"),t.prev=3,t.next=6,fetch(n);case 6:return i=t.sent,t.next=9,i.json();case 9:o=t.sent,i.ok&&r(o.data),t.next=16;break;case 13:t.prev=13,t.t0=t.catch(3),console.error(t.t0);case 16:case"end":return t.stop()}}),t,null,[[3,13]])})));return function(){return t.apply(this,arguments)}}();return ne((function(){i()}),[e]),{queryOptions:n}},xf=function(e){var t=e.value;return Fr("div",{className:"vm-line-progress",children:[Fr("div",{className:"vm-line-progress-track",children:Fr("div",{className:"vm-line-progress-track__thumb",style:{width:"".concat(t,"%")}})}),Fr("span",{children:[t.toFixed(2),"%"]})]})},kf=function e(t){var n,r=t.trace,i=t.totalMsec,o=At(ee({}),2),a=o[0],u=o[1],l=r.children&&!!r.children.length,c=r.duration/i*100;return Fr("div",{className:"vm-nested-nav",children:[Fr("div",{className:"vm-nested-nav-header",onClick:(n=r.idValue,function(){u((function(e){return dr(dr({},e),{},sr({},n,!e[n]))}))}),children:[l&&Fr("div",{className:uo()({"vm-nested-nav-header__icon":!0,"vm-nested-nav-header__icon_open":a[r.idValue]}),children:Fr(Bi,{})}),Fr("div",{className:"vm-nested-nav-header__progress",children:Fr(xf,{value:c})}),Fr("div",{className:"vm-nested-nav-header__message",children:r.message}),Fr("div",{className:"vm-nested-nav-header__duration",children:"duration: ".concat(r.duration," ms")})]}),a[r.idValue]&&Fr("div",{children:l&&r.children.map((function(t){return Fr(e,{trace:t,totalMsec:i},t.duration)}))})]})},Cf=function(e){var t=e.editable,n=void 0!==t&&t,r=e.defaultTile,i=void 0===r?"JSON":r,o=e.displayTitle,a=void 0===o||o,u=e.defaultJson,l=void 0===u?"":u,c=e.resetValue,f=void 0===c?"":c,d=e.onClose,h=e.onUpload,p=$o().showInfoMessage,v=At(ee(l),2),m=v[0],y=v[1],g=At(ee(i),2),_=g[0],b=g[1],D=At(ee(""),2),w=D[0],x=D[1],k=At(ee(""),2),C=k[0],E=k[1],S=ae((function(){try{var e=JSON.parse(m),t=e.trace||e;return t.duration_msec?(new vf(t,""),""):oa.traceNotFound}catch(s){return s instanceof Error?s.message:"Unknown error"}}),[m]),A=function(){var e=Ma(Oa().mark((function e(){return Oa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,navigator.clipboard.writeText(m);case 2:p({text:"Formatted JSON has been copied",type:"success"});case 3:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),N=function(){E(S),_.trim()||x(oa.emptyTitle),S||w||(h(m,_),d())};return Fr("div",{className:uo()({"vm-json-form":!0,"vm-json-form_one-field":!a}),children:[a&&Fr(da,{value:_,label:"Title",error:w,onEnter:N,onChange:function(e){b(e)}}),Fr(da,{value:m,label:"JSON",type:"textarea",error:C,autofocus:!0,onChange:function(e){E(""),y(e)},disabled:!n}),Fr("div",{className:"vm-json-form-footer",children:[Fr("div",{className:"vm-json-form-footer__controls",children:[Fr(Qo,{variant:"outlined",startIcon:Fr(Ki,{}),onClick:A,children:"Copy JSON"}),f&&Fr(Qo,{variant:"text",startIcon:Fr(Ai,{}),onClick:function(){y(f)},children:"Reset JSON"})]}),Fr("div",{className:"vm-json-form-footer__controls vm-json-form-footer__controls_right",children:[Fr(Qo,{variant:"outlined",color:"error",onClick:d,children:"Cancel"}),Fr(Qo,{variant:"contained",onClick:N,children:"apply"})]})]})]})},Ef=function(e){var t=e.traces,n=e.jsonEditor,r=void 0!==n&&n,i=e.onDeleteClick,o=At(ee(null),2),a=o[0],u=o[1],l=function(){u(null)};if(!t.length)return Fr(Ro,{variant:"info",children:"Please re-run the query to see results of the tracing"});var c=function(e){return function(){i(e)}};return Fr(y,{children:[Fr("div",{className:"vm-tracings-view",children:t.map((function(e){return Fr("div",{className:"vm-tracings-view-trace vm-block vm-block_empty-padding",children:[Fr("div",{className:"vm-tracings-view-trace-header",children:[Fr("h3",{className:"vm-tracings-view-trace-header-title",children:["Trace for ",Fr("b",{className:"vm-tracings-view-trace-header-title__query",children:e.queryValue})]}),Fr(Zo,{title:"Open JSON",children:Fr(Qo,{variant:"text",startIcon:Fr(Vi,{}),onClick:(t=e,function(){u(t)})})}),Fr(Zo,{title:"Remove trace",children:Fr(Qo,{variant:"text",color:"error",startIcon:Fr(Wi,{}),onClick:c(e)})})]}),Fr("nav",{className:"vm-tracings-view-trace__nav",children:Fr(kf,{trace:e,totalMsec:e.duration})})]},e.idValue);var t}))}),a&&Fr(va,{title:a.queryValue,onClose:l,children:Fr(Cf,{editable:r,displayTitle:r,defaultTile:a.queryValue,defaultJson:a.JSON,resetValue:a.originalJSON,onClose:l,onUpload:function(e,t){if(r&&a)try{a.setTracing(JSON.parse(e)),a.setQuery(t),u(null)}catch(s){console.error(s)}}})})]})},Sf=function(e,t){return ae((function(){var n={};e.forEach((function(e){return Object.entries(e.metric).forEach((function(e){return n[e[0]]?n[e[0]].options.add(e[1]):n[e[0]]={options:new Set([e[1]])}}))}));var r=Object.entries(n).map((function(e){return{key:e[0],variations:e[1].options.size}})).sort((function(e,t){return e.variations-t.variations}));return t?r.filter((function(e){return t.includes(e.key)})):r}),[e,t])},Af=function(e){var t,n=e.checked,r=void 0!==n&&n,i=e.disabled,o=void 0!==i&&i,a=e.label,u=e.color,l=void 0===u?"secondary":u,c=e.onChange;return Fr("div",{className:uo()((sr(t={"vm-checkbox":!0,"vm-checkbox_disabled":o,"vm-checkbox_active":r},"vm-checkbox_".concat(l,"_active"),r),sr(t,"vm-checkbox_".concat(l),l),t)),onClick:function(){o||c(!r)},children:[Fr("div",{className:"vm-checkbox-track",children:Fr("div",{className:"vm-checkbox-track__thumb",children:Fr(Ji,{})})}),a&&Fr("span",{className:"vm-checkbox__label",children:a})]})},Nf="Table settings",Ff=function(e){var t=e.data,n=e.defaultColumns,r=void 0===n?[]:n,i=e.onChange,o=wo().tableCompact,a=xo(),u=Sf(t),l=ie(null),c=At(ee(!1),2),s=c[0],f=c[1],d=ae((function(){return!u.length}),[u]),h=function(){f(!1)},p=function(e){return function(){!function(e){i(r.includes(e)?r.filter((function(t){return t!==e})):[].concat(Nt(r),[e]))}(e)}};return ne((function(){var e=u.map((function(e){return e.key}));sf(e,r)||i(e)}),[u]),Fr("div",{className:"vm-table-settings",children:[Fr(Zo,{title:Nf,children:Fr("div",{ref:l,children:Fr(Qo,{variant:"text",startIcon:Fr(Ei,{}),onClick:function(){f((function(e){return!e}))},disabled:d})})}),Fr(Go,{open:s,onClose:h,placement:"bottom-right",buttonRef:l,children:Fr("div",{className:"vm-table-settings-popper",children:[Fr("div",{className:"vm-popper-header",children:[Fr("h3",{className:"vm-popper-header__title",children:Nf}),Fr(Qo,{onClick:h,startIcon:Fr(Si,{}),size:"small"})]}),Fr("div",{className:"vm-table-settings-popper-list",children:Fr(lf,{label:"Compact view",value:o,onChange:function(){a({type:"TOGGLE_TABLE_COMPACT"})}})}),Fr("div",{className:"vm-table-settings-popper-list",children:[Fr("div",{className:"vm-table-settings-popper-list-header",children:[Fr("h3",{className:"vm-table-settings-popper-list-header__title",children:"Display columns"}),Fr(Zo,{title:"Reset to default",children:Fr(Qo,{color:"primary",variant:"text",size:"small",onClick:function(){f(!1),i(u.map((function(e){return e.key})))},startIcon:Fr(Ai,{})})})]}),u.map((function(e){return Fr("div",{className:"vm-table-settings-popper-list__item",children:Fr(Af,{checked:r.includes(e.key),onChange:p(e.key),label:e.key,disabled:o})},e.key)}))]})]})})]})};function Of(e){return function(e,t){return Object.fromEntries(Object.entries(e).filter(t))}(e,(function(e){return!!e[1]}))}var Tf=["__name__"],Mf=function(e){var t=e.data,n=e.displayColumns,r=$o().showInfoMessage,i=wo().tableCompact,o=oo(document.body),a=ie(null),u=At(ee(0),2),l=u[0],c=u[1],s=At(ee(0),2),f=s[0],d=s[1],h=At(ee(""),2),p=h[0],v=h[1],m=At(ee("asc"),2),y=m[0],g=m[1],_=i?Sf([{group:0,metric:{Data:"Data"}}],["Data"]):Sf(t,n),b=function(e){var t=e.__name__,n=lo(e,Tf);return t||Object.keys(n).length?"".concat(t," ").concat(JSON.stringify(n)):""},D=new Set(null===t||void 0===t?void 0:t.map((function(e){return e.group}))),w=D.size>1,x=ae((function(){var e=null===t||void 0===t?void 0:t.map((function(e){return{metadata:_.map((function(t){return i?Js(e,"",w):e.metric[t.key]||"-"})),value:e.value?e.value[1]:"-",values:e.values?e.values.map((function(e){var t=At(e,2),n=t[0],r=t[1];return"".concat(r," @").concat(n)})):[],copyValue:b(e.metric)}})),n="Value"===p,r=_.findIndex((function(e){return e.key===p}));return n||-1!==r?e.sort((function(e,t){var i=n?Number(e.value):e.metadata[r],o=n?Number(t.value):t.metadata[r];return("asc"===y?io)?-1:1})):e}),[_,t,p,y,i]),k=ae((function(){return x.some((function(e){return e.copyValue}))}),[x]),C=function(){var e=Ma(Oa().mark((function e(t){return Oa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,navigator.clipboard.writeText(t);case 2:r({text:"Row has been copied",type:"success"});case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),E=function(e){return function(){!function(e){g((function(t){return"asc"===t&&p===e?"desc":"asc"})),v(e)}(e)}},S=function(){if(a.current){var e=a.current.getBoundingClientRect().top;d(e<0?window.scrollY-l:0)}};return ne((function(){return window.addEventListener("scroll",S),function(){window.removeEventListener("scroll",S)}}),[a,l,o]),ne((function(){if(a.current){var e=a.current.getBoundingClientRect().top;c(e+window.scrollY)}}),[a,o]),x.length?Fr("div",{className:"vm-table-view",children:Fr("table",{className:"vm-table",ref:a,children:[Fr("thead",{className:"vm-table-header",children:Fr("tr",{className:"vm-table__row vm-table__row_header",style:{transform:"translateY(".concat(f,"px)")},children:[_.map((function(e,t){return Fr("td",{className:"vm-table-cell vm-table-cell_header vm-table-cell_sort",onClick:E(e.key),children:Fr("div",{className:"vm-table-cell__content",children:[e.key,Fr("div",{className:uo()({"vm-table__sort-icon":!0,"vm-table__sort-icon_active":p===e.key,"vm-table__sort-icon_desc":"desc"===y&&p===e.key}),children:Fr(Li,{})})]})},t)})),Fr("td",{className:"vm-table-cell vm-table-cell_header vm-table-cell_right vm-table-cell_sort",onClick:E("Value"),children:Fr("div",{className:"vm-table-cell__content",children:[Fr("div",{className:uo()({"vm-table__sort-icon":!0,"vm-table__sort-icon_active":"Value"===p,"vm-table__sort-icon_desc":"desc"===y}),children:Fr(Li,{})}),"Value"]})}),k&&Fr("td",{className:"vm-table-cell vm-table-cell_header"})]})}),Fr("tbody",{className:"vm-table-body",children:x.map((function(e,t){return Fr("tr",{className:"vm-table__row",children:[e.metadata.map((function(e,n){return Fr("td",{className:uo()({"vm-table-cell vm-table-cell_no-wrap":!0,"vm-table-cell_gray":x[t-1]&&x[t-1].metadata[n]===e}),children:e},n)})),Fr("td",{className:"vm-table-cell vm-table-cell_right vm-table-cell_no-wrap",children:e.values.length?e.values.map((function(e){return Fr("p",{children:e},e)})):e.value}),k&&Fr("td",{className:"vm-table-cell vm-table-cell_right",children:e.copyValue&&Fr("div",{className:"vm-table-cell__content",children:Fr(Zo,{title:"Copy row",children:Fr(Qo,{variant:"text",color:"gray",size:"small",startIcon:Fr(Ki,{}),onClick:(n=e.copyValue,function(){C(n)})})})})})]},t);var n}))})]})}):Fr(Ro,{variant:"warning",children:"No data to show"})},Bf=function(){var e=wo(),t=e.displayType,n=e.isTracingEnabled,r=wi().query,i=mi().period,o=yi();!function(){var e=Tr().tenantId,t=wo().displayType,n=wi().query,r=mi(),i=r.duration,o=r.relativeTime,a=r.period,u=a.date,l=a.step,c=So().customStep,s=function(){var r={};n.forEach((function(n,a){var s,f="g".concat(a);r["".concat(f,".expr")]=n,r["".concat(f,".range_input")]=i,r["".concat(f,".end_input")]=u,r["".concat(f,".tab")]=(null===(s=po.find((function(e){return e.value===t})))||void 0===s?void 0:s.prometheusCode)||0,r["".concat(f,".relative_time")]=o,r["".concat(f,".tenantID")]=e,l!==c&&c&&(r["".concat(f,".step_input")]=c)})),Cr(Of(r))};ne(s,[e,t,n,i,o,u,l,c]),ne(s,[])}();var a=At(ee(),2),u=a[0],l=a[1],c=At(ee([]),2),s=c[0],f=c[1],d=At(ee([]),2),h=d[0],p=d[1],v=At(ee(!1),2),m=v[0],y=v[1],g=So(),_=g.customStep,b=g.yaxis,D=Ao(),w=wf().queryOptions,x=mf({visible:!0,customStep:_,hideQuery:h,showAllSeries:m}),k=x.isLoading,C=x.liveData,E=x.graphData,S=x.error,A=x.warning,N=x.traces,F=function(e){D({type:"SET_YAXIS_LIMITS",payload:e})};return ne((function(){N&&f([].concat(Nt(s),Nt(N)))}),[N]),ne((function(){f([])}),[t]),ne((function(){y(!1)}),[r]),Fr("div",{className:"vm-custom-panel",children:[Fr(ff,{error:S,queryOptions:w,onHideQuery:function(e){p(e)}}),n&&Fr("div",{className:"vm-custom-panel__trace",children:Fr(Ef,{traces:s,onDeleteClick:function(e){var t=s.filter((function(t){return t.idValue!==e.idValue}));f(Nt(t))}})}),k&&Fr(Df,{}),S&&Fr(Ro,{variant:"error",children:S}),A&&Fr(Ro,{variant:"warning",children:Fr("div",{className:"vm-custom-panel__warning",children:[Fr("p",{children:A}),Fr(Qo,{color:"warning",variant:"outlined",onClick:function(){y(!0)},children:"Show all"})]})}),Fr("div",{className:"vm-custom-panel-body vm-block",children:[Fr("div",{className:"vm-custom-panel-body-header",children:[Fr(vo,{}),"chart"===t&&Fr(bf,{yaxis:b,setYaxisLimits:F,toggleEnableLimits:function(){D({type:"TOGGLE_ENABLE_YAXIS_LIMITS"})}}),"table"===t&&Fr(Ff,{data:C||[],defaultColumns:u,onChange:l})]}),E&&i&&"chart"===t&&Fr(tf,{data:E,period:i,customStep:_,query:r,yaxis:b,setYaxisLimits:F,setPeriod:function(e){var t=e.from,n=e.to;o({type:"SET_PERIOD",payload:{from:t,to:n}})}}),C&&"code"===t&&Fr(yf,{data:C}),C&&"table"===t&&Fr(Mf,{data:C,displayColumns:u})]})]})};function Lf(){return{async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}var If={async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1};var Pf=/[&<>"']/,zf=new RegExp(Pf.source,"g"),Rf=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,jf=new RegExp(Rf.source,"g"),$f={"&":"&","<":"<",">":">",'"':""","'":"'"},Uf=function(e){return $f[e]};function Hf(e,t){if(t){if(Pf.test(e))return e.replace(zf,Uf)}else if(Rf.test(e))return e.replace(jf,Uf);return e}var Yf=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function qf(e){return e.replace(Yf,(function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""}))}var Vf=/(^|[^\[])\^/g;function Wf(e,t){e="string"===typeof e?e:e.source,t=t||"";var n={replace:function(t,r){return r=(r=r.source||r).replace(Vf,"$1"),e=e.replace(t,r),n},getRegex:function(){return new RegExp(e,t)}};return n}var Qf=/[^\w:]/g,Jf=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function Gf(e,t,n){if(e){var r;try{r=decodeURIComponent(qf(n)).replace(Qf,"").toLowerCase()}catch(s){return null}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:")||0===r.indexOf("data:"))return null}t&&!Jf.test(n)&&(n=function(e,t){Zf[" "+e]||(Kf.test(e)?Zf[" "+e]=e+"/":Zf[" "+e]=id(e,"/",!0));e=Zf[" "+e];var n=-1===e.indexOf(":");return"//"===t.substring(0,2)?n?t:e.replace(Xf,"$1")+t:"/"===t.charAt(0)?n?t:e.replace(ed,"$1")+t:e+t}(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch(s){return null}return n}var Zf={},Kf=/^[^:]+:\/*[^/]*$/,Xf=/^([^:]+:)[\s\S]*$/,ed=/^([^:]+:\/*[^/]*)[\s\S]*$/;var td={exec:function(){}};function nd(e){for(var t,n,r=1;r=0&&"\\"===n[i];)r=!r;return r?"|":" |"})).split(/ \|/),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),n.length>t)n.splice(t);else for(;n.length1;)1&t&&(n+=e),t>>=1,e+=e;return n+e}function ud(e,t,n,r){var i=t.href,o=t.title?Hf(t.title):null,a=e[1].replace(/\\([\[\]])/g,"$1");if("!"!==e[0].charAt(0)){r.state.inLink=!0;var u={type:"link",raw:n,href:i,title:o,text:a,tokens:r.inlineTokens(a)};return r.state.inLink=!1,u}return{type:"image",raw:n,href:i,title:o,text:Hf(a)}}var ld=function(){function e(t){Ft(this,e),this.options=t||If}return Bt(e,[{key:"space",value:function(e){var t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}},{key:"code",value:function(e){var t=this.rules.block.code.exec(e);if(t){var n=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?n:id(n,"\n")}}}},{key:"fences",value:function(e){var t=this.rules.block.fences.exec(e);if(t){var n=t[0],r=function(e,t){var n=e.match(/^(\s+)(?:```)/);if(null===n)return t;var r=n[1];return t.split("\n").map((function(e){var t=e.match(/^\s+/);return null===t?e:At(t,1)[0].length>=r.length?e.slice(r.length):e})).join("\n")}(n,t[3]||"");return{type:"code",raw:n,lang:t[2]?t[2].trim().replace(this.rules.inline._escapes,"$1"):t[2],text:r}}}},{key:"heading",value:function(e){var t=this.rules.block.heading.exec(e);if(t){var n=t[2].trim();if(/#$/.test(n)){var r=id(n,"#");this.options.pedantic?n=r.trim():r&&!/ $/.test(r)||(n=r.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:n,tokens:this.lexer.inline(n)}}}},{key:"hr",value:function(e){var t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}}},{key:"blockquote",value:function(e){var t=this.rules.block.blockquote.exec(e);if(t){var n=t[0].replace(/^ *>[ \t]?/gm,""),r=this.lexer.state.top;this.lexer.state.top=!0;var i=this.lexer.blockTokens(n);return this.lexer.state.top=r,{type:"blockquote",raw:t[0],tokens:i,text:n}}}},{key:"list",value:function(e){var t=this.rules.block.list.exec(e);if(t){var n,r,i,o,a,u,l,c,s,f,d,h,p=t[1].trim(),v=p.length>1,m={type:"list",raw:"",ordered:v,start:v?+p.slice(0,-1):"",loose:!1,items:[]};p=v?"\\d{1,9}\\".concat(p.slice(-1)):"\\".concat(p),this.options.pedantic&&(p=v?p:"[*+-]");for(var y=new RegExp("^( {0,3}".concat(p,")((?:[\t ][^\\n]*)?(?:\\n|$))"));e&&(h=!1,t=y.exec(e))&&!this.rules.block.hr.test(e);){if(n=t[0],e=e.substring(n.length),c=t[2].split("\n",1)[0],s=e.split("\n",1)[0],this.options.pedantic?(o=2,d=c.trimLeft()):(o=(o=t[2].search(/[^ ]/))>4?1:o,d=c.slice(o),o+=t[1].length),u=!1,!c&&/^ *$/.test(s)&&(n+=s+"\n",e=e.substring(s.length+1),h=!0),!h)for(var g=new RegExp("^ {0,".concat(Math.min(3,o-1),"}(?:[*+-]|\\d{1,9}[.)])((?: [^\\n]*)?(?:\\n|$))")),_=new RegExp("^ {0,".concat(Math.min(3,o-1),"}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)")),b=new RegExp("^ {0,".concat(Math.min(3,o-1),"}(?:```|~~~)")),D=new RegExp("^ {0,".concat(Math.min(3,o-1),"}#"));e&&(c=f=e.split("\n",1)[0],this.options.pedantic&&(c=c.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),!b.test(c))&&!D.test(c)&&!g.test(c)&&!_.test(e);){if(c.search(/[^ ]/)>=o||!c.trim())d+="\n"+c.slice(o);else{if(u)break;d+="\n"+c}u||c.trim()||(u=!0),n+=f+"\n",e=e.substring(f.length+1)}m.loose||(l?m.loose=!0:/\n *\n *$/.test(n)&&(l=!0)),this.options.gfm&&(r=/^\[[ xX]\] /.exec(d))&&(i="[ ] "!==r[0],d=d.replace(/^\[[ xX]\] +/,"")),m.items.push({type:"list_item",raw:n,task:!!r,checked:i,loose:!1,text:d}),m.raw+=n}m.items[m.items.length-1].raw=n.trimRight(),m.items[m.items.length-1].text=d.trimRight(),m.raw=m.raw.trimRight();var w=m.items.length;for(a=0;a0&&x.some((function(e){return/\n.*\n/.test(e.raw)}));m.loose=k}if(m.loose)for(a=0;a$/,"$1").replace(this.rules.inline._escapes,"$1"):"",i=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline._escapes,"$1"):t[3];return{type:"def",tag:n,raw:t[0],href:r,title:i}}}},{key:"table",value:function(e){var t=this.rules.block.table.exec(e);if(t){var n={type:"table",header:rd(t[1]).map((function(e){return{text:e}})),align:t[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split("\n"):[]};if(n.header.length===n.align.length){n.raw=t[0];var r,i,o,a,u=n.align.length;for(r=0;r/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(t[0]):Hf(t[0]):t[0]}}},{key:"link",value:function(e){var t=this.rules.inline.link.exec(e);if(t){var n=t[2].trim();if(!this.options.pedantic&&/^$/.test(n))return;var r=id(n.slice(0,-1),"\\");if((n.length-r.length)%2===0)return}else{var i=function(e,t){if(-1===e.indexOf(t[1]))return-1;for(var n=e.length,r=0,i=0;i-1){var o=(0===t[0].indexOf("!")?5:4)+t[1].length+i;t[2]=t[2].substring(0,i),t[0]=t[0].substring(0,o).trim(),t[3]=""}}var a=t[2],u="";if(this.options.pedantic){var l=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(a);l&&(a=l[1],u=l[3])}else u=t[3]?t[3].slice(1,-1):"";return a=a.trim(),/^$/.test(n)?a.slice(1):a.slice(1,-1)),ud(t,{href:a?a.replace(this.rules.inline._escapes,"$1"):a,title:u?u.replace(this.rules.inline._escapes,"$1"):u},t[0],this.lexer)}}},{key:"reflink",value:function(e,t){var n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){var r=(n[2]||n[1]).replace(/\s+/g," ");if(!(r=t[r.toLowerCase()])){var i=n[0].charAt(0);return{type:"text",raw:i,text:i}}return ud(n,r,n[0],this.lexer)}}},{key:"emStrong",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=this.rules.inline.emStrong.lDelim.exec(e);if(r&&(!r[3]||!n.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDF70-\uDF81\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDF50-\uDF59\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEC0-\uDED3\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\uDCD0-\uDCEB\uDCF0-\uDCF9\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])/))){var i=r[1]||r[2]||"";if(!i||i&&(""===n||this.rules.inline.punctuation.exec(n))){var o,a,u=r[0].length-1,l=u,c=0,s="*"===r[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(s.lastIndex=0,t=t.slice(-1*e.length+u);null!=(r=s.exec(t));)if(o=r[1]||r[2]||r[3]||r[4]||r[5]||r[6])if(a=o.length,r[3]||r[4])l+=a;else if(!((r[5]||r[6])&&u%3)||(u+a)%3){if(!((l-=a)>0)){a=Math.min(a,a+l+c);var f=e.slice(0,u+r.index+(r[0].length-o.length)+a);if(Math.min(u,a)%2){var d=f.slice(1,-1);return{type:"em",raw:f,text:d,tokens:this.lexer.inlineTokens(d)}}var h=f.slice(2,-2);return{type:"strong",raw:f,text:h,tokens:this.lexer.inlineTokens(h)}}}else c+=a}}}},{key:"codespan",value:function(e){var t=this.rules.inline.code.exec(e);if(t){var n=t[2].replace(/\n/g," "),r=/[^ ]/.test(n),i=/^ /.test(n)&&/ $/.test(n);return r&&i&&(n=n.substring(1,n.length-1)),n=Hf(n,!0),{type:"codespan",raw:t[0],text:n}}}},{key:"br",value:function(e){var t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}},{key:"del",value:function(e){var t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}},{key:"autolink",value:function(e,t){var n,r,i=this.rules.inline.autolink.exec(e);if(i)return r="@"===i[2]?"mailto:"+(n=Hf(this.options.mangle?t(i[1]):i[1])):n=Hf(i[1]),{type:"link",raw:i[0],text:n,href:r,tokens:[{type:"text",raw:n,text:n}]}}},{key:"url",value:function(e,t){var n;if(n=this.rules.inline.url.exec(e)){var r,i;if("@"===n[2])i="mailto:"+(r=Hf(this.options.mangle?t(n[0]):n[0]));else{var o;do{o=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(o!==n[0]);r=Hf(n[0]),i="www."===n[1]?"http://"+n[0]:n[0]}return{type:"link",raw:n[0],text:r,href:i,tokens:[{type:"text",raw:r,text:r}]}}}},{key:"inlineText",value:function(e,t){var n,r=this.rules.inline.text.exec(e);if(r)return n=this.lexer.state.inRawBlock?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(r[0]):Hf(r[0]):r[0]:Hf(this.options.smartypants?t(r[0]):r[0]),{type:"text",raw:r[0],text:n}}}]),e}(),cd={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:td,lheading:/^((?:.|\n(?!\n))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\.|[^\[\]\\])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};cd.def=Wf(cd.def).replace("label",cd._label).replace("title",cd._title).getRegex(),cd.bullet=/(?:[*+-]|\d{1,9}[.)])/,cd.listItemStart=Wf(/^( *)(bull) */).replace("bull",cd.bullet).getRegex(),cd.list=Wf(cd.list).replace(/bull/g,cd.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+cd.def.source+")").getRegex(),cd._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",cd._comment=/|$)/,cd.html=Wf(cd.html,"i").replace("comment",cd._comment).replace("tag",cd._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),cd.paragraph=Wf(cd._paragraph).replace("hr",cd.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",cd._tag).getRegex(),cd.blockquote=Wf(cd.blockquote).replace("paragraph",cd.paragraph).getRegex(),cd.normal=nd({},cd),cd.gfm=nd({},cd.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),cd.gfm.table=Wf(cd.gfm.table).replace("hr",cd.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",cd._tag).getRegex(),cd.gfm.paragraph=Wf(cd._paragraph).replace("hr",cd.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",cd.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",cd._tag).getRegex(),cd.pedantic=nd({},cd.normal,{html:Wf("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?\\1> *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",cd._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:td,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:Wf(cd.normal._paragraph).replace("hr",cd.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",cd.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var sd={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:td,tag:"^comment|^[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/^(?:[^_*\\]|\\.)*?\_\_(?:[^_*\\]|\\.)*?\*(?:[^_*\\]|\\.)*?(?=\_\_)|(?:[^*\\]|\\.)+(?=[^*])|[punct_](\*+)(?=[\s]|$)|(?:[^punct*_\s\\]|\\.)(\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|(?:[^punct*_\s\\]|\\.)(\*+)(?=[^punct*_\s])/,rDelimUnd:/^(?:[^_*\\]|\\.)*?\*\*(?:[^_*\\]|\\.)*?\_(?:[^_*\\]|\\.)*?(?=\*\*)|(?:[^_\\]|\\.)+(?=[^_])|[punct*](\_+)(?=[\s]|$)|(?:[^punct*_\s\\]|\\.)(\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:td,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\.5&&(n="x"+n.toString(16)),r+=""+n+";";return r}sd._punctuation="!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~",sd.punctuation=Wf(sd.punctuation).replace(/punctuation/g,sd._punctuation).getRegex(),sd.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,sd.escapedEmSt=/(?:^|[^\\])(?:\\\\)*\\[*_]/g,sd._comment=Wf(cd._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),sd.emStrong.lDelim=Wf(sd.emStrong.lDelim).replace(/punct/g,sd._punctuation).getRegex(),sd.emStrong.rDelimAst=Wf(sd.emStrong.rDelimAst,"g").replace(/punct/g,sd._punctuation).getRegex(),sd.emStrong.rDelimUnd=Wf(sd.emStrong.rDelimUnd,"g").replace(/punct/g,sd._punctuation).getRegex(),sd._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,sd._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,sd._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,sd.autolink=Wf(sd.autolink).replace("scheme",sd._scheme).replace("email",sd._email).getRegex(),sd._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,sd.tag=Wf(sd.tag).replace("comment",sd._comment).replace("attribute",sd._attribute).getRegex(),sd._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,sd._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,sd._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,sd.link=Wf(sd.link).replace("label",sd._label).replace("href",sd._href).replace("title",sd._title).getRegex(),sd.reflink=Wf(sd.reflink).replace("label",sd._label).replace("ref",cd._label).getRegex(),sd.nolink=Wf(sd.nolink).replace("ref",cd._label).getRegex(),sd.reflinkSearch=Wf(sd.reflinkSearch,"g").replace("reflink",sd.reflink).replace("nolink",sd.nolink).getRegex(),sd.normal=nd({},sd),sd.pedantic=nd({},sd.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:Wf(/^!?\[(label)\]\((.*?)\)/).replace("label",sd._label).getRegex(),reflink:Wf(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",sd._label).getRegex()}),sd.gfm=nd({},sd.normal,{escape:Wf(sd.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\1&&void 0!==arguments[1]?arguments[1]:[];for(e=this.options.pedantic?e.replace(/\t/g," ").replace(/^ +$/gm,""):e.replace(/^( *)(\t+)/gm,(function(e,t,n){return t+" ".repeat(n.length)}));e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some((function(n){return!!(t=n.call({lexer:o},e,a))&&(e=e.substring(t.raw.length),a.push(t),!0)}))))if(t=this.tokenizer.space(e))e=e.substring(t.raw.length),1===t.raw.length&&a.length>0?a[a.length-1].raw+="\n":a.push(t);else if(t=this.tokenizer.code(e))e=e.substring(t.raw.length),!(n=a[a.length-1])||"paragraph"!==n.type&&"text"!==n.type?a.push(t):(n.raw+="\n"+t.raw,n.text+="\n"+t.text,this.inlineQueue[this.inlineQueue.length-1].src=n.text);else if(t=this.tokenizer.fences(e))e=e.substring(t.raw.length),a.push(t);else if(t=this.tokenizer.heading(e))e=e.substring(t.raw.length),a.push(t);else if(t=this.tokenizer.hr(e))e=e.substring(t.raw.length),a.push(t);else if(t=this.tokenizer.blockquote(e))e=e.substring(t.raw.length),a.push(t);else if(t=this.tokenizer.list(e))e=e.substring(t.raw.length),a.push(t);else if(t=this.tokenizer.html(e))e=e.substring(t.raw.length),a.push(t);else if(t=this.tokenizer.def(e))e=e.substring(t.raw.length),!(n=a[a.length-1])||"paragraph"!==n.type&&"text"!==n.type?this.tokens.links[t.tag]||(this.tokens.links[t.tag]={href:t.href,title:t.title}):(n.raw+="\n"+t.raw,n.text+="\n"+t.raw,this.inlineQueue[this.inlineQueue.length-1].src=n.text);else if(t=this.tokenizer.table(e))e=e.substring(t.raw.length),a.push(t);else if(t=this.tokenizer.lheading(e))e=e.substring(t.raw.length),a.push(t);else if(r=e,this.options.extensions&&this.options.extensions.startBlock&&function(){var t=1/0,n=e.slice(1),i=void 0;o.options.extensions.startBlock.forEach((function(e){"number"===typeof(i=e.call({lexer:this},n))&&i>=0&&(t=Math.min(t,i))})),t<1/0&&t>=0&&(r=e.substring(0,t+1))}(),this.state.top&&(t=this.tokenizer.paragraph(r)))n=a[a.length-1],i&&"paragraph"===n.type?(n.raw+="\n"+t.raw,n.text+="\n"+t.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=n.text):a.push(t),i=r.length!==e.length,e=e.substring(t.raw.length);else if(t=this.tokenizer.text(e))e=e.substring(t.raw.length),(n=a[a.length-1])&&"text"===n.type?(n.raw+="\n"+t.raw,n.text+="\n"+t.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=n.text):a.push(t);else if(e){var u="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(u);break}throw new Error(u)}return this.state.top=!0,a}},{key:"inline",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return this.inlineQueue.push({src:e,tokens:t}),t}},{key:"inlineTokens",value:function(e){var t,n,r,i,o,a,u=this,l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],c=e;if(this.tokens.links){var s=Object.keys(this.tokens.links);if(s.length>0)for(;null!=(i=this.tokenizer.rules.inline.reflinkSearch.exec(c));)s.includes(i[0].slice(i[0].lastIndexOf("[")+1,-1))&&(c=c.slice(0,i.index)+"["+ad("a",i[0].length-2)+"]"+c.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(i=this.tokenizer.rules.inline.blockSkip.exec(c));)c=c.slice(0,i.index)+"["+ad("a",i[0].length-2)+"]"+c.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(i=this.tokenizer.rules.inline.escapedEmSt.exec(c));)c=c.slice(0,i.index+i[0].length-2)+"++"+c.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex),this.tokenizer.rules.inline.escapedEmSt.lastIndex--;for(;e;)if(o||(a=""),o=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some((function(n){return!!(t=n.call({lexer:u},e,l))&&(e=e.substring(t.raw.length),l.push(t),!0)}))))if(t=this.tokenizer.escape(e))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.tag(e))e=e.substring(t.raw.length),(n=l[l.length-1])&&"text"===t.type&&"text"===n.type?(n.raw+=t.raw,n.text+=t.text):l.push(t);else if(t=this.tokenizer.link(e))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(t.raw.length),(n=l[l.length-1])&&"text"===t.type&&"text"===n.type?(n.raw+=t.raw,n.text+=t.text):l.push(t);else if(t=this.tokenizer.emStrong(e,c,a))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.codespan(e))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.br(e))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.del(e))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.autolink(e,dd))e=e.substring(t.raw.length),l.push(t);else if(this.state.inLink||!(t=this.tokenizer.url(e,dd))){if(r=e,this.options.extensions&&this.options.extensions.startInline&&function(){var t=1/0,n=e.slice(1),i=void 0;u.options.extensions.startInline.forEach((function(e){"number"===typeof(i=e.call({lexer:this},n))&&i>=0&&(t=Math.min(t,i))})),t<1/0&&t>=0&&(r=e.substring(0,t+1))}(),t=this.tokenizer.inlineText(r,fd))e=e.substring(t.raw.length),"_"!==t.raw.slice(-1)&&(a=t.raw.slice(-1)),o=!0,(n=l[l.length-1])&&"text"===n.type?(n.raw+=t.raw,n.text+=t.text):l.push(t);else if(e){var f="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(f);break}throw new Error(f)}}else e=e.substring(t.raw.length),l.push(t);return l}}],[{key:"rules",get:function(){return{block:cd,inline:sd}}},{key:"lex",value:function(t,n){return new e(n).lex(t)}},{key:"lexInline",value:function(t,n){return new e(n).inlineTokens(t)}}]),e}(),pd=function(){function e(t){Ft(this,e),this.options=t||If}return Bt(e,[{key:"code",value:function(e,t,n){var r=(t||"").match(/\S*/)[0];if(this.options.highlight){var i=this.options.highlight(e,r);null!=i&&i!==e&&(n=!0,e=i)}return e=e.replace(/\n$/,"")+"\n",r?''+(n?e:Hf(e,!0))+"
\n":""+(n?e:Hf(e,!0))+"
\n"}},{key:"blockquote",value:function(e){return"\n".concat(e,"
\n")}},{key:"html",value:function(e){return e}},{key:"heading",value:function(e,t,n,r){if(this.options.headerIds){var i=this.options.headerPrefix+r.slug(n);return"').concat(e,"\n")}return"").concat(e,"\n")}},{key:"hr",value:function(){return this.options.xhtml?"
\n":"
\n"}},{key:"list",value:function(e,t,n){var r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+""+r+">\n"}},{key:"listitem",value:function(e){return"".concat(e,"\n")}},{key:"checkbox",value:function(e){return" "}},{key:"paragraph",value:function(e){return"".concat(e,"
\n")}},{key:"table",value:function(e,t){return t&&(t="".concat(t,"")),"\n"}},{key:"tablerow",value:function(e){return"\n".concat(e,"
\n")}},{key:"tablecell",value:function(e,t){var n=t.header?"th":"td";return(t.align?"<".concat(n,' align="').concat(t.align,'">'):"<".concat(n,">"))+e+"".concat(n,">\n")}},{key:"strong",value:function(e){return"".concat(e,"")}},{key:"em",value:function(e){return"".concat(e,"")}},{key:"codespan",value:function(e){return"".concat(e,"
")}},{key:"br",value:function(){return this.options.xhtml?"
":"
"}},{key:"del",value:function(e){return"".concat(e,"")}},{key:"link",value:function(e,t,n){if(null===(e=Gf(this.options.sanitize,this.options.baseUrl,e)))return n;var r='"+n+""}},{key:"image",value:function(e,t,n){if(null===(e=Gf(this.options.sanitize,this.options.baseUrl,e)))return n;var r='
":">"}},{key:"text",value:function(e){return e}}]),e}(),vd=function(){function e(){Ft(this,e)}return Bt(e,[{key:"strong",value:function(e){return e}},{key:"em",value:function(e){return e}},{key:"codespan",value:function(e){return e}},{key:"del",value:function(e){return e}},{key:"html",value:function(e){return e}},{key:"text",value:function(e){return e}},{key:"link",value:function(e,t,n){return""+n}},{key:"image",value:function(e,t,n){return""+n}},{key:"br",value:function(){return""}}]),e}(),md=function(){function e(){Ft(this,e),this.seen={}}return Bt(e,[{key:"serialize",value:function(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")}},{key:"getNextSafeSlug",value:function(e,t){var n=e,r=0;if(this.seen.hasOwnProperty(n)){r=this.seen[e];do{n=e+"-"+ ++r}while(this.seen.hasOwnProperty(n))}return t||(this.seen[e]=r,this.seen[n]=0),n}},{key:"slug",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.serialize(e);return this.getNextSafeSlug(n,t.dryrun)}}]),e}(),yd=function(){function e(t){Ft(this,e),this.options=t||If,this.options.renderer=this.options.renderer||new pd,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new vd,this.slugger=new md}return Bt(e,[{key:"parse",value:function(e){var t,n,r,i,o,a,u,l,c,s,f,d,h,p,v,m,y,g,_,b=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],D="",w=e.length;for(t=0;t0&&"paragraph"===v.tokens[0].type?(v.tokens[0].text=g+" "+v.tokens[0].text,v.tokens[0].tokens&&v.tokens[0].tokens.length>0&&"text"===v.tokens[0].tokens[0].type&&(v.tokens[0].tokens[0].text=g+" "+v.tokens[0].tokens[0].text)):v.tokens.unshift({type:"text",text:g}):p+=g),p+=this.parse(v.tokens,h),c+=this.renderer.listitem(p,y,m);D+=this.renderer.list(c,f,d);continue;case"html":D+=this.renderer.html(s.text);continue;case"paragraph":D+=this.renderer.paragraph(this.parseInline(s.tokens));continue;case"text":for(c=s.tokens?this.parseInline(s.tokens):s.text;t+1An error occurred:"+Hf(e.message+"",!0)+"
";throw e}try{var l=hd.lex(e,t);if(t.walkTokens){if(t.async)return Promise.all(gd.walkTokens(l,t.walkTokens)).then((function(){return yd.parse(l,t)})).catch(u);gd.walkTokens(l,t.walkTokens)}return yd.parse(l,t)}catch(s){u(s)}}gd.options=gd.setOptions=function(e){var t;return nd(gd.defaults,e),t=gd.defaults,If=t,gd},gd.getDefaults=Lf,gd.defaults=If,gd.use=function(){for(var e=gd.defaults.extensions||{renderers:{},childTokens:{}},t=arguments.length,n=new Array(t),r=0;rAn error occurred:"+Hf(s.message+"",!0)+"
";throw s}},gd.Parser=yd,gd.parser=yd.parse,gd.Renderer=pd,gd.TextRenderer=vd,gd.Lexer=hd,gd.lexer=hd.lex,gd.Tokenizer=ld,gd.Slugger=md,gd.parse=gd;gd.options,gd.setOptions,gd.use,gd.walkTokens,gd.parseInline,yd.parse,hd.lex;var _d=function(e){var t=e.title,n=e.description,r=e.unit,i=e.expr,o=e.showLegend,a=e.filename,u=e.alias,l=mi().period,c=So().customStep,s=yi(),f=ie(null),d=At(ee(!0),2),h=d[0],p=d[1],v=At(ee({limits:{enable:!1,range:{1:[0,0]}}}),2),m=v[0],g=v[1],_=ae((function(){return Array.isArray(i)&&i.every((function(e){return e}))}),[i]),b=mf({predefinedQuery:_?i:[],display:"chart",visible:h,customStep:c}),D=b.isLoading,w=b.graphData,x=b.error,k=b.warning,C=function(e){var t=dr({},m);t.limits.range=e,g(t)};if(ne((function(){var e=new IntersectionObserver((function(e){e.forEach((function(e){return p(e.isIntersecting)}))}),{threshold:.1});return f.current&&e.observe(f.current),function(){f.current&&e.unobserve(f.current)}}),[]),!_)return Fr(Ro,{variant:"error",children:[Fr("code",{children:'"expr"'})," not found. Check the configuration file ",Fr("b",{children:a}),"."]});var E=function(){return Fr("div",{className:"vm-predefined-panel-header__description vm-default-styles",children:[n&&Fr(y,{children:[Fr("div",{children:[Fr("span",{children:"Description:"}),Fr("div",{dangerouslySetInnerHTML:{__html:gd.parse(n)}})]}),Fr("hr",{})]}),Fr("div",{children:[Fr("span",{children:"Queries:"}),Fr("div",{children:i.map((function(e,t){return Fr("div",{children:e},"".concat(t,"_").concat(e))}))})]})]})};return Fr("div",{className:"vm-predefined-panel",ref:f,children:[Fr("div",{className:"vm-predefined-panel-header",children:[Fr(Zo,{title:Fr(E,{}),children:Fr("div",{className:"vm-predefined-panel-header__info",children:Fr(Ni,{})})}),Fr("h3",{className:"vm-predefined-panel-header__title",children:t||""}),Fr(bf,{yaxis:m,setYaxisLimits:C,toggleEnableLimits:function(){var e=dr({},m);e.limits.enable=!e.limits.enable,g(e)}})]}),Fr("div",{className:"vm-predefined-panel-body",children:[D&&Fr(Df,{}),x&&Fr(Ro,{variant:"error",children:x}),k&&Fr(Ro,{variant:"warning",children:k}),w&&Fr(tf,{data:w,period:l,customStep:c,query:i,yaxis:m,unit:r,alias:u,showLegend:o,setYaxisLimits:C,setPeriod:function(e){var t=e.from,n=e.to;s({type:"SET_PERIOD",payload:{from:t,to:n}})},fullWidth:!1})]})]})},bd=function(e){var t=e.index,n=e.title,r=e.panels,i=e.filename,o=oo(document.body),a=ae((function(){return o.width/12}),[o]),u=At(ee(!t),2),l=u[0],c=u[1],s=At(ee([]),2),f=s[0],d=s[1];ne((function(){d(r&&r.map((function(e){return e.width||12})))}),[r]);var h=At(ee({start:0,target:0,enable:!1}),2),p=h[0],v=h[1],m=function(e){if(p.enable){var t=p.start,n=Math.ceil((t-e.clientX)/a);if(!(Math.abs(n)>=12)){var r=f.map((function(e,t){return e-(t===p.target?n:0)}));d(r)}}},y=function(){v(dr(dr({},p),{},{enable:!1}))},g=function(e){return function(t){!function(e,t){v({start:e.clientX,target:t,enable:!0})}(t,e)}};return ne((function(){return window.addEventListener("mousemove",m),window.addEventListener("mouseup",y),function(){window.removeEventListener("mousemove",m),window.removeEventListener("mouseup",y)}}),[p]),Fr("div",{className:"vm-predefined-dashboard",children:Fr(ga,{defaultExpanded:l,onChange:function(e){return c(e)},title:Fr((function(){return Fr("div",{className:uo()({"vm-predefined-dashboard-header":!0,"vm-predefined-dashboard-header_open":l}),children:[(n||i)&&Fr("span",{className:"vm-predefined-dashboard-header__title",children:n||"".concat(t+1,". ").concat(i)}),r&&Fr("span",{className:"vm-predefined-dashboard-header__count",children:["(",r.length," panels)"]})]})}),{}),children:Fr("div",{className:"vm-predefined-dashboard-panels",children:Array.isArray(r)&&r.length?r.map((function(e,t){return Fr("div",{className:"vm-predefined-dashboard-panels-panel vm-block vm-block_empty-padding",style:{gridColumn:"span ".concat(f[t])},children:[Fr(_d,{title:e.title,description:e.description,unit:e.unit,expr:e.expr,alias:e.alias,filename:i,showLegend:e.showLegend}),Fr("button",{className:"vm-predefined-dashboard-panels-panel__resizer",onMouseDown:g(t)})]},t)})):Fr("div",{className:"vm-predefined-dashboard-panels-panel__alert",children:Fr(Ro,{variant:"error",children:[Fr("code",{children:'"panels"'})," not found. Check the configuration file ",Fr("b",{children:i}),"."]})})})})})},Dd=function(){!function(){var e=mi(),t=e.duration,n=e.relativeTime,r=e.period.date,i=So().customStep,o=function(){var e,o=Of((sr(e={},"g0.range_input",t),sr(e,"g0.end_input",r),sr(e,"g0.step_input",i),sr(e,"g0.relative_time",n),e));Cr(o)};ne(o,[t,n,r,i]),ne(o,[])}();var e=Vo(),t=e.dashboardsSettings,n=e.dashboardsLoading,r=e.dashboardsError,i=At(ee(0),2),o=i[0],a=i[1],u=ae((function(){return t.map((function(e,t){return{label:e.title||"",value:t}}))}),[t]),l=ae((function(){return t[o]||{}}),[t,o]),c=ae((function(){return null===l||void 0===l?void 0:l.rows}),[l]),s=ae((function(){return l.title||l.filename||""}),[l]),f=ae((function(){return Array.isArray(c)&&!!c.length}),[c]),d=function(e){return function(){!function(e){a(e)}(e)}};return Fr("div",{className:"vm-predefined-panels",children:[n&&Fr(Df,{}),r&&Fr(Ro,{variant:"error",children:r}),!t.length&&Fr(Ro,{variant:"info",children:"Dashboards not found"}),u.length>1&&Fr("div",{className:"vm-predefined-panels-tabs vm-block",children:u.map((function(e){return Fr("div",{className:uo()({"vm-predefined-panels-tabs__tab":!0,"vm-predefined-panels-tabs__tab_active":e.value==o}),onClick:d(e.value),children:e.label},e.value)}))}),Fr("div",{className:"vm-predefined-panels__dashboards",children:[f&&c.map((function(e,t){return Fr(bd,{index:t,filename:s,title:e.title,panels:e.panels},"".concat(o,"_").concat(t))})),!!t.length&&!f&&Fr(Ro,{variant:"error",children:[Fr("code",{children:'"rows"'})," not found. Check the configuration file ",Fr("b",{children:s}),"."]})]})]})},wd=function(e,t){var n=t.match?"&match[]="+encodeURIComponent(t.match):"",r=t.focusLabel?"&focusLabel="+encodeURIComponent(t.focusLabel):"";return"".concat(e,"/api/v1/status/tsdb?topN=").concat(t.topN,"&date=").concat(t.date).concat(n).concat(r)},xd=function(){function e(){Ft(this,e),this.tsdbStatus=void 0,this.tabsNames=void 0,this.tsdbStatus=this.defaultTSDBStatus,this.tabsNames=["table","graph"]}return Bt(e,[{key:"tsdbStatusData",get:function(){return this.tsdbStatus},set:function(e){this.tsdbStatus=e}},{key:"defaultTSDBStatus",get:function(){return{totalSeries:0,totalLabelValuePairs:0,seriesCountByMetricName:[],seriesCountByLabelName:[],seriesCountByFocusLabelValue:[],seriesCountByLabelValuePair:[],labelValueCountByLabelName:[]}}},{key:"keys",value:function(e){var t=[];return e&&(t=t.concat("seriesCountByFocusLabelValue")),t=t.concat("seriesCountByMetricName","seriesCountByLabelName","seriesCountByLabelValuePair","labelValueCountByLabelName"),t}},{key:"defaultState",get:function(){var e=this;return this.keys("job").reduce((function(t,n){return dr(dr({},t),{},{tabs:dr(dr({},t.tabs),{},sr({},n,e.tabsNames)),containerRefs:dr(dr({},t.containerRefs),{},sr({},n,ie(null))),defaultActiveTab:dr(dr({},t.defaultActiveTab),{},sr({},n,0))})}),{tabs:{},containerRefs:{},defaultActiveTab:{}})}},{key:"sectionsTitles",value:function(e){return{seriesCountByMetricName:"Metric names with the highest number of series",seriesCountByLabelName:"Labels with the highest number of series",seriesCountByFocusLabelValue:'Values for "'.concat(e,'" label with the highest number of series'),seriesCountByLabelValuePair:"Label=value pairs with the highest number of series",labelValueCountByLabelName:"Labels with the highest number of unique values"}}},{key:"tablesHeaders",get:function(){return{seriesCountByMetricName:kd,seriesCountByLabelName:Cd,seriesCountByFocusLabelValue:Ed,seriesCountByLabelValuePair:Sd,labelValueCountByLabelName:Ad}}},{key:"totalSeries",value:function(e){return"labelValueCountByLabelName"===e?-1:this.tsdbStatus.totalSeries}}]),e}(),kd=[{id:"name",label:"Metric name"},{id:"value",label:"Number of series"},{id:"percentage",label:"Percent of series"},{id:"action",label:"Action"}],Cd=[{id:"name",label:"Label name"},{id:"value",label:"Number of series"},{id:"percentage",label:"Percent of series"},{id:"action",label:"Action"}],Ed=[{id:"name",label:"Label value"},{id:"value",label:"Number of series"},{id:"percentage",label:"Percent of series"},{disablePadding:!1,id:"action",label:"Action",numeric:!1}],Sd=[{id:"name",label:"Label=value pair"},{id:"value",label:"Number of series"},{id:"percentage",label:"Percent of series"},{id:"action",label:"Action"}],Ad=[{id:"name",label:"Label name"},{id:"value",label:"Number of unique values"},{id:"action",label:"Action"}],Nd={seriesCountByMetricName:function(e,t){return Fd("__name__",t)},seriesCountByLabelName:function(e,t){return"{".concat(t,'!=""}')},seriesCountByFocusLabelValue:function(e,t){return Fd(e,t)},seriesCountByLabelValuePair:function(e,t){var n=t.split("="),r=n[0],i=n.slice(1).join("=");return Fd(r,i)},labelValueCountByLabelName:function(e,t){return"{".concat(t,'!=""}')}},Fd=function(e,t){return e?"{"+e+"="+JSON.stringify(t)+"}":""},Od=function(e){var t=e.topN,n=e.error,r=e.query,i=e.onSetHistory,o=e.onRunQuery,a=e.onSetQuery,u=e.onTopNChange,l=e.onFocusLabelChange,c=e.totalSeries,s=e.totalLabelValuePairs,f=e.date,d=e.match,h=e.focusLabel,p=wi().autocomplete,v=xi(),m=wf().queryOptions,y=ae((function(){return t<1?"Number must be bigger than zero":""}),[t]);return Fr("div",{className:"vm-cardinality-configurator vm-block",children:[Fr("div",{className:"vm-cardinality-configurator-controls",children:[Fr("div",{className:"vm-cardinality-configurator-controls__query",children:Fr(rf,{value:r||d||"",autocomplete:p,options:m,error:n,onArrowUp:function(){i(-1)},onArrowDown:function(){i(1)},onEnter:o,onChange:a,label:"Time series selector"})}),Fr("div",{className:"vm-cardinality-configurator-controls__item",children:Fr(da,{label:"Number of entries per table",type:"number",value:t,error:y,onChange:u})}),Fr("div",{className:"vm-cardinality-configurator-controls__item",children:Fr(da,{label:"Focus label",type:"text",value:h||"",onChange:l})}),Fr("div",{className:"vm-cardinality-configurator-controls__item",children:Fr(lf,{label:"Autocomplete",value:p,onChange:function(){v({type:"TOGGLE_AUTOCOMPLETE"})}})})]}),Fr("div",{className:"vm-cardinality-configurator-bottom",children:[Fr("div",{className:"vm-cardinality-configurator-bottom__info",children:["Analyzed ",Fr("b",{children:c})," series with ",Fr("b",{children:s}),' "label=value" pairs at ',Fr("b",{children:f}),d&&Fr("span",{children:[" for series selector ",Fr("b",{children:d})]}),". Show top ",t," entries per table."]}),Fr(Qo,{startIcon:Fr(Ui,{}),onClick:o,children:"Execute Query"})]})]})};function Td(e){var t=e.order,n=e.orderBy,r=e.onRequestSort,i=e.headerCells;return Fr("thead",{className:"vm-table-header",children:Fr("tr",{className:"vm-table__row vm-table__row_header",children:i.map((function(e){return Fr("th",{className:uo()({"vm-table-cell vm-table-cell_header":!0,"vm-table-cell_sort":"action"!==e.id&&"percentage"!==e.id,"vm-table-cell_right":"action"===e.id}),onClick:(i=e.id,function(e){r(e,i)}),children:Fr("div",{className:"vm-table-cell__content",children:[e.label,"action"!==e.id&&"percentage"!==e.id&&Fr("div",{className:uo()({"vm-table__sort-icon":!0,"vm-table__sort-icon_active":n===e.id,"vm-table__sort-icon_desc":"desc"===t&&n===e.id}),children:Fr(Li,{})})]})},e.id);var i}))})})}function Md(e,t,n){return t[n]e[n]?1:0}function Bd(e,t){return"desc"===e?function(e,n){return Md(e,n,t)}:function(e,n){return-Md(e,n,t)}}function Ld(e,t){var n=e.map((function(e,t){return[e,t]}));return n.sort((function(e,n){var r=t(e[0],n[0]);return 0!==r?r:e[1]-n[1]})),n.map((function(e){return e[0]}))}var Id=function(e){var t=e.rows,n=e.headerCells,r=e.defaultSortColumn,i=e.tableCells,o=At(ee("desc"),2),a=o[0],u=o[1],l=At(ee(r),2),c=l[0],s=l[1],f=At(ee([]),2),d=f[0],h=f[1],p=function(e){return function(){var t=d.indexOf(e),n=[];-1===t?n=n.concat(d,e):0===t?n=n.concat(d.slice(1)):t===d.length-1?n=n.concat(d.slice(0,-1)):t>0&&(n=n.concat(d.slice(0,t),d.slice(t+1))),h(n)}},v=Ld(t,Bd(a,c));return Fr("table",{className:"vm-table",children:[Fr(Td,{numSelected:d.length,order:a,orderBy:c,onSelectAllClick:function(e){if(e.target.checked){var n=t.map((function(e){return e.name}));h(n)}else h([])},onRequestSort:function(e,t){u(c===t&&"asc"===a?"desc":"asc"),s(t)},rowCount:t.length,headerCells:n}),Fr("tbody",{className:"vm-table-header",children:v.map((function(e){return Fr("tr",{className:uo()({"vm-table__row":!0,"vm-table__row_selected":(t=e.name,-1!==d.indexOf(t))}),onClick:p(e.name),children:i(e)},e.name);var t}))})]})},Pd=function(e){var t=e.row,n=e.totalSeries,r=e.onActionClick,i=n>0?t.value/n*100:-1;return Fr(y,{children:[Fr("td",{className:"vm-table-cell",children:t.name},t.name),Fr("td",{className:"vm-table-cell",children:t.value},t.value),i>0&&Fr("td",{className:"vm-table-cell",children:Fr(xf,{value:i})},t.progressValue),Fr("td",{className:"vm-table-cell vm-table-cell_right",children:Fr("div",{className:"vm-table-cell__content",children:Fr(Zo,{title:"Filter by ".concat(t.name),children:Fr(Qo,{variant:"text",size:"small",onClick:function(){r(t.name)},children:Fr(Hi,{})})})})},"action")]})},zd=function(e){var t=e.data,n=e.container,r=e.configs,i=ie(null),o=At(ee(),2),a=o[0],u=o[1],l=oo(n),c=dr(dr({},r),{},{width:l.width||400});return ne((function(){if(i.current){var e=new Os(c,t,i.current);return u(e),e.destroy}}),[i.current,l]),ne((function(){a&&a.setData(t)}),[t]),Fr("div",{style:{height:"100%"},children:Fr("div",{ref:i})})},Rd=function(e,t){return Math.round(e*(t=Math.pow(10,t)))/t},jd=1,$d=function(e,t,n,r){return Rd(t+e*(n+r),6)},Ud=function(e,t,n,r,i){var o=1-t,a=n===jd?o/(e-1):2===n?o/e:3===n?o/(e+1):0;(isNaN(a)||a===1/0)&&(a=0);var u=n===jd?0:2===n?a/2:3===n?a:0,l=t/e,c=Rd(l,6);if(null==r)for(var s=0;s=n&&e<=i&&t>=r&&t<=o};function Yd(e,t,n,r,i){var o=this;o.x=e,o.y=t,o.w=n,o.h=r,o.l=i||0,o.o=[],o.q=null}var qd={split:function(){var e=this,t=e.x,n=e.y,r=e.w/2,i=e.h/2,o=e.l+1;e.q=[new Yd(t+r,n,r,i,o),new Yd(t,n,r,i,o),new Yd(t,n+i,r,i,o),new Yd(t+r,n+i,r,i,o)]},quads:function(e,t,n,r,i){var o=this,a=o.q,u=o.x+o.w/2,l=o.y+o.h/2,c=tu,d=t+r>l;c&&f&&i(a[0]),s&&c&&i(a[1]),s&&d&&i(a[2]),f&&d&&i(a[3])},add:function(e){var t=this;if(null!=t.q)t.quads(e.x,e.y,e.w,e.h,(function(t){t.add(e)}));else{var n=t.o;if(n.push(e),n.length>10&&t.l<4){t.split();for(var r=function(e){var r=n[e];t.quads(r.x,r.y,r.w,r.h,(function(e){e.add(r)}))},i=0;i=0?"left":"right",e.ctx.textBaseline=1===s?"middle":i[n]>=0?"bottom":"top",e.ctx.fillText(i[n],f,g)}}))})),e.ctx.restore()}function b(e,t,n){return[0,Os.rangeNum(0,n,.05,!0)[1]]}return{hooks:{drawClear:function(t){var n;if((y=y||new Yd(0,0,t.bbox.width,t.bbox.height)).clear(),t.series.forEach((function(e){e._paths=null})),l=d?[null].concat(m(t.data.length-1-o.length,t.data[0].length)):2===t.series.length?[null].concat(m(t.data[0].length,1)):[null].concat(function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:h,r=Array.from({length:t},(function(){return{offs:Array(e).fill(0),size:Array(e).fill(0)}}));return Ud(e,n,p,null,(function(e,n,i){Ud(t,1,v,null,(function(t,o,a){r[t].offs[e]=n+i*o,r[t].size[e]=i*a}))})),r}(t.data[0].length,t.data.length-1-o.length,1===t.data[0].length?1:h)),null!=(null===(n=e.disp)||void 0===n?void 0:n.fill)){c=[null];for(var r=1;r0&&!o.includes(t)&&Os.assign(e,{paths:g,points:{show:_}})}))}}}((Vd=[1],Wd=0,Qd=1,Jd=0,Gd=function(e,t){return{stroke:e,fill:t}}({unit:3,values:function(e){return e.data[1].map((function(e,t){return 0!==t?"#33BB55":"#F79420"}))}},{unit:3,values:function(e){return e.data[1].map((function(e,t){return 0!==t?"#33BB55":"#F79420"}))}}),{which:Vd,ori:Wd,dir:Qd,radius:Jd,disp:Gd}))]},Kd=function(e){var t=e.rows,n=e.activeTab,r=e.onChange,i=e.tabs,o=e.chartContainer,a=e.totalSeries,u=e.tabId,l=e.onActionClick,c=e.sectionTitle,s=e.tableHeaderCells,f=ae((function(){return i.map((function(e,t){return{value:String(t),label:e,icon:Fr(0===t?qi:Yi,{})}}))}),[i]);return Fr("div",{className:"vm-metrics-content vm-block",children:[Fr("div",{className:"vm-metrics-content-header vm-section-header",children:[Fr("h5",{className:"vm-section-header__title",children:c}),Fr("div",{className:"vm-section-header__tabs",children:Fr(ho,{activeItem:String(n),items:f,onChange:function(e){r(e,u)}})})]}),Fr("div",{ref:o,children:[0===n&&Fr(Id,{rows:t,headerCells:s,defaultSortColumn:"value",tableCells:function(e){return Fr(Pd,{row:e,totalSeries:a,onActionClick:l})}}),1===n&&Fr(zd,{data:[t.map((function(e){return e.name})),t.map((function(e){return e.value})),t.map((function(e,t){return t%12==0?1:t%10==0?2:0}))],container:(null===o||void 0===o?void 0:o.current)||null,configs:Zd})]})]})},Xd=function(){var e=To(),t=e.topN,n=e.match,r=e.date,i=e.focusLabel,o=Mo();!function(){var e=To(),t=e.topN,n=e.match,r=e.date,i=e.focusLabel,o=e.extraLabel,a=function(){var e=Of({topN:t,date:r,match:n,extraLabel:o,focusLabel:i});Cr(e)};ne(a,[t,n,r,i,o]),ne(a,[])}();var a=At(ee(n||""),2),u=a[0],l=a[1],c=At(ee(0),2),s=c[0],f=c[1],d=At(ee([]),2),h=d[0],p=d[1],v=function(){var e=new xd,t=To(),n=t.topN,r=t.extraLabel,i=t.match,o=t.date,a=t.runQuery,u=t.focusLabel,l=Tr().serverUrl,c=At(ee(!1),2),s=c[0],f=c[1],d=At(ee(),2),h=d[0],p=d[1],v=At(ee(e.defaultTSDBStatus),2),m=v[0],y=v[1];ne((function(){h&&(y(e.defaultTSDBStatus),f(!1))}),[h]);var g=function(){var t=Ma(Oa().mark((function t(n){var r,i,o,a;return Oa().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(l){t.next=2;break}return t.abrupt("return");case 2:return p(""),f(!0),y(e.defaultTSDBStatus),r=wd(l,n),t.prev=6,t.next=9,fetch(r);case 9:return i=t.sent,t.next=12,i.json();case 12:o=t.sent,i.ok?(a=o.data,y(dr({},a)),f(!1)):(p(o.error),y(e.defaultTSDBStatus),f(!1)),t.next=20;break;case 16:t.prev=16,t.t0=t.catch(6),f(!1),t.t0 instanceof Error&&p("".concat(t.t0.name,": ").concat(t.t0.message));case 20:case"end":return t.stop()}}),t,null,[[6,16]])})));return function(e){return t.apply(this,arguments)}}();return ne((function(){g({topN:n,extraLabel:r,match:i,date:o,focusLabel:u})}),[l,a,o]),e.tsdbStatusData=m,{isLoading:s,appConfigurator:e,error:h}}(),m=v.isLoading,y=v.appConfigurator,g=v.error,_=At(ee(y.defaultState.defaultActiveTab),2),b=_[0],D=_[1],w=y.tsdbStatusData,x=y.defaultState,k=y.tablesHeaders,C=function(e,t){D(dr(dr({},b),{},sr({},t,+e)))};return Fr("div",{className:"vm-cardinality-panel",children:[m&&Fr(Df,{message:"Please wait while cardinality stats is calculated. \n This may take some time if the db contains big number of time series."}),Fr(Od,{error:"",query:u,topN:t,date:r,match:n,totalSeries:w.totalSeries,totalLabelValuePairs:w.totalLabelValuePairs,focusLabel:i,onRunQuery:function(){p((function(e){return[].concat(Nt(e),[u])})),f((function(e){return e+1})),o({type:"SET_MATCH",payload:u}),o({type:"RUN_QUERY"})},onSetQuery:function(e){l(e)},onSetHistory:function(e){var t=s+e;t<0||t>=h.length||(f(t),l(h[t]))},onTopNChange:function(e){o({type:"SET_TOP_N",payload:+e})},onFocusLabelChange:function(e){o({type:"SET_FOCUS_LABEL",payload:e})}}),g&&Fr(Ro,{variant:"error",children:g}),y.keys(i).map((function(e){return Fr(Kd,{sectionTitle:y.sectionsTitles(i)[e],activeTab:b[e],rows:w[e],onChange:C,onActionClick:(t=e,function(e){var n=Nd[t](i,e);l(n),p((function(e){return[].concat(Nt(e),[n])})),f((function(e){return e+1})),o({type:"SET_MATCH",payload:n});var r="";"labelValueCountByLabelName"!==t&&"seriesCountByLabelName"!=t||(r=e),o({type:"SET_FOCUS_LABEL",payload:r}),o({type:"RUN_QUERY"})}),tabs:x.tabs[e],chartContainer:x.containerRefs[e],totalSeries:y.totalSeries(e),tabId:e,tableHeaderCells:k[e]},e);var t}))]})},eh=function(e){var t=e.rows,n=e.columns,r=At(ee(e.defaultOrderBy||"count"),2),i=r[0],o=r[1],a=At(ee("desc"),2),u=a[0],l=a[1],c=ae((function(){return Ld(t,Bd(u,i))}),[t,i,u]),s=function(e){return function(){var t;t=e,l((function(e){return"asc"===e&&i===t?"desc":"asc"})),o(t)}};return Fr("table",{className:"vm-table",children:[Fr("thead",{className:"vm-table-header",children:Fr("tr",{className:"vm-table__row vm-table__row_header",children:n.map((function(e){return Fr("th",{className:"vm-table-cell vm-table-cell_header vm-table-cell_sort",onClick:s(e.key),children:Fr("div",{className:"vm-table-cell__content",children:[e.title||e.key,Fr("div",{className:uo()({"vm-table__sort-icon":!0,"vm-table__sort-icon_active":i===e.key,"vm-table__sort-icon_desc":"desc"===u&&i===e.key}),children:Fr(Li,{})})]})},e.key)}))})}),Fr("tbody",{className:"vm-table-body",children:c.map((function(e,t){return Fr("tr",{className:"vm-table__row",children:n.map((function(t){return Fr("td",{className:"vm-table-cell",children:e[t.key]||"-"},t.key)}))},t)}))})]})},th=["table","JSON"].map((function(e,t){return{value:String(t),label:e,icon:Fr(0===t?qi:Vi,{})}})),nh=function(e){var t=e.rows,n=e.title,r=e.columns,i=e.defaultOrderBy,o=At(ee(0),2),a=o[0],u=o[1];return Fr("div",{className:"vm-top-queries-panel vm-block",children:[Fr("div",{className:"vm-top-queries-panel-header vm-section-header",children:[Fr("h5",{className:"vm-section-header__title",children:n}),Fr("div",{className:"vm-section-header__tabs",children:Fr(ho,{activeItem:String(a),items:th,onChange:function(e){u(+e)}})})]}),Fr("div",{children:[0===a&&Fr(eh,{rows:t,columns:r,defaultOrderBy:i}),1===a&&Fr(yf,{data:t})]})]})},rh=function(){var e=function(){var e=Tr().serverUrl,t=Po(),n=t.topN,r=t.maxLifetime,i=t.runQuery,o=At(ee(null),2),a=o[0],u=o[1],l=At(ee(!1),2),c=l[0],s=l[1],f=At(ee(),2),d=f[0],h=f[1],p=ae((function(){return function(e,t,n){return"".concat(e,"/api/v1/status/top_queries?topN=").concat(t||"","&maxLifetime=").concat(n||"")}(e,n,r)}),[e,n,r]),v=function(){var e=Ma(Oa().mark((function e(){var t,n;return Oa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s(!0),e.prev=1,e.next=4,fetch(p);case 4:return t=e.sent,e.next=7,t.json();case 7:n=e.sent,t.ok&&["topByAvgDuration","topByCount","topBySumDuration"].forEach((function(e){var t=n[e];Array.isArray(t)&&t.forEach((function(e){return e.timeRangeHours=+(e.timeRangeSeconds/3600).toFixed(2)}))})),u(t.ok?n:null),h(String(n.error||"")),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(1),e.t0 instanceof Error&&"AbortError"!==e.t0.name&&h("".concat(e.t0.name,": ").concat(e.t0.message));case 16:s(!1);case 17:case"end":return e.stop()}}),e,null,[[1,13]])})));return function(){return e.apply(this,arguments)}}();return ne((function(){v()}),[i]),{data:a,error:d,loading:c}}(),t=e.data,n=e.error,r=e.loading,i=Po(),o=i.topN,a=i.maxLifetime,u=le(Io).dispatch;!function(){var e=Po(),t=e.topN,n=e.maxLifetime,r=function(){var e=Of({topN:String(t),maxLifetime:n});Cr(e)};ne(r,[t,n]),ne(r,[])}();var l=ae((function(){var e=a.trim().split(" ").reduce((function(e,t){var n=qr(t);return n?dr(dr({},e),n):dr({},e)}),{});return!!_t().duration(e).asMilliseconds()}),[a]),c=ae((function(){return!!o&&o<1}),[o]),s=ae((function(){return c?"Number must be bigger than zero":""}),[c]),f=ae((function(){return l?"":"Invalid duration value"}),[l]),d=function(e){if(!t)return e;var n=t[e];return"number"===typeof n?Ls(n):n||e},h=function(){u({type:"SET_RUN_QUERY"})},p=function(e){"Enter"===e.key&&h()};return ne((function(){t&&(o||u({type:"SET_TOP_N",payload:+t.topN}),a||u({type:"SET_MAX_LIFE_TIME",payload:t.maxLifetime}))}),[t]),Fr("div",{className:"vm-top-queries",children:[r&&Fr(Df,{containerStyles:{height:"500px"}}),Fr("div",{className:"vm-top-queries-controls vm-block",children:[Fr("div",{className:"vm-top-queries-controls__fields",children:[Fr(da,{label:"Max lifetime",value:a,error:f,helperText:"For example ".concat("30ms, 15s, 3d4h, 1y2w"),onChange:function(e){u({type:"SET_MAX_LIFE_TIME",payload:e})},onKeyDown:p}),Fr(da,{label:"Number of returned queries",type:"number",value:o||"",error:s,onChange:function(e){u({type:"SET_TOP_N",payload:+e})},onKeyDown:p})]}),Fr("div",{className:"vm-top-queries-controls-bottom",children:[Fr("div",{className:"vm-top-queries-controls-bottom__info",children:["VictoriaMetrics tracks the last\xa0",Fr(Zo,{title:"search.queryStats.lastQueriesCount",children:Fr("b",{children:d("search.queryStats.lastQueriesCount")})}),"\xa0queries with durations at least\xa0",Fr(Zo,{title:"search.queryStats.minQueryDuration",children:Fr("b",{children:d("search.queryStats.minQueryDuration")})})]}),Fr("div",{className:"vm-top-queries-controls-bottom__button",children:Fr(Qo,{startIcon:Fr(Ui,{}),onClick:h,children:"Execute"})})]})]}),n&&Fr(Ro,{variant:"error",children:n}),t&&Fr(y,{children:Fr("div",{className:"vm-top-queries-panels",children:[Fr(nh,{rows:t.topByCount,title:"Most frequently executed queries",columns:[{key:"query"},{key:"timeRangeHours",title:"time range, hours"},{key:"count"}]}),Fr(nh,{rows:t.topByAvgDuration,title:"Most heavy queries",columns:[{key:"query"},{key:"avgDurationSeconds",title:"avg duration, seconds"},{key:"timeRangeHours",title:"time range, hours"},{key:"count"}],defaultOrderBy:"avgDurationSeconds"}),Fr(nh,{rows:t.topBySumDuration,title:"Queries with most summary time to execute",columns:[{key:"query"},{key:"sumDurationSeconds",title:"sum duration, seconds"},{key:"timeRangeHours",title:"time range, hours"},{key:"count"}],defaultOrderBy:"sumDurationSeconds"})]})})]})},ih=["primary","secondary","error","warning","info","success"],oh=function(e){var t=e.setLoadingTheme,n=yr().palette,r=void 0===n?{}:n,i=function(){ih.forEach((function(e){var t=function(e){var t=e.replace("#","").trim();if(3===t.length&&(t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]),6!==t.length)throw new Error("Invalid HEX color.");return(299*parseInt(t.slice(0,2),16)+587*parseInt(t.slice(2,4),16)+114*parseInt(t.slice(4,6),16))/1e3>=128?"#000000":"#FFFFFF"}(ro("color-".concat(e)));io("".concat(e,"-text"),t)}))};return ne((function(){ih.forEach((function(e){var t=r[e];t&&io("color-".concat(e),t)})),function(){var e=window,t=e.innerWidth,n=e.innerHeight,r=document.documentElement,i=r.clientWidth,o=r.clientHeight;io("scrollbar-width","".concat(t-i,"px")),io("scrollbar-height","".concat(n-o,"px"))}(),i(),t(!1)}),[]),null},ah=function(){var e=At(ee(!1),2),t=e[0],n=e[1],r=At(ee([]),2),i=r[0],o=r[1],a=At(ee([]),2),u=a[0],l=a[1],c=ae((function(){return!!i.length}),[i]),f=function(){n(!0)},d=function(){n(!1)},h=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";l((function(n){return[{filename:t,text:": ".concat(e.message)}].concat(Nt(n))}))},p=function(e,t){try{var n=JSON.parse(e),r=n.trace||n;if(!r.duration_msec)return void h(new Error(oa.traceNotFound),t);var i=new vf(r,t);o((function(e){return[i].concat(Nt(e))}))}catch(s){s instanceof Error&&h(s,t)}},v=function(e){l([]),Array.from(e.target.files||[]).map((function(e){var t=new FileReader,n=(null===e||void 0===e?void 0:e.name)||"";t.onload=function(e){var t,r=String(null===(t=e.target)||void 0===t?void 0:t.result);p(r,n)},t.readAsText(e)})),e.target.value=""},m=function(e){return function(){!function(e){l((function(t){return t.filter((function(t,n){return n!==e}))}))}(e)}};ne((function(){Cr({})}),[]);var y=function(){return Fr("div",{className:"vm-trace-page-controls",children:[Fr(Qo,{variant:"outlined",onClick:f,children:"Paste JSON"}),Fr(Zo,{title:"The file must contain tracing information in JSON format",children:Fr(Qo,{children:["Upload Files",Fr("input",{id:"json",type:"file",accept:"application/json",multiple:!0,title:" ",onChange:v})]})})]})};return Fr("div",{className:"vm-trace-page",children:[Fr("div",{className:"vm-trace-page-header",children:[Fr("div",{className:"vm-trace-page-header-errors",children:u.map((function(e,t){return Fr("div",{className:"vm-trace-page-header-errors-item",children:[Fr(Ro,{variant:"error",children:[Fr("b",{className:"vm-trace-page-header-errors-item__filename",children:e.filename}),Fr("span",{children:e.text})]}),Fr(Qo,{className:"vm-trace-page-header-errors-item__close",startIcon:Fr(Si,{}),variant:"text",color:"error",onClick:m(t)})]},"".concat(e,"_").concat(t))}))}),Fr("div",{children:c&&Fr(y,{})})]}),c&&Fr("div",{children:Fr(Ef,{jsonEditor:!0,traces:i,onDeleteClick:function(e){var t=i.filter((function(t){return t.idValue!==e.idValue}));o(Nt(t))}})}),!c&&Fr("div",{className:"vm-trace-page-preview",children:[Fr("p",{className:"vm-trace-page-preview__text",children:["Please, upload file with JSON response content.","\n","The file must contain tracing information in JSON format.","\n","In order to use tracing please refer to the doc:\xa0",Fr("a",{className:"vm-link vm-link_colored",href:"https://docs.victoriametrics.com/#query-tracing",target:"_blank",rel:"noreferrer",children:"https://docs.victoriametrics.com/#query-tracing"}),"\n","Tracing graph will be displayed after file upload."]}),Fr(y,{})]}),t&&Fr(va,{title:"Paste JSON",onClose:d,children:Fr(Cf,{editable:!0,displayTitle:!0,defaultTile:"JSON ".concat(i.length+1),onClose:d,onUpload:p})})]})},uh=function(e){var t=Tr().serverUrl,n=mi().period,r=At(ee([]),2),i=r[0],o=r[1],a=At(ee(!1),2),u=a[0],l=a[1],c=At(ee(),2),s=c[0],f=c[1],d=ae((function(){return function(e,t,n){var r="{job=".concat(JSON.stringify(n),"}");return"".concat(e,"/api/v1/label/instance/values?match[]=").concat(encodeURIComponent(r),"&start=").concat(t.start,"&end=").concat(t.end)}(t,n,e)}),[t,n,e]);return ne((function(){if(e){var t=function(){var e=Ma(Oa().mark((function e(){var t,n,r;return Oa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return l(!0),e.prev=1,e.next=4,fetch(d);case 4:return t=e.sent,e.next=7,t.json();case 7:n=e.sent,r=n.data||[],o(r.sort((function(e,t){return e.localeCompare(t)}))),t.ok?f(void 0):f("".concat(n.errorType,"\r\n").concat(null===n||void 0===n?void 0:n.error)),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(1),e.t0 instanceof Error&&f("".concat(e.t0.name,": ").concat(e.t0.message));case 16:l(!1);case 17:case"end":return e.stop()}}),e,null,[[1,13]])})));return function(){return e.apply(this,arguments)}}();t().catch(console.error)}}),[d]),{instances:i,isLoading:u,error:s}},lh=function(e,t){var n=Tr().serverUrl,r=mi().period,i=At(ee([]),2),o=i[0],a=i[1],u=At(ee(!1),2),l=u[0],c=u[1],s=At(ee(),2),f=s[0],d=s[1],h=ae((function(){return function(e,t,n,r){var i=Object.entries({job:n,instance:r}).filter((function(e){return e[1]})).map((function(e){var t=At(e,2),n=t[0],r=t[1];return"".concat(n,"=").concat(JSON.stringify(r))})).join(","),o="{".concat(i,"}");return"".concat(e,"/api/v1/label/__name__/values?match[]=").concat(encodeURIComponent(o),"&start=").concat(t.start,"&end=").concat(t.end)}(n,r,e,t)}),[n,r,e,t]);return ne((function(){if(e){var t=function(){var e=Ma(Oa().mark((function e(){var t,n,r;return Oa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return c(!0),e.prev=1,e.next=4,fetch(h);case 4:return t=e.sent,e.next=7,t.json();case 7:n=e.sent,r=n.data||[],a(r.sort((function(e,t){return e.localeCompare(t)}))),t.ok?d(void 0):d("".concat(n.errorType,"\r\n").concat(null===n||void 0===n?void 0:n.error)),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(1),e.t0 instanceof Error&&d("".concat(e.t0.name,": ").concat(e.t0.message));case 16:c(!1);case 17:case"end":return e.stop()}}),e,null,[[1,13]])})));return function(){return e.apply(this,arguments)}}();t().catch(console.error)}}),[h]),{names:o,isLoading:l,error:f}},ch=function(e){var t=e.name,n=e.job,r=e.instance,i=e.rateEnabled,o=e.isBucket,a=e.height,u=So(),l=u.customStep,c=u.yaxis,s=mi().period,f=Ao(),d=yi(),h=At(ee(!1),2),p=h[0],v=h[1],m=ae((function(){var e=Object.entries({job:n,instance:r}).filter((function(e){return e[1]})).map((function(e){var t=At(e,2),n=t[0],r=t[1];return"".concat(n,"=").concat(JSON.stringify(r))}));e.push("__name__=".concat(JSON.stringify(t))),"node_cpu_seconds_total"==t&&e.push('mode!="idle"');var a="{".concat(e.join(","),"}");if(o)return r?'\nlabel_map(\n histogram_quantiles("__name__", 0.5, 0.95, 0.99, sum(rate('.concat(a,')) by (vmrange, le)),\n "__name__",\n "0.5", "q50",\n "0.95", "q95",\n "0.99", "q99",\n)'):"\nwith (q = histogram_quantile(0.95, sum(rate(".concat(a,')) by (instance, vmrange, le))) (\n alias(min(q), "q95min"),\n alias(max(q), "q95max"),\n alias(avg(q), "q95avg"),\n)');var u=i?"rollup_rate(".concat(a,")"):"rollup(".concat(a,")");return"\nwith (q = ".concat(u,') (\n alias(min(label_match(q, "rollup", "min")), "min"),\n alias(max(label_match(q, "rollup", "max")), "max"),\n alias(avg(label_match(q, "rollup", "avg")), "avg"),\n)')}),[t,n,r,i,o]),y=mf({predefinedQuery:[m],visible:!0,customStep:l,showAllSeries:p}),g=y.isLoading,_=y.graphData,b=y.error,D=y.warning;return Fr("div",{className:"vm-explore-metrics-graph",children:[g&&Fr(Df,{}),b&&Fr(Ro,{variant:"error",children:b}),D&&Fr(Ro,{variant:"warning",children:Fr("div",{className:"vm-explore-metrics-graph__warning",children:[Fr("p",{children:D}),Fr(Qo,{color:"warning",variant:"outlined",onClick:function(){v(!0)},children:"Show all"})]})}),_&&s&&Fr(tf,{data:_,period:s,customStep:l,query:[m],yaxis:c,setYaxisLimits:function(e){f({type:"SET_YAXIS_LIMITS",payload:e})},setPeriod:function(e){var t=e.from,n=e.to;d({type:"SET_PERIOD",payload:{from:t,to:n}})},showLegend:!1,height:a})]})},sh=function(e){var t=e.name,n=e.index,r=e.isBucket,i=e.rateEnabled,o=e.onChangeRate,a=e.onRemoveItem,u=e.onChangeOrder;return Fr("div",{className:"vm-explore-metrics-item-header",children:[Fr("div",{className:"vm-explore-metrics-item-header-order",children:[Fr(Zo,{title:"move graph up",children:Fr(Qo,{className:"vm-explore-metrics-item-header-order__up",startIcon:Fr(Bi,{}),variant:"text",color:"gray",size:"small",onClick:function(){u(t,n,n-1)}})}),Fr("div",{className:"vm-explore-metrics-item-header__index",children:["#",n+1]}),Fr(Zo,{title:"move graph down",children:Fr(Qo,{className:"vm-explore-metrics-item-header-order__down",startIcon:Fr(Bi,{}),variant:"text",color:"gray",size:"small",onClick:function(){u(t,n,n+1)}})})]}),Fr("div",{className:"vm-explore-metrics-item-header__name",children:t}),!r&&Fr(Zo,{title:"calculates the average per-second speed of metric's change",children:Fr(lf,{label:Fr("span",{children:["enable ",Fr("code",{children:"rate()"})]}),value:i,onChange:o})}),Fr("div",{className:"vm-explore-metrics-item-header__layout",children:Fr(Zo,{title:"close graph",children:Fr(Qo,{startIcon:Fr(Si,{}),variant:"text",color:"gray",size:"small",onClick:function(){a(t)}})})})]})},fh=function(e){var t=e.name,n=e.job,r=e.instance,i=e.index,o=e.size,a=e.onRemoveItem,u=e.onChangeOrder,l=ae((function(){return/_sum?|_total?|_count?/.test(t)}),[t]),c=ae((function(){return/_bucket?/.test(t)}),[t]),s=At(ee(l),2),f=s[0],d=s[1],h=oo(document.body),p=ae(o.height,[o,h]);return ne((function(){d(l)}),[n]),Fr("div",{className:"vm-explore-metrics-item vm-block vm-block_empty-padding",children:[Fr(sh,{name:t,index:i,isBucket:c,rateEnabled:f,size:o.id,onChangeRate:d,onRemoveItem:a,onChangeOrder:u}),Fr(ch,{name:t,job:n,instance:r,rateEnabled:f,isBucket:c,height:p},"".concat(t,"_").concat(n,"_").concat(r,"_").concat(f))]})},dh=function(e){var t=e.value,n=e.list,r=e.label,i=e.placeholder,o=e.noOptionsText,a=e.clearable,u=void 0!==a&&a,l=e.autofocus,c=e.onChange,s=At(ee(""),2),f=s[0],d=s[1],h=ie(null),p=At(ee(!1),2),v=p[0],m=p[1],y=ie(null),g=ae((function(){return Array.isArray(t)}),[t]),_=ae((function(){return Array.isArray(t)?t:void 0}),[g,t]),b=ae((function(){return v?f:Array.isArray(t)?"":t}),[t,f,v,g]),D=ae((function(){return v?f||"(.+)":""}),[f,v]),w=function(){y.current&&y.current.blur()},x=function(e){c(e),g||(m(!1),w()),g&&y.current&&y.current.focus()},k=function(e){return function(t){x(e),t.stopPropagation()}},C=function(e){y.current!==e.target&&m(!1)};return ne((function(){d(""),v&&y.current&&y.current.focus(),v||w()}),[v,y]),ne((function(){l&&y.current&&y.current.focus()}),[l,y]),ne((function(){return window.addEventListener("keyup",C),function(){window.removeEventListener("keyup",C)}}),[]),Fr("div",{className:"vm-select",children:[Fr("div",{className:"vm-select-input",onClick:function(e){e.target instanceof HTMLInputElement||m((function(e){return!e}))},ref:h,children:[Fr("div",{className:"vm-select-input-content",children:[_&&_.map((function(e){return Fr("div",{className:"vm-select-input-content__selected",children:[e,Fr("div",{onClick:k(e),children:Fr(Si,{})})]},e)})),Fr("input",{value:b,type:"text",placeholder:i,onInput:function(e){d(e.target.value)},onFocus:function(){m(!0)},ref:y})]}),r&&Fr("span",{className:"vm-text-field__label",children:r}),u&&t&&Fr("div",{className:"vm-select-input__icon",onClick:k(""),children:Fr(Si,{})}),Fr("div",{className:uo()({"vm-select-input__icon":!0,"vm-select-input__icon_open":v}),children:Fr(Li,{})})]}),Fr(nf,{value:D,options:n,anchor:h,selected:_,maxWords:10,minLength:0,fullWidth:!0,noOptionsText:o,onSelect:x,onOpenAutocomplete:m})]})},hh=kr.map((function(e){return e.id})),ph=function(e){var t=e.jobs,n=e.instances,r=e.names,i=e.job,o=e.instance,a=e.size,u=e.selectedMetrics,l=e.onChangeJob,c=e.onChangeInstance,s=e.onToggleMetric,f=e.onChangeSize,d=ae((function(){return i?"":"No instances. Please select job"}),[i]),h=ae((function(){return i?"":"No metric names. Please select job"}),[i]);return Fr("div",{className:"vm-explore-metrics-header vm-block",children:[Fr("div",{className:"vm-explore-metrics-header__job",children:Fr(dh,{value:i,list:t,label:"Job",placeholder:"Please select job",onChange:l,autofocus:!i})}),Fr("div",{className:"vm-explore-metrics-header__instance",children:Fr(dh,{value:o,list:n,label:"Instance",placeholder:"Please select instance",onChange:c,noOptionsText:d,clearable:!0})}),Fr("div",{className:"vm-explore-metrics-header__size",children:Fr(dh,{label:"Size graphs",value:a,list:hh,onChange:f})}),Fr("div",{className:"vm-explore-metrics-header-metrics",children:Fr(dh,{value:u,list:r,placeholder:"Search metric name",onChange:s,noOptionsText:h,clearable:!0})})]})},vh=Er("job",""),mh=Er("instance",""),yh=Er("metrics",""),gh=Er("size",""),_h=kr.find((function(e){return gh?e.id===gh:e.isDefault}))||kr[0],bh=function(){var e=At(ee(vh),2),t=e[0],n=e[1],r=At(ee(mh),2),i=r[0],o=r[1],a=At(ee(yh?yh.split("&"):[]),2),u=a[0],l=a[1],c=At(ee(_h),2),s=c[0],f=c[1];!function(e){var t=e.job,n=e.instance,r=e.metrics,i=e.size,o=mi(),a=o.duration,u=o.relativeTime,l=o.period.date,c=So().customStep,s=function(){var e,o=Of((sr(e={},"g0.range_input",a),sr(e,"g0.end_input",l),sr(e,"g0.step_input",c),sr(e,"g0.relative_time",u),sr(e,"size",i),sr(e,"job",t),sr(e,"instance",n),sr(e,"metrics",r),e));Cr(o)};ne(s,[a,u,l,c,t,n,r,i]),ne(s,[])}({job:t,instance:i,metrics:u.join("&"),size:s.id});var d=function(){var e=Tr().serverUrl,t=mi().period,n=At(ee([]),2),r=n[0],i=n[1],o=At(ee(!1),2),a=o[0],u=o[1],l=At(ee(),2),c=l[0],s=l[1],f=ae((function(){return function(e,t){return"".concat(e,"/api/v1/label/job/values?start=").concat(t.start,"&end=").concat(t.end)}(e,t)}),[e,t]);return ne((function(){var e=function(){var e=Ma(Oa().mark((function e(){var t,n,r;return Oa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u(!0),e.prev=1,e.next=4,fetch(f);case 4:return t=e.sent,e.next=7,t.json();case 7:n=e.sent,r=n.data||[],i(r.sort((function(e,t){return e.localeCompare(t)}))),t.ok?s(void 0):s("".concat(n.errorType,"\r\n").concat(null===n||void 0===n?void 0:n.error)),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(1),e.t0 instanceof Error&&s("".concat(e.t0.name,": ").concat(e.t0.message));case 16:u(!1);case 17:case"end":return e.stop()}}),e,null,[[1,13]])})));return function(){return e.apply(this,arguments)}}();e().catch(console.error)}),[f]),{jobs:r,isLoading:a,error:c}}(),h=d.jobs,p=d.isLoading,v=d.error,m=uh(t),y=m.instances,g=m.isLoading,_=m.error,b=lh(t,i),D=b.names,w=b.isLoading,x=b.error,k=ae((function(){return p||g||w}),[p,g,w]),C=ae((function(){return v||_||x}),[v,_,x]),E=function(e){l(e?function(t){return t.includes(e)?t.filter((function(t){return t!==e})):[].concat(Nt(t),[e])}:[])},S=function(e,t,n){var r=n>u.length-1;n<0||r||l((function(e){var r=Nt(e),i=At(r.splice(t,1),1)[0];return r.splice(n,0,i),r}))};return ne((function(){i&&y.length&&!y.includes(i)&&o("")}),[y,i]),Fr("div",{className:"vm-explore-metrics",children:[Fr(ph,{jobs:h,instances:y,names:D,job:t,size:s.id,instance:i,selectedMetrics:u,onChangeJob:n,onChangeSize:function(e){var t=kr.find((function(t){return t.id===e}));t&&f(t)},onChangeInstance:o,onToggleMetric:E}),k&&Fr(Df,{}),C&&Fr(Ro,{variant:"error",children:C}),!t&&Fr(Ro,{variant:"info",children:"Please select job to see list of metric names."}),t&&!u.length&&Fr(Ro,{variant:"info",children:"Please select metric names to see the graphs."}),Fr("div",{className:"vm-explore-metrics-body",children:u.map((function(e,n){return Fr(fh,{name:e,job:t,instance:i,index:n,size:s,onRemoveItem:E,onChangeOrder:S},e)}))})]})},Dh=function(){var e=$o().showInfoMessage,n=function(t){return function(){var n;n=t,navigator.clipboard.writeText("<".concat(n,"/>")),e({text:"<".concat(n,"/> has been copied"),type:"success"})}};return Fr("div",{className:"vm-preview-icons",children:Object.entries(t).map((function(e){var t=At(e,2),r=t[0],i=t[1];return Fr("div",{className:"vm-preview-icons-item",onClick:n(r),children:[Fr("div",{className:"vm-preview-icons-item__svg",children:i()}),Fr("div",{className:"vm-preview-icons-item__name",children:"<".concat(r,"/>")})]},r)}))})},wh=function(){var e=At(ee(!0),2),t=e[0],n=e[1];return Fr(y,t?{children:[Fr(Df,{}),Fr(oh,{setLoadingTheme:n}),";"]}:{children:Fr(ir,{children:Fr(Wo,{children:Fr(Kn,{children:Fr(Gn,{path:"/",element:Fr(Ia,{}),children:[Fr(Gn,{path:mr.home,element:Fr(Bf,{})}),Fr(Gn,{path:mr.metrics,element:Fr(bh,{})}),Fr(Gn,{path:mr.cardinality,element:Fr(Xd,{})}),Fr(Gn,{path:mr.topQueries,element:Fr(rh,{})}),Fr(Gn,{path:mr.trace,element:Fr(ah,{})}),Fr(Gn,{path:mr.dashboards,element:Fr(Dd,{})}),Fr(Gn,{path:mr.icons,element:Fr(Dh,{})})]})})})})})},xh=function(e){e&&n.e(27).then(n.bind(n,27)).then((function(t){var n=t.getCLS,r=t.getFID,i=t.getFCP,o=t.getLCP,a=t.getTTFB;n(e),r(e),i(e),o(e),a(e)}))},kh=document.getElementById("root");kh&&qe(Fr(wh,{}),kh),xh()}()}();
\ No newline at end of file
diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md
index 33bd65c0a0..9c7de0b6fc 100644
--- a/docs/CHANGELOG.md
+++ b/docs/CHANGELOG.md
@@ -15,6 +15,7 @@ The following tip changes can be tested by building VictoriaMetrics components f
## tip
+* BUGFIX: [vmui](https://docs.victoriametrics.com/#vmui): add support for time zone selection for older versions of browsers. See [this pull request](https://github.com/VictoriaMetrics/VictoriaMetrics/pull/3680)
## [v1.86.2](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.86.2)
@@ -39,7 +40,6 @@ Released at 2023-01-18
* BUGFIX: [Pushgateway import](https://docs.victoriametrics.com/#how-to-import-data-in-prometheus-exposition-format): properly return `200 OK` HTTP response code. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3636).
* BUGFIX: [MetricsQL](https://docs.victoriametrics.com/MetricsQL.html): properly parse `M` and `Mi` suffixes as `1e6` multipliers in `1M` and `1Mi` numeric constants. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3664). The issue has been introduced in [v1.86.0](https://docs.victoriametrics.com/CHANGELOG.html#v1860).
* BUGFIX: [vmui](https://docs.victoriametrics.com/#vmui): properly display range query results at `Table` view. For example, `up[5m]` query now shows all the raw samples for the last 5 minutes for the `up` metric at the `Table` view. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3516).
-* BUGFIX: [vmui](https://docs.victoriametrics.com/#vmui): add support for time zone selection for older versions of browsers. See [this pull request](https://github.com/VictoriaMetrics/VictoriaMetrics/pull/3680)
## [v1.86.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.86.1)
From 4e25bc208753d617944e5c1cc4511fdb1d55d086 Mon Sep 17 00:00:00 2001
From: Aliaksandr Valialkin
Date: Fri, 20 Jan 2023 19:30:19 -0800
Subject: [PATCH 05/32] lib/vmselectapi: propagate timeout errors from vmselect
to vmstorage instead of closing the connection established from vmselect to
vmstorage
This is a follow-up for 20e9598254078124b230fcb00e35d404e0f6fe8d
---
docs/CHANGELOG.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md
index 9c7de0b6fc..02256ea297 100644
--- a/docs/CHANGELOG.md
+++ b/docs/CHANGELOG.md
@@ -15,6 +15,7 @@ The following tip changes can be tested by building VictoriaMetrics components f
## tip
+* BUGFIX: [VictoriaMetrics cluster](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html): propagate all the timeout-related errors from `vmstorage` to `vmselect` when `vmstorage`. Previously some timeout errors weren't returned from `vmselect` to `vmstorage`. Instead, `vmstorage` could log the error and close the connection to `vmselect`, so `vmselect` was logging cryptic errors such as `cannot execute funcName="..." on vmstorage "...": EOF`.
* BUGFIX: [vmui](https://docs.victoriametrics.com/#vmui): add support for time zone selection for older versions of browsers. See [this pull request](https://github.com/VictoriaMetrics/VictoriaMetrics/pull/3680)
## [v1.86.2](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.86.2)
From 864c651c039dd75720c3224c0870a1f15b791575 Mon Sep 17 00:00:00 2001
From: Aliaksandr Valialkin
Date: Sun, 22 Jan 2023 13:51:53 -0800
Subject: [PATCH 06/32] docs/Articles.md: add
https://dev.to/aws-builders/ultra-monitoring-with-victoria-metrics-1p2
---
docs/Articles.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/docs/Articles.md b/docs/Articles.md
index b43470ab1f..cae88a5482 100644
--- a/docs/Articles.md
+++ b/docs/Articles.md
@@ -19,6 +19,7 @@ See also [case studies](https://docs.victoriametrics.com/CaseStudies.html).
* [VictoriaMetrics vs. OpenTSDB](https://blg.robot-house.us/posts/tsdbs-grow/)
* [Monitoring of multiple OpenShift clusters with VictoriaMetrics](https://medium.com/ibm-garage/monitoring-of-multiple-openshift-clusters-with-victoriametrics-d4f0979e2544)
* [Fly's Prometheus Metrics](https://fly.io/blog/measuring-fly/)
+* [Ultra Monitoring with Victoria Metrics](https://dev.to/aws-builders/ultra-monitoring-with-victoria-metrics-1p2)
* [Infrastructure monitoring with Prometheus at Zerodha](https://zerodha.tech/blog/infra-monitoring-at-zerodha/)
* [Sismology: Iguana Solutions’ Monitoring System](https://medium.com/nerd-for-tech/sismology-iguana-solutions-monitoring-system-f46e4170447f)
* [Prometheus High Availability and Fault Tolerance strategy, long term storage with VictoriaMetrics](https://medium.com/miro-engineering/prometheus-high-availability-and-fault-tolerance-strategy-long-term-storage-with-victoriametrics-82f6f3f0409e)
From cb5d073bc9488213531144787db722182867378f Mon Sep 17 00:00:00 2001
From: Aliaksandr Valialkin
Date: Sun, 22 Jan 2023 14:04:19 -0800
Subject: [PATCH 07/32] docs/Single-server-VictoriaMetrics.md: make it clear
that VictoriaMetrics supports both pull and push protocols at `how to import
time series data` chapter
---
README.md | 4 +++-
docs/README.md | 4 +++-
docs/Single-server-VictoriaMetrics.md | 4 +++-
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/README.md b/README.md
index 14ba7bf91b..37dd7628c5 100644
--- a/README.md
+++ b/README.md
@@ -1085,7 +1085,9 @@ The [deduplication](#deduplication) isn't applied for the data exported in nativ
## How to import time series data
-Time series data can be imported into VictoriaMetrics via any supported data ingestion protocol:
+VictoriaMetrics can discover and scrape metrics from Prometheus-compatible targets (aka "pull" protocol) -
+see [these docs](#how-to-scrape-prometheus-exporters-such-as-node-exporter).
+Additionally, VictoriaMetrics can accept metrics via the following popular data ingestion protocols (aka "push" protocols):
* [Prometheus remote_write API](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#remote_write). See [these docs](#prometheus-setup) for details.
* DataDog `submit metrics` API. See [these docs](#how-to-send-data-from-datadog-agent) for details.
diff --git a/docs/README.md b/docs/README.md
index 1756b16d92..94a8fd9609 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -1086,7 +1086,9 @@ The [deduplication](#deduplication) isn't applied for the data exported in nativ
## How to import time series data
-Time series data can be imported into VictoriaMetrics via any supported data ingestion protocol:
+VictoriaMetrics can discover and scrape metrics from Prometheus-compatible targets (aka "pull" protocol) -
+see [these docs](#how-to-scrape-prometheus-exporters-such-as-node-exporter).
+Additionally, VictoriaMetrics can accept metrics via the following popular data ingestion protocols (aka "push" protocols):
* [Prometheus remote_write API](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#remote_write). See [these docs](#prometheus-setup) for details.
* DataDog `submit metrics` API. See [these docs](#how-to-send-data-from-datadog-agent) for details.
diff --git a/docs/Single-server-VictoriaMetrics.md b/docs/Single-server-VictoriaMetrics.md
index fcdf48a47a..b47890b724 100644
--- a/docs/Single-server-VictoriaMetrics.md
+++ b/docs/Single-server-VictoriaMetrics.md
@@ -1089,7 +1089,9 @@ The [deduplication](#deduplication) isn't applied for the data exported in nativ
## How to import time series data
-Time series data can be imported into VictoriaMetrics via any supported data ingestion protocol:
+VictoriaMetrics can discover and scrape metrics from Prometheus-compatible targets (aka "pull" protocol) -
+see [these docs](#how-to-scrape-prometheus-exporters-such-as-node-exporter).
+Additionally, VictoriaMetrics can accept metrics via the following popular data ingestion protocols (aka "push" protocols):
* [Prometheus remote_write API](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#remote_write). See [these docs](#prometheus-setup) for details.
* DataDog `submit metrics` API. See [these docs](#how-to-send-data-from-datadog-agent) for details.
From edc51b31192901814d1562662b88a2d4990549b7 Mon Sep 17 00:00:00 2001
From: Aliaksandr Valialkin
Date: Sun, 22 Jan 2023 14:23:45 -0800
Subject: [PATCH 08/32] docs/Articles.md: added missing third-party articles
about VictoriaMetrics
---
docs/Articles.md | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/docs/Articles.md b/docs/Articles.md
index cae88a5482..028ef3710d 100644
--- a/docs/Articles.md
+++ b/docs/Articles.md
@@ -23,6 +23,7 @@ See also [case studies](https://docs.victoriametrics.com/CaseStudies.html).
* [Infrastructure monitoring with Prometheus at Zerodha](https://zerodha.tech/blog/infra-monitoring-at-zerodha/)
* [Sismology: Iguana Solutions’ Monitoring System](https://medium.com/nerd-for-tech/sismology-iguana-solutions-monitoring-system-f46e4170447f)
* [Prometheus High Availability and Fault Tolerance strategy, long term storage with VictoriaMetrics](https://medium.com/miro-engineering/prometheus-high-availability-and-fault-tolerance-strategy-long-term-storage-with-victoriametrics-82f6f3f0409e)
+* [Monitoring with Prometheus, Grafana, AlertManager and VictoriaMetrics](https://www.sensedia.com/post/monitoring-with-prometheus-grafana-alertmanager-and-victoriametrics)
* [How we improved our Kubernetes monitoring at Smarkets, and how you could too](https://smarketshq.com/monitoring-kubernetes-clusters-41a4b24c19e3)
* [Kubernetes and VictoriaMetrics in Mist v4.6](https://mist.io/blog/2021-11-26-kubernetes-and-victoriametrics-in-Mist-v4-6)
* [Foiled by the Firewall: A Tale of Transition From Prometheus to VictoriaMetrics](https://www.percona.com/blog/2020/12/01/foiled-by-the-firewall-a-tale-of-transition-from-prometheus-to-victoriametrics/)
@@ -60,6 +61,9 @@ See also [case studies](https://docs.victoriametrics.com/CaseStudies.html).
* [Prometheus, Grafana, and Kubernetes, Oh My!](https://www.groundcover.com/blog/prometheus-grafana-kubernetes)
* [Explaining modern server monitoring stacks for self-hosting](https://dataswamp.org/~solene/2022-09-11-exploring-monitoring-stacks.html)
* [How do We Keep Metrics for a Long Time in VictoriaMetrics](https://www.youtube.com/watch?v=SGZjY7xgDwE)
+* [Brewblox: InfluxDB to Victoria Metrics](https://www.brewblox.com/dev/decisions/20210718_victoria_metrics.html)
+* [VictoriaMetrics static scraper](https://blog.differentpla.net/blog/2022/10/16/victoria-metrics-static-scraper/)
+* [VictoriaMetrics and Open Cosmos boldly takes edge computing to the edge of space](https://www.iot-now.com/2022/07/19/122423-victoriametrics-and-open-cosmos-boldly-takes-edge-computing-to-the-edge-of-space/)
## Our articles
From f3cb412508c42670faa3ce9d50381f304ba95a3e Mon Sep 17 00:00:00 2001
From: Denys Holius <5650611+denisgolius@users.noreply.github.com>
Date: Mon, 23 Jan 2023 15:32:26 +0200
Subject: [PATCH 09/32] Fix/remove vmanomaly from release guide (#3699)
* docs/Release-Guide.md: remove vmanomaly from release guide because it has own release cycle
* fixed a typo
---
docs/Release-Guide.md | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/docs/Release-Guide.md b/docs/Release-Guide.md
index 7c10fdb064..07860788c5 100644
--- a/docs/Release-Guide.md
+++ b/docs/Release-Guide.md
@@ -94,13 +94,12 @@ The helm chart repository [https://github.com/VictoriaMetrics/helm-charts/](http
4. Update `cluster` chart versions in [`values.yaml`](https://github.com/VictoriaMetrics/helm-charts/blob/master/charts/victoria-metrics-cluster/values.yaml), bump version for `vmselect`, `vminsert` and `vmstorage` and [`Chart.yaml`](https://github.com/VictoriaMetrics/helm-charts/blob/master/charts/victoria-metrics-cluster/Chart.yaml)
5. Update `k8s-stack` chart versions in [`values.yaml`](https://github.com/VictoriaMetrics/helm-charts/blob/master/charts/victoria-metrics-k8s-stack/values.yaml), bump version for `vmselect`, `vminsert`, `vmstorage`, `vmsingle`, `vmalert`, `vmagent` and [`Chart.yaml`](https://github.com/VictoriaMetrics/helm-charts/blob/master/charts/victoria-metrics-k8s-stack/Chart.yaml)
6. Update `single-node` chart version in [`values.yaml`](https://github.com/VictoriaMetrics/helm-charts/blob/master/charts/victoria-metrics-single/values.yaml) and [`Chart.yaml`](https://github.com/VictoriaMetrics/helm-charts/blob/master/charts/victoria-metrics-single/Chart.yaml)
-7. Update `vmanomaly` chart version in [`values.yaml`](https://github.com/VictoriaMetrics/helm-charts/blob/master/charts/victoria-metrics-anomaly/values.yaml) and [`Chart.yaml`](https://github.com/VictoriaMetrics/helm-charts/blob/master/charts/victoria-metrics-anomaly/Chart.yaml)
-8. Update `vmgateway` chart version in [`values.yaml`](https://github.com/VictoriaMetrics/helm-charts/blob/master/charts/victoria-metrics-gateway/values.yamll) and [`Chart.yaml`](https://github.com/VictoriaMetrics/helm-charts/blob/master/charts/victoria-metrics-gateway/Chart.yaml)
-9. Run `make gen-docs`
-10. Run `make package` that creates or updates zip file with the packed chart
-11. Run `make merge`. It creates or updates metadata for charts in index.yaml
-12. Push changes to master. `master` is a source of truth
-13. Push the changes to `gh-pages` branch
+7. Update `vmgateway` chart version in [`values.yaml`](https://github.com/VictoriaMetrics/helm-charts/blob/master/charts/victoria-metrics-gateway/values.yamll) and [`Chart.yaml`](https://github.com/VictoriaMetrics/helm-charts/blob/master/charts/victoria-metrics-gateway/Chart.yaml)
+8. Run `make gen-docs`
+9. Run `make package` that creates or updates zip file with the packed chart
+10. Run `make merge`. It creates or updates metadata for charts in index.yaml
+11. Push changes to master. `master` is a source of truth
+12. Push the changes to `gh-pages` branch
## Ansible Roles
From 7c1daade15f4c783e9846cfdcb35c37af742f063 Mon Sep 17 00:00:00 2001
From: Artem Navoiev
Date: Mon, 23 Jan 2023 15:45:59 +0200
Subject: [PATCH 10/32] tests: use DebugFlush instead of vmstorage stop. This
simplifies the logic and allows to remove test-only methodds (#3694)
Signed-off-by: Artem Navoiev
Signed-off-by: Artem Navoiev
---
app/victoria-metrics/main_test.go | 6 ++----
app/vmstorage/main.go | 9 +--------
2 files changed, 3 insertions(+), 12 deletions(-)
diff --git a/app/victoria-metrics/main_test.go b/app/victoria-metrics/main_test.go
index aa93977164..a7adb1ec5b 100644
--- a/app/victoria-metrics/main_test.go
+++ b/app/victoria-metrics/main_test.go
@@ -129,7 +129,7 @@ func setUp() {
storagePath = filepath.Join(os.TempDir(), testStorageSuffix)
processFlags()
logger.Init()
- vmstorage.InitWithoutMetrics(promql.ResetRollupResultCacheIfNeeded)
+ vmstorage.Init(promql.ResetRollupResultCacheIfNeeded)
vmselect.Init()
vminsert.Init()
go httpserver.Serve(*httpListenAddr, requestHandler)
@@ -189,10 +189,8 @@ func tearDown() {
func TestWriteRead(t *testing.T) {
t.Run("write", testWrite)
+ vmstorage.Storage.DebugFlush()
time.Sleep(1 * time.Second)
- vmstorage.Stop()
- // open storage after stop in write
- vmstorage.InitWithoutMetrics(promql.ResetRollupResultCacheIfNeeded)
t.Run("read", testRead)
}
diff --git a/app/vmstorage/main.go b/app/vmstorage/main.go
index 5c0925f9d2..196e245d2b 100644
--- a/app/vmstorage/main.go
+++ b/app/vmstorage/main.go
@@ -84,14 +84,6 @@ func CheckTimeRange(tr storage.TimeRange) error {
// Init initializes vmstorage.
func Init(resetCacheIfNeeded func(mrs []storage.MetricRow)) {
- InitWithoutMetrics(resetCacheIfNeeded)
- registerStorageMetrics(Storage)
-}
-
-// InitWithoutMetrics must be called instead of Init inside tests.
-//
-// This allows multiple Init / Stop cycles.
-func InitWithoutMetrics(resetCacheIfNeeded func(mrs []storage.MetricRow)) {
if err := encoding.CheckPrecisionBits(uint8(*precisionBits)); err != nil {
logger.Fatalf("invalid `-precisionBits`: %s", err)
}
@@ -130,6 +122,7 @@ func InitWithoutMetrics(resetCacheIfNeeded func(mrs []storage.MetricRow)) {
sizeBytes := tm.SmallSizeBytes + tm.BigSizeBytes
logger.Infof("successfully opened storage %q in %.3f seconds; partsCount: %d; blocksCount: %d; rowsCount: %d; sizeBytes: %d",
*DataPath, time.Since(startTime).Seconds(), partsCount, blocksCount, rowsCount, sizeBytes)
+ registerStorageMetrics(Storage)
}
// Storage is a storage.
From a7f8ce5e3da9c2d79a7eec9bc30f0d51f5b0ffed Mon Sep 17 00:00:00 2001
From: Aliaksandr Valialkin
Date: Mon, 23 Jan 2023 08:05:39 -0800
Subject: [PATCH 11/32] vendor: `make vendor-update`
---
go.mod | 18 +-
go.sum | 40 +-
.../go/internal/.repo-metadata-full.json | 9 +
vendor/cloud.google.com/go/internal/README.md | 10 +-
.../go/internal/cloudbuild.yaml | 25 +
vendor/cloud.google.com/go/storage/CHANGES.md | 13 +
vendor/cloud.google.com/go/storage/bucket.go | 9 +-
.../go/storage/grpc_client.go | 36 +-
.../go/storage/internal/apiv2/doc.go | 10 +-
.../storage/internal/apiv2/storage_client.go | 12 +-
.../internal/apiv2/stubs/storage.pb.go | 3212 +++++++++--------
.../go/storage/internal/apiv2/version.go | 2 +-
.../go/storage/internal/version.go | 2 +-
vendor/cloud.google.com/go/storage/storage.go | 28 +
.../aws/aws-sdk-go/aws/endpoints/defaults.go | 149 +
.../github.com/aws/aws-sdk-go/aws/version.go | 2 +-
vendor/github.com/fatih/color/README.md | 14 +-
vendor/github.com/fatih/color/color.go | 46 +-
vendor/github.com/fatih/color/doc.go | 137 +-
.../github.com/klauspost/compress/README.md | 7 +
.../klauspost/compress/flate/deflate.go | 123 +-
.../klauspost/compress/fse/compress.go | 31 +-
.../klauspost/compress/huff0/bitreader.go | 8 +-
.../klauspost/compress/huff0/compress.go | 90 +-
.../compress/huff0/decompress_amd64.s | 584 ++-
.../klauspost/compress/zstd/blockdec.go | 9 +-
.../klauspost/compress/zstd/decoder.go | 54 +-
.../compress/zstd/decoder_options.go | 26 +-
.../klauspost/compress/zstd/dict.go | 3 +
.../compress/zstd/encoder_options.go | 21 +
.../klauspost/compress/zstd/framedec.go | 10 +-
.../klauspost/compress/zstd/zstd.go | 1 -
.../github.com/urfave/cli/v2/flag-spec.yaml | 2 +
vendor/github.com/urfave/cli/v2/flag.go | 23 +-
.../urfave/cli/v2/flag_string_slice.go | 2 +-
.../urfave/cli/v2/godoc-current.txt | 42 +-
.../urfave/cli/v2/zz_generated.flags.go | 2 +
.../google.golang.org/api/internal/version.go | 2 +-
vendor/modules.txt | 18 +-
39 files changed, 2660 insertions(+), 2172 deletions(-)
create mode 100644 vendor/cloud.google.com/go/internal/cloudbuild.yaml
diff --git a/go.mod b/go.mod
index 04b44b3224..df2581a21d 100644
--- a/go.mod
+++ b/go.mod
@@ -3,7 +3,7 @@ module github.com/VictoriaMetrics/VictoriaMetrics
go 1.19
require (
- cloud.google.com/go/storage v1.28.1
+ cloud.google.com/go/storage v1.29.0
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.3.0
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.6.1
github.com/VictoriaMetrics/fastcache v1.12.0
@@ -23,9 +23,9 @@ require (
github.com/golang/snappy v0.0.4
github.com/googleapis/gax-go/v2 v2.7.0
github.com/influxdata/influxdb v1.11.0
- github.com/klauspost/compress v1.15.14
+ github.com/klauspost/compress v1.15.15
github.com/prometheus/prometheus v0.41.0
- github.com/urfave/cli/v2 v2.23.7
+ github.com/urfave/cli/v2 v2.24.1
github.com/valyala/fastjson v1.6.4
github.com/valyala/fastrand v1.1.0
github.com/valyala/fasttemplate v1.2.2
@@ -35,19 +35,19 @@ require (
golang.org/x/net v0.5.0
golang.org/x/oauth2 v0.4.0
golang.org/x/sys v0.4.0
- google.golang.org/api v0.107.0
+ google.golang.org/api v0.108.0
gopkg.in/yaml.v2 v2.4.0
)
require (
- cloud.google.com/go v0.108.0 // indirect
+ cloud.google.com/go v0.109.0 // indirect
cloud.google.com/go/compute v1.15.1 // indirect
cloud.google.com/go/compute/metadata v0.2.3 // indirect
cloud.google.com/go/iam v0.10.0 // indirect
github.com/Azure/azure-sdk-for-go/sdk/internal v1.1.2 // indirect
github.com/VividCortex/ewma v1.2.0 // indirect
github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 // indirect
- github.com/aws/aws-sdk-go v1.44.180 // indirect
+ github.com/aws/aws-sdk-go v1.44.184 // indirect
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10 // indirect
github.com/aws/aws-sdk-go-v2/credentials v1.13.8 // indirect
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.21 // indirect
@@ -67,7 +67,7 @@ require (
github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/dennwc/varint v1.0.0 // indirect
- github.com/fatih/color v1.13.0 // indirect
+ github.com/fatih/color v1.14.0 // indirect
github.com/felixge/httpsnoop v1.0.3 // indirect
github.com/go-kit/log v0.2.1 // indirect
github.com/go-logfmt/logfmt v0.5.1 // indirect
@@ -106,13 +106,13 @@ require (
go.opentelemetry.io/otel/trace v1.11.2 // indirect
go.uber.org/atomic v1.10.0 // indirect
go.uber.org/goleak v1.2.0 // indirect
- golang.org/x/exp v0.0.0-20230113213754-f9f960f08ad4 // indirect
+ golang.org/x/exp v0.0.0-20230118134722-a68e582fa157 // indirect
golang.org/x/sync v0.1.0 // indirect
golang.org/x/text v0.6.0 // indirect
golang.org/x/time v0.3.0 // indirect
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
google.golang.org/appengine v1.6.7 // indirect
- google.golang.org/genproto v0.0.0-20230113154510-dbe35b8444a5 // indirect
+ google.golang.org/genproto v0.0.0-20230119192704-9d59e20e5cd1 // indirect
google.golang.org/grpc v1.52.0 // indirect
google.golang.org/protobuf v1.28.1 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
diff --git a/go.sum b/go.sum
index eebce8771d..960be729fc 100644
--- a/go.sum
+++ b/go.sum
@@ -13,8 +13,8 @@ cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKV
cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs=
cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc=
cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY=
-cloud.google.com/go v0.108.0 h1:xntQwnfn8oHGX0crLVinvHM+AhXvi3QHQIEcX/2hiWk=
-cloud.google.com/go v0.108.0/go.mod h1:lNUfQqusBJp0bgAg6qrHgYFYbTB+dOiob1itwnlD33Q=
+cloud.google.com/go v0.109.0 h1:38CZoKGlCnPZjGdyj0ZfpoGae0/wgNfy5F0byyxg0Gk=
+cloud.google.com/go v0.109.0/go.mod h1:2sYycXt75t/CSB5R9M2wPU1tJmire7AQZTPtITcGBVE=
cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE=
cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc=
@@ -39,8 +39,8 @@ cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0Zeo
cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk=
cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
-cloud.google.com/go/storage v1.28.1 h1:F5QDG5ChchaAVQhINh24U99OWHURqrW8OmQcGKXcbgI=
-cloud.google.com/go/storage v1.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y=
+cloud.google.com/go/storage v1.29.0 h1:6weCgzRvMg7lzuUurI4697AqIRPU1SvzHhynwpW31jI=
+cloud.google.com/go/storage v1.29.0/go.mod h1:4puEjyTKnku6gfKoTfNOU/W+a9JyuVNxjpS5GBrB8h4=
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
github.com/Azure/azure-sdk-for-go v65.0.0+incompatible h1:HzKLt3kIwMm4KeJYTdx9EbjRYTySD/t8i1Ee/W5EGXw=
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.3.0 h1:VuHAcMq8pU1IWNT/m5yRaGqbK0BiQKHT8X4DTp9CHdI=
@@ -87,8 +87,8 @@ github.com/andybalholm/brotli v1.0.2/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu
github.com/andybalholm/brotli v1.0.3/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig=
github.com/armon/go-metrics v0.3.10 h1:FR+drcQStOe+32sYyJYyZ7FIdgoGGBnwLl+flodp8Uo=
github.com/aws/aws-sdk-go v1.38.35/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
-github.com/aws/aws-sdk-go v1.44.180 h1:VLZuAHI9fa/3WME5JjpVjcPCNfpGHVMiHx8sLHWhMgI=
-github.com/aws/aws-sdk-go v1.44.180/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI=
+github.com/aws/aws-sdk-go v1.44.184 h1:/MggyE66rOImXJKl1HqhLQITvWvqIV7w1Q4MaG6FHUo=
+github.com/aws/aws-sdk-go v1.44.184/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI=
github.com/aws/aws-sdk-go-v2 v1.17.3 h1:shN7NlnVzvDUgPQ+1rLMSxY8OWRNDRYtiqe0p/PgrhY=
github.com/aws/aws-sdk-go-v2 v1.17.3/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw=
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10 h1:dK82zF6kkPeCo8J1e+tGx4JdvDIQzj7ygIoLg8WMuGs=
@@ -166,8 +166,8 @@ github.com/envoyproxy/go-control-plane v0.10.3 h1:xdCVXxEe0Y3FQith+0cj2irwZudqGY
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/envoyproxy/protoc-gen-validate v0.9.1 h1:PS7VIOgmSVhWUEeZwTe7z7zouA22Cr590PzXKbZHOVY=
github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM=
-github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w=
-github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
+github.com/fatih/color v1.14.0 h1:AD//feEuOKJSzxN81txMW47CNX1EW6kMVEPt4lePhtE=
+github.com/fatih/color v1.14.0/go.mod h1:Ywr2WOhTEN4nsWMWU8I8GWIG5z8rhJEa0ukvJDOfSPY=
github.com/felixge/httpsnoop v1.0.3 h1:s/nj+GCswXYzN5v2DpNMuMQYe+0DDwt5WVCU6CWBdXk=
github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=
@@ -314,8 +314,8 @@ github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/klauspost/compress v1.13.4/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg=
github.com/klauspost/compress v1.13.5/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
-github.com/klauspost/compress v1.15.14 h1:i7WCKDToww0wA+9qrUZ1xOjp218vfFo3nTU6UHp+gOc=
-github.com/klauspost/compress v1.15.14/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM=
+github.com/klauspost/compress v1.15.15 h1:EF27CXIuDsYJ6mmvtBRlEuB2UVOqHG1tAXgZ7yIO+lw=
+github.com/klauspost/compress v1.15.15/go.mod h1:ZcK2JAFqKOpnBlxcLsJzYfrS9X1akm9fHZNnD9+Vo/4=
github.com/kolo/xmlrpc v0.0.0-20220921171641-a4b6fa1dd06b h1:udzkj9S/zlT5X367kqJis0QP7YMxobob6zhzq6Yre00=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
@@ -329,11 +329,9 @@ github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0
github.com/linode/linodego v1.9.3 h1:+lxNZw4avRxhCqGjwfPgQ2PvMT+vOL0OMsTdzixR7hQ=
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
-github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
-github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng=
github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
@@ -421,8 +419,8 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
-github.com/urfave/cli/v2 v2.23.7 h1:YHDQ46s3VghFHFf1DdF+Sh7H4RqhcM+t0TmZRJx4oJY=
-github.com/urfave/cli/v2 v2.23.7/go.mod h1:GHupkWPMM0M/sj1a2b4wUrWBPzazNrIjouW6fmdJLxc=
+github.com/urfave/cli/v2 v2.24.1 h1:/QYYr7g0EhwXEML8jO+8OYt5trPnLHS0p3mrgExJ5NU=
+github.com/urfave/cli/v2 v2.24.1/go.mod h1:GHupkWPMM0M/sj1a2b4wUrWBPzazNrIjouW6fmdJLxc=
github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
github.com/valyala/fasthttp v1.30.0/go.mod h1:2rsYD01CKFrjjsvFxx75KlEUNpWNBY9JWD3K/7o2Cus=
@@ -485,8 +483,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0
golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
-golang.org/x/exp v0.0.0-20230113213754-f9f960f08ad4 h1:CNkDRtCj8otM5CFz5jYvbr8ioXX8flVsLfDWEj0M5kk=
-golang.org/x/exp v0.0.0-20230113213754-f9f960f08ad4/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
+golang.org/x/exp v0.0.0-20230118134722-a68e582fa157 h1:fiNkyhJPUvxbRPbCqY/D9qdjmPzfHcpK3P4bM4gioSY=
+golang.org/x/exp v0.0.0-20230118134722-a68e582fa157/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
@@ -607,13 +605,13 @@ golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220405052023-b1e9470b6e64/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.4.0 h1:Zr2JFtRQNX3BCZ8YtxRE9hNJYC8J6I1MVbMg6owUp18=
golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
@@ -701,8 +699,8 @@ google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0M
google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM=
google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc=
-google.golang.org/api v0.107.0 h1:I2SlFjD8ZWabaIFOfeEDg3pf0BHJDh6iYQ1ic3Yu/UU=
-google.golang.org/api v0.107.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY=
+google.golang.org/api v0.108.0 h1:WVBc/faN0DkKtR43Q/7+tPny9ZoLZdIiAyG5Q9vFClg=
+google.golang.org/api v0.108.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
@@ -740,8 +738,8 @@ google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7Fc
google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20230113154510-dbe35b8444a5 h1:wJT65XLOzhpSPCdAmmKfz94SlmnQzDzjm3Cj9k3fsXY=
-google.golang.org/genproto v0.0.0-20230113154510-dbe35b8444a5/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230119192704-9d59e20e5cd1 h1:wSjSSQW7LuPdv3m1IrSN33nVxH/kID6OIKy+FMwGB2k=
+google.golang.org/genproto v0.0.0-20230119192704-9d59e20e5cd1/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
diff --git a/vendor/cloud.google.com/go/internal/.repo-metadata-full.json b/vendor/cloud.google.com/go/internal/.repo-metadata-full.json
index b0b98ce45d..42ce289dc4 100644
--- a/vendor/cloud.google.com/go/internal/.repo-metadata-full.json
+++ b/vendor/cloud.google.com/go/internal/.repo-metadata-full.json
@@ -548,6 +548,15 @@
"release_level": "beta",
"library_type": "GAPIC_AUTO"
},
+ "cloud.google.com/go/datacatalog/lineage/apiv1": {
+ "distribution_name": "cloud.google.com/go/datacatalog/lineage/apiv1",
+ "description": "Data Lineage API",
+ "language": "Go",
+ "client_library_type": "generated",
+ "docs_url": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/datacatalog/latest/lineage/apiv1",
+ "release_level": "beta",
+ "library_type": "GAPIC_AUTO"
+ },
"cloud.google.com/go/dataflow/apiv1beta3": {
"distribution_name": "cloud.google.com/go/dataflow/apiv1beta3",
"description": "Dataflow API",
diff --git a/vendor/cloud.google.com/go/internal/README.md b/vendor/cloud.google.com/go/internal/README.md
index 8857c8f6fe..f3f4ccf375 100644
--- a/vendor/cloud.google.com/go/internal/README.md
+++ b/vendor/cloud.google.com/go/internal/README.md
@@ -15,4 +15,12 @@ One day, we may want to create individual `.repo-metadata.json` files next to
each package, which is the pattern followed by some other languages. External
tools would then talk to pkg.go.dev or some other service to get the overall
list of packages and use the `.repo-metadata.json` files to get the additional
-metadata required. For now, `.repo-metadata-full.json` includes everything.
\ No newline at end of file
+metadata required. For now, `.repo-metadata-full.json` includes everything.
+
+## cloudbuild.yaml
+
+To kick off a build locally run from the repo root:
+
+```bash
+gcloud builds submit --project=cloud-devrel-kokoro-resources --config=internal/cloudbuild.yaml
+```
diff --git a/vendor/cloud.google.com/go/internal/cloudbuild.yaml b/vendor/cloud.google.com/go/internal/cloudbuild.yaml
new file mode 100644
index 0000000000..71281cec24
--- /dev/null
+++ b/vendor/cloud.google.com/go/internal/cloudbuild.yaml
@@ -0,0 +1,25 @@
+# Copyright 2023 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# note: /workspace is a special directory in the docker image where all the files in this folder
+# get placed on your behalf
+
+timeout: 7200s # 2 hours
+steps:
+- name: gcr.io/cloud-builders/docker
+ args: ['build', '-t', 'gcr.io/cloud-devrel-public-resources/owlbot-go', '-f', 'postprocessor/Dockerfile', '.']
+ dir: internal
+
+images:
+- gcr.io/cloud-devrel-public-resources/owlbot-go:latest
diff --git a/vendor/cloud.google.com/go/storage/CHANGES.md b/vendor/cloud.google.com/go/storage/CHANGES.md
index f12da250ef..3f4097faea 100644
--- a/vendor/cloud.google.com/go/storage/CHANGES.md
+++ b/vendor/cloud.google.com/go/storage/CHANGES.md
@@ -1,6 +1,19 @@
# Changes
+## [1.29.0](https://github.com/googleapis/google-cloud-go/compare/storage/v1.28.1...storage/v1.29.0) (2023-01-19)
+
+
+### Features
+
+* **storage:** Add ComponentCount as part of ObjectAttrs ([#7230](https://github.com/googleapis/google-cloud-go/issues/7230)) ([a19bca6](https://github.com/googleapis/google-cloud-go/commit/a19bca60704b4fbb674cf51d828580aa653c8210))
+* **storage:** Add REST client ([06a54a1](https://github.com/googleapis/google-cloud-go/commit/06a54a16a5866cce966547c51e203b9e09a25bc0))
+
+
+### Documentation
+
+* **storage/internal:** Corrected typos and spellings ([7357077](https://github.com/googleapis/google-cloud-go/commit/735707796d81d7f6f32fc3415800c512fe62297e))
+
## [1.28.1](https://github.com/googleapis/google-cloud-go/compare/storage/v1.28.0...storage/v1.28.1) (2022-12-02)
diff --git a/vendor/cloud.google.com/go/storage/bucket.go b/vendor/cloud.google.com/go/storage/bucket.go
index 28a73b8d99..19f266ef1e 100644
--- a/vendor/cloud.google.com/go/storage/bucket.go
+++ b/vendor/cloud.google.com/go/storage/bucket.go
@@ -35,6 +35,7 @@ import (
raw "google.golang.org/api/storage/v1"
dpb "google.golang.org/genproto/googleapis/type/date"
"google.golang.org/protobuf/proto"
+ "google.golang.org/protobuf/types/known/durationpb"
)
// BucketHandle provides operations on a Google Cloud Storage bucket.
@@ -1389,12 +1390,12 @@ func (rp *RetentionPolicy) toProtoRetentionPolicy() *storagepb.Bucket_RetentionP
}
// RetentionPeriod must be greater than 0, so if it is 0, the user left it
// unset, and so we should not send it in the request i.e. nil is sent.
- var period *int64
+ var dur *durationpb.Duration
if rp.RetentionPeriod != 0 {
- period = proto.Int64(int64(rp.RetentionPeriod / time.Second))
+ dur = durationpb.New(rp.RetentionPeriod)
}
return &storagepb.Bucket_RetentionPolicy{
- RetentionPeriod: period,
+ RetentionDuration: dur,
}
}
@@ -1418,7 +1419,7 @@ func toRetentionPolicyFromProto(rp *storagepb.Bucket_RetentionPolicy) *Retention
return nil
}
return &RetentionPolicy{
- RetentionPeriod: time.Duration(rp.GetRetentionPeriod()) * time.Second,
+ RetentionPeriod: rp.GetRetentionDuration().AsDuration(),
EffectiveTime: rp.GetEffectiveTime().AsTime(),
IsLocked: rp.GetIsLocked(),
}
diff --git a/vendor/cloud.google.com/go/storage/grpc_client.go b/vendor/cloud.google.com/go/storage/grpc_client.go
index 4a44cee8b6..1dfb6f8302 100644
--- a/vendor/cloud.google.com/go/storage/grpc_client.go
+++ b/vendor/cloud.google.com/go/storage/grpc_client.go
@@ -34,7 +34,6 @@ import (
"google.golang.org/grpc/codes"
"google.golang.org/grpc/metadata"
"google.golang.org/grpc/status"
- "google.golang.org/protobuf/proto"
fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
)
@@ -1496,11 +1495,16 @@ func (w *gRPCWriter) startResumableUpload() error {
if err != nil {
return err
}
+ req := &storagepb.StartResumableWriteRequest{
+ WriteObjectSpec: spec,
+ CommonObjectRequestParams: toProtoCommonObjectRequestParams(w.encryptionKey),
+ }
+ // TODO: Currently the checksums are only sent on the request to initialize
+ // the upload, but in the future, we must also support sending it
+ // on the *last* message of the stream.
+ req.ObjectChecksums = toProtoChecksums(w.sendCRC32C, w.attrs)
return run(w.ctx, func() error {
- upres, err := w.c.raw.StartResumableWrite(w.ctx, &storagepb.StartResumableWriteRequest{
- WriteObjectSpec: spec,
- CommonObjectRequestParams: toProtoCommonObjectRequestParams(w.encryptionKey),
- })
+ upres, err := w.c.raw.StartResumableWrite(w.ctx, req)
w.upid = upres.GetUploadId()
return err
}, w.settings.retry, w.settings.idempotent, setRetryHeaderGRPC(w.ctx))
@@ -1585,25 +1589,13 @@ func (w *gRPCWriter) uploadBuffer(recvd int, start int64, doneReading bool) (*st
WriteObjectSpec: spec,
}
req.CommonObjectRequestParams = toProtoCommonObjectRequestParams(w.encryptionKey)
+ // For a non-resumable upload, checksums must be sent in this message.
+ // TODO: Currently the checksums are only sent on the first message
+ // of the stream, but in the future, we must also support sending it
+ // on the *last* message of the stream (instead of the first).
+ req.ObjectChecksums = toProtoChecksums(w.sendCRC32C, w.attrs)
}
- // TODO: Currently the checksums are only sent on the first message
- // of the stream, but in the future, we must also support sending it
- // on the *last* message of the stream (instead of the first).
- if w.sendCRC32C {
- req.ObjectChecksums = &storagepb.ObjectChecksums{
- Crc32C: proto.Uint32(w.attrs.CRC32C),
- }
- }
- if len(w.attrs.MD5) != 0 {
- if cs := req.GetObjectChecksums(); cs == nil {
- req.ObjectChecksums = &storagepb.ObjectChecksums{
- Md5Hash: w.attrs.MD5,
- }
- } else {
- cs.Md5Hash = w.attrs.MD5
- }
- }
}
err = w.stream.Send(req)
diff --git a/vendor/cloud.google.com/go/storage/internal/apiv2/doc.go b/vendor/cloud.google.com/go/storage/internal/apiv2/doc.go
index 56e9754812..e33b5222ab 100644
--- a/vendor/cloud.google.com/go/storage/internal/apiv2/doc.go
+++ b/vendor/cloud.google.com/go/storage/internal/apiv2/doc.go
@@ -1,4 +1,4 @@
-// Copyright 2022 Google LLC
+// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -21,6 +21,11 @@
//
// NOTE: This package is in alpha. It is not stable, and is likely to change.
//
+// # General documentation
+//
+// For information about setting deadlines, reusing contexts, and more
+// please visit https://pkg.go.dev/cloud.google.com/go.
+//
// # Example usage
//
// To get started with this package, create a client.
@@ -73,9 +78,6 @@
// Individual methods on the client use the ctx given to them.
//
// To close the open connection, use the Close() method.
-//
-// For information about setting deadlines, reusing contexts, and more
-// please visit https://pkg.go.dev/cloud.google.com/go.
package storage // import "cloud.google.com/go/storage/internal/apiv2"
import (
diff --git a/vendor/cloud.google.com/go/storage/internal/apiv2/storage_client.go b/vendor/cloud.google.com/go/storage/internal/apiv2/storage_client.go
index 6e904ee5ce..aa2c1aff57 100644
--- a/vendor/cloud.google.com/go/storage/internal/apiv2/storage_client.go
+++ b/vendor/cloud.google.com/go/storage/internal/apiv2/storage_client.go
@@ -1,4 +1,4 @@
-// Copyright 2022 Google LLC
+// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -238,17 +238,26 @@ func (c *Client) LockBucketRetentionPolicy(ctx context.Context, req *storagepb.L
}
// GetIamPolicy gets the IAM policy for a specified bucket or object.
+// The resource field in the request should be
+// projects//buckets/ for a bucket or
+// projects//buckets//objects/ for an object.
func (c *Client) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) {
return c.internalClient.GetIamPolicy(ctx, req, opts...)
}
// SetIamPolicy updates an IAM policy for the specified bucket or object.
+// The resource field in the request should be
+// projects//buckets/ for a bucket or
+// projects//buckets//objects/ for an object.
func (c *Client) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) {
return c.internalClient.SetIamPolicy(ctx, req, opts...)
}
// TestIamPermissions tests a set of permissions on the given bucket or object to see which, if
// any, are held by the caller.
+// The resource field in the request should be
+// projects//buckets/ for a bucket or
+// projects//buckets//objects/ for an object.
func (c *Client) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error) {
return c.internalClient.TestIamPermissions(ctx, req, opts...)
}
@@ -1048,6 +1057,7 @@ func (c *gRPCClient) ReadObject(ctx context.Context, req *storagepb.ReadObjectRe
md := metadata.Pairs("x-goog-request-params", routingHeaders)
ctx = insertMetadata(ctx, c.xGoogMetadata, md)
+ opts = append((*c.CallOptions).ReadObject[0:len((*c.CallOptions).ReadObject):len((*c.CallOptions).ReadObject)], opts...)
var resp storagepb.Storage_ReadObjectClient
err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
var err error
diff --git a/vendor/cloud.google.com/go/storage/internal/apiv2/stubs/storage.pb.go b/vendor/cloud.google.com/go/storage/internal/apiv2/stubs/storage.pb.go
index c36634b1a1..f81e216c57 100644
--- a/vendor/cloud.google.com/go/storage/internal/apiv2/stubs/storage.pb.go
+++ b/vendor/cloud.google.com/go/storage/internal/apiv2/stubs/storage.pb.go
@@ -33,6 +33,7 @@ import (
status "google.golang.org/grpc/status"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ durationpb "google.golang.org/protobuf/types/known/durationpb"
emptypb "google.golang.org/protobuf/types/known/emptypb"
fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
@@ -340,9 +341,9 @@ type CreateBucketRequest struct {
// bucket_id fields, respectively. Populating those fields in `bucket` will
// result in an error.
Bucket *Bucket `protobuf:"bytes,2,opt,name=bucket,proto3" json:"bucket,omitempty"`
- // Required. The ID to use for this bucket, which will become the final component of
- // the bucket's resource name. For example, the value `foo` might result in
- // a bucket with the name `projects/123456/buckets/foo`.
+ // Required. The ID to use for this bucket, which will become the final
+ // component of the bucket's resource name. For example, the value `foo` might
+ // result in a bucket with the name `projects/123456/buckets/foo`.
BucketId string `protobuf:"bytes,3,opt,name=bucket_id,json=bucketId,proto3" json:"bucket_id,omitempty"`
// Apply a predefined set of access controls to this bucket.
// Valid values are "authenticatedRead", "private", "projectPrivate",
@@ -580,8 +581,8 @@ type LockBucketRetentionPolicyRequest struct {
// Required. Name of a bucket.
Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"`
- // Required. Makes the operation conditional on whether bucket's current metageneration
- // matches the given value. Must be positive.
+ // Required. Makes the operation conditional on whether bucket's current
+ // metageneration matches the given value. Must be positive.
IfMetagenerationMatch int64 `protobuf:"varint,2,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3" json:"if_metageneration_match,omitempty"`
}
@@ -1060,6 +1061,9 @@ type ComposeObjectRequest struct {
KmsKey string `protobuf:"bytes,6,opt,name=kms_key,json=kmsKey,proto3" json:"kms_key,omitempty"`
// A set of parameters common to Storage API requests concerning an object.
CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,7,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"`
+ // The checksums of the complete object. This will be validated against the
+ // combined checksums of the component objects.
+ ObjectChecksums *ObjectChecksums `protobuf:"bytes,10,opt,name=object_checksums,json=objectChecksums,proto3" json:"object_checksums,omitempty"`
}
func (x *ComposeObjectRequest) Reset() {
@@ -1143,6 +1147,13 @@ func (x *ComposeObjectRequest) GetCommonObjectRequestParams() *CommonObjectReque
return nil
}
+func (x *ComposeObjectRequest) GetObjectChecksums() *ObjectChecksums {
+ if x != nil {
+ return x.ObjectChecksums
+ }
+ return nil
+}
+
// Message for deleting an object.
// `bucket` and `object` **must** be set.
type DeleteObjectRequest struct {
@@ -1152,7 +1163,9 @@ type DeleteObjectRequest struct {
// Required. Name of the bucket in which the object resides.
Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"`
- // Required. The name of the object to delete (when not using a resumable write).
+ // Required. The name of the finalized object to delete.
+ // Note: If you want to delete an unfinalized resumable upload please use
+ // `CancelResumableWrite`.
Object string `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"`
// If present, permanently deletes a specific revision of this object (as
// opposed to the latest version, the default).
@@ -1271,8 +1284,8 @@ type CancelResumableWriteRequest struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // Required. The upload_id of the resumable upload to cancel. This should be copied
- // from the `upload_id` field of `StartResumableWriteResponse`.
+ // Required. The upload_id of the resumable upload to cancel. This should be
+ // copied from the `upload_id` field of `StartResumableWriteResponse`.
UploadId string `protobuf:"bytes,1,opt,name=upload_id,json=uploadId,proto3" json:"upload_id,omitempty"`
}
@@ -1869,8 +1882,8 @@ type WriteObjectRequest struct {
// *WriteObjectRequest_UploadId
// *WriteObjectRequest_WriteObjectSpec
FirstMessage isWriteObjectRequest_FirstMessage `protobuf_oneof:"first_message"`
- // Required. The offset from the beginning of the object at which the data should be
- // written.
+ // Required. The offset from the beginning of the object at which the data
+ // should be written.
//
// In the first `WriteObjectRequest` of a `WriteObject()` action, it
// indicates the initial offset for the `Write()` call. The value **must** be
@@ -2159,15 +2172,15 @@ type ListObjectsRequest struct {
// items.owner.
// * may be used to mean "all fields".
ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,8,opt,name=read_mask,json=readMask,proto3,oneof" json:"read_mask,omitempty"`
- // Filter results to objects whose names are lexicographically equal to or
- // after lexicographic_start. If lexicographic_end is also set, the objects
- // listed have names between lexicographic_start (inclusive) and
+ // Optional. Filter results to objects whose names are lexicographically equal
+ // to or after lexicographic_start. If lexicographic_end is also set, the
+ // objects listed have names between lexicographic_start (inclusive) and
// lexicographic_end (exclusive).
LexicographicStart string `protobuf:"bytes,10,opt,name=lexicographic_start,json=lexicographicStart,proto3" json:"lexicographic_start,omitempty"`
- // Filter results to objects whose names are lexicographically before
- // lexicographic_end. If lexicographic_start is also set, the objects listed
- // have names between lexicographic_start (inclusive) and lexicographic_end
- // (exclusive).
+ // Optional. Filter results to objects whose names are lexicographically
+ // before lexicographic_end. If lexicographic_start is also set, the objects
+ // listed have names between lexicographic_start (inclusive) and
+ // lexicographic_end (exclusive).
LexicographicEnd string `protobuf:"bytes,11,opt,name=lexicographic_end,json=lexicographicEnd,proto3" json:"lexicographic_end,omitempty"`
}
@@ -2279,8 +2292,8 @@ type QueryWriteStatusRequest struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // Required. The name of the resume token for the object whose write status is being
- // requested.
+ // Required. The name of the resume token for the object whose write status is
+ // being requested.
UploadId string `protobuf:"bytes,1,opt,name=upload_id,json=uploadId,proto3" json:"upload_id,omitempty"`
// A set of parameters common to Storage API requests concerning an object.
CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,2,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"`
@@ -2437,13 +2450,14 @@ type RewriteObjectRequest struct {
// Required. Immutable. The name of the destination object.
// See the
- // [Naming Guidelines](https://cloud.google.com/storage/docs/naming-objects).
+ // [Naming Guidelines](https://cloud.google.com/storage/docs/objects#naming).
// Example: `test.txt`
// The `name` field by itself does not uniquely identify a Cloud Storage
// object. A Cloud Storage object is uniquely identified by the tuple of
// (bucket, object, generation).
DestinationName string `protobuf:"bytes,24,opt,name=destination_name,json=destinationName,proto3" json:"destination_name,omitempty"`
- // Required. Immutable. The name of the bucket containing the destination object.
+ // Required. Immutable. The name of the bucket containing the destination
+ // object.
DestinationBucket string `protobuf:"bytes,25,opt,name=destination_bucket,json=destinationBucket,proto3" json:"destination_bucket,omitempty"`
// The name of the Cloud KMS key that will be used to encrypt the destination
// object. The Cloud KMS key must be located in same location as the object.
@@ -2525,6 +2539,9 @@ type RewriteObjectRequest struct {
CopySourceEncryptionKeySha256Bytes []byte `protobuf:"bytes,22,opt,name=copy_source_encryption_key_sha256_bytes,json=copySourceEncryptionKeySha256Bytes,proto3" json:"copy_source_encryption_key_sha256_bytes,omitempty"`
// A set of parameters common to Storage API requests concerning an object.
CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,19,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"`
+ // The checksums of the complete object. This will be used to validate the
+ // destination object after rewriting.
+ ObjectChecksums *ObjectChecksums `protobuf:"bytes,29,opt,name=object_checksums,json=objectChecksums,proto3" json:"object_checksums,omitempty"`
}
func (x *RewriteObjectRequest) Reset() {
@@ -2713,6 +2730,13 @@ func (x *RewriteObjectRequest) GetCommonObjectRequestParams() *CommonObjectReque
return nil
}
+func (x *RewriteObjectRequest) GetObjectChecksums() *ObjectChecksums {
+ if x != nil {
+ return x.ObjectChecksums
+ }
+ return nil
+}
+
// A rewrite response.
type RewriteResponse struct {
state protoimpl.MessageState
@@ -2809,10 +2833,16 @@ type StartResumableWriteRequest struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // Required. The destination bucket, object, and metadata, as well as any preconditions.
+ // Required. The destination bucket, object, and metadata, as well as any
+ // preconditions.
WriteObjectSpec *WriteObjectSpec `protobuf:"bytes,1,opt,name=write_object_spec,json=writeObjectSpec,proto3" json:"write_object_spec,omitempty"`
// A set of parameters common to Storage API requests concerning an object.
CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,3,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"`
+ // The checksums of the complete object. This will be used to validate the
+ // uploaded object. For each upload, object_checksums can be provided with
+ // either StartResumableWriteRequest or the WriteObjectRequest with
+ // finish_write set to `true`.
+ ObjectChecksums *ObjectChecksums `protobuf:"bytes,5,opt,name=object_checksums,json=objectChecksums,proto3" json:"object_checksums,omitempty"`
}
func (x *StartResumableWriteRequest) Reset() {
@@ -2861,6 +2891,13 @@ func (x *StartResumableWriteRequest) GetCommonObjectRequestParams() *CommonObjec
return nil
}
+func (x *StartResumableWriteRequest) GetObjectChecksums() *ObjectChecksums {
+ if x != nil {
+ return x.ObjectChecksums
+ }
+ return nil
+}
+
// Response object for `StartResumableWrite`.
type StartResumableWriteResponse struct {
state protoimpl.MessageState
@@ -3101,9 +3138,9 @@ type CreateHmacKeyRequest struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // Required. The project that the HMAC-owning service account lives in, in the format of
- // "projects/".
- // can be the project ID or project number.
+ // Required. The project that the HMAC-owning service account lives in, in the
+ // format of "projects/". can be the
+ // project ID or project number.
Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
// Required. The service account to create the HMAC for.
ServiceAccountEmail string `protobuf:"bytes,2,opt,name=service_account_email,json=serviceAccountEmail,proto3" json:"service_account_email,omitempty"`
@@ -3663,9 +3700,9 @@ type Bucket struct {
// Immutable. The name of the bucket.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- // Output only. The user-chosen part of the bucket name. The `{bucket}` portion of the
- // `name` field. For globally unique buckets, this is equal to the "bucket
- // name" of other Cloud Storage APIs. Example: "pub".
+ // Output only. The user-chosen part of the bucket name. The `{bucket}`
+ // portion of the `name` field. For globally unique buckets, this is equal to
+ // the "bucket name" of other Cloud Storage APIs. Example: "pub".
BucketId string `protobuf:"bytes,2,opt,name=bucket_id,json=bucketId,proto3" json:"bucket_id,omitempty"`
// The etag of the bucket.
// If included in the metadata of an UpdateBucketRequest, the operation will
@@ -3679,13 +3716,15 @@ type Bucket struct {
// Attempting to set or update this field will result in a
// [FieldViolation][google.rpc.BadRequest.FieldViolation].
Metageneration int64 `protobuf:"varint,4,opt,name=metageneration,proto3" json:"metageneration,omitempty"`
- // Immutable. The location of the bucket. Object data for objects in the bucket resides
- // in physical storage within this region. Defaults to `US`. See the
+ // Immutable. The location of the bucket. Object data for objects in the
+ // bucket resides in physical storage within this region. Defaults to `US`.
+ // See the
// [https://developers.google.com/storage/docs/concepts-techniques#specifyinglocations"][developer's
// guide] for the authoritative list. Attempting to update this field after
// the bucket is created will result in an error.
Location string `protobuf:"bytes,5,opt,name=location,proto3" json:"location,omitempty"`
- // Output only. The location type of the bucket (region, dual-region, multi-region, etc).
+ // Output only. The location type of the bucket (region, dual-region,
+ // multi-region, etc).
LocationType string `protobuf:"bytes,6,opt,name=location_type,json=locationType,proto3" json:"location_type,omitempty"`
// The bucket's default storage class, used whenever no storageClass is
// specified for a newly-created object. This defines how objects in the
@@ -3702,11 +3741,11 @@ type Bucket struct {
// https://cloud.google.com/storage/docs/turbo-replication.
Rpo string `protobuf:"bytes,27,opt,name=rpo,proto3" json:"rpo,omitempty"`
// Access controls on the bucket.
- // If iamConfig.uniformBucketLevelAccess is enabled on this bucket,
+ // If iam_config.uniform_bucket_level_access is enabled on this bucket,
// requests to set, read, or modify acl is an error.
Acl []*BucketAccessControl `protobuf:"bytes,8,rep,name=acl,proto3" json:"acl,omitempty"`
// Default access controls to apply to new objects when no ACL is provided.
- // If iamConfig.uniformBucketLevelAccess is enabled on this bucket,
+ // If iam_config.uniform_bucket_level_access is enabled on this bucket,
// requests to set, read, or modify acl is an error.
DefaultObjectAcl []*ObjectAccessControl `protobuf:"bytes,9,rep,name=default_object_acl,json=defaultObjectAcl,proto3" json:"default_object_acl,omitempty"`
// The bucket's lifecycle config. See
@@ -3750,7 +3789,8 @@ type Bucket struct {
// The bucket's logging config, which defines the destination bucket
// and name prefix (if any) for the current bucket's logs.
Logging *Bucket_Logging `protobuf:"bytes,18,opt,name=logging,proto3" json:"logging,omitempty"`
- // Output only. The owner of the bucket. This is always the project team's owner group.
+ // Output only. The owner of the bucket. This is always the project team's
+ // owner group.
Owner *Owner `protobuf:"bytes,19,opt,name=owner,proto3" json:"owner,omitempty"`
// Encryption config for a bucket.
Encryption *Bucket_Encryption `protobuf:"bytes,20,opt,name=encryption,proto3" json:"encryption,omitempty"`
@@ -4035,8 +4075,8 @@ type BucketAccessControl struct {
// For project entities, `project-{team}-{projectnumber}` format will be
// returned on response.
Entity string `protobuf:"bytes,3,opt,name=entity,proto3" json:"entity,omitempty"`
- // Output only. The alternative entity format, if exists. For project entities,
- // `project-{team}-{projectid}` format will be returned on response.
+ // Output only. The alternative entity format, if exists. For project
+ // entities, `project-{team}-{projectid}` format will be returned on response.
EntityAlt string `protobuf:"bytes,9,opt,name=entity_alt,json=entityAlt,proto3" json:"entity_alt,omitempty"`
// The ID for the entity, if any.
EntityId string `protobuf:"bytes,4,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
@@ -4286,9 +4326,9 @@ type HmacKeyMetadata struct {
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// Immutable. Globally unique id for keys.
AccessId string `protobuf:"bytes,2,opt,name=access_id,json=accessId,proto3" json:"access_id,omitempty"`
- // Immutable. Identifies the project that owns the service account of the specified HMAC
- // key, in the format "projects/". can
- // be the project ID or project number.
+ // Immutable. Identifies the project that owns the service account of the
+ // specified HMAC key, in the format "projects/".
+ // can be the project ID or project number.
Project string `protobuf:"bytes,3,opt,name=project,proto3" json:"project,omitempty"`
// Output only. Email of the service account the key authenticates as.
ServiceAccountEmail string `protobuf:"bytes,4,opt,name=service_account_email,json=serviceAccountEmail,proto3" json:"service_account_email,omitempty"`
@@ -4402,7 +4442,8 @@ type Notification struct {
// `projects/{project}/buckets/{bucket}/notificationConfigs/{notification}`
// The `{project}` portion may be `_` for globally unique buckets.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- // Required. The Pub/Sub topic to which this subscription publishes. Formatted as:
+ // Required. The Pub/Sub topic to which this subscription publishes. Formatted
+ // as:
// '//pubsub.googleapis.com/projects/{project-identifier}/topics/{my-topic}'
Topic string `protobuf:"bytes,2,opt,name=topic,proto3" json:"topic,omitempty"`
// The etag of the Notification.
@@ -4569,9 +4610,9 @@ type Object struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // Immutable. The name of this object. Nearly any sequence of unicode characters is
- // valid. See
- // [Guidelines](https://cloud.google.com/storage/docs/naming-objects).
+ // Immutable. The name of this object. Nearly any sequence of unicode
+ // characters is valid. See
+ // [Guidelines](https://cloud.google.com/storage/docs/objects#naming).
// Example: `test.txt`
// The `name` field by itself does not uniquely identify a Cloud Storage
// object. A Cloud Storage object is uniquely identified by the tuple of
@@ -4584,16 +4625,15 @@ type Object struct {
// operation will only be performed if the etag matches that of the live
// object.
Etag string `protobuf:"bytes,27,opt,name=etag,proto3" json:"etag,omitempty"`
- // Immutable. The content generation of this object. Used for object versioning.
- // Attempting to set or update this field will result in a
+ // Immutable. The content generation of this object. Used for object
+ // versioning. Attempting to set or update this field will result in a
// [FieldViolation][google.rpc.BadRequest.FieldViolation].
Generation int64 `protobuf:"varint,3,opt,name=generation,proto3" json:"generation,omitempty"`
- // Output only. The version of the metadata for this generation of this object. Used for
- // preconditions and for detecting changes in metadata. A metageneration
- // number is only meaningful in the context of a particular generation of a
- // particular object.
- // Attempting to set or update this field will result in a
- // [FieldViolation][google.rpc.BadRequest.FieldViolation].
+ // Output only. The version of the metadata for this generation of this
+ // object. Used for preconditions and for detecting changes in metadata. A
+ // metageneration number is only meaningful in the context of a particular
+ // generation of a particular object. Attempting to set or update this field
+ // will result in a [FieldViolation][google.rpc.BadRequest.FieldViolation].
Metageneration int64 `protobuf:"varint,4,opt,name=metageneration,proto3" json:"metageneration,omitempty"`
// Storage class of the object.
StorageClass string `protobuf:"bytes,5,opt,name=storage_class,json=storageClass,proto3" json:"storage_class,omitempty"`
@@ -4614,15 +4654,15 @@ type Object struct {
// default will be `public, max-age=3600`.
CacheControl string `protobuf:"bytes,9,opt,name=cache_control,json=cacheControl,proto3" json:"cache_control,omitempty"`
// Access controls on the object.
- // If iamConfig.uniformBucketLevelAccess is enabled on the parent
+ // If iam_config.uniform_bucket_level_access is enabled on the parent
// bucket, requests to set, read, or modify acl is an error.
Acl []*ObjectAccessControl `protobuf:"bytes,10,rep,name=acl,proto3" json:"acl,omitempty"`
// Content-Language of the object data, matching
// [https://tools.ietf.org/html/rfc7231#section-3.1.3.2][RFC 7231 §3.1.3.2].
ContentLanguage string `protobuf:"bytes,11,opt,name=content_language,json=contentLanguage,proto3" json:"content_language,omitempty"`
- // Output only. The deletion time of the object. Will be returned if and only if this
- // version of the object has been deleted.
- // Attempting to set or update this field will result in a
+ // Output only. The deletion time of the object. Will be returned if and only
+ // if this version of the object has been deleted. Attempting to set or update
+ // this field will result in a
// [FieldViolation][google.rpc.BadRequest.FieldViolation].
DeleteTime *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=delete_time,json=deleteTime,proto3" json:"delete_time,omitempty"`
// Content-Type of the object data, matching
@@ -4634,12 +4674,13 @@ type Object struct {
// Attempting to set or update this field will result in a
// [FieldViolation][google.rpc.BadRequest.FieldViolation].
CreateTime *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
- // Output only. Number of underlying components that make up this object. Components are
- // accumulated by compose operations.
- // Attempting to set or update this field will result in a
+ // Output only. Number of underlying components that make up this object.
+ // Components are accumulated by compose operations. Attempting to set or
+ // update this field will result in a
// [FieldViolation][google.rpc.BadRequest.FieldViolation].
ComponentCount int32 `protobuf:"varint,15,opt,name=component_count,json=componentCount,proto3" json:"component_count,omitempty"`
- // Output only. Hashes for the data part of this object.
+ // Output only. Hashes for the data part of this object. This field is used
+ // for output only and will be silently ignored if provided in requests.
Checksums *ObjectChecksums `protobuf:"bytes,16,opt,name=checksums,proto3" json:"checksums,omitempty"`
// Output only. The modification time of the object metadata.
// Set initially to object creation time and then updated whenever any
@@ -4653,8 +4694,8 @@ type Object struct {
// Cloud KMS Key used to encrypt this object, if the object is encrypted by
// such a key.
KmsKey string `protobuf:"bytes,18,opt,name=kms_key,json=kmsKey,proto3" json:"kms_key,omitempty"`
- // Output only. The time at which the object's storage class was last changed. When the
- // object is initially created, it will be set to time_created.
+ // Output only. The time at which the object's storage class was last changed.
+ // When the object is initially created, it will be set to time_created.
// Attempting to set or update this field will result in a
// [FieldViolation][google.rpc.BadRequest.FieldViolation].
UpdateStorageClassTime *timestamppb.Timestamp `protobuf:"bytes,19,opt,name=update_storage_class_time,json=updateStorageClassTime,proto3" json:"update_storage_class_time,omitempty"`
@@ -4686,8 +4727,8 @@ type Object struct {
// should be taken from the parent bucket's "default_event_based_hold" field.
// In a response, this field will always be set to true or false.
EventBasedHold *bool `protobuf:"varint,23,opt,name=event_based_hold,json=eventBasedHold,proto3,oneof" json:"event_based_hold,omitempty"`
- // Output only. The owner of the object. This will always be the uploader of the object.
- // Attempting to set or update this field will result in a
+ // Output only. The owner of the object. This will always be the uploader of
+ // the object. Attempting to set or update this field will result in a
// [FieldViolation][google.rpc.BadRequest.FieldViolation].
Owner *Owner `protobuf:"bytes,24,opt,name=owner,proto3" json:"owner,omitempty"`
// Metadata of Customer-Supplied Encryption Key, if the object is encrypted by
@@ -4947,8 +4988,8 @@ type ObjectAccessControl struct {
// For project entities, `project-{team}-{projectnumber}` format will be
// returned on response.
Entity string `protobuf:"bytes,3,opt,name=entity,proto3" json:"entity,omitempty"`
- // Output only. The alternative entity format, if exists. For project entities,
- // `project-{team}-{projectid}` format will be returned on response.
+ // Output only. The alternative entity format, if exists. For project
+ // entities, `project-{team}-{projectid}` format will be returned on response.
EntityAlt string `protobuf:"bytes,9,opt,name=entity_alt,json=entityAlt,proto3" json:"entity_alt,omitempty"`
// The ID for the entity, if any.
EntityId string `protobuf:"bytes,4,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
@@ -5369,8 +5410,8 @@ type ComposeObjectRequest_SourceObject struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // Required. The source object's name. All source objects must reside in the same
- // bucket.
+ // Required. The source object's name. All source objects must reside in the
+ // same bucket.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// The generation of this object to use as the source.
Generation int64 `protobuf:"varint,2,opt,name=generation,proto3" json:"generation,omitempty"`
@@ -5853,6 +5894,12 @@ type Bucket_RetentionPolicy struct {
// enforcement of retention periods less than a day is not guaranteed. Such
// periods should only be used for testing purposes.
RetentionPeriod *int64 `protobuf:"varint,3,opt,name=retention_period,json=retentionPeriod,proto3,oneof" json:"retention_period,omitempty"`
+ // The duration that objects need to be retained. Retention duration must be
+ // greater than zero and less than 100 years. Note that enforcement of
+ // retention periods less than a day is not guaranteed. Such periods should
+ // only be used for testing purposes. Any `nanos` value specified will be
+ // rounded down to the nearest second.
+ RetentionDuration *durationpb.Duration `protobuf:"bytes,4,opt,name=retention_duration,json=retentionDuration,proto3" json:"retention_duration,omitempty"`
}
func (x *Bucket_RetentionPolicy) Reset() {
@@ -5908,6 +5955,13 @@ func (x *Bucket_RetentionPolicy) GetRetentionPeriod() int64 {
return 0
}
+func (x *Bucket_RetentionPolicy) GetRetentionDuration() *durationpb.Duration {
+ if x != nil {
+ return x.RetentionDuration
+ }
+ return nil
+}
+
// Properties of a bucket related to versioning.
// For more on Cloud Storage versioning, see
// https://cloud.google.com/storage/docs/object-versioning.
@@ -6085,10 +6139,10 @@ type Bucket_Autoclass struct {
// Enables Autoclass.
Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
- // Output only. Latest instant at which the `enabled` field was set to true after being
- // disabled/unconfigured or set to false after being enabled. If Autoclass
- // is enabled when the bucket is created, the toggle_time is set to the
- // bucket creation time.
+ // Output only. Latest instant at which the `enabled` field was set to true
+ // after being disabled/unconfigured or set to false after being enabled. If
+ // Autoclass is enabled when the bucket is created, the toggle_time is set
+ // to the bucket creation time.
ToggleTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=toggle_time,json=toggleTime,proto3" json:"toggle_time,omitempty"`
}
@@ -6148,8 +6202,9 @@ type Bucket_IamConfig_UniformBucketLevelAccess struct {
// If set, access checks only use bucket-level IAM policies or above.
Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
// The deadline time for changing
- // `iamConfig.uniformBucketLevelAccess.enabled` from `true` to `false`.
- // Mutable until the specified deadline is reached, but not afterward.
+ // `iam_config.uniform_bucket_level_access.enabled` from `true` to
+ // `false`. Mutable until the specified deadline is reached, but not
+ // afterward.
LockTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=lock_time,json=lockTime,proto3" json:"lock_time,omitempty"`
}
@@ -6496,6 +6551,8 @@ var file_google_storage_v2_storage_proto_rawDesc = []byte{
0x76, 0x31, 0x2f, 0x69, 0x61, 0x6d, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x69, 0x61, 0x6d, 0x2f,
0x76, 0x31, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69,
@@ -6661,7 +6718,7 @@ var file_google_storage_v2_storage_proto_rawDesc = []byte{
0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a,
0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65,
- 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xf4, 0x06, 0x0a, 0x14, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73,
+ 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xc3, 0x07, 0x0a, 0x14, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73,
0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40,
0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
@@ -6694,513 +6751,520 @@ var file_google_storage_v2_storage_proto_rawDesc = []byte{
0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f,
0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61,
0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0xa8, 0x02,
- 0x0a, 0x0c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x17,
- 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
- 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e,
- 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x7b, 0x0a, 0x14, 0x6f, 0x62, 0x6a, 0x65, 0x63,
- 0x74, 0x5f, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
- 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73,
- 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53,
- 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x4f, 0x62, 0x6a, 0x65,
- 0x63, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52,
- 0x13, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74,
- 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x62, 0x0a, 0x13, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72,
- 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x33, 0x0a, 0x13, 0x69,
- 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74,
- 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x11, 0x69, 0x66, 0x47, 0x65,
- 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01,
- 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x69, 0x66, 0x5f,
- 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68,
- 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65,
- 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0xc0, 0x04, 0x0a,
- 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65,
- 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e,
- 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01,
- 0x28, 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33,
- 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
- 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x11, 0x69,
- 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68,
- 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06,
- 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x14, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12,
- 0x3b, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03,
- 0x48, 0x02, 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x1b,
- 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28,
- 0x03, 0x48, 0x03, 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01,
- 0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63,
- 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73,
- 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
- 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f,
- 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61,
- 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65,
- 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x4d, 0x0a,
+ 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d,
+ 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65,
+ 0x63, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x52, 0x0f, 0x6f, 0x62, 0x6a,
+ 0x65, 0x63, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x1a, 0xa8, 0x02, 0x0a,
+ 0x0c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x17, 0x0a,
+ 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
+ 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x7b, 0x0a, 0x14, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74,
+ 0x5f, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
+ 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65,
+ 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63,
+ 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x13,
+ 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x73, 0x1a, 0x62, 0x0a, 0x13, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65,
+ 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x33, 0x0a, 0x13, 0x69, 0x66,
+ 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63,
+ 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x11, 0x69, 0x66, 0x47, 0x65, 0x6e,
+ 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x42,
0x16, 0x0a, 0x14, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x67,
- 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61,
- 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67,
+ 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x69, 0x66, 0x5f, 0x67,
0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42,
- 0x1e, 0x0a, 0x1c, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22,
- 0x3f, 0x0a, 0x1b, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62,
- 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20,
- 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64,
- 0x22, 0x1e, 0x0a, 0x1c, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61,
- 0x62, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x22, 0xca, 0x05, 0x0a, 0x11, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63,
- 0x6b, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74,
- 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03,
- 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18,
- 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x66, 0x66, 0x73, 0x65,
- 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18,
- 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x65, 0x61, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74,
- 0x12, 0x33, 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52,
- 0x11, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74,
- 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65,
- 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68,
- 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x14, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65,
- 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01,
- 0x01, 0x12, 0x3b, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65,
- 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x08, 0x20, 0x01,
- 0x28, 0x03, 0x48, 0x02, 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65,
- 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x42,
- 0x0a, 0x1b, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x09, 0x20,
- 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e,
- 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88,
- 0x01, 0x01, 0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a,
- 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61,
- 0x6d, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
- 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d,
- 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62,
- 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d,
- 0x73, 0x12, 0x3c, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x0c,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b,
- 0x48, 0x04, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42,
- 0x16, 0x0a, 0x14, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x67,
- 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61,
- 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67,
- 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42,
- 0x1e, 0x0a, 0x1c, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42,
- 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0x89, 0x05,
- 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12,
- 0x1b, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42,
- 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x0a,
- 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03,
- 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x13,
- 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61,
- 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x11, 0x69, 0x66, 0x47,
- 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01,
- 0x01, 0x12, 0x3a, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01,
- 0x28, 0x03, 0x48, 0x01, 0x52, 0x14, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a,
- 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02,
- 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x1b, 0x69, 0x66,
- 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
- 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x48,
- 0x03, 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x6d,
- 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f,
- 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x08,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
- 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f,
- 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61,
- 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x3c, 0x0a,
- 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
- 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x48, 0x04, 0x52, 0x08,
- 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f,
- 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61,
- 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42,
0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1e, 0x0a, 0x1c, 0x5f,
- 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0c, 0x0a, 0x0a, 0x5f,
- 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0xaf, 0x02, 0x0a, 0x12, 0x52, 0x65,
- 0x61, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x12, 0x4d, 0x0a, 0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x5f,
- 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f,
- 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43,
- 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0f,
- 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12,
- 0x4d, 0x0a, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73,
- 0x75, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
- 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62,
- 0x6a, 0x65, 0x63, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x52, 0x0f, 0x6f,
- 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x12, 0x44,
- 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
- 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
- 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52,
- 0x61, 0x6e, 0x67, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
- 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
- 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63,
- 0x74, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x8c, 0x04, 0x0a, 0x0f,
- 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12,
- 0x3a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
- 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41,
- 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70,
- 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x07, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x41,
- 0x63, 0x6c, 0x12, 0x33, 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48,
- 0x00, 0x52, 0x11, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
- 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x67, 0x65,
- 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74,
- 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x14, 0x69, 0x66, 0x47, 0x65,
- 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68,
- 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65,
- 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05,
- 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65,
- 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01,
- 0x12, 0x42, 0x0a, 0x1b, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18,
- 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67,
- 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63,
- 0x68, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73,
- 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x48, 0x04, 0x52, 0x0a, 0x6f, 0x62, 0x6a,
- 0x65, 0x63, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x69,
- 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74,
- 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a,
- 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x69,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0xc0, 0x04, 0x0a, 0x13,
+ 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74,
+ 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+ 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a,
+ 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a,
+ 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d,
+ 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x11, 0x69, 0x66,
+ 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88,
+ 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x14, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3b,
+ 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x48,
+ 0x02, 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x1b, 0x69,
0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6f,
- 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x22, 0xf8, 0x03, 0x0a, 0x12, 0x57,
- 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x12, 0x1d, 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64,
- 0x12, 0x50, 0x0a, 0x11, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74,
- 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f,
- 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
- 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70, 0x65, 0x63, 0x48,
- 0x00, 0x52, 0x0f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70,
- 0x65, 0x63, 0x12, 0x26, 0x0a, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73,
- 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x77,
- 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x4f, 0x0a, 0x10, 0x63, 0x68,
- 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
- 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75,
- 0x6d, 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x01, 0x52, 0x0f, 0x63, 0x68, 0x65, 0x63,
- 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4d, 0x0a, 0x10, 0x6f,
- 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x18,
- 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
- 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74,
- 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x52, 0x0f, 0x6f, 0x62, 0x6a, 0x65, 0x63,
- 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x69,
- 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08,
- 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x6d, 0x0a,
+ 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03,
+ 0x48, 0x03, 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12,
+ 0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74,
+ 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
+ 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72,
+ 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63,
+ 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x16,
+ 0x0a, 0x14, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65,
+ 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74,
+ 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65,
+ 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1e,
+ 0x0a, 0x1c, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x3f,
+ 0x0a, 0x1b, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c,
+ 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a,
+ 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x22,
+ 0x1e, 0x0a, 0x1c, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62,
+ 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+ 0xca, 0x05, 0x0a, 0x11, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b,
+ 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12,
+ 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74,
+ 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x65, 0x61, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12,
+ 0x33, 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x11,
+ 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63,
+ 0x68, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x14, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01,
+ 0x12, 0x3b, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x03, 0x48, 0x02, 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a,
+ 0x1b, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x09, 0x20, 0x01,
+ 0x28, 0x03, 0x48, 0x03, 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01,
+ 0x01, 0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65,
+ 0x63, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d,
+ 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d,
+ 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50,
+ 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a,
+ 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
+ 0x12, 0x3c, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x48,
+ 0x04, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x16,
+ 0x0a, 0x14, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65,
+ 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74,
+ 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65,
+ 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1e,
+ 0x0a, 0x1c, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0c,
+ 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0x89, 0x05, 0x0a,
+ 0x10, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1b,
+ 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
+ 0xe0, 0x41, 0x02, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x67,
+ 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52,
+ 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x13, 0x69,
+ 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74,
+ 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x11, 0x69, 0x66, 0x47, 0x65,
+ 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01,
+ 0x12, 0x3a, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x03, 0x48, 0x01, 0x52, 0x14, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17,
+ 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52,
+ 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x1b, 0x69, 0x66, 0x5f,
+ 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e,
+ 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03,
+ 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x6d, 0x0a,
0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x08, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62,
0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d,
0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x0f, 0x0a, 0x0d,
- 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x06, 0x0a,
- 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x87, 0x01, 0x0a, 0x13, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f,
- 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a,
- 0x0e, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0d, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74,
- 0x65, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
- 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x3c, 0x0a, 0x09,
+ 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x48, 0x04, 0x52, 0x08, 0x72,
+ 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x69,
+ 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74,
+ 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a,
+ 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x69,
+ 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72,
+ 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0xaf, 0x02, 0x0a, 0x12, 0x52, 0x65, 0x61,
+ 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
+ 0x4d, 0x0a, 0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x5f, 0x64,
+ 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68,
+ 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x63,
+ 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4d,
+ 0x0a, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75,
+ 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a,
- 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42,
- 0x0e, 0x0a, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22,
- 0xc9, 0x03, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x12, 0x1d,
- 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
- 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x06, 0x70,
- 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69,
- 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69,
- 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
- 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65,
- 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x18, 0x04,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x12,
- 0x3c, 0x0a, 0x1a, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c,
- 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20,
- 0x01, 0x28, 0x08, 0x52, 0x18, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x72, 0x61, 0x69,
- 0x6c, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x12, 0x16, 0x0a,
- 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70,
- 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
- 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
- 0x73, 0x12, 0x3c, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x08,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b,
- 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x12,
- 0x2f, 0x0a, 0x13, 0x6c, 0x65, 0x78, 0x69, 0x63, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63,
- 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6c, 0x65,
- 0x78, 0x69, 0x63, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x53, 0x74, 0x61, 0x72, 0x74,
- 0x12, 0x2b, 0x0a, 0x11, 0x6c, 0x65, 0x78, 0x69, 0x63, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69,
- 0x63, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6c, 0x65, 0x78,
- 0x69, 0x63, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x45, 0x6e, 0x64, 0x42, 0x0c, 0x0a,
- 0x0a, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0xaa, 0x01, 0x0a, 0x17,
- 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61,
- 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
- 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d,
- 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
- 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63,
- 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x8c, 0x01, 0x0a, 0x18, 0x51, 0x75, 0x65,
- 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x0e, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74,
- 0x65, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52,
- 0x0d, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x37,
- 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
+ 0x65, 0x63, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x52, 0x0f, 0x6f, 0x62,
+ 0x6a, 0x65, 0x63, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x12, 0x44, 0x0a,
+ 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
+ 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
+ 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x61,
+ 0x6e, 0x67, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74,
+ 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x8c, 0x04, 0x0a, 0x0f, 0x57,
+ 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x3a,
+ 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
- 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x08, 0x72,
- 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65,
- 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xc4, 0x0d, 0x0a, 0x14, 0x52, 0x65, 0x77, 0x72,
- 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x12, 0x31, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
- 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0,
- 0x41, 0x05, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e,
- 0x61, 0x6d, 0x65, 0x12, 0x57, 0x0a, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x42,
- 0x28, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x05, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x73, 0x74, 0x6f, 0x72,
- 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
- 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x11, 0x64, 0x65, 0x73, 0x74, 0x69,
- 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x56, 0x0a, 0x13,
- 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x6d, 0x73, 0x5f,
- 0x6b, 0x65, 0x79, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21,
- 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
- 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
- 0x79, 0x52, 0x11, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x6d,
- 0x73, 0x4b, 0x65, 0x79, 0x12, 0x3b, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
- 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62,
- 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x62, 0x75, 0x63, 0x6b,
- 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x73,
- 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x73,
- 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01,
- 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f,
- 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f,
- 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03,
- 0x52, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x6f,
- 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x77, 0x72, 0x69,
- 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x3c, 0x0a, 0x1a, 0x64, 0x65, 0x73, 0x74, 0x69,
- 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65,
- 0x64, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x64, 0x65, 0x73,
- 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e,
- 0x65, 0x64, 0x41, 0x63, 0x6c, 0x12, 0x33, 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65,
- 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01,
- 0x28, 0x03, 0x48, 0x00, 0x52, 0x11, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x17, 0x69, 0x66,
- 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f,
- 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x14, 0x69,
- 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61,
- 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74,
- 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63,
- 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74,
- 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68,
- 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x1b, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65,
- 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74,
- 0x63, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65,
- 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d,
- 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x1a, 0x69, 0x66, 0x5f, 0x73, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
- 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x48, 0x04, 0x52, 0x17, 0x69,
- 0x66, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x1e, 0x69, 0x66, 0x5f,
- 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x0c, 0x20, 0x01, 0x28,
- 0x03, 0x48, 0x05, 0x52, 0x1a, 0x69, 0x66, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x65, 0x6e,
+ 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02,
+ 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72,
+ 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x63,
+ 0x6c, 0x12, 0x33, 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00,
+ 0x52, 0x11, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61,
+ 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e,
+ 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63,
+ 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x14, 0x69, 0x66, 0x47, 0x65, 0x6e,
0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88,
- 0x01, 0x01, 0x12, 0x48, 0x0a, 0x1e, 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f,
- 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d,
- 0x61, 0x74, 0x63, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x1b, 0x69, 0x66,
- 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x4f, 0x0a, 0x22,
- 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65,
- 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74,
- 0x63, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x48, 0x07, 0x52, 0x1e, 0x69, 0x66, 0x53, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a,
- 0x1c, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69,
- 0x74, 0x74, 0x65, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x18, 0x0f, 0x20,
- 0x01, 0x28, 0x03, 0x52, 0x18, 0x6d, 0x61, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65, 0x77,
- 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x50, 0x65, 0x72, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x47, 0x0a,
- 0x20, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x63,
- 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68,
- 0x6d, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1d, 0x63, 0x6f, 0x70, 0x79, 0x53, 0x6f, 0x75,
- 0x72, 0x63, 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x67,
- 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x46, 0x0a, 0x20, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x73,
+ 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e,
+ 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e,
+ 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12,
+ 0x42, 0x0a, 0x1b, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65,
+ 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68,
+ 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x69,
+ 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x48, 0x04, 0x52, 0x0a, 0x6f, 0x62, 0x6a, 0x65,
+ 0x63, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x69, 0x66,
+ 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63,
+ 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a,
+ 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x69, 0x66,
+ 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6f, 0x62,
+ 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x22, 0xf8, 0x03, 0x0a, 0x12, 0x57, 0x72,
+ 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x12, 0x1d, 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x12,
+ 0x50, 0x0a, 0x11, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f,
+ 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x57,
+ 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00,
+ 0x52, 0x0f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70, 0x65,
+ 0x63, 0x12, 0x26, 0x0a, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65,
+ 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x77, 0x72,
+ 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x4f, 0x0a, 0x10, 0x63, 0x68, 0x65,
+ 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d,
+ 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x01, 0x52, 0x0f, 0x63, 0x68, 0x65, 0x63, 0x6b,
+ 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4d, 0x0a, 0x10, 0x6f, 0x62,
+ 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
+ 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43,
+ 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x52, 0x0f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74,
+ 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x69, 0x6e,
+ 0x69, 0x73, 0x68, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0b, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x6d, 0x0a, 0x1c,
+ 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a,
+ 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
+ 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x66,
+ 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x06, 0x0a, 0x04,
+ 0x64, 0x61, 0x74, 0x61, 0x22, 0x87, 0x01, 0x0a, 0x13, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62,
+ 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x0e,
+ 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0d, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65,
+ 0x64, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65,
+ 0x63, 0x74, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0e,
+ 0x0a, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xd3,
+ 0x03, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x12, 0x1d, 0x73,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
+ 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x06, 0x70, 0x61,
+ 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a,
+ 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
+ 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x12, 0x3c,
+ 0x0a, 0x1a, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x69,
+ 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x18, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6c,
+ 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06,
+ 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72,
+ 0x65, 0x66, 0x69, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73,
+ 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73,
+ 0x12, 0x3c, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x48,
+ 0x00, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x34,
+ 0x0a, 0x13, 0x6c, 0x65, 0x78, 0x69, 0x63, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x5f,
+ 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01,
+ 0x52, 0x12, 0x6c, 0x65, 0x78, 0x69, 0x63, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x53,
+ 0x74, 0x61, 0x72, 0x74, 0x12, 0x30, 0x0a, 0x11, 0x6c, 0x65, 0x78, 0x69, 0x63, 0x6f, 0x67, 0x72,
+ 0x61, 0x70, 0x68, 0x69, 0x63, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42,
+ 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x6c, 0x65, 0x78, 0x69, 0x63, 0x6f, 0x67, 0x72, 0x61, 0x70,
+ 0x68, 0x69, 0x63, 0x45, 0x6e, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f,
+ 0x6d, 0x61, 0x73, 0x6b, 0x22, 0xaa, 0x01, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x72,
+ 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x12, 0x20, 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64,
+ 0x49, 0x64, 0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a,
+ 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61,
+ 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d,
+ 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62,
+ 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d,
+ 0x73, 0x22, 0x8c, 0x01, 0x0a, 0x18, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65,
+ 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27,
+ 0x0a, 0x0e, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0d, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73,
+ 0x74, 0x65, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62,
+ 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x42, 0x0e, 0x0a, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x22, 0x93, 0x0e, 0x0a, 0x14, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65,
+ 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x10, 0x64, 0x65, 0x73,
+ 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x18, 0x20,
+ 0x01, 0x28, 0x09, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x05, 0x52, 0x0f, 0x64, 0x65, 0x73,
+ 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x57, 0x0a, 0x12,
+ 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x75, 0x63, 0x6b,
+ 0x65, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x05,
+ 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x63, 0x6b,
+ 0x65, 0x74, 0x52, 0x11, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42,
+ 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x56, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x1b, 0x20, 0x01,
+ 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d,
+ 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
+ 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x11, 0x64, 0x65, 0x73, 0x74,
+ 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x3b, 0x0a,
+ 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0b, 0x64,
+ 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75,
+ 0x63, 0x6b, 0x65, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6f,
+ 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
+ 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2b,
+ 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x72,
+ 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
+ 0x12, 0x3c, 0x0a, 0x1a, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x1c,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x63, 0x6c, 0x12, 0x33,
+ 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x11, 0x69,
+ 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68,
+ 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x14, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12,
+ 0x3b, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03,
+ 0x48, 0x02, 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x1b,
+ 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28,
+ 0x03, 0x48, 0x03, 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01,
+ 0x12, 0x40, 0x0a, 0x1a, 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x65,
+ 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x0b,
+ 0x20, 0x01, 0x28, 0x03, 0x48, 0x04, 0x52, 0x17, 0x69, 0x66, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88,
+ 0x01, 0x01, 0x12, 0x47, 0x0a, 0x1e, 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f,
+ 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d,
+ 0x61, 0x74, 0x63, 0x68, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x48, 0x05, 0x52, 0x1a, 0x69, 0x66,
+ 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x48, 0x0a, 0x1e, 0x69,
+ 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e,
+ 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x0d, 0x20,
+ 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x1b, 0x69, 0x66, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d,
+ 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74,
+ 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x4f, 0x0a, 0x22, 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28,
+ 0x03, 0x48, 0x07, 0x52, 0x1e, 0x69, 0x66, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x65, 0x74,
+ 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61,
+ 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x1c, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x79,
+ 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x5f, 0x70, 0x65,
+ 0x72, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x18, 0x6d, 0x61,
+ 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x50,
+ 0x65, 0x72, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x47, 0x0a, 0x20, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x73,
0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e,
- 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0c,
- 0x52, 0x1c, 0x63, 0x6f, 0x70, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x63, 0x72,
- 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x53,
- 0x0a, 0x27, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x65, 0x6e,
- 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x68, 0x61,
- 0x32, 0x35, 0x36, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0c, 0x52,
- 0x22, 0x63, 0x6f, 0x70, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79,
- 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x42, 0x79,
- 0x74, 0x65, 0x73, 0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62,
+ 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x1d, 0x63, 0x6f, 0x70, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x63, 0x72,
+ 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12,
+ 0x46, 0x0a, 0x20, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x65,
+ 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x62, 0x79,
+ 0x74, 0x65, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x1c, 0x63, 0x6f, 0x70, 0x79, 0x53,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b,
+ 0x65, 0x79, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x53, 0x0a, 0x27, 0x63, 0x6f, 0x70, 0x79, 0x5f,
+ 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x5f, 0x62, 0x79, 0x74,
+ 0x65, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x22, 0x63, 0x6f, 0x70, 0x79, 0x53, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65,
+ 0x79, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x6d, 0x0a, 0x1c,
+ 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x13, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a,
+ 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
+ 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x4d, 0x0a, 0x10, 0x6f,
+ 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x18,
+ 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74,
+ 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x52, 0x0f, 0x6f, 0x62, 0x6a, 0x65, 0x63,
+ 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x69,
+ 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74,
+ 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a,
+ 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x69,
+ 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x69,
+ 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x21, 0x0a, 0x1f, 0x5f, 0x69, 0x66,
+ 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x21, 0x0a, 0x1f,
+ 0x5f, 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67,
+ 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42,
+ 0x25, 0x0a, 0x23, 0x5f, 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65,
+ 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74,
+ 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0xd6, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x77, 0x72, 0x69,
+ 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x74, 0x6f,
+ 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74,
+ 0x74, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c,
+ 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x12,
+ 0x12, 0x0a, 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x64,
+ 0x6f, 0x6e, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74,
+ 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x77, 0x72,
+ 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x35, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f,
+ 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22,
+ 0xaf, 0x02, 0x0a, 0x1a, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62,
+ 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x53,
+ 0x0a, 0x11, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73,
+ 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x57, 0x72,
+ 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0,
+ 0x41, 0x02, 0x52, 0x0f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53,
+ 0x70, 0x65, 0x63, 0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62,
0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72,
- 0x61, 0x6d, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f,
0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f,
0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61,
- 0x6d, 0x73, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69,
- 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74,
- 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65,
- 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74,
- 0x63, 0x68, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65,
- 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74,
- 0x63, 0x68, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
- 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63,
- 0x68, 0x42, 0x21, 0x0a, 0x1f, 0x5f, 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f,
- 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d,
- 0x61, 0x74, 0x63, 0x68, 0x42, 0x21, 0x0a, 0x1f, 0x5f, 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72,
- 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x25, 0x0a, 0x23, 0x5f, 0x69, 0x66, 0x5f, 0x73,
- 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0xd6,
- 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65,
- 0x73, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x03, 0x52, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65, 0x77,
- 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74,
- 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6f, 0x62, 0x6a,
- 0x65, 0x63, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72,
- 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
- 0x12, 0x35, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72,
- 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x08, 0x72,
- 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xe0, 0x01, 0x0a, 0x1a, 0x53, 0x74, 0x61, 0x72,
- 0x74, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x11, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f,
- 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
- 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63,
- 0x74, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x77, 0x72, 0x69, 0x74,
- 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x6d, 0x0a, 0x1c, 0x63,
- 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
- 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65,
- 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52,
- 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x3a, 0x0a, 0x1b, 0x53, 0x74,
- 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74,
- 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x70, 0x6c,
- 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x70,
- 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x22, 0x87, 0x05, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74,
- 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36,
- 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
+ 0x6d, 0x73, 0x12, 0x4d, 0x0a, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x68, 0x65,
+ 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32,
+ 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73,
+ 0x52, 0x0f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d,
+ 0x73, 0x22, 0x3a, 0x0a, 0x1b, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61,
+ 0x62, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x22, 0x87, 0x05,
+ 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74,
+ 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x33, 0x0a,
+ 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d,
+ 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x11, 0x69, 0x66,
+ 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88,
+ 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x14, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3b,
+ 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48,
+ 0x02, 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x1b, 0x69,
+ 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03,
+ 0x48, 0x03, 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12,
+ 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x63,
+ 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69,
+ 0x6e, 0x65, 0x64, 0x41, 0x63, 0x6c, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
+ 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69,
+ 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d,
+ 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
- 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06,
- 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x33, 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e,
- 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x11, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x17, 0x69,
- 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74,
- 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x14,
- 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d,
- 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65,
- 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74,
- 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65,
- 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63,
- 0x68, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x1b, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67,
- 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61,
- 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x18, 0x69, 0x66, 0x4d,
- 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74,
- 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x64,
- 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x0d, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x63, 0x6c, 0x12,
- 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x07,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b,
- 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73,
- 0x6b, 0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65,
- 0x63, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d,
- 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d,
- 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50,
- 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a,
- 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
- 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f,
- 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d,
- 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61,
- 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68,
- 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65,
- 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68,
- 0x22, 0x69, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63,
- 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x07,
- 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0,
- 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
- 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65,
- 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x9e, 0x01, 0x0a, 0x14,
- 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63,
- 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61,
- 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
- 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a,
- 0x65, 0x63, 0x74, 0x12, 0x37, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61,
- 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
- 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x81, 0x01, 0x0a,
- 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
- 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
- 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6d, 0x61,
- 0x63, 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65,
- 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74,
- 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c,
- 0x52, 0x0e, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x42, 0x79, 0x74, 0x65, 0x73,
- 0x22, 0x87, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b,
- 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x61, 0x63, 0x63,
- 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
- 0x02, 0x52, 0x08, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x4d, 0x0a, 0x07, 0x70,
- 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41,
+ 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f,
+ 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x69, 0x66, 0x5f, 0x67,
+ 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42,
+ 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f,
+ 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x69, 0x66, 0x5f, 0x6d,
+ 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f,
+ 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x69, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x53, 0x65,
+ 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c,
+ 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67,
+ 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
+ 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65,
+ 0x63, 0x74, 0x22, 0x9e, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x6d, 0x61,
+ 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x07, 0x70,
+ 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41,
0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75,
0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63,
- 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x84, 0x01, 0x0a, 0x11, 0x47,
- 0x65, 0x74, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x37, 0x0a, 0x15, 0x73, 0x65,
+ 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6d,
+ 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13,
+ 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d,
+ 0x61, 0x69, 0x6c, 0x22, 0x81, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x6d,
+ 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a,
+ 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
+ 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64,
+ 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x28, 0x0a,
+ 0x10, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x62, 0x79, 0x74, 0x65,
+ 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b,
+ 0x65, 0x79, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65,
+ 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x20, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73,
0x49, 0x64, 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20,
@@ -7208,890 +7272,897 @@ var file_google_storage_v2_storage_proto_rawDesc = []byte{
0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
- 0x74, 0x22, 0x80, 0x02, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65,
- 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f,
- 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa,
+ 0x74, 0x22, 0x84, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73,
+ 0x73, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
+ 0x08, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f,
+ 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa,
0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52,
- 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65,
- 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67,
- 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f,
- 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54,
- 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f,
- 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f,
- 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x68, 0x6f, 0x77,
- 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x05, 0x20,
- 0x01, 0x28, 0x08, 0x52, 0x0f, 0x73, 0x68, 0x6f, 0x77, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64,
- 0x4b, 0x65, 0x79, 0x73, 0x22, 0x7f, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6d, 0x61, 0x63,
- 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x09,
- 0x68, 0x6d, 0x61, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
- 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
- 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64,
- 0x61, 0x74, 0x61, 0x52, 0x08, 0x68, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x26, 0x0a,
- 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65,
- 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x97, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
- 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42,
- 0x0a, 0x08, 0x68, 0x6d, 0x61, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
- 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61,
- 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x68, 0x6d, 0x61, 0x63, 0x4b,
- 0x65, 0x79, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73,
- 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d,
- 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22,
- 0xbf, 0x01, 0x0a, 0x19, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x31, 0x0a,
- 0x14, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6c, 0x67, 0x6f,
- 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x65, 0x6e, 0x63,
- 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d,
- 0x12, 0x30, 0x0a, 0x14, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b,
- 0x65, 0x79, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12,
- 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x42, 0x79, 0x74,
- 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x1b, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e,
- 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x5f, 0x62, 0x79, 0x74, 0x65,
- 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x18, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74,
- 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x42, 0x79, 0x74, 0x65,
- 0x73, 0x22, 0xca, 0x05, 0x0a, 0x10, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e,
- 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x22, 0xb5, 0x05, 0x0a, 0x06, 0x56, 0x61, 0x6c, 0x75, 0x65,
- 0x73, 0x12, 0x16, 0x0a, 0x12, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50,
- 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x14, 0x4d, 0x41, 0x58,
- 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x43, 0x48, 0x55, 0x4e, 0x4b, 0x5f, 0x42, 0x59, 0x54, 0x45,
- 0x53, 0x10, 0x80, 0x80, 0x80, 0x01, 0x12, 0x1c, 0x0a, 0x15, 0x4d, 0x41, 0x58, 0x5f, 0x57, 0x52,
- 0x49, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x55, 0x4e, 0x4b, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10,
- 0x80, 0x80, 0x80, 0x01, 0x12, 0x19, 0x0a, 0x12, 0x4d, 0x41, 0x58, 0x5f, 0x4f, 0x42, 0x4a, 0x45,
- 0x43, 0x54, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x5f, 0x4d, 0x42, 0x10, 0x80, 0x80, 0xc0, 0x02, 0x12,
- 0x29, 0x0a, 0x24, 0x4d, 0x41, 0x58, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x4d, 0x45,
- 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x4e, 0x41, 0x4d,
- 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x80, 0x08, 0x12, 0x2a, 0x0a, 0x25, 0x4d, 0x41,
- 0x58, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54,
- 0x41, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x42, 0x59,
- 0x54, 0x45, 0x53, 0x10, 0x80, 0x20, 0x12, 0x29, 0x0a, 0x24, 0x4d, 0x41, 0x58, 0x5f, 0x43, 0x55,
- 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x4f,
- 0x54, 0x41, 0x4c, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x80,
- 0x40, 0x12, 0x2a, 0x0a, 0x24, 0x4d, 0x41, 0x58, 0x5f, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x5f,
- 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x4f, 0x54, 0x41, 0x4c, 0x5f, 0x53,
- 0x49, 0x5a, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x80, 0xa0, 0x01, 0x12, 0x27, 0x0a,
- 0x23, 0x4d, 0x41, 0x58, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f,
- 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x42, 0x55,
- 0x43, 0x4b, 0x45, 0x54, 0x10, 0x64, 0x12, 0x22, 0x0a, 0x1e, 0x4d, 0x41, 0x58, 0x5f, 0x4c, 0x49,
- 0x46, 0x45, 0x43, 0x59, 0x43, 0x4c, 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x5f, 0x50, 0x45,
- 0x52, 0x5f, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x10, 0x64, 0x12, 0x26, 0x0a, 0x22, 0x4d, 0x41,
- 0x58, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43,
- 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x53,
- 0x10, 0x05, 0x12, 0x31, 0x0a, 0x2c, 0x4d, 0x41, 0x58, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49,
- 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x41, 0x54,
- 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x4c, 0x45, 0x4e, 0x47,
- 0x54, 0x48, 0x10, 0x80, 0x02, 0x12, 0x33, 0x0a, 0x2e, 0x4d, 0x41, 0x58, 0x5f, 0x4e, 0x4f, 0x54,
- 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d,
- 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45,
- 0x5f, 0x4c, 0x45, 0x4e, 0x47, 0x54, 0x48, 0x10, 0x80, 0x08, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x41,
- 0x58, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x53, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x49, 0x45, 0x53,
- 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x40, 0x12, 0x1f, 0x0a, 0x1b, 0x4d, 0x41, 0x58, 0x5f,
- 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x53, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45,
- 0x5f, 0x4c, 0x45, 0x4e, 0x47, 0x54, 0x48, 0x10, 0x3f, 0x12, 0x1f, 0x0a, 0x1a, 0x4d, 0x41, 0x58,
- 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x53, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x56, 0x41, 0x4c, 0x55,
- 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x80, 0x01, 0x12, 0x2e, 0x0a, 0x29, 0x4d, 0x41,
- 0x58, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x49, 0x44, 0x53, 0x5f, 0x50, 0x45, 0x52,
- 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x53, 0x5f,
- 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0xe8, 0x07, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x50,
- 0x4c, 0x49, 0x54, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x56, 0x41,
- 0x4c, 0x49, 0x44, 0x5f, 0x44, 0x41, 0x59, 0x53, 0x10, 0x0e, 0x1a, 0x02, 0x10, 0x01, 0x22, 0xa6,
- 0x1e, 0x0a, 0x06, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
- 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x04, 0x6e, 0x61,
- 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x62, 0x75, 0x63, 0x6b,
- 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x1d, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a,
+ 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x80, 0x02, 0x0a, 0x13, 0x4c, 0x69, 0x73,
+ 0x74, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64,
+ 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50,
+ 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12,
+ 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x32, 0x0a, 0x15, 0x73,
+ 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65,
+ 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76,
+ 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12,
+ 0x2a, 0x0a, 0x11, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f,
+ 0x6b, 0x65, 0x79, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x73, 0x68, 0x6f, 0x77,
+ 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x7f, 0x0a, 0x14, 0x4c,
+ 0x69, 0x73, 0x74, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x09, 0x68, 0x6d, 0x61, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x73,
+ 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6d, 0x61, 0x63, 0x4b,
+ 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x68, 0x6d, 0x61, 0x63,
+ 0x4b, 0x65, 0x79, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67,
+ 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e,
+ 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x97, 0x01, 0x0a,
+ 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x08, 0x68, 0x6d, 0x61, 0x63, 0x5f, 0x6b, 0x65,
+ 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6d, 0x61, 0x63,
+ 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02,
+ 0x52, 0x07, 0x68, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xbf, 0x01, 0x0a, 0x19, 0x43, 0x6f, 0x6d, 0x6d, 0x6f,
+ 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61,
+ 0x72, 0x61, 0x6d, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x13, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c,
+ 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x30, 0x0a, 0x14, 0x65, 0x6e, 0x63, 0x72, 0x79,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x4b, 0x65, 0x79, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x1b, 0x65, 0x6e, 0x63,
+ 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x32,
+ 0x35, 0x36, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x18,
+ 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x53, 0x68, 0x61,
+ 0x32, 0x35, 0x36, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0xca, 0x05, 0x0a, 0x10, 0x53, 0x65, 0x72,
+ 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x22, 0xb5, 0x05,
+ 0x0a, 0x06, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x12, 0x56, 0x41, 0x4c, 0x55,
+ 0x45, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00,
+ 0x12, 0x1b, 0x0a, 0x14, 0x4d, 0x41, 0x58, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x43, 0x48, 0x55,
+ 0x4e, 0x4b, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x80, 0x80, 0x80, 0x01, 0x12, 0x1c, 0x0a,
+ 0x15, 0x4d, 0x41, 0x58, 0x5f, 0x57, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x55, 0x4e, 0x4b,
+ 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x80, 0x80, 0x80, 0x01, 0x12, 0x19, 0x0a, 0x12, 0x4d,
+ 0x41, 0x58, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x5f, 0x4d,
+ 0x42, 0x10, 0x80, 0x80, 0xc0, 0x02, 0x12, 0x29, 0x0a, 0x24, 0x4d, 0x41, 0x58, 0x5f, 0x43, 0x55,
+ 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, 0x49,
+ 0x45, 0x4c, 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x80,
+ 0x08, 0x12, 0x2a, 0x0a, 0x25, 0x4d, 0x41, 0x58, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f,
+ 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x56,
+ 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x80, 0x20, 0x12, 0x29, 0x0a,
+ 0x24, 0x4d, 0x41, 0x58, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x4d, 0x45, 0x54, 0x41,
+ 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x4f, 0x54, 0x41, 0x4c, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x5f,
+ 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x80, 0x40, 0x12, 0x2a, 0x0a, 0x24, 0x4d, 0x41, 0x58, 0x5f,
+ 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f,
+ 0x54, 0x4f, 0x54, 0x41, 0x4c, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53,
+ 0x10, 0x80, 0xa0, 0x01, 0x12, 0x27, 0x0a, 0x23, 0x4d, 0x41, 0x58, 0x5f, 0x4e, 0x4f, 0x54, 0x49,
+ 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x53,
+ 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x10, 0x64, 0x12, 0x22, 0x0a,
+ 0x1e, 0x4d, 0x41, 0x58, 0x5f, 0x4c, 0x49, 0x46, 0x45, 0x43, 0x59, 0x43, 0x4c, 0x45, 0x5f, 0x52,
+ 0x55, 0x4c, 0x45, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x10,
+ 0x64, 0x12, 0x26, 0x0a, 0x22, 0x4d, 0x41, 0x58, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43,
+ 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x41, 0x54, 0x54,
+ 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x53, 0x10, 0x05, 0x12, 0x31, 0x0a, 0x2c, 0x4d, 0x41, 0x58,
+ 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x55,
+ 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, 0x4b,
+ 0x45, 0x59, 0x5f, 0x4c, 0x45, 0x4e, 0x47, 0x54, 0x48, 0x10, 0x80, 0x02, 0x12, 0x33, 0x0a, 0x2e,
+ 0x4d, 0x41, 0x58, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e,
+ 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54,
+ 0x45, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x4c, 0x45, 0x4e, 0x47, 0x54, 0x48, 0x10, 0x80,
+ 0x08, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x41, 0x58, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x53, 0x5f,
+ 0x45, 0x4e, 0x54, 0x52, 0x49, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x40, 0x12,
+ 0x1f, 0x0a, 0x1b, 0x4d, 0x41, 0x58, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x53, 0x5f, 0x4b, 0x45,
+ 0x59, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x4c, 0x45, 0x4e, 0x47, 0x54, 0x48, 0x10, 0x3f,
+ 0x12, 0x1f, 0x0a, 0x1a, 0x4d, 0x41, 0x58, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x53, 0x5f, 0x4b,
+ 0x45, 0x59, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x80,
+ 0x01, 0x12, 0x2e, 0x0a, 0x29, 0x4d, 0x41, 0x58, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f,
+ 0x49, 0x44, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x4f,
+ 0x42, 0x4a, 0x45, 0x43, 0x54, 0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0xe8,
+ 0x07, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x50, 0x4c, 0x49, 0x54, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e,
+ 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x44, 0x41, 0x59, 0x53, 0x10,
+ 0x0e, 0x1a, 0x02, 0x10, 0x01, 0x22, 0xf0, 0x1e, 0x0a, 0x06, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74,
+ 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
+ 0xe0, 0x41, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x62, 0x75, 0x63,
+ 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
+ 0x03, 0x52, 0x08, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x65,
+ 0x74, 0x61, 0x67, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12,
+ 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
+ 0x42, 0x33, 0xe0, 0x41, 0x05, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72,
+ 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72,
+ 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2b,
+ 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x6d, 0x65, 0x74,
+ 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x08, 0x6c,
+ 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
+ 0x41, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0d,
+ 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
+ 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x72,
+ 0x70, 0x6f, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x70, 0x6f, 0x12, 0x38, 0x0a,
+ 0x03, 0x61, 0x63, 0x6c, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42,
+ 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72,
+ 0x6f, 0x6c, 0x52, 0x03, 0x61, 0x63, 0x6c, 0x12, 0x54, 0x0a, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75,
+ 0x6c, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x09, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63,
+ 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x10, 0x64, 0x65, 0x66,
+ 0x61, 0x75, 0x6c, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x6c, 0x12, 0x41, 0x0a,
+ 0x09, 0x6c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
+ 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x69, 0x66, 0x65,
+ 0x63, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x09, 0x6c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65,
+ 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
+ 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
+ 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69,
+ 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x04, 0x63, 0x6f, 0x72, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
+ 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x43, 0x6f, 0x72, 0x73,
+ 0x52, 0x04, 0x63, 0x6f, 0x72, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
+ 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
+ 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x64, 0x65, 0x66, 0x61,
+ 0x75, 0x6c, 0x74, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64, 0x5f,
+ 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x64, 0x65, 0x66, 0x61,
+ 0x75, 0x6c, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x73, 0x65, 0x64, 0x48, 0x6f, 0x6c,
+ 0x64, 0x12, 0x3d, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
+ 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x61, 0x62,
+ 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73,
+ 0x12, 0x3b, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
+ 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x57, 0x65, 0x62,
+ 0x73, 0x69, 0x74, 0x65, 0x52, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 0x44, 0x0a,
+ 0x0a, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x11, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
+ 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x56, 0x65, 0x72,
+ 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x0a, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
+ 0x69, 0x6e, 0x67, 0x12, 0x3b, 0x0a, 0x07, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x12,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
+ 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e,
+ 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67,
+ 0x12, 0x33, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
+ 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05,
+ 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75,
+ 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52,
+ 0x0a, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x07, 0x62,
+ 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32,
+ 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x52,
+ 0x07, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x54, 0x0a, 0x10, 0x72, 0x65, 0x74, 0x65,
+ 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x16, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x52, 0x65,
+ 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0f, 0x72,
+ 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x42,
+ 0x0a, 0x0a, 0x69, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x17, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x49, 0x61,
+ 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x69, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f,
+ 0x70, 0x7a, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73,
+ 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, 0x73, 0x12, 0x67, 0x0a, 0x17, 0x63, 0x75, 0x73, 0x74, 0x6f,
+ 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63,
+ 0x6b, 0x65, 0x74, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d,
+ 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x15, 0x63, 0x75, 0x73, 0x74, 0x6f,
+ 0x6d, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x12, 0x41, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x1c, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x41,
+ 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x6c,
+ 0x61, 0x73, 0x73, 0x1a, 0x30, 0x0a, 0x07, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x25,
+ 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x79, 0x73,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65,
+ 0x72, 0x50, 0x61, 0x79, 0x73, 0x1a, 0x87, 0x01, 0x0a, 0x04, 0x43, 0x6f, 0x72, 0x73, 0x12, 0x16,
+ 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06,
+ 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64,
+ 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x27,
+ 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65,
+ 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x61,
+ 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x41, 0x67, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x1a,
+ 0x5c, 0x0a, 0x0a, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a,
+ 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f,
+ 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
+ 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x0d,
+ 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x1a, 0xb1, 0x02,
+ 0x0a, 0x09, 0x49, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x7b, 0x0a, 0x1b, 0x75,
+ 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6c, 0x65,
+ 0x76, 0x65, 0x6c, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
+ 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x49, 0x61, 0x6d, 0x43,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x75, 0x63,
+ 0x6b, 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x18,
+ 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x65, 0x76,
+ 0x65, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x70, 0x75, 0x62, 0x6c,
+ 0x69, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e,
+ 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x70, 0x75, 0x62, 0x6c,
+ 0x69, 0x63, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69,
+ 0x6f, 0x6e, 0x1a, 0x6d, 0x0a, 0x18, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x75, 0x63,
+ 0x6b, 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x18,
+ 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x6b,
+ 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
+ 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d,
+ 0x65, 0x1a, 0xdb, 0x07, 0x0a, 0x09, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x12,
+ 0x3c, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
+ 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63,
+ 0x6c, 0x65, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x1a, 0x8f, 0x07,
+ 0x0a, 0x04, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x47, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65,
+ 0x74, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x2e, 0x52, 0x75, 0x6c, 0x65,
+ 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12,
+ 0x50, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x69,
+ 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6e,
+ 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f,
+ 0x6e, 0x1a, 0x41, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74,
+ 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12,
+ 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43,
+ 0x6c, 0x61, 0x73, 0x73, 0x1a, 0xa8, 0x05, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x07, 0x61, 0x67, 0x65, 0x44, 0x61, 0x79, 0x73, 0x88,
+ 0x01, 0x01, 0x12, 0x38, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x65,
+ 0x66, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x63,
+ 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, 0x1c, 0x0a, 0x07,
+ 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52,
+ 0x06, 0x69, 0x73, 0x4c, 0x69, 0x76, 0x65, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x12, 0x6e, 0x75,
+ 0x6d, 0x5f, 0x6e, 0x65, 0x77, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x10, 0x6e, 0x75, 0x6d, 0x4e, 0x65, 0x77,
+ 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a,
+ 0x15, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
+ 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x6d, 0x61,
+ 0x74, 0x63, 0x68, 0x65, 0x73, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73,
+ 0x73, 0x12, 0x38, 0x0a, 0x16, 0x64, 0x61, 0x79, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f,
+ 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x05, 0x48, 0x03, 0x52, 0x13, 0x64, 0x61, 0x79, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x43, 0x75,
+ 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x12, 0x63,
+ 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72,
+ 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x10, 0x63, 0x75, 0x73, 0x74,
+ 0x6f, 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, 0x40, 0x0a, 0x1a,
+ 0x64, 0x61, 0x79, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x75,
+ 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05,
+ 0x48, 0x04, 0x52, 0x17, 0x64, 0x61, 0x79, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4e, 0x6f, 0x6e,
+ 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x47,
+ 0x0a, 0x16, 0x6e, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d,
+ 0x65, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x74,
+ 0x65, 0x52, 0x14, 0x6e, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d,
+ 0x65, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68,
+ 0x65, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52,
+ 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x25,
+ 0x0a, 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78,
+ 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x53,
+ 0x75, 0x66, 0x66, 0x69, 0x78, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x61,
+ 0x79, 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x42, 0x15,
+ 0x0a, 0x13, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x6e, 0x65, 0x77, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72,
+ 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x5f, 0x73,
+ 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x69, 0x6d, 0x65,
+ 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f,
+ 0x6e, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x1a,
+ 0x54, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x6f,
+ 0x67, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
+ 0x6c, 0x6f, 0x67, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x6f, 0x67,
+ 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x6f, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50,
+ 0x72, 0x65, 0x66, 0x69, 0x78, 0x1a, 0x80, 0x02, 0x0a, 0x0f, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74,
+ 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x41, 0x0a, 0x0e, 0x65, 0x66, 0x66,
+ 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x65,
+ 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09,
+ 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x08, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x10, 0x72, 0x65, 0x74,
+ 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0f, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e,
+ 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x88, 0x01, 0x01, 0x12, 0x48, 0x0a, 0x12, 0x72, 0x65, 0x74,
+ 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x52, 0x11, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x1a, 0x26, 0x0a, 0x0a, 0x56, 0x65, 0x72, 0x73,
+ 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
+ 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
+ 0x1a, 0x59, 0x0a, 0x07, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6d,
+ 0x61, 0x69, 0x6e, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x61, 0x69, 0x6e, 0x50, 0x61, 0x67, 0x65, 0x53,
+ 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x5f, 0x66, 0x6f, 0x75,
+ 0x6e, 0x64, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e,
+ 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x50, 0x61, 0x67, 0x65, 0x1a, 0x3e, 0x0a, 0x15, 0x43,
+ 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x6f, 0x63,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x61,
+ 0x74, 0x61, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x67, 0x0a, 0x09, 0x41,
+ 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62,
+ 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c,
+ 0x65, 0x64, 0x12, 0x40, 0x0a, 0x0b, 0x74, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
+ 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x67, 0x67, 0x6c, 0x65,
+ 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a,
+ 0x47, 0xea, 0x41, 0x44, 0x0a, 0x1d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x63,
+ 0x6b, 0x65, 0x74, 0x12, 0x23, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70,
+ 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f,
+ 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x7d, 0x22, 0x97, 0x02, 0x0a, 0x13, 0x42, 0x75, 0x63,
+ 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
+ 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
+ 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0a,
+ 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x61, 0x6c, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09,
+ 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x6c, 0x74,
+ 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x12, 0x0a,
+ 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61,
+ 0x67, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69,
+ 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12,
+ 0x41, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63,
+ 0x74, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65,
+ 0x61, 0x6d, 0x22, 0x53, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65,
+ 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12,
+ 0x1b, 0x0a, 0x06, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x48,
+ 0x00, 0x52, 0x06, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07,
+ 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x22, 0x54, 0x0a, 0x0f, 0x4f, 0x62, 0x6a, 0x65, 0x63,
+ 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x12, 0x1b, 0x0a, 0x06, 0x63, 0x72,
+ 0x63, 0x33, 0x32, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x48, 0x00, 0x52, 0x06, 0x63, 0x72,
+ 0x63, 0x33, 0x32, 0x63, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x64, 0x35, 0x5f, 0x68,
+ 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6d, 0x64, 0x35, 0x48, 0x61,
+ 0x73, 0x68, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x22, 0xfe, 0x02,
+ 0x0a, 0x0f, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
+ 0x61, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
+ 0x41, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73,
+ 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x08,
+ 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a,
0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x05, 0xfa, 0x41,
0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07,
- 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2b, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x67,
- 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x42,
- 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
- 0x03, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12,
- 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73,
- 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43,
- 0x6c, 0x61, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x70, 0x6f, 0x18, 0x1b, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x03, 0x72, 0x70, 0x6f, 0x12, 0x38, 0x0a, 0x03, 0x61, 0x63, 0x6c, 0x18, 0x08, 0x20,
- 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
- 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63,
- 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x03, 0x61, 0x63, 0x6c,
- 0x12, 0x54, 0x0a, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65,
- 0x63, 0x74, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32,
- 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e,
- 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4f, 0x62, 0x6a,
- 0x65, 0x63, 0x74, 0x41, 0x63, 0x6c, 0x12, 0x41, 0x0a, 0x09, 0x6c, 0x69, 0x66, 0x65, 0x63, 0x79,
- 0x63, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
- 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75,
- 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x09,
- 0x6c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65,
- 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
- 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
- 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
- 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x04, 0x63,
- 0x6f, 0x72, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
- 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75,
- 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x43, 0x6f, 0x72, 0x73, 0x52, 0x04, 0x63, 0x6f, 0x72, 0x73, 0x12,
- 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
- 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d,
- 0x65, 0x12, 0x37, 0x0a, 0x18, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x65, 0x76, 0x65,
- 0x6e, 0x74, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x0e, 0x20,
- 0x01, 0x28, 0x08, 0x52, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x45, 0x76, 0x65, 0x6e,
- 0x74, 0x42, 0x61, 0x73, 0x65, 0x64, 0x48, 0x6f, 0x6c, 0x64, 0x12, 0x3d, 0x0a, 0x06, 0x6c, 0x61,
- 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f,
- 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42,
- 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72,
- 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x3b, 0x0a, 0x07, 0x77, 0x65, 0x62,
- 0x73, 0x69, 0x74, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f,
- 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42,
- 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x52, 0x07, 0x77,
- 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
- 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f,
- 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42,
- 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67,
- 0x52, 0x0a, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x3b, 0x0a, 0x07,
- 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e,
- 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
- 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67,
- 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x33, 0x0a, 0x05, 0x6f, 0x77, 0x6e,
- 0x65, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
- 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x77, 0x6e,
- 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x44,
- 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72,
- 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x45, 0x6e,
- 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70,
- 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x07, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x18,
- 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
- 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74,
- 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e,
- 0x67, 0x12, 0x54, 0x0a, 0x10, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70,
- 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f,
- 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
- 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e,
- 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0f, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f,
- 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x42, 0x0a, 0x0a, 0x69, 0x61, 0x6d, 0x5f, 0x63,
- 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f,
- 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
- 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x49, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
- 0x52, 0x09, 0x69, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x73,
- 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, 0x19, 0x20, 0x01,
- 0x28, 0x08, 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, 0x73,
- 0x12, 0x67, 0x0a, 0x17, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65,
- 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x1a, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
- 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x43, 0x75, 0x73,
- 0x74, 0x6f, 0x6d, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66,
- 0x69, 0x67, 0x52, 0x15, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d,
- 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x41, 0x0a, 0x09, 0x61, 0x75, 0x74,
- 0x6f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32,
- 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x61, 0x73,
- 0x73, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x1a, 0x30, 0x0a, 0x07,
- 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x79, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
- 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x79, 0x73, 0x1a, 0x87,
- 0x01, 0x0a, 0x04, 0x43, 0x6f, 0x72, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69,
- 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12,
- 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52,
- 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09,
- 0x52, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
- 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f,
- 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x41, 0x67,
- 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x1a, 0x5c, 0x0a, 0x0a, 0x45, 0x6e, 0x63, 0x72,
- 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c,
- 0x74, 0x5f, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
- 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72,
- 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
- 0x4b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x1a, 0xb1, 0x02, 0x0a, 0x09, 0x49, 0x61, 0x6d, 0x43, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 0x12, 0x7b, 0x0a, 0x1b, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x5f,
- 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x61, 0x63, 0x63,
- 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
- 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75,
- 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x49, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x55,
- 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65,
- 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x18, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d,
- 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73,
- 0x73, 0x12, 0x38, 0x0a, 0x18, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x65,
- 0x73, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x16, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x63, 0x63, 0x65, 0x73,
- 0x73, 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x6d, 0x0a, 0x18, 0x55,
- 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65,
- 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c,
- 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
- 0x64, 0x12, 0x37, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
- 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0xdb, 0x07, 0x0a, 0x09, 0x4c,
- 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x3c, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65,
- 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
- 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65,
- 0x74, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x2e, 0x52, 0x75, 0x6c, 0x65,
- 0x52, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x1a, 0x8f, 0x07, 0x0a, 0x04, 0x52, 0x75, 0x6c, 0x65, 0x12,
- 0x47, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
- 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63,
- 0x79, 0x63, 0x6c, 0x65, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e,
- 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64,
- 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f,
- 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
- 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65,
- 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52,
- 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x41, 0x0a, 0x06, 0x41, 0x63,
- 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72,
- 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x1a, 0xa8, 0x05,
- 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x08, 0x61,
- 0x67, 0x65, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52,
- 0x07, 0x61, 0x67, 0x65, 0x44, 0x61, 0x79, 0x73, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x0e, 0x63,
- 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70,
- 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42,
- 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, 0x1c, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x76, 0x65,
- 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x06, 0x69, 0x73, 0x4c, 0x69, 0x76, 0x65,
- 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x12, 0x6e, 0x75, 0x6d, 0x5f, 0x6e, 0x65, 0x77, 0x65, 0x72,
- 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x48,
- 0x02, 0x52, 0x10, 0x6e, 0x75, 0x6d, 0x4e, 0x65, 0x77, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69,
- 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x15, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65,
- 0x73, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18,
- 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x53, 0x74,
- 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x38, 0x0a, 0x16, 0x64, 0x61,
- 0x79, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f,
- 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x48, 0x03, 0x52, 0x13, 0x64, 0x61,
- 0x79, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x69, 0x6d,
- 0x65, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x12, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74,
- 0x69, 0x6d, 0x65, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44,
- 0x61, 0x74, 0x65, 0x52, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x42,
- 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, 0x40, 0x0a, 0x1a, 0x64, 0x61, 0x79, 0x73, 0x5f, 0x73, 0x69,
- 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74,
- 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x48, 0x04, 0x52, 0x17, 0x64, 0x61, 0x79,
- 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4e, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74,
- 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x16, 0x6e, 0x6f, 0x6e, 0x63, 0x75,
- 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72,
- 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x14, 0x6e, 0x6f, 0x6e, 0x63,
- 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65,
- 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x66,
- 0x69, 0x78, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65,
- 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68,
- 0x65, 0x73, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52,
- 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x42, 0x0b,
- 0x0a, 0x09, 0x5f, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x5f,
- 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6e, 0x75, 0x6d, 0x5f,
- 0x6e, 0x65, 0x77, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x19,
- 0x0a, 0x17, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x75,
- 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x64, 0x61,
- 0x79, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72,
- 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x1a, 0x54, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x67,
- 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65,
- 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x42, 0x75, 0x63, 0x6b,
- 0x65, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x6f, 0x67, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74,
- 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c,
- 0x6f, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x1a, 0xb6,
- 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69,
- 0x63, 0x79, 0x12, 0x41, 0x0a, 0x0e, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f,
- 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
- 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
- 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76,
- 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x6b,
- 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b,
- 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x10, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
- 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0f,
- 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x88,
- 0x01, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e,
- 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x1a, 0x26, 0x0a, 0x0a, 0x56, 0x65, 0x72, 0x73, 0x69,
- 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x1a,
- 0x59, 0x0a, 0x07, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61,
- 0x69, 0x6e, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x61, 0x69, 0x6e, 0x50, 0x61, 0x67, 0x65, 0x53, 0x75,
- 0x66, 0x66, 0x69, 0x78, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x5f, 0x66, 0x6f, 0x75, 0x6e,
- 0x64, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x6f,
- 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x50, 0x61, 0x67, 0x65, 0x1a, 0x3e, 0x0a, 0x15, 0x43, 0x75,
- 0x73, 0x74, 0x6f, 0x6d, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e,
- 0x66, 0x69, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x6f, 0x63, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x61, 0x74,
- 0x61, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x67, 0x0a, 0x09, 0x41, 0x75,
- 0x74, 0x6f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c,
- 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
- 0x64, 0x12, 0x40, 0x0a, 0x0b, 0x74, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
- 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x54,
- 0x69, 0x6d, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74,
- 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x47,
- 0xea, 0x41, 0x44, 0x0a, 0x1d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f,
- 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x63, 0x6b,
- 0x65, 0x74, 0x12, 0x23, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72,
- 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x7b,
- 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x7d, 0x22, 0x97, 0x02, 0x0a, 0x13, 0x42, 0x75, 0x63, 0x6b,
- 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12,
- 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72,
- 0x6f, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0a, 0x65,
- 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x61, 0x6c, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42,
- 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x6c, 0x74, 0x12,
- 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04,
- 0x65, 0x74, 0x61, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67,
- 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e,
- 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x41,
- 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x07,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
- 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
- 0x54, 0x65, 0x61, 0x6d, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x61,
- 0x6d, 0x22, 0x53, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64,
- 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1b,
- 0x0a, 0x06, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x48, 0x00,
- 0x52, 0x06, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f,
- 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x22, 0x54, 0x0a, 0x0f, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74,
- 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x12, 0x1b, 0x0a, 0x06, 0x63, 0x72, 0x63,
- 0x33, 0x32, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x48, 0x00, 0x52, 0x06, 0x63, 0x72, 0x63,
- 0x33, 0x32, 0x63, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x64, 0x35, 0x5f, 0x68, 0x61,
- 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6d, 0x64, 0x35, 0x48, 0x61, 0x73,
- 0x68, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x22, 0xfe, 0x02, 0x0a,
- 0x0f, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
- 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
- 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f,
- 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x08, 0x61,
- 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65,
- 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x05, 0xfa, 0x41, 0x2d,
- 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d,
- 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
- 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70,
- 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x37, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
- 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18,
- 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76,
- 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12,
- 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
- 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f,
- 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
- 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
- 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65,
- 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74,
- 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
- 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75,
- 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61,
- 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, 0xec, 0x03,
- 0x0a, 0x0c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17,
- 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
- 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x74, 0x6f, 0x70,
- 0x69, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f,
- 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x76, 0x65,
- 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x62, 0x0a, 0x11, 0x63, 0x75, 0x73, 0x74, 0x6f,
- 0x6d, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03,
- 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72,
- 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62,
- 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f,
- 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x6f,
- 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69,
- 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4e,
- 0x61, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x2a, 0x0a, 0x0e, 0x70, 0x61, 0x79,
- 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28,
- 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x46,
- 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x1a, 0x43, 0x0a, 0x15, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41,
- 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
- 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
- 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x70, 0xea, 0x41, 0x6d, 0x0a,
- 0x23, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
- 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b,
- 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73,
- 0x2f, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x7d, 0x2f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69,
- 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, 0x7b, 0x6e,
- 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x22, 0x71, 0x0a, 0x12,
- 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69,
- 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x14, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e,
- 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x13, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x67, 0x6f,
- 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x28, 0x0a, 0x10, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x68, 0x61,
- 0x32, 0x35, 0x36, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52,
- 0x0e, 0x6b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22,
- 0xec, 0x0b, 0x0a, 0x06, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61,
- 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x04, 0x6e,
- 0x61, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x05, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x73, 0x74, 0x6f,
- 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
- 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b,
- 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x23, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52,
- 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x0e, 0x6d,
- 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20,
- 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65,
- 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72,
- 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x17, 0x0a,
- 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03,
- 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
- 0x74, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e,
- 0x67, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x73,
- 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12,
- 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69,
- 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74,
- 0x72, 0x6f, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x61, 0x63, 0x68, 0x65,
- 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x38, 0x0a, 0x03, 0x61, 0x63, 0x6c, 0x18, 0x0a,
- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
- 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41,
- 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x03, 0x61, 0x63,
- 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x61, 0x6e,
- 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e,
- 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x40, 0x0a, 0x0b,
- 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0,
- 0x41, 0x03, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21,
- 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70,
- 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65,
- 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
- 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54,
- 0x69, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74,
- 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41,
- 0x03, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e,
- 0x74, 0x12, 0x45, 0x0a, 0x09, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x18, 0x10,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
- 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43,
- 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x63,
- 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61,
- 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
+ 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x37, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69,
+ 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x73, 0x65, 0x72,
+ 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c,
+ 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
+ 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
+ 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72,
+ 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a,
- 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x07, 0x6b, 0x6d,
- 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23,
- 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
- 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f,
- 0x4b, 0x65, 0x79, 0x52, 0x06, 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x5a, 0x0a, 0x19, 0x75,
- 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c,
- 0x61, 0x73, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
+ 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74,
+ 0x61, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, 0xec,
+ 0x03, 0x0a, 0x0c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
+ 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
+ 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69,
+ 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x74, 0x6f,
+ 0x70, 0x69, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x76,
+ 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x62, 0x0a, 0x11, 0x63, 0x75, 0x73, 0x74,
+ 0x6f, 0x6d, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69,
+ 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x63, 0x75, 0x73, 0x74,
+ 0x6f, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12,
+ 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66,
+ 0x69, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74,
+ 0x4e, 0x61, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x2a, 0x0a, 0x0e, 0x70, 0x61,
+ 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01,
+ 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64,
+ 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x1a, 0x43, 0x0a, 0x15, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d,
+ 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
+ 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
+ 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x70, 0xea, 0x41, 0x6d,
+ 0x0a, 0x23, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
+ 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74,
+ 0x73, 0x2f, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x7d, 0x2f, 0x6e, 0x6f, 0x74, 0x69, 0x66,
+ 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, 0x7b,
+ 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x22, 0x71, 0x0a,
+ 0x12, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x14, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x13, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x67,
+ 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x28, 0x0a, 0x10, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x68,
+ 0x61, 0x32, 0x35, 0x36, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c,
+ 0x52, 0x0e, 0x6b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x42, 0x79, 0x74, 0x65, 0x73,
+ 0x22, 0xec, 0x0b, 0x0a, 0x06, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e,
+ 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x04,
+ 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x05, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x73, 0x74,
+ 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
+ 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x06, 0x62, 0x75, 0x63,
+ 0x6b, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x1b, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x23, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x05,
+ 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x0e,
+ 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x67,
+ 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x17,
+ 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41,
+ 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x65,
+ 0x6e, 0x74, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69,
+ 0x6e, 0x67, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x69,
+ 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x63, 0x6f, 0x6e,
+ 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x61, 0x63, 0x68,
+ 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x38, 0x0a, 0x03, 0x61, 0x63, 0x6c, 0x18,
+ 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74,
+ 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x03, 0x61,
+ 0x63, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x61,
+ 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f,
+ 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x40, 0x0a,
+ 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03,
+ 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12,
+ 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79,
+ 0x70, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d,
+ 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
+ 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
+ 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e,
+ 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0,
+ 0x41, 0x03, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75,
+ 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x09, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x18,
+ 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74,
+ 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09,
+ 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
- 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c,
- 0x61, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x65, 0x6d, 0x70, 0x6f,
- 0x72, 0x61, 0x72, 0x79, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52,
- 0x0d, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x48, 0x6f, 0x6c, 0x64, 0x12, 0x4e,
- 0x0a, 0x15, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x69,
- 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
- 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
- 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x13, 0x72, 0x65, 0x74, 0x65, 0x6e,
- 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x43,
- 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b,
- 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
- 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x61,
- 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64,
- 0x61, 0x74, 0x61, 0x12, 0x2d, 0x0a, 0x10, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x61, 0x73,
- 0x65, 0x64, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52,
- 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x73, 0x65, 0x64, 0x48, 0x6f, 0x6c, 0x64, 0x88,
- 0x01, 0x01, 0x12, 0x33, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x18, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
- 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x03,
- 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x56, 0x0a, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f,
- 0x6d, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x19,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
- 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65,
- 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x63, 0x75, 0x73,
- 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12,
- 0x3b, 0x0a, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x1a,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
- 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x3b, 0x0a, 0x0d,
- 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
- 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
- 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
- 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x65, 0x76,
- 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0x97,
- 0x02, 0x0a, 0x13, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43,
- 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e,
- 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69,
- 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x61, 0x6c, 0x74,
- 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x65, 0x6e, 0x74,
- 0x69, 0x74, 0x79, 0x41, 0x6c, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
- 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74,
- 0x79, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c,
- 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x16, 0x0a,
- 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64,
- 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x41, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
- 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f,
- 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
- 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x0b, 0x70, 0x72, 0x6f,
- 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x22, 0x8e, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73,
- 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x12, 0x33, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
- 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
- 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x6f, 0x62,
- 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65,
- 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65,
- 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74,
- 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74,
- 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x48, 0x0a, 0x0b, 0x50, 0x72, 0x6f,
- 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x6a,
- 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12,
- 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74,
- 0x65, 0x61, 0x6d, 0x22, 0x35, 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63,
- 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x61,
- 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x6d,
- 0x61, 0x69, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x3c, 0x0a, 0x05, 0x4f, 0x77,
- 0x6e, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x65,
- 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
- 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x22, 0x5f, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x74,
- 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72,
- 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10,
- 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x65, 0x6e, 0x64,
- 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6c, 0x65, 0x6e,
- 0x67, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6c,
- 0x65, 0x74, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x32, 0x97, 0x26, 0x0a, 0x07, 0x53, 0x74,
- 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x72, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42,
- 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
- 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
- 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e,
- 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
- 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x22, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, 0x0a,
- 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0b, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x3d, 0x2a,
- 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x6f, 0x0a, 0x09, 0x47, 0x65, 0x74,
- 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
- 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75,
- 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f,
- 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
- 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x22, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13,
+ 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x07, 0x6b,
+ 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41,
+ 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74,
+ 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x5a, 0x0a, 0x19,
+ 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63,
+ 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03,
+ 0x52, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43,
+ 0x6c, 0x61, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x65, 0x6d, 0x70,
+ 0x6f, 0x72, 0x61, 0x72, 0x79, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x0d, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x48, 0x6f, 0x6c, 0x64, 0x12,
+ 0x4e, 0x0a, 0x15, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70,
+ 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x13, 0x72, 0x65, 0x74, 0x65,
+ 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12,
+ 0x43, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x16, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
+ 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x4d, 0x65, 0x74,
+ 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61,
+ 0x64, 0x61, 0x74, 0x61, 0x12, 0x2d, 0x0a, 0x10, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x61,
+ 0x73, 0x65, 0x64, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00,
+ 0x52, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x73, 0x65, 0x64, 0x48, 0x6f, 0x6c, 0x64,
+ 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x18, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41,
+ 0x03, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x56, 0x0a, 0x13, 0x63, 0x75, 0x73, 0x74,
+ 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18,
+ 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d,
+ 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x63, 0x75,
+ 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
+ 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
+ 0x70, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x3b, 0x0a,
+ 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
+ 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
+ 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x65,
+ 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x22,
+ 0x97, 0x02, 0x0a, 0x13, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73,
+ 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69,
+ 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x65,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x61, 0x6c,
+ 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x65, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x41, 0x6c, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69,
+ 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x16,
+ 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
+ 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x41, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
+ 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32,
+ 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x0b, 0x70, 0x72,
+ 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x22, 0x8e, 0x01, 0x0a, 0x13, 0x4c, 0x69,
+ 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x12, 0x33, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x6f,
+ 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78,
+ 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78,
+ 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f,
+ 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78,
+ 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x48, 0x0a, 0x0b, 0x50, 0x72,
+ 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x6f,
+ 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72,
+ 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
+ 0x74, 0x65, 0x61, 0x6d, 0x22, 0x35, 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41,
+ 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f,
+ 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65,
+ 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x3c, 0x0a, 0x05, 0x4f,
+ 0x77, 0x6e, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09,
+ 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x22, 0x5f, 0x0a, 0x0c, 0x43, 0x6f, 0x6e,
+ 0x74, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61,
+ 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12,
+ 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x65, 0x6e,
+ 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6c, 0x65,
+ 0x6e, 0x67, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70,
+ 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x32, 0xaf, 0x25, 0x0a, 0x07, 0x53,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x72, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
+ 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74,
+ 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x22, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13,
0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0b, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x3d,
- 0x2a, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x8b, 0x01, 0x0a, 0x0c, 0x43,
- 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x67, 0x6f,
- 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
- 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
- 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x38,
- 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
- 0x12, 0x0c, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x3d, 0x2a, 0x2a, 0x7d, 0xda, 0x41,
- 0x17, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x62,
- 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x85, 0x01, 0x0a, 0x0b, 0x4c, 0x69, 0x73,
- 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
- 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73,
- 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
- 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
- 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x27, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12,
- 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x0c, 0x7b, 0x70, 0x72, 0x6f, 0x6a,
- 0x65, 0x63, 0x74, 0x3d, 0x2a, 0x2a, 0x7d, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
- 0x12, 0x93, 0x01, 0x0a, 0x19, 0x4c, 0x6f, 0x63, 0x6b, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52,
- 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x33,
- 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
- 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x74,
- 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
- 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x26,
- 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74,
- 0x12, 0x0b, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x3d, 0x2a, 0x2a, 0x7d, 0xda, 0x41, 0x06,
- 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0xab, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, 0x61,
- 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f,
- 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x67, 0x6f,
- 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69,
- 0x63, 0x79, 0x22, 0x60, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x12, 0x17, 0x0a, 0x08, 0x72, 0x65,
- 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x0b, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x3d,
- 0x2a, 0x2a, 0x7d, 0x12, 0x34, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12,
- 0x28, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
- 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6f,
- 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2a, 0xda, 0x41, 0x08, 0x72, 0x65, 0x73, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x12, 0xb2, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50,
- 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69,
- 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69,
- 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
- 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
- 0x22, 0x67, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x12, 0x17, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x12, 0x0b, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x3d, 0x2a, 0x2a,
- 0x7d, 0x12, 0x34, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x28, 0x7b,
- 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
- 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6f, 0x62, 0x6a,
- 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2a, 0xda, 0x41, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
- 0x63, 0x65, 0x2c, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xd7, 0x01, 0x0a, 0x12, 0x54, 0x65,
- 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73,
- 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31,
- 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
- 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f,
- 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49,
- 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6c, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x12, 0x17, 0x0a,
- 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x0b, 0x7b, 0x62, 0x75, 0x63, 0x6b,
- 0x65, 0x74, 0x3d, 0x2a, 0x2a, 0x7d, 0x12, 0x34, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
- 0x63, 0x65, 0x12, 0x28, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
- 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a,
- 0x7d, 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2a, 0xda, 0x41, 0x14, 0x72,
- 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
- 0x6f, 0x6e, 0x73, 0x12, 0x8a, 0x01, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x75,
- 0x63, 0x6b, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
- 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42,
+ 0x2a, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x6f, 0x0a, 0x09, 0x47, 0x65,
+ 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x42,
0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32,
- 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x37, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12,
- 0x1a, 0x0a, 0x0b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0b,
- 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x3d, 0x2a, 0x2a, 0x7d, 0xda, 0x41, 0x12, 0x62, 0x75,
- 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b,
- 0x12, 0x93, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x22, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12,
+ 0x13, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0b, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74,
+ 0x3d, 0x2a, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x8b, 0x01, 0x0a, 0x0c,
+ 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32,
+ 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
+ 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x22,
+ 0x38, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e,
+ 0x74, 0x12, 0x0c, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x3d, 0x2a, 0x2a, 0x7d, 0xda,
+ 0x41, 0x17, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c,
+ 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x85, 0x01, 0x0a, 0x0b, 0x4c, 0x69,
+ 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69,
+ 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
+ 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x27, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x18,
+ 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x0c, 0x7b, 0x70, 0x72, 0x6f,
+ 0x6a, 0x65, 0x63, 0x74, 0x3d, 0x2a, 0x2a, 0x7d, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e,
+ 0x74, 0x12, 0x93, 0x01, 0x0a, 0x19, 0x4c, 0x6f, 0x63, 0x6b, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74,
+ 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12,
+ 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
+ 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65,
+ 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
+ 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x22,
+ 0x26, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65,
+ 0x74, 0x12, 0x0b, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x3d, 0x2a, 0x2a, 0x7d, 0xda, 0x41,
+ 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0xab, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49,
+ 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50,
+ 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c,
+ 0x69, 0x63, 0x79, 0x22, 0x60, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x12, 0x17, 0x0a, 0x08, 0x72,
+ 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x0b, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74,
+ 0x3d, 0x2a, 0x2a, 0x7d, 0x12, 0x34, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x12, 0x28, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
+ 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f,
+ 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2a, 0xda, 0x41, 0x08, 0x72, 0x65, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xb2, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d,
+ 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c,
+ 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63,
+ 0x79, 0x22, 0x67, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x12, 0x17, 0x0a, 0x08, 0x72, 0x65, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x0b, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x3d, 0x2a,
+ 0x2a, 0x7d, 0x12, 0x34, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x28,
+ 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
+ 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6f, 0x62,
+ 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2a, 0xda, 0x41, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x2c, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xd7, 0x01, 0x0a, 0x12, 0x54,
+ 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
+ 0x73, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76,
+ 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
+ 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74,
+ 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6c, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x12, 0x17,
+ 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x0b, 0x7b, 0x62, 0x75, 0x63,
+ 0x6b, 0x65, 0x74, 0x3d, 0x2a, 0x2a, 0x7d, 0x12, 0x34, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x12, 0x28, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x3d, 0x70, 0x72, 0x6f,
+ 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f,
+ 0x2a, 0x7d, 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2a, 0xda, 0x41, 0x14,
+ 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
+ 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x8a, 0x01, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42,
+ 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
+ 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
+ 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x37, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x1c,
+ 0x12, 0x1a, 0x0a, 0x0b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x12,
+ 0x0b, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x3d, 0x2a, 0x2a, 0x7d, 0xda, 0x41, 0x12, 0x62,
+ 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73,
+ 0x6b, 0x12, 0x93, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c,
+ 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x37,
+ 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20,
+ 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
+ 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x2a, 0x2a,
+ 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x96, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
+ 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x37, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12,
+ 0x28, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74,
+ 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b,
+ 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x2a, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65,
+ 0x12, 0x98, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65,
+ 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61,
0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x37, 0x8a,
- 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x7b,
- 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
- 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x2a, 0x2a, 0xda,
- 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x96, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4e, 0x6f,
- 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f,
- 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x47,
- 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69,
- 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x37, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28,
- 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x3d,
- 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65,
- 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x2a, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
- 0x98, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69,
- 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
- 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
- 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
- 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x33, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x0a,
- 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x0b, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74,
- 0x3d, 0x2a, 0x2a, 0x7d, 0xda, 0x41, 0x13, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6e, 0x6f,
- 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x96, 0x01, 0x0a, 0x11, 0x4c,
- 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
- 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
- 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e,
- 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
- 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x8a, 0xd3, 0xe4,
- 0x93, 0x02, 0x17, 0x12, 0x15, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x0b, 0x7b,
- 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x3d, 0x2a, 0x2a, 0x7d, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72,
- 0x65, 0x6e, 0x74, 0x12, 0x7e, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4f, 0x62,
- 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
- 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65,
- 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e,
- 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
- 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x29, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x23,
- 0x12, 0x21, 0x0a, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
- 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x0b, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x3d,
- 0x2a, 0x2a, 0x7d, 0x12, 0x98, 0x01, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62,
- 0x6a, 0x65, 0x63, 0x74, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
- 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f,
- 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45,
- 0x6d, 0x70, 0x74, 0x79, 0x22, 0x48, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x0a, 0x06,
- 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x0b, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x3d,
- 0x2a, 0x2a, 0x7d, 0xda, 0x41, 0x0d, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x6f, 0x62, 0x6a,
- 0x65, 0x63, 0x74, 0xda, 0x41, 0x18, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x6f, 0x62, 0x6a,
- 0x65, 0x63, 0x74, 0x2c, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xba,
- 0x01, 0x0a, 0x14, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62,
- 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6e, 0x63,
- 0x65, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6e, 0x63,
- 0x65, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x2f,
- 0x12, 0x2d, 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x12, 0x20, 0x7b,
- 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
- 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x2a, 0x2a, 0xda,
- 0x41, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x12, 0x95, 0x01, 0x0a, 0x09,
- 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
- 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65,
- 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19,
+ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x33, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15,
+ 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x0b, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65,
+ 0x74, 0x3d, 0x2a, 0x2a, 0x7d, 0xda, 0x41, 0x13, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6e,
+ 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x96, 0x01, 0x0a, 0x11,
+ 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
+ 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69,
+ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
- 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x48, 0x8a, 0xd3, 0xe4, 0x93, 0x02,
- 0x17, 0x12, 0x15, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x0b, 0x7b, 0x62, 0x75,
- 0x63, 0x6b, 0x65, 0x74, 0x3d, 0x2a, 0x2a, 0x7d, 0xda, 0x41, 0x0d, 0x62, 0x75, 0x63, 0x6b, 0x65,
- 0x74, 0x2c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0xda, 0x41, 0x18, 0x62, 0x75, 0x63, 0x6b, 0x65,
- 0x74, 0x2c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x12, 0xa5, 0x01, 0x0a, 0x0a, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x62, 0x6a, 0x65,
- 0x63, 0x74, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72,
- 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63,
- 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
- 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x61,
- 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
- 0x48, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65,
- 0x74, 0x12, 0x0b, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x3d, 0x2a, 0x2a, 0x7d, 0xda, 0x41,
- 0x0d, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0xda, 0x41,
- 0x18, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x67,
- 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x30, 0x01, 0x12, 0x8c, 0x01, 0x0a, 0x0c,
- 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x26, 0x2e, 0x67,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32,
- 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
- 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22,
- 0x39, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x0a, 0x0d, 0x6f, 0x62, 0x6a, 0x65, 0x63,
- 0x74, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x0b, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65,
- 0x74, 0x3d, 0x2a, 0x2a, 0x7d, 0xda, 0x41, 0x12, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x75,
- 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0xc7, 0x01, 0x0a, 0x0b, 0x57,
+ 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x8a, 0xd3,
+ 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x0b,
+ 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x3d, 0x2a, 0x2a, 0x7d, 0xda, 0x41, 0x06, 0x70, 0x61,
+ 0x72, 0x65, 0x6e, 0x74, 0x12, 0x7e, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4f,
+ 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73,
+ 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
+ 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x29, 0x8a, 0xd3, 0xe4, 0x93, 0x02,
+ 0x23, 0x12, 0x21, 0x0a, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x0b, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74,
+ 0x3d, 0x2a, 0x2a, 0x7d, 0x12, 0x98, 0x01, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f,
+ 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
+ 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x48, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x0a,
+ 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x0b, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74,
+ 0x3d, 0x2a, 0x2a, 0x7d, 0xda, 0x41, 0x0d, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x6f, 0x62,
+ 0x6a, 0x65, 0x63, 0x74, 0xda, 0x41, 0x18, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x6f, 0x62,
+ 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
+ 0xba, 0x01, 0x0a, 0x14, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61,
+ 0x62, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6e,
+ 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74,
+ 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6e,
+ 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74,
+ 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0x8a, 0xd3, 0xe4, 0x93, 0x02,
+ 0x2f, 0x12, 0x2d, 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x12, 0x20,
+ 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
+ 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x2a, 0x2a,
+ 0xda, 0x41, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x12, 0x95, 0x01, 0x0a,
+ 0x09, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x23, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x47,
+ 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+ 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
+ 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x48, 0x8a, 0xd3, 0xe4, 0x93,
+ 0x02, 0x17, 0x12, 0x15, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x0b, 0x7b, 0x62,
+ 0x75, 0x63, 0x6b, 0x65, 0x74, 0x3d, 0x2a, 0x2a, 0x7d, 0xda, 0x41, 0x0d, 0x62, 0x75, 0x63, 0x6b,
+ 0x65, 0x74, 0x2c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0xda, 0x41, 0x18, 0x62, 0x75, 0x63, 0x6b,
+ 0x65, 0x74, 0x2c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xa5, 0x01, 0x0a, 0x0a, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x62, 0x6a,
+ 0x65, 0x63, 0x74, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x62, 0x6a, 0x65,
+ 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65,
+ 0x61, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x48, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b,
+ 0x65, 0x74, 0x12, 0x0b, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x3d, 0x2a, 0x2a, 0x7d, 0xda,
+ 0x41, 0x0d, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0xda,
+ 0x41, 0x18, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2c,
+ 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x30, 0x01, 0x12, 0x8c, 0x01, 0x0a,
+ 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x26, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
+ 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74,
+ 0x22, 0x39, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x0a, 0x0d, 0x6f, 0x62, 0x6a, 0x65,
+ 0x63, 0x74, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x0b, 0x7b, 0x62, 0x75, 0x63, 0x6b,
+ 0x65, 0x74, 0x3d, 0x2a, 0x2a, 0x7d, 0xda, 0x41, 0x12, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2c,
+ 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x60, 0x0a, 0x0b, 0x57,
0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x57,
0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63,
- 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x8a, 0xd3, 0xe4, 0x93, 0x02,
- 0x61, 0x12, 0x30, 0x0a, 0x21, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63,
- 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e,
- 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x0b, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x3d,
- 0x2a, 0x2a, 0x7d, 0x12, 0x2d, 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64,
- 0x12, 0x20, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
- 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f,
- 0x2a, 0x2a, 0x28, 0x01, 0x12, 0x84, 0x01, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x62, 0x6a,
- 0x65, 0x63, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
+ 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x12, 0x84, 0x01,
+ 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x25, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
+ 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x62, 0x6a,
- 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f,
- 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
- 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x22, 0x26, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x0a, 0x06, 0x70,
- 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x0b, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x3d, 0x2a,
- 0x2a, 0x7d, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x98, 0x01, 0x0a, 0x0d,
- 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x2e,
- 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
- 0x32, 0x2e, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x8a, 0xd3,
+ 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x0b,
+ 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x3d, 0x2a, 0x2a, 0x7d, 0xda, 0x41, 0x06, 0x70, 0x61,
+ 0x72, 0x65, 0x6e, 0x74, 0x12, 0x98, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65,
+ 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x77, 0x72, 0x69,
- 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x8a, 0xd3, 0xe4, 0x93,
- 0x02, 0x34, 0x12, 0x0f, 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x62, 0x75, 0x63,
- 0x6b, 0x65, 0x74, 0x12, 0x21, 0x0a, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x0b, 0x7b, 0x62, 0x75, 0x63, 0x6b,
- 0x65, 0x74, 0x3d, 0x2a, 0x2a, 0x7d, 0x12, 0xae, 0x01, 0x0a, 0x13, 0x53, 0x74, 0x61, 0x72, 0x74,
- 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x2d,
- 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
- 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c,
- 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e,
- 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
- 0x32, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65,
- 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x8a,
- 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x0a, 0x21, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6f,
- 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75,
- 0x72, 0x63, 0x65, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x0b, 0x7b, 0x62, 0x75, 0x63,
- 0x6b, 0x65, 0x74, 0x3d, 0x2a, 0x2a, 0x7d, 0x12, 0xae, 0x01, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72,
- 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2a, 0x2e, 0x67,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32,
- 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75,
- 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
- 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65,
- 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x0a,
- 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x12, 0x20, 0x7b, 0x62, 0x75, 0x63,
- 0x6b, 0x65, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x62,
- 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x2a, 0x2a, 0xda, 0x41, 0x09, 0x75,
- 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x12, 0x80, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74,
- 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2b,
- 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
- 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63,
- 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x6f,
- 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
- 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x1b,
- 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x12, 0x09, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
- 0x74, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x95, 0x01, 0x0a, 0x0d,
- 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x27, 0x2e,
- 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
- 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+ 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
+ 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x0f, 0x0a, 0x0d, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x21, 0x0a, 0x12,
+ 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x75, 0x63, 0x6b,
+ 0x65, 0x74, 0x12, 0x0b, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x3d, 0x2a, 0x2a, 0x7d, 0x12,
+ 0xae, 0x01, 0x0a, 0x13, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62,
+ 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x72,
+ 0x74, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74,
+ 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30,
+ 0x0a, 0x21, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73,
+ 0x70, 0x65, 0x63, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x62, 0x75, 0x63,
+ 0x6b, 0x65, 0x74, 0x12, 0x0b, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x3d, 0x2a, 0x2a, 0x7d,
+ 0x12, 0xae, 0x01, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53,
+ 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57,
+ 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
+ 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65,
+ 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41,
+ 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64,
+ 0x5f, 0x69, 0x64, 0x12, 0x20, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x3d, 0x70, 0x72, 0x6f,
+ 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f,
+ 0x2a, 0x7d, 0x2f, 0x2a, 0x2a, 0xda, 0x41, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69,
+ 0x64, 0x12, 0x80, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
+ 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x53,
+ 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
+ 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
+ 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x1b, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x12,
+ 0x09, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f,
+ 0x6a, 0x65, 0x63, 0x74, 0x12, 0x95, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48,
+ 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
- 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x22, 0x31, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x12, 0x09, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a,
- 0x65, 0x63, 0x74, 0xda, 0x41, 0x1d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x73, 0x65,
- 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6d,
- 0x61, 0x69, 0x6c, 0x12, 0x77, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6d, 0x61,
+ 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+ 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
+ 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65,
+ 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0x8a, 0xd3, 0xe4, 0x93, 0x02,
+ 0x0b, 0x12, 0x09, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0xda, 0x41, 0x1d, 0x70,
+ 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61,
+ 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x77, 0x0a, 0x0d,
+ 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x27, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
+ 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x25,
+ 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x12, 0x09, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
+ 0x74, 0xda, 0x41, 0x11, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x2c, 0x70, 0x72,
+ 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x7d, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x48, 0x6d, 0x61, 0x63,
+ 0x4b, 0x65, 0x79, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x6d, 0x61, 0x63, 0x4b,
+ 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6d,
+ 0x61, 0x63, 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x25, 0x8a,
+ 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x12, 0x09, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
+ 0xda, 0x41, 0x11, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x2c, 0x70, 0x72, 0x6f,
+ 0x6a, 0x65, 0x63, 0x74, 0x12, 0x7c, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6d, 0x61, 0x63,
+ 0x4b, 0x65, 0x79, 0x73, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
+ 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6d, 0x61,
+ 0x63, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32,
+ 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1b, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x12, 0x09, 0x0a,
+ 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65,
+ 0x63, 0x74, 0x12, 0x9d, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x6d, 0x61,
0x63, 0x4b, 0x65, 0x79, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
- 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48,
- 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e,
- 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
- 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x25, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x12, 0x09, 0x0a,
- 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0xda, 0x41, 0x11, 0x61, 0x63, 0x63, 0x65, 0x73,
- 0x73, 0x5f, 0x69, 0x64, 0x2c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x7d, 0x0a, 0x0a,
- 0x47, 0x65, 0x74, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f,
- 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x47,
- 0x65, 0x74, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
- 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61,
- 0x64, 0x61, 0x74, 0x61, 0x22, 0x25, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x12, 0x09, 0x0a, 0x07,
- 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0xda, 0x41, 0x11, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73,
- 0x5f, 0x69, 0x64, 0x2c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x7c, 0x0a, 0x0c, 0x4c,
- 0x69, 0x73, 0x74, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x26, 0x2e, 0x67, 0x6f,
- 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
- 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
- 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6d, 0x61, 0x63,
- 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1b, 0x8a, 0xd3,
- 0xe4, 0x93, 0x02, 0x0b, 0x12, 0x09, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0xda,
- 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x9d, 0x01, 0x0a, 0x0d, 0x55, 0x70,
- 0x64, 0x61, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x27, 0x2e, 0x67, 0x6f,
- 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
- 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
- 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79,
- 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x3f, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x22,
- 0x12, 0x20, 0x0a, 0x10, 0x68, 0x6d, 0x61, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x2e, 0x70, 0x72, 0x6f,
- 0x6a, 0x65, 0x63, 0x74, 0x12, 0x0c, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x3d, 0x2a,
- 0x2a, 0x7d, 0xda, 0x41, 0x14, 0x68, 0x6d, 0x61, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x75, 0x70,
- 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x1a, 0xa7, 0x02, 0xca, 0x41, 0x16, 0x73,
- 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
- 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x8a, 0x02, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f,
- 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
- 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70,
- 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f,
- 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
- 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c,
- 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x2d, 0x6f, 0x6e, 0x6c, 0x79,
+ 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48,
+ 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
+ 0x32, 0x2e, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
+ 0x61, 0x22, 0x3f, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x0a, 0x10, 0x68, 0x6d, 0x61,
+ 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x0c, 0x7b,
+ 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x3d, 0x2a, 0x2a, 0x7d, 0xda, 0x41, 0x14, 0x68, 0x6d,
+ 0x61, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61,
+ 0x73, 0x6b, 0x1a, 0xa7, 0x02, 0xca, 0x41, 0x16, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41,
+ 0x8a, 0x02, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74,
+ 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68,
- 0x2f, 0x64, 0x65, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x66, 0x75, 0x6c, 0x6c,
- 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f,
- 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
- 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x65, 0x76, 0x73, 0x74, 0x6f, 0x72,
- 0x61, 0x67, 0x65, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, 0x74,
- 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x65,
- 0x76, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72,
- 0x69, 0x74, 0x65, 0x42, 0xdc, 0x01, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
- 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x42, 0x0c, 0x53,
- 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67,
- 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x61, 0x70, 0x69, 0x73, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x76, 0x32, 0x3b,
- 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0xea, 0x41, 0x78, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75,
- 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
- 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x53, 0x70,
- 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
- 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f,
- 0x7b, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74,
- 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x7b, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65,
- 0x79, 0x7d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e,
+ 0x72, 0x65, 0x61, 0x64, 0x2d, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a,
+ 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
+ 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x65, 0x76, 0x73, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x2e, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
+ 0x6c, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74,
+ 0x68, 0x2f, 0x64, 0x65, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x72, 0x65, 0x61,
+ 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77,
+ 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
+ 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x65, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
+ 0x65, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x42, 0xdc, 0x01, 0x0a,
+ 0x15, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x42, 0x0c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50,
+ 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67,
+ 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x73, 0x74,
+ 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x76, 0x32, 0x3b, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
+ 0xea, 0x41, 0x78, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79,
+ 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x53, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
+ 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f,
+ 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x7b, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x69,
+ 0x6e, 0x67, 0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x7b,
+ 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x7d, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
}
var (
@@ -8186,13 +8257,14 @@ var file_google_storage_v2_storage_proto_goTypes = []interface{}{
nil, // 74: google.storage.v2.Object.MetadataEntry
(*fieldmaskpb.FieldMask)(nil), // 75: google.protobuf.FieldMask
(*timestamppb.Timestamp)(nil), // 76: google.protobuf.Timestamp
- (*date.Date)(nil), // 77: google.type.Date
- (*v1.GetIamPolicyRequest)(nil), // 78: google.iam.v1.GetIamPolicyRequest
- (*v1.SetIamPolicyRequest)(nil), // 79: google.iam.v1.SetIamPolicyRequest
- (*v1.TestIamPermissionsRequest)(nil), // 80: google.iam.v1.TestIamPermissionsRequest
- (*emptypb.Empty)(nil), // 81: google.protobuf.Empty
- (*v1.Policy)(nil), // 82: google.iam.v1.Policy
- (*v1.TestIamPermissionsResponse)(nil), // 83: google.iam.v1.TestIamPermissionsResponse
+ (*durationpb.Duration)(nil), // 77: google.protobuf.Duration
+ (*date.Date)(nil), // 78: google.type.Date
+ (*v1.GetIamPolicyRequest)(nil), // 79: google.iam.v1.GetIamPolicyRequest
+ (*v1.SetIamPolicyRequest)(nil), // 80: google.iam.v1.SetIamPolicyRequest
+ (*v1.TestIamPermissionsRequest)(nil), // 81: google.iam.v1.TestIamPermissionsRequest
+ (*emptypb.Empty)(nil), // 82: google.protobuf.Empty
+ (*v1.Policy)(nil), // 83: google.iam.v1.Policy
+ (*v1.TestIamPermissionsResponse)(nil), // 84: google.iam.v1.TestIamPermissionsResponse
}
var file_google_storage_v2_storage_proto_depIdxs = []int32{
75, // 0: google.storage.v2.GetBucketRequest.read_mask:type_name -> google.protobuf.FieldMask
@@ -8206,146 +8278,150 @@ var file_google_storage_v2_storage_proto_depIdxs = []int32{
48, // 8: google.storage.v2.ComposeObjectRequest.destination:type_name -> google.storage.v2.Object
55, // 9: google.storage.v2.ComposeObjectRequest.source_objects:type_name -> google.storage.v2.ComposeObjectRequest.SourceObject
39, // 10: google.storage.v2.ComposeObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
- 39, // 11: google.storage.v2.DeleteObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
- 39, // 12: google.storage.v2.ReadObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
- 75, // 13: google.storage.v2.ReadObjectRequest.read_mask:type_name -> google.protobuf.FieldMask
- 39, // 14: google.storage.v2.GetObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
- 75, // 15: google.storage.v2.GetObjectRequest.read_mask:type_name -> google.protobuf.FieldMask
- 43, // 16: google.storage.v2.ReadObjectResponse.checksummed_data:type_name -> google.storage.v2.ChecksummedData
- 44, // 17: google.storage.v2.ReadObjectResponse.object_checksums:type_name -> google.storage.v2.ObjectChecksums
- 54, // 18: google.storage.v2.ReadObjectResponse.content_range:type_name -> google.storage.v2.ContentRange
- 48, // 19: google.storage.v2.ReadObjectResponse.metadata:type_name -> google.storage.v2.Object
- 48, // 20: google.storage.v2.WriteObjectSpec.resource:type_name -> google.storage.v2.Object
- 20, // 21: google.storage.v2.WriteObjectRequest.write_object_spec:type_name -> google.storage.v2.WriteObjectSpec
- 43, // 22: google.storage.v2.WriteObjectRequest.checksummed_data:type_name -> google.storage.v2.ChecksummedData
- 44, // 23: google.storage.v2.WriteObjectRequest.object_checksums:type_name -> google.storage.v2.ObjectChecksums
- 39, // 24: google.storage.v2.WriteObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
- 48, // 25: google.storage.v2.WriteObjectResponse.resource:type_name -> google.storage.v2.Object
- 75, // 26: google.storage.v2.ListObjectsRequest.read_mask:type_name -> google.protobuf.FieldMask
- 39, // 27: google.storage.v2.QueryWriteStatusRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
- 48, // 28: google.storage.v2.QueryWriteStatusResponse.resource:type_name -> google.storage.v2.Object
- 48, // 29: google.storage.v2.RewriteObjectRequest.destination:type_name -> google.storage.v2.Object
- 39, // 30: google.storage.v2.RewriteObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
- 48, // 31: google.storage.v2.RewriteResponse.resource:type_name -> google.storage.v2.Object
- 20, // 32: google.storage.v2.StartResumableWriteRequest.write_object_spec:type_name -> google.storage.v2.WriteObjectSpec
- 39, // 33: google.storage.v2.StartResumableWriteRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
- 48, // 34: google.storage.v2.UpdateObjectRequest.object:type_name -> google.storage.v2.Object
- 75, // 35: google.storage.v2.UpdateObjectRequest.update_mask:type_name -> google.protobuf.FieldMask
- 39, // 36: google.storage.v2.UpdateObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
- 45, // 37: google.storage.v2.CreateHmacKeyResponse.metadata:type_name -> google.storage.v2.HmacKeyMetadata
- 45, // 38: google.storage.v2.ListHmacKeysResponse.hmac_keys:type_name -> google.storage.v2.HmacKeyMetadata
- 45, // 39: google.storage.v2.UpdateHmacKeyRequest.hmac_key:type_name -> google.storage.v2.HmacKeyMetadata
- 75, // 40: google.storage.v2.UpdateHmacKeyRequest.update_mask:type_name -> google.protobuf.FieldMask
- 42, // 41: google.storage.v2.Bucket.acl:type_name -> google.storage.v2.BucketAccessControl
- 49, // 42: google.storage.v2.Bucket.default_object_acl:type_name -> google.storage.v2.ObjectAccessControl
- 61, // 43: google.storage.v2.Bucket.lifecycle:type_name -> google.storage.v2.Bucket.Lifecycle
- 76, // 44: google.storage.v2.Bucket.create_time:type_name -> google.protobuf.Timestamp
- 58, // 45: google.storage.v2.Bucket.cors:type_name -> google.storage.v2.Bucket.Cors
- 76, // 46: google.storage.v2.Bucket.update_time:type_name -> google.protobuf.Timestamp
- 68, // 47: google.storage.v2.Bucket.labels:type_name -> google.storage.v2.Bucket.LabelsEntry
- 65, // 48: google.storage.v2.Bucket.website:type_name -> google.storage.v2.Bucket.Website
- 64, // 49: google.storage.v2.Bucket.versioning:type_name -> google.storage.v2.Bucket.Versioning
- 62, // 50: google.storage.v2.Bucket.logging:type_name -> google.storage.v2.Bucket.Logging
- 53, // 51: google.storage.v2.Bucket.owner:type_name -> google.storage.v2.Owner
- 59, // 52: google.storage.v2.Bucket.encryption:type_name -> google.storage.v2.Bucket.Encryption
- 57, // 53: google.storage.v2.Bucket.billing:type_name -> google.storage.v2.Bucket.Billing
- 63, // 54: google.storage.v2.Bucket.retention_policy:type_name -> google.storage.v2.Bucket.RetentionPolicy
- 60, // 55: google.storage.v2.Bucket.iam_config:type_name -> google.storage.v2.Bucket.IamConfig
- 66, // 56: google.storage.v2.Bucket.custom_placement_config:type_name -> google.storage.v2.Bucket.CustomPlacementConfig
- 67, // 57: google.storage.v2.Bucket.autoclass:type_name -> google.storage.v2.Bucket.Autoclass
- 51, // 58: google.storage.v2.BucketAccessControl.project_team:type_name -> google.storage.v2.ProjectTeam
- 76, // 59: google.storage.v2.HmacKeyMetadata.create_time:type_name -> google.protobuf.Timestamp
- 76, // 60: google.storage.v2.HmacKeyMetadata.update_time:type_name -> google.protobuf.Timestamp
- 73, // 61: google.storage.v2.Notification.custom_attributes:type_name -> google.storage.v2.Notification.CustomAttributesEntry
- 49, // 62: google.storage.v2.Object.acl:type_name -> google.storage.v2.ObjectAccessControl
- 76, // 63: google.storage.v2.Object.delete_time:type_name -> google.protobuf.Timestamp
- 76, // 64: google.storage.v2.Object.create_time:type_name -> google.protobuf.Timestamp
- 44, // 65: google.storage.v2.Object.checksums:type_name -> google.storage.v2.ObjectChecksums
- 76, // 66: google.storage.v2.Object.update_time:type_name -> google.protobuf.Timestamp
- 76, // 67: google.storage.v2.Object.update_storage_class_time:type_name -> google.protobuf.Timestamp
- 76, // 68: google.storage.v2.Object.retention_expire_time:type_name -> google.protobuf.Timestamp
- 74, // 69: google.storage.v2.Object.metadata:type_name -> google.storage.v2.Object.MetadataEntry
- 53, // 70: google.storage.v2.Object.owner:type_name -> google.storage.v2.Owner
- 47, // 71: google.storage.v2.Object.customer_encryption:type_name -> google.storage.v2.CustomerEncryption
- 76, // 72: google.storage.v2.Object.custom_time:type_name -> google.protobuf.Timestamp
- 51, // 73: google.storage.v2.ObjectAccessControl.project_team:type_name -> google.storage.v2.ProjectTeam
- 48, // 74: google.storage.v2.ListObjectsResponse.objects:type_name -> google.storage.v2.Object
- 56, // 75: google.storage.v2.ComposeObjectRequest.SourceObject.object_preconditions:type_name -> google.storage.v2.ComposeObjectRequest.SourceObject.ObjectPreconditions
- 69, // 76: google.storage.v2.Bucket.IamConfig.uniform_bucket_level_access:type_name -> google.storage.v2.Bucket.IamConfig.UniformBucketLevelAccess
- 70, // 77: google.storage.v2.Bucket.Lifecycle.rule:type_name -> google.storage.v2.Bucket.Lifecycle.Rule
- 76, // 78: google.storage.v2.Bucket.RetentionPolicy.effective_time:type_name -> google.protobuf.Timestamp
- 76, // 79: google.storage.v2.Bucket.Autoclass.toggle_time:type_name -> google.protobuf.Timestamp
- 76, // 80: google.storage.v2.Bucket.IamConfig.UniformBucketLevelAccess.lock_time:type_name -> google.protobuf.Timestamp
- 71, // 81: google.storage.v2.Bucket.Lifecycle.Rule.action:type_name -> google.storage.v2.Bucket.Lifecycle.Rule.Action
- 72, // 82: google.storage.v2.Bucket.Lifecycle.Rule.condition:type_name -> google.storage.v2.Bucket.Lifecycle.Rule.Condition
- 77, // 83: google.storage.v2.Bucket.Lifecycle.Rule.Condition.created_before:type_name -> google.type.Date
- 77, // 84: google.storage.v2.Bucket.Lifecycle.Rule.Condition.custom_time_before:type_name -> google.type.Date
- 77, // 85: google.storage.v2.Bucket.Lifecycle.Rule.Condition.noncurrent_time_before:type_name -> google.type.Date
- 1, // 86: google.storage.v2.Storage.DeleteBucket:input_type -> google.storage.v2.DeleteBucketRequest
- 2, // 87: google.storage.v2.Storage.GetBucket:input_type -> google.storage.v2.GetBucketRequest
- 3, // 88: google.storage.v2.Storage.CreateBucket:input_type -> google.storage.v2.CreateBucketRequest
- 4, // 89: google.storage.v2.Storage.ListBuckets:input_type -> google.storage.v2.ListBucketsRequest
- 6, // 90: google.storage.v2.Storage.LockBucketRetentionPolicy:input_type -> google.storage.v2.LockBucketRetentionPolicyRequest
- 78, // 91: google.storage.v2.Storage.GetIamPolicy:input_type -> google.iam.v1.GetIamPolicyRequest
- 79, // 92: google.storage.v2.Storage.SetIamPolicy:input_type -> google.iam.v1.SetIamPolicyRequest
- 80, // 93: google.storage.v2.Storage.TestIamPermissions:input_type -> google.iam.v1.TestIamPermissionsRequest
- 7, // 94: google.storage.v2.Storage.UpdateBucket:input_type -> google.storage.v2.UpdateBucketRequest
- 8, // 95: google.storage.v2.Storage.DeleteNotification:input_type -> google.storage.v2.DeleteNotificationRequest
- 9, // 96: google.storage.v2.Storage.GetNotification:input_type -> google.storage.v2.GetNotificationRequest
- 10, // 97: google.storage.v2.Storage.CreateNotification:input_type -> google.storage.v2.CreateNotificationRequest
- 11, // 98: google.storage.v2.Storage.ListNotifications:input_type -> google.storage.v2.ListNotificationsRequest
- 13, // 99: google.storage.v2.Storage.ComposeObject:input_type -> google.storage.v2.ComposeObjectRequest
- 14, // 100: google.storage.v2.Storage.DeleteObject:input_type -> google.storage.v2.DeleteObjectRequest
- 15, // 101: google.storage.v2.Storage.CancelResumableWrite:input_type -> google.storage.v2.CancelResumableWriteRequest
- 18, // 102: google.storage.v2.Storage.GetObject:input_type -> google.storage.v2.GetObjectRequest
- 17, // 103: google.storage.v2.Storage.ReadObject:input_type -> google.storage.v2.ReadObjectRequest
- 30, // 104: google.storage.v2.Storage.UpdateObject:input_type -> google.storage.v2.UpdateObjectRequest
- 21, // 105: google.storage.v2.Storage.WriteObject:input_type -> google.storage.v2.WriteObjectRequest
- 23, // 106: google.storage.v2.Storage.ListObjects:input_type -> google.storage.v2.ListObjectsRequest
- 26, // 107: google.storage.v2.Storage.RewriteObject:input_type -> google.storage.v2.RewriteObjectRequest
- 28, // 108: google.storage.v2.Storage.StartResumableWrite:input_type -> google.storage.v2.StartResumableWriteRequest
- 24, // 109: google.storage.v2.Storage.QueryWriteStatus:input_type -> google.storage.v2.QueryWriteStatusRequest
- 31, // 110: google.storage.v2.Storage.GetServiceAccount:input_type -> google.storage.v2.GetServiceAccountRequest
- 32, // 111: google.storage.v2.Storage.CreateHmacKey:input_type -> google.storage.v2.CreateHmacKeyRequest
- 34, // 112: google.storage.v2.Storage.DeleteHmacKey:input_type -> google.storage.v2.DeleteHmacKeyRequest
- 35, // 113: google.storage.v2.Storage.GetHmacKey:input_type -> google.storage.v2.GetHmacKeyRequest
- 36, // 114: google.storage.v2.Storage.ListHmacKeys:input_type -> google.storage.v2.ListHmacKeysRequest
- 38, // 115: google.storage.v2.Storage.UpdateHmacKey:input_type -> google.storage.v2.UpdateHmacKeyRequest
- 81, // 116: google.storage.v2.Storage.DeleteBucket:output_type -> google.protobuf.Empty
- 41, // 117: google.storage.v2.Storage.GetBucket:output_type -> google.storage.v2.Bucket
- 41, // 118: google.storage.v2.Storage.CreateBucket:output_type -> google.storage.v2.Bucket
- 5, // 119: google.storage.v2.Storage.ListBuckets:output_type -> google.storage.v2.ListBucketsResponse
- 41, // 120: google.storage.v2.Storage.LockBucketRetentionPolicy:output_type -> google.storage.v2.Bucket
- 82, // 121: google.storage.v2.Storage.GetIamPolicy:output_type -> google.iam.v1.Policy
- 82, // 122: google.storage.v2.Storage.SetIamPolicy:output_type -> google.iam.v1.Policy
- 83, // 123: google.storage.v2.Storage.TestIamPermissions:output_type -> google.iam.v1.TestIamPermissionsResponse
- 41, // 124: google.storage.v2.Storage.UpdateBucket:output_type -> google.storage.v2.Bucket
- 81, // 125: google.storage.v2.Storage.DeleteNotification:output_type -> google.protobuf.Empty
- 46, // 126: google.storage.v2.Storage.GetNotification:output_type -> google.storage.v2.Notification
- 46, // 127: google.storage.v2.Storage.CreateNotification:output_type -> google.storage.v2.Notification
- 12, // 128: google.storage.v2.Storage.ListNotifications:output_type -> google.storage.v2.ListNotificationsResponse
- 48, // 129: google.storage.v2.Storage.ComposeObject:output_type -> google.storage.v2.Object
- 81, // 130: google.storage.v2.Storage.DeleteObject:output_type -> google.protobuf.Empty
- 16, // 131: google.storage.v2.Storage.CancelResumableWrite:output_type -> google.storage.v2.CancelResumableWriteResponse
- 48, // 132: google.storage.v2.Storage.GetObject:output_type -> google.storage.v2.Object
- 19, // 133: google.storage.v2.Storage.ReadObject:output_type -> google.storage.v2.ReadObjectResponse
- 48, // 134: google.storage.v2.Storage.UpdateObject:output_type -> google.storage.v2.Object
- 22, // 135: google.storage.v2.Storage.WriteObject:output_type -> google.storage.v2.WriteObjectResponse
- 50, // 136: google.storage.v2.Storage.ListObjects:output_type -> google.storage.v2.ListObjectsResponse
- 27, // 137: google.storage.v2.Storage.RewriteObject:output_type -> google.storage.v2.RewriteResponse
- 29, // 138: google.storage.v2.Storage.StartResumableWrite:output_type -> google.storage.v2.StartResumableWriteResponse
- 25, // 139: google.storage.v2.Storage.QueryWriteStatus:output_type -> google.storage.v2.QueryWriteStatusResponse
- 52, // 140: google.storage.v2.Storage.GetServiceAccount:output_type -> google.storage.v2.ServiceAccount
- 33, // 141: google.storage.v2.Storage.CreateHmacKey:output_type -> google.storage.v2.CreateHmacKeyResponse
- 81, // 142: google.storage.v2.Storage.DeleteHmacKey:output_type -> google.protobuf.Empty
- 45, // 143: google.storage.v2.Storage.GetHmacKey:output_type -> google.storage.v2.HmacKeyMetadata
- 37, // 144: google.storage.v2.Storage.ListHmacKeys:output_type -> google.storage.v2.ListHmacKeysResponse
- 45, // 145: google.storage.v2.Storage.UpdateHmacKey:output_type -> google.storage.v2.HmacKeyMetadata
- 116, // [116:146] is the sub-list for method output_type
- 86, // [86:116] is the sub-list for method input_type
- 86, // [86:86] is the sub-list for extension type_name
- 86, // [86:86] is the sub-list for extension extendee
- 0, // [0:86] is the sub-list for field type_name
+ 44, // 11: google.storage.v2.ComposeObjectRequest.object_checksums:type_name -> google.storage.v2.ObjectChecksums
+ 39, // 12: google.storage.v2.DeleteObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
+ 39, // 13: google.storage.v2.ReadObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
+ 75, // 14: google.storage.v2.ReadObjectRequest.read_mask:type_name -> google.protobuf.FieldMask
+ 39, // 15: google.storage.v2.GetObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
+ 75, // 16: google.storage.v2.GetObjectRequest.read_mask:type_name -> google.protobuf.FieldMask
+ 43, // 17: google.storage.v2.ReadObjectResponse.checksummed_data:type_name -> google.storage.v2.ChecksummedData
+ 44, // 18: google.storage.v2.ReadObjectResponse.object_checksums:type_name -> google.storage.v2.ObjectChecksums
+ 54, // 19: google.storage.v2.ReadObjectResponse.content_range:type_name -> google.storage.v2.ContentRange
+ 48, // 20: google.storage.v2.ReadObjectResponse.metadata:type_name -> google.storage.v2.Object
+ 48, // 21: google.storage.v2.WriteObjectSpec.resource:type_name -> google.storage.v2.Object
+ 20, // 22: google.storage.v2.WriteObjectRequest.write_object_spec:type_name -> google.storage.v2.WriteObjectSpec
+ 43, // 23: google.storage.v2.WriteObjectRequest.checksummed_data:type_name -> google.storage.v2.ChecksummedData
+ 44, // 24: google.storage.v2.WriteObjectRequest.object_checksums:type_name -> google.storage.v2.ObjectChecksums
+ 39, // 25: google.storage.v2.WriteObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
+ 48, // 26: google.storage.v2.WriteObjectResponse.resource:type_name -> google.storage.v2.Object
+ 75, // 27: google.storage.v2.ListObjectsRequest.read_mask:type_name -> google.protobuf.FieldMask
+ 39, // 28: google.storage.v2.QueryWriteStatusRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
+ 48, // 29: google.storage.v2.QueryWriteStatusResponse.resource:type_name -> google.storage.v2.Object
+ 48, // 30: google.storage.v2.RewriteObjectRequest.destination:type_name -> google.storage.v2.Object
+ 39, // 31: google.storage.v2.RewriteObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
+ 44, // 32: google.storage.v2.RewriteObjectRequest.object_checksums:type_name -> google.storage.v2.ObjectChecksums
+ 48, // 33: google.storage.v2.RewriteResponse.resource:type_name -> google.storage.v2.Object
+ 20, // 34: google.storage.v2.StartResumableWriteRequest.write_object_spec:type_name -> google.storage.v2.WriteObjectSpec
+ 39, // 35: google.storage.v2.StartResumableWriteRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
+ 44, // 36: google.storage.v2.StartResumableWriteRequest.object_checksums:type_name -> google.storage.v2.ObjectChecksums
+ 48, // 37: google.storage.v2.UpdateObjectRequest.object:type_name -> google.storage.v2.Object
+ 75, // 38: google.storage.v2.UpdateObjectRequest.update_mask:type_name -> google.protobuf.FieldMask
+ 39, // 39: google.storage.v2.UpdateObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
+ 45, // 40: google.storage.v2.CreateHmacKeyResponse.metadata:type_name -> google.storage.v2.HmacKeyMetadata
+ 45, // 41: google.storage.v2.ListHmacKeysResponse.hmac_keys:type_name -> google.storage.v2.HmacKeyMetadata
+ 45, // 42: google.storage.v2.UpdateHmacKeyRequest.hmac_key:type_name -> google.storage.v2.HmacKeyMetadata
+ 75, // 43: google.storage.v2.UpdateHmacKeyRequest.update_mask:type_name -> google.protobuf.FieldMask
+ 42, // 44: google.storage.v2.Bucket.acl:type_name -> google.storage.v2.BucketAccessControl
+ 49, // 45: google.storage.v2.Bucket.default_object_acl:type_name -> google.storage.v2.ObjectAccessControl
+ 61, // 46: google.storage.v2.Bucket.lifecycle:type_name -> google.storage.v2.Bucket.Lifecycle
+ 76, // 47: google.storage.v2.Bucket.create_time:type_name -> google.protobuf.Timestamp
+ 58, // 48: google.storage.v2.Bucket.cors:type_name -> google.storage.v2.Bucket.Cors
+ 76, // 49: google.storage.v2.Bucket.update_time:type_name -> google.protobuf.Timestamp
+ 68, // 50: google.storage.v2.Bucket.labels:type_name -> google.storage.v2.Bucket.LabelsEntry
+ 65, // 51: google.storage.v2.Bucket.website:type_name -> google.storage.v2.Bucket.Website
+ 64, // 52: google.storage.v2.Bucket.versioning:type_name -> google.storage.v2.Bucket.Versioning
+ 62, // 53: google.storage.v2.Bucket.logging:type_name -> google.storage.v2.Bucket.Logging
+ 53, // 54: google.storage.v2.Bucket.owner:type_name -> google.storage.v2.Owner
+ 59, // 55: google.storage.v2.Bucket.encryption:type_name -> google.storage.v2.Bucket.Encryption
+ 57, // 56: google.storage.v2.Bucket.billing:type_name -> google.storage.v2.Bucket.Billing
+ 63, // 57: google.storage.v2.Bucket.retention_policy:type_name -> google.storage.v2.Bucket.RetentionPolicy
+ 60, // 58: google.storage.v2.Bucket.iam_config:type_name -> google.storage.v2.Bucket.IamConfig
+ 66, // 59: google.storage.v2.Bucket.custom_placement_config:type_name -> google.storage.v2.Bucket.CustomPlacementConfig
+ 67, // 60: google.storage.v2.Bucket.autoclass:type_name -> google.storage.v2.Bucket.Autoclass
+ 51, // 61: google.storage.v2.BucketAccessControl.project_team:type_name -> google.storage.v2.ProjectTeam
+ 76, // 62: google.storage.v2.HmacKeyMetadata.create_time:type_name -> google.protobuf.Timestamp
+ 76, // 63: google.storage.v2.HmacKeyMetadata.update_time:type_name -> google.protobuf.Timestamp
+ 73, // 64: google.storage.v2.Notification.custom_attributes:type_name -> google.storage.v2.Notification.CustomAttributesEntry
+ 49, // 65: google.storage.v2.Object.acl:type_name -> google.storage.v2.ObjectAccessControl
+ 76, // 66: google.storage.v2.Object.delete_time:type_name -> google.protobuf.Timestamp
+ 76, // 67: google.storage.v2.Object.create_time:type_name -> google.protobuf.Timestamp
+ 44, // 68: google.storage.v2.Object.checksums:type_name -> google.storage.v2.ObjectChecksums
+ 76, // 69: google.storage.v2.Object.update_time:type_name -> google.protobuf.Timestamp
+ 76, // 70: google.storage.v2.Object.update_storage_class_time:type_name -> google.protobuf.Timestamp
+ 76, // 71: google.storage.v2.Object.retention_expire_time:type_name -> google.protobuf.Timestamp
+ 74, // 72: google.storage.v2.Object.metadata:type_name -> google.storage.v2.Object.MetadataEntry
+ 53, // 73: google.storage.v2.Object.owner:type_name -> google.storage.v2.Owner
+ 47, // 74: google.storage.v2.Object.customer_encryption:type_name -> google.storage.v2.CustomerEncryption
+ 76, // 75: google.storage.v2.Object.custom_time:type_name -> google.protobuf.Timestamp
+ 51, // 76: google.storage.v2.ObjectAccessControl.project_team:type_name -> google.storage.v2.ProjectTeam
+ 48, // 77: google.storage.v2.ListObjectsResponse.objects:type_name -> google.storage.v2.Object
+ 56, // 78: google.storage.v2.ComposeObjectRequest.SourceObject.object_preconditions:type_name -> google.storage.v2.ComposeObjectRequest.SourceObject.ObjectPreconditions
+ 69, // 79: google.storage.v2.Bucket.IamConfig.uniform_bucket_level_access:type_name -> google.storage.v2.Bucket.IamConfig.UniformBucketLevelAccess
+ 70, // 80: google.storage.v2.Bucket.Lifecycle.rule:type_name -> google.storage.v2.Bucket.Lifecycle.Rule
+ 76, // 81: google.storage.v2.Bucket.RetentionPolicy.effective_time:type_name -> google.protobuf.Timestamp
+ 77, // 82: google.storage.v2.Bucket.RetentionPolicy.retention_duration:type_name -> google.protobuf.Duration
+ 76, // 83: google.storage.v2.Bucket.Autoclass.toggle_time:type_name -> google.protobuf.Timestamp
+ 76, // 84: google.storage.v2.Bucket.IamConfig.UniformBucketLevelAccess.lock_time:type_name -> google.protobuf.Timestamp
+ 71, // 85: google.storage.v2.Bucket.Lifecycle.Rule.action:type_name -> google.storage.v2.Bucket.Lifecycle.Rule.Action
+ 72, // 86: google.storage.v2.Bucket.Lifecycle.Rule.condition:type_name -> google.storage.v2.Bucket.Lifecycle.Rule.Condition
+ 78, // 87: google.storage.v2.Bucket.Lifecycle.Rule.Condition.created_before:type_name -> google.type.Date
+ 78, // 88: google.storage.v2.Bucket.Lifecycle.Rule.Condition.custom_time_before:type_name -> google.type.Date
+ 78, // 89: google.storage.v2.Bucket.Lifecycle.Rule.Condition.noncurrent_time_before:type_name -> google.type.Date
+ 1, // 90: google.storage.v2.Storage.DeleteBucket:input_type -> google.storage.v2.DeleteBucketRequest
+ 2, // 91: google.storage.v2.Storage.GetBucket:input_type -> google.storage.v2.GetBucketRequest
+ 3, // 92: google.storage.v2.Storage.CreateBucket:input_type -> google.storage.v2.CreateBucketRequest
+ 4, // 93: google.storage.v2.Storage.ListBuckets:input_type -> google.storage.v2.ListBucketsRequest
+ 6, // 94: google.storage.v2.Storage.LockBucketRetentionPolicy:input_type -> google.storage.v2.LockBucketRetentionPolicyRequest
+ 79, // 95: google.storage.v2.Storage.GetIamPolicy:input_type -> google.iam.v1.GetIamPolicyRequest
+ 80, // 96: google.storage.v2.Storage.SetIamPolicy:input_type -> google.iam.v1.SetIamPolicyRequest
+ 81, // 97: google.storage.v2.Storage.TestIamPermissions:input_type -> google.iam.v1.TestIamPermissionsRequest
+ 7, // 98: google.storage.v2.Storage.UpdateBucket:input_type -> google.storage.v2.UpdateBucketRequest
+ 8, // 99: google.storage.v2.Storage.DeleteNotification:input_type -> google.storage.v2.DeleteNotificationRequest
+ 9, // 100: google.storage.v2.Storage.GetNotification:input_type -> google.storage.v2.GetNotificationRequest
+ 10, // 101: google.storage.v2.Storage.CreateNotification:input_type -> google.storage.v2.CreateNotificationRequest
+ 11, // 102: google.storage.v2.Storage.ListNotifications:input_type -> google.storage.v2.ListNotificationsRequest
+ 13, // 103: google.storage.v2.Storage.ComposeObject:input_type -> google.storage.v2.ComposeObjectRequest
+ 14, // 104: google.storage.v2.Storage.DeleteObject:input_type -> google.storage.v2.DeleteObjectRequest
+ 15, // 105: google.storage.v2.Storage.CancelResumableWrite:input_type -> google.storage.v2.CancelResumableWriteRequest
+ 18, // 106: google.storage.v2.Storage.GetObject:input_type -> google.storage.v2.GetObjectRequest
+ 17, // 107: google.storage.v2.Storage.ReadObject:input_type -> google.storage.v2.ReadObjectRequest
+ 30, // 108: google.storage.v2.Storage.UpdateObject:input_type -> google.storage.v2.UpdateObjectRequest
+ 21, // 109: google.storage.v2.Storage.WriteObject:input_type -> google.storage.v2.WriteObjectRequest
+ 23, // 110: google.storage.v2.Storage.ListObjects:input_type -> google.storage.v2.ListObjectsRequest
+ 26, // 111: google.storage.v2.Storage.RewriteObject:input_type -> google.storage.v2.RewriteObjectRequest
+ 28, // 112: google.storage.v2.Storage.StartResumableWrite:input_type -> google.storage.v2.StartResumableWriteRequest
+ 24, // 113: google.storage.v2.Storage.QueryWriteStatus:input_type -> google.storage.v2.QueryWriteStatusRequest
+ 31, // 114: google.storage.v2.Storage.GetServiceAccount:input_type -> google.storage.v2.GetServiceAccountRequest
+ 32, // 115: google.storage.v2.Storage.CreateHmacKey:input_type -> google.storage.v2.CreateHmacKeyRequest
+ 34, // 116: google.storage.v2.Storage.DeleteHmacKey:input_type -> google.storage.v2.DeleteHmacKeyRequest
+ 35, // 117: google.storage.v2.Storage.GetHmacKey:input_type -> google.storage.v2.GetHmacKeyRequest
+ 36, // 118: google.storage.v2.Storage.ListHmacKeys:input_type -> google.storage.v2.ListHmacKeysRequest
+ 38, // 119: google.storage.v2.Storage.UpdateHmacKey:input_type -> google.storage.v2.UpdateHmacKeyRequest
+ 82, // 120: google.storage.v2.Storage.DeleteBucket:output_type -> google.protobuf.Empty
+ 41, // 121: google.storage.v2.Storage.GetBucket:output_type -> google.storage.v2.Bucket
+ 41, // 122: google.storage.v2.Storage.CreateBucket:output_type -> google.storage.v2.Bucket
+ 5, // 123: google.storage.v2.Storage.ListBuckets:output_type -> google.storage.v2.ListBucketsResponse
+ 41, // 124: google.storage.v2.Storage.LockBucketRetentionPolicy:output_type -> google.storage.v2.Bucket
+ 83, // 125: google.storage.v2.Storage.GetIamPolicy:output_type -> google.iam.v1.Policy
+ 83, // 126: google.storage.v2.Storage.SetIamPolicy:output_type -> google.iam.v1.Policy
+ 84, // 127: google.storage.v2.Storage.TestIamPermissions:output_type -> google.iam.v1.TestIamPermissionsResponse
+ 41, // 128: google.storage.v2.Storage.UpdateBucket:output_type -> google.storage.v2.Bucket
+ 82, // 129: google.storage.v2.Storage.DeleteNotification:output_type -> google.protobuf.Empty
+ 46, // 130: google.storage.v2.Storage.GetNotification:output_type -> google.storage.v2.Notification
+ 46, // 131: google.storage.v2.Storage.CreateNotification:output_type -> google.storage.v2.Notification
+ 12, // 132: google.storage.v2.Storage.ListNotifications:output_type -> google.storage.v2.ListNotificationsResponse
+ 48, // 133: google.storage.v2.Storage.ComposeObject:output_type -> google.storage.v2.Object
+ 82, // 134: google.storage.v2.Storage.DeleteObject:output_type -> google.protobuf.Empty
+ 16, // 135: google.storage.v2.Storage.CancelResumableWrite:output_type -> google.storage.v2.CancelResumableWriteResponse
+ 48, // 136: google.storage.v2.Storage.GetObject:output_type -> google.storage.v2.Object
+ 19, // 137: google.storage.v2.Storage.ReadObject:output_type -> google.storage.v2.ReadObjectResponse
+ 48, // 138: google.storage.v2.Storage.UpdateObject:output_type -> google.storage.v2.Object
+ 22, // 139: google.storage.v2.Storage.WriteObject:output_type -> google.storage.v2.WriteObjectResponse
+ 50, // 140: google.storage.v2.Storage.ListObjects:output_type -> google.storage.v2.ListObjectsResponse
+ 27, // 141: google.storage.v2.Storage.RewriteObject:output_type -> google.storage.v2.RewriteResponse
+ 29, // 142: google.storage.v2.Storage.StartResumableWrite:output_type -> google.storage.v2.StartResumableWriteResponse
+ 25, // 143: google.storage.v2.Storage.QueryWriteStatus:output_type -> google.storage.v2.QueryWriteStatusResponse
+ 52, // 144: google.storage.v2.Storage.GetServiceAccount:output_type -> google.storage.v2.ServiceAccount
+ 33, // 145: google.storage.v2.Storage.CreateHmacKey:output_type -> google.storage.v2.CreateHmacKeyResponse
+ 82, // 146: google.storage.v2.Storage.DeleteHmacKey:output_type -> google.protobuf.Empty
+ 45, // 147: google.storage.v2.Storage.GetHmacKey:output_type -> google.storage.v2.HmacKeyMetadata
+ 37, // 148: google.storage.v2.Storage.ListHmacKeys:output_type -> google.storage.v2.ListHmacKeysResponse
+ 45, // 149: google.storage.v2.Storage.UpdateHmacKey:output_type -> google.storage.v2.HmacKeyMetadata
+ 120, // [120:150] is the sub-list for method output_type
+ 90, // [90:120] is the sub-list for method input_type
+ 90, // [90:90] is the sub-list for extension type_name
+ 90, // [90:90] is the sub-list for extension extendee
+ 0, // [0:90] is the sub-list for field type_name
}
func init() { file_google_storage_v2_storage_proto_init() }
@@ -9282,11 +9358,20 @@ type StorageClient interface {
// Locks retention policy on a bucket.
LockBucketRetentionPolicy(ctx context.Context, in *LockBucketRetentionPolicyRequest, opts ...grpc.CallOption) (*Bucket, error)
// Gets the IAM policy for a specified bucket or object.
+ // The `resource` field in the request should be
+ // projects/_/buckets/ for a bucket or
+ // projects/_/buckets//objects/ for an object.
GetIamPolicy(ctx context.Context, in *v1.GetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error)
// Updates an IAM policy for the specified bucket or object.
+ // The `resource` field in the request should be
+ // projects/_/buckets/ for a bucket or
+ // projects/_/buckets//objects/ for an object.
SetIamPolicy(ctx context.Context, in *v1.SetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error)
// Tests a set of permissions on the given bucket or object to see which, if
// any, are held by the caller.
+ // The `resource` field in the request should be
+ // projects/_/buckets/ for a bucket or
+ // projects/_/buckets//objects/ for an object.
TestIamPermissions(ctx context.Context, in *v1.TestIamPermissionsRequest, opts ...grpc.CallOption) (*v1.TestIamPermissionsResponse, error)
// Updates a bucket. Equivalent to JSON API's storage.buckets.patch method.
UpdateBucket(ctx context.Context, in *UpdateBucketRequest, opts ...grpc.CallOption) (*Bucket, error)
@@ -9745,11 +9830,20 @@ type StorageServer interface {
// Locks retention policy on a bucket.
LockBucketRetentionPolicy(context.Context, *LockBucketRetentionPolicyRequest) (*Bucket, error)
// Gets the IAM policy for a specified bucket or object.
+ // The `resource` field in the request should be
+ // projects/_/buckets/ for a bucket or
+ // projects/_/buckets//objects/ for an object.
GetIamPolicy(context.Context, *v1.GetIamPolicyRequest) (*v1.Policy, error)
// Updates an IAM policy for the specified bucket or object.
+ // The `resource` field in the request should be
+ // projects/_/buckets/ for a bucket or
+ // projects/_/buckets//objects/ for an object.
SetIamPolicy(context.Context, *v1.SetIamPolicyRequest) (*v1.Policy, error)
// Tests a set of permissions on the given bucket or object to see which, if
// any, are held by the caller.
+ // The `resource` field in the request should be
+ // projects/_/buckets/ for a bucket or
+ // projects/_/buckets//objects/ for an object.
TestIamPermissions(context.Context, *v1.TestIamPermissionsRequest) (*v1.TestIamPermissionsResponse, error)
// Updates a bucket. Equivalent to JSON API's storage.buckets.patch method.
UpdateBucket(context.Context, *UpdateBucketRequest) (*Bucket, error)
diff --git a/vendor/cloud.google.com/go/storage/internal/apiv2/version.go b/vendor/cloud.google.com/go/storage/internal/apiv2/version.go
index fd9c94596c..15920f3f63 100644
--- a/vendor/cloud.google.com/go/storage/internal/apiv2/version.go
+++ b/vendor/cloud.google.com/go/storage/internal/apiv2/version.go
@@ -1,4 +1,4 @@
-// Copyright 2022 Google LLC
+// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/vendor/cloud.google.com/go/storage/internal/version.go b/vendor/cloud.google.com/go/storage/internal/version.go
index 008568b405..a08cb7cabc 100644
--- a/vendor/cloud.google.com/go/storage/internal/version.go
+++ b/vendor/cloud.google.com/go/storage/internal/version.go
@@ -15,4 +15,4 @@
package internal
// Version is the current tagged release of the library.
-const Version = "1.28.1"
+const Version = "1.29.0"
diff --git a/vendor/cloud.google.com/go/storage/storage.go b/vendor/cloud.google.com/go/storage/storage.go
index b5c10efc8a..7fc3fc4cb9 100644
--- a/vendor/cloud.google.com/go/storage/storage.go
+++ b/vendor/cloud.google.com/go/storage/storage.go
@@ -1315,6 +1315,11 @@ type ObjectAttrs struct {
// later value but not to an earlier one. For more information see
// https://cloud.google.com/storage/docs/metadata#custom-time .
CustomTime time.Time
+
+ // ComponentCount is the number of objects contained within a composite object.
+ // For non-composite objects, the value will be zero.
+ // This field is read-only.
+ ComponentCount int64
}
// convertTime converts a time in RFC3339 format to time.Time.
@@ -1385,6 +1390,7 @@ func newObject(o *raw.Object) *ObjectAttrs {
Updated: convertTime(o.Updated),
Etag: o.Etag,
CustomTime: convertTime(o.CustomTime),
+ ComponentCount: o.ComponentCount,
}
}
@@ -1419,6 +1425,7 @@ func newObjectFromProto(o *storagepb.Object) *ObjectAttrs {
Deleted: convertProtoTime(o.GetDeleteTime()),
Updated: convertProtoTime(o.GetUpdateTime()),
CustomTime: convertProtoTime(o.GetCustomTime()),
+ ComponentCount: int64(o.ComponentCount),
}
}
@@ -1547,6 +1554,7 @@ var attrToFieldMap = map[string]string{
"Updated": "updated",
"Etag": "etag",
"CustomTime": "customTime",
+ "ComponentCount": "componentCount",
}
// attrToProtoFieldMap maps the field names of ObjectAttrs to the underlying field
@@ -1578,6 +1586,7 @@ var attrToProtoFieldMap = map[string]string{
"Owner": "owner",
"CustomerKeySHA256": "customer_encryption",
"CustomTime": "custom_time",
+ "ComponentCount": "component_count",
// MediaLink was explicitly excluded from the proto as it is an HTTP-ism.
// "MediaLink": "mediaLink",
}
@@ -2079,6 +2088,25 @@ func toProtoCommonObjectRequestParams(key []byte) *storagepb.CommonObjectRequest
}
}
+func toProtoChecksums(sendCRC32C bool, attrs *ObjectAttrs) *storagepb.ObjectChecksums {
+ var checksums *storagepb.ObjectChecksums
+ if sendCRC32C {
+ checksums = &storagepb.ObjectChecksums{
+ Crc32C: proto.Uint32(attrs.CRC32C),
+ }
+ }
+ if len(attrs.MD5) != 0 {
+ if checksums == nil {
+ checksums = &storagepb.ObjectChecksums{
+ Md5Hash: attrs.MD5,
+ }
+ } else {
+ checksums.Md5Hash = attrs.MD5
+ }
+ }
+ return checksums
+}
+
// ServiceAccount fetches the email address of the given project's Google Cloud Storage service account.
func (c *Client) ServiceAccount(ctx context.Context, projectID string) (string, error) {
o := makeStorageOpts(true, c.retry, "")
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go
index 7635f10de8..ed5a19dfea 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go
@@ -1733,9 +1733,15 @@ var awsPartition = partition{
},
"api.mediatailor": service{
Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
endpointKey{
Region: "ap-northeast-1",
}: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
endpointKey{
Region: "ap-southeast-1",
}: endpoint{},
@@ -1751,6 +1757,9 @@ var awsPartition = partition{
endpointKey{
Region: "us-east-1",
}: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
endpointKey{
Region: "us-west-2",
}: endpoint{},
@@ -3716,6 +3725,9 @@ var awsPartition = partition{
endpointKey{
Region: "eu-west-3",
}: endpoint{},
+ endpointKey{
+ Region: "me-central-1",
+ }: endpoint{},
endpointKey{
Region: "me-south-1",
}: endpoint{},
@@ -4951,6 +4963,9 @@ var awsPartition = partition{
endpointKey{
Region: "eu-west-3",
}: endpoint{},
+ endpointKey{
+ Region: "me-central-1",
+ }: endpoint{},
endpointKey{
Region: "me-south-1",
}: endpoint{},
@@ -8330,6 +8345,9 @@ var awsPartition = partition{
endpointKey{
Region: "ap-south-1",
}: endpoint{},
+ endpointKey{
+ Region: "ap-south-2",
+ }: endpoint{},
endpointKey{
Region: "ap-southeast-1",
}: endpoint{},
@@ -8351,12 +8369,18 @@ var awsPartition = partition{
endpointKey{
Region: "eu-central-1",
}: endpoint{},
+ endpointKey{
+ Region: "eu-central-2",
+ }: endpoint{},
endpointKey{
Region: "eu-north-1",
}: endpoint{},
endpointKey{
Region: "eu-south-1",
}: endpoint{},
+ endpointKey{
+ Region: "eu-south-2",
+ }: endpoint{},
endpointKey{
Region: "eu-west-1",
}: endpoint{},
@@ -9373,6 +9397,15 @@ var awsPartition = partition{
}: endpoint{
Hostname: "elasticfilesystem-fips.eu-south-1.amazonaws.com",
},
+ endpointKey{
+ Region: "eu-south-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticfilesystem-fips.eu-south-2.amazonaws.com",
+ },
endpointKey{
Region: "eu-west-1",
}: endpoint{},
@@ -9526,6 +9559,15 @@ var awsPartition = partition{
},
Deprecated: boxedTrue,
},
+ endpointKey{
+ Region: "fips-eu-south-2",
+ }: endpoint{
+ Hostname: "elasticfilesystem-fips.eu-south-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "eu-south-2",
+ },
+ Deprecated: boxedTrue,
+ },
endpointKey{
Region: "fips-eu-west-1",
}: endpoint{
@@ -15965,6 +16007,9 @@ var awsPartition = partition{
endpointKey{
Region: "ap-northeast-1",
}: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
endpointKey{
Region: "ap-south-1",
}: endpoint{},
@@ -16005,6 +16050,18 @@ var awsPartition = partition{
Deprecated: boxedTrue,
},
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
+
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
+
+ Deprecated: boxedTrue,
+ },
endpointKey{
Region: "fips-us-west-2",
}: endpoint{
@@ -16021,6 +16078,20 @@ var awsPartition = partition{
Region: "us-east-1",
Variant: fipsVariant,
}: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{},
endpointKey{
Region: "us-west-2",
}: endpoint{},
@@ -23202,6 +23273,9 @@ var awsPartition = partition{
},
Deprecated: boxedTrue,
},
+ endpointKey{
+ Region: "me-central-1",
+ }: endpoint{},
endpointKey{
Region: "me-south-1",
}: endpoint{},
@@ -24831,12 +24905,72 @@ var awsPartition = partition{
},
"ssm-sap": service{
Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
endpointKey{
Region: "ap-southeast-2",
}: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
endpointKey{
Region: "us-east-1",
}: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"sso": service{
@@ -31472,9 +31606,24 @@ var awsusgovPartition = partition{
},
"databrew": service{
Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
+ Hostname: "databrew.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
endpointKey{
Region: "us-gov-west-1",
}: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "databrew.us-gov-west-1.amazonaws.com",
+ },
},
},
"datasync": service{
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/version.go b/vendor/github.com/aws/aws-sdk-go/aws/version.go
index 5659396dda..32befe5d6f 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/version.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/version.go
@@ -5,4 +5,4 @@ package aws
const SDKName = "aws-sdk-go"
// SDKVersion is the version of this SDK
-const SDKVersion = "1.44.180"
+const SDKVersion = "1.44.184"
diff --git a/vendor/github.com/fatih/color/README.md b/vendor/github.com/fatih/color/README.md
index 5152bf59bf..be82827cac 100644
--- a/vendor/github.com/fatih/color/README.md
+++ b/vendor/github.com/fatih/color/README.md
@@ -7,7 +7,6 @@ suits you.

-
## Install
```bash
@@ -124,17 +123,17 @@ fmt.Println("All text will now be bold magenta.")
```
### Disable/Enable color
-
+
There might be a case where you want to explicitly disable/enable color output. the
`go-isatty` package will automatically disable color output for non-tty output streams
(for example if the output were piped directly to `less`).
The `color` package also disables color output if the [`NO_COLOR`](https://no-color.org) environment
-variable is set (regardless of its value).
+variable is set to a non-empty string.
-`Color` has support to disable/enable colors programatically both globally and
+`Color` has support to disable/enable colors programmatically both globally and
for single color definitions. For example suppose you have a CLI app and a
-`--no-color` bool flag. You can easily disable the color output with:
+`-no-color` bool flag. You can easily disable the color output with:
```go
var flagNoColor = flag.Bool("no-color", false, "Disable color output")
@@ -167,11 +166,10 @@ To output color in GitHub Actions (or other CI systems that support ANSI colors)
* Save/Return previous values
* Evaluate fmt.Formatter interface
-
## Credits
- * [Fatih Arslan](https://github.com/fatih)
- * Windows support via @mattn: [colorable](https://github.com/mattn/go-colorable)
+* [Fatih Arslan](https://github.com/fatih)
+* Windows support via @mattn: [colorable](https://github.com/mattn/go-colorable)
## License
diff --git a/vendor/github.com/fatih/color/color.go b/vendor/github.com/fatih/color/color.go
index 98a60f3c88..889f9e77bd 100644
--- a/vendor/github.com/fatih/color/color.go
+++ b/vendor/github.com/fatih/color/color.go
@@ -19,10 +19,10 @@ var (
// set (regardless of its value). This is a global option and affects all
// colors. For more control over each color block use the methods
// DisableColor() individually.
- NoColor = noColorExists() || os.Getenv("TERM") == "dumb" ||
+ NoColor = noColorIsSet() || os.Getenv("TERM") == "dumb" ||
(!isatty.IsTerminal(os.Stdout.Fd()) && !isatty.IsCygwinTerminal(os.Stdout.Fd()))
- // Output defines the standard output of the print functions. By default
+ // Output defines the standard output of the print functions. By default,
// os.Stdout is used.
Output = colorable.NewColorableStdout()
@@ -35,10 +35,9 @@ var (
colorsCacheMu sync.Mutex // protects colorsCache
)
-// noColorExists returns true if the environment variable NO_COLOR exists.
-func noColorExists() bool {
- _, exists := os.LookupEnv("NO_COLOR")
- return exists
+// noColorIsSet returns true if the environment variable NO_COLOR is set to a non-empty string.
+func noColorIsSet() bool {
+ return os.Getenv("NO_COLOR") != ""
}
// Color defines a custom color object which is defined by SGR parameters.
@@ -120,7 +119,7 @@ func New(value ...Attribute) *Color {
params: make([]Attribute, 0),
}
- if noColorExists() {
+ if noColorIsSet() {
c.noColor = boolPtr(true)
}
@@ -152,7 +151,7 @@ func (c *Color) Set() *Color {
return c
}
- fmt.Fprintf(Output, c.format())
+ fmt.Fprint(Output, c.format())
return c
}
@@ -164,16 +163,21 @@ func (c *Color) unset() {
Unset()
}
-func (c *Color) setWriter(w io.Writer) *Color {
+// SetWriter is used to set the SGR sequence with the given io.Writer. This is
+// a low-level function, and users should use the higher-level functions, such
+// as color.Fprint, color.Print, etc.
+func (c *Color) SetWriter(w io.Writer) *Color {
if c.isNoColorSet() {
return c
}
- fmt.Fprintf(w, c.format())
+ fmt.Fprint(w, c.format())
return c
}
-func (c *Color) unsetWriter(w io.Writer) {
+// UnsetWriter resets all escape attributes and clears the output with the give
+// io.Writer. Usually should be called after SetWriter().
+func (c *Color) UnsetWriter(w io.Writer) {
if c.isNoColorSet() {
return
}
@@ -192,20 +196,14 @@ func (c *Color) Add(value ...Attribute) *Color {
return c
}
-func (c *Color) prepend(value Attribute) {
- c.params = append(c.params, 0)
- copy(c.params[1:], c.params[0:])
- c.params[0] = value
-}
-
// Fprint formats using the default formats for its operands and writes to w.
// Spaces are added between operands when neither is a string.
// It returns the number of bytes written and any write error encountered.
// On Windows, users should wrap w with colorable.NewColorable() if w is of
// type *os.File.
func (c *Color) Fprint(w io.Writer, a ...interface{}) (n int, err error) {
- c.setWriter(w)
- defer c.unsetWriter(w)
+ c.SetWriter(w)
+ defer c.UnsetWriter(w)
return fmt.Fprint(w, a...)
}
@@ -227,8 +225,8 @@ func (c *Color) Print(a ...interface{}) (n int, err error) {
// On Windows, users should wrap w with colorable.NewColorable() if w is of
// type *os.File.
func (c *Color) Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error) {
- c.setWriter(w)
- defer c.unsetWriter(w)
+ c.SetWriter(w)
+ defer c.UnsetWriter(w)
return fmt.Fprintf(w, format, a...)
}
@@ -248,8 +246,8 @@ func (c *Color) Printf(format string, a ...interface{}) (n int, err error) {
// On Windows, users should wrap w with colorable.NewColorable() if w is of
// type *os.File.
func (c *Color) Fprintln(w io.Writer, a ...interface{}) (n int, err error) {
- c.setWriter(w)
- defer c.unsetWriter(w)
+ c.SetWriter(w)
+ defer c.UnsetWriter(w)
return fmt.Fprintln(w, a...)
}
@@ -396,7 +394,7 @@ func (c *Color) DisableColor() {
}
// EnableColor enables the color output. Use it in conjunction with
-// DisableColor(). Otherwise this method has no side effects.
+// DisableColor(). Otherwise, this method has no side effects.
func (c *Color) EnableColor() {
c.noColor = boolPtr(false)
}
diff --git a/vendor/github.com/fatih/color/doc.go b/vendor/github.com/fatih/color/doc.go
index 04541de786..9491ad5413 100644
--- a/vendor/github.com/fatih/color/doc.go
+++ b/vendor/github.com/fatih/color/doc.go
@@ -5,106 +5,105 @@ that suits you.
Use simple and default helper functions with predefined foreground colors:
- color.Cyan("Prints text in cyan.")
+ color.Cyan("Prints text in cyan.")
- // a newline will be appended automatically
- color.Blue("Prints %s in blue.", "text")
+ // a newline will be appended automatically
+ color.Blue("Prints %s in blue.", "text")
- // More default foreground colors..
- color.Red("We have red")
- color.Yellow("Yellow color too!")
- color.Magenta("And many others ..")
+ // More default foreground colors..
+ color.Red("We have red")
+ color.Yellow("Yellow color too!")
+ color.Magenta("And many others ..")
- // Hi-intensity colors
- color.HiGreen("Bright green color.")
- color.HiBlack("Bright black means gray..")
- color.HiWhite("Shiny white color!")
+ // Hi-intensity colors
+ color.HiGreen("Bright green color.")
+ color.HiBlack("Bright black means gray..")
+ color.HiWhite("Shiny white color!")
-However there are times where custom color mixes are required. Below are some
+However, there are times when custom color mixes are required. Below are some
examples to create custom color objects and use the print functions of each
separate color object.
- // Create a new color object
- c := color.New(color.FgCyan).Add(color.Underline)
- c.Println("Prints cyan text with an underline.")
+ // Create a new color object
+ c := color.New(color.FgCyan).Add(color.Underline)
+ c.Println("Prints cyan text with an underline.")
- // Or just add them to New()
- d := color.New(color.FgCyan, color.Bold)
- d.Printf("This prints bold cyan %s\n", "too!.")
+ // Or just add them to New()
+ d := color.New(color.FgCyan, color.Bold)
+ d.Printf("This prints bold cyan %s\n", "too!.")
- // Mix up foreground and background colors, create new mixes!
- red := color.New(color.FgRed)
+ // Mix up foreground and background colors, create new mixes!
+ red := color.New(color.FgRed)
- boldRed := red.Add(color.Bold)
- boldRed.Println("This will print text in bold red.")
+ boldRed := red.Add(color.Bold)
+ boldRed.Println("This will print text in bold red.")
- whiteBackground := red.Add(color.BgWhite)
- whiteBackground.Println("Red text with White background.")
+ whiteBackground := red.Add(color.BgWhite)
+ whiteBackground.Println("Red text with White background.")
- // Use your own io.Writer output
- color.New(color.FgBlue).Fprintln(myWriter, "blue color!")
+ // Use your own io.Writer output
+ color.New(color.FgBlue).Fprintln(myWriter, "blue color!")
- blue := color.New(color.FgBlue)
- blue.Fprint(myWriter, "This will print text in blue.")
+ blue := color.New(color.FgBlue)
+ blue.Fprint(myWriter, "This will print text in blue.")
You can create PrintXxx functions to simplify even more:
- // Create a custom print function for convenient
- red := color.New(color.FgRed).PrintfFunc()
- red("warning")
- red("error: %s", err)
+ // Create a custom print function for convenient
+ red := color.New(color.FgRed).PrintfFunc()
+ red("warning")
+ red("error: %s", err)
- // Mix up multiple attributes
- notice := color.New(color.Bold, color.FgGreen).PrintlnFunc()
- notice("don't forget this...")
+ // Mix up multiple attributes
+ notice := color.New(color.Bold, color.FgGreen).PrintlnFunc()
+ notice("don't forget this...")
You can also FprintXxx functions to pass your own io.Writer:
- blue := color.New(FgBlue).FprintfFunc()
- blue(myWriter, "important notice: %s", stars)
-
- // Mix up with multiple attributes
- success := color.New(color.Bold, color.FgGreen).FprintlnFunc()
- success(myWriter, don't forget this...")
+ blue := color.New(FgBlue).FprintfFunc()
+ blue(myWriter, "important notice: %s", stars)
+ // Mix up with multiple attributes
+ success := color.New(color.Bold, color.FgGreen).FprintlnFunc()
+ success(myWriter, don't forget this...")
Or create SprintXxx functions to mix strings with other non-colorized strings:
- yellow := New(FgYellow).SprintFunc()
- red := New(FgRed).SprintFunc()
+ yellow := New(FgYellow).SprintFunc()
+ red := New(FgRed).SprintFunc()
- fmt.Printf("this is a %s and this is %s.\n", yellow("warning"), red("error"))
+ fmt.Printf("this is a %s and this is %s.\n", yellow("warning"), red("error"))
- info := New(FgWhite, BgGreen).SprintFunc()
- fmt.Printf("this %s rocks!\n", info("package"))
+ info := New(FgWhite, BgGreen).SprintFunc()
+ fmt.Printf("this %s rocks!\n", info("package"))
Windows support is enabled by default. All Print functions work as intended.
-However only for color.SprintXXX functions, user should use fmt.FprintXXX and
+However, only for color.SprintXXX functions, user should use fmt.FprintXXX and
set the output to color.Output:
- fmt.Fprintf(color.Output, "Windows support: %s", color.GreenString("PASS"))
+ fmt.Fprintf(color.Output, "Windows support: %s", color.GreenString("PASS"))
- info := New(FgWhite, BgGreen).SprintFunc()
- fmt.Fprintf(color.Output, "this %s rocks!\n", info("package"))
+ info := New(FgWhite, BgGreen).SprintFunc()
+ fmt.Fprintf(color.Output, "this %s rocks!\n", info("package"))
Using with existing code is possible. Just use the Set() method to set the
standard output to the given parameters. That way a rewrite of an existing
code is not required.
- // Use handy standard colors.
- color.Set(color.FgYellow)
+ // Use handy standard colors.
+ color.Set(color.FgYellow)
- fmt.Println("Existing text will be now in Yellow")
- fmt.Printf("This one %s\n", "too")
+ fmt.Println("Existing text will be now in Yellow")
+ fmt.Printf("This one %s\n", "too")
- color.Unset() // don't forget to unset
+ color.Unset() // don't forget to unset
- // You can mix up parameters
- color.Set(color.FgMagenta, color.Bold)
- defer color.Unset() // use it in your function
+ // You can mix up parameters
+ color.Set(color.FgMagenta, color.Bold)
+ defer color.Unset() // use it in your function
- fmt.Println("All text will be now bold magenta.")
+ fmt.Println("All text will be now bold magenta.")
There might be a case where you want to disable color output (for example to
pipe the standard output of your app to somewhere else). `Color` has support to
@@ -112,24 +111,24 @@ disable colors both globally and for single color definition. For example
suppose you have a CLI app and a `--no-color` bool flag. You can easily disable
the color output with:
- var flagNoColor = flag.Bool("no-color", false, "Disable color output")
+ var flagNoColor = flag.Bool("no-color", false, "Disable color output")
- if *flagNoColor {
- color.NoColor = true // disables colorized output
- }
+ if *flagNoColor {
+ color.NoColor = true // disables colorized output
+ }
You can also disable the color by setting the NO_COLOR environment variable to any value.
It also has support for single color definitions (local). You can
disable/enable color output on the fly:
- c := color.New(color.FgCyan)
- c.Println("Prints cyan text")
+ c := color.New(color.FgCyan)
+ c.Println("Prints cyan text")
- c.DisableColor()
- c.Println("This is printed without any color")
+ c.DisableColor()
+ c.Println("This is printed without any color")
- c.EnableColor()
- c.Println("This prints again cyan...")
+ c.EnableColor()
+ c.Println("This prints again cyan...")
*/
package color
diff --git a/vendor/github.com/klauspost/compress/README.md b/vendor/github.com/klauspost/compress/README.md
index d73fb86e4f..63f2cd5b25 100644
--- a/vendor/github.com/klauspost/compress/README.md
+++ b/vendor/github.com/klauspost/compress/README.md
@@ -16,6 +16,13 @@ This package provides various compression algorithms.
# changelog
+* Jan 3rd, 2023 (v1.15.14)
+
+ * flate: Improve speed in big stateless blocks https://github.com/klauspost/compress/pull/718
+ * zstd: Minor speed tweaks by @greatroar in https://github.com/klauspost/compress/pull/716 https://github.com/klauspost/compress/pull/720
+ * export NoGzipResponseWriter for custom ResponseWriter wrappers by @harshavardhana in https://github.com/klauspost/compress/pull/722
+ * s2: Add example for indexing and existing stream https://github.com/klauspost/compress/pull/723
+
* Dec 11, 2022 (v1.15.13)
* zstd: Add [MaxEncodedSize](https://pkg.go.dev/github.com/klauspost/compress@v1.15.13/zstd#Encoder.MaxEncodedSize) to encoder https://github.com/klauspost/compress/pull/691
* zstd: Various tweaks and improvements https://github.com/klauspost/compress/pull/693 https://github.com/klauspost/compress/pull/695 https://github.com/klauspost/compress/pull/696 https://github.com/klauspost/compress/pull/701 https://github.com/klauspost/compress/pull/702 https://github.com/klauspost/compress/pull/703 https://github.com/klauspost/compress/pull/704 https://github.com/klauspost/compress/pull/705 https://github.com/klauspost/compress/pull/706 https://github.com/klauspost/compress/pull/707 https://github.com/klauspost/compress/pull/708
diff --git a/vendor/github.com/klauspost/compress/flate/deflate.go b/vendor/github.com/klauspost/compress/flate/deflate.go
index 07265ddede..82882961a0 100644
--- a/vendor/github.com/klauspost/compress/flate/deflate.go
+++ b/vendor/github.com/klauspost/compress/flate/deflate.go
@@ -294,7 +294,6 @@ func (d *compressor) findMatch(pos int, prevHead int, lookahead int) (length, of
}
offset = 0
- cGain := 0
if d.chain < 100 {
for i := prevHead; tries > 0; tries-- {
if wEnd == win[i+length] {
@@ -322,10 +321,14 @@ func (d *compressor) findMatch(pos int, prevHead int, lookahead int) (length, of
return
}
+ // Minimum gain to accept a match.
+ cGain := 4
+
// Some like it higher (CSV), some like it lower (JSON)
- const baseCost = 6
+ const baseCost = 3
// Base is 4 bytes at with an additional cost.
// Matches must be better than this.
+
for i := prevHead; tries > 0; tries-- {
if wEnd == win[i+length] {
n := matchLen(win[i:i+minMatchLook], wPos)
@@ -333,7 +336,7 @@ func (d *compressor) findMatch(pos int, prevHead int, lookahead int) (length, of
// Calculate gain. Estimate
newGain := d.h.bitLengthRaw(wPos[:n]) - int(offsetExtraBits[offsetCode(uint32(pos-i))]) - baseCost - int(lengthExtraBits[lengthCodes[(n-3)&255]])
- //fmt.Println(n, "gain:", newGain, "prev:", cGain, "raw:", d.h.bitLengthRaw(wPos[:n]))
+ //fmt.Println("gain:", newGain, "prev:", cGain, "raw:", d.h.bitLengthRaw(wPos[:n]), "this-len:", n, "prev-len:", length)
if newGain > cGain {
length = n
offset = pos - i
@@ -490,27 +493,103 @@ func (d *compressor) deflateLazy() {
}
if prevLength >= minMatchLength && s.length <= prevLength {
- // Check for better match at end...
+ // No better match, but check for better match at end...
//
- // checkOff must be >=2 since we otherwise risk checking s.index
- // Offset of 2 seems to yield best results.
+ // Skip forward a number of bytes.
+ // Offset of 2 seems to yield best results. 3 is sometimes better.
const checkOff = 2
- prevIndex := s.index - 1
- if prevIndex+prevLength+checkOff < s.maxInsertIndex {
- end := lookahead
- if lookahead > maxMatchLength {
- end = maxMatchLength
- }
- end += prevIndex
- idx := prevIndex + prevLength - (4 - checkOff)
- h := hash4(d.window[idx:])
- ch2 := int(s.hashHead[h]) - s.hashOffset - prevLength + (4 - checkOff)
- if ch2 > minIndex {
- length := matchLen(d.window[prevIndex:end], d.window[ch2:])
- // It seems like a pure length metric is best.
- if length > prevLength {
- prevLength = length
- prevOffset = prevIndex - ch2
+
+ // Check all, except full length
+ if prevLength < maxMatchLength-checkOff {
+ prevIndex := s.index - 1
+ if prevIndex+prevLength < s.maxInsertIndex {
+ end := lookahead
+ if lookahead > maxMatchLength+checkOff {
+ end = maxMatchLength + checkOff
+ }
+ end += prevIndex
+
+ // Hash at match end.
+ h := hash4(d.window[prevIndex+prevLength:])
+ ch2 := int(s.hashHead[h]) - s.hashOffset - prevLength
+ if prevIndex-ch2 != prevOffset && ch2 > minIndex+checkOff {
+ length := matchLen(d.window[prevIndex+checkOff:end], d.window[ch2+checkOff:])
+ // It seems like a pure length metric is best.
+ if length > prevLength {
+ prevLength = length
+ prevOffset = prevIndex - ch2
+
+ // Extend back...
+ for i := checkOff - 1; i >= 0; i-- {
+ if prevLength >= maxMatchLength || d.window[prevIndex+i] != d.window[ch2+i] {
+ // Emit tokens we "owe"
+ for j := 0; j <= i; j++ {
+ d.tokens.AddLiteral(d.window[prevIndex+j])
+ if d.tokens.n == maxFlateBlockTokens {
+ // The block includes the current character
+ if d.err = d.writeBlock(&d.tokens, s.index, false); d.err != nil {
+ return
+ }
+ d.tokens.Reset()
+ }
+ s.index++
+ if s.index < s.maxInsertIndex {
+ h := hash4(d.window[s.index:])
+ ch := s.hashHead[h]
+ s.chainHead = int(ch)
+ s.hashPrev[s.index&windowMask] = ch
+ s.hashHead[h] = uint32(s.index + s.hashOffset)
+ }
+ }
+ break
+ } else {
+ prevLength++
+ }
+ }
+ } else if false {
+ // Check one further ahead.
+ // Only rarely better, disabled for now.
+ prevIndex++
+ h := hash4(d.window[prevIndex+prevLength:])
+ ch2 := int(s.hashHead[h]) - s.hashOffset - prevLength
+ if prevIndex-ch2 != prevOffset && ch2 > minIndex+checkOff {
+ length := matchLen(d.window[prevIndex+checkOff:end], d.window[ch2+checkOff:])
+ // It seems like a pure length metric is best.
+ if length > prevLength+checkOff {
+ prevLength = length
+ prevOffset = prevIndex - ch2
+ prevIndex--
+
+ // Extend back...
+ for i := checkOff; i >= 0; i-- {
+ if prevLength >= maxMatchLength || d.window[prevIndex+i] != d.window[ch2+i-1] {
+ // Emit tokens we "owe"
+ for j := 0; j <= i; j++ {
+ d.tokens.AddLiteral(d.window[prevIndex+j])
+ if d.tokens.n == maxFlateBlockTokens {
+ // The block includes the current character
+ if d.err = d.writeBlock(&d.tokens, s.index, false); d.err != nil {
+ return
+ }
+ d.tokens.Reset()
+ }
+ s.index++
+ if s.index < s.maxInsertIndex {
+ h := hash4(d.window[s.index:])
+ ch := s.hashHead[h]
+ s.chainHead = int(ch)
+ s.hashPrev[s.index&windowMask] = ch
+ s.hashHead[h] = uint32(s.index + s.hashOffset)
+ }
+ }
+ break
+ } else {
+ prevLength++
+ }
+ }
+ }
+ }
+ }
}
}
}
diff --git a/vendor/github.com/klauspost/compress/fse/compress.go b/vendor/github.com/klauspost/compress/fse/compress.go
index 6f341914c6..dac97e58a2 100644
--- a/vendor/github.com/klauspost/compress/fse/compress.go
+++ b/vendor/github.com/klauspost/compress/fse/compress.go
@@ -146,54 +146,51 @@ func (s *Scratch) compress(src []byte) error {
c1.encodeZero(tt[src[ip-2]])
ip -= 2
}
+ src = src[:ip]
// Main compression loop.
switch {
case !s.zeroBits && s.actualTableLog <= 8:
// We can encode 4 symbols without requiring a flush.
// We do not need to check if any output is 0 bits.
- for ip >= 4 {
+ for ; len(src) >= 4; src = src[:len(src)-4] {
s.bw.flush32()
- v3, v2, v1, v0 := src[ip-4], src[ip-3], src[ip-2], src[ip-1]
+ v3, v2, v1, v0 := src[len(src)-4], src[len(src)-3], src[len(src)-2], src[len(src)-1]
c2.encode(tt[v0])
c1.encode(tt[v1])
c2.encode(tt[v2])
c1.encode(tt[v3])
- ip -= 4
}
case !s.zeroBits:
// We do not need to check if any output is 0 bits.
- for ip >= 4 {
+ for ; len(src) >= 4; src = src[:len(src)-4] {
s.bw.flush32()
- v3, v2, v1, v0 := src[ip-4], src[ip-3], src[ip-2], src[ip-1]
+ v3, v2, v1, v0 := src[len(src)-4], src[len(src)-3], src[len(src)-2], src[len(src)-1]
c2.encode(tt[v0])
c1.encode(tt[v1])
s.bw.flush32()
c2.encode(tt[v2])
c1.encode(tt[v3])
- ip -= 4
}
case s.actualTableLog <= 8:
// We can encode 4 symbols without requiring a flush
- for ip >= 4 {
+ for ; len(src) >= 4; src = src[:len(src)-4] {
s.bw.flush32()
- v3, v2, v1, v0 := src[ip-4], src[ip-3], src[ip-2], src[ip-1]
+ v3, v2, v1, v0 := src[len(src)-4], src[len(src)-3], src[len(src)-2], src[len(src)-1]
c2.encodeZero(tt[v0])
c1.encodeZero(tt[v1])
c2.encodeZero(tt[v2])
c1.encodeZero(tt[v3])
- ip -= 4
}
default:
- for ip >= 4 {
+ for ; len(src) >= 4; src = src[:len(src)-4] {
s.bw.flush32()
- v3, v2, v1, v0 := src[ip-4], src[ip-3], src[ip-2], src[ip-1]
+ v3, v2, v1, v0 := src[len(src)-4], src[len(src)-3], src[len(src)-2], src[len(src)-1]
c2.encodeZero(tt[v0])
c1.encodeZero(tt[v1])
s.bw.flush32()
c2.encodeZero(tt[v2])
c1.encodeZero(tt[v3])
- ip -= 4
}
}
@@ -459,15 +456,17 @@ func (s *Scratch) countSimple(in []byte) (max int) {
for _, v := range in {
s.count[v]++
}
- m := uint32(0)
+ m, symlen := uint32(0), s.symbolLen
for i, v := range s.count[:] {
+ if v == 0 {
+ continue
+ }
if v > m {
m = v
}
- if v > 0 {
- s.symbolLen = uint16(i) + 1
- }
+ symlen = uint16(i) + 1
}
+ s.symbolLen = symlen
return int(m)
}
diff --git a/vendor/github.com/klauspost/compress/huff0/bitreader.go b/vendor/github.com/klauspost/compress/huff0/bitreader.go
index 504a7be9da..e36d9742f9 100644
--- a/vendor/github.com/klauspost/compress/huff0/bitreader.go
+++ b/vendor/github.com/klauspost/compress/huff0/bitreader.go
@@ -67,7 +67,6 @@ func (b *bitReaderBytes) fillFast() {
// 2 bounds checks.
v := b.in[b.off-4 : b.off]
- v = v[:4]
low := (uint32(v[0])) | (uint32(v[1]) << 8) | (uint32(v[2]) << 16) | (uint32(v[3]) << 24)
b.value |= uint64(low) << (b.bitsRead - 32)
b.bitsRead -= 32
@@ -88,8 +87,7 @@ func (b *bitReaderBytes) fill() {
return
}
if b.off > 4 {
- v := b.in[b.off-4:]
- v = v[:4]
+ v := b.in[b.off-4 : b.off]
low := (uint32(v[0])) | (uint32(v[1]) << 8) | (uint32(v[2]) << 16) | (uint32(v[3]) << 24)
b.value |= uint64(low) << (b.bitsRead - 32)
b.bitsRead -= 32
@@ -179,7 +177,6 @@ func (b *bitReaderShifted) fillFast() {
// 2 bounds checks.
v := b.in[b.off-4 : b.off]
- v = v[:4]
low := (uint32(v[0])) | (uint32(v[1]) << 8) | (uint32(v[2]) << 16) | (uint32(v[3]) << 24)
b.value |= uint64(low) << ((b.bitsRead - 32) & 63)
b.bitsRead -= 32
@@ -200,8 +197,7 @@ func (b *bitReaderShifted) fill() {
return
}
if b.off > 4 {
- v := b.in[b.off-4:]
- v = v[:4]
+ v := b.in[b.off-4 : b.off]
low := (uint32(v[0])) | (uint32(v[1]) << 8) | (uint32(v[2]) << 16) | (uint32(v[3]) << 24)
b.value |= uint64(low) << ((b.bitsRead - 32) & 63)
b.bitsRead -= 32
diff --git a/vendor/github.com/klauspost/compress/huff0/compress.go b/vendor/github.com/klauspost/compress/huff0/compress.go
index d9223a91ef..cdc94856f2 100644
--- a/vendor/github.com/klauspost/compress/huff0/compress.go
+++ b/vendor/github.com/klauspost/compress/huff0/compress.go
@@ -484,34 +484,35 @@ func (s *Scratch) buildCTable() error {
// Different from reference implementation.
huffNode0 := s.nodes[0 : huffNodesLen+1]
- for huffNode[nonNullRank].count == 0 {
+ for huffNode[nonNullRank].count() == 0 {
nonNullRank--
}
lowS := int16(nonNullRank)
nodeRoot := nodeNb + lowS - 1
lowN := nodeNb
- huffNode[nodeNb].count = huffNode[lowS].count + huffNode[lowS-1].count
- huffNode[lowS].parent, huffNode[lowS-1].parent = uint16(nodeNb), uint16(nodeNb)
+ huffNode[nodeNb].setCount(huffNode[lowS].count() + huffNode[lowS-1].count())
+ huffNode[lowS].setParent(nodeNb)
+ huffNode[lowS-1].setParent(nodeNb)
nodeNb++
lowS -= 2
for n := nodeNb; n <= nodeRoot; n++ {
- huffNode[n].count = 1 << 30
+ huffNode[n].setCount(1 << 30)
}
// fake entry, strong barrier
- huffNode0[0].count = 1 << 31
+ huffNode0[0].setCount(1 << 31)
// create parents
for nodeNb <= nodeRoot {
var n1, n2 int16
- if huffNode0[lowS+1].count < huffNode0[lowN+1].count {
+ if huffNode0[lowS+1].count() < huffNode0[lowN+1].count() {
n1 = lowS
lowS--
} else {
n1 = lowN
lowN++
}
- if huffNode0[lowS+1].count < huffNode0[lowN+1].count {
+ if huffNode0[lowS+1].count() < huffNode0[lowN+1].count() {
n2 = lowS
lowS--
} else {
@@ -519,18 +520,19 @@ func (s *Scratch) buildCTable() error {
lowN++
}
- huffNode[nodeNb].count = huffNode0[n1+1].count + huffNode0[n2+1].count
- huffNode0[n1+1].parent, huffNode0[n2+1].parent = uint16(nodeNb), uint16(nodeNb)
+ huffNode[nodeNb].setCount(huffNode0[n1+1].count() + huffNode0[n2+1].count())
+ huffNode0[n1+1].setParent(nodeNb)
+ huffNode0[n2+1].setParent(nodeNb)
nodeNb++
}
// distribute weights (unlimited tree height)
- huffNode[nodeRoot].nbBits = 0
+ huffNode[nodeRoot].setNbBits(0)
for n := nodeRoot - 1; n >= startNode; n-- {
- huffNode[n].nbBits = huffNode[huffNode[n].parent].nbBits + 1
+ huffNode[n].setNbBits(huffNode[huffNode[n].parent()].nbBits() + 1)
}
for n := uint16(0); n <= nonNullRank; n++ {
- huffNode[n].nbBits = huffNode[huffNode[n].parent].nbBits + 1
+ huffNode[n].setNbBits(huffNode[huffNode[n].parent()].nbBits() + 1)
}
s.actualTableLog = s.setMaxHeight(int(nonNullRank))
maxNbBits := s.actualTableLog
@@ -542,7 +544,7 @@ func (s *Scratch) buildCTable() error {
var nbPerRank [tableLogMax + 1]uint16
var valPerRank [16]uint16
for _, v := range huffNode[:nonNullRank+1] {
- nbPerRank[v.nbBits]++
+ nbPerRank[v.nbBits()]++
}
// determine stating value per rank
{
@@ -557,7 +559,7 @@ func (s *Scratch) buildCTable() error {
// push nbBits per symbol, symbol order
for _, v := range huffNode[:nonNullRank+1] {
- s.cTable[v.symbol].nBits = v.nbBits
+ s.cTable[v.symbol()].nBits = v.nbBits()
}
// assign value within rank, symbol order
@@ -603,12 +605,12 @@ func (s *Scratch) huffSort() {
pos := rank[r].current
rank[r].current++
prev := nodes[(pos-1)&huffNodesMask]
- for pos > rank[r].base && c > prev.count {
+ for pos > rank[r].base && c > prev.count() {
nodes[pos&huffNodesMask] = prev
pos--
prev = nodes[(pos-1)&huffNodesMask]
}
- nodes[pos&huffNodesMask] = nodeElt{count: c, symbol: byte(n)}
+ nodes[pos&huffNodesMask] = makeNodeElt(c, byte(n))
}
}
@@ -617,7 +619,7 @@ func (s *Scratch) setMaxHeight(lastNonNull int) uint8 {
huffNode := s.nodes[1 : huffNodesLen+1]
//huffNode = huffNode[: huffNodesLen]
- largestBits := huffNode[lastNonNull].nbBits
+ largestBits := huffNode[lastNonNull].nbBits()
// early exit : no elt > maxNbBits
if largestBits <= maxNbBits {
@@ -627,14 +629,14 @@ func (s *Scratch) setMaxHeight(lastNonNull int) uint8 {
baseCost := int(1) << (largestBits - maxNbBits)
n := uint32(lastNonNull)
- for huffNode[n].nbBits > maxNbBits {
- totalCost += baseCost - (1 << (largestBits - huffNode[n].nbBits))
- huffNode[n].nbBits = maxNbBits
+ for huffNode[n].nbBits() > maxNbBits {
+ totalCost += baseCost - (1 << (largestBits - huffNode[n].nbBits()))
+ huffNode[n].setNbBits(maxNbBits)
n--
}
// n stops at huffNode[n].nbBits <= maxNbBits
- for huffNode[n].nbBits == maxNbBits {
+ for huffNode[n].nbBits() == maxNbBits {
n--
}
// n end at index of smallest symbol using < maxNbBits
@@ -655,10 +657,10 @@ func (s *Scratch) setMaxHeight(lastNonNull int) uint8 {
{
currentNbBits := maxNbBits
for pos := int(n); pos >= 0; pos-- {
- if huffNode[pos].nbBits >= currentNbBits {
+ if huffNode[pos].nbBits() >= currentNbBits {
continue
}
- currentNbBits = huffNode[pos].nbBits // < maxNbBits
+ currentNbBits = huffNode[pos].nbBits() // < maxNbBits
rankLast[maxNbBits-currentNbBits] = uint32(pos)
}
}
@@ -675,8 +677,8 @@ func (s *Scratch) setMaxHeight(lastNonNull int) uint8 {
if lowPos == noSymbol {
break
}
- highTotal := huffNode[highPos].count
- lowTotal := 2 * huffNode[lowPos].count
+ highTotal := huffNode[highPos].count()
+ lowTotal := 2 * huffNode[lowPos].count()
if highTotal <= lowTotal {
break
}
@@ -692,13 +694,14 @@ func (s *Scratch) setMaxHeight(lastNonNull int) uint8 {
// this rank is no longer empty
rankLast[nBitsToDecrease-1] = rankLast[nBitsToDecrease]
}
- huffNode[rankLast[nBitsToDecrease]].nbBits++
+ huffNode[rankLast[nBitsToDecrease]].setNbBits(1 +
+ huffNode[rankLast[nBitsToDecrease]].nbBits())
if rankLast[nBitsToDecrease] == 0 {
/* special case, reached largest symbol */
rankLast[nBitsToDecrease] = noSymbol
} else {
rankLast[nBitsToDecrease]--
- if huffNode[rankLast[nBitsToDecrease]].nbBits != maxNbBits-nBitsToDecrease {
+ if huffNode[rankLast[nBitsToDecrease]].nbBits() != maxNbBits-nBitsToDecrease {
rankLast[nBitsToDecrease] = noSymbol /* this rank is now empty */
}
}
@@ -706,15 +709,15 @@ func (s *Scratch) setMaxHeight(lastNonNull int) uint8 {
for totalCost < 0 { /* Sometimes, cost correction overshoot */
if rankLast[1] == noSymbol { /* special case : no rank 1 symbol (using maxNbBits-1); let's create one from largest rank 0 (using maxNbBits) */
- for huffNode[n].nbBits == maxNbBits {
+ for huffNode[n].nbBits() == maxNbBits {
n--
}
- huffNode[n+1].nbBits--
+ huffNode[n+1].setNbBits(huffNode[n+1].nbBits() - 1)
rankLast[1] = n + 1
totalCost++
continue
}
- huffNode[rankLast[1]+1].nbBits--
+ huffNode[rankLast[1]+1].setNbBits(huffNode[rankLast[1]+1].nbBits() - 1)
rankLast[1]++
totalCost++
}
@@ -722,9 +725,26 @@ func (s *Scratch) setMaxHeight(lastNonNull int) uint8 {
return maxNbBits
}
-type nodeElt struct {
- count uint32
- parent uint16
- symbol byte
- nbBits uint8
+// A nodeElt is the fields
+//
+// count uint32
+// parent uint16
+// symbol byte
+// nbBits uint8
+//
+// in some order, all squashed into an integer so that the compiler
+// always loads and stores entire nodeElts instead of separate fields.
+type nodeElt uint64
+
+func makeNodeElt(count uint32, symbol byte) nodeElt {
+ return nodeElt(count) | nodeElt(symbol)<<48
}
+
+func (e *nodeElt) count() uint32 { return uint32(*e) }
+func (e *nodeElt) parent() uint16 { return uint16(*e >> 32) }
+func (e *nodeElt) symbol() byte { return byte(*e >> 48) }
+func (e *nodeElt) nbBits() uint8 { return uint8(*e >> 56) }
+
+func (e *nodeElt) setCount(c uint32) { *e = (*e)&0xffffffff00000000 | nodeElt(c) }
+func (e *nodeElt) setParent(p int16) { *e = (*e)&0xffff0000ffffffff | nodeElt(uint16(p))<<32 }
+func (e *nodeElt) setNbBits(n uint8) { *e = (*e)&0x00ffffffffffffff | nodeElt(n)<<56 }
diff --git a/vendor/github.com/klauspost/compress/huff0/decompress_amd64.s b/vendor/github.com/klauspost/compress/huff0/decompress_amd64.s
index 8d2187a2ce..c4c7ab2d1f 100644
--- a/vendor/github.com/klauspost/compress/huff0/decompress_amd64.s
+++ b/vendor/github.com/klauspost/compress/huff0/decompress_amd64.s
@@ -4,360 +4,349 @@
// func decompress4x_main_loop_amd64(ctx *decompress4xContext)
TEXT ·decompress4x_main_loop_amd64(SB), $0-8
- XORQ DX, DX
-
// Preload values
MOVQ ctx+0(FP), AX
MOVBQZX 8(AX), DI
- MOVQ 16(AX), SI
- MOVQ 48(AX), BX
- MOVQ 24(AX), R9
- MOVQ 32(AX), R10
- MOVQ (AX), R11
+ MOVQ 16(AX), BX
+ MOVQ 48(AX), SI
+ MOVQ 24(AX), R8
+ MOVQ 32(AX), R9
+ MOVQ (AX), R10
// Main loop
main_loop:
- MOVQ SI, R8
- CMPQ R8, BX
+ XORL DX, DX
+ CMPQ BX, SI
SETGE DL
// br0.fillFast32()
- MOVQ 32(R11), R12
- MOVBQZX 40(R11), R13
- CMPQ R13, $0x20
+ MOVQ 32(R10), R11
+ MOVBQZX 40(R10), R12
+ CMPQ R12, $0x20
JBE skip_fill0
- MOVQ 24(R11), AX
- SUBQ $0x20, R13
+ MOVQ 24(R10), AX
+ SUBQ $0x20, R12
SUBQ $0x04, AX
- MOVQ (R11), R14
+ MOVQ (R10), R13
// b.value |= uint64(low) << (b.bitsRead & 63)
- MOVL (AX)(R14*1), R14
- MOVQ R13, CX
- SHLQ CL, R14
- MOVQ AX, 24(R11)
- ORQ R14, R12
+ MOVL (AX)(R13*1), R13
+ MOVQ R12, CX
+ SHLQ CL, R13
+ MOVQ AX, 24(R10)
+ ORQ R13, R11
- // exhausted = exhausted || (br0.off < 4)
- CMPQ AX, $0x04
- SETLT AL
- ORB AL, DL
+ // exhausted += (br0.off < 4)
+ CMPQ AX, $0x04
+ ADCB $+0, DL
skip_fill0:
// val0 := br0.peekTopBits(peekBits)
- MOVQ R12, R14
+ MOVQ R11, R13
MOVQ DI, CX
- SHRQ CL, R14
+ SHRQ CL, R13
// v0 := table[val0&mask]
- MOVW (R10)(R14*2), CX
+ MOVW (R9)(R13*2), CX
// br0.advance(uint8(v0.entry)
MOVB CH, AL
- SHLQ CL, R12
- ADDB CL, R13
+ SHLQ CL, R11
+ ADDB CL, R12
// val1 := br0.peekTopBits(peekBits)
MOVQ DI, CX
- MOVQ R12, R14
- SHRQ CL, R14
+ MOVQ R11, R13
+ SHRQ CL, R13
// v1 := table[val1&mask]
- MOVW (R10)(R14*2), CX
+ MOVW (R9)(R13*2), CX
// br0.advance(uint8(v1.entry))
MOVB CH, AH
- SHLQ CL, R12
- ADDB CL, R13
+ SHLQ CL, R11
+ ADDB CL, R12
// these two writes get coalesced
// out[id * dstEvery + 0] = uint8(v0.entry >> 8)
// out[id * dstEvery + 1] = uint8(v1.entry >> 8)
- MOVW AX, (R8)
+ MOVW AX, (BX)
// update the bitreader structure
- MOVQ R12, 32(R11)
- MOVB R13, 40(R11)
- ADDQ R9, R8
+ MOVQ R11, 32(R10)
+ MOVB R12, 40(R10)
// br1.fillFast32()
- MOVQ 80(R11), R12
- MOVBQZX 88(R11), R13
- CMPQ R13, $0x20
+ MOVQ 80(R10), R11
+ MOVBQZX 88(R10), R12
+ CMPQ R12, $0x20
JBE skip_fill1
- MOVQ 72(R11), AX
- SUBQ $0x20, R13
+ MOVQ 72(R10), AX
+ SUBQ $0x20, R12
SUBQ $0x04, AX
- MOVQ 48(R11), R14
+ MOVQ 48(R10), R13
// b.value |= uint64(low) << (b.bitsRead & 63)
- MOVL (AX)(R14*1), R14
- MOVQ R13, CX
- SHLQ CL, R14
- MOVQ AX, 72(R11)
- ORQ R14, R12
+ MOVL (AX)(R13*1), R13
+ MOVQ R12, CX
+ SHLQ CL, R13
+ MOVQ AX, 72(R10)
+ ORQ R13, R11
- // exhausted = exhausted || (br1.off < 4)
- CMPQ AX, $0x04
- SETLT AL
- ORB AL, DL
+ // exhausted += (br1.off < 4)
+ CMPQ AX, $0x04
+ ADCB $+0, DL
skip_fill1:
// val0 := br1.peekTopBits(peekBits)
- MOVQ R12, R14
+ MOVQ R11, R13
MOVQ DI, CX
- SHRQ CL, R14
+ SHRQ CL, R13
// v0 := table[val0&mask]
- MOVW (R10)(R14*2), CX
+ MOVW (R9)(R13*2), CX
// br1.advance(uint8(v0.entry)
MOVB CH, AL
- SHLQ CL, R12
- ADDB CL, R13
+ SHLQ CL, R11
+ ADDB CL, R12
// val1 := br1.peekTopBits(peekBits)
MOVQ DI, CX
- MOVQ R12, R14
- SHRQ CL, R14
+ MOVQ R11, R13
+ SHRQ CL, R13
// v1 := table[val1&mask]
- MOVW (R10)(R14*2), CX
+ MOVW (R9)(R13*2), CX
// br1.advance(uint8(v1.entry))
MOVB CH, AH
- SHLQ CL, R12
- ADDB CL, R13
+ SHLQ CL, R11
+ ADDB CL, R12
// these two writes get coalesced
// out[id * dstEvery + 0] = uint8(v0.entry >> 8)
// out[id * dstEvery + 1] = uint8(v1.entry >> 8)
- MOVW AX, (R8)
+ MOVW AX, (BX)(R8*1)
// update the bitreader structure
- MOVQ R12, 80(R11)
- MOVB R13, 88(R11)
- ADDQ R9, R8
+ MOVQ R11, 80(R10)
+ MOVB R12, 88(R10)
// br2.fillFast32()
- MOVQ 128(R11), R12
- MOVBQZX 136(R11), R13
- CMPQ R13, $0x20
+ MOVQ 128(R10), R11
+ MOVBQZX 136(R10), R12
+ CMPQ R12, $0x20
JBE skip_fill2
- MOVQ 120(R11), AX
- SUBQ $0x20, R13
+ MOVQ 120(R10), AX
+ SUBQ $0x20, R12
SUBQ $0x04, AX
- MOVQ 96(R11), R14
+ MOVQ 96(R10), R13
// b.value |= uint64(low) << (b.bitsRead & 63)
- MOVL (AX)(R14*1), R14
- MOVQ R13, CX
- SHLQ CL, R14
- MOVQ AX, 120(R11)
- ORQ R14, R12
+ MOVL (AX)(R13*1), R13
+ MOVQ R12, CX
+ SHLQ CL, R13
+ MOVQ AX, 120(R10)
+ ORQ R13, R11
- // exhausted = exhausted || (br2.off < 4)
- CMPQ AX, $0x04
- SETLT AL
- ORB AL, DL
+ // exhausted += (br2.off < 4)
+ CMPQ AX, $0x04
+ ADCB $+0, DL
skip_fill2:
// val0 := br2.peekTopBits(peekBits)
- MOVQ R12, R14
+ MOVQ R11, R13
MOVQ DI, CX
- SHRQ CL, R14
+ SHRQ CL, R13
// v0 := table[val0&mask]
- MOVW (R10)(R14*2), CX
+ MOVW (R9)(R13*2), CX
// br2.advance(uint8(v0.entry)
MOVB CH, AL
- SHLQ CL, R12
- ADDB CL, R13
+ SHLQ CL, R11
+ ADDB CL, R12
// val1 := br2.peekTopBits(peekBits)
MOVQ DI, CX
- MOVQ R12, R14
- SHRQ CL, R14
+ MOVQ R11, R13
+ SHRQ CL, R13
// v1 := table[val1&mask]
- MOVW (R10)(R14*2), CX
+ MOVW (R9)(R13*2), CX
// br2.advance(uint8(v1.entry))
MOVB CH, AH
- SHLQ CL, R12
- ADDB CL, R13
+ SHLQ CL, R11
+ ADDB CL, R12
// these two writes get coalesced
// out[id * dstEvery + 0] = uint8(v0.entry >> 8)
// out[id * dstEvery + 1] = uint8(v1.entry >> 8)
- MOVW AX, (R8)
+ MOVW AX, (BX)(R8*2)
// update the bitreader structure
- MOVQ R12, 128(R11)
- MOVB R13, 136(R11)
- ADDQ R9, R8
+ MOVQ R11, 128(R10)
+ MOVB R12, 136(R10)
// br3.fillFast32()
- MOVQ 176(R11), R12
- MOVBQZX 184(R11), R13
- CMPQ R13, $0x20
+ MOVQ 176(R10), R11
+ MOVBQZX 184(R10), R12
+ CMPQ R12, $0x20
JBE skip_fill3
- MOVQ 168(R11), AX
- SUBQ $0x20, R13
+ MOVQ 168(R10), AX
+ SUBQ $0x20, R12
SUBQ $0x04, AX
- MOVQ 144(R11), R14
+ MOVQ 144(R10), R13
// b.value |= uint64(low) << (b.bitsRead & 63)
- MOVL (AX)(R14*1), R14
- MOVQ R13, CX
- SHLQ CL, R14
- MOVQ AX, 168(R11)
- ORQ R14, R12
+ MOVL (AX)(R13*1), R13
+ MOVQ R12, CX
+ SHLQ CL, R13
+ MOVQ AX, 168(R10)
+ ORQ R13, R11
- // exhausted = exhausted || (br3.off < 4)
- CMPQ AX, $0x04
- SETLT AL
- ORB AL, DL
+ // exhausted += (br3.off < 4)
+ CMPQ AX, $0x04
+ ADCB $+0, DL
skip_fill3:
// val0 := br3.peekTopBits(peekBits)
- MOVQ R12, R14
+ MOVQ R11, R13
MOVQ DI, CX
- SHRQ CL, R14
+ SHRQ CL, R13
// v0 := table[val0&mask]
- MOVW (R10)(R14*2), CX
+ MOVW (R9)(R13*2), CX
// br3.advance(uint8(v0.entry)
MOVB CH, AL
- SHLQ CL, R12
- ADDB CL, R13
+ SHLQ CL, R11
+ ADDB CL, R12
// val1 := br3.peekTopBits(peekBits)
MOVQ DI, CX
- MOVQ R12, R14
- SHRQ CL, R14
+ MOVQ R11, R13
+ SHRQ CL, R13
// v1 := table[val1&mask]
- MOVW (R10)(R14*2), CX
+ MOVW (R9)(R13*2), CX
// br3.advance(uint8(v1.entry))
MOVB CH, AH
- SHLQ CL, R12
- ADDB CL, R13
+ SHLQ CL, R11
+ ADDB CL, R12
// these two writes get coalesced
// out[id * dstEvery + 0] = uint8(v0.entry >> 8)
// out[id * dstEvery + 1] = uint8(v1.entry >> 8)
- MOVW AX, (R8)
+ LEAQ (R8)(R8*2), CX
+ MOVW AX, (BX)(CX*1)
// update the bitreader structure
- MOVQ R12, 176(R11)
- MOVB R13, 184(R11)
- ADDQ $0x02, SI
+ MOVQ R11, 176(R10)
+ MOVB R12, 184(R10)
+ ADDQ $0x02, BX
TESTB DL, DL
JZ main_loop
MOVQ ctx+0(FP), AX
- SUBQ 16(AX), SI
- SHLQ $0x02, SI
- MOVQ SI, 40(AX)
+ SUBQ 16(AX), BX
+ SHLQ $0x02, BX
+ MOVQ BX, 40(AX)
RET
// func decompress4x_8b_main_loop_amd64(ctx *decompress4xContext)
TEXT ·decompress4x_8b_main_loop_amd64(SB), $0-8
- XORQ DX, DX
-
// Preload values
MOVQ ctx+0(FP), CX
MOVBQZX 8(CX), DI
MOVQ 16(CX), BX
MOVQ 48(CX), SI
- MOVQ 24(CX), R9
- MOVQ 32(CX), R10
- MOVQ (CX), R11
+ MOVQ 24(CX), R8
+ MOVQ 32(CX), R9
+ MOVQ (CX), R10
// Main loop
main_loop:
- MOVQ BX, R8
- CMPQ R8, SI
+ XORL DX, DX
+ CMPQ BX, SI
SETGE DL
// br0.fillFast32()
- MOVQ 32(R11), R12
- MOVBQZX 40(R11), R13
- CMPQ R13, $0x20
+ MOVQ 32(R10), R11
+ MOVBQZX 40(R10), R12
+ CMPQ R12, $0x20
JBE skip_fill0
- MOVQ 24(R11), R14
- SUBQ $0x20, R13
- SUBQ $0x04, R14
- MOVQ (R11), R15
+ MOVQ 24(R10), R13
+ SUBQ $0x20, R12
+ SUBQ $0x04, R13
+ MOVQ (R10), R14
// b.value |= uint64(low) << (b.bitsRead & 63)
- MOVL (R14)(R15*1), R15
- MOVQ R13, CX
- SHLQ CL, R15
- MOVQ R14, 24(R11)
- ORQ R15, R12
+ MOVL (R13)(R14*1), R14
+ MOVQ R12, CX
+ SHLQ CL, R14
+ MOVQ R13, 24(R10)
+ ORQ R14, R11
- // exhausted = exhausted || (br0.off < 4)
- CMPQ R14, $0x04
- SETLT AL
- ORB AL, DL
+ // exhausted += (br0.off < 4)
+ CMPQ R13, $0x04
+ ADCB $+0, DL
skip_fill0:
// val0 := br0.peekTopBits(peekBits)
- MOVQ R12, R14
+ MOVQ R11, R13
MOVQ DI, CX
- SHRQ CL, R14
+ SHRQ CL, R13
// v0 := table[val0&mask]
- MOVW (R10)(R14*2), CX
+ MOVW (R9)(R13*2), CX
// br0.advance(uint8(v0.entry)
MOVB CH, AL
- SHLQ CL, R12
- ADDB CL, R13
+ SHLQ CL, R11
+ ADDB CL, R12
// val1 := br0.peekTopBits(peekBits)
- MOVQ R12, R14
+ MOVQ R11, R13
MOVQ DI, CX
- SHRQ CL, R14
+ SHRQ CL, R13
// v1 := table[val0&mask]
- MOVW (R10)(R14*2), CX
+ MOVW (R9)(R13*2), CX
// br0.advance(uint8(v1.entry)
MOVB CH, AH
- SHLQ CL, R12
- ADDB CL, R13
+ SHLQ CL, R11
+ ADDB CL, R12
BSWAPL AX
// val2 := br0.peekTopBits(peekBits)
- MOVQ R12, R14
+ MOVQ R11, R13
MOVQ DI, CX
- SHRQ CL, R14
+ SHRQ CL, R13
// v2 := table[val0&mask]
- MOVW (R10)(R14*2), CX
+ MOVW (R9)(R13*2), CX
// br0.advance(uint8(v2.entry)
MOVB CH, AH
- SHLQ CL, R12
- ADDB CL, R13
+ SHLQ CL, R11
+ ADDB CL, R12
// val3 := br0.peekTopBits(peekBits)
- MOVQ R12, R14
+ MOVQ R11, R13
MOVQ DI, CX
- SHRQ CL, R14
+ SHRQ CL, R13
// v3 := table[val0&mask]
- MOVW (R10)(R14*2), CX
+ MOVW (R9)(R13*2), CX
// br0.advance(uint8(v3.entry)
MOVB CH, AL
- SHLQ CL, R12
- ADDB CL, R13
+ SHLQ CL, R11
+ ADDB CL, R12
BSWAPL AX
// these four writes get coalesced
@@ -365,88 +354,86 @@ skip_fill0:
// out[id * dstEvery + 1] = uint8(v1.entry >> 8)
// out[id * dstEvery + 3] = uint8(v2.entry >> 8)
// out[id * dstEvery + 4] = uint8(v3.entry >> 8)
- MOVL AX, (R8)
+ MOVL AX, (BX)
// update the bitreader structure
- MOVQ R12, 32(R11)
- MOVB R13, 40(R11)
- ADDQ R9, R8
+ MOVQ R11, 32(R10)
+ MOVB R12, 40(R10)
// br1.fillFast32()
- MOVQ 80(R11), R12
- MOVBQZX 88(R11), R13
- CMPQ R13, $0x20
+ MOVQ 80(R10), R11
+ MOVBQZX 88(R10), R12
+ CMPQ R12, $0x20
JBE skip_fill1
- MOVQ 72(R11), R14
- SUBQ $0x20, R13
- SUBQ $0x04, R14
- MOVQ 48(R11), R15
+ MOVQ 72(R10), R13
+ SUBQ $0x20, R12
+ SUBQ $0x04, R13
+ MOVQ 48(R10), R14
// b.value |= uint64(low) << (b.bitsRead & 63)
- MOVL (R14)(R15*1), R15
- MOVQ R13, CX
- SHLQ CL, R15
- MOVQ R14, 72(R11)
- ORQ R15, R12
+ MOVL (R13)(R14*1), R14
+ MOVQ R12, CX
+ SHLQ CL, R14
+ MOVQ R13, 72(R10)
+ ORQ R14, R11
- // exhausted = exhausted || (br1.off < 4)
- CMPQ R14, $0x04
- SETLT AL
- ORB AL, DL
+ // exhausted += (br1.off < 4)
+ CMPQ R13, $0x04
+ ADCB $+0, DL
skip_fill1:
// val0 := br1.peekTopBits(peekBits)
- MOVQ R12, R14
+ MOVQ R11, R13
MOVQ DI, CX
- SHRQ CL, R14
+ SHRQ CL, R13
// v0 := table[val0&mask]
- MOVW (R10)(R14*2), CX
+ MOVW (R9)(R13*2), CX
// br1.advance(uint8(v0.entry)
MOVB CH, AL
- SHLQ CL, R12
- ADDB CL, R13
+ SHLQ CL, R11
+ ADDB CL, R12
// val1 := br1.peekTopBits(peekBits)
- MOVQ R12, R14
+ MOVQ R11, R13
MOVQ DI, CX
- SHRQ CL, R14
+ SHRQ CL, R13
// v1 := table[val0&mask]
- MOVW (R10)(R14*2), CX
+ MOVW (R9)(R13*2), CX
// br1.advance(uint8(v1.entry)
MOVB CH, AH
- SHLQ CL, R12
- ADDB CL, R13
+ SHLQ CL, R11
+ ADDB CL, R12
BSWAPL AX
// val2 := br1.peekTopBits(peekBits)
- MOVQ R12, R14
+ MOVQ R11, R13
MOVQ DI, CX
- SHRQ CL, R14
+ SHRQ CL, R13
// v2 := table[val0&mask]
- MOVW (R10)(R14*2), CX
+ MOVW (R9)(R13*2), CX
// br1.advance(uint8(v2.entry)
MOVB CH, AH
- SHLQ CL, R12
- ADDB CL, R13
+ SHLQ CL, R11
+ ADDB CL, R12
// val3 := br1.peekTopBits(peekBits)
- MOVQ R12, R14
+ MOVQ R11, R13
MOVQ DI, CX
- SHRQ CL, R14
+ SHRQ CL, R13
// v3 := table[val0&mask]
- MOVW (R10)(R14*2), CX
+ MOVW (R9)(R13*2), CX
// br1.advance(uint8(v3.entry)
MOVB CH, AL
- SHLQ CL, R12
- ADDB CL, R13
+ SHLQ CL, R11
+ ADDB CL, R12
BSWAPL AX
// these four writes get coalesced
@@ -454,88 +441,86 @@ skip_fill1:
// out[id * dstEvery + 1] = uint8(v1.entry >> 8)
// out[id * dstEvery + 3] = uint8(v2.entry >> 8)
// out[id * dstEvery + 4] = uint8(v3.entry >> 8)
- MOVL AX, (R8)
+ MOVL AX, (BX)(R8*1)
// update the bitreader structure
- MOVQ R12, 80(R11)
- MOVB R13, 88(R11)
- ADDQ R9, R8
+ MOVQ R11, 80(R10)
+ MOVB R12, 88(R10)
// br2.fillFast32()
- MOVQ 128(R11), R12
- MOVBQZX 136(R11), R13
- CMPQ R13, $0x20
+ MOVQ 128(R10), R11
+ MOVBQZX 136(R10), R12
+ CMPQ R12, $0x20
JBE skip_fill2
- MOVQ 120(R11), R14
- SUBQ $0x20, R13
- SUBQ $0x04, R14
- MOVQ 96(R11), R15
+ MOVQ 120(R10), R13
+ SUBQ $0x20, R12
+ SUBQ $0x04, R13
+ MOVQ 96(R10), R14
// b.value |= uint64(low) << (b.bitsRead & 63)
- MOVL (R14)(R15*1), R15
- MOVQ R13, CX
- SHLQ CL, R15
- MOVQ R14, 120(R11)
- ORQ R15, R12
+ MOVL (R13)(R14*1), R14
+ MOVQ R12, CX
+ SHLQ CL, R14
+ MOVQ R13, 120(R10)
+ ORQ R14, R11
- // exhausted = exhausted || (br2.off < 4)
- CMPQ R14, $0x04
- SETLT AL
- ORB AL, DL
+ // exhausted += (br2.off < 4)
+ CMPQ R13, $0x04
+ ADCB $+0, DL
skip_fill2:
// val0 := br2.peekTopBits(peekBits)
- MOVQ R12, R14
+ MOVQ R11, R13
MOVQ DI, CX
- SHRQ CL, R14
+ SHRQ CL, R13
// v0 := table[val0&mask]
- MOVW (R10)(R14*2), CX
+ MOVW (R9)(R13*2), CX
// br2.advance(uint8(v0.entry)
MOVB CH, AL
- SHLQ CL, R12
- ADDB CL, R13
+ SHLQ CL, R11
+ ADDB CL, R12
// val1 := br2.peekTopBits(peekBits)
- MOVQ R12, R14
+ MOVQ R11, R13
MOVQ DI, CX
- SHRQ CL, R14
+ SHRQ CL, R13
// v1 := table[val0&mask]
- MOVW (R10)(R14*2), CX
+ MOVW (R9)(R13*2), CX
// br2.advance(uint8(v1.entry)
MOVB CH, AH
- SHLQ CL, R12
- ADDB CL, R13
+ SHLQ CL, R11
+ ADDB CL, R12
BSWAPL AX
// val2 := br2.peekTopBits(peekBits)
- MOVQ R12, R14
+ MOVQ R11, R13
MOVQ DI, CX
- SHRQ CL, R14
+ SHRQ CL, R13
// v2 := table[val0&mask]
- MOVW (R10)(R14*2), CX
+ MOVW (R9)(R13*2), CX
// br2.advance(uint8(v2.entry)
MOVB CH, AH
- SHLQ CL, R12
- ADDB CL, R13
+ SHLQ CL, R11
+ ADDB CL, R12
// val3 := br2.peekTopBits(peekBits)
- MOVQ R12, R14
+ MOVQ R11, R13
MOVQ DI, CX
- SHRQ CL, R14
+ SHRQ CL, R13
// v3 := table[val0&mask]
- MOVW (R10)(R14*2), CX
+ MOVW (R9)(R13*2), CX
// br2.advance(uint8(v3.entry)
MOVB CH, AL
- SHLQ CL, R12
- ADDB CL, R13
+ SHLQ CL, R11
+ ADDB CL, R12
BSWAPL AX
// these four writes get coalesced
@@ -543,88 +528,86 @@ skip_fill2:
// out[id * dstEvery + 1] = uint8(v1.entry >> 8)
// out[id * dstEvery + 3] = uint8(v2.entry >> 8)
// out[id * dstEvery + 4] = uint8(v3.entry >> 8)
- MOVL AX, (R8)
+ MOVL AX, (BX)(R8*2)
// update the bitreader structure
- MOVQ R12, 128(R11)
- MOVB R13, 136(R11)
- ADDQ R9, R8
+ MOVQ R11, 128(R10)
+ MOVB R12, 136(R10)
// br3.fillFast32()
- MOVQ 176(R11), R12
- MOVBQZX 184(R11), R13
- CMPQ R13, $0x20
+ MOVQ 176(R10), R11
+ MOVBQZX 184(R10), R12
+ CMPQ R12, $0x20
JBE skip_fill3
- MOVQ 168(R11), R14
- SUBQ $0x20, R13
- SUBQ $0x04, R14
- MOVQ 144(R11), R15
+ MOVQ 168(R10), R13
+ SUBQ $0x20, R12
+ SUBQ $0x04, R13
+ MOVQ 144(R10), R14
// b.value |= uint64(low) << (b.bitsRead & 63)
- MOVL (R14)(R15*1), R15
- MOVQ R13, CX
- SHLQ CL, R15
- MOVQ R14, 168(R11)
- ORQ R15, R12
+ MOVL (R13)(R14*1), R14
+ MOVQ R12, CX
+ SHLQ CL, R14
+ MOVQ R13, 168(R10)
+ ORQ R14, R11
- // exhausted = exhausted || (br3.off < 4)
- CMPQ R14, $0x04
- SETLT AL
- ORB AL, DL
+ // exhausted += (br3.off < 4)
+ CMPQ R13, $0x04
+ ADCB $+0, DL
skip_fill3:
// val0 := br3.peekTopBits(peekBits)
- MOVQ R12, R14
+ MOVQ R11, R13
MOVQ DI, CX
- SHRQ CL, R14
+ SHRQ CL, R13
// v0 := table[val0&mask]
- MOVW (R10)(R14*2), CX
+ MOVW (R9)(R13*2), CX
// br3.advance(uint8(v0.entry)
MOVB CH, AL
- SHLQ CL, R12
- ADDB CL, R13
+ SHLQ CL, R11
+ ADDB CL, R12
// val1 := br3.peekTopBits(peekBits)
- MOVQ R12, R14
+ MOVQ R11, R13
MOVQ DI, CX
- SHRQ CL, R14
+ SHRQ CL, R13
// v1 := table[val0&mask]
- MOVW (R10)(R14*2), CX
+ MOVW (R9)(R13*2), CX
// br3.advance(uint8(v1.entry)
MOVB CH, AH
- SHLQ CL, R12
- ADDB CL, R13
+ SHLQ CL, R11
+ ADDB CL, R12
BSWAPL AX
// val2 := br3.peekTopBits(peekBits)
- MOVQ R12, R14
+ MOVQ R11, R13
MOVQ DI, CX
- SHRQ CL, R14
+ SHRQ CL, R13
// v2 := table[val0&mask]
- MOVW (R10)(R14*2), CX
+ MOVW (R9)(R13*2), CX
// br3.advance(uint8(v2.entry)
MOVB CH, AH
- SHLQ CL, R12
- ADDB CL, R13
+ SHLQ CL, R11
+ ADDB CL, R12
// val3 := br3.peekTopBits(peekBits)
- MOVQ R12, R14
+ MOVQ R11, R13
MOVQ DI, CX
- SHRQ CL, R14
+ SHRQ CL, R13
// v3 := table[val0&mask]
- MOVW (R10)(R14*2), CX
+ MOVW (R9)(R13*2), CX
// br3.advance(uint8(v3.entry)
MOVB CH, AL
- SHLQ CL, R12
- ADDB CL, R13
+ SHLQ CL, R11
+ ADDB CL, R12
BSWAPL AX
// these four writes get coalesced
@@ -632,11 +615,12 @@ skip_fill3:
// out[id * dstEvery + 1] = uint8(v1.entry >> 8)
// out[id * dstEvery + 3] = uint8(v2.entry >> 8)
// out[id * dstEvery + 4] = uint8(v3.entry >> 8)
- MOVL AX, (R8)
+ LEAQ (R8)(R8*2), CX
+ MOVL AX, (BX)(CX*1)
// update the bitreader structure
- MOVQ R12, 176(R11)
- MOVB R13, 184(R11)
+ MOVQ R11, 176(R10)
+ MOVB R12, 184(R10)
ADDQ $0x04, BX
TESTB DL, DL
JZ main_loop
@@ -652,7 +636,7 @@ TEXT ·decompress1x_main_loop_amd64(SB), $0-8
MOVQ 16(CX), DX
MOVQ 24(CX), BX
CMPQ BX, $0x04
- JB error_max_decoded_size_exeeded
+ JB error_max_decoded_size_exceeded
LEAQ (DX)(BX*1), BX
MOVQ (CX), SI
MOVQ (SI), R8
@@ -667,7 +651,7 @@ main_loop:
// Check if we have room for 4 bytes in the output buffer
LEAQ 4(DX), CX
CMPQ CX, BX
- JGE error_max_decoded_size_exeeded
+ JGE error_max_decoded_size_exceeded
// Decode 4 values
CMPQ R11, $0x20
@@ -744,7 +728,7 @@ loop_condition:
RET
// Report error
-error_max_decoded_size_exeeded:
+error_max_decoded_size_exceeded:
MOVQ ctx+0(FP), AX
MOVQ $-1, CX
MOVQ CX, 40(AX)
@@ -757,7 +741,7 @@ TEXT ·decompress1x_main_loop_bmi2(SB), $0-8
MOVQ 16(CX), DX
MOVQ 24(CX), BX
CMPQ BX, $0x04
- JB error_max_decoded_size_exeeded
+ JB error_max_decoded_size_exceeded
LEAQ (DX)(BX*1), BX
MOVQ (CX), SI
MOVQ (SI), R8
@@ -772,7 +756,7 @@ main_loop:
// Check if we have room for 4 bytes in the output buffer
LEAQ 4(DX), CX
CMPQ CX, BX
- JGE error_max_decoded_size_exeeded
+ JGE error_max_decoded_size_exceeded
// Decode 4 values
CMPQ R11, $0x20
@@ -839,7 +823,7 @@ loop_condition:
RET
// Report error
-error_max_decoded_size_exeeded:
+error_max_decoded_size_exceeded:
MOVQ ctx+0(FP), AX
MOVQ $-1, CX
MOVQ CX, 40(AX)
diff --git a/vendor/github.com/klauspost/compress/zstd/blockdec.go b/vendor/github.com/klauspost/compress/zstd/blockdec.go
index 6b9929ddf5..2445bb4fe5 100644
--- a/vendor/github.com/klauspost/compress/zstd/blockdec.go
+++ b/vendor/github.com/klauspost/compress/zstd/blockdec.go
@@ -192,16 +192,14 @@ func (b *blockDec) reset(br byteBuffer, windowSize uint64) error {
}
// Read block data.
- if cap(b.dataStorage) < cSize {
+ if _, ok := br.(*byteBuf); !ok && cap(b.dataStorage) < cSize {
+ // byteBuf doesn't need a destination buffer.
if b.lowMem || cSize > maxCompressedBlockSize {
b.dataStorage = make([]byte, 0, cSize+compressedBlockOverAlloc)
} else {
b.dataStorage = make([]byte, 0, maxCompressedBlockSizeAlloc)
}
}
- if cap(b.dst) <= maxSize {
- b.dst = make([]byte, 0, maxSize+1)
- }
b.data, err = br.readBig(cSize, b.dataStorage)
if err != nil {
if debugDecoder {
@@ -210,6 +208,9 @@ func (b *blockDec) reset(br byteBuffer, windowSize uint64) error {
}
return err
}
+ if cap(b.dst) <= maxSize {
+ b.dst = make([]byte, 0, maxSize+1)
+ }
return nil
}
diff --git a/vendor/github.com/klauspost/compress/zstd/decoder.go b/vendor/github.com/klauspost/compress/zstd/decoder.go
index 30459cd3fb..7113e69ee3 100644
--- a/vendor/github.com/klauspost/compress/zstd/decoder.go
+++ b/vendor/github.com/klauspost/compress/zstd/decoder.go
@@ -40,8 +40,7 @@ type Decoder struct {
frame *frameDec
// Custom dictionaries.
- // Always uses copies.
- dicts map[uint32]dict
+ dicts map[uint32]*dict
// streamWg is the waitgroup for all streams
streamWg sync.WaitGroup
@@ -103,7 +102,7 @@ func NewReader(r io.Reader, opts ...DOption) (*Decoder, error) {
}
// Transfer option dicts.
- d.dicts = make(map[uint32]dict, len(d.o.dicts))
+ d.dicts = make(map[uint32]*dict, len(d.o.dicts))
for _, dc := range d.o.dicts {
d.dicts[dc.id] = dc
}
@@ -341,15 +340,8 @@ func (d *Decoder) DecodeAll(input, dst []byte) ([]byte, error) {
}
return dst, err
}
- if frame.DictionaryID != nil {
- dict, ok := d.dicts[*frame.DictionaryID]
- if !ok {
- return nil, ErrUnknownDictionary
- }
- if debugDecoder {
- println("setting dict", frame.DictionaryID)
- }
- frame.history.setDict(&dict)
+ if err = d.setDict(frame); err != nil {
+ return nil, err
}
if frame.WindowSize > d.o.maxWindowSize {
if debugDecoder {
@@ -495,18 +487,12 @@ func (d *Decoder) nextBlockSync() (ok bool) {
if !d.syncStream.inFrame {
d.frame.history.reset()
d.current.err = d.frame.reset(&d.syncStream.br)
+ if d.current.err == nil {
+ d.current.err = d.setDict(d.frame)
+ }
if d.current.err != nil {
return false
}
- if d.frame.DictionaryID != nil {
- dict, ok := d.dicts[*d.frame.DictionaryID]
- if !ok {
- d.current.err = ErrUnknownDictionary
- return false
- } else {
- d.frame.history.setDict(&dict)
- }
- }
if d.frame.WindowSize > d.o.maxDecodedSize || d.frame.WindowSize > d.o.maxWindowSize {
d.current.err = ErrDecoderSizeExceeded
return false
@@ -865,13 +851,8 @@ decodeStream:
if debugDecoder && err != nil {
println("Frame decoder returned", err)
}
- if err == nil && frame.DictionaryID != nil {
- dict, ok := d.dicts[*frame.DictionaryID]
- if !ok {
- err = ErrUnknownDictionary
- } else {
- frame.history.setDict(&dict)
- }
+ if err == nil {
+ err = d.setDict(frame)
}
if err == nil && d.frame.WindowSize > d.o.maxWindowSize {
if debugDecoder {
@@ -953,3 +934,20 @@ decodeStream:
hist.reset()
d.frame.history.b = frameHistCache
}
+
+func (d *Decoder) setDict(frame *frameDec) (err error) {
+ dict, ok := d.dicts[frame.DictionaryID]
+ if ok {
+ if debugDecoder {
+ println("setting dict", frame.DictionaryID)
+ }
+ frame.history.setDict(dict)
+ } else if frame.DictionaryID != 0 {
+ // A zero or missing dictionary id is ambiguous:
+ // either dictionary zero, or no dictionary. In particular,
+ // zstd --patch-from uses this id for the source file,
+ // so only return an error if the dictionary id is not zero.
+ err = ErrUnknownDictionary
+ }
+ return err
+}
diff --git a/vendor/github.com/klauspost/compress/zstd/decoder_options.go b/vendor/github.com/klauspost/compress/zstd/decoder_options.go
index f42448e69c..07a90dd7af 100644
--- a/vendor/github.com/klauspost/compress/zstd/decoder_options.go
+++ b/vendor/github.com/klauspost/compress/zstd/decoder_options.go
@@ -6,6 +6,8 @@ package zstd
import (
"errors"
+ "fmt"
+ "math/bits"
"runtime"
)
@@ -18,7 +20,7 @@ type decoderOptions struct {
concurrent int
maxDecodedSize uint64
maxWindowSize uint64
- dicts []dict
+ dicts []*dict
ignoreChecksum bool
limitToCap bool
decodeBufsBelow int
@@ -85,7 +87,13 @@ func WithDecoderMaxMemory(n uint64) DOption {
}
// WithDecoderDicts allows to register one or more dictionaries for the decoder.
-// If several dictionaries with the same ID is provided the last one will be used.
+//
+// Each slice in dict must be in the [dictionary format] produced by
+// "zstd --train" from the Zstandard reference implementation.
+//
+// If several dictionaries with the same ID are provided, the last one will be used.
+//
+// [dictionary format]: https://github.com/facebook/zstd/blob/dev/doc/zstd_compression_format.md#dictionary-format
func WithDecoderDicts(dicts ...[]byte) DOption {
return func(o *decoderOptions) error {
for _, b := range dicts {
@@ -93,12 +101,24 @@ func WithDecoderDicts(dicts ...[]byte) DOption {
if err != nil {
return err
}
- o.dicts = append(o.dicts, *d)
+ o.dicts = append(o.dicts, d)
}
return nil
}
}
+// WithEncoderDictRaw registers a dictionary that may be used by the decoder.
+// The slice content can be arbitrary data.
+func WithDecoderDictRaw(id uint32, content []byte) DOption {
+ return func(o *decoderOptions) error {
+ if bits.UintSize > 32 && uint(len(content)) > dictMaxLength {
+ return fmt.Errorf("dictionary of size %d > 2GiB too large", len(content))
+ }
+ o.dicts = append(o.dicts, &dict{id: id, content: content, offsets: [3]int{1, 4, 8}})
+ return nil
+ }
+}
+
// WithDecoderMaxWindow allows to set a maximum window size for decodes.
// This allows rejecting packets that will cause big memory usage.
// The Decoder will likely allocate more memory based on the WithDecoderLowmem setting.
diff --git a/vendor/github.com/klauspost/compress/zstd/dict.go b/vendor/github.com/klauspost/compress/zstd/dict.go
index b2725f77b5..66a95c18ef 100644
--- a/vendor/github.com/klauspost/compress/zstd/dict.go
+++ b/vendor/github.com/klauspost/compress/zstd/dict.go
@@ -21,6 +21,9 @@ type dict struct {
const dictMagic = "\x37\xa4\x30\xec"
+// Maximum dictionary size for the reference implementation (1.5.3) is 2 GiB.
+const dictMaxLength = 1 << 31
+
// ID returns the dictionary id or 0 if d is nil.
func (d *dict) ID() uint32 {
if d == nil {
diff --git a/vendor/github.com/klauspost/compress/zstd/encoder_options.go b/vendor/github.com/klauspost/compress/zstd/encoder_options.go
index 6015f498af..8e15be2f7f 100644
--- a/vendor/github.com/klauspost/compress/zstd/encoder_options.go
+++ b/vendor/github.com/klauspost/compress/zstd/encoder_options.go
@@ -4,6 +4,7 @@ import (
"errors"
"fmt"
"math"
+ "math/bits"
"runtime"
"strings"
)
@@ -305,7 +306,13 @@ func WithLowerEncoderMem(b bool) EOption {
}
// WithEncoderDict allows to register a dictionary that will be used for the encode.
+//
+// The slice dict must be in the [dictionary format] produced by
+// "zstd --train" from the Zstandard reference implementation.
+//
// The encoder *may* choose to use no dictionary instead for certain payloads.
+//
+// [dictionary format]: https://github.com/facebook/zstd/blob/dev/doc/zstd_compression_format.md#dictionary-format
func WithEncoderDict(dict []byte) EOption {
return func(o *encoderOptions) error {
d, err := loadDict(dict)
@@ -316,3 +323,17 @@ func WithEncoderDict(dict []byte) EOption {
return nil
}
}
+
+// WithEncoderDictRaw registers a dictionary that may be used by the encoder.
+//
+// The slice content may contain arbitrary data. It will be used as an initial
+// history.
+func WithEncoderDictRaw(id uint32, content []byte) EOption {
+ return func(o *encoderOptions) error {
+ if bits.UintSize > 32 && uint(len(content)) > dictMaxLength {
+ return fmt.Errorf("dictionary of size %d > 2GiB too large", len(content))
+ }
+ o.dict = &dict{id: id, content: content, offsets: [3]int{1, 4, 8}}
+ return nil
+ }
+}
diff --git a/vendor/github.com/klauspost/compress/zstd/framedec.go b/vendor/github.com/klauspost/compress/zstd/framedec.go
index 65984bf07c..d8e8a05bd7 100644
--- a/vendor/github.com/klauspost/compress/zstd/framedec.go
+++ b/vendor/github.com/klauspost/compress/zstd/framedec.go
@@ -29,7 +29,7 @@ type frameDec struct {
FrameContentSize uint64
- DictionaryID *uint32
+ DictionaryID uint32
HasCheckSum bool
SingleSegment bool
}
@@ -155,7 +155,7 @@ func (d *frameDec) reset(br byteBuffer) error {
// Read Dictionary_ID
// https://github.com/facebook/zstd/blob/dev/doc/zstd_compression_format.md#dictionary_id
- d.DictionaryID = nil
+ d.DictionaryID = 0
if size := fhd & 3; size != 0 {
if size == 3 {
size = 4
@@ -178,11 +178,7 @@ func (d *frameDec) reset(br byteBuffer) error {
if debugDecoder {
println("Dict size", size, "ID:", id)
}
- if id > 0 {
- // ID 0 means "sorry, no dictionary anyway".
- // https://github.com/facebook/zstd/blob/dev/doc/zstd_compression_format.md#dictionary-format
- d.DictionaryID = &id
- }
+ d.DictionaryID = id
}
// Read Frame_Content_Size
diff --git a/vendor/github.com/klauspost/compress/zstd/zstd.go b/vendor/github.com/klauspost/compress/zstd/zstd.go
index b1886f7c74..5ffa82f5ac 100644
--- a/vendor/github.com/klauspost/compress/zstd/zstd.go
+++ b/vendor/github.com/klauspost/compress/zstd/zstd.go
@@ -72,7 +72,6 @@ var (
ErrDecoderSizeExceeded = errors.New("decompressed size exceeds configured limit")
// ErrUnknownDictionary is returned if the dictionary ID is unknown.
- // For the time being dictionaries are not supported.
ErrUnknownDictionary = errors.New("unknown dictionary")
// ErrFrameSizeExceeded is returned if the stated frame size is exceeded.
diff --git a/vendor/github.com/urfave/cli/v2/flag-spec.yaml b/vendor/github.com/urfave/cli/v2/flag-spec.yaml
index 76480ba47c..cfe47df06d 100644
--- a/vendor/github.com/urfave/cli/v2/flag-spec.yaml
+++ b/vendor/github.com/urfave/cli/v2/flag-spec.yaml
@@ -7,6 +7,8 @@ flag_types:
- name: Count
type: int
pointer: true
+ - name: DisableDefaultText
+ type: bool
- name: Action
type: "func(*Context, bool) error"
float64:
diff --git a/vendor/github.com/urfave/cli/v2/flag.go b/vendor/github.com/urfave/cli/v2/flag.go
index 5c0a8b7328..5260f7f9e2 100644
--- a/vendor/github.com/urfave/cli/v2/flag.go
+++ b/vendor/github.com/urfave/cli/v2/flag.go
@@ -34,18 +34,20 @@ var BashCompletionFlag Flag = &BoolFlag{
// VersionFlag prints the version for the application
var VersionFlag Flag = &BoolFlag{
- Name: "version",
- Aliases: []string{"v"},
- Usage: "print the version",
+ Name: "version",
+ Aliases: []string{"v"},
+ Usage: "print the version",
+ DisableDefaultText: true,
}
// HelpFlag prints the help for all commands and subcommands.
// Set to nil to disable the flag. The subcommand
// will still be added unless HideHelp or HideHelpCommand is set to true.
var HelpFlag Flag = &BoolFlag{
- Name: "help",
- Aliases: []string{"h"},
- Usage: "show help",
+ Name: "help",
+ Aliases: []string{"h"},
+ Usage: "show help",
+ DisableDefaultText: true,
}
// FlagStringer converts a flag definition to a string. This is used by help
@@ -337,8 +339,13 @@ func stringifyFlag(f Flag) string {
defaultValueString := ""
- if s := df.GetDefaultText(); s != "" {
- defaultValueString = fmt.Sprintf(formatDefault("%s"), s)
+ // set default text for all flags except bool flags
+ // for bool flags display default text if DisableDefaultText is not
+ // set
+ if bf, ok := f.(*BoolFlag); !ok || !bf.DisableDefaultText {
+ if s := df.GetDefaultText(); s != "" {
+ defaultValueString = fmt.Sprintf(formatDefault("%s"), s)
+ }
}
usageWithDefault := strings.TrimSpace(usage + defaultValueString)
diff --git a/vendor/github.com/urfave/cli/v2/flag_string_slice.go b/vendor/github.com/urfave/cli/v2/flag_string_slice.go
index baca2a2fb9..82eeac06d8 100644
--- a/vendor/github.com/urfave/cli/v2/flag_string_slice.go
+++ b/vendor/github.com/urfave/cli/v2/flag_string_slice.go
@@ -44,7 +44,7 @@ func (s *StringSlice) Set(value string) error {
}
for _, t := range flagSplitMultiValues(value) {
- s.slice = append(s.slice, strings.TrimSpace(t))
+ s.slice = append(s.slice, t)
}
return nil
diff --git a/vendor/github.com/urfave/cli/v2/godoc-current.txt b/vendor/github.com/urfave/cli/v2/godoc-current.txt
index 6afd244f25..c1eb170573 100644
--- a/vendor/github.com/urfave/cli/v2/godoc-current.txt
+++ b/vendor/github.com/urfave/cli/v2/godoc-current.txt
@@ -455,6 +455,8 @@ type BoolFlag struct {
Count *int
+ DisableDefaultText bool
+
Action func(*Context, bool) error
// Has unexported fields.
}
@@ -881,18 +883,20 @@ var BashCompletionFlag Flag = &BoolFlag{
BashCompletionFlag enables bash-completion for all commands and subcommands
var HelpFlag Flag = &BoolFlag{
- Name: "help",
- Aliases: []string{"h"},
- Usage: "show help",
+ Name: "help",
+ Aliases: []string{"h"},
+ Usage: "show help",
+ DisableDefaultText: true,
}
HelpFlag prints the help for all commands and subcommands. Set to nil to
disable the flag. The subcommand will still be added unless HideHelp or
HideHelpCommand is set to true.
var VersionFlag Flag = &BoolFlag{
- Name: "version",
- Aliases: []string{"v"},
- Usage: "print the version",
+ Name: "version",
+ Aliases: []string{"v"},
+ Usage: "print the version",
+ DisableDefaultText: true,
}
VersionFlag prints the version for the application
@@ -2413,6 +2417,9 @@ func (f *Float64SliceFlag) Apply(set *flag.FlagSet) error
Apply saves the flagSet for later usage calls, then calls the wrapped
Float64SliceFlag.Apply
+func (f *Float64SliceFlag) ApplyInputSourceValue(cCtx *cli.Context, isc InputSourceContext) error
+ ApplyInputSourceValue applies a Float64Slice value if required
+
type GenericFlag struct {
*cli.GenericFlag
// Has unexported fields.
@@ -2434,12 +2441,16 @@ type InputSourceContext interface {
Source() string
Int(name string) (int, error)
+ Int64(name string) (int64, error)
+ Uint(name string) (uint, error)
+ Uint64(name string) (uint64, error)
Duration(name string) (time.Duration, error)
Float64(name string) (float64, error)
String(name string) (string, error)
StringSlice(name string) ([]string, error)
IntSlice(name string) ([]int, error)
Int64Slice(name string) ([]int64, error)
+ Float64Slice(name string) ([]float64, error)
Generic(name string) (cli.Generic, error)
Bool(name string) (bool, error)
@@ -2483,6 +2494,8 @@ func (f *Int64Flag) Apply(set *flag.FlagSet) error
Apply saves the flagSet for later usage calls, then calls the wrapped
Int64Flag.Apply
+func (f *Int64Flag) ApplyInputSourceValue(cCtx *cli.Context, isc InputSourceContext) error
+
type Int64SliceFlag struct {
*cli.Int64SliceFlag
// Has unexported fields.
@@ -2553,6 +2566,10 @@ func (fsm *MapInputSource) Duration(name string) (time.Duration, error)
func (fsm *MapInputSource) Float64(name string) (float64, error)
Float64 returns an float64 from the map if it exists otherwise returns 0
+func (fsm *MapInputSource) Float64Slice(name string) ([]float64, error)
+ Float64Slice returns an []float64 from the map if it exists otherwise
+ returns nil
+
func (fsm *MapInputSource) Generic(name string) (cli.Generic, error)
Generic returns an cli.Generic from the map if it exists otherwise returns
nil
@@ -2560,6 +2577,9 @@ func (fsm *MapInputSource) Generic(name string) (cli.Generic, error)
func (fsm *MapInputSource) Int(name string) (int, error)
Int returns an int from the map if it exists otherwise returns 0
+func (fsm *MapInputSource) Int64(name string) (int64, error)
+ Int64 returns an int64 from the map if it exists otherwise returns 0
+
func (fsm *MapInputSource) Int64Slice(name string) ([]int64, error)
Int64Slice returns an []int64 from the map if it exists otherwise returns
nil
@@ -2578,6 +2598,12 @@ func (fsm *MapInputSource) StringSlice(name string) ([]string, error)
StringSlice returns an []string from the map if it exists otherwise returns
nil
+func (fsm *MapInputSource) Uint(name string) (uint, error)
+ Int64 returns an int64 from the map if it exists otherwise returns 0
+
+func (fsm *MapInputSource) Uint64(name string) (uint64, error)
+ UInt64 returns an uint64 from the map if it exists otherwise returns 0
+
type PathFlag struct {
*cli.PathFlag
// Has unexported fields.
@@ -2643,6 +2669,8 @@ func (f *Uint64Flag) Apply(set *flag.FlagSet) error
Apply saves the flagSet for later usage calls, then calls the wrapped
Uint64Flag.Apply
+func (f *Uint64Flag) ApplyInputSourceValue(cCtx *cli.Context, isc InputSourceContext) error
+
type UintFlag struct {
*cli.UintFlag
// Has unexported fields.
@@ -2657,3 +2685,5 @@ func (f *UintFlag) Apply(set *flag.FlagSet) error
Apply saves the flagSet for later usage calls, then calls the wrapped
UintFlag.Apply
+func (f *UintFlag) ApplyInputSourceValue(cCtx *cli.Context, isc InputSourceContext) error
+
diff --git a/vendor/github.com/urfave/cli/v2/zz_generated.flags.go b/vendor/github.com/urfave/cli/v2/zz_generated.flags.go
index 7d0a267f78..016951a3f0 100644
--- a/vendor/github.com/urfave/cli/v2/zz_generated.flags.go
+++ b/vendor/github.com/urfave/cli/v2/zz_generated.flags.go
@@ -448,6 +448,8 @@ type BoolFlag struct {
Count *int
+ DisableDefaultText bool
+
Action func(*Context, bool) error
}
diff --git a/vendor/google.golang.org/api/internal/version.go b/vendor/google.golang.org/api/internal/version.go
index 79fea0548c..2c1b8c1abe 100644
--- a/vendor/google.golang.org/api/internal/version.go
+++ b/vendor/google.golang.org/api/internal/version.go
@@ -5,4 +5,4 @@
package internal
// Version is the current tagged release of the library.
-const Version = "0.107.0"
+const Version = "0.108.0"
diff --git a/vendor/modules.txt b/vendor/modules.txt
index e32545b3c0..3cef8b159c 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -1,4 +1,4 @@
-# cloud.google.com/go v0.108.0
+# cloud.google.com/go v0.109.0
## explicit; go 1.19
cloud.google.com/go/internal
cloud.google.com/go/internal/optional
@@ -14,7 +14,7 @@ cloud.google.com/go/compute/metadata
## explicit; go 1.19
cloud.google.com/go/iam
cloud.google.com/go/iam/apiv1/iampb
-# cloud.google.com/go/storage v1.28.1
+# cloud.google.com/go/storage v1.29.0
## explicit; go 1.19
cloud.google.com/go/storage
cloud.google.com/go/storage/internal
@@ -80,7 +80,7 @@ github.com/VividCortex/ewma
# github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137
## explicit; go 1.15
github.com/alecthomas/units
-# github.com/aws/aws-sdk-go v1.44.180
+# github.com/aws/aws-sdk-go v1.44.184
## explicit; go 1.11
github.com/aws/aws-sdk-go/aws
github.com/aws/aws-sdk-go/aws/awserr
@@ -258,7 +258,7 @@ github.com/davecgh/go-spew/spew
# github.com/dennwc/varint v1.0.0
## explicit; go 1.12
github.com/dennwc/varint
-# github.com/fatih/color v1.13.0
+# github.com/fatih/color v1.14.0
## explicit; go 1.13
github.com/fatih/color
# github.com/felixge/httpsnoop v1.0.3
@@ -334,7 +334,7 @@ github.com/jmespath/go-jmespath
# github.com/jpillora/backoff v1.0.0
## explicit; go 1.13
github.com/jpillora/backoff
-# github.com/klauspost/compress v1.15.14
+# github.com/klauspost/compress v1.15.15
## explicit; go 1.17
github.com/klauspost/compress
github.com/klauspost/compress/flate
@@ -441,7 +441,7 @@ github.com/russross/blackfriday/v2
## explicit; go 1.13
github.com/stretchr/testify/assert
github.com/stretchr/testify/require
-# github.com/urfave/cli/v2 v2.23.7
+# github.com/urfave/cli/v2 v2.24.1
## explicit; go 1.18
github.com/urfave/cli/v2
# github.com/valyala/bytebufferpool v1.0.0
@@ -525,7 +525,7 @@ go.uber.org/atomic
## explicit; go 1.18
go.uber.org/goleak
go.uber.org/goleak/internal/stack
-# golang.org/x/exp v0.0.0-20230113213754-f9f960f08ad4
+# golang.org/x/exp v0.0.0-20230118134722-a68e582fa157
## explicit; go 1.18
golang.org/x/exp/constraints
golang.org/x/exp/slices
@@ -572,7 +572,7 @@ golang.org/x/time/rate
## explicit; go 1.17
golang.org/x/xerrors
golang.org/x/xerrors/internal
-# google.golang.org/api v0.107.0
+# google.golang.org/api v0.108.0
## explicit; go 1.19
google.golang.org/api/googleapi
google.golang.org/api/googleapi/transport
@@ -605,7 +605,7 @@ google.golang.org/appengine/internal/socket
google.golang.org/appengine/internal/urlfetch
google.golang.org/appengine/socket
google.golang.org/appengine/urlfetch
-# google.golang.org/genproto v0.0.0-20230113154510-dbe35b8444a5
+# google.golang.org/genproto v0.0.0-20230119192704-9d59e20e5cd1
## explicit; go 1.19
google.golang.org/genproto/googleapis/api
google.golang.org/genproto/googleapis/api/annotations
From 3d1cb011b671b71fdda8c82c2a65106b6a0dbe1e Mon Sep 17 00:00:00 2001
From: Aliaksandr Valialkin
Date: Mon, 23 Jan 2023 18:41:07 -0800
Subject: [PATCH 12/32] lib/encoding: make deterministic tests which rely on
math/rand
Fixes https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3683
---
lib/encoding/compress_test.go | 3 ++-
lib/encoding/encoding_cgo_test.go | 16 ++++++++++------
lib/encoding/encoding_pure_test.go | 16 ++++++++++------
lib/encoding/encoding_test.go | 6 ++++--
lib/encoding/encoding_timing_test.go | 6 ++++--
lib/encoding/nearest_delta2_test.go | 10 ++++++----
lib/encoding/nearest_delta_test.go | 10 ++++++----
lib/encoding/zstd/zstd_test.go | 3 ++-
8 files changed, 44 insertions(+), 26 deletions(-)
diff --git a/lib/encoding/compress_test.go b/lib/encoding/compress_test.go
index f959f1be3b..47b2d5d83c 100644
--- a/lib/encoding/compress_test.go
+++ b/lib/encoding/compress_test.go
@@ -9,9 +9,10 @@ func TestCompressDecompressZSTD(t *testing.T) {
testCompressDecompressZSTD(t, []byte("a"))
testCompressDecompressZSTD(t, []byte("foobarbaz"))
+ r := rand.New(rand.NewSource(1))
var b []byte
for i := 0; i < 64*1024; i++ {
- b = append(b, byte(rand.Int31n(256)))
+ b = append(b, byte(r.Int31n(256)))
}
testCompressDecompressZSTD(t, b)
}
diff --git a/lib/encoding/encoding_cgo_test.go b/lib/encoding/encoding_cgo_test.go
index e7e8da1a30..b6f0f6d891 100644
--- a/lib/encoding/encoding_cgo_test.go
+++ b/lib/encoding/encoding_cgo_test.go
@@ -9,6 +9,8 @@ import (
)
func TestMarshalUnmarshalInt64Array(t *testing.T) {
+ r := rand.New(rand.NewSource(1))
+
var va []int64
var v int64
@@ -16,7 +18,7 @@ func TestMarshalUnmarshalInt64Array(t *testing.T) {
va = va[:0]
v = 0
for i := 0; i < 8*1024; i++ {
- v += int64(rand.NormFloat64() * 1e6)
+ v += int64(r.NormFloat64() * 1e6)
va = append(va, v)
}
for precisionBits := uint8(1); precisionBits < 23; precisionBits++ {
@@ -30,7 +32,7 @@ func TestMarshalUnmarshalInt64Array(t *testing.T) {
va = va[:0]
v = 0
for i := 0; i < 8*1024; i++ {
- v += 30e6 + int64(rand.NormFloat64()*1e6)
+ v += 30e6 + int64(r.NormFloat64()*1e6)
va = append(va, v)
}
for precisionBits := uint8(1); precisionBits < 24; precisionBits++ {
@@ -44,7 +46,7 @@ func TestMarshalUnmarshalInt64Array(t *testing.T) {
va = va[:0]
v = 1000
for i := 0; i < 6; i++ {
- v += int64(rand.NormFloat64() * 100)
+ v += int64(r.NormFloat64() * 100)
va = append(va, v)
}
for precisionBits := uint8(1); precisionBits < 65; precisionBits++ {
@@ -55,7 +57,7 @@ func TestMarshalUnmarshalInt64Array(t *testing.T) {
va = va[:0]
v = 0
for i := 0; i < 6; i++ {
- v += 3000 + int64(rand.NormFloat64()*100)
+ v += 3000 + int64(r.NormFloat64()*100)
va = append(va, v)
}
for precisionBits := uint8(5); precisionBits < 65; precisionBits++ {
@@ -64,11 +66,13 @@ func TestMarshalUnmarshalInt64Array(t *testing.T) {
}
func TestMarshalInt64ArraySize(t *testing.T) {
+ r := rand.New(rand.NewSource(1))
+
var va []int64
- v := int64(rand.Float64() * 1e9)
+ v := int64(r.Float64() * 1e9)
for i := 0; i < 8*1024; i++ {
va = append(va, v)
- v += 30e3 + int64(rand.NormFloat64()*1e3)
+ v += 30e3 + int64(r.NormFloat64()*1e3)
}
testMarshalInt64ArraySize(t, va, 1, 180, 1400)
diff --git a/lib/encoding/encoding_pure_test.go b/lib/encoding/encoding_pure_test.go
index ece4f5395b..0a7aa7a1c8 100644
--- a/lib/encoding/encoding_pure_test.go
+++ b/lib/encoding/encoding_pure_test.go
@@ -9,6 +9,8 @@ import (
)
func TestMarshalUnmarshalInt64Array(t *testing.T) {
+ r := rand.New(rand.NewSource(1))
+
var va []int64
var v int64
@@ -16,7 +18,7 @@ func TestMarshalUnmarshalInt64Array(t *testing.T) {
va = va[:0]
v = 0
for i := 0; i < 8*1024; i++ {
- v += int64(rand.NormFloat64() * 1e6)
+ v += int64(r.NormFloat64() * 1e6)
va = append(va, v)
}
for precisionBits := uint8(1); precisionBits < 17; precisionBits++ {
@@ -30,7 +32,7 @@ func TestMarshalUnmarshalInt64Array(t *testing.T) {
va = va[:0]
v = 0
for i := 0; i < 8*1024; i++ {
- v += 30e6 + int64(rand.NormFloat64()*1e6)
+ v += 30e6 + int64(r.NormFloat64()*1e6)
va = append(va, v)
}
for precisionBits := uint8(1); precisionBits < 15; precisionBits++ {
@@ -44,7 +46,7 @@ func TestMarshalUnmarshalInt64Array(t *testing.T) {
va = va[:0]
v = 1000
for i := 0; i < 6; i++ {
- v += int64(rand.NormFloat64() * 100)
+ v += int64(r.NormFloat64() * 100)
va = append(va, v)
}
for precisionBits := uint8(1); precisionBits < 65; precisionBits++ {
@@ -55,7 +57,7 @@ func TestMarshalUnmarshalInt64Array(t *testing.T) {
va = va[:0]
v = 0
for i := 0; i < 6; i++ {
- v += 3000 + int64(rand.NormFloat64()*100)
+ v += 3000 + int64(r.NormFloat64()*100)
va = append(va, v)
}
for precisionBits := uint8(5); precisionBits < 65; precisionBits++ {
@@ -64,11 +66,13 @@ func TestMarshalUnmarshalInt64Array(t *testing.T) {
}
func TestMarshalInt64ArraySize(t *testing.T) {
+ r := rand.New(rand.NewSource(1))
+
var va []int64
- v := int64(rand.Float64() * 1e9)
+ v := int64(r.Float64() * 1e9)
for i := 0; i < 8*1024; i++ {
va = append(va, v)
- v += 30e3 + int64(rand.NormFloat64()*1e3)
+ v += 30e3 + int64(r.NormFloat64()*1e3)
}
testMarshalInt64ArraySize(t, va, 1, 500, 1700)
diff --git a/lib/encoding/encoding_test.go b/lib/encoding/encoding_test.go
index fd3173aa31..94d25b5f54 100644
--- a/lib/encoding/encoding_test.go
+++ b/lib/encoding/encoding_test.go
@@ -155,12 +155,13 @@ func testMarshalUnmarshalInt64Array(t *testing.T, va []int64, precisionBits uint
}
func TestMarshalUnmarshalTimestamps(t *testing.T) {
+ r := rand.New(rand.NewSource(1))
const precisionBits = 3
var timestamps []int64
v := int64(0)
for i := 0; i < 8*1024; i++ {
- v += 30e3 * int64(rand.NormFloat64()*5e2)
+ v += 30e3 * int64(r.NormFloat64()*5e2)
timestamps = append(timestamps, v)
}
result, mt, firstTimestamp := MarshalTimestamps(nil, timestamps, precisionBits)
@@ -174,12 +175,13 @@ func TestMarshalUnmarshalTimestamps(t *testing.T) {
}
func TestMarshalUnmarshalValues(t *testing.T) {
+ r := rand.New(rand.NewSource(1))
const precisionBits = 3
var values []int64
v := int64(0)
for i := 0; i < 8*1024; i++ {
- v += int64(rand.NormFloat64() * 1e2)
+ v += int64(r.NormFloat64() * 1e2)
values = append(values, v)
}
result, mt, firstValue := MarshalValues(nil, values, precisionBits)
diff --git a/lib/encoding/encoding_timing_test.go b/lib/encoding/encoding_timing_test.go
index 7b100e2d29..fbfed7cf6d 100644
--- a/lib/encoding/encoding_timing_test.go
+++ b/lib/encoding/encoding_timing_test.go
@@ -42,10 +42,11 @@ func BenchmarkUnmarshalGaugeArray(b *testing.B) {
}
var benchGaugeArray = func() []int64 {
+ r := rand.New(rand.NewSource(1))
a := make([]int64, 8*1024)
v := int64(0)
for i := 0; i < len(a); i++ {
- v += int64(rand.NormFloat64() * 100)
+ v += int64(r.NormFloat64() * 100)
a[i] = v
}
return a
@@ -230,10 +231,11 @@ var benchMarshalType = func() MarshalType {
}()
var benchInt64Array = func() []int64 {
+ r := rand.New(rand.NewSource(1))
var a []int64
var v int64
for i := 0; i < 8*1024; i++ {
- v += 30e3 + int64(rand.NormFloat64()*1e3)
+ v += 30e3 + int64(r.NormFloat64()*1e3)
a = append(a, v)
}
return a
diff --git a/lib/encoding/nearest_delta2_test.go b/lib/encoding/nearest_delta2_test.go
index dcf05200b8..7a4586b4ab 100644
--- a/lib/encoding/nearest_delta2_test.go
+++ b/lib/encoding/nearest_delta2_test.go
@@ -146,6 +146,8 @@ func testMarshalInt64NearestDelta2(t *testing.T, va []int64, precisionBits uint8
}
func TestMarshalUnmarshalInt64NearestDelta2(t *testing.T) {
+ r := rand.New(rand.NewSource(1))
+
testMarshalUnmarshalInt64NearestDelta2(t, []int64{0, 0}, 4)
testMarshalUnmarshalInt64NearestDelta2(t, []int64{1, -3}, 4)
testMarshalUnmarshalInt64NearestDelta2(t, []int64{255, 255}, 4)
@@ -198,7 +200,7 @@ func TestMarshalUnmarshalInt64NearestDelta2(t *testing.T) {
v = 787933
va = []int64{}
for i := 0; i < 1024; i++ {
- v -= 25 + int64(rand.NormFloat64()*2)
+ v -= 25 + int64(r.NormFloat64()*2)
va = append(va, v)
}
testMarshalUnmarshalInt64NearestDelta2(t, va, 4)
@@ -207,7 +209,7 @@ func TestMarshalUnmarshalInt64NearestDelta2(t *testing.T) {
v = 943854
va = []int64{}
for i := 0; i < 1024; i++ {
- v += 30 + rand.Int63n(5)
+ v += 30 + r.Int63n(5)
va = append(va, v)
}
testMarshalUnmarshalInt64NearestDelta2(t, va, 4)
@@ -216,7 +218,7 @@ func TestMarshalUnmarshalInt64NearestDelta2(t *testing.T) {
v = -12345
va = []int64{}
for i := 0; i < 1024; i++ {
- v += int64(rand.NormFloat64() * 10)
+ v += int64(r.NormFloat64() * 10)
va = append(va, v)
}
testMarshalUnmarshalInt64NearestDelta2(t, va, 2)
@@ -225,7 +227,7 @@ func TestMarshalUnmarshalInt64NearestDelta2(t *testing.T) {
v = -12345
va = []int64{}
for i := 0; i < 1024; i++ {
- v += rand.Int63n(15) - 1
+ v += r.Int63n(15) - 1
va = append(va, v)
}
testMarshalUnmarshalInt64NearestDelta2(t, va, 3)
diff --git a/lib/encoding/nearest_delta_test.go b/lib/encoding/nearest_delta_test.go
index fd45720bea..7a12209bbc 100644
--- a/lib/encoding/nearest_delta_test.go
+++ b/lib/encoding/nearest_delta_test.go
@@ -53,6 +53,8 @@ func testMarshalInt64NearestDelta(t *testing.T, va []int64, precisionBits uint8,
}
func TestMarshalUnmarshalInt64NearestDelta(t *testing.T) {
+ r := rand.New(rand.NewSource(1))
+
testMarshalUnmarshalInt64NearestDelta(t, []int64{0}, 4)
testMarshalUnmarshalInt64NearestDelta(t, []int64{0, 0}, 4)
testMarshalUnmarshalInt64NearestDelta(t, []int64{1, -3}, 4)
@@ -105,7 +107,7 @@ func TestMarshalUnmarshalInt64NearestDelta(t *testing.T) {
v = 787933
va = []int64{}
for i := 0; i < 1024; i++ {
- v -= 25 + int64(rand.NormFloat64()*2)
+ v -= 25 + int64(r.NormFloat64()*2)
va = append(va, v)
}
testMarshalUnmarshalInt64NearestDelta(t, va, 4)
@@ -114,7 +116,7 @@ func TestMarshalUnmarshalInt64NearestDelta(t *testing.T) {
v = 943854
va = []int64{}
for i := 0; i < 1024; i++ {
- v += 30 + rand.Int63n(5)
+ v += 30 + r.Int63n(5)
va = append(va, v)
}
testMarshalUnmarshalInt64NearestDelta(t, va, 4)
@@ -123,7 +125,7 @@ func TestMarshalUnmarshalInt64NearestDelta(t *testing.T) {
v = -12345
va = []int64{}
for i := 0; i < 1024; i++ {
- v += int64(rand.NormFloat64() * 10)
+ v += int64(r.NormFloat64() * 10)
va = append(va, v)
}
testMarshalUnmarshalInt64NearestDelta(t, va, 4)
@@ -132,7 +134,7 @@ func TestMarshalUnmarshalInt64NearestDelta(t *testing.T) {
v = -12345
va = []int64{}
for i := 0; i < 1024; i++ {
- v += rand.Int63n(15) - 1
+ v += r.Int63n(15) - 1
va = append(va, v)
}
testMarshalUnmarshalInt64NearestDelta(t, va, 4)
diff --git a/lib/encoding/zstd/zstd_test.go b/lib/encoding/zstd/zstd_test.go
index 6f7f63b1cd..124b60e1ae 100644
--- a/lib/encoding/zstd/zstd_test.go
+++ b/lib/encoding/zstd/zstd_test.go
@@ -15,9 +15,10 @@ func TestCompressDecompress(t *testing.T) {
testCrossCompressDecompress(t, []byte("a"))
testCrossCompressDecompress(t, []byte("foobarbaz"))
+ r := rand.New(rand.NewSource(1))
var b []byte
for i := 0; i < 64*1024; i++ {
- b = append(b, byte(rand.Int31n(256)))
+ b = append(b, byte(r.Int31n(256)))
}
testCrossCompressDecompress(t, b)
}
From 0a4d8dc777f714ea6276ef4379fd25a9b0fac6da Mon Sep 17 00:00:00 2001
From: Aliaksandr Valialkin
Date: Mon, 23 Jan 2023 19:22:48 -0800
Subject: [PATCH 13/32] lib/uint64set: use repeatable randomizer in tests
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3683
---
lib/uint64set/uint64set_test.go | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/lib/uint64set/uint64set_test.go b/lib/uint64set/uint64set_test.go
index 5cd97cf950..f6c7ed2794 100644
--- a/lib/uint64set/uint64set_test.go
+++ b/lib/uint64set/uint64set_test.go
@@ -177,13 +177,13 @@ func TestSetOps(t *testing.T) {
}
f(a, b)
- rng := rand.New(rand.NewSource(0))
+ r := rand.New(rand.NewSource(1))
for i := 0; i < 10; i++ {
a = nil
b = nil
for j := 0; j < 1000; j++ {
- a = append(a, uint64(rng.Intn(1e6)))
- b = append(b, uint64(rng.Intn(1e6)))
+ a = append(a, uint64(r.Intn(1e6)))
+ b = append(b, uint64(r.Intn(1e6)))
}
f(a, b)
}
@@ -608,10 +608,11 @@ func TestSetSparseItems(t *testing.T) {
}
func testSetSparseItems(t *testing.T, itemsCount int) {
+ r := rand.New(rand.NewSource(1))
var s Set
m := make(map[uint64]bool)
for i := 0; i < itemsCount; i++ {
- x := rand.Uint64()
+ x := r.Uint64()
s.Add(x)
m[x] = true
}
From a11dc6689ad69ce66c073b5bcd141c89b7639783 Mon Sep 17 00:00:00 2001
From: Aliaksandr Valialkin
Date: Mon, 23 Jan 2023 19:23:37 -0800
Subject: [PATCH 14/32] lib/decimal: use consistent randomizer in tests
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3683
---
lib/decimal/decimal_test.go | 3 ++-
lib/decimal/decimal_timing_test.go | 6 ++++--
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/lib/decimal/decimal_test.go b/lib/decimal/decimal_test.go
index 4e2e271efa..4bc74130e4 100644
--- a/lib/decimal/decimal_test.go
+++ b/lib/decimal/decimal_test.go
@@ -506,8 +506,9 @@ func TestFloatToDecimalRoundtrip(t *testing.T) {
f(vMin)
f(vStaleNaN)
+ r := rand.New(rand.NewSource(1))
for i := 0; i < 1e4; i++ {
- v := rand.NormFloat64()
+ v := r.NormFloat64()
f(v)
f(v * 1e-6)
f(v * 1e6)
diff --git a/lib/decimal/decimal_timing_test.go b/lib/decimal/decimal_timing_test.go
index ceba29d2f0..b7d451bb48 100644
--- a/lib/decimal/decimal_timing_test.go
+++ b/lib/decimal/decimal_timing_test.go
@@ -84,17 +84,19 @@ func benchmarkAppendFloatToDecimal(b *testing.B, fa []float64) {
}
var testFAReal = func() []float64 {
+ r := rand.New(rand.NewSource(1))
fa := make([]float64, 8*1024)
for i := 0; i < len(fa); i++ {
- fa[i] = rand.NormFloat64() * 1e-6
+ fa[i] = r.NormFloat64() * 1e-6
}
return fa
}()
var testFAInteger = func() []float64 {
+ r := rand.New(rand.NewSource(2))
fa := make([]float64, 8*1024)
for i := 0; i < len(fa); i++ {
- fa[i] = float64(int(rand.NormFloat64() * 1e6))
+ fa[i] = float64(int(r.NormFloat64() * 1e6))
}
return fa
}()
From f2b40dbe9afb96f9a50b00edd9e77f609bdb3258 Mon Sep 17 00:00:00 2001
From: Aliaksandr Valialkin
Date: Mon, 23 Jan 2023 19:25:08 -0800
Subject: [PATCH 15/32] app/vmalert: use consistent randomizer in tests
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3683
---
app/vmalert/manager_test.go | 7 ++++---
app/vmalert/notifier/config_watcher_test.go | 7 ++++---
app/vmalert/remotewrite/remotewrite_test.go | 3 ++-
3 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/app/vmalert/manager_test.go b/app/vmalert/manager_test.go
index b56dfb67c7..ba1f23dde9 100644
--- a/app/vmalert/manager_test.go
+++ b/app/vmalert/manager_test.go
@@ -64,17 +64,18 @@ func TestManagerUpdateConcurrent(t *testing.T) {
wg := sync.WaitGroup{}
wg.Add(workers)
for i := 0; i < workers; i++ {
- go func() {
+ go func(n int) {
defer wg.Done()
+ r := rand.New(rand.NewSource(int64(n)))
for i := 0; i < iterations; i++ {
- rnd := rand.Intn(len(paths))
+ rnd := r.Intn(len(paths))
cfg, err := config.Parse([]string{paths[rnd]}, notifier.ValidateTemplates, true)
if err != nil { // update can fail and this is expected
continue
}
_ = m.update(context.Background(), cfg, false)
}
- }()
+ }(i)
}
wg.Wait()
}
diff --git a/app/vmalert/notifier/config_watcher_test.go b/app/vmalert/notifier/config_watcher_test.go
index 61550a6266..b51cd3bfa2 100644
--- a/app/vmalert/notifier/config_watcher_test.go
+++ b/app/vmalert/notifier/config_watcher_test.go
@@ -162,14 +162,15 @@ consul_sd_configs:
wg := sync.WaitGroup{}
wg.Add(workers)
for i := 0; i < workers; i++ {
- go func() {
+ go func(n int) {
defer wg.Done()
+ r := rand.New(rand.NewSource(int64(n)))
for i := 0; i < iterations; i++ {
- rnd := rand.Intn(len(paths))
+ rnd := r.Intn(len(paths))
_ = cw.reload(paths[rnd]) // update can fail and this is expected
_ = cw.notifiers()
}
- }()
+ }(i)
}
wg.Wait()
}
diff --git a/app/vmalert/remotewrite/remotewrite_test.go b/app/vmalert/remotewrite/remotewrite_test.go
index 668c422dfe..4ca9812a5d 100644
--- a/app/vmalert/remotewrite/remotewrite_test.go
+++ b/app/vmalert/remotewrite/remotewrite_test.go
@@ -27,12 +27,13 @@ func TestClient_Push(t *testing.T) {
if err != nil {
t.Fatalf("failed to create client: %s", err)
}
+ r := rand.New(rand.NewSource(1))
const rowsN = 1e4
var sent int
for i := 0; i < rowsN; i++ {
s := prompbmarshal.TimeSeries{
Samples: []prompbmarshal.Sample{{
- Value: rand.Float64(),
+ Value: r.Float64(),
Timestamp: time.Now().Unix(),
}},
}
From 30e968df6d383a774a18c46cef3f3de299c44eed Mon Sep 17 00:00:00 2001
From: Aliaksandr Valialkin
Date: Mon, 23 Jan 2023 19:27:23 -0800
Subject: [PATCH 16/32] app/vmselect: use consistent randomizer in tests
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3683
---
app/vmselect/promql/rollup_timing_test.go | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/app/vmselect/promql/rollup_timing_test.go b/app/vmselect/promql/rollup_timing_test.go
index 708231b5bf..bf79c991cc 100644
--- a/app/vmselect/promql/rollup_timing_test.go
+++ b/app/vmselect/promql/rollup_timing_test.go
@@ -35,9 +35,10 @@ var (
)
var benchValues = func() []float64 {
+ r := rand.New(rand.NewSource(1))
values := make([]float64, 1000)
for i := range values {
- values[i] = rand.Float64() * 100
+ values[i] = r.Float64() * 100
}
return values
}()
From 7030429958ac3ed6c762f1db241eddc64688d019 Mon Sep 17 00:00:00 2001
From: Aliaksandr Valialkin
Date: Mon, 23 Jan 2023 19:43:18 -0800
Subject: [PATCH 17/32] lib/mergeset: fix data race in
BenchmarkInmemoryBlockMarshal
---
lib/mergeset/encoding_timing_test.go | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/lib/mergeset/encoding_timing_test.go b/lib/mergeset/encoding_timing_test.go
index 2955cc3f5b..1a8ed4d888 100644
--- a/lib/mergeset/encoding_timing_test.go
+++ b/lib/mergeset/encoding_timing_test.go
@@ -50,19 +50,20 @@ func BenchmarkInmemoryBlockMarshal(b *testing.B) {
func benchmarkInmemoryBlockMarshal(b *testing.B, prefix string) {
const itemsCount = 500
- var ibSrc inmemoryBlock
- for i := 0; i < itemsCount; i++ {
- item := []byte(fmt.Sprintf("%s%d", prefix, i))
- if !ibSrc.Add(item) {
- b.Fatalf("cannot add more than %d items", i)
- }
- }
- sort.Sort(&ibSrc)
b.ResetTimer()
b.SetBytes(int64(itemsCount * len(prefix)))
b.ReportAllocs()
b.RunParallel(func(pb *testing.PB) {
+ var ibSrc inmemoryBlock
+ for i := 0; i < itemsCount; i++ {
+ item := []byte(fmt.Sprintf("%s%d", prefix, i))
+ if !ibSrc.Add(item) {
+ b.Fatalf("cannot add more than %d items", i)
+ }
+ }
+ sort.Sort(&ibSrc)
+
var sb storageBlock
var firstItem, commonPrefix []byte
var n uint32
From 1a3a6ef90750608a0e188e7ac39380280a2c7ccc Mon Sep 17 00:00:00 2001
From: Aliaksandr Valialkin
Date: Mon, 23 Jan 2023 19:43:39 -0800
Subject: [PATCH 18/32] lib/mergeset: use deterministic random generator in
tests
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3683
---
lib/mergeset/block_stream_reader_test.go | 4 +++-
lib/mergeset/encoding_test.go | 28 ++++++++++--------------
lib/mergeset/merge_test.go | 27 +++++++++++++----------
lib/mergeset/part_search_test.go | 20 +++++++++--------
lib/mergeset/table_search_test.go | 10 +++++----
lib/mergeset/table_search_timing_test.go | 9 +++++---
lib/mergeset/table_test.go | 17 ++++++++------
7 files changed, 64 insertions(+), 51 deletions(-)
diff --git a/lib/mergeset/block_stream_reader_test.go b/lib/mergeset/block_stream_reader_test.go
index c9175549d2..acc7ec80ce 100644
--- a/lib/mergeset/block_stream_reader_test.go
+++ b/lib/mergeset/block_stream_reader_test.go
@@ -2,16 +2,18 @@ package mergeset
import (
"fmt"
+ "math/rand"
"sort"
"testing"
"time"
)
func TestBlockStreamReaderReadFromInmemoryPart(t *testing.T) {
+ r := rand.New(rand.NewSource(1))
var items []string
var ib inmemoryBlock
for i := 0; i < 100; i++ {
- item := getRandomBytes()
+ item := getRandomBytes(r)
if !ib.Add(item) {
break
}
diff --git a/lib/mergeset/encoding_test.go b/lib/mergeset/encoding_test.go
index 8e6ecffd0f..fc658ab5be 100644
--- a/lib/mergeset/encoding_test.go
+++ b/lib/mergeset/encoding_test.go
@@ -4,7 +4,6 @@ import (
"math/rand"
"reflect"
"sort"
- "sync"
"testing"
"testing/quick"
@@ -33,6 +32,8 @@ func TestCommonPrefixLen(t *testing.T) {
}
func TestInmemoryBlockAdd(t *testing.T) {
+ r := rand.New(rand.NewSource(1))
+
var ib inmemoryBlock
for i := 0; i < 30; i++ {
@@ -42,7 +43,7 @@ func TestInmemoryBlockAdd(t *testing.T) {
// Fill ib.
for j := 0; j < i*100+1; j++ {
- s := getRandomBytes()
+ s := getRandomBytes(r)
if !ib.Add(s) {
// ib is full.
break
@@ -69,6 +70,7 @@ func TestInmemoryBlockAdd(t *testing.T) {
}
func TestInmemoryBlockSort(t *testing.T) {
+ r := rand.New(rand.NewSource(1))
var ib inmemoryBlock
for i := 0; i < 100; i++ {
@@ -77,8 +79,8 @@ func TestInmemoryBlockSort(t *testing.T) {
ib.Reset()
// Fill ib.
- for j := 0; j < rand.Intn(1500); j++ {
- s := getRandomBytes()
+ for j := 0; j < r.Intn(1500); j++ {
+ s := getRandomBytes(r)
if !ib.Add(s) {
// ib is full.
break
@@ -109,6 +111,7 @@ func TestInmemoryBlockSort(t *testing.T) {
}
func TestInmemoryBlockMarshalUnmarshal(t *testing.T) {
+ r := rand.New(rand.NewSource(1))
var ib, ib2 inmemoryBlock
var sb storageBlock
var firstItem, commonPrefix []byte
@@ -121,9 +124,9 @@ func TestInmemoryBlockMarshalUnmarshal(t *testing.T) {
ib.Reset()
// Fill ib.
- itemsCount := 2 * (rand.Intn(i+1) + 1)
+ itemsCount := 2 * (r.Intn(i+1) + 1)
for j := 0; j < itemsCount/2; j++ {
- s := getRandomBytes()
+ s := getRandomBytes(r)
s = []byte("prefix " + string(s))
if !ib.Add(s) {
// ib is full.
@@ -132,7 +135,7 @@ func TestInmemoryBlockMarshalUnmarshal(t *testing.T) {
items = append(items, string(s))
totalLen += len(s)
- s = getRandomBytes()
+ s = getRandomBytes(r)
if !ib.Add(s) {
// ib is full
break
@@ -186,10 +189,8 @@ func TestInmemoryBlockMarshalUnmarshal(t *testing.T) {
}
}
-func getRandomBytes() []byte {
- rndLock.Lock()
- iv, ok := quick.Value(bytesType, rnd)
- rndLock.Unlock()
+func getRandomBytes(r *rand.Rand) []byte {
+ iv, ok := quick.Value(bytesType, r)
if !ok {
logger.Panicf("error in quick.Value when generating random string")
}
@@ -197,8 +198,3 @@ func getRandomBytes() []byte {
}
var bytesType = reflect.TypeOf([]byte(nil))
-
-var (
- rnd = rand.New(rand.NewSource(1))
- rndLock sync.Mutex
-)
diff --git a/lib/mergeset/merge_test.go b/lib/mergeset/merge_test.go
index 6ba874a676..2298a19911 100644
--- a/lib/mergeset/merge_test.go
+++ b/lib/mergeset/merge_test.go
@@ -23,8 +23,10 @@ func TestMergeBlockStreams(t *testing.T) {
}
func TestMultilevelMerge(t *testing.T) {
+ r := rand.New(rand.NewSource(1))
+
// Prepare blocks to merge.
- bsrs, items := newTestInmemoryBlockStreamReaders(10, 4000)
+ bsrs, items := newTestInmemoryBlockStreamReaders(r, 10, 4000)
var itemsMerged uint64
// First level merge
@@ -70,7 +72,8 @@ func TestMultilevelMerge(t *testing.T) {
}
func TestMergeForciblyStop(t *testing.T) {
- bsrs, _ := newTestInmemoryBlockStreamReaders(20, 4000)
+ r := rand.New(rand.NewSource(1))
+ bsrs, _ := newTestInmemoryBlockStreamReaders(r, 20, 4000)
var dstIP inmemoryPart
var bsw blockStreamWriter
bsw.InitFromInmemoryPart(&dstIP, 1)
@@ -88,16 +91,18 @@ func TestMergeForciblyStop(t *testing.T) {
func testMergeBlockStreams(t *testing.T, blocksToMerge, maxItemsPerBlock int) {
t.Helper()
- if err := testMergeBlockStreamsSerial(blocksToMerge, maxItemsPerBlock); err != nil {
+ r := rand.New(rand.NewSource(1))
+ if err := testMergeBlockStreamsSerial(r, blocksToMerge, maxItemsPerBlock); err != nil {
t.Fatalf("unexpected error in serial test: %s", err)
}
const concurrency = 3
ch := make(chan error, concurrency)
for i := 0; i < concurrency; i++ {
- go func() {
- ch <- testMergeBlockStreamsSerial(blocksToMerge, maxItemsPerBlock)
- }()
+ go func(n int) {
+ rLocal := rand.New(rand.NewSource(int64(n)))
+ ch <- testMergeBlockStreamsSerial(rLocal, blocksToMerge, maxItemsPerBlock)
+ }(i)
}
for i := 0; i < concurrency; i++ {
@@ -112,9 +117,9 @@ func testMergeBlockStreams(t *testing.T, blocksToMerge, maxItemsPerBlock int) {
}
}
-func testMergeBlockStreamsSerial(blocksToMerge, maxItemsPerBlock int) error {
+func testMergeBlockStreamsSerial(r *rand.Rand, blocksToMerge, maxItemsPerBlock int) error {
// Prepare blocks to merge.
- bsrs, items := newTestInmemoryBlockStreamReaders(blocksToMerge, maxItemsPerBlock)
+ bsrs, items := newTestInmemoryBlockStreamReaders(r, blocksToMerge, maxItemsPerBlock)
// Merge blocks.
var itemsMerged uint64
@@ -175,14 +180,14 @@ func testCheckItems(dstIP *inmemoryPart, items []string) error {
return nil
}
-func newTestInmemoryBlockStreamReaders(blocksCount, maxItemsPerBlock int) ([]*blockStreamReader, []string) {
+func newTestInmemoryBlockStreamReaders(r *rand.Rand, blocksCount, maxItemsPerBlock int) ([]*blockStreamReader, []string) {
var items []string
var bsrs []*blockStreamReader
for i := 0; i < blocksCount; i++ {
var ib inmemoryBlock
- itemsPerBlock := rand.Intn(maxItemsPerBlock) + 1
+ itemsPerBlock := r.Intn(maxItemsPerBlock) + 1
for j := 0; j < itemsPerBlock; j++ {
- item := getRandomBytes()
+ item := getRandomBytes(r)
if !ib.Add(item) {
break
}
diff --git a/lib/mergeset/part_search_test.go b/lib/mergeset/part_search_test.go
index c042d44acd..72434a4027 100644
--- a/lib/mergeset/part_search_test.go
+++ b/lib/mergeset/part_search_test.go
@@ -9,13 +9,14 @@ import (
)
func TestPartSearch(t *testing.T) {
- p, items, err := newTestPart(10, 4000)
+ r := rand.New(rand.NewSource(1))
+ p, items, err := newTestPart(r, 10, 4000)
if err != nil {
t.Fatalf("cannot create test part: %s", err)
}
t.Run("serial", func(t *testing.T) {
- if err := testPartSearchSerial(p, items); err != nil {
+ if err := testPartSearchSerial(r, p, items); err != nil {
t.Fatalf("error in serial part search test: %s", err)
}
})
@@ -31,9 +32,10 @@ func testPartSearchConcurrent(p *part, items []string) error {
const goroutinesCount = 5
ch := make(chan error, goroutinesCount)
for i := 0; i < goroutinesCount; i++ {
- go func() {
- ch <- testPartSearchSerial(p, items)
- }()
+ go func(n int) {
+ rLocal := rand.New(rand.NewSource(int64(n)))
+ ch <- testPartSearchSerial(rLocal, p, items)
+ }(i)
}
for i := 0; i < goroutinesCount; i++ {
select {
@@ -48,7 +50,7 @@ func testPartSearchConcurrent(p *part, items []string) error {
return nil
}
-func testPartSearchSerial(p *part, items []string) error {
+func testPartSearchSerial(r *rand.Rand, p *part, items []string) error {
var ps partSearch
ps.Init(p)
@@ -88,7 +90,7 @@ func testPartSearchSerial(p *part, items []string) error {
// Search for inner items
for loop := 0; loop < 100; loop++ {
- idx := rand.Intn(len(items))
+ idx := r.Intn(len(items))
k = append(k[:0], items[idx]...)
ps.Seek(k)
n := sort.Search(len(items), func(i int) bool {
@@ -143,8 +145,8 @@ func testPartSearchSerial(p *part, items []string) error {
return nil
}
-func newTestPart(blocksCount, maxItemsPerBlock int) (*part, []string, error) {
- bsrs, items := newTestInmemoryBlockStreamReaders(blocksCount, maxItemsPerBlock)
+func newTestPart(r *rand.Rand, blocksCount, maxItemsPerBlock int) (*part, []string, error) {
+ bsrs, items := newTestInmemoryBlockStreamReaders(r, blocksCount, maxItemsPerBlock)
var itemsMerged uint64
var ip inmemoryPart
diff --git a/lib/mergeset/table_search_test.go b/lib/mergeset/table_search_test.go
index f0ec1f8882..181daa38b5 100644
--- a/lib/mergeset/table_search_test.go
+++ b/lib/mergeset/table_search_test.go
@@ -27,7 +27,8 @@ func TestTableSearchSerial(t *testing.T) {
const itemsCount = 1e5
items := func() []string {
- tb, items, err := newTestTable(path, itemsCount)
+ r := rand.New(rand.NewSource(1))
+ tb, items, err := newTestTable(r, path, itemsCount)
if err != nil {
t.Fatalf("cannot create test table: %s", err)
}
@@ -63,7 +64,8 @@ func TestTableSearchConcurrent(t *testing.T) {
const itemsCount = 1e5
items := func() []string {
- tb, items, err := newTestTable(path, itemsCount)
+ r := rand.New(rand.NewSource(2))
+ tb, items, err := newTestTable(r, path, itemsCount)
if err != nil {
t.Fatalf("cannot create test table: %s", err)
}
@@ -148,7 +150,7 @@ func testTableSearchSerial(tb *Table, items []string) error {
return nil
}
-func newTestTable(path string, itemsCount int) (*Table, []string, error) {
+func newTestTable(r *rand.Rand, path string, itemsCount int) (*Table, []string, error) {
var flushes uint64
flushCallback := func() {
atomic.AddUint64(&flushes, 1)
@@ -160,7 +162,7 @@ func newTestTable(path string, itemsCount int) (*Table, []string, error) {
}
items := make([]string, itemsCount)
for i := 0; i < itemsCount; i++ {
- item := fmt.Sprintf("%d:%d", rand.Intn(1e9), i)
+ item := fmt.Sprintf("%d:%d", r.Intn(1e9), i)
tb.AddItems([][]byte{[]byte(item)})
items[i] = item
}
diff --git a/lib/mergeset/table_search_timing_test.go b/lib/mergeset/table_search_timing_test.go
index 555fd85789..12fbcb7eec 100644
--- a/lib/mergeset/table_search_timing_test.go
+++ b/lib/mergeset/table_search_timing_test.go
@@ -17,6 +17,8 @@ func BenchmarkTableSearch(b *testing.B) {
}
func benchmarkTableSearch(b *testing.B, itemsCount int) {
+ r := rand.New(rand.NewSource(1))
+
path := fmt.Sprintf("BenchmarkTableSearch-%d", itemsCount)
if err := os.RemoveAll(path); err != nil {
b.Fatalf("cannot remove %q: %s", path, err)
@@ -25,7 +27,7 @@ func benchmarkTableSearch(b *testing.B, itemsCount int) {
_ = os.RemoveAll(path)
}()
- tb, items, err := newTestTable(path, itemsCount)
+ tb, items, err := newTestTable(r, path, itemsCount)
if err != nil {
panic(fmt.Errorf("cannot create test table at %q with %d items: %w", path, itemsCount, err))
}
@@ -52,7 +54,7 @@ func benchmarkTableSearch(b *testing.B, itemsCount int) {
})
randKeys := append([][]byte{}, keys...)
- rand.Shuffle(len(randKeys), func(i, j int) {
+ r.Shuffle(len(randKeys), func(i, j int) {
randKeys[i], randKeys[j] = randKeys[j], randKeys[i]
})
b.Run("random-keys-exact", func(b *testing.B) {
@@ -81,11 +83,12 @@ func benchmarkTableSearchKeysExt(b *testing.B, tb *Table, keys [][]byte, stripSu
b.ReportAllocs()
b.SetBytes(int64(searchKeysCount * rowsToScan))
b.RunParallel(func(pb *testing.PB) {
+ r := rand.New(rand.NewSource(1))
var ts TableSearch
ts.Init(tb)
defer ts.MustClose()
for pb.Next() {
- startIdx := rand.Intn(len(keys) - searchKeysCount)
+ startIdx := r.Intn(len(keys) - searchKeysCount)
searchKeys := keys[startIdx : startIdx+searchKeysCount]
for i, key := range searchKeys {
searchKey := key
diff --git a/lib/mergeset/table_test.go b/lib/mergeset/table_test.go
index eff20bcb5f..6f3de5deea 100644
--- a/lib/mergeset/table_test.go
+++ b/lib/mergeset/table_test.go
@@ -3,6 +3,7 @@ package mergeset
import (
"bytes"
"fmt"
+ "math/rand"
"os"
"sync"
"sync/atomic"
@@ -61,6 +62,7 @@ func TestTableOpenMultipleTimes(t *testing.T) {
}
func TestTableAddItemsSerial(t *testing.T) {
+ r := rand.New(rand.NewSource(1))
const path = "TestTableAddItemsSerial"
if err := os.RemoveAll(path); err != nil {
t.Fatalf("cannot remove %q: %s", path, err)
@@ -80,7 +82,7 @@ func TestTableAddItemsSerial(t *testing.T) {
}
const itemsCount = 10e3
- testAddItemsSerial(tb, itemsCount)
+ testAddItemsSerial(r, tb, itemsCount)
// Verify items count after pending items flush.
tb.DebugFlush()
@@ -105,16 +107,16 @@ func TestTableAddItemsSerial(t *testing.T) {
t.Fatalf("cannot open %q: %s", path, err)
}
const moreItemsCount = itemsCount * 3
- testAddItemsSerial(tb, moreItemsCount)
+ testAddItemsSerial(r, tb, moreItemsCount)
tb.MustClose()
// Re-open the table and verify itemsCount again.
testReopenTable(t, path, itemsCount+moreItemsCount)
}
-func testAddItemsSerial(tb *Table, itemsCount int) {
+func testAddItemsSerial(r *rand.Rand, tb *Table, itemsCount int) {
for i := 0; i < itemsCount; i++ {
- item := getRandomBytes()
+ item := getRandomBytes(r)
if len(item) > maxInmemoryBlockSize {
item = item[:maxInmemoryBlockSize]
}
@@ -263,16 +265,17 @@ func testAddItemsConcurrent(tb *Table, itemsCount int) {
var wg sync.WaitGroup
for i := 0; i < goroutinesCount; i++ {
wg.Add(1)
- go func() {
+ go func(n int) {
defer wg.Done()
+ r := rand.New(rand.NewSource(int64(n)))
for range workCh {
- item := getRandomBytes()
+ item := getRandomBytes(r)
if len(item) > maxInmemoryBlockSize {
item = item[:maxInmemoryBlockSize]
}
tb.AddItems([][]byte{item})
}
- }()
+ }(i)
}
for i := 0; i < itemsCount; i++ {
workCh <- i
From ba5a6c851cee5601d3dc72522c9e36af97a7b193 Mon Sep 17 00:00:00 2001
From: Aliaksandr Valialkin
Date: Mon, 23 Jan 2023 20:10:29 -0800
Subject: [PATCH 19/32] lib/storage: use deterministic random generator in
tests
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3683
---
lib/storage/block_stream_reader_test.go | 21 +++++++----
lib/storage/block_test.go | 13 ++++---
lib/storage/index_db_test.go | 6 ++-
lib/storage/inmemory_part_test.go | 9 +++--
lib/storage/inmemory_part_timing_test.go | 5 ++-
lib/storage/merge_test.go | 48 ++++++++++++++----------
lib/storage/merge_timing_test.go | 10 +++--
lib/storage/part_search_test.go | 14 ++++---
lib/storage/partition_search_test.go | 12 +++---
lib/storage/storage_test.go | 47 ++++++++++++-----------
lib/storage/table_search_test.go | 42 +++++++++++----------
lib/storage/table_search_timing_test.go | 11 +++---
lib/storage/table_timing_test.go | 7 ++--
13 files changed, 140 insertions(+), 105 deletions(-)
diff --git a/lib/storage/block_stream_reader_test.go b/lib/storage/block_stream_reader_test.go
index 57cc045108..f1c1398bc8 100644
--- a/lib/storage/block_stream_reader_test.go
+++ b/lib/storage/block_stream_reader_test.go
@@ -17,11 +17,12 @@ func TestBlockStreamReaderSingleRow(t *testing.T) {
}
func TestBlockStreamReaderSingleBlockManyRows(t *testing.T) {
+ rng := rand.New(rand.NewSource(1))
var rows []rawRow
var r rawRow
r.PrecisionBits = defaultPrecisionBits
for i := 0; i < maxRowsPerBlock; i++ {
- r.Value = rand.Float64()*1e9 - 5e8
+ r.Value = rng.Float64()*1e9 - 5e8
r.Timestamp = int64(i * 1e9)
rows = append(rows, r)
}
@@ -29,24 +30,26 @@ func TestBlockStreamReaderSingleBlockManyRows(t *testing.T) {
}
func TestBlockStreamReaderSingleTSIDManyBlocks(t *testing.T) {
+ rng := rand.New(rand.NewSource(1))
var rows []rawRow
var r rawRow
r.PrecisionBits = 1
for i := 0; i < 5*maxRowsPerBlock; i++ {
- r.Value = rand.NormFloat64() * 1e4
- r.Timestamp = int64(rand.NormFloat64() * 1e9)
+ r.Value = rng.NormFloat64() * 1e4
+ r.Timestamp = int64(rng.NormFloat64() * 1e9)
rows = append(rows, r)
}
testBlocksStreamReader(t, rows, 5)
}
func TestBlockStreamReaderManyTSIDSingleRow(t *testing.T) {
+ rng := rand.New(rand.NewSource(1))
var rows []rawRow
var r rawRow
r.PrecisionBits = defaultPrecisionBits
for i := 0; i < 1000; i++ {
r.TSID.MetricID = uint64(i)
- r.Value = rand.Float64()*1e9 - 5e8
+ r.Value = rng.Float64()*1e9 - 5e8
r.Timestamp = int64(i * 1e9)
rows = append(rows, r)
}
@@ -54,28 +57,30 @@ func TestBlockStreamReaderManyTSIDSingleRow(t *testing.T) {
}
func TestBlockStreamReaderManyTSIDManyRows(t *testing.T) {
+ rng := rand.New(rand.NewSource(1))
var rows []rawRow
var r rawRow
r.PrecisionBits = defaultPrecisionBits
const blocks = 123
for i := 0; i < 3210; i++ {
r.TSID.MetricID = uint64((1e9 - i) % blocks)
- r.Value = rand.Float64()
- r.Timestamp = int64(rand.Float64() * 1e9)
+ r.Value = rng.Float64()
+ r.Timestamp = int64(rng.Float64() * 1e9)
rows = append(rows, r)
}
testBlocksStreamReader(t, rows, blocks)
}
func TestBlockStreamReaderReadConcurrent(t *testing.T) {
+ rng := rand.New(rand.NewSource(1))
var rows []rawRow
var r rawRow
r.PrecisionBits = defaultPrecisionBits
const blocks = 123
for i := 0; i < 3210; i++ {
r.TSID.MetricID = uint64((1e9 - i) % blocks)
- r.Value = rand.Float64()
- r.Timestamp = int64(rand.Float64() * 1e9)
+ r.Value = rng.Float64()
+ r.Timestamp = int64(rng.Float64() * 1e9)
rows = append(rows, r)
}
var mp inmemoryPart
diff --git a/lib/storage/block_test.go b/lib/storage/block_test.go
index 86701860c1..e1bbfa63f9 100644
--- a/lib/storage/block_test.go
+++ b/lib/storage/block_test.go
@@ -11,13 +11,14 @@ import (
)
func TestBlockMarshalUnmarshalPortable(t *testing.T) {
+ rng := rand.New(rand.NewSource(1))
var b Block
for i := 0; i < 1000; i++ {
b.Reset()
- rowsCount := rand.Intn(maxRowsPerBlock) + 1
+ rowsCount := rng.Intn(maxRowsPerBlock) + 1
b.timestamps = getRandTimestamps(rowsCount)
b.values = getRandValues(rowsCount)
- b.bh.Scale = int16(rand.Intn(30) - 15)
+ b.bh.Scale = int16(rng.Intn(30) - 15)
b.bh.PrecisionBits = uint8(64 - (i % 64))
testBlockMarshalUnmarshalPortable(t, &b)
}
@@ -129,19 +130,21 @@ func getValuesForPrecisionBits(values []int64, precisionBits uint8) []int64 {
}
func getRandValues(rowsCount int) []int64 {
+ rng := rand.New(rand.NewSource(1))
a := make([]int64, rowsCount)
for i := 0; i < rowsCount; i++ {
- a[i] = int64(rand.Intn(1e5) - 0.5e5)
+ a[i] = int64(rng.Intn(1e5) - 0.5e5)
}
return a
}
func getRandTimestamps(rowsCount int) []int64 {
+ rng := rand.New(rand.NewSource(1))
a := make([]int64, rowsCount)
- ts := int64(rand.Intn(1e9))
+ ts := int64(rng.Intn(1e9))
for i := 0; i < rowsCount; i++ {
a[i] = ts
- ts += int64(rand.Intn(1e5))
+ ts += int64(rng.Intn(1e5))
}
return a
}
diff --git a/lib/storage/index_db_test.go b/lib/storage/index_db_test.go
index 23189ed888..40ecb78745 100644
--- a/lib/storage/index_db_test.go
+++ b/lib/storage/index_db_test.go
@@ -596,6 +596,7 @@ func TestIndexDB(t *testing.T) {
}
func testIndexDBGetOrCreateTSIDByName(db *indexDB, metricGroups int) ([]MetricName, []TSID, error) {
+ r := rand.New(rand.NewSource(1))
// Create tsids.
var mns []MetricName
var tsids []TSID
@@ -612,7 +613,7 @@ func testIndexDBGetOrCreateTSIDByName(db *indexDB, metricGroups int) ([]MetricNa
mn.MetricGroup = []byte(fmt.Sprintf("metricGroup.%d\x00\x01\x02", i%metricGroups))
// Init other tags.
- tagsCount := rand.Intn(10) + 1
+ tagsCount := r.Intn(10) + 1
for j := 0; j < tagsCount; j++ {
key := fmt.Sprintf("key\x01\x02\x00_%d_%d", i, j)
value := fmt.Sprintf("val\x01_%d\x00_%d\x02", i, j)
@@ -1455,6 +1456,7 @@ func TestMatchTagFilters(t *testing.T) {
}
func TestIndexDBRepopulateAfterRotation(t *testing.T) {
+ r := rand.New(rand.NewSource(1))
path := "TestIndexRepopulateAfterRotation"
s, err := OpenStorage(path, msecsPerMonth, 1e5, 1e5)
if err != nil {
@@ -1475,7 +1477,7 @@ func TestIndexDBRepopulateAfterRotation(t *testing.T) {
const metricRowsN = 1000
// use min-max timestamps of 1month range to create smaller number of partitions
timeMin, timeMax := time.Now().Add(-730*time.Hour), time.Now()
- mrs := testGenerateMetricRows(metricRowsN, timeMin.UnixMilli(), timeMax.UnixMilli())
+ mrs := testGenerateMetricRows(r, metricRowsN, timeMin.UnixMilli(), timeMax.UnixMilli())
if err := s.AddRows(mrs, defaultPrecisionBits); err != nil {
t.Fatalf("unexpected error when adding mrs: %s", err)
}
diff --git a/lib/storage/inmemory_part_test.go b/lib/storage/inmemory_part_test.go
index d2f8be8e76..7047fc9d49 100644
--- a/lib/storage/inmemory_part_test.go
+++ b/lib/storage/inmemory_part_test.go
@@ -19,6 +19,7 @@ func TestInmemoryPartInitFromRows(t *testing.T) {
},
}, 1)
+ rng := rand.New(rand.NewSource(1))
var rows []rawRow
var r rawRow
@@ -27,8 +28,8 @@ func TestInmemoryPartInitFromRows(t *testing.T) {
initTestTSID(&r.TSID)
r.PrecisionBits = defaultPrecisionBits
for i := uint64(0); i < 1e4; i++ {
- r.Timestamp = int64(rand.NormFloat64() * 1e7)
- r.Value = rand.NormFloat64() * 100
+ r.Timestamp = int64(rng.NormFloat64() * 1e7)
+ r.Value = rng.NormFloat64() * 100
rows = append(rows, r)
}
@@ -39,8 +40,8 @@ func TestInmemoryPartInitFromRows(t *testing.T) {
for i := 0; i < 1e4; i++ {
initTestTSID(&r.TSID)
r.TSID.MetricID = uint64(i)
- r.Timestamp = int64(rand.NormFloat64() * 1e7)
- r.Value = rand.NormFloat64() * 100
+ r.Timestamp = int64(rng.NormFloat64() * 1e7)
+ r.Value = rng.NormFloat64() * 100
r.PrecisionBits = uint8(i%64) + 1
rows = append(rows, r)
diff --git a/lib/storage/inmemory_part_timing_test.go b/lib/storage/inmemory_part_timing_test.go
index 1d0477db9a..ff4ce14f15 100644
--- a/lib/storage/inmemory_part_timing_test.go
+++ b/lib/storage/inmemory_part_timing_test.go
@@ -26,12 +26,13 @@ func benchmarkInmemoryPartInitFromRows(b *testing.B, rows []rawRow) {
// Each row belongs to an unique TSID
var benchRawRowsWorstCase = func() []rawRow {
+ rng := rand.New(rand.NewSource(1))
var rows []rawRow
var r rawRow
for i := 0; i < 1e5; i++ {
r.TSID.MetricID = uint64(i)
- r.Timestamp = rand.Int63()
- r.Value = rand.NormFloat64()
+ r.Timestamp = rng.Int63()
+ r.Value = rng.NormFloat64()
r.PrecisionBits = uint8(i%64) + 1
rows = append(rows, r)
}
diff --git a/lib/storage/merge_test.go b/lib/storage/merge_test.go
index 276abd3aa5..e572babcac 100644
--- a/lib/storage/merge_test.go
+++ b/lib/storage/merge_test.go
@@ -20,14 +20,15 @@ func TestMergeBlockStreamsOneStreamOneRow(t *testing.T) {
}
func TestMergeBlockStreamsOneStreamOneBlockManyRows(t *testing.T) {
+ rng := rand.New(rand.NewSource(1))
var rows []rawRow
var r rawRow
r.PrecisionBits = 4
minTimestamp := int64(1<<63 - 1)
maxTimestamp := int64(-1 << 63)
for i := 0; i < maxRowsPerBlock; i++ {
- r.Timestamp = int64(rand.Intn(1e9))
- r.Value = rand.NormFloat64() * 2332
+ r.Timestamp = int64(rng.Intn(1e9))
+ r.Value = rng.NormFloat64() * 2332
rows = append(rows, r)
if r.Timestamp < minTimestamp {
@@ -43,6 +44,7 @@ func TestMergeBlockStreamsOneStreamOneBlockManyRows(t *testing.T) {
}
func TestMergeBlockStreamsOneStreamManyBlocksOneRow(t *testing.T) {
+ rng := rand.New(rand.NewSource(1))
var rows []rawRow
var r rawRow
r.PrecisionBits = 4
@@ -52,8 +54,8 @@ func TestMergeBlockStreamsOneStreamManyBlocksOneRow(t *testing.T) {
for i := 0; i < blocksCount; i++ {
initTestTSID(&r.TSID)
r.TSID.MetricID = uint64(i * 123)
- r.Timestamp = int64(rand.Intn(1e9))
- r.Value = rand.NormFloat64() * 2332
+ r.Timestamp = int64(rng.Intn(1e9))
+ r.Value = rng.NormFloat64() * 2332
rows = append(rows, r)
if r.Timestamp < minTimestamp {
@@ -69,6 +71,7 @@ func TestMergeBlockStreamsOneStreamManyBlocksOneRow(t *testing.T) {
}
func TestMergeBlockStreamsOneStreamManyBlocksManyRows(t *testing.T) {
+ rng := rand.New(rand.NewSource(1))
var rows []rawRow
var r rawRow
initTestTSID(&r.TSID)
@@ -79,8 +82,8 @@ func TestMergeBlockStreamsOneStreamManyBlocksManyRows(t *testing.T) {
maxTimestamp := int64(-1 << 63)
for i := 0; i < rowsCount; i++ {
r.TSID.MetricID = uint64(i % blocksCount)
- r.Timestamp = int64(rand.Intn(1e9))
- r.Value = rand.NormFloat64() * 2332
+ r.Timestamp = int64(rng.Intn(1e9))
+ r.Value = rng.NormFloat64() * 2332
rows = append(rows, r)
if r.Timestamp < minTimestamp {
@@ -169,6 +172,7 @@ func TestMergeBlockStreamsTwoStreamsManyBlocksManyRows(t *testing.T) {
minTimestamp := int64(1<<63 - 1)
maxTimestamp := int64(-1 << 63)
+ rng := rand.New(rand.NewSource(1))
var rows []rawRow
var r rawRow
initTestTSID(&r.TSID)
@@ -176,8 +180,8 @@ func TestMergeBlockStreamsTwoStreamsManyBlocksManyRows(t *testing.T) {
const rowsCount1 = 4938
for i := 0; i < rowsCount1; i++ {
r.TSID.MetricID = uint64(i % blocksCount)
- r.Timestamp = int64(rand.Intn(1e9))
- r.Value = rand.NormFloat64() * 2332
+ r.Timestamp = int64(rng.Intn(1e9))
+ r.Value = rng.NormFloat64() * 2332
rows = append(rows, r)
if r.Timestamp < minTimestamp {
@@ -193,8 +197,8 @@ func TestMergeBlockStreamsTwoStreamsManyBlocksManyRows(t *testing.T) {
const rowsCount2 = 3281
for i := 0; i < rowsCount2; i++ {
r.TSID.MetricID = uint64((i + 17) % blocksCount)
- r.Timestamp = int64(rand.Intn(1e9))
- r.Value = rand.NormFloat64() * 2332
+ r.Timestamp = int64(rng.Intn(1e9))
+ r.Value = rng.NormFloat64() * 2332
rows = append(rows, r)
if r.Timestamp < minTimestamp {
@@ -214,13 +218,14 @@ func TestMergeBlockStreamsTwoStreamsBigOverlappingBlocks(t *testing.T) {
minTimestamp := int64(1<<63 - 1)
maxTimestamp := int64(-1 << 63)
+ rng := rand.New(rand.NewSource(1))
var rows []rawRow
var r rawRow
r.PrecisionBits = 5
const rowsCount1 = maxRowsPerBlock + 234
for i := 0; i < rowsCount1; i++ {
r.Timestamp = int64(i * 2894)
- r.Value = float64(int(rand.NormFloat64() * 1e2))
+ r.Value = float64(int(rng.NormFloat64() * 1e2))
rows = append(rows, r)
if r.Timestamp < minTimestamp {
@@ -236,7 +241,7 @@ func TestMergeBlockStreamsTwoStreamsBigOverlappingBlocks(t *testing.T) {
const rowsCount2 = maxRowsPerBlock + 2344
for i := 0; i < rowsCount2; i++ {
r.Timestamp = int64(i * 2494)
- r.Value = float64(int(rand.NormFloat64() * 1e2))
+ r.Value = float64(int(rng.NormFloat64() * 1e2))
rows = append(rows, r)
if r.Timestamp < minTimestamp {
@@ -256,13 +261,14 @@ func TestMergeBlockStreamsTwoStreamsBigSequentialBlocks(t *testing.T) {
minTimestamp := int64(1<<63 - 1)
maxTimestamp := int64(-1 << 63)
+ rng := rand.New(rand.NewSource(1))
var rows []rawRow
var r rawRow
r.PrecisionBits = 5
const rowsCount1 = maxRowsPerBlock + 234
for i := 0; i < rowsCount1; i++ {
r.Timestamp = int64(i * 2894)
- r.Value = float64(int(rand.NormFloat64() * 1e2))
+ r.Value = float64(int(rng.NormFloat64() * 1e2))
rows = append(rows, r)
if r.Timestamp < minTimestamp {
@@ -279,7 +285,7 @@ func TestMergeBlockStreamsTwoStreamsBigSequentialBlocks(t *testing.T) {
const rowsCount2 = maxRowsPerBlock - 233
for i := 0; i < rowsCount2; i++ {
r.Timestamp = maxTimestampB1 + int64(i*2494)
- r.Value = float64(int(rand.NormFloat64() * 1e2))
+ r.Value = float64(int(rng.NormFloat64() * 1e2))
rows = append(rows, r)
if r.Timestamp < minTimestamp {
@@ -303,16 +309,17 @@ func TestMergeBlockStreamsManyStreamsManyBlocksManyRows(t *testing.T) {
initTestTSID(&r.TSID)
r.PrecisionBits = defaultPrecisionBits
+ rng := rand.New(rand.NewSource(1))
rowsCount := 0
const blocksCount = 113
var bsrs []*blockStreamReader
for i := 0; i < 20; i++ {
- rowsPerStream := rand.Intn(500)
+ rowsPerStream := rng.Intn(500)
var rows []rawRow
for j := 0; j < rowsPerStream; j++ {
r.TSID.MetricID = uint64(j % blocksCount)
- r.Timestamp = int64(rand.Intn(1e9))
- r.Value = rand.NormFloat64()
+ r.Timestamp = int64(rng.Intn(1e9))
+ r.Value = rng.NormFloat64()
rows = append(rows, r)
if r.Timestamp < minTimestamp {
@@ -337,15 +344,16 @@ func TestMergeForciblyStop(t *testing.T) {
initTestTSID(&r.TSID)
r.PrecisionBits = defaultPrecisionBits
+ rng := rand.New(rand.NewSource(1))
const blocksCount = 113
var bsrs []*blockStreamReader
for i := 0; i < 20; i++ {
- rowsPerStream := rand.Intn(1000)
+ rowsPerStream := rng.Intn(1000)
var rows []rawRow
for j := 0; j < rowsPerStream; j++ {
r.TSID.MetricID = uint64(j % blocksCount)
- r.Timestamp = int64(rand.Intn(1e9))
- r.Value = rand.NormFloat64()
+ r.Timestamp = int64(rng.Intn(1e9))
+ r.Value = rng.NormFloat64()
rows = append(rows, r)
if r.Timestamp < minTimestamp {
diff --git a/lib/storage/merge_timing_test.go b/lib/storage/merge_timing_test.go
index cfc440c705..983bbb69be 100644
--- a/lib/storage/merge_timing_test.go
+++ b/lib/storage/merge_timing_test.go
@@ -50,12 +50,13 @@ func benchmarkMergeBlockStreams(b *testing.B, mps []*inmemoryPart, rowsPerLoop i
}
var benchTwoSourcesWorstCaseMPS = func() []*inmemoryPart {
+ rng := rand.New(rand.NewSource(1))
var rows []rawRow
var r rawRow
r.PrecisionBits = defaultPrecisionBits
for i := 0; i < maxRowsPerBlock/2-1; i++ {
- r.Value = rand.NormFloat64()
- r.Timestamp = rand.Int63n(1e12)
+ r.Value = rng.NormFloat64()
+ r.Timestamp = rng.Int63n(1e12)
rows = append(rows, r)
}
mp := newTestInmemoryPart(rows)
@@ -83,12 +84,13 @@ var benchTwoSourcesBestCaseMPS = func() []*inmemoryPart {
const benchTwoSourcesBestCaseMPSRowsPerLoop = 2 * maxRowsPerBlock
var benchFourSourcesWorstCaseMPS = func() []*inmemoryPart {
+ rng := rand.New(rand.NewSource(1))
var rows []rawRow
var r rawRow
r.PrecisionBits = defaultPrecisionBits
for i := 0; i < maxRowsPerBlock/2-1; i++ {
- r.Value = rand.NormFloat64()
- r.Timestamp = rand.Int63n(1e12)
+ r.Value = rng.NormFloat64()
+ r.Timestamp = rng.Int63n(1e12)
rows = append(rows, r)
}
mp := newTestInmemoryPart(rows)
diff --git a/lib/storage/part_search_test.go b/lib/storage/part_search_test.go
index f07024c9e0..6847225c9e 100644
--- a/lib/storage/part_search_test.go
+++ b/lib/storage/part_search_test.go
@@ -1155,13 +1155,14 @@ func TestPartSearchMultiRowsOneTSID(t *testing.T) {
func testPartSearchMultiRowsOneTSID(t *testing.T, rowsCount int) {
t.Helper()
+ rng := rand.New(rand.NewSource(1))
var rows []rawRow
var r rawRow
r.PrecisionBits = 24
r.TSID.MetricID = 1111
for i := 0; i < rowsCount; i++ {
- r.Timestamp = int64(rand.NormFloat64() * 1e6)
- r.Value = float64(int(rand.NormFloat64() * 1e5))
+ r.Timestamp = int64(rng.NormFloat64() * 1e6)
+ r.Value = float64(int(rng.NormFloat64() * 1e5))
rows = append(rows, r)
}
@@ -1191,20 +1192,21 @@ func TestPartSearchMultiRowsMultiTSIDs(t *testing.T) {
func testPartSearchMultiRowsMultiTSIDs(t *testing.T, rowsCount, tsidsCount int) {
t.Helper()
+ rng := rand.New(rand.NewSource(2))
var rows []rawRow
var r rawRow
r.PrecisionBits = 24
for i := 0; i < rowsCount; i++ {
- r.TSID.MetricID = uint64(rand.Intn(tsidsCount))
- r.Timestamp = int64(rand.NormFloat64() * 1e6)
- r.Value = float64(int(rand.NormFloat64() * 1e5))
+ r.TSID.MetricID = uint64(rng.Intn(tsidsCount))
+ r.Timestamp = int64(rng.NormFloat64() * 1e6)
+ r.Value = float64(int(rng.NormFloat64() * 1e5))
rows = append(rows, r)
}
var tsids []TSID
var tsid TSID
for i := 0; i < 100; i++ {
- tsid.MetricID = uint64(rand.Intn(tsidsCount * 3))
+ tsid.MetricID = uint64(rng.Intn(tsidsCount * 3))
tsids = append(tsids, tsid)
}
sort.Slice(tsids, func(i, j int) bool { return tsids[i].Less(&tsids[j]) })
diff --git a/lib/storage/partition_search_test.go b/lib/storage/partition_search_test.go
index afd5b7fce6..48d80e571b 100644
--- a/lib/storage/partition_search_test.go
+++ b/lib/storage/partition_search_test.go
@@ -114,11 +114,13 @@ func TestPartitionSearch(t *testing.T) {
func testPartitionSearchEx(t *testing.T, ptt int64, tr TimeRange, partsCount, maxRowsPerPart, tsidsCount int) {
t.Helper()
+ rng := rand.New(rand.NewSource(1))
+
// Generate tsids to search.
var tsids []TSID
var tsid TSID
for i := 0; i < 25; i++ {
- tsid.MetricID = uint64(rand.Intn(tsidsCount * 2))
+ tsid.MetricID = uint64(rng.Intn(tsidsCount * 2))
tsids = append(tsids, tsid)
}
sort.Slice(tsids, func(i, j int) bool { return tsids[i].Less(&tsids[j]) })
@@ -135,13 +137,13 @@ func testPartitionSearchEx(t *testing.T, ptt int64, tr TimeRange, partsCount, ma
var r rawRow
r.PrecisionBits = 30
timestamp := ptr.MinTimestamp
- rowsCount := 1 + rand.Intn(maxRowsPerPart)
+ rowsCount := 1 + rng.Intn(maxRowsPerPart)
for j := 0; j < rowsCount; j++ {
- r.TSID.MetricID = uint64(rand.Intn(tsidsCount))
+ r.TSID.MetricID = uint64(rng.Intn(tsidsCount))
r.Timestamp = timestamp
- r.Value = float64(int(rand.NormFloat64() * 1e5))
+ r.Value = float64(int(rng.NormFloat64() * 1e5))
- timestamp += int64(rand.Intn(1e4))
+ timestamp += int64(rng.Intn(1e4))
if timestamp > ptr.MaxTimestamp {
break
}
diff --git a/lib/storage/storage_test.go b/lib/storage/storage_test.go
index 4dbc627007..d4b7ab29b0 100644
--- a/lib/storage/storage_test.go
+++ b/lib/storage/storage_test.go
@@ -374,10 +374,10 @@ func TestUpdateCurrHourMetricIDs(t *testing.T) {
func TestMetricRowMarshalUnmarshal(t *testing.T) {
var buf []byte
typ := reflect.TypeOf(&MetricRow{})
- rnd := rand.New(rand.NewSource(1))
+ rng := rand.New(rand.NewSource(1))
for i := 0; i < 1000; i++ {
- v, ok := quick.Value(typ, rnd)
+ v, ok := quick.Value(typ, rng)
if !ok {
t.Fatalf("cannot create random MetricRow via quick.Value")
}
@@ -504,7 +504,7 @@ func testStorageRandTimestamps(s *Storage) error {
currentTime := timestampFromTime(time.Now())
const rowsPerAdd = 5e3
const addsCount = 3
- rnd := rand.New(rand.NewSource(1))
+ rng := rand.New(rand.NewSource(1))
for i := 0; i < addsCount; i++ {
var mrs []MetricRow
@@ -514,10 +514,10 @@ func testStorageRandTimestamps(s *Storage) error {
{[]byte("instance"), []byte("1.2.3.4")},
}
for j := 0; j < rowsPerAdd; j++ {
- mn.MetricGroup = []byte(fmt.Sprintf("metric_%d", rand.Intn(100)))
+ mn.MetricGroup = []byte(fmt.Sprintf("metric_%d", rng.Intn(100)))
metricNameRaw := mn.marshalRaw(nil)
- timestamp := currentTime - int64((rnd.Float64()-0.2)*float64(2*s.retentionMsecs))
- value := rnd.NormFloat64() * 1e11
+ timestamp := currentTime - int64((rng.Float64()-0.2)*float64(2*s.retentionMsecs))
+ value := rng.NormFloat64() * 1e11
mr := MetricRow{
MetricNameRaw: metricNameRaw,
@@ -618,6 +618,7 @@ func TestStorageDeleteSeries(t *testing.T) {
}
func testStorageDeleteSeries(s *Storage, workerNum int) error {
+ rng := rand.New(rand.NewSource(1))
const rowsPerMetric = 100
const metricsCount = 30
@@ -642,8 +643,8 @@ func testStorageDeleteSeries(s *Storage, workerNum int) error {
metricNameRaw := mn.marshalRaw(nil)
for j := 0; j < rowsPerMetric; j++ {
- timestamp := rand.Int63n(1e10)
- value := rand.NormFloat64() * 1e6
+ timestamp := rng.Int63n(1e10)
+ value := rng.NormFloat64() * 1e6
mr := MetricRow{
MetricNameRaw: metricNameRaw,
@@ -929,13 +930,14 @@ func testStorageRegisterMetricNames(s *Storage) error {
}
func TestStorageAddRowsSerial(t *testing.T) {
+ rng := rand.New(rand.NewSource(1))
path := "TestStorageAddRowsSerial"
retentionMsecs := int64(msecsPerMonth * 10)
s, err := OpenStorage(path, retentionMsecs, 1e5, 1e5)
if err != nil {
t.Fatalf("cannot open storage: %s", err)
}
- if err := testStorageAddRows(s); err != nil {
+ if err := testStorageAddRows(rng, s); err != nil {
t.Fatalf("unexpected error: %s", err)
}
s.MustClose()
@@ -953,9 +955,10 @@ func TestStorageAddRowsConcurrent(t *testing.T) {
}
ch := make(chan error, 3)
for i := 0; i < cap(ch); i++ {
- go func() {
- ch <- testStorageAddRows(s)
- }()
+ go func(n int) {
+ rLocal := rand.New(rand.NewSource(int64(n)))
+ ch <- testStorageAddRows(rLocal, s)
+ }(i)
}
for i := 0; i < cap(ch); i++ {
select {
@@ -973,7 +976,7 @@ func TestStorageAddRowsConcurrent(t *testing.T) {
}
}
-func testGenerateMetricRows(rows uint64, timestampMin, timestampMax int64) []MetricRow {
+func testGenerateMetricRows(rng *rand.Rand, rows uint64, timestampMin, timestampMax int64) []MetricRow {
var mrs []MetricRow
var mn MetricName
mn.Tags = []Tag{
@@ -983,8 +986,8 @@ func testGenerateMetricRows(rows uint64, timestampMin, timestampMax int64) []Met
for i := 0; i < int(rows); i++ {
mn.MetricGroup = []byte(fmt.Sprintf("metric_%d", i))
metricNameRaw := mn.marshalRaw(nil)
- timestamp := rand.Int63n(timestampMax-timestampMin) + timestampMin
- value := rand.NormFloat64() * 1e6
+ timestamp := rng.Int63n(timestampMax-timestampMin) + timestampMin
+ value := rng.NormFloat64() * 1e6
mr := MetricRow{
MetricNameRaw: metricNameRaw,
@@ -996,14 +999,14 @@ func testGenerateMetricRows(rows uint64, timestampMin, timestampMax int64) []Met
return mrs
}
-func testStorageAddRows(s *Storage) error {
+func testStorageAddRows(rng *rand.Rand, s *Storage) error {
const rowsPerAdd = 1e3
const addsCount = 10
maxTimestamp := timestampFromTime(time.Now())
minTimestamp := maxTimestamp - s.retentionMsecs
for i := 0; i < addsCount; i++ {
- mrs := testGenerateMetricRows(rowsPerAdd, minTimestamp, maxTimestamp)
+ mrs := testGenerateMetricRows(rng, rowsPerAdd, minTimestamp, maxTimestamp)
if err := s.AddRows(mrs, defaultPrecisionBits); err != nil {
return fmt.Errorf("unexpected error when adding mrs: %w", err)
}
@@ -1130,6 +1133,7 @@ func TestStorageRotateIndexDB(t *testing.T) {
}
func testStorageAddMetrics(s *Storage, workerNum int) error {
+ rng := rand.New(rand.NewSource(1))
const rowsCount = 1e3
var mn MetricName
@@ -1138,10 +1142,10 @@ func testStorageAddMetrics(s *Storage, workerNum int) error {
{[]byte("instance"), []byte("1.2.3.4")},
}
for i := 0; i < rowsCount; i++ {
- mn.MetricGroup = []byte(fmt.Sprintf("metric_%d_%d", workerNum, rand.Intn(10)))
+ mn.MetricGroup = []byte(fmt.Sprintf("metric_%d_%d", workerNum, rng.Intn(10)))
metricNameRaw := mn.marshalRaw(nil)
- timestamp := rand.Int63n(1e10)
- value := rand.NormFloat64() * 1e6
+ timestamp := rng.Int63n(1e10)
+ value := rng.NormFloat64() * 1e6
mr := MetricRow{
MetricNameRaw: metricNameRaw,
@@ -1164,6 +1168,7 @@ func testStorageAddMetrics(s *Storage, workerNum int) error {
}
func TestStorageDeleteStaleSnapshots(t *testing.T) {
+ rng := rand.New(rand.NewSource(1))
path := "TestStorageDeleteStaleSnapshots"
retentionMsecs := int64(msecsPerMonth * 10)
s, err := OpenStorage(path, retentionMsecs, 1e5, 1e5)
@@ -1175,7 +1180,7 @@ func TestStorageDeleteStaleSnapshots(t *testing.T) {
maxTimestamp := timestampFromTime(time.Now())
minTimestamp := maxTimestamp - s.retentionMsecs
for i := 0; i < addsCount; i++ {
- mrs := testGenerateMetricRows(rowsPerAdd, minTimestamp, maxTimestamp)
+ mrs := testGenerateMetricRows(rng, rowsPerAdd, minTimestamp, maxTimestamp)
if err := s.AddRows(mrs, defaultPrecisionBits); err != nil {
t.Fatalf("unexpected error when adding mrs: %s", err)
}
diff --git a/lib/storage/table_search_test.go b/lib/storage/table_search_test.go
index fb28939d62..563449016e 100644
--- a/lib/storage/table_search_test.go
+++ b/lib/storage/table_search_test.go
@@ -10,6 +10,8 @@ import (
)
func TestTableSearch(t *testing.T) {
+ rng := rand.New(rand.NewSource(1))
+
var trData TimeRange
trData.fromPartitionTime(time.Now())
trData.MinTimestamp -= 5 * 365 * 24 * 3600 * 1000
@@ -19,7 +21,7 @@ func TestTableSearch(t *testing.T) {
MinTimestamp: trData.MinTimestamp + 4e3,
MaxTimestamp: trData.MaxTimestamp - 4e3,
}
- testTableSearchEx(t, trData, trSearch, 1, 10, 1000, 10)
+ testTableSearchEx(t, rng, trData, trSearch, 1, 10, 1000, 10)
})
t.Run("SinglePartPerPartition", func(t *testing.T) {
@@ -27,7 +29,7 @@ func TestTableSearch(t *testing.T) {
MinTimestamp: trData.MinTimestamp + 4e3,
MaxTimestamp: trData.MaxTimestamp - 4e3,
}
- testTableSearchEx(t, trData, trSearch, 12, 1, 1000, 10)
+ testTableSearchEx(t, rng, trData, trSearch, 12, 1, 1000, 10)
})
t.Run("SingleRowPerPartition", func(t *testing.T) {
@@ -35,7 +37,7 @@ func TestTableSearch(t *testing.T) {
MinTimestamp: trData.MinTimestamp + 4e3,
MaxTimestamp: trData.MaxTimestamp - 4e3,
}
- testTableSearchEx(t, trData, trSearch, 12, 20, 1, 10)
+ testTableSearchEx(t, rng, trData, trSearch, 12, 20, 1, 10)
})
t.Run("SingleTSID", func(t *testing.T) {
@@ -43,7 +45,7 @@ func TestTableSearch(t *testing.T) {
MinTimestamp: trData.MinTimestamp + 4e3,
MaxTimestamp: trData.MaxTimestamp - 4e3,
}
- testTableSearchEx(t, trData, trSearch, 12, 5, 1000, 1)
+ testTableSearchEx(t, rng, trData, trSearch, 12, 5, 1000, 1)
})
t.Run("ManyPartitions", func(t *testing.T) {
@@ -51,7 +53,7 @@ func TestTableSearch(t *testing.T) {
MinTimestamp: trData.MinTimestamp + 4e3,
MaxTimestamp: trData.MaxTimestamp - 4e3,
}
- testTableSearchEx(t, trData, trSearch, 20, 10, 30, 20)
+ testTableSearchEx(t, rng, trData, trSearch, 20, 10, 30, 20)
})
t.Run("ManyTSIDs", func(t *testing.T) {
@@ -59,7 +61,7 @@ func TestTableSearch(t *testing.T) {
MinTimestamp: trData.MinTimestamp + 4e3,
MaxTimestamp: trData.MaxTimestamp - 4e3,
}
- testTableSearchEx(t, trData, trSearch, 2, 5, 5000, 1000)
+ testTableSearchEx(t, rng, trData, trSearch, 2, 5, 5000, 1000)
})
t.Run("ExactTimeRange", func(t *testing.T) {
@@ -67,7 +69,7 @@ func TestTableSearch(t *testing.T) {
MinTimestamp: trData.MinTimestamp,
MaxTimestamp: trData.MaxTimestamp,
}
- testTableSearchEx(t, trData, trSearch, 2, 5, 1000, 10)
+ testTableSearchEx(t, rng, trData, trSearch, 2, 5, 1000, 10)
})
t.Run("InnerTimeRange", func(t *testing.T) {
@@ -75,7 +77,7 @@ func TestTableSearch(t *testing.T) {
MinTimestamp: trData.MinTimestamp + 4e3,
MaxTimestamp: trData.MaxTimestamp - 4e3,
}
- testTableSearchEx(t, trData, trSearch, 2, 5, 1000, 10)
+ testTableSearchEx(t, rng, trData, trSearch, 2, 5, 1000, 10)
})
t.Run("OuterTimeRange", func(t *testing.T) {
@@ -83,7 +85,7 @@ func TestTableSearch(t *testing.T) {
MinTimestamp: trData.MinTimestamp - 1e6,
MaxTimestamp: trData.MaxTimestamp + 1e6,
}
- testTableSearchEx(t, trData, trSearch, 2, 5, 1000, 10)
+ testTableSearchEx(t, rng, trData, trSearch, 2, 5, 1000, 10)
})
t.Run("LowTimeRange", func(t *testing.T) {
@@ -91,7 +93,7 @@ func TestTableSearch(t *testing.T) {
MinTimestamp: trData.MinTimestamp - 2e6,
MaxTimestamp: trData.MinTimestamp - 1e6,
}
- testTableSearchEx(t, trData, trSearch, 2, 5, 1000, 10)
+ testTableSearchEx(t, rng, trData, trSearch, 2, 5, 1000, 10)
})
t.Run("HighTimeRange", func(t *testing.T) {
@@ -99,7 +101,7 @@ func TestTableSearch(t *testing.T) {
MinTimestamp: trData.MaxTimestamp + 1e6,
MaxTimestamp: trData.MaxTimestamp + 2e6,
}
- testTableSearchEx(t, trData, trSearch, 2, 5, 1000, 10)
+ testTableSearchEx(t, rng, trData, trSearch, 2, 5, 1000, 10)
})
t.Run("LowerEndTimeRange", func(t *testing.T) {
@@ -107,7 +109,7 @@ func TestTableSearch(t *testing.T) {
MinTimestamp: trData.MinTimestamp - 1e6,
MaxTimestamp: trData.MaxTimestamp - 4e3,
}
- testTableSearchEx(t, trData, trSearch, 2, 5, 1000, 10)
+ testTableSearchEx(t, rng, trData, trSearch, 2, 5, 1000, 10)
})
t.Run("HigherEndTimeRange", func(t *testing.T) {
@@ -115,18 +117,18 @@ func TestTableSearch(t *testing.T) {
MinTimestamp: trData.MinTimestamp + 4e3,
MaxTimestamp: trData.MaxTimestamp + 1e6,
}
- testTableSearchEx(t, trData, trSearch, 2, 5, 1000, 10)
+ testTableSearchEx(t, rng, trData, trSearch, 2, 5, 1000, 10)
})
}
-func testTableSearchEx(t *testing.T, trData, trSearch TimeRange, partitionsCount, maxPartsPerPartition, maxRowsPerPart, tsidsCount int) {
+func testTableSearchEx(t *testing.T, rng *rand.Rand, trData, trSearch TimeRange, partitionsCount, maxPartsPerPartition, maxRowsPerPart, tsidsCount int) {
t.Helper()
// Generate tsids to search.
var tsids []TSID
var tsid TSID
for i := 0; i < 25; i++ {
- tsid.MetricID = uint64(rand.Intn(tsidsCount * 2))
+ tsid.MetricID = uint64(rng.Intn(tsidsCount * 2))
tsids = append(tsids, tsid)
}
sort.Slice(tsids, func(i, j int) bool { return tsids[i].Less(&tsids[j]) })
@@ -142,17 +144,17 @@ func testTableSearchEx(t *testing.T, trData, trSearch TimeRange, partitionsCount
ptr.fromPartitionTimestamp(trData.MinTimestamp)
var rowss [][]rawRow
for i := 0; i < partitionsCount; i++ {
- partsCount := rand.Intn(maxPartsPerPartition) + 1
+ partsCount := rng.Intn(maxPartsPerPartition) + 1
for j := 0; j < partsCount; j++ {
var rows []rawRow
timestamp := ptr.MinTimestamp
- rowsCount := rand.Intn(maxRowsPerPart) + 1
+ rowsCount := rng.Intn(maxRowsPerPart) + 1
for k := 0; k < rowsCount; k++ {
- r.TSID.MetricID = uint64(rand.Intn(tsidsCount))
+ r.TSID.MetricID = uint64(rng.Intn(tsidsCount))
r.Timestamp = timestamp
- r.Value = float64(int(rand.NormFloat64() * 1e5))
+ r.Value = float64(int(rng.NormFloat64() * 1e5))
- timestamp += int64(rand.Intn(1e4)) + 1
+ timestamp += int64(rng.Intn(1e4)) + 1
if timestamp > ptr.MaxTimestamp {
break
}
diff --git a/lib/storage/table_search_timing_test.go b/lib/storage/table_search_timing_test.go
index eb1a72b67f..1c515fa57d 100644
--- a/lib/storage/table_search_timing_test.go
+++ b/lib/storage/table_search_timing_test.go
@@ -79,17 +79,18 @@ func createBenchTable(b *testing.B, path string, startTimestamp int64, rowsPerIn
var wg sync.WaitGroup
for k := 0; k < cgroup.AvailableCPUs(); k++ {
wg.Add(1)
- go func() {
+ go func(n int) {
+ rng := rand.New(rand.NewSource(int64(n)))
rows := make([]rawRow, rowsPerInsert)
value := float64(100)
for int(atomic.AddUint64(&insertsCount, ^uint64(0))) >= 0 {
for j := 0; j < rowsPerInsert; j++ {
- ts := atomic.AddUint64(×tamp, uint64(10+rand.Int63n(2)))
- value += float64(int(rand.NormFloat64() * 5))
+ ts := atomic.AddUint64(×tamp, uint64(10+rng.Int63n(2)))
+ value += float64(int(rng.NormFloat64() * 5))
r := &rows[j]
r.PrecisionBits = defaultPrecisionBits
- r.TSID.MetricID = uint64(rand.Intn(tsidsCount) + 1)
+ r.TSID.MetricID = uint64(rng.Intn(tsidsCount) + 1)
r.Timestamp = int64(ts)
r.Value = value
}
@@ -98,7 +99,7 @@ func createBenchTable(b *testing.B, path string, startTimestamp int64, rowsPerIn
}
}
wg.Done()
- }()
+ }(k)
}
wg.Wait()
diff --git a/lib/storage/table_timing_test.go b/lib/storage/table_timing_test.go
index 11a3766fdd..35468fc572 100644
--- a/lib/storage/table_timing_test.go
+++ b/lib/storage/table_timing_test.go
@@ -27,15 +27,16 @@ func benchmarkTableAddRows(b *testing.B, rowsPerInsert, tsidsCount int) {
startTimestamp := timestampFromTime(time.Now())
timestamp := startTimestamp
value := float64(100)
+ rng := rand.New(rand.NewSource(1))
for i := 0; i < rowsPerInsert; i++ {
r := &rows[i]
r.PrecisionBits = defaultPrecisionBits
- r.TSID.MetricID = uint64(rand.Intn(tsidsCount) + 1)
+ r.TSID.MetricID = uint64(rng.Intn(tsidsCount) + 1)
r.Timestamp = timestamp
r.Value = value
- timestamp += 10 + rand.Int63n(2)
- value += float64(int(rand.NormFloat64() * 5))
+ timestamp += 10 + rng.Int63n(2)
+ value += float64(int(rng.NormFloat64() * 5))
}
timestampDelta := timestamp - startTimestamp
From 2c4e384f0752baf646d296f6e90bd8a3394b71fb Mon Sep 17 00:00:00 2001
From: Aliaksandr Valialkin
Date: Mon, 23 Jan 2023 21:04:50 -0800
Subject: [PATCH 20/32] lib/promscrape: properly log the actual response size
after c4229a1bbabbed96b388e40ec659376e1782d529
---
lib/promscrape/client.go | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/promscrape/client.go b/lib/promscrape/client.go
index 333c5a2ec0..835c08e050 100644
--- a/lib/promscrape/client.go
+++ b/lib/promscrape/client.go
@@ -324,7 +324,7 @@ func (c *client) ReadData(dst []byte) ([]byte, error) {
if len(dst) > c.hc.MaxResponseBodySize {
maxScrapeSizeExceeded.Inc()
return dst, fmt.Errorf("the response from %q exceeds -promscrape.maxScrapeSize=%d (the actual response size is %d bytes); "+
- "either reduce the response size for the target or increase -promscrape.maxScrapeSize", c.scrapeURL, len(dst), maxScrapeSize.N)
+ "either reduce the response size for the target or increase -promscrape.maxScrapeSize", c.scrapeURL, maxScrapeSize.N, len(dst))
}
if statusCode != fasthttp.StatusOK {
metrics.GetOrCreateCounter(fmt.Sprintf(`vm_promscrape_scrapes_total{status_code="%d"}`, statusCode)).Inc()
From 393876e52a5bd25cec0bebc7997ecbf2e39af8da Mon Sep 17 00:00:00 2001
From: Roman Khavronenko
Date: Tue, 24 Jan 2023 06:15:59 +0100
Subject: [PATCH 21/32] lib/promscrape: limit number of sent stale series at
once (#3686)
Stale series are sent when there is a difference between current
and previous scrapes. Those series which disappeared in the current scrape
are marked as stale and sent to the remote storage.
Sending stale series requires memory allocation and in case when too many
series disappear in the same it could result in noticeable memory spike.
For example, re-deploy of a big fleet of service can result into
excessive memory usage for vmagent, because all the series with old
pod name will be marked as stale and sent to the remote write storage.
This change limits the number of stale series which can be sent at once,
so memory usage remains steady.
https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3668
https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3675
Signed-off-by: hagen1778
Signed-off-by: hagen1778
---
lib/promscrape/scrapework.go | 64 +++++++++++++++++++------------
lib/promscrape/scrapework_test.go | 38 ++++++++++++++++++
2 files changed, 78 insertions(+), 24 deletions(-)
diff --git a/lib/promscrape/scrapework.go b/lib/promscrape/scrapework.go
index 18ddb39052..16f460c239 100644
--- a/lib/promscrape/scrapework.go
+++ b/lib/promscrape/scrapework.go
@@ -767,6 +767,11 @@ func (sw *scrapeWork) applySeriesLimit(wc *writeRequestCtx) int {
var sendStaleSeriesConcurrencyLimitCh = make(chan struct{}, cgroup.AvailableCPUs())
+// maxStaleSeriesAtOnce defines the max number of stale series
+// to process and send at once. It prevents from excessive memory usage
+// when big number of metrics become stale at the same time.
+const maxStaleSeriesAtOnce = 1e3
+
func (sw *scrapeWork) sendStaleSeries(lastScrape, currScrape string, timestamp int64, addAutoSeries bool) {
// This function is CPU-bound, while it may allocate big amounts of memory.
// That's why it is a good idea to limit the number of concurrent calls to this function
@@ -790,35 +795,46 @@ func (sw *scrapeWork) sendStaleSeries(lastScrape, currScrape string, timestamp i
}()
if bodyString != "" {
wc.rows.UnmarshalWithErrLogger(bodyString, sw.logError)
- srcRows := wc.rows.Rows
- for i := range srcRows {
+ }
+
+ srcRows := wc.rows.Rows
+ for from := 0; from < len(srcRows); from += maxStaleSeriesAtOnce {
+ to := from + maxStaleSeriesAtOnce
+ if to > len(srcRows) {
+ to = len(srcRows)
+ }
+
+ for i := range srcRows[from:to] {
sw.addRowToTimeseries(wc, &srcRows[i], timestamp, true)
}
- }
- if addAutoSeries {
- am := &autoMetrics{}
- sw.addAutoMetrics(am, wc, timestamp)
- }
- // Apply series limit to stale markers in order to prevent sending stale markers for newly created series.
- // See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3660
- if sw.seriesLimitExceeded {
- sw.applySeriesLimit(wc)
- }
-
- series := wc.writeRequest.Timeseries
- if len(series) == 0 {
- return
- }
- // Substitute all the values with Prometheus stale markers.
- for _, tss := range series {
- samples := tss.Samples
- for i := range samples {
- samples[i].Value = decimal.StaleNaN
+ // add auto series at the last iteration
+ if addAutoSeries && to == len(srcRows) {
+ am := &autoMetrics{}
+ sw.addAutoMetrics(am, wc, timestamp)
}
- staleSamplesCreated.Add(len(samples))
+
+ // Apply series limit to stale markers in order to prevent sending stale markers for newly created series.
+ // See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3660
+ if sw.seriesLimitExceeded {
+ sw.applySeriesLimit(wc)
+ }
+
+ series := wc.writeRequest.Timeseries
+ if len(series) == 0 {
+ continue
+ }
+ // Substitute all the values with Prometheus stale markers.
+ for _, tss := range series {
+ samples := tss.Samples
+ for i := range samples {
+ samples[i].Value = decimal.StaleNaN
+ }
+ staleSamplesCreated.Add(len(samples))
+ }
+ sw.pushData(sw.Config.AuthToken, &wc.writeRequest)
+ wc.reset()
}
- sw.pushData(sw.Config.AuthToken, &wc.writeRequest)
}
var staleSamplesCreated = metrics.NewCounter(`vm_promscrape_stale_samples_created_total`)
diff --git a/lib/promscrape/scrapework_test.go b/lib/promscrape/scrapework_test.go
index b94ba1dd1f..38a3a3462a 100644
--- a/lib/promscrape/scrapework_test.go
+++ b/lib/promscrape/scrapework_test.go
@@ -686,6 +686,44 @@ func TestAddRowToTimeseriesNoRelabeling(t *testing.T) {
`metric{a="e",foo="bar"} 0 123`)
}
+func TestSendStaleSeries(t *testing.T) {
+ var sw scrapeWork
+ sw.Config = &ScrapeWork{
+ NoStaleMarkers: false,
+ }
+
+ var timeseriesExpectedN int
+ sw.PushData = func(at *auth.Token, wr *prompbmarshal.WriteRequest) {
+ t.Helper()
+ if len(wr.Timeseries) != timeseriesExpectedN {
+ t.Fatalf("expected to get %d stale series; got %d", timeseriesExpectedN, len(wr.Timeseries))
+ }
+ }
+
+ generateScrape := func(n int) string {
+ w := strings.Builder{}
+ for i := 0; i < n; i++ {
+ w.WriteString(fmt.Sprintf("foo_%d 1\n", i))
+ }
+ return w.String()
+ }
+
+ timeseriesExpectedN = 0
+ sw.sendStaleSeries("", "", 0, false)
+
+ timeseriesExpectedN = 0
+ sw.sendStaleSeries(generateScrape(10), generateScrape(10), 0, false)
+
+ timeseriesExpectedN = 10
+ sw.sendStaleSeries(generateScrape(10), "", 0, false)
+
+ timeseriesExpectedN = 5
+ sw.sendStaleSeries(generateScrape(10), generateScrape(5), 0, false)
+
+ timeseriesExpectedN = maxStaleSeriesAtOnce
+ sw.sendStaleSeries(generateScrape(maxStaleSeriesAtOnce*2), "", 0, false)
+}
+
func parsePromRow(data string) *parser.Row {
var rows parser.Rows
errLogger := func(s string) {
From babecd83632446b6f24b57266def3782cf39c07d Mon Sep 17 00:00:00 2001
From: Aliaksandr Valialkin
Date: Mon, 23 Jan 2023 21:52:57 -0800
Subject: [PATCH 22/32] lib/promscrape: follow-up for
393876e52a5bd25cec0bebc7997ecbf2e39af8da
- Document the change in docs/CHANGELOG.md
- Reduce memory usage when sending stale markers even more by parsing the response in stream parsing mode
- Update the TestSendStaleSeries
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3668
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3675
---
docs/CHANGELOG.md | 4 +-
lib/promscrape/scrapework.go | 86 +++++++++++++++----------------
lib/promscrape/scrapework_test.go | 47 +++++++++--------
3 files changed, 69 insertions(+), 68 deletions(-)
diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md
index 02256ea297..5993e681ed 100644
--- a/docs/CHANGELOG.md
+++ b/docs/CHANGELOG.md
@@ -15,8 +15,10 @@ The following tip changes can be tested by building VictoriaMetrics components f
## tip
+* FEATURE: [vmagent](https://docs.victoriametrics.com/vmagent.html): reduce memory usage when sending stale markers for targets, which expose big number of metrics. See [this](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3668) and [this](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3675) issues.
+
* BUGFIX: [VictoriaMetrics cluster](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html): propagate all the timeout-related errors from `vmstorage` to `vmselect` when `vmstorage`. Previously some timeout errors weren't returned from `vmselect` to `vmstorage`. Instead, `vmstorage` could log the error and close the connection to `vmselect`, so `vmselect` was logging cryptic errors such as `cannot execute funcName="..." on vmstorage "...": EOF`.
-* BUGFIX: [vmui](https://docs.victoriametrics.com/#vmui): add support for time zone selection for older versions of browsers. See [this pull request](https://github.com/VictoriaMetrics/VictoriaMetrics/pull/3680)
+* BUGFIX: [vmui](https://docs.victoriametrics.com/#vmui): add support for time zone selection for older versions of browsers. See [this pull request](https://github.com/VictoriaMetrics/VictoriaMetrics/pull/3680).
## [v1.86.2](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.86.2)
diff --git a/lib/promscrape/scrapework.go b/lib/promscrape/scrapework.go
index 16f460c239..db495a9a16 100644
--- a/lib/promscrape/scrapework.go
+++ b/lib/promscrape/scrapework.go
@@ -1,6 +1,7 @@
package promscrape
import (
+ "bytes"
"flag"
"fmt"
"io"
@@ -767,11 +768,6 @@ func (sw *scrapeWork) applySeriesLimit(wc *writeRequestCtx) int {
var sendStaleSeriesConcurrencyLimitCh = make(chan struct{}, cgroup.AvailableCPUs())
-// maxStaleSeriesAtOnce defines the max number of stale series
-// to process and send at once. It prevents from excessive memory usage
-// when big number of metrics become stale at the same time.
-const maxStaleSeriesAtOnce = 1e3
-
func (sw *scrapeWork) sendStaleSeries(lastScrape, currScrape string, timestamp int64, addAutoSeries bool) {
// This function is CPU-bound, while it may allocate big amounts of memory.
// That's why it is a good idea to limit the number of concurrent calls to this function
@@ -794,46 +790,50 @@ func (sw *scrapeWork) sendStaleSeries(lastScrape, currScrape string, timestamp i
writeRequestCtxPool.Put(wc)
}()
if bodyString != "" {
- wc.rows.UnmarshalWithErrLogger(bodyString, sw.logError)
- }
-
- srcRows := wc.rows.Rows
- for from := 0; from < len(srcRows); from += maxStaleSeriesAtOnce {
- to := from + maxStaleSeriesAtOnce
- if to > len(srcRows) {
- to = len(srcRows)
- }
-
- for i := range srcRows[from:to] {
- sw.addRowToTimeseries(wc, &srcRows[i], timestamp, true)
- }
-
- // add auto series at the last iteration
- if addAutoSeries && to == len(srcRows) {
- am := &autoMetrics{}
- sw.addAutoMetrics(am, wc, timestamp)
- }
-
- // Apply series limit to stale markers in order to prevent sending stale markers for newly created series.
- // See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3660
- if sw.seriesLimitExceeded {
- sw.applySeriesLimit(wc)
- }
-
- series := wc.writeRequest.Timeseries
- if len(series) == 0 {
- continue
- }
- // Substitute all the values with Prometheus stale markers.
- for _, tss := range series {
- samples := tss.Samples
- for i := range samples {
- samples[i].Value = decimal.StaleNaN
+ // Send stale markers in streaming mode in order to reduce memory usage
+ // when stale markers for targets exposing big number of metrics must be generated.
+ // See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3668
+ // and https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3675
+ var mu sync.Mutex
+ br := bytes.NewBufferString(bodyString)
+ err := parser.ParseStream(br, timestamp, false, func(rows []parser.Row) error {
+ mu.Lock()
+ defer mu.Unlock()
+ for i := range rows {
+ sw.addRowToTimeseries(wc, &rows[i], timestamp, true)
}
- staleSamplesCreated.Add(len(samples))
+ // Apply series limit to stale markers in order to prevent sending stale markers for newly created series.
+ // See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3660
+ if sw.seriesLimitExceeded {
+ sw.applySeriesLimit(wc)
+ }
+ // Push the collected rows to sw before returning from the callback, since they cannot be held
+ // after returning from the callback - this will result in data race.
+ // See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/825#issuecomment-723198247
+ setStaleMarkersForRows(wc.writeRequest.Timeseries)
+ sw.pushData(sw.Config.AuthToken, &wc.writeRequest)
+ wc.resetNoRows()
+ return nil
+ }, sw.logError)
+ if err != nil {
+ sw.logError(fmt.Errorf("cannot send stale markers: %s", err).Error())
}
- sw.pushData(sw.Config.AuthToken, &wc.writeRequest)
- wc.reset()
+ }
+ if addAutoSeries {
+ am := &autoMetrics{}
+ sw.addAutoMetrics(am, wc, timestamp)
+ }
+ setStaleMarkersForRows(wc.writeRequest.Timeseries)
+ sw.pushData(sw.Config.AuthToken, &wc.writeRequest)
+}
+
+func setStaleMarkersForRows(series []prompbmarshal.TimeSeries) {
+ for _, tss := range series {
+ samples := tss.Samples
+ for i := range samples {
+ samples[i].Value = decimal.StaleNaN
+ }
+ staleSamplesCreated.Add(len(samples))
}
}
diff --git a/lib/promscrape/scrapework_test.go b/lib/promscrape/scrapework_test.go
index 38a3a3462a..3f5330e608 100644
--- a/lib/promscrape/scrapework_test.go
+++ b/lib/promscrape/scrapework_test.go
@@ -10,6 +10,7 @@ import (
"github.com/VictoriaMetrics/VictoriaMetrics/lib/prompbmarshal"
"github.com/VictoriaMetrics/VictoriaMetrics/lib/promrelabel"
"github.com/VictoriaMetrics/VictoriaMetrics/lib/promutils"
+ "github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/common"
parser "github.com/VictoriaMetrics/VictoriaMetrics/lib/protoparser/prometheus"
)
@@ -687,19 +688,24 @@ func TestAddRowToTimeseriesNoRelabeling(t *testing.T) {
}
func TestSendStaleSeries(t *testing.T) {
- var sw scrapeWork
- sw.Config = &ScrapeWork{
- NoStaleMarkers: false,
- }
-
- var timeseriesExpectedN int
- sw.PushData = func(at *auth.Token, wr *prompbmarshal.WriteRequest) {
+ f := func(lastScrape, currScrape string, staleMarksExpected int) {
t.Helper()
- if len(wr.Timeseries) != timeseriesExpectedN {
- t.Fatalf("expected to get %d stale series; got %d", timeseriesExpectedN, len(wr.Timeseries))
+ var sw scrapeWork
+ sw.Config = &ScrapeWork{
+ NoStaleMarkers: false,
+ }
+ common.StartUnmarshalWorkers()
+ defer common.StopUnmarshalWorkers()
+
+ var staleMarks int
+ sw.PushData = func(at *auth.Token, wr *prompbmarshal.WriteRequest) {
+ staleMarks += len(wr.Timeseries)
+ }
+ sw.sendStaleSeries(lastScrape, currScrape, 0, false)
+ if staleMarks != staleMarksExpected {
+ t.Fatalf("unexpected number of stale marks; got %d; want %d", staleMarks, staleMarksExpected)
}
}
-
generateScrape := func(n int) string {
w := strings.Builder{}
for i := 0; i < n; i++ {
@@ -708,20 +714,13 @@ func TestSendStaleSeries(t *testing.T) {
return w.String()
}
- timeseriesExpectedN = 0
- sw.sendStaleSeries("", "", 0, false)
-
- timeseriesExpectedN = 0
- sw.sendStaleSeries(generateScrape(10), generateScrape(10), 0, false)
-
- timeseriesExpectedN = 10
- sw.sendStaleSeries(generateScrape(10), "", 0, false)
-
- timeseriesExpectedN = 5
- sw.sendStaleSeries(generateScrape(10), generateScrape(5), 0, false)
-
- timeseriesExpectedN = maxStaleSeriesAtOnce
- sw.sendStaleSeries(generateScrape(maxStaleSeriesAtOnce*2), "", 0, false)
+ f("", "", 0)
+ f(generateScrape(10), generateScrape(10), 0)
+ f(generateScrape(10), "", 10)
+ f("", generateScrape(10), 0)
+ f(generateScrape(10), generateScrape(3), 7)
+ f(generateScrape(3), generateScrape(10), 0)
+ f(generateScrape(20000), generateScrape(10), 19990)
}
func parsePromRow(data string) *parser.Row {
From 3536bef36e89ad0825ccac560c4a939b74479355 Mon Sep 17 00:00:00 2001
From: Yury Molodov
Date: Tue, 24 Jan 2023 07:04:46 +0100
Subject: [PATCH 23/32] vmui: add open graph and twitter card tags (#3697)
* feat: add open graph and twitter card tags
* app/vmui: spelling fixes
Co-authored-by: Aliaksandr Valialkin
---
app/vmui/packages/vmui/public/index.html | 13 ++++++++++++-
app/vmui/packages/vmui/public/preview.jpg | Bin 0 -> 68388 bytes
.../vmui/src/components/Layout/Layout.tsx | 2 +-
3 files changed, 13 insertions(+), 2 deletions(-)
create mode 100644 app/vmui/packages/vmui/public/preview.jpg
diff --git a/app/vmui/packages/vmui/public/index.html b/app/vmui/packages/vmui/public/index.html
index c53620b8b0..640f310d24 100644
--- a/app/vmui/packages/vmui/public/index.html
+++ b/app/vmui/packages/vmui/public/index.html
@@ -7,7 +7,7 @@
@@ -30,6 +30,17 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/vmui/packages/vmui/public/preview.jpg b/app/vmui/packages/vmui/public/preview.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..9c237b65db2268117b830dca89d2b7f4b8d18fda
GIT binary patch
literal 68388
zcmb5VcUV)~_653=P(qIaN+*a?73sZ%A}CU&2#OS`0@9HVp^E~d(rW-I0wRKffHXyV
zC;}o~L^^`>BIsKI&$;)$-}~pS^L-&F*?X_K=9**7G3SbZzWn(Lq108cs6sFp1i`?6
z(4SFA86qJfCMG5#0WYK^B&1|C#LmTM3v
zL+JXGVs%4va7~vX9;i8wggLbcGb)y8heG8Y-2JXlaf`?$iAKdYyv5*ox9tXLz6yR(iscyaG
zZ4E5R+bHbk&Kej*!g!;6jbCEf_AL=a2b>0@qK7jxSK7gl*T5sdK%sCbY#tBz3!DUl
z&|v<*1Goo94nvavb74Lg%U8-`_aaF7WIXWnoi`cuU9jLduzZYVb+L7JrGsoQ2l;=(
zb^Dz*T@L(tmVkA73@K`3zmRwFj5O_Q!XgWf4AaqmWAjm%DX*{#j
z2prB3{lZu^rPfw1j^wN`SR|#U7_2yE!<TYlOsrp$=FsoDRBur_jz3KP>t$2#`n}u$*{c
zG-2ZiDKyu^w=w6JoLKm>Je#Cruq^DHYbn
zEKoX+g;eJ=BbX~Jow|4cEI{Z{iAk;qO5l5u07Qgw90XPXaz|Tu1U$mbg0dfaWTAIE`xm-|dsu9*Jk|uhuPvX4
z1uJSwdCwrE9g-R10oc&Iv9qa(Ov5r2JpcOop9lvm6$eFfG~Q#)BWx}VB8Cugv$7v(
zzsR8oOZdkQ(oDCsM>>QZK;IZoz#t(}?aO1DX)@aY&cMM;J7NR(ol`qS|0g6tz#WA)
zsa%V@@$6z@e}~sCXA^5XuoDmtjsjm3;^&Ch2upyGD>ME@KSNyG#~NE4^F49LV8E0-
z5FBCfmums@5-tWY4SajVqROciPU5p00~;@E*AWgWqm{6L4X7w9yfh&W0$UxA<~F8S
z+P5Q+WYs;90+ySpyJhK1TQ>JSHcGaAsz^NR_(9kLg8qwV^f6b1kLIMoi`^U}fs6qo
zF>T~azM#t3pgwQma{J@~?p}{w@koIGly+X^-58XWuh@eN9)~Bf7tg`_#yo
zBstouX(B@7oi?R!H$ylS9brw!_WhR+5xUbEk&2(lQcBNKE|$N*J|iNDnz!q*b@~YQ
zl81y#^&wVV(`1AktnG-Cj<$zLOv@od@2tb=QP=BlF}gMdZ#>8h4GwHJ{?B4=7IQ6f#tvPI!C
zFabpuA(i6vfs-uL@lI@j>BC703@O`e>_zSTbv53;zB<{xdsj6!I!m{u-Sr)&QY&ly
z#PLel|3MKU5fO&Ddxm*R>NiYBl{Ai|0)40Zsc2K5t`P_}ER~;hF|X!hV^MP0ePIZZ
z{#~joTKn>syMXRrhXWpUac!T+r=+;!{c1O)cJAeOZ+XniPUzM4rN482H|b>R@*`P-
zjrpFfX~u4U1zvVlLOU?c2K%oH0KTBafK&}euWP33V#ZelV;2{uV@a+TO(d$VY~dyC
zl?>g!#)!f(*>fc`+ss2@JirdxP7ygl7|q${1vzkQf45|frs0a$P%kmWVp6@~wNMf7
zwK8YW-YK-oFeAAdbnDx6r~I$Pp^LITX$q?Mv@zf&KosB=pdHO~q*4g);dIR{TsE*O
zz@+!7`sFAkY+Al
z8OO9<r_HrJl`H-0
zI+v}QL`Kr$PR3J=zcUd*52a_7chmgscdZCE=<6k@83XgC=MO!e>WOdXzVhG&slZ
z^tx@b@+XCBfxTS}vv$ejZ!&aHaHbr7pK`ZVz4SSO%%n#An0rQD-Dv(RVQ9ASL!#x2
zFXNxq@j#XR7i2ITe<3p~jS=EG;x0G}ha*f%NGM97Xh=5nU`2rof_8e|X@6m4%!*Pl
z_r)RBNrm=l*G#6jB-p|{Hu=5tMM@^c4i+8yHWi#>z@7)st=P6o*9@f3O!x`BX&&<&
zx<%ikO*THV@74%39OkdgK?0crBsExKJ{Ja3qB{Z+fCIq*;9k4)d9RFqJ@@lpK3oE6_t}w~2>}KiLQp!Ntq3(*
zW81MDJC?biG)F~F^)zPKHbAJIlzFu9mHjNcIQv5I52l_p?YKvqRtJ4QbyI#n
zV6P*+C~pRBE**6J{uD3}#4OtU2QvFInNYdP(i78DdiQ1McdCY0er`izRZsH^667*2
z(mvt7C(5tU^L%6j50-yC>AwL1xC?|O5f8{zN4{&u(Gi@4MCyH1=-yaR-Y5In)D}?b
z#?HY$FSY-brZsDJVQXzOJL
zxV9?9`EKs-#5>80F9ew`y-f7je4(43!0fc=T_TKnHD
zOL-aSCQzu`yV~r&8^r*th&V12m>q&PXoz+%|LzEoc2Ee;63_BxFOYMA{Z!oBI6SQY
z56a*k<=&~-gZGIESVa-^*8Lv!i1tM@#Q>T{$|B=5Tk
z>JR2eq=s}DZoO$!UE{tq*9(*x2?oICs1^abHFS=4dYX2Tb_uwfJwX8ZiUFK{+=%O6!}`|rnTqWIz+@$lIw%>QrB%hd*a;J=kW8x
zJ-**;3N%|2gTyB3PgP(`cGIhd
z1m^-exAFP9KA%*3@k`bl=QY(!S0Tvi+ZBgg2a7RU72Bo(>1xo1Lo2
z=k_#Irz0>IYldf%gj7i|1{%C3oH|<{p!*3hzaS3*Cx|nk#6%u<_l|34-~&Q~g^m%t
z0fjm#8K@UPGfnwSy8qjWH~m$!o%QZ_Kflf5cm7=6BZ0RuacAzHsI7F+)Mh{5A!3_X
zCE;jz69=l;qI+5!V;-#-jviOd3ZoUOrzS%^`O<(ZKyLvw*g)|Ii&9jCVL)^7j%sn1!3ZL$NdG3?
z{S{R6DR4I1Q-C|<{C6t7tUuGro?osRO`GG+O>}wLx5}Kq=h@yV-l?F{Zc
z0~SQ7b#rc*6=E6c$&t1%9ICG1mn!v(EiCGVP+^3UMu{N>_=w}aFz@%Qj@YMLwlguU
zPwpsa>5VBE1#!tKKbw-x?NZ2Qe=64>zd@tlb(p=e_G|jHf@qMT!o$qrl0(-S_O6~q
z+d1vNOrN(0dtF{kv7AE^EZn^N$|C&=0ztRLv7m;$@-`e4%b`+prSBFpdS_-jH7g9S
zOp3MHj?~)v6nU)SzkFTt+jb_QuN$v${QM$QDz-4YArC8cG0VgQ+v)v_>!xPQcMK+zugFu1JrE?4IyMQtbQht;r;rm|1-&)*e?@)9iQ_FCl
zbl>CeY<)
zkI7hISZ|=mgtG#l7i+<6&u6ybJ&{%grN9#Q3{<+Y`r=AW_dLY
zK7~xvBpuLOBDB^Zz&w;1_W|Y^QjU}0KWdP07I54qhIRS0sJRY6
zVk(YBwYjt!Ej~4~J~bNM8OEIX`vi}|$gjae6Zck9Ke&5Lif!acsA)ud3FGJ9j*2DP
zh4X^S5`_iw1T^meR?$QRzEz5A19t+2_gA$Xw^9K{SR$rz;36I(E`f0HXh4pQc_a_#
z5)H)hZkuz|^#Ovsiut*>w1!`Rjo2C(8>5b@0T)G_BlOr&*8oXSs)N;_pyRp(1HJ=;
zAjm;QPZ%^j3nJ1OFf|t9fB{%5;$1}WqoSabrQrc;&P%GPne_pl`coBE{EnZwFKXRN
z-w%$$@WL>lVMk~;VU*E;13{+-4SW`VWd7e(06%~ZJU}C0E9`f=Y*jM
z8L1g0rMeZ>X{Jg)sV$ZODd&ehd<^>ij=g}@s808Y$E=ydDAj@LClV9^RDUF*AO`GF
z8Sqa(1sMEq!E^L%(4QgbzvebnL{Ub+J}4DkH)rYvsthg{s2GLWJd90Vz`NEsobST`
zy$G%Z3joCfNZX*B#(@FkMzHa32}cn4$Ko4&hKj&|zBu@fQlk+foaq3^XpV~E{ntBM
z-A<%bZMT<=PV>w{PjQx(X?hK3zRzor
z-+|L^Un6)Qpb&WNSih5;<2YI?95l4CU`}eD)jpHTx*8G$RnG6*4}1N-ikF80G`p0LGWaKI=VNkz97
zN|n>3?b15kpZM+%&Gco6&TL<2O+#Zaz)(UG2FC+N9{W8gL
zj+?+9b7^@0ZELCuld2wnk31g1u}*rNGJ?}U%iFiT8$N9PEN7Dcr1h4@3NGm|K
zK;D62+EHLBnm`?%xdA6=qf4hDwgebnM#S}v21VE
z_=pU{0lkx)Lj%Jx$`4-(Ox$t<_yWqs-=ho1RHQmws+GQ9y&1vv;ZjR`$%fBMLKekF
zm;={GX<)$-34#+1z{UX>1^7NH8N5Oa-PSh%<6|HM9B?fRFGmtx|7(hxVbcoF7$DYV
z=rP1cIDR{l^%&qNFq_AOPuWmKqEk)!#yx8{kC{GJ5qy6|Er05?<7c0mBAZ#`S{rOQ
zp|8)Oc&t4LhY5sM5~#|KL4Y93kev>4s)pO#`l1vP3Irfh=NcS~q!E{s8~otZlho6{
z=&=E=?v$%piUHILnj~;63`T95Uh34a(2Ej;_j#@NGRb1U*vOPAi{3Ifm8lY
z31)@EnQptacY5h-b-buMZ-2j4#7ip~9LJB|%+P@d$q^)m#P7}04w>&J7*`(#P;4yQ
z(ry1Jm9)0+=*ys7sXtCLw+ShhqiN`ovp}^tmP(A#X1QbL?XZ}}J$I*e9K=8eoB|8h
z5O*md{7wM)htRq?KCJ^r5Wp@Z%n@sIvu0NBarCXRqOz2fG~Z2@camE>KaNn;RAaMW
zoXoP(e<5R(Q_JvONfoEBS7ymO5w9W13F9RZU;c!#RtYCO1Q?q5D5XLcdc`)(-!_~t
zYWdhKr_R&|`0rbdAa#J20%ul5k29U+v{h~qx;0pkVUEd#un!;%~R0R7Dkhbq231Zn{g4BfKE`1
zN&!JaOVw534ly`cRMa>s(_U)1#L()N@Ycy=V}Vj5##72tcKo#533DY>8;;-uFu^~A
zfsue((Dri|iW(AW$eYmznE>F8As(Tn-!Wfm?$&dwmdS0uI9{-0gR_5OGR>*yanDeL
zWp9HlFW6#2@&>;Q;ROvJ=^|fCT=N{EY(qRPkoMeIh@E|rvEiMqJ@WUW}{@Vgd8dTeYoFE{ZxI6$Wa~%=Ujk(NTNLfYux>Jf1$aE20Afr=X`H|W3
zu9RoB0!*tq+r?aAt1)@WefSk~yWBnQ{OVo;_W>T3N#A0W@HYzQA-$;OXY)z|?=$Xw
zZ{tUzv)smFEI8^)c3e%1sKa|o&`pZ}CoT!zaA#z0Bwz*{lLHdCxWE6{R|
zmR&m)xPwCyDB^e
zrYibap`nV{D$qhCK(p;1uOI#OiBPq@1IU3P9()cGm|j-Wg`s}FULp=MspyuDcf}Yu
zi{5DY+fP`ClyZBqRNA%_A2TW|G?`y*5ieCykQ?ZKnSe$ipm2_WMlJBpOY{BL@qWyI
zWA5*qlv*NT+Zv5W>;uv}7iLH#)@Jmbtzb&tXD>^}l$0WFFH_*}qmv+=JDrWK{Q1@2
z+du%0GK+i8n3wd2`icwUd)y#$04?yV8K4vZjVn{(Q*b~p{F5;WvymMCZ~?rjh+Y;4
zQW?#W49+9Cov*&PWx*#|QsP~u7(dVHOYOOh_vhby8*(IFX@uqE{5p%O!HL6(Ns`U$
z0+)dX+T*SYa9JqDAdh(`_^~=6Q2q~&Q2+ekfvMZFRZh7NkZsgs!jaeNg6}ug&TJ4w
zs+le}qu_v!ptmVC+$tR#3BbY2N%LpXZLtWGn{NrTfUE?5+NK0VHXKe&ModDCKoEl#JLq}B5hsXHCpmS~1*?$1A7`be
zTYuD;cwr%!Pt|b+pXy-!s*QiQc$YUOLfvF=G0-;7&^n~zJpJxOn%r*jWyblZ=Y-0x
zm=?5aTRhpi{!?#53i|fYOX~-(^R=yOk~F3HzQB}iUV=G$BRATQAN4?eOF<&R_TG0B
zn`GO(z*6-sd38U^`0C<;gNy*Z(aWT)sp?yD57dA2_i493De)#t-z65|O|Wx3Ne*oA
zqf1x})N(E73hmzGs=1qqM7hW~#+j$D4WFeyFgT!V0jtY;dOnvX_?mYkZvDk-Bkv=~
z^~swWbxSJdEw}5>*Y&}3
z1o9c=gvPhDVEDSC-+OcCy#9KziF6GU8X0_pHn9nvhc|1|aJ+W?`EFj^Lm^FOvAAc-
zR`f~Ki?{FfbK
znws|3n0ksbRS3buV0BA<+Kn+CLv)mz+7LEDWrh6mK&0?%Tc1
z{?07?{`==nD`3x)%*v~SrUhTi`&;wt?YHE}cAu?2p-#?3ni00N^hupBe`OLQZ?xFw
z_`#VgaN7&IN}Dd#5}2`wumgF;%WKs}B1s<#j)F&CdJpWg@Q-O?`vbc7PZEasxo?;A
zF#+T8D!iZJB1#5_NeVe^0xV+dbOH^SjJ6MO-}lM!bE!?YtDV-VO4Ti6!`^rq-k_eb4NYkW5nf
zRTO|!`%ylh^BAX!FgEyhOnmk=0Jf5R6*A9oO26A
z2WO@XFYolImseG@Wm{#rv8pGAb8ZC>7T3Cbyu7CGJeaj1MKg60`|ZJG_BpHb(moGF
zM9MN~c8J+1)n%_RQy(cCwvSa=1Efonuu*jKut?
z-_5etExR&B=Jd)-K2xtaPr;-;dYDMkx-=*hU56%7YN<|kJd-l=+F96stx*5$g@*f2Lf#CPosKQqo
zd3v+2SzMlwKt0#@>YKFw;=~uMoiwE;;pFBo>8f@&drCQ!{PawjnBKzr0T0RHiVnK@
z(aFw>d=J$kRjt3Qx<#INb@NVyr5c|S{@Nqbi9#WF(L|YhBt;%3c*d1UY%%BiR|u)P
zEo*1DpgjHijQc3(kGv1cJ^T;Ze*bdf?WX#uXKA}Y{Hu(Dv$67Eqs)fY&}gS;&6smi
zjt}gZZ}^jdHqYKCkM
zdw(yT^Lr}i;r5!}!@+Mjz!+@6gZ_6WhBqEc#)STI=A)oAdJ!RiCbjo-L^QGS&9STn
z{fiy8mlAL`)3$1!e<07N)3dzL0oS+k*AA!>>W$y+F&DiZT=@_psOD28FIR)Um8;eJ
z8YI-UZBd;46}ObjzV&!R{5c=@;_6;TQR^Rw>1_7FdEdKMZJH-FHM_ZL{7mIZ<9Qex
zK8DCJw-PJo$w&V_KQYj%^sK42^8Iruan4(ka+QUQ;xgmA84)-RUEJ>$F}>%p&zR55
z`_se2EVm~;6lxrlZ!qrg#DlvecA@WF(}+S!
zVo>LgTeMq|2i*hlL?IbA2l9nP)0@h=a%9h!x&$k%%=1@AQqK(njrCfZcX@YLKnG`e
z3R)ageWsFI-!G>|ulnr$GjT_W--B$Tl2mU_eA4gGTe$cYk2jVN%{aI`-p!%|kx@is
z-U#=zqz)JRn18#7db0jqF#!^%XGHRhZ$Gl$+y1(&&*1d%MA>MRPVyI>QL4A(
z<*oHW58B!G7W78g-uDMr>tro^R5d*eR-=f|YvWfd)K9$}O7w2J+RFQE(zRO)f0r@k
z^U=~EwFBYP%N@Z_-|4AZK%R$pW0D=*{{=JReacX*-aGwj`s?OCarMX0iHQk*gaJG_
z%xF5-Q?$@{o+h%TB#lBworO6t!eEDc-+*F047lUU_es+ST+2x|8+WW1N~fdaNZgTbxBaz#d#EzZhoGgsWt1a-=s3y>}8!c=1(cSqkXeSJ&@@W3s=8TM=l#fESh#yI(aP(
zmY5}LeXn37+qOc<>E3B72BGYhyM;D(V_drV7?gXzI9Vcn*NqAxc_wNXhpVyhEjT}?
za%C6aBgQypdycp!gpg2(d*}@lCz#@cwyrA5E<>bCnno*MwD)bvVEN(x#KT23?>f<|
zfp0of0nl!oDe*OUK!5Tjf85I-C9P`gWDk~5nSY=WuDVi@Y+H-I{9!ZS?ZU^zMY0rk
zziGrXT|LvcG2ScmJ)A3Udyb>8fF|uF-?=m6$d6&2*BSpn_U%0nQ^LktZ{PZL<@J}x
zTpnBv
z7)8jlPec@QY0h4r*-ZL&*F^81GHzyUzxMnLiPOTHh4}kV{HB}m%5d+OcF#`D-Mn<5
zkh*m;o|tyT=mIghtkGkq&|QT(6#>dLM#rD&iR%6)17T#ZYj#FdpX@Zd^YpqWy1EMM
z`)aw)(y7{ft8&|JO==FOrmA}LNvHE6%+ImbTjvi{&~eeWiD_-nS|YI#UsXpptp8B-
z1~ZAH3Veb7N-P@YSx{Ru!Tb1*cw>}moXm$Z-7_tJpli-wO&Q(q^1MzT;7a;%pf*J%
zoxpb5UXDrQ8>-C_X}Gay
zS&IF%!VhDqHFv?$Xg()oLRX3NzTISAY^>Pf
zmc);N2G5vvdgVj820oB}Ck>FaPkFB$&i#SNV@SqGq+S=6Kf#MrkxN?s=#s=+{ej%V
z`>aa8JMWP{+%I8|D`Fj3)VnpoWxvqrn-8~pg*hyWBp+uCf1RAO3=gJeWqrk({>Fby
z-S##o@1?B%(_@nE#@E+zf1oycp+?;^J==wi(Ft&WrDyltGFZD;I!udsQ9Qcbb=OF3
zu&mAJ3(2zO0W-Ob%znygi&ak|i*vI~ZoNUPu|l0-73BU0I`_m0yX}8BU}3zZq*DRV
zSn#T7LuN_-hm;d(6Ja*E+L49f$q?G0goMKZ|HXvi4pCc~T5mm=%+|d>P|Nd-R8RVq
zl_DQ_oG>
zap)=-hOYCm4vY{SW;ZNyXDY;>XW;UspPX6@^&jF-&v6Lt-k=?ftF3|z3Ot8SR;SxP
zNif<3+LN0@SJ-ILhJNu-I3iJ6WW=<0`xFcEiIsTysXKLpB(&xq@D;=)6zJD)(z^O^
zjVTHFJ?`pOJdTlR4pxICQ6v;UgopSC7|w?vZ8k(L1X~=PqjJ>cnCNa()PDFzPRz!_
zn79+Wp;stKk$*whdzgRNeAZp~sg$!;M5{9X@o@aJ=RZsOzJ72VLkyKQrsH!+-)nY=
za;aJ;O-U8@rZ6U+5w{QyCoZM_A#Zep@BFDt=LL2tKbkfnJj)d9JlhAnwSto?xZFyK
zPGPJg%yarUR03*8RxSwZpp~&Q2p087;<&LLiPI^m_d((}U?Y;Gs-RK}XX5v*;<+3g;;ity8Ir
z6LqPlD`wAqG5tt#&9mU3m1q|=(IWV@i$9b&&e$TEQ!!YCUo&$yzD;MCM*MU8J36Mb
zJQrVgn!MC8FGq3!FNS!V4--pAI%c0?
z6C+1*B58GHQOrEOE!BG|V@WSMCi@U_jCLJ4pfeI*Y2smXO5VO41zAjy>h@i}{yBTr
z!R(UEOL9vGekw?;wQHtgzQi>tB!gm8wU~Y}@-TWyr?2&Q8ygd}*KMNb&t&Q>dy3qj
z*89iTJM?m%zs+b%O$_%8?9OWkQ+Zur-1EN9X>E3vua!thCMYK}_l24oTLSaJ+l92(
z&gU##u8Gu{qlz}g#~d;O^k0**3MgLjSQn}$MKstYNw3LQI
zT)!Xq>(7Od1fKLHHjPY{81j6fvh8NSWm>eKmm@iJk?RW8s~ntd?jX%C7S)-HMR&ai
zmR5@Fw-zH=tJo#zT`2lIOM-YbrcEWTi`nm8A?vYg%}@EnEPCMRc#Vl<4X2~0RDvo!
zY{Qcmyk>g!G9W#f-
z+qwKhsHfdtPsr1e6n^7dF#Bk*c;#&tv{htp%6EhORgXi1#xhrl$GHG&^6=lcB#0ei
zMlbD?nrF;CSSpkZA1Sna@QY*oYg%OD%$A|Lo%{vMHwm;b&w~~w0)c>&z!87{
zi7pH}!6Brmi?VP;r;B{4+C>G~)N%uZW9`Z#|jaYmImFjcq1}!ngdipqH
z)~zC9Z9V^X%Ufc>y2X-u@q1*gp=BAjbt`_RdC#?#@mp9g^Sf}ssc2>-uf0c{xg1>(
zp{|3$?KUIC;t_3vQ)&dFm)89Gj6zkY{-_#7vh0gyEED^g=9cmHm1T{CbO+8{(95;>
zWa37r4UOs8D^`;m>>F`O>4o(WVeMHR&tANvQ%ErCv30haXEnt9+p(K&MqbJFYaDOM
ziniD72`B$3XpnH-&0r+TE=a)rl9#SI5wX!Aj0|C)^YFE8UfFdw|6R@3F4YaZLuaAM
zwm5OEau<)z)~Qx1BzgR_yc?DnS%Agxmg!GPPB)>MB5#tBOCG!8u{~IB+BR1pgW|*<
zMnd|87}Y#CXPiHdryxA#-BUt{+gsY-jZv3HNTO5_rm&>M~s^BPe|IbQP^V5#mgyHQB
zAy`j2)J@XFgDMl5rxbQXaeH7BwHdWa(ulpdySxSU?y?A&A3IW+ET;D9*8?uso+&Fh
zL!`=SEA_nZ58`Fq7_+u*7PNl_AEZ*flHg6hsd5ZPSbK*SC<86(#E4X_&Dhey~pox-T_Pq%W0-E
zz4$q@){rY!OJ3Y#Q#P^w4==>ke*UV1?%hwZc>cajti!5$y_JI2B{(sHJQXc&kiaB{
z`sySf7~x&N@IlQ(;CUI_q2_(P4*#%KZPJk`LEW(eiDhN($7tpYVJ|H--|_ViL^tkW
z>@>sm8U_#@AVApSo5aa8^?rE^dTCaKv(Uc{A^InbSf5JH^*_VfX&)-x`^6nJfD^Ef
z3Y6~`eJsPtys6O!8ERZ#3BsSriq3J_EWU6sb8Vk_aB=S`_8}2MrQ=
zihppFJX$Sz{gt1|-YH+)`KoNTbGMo1DPGo@@9>ngD{e18%>IIwvA9&8a_Y-6<5KO8CNhES8#w{Lq*3q>N9UD!v_D?%Mk$d@PGYX7|Etmo)Af>BIXce~Z8G{9-t-
z>#Sm{F_5)c+Kan(^%sgdg2?MV!{|>GxPC|D6h899q
zZvHYLGIDC;^2VZ+aX7gm=jk+J9f4O1*q$QV`;zp-)Hn&1vlNR>LLKScY-G@Y^q0%J
zO*fkWko*l@-_MLo)kygydIZD?Nf48M5U3QC|J+y@cb$|R_B*~w^7K#j_r=5_2}X*N
zSmQELkD#wQQcqr3c0c>3=e@aZ-mG*{+2uM-!A;3)Syt2XWapl~7|VSW-Ce1)P5%}Z
z%H+deD2u{fR>ryB$`hK{)3t5adXK;{NZcQ%6y^8^Y28`mn)?Ln-s`2(CqGjduTh~T
zm^`De0(+jVuz*oTo!&=D$d_Ct&BYR>y
zAWmhnk;g9p=TM|~(qw1>8oAtYh(5eU$~RYLi9w{HufEZ}romWkHn0D7Ynv<>Z5_=svas+D-pA2&
zqYP8M0_-2Tnk1^$qsrymLmo2u3Tu9;5WwxPG*J}%g#}vWu7w_6&U0y`B_5;
z7N|DWrl^d=%UJuu(Dz>4ZCbLV=QEsUjwo{K)EAs-D?W}&zo&Nh*^a?OlcGocI5FY42JAg}N&yZw&*xEU=50Ab>s$|1E0}YGJ&$k~uX0)cf
zYG)yd4hp**)4SYl*hZfH2O|ASV=I;xcE|FV0FTj!e+f2k1u@p|6e$C+W@k
zc~;V`XUS_mC=DTxM~ZH!s!U2^7+~vIbZnFUPiprpqJyH}dHzE2BzfZlv6||Ls*!V-
zHDTqp`@y7*+*_Uvx19&;ywODl7#gNB&5#1JRyK`Kv@+n|L8a836X`?JcMiiQ3*%+X
zcp|Gt5OS}(d(Q?3KGCOHPAQ0INvexLQT1xcO(6rTv5^_TJdh5SfUC9-Guitp+>|qi!EJcx$H_S*?Zfis|LPt-ynz4b0*RAtMqxwOG*e2g*RgRl;2($QcAk
zILwW%^)vg8=A^Cg((uP`>%B8m`0*?^GLJtnZ9zGe5ncPr|C2;gm^Mv0RQdSOj(p}v
zd80vKk7vagj{TuPi_U35!OR`UFvA*2`h)n+I84}h_pn-vm^e~}6>}DgcxnxkmK^c5
z=y=ji)1VymZi@93XShbIC>K#SKha!p{+Lv_x
z3t=RlUaLAh%(sj?fw_d=I9@b&E@bJIxg*O@UIG7rZm6s^fKCvjK`aw_nmmYDXEmR?p(#Y;m^NO
zKQ7d>WTs}e|Gh`=t-&P=vPudn`Rk+FQTw{9Yq^<*c(az^lz`RZS0#(HxFps(w&
zTCkJMBo_EG;A$;y`sp?7kDX5|enwa)U-FmNXCCDTCPUA*f>s^Y>qq>xKMC{MHz^X|Z$7jBowHFZZsB)o0I_yv+%KU$la_^6=i-B*
zO}}04il>;c7mYZ@`Y;Qa2gJQ&3b`^nkCJMW{2ka{I`5R@44k0&HsU#
zRHL>Z2&OkY*L*p0-w19_0t_vwP!YLS4mT}WfX0coYqp`B1XkUIx5DS9tMAG8H6@M{
z@m$(I8&I6!ahm%R^`tK_E<0;ii@OZ#d=}1--@@NfJQd(YYN>}Nk`U#6NAvghtkRgm(lr2ER-2HA=!{Q;J%=L25JBmodJKRNwz9h4+WFut_4e
z5__W_Op0%F*sSA3v4dGR&hR@b%QVBQ0G_`{dl;<2Arx7NAw6VFNM?&hW1@ATlg-YM
zBC#I|*xOM*oygz1i3BdA6qMQK$c0s2z7RJ{J4q*xChPNMuvrI1|l<0L#(NnbRl%KLIKOUZ3*Wxfi7ZH=yM`Vp+0t`lATP00OS5ykLl5M_uqUf$A)MjaF+<#^#G5pB$hCwQNzV?b7#mX(I-%w>ED+p||
zVa049<}sPqL|gl&o{a8ao?R!v;_gOa8iF@edY(QJ
zf8d$Tq_EDaM;Xcz$%-?LEPAxsdGx^nX=CkCs!I0AB;U_IsO|?Fqg{Yo##XcE%V(#n
zf7quOPXvN8)%xtp)r^BO=ob(&GEY?53D!-b`n}&cN?bD$mL7z8lXf)AMJvu~-ku+w
zeV=NIb+^)tZiX`LeT*M7h$B<`@TNj1tJh-~e(2DNjA`5-i;8LMi&!UFlU2#C2)e`T
zbZ8o6pzSegI%CYU*vpR|!x5!RPmzPHa;RvKB?6u$UT1!0yXYOatF?SI2>bD#@goT=
zy&0YdTIZ?jnYNYRmleuX5QN>f;#nvfduGzLz8vm(>c1UetNzLM2i>_qy!VX-()u9WNBp?{f|nQ>HFK0&H8t}A_Wh*i0<~$q
z*Q}Bb^KQ?PM4&@}Z=fxRC$#O1dh#uym@ms>iCS0XPkXlO2Omn7q08KDo2aH!r~d+8
zEVS4Fs+~QtTy6C~>erPnUol<7Jo6LetXFW=`_%QtZp?+3(%whuhh5B0!!bc`kqxdp
zqWzho)%d5))&9T0IUZn2?$*s4%$X+*ZkAMJ`Rq;UfN=m6~TA2KAX|xBxF^7
zMmY~^;Xi3)7^h~L!QYD2Hsc=s?p4I?TNiTV*+u_w7jvsqc1izf!HpbzxtTLmDS;1E
ztJ(K`+dIO{z~dF3Qj*vms{7!;q-;lyqICVagP8+k>(%-XDm;7;88PN~L3TNl1x+ry
zQPB?0eq3A^U2a@gC
zAEJmqu8*5=+J58#lejZPJ#neB(OC2L_RAhztSQCK1Kk^~#wm>asa8cs7g*%FsQ5S&
zwGj~fhLuWf{I%j=H^>C!4zHY*1$Q%TM+)g}tGW@LzHcnR4phW<59)A>+Tv>vpE8!A
zb#8aURJvM_t5w0mrpN{B$Ou5#`WK7cEJ{Bbos{MK2Iv|k>|Le2H8~7LIo;^~TBThL
zo&Ug|^vBD+?1gku4pOd30F7!_)NZMWu2Lvw4_~cBQaxI{!ZQaPQQv2@dtY+S-mpqE
z%V=>_+;pmT#_37U9p+g1X9!xF;2+oL?8Nc+`d@gA7)P1WT?|^scN2)1Db^Yg0O=
z17)}10C(&M_4A~3G;ea_9cfV-19vlps8O(b=D$B?hb{BitD18BSCx
z!J9&qpE7CJiBdiKZGj~WSoUdJ(q4Aj9ehk#$hiqxrJ0w9Dpn2)DUyFT$g1{E;tr$4
zL;ULErOh85Shq*s*tsnNQg)H7Em@X$seq3TwPey0<3x3;#w<7o@e#r}$PldZ04>D1
zB8U^tb@((&sVUk}ylbT>CusW(NXX5UwFy?rg;x_=H0<({ziYO>@_nF^^44dqm(PJ^;6oYX{7RDRJSc_2s$b6aV>Xr9|
z>RTr%=plx#f_*eMMEBlL6PoXHi
zd)gAVo3o*|#ata3yoi;@LWW(E-;FkwQZEX(KDYk`bY@xpVt-I3ul6NgC|%7mc{z@l
zU?}V|!eO)Q8a~v)*%y9CvN;@z(`o+c1gX^4r@D{HZzh9W-5e}(BJ153tdB)3s$8b~
zl0lCq$Mqf;a%zdp#<~8(E#~N}&BCn}2&3DYlQBxw)-!pMbmyN6MP~5PSy+~=GiH_7
zYmKP;x;GKyrBg*jJ)$HQhifl&+?^$K`Udc@=->Ho9lj
zT!SRRJj$zzlf_^m#=MK`=SmKOXz{yeq$1NUnq3px{sw2m4h}$UD4>;fYBl7EeX7Kj{A$;FtbEeC
zN+CN#&;3gY2b$O1;b>gZj-z;>g`X~5_!>heRmLqj!Jlmx%@Ojq$lw=&AXHZ*_hrV#Knl_`W!~(bj03-JGfauuySnP!uG8No<~W>M+hOV!lyw
zyX-;3%?5b5k&Pt~-_6sp5(
zXs;cJ3N3H7LqEwc?uTqMr?7`7QaF(ffFK(ypZPeHtkZ~T&V*@7-LZ?2QaPL|p#bP3
zyGRYAp?RwYsbmpoz9NxuQ*2JU8g8|C@or^O7VSz!?sA;-vRQ=_SjK#r8aBKfqzL}F$T*Rfu&LZ5D75mn}^|hbIK_LY`RUlYITmECU-F2$prIrp>T{7Pvm=)0PYug
z$+b)ziWra3Gd_T{)=FOrh<<
zgrI{MBx6F&%JEBPso(l0TXR$v4a&U%8Zy)6ILO7m?%ALh23sTs>sCki*;z}!8>sG2
z6}O(dDNzjAJ+%ipWZYZ=S}KHBYx&8Yi?DN~I(6*h3>aN?Su8tNPEHW}0rIj4<0~Ot
zt6hB_h+M!!Cq9^Pp)svGiY5D>QC))>i2EvKEjQZ{O@gXk=Ar|~s^rb6=PMV~y~7`4
zk=bneB<%39EB;QR6R$T~^6Sf!K|I|MtRksH#xyr`h^+yoi
z{!LzsUu^#iSQ=a_s}3%35rx(MH@gmBZKgywV5h7>q}j
zkI<K;Zw^k)j9wb)?W3d#~_RY|)#c
zmZ|j(v;XTy@qx{Jix~n0g9R!IBvjI1I9*HPN~S{yY@;lQm^wS(PO`|E_-tO+
zzrfb_<