@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,726 @@
1
+ {
2
+ "key": "rezervation",
3
+ "flow": "sys-flows",
4
+ "domain": "touch",
5
+ "version": "1.0.0",
6
+ "flowVersion": "2.0.0",
7
+ "tags": [
8
+ "new"
9
+ ],
10
+ "attributes": {
11
+ "type": "S",
12
+ "labels": [
13
+ {
14
+ "label": "Reservation",
15
+ "language": "en-US"
16
+ },
17
+ {
18
+ "label": "Randevu Alma",
19
+ "language": "tr-TR"
20
+ }
21
+ ],
22
+ "functions": [],
23
+ "features": [],
24
+ "extensions": [],
25
+ "sharedTransitions": [
26
+ {
27
+ "key": "user-cancel",
28
+ "target": "user-cancelled",
29
+ "triggerType": 0,
30
+ "versionStrategy": "Minor",
31
+ "availableIn": [
32
+ "active"
33
+ ],
34
+ "labels": [
35
+ {
36
+ "label": "Cancel by User",
37
+ "language": "en-US"
38
+ },
39
+ {
40
+ "label": "Kullanıcı İptali",
41
+ "language": "tr-TR"
42
+ }
43
+ ],
44
+ "onExecutionTasks": [
45
+ {
46
+ "order": 1,
47
+ "task": {
48
+ "domain": "touch",
49
+ "flow": "sys-tasks",
50
+ "key": "cancel-absence-entry-for-rezervation",
51
+ "version": "1.0.0"
52
+ },
53
+ "mapping": {
54
+ "location": "./src/CancelAbsenceEntryForRezervationMapping.csx",
55
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBCQlQuV29ya2Zsb3cuU2NyaXB0aW5nOwp1c2luZyBCQlQuV29ya2Zsb3cuRGVmaW5pdGlvbnM7CgovLy8gPHN1bW1hcnk+Ci8vLyBNYXBwaW5nIGZvciBjYW5jZWwtYWJzZW5jZS1lbnRyeS1mb3ItcmV6ZXJ2YXRpb24gRGlyZWN0VHJpZ2dlclRhc2sgKFR5cGUgMTIpLgovLy8gVHJpZ2dlcnMgY2FuY2VsIHRyYW5zaXRpb24gb24gdGhlIGFic2VuY2UtZW50cnkgaW5zdGFuY2Ugd2hlbiBiYWNrLXRvLWZvcm0sIHVzZXItY2FuY2VsLCBvciBhZHZpc29yLWNhbmNlbCBpcyBleGVjdXRlZC4KLy8vIFVzZXMgYWJzZW5jZUVudHJ5S2V5IGZyb20gaW5zdGFuY2UgKHNldCBpbiBjb25maXJtYXRpb24gb25FbnRyeSkuIE5vLW9wIGlmIGFic2VuY2VFbnRyeUtleSBpcyBtaXNzaW5nIChlLmcuIG9sZCBpbnN0YW5jZXMpLgovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgY2xhc3MgQ2FuY2VsQWJzZW5jZUVudHJ5Rm9yUmV6ZXJ2YXRpb25NYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciB0cmlnZ2VyVGFzayA9IHRhc2sgYXMgRGlyZWN0VHJpZ2dlclRhc2s7CiAgICAgICAgaWYgKHRyaWdnZXJUYXNrID09IG51bGwpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJUYXNrIG11c3QgYmUgYSBEaXJlY3RUcmlnZ2VyVGFzayIpOwoKICAgICAgICB2YXIgZGF0YSA9IGNvbnRleHQuSW5zdGFuY2U/LkRhdGE7CiAgICAgICAgdmFyIGFic2VuY2VFbnRyeUtleSA9IGRhdGE/LmFic2VuY2VFbnRyeUtleT8uVG9TdHJpbmcoKTsKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yRW1wdHkoYWJzZW5jZUVudHJ5S2V5KSkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIERhdGEgPSBuZXcgeyBjYW5jZWxUcmlnZ2VyZWQgPSBmYWxzZSwgcmVhc29uID0gIm5vLWFic2VuY2UtZW50cnkta2V5IiB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0KCiAgICAgICAgdHJpZ2dlclRhc2suU2V0RG9tYWluKCJ0b3VjaCIpOwogICAgICAgIHRyaWdnZXJUYXNrLlNldEZsb3coImFic2VuY2UtZW50cnkiKTsKICAgICAgICB0cmlnZ2VyVGFzay5TZXRLZXkoYWJzZW5jZUVudHJ5S2V5KTsKICAgICAgICB0cmlnZ2VyVGFzay5TZXRUcmFuc2l0aW9uTmFtZSgiY2FuY2VsIik7CiAgICAgICAgdHJpZ2dlclRhc2suU2V0Qm9keShuZXcgeyB9KTsKCiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UoKSk7CiAgICB9CgogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IE91dHB1dEhhbmRsZXIoU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciByZXNwb25zZSA9IG5ldyBTY3JpcHRSZXNwb25zZSgpOwogICAgICAgIHJlc3BvbnNlLkRhdGEgPSBuZXcKICAgICAgICB7CiAgICAgICAgICAgIGNhbmNlbFRyaWdnZXJlZCA9IGNvbnRleHQuQm9keT8uaXNTdWNjZXNzID09IHRydWUsCiAgICAgICAgICAgIGVycm9yID0gY29udGV4dC5Cb2R5Py5pc1N1Y2Nlc3MgPT0gZmFsc2UgPyAoY29udGV4dC5Cb2R5Py5lcnJvck1lc3NhZ2UgPz8gIkNhbmNlbCBmYWlsZWQiKSA6IG51bGwKICAgICAgICB9OwogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQocmVzcG9uc2UpOwogICAgfQp9Cg=="
56
+ }
57
+ }
58
+ ]
59
+ },
60
+ {
61
+ "key": "advisor-cancel",
62
+ "target": "advisor-cancelled",
63
+ "triggerType": 0,
64
+ "versionStrategy": "Minor",
65
+ "availableIn": [
66
+ "active"
67
+ ],
68
+ "labels": [
69
+ {
70
+ "label": "Cancel by Advisor",
71
+ "language": "en-US"
72
+ },
73
+ {
74
+ "label": "Danışman İptali",
75
+ "language": "tr-TR"
76
+ }
77
+ ],
78
+ "onExecutionTasks": [
79
+ {
80
+ "order": 1,
81
+ "task": {
82
+ "domain": "touch",
83
+ "flow": "sys-tasks",
84
+ "key": "cancel-absence-entry-for-rezervation",
85
+ "version": "1.0.0"
86
+ },
87
+ "mapping": {
88
+ "location": "./src/CancelAbsenceEntryForRezervationMapping.csx",
89
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBCQlQuV29ya2Zsb3cuU2NyaXB0aW5nOwp1c2luZyBCQlQuV29ya2Zsb3cuRGVmaW5pdGlvbnM7CgovLy8gPHN1bW1hcnk+Ci8vLyBNYXBwaW5nIGZvciBjYW5jZWwtYWJzZW5jZS1lbnRyeS1mb3ItcmV6ZXJ2YXRpb24gRGlyZWN0VHJpZ2dlclRhc2sgKFR5cGUgMTIpLgovLy8gVHJpZ2dlcnMgY2FuY2VsIHRyYW5zaXRpb24gb24gdGhlIGFic2VuY2UtZW50cnkgaW5zdGFuY2Ugd2hlbiBiYWNrLXRvLWZvcm0sIHVzZXItY2FuY2VsLCBvciBhZHZpc29yLWNhbmNlbCBpcyBleGVjdXRlZC4KLy8vIFVzZXMgYWJzZW5jZUVudHJ5S2V5IGZyb20gaW5zdGFuY2UgKHNldCBpbiBjb25maXJtYXRpb24gb25FbnRyeSkuIE5vLW9wIGlmIGFic2VuY2VFbnRyeUtleSBpcyBtaXNzaW5nIChlLmcuIG9sZCBpbnN0YW5jZXMpLgovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgY2xhc3MgQ2FuY2VsQWJzZW5jZUVudHJ5Rm9yUmV6ZXJ2YXRpb25NYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciB0cmlnZ2VyVGFzayA9IHRhc2sgYXMgRGlyZWN0VHJpZ2dlclRhc2s7CiAgICAgICAgaWYgKHRyaWdnZXJUYXNrID09IG51bGwpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJUYXNrIG11c3QgYmUgYSBEaXJlY3RUcmlnZ2VyVGFzayIpOwoKICAgICAgICB2YXIgZGF0YSA9IGNvbnRleHQuSW5zdGFuY2U/LkRhdGE7CiAgICAgICAgdmFyIGFic2VuY2VFbnRyeUtleSA9IGRhdGE/LmFic2VuY2VFbnRyeUtleT8uVG9TdHJpbmcoKTsKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yRW1wdHkoYWJzZW5jZUVudHJ5S2V5KSkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIERhdGEgPSBuZXcgeyBjYW5jZWxUcmlnZ2VyZWQgPSBmYWxzZSwgcmVhc29uID0gIm5vLWFic2VuY2UtZW50cnkta2V5IiB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0KCiAgICAgICAgdHJpZ2dlclRhc2suU2V0RG9tYWluKCJ0b3VjaCIpOwogICAgICAgIHRyaWdnZXJUYXNrLlNldEZsb3coImFic2VuY2UtZW50cnkiKTsKICAgICAgICB0cmlnZ2VyVGFzay5TZXRLZXkoYWJzZW5jZUVudHJ5S2V5KTsKICAgICAgICB0cmlnZ2VyVGFzay5TZXRUcmFuc2l0aW9uTmFtZSgiY2FuY2VsIik7CiAgICAgICAgdHJpZ2dlclRhc2suU2V0Qm9keShuZXcgeyB9KTsKCiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UoKSk7CiAgICB9CgogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IE91dHB1dEhhbmRsZXIoU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciByZXNwb25zZSA9IG5ldyBTY3JpcHRSZXNwb25zZSgpOwogICAgICAgIHJlc3BvbnNlLkRhdGEgPSBuZXcKICAgICAgICB7CiAgICAgICAgICAgIGNhbmNlbFRyaWdnZXJlZCA9IGNvbnRleHQuQm9keT8uaXNTdWNjZXNzID09IHRydWUsCiAgICAgICAgICAgIGVycm9yID0gY29udGV4dC5Cb2R5Py5pc1N1Y2Nlc3MgPT0gZmFsc2UgPyAoY29udGV4dC5Cb2R5Py5lcnJvck1lc3NhZ2UgPz8gIkNhbmNlbCBmYWlsZWQiKSA6IG51bGwKICAgICAgICB9OwogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQocmVzcG9uc2UpOwogICAgfQp9Cg=="
90
+ }
91
+ },
92
+ {
93
+ "order": 2,
94
+ "task": {
95
+ "domain": "touch",
96
+ "flow": "sys-tasks",
97
+ "key": "send-cancel-notification",
98
+ "version": "1.0.0"
99
+ },
100
+ "mapping": {
101
+ "location": "./src/SendCancelNotificationMapping.csx",
102
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBCQlQuV29ya2Zsb3cuU2NyaXB0aW5nOwp1c2luZyBCQlQuV29ya2Zsb3cuRGVmaW5pdGlvbnM7Ci8vLyA8c3VtbWFyeT4KLy8vIE1hcHBpbmcgZm9yIFNlbmRDYW5jZWxOb3RpZmljYXRpb24gKERpcmVjdFRyaWdnZXJUYXNrIC0gVHlwZSAxMikKLy8vIFRyaWdnZXJzIG5vdGlmaWNhdGlvbi1zZW5kZXIgd29ya2Zsb3cgd2hlbiBhIHJlc2VydmF0aW9uIGlzIGNhbmNlbGxlZC4KLy8vIFNlbmRzIFNNUy9wdXNoIG5vdGlmaWNhdGlvbiB0byB0aGUgY3VzdG9tZXIgYWJvdXQgdGhlIGNhbmNlbGxhdGlvbi4KLy8vIDwvc3VtbWFyeT4KcHVibGljIGNsYXNzIFNlbmRDYW5jZWxOb3RpZmljYXRpb25NYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciB0cmlnZ2VyVGFzayA9IHRhc2sgYXMgRGlyZWN0VHJpZ2dlclRhc2s7CiAgICAgICAgaWYgKHRyaWdnZXJUYXNrID09IG51bGwpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJUYXNrIG11c3QgYmUgYSBEaXJlY3RUcmlnZ2VyVGFzayIpOwoKICAgICAgICB2YXIgaW5zdGFuY2UgPSBjb250ZXh0Lkluc3RhbmNlOwogICAgICAgIGlmIChpbnN0YW5jZSA9PSBudWxsKQogICAgICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSgpKTsKCiAgICAgICAgdmFyIGF0dHJzID0gaW5zdGFuY2UuQXR0cmlidXRlczsKICAgICAgICBzdHJpbmcgdXNlciA9IGF0dHJzPy51c2VyPy5Ub1N0cmluZygpID8/ICIiOwogICAgICAgIHN0cmluZyBhZHZpc29yID0gYXR0cnM/LmFkdmlzb3I/LlRvU3RyaW5nKCkgPz8gIiI7CiAgICAgICAgc3RyaW5nIHN0YXJ0RGF0ZVRpbWUgPSBhdHRycz8uc3RhcnREYXRlVGltZT8uVG9TdHJpbmcoKSA/PyAiIjsKCiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPckVtcHR5KHVzZXIpKQogICAgICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSgpKTsKCiAgICAgICAgc3RyaW5nIGluc3RhbmNlS2V5ID0gaW5zdGFuY2UuS2V5Py5Ub1N0cmluZygpID8/ICIiOwogICAgICAgIHN0cmluZyBub3RpZktleSA9ICQiY2FuY2VsLW5vdGlmLXtpbnN0YW5jZUtleX0te0RhdGVUaW1lLlV0Y05vdzp5eXl5TU1kZEhIbW1zc30iOwoKICAgICAgICB0cmlnZ2VyVGFzay5TZXRUYXJnZXRXb3JrZmxvdygibm90aWZpY2F0aW9uLXNlbmRlciIpOwogICAgICAgIHRyaWdnZXJUYXNrLlNldFRhcmdldFRyYW5zaXRpb24oInN0YXJ0Iik7CiAgICAgICAgdHJpZ2dlclRhc2suU2V0SW5zdGFuY2VLZXkobm90aWZLZXkpOwogICAgICAgIHRyaWdnZXJUYXNrLlNldEF0dHJpYnV0ZXMobmV3CiAgICAgICAgewogICAgICAgICAgICByZWNpcGllbnRJZCA9IHVzZXIsCiAgICAgICAgICAgIHR5cGUgPSAicmVzZXJ2YXRpb24tY2FuY2VsbGVkIiwKICAgICAgICAgICAgY2hhbm5lbCA9ICJzbXMiLAogICAgICAgICAgICB0aXRsZSA9ICJSYW5kZXZ1IMSwcHRhbGkiLAogICAgICAgICAgICBtZXNzYWdlID0gJCJSYW5kZXZ1bnV6IGlwdGFsIGVkaWxtacWfdGlyLiBUYXJpaDoge3N0YXJ0RGF0ZVRpbWV9LCBEYW7EscWfbWFuOiB7YWR2aXNvcn0iLAogICAgICAgICAgICBtZXRhZGF0YSA9IG5ldwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICByZXNlcnZhdGlvbktleSA9IGluc3RhbmNlS2V5LAogICAgICAgICAgICAgICAgYWR2aXNvcklkID0gYWR2aXNvciwKICAgICAgICAgICAgICAgIG9yaWdpbmFsRGF0ZVRpbWUgPSBzdGFydERhdGVUaW1lCiAgICAgICAgICAgIH0KICAgICAgICB9KTsKCiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UoKSk7CiAgICB9CgogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IE91dHB1dEhhbmRsZXIoU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlCiAgICAgICAgewogICAgICAgICAgICBLZXkgPSAibm90aWZpY2F0aW9uLXNlbnQiLAogICAgICAgICAgICBEYXRhID0gbmV3IHsgc3VjY2VzcyA9IHRydWUgfSwKICAgICAgICAgICAgVGFncyA9IG5ld1tdIHsgIm5vdGlmaWNhdGlvbiIsICJjYW5jZWwiIH0KICAgICAgICB9KTsKICAgIH0KfQo="
103
+ }
104
+ }
105
+ ]
106
+ },
107
+ {
108
+ "key": "timeout",
109
+ "target": "timeout",
110
+ "triggerType": 0,
111
+ "versionStrategy": "Minor",
112
+ "availableIn": [
113
+ "active"
114
+ ],
115
+ "labels": [
116
+ {
117
+ "label": "Timeout",
118
+ "language": "en-US"
119
+ },
120
+ {
121
+ "label": "Zaman Aşımı",
122
+ "language": "tr-TR"
123
+ }
124
+ ]
125
+ },
126
+ {
127
+ "key": "add-invited-participant",
128
+ "target": "$self",
129
+ "triggerType": 0,
130
+ "versionStrategy": "Minor",
131
+ "availableIn": [
132
+ "active",
133
+ "in-meet"
134
+ ],
135
+ "labels": [
136
+ {
137
+ "label": "Add Invited Participant",
138
+ "language": "en-US"
139
+ },
140
+ {
141
+ "label": "Davetli Katılımcı Ekle",
142
+ "language": "tr-TR"
143
+ }
144
+ ],
145
+ "onExecutionTasks": [
146
+ {
147
+ "order": 1,
148
+ "task": {
149
+ "domain": "touch",
150
+ "flow": "sys-tasks",
151
+ "key": "merge-invited-user",
152
+ "version": "1.0.0"
153
+ },
154
+ "mapping": {
155
+ "location": "./src/InvitedUserMergeMapping.csx",
156
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gTWVyZ2VzIGludml0ZWRVc2VySWQgZnJvbSB0cmFuc2l0aW9uIGJvZHkgaW50byBleGlzdGluZyBpbnZpdGVkVXNlciBhcnJheSBvbiByZXplcnZhdGlvbiBpbnN0YW5jZS4KLy8vIEFwcGVuZHMgbmV3IHVzZXIgaWYgbm90IGFscmVhZHkgcHJlc2VudC4gUmV0dXJucyBEYXRhLmludml0ZWRVc2VyIGZvciBpbnN0YW5jZSBtZXJnZS4KLy8vIDwvc3VtbWFyeT4KcHVibGljIGNsYXNzIEludml0ZWRVc2VyTWVyZ2VNYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlKCkpOwogICAgfQoKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBPdXRwdXRIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB2YXIgaW5zdGFuY2VEYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICB2YXIgYm9keSA9IGNvbnRleHQuQm9keTsKICAgICAgICB2YXIgaW52aXRlZFVzZXJJZCA9IEdldFN0cmluZyhib2R5LCAiaW52aXRlZFVzZXJJZCIpOwogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKGludml0ZWRVc2VySWQpKQogICAgICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSB7IERhdGEgPSBuZXcgRGljdGlvbmFyeTxzdHJpbmcsIG9iamVjdD4oKSB9KTsKCiAgICAgICAgdmFyIGV4aXN0aW5nTGlzdCA9IEdldEludml0ZWRVc2VyTGlzdChpbnN0YW5jZURhdGEpOwogICAgICAgIHZhciB0cmltbWVkID0gaW52aXRlZFVzZXJJZC5UcmltKCk7CiAgICAgICAgaWYgKCFleGlzdGluZ0xpc3QuQ29udGFpbnModHJpbW1lZCkpCiAgICAgICAgICAgIGV4aXN0aW5nTGlzdC5BZGQodHJpbW1lZCk7CgogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlCiAgICAgICAgewogICAgICAgICAgICBEYXRhID0gbmV3IERpY3Rpb25hcnk8c3RyaW5nLCBvYmplY3Q+IHsgeyAiaW52aXRlZFVzZXIiLCBleGlzdGluZ0xpc3QgfSB9CiAgICAgICAgfSk7CiAgICB9CgogICAgcHJpdmF0ZSBMaXN0PHN0cmluZz4gR2V0SW52aXRlZFVzZXJMaXN0KGR5bmFtaWMgc291cmNlKQogICAgewogICAgICAgIGlmIChzb3VyY2UgPT0gbnVsbCkgcmV0dXJuIG5ldyBMaXN0PHN0cmluZz4oKTsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmICghSGFzUHJvcGVydHkoc291cmNlLCAiaW52aXRlZFVzZXIiKSkgcmV0dXJuIG5ldyBMaXN0PHN0cmluZz4oKTsKICAgICAgICAgICAgdmFyIGFyciA9IHNvdXJjZS5pbnZpdGVkVXNlcjsKICAgICAgICAgICAgaWYgKGFyciA9PSBudWxsKSByZXR1cm4gbmV3IExpc3Q8c3RyaW5nPigpOwogICAgICAgICAgICB2YXIgbGlzdCA9IGFyciBhcyBTeXN0ZW0uQ29sbGVjdGlvbnMuSUVudW1lcmFibGU7CiAgICAgICAgICAgIGlmIChsaXN0ID09IG51bGwgfHwgbGlzdCBpcyBzdHJpbmcpIHJldHVybiBuZXcgTGlzdDxzdHJpbmc+KCk7CiAgICAgICAgICAgIHZhciByZXN1bHQgPSBuZXcgTGlzdDxzdHJpbmc+KCk7CiAgICAgICAgICAgIGZvcmVhY2ggKHZhciBpdGVtIGluIGxpc3QpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGlmIChpdGVtICE9IG51bGwpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHMgPSBpdGVtLlRvU3RyaW5nKCk/LlRyaW0oKTsKICAgICAgICAgICAgICAgICAgICBpZiAoIXN0cmluZy5Jc051bGxPckVtcHR5KHMpKQogICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQuQWRkKHMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgICAgfQogICAgICAgIGNhdGNoIHsgfQogICAgICAgIHJldHVybiBuZXcgTGlzdDxzdHJpbmc+KCk7CiAgICB9CgogICAgcHJpdmF0ZSBzdHJpbmcgR2V0U3RyaW5nKGR5bmFtaWMgb2JqLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAob2JqID09IG51bGwpIHJldHVybiBudWxsOwogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KG9iaiwgbmFtZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciB2ID0gR2V0UHJvcGVydHlWYWx1ZShvYmosIG5hbWUpOwogICAgICAgICAgICAgICAgcmV0dXJuIHY/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9Cn0K"
157
+ }
158
+ }
159
+ ]
160
+ }
161
+ ],
162
+ "startTransition": {
163
+ "key": "start",
164
+ "target": "appointment-form",
165
+ "versionStrategy": "Major",
166
+ "triggerType": 0,
167
+ "labels": [
168
+ {
169
+ "label": "Start",
170
+ "language": "en-US"
171
+ },
172
+ {
173
+ "label": "Başla",
174
+ "language": "tr-TR"
175
+ }
176
+ ],
177
+ "onExecutionTasks": [
178
+ {
179
+ "order": 1,
180
+ "task": {
181
+ "domain": "touch",
182
+ "flow": "sys-tasks",
183
+ "key": "set-user-from-headers-for-rezervation",
184
+ "version": "1.0.0"
185
+ },
186
+ "mapping": {
187
+ "location": "./src/SetUserFromHeadersForRezervationMapping.csx",
188
+ "code": "dXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gUG9wdWxhdGUgc3ViIChmcm9tIEhlYWRlcnMgc3ViKSBpbnRvIHRoZSB3b3JrZmxvdyBpbnN0YW5jZSBkYXRhLgovLy8gVXNlZCBhdCBzdGFydCBzbyBzdWJzZXF1ZW50IHRhc2tzIChlLmcuIGdldC11c2VyLWluZm8tZm9yLXJlemVydmF0aW9uKSByZWFkIHN1YiBmcm9tIGRhdGEuCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBTZXRVc2VyRnJvbUhlYWRlcnNGb3JSZXplcnZhdGlvbk1hcHBpbmcgOiBTY3JpcHRCYXNlLCBJTWFwcGluZwp7CiAgICBwdWJsaWMgVGFzazxTY3JpcHRSZXNwb25zZT4gSW5wdXRIYW5kbGVyKFdvcmtmbG93VGFzayB0YXNrLCBTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UoKSk7CiAgICB9CgogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IE91dHB1dEhhbmRsZXIoU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciBzdWIgPSBjb250ZXh0LkhlYWRlcnM/WyJzdWIiXT8uVG9TdHJpbmcoKT8uVHJpbSgpOwogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlCiAgICAgICAgewogICAgICAgICAgICBEYXRhID0gbmV3IHsgc3ViIH0KICAgICAgICB9KTsKICAgIH0KfQo="
189
+ }
190
+ },
191
+ {
192
+ "order": 2,
193
+ "task": {
194
+ "domain": "touch",
195
+ "flow": "sys-tasks",
196
+ "key": "validate-date-for-rezervation",
197
+ "version": "1.0.0"
198
+ },
199
+ "mapping": {
200
+ "location": "./src/ValidateDateForRezervationMapping.csx",
201
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBCQlQuV29ya2Zsb3cuU2NyaXB0aW5nOwp1c2luZyBCQlQuV29ya2Zsb3cuRGVmaW5pdGlvbnM7CgovLy8gPHN1bW1hcnk+Ci8vLyBTY3JpcHQgVGFzayAodHlwZSA3KSBtYXBwaW5nIGZvciB2YWxpZGF0ZS1kYXRlLWZvci1yZXplcnZhdGlvbi4KLy8vIFZhbGlkYXRlcyBzdGFydERhdGVUaW1lIGFuZCBlbmREYXRlVGltZSBmcm9tIHJlemVydmF0aW9uIGluc3RhbmNlIGRhdGEuCi8vLyBUaHJvd3MgQXJndW1lbnRFeGNlcHRpb24gaWYgZGF0ZSBpcyBpbiB0aGUgcGFzdCBvciBpbnZhbGlkOyBvdGhlcndpc2UgcmV0dXJucyBzdWNjZXNzLgovLy8gUnVucyBiZWZvcmUgdmFsaWRhdGUtc2xvdC1mb3ItcmV6ZXJ2YXRpb24gdG8gYXZvaWQgY2FsbGluZyBnZXQtYXZhaWxhYmxlLXNsb3RzIHdpdGggaW52YWxpZCBkYXRlLgovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgY2xhc3MgVmFsaWRhdGVEYXRlRm9yUmV6ZXJ2YXRpb25NYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICBpZiAoZGF0YSA9PSBudWxsKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiSW5zdGFuY2UgZGF0YSBpcyByZXF1aXJlZC4iKTsKCiAgICAgICAgdmFyIHN0YXJ0RGF0ZVRpbWVTdHIgPSBHZXRTdHJpbmcoZGF0YSwgInN0YXJ0RGF0ZVRpbWUiKTsKICAgICAgICB2YXIgZW5kRGF0ZVRpbWVTdHIgPSBHZXRTdHJpbmcoZGF0YSwgImVuZERhdGVUaW1lIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPckVtcHR5KHN0YXJ0RGF0ZVRpbWVTdHIpIHx8IHN0cmluZy5Jc051bGxPckVtcHR5KGVuZERhdGVUaW1lU3RyKSkKICAgICAgICAgICAgdGhyb3cgbmV3IEFyZ3VtZW50RXhjZXB0aW9uKCJzdGFydERhdGVUaW1lIGFuZCBlbmREYXRlVGltZSBhcmUgcmVxdWlyZWQuIiwgImRhdGUiKTsKCiAgICAgICAgRGF0ZVRpbWUgc3RhcnREdDsKICAgICAgICBpZiAoIURhdGVUaW1lLlRyeVBhcnNlKHN0YXJ0RGF0ZVRpbWVTdHIsIG91dCBzdGFydER0KSkKICAgICAgICAgICAgdGhyb3cgbmV3IEFyZ3VtZW50RXhjZXB0aW9uKCJJbnZhbGlkIHN0YXJ0RGF0ZVRpbWUgZm9ybWF0LiIsICJzdGFydERhdGVUaW1lIik7CiAgICAgICAgRGF0ZVRpbWUgZW5kRHQ7CiAgICAgICAgaWYgKCFEYXRlVGltZS5UcnlQYXJzZShlbmREYXRlVGltZVN0ciwgb3V0IGVuZER0KSkKICAgICAgICAgICAgdGhyb3cgbmV3IEFyZ3VtZW50RXhjZXB0aW9uKCJJbnZhbGlkIGVuZERhdGVUaW1lIGZvcm1hdC4iLCAiZW5kRGF0ZVRpbWUiKTsKCiAgICAgICAgdmFyIG5vdyA9IERhdGVUaW1lLlV0Y05vdzsKICAgICAgICBpZiAoc3RhcnREdCA8IG5vdyB8fCBlbmREdCA8IG5vdykKICAgICAgICAgICAgdGhyb3cgbmV3IEFyZ3VtZW50RXhjZXB0aW9uKCJEYXRlIGNhbm5vdCBiZSBpbiB0aGUgcGFzdC4iLCAiZGF0ZSIpOwogICAgICAgIGlmIChlbmREdCA8PSBzdGFydER0KQogICAgICAgICAgICB0aHJvdyBuZXcgQXJndW1lbnRFeGNlcHRpb24oImVuZERhdGVUaW1lIG11c3QgYmUgYWZ0ZXIgc3RhcnREYXRlVGltZS4iLCAiZGF0ZSIpOwoKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgVGFzazxTY3JpcHRSZXNwb25zZT4gT3V0cHV0SGFuZGxlcihTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UoKSk7CiAgICB9CgogICAgcHJpdmF0ZSBzdHJpbmcgR2V0U3RyaW5nKGR5bmFtaWMgb2JqLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAob2JqID09IG51bGwpIHJldHVybiBudWxsOwogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KG9iaiwgbmFtZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciB2ID0gR2V0UHJvcGVydHlWYWx1ZShvYmosIG5hbWUpOwogICAgICAgICAgICAgICAgcmV0dXJuIHY/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9Cn0K"
202
+ }
203
+ }
204
+ ]
205
+ },
206
+ "states": [
207
+ {
208
+ "key": "appointment-form",
209
+ "stateType": 1,
210
+ "versionStrategy": "Minor",
211
+ "labels": [
212
+ {
213
+ "label": "Book Appointment",
214
+ "language": "en-US"
215
+ },
216
+ {
217
+ "label": "Randevu Alma",
218
+ "language": "tr-TR"
219
+ }
220
+ ],
221
+ "transitions": [
222
+ {
223
+ "key": "confirm-selection",
224
+ "target": "validating",
225
+ "triggerType": 0,
226
+ "versionStrategy": "Minor",
227
+ "labels": [
228
+ {
229
+ "label": "Confirm",
230
+ "language": "en-US"
231
+ },
232
+ {
233
+ "label": "Onayla",
234
+ "language": "tr-TR"
235
+ }
236
+ ],
237
+ "onExecutionTasks": [
238
+ {
239
+ "order": 1,
240
+ "task": {
241
+ "domain": "touch",
242
+ "flow": "sys-tasks",
243
+ "key": "validate-date-for-rezervation",
244
+ "version": "1.0.0"
245
+ },
246
+ "mapping": {
247
+ "location": "./src/ValidateDateForRezervationMapping.csx",
248
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBCQlQuV29ya2Zsb3cuU2NyaXB0aW5nOwp1c2luZyBCQlQuV29ya2Zsb3cuRGVmaW5pdGlvbnM7CgovLy8gPHN1bW1hcnk+Ci8vLyBTY3JpcHQgVGFzayAodHlwZSA3KSBtYXBwaW5nIGZvciB2YWxpZGF0ZS1kYXRlLWZvci1yZXplcnZhdGlvbi4KLy8vIFZhbGlkYXRlcyBzdGFydERhdGVUaW1lIGFuZCBlbmREYXRlVGltZSBmcm9tIHJlemVydmF0aW9uIGluc3RhbmNlIGRhdGEuCi8vLyBUaHJvd3MgQXJndW1lbnRFeGNlcHRpb24gaWYgZGF0ZSBpcyBpbiB0aGUgcGFzdCBvciBpbnZhbGlkOyBvdGhlcndpc2UgcmV0dXJucyBzdWNjZXNzLgovLy8gUnVucyBiZWZvcmUgdmFsaWRhdGUtc2xvdC1mb3ItcmV6ZXJ2YXRpb24gdG8gYXZvaWQgY2FsbGluZyBnZXQtYXZhaWxhYmxlLXNsb3RzIHdpdGggaW52YWxpZCBkYXRlLgovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgY2xhc3MgVmFsaWRhdGVEYXRlRm9yUmV6ZXJ2YXRpb25NYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICBpZiAoZGF0YSA9PSBudWxsKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiSW5zdGFuY2UgZGF0YSBpcyByZXF1aXJlZC4iKTsKCiAgICAgICAgdmFyIHN0YXJ0RGF0ZVRpbWVTdHIgPSBHZXRTdHJpbmcoZGF0YSwgInN0YXJ0RGF0ZVRpbWUiKTsKICAgICAgICB2YXIgZW5kRGF0ZVRpbWVTdHIgPSBHZXRTdHJpbmcoZGF0YSwgImVuZERhdGVUaW1lIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPckVtcHR5KHN0YXJ0RGF0ZVRpbWVTdHIpIHx8IHN0cmluZy5Jc051bGxPckVtcHR5KGVuZERhdGVUaW1lU3RyKSkKICAgICAgICAgICAgdGhyb3cgbmV3IEFyZ3VtZW50RXhjZXB0aW9uKCJzdGFydERhdGVUaW1lIGFuZCBlbmREYXRlVGltZSBhcmUgcmVxdWlyZWQuIiwgImRhdGUiKTsKCiAgICAgICAgRGF0ZVRpbWUgc3RhcnREdDsKICAgICAgICBpZiAoIURhdGVUaW1lLlRyeVBhcnNlKHN0YXJ0RGF0ZVRpbWVTdHIsIG91dCBzdGFydER0KSkKICAgICAgICAgICAgdGhyb3cgbmV3IEFyZ3VtZW50RXhjZXB0aW9uKCJJbnZhbGlkIHN0YXJ0RGF0ZVRpbWUgZm9ybWF0LiIsICJzdGFydERhdGVUaW1lIik7CiAgICAgICAgRGF0ZVRpbWUgZW5kRHQ7CiAgICAgICAgaWYgKCFEYXRlVGltZS5UcnlQYXJzZShlbmREYXRlVGltZVN0ciwgb3V0IGVuZER0KSkKICAgICAgICAgICAgdGhyb3cgbmV3IEFyZ3VtZW50RXhjZXB0aW9uKCJJbnZhbGlkIGVuZERhdGVUaW1lIGZvcm1hdC4iLCAiZW5kRGF0ZVRpbWUiKTsKCiAgICAgICAgdmFyIG5vdyA9IERhdGVUaW1lLlV0Y05vdzsKICAgICAgICBpZiAoc3RhcnREdCA8IG5vdyB8fCBlbmREdCA8IG5vdykKICAgICAgICAgICAgdGhyb3cgbmV3IEFyZ3VtZW50RXhjZXB0aW9uKCJEYXRlIGNhbm5vdCBiZSBpbiB0aGUgcGFzdC4iLCAiZGF0ZSIpOwogICAgICAgIGlmIChlbmREdCA8PSBzdGFydER0KQogICAgICAgICAgICB0aHJvdyBuZXcgQXJndW1lbnRFeGNlcHRpb24oImVuZERhdGVUaW1lIG11c3QgYmUgYWZ0ZXIgc3RhcnREYXRlVGltZS4iLCAiZGF0ZSIpOwoKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgVGFzazxTY3JpcHRSZXNwb25zZT4gT3V0cHV0SGFuZGxlcihTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UoKSk7CiAgICB9CgogICAgcHJpdmF0ZSBzdHJpbmcgR2V0U3RyaW5nKGR5bmFtaWMgb2JqLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAob2JqID09IG51bGwpIHJldHVybiBudWxsOwogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KG9iaiwgbmFtZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciB2ID0gR2V0UHJvcGVydHlWYWx1ZShvYmosIG5hbWUpOwogICAgICAgICAgICAgICAgcmV0dXJuIHY/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9Cn0K"
249
+ }
250
+ },
251
+ {
252
+ "order": 2,
253
+ "task": {
254
+ "domain": "touch",
255
+ "flow": "sys-tasks",
256
+ "key": "check-duplicate-rezervation",
257
+ "version": "1.0.0"
258
+ },
259
+ "mapping": {
260
+ "location": "./src/CheckDuplicateRezervationMapping.csx",
261
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gTWFwcGluZyBmb3IgY2hlY2stZHVwbGljYXRlLXJlemVydmF0aW9uIChEYXByU2VydmljZVRhc2sgLSBUeXBlIDMpLgovLy8gUXVlcmllcyByZXplcnZhdGlvbiB3b3JrZmxvdyBpbnN0YW5jZXMgdG8gZW5mb3JjZSB0d28gcnVsZXM6Ci8vLyAxLiBBIHVzZXIgY2FuIGhhdmUgYXQgbW9zdCAyIHJlc2VydmF0aW9ucyBpbiBjb25maXJtZWQgc3RhdGVzIChhY3RpdmUsIHVwZGF0ZS1jb250cm9sLCBjaGFuZ2UtYWR2aXNvciwgY2FuLXN0YXJ0LW1lZXRpbmcsIGFjY2VwdC10ZXJtcykuCi8vLyAyLiBBIHVzZXIgY2Fubm90IGhhdmUgdHdvIHJlc2VydmF0aW9ucyB3aXRoIG92ZXJsYXBwaW5nIHRpbWUgc2xvdHMuCi8vLwovLy8gRmxvdzoKLy8vIDEuIElucHV0SGFuZGxlcjogQnVpbGRzIHF1ZXJ5IHRvIGZpbmQgYWxsIGFjdGl2ZSByZXNlcnZhdGlvbnMgZm9yIHRoZSBzYW1lIHVzZXIuCi8vLyAyLiBPdXRwdXRIYW5kbGVyOiBDaGVja3MgY291bnQgKG1heCAyKSBhbmQgdGltZSBvdmVybGFwOyB0aHJvd3MgZXhjZXB0aW9uIG9uIHZpb2xhdGlvbi4KLy8vICAgIEV4Y2VwdGlvbiBmYWlscyB0aGUgdHJhbnNpdGlvbjsgaW5zdGFuY2Ugc3RheXMgaW4gaXRzIGN1cnJlbnQgc3RhdGUuCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBDaGVja0R1cGxpY2F0ZVJlemVydmF0aW9uTWFwcGluZyA6IFNjcmlwdEJhc2UsIElNYXBwaW5nCnsKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBJbnB1dEhhbmRsZXIoV29ya2Zsb3dUYXNrIHRhc2ssIFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB2YXIgc2VydmljZVRhc2sgPSB0YXNrIGFzIERhcHJTZXJ2aWNlVGFzazsKICAgICAgICBpZiAoc2VydmljZVRhc2sgPT0gbnVsbCkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIlRhc2sgbXVzdCBiZSBhIERhcHJTZXJ2aWNlVGFzayIpOwoKICAgICAgICB2YXIgYXBwSWQgPSBHZXRDb25maWdWYWx1ZSgiREFQUl9BUFBfSUQiKTsKICAgICAgICBpZiAoIXN0cmluZy5Jc051bGxPckVtcHR5KGFwcElkKSkKICAgICAgICAgICAgc2VydmljZVRhc2suU2V0QXBwSWQoYXBwSWQpOwoKICAgICAgICB2YXIgZGF0YSA9IGNvbnRleHQuSW5zdGFuY2U/LkRhdGE7CiAgICAgICAgaWYgKGRhdGEgPT0gbnVsbCB8fCAhSGFzUHJvcGVydHkoZGF0YSwgInVzZXIiKSB8fCBkYXRhLnVzZXIgPT0gbnVsbCkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIk1BWF9SRVpFUlZBVElPTjogVXNlciBmaWVsZCBpcyByZXF1aXJlZCBmb3IgZHVwbGljYXRlIGNoZWNrIik7CgogICAgICAgIHZhciB1c2VyID0gZGF0YS51c2VyLlRvU3RyaW5nKCk7CiAgICAgICAgdmFyIGN1cnJlbnRLZXkgPSBjb250ZXh0Lkluc3RhbmNlPy5LZXkgPz8gIiI7CgogICAgICAgIHZhciB1c2VyRXNjYXBlZCA9IHVzZXIuUmVwbGFjZSgiXFwiLCAiXFxcXCIpLlJlcGxhY2UoIlwiIiwgIlxcXCIiKTsKICAgICAgICB2YXIga2V5RXNjYXBlZCA9IGN1cnJlbnRLZXkuUmVwbGFjZSgiXFwiLCAiXFxcXCIpLlJlcGxhY2UoIlwiIiwgIlxcXCIiKTsKCiAgICAgICAgdmFyIHF1ZXJ5UGFyYW1zID0gbmV3IExpc3Q8c3RyaW5nPgogICAgICAgIHsKICAgICAgICAgICAgInBhZ2VTaXplPTEwIiwKICAgICAgICAgICAgImZpbHRlcj0iICsKICAgICAgICAgICAgICAgICJ7XCJhbmRcIjpbIiArCiAgICAgICAgICAgICAgICAgICAgIntcImF0dHJpYnV0ZXNcIjp7XCJ1c2VyXCI6e1wiZXFcIjpcIiIgKyB1c2VyRXNjYXBlZCArICJcIn19fSwiICsKICAgICAgICAgICAgICAgICAgICAie1wia2V5XCI6e1wibmVcIjpcIiIgKyBrZXlFc2NhcGVkICsgIlwifX0sIiArCiAgICAgICAgICAgICAgICAgICAgIntcImN1cnJlbnRTdGF0ZVwiOntcImVxXCI6XCIiICsgImFjdGl2ZSIgKyAiXCJ9fSwiICArCiAgICAgICAgICAgICAgICAiXX0iCiAgICAgICAgfTsKCiAgICAgICAgc2VydmljZVRhc2suU2V0UXVlcnlTdHJpbmcoc3RyaW5nLkpvaW4oIiYiLCBxdWVyeVBhcmFtcykpOwoKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgVGFzazxTY3JpcHRSZXNwb25zZT4gT3V0cHV0SGFuZGxlcihTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgdmFyIHJlc3BvbnNlID0gY29udGV4dC5Cb2R5OwoKICAgICAgICBpZiAocmVzcG9uc2U/LmlzU3VjY2VzcyA9PSBmYWxzZSkKICAgICAgICB7CiAgICAgICAgICAgIHZhciBlcnJvck1lc3NhZ2UgPSByZXNwb25zZT8uZXJyb3JNZXNzYWdlPy5Ub1N0cmluZygpID8/ICJTZXJ2aWNlIGNhbGwgZmFpbGVkIjsKICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbigkIlNFUlZJQ0VfRVJST1I6IHtlcnJvck1lc3NhZ2V9Iik7CiAgICAgICAgfQoKICAgICAgICB2YXIgcmVzcG9uc2VEYXRhID0gcmVzcG9uc2U/LmRhdGE7CiAgICAgICAgdmFyIGl0ZW1zID0gcmVzcG9uc2VEYXRhPy5pdGVtczsKCiAgICAgICAgaWYgKGl0ZW1zID09IG51bGwgfHwgaXRlbXMuQ291bnQgPT0gMCkKICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UoKSk7CgogICAgICAgIGludCBjb3VudCA9IGl0ZW1zLkNvdW50OwoKICAgICAgICBpZiAoY291bnQgPj0gMikKICAgICAgICB7CiAgICAgICAgICAgIHZhciB1c2VyID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YT8udXNlcj8uVG9TdHJpbmcoKSA/PyAidW5rbm93biI7CiAgICAgICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJCJNQVhfUkVaRVJWQVRJT046IFVzZXIgJ3t1c2VyfScgYWxyZWFkeSBoYXMge2NvdW50fSBhY3RpdmUgcmVzZXJ2YXRpb25zLiBNYXhpbXVtIGFsbG93ZWQgaXMgMi4iKTsKICAgICAgICB9CgogICAgICAgIHZhciBpbnN0YW5jZURhdGEgPSBjb250ZXh0Lkluc3RhbmNlPy5EYXRhOwogICAgICAgIHZhciBuZXdTdGFydFN0ciA9IEdldFN0cmluZyhpbnN0YW5jZURhdGEsICJzdGFydERhdGVUaW1lIik7CiAgICAgICAgdmFyIG5ld0VuZFN0ciA9IEdldFN0cmluZyhpbnN0YW5jZURhdGEsICJlbmREYXRlVGltZSIpOwoKICAgICAgICBpZiAoIXN0cmluZy5Jc051bGxPckVtcHR5KG5ld1N0YXJ0U3RyKSAmJiAhc3RyaW5nLklzTnVsbE9yRW1wdHkobmV3RW5kU3RyKSkKICAgICAgICB7CiAgICAgICAgICAgIERhdGVUaW1lIG5ld1N0YXJ0ID0gZGVmYXVsdCwgbmV3RW5kID0gZGVmYXVsdDsKICAgICAgICAgICAgaWYgKERhdGVUaW1lLlRyeVBhcnNlKG5ld1N0YXJ0U3RyLCBvdXQgbmV3U3RhcnQpICYmIERhdGVUaW1lLlRyeVBhcnNlKG5ld0VuZFN0ciwgb3V0IG5ld0VuZCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGZvcmVhY2ggKHZhciBpdGVtIGluIGl0ZW1zKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGlmIChpdGVtID09IG51bGwpIGNvbnRpbnVlOwoKICAgICAgICAgICAgICAgICAgICB2YXIgZXhpc3RpbmdTdGFydFN0ciA9IEdldE5lc3RlZFN0cmluZyhpdGVtLCAiYXR0cmlidXRlcyIsICJzdGFydERhdGVUaW1lIik7CiAgICAgICAgICAgICAgICAgICAgdmFyIGV4aXN0aW5nRW5kU3RyID0gR2V0TmVzdGVkU3RyaW5nKGl0ZW0sICJhdHRyaWJ1dGVzIiwgImVuZERhdGVUaW1lIik7CgogICAgICAgICAgICAgICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JFbXB0eShleGlzdGluZ1N0YXJ0U3RyKSB8fCBzdHJpbmcuSXNOdWxsT3JFbXB0eShleGlzdGluZ0VuZFN0cikpCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwoKICAgICAgICAgICAgICAgICAgICBEYXRlVGltZSBleGlzdGluZ1N0YXJ0ID0gZGVmYXVsdCwgZXhpc3RpbmdFbmQgPSBkZWZhdWx0OwogICAgICAgICAgICAgICAgICAgIGlmICghRGF0ZVRpbWUuVHJ5UGFyc2UoZXhpc3RpbmdTdGFydFN0ciwgb3V0IGV4aXN0aW5nU3RhcnQpIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICFEYXRlVGltZS5UcnlQYXJzZShleGlzdGluZ0VuZFN0ciwgb3V0IGV4aXN0aW5nRW5kKSkKICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CgogICAgICAgICAgICAgICAgICAgIGlmIChleGlzdGluZ1N0YXJ0IDwgbmV3RW5kICYmIGV4aXN0aW5nRW5kID4gbmV3U3RhcnQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgZXhpc3RpbmdLZXkgPSBIYXNQcm9wZXJ0eShpdGVtLCAia2V5IikgPyBpdGVtLmtleT8uVG9TdHJpbmcoKSA6ICJ1bmtub3duIjsKICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbigKICAgICAgICAgICAgICAgICAgICAgICAgICAgICQiVElNRV9PVkVSTEFQOiBSZXF1ZXN0ZWQgdGltZSB7bmV3U3RhcnRTdHJ9IC0ge25ld0VuZFN0cn0gb3ZlcmxhcHMgd2l0aCBleGlzdGluZyByZXNlcnZhdGlvbiAne2V4aXN0aW5nS2V5fScgKHtleGlzdGluZ1N0YXJ0U3RyfSAtIHtleGlzdGluZ0VuZFN0cn0pLiIpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UoKSk7CiAgICB9CgogICAgcHJpdmF0ZSBzdHJpbmcgR2V0U3RyaW5nKGR5bmFtaWMgb2JqLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAob2JqID09IG51bGwpIHJldHVybiBudWxsOwogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KG9iaiwgbmFtZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciB2ID0gR2V0UHJvcGVydHlWYWx1ZShvYmosIG5hbWUpOwogICAgICAgICAgICAgICAgcmV0dXJuIHY/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9CgogICAgcHJpdmF0ZSBzdHJpbmcgR2V0TmVzdGVkU3RyaW5nKGR5bmFtaWMgb2JqLCBzdHJpbmcgcGFyZW50LCBzdHJpbmcgY2hpbGQpCiAgICB7CiAgICAgICAgaWYgKG9iaiA9PSBudWxsKSByZXR1cm4gbnVsbDsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShvYmosIHBhcmVudCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciBuZXN0ZWQgPSBHZXRQcm9wZXJ0eVZhbHVlKG9iaiwgcGFyZW50KTsKICAgICAgICAgICAgICAgIGlmIChuZXN0ZWQgIT0gbnVsbCAmJiBIYXNQcm9wZXJ0eShuZXN0ZWQsIGNoaWxkKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdiA9IEdldFByb3BlcnR5VmFsdWUobmVzdGVkLCBjaGlsZCk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHY/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9Cn0K"
262
+ }
263
+ },
264
+ {
265
+ "order": 3,
266
+ "task": {
267
+ "domain": "touch",
268
+ "flow": "sys-tasks",
269
+ "key": "validate-slot-for-rezervation",
270
+ "version": "1.0.0"
271
+ },
272
+ "mapping": {
273
+ "location": "./src/ValidateSlotForRezervationMapping.csx",
274
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CnVzaW5nIFN5c3RlbS5UaHJlYWRpbmcuVGFza3M7CnVzaW5nIEJCVC5Xb3JrZmxvdy5TY3JpcHRpbmc7CnVzaW5nIEJCVC5Xb3JrZmxvdy5EZWZpbml0aW9uczsKCi8vLyA8c3VtbWFyeT4KLy8vIE1hcHBpbmcgZm9yIHZhbGlkYXRlLXNsb3QtZm9yLXJlemVydmF0aW9uIHRhc2suCi8vLyBJbnZva2VzIGdldC1hdmFpbGFibGUtc2xvdHMgZnVuY3Rpb24gd2l0aCBhZHZpc29yIGFuZCBkYXRlIGZyb20gcmV6ZXJ2YXRpb24gaW5zdGFuY2UsCi8vLyB0aGVuIGNoZWNrcyBpZiB0aGUgcmVxdWVzdGVkIHN0YXJ0RGF0ZVRpbWUtZW5kRGF0ZVRpbWUgc2xvdCBpcyBpbiB0aGUgYXZhaWxhYmxlIHNsb3RzIGxpc3QuCi8vLyBPdXRwdXQ6IHNsb3RDaGVja1Jlc3VsdCB7IGF2YWlsYWJsZTogYm9vbCwga2V5Pzogc3RyaW5nIH0gZm9yIHVzZSBieSB2YWxpZGF0aW5nIHN0YXRlIGF1dG8gdHJhbnNpdGlvbnMuCi8vLyA8L3N1bW1hcnk+CmludGVybmFsIHNlYWxlZCBjbGFzcyBHZXRBdmFpbGFibGVTbG90c0V4Y2VwdGlvbiA6IEV4Y2VwdGlvbgp7CiAgICBwdWJsaWMgR2V0QXZhaWxhYmxlU2xvdHNFeGNlcHRpb24oc3RyaW5nIG1lc3NhZ2UpIDogYmFzZShtZXNzYWdlKSB7IH0KfQoKcHVibGljIGNsYXNzIFZhbGlkYXRlU2xvdEZvclJlemVydmF0aW9uTWFwcGluZyA6IFNjcmlwdEJhc2UsIElNYXBwaW5nCnsKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBJbnB1dEhhbmRsZXIoV29ya2Zsb3dUYXNrIHRhc2ssIFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIHZhciBzZXJ2aWNlVGFzayA9IHRhc2sgYXMgRGFwclNlcnZpY2VUYXNrOwogICAgICAgICAgICBpZiAoc2VydmljZVRhc2sgPT0gbnVsbCkKICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJUYXNrIG11c3QgYmUgYSBEYXByU2VydmljZVRhc2siKTsKCiAgICAgICAgICAgIHZhciBhcHBJZCA9IEdldENvbmZpZ1ZhbHVlKCJEQVBSX0FQUF9JRCIpOwogICAgICAgICAgICBpZiAoIXN0cmluZy5Jc051bGxPckVtcHR5KGFwcElkKSkKICAgICAgICAgICAgICAgIHNlcnZpY2VUYXNrLlNldEFwcElkKGFwcElkKTsKCiAgICAgICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICAgICAgaWYgKGRhdGEgPT0gbnVsbCkKICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJJbnN0YW5jZSBkYXRhIGlzIHJlcXVpcmVkIik7CgogICAgICAgICAgICB2YXIgYWR2aXNvciA9IEdldFN0cmluZyhkYXRhLCAiYWR2aXNvciIpOwogICAgICAgICAgICB2YXIgc3RhcnREYXRlVGltZVN0ciA9IEdldFN0cmluZyhkYXRhLCAic3RhcnREYXRlVGltZSIpOwogICAgICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yRW1wdHkoYWR2aXNvcikgfHwgc3RyaW5nLklzTnVsbE9yRW1wdHkoc3RhcnREYXRlVGltZVN0cikpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgS2V5ID0gInZhbGlkYXRpb24tZXJyb3IiLAogICAgICAgICAgICAgICAgICAgIERhdGEgPSBuZXcKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNsb3RDaGVja1Jlc3VsdCA9IG5ldyB7IGF2YWlsYWJsZSA9IGZhbHNlLCBrZXkgPSAidmFsaWRhdGlvbi1lcnJvciIgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CgogICAgICAgICAgICBEYXRlVGltZSBzdGFydERhdGVUaW1lOwogICAgICAgICAgICBpZiAoIURhdGVUaW1lLlRyeVBhcnNlKHN0YXJ0RGF0ZVRpbWVTdHIsIG91dCBzdGFydERhdGVUaW1lKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBLZXkgPSAidmFsaWRhdGlvbi1lcnJvciIsCiAgICAgICAgICAgICAgICAgICAgRGF0YSA9IG5ldwogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgc2xvdENoZWNrUmVzdWx0ID0gbmV3IHsgYXZhaWxhYmxlID0gZmFsc2UsIGtleSA9ICJ2YWxpZGF0aW9uLWVycm9yIiB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHZhciBkYXRlU3RyID0gc3RhcnREYXRlVGltZS5Ub1N0cmluZygieXl5eS1NTS1kZCIpOwogICAgICAgICAgICB2YXIgcXVlcnlQYXJhbXMgPSBuZXcgTGlzdDxzdHJpbmc+CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJhZHZpc29ySWQ9IiArIFVyaS5Fc2NhcGVEYXRhU3RyaW5nKGFkdmlzb3IpLAogICAgICAgICAgICAgICAgImRhdGU9IiArIFVyaS5Fc2NhcGVEYXRhU3RyaW5nKGRhdGVTdHIpCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHNlcnZpY2VUYXNrLlNldFF1ZXJ5U3RyaW5nKHN0cmluZy5Kb2luKCImIiwgcXVlcnlQYXJhbXMpKTsKCiAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlKCkpOwogICAgICAgIH0KICAgICAgICBjYXRjaCAoRXhjZXB0aW9uIGV4KQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgS2V5ID0gImlucHV0LWVycm9yIiwKICAgICAgICAgICAgICAgIERhdGEgPSBuZXcKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBzbG90Q2hlY2tSZXN1bHQgPSBuZXcKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF2YWlsYWJsZSA9IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICBrZXkgPSAiaW5wdXQtZXJyb3IiLAogICAgICAgICAgICAgICAgICAgICAgICBlcnJvciA9IGV4Lk1lc3NhZ2UKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgIFRhc2s8U2NyaXB0UmVzcG9uc2U+IE91dHB1dEhhbmRsZXIoU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgICB2YXIgYm9keSA9IGNvbnRleHQuQm9keTsKICAgICAgICAgICAgaWYgKGJvZHkgIT0gbnVsbCAmJiBIYXNQcm9wZXJ0eShib2R5LCAiaXNTdWNjZXNzIikgJiYgYm9keS5pc1N1Y2Nlc3MgPT0gZmFsc2UpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciBlcnJOb2RlID0gSGFzUHJvcGVydHkoYm9keSwgImRhdGEiKSA/IGJvZHkuZGF0YSA6IG51bGw7CiAgICAgICAgICAgICAgICB2YXIgZGV0YWlsID0gR2V0U3RyaW5nKGVyck5vZGUsICJkZXRhaWwiKSA/PyBHZXRTdHJpbmcoYm9keSwgImVycm9yTWVzc2FnZSIpID8/IEdldFN0cmluZyhib2R5LCAiZGV0YWlsIik7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQXJndW1lbnRFeGNlcHRpb24oZGV0YWlsID8/ICJGdW5jdGlvbiBjYWxsIGZhaWxlZCIsIiIpOwogICAgICAgICAgICB9CiAgICAgICAgdHJ5CiAgICAgICAgewogICAgICAgICAgICB2YXIgZGF0YSA9IGNvbnRleHQuSW5zdGFuY2U/LkRhdGE7CiAgICAgICAgICAgIGlmIChkYXRhID09IG51bGwpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgRGF0YSA9IG5ldyB7IHNsb3RDaGVja1Jlc3VsdCA9IG5ldyB7IGF2YWlsYWJsZSA9IGZhbHNlLCBrZXkgPSAibm8taW5zdGFuY2UtZGF0YSIgfSB9CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIHN0YXJ0RGF0ZVRpbWVTdHIgPSBHZXRTdHJpbmcoZGF0YSwgInN0YXJ0RGF0ZVRpbWUiKTsKICAgICAgICAgICAgdmFyIGVuZERhdGVUaW1lU3RyID0gR2V0U3RyaW5nKGRhdGEsICJlbmREYXRlVGltZSIpOwogICAgICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yRW1wdHkoc3RhcnREYXRlVGltZVN0cikgfHwgc3RyaW5nLklzTnVsbE9yRW1wdHkoZW5kRGF0ZVRpbWVTdHIpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIERhdGEgPSBuZXcgeyBzbG90Q2hlY2tSZXN1bHQgPSBuZXcgeyBhdmFpbGFibGUgPSBmYWxzZSwga2V5ID0gInZhbGlkYXRpb24tZXJyb3IiIH0gfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERhdGVUaW1lIHN0YXJ0RHQgPSBEYXRlVGltZS5NaW5WYWx1ZTsKICAgICAgICAgICAgRGF0ZVRpbWUgZW5kRHQgPSBEYXRlVGltZS5NaW5WYWx1ZTsKICAgICAgICAgICAgdHJ5CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHN0YXJ0RHQgPSBEYXRlVGltZS5QYXJzZShzdGFydERhdGVUaW1lU3RyKTsKICAgICAgICAgICAgICAgIGVuZER0ID0gRGF0ZVRpbWUuUGFyc2UoZW5kRGF0ZVRpbWVTdHIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGNhdGNoIChFeGNlcHRpb24gZXgpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgRGF0YSA9IG5ldyB7IHNsb3RDaGVja1Jlc3VsdCA9IG5ldyB7IGF2YWlsYWJsZSA9IGZhbHNlLCBrZXkgPSAidmFsaWRhdGlvbi1lcnJvciIgfSB9CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIHJlcXVlc3RlZFNsb3QgPSBzdGFydER0LlRvU3RyaW5nKCJISDptbSIpICsgIi0iICsgZW5kRHQuVG9TdHJpbmcoIkhIOm1tIik7CgogICAgICAgICAgICBib29sIGF2YWlsYWJsZSA9IGZhbHNlOwogICAgICAgICAgICBzdHJpbmcgcmVzcG9uc2VLZXkgPSBudWxsOwogICAgICAgICAgICBkeW5hbWljIHJlc29sdmVkU2xvdHMgPSBudWxsOwoKICAgICAgICAgICAgaWYgKGJvZHkgIT0gbnVsbCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgcmVzcG9uc2VLZXkgPSBHZXRTdHJpbmcoYm9keSwgImtleSIpID8/IEdldFN0cmluZyhib2R5LCAiS2V5Iik7CgogICAgICAgICAgICAgICAgZHluYW1pYyBzbG90c0NvbnRhaW5lciA9IG51bGw7CgogICAgICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KGJvZHksICJnZXRBdmFpbGFibGVTbG90cyIpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIHNsb3RzQ29udGFpbmVyID0gYm9keS5nZXRBdmFpbGFibGVTbG90czsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YU5vZGUgPSBIYXNQcm9wZXJ0eShib2R5LCAiZGF0YSIpID8gYm9keS5kYXRhIDogKEhhc1Byb3BlcnR5KGJvZHksICJEYXRhIikgPyBib2R5LkRhdGEgOiBudWxsKTsKICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YU5vZGUgIT0gbnVsbCAmJiBIYXNQcm9wZXJ0eShkYXRhTm9kZSwgImdldEF2YWlsYWJsZVNsb3RzIikpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBzbG90c0NvbnRhaW5lciA9IGRhdGFOb2RlLmdldEF2YWlsYWJsZVNsb3RzOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChkYXRhTm9kZSAhPSBudWxsICYmIEhhc1Byb3BlcnR5KGRhdGFOb2RlLCAiYXZhaWxhYmxlU2xvdHMiKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNsb3RzQ29udGFpbmVyID0gZGF0YU5vZGU7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzbG90c0NvbnRhaW5lciAhPSBudWxsICYmIEhhc1Byb3BlcnR5KHNsb3RzQ29udGFpbmVyLCAiYXZhaWxhYmxlU2xvdHMiKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICB2YXIgYXZhaWxhYmxlU2xvdHMgPSBzbG90c0NvbnRhaW5lci5hdmFpbGFibGVTbG90czsKICAgICAgICAgICAgICAgICAgICByZXNvbHZlZFNsb3RzID0gYXZhaWxhYmxlU2xvdHM7CiAgICAgICAgICAgICAgICAgICAgaWYgKGF2YWlsYWJsZVNsb3RzICE9IG51bGwpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgbGlzdCA9IGF2YWlsYWJsZVNsb3RzIGFzIElFbnVtZXJhYmxlPG9iamVjdD47CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsaXN0ICE9IG51bGwpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKHZhciBzIGluIGxpc3QpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHNsb3RTdHIgPSBzPy5Ub1N0cmluZygpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzbG90U3RyID09IHJlcXVlc3RlZFNsb3QpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdmFpbGFibGUgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGRldGFpbE1zZyA9IEdldFN0cmluZyhib2R5LCAiZGV0YWlsIik7CiAgICAgICAgICAgICAgICAgICAgaWYgKCFzdHJpbmcuSXNOdWxsT3JFbXB0eShkZXRhaWxNc2cpKQogICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgR2V0QXZhaWxhYmxlU2xvdHNFeGNlcHRpb24oZGV0YWlsTXNnKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2VLZXkgPT0gbnVsbCAmJiBIYXNQcm9wZXJ0eShib2R5LCAiaXNTdWNjZXNzIikgJiYgYm9keS5pc1N1Y2Nlc3MgPT0gZmFsc2UpCiAgICAgICAgICAgICAgICAgICAgYXZhaWxhYmxlID0gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgRGF0YSA9IG5ldwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIHNsb3RDaGVja1Jlc3VsdCA9IG5ldwogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgYXZhaWxhYmxlLAogICAgICAgICAgICAgICAgICAgICAgICBrZXkgPSByZXNwb25zZUtleSA/PyAoYXZhaWxhYmxlID8gImF2YWlsYWJsZS1zbG90cy1zdWNjZXNzIiA6ICJzbG90LXVuYXZhaWxhYmxlIiksCiAgICAgICAgICAgICAgICAgICAgICAgIHNsb3RzID0gcmVzb2x2ZWRTbG90cwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgIH0KICAgICAgICBjYXRjaCAoR2V0QXZhaWxhYmxlU2xvdHNFeGNlcHRpb24pCiAgICAgICAgewogICAgICAgICAgICB0aHJvdzsKICAgICAgICB9CiAgICAgICAgY2F0Y2ggKEV4Y2VwdGlvbiBleCkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIERhdGEgPSBuZXcKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBzbG90Q2hlY2tSZXN1bHQgPSBuZXcKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF2YWlsYWJsZSA9IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICBrZXkgPSAib3V0cHV0LWVycm9yIiwKICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IgPSBleC5NZXNzYWdlCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICB9CiAgICB9CgogICAgcHJpdmF0ZSBzdHJpbmcgR2V0U3RyaW5nKGR5bmFtaWMgb2JqLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAob2JqID09IG51bGwpIHJldHVybiBudWxsOwogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KG9iaiwgbmFtZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciB2ID0gR2V0UHJvcGVydHlWYWx1ZShvYmosIG5hbWUpOwogICAgICAgICAgICAgICAgcmV0dXJuIHY/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9Cn0K"
275
+ }
276
+ }
277
+ ]
278
+ }
279
+ ]
280
+ },
281
+ {
282
+ "key": "validating",
283
+ "stateType": 2,
284
+ "versionStrategy": "Minor",
285
+ "labels": [
286
+ {
287
+ "label": "Validating Slot",
288
+ "language": "en-US"
289
+ },
290
+ {
291
+ "label": "Slot Doğrulanıyor",
292
+ "language": "tr-TR"
293
+ }
294
+ ],
295
+ "transitions": [
296
+ {
297
+ "key": "slot-available",
298
+ "target": "confirmation",
299
+ "triggerType": 1,
300
+ "versionStrategy": "Minor",
301
+ "labels": [
302
+ {
303
+ "label": "Slot Available",
304
+ "language": "en-US"
305
+ },
306
+ {
307
+ "label": "Slot Uygun",
308
+ "language": "tr-TR"
309
+ }
310
+ ],
311
+ "rule": {
312
+ "location": "./src/SlotAvailableRule.csx",
313
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBCQlQuV29ya2Zsb3cuU2NyaXB0aW5nOwoKLy8vIDxzdW1tYXJ5PgovLy8gQ29uZGl0aW9uIG1hcHBpbmcgZm9yIHNsb3QtYXZhaWxhYmxlIGF1dG8gdHJhbnNpdGlvbiBpbiByZXplcnZhdGlvbiB2YWxpZGF0aW5nIHN0YXRlLgovLy8gUnVsZTogc2xvdENoZWNrUmVzdWx0ICE9IG51bGwgQU5EIHNsb3RDaGVja1Jlc3VsdC5hdmFpbGFibGUgPT0gdHJ1ZQovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgY2xhc3MgU2xvdEF2YWlsYWJsZVJ1bGUgOiBTY3JpcHRCYXNlLCBJQ29uZGl0aW9uTWFwcGluZwp7CiAgICBwdWJsaWMgVGFzazxib29sPiBIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChjb250ZXh0Py5JbnN0YW5jZT8uRGF0YSA9PSBudWxsKQogICAgICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChmYWxzZSk7CgogICAgICAgICAgICB2YXIgZGF0YSA9IGNvbnRleHQuSW5zdGFuY2UuRGF0YTsKICAgICAgICAgICAgaWYgKCFIYXNQcm9wZXJ0eShkYXRhLCAic2xvdENoZWNrUmVzdWx0IikgfHwgZGF0YS5zbG90Q2hlY2tSZXN1bHQgPT0gbnVsbCkKICAgICAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQoZmFsc2UpOwoKICAgICAgICAgICAgdmFyIHNsb3RDaGVja1Jlc3VsdCA9IGRhdGEuc2xvdENoZWNrUmVzdWx0OwogICAgICAgICAgICBpZiAoIUhhc1Byb3BlcnR5KHNsb3RDaGVja1Jlc3VsdCwgImF2YWlsYWJsZSIpKQogICAgICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChmYWxzZSk7CgogICAgICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KHNsb3RDaGVja1Jlc3VsdC5hdmFpbGFibGUgPT0gdHJ1ZSk7CiAgICAgICAgfQogICAgICAgIGNhdGNoIChFeGNlcHRpb24pCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KGZhbHNlKTsKICAgICAgICB9CiAgICB9Cn0K"
314
+ }
315
+ },
316
+ {
317
+ "key": "slot-unavailable",
318
+ "target": "slot-unavailable",
319
+ "triggerType": 1,
320
+ "versionStrategy": "Minor",
321
+ "labels": [
322
+ {
323
+ "label": "Slot Unavailable",
324
+ "language": "en-US"
325
+ },
326
+ {
327
+ "label": "Slot Uygun Değil",
328
+ "language": "tr-TR"
329
+ }
330
+ ],
331
+ "rule": {
332
+ "location": "./src/SlotUnavailableRule.csx",
333
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBCQlQuV29ya2Zsb3cuU2NyaXB0aW5nOwoKLy8vIDxzdW1tYXJ5PgovLy8gQ29uZGl0aW9uIG1hcHBpbmcgZm9yIHNsb3QtdW5hdmFpbGFibGUgYXV0byB0cmFuc2l0aW9uIGluIHJlemVydmF0aW9uIHZhbGlkYXRpbmcgc3RhdGUuCi8vLyBSdWxlOiBzbG90Q2hlY2tSZXN1bHQgPT0gbnVsbCBPUiBzbG90Q2hlY2tSZXN1bHQuYXZhaWxhYmxlICE9IHRydWUKLy8vIDwvc3VtbWFyeT4KcHVibGljIGNsYXNzIFNsb3RVbmF2YWlsYWJsZVJ1bGUgOiBTY3JpcHRCYXNlLCBJQ29uZGl0aW9uTWFwcGluZwp7CiAgICBwdWJsaWMgVGFzazxib29sPiBIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChjb250ZXh0Py5JbnN0YW5jZT8uRGF0YSA9PSBudWxsKQogICAgICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdCh0cnVlKTsKCiAgICAgICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZS5EYXRhOwogICAgICAgICAgICBpZiAoIUhhc1Byb3BlcnR5KGRhdGEsICJzbG90Q2hlY2tSZXN1bHQiKSB8fCBkYXRhLnNsb3RDaGVja1Jlc3VsdCA9PSBudWxsKQogICAgICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdCh0cnVlKTsKCiAgICAgICAgICAgIHZhciBzbG90Q2hlY2tSZXN1bHQgPSBkYXRhLnNsb3RDaGVja1Jlc3VsdDsKICAgICAgICAgICAgaWYgKCFIYXNQcm9wZXJ0eShzbG90Q2hlY2tSZXN1bHQsICJhdmFpbGFibGUiKSkKICAgICAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQodHJ1ZSk7CgogICAgICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KHNsb3RDaGVja1Jlc3VsdC5hdmFpbGFibGUgIT0gdHJ1ZSk7CiAgICAgICAgfQogICAgICAgIGNhdGNoIChFeGNlcHRpb24pCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KHRydWUpOwogICAgICAgIH0KICAgIH0KfQo="
334
+ }
335
+ }
336
+ ]
337
+ },
338
+ {
339
+ "key": "slot-unavailable",
340
+ "stateType": 2,
341
+ "versionStrategy": "Minor",
342
+ "labels": [
343
+ {
344
+ "label": "Slot Unavailable",
345
+ "language": "en-US"
346
+ },
347
+ {
348
+ "label": "Slot Uygun Değil",
349
+ "language": "tr-TR"
350
+ }
351
+ ],
352
+ "transitions": [
353
+ {
354
+ "key": "appointment-form-retry",
355
+ "target": "validating",
356
+ "triggerType": 0,
357
+ "versionStrategy": "Minor",
358
+ "labels": [
359
+ {
360
+ "label": "Try Again",
361
+ "language": "en-US"
362
+ },
363
+ {
364
+ "label": "Tekrar Dene",
365
+ "language": "tr-TR"
366
+ }
367
+ ],
368
+ "onExecutionTasks": [
369
+ {
370
+ "order": 1,
371
+ "task": {
372
+ "domain": "touch",
373
+ "flow": "sys-tasks",
374
+ "key": "validate-date-for-rezervation",
375
+ "version": "1.0.0"
376
+ },
377
+ "mapping": {
378
+ "location": "./src/ValidateDateForRezervationMapping.csx",
379
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBCQlQuV29ya2Zsb3cuU2NyaXB0aW5nOwp1c2luZyBCQlQuV29ya2Zsb3cuRGVmaW5pdGlvbnM7CgovLy8gPHN1bW1hcnk+Ci8vLyBTY3JpcHQgVGFzayAodHlwZSA3KSBtYXBwaW5nIGZvciB2YWxpZGF0ZS1kYXRlLWZvci1yZXplcnZhdGlvbi4KLy8vIFZhbGlkYXRlcyBzdGFydERhdGVUaW1lIGFuZCBlbmREYXRlVGltZSBmcm9tIHJlemVydmF0aW9uIGluc3RhbmNlIGRhdGEuCi8vLyBUaHJvd3MgQXJndW1lbnRFeGNlcHRpb24gaWYgZGF0ZSBpcyBpbiB0aGUgcGFzdCBvciBpbnZhbGlkOyBvdGhlcndpc2UgcmV0dXJucyBzdWNjZXNzLgovLy8gUnVucyBiZWZvcmUgdmFsaWRhdGUtc2xvdC1mb3ItcmV6ZXJ2YXRpb24gdG8gYXZvaWQgY2FsbGluZyBnZXQtYXZhaWxhYmxlLXNsb3RzIHdpdGggaW52YWxpZCBkYXRlLgovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgY2xhc3MgVmFsaWRhdGVEYXRlRm9yUmV6ZXJ2YXRpb25NYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICBpZiAoZGF0YSA9PSBudWxsKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiSW5zdGFuY2UgZGF0YSBpcyByZXF1aXJlZC4iKTsKCiAgICAgICAgdmFyIHN0YXJ0RGF0ZVRpbWVTdHIgPSBHZXRTdHJpbmcoZGF0YSwgInN0YXJ0RGF0ZVRpbWUiKTsKICAgICAgICB2YXIgZW5kRGF0ZVRpbWVTdHIgPSBHZXRTdHJpbmcoZGF0YSwgImVuZERhdGVUaW1lIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPckVtcHR5KHN0YXJ0RGF0ZVRpbWVTdHIpIHx8IHN0cmluZy5Jc051bGxPckVtcHR5KGVuZERhdGVUaW1lU3RyKSkKICAgICAgICAgICAgdGhyb3cgbmV3IEFyZ3VtZW50RXhjZXB0aW9uKCJzdGFydERhdGVUaW1lIGFuZCBlbmREYXRlVGltZSBhcmUgcmVxdWlyZWQuIiwgImRhdGUiKTsKCiAgICAgICAgRGF0ZVRpbWUgc3RhcnREdDsKICAgICAgICBpZiAoIURhdGVUaW1lLlRyeVBhcnNlKHN0YXJ0RGF0ZVRpbWVTdHIsIG91dCBzdGFydER0KSkKICAgICAgICAgICAgdGhyb3cgbmV3IEFyZ3VtZW50RXhjZXB0aW9uKCJJbnZhbGlkIHN0YXJ0RGF0ZVRpbWUgZm9ybWF0LiIsICJzdGFydERhdGVUaW1lIik7CiAgICAgICAgRGF0ZVRpbWUgZW5kRHQ7CiAgICAgICAgaWYgKCFEYXRlVGltZS5UcnlQYXJzZShlbmREYXRlVGltZVN0ciwgb3V0IGVuZER0KSkKICAgICAgICAgICAgdGhyb3cgbmV3IEFyZ3VtZW50RXhjZXB0aW9uKCJJbnZhbGlkIGVuZERhdGVUaW1lIGZvcm1hdC4iLCAiZW5kRGF0ZVRpbWUiKTsKCiAgICAgICAgdmFyIG5vdyA9IERhdGVUaW1lLlV0Y05vdzsKICAgICAgICBpZiAoc3RhcnREdCA8IG5vdyB8fCBlbmREdCA8IG5vdykKICAgICAgICAgICAgdGhyb3cgbmV3IEFyZ3VtZW50RXhjZXB0aW9uKCJEYXRlIGNhbm5vdCBiZSBpbiB0aGUgcGFzdC4iLCAiZGF0ZSIpOwogICAgICAgIGlmIChlbmREdCA8PSBzdGFydER0KQogICAgICAgICAgICB0aHJvdyBuZXcgQXJndW1lbnRFeGNlcHRpb24oImVuZERhdGVUaW1lIG11c3QgYmUgYWZ0ZXIgc3RhcnREYXRlVGltZS4iLCAiZGF0ZSIpOwoKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgVGFzazxTY3JpcHRSZXNwb25zZT4gT3V0cHV0SGFuZGxlcihTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UoKSk7CiAgICB9CgogICAgcHJpdmF0ZSBzdHJpbmcgR2V0U3RyaW5nKGR5bmFtaWMgb2JqLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAob2JqID09IG51bGwpIHJldHVybiBudWxsOwogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KG9iaiwgbmFtZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciB2ID0gR2V0UHJvcGVydHlWYWx1ZShvYmosIG5hbWUpOwogICAgICAgICAgICAgICAgcmV0dXJuIHY/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9Cn0K"
380
+ }
381
+ },
382
+ {
383
+ "order": 2,
384
+ "task": {
385
+ "domain": "touch",
386
+ "flow": "sys-tasks",
387
+ "key": "check-duplicate-rezervation",
388
+ "version": "1.0.0"
389
+ },
390
+ "mapping": {
391
+ "location": "./src/CheckDuplicateRezervationMapping.csx",
392
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gTWFwcGluZyBmb3IgY2hlY2stZHVwbGljYXRlLXJlemVydmF0aW9uIChEYXByU2VydmljZVRhc2sgLSBUeXBlIDMpLgovLy8gUXVlcmllcyByZXplcnZhdGlvbiB3b3JrZmxvdyBpbnN0YW5jZXMgdG8gZW5mb3JjZSB0d28gcnVsZXM6Ci8vLyAxLiBBIHVzZXIgY2FuIGhhdmUgYXQgbW9zdCAyIHJlc2VydmF0aW9ucyBpbiBjb25maXJtZWQgc3RhdGVzIChhY3RpdmUsIHVwZGF0ZS1jb250cm9sLCBjaGFuZ2UtYWR2aXNvciwgY2FuLXN0YXJ0LW1lZXRpbmcsIGFjY2VwdC10ZXJtcykuCi8vLyAyLiBBIHVzZXIgY2Fubm90IGhhdmUgdHdvIHJlc2VydmF0aW9ucyB3aXRoIG92ZXJsYXBwaW5nIHRpbWUgc2xvdHMuCi8vLwovLy8gRmxvdzoKLy8vIDEuIElucHV0SGFuZGxlcjogQnVpbGRzIHF1ZXJ5IHRvIGZpbmQgYWxsIGFjdGl2ZSByZXNlcnZhdGlvbnMgZm9yIHRoZSBzYW1lIHVzZXIuCi8vLyAyLiBPdXRwdXRIYW5kbGVyOiBDaGVja3MgY291bnQgKG1heCAyKSBhbmQgdGltZSBvdmVybGFwOyB0aHJvd3MgZXhjZXB0aW9uIG9uIHZpb2xhdGlvbi4KLy8vICAgIEV4Y2VwdGlvbiBmYWlscyB0aGUgdHJhbnNpdGlvbjsgaW5zdGFuY2Ugc3RheXMgaW4gaXRzIGN1cnJlbnQgc3RhdGUuCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBDaGVja0R1cGxpY2F0ZVJlemVydmF0aW9uTWFwcGluZyA6IFNjcmlwdEJhc2UsIElNYXBwaW5nCnsKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBJbnB1dEhhbmRsZXIoV29ya2Zsb3dUYXNrIHRhc2ssIFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB2YXIgc2VydmljZVRhc2sgPSB0YXNrIGFzIERhcHJTZXJ2aWNlVGFzazsKICAgICAgICBpZiAoc2VydmljZVRhc2sgPT0gbnVsbCkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIlRhc2sgbXVzdCBiZSBhIERhcHJTZXJ2aWNlVGFzayIpOwoKICAgICAgICB2YXIgYXBwSWQgPSBHZXRDb25maWdWYWx1ZSgiREFQUl9BUFBfSUQiKTsKICAgICAgICBpZiAoIXN0cmluZy5Jc051bGxPckVtcHR5KGFwcElkKSkKICAgICAgICAgICAgc2VydmljZVRhc2suU2V0QXBwSWQoYXBwSWQpOwoKICAgICAgICB2YXIgZGF0YSA9IGNvbnRleHQuSW5zdGFuY2U/LkRhdGE7CiAgICAgICAgaWYgKGRhdGEgPT0gbnVsbCB8fCAhSGFzUHJvcGVydHkoZGF0YSwgInVzZXIiKSB8fCBkYXRhLnVzZXIgPT0gbnVsbCkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIk1BWF9SRVpFUlZBVElPTjogVXNlciBmaWVsZCBpcyByZXF1aXJlZCBmb3IgZHVwbGljYXRlIGNoZWNrIik7CgogICAgICAgIHZhciB1c2VyID0gZGF0YS51c2VyLlRvU3RyaW5nKCk7CiAgICAgICAgdmFyIGN1cnJlbnRLZXkgPSBjb250ZXh0Lkluc3RhbmNlPy5LZXkgPz8gIiI7CgogICAgICAgIHZhciB1c2VyRXNjYXBlZCA9IHVzZXIuUmVwbGFjZSgiXFwiLCAiXFxcXCIpLlJlcGxhY2UoIlwiIiwgIlxcXCIiKTsKICAgICAgICB2YXIga2V5RXNjYXBlZCA9IGN1cnJlbnRLZXkuUmVwbGFjZSgiXFwiLCAiXFxcXCIpLlJlcGxhY2UoIlwiIiwgIlxcXCIiKTsKCiAgICAgICAgdmFyIHF1ZXJ5UGFyYW1zID0gbmV3IExpc3Q8c3RyaW5nPgogICAgICAgIHsKICAgICAgICAgICAgInBhZ2VTaXplPTEwIiwKICAgICAgICAgICAgImZpbHRlcj0iICsKICAgICAgICAgICAgICAgICJ7XCJhbmRcIjpbIiArCiAgICAgICAgICAgICAgICAgICAgIntcImF0dHJpYnV0ZXNcIjp7XCJ1c2VyXCI6e1wiZXFcIjpcIiIgKyB1c2VyRXNjYXBlZCArICJcIn19fSwiICsKICAgICAgICAgICAgICAgICAgICAie1wia2V5XCI6e1wibmVcIjpcIiIgKyBrZXlFc2NhcGVkICsgIlwifX0sIiArCiAgICAgICAgICAgICAgICAgICAgIntcImN1cnJlbnRTdGF0ZVwiOntcImVxXCI6XCIiICsgImFjdGl2ZSIgKyAiXCJ9fSwiICArCiAgICAgICAgICAgICAgICAiXX0iCiAgICAgICAgfTsKCiAgICAgICAgc2VydmljZVRhc2suU2V0UXVlcnlTdHJpbmcoc3RyaW5nLkpvaW4oIiYiLCBxdWVyeVBhcmFtcykpOwoKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgVGFzazxTY3JpcHRSZXNwb25zZT4gT3V0cHV0SGFuZGxlcihTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgdmFyIHJlc3BvbnNlID0gY29udGV4dC5Cb2R5OwoKICAgICAgICBpZiAocmVzcG9uc2U/LmlzU3VjY2VzcyA9PSBmYWxzZSkKICAgICAgICB7CiAgICAgICAgICAgIHZhciBlcnJvck1lc3NhZ2UgPSByZXNwb25zZT8uZXJyb3JNZXNzYWdlPy5Ub1N0cmluZygpID8/ICJTZXJ2aWNlIGNhbGwgZmFpbGVkIjsKICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbigkIlNFUlZJQ0VfRVJST1I6IHtlcnJvck1lc3NhZ2V9Iik7CiAgICAgICAgfQoKICAgICAgICB2YXIgcmVzcG9uc2VEYXRhID0gcmVzcG9uc2U/LmRhdGE7CiAgICAgICAgdmFyIGl0ZW1zID0gcmVzcG9uc2VEYXRhPy5pdGVtczsKCiAgICAgICAgaWYgKGl0ZW1zID09IG51bGwgfHwgaXRlbXMuQ291bnQgPT0gMCkKICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UoKSk7CgogICAgICAgIGludCBjb3VudCA9IGl0ZW1zLkNvdW50OwoKICAgICAgICBpZiAoY291bnQgPj0gMikKICAgICAgICB7CiAgICAgICAgICAgIHZhciB1c2VyID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YT8udXNlcj8uVG9TdHJpbmcoKSA/PyAidW5rbm93biI7CiAgICAgICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJCJNQVhfUkVaRVJWQVRJT046IFVzZXIgJ3t1c2VyfScgYWxyZWFkeSBoYXMge2NvdW50fSBhY3RpdmUgcmVzZXJ2YXRpb25zLiBNYXhpbXVtIGFsbG93ZWQgaXMgMi4iKTsKICAgICAgICB9CgogICAgICAgIHZhciBpbnN0YW5jZURhdGEgPSBjb250ZXh0Lkluc3RhbmNlPy5EYXRhOwogICAgICAgIHZhciBuZXdTdGFydFN0ciA9IEdldFN0cmluZyhpbnN0YW5jZURhdGEsICJzdGFydERhdGVUaW1lIik7CiAgICAgICAgdmFyIG5ld0VuZFN0ciA9IEdldFN0cmluZyhpbnN0YW5jZURhdGEsICJlbmREYXRlVGltZSIpOwoKICAgICAgICBpZiAoIXN0cmluZy5Jc051bGxPckVtcHR5KG5ld1N0YXJ0U3RyKSAmJiAhc3RyaW5nLklzTnVsbE9yRW1wdHkobmV3RW5kU3RyKSkKICAgICAgICB7CiAgICAgICAgICAgIERhdGVUaW1lIG5ld1N0YXJ0ID0gZGVmYXVsdCwgbmV3RW5kID0gZGVmYXVsdDsKICAgICAgICAgICAgaWYgKERhdGVUaW1lLlRyeVBhcnNlKG5ld1N0YXJ0U3RyLCBvdXQgbmV3U3RhcnQpICYmIERhdGVUaW1lLlRyeVBhcnNlKG5ld0VuZFN0ciwgb3V0IG5ld0VuZCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGZvcmVhY2ggKHZhciBpdGVtIGluIGl0ZW1zKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGlmIChpdGVtID09IG51bGwpIGNvbnRpbnVlOwoKICAgICAgICAgICAgICAgICAgICB2YXIgZXhpc3RpbmdTdGFydFN0ciA9IEdldE5lc3RlZFN0cmluZyhpdGVtLCAiYXR0cmlidXRlcyIsICJzdGFydERhdGVUaW1lIik7CiAgICAgICAgICAgICAgICAgICAgdmFyIGV4aXN0aW5nRW5kU3RyID0gR2V0TmVzdGVkU3RyaW5nKGl0ZW0sICJhdHRyaWJ1dGVzIiwgImVuZERhdGVUaW1lIik7CgogICAgICAgICAgICAgICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JFbXB0eShleGlzdGluZ1N0YXJ0U3RyKSB8fCBzdHJpbmcuSXNOdWxsT3JFbXB0eShleGlzdGluZ0VuZFN0cikpCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwoKICAgICAgICAgICAgICAgICAgICBEYXRlVGltZSBleGlzdGluZ1N0YXJ0ID0gZGVmYXVsdCwgZXhpc3RpbmdFbmQgPSBkZWZhdWx0OwogICAgICAgICAgICAgICAgICAgIGlmICghRGF0ZVRpbWUuVHJ5UGFyc2UoZXhpc3RpbmdTdGFydFN0ciwgb3V0IGV4aXN0aW5nU3RhcnQpIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICFEYXRlVGltZS5UcnlQYXJzZShleGlzdGluZ0VuZFN0ciwgb3V0IGV4aXN0aW5nRW5kKSkKICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CgogICAgICAgICAgICAgICAgICAgIGlmIChleGlzdGluZ1N0YXJ0IDwgbmV3RW5kICYmIGV4aXN0aW5nRW5kID4gbmV3U3RhcnQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgZXhpc3RpbmdLZXkgPSBIYXNQcm9wZXJ0eShpdGVtLCAia2V5IikgPyBpdGVtLmtleT8uVG9TdHJpbmcoKSA6ICJ1bmtub3duIjsKICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbigKICAgICAgICAgICAgICAgICAgICAgICAgICAgICQiVElNRV9PVkVSTEFQOiBSZXF1ZXN0ZWQgdGltZSB7bmV3U3RhcnRTdHJ9IC0ge25ld0VuZFN0cn0gb3ZlcmxhcHMgd2l0aCBleGlzdGluZyByZXNlcnZhdGlvbiAne2V4aXN0aW5nS2V5fScgKHtleGlzdGluZ1N0YXJ0U3RyfSAtIHtleGlzdGluZ0VuZFN0cn0pLiIpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UoKSk7CiAgICB9CgogICAgcHJpdmF0ZSBzdHJpbmcgR2V0U3RyaW5nKGR5bmFtaWMgb2JqLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAob2JqID09IG51bGwpIHJldHVybiBudWxsOwogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KG9iaiwgbmFtZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciB2ID0gR2V0UHJvcGVydHlWYWx1ZShvYmosIG5hbWUpOwogICAgICAgICAgICAgICAgcmV0dXJuIHY/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9CgogICAgcHJpdmF0ZSBzdHJpbmcgR2V0TmVzdGVkU3RyaW5nKGR5bmFtaWMgb2JqLCBzdHJpbmcgcGFyZW50LCBzdHJpbmcgY2hpbGQpCiAgICB7CiAgICAgICAgaWYgKG9iaiA9PSBudWxsKSByZXR1cm4gbnVsbDsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShvYmosIHBhcmVudCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciBuZXN0ZWQgPSBHZXRQcm9wZXJ0eVZhbHVlKG9iaiwgcGFyZW50KTsKICAgICAgICAgICAgICAgIGlmIChuZXN0ZWQgIT0gbnVsbCAmJiBIYXNQcm9wZXJ0eShuZXN0ZWQsIGNoaWxkKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdiA9IEdldFByb3BlcnR5VmFsdWUobmVzdGVkLCBjaGlsZCk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHY/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9Cn0K"
393
+ }
394
+ },
395
+ {
396
+ "order": 3,
397
+ "task": {
398
+ "domain": "touch",
399
+ "flow": "sys-tasks",
400
+ "key": "validate-slot-for-rezervation",
401
+ "version": "1.0.0"
402
+ },
403
+ "mapping": {
404
+ "location": "./src/ValidateSlotForRezervationMapping.csx",
405
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CnVzaW5nIFN5c3RlbS5UaHJlYWRpbmcuVGFza3M7CnVzaW5nIEJCVC5Xb3JrZmxvdy5TY3JpcHRpbmc7CnVzaW5nIEJCVC5Xb3JrZmxvdy5EZWZpbml0aW9uczsKCi8vLyA8c3VtbWFyeT4KLy8vIE1hcHBpbmcgZm9yIHZhbGlkYXRlLXNsb3QtZm9yLXJlemVydmF0aW9uIHRhc2suCi8vLyBJbnZva2VzIGdldC1hdmFpbGFibGUtc2xvdHMgZnVuY3Rpb24gd2l0aCBhZHZpc29yIGFuZCBkYXRlIGZyb20gcmV6ZXJ2YXRpb24gaW5zdGFuY2UsCi8vLyB0aGVuIGNoZWNrcyBpZiB0aGUgcmVxdWVzdGVkIHN0YXJ0RGF0ZVRpbWUtZW5kRGF0ZVRpbWUgc2xvdCBpcyBpbiB0aGUgYXZhaWxhYmxlIHNsb3RzIGxpc3QuCi8vLyBPdXRwdXQ6IHNsb3RDaGVja1Jlc3VsdCB7IGF2YWlsYWJsZTogYm9vbCwga2V5Pzogc3RyaW5nIH0gZm9yIHVzZSBieSB2YWxpZGF0aW5nIHN0YXRlIGF1dG8gdHJhbnNpdGlvbnMuCi8vLyA8L3N1bW1hcnk+CmludGVybmFsIHNlYWxlZCBjbGFzcyBHZXRBdmFpbGFibGVTbG90c0V4Y2VwdGlvbiA6IEV4Y2VwdGlvbgp7CiAgICBwdWJsaWMgR2V0QXZhaWxhYmxlU2xvdHNFeGNlcHRpb24oc3RyaW5nIG1lc3NhZ2UpIDogYmFzZShtZXNzYWdlKSB7IH0KfQoKcHVibGljIGNsYXNzIFZhbGlkYXRlU2xvdEZvclJlemVydmF0aW9uTWFwcGluZyA6IFNjcmlwdEJhc2UsIElNYXBwaW5nCnsKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBJbnB1dEhhbmRsZXIoV29ya2Zsb3dUYXNrIHRhc2ssIFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIHZhciBzZXJ2aWNlVGFzayA9IHRhc2sgYXMgRGFwclNlcnZpY2VUYXNrOwogICAgICAgICAgICBpZiAoc2VydmljZVRhc2sgPT0gbnVsbCkKICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJUYXNrIG11c3QgYmUgYSBEYXByU2VydmljZVRhc2siKTsKCiAgICAgICAgICAgIHZhciBhcHBJZCA9IEdldENvbmZpZ1ZhbHVlKCJEQVBSX0FQUF9JRCIpOwogICAgICAgICAgICBpZiAoIXN0cmluZy5Jc051bGxPckVtcHR5KGFwcElkKSkKICAgICAgICAgICAgICAgIHNlcnZpY2VUYXNrLlNldEFwcElkKGFwcElkKTsKCiAgICAgICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICAgICAgaWYgKGRhdGEgPT0gbnVsbCkKICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJJbnN0YW5jZSBkYXRhIGlzIHJlcXVpcmVkIik7CgogICAgICAgICAgICB2YXIgYWR2aXNvciA9IEdldFN0cmluZyhkYXRhLCAiYWR2aXNvciIpOwogICAgICAgICAgICB2YXIgc3RhcnREYXRlVGltZVN0ciA9IEdldFN0cmluZyhkYXRhLCAic3RhcnREYXRlVGltZSIpOwogICAgICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yRW1wdHkoYWR2aXNvcikgfHwgc3RyaW5nLklzTnVsbE9yRW1wdHkoc3RhcnREYXRlVGltZVN0cikpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgS2V5ID0gInZhbGlkYXRpb24tZXJyb3IiLAogICAgICAgICAgICAgICAgICAgIERhdGEgPSBuZXcKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNsb3RDaGVja1Jlc3VsdCA9IG5ldyB7IGF2YWlsYWJsZSA9IGZhbHNlLCBrZXkgPSAidmFsaWRhdGlvbi1lcnJvciIgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CgogICAgICAgICAgICBEYXRlVGltZSBzdGFydERhdGVUaW1lOwogICAgICAgICAgICBpZiAoIURhdGVUaW1lLlRyeVBhcnNlKHN0YXJ0RGF0ZVRpbWVTdHIsIG91dCBzdGFydERhdGVUaW1lKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBLZXkgPSAidmFsaWRhdGlvbi1lcnJvciIsCiAgICAgICAgICAgICAgICAgICAgRGF0YSA9IG5ldwogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgc2xvdENoZWNrUmVzdWx0ID0gbmV3IHsgYXZhaWxhYmxlID0gZmFsc2UsIGtleSA9ICJ2YWxpZGF0aW9uLWVycm9yIiB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHZhciBkYXRlU3RyID0gc3RhcnREYXRlVGltZS5Ub1N0cmluZygieXl5eS1NTS1kZCIpOwogICAgICAgICAgICB2YXIgcXVlcnlQYXJhbXMgPSBuZXcgTGlzdDxzdHJpbmc+CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJhZHZpc29ySWQ9IiArIFVyaS5Fc2NhcGVEYXRhU3RyaW5nKGFkdmlzb3IpLAogICAgICAgICAgICAgICAgImRhdGU9IiArIFVyaS5Fc2NhcGVEYXRhU3RyaW5nKGRhdGVTdHIpCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHNlcnZpY2VUYXNrLlNldFF1ZXJ5U3RyaW5nKHN0cmluZy5Kb2luKCImIiwgcXVlcnlQYXJhbXMpKTsKCiAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlKCkpOwogICAgICAgIH0KICAgICAgICBjYXRjaCAoRXhjZXB0aW9uIGV4KQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgS2V5ID0gImlucHV0LWVycm9yIiwKICAgICAgICAgICAgICAgIERhdGEgPSBuZXcKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBzbG90Q2hlY2tSZXN1bHQgPSBuZXcKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF2YWlsYWJsZSA9IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICBrZXkgPSAiaW5wdXQtZXJyb3IiLAogICAgICAgICAgICAgICAgICAgICAgICBlcnJvciA9IGV4Lk1lc3NhZ2UKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgIFRhc2s8U2NyaXB0UmVzcG9uc2U+IE91dHB1dEhhbmRsZXIoU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgICB2YXIgYm9keSA9IGNvbnRleHQuQm9keTsKICAgICAgICAgICAgaWYgKGJvZHkgIT0gbnVsbCAmJiBIYXNQcm9wZXJ0eShib2R5LCAiaXNTdWNjZXNzIikgJiYgYm9keS5pc1N1Y2Nlc3MgPT0gZmFsc2UpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciBlcnJOb2RlID0gSGFzUHJvcGVydHkoYm9keSwgImRhdGEiKSA/IGJvZHkuZGF0YSA6IG51bGw7CiAgICAgICAgICAgICAgICB2YXIgZGV0YWlsID0gR2V0U3RyaW5nKGVyck5vZGUsICJkZXRhaWwiKSA/PyBHZXRTdHJpbmcoYm9keSwgImVycm9yTWVzc2FnZSIpID8/IEdldFN0cmluZyhib2R5LCAiZGV0YWlsIik7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQXJndW1lbnRFeGNlcHRpb24oZGV0YWlsID8/ICJGdW5jdGlvbiBjYWxsIGZhaWxlZCIsIiIpOwogICAgICAgICAgICB9CiAgICAgICAgdHJ5CiAgICAgICAgewogICAgICAgICAgICB2YXIgZGF0YSA9IGNvbnRleHQuSW5zdGFuY2U/LkRhdGE7CiAgICAgICAgICAgIGlmIChkYXRhID09IG51bGwpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgRGF0YSA9IG5ldyB7IHNsb3RDaGVja1Jlc3VsdCA9IG5ldyB7IGF2YWlsYWJsZSA9IGZhbHNlLCBrZXkgPSAibm8taW5zdGFuY2UtZGF0YSIgfSB9CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIHN0YXJ0RGF0ZVRpbWVTdHIgPSBHZXRTdHJpbmcoZGF0YSwgInN0YXJ0RGF0ZVRpbWUiKTsKICAgICAgICAgICAgdmFyIGVuZERhdGVUaW1lU3RyID0gR2V0U3RyaW5nKGRhdGEsICJlbmREYXRlVGltZSIpOwogICAgICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yRW1wdHkoc3RhcnREYXRlVGltZVN0cikgfHwgc3RyaW5nLklzTnVsbE9yRW1wdHkoZW5kRGF0ZVRpbWVTdHIpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIERhdGEgPSBuZXcgeyBzbG90Q2hlY2tSZXN1bHQgPSBuZXcgeyBhdmFpbGFibGUgPSBmYWxzZSwga2V5ID0gInZhbGlkYXRpb24tZXJyb3IiIH0gfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERhdGVUaW1lIHN0YXJ0RHQgPSBEYXRlVGltZS5NaW5WYWx1ZTsKICAgICAgICAgICAgRGF0ZVRpbWUgZW5kRHQgPSBEYXRlVGltZS5NaW5WYWx1ZTsKICAgICAgICAgICAgdHJ5CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHN0YXJ0RHQgPSBEYXRlVGltZS5QYXJzZShzdGFydERhdGVUaW1lU3RyKTsKICAgICAgICAgICAgICAgIGVuZER0ID0gRGF0ZVRpbWUuUGFyc2UoZW5kRGF0ZVRpbWVTdHIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGNhdGNoIChFeGNlcHRpb24gZXgpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgRGF0YSA9IG5ldyB7IHNsb3RDaGVja1Jlc3VsdCA9IG5ldyB7IGF2YWlsYWJsZSA9IGZhbHNlLCBrZXkgPSAidmFsaWRhdGlvbi1lcnJvciIgfSB9CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIHJlcXVlc3RlZFNsb3QgPSBzdGFydER0LlRvU3RyaW5nKCJISDptbSIpICsgIi0iICsgZW5kRHQuVG9TdHJpbmcoIkhIOm1tIik7CgogICAgICAgICAgICBib29sIGF2YWlsYWJsZSA9IGZhbHNlOwogICAgICAgICAgICBzdHJpbmcgcmVzcG9uc2VLZXkgPSBudWxsOwogICAgICAgICAgICBkeW5hbWljIHJlc29sdmVkU2xvdHMgPSBudWxsOwoKICAgICAgICAgICAgaWYgKGJvZHkgIT0gbnVsbCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgcmVzcG9uc2VLZXkgPSBHZXRTdHJpbmcoYm9keSwgImtleSIpID8/IEdldFN0cmluZyhib2R5LCAiS2V5Iik7CgogICAgICAgICAgICAgICAgZHluYW1pYyBzbG90c0NvbnRhaW5lciA9IG51bGw7CgogICAgICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KGJvZHksICJnZXRBdmFpbGFibGVTbG90cyIpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIHNsb3RzQ29udGFpbmVyID0gYm9keS5nZXRBdmFpbGFibGVTbG90czsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YU5vZGUgPSBIYXNQcm9wZXJ0eShib2R5LCAiZGF0YSIpID8gYm9keS5kYXRhIDogKEhhc1Byb3BlcnR5KGJvZHksICJEYXRhIikgPyBib2R5LkRhdGEgOiBudWxsKTsKICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YU5vZGUgIT0gbnVsbCAmJiBIYXNQcm9wZXJ0eShkYXRhTm9kZSwgImdldEF2YWlsYWJsZVNsb3RzIikpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBzbG90c0NvbnRhaW5lciA9IGRhdGFOb2RlLmdldEF2YWlsYWJsZVNsb3RzOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChkYXRhTm9kZSAhPSBudWxsICYmIEhhc1Byb3BlcnR5KGRhdGFOb2RlLCAiYXZhaWxhYmxlU2xvdHMiKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNsb3RzQ29udGFpbmVyID0gZGF0YU5vZGU7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChzbG90c0NvbnRhaW5lciAhPSBudWxsICYmIEhhc1Byb3BlcnR5KHNsb3RzQ29udGFpbmVyLCAiYXZhaWxhYmxlU2xvdHMiKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICB2YXIgYXZhaWxhYmxlU2xvdHMgPSBzbG90c0NvbnRhaW5lci5hdmFpbGFibGVTbG90czsKICAgICAgICAgICAgICAgICAgICByZXNvbHZlZFNsb3RzID0gYXZhaWxhYmxlU2xvdHM7CiAgICAgICAgICAgICAgICAgICAgaWYgKGF2YWlsYWJsZVNsb3RzICE9IG51bGwpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgbGlzdCA9IGF2YWlsYWJsZVNsb3RzIGFzIElFbnVtZXJhYmxlPG9iamVjdD47CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsaXN0ICE9IG51bGwpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKHZhciBzIGluIGxpc3QpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHNsb3RTdHIgPSBzPy5Ub1N0cmluZygpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzbG90U3RyID09IHJlcXVlc3RlZFNsb3QpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdmFpbGFibGUgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGRldGFpbE1zZyA9IEdldFN0cmluZyhib2R5LCAiZGV0YWlsIik7CiAgICAgICAgICAgICAgICAgICAgaWYgKCFzdHJpbmcuSXNOdWxsT3JFbXB0eShkZXRhaWxNc2cpKQogICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgR2V0QXZhaWxhYmxlU2xvdHNFeGNlcHRpb24oZGV0YWlsTXNnKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2VLZXkgPT0gbnVsbCAmJiBIYXNQcm9wZXJ0eShib2R5LCAiaXNTdWNjZXNzIikgJiYgYm9keS5pc1N1Y2Nlc3MgPT0gZmFsc2UpCiAgICAgICAgICAgICAgICAgICAgYXZhaWxhYmxlID0gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgRGF0YSA9IG5ldwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIHNsb3RDaGVja1Jlc3VsdCA9IG5ldwogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgYXZhaWxhYmxlLAogICAgICAgICAgICAgICAgICAgICAgICBrZXkgPSByZXNwb25zZUtleSA/PyAoYXZhaWxhYmxlID8gImF2YWlsYWJsZS1zbG90cy1zdWNjZXNzIiA6ICJzbG90LXVuYXZhaWxhYmxlIiksCiAgICAgICAgICAgICAgICAgICAgICAgIHNsb3RzID0gcmVzb2x2ZWRTbG90cwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgIH0KICAgICAgICBjYXRjaCAoR2V0QXZhaWxhYmxlU2xvdHNFeGNlcHRpb24pCiAgICAgICAgewogICAgICAgICAgICB0aHJvdzsKICAgICAgICB9CiAgICAgICAgY2F0Y2ggKEV4Y2VwdGlvbiBleCkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIERhdGEgPSBuZXcKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBzbG90Q2hlY2tSZXN1bHQgPSBuZXcKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGF2YWlsYWJsZSA9IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICBrZXkgPSAib3V0cHV0LWVycm9yIiwKICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IgPSBleC5NZXNzYWdlCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICB9CiAgICB9CgogICAgcHJpdmF0ZSBzdHJpbmcgR2V0U3RyaW5nKGR5bmFtaWMgb2JqLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAob2JqID09IG51bGwpIHJldHVybiBudWxsOwogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KG9iaiwgbmFtZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciB2ID0gR2V0UHJvcGVydHlWYWx1ZShvYmosIG5hbWUpOwogICAgICAgICAgICAgICAgcmV0dXJuIHY/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9Cn0K"
406
+ }
407
+ }
408
+ ]
409
+ }
410
+ ],
411
+ "_comment": "## State Overview\n\n**Purpose:** Rezervasyon temel bilgilerini girmek icin kullanilir.\n\n* Tarih : Rezervasyon Tarihi\n* Saat : Rezervasyon Saati"
412
+ },
413
+ {
414
+ "key": "confirmation",
415
+ "stateType": 2,
416
+ "versionStrategy": "Minor",
417
+ "labels": [
418
+ {
419
+ "label": "Confirmation",
420
+ "language": "en-US"
421
+ },
422
+ {
423
+ "label": "Randevu Onayı",
424
+ "language": "tr-TR"
425
+ }
426
+ ],
427
+ "onEntries": [
428
+ {
429
+ "order": 1,
430
+ "task": {
431
+ "domain": "touch",
432
+ "flow": "sys-tasks",
433
+ "key": "start-absence-entry-for-rezervation",
434
+ "version": "1.0.0"
435
+ },
436
+ "mapping": {
437
+ "location": "./src/CreateAbsenceEntryForRezervationMapping.csx",
438
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBCQlQuV29ya2Zsb3cuU2NyaXB0aW5nOwp1c2luZyBCQlQuV29ya2Zsb3cuRGVmaW5pdGlvbnM7CgovLy8gPHN1bW1hcnk+Ci8vLyBNYXBwaW5nIGZvciBzdGFydC1hYnNlbmNlLWVudHJ5LWZvci1yZXplcnZhdGlvbiBTdGFydFRhc2sgKFR5cGUgMTEpLgovLy8gQ3JlYXRlcyBhbiBhYnNlbmNlLWVudHJ5IHJlemVydmF0aW9uIGluc3RhbmNlIHdoZW4gcmV6ZXJ2YXRpb24gcmVhY2hlcyBjb25maXJtYXRpb24gc3RhdGUuCi8vLyBLZXkgZm9ybWF0OiByZXplcnZhdGlvbi17YWR2aXNvcklkfS17c3RhcnREYXRlVGltZX0te2VuZERhdGVUaW1lfSAoVVJMLXNhZmU6IGNvbG9ucyByZXBsYWNlZCB3aXRoIGRhc2hlcykuCi8vLyBTdGFydCBnb2VzIGRpcmVjdGx5IHRvIGNvbXBsZXRlIHN0YXRlIChubyBzY2hlZHVsZSBuZWVkZWQpLgovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgY2xhc3MgQ3JlYXRlQWJzZW5jZUVudHJ5Rm9yUmV6ZXJ2YXRpb25NYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciBzdGFydFRhc2sgPSB0YXNrIGFzIFN0YXJ0VGFzazsKICAgICAgICBpZiAoc3RhcnRUYXNrID09IG51bGwpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJUYXNrIG11c3QgYmUgYSBTdGFydFRhc2siKTsKCiAgICAgICAgdmFyIGRhdGEgPSBjb250ZXh0Lkluc3RhbmNlPy5EYXRhOwogICAgICAgIGlmIChkYXRhID09IG51bGwgfHwgIUhhc1Byb3BlcnR5KGRhdGEsICJ1c2VyIikgfHwgIUhhc1Byb3BlcnR5KGRhdGEsICJhZHZpc29yIikgfHwKICAgICAgICAgICAgIUhhc1Byb3BlcnR5KGRhdGEsICJzdGFydERhdGVUaW1lIikgfHwgIUhhc1Byb3BlcnR5KGRhdGEsICJlbmREYXRlVGltZSIpKQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UgeyBEYXRhID0gbmV3IHsgYWJzZW5jZUVudHJ5S2V5ID0gKHN0cmluZyludWxsIH0gfSk7CiAgICAgICAgfQoKICAgICAgICB2YXIgdXNlciA9IGRhdGEudXNlcj8uVG9TdHJpbmcoKT8uVHJpbSgpOwogICAgICAgIHZhciBhZHZpc29yID0gZGF0YS5hZHZpc29yPy5Ub1N0cmluZygpPy5UcmltKCk7CiAgICAgICAgdmFyIHN0YXJ0RGF0ZVRpbWUgPSBkYXRhLnN0YXJ0RGF0ZVRpbWU/LlRvU3RyaW5nKCk/LlRyaW0oKTsKICAgICAgICB2YXIgZW5kRGF0ZVRpbWUgPSBkYXRhLmVuZERhdGVUaW1lPy5Ub1N0cmluZygpPy5UcmltKCk7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPckVtcHR5KHVzZXIpIHx8IHN0cmluZy5Jc051bGxPckVtcHR5KGFkdmlzb3IpIHx8CiAgICAgICAgICAgIHN0cmluZy5Jc051bGxPckVtcHR5KHN0YXJ0RGF0ZVRpbWUpIHx8IHN0cmluZy5Jc051bGxPckVtcHR5KGVuZERhdGVUaW1lKSkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlIHsgRGF0YSA9IG5ldyB7IGFic2VuY2VFbnRyeUtleSA9IChzdHJpbmcpbnVsbCB9IH0pOwogICAgICAgIH0KCiAgICAgICAgdmFyIGFkdmlzb3JJZCA9IE5vcm1hbGl6ZUZvcktleShhZHZpc29yKTsKICAgICAgICB2YXIgc3RhcnROb3JtID0gTm9ybWFsaXplRGF0ZVRpbWVGb3JLZXkoc3RhcnREYXRlVGltZSk7CiAgICAgICAgdmFyIGVuZE5vcm0gPSBOb3JtYWxpemVEYXRlVGltZUZvcktleShlbmREYXRlVGltZSk7CiAgICAgICAgdmFyIGFic2VuY2VFbnRyeUtleSA9ICQicmV6ZXJ2YXRpb24te2Fkdmlzb3JJZH0te3N0YXJ0Tm9ybX0te2VuZE5vcm19IjsKCiAgICAgICAgc3RhcnRUYXNrLlNldERvbWFpbigidG91Y2giKTsKICAgICAgICBzdGFydFRhc2suU2V0RmxvdygiYWJzZW5jZS1lbnRyeSIpOwogICAgICAgIHN0YXJ0VGFzay5TZXRLZXkoYWJzZW5jZUVudHJ5S2V5KTsKICAgICAgICBzdGFydFRhc2suU2V0Qm9keShuZXcKICAgICAgICB7CiAgICAgICAgICAgICAgICBhYnNlbmNlVHlwZSA9ICJyZXplcnZhdGlvbiIsCiAgICAgICAgICAgICAgICBhZHZpc29yLAogICAgICAgICAgICAgICAgc3RhcnREYXRlVGltZSwKICAgICAgICAgICAgICAgIGVuZERhdGVUaW1lLAogICAgICAgICAgICAgICAgdGl0bGUgPSAiUmFuZGV2dSIKICAgICAgICB9KTsKCiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UKICAgICAgICB7CiAgICAgICAgICAgIERhdGEgPSBuZXcgeyBhYnNlbmNlRW50cnlLZXkgfQogICAgICAgIH0pOwogICAgfQoKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBPdXRwdXRIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB2YXIgcmVzcG9uc2UgPSBuZXcgU2NyaXB0UmVzcG9uc2UoKTsKICAgICAgICBpZiAoY29udGV4dC5Cb2R5Py5pc1N1Y2Nlc3MgPT0gdHJ1ZSkKICAgICAgICB7CiAgICAgICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICAgICAgdmFyIHVzZXIgPSBkYXRhPy51c2VyPy5Ub1N0cmluZygpPy5UcmltKCk7CiAgICAgICAgICAgIHZhciBhZHZpc29yID0gZGF0YT8uYWR2aXNvcj8uVG9TdHJpbmcoKT8uVHJpbSgpOwogICAgICAgICAgICB2YXIgc3RhcnREYXRlVGltZSA9IGRhdGE/LnN0YXJ0RGF0ZVRpbWU/LlRvU3RyaW5nKCk/LlRyaW0oKTsKICAgICAgICAgICAgdmFyIGVuZERhdGVUaW1lID0gZGF0YT8uZW5kRGF0ZVRpbWU/LlRvU3RyaW5nKCk/LlRyaW0oKTsKICAgICAgICAgICAgaWYgKCFzdHJpbmcuSXNOdWxsT3JFbXB0eSh1c2VyKSAmJiAhc3RyaW5nLklzTnVsbE9yRW1wdHkoYWR2aXNvcikgJiYKICAgICAgICAgICAgICAgICFzdHJpbmcuSXNOdWxsT3JFbXB0eShzdGFydERhdGVUaW1lKSAmJiAhc3RyaW5nLklzTnVsbE9yRW1wdHkoZW5kRGF0ZVRpbWUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YXIgYWR2aXNvcklkID0gTm9ybWFsaXplRm9yS2V5KGFkdmlzb3IpOwogICAgICAgICAgICAgICAgdmFyIHN0YXJ0Tm9ybSA9IE5vcm1hbGl6ZURhdGVUaW1lRm9yS2V5KHN0YXJ0RGF0ZVRpbWUpOwogICAgICAgICAgICAgICAgdmFyIGVuZE5vcm0gPSBOb3JtYWxpemVEYXRlVGltZUZvcktleShlbmREYXRlVGltZSk7CiAgICAgICAgICAgICAgICB2YXIgYWJzZW5jZUVudHJ5S2V5ID0gJCJyZXplcnZhdGlvbi17YWR2aXNvcklkfS17c3RhcnROb3JtfS17ZW5kTm9ybX0iOwogICAgICAgICAgICAgICAgcmVzcG9uc2UuRGF0YSA9IG5ldwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGFic2VuY2VFbnRyeUtleSwKICAgICAgICAgICAgICAgICAgICBhYnNlbmNlRW50cnlSZXNwb25zZSA9IGRhdGEsCiAgICAgICAgICAgICAgICAgICAgYWJzZW5jZUVudHJ5Q3JlYXRlZCA9IHRydWUKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICByZXNwb25zZS5EYXRhID0gbmV3IHsgYWJzZW5jZUVudHJ5Q3JlYXRlZCA9IHRydWUgfTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICByZXNwb25zZS5EYXRhID0gbmV3CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGFic2VuY2VFbnRyeUNyZWF0ZWQgPSBmYWxzZSwKICAgICAgICAgICAgICAgIGVycm9yID0gY29udGV4dC5Cb2R5Py5lcnJvck1lc3NhZ2UgPz8gIkZhaWxlZCB0byBzdGFydCBhYnNlbmNlLWVudHJ5IgogICAgICAgICAgICB9OwogICAgICAgIH0KICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KHJlc3BvbnNlKTsKICAgIH0KCiAgICBwcml2YXRlICBzdHJpbmcgTm9ybWFsaXplRm9yS2V5KHN0cmluZyB2YWx1ZSkKICAgIHsKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yRW1wdHkodmFsdWUpKSByZXR1cm4gdmFsdWU7CiAgICAgICAgcmV0dXJuIHZhbHVlLlJlcGxhY2UoIjoiLCAiLSIpLlJlcGxhY2UoIiAiLCAiLSIpOwogICAgfQoKICAgIHByaXZhdGUgIHN0cmluZyBOb3JtYWxpemVEYXRlVGltZUZvcktleShzdHJpbmcgZGF0ZVRpbWVTdHIpCiAgICB7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPckVtcHR5KGRhdGVUaW1lU3RyKSkgcmV0dXJuIGRhdGVUaW1lU3RyOwogICAgICAgIHJldHVybiBkYXRlVGltZVN0ci5SZXBsYWNlKCI6IiwgIi0iKS5SZXBsYWNlKCIgIiwgIi0iKTsKICAgIH0KfQo="
439
+ }
440
+ }
441
+ ],
442
+ "transitions": [
443
+ {
444
+ "key": "create-appointment",
445
+ "target": "active",
446
+ "triggerType": 0,
447
+ "versionStrategy": "Minor",
448
+ "labels": [
449
+ {
450
+ "label": "Confirm",
451
+ "language": "en-US"
452
+ },
453
+ {
454
+ "label": "Onayla",
455
+ "language": "tr-TR"
456
+ }
457
+ ],
458
+ "onExecutionTasks": [
459
+ {
460
+ "order": 1,
461
+ "task": {
462
+ "domain": "touch",
463
+ "flow": "sys-tasks",
464
+ "key": "set-previous-advisor",
465
+ "version": "1.0.0"
466
+ },
467
+ "mapping": {
468
+ "location": "./src/SetPreviousAdvisorMapping.csx",
469
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBCQlQuV29ya2Zsb3cuU2NyaXB0aW5nOwp1c2luZyBCQlQuV29ya2Zsb3cuRGVmaW5pdGlvbnM7CgovLy8gPHN1bW1hcnk+Ci8vLyBNYXBwaW5nIGZvciBzZXQtcHJldmlvdXMtYWR2aXNvciBTY3JpcHQgVGFzayAoVHlwZSA3KS4KLy8vIFN0b3JlcyBjb250ZXh0Lkluc3RhbmNlLkRhdGEuYWR2aXNvciBhcyBwcmV2aW91c0Fkdmlzb3Igb24gdGhlIGluc3RhbmNlLgovLy8gVXNlZCB3aGVuOiAoMSkgY3JlYXRlLWFwcG9pbnRtZW50IC0gYWR2aXNvciBpcyBjdXJyZW50IGJlZm9yZSBtZXJnZTsgKDIpIHRvLWFjdGl2ZSAtIGFkdmlzb3IgaXMgdGhlIG5ldyBvbmUgYWZ0ZXIgdXBkYXRlLWNvbnRyb2wgcHJvY2Vzc2luZy4KLy8vIFNjcmlwdCB0YXNrIG9ubHkgcmV0dXJucyBPdXRwdXRIYW5kbGVyIGRhdGE7IG5vIEhUVFAgb3IgU3RhcnRUYXNrIGNhbGxzLgovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgY2xhc3MgU2V0UHJldmlvdXNBZHZpc29yTWFwcGluZyA6IFNjcmlwdEJhc2UsIElNYXBwaW5nCnsKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBJbnB1dEhhbmRsZXIoV29ya2Zsb3dUYXNrIHRhc2ssIFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgVGFzazxTY3JpcHRSZXNwb25zZT4gT3V0cHV0SGFuZGxlcihTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgdmFyIGFkdmlzb3IgPSBjb250ZXh0Lkluc3RhbmNlPy5EYXRhPy5hZHZpc29yPy5Ub1N0cmluZygpPy5UcmltKCk7CiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UKICAgICAgICB7CiAgICAgICAgICAgIEtleSA9ICJzZXQtcHJldmlvdXMtYWR2aXNvci1vdXRwdXQiLAogICAgICAgICAgICBEYXRhID0gbmV3IHsgcHJldmlvdXNBZHZpc29yID0gYWR2aXNvciA/PyAoc3RyaW5nKW51bGwgfQogICAgICAgIH0pOwogICAgfQp9Cg=="
470
+ }
471
+ },
472
+ {
473
+ "order": 2,
474
+ "task": {
475
+ "domain": "touch",
476
+ "flow": "sys-tasks",
477
+ "key": "get-user-info-for-rezervation",
478
+ "version": "1.0.0"
479
+ },
480
+ "mapping": {
481
+ "location": "./src/GetUserInfoForRezervationMapping.csx",
482
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBCQlQuV29ya2Zsb3cuU2NyaXB0aW5nOwp1c2luZyBCQlQuV29ya2Zsb3cuU2NyaXB0aW5nLkZ1bmN0aW9uczsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gTWFwcGluZyBmb3IgZ2V0LXVzZXItaW5mby1mb3ItcmV6ZXJ2YXRpb24gSHR0cFRhc2suCi8vLyBHZXRzIHVzZXIgZnJvbSBpbnN0YW5jZSBkYXRhIChzZXQgYXQgc3RhcnQgYnkgc2V0LXVzZXItZnJvbS1oZWFkZXJzLWZvci1yZXplcnZhdGlvbiBmcm9tIEhlYWRlcnMgc3ViKSwgdXNlclNlZ21lbnRCYXNlVXJsIGZyb20gdmF1bHQgKEdldFNlY3JldEFzeW5jKSwgYnVpbGRzIEdFVCB1cmwvdXNlci1pbmZvL3t1c2VyfSwgc2V0cyBVUkwgb24gSHR0cFRhc2suCi8vLyBPdXRwdXQgbWVyZ2VzIHVzZXItaW5mbyByZXNwb25zZSBhcyB1c2VySW5mbyBmb3Igb3JkZXIgMiAoc3RhcnQtbm90aWZpY2F0aW9uLXNlbmRlcikgdG8gdXNlLgovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgY2xhc3MgR2V0VXNlckluZm9Gb3JSZXplcnZhdGlvbk1hcHBpbmcgOiBTY3JpcHRCYXNlLCBJTWFwcGluZwp7CiAgICBwdWJsaWMgYXN5bmMgVGFzazxTY3JpcHRSZXNwb25zZT4gSW5wdXRIYW5kbGVyKFdvcmtmbG93VGFzayB0YXNrLCBTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgdmFyIGh0dHBUYXNrID0gdGFzayBhcyBIdHRwVGFzazsKICAgICAgICBpZiAoaHR0cFRhc2sgPT0gbnVsbCkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIlRhc2sgbXVzdCBiZSBhbiBIdHRwVGFzayIpOwoKICAgICAgICB2YXIgZGF0YSA9IGNvbnRleHQuSW5zdGFuY2U/LkRhdGE7CiAgICAgICAgdmFyIHVzZXIgPSBHZXRTdHJpbmcoZGF0YSwgInN1YiIpOwogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKHVzZXIpKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiSW5zdGFuY2UgZGF0YSBzdWIgaXMgcmVxdWlyZWQgZm9yIHVzZXItaW5mbyBjYWxsIChzZXQgYXQgc3RhcnQgZnJvbSBIZWFkZXJzIHN1YikiKTsKCiAgICAgICAgdmFyIGJhc2VVcmwgPSBhd2FpdCBHZXRTZWNyZXRBc3luYygidm5leHQtc2VjcmV0IiwgIndvcmtmbG93LXNlY3JldCIsICJVc2VyU2VnbWVudEJhc2VVcmwiKTsKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yV2hpdGVTcGFjZShiYXNlVXJsKSkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIlVzZXJTZWdtZW50QmFzZVVybCBzZWNyZXQgaXMgcmVxdWlyZWQiKTsKCiAgICAgICAgdmFyIHRyaW1tZWRCYXNlID0gYmFzZVVybC5UcmltRW5kKCcvJyk7CiAgICAgICAgdmFyIGZ1bGxVcmwgPSB0cmltbWVkQmFzZSArICIvdXNlci1pbmZvLyIgKyBVcmkuRXNjYXBlRGF0YVN0cmluZyh1c2VyLlRyaW0oKSk7CgogICAgICAgIGh0dHBUYXNrLlNldFVybChmdWxsVXJsKTsKCiAgICAgICAgcmV0dXJuIG5ldyBTY3JpcHRSZXNwb25zZSgpOwogICAgfQoKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBPdXRwdXRIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB2YXIgcmVzcG9uc2UgPSBjb250ZXh0LkJvZHk7CiAgICAgICAgdmFyIHJhdyA9IHJlc3BvbnNlPy5kYXRhID8/IHJlc3BvbnNlPy5EYXRhID8/IHJlc3BvbnNlOwogICAgICAgIHZhciB1c2VySW5mbyA9IHJhdzsKCiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UKICAgICAgICB7CiAgICAgICAgICAgIERhdGEgPSBuZXcgeyB1c2VySW5mbyB9CiAgICAgICAgfSk7CiAgICB9CgogICAgcHJpdmF0ZSBzdHJpbmcgR2V0U3RyaW5nKGR5bmFtaWMgb2JqLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAob2JqID09IG51bGwpIHJldHVybiBudWxsOwogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KG9iaiwgbmFtZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciB2ID0gR2V0UHJvcGVydHlWYWx1ZShvYmosIG5hbWUpOwogICAgICAgICAgICAgICAgcmV0dXJuIHY/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9Cn0K"
483
+ }
484
+ },
485
+ {
486
+ "order": 3,
487
+ "task": {
488
+ "domain": "touch",
489
+ "flow": "sys-tasks",
490
+ "key": "start-notification-sender",
491
+ "version": "1.0.0"
492
+ },
493
+ "mapping": {
494
+ "location": "./src/StartNotificationForRezervationFromUserInfoMapping.csx",
495
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBCQlQuV29ya2Zsb3cuU2NyaXB0aW5nOwp1c2luZyBCQlQuV29ya2Zsb3cuRGVmaW5pdGlvbnM7CgovLy8gPHN1bW1hcnk+Ci8vLyBNYXBwaW5nIGZvciBzdGFydC1ub3RpZmljYXRpb24tc2VuZGVyIHdoZW4gdHJpZ2dlcmVkIGZyb20gcmV6ZXJ2YXRpb24gc2VuZC11c2VyLW5vdGlmaWNhdGlvbiBhdXRvIHRyYW5zaXRpb24uCi8vLyBCdWlsZHMgbm90aWZpY2F0aW9uIGJvZHkgZnJvbSBvcmRlciAxIHVzZXJJbmZvICh1c2VyLWluZm8gcmVzcG9uc2UpIGFuZCByZXplcnZhdGlvbiBpbnN0YW5jZSBkYXRhLgovLy8gT24gc3VjY2VzcyByZXR1cm5zIElzTm90ZlNlbnQ6IHRydWUgc28gaW5zdGFuY2UgaXMgdXBkYXRlZCBhbmQgdGhlIGF1dG8gdHJhbnNpdGlvbiBkb2VzIG5vdCBydW4gYWdhaW4uCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBTdGFydE5vdGlmaWNhdGlvbkZvclJlemVydmF0aW9uRnJvbVVzZXJJbmZvTWFwcGluZyA6IFNjcmlwdEJhc2UsIElNYXBwaW5nCnsKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBJbnB1dEhhbmRsZXIoV29ya2Zsb3dUYXNrIHRhc2ssIFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB2YXIgc3RhcnRUYXNrID0gdGFzayBhcyBTdGFydFRhc2s7CiAgICAgICAgaWYgKHN0YXJ0VGFzayA9PSBudWxsKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiVGFzayBtdXN0IGJlIGEgU3RhcnRUYXNrIik7CgogICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICBpZiAoZGF0YSA9PSBudWxsKQogICAgICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSB7IERhdGEgPSBuZXcgeyBpc05vdGZTZW50ID0gdHJ1ZSwgdXNlck5vdGlmaWNhdGlvblN0YXJ0ZWQgPSBmYWxzZSB9IH0pOwoKICAgICAgICB2YXIgdXNlckluZm8gPSBkYXRhLnVzZXJJbmZvOwogICAgICAgIGlmICh1c2VySW5mbyA9PSBudWxsKQogICAgICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSB7IERhdGEgPSBuZXcgeyBpc05vdGZTZW50ID0gdHJ1ZSwgdXNlck5vdGlmaWNhdGlvblN0YXJ0ZWQgPSBmYWxzZSB9IH0pOwoKICAgICAgICB2YXIgaW5zdGFuY2VLZXkgPSBjb250ZXh0Lkluc3RhbmNlPy5LZXkgPz8gInVua25vd24iOwogICAgICAgIHZhciBub3RpZmljYXRpb25LZXkgPSAibm90aWZpY2F0aW9uLXVzZXItIiArIE5vcm1hbGl6ZUZvcktleShpbnN0YW5jZUtleSk7CgogICAgICAgIHN0YXJ0VGFzay5TZXREb21haW4oInRvdWNoIik7CiAgICAgICAgc3RhcnRUYXNrLlNldEZsb3coIm5vdGlmaWNhdGlvbi1zZW5kZXIiKTsKICAgICAgICBzdGFydFRhc2suU2V0S2V5KG5vdGlmaWNhdGlvbktleSk7CgogICAgICAgIHZhciBwaG9uZSA9IEdldFZhbHVlKHVzZXJJbmZvLCAicGhvbmVOdW1iZXIiKTsKICAgICAgICB2YXIgY291bnRyeUNvZGUgPSBHZXRTdHJpbmcocGhvbmUsICJjb3VudHJ5Q29kZSIpID8/ICI5MCI7CiAgICAgICAgLy8gdmFyIHByZWZpeCA9IEdldFN0cmluZyhwaG9uZSwgInByZWZpeCIpID8/ICIiOwogICAgICAgIC8vIHZhciBudW1iZXIgPSBHZXRTdHJpbmcocGhvbmUsICJudW1iZXIiKSA/PyAiIjsKICAgICAgICB2YXIgcHJlZml4ID0gIjU1NCI7CiAgICAgICAgdmFyIG51bWJlciA9ICIzODE2ODQ2IjsKICAgICAgICB2YXIgY2l0aXplbnNoaXBObyA9IEdldFN0cmluZyh1c2VySW5mbywgImNpdGl6ZW5zaGlwTnVtYmVyIikgPz8gR2V0U3RyaW5nKHVzZXJJbmZvLCAidGNrbiIpID8/ICIiOwogICAgICAgIHZhciBjdXN0b21lck5vID0gMDsKICAgICAgICBpZiAoSGFzUHJvcGVydHkodXNlckluZm8sICJjdXN0b21lcl9ubyIpKSB0cnkgeyBjdXN0b21lck5vID0gKGludCl1c2VySW5mby5jdXN0b21lcl9ubzsgfSBjYXRjaCB7IH0KICAgICAgICBlbHNlIGlmIChIYXNQcm9wZXJ0eSh1c2VySW5mbywgImN1c3RvbWVyTnVtYmVyIikpIHRyeSB7IGN1c3RvbWVyTm8gPSAoaW50KXVzZXJJbmZvLmN1c3RvbWVyTnVtYmVyOyB9IGNhdGNoIHsgfQoKICAgICAgICB2YXIgc3RhcnREYXRlVGltZSA9IEdldFN0cmluZyhkYXRhLCAic3RhcnREYXRlVGltZSIpID8/ICIiOwogICAgICAgIHZhciBlbmREYXRlVGltZSA9IEdldFN0cmluZyhkYXRhLCAiZW5kRGF0ZVRpbWUiKSA/PyAiIjsKICAgICAgICB2YXIgYWR2aXNvck5hbWUgPSBHZXRTdHJpbmcoZGF0YSwgImFkdmlzb3JOYW1lIikgPz8gR2V0U3RyaW5nKGRhdGEsICJhZHZpc29yIikgPz8gIiI7CgogICAgICAgIHZhciBib2R5ID0gbmV3CiAgICAgICAgewogICAgICAgICAgICB1c2VyVHlwZSA9ICJ1c2VyIiwKICAgICAgICAgICAgY2hhbm5lbHMgPSBuZXcgeyBzbXMgPSB0cnVlLCBwdXNoID0gdHJ1ZSB9LAogICAgICAgICAgICBoYXNSZWdpc3RlcmVkRGV2aWNlID0gdHJ1ZSwKICAgICAgICAgICAgcmVjaXBpZW50ID0gbmV3CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHBob25lID0gbmV3IHsgY291bnRyeUNvZGUsIHByZWZpeCwgbnVtYmVyIH0sCiAgICAgICAgICAgICAgICBjaXRpemVuc2hpcE5vLAogICAgICAgICAgICAgICAgY3VzdG9tZXJObwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb250ZXh0ID0gbmV3CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHJlc2VydmF0aW9uS2V5ID0gaW5zdGFuY2VLZXksCiAgICAgICAgICAgICAgICBhZHZpc29yTmFtZSwKICAgICAgICAgICAgICAgIHN0YXJ0RGF0ZVRpbWUsCiAgICAgICAgICAgICAgICBlbmREYXRlVGltZQogICAgICAgICAgICB9CiAgICAgICAgfTsKCiAgICAgICAgc3RhcnRUYXNrLlNldEJvZHkoYm9keSk7CgogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlCiAgICAgICAgewogICAgICAgICAgICBEYXRhID0gbmV3IHsgdXNlck5vdGlmaWNhdGlvbktleSA9IG5vdGlmaWNhdGlvbktleSwgdXNlck5vdGlmaWNhdGlvblN0YXJ0ZWQgPSB0cnVlIH0KICAgICAgICB9KTsKICAgIH0KCiAgICBwdWJsaWMgYXN5bmMgVGFzazxTY3JpcHRSZXNwb25zZT4gT3V0cHV0SGFuZGxlcihTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgdmFyIHJlc3BvbnNlID0gbmV3IFNjcmlwdFJlc3BvbnNlKCk7CiAgICAgICAgaWYgKGNvbnRleHQuQm9keT8uaXNTdWNjZXNzID09IHRydWUpCiAgICAgICAgewogICAgICAgICAgICByZXNwb25zZS5EYXRhID0gbmV3IHsgaXNOb3RmU2VudCA9IHRydWUsIHVzZXJOb3RpZmljYXRpb25TZW50ID0gdHJ1ZSB9OwogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICByZXNwb25zZS5EYXRhID0gbmV3CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGlzTm90ZlNlbnQgPSB0cnVlLAogICAgICAgICAgICAgICAgdXNlck5vdGlmaWNhdGlvblNlbnQgPSBmYWxzZSwKICAgICAgICAgICAgICAgIHVzZXJOb3RpZmljYXRpb25FcnJvciA9IGNvbnRleHQuQm9keT8uZXJyb3JNZXNzYWdlPy5Ub1N0cmluZygpID8/ICJGYWlsZWQgdG8gc3RhcnQgdXNlciBub3RpZmljYXRpb24iCiAgICAgICAgICAgIH07CiAgICAgICAgfQogICAgICAgIHJldHVybiByZXNwb25zZTsKICAgIH0KCiAgICBwcml2YXRlIHN0cmluZyBHZXRTdHJpbmcoZHluYW1pYyBvYmosIHN0cmluZyBuYW1lKQogICAgewogICAgICAgIGlmIChvYmogPT0gbnVsbCkgcmV0dXJuIG51bGw7CiAgICAgICAgdHJ5CiAgICAgICAgewogICAgICAgICAgICBpZiAoSGFzUHJvcGVydHkob2JqLCBuYW1lKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdmFyIHYgPSBHZXRQcm9wZXJ0eVZhbHVlKG9iaiwgbmFtZSk7CiAgICAgICAgICAgICAgICByZXR1cm4gdj8uVG9TdHJpbmcoKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjYXRjaCB7IH0KICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICBwcml2YXRlIG9iamVjdCBHZXRWYWx1ZShkeW5hbWljIG9iaiwgc3RyaW5nIG5hbWUpCiAgICB7CiAgICAgICAgaWYgKG9iaiA9PSBudWxsKSByZXR1cm4gbnVsbDsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShvYmosIG5hbWUpKQogICAgICAgICAgICAgICAgcmV0dXJuIEdldFByb3BlcnR5VmFsdWUob2JqLCBuYW1lKTsKICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9CgogICAgcHJpdmF0ZSAgc3RyaW5nIE5vcm1hbGl6ZUZvcktleShzdHJpbmcgdmFsdWUpCiAgICB7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPckVtcHR5KHZhbHVlKSkgcmV0dXJuIHZhbHVlOwogICAgICAgIHJldHVybiB2YWx1ZS5SZXBsYWNlKCI6IiwgIi0iKS5SZXBsYWNlKCIgIiwgIi0iKTsKICAgIH0KfQo="
496
+ }
497
+ }
498
+ ]
499
+ },
500
+ {
501
+ "key": "back-to-form",
502
+ "target": "appointment-form",
503
+ "triggerType": 0,
504
+ "versionStrategy": "Minor",
505
+ "labels": [
506
+ {
507
+ "label": "Back",
508
+ "language": "en-US"
509
+ },
510
+ {
511
+ "label": "Geri",
512
+ "language": "tr-TR"
513
+ }
514
+ ],
515
+ "onExecutionTasks": [
516
+ {
517
+ "order": 1,
518
+ "task": {
519
+ "domain": "touch",
520
+ "flow": "sys-tasks",
521
+ "key": "cancel-absence-entry-for-rezervation",
522
+ "version": "1.0.0"
523
+ },
524
+ "mapping": {
525
+ "location": "./src/CancelAbsenceEntryForRezervationMapping.csx",
526
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBCQlQuV29ya2Zsb3cuU2NyaXB0aW5nOwp1c2luZyBCQlQuV29ya2Zsb3cuRGVmaW5pdGlvbnM7CgovLy8gPHN1bW1hcnk+Ci8vLyBNYXBwaW5nIGZvciBjYW5jZWwtYWJzZW5jZS1lbnRyeS1mb3ItcmV6ZXJ2YXRpb24gRGlyZWN0VHJpZ2dlclRhc2sgKFR5cGUgMTIpLgovLy8gVHJpZ2dlcnMgY2FuY2VsIHRyYW5zaXRpb24gb24gdGhlIGFic2VuY2UtZW50cnkgaW5zdGFuY2Ugd2hlbiBiYWNrLXRvLWZvcm0sIHVzZXItY2FuY2VsLCBvciBhZHZpc29yLWNhbmNlbCBpcyBleGVjdXRlZC4KLy8vIFVzZXMgYWJzZW5jZUVudHJ5S2V5IGZyb20gaW5zdGFuY2UgKHNldCBpbiBjb25maXJtYXRpb24gb25FbnRyeSkuIE5vLW9wIGlmIGFic2VuY2VFbnRyeUtleSBpcyBtaXNzaW5nIChlLmcuIG9sZCBpbnN0YW5jZXMpLgovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgY2xhc3MgQ2FuY2VsQWJzZW5jZUVudHJ5Rm9yUmV6ZXJ2YXRpb25NYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciB0cmlnZ2VyVGFzayA9IHRhc2sgYXMgRGlyZWN0VHJpZ2dlclRhc2s7CiAgICAgICAgaWYgKHRyaWdnZXJUYXNrID09IG51bGwpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJUYXNrIG11c3QgYmUgYSBEaXJlY3RUcmlnZ2VyVGFzayIpOwoKICAgICAgICB2YXIgZGF0YSA9IGNvbnRleHQuSW5zdGFuY2U/LkRhdGE7CiAgICAgICAgdmFyIGFic2VuY2VFbnRyeUtleSA9IGRhdGE/LmFic2VuY2VFbnRyeUtleT8uVG9TdHJpbmcoKTsKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yRW1wdHkoYWJzZW5jZUVudHJ5S2V5KSkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIERhdGEgPSBuZXcgeyBjYW5jZWxUcmlnZ2VyZWQgPSBmYWxzZSwgcmVhc29uID0gIm5vLWFic2VuY2UtZW50cnkta2V5IiB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0KCiAgICAgICAgdHJpZ2dlclRhc2suU2V0RG9tYWluKCJ0b3VjaCIpOwogICAgICAgIHRyaWdnZXJUYXNrLlNldEZsb3coImFic2VuY2UtZW50cnkiKTsKICAgICAgICB0cmlnZ2VyVGFzay5TZXRLZXkoYWJzZW5jZUVudHJ5S2V5KTsKICAgICAgICB0cmlnZ2VyVGFzay5TZXRUcmFuc2l0aW9uTmFtZSgiY2FuY2VsIik7CiAgICAgICAgdHJpZ2dlclRhc2suU2V0Qm9keShuZXcgeyB9KTsKCiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UoKSk7CiAgICB9CgogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IE91dHB1dEhhbmRsZXIoU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciByZXNwb25zZSA9IG5ldyBTY3JpcHRSZXNwb25zZSgpOwogICAgICAgIHJlc3BvbnNlLkRhdGEgPSBuZXcKICAgICAgICB7CiAgICAgICAgICAgIGNhbmNlbFRyaWdnZXJlZCA9IGNvbnRleHQuQm9keT8uaXNTdWNjZXNzID09IHRydWUsCiAgICAgICAgICAgIGVycm9yID0gY29udGV4dC5Cb2R5Py5pc1N1Y2Nlc3MgPT0gZmFsc2UgPyAoY29udGV4dC5Cb2R5Py5lcnJvck1lc3NhZ2UgPz8gIkNhbmNlbCBmYWlsZWQiKSA6IG51bGwKICAgICAgICB9OwogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQocmVzcG9uc2UpOwogICAgfQp9Cg=="
527
+ }
528
+ }
529
+ ]
530
+ }
531
+ ]
532
+ },
533
+ {
534
+ "key": "active",
535
+ "stateType": 2,
536
+ "versionStrategy": "Minor",
537
+ "labels": [
538
+ {
539
+ "label": "Active Appointment",
540
+ "language": "en-US"
541
+ },
542
+ {
543
+ "label": "Aktif Randevu",
544
+ "language": "tr-TR"
545
+ }
546
+ ],
547
+ "onEntries": [],
548
+ "transitions": [
549
+ {
550
+ "key": "apply-update",
551
+ "target": "$self",
552
+ "triggerType": 0,
553
+ "versionStrategy": "Minor",
554
+ "labels": [
555
+ {
556
+ "label": "Apply Update",
557
+ "language": "en-US"
558
+ },
559
+ {
560
+ "label": "Güncellemeyi Uygula",
561
+ "language": "tr-TR"
562
+ }
563
+ ],
564
+ "onExecutionTasks": [
565
+ {
566
+ "order": 1,
567
+ "task": {
568
+ "domain": "touch",
569
+ "flow": "sys-tasks",
570
+ "key": "merge-rezervation-update",
571
+ "version": "1.0.0"
572
+ },
573
+ "mapping": {
574
+ "location": "./src/MergeRezervationUpdateMapping.csx",
575
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gTWVyZ2VzIGFwcGx5LXVwZGF0ZSB0cmFuc2l0aW9uIGJvZHkgaW50byByZXplcnZhdGlvbiBpbnN0YW5jZSBEYXRhLgovLy8gVXNlZCB3aGVuIHJhbmRldnUtdXBkYXRlIGZsb3cgdHJpZ2dlcnMgYXBwbHktdXBkYXRlIG9uIHJlemVydmF0aW9uLgovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgY2xhc3MgTWVyZ2VSZXplcnZhdGlvblVwZGF0ZU1hcHBpbmcgOiBTY3JpcHRCYXNlLCBJTWFwcGluZwp7CiAgICBwdWJsaWMgVGFzazxTY3JpcHRSZXNwb25zZT4gSW5wdXRIYW5kbGVyKFdvcmtmbG93VGFzayB0YXNrLCBTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UoKSk7CiAgICB9CgogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IE91dHB1dEhhbmRsZXIoU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciBpbnN0YW5jZURhdGEgPSBjb250ZXh0Lkluc3RhbmNlPy5EYXRhOwogICAgICAgIHZhciBib2R5ID0gY29udGV4dC5Cb2R5OwoKICAgICAgICB2YXIgcmVzdWx0ID0gbmV3IERpY3Rpb25hcnk8c3RyaW5nLCBvYmplY3Q+KCk7CiAgICAgICAgaWYgKGluc3RhbmNlRGF0YSAhPSBudWxsKQogICAgICAgIHsKICAgICAgICAgICAgQ29weUlmUHJlc2VudChyZXN1bHQsIGluc3RhbmNlRGF0YSwgInVzZXIiKTsKICAgICAgICAgICAgQ29weUlmUHJlc2VudChyZXN1bHQsIGluc3RhbmNlRGF0YSwgImFkdmlzb3IiKTsKICAgICAgICAgICAgQ29weUlmUHJlc2VudChyZXN1bHQsIGluc3RhbmNlRGF0YSwgInN0YXJ0RGF0ZVRpbWUiKTsKICAgICAgICAgICAgQ29weUlmUHJlc2VudChyZXN1bHQsIGluc3RhbmNlRGF0YSwgImVuZERhdGVUaW1lIik7CiAgICAgICAgICAgIENvcHlJZlByZXNlbnQocmVzdWx0LCBpbnN0YW5jZURhdGEsICJhYnNlbmNlRW50cnlLZXkiKTsKICAgICAgICAgICAgQ29weUlmUHJlc2VudChyZXN1bHQsIGluc3RhbmNlRGF0YSwgImNoYXRJbnRlZ3JhdGlvbiIpOwogICAgICAgICAgICBDb3B5SWZQcmVzZW50KHJlc3VsdCwgaW5zdGFuY2VEYXRhLCAiaW52aXRlZFVzZXIiKTsKICAgICAgICAgICAgQ29weUlmUHJlc2VudChyZXN1bHQsIGluc3RhbmNlRGF0YSwgIndlYnJ0Y0ludGVncmF0aW9uIik7CiAgICAgICAgfQoKICAgICAgICBpZiAoYm9keSAhPSBudWxsKQogICAgICAgIHsKICAgICAgICAgICAgdmFyIHN0YXJ0RGF0ZVRpbWUgPSBHZXRTdHJpbmcoYm9keSwgInN0YXJ0RGF0ZVRpbWUiKTsKICAgICAgICAgICAgdmFyIGVuZERhdGVUaW1lID0gR2V0U3RyaW5nKGJvZHksICJlbmREYXRlVGltZSIpOwogICAgICAgICAgICB2YXIgYWR2aXNvciA9IEdldFN0cmluZyhib2R5LCAiYWR2aXNvciIpOwogICAgICAgICAgICB2YXIgYWJzZW5jZUVudHJ5S2V5ID0gR2V0U3RyaW5nKGJvZHksICJhYnNlbmNlRW50cnlLZXkiKTsKICAgICAgICAgICAgdmFyIHByZXZpb3VzQWR2aXNvciA9IEdldFN0cmluZyhib2R5LCAicHJldmlvdXNBZHZpc29yIik7CgogICAgICAgICAgICBpZiAoIXN0cmluZy5Jc051bGxPckVtcHR5KHN0YXJ0RGF0ZVRpbWUpKSByZXN1bHRbInN0YXJ0RGF0ZVRpbWUiXSA9IHN0YXJ0RGF0ZVRpbWU7CiAgICAgICAgICAgIGlmICghc3RyaW5nLklzTnVsbE9yRW1wdHkoZW5kRGF0ZVRpbWUpKSByZXN1bHRbImVuZERhdGVUaW1lIl0gPSBlbmREYXRlVGltZTsKICAgICAgICAgICAgaWYgKCFzdHJpbmcuSXNOdWxsT3JFbXB0eShhZHZpc29yKSkgcmVzdWx0WyJhZHZpc29yIl0gPSBhZHZpc29yOwogICAgICAgICAgICBpZiAoIXN0cmluZy5Jc051bGxPckVtcHR5KGFic2VuY2VFbnRyeUtleSkpIHJlc3VsdFsiYWJzZW5jZUVudHJ5S2V5Il0gPSBhYnNlbmNlRW50cnlLZXk7CiAgICAgICAgICAgIGlmICghc3RyaW5nLklzTnVsbE9yRW1wdHkocHJldmlvdXNBZHZpc29yKSkgcmVzdWx0WyJwcmV2aW91c0Fkdmlzb3IiXSA9IHByZXZpb3VzQWR2aXNvcjsKICAgICAgICB9CgogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlIHsgRGF0YSA9IHJlc3VsdCB9KTsKICAgIH0KCiAgICBwcml2YXRlIHZvaWQgQ29weUlmUHJlc2VudChEaWN0aW9uYXJ5PHN0cmluZywgb2JqZWN0PiB0YXJnZXQsIGR5bmFtaWMgc291cmNlLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAoc291cmNlID09IG51bGwpIHJldHVybjsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShzb3VyY2UsIG5hbWUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YXIgdiA9IEdldFByb3BlcnR5VmFsdWUoc291cmNlLCBuYW1lKTsKICAgICAgICAgICAgICAgIGlmICh2ICE9IG51bGwpIHRhcmdldFtuYW1lXSA9IHY7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICB9CgogICAgcHJpdmF0ZSBzdHJpbmcgR2V0U3RyaW5nKGR5bmFtaWMgb2JqLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAob2JqID09IG51bGwpIHJldHVybiBudWxsOwogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KG9iaiwgbmFtZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciB2ID0gR2V0UHJvcGVydHlWYWx1ZShvYmosIG5hbWUpOwogICAgICAgICAgICAgICAgcmV0dXJuIHY/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9Cn0K"
576
+ }
577
+ }
578
+ ]
579
+ },
580
+ {
581
+ "key": "to-in-meet",
582
+ "target": "in-meet",
583
+ "triggerType": 0,
584
+ "versionStrategy": "Minor",
585
+ "labels": [
586
+ {
587
+ "label": "Enter Meeting",
588
+ "language": "en-US"
589
+ },
590
+ {
591
+ "label": "Görüşmeye Gir",
592
+ "language": "tr-TR"
593
+ }
594
+ ]
595
+ }
596
+ ]
597
+ },
598
+ {
599
+ "key": "in-meet",
600
+ "stateType": 2,
601
+ "versionStrategy": "Minor",
602
+ "labels": [
603
+ {
604
+ "label": "In Meeting",
605
+ "language": "en-US"
606
+ },
607
+ {
608
+ "label": "Görüşmede",
609
+ "language": "tr-TR"
610
+ }
611
+ ],
612
+ "transitions": [
613
+ {
614
+ "key": "video-call-url-update",
615
+ "target": "in-meet",
616
+ "triggerType": 0,
617
+ "versionStrategy": "Minor",
618
+ "labels": [
619
+ {
620
+ "label": "Video Call URL Update",
621
+ "language": "en-US"
622
+ },
623
+ {
624
+ "label": "Video Görüşme URL Güncelle",
625
+ "language": "tr-TR"
626
+ }
627
+ ],
628
+ "onExecutionTasks": [
629
+ {
630
+ "order": 1,
631
+ "task": {
632
+ "domain": "touch",
633
+ "flow": "sys-tasks",
634
+ "key": "merge-video-call-urls",
635
+ "version": "1.0.0"
636
+ },
637
+ "mapping": {
638
+ "location": "./src/VideoCallUrlUpdateMergeMapping.csx",
639
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gTWVyZ2VzIGluY29taW5nIHZpZGVvQ2FsbFVybHMgaW50byByZXplcnZhdGlvbiBpbnN0YW5jZSBkYXRhLgovLy8gQXBwZW5kcyBuZXcgZW50cmllcyB0byBleGlzdGluZyB2aWRlb0NhbGxVcmxzIGFycmF5LgovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgY2xhc3MgVmlkZW9DYWxsVXJsVXBkYXRlTWVyZ2VNYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlKCkpOwogICAgfQoKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBPdXRwdXRIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB2YXIgaW5zdGFuY2VEYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICB2YXIgaW5jb21pbmdCb2R5ID0gY29udGV4dC5Cb2R5OwogICAgICAgIHZhciBleGlzdGluZ0xpc3QgPSBHZXRWaWRlb0NhbGxVcmxzTGlzdChpbnN0YW5jZURhdGEpOwogICAgICAgIHZhciBpbmNvbWluZ0xpc3QgPSBHZXRJbmNvbWluZ0VudHJpZXMoaW5jb21pbmdCb2R5LCBpbnN0YW5jZURhdGEpOwogICAgICAgIGlmIChpbmNvbWluZ0xpc3QgIT0gbnVsbCAmJiBpbmNvbWluZ0xpc3QuQ291bnQgPiAwKQogICAgICAgIHsKICAgICAgICAgICAgZm9yZWFjaCAodmFyIGl0ZW0gaW4gaW5jb21pbmdMaXN0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpZiAoaXRlbSA9PSBudWxsIHx8IGl0ZW0uQ291bnQgPT0gMCkgY29udGludWU7CiAgICAgICAgICAgICAgICBzdHJpbmcgcGFydGljaXBhbnRJZCA9IG51bGw7CiAgICAgICAgICAgICAgICBzdHJpbmcgdXJsID0gc3RyaW5nLkVtcHR5OwogICAgICAgICAgICAgICAgZm9yZWFjaCAodmFyIGt2IGluIGl0ZW0pCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgcGFydGljaXBhbnRJZCA9IGt2LktleTsKICAgICAgICAgICAgICAgICAgICB1cmwgPSBrdi5WYWx1ZSA/PyBzdHJpbmcuRW1wdHk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yRW1wdHkocGFydGljaXBhbnRJZCkpIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgaW50IGV4aXN0aW5nSWR4ID0gLTE7CiAgICAgICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGV4aXN0aW5nTGlzdC5Db3VudDsgaSsrKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIHZhciBkID0gZXhpc3RpbmdMaXN0W2ldOwogICAgICAgICAgICAgICAgICAgIGlmIChkICE9IG51bGwgJiYgZC5Db250YWluc0tleShwYXJ0aWNpcGFudElkKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGV4aXN0aW5nSWR4ID0gaTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKGV4aXN0aW5nSWR4ID49IDApCiAgICAgICAgICAgICAgICAgICAgZXhpc3RpbmdMaXN0W2V4aXN0aW5nSWR4XVtwYXJ0aWNpcGFudElkXSA9IHVybDsKICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICBleGlzdGluZ0xpc3QuQWRkKG5ldyBEaWN0aW9uYXJ5PHN0cmluZywgc3RyaW5nPiB7IHsgcGFydGljaXBhbnRJZCwgdXJsIH0gfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciBkYXRhTGlzdCA9IG5ldyBMaXN0PERpY3Rpb25hcnk8c3RyaW5nLCBvYmplY3Q+PigpOwogICAgICAgIGZvcmVhY2ggKHZhciBkIGluIGV4aXN0aW5nTGlzdCkKICAgICAgICB7CiAgICAgICAgICAgIHZhciBvYmpEaWN0ID0gbmV3IERpY3Rpb25hcnk8c3RyaW5nLCBvYmplY3Q+KCk7CiAgICAgICAgICAgIGZvcmVhY2ggKHZhciBrdiBpbiBkKQogICAgICAgICAgICAgICAgb2JqRGljdFtrdi5LZXldID0ga3YuVmFsdWU7CiAgICAgICAgICAgIGRhdGFMaXN0LkFkZChvYmpEaWN0KTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UKICAgICAgICB7CiAgICAgICAgICAgIERhdGEgPSBuZXcgRGljdGlvbmFyeTxzdHJpbmcsIG9iamVjdD4geyB7ICJ2aWRlb0NhbGxVcmxzIiwgZGF0YUxpc3QgfSB9CiAgICAgICAgfSk7CiAgICB9CgogICAgcHJpdmF0ZSBMaXN0PERpY3Rpb25hcnk8c3RyaW5nLCBzdHJpbmc+PiBHZXRJbmNvbWluZ0VudHJpZXMoZHluYW1pYyBib2R5LCBkeW5hbWljIGluc3RhbmNlRGF0YSkKICAgIHsKICAgICAgICB2YXIgZnJvbUJvZHkgPSBUcnlHZXRWaWRlb0NhbGxVcmxUb0FkZChib2R5KTsKICAgICAgICBpZiAoZnJvbUJvZHkgIT0gbnVsbCAmJiBmcm9tQm9keS5Db3VudCA+IDApIHJldHVybiBmcm9tQm9keTsKICAgICAgICB2YXIgZnJvbUluc3RhbmNlID0gVHJ5R2V0VmlkZW9DYWxsVXJsVG9BZGQoaW5zdGFuY2VEYXRhKTsKICAgICAgICBpZiAoZnJvbUluc3RhbmNlICE9IG51bGwgJiYgZnJvbUluc3RhbmNlLkNvdW50ID4gMCkgcmV0dXJuIGZyb21JbnN0YW5jZTsKICAgICAgICBpZiAoYm9keSAhPSBudWxsKQogICAgICAgIHsKICAgICAgICAgICAgdmFyIGZyb21Cb2R5VXJscyA9IEdldFZpZGVvQ2FsbFVybHNMaXN0KGJvZHkpOwogICAgICAgICAgICBpZiAoZnJvbUJvZHlVcmxzICE9IG51bGwgJiYgZnJvbUJvZHlVcmxzLkNvdW50ID4gMCkgcmV0dXJuIGZyb21Cb2R5VXJsczsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5ldyBMaXN0PERpY3Rpb25hcnk8c3RyaW5nLCBzdHJpbmc+PigpOwogICAgfQoKICAgIHByaXZhdGUgTGlzdDxEaWN0aW9uYXJ5PHN0cmluZywgc3RyaW5nPj4gVHJ5R2V0VmlkZW9DYWxsVXJsVG9BZGQoZHluYW1pYyBzb3VyY2UpCiAgICB7CiAgICAgICAgaWYgKHNvdXJjZSA9PSBudWxsKSByZXR1cm4gbnVsbDsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmICghSGFzUHJvcGVydHkoc291cmNlLCAidmlkZW9DYWxsVXJsVG9BZGQiKSkgcmV0dXJuIG51bGw7CiAgICAgICAgICAgIHZhciB0b0FkZCA9IHNvdXJjZS52aWRlb0NhbGxVcmxUb0FkZDsKICAgICAgICAgICAgaWYgKHRvQWRkID09IG51bGwpIHJldHVybiBudWxsOwogICAgICAgICAgICB2YXIgc3RyaW5nRGljdCA9IG5ldyBEaWN0aW9uYXJ5PHN0cmluZywgc3RyaW5nPigpOwogICAgICAgICAgICB2YXIgZGljdE9iaiA9IHRvQWRkIGFzIElEaWN0aW9uYXJ5PHN0cmluZywgb2JqZWN0PjsKICAgICAgICAgICAgaWYgKGRpY3RPYmogIT0gbnVsbCAmJiBkaWN0T2JqLkNvdW50ID4gMCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgZm9yZWFjaCAodmFyIGt2IGluIGRpY3RPYmopCiAgICAgICAgICAgICAgICAgICAgc3RyaW5nRGljdFtrdi5LZXldID0ga3YuVmFsdWU/LlRvU3RyaW5nKCkgPz8gc3RyaW5nLkVtcHR5OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdmFyIGRpY3RTdHIgPSB0b0FkZCBhcyBJRGljdGlvbmFyeTxzdHJpbmcsIHN0cmluZz47CiAgICAgICAgICAgICAgICBpZiAoZGljdFN0ciA9PSBudWxsIHx8IGRpY3RTdHIuQ291bnQgPT0gMCkgcmV0dXJuIG51bGw7CiAgICAgICAgICAgICAgICBmb3JlYWNoICh2YXIga3YgaW4gZGljdFN0cikKICAgICAgICAgICAgICAgICAgICBzdHJpbmdEaWN0W2t2LktleV0gPSBrdi5WYWx1ZSA/PyBzdHJpbmcuRW1wdHk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKHN0cmluZ0RpY3QuQ291bnQgPT0gMCkgcmV0dXJuIG51bGw7CiAgICAgICAgICAgIHJldHVybiBuZXcgTGlzdDxEaWN0aW9uYXJ5PHN0cmluZywgc3RyaW5nPj4geyBzdHJpbmdEaWN0IH07CiAgICAgICAgfQogICAgICAgIGNhdGNoIHsgfQogICAgICAgIHJldHVybiBudWxsOwogICAgfQoKICAgIHByaXZhdGUgTGlzdDxEaWN0aW9uYXJ5PHN0cmluZywgc3RyaW5nPj4gR2V0VmlkZW9DYWxsVXJsc0xpc3QoZHluYW1pYyBzb3VyY2UpCiAgICB7CiAgICAgICAgaWYgKHNvdXJjZSA9PSBudWxsKSByZXR1cm4gbmV3IExpc3Q8RGljdGlvbmFyeTxzdHJpbmcsIHN0cmluZz4+KCk7CiAgICAgICAgdHJ5CiAgICAgICAgewogICAgICAgICAgICBpZiAoIUhhc1Byb3BlcnR5KHNvdXJjZSwgInZpZGVvQ2FsbFVybHMiKSkgcmV0dXJuIG5ldyBMaXN0PERpY3Rpb25hcnk8c3RyaW5nLCBzdHJpbmc+PigpOwogICAgICAgICAgICB2YXIgdXJscyA9IHNvdXJjZS52aWRlb0NhbGxVcmxzOwogICAgICAgICAgICBpZiAodXJscyA9PSBudWxsKSByZXR1cm4gbmV3IExpc3Q8RGljdGlvbmFyeTxzdHJpbmcsIHN0cmluZz4+KCk7CiAgICAgICAgICAgIHZhciBsaXN0ID0gdXJscyBhcyBJRW51bWVyYWJsZTxvYmplY3Q+OwogICAgICAgICAgICBpZiAobGlzdCA9PSBudWxsKSByZXR1cm4gbmV3IExpc3Q8RGljdGlvbmFyeTxzdHJpbmcsIHN0cmluZz4+KCk7CiAgICAgICAgICAgIHZhciByZXN1bHQgPSBuZXcgTGlzdDxEaWN0aW9uYXJ5PHN0cmluZywgc3RyaW5nPj4oKTsKICAgICAgICAgICAgZm9yZWFjaCAodmFyIGl0ZW0gaW4gbGlzdCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdmFyIGRpY3QgPSBpdGVtIGFzIElEaWN0aW9uYXJ5PHN0cmluZywgb2JqZWN0PjsKICAgICAgICAgICAgICAgIGlmIChkaWN0ICE9IG51bGwpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHN0cmluZ0RpY3QgPSBuZXcgRGljdGlvbmFyeTxzdHJpbmcsIHN0cmluZz4oKTsKICAgICAgICAgICAgICAgICAgICBmb3JlYWNoICh2YXIga3YgaW4gZGljdCkKICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nRGljdFtrdi5LZXldID0ga3YuVmFsdWU/LlRvU3RyaW5nKCkgPz8gc3RyaW5nLkVtcHR5OwogICAgICAgICAgICAgICAgICAgIHJlc3VsdC5BZGQoc3RyaW5nRGljdCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICAgICB9CiAgICAgICAgY2F0Y2gKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBuZXcgTGlzdDxEaWN0aW9uYXJ5PHN0cmluZywgc3RyaW5nPj4oKTsKICAgICAgICB9CiAgICB9Cn0K"
640
+ }
641
+ }
642
+ ]
643
+ },
644
+ {
645
+ "key": "end-meeting",
646
+ "target": "meet-completed",
647
+ "triggerType": 0,
648
+ "versionStrategy": "Minor",
649
+ "labels": [
650
+ {
651
+ "label": "End Meeting",
652
+ "language": "en-US"
653
+ },
654
+ {
655
+ "label": "Görüşmeyi Bitir",
656
+ "language": "tr-TR"
657
+ }
658
+ ]
659
+ }
660
+ ]
661
+ },
662
+ {
663
+ "key": "meet-completed",
664
+ "stateType": 3,
665
+ "versionStrategy": "Minor",
666
+ "labels": [
667
+ {
668
+ "label": "Meeting Completed",
669
+ "language": "en-US"
670
+ },
671
+ {
672
+ "label": "Görüşme Tamamlandı",
673
+ "language": "tr-TR"
674
+ }
675
+ ]
676
+ },
677
+ {
678
+ "key": "user-cancelled",
679
+ "stateType": 3,
680
+ "versionStrategy": "Minor",
681
+ "labels": [
682
+ {
683
+ "label": "Cancelled by User",
684
+ "language": "en-US"
685
+ },
686
+ {
687
+ "label": "Kullanıcı Tarafından İptal Edildi",
688
+ "language": "tr-TR"
689
+ }
690
+ ]
691
+ },
692
+ {
693
+ "key": "advisor-cancelled",
694
+ "stateType": 3,
695
+ "versionStrategy": "Minor",
696
+ "labels": [
697
+ {
698
+ "label": "Cancelled by Advisor",
699
+ "language": "en-US"
700
+ },
701
+ {
702
+ "label": "Danışman Tarafından İptal Edildi",
703
+ "language": "tr-TR"
704
+ }
705
+ ]
706
+ },
707
+ {
708
+ "key": "timeout",
709
+ "stateType": 3,
710
+ "versionStrategy": "Minor",
711
+ "labels": [
712
+ {
713
+ "label": "Timeout",
714
+ "language": "en-US"
715
+ },
716
+ {
717
+ "label": "Zaman Aşımı",
718
+ "language": "tr-TR"
719
+ }
720
+ ]
721
+ }
722
+ ],
723
+ "subFlowType": "S",
724
+ "timeout": null
725
+ }
726
+ }