gtm-attio 0.23.0__tar.gz

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 (228) hide show
  1. gtm_attio-0.23.0/LICENSE +21 -0
  2. gtm_attio-0.23.0/PKG-INFO +793 -0
  3. gtm_attio-0.23.0/README.md +779 -0
  4. gtm_attio-0.23.0/pyproject.toml +55 -0
  5. gtm_attio-0.23.0/setup.cfg +4 -0
  6. gtm_attio-0.23.0/src/attio/__init__.py +17 -0
  7. gtm_attio-0.23.0/src/attio/_hooks/__init__.py +4 -0
  8. gtm_attio-0.23.0/src/attio/_hooks/oauth2scopes.py +100 -0
  9. gtm_attio-0.23.0/src/attio/_hooks/registration.py +13 -0
  10. gtm_attio-0.23.0/src/attio/_hooks/sdkhooks.py +74 -0
  11. gtm_attio-0.23.0/src/attio/_hooks/types.py +124 -0
  12. gtm_attio-0.23.0/src/attio/_version.py +15 -0
  13. gtm_attio-0.23.0/src/attio/attributes.py +2474 -0
  14. gtm_attio-0.23.0/src/attio/basesdk.py +392 -0
  15. gtm_attio-0.23.0/src/attio/call_recordings.py +880 -0
  16. gtm_attio-0.23.0/src/attio/comments.py +598 -0
  17. gtm_attio-0.23.0/src/attio/emails.py +256 -0
  18. gtm_attio-0.23.0/src/attio/entries.py +1852 -0
  19. gtm_attio-0.23.0/src/attio/errors/__init__.py +726 -0
  20. gtm_attio-0.23.0/src/attio/errors/delete_v2_comments_comment_id_op.py +36 -0
  21. gtm_attio-0.23.0/src/attio/errors/delete_v2_files_file_id_op.py +34 -0
  22. gtm_attio-0.23.0/src/attio/errors/delete_v2_lists_list_entries_entry_id_op.py +36 -0
  23. gtm_attio-0.23.0/src/attio/errors/delete_v2_meetings_meeting_id_call_recordings_call_recording_id_op.py +40 -0
  24. gtm_attio-0.23.0/src/attio/errors/delete_v2_notes_note_id_op.py +34 -0
  25. gtm_attio-0.23.0/src/attio/errors/delete_v2_objects_object_records_record_id_op.py +36 -0
  26. gtm_attio-0.23.0/src/attio/errors/delete_v2_tasks_task_id_op.py +34 -0
  27. gtm_attio-0.23.0/src/attio/errors/delete_v2_webhooks_webhook_id_op.py +36 -0
  28. gtm_attio-0.23.0/src/attio/errors/get_v2_comments_comment_id_op.py +36 -0
  29. gtm_attio-0.23.0/src/attio/errors/get_v2_files_file_id_op.py +34 -0
  30. gtm_attio-0.23.0/src/attio/errors/get_v2_lists_list_entries_entry_id_attributes_attribute_valuesop.py +38 -0
  31. gtm_attio-0.23.0/src/attio/errors/get_v2_lists_list_entries_entry_id_op.py +36 -0
  32. gtm_attio-0.23.0/src/attio/errors/get_v2_lists_list_op.py +34 -0
  33. gtm_attio-0.23.0/src/attio/errors/get_v2_lists_list_viewsop.py +34 -0
  34. gtm_attio-0.23.0/src/attio/errors/get_v2_meetings_meeting_id_call_recordings_call_recording_id_op.py +38 -0
  35. gtm_attio-0.23.0/src/attio/errors/get_v2_meetings_meeting_id_op.py +36 -0
  36. gtm_attio-0.23.0/src/attio/errors/get_v2_notes_note_id_op.py +34 -0
  37. gtm_attio-0.23.0/src/attio/errors/get_v2_notesop.py +34 -0
  38. gtm_attio-0.23.0/src/attio/errors/get_v2_objects_object_op.py +34 -0
  39. gtm_attio-0.23.0/src/attio/errors/get_v2_objects_object_records_record_id_attributes_attribute_valuesop.py +71 -0
  40. gtm_attio-0.23.0/src/attio/errors/get_v2_objects_object_records_record_id_op.py +36 -0
  41. gtm_attio-0.23.0/src/attio/errors/get_v2_objects_object_viewsop.py +36 -0
  42. gtm_attio-0.23.0/src/attio/errors/get_v2_target_identifier_attributes_attribute_op.py +36 -0
  43. gtm_attio-0.23.0/src/attio/errors/get_v2_target_identifier_attributes_attribute_optionsop.py +38 -0
  44. gtm_attio-0.23.0/src/attio/errors/get_v2_target_identifier_attributes_attribute_statusesop.py +38 -0
  45. gtm_attio-0.23.0/src/attio/errors/get_v2_tasks_task_id_op.py +34 -0
  46. gtm_attio-0.23.0/src/attio/errors/get_v2_threads_thread_id_op.py +36 -0
  47. gtm_attio-0.23.0/src/attio/errors/get_v2_webhooks_webhook_id_op.py +36 -0
  48. gtm_attio-0.23.0/src/attio/errors/get_v2_workspace_members_workspace_member_id_op.py +36 -0
  49. gtm_attio-0.23.0/src/attio/errors/no_response_error.py +17 -0
  50. gtm_attio-0.23.0/src/attio/errors/patch_v2_lists_list_entries_entry_id_op.py +61 -0
  51. gtm_attio-0.23.0/src/attio/errors/patch_v2_lists_list_op.py +59 -0
  52. gtm_attio-0.23.0/src/attio/errors/patch_v2_objects_object_op.py +84 -0
  53. gtm_attio-0.23.0/src/attio/errors/patch_v2_objects_object_records_record_id_op.py +61 -0
  54. gtm_attio-0.23.0/src/attio/errors/patch_v2_target_identifier_attributes_attribute_op.py +63 -0
  55. gtm_attio-0.23.0/src/attio/errors/patch_v2_target_identifier_attributes_attribute_options_option_op.py +102 -0
  56. gtm_attio-0.23.0/src/attio/errors/patch_v2_target_identifier_attributes_attribute_statuses_status_op.py +102 -0
  57. gtm_attio-0.23.0/src/attio/errors/patch_v2_tasks_task_id_op.py +59 -0
  58. gtm_attio-0.23.0/src/attio/errors/patch_v2_webhooks_webhook_id_op.py +36 -0
  59. gtm_attio-0.23.0/src/attio/errors/post_v2_commentsop.py +36 -0
  60. gtm_attio-0.23.0/src/attio/errors/post_v2_files_uploadop.py +34 -0
  61. gtm_attio-0.23.0/src/attio/errors/post_v2_lists_list_entries_queryop.py +36 -0
  62. gtm_attio-0.23.0/src/attio/errors/post_v2_lists_list_entriesop.py +61 -0
  63. gtm_attio-0.23.0/src/attio/errors/post_v2_listsop.py +109 -0
  64. gtm_attio-0.23.0/src/attio/errors/post_v2_meetings_meeting_id_call_recordingsop.py +88 -0
  65. gtm_attio-0.23.0/src/attio/errors/post_v2_meetingsop.py +36 -0
  66. gtm_attio-0.23.0/src/attio/errors/post_v2_notesop.py +59 -0
  67. gtm_attio-0.23.0/src/attio/errors/post_v2_objects_object_records_mergeop.py +86 -0
  68. gtm_attio-0.23.0/src/attio/errors/post_v2_objects_object_records_queryop.py +61 -0
  69. gtm_attio-0.23.0/src/attio/errors/post_v2_objects_object_recordsop.py +65 -0
  70. gtm_attio-0.23.0/src/attio/errors/post_v2_objects_records_searchop.py +38 -0
  71. gtm_attio-0.23.0/src/attio/errors/post_v2_objectsop.py +59 -0
  72. gtm_attio-0.23.0/src/attio/errors/post_v2_sqlop.py +34 -0
  73. gtm_attio-0.23.0/src/attio/errors/post_v2_target_identifier_attributes_attribute_optionsop.py +94 -0
  74. gtm_attio-0.23.0/src/attio/errors/post_v2_target_identifier_attributes_attribute_statusesop.py +94 -0
  75. gtm_attio-0.23.0/src/attio/errors/post_v2_target_identifier_attributesop.py +86 -0
  76. gtm_attio-0.23.0/src/attio/errors/post_v2_tasksop.py +59 -0
  77. gtm_attio-0.23.0/src/attio/errors/post_v2_webhooksop.py +34 -0
  78. gtm_attio-0.23.0/src/attio/errors/put_v2_lists_list_entries_entry_id_op.py +61 -0
  79. gtm_attio-0.23.0/src/attio/errors/put_v2_lists_list_entriesop.py +61 -0
  80. gtm_attio-0.23.0/src/attio/errors/put_v2_objects_object_records_record_id_op.py +61 -0
  81. gtm_attio-0.23.0/src/attio/errors/put_v2_objects_object_recordsop.py +61 -0
  82. gtm_attio-0.23.0/src/attio/errors/responsevalidationerror.py +27 -0
  83. gtm_attio-0.23.0/src/attio/errors/sdkdefaulterror.py +40 -0
  84. gtm_attio-0.23.0/src/attio/errors/sdkerror.py +30 -0
  85. gtm_attio-0.23.0/src/attio/files.py +1172 -0
  86. gtm_attio-0.23.0/src/attio/httpclient.py +125 -0
  87. gtm_attio-0.23.0/src/attio/lists.py +1002 -0
  88. gtm_attio-0.23.0/src/attio/meetings.py +622 -0
  89. gtm_attio-0.23.0/src/attio/meta.py +188 -0
  90. gtm_attio-0.23.0/src/attio/models/__init__.py +9256 -0
  91. gtm_attio-0.23.0/src/attio/models/attribute.py +389 -0
  92. gtm_attio-0.23.0/src/attio/models/comment.py +228 -0
  93. gtm_attio-0.23.0/src/attio/models/connected_file.py +156 -0
  94. gtm_attio-0.23.0/src/attio/models/connected_folder.py +156 -0
  95. gtm_attio-0.23.0/src/attio/models/delete_v2_comments_comment_id_op.py +31 -0
  96. gtm_attio-0.23.0/src/attio/models/delete_v2_files_file_id_op.py +31 -0
  97. gtm_attio-0.23.0/src/attio/models/delete_v2_lists_list_entries_entry_id_op.py +39 -0
  98. gtm_attio-0.23.0/src/attio/models/delete_v2_meetings_meeting_id_call_recordings_call_recording_id_op.py +40 -0
  99. gtm_attio-0.23.0/src/attio/models/delete_v2_notes_note_id_op.py +31 -0
  100. gtm_attio-0.23.0/src/attio/models/delete_v2_objects_object_records_record_id_op.py +36 -0
  101. gtm_attio-0.23.0/src/attio/models/delete_v2_tasks_task_id_op.py +31 -0
  102. gtm_attio-0.23.0/src/attio/models/delete_v2_webhooks_webhook_id_op.py +31 -0
  103. gtm_attio-0.23.0/src/attio/models/email.py +150 -0
  104. gtm_attio-0.23.0/src/attio/models/file.py +166 -0
  105. gtm_attio-0.23.0/src/attio/models/folder.py +156 -0
  106. gtm_attio-0.23.0/src/attio/models/get_v2_comments_comment_id_op.py +36 -0
  107. gtm_attio-0.23.0/src/attio/models/get_v2_emailsop.py +135 -0
  108. gtm_attio-0.23.0/src/attio/models/get_v2_files_file_id_downloadop.py +24 -0
  109. gtm_attio-0.23.0/src/attio/models/get_v2_files_file_id_op.py +215 -0
  110. gtm_attio-0.23.0/src/attio/models/get_v2_filesop.py +137 -0
  111. gtm_attio-0.23.0/src/attio/models/get_v2_lists_list_entries_entry_id_attributes_attribute_valuesop.py +3011 -0
  112. gtm_attio-0.23.0/src/attio/models/get_v2_lists_list_entries_entry_id_op.py +2617 -0
  113. gtm_attio-0.23.0/src/attio/models/get_v2_lists_list_op.py +39 -0
  114. gtm_attio-0.23.0/src/attio/models/get_v2_lists_list_viewsop.py +99 -0
  115. gtm_attio-0.23.0/src/attio/models/get_v2_listsop.py +19 -0
  116. gtm_attio-0.23.0/src/attio/models/get_v2_meetings_meeting_id_call_recordings_call_recording_id_op.py +244 -0
  117. gtm_attio-0.23.0/src/attio/models/get_v2_meetings_meeting_id_call_recordings_call_recording_id_transcriptop.py +190 -0
  118. gtm_attio-0.23.0/src/attio/models/get_v2_meetings_meeting_id_call_recordingsop.py +192 -0
  119. gtm_attio-0.23.0/src/attio/models/get_v2_meetings_meeting_id_op.py +36 -0
  120. gtm_attio-0.23.0/src/attio/models/get_v2_meetingsop.py +151 -0
  121. gtm_attio-0.23.0/src/attio/models/get_v2_notes_note_id_op.py +36 -0
  122. gtm_attio-0.23.0/src/attio/models/get_v2_notesop.py +72 -0
  123. gtm_attio-0.23.0/src/attio/models/get_v2_objects_object_op.py +36 -0
  124. gtm_attio-0.23.0/src/attio/models/get_v2_objects_object_records_record_id_attributes_attribute_valuesop.py +3040 -0
  125. gtm_attio-0.23.0/src/attio/models/get_v2_objects_object_records_record_id_entriesop.py +88 -0
  126. gtm_attio-0.23.0/src/attio/models/get_v2_objects_object_records_record_id_op.py +2652 -0
  127. gtm_attio-0.23.0/src/attio/models/get_v2_objects_object_viewsop.py +96 -0
  128. gtm_attio-0.23.0/src/attio/models/get_v2_objectsop.py +19 -0
  129. gtm_attio-0.23.0/src/attio/models/get_v2_selfop.py +152 -0
  130. gtm_attio-0.23.0/src/attio/models/get_v2_target_identifier_attributes_attribute_op.py +56 -0
  131. gtm_attio-0.23.0/src/attio/models/get_v2_target_identifier_attributes_attribute_optionsop.py +79 -0
  132. gtm_attio-0.23.0/src/attio/models/get_v2_target_identifier_attributes_attribute_statusesop.py +79 -0
  133. gtm_attio-0.23.0/src/attio/models/get_v2_target_identifier_attributesop.py +80 -0
  134. gtm_attio-0.23.0/src/attio/models/get_v2_tasks_task_id_op.py +36 -0
  135. gtm_attio-0.23.0/src/attio/models/get_v2_tasksop.py +114 -0
  136. gtm_attio-0.23.0/src/attio/models/get_v2_threads_thread_id_op.py +36 -0
  137. gtm_attio-0.23.0/src/attio/models/get_v2_threadsop.py +82 -0
  138. gtm_attio-0.23.0/src/attio/models/get_v2_webhooks_webhook_id_op.py +305 -0
  139. gtm_attio-0.23.0/src/attio/models/get_v2_webhooksop.py +315 -0
  140. gtm_attio-0.23.0/src/attio/models/get_v2_workspace_members_workspace_member_id_op.py +36 -0
  141. gtm_attio-0.23.0/src/attio/models/get_v2_workspace_membersop.py +19 -0
  142. gtm_attio-0.23.0/src/attio/models/input_value_union.py +1445 -0
  143. gtm_attio-0.23.0/src/attio/models/list.py +163 -0
  144. gtm_attio-0.23.0/src/attio/models/list_view.py +43 -0
  145. gtm_attio-0.23.0/src/attio/models/meeting.py +303 -0
  146. gtm_attio-0.23.0/src/attio/models/note.py +217 -0
  147. gtm_attio-0.23.0/src/attio/models/object.py +63 -0
  148. gtm_attio-0.23.0/src/attio/models/object_view.py +43 -0
  149. gtm_attio-0.23.0/src/attio/models/output_value.py +1211 -0
  150. gtm_attio-0.23.0/src/attio/models/patch_v2_lists_list_entries_entry_id_op.py +2678 -0
  151. gtm_attio-0.23.0/src/attio/models/patch_v2_lists_list_op.py +150 -0
  152. gtm_attio-0.23.0/src/attio/models/patch_v2_objects_object_op.py +99 -0
  153. gtm_attio-0.23.0/src/attio/models/patch_v2_objects_object_records_record_id_op.py +2708 -0
  154. gtm_attio-0.23.0/src/attio/models/patch_v2_target_identifier_attributes_attribute_op.py +361 -0
  155. gtm_attio-0.23.0/src/attio/models/patch_v2_target_identifier_attributes_attribute_options_option_op.py +140 -0
  156. gtm_attio-0.23.0/src/attio/models/patch_v2_target_identifier_attributes_attribute_statuses_status_op.py +161 -0
  157. gtm_attio-0.23.0/src/attio/models/patch_v2_tasks_task_id_op.py +664 -0
  158. gtm_attio-0.23.0/src/attio/models/patch_v2_webhooks_webhook_id_op.py +584 -0
  159. gtm_attio-0.23.0/src/attio/models/post_v2_commentsop.py +302 -0
  160. gtm_attio-0.23.0/src/attio/models/post_v2_files_uploadop.py +127 -0
  161. gtm_attio-0.23.0/src/attio/models/post_v2_filesop.py +255 -0
  162. gtm_attio-0.23.0/src/attio/models/post_v2_lists_list_entries_queryop.py +2782 -0
  163. gtm_attio-0.23.0/src/attio/models/post_v2_lists_list_entriesop.py +2651 -0
  164. gtm_attio-0.23.0/src/attio/models/post_v2_listsop.py +130 -0
  165. gtm_attio-0.23.0/src/attio/models/post_v2_meetings_meeting_id_call_recordingsop.py +305 -0
  166. gtm_attio-0.23.0/src/attio/models/post_v2_meetingsop.py +317 -0
  167. gtm_attio-0.23.0/src/attio/models/post_v2_notesop.py +146 -0
  168. gtm_attio-0.23.0/src/attio/models/post_v2_objects_object_records_mergeop.py +147 -0
  169. gtm_attio-0.23.0/src/attio/models/post_v2_objects_object_records_queryop.py +2780 -0
  170. gtm_attio-0.23.0/src/attio/models/post_v2_objects_object_recordsop.py +2633 -0
  171. gtm_attio-0.23.0/src/attio/models/post_v2_objects_records_searchop.py +336 -0
  172. gtm_attio-0.23.0/src/attio/models/post_v2_objectsop.py +59 -0
  173. gtm_attio-0.23.0/src/attio/models/post_v2_sqlop.py +42 -0
  174. gtm_attio-0.23.0/src/attio/models/post_v2_target_identifier_attributes_attribute_optionsop.py +100 -0
  175. gtm_attio-0.23.0/src/attio/models/post_v2_target_identifier_attributes_attribute_statusesop.py +138 -0
  176. gtm_attio-0.23.0/src/attio/models/post_v2_target_identifier_attributesop.py +395 -0
  177. gtm_attio-0.23.0/src/attio/models/post_v2_tasksop.py +646 -0
  178. gtm_attio-0.23.0/src/attio/models/post_v2_webhooksop.py +536 -0
  179. gtm_attio-0.23.0/src/attio/models/put_v2_lists_list_entries_entry_id_op.py +2673 -0
  180. gtm_attio-0.23.0/src/attio/models/put_v2_lists_list_entriesop.py +2663 -0
  181. gtm_attio-0.23.0/src/attio/models/put_v2_objects_object_records_record_id_op.py +2687 -0
  182. gtm_attio-0.23.0/src/attio/models/put_v2_objects_object_recordsop.py +2655 -0
  183. gtm_attio-0.23.0/src/attio/models/security.py +21 -0
  184. gtm_attio-0.23.0/src/attio/models/select_option.py +48 -0
  185. gtm_attio-0.23.0/src/attio/models/status.py +73 -0
  186. gtm_attio-0.23.0/src/attio/models/task.py +176 -0
  187. gtm_attio-0.23.0/src/attio/models/thread.py +40 -0
  188. gtm_attio-0.23.0/src/attio/models/workspace_member.py +82 -0
  189. gtm_attio-0.23.0/src/attio/notes.py +782 -0
  190. gtm_attio-0.23.0/src/attio/objects.py +1000 -0
  191. gtm_attio-0.23.0/src/attio/py.typed +1 -0
  192. gtm_attio-0.23.0/src/attio/records.py +2596 -0
  193. gtm_attio-0.23.0/src/attio/sdk.py +245 -0
  194. gtm_attio-0.23.0/src/attio/sdkconfiguration.py +49 -0
  195. gtm_attio-0.23.0/src/attio/sql.py +206 -0
  196. gtm_attio-0.23.0/src/attio/tasks.py +1014 -0
  197. gtm_attio-0.23.0/src/attio/threads.py +418 -0
  198. gtm_attio-0.23.0/src/attio/transcripts.py +210 -0
  199. gtm_attio-0.23.0/src/attio/types/__init__.py +24 -0
  200. gtm_attio-0.23.0/src/attio/types/base64fileinput.py +43 -0
  201. gtm_attio-0.23.0/src/attio/types/basemodel.py +77 -0
  202. gtm_attio-0.23.0/src/attio/utils/__init__.py +177 -0
  203. gtm_attio-0.23.0/src/attio/utils/annotations.py +79 -0
  204. gtm_attio-0.23.0/src/attio/utils/datetimes.py +37 -0
  205. gtm_attio-0.23.0/src/attio/utils/dynamic_imports.py +54 -0
  206. gtm_attio-0.23.0/src/attio/utils/enums.py +134 -0
  207. gtm_attio-0.23.0/src/attio/utils/eventstreaming.py +326 -0
  208. gtm_attio-0.23.0/src/attio/utils/forms.py +239 -0
  209. gtm_attio-0.23.0/src/attio/utils/headers.py +136 -0
  210. gtm_attio-0.23.0/src/attio/utils/logger.py +22 -0
  211. gtm_attio-0.23.0/src/attio/utils/metadata.py +119 -0
  212. gtm_attio-0.23.0/src/attio/utils/queryparams.py +217 -0
  213. gtm_attio-0.23.0/src/attio/utils/requestbodies.py +67 -0
  214. gtm_attio-0.23.0/src/attio/utils/retries.py +356 -0
  215. gtm_attio-0.23.0/src/attio/utils/security.py +198 -0
  216. gtm_attio-0.23.0/src/attio/utils/serializers.py +306 -0
  217. gtm_attio-0.23.0/src/attio/utils/unmarshal_json_response.py +38 -0
  218. gtm_attio-0.23.0/src/attio/utils/url.py +155 -0
  219. gtm_attio-0.23.0/src/attio/utils/values.py +137 -0
  220. gtm_attio-0.23.0/src/attio/webhooks.py +982 -0
  221. gtm_attio-0.23.0/src/attio/workspace_members.py +366 -0
  222. gtm_attio-0.23.0/src/gtm_attio.egg-info/PKG-INFO +793 -0
  223. gtm_attio-0.23.0/src/gtm_attio.egg-info/SOURCES.txt +226 -0
  224. gtm_attio-0.23.0/src/gtm_attio.egg-info/dependency_links.txt +1 -0
  225. gtm_attio-0.23.0/src/gtm_attio.egg-info/requires.txt +3 -0
  226. gtm_attio-0.23.0/src/gtm_attio.egg-info/top_level.txt +1 -0
  227. gtm_attio-0.23.0/tests/test_live_api.py +100 -0
  228. gtm_attio-0.23.0/tests/test_unmarshal.py +105 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 elviskahoro
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.