@umbraco/playwright-testhelpers 1.0.9 → 1.0.11

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/README.md CHANGED
@@ -43,6 +43,6 @@ constructor(page: Page) {
43
43
  ```
44
44
 
45
45
  ### Testing your changes locally
46
- When you have changes you want to test, you can run `npm run build` & `npm link` in the root of this folder,
47
- then run `npm link @umbraco/playwright-testhelpers` in the project where you are using this package.
48
- If you have new changes, you can run `npm run build` again.
46
+ When you have changes you want to test, you can run `npm run build` & `npm pack` in the root of this folder, You will need to copy the absolute path of the file you just created with `npm pack`.
47
+ then run `npm i absolute path to your file` in the project where you are using this package. An example could be `npm i C:\Users\ABC\Desktop\Umbraco.Playwright.Testhelpers\umbraco-playwright-testhelpers-1.0.0.tgz`.
48
+ If you have new changes, you can follow the same steps as before.
@@ -18,6 +18,7 @@ import { MemberApiHelper } from "./MemberApiHelper";
18
18
  import { MemberGroupApiHelper } from "./MemberGroupApiHelper";
19
19
  import { MediaApiHelper } from "./MediaApiHelper";
20
20
  import { DomainApiHelper } from "./DomainApiHelper";
21
+ import { TranslationApiHelper } from "./TranslationApiHelper";
21
22
  export declare class ApiHelpers {
22
23
  baseUrl: string;
23
24
  content: ContentApiHelper;
@@ -40,9 +41,12 @@ export declare class ApiHelpers {
40
41
  users: UserApiHelper;
41
42
  media: MediaApiHelper;
42
43
  domain: DomainApiHelper;
44
+ translation: TranslationApiHelper;
43
45
  constructor(page: Page);
44
46
  getCsrfToken(): Promise<string>;
45
- get(url: string): Promise<import("playwright-core").APIResponse>;
47
+ get(url: string, params?: {
48
+ [key: string]: string | number | boolean;
49
+ }): Promise<import("playwright-core").APIResponse>;
46
50
  saveCodeFile(codeFile: any): Promise<import("playwright-core").APIResponse | undefined>;
47
51
  post(url: string, data?: object): Promise<import("playwright-core").APIResponse>;
48
52
  login(skipCheckTours?: boolean): Promise<void>;
@@ -23,6 +23,7 @@ const MemberApiHelper_1 = require("./MemberApiHelper");
23
23
  const MemberGroupApiHelper_1 = require("./MemberGroupApiHelper");
24
24
  const MediaApiHelper_1 = require("./MediaApiHelper");
25
25
  const DomainApiHelper_1 = require("./DomainApiHelper");
26
+ const TranslationApiHelper_1 = require("./TranslationApiHelper");
26
27
  class ApiHelpers {
27
28
  baseUrl = umbraco_config_1.umbracoConfig.environment.baseUrl;
28
29
  content;
@@ -45,6 +46,7 @@ class ApiHelpers {
45
46
  users;
46
47
  media;
47
48
  domain;
49
+ translation;
48
50
  constructor(page) {
49
51
  this.content = new ContentApiHelper_1.ContentApiHelper(this);
50
52
  this.dataTypes = new DatatypeApiHelper_1.DatatypeApiHelper(this);
@@ -66,16 +68,18 @@ class ApiHelpers {
66
68
  this.users = new UserApiHelper_1.UserApiHelper(this);
67
69
  this.media = new MediaApiHelper_1.MediaApiHelper(this);
68
70
  this.domain = new DomainApiHelper_1.DomainApiHelper(this);
71
+ this.translation = new TranslationApiHelper_1.TranslationApiHelper(this);
69
72
  }
70
73
  async getCsrfToken() {
71
74
  return (await this.page.context().cookies()).filter(x => x.name === 'UMB-XSRF-TOKEN')[0].value;
72
75
  }
73
- async get(url) {
76
+ async get(url, params) {
74
77
  const csrf = await this.getCsrfToken();
75
78
  const options = {
76
79
  headers: {
77
80
  'X-UMB-XSRF-TOKEN': csrf
78
81
  },
82
+ params: params,
79
83
  ignoreHTTPSErrors: true
80
84
  };
81
85
  return this.page.request.get(url, options);
@@ -1 +1 @@
1
- {"version":3,"file":"ApiHelpers.js","sourceRoot":"","sources":["../../../lib/helpers/ApiHelpers.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page, expect} from \"@playwright/test\"\nimport {DocumentTypeApiHelper} from \"./DocumentTypeApiHelper\";\nimport {JsonHelper} from './JsonHelper';\nimport {TemplatesApiHelper} from \"./TemplatesApiHelper\";\nimport {umbracoConfig} from \"../../umbraco.config\";\nimport {ContentApiHelper} from \"./ContentApiHelper\";\nimport {LanguagesApiHelper} from \"./LanguagesApiHelper\";\nimport {UserApiHelper} from \"./UserApiHelper\";\nimport {UserGroupApiHelper} from \"./UserGroupApiHelper\";\nimport {MacroApiHelper} from \"./MacroApiHelper\";\nimport {MediaTypeApiHelper} from \"./MediaTypeApiHelper\";\nimport {MemberTypeApiHelper} from \"./MemberTypeApiHelper\";\nimport {DatatypeApiHelper} from \"./DatatypeApiHelper\";\nimport {StylesheetApiHelper} from \"./StylesheetApiHelper\";\nimport {ScriptApiHelper} from \"./ScriptApiHelper\";\nimport {PartialViewApiHelper} from \"./PartialViewApiHelper\";\nimport {RelationTypeApiHelper} from \"./RelationTypeApiHelper\";\nimport {PackageApiHelper} from \"./PackageApiHelper\";\nimport {MemberApiHelper} from \"./MemberApiHelper\";\nimport {MemberGroupApiHelper} from \"./MemberGroupApiHelper\";\nimport {MediaApiHelper} from \"./MediaApiHelper\";\nimport {DomainApiHelper} from \"./DomainApiHelper\";\n\nexport class ApiHelpers {\n baseUrl: string = umbracoConfig.environment.baseUrl;\n content: ContentApiHelper;\n dataTypes: DatatypeApiHelper;\n documentTypes: DocumentTypeApiHelper;\n languages: LanguagesApiHelper;\n macros: MacroApiHelper;\n mediaTypes: MediaTypeApiHelper;\n memberGroups: MemberGroupApiHelper;\n members: MemberApiHelper;\n memberTypes: MemberTypeApiHelper;\n packages: PackageApiHelper;\n page: Page;\n partialViews: PartialViewApiHelper;\n relationTypes: RelationTypeApiHelper;\n scripts: ScriptApiHelper;\n stylesheets: StylesheetApiHelper;\n templates: TemplatesApiHelper;\n userGroups: UserGroupApiHelper;\n users: UserApiHelper;\n media: MediaApiHelper;\n domain: DomainApiHelper;\n\n constructor(page: Page) {\n this.content = new ContentApiHelper(this);\n this.dataTypes = new DatatypeApiHelper(this);\n this.documentTypes = new DocumentTypeApiHelper(this);\n this.languages = new LanguagesApiHelper(this);\n this.macros = new MacroApiHelper(this);\n this.mediaTypes = new MediaTypeApiHelper(this);\n this.memberGroups = new MemberGroupApiHelper(this);\n this.members = new MemberApiHelper(this);\n this.memberTypes = new MemberTypeApiHelper(this);\n this.packages = new PackageApiHelper(this);\n this.page = page;\n this.partialViews = new PartialViewApiHelper(this);\n this.relationTypes = new RelationTypeApiHelper(this);\n this.scripts = new ScriptApiHelper(this);\n this.stylesheets = new StylesheetApiHelper(this);\n this.templates = new TemplatesApiHelper(this);\n this.userGroups = new UserGroupApiHelper(this);\n this.users = new UserApiHelper(this);\n this.media = new MediaApiHelper(this);\n this.domain = new DomainApiHelper(this);\n }\n\n async getCsrfToken() {\n return (await this.page.context().cookies()).filter(x => x.name === 'UMB-XSRF-TOKEN')[0].value;\n }\n\n async get(url: string) {\n const csrf = await this.getCsrfToken();\n const options = {\n headers: {\n 'X-UMB-XSRF-TOKEN': csrf\n },\n ignoreHTTPSErrors: true\n }\n return this.page.request.get(url, options);\n }\n \n async saveCodeFile(codeFile){\n if (codeFile == null) {\n return;\n }\n \n return await this.post(umbracoConfig.environment.baseUrl + '/umbraco/backoffice/UmbracoApi/CodeFile/PostSave', codeFile)\n }\n\n async post(url: string, data?: object) {\n const csrf = await this.getCsrfToken();\n const options = {\n headers: {\n 'X-UMB-XSRF-TOKEN': csrf\n },\n data: data,\n ignoreHTTPSErrors: true\n }\n return await this.page.request.post(url, options);\n }\n\n async login(skipCheckTours: boolean = false) {\n await this.page.request.post(umbracoConfig.environment.baseUrl + '/umbraco/backoffice/UmbracoApi/Authentication/PostLogin', {\n headers: {\n contentType: 'application/json'\n },\n data: {\n username: umbracoConfig.user.login,\n password: umbracoConfig.user.password,\n },\n ignoreHTTPSErrors: true\n });\n\n if (!skipCheckTours) {\n await this.page.goto(umbracoConfig.environment.baseUrl + '/umbraco');\n let toursClosed = false;\n let response = await this.get(umbracoConfig.environment.baseUrl + \"/umbraco/backoffice/UmbracoApi/CurrentUser/GetUserTours\");\n const getUserToursBody = await JsonHelper.getBody(response);\n let umbEmailMarketingDisabled = false;\n if (getUserToursBody == null || getUserToursBody.length === 0) {\n // If length == 0, then the user has not disabled any tours => Tours will be shown\n toursClosed = true;\n } else {\n for (const userTourBody of getUserToursBody) {\n if (userTourBody.alias === 'umbEmailMarketing') {\n umbEmailMarketingDisabled = userTourBody.disabled;\n }\n if (userTourBody.disabled !== true) {\n toursClosed = true;\n }\n }\n }\n if (toursClosed || umbEmailMarketingDisabled === false) {\n // @ts-ignore\n let tourSteps = await this.page.locator('.umb-tour-step', {timeout: 60000}); // We now due to the api calls this will be shown, but slow computers can take a while\n await expect(tourSteps).toBeVisible({timeout: 60000});\n await this.page.click('.umb-tour-step__close');\n }\n }\n\n }\n\n}\n\n"]}
1
+ {"version":3,"file":"ApiHelpers.js","sourceRoot":"","sources":["../../../lib/helpers/ApiHelpers.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page, expect} from \"@playwright/test\"\nimport {DocumentTypeApiHelper} from \"./DocumentTypeApiHelper\";\nimport {JsonHelper} from './JsonHelper';\nimport {TemplatesApiHelper} from \"./TemplatesApiHelper\";\nimport {umbracoConfig} from \"../../umbraco.config\";\nimport {ContentApiHelper} from \"./ContentApiHelper\";\nimport {LanguagesApiHelper} from \"./LanguagesApiHelper\";\nimport {UserApiHelper} from \"./UserApiHelper\";\nimport {UserGroupApiHelper} from \"./UserGroupApiHelper\";\nimport {MacroApiHelper} from \"./MacroApiHelper\";\nimport {MediaTypeApiHelper} from \"./MediaTypeApiHelper\";\nimport {MemberTypeApiHelper} from \"./MemberTypeApiHelper\";\nimport {DatatypeApiHelper} from \"./DatatypeApiHelper\";\nimport {StylesheetApiHelper} from \"./StylesheetApiHelper\";\nimport {ScriptApiHelper} from \"./ScriptApiHelper\";\nimport {PartialViewApiHelper} from \"./PartialViewApiHelper\";\nimport {RelationTypeApiHelper} from \"./RelationTypeApiHelper\";\nimport {PackageApiHelper} from \"./PackageApiHelper\";\nimport {MemberApiHelper} from \"./MemberApiHelper\";\nimport {MemberGroupApiHelper} from \"./MemberGroupApiHelper\";\nimport {MediaApiHelper} from \"./MediaApiHelper\";\nimport {DomainApiHelper} from \"./DomainApiHelper\";\nimport {TranslationApiHelper} from \"./TranslationApiHelper\";\n\nexport class ApiHelpers {\n baseUrl: string = umbracoConfig.environment.baseUrl;\n content: ContentApiHelper;\n dataTypes: DatatypeApiHelper;\n documentTypes: DocumentTypeApiHelper;\n languages: LanguagesApiHelper;\n macros: MacroApiHelper;\n mediaTypes: MediaTypeApiHelper;\n memberGroups: MemberGroupApiHelper;\n members: MemberApiHelper;\n memberTypes: MemberTypeApiHelper;\n packages: PackageApiHelper;\n page: Page;\n partialViews: PartialViewApiHelper;\n relationTypes: RelationTypeApiHelper;\n scripts: ScriptApiHelper;\n stylesheets: StylesheetApiHelper;\n templates: TemplatesApiHelper;\n userGroups: UserGroupApiHelper;\n users: UserApiHelper;\n media: MediaApiHelper;\n domain: DomainApiHelper;\n translation: TranslationApiHelper;\n\n constructor(page: Page) {\n this.content = new ContentApiHelper(this);\n this.dataTypes = new DatatypeApiHelper(this);\n this.documentTypes = new DocumentTypeApiHelper(this);\n this.languages = new LanguagesApiHelper(this);\n this.macros = new MacroApiHelper(this);\n this.mediaTypes = new MediaTypeApiHelper(this);\n this.memberGroups = new MemberGroupApiHelper(this);\n this.members = new MemberApiHelper(this);\n this.memberTypes = new MemberTypeApiHelper(this);\n this.packages = new PackageApiHelper(this);\n this.page = page;\n this.partialViews = new PartialViewApiHelper(this);\n this.relationTypes = new RelationTypeApiHelper(this);\n this.scripts = new ScriptApiHelper(this);\n this.stylesheets = new StylesheetApiHelper(this);\n this.templates = new TemplatesApiHelper(this);\n this.userGroups = new UserGroupApiHelper(this);\n this.users = new UserApiHelper(this);\n this.media = new MediaApiHelper(this);\n this.domain = new DomainApiHelper(this);\n this.translation = new TranslationApiHelper(this);\n }\n\n async getCsrfToken() {\n return (await this.page.context().cookies()).filter(x => x.name === 'UMB-XSRF-TOKEN')[0].value;\n }\n\n async get(url: string, params?: { [key: string]: string | number | boolean; }) {\n const csrf = await this.getCsrfToken();\n const options = {\n headers: {\n 'X-UMB-XSRF-TOKEN': csrf\n },\n params: params,\n ignoreHTTPSErrors: true\n }\n return this.page.request.get(url, options);\n }\n \n async saveCodeFile(codeFile){\n if (codeFile == null) {\n return;\n }\n \n return await this.post(umbracoConfig.environment.baseUrl + '/umbraco/backoffice/UmbracoApi/CodeFile/PostSave', codeFile)\n }\n\n async post(url: string, data?: object) {\n const csrf = await this.getCsrfToken();\n const options = {\n headers: {\n 'X-UMB-XSRF-TOKEN': csrf\n },\n data: data,\n ignoreHTTPSErrors: true\n }\n return await this.page.request.post(url, options);\n }\n\n async login(skipCheckTours: boolean = false) {\n await this.page.request.post(umbracoConfig.environment.baseUrl + '/umbraco/backoffice/UmbracoApi/Authentication/PostLogin', {\n headers: {\n contentType: 'application/json'\n },\n data: {\n username: umbracoConfig.user.login,\n password: umbracoConfig.user.password,\n },\n ignoreHTTPSErrors: true\n });\n\n if (!skipCheckTours) {\n await this.page.goto(umbracoConfig.environment.baseUrl + '/umbraco');\n let toursClosed = false;\n let response = await this.get(umbracoConfig.environment.baseUrl + \"/umbraco/backoffice/UmbracoApi/CurrentUser/GetUserTours\");\n const getUserToursBody = await JsonHelper.getBody(response);\n let umbEmailMarketingDisabled = false;\n if (getUserToursBody == null || getUserToursBody.length === 0) {\n // If length == 0, then the user has not disabled any tours => Tours will be shown\n toursClosed = true;\n } else {\n for (const userTourBody of getUserToursBody) {\n if (userTourBody.alias === 'umbEmailMarketing') {\n umbEmailMarketingDisabled = userTourBody.disabled;\n }\n if (userTourBody.disabled !== true) {\n toursClosed = true;\n }\n }\n }\n if (toursClosed || umbEmailMarketingDisabled === false) {\n // @ts-ignore\n let tourSteps = await this.page.locator('.umb-tour-step', {timeout: 60000}); // We now due to the api calls this will be shown, but slow computers can take a while\n await expect(tourSteps).toBeVisible({timeout: 60000});\n await this.page.click('.umb-tour-step__close');\n }\n }\n\n }\n\n}\n\n"]}
@@ -7,6 +7,8 @@ export declare class ConstantHelper {
7
7
  delete: string;
8
8
  move: string;
9
9
  sort: string;
10
+ save: string;
11
+ publish: string;
10
12
  };
11
13
  static readonly buttons: {
12
14
  close: string;
@@ -29,5 +31,6 @@ export declare class ConstantHelper {
29
31
  settings: string;
30
32
  media: string;
31
33
  users: string;
34
+ translation: string;
32
35
  };
33
36
  }
@@ -10,6 +10,8 @@ class ConstantHelper {
10
10
  delete: "action-delete",
11
11
  move: "action-move",
12
12
  sort: "action-sort",
13
+ save: "saveNew",
14
+ publish: "publishNew"
13
15
  };
14
16
  static buttons = {
15
17
  close: "general_close",
@@ -32,6 +34,7 @@ class ConstantHelper {
32
34
  settings: "settings",
33
35
  media: "media",
34
36
  users: "users",
37
+ translation: "translation",
35
38
  };
36
39
  }
37
40
  exports.ConstantHelper = ConstantHelper;
@@ -1 +1 @@
1
- {"version":3,"file":"ConstantHelper.js","sourceRoot":"","sources":["../../../lib/helpers/ConstantHelper.ts"],"names":[],"mappings":";;;AAAA,MAAa,cAAc;IAEhB,MAAM,CAAU,OAAO,GAAG;QAC7B,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,eAAe;QACvB,QAAQ,EAAE,kBAAkB;QAC5B,YAAY,EAAE,qBAAqB;QACnC,MAAM,EAAE,eAAe;QACvB,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,aAAa;KACtB,CAAA;IAEM,MAAM,CAAU,OAAO,GAAG;QAC7B,KAAK,EAAE,eAAe;QACtB,MAAM,EAAE,gBAAgB;QACxB,QAAQ,EAAE,kBAAkB;QAC5B,MAAM,EAAE,gBAAgB;QACxB,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,cAAc;QACpB,cAAc,EAAE,wBAAwB;QACxC,MAAM,EAAE,gBAAgB;QACxB,QAAQ,EAAE,kBAAkB;KAC/B,CAAA;IAEM,MAAM,CAAU,WAAW,GAAG;QACjC,IAAI,EAAE,mCAAmC;KAC5C,CAAA;IAEM,MAAM,CAAU,QAAQ,GAAG;QAC9B,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,OAAO;KACjB,CAAA;;AAnCL,wCAoCC","sourcesContent":["export class ConstantHelper {\n\n public static readonly actions = {\n copy: \"action-copy\",\n create: \"action-create\",\n dataType: \"action-data-type\",\n documentType: \"action-documentType\",\n delete: \"action-delete\",\n move: \"action-move\",\n sort: \"action-sort\",\n }\n \n public static readonly buttons = {\n close: \"general_close\",\n delete: \"general_delete\",\n download: \"general_download\",\n insert: \"general_insert\",\n ok: \"general_ok\",\n save: \"buttons_save\",\n saveAndPublish: \"buttons_saveAndPublish\",\n submit: \"general_submit\",\n rollback: \"actions_rollback\"\n }\n \n public static readonly contentApps = {\n info: '[data-element=\"sub-view-umbInfo\"]',\n }\n\n public static readonly sections = {\n content: \"content\",\n member: \"member\",\n packages: \"packages\",\n settings: \"settings\",\n media: \"media\",\n users: \"users\",\n }\n}\n\n"]}
1
+ {"version":3,"file":"ConstantHelper.js","sourceRoot":"","sources":["../../../lib/helpers/ConstantHelper.ts"],"names":[],"mappings":";;;AAAA,MAAa,cAAc;IAEhB,MAAM,CAAU,OAAO,GAAG;QAC7B,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,eAAe;QACvB,QAAQ,EAAE,kBAAkB;QAC5B,YAAY,EAAE,qBAAqB;QACnC,MAAM,EAAE,eAAe;QACvB,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,YAAY;KACxB,CAAA;IAEM,MAAM,CAAU,OAAO,GAAG;QAC7B,KAAK,EAAE,eAAe;QACtB,MAAM,EAAE,gBAAgB;QACxB,QAAQ,EAAE,kBAAkB;QAC5B,MAAM,EAAE,gBAAgB;QACxB,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,cAAc;QACpB,cAAc,EAAE,wBAAwB;QACxC,MAAM,EAAE,gBAAgB;QACxB,QAAQ,EAAE,kBAAkB;KAC/B,CAAA;IAEM,MAAM,CAAU,WAAW,GAAG;QACjC,IAAI,EAAE,mCAAmC;KAC5C,CAAA;IAEM,MAAM,CAAU,QAAQ,GAAG;QAC9B,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,aAAa;KAC7B,CAAA;;AAtCL,wCAuCC","sourcesContent":["export class ConstantHelper {\n\n public static readonly actions = {\n copy: \"action-copy\",\n create: \"action-create\",\n dataType: \"action-data-type\",\n documentType: \"action-documentType\",\n delete: \"action-delete\",\n move: \"action-move\",\n sort: \"action-sort\",\n save: \"saveNew\",\n publish: \"publishNew\"\n }\n \n public static readonly buttons = {\n close: \"general_close\",\n delete: \"general_delete\",\n download: \"general_download\",\n insert: \"general_insert\",\n ok: \"general_ok\",\n save: \"buttons_save\",\n saveAndPublish: \"buttons_saveAndPublish\",\n submit: \"general_submit\",\n rollback: \"actions_rollback\"\n }\n \n public static readonly contentApps = {\n info: '[data-element=\"sub-view-umbInfo\"]',\n }\n\n public static readonly sections = {\n content: \"content\",\n member: \"member\",\n packages: \"packages\",\n settings: \"settings\",\n media: \"media\",\n users: \"users\",\n translation: \"translation\",\n }\n}\n\n"]}
@@ -53,22 +53,24 @@ class ContentApiHelper {
53
53
  await this.api.post(this.api.baseUrl + `/umbraco/backoffice/UmbracoApi/Content/DeleteById?id=${id}`);
54
54
  }
55
55
  async verifyRenderedContent(endpoint, expectedContent, removeWhitespace = false) {
56
- await this.api.page.waitForTimeout(60000);
57
- let response = await this.api.get(this.api.baseUrl + endpoint);
58
- let body = (await response.body()).toString();
59
- if (removeWhitespace) {
60
- expectedContent = expectedContent.replace(/\s/g, '');
61
- body = body.replace(/\s/g, '');
62
- }
63
- if (body === expectedContent) {
64
- return true;
56
+ for (let i = 0; i < 6; i++) {
57
+ let response = await this.api.get(this.api.baseUrl + endpoint);
58
+ let body = (await response.body()).toString();
59
+ if (removeWhitespace) {
60
+ expectedContent = expectedContent.replace(/\s/g, '');
61
+ body = body.replace(/\s/g, '');
62
+ }
63
+ if (body === expectedContent) {
64
+ return true;
65
+ }
66
+ console.log("Something went wrong, body did not match expected");
67
+ console.log("Endpoint called: " + this.api.baseUrl + endpoint);
68
+ console.log("Logging response: ");
69
+ console.log(response);
70
+ console.log("Logging body:");
71
+ console.log(body);
72
+ await this.api.page.waitForTimeout(2000);
65
73
  }
66
- console.log("Something went wrong, body did not match expected");
67
- console.log("Endpoint called: " + this.api.baseUrl + endpoint);
68
- console.log("Logging response: ");
69
- console.log(response);
70
- console.log("Logging body:");
71
- console.log(body);
72
74
  return false;
73
75
  }
74
76
  async save(content) {
@@ -1 +1 @@
1
- {"version":3,"file":"ContentApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/ContentApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {JsonHelper} from \"./JsonHelper\";\nimport fetch from 'node-fetch';\nimport {ContentBuilder, DocumentTypeBuilder} from \"@umbraco/json-models-builders\";\n\nconst https = require('https');\nconst FormData = require('form-data');\n\nexport class ContentApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async createDocTypeWithContent(name, alias, dataTypeBuilder) {\n await this.api.dataTypes.save(dataTypeBuilder).then(async (response) => {\n // Create a document type using the data type\n const docType = new DocumentTypeBuilder()\n .withName(name)\n .withAlias(alias)\n .withAllowAsRoot(true)\n .withDefaultTemplate(alias)\n .addGroup()\n .addCustomProperty(response.id)\n .withAlias('umbracoTest')\n .done()\n .done()\n .build();\n\n this.api.documentTypes.save(docType).then(async (generatedDocType) => {\n const contentNode = new ContentBuilder()\n .withContentTypeAlias(generatedDocType['alias'])\n .addVariant()\n .withName(name)\n .withSave(true)\n .done()\n .build();\n\n await this.api.content.save(contentNode);\n });\n });\n }\n\n async deleteAllContent() {\n const response = await this.api.get(this.api.baseUrl + `/umbraco/backoffice/UmbracoTrees/ApplicationTree/GetApplicationTrees?application=content&tree=&use=main`);\n const content = await JsonHelper.getBody(response);\n\n if (content !== null) {\n for (const child of content.children) {\n if (child.id > 0) {\n await this.deleteById(child.id);\n }\n }\n await this.clearRecycleBin();\n }\n }\n\n async deleteById(id) {\n await this.api.post(this.api.baseUrl + `/umbraco/backoffice/UmbracoApi/Content/DeleteById?id=${id}`)\n }\n\n async verifyRenderedContent(endpoint, expectedContent, removeWhitespace = false) {\n await this.api.page.waitForTimeout(60000);\n let response = await this.api.get(this.api.baseUrl + endpoint);\n let body = (await response.body()).toString();\n\n if (removeWhitespace) {\n expectedContent = expectedContent.replace(/\\s/g, '');\n body = body.replace(/\\s/g, '');\n }\n if( body === expectedContent){\n return true;\n }\n \n console.log(\"Something went wrong, body did not match expected\")\n console.log(\"Endpoint called: \" + this.api.baseUrl + endpoint)\n console.log(\"Logging response: \")\n console.log(response);\n \n console.log(\"Logging body:\")\n console.log(body);\n\n return false;\n }\n\n async save(content) {\n const url = this.api.baseUrl + \"/umbraco/backoffice/UmbracoApi/Content/PostSave\";\n const formData = new FormData();\n formData.append('contentItem', JSON.stringify(content));\n\n // This is a bit weird, but essentially playwright doesn't handle the way we send content very well.\n // Instead we have to save the content with a normal fetch request, \n // however this request won't be sent from the browser which is logged in,\n // it'll instead be sent from the runner controlling the browser.\n // What this all means is that we must hijack the cookies of the browser, and use that when sending the request.\n\n const context = this.api.page.context();\n const cookies = await context.cookies();\n let cookieHeader = \"\";\n for (const cook of cookies) {\n cookieHeader += cook.name + \"=\" + cook.value + \";\";\n }\n\n // Since this will mostly be run on local sites, there will be either no SSL certificate, or a self signed one,\n // so make fetch ignore SSL certificate verification.\n const httpsAgent = new https.Agent({\n rejectUnauthorized: false\n });\n\n const response = await fetch(url, {\n method: 'POST',\n body: formData,\n headers: {\n 'X-UMB-XSRF-TOKEN': await this.api.getCsrfToken(),\n 'Cookie': cookieHeader\n },\n agent: httpsAgent\n });\n\n let json = await response.text();\n return JsonHelper.parseString(json);\n }\n\n async getContentId(name: string):Promise<number | null> {\n const response = await this.api.get(this.api.baseUrl + `/umbraco/backoffice/UmbracoTrees/ApplicationTree/GetApplicationTrees?application=content&tree=&use=main`);\n const content = await JsonHelper.getBody(response);\n\n let contentNameId = null;\n\n if (content !== null) {\n for (const child of content.children) {\n if (child.name == name) {\n contentNameId = child.id;\n }\n }\n }\n return contentNameId;\n }\n\n async clearRecycleBin() {\n await this.api.post(this.api.baseUrl + '/umbraco/backoffice/umbracoApi/media/EmptyRecycleBin');\n }\n}"]}
1
+ {"version":3,"file":"ContentApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/ContentApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {JsonHelper} from \"./JsonHelper\";\nimport fetch from 'node-fetch';\nimport {ContentBuilder, DocumentTypeBuilder} from \"@umbraco/json-models-builders\";\n\nconst https = require('https');\nconst FormData = require('form-data');\n\nexport class ContentApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async createDocTypeWithContent(name, alias, dataTypeBuilder) {\n await this.api.dataTypes.save(dataTypeBuilder).then(async (response) => {\n // Create a document type using the data type\n const docType = new DocumentTypeBuilder()\n .withName(name)\n .withAlias(alias)\n .withAllowAsRoot(true)\n .withDefaultTemplate(alias)\n .addGroup()\n .addCustomProperty(response.id)\n .withAlias('umbracoTest')\n .done()\n .done()\n .build();\n\n this.api.documentTypes.save(docType).then(async (generatedDocType) => {\n const contentNode = new ContentBuilder()\n .withContentTypeAlias(generatedDocType['alias'])\n .addVariant()\n .withName(name)\n .withSave(true)\n .done()\n .build();\n\n await this.api.content.save(contentNode);\n });\n });\n }\n\n async deleteAllContent() {\n const response = await this.api.get(this.api.baseUrl + `/umbraco/backoffice/UmbracoTrees/ApplicationTree/GetApplicationTrees?application=content&tree=&use=main`);\n const content = await JsonHelper.getBody(response);\n\n if (content !== null) {\n for (const child of content.children) {\n if (child.id > 0) {\n await this.deleteById(child.id);\n }\n }\n await this.clearRecycleBin();\n }\n }\n\n async deleteById(id) {\n await this.api.post(this.api.baseUrl + `/umbraco/backoffice/UmbracoApi/Content/DeleteById?id=${id}`)\n }\n\n async verifyRenderedContent(endpoint, expectedContent, removeWhitespace = false) {\n for (let i = 0; i < 6; i++) {\n let response = await this.api.get(this.api.baseUrl + endpoint);\n let body = (await response.body()).toString();\n\n if (removeWhitespace) {\n expectedContent = expectedContent.replace(/\\s/g, '');\n body = body.replace(/\\s/g, '');\n }\n if( body === expectedContent){\n return true;\n }\n \n console.log(\"Something went wrong, body did not match expected\");\n console.log(\"Endpoint called: \" + this.api.baseUrl + endpoint);\n console.log(\"Logging response: \");\n console.log(response);\n \n console.log(\"Logging body:\");\n console.log(body);\n await this.api.page.waitForTimeout(2000);\n }\n\n return false;\n }\n\n async save(content) {\n const url = this.api.baseUrl + \"/umbraco/backoffice/UmbracoApi/Content/PostSave\";\n const formData = new FormData();\n formData.append('contentItem', JSON.stringify(content));\n\n // This is a bit weird, but essentially playwright doesn't handle the way we send content very well.\n // Instead we have to save the content with a normal fetch request, \n // however this request won't be sent from the browser which is logged in,\n // it'll instead be sent from the runner controlling the browser.\n // What this all means is that we must hijack the cookies of the browser, and use that when sending the request.\n\n const context = this.api.page.context();\n const cookies = await context.cookies();\n let cookieHeader = \"\";\n for (const cook of cookies) {\n cookieHeader += cook.name + \"=\" + cook.value + \";\";\n }\n\n // Since this will mostly be run on local sites, there will be either no SSL certificate, or a self signed one,\n // so make fetch ignore SSL certificate verification.\n const httpsAgent = new https.Agent({\n rejectUnauthorized: false\n });\n\n const response = await fetch(url, {\n method: 'POST',\n body: formData,\n headers: {\n 'X-UMB-XSRF-TOKEN': await this.api.getCsrfToken(),\n 'Cookie': cookieHeader\n },\n agent: httpsAgent\n });\n\n let json = await response.text();\n return JsonHelper.parseString(json);\n }\n\n async getContentId(name: string):Promise<number | null> {\n const response = await this.api.get(this.api.baseUrl + `/umbraco/backoffice/UmbracoTrees/ApplicationTree/GetApplicationTrees?application=content&tree=&use=main`);\n const content = await JsonHelper.getBody(response);\n\n let contentNameId = null;\n\n if (content !== null) {\n for (const child of content.children) {\n if (child.name == name) {\n contentNameId = child.id;\n }\n }\n }\n return contentNameId;\n }\n\n async clearRecycleBin() {\n await this.api.post(this.api.baseUrl + '/umbraco/backoffice/umbracoApi/media/EmptyRecycleBin');\n }\n}"]}
@@ -0,0 +1,6 @@
1
+ import { ApiHelpers } from "./ApiHelpers";
2
+ export declare class TranslationApiHelper {
3
+ api: ApiHelpers;
4
+ constructor(api: ApiHelpers);
5
+ ensureKeyNotExists(key: string): Promise<void>;
6
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TranslationApiHelper = void 0;
4
+ const JsonHelper_1 = require("./JsonHelper");
5
+ class TranslationApiHelper {
6
+ api;
7
+ constructor(api) {
8
+ this.api = api;
9
+ }
10
+ async ensureKeyNotExists(key) {
11
+ let response = await this.api.get(`${this.api.baseUrl}/umbraco/backoffice/UmbracoApi/Dictionary/GetList`);
12
+ const searchBody = await JsonHelper_1.JsonHelper.getBody(response);
13
+ let keyId = null;
14
+ for (const sb of searchBody) {
15
+ if (sb.name == key) {
16
+ keyId = sb.id;
17
+ }
18
+ }
19
+ if (keyId !== null) {
20
+ await this.api.post(`${this.api.baseUrl}/umbraco/backoffice/UmbracoApi/Dictionary/DeleteById?id=${keyId}`);
21
+ }
22
+ }
23
+ }
24
+ exports.TranslationApiHelper = TranslationApiHelper;
25
+ //# sourceMappingURL=TranslationApiHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TranslationApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/TranslationApiHelper.ts"],"names":[],"mappings":";;;AACA,6CAA0C;AAC1C,MAAa,oBAAoB;IAC/B,GAAG,CAAY;IAEf,YAAY,GAAe;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,GAAW;QAClC,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,mDAAmD,CAAC,CAAA;QACzG,MAAM,UAAU,GAAG,MAAM,uBAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE;YAC3B,IAAI,EAAE,CAAC,IAAI,IAAI,GAAG,EAAE;gBAClB,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC;aACf;SACF;QAED,IAAI,KAAK,KAAK,IAAI,EAAE;YAChB,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,2DAA2D,KAAK,EAAE,CAAC,CAAC;SAC9G;IACH,CAAC;CACF;AArBD,oDAqBC","sourcesContent":["import { ApiHelpers } from \"./ApiHelpers\";\nimport { JsonHelper } from \"./JsonHelper\";\nexport class TranslationApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async ensureKeyNotExists(key: string) {\n let response = await this.api.get(`${this.api.baseUrl}/umbraco/backoffice/UmbracoApi/Dictionary/GetList`)\n const searchBody = await JsonHelper.getBody(response);\n let keyId = null;\n for (const sb of searchBody) {\n if (sb.name == key) {\n keyId = sb.id;\n }\n }\n\n if (keyId !== null) {\n await this.api.post(`${this.api.baseUrl}/umbraco/backoffice/UmbracoApi/Dictionary/DeleteById?id=${keyId}`);\n }\n }\n}\n"]}
@@ -4,12 +4,16 @@ export declare class UiHelpers {
4
4
  constructor(page: Page);
5
5
  getGlobalHelp(): Promise<Locator>;
6
6
  getGlobalUser(): Promise<Locator>;
7
+ getDataElementByElementName(name: string): Promise<Locator>;
8
+ getButtonByText(text: string): Promise<Locator>;
7
9
  getButtonByLabelKey(label: string): Promise<Locator>;
8
10
  getSuccessNotification(): Promise<Locator>;
9
11
  isSuccessNotificationVisible(): Promise<void>;
10
12
  isErrorNotificationVisible(): Promise<void>;
11
13
  getErrorNotification(): Promise<Locator>;
12
14
  clickElement(selector: Promise<Locator>, options?: any): Promise<void>;
15
+ clickDataElementByElementName(name: string): Promise<void>;
16
+ clickButtonByText(text: string): Promise<void>;
13
17
  goToSection(sectionAlias: string): Promise<void>;
14
18
  waitForTreeLoad(sectionAlias: string): Promise<void>;
15
19
  getTreeItem(treeName: string, itemNamePathArray: string[]): Promise<Locator>;
@@ -14,6 +14,12 @@ class UiHelpers {
14
14
  async getGlobalUser() {
15
15
  return this.page.locator(`[data-element="global-user"]`);
16
16
  }
17
+ async getDataElementByElementName(name) {
18
+ return this.page.locator(`[data-element="${name}"]`);
19
+ }
20
+ async getButtonByText(text) {
21
+ return this.page.locator(`button:has-text("${text}")`);
22
+ }
17
23
  async getButtonByLabelKey(label) {
18
24
  return this.page.locator(`umb-button[label-key="${label}"] button:enabled`);
19
25
  }
@@ -33,6 +39,12 @@ class UiHelpers {
33
39
  const resolvedSelector = await selector;
34
40
  await resolvedSelector.click(options);
35
41
  }
42
+ async clickDataElementByElementName(name) {
43
+ return this.page.click(`[data-element="${name}"]`);
44
+ }
45
+ async clickButtonByText(text) {
46
+ return this.page.click(`button:has-text("${text}")`);
47
+ }
36
48
  async goToSection(sectionAlias) {
37
49
  await this.page.click('[data-element="section-' + sectionAlias + '"]');
38
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UiHelpers.js","sourceRoot":"","sources":["../../../lib/helpers/UiHelpers.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\"\nimport {AliasHelper} from \"./AliasHelper\";\n\nexport class UiHelpers {\n\n page: Page;\n\n constructor(page: Page) {\n this.page = page;\n }\n\n async getGlobalHelp() {\n return this.page.locator(`[data-element=\"global-help\"]`);\n }\n\n async getGlobalUser() {\n return this.page.locator(`[data-element=\"global-user\"]`);\n }\n\n async getButtonByLabelKey(label: string) {\n return this.page.locator(`umb-button[label-key=\"${label}\"] button:enabled`);\n }\n\n async getSuccessNotification() {\n return this.page.locator('.umb-notifications__notifications > .alert-success');\n }\n\n async isSuccessNotificationVisible() {\n await expect(await this.getSuccessNotification()).toBeVisible();\n }\n\n async isErrorNotificationVisible() {\n await expect(await this.getErrorNotification()).toBeVisible();\n }\n\n async getErrorNotification() {\n return this.page.locator('.umb-notifications__notifications > .alert-error');\n }\n\n async clickElement(selector: Promise<Locator>, options: any = null) {\n const resolvedSelector = await selector;\n await resolvedSelector.click(options);\n }\n\n async goToSection(sectionAlias: string) {\n await this.page.click('[data-element=\"section-' + sectionAlias + '\"]');\n }\n\n async waitForTreeLoad(sectionAlias: string) {\n const tree = await this.page.locator('.umb-tree');\n await expect(await this.page.locator('.umb-tree')).toBeVisible();\n await expect(await tree.locator(\"a\", {hasText: sectionAlias})).toBeVisible();\n }\n\n async getTreeItem(treeName: string, itemNamePathArray: string[]) {\n\n await expect((await this.page.locator('li > .umb-tree-root a[href*=' + treeName + ']').first())).toBeVisible();\n let finalLocator = await this.page\n .locator('li > .umb-tree-root a[href*=' + treeName + ']')\n .locator(\"xpath=ancestor::li\");\n\n for (let i = 0; i < itemNamePathArray.length; i++) {\n // We want to find the outer li of the tree item, to be able to search deeper, there may be multiple results\n // for multiple levels of nesting, but it should be okay to pick last, since that should pick the immediate parent\n // the search goes from outer most to inner most (I think)\n finalLocator = await finalLocator\n .locator('.umb-tree-item__label >> text=' + itemNamePathArray[i])\n .locator('xpath=ancestor::li[contains(@class, \"umb-tree-item\")]')\n .last();\n\n // We don't want to click the expand option if we're on the last item, \n // since that can cause issues when clicking the \"root\" items, such as Document Types.\n if (i + 1 == itemNamePathArray.length) {\n break;\n }\n\n // Get the UL with the collapsed state, if it exists\n const ulObject = await finalLocator.locator(\".collapsed\");\n const locatorIcon = await finalLocator.locator('[data-element=\"tree-item-expand\"]', {hasText: itemNamePathArray[i]}).innerHTML();\n \n // Check if an element is actually expanded, if not expanded, it will have the \"icon-navigation-right\"\n if(locatorIcon.includes(\"icon-navigation-right\")){\n if (await ulObject.count() > 0) {\n // Get the expand button\n const expandButton = finalLocator.locator('[data-element=\"tree-item-expand\"]', {hasText: itemNamePathArray[i]});\n // Weirdly if a tree item has no children is still marked as expanded, however, the expand button is hidden\n // So we have to ensure that the button is not hidden before we click.\n if (await expandButton.isHidden() === false) {\n // Click the expand button, if its collapsed\n await finalLocator.locator('[data-element=\"tree-item-expand\"]', {hasText: itemNamePathArray[i]}).click();\n }\n }\n }\n }\n\n return finalLocator;\n }\n\n async getContextMenuAction(actionName: string) {\n return this.page.locator('li.umb-action[data-element=\"' + actionName + '\"]');\n }\n\n async setEditorHeaderName(headerName: string) {\n const header = await this.page.locator(\"#headerName\")\n await header.type(headerName);\n\n // We need to wait for the alias to be generated, but only if we can find it\n const aliasField = await this.page.locator('.umb-locked-field__input');\n if (await aliasField.count() > 0) {\n await expect(aliasField).toHaveValue(AliasHelper.toAlias(headerName));\n }\n\n }\n\n async getEditorHeaderName(typedText: string) {\n await this.page.locator('#headerName').fill(typedText, {timeout: 10000});\n\n let result = await this.page.locator('.umb-editor-header__name-wrapper').locator('input[name=\"lockedField\"]');\n const alias = AliasHelper.toAlias(typedText);\n await expect(result).toHaveValue(alias);\n }\n\n async clickMultiple(locator: Locator) {\n // TODO: Remove this\n // We're calling nth.IsEnabled to initialize the array, because locator is lazy\n // and count will then always return 0, hopefully this will be fixed in a future version of playwright\n await locator.nth(0).isEnabled();\n\n if (await locator.count() > 0) {\n let selects = await locator.elementHandles();\n for (const index in selects) {\n await selects[index].click();\n }\n }\n }\n\n async refreshContentTree() {\n const contentHeader = await this.page.locator('li .umb-tree-root >> text=\"Content\"');\n await expect(contentHeader).toBeVisible();\n await contentHeader.click({button: \"right\"});\n\n await this.clickElement(this.getContextMenuAction(\"action-refreshNode\"))\n\n await expect(await this.page.locator('.umb-tree-item__inner').first()).toBeVisible();\n }\n \n async refreshMediaTree() {\n const mediaHeader = await this.page.locator('li .umb-tree-root >> text=\"Media\"');\n await expect(mediaHeader).toBeVisible();\n await mediaHeader.click({button: \"right\"});\n await this.clickElement(this.getContextMenuAction(\"action-refreshNode\"));\n await expect(await this.page.locator('.umb-tree-item__inner').first()).toBeVisible();\n }\n \n async fileUploader(path){\n this.page.on(\"filechooser\", async (fileChooser) => {\n await fileChooser.setFiles(path);\n });\n await this.page.locator('[property-alias=\"umbracoFile\"]').click();\n await this.page.locator('[alias=\"save\"]').click();\n }\n \n async switchCultureInContent(languageName)\n {\n await this.page.locator('.umb-variant-switcher__toggle').click();\n await this.page.locator('.umb-variant-switcher__name-wrapper', {hasText: languageName}).click();\n }\n \n async updateDocumentPermissionsToAllowCultureVariant(){\n await this.page.locator('[data-element=\"sub-view-permissions\"]').click();\n await this.page.locator('[data-element=\"permissions-allow-as-root\"]').click();\n await this.page.locator('[data-element=\"permissions-allow-culture-variant\"]').click();\n await this.page.locator('[data-element=\"sub-view-design\"]').click();\n }\n \n async goToAddEditor(groupName, propertyName){\n await this.page.locator('[data-element=\"group-add\"]').click();\n await this.page.locator('[data-element=\"group-name\"]').type(groupName);\n await this.page.locator('[key=\"contentTypeEditor_addProperty\"]').click();\n await this.page.locator('[data-element=\"property-name\"]').type(propertyName);\n await this.page.locator('[data-element=\"editor-add\"]').click();\n }\n \n async createNewDocumentTypeWithTemplate(){\n await this.page.locator('[data-element=\"tree-item-options\"]',{hasText: \"Open context menu for Document Types\"}).click();\n await this.page.locator('[data-element=\"action-documentType\"]').click();\n }\n\n async createContentWithDocumentType(documentName){\n await this.page.locator('[element=\"tree-item-options\"]', {hasText: \"Open context node for Content\"}).click();\n await this.page.locator('.umb-action-link', {hasText: documentName}).click();\n }\n \n}\n"]}
1
+ {"version":3,"file":"UiHelpers.js","sourceRoot":"","sources":["../../../lib/helpers/UiHelpers.ts"],"names":[],"mappings":";;;AAAA,2CAAsD;AACtD,+CAA0C;AAE1C,MAAa,SAAS;IAEpB,IAAI,CAAO;IAEX,YAAY,IAAU;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,IAAW;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,IAAI,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAW;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,IAAI,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,KAAa;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,KAAK,mBAAmB,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC;IACjF,CAAC;IAED,KAAK,CAAC,4BAA4B;QAChC,MAAM,IAAA,aAAM,EAAC,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAA,aAAM,EAAC,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAA0B,EAAE,UAAe,IAAI;QAChE,MAAM,gBAAgB,GAAG,MAAM,QAAQ,CAAC;QACxC,MAAM,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,6BAA6B,CAAC,IAAW;QAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,IAAI,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAW;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,IAAI,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,YAAoB;QACpC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,yBAAyB,GAAG,YAAY,GAAG,IAAI,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,YAAoB;QACxC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAClD,MAAM,IAAA,aAAM,EAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACjE,MAAM,IAAA,aAAM,EAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAC,OAAO,EAAE,YAAY,EAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAgB,EAAE,iBAA2B;QAE7D,MAAM,IAAA,aAAM,EAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,8BAA8B,GAAG,QAAQ,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/G,IAAI,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI;aAC/B,OAAO,CAAC,8BAA8B,GAAG,QAAQ,GAAG,GAAG,CAAC;aACxD,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,4GAA4G;YAC5G,kHAAkH;YAClH,0DAA0D;YAC1D,YAAY,GAAG,MAAM,YAAY;iBAC9B,OAAO,CAAC,gCAAgC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;iBAChE,OAAO,CAAC,uDAAuD,CAAC;iBAChE,IAAI,EAAE,CAAC;YAEV,uEAAuE;YACvE,sFAAsF;YACtF,IAAI,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC,MAAM,EAAE;gBACrC,MAAM;aACP;YAED,oDAAoD;YACpD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC1D,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,mCAAmC,EAAE,EAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,SAAS,EAAE,CAAC;YAEjI,sGAAsG;YACtG,IAAG,WAAW,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAC;gBAC/C,IAAI,MAAM,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;oBAC9B,wBAAwB;oBACxB,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,mCAAmC,EAAE,EAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC;oBAChH,2GAA2G;oBAC3G,sEAAsE;oBACtE,IAAI,MAAM,YAAY,CAAC,QAAQ,EAAE,KAAK,KAAK,EAAE;wBAC3C,4CAA4C;wBAC5C,MAAM,YAAY,CAAC,OAAO,CAAC,mCAAmC,EAAE,EAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,KAAK,EAAE,CAAC;qBAC1G;iBACF;aACF;SACF;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,UAAkB;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,8BAA8B,GAAG,UAAU,GAAG,IAAI,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,UAAkB;QAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;QACrD,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE9B,4EAA4E;QAC5E,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QACvE,IAAI,MAAM,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;YAChC,MAAM,IAAA,aAAM,EAAC,UAAU,CAAC,CAAC,WAAW,CAAC,yBAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;SACvE;IAEH,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,SAAiB;QACzC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC;QAEzE,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;QAC9G,MAAM,KAAK,GAAG,yBAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAgB;QAClC,oBAAoB;QACpB,+EAA+E;QAC/E,sGAAsG;QACtG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QAEjC,IAAI,MAAM,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;YAC7B,IAAI,OAAO,GAAG,MAAM,OAAO,CAAC,cAAc,EAAE,CAAC;YAC7C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;gBAC3B,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;aAC9B;SACF;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC;QACrF,MAAM,IAAA,aAAM,EAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,aAAa,CAAC,KAAK,CAAC,EAAC,MAAM,EAAE,OAAO,EAAC,CAAC,CAAC;QAE7C,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC,CAAA;QAExE,MAAM,IAAA,aAAM,EAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;QACjF,MAAM,IAAA,aAAM,EAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,WAAW,CAAC,KAAK,CAAC,EAAC,MAAM,EAAE,OAAO,EAAC,CAAC,CAAC;QAC3C,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACzE,MAAM,IAAA,aAAM,EAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAI;QACrB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YAChD,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC,KAAK,EAAE,CAAC;QAClE,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,YAAY;QAEvC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,KAAK,EAAE,CAAC;QACjE,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,qCAAqC,EAAE,EAAC,OAAO,EAAE,YAAY,EAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IAClG,CAAC;IAED,KAAK,CAAC,8CAA8C;QAClD,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,KAAK,EAAE,CAAC;QACzE,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC,KAAK,EAAE,CAAC;QAC9E,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC,KAAK,EAAE,CAAC;QACtF,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,KAAK,EAAE,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,YAAY;QACzC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,KAAK,EAAE,CAAC;QAC9D,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvE,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,KAAK,EAAE,CAAC;QACzE,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7E,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC,KAAK,EAAE,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,iCAAiC;QACrC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,oCAAoC,EAAC,EAAC,OAAO,EAAE,sCAAsC,EAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACxH,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC,KAAK,EAAE,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,6BAA6B,CAAC,YAAY;QAC9C,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,+BAA+B,EAAE,EAAC,OAAO,EAAE,+BAA+B,EAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAC7G,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAC,OAAO,EAAE,YAAY,EAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IAC/E,CAAC;CAEF;AA9MD,8BA8MC","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\"\nimport {AliasHelper} from \"./AliasHelper\";\n\nexport class UiHelpers {\n\n page: Page;\n\n constructor(page: Page) {\n this.page = page;\n }\n\n async getGlobalHelp() {\n return this.page.locator(`[data-element=\"global-help\"]`);\n }\n\n async getGlobalUser() {\n return this.page.locator(`[data-element=\"global-user\"]`);\n }\n\n async getDataElementByElementName(name:string){\n return this.page.locator(`[data-element=\"${name}\"]`);\n } \n\n async getButtonByText(text:string){\n return this.page.locator(`button:has-text(\"${text}\")`);\n }\n\n async getButtonByLabelKey(label: string) {\n return this.page.locator(`umb-button[label-key=\"${label}\"] button:enabled`);\n }\n\n async getSuccessNotification() {\n return this.page.locator('.umb-notifications__notifications > .alert-success');\n }\n\n async isSuccessNotificationVisible() {\n await expect(await this.getSuccessNotification()).toBeVisible();\n }\n\n async isErrorNotificationVisible() {\n await expect(await this.getErrorNotification()).toBeVisible();\n }\n\n async getErrorNotification() {\n return this.page.locator('.umb-notifications__notifications > .alert-error');\n }\n\n async clickElement(selector: Promise<Locator>, options: any = null) {\n const resolvedSelector = await selector;\n await resolvedSelector.click(options);\n }\n\n async clickDataElementByElementName(name:string){\n return this.page.click(`[data-element=\"${name}\"]`);\n }\n\n async clickButtonByText(text:string){\n return this.page.click(`button:has-text(\"${text}\")`);\n }\n\n async goToSection(sectionAlias: string) {\n await this.page.click('[data-element=\"section-' + sectionAlias + '\"]');\n }\n\n async waitForTreeLoad(sectionAlias: string) {\n const tree = await this.page.locator('.umb-tree');\n await expect(await this.page.locator('.umb-tree')).toBeVisible();\n await expect(await tree.locator(\"a\", {hasText: sectionAlias})).toBeVisible();\n }\n\n async getTreeItem(treeName: string, itemNamePathArray: string[]) {\n\n await expect((await this.page.locator('li > .umb-tree-root a[href*=' + treeName + ']').first())).toBeVisible();\n let finalLocator = await this.page\n .locator('li > .umb-tree-root a[href*=' + treeName + ']')\n .locator(\"xpath=ancestor::li\");\n\n for (let i = 0; i < itemNamePathArray.length; i++) {\n // We want to find the outer li of the tree item, to be able to search deeper, there may be multiple results\n // for multiple levels of nesting, but it should be okay to pick last, since that should pick the immediate parent\n // the search goes from outer most to inner most (I think)\n finalLocator = await finalLocator\n .locator('.umb-tree-item__label >> text=' + itemNamePathArray[i])\n .locator('xpath=ancestor::li[contains(@class, \"umb-tree-item\")]')\n .last();\n\n // We don't want to click the expand option if we're on the last item, \n // since that can cause issues when clicking the \"root\" items, such as Document Types.\n if (i + 1 == itemNamePathArray.length) {\n break;\n }\n\n // Get the UL with the collapsed state, if it exists\n const ulObject = await finalLocator.locator(\".collapsed\");\n const locatorIcon = await finalLocator.locator('[data-element=\"tree-item-expand\"]', {hasText: itemNamePathArray[i]}).innerHTML();\n \n // Check if an element is actually expanded, if not expanded, it will have the \"icon-navigation-right\"\n if(locatorIcon.includes(\"icon-navigation-right\")){\n if (await ulObject.count() > 0) {\n // Get the expand button\n const expandButton = finalLocator.locator('[data-element=\"tree-item-expand\"]', {hasText: itemNamePathArray[i]});\n // Weirdly if a tree item has no children is still marked as expanded, however, the expand button is hidden\n // So we have to ensure that the button is not hidden before we click.\n if (await expandButton.isHidden() === false) {\n // Click the expand button, if its collapsed\n await finalLocator.locator('[data-element=\"tree-item-expand\"]', {hasText: itemNamePathArray[i]}).click();\n }\n }\n }\n }\n\n return finalLocator;\n }\n\n async getContextMenuAction(actionName: string) {\n return this.page.locator('li.umb-action[data-element=\"' + actionName + '\"]');\n }\n\n async setEditorHeaderName(headerName: string) {\n const header = await this.page.locator(\"#headerName\")\n await header.type(headerName);\n\n // We need to wait for the alias to be generated, but only if we can find it\n const aliasField = await this.page.locator('.umb-locked-field__input');\n if (await aliasField.count() > 0) {\n await expect(aliasField).toHaveValue(AliasHelper.toAlias(headerName));\n }\n\n }\n\n async getEditorHeaderName(typedText: string) {\n await this.page.locator('#headerName').fill(typedText, {timeout: 10000});\n\n let result = await this.page.locator('.umb-editor-header__name-wrapper').locator('input[name=\"lockedField\"]');\n const alias = AliasHelper.toAlias(typedText);\n await expect(result).toHaveValue(alias);\n }\n\n async clickMultiple(locator: Locator) {\n // TODO: Remove this\n // We're calling nth.IsEnabled to initialize the array, because locator is lazy\n // and count will then always return 0, hopefully this will be fixed in a future version of playwright\n await locator.nth(0).isEnabled();\n\n if (await locator.count() > 0) {\n let selects = await locator.elementHandles();\n for (const index in selects) {\n await selects[index].click();\n }\n }\n }\n\n async refreshContentTree() {\n const contentHeader = await this.page.locator('li .umb-tree-root >> text=\"Content\"');\n await expect(contentHeader).toBeVisible();\n await contentHeader.click({button: \"right\"});\n\n await this.clickElement(this.getContextMenuAction(\"action-refreshNode\"))\n\n await expect(await this.page.locator('.umb-tree-item__inner').first()).toBeVisible();\n }\n \n async refreshMediaTree() {\n const mediaHeader = await this.page.locator('li .umb-tree-root >> text=\"Media\"');\n await expect(mediaHeader).toBeVisible();\n await mediaHeader.click({button: \"right\"});\n await this.clickElement(this.getContextMenuAction(\"action-refreshNode\"));\n await expect(await this.page.locator('.umb-tree-item__inner').first()).toBeVisible();\n }\n \n async fileUploader(path){\n this.page.on(\"filechooser\", async (fileChooser) => {\n await fileChooser.setFiles(path);\n });\n await this.page.locator('[property-alias=\"umbracoFile\"]').click();\n await this.page.locator('[alias=\"save\"]').click();\n }\n \n async switchCultureInContent(languageName)\n {\n await this.page.locator('.umb-variant-switcher__toggle').click();\n await this.page.locator('.umb-variant-switcher__name-wrapper', {hasText: languageName}).click();\n }\n \n async updateDocumentPermissionsToAllowCultureVariant(){\n await this.page.locator('[data-element=\"sub-view-permissions\"]').click();\n await this.page.locator('[data-element=\"permissions-allow-as-root\"]').click();\n await this.page.locator('[data-element=\"permissions-allow-culture-variant\"]').click();\n await this.page.locator('[data-element=\"sub-view-design\"]').click();\n }\n \n async goToAddEditor(groupName, propertyName){\n await this.page.locator('[data-element=\"group-add\"]').click();\n await this.page.locator('[data-element=\"group-name\"]').type(groupName);\n await this.page.locator('[key=\"contentTypeEditor_addProperty\"]').click();\n await this.page.locator('[data-element=\"property-name\"]').type(propertyName);\n await this.page.locator('[data-element=\"editor-add\"]').click();\n }\n \n async createNewDocumentTypeWithTemplate(){\n await this.page.locator('[data-element=\"tree-item-options\"]',{hasText: \"Open context menu for Document Types\"}).click();\n await this.page.locator('[data-element=\"action-documentType\"]').click();\n }\n\n async createContentWithDocumentType(documentName){\n await this.page.locator('[element=\"tree-item-options\"]', {hasText: \"Open context node for Content\"}).click();\n await this.page.locator('.umb-action-link', {hasText: documentName}).click();\n }\n \n}\n"]}
@@ -3,6 +3,7 @@ export declare class UserApiHelper {
3
3
  api: ApiHelpers;
4
4
  constructor(api: ApiHelpers);
5
5
  ensureEmailNotExits(email: string): Promise<void>;
6
+ ensureUserBelongsToGroup(name: string): Promise<void>;
6
7
  setCurrentLanguage(language: any): Promise<void>;
7
8
  deleteContentById(id: any): Promise<void>;
8
9
  postCreateUser(user: any): Promise<void>;
@@ -16,6 +16,28 @@ class UserApiHelper {
16
16
  await this.api.post(`${this.api.baseUrl}/umbraco/backoffice/UmbracoApi/Users/PostDeleteNonLoggedInUser?id=${userId}`);
17
17
  }
18
18
  }
19
+ async ensureUserBelongsToGroup(name) {
20
+ let response = await this.api.get(`${this.api.baseUrl}/umbraco/backoffice/umbracoapi/authentication/GetCurrentUser`);
21
+ const searchBody = await JsonHelper_1.JsonHelper.getBody(response);
22
+ let userGroup = null;
23
+ if (searchBody !== null) {
24
+ for (const ug of searchBody.userGroups) {
25
+ if (ug == name) {
26
+ userGroup = ug;
27
+ }
28
+ }
29
+ if (userGroup == null) {
30
+ let params = {};
31
+ params["userGroupAliases[0]"] = name;
32
+ searchBody.userGroups.forEach(function (alias, i) {
33
+ params[`userGroupAliases[${i + 1}]`] = alias;
34
+ });
35
+ params["userIds"] = searchBody.id;
36
+ await this.api.get(`${this.api.baseUrl}/umbraco/backoffice/UmbracoApi/Users/PostSetUserGroupsOnUsers`, params);
37
+ return;
38
+ }
39
+ }
40
+ }
19
41
  async setCurrentLanguage(language) {
20
42
  let response = await this.api.get(`${this.api.baseUrl}/umbraco/backoffice/umbracoapi/authentication/GetCurrentUser`);
21
43
  const searchBody = await JsonHelper_1.JsonHelper.getBody(response);
@@ -1 +1 @@
1
- {"version":3,"file":"UserApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/UserApiHelper.ts"],"names":[],"mappings":";;;AACA,6CAAwC;AACxC,yDAAmD;AAEnD,MAAa,aAAa;IACxB,GAAG,CAAY;IAEf,YAAY,GAAe;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,KAAa;QACrC,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,2HAA2H,KAAK,EAAE,CAAC,CAAA;QACxL,MAAM,UAAU,GAAG,MAAM,uBAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,UAAU,CAAC,UAAU,IAAI,CAAC,EAAE;YAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,qEAAqE,MAAM,EAAE,CAAC,CAAA;SACtH;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,QAAQ;QAC/B,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,8DAA8D,CAAC,CAAA;QACpH,MAAM,UAAU,GAAG,MAAM,uBAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG;YACX,EAAE,EAAE,UAAU,CAAC,EAAE;YACjB,QAAQ,EAAE,CAAC,CAAC;YACZ,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,QAAQ,EAAE,UAAU,CAAC,KAAK;YAC1B,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,eAAe,EAAE,EAAE;YACnB,aAAa,EAAE,EAAE;YACjB,UAAU,EAAE,UAAU,CAAC,UAAU;SAClC,CAAA;QACD,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,mDAAmD,EAAE,IAAI,CAAC,CAAA;IACnG,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,EAAE;QACxB,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,wDAAwD,EAAE,EAAE,CAAC,CAAA;IACtG,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAI;QACrB,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,8BAAa,CAAC,WAAW,CAAC,OAAO,qDAAqD,EAAE,IAAI,CAAC,CAAA;IACtH,CAAC;IAAA,CAAC;CAIL;AA3CD,sCA2CC","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {JsonHelper} from \"./JsonHelper\";\nimport {umbracoConfig} from \"../../umbraco.config\";\n\nexport class UserApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async ensureEmailNotExits(email: string) {\n let response = await this.api.get(`${this.api.baseUrl}/umbraco/backoffice/UmbracoApi/Users/GetPagedUsers?pageNumber=1&pageSize=1&orderBy=Name&orderDirection=Ascending&filter=${email}`)\n const searchBody = await JsonHelper.getBody(response);\n if (searchBody.totalItems >= 1) {\n const userId = searchBody.items[0].id;\n await this.api.post(`${this.api.baseUrl}/umbraco/backoffice/UmbracoApi/Users/PostDeleteNonLoggedInUser?id=${userId}`)\n }\n }\n\n async setCurrentLanguage(language) {\n let response = await this.api.get(`${this.api.baseUrl}/umbraco/backoffice/umbracoapi/authentication/GetCurrentUser`)\n const searchBody = await JsonHelper.getBody(response);\n const user = {\n id: searchBody.id,\n parentId: -1,\n name: searchBody.name,\n username: searchBody.email,\n culture: language,\n email: searchBody.email,\n startContentIds: [],\n startMediaIds: [],\n userGroups: searchBody.userGroups\n }\n await this.api.post(`${this.api.baseUrl}/umbraco/backoffice/umbracoapi/users/PostSaveUser`, user)\n }\n\n async deleteContentById(id) {\n await this.api.post(`${this.api.baseUrl}/umbraco/backoffice/UmbracoApi/Content/DeleteById?id=${id}`)\n }\n \n async postCreateUser(user){\n await this.api.post(`${umbracoConfig.environment.baseUrl}/umbraco/backoffice/umbracoapi/users/PostCreateUser`, user)\n };\n \n \n \n}"]}
1
+ {"version":3,"file":"UserApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/UserApiHelper.ts"],"names":[],"mappings":";;;AACA,6CAAwC;AACxC,yDAAmD;AAEnD,MAAa,aAAa;IACxB,GAAG,CAAY;IAEf,YAAY,GAAe;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,KAAa;QACrC,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,2HAA2H,KAAK,EAAE,CAAC,CAAA;QACxL,MAAM,UAAU,GAAG,MAAM,uBAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,UAAU,CAAC,UAAU,IAAI,CAAC,EAAE;YAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,qEAAqE,MAAM,EAAE,CAAC,CAAA;SACtH;IACH,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,IAAY;QACzC,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,8DAA8D,CAAC,CAAA;QACpH,MAAM,UAAU,GAAG,MAAM,uBAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,SAAS,GAAG,IAAI,CAAC;QACrB,IAAI,UAAU,KAAK,IAAI,EAAE;YACvB,KAAK,MAAM,EAAE,IAAI,UAAU,CAAC,UAAU,EAAE;gBACtC,IAAI,EAAE,IAAI,IAAI,EAAE;oBACZ,SAAS,GAAG,EAAE,CAAC;iBAClB;aACF;YAED,IAAI,SAAS,IAAI,IAAI,EAAE;gBACrB,IAAI,MAAM,GAAiD,EAAE,CAAC;gBAC9D,MAAM,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC;gBACrC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE,CAAC;oBAC5C,MAAM,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACjD,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,+DAA+D,EAAE,MAAM,CAAC,CAAC;gBAC/G,OAAO;aACR;SACF;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,QAAQ;QAC/B,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,8DAA8D,CAAC,CAAA;QACpH,MAAM,UAAU,GAAG,MAAM,uBAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG;YACX,EAAE,EAAE,UAAU,CAAC,EAAE;YACjB,QAAQ,EAAE,CAAC,CAAC;YACZ,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,QAAQ,EAAE,UAAU,CAAC,KAAK;YAC1B,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,eAAe,EAAE,EAAE;YACnB,aAAa,EAAE,EAAE;YACjB,UAAU,EAAE,UAAU,CAAC,UAAU;SAClC,CAAA;QACD,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,mDAAmD,EAAE,IAAI,CAAC,CAAA;IACnG,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,EAAE;QACxB,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,wDAAwD,EAAE,EAAE,CAAC,CAAA;IACtG,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAI;QACrB,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,8BAAa,CAAC,WAAW,CAAC,OAAO,qDAAqD,EAAE,IAAI,CAAC,CAAA;IACxH,CAAC;IAAA,CAAC;CAIH;AAnED,sCAmEC","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {JsonHelper} from \"./JsonHelper\";\nimport {umbracoConfig} from \"../../umbraco.config\";\n\nexport class UserApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async ensureEmailNotExits(email: string) {\n let response = await this.api.get(`${this.api.baseUrl}/umbraco/backoffice/UmbracoApi/Users/GetPagedUsers?pageNumber=1&pageSize=1&orderBy=Name&orderDirection=Ascending&filter=${email}`)\n const searchBody = await JsonHelper.getBody(response);\n if (searchBody.totalItems >= 1) {\n const userId = searchBody.items[0].id;\n await this.api.post(`${this.api.baseUrl}/umbraco/backoffice/UmbracoApi/Users/PostDeleteNonLoggedInUser?id=${userId}`)\n }\n }\n\n async ensureUserBelongsToGroup(name: string) {\n let response = await this.api.get(`${this.api.baseUrl}/umbraco/backoffice/umbracoapi/authentication/GetCurrentUser`)\n const searchBody = await JsonHelper.getBody(response);\n let userGroup = null;\n if (searchBody !== null) {\n for (const ug of searchBody.userGroups) {\n if (ug == name) {\n userGroup = ug;\n }\n }\n\n if (userGroup == null) {\n let params:{ [key: string]: string | number | boolean; } = {};\n params[\"userGroupAliases[0]\"] = name;\n searchBody.userGroups.forEach(function (alias, i) {\n params[`userGroupAliases[${i + 1}]`] = alias;\n });\n params[\"userIds\"] = searchBody.id;\n await this.api.get(`${this.api.baseUrl}/umbraco/backoffice/UmbracoApi/Users/PostSetUserGroupsOnUsers`, params);\n return;\n }\n }\n }\n\n async setCurrentLanguage(language) {\n let response = await this.api.get(`${this.api.baseUrl}/umbraco/backoffice/umbracoapi/authentication/GetCurrentUser`)\n const searchBody = await JsonHelper.getBody(response);\n const user = {\n id: searchBody.id,\n parentId: -1,\n name: searchBody.name,\n username: searchBody.email,\n culture: language,\n email: searchBody.email,\n startContentIds: [],\n startMediaIds: [],\n userGroups: searchBody.userGroups\n }\n await this.api.post(`${this.api.baseUrl}/umbraco/backoffice/umbracoapi/users/PostSaveUser`, user)\n }\n\n async deleteContentById(id) {\n await this.api.post(`${this.api.baseUrl}/umbraco/backoffice/UmbracoApi/Content/DeleteById?id=${id}`)\n }\n \n async postCreateUser(user){\n await this.api.post(`${umbracoConfig.environment.baseUrl}/umbraco/backoffice/umbracoapi/users/PostCreateUser`, user)\n };\n \n \n \n}"]}
@@ -1 +1 @@
1
- {"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/tslib/tslib.d.ts","../lib/helpers/JsonHelper.ts","../node_modules/playwright-core/types/protocol.d.ts","../node_modules/playwright-core/types/structs.d.ts","../node_modules/playwright-core/types/types.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@types/istanbul-lib-coverage/index.d.ts","../node_modules/@jest/types/build/Global.d.ts","../node_modules/@jest/types/build/Circus.d.ts","../node_modules/@jest/types/node_modules/chalk/index.d.ts","../node_modules/@types/istanbul-lib-report/index.d.ts","../node_modules/@types/istanbul-reports/index.d.ts","../node_modules/@types/yargs-parser/index.d.ts","../node_modules/@types/yargs/index.d.ts","../node_modules/@jest/types/build/Config.d.ts","../node_modules/@jest/types/build/TestResult.d.ts","../node_modules/@jest/types/build/Transform.d.ts","../node_modules/@jest/types/build/index.d.ts","../node_modules/jest-matcher-utils/node_modules/chalk/index.d.ts","../node_modules/jest-diff/build/cleanupSemantic.d.ts","../node_modules/pretty-format/build/types.d.ts","../node_modules/pretty-format/build/index.d.ts","../node_modules/jest-diff/build/types.d.ts","../node_modules/jest-diff/build/diffLines.d.ts","../node_modules/jest-diff/build/printDiffs.d.ts","../node_modules/jest-diff/build/index.d.ts","../node_modules/jest-matcher-utils/build/index.d.ts","../node_modules/expect/build/jestMatchersObject.d.ts","../node_modules/expect/build/types.d.ts","../node_modules/expect/build/index.d.ts","../node_modules/@playwright/test/types/testExpect.d.ts","../node_modules/@playwright/test/types/test.d.ts","../node_modules/@playwright/test/index.d.ts","../lib/helpers/DocumentTypeApiHelper.ts","../lib/helpers/TemplatesApiHelper.ts","../umbraco.config.ts","../node_modules/@umbraco/json-models-builders/dist/lib/helpers/AliasHelper.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/dataTypes/dataTypePrevalue.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/dataTypes/dataType.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/dataTypes/checkBoxListDataType.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/dataTypes/formPickerDataType.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/dataTypes/labelDataType.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/dataTypes/textBoxDataType.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/dataTypes/dropDownDataType.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/dataTypes/gridDataType.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/dataTypes/approvedColourPickerDataType.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/dataTypes/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/properties/baseProperty.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/properties/textBoxProperty.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/properties/formPickerProperty.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/properties/dropDownProperty.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/properties/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/template.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/stylesheet.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/cmsDocumentType.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/partialViewMacros/partialViewMacro.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/package.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/content/contentVariantPropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/content/contentVariantBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/content/contentBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/dataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/formPickerDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/labelDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/textBoxDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/dropDownDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/gridBuilders/sectionBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/gridBuilders/gridLayoutBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/gridBuilders/gridAreaBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/gridBuilders/gridRowConfigBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/gridBuilders/rteToolbarOptionsBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/gridBuilders/gridRteBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/gridBuilders/gridSettingsBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/gridBuilders/gridStylesBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/gridBuilders/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/gridDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/approvedColorPickerTypeDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/checkBoxListDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/properties/documentTypePropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/properties/formPickerDocumentTypePropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/properties/textBoxDocumentTypePropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/properties/dropDownDocumentTypePropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/properties/contentPickerTypePropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/properties/richTextDocumentTypePropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/properties/customDocumentTypePropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/properties/approvedColorPickerTypeDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/properties/urlPickerTypePropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/properties/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/documentTypeGroupBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/documentTypeTabBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/documentTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/templates/templateBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/userGroups/permissionsBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/userGroups/nodePermissionBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/userGroups/nodePermissionCollectionBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/userGroups/userGroupBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/partialViewMacros/partialViewMacroBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/partialViews/partialViewBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/packages/packageBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/media/mediaPropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/media/mediaBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/media/mediaFileBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/domain/domainPropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/domain/domainBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/user/userBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/stylesheets/stylesheetBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/macroBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/scriptbuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/index.d.ts","../lib/helpers/ContentApiHelper.ts","../lib/helpers/LanguagesApiHelper.ts","../lib/helpers/UserApiHelper.ts","../lib/helpers/UserGroupApiHelper.ts","../lib/helpers/MacroApiHelper.ts","../lib/helpers/MediaTypeApiHelper.ts","../lib/helpers/MemberTypeApiHelper.ts","../lib/helpers/DatatypeApiHelper.ts","../lib/helpers/StylesheetApiHelper.ts","../lib/helpers/FolderApiHelper.ts","../lib/helpers/ScriptApiHelper.ts","../lib/helpers/PartialViewApiHelper.ts","../lib/helpers/RelationTypeApiHelper.ts","../lib/helpers/PackageApiHelper.ts","../lib/helpers/MemberApiHelper.ts","../lib/helpers/MemberGroupApiHelper.ts","../lib/helpers/MediaApiHelper.ts","../lib/helpers/DomainApiHelper.ts","../lib/helpers/ApiHelpers.ts","../lib/helpers/AliasHelper.ts","../lib/helpers/UiHelpers.ts","../lib/helpers/testExtension.ts","../lib/helpers/ConstantHelper.ts","../lib/helpers/index.ts","../lib/index.ts","../node_modules/@types/stack-utils/index.d.ts","../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"f20c05dbfe50a208301d2a1da37b9931bce0466eb5a1f4fe240971b4ecc82b67","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"9b087de7268e4efc5f215347a62656663933d63c0b1d7b624913240367b999ea","affectsGlobalScope":true},{"version":"3260e3386d9535b804205bdddb5618a9a27735bd22927f48ad54363abcd23d45","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"55f400eec64d17e888e278f4def2f254b41b89515d3b88ad75d5e05f019daddd","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"775d9c9fd150d5de79e0450f35bc8b8f94ae64e3eb5da12725ff2a649dccc777","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"14a84fbe4ec531dcbaf5d2594fd95df107258e60ae6c6a076404f13c3f66f28e",{"version":"27dc2aafc4322c429b4f085e9884f15ee2bfdc94a9595500df04e855af64d07f","signature":"3c4c586576db158f7102592df972b7160eef9347c0bf461727a2f784b99813bf"},"6cc32df5e1e9ffb6f2bbdd35f1630ed8f36e699f2769143ea2356d61eff752cd","3f4eca17bf5cb95dd385a861ff52eaa6f69c9d35d4d410d3781c3c8bb1b711e1","81b2903db467601571b008003d6fbb7f6477de8fd2da42f3e4580e050327ca76","0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"c2ab70bbc7a24c42a790890739dd8a0ba9d2e15038b40dff8163a97a5d148c00","affectsGlobalScope":true},"422dbb183fdced59425ca072c8bd09efaa77ce4e2ab928ec0d8a1ce062d2a45a",{"version":"712ba0d43b44d144dfd01593f61af6e2e21cfae83e834d297643e7973e55ed61","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","98a3ebfa494b46265634a73459050befba5da8fdc6ca0ef9b7269421780f4ff3","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","cc0b61316c4f37393f1f9595e93b673f4184e9d07f4c127165a490ec4a928668","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true},"7a5459efa09ea82088234e6533a203d528c594b01787fb90fba148885a36e8b6","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","ad41bb744149e92adb06eb953da195115620a3f2ad48e7d3ae04d10762dae197","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"5d0a9ea09d990b5788f867f1c79d4878f86f7384cb7dab38eecbf22f9efd063d","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"4cd4cff679c9b3d9239fd7bf70293ca4594583767526916af8e5d5a47d0219c7","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"3345c276cab0e76dda86c0fb79104ff915a4580ba0f3e440870e183b1baec476","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","e383ff72aabf294913f8c346f5da1445ae6ad525836d28efd52cbadc01a361a6","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7",{"version":"3a2da34079a2567161c1359316a32e712404b56566c45332ac9dcee015ecce9f","affectsGlobalScope":true},"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"9cafe917bf667f1027b2bb62e2de454ecd2119c80873ad76fc41d941089753b8","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","caac4c00061a947d2b1010bb6464f06197f2671bdf948fa1aa40bf1e244ee2a0","95b6c669e7ed7c5358c03f8aa24986640f6125ee81bb99e70e9155974f7fd253","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","f7e133b20ee2669b6c0e5d7f0cd510868c57cd64b283e68c7f598e30ce9d76d2","6ba73232c9d3267ca36ddb83e335d474d2c0e167481e3dec416c782894e11438","f7dd7280ee4f0420865e6423fe199aeac63d1d66203a8b631077cdc15501ef1f","ef62b4aa372f77458d84c26614b44129f929e263c81b5cd1034f5828a5530412","8610558ae88a43ad794c4ab1da4f0e8e174e0357c88f6cbb21f523e67414e9a9","0b0feb9837c561c0a67b61024328045bb16bac6e4b10f7b0b217d3b8b43b0b12","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","7adecb2c3238794c378d336a8182d4c3dd2c4fa6fa1785e2797a3db550edea62","dc12dc0e5aa06f4e1a7692149b78f89116af823b9e1f1e4eae140cd3e0e674e6","1bfc6565b90c8771615cd8cfcf9b36efc0275e5e83ac7d9181307e96eb495161","8a8a96898906f065f296665e411f51010b51372fa260d5373bf9f64356703190","7f82ef88bdb67d9a850dd1c7cd2d690f33e0f0acd208e3c9eba086f3670d4f73","67c51fa68aadbb50e4ffc650b704620e0393bddb3d3eac3a6195bf1956562fe4","2ce7c78f9301adfecd95d117c2d2d3aa745ae68ca4a47e3336640ff3fca7f5c0","62b2f9497fc9bda8af80d3b9042ea3ace39e03f14c465ff34280afcdf3098e0a",{"version":"5516be04bd534a50780d60d2b7ee3e0c34dae21382f211d284355172cea3532a","affectsGlobalScope":true},"e182d9a9daa2f7536c4b41c9e3ece19cadcd0e698bbcdcf5b6e290b12b6bdf90","dd058f85195242fea0d234e8f1d96b552d44bbba9e3513643c78a8c2a408317c",{"version":"ac1b1cef1e0ec1f1811bb2079975db46651dcf2e31b6245242119f61c800baf6","signature":"10967bf9e5d00f3de85590578207f1d5b2abccd0b6843e0f49b39558e21784f6"},{"version":"c0f450ff491e138ede0e426b6cac409dd2e3d9a4c48eee13adcd3c2027c84841","signature":"9d1c999aa35399abc231cd33a23d285958532b4477e516428674dc2b6c636bb9"},{"version":"c93350324664aeec0217741e56c4950435f58ebba7c4589b99deec894b33d67b","signature":"22fea8c28752d1a841afd4b34f886b6ddd7701982943de4a92694a371824b818"},"7c9803e8b478726fc90dac32492eb1904cf2ddf6cacc9393a823a1f56c8de2b6","93c79ea837a3683fe69f98a9ddec01954479eacd5e98217e7fe8c30569a2181c","3b04afa0a1663f0d190faba155d94e0b63e0060624834e6fbd99fdcf6211732c","08d7c8da9234ced6b8a40f30a6d6d834c7906c03dcd9a195be3c0af534693bab","a3455478b38af4f7dc07be256529c04f8ac44d2cb538a129b942d04385d38211","73cdeca1dccc3d7aea7b5435f5fc28616eb3429a2de8d8187fb58d0f1233cc03","9eb875eed077cb6976a15c56343833dbfc3033b44ccfe2cc5381a49075f366de","65cd89f643a55d3fc85f5120c3164a784e7cb506a940db4a96b2cfdffc48b664","93d2c022a4c49a9e690811d12ad90e13700ffa1af721e78cba5e28f197fab7d9","cae4718e85adc64a9cff1bb65207cdde5aceab88f91aef950890f49d1ac7546f","080331132004076e6084278ff1779ecd35462813536604718e38f217f87224e4","2f1de4e3a1e029e8980932077250d9f7a09430a6e09c1434286a0b2ae830725a","93079b8d71a2ca0467ee017578fad523ae3c91bbbf6e7d208266397ed95bb72d","ed52cd5e3d1c684a6af33f716ea95c0bf9df83fb666e3752c65af76e7ba72a88","f7845d9d67a488e0ace78a707619d5f0f73638507100ddfe7dd43bb9db474b01","6badfec8d5a56e856447012a7d6500c9a7aa7556031eeb3b02a5d169c116be2a","a2f7e45e3a741ead80526727256036db1ce99ad81ce9ed8257ac9ef1dff1f4bf","06c571473f15cb4efa04381e8ef885c89889206ecd0f23b3873e84b54325b3f8","d41db3972d8af8e26aefb3c5917294b0388c3aea85a9816b935a2f011ae82bf6","0fea2b98e477ce62dccb2b7e0fcbd4c5232d07a4ecbe9240b316a7769bff6922","1b7f6096ec365fcb1e31fcc81f3e4080aab87b9b4d224e0b45e670e37539516c","e50291879541d083c6fd370903958e154a55532587f57e1f181c937507bffa4d","f16387b8135581f44a284af3c377f37fb98e950a484da0e66af8c4fe68ccf562","588c0f9a388313b017c362f7d3fc79f54bff38d938336d261104faaa7fa22dd3","20f55a9e8eb1636d3337bf453f76470fe47627e167106e25cfda2eec49a999dd","b5c18096321db57d53c0a4195ddda193cda446f03ca8998d2c079b2116eb7a89","be53d81b22f837b57a79221eca978dce11607d78e28af03f3ccee9a1d16b2a6c","ecd85f997720a697821204abee88fbfd779e0d15f071c97b44a1a04e6b4f7d72","336fbad16ee44d15f3c2b1994d52b543575bf18bf28e3d78b2c0fd93d9d9fe6c","67dd8b4d4375e01ca3e6a29a01cb9d8eed0f841092419ff2ce440130b3eaf300","4d0b34a22bd3ac2c4d8fff2fd7944ead8b8ba18d9e8e81911c2e6a9fc67e029d","ad9f67d6847cd3e199c6ce6541747621800dd079fe9eb340626f181c3259c133","9f19539810ba84f940eff6a3e2a6a02ce8cdaee91bfe856d032b4b4d7fe1da6f","379ca46d581bf11029e4e72b9f963f325a25014cc63ac4ab19f557e6174be823","d93e9a21e0e2e679c6bcacc85034c958d11d7e5c543fb40ba9163e1409a745ab","f2b5bea18c828945b072868587f0e55ccaa127c5aab911f2e0fc43e51bfb26c3","13e79859b25030d48d869fa6c1c11b1389c58296a5ff2545348ca3243dee5bd4","a09a4c2dc4f0afc35826cf14d05138ca8f69f63853182be7dd2f19f3b1f942c9","81d63f3492cb2b106eac96420f7490b9c9a2e16a00d6418fad5dfb8772f600ca","1974015251ea5d4b91c453920f36f824e2018a7324fe5e2ec125b25161041af8","3f48479925d067ff7eaa211aadac9f3474a2d89b5a8e6f8f7e88911d60772a50","c1c74441022b28c950b430cf7e277261d96409aee35c9a3dc21a46be20cb053e","f8138b5766cc593f8e60e627f52bbae6d0c2e1bc162d887eac08c74f94ca9947","b0f776fc18720d0a057835beeecffb1abd53e9efe7a021272a8d1f20eba9cf61","b9a7fb74606693cba39e991152f616b2a5d34ff0eda64d2c96ca16c0e50de472","3eb1c63cbb04059d52d5002d63483e6464a5c15ff6930d722c8781cb469160f7","0efac07fb1fd7099de077676edfd3ad0cc96eb07b229df590c3a625a57708e3c","ddaf1304ebdc6851de76b8a21268ccfe36181e14280fd68abef45415b9442631","5cff8532af707151209b2aae1fe41a71dfe434723ed15fedbb98e3bc1ebce3f1","6fbb843e6e685d3b0f90957c19773b187b1667374950cc2d70548edb2844d18c","90d4e62939a29eb3c8626053ae38b32c3fc4af2e8bd38c4273e07e5f8b9c420e","65c2ba55f8b0e802a93379e8421b89e20ebc3fa1f75e859a7c859af1630b5e96","eee7c918cd101d65583e1aabd1470c2bca2d8b138a516465986a992e78d8ffda","4f2498bc14535b90fd6a4d06e0494b3b38c260e821b2b81192a7d94c63b68c65","8cf3541b64f7e9447b66e4aeebb108943ad01e89882c0e5dc58b96a5b33e6f85","2454011624d88b290a32aeac7dc0167e4355282ebae2141ec2c00e3655dc9c57","40a2f2042adea1c4352aef573b414bc7e342146df56e7daa28c866d6e6f29b5c","a7c7d0ffadfcdb68d7349d176767d0a4b4cafb802decd236d8b4af8d8adfce19","b454e02ba2e0f8c349c5b815977621487e824d92bc308ab8ba10a7abef08d590","907ab625eaef5d4d744e5425f3d72436a41413a94614e9427abca11ffc9d7fae","91eb32f6e30888018d1e8ccf54a11229e4b242c34d62d2985f43b834a32c25ed","0122bddcde390cac1f5cccd1c20914b78a8da9bb014c197052fbb7fda7f63054","fd4d3238c3276ef9e2e1f62df97c022afb342996620e1e6d2cd0e7aa8a92144d","c31ae47df702ab01b82ffea87e96475160c65cbd07df936808f5c6a5573a43b5","cd971a39229db912c36a557a20a4e076786e8a2621c09e6e1c1a3e90876aad04","1994d1a9c3709278ed631c2984de602d2db9a4efe626ffe62c3a13aa5f0c56d8","a6dc5be03b0c70681b4c651b68a7420a84228aed18fd0ba902857d35166373b1","2ab804fbbb326b4bf3de03c0b7049db89c32ef18b9b8513a418c6eb807c123e9","cb8d543cead317e789e82c1a6cb1e81a866bface52544d80c2b0ad06c8a7cc69","02834b7e577f585d68f491e1f23177136117d2db272fd304b93ffdce3242b2b2","b3dfeba1d10a5c25ece61ea9ced2d72bcf3a58374601b77627c5fb2e010d3d7d","83e4f6fa596ccffd32262ea5f3327b9e18305891e4edee551194e2c1d71e41a6","4f2b3a975654ee3c9fd6c9f90ae1bb3806d6f96e4cc255c9c3e486f877110ebd","817f92c5ea3e1dce32cdda9646492c000206159a432dfe2ba11a9b419daa321f",{"version":"9acf7811a061a2b26c610c142c9cdd7bc254ee99160a670c0077641f5bfae1f5","signature":"46e440615099578f7cc179bae689a8c3a3638e256103084b0be2285456b347da"},{"version":"833fc5309d81da25dd04f0de18bcf45433ce5ffc7b0300dffbe495f8b7d9d0de","signature":"e5094f0724f1ef9e36171dfb87b74dbc5499600a630332e833bdaea9aa29b26e"},{"version":"e18252f9560a0d9d32e2fac04bffdd19c2a56c7e1876287a61d2618eb8086788","signature":"3ad0b4ec55f9a21b489b399316f7a100b6ca5a9de887409a9e0cf9ca109685b9"},{"version":"bb6f9925a5503e092b093dc6fa971fd8066e50a0ef501badb19bb4f12396559a","signature":"f77af5568ad5b47ececdab55cdf68d987ce05d3fbe27aa0ce492654f2c678c96"},{"version":"cb306f83acad886c1b91ac28552f0de394e1f2c7876543bb5307b4954cbec0be","signature":"b88cd1b38158f81d8868ef2005535c989e58fa0b4c3cf672a436ba2f1d409386"},{"version":"cee35cd7d9183d4062b383cb3c23ae1006b71b021eaab05bb982dcfc47580cd8","signature":"29532eb38b76a136ef3486393ab0ba313a0f06bed662fc1a8fcf6c8ecfaeb60c"},{"version":"a3918b5fc37f877b5071b2d221e06343a1e2de9a20725a74fb0d9a3169f98a52","signature":"f82164e3407ff5695776ffbfdd510e3e6a50eb6f9c3ff00701b8f8ebae9b5d64"},{"version":"af026a376c05e41f0c51c2355584810fc9363027824c0b778dbdf2dd1e9662e1","signature":"be8c0580f75d85095f6039b46ddd0a6c1d9da241ca0f21b845833f4386da2002"},{"version":"fffd59522b750564183b1684fa4d8d33c041ec05b5c166cda05f6020b4967914","signature":"d63b104faedd00e812958ab000e3568f287353a90adeea83c12f84f79b5a4ca3"},{"version":"9d1dd6c148c789ea958183eac7759861a5affc8435e5006e1bda5fd0cc9a601e","signature":"e348e63d9c4e949134224b80a3a8a8ef0f563d519d48f6bad7d7285a8cb389fd"},{"version":"dc4a7f7b22717992a6e73539d5b30a718c132064ec8171ebc0da468b53c78962","signature":"0d44d6ac4c7c7f2b82ca1501f44668f1d4410b1c6428e1247bf63387e6977417"},{"version":"478d22b2caaf566c6a61ecc7203690c0e6a25cb12f428f4b7ac5a368b4864efd","signature":"b37af73d679416f5eed1bddbf113e87f25483851299c62816f7df759d88078a9"},{"version":"33274812f1b395855cc6ba771e868d21d3cad474b9d9afd4b7ebcae0b46a6e41","signature":"dc6d51709fcc2ce56abcb6cb6fd4bfa43a2ade0313f388466fc7f99d478652a2"},{"version":"415e9f0ac19bf125de3a89e8a3501526b1f10d240f4f8f141598ec96f52101d5","signature":"b073304cef0c157d233d7af4e64d431d6b29194ae6f30e030eadf5f4aaba17c7"},{"version":"1033759067c605ed6e98f5ee7f2374976d0e6b6edb427f9ed47922ccd6741cd2","signature":"0fdd786a85d8605d82a9c729ae7a0f29a2caf96f8157515e45136e1690abeffe"},{"version":"5763b2b25ceb292e329a67dcbc0255c0b40be881ac070145b647189f4ba99b86","signature":"f27a3a093b5c512649d2a457b09bacac9f1a4d0d8cdb03c4992fa2540bf505e0"},{"version":"3a2561bbe8f5c85f1ac6433ce9ecc12a2ed5ed34d1bdb147e1f61e61fce33c58","signature":"99a52732334ddde92f68c9e06d61b92c94f2cab8f903165bf0ab073b1dc02ee2"},{"version":"ba471dcbb4a8298e1dc142499c0499463c789fa4469e75985a3044192a312073","signature":"709f87e006ef9abb3dd43566ba626d0e7520ce22ee56afe7a574fcee5cde941a"},{"version":"352f37fea4c8bcc13ac94c2003f1ccbd1d3f54310297421f4f2be0bacc0eef91","signature":"87d31e27f8045c601f929a6905db0f74ec15338ac88ed4e8ad68d8492682e999"},{"version":"e17f07b028b14f80d6c625470844ec2f52f37efcd58f80dffc607fb8653cd4d0","signature":"7c9803e8b478726fc90dac32492eb1904cf2ddf6cacc9393a823a1f56c8de2b6"},{"version":"96975aa2458ec8c1807811e390322392541d4190cdfd79016e4016ef3e53fab4","signature":"23be6ce9035ed4716167413a595a0bc7b162fa6b4553b74a79767676254651a7"},{"version":"94ed2d1240b347c3f620642cde781b2048a7d17d5cf957e2379088a39d35418f","signature":"302280c749ac14a35a70667829db1fb7118cc298f4a9c98dbde1a69899158aeb"},{"version":"8fbc05155c51977f35ff27045c8093ff6cd01342c3ec76ed4712f8b781165511","signature":"a7d5e0defc15dd34a99aa961cbb162ff8bc1ed1d755bfefa62de7795e1c62641"},{"version":"f05993fb6465a6c05c82637c7064096c60365c121d62c6838ed91f068f149f08","signature":"8db6c42877b145cdba2375de739954a965fb0bff78ee4bec4b5d34d91b59df6a"},{"version":"b9181bea4a29329594d5c5a53bec78507fcc67ad0c5afa2a580dc51d6f19a4f7","signature":"4f7d54c603949113f45505330caae6f41e8dbb59841d4ae20b42307dc4579835"},"b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","65dfa4bc49ccd1355789abb6ae215b302a5b050fdee9651124fe7e826f33113c"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"emitDeclarationOnly":false,"esModuleInterop":false,"experimentalDecorators":true,"importHelpers":true,"inlineSources":true,"module":1,"noEmitOnError":true,"noFallthroughCasesInSwitch":true,"noImplicitAny":false,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":true,"strictPropertyInitialization":false,"target":99},"fileIdsList":[[43,91],[43,44,91,125,126,127,128,203,204,205,206,207,208,209,210,211,213,214,215,216,217,218,219,220],[43,44,91,202,221],[43,44,91,128,221],[43,44,91,221],[43,44,91,128,212,221],[43,91,125,222],[43,44,91,221,222,223,224,225],[43,91,125,226],[43,91,226],[91,98,100],[91,102,104,106],[91,99],[91],[91,100,101,107,108,109],[47,91,124],[47,91,123,125],[47,91,122],[91,103],[48,91],[51,91],[52,57,91],[53,63,64,71,80,90,91],[53,54,63,71,91],[55,91],[56,57,64,72,91],[57,80,87,91],[58,60,63,71,91],[59,91],[60,61,91],[62,63,91],[63,91],[63,64,65,80,90,91],[63,64,65,80,91],[66,71,80,90,91],[63,64,66,67,71,80,87,90,91],[66,68,80,87,90,91],[48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],[63,69,91],[70,90,91],[60,63,71,80,91],[72,91],[73,91],[51,74,91],[75,89,91,95],[76,91],[77,91],[63,78,91],[78,79,91,93],[63,80,81,82,91],[80,82,91],[80,81,91],[83,91],[84,91],[63,85,86,91],[85,86,91],[57,71,80,87,91],[88,91],[71,89,91],[52,66,77,90,91],[57,91],[80,91,92],[91,93],[91,94],[52,57,63,65,74,80,90,91,93,95],[80,91,96],[91,105],[63,80,91,98],[91,151],[91,150],[91,153,154],[91,153],[91,162],[91,159,168],[91,161,168],[91,163,168],[91,168],[91,165,168],[91,159,160,161,162,163,164,165,166],[91,164],[91,160],[91,153,154,167],[91,181,182],[91,172,173,174,175,179,180],[91,181],[91,171],[91,171,172,173,174,175,176,177,178,179],[91,195],[91,150,151,152,154,155,156,157,158,168,169,170,183,184,188,189,190,191,192,193,194,195,196,197,198,199,200],[91,192],[91,185],[91,186],[91,185,187],[91,129,139,144,145,146,147,148,149,201],[91,131],[91,130],[91,130,131],[91,130,131,132,133,134,135,136,137,138],[91,139,144,145,146,147,148,149],[91,140],[91,141,142,143],[91,121],[91,110,119,120],[91,112,115],[91,112,115,116,117],[91,114],[91,102,118],[47,91],[45,46,53,63,64,80,91],[91,113],[47,125,126,127,203,204,205,206,207,208,209,210,211,213,214,215,216,217,218,219,220],[221],[47,221],[202,221],[125],[44,221,222,223,224,225],[125,226],[226]],"referencedMap":[[222,1],[221,2],[225,1],[203,3],[210,4],[126,5],[220,3],[212,5],[44,1],[204,5],[207,4],[219,3],[208,5],[217,5],[218,5],[209,5],[216,3],[214,5],[215,5],[213,6],[211,5],[127,5],[223,7],[205,4],[206,4],[226,8],[224,9],[227,10],[101,11],[107,12],[100,13],[108,14],[109,14],[110,15],[102,14],[125,16],[124,17],[123,18],[99,14],[103,13],[104,19],[48,20],[49,20],[51,21],[52,22],[53,23],[54,24],[55,25],[56,26],[57,27],[58,28],[59,29],[60,30],[61,30],[62,31],[63,32],[64,33],[65,34],[50,14],[97,14],[66,35],[67,36],[68,37],[98,38],[69,39],[70,40],[71,41],[72,42],[73,43],[74,44],[75,45],[76,46],[77,47],[78,48],[79,49],[80,50],[82,51],[81,52],[83,53],[84,54],[85,55],[86,56],[87,57],[88,58],[89,59],[90,60],[91,61],[92,62],[93,63],[94,64],[95,65],[96,66],[228,14],[105,14],[106,67],[229,68],[152,69],[151,70],[150,14],[169,71],[170,71],[154,72],[158,71],[155,71],[161,73],[160,74],[162,75],[164,76],[165,77],[166,78],[167,79],[163,80],[159,81],[168,82],[156,71],[157,71],[183,83],[181,84],[182,85],[178,71],[175,86],[177,86],[171,14],[174,86],[172,86],[180,87],[176,86],[173,86],[179,86],[196,88],[195,14],[201,89],[199,14],[193,90],[194,14],[192,14],[191,14],[189,72],[190,14],[200,14],[198,72],[184,72],[197,14],[186,91],[187,92],[185,14],[188,93],[129,14],[202,94],[147,14],[138,95],[132,95],[131,96],[130,14],[136,95],[133,95],[137,97],[139,98],[134,95],[135,95],[153,99],[149,14],[148,14],[140,14],[143,100],[142,100],[144,101],[141,100],[146,14],[145,14],[122,102],[120,102],[121,103],[112,14],[116,104],[118,105],[117,104],[115,106],[119,107],[111,14],[45,14],[46,108],[47,109],[114,110],[113,14],[43,14],[8,14],[9,14],[11,14],[10,14],[2,14],[12,14],[13,14],[14,14],[15,14],[16,14],[17,14],[18,14],[19,14],[3,14],[4,14],[23,14],[20,14],[21,14],[22,14],[24,14],[25,14],[26,14],[5,14],[27,14],[28,14],[29,14],[30,14],[6,14],[31,14],[32,14],[33,14],[34,14],[7,14],[35,14],[40,14],[41,14],[36,14],[37,14],[38,14],[39,14],[1,14],[42,14],[128,1]],"exportedModulesMap":[[221,111],[203,112],[210,112],[126,112],[220,112],[212,112],[204,112],[207,113],[219,112],[208,112],[217,112],[218,112],[209,112],[216,114],[214,113],[215,113],[213,113],[211,112],[127,113],[223,115],[205,112],[206,112],[226,116],[224,117],[227,118],[101,11],[107,12],[100,13],[108,14],[109,14],[110,15],[102,14],[125,16],[124,17],[123,18],[99,14],[103,13],[104,19],[48,20],[49,20],[51,21],[52,22],[53,23],[54,24],[55,25],[56,26],[57,27],[58,28],[59,29],[60,30],[61,30],[62,31],[63,32],[64,33],[65,34],[50,14],[97,14],[66,35],[67,36],[68,37],[98,38],[69,39],[70,40],[71,41],[72,42],[73,43],[74,44],[75,45],[76,46],[77,47],[78,48],[79,49],[80,50],[82,51],[81,52],[83,53],[84,54],[85,55],[86,56],[87,57],[88,58],[89,59],[90,60],[91,61],[92,62],[93,63],[94,64],[95,65],[96,66],[228,14],[105,14],[106,67],[229,68],[152,69],[151,70],[150,14],[169,71],[170,71],[154,72],[158,71],[155,71],[161,73],[160,74],[162,75],[164,76],[165,77],[166,78],[167,79],[163,80],[159,81],[168,82],[156,71],[157,71],[183,83],[181,84],[182,85],[178,71],[175,86],[177,86],[171,14],[174,86],[172,86],[180,87],[176,86],[173,86],[179,86],[196,88],[195,14],[201,89],[199,14],[193,90],[194,14],[192,14],[191,14],[189,72],[190,14],[200,14],[198,72],[184,72],[197,14],[186,91],[187,92],[185,14],[188,93],[129,14],[202,94],[147,14],[138,95],[132,95],[131,96],[130,14],[136,95],[133,95],[137,97],[139,98],[134,95],[135,95],[153,99],[149,14],[148,14],[140,14],[143,100],[142,100],[144,101],[141,100],[146,14],[145,14],[122,102],[120,102],[121,103],[112,14],[116,104],[118,105],[117,104],[115,106],[119,107],[111,14],[45,14],[46,108],[47,109],[114,110],[113,14],[43,14],[8,14],[9,14],[11,14],[10,14],[2,14],[12,14],[13,14],[14,14],[15,14],[16,14],[17,14],[18,14],[19,14],[3,14],[4,14],[23,14],[20,14],[21,14],[22,14],[24,14],[25,14],[26,14],[5,14],[27,14],[28,14],[29,14],[30,14],[6,14],[31,14],[32,14],[33,14],[34,14],[7,14],[35,14],[40,14],[41,14],[36,14],[37,14],[38,14],[39,14],[1,14],[42,14]],"semanticDiagnosticsPerFile":[222,221,225,203,210,126,220,212,44,204,207,219,208,217,218,209,216,214,215,213,211,127,223,205,206,226,224,227,101,107,100,108,109,110,102,125,124,123,99,103,104,48,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,50,97,66,67,68,98,69,70,71,72,73,74,75,76,77,78,79,80,82,81,83,84,85,86,87,88,89,90,91,92,93,94,95,96,228,105,106,229,152,151,150,169,170,154,158,155,161,160,162,164,165,166,167,163,159,168,156,157,183,181,182,178,175,177,171,174,172,180,176,173,179,196,195,201,199,193,194,192,191,189,190,200,198,184,197,186,187,185,188,129,202,147,138,132,131,130,136,133,137,139,134,135,153,149,148,140,143,142,144,141,146,145,122,120,121,112,116,118,117,115,119,111,45,46,47,114,113,43,8,9,11,10,2,12,13,14,15,16,17,18,19,3,4,23,20,21,22,24,25,26,5,27,28,29,30,6,31,32,33,34,7,35,40,41,36,37,38,39,1,42,128],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"4.8.3"}
1
+ {"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/tslib/tslib.d.ts","../lib/helpers/JsonHelper.ts","../node_modules/playwright-core/types/protocol.d.ts","../node_modules/playwright-core/types/structs.d.ts","../node_modules/playwright-core/types/types.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@types/istanbul-lib-coverage/index.d.ts","../node_modules/@jest/types/build/Global.d.ts","../node_modules/@jest/types/build/Circus.d.ts","../node_modules/@jest/types/node_modules/chalk/index.d.ts","../node_modules/@types/istanbul-lib-report/index.d.ts","../node_modules/@types/istanbul-reports/index.d.ts","../node_modules/@types/yargs-parser/index.d.ts","../node_modules/@types/yargs/index.d.ts","../node_modules/@jest/types/build/Config.d.ts","../node_modules/@jest/types/build/TestResult.d.ts","../node_modules/@jest/types/build/Transform.d.ts","../node_modules/@jest/types/build/index.d.ts","../node_modules/jest-matcher-utils/node_modules/chalk/index.d.ts","../node_modules/jest-diff/build/cleanupSemantic.d.ts","../node_modules/pretty-format/build/types.d.ts","../node_modules/pretty-format/build/index.d.ts","../node_modules/jest-diff/build/types.d.ts","../node_modules/jest-diff/build/diffLines.d.ts","../node_modules/jest-diff/build/printDiffs.d.ts","../node_modules/jest-diff/build/index.d.ts","../node_modules/jest-matcher-utils/build/index.d.ts","../node_modules/expect/build/jestMatchersObject.d.ts","../node_modules/expect/build/types.d.ts","../node_modules/expect/build/index.d.ts","../node_modules/@playwright/test/types/testExpect.d.ts","../node_modules/@playwright/test/types/test.d.ts","../node_modules/@playwright/test/index.d.ts","../lib/helpers/DocumentTypeApiHelper.ts","../lib/helpers/TemplatesApiHelper.ts","../umbraco.config.ts","../node_modules/@umbraco/json-models-builders/dist/lib/helpers/AliasHelper.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/dataTypes/dataTypePrevalue.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/dataTypes/dataType.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/dataTypes/checkBoxListDataType.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/dataTypes/formPickerDataType.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/dataTypes/labelDataType.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/dataTypes/textBoxDataType.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/dataTypes/dropDownDataType.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/dataTypes/gridDataType.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/dataTypes/approvedColourPickerDataType.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/dataTypes/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/properties/baseProperty.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/properties/textBoxProperty.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/properties/formPickerProperty.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/properties/dropDownProperty.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/properties/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/template.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/stylesheet.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/cmsDocumentType.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/partialViewMacros/partialViewMacro.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/package.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/content/contentVariantPropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/content/contentVariantBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/content/contentBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/dataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/formPickerDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/labelDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/textBoxDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/dropDownDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/gridBuilders/sectionBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/gridBuilders/gridLayoutBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/gridBuilders/gridAreaBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/gridBuilders/gridRowConfigBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/gridBuilders/rteToolbarOptionsBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/gridBuilders/gridRteBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/gridBuilders/gridSettingsBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/gridBuilders/gridStylesBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/gridBuilders/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/gridDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/approvedColorPickerTypeDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/checkBoxListDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/properties/documentTypePropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/properties/formPickerDocumentTypePropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/properties/textBoxDocumentTypePropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/properties/dropDownDocumentTypePropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/properties/contentPickerTypePropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/properties/richTextDocumentTypePropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/properties/customDocumentTypePropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/properties/approvedColorPickerTypeDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/properties/urlPickerTypePropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/properties/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/documentTypeGroupBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/documentTypeTabBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/documentTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/templates/templateBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/userGroups/permissionsBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/userGroups/nodePermissionBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/userGroups/nodePermissionCollectionBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/userGroups/userGroupBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/partialViewMacros/partialViewMacroBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/partialViews/partialViewBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/packages/packageBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/media/mediaPropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/media/mediaBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/media/mediaFileBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/domain/domainPropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/domain/domainBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/user/userBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/stylesheets/stylesheetBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/macroBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/scriptbuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/index.d.ts","../lib/helpers/ContentApiHelper.ts","../lib/helpers/LanguagesApiHelper.ts","../lib/helpers/UserApiHelper.ts","../lib/helpers/UserGroupApiHelper.ts","../lib/helpers/MacroApiHelper.ts","../lib/helpers/MediaTypeApiHelper.ts","../lib/helpers/MemberTypeApiHelper.ts","../lib/helpers/DatatypeApiHelper.ts","../lib/helpers/StylesheetApiHelper.ts","../lib/helpers/FolderApiHelper.ts","../lib/helpers/ScriptApiHelper.ts","../lib/helpers/PartialViewApiHelper.ts","../lib/helpers/RelationTypeApiHelper.ts","../lib/helpers/PackageApiHelper.ts","../lib/helpers/MemberApiHelper.ts","../lib/helpers/MemberGroupApiHelper.ts","../lib/helpers/MediaApiHelper.ts","../lib/helpers/DomainApiHelper.ts","../lib/helpers/TranslationApiHelper.ts","../lib/helpers/ApiHelpers.ts","../lib/helpers/AliasHelper.ts","../lib/helpers/UiHelpers.ts","../lib/helpers/testExtension.ts","../lib/helpers/ConstantHelper.ts","../lib/helpers/index.ts","../lib/index.ts","../node_modules/@types/stack-utils/index.d.ts","../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"f20c05dbfe50a208301d2a1da37b9931bce0466eb5a1f4fe240971b4ecc82b67","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"9b087de7268e4efc5f215347a62656663933d63c0b1d7b624913240367b999ea","affectsGlobalScope":true},{"version":"3260e3386d9535b804205bdddb5618a9a27735bd22927f48ad54363abcd23d45","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"55f400eec64d17e888e278f4def2f254b41b89515d3b88ad75d5e05f019daddd","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"775d9c9fd150d5de79e0450f35bc8b8f94ae64e3eb5da12725ff2a649dccc777","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"14a84fbe4ec531dcbaf5d2594fd95df107258e60ae6c6a076404f13c3f66f28e",{"version":"27dc2aafc4322c429b4f085e9884f15ee2bfdc94a9595500df04e855af64d07f","signature":"3c4c586576db158f7102592df972b7160eef9347c0bf461727a2f784b99813bf"},"6cc32df5e1e9ffb6f2bbdd35f1630ed8f36e699f2769143ea2356d61eff752cd","3f4eca17bf5cb95dd385a861ff52eaa6f69c9d35d4d410d3781c3c8bb1b711e1","81b2903db467601571b008003d6fbb7f6477de8fd2da42f3e4580e050327ca76","0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"c2ab70bbc7a24c42a790890739dd8a0ba9d2e15038b40dff8163a97a5d148c00","affectsGlobalScope":true},"422dbb183fdced59425ca072c8bd09efaa77ce4e2ab928ec0d8a1ce062d2a45a",{"version":"712ba0d43b44d144dfd01593f61af6e2e21cfae83e834d297643e7973e55ed61","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","98a3ebfa494b46265634a73459050befba5da8fdc6ca0ef9b7269421780f4ff3","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","cc0b61316c4f37393f1f9595e93b673f4184e9d07f4c127165a490ec4a928668","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true},"7a5459efa09ea82088234e6533a203d528c594b01787fb90fba148885a36e8b6","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","ad41bb744149e92adb06eb953da195115620a3f2ad48e7d3ae04d10762dae197","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"5d0a9ea09d990b5788f867f1c79d4878f86f7384cb7dab38eecbf22f9efd063d","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"4cd4cff679c9b3d9239fd7bf70293ca4594583767526916af8e5d5a47d0219c7","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"3345c276cab0e76dda86c0fb79104ff915a4580ba0f3e440870e183b1baec476","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","e383ff72aabf294913f8c346f5da1445ae6ad525836d28efd52cbadc01a361a6","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7",{"version":"3a2da34079a2567161c1359316a32e712404b56566c45332ac9dcee015ecce9f","affectsGlobalScope":true},"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"9cafe917bf667f1027b2bb62e2de454ecd2119c80873ad76fc41d941089753b8","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","caac4c00061a947d2b1010bb6464f06197f2671bdf948fa1aa40bf1e244ee2a0","95b6c669e7ed7c5358c03f8aa24986640f6125ee81bb99e70e9155974f7fd253","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","f7e133b20ee2669b6c0e5d7f0cd510868c57cd64b283e68c7f598e30ce9d76d2","6ba73232c9d3267ca36ddb83e335d474d2c0e167481e3dec416c782894e11438","f7dd7280ee4f0420865e6423fe199aeac63d1d66203a8b631077cdc15501ef1f","ef62b4aa372f77458d84c26614b44129f929e263c81b5cd1034f5828a5530412","8610558ae88a43ad794c4ab1da4f0e8e174e0357c88f6cbb21f523e67414e9a9","0b0feb9837c561c0a67b61024328045bb16bac6e4b10f7b0b217d3b8b43b0b12","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","7adecb2c3238794c378d336a8182d4c3dd2c4fa6fa1785e2797a3db550edea62","dc12dc0e5aa06f4e1a7692149b78f89116af823b9e1f1e4eae140cd3e0e674e6","1bfc6565b90c8771615cd8cfcf9b36efc0275e5e83ac7d9181307e96eb495161","8a8a96898906f065f296665e411f51010b51372fa260d5373bf9f64356703190","7f82ef88bdb67d9a850dd1c7cd2d690f33e0f0acd208e3c9eba086f3670d4f73","67c51fa68aadbb50e4ffc650b704620e0393bddb3d3eac3a6195bf1956562fe4","2ce7c78f9301adfecd95d117c2d2d3aa745ae68ca4a47e3336640ff3fca7f5c0","62b2f9497fc9bda8af80d3b9042ea3ace39e03f14c465ff34280afcdf3098e0a",{"version":"5516be04bd534a50780d60d2b7ee3e0c34dae21382f211d284355172cea3532a","affectsGlobalScope":true},"e182d9a9daa2f7536c4b41c9e3ece19cadcd0e698bbcdcf5b6e290b12b6bdf90","dd058f85195242fea0d234e8f1d96b552d44bbba9e3513643c78a8c2a408317c",{"version":"ac1b1cef1e0ec1f1811bb2079975db46651dcf2e31b6245242119f61c800baf6","signature":"10967bf9e5d00f3de85590578207f1d5b2abccd0b6843e0f49b39558e21784f6"},{"version":"c0f450ff491e138ede0e426b6cac409dd2e3d9a4c48eee13adcd3c2027c84841","signature":"9d1c999aa35399abc231cd33a23d285958532b4477e516428674dc2b6c636bb9"},{"version":"c93350324664aeec0217741e56c4950435f58ebba7c4589b99deec894b33d67b","signature":"22fea8c28752d1a841afd4b34f886b6ddd7701982943de4a92694a371824b818"},"7c9803e8b478726fc90dac32492eb1904cf2ddf6cacc9393a823a1f56c8de2b6","93c79ea837a3683fe69f98a9ddec01954479eacd5e98217e7fe8c30569a2181c","3b04afa0a1663f0d190faba155d94e0b63e0060624834e6fbd99fdcf6211732c","08d7c8da9234ced6b8a40f30a6d6d834c7906c03dcd9a195be3c0af534693bab","a3455478b38af4f7dc07be256529c04f8ac44d2cb538a129b942d04385d38211","73cdeca1dccc3d7aea7b5435f5fc28616eb3429a2de8d8187fb58d0f1233cc03","9eb875eed077cb6976a15c56343833dbfc3033b44ccfe2cc5381a49075f366de","65cd89f643a55d3fc85f5120c3164a784e7cb506a940db4a96b2cfdffc48b664","93d2c022a4c49a9e690811d12ad90e13700ffa1af721e78cba5e28f197fab7d9","cae4718e85adc64a9cff1bb65207cdde5aceab88f91aef950890f49d1ac7546f","080331132004076e6084278ff1779ecd35462813536604718e38f217f87224e4","2f1de4e3a1e029e8980932077250d9f7a09430a6e09c1434286a0b2ae830725a","93079b8d71a2ca0467ee017578fad523ae3c91bbbf6e7d208266397ed95bb72d","ed52cd5e3d1c684a6af33f716ea95c0bf9df83fb666e3752c65af76e7ba72a88","f7845d9d67a488e0ace78a707619d5f0f73638507100ddfe7dd43bb9db474b01","6badfec8d5a56e856447012a7d6500c9a7aa7556031eeb3b02a5d169c116be2a","a2f7e45e3a741ead80526727256036db1ce99ad81ce9ed8257ac9ef1dff1f4bf","06c571473f15cb4efa04381e8ef885c89889206ecd0f23b3873e84b54325b3f8","d41db3972d8af8e26aefb3c5917294b0388c3aea85a9816b935a2f011ae82bf6","0fea2b98e477ce62dccb2b7e0fcbd4c5232d07a4ecbe9240b316a7769bff6922","1b7f6096ec365fcb1e31fcc81f3e4080aab87b9b4d224e0b45e670e37539516c","e50291879541d083c6fd370903958e154a55532587f57e1f181c937507bffa4d","f16387b8135581f44a284af3c377f37fb98e950a484da0e66af8c4fe68ccf562","588c0f9a388313b017c362f7d3fc79f54bff38d938336d261104faaa7fa22dd3","20f55a9e8eb1636d3337bf453f76470fe47627e167106e25cfda2eec49a999dd","b5c18096321db57d53c0a4195ddda193cda446f03ca8998d2c079b2116eb7a89","be53d81b22f837b57a79221eca978dce11607d78e28af03f3ccee9a1d16b2a6c","ecd85f997720a697821204abee88fbfd779e0d15f071c97b44a1a04e6b4f7d72","336fbad16ee44d15f3c2b1994d52b543575bf18bf28e3d78b2c0fd93d9d9fe6c","67dd8b4d4375e01ca3e6a29a01cb9d8eed0f841092419ff2ce440130b3eaf300","4d0b34a22bd3ac2c4d8fff2fd7944ead8b8ba18d9e8e81911c2e6a9fc67e029d","ad9f67d6847cd3e199c6ce6541747621800dd079fe9eb340626f181c3259c133","9f19539810ba84f940eff6a3e2a6a02ce8cdaee91bfe856d032b4b4d7fe1da6f","379ca46d581bf11029e4e72b9f963f325a25014cc63ac4ab19f557e6174be823","d93e9a21e0e2e679c6bcacc85034c958d11d7e5c543fb40ba9163e1409a745ab","f2b5bea18c828945b072868587f0e55ccaa127c5aab911f2e0fc43e51bfb26c3","13e79859b25030d48d869fa6c1c11b1389c58296a5ff2545348ca3243dee5bd4","a09a4c2dc4f0afc35826cf14d05138ca8f69f63853182be7dd2f19f3b1f942c9","81d63f3492cb2b106eac96420f7490b9c9a2e16a00d6418fad5dfb8772f600ca","1974015251ea5d4b91c453920f36f824e2018a7324fe5e2ec125b25161041af8","3f48479925d067ff7eaa211aadac9f3474a2d89b5a8e6f8f7e88911d60772a50","c1c74441022b28c950b430cf7e277261d96409aee35c9a3dc21a46be20cb053e","f8138b5766cc593f8e60e627f52bbae6d0c2e1bc162d887eac08c74f94ca9947","b0f776fc18720d0a057835beeecffb1abd53e9efe7a021272a8d1f20eba9cf61","b9a7fb74606693cba39e991152f616b2a5d34ff0eda64d2c96ca16c0e50de472","3eb1c63cbb04059d52d5002d63483e6464a5c15ff6930d722c8781cb469160f7","0efac07fb1fd7099de077676edfd3ad0cc96eb07b229df590c3a625a57708e3c","ddaf1304ebdc6851de76b8a21268ccfe36181e14280fd68abef45415b9442631","5cff8532af707151209b2aae1fe41a71dfe434723ed15fedbb98e3bc1ebce3f1","6fbb843e6e685d3b0f90957c19773b187b1667374950cc2d70548edb2844d18c","90d4e62939a29eb3c8626053ae38b32c3fc4af2e8bd38c4273e07e5f8b9c420e","65c2ba55f8b0e802a93379e8421b89e20ebc3fa1f75e859a7c859af1630b5e96","eee7c918cd101d65583e1aabd1470c2bca2d8b138a516465986a992e78d8ffda","4f2498bc14535b90fd6a4d06e0494b3b38c260e821b2b81192a7d94c63b68c65","8cf3541b64f7e9447b66e4aeebb108943ad01e89882c0e5dc58b96a5b33e6f85","2454011624d88b290a32aeac7dc0167e4355282ebae2141ec2c00e3655dc9c57","40a2f2042adea1c4352aef573b414bc7e342146df56e7daa28c866d6e6f29b5c","a7c7d0ffadfcdb68d7349d176767d0a4b4cafb802decd236d8b4af8d8adfce19","b454e02ba2e0f8c349c5b815977621487e824d92bc308ab8ba10a7abef08d590","907ab625eaef5d4d744e5425f3d72436a41413a94614e9427abca11ffc9d7fae","91eb32f6e30888018d1e8ccf54a11229e4b242c34d62d2985f43b834a32c25ed","0122bddcde390cac1f5cccd1c20914b78a8da9bb014c197052fbb7fda7f63054","fd4d3238c3276ef9e2e1f62df97c022afb342996620e1e6d2cd0e7aa8a92144d","c31ae47df702ab01b82ffea87e96475160c65cbd07df936808f5c6a5573a43b5","cd971a39229db912c36a557a20a4e076786e8a2621c09e6e1c1a3e90876aad04","1994d1a9c3709278ed631c2984de602d2db9a4efe626ffe62c3a13aa5f0c56d8","a6dc5be03b0c70681b4c651b68a7420a84228aed18fd0ba902857d35166373b1","2ab804fbbb326b4bf3de03c0b7049db89c32ef18b9b8513a418c6eb807c123e9","cb8d543cead317e789e82c1a6cb1e81a866bface52544d80c2b0ad06c8a7cc69","02834b7e577f585d68f491e1f23177136117d2db272fd304b93ffdce3242b2b2","b3dfeba1d10a5c25ece61ea9ced2d72bcf3a58374601b77627c5fb2e010d3d7d","83e4f6fa596ccffd32262ea5f3327b9e18305891e4edee551194e2c1d71e41a6","4f2b3a975654ee3c9fd6c9f90ae1bb3806d6f96e4cc255c9c3e486f877110ebd","817f92c5ea3e1dce32cdda9646492c000206159a432dfe2ba11a9b419daa321f",{"version":"590c415d3987f467f661e6af8ac819cb74f5553f1f82598ccf1e4d4def61b463","signature":"46e440615099578f7cc179bae689a8c3a3638e256103084b0be2285456b347da"},{"version":"833fc5309d81da25dd04f0de18bcf45433ce5ffc7b0300dffbe495f8b7d9d0de","signature":"e5094f0724f1ef9e36171dfb87b74dbc5499600a630332e833bdaea9aa29b26e"},{"version":"ff274cf618abbefd4b990b5fd0f68d7e92dd37c28a6969ff2e22057976ced711","signature":"84c55121206862a2181d7993731e70301845a1395263ec1c05e957915fe05809"},{"version":"bb6f9925a5503e092b093dc6fa971fd8066e50a0ef501badb19bb4f12396559a","signature":"f77af5568ad5b47ececdab55cdf68d987ce05d3fbe27aa0ce492654f2c678c96"},{"version":"cb306f83acad886c1b91ac28552f0de394e1f2c7876543bb5307b4954cbec0be","signature":"b88cd1b38158f81d8868ef2005535c989e58fa0b4c3cf672a436ba2f1d409386"},{"version":"cee35cd7d9183d4062b383cb3c23ae1006b71b021eaab05bb982dcfc47580cd8","signature":"29532eb38b76a136ef3486393ab0ba313a0f06bed662fc1a8fcf6c8ecfaeb60c"},{"version":"a3918b5fc37f877b5071b2d221e06343a1e2de9a20725a74fb0d9a3169f98a52","signature":"f82164e3407ff5695776ffbfdd510e3e6a50eb6f9c3ff00701b8f8ebae9b5d64"},{"version":"af026a376c05e41f0c51c2355584810fc9363027824c0b778dbdf2dd1e9662e1","signature":"be8c0580f75d85095f6039b46ddd0a6c1d9da241ca0f21b845833f4386da2002"},{"version":"fffd59522b750564183b1684fa4d8d33c041ec05b5c166cda05f6020b4967914","signature":"d63b104faedd00e812958ab000e3568f287353a90adeea83c12f84f79b5a4ca3"},{"version":"9d1dd6c148c789ea958183eac7759861a5affc8435e5006e1bda5fd0cc9a601e","signature":"e348e63d9c4e949134224b80a3a8a8ef0f563d519d48f6bad7d7285a8cb389fd"},{"version":"dc4a7f7b22717992a6e73539d5b30a718c132064ec8171ebc0da468b53c78962","signature":"0d44d6ac4c7c7f2b82ca1501f44668f1d4410b1c6428e1247bf63387e6977417"},{"version":"478d22b2caaf566c6a61ecc7203690c0e6a25cb12f428f4b7ac5a368b4864efd","signature":"b37af73d679416f5eed1bddbf113e87f25483851299c62816f7df759d88078a9"},{"version":"33274812f1b395855cc6ba771e868d21d3cad474b9d9afd4b7ebcae0b46a6e41","signature":"dc6d51709fcc2ce56abcb6cb6fd4bfa43a2ade0313f388466fc7f99d478652a2"},{"version":"415e9f0ac19bf125de3a89e8a3501526b1f10d240f4f8f141598ec96f52101d5","signature":"b073304cef0c157d233d7af4e64d431d6b29194ae6f30e030eadf5f4aaba17c7"},{"version":"1033759067c605ed6e98f5ee7f2374976d0e6b6edb427f9ed47922ccd6741cd2","signature":"0fdd786a85d8605d82a9c729ae7a0f29a2caf96f8157515e45136e1690abeffe"},{"version":"5763b2b25ceb292e329a67dcbc0255c0b40be881ac070145b647189f4ba99b86","signature":"f27a3a093b5c512649d2a457b09bacac9f1a4d0d8cdb03c4992fa2540bf505e0"},{"version":"3a2561bbe8f5c85f1ac6433ce9ecc12a2ed5ed34d1bdb147e1f61e61fce33c58","signature":"99a52732334ddde92f68c9e06d61b92c94f2cab8f903165bf0ab073b1dc02ee2"},{"version":"ba471dcbb4a8298e1dc142499c0499463c789fa4469e75985a3044192a312073","signature":"709f87e006ef9abb3dd43566ba626d0e7520ce22ee56afe7a574fcee5cde941a"},{"version":"25b685498d06de330b5782480a3714637ae31a5d4472714309d735662ebe41ec","signature":"64cfe6de56ad8053c51d0c6d7f24cfe3f6a7593ae593002c0b4e4d9a53ab7d3e"},{"version":"1380fd21ced66097bd41cecbd45565c4516615686b996064b0ba9dea581d751b","signature":"ebcef63bb10444321b5cf8ab990619e536de3aa7a81d543e9291d2dae46f62c7"},{"version":"e17f07b028b14f80d6c625470844ec2f52f37efcd58f80dffc607fb8653cd4d0","signature":"7c9803e8b478726fc90dac32492eb1904cf2ddf6cacc9393a823a1f56c8de2b6"},{"version":"5f0a17ea1ec38da5531c87f6a16265565fe46990eb97eef878035b11b3ba53be","signature":"99800c1e48fc73b37f46f9aafbfbd344a4f645a98e7ace0c4080017a2192430f"},{"version":"94ed2d1240b347c3f620642cde781b2048a7d17d5cf957e2379088a39d35418f","signature":"302280c749ac14a35a70667829db1fb7118cc298f4a9c98dbde1a69899158aeb"},{"version":"71f647c314163424d2590b77dfa679bd63b1d4ea6064d4eb1f53ab82fb01e8c3","signature":"97ab57e67f695563fac650b9935d3be911de91dd779f0282960a9aebb5900271"},{"version":"f05993fb6465a6c05c82637c7064096c60365c121d62c6838ed91f068f149f08","signature":"8db6c42877b145cdba2375de739954a965fb0bff78ee4bec4b5d34d91b59df6a"},{"version":"b9181bea4a29329594d5c5a53bec78507fcc67ad0c5afa2a580dc51d6f19a4f7","signature":"4f7d54c603949113f45505330caae6f41e8dbb59841d4ae20b42307dc4579835"},"b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","65dfa4bc49ccd1355789abb6ae215b302a5b050fdee9651124fe7e826f33113c"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"emitDeclarationOnly":false,"esModuleInterop":false,"experimentalDecorators":true,"importHelpers":true,"inlineSources":true,"module":1,"noEmitOnError":true,"noFallthroughCasesInSwitch":true,"noImplicitAny":false,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":true,"strictPropertyInitialization":false,"target":99},"fileIdsList":[[43,91],[43,44,91,125,126,127,128,203,204,205,206,207,208,209,210,211,213,214,215,216,217,218,219,220,221],[43,44,91,202,222],[43,44,91,128,222],[43,44,91,222],[43,44,91,128,212,222],[43,91,125,223],[43,44,91,222,223,224,225,226],[43,91,125,227],[43,91,227],[91,98,100],[91,102,104,106],[91,99],[91],[91,100,101,107,108,109],[47,91,124],[47,91,123,125],[47,91,122],[91,103],[48,91],[51,91],[52,57,91],[53,63,64,71,80,90,91],[53,54,63,71,91],[55,91],[56,57,64,72,91],[57,80,87,91],[58,60,63,71,91],[59,91],[60,61,91],[62,63,91],[63,91],[63,64,65,80,90,91],[63,64,65,80,91],[66,71,80,90,91],[63,64,66,67,71,80,87,90,91],[66,68,80,87,90,91],[48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],[63,69,91],[70,90,91],[60,63,71,80,91],[72,91],[73,91],[51,74,91],[75,89,91,95],[76,91],[77,91],[63,78,91],[78,79,91,93],[63,80,81,82,91],[80,82,91],[80,81,91],[83,91],[84,91],[63,85,86,91],[85,86,91],[57,71,80,87,91],[88,91],[71,89,91],[52,66,77,90,91],[57,91],[80,91,92],[91,93],[91,94],[52,57,63,65,74,80,90,91,93,95],[80,91,96],[91,105],[63,80,91,98],[91,151],[91,150],[91,153,154],[91,153],[91,162],[91,159,168],[91,161,168],[91,163,168],[91,168],[91,165,168],[91,159,160,161,162,163,164,165,166],[91,164],[91,160],[91,153,154,167],[91,181,182],[91,172,173,174,175,179,180],[91,181],[91,171],[91,171,172,173,174,175,176,177,178,179],[91,195],[91,150,151,152,154,155,156,157,158,168,169,170,183,184,188,189,190,191,192,193,194,195,196,197,198,199,200],[91,192],[91,185],[91,186],[91,185,187],[91,129,139,144,145,146,147,148,149,201],[91,131],[91,130],[91,130,131],[91,130,131,132,133,134,135,136,137,138],[91,139,144,145,146,147,148,149],[91,140],[91,141,142,143],[91,121],[91,110,119,120],[91,112,115],[91,112,115,116,117],[91,114],[91,102,118],[47,91],[45,46,53,63,64,80,91],[91,113],[47,125,126,127,203,204,205,206,207,208,209,210,211,213,214,215,216,217,218,219,220,221],[222],[47,222],[202,222],[125],[44,222,223,224,225,226],[125,227],[227]],"referencedMap":[[223,1],[222,2],[226,1],[203,3],[210,4],[126,5],[220,3],[212,5],[44,1],[204,5],[207,4],[219,3],[208,5],[217,5],[218,5],[209,5],[216,3],[214,5],[215,5],[213,6],[211,5],[127,5],[221,5],[224,7],[205,4],[206,4],[227,8],[225,9],[228,10],[101,11],[107,12],[100,13],[108,14],[109,14],[110,15],[102,14],[125,16],[124,17],[123,18],[99,14],[103,13],[104,19],[48,20],[49,20],[51,21],[52,22],[53,23],[54,24],[55,25],[56,26],[57,27],[58,28],[59,29],[60,30],[61,30],[62,31],[63,32],[64,33],[65,34],[50,14],[97,14],[66,35],[67,36],[68,37],[98,38],[69,39],[70,40],[71,41],[72,42],[73,43],[74,44],[75,45],[76,46],[77,47],[78,48],[79,49],[80,50],[82,51],[81,52],[83,53],[84,54],[85,55],[86,56],[87,57],[88,58],[89,59],[90,60],[91,61],[92,62],[93,63],[94,64],[95,65],[96,66],[229,14],[105,14],[106,67],[230,68],[152,69],[151,70],[150,14],[169,71],[170,71],[154,72],[158,71],[155,71],[161,73],[160,74],[162,75],[164,76],[165,77],[166,78],[167,79],[163,80],[159,81],[168,82],[156,71],[157,71],[183,83],[181,84],[182,85],[178,71],[175,86],[177,86],[171,14],[174,86],[172,86],[180,87],[176,86],[173,86],[179,86],[196,88],[195,14],[201,89],[199,14],[193,90],[194,14],[192,14],[191,14],[189,72],[190,14],[200,14],[198,72],[184,72],[197,14],[186,91],[187,92],[185,14],[188,93],[129,14],[202,94],[147,14],[138,95],[132,95],[131,96],[130,14],[136,95],[133,95],[137,97],[139,98],[134,95],[135,95],[153,99],[149,14],[148,14],[140,14],[143,100],[142,100],[144,101],[141,100],[146,14],[145,14],[122,102],[120,102],[121,103],[112,14],[116,104],[118,105],[117,104],[115,106],[119,107],[111,14],[45,14],[46,108],[47,109],[114,110],[113,14],[43,14],[8,14],[9,14],[11,14],[10,14],[2,14],[12,14],[13,14],[14,14],[15,14],[16,14],[17,14],[18,14],[19,14],[3,14],[4,14],[23,14],[20,14],[21,14],[22,14],[24,14],[25,14],[26,14],[5,14],[27,14],[28,14],[29,14],[30,14],[6,14],[31,14],[32,14],[33,14],[34,14],[7,14],[35,14],[40,14],[41,14],[36,14],[37,14],[38,14],[39,14],[1,14],[42,14],[128,1]],"exportedModulesMap":[[222,111],[203,112],[210,112],[126,112],[220,112],[212,112],[204,112],[207,113],[219,112],[208,112],[217,112],[218,112],[209,112],[216,114],[214,113],[215,113],[213,113],[211,112],[127,113],[221,112],[224,115],[205,112],[206,112],[227,116],[225,117],[228,118],[101,11],[107,12],[100,13],[108,14],[109,14],[110,15],[102,14],[125,16],[124,17],[123,18],[99,14],[103,13],[104,19],[48,20],[49,20],[51,21],[52,22],[53,23],[54,24],[55,25],[56,26],[57,27],[58,28],[59,29],[60,30],[61,30],[62,31],[63,32],[64,33],[65,34],[50,14],[97,14],[66,35],[67,36],[68,37],[98,38],[69,39],[70,40],[71,41],[72,42],[73,43],[74,44],[75,45],[76,46],[77,47],[78,48],[79,49],[80,50],[82,51],[81,52],[83,53],[84,54],[85,55],[86,56],[87,57],[88,58],[89,59],[90,60],[91,61],[92,62],[93,63],[94,64],[95,65],[96,66],[229,14],[105,14],[106,67],[230,68],[152,69],[151,70],[150,14],[169,71],[170,71],[154,72],[158,71],[155,71],[161,73],[160,74],[162,75],[164,76],[165,77],[166,78],[167,79],[163,80],[159,81],[168,82],[156,71],[157,71],[183,83],[181,84],[182,85],[178,71],[175,86],[177,86],[171,14],[174,86],[172,86],[180,87],[176,86],[173,86],[179,86],[196,88],[195,14],[201,89],[199,14],[193,90],[194,14],[192,14],[191,14],[189,72],[190,14],[200,14],[198,72],[184,72],[197,14],[186,91],[187,92],[185,14],[188,93],[129,14],[202,94],[147,14],[138,95],[132,95],[131,96],[130,14],[136,95],[133,95],[137,97],[139,98],[134,95],[135,95],[153,99],[149,14],[148,14],[140,14],[143,100],[142,100],[144,101],[141,100],[146,14],[145,14],[122,102],[120,102],[121,103],[112,14],[116,104],[118,105],[117,104],[115,106],[119,107],[111,14],[45,14],[46,108],[47,109],[114,110],[113,14],[43,14],[8,14],[9,14],[11,14],[10,14],[2,14],[12,14],[13,14],[14,14],[15,14],[16,14],[17,14],[18,14],[19,14],[3,14],[4,14],[23,14],[20,14],[21,14],[22,14],[24,14],[25,14],[26,14],[5,14],[27,14],[28,14],[29,14],[30,14],[6,14],[31,14],[32,14],[33,14],[34,14],[7,14],[35,14],[40,14],[41,14],[36,14],[37,14],[38,14],[39,14],[1,14],[42,14]],"semanticDiagnosticsPerFile":[223,222,226,203,210,126,220,212,44,204,207,219,208,217,218,209,216,214,215,213,211,127,221,224,205,206,227,225,228,101,107,100,108,109,110,102,125,124,123,99,103,104,48,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,50,97,66,67,68,98,69,70,71,72,73,74,75,76,77,78,79,80,82,81,83,84,85,86,87,88,89,90,91,92,93,94,95,96,229,105,106,230,152,151,150,169,170,154,158,155,161,160,162,164,165,166,167,163,159,168,156,157,183,181,182,178,175,177,171,174,172,180,176,173,179,196,195,201,199,193,194,192,191,189,190,200,198,184,197,186,187,185,188,129,202,147,138,132,131,130,136,133,137,139,134,135,153,149,148,140,143,142,144,141,146,145,122,120,121,112,116,118,117,115,119,111,45,46,47,114,113,43,8,9,11,10,2,12,13,14,15,16,17,18,19,3,4,23,20,21,22,24,25,26,5,27,28,29,30,6,31,32,33,34,7,35,40,41,36,37,38,39,1,42,128],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"4.8.3"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@umbraco/playwright-testhelpers",
3
- "version": "1.0.9",
3
+ "version": "1.0.11",
4
4
  "description": "Test helpers for making playwright tests for Umbraco solutions",
5
5
  "main": "dist/lib/index.js",
6
6
  "files": ["dist/**/*"],