@ema.co/mcp-toolkit 2026.3.25-4 → 2026.4.9

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.
Files changed (62) hide show
  1. package/dist/auth/login.js +1 -1
  2. package/dist/config/profile.js +1 -1
  3. package/dist/config/tool-guidance.js +7 -3
  4. package/dist/knowledge/extractors/openapi-endpoints.js +160 -2
  5. package/dist/knowledge/guidance-cache.js +4 -3
  6. package/dist/knowledge/search-client.js +57 -47
  7. package/dist/knowledge/search-config.js +2 -1
  8. package/dist/mcp/handlers/config/index.js +124 -8
  9. package/dist/mcp/handlers/feedback/index.js +32 -0
  10. package/dist/mcp/handlers/feedback/store.js +4 -0
  11. package/dist/mcp/handlers/knowledge/confidence-loop.js +10 -5
  12. package/dist/mcp/handlers/knowledge/index.js +25 -7
  13. package/dist/mcp/handlers/knowledge/outcome-feedback.js +205 -0
  14. package/dist/mcp/handlers/knowledge/session-state.js +110 -0
  15. package/dist/mcp/handlers/workflow/deploy.js +33 -0
  16. package/dist/mcp/knowledge-guidance-topics.js +25 -1
  17. package/dist/mcp/knowledge.js +1 -1
  18. package/dist/mcp/resources-dynamic.js +3 -3
  19. package/dist/mcp/tools.js +15 -3
  20. package/dist/sdk/generated/agent-catalog.js +8 -4
  21. package/dist/sdk/generated/deprecated-actions.js +19 -19
  22. package/dist/sdk/generated/proto-fields.js +1 -1
  23. package/dist/sdk/generated/protos/service/agent_qa/v1/agent_qa_pb.js +223 -15
  24. package/dist/sdk/generated/protos/service/common/v1/common_pb.js +51 -1
  25. package/dist/sdk/generated/protos/service/conversation_review/v1/conversation_review_pb.js +63 -16
  26. package/dist/sdk/generated/protos/service/dataingest/v1/dataingest_pb.js +65 -9
  27. package/dist/sdk/generated/protos/service/eval-tool/v1/evaluation_pb.js +114 -1
  28. package/dist/sdk/generated/protos/service/eval-tool/v1/testbed_pb.js +1 -1
  29. package/dist/sdk/generated/protos/service/external_access_service/v1/external_bot_pb.js +5 -1
  30. package/dist/sdk/generated/protos/service/external_tool_connection/v1/connection_manager_pb.js +114 -35
  31. package/dist/sdk/generated/protos/service/external_tool_connection/v1/ema_connector_pb.js +120 -0
  32. package/dist/sdk/generated/protos/service/identity/v1/identity_pb.js +188 -0
  33. package/dist/sdk/generated/protos/service/llmservice/v1/llmservice_pb.js +41 -2
  34. package/dist/sdk/generated/protos/service/permissions/permissions_pb.js +327 -24
  35. package/dist/sdk/generated/protos/service/persona/v1/chatbot_pb.js +41 -3
  36. package/dist/sdk/generated/protos/service/persona/v1/persona_config_pb.js +141 -89
  37. package/dist/sdk/generated/protos/service/persona/v1/persona_pb.js +283 -133
  38. package/dist/sdk/generated/protos/service/persona/v1/shared_widgets/widget_types_pb.js +24 -3
  39. package/dist/sdk/generated/protos/service/persona/v1/voicebot_widgets/widget_types_pb.js +114 -14
  40. package/dist/sdk/generated/protos/service/proposal/v1/proposal_pb.js +57 -1
  41. package/dist/sdk/generated/protos/service/script_executor/v1/script_executor_pb.js +96 -0
  42. package/dist/sdk/generated/protos/service/transform/v1/transform_pb.js +19 -1
  43. package/dist/sdk/generated/protos/service/user/v1/user_pb.js +1 -1
  44. package/dist/sdk/generated/protos/service/voice/v1/external_voice_pb.js +132 -0
  45. package/dist/sdk/generated/protos/service/voice/v1/voice_pb.js +1 -1
  46. package/dist/sdk/generated/protos/service/webcrawl/v1/webcrawl_pb.js +7 -2
  47. package/dist/sdk/generated/protos/service/workflows/v1/action_registry_pb.js +86 -49
  48. package/dist/sdk/generated/protos/service/workflows/v1/action_runner_pb.js +12 -7
  49. package/dist/sdk/generated/protos/service/workflows/v1/action_type_pb.js +27 -17
  50. package/dist/sdk/generated/protos/service/workflows/v1/agentic_search_pb.js +27 -0
  51. package/dist/sdk/generated/protos/service/workflows/v1/chatbot_pb.js +30 -21
  52. package/dist/sdk/generated/protos/service/workflows/v1/dashboards_pb.js +35 -13
  53. package/dist/sdk/generated/protos/service/workflows/v1/embedded_persona_runner_pb.js +6 -1
  54. package/dist/sdk/generated/protos/service/workflows/v1/external_actions_pb.js +19 -1
  55. package/dist/sdk/generated/protos/service/workflows/v1/log_type_pb.js +6 -1
  56. package/dist/sdk/generated/protos/service/workflows/v1/rpc/workflow_rpc_pb.js +71 -14
  57. package/dist/sdk/generated/protos/service/workflows/v1/values_pb.js +8 -2
  58. package/dist/sdk/generated/protos/service/workflows/v1/well_known_pb.js +2 -1
  59. package/dist/sdk/generated/protos/service/workflows/v1/workflow_pb.js +31 -16
  60. package/dist/sdk/generated/template-fallbacks.js +1 -1
  61. package/dist/sdk/generated/well-known-types.js +4 -1
  62. package/package.json +1 -1
@@ -3,12 +3,13 @@
3
3
  /* eslint-disable */
4
4
  import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
5
5
  import { file_google_protobuf_struct, file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
6
+ import { file_service_common_v1_common } from "../../common/v1/common_pb.js";
6
7
  import { file_service_feedback_v1_feedback } from "../../feedback/v1/feedback_pb.js";
7
8
  import { file_service_workflows_v1_chatbot } from "../../workflows/v1/chatbot_pb.js";
8
9
  /**
9
10
  * Describes the file service/conversation_review/v1/conversation_review.proto.
10
11
  */
11
- export const file_service_conversation_review_v1_conversation_review = /*@__PURE__*/ fileDesc("CjhzZXJ2aWNlL2NvbnZlcnNhdGlvbl9yZXZpZXcvdjEvY29udmVyc2F0aW9uX3Jldmlldy5wcm90bxIWY29udmVyc2F0aW9uX3Jldmlldy52MSLeAwoZQ29udmVyc2F0aW9uUmV2aWV3RmlsdGVycxIeChZ1c2VyX2ZlZWRiYWNrX3JlY2VpdmVkGAEgASgIEiAKGHJldmlld2VyX2ZlZWRiYWNrX3NoYXJlZBgCIAEoCBIcChRoYXNfdXNlcl9mcnVzdHJhdGlvbhgDIAEoCBIYChB3b3JrZmxvd19mYWlsdXJlGAQgASgIEhgKEG5vX3Jlc3VsdHNfZm91bmQYBSABKAgSFAoMc2VhcmNoX3F1ZXJ5GAYgASgJEhoKEmVtYWlsX3NlYXJjaF9xdWVyeRgHIAEoCRIhChljb252ZXJzYXRpb25fc2VhcmNoX3F1ZXJ5GAggASgJEjAKDGNyZWF0ZWRfZnJvbRgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKY3JlYXRlZF90bxgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASOAoGc3RhdHVzGAsgASgOMiguY29udmVyc2F0aW9uX3Jldmlldy52MS5SZXNvbHV0aW9uU3RhdHVzEjwKB2NoYW5uZWwYDCABKA4yKy5jb252ZXJzYXRpb25fcmV2aWV3LnYxLkNvbnZlcnNhdGlvbkNoYW5uZWwioAEKHUdldENvbnZlcnNhdGlvblJldmlld3NSZXF1ZXN0EhIKCnBlcnNvbmFfaWQYASABKAkSQgoHZmlsdGVycxgCIAEoCzIxLmNvbnZlcnNhdGlvbl9yZXZpZXcudjEuQ29udmVyc2F0aW9uUmV2aWV3RmlsdGVycxINCgVsaW1pdBgDIAEoDRIYChBwYWdpbmF0aW9uX3Rva2VuGAQgASgJIqkBCh5HZXRDb252ZXJzYXRpb25SZXZpZXdzUmVzcG9uc2USQAoFaXRlbXMYASADKAsyMS5jb252ZXJzYXRpb25fcmV2aWV3LnYxLkNvbnZlcnNhdGlvblJldmlld1N1bW1hcnkSFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJEhcKD3ByZXZfcGFnZV90b2tlbhgDIAEoCRITCgt0b3RhbF9jb3VudBgEIAEoBSKXAwoZQ29udmVyc2F0aW9uUmV2aWV3U3VtbWFyeRIXCg9jb252ZXJzYXRpb25faWQYASABKAkSFAoKdXNlcl9lbWFpbBgCIAEoCUgAEhoKEHVzZXJfZW1wbG95ZWVfaWQYAyABKAlIABI4CgZzdGF0dXMYBCABKA4yKC5jb252ZXJzYXRpb25fcmV2aWV3LnYxLlJlc29sdXRpb25TdGF0dXMSNwoLdXNlcl9yYXRpbmcYBSABKA4yIi5jb252ZXJzYXRpb25fcmV2aWV3LnYxLlVzZXJSYXRpbmcSEgoKY2F0ZWdvcmllcxgGIAMoCRI8CgdjaGFubmVsGAcgASgOMisuY29udmVyc2F0aW9uX3Jldmlldy52MS5Db252ZXJzYXRpb25DaGFubmVsEi4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgoKCGlkZW50aXR5IkAKFEFjdGlvbldvcmtMb2dTdW1tYXJ5EhQKDGFjdGlvbl90aXRsZRgBIAEoCRISCgpzdGVwX25hbWVzGAIgAygJIj0KIkdldENvbnZlcnNhdGlvblJldmlld0RldGFpbFJlcXVlc3QSFwoPY29udmVyc2F0aW9uX2lkGAEgASgJIuQBCiNHZXRDb252ZXJzYXRpb25SZXZpZXdEZXRhaWxSZXNwb25zZRIXCg9jb252ZXJzYXRpb25faWQYASABKAkSLQoMdXNlcl9jb250ZXh0GAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBI8CgdjaGFubmVsGAMgASgOMisuY29udmVyc2F0aW9uX3Jldmlldy52MS5Db252ZXJzYXRpb25DaGFubmVsEjcKCG1lc3NhZ2VzGAQgAygLMiUuY29udmVyc2F0aW9uX3Jldmlldy52MS5NZXNzYWdlRGV0YWlsItkCCg1NZXNzYWdlRGV0YWlsEjUKD2NoYXRib3RfbWVzc2FnZRgBIAEoCzIcLndvcmtmbG93cy52MS5DaGF0Ym90TWVzc2FnZRJFChNyZXZpZXdlcnNfZmVlZGJhY2tzGAIgAygLMiguY29udmVyc2F0aW9uX3Jldmlldy52MS5SZXZpZXdlckZlZWRiYWNrEjsKDXVzZXJfZmVlZGJhY2sYBSABKAsyJC5jb252ZXJzYXRpb25fcmV2aWV3LnYxLlVzZXJGZWVkYmFjaxIXCg93b3JrZmxvd19ydW5faWQYAyABKAkSRAoOd29ya19sb2dfc3RlcHMYBiADKAsyLC5jb252ZXJzYXRpb25fcmV2aWV3LnYxLkFjdGlvbldvcmtMb2dTdW1tYXJ5Ei4KCmNyZWF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wItQBChBSZXZpZXdlckZlZWRiYWNrEgoKAmlkGAEgASgJEhMKC3Jldmlld2VyX2lkGAIgASgJEhUKDXJldmlld2VyX25hbWUYAyABKAkSFgoOcmV2aWV3ZXJfZW1haWwYBCABKAkSEAoIZmVlZGJhY2sYBSABKAkSLgoKY3JlYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiwwEKDFVzZXJGZWVkYmFjaxISCgptZXNzYWdlX2lkGAEgASgJEg8KB3VzZXJfaWQYAiABKAkSEgoKdXNlcl9lbWFpbBgDIAEoCRIwCg1mZWVkYmFja190eXBlGAQgASgOMhkuZmVlZGJhY2sudjEuRmVlZGJhY2tUeXBlEhgKEGZlZWRiYWNrX2NvbnRlbnQYBSABKAkSLgoKY3JlYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAidAofVXBkYXRlQ29udmVyc2F0aW9uUmV2aWV3UmVxdWVzdBIXCg9jb252ZXJzYXRpb25faWQYASABKAkSOAoGc3RhdHVzGAIgASgOMiguY29udmVyc2F0aW9uX3Jldmlldy52MS5SZXNvbHV0aW9uU3RhdHVzIiIKIFVwZGF0ZUNvbnZlcnNhdGlvblJldmlld1Jlc3BvbnNlIlsKGkFkZFJldmlld2VyRmVlZGJhY2tSZXF1ZXN0EhcKD2NvbnZlcnNhdGlvbl9pZBgBIAEoCRISCgptZXNzYWdlX2lkGAIgASgJEhAKCGZlZWRiYWNrGAMgASgJImIKG0FkZFJldmlld2VyRmVlZGJhY2tSZXNwb25zZRJDChFyZXZpZXdlcl9mZWVkYmFjaxgBIAEoCzIoLmNvbnZlcnNhdGlvbl9yZXZpZXcudjEuUmV2aWV3ZXJGZWVkYmFjayJGCh1VcGRhdGVSZXZpZXdlckZlZWRiYWNrUmVxdWVzdBITCgtmZWVkYmFja19pZBgBIAEoCRIQCghmZWVkYmFjaxgCIAEoCSJlCh5VcGRhdGVSZXZpZXdlckZlZWRiYWNrUmVzcG9uc2USQwoRcmV2aWV3ZXJfZmVlZGJhY2sYASABKAsyKC5jb252ZXJzYXRpb25fcmV2aWV3LnYxLlJldmlld2VyRmVlZGJhY2siNAodRGVsZXRlUmV2aWV3ZXJGZWVkYmFja1JlcXVlc3QSEwoLZmVlZGJhY2tfaWQYASABKAkiIAoeRGVsZXRlUmV2aWV3ZXJGZWVkYmFja1Jlc3BvbnNlKuIBChBSZXNvbHV0aW9uU3RhdHVzEiEKHVJFU09MVVRJT05fU1RBVFVTX1VOU1BFQ0lGSUVEEAASGQoVUkVTT0xVVElPTl9TVEFUVVNfTkVXEAESHAoYUkVTT0xVVElPTl9TVEFUVVNfT1BFTkVEEAISJwojUkVTT0xVVElPTl9TVEFUVVNfTkVFRFNfSU1QUk9WRU1FTlQQAxIpCiVSRVNPTFVUSU9OX1NUQVRVU19ORUVEU19DTEFSSUZJQ0FUSU9OEAQSHgoaUkVTT0xVVElPTl9TVEFUVVNfUkVTT0xWRUQQBSrAAQoTQ29udmVyc2F0aW9uQ2hhbm5lbBIkCiBDT05WRVJTQVRJT05fQ0hBTk5FTF9VTlNQRUNJRklFRBAAEiAKHENPTlZFUlNBVElPTl9DSEFOTkVMX0NIQVRCT1QQARIfChtDT05WRVJTQVRJT05fQ0hBTk5FTF9XRUJBUFAQAhIeChpDT05WRVJTQVRJT05fQ0hBTk5FTF9HQ0hBVBADEiAKHENPTlZFUlNBVElPTl9DSEFOTkVMX01TVEVBTVMQBCp2CgpVc2VyUmF0aW5nEhsKF1VTRVJfUkFUSU5HX1VOU1BFQ0lGSUVEEAASFwoTVVNFUl9SQVRJTkdfTkVVVFJBTBABEhgKFFVTRVJfUkFUSU5HX1BPU0lUSVZFEAISGAoUVVNFUl9SQVRJTkdfTkVHQVRJVkUQAzLiBgoZQ29udmVyc2F0aW9uUmV2aWV3U2VydmljZRKHAQoWR2V0Q29udmVyc2F0aW9uUmV2aWV3cxI1LmNvbnZlcnNhdGlvbl9yZXZpZXcudjEuR2V0Q29udmVyc2F0aW9uUmV2aWV3c1JlcXVlc3QaNi5jb252ZXJzYXRpb25fcmV2aWV3LnYxLkdldENvbnZlcnNhdGlvblJldmlld3NSZXNwb25zZRKNAQoYVXBkYXRlQ29udmVyc2F0aW9uUmV2aWV3EjcuY29udmVyc2F0aW9uX3Jldmlldy52MS5VcGRhdGVDb252ZXJzYXRpb25SZXZpZXdSZXF1ZXN0GjguY29udmVyc2F0aW9uX3Jldmlldy52MS5VcGRhdGVDb252ZXJzYXRpb25SZXZpZXdSZXNwb25zZRKWAQobR2V0Q29udmVyc2F0aW9uUmV2aWV3RGV0YWlsEjouY29udmVyc2F0aW9uX3Jldmlldy52MS5HZXRDb252ZXJzYXRpb25SZXZpZXdEZXRhaWxSZXF1ZXN0GjsuY29udmVyc2F0aW9uX3Jldmlldy52MS5HZXRDb252ZXJzYXRpb25SZXZpZXdEZXRhaWxSZXNwb25zZRJ+ChNBZGRSZXZpZXdlckZlZWRiYWNrEjIuY29udmVyc2F0aW9uX3Jldmlldy52MS5BZGRSZXZpZXdlckZlZWRiYWNrUmVxdWVzdBozLmNvbnZlcnNhdGlvbl9yZXZpZXcudjEuQWRkUmV2aWV3ZXJGZWVkYmFja1Jlc3BvbnNlEocBChZVcGRhdGVSZXZpZXdlckZlZWRiYWNrEjUuY29udmVyc2F0aW9uX3Jldmlldy52MS5VcGRhdGVSZXZpZXdlckZlZWRiYWNrUmVxdWVzdBo2LmNvbnZlcnNhdGlvbl9yZXZpZXcudjEuVXBkYXRlUmV2aWV3ZXJGZWVkYmFja1Jlc3BvbnNlEocBChZEZWxldGVSZXZpZXdlckZlZWRiYWNrEjUuY29udmVyc2F0aW9uX3Jldmlldy52MS5EZWxldGVSZXZpZXdlckZlZWRiYWNrUmVxdWVzdBo2LmNvbnZlcnNhdGlvbl9yZXZpZXcudjEuRGVsZXRlUmV2aWV3ZXJGZWVkYmFja1Jlc3BvbnNlQlhaVmdpdGh1Yi5jb20vRW1hLVVubGltaXRlZC9wcm90b3MvZ28vc2VydmljZS9jb252ZXJzYXRpb25fcmV2aWV3L3YxO2NvbnZlcnNhdGlvbnJldmlld3BiYgZwcm90bzM", [file_google_protobuf_struct, file_google_protobuf_timestamp, file_service_feedback_v1_feedback, file_service_workflows_v1_chatbot]);
12
+ export const file_service_conversation_review_v1_conversation_review = /*@__PURE__*/ fileDesc("CjhzZXJ2aWNlL2NvbnZlcnNhdGlvbl9yZXZpZXcvdjEvY29udmVyc2F0aW9uX3Jldmlldy5wcm90bxIWY29udmVyc2F0aW9uX3Jldmlldy52MSL7AwoZQ29udmVyc2F0aW9uUmV2aWV3RmlsdGVycxIeChZ1c2VyX2ZlZWRiYWNrX3JlY2VpdmVkGAEgASgIEiAKGHJldmlld2VyX2ZlZWRiYWNrX3NoYXJlZBgCIAEoCBIcChRoYXNfdXNlcl9mcnVzdHJhdGlvbhgDIAEoCBIYChB3b3JrZmxvd19mYWlsdXJlGAQgASgIEhgKEG5vX3Jlc3VsdHNfZm91bmQYBSABKAgSFAoMc2VhcmNoX3F1ZXJ5GAYgASgJEhoKEmVtYWlsX3NlYXJjaF9xdWVyeRgHIAEoCRIhChljb252ZXJzYXRpb25fc2VhcmNoX3F1ZXJ5GAggASgJEjAKDGNyZWF0ZWRfZnJvbRgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKY3JlYXRlZF90bxgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASOAoGc3RhdHVzGAsgASgOMiguY29udmVyc2F0aW9uX3Jldmlldy52MS5SZXNvbHV0aW9uU3RhdHVzEjwKB2NoYW5uZWwYDCABKA4yKy5jb252ZXJzYXRpb25fcmV2aWV3LnYxLkNvbnZlcnNhdGlvbkNoYW5uZWwSGwoTY2FsbGVyX3Bob25lX251bWJlchgNIAEoCSKgAQodR2V0Q29udmVyc2F0aW9uUmV2aWV3c1JlcXVlc3QSEgoKcGVyc29uYV9pZBgBIAEoCRJCCgdmaWx0ZXJzGAIgASgLMjEuY29udmVyc2F0aW9uX3Jldmlldy52MS5Db252ZXJzYXRpb25SZXZpZXdGaWx0ZXJzEg0KBWxpbWl0GAMgASgNEhgKEHBhZ2luYXRpb25fdG9rZW4YBCABKAkiqQEKHkdldENvbnZlcnNhdGlvblJldmlld3NSZXNwb25zZRJACgVpdGVtcxgBIAMoCzIxLmNvbnZlcnNhdGlvbl9yZXZpZXcudjEuQ29udmVyc2F0aW9uUmV2aWV3U3VtbWFyeRIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkSFwoPcHJldl9wYWdlX3Rva2VuGAMgASgJEhMKC3RvdGFsX2NvdW50GAQgASgFIrUCChFWb2ljZUNhbGxNZXRhZGF0YRIPCgdjYWxsX2lkGAEgASgJEjMKD2NhbGxfc3RhcnRfdGltZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASHQoVY2FsbF9kdXJhdGlvbl9zZWNvbmRzGAMgASgCEkwKFGNhbGxfZGlzY29ubmVjdGVkX2J5GAQgASgOMiouY29udmVyc2F0aW9uX3Jldmlldy52MS5DYWxsRGlzY29ubmVjdGVkQnlCAhgBEhgKEGNhbGxfdHJhbnNmZXJyZWQYBSABKAgSGwoTY2FsbGVyX3Bob25lX251bWJlchgGIAEoCRI2Cg9kaXNjb25uZWN0ZWRfYnkYByABKA4yHS5jb21tb24udjEuQ2FsbERpc2Nvbm5lY3RlZEJ5IvIDChlDb252ZXJzYXRpb25SZXZpZXdTdW1tYXJ5EhcKD2NvbnZlcnNhdGlvbl9pZBgBIAEoCRIUCgp1c2VyX2VtYWlsGAIgASgJSAASGgoQdXNlcl9lbXBsb3llZV9pZBgDIAEoCUgAEjgKBnN0YXR1cxgEIAEoDjIoLmNvbnZlcnNhdGlvbl9yZXZpZXcudjEuUmVzb2x1dGlvblN0YXR1cxI3Cgt1c2VyX3JhdGluZxgFIAEoDjIiLmNvbnZlcnNhdGlvbl9yZXZpZXcudjEuVXNlclJhdGluZxISCgpjYXRlZ29yaWVzGAYgAygJEjwKB2NoYW5uZWwYByABKA4yKy5jb252ZXJzYXRpb25fcmV2aWV3LnYxLkNvbnZlcnNhdGlvbkNoYW5uZWwSLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASRgoOdm9pY2VfbWV0YWRhdGEYCiABKAsyKS5jb252ZXJzYXRpb25fcmV2aWV3LnYxLlZvaWNlQ2FsbE1ldGFkYXRhSAGIAQFCCgoIaWRlbnRpdHlCEQoPX3ZvaWNlX21ldGFkYXRhIkAKFEFjdGlvbldvcmtMb2dTdW1tYXJ5EhQKDGFjdGlvbl90aXRsZRgBIAEoCRISCgpzdGVwX25hbWVzGAIgAygJIj0KIkdldENvbnZlcnNhdGlvblJldmlld0RldGFpbFJlcXVlc3QSFwoPY29udmVyc2F0aW9uX2lkGAEgASgJIoECCiNHZXRDb252ZXJzYXRpb25SZXZpZXdEZXRhaWxSZXNwb25zZRIXCg9jb252ZXJzYXRpb25faWQYASABKAkSLQoMdXNlcl9jb250ZXh0GAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBI8CgdjaGFubmVsGAMgASgOMisuY29udmVyc2F0aW9uX3Jldmlldy52MS5Db252ZXJzYXRpb25DaGFubmVsEjcKCG1lc3NhZ2VzGAQgAygLMiUuY29udmVyc2F0aW9uX3Jldmlldy52MS5NZXNzYWdlRGV0YWlsEhsKE2NhbGxfcmVjb3JkaW5nX3VybHMYBSADKAki2QIKDU1lc3NhZ2VEZXRhaWwSNQoPY2hhdGJvdF9tZXNzYWdlGAEgASgLMhwud29ya2Zsb3dzLnYxLkNoYXRib3RNZXNzYWdlEkUKE3Jldmlld2Vyc19mZWVkYmFja3MYAiADKAsyKC5jb252ZXJzYXRpb25fcmV2aWV3LnYxLlJldmlld2VyRmVlZGJhY2sSOwoNdXNlcl9mZWVkYmFjaxgFIAEoCzIkLmNvbnZlcnNhdGlvbl9yZXZpZXcudjEuVXNlckZlZWRiYWNrEhcKD3dvcmtmbG93X3J1bl9pZBgDIAEoCRJECg53b3JrX2xvZ19zdGVwcxgGIAMoCzIsLmNvbnZlcnNhdGlvbl9yZXZpZXcudjEuQWN0aW9uV29ya0xvZ1N1bW1hcnkSLgoKY3JlYXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAi1AEKEFJldmlld2VyRmVlZGJhY2sSCgoCaWQYASABKAkSEwoLcmV2aWV3ZXJfaWQYAiABKAkSFQoNcmV2aWV3ZXJfbmFtZRgDIAEoCRIWCg5yZXZpZXdlcl9lbWFpbBgEIAEoCRIQCghmZWVkYmFjaxgFIAEoCRIuCgpjcmVhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLDAQoMVXNlckZlZWRiYWNrEhIKCm1lc3NhZ2VfaWQYASABKAkSDwoHdXNlcl9pZBgCIAEoCRISCgp1c2VyX2VtYWlsGAMgASgJEjAKDWZlZWRiYWNrX3R5cGUYBCABKA4yGS5mZWVkYmFjay52MS5GZWVkYmFja1R5cGUSGAoQZmVlZGJhY2tfY29udGVudBgFIAEoCRIuCgpjcmVhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJ0Ch9VcGRhdGVDb252ZXJzYXRpb25SZXZpZXdSZXF1ZXN0EhcKD2NvbnZlcnNhdGlvbl9pZBgBIAEoCRI4CgZzdGF0dXMYAiABKA4yKC5jb252ZXJzYXRpb25fcmV2aWV3LnYxLlJlc29sdXRpb25TdGF0dXMiIgogVXBkYXRlQ29udmVyc2F0aW9uUmV2aWV3UmVzcG9uc2UiWwoaQWRkUmV2aWV3ZXJGZWVkYmFja1JlcXVlc3QSFwoPY29udmVyc2F0aW9uX2lkGAEgASgJEhIKCm1lc3NhZ2VfaWQYAiABKAkSEAoIZmVlZGJhY2sYAyABKAkiYgobQWRkUmV2aWV3ZXJGZWVkYmFja1Jlc3BvbnNlEkMKEXJldmlld2VyX2ZlZWRiYWNrGAEgASgLMiguY29udmVyc2F0aW9uX3Jldmlldy52MS5SZXZpZXdlckZlZWRiYWNrIkYKHVVwZGF0ZVJldmlld2VyRmVlZGJhY2tSZXF1ZXN0EhMKC2ZlZWRiYWNrX2lkGAEgASgJEhAKCGZlZWRiYWNrGAIgASgJImUKHlVwZGF0ZVJldmlld2VyRmVlZGJhY2tSZXNwb25zZRJDChFyZXZpZXdlcl9mZWVkYmFjaxgBIAEoCzIoLmNvbnZlcnNhdGlvbl9yZXZpZXcudjEuUmV2aWV3ZXJGZWVkYmFjayI0Ch1EZWxldGVSZXZpZXdlckZlZWRiYWNrUmVxdWVzdBITCgtmZWVkYmFja19pZBgBIAEoCSIgCh5EZWxldGVSZXZpZXdlckZlZWRiYWNrUmVzcG9uc2Uq4gEKEFJlc29sdXRpb25TdGF0dXMSIQodUkVTT0xVVElPTl9TVEFUVVNfVU5TUEVDSUZJRUQQABIZChVSRVNPTFVUSU9OX1NUQVRVU19ORVcQARIcChhSRVNPTFVUSU9OX1NUQVRVU19PUEVORUQQAhInCiNSRVNPTFVUSU9OX1NUQVRVU19ORUVEU19JTVBST1ZFTUVOVBADEikKJVJFU09MVVRJT05fU1RBVFVTX05FRURTX0NMQVJJRklDQVRJT04QBBIeChpSRVNPTFVUSU9OX1NUQVRVU19SRVNPTFZFRBAFKuABChNDb252ZXJzYXRpb25DaGFubmVsEiQKIENPTlZFUlNBVElPTl9DSEFOTkVMX1VOU1BFQ0lGSUVEEAASIAocQ09OVkVSU0FUSU9OX0NIQU5ORUxfQ0hBVEJPVBABEh8KG0NPTlZFUlNBVElPTl9DSEFOTkVMX1dFQkFQUBACEh4KGkNPTlZFUlNBVElPTl9DSEFOTkVMX0dDSEFUEAMSIAocQ09OVkVSU0FUSU9OX0NIQU5ORUxfTVNURUFNUxAEEh4KGkNPTlZFUlNBVElPTl9DSEFOTkVMX1ZPSUNFEAUqdgoKVXNlclJhdGluZxIbChdVU0VSX1JBVElOR19VTlNQRUNJRklFRBAAEhcKE1VTRVJfUkFUSU5HX05FVVRSQUwQARIYChRVU0VSX1JBVElOR19QT1NJVElWRRACEhgKFFVTRVJfUkFUSU5HX05FR0FUSVZFEAMqogEKEkNhbGxEaXNjb25uZWN0ZWRCeRIkCiBDQUxMX0RJU0NPTk5FQ1RFRF9CWV9VTlNQRUNJRklFRBAAEh0KGUNBTExfRElTQ09OTkVDVEVEX0JZX1VTRVIQARIcChhDQUxMX0RJU0NPTk5FQ1RFRF9CWV9FTUEQAhIlCiFDQUxMX0RJU0NPTk5FQ1RFRF9CWV9TWVNURU1fRVJST1IQAxoCGAEy4gYKGUNvbnZlcnNhdGlvblJldmlld1NlcnZpY2UShwEKFkdldENvbnZlcnNhdGlvblJldmlld3MSNS5jb252ZXJzYXRpb25fcmV2aWV3LnYxLkdldENvbnZlcnNhdGlvblJldmlld3NSZXF1ZXN0GjYuY29udmVyc2F0aW9uX3Jldmlldy52MS5HZXRDb252ZXJzYXRpb25SZXZpZXdzUmVzcG9uc2USjQEKGFVwZGF0ZUNvbnZlcnNhdGlvblJldmlldxI3LmNvbnZlcnNhdGlvbl9yZXZpZXcudjEuVXBkYXRlQ29udmVyc2F0aW9uUmV2aWV3UmVxdWVzdBo4LmNvbnZlcnNhdGlvbl9yZXZpZXcudjEuVXBkYXRlQ29udmVyc2F0aW9uUmV2aWV3UmVzcG9uc2USlgEKG0dldENvbnZlcnNhdGlvblJldmlld0RldGFpbBI6LmNvbnZlcnNhdGlvbl9yZXZpZXcudjEuR2V0Q29udmVyc2F0aW9uUmV2aWV3RGV0YWlsUmVxdWVzdBo7LmNvbnZlcnNhdGlvbl9yZXZpZXcudjEuR2V0Q29udmVyc2F0aW9uUmV2aWV3RGV0YWlsUmVzcG9uc2USfgoTQWRkUmV2aWV3ZXJGZWVkYmFjaxIyLmNvbnZlcnNhdGlvbl9yZXZpZXcudjEuQWRkUmV2aWV3ZXJGZWVkYmFja1JlcXVlc3QaMy5jb252ZXJzYXRpb25fcmV2aWV3LnYxLkFkZFJldmlld2VyRmVlZGJhY2tSZXNwb25zZRKHAQoWVXBkYXRlUmV2aWV3ZXJGZWVkYmFjaxI1LmNvbnZlcnNhdGlvbl9yZXZpZXcudjEuVXBkYXRlUmV2aWV3ZXJGZWVkYmFja1JlcXVlc3QaNi5jb252ZXJzYXRpb25fcmV2aWV3LnYxLlVwZGF0ZVJldmlld2VyRmVlZGJhY2tSZXNwb25zZRKHAQoWRGVsZXRlUmV2aWV3ZXJGZWVkYmFjaxI1LmNvbnZlcnNhdGlvbl9yZXZpZXcudjEuRGVsZXRlUmV2aWV3ZXJGZWVkYmFja1JlcXVlc3QaNi5jb252ZXJzYXRpb25fcmV2aWV3LnYxLkRlbGV0ZVJldmlld2VyRmVlZGJhY2tSZXNwb25zZUJYWlZnaXRodWIuY29tL0VtYS1VbmxpbWl0ZWQvcHJvdG9zL2dvL3NlcnZpY2UvY29udmVyc2F0aW9uX3Jldmlldy92MTtjb252ZXJzYXRpb25yZXZpZXdwYmIGcHJvdG8z", [file_google_protobuf_struct, file_google_protobuf_timestamp, file_service_common_v1_common, file_service_feedback_v1_feedback, file_service_workflows_v1_chatbot]);
12
13
  /**
13
14
  * Describes the message conversation_review.v1.ConversationReviewFilters.
14
15
  * Use `create(ConversationReviewFiltersSchema)` to create a new message.
@@ -24,81 +25,86 @@ export const GetConversationReviewsRequestSchema = /*@__PURE__*/ messageDesc(fil
24
25
  * Use `create(GetConversationReviewsResponseSchema)` to create a new message.
25
26
  */
26
27
  export const GetConversationReviewsResponseSchema = /*@__PURE__*/ messageDesc(file_service_conversation_review_v1_conversation_review, 2);
28
+ /**
29
+ * Describes the message conversation_review.v1.VoiceCallMetadata.
30
+ * Use `create(VoiceCallMetadataSchema)` to create a new message.
31
+ */
32
+ export const VoiceCallMetadataSchema = /*@__PURE__*/ messageDesc(file_service_conversation_review_v1_conversation_review, 3);
27
33
  /**
28
34
  * Describes the message conversation_review.v1.ConversationReviewSummary.
29
35
  * Use `create(ConversationReviewSummarySchema)` to create a new message.
30
36
  */
31
- export const ConversationReviewSummarySchema = /*@__PURE__*/ messageDesc(file_service_conversation_review_v1_conversation_review, 3);
37
+ export const ConversationReviewSummarySchema = /*@__PURE__*/ messageDesc(file_service_conversation_review_v1_conversation_review, 4);
32
38
  /**
33
39
  * Describes the message conversation_review.v1.ActionWorkLogSummary.
34
40
  * Use `create(ActionWorkLogSummarySchema)` to create a new message.
35
41
  */
36
- export const ActionWorkLogSummarySchema = /*@__PURE__*/ messageDesc(file_service_conversation_review_v1_conversation_review, 4);
42
+ export const ActionWorkLogSummarySchema = /*@__PURE__*/ messageDesc(file_service_conversation_review_v1_conversation_review, 5);
37
43
  /**
38
44
  * Describes the message conversation_review.v1.GetConversationReviewDetailRequest.
39
45
  * Use `create(GetConversationReviewDetailRequestSchema)` to create a new message.
40
46
  */
41
- export const GetConversationReviewDetailRequestSchema = /*@__PURE__*/ messageDesc(file_service_conversation_review_v1_conversation_review, 5);
47
+ export const GetConversationReviewDetailRequestSchema = /*@__PURE__*/ messageDesc(file_service_conversation_review_v1_conversation_review, 6);
42
48
  /**
43
49
  * Describes the message conversation_review.v1.GetConversationReviewDetailResponse.
44
50
  * Use `create(GetConversationReviewDetailResponseSchema)` to create a new message.
45
51
  */
46
- export const GetConversationReviewDetailResponseSchema = /*@__PURE__*/ messageDesc(file_service_conversation_review_v1_conversation_review, 6);
52
+ export const GetConversationReviewDetailResponseSchema = /*@__PURE__*/ messageDesc(file_service_conversation_review_v1_conversation_review, 7);
47
53
  /**
48
54
  * Describes the message conversation_review.v1.MessageDetail.
49
55
  * Use `create(MessageDetailSchema)` to create a new message.
50
56
  */
51
- export const MessageDetailSchema = /*@__PURE__*/ messageDesc(file_service_conversation_review_v1_conversation_review, 7);
57
+ export const MessageDetailSchema = /*@__PURE__*/ messageDesc(file_service_conversation_review_v1_conversation_review, 8);
52
58
  /**
53
59
  * Describes the message conversation_review.v1.ReviewerFeedback.
54
60
  * Use `create(ReviewerFeedbackSchema)` to create a new message.
55
61
  */
56
- export const ReviewerFeedbackSchema = /*@__PURE__*/ messageDesc(file_service_conversation_review_v1_conversation_review, 8);
62
+ export const ReviewerFeedbackSchema = /*@__PURE__*/ messageDesc(file_service_conversation_review_v1_conversation_review, 9);
57
63
  /**
58
64
  * Describes the message conversation_review.v1.UserFeedback.
59
65
  * Use `create(UserFeedbackSchema)` to create a new message.
60
66
  */
61
- export const UserFeedbackSchema = /*@__PURE__*/ messageDesc(file_service_conversation_review_v1_conversation_review, 9);
67
+ export const UserFeedbackSchema = /*@__PURE__*/ messageDesc(file_service_conversation_review_v1_conversation_review, 10);
62
68
  /**
63
69
  * Describes the message conversation_review.v1.UpdateConversationReviewRequest.
64
70
  * Use `create(UpdateConversationReviewRequestSchema)` to create a new message.
65
71
  */
66
- export const UpdateConversationReviewRequestSchema = /*@__PURE__*/ messageDesc(file_service_conversation_review_v1_conversation_review, 10);
72
+ export const UpdateConversationReviewRequestSchema = /*@__PURE__*/ messageDesc(file_service_conversation_review_v1_conversation_review, 11);
67
73
  /**
68
74
  * Describes the message conversation_review.v1.UpdateConversationReviewResponse.
69
75
  * Use `create(UpdateConversationReviewResponseSchema)` to create a new message.
70
76
  */
71
- export const UpdateConversationReviewResponseSchema = /*@__PURE__*/ messageDesc(file_service_conversation_review_v1_conversation_review, 11);
77
+ export const UpdateConversationReviewResponseSchema = /*@__PURE__*/ messageDesc(file_service_conversation_review_v1_conversation_review, 12);
72
78
  /**
73
79
  * Describes the message conversation_review.v1.AddReviewerFeedbackRequest.
74
80
  * Use `create(AddReviewerFeedbackRequestSchema)` to create a new message.
75
81
  */
76
- export const AddReviewerFeedbackRequestSchema = /*@__PURE__*/ messageDesc(file_service_conversation_review_v1_conversation_review, 12);
82
+ export const AddReviewerFeedbackRequestSchema = /*@__PURE__*/ messageDesc(file_service_conversation_review_v1_conversation_review, 13);
77
83
  /**
78
84
  * Describes the message conversation_review.v1.AddReviewerFeedbackResponse.
79
85
  * Use `create(AddReviewerFeedbackResponseSchema)` to create a new message.
80
86
  */
81
- export const AddReviewerFeedbackResponseSchema = /*@__PURE__*/ messageDesc(file_service_conversation_review_v1_conversation_review, 13);
87
+ export const AddReviewerFeedbackResponseSchema = /*@__PURE__*/ messageDesc(file_service_conversation_review_v1_conversation_review, 14);
82
88
  /**
83
89
  * Describes the message conversation_review.v1.UpdateReviewerFeedbackRequest.
84
90
  * Use `create(UpdateReviewerFeedbackRequestSchema)` to create a new message.
85
91
  */
86
- export const UpdateReviewerFeedbackRequestSchema = /*@__PURE__*/ messageDesc(file_service_conversation_review_v1_conversation_review, 14);
92
+ export const UpdateReviewerFeedbackRequestSchema = /*@__PURE__*/ messageDesc(file_service_conversation_review_v1_conversation_review, 15);
87
93
  /**
88
94
  * Describes the message conversation_review.v1.UpdateReviewerFeedbackResponse.
89
95
  * Use `create(UpdateReviewerFeedbackResponseSchema)` to create a new message.
90
96
  */
91
- export const UpdateReviewerFeedbackResponseSchema = /*@__PURE__*/ messageDesc(file_service_conversation_review_v1_conversation_review, 15);
97
+ export const UpdateReviewerFeedbackResponseSchema = /*@__PURE__*/ messageDesc(file_service_conversation_review_v1_conversation_review, 16);
92
98
  /**
93
99
  * Describes the message conversation_review.v1.DeleteReviewerFeedbackRequest.
94
100
  * Use `create(DeleteReviewerFeedbackRequestSchema)` to create a new message.
95
101
  */
96
- export const DeleteReviewerFeedbackRequestSchema = /*@__PURE__*/ messageDesc(file_service_conversation_review_v1_conversation_review, 16);
102
+ export const DeleteReviewerFeedbackRequestSchema = /*@__PURE__*/ messageDesc(file_service_conversation_review_v1_conversation_review, 17);
97
103
  /**
98
104
  * Describes the message conversation_review.v1.DeleteReviewerFeedbackResponse.
99
105
  * Use `create(DeleteReviewerFeedbackResponseSchema)` to create a new message.
100
106
  */
101
- export const DeleteReviewerFeedbackResponseSchema = /*@__PURE__*/ messageDesc(file_service_conversation_review_v1_conversation_review, 17);
107
+ export const DeleteReviewerFeedbackResponseSchema = /*@__PURE__*/ messageDesc(file_service_conversation_review_v1_conversation_review, 18);
102
108
  /**
103
109
  * @generated from enum conversation_review.v1.ResolutionStatus
104
110
  */
@@ -158,6 +164,10 @@ export var ConversationChannel;
158
164
  * @generated from enum value: CONVERSATION_CHANNEL_MSTEAMS = 4;
159
165
  */
160
166
  ConversationChannel[ConversationChannel["MSTEAMS"] = 4] = "MSTEAMS";
167
+ /**
168
+ * @generated from enum value: CONVERSATION_CHANNEL_VOICE = 5;
169
+ */
170
+ ConversationChannel[ConversationChannel["VOICE"] = 5] = "VOICE";
161
171
  })(ConversationChannel || (ConversationChannel = {}));
162
172
  /**
163
173
  * Describes the enum conversation_review.v1.ConversationChannel.
@@ -189,6 +199,43 @@ export var UserRating;
189
199
  * Describes the enum conversation_review.v1.UserRating.
190
200
  */
191
201
  export const UserRatingSchema = /*@__PURE__*/ enumDesc(file_service_conversation_review_v1_conversation_review, 2);
202
+ /**
203
+ * CallDisconnectedBy indicates which party ended the voice call.
204
+ * Deprecated: use common.v1.CallDisconnectedBy instead.
205
+ *
206
+ * @generated from enum conversation_review.v1.CallDisconnectedBy
207
+ * @deprecated
208
+ */
209
+ export var CallDisconnectedBy;
210
+ (function (CallDisconnectedBy) {
211
+ /**
212
+ * @generated from enum value: CALL_DISCONNECTED_BY_UNSPECIFIED = 0;
213
+ */
214
+ CallDisconnectedBy[CallDisconnectedBy["UNSPECIFIED"] = 0] = "UNSPECIFIED";
215
+ /**
216
+ * Caller hung up
217
+ *
218
+ * @generated from enum value: CALL_DISCONNECTED_BY_USER = 1;
219
+ */
220
+ CallDisconnectedBy[CallDisconnectedBy["USER"] = 1] = "USER";
221
+ /**
222
+ * Ema ended the call (e.g., after resolution)
223
+ *
224
+ * @generated from enum value: CALL_DISCONNECTED_BY_EMA = 2;
225
+ */
226
+ CallDisconnectedBy[CallDisconnectedBy["EMA"] = 2] = "EMA";
227
+ /**
228
+ * Call dropped due to technical issues
229
+ *
230
+ * @generated from enum value: CALL_DISCONNECTED_BY_SYSTEM_ERROR = 3;
231
+ */
232
+ CallDisconnectedBy[CallDisconnectedBy["SYSTEM_ERROR"] = 3] = "SYSTEM_ERROR";
233
+ })(CallDisconnectedBy || (CallDisconnectedBy = {}));
234
+ /**
235
+ * Describes the enum conversation_review.v1.CallDisconnectedBy.
236
+ * @deprecated
237
+ */
238
+ export const CallDisconnectedBySchema = /*@__PURE__*/ enumDesc(file_service_conversation_review_v1_conversation_review, 3);
192
239
  /**
193
240
  * Service definition
194
241
  *
@@ -8,7 +8,7 @@ import { file_service_utils_v1_agent_qa } from "../../utils/v1/agent_qa_pb.js";
8
8
  /**
9
9
  * Describes the file service/dataingest/v1/dataingest.proto.
10
10
  */
11
- export const file_service_dataingest_v1_dataingest = /*@__PURE__*/ fileDesc("CiZzZXJ2aWNlL2RhdGFpbmdlc3QvdjEvZGF0YWluZ2VzdC5wcm90bxINZGF0YWluZ2VzdC52MSIsChhHZXRTaWduZWRJbWFnZVVybFJlcXVlc3QSEAoIaW1hZ2VfaWQYASABKAkiQgoZR2V0U2lnbmVkSW1hZ2VVcmxSZXNwb25zZRISCgpzaWduZWRfdXJsGAEgASgJEhEKCW1pbWVfdHlwZRgCIAEoCSImChNHZXRTaWduZWRVcmxSZXF1ZXN0Eg8KB2ZpbGVfaWQYASABKAkiYAoUR2V0U2lnbmVkVXJsUmVzcG9uc2USEgoKc2lnbmVkX3VybBgBIAEoCRIRCgltaW1lX3R5cGUYAiABKAkSDQoFdGl0bGUYAyABKAkSEgoKaXNfZGVsZXRlZBgEIAEoCCIiCg5BZ2VudFFBRmlsZUlkcxIQCghmaWxlX2lkcxgBIAMoCSIqChJBZ2VudFFBUmVzb3VyY2VJZHMSFAoMcmVzb3VyY2VfaWRzGAEgAygJIiYKEEFnZW50UUFGaWxlTmFtZXMSEgoKZmlsZV9uYW1lcxgBIAMoCSKvAgoUQWdlbnRRQVRyYW5zY3JpcHRpb24SFwoPdHJhbnNjcmlwdF90ZXh0GAEgASgJEjoKBnN0YXR1cxgCIAEoDjIqLmRhdGFpbmdlc3QudjEuQWdlbnRRQVRyYW5zY3JpcHRpb24uU3RhdHVzEhEKCWZpbGVfbmFtZRgDIAEoCRIvCghtZXNzYWdlcxgEIAMoCzIdLnV0aWxzLnYxLlFBVHJhbnNjcmlwdE1lc3NhZ2UifgoGU3RhdHVzEg0KCU5PVF9GT1VORBAAEhYKElVQTE9BRF9JTl9QUk9HUkVTUxABEh0KGVRSQU5TQ1JJUFRJT05fSU5fUFJPR1JFU1MQAhIUChBUUkFOU0NSSVBUX1JFQURZEAMSGAoUVFJBTlNDUklQVElPTl9GQUlMRUQQBCJTCiBHZXRBZ2VudFFBQXVkaW9Hb2xkZW5EYXRhUmVxdWVzdBISCgpwZXJzb25hX2lkGAEgASgJEhsKE2luY2x1ZGVfdHJhbnNjcmlwdHMYAiABKAgiwgEKIUdldEFnZW50UUFBdWRpb0dvbGRlbkRhdGFSZXNwb25zZRJKCgVmaWxlcxgBIAMoCzI7LmRhdGFpbmdlc3QudjEuR2V0QWdlbnRRQUF1ZGlvR29sZGVuRGF0YVJlc3BvbnNlLkZpbGVzRW50cnkaUQoKRmlsZXNFbnRyeRILCgNrZXkYASABKAkSMgoFdmFsdWUYAiABKAsyIy5kYXRhaW5nZXN0LnYxLkFnZW50UUFUcmFuc2NyaXB0aW9uOgI4ASKCAgofR2V0QWdlbnRRQVRyYW5zY3JpcHRpb25zUmVxdWVzdBISCgpwZXJzb25hX2lkGAEgASgJEjUKCGZpbGVfaWRzGAIgASgLMh0uZGF0YWluZ2VzdC52MS5BZ2VudFFBRmlsZUlkc0ICGAFIABI5CgxyZXNvdXJjZV9pZHMYAyABKAsyIS5kYXRhaW5nZXN0LnYxLkFnZW50UUFSZXNvdXJjZUlkc0gAEjUKCmZpbGVfbmFtZXMYBSABKAsyHy5kYXRhaW5nZXN0LnYxLkFnZW50UUFGaWxlTmFtZXNIABIbChNpbmNsdWRlX3RyYW5zY3JpcHRzGAQgASgIQgUKA2lkcyLAAQogR2V0QWdlbnRRQVRyYW5zY3JpcHRpb25zUmVzcG9uc2USSQoFZmlsZXMYASADKAsyOi5kYXRhaW5nZXN0LnYxLkdldEFnZW50UUFUcmFuc2NyaXB0aW9uc1Jlc3BvbnNlLkZpbGVzRW50cnkaUQoKRmlsZXNFbnRyeRILCgNrZXkYASABKAkSMgoFdmFsdWUYAiABKAsyIy5kYXRhaW5nZXN0LnYxLkFnZW50UUFUcmFuc2NyaXB0aW9uOgI4ASJJCiJEZWxldGVBZ2VudFFBR29sZGVuRGF0YUZpbGVSZXF1ZXN0EhIKCnBlcnNvbmFfaWQYASABKAkSDwoHZmlsZV9pZBgCIAEoCSIlCiNEZWxldGVBZ2VudFFBR29sZGVuRGF0YUZpbGVSZXNwb25zZSKJAQoLSW50ZWdyYXRpb24SDQoFZW1haWwYASABKAkSEAoIY2F0ZWdvcnkYAiABKAkSEwoLaW50ZWdyYXRpb24YAyABKAkSGAoQaW50ZWdyYXRpb25fbmFtZRgEIAEoCRIaChJlbmRfdXNlcl9vcmlnaW5faWQYBSABKAkSDgoGc3RhdHVzGAYgASgJImwKGkluaXRpYXRlSW50ZWdyYXRpb25SZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEhAKCGNhdGVnb3J5GAIgASgJEhMKC2ludGVncmF0aW9uGAMgASgJEhgKEGludGVncmF0aW9uX25hbWUYBCABKAkiNwobSW5pdGlhdGVJbnRlZ3JhdGlvblJlc3BvbnNlEhgKEG1lcmdlX2xpbmtfdG9rZW4YASABKAkiWQoYRmluaXNoSW50ZWdyYXRpb25SZXF1ZXN0EhgKEGludGVncmF0aW9uX25hbWUYASABKAkSFAoMcHVibGljX3Rva2VuGAIgASgJEg0KBWVtYWlsGAMgASgJIhsKGUZpbmlzaEludGVncmF0aW9uUmVzcG9uc2UiGAoWR2V0SW50ZWdyYXRpb25zUmVxdWVzdCJLChdHZXRJbnRlZ3JhdGlvbnNSZXNwb25zZRIwCgxpbnRlZ3JhdGlvbnMYASADKAsyGi5kYXRhaW5nZXN0LnYxLkludGVncmF0aW9uIsEBChRNZXJnZUZpbGVTdG9yYWdlRGF0YRI4CgtvdXRwdXRfdHlwZRgBIAEoDjIjLmRhdGFpbmdlc3QudjEuRmlsZVBpY2tlck9iamVjdFR5cGUSCgoCaWQYAiABKAkSDAoEbmFtZRgDIAEoCRITCgtkZXNjcmlwdGlvbhgEIAEoCRILCgN1cmwYBSABKAkSEgoKdXBkYXRlZF9hdBgGIAEoCRIMCgRzaXplGAcgASgEEhEKCW1pbWVfdHlwZRgIIAEoCSKwAgoZRmlsZVBpY2tlck9uU3VibWl0UmVxdWVzdBI9ChBzZWxlY3RlZF9vYmplY3RzGAEgAygLMiMuZGF0YWluZ2VzdC52MS5NZXJnZUZpbGVTdG9yYWdlRGF0YRIcCg9jb252ZXJzYXRpb25faWQYAiABKAlIAIgBARIaChJlbmRfdXNlcl9vcmlnaW5faWQYAyABKAkSEgoKZ3JvdXBfdHlwZRgEIAEoCRIQCghncm91cF9pZBgFIAEoCRIMCgR0YWdzGAYgAygJEhgKC3dpZGdldF9uYW1lGAcgASgJSAGIAQESGAoLY29sdW1uX25hbWUYCCABKAlIAogBAUISChBfY29udmVyc2F0aW9uX2lkQg4KDF93aWRnZXRfbmFtZUIOCgxfY29sdW1uX25hbWUiHAoaRmlsZVBpY2tlck9uU3VibWl0UmVzcG9uc2UiqQEKF0ZpbGVQaWNrZXJTdGF0dXNSZXF1ZXN0EhwKD2NvbnZlcnNhdGlvbl9pZBgBIAEoCUgAiAEBEhIKCmdyb3VwX3R5cGUYAiABKAkSEAoIZ3JvdXBfaWQYAyABKAkSDAoEdGFncxgEIAMoCRIYCgt3aWRnZXRfbmFtZRgFIAEoCUgBiAEBQhIKEF9jb252ZXJzYXRpb25faWRCDgoMX3dpZGdldF9uYW1lIr0BCgpGaWxlU3RhdHVzEgoKAmlkGAEgASgJEg4KBnN0YXR1cxgCIAEoCRIMCgRzaXplGAMgASgJEhEKCW1pbWVfdHlwZRgEIAEoCRIMCgRuYW1lGAUgASgJEh8KEmluZmVycmVkX21pbWVfdHlwZRgGIAEoCUgAiAEBEhIKCnVwZGF0ZWRfYXQYByABKAMSGAoQbGFzdF9zZWxlY3RlZF9hdBgJIAEoA0IVChNfaW5mZXJyZWRfbWltZV90eXBlIkwKGEZpbGVQaWNrZXJTdGF0dXNSZXNwb25zZRIwCg1maWxlX3N0YXR1c2VzGAEgAygLMhkuZGF0YWluZ2VzdC52MS5GaWxlU3RhdHVzIncKDlNlbGVjdGVkT2JqZWN0EjgKC291dHB1dF90eXBlGAEgASgOMiMuZGF0YWluZ2VzdC52MS5GaWxlUGlja2VyT2JqZWN0VHlwZRIKCgJpZBgCIAEoCRIMCgRuYW1lGAMgASgJEhEKCW1pbWVfdHlwZRgEIAEoCSKsBQoXRmlsZVBpY2tlclVwbG9hZFJlcXVlc3QSEgoKZ3JvdXBfdHlwZRgBIAEoCRIQCghncm91cF9pZBgCIAEoCRIaChJlbmRfdXNlcl9vcmlnaW5faWQYAyABKAkSNwoQc2VsZWN0ZWRfb2JqZWN0cxgEIAMoCzIdLmRhdGFpbmdlc3QudjEuU2VsZWN0ZWRPYmplY3QSDAoEdGFncxgFIAMoCRIYCgt3aWRnZXRfbmFtZRgGIAEoCUgBiAEBEhgKC2NvbHVtbl9uYW1lGAcgASgJSAKIAQESIQoUZGFzaGJvYXJkX2JhdGNoX21vZGUYCCABKAhIA4gBARJUChppbnRlZ3JhdGVkX2FwcGxpY2F0aW9uX2tleRgJIAEoDjInLmRhdGFpbmdlc3QudjEuSW50ZWdyYXRlZEFwcGxpY2F0aW9uS2V5QgIYAUgEiAEBEjsKDnVybF9iYXNlZF9kYXRhGAogASgLMiEuZGF0YWluZ2VzdC52MS5VcmxCYXNlZFNvdXJjZURhdGFIABI5Cg1pZF9iYXNlZF9kYXRhGAsgASgLMiAuZGF0YWluZ2VzdC52MS5JZEJhc2VkU291cmNlRGF0YUgAEhwKD2FwcGxpY2F0aW9uX2tleRgMIAEoCUgFiAEBEhYKCWNvbHVtbl9pZBgNIAEoCUgGiAEBEhYKCWFjdGlvbl9pZBgOIAEoCUgHiAEBQg0KC3NvdXJjZV9kYXRhQg4KDF93aWRnZXRfbmFtZUIOCgxfY29sdW1uX25hbWVCFwoVX2Rhc2hib2FyZF9iYXRjaF9tb2RlQh0KG19pbnRlZ3JhdGVkX2FwcGxpY2F0aW9uX2tleUISChBfYXBwbGljYXRpb25fa2V5QgwKCl9jb2x1bW5faWRCDAoKX2FjdGlvbl9pZCI/ChhGaWxlUGlja2VyVXBsb2FkUmVzcG9uc2USEwoLd29ya2Zsb3dfaWQYASABKAkSDgoGcnVuX2lkGAIgASgJIkcKIEdldEZpbGVQaWNrZXJVcGxvYWRTdGF0dXNSZXF1ZXN0EhMKC3dvcmtmbG93X2lkGAEgASgJEg4KBnJ1bl9pZBgCIAEoCSJGChZGaWxlUGlja2VyVXBsb2FkU3RhdHVzEhMKC3RvdGFsX2ZpbGVzGAEgASgNEhcKD2NvbXBsZXRlZF9maWxlcxgCIAEoDSKLAQoaRGVsZXRlRmlsZXNGb3JHcm91cFJlcXVlc3QSEAoIZ3JvdXBfaWQYASABKAkSNAoKZ3JvdXBfdHlwZRgCIAEoDjIgLmRhdGFpbmdlc3QudjEuRGVsZXRpb25Hcm91cFR5cGUSEAoIZmlsZV9pZHMYAyADKAkSEwoLd2lkZ2V0X25hbWUYBCABKAkiHQobRGVsZXRlRmlsZXNGb3JHcm91cFJlc3BvbnNlIk8KFkdldEZpbGVzSW5Hcm91cFJlcXVlc3QSEgoKZ3JvdXBfdHlwZRgBIAEoCRIQCghncm91cF9pZBgCIAEoCRIPCgdjb250ZXh0GAMgASgJIiAKBEZpbGUSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCSIuCghGaWxlTGlzdBIiCgVmaWxlcxgBIAMoCzITLmRhdGFpbmdlc3QudjEuRmlsZSKsAQoXR2V0RmlsZXNJbkdyb3VwUmVzcG9uc2USRwoJdGFnX2ZpbGVzGAEgAygLMjQuZGF0YWluZ2VzdC52MS5HZXRGaWxlc0luR3JvdXBSZXNwb25zZS5UYWdGaWxlc0VudHJ5GkgKDVRhZ0ZpbGVzRW50cnkSCwoDa2V5GAEgASgJEiYKBXZhbHVlGAIgASgLMhcuZGF0YWluZ2VzdC52MS5GaWxlTGlzdDoCOAEiZQoVQ1JNR2V0Q29udGFjdHNSZXF1ZXN0Eg8KB2VuZ2FnZWQYASABKAgSDgoGc3RhZ2VzGAIgAygJEisKCXRpbWVmcmFtZRgDIAEoDjIYLmRhdGFpbmdlc3QudjEuVGltZUZyYW1lIkQKFkNSTUdldENvbnRhY3RzUmVzcG9uc2USKgoHcmVzdWx0cxgBIAMoCzIZLmRhdGFpbmdlc3QudjEuQ1JNQ29udGFjdCIcCg1SdW5TUUxSZXF1ZXN0EgsKA3NxbBgBIAEoCSJqCgZTcWxSb3cSMQoGdmFsdWVzGAEgAygLMiEuZGF0YWluZ2VzdC52MS5TcWxSb3cuVmFsdWVzRW50cnkaLQoLVmFsdWVzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASI4Cg5SdW5TUUxSZXNwb25zZRImCgdyZXN1bHRzGAEgAygLMhUuZGF0YWluZ2VzdC52MS5TcWxSb3ciMwofR2V0RmlsZVVwZGF0ZWRUaW1lc3RhbXBzUmVxdWVzdBIQCghmaWxlX2lkcxgBIAMoCSLiAQogR2V0RmlsZVVwZGF0ZWRUaW1lc3RhbXBzUmVzcG9uc2USZwoWZmlsZV9pZHNfdG9fdXBkYXRlZF9hdBgBIAMoCzJHLmRhdGFpbmdlc3QudjEuR2V0RmlsZVVwZGF0ZWRUaW1lc3RhbXBzUmVzcG9uc2UuRmlsZUlkc1RvVXBkYXRlZEF0RW50cnkaVQoXRmlsZUlkc1RvVXBkYXRlZEF0RW50cnkSCwoDa2V5GAEgASgJEikKBXZhbHVlGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcDoCOAEiPgodVXBkYXRlVGFnc0luRmlsZUluZ2VzdFJlcXVlc3QSDwoHZmlsZV9pZBgBIAEoCRIMCgR0YWdzGAIgAygJIiAKHlVwZGF0ZVRhZ3NJbkZpbGVJbmdlc3RSZXNwb25zZSI8ChJVcmxCYXNlZFNvdXJjZURhdGESEwoLZm9sZGVyX3VybHMYASADKAkSEQoJZmlsZV91cmxzGAIgAygJIjkKEUlkQmFzZWRTb3VyY2VEYXRhEhIKCmZvbGRlcl9pZHMYASADKAkSEAoIZmlsZV9pZHMYAiADKAkiIQofR2V0U3VwcG9ydGVkSW50ZWdyYXRpb25zUmVxdWVzdCJbCiBHZXRTdXBwb3J0ZWRJbnRlZ3JhdGlvbnNSZXNwb25zZRI3CgxpbnRlZ3JhdGlvbnMYASADKAsyIS5kYXRhaW5nZXN0LnYxLlVuaWZpZWRJbnRlZ3JhdGlvbiKxAgoSVW5pZmllZEludGVncmF0aW9uEhQKDGRpc3BsYXlfbmFtZRgBIAEoCRJLChppbnRlZ3JhdGVkX2FwcGxpY2F0aW9uX2tleRgCIAEoDjInLmRhdGFpbmdlc3QudjEuSW50ZWdyYXRlZEFwcGxpY2F0aW9uS2V5EjQKCHByb3ZpZGVyGAMgASgOMiIuZGF0YWluZ2VzdC52MS5JbnRlZ3JhdGlvblByb3ZpZGVyEjcKCmlucHV0X3R5cGUYBCABKA4yIy5kYXRhaW5nZXN0LnYxLkludGVncmF0aW9uSW5wdXRUeXBlEjAKBnN0YXR1cxgFIAEoDjIgLmRhdGFpbmdlc3QudjEuSW50ZWdyYXRpb25TdGF0dXMSFwoPYXBwbGljYXRpb25fa2V5GAYgASgJIvIBChpHZXRSb290Q29udGVudE5vZGVzUmVxdWVzdBITCgt3aWRnZXRfbmFtZRgBIAEoCRJCChZmaWxlX3BpY2tlcl9ncm91cF90eXBlGAIgASgOMiIuZGF0YWluZ2VzdC52MS5GaWxlUGlja2VyR3JvdXBUeXBlEhwKFGZpbGVfcGlja2VyX2dyb3VwX2lkGAMgASgJEjUKBnN0YXR1cxgEIAEoDjIgLmRhdGFpbmdlc3QudjEuQ29udGVudE5vZGVTdGF0dXNIAIgBARIMCgRwYWdlGAUgASgFEg0KBWxpbWl0GAYgASgFQgkKB19zdGF0dXMijQIKHUdldENvbnRlbnROb2RlQ2hpbGRyZW5SZXF1ZXN0EhYKDnBhcmVudF9ub2RlX2lkGAEgASgJEjUKBnN0YXR1cxgCIAEoDjIgLmRhdGFpbmdlc3QudjEuQ29udGVudE5vZGVTdGF0dXNIAIgBARIMCgRwYWdlGAMgASgFEg0KBWxpbWl0GAQgASgFEhMKC3dpZGdldF9uYW1lGAUgASgJEkIKFmZpbGVfcGlja2VyX2dyb3VwX3R5cGUYBiABKA4yIi5kYXRhaW5nZXN0LnYxLkZpbGVQaWNrZXJHcm91cFR5cGUSHAoUZmlsZV9waWNrZXJfZ3JvdXBfaWQYByABKAlCCQoHX3N0YXR1cyLFAgoZU2VhcmNoQ29udGVudE5vZGVzUmVxdWVzdBITCgt3aWRnZXRfbmFtZRgBIAEoCRJCChZmaWxlX3BpY2tlcl9ncm91cF90eXBlGAIgASgOMiIuZGF0YWluZ2VzdC52MS5GaWxlUGlja2VyR3JvdXBUeXBlEhwKFGZpbGVfcGlja2VyX2dyb3VwX2lkGAMgASgJEjkKBnN0YXR1cxgEIAEoDjIgLmRhdGFpbmdlc3QudjEuQ29udGVudE5vZGVTdGF0dXNCAhgBSACIAQESDAoEcGFnZRgFIAEoBRINCgVsaW1pdBgGIAEoBRIUCgxzZWFyY2hfcXVlcnkYByABKAkSOAoOc3RhdHVzX2ZpbHRlcnMYCCADKA4yIC5kYXRhaW5nZXN0LnYxLkNvbnRlbnROb2RlU3RhdHVzQgkKB19zdGF0dXMi1wEKGFVwZGF0ZUNvbnRlbnROb2RlUmVxdWVzdBIKCgJpZBgBIAEoCRITCgt3aWRnZXRfbmFtZRgCIAEoCRI4Cg12YWxpZGl0eV9pbmZvGAMgASgLMiEuZGF0YWluZ2VzdC52MS5WYWxpZGl0eUluZm9VcGRhdGUSQgoWZmlsZV9waWNrZXJfZ3JvdXBfdHlwZRgEIAEoDjIiLmRhdGFpbmdlc3QudjEuRmlsZVBpY2tlckdyb3VwVHlwZRIcChRmaWxlX3BpY2tlcl9ncm91cF9pZBgFIAEoCSLGAQoZVXBkYXRlQ29udGVudE5vZGVSZXNwb25zZRITCgt3aWRnZXRfbmFtZRgBIAEoCRIyCg12YWxpZGl0eV9pbmZvGAIgASgLMhsuZGF0YWluZ2VzdC52MS5WYWxpZGl0eUluZm8SQgoWZmlsZV9waWNrZXJfZ3JvdXBfdHlwZRgDIAEoDjIiLmRhdGFpbmdlc3QudjEuRmlsZVBpY2tlckdyb3VwVHlwZRIcChRmaWxlX3BpY2tlcl9ncm91cF9pZBgEIAEoCSJ0ChJWYWxpZGl0eUluZm9VcGRhdGUSLgoKdmFsaWRfZnJvbRgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdmFsaWRfdXB0bxgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiqAEKGlNlYXJjaENvbnRlbnROb2Rlc1Jlc3BvbnNlEjAKBGRhdGEYASADKAsyIi5kYXRhaW5nZXN0LnYxLkNvbnRlbnROb2RlUmVzcG9uc2USMQoKcGFnaW5hdGlvbhgCIAEoCzIdLmRhdGFpbmdlc3QudjEuUGFnaW5hdGlvbkluZm8SJQoEbWV0YRgDIAEoCzIXLmRhdGFpbmdlc3QudjEuTWV0YUluZm8imQEKH0dldENvbnRlbnROb2RlQWdncmVnYXRlc1JlcXVlc3QSFAoMd2lkZ2V0X25hbWVzGAEgAygJEkIKFmZpbGVfcGlja2VyX2dyb3VwX3R5cGUYAiABKA4yIi5kYXRhaW5nZXN0LnYxLkZpbGVQaWNrZXJHcm91cFR5cGUSHAoUZmlsZV9waWNrZXJfZ3JvdXBfaWQYAyABKAki+QMKE0NvbnRlbnROb2RlUmVzcG9uc2USCgoCaWQYASABKAkSFwoPY29udGVudF9ub2RlX2lkGAIgASgJEhEKCW5vZGVfbmFtZRgDIAEoCRIwCgZzdGF0dXMYBCABKA4yIC5kYXRhaW5nZXN0LnYxLkNvbnRlbnROb2RlU3RhdHVzEhQKDGhhc19jaGlsZHJlbhgFIAEoCBIWCg5oYXNfbm9fY29udGVudBgGIAEoCBIPCgdpc19yb290GAcgASgIEi4KC3NvdXJjZV90eXBlGAggASgOMhkuZGF0YWluZ2VzdC52MS5Tb3VyY2VUeXBlEi4KC3NvdXJjZV9uYW1lGAkgASgOMhkuZGF0YWluZ2VzdC52MS5Tb3VyY2VOYW1lEjcKCmVycm9yX2NvZGUYCiABKA4yIy5kYXRhaW5nZXN0LnYxLkNvbnRlbnROb2RlRXJyb3JDb2RlEi4KCmNyZWF0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEgwKBHRhZ3MYDSADKAkSMgoNdmFsaWRpdHlfaW5mbxgOIAEoCzIbLmRhdGFpbmdlc3QudjEuVmFsaWRpdHlJbmZvIm4KDFZhbGlkaXR5SW5mbxIuCgp2YWxpZF9mcm9tGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp2YWxpZF91cHRvGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJRCg5QYWdpbmF0aW9uSW5mbxIMCgRwYWdlGAEgASgFEg0KBWxpbWl0GAIgASgFEg0KBXRvdGFsGAMgASgFEhMKC3RvdGFsX3BhZ2VzGAQgASgFImkKCE1ldGFJbmZvEhMKC3dpZGdldF9uYW1lGAEgASgJEjYKCmdyb3VwX3R5cGUYAiABKA4yIi5kYXRhaW5nZXN0LnYxLkZpbGVQaWNrZXJHcm91cFR5cGUSEAoIZ3JvdXBfaWQYAyABKAkiqQEKG0dldFJvb3RDb250ZW50Tm9kZXNSZXNwb25zZRIwCgRkYXRhGAEgAygLMiIuZGF0YWluZ2VzdC52MS5Db250ZW50Tm9kZVJlc3BvbnNlEjEKCnBhZ2luYXRpb24YAiABKAsyHS5kYXRhaW5nZXN0LnYxLlBhZ2luYXRpb25JbmZvEiUKBG1ldGEYAyABKAsyFy5kYXRhaW5nZXN0LnYxLk1ldGFJbmZvIoUBCh5HZXRDb250ZW50Tm9kZUNoaWxkcmVuUmVzcG9uc2USMAoEZGF0YRgBIAMoCzIiLmRhdGFpbmdlc3QudjEuQ29udGVudE5vZGVSZXNwb25zZRIxCgpwYWdpbmF0aW9uGAIgASgLMh0uZGF0YWluZ2VzdC52MS5QYWdpbmF0aW9uSW5mbyJVCgxTdGF0dXNDb3VudHMSDwoHc3VjY2VzcxgBIAEoBRIOCgZmYWlsZWQYAiABKAUSDwoHcGVuZGluZxgDIAEoBRITCgt1bnN1cHBvcnRlZBgEIAEoBSJ5ChNTb3VyY2VOYW1lQWdncmVnYXRlEi4KC3NvdXJjZV9uYW1lGAEgASgOMhkuZGF0YWluZ2VzdC52MS5Tb3VyY2VOYW1lEjIKDXN0YXR1c19jb3VudHMYAiABKAsyGy5kYXRhaW5nZXN0LnYxLlN0YXR1c0NvdW50cyKyAQoTU291cmNlVHlwZUFnZ3JlZ2F0ZRIuCgtzb3VyY2VfdHlwZRgBIAEoDjIZLmRhdGFpbmdlc3QudjEuU291cmNlVHlwZRI4Cgxzb3VyY2VfbmFtZXMYAiADKAsyIi5kYXRhaW5nZXN0LnYxLlNvdXJjZU5hbWVBZ2dyZWdhdGUSMQoMdG90YWxfY291bnRzGAMgASgLMhsuZGF0YWluZ2VzdC52MS5TdGF0dXNDb3VudHMipwEKD1dpZGdldEFnZ3JlZ2F0ZRITCgt3aWRnZXRfbmFtZRgBIAEoCRI4Cgxzb3VyY2VfdHlwZXMYAiADKAsyIi5kYXRhaW5nZXN0LnYxLlNvdXJjZVR5cGVBZ2dyZWdhdGUSMQoMdG90YWxfY291bnRzGAMgASgLMhsuZGF0YWluZ2VzdC52MS5TdGF0dXNDb3VudHMSEgoKaXNfc3luY2luZxgEIAEoCCJdCiBHZXRDb250ZW50Tm9kZUFnZ3JlZ2F0ZXNSZXNwb25zZRI5ChF3aWRnZXRfYWdncmVnYXRlcxgBIAMoCzIeLmRhdGFpbmdlc3QudjEuV2lkZ2V0QWdncmVnYXRlIqEBChdTeW5jQ29udGVudE5vZGVzUmVxdWVzdBITCgt3aWRnZXRfbmFtZRgBIAEoCRJCChZmaWxlX3BpY2tlcl9ncm91cF90eXBlGAIgASgOMiIuZGF0YWluZ2VzdC52MS5GaWxlUGlja2VyR3JvdXBUeXBlEhwKFGZpbGVfcGlja2VyX2dyb3VwX2lkGAMgASgJEg8KB25vZGVfaWQYBCABKAkiGgoYU3luY0NvbnRlbnROb2Rlc1Jlc3BvbnNlIqUBChlEZWxldGVDb250ZW50Tm9kZXNSZXF1ZXN0EkIKFmZpbGVfcGlja2VyX2dyb3VwX3R5cGUYASABKA4yIi5kYXRhaW5nZXN0LnYxLkZpbGVQaWNrZXJHcm91cFR5cGUSHAoUZmlsZV9waWNrZXJfZ3JvdXBfaWQYAiABKAkSEAoIbm9kZV9pZHMYAyADKAkSFAoMd2lkZ2V0X25hbWVzGAQgAygJIhwKGkRlbGV0ZUNvbnRlbnROb2Rlc1Jlc3BvbnNlIngKGFdpZGdldFJlcGxpY2F0aW9uTWFwcGluZxIaChJzb3VyY2Vfd2lkZ2V0X25hbWUYASABKAkSJAoXZGVzdGluYXRpb25fd2lkZ2V0X25hbWUYAiABKAlIAIgBAUIaChhfZGVzdGluYXRpb25fd2lkZ2V0X25hbWUikgIKFFJlcGxpY2F0ZURhdGFSZXF1ZXN0Ej0KEXNvdXJjZV9ncm91cF90eXBlGAEgASgOMiIuZGF0YWluZ2VzdC52MS5GaWxlUGlja2VyR3JvdXBUeXBlEhcKD3NvdXJjZV9ncm91cF9pZBgCIAEoCRJCChZkZXN0aW5hdGlvbl9ncm91cF90eXBlGAMgASgOMiIuZGF0YWluZ2VzdC52MS5GaWxlUGlja2VyR3JvdXBUeXBlEhwKFGRlc3RpbmF0aW9uX2dyb3VwX2lkGAQgASgJEkAKD3dpZGdldF9tYXBwaW5ncxgFIAMoCzInLmRhdGFpbmdlc3QudjEuV2lkZ2V0UmVwbGljYXRpb25NYXBwaW5nIpYBChFSZXBsaWNhdGlvblJlc3VsdBIaChJzb3VyY2Vfd2lkZ2V0X25hbWUYASABKAkSHwoXZGVzdGluYXRpb25fd2lkZ2V0X25hbWUYAiABKAkSEgoKcmVxdWVzdF9pZBgDIAEoCRIwCgZzdGF0dXMYBCABKA4yIC5kYXRhaW5nZXN0LnYxLlJlcGxpY2F0aW9uU3RhdHVzIkoKFVJlcGxpY2F0ZURhdGFSZXNwb25zZRIxCgdyZXN1bHRzGAEgAygLMiAuZGF0YWluZ2VzdC52MS5SZXBsaWNhdGlvblJlc3VsdCIxChtHZXRSZXBsaWNhdGlvblN0YXR1c1JlcXVlc3QSEgoKcmVxdWVzdF9pZBgBIAEoCSLaAQocR2V0UmVwbGljYXRpb25TdGF0dXNSZXNwb25zZRIwCgZzdGF0dXMYASABKA4yIC5kYXRhaW5nZXN0LnYxLlJlcGxpY2F0aW9uU3RhdHVzEhoKDWZhaWxlZF9yZWFzb24YAiABKAlIAIgBARIYCgt0b3RhbF9ub2RlcxgDIAEoBUgBiAEBEhwKD2NvbXBsZXRlZF9ub2RlcxgEIAEoBUgCiAEBQhAKDl9mYWlsZWRfcmVhc29uQg4KDF90b3RhbF9ub2Rlc0ISChBfY29tcGxldGVkX25vZGVzIkcKH1JldHJpZ2dlckF1dG9GaWxlVGFnZ2luZ1JlcXVlc3QSEgoKcGVyc29uYV9pZBgBIAEoCRIQCghmaWxlX2lkcxgCIAMoCSIiCiBSZXRyaWdnZXJBdXRvRmlsZVRhZ2dpbmdSZXNwb25zZSo3ChRGaWxlUGlja2VyT2JqZWN0VHlwZRIICgRGSUxFEAASCgoGRk9MREVSEAESCQoFRFJJVkUQAipRChFEZWxldGlvbkdyb3VwVHlwZRIPCgtVTlNQRUNJRklFRBAAEgsKB1BFUlNPTkEQARILCgdQUk9KRUNUEAISEQoNREFTSEJPQVJEX1JPVxADKmYKCVRpbWVGcmFtZRIZChVUSU1FRlJBTUVfVU5TUEVDSUZJRUQQABINCglMQVNUX1dFRUsQARIOCgpMQVNUX01PTlRIEAISEQoNTEFTVF82X01PTlRIUxADEgwKCEFMTF9USU1FEAQqfQoTSW50ZWdyYXRpb25Qcm92aWRlchIkCiBJTlRFR1JBVElPTl9QUk9WSURFUl9VTlNQRUNJRklFRBAAEh4KGklOVEVHUkFUSU9OX1BST1ZJREVSX01FUkdFEAESIAocSU5URUdSQVRJT05fUFJPVklERVJfUEFSQUdPThACKn0KFEludGVncmF0aW9uSW5wdXRUeXBlEiYKIklOVEVHUkFUSU9OX0lOUFVUX1RZUEVfVU5TUEVDSUZJRUQQABIeChpJTlRFR1JBVElPTl9JTlBVVF9UWVBFX1VSTBABEh0KGUlOVEVHUkFUSU9OX0lOUFVUX1RZUEVfSUQQAiqXAQoRSW50ZWdyYXRpb25TdGF0dXMSIgoeSU5URUdSQVRJT05fU1RBVFVTX1VOU1BFQ0lGSUVEEAASHQoZSU5URUdSQVRJT05fU1RBVFVTX0FDVElWRRABEh8KG0lOVEVHUkFUSU9OX1NUQVRVU19JTkFDVElWRRACEh4KGklOVEVHUkFUSU9OX1NUQVRVU19ERUxFVEVEEAMqnAEKGEludGVncmF0ZWRBcHBsaWNhdGlvbktleRIqCiZJTlRFR1JBVEVEX0FQUExJQ0FUSU9OX0tFWV9VTlNQRUNJRklFRBAAEikKJUlOVEVHUkFURURfQVBQTElDQVRJT05fS0VZX1NIQVJFUE9JTlQQARIpCiVJTlRFR1JBVEVEX0FQUExJQ0FUSU9OX0tFWV9TRVJWSUNFTk9XEAIqmAMKEUNvbnRlbnROb2RlU3RhdHVzEiMKH0NPTlRFTlRfTk9ERV9TVEFUVVNfVU5TUEVDSUZJRUQQABIfChtDT05URU5UX05PREVfU1RBVFVTX1BFTkRJTkcQARIhCh1DT05URU5UX05PREVfU1RBVFVTX0lOSVRJQVRFRBACEiIKHkNPTlRFTlRfTk9ERV9TVEFUVVNfUFJPQ0VTU0lORxADEiEKHUNPTlRFTlRfTk9ERV9TVEFUVVNfQ09NUExFVEVEEAQSKgomQ09OVEVOVF9OT0RFX1NUQVRVU19ERUxFVEVfSU5fUFJPR1JFU1MQBRIeChpDT05URU5UX05PREVfU1RBVFVTX0ZBSUxFRBAGEh8KG0NPTlRFTlRfTk9ERV9TVEFUVVNfREVMRVRFRBAHEiAKHENPTlRFTlRfTk9ERV9TVEFUVVNfSU5ERVhJTkcQCBIfChtDT05URU5UX05PREVfU1RBVFVTX1NZTkNJTkcQCRIjCh9DT05URU5UX05PREVfU1RBVFVTX1VOU1VQUE9SVEVEEAoqigEKClNvdXJjZVR5cGUSGwoXU09VUkNFX1RZUEVfVU5TUEVDSUZJRUQQABIVChFTT1VSQ0VfVFlQRV9MT0NBTBABEhUKEVNPVVJDRV9UWVBFX01FUkdFEAISFwoTU09VUkNFX1RZUEVfUEFSQUdPThADEhgKFFNPVVJDRV9UWVBFX1dFQkNSQVdMEAQq+AEKClNvdXJjZU5hbWUSGwoXU09VUkNFX05BTUVfVU5TUEVDSUZJRUQQABIVChFTT1VSQ0VfTkFNRV9MT0NBTBABEhgKFFNPVVJDRV9OQU1FX1dFQkNSQVdMEAISHAoYU09VUkNFX05BTUVfR09PR0xFX0RSSVZFEAMSFwoTU09VUkNFX05BTUVfRFJPUEJPWBAEEhMKD1NPVVJDRV9OQU1FX0JPWBAFEhgKFFNPVVJDRV9OQU1FX09ORURSSVZFEAYSGgoWU09VUkNFX05BTUVfU0hBUkVQT0lOVBAHEhoKFlNPVVJDRV9OQU1FX1NFUlZJQ0VOT1cQCCqvAQoTRmlsZVBpY2tlckdyb3VwVHlwZRImCiJGSUxFX1BJQ0tFUl9HUk9VUF9UWVBFX1VOU1BFQ0lGSUVEEAASIgoeRklMRV9QSUNLRVJfR1JPVVBfVFlQRV9QRVJTT05BEAESIgoeRklMRV9QSUNLRVJfR1JPVVBfVFlQRV9QUk9KRUNUEAISKAokRklMRV9QSUNLRVJfR1JPVVBfVFlQRV9EQVNIQk9BUkRfUk9XEAMqxgEKFENvbnRlbnROb2RlRXJyb3JDb2RlEicKI0NPTlRFTlRfTk9ERV9FUlJPUl9DT0RFX1VOU1BFQ0lGSUVEEAASLQopQ09OVEVOVF9OT0RFX0VSUk9SX0NPREVfUFJFUFJPQ0VTU19GQUlMRUQQARIrCidDT05URU5UX05PREVfRVJST1JfQ09ERV9XT1JLRkxPV19GQUlMRUQQAhIpCiVDT05URU5UX05PREVfRVJST1JfQ09ERV9ERUxFVEVfRkFJTEVEEAMqnAEKEVJlcGxpY2F0aW9uU3RhdHVzEiIKHlJFUExJQ0FUSU9OX1NUQVRVU19VTlNQRUNJRklFRBAAEiIKHlJFUExJQ0FUSU9OX1NUQVRVU19JTl9QUk9HUkVTUxABEiAKHFJFUExJQ0FUSU9OX1NUQVRVU19DT01QTEVURUQQAhIdChlSRVBMSUNBVElPTl9TVEFUVVNfRkFJTEVEEAMysBkKEURhdGFJbmdlc3RTZXJ2aWNlEm4KE0luaXRpYXRlSW50ZWdyYXRpb24SKS5kYXRhaW5nZXN0LnYxLkluaXRpYXRlSW50ZWdyYXRpb25SZXF1ZXN0GiouZGF0YWluZ2VzdC52MS5Jbml0aWF0ZUludGVncmF0aW9uUmVzcG9uc2UiABJoChFGaW5pc2hJbnRlZ3JhdGlvbhInLmRhdGFpbmdlc3QudjEuRmluaXNoSW50ZWdyYXRpb25SZXF1ZXN0GiguZGF0YWluZ2VzdC52MS5GaW5pc2hJbnRlZ3JhdGlvblJlc3BvbnNlIgASYgoPR2V0SW50ZWdyYXRpb25zEiUuZGF0YWluZ2VzdC52MS5HZXRJbnRlZ3JhdGlvbnNSZXF1ZXN0GiYuZGF0YWluZ2VzdC52MS5HZXRJbnRlZ3JhdGlvbnNSZXNwb25zZSIAEmsKEkZpbGVQaWNrZXJPblN1Ym1pdBIoLmRhdGFpbmdlc3QudjEuRmlsZVBpY2tlck9uU3VibWl0UmVxdWVzdBopLmRhdGFpbmdlc3QudjEuRmlsZVBpY2tlck9uU3VibWl0UmVzcG9uc2UiABJoChNHZXRGaWxlUGlja2VyU3RhdHVzEiYuZGF0YWluZ2VzdC52MS5GaWxlUGlja2VyU3RhdHVzUmVxdWVzdBonLmRhdGFpbmdlc3QudjEuRmlsZVBpY2tlclN0YXR1c1Jlc3BvbnNlIgASZQoQRmlsZVBpY2tlclVwbG9hZBImLmRhdGFpbmdlc3QudjEuRmlsZVBpY2tlclVwbG9hZFJlcXVlc3QaJy5kYXRhaW5nZXN0LnYxLkZpbGVQaWNrZXJVcGxvYWRSZXNwb25zZSIAEncKGUdldEZpbGVQaWNrZXJVcGxvYWRTdGF0dXMSLy5kYXRhaW5nZXN0LnYxLkdldEZpbGVQaWNrZXJVcGxvYWRTdGF0dXNSZXF1ZXN0GiUuZGF0YWluZ2VzdC52MS5GaWxlUGlja2VyVXBsb2FkU3RhdHVzIgAwARJuChNEZWxldGVGaWxlc0Zvckdyb3VwEikuZGF0YWluZ2VzdC52MS5EZWxldGVGaWxlc0Zvckdyb3VwUmVxdWVzdBoqLmRhdGFpbmdlc3QudjEuRGVsZXRlRmlsZXNGb3JHcm91cFJlc3BvbnNlIgASaAoRR2V0U2lnbmVkSW1hZ2VVcmwSJy5kYXRhaW5nZXN0LnYxLkdldFNpZ25lZEltYWdlVXJsUmVxdWVzdBooLmRhdGFpbmdlc3QudjEuR2V0U2lnbmVkSW1hZ2VVcmxSZXNwb25zZSIAElkKDEdldFNpZ25lZFVybBIiLmRhdGFpbmdlc3QudjEuR2V0U2lnbmVkVXJsUmVxdWVzdBojLmRhdGFpbmdlc3QudjEuR2V0U2lnbmVkVXJsUmVzcG9uc2UiABKAAQoZR2V0QWdlbnRRQUF1ZGlvR29sZGVuRGF0YRIvLmRhdGFpbmdlc3QudjEuR2V0QWdlbnRRQUF1ZGlvR29sZGVuRGF0YVJlcXVlc3QaMC5kYXRhaW5nZXN0LnYxLkdldEFnZW50UUFBdWRpb0dvbGRlbkRhdGFSZXNwb25zZSIAEoYBChtEZWxldGVBZ2VudFFBR29sZGVuRGF0YUZpbGUSMS5kYXRhaW5nZXN0LnYxLkRlbGV0ZUFnZW50UUFHb2xkZW5EYXRhRmlsZVJlcXVlc3QaMi5kYXRhaW5nZXN0LnYxLkRlbGV0ZUFnZW50UUFHb2xkZW5EYXRhRmlsZVJlc3BvbnNlIgASfQoYR2V0QWdlbnRRQVRyYW5zY3JpcHRpb25zEi4uZGF0YWluZ2VzdC52MS5HZXRBZ2VudFFBVHJhbnNjcmlwdGlvbnNSZXF1ZXN0Gi8uZGF0YWluZ2VzdC52MS5HZXRBZ2VudFFBVHJhbnNjcmlwdGlvbnNSZXNwb25zZSIAEmIKD0dldEZpbGVzSW5Hcm91cBIlLmRhdGFpbmdlc3QudjEuR2V0RmlsZXNJbkdyb3VwUmVxdWVzdBomLmRhdGFpbmdlc3QudjEuR2V0RmlsZXNJbkdyb3VwUmVzcG9uc2UiABJfCg5DUk1HZXRDb250YWN0cxIkLmRhdGFpbmdlc3QudjEuQ1JNR2V0Q29udGFjdHNSZXF1ZXN0GiUuZGF0YWluZ2VzdC52MS5DUk1HZXRDb250YWN0c1Jlc3BvbnNlIgASRwoGUnVuU1FMEhwuZGF0YWluZ2VzdC52MS5SdW5TUUxSZXF1ZXN0Gh0uZGF0YWluZ2VzdC52MS5SdW5TUUxSZXNwb25zZSIAEn0KGEdldEZpbGVVcGRhdGVkVGltZXN0YW1wcxIuLmRhdGFpbmdlc3QudjEuR2V0RmlsZVVwZGF0ZWRUaW1lc3RhbXBzUmVxdWVzdBovLmRhdGFpbmdlc3QudjEuR2V0RmlsZVVwZGF0ZWRUaW1lc3RhbXBzUmVzcG9uc2UiABJ3ChZVcGRhdGVUYWdzSW5GaWxlSW5nZXN0EiwuZGF0YWluZ2VzdC52MS5VcGRhdGVUYWdzSW5GaWxlSW5nZXN0UmVxdWVzdBotLmRhdGFpbmdlc3QudjEuVXBkYXRlVGFnc0luRmlsZUluZ2VzdFJlc3BvbnNlIgASfQoYR2V0U3VwcG9ydGVkSW50ZWdyYXRpb25zEi4uZGF0YWluZ2VzdC52MS5HZXRTdXBwb3J0ZWRJbnRlZ3JhdGlvbnNSZXF1ZXN0Gi8uZGF0YWluZ2VzdC52MS5HZXRTdXBwb3J0ZWRJbnRlZ3JhdGlvbnNSZXNwb25zZSIAEm4KE0dldFJvb3RDb250ZW50Tm9kZXMSKS5kYXRhaW5nZXN0LnYxLkdldFJvb3RDb250ZW50Tm9kZXNSZXF1ZXN0GiouZGF0YWluZ2VzdC52MS5HZXRSb290Q29udGVudE5vZGVzUmVzcG9uc2UiABJ3ChZHZXRDb250ZW50Tm9kZUNoaWxkcmVuEiwuZGF0YWluZ2VzdC52MS5HZXRDb250ZW50Tm9kZUNoaWxkcmVuUmVxdWVzdBotLmRhdGFpbmdlc3QudjEuR2V0Q29udGVudE5vZGVDaGlsZHJlblJlc3BvbnNlIgASawoSU2VhcmNoQ29udGVudE5vZGVzEiguZGF0YWluZ2VzdC52MS5TZWFyY2hDb250ZW50Tm9kZXNSZXF1ZXN0GikuZGF0YWluZ2VzdC52MS5TZWFyY2hDb250ZW50Tm9kZXNSZXNwb25zZSIAEmgKEVVwZGF0ZUNvbnRlbnROb2RlEicuZGF0YWluZ2VzdC52MS5VcGRhdGVDb250ZW50Tm9kZVJlcXVlc3QaKC5kYXRhaW5nZXN0LnYxLlVwZGF0ZUNvbnRlbnROb2RlUmVzcG9uc2UiABJ9ChhHZXRDb250ZW50Tm9kZUFnZ3JlZ2F0ZXMSLi5kYXRhaW5nZXN0LnYxLkdldENvbnRlbnROb2RlQWdncmVnYXRlc1JlcXVlc3QaLy5kYXRhaW5nZXN0LnYxLkdldENvbnRlbnROb2RlQWdncmVnYXRlc1Jlc3BvbnNlIgASZQoQU3luY0NvbnRlbnROb2RlcxImLmRhdGFpbmdlc3QudjEuU3luY0NvbnRlbnROb2Rlc1JlcXVlc3QaJy5kYXRhaW5nZXN0LnYxLlN5bmNDb250ZW50Tm9kZXNSZXNwb25zZSIAEmsKEkRlbGV0ZUNvbnRlbnROb2RlcxIoLmRhdGFpbmdlc3QudjEuRGVsZXRlQ29udGVudE5vZGVzUmVxdWVzdBopLmRhdGFpbmdlc3QudjEuRGVsZXRlQ29udGVudE5vZGVzUmVzcG9uc2UiABJcCg1SZXBsaWNhdGVEYXRhEiMuZGF0YWluZ2VzdC52MS5SZXBsaWNhdGVEYXRhUmVxdWVzdBokLmRhdGFpbmdlc3QudjEuUmVwbGljYXRlRGF0YVJlc3BvbnNlIgAScQoUR2V0UmVwbGljYXRpb25TdGF0dXMSKi5kYXRhaW5nZXN0LnYxLkdldFJlcGxpY2F0aW9uU3RhdHVzUmVxdWVzdBorLmRhdGFpbmdlc3QudjEuR2V0UmVwbGljYXRpb25TdGF0dXNSZXNwb25zZSIAEn0KGFJldHJpZ2dlckF1dG9GaWxlVGFnZ2luZxIuLmRhdGFpbmdlc3QudjEuUmV0cmlnZ2VyQXV0b0ZpbGVUYWdnaW5nUmVxdWVzdBovLmRhdGFpbmdlc3QudjEuUmV0cmlnZ2VyQXV0b0ZpbGVUYWdnaW5nUmVzcG9uc2UiAEJHWkVnaXRodWIuY29tL0VtYS1VbmxpbWl0ZWQvcHJvdG9zL2dvL3NlcnZpY2UvZGF0YWluZ2VzdC92MTtkYXRhaW5nZXN0djFiBnByb3RvMw", [file_google_protobuf_timestamp, file_service_dataingest_v1_crm, file_service_utils_v1_agent_qa]);
11
+ export const file_service_dataingest_v1_dataingest = /*@__PURE__*/ fileDesc("CiZzZXJ2aWNlL2RhdGFpbmdlc3QvdjEvZGF0YWluZ2VzdC5wcm90bxINZGF0YWluZ2VzdC52MSIsChhHZXRTaWduZWRJbWFnZVVybFJlcXVlc3QSEAoIaW1hZ2VfaWQYASABKAkiQgoZR2V0U2lnbmVkSW1hZ2VVcmxSZXNwb25zZRISCgpzaWduZWRfdXJsGAEgASgJEhEKCW1pbWVfdHlwZRgCIAEoCSImChNHZXRTaWduZWRVcmxSZXF1ZXN0Eg8KB2ZpbGVfaWQYASABKAkiYAoUR2V0U2lnbmVkVXJsUmVzcG9uc2USEgoKc2lnbmVkX3VybBgBIAEoCRIRCgltaW1lX3R5cGUYAiABKAkSDQoFdGl0bGUYAyABKAkSEgoKaXNfZGVsZXRlZBgEIAEoCCIiCg5BZ2VudFFBRmlsZUlkcxIQCghmaWxlX2lkcxgBIAMoCSIqChJBZ2VudFFBUmVzb3VyY2VJZHMSFAoMcmVzb3VyY2VfaWRzGAEgAygJIiYKEEFnZW50UUFGaWxlTmFtZXMSEgoKZmlsZV9uYW1lcxgBIAMoCSKvAgoUQWdlbnRRQVRyYW5zY3JpcHRpb24SFwoPdHJhbnNjcmlwdF90ZXh0GAEgASgJEjoKBnN0YXR1cxgCIAEoDjIqLmRhdGFpbmdlc3QudjEuQWdlbnRRQVRyYW5zY3JpcHRpb24uU3RhdHVzEhEKCWZpbGVfbmFtZRgDIAEoCRIvCghtZXNzYWdlcxgEIAMoCzIdLnV0aWxzLnYxLlFBVHJhbnNjcmlwdE1lc3NhZ2UifgoGU3RhdHVzEg0KCU5PVF9GT1VORBAAEhYKElVQTE9BRF9JTl9QUk9HUkVTUxABEh0KGVRSQU5TQ1JJUFRJT05fSU5fUFJPR1JFU1MQAhIUChBUUkFOU0NSSVBUX1JFQURZEAMSGAoUVFJBTlNDUklQVElPTl9GQUlMRUQQBCJTCiBHZXRBZ2VudFFBQXVkaW9Hb2xkZW5EYXRhUmVxdWVzdBISCgpwZXJzb25hX2lkGAEgASgJEhsKE2luY2x1ZGVfdHJhbnNjcmlwdHMYAiABKAgiwgEKIUdldEFnZW50UUFBdWRpb0dvbGRlbkRhdGFSZXNwb25zZRJKCgVmaWxlcxgBIAMoCzI7LmRhdGFpbmdlc3QudjEuR2V0QWdlbnRRQUF1ZGlvR29sZGVuRGF0YVJlc3BvbnNlLkZpbGVzRW50cnkaUQoKRmlsZXNFbnRyeRILCgNrZXkYASABKAkSMgoFdmFsdWUYAiABKAsyIy5kYXRhaW5nZXN0LnYxLkFnZW50UUFUcmFuc2NyaXB0aW9uOgI4ASKCAgofR2V0QWdlbnRRQVRyYW5zY3JpcHRpb25zUmVxdWVzdBISCgpwZXJzb25hX2lkGAEgASgJEjUKCGZpbGVfaWRzGAIgASgLMh0uZGF0YWluZ2VzdC52MS5BZ2VudFFBRmlsZUlkc0ICGAFIABI5CgxyZXNvdXJjZV9pZHMYAyABKAsyIS5kYXRhaW5nZXN0LnYxLkFnZW50UUFSZXNvdXJjZUlkc0gAEjUKCmZpbGVfbmFtZXMYBSABKAsyHy5kYXRhaW5nZXN0LnYxLkFnZW50UUFGaWxlTmFtZXNIABIbChNpbmNsdWRlX3RyYW5zY3JpcHRzGAQgASgIQgUKA2lkcyLAAQogR2V0QWdlbnRRQVRyYW5zY3JpcHRpb25zUmVzcG9uc2USSQoFZmlsZXMYASADKAsyOi5kYXRhaW5nZXN0LnYxLkdldEFnZW50UUFUcmFuc2NyaXB0aW9uc1Jlc3BvbnNlLkZpbGVzRW50cnkaUQoKRmlsZXNFbnRyeRILCgNrZXkYASABKAkSMgoFdmFsdWUYAiABKAsyIy5kYXRhaW5nZXN0LnYxLkFnZW50UUFUcmFuc2NyaXB0aW9uOgI4ASJJCiJEZWxldGVBZ2VudFFBR29sZGVuRGF0YUZpbGVSZXF1ZXN0EhIKCnBlcnNvbmFfaWQYASABKAkSDwoHZmlsZV9pZBgCIAEoCSIlCiNEZWxldGVBZ2VudFFBR29sZGVuRGF0YUZpbGVSZXNwb25zZSKJAQoLSW50ZWdyYXRpb24SDQoFZW1haWwYASABKAkSEAoIY2F0ZWdvcnkYAiABKAkSEwoLaW50ZWdyYXRpb24YAyABKAkSGAoQaW50ZWdyYXRpb25fbmFtZRgEIAEoCRIaChJlbmRfdXNlcl9vcmlnaW5faWQYBSABKAkSDgoGc3RhdHVzGAYgASgJImwKGkluaXRpYXRlSW50ZWdyYXRpb25SZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEhAKCGNhdGVnb3J5GAIgASgJEhMKC2ludGVncmF0aW9uGAMgASgJEhgKEGludGVncmF0aW9uX25hbWUYBCABKAkiNwobSW5pdGlhdGVJbnRlZ3JhdGlvblJlc3BvbnNlEhgKEG1lcmdlX2xpbmtfdG9rZW4YASABKAkiWQoYRmluaXNoSW50ZWdyYXRpb25SZXF1ZXN0EhgKEGludGVncmF0aW9uX25hbWUYASABKAkSFAoMcHVibGljX3Rva2VuGAIgASgJEg0KBWVtYWlsGAMgASgJIhsKGUZpbmlzaEludGVncmF0aW9uUmVzcG9uc2UiGAoWR2V0SW50ZWdyYXRpb25zUmVxdWVzdCJLChdHZXRJbnRlZ3JhdGlvbnNSZXNwb25zZRIwCgxpbnRlZ3JhdGlvbnMYASADKAsyGi5kYXRhaW5nZXN0LnYxLkludGVncmF0aW9uIsEBChRNZXJnZUZpbGVTdG9yYWdlRGF0YRI4CgtvdXRwdXRfdHlwZRgBIAEoDjIjLmRhdGFpbmdlc3QudjEuRmlsZVBpY2tlck9iamVjdFR5cGUSCgoCaWQYAiABKAkSDAoEbmFtZRgDIAEoCRITCgtkZXNjcmlwdGlvbhgEIAEoCRILCgN1cmwYBSABKAkSEgoKdXBkYXRlZF9hdBgGIAEoCRIMCgRzaXplGAcgASgEEhEKCW1pbWVfdHlwZRgIIAEoCSKwAgoZRmlsZVBpY2tlck9uU3VibWl0UmVxdWVzdBI9ChBzZWxlY3RlZF9vYmplY3RzGAEgAygLMiMuZGF0YWluZ2VzdC52MS5NZXJnZUZpbGVTdG9yYWdlRGF0YRIcCg9jb252ZXJzYXRpb25faWQYAiABKAlIAIgBARIaChJlbmRfdXNlcl9vcmlnaW5faWQYAyABKAkSEgoKZ3JvdXBfdHlwZRgEIAEoCRIQCghncm91cF9pZBgFIAEoCRIMCgR0YWdzGAYgAygJEhgKC3dpZGdldF9uYW1lGAcgASgJSAGIAQESGAoLY29sdW1uX25hbWUYCCABKAlIAogBAUISChBfY29udmVyc2F0aW9uX2lkQg4KDF93aWRnZXRfbmFtZUIOCgxfY29sdW1uX25hbWUiHAoaRmlsZVBpY2tlck9uU3VibWl0UmVzcG9uc2UiqQEKF0ZpbGVQaWNrZXJTdGF0dXNSZXF1ZXN0EhwKD2NvbnZlcnNhdGlvbl9pZBgBIAEoCUgAiAEBEhIKCmdyb3VwX3R5cGUYAiABKAkSEAoIZ3JvdXBfaWQYAyABKAkSDAoEdGFncxgEIAMoCRIYCgt3aWRnZXRfbmFtZRgFIAEoCUgBiAEBQhIKEF9jb252ZXJzYXRpb25faWRCDgoMX3dpZGdldF9uYW1lIr0BCgpGaWxlU3RhdHVzEgoKAmlkGAEgASgJEg4KBnN0YXR1cxgCIAEoCRIMCgRzaXplGAMgASgJEhEKCW1pbWVfdHlwZRgEIAEoCRIMCgRuYW1lGAUgASgJEh8KEmluZmVycmVkX21pbWVfdHlwZRgGIAEoCUgAiAEBEhIKCnVwZGF0ZWRfYXQYByABKAMSGAoQbGFzdF9zZWxlY3RlZF9hdBgJIAEoA0IVChNfaW5mZXJyZWRfbWltZV90eXBlIkwKGEZpbGVQaWNrZXJTdGF0dXNSZXNwb25zZRIwCg1maWxlX3N0YXR1c2VzGAEgAygLMhkuZGF0YWluZ2VzdC52MS5GaWxlU3RhdHVzIncKDlNlbGVjdGVkT2JqZWN0EjgKC291dHB1dF90eXBlGAEgASgOMiMuZGF0YWluZ2VzdC52MS5GaWxlUGlja2VyT2JqZWN0VHlwZRIKCgJpZBgCIAEoCRIMCgRuYW1lGAMgASgJEhEKCW1pbWVfdHlwZRgEIAEoCSLuBQoXRmlsZVBpY2tlclVwbG9hZFJlcXVlc3QSEgoKZ3JvdXBfdHlwZRgBIAEoCRIQCghncm91cF9pZBgCIAEoCRIaChJlbmRfdXNlcl9vcmlnaW5faWQYAyABKAkSNwoQc2VsZWN0ZWRfb2JqZWN0cxgEIAMoCzIdLmRhdGFpbmdlc3QudjEuU2VsZWN0ZWRPYmplY3QSDAoEdGFncxgFIAMoCRIYCgt3aWRnZXRfbmFtZRgGIAEoCUgBiAEBEhgKC2NvbHVtbl9uYW1lGAcgASgJSAKIAQESIQoUZGFzaGJvYXJkX2JhdGNoX21vZGUYCCABKAhIA4gBARJUChppbnRlZ3JhdGVkX2FwcGxpY2F0aW9uX2tleRgJIAEoDjInLmRhdGFpbmdlc3QudjEuSW50ZWdyYXRlZEFwcGxpY2F0aW9uS2V5QgIYAUgEiAEBEjsKDnVybF9iYXNlZF9kYXRhGAogASgLMiEuZGF0YWluZ2VzdC52MS5VcmxCYXNlZFNvdXJjZURhdGFIABI5Cg1pZF9iYXNlZF9kYXRhGAsgASgLMiAuZGF0YWluZ2VzdC52MS5JZEJhc2VkU291cmNlRGF0YUgAEhwKD2FwcGxpY2F0aW9uX2tleRgMIAEoCUgFiAEBEhYKCWNvbHVtbl9pZBgNIAEoCUgGiAEBEhYKCWFjdGlvbl9pZBgOIAEoCUgHiAEBEkAKFGludGVncmF0aW9uX3Byb3ZpZGVyGA8gASgOMiIuZGF0YWluZ2VzdC52MS5JbnRlZ3JhdGlvblByb3ZpZGVyQg0KC3NvdXJjZV9kYXRhQg4KDF93aWRnZXRfbmFtZUIOCgxfY29sdW1uX25hbWVCFwoVX2Rhc2hib2FyZF9iYXRjaF9tb2RlQh0KG19pbnRlZ3JhdGVkX2FwcGxpY2F0aW9uX2tleUISChBfYXBwbGljYXRpb25fa2V5QgwKCl9jb2x1bW5faWRCDAoKX2FjdGlvbl9pZCI/ChhGaWxlUGlja2VyVXBsb2FkUmVzcG9uc2USEwoLd29ya2Zsb3dfaWQYASABKAkSDgoGcnVuX2lkGAIgASgJIkcKIEdldEZpbGVQaWNrZXJVcGxvYWRTdGF0dXNSZXF1ZXN0EhMKC3dvcmtmbG93X2lkGAEgASgJEg4KBnJ1bl9pZBgCIAEoCSJGChZGaWxlUGlja2VyVXBsb2FkU3RhdHVzEhMKC3RvdGFsX2ZpbGVzGAEgASgNEhcKD2NvbXBsZXRlZF9maWxlcxgCIAEoDSKLAQoaRGVsZXRlRmlsZXNGb3JHcm91cFJlcXVlc3QSEAoIZ3JvdXBfaWQYASABKAkSNAoKZ3JvdXBfdHlwZRgCIAEoDjIgLmRhdGFpbmdlc3QudjEuRGVsZXRpb25Hcm91cFR5cGUSEAoIZmlsZV9pZHMYAyADKAkSEwoLd2lkZ2V0X25hbWUYBCABKAkiHQobRGVsZXRlRmlsZXNGb3JHcm91cFJlc3BvbnNlIk8KFkdldEZpbGVzSW5Hcm91cFJlcXVlc3QSEgoKZ3JvdXBfdHlwZRgBIAEoCRIQCghncm91cF9pZBgCIAEoCRIPCgdjb250ZXh0GAMgASgJIiAKBEZpbGUSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCSIuCghGaWxlTGlzdBIiCgVmaWxlcxgBIAMoCzITLmRhdGFpbmdlc3QudjEuRmlsZSKsAQoXR2V0RmlsZXNJbkdyb3VwUmVzcG9uc2USRwoJdGFnX2ZpbGVzGAEgAygLMjQuZGF0YWluZ2VzdC52MS5HZXRGaWxlc0luR3JvdXBSZXNwb25zZS5UYWdGaWxlc0VudHJ5GkgKDVRhZ0ZpbGVzRW50cnkSCwoDa2V5GAEgASgJEiYKBXZhbHVlGAIgASgLMhcuZGF0YWluZ2VzdC52MS5GaWxlTGlzdDoCOAEiZQoVQ1JNR2V0Q29udGFjdHNSZXF1ZXN0Eg8KB2VuZ2FnZWQYASABKAgSDgoGc3RhZ2VzGAIgAygJEisKCXRpbWVmcmFtZRgDIAEoDjIYLmRhdGFpbmdlc3QudjEuVGltZUZyYW1lIkQKFkNSTUdldENvbnRhY3RzUmVzcG9uc2USKgoHcmVzdWx0cxgBIAMoCzIZLmRhdGFpbmdlc3QudjEuQ1JNQ29udGFjdCIcCg1SdW5TUUxSZXF1ZXN0EgsKA3NxbBgBIAEoCSJqCgZTcWxSb3cSMQoGdmFsdWVzGAEgAygLMiEuZGF0YWluZ2VzdC52MS5TcWxSb3cuVmFsdWVzRW50cnkaLQoLVmFsdWVzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASI4Cg5SdW5TUUxSZXNwb25zZRImCgdyZXN1bHRzGAEgAygLMhUuZGF0YWluZ2VzdC52MS5TcWxSb3ciMwofR2V0RmlsZVVwZGF0ZWRUaW1lc3RhbXBzUmVxdWVzdBIQCghmaWxlX2lkcxgBIAMoCSLiAQogR2V0RmlsZVVwZGF0ZWRUaW1lc3RhbXBzUmVzcG9uc2USZwoWZmlsZV9pZHNfdG9fdXBkYXRlZF9hdBgBIAMoCzJHLmRhdGFpbmdlc3QudjEuR2V0RmlsZVVwZGF0ZWRUaW1lc3RhbXBzUmVzcG9uc2UuRmlsZUlkc1RvVXBkYXRlZEF0RW50cnkaVQoXRmlsZUlkc1RvVXBkYXRlZEF0RW50cnkSCwoDa2V5GAEgASgJEikKBXZhbHVlGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcDoCOAEiPgodVXBkYXRlVGFnc0luRmlsZUluZ2VzdFJlcXVlc3QSDwoHZmlsZV9pZBgBIAEoCRIMCgR0YWdzGAIgAygJIiAKHlVwZGF0ZVRhZ3NJbkZpbGVJbmdlc3RSZXNwb25zZSI8ChJVcmxCYXNlZFNvdXJjZURhdGESEwoLZm9sZGVyX3VybHMYASADKAkSEQoJZmlsZV91cmxzGAIgAygJIjkKEUlkQmFzZWRTb3VyY2VEYXRhEhIKCmZvbGRlcl9pZHMYASADKAkSEAoIZmlsZV9pZHMYAiADKAkiIQofR2V0U3VwcG9ydGVkSW50ZWdyYXRpb25zUmVxdWVzdCJbCiBHZXRTdXBwb3J0ZWRJbnRlZ3JhdGlvbnNSZXNwb25zZRI3CgxpbnRlZ3JhdGlvbnMYASADKAsyIS5kYXRhaW5nZXN0LnYxLlVuaWZpZWRJbnRlZ3JhdGlvbiLZAwoSVW5pZmllZEludGVncmF0aW9uEhQKDGRpc3BsYXlfbmFtZRgBIAEoCRJLChppbnRlZ3JhdGVkX2FwcGxpY2F0aW9uX2tleRgCIAEoDjInLmRhdGFpbmdlc3QudjEuSW50ZWdyYXRlZEFwcGxpY2F0aW9uS2V5EjQKCHByb3ZpZGVyGAMgASgOMiIuZGF0YWluZ2VzdC52MS5JbnRlZ3JhdGlvblByb3ZpZGVyEjcKCmlucHV0X3R5cGUYBCABKA4yIy5kYXRhaW5nZXN0LnYxLkludGVncmF0aW9uSW5wdXRUeXBlEjAKBnN0YXR1cxgFIAEoDjIgLmRhdGFpbmdlc3QudjEuSW50ZWdyYXRpb25TdGF0dXMSFwoPYXBwbGljYXRpb25fa2V5GAYgASgJEjUKCWF1dGhfdHlwZRgHIAEoDjIiLmRhdGFpbmdlc3QudjEuSW50ZWdyYXRpb25BdXRoVHlwZRI7Cgxob3N0aW5nX3R5cGUYCCABKA4yJS5kYXRhaW5nZXN0LnYxLkludGVncmF0aW9uSG9zdGluZ1R5cGUSFAoMaXNfY29ubmVjdGVkGAkgASgIEhwKFG5hdGl2ZV9hcHBfY29uZmlnX2lkGAogASgJIvIBChpHZXRSb290Q29udGVudE5vZGVzUmVxdWVzdBITCgt3aWRnZXRfbmFtZRgBIAEoCRJCChZmaWxlX3BpY2tlcl9ncm91cF90eXBlGAIgASgOMiIuZGF0YWluZ2VzdC52MS5GaWxlUGlja2VyR3JvdXBUeXBlEhwKFGZpbGVfcGlja2VyX2dyb3VwX2lkGAMgASgJEjUKBnN0YXR1cxgEIAEoDjIgLmRhdGFpbmdlc3QudjEuQ29udGVudE5vZGVTdGF0dXNIAIgBARIMCgRwYWdlGAUgASgFEg0KBWxpbWl0GAYgASgFQgkKB19zdGF0dXMijQIKHUdldENvbnRlbnROb2RlQ2hpbGRyZW5SZXF1ZXN0EhYKDnBhcmVudF9ub2RlX2lkGAEgASgJEjUKBnN0YXR1cxgCIAEoDjIgLmRhdGFpbmdlc3QudjEuQ29udGVudE5vZGVTdGF0dXNIAIgBARIMCgRwYWdlGAMgASgFEg0KBWxpbWl0GAQgASgFEhMKC3dpZGdldF9uYW1lGAUgASgJEkIKFmZpbGVfcGlja2VyX2dyb3VwX3R5cGUYBiABKA4yIi5kYXRhaW5nZXN0LnYxLkZpbGVQaWNrZXJHcm91cFR5cGUSHAoUZmlsZV9waWNrZXJfZ3JvdXBfaWQYByABKAlCCQoHX3N0YXR1cyLFAgoZU2VhcmNoQ29udGVudE5vZGVzUmVxdWVzdBITCgt3aWRnZXRfbmFtZRgBIAEoCRJCChZmaWxlX3BpY2tlcl9ncm91cF90eXBlGAIgASgOMiIuZGF0YWluZ2VzdC52MS5GaWxlUGlja2VyR3JvdXBUeXBlEhwKFGZpbGVfcGlja2VyX2dyb3VwX2lkGAMgASgJEjkKBnN0YXR1cxgEIAEoDjIgLmRhdGFpbmdlc3QudjEuQ29udGVudE5vZGVTdGF0dXNCAhgBSACIAQESDAoEcGFnZRgFIAEoBRINCgVsaW1pdBgGIAEoBRIUCgxzZWFyY2hfcXVlcnkYByABKAkSOAoOc3RhdHVzX2ZpbHRlcnMYCCADKA4yIC5kYXRhaW5nZXN0LnYxLkNvbnRlbnROb2RlU3RhdHVzQgkKB19zdGF0dXMi1wEKGFVwZGF0ZUNvbnRlbnROb2RlUmVxdWVzdBIKCgJpZBgBIAEoCRITCgt3aWRnZXRfbmFtZRgCIAEoCRI4Cg12YWxpZGl0eV9pbmZvGAMgASgLMiEuZGF0YWluZ2VzdC52MS5WYWxpZGl0eUluZm9VcGRhdGUSQgoWZmlsZV9waWNrZXJfZ3JvdXBfdHlwZRgEIAEoDjIiLmRhdGFpbmdlc3QudjEuRmlsZVBpY2tlckdyb3VwVHlwZRIcChRmaWxlX3BpY2tlcl9ncm91cF9pZBgFIAEoCSLGAQoZVXBkYXRlQ29udGVudE5vZGVSZXNwb25zZRITCgt3aWRnZXRfbmFtZRgBIAEoCRIyCg12YWxpZGl0eV9pbmZvGAIgASgLMhsuZGF0YWluZ2VzdC52MS5WYWxpZGl0eUluZm8SQgoWZmlsZV9waWNrZXJfZ3JvdXBfdHlwZRgDIAEoDjIiLmRhdGFpbmdlc3QudjEuRmlsZVBpY2tlckdyb3VwVHlwZRIcChRmaWxlX3BpY2tlcl9ncm91cF9pZBgEIAEoCSJ0ChJWYWxpZGl0eUluZm9VcGRhdGUSLgoKdmFsaWRfZnJvbRgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdmFsaWRfdXB0bxgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiqAEKGlNlYXJjaENvbnRlbnROb2Rlc1Jlc3BvbnNlEjAKBGRhdGEYASADKAsyIi5kYXRhaW5nZXN0LnYxLkNvbnRlbnROb2RlUmVzcG9uc2USMQoKcGFnaW5hdGlvbhgCIAEoCzIdLmRhdGFpbmdlc3QudjEuUGFnaW5hdGlvbkluZm8SJQoEbWV0YRgDIAEoCzIXLmRhdGFpbmdlc3QudjEuTWV0YUluZm8imQEKH0dldENvbnRlbnROb2RlQWdncmVnYXRlc1JlcXVlc3QSFAoMd2lkZ2V0X25hbWVzGAEgAygJEkIKFmZpbGVfcGlja2VyX2dyb3VwX3R5cGUYAiABKA4yIi5kYXRhaW5nZXN0LnYxLkZpbGVQaWNrZXJHcm91cFR5cGUSHAoUZmlsZV9waWNrZXJfZ3JvdXBfaWQYAyABKAki+QMKE0NvbnRlbnROb2RlUmVzcG9uc2USCgoCaWQYASABKAkSFwoPY29udGVudF9ub2RlX2lkGAIgASgJEhEKCW5vZGVfbmFtZRgDIAEoCRIwCgZzdGF0dXMYBCABKA4yIC5kYXRhaW5nZXN0LnYxLkNvbnRlbnROb2RlU3RhdHVzEhQKDGhhc19jaGlsZHJlbhgFIAEoCBIWCg5oYXNfbm9fY29udGVudBgGIAEoCBIPCgdpc19yb290GAcgASgIEi4KC3NvdXJjZV90eXBlGAggASgOMhkuZGF0YWluZ2VzdC52MS5Tb3VyY2VUeXBlEi4KC3NvdXJjZV9uYW1lGAkgASgOMhkuZGF0YWluZ2VzdC52MS5Tb3VyY2VOYW1lEjcKCmVycm9yX2NvZGUYCiABKA4yIy5kYXRhaW5nZXN0LnYxLkNvbnRlbnROb2RlRXJyb3JDb2RlEi4KCmNyZWF0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEgwKBHRhZ3MYDSADKAkSMgoNdmFsaWRpdHlfaW5mbxgOIAEoCzIbLmRhdGFpbmdlc3QudjEuVmFsaWRpdHlJbmZvIm4KDFZhbGlkaXR5SW5mbxIuCgp2YWxpZF9mcm9tGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp2YWxpZF91cHRvGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJRCg5QYWdpbmF0aW9uSW5mbxIMCgRwYWdlGAEgASgFEg0KBWxpbWl0GAIgASgFEg0KBXRvdGFsGAMgASgFEhMKC3RvdGFsX3BhZ2VzGAQgASgFImkKCE1ldGFJbmZvEhMKC3dpZGdldF9uYW1lGAEgASgJEjYKCmdyb3VwX3R5cGUYAiABKA4yIi5kYXRhaW5nZXN0LnYxLkZpbGVQaWNrZXJHcm91cFR5cGUSEAoIZ3JvdXBfaWQYAyABKAkiqQEKG0dldFJvb3RDb250ZW50Tm9kZXNSZXNwb25zZRIwCgRkYXRhGAEgAygLMiIuZGF0YWluZ2VzdC52MS5Db250ZW50Tm9kZVJlc3BvbnNlEjEKCnBhZ2luYXRpb24YAiABKAsyHS5kYXRhaW5nZXN0LnYxLlBhZ2luYXRpb25JbmZvEiUKBG1ldGEYAyABKAsyFy5kYXRhaW5nZXN0LnYxLk1ldGFJbmZvIoUBCh5HZXRDb250ZW50Tm9kZUNoaWxkcmVuUmVzcG9uc2USMAoEZGF0YRgBIAMoCzIiLmRhdGFpbmdlc3QudjEuQ29udGVudE5vZGVSZXNwb25zZRIxCgpwYWdpbmF0aW9uGAIgASgLMh0uZGF0YWluZ2VzdC52MS5QYWdpbmF0aW9uSW5mbyJVCgxTdGF0dXNDb3VudHMSDwoHc3VjY2VzcxgBIAEoBRIOCgZmYWlsZWQYAiABKAUSDwoHcGVuZGluZxgDIAEoBRITCgt1bnN1cHBvcnRlZBgEIAEoBSJ5ChNTb3VyY2VOYW1lQWdncmVnYXRlEi4KC3NvdXJjZV9uYW1lGAEgASgOMhkuZGF0YWluZ2VzdC52MS5Tb3VyY2VOYW1lEjIKDXN0YXR1c19jb3VudHMYAiABKAsyGy5kYXRhaW5nZXN0LnYxLlN0YXR1c0NvdW50cyKyAQoTU291cmNlVHlwZUFnZ3JlZ2F0ZRIuCgtzb3VyY2VfdHlwZRgBIAEoDjIZLmRhdGFpbmdlc3QudjEuU291cmNlVHlwZRI4Cgxzb3VyY2VfbmFtZXMYAiADKAsyIi5kYXRhaW5nZXN0LnYxLlNvdXJjZU5hbWVBZ2dyZWdhdGUSMQoMdG90YWxfY291bnRzGAMgASgLMhsuZGF0YWluZ2VzdC52MS5TdGF0dXNDb3VudHMipwEKD1dpZGdldEFnZ3JlZ2F0ZRITCgt3aWRnZXRfbmFtZRgBIAEoCRI4Cgxzb3VyY2VfdHlwZXMYAiADKAsyIi5kYXRhaW5nZXN0LnYxLlNvdXJjZVR5cGVBZ2dyZWdhdGUSMQoMdG90YWxfY291bnRzGAMgASgLMhsuZGF0YWluZ2VzdC52MS5TdGF0dXNDb3VudHMSEgoKaXNfc3luY2luZxgEIAEoCCJdCiBHZXRDb250ZW50Tm9kZUFnZ3JlZ2F0ZXNSZXNwb25zZRI5ChF3aWRnZXRfYWdncmVnYXRlcxgBIAMoCzIeLmRhdGFpbmdlc3QudjEuV2lkZ2V0QWdncmVnYXRlIqEBChdTeW5jQ29udGVudE5vZGVzUmVxdWVzdBITCgt3aWRnZXRfbmFtZRgBIAEoCRJCChZmaWxlX3BpY2tlcl9ncm91cF90eXBlGAIgASgOMiIuZGF0YWluZ2VzdC52MS5GaWxlUGlja2VyR3JvdXBUeXBlEhwKFGZpbGVfcGlja2VyX2dyb3VwX2lkGAMgASgJEg8KB25vZGVfaWQYBCABKAkiGgoYU3luY0NvbnRlbnROb2Rlc1Jlc3BvbnNlIqUBChlEZWxldGVDb250ZW50Tm9kZXNSZXF1ZXN0EkIKFmZpbGVfcGlja2VyX2dyb3VwX3R5cGUYASABKA4yIi5kYXRhaW5nZXN0LnYxLkZpbGVQaWNrZXJHcm91cFR5cGUSHAoUZmlsZV9waWNrZXJfZ3JvdXBfaWQYAiABKAkSEAoIbm9kZV9pZHMYAyADKAkSFAoMd2lkZ2V0X25hbWVzGAQgAygJIhwKGkRlbGV0ZUNvbnRlbnROb2Rlc1Jlc3BvbnNlIngKGFdpZGdldFJlcGxpY2F0aW9uTWFwcGluZxIaChJzb3VyY2Vfd2lkZ2V0X25hbWUYASABKAkSJAoXZGVzdGluYXRpb25fd2lkZ2V0X25hbWUYAiABKAlIAIgBAUIaChhfZGVzdGluYXRpb25fd2lkZ2V0X25hbWUikgIKFFJlcGxpY2F0ZURhdGFSZXF1ZXN0Ej0KEXNvdXJjZV9ncm91cF90eXBlGAEgASgOMiIuZGF0YWluZ2VzdC52MS5GaWxlUGlja2VyR3JvdXBUeXBlEhcKD3NvdXJjZV9ncm91cF9pZBgCIAEoCRJCChZkZXN0aW5hdGlvbl9ncm91cF90eXBlGAMgASgOMiIuZGF0YWluZ2VzdC52MS5GaWxlUGlja2VyR3JvdXBUeXBlEhwKFGRlc3RpbmF0aW9uX2dyb3VwX2lkGAQgASgJEkAKD3dpZGdldF9tYXBwaW5ncxgFIAMoCzInLmRhdGFpbmdlc3QudjEuV2lkZ2V0UmVwbGljYXRpb25NYXBwaW5nIpYBChFSZXBsaWNhdGlvblJlc3VsdBIaChJzb3VyY2Vfd2lkZ2V0X25hbWUYASABKAkSHwoXZGVzdGluYXRpb25fd2lkZ2V0X25hbWUYAiABKAkSEgoKcmVxdWVzdF9pZBgDIAEoCRIwCgZzdGF0dXMYBCABKA4yIC5kYXRhaW5nZXN0LnYxLlJlcGxpY2F0aW9uU3RhdHVzIkoKFVJlcGxpY2F0ZURhdGFSZXNwb25zZRIxCgdyZXN1bHRzGAEgAygLMiAuZGF0YWluZ2VzdC52MS5SZXBsaWNhdGlvblJlc3VsdCIxChtHZXRSZXBsaWNhdGlvblN0YXR1c1JlcXVlc3QSEgoKcmVxdWVzdF9pZBgBIAEoCSLaAQocR2V0UmVwbGljYXRpb25TdGF0dXNSZXNwb25zZRIwCgZzdGF0dXMYASABKA4yIC5kYXRhaW5nZXN0LnYxLlJlcGxpY2F0aW9uU3RhdHVzEhoKDWZhaWxlZF9yZWFzb24YAiABKAlIAIgBARIYCgt0b3RhbF9ub2RlcxgDIAEoBUgBiAEBEhwKD2NvbXBsZXRlZF9ub2RlcxgEIAEoBUgCiAEBQhAKDl9mYWlsZWRfcmVhc29uQg4KDF90b3RhbF9ub2Rlc0ISChBfY29tcGxldGVkX25vZGVzIkcKH1JldHJpZ2dlckF1dG9GaWxlVGFnZ2luZ1JlcXVlc3QSEgoKcGVyc29uYV9pZBgBIAEoCRIQCghmaWxlX2lkcxgCIAMoCSIiCiBSZXRyaWdnZXJBdXRvRmlsZVRhZ2dpbmdSZXNwb25zZSo3ChRGaWxlUGlja2VyT2JqZWN0VHlwZRIICgRGSUxFEAASCgoGRk9MREVSEAESCQoFRFJJVkUQAipRChFEZWxldGlvbkdyb3VwVHlwZRIPCgtVTlNQRUNJRklFRBAAEgsKB1BFUlNPTkEQARILCgdQUk9KRUNUEAISEQoNREFTSEJPQVJEX1JPVxADKmYKCVRpbWVGcmFtZRIZChVUSU1FRlJBTUVfVU5TUEVDSUZJRUQQABINCglMQVNUX1dFRUsQARIOCgpMQVNUX01PTlRIEAISEQoNTEFTVF82X01PTlRIUxADEgwKCEFMTF9USU1FEAQqngEKE0ludGVncmF0aW9uUHJvdmlkZXISJAogSU5URUdSQVRJT05fUFJPVklERVJfVU5TUEVDSUZJRUQQABIeChpJTlRFR1JBVElPTl9QUk9WSURFUl9NRVJHRRABEiAKHElOVEVHUkFUSU9OX1BST1ZJREVSX1BBUkFHT04QAhIfChtJTlRFR1JBVElPTl9QUk9WSURFUl9OQVRJVkUQAyp9ChRJbnRlZ3JhdGlvbklucHV0VHlwZRImCiJJTlRFR1JBVElPTl9JTlBVVF9UWVBFX1VOU1BFQ0lGSUVEEAASHgoaSU5URUdSQVRJT05fSU5QVVRfVFlQRV9VUkwQARIdChlJTlRFR1JBVElPTl9JTlBVVF9UWVBFX0lEEAIqhAEKE0ludGVncmF0aW9uQXV0aFR5cGUSJQohSU5URUdSQVRJT05fQVVUSF9UWVBFX1VOU1BFQ0lGSUVEEAASIAocSU5URUdSQVRJT05fQVVUSF9UWVBFX09BVVRIMhABEiQKIElOVEVHUkFUSU9OX0FVVEhfVFlQRV9CQVNJQ19BVVRIEAIqkAEKFkludGVncmF0aW9uSG9zdGluZ1R5cGUSKAokSU5URUdSQVRJT05fSE9TVElOR19UWVBFX1VOU1BFQ0lGSUVEEAASIgoeSU5URUdSQVRJT05fSE9TVElOR19UWVBFX0NMT1VEEAESKAokSU5URUdSQVRJT05fSE9TVElOR19UWVBFX1NFTEZfSE9TVEVEEAIqlwEKEUludGVncmF0aW9uU3RhdHVzEiIKHklOVEVHUkFUSU9OX1NUQVRVU19VTlNQRUNJRklFRBAAEh0KGUlOVEVHUkFUSU9OX1NUQVRVU19BQ1RJVkUQARIfChtJTlRFR1JBVElPTl9TVEFUVVNfSU5BQ1RJVkUQAhIeChpJTlRFR1JBVElPTl9TVEFUVVNfREVMRVRFRBADKpwBChhJbnRlZ3JhdGVkQXBwbGljYXRpb25LZXkSKgomSU5URUdSQVRFRF9BUFBMSUNBVElPTl9LRVlfVU5TUEVDSUZJRUQQABIpCiVJTlRFR1JBVEVEX0FQUExJQ0FUSU9OX0tFWV9TSEFSRVBPSU5UEAESKQolSU5URUdSQVRFRF9BUFBMSUNBVElPTl9LRVlfU0VSVklDRU5PVxACKpgDChFDb250ZW50Tm9kZVN0YXR1cxIjCh9DT05URU5UX05PREVfU1RBVFVTX1VOU1BFQ0lGSUVEEAASHwobQ09OVEVOVF9OT0RFX1NUQVRVU19QRU5ESU5HEAESIQodQ09OVEVOVF9OT0RFX1NUQVRVU19JTklUSUFURUQQAhIiCh5DT05URU5UX05PREVfU1RBVFVTX1BST0NFU1NJTkcQAxIhCh1DT05URU5UX05PREVfU1RBVFVTX0NPTVBMRVRFRBAEEioKJkNPTlRFTlRfTk9ERV9TVEFUVVNfREVMRVRFX0lOX1BST0dSRVNTEAUSHgoaQ09OVEVOVF9OT0RFX1NUQVRVU19GQUlMRUQQBhIfChtDT05URU5UX05PREVfU1RBVFVTX0RFTEVURUQQBxIgChxDT05URU5UX05PREVfU1RBVFVTX0lOREVYSU5HEAgSHwobQ09OVEVOVF9OT0RFX1NUQVRVU19TWU5DSU5HEAkSIwofQ09OVEVOVF9OT0RFX1NUQVRVU19VTlNVUFBPUlRFRBAKKqIBCgpTb3VyY2VUeXBlEhsKF1NPVVJDRV9UWVBFX1VOU1BFQ0lGSUVEEAASFQoRU09VUkNFX1RZUEVfTE9DQUwQARIVChFTT1VSQ0VfVFlQRV9NRVJHRRACEhcKE1NPVVJDRV9UWVBFX1BBUkFHT04QAxIYChRTT1VSQ0VfVFlQRV9XRUJDUkFXTBAEEhYKElNPVVJDRV9UWVBFX05BVElWRRAFKvgBCgpTb3VyY2VOYW1lEhsKF1NPVVJDRV9OQU1FX1VOU1BFQ0lGSUVEEAASFQoRU09VUkNFX05BTUVfTE9DQUwQARIYChRTT1VSQ0VfTkFNRV9XRUJDUkFXTBACEhwKGFNPVVJDRV9OQU1FX0dPT0dMRV9EUklWRRADEhcKE1NPVVJDRV9OQU1FX0RST1BCT1gQBBITCg9TT1VSQ0VfTkFNRV9CT1gQBRIYChRTT1VSQ0VfTkFNRV9PTkVEUklWRRAGEhoKFlNPVVJDRV9OQU1FX1NIQVJFUE9JTlQQBxIaChZTT1VSQ0VfTkFNRV9TRVJWSUNFTk9XEAgqrwEKE0ZpbGVQaWNrZXJHcm91cFR5cGUSJgoiRklMRV9QSUNLRVJfR1JPVVBfVFlQRV9VTlNQRUNJRklFRBAAEiIKHkZJTEVfUElDS0VSX0dST1VQX1RZUEVfUEVSU09OQRABEiIKHkZJTEVfUElDS0VSX0dST1VQX1RZUEVfUFJPSkVDVBACEigKJEZJTEVfUElDS0VSX0dST1VQX1RZUEVfREFTSEJPQVJEX1JPVxADKsYBChRDb250ZW50Tm9kZUVycm9yQ29kZRInCiNDT05URU5UX05PREVfRVJST1JfQ09ERV9VTlNQRUNJRklFRBAAEi0KKUNPTlRFTlRfTk9ERV9FUlJPUl9DT0RFX1BSRVBST0NFU1NfRkFJTEVEEAESKwonQ09OVEVOVF9OT0RFX0VSUk9SX0NPREVfV09SS0ZMT1dfRkFJTEVEEAISKQolQ09OVEVOVF9OT0RFX0VSUk9SX0NPREVfREVMRVRFX0ZBSUxFRBADKpwBChFSZXBsaWNhdGlvblN0YXR1cxIiCh5SRVBMSUNBVElPTl9TVEFUVVNfVU5TUEVDSUZJRUQQABIiCh5SRVBMSUNBVElPTl9TVEFUVVNfSU5fUFJPR1JFU1MQARIgChxSRVBMSUNBVElPTl9TVEFUVVNfQ09NUExFVEVEEAISHQoZUkVQTElDQVRJT05fU1RBVFVTX0ZBSUxFRBADMrAZChFEYXRhSW5nZXN0U2VydmljZRJuChNJbml0aWF0ZUludGVncmF0aW9uEikuZGF0YWluZ2VzdC52MS5Jbml0aWF0ZUludGVncmF0aW9uUmVxdWVzdBoqLmRhdGFpbmdlc3QudjEuSW5pdGlhdGVJbnRlZ3JhdGlvblJlc3BvbnNlIgASaAoRRmluaXNoSW50ZWdyYXRpb24SJy5kYXRhaW5nZXN0LnYxLkZpbmlzaEludGVncmF0aW9uUmVxdWVzdBooLmRhdGFpbmdlc3QudjEuRmluaXNoSW50ZWdyYXRpb25SZXNwb25zZSIAEmIKD0dldEludGVncmF0aW9ucxIlLmRhdGFpbmdlc3QudjEuR2V0SW50ZWdyYXRpb25zUmVxdWVzdBomLmRhdGFpbmdlc3QudjEuR2V0SW50ZWdyYXRpb25zUmVzcG9uc2UiABJrChJGaWxlUGlja2VyT25TdWJtaXQSKC5kYXRhaW5nZXN0LnYxLkZpbGVQaWNrZXJPblN1Ym1pdFJlcXVlc3QaKS5kYXRhaW5nZXN0LnYxLkZpbGVQaWNrZXJPblN1Ym1pdFJlc3BvbnNlIgASaAoTR2V0RmlsZVBpY2tlclN0YXR1cxImLmRhdGFpbmdlc3QudjEuRmlsZVBpY2tlclN0YXR1c1JlcXVlc3QaJy5kYXRhaW5nZXN0LnYxLkZpbGVQaWNrZXJTdGF0dXNSZXNwb25zZSIAEmUKEEZpbGVQaWNrZXJVcGxvYWQSJi5kYXRhaW5nZXN0LnYxLkZpbGVQaWNrZXJVcGxvYWRSZXF1ZXN0GicuZGF0YWluZ2VzdC52MS5GaWxlUGlja2VyVXBsb2FkUmVzcG9uc2UiABJ3ChlHZXRGaWxlUGlja2VyVXBsb2FkU3RhdHVzEi8uZGF0YWluZ2VzdC52MS5HZXRGaWxlUGlja2VyVXBsb2FkU3RhdHVzUmVxdWVzdBolLmRhdGFpbmdlc3QudjEuRmlsZVBpY2tlclVwbG9hZFN0YXR1cyIAMAESbgoTRGVsZXRlRmlsZXNGb3JHcm91cBIpLmRhdGFpbmdlc3QudjEuRGVsZXRlRmlsZXNGb3JHcm91cFJlcXVlc3QaKi5kYXRhaW5nZXN0LnYxLkRlbGV0ZUZpbGVzRm9yR3JvdXBSZXNwb25zZSIAEmgKEUdldFNpZ25lZEltYWdlVXJsEicuZGF0YWluZ2VzdC52MS5HZXRTaWduZWRJbWFnZVVybFJlcXVlc3QaKC5kYXRhaW5nZXN0LnYxLkdldFNpZ25lZEltYWdlVXJsUmVzcG9uc2UiABJZCgxHZXRTaWduZWRVcmwSIi5kYXRhaW5nZXN0LnYxLkdldFNpZ25lZFVybFJlcXVlc3QaIy5kYXRhaW5nZXN0LnYxLkdldFNpZ25lZFVybFJlc3BvbnNlIgASgAEKGUdldEFnZW50UUFBdWRpb0dvbGRlbkRhdGESLy5kYXRhaW5nZXN0LnYxLkdldEFnZW50UUFBdWRpb0dvbGRlbkRhdGFSZXF1ZXN0GjAuZGF0YWluZ2VzdC52MS5HZXRBZ2VudFFBQXVkaW9Hb2xkZW5EYXRhUmVzcG9uc2UiABKGAQobRGVsZXRlQWdlbnRRQUdvbGRlbkRhdGFGaWxlEjEuZGF0YWluZ2VzdC52MS5EZWxldGVBZ2VudFFBR29sZGVuRGF0YUZpbGVSZXF1ZXN0GjIuZGF0YWluZ2VzdC52MS5EZWxldGVBZ2VudFFBR29sZGVuRGF0YUZpbGVSZXNwb25zZSIAEn0KGEdldEFnZW50UUFUcmFuc2NyaXB0aW9ucxIuLmRhdGFpbmdlc3QudjEuR2V0QWdlbnRRQVRyYW5zY3JpcHRpb25zUmVxdWVzdBovLmRhdGFpbmdlc3QudjEuR2V0QWdlbnRRQVRyYW5zY3JpcHRpb25zUmVzcG9uc2UiABJiCg9HZXRGaWxlc0luR3JvdXASJS5kYXRhaW5nZXN0LnYxLkdldEZpbGVzSW5Hcm91cFJlcXVlc3QaJi5kYXRhaW5nZXN0LnYxLkdldEZpbGVzSW5Hcm91cFJlc3BvbnNlIgASXwoOQ1JNR2V0Q29udGFjdHMSJC5kYXRhaW5nZXN0LnYxLkNSTUdldENvbnRhY3RzUmVxdWVzdBolLmRhdGFpbmdlc3QudjEuQ1JNR2V0Q29udGFjdHNSZXNwb25zZSIAEkcKBlJ1blNRTBIcLmRhdGFpbmdlc3QudjEuUnVuU1FMUmVxdWVzdBodLmRhdGFpbmdlc3QudjEuUnVuU1FMUmVzcG9uc2UiABJ9ChhHZXRGaWxlVXBkYXRlZFRpbWVzdGFtcHMSLi5kYXRhaW5nZXN0LnYxLkdldEZpbGVVcGRhdGVkVGltZXN0YW1wc1JlcXVlc3QaLy5kYXRhaW5nZXN0LnYxLkdldEZpbGVVcGRhdGVkVGltZXN0YW1wc1Jlc3BvbnNlIgASdwoWVXBkYXRlVGFnc0luRmlsZUluZ2VzdBIsLmRhdGFpbmdlc3QudjEuVXBkYXRlVGFnc0luRmlsZUluZ2VzdFJlcXVlc3QaLS5kYXRhaW5nZXN0LnYxLlVwZGF0ZVRhZ3NJbkZpbGVJbmdlc3RSZXNwb25zZSIAEn0KGEdldFN1cHBvcnRlZEludGVncmF0aW9ucxIuLmRhdGFpbmdlc3QudjEuR2V0U3VwcG9ydGVkSW50ZWdyYXRpb25zUmVxdWVzdBovLmRhdGFpbmdlc3QudjEuR2V0U3VwcG9ydGVkSW50ZWdyYXRpb25zUmVzcG9uc2UiABJuChNHZXRSb290Q29udGVudE5vZGVzEikuZGF0YWluZ2VzdC52MS5HZXRSb290Q29udGVudE5vZGVzUmVxdWVzdBoqLmRhdGFpbmdlc3QudjEuR2V0Um9vdENvbnRlbnROb2Rlc1Jlc3BvbnNlIgASdwoWR2V0Q29udGVudE5vZGVDaGlsZHJlbhIsLmRhdGFpbmdlc3QudjEuR2V0Q29udGVudE5vZGVDaGlsZHJlblJlcXVlc3QaLS5kYXRhaW5nZXN0LnYxLkdldENvbnRlbnROb2RlQ2hpbGRyZW5SZXNwb25zZSIAEmsKElNlYXJjaENvbnRlbnROb2RlcxIoLmRhdGFpbmdlc3QudjEuU2VhcmNoQ29udGVudE5vZGVzUmVxdWVzdBopLmRhdGFpbmdlc3QudjEuU2VhcmNoQ29udGVudE5vZGVzUmVzcG9uc2UiABJoChFVcGRhdGVDb250ZW50Tm9kZRInLmRhdGFpbmdlc3QudjEuVXBkYXRlQ29udGVudE5vZGVSZXF1ZXN0GiguZGF0YWluZ2VzdC52MS5VcGRhdGVDb250ZW50Tm9kZVJlc3BvbnNlIgASfQoYR2V0Q29udGVudE5vZGVBZ2dyZWdhdGVzEi4uZGF0YWluZ2VzdC52MS5HZXRDb250ZW50Tm9kZUFnZ3JlZ2F0ZXNSZXF1ZXN0Gi8uZGF0YWluZ2VzdC52MS5HZXRDb250ZW50Tm9kZUFnZ3JlZ2F0ZXNSZXNwb25zZSIAEmUKEFN5bmNDb250ZW50Tm9kZXMSJi5kYXRhaW5nZXN0LnYxLlN5bmNDb250ZW50Tm9kZXNSZXF1ZXN0GicuZGF0YWluZ2VzdC52MS5TeW5jQ29udGVudE5vZGVzUmVzcG9uc2UiABJrChJEZWxldGVDb250ZW50Tm9kZXMSKC5kYXRhaW5nZXN0LnYxLkRlbGV0ZUNvbnRlbnROb2Rlc1JlcXVlc3QaKS5kYXRhaW5nZXN0LnYxLkRlbGV0ZUNvbnRlbnROb2Rlc1Jlc3BvbnNlIgASXAoNUmVwbGljYXRlRGF0YRIjLmRhdGFpbmdlc3QudjEuUmVwbGljYXRlRGF0YVJlcXVlc3QaJC5kYXRhaW5nZXN0LnYxLlJlcGxpY2F0ZURhdGFSZXNwb25zZSIAEnEKFEdldFJlcGxpY2F0aW9uU3RhdHVzEiouZGF0YWluZ2VzdC52MS5HZXRSZXBsaWNhdGlvblN0YXR1c1JlcXVlc3QaKy5kYXRhaW5nZXN0LnYxLkdldFJlcGxpY2F0aW9uU3RhdHVzUmVzcG9uc2UiABJ9ChhSZXRyaWdnZXJBdXRvRmlsZVRhZ2dpbmcSLi5kYXRhaW5nZXN0LnYxLlJldHJpZ2dlckF1dG9GaWxlVGFnZ2luZ1JlcXVlc3QaLy5kYXRhaW5nZXN0LnYxLlJldHJpZ2dlckF1dG9GaWxlVGFnZ2luZ1Jlc3BvbnNlIgBCR1pFZ2l0aHViLmNvbS9FbWEtVW5saW1pdGVkL3Byb3Rvcy9nby9zZXJ2aWNlL2RhdGFpbmdlc3QvdjE7ZGF0YWluZ2VzdHYxYgZwcm90bzM", [file_google_protobuf_timestamp, file_service_dataingest_v1_crm, file_service_utils_v1_agent_qa]);
12
12
  /**
13
13
  * Describes the message dataingest.v1.GetSignedImageUrlRequest.
14
14
  * Use `create(GetSignedImageUrlRequestSchema)` to create a new message.
@@ -555,6 +555,10 @@ export var IntegrationProvider;
555
555
  * @generated from enum value: INTEGRATION_PROVIDER_PARAGON = 2;
556
556
  */
557
557
  IntegrationProvider[IntegrationProvider["PARAGON"] = 2] = "PARAGON";
558
+ /**
559
+ * @generated from enum value: INTEGRATION_PROVIDER_NATIVE = 3;
560
+ */
561
+ IntegrationProvider[IntegrationProvider["NATIVE"] = 3] = "NATIVE";
558
562
  })(IntegrationProvider || (IntegrationProvider = {}));
559
563
  /**
560
564
  * Describes the enum dataingest.v1.IntegrationProvider.
@@ -584,6 +588,54 @@ export var IntegrationInputType;
584
588
  * Describes the enum dataingest.v1.IntegrationInputType.
585
589
  */
586
590
  export const IntegrationInputTypeSchema = /*@__PURE__*/ enumDesc(file_service_dataingest_v1_dataingest, 4);
591
+ /**
592
+ * This enum represents the auth mechanism used by the integration.
593
+ *
594
+ * @generated from enum dataingest.v1.IntegrationAuthType
595
+ */
596
+ export var IntegrationAuthType;
597
+ (function (IntegrationAuthType) {
598
+ /**
599
+ * @generated from enum value: INTEGRATION_AUTH_TYPE_UNSPECIFIED = 0;
600
+ */
601
+ IntegrationAuthType[IntegrationAuthType["UNSPECIFIED"] = 0] = "UNSPECIFIED";
602
+ /**
603
+ * @generated from enum value: INTEGRATION_AUTH_TYPE_OAUTH2 = 1;
604
+ */
605
+ IntegrationAuthType[IntegrationAuthType["OAUTH2"] = 1] = "OAUTH2";
606
+ /**
607
+ * @generated from enum value: INTEGRATION_AUTH_TYPE_BASIC_AUTH = 2;
608
+ */
609
+ IntegrationAuthType[IntegrationAuthType["BASIC_AUTH"] = 2] = "BASIC_AUTH";
610
+ })(IntegrationAuthType || (IntegrationAuthType = {}));
611
+ /**
612
+ * Describes the enum dataingest.v1.IntegrationAuthType.
613
+ */
614
+ export const IntegrationAuthTypeSchema = /*@__PURE__*/ enumDesc(file_service_dataingest_v1_dataingest, 5);
615
+ /**
616
+ * This enum represents where the integrated application is hosted.
617
+ *
618
+ * @generated from enum dataingest.v1.IntegrationHostingType
619
+ */
620
+ export var IntegrationHostingType;
621
+ (function (IntegrationHostingType) {
622
+ /**
623
+ * @generated from enum value: INTEGRATION_HOSTING_TYPE_UNSPECIFIED = 0;
624
+ */
625
+ IntegrationHostingType[IntegrationHostingType["UNSPECIFIED"] = 0] = "UNSPECIFIED";
626
+ /**
627
+ * @generated from enum value: INTEGRATION_HOSTING_TYPE_CLOUD = 1;
628
+ */
629
+ IntegrationHostingType[IntegrationHostingType["CLOUD"] = 1] = "CLOUD";
630
+ /**
631
+ * @generated from enum value: INTEGRATION_HOSTING_TYPE_SELF_HOSTED = 2;
632
+ */
633
+ IntegrationHostingType[IntegrationHostingType["SELF_HOSTED"] = 2] = "SELF_HOSTED";
634
+ })(IntegrationHostingType || (IntegrationHostingType = {}));
635
+ /**
636
+ * Describes the enum dataingest.v1.IntegrationHostingType.
637
+ */
638
+ export const IntegrationHostingTypeSchema = /*@__PURE__*/ enumDesc(file_service_dataingest_v1_dataingest, 6);
587
639
  /**
588
640
  * This enum represents the status of the integration.
589
641
  *
@@ -611,7 +663,7 @@ export var IntegrationStatus;
611
663
  /**
612
664
  * Describes the enum dataingest.v1.IntegrationStatus.
613
665
  */
614
- export const IntegrationStatusSchema = /*@__PURE__*/ enumDesc(file_service_dataingest_v1_dataingest, 5);
666
+ export const IntegrationStatusSchema = /*@__PURE__*/ enumDesc(file_service_dataingest_v1_dataingest, 7);
615
667
  /**
616
668
  * This enum represents the key of the integrated application. Will be used to identify
617
669
  * the integration in the DB in DIS and deciding whether to use URL or ID based ingestion.
@@ -636,7 +688,7 @@ export var IntegratedApplicationKey;
636
688
  /**
637
689
  * Describes the enum dataingest.v1.IntegratedApplicationKey.
638
690
  */
639
- export const IntegratedApplicationKeySchema = /*@__PURE__*/ enumDesc(file_service_dataingest_v1_dataingest, 6);
691
+ export const IntegratedApplicationKeySchema = /*@__PURE__*/ enumDesc(file_service_dataingest_v1_dataingest, 8);
640
692
  /**
641
693
  * Content node status enum
642
694
  * Flow of the node status:
@@ -719,7 +771,7 @@ export var ContentNodeStatus;
719
771
  /**
720
772
  * Describes the enum dataingest.v1.ContentNodeStatus.
721
773
  */
722
- export const ContentNodeStatusSchema = /*@__PURE__*/ enumDesc(file_service_dataingest_v1_dataingest, 7);
774
+ export const ContentNodeStatusSchema = /*@__PURE__*/ enumDesc(file_service_dataingest_v1_dataingest, 9);
723
775
  /**
724
776
  * Source type enum
725
777
  *
@@ -747,11 +799,15 @@ export var SourceType;
747
799
  * @generated from enum value: SOURCE_TYPE_WEBCRAWL = 4;
748
800
  */
749
801
  SourceType[SourceType["WEBCRAWL"] = 4] = "WEBCRAWL";
802
+ /**
803
+ * @generated from enum value: SOURCE_TYPE_NATIVE = 5;
804
+ */
805
+ SourceType[SourceType["NATIVE"] = 5] = "NATIVE";
750
806
  })(SourceType || (SourceType = {}));
751
807
  /**
752
808
  * Describes the enum dataingest.v1.SourceType.
753
809
  */
754
- export const SourceTypeSchema = /*@__PURE__*/ enumDesc(file_service_dataingest_v1_dataingest, 8);
810
+ export const SourceTypeSchema = /*@__PURE__*/ enumDesc(file_service_dataingest_v1_dataingest, 10);
755
811
  /**
756
812
  * Source name enum
757
813
  * This list should be exhaustive for all the sources that are supported
@@ -800,7 +856,7 @@ export var SourceName;
800
856
  /**
801
857
  * Describes the enum dataingest.v1.SourceName.
802
858
  */
803
- export const SourceNameSchema = /*@__PURE__*/ enumDesc(file_service_dataingest_v1_dataingest, 9);
859
+ export const SourceNameSchema = /*@__PURE__*/ enumDesc(file_service_dataingest_v1_dataingest, 11);
804
860
  /**
805
861
  * @generated from enum dataingest.v1.FilePickerGroupType
806
862
  */
@@ -826,7 +882,7 @@ export var FilePickerGroupType;
826
882
  /**
827
883
  * Describes the enum dataingest.v1.FilePickerGroupType.
828
884
  */
829
- export const FilePickerGroupTypeSchema = /*@__PURE__*/ enumDesc(file_service_dataingest_v1_dataingest, 10);
885
+ export const FilePickerGroupTypeSchema = /*@__PURE__*/ enumDesc(file_service_dataingest_v1_dataingest, 12);
830
886
  /**
831
887
  * @generated from enum dataingest.v1.ContentNodeErrorCode
832
888
  */
@@ -858,7 +914,7 @@ export var ContentNodeErrorCode;
858
914
  /**
859
915
  * Describes the enum dataingest.v1.ContentNodeErrorCode.
860
916
  */
861
- export const ContentNodeErrorCodeSchema = /*@__PURE__*/ enumDesc(file_service_dataingest_v1_dataingest, 11);
917
+ export const ContentNodeErrorCodeSchema = /*@__PURE__*/ enumDesc(file_service_dataingest_v1_dataingest, 13);
862
918
  /**
863
919
  * Status for replication lifecycle
864
920
  *
@@ -886,7 +942,7 @@ export var ReplicationStatus;
886
942
  /**
887
943
  * Describes the enum dataingest.v1.ReplicationStatus.
888
944
  */
889
- export const ReplicationStatusSchema = /*@__PURE__*/ enumDesc(file_service_dataingest_v1_dataingest, 12);
945
+ export const ReplicationStatusSchema = /*@__PURE__*/ enumDesc(file_service_dataingest_v1_dataingest, 14);
890
946
  /**
891
947
  * @generated from service dataingest.v1.DataIngestService
892
948
  */