@yorkie-js/sdk 0.7.8 → 0.7.10-rc
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/yorkie-js-sdk.d.ts +69 -16
- package/dist/yorkie-js-sdk.es.js +220 -159
- package/dist/yorkie-js-sdk.es.js.map +1 -1
- package/dist/yorkie-js-sdk.js +220 -159
- package/dist/yorkie-js-sdk.js.map +1 -1
- package/package.json +2 -2
package/dist/yorkie-js-sdk.es.js
CHANGED
|
@@ -5788,41 +5788,41 @@ function createGrpcWebTransport(options) {
|
|
|
5788
5788
|
}
|
|
5789
5789
|
};
|
|
5790
5790
|
}
|
|
5791
|
-
const file_src_api_yorkie_v1_resources = /* @__PURE__ */ fileDesc("CiFzcmMvYXBpL3lvcmtpZS92MS9yZXNvdXJjZXMucHJvdG8SCXlvcmtpZS52MSKuAQoIU25hcHNob3QSJAoEcm9vdBgBIAEoCzIWLnlvcmtpZS52MS5KU09ORWxlbWVudBI1CglwcmVzZW5jZXMYAiADKAsyIi55b3JraWUudjEuU25hcHNob3QuUHJlc2VuY2VzRW50cnkaRQoOUHJlc2VuY2VzRW50cnkSCwoDa2V5GAEgASgJEiIKBXZhbHVlGAIgASgLMhMueW9ya2llLnYxLlByZXNlbmNlOgI4ASL7AQoKQ2hhbmdlUGFjaxIUCgxkb2N1bWVudF9rZXkYASABKAkSKQoKY2hlY2twb2ludBgCIAEoCzIVLnlvcmtpZS52MS5DaGVja3BvaW50EhAKCHNuYXBzaG90GAMgASgMEiIKB2NoYW5nZXMYBCADKAsyES55b3JraWUudjEuQ2hhbmdlEjAKEW1pbl9zeW5jZWRfdGlja2V0GAUgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSEgoKaXNfcmVtb3ZlZBgGIAEoCBIwCg52ZXJzaW9uX3ZlY3RvchgHIAEoCzIYLnlvcmtpZS52MS5WZXJzaW9uVmVjdG9yIpgBCgZDaGFuZ2USHwoCaWQYASABKAsyEy55b3JraWUudjEuQ2hhbmdlSUQSDwoHbWVzc2FnZRgCIAEoCRIoCgpvcGVyYXRpb25zGAMgAygLMhQueW9ya2llLnYxLk9wZXJhdGlvbhIyCg9wcmVzZW5jZV9jaGFuZ2UYBCABKAsyGS55b3JraWUudjEuUHJlc2VuY2VDaGFuZ2UihwEKCENoYW5nZUlEEhIKCmNsaWVudF9zZXEYASABKA0SEgoKc2VydmVyX3NlcRgCIAEoAxIPCgdsYW1wb3J0GAMgASgDEhAKCGFjdG9yX2lkGAQgASgMEjAKDnZlcnNpb25fdmVjdG9yGAUgASgLMhgueW9ya2llLnYxLlZlcnNpb25WZWN0b3IidAoNVmVyc2lvblZlY3RvchI0CgZ2ZWN0b3IYASADKAsyJC55b3JraWUudjEuVmVyc2lvblZlY3Rvci5WZWN0b3JFbnRyeRotCgtWZWN0b3JFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAM6AjgBItkaCglPcGVyYXRpb24SJwoDc2V0GAEgASgLMhgueW9ya2llLnYxLk9wZXJhdGlvbi5TZXRIABInCgNhZGQYAiABKAsyGC55b3JraWUudjEuT3BlcmF0aW9uLkFkZEgAEikKBG1vdmUYAyABKAsyGS55b3JraWUudjEuT3BlcmF0aW9uLk1vdmVIABItCgZyZW1vdmUYBCABKAsyGy55b3JraWUudjEuT3BlcmF0aW9uLlJlbW92ZUgAEikKBGVkaXQYBSABKAsyGS55b3JraWUudjEuT3BlcmF0aW9uLkVkaXRIABIrCgVzdHlsZRgHIAEoCzIaLnlvcmtpZS52MS5PcGVyYXRpb24uU3R5bGVIABIxCghpbmNyZWFzZRgIIAEoCzIdLnlvcmtpZS52MS5PcGVyYXRpb24uSW5jcmVhc2VIABIyCgl0cmVlX2VkaXQYCSABKAsyHS55b3JraWUudjEuT3BlcmF0aW9uLlRyZWVFZGl0SAASNAoKdHJlZV9zdHlsZRgKIAEoCzIeLnlvcmtpZS52MS5PcGVyYXRpb24uVHJlZVN0eWxlSAASMgoJYXJyYXlfc2V0GAsgASgLMh0ueW9ya2llLnYxLk9wZXJhdGlvbi5BcnJheVNldEgAGp0BCgNTZXQSMAoRcGFyZW50X2NyZWF0ZWRfYXQYASABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBILCgNrZXkYAiABKAkSKwoFdmFsdWUYAyABKAsyHC55b3JraWUudjEuSlNPTkVsZW1lbnRTaW1wbGUSKgoLZXhlY3V0ZWRfYXQYBCABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBrAAQoDQWRkEjAKEXBhcmVudF9jcmVhdGVkX2F0GAEgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSLgoPcHJldl9jcmVhdGVkX2F0GAIgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSKwoFdmFsdWUYAyABKAsyHC55b3JraWUudjEuSlNPTkVsZW1lbnRTaW1wbGUSKgoLZXhlY3V0ZWRfYXQYBCABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBq/AQoETW92ZRIwChFwYXJlbnRfY3JlYXRlZF9hdBgBIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0Ei4KD3ByZXZfY3JlYXRlZF9hdBgCIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EikKCmNyZWF0ZWRfYXQYAyABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIqCgtleGVjdXRlZF9hdBgEIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0GpEBCgZSZW1vdmUSMAoRcGFyZW50X2NyZWF0ZWRfYXQYASABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIpCgpjcmVhdGVkX2F0GAIgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSKgoLZXhlY3V0ZWRfYXQYAyABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBrZAwoERWRpdBIwChFwYXJlbnRfY3JlYXRlZF9hdBgBIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EiQKBGZyb20YAiABKAsyFi55b3JraWUudjEuVGV4dE5vZGVQb3MSIgoCdG8YAyABKAsyFi55b3JraWUudjEuVGV4dE5vZGVQb3MSUwoXY3JlYXRlZF9hdF9tYXBfYnlfYWN0b3IYBCADKAsyMi55b3JraWUudjEuT3BlcmF0aW9uLkVkaXQuQ3JlYXRlZEF0TWFwQnlBY3RvckVudHJ5Eg8KB2NvbnRlbnQYBSABKAkSKgoLZXhlY3V0ZWRfYXQYBiABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBI9CgphdHRyaWJ1dGVzGAcgAygLMikueW9ya2llLnYxLk9wZXJhdGlvbi5FZGl0LkF0dHJpYnV0ZXNFbnRyeRpRChhDcmVhdGVkQXRNYXBCeUFjdG9yRW50cnkSCwoDa2V5GAEgASgJEiQKBXZhbHVlGAIgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQ6AjgBGjEKD0F0dHJpYnV0ZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGukDCgVTdHlsZRIwChFwYXJlbnRfY3JlYXRlZF9hdBgBIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EiQKBGZyb20YAiABKAsyFi55b3JraWUudjEuVGV4dE5vZGVQb3MSIgoCdG8YAyABKAsyFi55b3JraWUudjEuVGV4dE5vZGVQb3MSPgoKYXR0cmlidXRlcxgEIAMoCzIqLnlvcmtpZS52MS5PcGVyYXRpb24uU3R5bGUuQXR0cmlidXRlc0VudHJ5EioKC2V4ZWN1dGVkX2F0GAUgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSVAoXY3JlYXRlZF9hdF9tYXBfYnlfYWN0b3IYBiADKAsyMy55b3JraWUudjEuT3BlcmF0aW9uLlN0eWxlLkNyZWF0ZWRBdE1hcEJ5QWN0b3JFbnRyeRIcChRhdHRyaWJ1dGVzX3RvX3JlbW92ZRgHIAMoCRoxCg9BdHRyaWJ1dGVzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARpRChhDcmVhdGVkQXRNYXBCeUFjdG9yRW50cnkSCwoDa2V5GAEgASgJEiQKBXZhbHVlGAIgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQ6AjgBGqQBCghJbmNyZWFzZRIwChFwYXJlbnRfY3JlYXRlZF9hdBgBIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EisKBXZhbHVlGAIgASgLMhwueW9ya2llLnYxLkpTT05FbGVtZW50U2ltcGxlEioKC2V4ZWN1dGVkX2F0GAMgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSDQoFYWN0b3IYBCABKAkakwMKCFRyZWVFZGl0EjAKEXBhcmVudF9jcmVhdGVkX2F0GAEgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSIAoEZnJvbRgCIAEoCzISLnlvcmtpZS52MS5UcmVlUG9zEh4KAnRvGAMgASgLMhIueW9ya2llLnYxLlRyZWVQb3MSVwoXY3JlYXRlZF9hdF9tYXBfYnlfYWN0b3IYBCADKAsyNi55b3JraWUudjEuT3BlcmF0aW9uLlRyZWVFZGl0LkNyZWF0ZWRBdE1hcEJ5QWN0b3JFbnRyeRImCghjb250ZW50cxgFIAMoCzIULnlvcmtpZS52MS5UcmVlTm9kZXMSEwoLc3BsaXRfbGV2ZWwYByABKAUSKgoLZXhlY3V0ZWRfYXQYBiABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBpRChhDcmVhdGVkQXRNYXBCeUFjdG9yRW50cnkSCwoDa2V5GAEgASgJEiQKBXZhbHVlGAIgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQ6AjgBGu0DCglUcmVlU3R5bGUSMAoRcGFyZW50X2NyZWF0ZWRfYXQYASABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIgCgRmcm9tGAIgASgLMhIueW9ya2llLnYxLlRyZWVQb3MSHgoCdG8YAyABKAsyEi55b3JraWUudjEuVHJlZVBvcxJCCgphdHRyaWJ1dGVzGAQgAygLMi4ueW9ya2llLnYxLk9wZXJhdGlvbi5UcmVlU3R5bGUuQXR0cmlidXRlc0VudHJ5EioKC2V4ZWN1dGVkX2F0GAUgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSHAoUYXR0cmlidXRlc190b19yZW1vdmUYBiADKAkSWAoXY3JlYXRlZF9hdF9tYXBfYnlfYWN0b3IYByADKAsyNy55b3JraWUudjEuT3BlcmF0aW9uLlRyZWVTdHlsZS5DcmVhdGVkQXRNYXBCeUFjdG9yRW50cnkaMQoPQXR0cmlidXRlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaUQoYQ3JlYXRlZEF0TWFwQnlBY3RvckVudHJ5EgsKA2tleRgBIAEoCRIkCgV2YWx1ZRgCIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0OgI4ARrAAQoIQXJyYXlTZXQSMAoRcGFyZW50X2NyZWF0ZWRfYXQYASABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIpCgpjcmVhdGVkX2F0GAIgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSKwoFdmFsdWUYAyABKAsyHC55b3JraWUudjEuSlNPTkVsZW1lbnRTaW1wbGUSKgoLZXhlY3V0ZWRfYXQYBCABKAsyFS55b3JraWUudjEuVGltZVRpY2tldEIGCgRib2R5IsUBChFKU09ORWxlbWVudFNpbXBsZRIpCgpjcmVhdGVkX2F0GAEgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSJwoIbW92ZWRfYXQYAiABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIpCgpyZW1vdmVkX2F0GAMgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSIgoEdHlwZRgEIAEoDjIULnlvcmtpZS52MS5WYWx1ZVR5cGUSDQoFdmFsdWUYBSABKAwinwsKC0pTT05FbGVtZW50EjgKC2pzb25fb2JqZWN0GAEgASgLMiEueW9ya2llLnYxLkpTT05FbGVtZW50LkpTT05PYmplY3RIABI2Cgpqc29uX2FycmF5GAIgASgLMiAueW9ya2llLnYxLkpTT05FbGVtZW50LkpTT05BcnJheUgAEjUKCXByaW1pdGl2ZRgDIAEoCzIgLnlvcmtpZS52MS5KU09ORWxlbWVudC5QcmltaXRpdmVIABIrCgR0ZXh0GAUgASgLMhsueW9ya2llLnYxLkpTT05FbGVtZW50LlRleHRIABIxCgdjb3VudGVyGAYgASgLMh4ueW9ya2llLnYxLkpTT05FbGVtZW50LkNvdW50ZXJIABIrCgR0cmVlGAcgASgLMhsueW9ya2llLnYxLkpTT05FbGVtZW50LlRyZWVIABquAQoKSlNPTk9iamVjdBIhCgVub2RlcxgBIAMoCzISLnlvcmtpZS52MS5SSFROb2RlEikKCmNyZWF0ZWRfYXQYAiABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBInCghtb3ZlZF9hdBgDIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EikKCnJlbW92ZWRfYXQYBCABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBqtAQoJSlNPTkFycmF5EiEKBW5vZGVzGAEgAygLMhIueW9ya2llLnYxLlJHQU5vZGUSKQoKY3JlYXRlZF9hdBgCIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EicKCG1vdmVkX2F0GAMgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSKQoKcmVtb3ZlZF9hdBgEIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0Gr0BCglQcmltaXRpdmUSIgoEdHlwZRgBIAEoDjIULnlvcmtpZS52MS5WYWx1ZVR5cGUSDQoFdmFsdWUYAiABKAwSKQoKY3JlYXRlZF9hdBgDIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EicKCG1vdmVkX2F0GAQgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSKQoKcmVtb3ZlZF9hdBgFIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0GqkBCgRUZXh0EiIKBW5vZGVzGAEgAygLMhMueW9ya2llLnYxLlRleHROb2RlEikKCmNyZWF0ZWRfYXQYAiABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBInCghtb3ZlZF9hdBgDIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EikKCnJlbW92ZWRfYXQYBCABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBrYAQoHQ291bnRlchIiCgR0eXBlGAEgASgOMhQueW9ya2llLnYxLlZhbHVlVHlwZRINCgV2YWx1ZRgCIAEoDBIpCgpjcmVhdGVkX2F0GAMgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSJwoIbW92ZWRfYXQYBCABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIpCgpyZW1vdmVkX2F0GAUgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSFQoNaGxsX3JlZ2lzdGVycxgHIAEoDEoECAYQBxqpAQoEVHJlZRIiCgVub2RlcxgBIAMoCzITLnlvcmtpZS52MS5UcmVlTm9kZRIpCgpjcmVhdGVkX2F0GAIgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSJwoIbW92ZWRfYXQYAyABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIpCgpyZW1vdmVkX2F0GAQgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXRCBgoEYm9keSI/CgdSSFROb2RlEgsKA2tleRgBIAEoCRInCgdlbGVtZW50GAIgASgLMhYueW9ya2llLnYxLkpTT05FbGVtZW50Iu4BCgdSR0FOb2RlEiAKBG5leHQYASABKAsyEi55b3JraWUudjEuUkdBTm9kZRInCgdlbGVtZW50GAIgASgLMhYueW9ya2llLnYxLkpTT05FbGVtZW50EjIKE3Bvc2l0aW9uX2NyZWF0ZWRfYXQYAyABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIwChFwb3NpdGlvbl9tb3ZlZF9hdBgEIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EjIKE3Bvc2l0aW9uX3JlbW92ZWRfYXQYBSABKAsyFS55b3JraWUudjEuVGltZVRpY2tldCJYCghOb2RlQXR0chINCgV2YWx1ZRgBIAEoCRIpCgp1cGRhdGVkX2F0GAIgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSEgoKaXNfcmVtb3ZlZBgDIAEoCCKUAgoIVGV4dE5vZGUSIQoCaWQYASABKAsyFS55b3JraWUudjEuVGV4dE5vZGVJRBINCgV2YWx1ZRgCIAEoCRIpCgpyZW1vdmVkX2F0GAMgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSKgoLaW5zX3ByZXZfaWQYBCABKAsyFS55b3JraWUudjEuVGV4dE5vZGVJRBI3CgphdHRyaWJ1dGVzGAUgAygLMiMueW9ya2llLnYxLlRleHROb2RlLkF0dHJpYnV0ZXNFbnRyeRpGCg9BdHRyaWJ1dGVzRW50cnkSCwoDa2V5GAEgASgJEiIKBXZhbHVlGAIgASgLMhMueW9ya2llLnYxLk5vZGVBdHRyOgI4ASJHCgpUZXh0Tm9kZUlEEikKCmNyZWF0ZWRfYXQYASABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIOCgZvZmZzZXQYAiABKAUiswMKCFRyZWVOb2RlEiEKAmlkGAEgASgLMhUueW9ya2llLnYxLlRyZWVOb2RlSUQSDAoEdHlwZRgCIAEoCRINCgV2YWx1ZRgDIAEoCRIpCgpyZW1vdmVkX2F0GAQgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSKgoLaW5zX3ByZXZfaWQYBSABKAsyFS55b3JraWUudjEuVHJlZU5vZGVJRBIqCgtpbnNfbmV4dF9pZBgGIAEoCzIVLnlvcmtpZS52MS5UcmVlTm9kZUlEEg0KBWRlcHRoGAcgASgFEjcKCmF0dHJpYnV0ZXMYCCADKAsyIy55b3JraWUudjEuVHJlZU5vZGUuQXR0cmlidXRlc0VudHJ5EioKC21lcmdlZF9mcm9tGAkgASgLMhUueW9ya2llLnYxLlRyZWVOb2RlSUQSKAoJbWVyZ2VkX2F0GAogASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQaRgoPQXR0cmlidXRlc0VudHJ5EgsKA2tleRgBIAEoCRIiCgV2YWx1ZRgCIAEoCzITLnlvcmtpZS52MS5Ob2RlQXR0cjoCOAEiMQoJVHJlZU5vZGVzEiQKB2NvbnRlbnQYASADKAsyEy55b3JraWUudjEuVHJlZU5vZGUiRwoKVHJlZU5vZGVJRBIpCgpjcmVhdGVkX2F0GAEgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSDgoGb2Zmc2V0GAIgASgFImMKB1RyZWVQb3MSKAoJcGFyZW50X2lkGAEgASgLMhUueW9ya2llLnYxLlRyZWVOb2RlSUQSLgoPbGVmdF9zaWJsaW5nX2lkGAIgASgLMhUueW9ya2llLnYxLlRyZWVOb2RlSUQiawoEVXNlchIKCgJpZBgBIAEoCRIVCg1hdXRoX3Byb3ZpZGVyGAIgASgJEhAKCHVzZXJuYW1lGAMgASgJEi4KCmNyZWF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIokBCgZNZW1iZXISCgoCaWQYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCRIPCgd1c2VyX2lkGAMgASgJEhAKCHVzZXJuYW1lGAQgASgJEgwKBHJvbGUYBSABKAkSLgoKaW52aXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAi6QYKB1Byb2plY3QSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRISCgpwdWJsaWNfa2V5GAMgASgJEhIKCnNlY3JldF9rZXkYBCABKAkSGAoQYXV0aF93ZWJob29rX3VybBgFIAEoCRIcChRhdXRoX3dlYmhvb2tfbWV0aG9kcxgGIAMoCRIgChhhdXRoX3dlYmhvb2tfbWF4X3JldHJpZXMYESABKAQSJgoeYXV0aF93ZWJob29rX21pbl93YWl0X2ludGVydmFsGBIgASgJEiYKHmF1dGhfd2ViaG9va19tYXhfd2FpdF9pbnRlcnZhbBgTIAEoCRIkChxhdXRoX3dlYmhvb2tfcmVxdWVzdF90aW1lb3V0GBQgASgJEhkKEWV2ZW50X3dlYmhvb2tfdXJsGAcgASgJEhwKFGV2ZW50X3dlYmhvb2tfZXZlbnRzGAggAygJEiEKGWV2ZW50X3dlYmhvb2tfbWF4X3JldHJpZXMYFSABKAQSJwofZXZlbnRfd2ViaG9va19taW5fd2FpdF9pbnRlcnZhbBgWIAEoCRInCh9ldmVudF93ZWJob29rX21heF93YWl0X2ludGVydmFsGBcgASgJEiUKHWV2ZW50X3dlYmhvb2tfcmVxdWVzdF90aW1lb3V0GBggASgJEiMKG2NsaWVudF9kZWFjdGl2YXRlX3RocmVzaG9sZBgJIAEoCRIaChJzbmFwc2hvdF90aHJlc2hvbGQYGSABKAMSGQoRc25hcHNob3RfaW50ZXJ2YWwYGiABKAMSJAocbWF4X3N1YnNjcmliZXJzX3Blcl9kb2N1bWVudBgKIAEoBRIkChxtYXhfYXR0YWNobWVudHNfcGVyX2RvY3VtZW50GAsgASgFEh0KFW1heF9zaXplX3Blcl9kb2N1bWVudBgPIAEoBRIYChByZW1vdmVfb25fZGV0YWNoGBAgASgIEh0KFWF1dG9fcmV2aXNpb25fZW5hYmxlZBgbIAEoCBIXCg9hbGxvd2VkX29yaWdpbnMYDiADKAkSLgoKY3JlYXRlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiLwoLTWV0cmljUG9pbnQSEQoJdGltZXN0YW1wGAEgASgDEg0KBXZhbHVlGAIgASgFIqMMChZVcGRhdGFibGVQcm9qZWN0RmllbGRzEioKBG5hbWUYASABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWUSNgoQYXV0aF93ZWJob29rX3VybBgCIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZRJSChRhdXRoX3dlYmhvb2tfbWV0aG9kcxgDIAEoCzI0LnlvcmtpZS52MS5VcGRhdGFibGVQcm9qZWN0RmllbGRzLkF1dGhXZWJob29rTWV0aG9kcxI+ChhhdXRoX3dlYmhvb2tfbWF4X3JldHJpZXMYDCABKAsyHC5nb29nbGUucHJvdG9idWYuVUludDY0VmFsdWUSRAoeYXV0aF93ZWJob29rX21pbl93YWl0X2ludGVydmFsGA0gASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlEkQKHmF1dGhfd2ViaG9va19tYXhfd2FpdF9pbnRlcnZhbBgOIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZRJCChxhdXRoX3dlYmhvb2tfcmVxdWVzdF90aW1lb3V0GA8gASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlEjcKEWV2ZW50X3dlYmhvb2tfdXJsGAQgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlElIKFGV2ZW50X3dlYmhvb2tfZXZlbnRzGAUgASgLMjQueW9ya2llLnYxLlVwZGF0YWJsZVByb2plY3RGaWVsZHMuRXZlbnRXZWJob29rRXZlbnRzEj8KGWV2ZW50X3dlYmhvb2tfbWF4X3JldHJpZXMYECABKAsyHC5nb29nbGUucHJvdG9idWYuVUludDY0VmFsdWUSRQofZXZlbnRfd2ViaG9va19taW5fd2FpdF9pbnRlcnZhbBgRIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZRJFCh9ldmVudF93ZWJob29rX21heF93YWl0X2ludGVydmFsGBIgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlEkMKHWV2ZW50X3dlYmhvb2tfcmVxdWVzdF90aW1lb3V0GBMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlEjcKEnNuYXBzaG90X3RocmVzaG9sZBgUIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQ2NFZhbHVlEjYKEXNuYXBzaG90X2ludGVydmFsGBUgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDY0VmFsdWUSQQobY2xpZW50X2RlYWN0aXZhdGVfdGhyZXNob2xkGAYgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlEkEKHG1heF9zdWJzY3JpYmVyc19wZXJfZG9jdW1lbnQYByABKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZRJBChxtYXhfYXR0YWNobWVudHNfcGVyX2RvY3VtZW50GAggASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWUSOgoVbWF4X3NpemVfcGVyX2RvY3VtZW50GAogASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWUSNAoQcmVtb3ZlX29uX2RldGFjaBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWUSOQoVYXV0b19yZXZpc2lvbl9lbmFibGVkGBYgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZRJJCg9hbGxvd2VkX29yaWdpbnMYCSABKAsyMC55b3JraWUudjEuVXBkYXRhYmxlUHJvamVjdEZpZWxkcy5BbGxvd2VkT3JpZ2lucxolChJBdXRoV2ViaG9va01ldGhvZHMSDwoHbWV0aG9kcxgBIAMoCRokChJFdmVudFdlYmhvb2tFdmVudHMSDgoGZXZlbnRzGAEgAygJGiEKDkFsbG93ZWRPcmlnaW5zEg8KB29yaWdpbnMYASADKAkipwMKD0RvY3VtZW50U3VtbWFyeRIKCgJpZBgBIAEoCRILCgNrZXkYAiABKAkSDAoEcm9vdBgDIAEoCRIYChBhdHRhY2hlZF9jbGllbnRzGAcgASgFEikKDWRvY3VtZW50X3NpemUYCCABKAsyEi55b3JraWUudjEuRG9jU2l6ZRISCgpzY2hlbWFfa2V5GAkgASgJEjwKCXByZXNlbmNlcxgKIAMoCzIpLnlvcmtpZS52MS5Eb2N1bWVudFN1bW1hcnkuUHJlc2VuY2VzRW50cnkSLgoKY3JlYXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLwoLYWNjZXNzZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wGkUKDlByZXNlbmNlc0VudHJ5EgsKA2tleRgBIAEoCRIiCgV2YWx1ZRgCIAEoCzITLnlvcmtpZS52MS5QcmVzZW5jZToCOAEi2gEKDlByZXNlbmNlQ2hhbmdlEjIKBHR5cGUYASABKA4yJC55b3JraWUudjEuUHJlc2VuY2VDaGFuZ2UuQ2hhbmdlVHlwZRIlCghwcmVzZW5jZRgCIAEoCzITLnlvcmtpZS52MS5QcmVzZW5jZSJtCgpDaGFuZ2VUeXBlEhsKF0NIQU5HRV9UWVBFX1VOU1BFQ0lGSUVEEAASEwoPQ0hBTkdFX1RZUEVfUFVUEAESFgoSQ0hBTkdFX1RZUEVfREVMRVRFEAISFQoRQ0hBTkdFX1RZUEVfQ0xFQVIQAyJkCghQcmVzZW5jZRIrCgRkYXRhGAEgAygLMh0ueW9ya2llLnYxLlByZXNlbmNlLkRhdGFFbnRyeRorCglEYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASI0Cg5DaGFubmVsU3VtbWFyeRILCgNrZXkYASABKAkSFQoNc2Vzc2lvbl9jb3VudBgCIAEoBSI0CgpDaGVja3BvaW50EhIKCnNlcnZlcl9zZXEYASABKAMSEgoKY2xpZW50X3NlcRgCIAEoDSJhCgtUZXh0Tm9kZVBvcxIpCgpjcmVhdGVkX2F0GAEgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSDgoGb2Zmc2V0GAIgASgFEhcKD3JlbGF0aXZlX29mZnNldBgDIAEoBSJCCgpUaW1lVGlja2V0Eg8KB2xhbXBvcnQYASABKAMSEQoJZGVsaW1pdGVyGAIgASgNEhAKCGFjdG9yX2lkGAMgASgMIi4KDERvY0V2ZW50Qm9keRINCgV0b3BpYxgBIAEoCRIPCgdwYXlsb2FkGAIgASgMImsKCERvY0V2ZW50EiUKBHR5cGUYASABKA4yFy55b3JraWUudjEuRG9jRXZlbnRUeXBlEhEKCXB1Ymxpc2hlchgCIAEoCRIlCgRib2R5GAMgASgLMhcueW9ya2llLnYxLkRvY0V2ZW50Qm9keSLWAQoMQ2hhbm5lbEV2ZW50EioKBHR5cGUYASABKA4yHC55b3JraWUudjEuQ2hhbm5lbEV2ZW50LlR5cGUSEQoJcHVibGlzaGVyGAIgASgJEhUKDXNlc3Npb25fY291bnQYAyABKAMSCwoDc2VxGAQgASgDEg0KBXRvcGljGAUgASgJEg8KB3BheWxvYWQYBiABKAwiQwoEVHlwZRIUChBUWVBFX1VOU1BFQ0lGSUVEEAASEQoNVFlQRV9QUkVTRU5DRRABEhIKDlRZUEVfQlJPQURDQVNUEAIiJgoIRGF0YVNpemUSDAoEZGF0YRgBIAEoBRIMCgRtZXRhGAIgASgFIk0KB0RvY1NpemUSIQoEbGl2ZRgBIAEoCzITLnlvcmtpZS52MS5EYXRhU2l6ZRIfCgJnYxgCIAEoCzITLnlvcmtpZS52MS5EYXRhU2l6ZSKRAQoGU2NoZW1hEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSDwoHdmVyc2lvbhgDIAEoBRIMCgRib2R5GAQgASgJEh4KBXJ1bGVzGAUgAygLMg8ueW9ya2llLnYxLlJ1bGUSLgoKY3JlYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiUAoMVHJlZU5vZGVSdWxlEhEKCW5vZGVfdHlwZRgBIAEoCRIPCgdjb250ZW50GAIgASgJEg0KBW1hcmtzGAMgASgJEg0KBWdyb3VwGAQgASgJIk8KBFJ1bGUSDAoEcGF0aBgBIAEoCRIMCgR0eXBlGAIgASgJEisKCnRyZWVfbm9kZXMYAyADKAsyFy55b3JraWUudjEuVHJlZU5vZGVSdWxlIoMBCg9SZXZpc2lvblN1bW1hcnkSCgoCaWQYASABKAkSDQoFbGFiZWwYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSEAoIc25hcHNob3QYBCABKAkSLgoKY3JlYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAq/AIKCVZhbHVlVHlwZRITCg9WQUxVRV9UWVBFX05VTEwQABIWChJWQUxVRV9UWVBFX0JPT0xFQU4QARIWChJWQUxVRV9UWVBFX0lOVEVHRVIQAhITCg9WQUxVRV9UWVBFX0xPTkcQAxIVChFWQUxVRV9UWVBFX0RPVUJMRRAEEhUKEVZBTFVFX1RZUEVfU1RSSU5HEAUSFAoQVkFMVUVfVFlQRV9CWVRFUxAGEhMKD1ZBTFVFX1RZUEVfREFURRAHEhoKFlZBTFVFX1RZUEVfSlNPTl9PQkpFQ1QQCBIZChVWQUxVRV9UWVBFX0pTT05fQVJSQVkQCRITCg9WQUxVRV9UWVBFX1RFWFQQChIaChZWQUxVRV9UWVBFX0lOVEVHRVJfQ05UEAsSFwoTVkFMVUVfVFlQRV9MT05HX0NOVBAMEhMKD1ZBTFVFX1RZUEVfVFJFRRANEiAKHFZBTFVFX1RZUEVfSU5URUdFUl9ERURVUF9DTlQQDiIECA8QDyqmAQoMRG9jRXZlbnRUeXBlEiMKH0RPQ19FVkVOVF9UWVBFX0RPQ1VNRU5UX0NIQU5HRUQQABIjCh9ET0NfRVZFTlRfVFlQRV9ET0NVTUVOVF9XQVRDSEVEEAESJQohRE9DX0VWRU5UX1RZUEVfRE9DVU1FTlRfVU5XQVRDSEVEEAISJQohRE9DX0VWRU5UX1RZUEVfRE9DVU1FTlRfQlJPQURDQVNUEANCRQoRZGV2LnlvcmtpZS5hcGkudjFQAVouZ2l0aHViLmNvbS95b3JraWUtdGVhbS95b3JraWUvYXBpL3lvcmtpZS92MTt2MWIGcHJvdG8z", [file_google_protobuf_timestamp, file_google_protobuf_wrappers]);
|
|
5792
|
-
const SnapshotSchema = /* @__PURE__ */ messageDesc(
|
|
5793
|
-
const ChangePackSchema = /* @__PURE__ */ messageDesc(
|
|
5794
|
-
const ChangeSchema = /* @__PURE__ */ messageDesc(
|
|
5795
|
-
const ChangeIDSchema = /* @__PURE__ */ messageDesc(
|
|
5796
|
-
const VersionVectorSchema = /* @__PURE__ */ messageDesc(
|
|
5797
|
-
const OperationSchema = /* @__PURE__ */ messageDesc(
|
|
5798
|
-
const Operation_SetSchema = /* @__PURE__ */ messageDesc(
|
|
5799
|
-
const Operation_AddSchema = /* @__PURE__ */ messageDesc(
|
|
5800
|
-
const Operation_MoveSchema = /* @__PURE__ */ messageDesc(
|
|
5801
|
-
const Operation_RemoveSchema = /* @__PURE__ */ messageDesc(
|
|
5802
|
-
const Operation_EditSchema = /* @__PURE__ */ messageDesc(
|
|
5803
|
-
const Operation_StyleSchema = /* @__PURE__ */ messageDesc(
|
|
5804
|
-
const Operation_IncreaseSchema = /* @__PURE__ */ messageDesc(
|
|
5805
|
-
const Operation_TreeEditSchema = /* @__PURE__ */ messageDesc(
|
|
5806
|
-
const Operation_TreeStyleSchema = /* @__PURE__ */ messageDesc(
|
|
5807
|
-
const Operation_ArraySetSchema = /* @__PURE__ */ messageDesc(
|
|
5808
|
-
const JSONElementSimpleSchema = /* @__PURE__ */ messageDesc(
|
|
5809
|
-
const JSONElementSchema = /* @__PURE__ */ messageDesc(
|
|
5810
|
-
const JSONElement_JSONObjectSchema = /* @__PURE__ */ messageDesc(
|
|
5811
|
-
const JSONElement_JSONArraySchema = /* @__PURE__ */ messageDesc(
|
|
5812
|
-
const JSONElement_PrimitiveSchema = /* @__PURE__ */ messageDesc(
|
|
5813
|
-
const JSONElement_TextSchema = /* @__PURE__ */ messageDesc(
|
|
5814
|
-
const JSONElement_CounterSchema = /* @__PURE__ */ messageDesc(
|
|
5815
|
-
const JSONElement_TreeSchema = /* @__PURE__ */ messageDesc(
|
|
5816
|
-
const RHTNodeSchema = /* @__PURE__ */ messageDesc(
|
|
5817
|
-
const RGANodeSchema = /* @__PURE__ */ messageDesc(
|
|
5818
|
-
const NodeAttrSchema = /* @__PURE__ */ messageDesc(
|
|
5819
|
-
const TextNodeSchema = /* @__PURE__ */ messageDesc(
|
|
5820
|
-
const TextNodeIDSchema = /* @__PURE__ */ messageDesc(
|
|
5821
|
-
const TreeNodeSchema = /* @__PURE__ */ messageDesc(
|
|
5822
|
-
const TreeNodesSchema = /* @__PURE__ */ messageDesc(
|
|
5823
|
-
const TreeNodeIDSchema = /* @__PURE__ */ messageDesc(
|
|
5824
|
-
const TreePosSchema = /* @__PURE__ */ messageDesc(
|
|
5825
|
-
const PresenceChangeSchema = /* @__PURE__ */ messageDesc(
|
|
5791
|
+
const file_yorkie_v1_resources = /* @__PURE__ */ fileDesc("Chl5b3JraWUvdjEvcmVzb3VyY2VzLnByb3RvEgl5b3JraWUudjEirgEKCFNuYXBzaG90EiQKBHJvb3QYASABKAsyFi55b3JraWUudjEuSlNPTkVsZW1lbnQSNQoJcHJlc2VuY2VzGAIgAygLMiIueW9ya2llLnYxLlNuYXBzaG90LlByZXNlbmNlc0VudHJ5GkUKDlByZXNlbmNlc0VudHJ5EgsKA2tleRgBIAEoCRIiCgV2YWx1ZRgCIAEoCzITLnlvcmtpZS52MS5QcmVzZW5jZToCOAEi+wEKCkNoYW5nZVBhY2sSFAoMZG9jdW1lbnRfa2V5GAEgASgJEikKCmNoZWNrcG9pbnQYAiABKAsyFS55b3JraWUudjEuQ2hlY2twb2ludBIQCghzbmFwc2hvdBgDIAEoDBIiCgdjaGFuZ2VzGAQgAygLMhEueW9ya2llLnYxLkNoYW5nZRIwChFtaW5fc3luY2VkX3RpY2tldBgFIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EhIKCmlzX3JlbW92ZWQYBiABKAgSMAoOdmVyc2lvbl92ZWN0b3IYByABKAsyGC55b3JraWUudjEuVmVyc2lvblZlY3RvciKYAQoGQ2hhbmdlEh8KAmlkGAEgASgLMhMueW9ya2llLnYxLkNoYW5nZUlEEg8KB21lc3NhZ2UYAiABKAkSKAoKb3BlcmF0aW9ucxgDIAMoCzIULnlvcmtpZS52MS5PcGVyYXRpb24SMgoPcHJlc2VuY2VfY2hhbmdlGAQgASgLMhkueW9ya2llLnYxLlByZXNlbmNlQ2hhbmdlIocBCghDaGFuZ2VJRBISCgpjbGllbnRfc2VxGAEgASgNEhIKCnNlcnZlcl9zZXEYAiABKAMSDwoHbGFtcG9ydBgDIAEoAxIQCghhY3Rvcl9pZBgEIAEoDBIwCg52ZXJzaW9uX3ZlY3RvchgFIAEoCzIYLnlvcmtpZS52MS5WZXJzaW9uVmVjdG9yInQKDVZlcnNpb25WZWN0b3ISNAoGdmVjdG9yGAEgAygLMiQueW9ya2llLnYxLlZlcnNpb25WZWN0b3IuVmVjdG9yRW50cnkaLQoLVmVjdG9yRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgDOgI4ASLZGgoJT3BlcmF0aW9uEicKA3NldBgBIAEoCzIYLnlvcmtpZS52MS5PcGVyYXRpb24uU2V0SAASJwoDYWRkGAIgASgLMhgueW9ya2llLnYxLk9wZXJhdGlvbi5BZGRIABIpCgRtb3ZlGAMgASgLMhkueW9ya2llLnYxLk9wZXJhdGlvbi5Nb3ZlSAASLQoGcmVtb3ZlGAQgASgLMhsueW9ya2llLnYxLk9wZXJhdGlvbi5SZW1vdmVIABIpCgRlZGl0GAUgASgLMhkueW9ya2llLnYxLk9wZXJhdGlvbi5FZGl0SAASKwoFc3R5bGUYByABKAsyGi55b3JraWUudjEuT3BlcmF0aW9uLlN0eWxlSAASMQoIaW5jcmVhc2UYCCABKAsyHS55b3JraWUudjEuT3BlcmF0aW9uLkluY3JlYXNlSAASMgoJdHJlZV9lZGl0GAkgASgLMh0ueW9ya2llLnYxLk9wZXJhdGlvbi5UcmVlRWRpdEgAEjQKCnRyZWVfc3R5bGUYCiABKAsyHi55b3JraWUudjEuT3BlcmF0aW9uLlRyZWVTdHlsZUgAEjIKCWFycmF5X3NldBgLIAEoCzIdLnlvcmtpZS52MS5PcGVyYXRpb24uQXJyYXlTZXRIABqdAQoDU2V0EjAKEXBhcmVudF9jcmVhdGVkX2F0GAEgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSCwoDa2V5GAIgASgJEisKBXZhbHVlGAMgASgLMhwueW9ya2llLnYxLkpTT05FbGVtZW50U2ltcGxlEioKC2V4ZWN1dGVkX2F0GAQgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQawAEKA0FkZBIwChFwYXJlbnRfY3JlYXRlZF9hdBgBIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0Ei4KD3ByZXZfY3JlYXRlZF9hdBgCIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EisKBXZhbHVlGAMgASgLMhwueW9ya2llLnYxLkpTT05FbGVtZW50U2ltcGxlEioKC2V4ZWN1dGVkX2F0GAQgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQavwEKBE1vdmUSMAoRcGFyZW50X2NyZWF0ZWRfYXQYASABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIuCg9wcmV2X2NyZWF0ZWRfYXQYAiABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIpCgpjcmVhdGVkX2F0GAMgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSKgoLZXhlY3V0ZWRfYXQYBCABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBqRAQoGUmVtb3ZlEjAKEXBhcmVudF9jcmVhdGVkX2F0GAEgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSKQoKY3JlYXRlZF9hdBgCIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EioKC2V4ZWN1dGVkX2F0GAMgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQa2QMKBEVkaXQSMAoRcGFyZW50X2NyZWF0ZWRfYXQYASABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIkCgRmcm9tGAIgASgLMhYueW9ya2llLnYxLlRleHROb2RlUG9zEiIKAnRvGAMgASgLMhYueW9ya2llLnYxLlRleHROb2RlUG9zElMKF2NyZWF0ZWRfYXRfbWFwX2J5X2FjdG9yGAQgAygLMjIueW9ya2llLnYxLk9wZXJhdGlvbi5FZGl0LkNyZWF0ZWRBdE1hcEJ5QWN0b3JFbnRyeRIPCgdjb250ZW50GAUgASgJEioKC2V4ZWN1dGVkX2F0GAYgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSPQoKYXR0cmlidXRlcxgHIAMoCzIpLnlvcmtpZS52MS5PcGVyYXRpb24uRWRpdC5BdHRyaWJ1dGVzRW50cnkaUQoYQ3JlYXRlZEF0TWFwQnlBY3RvckVudHJ5EgsKA2tleRgBIAEoCRIkCgV2YWx1ZRgCIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0OgI4ARoxCg9BdHRyaWJ1dGVzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARrpAwoFU3R5bGUSMAoRcGFyZW50X2NyZWF0ZWRfYXQYASABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIkCgRmcm9tGAIgASgLMhYueW9ya2llLnYxLlRleHROb2RlUG9zEiIKAnRvGAMgASgLMhYueW9ya2llLnYxLlRleHROb2RlUG9zEj4KCmF0dHJpYnV0ZXMYBCADKAsyKi55b3JraWUudjEuT3BlcmF0aW9uLlN0eWxlLkF0dHJpYnV0ZXNFbnRyeRIqCgtleGVjdXRlZF9hdBgFIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0ElQKF2NyZWF0ZWRfYXRfbWFwX2J5X2FjdG9yGAYgAygLMjMueW9ya2llLnYxLk9wZXJhdGlvbi5TdHlsZS5DcmVhdGVkQXRNYXBCeUFjdG9yRW50cnkSHAoUYXR0cmlidXRlc190b19yZW1vdmUYByADKAkaMQoPQXR0cmlidXRlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaUQoYQ3JlYXRlZEF0TWFwQnlBY3RvckVudHJ5EgsKA2tleRgBIAEoCRIkCgV2YWx1ZRgCIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0OgI4ARqkAQoISW5jcmVhc2USMAoRcGFyZW50X2NyZWF0ZWRfYXQYASABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIrCgV2YWx1ZRgCIAEoCzIcLnlvcmtpZS52MS5KU09ORWxlbWVudFNpbXBsZRIqCgtleGVjdXRlZF9hdBgDIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0Eg0KBWFjdG9yGAQgASgJGpMDCghUcmVlRWRpdBIwChFwYXJlbnRfY3JlYXRlZF9hdBgBIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EiAKBGZyb20YAiABKAsyEi55b3JraWUudjEuVHJlZVBvcxIeCgJ0bxgDIAEoCzISLnlvcmtpZS52MS5UcmVlUG9zElcKF2NyZWF0ZWRfYXRfbWFwX2J5X2FjdG9yGAQgAygLMjYueW9ya2llLnYxLk9wZXJhdGlvbi5UcmVlRWRpdC5DcmVhdGVkQXRNYXBCeUFjdG9yRW50cnkSJgoIY29udGVudHMYBSADKAsyFC55b3JraWUudjEuVHJlZU5vZGVzEhMKC3NwbGl0X2xldmVsGAcgASgFEioKC2V4ZWN1dGVkX2F0GAYgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQaUQoYQ3JlYXRlZEF0TWFwQnlBY3RvckVudHJ5EgsKA2tleRgBIAEoCRIkCgV2YWx1ZRgCIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0OgI4ARrtAwoJVHJlZVN0eWxlEjAKEXBhcmVudF9jcmVhdGVkX2F0GAEgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSIAoEZnJvbRgCIAEoCzISLnlvcmtpZS52MS5UcmVlUG9zEh4KAnRvGAMgASgLMhIueW9ya2llLnYxLlRyZWVQb3MSQgoKYXR0cmlidXRlcxgEIAMoCzIuLnlvcmtpZS52MS5PcGVyYXRpb24uVHJlZVN0eWxlLkF0dHJpYnV0ZXNFbnRyeRIqCgtleGVjdXRlZF9hdBgFIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EhwKFGF0dHJpYnV0ZXNfdG9fcmVtb3ZlGAYgAygJElgKF2NyZWF0ZWRfYXRfbWFwX2J5X2FjdG9yGAcgAygLMjcueW9ya2llLnYxLk9wZXJhdGlvbi5UcmVlU3R5bGUuQ3JlYXRlZEF0TWFwQnlBY3RvckVudHJ5GjEKD0F0dHJpYnV0ZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGlEKGENyZWF0ZWRBdE1hcEJ5QWN0b3JFbnRyeRILCgNrZXkYASABKAkSJAoFdmFsdWUYAiABKAsyFS55b3JraWUudjEuVGltZVRpY2tldDoCOAEawAEKCEFycmF5U2V0EjAKEXBhcmVudF9jcmVhdGVkX2F0GAEgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSKQoKY3JlYXRlZF9hdBgCIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EisKBXZhbHVlGAMgASgLMhwueW9ya2llLnYxLkpTT05FbGVtZW50U2ltcGxlEioKC2V4ZWN1dGVkX2F0GAQgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXRCBgoEYm9keSLFAQoRSlNPTkVsZW1lbnRTaW1wbGUSKQoKY3JlYXRlZF9hdBgBIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EicKCG1vdmVkX2F0GAIgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSKQoKcmVtb3ZlZF9hdBgDIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EiIKBHR5cGUYBCABKA4yFC55b3JraWUudjEuVmFsdWVUeXBlEg0KBXZhbHVlGAUgASgMIp8LCgtKU09ORWxlbWVudBI4Cgtqc29uX29iamVjdBgBIAEoCzIhLnlvcmtpZS52MS5KU09ORWxlbWVudC5KU09OT2JqZWN0SAASNgoKanNvbl9hcnJheRgCIAEoCzIgLnlvcmtpZS52MS5KU09ORWxlbWVudC5KU09OQXJyYXlIABI1CglwcmltaXRpdmUYAyABKAsyIC55b3JraWUudjEuSlNPTkVsZW1lbnQuUHJpbWl0aXZlSAASKwoEdGV4dBgFIAEoCzIbLnlvcmtpZS52MS5KU09ORWxlbWVudC5UZXh0SAASMQoHY291bnRlchgGIAEoCzIeLnlvcmtpZS52MS5KU09ORWxlbWVudC5Db3VudGVySAASKwoEdHJlZRgHIAEoCzIbLnlvcmtpZS52MS5KU09ORWxlbWVudC5UcmVlSAAargEKCkpTT05PYmplY3QSIQoFbm9kZXMYASADKAsyEi55b3JraWUudjEuUkhUTm9kZRIpCgpjcmVhdGVkX2F0GAIgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSJwoIbW92ZWRfYXQYAyABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIpCgpyZW1vdmVkX2F0GAQgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQarQEKCUpTT05BcnJheRIhCgVub2RlcxgBIAMoCzISLnlvcmtpZS52MS5SR0FOb2RlEikKCmNyZWF0ZWRfYXQYAiABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBInCghtb3ZlZF9hdBgDIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EikKCnJlbW92ZWRfYXQYBCABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBq9AQoJUHJpbWl0aXZlEiIKBHR5cGUYASABKA4yFC55b3JraWUudjEuVmFsdWVUeXBlEg0KBXZhbHVlGAIgASgMEikKCmNyZWF0ZWRfYXQYAyABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBInCghtb3ZlZF9hdBgEIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EikKCnJlbW92ZWRfYXQYBSABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBqpAQoEVGV4dBIiCgVub2RlcxgBIAMoCzITLnlvcmtpZS52MS5UZXh0Tm9kZRIpCgpjcmVhdGVkX2F0GAIgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSJwoIbW92ZWRfYXQYAyABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIpCgpyZW1vdmVkX2F0GAQgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQa2AEKB0NvdW50ZXISIgoEdHlwZRgBIAEoDjIULnlvcmtpZS52MS5WYWx1ZVR5cGUSDQoFdmFsdWUYAiABKAwSKQoKY3JlYXRlZF9hdBgDIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EicKCG1vdmVkX2F0GAQgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSKQoKcmVtb3ZlZF9hdBgFIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EhUKDWhsbF9yZWdpc3RlcnMYByABKAxKBAgGEAcaqQEKBFRyZWUSIgoFbm9kZXMYASADKAsyEy55b3JraWUudjEuVHJlZU5vZGUSKQoKY3JlYXRlZF9hdBgCIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EicKCG1vdmVkX2F0GAMgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSKQoKcmVtb3ZlZF9hdBgEIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0QgYKBGJvZHkiPwoHUkhUTm9kZRILCgNrZXkYASABKAkSJwoHZWxlbWVudBgCIAEoCzIWLnlvcmtpZS52MS5KU09ORWxlbWVudCLuAQoHUkdBTm9kZRIgCgRuZXh0GAEgASgLMhIueW9ya2llLnYxLlJHQU5vZGUSJwoHZWxlbWVudBgCIAEoCzIWLnlvcmtpZS52MS5KU09ORWxlbWVudBIyChNwb3NpdGlvbl9jcmVhdGVkX2F0GAMgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSMAoRcG9zaXRpb25fbW92ZWRfYXQYBCABKAsyFS55b3JraWUudjEuVGltZVRpY2tldBIyChNwb3NpdGlvbl9yZW1vdmVkX2F0GAUgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQiWAoITm9kZUF0dHISDQoFdmFsdWUYASABKAkSKQoKdXBkYXRlZF9hdBgCIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EhIKCmlzX3JlbW92ZWQYAyABKAgilAIKCFRleHROb2RlEiEKAmlkGAEgASgLMhUueW9ya2llLnYxLlRleHROb2RlSUQSDQoFdmFsdWUYAiABKAkSKQoKcmVtb3ZlZF9hdBgDIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EioKC2luc19wcmV2X2lkGAQgASgLMhUueW9ya2llLnYxLlRleHROb2RlSUQSNwoKYXR0cmlidXRlcxgFIAMoCzIjLnlvcmtpZS52MS5UZXh0Tm9kZS5BdHRyaWJ1dGVzRW50cnkaRgoPQXR0cmlidXRlc0VudHJ5EgsKA2tleRgBIAEoCRIiCgV2YWx1ZRgCIAEoCzITLnlvcmtpZS52MS5Ob2RlQXR0cjoCOAEiRwoKVGV4dE5vZGVJRBIpCgpjcmVhdGVkX2F0GAEgASgLMhUueW9ya2llLnYxLlRpbWVUaWNrZXQSDgoGb2Zmc2V0GAIgASgFIrMDCghUcmVlTm9kZRIhCgJpZBgBIAEoCzIVLnlvcmtpZS52MS5UcmVlTm9kZUlEEgwKBHR5cGUYAiABKAkSDQoFdmFsdWUYAyABKAkSKQoKcmVtb3ZlZF9hdBgEIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0EioKC2luc19wcmV2X2lkGAUgASgLMhUueW9ya2llLnYxLlRyZWVOb2RlSUQSKgoLaW5zX25leHRfaWQYBiABKAsyFS55b3JraWUudjEuVHJlZU5vZGVJRBINCgVkZXB0aBgHIAEoBRI3CgphdHRyaWJ1dGVzGAggAygLMiMueW9ya2llLnYxLlRyZWVOb2RlLkF0dHJpYnV0ZXNFbnRyeRIqCgttZXJnZWRfZnJvbRgJIAEoCzIVLnlvcmtpZS52MS5UcmVlTm9kZUlEEigKCW1lcmdlZF9hdBgKIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0GkYKD0F0dHJpYnV0ZXNFbnRyeRILCgNrZXkYASABKAkSIgoFdmFsdWUYAiABKAsyEy55b3JraWUudjEuTm9kZUF0dHI6AjgBIjEKCVRyZWVOb2RlcxIkCgdjb250ZW50GAEgAygLMhMueW9ya2llLnYxLlRyZWVOb2RlIkcKClRyZWVOb2RlSUQSKQoKY3JlYXRlZF9hdBgBIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0Eg4KBm9mZnNldBgCIAEoBSJjCgdUcmVlUG9zEigKCXBhcmVudF9pZBgBIAEoCzIVLnlvcmtpZS52MS5UcmVlTm9kZUlEEi4KD2xlZnRfc2libGluZ19pZBgCIAEoCzIVLnlvcmtpZS52MS5UcmVlTm9kZUlEImsKBFVzZXISCgoCaWQYASABKAkSFQoNYXV0aF9wcm92aWRlchgCIAEoCRIQCgh1c2VybmFtZRgDIAEoCRIuCgpjcmVhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKJAQoGTWVtYmVyEgoKAmlkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSDwoHdXNlcl9pZBgDIAEoCRIQCgh1c2VybmFtZRgEIAEoCRIMCgRyb2xlGAUgASgJEi4KCmludml0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIukGCgdQcm9qZWN0EgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEgoKcHVibGljX2tleRgDIAEoCRISCgpzZWNyZXRfa2V5GAQgASgJEhgKEGF1dGhfd2ViaG9va191cmwYBSABKAkSHAoUYXV0aF93ZWJob29rX21ldGhvZHMYBiADKAkSIAoYYXV0aF93ZWJob29rX21heF9yZXRyaWVzGBEgASgEEiYKHmF1dGhfd2ViaG9va19taW5fd2FpdF9pbnRlcnZhbBgSIAEoCRImCh5hdXRoX3dlYmhvb2tfbWF4X3dhaXRfaW50ZXJ2YWwYEyABKAkSJAocYXV0aF93ZWJob29rX3JlcXVlc3RfdGltZW91dBgUIAEoCRIZChFldmVudF93ZWJob29rX3VybBgHIAEoCRIcChRldmVudF93ZWJob29rX2V2ZW50cxgIIAMoCRIhChlldmVudF93ZWJob29rX21heF9yZXRyaWVzGBUgASgEEicKH2V2ZW50X3dlYmhvb2tfbWluX3dhaXRfaW50ZXJ2YWwYFiABKAkSJwofZXZlbnRfd2ViaG9va19tYXhfd2FpdF9pbnRlcnZhbBgXIAEoCRIlCh1ldmVudF93ZWJob29rX3JlcXVlc3RfdGltZW91dBgYIAEoCRIjChtjbGllbnRfZGVhY3RpdmF0ZV90aHJlc2hvbGQYCSABKAkSGgoSc25hcHNob3RfdGhyZXNob2xkGBkgASgDEhkKEXNuYXBzaG90X2ludGVydmFsGBogASgDEiQKHG1heF9zdWJzY3JpYmVyc19wZXJfZG9jdW1lbnQYCiABKAUSJAocbWF4X2F0dGFjaG1lbnRzX3Blcl9kb2N1bWVudBgLIAEoBRIdChVtYXhfc2l6ZV9wZXJfZG9jdW1lbnQYDyABKAUSGAoQcmVtb3ZlX29uX2RldGFjaBgQIAEoCBIdChVhdXRvX3JldmlzaW9uX2VuYWJsZWQYGyABKAgSFwoPYWxsb3dlZF9vcmlnaW5zGA4gAygJEi4KCmNyZWF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIi8KC01ldHJpY1BvaW50EhEKCXRpbWVzdGFtcBgBIAEoAxINCgV2YWx1ZRgCIAEoBSKjDAoWVXBkYXRhYmxlUHJvamVjdEZpZWxkcxIqCgRuYW1lGAEgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlEjYKEGF1dGhfd2ViaG9va191cmwYAiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWUSUgoUYXV0aF93ZWJob29rX21ldGhvZHMYAyABKAsyNC55b3JraWUudjEuVXBkYXRhYmxlUHJvamVjdEZpZWxkcy5BdXRoV2ViaG9va01ldGhvZHMSPgoYYXV0aF93ZWJob29rX21heF9yZXRyaWVzGAwgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlVJbnQ2NFZhbHVlEkQKHmF1dGhfd2ViaG9va19taW5fd2FpdF9pbnRlcnZhbBgNIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZRJECh5hdXRoX3dlYmhvb2tfbWF4X3dhaXRfaW50ZXJ2YWwYDiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWUSQgocYXV0aF93ZWJob29rX3JlcXVlc3RfdGltZW91dBgPIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZRI3ChFldmVudF93ZWJob29rX3VybBgEIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZRJSChRldmVudF93ZWJob29rX2V2ZW50cxgFIAEoCzI0LnlvcmtpZS52MS5VcGRhdGFibGVQcm9qZWN0RmllbGRzLkV2ZW50V2ViaG9va0V2ZW50cxI/ChlldmVudF93ZWJob29rX21heF9yZXRyaWVzGBAgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlVJbnQ2NFZhbHVlEkUKH2V2ZW50X3dlYmhvb2tfbWluX3dhaXRfaW50ZXJ2YWwYESABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWUSRQofZXZlbnRfd2ViaG9va19tYXhfd2FpdF9pbnRlcnZhbBgSIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZRJDCh1ldmVudF93ZWJob29rX3JlcXVlc3RfdGltZW91dBgTIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZRI3ChJzbmFwc2hvdF90aHJlc2hvbGQYFCABKAsyGy5nb29nbGUucHJvdG9idWYuSW50NjRWYWx1ZRI2ChFzbmFwc2hvdF9pbnRlcnZhbBgVIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQ2NFZhbHVlEkEKG2NsaWVudF9kZWFjdGl2YXRlX3RocmVzaG9sZBgGIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZRJBChxtYXhfc3Vic2NyaWJlcnNfcGVyX2RvY3VtZW50GAcgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWUSQQocbWF4X2F0dGFjaG1lbnRzX3Blcl9kb2N1bWVudBgIIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlEjoKFW1heF9zaXplX3Blcl9kb2N1bWVudBgKIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlEjQKEHJlbW92ZV9vbl9kZXRhY2gYCyABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlEjkKFWF1dG9fcmV2aXNpb25fZW5hYmxlZBgWIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWUSSQoPYWxsb3dlZF9vcmlnaW5zGAkgASgLMjAueW9ya2llLnYxLlVwZGF0YWJsZVByb2plY3RGaWVsZHMuQWxsb3dlZE9yaWdpbnMaJQoSQXV0aFdlYmhvb2tNZXRob2RzEg8KB21ldGhvZHMYASADKAkaJAoSRXZlbnRXZWJob29rRXZlbnRzEg4KBmV2ZW50cxgBIAMoCRohCg5BbGxvd2VkT3JpZ2lucxIPCgdvcmlnaW5zGAEgAygJIqcDCg9Eb2N1bWVudFN1bW1hcnkSCgoCaWQYASABKAkSCwoDa2V5GAIgASgJEgwKBHJvb3QYAyABKAkSGAoQYXR0YWNoZWRfY2xpZW50cxgHIAEoBRIpCg1kb2N1bWVudF9zaXplGAggASgLMhIueW9ya2llLnYxLkRvY1NpemUSEgoKc2NoZW1hX2tleRgJIAEoCRI8CglwcmVzZW5jZXMYCiADKAsyKS55b3JraWUudjEuRG9jdW1lbnRTdW1tYXJ5LlByZXNlbmNlc0VudHJ5Ei4KCmNyZWF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi8KC2FjY2Vzc2VkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBpFCg5QcmVzZW5jZXNFbnRyeRILCgNrZXkYASABKAkSIgoFdmFsdWUYAiABKAsyEy55b3JraWUudjEuUHJlc2VuY2U6AjgBItoBCg5QcmVzZW5jZUNoYW5nZRIyCgR0eXBlGAEgASgOMiQueW9ya2llLnYxLlByZXNlbmNlQ2hhbmdlLkNoYW5nZVR5cGUSJQoIcHJlc2VuY2UYAiABKAsyEy55b3JraWUudjEuUHJlc2VuY2UibQoKQ2hhbmdlVHlwZRIbChdDSEFOR0VfVFlQRV9VTlNQRUNJRklFRBAAEhMKD0NIQU5HRV9UWVBFX1BVVBABEhYKEkNIQU5HRV9UWVBFX0RFTEVURRACEhUKEUNIQU5HRV9UWVBFX0NMRUFSEAMiZAoIUHJlc2VuY2USKwoEZGF0YRgBIAMoCzIdLnlvcmtpZS52MS5QcmVzZW5jZS5EYXRhRW50cnkaKwoJRGF0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiNAoOQ2hhbm5lbFN1bW1hcnkSCwoDa2V5GAEgASgJEhUKDXNlc3Npb25fY291bnQYAiABKAUiNAoKQ2hlY2twb2ludBISCgpzZXJ2ZXJfc2VxGAEgASgDEhIKCmNsaWVudF9zZXEYAiABKA0iYQoLVGV4dE5vZGVQb3MSKQoKY3JlYXRlZF9hdBgBIAEoCzIVLnlvcmtpZS52MS5UaW1lVGlja2V0Eg4KBm9mZnNldBgCIAEoBRIXCg9yZWxhdGl2ZV9vZmZzZXQYAyABKAUiQgoKVGltZVRpY2tldBIPCgdsYW1wb3J0GAEgASgDEhEKCWRlbGltaXRlchgCIAEoDRIQCghhY3Rvcl9pZBgDIAEoDCIuCgxEb2NFdmVudEJvZHkSDQoFdG9waWMYASABKAkSDwoHcGF5bG9hZBgCIAEoDCJrCghEb2NFdmVudBIlCgR0eXBlGAEgASgOMhcueW9ya2llLnYxLkRvY0V2ZW50VHlwZRIRCglwdWJsaXNoZXIYAiABKAkSJQoEYm9keRgDIAEoCzIXLnlvcmtpZS52MS5Eb2NFdmVudEJvZHki1gEKDENoYW5uZWxFdmVudBIqCgR0eXBlGAEgASgOMhwueW9ya2llLnYxLkNoYW5uZWxFdmVudC5UeXBlEhEKCXB1Ymxpc2hlchgCIAEoCRIVCg1zZXNzaW9uX2NvdW50GAMgASgDEgsKA3NlcRgEIAEoAxINCgV0b3BpYxgFIAEoCRIPCgdwYXlsb2FkGAYgASgMIkMKBFR5cGUSFAoQVFlQRV9VTlNQRUNJRklFRBAAEhEKDVRZUEVfUFJFU0VOQ0UQARISCg5UWVBFX0JST0FEQ0FTVBACIiYKCERhdGFTaXplEgwKBGRhdGEYASABKAUSDAoEbWV0YRgCIAEoBSJNCgdEb2NTaXplEiEKBGxpdmUYASABKAsyEy55b3JraWUudjEuRGF0YVNpemUSHwoCZ2MYAiABKAsyEy55b3JraWUudjEuRGF0YVNpemUikQEKBlNjaGVtYRIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEg8KB3ZlcnNpb24YAyABKAUSDAoEYm9keRgEIAEoCRIeCgVydWxlcxgFIAMoCzIPLnlvcmtpZS52MS5SdWxlEi4KCmNyZWF0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIlAKDFRyZWVOb2RlUnVsZRIRCglub2RlX3R5cGUYASABKAkSDwoHY29udGVudBgCIAEoCRINCgVtYXJrcxgDIAEoCRINCgVncm91cBgEIAEoCSJPCgRSdWxlEgwKBHBhdGgYASABKAkSDAoEdHlwZRgCIAEoCRIrCgp0cmVlX25vZGVzGAMgAygLMhcueW9ya2llLnYxLlRyZWVOb2RlUnVsZSKDAQoPUmV2aXNpb25TdW1tYXJ5EgoKAmlkGAEgASgJEg0KBWxhYmVsGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEhAKCHNuYXBzaG90GAQgASgJEi4KCmNyZWF0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wKvwCCglWYWx1ZVR5cGUSEwoPVkFMVUVfVFlQRV9OVUxMEAASFgoSVkFMVUVfVFlQRV9CT09MRUFOEAESFgoSVkFMVUVfVFlQRV9JTlRFR0VSEAISEwoPVkFMVUVfVFlQRV9MT05HEAMSFQoRVkFMVUVfVFlQRV9ET1VCTEUQBBIVChFWQUxVRV9UWVBFX1NUUklORxAFEhQKEFZBTFVFX1RZUEVfQllURVMQBhITCg9WQUxVRV9UWVBFX0RBVEUQBxIaChZWQUxVRV9UWVBFX0pTT05fT0JKRUNUEAgSGQoVVkFMVUVfVFlQRV9KU09OX0FSUkFZEAkSEwoPVkFMVUVfVFlQRV9URVhUEAoSGgoWVkFMVUVfVFlQRV9JTlRFR0VSX0NOVBALEhcKE1ZBTFVFX1RZUEVfTE9OR19DTlQQDBITCg9WQUxVRV9UWVBFX1RSRUUQDRIgChxWQUxVRV9UWVBFX0lOVEVHRVJfREVEVVBfQ05UEA4iBAgPEA8qpgEKDERvY0V2ZW50VHlwZRIjCh9ET0NfRVZFTlRfVFlQRV9ET0NVTUVOVF9DSEFOR0VEEAASIwofRE9DX0VWRU5UX1RZUEVfRE9DVU1FTlRfV0FUQ0hFRBABEiUKIURPQ19FVkVOVF9UWVBFX0RPQ1VNRU5UX1VOV0FUQ0hFRBACEiUKIURPQ19FVkVOVF9UWVBFX0RPQ1VNRU5UX0JST0FEQ0FTVBADQkUKEWRldi55b3JraWUuYXBpLnYxUAFaLmdpdGh1Yi5jb20veW9ya2llLXRlYW0veW9ya2llL2FwaS95b3JraWUvdjE7djFiBnByb3RvMw", [file_google_protobuf_timestamp, file_google_protobuf_wrappers]);
|
|
5792
|
+
const SnapshotSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 0);
|
|
5793
|
+
const ChangePackSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 1);
|
|
5794
|
+
const ChangeSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 2);
|
|
5795
|
+
const ChangeIDSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 3);
|
|
5796
|
+
const VersionVectorSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 4);
|
|
5797
|
+
const OperationSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 5);
|
|
5798
|
+
const Operation_SetSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 5, 0);
|
|
5799
|
+
const Operation_AddSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 5, 1);
|
|
5800
|
+
const Operation_MoveSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 5, 2);
|
|
5801
|
+
const Operation_RemoveSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 5, 3);
|
|
5802
|
+
const Operation_EditSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 5, 4);
|
|
5803
|
+
const Operation_StyleSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 5, 5);
|
|
5804
|
+
const Operation_IncreaseSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 5, 6);
|
|
5805
|
+
const Operation_TreeEditSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 5, 7);
|
|
5806
|
+
const Operation_TreeStyleSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 5, 8);
|
|
5807
|
+
const Operation_ArraySetSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 5, 9);
|
|
5808
|
+
const JSONElementSimpleSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 6);
|
|
5809
|
+
const JSONElementSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 7);
|
|
5810
|
+
const JSONElement_JSONObjectSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 7, 0);
|
|
5811
|
+
const JSONElement_JSONArraySchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 7, 1);
|
|
5812
|
+
const JSONElement_PrimitiveSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 7, 2);
|
|
5813
|
+
const JSONElement_TextSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 7, 3);
|
|
5814
|
+
const JSONElement_CounterSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 7, 4);
|
|
5815
|
+
const JSONElement_TreeSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 7, 5);
|
|
5816
|
+
const RHTNodeSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 8);
|
|
5817
|
+
const RGANodeSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 9);
|
|
5818
|
+
const NodeAttrSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 10);
|
|
5819
|
+
const TextNodeSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 11);
|
|
5820
|
+
const TextNodeIDSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 12);
|
|
5821
|
+
const TreeNodeSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 13);
|
|
5822
|
+
const TreeNodesSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 14);
|
|
5823
|
+
const TreeNodeIDSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 15);
|
|
5824
|
+
const TreePosSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 16);
|
|
5825
|
+
const PresenceChangeSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 23);
|
|
5826
5826
|
var PresenceChange_ChangeType = /* @__PURE__ */ ((PresenceChange_ChangeType2) => {
|
|
5827
5827
|
PresenceChange_ChangeType2[PresenceChange_ChangeType2["UNSPECIFIED"] = 0] = "UNSPECIFIED";
|
|
5828
5828
|
PresenceChange_ChangeType2[PresenceChange_ChangeType2["PUT"] = 1] = "PUT";
|
|
@@ -5830,10 +5830,10 @@ var PresenceChange_ChangeType = /* @__PURE__ */ ((PresenceChange_ChangeType2) =>
|
|
|
5830
5830
|
PresenceChange_ChangeType2[PresenceChange_ChangeType2["CLEAR"] = 3] = "CLEAR";
|
|
5831
5831
|
return PresenceChange_ChangeType2;
|
|
5832
5832
|
})(PresenceChange_ChangeType || {});
|
|
5833
|
-
const PresenceSchema = /* @__PURE__ */ messageDesc(
|
|
5834
|
-
const CheckpointSchema = /* @__PURE__ */ messageDesc(
|
|
5835
|
-
const TextNodePosSchema = /* @__PURE__ */ messageDesc(
|
|
5836
|
-
const TimeTicketSchema = /* @__PURE__ */ messageDesc(
|
|
5833
|
+
const PresenceSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 24);
|
|
5834
|
+
const CheckpointSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 26);
|
|
5835
|
+
const TextNodePosSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 27);
|
|
5836
|
+
const TimeTicketSchema = /* @__PURE__ */ messageDesc(file_yorkie_v1_resources, 28);
|
|
5837
5837
|
var ChannelEvent_Type = /* @__PURE__ */ ((ChannelEvent_Type2) => {
|
|
5838
5838
|
ChannelEvent_Type2[ChannelEvent_Type2["UNSPECIFIED"] = 0] = "UNSPECIFIED";
|
|
5839
5839
|
ChannelEvent_Type2[ChannelEvent_Type2["PRESENCE"] = 1] = "PRESENCE";
|
|
@@ -5865,8 +5865,8 @@ var DocEventType$1 = /* @__PURE__ */ ((DocEventType2) => {
|
|
|
5865
5865
|
DocEventType2[DocEventType2["DOCUMENT_BROADCAST"] = 3] = "DOCUMENT_BROADCAST";
|
|
5866
5866
|
return DocEventType2;
|
|
5867
5867
|
})(DocEventType$1 || {});
|
|
5868
|
-
const
|
|
5869
|
-
const YorkieService = /* @__PURE__ */ serviceDesc(
|
|
5868
|
+
const file_yorkie_v1_yorkie = /* @__PURE__ */ fileDesc("ChZ5b3JraWUvdjEveW9ya2llLnByb3RvEgl5b3JraWUudjEingEKFUFjdGl2YXRlQ2xpZW50UmVxdWVzdBISCgpjbGllbnRfa2V5GAEgASgJEkAKCG1ldGFkYXRhGAIgAygLMi4ueW9ya2llLnYxLkFjdGl2YXRlQ2xpZW50UmVxdWVzdC5NZXRhZGF0YUVudHJ5Gi8KDU1ldGFkYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASIrChZBY3RpdmF0ZUNsaWVudFJlc3BvbnNlEhEKCWNsaWVudF9pZBgBIAEoCSJBChdEZWFjdGl2YXRlQ2xpZW50UmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSEwoLc3luY2hyb25vdXMYAiABKAgiGgoYRGVhY3RpdmF0ZUNsaWVudFJlc3BvbnNlImoKFUF0dGFjaERvY3VtZW50UmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSKgoLY2hhbmdlX3BhY2sYAiABKAsyFS55b3JraWUudjEuQ2hhbmdlUGFjaxISCgpzY2hlbWFfa2V5GAMgASgJIp8BChZBdHRhY2hEb2N1bWVudFJlc3BvbnNlEhMKC2RvY3VtZW50X2lkGAEgASgJEioKC2NoYW5nZV9wYWNrGAIgASgLMhUueW9ya2llLnYxLkNoYW5nZVBhY2sSHQoVbWF4X3NpemVfcGVyX2RvY3VtZW50GAMgASgFEiUKDHNjaGVtYV9ydWxlcxgEIAMoCzIPLnlvcmtpZS52MS5SdWxlIosBChVEZXRhY2hEb2N1bWVudFJlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhMKC2RvY3VtZW50X2lkGAIgASgJEioKC2NoYW5nZV9wYWNrGAMgASgLMhUueW9ya2llLnYxLkNoYW5nZVBhY2sSHgoWcmVtb3ZlX2lmX25vdF9hdHRhY2hlZBgEIAEoCCJEChZEZXRhY2hEb2N1bWVudFJlc3BvbnNlEioKC2NoYW5nZV9wYWNrGAIgASgLMhUueW9ya2llLnYxLkNoYW5nZVBhY2siUwoMV2F0Y2hSZXF1ZXN0EhEKCWNsaWVudF9pZBgBIAEoCRIwCglyZXNvdXJjZXMYAiADKAsyHS55b3JraWUudjEuUmVzb3VyY2VEZXNjcmlwdG9yIoQBChJSZXNvdXJjZURlc2NyaXB0b3ISMQoIZG9jdW1lbnQYASABKAsyHS55b3JraWUudjEuRG9jdW1lbnREZXNjcmlwdG9ySAASLwoHY2hhbm5lbBgCIAEoCzIcLnlvcmtpZS52MS5DaGFubmVsRGVzY3JpcHRvckgAQgoKCHJlc291cmNlIikKEkRvY3VtZW50RGVzY3JpcHRvchITCgtkb2N1bWVudF9pZBgBIAEoCSIoChFDaGFubmVsRGVzY3JpcHRvchITCgtjaGFubmVsX2tleRgBIAEoCSJ5Cg1XYXRjaFJlc3BvbnNlEjgKDmluaXRpYWxpemF0aW9uGAEgASgLMh4ueW9ya2llLnYxLldhdGNoSW5pdGlhbGl6YXRpb25IABImCgVldmVudBgCIAEoCzIVLnlvcmtpZS52MS5XYXRjaEV2ZW50SABCBgoEYm9keSJGChNXYXRjaEluaXRpYWxpemF0aW9uEi8KDnJlc291cmNlX2luaXRzGAEgAygLMhcueW9ya2llLnYxLlJlc291cmNlSW5pdCJ4CgxSZXNvdXJjZUluaXQSMAoNZG9jdW1lbnRfaW5pdBgBIAEoCzIXLnlvcmtpZS52MS5Eb2N1bWVudEluaXRIABIuCgxjaGFubmVsX2luaXQYAiABKAsyFi55b3JraWUudjEuQ2hhbm5lbEluaXRIAEIGCgRpbml0IjcKDERvY3VtZW50SW5pdBITCgtkb2N1bWVudF9pZBgBIAEoCRISCgpjbGllbnRfaWRzGAIgAygJIkYKC0NoYW5uZWxJbml0EhMKC2NoYW5uZWxfa2V5GAEgASgJEhUKDXNlc3Npb25fY291bnQYAiABKAMSCwoDc2VxGAMgASgDInsKCldhdGNoRXZlbnQSLQoJZG9jX2V2ZW50GAEgASgLMhgueW9ya2llLnYxLkRvY1dhdGNoRXZlbnRIABI1Cg1jaGFubmVsX2V2ZW50GAIgASgLMhwueW9ya2llLnYxLkNoYW5uZWxXYXRjaEV2ZW50SABCBwoFZXZlbnQiSAoNRG9jV2F0Y2hFdmVudBITCgtkb2N1bWVudF9pZBgBIAEoCRIiCgVldmVudBgCIAEoCzITLnlvcmtpZS52MS5Eb2NFdmVudCJQChFDaGFubmVsV2F0Y2hFdmVudBITCgtjaGFubmVsX2tleRgBIAEoCRImCgVldmVudBgCIAEoCzIXLnlvcmtpZS52MS5DaGFubmVsRXZlbnQiPgoUV2F0Y2hEb2N1bWVudFJlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhMKC2RvY3VtZW50X2lkGAIgASgJIrYBChVXYXRjaERvY3VtZW50UmVzcG9uc2USSQoOaW5pdGlhbGl6YXRpb24YASABKAsyLy55b3JraWUudjEuV2F0Y2hEb2N1bWVudFJlc3BvbnNlLkluaXRpYWxpemF0aW9uSAASJAoFZXZlbnQYAiABKAsyEy55b3JraWUudjEuRG9jRXZlbnRIABokCg5Jbml0aWFsaXphdGlvbhISCgpjbGllbnRfaWRzGAEgAygJQgYKBGJvZHkiPQoTV2F0Y2hDaGFubmVsUmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSEwoLY2hhbm5lbF9rZXkYAiABKAkigwEKFFdhdGNoQ2hhbm5lbFJlc3BvbnNlEjkKC2luaXRpYWxpemVkGAEgASgLMiIueW9ya2llLnYxLldhdGNoQ2hhbm5lbEluaXRpYWxpemVkSAASKAoFZXZlbnQYAiABKAsyFy55b3JraWUudjEuQ2hhbm5lbEV2ZW50SABCBgoEYm9keSI9ChdXYXRjaENoYW5uZWxJbml0aWFsaXplZBIVCg1zZXNzaW9uX2NvdW50GAEgASgDEgsKA3NlcRgCIAEoAyJrChVSZW1vdmVEb2N1bWVudFJlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhMKC2RvY3VtZW50X2lkGAIgASgJEioKC2NoYW5nZV9wYWNrGAMgASgLMhUueW9ya2llLnYxLkNoYW5nZVBhY2siRAoWUmVtb3ZlRG9jdW1lbnRSZXNwb25zZRIqCgtjaGFuZ2VfcGFjaxgBIAEoCzIVLnlvcmtpZS52MS5DaGFuZ2VQYWNrIn8KFlB1c2hQdWxsQ2hhbmdlc1JlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhMKC2RvY3VtZW50X2lkGAIgASgJEioKC2NoYW5nZV9wYWNrGAMgASgLMhUueW9ya2llLnYxLkNoYW5nZVBhY2sSEQoJcHVzaF9vbmx5GAQgASgIIkUKF1B1c2hQdWxsQ2hhbmdlc1Jlc3BvbnNlEioKC2NoYW5nZV9wYWNrGAEgASgLMhUueW9ya2llLnYxLkNoYW5nZVBhY2siYwoVQ3JlYXRlUmV2aXNpb25SZXF1ZXN0EhEKCWNsaWVudF9pZBgBIAEoCRITCgtkb2N1bWVudF9pZBgCIAEoCRINCgVsYWJlbBgDIAEoCRITCgtkZXNjcmlwdGlvbhgEIAEoCSJGChZDcmVhdGVSZXZpc2lvblJlc3BvbnNlEiwKCHJldmlzaW9uGAEgASgLMhoueW9ya2llLnYxLlJldmlzaW9uU3VtbWFyeSJRChJHZXRSZXZpc2lvblJlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhMKC2RvY3VtZW50X2lkGAIgASgJEhMKC3JldmlzaW9uX2lkGAMgASgJIkMKE0dldFJldmlzaW9uUmVzcG9uc2USLAoIcmV2aXNpb24YASABKAsyGi55b3JraWUudjEuUmV2aXNpb25TdW1tYXJ5InUKFExpc3RSZXZpc2lvbnNSZXF1ZXN0EhEKCWNsaWVudF9pZBgBIAEoCRITCgtkb2N1bWVudF9pZBgCIAEoCRIRCglwYWdlX3NpemUYAyABKAUSDgoGb2Zmc2V0GAQgASgFEhIKCmlzX2ZvcndhcmQYBSABKAgiRgoVTGlzdFJldmlzaW9uc1Jlc3BvbnNlEi0KCXJldmlzaW9ucxgBIAMoCzIaLnlvcmtpZS52MS5SZXZpc2lvblN1bW1hcnkiVQoWUmVzdG9yZVJldmlzaW9uUmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSEwoLZG9jdW1lbnRfaWQYAiABKAkSEwoLcmV2aXNpb25faWQYBCABKAkiGQoXUmVzdG9yZVJldmlzaW9uUmVzcG9uc2UiPgoUQXR0YWNoQ2hhbm5lbFJlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhMKC2NoYW5uZWxfa2V5GAIgASgJIkIKFUF0dGFjaENoYW5uZWxSZXNwb25zZRISCgpzZXNzaW9uX2lkGAEgASgJEhUKDXNlc3Npb25fY291bnQYAiABKAMiUgoURGV0YWNoQ2hhbm5lbFJlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhMKC2NoYW5uZWxfa2V5GAIgASgJEhIKCnNlc3Npb25faWQYAyABKAkiLgoVRGV0YWNoQ2hhbm5lbFJlc3BvbnNlEhUKDXNlc3Npb25fY291bnQYASABKAMi2gEKFVJlZnJlc2hDaGFubmVsUmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSEwoLY2hhbm5lbF9rZXkYAiABKAkSEgoKc2Vzc2lvbl9pZBgDIAEoCRISCgpjbGllbnRfa2V5GAQgASgJEkAKCG1ldGFkYXRhGAUgAygLMi4ueW9ya2llLnYxLlJlZnJlc2hDaGFubmVsUmVxdWVzdC5NZXRhZGF0YUVudHJ5Gi8KDU1ldGFkYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJWChZSZWZyZXNoQ2hhbm5lbFJlc3BvbnNlEhUKDXNlc3Npb25fY291bnQYASABKAMSEQoJY2xpZW50X2lkGAIgASgJEhIKCnNlc3Npb25faWQYAyABKAkiKQoSUGVla0NoYW5uZWxSZXF1ZXN0EhMKC2NoYW5uZWxfa2V5GAEgASgJIiwKE1BlZWtDaGFubmVsUmVzcG9uc2USFQoNc2Vzc2lvbl9jb3VudBgBIAEoAyJaChBCcm9hZGNhc3RSZXF1ZXN0EhEKCWNsaWVudF9pZBgBIAEoCRITCgtjaGFubmVsX2tleRgCIAEoCRINCgV0b3BpYxgDIAEoCRIPCgdwYXlsb2FkGAQgASgMIhMKEUJyb2FkY2FzdFJlc3BvbnNlMpUMCg1Zb3JraWVTZXJ2aWNlElcKDkFjdGl2YXRlQ2xpZW50EiAueW9ya2llLnYxLkFjdGl2YXRlQ2xpZW50UmVxdWVzdBohLnlvcmtpZS52MS5BY3RpdmF0ZUNsaWVudFJlc3BvbnNlIgASXQoQRGVhY3RpdmF0ZUNsaWVudBIiLnlvcmtpZS52MS5EZWFjdGl2YXRlQ2xpZW50UmVxdWVzdBojLnlvcmtpZS52MS5EZWFjdGl2YXRlQ2xpZW50UmVzcG9uc2UiABJXCg5BdHRhY2hEb2N1bWVudBIgLnlvcmtpZS52MS5BdHRhY2hEb2N1bWVudFJlcXVlc3QaIS55b3JraWUudjEuQXR0YWNoRG9jdW1lbnRSZXNwb25zZSIAElcKDkRldGFjaERvY3VtZW50EiAueW9ya2llLnYxLkRldGFjaERvY3VtZW50UmVxdWVzdBohLnlvcmtpZS52MS5EZXRhY2hEb2N1bWVudFJlc3BvbnNlIgASVwoOUmVtb3ZlRG9jdW1lbnQSIC55b3JraWUudjEuUmVtb3ZlRG9jdW1lbnRSZXF1ZXN0GiEueW9ya2llLnYxLlJlbW92ZURvY3VtZW50UmVzcG9uc2UiABJaCg9QdXNoUHVsbENoYW5nZXMSIS55b3JraWUudjEuUHVzaFB1bGxDaGFuZ2VzUmVxdWVzdBoiLnlvcmtpZS52MS5QdXNoUHVsbENoYW5nZXNSZXNwb25zZSIAEj4KBVdhdGNoEhcueW9ya2llLnYxLldhdGNoUmVxdWVzdBoYLnlvcmtpZS52MS5XYXRjaFJlc3BvbnNlIgAwARJWCg1XYXRjaERvY3VtZW50Eh8ueW9ya2llLnYxLldhdGNoRG9jdW1lbnRSZXF1ZXN0GiAueW9ya2llLnYxLldhdGNoRG9jdW1lbnRSZXNwb25zZSIAMAESUwoMV2F0Y2hDaGFubmVsEh4ueW9ya2llLnYxLldhdGNoQ2hhbm5lbFJlcXVlc3QaHy55b3JraWUudjEuV2F0Y2hDaGFubmVsUmVzcG9uc2UiADABElcKDkNyZWF0ZVJldmlzaW9uEiAueW9ya2llLnYxLkNyZWF0ZVJldmlzaW9uUmVxdWVzdBohLnlvcmtpZS52MS5DcmVhdGVSZXZpc2lvblJlc3BvbnNlIgASTgoLR2V0UmV2aXNpb24SHS55b3JraWUudjEuR2V0UmV2aXNpb25SZXF1ZXN0Gh4ueW9ya2llLnYxLkdldFJldmlzaW9uUmVzcG9uc2UiABJUCg1MaXN0UmV2aXNpb25zEh8ueW9ya2llLnYxLkxpc3RSZXZpc2lvbnNSZXF1ZXN0GiAueW9ya2llLnYxLkxpc3RSZXZpc2lvbnNSZXNwb25zZSIAEloKD1Jlc3RvcmVSZXZpc2lvbhIhLnlvcmtpZS52MS5SZXN0b3JlUmV2aXNpb25SZXF1ZXN0GiIueW9ya2llLnYxLlJlc3RvcmVSZXZpc2lvblJlc3BvbnNlIgASVAoNQXR0YWNoQ2hhbm5lbBIfLnlvcmtpZS52MS5BdHRhY2hDaGFubmVsUmVxdWVzdBogLnlvcmtpZS52MS5BdHRhY2hDaGFubmVsUmVzcG9uc2UiABJUCg1EZXRhY2hDaGFubmVsEh8ueW9ya2llLnYxLkRldGFjaENoYW5uZWxSZXF1ZXN0GiAueW9ya2llLnYxLkRldGFjaENoYW5uZWxSZXNwb25zZSIAElcKDlJlZnJlc2hDaGFubmVsEiAueW9ya2llLnYxLlJlZnJlc2hDaGFubmVsUmVxdWVzdBohLnlvcmtpZS52MS5SZWZyZXNoQ2hhbm5lbFJlc3BvbnNlIgASTgoLUGVla0NoYW5uZWwSHS55b3JraWUudjEuUGVla0NoYW5uZWxSZXF1ZXN0Gh4ueW9ya2llLnYxLlBlZWtDaGFubmVsUmVzcG9uc2UiABJICglCcm9hZGNhc3QSGy55b3JraWUudjEuQnJvYWRjYXN0UmVxdWVzdBocLnlvcmtpZS52MS5Ccm9hZGNhc3RSZXNwb25zZSIAQkUKEWRldi55b3JraWUuYXBpLnYxUAFaLmdpdGh1Yi5jb20veW9ya2llLXRlYW0veW9ya2llL2FwaS95b3JraWUvdjE7djFiBnByb3RvMw", [file_yorkie_v1_resources]);
|
|
5869
|
+
const YorkieService = /* @__PURE__ */ serviceDesc(file_yorkie_v1_yorkie, 0);
|
|
5870
5870
|
const file_google_rpc_error_details = /* @__PURE__ */ fileDesc("Ch5nb29nbGUvcnBjL2Vycm9yX2RldGFpbHMucHJvdG8SCmdvb2dsZS5ycGMikwEKCUVycm9ySW5mbxIOCgZyZWFzb24YASABKAkSDgoGZG9tYWluGAIgASgJEjUKCG1ldGFkYXRhGAMgAygLMiMuZ29vZ2xlLnJwYy5FcnJvckluZm8uTWV0YWRhdGFFbnRyeRovCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiOwoJUmV0cnlJbmZvEi4KC3JldHJ5X2RlbGF5GAEgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uIjIKCURlYnVnSW5mbxIVCg1zdGFja19lbnRyaWVzGAEgAygJEg4KBmRldGFpbBgCIAEoCSKPAwoMUXVvdGFGYWlsdXJlEjYKCnZpb2xhdGlvbnMYASADKAsyIi5nb29nbGUucnBjLlF1b3RhRmFpbHVyZS5WaW9sYXRpb24axgIKCVZpb2xhdGlvbhIPCgdzdWJqZWN0GAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEhMKC2FwaV9zZXJ2aWNlGAMgASgJEhQKDHF1b3RhX21ldHJpYxgEIAEoCRIQCghxdW90YV9pZBgFIAEoCRJRChBxdW90YV9kaW1lbnNpb25zGAYgAygLMjcuZ29vZ2xlLnJwYy5RdW90YUZhaWx1cmUuVmlvbGF0aW9uLlF1b3RhRGltZW5zaW9uc0VudHJ5EhMKC3F1b3RhX3ZhbHVlGAcgASgDEh8KEmZ1dHVyZV9xdW90YV92YWx1ZRgIIAEoA0gAiAEBGjYKFFF1b3RhRGltZW5zaW9uc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCFQoTX2Z1dHVyZV9xdW90YV92YWx1ZSKVAQoTUHJlY29uZGl0aW9uRmFpbHVyZRI9Cgp2aW9sYXRpb25zGAEgAygLMikuZ29vZ2xlLnJwYy5QcmVjb25kaXRpb25GYWlsdXJlLlZpb2xhdGlvbho/CglWaW9sYXRpb24SDAoEdHlwZRgBIAEoCRIPCgdzdWJqZWN0GAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJIswBCgpCYWRSZXF1ZXN0Ej8KEGZpZWxkX3Zpb2xhdGlvbnMYASADKAsyJS5nb29nbGUucnBjLkJhZFJlcXVlc3QuRmllbGRWaW9sYXRpb24afQoORmllbGRWaW9sYXRpb24SDQoFZmllbGQYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSDgoGcmVhc29uGAMgASgJEjcKEWxvY2FsaXplZF9tZXNzYWdlGAQgASgLMhwuZ29vZ2xlLnJwYy5Mb2NhbGl6ZWRNZXNzYWdlIjcKC1JlcXVlc3RJbmZvEhIKCnJlcXVlc3RfaWQYASABKAkSFAoMc2VydmluZ19kYXRhGAIgASgJImAKDFJlc291cmNlSW5mbxIVCg1yZXNvdXJjZV90eXBlGAEgASgJEhUKDXJlc291cmNlX25hbWUYAiABKAkSDQoFb3duZXIYAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkiVgoESGVscBIkCgVsaW5rcxgBIAMoCzIVLmdvb2dsZS5ycGMuSGVscC5MaW5rGigKBExpbmsSEwoLZGVzY3JpcHRpb24YASABKAkSCwoDdXJsGAIgASgJIjMKEExvY2FsaXplZE1lc3NhZ2USDgoGbG9jYWxlGAEgASgJEg8KB21lc3NhZ2UYAiABKAlCbAoOY29tLmdvb2dsZS5ycGNCEUVycm9yRGV0YWlsc1Byb3RvUAFaP2dvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvcnBjL2VycmRldGFpbHM7ZXJyZGV0YWlsc6ICA1JQQ2IGcHJvdG8z", [file_google_protobuf_duration]);
|
|
5871
5871
|
const ErrorInfoSchema = /* @__PURE__ */ messageDesc(file_google_rpc_error_details, 0);
|
|
5872
5872
|
var Code = /* @__PURE__ */ ((Code2) => {
|
|
@@ -5878,6 +5878,7 @@ var Code = /* @__PURE__ */ ((Code2) => {
|
|
|
5878
5878
|
Code2["ErrDummy"] = "ErrDummy";
|
|
5879
5879
|
Code2["ErrNotAttached"] = "ErrNotAttached";
|
|
5880
5880
|
Code2["ErrNotDetached"] = "ErrNotDetached";
|
|
5881
|
+
Code2["ErrSessionNotFound"] = "ErrSessionNotFound";
|
|
5881
5882
|
Code2["ErrDocumentRemoved"] = "ErrDocumentRemoved";
|
|
5882
5883
|
Code2["ErrDocumentSizeExceedsLimit"] = "ErrDocumentSizeExceedsLimit";
|
|
5883
5884
|
Code2["ErrDocumentSchemaValidationFailed"] = "ErrDocumentSchemaValidationFailed";
|
|
@@ -20781,12 +20782,25 @@ class Document {
|
|
|
20781
20782
|
}
|
|
20782
20783
|
class Attachment {
|
|
20783
20784
|
resource;
|
|
20785
|
+
/**
|
|
20786
|
+
* For Documents: the document's resourceID, available at attach time.
|
|
20787
|
+
* For Channels: the server-issued session_id. Starts empty and is
|
|
20788
|
+
* populated after the first `RefreshChannel` first-call response.
|
|
20789
|
+
*/
|
|
20784
20790
|
resourceID;
|
|
20785
20791
|
syncMode;
|
|
20786
20792
|
changeEventReceived;
|
|
20787
20793
|
lastHeartbeatTime;
|
|
20788
20794
|
pollInterval;
|
|
20789
20795
|
pollIntervalPinned;
|
|
20796
|
+
/**
|
|
20797
|
+
* `unsubscribeLocalBroadcast` is set by `attachChannel` when it forwards
|
|
20798
|
+
* a Channel's `local-broadcast` events to the RPC client, and consumed
|
|
20799
|
+
* by `detachInternal` so the subscription does not survive a detach.
|
|
20800
|
+
* Without this, re-attaching a channel accumulates duplicate handlers
|
|
20801
|
+
* on each attach cycle.
|
|
20802
|
+
*/
|
|
20803
|
+
unsubscribeLocalBroadcast;
|
|
20790
20804
|
reconnectStreamDelay;
|
|
20791
20805
|
cancelled;
|
|
20792
20806
|
watchStream;
|
|
@@ -20794,13 +20808,13 @@ class Attachment {
|
|
|
20794
20808
|
watchAbortController;
|
|
20795
20809
|
syncPromise;
|
|
20796
20810
|
_detaching = false;
|
|
20797
|
-
constructor(reconnectStreamDelay, resource, resourceID, syncMode, pollInterval = 0, pollIntervalPinned = false) {
|
|
20811
|
+
constructor(reconnectStreamDelay, resource, resourceID = "", syncMode, pollInterval = 0, pollIntervalPinned = false) {
|
|
20798
20812
|
this.reconnectStreamDelay = reconnectStreamDelay;
|
|
20799
20813
|
this.resource = resource;
|
|
20800
20814
|
this.resourceID = resourceID;
|
|
20801
20815
|
this.syncMode = syncMode;
|
|
20802
20816
|
this.changeEventReceived = syncMode !== void 0 ? false : void 0;
|
|
20803
|
-
this.lastHeartbeatTime =
|
|
20817
|
+
this.lastHeartbeatTime = 0;
|
|
20804
20818
|
this.pollInterval = pollInterval;
|
|
20805
20819
|
this.pollIntervalPinned = pollIntervalPinned;
|
|
20806
20820
|
this.cancelled = false;
|
|
@@ -20962,7 +20976,7 @@ function createAuthInterceptor(apiKey, token) {
|
|
|
20962
20976
|
};
|
|
20963
20977
|
}
|
|
20964
20978
|
const name = "@yorkie-js/sdk";
|
|
20965
|
-
const version = "0.7.
|
|
20979
|
+
const version = "0.7.10-rc";
|
|
20966
20980
|
const pkg = {
|
|
20967
20981
|
name,
|
|
20968
20982
|
version
|
|
@@ -21000,6 +21014,7 @@ var ChannelEventType = /* @__PURE__ */ ((ChannelEventType2) => {
|
|
|
21000
21014
|
ChannelEventType2["Broadcast"] = "broadcast";
|
|
21001
21015
|
ChannelEventType2["LocalBroadcast"] = "local-broadcast";
|
|
21002
21016
|
ChannelEventType2["AuthError"] = "auth-error";
|
|
21017
|
+
ChannelEventType2["SyncError"] = "sync-error";
|
|
21003
21018
|
return ChannelEventType2;
|
|
21004
21019
|
})(ChannelEventType || {});
|
|
21005
21020
|
const KeyPathSeparator = ".";
|
|
@@ -21139,6 +21154,13 @@ class Channel2 {
|
|
|
21139
21154
|
}
|
|
21140
21155
|
});
|
|
21141
21156
|
}
|
|
21157
|
+
if (typeOrTopic === "sync-error") {
|
|
21158
|
+
return this.eventStream.subscribe((event) => {
|
|
21159
|
+
if (event.type === "sync-error") {
|
|
21160
|
+
callback(event);
|
|
21161
|
+
}
|
|
21162
|
+
});
|
|
21163
|
+
}
|
|
21142
21164
|
if (typeOrTopic === "presence") {
|
|
21143
21165
|
return this.eventStream.subscribe((event) => {
|
|
21144
21166
|
if (event.type === "presence-changed" || event.type === "initialized") {
|
|
@@ -21258,13 +21280,14 @@ var ClientCondition = /* @__PURE__ */ ((ClientCondition2) => {
|
|
|
21258
21280
|
ClientCondition2["WatchLoop"] = "WatchLoop";
|
|
21259
21281
|
return ClientCondition2;
|
|
21260
21282
|
})(ClientCondition || {});
|
|
21261
|
-
const
|
|
21283
|
+
const DefaultDocumentPollIntervalMs = 3e3;
|
|
21284
|
+
const DefaultChannelHeartbeatMs = 5e3;
|
|
21262
21285
|
const DefaultClientOptions = {
|
|
21263
21286
|
rpcAddr: "https://api.yorkie.dev",
|
|
21264
21287
|
syncLoopDuration: 50,
|
|
21265
21288
|
retrySyncLoopDelay: 1e3,
|
|
21266
21289
|
reconnectStreamDelay: 1e3,
|
|
21267
|
-
channelHeartbeatInterval:
|
|
21290
|
+
channelHeartbeatInterval: DefaultChannelHeartbeatMs
|
|
21268
21291
|
};
|
|
21269
21292
|
const DefaultBroadcastOptions = {
|
|
21270
21293
|
maxRetries: Infinity,
|
|
@@ -21461,7 +21484,7 @@ class Client {
|
|
|
21461
21484
|
);
|
|
21462
21485
|
}
|
|
21463
21486
|
const pollIntervalPinned = opts.documentPollInterval !== void 0;
|
|
21464
|
-
const pollInterval = pollIntervalPinned ? opts.documentPollInterval : syncMode === "polling" ?
|
|
21487
|
+
const pollInterval = pollIntervalPinned ? opts.documentPollInterval : syncMode === "polling" ? DefaultDocumentPollIntervalMs : 0;
|
|
21465
21488
|
return this.enqueueTask(async () => {
|
|
21466
21489
|
try {
|
|
21467
21490
|
const res = await this.rpcClient.attachDocument(
|
|
@@ -21590,127 +21613,88 @@ class Client {
|
|
|
21590
21613
|
return this.enqueueTask(task);
|
|
21591
21614
|
}
|
|
21592
21615
|
/**
|
|
21593
|
-
* `
|
|
21594
|
-
*
|
|
21616
|
+
* `attachChannel` attaches the given channel to this client. The channel is
|
|
21617
|
+
* registered locally and the server is notified on the next RefreshChannel
|
|
21618
|
+
* heartbeat.
|
|
21595
21619
|
*/
|
|
21596
21620
|
async attachChannel(channel, opts = {}) {
|
|
21597
|
-
if (!this.isActive()) {
|
|
21598
|
-
throw new YorkieError(
|
|
21599
|
-
Code.ErrClientNotActivated,
|
|
21600
|
-
`${this.key} is not active`
|
|
21601
|
-
);
|
|
21602
|
-
}
|
|
21603
21621
|
if (channel.getStatus() !== ChannelStatus.Detached) {
|
|
21604
21622
|
throw new YorkieError(
|
|
21605
21623
|
Code.ErrNotDetached,
|
|
21606
21624
|
`${channel.getKey()} is not detached`
|
|
21607
21625
|
);
|
|
21608
21626
|
}
|
|
21609
|
-
|
|
21627
|
+
const syncMode = opts.syncMode ?? "realtime";
|
|
21628
|
+
this.assertValidChannelSyncMode(syncMode);
|
|
21629
|
+
if (opts.channelHeartbeatInterval !== void 0 && opts.channelHeartbeatInterval <= 0) {
|
|
21630
|
+
throw new YorkieError(
|
|
21631
|
+
Code.ErrInvalidArgument,
|
|
21632
|
+
"channelHeartbeatInterval must be greater than 0"
|
|
21633
|
+
);
|
|
21634
|
+
}
|
|
21635
|
+
const pollIntervalPinned = opts.channelHeartbeatInterval !== void 0;
|
|
21636
|
+
const pollInterval = opts.channelHeartbeatInterval ?? this.channelHeartbeatInterval;
|
|
21610
21637
|
const task = async () => {
|
|
21611
|
-
|
|
21612
|
-
|
|
21613
|
-
|
|
21614
|
-
|
|
21615
|
-
|
|
21616
|
-
|
|
21617
|
-
|
|
21618
|
-
|
|
21619
|
-
|
|
21620
|
-
|
|
21621
|
-
|
|
21622
|
-
|
|
21623
|
-
|
|
21624
|
-
|
|
21625
|
-
|
|
21626
|
-
const syncMode = opts.syncMode ?? "realtime";
|
|
21627
|
-
this.assertValidChannelSyncMode(syncMode);
|
|
21628
|
-
if (opts.channelHeartbeatInterval !== void 0 && opts.channelHeartbeatInterval <= 0) {
|
|
21629
|
-
throw new YorkieError(
|
|
21630
|
-
Code.ErrInvalidArgument,
|
|
21631
|
-
"channelHeartbeatInterval must be greater than 0"
|
|
21632
|
-
);
|
|
21633
|
-
}
|
|
21634
|
-
const pollIntervalPinned = opts.channelHeartbeatInterval !== void 0;
|
|
21635
|
-
const pollInterval = pollIntervalPinned ? opts.channelHeartbeatInterval : syncMode === "polling" ? DefaultPollingIntervalMs : this.channelHeartbeatInterval;
|
|
21636
|
-
const attachment = new Attachment(
|
|
21637
|
-
this.reconnectStreamDelay,
|
|
21638
|
-
channel,
|
|
21639
|
-
res.sessionId,
|
|
21640
|
-
syncMode,
|
|
21641
|
-
pollInterval,
|
|
21642
|
-
pollIntervalPinned
|
|
21643
|
-
);
|
|
21644
|
-
channel.subscribe("local-broadcast", (event) => {
|
|
21638
|
+
if (this.id) {
|
|
21639
|
+
channel.setActor(this.id);
|
|
21640
|
+
}
|
|
21641
|
+
const attachment = new Attachment(
|
|
21642
|
+
this.reconnectStreamDelay,
|
|
21643
|
+
channel,
|
|
21644
|
+
"",
|
|
21645
|
+
// sessionID populated on first refresh response
|
|
21646
|
+
syncMode,
|
|
21647
|
+
pollInterval,
|
|
21648
|
+
pollIntervalPinned
|
|
21649
|
+
);
|
|
21650
|
+
attachment.unsubscribeLocalBroadcast = channel.subscribe(
|
|
21651
|
+
"local-broadcast",
|
|
21652
|
+
(event) => {
|
|
21645
21653
|
const { topic, payload, options } = event;
|
|
21646
21654
|
this.broadcast(channel.getKey(), topic, payload, options).catch(
|
|
21647
21655
|
(error) => {
|
|
21648
|
-
if (options?.error)
|
|
21649
|
-
options.error(error);
|
|
21650
|
-
}
|
|
21656
|
+
if (options?.error) options.error(error);
|
|
21651
21657
|
logger.error(`[BC] c:"${this.getKey()}" failed: ${error}`);
|
|
21652
21658
|
}
|
|
21653
21659
|
);
|
|
21654
|
-
});
|
|
21655
|
-
this.attachmentMap.set(channel.getKey(), attachment);
|
|
21656
|
-
if (syncMode === "realtime") {
|
|
21657
|
-
await this.runWatchLoop(channel.getKey());
|
|
21658
21660
|
}
|
|
21659
|
-
|
|
21660
|
-
|
|
21661
|
-
|
|
21662
|
-
|
|
21663
|
-
|
|
21664
|
-
|
|
21665
|
-
|
|
21666
|
-
throw err;
|
|
21661
|
+
);
|
|
21662
|
+
this.attachmentMap.set(channel.getKey(), attachment);
|
|
21663
|
+
if (!this.conditions[
|
|
21664
|
+
"SyncLoop"
|
|
21665
|
+
/* SyncLoop */
|
|
21666
|
+
]) {
|
|
21667
|
+
this.runSyncLoop();
|
|
21667
21668
|
}
|
|
21669
|
+
logger.info(
|
|
21670
|
+
`[AP] c:"${this.getKey()}" attaches p:"${channel.getKey()}" mode:${syncMode}`
|
|
21671
|
+
);
|
|
21672
|
+
return channel;
|
|
21668
21673
|
};
|
|
21669
21674
|
return this.enqueueTask(task);
|
|
21670
21675
|
}
|
|
21671
21676
|
/**
|
|
21672
|
-
* `detachChannel` detaches the given channel from this client.
|
|
21673
|
-
*
|
|
21677
|
+
* `detachChannel` detaches the given channel from this client. The detach
|
|
21678
|
+
* is a local cleanup; the server reclaims the session via TTL when
|
|
21679
|
+
* heartbeats stop.
|
|
21674
21680
|
*/
|
|
21675
21681
|
async detachChannel(channel) {
|
|
21676
|
-
|
|
21677
|
-
|
|
21678
|
-
Code.ErrClientNotActivated,
|
|
21679
|
-
`${this.key} is not active`
|
|
21680
|
-
);
|
|
21681
|
-
}
|
|
21682
|
-
if (!this.attachmentMap.has(channel.getKey())) {
|
|
21682
|
+
const attachment = this.attachmentMap.get(channel.getKey());
|
|
21683
|
+
if (!attachment) {
|
|
21683
21684
|
throw new YorkieError(
|
|
21684
21685
|
Code.ErrNotAttached,
|
|
21685
21686
|
`${channel.getKey()} is not attached`
|
|
21686
21687
|
);
|
|
21687
21688
|
}
|
|
21689
|
+
attachment.markDetaching();
|
|
21690
|
+
await attachment.waitForSyncComplete();
|
|
21688
21691
|
const task = async () => {
|
|
21689
|
-
|
|
21690
|
-
|
|
21691
|
-
|
|
21692
|
-
|
|
21693
|
-
|
|
21694
|
-
|
|
21695
|
-
},
|
|
21696
|
-
{
|
|
21697
|
-
headers: {
|
|
21698
|
-
"x-shard-key": `${this.apiKey}/${channel.getFirstKeyPath()}`
|
|
21699
|
-
}
|
|
21700
|
-
}
|
|
21701
|
-
);
|
|
21702
|
-
channel.updateSessionCount(Number(res.sessionCount), 0);
|
|
21703
|
-
channel.applyStatus(ChannelStatus.Detached);
|
|
21704
|
-
this.detachInternal(channel.getKey());
|
|
21705
|
-
logger.info(
|
|
21706
|
-
`[DP] c:"${this.getKey()}" detaches p:"${channel.getKey()}" count:${channel.getSessionCount()}`
|
|
21707
|
-
);
|
|
21708
|
-
return channel;
|
|
21709
|
-
} catch (err) {
|
|
21710
|
-
logger.error(`[DP] c:"${this.getKey()}" err :`, err);
|
|
21711
|
-
await this.handleConnectError(err);
|
|
21712
|
-
throw err;
|
|
21713
|
-
}
|
|
21692
|
+
channel.applyStatus(ChannelStatus.Detached);
|
|
21693
|
+
this.detachInternal(channel.getKey());
|
|
21694
|
+
logger.info(
|
|
21695
|
+
`[DP] c:"${this.getKey()}" detaches p:"${channel.getKey()}" (local)`
|
|
21696
|
+
);
|
|
21697
|
+
return channel;
|
|
21714
21698
|
};
|
|
21715
21699
|
return this.enqueueTask(task);
|
|
21716
21700
|
}
|
|
@@ -21751,7 +21735,7 @@ class Client {
|
|
|
21751
21735
|
attachment.changeEventReceived = true;
|
|
21752
21736
|
}
|
|
21753
21737
|
if (!attachment.pollIntervalPinned) {
|
|
21754
|
-
attachment.pollInterval = syncMode === "polling" ?
|
|
21738
|
+
attachment.pollInterval = syncMode === "polling" ? DefaultDocumentPollIntervalMs : 0;
|
|
21755
21739
|
}
|
|
21756
21740
|
if ((prevSyncMode === "manual" || prevSyncMode === "polling") && syncMode !== "manual" && syncMode !== "polling") {
|
|
21757
21741
|
attachment.resetCancelled();
|
|
@@ -21772,12 +21756,6 @@ class Client {
|
|
|
21772
21756
|
}
|
|
21773
21757
|
}
|
|
21774
21758
|
async changeChannelSyncMode(channel, syncMode) {
|
|
21775
|
-
if (!this.isActive()) {
|
|
21776
|
-
throw new YorkieError(
|
|
21777
|
-
Code.ErrClientNotActivated,
|
|
21778
|
-
`${this.key} is not active`
|
|
21779
|
-
);
|
|
21780
|
-
}
|
|
21781
21759
|
const attachment = this.attachmentMap.get(channel.getKey());
|
|
21782
21760
|
if (!attachment) {
|
|
21783
21761
|
throw new YorkieError(
|
|
@@ -21795,7 +21773,7 @@ class Client {
|
|
|
21795
21773
|
}
|
|
21796
21774
|
attachment.changeSyncMode(syncMode);
|
|
21797
21775
|
if (!attachment.pollIntervalPinned) {
|
|
21798
|
-
attachment.pollInterval = syncMode === "
|
|
21776
|
+
attachment.pollInterval = syncMode === "manual" ? 0 : this.channelHeartbeatInterval;
|
|
21799
21777
|
}
|
|
21800
21778
|
if (syncMode === "realtime") {
|
|
21801
21779
|
attachment.resetCancelled();
|
|
@@ -21807,7 +21785,7 @@ class Client {
|
|
|
21807
21785
|
* `sync` implementation that handles both Document and Channel.
|
|
21808
21786
|
*/
|
|
21809
21787
|
sync(resource) {
|
|
21810
|
-
if (!this.isActive()) {
|
|
21788
|
+
if (!(resource instanceof Channel2) && !this.isActive()) {
|
|
21811
21789
|
throw new YorkieError(
|
|
21812
21790
|
Code.ErrClientNotActivated,
|
|
21813
21791
|
`${this.key} is not active`
|
|
@@ -22123,16 +22101,34 @@ class Client {
|
|
|
22123
22101
|
};
|
|
22124
22102
|
return this.enqueueTask(task);
|
|
22125
22103
|
}
|
|
22104
|
+
/**
|
|
22105
|
+
* `peekChannel` reads the current session count of a channel without
|
|
22106
|
+
* creating a session on the server. Use this when the caller only needs
|
|
22107
|
+
* to display the count (e.g. "N people writing") without contributing to
|
|
22108
|
+
* it and without receiving broadcasts.
|
|
22109
|
+
*
|
|
22110
|
+
* Unlike `attach({ readOnly: true })`, this does not occupy a `Session`
|
|
22111
|
+
* entry on the server, does not generate heartbeat RPCs, and does not
|
|
22112
|
+
* subscribe to channel events. Polling is the caller's responsibility.
|
|
22113
|
+
*/
|
|
22114
|
+
async peekChannel(channelKey) {
|
|
22115
|
+
return this.enqueueTask(async () => {
|
|
22116
|
+
const firstKeyPath = channelKey.split(".")[0];
|
|
22117
|
+
const res = await this.rpcClient.peekChannel(
|
|
22118
|
+
{ channelKey },
|
|
22119
|
+
{
|
|
22120
|
+
headers: {
|
|
22121
|
+
"x-shard-key": `${this.apiKey}/${firstKeyPath}`
|
|
22122
|
+
}
|
|
22123
|
+
}
|
|
22124
|
+
);
|
|
22125
|
+
return Number(res.sessionCount);
|
|
22126
|
+
});
|
|
22127
|
+
}
|
|
22126
22128
|
/**
|
|
22127
22129
|
* `broadcast` broadcasts the given payload to the given topic.
|
|
22128
22130
|
*/
|
|
22129
22131
|
async broadcast(key, topic, payload, options) {
|
|
22130
|
-
if (!this.isActive()) {
|
|
22131
|
-
throw new YorkieError(
|
|
22132
|
-
Code.ErrClientNotActivated,
|
|
22133
|
-
`${this.key} is not active`
|
|
22134
|
-
);
|
|
22135
|
-
}
|
|
22136
22132
|
const attachment = this.attachmentMap.get(key);
|
|
22137
22133
|
if (!attachment) {
|
|
22138
22134
|
throw new YorkieError(Code.ErrNotAttached, `${key} is not attached`);
|
|
@@ -22209,8 +22205,16 @@ class Client {
|
|
|
22209
22205
|
*/
|
|
22210
22206
|
runSyncLoop() {
|
|
22211
22207
|
const doLoop = async () => {
|
|
22212
|
-
if (
|
|
22213
|
-
logger.debug(`[SL] c:"${this.getKey()}" exit sync loop`);
|
|
22208
|
+
if (this.deactivating) {
|
|
22209
|
+
logger.debug(`[SL] c:"${this.getKey()}" exit sync loop (deactivating)`);
|
|
22210
|
+
this.conditions[
|
|
22211
|
+
"SyncLoop"
|
|
22212
|
+
/* SyncLoop */
|
|
22213
|
+
] = false;
|
|
22214
|
+
return;
|
|
22215
|
+
}
|
|
22216
|
+
if (!this.isActive() && this.attachmentMap.size === 0) {
|
|
22217
|
+
logger.debug(`[SL] c:"${this.getKey()}" exit sync loop (idle)`);
|
|
22214
22218
|
this.conditions[
|
|
22215
22219
|
"SyncLoop"
|
|
22216
22220
|
/* SyncLoop */
|
|
@@ -22596,6 +22600,10 @@ class Client {
|
|
|
22596
22600
|
return;
|
|
22597
22601
|
}
|
|
22598
22602
|
attachment.cancelWatchStream();
|
|
22603
|
+
if (attachment.unsubscribeLocalBroadcast) {
|
|
22604
|
+
attachment.unsubscribeLocalBroadcast();
|
|
22605
|
+
attachment.unsubscribeLocalBroadcast = void 0;
|
|
22606
|
+
}
|
|
22599
22607
|
if (attachment.resource instanceof Document) {
|
|
22600
22608
|
attachment.resource.resetOnlineClients();
|
|
22601
22609
|
}
|
|
@@ -22604,12 +22612,17 @@ class Client {
|
|
|
22604
22612
|
async syncInternal(attachment, syncMode) {
|
|
22605
22613
|
const { resource } = attachment;
|
|
22606
22614
|
if (resource instanceof Channel2) {
|
|
22615
|
+
const isFirstCall = !resource.getSessionID();
|
|
22607
22616
|
try {
|
|
22608
22617
|
const res = await this.rpcClient.refreshChannel(
|
|
22609
22618
|
{
|
|
22610
|
-
clientId: this.id,
|
|
22619
|
+
clientId: this.id ?? "",
|
|
22611
22620
|
channelKey: resource.getKey(),
|
|
22612
|
-
sessionId: resource.getSessionID()
|
|
22621
|
+
sessionId: resource.getSessionID() ?? "",
|
|
22622
|
+
// First-call only — these fields are ignored by the server
|
|
22623
|
+
// once a session_id is established.
|
|
22624
|
+
clientKey: isFirstCall ? this.key : "",
|
|
22625
|
+
metadata: isFirstCall ? this.metadata : {}
|
|
22613
22626
|
},
|
|
22614
22627
|
{
|
|
22615
22628
|
headers: {
|
|
@@ -22617,12 +22630,60 @@ class Client {
|
|
|
22617
22630
|
}
|
|
22618
22631
|
}
|
|
22619
22632
|
);
|
|
22620
|
-
|
|
22633
|
+
if (isFirstCall) {
|
|
22634
|
+
if (this.deactivating || attachment.isDetaching()) {
|
|
22635
|
+
return resource;
|
|
22636
|
+
}
|
|
22637
|
+
if (res.clientId && !this.id) {
|
|
22638
|
+
this.id = res.clientId;
|
|
22639
|
+
this.status = "activated";
|
|
22640
|
+
resource.setActor(res.clientId);
|
|
22641
|
+
} else if (this.id) {
|
|
22642
|
+
resource.setActor(this.id);
|
|
22643
|
+
}
|
|
22644
|
+
if (res.sessionId) {
|
|
22645
|
+
resource.setSessionID(res.sessionId);
|
|
22646
|
+
attachment.resourceID = res.sessionId;
|
|
22647
|
+
resource.applyStatus(ChannelStatus.Attached);
|
|
22648
|
+
}
|
|
22649
|
+
if (attachment.syncMode === "realtime") {
|
|
22650
|
+
this.runWatchLoop(resource.getKey()).catch((err) => {
|
|
22651
|
+
logger.error(
|
|
22652
|
+
`[WP] c:"${this.getKey()}" failed to start watch for p:"${resource.getKey()}":`,
|
|
22653
|
+
err
|
|
22654
|
+
);
|
|
22655
|
+
});
|
|
22656
|
+
}
|
|
22657
|
+
}
|
|
22658
|
+
const prevCount = resource.getSessionCount();
|
|
22659
|
+
if (resource.updateSessionCount(Number(res.sessionCount), 0)) {
|
|
22660
|
+
if (resource.getSessionCount() !== prevCount) {
|
|
22661
|
+
resource.publish({
|
|
22662
|
+
type: ChannelEventType.PresenceChanged,
|
|
22663
|
+
count: resource.getSessionCount()
|
|
22664
|
+
});
|
|
22665
|
+
}
|
|
22666
|
+
}
|
|
22621
22667
|
attachment.updateHeartbeatTime();
|
|
22622
22668
|
logger.debug(
|
|
22623
22669
|
`[RP] c:"${this.getKey()}" refreshes p:"${resource.getKey()}" mode:${attachment.syncMode}`
|
|
22624
22670
|
);
|
|
22625
22671
|
} catch (err) {
|
|
22672
|
+
if (isErrorCode(err, Code.ErrSessionNotFound)) {
|
|
22673
|
+
logger.info(
|
|
22674
|
+
`[RP] c:"${this.getKey()}" session expired for p:"${resource.getKey()}", re-attaching`
|
|
22675
|
+
);
|
|
22676
|
+
resource.setSessionID("");
|
|
22677
|
+
attachment.resourceID = "";
|
|
22678
|
+
return resource;
|
|
22679
|
+
}
|
|
22680
|
+
if (!this.deactivating && !attachment.isDetaching()) {
|
|
22681
|
+
resource.publish({
|
|
22682
|
+
type: ChannelEventType.SyncError,
|
|
22683
|
+
error: err,
|
|
22684
|
+
method: "RefreshChannel"
|
|
22685
|
+
});
|
|
22686
|
+
}
|
|
22626
22687
|
logger.error(`[RP] c:"${this.getKey()}" err :`, err);
|
|
22627
22688
|
throw err;
|
|
22628
22689
|
}
|