@bigbinary/neeto-team-members-frontend 3.1.8 → 3.2.0-beta3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,13 +1,13 @@
1
1
  import { globalProps, taxonomies } from '@bigbinary/neeto-commons-frontend/initializers';
2
2
  import require$$0, { useState, createElement, useEffect, useMemo, useRef, Fragment as Fragment$1, memo, useCallback } from 'react';
3
3
  import { removeBy, nullSafe, noop, isPresent, findById, isNotEmpty, findBy, _findBy, replaceById, keysToSnakeCase, notEquals, toLabelAndValue, filterBy, slugify } from '@bigbinary/neeto-cist';
4
- import { useMutationWithInvalidation, withT, useQueryParams, withTitle, useFuncDebounce, useDebounce, useBreakpoints } from '@bigbinary/neeto-commons-frontend/react-utils';
4
+ import { useMutationWithInvalidation as useMutationWithInvalidation$1, withT, useQueryParams, withTitle, useFuncDebounce, useDebounce, useBreakpoints } from '@bigbinary/neeto-commons-frontend/react-utils';
5
5
  import Container from '@bigbinary/neeto-molecules/Container';
6
6
  import NeetoHeader from '@bigbinary/neeto-molecules/Header';
7
7
  import Button from '@bigbinary/neetoui/Button';
8
8
  import { useTranslation, Trans } from 'react-i18next';
9
+ import { useQuery, useQueryClient, useMutation, QueryClient, QueryCache, QueryClientProvider, keepPreviousData } from '@tanstack/react-query';
9
10
  import { prop, pluck, mergeLeft, includes, keys, isEmpty, replace as replace$1, is, append, equals, concat, groupBy, not, map, identical, modify, __, filter as filter$1, identity, clamp, curry, isNil, toLower, assoc, trim, isNotNil, pick, move, head, reverse } from 'ramda';
10
- import { useQuery, QueryClient, QueryCache, QueryClientProvider, useMutation } from 'react-query';
11
11
  import axios from 'axios';
12
12
  import i18next, { t as t$1 } from 'i18next';
13
13
  import { DEFAULT_PAGE_INDEX, DEFAULT_STALE_TIME, PLURAL, SINGULAR, DEFAULT_PAGE_SIZE as DEFAULT_PAGE_SIZE$1 } from '@bigbinary/neeto-commons-frontend/constants';
@@ -41,7 +41,7 @@ import Toastr from '@bigbinary/neetoui/Toastr';
41
41
  import withImmutableActions from '@bigbinary/neeto-commons-frontend/react-utils/withImmutableActions';
42
42
  import { create as create$3 } from 'zustand';
43
43
  import { shallow } from 'zustand/shallow';
44
- import { ReactQueryDevtools } from 'react-query/devtools';
44
+ import { ReactQueryDevtools } from '@tanstack/react-query-devtools';
45
45
  import Checkbox from '@bigbinary/neetoui/Checkbox';
46
46
  import classnames from 'classnames';
47
47
  import Input$1 from '@bigbinary/neetoui/Input';
@@ -247,19 +247,22 @@ var useFetchGroups = function useFetchGroups(_ref) {
247
247
  pageSize = _ref.pageSize,
248
248
  _ref$searchTerm = _ref.searchTerm,
249
249
  searchTerm = _ref$searchTerm === void 0 ? "" : _ref$searchTerm;
250
- return useQuery([QUERY_KEYS.GROUPS, searchTerm, page, pageSize], function () {
251
- return groupsApi.list({
252
- searchTerm: searchTerm,
253
- page: page,
254
- pageSize: pageSize,
255
- loadDetails: true
256
- });
250
+ return useQuery({
251
+ queryKey: [QUERY_KEYS.GROUPS, searchTerm, page, pageSize],
252
+ queryFn: function queryFn() {
253
+ return groupsApi.list({
254
+ searchTerm: searchTerm,
255
+ page: page,
256
+ pageSize: pageSize,
257
+ loadDetails: true
258
+ });
259
+ }
257
260
  });
258
261
  };
259
262
  var useCreateGroup = function useCreateGroup() {
260
263
  var _config$form$otherKey, _config$form;
261
264
  var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
262
- return useMutationWithInvalidation(function (payload) {
265
+ return useMutationWithInvalidation$1(function (payload) {
263
266
  return groupsApi.create(payload);
264
267
  }, {
265
268
  keysToInvalidate: [QUERY_KEYS.GROUPS].concat(_toConsumableArray((_config$form$otherKey = config === null || config === void 0 || (_config$form = config.form) === null || _config$form === void 0 ? void 0 : _config$form.otherKeysToInvalidate) !== null && _config$form$otherKey !== void 0 ? _config$form$otherKey : []))
@@ -268,16 +271,18 @@ var useCreateGroup = function useCreateGroup() {
268
271
  var useDeleteGroup = function useDeleteGroup() {
269
272
  var _config$form$otherKey2, _config$form2;
270
273
  var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
271
- return useMutationWithInvalidation(function (id) {
274
+ return useMutationWithInvalidation$1(function (id) {
272
275
  return groupsApi.destroy(id);
273
276
  }, {
274
277
  keysToInvalidate: [QUERY_KEYS.GROUPS].concat(_toConsumableArray((_config$form$otherKey2 = config === null || config === void 0 || (_config$form2 = config.form) === null || _config$form2 === void 0 ? void 0 : _config$form2.otherKeysToInvalidate) !== null && _config$form$otherKey2 !== void 0 ? _config$form$otherKey2 : []))
275
278
  });
276
279
  };
277
280
  var useFetchGroup = function useFetchGroup(id) {
278
- return useQuery([QUERY_KEYS.GROUPS, id], function () {
279
- return groupsApi.show(id);
280
- }, {
281
+ return useQuery({
282
+ queryKey: [QUERY_KEYS.GROUPS, id],
283
+ queryFn: function queryFn() {
284
+ return groupsApi.show(id);
285
+ },
281
286
  select: prop("group"),
282
287
  enabled: !!id
283
288
  });
@@ -285,7 +290,7 @@ var useFetchGroup = function useFetchGroup(id) {
285
290
  var useUpdateGroup = function useUpdateGroup() {
286
291
  var _config$form$otherKey3, _config$form3;
287
292
  var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
288
- return useMutationWithInvalidation(function (_ref2) {
293
+ return useMutationWithInvalidation$1(function (_ref2) {
289
294
  var id = _ref2.id,
290
295
  payload = _ref2.payload;
291
296
  return groupsApi.update(id, payload);
@@ -309,7 +314,10 @@ var usersApi = {
309
314
  };
310
315
 
311
316
  var useFetchUsers = function useFetchUsers() {
312
- return useQuery([QUERY_KEYS.GROUP_MEMBERS], usersApi.list);
317
+ return useQuery({
318
+ queryKey: [QUERY_KEYS.USERS],
319
+ queryFn: usersApi.list
320
+ });
313
321
  };
314
322
 
315
323
  var MAXIMUM_NAME_LENGTH = 25;
@@ -474,10 +482,10 @@ var Form = function Form(_ref) {
474
482
  isLoading = _useFetchUsers.isLoading;
475
483
  var _useCreateGroup = useCreateGroup(config),
476
484
  create = _useCreateGroup.mutate,
477
- isCreating = _useCreateGroup.isLoading;
485
+ isCreating = _useCreateGroup.isPending;
478
486
  var _useUpdateGroup = useUpdateGroup(config),
479
487
  update = _useUpdateGroup.mutate,
480
- isUpdating = _useUpdateGroup.isLoading;
488
+ isUpdating = _useUpdateGroup.isPending;
481
489
  var initialValues = isEdit ? group : mergeLeft(GROUP_FORM_INITIAL_VALUES, (_config$form$initialV = config === null || config === void 0 || (_config$form = config.form) === null || _config$form === void 0 ? void 0 : _config$form.initialValues) !== null && _config$form$initialV !== void 0 ? _config$form$initialV : {});
482
490
  var validationSchema = GROUP_FORM_VALIDATION_SCHEMA.concat(config === null || config === void 0 || (_config$form2 = config.form) === null || _config$form2 === void 0 ? void 0 : _config$form2.validationSchema);
483
491
  var getUserIds = function getUserIds(members) {
@@ -1271,8 +1279,8 @@ var Edit = function Edit(_ref) {
1271
1279
  });
1272
1280
  };
1273
1281
 
1274
- function ownKeys$k(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1275
- function _objectSpread$k(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$k(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$k(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1282
+ function ownKeys$l(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1283
+ function _objectSpread$l(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$l(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$l(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1276
1284
  var List = function List(_ref) {
1277
1285
  var _config$table$deleteA, _config$table, _config$table$deleteA2;
1278
1286
  var config = _ref.config,
@@ -1295,7 +1303,7 @@ var List = function List(_ref) {
1295
1303
  var totalCount = groups === null || groups === void 0 ? void 0 : groups.length;
1296
1304
  var _useDeleteGroup = useDeleteGroup(config),
1297
1305
  groupDelete = _useDeleteGroup.mutate,
1298
- isDeleting = _useDeleteGroup.isLoading;
1306
+ isDeleting = _useDeleteGroup.isPending;
1299
1307
  var getGroupDetail = function getGroupDetail(id) {
1300
1308
  return findById(id, groups);
1301
1309
  };
@@ -1362,7 +1370,7 @@ var List = function List(_ref) {
1362
1370
  })]
1363
1371
  }) : /*#__PURE__*/jsx("div", {
1364
1372
  className: "flex h-full w-full flex-grow items-center justify-center",
1365
- children: /*#__PURE__*/jsx(NoData, _objectSpread$k({
1373
+ children: /*#__PURE__*/jsx(NoData, _objectSpread$l({
1366
1374
  title: t("neetoTeamMembers.helpers.emptyTable", {
1367
1375
  entity: taxonomies.group.plural
1368
1376
  })
@@ -1859,6 +1867,70 @@ try {
1859
1867
 
1860
1868
  var _regeneratorRuntime = /*@__PURE__*/getDefaultExportFromCjs(regenerator);
1861
1869
 
1870
+ function _objectWithoutPropertiesLoose(source, excluded) {
1871
+ if (source == null) return {};
1872
+ var target = {};
1873
+ var sourceKeys = Object.keys(source);
1874
+ var key, i;
1875
+ for (i = 0; i < sourceKeys.length; i++) {
1876
+ key = sourceKeys[i];
1877
+ if (excluded.indexOf(key) >= 0) continue;
1878
+ target[key] = source[key];
1879
+ }
1880
+ return target;
1881
+ }
1882
+
1883
+ function _objectWithoutProperties(source, excluded) {
1884
+ if (source == null) return {};
1885
+ var target = _objectWithoutPropertiesLoose(source, excluded);
1886
+ var key, i;
1887
+ if (Object.getOwnPropertySymbols) {
1888
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
1889
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
1890
+ key = sourceSymbolKeys[i];
1891
+ if (excluded.indexOf(key) >= 0) continue;
1892
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
1893
+ target[key] = source[key];
1894
+ }
1895
+ }
1896
+ return target;
1897
+ }
1898
+
1899
+ var _excluded$4 = ["keysToInvalidate"],
1900
+ _excluded2$3 = ["onSuccess"];
1901
+ function ownKeys$k(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1902
+ function _objectSpread$k(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$k(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$k(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1903
+ var useMutationWithInvalidation = function useMutationWithInvalidation(mutationFn, _ref) {
1904
+ var keysToInvalidate = _ref.keysToInvalidate,
1905
+ options = _objectWithoutProperties(_ref, _excluded$4);
1906
+ var queryClient = useQueryClient();
1907
+ var _onSuccess = options.onSuccess,
1908
+ otherOptions = _objectWithoutProperties(options, _excluded2$3);
1909
+ return useMutation(_objectSpread$k({
1910
+ mutationFn: mutationFn,
1911
+ onSuccess: function onSuccess(data, variables, context) {
1912
+ keysToInvalidate.forEach(function (key) {
1913
+ var result = key;
1914
+ if (typeof key === "function") {
1915
+ result = key(data, variables, context);
1916
+ }
1917
+ if (_typeof$1(result) === "object") {
1918
+ queryClient.invalidateQueries(result);
1919
+ }
1920
+ if (typeof result === "string") {
1921
+ queryClient.invalidateQueries({
1922
+ queryKey: [key]
1923
+ });
1924
+ }
1925
+ queryClient.invalidateQueries({
1926
+ queryKey: key
1927
+ });
1928
+ });
1929
+ _onSuccess === null || _onSuccess === void 0 || _onSuccess(data, variables, context);
1930
+ }
1931
+ }, otherOptions));
1932
+ };
1933
+
1862
1934
  var fetchCountries = function fetchCountries() {
1863
1935
  return axios.get("".concat(BASE_URL, "/profile/countries"));
1864
1936
  };
@@ -1879,9 +1951,10 @@ var profileApi = {
1879
1951
  function ownKeys$j(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1880
1952
  function _objectSpread$j(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$j(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$j(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1881
1953
  var useFetchProfile = function useFetchProfile(options) {
1882
- return useQuery([QUERY_KEYS.USER_PROFILE], profileApi.fetchUserDetails, _objectSpread$j({
1883
- staleTime: DEFAULT_STALE_TIME,
1884
- refetchOnWindowFocus: true
1954
+ return useQuery(_objectSpread$j({
1955
+ queryKey: [QUERY_KEYS.USER_PROFILE],
1956
+ queryFn: profileApi.fetchUserDetails,
1957
+ staleTime: DEFAULT_STALE_TIME
1885
1958
  }, options));
1886
1959
  };
1887
1960
  var useUpdateProfileMutation = function useUpdateProfileMutation(options) {
@@ -1914,7 +1987,9 @@ var VALIDATION_ERRORS = {
1914
1987
  function ownKeys$i(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1915
1988
  function _objectSpread$i(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$i(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$i(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1916
1989
  var useFetchCountries = function useFetchCountries(options) {
1917
- return useQuery([QUERY_KEYS.COUNTRIES_LIST], profileApi.fetchCountries, _objectSpread$i({
1990
+ return useQuery(_objectSpread$i({
1991
+ queryKey: [QUERY_KEYS.COUNTRIES_LIST],
1992
+ queryFn: profileApi.fetchCountries,
1918
1993
  staleTime: DEFAULT_STALE_TIME
1919
1994
  }, options));
1920
1995
  };
@@ -2168,7 +2243,7 @@ var ChangeProfile = function ChangeProfile(_ref) {
2168
2243
  handleTimeZoneChange = _useCountries$handleT === void 0 ? noop : _useCountries$handleT;
2169
2244
  var _useUpdateProfileMuta = useUpdateProfileMutation(),
2170
2245
  updateProfile = _useUpdateProfileMuta.mutate,
2171
- isUpdatingProfile = _useUpdateProfileMuta.isLoading;
2246
+ isUpdatingProfile = _useUpdateProfileMuta.isPending;
2172
2247
  var initialFormValues = {
2173
2248
  firstName: firstName,
2174
2249
  lastName: lastName,
@@ -3819,7 +3894,7 @@ var withReactQuery = function withReactQuery(Component) {
3819
3894
  client: queryClient,
3820
3895
  children: [/*#__PURE__*/jsx(Component, _objectSpread$g({}, props)), /*#__PURE__*/jsx(ReactQueryDevtools, {
3821
3896
  initialIsOpen: false,
3822
- position: "bottom-right"
3897
+ position: "left"
3823
3898
  })]
3824
3899
  });
3825
3900
  };
@@ -3837,42 +3912,15 @@ function ownKeys$f(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymb
3837
3912
  function _objectSpread$f(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$f(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$f(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3838
3913
  var useFetchPermissions = function useFetchPermissions() {
3839
3914
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3840
- return useQuery(QUERY_KEYS.PERMISSIONS, permissionsApi.fetch, _objectSpread$f({
3915
+ return useQuery(_objectSpread$f({
3916
+ queryKey: [QUERY_KEYS.PERMISSIONS],
3917
+ queryFn: permissionsApi.fetch,
3841
3918
  select: function select(response) {
3842
3919
  return response === null || response === void 0 ? void 0 : response.permissions;
3843
3920
  }
3844
3921
  }, options));
3845
3922
  };
3846
3923
 
3847
- function _objectWithoutPropertiesLoose(source, excluded) {
3848
- if (source == null) return {};
3849
- var target = {};
3850
- var sourceKeys = Object.keys(source);
3851
- var key, i;
3852
- for (i = 0; i < sourceKeys.length; i++) {
3853
- key = sourceKeys[i];
3854
- if (excluded.indexOf(key) >= 0) continue;
3855
- target[key] = source[key];
3856
- }
3857
- return target;
3858
- }
3859
-
3860
- function _objectWithoutProperties(source, excluded) {
3861
- if (source == null) return {};
3862
- var target = _objectWithoutPropertiesLoose(source, excluded);
3863
- var key, i;
3864
- if (Object.getOwnPropertySymbols) {
3865
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
3866
- for (i = 0; i < sourceSymbolKeys.length; i++) {
3867
- key = sourceSymbolKeys[i];
3868
- if (excluded.indexOf(key) >= 0) continue;
3869
- if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
3870
- target[key] = source[key];
3871
- }
3872
- }
3873
- return target;
3874
- }
3875
-
3876
3924
  var fetch$2 = function fetch() {
3877
3925
  return axios.get("".concat(BASE_URL, "/global_roles"));
3878
3926
  };
@@ -3913,7 +3961,9 @@ function ownKeys$e(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymb
3913
3961
  function _objectSpread$e(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$e(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$e(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3914
3962
  var useFetchRoles = function useFetchRoles() {
3915
3963
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3916
- return useQuery(QUERY_KEYS.ROLES, organizationRolesApi.fetch, _objectSpread$e({
3964
+ return useQuery(_objectSpread$e({
3965
+ queryKey: [QUERY_KEYS.ROLES],
3966
+ queryFn: organizationRolesApi.fetch,
3917
3967
  select: function select(response) {
3918
3968
  return response === null || response === void 0 ? void 0 : response.organizationRoles;
3919
3969
  }
@@ -3921,15 +3971,17 @@ var useFetchRoles = function useFetchRoles() {
3921
3971
  };
3922
3972
  var useFetchGlobalRoles = function useFetchGlobalRoles() {
3923
3973
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3924
- return useQuery(QUERY_KEYS.GLOBAL_ROLES, globalRolesApi.fetch, _objectSpread$e({}, options));
3974
+ return useQuery(_objectSpread$e({
3975
+ queryKey: [QUERY_KEYS.GLOBAL_ROLES],
3976
+ queryFn: globalRolesApi.fetch
3977
+ }, options));
3925
3978
  };
3926
3979
  var useCreateRole = function useCreateRole(_ref) {
3927
3980
  var _onSuccess = _ref.onSuccess,
3928
3981
  options = _objectWithoutProperties(_ref, _excluded$3);
3929
- return useMutation(organizationRolesApi.create, _objectSpread$e({
3982
+ return useMutationWithInvalidation(organizationRolesApi.create, _objectSpread$e({
3983
+ keysToInvalidate: [QUERY_KEYS.TEAMS_DEPENDENCIES, QUERY_KEYS.ROLES],
3930
3984
  onSuccess: function onSuccess() {
3931
- queryClient.invalidateQueries(QUERY_KEYS.TEAMS_DEPENDENCIES);
3932
- queryClient.invalidateQueries(QUERY_KEYS.ROLES);
3933
3985
  _onSuccess === null || _onSuccess === void 0 || _onSuccess();
3934
3986
  }
3935
3987
  }, options));
@@ -3937,15 +3989,13 @@ var useCreateRole = function useCreateRole(_ref) {
3937
3989
  var useUpdateRole = function useUpdateRole(_ref2) {
3938
3990
  var _onSuccess2 = _ref2.onSuccess,
3939
3991
  options = _objectWithoutProperties(_ref2, _excluded2$2);
3940
- return useMutation(function (_ref3) {
3992
+ return useMutationWithInvalidation(function (_ref3) {
3941
3993
  var id = _ref3.id,
3942
3994
  payload = _ref3.payload;
3943
3995
  return organizationRolesApi.update(id, payload);
3944
3996
  }, _objectSpread$e({
3997
+ keysToInvalidate: [QUERY_KEYS.TEAMS, QUERY_KEYS.TEAMS_DEPENDENCIES, QUERY_KEYS.ROLES],
3945
3998
  onSuccess: function onSuccess() {
3946
- queryClient.invalidateQueries(QUERY_KEYS.TEAMS);
3947
- queryClient.invalidateQueries(QUERY_KEYS.TEAMS_DEPENDENCIES);
3948
- queryClient.invalidateQueries(QUERY_KEYS.ROLES);
3949
3999
  _onSuccess2 === null || _onSuccess2 === void 0 || _onSuccess2();
3950
4000
  }
3951
4001
  }, options));
@@ -3954,15 +4004,13 @@ var useDestroyRole = function useDestroyRole(_ref4) {
3954
4004
  var _ref4$onSuccess = _ref4.onSuccess,
3955
4005
  _onSuccess3 = _ref4$onSuccess === void 0 ? noop : _ref4$onSuccess,
3956
4006
  options = _objectWithoutProperties(_ref4, _excluded3);
3957
- return useMutation(function (_ref5) {
4007
+ return useMutationWithInvalidation(function (_ref5) {
3958
4008
  var id = _ref5.id,
3959
4009
  payload = _ref5.payload;
3960
4010
  return organizationRolesApi.destroy(id, payload);
3961
4011
  }, _objectSpread$e({
4012
+ keysToInvalidate: [QUERY_KEYS.TEAMS, QUERY_KEYS.TEAMS_DEPENDENCIES, QUERY_KEYS.ROLES],
3962
4013
  onSuccess: function onSuccess() {
3963
- queryClient.invalidateQueries(QUERY_KEYS.TEAMS);
3964
- queryClient.invalidateQueries(QUERY_KEYS.TEAMS_DEPENDENCIES);
3965
- queryClient.invalidateQueries(QUERY_KEYS.ROLES);
3966
4014
  _onSuccess3 === null || _onSuccess3 === void 0 || _onSuccess3();
3967
4015
  }
3968
4016
  }, options));
@@ -3970,11 +4018,9 @@ var useDestroyRole = function useDestroyRole(_ref4) {
3970
4018
  var useBulkUpdateRoles = function useBulkUpdateRoles(_ref6) {
3971
4019
  var _onSuccess4 = _ref6.onSuccess,
3972
4020
  options = _objectWithoutProperties(_ref6, _excluded4);
3973
- return useMutation(organizationRolesApi.bulkUpdate, _objectSpread$e({
4021
+ return useMutationWithInvalidation(organizationRolesApi.bulkUpdate, _objectSpread$e({
4022
+ keysToInvalidate: [QUERY_KEYS.TEAMS, QUERY_KEYS.TEAMS_DEPENDENCIES, QUERY_KEYS.ROLES],
3974
4023
  onSuccess: function onSuccess() {
3975
- queryClient.invalidateQueries(QUERY_KEYS.TEAMS);
3976
- queryClient.invalidateQueries(QUERY_KEYS.TEAMS_DEPENDENCIES);
3977
- queryClient.invalidateQueries(QUERY_KEYS.ROLES);
3978
4024
  _onSuccess4 === null || _onSuccess4 === void 0 || _onSuccess4();
3979
4025
  }
3980
4026
  }, options));
@@ -4367,12 +4413,12 @@ var ManageRoles = function ManageRoles(_ref) {
4367
4413
  onSuccess: onClose
4368
4414
  }),
4369
4415
  createRole = _useCreateRole.mutate,
4370
- isCreatingRole = _useCreateRole.isLoading;
4416
+ isCreatingRole = _useCreateRole.isPending;
4371
4417
  var _useUpdateRole = useUpdateRole({
4372
4418
  onSuccess: onClose
4373
4419
  }),
4374
4420
  updateRole = _useUpdateRole.mutate,
4375
- isUpdatingRole = _useUpdateRole.isLoading;
4421
+ isUpdatingRole = _useUpdateRole.isPending;
4376
4422
  var isEdit = isPresent(selectedRole);
4377
4423
  var isSubmitting = isCreatingRole || isUpdatingRole;
4378
4424
  var handleSubmit = function handleSubmit(formValues) {
@@ -4395,9 +4441,9 @@ var ManageRoles = function ManageRoles(_ref) {
4395
4441
  var isReadOnly = selectedRole.kind === "system";
4396
4442
  var isDisabled = ADMIN_ROLES.includes(selectedRole.name) && isReadOnly;
4397
4443
  return /*#__PURE__*/jsxs(Pane, {
4398
- initialFocusRef: inputReference,
4399
4444
  isOpen: isOpen,
4400
4445
  onClose: onClose,
4446
+ initialFocusRef: inputReference,
4401
4447
  children: [/*#__PURE__*/jsx(Pane.Header, {
4402
4448
  children: /*#__PURE__*/jsx(Typography, {
4403
4449
  "data-cy": "ntm-add-role-title",
@@ -4731,7 +4777,7 @@ var Delete = function Delete(_ref) {
4731
4777
  onSuccess: onClose
4732
4778
  }),
4733
4779
  deleteRole = _useDestroyRole.mutate,
4734
- isDeleting = _useDestroyRole.isLoading;
4780
+ isDeleting = _useDestroyRole.isPending;
4735
4781
  var handleDelete = function handleDelete() {
4736
4782
  var _roles$find;
4737
4783
  var id = selectedRole.id;
@@ -4746,8 +4792,9 @@ var Delete = function Delete(_ref) {
4746
4792
  });
4747
4793
  };
4748
4794
  return /*#__PURE__*/jsx(Alert, {
4749
- cancelButtonLabel: t("neetoTeamMembers.buttons.cancel"),
4750
4795
  isOpen: isOpen,
4796
+ onClose: onClose,
4797
+ cancelButtonLabel: t("neetoTeamMembers.buttons.cancel"),
4751
4798
  isSubmitting: isDeleting,
4752
4799
  submitButtonLabel: t("neetoTeamMembers.buttons.delete"),
4753
4800
  title: t("neetoTeamMembers.labels.deleteRole"),
@@ -4757,7 +4804,6 @@ var Delete = function Delete(_ref) {
4757
4804
  name: selectedRole === null || selectedRole === void 0 ? void 0 : selectedRole.name
4758
4805
  }
4759
4806
  }),
4760
- onClose: onClose,
4761
4807
  onSubmit: handleDelete
4762
4808
  });
4763
4809
  };
@@ -4840,19 +4886,25 @@ var ToggleDropdown = function ToggleDropdown(_ref) {
4840
4886
  });
4841
4887
  };
4842
4888
 
4843
- var renderDescription = function renderDescription(permissions) {
4889
+ var renderDescription = function renderDescription(permissions, filteredPermissions) {
4844
4890
  return permissions === null || permissions === void 0 ? void 0 : permissions.map(function (_ref) {
4845
4891
  var id = _ref.id,
4846
- description = _ref.description;
4847
- return /*#__PURE__*/jsx("div", {
4848
- className: "ntm-roles-table-sidebar__list-item",
4849
- "data-name": description,
4850
- children: /*#__PURE__*/jsx(Typography, {
4851
- "data-cy": "ntm-permission-category-description",
4852
- lineHeight: "normal",
4853
- style: "body2",
4854
- children: description
4855
- })
4892
+ description = _ref.description,
4893
+ children = _ref.children;
4894
+ return /*#__PURE__*/jsxs(Fragment$1, {
4895
+ children: [filteredPermissions.includes(id) && /*#__PURE__*/jsx("div", {
4896
+ className: "ntm-roles-table-sidebar__list-item",
4897
+ "data-name": description,
4898
+ children: /*#__PURE__*/jsx(Typography, {
4899
+ "data-cy": "ntm-permission-category-description",
4900
+ lineHeight: "normal",
4901
+ style: "body2",
4902
+ children: description
4903
+ })
4904
+ }, id), /*#__PURE__*/jsx("div", {
4905
+ className: "neeto-ui-relative neeto-ui-pl-6",
4906
+ children: renderDescription(children, filteredPermissions)
4907
+ })]
4856
4908
  }, id);
4857
4909
  });
4858
4910
  };
@@ -4869,11 +4921,24 @@ var Sidebar = function Sidebar(_ref) {
4869
4921
  setSearchTerm = _ref.setSearchTerm,
4870
4922
  filteredGroupPermissions = _ref.filteredGroupPermissions,
4871
4923
  toggleDropdown = _ref.toggleDropdown,
4872
- isScrollPresent = _ref.isScrollPresent;
4924
+ isScrollPresent = _ref.isScrollPresent,
4925
+ _ref$permissions = _ref.permissions,
4926
+ permissions = _ref$permissions === void 0 ? [] : _ref$permissions,
4927
+ _ref$permissionRelati = _ref.permissionRelationConfig,
4928
+ permissionRelationConfig = _ref$permissionRelati === void 0 ? {} : _ref$permissionRelati;
4873
4929
  var _useTranslation = useTranslation(),
4874
4930
  t = _useTranslation.t;
4875
4931
  var categories = Array.from(filteredGroupPermissions.keys());
4876
4932
  var searchWrapperStyle = isScrollPresent ? getSearchWrapperStyle() : {};
4933
+ var permissionsNameMap = groupBy(prop("name"))(permissions);
4934
+ var groupedPermissionsWithChildren = useMemo(function () {
4935
+ var childrenRemovedFromRoot = getChildrenRemovedFromRoot({
4936
+ permissions: permissions,
4937
+ permissionsNameMap: permissionsNameMap,
4938
+ permissionRelationConfig: permissionRelationConfig
4939
+ });
4940
+ return groupBy(prop("category"))(childrenRemovedFromRoot);
4941
+ }, [permissions]);
4877
4942
  return /*#__PURE__*/jsxs("div", {
4878
4943
  className: "ntm-roles-table__sidebar",
4879
4944
  children: [/*#__PURE__*/jsx("div", {
@@ -4897,7 +4962,6 @@ var Sidebar = function Sidebar(_ref) {
4897
4962
  children: categories.map(function (category, index) {
4898
4963
  var groupedPermissions = filteredGroupPermissions.get(category);
4899
4964
  var isPermissionVisible = groupedPermissions.get("isPermissionVisible");
4900
- var permissions = groupedPermissions.get("permissions");
4901
4965
  return /*#__PURE__*/jsxs("div", {
4902
4966
  children: [/*#__PURE__*/jsxs("div", {
4903
4967
  className: "ntm-roles-table-sidebar__list-item ntm-roles-table-sidebar__list-item--highlighted cursor-pointer",
@@ -4913,7 +4977,10 @@ var Sidebar = function Sidebar(_ref) {
4913
4977
  }), /*#__PURE__*/jsx(ToggleDropdown, {
4914
4978
  isVisible: isPermissionVisible
4915
4979
  })]
4916
- }), isPermissionVisible && renderDescription(permissions)]
4980
+ }), isPermissionVisible && /*#__PURE__*/jsx("div", {
4981
+ className: "ml-[12px] px-[24px]",
4982
+ children: renderDescription(groupedPermissionsWithChildren[category], pluck("id", filteredGroupPermissions.get(category).get("permissions") || []))
4983
+ })]
4917
4984
  }, index);
4918
4985
  })
4919
4986
  })
@@ -4922,6 +4989,7 @@ var Sidebar = function Sidebar(_ref) {
4922
4989
  };
4923
4990
 
4924
4991
  var Table = function Table(_ref) {
4992
+ var _config$permissionRel;
4925
4993
  var config = _ref.config,
4926
4994
  filteredRoles = _ref.filteredRoles,
4927
4995
  roles = _ref.roles,
@@ -4944,7 +5012,7 @@ var Table = function Table(_ref) {
4944
5012
  _useState6 = _slicedToArray(_useState5, 2),
4945
5013
  isScrollPresent = _useState6[0],
4946
5014
  setIsScrollPresent = _useState6[1];
4947
- var _useState7 = useState(),
5015
+ var _useState7 = useState(undefined),
4948
5016
  _useState8 = _slicedToArray(_useState7, 2),
4949
5017
  selectedRole = _useState8[0],
4950
5018
  setSelectedRole = _useState8[1];
@@ -4986,9 +5054,11 @@ var Table = function Table(_ref) {
4986
5054
  children: [/*#__PURE__*/jsx(Sidebar, {
4987
5055
  filteredGroupPermissions: filteredGroupPermissions,
4988
5056
  isScrollPresent: isScrollPresent,
5057
+ permissions: permissions,
4989
5058
  searchTerm: searchTerm,
4990
5059
  setSearchTerm: setSearchTerm,
4991
- toggleDropdown: toggleDropdown
5060
+ toggleDropdown: toggleDropdown,
5061
+ permissionRelationConfig: (_config$permissionRel = config === null || config === void 0 ? void 0 : config.permissionRelation) !== null && _config$permissionRel !== void 0 ? _config$permissionRel : {}
4992
5062
  }), /*#__PURE__*/jsx(Columns, {
4993
5063
  config: config,
4994
5064
  filteredGroupPermissions: filteredGroupPermissions,
@@ -5034,7 +5104,6 @@ var Roles = function Roles(_ref) {
5034
5104
  isNewRolePaneOpen = _useState4[0],
5035
5105
  setIsNewRolePaneOpen = _useState4[1];
5036
5106
  var _useFetchRoles = useFetchRoles({
5037
- onSuccess: setModifiedRoles,
5038
5107
  enabled: isViewPermissionGranted
5039
5108
  }),
5040
5109
  _useFetchRoles$data = _useFetchRoles.data,
@@ -5070,6 +5139,9 @@ var Roles = function Roles(_ref) {
5070
5139
  var handleReset = function handleReset() {
5071
5140
  return setModifiedRoles(roles);
5072
5141
  };
5142
+ useEffect(function () {
5143
+ setModifiedRoles(roles);
5144
+ }, [roles]);
5073
5145
  if (isRolesLoading || isPermissionsLoading) {
5074
5146
  return /*#__PURE__*/jsx("div", {
5075
5147
  className: "ntm-members-page-loader",
@@ -7205,27 +7277,33 @@ function _objectSpread$a(e) { for (var r = 1; r < arguments.length; r++) { var t
7205
7277
  var useFetchMembers = function useFetchMembers() {
7206
7278
  var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7207
7279
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
7208
- return useQuery([QUERY_KEYS.TEAMS, params], function () {
7209
- return teamsApi.fetch(params);
7210
- }, _objectSpread$a(_objectSpread$a({
7280
+ return useQuery(_objectSpread$a(_objectSpread$a({
7281
+ queryKey: [QUERY_KEYS.TEAMS, params],
7282
+ queryFn: function queryFn() {
7283
+ return teamsApi.fetch(params);
7284
+ },
7211
7285
  select: identity,
7212
- keepPreviousData: true
7286
+ placeholderData: keepPreviousData
7213
7287
  }, options), {}, {
7214
7288
  refetchOnWindowFocus: false
7215
7289
  }));
7216
7290
  };
7217
7291
  var useFetchMembersCountsPerCategory = function useFetchMembersCountsPerCategory() {
7218
7292
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7219
- return useQuery([QUERY_KEYS.TEAMS], teamsApi.fetchCountsPerCategory, _objectSpread$a(_objectSpread$a({
7293
+ return useQuery(_objectSpread$a(_objectSpread$a({
7294
+ queryKey: [QUERY_KEYS.TEAMS],
7295
+ queryFn: teamsApi.fetchCountsPerCategory,
7220
7296
  select: identity,
7221
- keepPreviousData: true
7297
+ placeholderData: keepPreviousData
7222
7298
  }, options), {}, {
7223
7299
  refetchOnWindowFocus: false
7224
7300
  }));
7225
7301
  };
7226
7302
  var useCreateMember = function useCreateMember() {
7227
7303
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7228
- return useMutation(teamsApi.create, options);
7304
+ return useMutation(_objectSpread$a({
7305
+ mutationFn: teamsApi.create
7306
+ }, options));
7229
7307
  };
7230
7308
  var useUpdateMember = function useUpdateMember(_ref) {
7231
7309
  var _onSuccess = _ref.onSuccess,
@@ -7252,26 +7330,35 @@ var useBulkUpdateMembers = function useBulkUpdateMembers(_ref3) {
7252
7330
  }, options));
7253
7331
  };
7254
7332
  var refetchMembers = function refetchMembers() {
7255
- queryClient.invalidateQueries(QUERY_KEYS.TEAMS);
7256
- queryClient.invalidateQueries(QUERY_KEYS.TEAMS_DEPENDENCIES);
7333
+ queryClient.invalidateQueries({
7334
+ queryKey: [QUERY_KEYS.TEAMS]
7335
+ });
7336
+ queryClient.invalidateQueries({
7337
+ queryKey: [QUERY_KEYS.TEAMS_DEPENDENCIES]
7338
+ });
7257
7339
  };
7258
7340
  var useFetchFilterOptions = function useFetchFilterOptions(_ref4) {
7259
7341
  var _ref4$params = _ref4.params,
7260
7342
  params = _ref4$params === void 0 ? {} : _ref4$params,
7261
7343
  _ref4$options = _ref4.options,
7262
7344
  options = _ref4$options === void 0 ? {} : _ref4$options;
7263
- return useQuery([QUERY_KEYS.TEAMS_DEPENDENCIES, params], function () {
7264
- return teamsApi.fetchFilterOptions(params);
7265
- }, _objectSpread$a(_objectSpread$a({
7345
+ return useQuery(_objectSpread$a(_objectSpread$a({
7346
+ queryKey: [QUERY_KEYS.TEAMS_DEPENDENCIES, params],
7347
+ queryFn: function queryFn() {
7348
+ return teamsApi.fetchFilterOptions(params);
7349
+ },
7266
7350
  select: identity
7267
7351
  }, options), {}, {
7268
7352
  refetchOnWindowFocus: false
7269
7353
  }));
7270
7354
  };
7271
7355
  var useMembersCreationStatus = function useMembersCreationStatus(jobId, options) {
7272
- return useQuery([QUERY_KEYS.CREATION_STATUS, jobId], function () {
7273
- return teamsApi.creationStatus(jobId);
7274
- }, options);
7356
+ return useQuery(_objectSpread$a({
7357
+ queryKey: [QUERY_KEYS.CREATION_STATUS, jobId],
7358
+ queryFn: function queryFn() {
7359
+ return teamsApi.creationStatus(jobId);
7360
+ }
7361
+ }, options));
7275
7362
  };
7276
7363
 
7277
7364
  var _getQueryParams = getQueryParams(),
@@ -8945,7 +9032,7 @@ var ManageMember = function ManageMember(_ref) {
8945
9032
  }
8946
9033
  }),
8947
9034
  updateMember = _useUpdateMember.mutate,
8948
- isUpdatingMember = _useUpdateMember.isLoading;
9035
+ isUpdatingMember = _useUpdateMember.isPending;
8949
9036
  var hasRoleChanged = function hasRoleChanged(_ref4) {
8950
9037
  var submitted = _ref4.submitted,
8951
9038
  values = _ref4.values;
@@ -9202,7 +9289,7 @@ var TeamMembers = function TeamMembers(_ref) {
9202
9289
  }
9203
9290
  }),
9204
9291
  updateMember = _useUpdateMember.mutate,
9205
- isUpdatingMember = _useUpdateMember.isLoading;
9292
+ isUpdatingMember = _useUpdateMember.isPending;
9206
9293
  var filteredRoles = getFilteredRoles(roles, config);
9207
9294
  var _useTeams = useTeams({
9208
9295
  config: config,
@@ -9420,7 +9507,7 @@ var useMembersSidenav = function useMembersSidenav(_ref) {
9420
9507
 
9421
9508
  var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
9422
9509
 
9423
- var css = ":root{--ntm-roles-table-default-scroll:15px;--ntm-roles-table-cell-height:48px;--ntm-roles-sidebar-width:396px;--ntm-roles-table-header-height:72px}.ntm-scrollbar__inner{height:200px;width:100%}.ntm-scrollbar__outer{height:150px;left:0;overflow:hidden;position:absolute;top:0;visibility:hidden;width:200px}.ntm-empty-state{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.ntm-members{overflow:auto;width:100%}.ntm-members-wrapper{display:flex}.ntm-members-page-loader{height:100vh;width:100%}.ntm-members-table__wrapper{display:flex;gap:.75rem;justify-content:space-between;width:100%}.ntm-members-table__column{align-items:center;display:flex;gap:.5rem}.ntm-members-form__header{margin-bottom:.5rem}.ntm-members-form__body{padding-bottom:1rem;width:100%}.ntm-members-form__body>*+*{margin-top:1.5rem}.ntm-members-form__footer{display:flex;gap:.5rem}.ntm-manage-members__header{align-items:flex-start;display:flex}.ntm-manage-members__header>*+*{margin-left:.5rem}.ntm-manage-members__app-roles{align-items:center;display:flex;justify-content:space-between;padding:.5rem 0;width:100%}.ntm-manage-members-app-roles__select-wrapper{max-width:250px;width:50%}.ntm-manage-members-effective-app-roles{align-items:center;display:flex;justify-content:space-between;padding:.25rem 0}.ntm-manage-members-effective-app-roles__role-name{max-width:300px;width:67%}.ntm-members-radio-group,.ntm-members-radio-group .neeto-ui-radio__container--stacked{width:100%}.ntm-members-radio-group__label{padding-right:4px}.ntm-members-radio-group__icon{cursor:pointer}.ntm-members-form-radio-item__wrapper{cursor:pointer;padding:8px 0!important;width:100%}.ntm-members-form-radio-item__wrapper:first-child{padding-top:0!important}.ntm-members-form-radio-item__label{margin-bottom:0!important}.ntm-members-form-radio-item__description,.ntm-product-roles-table th{color:rgb(var(--neeto-ui-gray-700))}.ntm-product-roles-table th{font-size:var(--neeto-ui-text-xs);font-weight:var(--neeto-ui-font-bold);text-transform:uppercase;vertical-align:middle}.ntm-product-roles-table td,.ntm-product-roles-table th{border:1px solid rgb(var(--neeto-ui-gray-300));padding:8px;text-align:left}.ntm-manage-members__checkbox-align-start.neeto-ui-checkbox__wrapper .neeto-ui-checkbox__container{align-items:flex-start}.ntm-manage-members__checkbox-align-start.neeto-ui-checkbox__wrapper .neeto-ui-checkbox[type=checkbox]{margin-top:4px}.ntm-roles-table__wrapper{height:calc(100vh - var(--neeto-molecules-main-header-with-breadcrumbs-height) - 24px);padding:0 40px;width:100%}@media screen and (max-width:1024px){.ntm-roles-table__wrapper{--neeto-molecules-main-header-with-breadcrumbs-height:216px}}@media screen and (max-width:768px){.ntm-roles-table__wrapper{--neeto-molecules-main-header-with-breadcrumbs-height:186px;overflow:hidden;padding:0 20px}}.ntm-roles-table__container{display:flex;height:100%}@media screen and (max-width:768px){.ntm-roles-table__container{height:auto;overflow-y:auto}}.ntm-roles-table__sidebar{border-top:thin solid rgb(var(--neeto-ui-gray-300));height:calc(100vh - var(--neeto-molecules-main-header-with-breadcrumbs-height) - 28px);min-width:396px;min-width:var(--ntm-roles-sidebar-width);width:396px;width:var(--ntm-roles-sidebar-width)}@media screen and (max-width:768px){.ntm-roles-table__sidebar{height:100%}}.ntm-roles-table-sidebar__search{height:72px;height:var(--ntm-roles-table-header-height);padding:20px 24px}.ntm-roles-table-sidebar__list,.ntm-roles-table-sidebar__search{border-left:thin solid rgb(var(--neeto-ui-gray-300));border-right:thin solid rgb(var(--neeto-ui-gray-300))}.ntm-roles-table-sidebar__list{max-height:calc(100vh - var(--neeto-molecules-main-header-with-breadcrumbs-height) - 115px);max-height:calc(100vh - var(--neeto-molecules-main-header-with-breadcrumbs-height) - var(--ntm-roles-table-header-height) - var(--ntm-roles-table-default-scroll) - 28px);overflow-y:auto}.ntm-roles-table-sidebar__list div:last-child .ntm-roles-table-sidebar__list-item:last-child{border-bottom:thin solid rgb(var(--neeto-ui-gray-300))}.ntm-roles-table-sidebar__list-item{align-items:center;display:flex;justify-content:space-between;min-height:48px;min-height:var(--ntm-roles-table-cell-height);padding:12px 24px}.ntm-roles-table-sidebar__list-item.ntm-roles-table-sidebar__list-item--highlighted{background-color:rgb(var(--neeto-ui-primary-100));padding:12px 24px}.ntm-roles-table-sidebar__list-item:not(.ntm-roles-table-sidebar__list-item--highlighted){border-bottom:thin solid rgb(var(--neeto-ui-gray-300))}.ntm-roles-table-sidebar__list-item:last-child{border-bottom:none}.ntm-roles-table__columns{border-top:thin solid rgb(var(--neeto-ui-gray-300));flex-grow:1;overflow:hidden}@media screen and (max-width:768px){.ntm-roles-table__columns{overflow:visible;overflow:initial}}.ntm-roles-table__cell{align-items:center;border-right:thin solid rgb(var(--neeto-ui-gray-300));display:flex;height:48px;height:var(--ntm-roles-table-cell-height);justify-content:center;min-height:48px;min-height:var(--ntm-roles-table-cell-height);min-width:200px;padding:12px 8px;width:100%}.ntm-roles-table-cell__checkbox-wrapper{height:1rem;margin:auto;position:absolute;width:1rem;z-index:10}.ntm-roles-table-cell__checkbox{z-index:10}.ntm-roles-table__header{align-items:center;display:flex;overflow-x:auto}.ntm-roles-table__header .ntm-roles-table__cell{height:72px;height:var(--ntm-roles-table-header-height)}@media screen and (max-width:768px){.ntm-roles-table__header{overflow:visible;overflow:initial}}.ntm-roles-table-header-cell__container{align-items:center;display:flex;justify-content:space-between;overflow:hidden;width:100%}.ntm-roles-table-header__dropdown{flex-shrink:0;margin:3px}.ntm-roles-table-header__role-name{overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.ntm-roles-table__rows{max-height:calc(100vh - var(--neeto-molecules-main-header-with-breadcrumbs-height) - 115px);max-height:calc(100vh - var(--neeto-molecules-main-header-with-breadcrumbs-height) - var(--ntm-roles-table-header-height) - var(--ntm-roles-table-default-scroll) - 28px);overflow-y:auto;scrollbar-width:none;width:100%}.ntm-roles-table__rows::-webkit-scrollbar{height:0;width:0}.ntm-roles-table__rows::-webkit-scrollbar-thumb{background:rgb(var(--neeto-ui-gray-300));border-radius:50px}.ntm-roles-table__rows::-webkit-scrollbar-thumb:hover{border-radius:50px}.ntm-roles-table__rows::-webkit-scrollbar-track{background:rgb(var(--neeto-ui-gray-300))}.ntm-roles-table__rows div:last-child .ntm-roles-table__row:last-child .ntm-roles-table__cell{border-bottom:thin solid rgb(var(--neeto-ui-gray-300))}.ntm-roles-table__row{align-items:center;display:flex}.ntm-roles-table__row .ntm-roles-table__cell{overflow:hidden;position:relative}.ntm-roles-table__row .ntm-roles-table__cell p{min-width:340px;opacity:0;width:340px}.ntm-roles-table__row.ntm-roles-table__row--highlighted .ntm-roles-table__cell{background-color:rgb(var(--neeto-ui-primary-100))}.ntm-roles-table__row:not(.ntm-roles-table__row--highlighted) .ntm-roles-table__cell{border-bottom:thin solid rgb(var(--neeto-ui-gray-300))}.ntm-roles-table__row:last-child .ntm-roles-table__cell{border-bottom:none}.ntm-roles-table-sidebar__drop-down-button{color:rgb(var(--neeto-ui-gray-600));cursor:pointer}.ntm-roles-modal__body>*+*{margin-top:1rem}.ntm-roles-modal__footer{display:flex;gap:.5rem}.ntm-roles-pane__body{margin-bottom:1.5rem;width:100%}.ntm-roles-pane__body-wrapper>*+*{margin-top:1rem}.ntm-roles-pane__body>*+*{margin-top:1.5rem}.ntm-roles-pane__footer{display:flex;gap:.5rem}.ntm-roles-permission__heading{color:rgb(var(--neeto-ui-gray-500));text-transform:uppercase}.ntm-roles-permission__card{background-color:rgb(var(--neeto-ui-white));display:flex;flex-direction:column;gap:.75rem;padding:.4rem 0;position:relative}.ntm-roles-permission__card:after{background-color:rgb(var(--neeto-ui-gray-300));content:\"\";height:1px;left:-15px;position:absolute;top:14px;width:10px}.ntm-roles-permission__card--description{flex-grow:1}.ntm-roles-permission__card--checkbox{padding:0 .5rem}.ntm-roles-permission__card .neeto-ui-checkbox__wrapper .neeto-ui-checkbox__container{align-items:flex-start}.ntm-roles-permission__card .neeto-ui-checkbox__wrapper .neeto-ui-checkbox__container .neeto-ui-checkbox[type=checkbox]:disabled+.neeto-ui-label{cursor:not-allowed;opacity:.5}.ntm-roles-permission__sub-blocks{position:relative}.ntm-roles-permission__sub-blocks:before{background-color:rgb(var(--neeto-ui-gray-300));content:\"\";height:calc(100% - 14px);left:8px;position:absolute;top:0;width:1px}.ntm-roles-permission__sub-blocks:empty{display:none}.ntm-roles-permission-category-card{border:1px solid rgb(var(--neeto-ui-gray-400));border-radius:var(--neeto-ui-rounded);padding:10px 20px}.ntm-roles-permission-category-card>.ntm-roles-permission__card:after{display:none}.ntm-roles-help-url-wrapper{align-items:center;display:flex;justify-content:center;padding:1rem 0;width:100%}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9hYnN0cmFjdHMvX3Jvb3Quc2NzcyIsImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9hcHBsaWNhdGlvbi5zY3NzIiwiYXBwL2phdmFzY3JpcHQvc3JjL3N0eWxlc2hlZXRzL2Jhc2UvX2Jhc2Uuc2NzcyIsImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9jb21wb25lbnRzL19lbXB0eS1zdGF0ZS5zY3NzIiwiYXBwL2phdmFzY3JpcHQvc3JjL3N0eWxlc2hlZXRzL3BhZ2VzL19tZW1iZXJzLnNjc3MiLCJhcHAvamF2YXNjcmlwdC9zcmMvc3R5bGVzaGVldHMvcGFnZXMvX3JvbGVzLnNjc3MiLCJhcHAvamF2YXNjcmlwdC9zcmMvc3R5bGVzaGVldHMvYWJzdHJhY3RzL19taXhpbnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUNFLHFDQUFBLENBQ0Esa0NBQUEsQ0FDQSwrQkFBQSxDQUNBLG9DQ0NGLENDSkUsc0JBRUUsWUFBQSxDQURBLFVEUUosQ0NKRSxzQkFLRSxZQUFBLENBRkEsTUFBQSxDQUdBLGVBQUEsQ0FMQSxpQkFBQSxDQUNBLEtBQUEsQ0FLQSxpQkFBQSxDQUhBLFdEU0osQ0VuQkEsaUJBSUUsa0JBQUEsQ0FEQSxZQUFBLENBREEsV0FBQSxDQUdBLHNCQUFBLENBSkEsVUYwQkYsQ0czQkEsYUFDRSxhQUFBLENBQ0EsVUg4QkYsQ0c1QkUscUJBQ0UsWUg4QkosQ0czQkUseUJBRUUsWUFBQSxDQURBLFVIOEJKLENHekJJLDRCQUVFLFlBQUEsQ0FFQSxVQUFBLENBREEsNkJBQUEsQ0FGQSxVSDhCTixDR3pCSSwyQkFFRSxrQkFBQSxDQURBLFlBQUEsQ0FFQSxTSDJCTixDR3RCSSwwQkFDRSxtQkh3Qk4sQ0dyQkksd0JBRUUsbUJBQUEsQ0FEQSxVSHdCTixDR3RCTSw0QkFDRSxpQkh3QlIsQ0dwQkksMEJBQ0UsWUFBQSxDQUNBLFNIc0JOLENHakJBLDRC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LGlCSm1JSixDSWhJSSwrQ0FHRSxlQUFBLENBRkEsU0FBQSxDQUNBLFdKbUlOLENJN0hJLCtFQUNFLGlESitITixDSTFISSxxRkFDRSxzREo0SE4sQ0l2SEksd0RBQ0Usa0JKeUhOLENJcEhBLDJDQUNFLG1DQUFBLENBQ0EsY0p1SEYsQ0luSEUsMkJBQ0UsZUpzSEosQ0luSEUseUJBQ0UsWUFBQSxDQUNBLFNKcUhKLENJaEhFLHNCQUVFLG9CQUFBLENBREEsVUpvSEosQ0lqSEksa0NBQ0UsZUptSE4sQ0loSEksMEJBQ0UsaUJKa0hOLENJOUdFLHdCQUNFLFlBQUEsQ0FDQSxTSmdISixDSTNHRSwrQkFDRSxtQ0FBQSxDQUNBLHdCSjhHSixDSTNHRSw0QkFDRSwyQ0FBQSxDQUdBLFlBQUEsQ0FDQSxxQkFBQSxDQUNBLFVBQUEsQ0FDQSxlQUFBLENBTEEsaUJKaUhKLENJMUdJLGtDQUNFLDhDQUFBLENBQ0EsVUFBQSxDQUNBLFVBQUEsQ0FDQSxVQUFBLENBQ0EsaUJBQUEsQ0FDQSxRQUFBLENBQ0EsVUo0R04sQ0l6R0kseUNBQ0UsV0oyR04sQ0l4R0ksc0NBQ0UsZUowR04sQ0l2R0ksc0ZBQ0Usc0JKeUdOLENJdkdNLGlKQUVFLGtCQUFBLENBREEsVUowR1IsQ0lwR0Usa0NBQ0UsaUJKc0dKLENJcEdJLHlDQUNFLDhDQUFBLENBRUEsVUFBQSxDQUNBLHdCQUFBLENBQ0EsUUFBQSxDQUNBLGlCQUFBLENBSkEsS0FBQSxDQUtBLFNKc0dOLENJbkdJLHdDQUNFLFlKcUdOLENJaEdBLG9DQUdFLDhDQUFBLENBREEscUNBQUEsQ0FEQSxpQkpxR0YsQ0lqR0ksc0VBQ0UsWUptR04sQ0k5RkEsNEJBR0Usa0JBQUEsQ0FGQSxZQUFBLENBR0Esc0JBQUEsQ0FDQSxjQUFBLENBSEEsVUpvR0YiLCJzb3VyY2VzQ29udGVudCI6WyI6cm9vdCB7XG4gIC0tbnRtLXJvbGVzLXRhYmxlLWRlZmF1bHQtc2Nyb2xsOiAxNXB4O1xuICAtLW50bS1yb2xlcy10YWJsZS1jZWxsLWhlaWdodDogNDhweDtcbiAgLS1udG0tcm9sZXMtc2lkZWJhci13aWR0aDogMzk2cHg7XG4gIC0tbnRtLXJvbGVzLXRhYmxlLWhlYWRlci1oZWlnaHQ6IDcycHg7XG59XG4iLCI6cm9vdCB7XG4gIC0tbnRtLXJvbGVzLXRhYmxlLWRlZmF1bHQtc2Nyb2xsOiAxNXB4O1xuICAtLW50bS1yb2xlcy10YWJsZS1jZWxsLWhlaWdodDogNDhweDtcbiAgLS1udG0tcm9sZXMtc2lkZWJhci13aWR0aDogMzk2cHg7XG4gIC0tbnRtLXJvbGVzLXRhYmxlLWhlYWRlci1oZWlnaHQ6IDcycHg7XG59XG5cbi5udG0tc2Nyb2xsYmFyX19pbm5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIwMHB4O1xufVxuLm50bS1zY3JvbGxiYXJfX291dGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDBweDtcbiAgbGVmdDogMHB4O1xuICB3aWR0aDogMjAwcHg7XG4gIGhlaWdodDogMTUwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLm50bS1lbXB0eS1zdGF0ZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ubnRtLW1lbWJlcnMge1xuICBvdmVyZmxvdzogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG59XG4ubnRtLW1lbWJlcnMtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4ubnRtLW1lbWJlcnMtcGFnZS1sb2FkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbn1cbi5udG0tbWVtYmVycy10YWJsZV9fd3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMC43NXJlbTtcbn1cbi5udG0tbWVtYmVycy10YWJsZV9fY29sdW1uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjVyZW07XG59XG4ubnRtLW1lbWJlcnMtZm9ybV9faGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuLm50bS1tZW1iZXJzLWZvcm1fX2JvZHkge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG59XG4ubnRtLW1lbWJlcnMtZm9ybV9fYm9keSA+ICogKyAqIHtcbiAgbWFyZ2luLXRvcDogMS41cmVtO1xufVxuLm50bS1tZW1iZXJzLWZvcm1fX2Zvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMC41cmVtO1xufVxuXG4ubnRtLW1hbmFnZS1tZW1iZXJzX19oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cbi5udG0tbWFuYWdlLW1lbWJlcnNfX2hlYWRlciA+ICogKyAqIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbn1cblxuLm50bS1tYW5hZ2UtbWVtYmVyc19fYXBwLXJvbGVzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMC41cmVtIDA7XG59XG5cbi5udG0tbWFuYWdlLW1lbWJlcnMtYXBwLXJvbGVzX19zZWxlY3Qtd3JhcHBlciB7XG4gIHdpZHRoOiA1MCU7XG4gIG1heC13aWR0aDogMjUwcHg7XG59XG5cbi5udG0tbWFuYWdlLW1lbWJlcnMtZWZmZWN0aXZlLWFwcC1yb2xlcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMC4yNXJlbSAwO1xufVxuXG4ubnRtLW1hbmFnZS1tZW1iZXJzLWVmZmVjdGl2ZS1hcHAtcm9sZXNfX3JvbGUtbmFtZSB7XG4gIHdpZHRoOiA2NyU7XG4gIG1heC13aWR0aDogMzAwcHg7XG59XG5cbi5udG0tbWVtYmVycy1yYWRpby1ncm91cCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLm50bS1tZW1iZXJzLXJhZGlvLWdyb3VwIC5uZWV0by11aS1yYWRpb19fY29udGFpbmVyLS1zdGFja2VkIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4ubnRtLW1lbWJlcnMtcmFkaW8tZ3JvdXBfX2xhYmVsIHtcbiAgcGFkZGluZy1yaWdodDogNHB4O1xufVxuLm50bS1tZW1iZXJzLXJhZGlvLWdyb3VwX19pY29uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubnRtLW1lbWJlcnMtZm9ybS1yYWRpby1pdGVtX193cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogOHB4IDBweCAhaW1wb3J0YW50O1xufVxuLm50bS1tZW1iZXJzLWZvcm0tcmFkaW8taXRlbV9fd3JhcHBlcjpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctdG9wOiAwcHggIWltcG9ydGFudDtcbn1cbi5udG0tbWVtYmVycy1mb3JtLXJhZGlvLWl0ZW1fX2xhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuLm50bS1tZW1iZXJzLWZvcm0tcmFkaW8taXRlbV9fZGVzY3JpcHRpb24ge1xuICBjb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktNzAwKSk7XG59XG5cbi5udG0tcHJvZHVjdC1yb2xlcy10YWJsZSB0aCB7XG4gIGNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktZ3JheS03MDApKTtcbiAgZm9udC1zaXplOiB2YXIoLS1uZWV0by11aS10ZXh0LXhzKTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLW5lZXRvLXVpLWZvbnQtYm9sZCk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4ubnRtLXByb2R1Y3Qtcm9sZXMtdGFibGUgdGQsXG4ubnRtLXByb2R1Y3Qtcm9sZXMtdGFibGUgdGgge1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2IodmFyKC0tbmVldG8tdWktZ3JheS0zMDApKTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZzogOHB4O1xufVxuXG4ubnRtLW1hbmFnZS1tZW1iZXJzX19jaGVja2JveC1hbGlnbi1zdGFydC5uZWV0by11aS1jaGVja2JveF9fd3JhcHBlciAubmVldG8tdWktY2hlY2tib3hfX2NvbnRhaW5lciB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuLm50bS1tYW5hZ2UtbWVtYmVyc19fY2hlY2tib3gtYWxpZ24tc3RhcnQubmVldG8tdWktY2hlY2tib3hfX3dyYXBwZXIgLm5lZXRvLXVpLWNoZWNrYm94W3R5cGU9Y2hlY2tib3hdIHtcbiAgbWFyZ2luLXRvcDogNHB4O1xufVxuXG4ubnRtLXJvbGVzLXRhYmxlX193cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLW5lZXRvLW1vbGVjdWxlcy1tYWluLWhlYWRlci13aXRoLWJyZWFkY3J1bWJzLWhlaWdodCkgLSAyNHB4KTtcbiAgcGFkZGluZzogMCA0MHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gIC5udG0tcm9sZXMtdGFibGVfX3dyYXBwZXIge1xuICAgIC0tbmVldG8tbW9sZWN1bGVzLW1haW4taGVhZGVyLXdpdGgtYnJlYWRjcnVtYnMtaGVpZ2h0OiAyMTZweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLm50bS1yb2xlcy10YWJsZV9fd3JhcHBlciB7XG4gICAgLS1uZWV0by1tb2xlY3VsZXMtbWFpbi1oZWFkZXItd2l0aC1icmVhZGNydW1icy1oZWlnaHQ6IDE4NnB4O1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG5cbi5udG0tcm9sZXMtdGFibGVfX2NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5udG0tcm9sZXMtdGFibGVfX2NvbnRhaW5lciB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuLm50bS1yb2xlcy10YWJsZV9fc2lkZWJhciB7XG4gIHdpZHRoOiB2YXIoLS1udG0tcm9sZXMtc2lkZWJhci13aWR0aCk7XG4gIGhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLW5lZXRvLW1vbGVjdWxlcy1tYWluLWhlYWRlci13aXRoLWJyZWFkY3J1bWJzLWhlaWdodCkgLSAyOHB4KTtcbiAgbWluLXdpZHRoOiB2YXIoLS1udG0tcm9sZXMtc2lkZWJhci13aWR0aCk7XG4gIGJvcmRlci10b3A6IHRoaW4gc29saWQgcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktMzAwKSk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAubnRtLXJvbGVzLXRhYmxlX19zaWRlYmFyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuLm50bS1yb2xlcy10YWJsZS1zaWRlYmFyX19zZWFyY2gge1xuICBwYWRkaW5nOiAyMHB4IDI0cHg7XG4gIGhlaWdodDogdmFyKC0tbnRtLXJvbGVzLXRhYmxlLWhlYWRlci1oZWlnaHQpO1xuICBib3JkZXItbGVmdDogdGhpbiBzb2xpZCByZ2IodmFyKC0tbmVldG8tdWktZ3JheS0zMDApKTtcbiAgYm9yZGVyLXJpZ2h0OiB0aGluIHNvbGlkIHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTMwMCkpO1xufVxuXG4ubnRtLXJvbGVzLXRhYmxlLXNpZGViYXJfX2xpc3Qge1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gdmFyKC0tbmVldG8tbW9sZWN1bGVzLW1haW4taGVhZGVyLXdpdGgtYnJlYWRjcnVtYnMtaGVpZ2h0KSAtIHZhcigtLW50bS1yb2xlcy10YWJsZS1oZWFkZXItaGVpZ2h0KSAtIHZhcigtLW50bS1yb2xlcy10YWJsZS1kZWZhdWx0LXNjcm9sbCkgLSAyOHB4KTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgYm9yZGVyLWxlZnQ6IHRoaW4gc29saWQgcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktMzAwKSk7XG4gIGJvcmRlci1yaWdodDogdGhpbiBzb2xpZCByZ2IodmFyKC0tbmVldG8tdWktZ3JheS0zMDApKTtcbn1cbi5udG0tcm9sZXMtdGFibGUtc2lkZWJhcl9fbGlzdCBkaXY6bGFzdC1jaGlsZCAubnRtLXJvbGVzLXRhYmxlLXNpZGViYXJfX2xpc3QtaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogdGhpbiBzb2xpZCByZ2IodmFyKC0tbmVldG8tdWktZ3JheS0zMDApKTtcbn1cblxuLm50bS1yb2xlcy10YWJsZS1zaWRlYmFyX19saXN0LWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEycHggMjRweDtcbiAgbWluLWhlaWdodDogdmFyKC0tbnRtLXJvbGVzLXRhYmxlLWNlbGwtaGVpZ2h0KTtcbn1cbi5udG0tcm9sZXMtdGFibGUtc2lkZWJhcl9fbGlzdC1pdGVtLm50bS1yb2xlcy10YWJsZS1zaWRlYmFyX19saXN0LWl0ZW0tLWhpZ2hsaWdodGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLXByaW1hcnktMTAwKSk7XG4gIHBhZGRpbmc6IDEycHggMjRweDtcbn1cbi5udG0tcm9sZXMtdGFibGUtc2lkZWJhcl9fbGlzdC1pdGVtOm5vdCgubnRtLXJvbGVzLXRhYmxlLXNpZGViYXJfX2xpc3QtaXRlbS0taGlnaGxpZ2h0ZWQpIHtcbiAgYm9yZGVyLWJvdHRvbTogdGhpbiBzb2xpZCByZ2IodmFyKC0tbmVldG8tdWktZ3JheS0zMDApKTtcbn1cbi5udG0tcm9sZXMtdGFibGUtc2lkZWJhcl9fbGlzdC1pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4ubnRtLXJvbGVzLXRhYmxlX19jb2x1bW5zIHtcbiAgZmxleC1ncm93OiAxO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItdG9wOiB0aGluIHNvbGlkIHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTMwMCkpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLm50bS1yb2xlcy10YWJsZV9fY29sdW1ucyB7XG4gICAgb3ZlcmZsb3c6IHVuc2V0O1xuICB9XG59XG5cbi5udG0tcm9sZXMtdGFibGVfX2NlbGwge1xuICB3aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgaGVpZ2h0OiB2YXIoLS1udG0tcm9sZXMtdGFibGUtY2VsbC1oZWlnaHQpO1xuICBtaW4taGVpZ2h0OiB2YXIoLS1udG0tcm9sZXMtdGFibGUtY2VsbC1oZWlnaHQpO1xuICBwYWRkaW5nOiAxMnB4IDhweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1yaWdodDogdGhpbiBzb2xpZCByZ2IodmFyKC0tbmVldG8tdWktZ3JheS0zMDApKTtcbn1cblxuLm50bS1yb2xlcy10YWJsZS1jZWxsX19jaGVja2JveC13cmFwcGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDFyZW07XG4gIHdpZHRoOiAxcmVtO1xuICBtYXJnaW46IGF1dG87XG4gIHotaW5kZXg6IDEwO1xufVxuXG4ubnRtLXJvbGVzLXRhYmxlLWNlbGxfX2NoZWNrYm94IHtcbiAgei1pbmRleDogMTA7XG59XG5cbi5udG0tcm9sZXMtdGFibGVfX2hlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG4ubnRtLXJvbGVzLXRhYmxlX19oZWFkZXIgLm50bS1yb2xlcy10YWJsZV9fY2VsbCB7XG4gIGhlaWdodDogdmFyKC0tbnRtLXJvbGVzLXRhYmxlLWhlYWRlci1oZWlnaHQpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLm50bS1yb2xlcy10YWJsZV9faGVhZGVyIHtcbiAgICBvdmVyZmxvdzogdW5zZXQ7XG4gIH1cbn1cblxuLm50bS1yb2xlcy10YWJsZS1oZWFkZXItY2VsbF9fY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm50bS1yb2xlcy10YWJsZS1oZWFkZXJfX2Ryb3Bkb3duIHtcbiAgbWFyZ2luOiAzcHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ubnRtLXJvbGVzLXRhYmxlLWhlYWRlcl9fcm9sZS1uYW1lIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5udG0tcm9sZXMtdGFibGVfX3Jvd3Mge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLW5lZXRvLW1vbGVjdWxlcy1tYWluLWhlYWRlci13aXRoLWJyZWFkY3J1bWJzLWhlaWdodCkgLSB2YXIoLS1udG0tcm9sZXMtdGFibGUtaGVhZGVyLWhlaWdodCkgLSB2YXIoLS1udG0tcm9sZXMtdGFibGUtZGVmYXVsdC1zY3JvbGwpIC0gMjhweCk7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbn1cbi5udG0tcm9sZXMtdGFibGVfX3Jvd3M6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgd2lkdGg6IDBweDtcbiAgaGVpZ2h0OiAwcHg7XG59XG4ubnRtLXJvbGVzLXRhYmxlX19yb3dzOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQ6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTMwMCkpO1xuICBib3JkZXItcmFkaXVzOiA1MHB4O1xufVxuLm50bS1yb2xlcy10YWJsZV9fcm93czo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICBib3JkZXItcmFkaXVzOiA1MHB4O1xufVxuLm50bS1yb2xlcy10YWJsZV9fcm93czo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICBiYWNrZ3JvdW5kOiByZ2IodmFyKC0tbmVldG8tdWktZ3JheS0zMDApKTtcbn1cbi5udG0tcm9sZXMtdGFibGVfX3Jvd3MgZGl2Omxhc3QtY2hpbGQgLm50bS1yb2xlcy10YWJsZV9fcm93Omxhc3QtY2hpbGQgLm50bS1yb2xlcy10YWJsZV9fY2VsbCB7XG4gIGJvcmRlci1ib3R0b206IHRoaW4gc29saWQgcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktMzAwKSk7XG59XG5cbi5udG0tcm9sZXMtdGFibGVfX3JvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4ubnRtLXJvbGVzLXRhYmxlX19yb3cgLm50bS1yb2xlcy10YWJsZV9fY2VsbCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5udG0tcm9sZXMtdGFibGVfX3JvdyAubnRtLXJvbGVzLXRhYmxlX19jZWxsIHAge1xuICBvcGFjaXR5OiAwO1xuICB3aWR0aDogMzQwcHg7XG4gIG1pbi13aWR0aDogMzQwcHg7XG59XG4ubnRtLXJvbGVzLXRhYmxlX19yb3cubnRtLXJvbGVzLXRhYmxlX19yb3ctLWhpZ2hsaWdodGVkIC5udG0tcm9sZXMtdGFibGVfX2NlbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktcHJpbWFyeS0xMDApKTtcbn1cbi5udG0tcm9sZXMtdGFibGVfX3Jvdzpub3QoLm50bS1yb2xlcy10YWJsZV9fcm93LS1oaWdobGlnaHRlZCkgLm50bS1yb2xlcy10YWJsZV9fY2VsbCB7XG4gIGJvcmRlci1ib3R0b206IHRoaW4gc29saWQgcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktMzAwKSk7XG59XG4ubnRtLXJvbGVzLXRhYmxlX19yb3c6bGFzdC1jaGlsZCAubnRtLXJvbGVzLXRhYmxlX19jZWxsIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLm50bS1yb2xlcy10YWJsZS1zaWRlYmFyX19kcm9wLWRvd24tYnV0dG9uIHtcbiAgY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTYwMCkpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5udG0tcm9sZXMtbW9kYWxfX2JvZHkgPiAqICsgKiB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG59XG4ubnRtLXJvbGVzLW1vZGFsX19mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDAuNXJlbTtcbn1cblxuLm50bS1yb2xlcy1wYW5lX19ib2R5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cbi5udG0tcm9sZXMtcGFuZV9fYm9keS13cmFwcGVyID4gKiArICoge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuLm50bS1yb2xlcy1wYW5lX19ib2R5ID4gKiArICoge1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG59XG4ubnRtLXJvbGVzLXBhbmVfX2Zvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMC41cmVtO1xufVxuXG4ubnRtLXJvbGVzLXBlcm1pc3Npb25fX2hlYWRpbmcge1xuICBjb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktNTAwKSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4ubnRtLXJvbGVzLXBlcm1pc3Npb25fX2NhcmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktd2hpdGUpKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDAuNzVyZW07XG4gIHBhZGRpbmc6IDAuNHJlbSAwO1xufVxuLm50bS1yb2xlcy1wZXJtaXNzaW9uX19jYXJkOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTMwMCkpO1xuICBjb250ZW50OiBcIlwiO1xuICBoZWlnaHQ6IDFweDtcbiAgbGVmdDogLTE1cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNHB4O1xuICB3aWR0aDogMTBweDtcbn1cbi5udG0tcm9sZXMtcGVybWlzc2lvbl9fY2FyZC0tZGVzY3JpcHRpb24ge1xuICBmbGV4LWdyb3c6IDE7XG59XG4ubnRtLXJvbGVzLXBlcm1pc3Npb25fX2NhcmQtLWNoZWNrYm94IHtcbiAgcGFkZGluZzogMCAwLjVyZW07XG59XG4ubnRtLXJvbGVzLXBlcm1pc3Npb25fX2NhcmQgLm5lZXRvLXVpLWNoZWNrYm94X193cmFwcGVyIC5uZWV0by11aS1jaGVja2JveF9fY29udGFpbmVyIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG4ubnRtLXJvbGVzLXBlcm1pc3Npb25fX2NhcmQgLm5lZXRvLXVpLWNoZWNrYm94X193cmFwcGVyIC5uZWV0by11aS1jaGVja2JveF9fY29udGFpbmVyIC5uZWV0by11aS1jaGVja2JveFt0eXBlPWNoZWNrYm94XTpkaXNhYmxlZCArIC5uZWV0by11aS1sYWJlbCB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5udG0tcm9sZXMtcGVybWlzc2lvbl9fc3ViLWJsb2NrcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5udG0tcm9sZXMtcGVybWlzc2lvbl9fc3ViLWJsb2Nrczo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktMzAwKSk7XG4gIHRvcDogMDtcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxNHB4KTtcbiAgbGVmdDogOHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG59XG4ubnRtLXJvbGVzLXBlcm1pc3Npb25fX3N1Yi1ibG9ja3M6ZW1wdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubnRtLXJvbGVzLXBlcm1pc3Npb24tY2F0ZWdvcnktY2FyZCB7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tbmVldG8tdWktcm91bmRlZCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTQwMCkpO1xufVxuLm50bS1yb2xlcy1wZXJtaXNzaW9uLWNhdGVnb3J5LWNhcmQgPiAubnRtLXJvbGVzLXBlcm1pc3Npb25fX2NhcmQ6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm50bS1yb2xlcy1oZWxwLXVybC13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAxcmVtIDA7XG59IiwiLm50bS1zY3JvbGxiYXIge1xuICAmX19pbm5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAyMDBweDtcbiAgfVxuXG4gICZfX291dGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwcHg7XG4gICAgbGVmdDogMHB4O1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBoZWlnaHQ6IDE1MHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG4iLCIubnRtLWVtcHR5LXN0YXRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4iLCIubnRtLW1lbWJlcnMge1xuICBvdmVyZmxvdzogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJi13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgJi1wYWdlLWxvYWRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgfVxuXG4gICYtdGFibGUge1xuICAgICZfX3dyYXBwZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgZ2FwOiAwLjc1cmVtO1xuICAgIH1cbiAgICAmX19jb2x1bW4ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDAuNXJlbTtcbiAgICB9XG4gIH1cblxuICAmLWZvcm0ge1xuICAgICZfX2hlYWRlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgfVxuXG4gICAgJl9fYm9keSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgJiA+ICogKyAqIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2Zvb3RlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZ2FwOiAwLjVyZW07XG4gICAgfVxuICB9XG59XG5cbi5udG0tbWFuYWdlLW1lbWJlcnNfX2hlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICYgPiAqICsgKiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgfVxufVxuXG4ubnRtLW1hbmFnZS1tZW1iZXJzX19hcHAtcm9sZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjVyZW0gMDtcbn1cblxuLm50bS1tYW5hZ2UtbWVtYmVycy1hcHAtcm9sZXNfX3NlbGVjdC13cmFwcGVyIHtcbiAgd2lkdGg6IDUwJTtcbiAgbWF4LXdpZHRoOiAyNTBweDtcbn1cblxuLm50bS1tYW5hZ2UtbWVtYmVycy1lZmZlY3RpdmUtYXBwLXJvbGVzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwLjI1cmVtIDA7XG59XG5cbi5udG0tbWFuYWdlLW1lbWJlcnMtZWZmZWN0aXZlLWFwcC1yb2xlc19fcm9sZS1uYW1lIHtcbiAgd2lkdGg6IDY3JTtcbiAgbWF4LXdpZHRoOiAzMDBweDtcbn1cblxuLm50bS1tZW1iZXJzLXJhZGlvLWdyb3VwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIC5uZWV0by11aS1yYWRpb19fY29udGFpbmVyLS1zdGFja2VkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICZfX2xhYmVsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XG4gIH1cblxuICAmX19pY29uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLm50bS1tZW1iZXJzLWZvcm0tcmFkaW8taXRlbSB7XG4gICZfX3dyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiA4cHggMHB4ICFpbXBvcnRhbnQ7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgJl9fbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gICZfX2Rlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktNzAwKSk7XG4gIH1cbn1cblxuLm50bS1wcm9kdWN0LXJvbGVzLXRhYmxlIHtcbiAgdGgge1xuICAgIGNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktZ3JheS03MDApKTtcbiAgICBmb250LXNpemU6IHZhcigtLW5lZXRvLXVpLXRleHQteHMpO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLW5lZXRvLXVpLWZvbnQtYm9sZCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICB0ZCxcbiAgdGgge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTMwMCkpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZzogOHB4O1xuICB9XG59XG5cbi5udG0tbWFuYWdlLW1lbWJlcnNfX2NoZWNrYm94LWFsaWduLXN0YXJ0Lm5lZXRvLXVpLWNoZWNrYm94X193cmFwcGVyIHtcbiAgLm5lZXRvLXVpLWNoZWNrYm94X19jb250YWluZXIge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG4gIC5uZWV0by11aS1jaGVja2JveFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgfVxufVxuIiwiLm50bS1yb2xlcy10YWJsZV9fd3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGNhbGMoXG4gICAgMTAwdmggLSB2YXIoLS1uZWV0by1tb2xlY3VsZXMtbWFpbi1oZWFkZXItd2l0aC1icmVhZGNydW1icy1oZWlnaHQpIC0gMjRweFxuICApO1xuICBwYWRkaW5nOiAwIDQwcHg7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLS1uZWV0by1tb2xlY3VsZXMtbWFpbi1oZWFkZXItd2l0aC1icmVhZGNydW1icy1oZWlnaHQ6IDIxNnB4O1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAtLW5lZXRvLW1vbGVjdWxlcy1tYWluLWhlYWRlci13aXRoLWJyZWFkY3J1bWJzLWhlaWdodDogMTg2cHg7XG5cbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG4ubnRtLXJvbGVzLXRhYmxlX19jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG4ubnRtLXJvbGVzLXRhYmxlX19zaWRlYmFyIHtcbiAgd2lkdGg6IHZhcigtLW50bS1yb2xlcy1zaWRlYmFyLXdpZHRoKTtcbiAgaGVpZ2h0OiBjYWxjKFxuICAgIDEwMHZoIC0gdmFyKC0tbmVldG8tbW9sZWN1bGVzLW1haW4taGVhZGVyLXdpdGgtYnJlYWRjcnVtYnMtaGVpZ2h0KSAtIDI4cHhcbiAgKTtcbiAgbWluLXdpZHRoOiB2YXIoLS1udG0tcm9sZXMtc2lkZWJhci13aWR0aCk7XG4gIGJvcmRlci10b3A6IHRoaW4gc29saWQgcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktMzAwKSk7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbi5udG0tcm9sZXMtdGFibGUtc2lkZWJhcl9fc2VhcmNoIHtcbiAgcGFkZGluZzogMjBweCAyNHB4O1xuICBoZWlnaHQ6IHZhcigtLW50bS1yb2xlcy10YWJsZS1oZWFkZXItaGVpZ2h0KTtcbiAgYm9yZGVyLWxlZnQ6IHRoaW4gc29saWQgcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktMzAwKSk7XG4gIGJvcmRlci1yaWdodDogdGhpbiBzb2xpZCByZ2IodmFyKC0tbmVldG8tdWktZ3JheS0zMDApKTtcbn1cblxuLm50bS1yb2xlcy10YWJsZS1zaWRlYmFyX19saXN0IHtcbiAgbWF4LWhlaWdodDogY2FsYyhcbiAgICAxMDB2aCAtIHZhcigtLW5lZXRvLW1vbGVjdWxlcy1tYWluLWhlYWRlci13aXRoLWJyZWFkY3J1bWJzLWhlaWdodCkgLVxuICAgICAgdmFyKC0tbnRtLXJvbGVzLXRhYmxlLWhlYWRlci1oZWlnaHQpIC1cbiAgICAgIHZhcigtLW50bS1yb2xlcy10YWJsZS1kZWZhdWx0LXNjcm9sbCkgLSAyOHB4XG4gICk7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGJvcmRlci1sZWZ0OiB0aGluIHNvbGlkIHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTMwMCkpO1xuICBib3JkZXItcmlnaHQ6IHRoaW4gc29saWQgcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktMzAwKSk7XG5cbiAgZGl2IHtcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgLm50bS1yb2xlcy10YWJsZS1zaWRlYmFyX19saXN0LWl0ZW0ge1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IHRoaW4gc29saWQgcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktMzAwKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm50bS1yb2xlcy10YWJsZS1zaWRlYmFyX19saXN0LWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEycHggMjRweDtcbiAgbWluLWhlaWdodDogdmFyKC0tbnRtLXJvbGVzLXRhYmxlLWNlbGwtaGVpZ2h0KTtcblxuICAmLm50bS1yb2xlcy10YWJsZS1zaWRlYmFyX19saXN0LWl0ZW0tLWhpZ2hsaWdodGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktcHJpbWFyeS0xMDApKTtcbiAgICBwYWRkaW5nOiAxMnB4IDI0cHg7XG4gIH1cblxuICAmOm5vdCgubnRtLXJvbGVzLXRhYmxlLXNpZGViYXJfX2xpc3QtaXRlbS0taGlnaGxpZ2h0ZWQpIHtcbiAgICBib3JkZXItYm90dG9tOiB0aGluIHNvbGlkIHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTMwMCkpO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICB9XG59XG5cbi5udG0tcm9sZXMtdGFibGVfX2NvbHVtbnMge1xuICBmbGV4LWdyb3c6IDE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci10b3A6IHRoaW4gc29saWQgcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktMzAwKSk7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICBvdmVyZmxvdzogdW5zZXQ7XG4gIH1cbn1cblxuLm50bS1yb2xlcy10YWJsZV9fY2VsbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICBoZWlnaHQ6IHZhcigtLW50bS1yb2xlcy10YWJsZS1jZWxsLWhlaWdodCk7XG4gIG1pbi1oZWlnaHQ6IHZhcigtLW50bS1yb2xlcy10YWJsZS1jZWxsLWhlaWdodCk7XG4gIHBhZGRpbmc6IDEycHggOHB4O1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIGJvcmRlci1yaWdodDogdGhpbiBzb2xpZCByZ2IodmFyKC0tbmVldG8tdWktZ3JheS0zMDApKTtcbn1cblxuLm50bS1yb2xlcy10YWJsZS1jZWxsX19jaGVja2JveC13cmFwcGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDFyZW07XG4gIHdpZHRoOiAxcmVtO1xuICBtYXJnaW46IGF1dG87XG4gIHotaW5kZXg6IDEwO1xufVxuXG4ubnRtLXJvbGVzLXRhYmxlLWNlbGxfX2NoZWNrYm94IHtcbiAgei1pbmRleDogMTA7XG59XG5cbi5udG0tcm9sZXMtdGFibGVfX2hlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgLm50bS1yb2xlcy10YWJsZV9fY2VsbCB7XG4gICAgaGVpZ2h0OiB2YXIoLS1udG0tcm9sZXMtdGFibGUtaGVhZGVyLWhlaWdodCk7XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIG92ZXJmbG93OiB1bnNldDtcbiAgfVxufVxuXG4ubnRtLXJvbGVzLXRhYmxlLWhlYWRlci1jZWxsX19jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubnRtLXJvbGVzLXRhYmxlLWhlYWRlcl9fZHJvcGRvd24ge1xuICBtYXJnaW46IDNweDtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5udG0tcm9sZXMtdGFibGUtaGVhZGVyX19yb2xlLW5hbWUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLm50bS1yb2xlcy10YWJsZV9fcm93cyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiBjYWxjKFxuICAgIDEwMHZoIC0gI3t2YXIoLS1uZWV0by1tb2xlY3VsZXMtbWFpbi1oZWFkZXItd2l0aC1icmVhZGNydW1icy1oZWlnaHQpfSAtIHZhcihcbiAgICAgICAgLS1udG0tcm9sZXMtdGFibGUtaGVhZGVyLWhlaWdodFxuICAgICAgKSAtIHZhcigtLW50bS1yb2xlcy10YWJsZS1kZWZhdWx0LXNjcm9sbCkgLSAyOHB4XG4gICk7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIEBpbmNsdWRlIHNjcm9sbGJhcnMoXG4gICAgMHB4LFxuICAgIHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTMwMCkpLFxuICAgIHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTMwMCkpXG4gICk7XG5cbiAgZGl2IHtcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgLm50bS1yb2xlcy10YWJsZV9fcm93IHtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAubnRtLXJvbGVzLXRhYmxlX19jZWxsIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHRoaW4gc29saWQgcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktMzAwKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5udG0tcm9sZXMtdGFibGVfX3JvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgLm50bS1yb2xlcy10YWJsZV9fY2VsbCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAvLyBIaWRkZW4gLSBKdXN0IGZvciBoZWlnaHQgcmVmZXJlbmNlXG4gICAgcCB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgd2lkdGg6IDM0MHB4O1xuICAgICAgbWluLXdpZHRoOiAzNDBweDtcbiAgICB9XG4gIH1cblxuICAmLm50bS1yb2xlcy10YWJsZV9fcm93LS1oaWdobGlnaHRlZCB7XG4gICAgLm50bS1yb2xlcy10YWJsZV9fY2VsbCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktcHJpbWFyeS0xMDApKTtcbiAgICB9XG4gIH1cblxuICAmOm5vdCgubnRtLXJvbGVzLXRhYmxlX19yb3ctLWhpZ2hsaWdodGVkKSB7XG4gICAgLm50bS1yb2xlcy10YWJsZV9fY2VsbCB7XG4gICAgICBib3JkZXItYm90dG9tOiB0aGluIHNvbGlkIHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTMwMCkpO1xuICAgIH1cbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgLm50bS1yb2xlcy10YWJsZV9fY2VsbCB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4ubnRtLXJvbGVzLXRhYmxlLXNpZGViYXJfX2Ryb3AtZG93bi1idXR0b24ge1xuICBjb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktNjAwKSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm50bS1yb2xlcy1tb2RhbCB7XG4gICZfX2JvZHkgPiAqICsgKiB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgfVxuXG4gICZfX2Zvb3RlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDAuNXJlbTtcbiAgfVxufVxuXG4ubnRtLXJvbGVzLXBhbmUge1xuICAmX19ib2R5IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbiAgICAmLXdyYXBwZXIgPiAqICsgKiB7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIH1cblxuICAgICYgPiAqICsgKiB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgfVxuICB9XG5cbiAgJl9fZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMC41cmVtO1xuICB9XG59XG5cbi5udG0tcm9sZXMtcGVybWlzc2lvbiB7XG4gICZfX2hlYWRpbmcge1xuICAgIGNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktZ3JheS01MDApKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgJl9fY2FyZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLXdoaXRlKSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMC43NXJlbTtcbiAgICBwYWRkaW5nOiAwLjRyZW0gMDtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTMwMCkpO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgbGVmdDogLTE1cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDE0cHg7XG4gICAgICB3aWR0aDogMTBweDtcbiAgICB9XG5cbiAgICAmLS1kZXNjcmlwdGlvbiB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgfVxuXG4gICAgJi0tY2hlY2tib3gge1xuICAgICAgcGFkZGluZzogMCAwLjVyZW07XG4gICAgfVxuXG4gICAgLm5lZXRvLXVpLWNoZWNrYm94X193cmFwcGVyIC5uZWV0by11aS1jaGVja2JveF9fY29udGFpbmVyIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgICAubmVldG8tdWktY2hlY2tib3hbdHlwZT1cImNoZWNrYm94XCJdOmRpc2FibGVkICsgLm5lZXRvLXVpLWxhYmVsIHtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3N1Yi1ibG9ja3Mge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktZ3JheS0zMDApKTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDE0cHgpO1xuICAgICAgbGVmdDogOHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDFweDtcbiAgICB9XG5cbiAgICAmOmVtcHR5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5udG0tcm9sZXMtcGVybWlzc2lvbi1jYXRlZ29yeS1jYXJkIHtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1uZWV0by11aS1yb3VuZGVkKTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktNDAwKSk7XG4gICYgPiAubnRtLXJvbGVzLXBlcm1pc3Npb25fX2NhcmQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5udG0tcm9sZXMtaGVscC11cmwtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMXJlbSAwO1xufVxuIiwiQG1peGluIHNjcm9sbGJhcnMoXG4gICRzaXplLFxuICAkZm9yZWdyb3VuZC1jb2xvcjogJG5lZXRvLXVpLWdyYXktMzAwLFxuICAkYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRcbikge1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIHdpZHRoOiAkc2l6ZTtcbiAgICBoZWlnaHQ6ICRzaXplO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6ICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gIH1cblxuICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxufVxuIl19 */";
9510
+ var css = ":root{--ntm-roles-table-default-scroll:15px;--ntm-roles-table-cell-height:48px;--ntm-roles-sidebar-width:300px;--ntm-roles-table-header-height:72px}.ntm-scrollbar__inner{height:200px;width:100%}.ntm-scrollbar__outer{height:150px;left:0;overflow:hidden;position:absolute;top:0;visibility:hidden;width:200px}.ntm-empty-state{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.ntm-members{overflow:auto;width:100%}.ntm-members-wrapper{display:flex}.ntm-members-page-loader{height:100vh;width:100%}.ntm-members-table__wrapper{display:flex;gap:.75rem;justify-content:space-between;width:100%}.ntm-members-table__column{align-items:center;display:flex;gap:.5rem}.ntm-members-form__header{margin-bottom:.5rem}.ntm-members-form__body{padding-bottom:1rem;width:100%}.ntm-members-form__body>*+*{margin-top:1.5rem}.ntm-members-form__footer{display:flex;gap:.5rem}.ntm-manage-members__header{align-items:flex-start;display:flex}.ntm-manage-members__header>*+*{margin-left:.5rem}.ntm-manage-members__app-roles{align-items:center;display:flex;justify-content:space-between;padding:.5rem 0;width:100%}.ntm-manage-members-app-roles__select-wrapper{max-width:250px;width:50%}.ntm-manage-members-effective-app-roles{align-items:center;display:flex;justify-content:space-between;padding:.25rem 0}.ntm-manage-members-effective-app-roles__role-name{max-width:300px;width:67%}.ntm-members-radio-group,.ntm-members-radio-group .neeto-ui-radio__container--stacked{width:100%}.ntm-members-radio-group__label{padding-right:4px}.ntm-members-radio-group__icon{cursor:pointer}.ntm-members-form-radio-item__wrapper{cursor:pointer;padding:8px 0!important;width:100%}.ntm-members-form-radio-item__wrapper:first-child{padding-top:0!important}.ntm-members-form-radio-item__label{margin-bottom:0!important}.ntm-members-form-radio-item__description,.ntm-product-roles-table th{color:rgb(var(--neeto-ui-gray-700))}.ntm-product-roles-table th{font-size:var(--neeto-ui-text-xs);font-weight:var(--neeto-ui-font-bold);text-transform:uppercase;vertical-align:middle}.ntm-product-roles-table td,.ntm-product-roles-table th{border:1px solid rgb(var(--neeto-ui-gray-300));padding:8px;text-align:left}.ntm-manage-members__checkbox-align-start.neeto-ui-checkbox__wrapper .neeto-ui-checkbox__container{align-items:flex-start}.ntm-manage-members__checkbox-align-start.neeto-ui-checkbox__wrapper .neeto-ui-checkbox[type=checkbox]{margin-top:4px}.ntm-roles-table__wrapper{height:calc(100vh - var(--neeto-molecules-main-header-with-breadcrumbs-height) - 24px);padding:0 40px;width:100%}@media screen and (max-width:1024px){.ntm-roles-table__wrapper{--neeto-molecules-main-header-with-breadcrumbs-height:216px}}@media screen and (max-width:768px){.ntm-roles-table__wrapper{--neeto-molecules-main-header-with-breadcrumbs-height:186px;overflow:hidden;padding:0 20px}}.ntm-roles-table__container{display:flex;height:100%}@media screen and (max-width:768px){.ntm-roles-table__container{height:auto;overflow-y:auto}}.ntm-roles-table__sidebar{border-top:thin solid rgb(var(--neeto-ui-gray-300));height:calc(100vh - var(--neeto-molecules-main-header-with-breadcrumbs-height) - 28px);min-width:300px;min-width:var(--ntm-roles-sidebar-width);width:300px;width:var(--ntm-roles-sidebar-width)}@media screen and (max-width:768px){.ntm-roles-table__sidebar{height:100%}}.ntm-roles-table-sidebar__search{height:72px;height:var(--ntm-roles-table-header-height);padding:20px 24px}.ntm-roles-table-sidebar__list,.ntm-roles-table-sidebar__search{border-left:thin solid rgb(var(--neeto-ui-gray-300));border-right:thin solid rgb(var(--neeto-ui-gray-300))}.ntm-roles-table-sidebar__list{max-height:calc(100vh - var(--neeto-molecules-main-header-with-breadcrumbs-height) - 115px);max-height:calc(100vh - var(--neeto-molecules-main-header-with-breadcrumbs-height) - var(--ntm-roles-table-header-height) - var(--ntm-roles-table-default-scroll) - 28px);overflow:auto;white-space:nowrap}.ntm-roles-table-sidebar__list,.ntm-roles-table-sidebar__list div:last-child .ntm-roles-table-sidebar__list-item:last-child{border-bottom:thin solid rgb(var(--neeto-ui-gray-300))}.ntm-roles-table-sidebar__list-item{display:flex;flex-direction:column;justify-content:center;min-height:48px;min-height:var(--ntm-roles-table-cell-height);position:relative}.ntm-roles-table-sidebar__list-item:after{background-color:rgb(var(--neeto-ui-gray-300));content:\"\";height:1px;left:-15px;position:absolute;top:23px;width:10px}.ntm-roles-table-sidebar__list-item.ntm-roles-table-sidebar__list-item--highlighted{background-color:rgb(var(--neeto-ui-primary-100));flex-direction:row;justify-content:space-between;padding:12px 24px}.ntm-roles-table-sidebar__list-item:last-child{border-bottom:none}.ntm-roles-table__columns{border-top:thin solid rgb(var(--neeto-ui-gray-300));flex-grow:1;overflow:hidden}@media screen and (max-width:768px){.ntm-roles-table__columns{overflow:visible;overflow:initial}}.ntm-roles-table__cell{align-items:center;border-right:thin solid rgb(var(--neeto-ui-gray-300));display:flex;height:48px;height:var(--ntm-roles-table-cell-height);justify-content:center;min-height:48px;min-height:var(--ntm-roles-table-cell-height);min-width:200px;padding:12px 8px;width:100%}.ntm-roles-table-cell__checkbox-wrapper{height:1rem;margin:auto;position:absolute;width:1rem;z-index:10}.ntm-roles-table-cell__checkbox{z-index:10}.ntm-roles-table__header{align-items:center;display:flex;overflow-x:auto}.ntm-roles-table__header .ntm-roles-table__cell{height:72px;height:var(--ntm-roles-table-header-height)}@media screen and (max-width:768px){.ntm-roles-table__header{overflow:visible;overflow:initial}}.ntm-roles-table-header-cell__container{align-items:center;display:flex;justify-content:space-between;overflow:hidden;width:100%}.ntm-roles-table-header__dropdown{flex-shrink:0;margin:3px}.ntm-roles-table-header__role-name{overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.ntm-roles-table__rows{max-height:calc(100vh - var(--neeto-molecules-main-header-with-breadcrumbs-height) - 115px);max-height:calc(100vh - var(--neeto-molecules-main-header-with-breadcrumbs-height) - var(--ntm-roles-table-header-height) - var(--ntm-roles-table-default-scroll) - 28px);overflow-y:auto;scrollbar-width:none;width:100%}.ntm-roles-table__rows::-webkit-scrollbar{height:0;width:0}.ntm-roles-table__rows::-webkit-scrollbar-thumb{background:rgb(var(--neeto-ui-gray-300));border-radius:50px}.ntm-roles-table__rows::-webkit-scrollbar-thumb:hover{border-radius:50px}.ntm-roles-table__rows::-webkit-scrollbar-track{background:rgb(var(--neeto-ui-gray-300))}.ntm-roles-table__rows div:last-child .ntm-roles-table__row:last-child .ntm-roles-table__cell{border-bottom:thin solid rgb(var(--neeto-ui-gray-300))}.ntm-roles-table__row{align-items:center;display:flex}.ntm-roles-table__row .ntm-roles-table__cell{overflow:hidden;position:relative}.ntm-roles-table__row .ntm-roles-table__cell p{min-width:340px;opacity:0;width:340px}.ntm-roles-table__row.ntm-roles-table__row--highlighted .ntm-roles-table__cell{background-color:rgb(var(--neeto-ui-primary-100))}.ntm-roles-table__row:not(.ntm-roles-table__row--highlighted) .ntm-roles-table__cell{border-bottom:thin solid rgb(var(--neeto-ui-gray-300))}.ntm-roles-table__row:last-child .ntm-roles-table__cell{border-bottom:none}.ntm-roles-table-sidebar__drop-down-button{color:rgb(var(--neeto-ui-gray-600));cursor:pointer}.ntm-roles-modal__body>*+*{margin-top:1rem}.ntm-roles-modal__footer{display:flex;gap:.5rem}.ntm-roles-pane__body{margin-bottom:1.5rem;width:100%}.ntm-roles-pane__body-wrapper>*+*{margin-top:1rem}.ntm-roles-pane__body>*+*{margin-top:1.5rem}.ntm-roles-pane__footer{display:flex;gap:.5rem}.ntm-roles-permission__heading{color:rgb(var(--neeto-ui-gray-500));text-transform:uppercase}.ntm-roles-permission__card{background-color:rgb(var(--neeto-ui-white));display:flex;flex-direction:column;gap:.75rem;padding:.4rem 0;position:relative}.ntm-roles-permission__card:after{background-color:rgb(var(--neeto-ui-gray-300));content:\"\";height:1px;left:-15px;position:absolute;top:14px;width:10px}.ntm-roles-permission__card--description{flex-grow:1}.ntm-roles-permission__card--checkbox{padding:0 .5rem}.ntm-roles-permission__card .neeto-ui-checkbox__wrapper .neeto-ui-checkbox__container{align-items:flex-start}.ntm-roles-permission__card .neeto-ui-checkbox__wrapper .neeto-ui-checkbox__container .neeto-ui-checkbox[type=checkbox]:disabled+.neeto-ui-label{cursor:not-allowed;opacity:.5}.ntm-roles-permission__sub-blocks{position:relative}.ntm-roles-permission__sub-blocks:before{background-color:rgb(var(--neeto-ui-gray-300));content:\"\";height:calc(100% - 14px);left:8px;position:absolute;top:0;width:1px}.ntm-roles-permission__sub-blocks:empty{display:none}.ntm-roles-permission-category-card{border:1px solid rgb(var(--neeto-ui-gray-400));border-radius:var(--neeto-ui-rounded);padding:10px 20px}.ntm-roles-permission-category-card>.ntm-roles-permission__card:after{display:none}.ntm-roles-help-url-wrapper{align-items:center;display:flex;justify-content:center;padding:1rem 0;width:100%}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9hYnN0cmFjdHMvX3Jvb3Quc2NzcyIsImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9hcHBsaWNhdGlvbi5zY3NzIiwiYXBwL2phdmFzY3JpcHQvc3JjL3N0eWxlc2hlZXRzL2Jhc2UvX2Jhc2Uuc2NzcyIsImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9jb21wb25lbnRzL19lbXB0eS1zdGF0ZS5zY3NzIiwiYXBwL2phdmFzY3JpcHQvc3JjL3N0eWxlc2hlZXRzL3BhZ2VzL19tZW1iZXJzLnNjc3MiLCJhcHAvamF2YXNjcmlwdC9zcmMvc3R5bGVzaGVldHMvcGFnZXMvX3JvbGVzLnNjc3MiLCJhcHAvamF2YXNjcmlwdC9zcmMvc3R5bGVzaGVldHMvYWJzdHJhY3RzL19taXhpbnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUNFLHFDQUFBLENBQ0Esa0NBQUEsQ0FDQSwrQkFBQSxDQUNBLG9DQ0NGLENDSkUsc0JBRUUsWUFBQSxDQURBLFVEUUosQ0NKRSxzQkFLRSxZQUFBLENBRkEsTUFBQSxDQUdBLGVBQUEsQ0FMQSxpQkFBQSxDQUNBLEtBQUEsQ0FLQSxpQkFBQSxDQUhBLFdEU0osQ0VuQkEsaUJBSUUsa0JBQUEsQ0FEQSxZQUFBLENBREEsV0FBQSxDQUdBLHNCQUFBLENBSkEsVUYwQkYsQ0czQkEsYUFDRSxhQUFBLENBQ0EsVUg4QkYsQ0c1QkUscUJBQ0UsWUg4QkosQ0czQkUseUJBRUUsWUFBQSxDQURBLFVIOEJKLENHekJJLDRCQUVFLFlBQUEsQ0FFQSxVQUFBLENBREEsNkJBQUEsQ0FGQSxVSDhCTixDR3pCSSwyQkFFRSxrQkFBQSxDQURBLFlBQUEsQ0FFQSxTSDJCTixDR3RCSSwwQkFDRSxtQkh3Qk4sQ0dyQkksd0JBRUUsbUJBQUEsQ0FEQSxVSHdCTixDR3RCTSw0QkFDRSxpQkh3QlIsQ0dwQkksMEJBQ0UsWUFBQSxDQUNBLFNIc0JOLENHakJBLDRC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LW50bS1yb2xlcy10YWJsZS1kZWZhdWx0LXNjcm9sbDogMTVweDtcbiAgLS1udG0tcm9sZXMtdGFibGUtY2VsbC1oZWlnaHQ6IDQ4cHg7XG4gIC0tbnRtLXJvbGVzLXNpZGViYXItd2lkdGg6IDMwMHB4O1xuICAtLW50bS1yb2xlcy10YWJsZS1oZWFkZXItaGVpZ2h0OiA3MnB4O1xufVxuIiwiOnJvb3Qge1xuICAtLW50bS1yb2xlcy10YWJsZS1kZWZhdWx0LXNjcm9sbDogMTVweDtcbiAgLS1udG0tcm9sZXMtdGFibGUtY2VsbC1oZWlnaHQ6IDQ4cHg7XG4gIC0tbnRtLXJvbGVzLXNpZGViYXItd2lkdGg6IDMwMHB4O1xuICAtLW50bS1yb2xlcy10YWJsZS1oZWFkZXItaGVpZ2h0OiA3MnB4O1xufVxuXG4ubnRtLXNjcm9sbGJhcl9faW5uZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyMDBweDtcbn1cbi5udG0tc2Nyb2xsYmFyX19vdXRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwcHg7XG4gIGxlZnQ6IDBweDtcbiAgd2lkdGg6IDIwMHB4O1xuICBoZWlnaHQ6IDE1MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5udG0tZW1wdHktc3RhdGUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLm50bS1tZW1iZXJzIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xufVxuLm50bS1tZW1iZXJzLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLm50bS1tZW1iZXJzLXBhZ2UtbG9hZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG59XG4ubnRtLW1lbWJlcnMtdGFibGVfX3dyYXBwZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBnYXA6IDAuNzVyZW07XG59XG4ubnRtLW1lbWJlcnMtdGFibGVfX2NvbHVtbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC41cmVtO1xufVxuLm50bS1tZW1iZXJzLWZvcm1fX2hlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cbi5udG0tbWVtYmVycy1mb3JtX19ib2R5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtO1xufVxuLm50bS1tZW1iZXJzLWZvcm1fX2JvZHkgPiAqICsgKiB7XG4gIG1hcmdpbi10b3A6IDEuNXJlbTtcbn1cbi5udG0tbWVtYmVycy1mb3JtX19mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDAuNXJlbTtcbn1cblxuLm50bS1tYW5hZ2UtbWVtYmVyc19faGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG4ubnRtLW1hbmFnZS1tZW1iZXJzX19oZWFkZXIgPiAqICsgKiB7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG59XG5cbi5udG0tbWFuYWdlLW1lbWJlcnNfX2FwcC1yb2xlcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAuNXJlbSAwO1xufVxuXG4ubnRtLW1hbmFnZS1tZW1iZXJzLWFwcC1yb2xlc19fc2VsZWN0LXdyYXBwZXIge1xuICB3aWR0aDogNTAlO1xuICBtYXgtd2lkdGg6IDI1MHB4O1xufVxuXG4ubnRtLW1hbmFnZS1tZW1iZXJzLWVmZmVjdGl2ZS1hcHAtcm9sZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDAuMjVyZW0gMDtcbn1cblxuLm50bS1tYW5hZ2UtbWVtYmVycy1lZmZlY3RpdmUtYXBwLXJvbGVzX19yb2xlLW5hbWUge1xuICB3aWR0aDogNjclO1xuICBtYXgtd2lkdGg6IDMwMHB4O1xufVxuXG4ubnRtLW1lbWJlcnMtcmFkaW8tZ3JvdXAge1xuICB3aWR0aDogMTAwJTtcbn1cbi5udG0tbWVtYmVycy1yYWRpby1ncm91cCAubmVldG8tdWktcmFkaW9fX2NvbnRhaW5lci0tc3RhY2tlZCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLm50bS1tZW1iZXJzLXJhZGlvLWdyb3VwX19sYWJlbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDRweDtcbn1cbi5udG0tbWVtYmVycy1yYWRpby1ncm91cF9faWNvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm50bS1tZW1iZXJzLWZvcm0tcmFkaW8taXRlbV9fd3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IDhweCAwcHggIWltcG9ydGFudDtcbn1cbi5udG0tbWVtYmVycy1mb3JtLXJhZGlvLWl0ZW1fX3dyYXBwZXI6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG59XG4ubnRtLW1lbWJlcnMtZm9ybS1yYWRpby1pdGVtX19sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cbi5udG0tbWVtYmVycy1mb3JtLXJhZGlvLWl0ZW1fX2Rlc2NyaXB0aW9uIHtcbiAgY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTcwMCkpO1xufVxuXG4ubnRtLXByb2R1Y3Qtcm9sZXMtdGFibGUgdGgge1xuICBjb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktNzAwKSk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbmVldG8tdWktdGV4dC14cyk7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1uZWV0by11aS1mb250LWJvbGQpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLm50bS1wcm9kdWN0LXJvbGVzLXRhYmxlIHRkLFxuLm50bS1wcm9kdWN0LXJvbGVzLXRhYmxlIHRoIHtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktMzAwKSk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmc6IDhweDtcbn1cblxuLm50bS1tYW5hZ2UtbWVtYmVyc19fY2hlY2tib3gtYWxpZ24tc3RhcnQubmVldG8tdWktY2hlY2tib3hfX3dyYXBwZXIgLm5lZXRvLXVpLWNoZWNrYm94X19jb250YWluZXIge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cbi5udG0tbWFuYWdlLW1lbWJlcnNfX2NoZWNrYm94LWFsaWduLXN0YXJ0Lm5lZXRvLXVpLWNoZWNrYm94X193cmFwcGVyIC5uZWV0by11aS1jaGVja2JveFt0eXBlPWNoZWNrYm94XSB7XG4gIG1hcmdpbi10b3A6IDRweDtcbn1cblxuLm50bS1yb2xlcy10YWJsZV9fd3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1uZWV0by1tb2xlY3VsZXMtbWFpbi1oZWFkZXItd2l0aC1icmVhZGNydW1icy1oZWlnaHQpIC0gMjRweCk7XG4gIHBhZGRpbmc6IDAgNDBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAubnRtLXJvbGVzLXRhYmxlX193cmFwcGVyIHtcbiAgICAtLW5lZXRvLW1vbGVjdWxlcy1tYWluLWhlYWRlci13aXRoLWJyZWFkY3J1bWJzLWhlaWdodDogMjE2cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5udG0tcm9sZXMtdGFibGVfX3dyYXBwZXIge1xuICAgIC0tbmVldG8tbW9sZWN1bGVzLW1haW4taGVhZGVyLXdpdGgtYnJlYWRjcnVtYnMtaGVpZ2h0OiAxODZweDtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG4ubnRtLXJvbGVzLXRhYmxlX19jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDEwMCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAubnRtLXJvbGVzLXRhYmxlX19jb250YWluZXIge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi5udG0tcm9sZXMtdGFibGVfX3NpZGViYXIge1xuICB3aWR0aDogdmFyKC0tbnRtLXJvbGVzLXNpZGViYXItd2lkdGgpO1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1uZWV0by1tb2xlY3VsZXMtbWFpbi1oZWFkZXItd2l0aC1icmVhZGNydW1icy1oZWlnaHQpIC0gMjhweCk7XG4gIG1pbi13aWR0aDogdmFyKC0tbnRtLXJvbGVzLXNpZGViYXItd2lkdGgpO1xuICBib3JkZXItdG9wOiB0aGluIHNvbGlkIHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTMwMCkpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLm50bS1yb2xlcy10YWJsZV9fc2lkZWJhciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbi5udG0tcm9sZXMtdGFibGUtc2lkZWJhcl9fc2VhcmNoIHtcbiAgcGFkZGluZzogMjBweCAyNHB4O1xuICBoZWlnaHQ6IHZhcigtLW50bS1yb2xlcy10YWJsZS1oZWFkZXItaGVpZ2h0KTtcbiAgYm9yZGVyLWxlZnQ6IHRoaW4gc29saWQgcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktMzAwKSk7XG4gIGJvcmRlci1yaWdodDogdGhpbiBzb2xpZCByZ2IodmFyKC0tbmVldG8tdWktZ3JheS0zMDApKTtcbn1cblxuLm50bS1yb2xlcy10YWJsZS1zaWRlYmFyX19saXN0IHtcbiAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLW5lZXRvLW1vbGVjdWxlcy1tYWluLWhlYWRlci13aXRoLWJyZWFkY3J1bWJzLWhlaWdodCkgLSB2YXIoLS1udG0tcm9sZXMtdGFibGUtaGVhZGVyLWhlaWdodCkgLSB2YXIoLS1udG0tcm9sZXMtdGFibGUtZGVmYXVsdC1zY3JvbGwpIC0gMjhweCk7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBib3JkZXItbGVmdDogdGhpbiBzb2xpZCByZ2IodmFyKC0tbmVldG8tdWktZ3JheS0zMDApKTtcbiAgYm9yZGVyLXJpZ2h0OiB0aGluIHNvbGlkIHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTMwMCkpO1xuICBib3JkZXItYm90dG9tOiB0aGluIHNvbGlkIHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTMwMCkpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLm50bS1yb2xlcy10YWJsZS1zaWRlYmFyX19saXN0IGRpdjpsYXN0LWNoaWxkIC5udG0tcm9sZXMtdGFibGUtc2lkZWJhcl9fbGlzdC1pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiB0aGluIHNvbGlkIHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTMwMCkpO1xufVxuXG4ubnRtLXJvbGVzLXRhYmxlLXNpZGViYXJfX2xpc3QtaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtaW4taGVpZ2h0OiB2YXIoLS1udG0tcm9sZXMtdGFibGUtY2VsbC1oZWlnaHQpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ubnRtLXJvbGVzLXRhYmxlLXNpZGViYXJfX2xpc3QtaXRlbTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktZ3JheS0zMDApKTtcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiAxcHg7XG4gIGxlZnQ6IC0xNXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjNweDtcbiAgd2lkdGg6IDEwcHg7XG59XG4ubnRtLXJvbGVzLXRhYmxlLXNpZGViYXJfX2xpc3QtaXRlbS5udG0tcm9sZXMtdGFibGUtc2lkZWJhcl9fbGlzdC1pdGVtLS1oaWdobGlnaHRlZCB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLXByaW1hcnktMTAwKSk7XG4gIHBhZGRpbmc6IDEycHggMjRweDtcbn1cbi5udG0tcm9sZXMtdGFibGUtc2lkZWJhcl9fbGlzdC1pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4ubnRtLXJvbGVzLXRhYmxlX19jb2x1bW5zIHtcbiAgZmxleC1ncm93OiAxO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItdG9wOiB0aGluIHNvbGlkIHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTMwMCkpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLm50bS1yb2xlcy10YWJsZV9fY29sdW1ucyB7XG4gICAgb3ZlcmZsb3c6IHVuc2V0O1xuICB9XG59XG5cbi5udG0tcm9sZXMtdGFibGVfX2NlbGwge1xuICB3aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgaGVpZ2h0OiB2YXIoLS1udG0tcm9sZXMtdGFibGUtY2VsbC1oZWlnaHQpO1xuICBtaW4taGVpZ2h0OiB2YXIoLS1udG0tcm9sZXMtdGFibGUtY2VsbC1oZWlnaHQpO1xuICBwYWRkaW5nOiAxMnB4IDhweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1yaWdodDogdGhpbiBzb2xpZCByZ2IodmFyKC0tbmVldG8tdWktZ3JheS0zMDApKTtcbn1cblxuLm50bS1yb2xlcy10YWJsZS1jZWxsX19jaGVja2JveC13cmFwcGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDFyZW07XG4gIHdpZHRoOiAxcmVtO1xuICBtYXJnaW46IGF1dG87XG4gIHotaW5kZXg6IDEwO1xufVxuXG4ubnRtLXJvbGVzLXRhYmxlLWNlbGxfX2NoZWNrYm94IHtcbiAgei1pbmRleDogMTA7XG59XG5cbi5udG0tcm9sZXMtdGFibGVfX2hlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG4ubnRtLXJvbGVzLXRhYmxlX19oZWFkZXIgLm50bS1yb2xlcy10YWJsZV9fY2VsbCB7XG4gIGhlaWdodDogdmFyKC0tbnRtLXJvbGVzLXRhYmxlLWhlYWRlci1oZWlnaHQpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLm50bS1yb2xlcy10YWJsZV9faGVhZGVyIHtcbiAgICBvdmVyZmxvdzogdW5zZXQ7XG4gIH1cbn1cblxuLm50bS1yb2xlcy10YWJsZS1oZWFkZXItY2VsbF9fY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm50bS1yb2xlcy10YWJsZS1oZWFkZXJfX2Ryb3Bkb3duIHtcbiAgbWFyZ2luOiAzcHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ubnRtLXJvbGVzLXRhYmxlLWhlYWRlcl9fcm9sZS1uYW1lIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5udG0tcm9sZXMtdGFibGVfX3Jvd3Mge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLW5lZXRvLW1vbGVjdWxlcy1tYWluLWhlYWRlci13aXRoLWJyZWFkY3J1bWJzLWhlaWdodCkgLSB2YXIoLS1udG0tcm9sZXMtdGFibGUtaGVhZGVyLWhlaWdodCkgLSB2YXIoLS1udG0tcm9sZXMtdGFibGUtZGVmYXVsdC1zY3JvbGwpIC0gMjhweCk7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbn1cbi5udG0tcm9sZXMtdGFibGVfX3Jvd3M6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgd2lkdGg6IDBweDtcbiAgaGVpZ2h0OiAwcHg7XG59XG4ubnRtLXJvbGVzLXRhYmxlX19yb3dzOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQ6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTMwMCkpO1xuICBib3JkZXItcmFkaXVzOiA1MHB4O1xufVxuLm50bS1yb2xlcy10YWJsZV9fcm93czo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICBib3JkZXItcmFkaXVzOiA1MHB4O1xufVxuLm50bS1yb2xlcy10YWJsZV9fcm93czo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICBiYWNrZ3JvdW5kOiByZ2IodmFyKC0tbmVldG8tdWktZ3JheS0zMDApKTtcbn1cbi5udG0tcm9sZXMtdGFibGVfX3Jvd3MgZGl2Omxhc3QtY2hpbGQgLm50bS1yb2xlcy10YWJsZV9fcm93Omxhc3QtY2hpbGQgLm50bS1yb2xlcy10YWJsZV9fY2VsbCB7XG4gIGJvcmRlci1ib3R0b206IHRoaW4gc29saWQgcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktMzAwKSk7XG59XG5cbi5udG0tcm9sZXMtdGFibGVfX3JvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4ubnRtLXJvbGVzLXRhYmxlX19yb3cgLm50bS1yb2xlcy10YWJsZV9fY2VsbCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5udG0tcm9sZXMtdGFibGVfX3JvdyAubnRtLXJvbGVzLXRhYmxlX19jZWxsIHAge1xuICBvcGFjaXR5OiAwO1xuICB3aWR0aDogMzQwcHg7XG4gIG1pbi13aWR0aDogMzQwcHg7XG59XG4ubnRtLXJvbGVzLXRhYmxlX19yb3cubnRtLXJvbGVzLXRhYmxlX19yb3ctLWhpZ2hsaWdodGVkIC5udG0tcm9sZXMtdGFibGVfX2NlbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktcHJpbWFyeS0xMDApKTtcbn1cbi5udG0tcm9sZXMtdGFibGVfX3Jvdzpub3QoLm50bS1yb2xlcy10YWJsZV9fcm93LS1oaWdobGlnaHRlZCkgLm50bS1yb2xlcy10YWJsZV9fY2VsbCB7XG4gIGJvcmRlci1ib3R0b206IHRoaW4gc29saWQgcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktMzAwKSk7XG59XG4ubnRtLXJvbGVzLXRhYmxlX19yb3c6bGFzdC1jaGlsZCAubnRtLXJvbGVzLXRhYmxlX19jZWxsIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLm50bS1yb2xlcy10YWJsZS1zaWRlYmFyX19kcm9wLWRvd24tYnV0dG9uIHtcbiAgY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTYwMCkpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5udG0tcm9sZXMtbW9kYWxfX2JvZHkgPiAqICsgKiB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG59XG4ubnRtLXJvbGVzLW1vZGFsX19mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDAuNXJlbTtcbn1cblxuLm50bS1yb2xlcy1wYW5lX19ib2R5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cbi5udG0tcm9sZXMtcGFuZV9fYm9keS13cmFwcGVyID4gKiArICoge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuLm50bS1yb2xlcy1wYW5lX19ib2R5ID4gKiArICoge1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG59XG4ubnRtLXJvbGVzLXBhbmVfX2Zvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMC41cmVtO1xufVxuXG4ubnRtLXJvbGVzLXBlcm1pc3Npb25fX2hlYWRpbmcge1xuICBjb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktNTAwKSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4ubnRtLXJvbGVzLXBlcm1pc3Npb25fX2NhcmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktd2hpdGUpKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDAuNzVyZW07XG4gIHBhZGRpbmc6IDAuNHJlbSAwO1xufVxuLm50bS1yb2xlcy1wZXJtaXNzaW9uX19jYXJkOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTMwMCkpO1xuICBjb250ZW50OiBcIlwiO1xuICBoZWlnaHQ6IDFweDtcbiAgbGVmdDogLTE1cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNHB4O1xuICB3aWR0aDogMTBweDtcbn1cbi5udG0tcm9sZXMtcGVybWlzc2lvbl9fY2FyZC0tZGVzY3JpcHRpb24ge1xuICBmbGV4LWdyb3c6IDE7XG59XG4ubnRtLXJvbGVzLXBlcm1pc3Npb25fX2NhcmQtLWNoZWNrYm94IHtcbiAgcGFkZGluZzogMCAwLjVyZW07XG59XG4ubnRtLXJvbGVzLXBlcm1pc3Npb25fX2NhcmQgLm5lZXRvLXVpLWNoZWNrYm94X193cmFwcGVyIC5uZWV0by11aS1jaGVja2JveF9fY29udGFpbmVyIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG4ubnRtLXJvbGVzLXBlcm1pc3Npb25fX2NhcmQgLm5lZXRvLXVpLWNoZWNrYm94X193cmFwcGVyIC5uZWV0by11aS1jaGVja2JveF9fY29udGFpbmVyIC5uZWV0by11aS1jaGVja2JveFt0eXBlPWNoZWNrYm94XTpkaXNhYmxlZCArIC5uZWV0by11aS1sYWJlbCB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5udG0tcm9sZXMtcGVybWlzc2lvbl9fc3ViLWJsb2NrcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5udG0tcm9sZXMtcGVybWlzc2lvbl9fc3ViLWJsb2Nrczo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktMzAwKSk7XG4gIHRvcDogMDtcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxNHB4KTtcbiAgbGVmdDogOHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG59XG4ubnRtLXJvbGVzLXBlcm1pc3Npb25fX3N1Yi1ibG9ja3M6ZW1wdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubnRtLXJvbGVzLXBlcm1pc3Npb24tY2F0ZWdvcnktY2FyZCB7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tbmVldG8tdWktcm91bmRlZCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTQwMCkpO1xufVxuLm50bS1yb2xlcy1wZXJtaXNzaW9uLWNhdGVnb3J5LWNhcmQgPiAubnRtLXJvbGVzLXBlcm1pc3Npb25fX2NhcmQ6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm50bS1yb2xlcy1oZWxwLXVybC13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAxcmVtIDA7XG59IiwiLm50bS1zY3JvbGxiYXIge1xuICAmX19pbm5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAyMDBweDtcbiAgfVxuXG4gICZfX291dGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwcHg7XG4gICAgbGVmdDogMHB4O1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBoZWlnaHQ6IDE1MHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG4iLCIubnRtLWVtcHR5LXN0YXRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4iLCIubnRtLW1lbWJlcnMge1xuICBvdmVyZmxvdzogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJi13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgJi1wYWdlLWxvYWRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgfVxuXG4gICYtdGFibGUge1xuICAgICZfX3dyYXBwZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgZ2FwOiAwLjc1cmVtO1xuICAgIH1cbiAgICAmX19jb2x1bW4ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDAuNXJlbTtcbiAgICB9XG4gIH1cblxuICAmLWZvcm0ge1xuICAgICZfX2hlYWRlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgfVxuXG4gICAgJl9fYm9keSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgJiA+ICogKyAqIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2Zvb3RlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZ2FwOiAwLjVyZW07XG4gICAgfVxuICB9XG59XG5cbi5udG0tbWFuYWdlLW1lbWJlcnNfX2hlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICYgPiAqICsgKiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgfVxufVxuXG4ubnRtLW1hbmFnZS1tZW1iZXJzX19hcHAtcm9sZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjVyZW0gMDtcbn1cblxuLm50bS1tYW5hZ2UtbWVtYmVycy1hcHAtcm9sZXNfX3NlbGVjdC13cmFwcGVyIHtcbiAgd2lkdGg6IDUwJTtcbiAgbWF4LXdpZHRoOiAyNTBweDtcbn1cblxuLm50bS1tYW5hZ2UtbWVtYmVycy1lZmZlY3RpdmUtYXBwLXJvbGVzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwLjI1cmVtIDA7XG59XG5cbi5udG0tbWFuYWdlLW1lbWJlcnMtZWZmZWN0aXZlLWFwcC1yb2xlc19fcm9sZS1uYW1lIHtcbiAgd2lkdGg6IDY3JTtcbiAgbWF4LXdpZHRoOiAzMDBweDtcbn1cblxuLm50bS1tZW1iZXJzLXJhZGlvLWdyb3VwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIC5uZWV0by11aS1yYWRpb19fY29udGFpbmVyLS1zdGFja2VkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICZfX2xhYmVsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XG4gIH1cblxuICAmX19pY29uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLm50bS1tZW1iZXJzLWZvcm0tcmFkaW8taXRlbSB7XG4gICZfX3dyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiA4cHggMHB4ICFpbXBvcnRhbnQ7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgJl9fbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gICZfX2Rlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktNzAwKSk7XG4gIH1cbn1cblxuLm50bS1wcm9kdWN0LXJvbGVzLXRhYmxlIHtcbiAgdGgge1xuICAgIGNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktZ3JheS03MDApKTtcbiAgICBmb250LXNpemU6IHZhcigtLW5lZXRvLXVpLXRleHQteHMpO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLW5lZXRvLXVpLWZvbnQtYm9sZCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICB0ZCxcbiAgdGgge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTMwMCkpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZzogOHB4O1xuICB9XG59XG5cbi5udG0tbWFuYWdlLW1lbWJlcnNfX2NoZWNrYm94LWFsaWduLXN0YXJ0Lm5lZXRvLXVpLWNoZWNrYm94X193cmFwcGVyIHtcbiAgLm5lZXRvLXVpLWNoZWNrYm94X19jb250YWluZXIge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG4gIC5uZWV0by11aS1jaGVja2JveFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgfVxufVxuIiwiLm50bS1yb2xlcy10YWJsZV9fd3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGNhbGMoXG4gICAgMTAwdmggLSB2YXIoLS1uZWV0by1tb2xlY3VsZXMtbWFpbi1oZWFkZXItd2l0aC1icmVhZGNydW1icy1oZWlnaHQpIC0gMjRweFxuICApO1xuICBwYWRkaW5nOiAwIDQwcHg7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLS1uZWV0by1tb2xlY3VsZXMtbWFpbi1oZWFkZXItd2l0aC1icmVhZGNydW1icy1oZWlnaHQ6IDIxNnB4O1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAtLW5lZXRvLW1vbGVjdWxlcy1tYWluLWhlYWRlci13aXRoLWJyZWFkY3J1bWJzLWhlaWdodDogMTg2cHg7XG5cbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG4ubnRtLXJvbGVzLXRhYmxlX19jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG4ubnRtLXJvbGVzLXRhYmxlX19zaWRlYmFyIHtcbiAgd2lkdGg6IHZhcigtLW50bS1yb2xlcy1zaWRlYmFyLXdpZHRoKTtcbiAgaGVpZ2h0OiBjYWxjKFxuICAgIDEwMHZoIC0gdmFyKC0tbmVldG8tbW9sZWN1bGVzLW1haW4taGVhZGVyLXdpdGgtYnJlYWRjcnVtYnMtaGVpZ2h0KSAtIDI4cHhcbiAgKTtcbiAgbWluLXdpZHRoOiB2YXIoLS1udG0tcm9sZXMtc2lkZWJhci13aWR0aCk7XG4gIGJvcmRlci10b3A6IHRoaW4gc29saWQgcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktMzAwKSk7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbi5udG0tcm9sZXMtdGFibGUtc2lkZWJhcl9fc2VhcmNoIHtcbiAgcGFkZGluZzogMjBweCAyNHB4O1xuICBoZWlnaHQ6IHZhcigtLW50bS1yb2xlcy10YWJsZS1oZWFkZXItaGVpZ2h0KTtcbiAgYm9yZGVyLWxlZnQ6IHRoaW4gc29saWQgcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktMzAwKSk7XG4gIGJvcmRlci1yaWdodDogdGhpbiBzb2xpZCByZ2IodmFyKC0tbmVldG8tdWktZ3JheS0zMDApKTtcbn1cblxuLm50bS1yb2xlcy10YWJsZS1zaWRlYmFyX19saXN0IHtcbiAgbWF4LWhlaWdodDogY2FsYyhcbiAgICAxMDB2aCAtIHZhcigtLW5lZXRvLW1vbGVjdWxlcy1tYWluLWhlYWRlci13aXRoLWJyZWFkY3J1bWJzLWhlaWdodCkgLVxuICAgICAgdmFyKC0tbnRtLXJvbGVzLXRhYmxlLWhlYWRlci1oZWlnaHQpIC1cbiAgICAgIHZhcigtLW50bS1yb2xlcy10YWJsZS1kZWZhdWx0LXNjcm9sbCkgLSAyOHB4XG4gICk7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBib3JkZXItbGVmdDogdGhpbiBzb2xpZCByZ2IodmFyKC0tbmVldG8tdWktZ3JheS0zMDApKTtcbiAgYm9yZGVyLXJpZ2h0OiB0aGluIHNvbGlkIHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTMwMCkpO1xuICBib3JkZXItYm90dG9tOiB0aGluIHNvbGlkIHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTMwMCkpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIGRpdiB7XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIC5udG0tcm9sZXMtdGFibGUtc2lkZWJhcl9fbGlzdC1pdGVtIHtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiB0aGluIHNvbGlkIHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTMwMCkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5udG0tcm9sZXMtdGFibGUtc2lkZWJhcl9fbGlzdC1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IHZhcigtLW50bS1yb2xlcy10YWJsZS1jZWxsLWhlaWdodCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktMzAwKSk7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBsZWZ0OiAtMTVweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAyM3B4O1xuICAgIHdpZHRoOiAxMHB4O1xuICB9XG5cblxuICAmLm50bS1yb2xlcy10YWJsZS1zaWRlYmFyX19saXN0LWl0ZW0tLWhpZ2hsaWdodGVkIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktcHJpbWFyeS0xMDApKTtcbiAgICBwYWRkaW5nOiAxMnB4IDI0cHg7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIH1cbn1cblxuLm50bS1yb2xlcy10YWJsZV9fY29sdW1ucyB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXRvcDogdGhpbiBzb2xpZCByZ2IodmFyKC0tbmVldG8tdWktZ3JheS0zMDApKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIG92ZXJmbG93OiB1bnNldDtcbiAgfVxufVxuXG4ubnRtLXJvbGVzLXRhYmxlX19jZWxsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogMjAwcHg7XG4gIGhlaWdodDogdmFyKC0tbnRtLXJvbGVzLXRhYmxlLWNlbGwtaGVpZ2h0KTtcbiAgbWluLWhlaWdodDogdmFyKC0tbnRtLXJvbGVzLXRhYmxlLWNlbGwtaGVpZ2h0KTtcbiAgcGFkZGluZzogMTJweCA4cHg7XG5cbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYm9yZGVyLXJpZ2h0OiB0aGluIHNvbGlkIHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTMwMCkpO1xufVxuXG4ubnRtLXJvbGVzLXRhYmxlLWNlbGxfX2NoZWNrYm94LXdyYXBwZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMXJlbTtcbiAgd2lkdGg6IDFyZW07XG4gIG1hcmdpbjogYXV0bztcbiAgei1pbmRleDogMTA7XG59XG5cbi5udG0tcm9sZXMtdGFibGUtY2VsbF9fY2hlY2tib3gge1xuICB6LWluZGV4OiAxMDtcbn1cblxuLm50bS1yb2xlcy10YWJsZV9faGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgb3ZlcmZsb3cteDogYXV0bztcblxuICAubnRtLXJvbGVzLXRhYmxlX19jZWxsIHtcbiAgICBoZWlnaHQ6IHZhcigtLW50bS1yb2xlcy10YWJsZS1oZWFkZXItaGVpZ2h0KTtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgb3ZlcmZsb3c6IHVuc2V0O1xuICB9XG59XG5cbi5udG0tcm9sZXMtdGFibGUtaGVhZGVyLWNlbGxfX2NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5udG0tcm9sZXMtdGFibGUtaGVhZGVyX19kcm9wZG93biB7XG4gIG1hcmdpbjogM3B4O1xuICBmbGV4LXNocmluazogMDtcbn1cblxuLm50bS1yb2xlcy10YWJsZS1oZWFkZXJfX3JvbGUtbmFtZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ubnRtLXJvbGVzLXRhYmxlX19yb3dzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IGNhbGMoXG4gICAgMTAwdmggLSAje3ZhcigtLW5lZXRvLW1vbGVjdWxlcy1tYWluLWhlYWRlci13aXRoLWJyZWFkY3J1bWJzLWhlaWdodCl9IC0gdmFyKFxuICAgICAgICAtLW50bS1yb2xlcy10YWJsZS1oZWFkZXItaGVpZ2h0XG4gICAgICApIC0gdmFyKC0tbnRtLXJvbGVzLXRhYmxlLWRlZmF1bHQtc2Nyb2xsKSAtIDI4cHhcbiAgKTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgQGluY2x1ZGUgc2Nyb2xsYmFycyhcbiAgICAwcHgsXG4gICAgcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktMzAwKSksXG4gICAgcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktMzAwKSlcbiAgKTtcblxuICBkaXYge1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAubnRtLXJvbGVzLXRhYmxlX19yb3cge1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIC5udG0tcm9sZXMtdGFibGVfX2NlbGwge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogdGhpbiBzb2xpZCByZ2IodmFyKC0tbmVldG8tdWktZ3JheS0zMDApKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm50bS1yb2xlcy10YWJsZV9fcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAubnRtLXJvbGVzLXRhYmxlX19jZWxsIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC8vIEhpZGRlbiAtIEp1c3QgZm9yIGhlaWdodCByZWZlcmVuY2VcbiAgICBwIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB3aWR0aDogMzQwcHg7XG4gICAgICBtaW4td2lkdGg6IDM0MHB4O1xuICAgIH1cbiAgfVxuXG4gICYubnRtLXJvbGVzLXRhYmxlX19yb3ctLWhpZ2hsaWdodGVkIHtcbiAgICAubnRtLXJvbGVzLXRhYmxlX19jZWxsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1wcmltYXJ5LTEwMCkpO1xuICAgIH1cbiAgfVxuXG4gICY6bm90KC5udG0tcm9sZXMtdGFibGVfX3Jvdy0taGlnaGxpZ2h0ZWQpIHtcbiAgICAubnRtLXJvbGVzLXRhYmxlX19jZWxsIHtcbiAgICAgIGJvcmRlci1ib3R0b206IHRoaW4gc29saWQgcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktMzAwKSk7XG4gICAgfVxuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICAubnRtLXJvbGVzLXRhYmxlX19jZWxsIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5udG0tcm9sZXMtdGFibGUtc2lkZWJhcl9fZHJvcC1kb3duLWJ1dHRvbiB7XG4gIGNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktZ3JheS02MDApKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubnRtLXJvbGVzLW1vZGFsIHtcbiAgJl9fYm9keSA+ICogKyAqIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICB9XG5cbiAgJl9fZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMC41cmVtO1xuICB9XG59XG5cbi5udG0tcm9sZXMtcGFuZSB7XG4gICZfX2JvZHkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblxuICAgICYtd3JhcHBlciA+ICogKyAqIHtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgfVxuXG4gICAgJiA+ICogKyAqIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICB9XG4gIH1cblxuICAmX19mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAwLjVyZW07XG4gIH1cbn1cblxuLm50bS1yb2xlcy1wZXJtaXNzaW9uIHtcbiAgJl9faGVhZGluZyB7XG4gICAgY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTUwMCkpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAmX19jYXJkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktd2hpdGUpKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAwLjc1cmVtO1xuICAgIHBhZGRpbmc6IDAuNHJlbSAwO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktMzAwKSk7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBsZWZ0OiAtMTVweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTRweDtcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgIH1cblxuICAgICYtLWRlc2NyaXB0aW9uIHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG5cbiAgICAmLS1jaGVja2JveCB7XG4gICAgICBwYWRkaW5nOiAwIDAuNXJlbTtcbiAgICB9XG5cbiAgICAubmVldG8tdWktY2hlY2tib3hfX3dyYXBwZXIgLm5lZXRvLXVpLWNoZWNrYm94X19jb250YWluZXIge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAgIC5uZWV0by11aS1jaGVja2JveFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQgKyAubmVldG8tdWktbGFiZWwge1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fc3ViLWJsb2NrcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTMwMCkpO1xuICAgICAgdG9wOiAwO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMTRweCk7XG4gICAgICBsZWZ0OiA4cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMXB4O1xuICAgIH1cblxuICAgICY6ZW1wdHkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLm50bS1yb2xlcy1wZXJtaXNzaW9uLWNhdGVnb3J5LWNhcmQge1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLW5lZXRvLXVpLXJvdW5kZWQpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2IodmFyKC0tbmVldG8tdWktZ3JheS00MDApKTtcbiAgJiA+IC5udG0tcm9sZXMtcGVybWlzc2lvbl9fY2FyZCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLm50bS1yb2xlcy1oZWxwLXVybC13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAxcmVtIDA7XG59XG4iLCJAbWl4aW4gc2Nyb2xsYmFycyhcbiAgJHNpemUsXG4gICRmb3JlZ3JvdW5kLWNvbG9yOiAkbmVldG8tdWktZ3JheS0zMDAsXG4gICRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudFxuKSB7XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcblxuICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgd2lkdGg6ICRzaXplO1xuICAgIGhlaWdodDogJHNpemU7XG4gIH1cblxuICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZDogJGZvcmVncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICB9XG59XG4iXX0= */";
9424
9511
  n(css,{});
9425
9512
 
9426
9513
  var Profile = {