browserscale-ts 1.4.0 → 1.5.0
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 +4 -3
- package/dist/auth-session.d.ts +37 -0
- package/dist/auth-session.js +1 -0
- package/dist/browser.d.ts +1 -0
- package/dist/browserscale.browser.js +102 -17
- package/dist/client.d.ts +34 -0
- package/dist/client.js +50 -2
- package/dist/gen/wrc_pb.d.ts +158 -0
- package/dist/gen/wrc_pb.js +54 -29
- package/dist/index.d.ts +1 -0
- package/dist/internal/convert.d.ts +4 -1
- package/dist/internal/convert.js +45 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -23,7 +23,7 @@ Rent an isolated browser session in seconds, automate it with human-like input,
|
|
|
23
23
|
pages, frames, cookies, storage and network state. No local binary.
|
|
24
24
|
- **Parallel isolated contexts** — each task gets its own session, fingerprint
|
|
25
25
|
and lifecycle; large queues never share browser state. Sessions are browser
|
|
26
|
-
contexts, not VMs or processes, so they spin up in under
|
|
26
|
+
contexts, not VMs or processes, so they spin up in under 250 ms and fan out to
|
|
27
27
|
thousands in parallel.
|
|
28
28
|
- **Fingerprint & proxy handling** — pinnable server-side fingerprints,
|
|
29
29
|
native Chrome control without CDP/Playwright/Puppeteer leaks, bring your own
|
|
@@ -130,8 +130,9 @@ reports the element that occluded the click.
|
|
|
130
130
|
| `browser.stopBrowser()` | Release the rental. |
|
|
131
131
|
|
|
132
132
|
Locators: `css(...)`, `js(...)` (target by page logic when CSS can't). Plus
|
|
133
|
-
cookies, storage,
|
|
134
|
-
canvas reads — see the
|
|
133
|
+
cookies, storage, auth/DBSC (`getAuthSession`/`setAuthSession`), network
|
|
134
|
+
interception, mouse/scroll/drag/select/key events, and canvas reads — see the
|
|
135
|
+
full reference below.
|
|
135
136
|
|
|
136
137
|
## Documentation
|
|
137
138
|
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/** DbscSession is one Device Bound Session Credentials entry. */
|
|
2
|
+
export interface DbscSession {
|
|
3
|
+
/** Serialized schemeful site key, e.g. "https://google.com". */
|
|
4
|
+
site: string;
|
|
5
|
+
/**
|
|
6
|
+
* Base64 of the serialized DBSC Session proto. It includes the wrapped
|
|
7
|
+
* binding key, which is portable under WRC's software key provider.
|
|
8
|
+
*/
|
|
9
|
+
session: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* AuthSession is a portable snapshot of a context's signed-in Google account
|
|
13
|
+
* and/or DBSC sessions. Every field is optional, so a context that only has
|
|
14
|
+
* DBSC sessions (no primary account) or only a sign-in (no DBSC) round-trips.
|
|
15
|
+
*
|
|
16
|
+
* Pair it with getCookies()/setCookies() and getStorage()/setStorage() to move
|
|
17
|
+
* a whole persona between fresh contexts.
|
|
18
|
+
*/
|
|
19
|
+
export interface AuthSession {
|
|
20
|
+
/** Gaia obfuscated account id. */
|
|
21
|
+
gaiaId?: string;
|
|
22
|
+
/** Account email. */
|
|
23
|
+
email?: string;
|
|
24
|
+
/** OAuth refresh token (persistent). */
|
|
25
|
+
refreshToken?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Base64 of the wrapped device-binding key for the refresh token. Absent
|
|
28
|
+
* means the token is unbound.
|
|
29
|
+
*/
|
|
30
|
+
wrappedBindingKey?: string;
|
|
31
|
+
/** Signin-scoped device id; must travel with the token. */
|
|
32
|
+
signinScopedDeviceId?: string;
|
|
33
|
+
/** True if the account should be restored at Sync consent. */
|
|
34
|
+
syncConsent?: boolean;
|
|
35
|
+
/** Device Bound Session Credentials for this context (all bound sites). */
|
|
36
|
+
dbscSessions?: DbscSession[];
|
|
37
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/browser.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export type { Button, ClickAction, ClickOpts, FillOpts, SelectOpts, WaitOpts, Wa
|
|
|
10
10
|
export { type RequestPattern, type HeaderModification, type HeaderModificationAction, } from "./network.ts";
|
|
11
11
|
export type { CookieParam } from "./cookies.ts";
|
|
12
12
|
export type { StorageItem, StorageOriginEntry } from "./storage.ts";
|
|
13
|
+
export type { AuthSession, DbscSession } from "./auth-session.ts";
|
|
13
14
|
/**
|
|
14
15
|
* Attaches a {@link CloudBrowser} to an existing session over a raw
|
|
15
16
|
* WebSocket transport.
|
|
@@ -3799,7 +3799,7 @@ function serviceDesc(file, path, ...paths) {
|
|
|
3799
3799
|
}
|
|
3800
3800
|
|
|
3801
3801
|
// src/gen/wrc_pb.ts
|
|
3802
|
-
var file_wrc = /* @__PURE__ */ fileDesc("Cgl3cmMucHJvdG8SD2Jyb3dzZXJzY2FsZS52MSI7CgRSZWN0EgkKAXgYASABKAESCQoBeRgCIAEoARINCgV3aWR0aBgDIAEoARIOCgZoZWlnaHQYBCABKAEihgIKCUZyYW1lSW5mbxIQCghmcmFtZV9pZBgBIAEoCRILCgN1cmwYAiABKAkSEAoIaXNfb29waWYYAyABKAgSFgoOaGFzX2pzX2NvbnRleHQYBCABKAgSEgoKaXNfbG9hZGluZxgFIAEoCBISCgppc192aXNpYmxlGAYgASgIEiwKDWFic29sdXRlX3JlY3QYByABKAsyFS5icm93c2Vyc2NhbGUudjEuUmVjdBIsCg1yZWxhdGl2ZV9yZWN0GAggASgLMhUuYnJvd3NlcnNjYWxlLnYxLlJlY3QSLAoIY2hpbGRyZW4YCSADKAsyGi5icm93c2Vyc2NhbGUudjEuRnJhbWVJbmZvIqwBCghQYWdlSW5mbxIPCgdwYWdlX2lkGAEgASgJEhoKEmJyb3dzZXJfY29udGV4dF9pZBgCIAEoCRILCgN1cmwYAyABKAkSDQoFdGl0bGUYBCABKAkSJwoIdmlld3BvcnQYBSABKAsyFS5icm93c2Vyc2NhbGUudjEuUmVjdBIuCgpmcmFtZV90cmVlGAYgASgLMhouYnJvd3NlcnNjYWxlLnYxLkZyYW1lSW5mbyIlCgZIZWFkZXISDAoEbmFtZRgBIAEoCRINCgV2YWx1ZRgCIAEoCSKAAQoSSW50ZXJjZXB0ZWRSZXF1ZXN0Eg4KBm1ldGhvZBgBIAEoCRILCgN1cmwYAiABKAkSKAoHaGVhZGVycxgDIAMoCzIXLmJyb3dzZXJzY2FsZS52MS5IZWFkZXISDAoEYm9keRgEIAEoCRIVCg1yZXNvdXJjZV90eXBlGAUgASgJIm8KE0ludGVyY2VwdGVkUmVzcG9uc2USCwoDdXJsGAEgASgJEhMKC3N0YXR1c19jb2RlGAIgASgFEigKB2hlYWRlcnMYAyADKAsyFy5icm93c2Vyc2NhbGUudjEuSGVhZGVyEgwKBGJvZHkYBCABKAkijgEKEkhlYWRlck1vZGlmaWNhdGlvbhIMCgRuYW1lGAEgASgJEhIKBXZhbHVlGAIgASgJSACIAQESDgoGYWN0aW9uGAMgASgJEhMKBmJlZm9yZRgEIAEoCUgBiAEBEhIKBWFmdGVyGAUgASgJSAKIAQFCCAoGX3ZhbHVlQgkKB19iZWZvcmVCCAoGX2FmdGVyIk0KEkNvb2tpZVBhcnRpdGlvbktleRIWCg50b3BfbGV2ZWxfc2l0ZRgBIAEoCRIfChdoYXNfY3Jvc3Nfc2l0ZV9hbmNlc3RvchgCIAEoCCK/AwoLQ29va2llUGFyYW0SDAoEbmFtZRgBIAEoCRINCgV2YWx1ZRgCIAEoCRIQCgN1cmwYAyABKAlIAIgBARIOCgZkb21haW4YBCABKAkSDAoEcGF0aBgFIAEoCRITCgZzZWN1cmUYBiABKAhIAYgBARIWCglodHRwX29ubHkYByABKAhIAogBARIWCglzYW1lX3NpdGUYCCABKAlIA4gBARIUCgdleHBpcmVzGAkgASgBSASIAQESFQoIcHJpb3JpdHkYCiABKAlIBYgBARIaCg1zb3VyY2Vfc2NoZW1lGAsgASgJSAaIAQESGAoLc291cmNlX3BvcnQYDCABKAVIB4gBARI/Cg1wYXJ0aXRpb25fa2V5GA0gASgLMiMuYnJvd3NlcnNjYWxlLnYxLkNvb2tpZVBhcnRpdGlvbktleUgIiAEBQgYKBF91cmxCCQoHX3NlY3VyZUIMCgpfaHR0cF9vbmx5QgwKCl9zYW1lX3NpdGVCCgoIX2V4cGlyZXNCCwoJX3ByaW9yaXR5QhAKDl9zb3VyY2Vfc2NoZW1lQg4KDF9zb3VyY2VfcG9ydEIQCg5fcGFydGl0aW9uX2tleSKtAQoNV2FpdENvbmRpdGlvbhIVCghzZWxlY3RvchgBIAEoCUgAiAEBEhoKDWpzX2V4cHJlc3Npb24YAiABKAlIAYgBARIUCgd2aXNpYmxlGAMgASgISAKIAQESGAoLc3RlYWR5X3RpbWUYBCABKAFIA4gBAUILCglfc2VsZWN0b3JCEAoOX2pzX2V4cHJlc3Npb25CCgoIX3Zpc2libGVCDgoMX3N0ZWFkeV90aW1lIrsBCgpXYWl0UmVzdWx0Eg0KBWluZGV4GAEgASgFEhAKCGZyYW1lX2lkGAIgASgJEhcKD2JhY2tlbmRfbm9kZV9pZBgDIAEoBRISCgppc192aXNpYmxlGAQgASgIEiUKBmJvdW5kcxgFIAEoCzIVLmJyb3dzZXJzY2FsZS52MS5SZWN0Ei4KBWVycm9yGAYgASgLMhouYnJvd3NlcnNjYWxlLnYxLldhaXRFcnJvckgAiAEBQggKBl9lcnJvciLsAQoTV2FpdENvbmRpdGlvblN0YXR1cxINCgVpbmRleBgBIAEoBRINCgVzdGF0ZRgCIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYAyABKAUSEAoIZnJhbWVfaWQYBCABKAkSEgoKaXNfdmlzaWJsZRgFIAEoCBIqCgZib3VuZHMYBiABKAsyFS5icm93c2Vyc2NhbGUudjEuUmVjdEgAiAEBEjQKCG9jY2x1ZGVyGAcgASgLMh0uYnJvd3NlcnNjYWxlLnYxLk9jY2x1ZGVySW5mb0gBiAEBQgkKB19ib3VuZHNCCwoJX29jY2x1ZGVyImQKCVdhaXRFcnJvchIMCgRjb2RlGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSOAoKY29uZGl0aW9ucxgDIAMoCzIkLmJyb3dzZXJzY2FsZS52MS5XYWl0Q29uZGl0aW9uU3RhdHVzIqYBCg1FbGVtZW50UmVzdWx0Eg8KB3N1Y2Nlc3MYASABKAgSEAoIZnJhbWVfaWQYAiABKAkSFwoPYmFja2VuZF9ub2RlX2lkGAMgASgFEhIKCmlzX3Zpc2libGUYBCABKAgSJQoGYm91bmRzGAUgASgLMhUuYnJvd3NlcnNjYWxlLnYxLlJlY3QSDgoGcm9vdF94GAYgASgBEg4KBnJvb3RfeRgHIAEoASLSAwoMT2NjbHVkZXJJbmZvEhcKD2JhY2tlbmRfbm9kZV9pZBgBIAEoBRIQCghmcmFtZV9pZBgCIAEoCRIQCgh0YWdfbmFtZRgDIAEoCRIPCgJpZBgEIAEoCUgAiAEBEhcKCmNsYXNzX25hbWUYBSABKAlIAYgBARIRCgR0ZXh0GAYgASgJSAKIAQESJQoGYm91bmRzGAcgASgLMhUuYnJvd3NlcnNjYWxlLnYxLlJlY3QSGwoOcG9pbnRlcl9ldmVudHMYCCABKAlIA4gBARIXCgp2aXNpYmlsaXR5GAkgASgJSASIAQESFAoHb3BhY2l0eRgKIAEoAUgFiAEBEhQKB3pfaW5kZXgYCyABKAlIBogBARIlChhoaXR0YWJsZV93aGlsZV9pbnZpc2libGUYDCABKAhIB4gBARIVCghwb3NpdGlvbhgNIAEoCUgIiAEBQgUKA19pZEINCgtfY2xhc3NfbmFtZUIHCgVfdGV4dEIRCg9fcG9pbnRlcl9ldmVudHNCDQoLX3Zpc2liaWxpdHlCCgoIX29wYWNpdHlCCgoIX3pfaW5kZXhCGwoZX2hpdHRhYmxlX3doaWxlX2ludmlzaWJsZUILCglfcG9zaXRpb24ioAEKCkNsaWNrRXJyb3ISDAoEY29kZRgBIAEoCRIPCgdtZXNzYWdlGAIgASgJEjQKCG9jY2x1ZGVyGAMgASgLMh0uYnJvd3NlcnNjYWxlLnYxLk9jY2x1ZGVySW5mb0gAiAEBEhwKD2V2YWRlX2F0dGVtcHRlZBgEIAEoCEgBiAEBQgsKCV9vY2NsdWRlckISChBfZXZhZGVfYXR0ZW1wdGVkIt8BCgtDbGlja1Jlc3VsdBIPCgdzdWNjZXNzGAEgASgIEhAKCGZyYW1lX2lkGAIgASgJEhcKD2JhY2tlbmRfbm9kZV9pZBgDIAEoBRISCgppc192aXNpYmxlGAQgASgIEiUKBmJvdW5kcxgFIAEoCzIVLmJyb3dzZXJzY2FsZS52MS5SZWN0Eg4KBnJvb3RfeBgGIAEoARIOCgZyb290X3kYByABKAESLwoFZXJyb3IYCCABKAsyGy5icm93c2Vyc2NhbGUudjEuQ2xpY2tFcnJvckgAiAEBQggKBl9lcnJvciKeAgoMUmVhY3Rpb25JbmZvEhMKC3JlYWN0aW9uX2lkGAEgASgJEhsKDm1hdGNoX3NlbGVjdG9yGAIgASgJSACIAQESIAoTbWF0Y2hfanNfZXhwcmVzc2lvbhgDIAEoCUgBiAEBEhwKD2FjdGlvbl9zZWxlY3RvchgEIAEoCUgCiAEBEiEKFGFjdGlvbl9qc19leHByZXNzaW9uGAUgASgJSAOIAQESEAoIZnJhbWVfaWQYBiABKAkSDwoHdmlzaWJsZRgHIAEoCEIRCg9fbWF0Y2hfc2VsZWN0b3JCFgoUX21hdGNoX2pzX2V4cHJlc3Npb25CEgoQX2FjdGlvbl9zZWxlY3RvckIXChVfYWN0aW9uX2pzX2V4cHJlc3Npb24i1gMKEkFkZFJlYWN0aW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIbCg5tYXRjaF9zZWxlY3RvchgEIAEoCUgAiAEBEiAKE21hdGNoX2pzX2V4cHJlc3Npb24YBSABKAlIAYgBARIVCghmcmFtZV9pZBgGIAEoCUgCiAEBEhQKB3Zpc2libGUYByABKAhIA4gBARIcCg9hY3Rpb25fc2VsZWN0b3IYCCABKAlIBIgBARIhChRhY3Rpb25fanNfZXhwcmVzc2lvbhgJIAEoCUgFiAEBEhMKBmJ1dHRvbhgKIAEoCUgGiAEBEhgKC2NsaWNrX2NvdW50GAsgASgFSAeIAQESFQoIaW50ZXJ2YWwYDCABKAFICIgBAUIRCg9fbWF0Y2hfc2VsZWN0b3JCFgoUX21hdGNoX2pzX2V4cHJlc3Npb25CCwoJX2ZyYW1lX2lkQgoKCF92aXNpYmxlQhIKEF9hY3Rpb25fc2VsZWN0b3JCFwoVX2FjdGlvbl9qc19leHByZXNzaW9uQgkKB19idXR0b25CDgoMX2NsaWNrX2NvdW50QgsKCV9pbnRlcnZhbCIqChNBZGRSZWFjdGlvblJlc3BvbnNlEhMKC3JlYWN0aW9uX2lkGAEgASgJIlEKFVJlbW92ZVJlYWN0aW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSEwoLcmVhY3Rpb25faWQYAyABKAkiKQoWUmVtb3ZlUmVhY3Rpb25SZXNwb25zZRIPCgdyZW1vdmVkGAEgASgIIkwKFExpc3RSZWFjdGlvbnNSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJIkkKFUxpc3RSZWFjdGlvbnNSZXNwb25zZRIwCglyZWFjdGlvbnMYASADKAsyHS5icm93c2Vyc2NhbGUudjEuUmVhY3Rpb25JbmZvIukBCgpFbGVtZW50UmVmEhcKD2JhY2tlbmRfbm9kZV9pZBgBIAEoBRIQCgh0YWdfbmFtZRgCIAEoCRIPCgJpZBgDIAEoCUgAiAEBEhEKBG5hbWUYBCABKAlIAYgBARIXCgpjbGFzc19uYW1lGAUgASgJSAKIAQESFwoKaW5wdXRfdHlwZRgGIAEoCUgDiAEBEhEKBHRleHQYByABKAlIBIgBARIQCghlZGl0YWJsZRgIIAEoCEIFCgNfaWRCBwoFX25hbWVCDQoLX2NsYXNzX25hbWVCDQoLX2lucHV0X3R5cGVCBwoFX3RleHQi7gIKCUZpbGxFcnJvchIMCgRjb2RlGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSNQoLY2xpY2tfZXJyb3IYAyABKAsyGy5icm93c2Vyc2NhbGUudjEuQ2xpY2tFcnJvckgAiAEBEiQKF2ZvY3VzZWRfYmFja2VuZF9ub2RlX2lkGAQgASgFSAGIAQESOQoPZm9jdXNlZF9lbGVtZW50GAUgASgLMhsuYnJvd3NlcnNjYWxlLnYxLkVsZW1lbnRSZWZIAogBARIcCg90YXJnZXRfZWRpdGFibGUYBiABKAhIA4gBARIgChN0YXJnZXRfdmFsdWVfbGVuZ3RoGAcgASgFSASIAQFCDgoMX2NsaWNrX2Vycm9yQhoKGF9mb2N1c2VkX2JhY2tlbmRfbm9kZV9pZEISChBfZm9jdXNlZF9lbGVtZW50QhIKEF90YXJnZXRfZWRpdGFibGVCFgoUX3RhcmdldF92YWx1ZV9sZW5ndGgiogEKCkZpbGxSZXN1bHQSDwoHc3VjY2VzcxgBIAEoCBIQCghmcmFtZV9pZBgCIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYAyABKAUSDgoGcm9vdF94GAYgASgBEg4KBnJvb3RfeRgHIAEoARIuCgVlcnJvchgIIAEoCzIaLmJyb3dzZXJzY2FsZS52MS5GaWxsRXJyb3JIAIgBAUIICgZfZXJyb3IiwgEKCkRyYWdSZXN1bHQSDwoHc3VjY2VzcxgBIAEoCBIQCghmcmFtZV9pZBgCIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYAyABKAUSDwoHc3RhcnRfeBgEIAEoARIPCgdzdGFydF95GAUgASgBEg0KBWVuZF94GAYgASgBEg0KBWVuZF95GAcgASgBEi4KBWVycm9yGAggASgLMhouYnJvd3NlcnNjYWxlLnYxLkRyYWdFcnJvckgAiAEBQggKBl9lcnJvciJxCglEcmFnRXJyb3ISDAoEY29kZRgBIAEoCRIPCgdtZXNzYWdlGAIgASgJEjUKC2NsaWNrX2Vycm9yGAMgASgLMhsuYnJvd3NlcnNjYWxlLnYxLkNsaWNrRXJyb3JIAIgBAUIOCgxfY2xpY2tfZXJyb3IirgEKElNlbGVjdE9wdGlvblJlc3VsdBIWCg5zZWxlY3RlZF9pbmRleBgBIAEoBRIWCg5zZWxlY3RlZF92YWx1ZRgCIAEoCRIVCg1zZWxlY3RlZF90ZXh0GAMgASgJEg8KB3N1Y2Nlc3MYBCABKAgSNgoFZXJyb3IYBSABKAsyIi5icm93c2Vyc2NhbGUudjEuU2VsZWN0T3B0aW9uRXJyb3JIAIgBAUIICgZfZXJyb3IiMgoRU2VsZWN0T3B0aW9uRXJyb3ISDAoEY29kZRgBIAEoCRIPCgdtZXNzYWdlGAIgASgJIsEBCgxTY3JvbGxSZXN1bHQSDwoHc3VjY2VzcxgBIAEoCBIQCghmcmFtZV9pZBgCIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYAyABKAUSEgoKaXNfdmlzaWJsZRgEIAEoCBIlCgZib3VuZHMYBSABKAsyFS5icm93c2Vyc2NhbGUudjEuUmVjdBIwCgVlcnJvchgIIAEoCzIcLmJyb3dzZXJzY2FsZS52MS5TY3JvbGxFcnJvckgAiAEBQggKBl9lcnJvciIsCgtTY3JvbGxFcnJvchIMCgRjb2RlGAEgASgJEg8KB21lc3NhZ2UYAiABKAki3QEKCk1vdmVSZXN1bHQSDwoHc3VjY2VzcxgBIAEoCBIQCghmcmFtZV9pZBgCIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYAyABKAUSEgoKaXNfdmlzaWJsZRgEIAEoCBIlCgZib3VuZHMYBSABKAsyFS5icm93c2Vyc2NhbGUudjEuUmVjdBIOCgZyb290X3gYBiABKAESDgoGcm9vdF95GAcgASgBEi4KBWVycm9yGAggASgLMhouYnJvd3NlcnNjYWxlLnYxLk1vdmVFcnJvckgAiAEBQggKBl9lcnJvciIqCglNb3ZlRXJyb3ISDAoEY29kZRgBIAEoCRIPCgdtZXNzYWdlGAIgASgJIuYBCg9TZXRQcm94eVJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEhcKCnByb3h5X2hvc3QYAyABKAlIAIgBARIXCgpwcm94eV9wb3J0GAQgASgFSAGIAQESGwoOcHJveHlfdXNlcm5hbWUYBSABKAlIAogBARIbCg5wcm94eV9wYXNzd29yZBgGIAEoCUgDiAEBQg0KC19wcm94eV9ob3N0Qg0KC19wcm94eV9wb3J0QhEKD19wcm94eV91c2VybmFtZUIRCg9fcHJveHlfcGFzc3dvcmQiNgoPR2V0UGFnZXNSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCSI8ChBHZXRQYWdlc1Jlc3BvbnNlEigKBXBhZ2VzGAEgAygLMhkuYnJvd3NlcnNjYWxlLnYxLlBhZ2VJbmZvIpoBCg9OYXZpZ2F0ZVJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSCwoDdXJsGAQgASgJEhUKCHJlZmVycmVyGAUgASgJSACIAQESFAoHdGltZW91dBgGIAEoAUgBiAEBQgsKCV9yZWZlcnJlckIKCghfdGltZW91dCIxChBOYXZpZ2F0ZVJlc3BvbnNlEhAKCGZyYW1lX2lkGAEgASgJEgsKA3VybBgCIAEoCSK2AQoPTG9hZEhUTUxSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEgsKA3VybBgEIAEoCRIMCgRodG1sGAUgASgJEigKB2hlYWRlcnMYBiADKAsyFy5icm93c2Vyc2NhbGUudjEuSGVhZGVyEhgKC3N0YXR1c19jb2RlGAcgASgFSACIAQFCDgoMX3N0YXR1c19jb2RlIn8KD0V2YWx1YXRlUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRISCgpleHByZXNzaW9uGAQgASgJEhUKCGZyYW1lX2lkGAUgASgJSACIAQFCCwoJX2ZyYW1lX2lkInYKEEV2YWx1YXRlUmVzcG9uc2USDgoGcmVzdWx0GAEgASgJEhcKD2JhY2tlbmRfbm9kZV9pZBgCIAEoBRISCgppc192aXNpYmxlGAMgASgIEiUKBmJvdW5kcxgEIAEoCzIVLmJyb3dzZXJzY2FsZS52MS5SZWN0ImMKClJ1blJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg4KBnNvdXJjZRgDIAEoCRIUCgdwYWdlX2lkGAQgASgJSACIAQFCCgoIX3BhZ2VfaWQiLgoLUnVuUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIOCgZyZXN1bHQYAiABKAkiwgEKEFdhaXRGb3JBbnlQYXJhbXMSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSMgoKY29uZGl0aW9ucxgEIAMoCzIeLmJyb3dzZXJzY2FsZS52MS5XYWl0Q29uZGl0aW9uEhUKCGZyYW1lX2lkGAUgASgJSACIAQESFAoHdGltZW91dBgGIAEoAUgBiAEBQgsKCV9mcmFtZV9pZEIKCghfdGltZW91dCL1AgoTU2VsZWN0T3B0aW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIcCg9iYWNrZW5kX25vZGVfaWQYBCABKAVIAIgBARIVCghzZWxlY3RvchgFIAEoCUgBiAEBEhoKDWpzX2V4cHJlc3Npb24YBiABKAlIAogBARIVCghmcmFtZV9pZBgHIAEoCUgDiAEBEhIKBWluZGV4GAggASgFSASIAQESEgoFdmFsdWUYCSABKAlIBYgBARIRCgR0ZXh0GAogASgJSAaIAQESGAoLZmlyZV9ldmVudHMYCyABKAhIB4gBAUISChBfYmFja2VuZF9ub2RlX2lkQgsKCV9zZWxlY3RvckIQCg5fanNfZXhwcmVzc2lvbkILCglfZnJhbWVfaWRCCAoGX2luZGV4QggKBl92YWx1ZUIHCgVfdGV4dEIOCgxfZmlyZV9ldmVudHMi7wEKD1Njcm9sbFRvUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIcCg9iYWNrZW5kX25vZGVfaWQYBCABKAVIAIgBARIVCghzZWxlY3RvchgFIAEoCUgBiAEBEhoKDWpzX2V4cHJlc3Npb24YBiABKAlIAogBARIVCghmcmFtZV9pZBgHIAEoCUgDiAEBQhIKEF9iYWNrZW5kX25vZGVfaWRCCwoJX3NlbGVjdG9yQhAKDl9qc19leHByZXNzaW9uQgsKCV9mcmFtZV9pZCKZAgoNTW92ZVRvUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIcCg9iYWNrZW5kX25vZGVfaWQYBCABKAVIAIgBARIVCghzZWxlY3RvchgFIAEoCUgBiAEBEhoKDWpzX2V4cHJlc3Npb24YBiABKAlIAogBARIVCghmcmFtZV9pZBgHIAEoCUgDiAEBEg4KAXgYCCABKAFIBIgBARIOCgF5GAkgASgBSAWIAQFCEgoQX2JhY2tlbmRfbm9kZV9pZEILCglfc2VsZWN0b3JCEAoOX2pzX2V4cHJlc3Npb25CCwoJX2ZyYW1lX2lkQgQKAl94QgQKAl95IoIDCgxDbGlja1JlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSHAoPYmFja2VuZF9ub2RlX2lkGAQgASgFSACIAQESFQoIc2VsZWN0b3IYBSABKAlIAYgBARIaCg1qc19leHByZXNzaW9uGAYgASgJSAKIAQESFQoIZnJhbWVfaWQYByABKAlIA4gBARITCgZidXR0b24YCCABKAlIBIgBARIYCgtjbGlja19jb3VudBgJIAEoBUgFiAEBEg4KAXgYCiABKAFIBogBARIOCgF5GAsgASgBSAeIAQESEwoGYWN0aW9uGAwgASgJSAiIAQFCEgoQX2JhY2tlbmRfbm9kZV9pZEILCglfc2VsZWN0b3JCEAoOX2pzX2V4cHJlc3Npb25CCwoJX2ZyYW1lX2lkQgkKB19idXR0b25CDgoMX2NsaWNrX2NvdW50QgQKAl94QgQKAl95QgkKB19hY3Rpb24igwMKC0RyYWdSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEhwKD2JhY2tlbmRfbm9kZV9pZBgEIAEoBUgAiAEBEhUKCHNlbGVjdG9yGAUgASgJSAGIAQESGgoNanNfZXhwcmVzc2lvbhgGIAEoCUgCiAEBEhUKCGZyYW1lX2lkGAcgASgJSAOIAQESFQoIb2Zmc2V0X3gYCCABKAFIBIgBARIVCghvZmZzZXRfeRgJIAEoAUgFiAEBEhcKCmFic29sdXRlX3gYCiABKAFIBogBARIXCgphYnNvbHV0ZV95GAsgASgBSAeIAQFCEgoQX2JhY2tlbmRfbm9kZV9pZEILCglfc2VsZWN0b3JCEAoOX2pzX2V4cHJlc3Npb25CCwoJX2ZyYW1lX2lkQgsKCV9vZmZzZXRfeEILCglfb2Zmc2V0X3lCDQoLX2Fic29sdXRlX3hCDQoLX2Fic29sdXRlX3ki7wIKC0ZpbGxSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEhwKD2JhY2tlbmRfbm9kZV9pZBgEIAEoBUgAiAEBEhUKCHNlbGVjdG9yGAUgASgJSAGIAQESGgoNanNfZXhwcmVzc2lvbhgGIAEoCUgCiAEBEhUKCGZyYW1lX2lkGAcgASgJSAOIAQESDAoEdGV4dBgIIAEoCRIYCgtjbGVhcl9maXJzdBgJIAEoCEgEiAEBEhQKB3RpbWVvdXQYCiABKAFIBYgBARIYCgtzdGVhZHlfdGltZRgLIAEoAUgGiAEBQhIKEF9iYWNrZW5kX25vZGVfaWRCCwoJX3NlbGVjdG9yQhAKDl9qc19leHByZXNzaW9uQgsKCV9mcmFtZV9pZEIOCgxfY2xlYXJfZmlyc3RCCgoIX3RpbWVvdXRCDgoMX3N0ZWFkeV90aW1lIkwKE1NldEJsb2NrTGlzdFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEhAKCHBhdHRlcm5zGAMgAygJImEKFVNldFN0YXRpY1BhdGhzUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSEAoIcGF0dGVybnMYAyADKAkSEQoJYmxvYl9uYW1lGAQgASgJIogBChhXYWl0Rm9yQW55UmVxdWVzdFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEhAKCHBhdHRlcm5zGAMgAygJEhMKC2Fib3J0X2ZsYWdzGAQgAygFEhQKB3RpbWVvdXQYBSABKAFIAIgBAUIKCghfdGltZW91dCJgChlXYWl0Rm9yQW55UmVxdWVzdFJlc3BvbnNlEg0KBWluZGV4GAEgASgFEjQKB3JlcXVlc3QYAiABKAsyIy5icm93c2Vyc2NhbGUudjEuSW50ZXJjZXB0ZWRSZXF1ZXN0IokBChlXYWl0Rm9yQW55UmVzcG9uc2VSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIQCghwYXR0ZXJucxgDIAMoCRITCgthYm9ydF9mbGFncxgEIAMoBRIUCgd0aW1lb3V0GAUgASgBSACIAQFCCgoIX3RpbWVvdXQiYwoaV2FpdEZvckFueVJlc3BvbnNlUmVzcG9uc2USDQoFaW5kZXgYASABKAUSNgoIcmVzcG9uc2UYAiABKAsyJC5icm93c2Vyc2NhbGUudjEuSW50ZXJjZXB0ZWRSZXNwb25zZSLKAQoUTW9kaWZ5UmVxdWVzdFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEhMKC3VybF9wYXR0ZXJuGAMgASgJEjoKDW1vZGlmaWNhdGlvbnMYBCADKAsyIy5icm93c2Vyc2NhbGUudjEuSGVhZGVyTW9kaWZpY2F0aW9uEhEKBGJvZHkYBSABKAlIAIgBARIUCgd0aW1lb3V0GAYgASgBSAGIAQFCBwoFX2JvZHlCCgoIX3RpbWVvdXQiTQoVTW9kaWZ5UmVxdWVzdFJlc3BvbnNlEjQKB3JlcXVlc3QYASABKAsyIy5icm93c2Vyc2NhbGUudjEuSW50ZXJjZXB0ZWRSZXF1ZXN0IjgKEUdldENvb2tpZXNSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCSJDChJHZXRDb29raWVzUmVzcG9uc2USLQoHY29va2llcxgBIAMoCzIcLmJyb3dzZXJzY2FsZS52MS5Db29raWVQYXJhbSJnChFTZXRDb29raWVzUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSLQoHY29va2llcxgDIAMoCzIcLmJyb3dzZXJzY2FsZS52MS5Db29raWVQYXJhbSI6ChNDbGVhckNvb2tpZXNSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCSIpCgtTdG9yYWdlSXRlbRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAkiUQoSU3RvcmFnZU9yaWdpbkVudHJ5Eg4KBm9yaWdpbhgBIAEoCRIrCgVpdGVtcxgCIAMoCzIcLmJyb3dzZXJzY2FsZS52MS5TdG9yYWdlSXRlbSJYChFHZXRTdG9yYWdlUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSEwoGb3JpZ2luGAMgASgJSACIAQFCCQoHX29yaWdpbiJKChJHZXRTdG9yYWdlUmVzcG9uc2USNAoHc3RvcmFnZRgBIAMoCzIjLmJyb3dzZXJzY2FsZS52MS5TdG9yYWdlT3JpZ2luRW50cnkimAEKEVNldFN0b3JhZ2VSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRI0CgdzdG9yYWdlGAMgAygLMiMuYnJvd3NlcnNjYWxlLnYxLlN0b3JhZ2VPcmlnaW5FbnRyeRIYCgtjbGVhcl9maXJzdBgEIAEoCEgAiAEBQg4KDF9jbGVhcl9maXJzdCJaChNDbGVhclN0b3JhZ2VSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRITCgZvcmlnaW4YAyABKAlIAIgBAUIJCgdfb3JpZ2luIocBCg1HZXRET01SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEhUKCGZyYW1lX2lkGAQgASgJSACIAQESEgoFZGVwdGgYBSABKAVIAYgBAUILCglfZnJhbWVfaWRCCAoGX2RlcHRoIh0KDkdldERPTVJlc3BvbnNlEgsKA2RvbRgBIAEoCSKZBAoVR2V0T2JzZXJ2YXRpb25SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEiMKFm1heF9lbGVtZW50c19wZXJfZnJhbWUYBCABKAVIAIgBARIcCg9tYXhfdGV4dF9sZW5ndGgYBSABKAVIAYgBARITCgZmb3JtYXQYBiABKAlIAogBARIdChBtYXhfdG90YWxfdG9rZW5zGAcgASgFSAOIAQESGwoOaW5jbHVkZV9ib3VuZHMYCCABKAhIBIgBARIaCg12aWV3cG9ydF9vbmx5GAkgASgISAWIAQESHAoPYmFja2VuZF9ub2RlX2lkGAogASgFSAaIAQESFQoIc2VsZWN0b3IYCyABKAlIB4gBARIaCg1qc19leHByZXNzaW9uGAwgASgJSAiIAQESFQoIZnJhbWVfaWQYDSABKAlICYgBAUIZChdfbWF4X2VsZW1lbnRzX3Blcl9mcmFtZUISChBfbWF4X3RleHRfbGVuZ3RoQgkKB19mb3JtYXRCEwoRX21heF90b3RhbF90b2tlbnNCEQoPX2luY2x1ZGVfYm91bmRzQhAKDl92aWV3cG9ydF9vbmx5QhIKEF9iYWNrZW5kX25vZGVfaWRCCwoJX3NlbGVjdG9yQhAKDl9qc19leHByZXNzaW9uQgsKCV9mcmFtZV9pZCJFChZHZXRPYnNlcnZhdGlvblJlc3BvbnNlEhMKC29ic2VydmF0aW9uGAEgASgJSgQIAhADUhBvYnNlcnZhdGlvbl9qc29uIm0KEUdldERPTUhhc2hSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEhUKCGZyYW1lX2lkGAQgASgJSACIAQFCCwoJX2ZyYW1lX2lkIiIKEkdldERPTUhhc2hSZXNwb25zZRIMCgRoYXNoGAEgASgJImYKGEluc3BlY3RBdFBvc2l0aW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIJCgF4GAQgASgBEgkKAXkYBSABKAEiqQEKGUluc3BlY3RBdFBvc2l0aW9uUmVzcG9uc2USFwoPYmFja2VuZF9ub2RlX2lkGAEgASgFEhAKCGZyYW1lX2lkGAIgASgJEhAKCHRhZ19uYW1lGAMgASgJEhQKDHRleHRfY29udGVudBgEIAEoCRISCgppc192aXNpYmxlGAUgASgIEiUKBmJvdW5kcxgGIAEoCzIVLmJyb3dzZXJzY2FsZS52MS5SZWN0IokBChRIaWdobGlnaHROb2RlUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYBCABKAUSFQoIZnJhbWVfaWQYBSABKAlIAIgBAUILCglfZnJhbWVfaWQiVwoRSW5zZXJ0VGV4dFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSDAoEdGV4dBgEIAEoCSJ7CgtUeXBlUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIMCgR0ZXh0GAQgASgJEhgKC2NsZWFyX2ZpcnN0GAUgASgISACIAQFCDgoMX2NsZWFyX2ZpcnN0IroBCg9QcmVzc0tleVJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSCwoDa2V5GAQgASgJEhEKBGNvZGUYBSABKAlIAIgBARIWCgltb2RpZmllcnMYBiABKAVIAYgBARIVCghsb2NhdGlvbhgHIAEoBUgCiAEBQgcKBV9jb2RlQgwKCl9tb2RpZmllcnNCCwoJX2xvY2F0aW9uIrwBChFSZWxlYXNlS2V5UmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRILCgNrZXkYBCABKAkSEQoEY29kZRgFIAEoCUgAiAEBEhYKCW1vZGlmaWVycxgGIAEoBUgBiAEBEhUKCGxvY2F0aW9uGAcgASgFSAKIAQFCBwoFX2NvZGVCDAoKX21vZGlmaWVyc0ILCglfbG9jYXRpb24iSwoTR2V0U2VsZWN0aW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCSIkChRHZXRTZWxlY3Rpb25SZXNwb25zZRIMCgR0ZXh0GAEgASgJIosBChFTY3JlZW5zaG90UmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRITCgZmb3JtYXQYBCABKAlIAIgBARIUCgdxdWFsaXR5GAUgASgFSAGIAQFCCQoHX2Zvcm1hdEIKCghfcXVhbGl0eSJIChJTY3JlZW5zaG90UmVzcG9uc2USEwoLZGF0YV9iYXNlNjQYASABKAkSDQoFd2lkdGgYAiABKAUSDgoGaGVpZ2h0GAMgASgFIpMDChFSZWFkQ2FudmFzUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIcCg9iYWNrZW5kX25vZGVfaWQYBCABKAVIAIgBARIVCghzZWxlY3RvchgFIAEoCUgBiAEBEhoKDWpzX2V4cHJlc3Npb24YBiABKAlIAogBARIVCghmcmFtZV9pZBgHIAEoCUgDiAEBEhMKBmZvcm1hdBgIIAEoCUgEiAEBEhQKB3F1YWxpdHkYCSABKAVIBYgBARIPCgJzeBgKIAEoBUgGiAEBEg8KAnN5GAsgASgFSAeIAQESDwoCc3cYDCABKAVICIgBARIPCgJzaBgNIAEoBUgJiAEBQhIKEF9iYWNrZW5kX25vZGVfaWRCCwoJX3NlbGVjdG9yQhAKDl9qc19leHByZXNzaW9uQgsKCV9mcmFtZV9pZEIJCgdfZm9ybWF0QgoKCF9xdWFsaXR5QgUKA19zeEIFCgNfc3lCBQoDX3N3QgUKA19zaCKaAQoSUmVhZENhbnZhc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSEAoIZnJhbWVfaWQYAiABKAkSFwoPYmFja2VuZF9ub2RlX2lkGAMgASgFEhMKC2RhdGFfYmFzZTY0GAQgASgJEg0KBXdpZHRoGAUgASgFEg4KBmhlaWdodBgGIAEoBRIUCgxvcmlnaW5fY2xlYW4YByABKAgiZAoTU29sdmVDYXB0Y2hhUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSEgoKdGltZW91dF9tcxgDIAEoBRIUCgxyZXRyeV9hbW91bnQYBCABKAUiJgoUU29sdmVDYXB0Y2hhUmVzcG9uc2USDgoGcmVzdWx0GAEgASgJImUKCUljZVNlcnZlchIMCgR1cmxzGAEgAygJEhUKCHVzZXJuYW1lGAIgASgJSACIAQESFwoKY3JlZGVudGlhbBgDIAEoCUgBiAEBQgsKCV91c2VybmFtZUINCgtfY3JlZGVudGlhbCI9ChZHZXRTdHJlYW1Db25maWdSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCSJKChdHZXRTdHJlYW1Db25maWdSZXNwb25zZRIvCgtpY2Vfc2VydmVycxgBIAMoCzIaLmJyb3dzZXJzY2FsZS52MS5JY2VTZXJ2ZXIiTAoSU3RhcnRTdHJlYW1SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIRCglvZmZlcl9zZHAYAyABKAkiKQoTU3RhcnRTdHJlYW1SZXNwb25zZRISCgphbnN3ZXJfc2RwGAEgASgJIjgKEVN0b3BTdHJlYW1SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCSIUChJTdG9wU3RyZWFtUmVzcG9uc2UygRwKB0Jyb3dzZXISRAoIU2V0UHJveHkSIC5icm93c2Vyc2NhbGUudjEuU2V0UHJveHlSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ek8KCEdldFBhZ2VzEiAuYnJvd3NlcnNjYWxlLnYxLkdldFBhZ2VzUmVxdWVzdBohLmJyb3dzZXJzY2FsZS52MS5HZXRQYWdlc1Jlc3BvbnNlEk8KCE5hdmlnYXRlEiAuYnJvd3NlcnNjYWxlLnYxLk5hdmlnYXRlUmVxdWVzdBohLmJyb3dzZXJzY2FsZS52MS5OYXZpZ2F0ZVJlc3BvbnNlEkQKCExvYWRIVE1MEiAuYnJvd3NlcnNjYWxlLnYxLkxvYWRIVE1MUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJPCghFdmFsdWF0ZRIgLmJyb3dzZXJzY2FsZS52MS5FdmFsdWF0ZVJlcXVlc3QaIS5icm93c2Vyc2NhbGUudjEuRXZhbHVhdGVSZXNwb25zZRJACgNSdW4SGy5icm93c2Vyc2NhbGUudjEuUnVuUmVxdWVzdBocLmJyb3dzZXJzY2FsZS52MS5SdW5SZXNwb25zZRJMCgpXYWl0Rm9yQW55EiEuYnJvd3NlcnNjYWxlLnYxLldhaXRGb3JBbnlQYXJhbXMaGy5icm93c2Vyc2NhbGUudjEuV2FpdFJlc3VsdBJZCgxTZWxlY3RPcHRpb24SJC5icm93c2Vyc2NhbGUudjEuU2VsZWN0T3B0aW9uUmVxdWVzdBojLmJyb3dzZXJzY2FsZS52MS5TZWxlY3RPcHRpb25SZXN1bHQSSwoIU2Nyb2xsVG8SIC5icm93c2Vyc2NhbGUudjEuU2Nyb2xsVG9SZXF1ZXN0Gh0uYnJvd3NlcnNjYWxlLnYxLlNjcm9sbFJlc3VsdBJFCgZNb3ZlVG8SHi5icm93c2Vyc2NhbGUudjEuTW92ZVRvUmVxdWVzdBobLmJyb3dzZXJzY2FsZS52MS5Nb3ZlUmVzdWx0EkQKBUNsaWNrEh0uYnJvd3NlcnNjYWxlLnYxLkNsaWNrUmVxdWVzdBocLmJyb3dzZXJzY2FsZS52MS5DbGlja1Jlc3VsdBJBCgREcmFnEhwuYnJvd3NlcnNjYWxlLnYxLkRyYWdSZXF1ZXN0GhsuYnJvd3NlcnNjYWxlLnYxLkRyYWdSZXN1bHQSQQoERmlsbBIcLmJyb3dzZXJzY2FsZS52MS5GaWxsUmVxdWVzdBobLmJyb3dzZXJzY2FsZS52MS5GaWxsUmVzdWx0ElgKC0FkZFJlYWN0aW9uEiMuYnJvd3NlcnNjYWxlLnYxLkFkZFJlYWN0aW9uUmVxdWVzdBokLmJyb3dzZXJzY2FsZS52MS5BZGRSZWFjdGlvblJlc3BvbnNlEmEKDlJlbW92ZVJlYWN0aW9uEiYuYnJvd3NlcnNjYWxlLnYxLlJlbW92ZVJlYWN0aW9uUmVxdWVzdBonLmJyb3dzZXJzY2FsZS52MS5SZW1vdmVSZWFjdGlvblJlc3BvbnNlEl4KDUxpc3RSZWFjdGlvbnMSJS5icm93c2Vyc2NhbGUudjEuTGlzdFJlYWN0aW9uc1JlcXVlc3QaJi5icm93c2Vyc2NhbGUudjEuTGlzdFJlYWN0aW9uc1Jlc3BvbnNlEkwKDFNldEJsb2NrTGlzdBIkLmJyb3dzZXJzY2FsZS52MS5TZXRCbG9ja0xpc3RSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5ElAKDlNldFN0YXRpY1BhdGhzEiYuYnJvd3NlcnNjYWxlLnYxLlNldFN0YXRpY1BhdGhzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJqChFXYWl0Rm9yQW55UmVxdWVzdBIpLmJyb3dzZXJzY2FsZS52MS5XYWl0Rm9yQW55UmVxdWVzdFJlcXVlc3QaKi5icm93c2Vyc2NhbGUudjEuV2FpdEZvckFueVJlcXVlc3RSZXNwb25zZRJtChJXYWl0Rm9yQW55UmVzcG9uc2USKi5icm93c2Vyc2NhbGUudjEuV2FpdEZvckFueVJlc3BvbnNlUmVxdWVzdBorLmJyb3dzZXJzY2FsZS52MS5XYWl0Rm9yQW55UmVzcG9uc2VSZXNwb25zZRJeCg1Nb2RpZnlSZXF1ZXN0EiUuYnJvd3NlcnNjYWxlLnYxLk1vZGlmeVJlcXVlc3RSZXF1ZXN0GiYuYnJvd3NlcnNjYWxlLnYxLk1vZGlmeVJlcXVlc3RSZXNwb25zZRJVCgpHZXRDb29raWVzEiIuYnJvd3NlcnNjYWxlLnYxLkdldENvb2tpZXNSZXF1ZXN0GiMuYnJvd3NlcnNjYWxlLnYxLkdldENvb2tpZXNSZXNwb25zZRJICgpTZXRDb29raWVzEiIuYnJvd3NlcnNjYWxlLnYxLlNldENvb2tpZXNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkwKDENsZWFyQ29va2llcxIkLmJyb3dzZXJzY2FsZS52MS5DbGVhckNvb2tpZXNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5ElUKCkdldFN0b3JhZ2USIi5icm93c2Vyc2NhbGUudjEuR2V0U3RvcmFnZVJlcXVlc3QaIy5icm93c2Vyc2NhbGUudjEuR2V0U3RvcmFnZVJlc3BvbnNlEkgKClNldFN0b3JhZ2USIi5icm93c2Vyc2NhbGUudjEuU2V0U3RvcmFnZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSTAoMQ2xlYXJTdG9yYWdlEiQuYnJvd3NlcnNjYWxlLnYxLkNsZWFyU3RvcmFnZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSSQoGR2V0RE9NEh4uYnJvd3NlcnNjYWxlLnYxLkdldERPTVJlcXVlc3QaHy5icm93c2Vyc2NhbGUudjEuR2V0RE9NUmVzcG9uc2USVQoKR2V0RE9NSGFzaBIiLmJyb3dzZXJzY2FsZS52MS5HZXRET01IYXNoUmVxdWVzdBojLmJyb3dzZXJzY2FsZS52MS5HZXRET01IYXNoUmVzcG9uc2USYQoOR2V0T2JzZXJ2YXRpb24SJi5icm93c2Vyc2NhbGUudjEuR2V0T2JzZXJ2YXRpb25SZXF1ZXN0GicuYnJvd3NlcnNjYWxlLnYxLkdldE9ic2VydmF0aW9uUmVzcG9uc2USagoRSW5zcGVjdEF0UG9zaXRpb24SKS5icm93c2Vyc2NhbGUudjEuSW5zcGVjdEF0UG9zaXRpb25SZXF1ZXN0GiouYnJvd3NlcnNjYWxlLnYxLkluc3BlY3RBdFBvc2l0aW9uUmVzcG9uc2USTgoNSGlnaGxpZ2h0Tm9kZRIlLmJyb3dzZXJzY2FsZS52MS5IaWdobGlnaHROb2RlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJVCgpTY3JlZW5zaG90EiIuYnJvd3NlcnNjYWxlLnYxLlNjcmVlbnNob3RSZXF1ZXN0GiMuYnJvd3NlcnNjYWxlLnYxLlNjcmVlbnNob3RSZXNwb25zZRJVCgpSZWFkQ2FudmFzEiIuYnJvd3NlcnNjYWxlLnYxLlJlYWRDYW52YXNSZXF1ZXN0GiMuYnJvd3NlcnNjYWxlLnYxLlJlYWRDYW52YXNSZXNwb25zZRJICgpJbnNlcnRUZXh0EiIuYnJvd3NlcnNjYWxlLnYxLkluc2VydFRleHRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EjwKBFR5cGUSHC5icm93c2Vyc2NhbGUudjEuVHlwZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSRAoIUHJlc3NLZXkSIC5icm93c2Vyc2NhbGUudjEuUHJlc3NLZXlSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkgKClJlbGVhc2VLZXkSIi5icm93c2Vyc2NhbGUudjEuUmVsZWFzZUtleVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSWwoMR2V0U2VsZWN0aW9uEiQuYnJvd3NlcnNjYWxlLnYxLkdldFNlbGVjdGlvblJlcXVlc3QaJS5icm93c2Vyc2NhbGUudjEuR2V0U2VsZWN0aW9uUmVzcG9uc2USWwoMU29sdmVDYXB0Y2hhEiQuYnJvd3NlcnNjYWxlLnYxLlNvbHZlQ2FwdGNoYVJlcXVlc3QaJS5icm93c2Vyc2NhbGUudjEuU29sdmVDYXB0Y2hhUmVzcG9uc2USZAoPR2V0U3RyZWFtQ29uZmlnEicuYnJvd3NlcnNjYWxlLnYxLkdldFN0cmVhbUNvbmZpZ1JlcXVlc3QaKC5icm93c2Vyc2NhbGUudjEuR2V0U3RyZWFtQ29uZmlnUmVzcG9uc2USWAoLU3RhcnRTdHJlYW0SIy5icm93c2Vyc2NhbGUudjEuU3RhcnRTdHJlYW1SZXF1ZXN0GiQuYnJvd3NlcnNjYWxlLnYxLlN0YXJ0U3RyZWFtUmVzcG9uc2USVQoKU3RvcFN0cmVhbRIiLmJyb3dzZXJzY2FsZS52MS5TdG9wU3RyZWFtUmVxdWVzdBojLmJyb3dzZXJzY2FsZS52MS5TdG9wU3RyZWFtUmVzcG9uc2VCM1oxZ2l0aHViLmNvbS9icm93c2Vyc2NhbGUvYnJvd3NlcnNjYWxlLWdvL2dlbmVyYXRlZGIGcHJvdG8z", [file_google_protobuf_empty]);
|
|
3802
|
+
var file_wrc = /* @__PURE__ */ fileDesc("Cgl3cmMucHJvdG8SD2Jyb3dzZXJzY2FsZS52MSI7CgRSZWN0EgkKAXgYASABKAESCQoBeRgCIAEoARINCgV3aWR0aBgDIAEoARIOCgZoZWlnaHQYBCABKAEihgIKCUZyYW1lSW5mbxIQCghmcmFtZV9pZBgBIAEoCRILCgN1cmwYAiABKAkSEAoIaXNfb29waWYYAyABKAgSFgoOaGFzX2pzX2NvbnRleHQYBCABKAgSEgoKaXNfbG9hZGluZxgFIAEoCBISCgppc192aXNpYmxlGAYgASgIEiwKDWFic29sdXRlX3JlY3QYByABKAsyFS5icm93c2Vyc2NhbGUudjEuUmVjdBIsCg1yZWxhdGl2ZV9yZWN0GAggASgLMhUuYnJvd3NlcnNjYWxlLnYxLlJlY3QSLAoIY2hpbGRyZW4YCSADKAsyGi5icm93c2Vyc2NhbGUudjEuRnJhbWVJbmZvIqwBCghQYWdlSW5mbxIPCgdwYWdlX2lkGAEgASgJEhoKEmJyb3dzZXJfY29udGV4dF9pZBgCIAEoCRILCgN1cmwYAyABKAkSDQoFdGl0bGUYBCABKAkSJwoIdmlld3BvcnQYBSABKAsyFS5icm93c2Vyc2NhbGUudjEuUmVjdBIuCgpmcmFtZV90cmVlGAYgASgLMhouYnJvd3NlcnNjYWxlLnYxLkZyYW1lSW5mbyIlCgZIZWFkZXISDAoEbmFtZRgBIAEoCRINCgV2YWx1ZRgCIAEoCSKAAQoSSW50ZXJjZXB0ZWRSZXF1ZXN0Eg4KBm1ldGhvZBgBIAEoCRILCgN1cmwYAiABKAkSKAoHaGVhZGVycxgDIAMoCzIXLmJyb3dzZXJzY2FsZS52MS5IZWFkZXISDAoEYm9keRgEIAEoCRIVCg1yZXNvdXJjZV90eXBlGAUgASgJIm8KE0ludGVyY2VwdGVkUmVzcG9uc2USCwoDdXJsGAEgASgJEhMKC3N0YXR1c19jb2RlGAIgASgFEigKB2hlYWRlcnMYAyADKAsyFy5icm93c2Vyc2NhbGUudjEuSGVhZGVyEgwKBGJvZHkYBCABKAkijgEKEkhlYWRlck1vZGlmaWNhdGlvbhIMCgRuYW1lGAEgASgJEhIKBXZhbHVlGAIgASgJSACIAQESDgoGYWN0aW9uGAMgASgJEhMKBmJlZm9yZRgEIAEoCUgBiAEBEhIKBWFmdGVyGAUgASgJSAKIAQFCCAoGX3ZhbHVlQgkKB19iZWZvcmVCCAoGX2FmdGVyIk0KEkNvb2tpZVBhcnRpdGlvbktleRIWCg50b3BfbGV2ZWxfc2l0ZRgBIAEoCRIfChdoYXNfY3Jvc3Nfc2l0ZV9hbmNlc3RvchgCIAEoCCK/AwoLQ29va2llUGFyYW0SDAoEbmFtZRgBIAEoCRINCgV2YWx1ZRgCIAEoCRIQCgN1cmwYAyABKAlIAIgBARIOCgZkb21haW4YBCABKAkSDAoEcGF0aBgFIAEoCRITCgZzZWN1cmUYBiABKAhIAYgBARIWCglodHRwX29ubHkYByABKAhIAogBARIWCglzYW1lX3NpdGUYCCABKAlIA4gBARIUCgdleHBpcmVzGAkgASgBSASIAQESFQoIcHJpb3JpdHkYCiABKAlIBYgBARIaCg1zb3VyY2Vfc2NoZW1lGAsgASgJSAaIAQESGAoLc291cmNlX3BvcnQYDCABKAVIB4gBARI/Cg1wYXJ0aXRpb25fa2V5GA0gASgLMiMuYnJvd3NlcnNjYWxlLnYxLkNvb2tpZVBhcnRpdGlvbktleUgIiAEBQgYKBF91cmxCCQoHX3NlY3VyZUIMCgpfaHR0cF9vbmx5QgwKCl9zYW1lX3NpdGVCCgoIX2V4cGlyZXNCCwoJX3ByaW9yaXR5QhAKDl9zb3VyY2Vfc2NoZW1lQg4KDF9zb3VyY2VfcG9ydEIQCg5fcGFydGl0aW9uX2tleSKtAQoNV2FpdENvbmRpdGlvbhIVCghzZWxlY3RvchgBIAEoCUgAiAEBEhoKDWpzX2V4cHJlc3Npb24YAiABKAlIAYgBARIUCgd2aXNpYmxlGAMgASgISAKIAQESGAoLc3RlYWR5X3RpbWUYBCABKAFIA4gBAUILCglfc2VsZWN0b3JCEAoOX2pzX2V4cHJlc3Npb25CCgoIX3Zpc2libGVCDgoMX3N0ZWFkeV90aW1lIrsBCgpXYWl0UmVzdWx0Eg0KBWluZGV4GAEgASgFEhAKCGZyYW1lX2lkGAIgASgJEhcKD2JhY2tlbmRfbm9kZV9pZBgDIAEoBRISCgppc192aXNpYmxlGAQgASgIEiUKBmJvdW5kcxgFIAEoCzIVLmJyb3dzZXJzY2FsZS52MS5SZWN0Ei4KBWVycm9yGAYgASgLMhouYnJvd3NlcnNjYWxlLnYxLldhaXRFcnJvckgAiAEBQggKBl9lcnJvciLsAQoTV2FpdENvbmRpdGlvblN0YXR1cxINCgVpbmRleBgBIAEoBRINCgVzdGF0ZRgCIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYAyABKAUSEAoIZnJhbWVfaWQYBCABKAkSEgoKaXNfdmlzaWJsZRgFIAEoCBIqCgZib3VuZHMYBiABKAsyFS5icm93c2Vyc2NhbGUudjEuUmVjdEgAiAEBEjQKCG9jY2x1ZGVyGAcgASgLMh0uYnJvd3NlcnNjYWxlLnYxLk9jY2x1ZGVySW5mb0gBiAEBQgkKB19ib3VuZHNCCwoJX29jY2x1ZGVyImQKCVdhaXRFcnJvchIMCgRjb2RlGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSOAoKY29uZGl0aW9ucxgDIAMoCzIkLmJyb3dzZXJzY2FsZS52MS5XYWl0Q29uZGl0aW9uU3RhdHVzIqYBCg1FbGVtZW50UmVzdWx0Eg8KB3N1Y2Nlc3MYASABKAgSEAoIZnJhbWVfaWQYAiABKAkSFwoPYmFja2VuZF9ub2RlX2lkGAMgASgFEhIKCmlzX3Zpc2libGUYBCABKAgSJQoGYm91bmRzGAUgASgLMhUuYnJvd3NlcnNjYWxlLnYxLlJlY3QSDgoGcm9vdF94GAYgASgBEg4KBnJvb3RfeRgHIAEoASLSAwoMT2NjbHVkZXJJbmZvEhcKD2JhY2tlbmRfbm9kZV9pZBgBIAEoBRIQCghmcmFtZV9pZBgCIAEoCRIQCgh0YWdfbmFtZRgDIAEoCRIPCgJpZBgEIAEoCUgAiAEBEhcKCmNsYXNzX25hbWUYBSABKAlIAYgBARIRCgR0ZXh0GAYgASgJSAKIAQESJQoGYm91bmRzGAcgASgLMhUuYnJvd3NlcnNjYWxlLnYxLlJlY3QSGwoOcG9pbnRlcl9ldmVudHMYCCABKAlIA4gBARIXCgp2aXNpYmlsaXR5GAkgASgJSASIAQESFAoHb3BhY2l0eRgKIAEoAUgFiAEBEhQKB3pfaW5kZXgYCyABKAlIBogBARIlChhoaXR0YWJsZV93aGlsZV9pbnZpc2libGUYDCABKAhIB4gBARIVCghwb3NpdGlvbhgNIAEoCUgIiAEBQgUKA19pZEINCgtfY2xhc3NfbmFtZUIHCgVfdGV4dEIRCg9fcG9pbnRlcl9ldmVudHNCDQoLX3Zpc2liaWxpdHlCCgoIX29wYWNpdHlCCgoIX3pfaW5kZXhCGwoZX2hpdHRhYmxlX3doaWxlX2ludmlzaWJsZUILCglfcG9zaXRpb24ioAEKCkNsaWNrRXJyb3ISDAoEY29kZRgBIAEoCRIPCgdtZXNzYWdlGAIgASgJEjQKCG9jY2x1ZGVyGAMgASgLMh0uYnJvd3NlcnNjYWxlLnYxLk9jY2x1ZGVySW5mb0gAiAEBEhwKD2V2YWRlX2F0dGVtcHRlZBgEIAEoCEgBiAEBQgsKCV9vY2NsdWRlckISChBfZXZhZGVfYXR0ZW1wdGVkIt8BCgtDbGlja1Jlc3VsdBIPCgdzdWNjZXNzGAEgASgIEhAKCGZyYW1lX2lkGAIgASgJEhcKD2JhY2tlbmRfbm9kZV9pZBgDIAEoBRISCgppc192aXNpYmxlGAQgASgIEiUKBmJvdW5kcxgFIAEoCzIVLmJyb3dzZXJzY2FsZS52MS5SZWN0Eg4KBnJvb3RfeBgGIAEoARIOCgZyb290X3kYByABKAESLwoFZXJyb3IYCCABKAsyGy5icm93c2Vyc2NhbGUudjEuQ2xpY2tFcnJvckgAiAEBQggKBl9lcnJvciKeAgoMUmVhY3Rpb25JbmZvEhMKC3JlYWN0aW9uX2lkGAEgASgJEhsKDm1hdGNoX3NlbGVjdG9yGAIgASgJSACIAQESIAoTbWF0Y2hfanNfZXhwcmVzc2lvbhgDIAEoCUgBiAEBEhwKD2FjdGlvbl9zZWxlY3RvchgEIAEoCUgCiAEBEiEKFGFjdGlvbl9qc19leHByZXNzaW9uGAUgASgJSAOIAQESEAoIZnJhbWVfaWQYBiABKAkSDwoHdmlzaWJsZRgHIAEoCEIRCg9fbWF0Y2hfc2VsZWN0b3JCFgoUX21hdGNoX2pzX2V4cHJlc3Npb25CEgoQX2FjdGlvbl9zZWxlY3RvckIXChVfYWN0aW9uX2pzX2V4cHJlc3Npb24i1gMKEkFkZFJlYWN0aW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIbCg5tYXRjaF9zZWxlY3RvchgEIAEoCUgAiAEBEiAKE21hdGNoX2pzX2V4cHJlc3Npb24YBSABKAlIAYgBARIVCghmcmFtZV9pZBgGIAEoCUgCiAEBEhQKB3Zpc2libGUYByABKAhIA4gBARIcCg9hY3Rpb25fc2VsZWN0b3IYCCABKAlIBIgBARIhChRhY3Rpb25fanNfZXhwcmVzc2lvbhgJIAEoCUgFiAEBEhMKBmJ1dHRvbhgKIAEoCUgGiAEBEhgKC2NsaWNrX2NvdW50GAsgASgFSAeIAQESFQoIaW50ZXJ2YWwYDCABKAFICIgBAUIRCg9fbWF0Y2hfc2VsZWN0b3JCFgoUX21hdGNoX2pzX2V4cHJlc3Npb25CCwoJX2ZyYW1lX2lkQgoKCF92aXNpYmxlQhIKEF9hY3Rpb25fc2VsZWN0b3JCFwoVX2FjdGlvbl9qc19leHByZXNzaW9uQgkKB19idXR0b25CDgoMX2NsaWNrX2NvdW50QgsKCV9pbnRlcnZhbCIqChNBZGRSZWFjdGlvblJlc3BvbnNlEhMKC3JlYWN0aW9uX2lkGAEgASgJIlEKFVJlbW92ZVJlYWN0aW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSEwoLcmVhY3Rpb25faWQYAyABKAkiKQoWUmVtb3ZlUmVhY3Rpb25SZXNwb25zZRIPCgdyZW1vdmVkGAEgASgIIkwKFExpc3RSZWFjdGlvbnNSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJIkkKFUxpc3RSZWFjdGlvbnNSZXNwb25zZRIwCglyZWFjdGlvbnMYASADKAsyHS5icm93c2Vyc2NhbGUudjEuUmVhY3Rpb25JbmZvIukBCgpFbGVtZW50UmVmEhcKD2JhY2tlbmRfbm9kZV9pZBgBIAEoBRIQCgh0YWdfbmFtZRgCIAEoCRIPCgJpZBgDIAEoCUgAiAEBEhEKBG5hbWUYBCABKAlIAYgBARIXCgpjbGFzc19uYW1lGAUgASgJSAKIAQESFwoKaW5wdXRfdHlwZRgGIAEoCUgDiAEBEhEKBHRleHQYByABKAlIBIgBARIQCghlZGl0YWJsZRgIIAEoCEIFCgNfaWRCBwoFX25hbWVCDQoLX2NsYXNzX25hbWVCDQoLX2lucHV0X3R5cGVCBwoFX3RleHQi7gIKCUZpbGxFcnJvchIMCgRjb2RlGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSNQoLY2xpY2tfZXJyb3IYAyABKAsyGy5icm93c2Vyc2NhbGUudjEuQ2xpY2tFcnJvckgAiAEBEiQKF2ZvY3VzZWRfYmFja2VuZF9ub2RlX2lkGAQgASgFSAGIAQESOQoPZm9jdXNlZF9lbGVtZW50GAUgASgLMhsuYnJvd3NlcnNjYWxlLnYxLkVsZW1lbnRSZWZIAogBARIcCg90YXJnZXRfZWRpdGFibGUYBiABKAhIA4gBARIgChN0YXJnZXRfdmFsdWVfbGVuZ3RoGAcgASgFSASIAQFCDgoMX2NsaWNrX2Vycm9yQhoKGF9mb2N1c2VkX2JhY2tlbmRfbm9kZV9pZEISChBfZm9jdXNlZF9lbGVtZW50QhIKEF90YXJnZXRfZWRpdGFibGVCFgoUX3RhcmdldF92YWx1ZV9sZW5ndGgiogEKCkZpbGxSZXN1bHQSDwoHc3VjY2VzcxgBIAEoCBIQCghmcmFtZV9pZBgCIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYAyABKAUSDgoGcm9vdF94GAYgASgBEg4KBnJvb3RfeRgHIAEoARIuCgVlcnJvchgIIAEoCzIaLmJyb3dzZXJzY2FsZS52MS5GaWxsRXJyb3JIAIgBAUIICgZfZXJyb3IiwgEKCkRyYWdSZXN1bHQSDwoHc3VjY2VzcxgBIAEoCBIQCghmcmFtZV9pZBgCIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYAyABKAUSDwoHc3RhcnRfeBgEIAEoARIPCgdzdGFydF95GAUgASgBEg0KBWVuZF94GAYgASgBEg0KBWVuZF95GAcgASgBEi4KBWVycm9yGAggASgLMhouYnJvd3NlcnNjYWxlLnYxLkRyYWdFcnJvckgAiAEBQggKBl9lcnJvciJxCglEcmFnRXJyb3ISDAoEY29kZRgBIAEoCRIPCgdtZXNzYWdlGAIgASgJEjUKC2NsaWNrX2Vycm9yGAMgASgLMhsuYnJvd3NlcnNjYWxlLnYxLkNsaWNrRXJyb3JIAIgBAUIOCgxfY2xpY2tfZXJyb3IirgEKElNlbGVjdE9wdGlvblJlc3VsdBIWCg5zZWxlY3RlZF9pbmRleBgBIAEoBRIWCg5zZWxlY3RlZF92YWx1ZRgCIAEoCRIVCg1zZWxlY3RlZF90ZXh0GAMgASgJEg8KB3N1Y2Nlc3MYBCABKAgSNgoFZXJyb3IYBSABKAsyIi5icm93c2Vyc2NhbGUudjEuU2VsZWN0T3B0aW9uRXJyb3JIAIgBAUIICgZfZXJyb3IiMgoRU2VsZWN0T3B0aW9uRXJyb3ISDAoEY29kZRgBIAEoCRIPCgdtZXNzYWdlGAIgASgJIsEBCgxTY3JvbGxSZXN1bHQSDwoHc3VjY2VzcxgBIAEoCBIQCghmcmFtZV9pZBgCIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYAyABKAUSEgoKaXNfdmlzaWJsZRgEIAEoCBIlCgZib3VuZHMYBSABKAsyFS5icm93c2Vyc2NhbGUudjEuUmVjdBIwCgVlcnJvchgIIAEoCzIcLmJyb3dzZXJzY2FsZS52MS5TY3JvbGxFcnJvckgAiAEBQggKBl9lcnJvciIsCgtTY3JvbGxFcnJvchIMCgRjb2RlGAEgASgJEg8KB21lc3NhZ2UYAiABKAki3QEKCk1vdmVSZXN1bHQSDwoHc3VjY2VzcxgBIAEoCBIQCghmcmFtZV9pZBgCIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYAyABKAUSEgoKaXNfdmlzaWJsZRgEIAEoCBIlCgZib3VuZHMYBSABKAsyFS5icm93c2Vyc2NhbGUudjEuUmVjdBIOCgZyb290X3gYBiABKAESDgoGcm9vdF95GAcgASgBEi4KBWVycm9yGAggASgLMhouYnJvd3NlcnNjYWxlLnYxLk1vdmVFcnJvckgAiAEBQggKBl9lcnJvciIqCglNb3ZlRXJyb3ISDAoEY29kZRgBIAEoCRIPCgdtZXNzYWdlGAIgASgJIuYBCg9TZXRQcm94eVJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEhcKCnByb3h5X2hvc3QYAyABKAlIAIgBARIXCgpwcm94eV9wb3J0GAQgASgFSAGIAQESGwoOcHJveHlfdXNlcm5hbWUYBSABKAlIAogBARIbCg5wcm94eV9wYXNzd29yZBgGIAEoCUgDiAEBQg0KC19wcm94eV9ob3N0Qg0KC19wcm94eV9wb3J0QhEKD19wcm94eV91c2VybmFtZUIRCg9fcHJveHlfcGFzc3dvcmQiNgoPR2V0UGFnZXNSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCSI8ChBHZXRQYWdlc1Jlc3BvbnNlEigKBXBhZ2VzGAEgAygLMhkuYnJvd3NlcnNjYWxlLnYxLlBhZ2VJbmZvIpoBCg9OYXZpZ2F0ZVJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSCwoDdXJsGAQgASgJEhUKCHJlZmVycmVyGAUgASgJSACIAQESFAoHdGltZW91dBgGIAEoAUgBiAEBQgsKCV9yZWZlcnJlckIKCghfdGltZW91dCIxChBOYXZpZ2F0ZVJlc3BvbnNlEhAKCGZyYW1lX2lkGAEgASgJEgsKA3VybBgCIAEoCSK2AQoPTG9hZEhUTUxSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEgsKA3VybBgEIAEoCRIMCgRodG1sGAUgASgJEigKB2hlYWRlcnMYBiADKAsyFy5icm93c2Vyc2NhbGUudjEuSGVhZGVyEhgKC3N0YXR1c19jb2RlGAcgASgFSACIAQFCDgoMX3N0YXR1c19jb2RlIn8KD0V2YWx1YXRlUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRISCgpleHByZXNzaW9uGAQgASgJEhUKCGZyYW1lX2lkGAUgASgJSACIAQFCCwoJX2ZyYW1lX2lkInYKEEV2YWx1YXRlUmVzcG9uc2USDgoGcmVzdWx0GAEgASgJEhcKD2JhY2tlbmRfbm9kZV9pZBgCIAEoBRISCgppc192aXNpYmxlGAMgASgIEiUKBmJvdW5kcxgEIAEoCzIVLmJyb3dzZXJzY2FsZS52MS5SZWN0ImMKClJ1blJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg4KBnNvdXJjZRgDIAEoCRIUCgdwYWdlX2lkGAQgASgJSACIAQFCCgoIX3BhZ2VfaWQiLgoLUnVuUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIOCgZyZXN1bHQYAiABKAkiwgEKEFdhaXRGb3JBbnlQYXJhbXMSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSMgoKY29uZGl0aW9ucxgEIAMoCzIeLmJyb3dzZXJzY2FsZS52MS5XYWl0Q29uZGl0aW9uEhUKCGZyYW1lX2lkGAUgASgJSACIAQESFAoHdGltZW91dBgGIAEoAUgBiAEBQgsKCV9mcmFtZV9pZEIKCghfdGltZW91dCL1AgoTU2VsZWN0T3B0aW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIcCg9iYWNrZW5kX25vZGVfaWQYBCABKAVIAIgBARIVCghzZWxlY3RvchgFIAEoCUgBiAEBEhoKDWpzX2V4cHJlc3Npb24YBiABKAlIAogBARIVCghmcmFtZV9pZBgHIAEoCUgDiAEBEhIKBWluZGV4GAggASgFSASIAQESEgoFdmFsdWUYCSABKAlIBYgBARIRCgR0ZXh0GAogASgJSAaIAQESGAoLZmlyZV9ldmVudHMYCyABKAhIB4gBAUISChBfYmFja2VuZF9ub2RlX2lkQgsKCV9zZWxlY3RvckIQCg5fanNfZXhwcmVzc2lvbkILCglfZnJhbWVfaWRCCAoGX2luZGV4QggKBl92YWx1ZUIHCgVfdGV4dEIOCgxfZmlyZV9ldmVudHMi7wEKD1Njcm9sbFRvUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIcCg9iYWNrZW5kX25vZGVfaWQYBCABKAVIAIgBARIVCghzZWxlY3RvchgFIAEoCUgBiAEBEhoKDWpzX2V4cHJlc3Npb24YBiABKAlIAogBARIVCghmcmFtZV9pZBgHIAEoCUgDiAEBQhIKEF9iYWNrZW5kX25vZGVfaWRCCwoJX3NlbGVjdG9yQhAKDl9qc19leHByZXNzaW9uQgsKCV9mcmFtZV9pZCKZAgoNTW92ZVRvUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIcCg9iYWNrZW5kX25vZGVfaWQYBCABKAVIAIgBARIVCghzZWxlY3RvchgFIAEoCUgBiAEBEhoKDWpzX2V4cHJlc3Npb24YBiABKAlIAogBARIVCghmcmFtZV9pZBgHIAEoCUgDiAEBEg4KAXgYCCABKAFIBIgBARIOCgF5GAkgASgBSAWIAQFCEgoQX2JhY2tlbmRfbm9kZV9pZEILCglfc2VsZWN0b3JCEAoOX2pzX2V4cHJlc3Npb25CCwoJX2ZyYW1lX2lkQgQKAl94QgQKAl95IoIDCgxDbGlja1JlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSHAoPYmFja2VuZF9ub2RlX2lkGAQgASgFSACIAQESFQoIc2VsZWN0b3IYBSABKAlIAYgBARIaCg1qc19leHByZXNzaW9uGAYgASgJSAKIAQESFQoIZnJhbWVfaWQYByABKAlIA4gBARITCgZidXR0b24YCCABKAlIBIgBARIYCgtjbGlja19jb3VudBgJIAEoBUgFiAEBEg4KAXgYCiABKAFIBogBARIOCgF5GAsgASgBSAeIAQESEwoGYWN0aW9uGAwgASgJSAiIAQFCEgoQX2JhY2tlbmRfbm9kZV9pZEILCglfc2VsZWN0b3JCEAoOX2pzX2V4cHJlc3Npb25CCwoJX2ZyYW1lX2lkQgkKB19idXR0b25CDgoMX2NsaWNrX2NvdW50QgQKAl94QgQKAl95QgkKB19hY3Rpb24igwMKC0RyYWdSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEhwKD2JhY2tlbmRfbm9kZV9pZBgEIAEoBUgAiAEBEhUKCHNlbGVjdG9yGAUgASgJSAGIAQESGgoNanNfZXhwcmVzc2lvbhgGIAEoCUgCiAEBEhUKCGZyYW1lX2lkGAcgASgJSAOIAQESFQoIb2Zmc2V0X3gYCCABKAFIBIgBARIVCghvZmZzZXRfeRgJIAEoAUgFiAEBEhcKCmFic29sdXRlX3gYCiABKAFIBogBARIXCgphYnNvbHV0ZV95GAsgASgBSAeIAQFCEgoQX2JhY2tlbmRfbm9kZV9pZEILCglfc2VsZWN0b3JCEAoOX2pzX2V4cHJlc3Npb25CCwoJX2ZyYW1lX2lkQgsKCV9vZmZzZXRfeEILCglfb2Zmc2V0X3lCDQoLX2Fic29sdXRlX3hCDQoLX2Fic29sdXRlX3ki7wIKC0ZpbGxSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEhwKD2JhY2tlbmRfbm9kZV9pZBgEIAEoBUgAiAEBEhUKCHNlbGVjdG9yGAUgASgJSAGIAQESGgoNanNfZXhwcmVzc2lvbhgGIAEoCUgCiAEBEhUKCGZyYW1lX2lkGAcgASgJSAOIAQESDAoEdGV4dBgIIAEoCRIYCgtjbGVhcl9maXJzdBgJIAEoCEgEiAEBEhQKB3RpbWVvdXQYCiABKAFIBYgBARIYCgtzdGVhZHlfdGltZRgLIAEoAUgGiAEBQhIKEF9iYWNrZW5kX25vZGVfaWRCCwoJX3NlbGVjdG9yQhAKDl9qc19leHByZXNzaW9uQgsKCV9mcmFtZV9pZEIOCgxfY2xlYXJfZmlyc3RCCgoIX3RpbWVvdXRCDgoMX3N0ZWFkeV90aW1lIkwKE1NldEJsb2NrTGlzdFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEhAKCHBhdHRlcm5zGAMgAygJImEKFVNldFN0YXRpY1BhdGhzUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSEAoIcGF0dGVybnMYAyADKAkSEQoJYmxvYl9uYW1lGAQgASgJIogBChhXYWl0Rm9yQW55UmVxdWVzdFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEhAKCHBhdHRlcm5zGAMgAygJEhMKC2Fib3J0X2ZsYWdzGAQgAygFEhQKB3RpbWVvdXQYBSABKAFIAIgBAUIKCghfdGltZW91dCJgChlXYWl0Rm9yQW55UmVxdWVzdFJlc3BvbnNlEg0KBWluZGV4GAEgASgFEjQKB3JlcXVlc3QYAiABKAsyIy5icm93c2Vyc2NhbGUudjEuSW50ZXJjZXB0ZWRSZXF1ZXN0IokBChlXYWl0Rm9yQW55UmVzcG9uc2VSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIQCghwYXR0ZXJucxgDIAMoCRITCgthYm9ydF9mbGFncxgEIAMoBRIUCgd0aW1lb3V0GAUgASgBSACIAQFCCgoIX3RpbWVvdXQiYwoaV2FpdEZvckFueVJlc3BvbnNlUmVzcG9uc2USDQoFaW5kZXgYASABKAUSNgoIcmVzcG9uc2UYAiABKAsyJC5icm93c2Vyc2NhbGUudjEuSW50ZXJjZXB0ZWRSZXNwb25zZSLKAQoUTW9kaWZ5UmVxdWVzdFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEhMKC3VybF9wYXR0ZXJuGAMgASgJEjoKDW1vZGlmaWNhdGlvbnMYBCADKAsyIy5icm93c2Vyc2NhbGUudjEuSGVhZGVyTW9kaWZpY2F0aW9uEhEKBGJvZHkYBSABKAlIAIgBARIUCgd0aW1lb3V0GAYgASgBSAGIAQFCBwoFX2JvZHlCCgoIX3RpbWVvdXQiTQoVTW9kaWZ5UmVxdWVzdFJlc3BvbnNlEjQKB3JlcXVlc3QYASABKAsyIy5icm93c2Vyc2NhbGUudjEuSW50ZXJjZXB0ZWRSZXF1ZXN0IjgKEUdldENvb2tpZXNSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCSJDChJHZXRDb29raWVzUmVzcG9uc2USLQoHY29va2llcxgBIAMoCzIcLmJyb3dzZXJzY2FsZS52MS5Db29raWVQYXJhbSJnChFTZXRDb29raWVzUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSLQoHY29va2llcxgDIAMoCzIcLmJyb3dzZXJzY2FsZS52MS5Db29raWVQYXJhbSI6ChNDbGVhckNvb2tpZXNSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCSIpCgtTdG9yYWdlSXRlbRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAkiUQoSU3RvcmFnZU9yaWdpbkVudHJ5Eg4KBm9yaWdpbhgBIAEoCRIrCgVpdGVtcxgCIAMoCzIcLmJyb3dzZXJzY2FsZS52MS5TdG9yYWdlSXRlbSJYChFHZXRTdG9yYWdlUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSEwoGb3JpZ2luGAMgASgJSACIAQFCCQoHX29yaWdpbiJKChJHZXRTdG9yYWdlUmVzcG9uc2USNAoHc3RvcmFnZRgBIAMoCzIjLmJyb3dzZXJzY2FsZS52MS5TdG9yYWdlT3JpZ2luRW50cnkimAEKEVNldFN0b3JhZ2VSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRI0CgdzdG9yYWdlGAMgAygLMiMuYnJvd3NlcnNjYWxlLnYxLlN0b3JhZ2VPcmlnaW5FbnRyeRIYCgtjbGVhcl9maXJzdBgEIAEoCEgAiAEBQg4KDF9jbGVhcl9maXJzdCJaChNDbGVhclN0b3JhZ2VSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRITCgZvcmlnaW4YAyABKAlIAIgBAUIJCgdfb3JpZ2luIiwKC0Ric2NTZXNzaW9uEgwKBHNpdGUYASABKAkSDwoHc2Vzc2lvbhgCIAEoCSLYAgoLQXV0aFNlc3Npb24SFAoHZ2FpYV9pZBgBIAEoCUgAiAEBEhIKBWVtYWlsGAIgASgJSAGIAQESGgoNcmVmcmVzaF90b2tlbhgDIAEoCUgCiAEBEiAKE3dyYXBwZWRfYmluZGluZ19rZXkYBCABKAlIA4gBARIkChdzaWduaW5fc2NvcGVkX2RldmljZV9pZBgFIAEoCUgEiAEBEhkKDHN5bmNfY29uc2VudBgGIAEoCEgFiAEBEjMKDWRic2Nfc2Vzc2lvbnMYByADKAsyHC5icm93c2Vyc2NhbGUudjEuRGJzY1Nlc3Npb25CCgoIX2dhaWFfaWRCCAoGX2VtYWlsQhAKDl9yZWZyZXNoX3Rva2VuQhYKFF93cmFwcGVkX2JpbmRpbmdfa2V5QhoKGF9zaWduaW5fc2NvcGVkX2RldmljZV9pZEIPCg1fc3luY19jb25zZW50IjwKFUdldEF1dGhTZXNzaW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkiWAoWR2V0QXV0aFNlc3Npb25SZXNwb25zZRIyCgdzZXNzaW9uGAEgASgLMhwuYnJvd3NlcnNjYWxlLnYxLkF1dGhTZXNzaW9uSACIAQFCCgoIX3Nlc3Npb24iawoVU2V0QXV0aFNlc3Npb25SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRItCgdzZXNzaW9uGAMgASgLMhwuYnJvd3NlcnNjYWxlLnYxLkF1dGhTZXNzaW9uIocBCg1HZXRET01SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEhUKCGZyYW1lX2lkGAQgASgJSACIAQESEgoFZGVwdGgYBSABKAVIAYgBAUILCglfZnJhbWVfaWRCCAoGX2RlcHRoIh0KDkdldERPTVJlc3BvbnNlEgsKA2RvbRgBIAEoCSKZBAoVR2V0T2JzZXJ2YXRpb25SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEiMKFm1heF9lbGVtZW50c19wZXJfZnJhbWUYBCABKAVIAIgBARIcCg9tYXhfdGV4dF9sZW5ndGgYBSABKAVIAYgBARITCgZmb3JtYXQYBiABKAlIAogBARIdChBtYXhfdG90YWxfdG9rZW5zGAcgASgFSAOIAQESGwoOaW5jbHVkZV9ib3VuZHMYCCABKAhIBIgBARIaCg12aWV3cG9ydF9vbmx5GAkgASgISAWIAQESHAoPYmFja2VuZF9ub2RlX2lkGAogASgFSAaIAQESFQoIc2VsZWN0b3IYCyABKAlIB4gBARIaCg1qc19leHByZXNzaW9uGAwgASgJSAiIAQESFQoIZnJhbWVfaWQYDSABKAlICYgBAUIZChdfbWF4X2VsZW1lbnRzX3Blcl9mcmFtZUISChBfbWF4X3RleHRfbGVuZ3RoQgkKB19mb3JtYXRCEwoRX21heF90b3RhbF90b2tlbnNCEQoPX2luY2x1ZGVfYm91bmRzQhAKDl92aWV3cG9ydF9vbmx5QhIKEF9iYWNrZW5kX25vZGVfaWRCCwoJX3NlbGVjdG9yQhAKDl9qc19leHByZXNzaW9uQgsKCV9mcmFtZV9pZCJFChZHZXRPYnNlcnZhdGlvblJlc3BvbnNlEhMKC29ic2VydmF0aW9uGAEgASgJSgQIAhADUhBvYnNlcnZhdGlvbl9qc29uIm0KEUdldERPTUhhc2hSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEhUKCGZyYW1lX2lkGAQgASgJSACIAQFCCwoJX2ZyYW1lX2lkIiIKEkdldERPTUhhc2hSZXNwb25zZRIMCgRoYXNoGAEgASgJImYKGEluc3BlY3RBdFBvc2l0aW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIJCgF4GAQgASgBEgkKAXkYBSABKAEiqQEKGUluc3BlY3RBdFBvc2l0aW9uUmVzcG9uc2USFwoPYmFja2VuZF9ub2RlX2lkGAEgASgFEhAKCGZyYW1lX2lkGAIgASgJEhAKCHRhZ19uYW1lGAMgASgJEhQKDHRleHRfY29udGVudBgEIAEoCRISCgppc192aXNpYmxlGAUgASgIEiUKBmJvdW5kcxgGIAEoCzIVLmJyb3dzZXJzY2FsZS52MS5SZWN0IokBChRIaWdobGlnaHROb2RlUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYBCABKAUSFQoIZnJhbWVfaWQYBSABKAlIAIgBAUILCglfZnJhbWVfaWQiVwoRSW5zZXJ0VGV4dFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSDAoEdGV4dBgEIAEoCSJ7CgtUeXBlUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIMCgR0ZXh0GAQgASgJEhgKC2NsZWFyX2ZpcnN0GAUgASgISACIAQFCDgoMX2NsZWFyX2ZpcnN0IroBCg9QcmVzc0tleVJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSCwoDa2V5GAQgASgJEhEKBGNvZGUYBSABKAlIAIgBARIWCgltb2RpZmllcnMYBiABKAVIAYgBARIVCghsb2NhdGlvbhgHIAEoBUgCiAEBQgcKBV9jb2RlQgwKCl9tb2RpZmllcnNCCwoJX2xvY2F0aW9uIrwBChFSZWxlYXNlS2V5UmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRILCgNrZXkYBCABKAkSEQoEY29kZRgFIAEoCUgAiAEBEhYKCW1vZGlmaWVycxgGIAEoBUgBiAEBEhUKCGxvY2F0aW9uGAcgASgFSAKIAQFCBwoFX2NvZGVCDAoKX21vZGlmaWVyc0ILCglfbG9jYXRpb24iSwoTR2V0U2VsZWN0aW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCSIkChRHZXRTZWxlY3Rpb25SZXNwb25zZRIMCgR0ZXh0GAEgASgJIosBChFTY3JlZW5zaG90UmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRITCgZmb3JtYXQYBCABKAlIAIgBARIUCgdxdWFsaXR5GAUgASgFSAGIAQFCCQoHX2Zvcm1hdEIKCghfcXVhbGl0eSJIChJTY3JlZW5zaG90UmVzcG9uc2USEwoLZGF0YV9iYXNlNjQYASABKAkSDQoFd2lkdGgYAiABKAUSDgoGaGVpZ2h0GAMgASgFIpMDChFSZWFkQ2FudmFzUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIcCg9iYWNrZW5kX25vZGVfaWQYBCABKAVIAIgBARIVCghzZWxlY3RvchgFIAEoCUgBiAEBEhoKDWpzX2V4cHJlc3Npb24YBiABKAlIAogBARIVCghmcmFtZV9pZBgHIAEoCUgDiAEBEhMKBmZvcm1hdBgIIAEoCUgEiAEBEhQKB3F1YWxpdHkYCSABKAVIBYgBARIPCgJzeBgKIAEoBUgGiAEBEg8KAnN5GAsgASgFSAeIAQESDwoCc3cYDCABKAVICIgBARIPCgJzaBgNIAEoBUgJiAEBQhIKEF9iYWNrZW5kX25vZGVfaWRCCwoJX3NlbGVjdG9yQhAKDl9qc19leHByZXNzaW9uQgsKCV9mcmFtZV9pZEIJCgdfZm9ybWF0QgoKCF9xdWFsaXR5QgUKA19zeEIFCgNfc3lCBQoDX3N3QgUKA19zaCKaAQoSUmVhZENhbnZhc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSEAoIZnJhbWVfaWQYAiABKAkSFwoPYmFja2VuZF9ub2RlX2lkGAMgASgFEhMKC2RhdGFfYmFzZTY0GAQgASgJEg0KBXdpZHRoGAUgASgFEg4KBmhlaWdodBgGIAEoBRIUCgxvcmlnaW5fY2xlYW4YByABKAgiZAoTU29sdmVDYXB0Y2hhUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSEgoKdGltZW91dF9tcxgDIAEoBRIUCgxyZXRyeV9hbW91bnQYBCABKAUiJgoUU29sdmVDYXB0Y2hhUmVzcG9uc2USDgoGcmVzdWx0GAEgASgJImUKCUljZVNlcnZlchIMCgR1cmxzGAEgAygJEhUKCHVzZXJuYW1lGAIgASgJSACIAQESFwoKY3JlZGVudGlhbBgDIAEoCUgBiAEBQgsKCV91c2VybmFtZUINCgtfY3JlZGVudGlhbCI9ChZHZXRTdHJlYW1Db25maWdSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCSJKChdHZXRTdHJlYW1Db25maWdSZXNwb25zZRIvCgtpY2Vfc2VydmVycxgBIAMoCzIaLmJyb3dzZXJzY2FsZS52MS5JY2VTZXJ2ZXIiTAoSU3RhcnRTdHJlYW1SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIRCglvZmZlcl9zZHAYAyABKAkiKQoTU3RhcnRTdHJlYW1SZXNwb25zZRISCgphbnN3ZXJfc2RwGAEgASgJIjgKEVN0b3BTdHJlYW1SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCSIUChJTdG9wU3RyZWFtUmVzcG9uc2Uyth0KB0Jyb3dzZXISRAoIU2V0UHJveHkSIC5icm93c2Vyc2NhbGUudjEuU2V0UHJveHlSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ek8KCEdldFBhZ2VzEiAuYnJvd3NlcnNjYWxlLnYxLkdldFBhZ2VzUmVxdWVzdBohLmJyb3dzZXJzY2FsZS52MS5HZXRQYWdlc1Jlc3BvbnNlEk8KCE5hdmlnYXRlEiAuYnJvd3NlcnNjYWxlLnYxLk5hdmlnYXRlUmVxdWVzdBohLmJyb3dzZXJzY2FsZS52MS5OYXZpZ2F0ZVJlc3BvbnNlEkQKCExvYWRIVE1MEiAuYnJvd3NlcnNjYWxlLnYxLkxvYWRIVE1MUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJPCghFdmFsdWF0ZRIgLmJyb3dzZXJzY2FsZS52MS5FdmFsdWF0ZVJlcXVlc3QaIS5icm93c2Vyc2NhbGUudjEuRXZhbHVhdGVSZXNwb25zZRJACgNSdW4SGy5icm93c2Vyc2NhbGUudjEuUnVuUmVxdWVzdBocLmJyb3dzZXJzY2FsZS52MS5SdW5SZXNwb25zZRJMCgpXYWl0Rm9yQW55EiEuYnJvd3NlcnNjYWxlLnYxLldhaXRGb3JBbnlQYXJhbXMaGy5icm93c2Vyc2NhbGUudjEuV2FpdFJlc3VsdBJZCgxTZWxlY3RPcHRpb24SJC5icm93c2Vyc2NhbGUudjEuU2VsZWN0T3B0aW9uUmVxdWVzdBojLmJyb3dzZXJzY2FsZS52MS5TZWxlY3RPcHRpb25SZXN1bHQSSwoIU2Nyb2xsVG8SIC5icm93c2Vyc2NhbGUudjEuU2Nyb2xsVG9SZXF1ZXN0Gh0uYnJvd3NlcnNjYWxlLnYxLlNjcm9sbFJlc3VsdBJFCgZNb3ZlVG8SHi5icm93c2Vyc2NhbGUudjEuTW92ZVRvUmVxdWVzdBobLmJyb3dzZXJzY2FsZS52MS5Nb3ZlUmVzdWx0EkQKBUNsaWNrEh0uYnJvd3NlcnNjYWxlLnYxLkNsaWNrUmVxdWVzdBocLmJyb3dzZXJzY2FsZS52MS5DbGlja1Jlc3VsdBJBCgREcmFnEhwuYnJvd3NlcnNjYWxlLnYxLkRyYWdSZXF1ZXN0GhsuYnJvd3NlcnNjYWxlLnYxLkRyYWdSZXN1bHQSQQoERmlsbBIcLmJyb3dzZXJzY2FsZS52MS5GaWxsUmVxdWVzdBobLmJyb3dzZXJzY2FsZS52MS5GaWxsUmVzdWx0ElgKC0FkZFJlYWN0aW9uEiMuYnJvd3NlcnNjYWxlLnYxLkFkZFJlYWN0aW9uUmVxdWVzdBokLmJyb3dzZXJzY2FsZS52MS5BZGRSZWFjdGlvblJlc3BvbnNlEmEKDlJlbW92ZVJlYWN0aW9uEiYuYnJvd3NlcnNjYWxlLnYxLlJlbW92ZVJlYWN0aW9uUmVxdWVzdBonLmJyb3dzZXJzY2FsZS52MS5SZW1vdmVSZWFjdGlvblJlc3BvbnNlEl4KDUxpc3RSZWFjdGlvbnMSJS5icm93c2Vyc2NhbGUudjEuTGlzdFJlYWN0aW9uc1JlcXVlc3QaJi5icm93c2Vyc2NhbGUudjEuTGlzdFJlYWN0aW9uc1Jlc3BvbnNlEkwKDFNldEJsb2NrTGlzdBIkLmJyb3dzZXJzY2FsZS52MS5TZXRCbG9ja0xpc3RSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5ElAKDlNldFN0YXRpY1BhdGhzEiYuYnJvd3NlcnNjYWxlLnYxLlNldFN0YXRpY1BhdGhzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJqChFXYWl0Rm9yQW55UmVxdWVzdBIpLmJyb3dzZXJzY2FsZS52MS5XYWl0Rm9yQW55UmVxdWVzdFJlcXVlc3QaKi5icm93c2Vyc2NhbGUudjEuV2FpdEZvckFueVJlcXVlc3RSZXNwb25zZRJtChJXYWl0Rm9yQW55UmVzcG9uc2USKi5icm93c2Vyc2NhbGUudjEuV2FpdEZvckFueVJlc3BvbnNlUmVxdWVzdBorLmJyb3dzZXJzY2FsZS52MS5XYWl0Rm9yQW55UmVzcG9uc2VSZXNwb25zZRJeCg1Nb2RpZnlSZXF1ZXN0EiUuYnJvd3NlcnNjYWxlLnYxLk1vZGlmeVJlcXVlc3RSZXF1ZXN0GiYuYnJvd3NlcnNjYWxlLnYxLk1vZGlmeVJlcXVlc3RSZXNwb25zZRJVCgpHZXRDb29raWVzEiIuYnJvd3NlcnNjYWxlLnYxLkdldENvb2tpZXNSZXF1ZXN0GiMuYnJvd3NlcnNjYWxlLnYxLkdldENvb2tpZXNSZXNwb25zZRJICgpTZXRDb29raWVzEiIuYnJvd3NlcnNjYWxlLnYxLlNldENvb2tpZXNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkwKDENsZWFyQ29va2llcxIkLmJyb3dzZXJzY2FsZS52MS5DbGVhckNvb2tpZXNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5ElUKCkdldFN0b3JhZ2USIi5icm93c2Vyc2NhbGUudjEuR2V0U3RvcmFnZVJlcXVlc3QaIy5icm93c2Vyc2NhbGUudjEuR2V0U3RvcmFnZVJlc3BvbnNlEkgKClNldFN0b3JhZ2USIi5icm93c2Vyc2NhbGUudjEuU2V0U3RvcmFnZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSTAoMQ2xlYXJTdG9yYWdlEiQuYnJvd3NlcnNjYWxlLnYxLkNsZWFyU3RvcmFnZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSYQoOR2V0QXV0aFNlc3Npb24SJi5icm93c2Vyc2NhbGUudjEuR2V0QXV0aFNlc3Npb25SZXF1ZXN0GicuYnJvd3NlcnNjYWxlLnYxLkdldEF1dGhTZXNzaW9uUmVzcG9uc2USUAoOU2V0QXV0aFNlc3Npb24SJi5icm93c2Vyc2NhbGUudjEuU2V0QXV0aFNlc3Npb25SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkkKBkdldERPTRIeLmJyb3dzZXJzY2FsZS52MS5HZXRET01SZXF1ZXN0Gh8uYnJvd3NlcnNjYWxlLnYxLkdldERPTVJlc3BvbnNlElUKCkdldERPTUhhc2gSIi5icm93c2Vyc2NhbGUudjEuR2V0RE9NSGFzaFJlcXVlc3QaIy5icm93c2Vyc2NhbGUudjEuR2V0RE9NSGFzaFJlc3BvbnNlEmEKDkdldE9ic2VydmF0aW9uEiYuYnJvd3NlcnNjYWxlLnYxLkdldE9ic2VydmF0aW9uUmVxdWVzdBonLmJyb3dzZXJzY2FsZS52MS5HZXRPYnNlcnZhdGlvblJlc3BvbnNlEmoKEUluc3BlY3RBdFBvc2l0aW9uEikuYnJvd3NlcnNjYWxlLnYxLkluc3BlY3RBdFBvc2l0aW9uUmVxdWVzdBoqLmJyb3dzZXJzY2FsZS52MS5JbnNwZWN0QXRQb3NpdGlvblJlc3BvbnNlEk4KDUhpZ2hsaWdodE5vZGUSJS5icm93c2Vyc2NhbGUudjEuSGlnaGxpZ2h0Tm9kZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSVQoKU2NyZWVuc2hvdBIiLmJyb3dzZXJzY2FsZS52MS5TY3JlZW5zaG90UmVxdWVzdBojLmJyb3dzZXJzY2FsZS52MS5TY3JlZW5zaG90UmVzcG9uc2USVQoKUmVhZENhbnZhcxIiLmJyb3dzZXJzY2FsZS52MS5SZWFkQ2FudmFzUmVxdWVzdBojLmJyb3dzZXJzY2FsZS52MS5SZWFkQ2FudmFzUmVzcG9uc2USSAoKSW5zZXJ0VGV4dBIiLmJyb3dzZXJzY2FsZS52MS5JbnNlcnRUZXh0UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRI8CgRUeXBlEhwuYnJvd3NlcnNjYWxlLnYxLlR5cGVSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkQKCFByZXNzS2V5EiAuYnJvd3NlcnNjYWxlLnYxLlByZXNzS2V5UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJICgpSZWxlYXNlS2V5EiIuYnJvd3NlcnNjYWxlLnYxLlJlbGVhc2VLZXlSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5ElsKDEdldFNlbGVjdGlvbhIkLmJyb3dzZXJzY2FsZS52MS5HZXRTZWxlY3Rpb25SZXF1ZXN0GiUuYnJvd3NlcnNjYWxlLnYxLkdldFNlbGVjdGlvblJlc3BvbnNlElsKDFNvbHZlQ2FwdGNoYRIkLmJyb3dzZXJzY2FsZS52MS5Tb2x2ZUNhcHRjaGFSZXF1ZXN0GiUuYnJvd3NlcnNjYWxlLnYxLlNvbHZlQ2FwdGNoYVJlc3BvbnNlEmQKD0dldFN0cmVhbUNvbmZpZxInLmJyb3dzZXJzY2FsZS52MS5HZXRTdHJlYW1Db25maWdSZXF1ZXN0GiguYnJvd3NlcnNjYWxlLnYxLkdldFN0cmVhbUNvbmZpZ1Jlc3BvbnNlElgKC1N0YXJ0U3RyZWFtEiMuYnJvd3NlcnNjYWxlLnYxLlN0YXJ0U3RyZWFtUmVxdWVzdBokLmJyb3dzZXJzY2FsZS52MS5TdGFydFN0cmVhbVJlc3BvbnNlElUKClN0b3BTdHJlYW0SIi5icm93c2Vyc2NhbGUudjEuU3RvcFN0cmVhbVJlcXVlc3QaIy5icm93c2Vyc2NhbGUudjEuU3RvcFN0cmVhbVJlc3BvbnNlQjNaMWdpdGh1Yi5jb20vYnJvd3NlcnNjYWxlL2Jyb3dzZXJzY2FsZS1nby9nZW5lcmF0ZWRiBnByb3RvMw", [file_google_protobuf_empty]);
|
|
3803
3803
|
var HeaderSchema = /* @__PURE__ */ messageDesc(file_wrc, 3);
|
|
3804
3804
|
var HeaderModificationSchema = /* @__PURE__ */ messageDesc(file_wrc, 6);
|
|
3805
3805
|
var CookiePartitionKeySchema = /* @__PURE__ */ messageDesc(file_wrc, 7);
|
|
@@ -3833,22 +3833,26 @@ var StorageOriginEntrySchema = /* @__PURE__ */ messageDesc(file_wrc, 65);
|
|
|
3833
3833
|
var GetStorageRequestSchema = /* @__PURE__ */ messageDesc(file_wrc, 66);
|
|
3834
3834
|
var SetStorageRequestSchema = /* @__PURE__ */ messageDesc(file_wrc, 68);
|
|
3835
3835
|
var ClearStorageRequestSchema = /* @__PURE__ */ messageDesc(file_wrc, 69);
|
|
3836
|
-
var
|
|
3837
|
-
var
|
|
3838
|
-
var
|
|
3839
|
-
var
|
|
3840
|
-
var
|
|
3841
|
-
var
|
|
3842
|
-
var
|
|
3843
|
-
var
|
|
3844
|
-
var
|
|
3845
|
-
var
|
|
3846
|
-
var
|
|
3847
|
-
var
|
|
3848
|
-
var
|
|
3849
|
-
var
|
|
3850
|
-
var
|
|
3851
|
-
var
|
|
3836
|
+
var DbscSessionSchema = /* @__PURE__ */ messageDesc(file_wrc, 70);
|
|
3837
|
+
var AuthSessionSchema = /* @__PURE__ */ messageDesc(file_wrc, 71);
|
|
3838
|
+
var GetAuthSessionRequestSchema = /* @__PURE__ */ messageDesc(file_wrc, 72);
|
|
3839
|
+
var SetAuthSessionRequestSchema = /* @__PURE__ */ messageDesc(file_wrc, 74);
|
|
3840
|
+
var GetDOMRequestSchema = /* @__PURE__ */ messageDesc(file_wrc, 75);
|
|
3841
|
+
var GetObservationRequestSchema = /* @__PURE__ */ messageDesc(file_wrc, 77);
|
|
3842
|
+
var GetDOMHashRequestSchema = /* @__PURE__ */ messageDesc(file_wrc, 79);
|
|
3843
|
+
var InspectAtPositionRequestSchema = /* @__PURE__ */ messageDesc(file_wrc, 81);
|
|
3844
|
+
var HighlightNodeRequestSchema = /* @__PURE__ */ messageDesc(file_wrc, 83);
|
|
3845
|
+
var InsertTextRequestSchema = /* @__PURE__ */ messageDesc(file_wrc, 84);
|
|
3846
|
+
var TypeRequestSchema = /* @__PURE__ */ messageDesc(file_wrc, 85);
|
|
3847
|
+
var PressKeyRequestSchema = /* @__PURE__ */ messageDesc(file_wrc, 86);
|
|
3848
|
+
var ReleaseKeyRequestSchema = /* @__PURE__ */ messageDesc(file_wrc, 87);
|
|
3849
|
+
var GetSelectionRequestSchema = /* @__PURE__ */ messageDesc(file_wrc, 88);
|
|
3850
|
+
var ScreenshotRequestSchema = /* @__PURE__ */ messageDesc(file_wrc, 90);
|
|
3851
|
+
var ReadCanvasRequestSchema = /* @__PURE__ */ messageDesc(file_wrc, 92);
|
|
3852
|
+
var SolveCaptchaRequestSchema = /* @__PURE__ */ messageDesc(file_wrc, 94);
|
|
3853
|
+
var GetStreamConfigRequestSchema = /* @__PURE__ */ messageDesc(file_wrc, 97);
|
|
3854
|
+
var StartStreamRequestSchema = /* @__PURE__ */ messageDesc(file_wrc, 99);
|
|
3855
|
+
var StopStreamRequestSchema = /* @__PURE__ */ messageDesc(file_wrc, 101);
|
|
3852
3856
|
var Browser = /* @__PURE__ */ serviceDesc(file_wrc, 0);
|
|
3853
3857
|
|
|
3854
3858
|
// src/defaults.ts
|
|
@@ -4373,6 +4377,35 @@ function storageEntriesToProto(storage) {
|
|
|
4373
4377
|
return msg;
|
|
4374
4378
|
});
|
|
4375
4379
|
}
|
|
4380
|
+
function authSessionFromProto(s) {
|
|
4381
|
+
const out = {};
|
|
4382
|
+
if (s.gaiaId !== void 0) out.gaiaId = s.gaiaId;
|
|
4383
|
+
if (s.email !== void 0) out.email = s.email;
|
|
4384
|
+
if (s.refreshToken !== void 0) out.refreshToken = s.refreshToken;
|
|
4385
|
+
if (s.wrappedBindingKey !== void 0) out.wrappedBindingKey = s.wrappedBindingKey;
|
|
4386
|
+
if (s.signinScopedDeviceId !== void 0) out.signinScopedDeviceId = s.signinScopedDeviceId;
|
|
4387
|
+
if (s.syncConsent !== void 0) out.syncConsent = s.syncConsent;
|
|
4388
|
+
if (s.dbscSessions.length > 0) {
|
|
4389
|
+
out.dbscSessions = s.dbscSessions.map((d) => ({ site: d.site, session: d.session }));
|
|
4390
|
+
}
|
|
4391
|
+
return out;
|
|
4392
|
+
}
|
|
4393
|
+
function authSessionToProto(s) {
|
|
4394
|
+
const msg = create(AuthSessionSchema);
|
|
4395
|
+
if (s.gaiaId !== void 0) msg.gaiaId = s.gaiaId;
|
|
4396
|
+
if (s.email !== void 0) msg.email = s.email;
|
|
4397
|
+
if (s.refreshToken !== void 0) msg.refreshToken = s.refreshToken;
|
|
4398
|
+
if (s.wrappedBindingKey !== void 0) msg.wrappedBindingKey = s.wrappedBindingKey;
|
|
4399
|
+
if (s.signinScopedDeviceId !== void 0) msg.signinScopedDeviceId = s.signinScopedDeviceId;
|
|
4400
|
+
if (s.syncConsent !== void 0) msg.syncConsent = s.syncConsent;
|
|
4401
|
+
msg.dbscSessions = (s.dbscSessions ?? []).map((d) => {
|
|
4402
|
+
const item = create(DbscSessionSchema);
|
|
4403
|
+
item.site = d.site;
|
|
4404
|
+
item.session = d.session;
|
|
4405
|
+
return item;
|
|
4406
|
+
});
|
|
4407
|
+
return msg;
|
|
4408
|
+
}
|
|
4376
4409
|
function splitRequestPatterns(patterns) {
|
|
4377
4410
|
const urls = new Array(patterns.length);
|
|
4378
4411
|
let any = false;
|
|
@@ -5551,6 +5584,58 @@ var CloudBrowser = class {
|
|
|
5551
5584
|
await this.client.clearStorage(req);
|
|
5552
5585
|
}
|
|
5553
5586
|
// ──────────────────────────────────────────────────────────────────
|
|
5587
|
+
// Auth / DBSC (portable signed-in persona)
|
|
5588
|
+
// ──────────────────────────────────────────────────────────────────
|
|
5589
|
+
/**
|
|
5590
|
+
* Exports the signed-in primary account and DBSC sessions of this
|
|
5591
|
+
* browser context.
|
|
5592
|
+
*
|
|
5593
|
+
* State is read in the browser process, so no page needs to be open.
|
|
5594
|
+
* Returns undefined when the context has neither a signed-in account
|
|
5595
|
+
* nor DBSC sessions.
|
|
5596
|
+
*
|
|
5597
|
+
* @returns AuthSession, or undefined when there is nothing to export
|
|
5598
|
+
*
|
|
5599
|
+
* @throws UNKNOWN_ERROR - the auth session could not be read
|
|
5600
|
+
*
|
|
5601
|
+
* @example
|
|
5602
|
+
* const auth = await browser.getAuthSession();
|
|
5603
|
+
* if (auth) await fs.writeFile("auth.json", JSON.stringify(auth));
|
|
5604
|
+
*/
|
|
5605
|
+
async getAuthSession() {
|
|
5606
|
+
const resp = await this.client.getAuthSession(
|
|
5607
|
+
create(GetAuthSessionRequestSchema, {
|
|
5608
|
+
sessionId: this.sessionId,
|
|
5609
|
+
apiKey: this.apiKey
|
|
5610
|
+
})
|
|
5611
|
+
);
|
|
5612
|
+
return resp.session ? authSessionFromProto(resp.session) : void 0;
|
|
5613
|
+
}
|
|
5614
|
+
/**
|
|
5615
|
+
* Imports an auth session so the context comes up signed in (and syncing
|
|
5616
|
+
* if syncConsent) with its DBSC sessions restored.
|
|
5617
|
+
*
|
|
5618
|
+
* Call it before navigating. Pair with setCookies() / setStorage() to
|
|
5619
|
+
* restore a full persona.
|
|
5620
|
+
*
|
|
5621
|
+
* @param session - session as returned by getAuthSession()
|
|
5622
|
+
*
|
|
5623
|
+
* @throws UNKNOWN_ERROR - the auth session could not be written
|
|
5624
|
+
*
|
|
5625
|
+
* @example
|
|
5626
|
+
* await browser.setAuthSession(saved);
|
|
5627
|
+
* await browser.navigate("https://mail.google.com");
|
|
5628
|
+
*/
|
|
5629
|
+
async setAuthSession(session) {
|
|
5630
|
+
await this.client.setAuthSession(
|
|
5631
|
+
create(SetAuthSessionRequestSchema, {
|
|
5632
|
+
sessionId: this.sessionId,
|
|
5633
|
+
apiKey: this.apiKey,
|
|
5634
|
+
session: authSessionToProto(session)
|
|
5635
|
+
})
|
|
5636
|
+
);
|
|
5637
|
+
}
|
|
5638
|
+
// ──────────────────────────────────────────────────────────────────
|
|
5554
5639
|
// Devtools / live-UI helpers
|
|
5555
5640
|
// ──────────────────────────────────────────────────────────────────
|
|
5556
5641
|
/**
|
package/dist/client.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ import type { ClickOpts, FillOpts, GetDOMOpts, GetObservationOpts, LoadHTMLOpts,
|
|
|
5
5
|
import type { HeaderModification, RequestPattern } from "./network.ts";
|
|
6
6
|
import type { CookieParam } from "./cookies.ts";
|
|
7
7
|
import type { StorageOriginEntry } from "./storage.ts";
|
|
8
|
+
import type { AuthSession } from "./auth-session.ts";
|
|
8
9
|
/**
|
|
9
10
|
* CloudBrowser is the SDK-side handle for an active browserscale browser session.
|
|
10
11
|
*
|
|
@@ -780,6 +781,39 @@ export declare class CloudBrowser {
|
|
|
780
781
|
* await browser.clearStorage();
|
|
781
782
|
*/
|
|
782
783
|
clearStorage(origin?: string): Promise<void>;
|
|
784
|
+
/**
|
|
785
|
+
* Exports the signed-in primary account and DBSC sessions of this
|
|
786
|
+
* browser context.
|
|
787
|
+
*
|
|
788
|
+
* State is read in the browser process, so no page needs to be open.
|
|
789
|
+
* Returns undefined when the context has neither a signed-in account
|
|
790
|
+
* nor DBSC sessions.
|
|
791
|
+
*
|
|
792
|
+
* @returns AuthSession, or undefined when there is nothing to export
|
|
793
|
+
*
|
|
794
|
+
* @throws UNKNOWN_ERROR - the auth session could not be read
|
|
795
|
+
*
|
|
796
|
+
* @example
|
|
797
|
+
* const auth = await browser.getAuthSession();
|
|
798
|
+
* if (auth) await fs.writeFile("auth.json", JSON.stringify(auth));
|
|
799
|
+
*/
|
|
800
|
+
getAuthSession(): Promise<AuthSession | undefined>;
|
|
801
|
+
/**
|
|
802
|
+
* Imports an auth session so the context comes up signed in (and syncing
|
|
803
|
+
* if syncConsent) with its DBSC sessions restored.
|
|
804
|
+
*
|
|
805
|
+
* Call it before navigating. Pair with setCookies() / setStorage() to
|
|
806
|
+
* restore a full persona.
|
|
807
|
+
*
|
|
808
|
+
* @param session - session as returned by getAuthSession()
|
|
809
|
+
*
|
|
810
|
+
* @throws UNKNOWN_ERROR - the auth session could not be written
|
|
811
|
+
*
|
|
812
|
+
* @example
|
|
813
|
+
* await browser.setAuthSession(saved);
|
|
814
|
+
* await browser.navigate("https://mail.google.com");
|
|
815
|
+
*/
|
|
816
|
+
setAuthSession(session: AuthSession): Promise<void>;
|
|
783
817
|
/**
|
|
784
818
|
* Hit-tests at the viewport-relative (x, y) and returns the topmost
|
|
785
819
|
* element under that point.
|
package/dist/client.js
CHANGED
|
@@ -2,10 +2,10 @@ import { createClient } from "@connectrpc/connect";
|
|
|
2
2
|
import { create } from "@bufbuild/protobuf";
|
|
3
3
|
import { Browser,
|
|
4
4
|
// request / response schemas
|
|
5
|
-
SetProxyRequestSchema, GetPagesRequestSchema, NavigateRequestSchema, LoadHTMLRequestSchema, EvaluateRequestSchema, WaitForAnyParamsSchema, WaitConditionSchema, ClickRequestSchema, FillRequestSchema, MoveToRequestSchema, ScrollToRequestSchema, DragRequestSchema, SelectOptionRequestSchema, GetDOMRequestSchema, GetDOMHashRequestSchema, GetObservationRequestSchema, ScreenshotRequestSchema, ReadCanvasRequestSchema, SetBlockListRequestSchema, SetStaticPathsRequestSchema, WaitForAnyRequestRequestSchema, WaitForAnyResponseRequestSchema, ModifyRequestRequestSchema, GetCookiesRequestSchema, SetCookiesRequestSchema, ClearCookiesRequestSchema, GetStorageRequestSchema, SetStorageRequestSchema, ClearStorageRequestSchema, InspectAtPositionRequestSchema, HighlightNodeRequestSchema, InsertTextRequestSchema, TypeRequestSchema, PressKeyRequestSchema, ReleaseKeyRequestSchema, GetSelectionRequestSchema, SolveCaptchaRequestSchema, GetStreamConfigRequestSchema, StartStreamRequestSchema, StopStreamRequestSchema, AddReactionRequestSchema, RemoveReactionRequestSchema, ListReactionsRequestSchema, } from "./gen/wrc_pb.js";
|
|
5
|
+
SetProxyRequestSchema, GetPagesRequestSchema, NavigateRequestSchema, LoadHTMLRequestSchema, EvaluateRequestSchema, WaitForAnyParamsSchema, WaitConditionSchema, ClickRequestSchema, FillRequestSchema, MoveToRequestSchema, ScrollToRequestSchema, DragRequestSchema, SelectOptionRequestSchema, GetDOMRequestSchema, GetDOMHashRequestSchema, GetObservationRequestSchema, ScreenshotRequestSchema, ReadCanvasRequestSchema, SetBlockListRequestSchema, SetStaticPathsRequestSchema, WaitForAnyRequestRequestSchema, WaitForAnyResponseRequestSchema, ModifyRequestRequestSchema, GetCookiesRequestSchema, SetCookiesRequestSchema, ClearCookiesRequestSchema, GetStorageRequestSchema, SetStorageRequestSchema, ClearStorageRequestSchema, GetAuthSessionRequestSchema, SetAuthSessionRequestSchema, InspectAtPositionRequestSchema, HighlightNodeRequestSchema, InsertTextRequestSchema, TypeRequestSchema, PressKeyRequestSchema, ReleaseKeyRequestSchema, GetSelectionRequestSchema, SolveCaptchaRequestSchema, GetStreamConfigRequestSchema, StartStreamRequestSchema, StopStreamRequestSchema, AddReactionRequestSchema, RemoveReactionRequestSchema, ListReactionsRequestSchema, } from "./gen/wrc_pb.js";
|
|
6
6
|
import { DefaultWaitTimeoutMs } from "./defaults.js";
|
|
7
7
|
import { BrowserScaleError } from "./errors.js";
|
|
8
|
-
import { cookieParamFromProto, cookieParamsToProto, elementFields, headerModsToProto, headersToProto, interceptedRequestFromProto, interceptedResponseFromProto, pageInfoFromProto, rectFromProto, splitRequestPatterns, storageEntriesToProto, storageEntryFromProto, unwrapClick, unwrapDrag, unwrapFill, unwrapMove, unwrapScroll, unwrapSelect, unwrapWait, } from "./internal/convert.js";
|
|
8
|
+
import { authSessionFromProto, authSessionToProto, cookieParamFromProto, cookieParamsToProto, elementFields, headerModsToProto, headersToProto, interceptedRequestFromProto, interceptedResponseFromProto, pageInfoFromProto, rectFromProto, splitRequestPatterns, storageEntriesToProto, storageEntryFromProto, unwrapClick, unwrapDrag, unwrapFill, unwrapMove, unwrapScroll, unwrapSelect, unwrapWait, } from "./internal/convert.js";
|
|
9
9
|
/**
|
|
10
10
|
* CloudBrowser is the SDK-side handle for an active browserscale browser session.
|
|
11
11
|
*
|
|
@@ -1193,6 +1193,54 @@ export class CloudBrowser {
|
|
|
1193
1193
|
await this.client.clearStorage(req);
|
|
1194
1194
|
}
|
|
1195
1195
|
// ──────────────────────────────────────────────────────────────────
|
|
1196
|
+
// Auth / DBSC (portable signed-in persona)
|
|
1197
|
+
// ──────────────────────────────────────────────────────────────────
|
|
1198
|
+
/**
|
|
1199
|
+
* Exports the signed-in primary account and DBSC sessions of this
|
|
1200
|
+
* browser context.
|
|
1201
|
+
*
|
|
1202
|
+
* State is read in the browser process, so no page needs to be open.
|
|
1203
|
+
* Returns undefined when the context has neither a signed-in account
|
|
1204
|
+
* nor DBSC sessions.
|
|
1205
|
+
*
|
|
1206
|
+
* @returns AuthSession, or undefined when there is nothing to export
|
|
1207
|
+
*
|
|
1208
|
+
* @throws UNKNOWN_ERROR - the auth session could not be read
|
|
1209
|
+
*
|
|
1210
|
+
* @example
|
|
1211
|
+
* const auth = await browser.getAuthSession();
|
|
1212
|
+
* if (auth) await fs.writeFile("auth.json", JSON.stringify(auth));
|
|
1213
|
+
*/
|
|
1214
|
+
async getAuthSession() {
|
|
1215
|
+
const resp = await this.client.getAuthSession(create(GetAuthSessionRequestSchema, {
|
|
1216
|
+
sessionId: this.sessionId,
|
|
1217
|
+
apiKey: this.apiKey,
|
|
1218
|
+
}));
|
|
1219
|
+
return resp.session ? authSessionFromProto(resp.session) : undefined;
|
|
1220
|
+
}
|
|
1221
|
+
/**
|
|
1222
|
+
* Imports an auth session so the context comes up signed in (and syncing
|
|
1223
|
+
* if syncConsent) with its DBSC sessions restored.
|
|
1224
|
+
*
|
|
1225
|
+
* Call it before navigating. Pair with setCookies() / setStorage() to
|
|
1226
|
+
* restore a full persona.
|
|
1227
|
+
*
|
|
1228
|
+
* @param session - session as returned by getAuthSession()
|
|
1229
|
+
*
|
|
1230
|
+
* @throws UNKNOWN_ERROR - the auth session could not be written
|
|
1231
|
+
*
|
|
1232
|
+
* @example
|
|
1233
|
+
* await browser.setAuthSession(saved);
|
|
1234
|
+
* await browser.navigate("https://mail.google.com");
|
|
1235
|
+
*/
|
|
1236
|
+
async setAuthSession(session) {
|
|
1237
|
+
await this.client.setAuthSession(create(SetAuthSessionRequestSchema, {
|
|
1238
|
+
sessionId: this.sessionId,
|
|
1239
|
+
apiKey: this.apiKey,
|
|
1240
|
+
session: authSessionToProto(session),
|
|
1241
|
+
}));
|
|
1242
|
+
}
|
|
1243
|
+
// ──────────────────────────────────────────────────────────────────
|
|
1196
1244
|
// Devtools / live-UI helpers
|
|
1197
1245
|
// ──────────────────────────────────────────────────────────────────
|
|
1198
1246
|
/**
|
package/dist/gen/wrc_pb.d.ts
CHANGED
|
@@ -2341,6 +2341,146 @@ export type ClearStorageRequest = Message<"browserscale.v1.ClearStorageRequest">
|
|
|
2341
2341
|
* Use `create(ClearStorageRequestSchema)` to create a new message.
|
|
2342
2342
|
*/
|
|
2343
2343
|
export declare const ClearStorageRequestSchema: GenMessage<ClearStorageRequest>;
|
|
2344
|
+
/**
|
|
2345
|
+
* One Device Bound Session Credentials entry (WRC.DbscSession).
|
|
2346
|
+
*
|
|
2347
|
+
* @generated from message browserscale.v1.DbscSession
|
|
2348
|
+
*/
|
|
2349
|
+
export type DbscSession = Message<"browserscale.v1.DbscSession"> & {
|
|
2350
|
+
/**
|
|
2351
|
+
* Serialized net::SchemefulSite (eTLD+1 site key), e.g. "https://google.com".
|
|
2352
|
+
*
|
|
2353
|
+
* @generated from field: string site = 1;
|
|
2354
|
+
*/
|
|
2355
|
+
site: string;
|
|
2356
|
+
/**
|
|
2357
|
+
* Base64 of the serialized net.device_bound_sessions.proto.Session
|
|
2358
|
+
* (includes the wrapped binding key; portable under WRC's software
|
|
2359
|
+
* UnexportableKeyProvider).
|
|
2360
|
+
*
|
|
2361
|
+
* @generated from field: string session = 2;
|
|
2362
|
+
*/
|
|
2363
|
+
session: string;
|
|
2364
|
+
};
|
|
2365
|
+
/**
|
|
2366
|
+
* Describes the message browserscale.v1.DbscSession.
|
|
2367
|
+
* Use `create(DbscSessionSchema)` to create a new message.
|
|
2368
|
+
*/
|
|
2369
|
+
export declare const DbscSessionSchema: GenMessage<DbscSession>;
|
|
2370
|
+
/**
|
|
2371
|
+
* Portable snapshot of a context's signed-in Google account and/or DBSC
|
|
2372
|
+
* sessions (WRC.AuthSession). All fields optional so partial state round-trips.
|
|
2373
|
+
*
|
|
2374
|
+
* @generated from message browserscale.v1.AuthSession
|
|
2375
|
+
*/
|
|
2376
|
+
export type AuthSession = Message<"browserscale.v1.AuthSession"> & {
|
|
2377
|
+
/**
|
|
2378
|
+
* Gaia obfuscated account id.
|
|
2379
|
+
*
|
|
2380
|
+
* @generated from field: optional string gaia_id = 1;
|
|
2381
|
+
*/
|
|
2382
|
+
gaiaId?: string;
|
|
2383
|
+
/**
|
|
2384
|
+
* Account email.
|
|
2385
|
+
*
|
|
2386
|
+
* @generated from field: optional string email = 2;
|
|
2387
|
+
*/
|
|
2388
|
+
email?: string;
|
|
2389
|
+
/**
|
|
2390
|
+
* OAuth refresh token (persistent).
|
|
2391
|
+
*
|
|
2392
|
+
* @generated from field: optional string refresh_token = 3;
|
|
2393
|
+
*/
|
|
2394
|
+
refreshToken?: string;
|
|
2395
|
+
/**
|
|
2396
|
+
* Base64 of the wrapped device-binding key for the refresh token.
|
|
2397
|
+
* Empty/absent = unbound token.
|
|
2398
|
+
*
|
|
2399
|
+
* @generated from field: optional string wrapped_binding_key = 4;
|
|
2400
|
+
*/
|
|
2401
|
+
wrappedBindingKey?: string;
|
|
2402
|
+
/**
|
|
2403
|
+
* Signin-scoped device id; must travel with the token.
|
|
2404
|
+
*
|
|
2405
|
+
* @generated from field: optional string signin_scoped_device_id = 5;
|
|
2406
|
+
*/
|
|
2407
|
+
signinScopedDeviceId?: string;
|
|
2408
|
+
/**
|
|
2409
|
+
* True if the account should be restored at Sync consent.
|
|
2410
|
+
*
|
|
2411
|
+
* @generated from field: optional bool sync_consent = 6;
|
|
2412
|
+
*/
|
|
2413
|
+
syncConsent?: boolean;
|
|
2414
|
+
/**
|
|
2415
|
+
* Device Bound Session Credentials for this context (all bound sites).
|
|
2416
|
+
*
|
|
2417
|
+
* @generated from field: repeated browserscale.v1.DbscSession dbsc_sessions = 7;
|
|
2418
|
+
*/
|
|
2419
|
+
dbscSessions: DbscSession[];
|
|
2420
|
+
};
|
|
2421
|
+
/**
|
|
2422
|
+
* Describes the message browserscale.v1.AuthSession.
|
|
2423
|
+
* Use `create(AuthSessionSchema)` to create a new message.
|
|
2424
|
+
*/
|
|
2425
|
+
export declare const AuthSessionSchema: GenMessage<AuthSession>;
|
|
2426
|
+
/**
|
|
2427
|
+
* @generated from message browserscale.v1.GetAuthSessionRequest
|
|
2428
|
+
*/
|
|
2429
|
+
export type GetAuthSessionRequest = Message<"browserscale.v1.GetAuthSessionRequest"> & {
|
|
2430
|
+
/**
|
|
2431
|
+
* @generated from field: string session_id = 1;
|
|
2432
|
+
*/
|
|
2433
|
+
sessionId: string;
|
|
2434
|
+
/**
|
|
2435
|
+
* @generated from field: string api_key = 2;
|
|
2436
|
+
*/
|
|
2437
|
+
apiKey: string;
|
|
2438
|
+
};
|
|
2439
|
+
/**
|
|
2440
|
+
* Describes the message browserscale.v1.GetAuthSessionRequest.
|
|
2441
|
+
* Use `create(GetAuthSessionRequestSchema)` to create a new message.
|
|
2442
|
+
*/
|
|
2443
|
+
export declare const GetAuthSessionRequestSchema: GenMessage<GetAuthSessionRequest>;
|
|
2444
|
+
/**
|
|
2445
|
+
* @generated from message browserscale.v1.GetAuthSessionResponse
|
|
2446
|
+
*/
|
|
2447
|
+
export type GetAuthSessionResponse = Message<"browserscale.v1.GetAuthSessionResponse"> & {
|
|
2448
|
+
/**
|
|
2449
|
+
* Present only if the context has exportable auth/DBSC state.
|
|
2450
|
+
*
|
|
2451
|
+
* @generated from field: optional browserscale.v1.AuthSession session = 1;
|
|
2452
|
+
*/
|
|
2453
|
+
session?: AuthSession;
|
|
2454
|
+
};
|
|
2455
|
+
/**
|
|
2456
|
+
* Describes the message browserscale.v1.GetAuthSessionResponse.
|
|
2457
|
+
* Use `create(GetAuthSessionResponseSchema)` to create a new message.
|
|
2458
|
+
*/
|
|
2459
|
+
export declare const GetAuthSessionResponseSchema: GenMessage<GetAuthSessionResponse>;
|
|
2460
|
+
/**
|
|
2461
|
+
* @generated from message browserscale.v1.SetAuthSessionRequest
|
|
2462
|
+
*/
|
|
2463
|
+
export type SetAuthSessionRequest = Message<"browserscale.v1.SetAuthSessionRequest"> & {
|
|
2464
|
+
/**
|
|
2465
|
+
* @generated from field: string session_id = 1;
|
|
2466
|
+
*/
|
|
2467
|
+
sessionId: string;
|
|
2468
|
+
/**
|
|
2469
|
+
* @generated from field: string api_key = 2;
|
|
2470
|
+
*/
|
|
2471
|
+
apiKey: string;
|
|
2472
|
+
/**
|
|
2473
|
+
* Session to import (as returned by GetAuthSession).
|
|
2474
|
+
*
|
|
2475
|
+
* @generated from field: browserscale.v1.AuthSession session = 3;
|
|
2476
|
+
*/
|
|
2477
|
+
session?: AuthSession;
|
|
2478
|
+
};
|
|
2479
|
+
/**
|
|
2480
|
+
* Describes the message browserscale.v1.SetAuthSessionRequest.
|
|
2481
|
+
* Use `create(SetAuthSessionRequestSchema)` to create a new message.
|
|
2482
|
+
*/
|
|
2483
|
+
export declare const SetAuthSessionRequestSchema: GenMessage<SetAuthSessionRequest>;
|
|
2344
2484
|
/**
|
|
2345
2485
|
* @generated from message browserscale.v1.GetDOMRequest
|
|
2346
2486
|
*/
|
|
@@ -3449,6 +3589,24 @@ export declare const Browser: GenService<{
|
|
|
3449
3589
|
input: typeof ClearStorageRequestSchema;
|
|
3450
3590
|
output: typeof EmptySchema;
|
|
3451
3591
|
};
|
|
3592
|
+
/**
|
|
3593
|
+
* Auth / DBSC (portable signed-in persona)
|
|
3594
|
+
*
|
|
3595
|
+
* @generated from rpc browserscale.v1.Browser.GetAuthSession
|
|
3596
|
+
*/
|
|
3597
|
+
getAuthSession: {
|
|
3598
|
+
methodKind: "unary";
|
|
3599
|
+
input: typeof GetAuthSessionRequestSchema;
|
|
3600
|
+
output: typeof GetAuthSessionResponseSchema;
|
|
3601
|
+
};
|
|
3602
|
+
/**
|
|
3603
|
+
* @generated from rpc browserscale.v1.Browser.SetAuthSession
|
|
3604
|
+
*/
|
|
3605
|
+
setAuthSession: {
|
|
3606
|
+
methodKind: "unary";
|
|
3607
|
+
input: typeof SetAuthSessionRequestSchema;
|
|
3608
|
+
output: typeof EmptySchema;
|
|
3609
|
+
};
|
|
3452
3610
|
/**
|
|
3453
3611
|
* DOM / observation
|
|
3454
3612
|
*
|
package/dist/gen/wrc_pb.js
CHANGED
|
@@ -6,7 +6,7 @@ import { file_google_protobuf_empty } from "@bufbuild/protobuf/wkt";
|
|
|
6
6
|
/**
|
|
7
7
|
* Describes the file wrc.proto.
|
|
8
8
|
*/
|
|
9
|
-
export const file_wrc = /*@__PURE__*/ fileDesc("Cgl3cmMucHJvdG8SD2Jyb3dzZXJzY2FsZS52MSI7CgRSZWN0EgkKAXgYASABKAESCQoBeRgCIAEoARINCgV3aWR0aBgDIAEoARIOCgZoZWlnaHQYBCABKAEihgIKCUZyYW1lSW5mbxIQCghmcmFtZV9pZBgBIAEoCRILCgN1cmwYAiABKAkSEAoIaXNfb29waWYYAyABKAgSFgoOaGFzX2pzX2NvbnRleHQYBCABKAgSEgoKaXNfbG9hZGluZxgFIAEoCBISCgppc192aXNpYmxlGAYgASgIEiwKDWFic29sdXRlX3JlY3QYByABKAsyFS5icm93c2Vyc2NhbGUudjEuUmVjdBIsCg1yZWxhdGl2ZV9yZWN0GAggASgLMhUuYnJvd3NlcnNjYWxlLnYxLlJlY3QSLAoIY2hpbGRyZW4YCSADKAsyGi5icm93c2Vyc2NhbGUudjEuRnJhbWVJbmZvIqwBCghQYWdlSW5mbxIPCgdwYWdlX2lkGAEgASgJEhoKEmJyb3dzZXJfY29udGV4dF9pZBgCIAEoCRILCgN1cmwYAyABKAkSDQoFdGl0bGUYBCABKAkSJwoIdmlld3BvcnQYBSABKAsyFS5icm93c2Vyc2NhbGUudjEuUmVjdBIuCgpmcmFtZV90cmVlGAYgASgLMhouYnJvd3NlcnNjYWxlLnYxLkZyYW1lSW5mbyIlCgZIZWFkZXISDAoEbmFtZRgBIAEoCRINCgV2YWx1ZRgCIAEoCSKAAQoSSW50ZXJjZXB0ZWRSZXF1ZXN0Eg4KBm1ldGhvZBgBIAEoCRILCgN1cmwYAiABKAkSKAoHaGVhZGVycxgDIAMoCzIXLmJyb3dzZXJzY2FsZS52MS5IZWFkZXISDAoEYm9keRgEIAEoCRIVCg1yZXNvdXJjZV90eXBlGAUgASgJIm8KE0ludGVyY2VwdGVkUmVzcG9uc2USCwoDdXJsGAEgASgJEhMKC3N0YXR1c19jb2RlGAIgASgFEigKB2hlYWRlcnMYAyADKAsyFy5icm93c2Vyc2NhbGUudjEuSGVhZGVyEgwKBGJvZHkYBCABKAkijgEKEkhlYWRlck1vZGlmaWNhdGlvbhIMCgRuYW1lGAEgASgJEhIKBXZhbHVlGAIgASgJSACIAQESDgoGYWN0aW9uGAMgASgJEhMKBmJlZm9yZRgEIAEoCUgBiAEBEhIKBWFmdGVyGAUgASgJSAKIAQFCCAoGX3ZhbHVlQgkKB19iZWZvcmVCCAoGX2FmdGVyIk0KEkNvb2tpZVBhcnRpdGlvbktleRIWCg50b3BfbGV2ZWxfc2l0ZRgBIAEoCRIfChdoYXNfY3Jvc3Nfc2l0ZV9hbmNlc3RvchgCIAEoCCK/AwoLQ29va2llUGFyYW0SDAoEbmFtZRgBIAEoCRINCgV2YWx1ZRgCIAEoCRIQCgN1cmwYAyABKAlIAIgBARIOCgZkb21haW4YBCABKAkSDAoEcGF0aBgFIAEoCRITCgZzZWN1cmUYBiABKAhIAYgBARIWCglodHRwX29ubHkYByABKAhIAogBARIWCglzYW1lX3NpdGUYCCABKAlIA4gBARIUCgdleHBpcmVzGAkgASgBSASIAQESFQoIcHJpb3JpdHkYCiABKAlIBYgBARIaCg1zb3VyY2Vfc2NoZW1lGAsgASgJSAaIAQESGAoLc291cmNlX3BvcnQYDCABKAVIB4gBARI/Cg1wYXJ0aXRpb25fa2V5GA0gASgLMiMuYnJvd3NlcnNjYWxlLnYxLkNvb2tpZVBhcnRpdGlvbktleUgIiAEBQgYKBF91cmxCCQoHX3NlY3VyZUIMCgpfaHR0cF9vbmx5QgwKCl9zYW1lX3NpdGVCCgoIX2V4cGlyZXNCCwoJX3ByaW9yaXR5QhAKDl9zb3VyY2Vfc2NoZW1lQg4KDF9zb3VyY2VfcG9ydEIQCg5fcGFydGl0aW9uX2tleSKtAQoNV2FpdENvbmRpdGlvbhIVCghzZWxlY3RvchgBIAEoCUgAiAEBEhoKDWpzX2V4cHJlc3Npb24YAiABKAlIAYgBARIUCgd2aXNpYmxlGAMgASgISAKIAQESGAoLc3RlYWR5X3RpbWUYBCABKAFIA4gBAUILCglfc2VsZWN0b3JCEAoOX2pzX2V4cHJlc3Npb25CCgoIX3Zpc2libGVCDgoMX3N0ZWFkeV90aW1lIrsBCgpXYWl0UmVzdWx0Eg0KBWluZGV4GAEgASgFEhAKCGZyYW1lX2lkGAIgASgJEhcKD2JhY2tlbmRfbm9kZV9pZBgDIAEoBRISCgppc192aXNpYmxlGAQgASgIEiUKBmJvdW5kcxgFIAEoCzIVLmJyb3dzZXJzY2FsZS52MS5SZWN0Ei4KBWVycm9yGAYgASgLMhouYnJvd3NlcnNjYWxlLnYxLldhaXRFcnJvckgAiAEBQggKBl9lcnJvciLsAQoTV2FpdENvbmRpdGlvblN0YXR1cxINCgVpbmRleBgBIAEoBRINCgVzdGF0ZRgCIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYAyABKAUSEAoIZnJhbWVfaWQYBCABKAkSEgoKaXNfdmlzaWJsZRgFIAEoCBIqCgZib3VuZHMYBiABKAsyFS5icm93c2Vyc2NhbGUudjEuUmVjdEgAiAEBEjQKCG9jY2x1ZGVyGAcgASgLMh0uYnJvd3NlcnNjYWxlLnYxLk9jY2x1ZGVySW5mb0gBiAEBQgkKB19ib3VuZHNCCwoJX29jY2x1ZGVyImQKCVdhaXRFcnJvchIMCgRjb2RlGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSOAoKY29uZGl0aW9ucxgDIAMoCzIkLmJyb3dzZXJzY2FsZS52MS5XYWl0Q29uZGl0aW9uU3RhdHVzIqYBCg1FbGVtZW50UmVzdWx0Eg8KB3N1Y2Nlc3MYASABKAgSEAoIZnJhbWVfaWQYAiABKAkSFwoPYmFja2VuZF9ub2RlX2lkGAMgASgFEhIKCmlzX3Zpc2libGUYBCABKAgSJQoGYm91bmRzGAUgASgLMhUuYnJvd3NlcnNjYWxlLnYxLlJlY3QSDgoGcm9vdF94GAYgASgBEg4KBnJvb3RfeRgHIAEoASLSAwoMT2NjbHVkZXJJbmZvEhcKD2JhY2tlbmRfbm9kZV9pZBgBIAEoBRIQCghmcmFtZV9pZBgCIAEoCRIQCgh0YWdfbmFtZRgDIAEoCRIPCgJpZBgEIAEoCUgAiAEBEhcKCmNsYXNzX25hbWUYBSABKAlIAYgBARIRCgR0ZXh0GAYgASgJSAKIAQESJQoGYm91bmRzGAcgASgLMhUuYnJvd3NlcnNjYWxlLnYxLlJlY3QSGwoOcG9pbnRlcl9ldmVudHMYCCABKAlIA4gBARIXCgp2aXNpYmlsaXR5GAkgASgJSASIAQESFAoHb3BhY2l0eRgKIAEoAUgFiAEBEhQKB3pfaW5kZXgYCyABKAlIBogBARIlChhoaXR0YWJsZV93aGlsZV9pbnZpc2libGUYDCABKAhIB4gBARIVCghwb3NpdGlvbhgNIAEoCUgIiAEBQgUKA19pZEINCgtfY2xhc3NfbmFtZUIHCgVfdGV4dEIRCg9fcG9pbnRlcl9ldmVudHNCDQoLX3Zpc2liaWxpdHlCCgoIX29wYWNpdHlCCgoIX3pfaW5kZXhCGwoZX2hpdHRhYmxlX3doaWxlX2ludmlzaWJsZUILCglfcG9zaXRpb24ioAEKCkNsaWNrRXJyb3ISDAoEY29kZRgBIAEoCRIPCgdtZXNzYWdlGAIgASgJEjQKCG9jY2x1ZGVyGAMgASgLMh0uYnJvd3NlcnNjYWxlLnYxLk9jY2x1ZGVySW5mb0gAiAEBEhwKD2V2YWRlX2F0dGVtcHRlZBgEIAEoCEgBiAEBQgsKCV9vY2NsdWRlckISChBfZXZhZGVfYXR0ZW1wdGVkIt8BCgtDbGlja1Jlc3VsdBIPCgdzdWNjZXNzGAEgASgIEhAKCGZyYW1lX2lkGAIgASgJEhcKD2JhY2tlbmRfbm9kZV9pZBgDIAEoBRISCgppc192aXNpYmxlGAQgASgIEiUKBmJvdW5kcxgFIAEoCzIVLmJyb3dzZXJzY2FsZS52MS5SZWN0Eg4KBnJvb3RfeBgGIAEoARIOCgZyb290X3kYByABKAESLwoFZXJyb3IYCCABKAsyGy5icm93c2Vyc2NhbGUudjEuQ2xpY2tFcnJvckgAiAEBQggKBl9lcnJvciKeAgoMUmVhY3Rpb25JbmZvEhMKC3JlYWN0aW9uX2lkGAEgASgJEhsKDm1hdGNoX3NlbGVjdG9yGAIgASgJSACIAQESIAoTbWF0Y2hfanNfZXhwcmVzc2lvbhgDIAEoCUgBiAEBEhwKD2FjdGlvbl9zZWxlY3RvchgEIAEoCUgCiAEBEiEKFGFjdGlvbl9qc19leHByZXNzaW9uGAUgASgJSAOIAQESEAoIZnJhbWVfaWQYBiABKAkSDwoHdmlzaWJsZRgHIAEoCEIRCg9fbWF0Y2hfc2VsZWN0b3JCFgoUX21hdGNoX2pzX2V4cHJlc3Npb25CEgoQX2FjdGlvbl9zZWxlY3RvckIXChVfYWN0aW9uX2pzX2V4cHJlc3Npb24i1gMKEkFkZFJlYWN0aW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIbCg5tYXRjaF9zZWxlY3RvchgEIAEoCUgAiAEBEiAKE21hdGNoX2pzX2V4cHJlc3Npb24YBSABKAlIAYgBARIVCghmcmFtZV9pZBgGIAEoCUgCiAEBEhQKB3Zpc2libGUYByABKAhIA4gBARIcCg9hY3Rpb25fc2VsZWN0b3IYCCABKAlIBIgBARIhChRhY3Rpb25fanNfZXhwcmVzc2lvbhgJIAEoCUgFiAEBEhMKBmJ1dHRvbhgKIAEoCUgGiAEBEhgKC2NsaWNrX2NvdW50GAsgASgFSAeIAQESFQoIaW50ZXJ2YWwYDCABKAFICIgBAUIRCg9fbWF0Y2hfc2VsZWN0b3JCFgoUX21hdGNoX2pzX2V4cHJlc3Npb25CCwoJX2ZyYW1lX2lkQgoKCF92aXNpYmxlQhIKEF9hY3Rpb25fc2VsZWN0b3JCFwoVX2FjdGlvbl9qc19leHByZXNzaW9uQgkKB19idXR0b25CDgoMX2NsaWNrX2NvdW50QgsKCV9pbnRlcnZhbCIqChNBZGRSZWFjdGlvblJlc3BvbnNlEhMKC3JlYWN0aW9uX2lkGAEgASgJIlEKFVJlbW92ZVJlYWN0aW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSEwoLcmVhY3Rpb25faWQYAyABKAkiKQoWUmVtb3ZlUmVhY3Rpb25SZXNwb25zZRIPCgdyZW1vdmVkGAEgASgIIkwKFExpc3RSZWFjdGlvbnNSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJIkkKFUxpc3RSZWFjdGlvbnNSZXNwb25zZRIwCglyZWFjdGlvbnMYASADKAsyHS5icm93c2Vyc2NhbGUudjEuUmVhY3Rpb25JbmZvIukBCgpFbGVtZW50UmVmEhcKD2JhY2tlbmRfbm9kZV9pZBgBIAEoBRIQCgh0YWdfbmFtZRgCIAEoCRIPCgJpZBgDIAEoCUgAiAEBEhEKBG5hbWUYBCABKAlIAYgBARIXCgpjbGFzc19uYW1lGAUgASgJSAKIAQESFwoKaW5wdXRfdHlwZRgGIAEoCUgDiAEBEhEKBHRleHQYByABKAlIBIgBARIQCghlZGl0YWJsZRgIIAEoCEIFCgNfaWRCBwoFX25hbWVCDQoLX2NsYXNzX25hbWVCDQoLX2lucHV0X3R5cGVCBwoFX3RleHQi7gIKCUZpbGxFcnJvchIMCgRjb2RlGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSNQoLY2xpY2tfZXJyb3IYAyABKAsyGy5icm93c2Vyc2NhbGUudjEuQ2xpY2tFcnJvckgAiAEBEiQKF2ZvY3VzZWRfYmFja2VuZF9ub2RlX2lkGAQgASgFSAGIAQESOQoPZm9jdXNlZF9lbGVtZW50GAUgASgLMhsuYnJvd3NlcnNjYWxlLnYxLkVsZW1lbnRSZWZIAogBARIcCg90YXJnZXRfZWRpdGFibGUYBiABKAhIA4gBARIgChN0YXJnZXRfdmFsdWVfbGVuZ3RoGAcgASgFSASIAQFCDgoMX2NsaWNrX2Vycm9yQhoKGF9mb2N1c2VkX2JhY2tlbmRfbm9kZV9pZEISChBfZm9jdXNlZF9lbGVtZW50QhIKEF90YXJnZXRfZWRpdGFibGVCFgoUX3RhcmdldF92YWx1ZV9sZW5ndGgiogEKCkZpbGxSZXN1bHQSDwoHc3VjY2VzcxgBIAEoCBIQCghmcmFtZV9pZBgCIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYAyABKAUSDgoGcm9vdF94GAYgASgBEg4KBnJvb3RfeRgHIAEoARIuCgVlcnJvchgIIAEoCzIaLmJyb3dzZXJzY2FsZS52MS5GaWxsRXJyb3JIAIgBAUIICgZfZXJyb3IiwgEKCkRyYWdSZXN1bHQSDwoHc3VjY2VzcxgBIAEoCBIQCghmcmFtZV9pZBgCIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYAyABKAUSDwoHc3RhcnRfeBgEIAEoARIPCgdzdGFydF95GAUgASgBEg0KBWVuZF94GAYgASgBEg0KBWVuZF95GAcgASgBEi4KBWVycm9yGAggASgLMhouYnJvd3NlcnNjYWxlLnYxLkRyYWdFcnJvckgAiAEBQggKBl9lcnJvciJxCglEcmFnRXJyb3ISDAoEY29kZRgBIAEoCRIPCgdtZXNzYWdlGAIgASgJEjUKC2NsaWNrX2Vycm9yGAMgASgLMhsuYnJvd3NlcnNjYWxlLnYxLkNsaWNrRXJyb3JIAIgBAUIOCgxfY2xpY2tfZXJyb3IirgEKElNlbGVjdE9wdGlvblJlc3VsdBIWCg5zZWxlY3RlZF9pbmRleBgBIAEoBRIWCg5zZWxlY3RlZF92YWx1ZRgCIAEoCRIVCg1zZWxlY3RlZF90ZXh0GAMgASgJEg8KB3N1Y2Nlc3MYBCABKAgSNgoFZXJyb3IYBSABKAsyIi5icm93c2Vyc2NhbGUudjEuU2VsZWN0T3B0aW9uRXJyb3JIAIgBAUIICgZfZXJyb3IiMgoRU2VsZWN0T3B0aW9uRXJyb3ISDAoEY29kZRgBIAEoCRIPCgdtZXNzYWdlGAIgASgJIsEBCgxTY3JvbGxSZXN1bHQSDwoHc3VjY2VzcxgBIAEoCBIQCghmcmFtZV9pZBgCIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYAyABKAUSEgoKaXNfdmlzaWJsZRgEIAEoCBIlCgZib3VuZHMYBSABKAsyFS5icm93c2Vyc2NhbGUudjEuUmVjdBIwCgVlcnJvchgIIAEoCzIcLmJyb3dzZXJzY2FsZS52MS5TY3JvbGxFcnJvckgAiAEBQggKBl9lcnJvciIsCgtTY3JvbGxFcnJvchIMCgRjb2RlGAEgASgJEg8KB21lc3NhZ2UYAiABKAki3QEKCk1vdmVSZXN1bHQSDwoHc3VjY2VzcxgBIAEoCBIQCghmcmFtZV9pZBgCIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYAyABKAUSEgoKaXNfdmlzaWJsZRgEIAEoCBIlCgZib3VuZHMYBSABKAsyFS5icm93c2Vyc2NhbGUudjEuUmVjdBIOCgZyb290X3gYBiABKAESDgoGcm9vdF95GAcgASgBEi4KBWVycm9yGAggASgLMhouYnJvd3NlcnNjYWxlLnYxLk1vdmVFcnJvckgAiAEBQggKBl9lcnJvciIqCglNb3ZlRXJyb3ISDAoEY29kZRgBIAEoCRIPCgdtZXNzYWdlGAIgASgJIuYBCg9TZXRQcm94eVJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEhcKCnByb3h5X2hvc3QYAyABKAlIAIgBARIXCgpwcm94eV9wb3J0GAQgASgFSAGIAQESGwoOcHJveHlfdXNlcm5hbWUYBSABKAlIAogBARIbCg5wcm94eV9wYXNzd29yZBgGIAEoCUgDiAEBQg0KC19wcm94eV9ob3N0Qg0KC19wcm94eV9wb3J0QhEKD19wcm94eV91c2VybmFtZUIRCg9fcHJveHlfcGFzc3dvcmQiNgoPR2V0UGFnZXNSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCSI8ChBHZXRQYWdlc1Jlc3BvbnNlEigKBXBhZ2VzGAEgAygLMhkuYnJvd3NlcnNjYWxlLnYxLlBhZ2VJbmZvIpoBCg9OYXZpZ2F0ZVJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSCwoDdXJsGAQgASgJEhUKCHJlZmVycmVyGAUgASgJSACIAQESFAoHdGltZW91dBgGIAEoAUgBiAEBQgsKCV9yZWZlcnJlckIKCghfdGltZW91dCIxChBOYXZpZ2F0ZVJlc3BvbnNlEhAKCGZyYW1lX2lkGAEgASgJEgsKA3VybBgCIAEoCSK2AQoPTG9hZEhUTUxSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEgsKA3VybBgEIAEoCRIMCgRodG1sGAUgASgJEigKB2hlYWRlcnMYBiADKAsyFy5icm93c2Vyc2NhbGUudjEuSGVhZGVyEhgKC3N0YXR1c19jb2RlGAcgASgFSACIAQFCDgoMX3N0YXR1c19jb2RlIn8KD0V2YWx1YXRlUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRISCgpleHByZXNzaW9uGAQgASgJEhUKCGZyYW1lX2lkGAUgASgJSACIAQFCCwoJX2ZyYW1lX2lkInYKEEV2YWx1YXRlUmVzcG9uc2USDgoGcmVzdWx0GAEgASgJEhcKD2JhY2tlbmRfbm9kZV9pZBgCIAEoBRISCgppc192aXNpYmxlGAMgASgIEiUKBmJvdW5kcxgEIAEoCzIVLmJyb3dzZXJzY2FsZS52MS5SZWN0ImMKClJ1blJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg4KBnNvdXJjZRgDIAEoCRIUCgdwYWdlX2lkGAQgASgJSACIAQFCCgoIX3BhZ2VfaWQiLgoLUnVuUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIOCgZyZXN1bHQYAiABKAkiwgEKEFdhaXRGb3JBbnlQYXJhbXMSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSMgoKY29uZGl0aW9ucxgEIAMoCzIeLmJyb3dzZXJzY2FsZS52MS5XYWl0Q29uZGl0aW9uEhUKCGZyYW1lX2lkGAUgASgJSACIAQESFAoHdGltZW91dBgGIAEoAUgBiAEBQgsKCV9mcmFtZV9pZEIKCghfdGltZW91dCL1AgoTU2VsZWN0T3B0aW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIcCg9iYWNrZW5kX25vZGVfaWQYBCABKAVIAIgBARIVCghzZWxlY3RvchgFIAEoCUgBiAEBEhoKDWpzX2V4cHJlc3Npb24YBiABKAlIAogBARIVCghmcmFtZV9pZBgHIAEoCUgDiAEBEhIKBWluZGV4GAggASgFSASIAQESEgoFdmFsdWUYCSABKAlIBYgBARIRCgR0ZXh0GAogASgJSAaIAQESGAoLZmlyZV9ldmVudHMYCyABKAhIB4gBAUISChBfYmFja2VuZF9ub2RlX2lkQgsKCV9zZWxlY3RvckIQCg5fanNfZXhwcmVzc2lvbkILCglfZnJhbWVfaWRCCAoGX2luZGV4QggKBl92YWx1ZUIHCgVfdGV4dEIOCgxfZmlyZV9ldmVudHMi7wEKD1Njcm9sbFRvUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIcCg9iYWNrZW5kX25vZGVfaWQYBCABKAVIAIgBARIVCghzZWxlY3RvchgFIAEoCUgBiAEBEhoKDWpzX2V4cHJlc3Npb24YBiABKAlIAogBARIVCghmcmFtZV9pZBgHIAEoCUgDiAEBQhIKEF9iYWNrZW5kX25vZGVfaWRCCwoJX3NlbGVjdG9yQhAKDl9qc19leHByZXNzaW9uQgsKCV9mcmFtZV9pZCKZAgoNTW92ZVRvUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIcCg9iYWNrZW5kX25vZGVfaWQYBCABKAVIAIgBARIVCghzZWxlY3RvchgFIAEoCUgBiAEBEhoKDWpzX2V4cHJlc3Npb24YBiABKAlIAogBARIVCghmcmFtZV9pZBgHIAEoCUgDiAEBEg4KAXgYCCABKAFIBIgBARIOCgF5GAkgASgBSAWIAQFCEgoQX2JhY2tlbmRfbm9kZV9pZEILCglfc2VsZWN0b3JCEAoOX2pzX2V4cHJlc3Npb25CCwoJX2ZyYW1lX2lkQgQKAl94QgQKAl95IoIDCgxDbGlja1JlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSHAoPYmFja2VuZF9ub2RlX2lkGAQgASgFSACIAQESFQoIc2VsZWN0b3IYBSABKAlIAYgBARIaCg1qc19leHByZXNzaW9uGAYgASgJSAKIAQESFQoIZnJhbWVfaWQYByABKAlIA4gBARITCgZidXR0b24YCCABKAlIBIgBARIYCgtjbGlja19jb3VudBgJIAEoBUgFiAEBEg4KAXgYCiABKAFIBogBARIOCgF5GAsgASgBSAeIAQESEwoGYWN0aW9uGAwgASgJSAiIAQFCEgoQX2JhY2tlbmRfbm9kZV9pZEILCglfc2VsZWN0b3JCEAoOX2pzX2V4cHJlc3Npb25CCwoJX2ZyYW1lX2lkQgkKB19idXR0b25CDgoMX2NsaWNrX2NvdW50QgQKAl94QgQKAl95QgkKB19hY3Rpb24igwMKC0RyYWdSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEhwKD2JhY2tlbmRfbm9kZV9pZBgEIAEoBUgAiAEBEhUKCHNlbGVjdG9yGAUgASgJSAGIAQESGgoNanNfZXhwcmVzc2lvbhgGIAEoCUgCiAEBEhUKCGZyYW1lX2lkGAcgASgJSAOIAQESFQoIb2Zmc2V0X3gYCCABKAFIBIgBARIVCghvZmZzZXRfeRgJIAEoAUgFiAEBEhcKCmFic29sdXRlX3gYCiABKAFIBogBARIXCgphYnNvbHV0ZV95GAsgASgBSAeIAQFCEgoQX2JhY2tlbmRfbm9kZV9pZEILCglfc2VsZWN0b3JCEAoOX2pzX2V4cHJlc3Npb25CCwoJX2ZyYW1lX2lkQgsKCV9vZmZzZXRfeEILCglfb2Zmc2V0X3lCDQoLX2Fic29sdXRlX3hCDQoLX2Fic29sdXRlX3ki7wIKC0ZpbGxSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEhwKD2JhY2tlbmRfbm9kZV9pZBgEIAEoBUgAiAEBEhUKCHNlbGVjdG9yGAUgASgJSAGIAQESGgoNanNfZXhwcmVzc2lvbhgGIAEoCUgCiAEBEhUKCGZyYW1lX2lkGAcgASgJSAOIAQESDAoEdGV4dBgIIAEoCRIYCgtjbGVhcl9maXJzdBgJIAEoCEgEiAEBEhQKB3RpbWVvdXQYCiABKAFIBYgBARIYCgtzdGVhZHlfdGltZRgLIAEoAUgGiAEBQhIKEF9iYWNrZW5kX25vZGVfaWRCCwoJX3NlbGVjdG9yQhAKDl9qc19leHByZXNzaW9uQgsKCV9mcmFtZV9pZEIOCgxfY2xlYXJfZmlyc3RCCgoIX3RpbWVvdXRCDgoMX3N0ZWFkeV90aW1lIkwKE1NldEJsb2NrTGlzdFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEhAKCHBhdHRlcm5zGAMgAygJImEKFVNldFN0YXRpY1BhdGhzUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSEAoIcGF0dGVybnMYAyADKAkSEQoJYmxvYl9uYW1lGAQgASgJIogBChhXYWl0Rm9yQW55UmVxdWVzdFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEhAKCHBhdHRlcm5zGAMgAygJEhMKC2Fib3J0X2ZsYWdzGAQgAygFEhQKB3RpbWVvdXQYBSABKAFIAIgBAUIKCghfdGltZW91dCJgChlXYWl0Rm9yQW55UmVxdWVzdFJlc3BvbnNlEg0KBWluZGV4GAEgASgFEjQKB3JlcXVlc3QYAiABKAsyIy5icm93c2Vyc2NhbGUudjEuSW50ZXJjZXB0ZWRSZXF1ZXN0IokBChlXYWl0Rm9yQW55UmVzcG9uc2VSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIQCghwYXR0ZXJucxgDIAMoCRITCgthYm9ydF9mbGFncxgEIAMoBRIUCgd0aW1lb3V0GAUgASgBSACIAQFCCgoIX3RpbWVvdXQiYwoaV2FpdEZvckFueVJlc3BvbnNlUmVzcG9uc2USDQoFaW5kZXgYASABKAUSNgoIcmVzcG9uc2UYAiABKAsyJC5icm93c2Vyc2NhbGUudjEuSW50ZXJjZXB0ZWRSZXNwb25zZSLKAQoUTW9kaWZ5UmVxdWVzdFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEhMKC3VybF9wYXR0ZXJuGAMgASgJEjoKDW1vZGlmaWNhdGlvbnMYBCADKAsyIy5icm93c2Vyc2NhbGUudjEuSGVhZGVyTW9kaWZpY2F0aW9uEhEKBGJvZHkYBSABKAlIAIgBARIUCgd0aW1lb3V0GAYgASgBSAGIAQFCBwoFX2JvZHlCCgoIX3RpbWVvdXQiTQoVTW9kaWZ5UmVxdWVzdFJlc3BvbnNlEjQKB3JlcXVlc3QYASABKAsyIy5icm93c2Vyc2NhbGUudjEuSW50ZXJjZXB0ZWRSZXF1ZXN0IjgKEUdldENvb2tpZXNSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCSJDChJHZXRDb29raWVzUmVzcG9uc2USLQoHY29va2llcxgBIAMoCzIcLmJyb3dzZXJzY2FsZS52MS5Db29raWVQYXJhbSJnChFTZXRDb29raWVzUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSLQoHY29va2llcxgDIAMoCzIcLmJyb3dzZXJzY2FsZS52MS5Db29raWVQYXJhbSI6ChNDbGVhckNvb2tpZXNSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCSIpCgtTdG9yYWdlSXRlbRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAkiUQoSU3RvcmFnZU9yaWdpbkVudHJ5Eg4KBm9yaWdpbhgBIAEoCRIrCgVpdGVtcxgCIAMoCzIcLmJyb3dzZXJzY2FsZS52MS5TdG9yYWdlSXRlbSJYChFHZXRTdG9yYWdlUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSEwoGb3JpZ2luGAMgASgJSACIAQFCCQoHX29yaWdpbiJKChJHZXRTdG9yYWdlUmVzcG9uc2USNAoHc3RvcmFnZRgBIAMoCzIjLmJyb3dzZXJzY2FsZS52MS5TdG9yYWdlT3JpZ2luRW50cnkimAEKEVNldFN0b3JhZ2VSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRI0CgdzdG9yYWdlGAMgAygLMiMuYnJvd3NlcnNjYWxlLnYxLlN0b3JhZ2VPcmlnaW5FbnRyeRIYCgtjbGVhcl9maXJzdBgEIAEoCEgAiAEBQg4KDF9jbGVhcl9maXJzdCJaChNDbGVhclN0b3JhZ2VSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRITCgZvcmlnaW4YAyABKAlIAIgBAUIJCgdfb3JpZ2luIocBCg1HZXRET01SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEhUKCGZyYW1lX2lkGAQgASgJSACIAQESEgoFZGVwdGgYBSABKAVIAYgBAUILCglfZnJhbWVfaWRCCAoGX2RlcHRoIh0KDkdldERPTVJlc3BvbnNlEgsKA2RvbRgBIAEoCSKZBAoVR2V0T2JzZXJ2YXRpb25SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEiMKFm1heF9lbGVtZW50c19wZXJfZnJhbWUYBCABKAVIAIgBARIcCg9tYXhfdGV4dF9sZW5ndGgYBSABKAVIAYgBARITCgZmb3JtYXQYBiABKAlIAogBARIdChBtYXhfdG90YWxfdG9rZW5zGAcgASgFSAOIAQESGwoOaW5jbHVkZV9ib3VuZHMYCCABKAhIBIgBARIaCg12aWV3cG9ydF9vbmx5GAkgASgISAWIAQESHAoPYmFja2VuZF9ub2RlX2lkGAogASgFSAaIAQESFQoIc2VsZWN0b3IYCyABKAlIB4gBARIaCg1qc19leHByZXNzaW9uGAwgASgJSAiIAQESFQoIZnJhbWVfaWQYDSABKAlICYgBAUIZChdfbWF4X2VsZW1lbnRzX3Blcl9mcmFtZUISChBfbWF4X3RleHRfbGVuZ3RoQgkKB19mb3JtYXRCEwoRX21heF90b3RhbF90b2tlbnNCEQoPX2luY2x1ZGVfYm91bmRzQhAKDl92aWV3cG9ydF9vbmx5QhIKEF9iYWNrZW5kX25vZGVfaWRCCwoJX3NlbGVjdG9yQhAKDl9qc19leHByZXNzaW9uQgsKCV9mcmFtZV9pZCJFChZHZXRPYnNlcnZhdGlvblJlc3BvbnNlEhMKC29ic2VydmF0aW9uGAEgASgJSgQIAhADUhBvYnNlcnZhdGlvbl9qc29uIm0KEUdldERPTUhhc2hSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEhUKCGZyYW1lX2lkGAQgASgJSACIAQFCCwoJX2ZyYW1lX2lkIiIKEkdldERPTUhhc2hSZXNwb25zZRIMCgRoYXNoGAEgASgJImYKGEluc3BlY3RBdFBvc2l0aW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIJCgF4GAQgASgBEgkKAXkYBSABKAEiqQEKGUluc3BlY3RBdFBvc2l0aW9uUmVzcG9uc2USFwoPYmFja2VuZF9ub2RlX2lkGAEgASgFEhAKCGZyYW1lX2lkGAIgASgJEhAKCHRhZ19uYW1lGAMgASgJEhQKDHRleHRfY29udGVudBgEIAEoCRISCgppc192aXNpYmxlGAUgASgIEiUKBmJvdW5kcxgGIAEoCzIVLmJyb3dzZXJzY2FsZS52MS5SZWN0IokBChRIaWdobGlnaHROb2RlUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYBCABKAUSFQoIZnJhbWVfaWQYBSABKAlIAIgBAUILCglfZnJhbWVfaWQiVwoRSW5zZXJ0VGV4dFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSDAoEdGV4dBgEIAEoCSJ7CgtUeXBlUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIMCgR0ZXh0GAQgASgJEhgKC2NsZWFyX2ZpcnN0GAUgASgISACIAQFCDgoMX2NsZWFyX2ZpcnN0IroBCg9QcmVzc0tleVJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSCwoDa2V5GAQgASgJEhEKBGNvZGUYBSABKAlIAIgBARIWCgltb2RpZmllcnMYBiABKAVIAYgBARIVCghsb2NhdGlvbhgHIAEoBUgCiAEBQgcKBV9jb2RlQgwKCl9tb2RpZmllcnNCCwoJX2xvY2F0aW9uIrwBChFSZWxlYXNlS2V5UmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRILCgNrZXkYBCABKAkSEQoEY29kZRgFIAEoCUgAiAEBEhYKCW1vZGlmaWVycxgGIAEoBUgBiAEBEhUKCGxvY2F0aW9uGAcgASgFSAKIAQFCBwoFX2NvZGVCDAoKX21vZGlmaWVyc0ILCglfbG9jYXRpb24iSwoTR2V0U2VsZWN0aW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCSIkChRHZXRTZWxlY3Rpb25SZXNwb25zZRIMCgR0ZXh0GAEgASgJIosBChFTY3JlZW5zaG90UmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRITCgZmb3JtYXQYBCABKAlIAIgBARIUCgdxdWFsaXR5GAUgASgFSAGIAQFCCQoHX2Zvcm1hdEIKCghfcXVhbGl0eSJIChJTY3JlZW5zaG90UmVzcG9uc2USEwoLZGF0YV9iYXNlNjQYASABKAkSDQoFd2lkdGgYAiABKAUSDgoGaGVpZ2h0GAMgASgFIpMDChFSZWFkQ2FudmFzUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIcCg9iYWNrZW5kX25vZGVfaWQYBCABKAVIAIgBARIVCghzZWxlY3RvchgFIAEoCUgBiAEBEhoKDWpzX2V4cHJlc3Npb24YBiABKAlIAogBARIVCghmcmFtZV9pZBgHIAEoCUgDiAEBEhMKBmZvcm1hdBgIIAEoCUgEiAEBEhQKB3F1YWxpdHkYCSABKAVIBYgBARIPCgJzeBgKIAEoBUgGiAEBEg8KAnN5GAsgASgFSAeIAQESDwoCc3cYDCABKAVICIgBARIPCgJzaBgNIAEoBUgJiAEBQhIKEF9iYWNrZW5kX25vZGVfaWRCCwoJX3NlbGVjdG9yQhAKDl9qc19leHByZXNzaW9uQgsKCV9mcmFtZV9pZEIJCgdfZm9ybWF0QgoKCF9xdWFsaXR5QgUKA19zeEIFCgNfc3lCBQoDX3N3QgUKA19zaCKaAQoSUmVhZENhbnZhc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSEAoIZnJhbWVfaWQYAiABKAkSFwoPYmFja2VuZF9ub2RlX2lkGAMgASgFEhMKC2RhdGFfYmFzZTY0GAQgASgJEg0KBXdpZHRoGAUgASgFEg4KBmhlaWdodBgGIAEoBRIUCgxvcmlnaW5fY2xlYW4YByABKAgiZAoTU29sdmVDYXB0Y2hhUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSEgoKdGltZW91dF9tcxgDIAEoBRIUCgxyZXRyeV9hbW91bnQYBCABKAUiJgoUU29sdmVDYXB0Y2hhUmVzcG9uc2USDgoGcmVzdWx0GAEgASgJImUKCUljZVNlcnZlchIMCgR1cmxzGAEgAygJEhUKCHVzZXJuYW1lGAIgASgJSACIAQESFwoKY3JlZGVudGlhbBgDIAEoCUgBiAEBQgsKCV91c2VybmFtZUINCgtfY3JlZGVudGlhbCI9ChZHZXRTdHJlYW1Db25maWdSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCSJKChdHZXRTdHJlYW1Db25maWdSZXNwb25zZRIvCgtpY2Vfc2VydmVycxgBIAMoCzIaLmJyb3dzZXJzY2FsZS52MS5JY2VTZXJ2ZXIiTAoSU3RhcnRTdHJlYW1SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIRCglvZmZlcl9zZHAYAyABKAkiKQoTU3RhcnRTdHJlYW1SZXNwb25zZRISCgphbnN3ZXJfc2RwGAEgASgJIjgKEVN0b3BTdHJlYW1SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCSIUChJTdG9wU3RyZWFtUmVzcG9uc2UygRwKB0Jyb3dzZXISRAoIU2V0UHJveHkSIC5icm93c2Vyc2NhbGUudjEuU2V0UHJveHlSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ek8KCEdldFBhZ2VzEiAuYnJvd3NlcnNjYWxlLnYxLkdldFBhZ2VzUmVxdWVzdBohLmJyb3dzZXJzY2FsZS52MS5HZXRQYWdlc1Jlc3BvbnNlEk8KCE5hdmlnYXRlEiAuYnJvd3NlcnNjYWxlLnYxLk5hdmlnYXRlUmVxdWVzdBohLmJyb3dzZXJzY2FsZS52MS5OYXZpZ2F0ZVJlc3BvbnNlEkQKCExvYWRIVE1MEiAuYnJvd3NlcnNjYWxlLnYxLkxvYWRIVE1MUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJPCghFdmFsdWF0ZRIgLmJyb3dzZXJzY2FsZS52MS5FdmFsdWF0ZVJlcXVlc3QaIS5icm93c2Vyc2NhbGUudjEuRXZhbHVhdGVSZXNwb25zZRJACgNSdW4SGy5icm93c2Vyc2NhbGUudjEuUnVuUmVxdWVzdBocLmJyb3dzZXJzY2FsZS52MS5SdW5SZXNwb25zZRJMCgpXYWl0Rm9yQW55EiEuYnJvd3NlcnNjYWxlLnYxLldhaXRGb3JBbnlQYXJhbXMaGy5icm93c2Vyc2NhbGUudjEuV2FpdFJlc3VsdBJZCgxTZWxlY3RPcHRpb24SJC5icm93c2Vyc2NhbGUudjEuU2VsZWN0T3B0aW9uUmVxdWVzdBojLmJyb3dzZXJzY2FsZS52MS5TZWxlY3RPcHRpb25SZXN1bHQSSwoIU2Nyb2xsVG8SIC5icm93c2Vyc2NhbGUudjEuU2Nyb2xsVG9SZXF1ZXN0Gh0uYnJvd3NlcnNjYWxlLnYxLlNjcm9sbFJlc3VsdBJFCgZNb3ZlVG8SHi5icm93c2Vyc2NhbGUudjEuTW92ZVRvUmVxdWVzdBobLmJyb3dzZXJzY2FsZS52MS5Nb3ZlUmVzdWx0EkQKBUNsaWNrEh0uYnJvd3NlcnNjYWxlLnYxLkNsaWNrUmVxdWVzdBocLmJyb3dzZXJzY2FsZS52MS5DbGlja1Jlc3VsdBJBCgREcmFnEhwuYnJvd3NlcnNjYWxlLnYxLkRyYWdSZXF1ZXN0GhsuYnJvd3NlcnNjYWxlLnYxLkRyYWdSZXN1bHQSQQoERmlsbBIcLmJyb3dzZXJzY2FsZS52MS5GaWxsUmVxdWVzdBobLmJyb3dzZXJzY2FsZS52MS5GaWxsUmVzdWx0ElgKC0FkZFJlYWN0aW9uEiMuYnJvd3NlcnNjYWxlLnYxLkFkZFJlYWN0aW9uUmVxdWVzdBokLmJyb3dzZXJzY2FsZS52MS5BZGRSZWFjdGlvblJlc3BvbnNlEmEKDlJlbW92ZVJlYWN0aW9uEiYuYnJvd3NlcnNjYWxlLnYxLlJlbW92ZVJlYWN0aW9uUmVxdWVzdBonLmJyb3dzZXJzY2FsZS52MS5SZW1vdmVSZWFjdGlvblJlc3BvbnNlEl4KDUxpc3RSZWFjdGlvbnMSJS5icm93c2Vyc2NhbGUudjEuTGlzdFJlYWN0aW9uc1JlcXVlc3QaJi5icm93c2Vyc2NhbGUudjEuTGlzdFJlYWN0aW9uc1Jlc3BvbnNlEkwKDFNldEJsb2NrTGlzdBIkLmJyb3dzZXJzY2FsZS52MS5TZXRCbG9ja0xpc3RSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5ElAKDlNldFN0YXRpY1BhdGhzEiYuYnJvd3NlcnNjYWxlLnYxLlNldFN0YXRpY1BhdGhzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJqChFXYWl0Rm9yQW55UmVxdWVzdBIpLmJyb3dzZXJzY2FsZS52MS5XYWl0Rm9yQW55UmVxdWVzdFJlcXVlc3QaKi5icm93c2Vyc2NhbGUudjEuV2FpdEZvckFueVJlcXVlc3RSZXNwb25zZRJtChJXYWl0Rm9yQW55UmVzcG9uc2USKi5icm93c2Vyc2NhbGUudjEuV2FpdEZvckFueVJlc3BvbnNlUmVxdWVzdBorLmJyb3dzZXJzY2FsZS52MS5XYWl0Rm9yQW55UmVzcG9uc2VSZXNwb25zZRJeCg1Nb2RpZnlSZXF1ZXN0EiUuYnJvd3NlcnNjYWxlLnYxLk1vZGlmeVJlcXVlc3RSZXF1ZXN0GiYuYnJvd3NlcnNjYWxlLnYxLk1vZGlmeVJlcXVlc3RSZXNwb25zZRJVCgpHZXRDb29raWVzEiIuYnJvd3NlcnNjYWxlLnYxLkdldENvb2tpZXNSZXF1ZXN0GiMuYnJvd3NlcnNjYWxlLnYxLkdldENvb2tpZXNSZXNwb25zZRJICgpTZXRDb29raWVzEiIuYnJvd3NlcnNjYWxlLnYxLlNldENvb2tpZXNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkwKDENsZWFyQ29va2llcxIkLmJyb3dzZXJzY2FsZS52MS5DbGVhckNvb2tpZXNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5ElUKCkdldFN0b3JhZ2USIi5icm93c2Vyc2NhbGUudjEuR2V0U3RvcmFnZVJlcXVlc3QaIy5icm93c2Vyc2NhbGUudjEuR2V0U3RvcmFnZVJlc3BvbnNlEkgKClNldFN0b3JhZ2USIi5icm93c2Vyc2NhbGUudjEuU2V0U3RvcmFnZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSTAoMQ2xlYXJTdG9yYWdlEiQuYnJvd3NlcnNjYWxlLnYxLkNsZWFyU3RvcmFnZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSSQoGR2V0RE9NEh4uYnJvd3NlcnNjYWxlLnYxLkdldERPTVJlcXVlc3QaHy5icm93c2Vyc2NhbGUudjEuR2V0RE9NUmVzcG9uc2USVQoKR2V0RE9NSGFzaBIiLmJyb3dzZXJzY2FsZS52MS5HZXRET01IYXNoUmVxdWVzdBojLmJyb3dzZXJzY2FsZS52MS5HZXRET01IYXNoUmVzcG9uc2USYQoOR2V0T2JzZXJ2YXRpb24SJi5icm93c2Vyc2NhbGUudjEuR2V0T2JzZXJ2YXRpb25SZXF1ZXN0GicuYnJvd3NlcnNjYWxlLnYxLkdldE9ic2VydmF0aW9uUmVzcG9uc2USagoRSW5zcGVjdEF0UG9zaXRpb24SKS5icm93c2Vyc2NhbGUudjEuSW5zcGVjdEF0UG9zaXRpb25SZXF1ZXN0GiouYnJvd3NlcnNjYWxlLnYxLkluc3BlY3RBdFBvc2l0aW9uUmVzcG9uc2USTgoNSGlnaGxpZ2h0Tm9kZRIlLmJyb3dzZXJzY2FsZS52MS5IaWdobGlnaHROb2RlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJVCgpTY3JlZW5zaG90EiIuYnJvd3NlcnNjYWxlLnYxLlNjcmVlbnNob3RSZXF1ZXN0GiMuYnJvd3NlcnNjYWxlLnYxLlNjcmVlbnNob3RSZXNwb25zZRJVCgpSZWFkQ2FudmFzEiIuYnJvd3NlcnNjYWxlLnYxLlJlYWRDYW52YXNSZXF1ZXN0GiMuYnJvd3NlcnNjYWxlLnYxLlJlYWRDYW52YXNSZXNwb25zZRJICgpJbnNlcnRUZXh0EiIuYnJvd3NlcnNjYWxlLnYxLkluc2VydFRleHRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EjwKBFR5cGUSHC5icm93c2Vyc2NhbGUudjEuVHlwZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSRAoIUHJlc3NLZXkSIC5icm93c2Vyc2NhbGUudjEuUHJlc3NLZXlSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkgKClJlbGVhc2VLZXkSIi5icm93c2Vyc2NhbGUudjEuUmVsZWFzZUtleVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSWwoMR2V0U2VsZWN0aW9uEiQuYnJvd3NlcnNjYWxlLnYxLkdldFNlbGVjdGlvblJlcXVlc3QaJS5icm93c2Vyc2NhbGUudjEuR2V0U2VsZWN0aW9uUmVzcG9uc2USWwoMU29sdmVDYXB0Y2hhEiQuYnJvd3NlcnNjYWxlLnYxLlNvbHZlQ2FwdGNoYVJlcXVlc3QaJS5icm93c2Vyc2NhbGUudjEuU29sdmVDYXB0Y2hhUmVzcG9uc2USZAoPR2V0U3RyZWFtQ29uZmlnEicuYnJvd3NlcnNjYWxlLnYxLkdldFN0cmVhbUNvbmZpZ1JlcXVlc3QaKC5icm93c2Vyc2NhbGUudjEuR2V0U3RyZWFtQ29uZmlnUmVzcG9uc2USWAoLU3RhcnRTdHJlYW0SIy5icm93c2Vyc2NhbGUudjEuU3RhcnRTdHJlYW1SZXF1ZXN0GiQuYnJvd3NlcnNjYWxlLnYxLlN0YXJ0U3RyZWFtUmVzcG9uc2USVQoKU3RvcFN0cmVhbRIiLmJyb3dzZXJzY2FsZS52MS5TdG9wU3RyZWFtUmVxdWVzdBojLmJyb3dzZXJzY2FsZS52MS5TdG9wU3RyZWFtUmVzcG9uc2VCM1oxZ2l0aHViLmNvbS9icm93c2Vyc2NhbGUvYnJvd3NlcnNjYWxlLWdvL2dlbmVyYXRlZGIGcHJvdG8z", [file_google_protobuf_empty]);
|
|
9
|
+
export const file_wrc = /*@__PURE__*/ fileDesc("Cgl3cmMucHJvdG8SD2Jyb3dzZXJzY2FsZS52MSI7CgRSZWN0EgkKAXgYASABKAESCQoBeRgCIAEoARINCgV3aWR0aBgDIAEoARIOCgZoZWlnaHQYBCABKAEihgIKCUZyYW1lSW5mbxIQCghmcmFtZV9pZBgBIAEoCRILCgN1cmwYAiABKAkSEAoIaXNfb29waWYYAyABKAgSFgoOaGFzX2pzX2NvbnRleHQYBCABKAgSEgoKaXNfbG9hZGluZxgFIAEoCBISCgppc192aXNpYmxlGAYgASgIEiwKDWFic29sdXRlX3JlY3QYByABKAsyFS5icm93c2Vyc2NhbGUudjEuUmVjdBIsCg1yZWxhdGl2ZV9yZWN0GAggASgLMhUuYnJvd3NlcnNjYWxlLnYxLlJlY3QSLAoIY2hpbGRyZW4YCSADKAsyGi5icm93c2Vyc2NhbGUudjEuRnJhbWVJbmZvIqwBCghQYWdlSW5mbxIPCgdwYWdlX2lkGAEgASgJEhoKEmJyb3dzZXJfY29udGV4dF9pZBgCIAEoCRILCgN1cmwYAyABKAkSDQoFdGl0bGUYBCABKAkSJwoIdmlld3BvcnQYBSABKAsyFS5icm93c2Vyc2NhbGUudjEuUmVjdBIuCgpmcmFtZV90cmVlGAYgASgLMhouYnJvd3NlcnNjYWxlLnYxLkZyYW1lSW5mbyIlCgZIZWFkZXISDAoEbmFtZRgBIAEoCRINCgV2YWx1ZRgCIAEoCSKAAQoSSW50ZXJjZXB0ZWRSZXF1ZXN0Eg4KBm1ldGhvZBgBIAEoCRILCgN1cmwYAiABKAkSKAoHaGVhZGVycxgDIAMoCzIXLmJyb3dzZXJzY2FsZS52MS5IZWFkZXISDAoEYm9keRgEIAEoCRIVCg1yZXNvdXJjZV90eXBlGAUgASgJIm8KE0ludGVyY2VwdGVkUmVzcG9uc2USCwoDdXJsGAEgASgJEhMKC3N0YXR1c19jb2RlGAIgASgFEigKB2hlYWRlcnMYAyADKAsyFy5icm93c2Vyc2NhbGUudjEuSGVhZGVyEgwKBGJvZHkYBCABKAkijgEKEkhlYWRlck1vZGlmaWNhdGlvbhIMCgRuYW1lGAEgASgJEhIKBXZhbHVlGAIgASgJSACIAQESDgoGYWN0aW9uGAMgASgJEhMKBmJlZm9yZRgEIAEoCUgBiAEBEhIKBWFmdGVyGAUgASgJSAKIAQFCCAoGX3ZhbHVlQgkKB19iZWZvcmVCCAoGX2FmdGVyIk0KEkNvb2tpZVBhcnRpdGlvbktleRIWCg50b3BfbGV2ZWxfc2l0ZRgBIAEoCRIfChdoYXNfY3Jvc3Nfc2l0ZV9hbmNlc3RvchgCIAEoCCK/AwoLQ29va2llUGFyYW0SDAoEbmFtZRgBIAEoCRINCgV2YWx1ZRgCIAEoCRIQCgN1cmwYAyABKAlIAIgBARIOCgZkb21haW4YBCABKAkSDAoEcGF0aBgFIAEoCRITCgZzZWN1cmUYBiABKAhIAYgBARIWCglodHRwX29ubHkYByABKAhIAogBARIWCglzYW1lX3NpdGUYCCABKAlIA4gBARIUCgdleHBpcmVzGAkgASgBSASIAQESFQoIcHJpb3JpdHkYCiABKAlIBYgBARIaCg1zb3VyY2Vfc2NoZW1lGAsgASgJSAaIAQESGAoLc291cmNlX3BvcnQYDCABKAVIB4gBARI/Cg1wYXJ0aXRpb25fa2V5GA0gASgLMiMuYnJvd3NlcnNjYWxlLnYxLkNvb2tpZVBhcnRpdGlvbktleUgIiAEBQgYKBF91cmxCCQoHX3NlY3VyZUIMCgpfaHR0cF9vbmx5QgwKCl9zYW1lX3NpdGVCCgoIX2V4cGlyZXNCCwoJX3ByaW9yaXR5QhAKDl9zb3VyY2Vfc2NoZW1lQg4KDF9zb3VyY2VfcG9ydEIQCg5fcGFydGl0aW9uX2tleSKtAQoNV2FpdENvbmRpdGlvbhIVCghzZWxlY3RvchgBIAEoCUgAiAEBEhoKDWpzX2V4cHJlc3Npb24YAiABKAlIAYgBARIUCgd2aXNpYmxlGAMgASgISAKIAQESGAoLc3RlYWR5X3RpbWUYBCABKAFIA4gBAUILCglfc2VsZWN0b3JCEAoOX2pzX2V4cHJlc3Npb25CCgoIX3Zpc2libGVCDgoMX3N0ZWFkeV90aW1lIrsBCgpXYWl0UmVzdWx0Eg0KBWluZGV4GAEgASgFEhAKCGZyYW1lX2lkGAIgASgJEhcKD2JhY2tlbmRfbm9kZV9pZBgDIAEoBRISCgppc192aXNpYmxlGAQgASgIEiUKBmJvdW5kcxgFIAEoCzIVLmJyb3dzZXJzY2FsZS52MS5SZWN0Ei4KBWVycm9yGAYgASgLMhouYnJvd3NlcnNjYWxlLnYxLldhaXRFcnJvckgAiAEBQggKBl9lcnJvciLsAQoTV2FpdENvbmRpdGlvblN0YXR1cxINCgVpbmRleBgBIAEoBRINCgVzdGF0ZRgCIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYAyABKAUSEAoIZnJhbWVfaWQYBCABKAkSEgoKaXNfdmlzaWJsZRgFIAEoCBIqCgZib3VuZHMYBiABKAsyFS5icm93c2Vyc2NhbGUudjEuUmVjdEgAiAEBEjQKCG9jY2x1ZGVyGAcgASgLMh0uYnJvd3NlcnNjYWxlLnYxLk9jY2x1ZGVySW5mb0gBiAEBQgkKB19ib3VuZHNCCwoJX29jY2x1ZGVyImQKCVdhaXRFcnJvchIMCgRjb2RlGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSOAoKY29uZGl0aW9ucxgDIAMoCzIkLmJyb3dzZXJzY2FsZS52MS5XYWl0Q29uZGl0aW9uU3RhdHVzIqYBCg1FbGVtZW50UmVzdWx0Eg8KB3N1Y2Nlc3MYASABKAgSEAoIZnJhbWVfaWQYAiABKAkSFwoPYmFja2VuZF9ub2RlX2lkGAMgASgFEhIKCmlzX3Zpc2libGUYBCABKAgSJQoGYm91bmRzGAUgASgLMhUuYnJvd3NlcnNjYWxlLnYxLlJlY3QSDgoGcm9vdF94GAYgASgBEg4KBnJvb3RfeRgHIAEoASLSAwoMT2NjbHVkZXJJbmZvEhcKD2JhY2tlbmRfbm9kZV9pZBgBIAEoBRIQCghmcmFtZV9pZBgCIAEoCRIQCgh0YWdfbmFtZRgDIAEoCRIPCgJpZBgEIAEoCUgAiAEBEhcKCmNsYXNzX25hbWUYBSABKAlIAYgBARIRCgR0ZXh0GAYgASgJSAKIAQESJQoGYm91bmRzGAcgASgLMhUuYnJvd3NlcnNjYWxlLnYxLlJlY3QSGwoOcG9pbnRlcl9ldmVudHMYCCABKAlIA4gBARIXCgp2aXNpYmlsaXR5GAkgASgJSASIAQESFAoHb3BhY2l0eRgKIAEoAUgFiAEBEhQKB3pfaW5kZXgYCyABKAlIBogBARIlChhoaXR0YWJsZV93aGlsZV9pbnZpc2libGUYDCABKAhIB4gBARIVCghwb3NpdGlvbhgNIAEoCUgIiAEBQgUKA19pZEINCgtfY2xhc3NfbmFtZUIHCgVfdGV4dEIRCg9fcG9pbnRlcl9ldmVudHNCDQoLX3Zpc2liaWxpdHlCCgoIX29wYWNpdHlCCgoIX3pfaW5kZXhCGwoZX2hpdHRhYmxlX3doaWxlX2ludmlzaWJsZUILCglfcG9zaXRpb24ioAEKCkNsaWNrRXJyb3ISDAoEY29kZRgBIAEoCRIPCgdtZXNzYWdlGAIgASgJEjQKCG9jY2x1ZGVyGAMgASgLMh0uYnJvd3NlcnNjYWxlLnYxLk9jY2x1ZGVySW5mb0gAiAEBEhwKD2V2YWRlX2F0dGVtcHRlZBgEIAEoCEgBiAEBQgsKCV9vY2NsdWRlckISChBfZXZhZGVfYXR0ZW1wdGVkIt8BCgtDbGlja1Jlc3VsdBIPCgdzdWNjZXNzGAEgASgIEhAKCGZyYW1lX2lkGAIgASgJEhcKD2JhY2tlbmRfbm9kZV9pZBgDIAEoBRISCgppc192aXNpYmxlGAQgASgIEiUKBmJvdW5kcxgFIAEoCzIVLmJyb3dzZXJzY2FsZS52MS5SZWN0Eg4KBnJvb3RfeBgGIAEoARIOCgZyb290X3kYByABKAESLwoFZXJyb3IYCCABKAsyGy5icm93c2Vyc2NhbGUudjEuQ2xpY2tFcnJvckgAiAEBQggKBl9lcnJvciKeAgoMUmVhY3Rpb25JbmZvEhMKC3JlYWN0aW9uX2lkGAEgASgJEhsKDm1hdGNoX3NlbGVjdG9yGAIgASgJSACIAQESIAoTbWF0Y2hfanNfZXhwcmVzc2lvbhgDIAEoCUgBiAEBEhwKD2FjdGlvbl9zZWxlY3RvchgEIAEoCUgCiAEBEiEKFGFjdGlvbl9qc19leHByZXNzaW9uGAUgASgJSAOIAQESEAoIZnJhbWVfaWQYBiABKAkSDwoHdmlzaWJsZRgHIAEoCEIRCg9fbWF0Y2hfc2VsZWN0b3JCFgoUX21hdGNoX2pzX2V4cHJlc3Npb25CEgoQX2FjdGlvbl9zZWxlY3RvckIXChVfYWN0aW9uX2pzX2V4cHJlc3Npb24i1gMKEkFkZFJlYWN0aW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIbCg5tYXRjaF9zZWxlY3RvchgEIAEoCUgAiAEBEiAKE21hdGNoX2pzX2V4cHJlc3Npb24YBSABKAlIAYgBARIVCghmcmFtZV9pZBgGIAEoCUgCiAEBEhQKB3Zpc2libGUYByABKAhIA4gBARIcCg9hY3Rpb25fc2VsZWN0b3IYCCABKAlIBIgBARIhChRhY3Rpb25fanNfZXhwcmVzc2lvbhgJIAEoCUgFiAEBEhMKBmJ1dHRvbhgKIAEoCUgGiAEBEhgKC2NsaWNrX2NvdW50GAsgASgFSAeIAQESFQoIaW50ZXJ2YWwYDCABKAFICIgBAUIRCg9fbWF0Y2hfc2VsZWN0b3JCFgoUX21hdGNoX2pzX2V4cHJlc3Npb25CCwoJX2ZyYW1lX2lkQgoKCF92aXNpYmxlQhIKEF9hY3Rpb25fc2VsZWN0b3JCFwoVX2FjdGlvbl9qc19leHByZXNzaW9uQgkKB19idXR0b25CDgoMX2NsaWNrX2NvdW50QgsKCV9pbnRlcnZhbCIqChNBZGRSZWFjdGlvblJlc3BvbnNlEhMKC3JlYWN0aW9uX2lkGAEgASgJIlEKFVJlbW92ZVJlYWN0aW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSEwoLcmVhY3Rpb25faWQYAyABKAkiKQoWUmVtb3ZlUmVhY3Rpb25SZXNwb25zZRIPCgdyZW1vdmVkGAEgASgIIkwKFExpc3RSZWFjdGlvbnNSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJIkkKFUxpc3RSZWFjdGlvbnNSZXNwb25zZRIwCglyZWFjdGlvbnMYASADKAsyHS5icm93c2Vyc2NhbGUudjEuUmVhY3Rpb25JbmZvIukBCgpFbGVtZW50UmVmEhcKD2JhY2tlbmRfbm9kZV9pZBgBIAEoBRIQCgh0YWdfbmFtZRgCIAEoCRIPCgJpZBgDIAEoCUgAiAEBEhEKBG5hbWUYBCABKAlIAYgBARIXCgpjbGFzc19uYW1lGAUgASgJSAKIAQESFwoKaW5wdXRfdHlwZRgGIAEoCUgDiAEBEhEKBHRleHQYByABKAlIBIgBARIQCghlZGl0YWJsZRgIIAEoCEIFCgNfaWRCBwoFX25hbWVCDQoLX2NsYXNzX25hbWVCDQoLX2lucHV0X3R5cGVCBwoFX3RleHQi7gIKCUZpbGxFcnJvchIMCgRjb2RlGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSNQoLY2xpY2tfZXJyb3IYAyABKAsyGy5icm93c2Vyc2NhbGUudjEuQ2xpY2tFcnJvckgAiAEBEiQKF2ZvY3VzZWRfYmFja2VuZF9ub2RlX2lkGAQgASgFSAGIAQESOQoPZm9jdXNlZF9lbGVtZW50GAUgASgLMhsuYnJvd3NlcnNjYWxlLnYxLkVsZW1lbnRSZWZIAogBARIcCg90YXJnZXRfZWRpdGFibGUYBiABKAhIA4gBARIgChN0YXJnZXRfdmFsdWVfbGVuZ3RoGAcgASgFSASIAQFCDgoMX2NsaWNrX2Vycm9yQhoKGF9mb2N1c2VkX2JhY2tlbmRfbm9kZV9pZEISChBfZm9jdXNlZF9lbGVtZW50QhIKEF90YXJnZXRfZWRpdGFibGVCFgoUX3RhcmdldF92YWx1ZV9sZW5ndGgiogEKCkZpbGxSZXN1bHQSDwoHc3VjY2VzcxgBIAEoCBIQCghmcmFtZV9pZBgCIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYAyABKAUSDgoGcm9vdF94GAYgASgBEg4KBnJvb3RfeRgHIAEoARIuCgVlcnJvchgIIAEoCzIaLmJyb3dzZXJzY2FsZS52MS5GaWxsRXJyb3JIAIgBAUIICgZfZXJyb3IiwgEKCkRyYWdSZXN1bHQSDwoHc3VjY2VzcxgBIAEoCBIQCghmcmFtZV9pZBgCIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYAyABKAUSDwoHc3RhcnRfeBgEIAEoARIPCgdzdGFydF95GAUgASgBEg0KBWVuZF94GAYgASgBEg0KBWVuZF95GAcgASgBEi4KBWVycm9yGAggASgLMhouYnJvd3NlcnNjYWxlLnYxLkRyYWdFcnJvckgAiAEBQggKBl9lcnJvciJxCglEcmFnRXJyb3ISDAoEY29kZRgBIAEoCRIPCgdtZXNzYWdlGAIgASgJEjUKC2NsaWNrX2Vycm9yGAMgASgLMhsuYnJvd3NlcnNjYWxlLnYxLkNsaWNrRXJyb3JIAIgBAUIOCgxfY2xpY2tfZXJyb3IirgEKElNlbGVjdE9wdGlvblJlc3VsdBIWCg5zZWxlY3RlZF9pbmRleBgBIAEoBRIWCg5zZWxlY3RlZF92YWx1ZRgCIAEoCRIVCg1zZWxlY3RlZF90ZXh0GAMgASgJEg8KB3N1Y2Nlc3MYBCABKAgSNgoFZXJyb3IYBSABKAsyIi5icm93c2Vyc2NhbGUudjEuU2VsZWN0T3B0aW9uRXJyb3JIAIgBAUIICgZfZXJyb3IiMgoRU2VsZWN0T3B0aW9uRXJyb3ISDAoEY29kZRgBIAEoCRIPCgdtZXNzYWdlGAIgASgJIsEBCgxTY3JvbGxSZXN1bHQSDwoHc3VjY2VzcxgBIAEoCBIQCghmcmFtZV9pZBgCIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYAyABKAUSEgoKaXNfdmlzaWJsZRgEIAEoCBIlCgZib3VuZHMYBSABKAsyFS5icm93c2Vyc2NhbGUudjEuUmVjdBIwCgVlcnJvchgIIAEoCzIcLmJyb3dzZXJzY2FsZS52MS5TY3JvbGxFcnJvckgAiAEBQggKBl9lcnJvciIsCgtTY3JvbGxFcnJvchIMCgRjb2RlGAEgASgJEg8KB21lc3NhZ2UYAiABKAki3QEKCk1vdmVSZXN1bHQSDwoHc3VjY2VzcxgBIAEoCBIQCghmcmFtZV9pZBgCIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYAyABKAUSEgoKaXNfdmlzaWJsZRgEIAEoCBIlCgZib3VuZHMYBSABKAsyFS5icm93c2Vyc2NhbGUudjEuUmVjdBIOCgZyb290X3gYBiABKAESDgoGcm9vdF95GAcgASgBEi4KBWVycm9yGAggASgLMhouYnJvd3NlcnNjYWxlLnYxLk1vdmVFcnJvckgAiAEBQggKBl9lcnJvciIqCglNb3ZlRXJyb3ISDAoEY29kZRgBIAEoCRIPCgdtZXNzYWdlGAIgASgJIuYBCg9TZXRQcm94eVJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEhcKCnByb3h5X2hvc3QYAyABKAlIAIgBARIXCgpwcm94eV9wb3J0GAQgASgFSAGIAQESGwoOcHJveHlfdXNlcm5hbWUYBSABKAlIAogBARIbCg5wcm94eV9wYXNzd29yZBgGIAEoCUgDiAEBQg0KC19wcm94eV9ob3N0Qg0KC19wcm94eV9wb3J0QhEKD19wcm94eV91c2VybmFtZUIRCg9fcHJveHlfcGFzc3dvcmQiNgoPR2V0UGFnZXNSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCSI8ChBHZXRQYWdlc1Jlc3BvbnNlEigKBXBhZ2VzGAEgAygLMhkuYnJvd3NlcnNjYWxlLnYxLlBhZ2VJbmZvIpoBCg9OYXZpZ2F0ZVJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSCwoDdXJsGAQgASgJEhUKCHJlZmVycmVyGAUgASgJSACIAQESFAoHdGltZW91dBgGIAEoAUgBiAEBQgsKCV9yZWZlcnJlckIKCghfdGltZW91dCIxChBOYXZpZ2F0ZVJlc3BvbnNlEhAKCGZyYW1lX2lkGAEgASgJEgsKA3VybBgCIAEoCSK2AQoPTG9hZEhUTUxSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEgsKA3VybBgEIAEoCRIMCgRodG1sGAUgASgJEigKB2hlYWRlcnMYBiADKAsyFy5icm93c2Vyc2NhbGUudjEuSGVhZGVyEhgKC3N0YXR1c19jb2RlGAcgASgFSACIAQFCDgoMX3N0YXR1c19jb2RlIn8KD0V2YWx1YXRlUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRISCgpleHByZXNzaW9uGAQgASgJEhUKCGZyYW1lX2lkGAUgASgJSACIAQFCCwoJX2ZyYW1lX2lkInYKEEV2YWx1YXRlUmVzcG9uc2USDgoGcmVzdWx0GAEgASgJEhcKD2JhY2tlbmRfbm9kZV9pZBgCIAEoBRISCgppc192aXNpYmxlGAMgASgIEiUKBmJvdW5kcxgEIAEoCzIVLmJyb3dzZXJzY2FsZS52MS5SZWN0ImMKClJ1blJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg4KBnNvdXJjZRgDIAEoCRIUCgdwYWdlX2lkGAQgASgJSACIAQFCCgoIX3BhZ2VfaWQiLgoLUnVuUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIOCgZyZXN1bHQYAiABKAkiwgEKEFdhaXRGb3JBbnlQYXJhbXMSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSMgoKY29uZGl0aW9ucxgEIAMoCzIeLmJyb3dzZXJzY2FsZS52MS5XYWl0Q29uZGl0aW9uEhUKCGZyYW1lX2lkGAUgASgJSACIAQESFAoHdGltZW91dBgGIAEoAUgBiAEBQgsKCV9mcmFtZV9pZEIKCghfdGltZW91dCL1AgoTU2VsZWN0T3B0aW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIcCg9iYWNrZW5kX25vZGVfaWQYBCABKAVIAIgBARIVCghzZWxlY3RvchgFIAEoCUgBiAEBEhoKDWpzX2V4cHJlc3Npb24YBiABKAlIAogBARIVCghmcmFtZV9pZBgHIAEoCUgDiAEBEhIKBWluZGV4GAggASgFSASIAQESEgoFdmFsdWUYCSABKAlIBYgBARIRCgR0ZXh0GAogASgJSAaIAQESGAoLZmlyZV9ldmVudHMYCyABKAhIB4gBAUISChBfYmFja2VuZF9ub2RlX2lkQgsKCV9zZWxlY3RvckIQCg5fanNfZXhwcmVzc2lvbkILCglfZnJhbWVfaWRCCAoGX2luZGV4QggKBl92YWx1ZUIHCgVfdGV4dEIOCgxfZmlyZV9ldmVudHMi7wEKD1Njcm9sbFRvUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIcCg9iYWNrZW5kX25vZGVfaWQYBCABKAVIAIgBARIVCghzZWxlY3RvchgFIAEoCUgBiAEBEhoKDWpzX2V4cHJlc3Npb24YBiABKAlIAogBARIVCghmcmFtZV9pZBgHIAEoCUgDiAEBQhIKEF9iYWNrZW5kX25vZGVfaWRCCwoJX3NlbGVjdG9yQhAKDl9qc19leHByZXNzaW9uQgsKCV9mcmFtZV9pZCKZAgoNTW92ZVRvUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIcCg9iYWNrZW5kX25vZGVfaWQYBCABKAVIAIgBARIVCghzZWxlY3RvchgFIAEoCUgBiAEBEhoKDWpzX2V4cHJlc3Npb24YBiABKAlIAogBARIVCghmcmFtZV9pZBgHIAEoCUgDiAEBEg4KAXgYCCABKAFIBIgBARIOCgF5GAkgASgBSAWIAQFCEgoQX2JhY2tlbmRfbm9kZV9pZEILCglfc2VsZWN0b3JCEAoOX2pzX2V4cHJlc3Npb25CCwoJX2ZyYW1lX2lkQgQKAl94QgQKAl95IoIDCgxDbGlja1JlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSHAoPYmFja2VuZF9ub2RlX2lkGAQgASgFSACIAQESFQoIc2VsZWN0b3IYBSABKAlIAYgBARIaCg1qc19leHByZXNzaW9uGAYgASgJSAKIAQESFQoIZnJhbWVfaWQYByABKAlIA4gBARITCgZidXR0b24YCCABKAlIBIgBARIYCgtjbGlja19jb3VudBgJIAEoBUgFiAEBEg4KAXgYCiABKAFIBogBARIOCgF5GAsgASgBSAeIAQESEwoGYWN0aW9uGAwgASgJSAiIAQFCEgoQX2JhY2tlbmRfbm9kZV9pZEILCglfc2VsZWN0b3JCEAoOX2pzX2V4cHJlc3Npb25CCwoJX2ZyYW1lX2lkQgkKB19idXR0b25CDgoMX2NsaWNrX2NvdW50QgQKAl94QgQKAl95QgkKB19hY3Rpb24igwMKC0RyYWdSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEhwKD2JhY2tlbmRfbm9kZV9pZBgEIAEoBUgAiAEBEhUKCHNlbGVjdG9yGAUgASgJSAGIAQESGgoNanNfZXhwcmVzc2lvbhgGIAEoCUgCiAEBEhUKCGZyYW1lX2lkGAcgASgJSAOIAQESFQoIb2Zmc2V0X3gYCCABKAFIBIgBARIVCghvZmZzZXRfeRgJIAEoAUgFiAEBEhcKCmFic29sdXRlX3gYCiABKAFIBogBARIXCgphYnNvbHV0ZV95GAsgASgBSAeIAQFCEgoQX2JhY2tlbmRfbm9kZV9pZEILCglfc2VsZWN0b3JCEAoOX2pzX2V4cHJlc3Npb25CCwoJX2ZyYW1lX2lkQgsKCV9vZmZzZXRfeEILCglfb2Zmc2V0X3lCDQoLX2Fic29sdXRlX3hCDQoLX2Fic29sdXRlX3ki7wIKC0ZpbGxSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEhwKD2JhY2tlbmRfbm9kZV9pZBgEIAEoBUgAiAEBEhUKCHNlbGVjdG9yGAUgASgJSAGIAQESGgoNanNfZXhwcmVzc2lvbhgGIAEoCUgCiAEBEhUKCGZyYW1lX2lkGAcgASgJSAOIAQESDAoEdGV4dBgIIAEoCRIYCgtjbGVhcl9maXJzdBgJIAEoCEgEiAEBEhQKB3RpbWVvdXQYCiABKAFIBYgBARIYCgtzdGVhZHlfdGltZRgLIAEoAUgGiAEBQhIKEF9iYWNrZW5kX25vZGVfaWRCCwoJX3NlbGVjdG9yQhAKDl9qc19leHByZXNzaW9uQgsKCV9mcmFtZV9pZEIOCgxfY2xlYXJfZmlyc3RCCgoIX3RpbWVvdXRCDgoMX3N0ZWFkeV90aW1lIkwKE1NldEJsb2NrTGlzdFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEhAKCHBhdHRlcm5zGAMgAygJImEKFVNldFN0YXRpY1BhdGhzUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSEAoIcGF0dGVybnMYAyADKAkSEQoJYmxvYl9uYW1lGAQgASgJIogBChhXYWl0Rm9yQW55UmVxdWVzdFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEhAKCHBhdHRlcm5zGAMgAygJEhMKC2Fib3J0X2ZsYWdzGAQgAygFEhQKB3RpbWVvdXQYBSABKAFIAIgBAUIKCghfdGltZW91dCJgChlXYWl0Rm9yQW55UmVxdWVzdFJlc3BvbnNlEg0KBWluZGV4GAEgASgFEjQKB3JlcXVlc3QYAiABKAsyIy5icm93c2Vyc2NhbGUudjEuSW50ZXJjZXB0ZWRSZXF1ZXN0IokBChlXYWl0Rm9yQW55UmVzcG9uc2VSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIQCghwYXR0ZXJucxgDIAMoCRITCgthYm9ydF9mbGFncxgEIAMoBRIUCgd0aW1lb3V0GAUgASgBSACIAQFCCgoIX3RpbWVvdXQiYwoaV2FpdEZvckFueVJlc3BvbnNlUmVzcG9uc2USDQoFaW5kZXgYASABKAUSNgoIcmVzcG9uc2UYAiABKAsyJC5icm93c2Vyc2NhbGUudjEuSW50ZXJjZXB0ZWRSZXNwb25zZSLKAQoUTW9kaWZ5UmVxdWVzdFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEhMKC3VybF9wYXR0ZXJuGAMgASgJEjoKDW1vZGlmaWNhdGlvbnMYBCADKAsyIy5icm93c2Vyc2NhbGUudjEuSGVhZGVyTW9kaWZpY2F0aW9uEhEKBGJvZHkYBSABKAlIAIgBARIUCgd0aW1lb3V0GAYgASgBSAGIAQFCBwoFX2JvZHlCCgoIX3RpbWVvdXQiTQoVTW9kaWZ5UmVxdWVzdFJlc3BvbnNlEjQKB3JlcXVlc3QYASABKAsyIy5icm93c2Vyc2NhbGUudjEuSW50ZXJjZXB0ZWRSZXF1ZXN0IjgKEUdldENvb2tpZXNSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCSJDChJHZXRDb29raWVzUmVzcG9uc2USLQoHY29va2llcxgBIAMoCzIcLmJyb3dzZXJzY2FsZS52MS5Db29raWVQYXJhbSJnChFTZXRDb29raWVzUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSLQoHY29va2llcxgDIAMoCzIcLmJyb3dzZXJzY2FsZS52MS5Db29raWVQYXJhbSI6ChNDbGVhckNvb2tpZXNSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCSIpCgtTdG9yYWdlSXRlbRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAkiUQoSU3RvcmFnZU9yaWdpbkVudHJ5Eg4KBm9yaWdpbhgBIAEoCRIrCgVpdGVtcxgCIAMoCzIcLmJyb3dzZXJzY2FsZS52MS5TdG9yYWdlSXRlbSJYChFHZXRTdG9yYWdlUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSEwoGb3JpZ2luGAMgASgJSACIAQFCCQoHX29yaWdpbiJKChJHZXRTdG9yYWdlUmVzcG9uc2USNAoHc3RvcmFnZRgBIAMoCzIjLmJyb3dzZXJzY2FsZS52MS5TdG9yYWdlT3JpZ2luRW50cnkimAEKEVNldFN0b3JhZ2VSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRI0CgdzdG9yYWdlGAMgAygLMiMuYnJvd3NlcnNjYWxlLnYxLlN0b3JhZ2VPcmlnaW5FbnRyeRIYCgtjbGVhcl9maXJzdBgEIAEoCEgAiAEBQg4KDF9jbGVhcl9maXJzdCJaChNDbGVhclN0b3JhZ2VSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRITCgZvcmlnaW4YAyABKAlIAIgBAUIJCgdfb3JpZ2luIiwKC0Ric2NTZXNzaW9uEgwKBHNpdGUYASABKAkSDwoHc2Vzc2lvbhgCIAEoCSLYAgoLQXV0aFNlc3Npb24SFAoHZ2FpYV9pZBgBIAEoCUgAiAEBEhIKBWVtYWlsGAIgASgJSAGIAQESGgoNcmVmcmVzaF90b2tlbhgDIAEoCUgCiAEBEiAKE3dyYXBwZWRfYmluZGluZ19rZXkYBCABKAlIA4gBARIkChdzaWduaW5fc2NvcGVkX2RldmljZV9pZBgFIAEoCUgEiAEBEhkKDHN5bmNfY29uc2VudBgGIAEoCEgFiAEBEjMKDWRic2Nfc2Vzc2lvbnMYByADKAsyHC5icm93c2Vyc2NhbGUudjEuRGJzY1Nlc3Npb25CCgoIX2dhaWFfaWRCCAoGX2VtYWlsQhAKDl9yZWZyZXNoX3Rva2VuQhYKFF93cmFwcGVkX2JpbmRpbmdfa2V5QhoKGF9zaWduaW5fc2NvcGVkX2RldmljZV9pZEIPCg1fc3luY19jb25zZW50IjwKFUdldEF1dGhTZXNzaW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkiWAoWR2V0QXV0aFNlc3Npb25SZXNwb25zZRIyCgdzZXNzaW9uGAEgASgLMhwuYnJvd3NlcnNjYWxlLnYxLkF1dGhTZXNzaW9uSACIAQFCCgoIX3Nlc3Npb24iawoVU2V0QXV0aFNlc3Npb25SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRItCgdzZXNzaW9uGAMgASgLMhwuYnJvd3NlcnNjYWxlLnYxLkF1dGhTZXNzaW9uIocBCg1HZXRET01SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEhUKCGZyYW1lX2lkGAQgASgJSACIAQESEgoFZGVwdGgYBSABKAVIAYgBAUILCglfZnJhbWVfaWRCCAoGX2RlcHRoIh0KDkdldERPTVJlc3BvbnNlEgsKA2RvbRgBIAEoCSKZBAoVR2V0T2JzZXJ2YXRpb25SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEiMKFm1heF9lbGVtZW50c19wZXJfZnJhbWUYBCABKAVIAIgBARIcCg9tYXhfdGV4dF9sZW5ndGgYBSABKAVIAYgBARITCgZmb3JtYXQYBiABKAlIAogBARIdChBtYXhfdG90YWxfdG9rZW5zGAcgASgFSAOIAQESGwoOaW5jbHVkZV9ib3VuZHMYCCABKAhIBIgBARIaCg12aWV3cG9ydF9vbmx5GAkgASgISAWIAQESHAoPYmFja2VuZF9ub2RlX2lkGAogASgFSAaIAQESFQoIc2VsZWN0b3IYCyABKAlIB4gBARIaCg1qc19leHByZXNzaW9uGAwgASgJSAiIAQESFQoIZnJhbWVfaWQYDSABKAlICYgBAUIZChdfbWF4X2VsZW1lbnRzX3Blcl9mcmFtZUISChBfbWF4X3RleHRfbGVuZ3RoQgkKB19mb3JtYXRCEwoRX21heF90b3RhbF90b2tlbnNCEQoPX2luY2x1ZGVfYm91bmRzQhAKDl92aWV3cG9ydF9vbmx5QhIKEF9iYWNrZW5kX25vZGVfaWRCCwoJX3NlbGVjdG9yQhAKDl9qc19leHByZXNzaW9uQgsKCV9mcmFtZV9pZCJFChZHZXRPYnNlcnZhdGlvblJlc3BvbnNlEhMKC29ic2VydmF0aW9uGAEgASgJSgQIAhADUhBvYnNlcnZhdGlvbl9qc29uIm0KEUdldERPTUhhc2hSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEhUKCGZyYW1lX2lkGAQgASgJSACIAQFCCwoJX2ZyYW1lX2lkIiIKEkdldERPTUhhc2hSZXNwb25zZRIMCgRoYXNoGAEgASgJImYKGEluc3BlY3RBdFBvc2l0aW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIJCgF4GAQgASgBEgkKAXkYBSABKAEiqQEKGUluc3BlY3RBdFBvc2l0aW9uUmVzcG9uc2USFwoPYmFja2VuZF9ub2RlX2lkGAEgASgFEhAKCGZyYW1lX2lkGAIgASgJEhAKCHRhZ19uYW1lGAMgASgJEhQKDHRleHRfY29udGVudBgEIAEoCRISCgppc192aXNpYmxlGAUgASgIEiUKBmJvdW5kcxgGIAEoCzIVLmJyb3dzZXJzY2FsZS52MS5SZWN0IokBChRIaWdobGlnaHROb2RlUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYBCABKAUSFQoIZnJhbWVfaWQYBSABKAlIAIgBAUILCglfZnJhbWVfaWQiVwoRSW5zZXJ0VGV4dFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSDAoEdGV4dBgEIAEoCSJ7CgtUeXBlUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIMCgR0ZXh0GAQgASgJEhgKC2NsZWFyX2ZpcnN0GAUgASgISACIAQFCDgoMX2NsZWFyX2ZpcnN0IroBCg9QcmVzc0tleVJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSCwoDa2V5GAQgASgJEhEKBGNvZGUYBSABKAlIAIgBARIWCgltb2RpZmllcnMYBiABKAVIAYgBARIVCghsb2NhdGlvbhgHIAEoBUgCiAEBQgcKBV9jb2RlQgwKCl9tb2RpZmllcnNCCwoJX2xvY2F0aW9uIrwBChFSZWxlYXNlS2V5UmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRILCgNrZXkYBCABKAkSEQoEY29kZRgFIAEoCUgAiAEBEhYKCW1vZGlmaWVycxgGIAEoBUgBiAEBEhUKCGxvY2F0aW9uGAcgASgFSAKIAQFCBwoFX2NvZGVCDAoKX21vZGlmaWVyc0ILCglfbG9jYXRpb24iSwoTR2V0U2VsZWN0aW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCSIkChRHZXRTZWxlY3Rpb25SZXNwb25zZRIMCgR0ZXh0GAEgASgJIosBChFTY3JlZW5zaG90UmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRITCgZmb3JtYXQYBCABKAlIAIgBARIUCgdxdWFsaXR5GAUgASgFSAGIAQFCCQoHX2Zvcm1hdEIKCghfcXVhbGl0eSJIChJTY3JlZW5zaG90UmVzcG9uc2USEwoLZGF0YV9iYXNlNjQYASABKAkSDQoFd2lkdGgYAiABKAUSDgoGaGVpZ2h0GAMgASgFIpMDChFSZWFkQ2FudmFzUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIcCg9iYWNrZW5kX25vZGVfaWQYBCABKAVIAIgBARIVCghzZWxlY3RvchgFIAEoCUgBiAEBEhoKDWpzX2V4cHJlc3Npb24YBiABKAlIAogBARIVCghmcmFtZV9pZBgHIAEoCUgDiAEBEhMKBmZvcm1hdBgIIAEoCUgEiAEBEhQKB3F1YWxpdHkYCSABKAVIBYgBARIPCgJzeBgKIAEoBUgGiAEBEg8KAnN5GAsgASgFSAeIAQESDwoCc3cYDCABKAVICIgBARIPCgJzaBgNIAEoBUgJiAEBQhIKEF9iYWNrZW5kX25vZGVfaWRCCwoJX3NlbGVjdG9yQhAKDl9qc19leHByZXNzaW9uQgsKCV9mcmFtZV9pZEIJCgdfZm9ybWF0QgoKCF9xdWFsaXR5QgUKA19zeEIFCgNfc3lCBQoDX3N3QgUKA19zaCKaAQoSUmVhZENhbnZhc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSEAoIZnJhbWVfaWQYAiABKAkSFwoPYmFja2VuZF9ub2RlX2lkGAMgASgFEhMKC2RhdGFfYmFzZTY0GAQgASgJEg0KBXdpZHRoGAUgASgFEg4KBmhlaWdodBgGIAEoBRIUCgxvcmlnaW5fY2xlYW4YByABKAgiZAoTU29sdmVDYXB0Y2hhUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSEgoKdGltZW91dF9tcxgDIAEoBRIUCgxyZXRyeV9hbW91bnQYBCABKAUiJgoUU29sdmVDYXB0Y2hhUmVzcG9uc2USDgoGcmVzdWx0GAEgASgJImUKCUljZVNlcnZlchIMCgR1cmxzGAEgAygJEhUKCHVzZXJuYW1lGAIgASgJSACIAQESFwoKY3JlZGVudGlhbBgDIAEoCUgBiAEBQgsKCV91c2VybmFtZUINCgtfY3JlZGVudGlhbCI9ChZHZXRTdHJlYW1Db25maWdSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCSJKChdHZXRTdHJlYW1Db25maWdSZXNwb25zZRIvCgtpY2Vfc2VydmVycxgBIAMoCzIaLmJyb3dzZXJzY2FsZS52MS5JY2VTZXJ2ZXIiTAoSU3RhcnRTdHJlYW1SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIRCglvZmZlcl9zZHAYAyABKAkiKQoTU3RhcnRTdHJlYW1SZXNwb25zZRISCgphbnN3ZXJfc2RwGAEgASgJIjgKEVN0b3BTdHJlYW1SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCSIUChJTdG9wU3RyZWFtUmVzcG9uc2Uyth0KB0Jyb3dzZXISRAoIU2V0UHJveHkSIC5icm93c2Vyc2NhbGUudjEuU2V0UHJveHlSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ek8KCEdldFBhZ2VzEiAuYnJvd3NlcnNjYWxlLnYxLkdldFBhZ2VzUmVxdWVzdBohLmJyb3dzZXJzY2FsZS52MS5HZXRQYWdlc1Jlc3BvbnNlEk8KCE5hdmlnYXRlEiAuYnJvd3NlcnNjYWxlLnYxLk5hdmlnYXRlUmVxdWVzdBohLmJyb3dzZXJzY2FsZS52MS5OYXZpZ2F0ZVJlc3BvbnNlEkQKCExvYWRIVE1MEiAuYnJvd3NlcnNjYWxlLnYxLkxvYWRIVE1MUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJPCghFdmFsdWF0ZRIgLmJyb3dzZXJzY2FsZS52MS5FdmFsdWF0ZVJlcXVlc3QaIS5icm93c2Vyc2NhbGUudjEuRXZhbHVhdGVSZXNwb25zZRJACgNSdW4SGy5icm93c2Vyc2NhbGUudjEuUnVuUmVxdWVzdBocLmJyb3dzZXJzY2FsZS52MS5SdW5SZXNwb25zZRJMCgpXYWl0Rm9yQW55EiEuYnJvd3NlcnNjYWxlLnYxLldhaXRGb3JBbnlQYXJhbXMaGy5icm93c2Vyc2NhbGUudjEuV2FpdFJlc3VsdBJZCgxTZWxlY3RPcHRpb24SJC5icm93c2Vyc2NhbGUudjEuU2VsZWN0T3B0aW9uUmVxdWVzdBojLmJyb3dzZXJzY2FsZS52MS5TZWxlY3RPcHRpb25SZXN1bHQSSwoIU2Nyb2xsVG8SIC5icm93c2Vyc2NhbGUudjEuU2Nyb2xsVG9SZXF1ZXN0Gh0uYnJvd3NlcnNjYWxlLnYxLlNjcm9sbFJlc3VsdBJFCgZNb3ZlVG8SHi5icm93c2Vyc2NhbGUudjEuTW92ZVRvUmVxdWVzdBobLmJyb3dzZXJzY2FsZS52MS5Nb3ZlUmVzdWx0EkQKBUNsaWNrEh0uYnJvd3NlcnNjYWxlLnYxLkNsaWNrUmVxdWVzdBocLmJyb3dzZXJzY2FsZS52MS5DbGlja1Jlc3VsdBJBCgREcmFnEhwuYnJvd3NlcnNjYWxlLnYxLkRyYWdSZXF1ZXN0GhsuYnJvd3NlcnNjYWxlLnYxLkRyYWdSZXN1bHQSQQoERmlsbBIcLmJyb3dzZXJzY2FsZS52MS5GaWxsUmVxdWVzdBobLmJyb3dzZXJzY2FsZS52MS5GaWxsUmVzdWx0ElgKC0FkZFJlYWN0aW9uEiMuYnJvd3NlcnNjYWxlLnYxLkFkZFJlYWN0aW9uUmVxdWVzdBokLmJyb3dzZXJzY2FsZS52MS5BZGRSZWFjdGlvblJlc3BvbnNlEmEKDlJlbW92ZVJlYWN0aW9uEiYuYnJvd3NlcnNjYWxlLnYxLlJlbW92ZVJlYWN0aW9uUmVxdWVzdBonLmJyb3dzZXJzY2FsZS52MS5SZW1vdmVSZWFjdGlvblJlc3BvbnNlEl4KDUxpc3RSZWFjdGlvbnMSJS5icm93c2Vyc2NhbGUudjEuTGlzdFJlYWN0aW9uc1JlcXVlc3QaJi5icm93c2Vyc2NhbGUudjEuTGlzdFJlYWN0aW9uc1Jlc3BvbnNlEkwKDFNldEJsb2NrTGlzdBIkLmJyb3dzZXJzY2FsZS52MS5TZXRCbG9ja0xpc3RSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5ElAKDlNldFN0YXRpY1BhdGhzEiYuYnJvd3NlcnNjYWxlLnYxLlNldFN0YXRpY1BhdGhzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJqChFXYWl0Rm9yQW55UmVxdWVzdBIpLmJyb3dzZXJzY2FsZS52MS5XYWl0Rm9yQW55UmVxdWVzdFJlcXVlc3QaKi5icm93c2Vyc2NhbGUudjEuV2FpdEZvckFueVJlcXVlc3RSZXNwb25zZRJtChJXYWl0Rm9yQW55UmVzcG9uc2USKi5icm93c2Vyc2NhbGUudjEuV2FpdEZvckFueVJlc3BvbnNlUmVxdWVzdBorLmJyb3dzZXJzY2FsZS52MS5XYWl0Rm9yQW55UmVzcG9uc2VSZXNwb25zZRJeCg1Nb2RpZnlSZXF1ZXN0EiUuYnJvd3NlcnNjYWxlLnYxLk1vZGlmeVJlcXVlc3RSZXF1ZXN0GiYuYnJvd3NlcnNjYWxlLnYxLk1vZGlmeVJlcXVlc3RSZXNwb25zZRJVCgpHZXRDb29raWVzEiIuYnJvd3NlcnNjYWxlLnYxLkdldENvb2tpZXNSZXF1ZXN0GiMuYnJvd3NlcnNjYWxlLnYxLkdldENvb2tpZXNSZXNwb25zZRJICgpTZXRDb29raWVzEiIuYnJvd3NlcnNjYWxlLnYxLlNldENvb2tpZXNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkwKDENsZWFyQ29va2llcxIkLmJyb3dzZXJzY2FsZS52MS5DbGVhckNvb2tpZXNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5ElUKCkdldFN0b3JhZ2USIi5icm93c2Vyc2NhbGUudjEuR2V0U3RvcmFnZVJlcXVlc3QaIy5icm93c2Vyc2NhbGUudjEuR2V0U3RvcmFnZVJlc3BvbnNlEkgKClNldFN0b3JhZ2USIi5icm93c2Vyc2NhbGUudjEuU2V0U3RvcmFnZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSTAoMQ2xlYXJTdG9yYWdlEiQuYnJvd3NlcnNjYWxlLnYxLkNsZWFyU3RvcmFnZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSYQoOR2V0QXV0aFNlc3Npb24SJi5icm93c2Vyc2NhbGUudjEuR2V0QXV0aFNlc3Npb25SZXF1ZXN0GicuYnJvd3NlcnNjYWxlLnYxLkdldEF1dGhTZXNzaW9uUmVzcG9uc2USUAoOU2V0QXV0aFNlc3Npb24SJi5icm93c2Vyc2NhbGUudjEuU2V0QXV0aFNlc3Npb25SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkkKBkdldERPTRIeLmJyb3dzZXJzY2FsZS52MS5HZXRET01SZXF1ZXN0Gh8uYnJvd3NlcnNjYWxlLnYxLkdldERPTVJlc3BvbnNlElUKCkdldERPTUhhc2gSIi5icm93c2Vyc2NhbGUudjEuR2V0RE9NSGFzaFJlcXVlc3QaIy5icm93c2Vyc2NhbGUudjEuR2V0RE9NSGFzaFJlc3BvbnNlEmEKDkdldE9ic2VydmF0aW9uEiYuYnJvd3NlcnNjYWxlLnYxLkdldE9ic2VydmF0aW9uUmVxdWVzdBonLmJyb3dzZXJzY2FsZS52MS5HZXRPYnNlcnZhdGlvblJlc3BvbnNlEmoKEUluc3BlY3RBdFBvc2l0aW9uEikuYnJvd3NlcnNjYWxlLnYxLkluc3BlY3RBdFBvc2l0aW9uUmVxdWVzdBoqLmJyb3dzZXJzY2FsZS52MS5JbnNwZWN0QXRQb3NpdGlvblJlc3BvbnNlEk4KDUhpZ2hsaWdodE5vZGUSJS5icm93c2Vyc2NhbGUudjEuSGlnaGxpZ2h0Tm9kZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSVQoKU2NyZWVuc2hvdBIiLmJyb3dzZXJzY2FsZS52MS5TY3JlZW5zaG90UmVxdWVzdBojLmJyb3dzZXJzY2FsZS52MS5TY3JlZW5zaG90UmVzcG9uc2USVQoKUmVhZENhbnZhcxIiLmJyb3dzZXJzY2FsZS52MS5SZWFkQ2FudmFzUmVxdWVzdBojLmJyb3dzZXJzY2FsZS52MS5SZWFkQ2FudmFzUmVzcG9uc2USSAoKSW5zZXJ0VGV4dBIiLmJyb3dzZXJzY2FsZS52MS5JbnNlcnRUZXh0UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRI8CgRUeXBlEhwuYnJvd3NlcnNjYWxlLnYxLlR5cGVSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkQKCFByZXNzS2V5EiAuYnJvd3NlcnNjYWxlLnYxLlByZXNzS2V5UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJICgpSZWxlYXNlS2V5EiIuYnJvd3NlcnNjYWxlLnYxLlJlbGVhc2VLZXlSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5ElsKDEdldFNlbGVjdGlvbhIkLmJyb3dzZXJzY2FsZS52MS5HZXRTZWxlY3Rpb25SZXF1ZXN0GiUuYnJvd3NlcnNjYWxlLnYxLkdldFNlbGVjdGlvblJlc3BvbnNlElsKDFNvbHZlQ2FwdGNoYRIkLmJyb3dzZXJzY2FsZS52MS5Tb2x2ZUNhcHRjaGFSZXF1ZXN0GiUuYnJvd3NlcnNjYWxlLnYxLlNvbHZlQ2FwdGNoYVJlc3BvbnNlEmQKD0dldFN0cmVhbUNvbmZpZxInLmJyb3dzZXJzY2FsZS52MS5HZXRTdHJlYW1Db25maWdSZXF1ZXN0GiguYnJvd3NlcnNjYWxlLnYxLkdldFN0cmVhbUNvbmZpZ1Jlc3BvbnNlElgKC1N0YXJ0U3RyZWFtEiMuYnJvd3NlcnNjYWxlLnYxLlN0YXJ0U3RyZWFtUmVxdWVzdBokLmJyb3dzZXJzY2FsZS52MS5TdGFydFN0cmVhbVJlc3BvbnNlElUKClN0b3BTdHJlYW0SIi5icm93c2Vyc2NhbGUudjEuU3RvcFN0cmVhbVJlcXVlc3QaIy5icm93c2Vyc2NhbGUudjEuU3RvcFN0cmVhbVJlc3BvbnNlQjNaMWdpdGh1Yi5jb20vYnJvd3NlcnNjYWxlL2Jyb3dzZXJzY2FsZS1nby9nZW5lcmF0ZWRiBnByb3RvMw", [file_google_protobuf_empty]);
|
|
10
10
|
/**
|
|
11
11
|
* Describes the message browserscale.v1.Rect.
|
|
12
12
|
* Use `create(RectSchema)` to create a new message.
|
|
@@ -357,146 +357,171 @@ export const SetStorageRequestSchema = /*@__PURE__*/ messageDesc(file_wrc, 68);
|
|
|
357
357
|
* Use `create(ClearStorageRequestSchema)` to create a new message.
|
|
358
358
|
*/
|
|
359
359
|
export const ClearStorageRequestSchema = /*@__PURE__*/ messageDesc(file_wrc, 69);
|
|
360
|
+
/**
|
|
361
|
+
* Describes the message browserscale.v1.DbscSession.
|
|
362
|
+
* Use `create(DbscSessionSchema)` to create a new message.
|
|
363
|
+
*/
|
|
364
|
+
export const DbscSessionSchema = /*@__PURE__*/ messageDesc(file_wrc, 70);
|
|
365
|
+
/**
|
|
366
|
+
* Describes the message browserscale.v1.AuthSession.
|
|
367
|
+
* Use `create(AuthSessionSchema)` to create a new message.
|
|
368
|
+
*/
|
|
369
|
+
export const AuthSessionSchema = /*@__PURE__*/ messageDesc(file_wrc, 71);
|
|
370
|
+
/**
|
|
371
|
+
* Describes the message browserscale.v1.GetAuthSessionRequest.
|
|
372
|
+
* Use `create(GetAuthSessionRequestSchema)` to create a new message.
|
|
373
|
+
*/
|
|
374
|
+
export const GetAuthSessionRequestSchema = /*@__PURE__*/ messageDesc(file_wrc, 72);
|
|
375
|
+
/**
|
|
376
|
+
* Describes the message browserscale.v1.GetAuthSessionResponse.
|
|
377
|
+
* Use `create(GetAuthSessionResponseSchema)` to create a new message.
|
|
378
|
+
*/
|
|
379
|
+
export const GetAuthSessionResponseSchema = /*@__PURE__*/ messageDesc(file_wrc, 73);
|
|
380
|
+
/**
|
|
381
|
+
* Describes the message browserscale.v1.SetAuthSessionRequest.
|
|
382
|
+
* Use `create(SetAuthSessionRequestSchema)` to create a new message.
|
|
383
|
+
*/
|
|
384
|
+
export const SetAuthSessionRequestSchema = /*@__PURE__*/ messageDesc(file_wrc, 74);
|
|
360
385
|
/**
|
|
361
386
|
* Describes the message browserscale.v1.GetDOMRequest.
|
|
362
387
|
* Use `create(GetDOMRequestSchema)` to create a new message.
|
|
363
388
|
*/
|
|
364
|
-
export const GetDOMRequestSchema = /*@__PURE__*/ messageDesc(file_wrc,
|
|
389
|
+
export const GetDOMRequestSchema = /*@__PURE__*/ messageDesc(file_wrc, 75);
|
|
365
390
|
/**
|
|
366
391
|
* Describes the message browserscale.v1.GetDOMResponse.
|
|
367
392
|
* Use `create(GetDOMResponseSchema)` to create a new message.
|
|
368
393
|
*/
|
|
369
|
-
export const GetDOMResponseSchema = /*@__PURE__*/ messageDesc(file_wrc,
|
|
394
|
+
export const GetDOMResponseSchema = /*@__PURE__*/ messageDesc(file_wrc, 76);
|
|
370
395
|
/**
|
|
371
396
|
* Describes the message browserscale.v1.GetObservationRequest.
|
|
372
397
|
* Use `create(GetObservationRequestSchema)` to create a new message.
|
|
373
398
|
*/
|
|
374
|
-
export const GetObservationRequestSchema = /*@__PURE__*/ messageDesc(file_wrc,
|
|
399
|
+
export const GetObservationRequestSchema = /*@__PURE__*/ messageDesc(file_wrc, 77);
|
|
375
400
|
/**
|
|
376
401
|
* Describes the message browserscale.v1.GetObservationResponse.
|
|
377
402
|
* Use `create(GetObservationResponseSchema)` to create a new message.
|
|
378
403
|
*/
|
|
379
|
-
export const GetObservationResponseSchema = /*@__PURE__*/ messageDesc(file_wrc,
|
|
404
|
+
export const GetObservationResponseSchema = /*@__PURE__*/ messageDesc(file_wrc, 78);
|
|
380
405
|
/**
|
|
381
406
|
* Describes the message browserscale.v1.GetDOMHashRequest.
|
|
382
407
|
* Use `create(GetDOMHashRequestSchema)` to create a new message.
|
|
383
408
|
*/
|
|
384
|
-
export const GetDOMHashRequestSchema = /*@__PURE__*/ messageDesc(file_wrc,
|
|
409
|
+
export const GetDOMHashRequestSchema = /*@__PURE__*/ messageDesc(file_wrc, 79);
|
|
385
410
|
/**
|
|
386
411
|
* Describes the message browserscale.v1.GetDOMHashResponse.
|
|
387
412
|
* Use `create(GetDOMHashResponseSchema)` to create a new message.
|
|
388
413
|
*/
|
|
389
|
-
export const GetDOMHashResponseSchema = /*@__PURE__*/ messageDesc(file_wrc,
|
|
414
|
+
export const GetDOMHashResponseSchema = /*@__PURE__*/ messageDesc(file_wrc, 80);
|
|
390
415
|
/**
|
|
391
416
|
* Describes the message browserscale.v1.InspectAtPositionRequest.
|
|
392
417
|
* Use `create(InspectAtPositionRequestSchema)` to create a new message.
|
|
393
418
|
*/
|
|
394
|
-
export const InspectAtPositionRequestSchema = /*@__PURE__*/ messageDesc(file_wrc,
|
|
419
|
+
export const InspectAtPositionRequestSchema = /*@__PURE__*/ messageDesc(file_wrc, 81);
|
|
395
420
|
/**
|
|
396
421
|
* Describes the message browserscale.v1.InspectAtPositionResponse.
|
|
397
422
|
* Use `create(InspectAtPositionResponseSchema)` to create a new message.
|
|
398
423
|
*/
|
|
399
|
-
export const InspectAtPositionResponseSchema = /*@__PURE__*/ messageDesc(file_wrc,
|
|
424
|
+
export const InspectAtPositionResponseSchema = /*@__PURE__*/ messageDesc(file_wrc, 82);
|
|
400
425
|
/**
|
|
401
426
|
* Describes the message browserscale.v1.HighlightNodeRequest.
|
|
402
427
|
* Use `create(HighlightNodeRequestSchema)` to create a new message.
|
|
403
428
|
*/
|
|
404
|
-
export const HighlightNodeRequestSchema = /*@__PURE__*/ messageDesc(file_wrc,
|
|
429
|
+
export const HighlightNodeRequestSchema = /*@__PURE__*/ messageDesc(file_wrc, 83);
|
|
405
430
|
/**
|
|
406
431
|
* Describes the message browserscale.v1.InsertTextRequest.
|
|
407
432
|
* Use `create(InsertTextRequestSchema)` to create a new message.
|
|
408
433
|
*/
|
|
409
|
-
export const InsertTextRequestSchema = /*@__PURE__*/ messageDesc(file_wrc,
|
|
434
|
+
export const InsertTextRequestSchema = /*@__PURE__*/ messageDesc(file_wrc, 84);
|
|
410
435
|
/**
|
|
411
436
|
* Describes the message browserscale.v1.TypeRequest.
|
|
412
437
|
* Use `create(TypeRequestSchema)` to create a new message.
|
|
413
438
|
*/
|
|
414
|
-
export const TypeRequestSchema = /*@__PURE__*/ messageDesc(file_wrc,
|
|
439
|
+
export const TypeRequestSchema = /*@__PURE__*/ messageDesc(file_wrc, 85);
|
|
415
440
|
/**
|
|
416
441
|
* Describes the message browserscale.v1.PressKeyRequest.
|
|
417
442
|
* Use `create(PressKeyRequestSchema)` to create a new message.
|
|
418
443
|
*/
|
|
419
|
-
export const PressKeyRequestSchema = /*@__PURE__*/ messageDesc(file_wrc,
|
|
444
|
+
export const PressKeyRequestSchema = /*@__PURE__*/ messageDesc(file_wrc, 86);
|
|
420
445
|
/**
|
|
421
446
|
* Describes the message browserscale.v1.ReleaseKeyRequest.
|
|
422
447
|
* Use `create(ReleaseKeyRequestSchema)` to create a new message.
|
|
423
448
|
*/
|
|
424
|
-
export const ReleaseKeyRequestSchema = /*@__PURE__*/ messageDesc(file_wrc,
|
|
449
|
+
export const ReleaseKeyRequestSchema = /*@__PURE__*/ messageDesc(file_wrc, 87);
|
|
425
450
|
/**
|
|
426
451
|
* Describes the message browserscale.v1.GetSelectionRequest.
|
|
427
452
|
* Use `create(GetSelectionRequestSchema)` to create a new message.
|
|
428
453
|
*/
|
|
429
|
-
export const GetSelectionRequestSchema = /*@__PURE__*/ messageDesc(file_wrc,
|
|
454
|
+
export const GetSelectionRequestSchema = /*@__PURE__*/ messageDesc(file_wrc, 88);
|
|
430
455
|
/**
|
|
431
456
|
* Describes the message browserscale.v1.GetSelectionResponse.
|
|
432
457
|
* Use `create(GetSelectionResponseSchema)` to create a new message.
|
|
433
458
|
*/
|
|
434
|
-
export const GetSelectionResponseSchema = /*@__PURE__*/ messageDesc(file_wrc,
|
|
459
|
+
export const GetSelectionResponseSchema = /*@__PURE__*/ messageDesc(file_wrc, 89);
|
|
435
460
|
/**
|
|
436
461
|
* Describes the message browserscale.v1.ScreenshotRequest.
|
|
437
462
|
* Use `create(ScreenshotRequestSchema)` to create a new message.
|
|
438
463
|
*/
|
|
439
|
-
export const ScreenshotRequestSchema = /*@__PURE__*/ messageDesc(file_wrc,
|
|
464
|
+
export const ScreenshotRequestSchema = /*@__PURE__*/ messageDesc(file_wrc, 90);
|
|
440
465
|
/**
|
|
441
466
|
* Describes the message browserscale.v1.ScreenshotResponse.
|
|
442
467
|
* Use `create(ScreenshotResponseSchema)` to create a new message.
|
|
443
468
|
*/
|
|
444
|
-
export const ScreenshotResponseSchema = /*@__PURE__*/ messageDesc(file_wrc,
|
|
469
|
+
export const ScreenshotResponseSchema = /*@__PURE__*/ messageDesc(file_wrc, 91);
|
|
445
470
|
/**
|
|
446
471
|
* Describes the message browserscale.v1.ReadCanvasRequest.
|
|
447
472
|
* Use `create(ReadCanvasRequestSchema)` to create a new message.
|
|
448
473
|
*/
|
|
449
|
-
export const ReadCanvasRequestSchema = /*@__PURE__*/ messageDesc(file_wrc,
|
|
474
|
+
export const ReadCanvasRequestSchema = /*@__PURE__*/ messageDesc(file_wrc, 92);
|
|
450
475
|
/**
|
|
451
476
|
* Describes the message browserscale.v1.ReadCanvasResponse.
|
|
452
477
|
* Use `create(ReadCanvasResponseSchema)` to create a new message.
|
|
453
478
|
*/
|
|
454
|
-
export const ReadCanvasResponseSchema = /*@__PURE__*/ messageDesc(file_wrc,
|
|
479
|
+
export const ReadCanvasResponseSchema = /*@__PURE__*/ messageDesc(file_wrc, 93);
|
|
455
480
|
/**
|
|
456
481
|
* Describes the message browserscale.v1.SolveCaptchaRequest.
|
|
457
482
|
* Use `create(SolveCaptchaRequestSchema)` to create a new message.
|
|
458
483
|
*/
|
|
459
|
-
export const SolveCaptchaRequestSchema = /*@__PURE__*/ messageDesc(file_wrc,
|
|
484
|
+
export const SolveCaptchaRequestSchema = /*@__PURE__*/ messageDesc(file_wrc, 94);
|
|
460
485
|
/**
|
|
461
486
|
* Describes the message browserscale.v1.SolveCaptchaResponse.
|
|
462
487
|
* Use `create(SolveCaptchaResponseSchema)` to create a new message.
|
|
463
488
|
*/
|
|
464
|
-
export const SolveCaptchaResponseSchema = /*@__PURE__*/ messageDesc(file_wrc,
|
|
489
|
+
export const SolveCaptchaResponseSchema = /*@__PURE__*/ messageDesc(file_wrc, 95);
|
|
465
490
|
/**
|
|
466
491
|
* Describes the message browserscale.v1.IceServer.
|
|
467
492
|
* Use `create(IceServerSchema)` to create a new message.
|
|
468
493
|
*/
|
|
469
|
-
export const IceServerSchema = /*@__PURE__*/ messageDesc(file_wrc,
|
|
494
|
+
export const IceServerSchema = /*@__PURE__*/ messageDesc(file_wrc, 96);
|
|
470
495
|
/**
|
|
471
496
|
* Describes the message browserscale.v1.GetStreamConfigRequest.
|
|
472
497
|
* Use `create(GetStreamConfigRequestSchema)` to create a new message.
|
|
473
498
|
*/
|
|
474
|
-
export const GetStreamConfigRequestSchema = /*@__PURE__*/ messageDesc(file_wrc,
|
|
499
|
+
export const GetStreamConfigRequestSchema = /*@__PURE__*/ messageDesc(file_wrc, 97);
|
|
475
500
|
/**
|
|
476
501
|
* Describes the message browserscale.v1.GetStreamConfigResponse.
|
|
477
502
|
* Use `create(GetStreamConfigResponseSchema)` to create a new message.
|
|
478
503
|
*/
|
|
479
|
-
export const GetStreamConfigResponseSchema = /*@__PURE__*/ messageDesc(file_wrc,
|
|
504
|
+
export const GetStreamConfigResponseSchema = /*@__PURE__*/ messageDesc(file_wrc, 98);
|
|
480
505
|
/**
|
|
481
506
|
* Describes the message browserscale.v1.StartStreamRequest.
|
|
482
507
|
* Use `create(StartStreamRequestSchema)` to create a new message.
|
|
483
508
|
*/
|
|
484
|
-
export const StartStreamRequestSchema = /*@__PURE__*/ messageDesc(file_wrc,
|
|
509
|
+
export const StartStreamRequestSchema = /*@__PURE__*/ messageDesc(file_wrc, 99);
|
|
485
510
|
/**
|
|
486
511
|
* Describes the message browserscale.v1.StartStreamResponse.
|
|
487
512
|
* Use `create(StartStreamResponseSchema)` to create a new message.
|
|
488
513
|
*/
|
|
489
|
-
export const StartStreamResponseSchema = /*@__PURE__*/ messageDesc(file_wrc,
|
|
514
|
+
export const StartStreamResponseSchema = /*@__PURE__*/ messageDesc(file_wrc, 100);
|
|
490
515
|
/**
|
|
491
516
|
* Describes the message browserscale.v1.StopStreamRequest.
|
|
492
517
|
* Use `create(StopStreamRequestSchema)` to create a new message.
|
|
493
518
|
*/
|
|
494
|
-
export const StopStreamRequestSchema = /*@__PURE__*/ messageDesc(file_wrc,
|
|
519
|
+
export const StopStreamRequestSchema = /*@__PURE__*/ messageDesc(file_wrc, 101);
|
|
495
520
|
/**
|
|
496
521
|
* Describes the message browserscale.v1.StopStreamResponse.
|
|
497
522
|
* Use `create(StopStreamResponseSchema)` to create a new message.
|
|
498
523
|
*/
|
|
499
|
-
export const StopStreamResponseSchema = /*@__PURE__*/ messageDesc(file_wrc,
|
|
524
|
+
export const StopStreamResponseSchema = /*@__PURE__*/ messageDesc(file_wrc, 102);
|
|
500
525
|
/**
|
|
501
526
|
* @generated from service browserscale.v1.Browser
|
|
502
527
|
*/
|
package/dist/index.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export type { Button, ClickAction, ClickOpts, FillOpts, ReactionOpts, SelectOpts
|
|
|
10
10
|
export { type RequestPattern, type HeaderModification, type HeaderModificationAction, } from "./network.ts";
|
|
11
11
|
export type { CookieParam } from "./cookies.ts";
|
|
12
12
|
export type { StorageItem, StorageOriginEntry } from "./storage.ts";
|
|
13
|
+
export type { AuthSession, DbscSession } from "./auth-session.ts";
|
|
13
14
|
/**
|
|
14
15
|
* Overrides the HTTP rent/stop endpoint.
|
|
15
16
|
*
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { type Rect as ProtoRect, type ClickResult as ProtoClickResult, type FillResult as ProtoFillResult, type MoveResult as ProtoMoveResult, type ScrollResult as ProtoScrollResult, type DragResult as ProtoDragResult, type SelectOptionResult as ProtoSelectOptionResult, type WaitResult as ProtoWaitResult, type FrameInfo as ProtoFrameInfo, type PageInfo as ProtoPageInfo, type Header as ProtoHeader, type InterceptedRequest as ProtoInterceptedRequest, type InterceptedResponse as ProtoInterceptedResponse, type HeaderModification as ProtoHeaderModification, type CookieParam as ProtoCookieParam, type StorageOriginEntry as ProtoStorageOriginEntry } from "../gen/wrc_pb.ts";
|
|
1
|
+
import { type Rect as ProtoRect, type ClickResult as ProtoClickResult, type FillResult as ProtoFillResult, type MoveResult as ProtoMoveResult, type ScrollResult as ProtoScrollResult, type DragResult as ProtoDragResult, type SelectOptionResult as ProtoSelectOptionResult, type WaitResult as ProtoWaitResult, type FrameInfo as ProtoFrameInfo, type PageInfo as ProtoPageInfo, type Header as ProtoHeader, type InterceptedRequest as ProtoInterceptedRequest, type InterceptedResponse as ProtoInterceptedResponse, type HeaderModification as ProtoHeaderModification, type CookieParam as ProtoCookieParam, type StorageOriginEntry as ProtoStorageOriginEntry, type AuthSession as ProtoAuthSession } from "../gen/wrc_pb.ts";
|
|
2
2
|
import type { DragResult, ElementResult, FrameInfo, Header, InterceptedRequest, InterceptedResponse, PageInfo, Rect, SelectOptionResult, WaitResult } from "../types.ts";
|
|
3
3
|
import type { CookieParam } from "../cookies.ts";
|
|
4
4
|
import type { StorageOriginEntry } from "../storage.ts";
|
|
5
|
+
import type { AuthSession } from "../auth-session.ts";
|
|
5
6
|
import type { HeaderModification, RequestPattern } from "../network.ts";
|
|
6
7
|
import { type Locator } from "../locator.ts";
|
|
7
8
|
/**
|
|
@@ -43,6 +44,8 @@ export declare function cookieParamFromProto(c: ProtoCookieParam): CookieParam;
|
|
|
43
44
|
export declare function cookieParamsToProto(cookies: CookieParam[]): ProtoCookieParam[];
|
|
44
45
|
export declare function storageEntryFromProto(e: ProtoStorageOriginEntry): StorageOriginEntry;
|
|
45
46
|
export declare function storageEntriesToProto(storage: StorageOriginEntry[]): ProtoStorageOriginEntry[];
|
|
47
|
+
export declare function authSessionFromProto(s: ProtoAuthSession): AuthSession;
|
|
48
|
+
export declare function authSessionToProto(s: AuthSession): ProtoAuthSession;
|
|
46
49
|
/**
|
|
47
50
|
* splitRequestPatterns turns a RequestPattern[] into the proto's parallel
|
|
48
51
|
* URL + abort-flag slices. When no pattern has abort set, the aborts
|
package/dist/internal/convert.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Internal proto ↔ TS helpers used by client.ts. Anything in here is
|
|
2
2
|
// implementation detail and is NOT exported from the package entrypoints.
|
|
3
3
|
import { create } from "@bufbuild/protobuf";
|
|
4
|
-
import { HeaderModificationSchema, CookiePartitionKeySchema, CookieParamSchema, HeaderSchema, StorageItemSchema, StorageOriginEntrySchema, } from "../gen/wrc_pb.js";
|
|
4
|
+
import { HeaderModificationSchema, CookiePartitionKeySchema, CookieParamSchema, HeaderSchema, StorageItemSchema, StorageOriginEntrySchema, AuthSessionSchema, DbscSessionSchema, } from "../gen/wrc_pb.js";
|
|
5
5
|
import { ClickError, DragError, FillError, MoveError, ScrollError, SelectOptionError, WaitError, } from "../errors.js";
|
|
6
6
|
import { pickFrame } from "../locator.js";
|
|
7
7
|
export function elementFields(target, optsInFrame) {
|
|
@@ -346,6 +346,50 @@ export function storageEntriesToProto(storage) {
|
|
|
346
346
|
});
|
|
347
347
|
}
|
|
348
348
|
// ──────────────────────────────────────────────────────────────────────
|
|
349
|
+
// Auth / DBSC
|
|
350
|
+
// ──────────────────────────────────────────────────────────────────────
|
|
351
|
+
export function authSessionFromProto(s) {
|
|
352
|
+
const out = {};
|
|
353
|
+
if (s.gaiaId !== undefined)
|
|
354
|
+
out.gaiaId = s.gaiaId;
|
|
355
|
+
if (s.email !== undefined)
|
|
356
|
+
out.email = s.email;
|
|
357
|
+
if (s.refreshToken !== undefined)
|
|
358
|
+
out.refreshToken = s.refreshToken;
|
|
359
|
+
if (s.wrappedBindingKey !== undefined)
|
|
360
|
+
out.wrappedBindingKey = s.wrappedBindingKey;
|
|
361
|
+
if (s.signinScopedDeviceId !== undefined)
|
|
362
|
+
out.signinScopedDeviceId = s.signinScopedDeviceId;
|
|
363
|
+
if (s.syncConsent !== undefined)
|
|
364
|
+
out.syncConsent = s.syncConsent;
|
|
365
|
+
if (s.dbscSessions.length > 0) {
|
|
366
|
+
out.dbscSessions = s.dbscSessions.map(d => ({ site: d.site, session: d.session }));
|
|
367
|
+
}
|
|
368
|
+
return out;
|
|
369
|
+
}
|
|
370
|
+
export function authSessionToProto(s) {
|
|
371
|
+
const msg = create(AuthSessionSchema);
|
|
372
|
+
if (s.gaiaId !== undefined)
|
|
373
|
+
msg.gaiaId = s.gaiaId;
|
|
374
|
+
if (s.email !== undefined)
|
|
375
|
+
msg.email = s.email;
|
|
376
|
+
if (s.refreshToken !== undefined)
|
|
377
|
+
msg.refreshToken = s.refreshToken;
|
|
378
|
+
if (s.wrappedBindingKey !== undefined)
|
|
379
|
+
msg.wrappedBindingKey = s.wrappedBindingKey;
|
|
380
|
+
if (s.signinScopedDeviceId !== undefined)
|
|
381
|
+
msg.signinScopedDeviceId = s.signinScopedDeviceId;
|
|
382
|
+
if (s.syncConsent !== undefined)
|
|
383
|
+
msg.syncConsent = s.syncConsent;
|
|
384
|
+
msg.dbscSessions = (s.dbscSessions ?? []).map(d => {
|
|
385
|
+
const item = create(DbscSessionSchema);
|
|
386
|
+
item.site = d.site;
|
|
387
|
+
item.session = d.session;
|
|
388
|
+
return item;
|
|
389
|
+
});
|
|
390
|
+
return msg;
|
|
391
|
+
}
|
|
392
|
+
// ──────────────────────────────────────────────────────────────────────
|
|
349
393
|
// Network — patterns + header modifications
|
|
350
394
|
// ──────────────────────────────────────────────────────────────────────
|
|
351
395
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "browserscale-ts",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "Official SDK for browserscale — undetected stealth browsers in the cloud. Rent real Chromium sessions with unique fingerprints, built-in proxies, captcha solving, human-like input and live video — scale web scraping and automation without running a single browser yourself.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|