@burgan-tech/morph-touch-runtime 0.0.2

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 (244) hide show
  1. package/LICENSE +21 -0
  2. package/burgan-tech-morph-touch-runtime-0.0.2.tgz +0 -0
  3. package/package.json +21 -0
  4. package/touch/Extensions/.gitkeep +0 -0
  5. package/touch/Functions/.gitkeep +0 -0
  6. package/touch/Functions/check-livekit-room-access.1.0.0.json +28 -0
  7. package/touch/Functions/check-livekit-room-access.http +44 -0
  8. package/touch/Functions/get-absence-entry.1.0.0.json +28 -0
  9. package/touch/Functions/get-advisor-stats.1.0.0.json +27 -0
  10. package/touch/Functions/get-available-slots.1.0.0.json +30 -0
  11. package/touch/Functions/get-available-slots.http +29 -0
  12. package/touch/Functions/get-chat-rooms.1.0.0.json +28 -0
  13. package/touch/Functions/get-chat-rooms.http +62 -0
  14. package/touch/Functions/get-customer-info.1.0.0.json +27 -0
  15. package/touch/Functions/get-matrix-sync.1.0.0.json +28 -0
  16. package/touch/Functions/get-rezervations.1.0.0.json +26 -0
  17. package/touch/Functions/get-rezervations.http +59 -0
  18. package/touch/Functions/get-room-messages.1.0.0.json +29 -0
  19. package/touch/Functions/get-room-messages.http +45 -0
  20. package/touch/Functions/rezervation-transfer.http +118 -0
  21. package/touch/Functions/send-room-message.1.0.0.json +29 -0
  22. package/touch/Functions/src/CheckLivekitRoomAccessMapping.csx +238 -0
  23. package/touch/Functions/src/GetAbsenceEntryMapping.csx +225 -0
  24. package/touch/Functions/src/GetAdvisorStatsMapping.csx +190 -0
  25. package/touch/Functions/src/GetAvailableSlotsMapping.csx +468 -0
  26. package/touch/Functions/src/GetChatRoomsMapping.csx +202 -0
  27. package/touch/Functions/src/GetCustomerInfoMapping.csx +140 -0
  28. package/touch/Functions/src/GetMatrixSyncMapping.csx +197 -0
  29. package/touch/Functions/src/GetRezervationsMapping.csx +162 -0
  30. package/touch/Functions/src/GetRoomMessagesMapping.csx +165 -0
  31. package/touch/Functions/src/SendCancelNotificationMapping.csx +63 -0
  32. package/touch/Functions/src/SendRoomMessageMapping.csx +131 -0
  33. package/touch/Schemas/.gitkeep +0 -0
  34. package/touch/Schemas/absence-entry.1.0.0.json +232 -0
  35. package/touch/Schemas/advisor-chat-rooms.1.0.0.json +62 -0
  36. package/touch/Schemas/chat-room.1.0.0.json +110 -0
  37. package/touch/Schemas/notification-sender.1.0.0.json +159 -0
  38. package/touch/Schemas/portfolio-manager.1.0.0.json +63 -0
  39. package/touch/Schemas/rezervation.1.0.0.json +102 -0
  40. package/touch/Tasks/.gitkeep +0 -0
  41. package/touch/Tasks/cancel-absence-entry-for-rezervation.1.0.0.json +21 -0
  42. package/touch/Tasks/check-already-completed-chat-room.1.0.0.json +24 -0
  43. package/touch/Tasks/check-duplicate-portfolio-manager.1.0.0.json +23 -0
  44. package/touch/Tasks/check-duplicate-rezervation.1.0.0.json +23 -0
  45. package/touch/Tasks/check-existing-permanent-chat-room.1.0.0.json +21 -0
  46. package/touch/Tasks/check-randevu-time.1.0.0.json +17 -0
  47. package/touch/Tasks/create-permanent-chat-room.1.0.0.json +28 -0
  48. package/touch/Tasks/determine-transfer-type.1.0.0.json +16 -0
  49. package/touch/Tasks/enrich-rezervations-for-transfer.1.0.0.json +23 -0
  50. package/touch/Tasks/execute-permanent-chatroom-update.1.0.0.json +21 -0
  51. package/touch/Tasks/execute-rez-chatroom-transfer.1.0.0.json +21 -0
  52. package/touch/Tasks/execute-rezervation-transfer.1.0.0.json +19 -0
  53. package/touch/Tasks/fetch-absence-entries-for-transfer.1.0.0.json +23 -0
  54. package/touch/Tasks/fetch-advisors-for-transfer.1.0.0.json +23 -0
  55. package/touch/Tasks/fetch-permanent-chatrooms-for-transfer.1.0.0.json +23 -0
  56. package/touch/Tasks/fetch-rez-chatrooms-for-transfer.1.0.0.json +23 -0
  57. package/touch/Tasks/fetch-rezervations-for-transfer.1.0.0.json +22 -0
  58. package/touch/Tasks/get-absence-entry-task.1.0.0.json +23 -0
  59. package/touch/Tasks/get-available-slots-http.1.0.0.json +27 -0
  60. package/touch/Tasks/get-available-slots.1.0.0.json +24 -0
  61. package/touch/Tasks/get-chat-room-data-for-rezervation.1.0.0.json +23 -0
  62. package/touch/Tasks/get-chat-token.1.0.0.json +27 -0
  63. package/touch/Tasks/get-matrix-room-messages.1.0.0.json +25 -0
  64. package/touch/Tasks/get-matrix-sync.1.0.0.json +25 -0
  65. package/touch/Tasks/get-rezervation-data-task.1.0.0.json +22 -0
  66. package/touch/Tasks/get-rezervation-state-task.1.0.0.json +22 -0
  67. package/touch/Tasks/get-rezervations-task.1.0.0.json +21 -0
  68. package/touch/Tasks/get-user-info-for-rezervation.1.0.0.json +24 -0
  69. package/touch/Tasks/get-video-call-url.1.0.0.json +17 -0
  70. package/touch/Tasks/invite-user-to-rezervation-room.1.0.0.json +27 -0
  71. package/touch/Tasks/join-chat-room-for-rezervation.1.0.0.json +28 -0
  72. package/touch/Tasks/join-matrix-room.1.0.0.json +27 -0
  73. package/touch/Tasks/join-user-to-room.1.0.0.json +27 -0
  74. package/touch/Tasks/merge-invited-user.1.0.0.json +17 -0
  75. package/touch/Tasks/merge-rezervation-update.1.0.0.json +16 -0
  76. package/touch/Tasks/merge-target-advisor-for-transfer.1.0.0.json +17 -0
  77. package/touch/Tasks/merge-update-body-for-randevu-update.1.0.0.json +16 -0
  78. package/touch/Tasks/merge-video-call-urls.1.0.0.json +17 -0
  79. package/touch/Tasks/query-chat-room-instances.1.0.0.json +23 -0
  80. package/touch/Tasks/remove-member-from-room.1.0.0.json +28 -0
  81. package/touch/Tasks/send-matrix-room-message.1.0.0.json +26 -0
  82. package/touch/Tasks/send-push-notification.1.0.0.json +26 -0
  83. package/touch/Tasks/send-sms-notification.1.0.0.json +26 -0
  84. package/touch/Tasks/set-chat-room-status-active.1.0.0.json +16 -0
  85. package/touch/Tasks/set-chat-room-status-deactive.1.0.0.json +16 -0
  86. package/touch/Tasks/set-previous-advisor.1.0.0.json +16 -0
  87. package/touch/Tasks/set-user-from-headers-for-rezervation.1.0.0.json +17 -0
  88. package/touch/Tasks/start-absence-entry-for-rezervation.1.0.0.json +21 -0
  89. package/touch/Tasks/start-chat-room-for-rezervation.1.0.0.json +20 -0
  90. package/touch/Tasks/start-notification-sender.1.0.0.json +20 -0
  91. package/touch/Tasks/start-permanent-chat-room.1.0.0.json +21 -0
  92. package/touch/Tasks/start-transfer-from-absence-entry.1.0.0.json +19 -0
  93. package/touch/Tasks/start-video-call.1.0.0.json +22 -0
  94. package/touch/Tasks/trigger-chat-room-deactivate.1.0.0.json +21 -0
  95. package/touch/Tasks/trigger-chat-room-transfer.1.0.0.json +21 -0
  96. package/touch/Tasks/trigger-chat-room-update.1.0.0.json +20 -0
  97. package/touch/Tasks/trigger-rezervation-add-invited-participant.1.0.0.json +20 -0
  98. package/touch/Tasks/trigger-rezervation-apply-update.1.0.0.json +20 -0
  99. package/touch/Tasks/trigger-rezervation-to-in-meet.1.0.0.json +20 -0
  100. package/touch/Tasks/trigger-rezervation-video-call-update.1.0.0.json +21 -0
  101. package/touch/Tasks/validate-date-for-rezervation.1.0.0.json +18 -0
  102. package/touch/Tasks/validate-slot-for-rezervation.1.0.0.json +24 -0
  103. package/touch/Tasks/validate-transfer-availability.1.0.0.json +23 -0
  104. package/touch/Views/.gitkeep +0 -0
  105. package/touch/Workflows/.gitkeep +0 -0
  106. package/touch/Workflows/absence-entry.http +458 -0
  107. package/touch/Workflows/absence-entry.json +179 -0
  108. package/touch/Workflows/add-participant-to-rezervation.http +47 -0
  109. package/touch/Workflows/add-participant-to-rezervation.json +340 -0
  110. package/touch/Workflows/chat-room.http +207 -0
  111. package/touch/Workflows/chat-room.json +452 -0
  112. package/touch/Workflows/investment-advisor.json +367 -0
  113. package/touch/Workflows/notification-sender.http +299 -0
  114. package/touch/Workflows/notification-sender.json +262 -0
  115. package/touch/Workflows/portfolio-manager.json +367 -0
  116. package/touch/Workflows/randevu-update.http +87 -0
  117. package/touch/Workflows/rezervation-start.json +467 -0
  118. package/touch/Workflows/rezervation-transfer.json +512 -0
  119. package/touch/Workflows/rezervation-update.http +87 -0
  120. package/touch/Workflows/rezervation-update.json +485 -0
  121. package/touch/Workflows/rezervation.http +214 -0
  122. package/touch/Workflows/rezervation.json +726 -0
  123. package/touch/Workflows/src/AllChatRoomsSuccessRule.csx +65 -0
  124. package/touch/Workflows/src/AlwaysTrueRule.csx +13 -0
  125. package/touch/Workflows/src/AnyChatRoomFailedRule.csx +64 -0
  126. package/touch/Workflows/src/AutoProcessRule.csx +38 -0
  127. package/touch/Workflows/src/BuildRezChatRoomPlanMapping.csx +160 -0
  128. package/touch/Workflows/src/CanStartRezervationTimerMapping.csx +48 -0
  129. package/touch/Workflows/src/CanStartTransferMapping.csx +14 -0
  130. package/touch/Workflows/src/CancelAbsenceEntryForRezervationMapping.csx +48 -0
  131. package/touch/Workflows/src/CancelAbsenceForRandevuUpdateMapping.csx +62 -0
  132. package/touch/Workflows/src/ChatRoomCreatedFailedRule.csx +54 -0
  133. package/touch/Workflows/src/ChatRoomCreatedSuccessRule.csx +54 -0
  134. package/touch/Workflows/src/ChatRoomRemoveMapping.csx +104 -0
  135. package/touch/Workflows/src/ChatRoomTransferInviteMapping.csx +109 -0
  136. package/touch/Workflows/src/ChatRoomTransferRemoveMapping.csx +71 -0
  137. package/touch/Workflows/src/ChatRoomUpdateMapping.csx +107 -0
  138. package/touch/Workflows/src/CheckAlreadyCompletedChatRoomMapping.csx +100 -0
  139. package/touch/Workflows/src/CheckDuplicatePortfolioManagerMapping.csx +119 -0
  140. package/touch/Workflows/src/CheckDuplicateRezervationMapping.csx +150 -0
  141. package/touch/Workflows/src/CheckExistingPermanentChatRoomMapping.csx +169 -0
  142. package/touch/Workflows/src/CheckRandevuTimeMapping.csx +67 -0
  143. package/touch/Workflows/src/CheckRezervationStateActiveOrInMeetRule.csx +14 -0
  144. package/touch/Workflows/src/CreateAbsenceEntryForRezervationMapping.csx +111 -0
  145. package/touch/Workflows/src/CreateAbsenceForRandevuUpdateMapping.csx +108 -0
  146. package/touch/Workflows/src/CreateChatRoomForRezervationMapping.csx +122 -0
  147. package/touch/Workflows/src/CreatePermanentChatRoomMapping.csx +140 -0
  148. package/touch/Workflows/src/CustomerControlToEndRule.csx +14 -0
  149. package/touch/Workflows/src/DetermineTransferTypeMapping.csx +92 -0
  150. package/touch/Workflows/src/EnrichRezervationsForTransferMapping.csx +495 -0
  151. package/touch/Workflows/src/ExecutePermanentChatRoomUpdateMapping.csx +124 -0
  152. package/touch/Workflows/src/ExecuteRezChatRoomTransferMapping.csx +95 -0
  153. package/touch/Workflows/src/ExecuteTransferMapping.csx +152 -0
  154. package/touch/Workflows/src/FetchAbsenceEntriesForTransferMapping.csx +116 -0
  155. package/touch/Workflows/src/FetchAdvisorsForTransferMapping.csx +145 -0
  156. package/touch/Workflows/src/FetchPermanentChatRoomsMapping.csx +128 -0
  157. package/touch/Workflows/src/FetchRezervationsForTransferMapping.csx +124 -0
  158. package/touch/Workflows/src/GetChatRoomDataForRezervationMapping.csx +100 -0
  159. package/touch/Workflows/src/GetChatTokenMapping.csx +85 -0
  160. package/touch/Workflows/src/GetRezervationDataForAddParticipantMapping.csx +105 -0
  161. package/touch/Workflows/src/GetRezervationDataForRandevuUpdateMapping.csx +110 -0
  162. package/touch/Workflows/src/GetRezervationDataMapping.csx +111 -0
  163. package/touch/Workflows/src/GetRezervationStateForRandevuUpdateMapping.csx +80 -0
  164. package/touch/Workflows/src/GetRezervationStateMapping.csx +92 -0
  165. package/touch/Workflows/src/GetUserInfoForRezervationMapping.csx +63 -0
  166. package/touch/Workflows/src/GetVideoCallUrlMapping.csx +62 -0
  167. package/touch/Workflows/src/HasChangedAdvisorRule.csx +28 -0
  168. package/touch/Workflows/src/HasChatIntegrationRule.csx +41 -0
  169. package/touch/Workflows/src/HasExistingPermanentRoomRule.csx +28 -0
  170. package/touch/Workflows/src/InviteAdvisorForRandevuUpdateMapping.csx +86 -0
  171. package/touch/Workflows/src/InviteNewAdvisorToRezervationRoomMapping.csx +78 -0
  172. package/touch/Workflows/src/InviteNewParticipantToRandevuRoomMapping.csx +88 -0
  173. package/touch/Workflows/src/InvitedUserMergeMapping.csx +77 -0
  174. package/touch/Workflows/src/InvitedUserNotAllowedRule.csx +71 -0
  175. package/touch/Workflows/src/InvitedUserNotInMeetRule.csx +19 -0
  176. package/touch/Workflows/src/IsNotfSentRule.csx +36 -0
  177. package/touch/Workflows/src/JoinChatRoomForAddParticipantMapping.csx +118 -0
  178. package/touch/Workflows/src/JoinChatRoomForRandevuStartMapping.csx +119 -0
  179. package/touch/Workflows/src/JoinChatRoomForRezervationMapping.csx +118 -0
  180. package/touch/Workflows/src/JoinMatrixRoomMapping.csx +100 -0
  181. package/touch/Workflows/src/JoinUserToRoomMapping.csx +118 -0
  182. package/touch/Workflows/src/LoginForAddParticipantChatMapping.csx +102 -0
  183. package/touch/Workflows/src/LoginForRandevuStartChatMapping.csx +96 -0
  184. package/touch/Workflows/src/MergeRezervationUpdateMapping.csx +82 -0
  185. package/touch/Workflows/src/MergeTargetAdvisorForTransferMapping.csx +79 -0
  186. package/touch/Workflows/src/MergeUpdateBodyForRandevuUpdateMapping.csx +91 -0
  187. package/touch/Workflows/src/NoExistingPermanentRoomRule.csx +23 -0
  188. package/touch/Workflows/src/NotificationCompleteAlwaysRule.csx +14 -0
  189. package/touch/Workflows/src/NotificationCompleteFromPendingRule.csx +41 -0
  190. package/touch/Workflows/src/NotificationCompleteFromSmsRule.csx +36 -0
  191. package/touch/Workflows/src/NotificationPushFromPendingRule.csx +42 -0
  192. package/touch/Workflows/src/NotificationPushFromSmsRule.csx +36 -0
  193. package/touch/Workflows/src/NotificationSmsPendingRule.csx +32 -0
  194. package/touch/Workflows/src/PermanentDoneRule.csx +44 -0
  195. package/touch/Workflows/src/PermanentProcessNextRule.csx +44 -0
  196. package/touch/Workflows/src/RezChatRoomProcessNextRule.csx +44 -0
  197. package/touch/Workflows/src/RezChatRoomsDoneRule.csx +44 -0
  198. package/touch/Workflows/src/SendPushNotificationMapping.csx +146 -0
  199. package/touch/Workflows/src/SendSmsNotificationMapping.csx +138 -0
  200. package/touch/Workflows/src/SetChatRoomStatusActiveMapping.csx +22 -0
  201. package/touch/Workflows/src/SetChatRoomStatusDeactiveMapping.csx +22 -0
  202. package/touch/Workflows/src/SetPreviousAdvisorMapping.csx +28 -0
  203. package/touch/Workflows/src/SetUserFromHeadersForRezervationMapping.csx +24 -0
  204. package/touch/Workflows/src/SlotAvailableRule.csx +33 -0
  205. package/touch/Workflows/src/SlotUnavailableRule.csx +33 -0
  206. package/touch/Workflows/src/StartChatRoomForRezervationMapping.csx +100 -0
  207. package/touch/Workflows/src/StartGetChatTokenForRezervationMapping.csx +71 -0
  208. package/touch/Workflows/src/StartNotificationForAdvisorMapping.csx +117 -0
  209. package/touch/Workflows/src/StartNotificationForRezervationFromUserInfoMapping.csx +128 -0
  210. package/touch/Workflows/src/StartNotificationForUserMapping.csx +117 -0
  211. package/touch/Workflows/src/StartPermanentChatRoomMapping.csx +92 -0
  212. package/touch/Workflows/src/StartTransferFromAbsenceEntryMapping.csx +94 -0
  213. package/touch/Workflows/src/StartVideoCallCustomerSubFlowMapping.csx +37 -0
  214. package/touch/Workflows/src/StartVideoCallForInvitedParticipantMapping.csx +54 -0
  215. package/touch/Workflows/src/StartVideoCallForRandevuStartMapping.csx +70 -0
  216. package/touch/Workflows/src/StartVideoCallStaffSubFlowMapping.csx +37 -0
  217. package/touch/Workflows/src/StateActiveForUpdateRule.csx +14 -0
  218. package/touch/Workflows/src/StateActiveRule.csx +14 -0
  219. package/touch/Workflows/src/StateInMeetRule.csx +14 -0
  220. package/touch/Workflows/src/StateNotActiveForUpdateRule.csx +14 -0
  221. package/touch/Workflows/src/StateNotActiveOrInMeetRule.csx +14 -0
  222. package/touch/Workflows/src/StatusCustomerEnterRule.csx +25 -0
  223. package/touch/Workflows/src/StatusStaffEnterRule.csx +25 -0
  224. package/touch/Workflows/src/SyncWorkingHoursRule.csx +46 -0
  225. package/touch/Workflows/src/TokenSuccessRule.csx +24 -0
  226. package/touch/Workflows/src/TransferAllDoneRule.csx +50 -0
  227. package/touch/Workflows/src/TransferHasInvalidRule.csx +34 -0
  228. package/touch/Workflows/src/TransferProcessNextRule.csx +50 -0
  229. package/touch/Workflows/src/TriggerChatRoomDeactivateMapping.csx +77 -0
  230. package/touch/Workflows/src/TriggerChatRoomTransferMapping.csx +93 -0
  231. package/touch/Workflows/src/TriggerChatRoomUpdateMapping.csx +99 -0
  232. package/touch/Workflows/src/TriggerRezervationAddInvitedParticipantMapping.csx +77 -0
  233. package/touch/Workflows/src/TriggerRezervationApplyUpdateMapping.csx +66 -0
  234. package/touch/Workflows/src/TriggerRezervationToInMeetMapping.csx +69 -0
  235. package/touch/Workflows/src/TriggerRezervationVideoCallUpdateMapping.csx +67 -0
  236. package/touch/Workflows/src/ValidateDateForRezervationMapping.csx +60 -0
  237. package/touch/Workflows/src/ValidateSlotForRandevuUpdateMapping.csx +211 -0
  238. package/touch/Workflows/src/ValidateSlotForRezervationMapping.csx +246 -0
  239. package/touch/Workflows/src/ValidateTransferMapping.csx +243 -0
  240. package/touch/Workflows/src/VideoCallUrlUpdateMergeMapping.csx +141 -0
  241. package/touch/Workflows/start-chat.json +217 -0
  242. package/touch/Workflows/start-video-call.http +93 -0
  243. package/touch/Workflows/start-video-call.json +206 -0
  244. package/vnext.config.json +58 -0
@@ -0,0 +1,87 @@
1
+ ###############################################################################
2
+ # Rezervation Update - HTTP Test File
3
+ #
4
+ # This flow updates an existing rezervation (appointment) that is in active state.
5
+ # It validates the new slot, cancels the old absence-entry, creates a new one,
6
+ # invites the new advisor if changed, and applies the update to the rezervation.
7
+ #
8
+ # Flow: start -> get-rezervation -> [update-form | not-active-error]
9
+ # update-form -> to-validate -> validating -> [slot-available -> processing | slot-unavailable -> retry]
10
+ # processing -> complete
11
+ #
12
+ # Prerequisites:
13
+ # 1. vNext Runtime running on localhost:4201
14
+ # 2. Rezervation instance in active state with valid randevuKey
15
+ ###############################################################################
16
+
17
+ @baseUrl = http://localhost:4201
18
+ @apiVersion = 1
19
+ @domain = touch
20
+ @workflow = rezervation-update
21
+
22
+ ###############################################################################
23
+ # Start Rezervation Update Flow
24
+ ###############################################################################
25
+
26
+ @rezervationKey = <paste-rezervation-key>
27
+
28
+ ### Start Rezervation Update Flow
29
+ # Rezervation must be in active state. Use rezervationKey (e.g. personal-leave-xxx or the instance key).
30
+ # @name startRezervationUpdateFlow
31
+ POST {{baseUrl}}/api/v{{apiVersion}}/{{domain}}/workflows/{{workflow}}/instances/start?sync=true
32
+ Content-Type: application/json
33
+ Accept-Language: tr-TR
34
+ X-Request-Id: {{$guid}}
35
+
36
+ {
37
+ "key": "rezervation-update-{{$timestamp}}",
38
+ "tags": [
39
+ "rezervation",
40
+ "randevu",
41
+ "update"
42
+ ],
43
+ "attributes": {
44
+ "randevuKey": "{{rezervationKey}}"
45
+ }
46
+ }
47
+
48
+ ###############################################################################
49
+ # Submit Update (update-form -> to-validate)
50
+ ###############################################################################
51
+
52
+ @instanceId = <paste-instance-id-from-start>
53
+
54
+ ### Submit Update
55
+ # Provide at least one of: startDateTime, endDateTime, advisor
56
+ # @name submitUpdate
57
+ PATCH {{baseUrl}}/api/v{{apiVersion}}/{{domain}}/workflows/{{workflow}}/instances/{{instanceId}}/transitions/to-validate?sync=true
58
+ Content-Type: application/json
59
+ Accept-Language: tr-TR
60
+ X-Request-Id: {{$guid}}
61
+
62
+ {
63
+ "attributes": {
64
+ "startDateTime": "2026-02-03T10:00:00",
65
+ "endDateTime": "2026-02-03T10:30:00",
66
+ "advisor": "touch.portfolio-manager.pm-001"
67
+ }
68
+ }
69
+
70
+ ###############################################################################
71
+ # Retry (slot-unavailable -> update-form)
72
+ ###############################################################################
73
+
74
+ ### Retry with New Slot
75
+ # When slot is unavailable, try again with different date/time
76
+ # @name retryUpdate
77
+ PATCH {{baseUrl}}/api/v{{apiVersion}}/{{domain}}/workflows/{{workflow}}/instances/{{instanceId}}/transitions/retry?sync=true
78
+ Content-Type: application/json
79
+ Accept-Language: tr-TR
80
+ X-Request-Id: {{$guid}}
81
+
82
+ {
83
+ "attributes": {
84
+ "startDateTime": "2026-02-03T11:00:00",
85
+ "endDateTime": "2026-02-03T11:30:00"
86
+ }
87
+ }
@@ -0,0 +1,467 @@
1
+ {
2
+ "key": "rezervation-start",
3
+ "flow": "sys-flows",
4
+ "domain": "touch",
5
+ "version": "1.0.0",
6
+ "flowVersion": "1.0.0",
7
+ "tags": [
8
+ "rezervation",
9
+ "randevu",
10
+ "video-call",
11
+ "meeting"
12
+ ],
13
+ "attributes": {
14
+ "type": "S",
15
+ "labels": [
16
+ {
17
+ "label": "Rezervation Start",
18
+ "language": "en-US"
19
+ },
20
+ {
21
+ "label": "Rezervasyon Başlat",
22
+ "language": "tr-TR"
23
+ }
24
+ ],
25
+ "functions": [],
26
+ "features": [],
27
+ "extensions": [],
28
+ "sharedTransitions": [],
29
+ "startTransition": {
30
+ "key": "start",
31
+ "target": "check-rezervation-state",
32
+ "versionStrategy": "Major",
33
+ "triggerType": 0,
34
+ "labels": [
35
+ {
36
+ "label": "Start",
37
+ "language": "en-US"
38
+ },
39
+ {
40
+ "label": "Başla",
41
+ "language": "tr-TR"
42
+ }
43
+ ]
44
+ },
45
+ "states": [
46
+ {
47
+ "key": "check-rezervation-state",
48
+ "stateType": 1,
49
+ "versionStrategy": "Minor",
50
+ "labels": [
51
+ {
52
+ "label": "Check Rezervation State",
53
+ "language": "en-US"
54
+ },
55
+ {
56
+ "label": "Rezervasyon Durumunu Kontrol Et",
57
+ "language": "tr-TR"
58
+ }
59
+ ],
60
+ "onEntries": [
61
+ {
62
+ "order": 1,
63
+ "task": {
64
+ "domain": "touch",
65
+ "flow": "sys-tasks",
66
+ "key": "get-rezervation-state-task",
67
+ "version": "1.0.0"
68
+ },
69
+ "mapping": {
70
+ "location": "./src/GetRezervationStateMapping.csx",
71
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gTWFwcGluZyBmb3IgZ2V0LXJlemVydmF0aW9uLXN0YXRlLXRhc2sgRGFwclNlcnZpY2VUYXNrLgovLy8gQ2FsbHMgYXBpL3YxL3RvdWNoL3dvcmtmbG93cy9yZXplcnZhdGlvbi9pbnN0YW5jZXMve3JhbmRldnVLZXl9L2Z1bmN0aW9ucy9zdGF0ZQovLy8gU3RhdGUgcmVzcG9uc2U6IHsgInN0YXRlIjogImFjdGl2ZSIsICJzdGF0dXMiOiAiQSIsICJ0cmFuc2l0aW9ucyI6IFsuLi5dLCAuLi4gfSAtIE5PIHVzZXIsIGFkdmlzb3IsIGNoYXRJbnRlZ3JhdGlvbi4KLy8vIE91dHB1dDogc3RhdGUgb25seS4gVXNlIGdldC1yZXplcnZhdGlvbi1kYXRhLXRhc2sgZm9yIHVzZXIsIGFkdmlzb3IsIHN0YXJ0RGF0ZVRpbWUsIGNoYXRJbnRlZ3JhdGlvbi4KLy8vIDwvc3VtbWFyeT4KcHVibGljIGNsYXNzIEdldFJlemVydmF0aW9uU3RhdGVNYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciBzZXJ2aWNlVGFzayA9IHRhc2sgYXMgRGFwclNlcnZpY2VUYXNrOwogICAgICAgIGlmIChzZXJ2aWNlVGFzayA9PSBudWxsKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiVGFzayBtdXN0IGJlIGEgRGFwclNlcnZpY2VUYXNrIik7CgogICAgICAgIHZhciBhcHBJZCA9IEdldENvbmZpZ1ZhbHVlKCJEQVBSX0FQUF9JRCIpOwogICAgICAgIGlmICghc3RyaW5nLklzTnVsbE9yRW1wdHkoYXBwSWQpKQogICAgICAgICAgICBzZXJ2aWNlVGFzay5TZXRBcHBJZChhcHBJZCk7CgogICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICB2YXIgcmFuZGV2dUtleSA9IEdldFN0cmluZyhkYXRhLCAicmFuZGV2dUtleSIpOwogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKHJhbmRldnVLZXkpKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigicmFuZGV2dUtleSBpcyByZXF1aXJlZCIpOwoKICAgICAgICB2YXIgcGF0aCA9ICQiYXBpL3YxL3RvdWNoL3dvcmtmbG93cy9yZXplcnZhdGlvbi9pbnN0YW5jZXMve1VyaS5Fc2NhcGVEYXRhU3RyaW5nKHJhbmRldnVLZXkpfS9mdW5jdGlvbnMvc3RhdGUiOwogICAgICAgIHNlcnZpY2VUYXNrLlNldE1ldGhvZE5hbWUocGF0aCk7CgogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlKCkpOwogICAgfQoKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBPdXRwdXRIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB2YXIgcmVzcG9uc2UgPSBjb250ZXh0LkJvZHk7CiAgICAgICAgaWYgKHJlc3BvbnNlPy5pc1N1Y2Nlc3MgIT0gdHJ1ZSkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIEtleSA9ICJyZXplcnZhdGlvbi1ub3QtZm91bmQiLAogICAgICAgICAgICAgICAgRGF0YSA9IG5ldwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIHN0YXRlID0gKHN0cmluZyludWxsLAogICAgICAgICAgICAgICAgICAgIGVycm9yID0gcmVzcG9uc2U/LmVycm9yTWVzc2FnZT8uVG9TdHJpbmcoKSA/PyAiRmFpbGVkIHRvIGdldCByZXplcnZhdGlvbiBzdGF0ZSIsCiAgICAgICAgICAgICAgICAgICAgZXJyb3JDb2RlID0gIlJFWkVSVkFUSU9OX05PVF9GT1VORCIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfQoKICAgICAgICAvLyBTdGF0ZSByZXNwb25zZTogeyAic3RhdGUiOiAiYWN0aXZlIiwgInN0YXR1cyI6ICJBIiwgInRyYW5zaXRpb25zIjogWy4uLl0sICJkYXRhIjogey4uLn0sICJ2aWV3Ijogey4uLn0gfQogICAgICAgIC8vIHN0YXRlIGlzIGF0IHJvb3QgbGV2ZWwKICAgICAgICB2YXIgcmVzcERhdGEgPSByZXNwb25zZT8uZGF0YSA/PyByZXNwb25zZT8uRGF0YTsKICAgICAgICB2YXIgc3RhdGUgPSBHZXRTdHJpbmcocmVzcERhdGEsICJzdGF0ZSIpID8/IEdldFN0cmluZyhyZXNwRGF0YSwgImN1cnJlbnRTdGF0ZSIpOwoKICAgICAgICB2YXIgZGF0YSA9IGNvbnRleHQuSW5zdGFuY2U/LkRhdGE7CiAgICAgICAgdmFyIHJlc3VsdCA9IG5ldyBEaWN0aW9uYXJ5PHN0cmluZywgb2JqZWN0PgogICAgICAgIHsKICAgICAgICAgICAgeyAic3RhdGUiLCBzdGF0ZSA/PyAidW5rbm93biIgfSwKICAgICAgICAgICAgeyAicmFuZGV2dUtleSIsIEdldFN0cmluZyhkYXRhLCAicmFuZGV2dUtleSIpIH0KICAgICAgICB9OwogICAgICAgIHZhciBwYXJ0aWNpcGFudFR5cGUgPSBHZXRTdHJpbmcoZGF0YSwgInBhcnRpY2lwYW50VHlwZSIpOwogICAgICAgIGlmICghc3RyaW5nLklzTnVsbE9yRW1wdHkocGFydGljaXBhbnRUeXBlKSkKICAgICAgICAgICAgcmVzdWx0WyJwYXJ0aWNpcGFudFR5cGUiXSA9IHBhcnRpY2lwYW50VHlwZTsKICAgICAgICB2YXIgaW52aXRlZFVzZXJJZCA9IEdldFN0cmluZyhkYXRhLCAiaW52aXRlZFVzZXJJZCIpOwogICAgICAgIGlmICghc3RyaW5nLklzTnVsbE9yRW1wdHkoaW52aXRlZFVzZXJJZCkpCiAgICAgICAgICAgIHJlc3VsdFsiaW52aXRlZFVzZXJJZCJdID0gaW52aXRlZFVzZXJJZDsKCiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UKICAgICAgICB7CiAgICAgICAgICAgIEtleSA9ICJyZXplcnZhdGlvbi1zdGF0ZS1zdWNjZXNzIiwKICAgICAgICAgICAgRGF0YSA9IHJlc3VsdAogICAgICAgIH0pOwogICAgfQoKICAgIHByaXZhdGUgc3RyaW5nIEdldFN0cmluZyhkeW5hbWljIG9iaiwgc3RyaW5nIG5hbWUpCiAgICB7CiAgICAgICAgaWYgKG9iaiA9PSBudWxsKSByZXR1cm4gbnVsbDsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShvYmosIG5hbWUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YXIgdiA9IEdldFByb3BlcnR5VmFsdWUob2JqLCBuYW1lKTsKICAgICAgICAgICAgICAgIHJldHVybiB2Py5Ub1N0cmluZygpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhdGNoIHsgfQogICAgICAgIHJldHVybiBudWxsOwogICAgfQp9Cg=="
72
+ }
73
+ },
74
+ {
75
+ "order": 2,
76
+ "task": {
77
+ "domain": "touch",
78
+ "flow": "sys-tasks",
79
+ "key": "get-rezervation-data-task",
80
+ "version": "1.0.0"
81
+ },
82
+ "mapping": {
83
+ "location": "./src/GetRezervationDataMapping.csx",
84
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gTWFwcGluZyBmb3IgZ2V0LXJlemVydmF0aW9uLWRhdGEtdGFzayBEYXByU2VydmljZVRhc2suCi8vLyBDYWxscyBhcGkvdjEvdG91Y2gvd29ya2Zsb3dzL3JlemVydmF0aW9uL2luc3RhbmNlcy97cmFuZGV2dUtleX0vZnVuY3Rpb25zL2RhdGEKLy8vIHRvIGdldCB1c2VyLCBhZHZpc29yLCBzdGFydERhdGVUaW1lLCBjaGF0SW50ZWdyYXRpb24uIE1lcmdlcyBpbnRvIGZsb3cgaW5zdGFuY2UuCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBHZXRSZXplcnZhdGlvbkRhdGFNYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciBzZXJ2aWNlVGFzayA9IHRhc2sgYXMgRGFwclNlcnZpY2VUYXNrOwogICAgICAgIGlmIChzZXJ2aWNlVGFzayA9PSBudWxsKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiVGFzayBtdXN0IGJlIGEgRGFwclNlcnZpY2VUYXNrIik7CgogICAgICAgIHZhciBhcHBJZCA9IEdldENvbmZpZ1ZhbHVlKCJEQVBSX0FQUF9JRCIpOwogICAgICAgIGlmICghc3RyaW5nLklzTnVsbE9yRW1wdHkoYXBwSWQpKQogICAgICAgICAgICBzZXJ2aWNlVGFzay5TZXRBcHBJZChhcHBJZCk7CgogICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICB2YXIgcmFuZGV2dUtleSA9IEdldFN0cmluZyhkYXRhLCAicmFuZGV2dUtleSIpOwogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKHJhbmRldnVLZXkpKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigicmFuZGV2dUtleSBpcyByZXF1aXJlZCIpOwoKICAgICAgICB2YXIgcGF0aCA9ICQiYXBpL3YxL3RvdWNoL3dvcmtmbG93cy9yZXplcnZhdGlvbi9pbnN0YW5jZXMve1VyaS5Fc2NhcGVEYXRhU3RyaW5nKHJhbmRldnVLZXkpfS9mdW5jdGlvbnMvZGF0YSI7CiAgICAgICAgc2VydmljZVRhc2suU2V0TWV0aG9kTmFtZShwYXRoKTsKCiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UoKSk7CiAgICB9CgogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IE91dHB1dEhhbmRsZXIoU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciByZXNwb25zZSA9IGNvbnRleHQuQm9keTsKICAgICAgICBpZiAocmVzcG9uc2U/LmlzU3VjY2VzcyAhPSB0cnVlKQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgS2V5ID0gInJlemVydmF0aW9uLWRhdGEtbm90LWZvdW5kIiwKICAgICAgICAgICAgICAgIERhdGEgPSBuZXcKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBlcnJvciA9IHJlc3BvbnNlPy5lcnJvck1lc3NhZ2U/LlRvU3RyaW5nKCkgPz8gIkZhaWxlZCB0byBnZXQgcmV6ZXJ2YXRpb24gZGF0YSIsCiAgICAgICAgICAgICAgICAgICAgZXJyb3JDb2RlID0gIlJFWkVSVkFUSU9OX0RBVEFfTk9UX0ZPVU5EIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICB9CgogICAgICAgIC8vIGZ1bmN0aW9ucy9kYXRhIHJlc3BvbnNlOiB7ICJkYXRhIjogeyAidXNlciIsICJhZHZpc29yIiwgInN0YXJ0RGF0ZVRpbWUiLCAiZW5kRGF0ZVRpbWUiLCAiY2hhdEludGVncmF0aW9uIiwgLi4uIH0sICJldGFnIiwgImV4dGVuc2lvbnMiIH0KICAgICAgICB2YXIgYXBpUmVzcG9uc2UgPSByZXNwb25zZT8uZGF0YSA/PyByZXNwb25zZT8uRGF0YSA/PyByZXNwb25zZTsKICAgICAgICB2YXIgaW5zdGFuY2VEYXRhID0gR2V0VmFsdWUoYXBpUmVzcG9uc2UsICJkYXRhIikgPz8gYXBpUmVzcG9uc2U7CgogICAgICAgIHZhciBzdGFydERhdGVUaW1lID0gR2V0U3RyaW5nKGluc3RhbmNlRGF0YSwgInN0YXJ0RGF0ZVRpbWUiKTsKICAgICAgICB2YXIgZW5kRGF0ZVRpbWUgPSBHZXRTdHJpbmcoaW5zdGFuY2VEYXRhLCAiZW5kRGF0ZVRpbWUiKTsKICAgICAgICB2YXIgdXNlciA9IEdldFZhbHVlKGluc3RhbmNlRGF0YSwgInVzZXIiKTsKICAgICAgICB2YXIgYWR2aXNvciA9IEdldFZhbHVlKGluc3RhbmNlRGF0YSwgImFkdmlzb3IiKTsKICAgICAgICB2YXIgY2hhdEludGVncmF0aW9uID0gR2V0VmFsdWUoaW5zdGFuY2VEYXRhLCAiY2hhdEludGVncmF0aW9uIik7CgogICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICB2YXIgcmVzdWx0ID0gbmV3IERpY3Rpb25hcnk8c3RyaW5nLCBvYmplY3Q+KCk7CiAgICAgICAgaWYgKCFzdHJpbmcuSXNOdWxsT3JFbXB0eShzdGFydERhdGVUaW1lKSkgcmVzdWx0WyJzdGFydERhdGVUaW1lIl0gPSBzdGFydERhdGVUaW1lOwogICAgICAgIGlmICghc3RyaW5nLklzTnVsbE9yRW1wdHkoZW5kRGF0ZVRpbWUpKSByZXN1bHRbImVuZERhdGVUaW1lIl0gPSBlbmREYXRlVGltZTsKICAgICAgICBpZiAodXNlciAhPSBudWxsKSByZXN1bHRbInVzZXIiXSA9IHVzZXI7CiAgICAgICAgaWYgKGFkdmlzb3IgIT0gbnVsbCkgcmVzdWx0WyJhZHZpc29yIl0gPSBhZHZpc29yOwogICAgICAgIGlmIChjaGF0SW50ZWdyYXRpb24gIT0gbnVsbCkgcmVzdWx0WyJjaGF0SW50ZWdyYXRpb24iXSA9IGNoYXRJbnRlZ3JhdGlvbjsKICAgICAgICB2YXIgcGFydGljaXBhbnRUeXBlID0gR2V0U3RyaW5nKGRhdGEsICJwYXJ0aWNpcGFudFR5cGUiKTsKICAgICAgICBpZiAoIXN0cmluZy5Jc051bGxPckVtcHR5KHBhcnRpY2lwYW50VHlwZSkpCiAgICAgICAgICAgIHJlc3VsdFsicGFydGljaXBhbnRUeXBlIl0gPSBwYXJ0aWNpcGFudFR5cGU7CiAgICAgICAgdmFyIGludml0ZWRVc2VySWQgPSBHZXRTdHJpbmcoZGF0YSwgImludml0ZWRVc2VySWQiKTsKICAgICAgICBpZiAoIXN0cmluZy5Jc051bGxPckVtcHR5KGludml0ZWRVc2VySWQpKQogICAgICAgICAgICByZXN1bHRbImludml0ZWRVc2VySWQiXSA9IGludml0ZWRVc2VySWQ7CiAgICAgICAgdmFyIGludml0ZWRVc2VyID0gR2V0VmFsdWUoaW5zdGFuY2VEYXRhLCAiaW52aXRlZFVzZXIiKSA/PyBHZXRWYWx1ZShHZXRWYWx1ZShpbnN0YW5jZURhdGEsICJhdHRyaWJ1dGVzIiksICJpbnZpdGVkVXNlciIpOwogICAgICAgIGlmIChpbnZpdGVkVXNlciAhPSBudWxsKQogICAgICAgICAgICByZXN1bHRbImludml0ZWRVc2VyIl0gPSBpbnZpdGVkVXNlcjsKCiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UKICAgICAgICB7CiAgICAgICAgICAgIEtleSA9ICJyZXplcnZhdGlvbi1kYXRhLXN1Y2Nlc3MiLAogICAgICAgICAgICBEYXRhID0gcmVzdWx0CiAgICAgICAgfSk7CiAgICB9CgogICAgcHJpdmF0ZSBzdHJpbmcgR2V0U3RyaW5nKGR5bmFtaWMgb2JqLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAob2JqID09IG51bGwpIHJldHVybiBudWxsOwogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KG9iaiwgbmFtZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciB2ID0gR2V0UHJvcGVydHlWYWx1ZShvYmosIG5hbWUpOwogICAgICAgICAgICAgICAgcmV0dXJuIHY/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9CgogICAgcHJpdmF0ZSBvYmplY3QgR2V0VmFsdWUoZHluYW1pYyBvYmosIHN0cmluZyBuYW1lKQogICAgewogICAgICAgIGlmIChvYmogPT0gbnVsbCkgcmV0dXJuIG51bGw7CiAgICAgICAgdHJ5CiAgICAgICAgewogICAgICAgICAgICBpZiAoSGFzUHJvcGVydHkob2JqLCBuYW1lKSkKICAgICAgICAgICAgICAgIHJldHVybiBHZXRQcm9wZXJ0eVZhbHVlKG9iaiwgbmFtZSk7CiAgICAgICAgfQogICAgICAgIGNhdGNoIHsgfQogICAgICAgIHJldHVybiBudWxsOwogICAgfQp9Cg=="
85
+ }
86
+ }
87
+ ],
88
+ "transitions": [
89
+ {
90
+ "key": "to-not-allowed",
91
+ "target": "not-allowed",
92
+ "triggerType": 1,
93
+ "versionStrategy": "Minor",
94
+ "labels": [
95
+ {
96
+ "label": "Not Allowed",
97
+ "language": "en-US"
98
+ },
99
+ {
100
+ "label": "İzin Verilmedi",
101
+ "language": "tr-TR"
102
+ }
103
+ ],
104
+ "rule": {
105
+ "location": "./src/InvitedUserNotAllowedRule.csx",
106
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnM7CnVzaW5nIFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBCQlQuV29ya2Zsb3cuU2NyaXB0aW5nOwoKLy8vIDxzdW1tYXJ5PgovLy8gQ29uZGl0aW9uIGZvciBjaGVjay1yZXplcnZhdGlvbi1zdGF0ZTogd2hlbiBwYXJ0aWNpcGFudFR5cGU9aW52aXRlZCBhbmQgaW52aXRlZFVzZXJJZCBpcyBub3QgaW4gcmV6ZXJ2YXRpb24gaW52aXRlZFVzZXIgYXJyYXkgLT4gbm90LWFsbG93ZWQuCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBJbnZpdGVkVXNlck5vdEFsbG93ZWRSdWxlIDogU2NyaXB0QmFzZSwgSUNvbmRpdGlvbk1hcHBpbmcKewogICAgcHVibGljIFRhc2s8Ym9vbD4gSGFuZGxlcihTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgdmFyIGRhdGEgPSBjb250ZXh0Lkluc3RhbmNlPy5EYXRhOwogICAgICAgIHZhciBwYXJ0aWNpcGFudFR5cGUgPSBHZXRTdHJpbmcoZGF0YSwgInBhcnRpY2lwYW50VHlwZSIpOwogICAgICAgIGlmIChwYXJ0aWNpcGFudFR5cGUgIT0gImludml0ZWQiKQogICAgICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KGZhbHNlKTsKCiAgICAgICAgdmFyIGludml0ZWRVc2VySWQgPSBHZXRTdHJpbmcoZGF0YSwgImludml0ZWRVc2VySWQiKTsKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yV2hpdGVTcGFjZShpbnZpdGVkVXNlcklkKSkKICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdCh0cnVlKTsKCiAgICAgICAgdmFyIGludml0ZWRVc2VyTGlzdCA9IEdldEludml0ZWRVc2VyTGlzdChkYXRhKTsKICAgICAgICBpZiAoaW52aXRlZFVzZXJMaXN0ID09IG51bGwgfHwgaW52aXRlZFVzZXJMaXN0LkNvdW50ID09IDApCiAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQodHJ1ZSk7CgogICAgICAgIHZhciB0cmltbWVkID0gaW52aXRlZFVzZXJJZC5UcmltKCk7CiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdCghaW52aXRlZFVzZXJMaXN0LkNvbnRhaW5zKHRyaW1tZWQpKTsKICAgIH0KCiAgICBwcml2YXRlIExpc3Q8c3RyaW5nPiBHZXRJbnZpdGVkVXNlckxpc3QoZHluYW1pYyBzb3VyY2UpCiAgICB7CiAgICAgICAgaWYgKHNvdXJjZSA9PSBudWxsKSByZXR1cm4gbmV3IExpc3Q8c3RyaW5nPigpOwogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKCFIYXNQcm9wZXJ0eShzb3VyY2UsICJpbnZpdGVkVXNlciIpKSByZXR1cm4gbmV3IExpc3Q8c3RyaW5nPigpOwogICAgICAgICAgICB2YXIgYXJyID0gc291cmNlLmludml0ZWRVc2VyOwogICAgICAgICAgICBpZiAoYXJyID09IG51bGwpIHJldHVybiBuZXcgTGlzdDxzdHJpbmc+KCk7CiAgICAgICAgICAgIHZhciBsaXN0ID0gYXJyIGFzIElFbnVtZXJhYmxlOwogICAgICAgICAgICBpZiAobGlzdCA9PSBudWxsIHx8IGxpc3QgaXMgc3RyaW5nKSByZXR1cm4gbmV3IExpc3Q8c3RyaW5nPigpOwogICAgICAgICAgICB2YXIgcmVzdWx0ID0gbmV3IExpc3Q8c3RyaW5nPigpOwogICAgICAgICAgICBmb3JlYWNoICh2YXIgaXRlbSBpbiBsaXN0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpZiAoaXRlbSAhPSBudWxsKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIHZhciBzID0gaXRlbS5Ub1N0cmluZygpPy5UcmltKCk7CiAgICAgICAgICAgICAgICAgICAgaWYgKCFzdHJpbmcuSXNOdWxsT3JFbXB0eShzKSkKICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LkFkZChzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICAgIH0KICAgICAgICBjYXRjaCB7IH0KICAgICAgICByZXR1cm4gbmV3IExpc3Q8c3RyaW5nPigpOwogICAgfQoKICAgIHByaXZhdGUgc3RyaW5nIEdldFN0cmluZyhkeW5hbWljIG9iaiwgc3RyaW5nIG5hbWUpCiAgICB7CiAgICAgICAgaWYgKG9iaiA9PSBudWxsKSByZXR1cm4gbnVsbDsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShvYmosIG5hbWUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YXIgdiA9IEdldFByb3BlcnR5VmFsdWUob2JqLCBuYW1lKTsKICAgICAgICAgICAgICAgIHJldHVybiB2Py5Ub1N0cmluZygpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhdGNoIHsgfQogICAgICAgIHJldHVybiBudWxsOwogICAgfQp9Cg=="
107
+ }
108
+ },
109
+ {
110
+ "key": "to-check-time",
111
+ "target": "check-time",
112
+ "triggerType": 1,
113
+ "versionStrategy": "Minor",
114
+ "labels": [
115
+ {
116
+ "label": "State OK",
117
+ "language": "en-US"
118
+ },
119
+ {
120
+ "label": "Durum Uygun",
121
+ "language": "tr-TR"
122
+ }
123
+ ],
124
+ "rule": {
125
+ "location": "./src/CheckRezervationStateActiveOrInMeetRule.csx",
126
+ "code": "dXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKCi8vLyA8c3VtbWFyeT4KLy8vIENvbmRpdGlvbiBmb3IgY2hlY2stcmV6ZXJ2YXRpb24tc3RhdGU6IHN0YXRlIGluIChhY3RpdmUsIGluLW1lZXQpIC0+IGNoZWNrLXRpbWUuCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBDaGVja1JlemVydmF0aW9uU3RhdGVBY3RpdmVPckluTWVldFJ1bGUgOiBTY3JpcHRCYXNlLCBJQ29uZGl0aW9uTWFwcGluZwp7CiAgICBwdWJsaWMgVGFzazxib29sPiBIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB2YXIgc3RhdGUgPSBjb250ZXh0Lkluc3RhbmNlPy5EYXRhPy5zdGF0ZT8uVG9TdHJpbmcoKT8uVHJpbSgpOwogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQoc3RhdGUgPT0gImFjdGl2ZSIgfHwgc3RhdGUgPT0gImluLW1lZXQiKTsKICAgIH0KfQo="
127
+ }
128
+ },
129
+ {
130
+ "key": "to-meet-not-active",
131
+ "target": "meet-not-active",
132
+ "triggerType": 1,
133
+ "versionStrategy": "Minor",
134
+ "labels": [
135
+ {
136
+ "label": "Meet Not Active",
137
+ "language": "en-US"
138
+ },
139
+ {
140
+ "label": "Görüşme Aktif Değil",
141
+ "language": "tr-TR"
142
+ }
143
+ ],
144
+ "rule": {
145
+ "location": "./src/StateNotActiveOrInMeetRule.csx",
146
+ "code": "dXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKCi8vLyA8c3VtbWFyeT4KLy8vIENvbmRpdGlvbiBmb3IgY2hlY2stcmV6ZXJ2YXRpb24tc3RhdGU6IHN0YXRlIG5vdCBpbiAoYWN0aXZlLCBpbi1tZWV0KSAtPiBtZWV0LW5vdC1hY3RpdmUuCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBTdGF0ZU5vdEFjdGl2ZU9ySW5NZWV0UnVsZSA6IFNjcmlwdEJhc2UsIElDb25kaXRpb25NYXBwaW5nCnsKICAgIHB1YmxpYyBUYXNrPGJvb2w+IEhhbmRsZXIoU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciBzdGF0ZSA9IGNvbnRleHQuSW5zdGFuY2U/LkRhdGE/LnN0YXRlPy5Ub1N0cmluZygpPy5UcmltKCk7CiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChzdGF0ZSAhPSAiYWN0aXZlIiAmJiBzdGF0ZSAhPSAiaW4tbWVldCIpOwogICAgfQp9Cg=="
147
+ }
148
+ }
149
+ ]
150
+ },
151
+ {
152
+ "key": "meet-not-active",
153
+ "stateType": 3,
154
+ "versionStrategy": "Minor",
155
+ "labels": [
156
+ {
157
+ "label": "Meet Not Active",
158
+ "language": "en-US"
159
+ },
160
+ {
161
+ "label": "Görüşme Aktif Değil",
162
+ "language": "tr-TR"
163
+ }
164
+ ]
165
+ },
166
+ {
167
+ "key": "not-allowed",
168
+ "stateType": 3,
169
+ "versionStrategy": "Minor",
170
+ "labels": [
171
+ {
172
+ "label": "Not Allowed",
173
+ "language": "en-US"
174
+ },
175
+ {
176
+ "label": "İzin Verilmedi",
177
+ "language": "tr-TR"
178
+ }
179
+ ]
180
+ },
181
+ {
182
+ "key": "check-time",
183
+ "stateType": 2,
184
+ "versionStrategy": "Minor",
185
+ "labels": [
186
+ {
187
+ "label": "Check Time",
188
+ "language": "en-US"
189
+ },
190
+ {
191
+ "label": "Saati Kontrol Et",
192
+ "language": "tr-TR"
193
+ }
194
+ ],
195
+ "onEntries": [
196
+ {
197
+ "order": 1,
198
+ "task": {
199
+ "domain": "touch",
200
+ "flow": "sys-tasks",
201
+ "key": "check-randevu-time",
202
+ "version": "1.0.0"
203
+ },
204
+ "mapping": {
205
+ "location": "./src/CheckRandevuTimeMapping.csx",
206
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gTWFwcGluZyBmb3IgY2hlY2stcmFuZGV2dS10aW1lIFNjcmlwdCBUYXNrLgovLy8gVmFsaWRhdGVzIHN0YXJ0RGF0ZVRpbWUgaXMgd2l0aGluIDE1IG1pbnV0ZXMuIFRocm93cyBNRUVUX05PVF9TVEFSVEVEIGlmID4xNSBtaW4gdW50aWwgc3RhcnQuCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBDaGVja1JhbmRldnVUaW1lTWFwcGluZyA6IFNjcmlwdEJhc2UsIElNYXBwaW5nCnsKICAgIHByaXZhdGUgY29uc3QgaW50IE1heE1pbnV0ZXNCZWZvcmVTdGFydCA9IDE1OyAgIAoKCgogICAgCgogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgICB2YXIgcmVzcG9uc2UgPSBuZXcgU2NyaXB0UmVzcG9uc2UoKTsKICAgICAgICAgcmVzcG9uc2UuRGF0YT1uZXcge307CiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChyZXNwb25zZQogICAgICAgICk7CiAgICB9CgogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IE91dHB1dEhhbmRsZXIoU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICB2YXIgc3RhcnREYXRlVGltZVN0ciA9IEdldFN0cmluZyhkYXRhLCAic3RhcnREYXRlVGltZSIpOwogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKHN0YXJ0RGF0ZVRpbWVTdHIpKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiTUVFVF9OT1RfU1RBUlRFRDogc3RhcnREYXRlVGltZSBpcyByZXF1aXJlZCIpOwoKICAgICAgICBEYXRlVGltZSBzdGFydERhdGVUaW1lOwogICAgICAgIGlmICghRGF0ZVRpbWUuVHJ5UGFyc2Uoc3RhcnREYXRlVGltZVN0ciwgb3V0IHN0YXJ0RGF0ZVRpbWUpKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiTUVFVF9OT1RfU1RBUlRFRDogSW52YWxpZCBzdGFydERhdGVUaW1lIGZvcm1hdCIpOwoKICAgICAgICB2YXIgbm93ID0gRGF0ZVRpbWUuVXRjTm93LkFkZEhvdXJzKDMpOwogICAgICAgIHZhciBkaWZmID0gc3RhcnREYXRlVGltZSAtIG5vdzsKICAgCiAgICAgICAgaWYgKGRpZmYuVG90YWxNaW51dGVzID4gTWF4TWludXRlc0JlZm9yZVN0YXJ0KQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiTUVFVF9OT1RfU1RBUlRFRDogUmFuZGV2dXlhIDE1IGRha2lrYWRhbiBmYXpsYSB2YXIuIik7CiAgICAgICAgTG9nRXJyb3IoIkRpZmYgTWludXRlcyA6IitkaWZmLlRvdGFsTWludXRlcysgIiIpOwogICAgICAgIHZhciByZXN1bHQgPSBuZXcgRGljdGlvbmFyeTxzdHJpbmcsIG9iamVjdD4KICAgICAgICB7CiAgICAgICAgICAgIHsgInRpbWVPayIsIHRydWUgfSwKICAgICAgICAgICAgeyAibWludXRlc1VudGlsU3RhcnQiLCBkaWZmLlRvdGFsTWludXRlcyB9CiAgICAgICAgfTsKCiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UgeyBEYXRhID0gcmVzdWx0IH0pOwogICAgfQoKICAgIHByaXZhdGUgc3RyaW5nIEdldFN0cmluZyhkeW5hbWljIG9iaiwgc3RyaW5nIG5hbWUpCiAgICB7CiAgICAgICAgaWYgKG9iaiA9PSBudWxsKSByZXR1cm4gbnVsbDsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShvYmosIG5hbWUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YXIgdiA9IEdldFByb3BlcnR5VmFsdWUob2JqLCBuYW1lKTsKICAgICAgICAgICAgICAgIHJldHVybiB2Py5Ub1N0cmluZygpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhdGNoIHsgfQogICAgICAgIHJldHVybiBudWxsOwogICAgfQp9Cg=="
207
+ }
208
+ }
209
+ ],
210
+ "transitions": [
211
+ {
212
+ "key": "to-meet-not-ready-for-invited",
213
+ "target": "meet-not-started",
214
+ "triggerType": 1,
215
+ "versionStrategy": "Minor",
216
+ "labels": [
217
+ {
218
+ "label": "Invited Not In Meet",
219
+ "language": "en-US"
220
+ },
221
+ {
222
+ "label": "Davetli Toplantıda Değil",
223
+ "language": "tr-TR"
224
+ }
225
+ ],
226
+ "rule": {
227
+ "location": "./src/InvitedUserNotInMeetRule.csx",
228
+ "code": "dXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKCi8vLyA8c3VtbWFyeT4KLy8vIENvbmRpdGlvbiBmb3IgY2hlY2stdGltZTogd2hlbiBwYXJ0aWNpcGFudFR5cGU9aW52aXRlZCBhbmQgc3RhdGUgIT0gaW4tbWVldCAtPiBtZWV0LW5vdC1zdGFydGVkLgovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgY2xhc3MgSW52aXRlZFVzZXJOb3RJbk1lZXRSdWxlIDogU2NyaXB0QmFzZSwgSUNvbmRpdGlvbk1hcHBpbmcKewogICAgcHVibGljIFRhc2s8Ym9vbD4gSGFuZGxlcihTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgdmFyIGRhdGEgPSBjb250ZXh0Lkluc3RhbmNlPy5EYXRhOwogICAgICAgIHZhciBwYXJ0aWNpcGFudFR5cGUgPSBkYXRhPy5wYXJ0aWNpcGFudFR5cGU/LlRvU3RyaW5nKCk/LlRyaW0oKTsKICAgICAgICBpZiAocGFydGljaXBhbnRUeXBlICE9ICJpbnZpdGVkIikKICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChmYWxzZSk7CgogICAgICAgIHZhciBzdGF0ZSA9IGRhdGE/LnN0YXRlPy5Ub1N0cmluZygpPy5UcmltKCk7CiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChzdGF0ZSAhPSAiaW4tbWVldCIpOwogICAgfQp9Cg=="
229
+ }
230
+ },
231
+ {
232
+ "key": "to-meet-not-started",
233
+ "target": "meet-not-started",
234
+ "triggerType": 0,
235
+ "versionStrategy": "Minor",
236
+ "labels": [
237
+ {
238
+ "label": "Meet Not Started",
239
+ "language": "en-US"
240
+ },
241
+ {
242
+ "label": "Görüşme Başlamadı",
243
+ "language": "tr-TR"
244
+ }
245
+ ]
246
+ },
247
+ {
248
+ "key": "to-create-room",
249
+ "target": "create-room-and-trigger",
250
+ "triggerType": 1,
251
+ "versionStrategy": "Minor",
252
+ "labels": [
253
+ {
254
+ "label": "Create Room",
255
+ "language": "en-US"
256
+ },
257
+ {
258
+ "label": "Oda Oluştur",
259
+ "language": "tr-TR"
260
+ }
261
+ ],
262
+ "rule": {
263
+ "location": "./src/StateActiveRule.csx",
264
+ "code": "dXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKCi8vLyA8c3VtbWFyeT4KLy8vIENvbmRpdGlvbiBmb3IgY2hlY2stdGltZTogc3RhdGU9YWN0aXZlIC0+IGNyZWF0ZS1yb29tLWFuZC10cmlnZ2VyLgovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgY2xhc3MgU3RhdGVBY3RpdmVSdWxlIDogU2NyaXB0QmFzZSwgSUNvbmRpdGlvbk1hcHBpbmcKewogICAgcHVibGljIFRhc2s8Ym9vbD4gSGFuZGxlcihTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgdmFyIHN0YXRlID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YT8uc3RhdGU/LlRvU3RyaW5nKCk/LlRyaW0oKTsKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KHN0YXRlID09ICJhY3RpdmUiKTsKICAgIH0KfQo="
265
+ }
266
+ },
267
+ {
268
+ "key": "to-join-room",
269
+ "target": "join-room",
270
+ "triggerType": 1,
271
+ "versionStrategy": "Minor",
272
+ "labels": [
273
+ {
274
+ "label": "Join Room",
275
+ "language": "en-US"
276
+ },
277
+ {
278
+ "label": "Odaya Katıl",
279
+ "language": "tr-TR"
280
+ }
281
+ ],
282
+ "rule": {
283
+ "location": "./src/StateInMeetRule.csx",
284
+ "code": "dXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKCi8vLyA8c3VtbWFyeT4KLy8vIENvbmRpdGlvbiBmb3IgY2hlY2stdGltZTogc3RhdGU9aW4tbWVldCAtPiBqb2luLXJvb20uCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBTdGF0ZUluTWVldFJ1bGUgOiBTY3JpcHRCYXNlLCBJQ29uZGl0aW9uTWFwcGluZwp7CiAgICBwdWJsaWMgVGFzazxib29sPiBIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB2YXIgc3RhdGUgPSBjb250ZXh0Lkluc3RhbmNlPy5EYXRhPy5zdGF0ZT8uVG9TdHJpbmcoKT8uVHJpbSgpOwogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQoc3RhdGUgPT0gImluLW1lZXQiKTsKICAgIH0KfQo="
285
+ }
286
+ }
287
+ ]
288
+ },
289
+ {
290
+ "key": "meet-not-started",
291
+ "stateType": 3,
292
+ "versionStrategy": "Minor",
293
+ "labels": [
294
+ {
295
+ "label": "Meet Not Started",
296
+ "language": "en-US"
297
+ },
298
+ {
299
+ "label": "Görüşme Başlamadı",
300
+ "language": "tr-TR"
301
+ }
302
+ ]
303
+ },
304
+ {
305
+ "key": "create-room-and-trigger",
306
+ "stateType": 2,
307
+ "versionStrategy": "Minor",
308
+ "labels": [
309
+ {
310
+ "label": "Create Room and Trigger",
311
+ "language": "en-US"
312
+ },
313
+ {
314
+ "label": "Oda Oluştur ve Tetikle",
315
+ "language": "tr-TR"
316
+ }
317
+ ],
318
+ "onEntries": [
319
+ {
320
+ "order": 1,
321
+ "task": {
322
+ "domain": "touch",
323
+ "flow": "sys-tasks",
324
+ "key": "start-chat-room-for-rezervation",
325
+ "version": "1.0.0"
326
+ },
327
+ "mapping": {
328
+ "location": "./src/StartChatRoomForRezervationMapping.csx",
329
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBCQlQuV29ya2Zsb3cuU2NyaXB0aW5nOwp1c2luZyBCQlQuV29ya2Zsb3cuRGVmaW5pdGlvbnM7CgovLy8gPHN1bW1hcnk+Ci8vLyBNYXBwaW5nIGZvciBzdGFydC1jaGF0LXJvb20tZm9yLXJlemVydmF0aW9uIFN0YXJ0VGFzayAoVHlwZSAxMSkuCi8vLyBTdGFydHMgY2hhdC1yb29tIGZsb3cgYXMgc3ViZmxvdyB3aXRoIHN5bmM9dHJ1ZS4gQm9keTogcm9vbVR5cGUgInJlemVydmF0aW9uIiwgc3RhcnREYXRlVGltZSwgZW5kRGF0ZVRpbWUsIHVzZXIsIGFkdmlzb3JJZC4KLy8vIE91dHB1dEhhbmRsZXIgcmV0dXJucyBjaGF0Um9vbUluc3RhbmNlS2V5IGZyb20gc3luYyBzdGFydCByZXNwb25zZSBmb3IgdXNlIGJ5IGdldC1jaGF0LXJvb20tZGF0YS1mb3ItcmV6ZXJ2YXRpb24uCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBTdGFydENoYXRSb29tRm9yUmV6ZXJ2YXRpb25NYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciBzdGFydFRhc2sgPSB0YXNrIGFzIFN0YXJ0VGFzazsKICAgICAgICBpZiAoc3RhcnRUYXNrID09IG51bGwpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJUYXNrIG11c3QgYmUgYSBTdGFydFRhc2siKTsKCiAgICAgICAgdmFyIGRhdGEgPSBjb250ZXh0Lkluc3RhbmNlPy5EYXRhOwogICAgICAgIGlmIChkYXRhID09IG51bGwpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJJbnN0YW5jZSBkYXRhIGlzIHJlcXVpcmVkIik7CgogICAgICAgIHZhciByYW5kZXZ1S2V5ID0gR2V0U3RyaW5nKGRhdGEsICJyYW5kZXZ1S2V5Iik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2UocmFuZGV2dUtleSkpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJyYW5kZXZ1S2V5IGlzIHJlcXVpcmVkIik7CgogICAgICAgIHZhciB1c2VyID0gR2V0U3RyaW5nKGRhdGEsICJ1c2VyIik7CiAgICAgICAgdmFyIGFkdmlzb3IgPSBHZXRTdHJpbmcoZGF0YSwgImFkdmlzb3IiKTsKICAgICAgICB2YXIgc3RhcnREYXRlVGltZSA9IEdldFN0cmluZyhkYXRhLCAic3RhcnREYXRlVGltZSIpOwogICAgICAgIHZhciBlbmREYXRlVGltZSA9IEdldFN0cmluZyhkYXRhLCAiZW5kRGF0ZVRpbWUiKTsKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yV2hpdGVTcGFjZSh1c2VyKSB8fCBzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKGFkdmlzb3IpIHx8CiAgICAgICAgICAgIHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2Uoc3RhcnREYXRlVGltZSkgfHwgc3RyaW5nLklzTnVsbE9yV2hpdGVTcGFjZShlbmREYXRlVGltZSkpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJ1c2VyLCBhZHZpc29yLCBzdGFydERhdGVUaW1lIGFuZCBlbmREYXRlVGltZSBhcmUgcmVxdWlyZWQiKTsKCiAgICAgICAgdmFyIGNoYXRSb29tS2V5ID0gInJlemVydmF0aW9uLWNoYXQtIiArIE5vcm1hbGl6ZUZvcktleShyYW5kZXZ1S2V5KTsKCiAgICAgICAgc3RhcnRUYXNrLlNldERvbWFpbigidG91Y2giKTsKICAgICAgICBzdGFydFRhc2suU2V0RmxvdygiY2hhdC1yb29tIik7CiAgICAgICAgc3RhcnRUYXNrLlNldEtleShjaGF0Um9vbUtleSk7CiAgICAgICAgc3RhcnRUYXNrLlNldFN5bmModHJ1ZSk7CiAgICAgICAgc3RhcnRUYXNrLlNldEJvZHkobmV3CiAgICAgICAgewogICAgICAgICAgICByb29tVHlwZSA9ICJyZXplcnZhdGlvbiIsCiAgICAgICAgICAgIHVzZXIsCiAgICAgICAgICAgIGFkdmlzb3JJZCA9IGFkdmlzb3IsCiAgICAgICAgICAgIGFkdmlzb3JUeXBlID0gIklBIiwKICAgICAgICAgICAgc3RhcnREYXRlVGltZSwKICAgICAgICAgICAgZW5kRGF0ZVRpbWUKICAgICAgICB9KTsKCiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UgeyBEYXRhID0gbmV3IHsgY2hhdFJvb21JbnN0YW5jZUtleSA9IGNoYXRSb29tS2V5IH0gfSk7CiAgICB9CgogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IE91dHB1dEhhbmRsZXIoU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciByZXNwb25zZSA9IG5ldyBTY3JpcHRSZXNwb25zZSgpOwogICAgICAgIGlmIChjb250ZXh0LkJvZHk/LmlzU3VjY2VzcyA9PSB0cnVlKQogICAgICAgIHsKICAgICAgICAgICAgdmFyIGtleSA9IEdldFN0cmluZyhjb250ZXh0LkJvZHksICJrZXkiKSA/PyBHZXRTdHJpbmcoY29udGV4dC5Cb2R5Py5kYXRhID8/IGNvbnRleHQuQm9keT8uRGF0YSwgImtleSIpOwogICAgICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yV2hpdGVTcGFjZShrZXkpKQogICAgICAgICAgICAgICAga2V5ID0gR2V0U3RyaW5nKGNvbnRleHQuSW5zdGFuY2U/LkRhdGEsICJjaGF0Um9vbUluc3RhbmNlS2V5Iik7CiAgICAgICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKGtleSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciByYW5kZXZ1S2V5ID0gR2V0U3RyaW5nKGNvbnRleHQuSW5zdGFuY2U/LkRhdGEsICJyYW5kZXZ1S2V5Iik7CiAgICAgICAgICAgICAgICBrZXkgPSAicmV6ZXJ2YXRpb24tY2hhdC0iICsgTm9ybWFsaXplRm9yS2V5KHJhbmRldnVLZXkgPz8gIiIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJlc3BvbnNlLkRhdGEgPSBuZXcgeyBjaGF0Um9vbUluc3RhbmNlS2V5ID0ga2V5IH07CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIHJlc3BvbnNlLkRhdGEgPSBuZXcKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgY2hhdFJvb21JbnN0YW5jZUtleSA9IChzdHJpbmcpbnVsbCwKICAgICAgICAgICAgICAgIGVycm9yID0gY29udGV4dC5Cb2R5Py5lcnJvck1lc3NhZ2U/LlRvU3RyaW5nKCkgPz8gIkZhaWxlZCB0byBzdGFydCBjaGF0LXJvb20iCiAgICAgICAgICAgIH07CiAgICAgICAgfQogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQocmVzcG9uc2UpOwogICAgfQoKICAgIHByaXZhdGUgIHN0cmluZyBHZXRTdHJpbmcoZHluYW1pYyBvYmosIHN0cmluZyBuYW1lKQogICAgewogICAgICAgIGlmIChvYmogPT0gbnVsbCkgcmV0dXJuIG51bGw7CiAgICAgICAgdHJ5CiAgICAgICAgewogICAgICAgICAgICBpZiAoSGFzUHJvcGVydHkob2JqLCBuYW1lKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdmFyIHYgPSBHZXRQcm9wZXJ0eVZhbHVlKG9iaiwgbmFtZSk7CiAgICAgICAgICAgICAgICByZXR1cm4gdj8uVG9TdHJpbmcoKT8uVHJpbSgpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhdGNoIHsgfQogICAgICAgIHJldHVybiBudWxsOwogICAgfQoKICAgIHByaXZhdGUgIHN0cmluZyBOb3JtYWxpemVGb3JLZXkoc3RyaW5nIHZhbHVlKQogICAgewogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JFbXB0eSh2YWx1ZSkpIHJldHVybiB2YWx1ZSA/PyAiIjsKICAgICAgICByZXR1cm4gdmFsdWUuUmVwbGFjZSgiOiIsICItIikuUmVwbGFjZSgiICIsICItIik7CiAgICB9Cn0K"
330
+ }
331
+ },
332
+ {
333
+ "order": 2,
334
+ "task": {
335
+ "domain": "touch",
336
+ "flow": "sys-tasks",
337
+ "key": "get-chat-room-data-for-rezervation",
338
+ "version": "1.0.0"
339
+ },
340
+ "mapping": {
341
+ "location": "./src/GetChatRoomDataForRezervationMapping.csx",
342
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gTWFwcGluZyBmb3IgZ2V0LWNoYXQtcm9vbS1kYXRhLWZvci1yZXplcnZhdGlvbiBEYXByU2VydmljZVRhc2suCi8vLyBDYWxscyBhcGkvdjEvdG91Y2gvd29ya2Zsb3dzL2NoYXQtcm9vbS9pbnN0YW5jZXMve2NoYXRSb29tSW5zdGFuY2VLZXl9L2Z1bmN0aW9ucy9kYXRhCi8vLyB0byBnZXQgY2hhdC1yb29tIGluc3RhbmNlIGRhdGEgKGUuZy4gY2hhdEludGVncmF0aW9uKS4gTWVyZ2VzIGNoYXRJbnRlZ3JhdGlvbiBpbnRvIGZsb3cgaW5zdGFuY2UgZm9yIHRyaWdnZXItcmV6ZXJ2YXRpb24tdG8taW4tbWVldC4KLy8vIDwvc3VtbWFyeT4KcHVibGljIGNsYXNzIEdldENoYXRSb29tRGF0YUZvclJlemVydmF0aW9uTWFwcGluZyA6IFNjcmlwdEJhc2UsIElNYXBwaW5nCnsKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBJbnB1dEhhbmRsZXIoV29ya2Zsb3dUYXNrIHRhc2ssIFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB2YXIgc2VydmljZVRhc2sgPSB0YXNrIGFzIERhcHJTZXJ2aWNlVGFzazsKICAgICAgICBpZiAoc2VydmljZVRhc2sgPT0gbnVsbCkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIlRhc2sgbXVzdCBiZSBhIERhcHJTZXJ2aWNlVGFzayIpOwoKICAgICAgICB2YXIgYXBwSWQgPSBHZXRDb25maWdWYWx1ZSgiREFQUl9BUFBfSUQiKTsKICAgICAgICBpZiAoIXN0cmluZy5Jc051bGxPckVtcHR5KGFwcElkKSkKICAgICAgICAgICAgc2VydmljZVRhc2suU2V0QXBwSWQoYXBwSWQpOwoKICAgICAgICB2YXIgZGF0YSA9IGNvbnRleHQuSW5zdGFuY2U/LkRhdGE7CiAgICAgICAgdmFyIGNoYXRSb29tSW5zdGFuY2VLZXkgPSBHZXRTdHJpbmcoZGF0YSwgImNoYXRSb29tSW5zdGFuY2VLZXkiKTsKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yV2hpdGVTcGFjZShjaGF0Um9vbUluc3RhbmNlS2V5KSkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oImNoYXRSb29tSW5zdGFuY2VLZXkgaXMgcmVxdWlyZWQgKHNldCBieSBwcmV2aW91cyBzdGFydC1jaGF0LXJvb20tZm9yLXJlemVydmF0aW9uIHRhc2spIik7CgogICAgICAgIHZhciBwYXRoID0gJCJhcGkvdjEvdG91Y2gvd29ya2Zsb3dzL2NoYXQtcm9vbS9pbnN0YW5jZXMve1VyaS5Fc2NhcGVEYXRhU3RyaW5nKGNoYXRSb29tSW5zdGFuY2VLZXkpfS9mdW5jdGlvbnMvZGF0YSI7CiAgICAgICAgc2VydmljZVRhc2suU2V0TWV0aG9kTmFtZShwYXRoKTsKCiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UoKSk7CiAgICB9CgogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IE91dHB1dEhhbmRsZXIoU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciByZXNwb25zZSA9IGNvbnRleHQuQm9keTsKICAgICAgICBpZiAocmVzcG9uc2U/LmlzU3VjY2VzcyAhPSB0cnVlKQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgS2V5ID0gImNoYXQtcm9vbS1kYXRhLW5vdC1mb3VuZCIsCiAgICAgICAgICAgICAgICBEYXRhID0gbmV3CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgZXJyb3IgPSByZXNwb25zZT8uZXJyb3JNZXNzYWdlPy5Ub1N0cmluZygpID8/ICJGYWlsZWQgdG8gZ2V0IGNoYXQtcm9vbSBkYXRhIiwKICAgICAgICAgICAgICAgICAgICBlcnJvckNvZGUgPSAiQ0hBVF9ST09NX0RBVEFfTk9UX0ZPVU5EIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICB9CgogICAgICAgIHZhciBhcGlSZXNwb25zZSA9IHJlc3BvbnNlPy5kYXRhID8/IHJlc3BvbnNlPy5EYXRhID8/IHJlc3BvbnNlOwogICAgICAgIHZhciBpbnN0YW5jZURhdGEgPSBHZXRWYWx1ZShhcGlSZXNwb25zZSwgImRhdGEiKSA/PyBhcGlSZXNwb25zZTsKICAgICAgICB2YXIgY2hhdEludGVncmF0aW9uID0gR2V0VmFsdWUoaW5zdGFuY2VEYXRhLCAiY2hhdEludGVncmF0aW9uIik7CgogICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICB2YXIgcmVzdWx0ID0gbmV3IERpY3Rpb25hcnk8c3RyaW5nLCBvYmplY3Q+KCk7CiAgICAgICAgaWYgKGNoYXRJbnRlZ3JhdGlvbiAhPSBudWxsKQogICAgICAgICAgICByZXN1bHRbImNoYXRJbnRlZ3JhdGlvbiJdID0gY2hhdEludGVncmF0aW9uOwogICAgICAgIGlmIChkYXRhICE9IG51bGwpCiAgICAgICAgewogICAgICAgICAgICB2YXIgcmFuZGV2dUtleSA9IEdldFN0cmluZyhkYXRhLCAicmFuZGV2dUtleSIpOwogICAgICAgICAgICBpZiAoIXN0cmluZy5Jc051bGxPckVtcHR5KHJhbmRldnVLZXkpKSByZXN1bHRbInJhbmRldnVLZXkiXSA9IHJhbmRldnVLZXk7CiAgICAgICAgICAgIHZhciBwYXJ0aWNpcGFudFR5cGUgPSBHZXRTdHJpbmcoZGF0YSwgInBhcnRpY2lwYW50VHlwZSIpOwogICAgICAgICAgICBpZiAoIXN0cmluZy5Jc051bGxPckVtcHR5KHBhcnRpY2lwYW50VHlwZSkpIHJlc3VsdFsicGFydGljaXBhbnRUeXBlIl0gPSBwYXJ0aWNpcGFudFR5cGU7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZQogICAgICAgIHsKICAgICAgICAgICAgS2V5ID0gImNoYXQtcm9vbS1kYXRhLXN1Y2Nlc3MiLAogICAgICAgICAgICBEYXRhID0gcmVzdWx0CiAgICAgICAgfSk7CiAgICB9CgogICAgcHJpdmF0ZSAgc3RyaW5nIEdldFN0cmluZyhkeW5hbWljIG9iaiwgc3RyaW5nIG5hbWUpCiAgICB7CiAgICAgICAgaWYgKG9iaiA9PSBudWxsKSByZXR1cm4gbnVsbDsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShvYmosIG5hbWUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YXIgdiA9IEdldFByb3BlcnR5VmFsdWUob2JqLCBuYW1lKTsKICAgICAgICAgICAgICAgIHJldHVybiB2Py5Ub1N0cmluZygpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhdGNoIHsgfQogICAgICAgIHJldHVybiBudWxsOwogICAgfQoKICAgIHByaXZhdGUgIG9iamVjdCBHZXRWYWx1ZShkeW5hbWljIG9iaiwgc3RyaW5nIG5hbWUpCiAgICB7CiAgICAgICAgaWYgKG9iaiA9PSBudWxsKSByZXR1cm4gbnVsbDsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShvYmosIG5hbWUpKQogICAgICAgICAgICAgICAgcmV0dXJuIEdldFByb3BlcnR5VmFsdWUob2JqLCBuYW1lKTsKICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9Cn0K"
343
+ }
344
+ },
345
+ {
346
+ "order": 3,
347
+ "task": {
348
+ "domain": "touch",
349
+ "flow": "sys-tasks",
350
+ "key": "trigger-rezervation-to-in-meet",
351
+ "version": "1.0.0"
352
+ },
353
+ "mapping": {
354
+ "location": "./src/TriggerRezervationToInMeetMapping.csx",
355
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBCQlQuV29ya2Zsb3cuU2NyaXB0aW5nOwp1c2luZyBCQlQuV29ya2Zsb3cuRGVmaW5pdGlvbnM7CgovLy8gPHN1bW1hcnk+Ci8vLyBNYXBwaW5nIGZvciB0cmlnZ2VyLXJlemVydmF0aW9uLXRvLWluLW1lZXQgRGlyZWN0VHJpZ2dlclRhc2suCi8vLyBUcmlnZ2VycyB0by1pbi1tZWV0IHRyYW5zaXRpb24gb24gcmV6ZXJ2YXRpb24gaW5zdGFuY2UuIFNldEtleShyYW5kZXZ1S2V5KSwgU2V0Qm9keShhdHRyaWJ1dGVzIG1lcmdlKS4KLy8vIDwvc3VtbWFyeT4KcHVibGljIGNsYXNzIFRyaWdnZXJSZXplcnZhdGlvblRvSW5NZWV0TWFwcGluZyA6IFNjcmlwdEJhc2UsIElNYXBwaW5nCnsKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBJbnB1dEhhbmRsZXIoV29ya2Zsb3dUYXNrIHRhc2ssIFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB2YXIgdHJpZ2dlclRhc2sgPSB0YXNrIGFzIERpcmVjdFRyaWdnZXJUYXNrOwogICAgICAgIGlmICh0cmlnZ2VyVGFzayA9PSBudWxsKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiVGFzayBtdXN0IGJlIGEgRGlyZWN0VHJpZ2dlclRhc2siKTsKCiAgICAgICAgdmFyIGRhdGEgPSBjb250ZXh0Lkluc3RhbmNlPy5EYXRhOwogICAgICAgIHZhciByYW5kZXZ1S2V5ID0gR2V0U3RyaW5nKGRhdGEsICJyYW5kZXZ1S2V5Iik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2UocmFuZGV2dUtleSkpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJyYW5kZXZ1S2V5IGlzIHJlcXVpcmVkIik7CgogICAgICAgIHRyaWdnZXJUYXNrLlNldERvbWFpbigidG91Y2giKTsKICAgICAgICB0cmlnZ2VyVGFzay5TZXRGbG93KCJyZXplcnZhdGlvbiIpOwogICAgICAgIHRyaWdnZXJUYXNrLlNldEtleShyYW5kZXZ1S2V5KTsKICAgICAgICB0cmlnZ2VyVGFzay5TZXRUcmFuc2l0aW9uTmFtZSgidG8taW4tbWVldCIpOwogICAgICAgIHRyaWdnZXJUYXNrLlNldFN5bmModHJ1ZSk7CiAgICAgICAgdmFyIGNoYXRJbnRlZ3JhdGlvbiA9IEdldFZhbHVlKGRhdGEsICJjaGF0SW50ZWdyYXRpb24iKTsKICAgICAgICB2YXIgYm9keSA9IG5ldwogICAgICAgIHsKICAgICAgICAgICAgY2hhdEludGVncmF0aW9uCiAgICAgICAgfTsKICAgICAgICB0cmlnZ2VyVGFzay5TZXRCb2R5KGJvZHkpOwoKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgVGFzazxTY3JpcHRSZXNwb25zZT4gT3V0cHV0SGFuZGxlcihTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UoKSk7CiAgICB9CgogICAgcHJpdmF0ZSBzdHJpbmcgR2V0U3RyaW5nKGR5bmFtaWMgb2JqLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAob2JqID09IG51bGwpIHJldHVybiBudWxsOwogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KG9iaiwgbmFtZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciB2ID0gR2V0UHJvcGVydHlWYWx1ZShvYmosIG5hbWUpOwogICAgICAgICAgICAgICAgcmV0dXJuIHY/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9CgogICAgcHJpdmF0ZSBvYmplY3QgR2V0VmFsdWUoZHluYW1pYyBvYmosIHN0cmluZyBuYW1lKQogICAgewogICAgICAgIGlmIChvYmogPT0gbnVsbCkgcmV0dXJuIG51bGw7CiAgICAgICAgdHJ5CiAgICAgICAgewogICAgICAgICAgICBpZiAoSGFzUHJvcGVydHkob2JqLCBuYW1lKSkKICAgICAgICAgICAgICAgIHJldHVybiBHZXRQcm9wZXJ0eVZhbHVlKG9iaiwgbmFtZSk7CiAgICAgICAgfQogICAgICAgIGNhdGNoIHsgfQogICAgICAgIHJldHVybiBudWxsOwogICAgfQp9Cg=="
356
+ }
357
+ }
358
+ ],
359
+ "transitions": [
360
+ {
361
+ "key": "to-customer-control",
362
+ "target": "end",
363
+ "triggerType": 1,
364
+ "versionStrategy": "Minor",
365
+ "labels": [
366
+ {
367
+ "label": "To Customer Control",
368
+ "language": "en-US"
369
+ },
370
+ {
371
+ "label": "Müşteri Kontrolüne",
372
+ "language": "tr-TR"
373
+ }
374
+ ],
375
+ "rule": {
376
+ "location": "./src/CustomerControlToEndRule.csx",
377
+ "code": "dXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKCi8vLyA8c3VtbWFyeT4KLy8vIENvbmRpdGlvbiBmb3IgY3VzdG9tZXItY29udHJvbCB0byBlbmQgdHJhbnNpdGlvbiBpbiByZXplcnZhdGlvbi1zdGFydCBmbG93LgovLy8gQm90aCBhZHZpc29yIGFuZCBjdXN0b21lciBjb21wbGV0ZSB0byBlbmQuIFJldHVybnMgdHJ1ZSB3aGVuIGluIGN1c3RvbWVyLWNvbnRyb2wuCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBDdXN0b21lckNvbnRyb2xUb0VuZFJ1bGUgOiBTY3JpcHRCYXNlLCBJQ29uZGl0aW9uTWFwcGluZwp7CiAgICBwdWJsaWMgVGFzazxib29sPiBIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KHRydWUpOwogICAgfQp9Cg=="
378
+ }
379
+ }
380
+ ]
381
+ },
382
+ {
383
+ "key": "join-room",
384
+ "stateType": 2,
385
+ "versionStrategy": "Minor",
386
+ "labels": [
387
+ {
388
+ "label": "Join Room",
389
+ "language": "en-US"
390
+ },
391
+ {
392
+ "label": "Odaya Katıl",
393
+ "language": "tr-TR"
394
+ }
395
+ ],
396
+ "onEntries": [
397
+ {
398
+ "order": 1,
399
+ "task": {
400
+ "domain": "touch",
401
+ "flow": "sys-tasks",
402
+ "key": "join-chat-room-for-rezervation",
403
+ "version": "1.0.0"
404
+ },
405
+ "mapping": {
406
+ "location": "./src/JoinChatRoomForRandevuStartMapping.csx",
407
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gTWFwcGluZyBmb3Igam9pbi1jaGF0LXJvb20tZm9yLXJlemVydmF0aW9uIHdoZW4gdXNlZCBpbiByZXplcnZhdGlvbi1zdGFydCBmbG93LgovLy8gVXNlcyBjaGF0SW50ZWdyYXRpb24ucm9vbUlkIGZyb20gcmV6ZXJ2YXRpb24uIFVzZXMgeC1tYXRyaXgtdXNlciBoZWFkZXIgaW5zdGVhZCBvZiBsb2dpbi9zZXNzaW9uSWQuCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBKb2luQ2hhdFJvb21Gb3JSYW5kZXZ1U3RhcnRNYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIGFzeW5jIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciBodHRwVGFzayA9IHRhc2sgYXMgSHR0cFRhc2s7CiAgICAgICAgaWYgKGh0dHBUYXNrID09IG51bGwpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJUYXNrIG11c3QgYmUgYW4gSHR0cFRhc2siKTsKCiAgICAgICAgdmFyIG1hdHJpeEJhc2VVcmwgPSBhd2FpdCBHZXRTZWNyZXRBc3luYygidm5leHQtc2VjcmV0IiwgIndvcmtmbG93LXNlY3JldCIsICJNYXRyaXhCYXNlVXJsIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2UobWF0cml4QmFzZVVybCkpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJNYXRyaXhCYXNlVXJsIHNlY3JldCBpcyByZXF1aXJlZCIpOwoKICAgICAgICB2YXIgZGF0YSA9IGNvbnRleHQuSW5zdGFuY2U/LkRhdGE7CiAgICAgICAgdmFyIGNoYXRJbnRlZ3JhdGlvbiA9IGRhdGE/LmNoYXRJbnRlZ3JhdGlvbjsKICAgICAgICB2YXIgcm9vbUlkID0gR2V0U3RyaW5nKGNoYXRJbnRlZ3JhdGlvbiwgInJvb21JZCIpOwogICAgICAgIHZhciBwYXJ0aWNpcGFudFR5cGUgPSBHZXRTdHJpbmcoZGF0YSwgInBhcnRpY2lwYW50VHlwZSIpOwogICAgICAgIHZhciB1c2VyID0gR2V0U3RyaW5nKGRhdGEsICJ1c2VyIik7CiAgICAgICAgdmFyIGFkdmlzb3JJZCA9IEdldFN0cmluZyhkYXRhLCAiYWR2aXNvciIpOwogICAgICAgIHZhciBpbnZpdGVkVXNlcklkID0gR2V0U3RyaW5nKGRhdGEsICJpbnZpdGVkVXNlcklkIik7CgogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKHJvb21JZCkpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJjaGF0SW50ZWdyYXRpb24ucm9vbUlkIGlzIHJlcXVpcmVkIHRvIGpvaW4gcm9vbSIpOwoKICAgICAgICB2YXIgeE1hdHJpeFVzZXIgPSBwYXJ0aWNpcGFudFR5cGUgPT0gImFkdmlzb3IiID8gYWR2aXNvcklkCiAgICAgICAgICAgIDogcGFydGljaXBhbnRUeXBlID09ICJpbnZpdGVkIiA/IGludml0ZWRVc2VySWQKICAgICAgICAgICAgOiB1c2VyOwogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKHhNYXRyaXhVc2VyKSkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIkNhbm5vdCBkZXRlcm1pbmUgeC1tYXRyaXgtdXNlcjogcGFydGljaXBhbnRUeXBlLCB1c2VyLCBhZHZpc29yLCBvciBpbnZpdGVkVXNlcklkIG1pc3NpbmciKTsKCiAgICAgICAgdmFyIGZ1bGxVcmwgPSBtYXRyaXhCYXNlVXJsLlRyaW1FbmQoJy8nKSArICIvX21hdHJpeC9jbGllbnQvdjMvam9pbi8iICsgVXJpLkVzY2FwZURhdGFTdHJpbmcocm9vbUlkID8/ICIiKTsKICAgICAgICBodHRwVGFzay5TZXRVcmwoZnVsbFVybCk7CgogICAgICAgIHZhciBoZWFkZXJzID0gbmV3IERpY3Rpb25hcnk8c3RyaW5nLCBzdHJpbmc+CiAgICAgICAgewogICAgICAgICAgICBbIkNvbnRlbnQtVHlwZSJdID0gImFwcGxpY2F0aW9uL2pzb24iLAogICAgICAgICAgICBbIkFjY2VwdCJdID0gImFwcGxpY2F0aW9uL2pzb24iLAogICAgICAgICAgICBbIngtbWF0cml4LXVzZXIiXSA9IHhNYXRyaXhVc2VyLlRyaW0oKQogICAgICAgIH07CgogICAgICAgIGh0dHBUYXNrLlNldEhlYWRlcnMoaGVhZGVycyk7CiAgICAgICAgaHR0cFRhc2suU2V0Qm9keShuZXcgeyB9KTsKCiAgICAgICAgcmV0dXJuIG5ldyBTY3JpcHRSZXNwb25zZSgpOwogICAgfQoKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBPdXRwdXRIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB2YXIgcmVzdWx0ID0gbmV3IFNjcmlwdFJlc3BvbnNlKCk7CiAgICAgICAgdmFyIHJlc3BvbnNlID0gY29udGV4dC5Cb2R5OwogICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICB2YXIgcGFydGljaXBhbnRUeXBlID0gR2V0U3RyaW5nKGRhdGEsICJwYXJ0aWNpcGFudFR5cGUiKTsKICAgICAgICB2YXIgdXNlciA9IEdldFN0cmluZyhkYXRhLCAidXNlciIpOwogICAgICAgIHZhciBhZHZpc29ySWQgPSBHZXRTdHJpbmcoZGF0YSwgImFkdmlzb3IiKTsKICAgICAgICB2YXIgaW52aXRlZFVzZXJJZCA9IEdldFN0cmluZyhkYXRhLCAiaW52aXRlZFVzZXJJZCIpOwogICAgICAgIHZhciBjaGF0SW50ZWdyYXRpb24gPSBkYXRhPy5jaGF0SW50ZWdyYXRpb247CiAgICAgICAgdmFyIHVzZXJuYW1lID0gcGFydGljaXBhbnRUeXBlID09ICJhZHZpc29yIiA/IGFkdmlzb3JJZAogICAgICAgICAgICA6IHBhcnRpY2lwYW50VHlwZSA9PSAiaW52aXRlZCIgPyBpbnZpdGVkVXNlcklkCiAgICAgICAgICAgIDogdXNlcjsKCiAgICAgICAgaWYgKHJlc3BvbnNlPy5pc1N1Y2Nlc3MgPT0gdHJ1ZSkKICAgICAgICB7CiAgICAgICAgICAgIGR5bmFtaWMgcmVzcERhdGEgPSByZXNwb25zZS5kYXRhOwogICAgICAgICAgICBzdHJpbmcgam9pbmVkUm9vbUlkID0gR2V0U3RyaW5nKHJlc3BEYXRhLCAicm9vbV9pZCIpID8/IEdldFN0cmluZyhyZXNwRGF0YSwgInJvb21JZCIpID8/IEdldFN0cmluZyhyZXNwRGF0YSwgIlJvb21JZCIpOwoKICAgICAgICAgICAgcmVzdWx0LkRhdGEgPSBuZXcKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgY2hhdEludGVncmF0aW9uID0gbmV3CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgdXNlcm5hbWUsCiAgICAgICAgICAgICAgICAgICAgcm9vbUlkID0gam9pbmVkUm9vbUlkID8/IEdldFN0cmluZyhjaGF0SW50ZWdyYXRpb24sICJyb29tSWQiKSwKICAgICAgICAgICAgICAgICAgICBlcnJvciA9IChzdHJpbmcpbnVsbCwKICAgICAgICAgICAgICAgICAgICBlcnJvckNvZGUgPSAoc3RyaW5nKW51bGwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfTsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgc3RyaW5nIGVycm9yTWVzc2FnZSA9IHJlc3BvbnNlPy5lcnJvck1lc3NhZ2U/LlRvU3RyaW5nKCkgPz8gIkZhaWxlZCB0byBqb2luIHJvb20iOwogICAgICAgICAgICBzdHJpbmcgc3RhdHVzQ29kZSA9IHJlc3BvbnNlPy5zdGF0dXNDb2RlICE9IG51bGwgPyByZXNwb25zZS5zdGF0dXNDb2RlLlRvU3RyaW5nKCkgOiBudWxsOwogICAgICAgICAgICByZXN1bHQuRGF0YSA9IG5ldwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBjaGF0SW50ZWdyYXRpb24gPSBuZXcKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICB1c2VybmFtZSwKICAgICAgICAgICAgICAgICAgICByb29tSWQgPSAoc3RyaW5nKW51bGwsCiAgICAgICAgICAgICAgICAgICAgZXJyb3IgPSBlcnJvck1lc3NhZ2UsCiAgICAgICAgICAgICAgICAgICAgZXJyb3JDb2RlID0gc3RhdHVzQ29kZQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChyZXN1bHQpOwogICAgfQoKICAgIHByaXZhdGUgc3RyaW5nIEdldFN0cmluZyhkeW5hbWljIG9iaiwgc3RyaW5nIG5hbWUpCiAgICB7CiAgICAgICAgaWYgKG9iaiA9PSBudWxsKSByZXR1cm4gbnVsbDsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShvYmosIG5hbWUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YXIgdiA9IEdldFByb3BlcnR5VmFsdWUob2JqLCBuYW1lKTsKICAgICAgICAgICAgICAgIHJldHVybiB2Py5Ub1N0cmluZygpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhdGNoIHsgfQogICAgICAgIHJldHVybiBudWxsOwogICAgfQp9Cg=="
408
+ }
409
+ }
410
+ ],
411
+ "transitions": [
412
+ {
413
+ "key": "to-customer-control-from-join",
414
+ "target": "end",
415
+ "triggerType": 1,
416
+ "versionStrategy": "Minor",
417
+ "labels": [
418
+ {
419
+ "label": "To Customer Control",
420
+ "language": "en-US"
421
+ },
422
+ {
423
+ "label": "Müşteri Kontrolüne",
424
+ "language": "tr-TR"
425
+ }
426
+ ],
427
+ "rule": {
428
+ "location": "./src/CustomerControlToEndRule.csx",
429
+ "code": "dXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKCi8vLyA8c3VtbWFyeT4KLy8vIENvbmRpdGlvbiBmb3IgY3VzdG9tZXItY29udHJvbCB0byBlbmQgdHJhbnNpdGlvbiBpbiByZXplcnZhdGlvbi1zdGFydCBmbG93LgovLy8gQm90aCBhZHZpc29yIGFuZCBjdXN0b21lciBjb21wbGV0ZSB0byBlbmQuIFJldHVybnMgdHJ1ZSB3aGVuIGluIGN1c3RvbWVyLWNvbnRyb2wuCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBDdXN0b21lckNvbnRyb2xUb0VuZFJ1bGUgOiBTY3JpcHRCYXNlLCBJQ29uZGl0aW9uTWFwcGluZwp7CiAgICBwdWJsaWMgVGFzazxib29sPiBIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KHRydWUpOwogICAgfQp9Cg=="
430
+ }
431
+ }
432
+ ]
433
+ },
434
+ {
435
+ "key": "end",
436
+ "stateType": 4,
437
+ "xProfile": "SubFlow",
438
+ "versionStrategy": "Minor",
439
+ "labels": [
440
+ {
441
+ "label": "End",
442
+ "language": "en-US"
443
+ },
444
+ {
445
+ "label": "Bitiş",
446
+ "language": "tr-TR"
447
+ }
448
+ ],
449
+ "subFlow": {
450
+ "type": "S",
451
+ "process": {
452
+ "key": "start-video-call",
453
+ "domain": "touch",
454
+ "flow": "sys-flows",
455
+ "version": "1.0.0"
456
+ },
457
+ "mapping": {
458
+ "location": "./src/StartVideoCallForRandevuStartMapping.csx",
459
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gSVN1YkZsb3dNYXBwaW5nIGZvciBzdGFydC12aWRlby1jYWxsIHdoZW4gaW52b2tlZCBmcm9tIHJlemVydmF0aW9uLXN0YXJ0IGZsb3cgZW5kIHN0YXRlLgovLy8gSW5wdXQ6IHJvb21OYW1lPXJhbmRldnVLZXksIHN0YXR1cz1zdGFmZi1lbnRlciBvciBjdXN0b21lci1lbnRlciBiYXNlZCBvbiBwYXJ0aWNpcGFudFR5cGUsIHVzZXIsIGFkdmlzb3IsIGludml0ZWRVc2VySWQuCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBTdGFydFZpZGVvQ2FsbEZvclJhbmRldnVTdGFydE1hcHBpbmcgOiBTY3JpcHRCYXNlLCBJU3ViRmxvd01hcHBpbmcKewogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgdmFyIGRhdGEgPSBjb250ZXh0Lkluc3RhbmNlPy5EYXRhOwogICAgICAgIHZhciByYW5kZXZ1S2V5ID0gR2V0U3RyaW5nKGRhdGEsICJyYW5kZXZ1S2V5Iik7CiAgICAgICAgdmFyIHBhcnRpY2lwYW50VHlwZSA9IEdldFN0cmluZyhkYXRhLCAicGFydGljaXBhbnRUeXBlIik7CiAgICAgICAgdmFyIHVzZXIgPSBkYXRhPy51c2VyID8/IChvYmplY3Qpc3RyaW5nLkVtcHR5OwogICAgICAgIHZhciBhZHZpc29yID0gZGF0YT8uYWR2aXNvciA/PyAob2JqZWN0KXN0cmluZy5FbXB0eTsKCiAgICAgICAgc3RyaW5nIHN0YXR1czsKICAgICAgICBvYmplY3QgdXNlclZhbDsKICAgICAgICBpZiAocGFydGljaXBhbnRUeXBlID09ICJhZHZpc29yIikKICAgICAgICB7CiAgICAgICAgICAgIHN0YXR1cyA9ICJzdGFmZi1lbnRlciI7CiAgICAgICAgICAgIHVzZXJWYWwgPSBhZHZpc29yOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmIChwYXJ0aWNpcGFudFR5cGUgPT0gImludml0ZWQiKQogICAgICAgIHsKICAgICAgICAgICAgc3RhdHVzID0gImN1c3RvbWVyLWVudGVyIjsKICAgICAgICAgICAgdXNlclZhbCA9IEdldFN0cmluZyhkYXRhLCAiaW52aXRlZFVzZXJJZCIpID8/IHN0cmluZy5FbXB0eTsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgc3RhdHVzID0gImN1c3RvbWVyLWVudGVyIjsKICAgICAgICAgICAgdXNlclZhbCA9IHVzZXI7CiAgICAgICAgfQoKICAgICAgICB2YXIgaW5wdXQgPSBuZXcgRGljdGlvbmFyeTxzdHJpbmcsIG9iamVjdD4KICAgICAgICB7CiAgICAgICAgICAgIHsgInJvb21OYW1lIiwgcmFuZGV2dUtleSA/PyBzdHJpbmcuRW1wdHkgfSwKICAgICAgICAgICAgeyAic3RhdHVzIiwgc3RhdHVzIH0sCiAgICAgICAgICAgIHsgInVzZXIiLCB1c2VyVmFsIH0sCiAgICAgICAgICAgIHsgImFkdmlzb3IiLCBhZHZpc29yIH0KICAgICAgICB9OwoKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSB7IERhdGEgPSBpbnB1dCB9KTsKICAgIH0KCiAgICBwdWJsaWMgVGFzazxTY3JpcHRSZXNwb25zZT4gT3V0cHV0SGFuZGxlcihTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgdmFyIGluc3RhbmNlRGF0YSA9IGNvbnRleHQuQm9keT8uZGF0YSA/PyBjb250ZXh0LkJvZHk/LmF0dHJpYnV0ZXMgPz8gY29udGV4dC5Cb2R5Py5EYXRhID8/IGNvbnRleHQuQm9keTsKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSB7IERhdGEgPSBpbnN0YW5jZURhdGEgfSk7CiAgICB9CgogICAgcHJpdmF0ZSBzdHJpbmcgR2V0U3RyaW5nKGR5bmFtaWMgb2JqLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAob2JqID09IG51bGwpIHJldHVybiBudWxsOwogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KG9iaiwgbmFtZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciB2ID0gR2V0UHJvcGVydHlWYWx1ZShvYmosIG5hbWUpOwogICAgICAgICAgICAgICAgcmV0dXJuIHY/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9Cn0K"
460
+ }
461
+ }
462
+ }
463
+ ],
464
+ "subFlowType": "S",
465
+ "timeout": null
466
+ }
467
+ }