slack-api-sdk-apimatic 1.1.1__py3-none-any.whl

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 (433) hide show
  1. slack_api_sdk_apimatic-1.1.1.dist-info/METADATA +206 -0
  2. slack_api_sdk_apimatic-1.1.1.dist-info/RECORD +433 -0
  3. slack_api_sdk_apimatic-1.1.1.dist-info/WHEEL +5 -0
  4. slack_api_sdk_apimatic-1.1.1.dist-info/licenses/LICENSE +28 -0
  5. slack_api_sdk_apimatic-1.1.1.dist-info/top_level.txt +1 -0
  6. slackwebapi/__init__.py +13 -0
  7. slackwebapi/api_helper.py +19 -0
  8. slackwebapi/configuration.py +252 -0
  9. slackwebapi/controllers/__init__.py +61 -0
  10. slackwebapi/controllers/admin_apps_approved_controller.py +101 -0
  11. slackwebapi/controllers/admin_apps_controller.py +153 -0
  12. slackwebapi/controllers/admin_apps_requests_controller.py +96 -0
  13. slackwebapi/controllers/admin_apps_restricted_controller.py +101 -0
  14. slackwebapi/controllers/admin_conversations_controller.py +895 -0
  15. slackwebapi/controllers/admin_conversations_ekm_controller.py +107 -0
  16. slackwebapi/controllers/admin_conversations_restrict_access_controller.py +231 -0
  17. slackwebapi/controllers/admin_emoji_controller.py +314 -0
  18. slackwebapi/controllers/admin_invite_requests_approved_controller.py +97 -0
  19. slackwebapi/controllers/admin_invite_requests_controller.py +209 -0
  20. slackwebapi/controllers/admin_invite_requests_denied_controller.py +97 -0
  21. slackwebapi/controllers/admin_teams_admins_controller.py +96 -0
  22. slackwebapi/controllers/admin_teams_controller.py +158 -0
  23. slackwebapi/controllers/admin_teams_owners_controller.py +97 -0
  24. slackwebapi/controllers/admin_teams_settings_controller.py +367 -0
  25. slackwebapi/controllers/admin_usergroups_controller.py +282 -0
  26. slackwebapi/controllers/admin_users_controller.py +555 -0
  27. slackwebapi/controllers/admin_users_session_controller.py +151 -0
  28. slackwebapi/controllers/api_controller.py +84 -0
  29. slackwebapi/controllers/apps_controller.py +88 -0
  30. slackwebapi/controllers/apps_event_authorizations_controller.py +96 -0
  31. slackwebapi/controllers/apps_permissions_controller.py +142 -0
  32. slackwebapi/controllers/apps_permissions_resources_controller.py +94 -0
  33. slackwebapi/controllers/apps_permissions_scopes_controller.py +80 -0
  34. slackwebapi/controllers/apps_permissions_users_controller.py +158 -0
  35. slackwebapi/controllers/auth_controller.py +136 -0
  36. slackwebapi/controllers/base_controller.py +72 -0
  37. slackwebapi/controllers/bots_controller.py +85 -0
  38. slackwebapi/controllers/calls_controller.py +304 -0
  39. slackwebapi/controllers/calls_participants_controller.py +149 -0
  40. slackwebapi/controllers/chat_controller.py +896 -0
  41. slackwebapi/controllers/chat_scheduled_messages_controller.py +107 -0
  42. slackwebapi/controllers/conversations_controller.py +1217 -0
  43. slackwebapi/controllers/dialog_controller.py +93 -0
  44. slackwebapi/controllers/dnd_controller.py +294 -0
  45. slackwebapi/controllers/emoji_controller.py +79 -0
  46. slackwebapi/controllers/files_comments_controller.py +90 -0
  47. slackwebapi/controllers/files_controller.py +470 -0
  48. slackwebapi/controllers/files_remote_controller.py +440 -0
  49. slackwebapi/controllers/migration_controller.py +98 -0
  50. slackwebapi/controllers/oauth_authorization_controller.py +159 -0
  51. slackwebapi/controllers/oauth_controller.py +168 -0
  52. slackwebapi/controllers/oauth_v_2_controller.py +96 -0
  53. slackwebapi/controllers/pins_controller.py +203 -0
  54. slackwebapi/controllers/reactions_controller.py +334 -0
  55. slackwebapi/controllers/reminders_controller.py +315 -0
  56. slackwebapi/controllers/rtm_controller.py +93 -0
  57. slackwebapi/controllers/search_controller.py +114 -0
  58. slackwebapi/controllers/stars_controller.py +246 -0
  59. slackwebapi/controllers/team_controller.py +294 -0
  60. slackwebapi/controllers/team_profile_controller.py +84 -0
  61. slackwebapi/controllers/usergroups_controller.py +384 -0
  62. slackwebapi/controllers/usergroups_users_controller.py +161 -0
  63. slackwebapi/controllers/users_controller.py +639 -0
  64. slackwebapi/controllers/users_profile_controller.py +165 -0
  65. slackwebapi/controllers/views_controller.py +287 -0
  66. slackwebapi/controllers/workflows_controller.py +237 -0
  67. slackwebapi/exceptions/__init__.py +108 -0
  68. slackwebapi/exceptions/admin_conversations_archive_error_schema_exception.py +56 -0
  69. slackwebapi/exceptions/admin_conversations_convert_to_private_error_schema_exception.py +56 -0
  70. slackwebapi/exceptions/admin_conversations_create_error_schema_exception.py +56 -0
  71. slackwebapi/exceptions/admin_conversations_delete_error_schema_exception.py +56 -0
  72. slackwebapi/exceptions/admin_conversations_disconnect_shared_error_schema_exception.py +56 -0
  73. slackwebapi/exceptions/admin_conversations_get_teams_error_schema_exception.py +56 -0
  74. slackwebapi/exceptions/admin_conversations_invite_error_schema_exception.py +56 -0
  75. slackwebapi/exceptions/admin_conversations_search_error_schema_exception.py +56 -0
  76. slackwebapi/exceptions/admin_conversations_set_conversation_prefs_error_schema_exception.py +56 -0
  77. slackwebapi/exceptions/admin_conversations_unarchive_error_schema_2_exception.py +56 -0
  78. slackwebapi/exceptions/admin_conversations_unarchive_error_schema_3_exception.py +56 -0
  79. slackwebapi/exceptions/admin_conversations_unarchive_error_schema_exception.py +56 -0
  80. slackwebapi/exceptions/api_exception.py +36 -0
  81. slackwebapi/exceptions/api_test_error_schema_exception.py +55 -0
  82. slackwebapi/exceptions/apps_permissions_info_error_schema_exception.py +65 -0
  83. slackwebapi/exceptions/apps_permissions_request_error_schema_exception.py +66 -0
  84. slackwebapi/exceptions/apps_permissions_resources_list_error_schema_exception.py +66 -0
  85. slackwebapi/exceptions/apps_permissions_scopes_list_error_schema_exception.py +66 -0
  86. slackwebapi/exceptions/apps_uninstall_error_schema_exception.py +65 -0
  87. slackwebapi/exceptions/auth_revoke_error_schema_exception.py +65 -0
  88. slackwebapi/exceptions/auth_test_error_schema_exception.py +65 -0
  89. slackwebapi/exceptions/bots_info_error_schema_exception.py +65 -0
  90. slackwebapi/exceptions/chat_delete_error_schema_exception.py +65 -0
  91. slackwebapi/exceptions/chat_delete_scheduled_message_error_schema_exception.py +66 -0
  92. slackwebapi/exceptions/chat_get_permalink_error_schema_exception.py +65 -0
  93. slackwebapi/exceptions/chat_me_message_error_schema_exception.py +65 -0
  94. slackwebapi/exceptions/chat_post_ephemeral_error_schema_exception.py +65 -0
  95. slackwebapi/exceptions/chat_post_message_error_schema_exception.py +65 -0
  96. slackwebapi/exceptions/chat_schedule_message_error_schema_exception.py +65 -0
  97. slackwebapi/exceptions/chat_scheduled_messages_list_error_schema_exception.py +66 -0
  98. slackwebapi/exceptions/chat_unfurl_error_schema_exception.py +65 -0
  99. slackwebapi/exceptions/chat_update_error_schema_exception.py +65 -0
  100. slackwebapi/exceptions/conversations_archive_error_schema_exception.py +86 -0
  101. slackwebapi/exceptions/conversations_close_error_schema_exception.py +85 -0
  102. slackwebapi/exceptions/conversations_create_error_schema_exception.py +95 -0
  103. slackwebapi/exceptions/conversations_history_error_schema_exception.py +86 -0
  104. slackwebapi/exceptions/conversations_info_error_schema_exception.py +85 -0
  105. slackwebapi/exceptions/conversations_invite_error_schema_1_exception.py +107 -0
  106. slackwebapi/exceptions/conversations_join_error_schema_exception.py +85 -0
  107. slackwebapi/exceptions/conversations_kick_error_schema_exception.py +85 -0
  108. slackwebapi/exceptions/conversations_leave_error_schema_exception.py +85 -0
  109. slackwebapi/exceptions/conversations_list_error_schema_exception.py +85 -0
  110. slackwebapi/exceptions/conversations_mark_error_schema_exception.py +85 -0
  111. slackwebapi/exceptions/conversations_members_error_schema_exception.py +66 -0
  112. slackwebapi/exceptions/conversations_open_error_schema_exception.py +65 -0
  113. slackwebapi/exceptions/conversations_rename_error_schema_exception.py +85 -0
  114. slackwebapi/exceptions/conversations_replies_error_schema_exception.py +86 -0
  115. slackwebapi/exceptions/conversations_set_purpose_error_schema_exception.py +86 -0
  116. slackwebapi/exceptions/conversations_set_topic_error_schema_exception.py +86 -0
  117. slackwebapi/exceptions/conversations_unarchive_error_schema_exception.py +86 -0
  118. slackwebapi/exceptions/default_error_template_exception.py +49 -0
  119. slackwebapi/exceptions/dialog_open_error_schema_exception.py +65 -0
  120. slackwebapi/exceptions/dnd_end_dnd_error_schema_exception.py +65 -0
  121. slackwebapi/exceptions/dnd_end_snooze_error_schema_exception.py +65 -0
  122. slackwebapi/exceptions/dnd_info_error_schema_exception.py +65 -0
  123. slackwebapi/exceptions/dnd_set_snooze_error_schema_exception.py +65 -0
  124. slackwebapi/exceptions/files_comments_delete_error_schema_exception.py +65 -0
  125. slackwebapi/exceptions/files_delete_error_schema_exception.py +65 -0
  126. slackwebapi/exceptions/files_info_error_schema_exception.py +65 -0
  127. slackwebapi/exceptions/files_list_error_schema_exception.py +65 -0
  128. slackwebapi/exceptions/files_revoke_public_url_error_schema_exception.py +66 -0
  129. slackwebapi/exceptions/files_shared_public_url_error_schema_exception.py +66 -0
  130. slackwebapi/exceptions/files_upload_error_schema_exception.py +65 -0
  131. slackwebapi/exceptions/migration_exchange_error_schema_exception.py +65 -0
  132. slackwebapi/exceptions/oauth_provider_exception.py +73 -0
  133. slackwebapi/exceptions/pins_add_error_schema_exception.py +65 -0
  134. slackwebapi/exceptions/pins_list_error_schema_exception.py +65 -0
  135. slackwebapi/exceptions/pins_remove_error_schema_exception.py +65 -0
  136. slackwebapi/exceptions/reactions_add_error_schema_exception.py +65 -0
  137. slackwebapi/exceptions/reactions_get_error_schema_exception.py +65 -0
  138. slackwebapi/exceptions/reactions_list_error_schema_exception.py +65 -0
  139. slackwebapi/exceptions/reactions_remove_error_schema_exception.py +65 -0
  140. slackwebapi/exceptions/reminders_add_error_schema_exception.py +65 -0
  141. slackwebapi/exceptions/reminders_complete_error_schema_exception.py +65 -0
  142. slackwebapi/exceptions/reminders_delete_error_schema_exception.py +65 -0
  143. slackwebapi/exceptions/reminders_info_error_schema_exception.py +65 -0
  144. slackwebapi/exceptions/reminders_list_error_schema_exception.py +65 -0
  145. slackwebapi/exceptions/rtm_connect_error_schema_exception.py +65 -0
  146. slackwebapi/exceptions/stars_add_error_schema_exception.py +65 -0
  147. slackwebapi/exceptions/stars_list_error_schema_exception.py +65 -0
  148. slackwebapi/exceptions/stars_remove_error_schema_exception.py +65 -0
  149. slackwebapi/exceptions/team_access_logs_error_schema_exception.py +65 -0
  150. slackwebapi/exceptions/team_info_error_schema_exception.py +65 -0
  151. slackwebapi/exceptions/team_integration_logs_error_schema_exception.py +65 -0
  152. slackwebapi/exceptions/team_profile_get_error_schema_exception.py +65 -0
  153. slackwebapi/exceptions/usergroups_create_error_schema_exception.py +65 -0
  154. slackwebapi/exceptions/usergroups_disable_error_schema_exception.py +65 -0
  155. slackwebapi/exceptions/usergroups_enable_error_schema_exception.py +65 -0
  156. slackwebapi/exceptions/usergroups_list_error_schema_exception.py +65 -0
  157. slackwebapi/exceptions/usergroups_update_error_schema_exception.py +65 -0
  158. slackwebapi/exceptions/usergroups_users_list_error_schema_exception.py +65 -0
  159. slackwebapi/exceptions/usergroups_users_update_error_schema_exception.py +66 -0
  160. slackwebapi/exceptions/users_conversations_error_schema_exception.py +65 -0
  161. slackwebapi/exceptions/users_counts_error_schema_exception.py +55 -0
  162. slackwebapi/exceptions/users_delete_photo_error_schema_exception.py +65 -0
  163. slackwebapi/exceptions/users_identity_error_schema_exception.py +65 -0
  164. slackwebapi/exceptions/users_info_error_schema_exception.py +65 -0
  165. slackwebapi/exceptions/users_list_error_schema_exception.py +65 -0
  166. slackwebapi/exceptions/users_lookup_by_email_error_schema_exception.py +65 -0
  167. slackwebapi/exceptions/users_profile_get_error_schema_exception.py +65 -0
  168. slackwebapi/exceptions/users_profile_set_error_schema_exception.py +65 -0
  169. slackwebapi/exceptions/users_set_active_error_schema_exception.py +65 -0
  170. slackwebapi/exceptions/users_set_photo_error_schema_exception.py +95 -0
  171. slackwebapi/exceptions/users_set_presence_error_schema_exception.py +65 -0
  172. slackwebapi/http/__init__.py +11 -0
  173. slackwebapi/http/api_response.py +67 -0
  174. slackwebapi/http/auth/__init__.py +5 -0
  175. slackwebapi/http/auth/oauth_2.py +333 -0
  176. slackwebapi/http/http_call_back.py +20 -0
  177. slackwebapi/http/http_client_provider.py +23 -0
  178. slackwebapi/http/http_method_enum.py +25 -0
  179. slackwebapi/http/http_request.py +55 -0
  180. slackwebapi/http/http_response.py +45 -0
  181. slackwebapi/http/proxy_settings.py +50 -0
  182. slackwebapi/logging/__init__.py +6 -0
  183. slackwebapi/logging/configuration/__init__.py +5 -0
  184. slackwebapi/logging/configuration/api_logging_configuration.py +398 -0
  185. slackwebapi/logging/sdk_logger.py +28 -0
  186. slackwebapi/models/__init__.py +248 -0
  187. slackwebapi/models/admin_conversations_archive_schema.py +86 -0
  188. slackwebapi/models/admin_conversations_convert_to_private_schema.py +86 -0
  189. slackwebapi/models/admin_conversations_create_schema.py +112 -0
  190. slackwebapi/models/admin_conversations_delete_schema.py +86 -0
  191. slackwebapi/models/admin_conversations_get_conversation_prefs_schema.py +114 -0
  192. slackwebapi/models/admin_conversations_get_teams_schema.py +130 -0
  193. slackwebapi/models/admin_conversations_invite_schema.py +86 -0
  194. slackwebapi/models/admin_conversations_rename_schema.py +86 -0
  195. slackwebapi/models/admin_conversations_rename_schema_1.py +86 -0
  196. slackwebapi/models/admin_conversations_search_schema.py +111 -0
  197. slackwebapi/models/admin_conversations_set_conversation_prefs_schema.py +86 -0
  198. slackwebapi/models/admin_conversations_unarchive_schema.py +86 -0
  199. slackwebapi/models/api_method_users_get_presence.py +218 -0
  200. slackwebapi/models/api_permissions_scopes_list_success_schema.py +100 -0
  201. slackwebapi/models/api_test_success_schema.py +86 -0
  202. slackwebapi/models/app_home.py +131 -0
  203. slackwebapi/models/apps_permissions_info_schema.py +100 -0
  204. slackwebapi/models/apps_permissions_request_schema.py +86 -0
  205. slackwebapi/models/apps_permissions_resources_list_success_schema.py +133 -0
  206. slackwebapi/models/apps_uninstall_schema.py +86 -0
  207. slackwebapi/models/attachment.py +208 -0
  208. slackwebapi/models/auth_revoke_schema.py +99 -0
  209. slackwebapi/models/auth_test_success_schema.py +200 -0
  210. slackwebapi/models/block_kit_block.py +90 -0
  211. slackwebapi/models/bot.py +182 -0
  212. slackwebapi/models/bot_profile_object.py +169 -0
  213. slackwebapi/models/bots_info_schema.py +100 -0
  214. slackwebapi/models/can_thread.py +126 -0
  215. slackwebapi/models/channel.py +131 -0
  216. slackwebapi/models/channel_object.py +688 -0
  217. slackwebapi/models/chat_delete_scheduled_message_schema.py +86 -0
  218. slackwebapi/models/chat_delete_success_schema.py +112 -0
  219. slackwebapi/models/chat_get_permalink_success_schema.py +112 -0
  220. slackwebapi/models/chat_me_message_schema.py +135 -0
  221. slackwebapi/models/chat_post_ephemeral_success_schema.py +99 -0
  222. slackwebapi/models/chat_post_message_success_schema.py +128 -0
  223. slackwebapi/models/chat_schedule_message_success_schema.py +139 -0
  224. slackwebapi/models/chat_scheduled_messages_list_schema.py +122 -0
  225. slackwebapi/models/chat_unfurl_success_schema.py +86 -0
  226. slackwebapi/models/chat_update_success_schema.py +141 -0
  227. slackwebapi/models/conversations_archive_success_schema.py +86 -0
  228. slackwebapi/models/conversations_close_success_schema.py +135 -0
  229. slackwebapi/models/conversations_create_success_schema.py +99 -0
  230. slackwebapi/models/conversations_history_success_schema.py +157 -0
  231. slackwebapi/models/conversations_info_success_schema.py +99 -0
  232. slackwebapi/models/conversations_invite_error_schema.py +99 -0
  233. slackwebapi/models/conversations_join_success_schema.py +153 -0
  234. slackwebapi/models/conversations_kick_success_schema.py +86 -0
  235. slackwebapi/models/conversations_leave_success_schema.py +112 -0
  236. slackwebapi/models/conversations_list_success_schema.py +130 -0
  237. slackwebapi/models/conversations_mark_success_schema.py +86 -0
  238. slackwebapi/models/conversations_members_success_schema.py +116 -0
  239. slackwebapi/models/conversations_open_success_schema.py +149 -0
  240. slackwebapi/models/conversations_rename_success_schema.py +99 -0
  241. slackwebapi/models/conversations_replies_success_schema.py +125 -0
  242. slackwebapi/models/conversations_set_purpose_success_schema.py +99 -0
  243. slackwebapi/models/conversations_set_topic_success_schema.py +99 -0
  244. slackwebapi/models/conversations_unarchive_success_schema.py +86 -0
  245. slackwebapi/models/current.py +103 -0
  246. slackwebapi/models/default_success_template.py +87 -0
  247. slackwebapi/models/dialog_open_schema.py +86 -0
  248. slackwebapi/models/dnd_end_dnd_schema.py +86 -0
  249. slackwebapi/models/dnd_end_snooze_schema.py +138 -0
  250. slackwebapi/models/dnd_info_schema.py +197 -0
  251. slackwebapi/models/dnd_set_snooze_schema.py +125 -0
  252. slackwebapi/models/error.py +61 -0
  253. slackwebapi/models/error_1.py +64 -0
  254. slackwebapi/models/error_10.py +61 -0
  255. slackwebapi/models/error_11.py +61 -0
  256. slackwebapi/models/error_12.py +94 -0
  257. slackwebapi/models/error_13.py +106 -0
  258. slackwebapi/models/error_14.py +97 -0
  259. slackwebapi/models/error_16.py +103 -0
  260. slackwebapi/models/error_17.py +91 -0
  261. slackwebapi/models/error_18.py +79 -0
  262. slackwebapi/models/error_19.py +94 -0
  263. slackwebapi/models/error_2.py +61 -0
  264. slackwebapi/models/error_20.py +100 -0
  265. slackwebapi/models/error_21.py +106 -0
  266. slackwebapi/models/error_22.py +97 -0
  267. slackwebapi/models/error_23.py +109 -0
  268. slackwebapi/models/error_24.py +112 -0
  269. slackwebapi/models/error_25.py +85 -0
  270. slackwebapi/models/error_26.py +139 -0
  271. slackwebapi/models/error_27.py +100 -0
  272. slackwebapi/models/error_28.py +106 -0
  273. slackwebapi/models/error_29.py +112 -0
  274. slackwebapi/models/error_3.py +61 -0
  275. slackwebapi/models/error_30.py +115 -0
  276. slackwebapi/models/error_31.py +91 -0
  277. slackwebapi/models/error_32.py +115 -0
  278. slackwebapi/models/error_33.py +88 -0
  279. slackwebapi/models/error_34.py +85 -0
  280. slackwebapi/models/error_35.py +130 -0
  281. slackwebapi/models/error_37.py +106 -0
  282. slackwebapi/models/error_38.py +106 -0
  283. slackwebapi/models/error_39.py +112 -0
  284. slackwebapi/models/error_4.py +76 -0
  285. slackwebapi/models/error_40.py +79 -0
  286. slackwebapi/models/error_41.py +94 -0
  287. slackwebapi/models/error_42.py +91 -0
  288. slackwebapi/models/error_43.py +106 -0
  289. slackwebapi/models/error_44.py +112 -0
  290. slackwebapi/models/error_45.py +88 -0
  291. slackwebapi/models/error_46.py +100 -0
  292. slackwebapi/models/error_48.py +106 -0
  293. slackwebapi/models/error_49.py +118 -0
  294. slackwebapi/models/error_5.py +61 -0
  295. slackwebapi/models/error_50.py +97 -0
  296. slackwebapi/models/error_51.py +100 -0
  297. slackwebapi/models/error_52.py +94 -0
  298. slackwebapi/models/error_53.py +103 -0
  299. slackwebapi/models/error_54.py +85 -0
  300. slackwebapi/models/error_55.py +91 -0
  301. slackwebapi/models/error_56.py +91 -0
  302. slackwebapi/models/error_57.py +91 -0
  303. slackwebapi/models/error_58.py +100 -0
  304. slackwebapi/models/error_59.py +103 -0
  305. slackwebapi/models/error_6.py +61 -0
  306. slackwebapi/models/error_60.py +97 -0
  307. slackwebapi/models/error_61.py +97 -0
  308. slackwebapi/models/error_62.py +106 -0
  309. slackwebapi/models/error_63.py +85 -0
  310. slackwebapi/models/error_64.py +103 -0
  311. slackwebapi/models/error_65.py +103 -0
  312. slackwebapi/models/error_66.py +94 -0
  313. slackwebapi/models/error_67.py +88 -0
  314. slackwebapi/models/error_68.py +106 -0
  315. slackwebapi/models/error_69.py +112 -0
  316. slackwebapi/models/error_7.py +58 -0
  317. slackwebapi/models/error_70.py +103 -0
  318. slackwebapi/models/error_71.py +97 -0
  319. slackwebapi/models/error_74.py +88 -0
  320. slackwebapi/models/error_75.py +112 -0
  321. slackwebapi/models/error_77.py +112 -0
  322. slackwebapi/models/error_78.py +100 -0
  323. slackwebapi/models/error_8.py +58 -0
  324. slackwebapi/models/error_81.py +85 -0
  325. slackwebapi/models/error_82.py +100 -0
  326. slackwebapi/models/error_84.py +103 -0
  327. slackwebapi/models/error_86.py +106 -0
  328. slackwebapi/models/error_89.py +103 -0
  329. slackwebapi/models/error_9.py +67 -0
  330. slackwebapi/models/error_92.py +85 -0
  331. slackwebapi/models/error_93.py +91 -0
  332. slackwebapi/models/error_94.py +91 -0
  333. slackwebapi/models/error_95.py +97 -0
  334. slackwebapi/models/error_96.py +112 -0
  335. slackwebapi/models/error_97.py +91 -0
  336. slackwebapi/models/error_98.py +106 -0
  337. slackwebapi/models/error_99.py +94 -0
  338. slackwebapi/models/errors_is_returned_when_an_error_associates_an_user.py +124 -0
  339. slackwebapi/models/external_org_migrations.py +106 -0
  340. slackwebapi/models/file_comment_object.py +281 -0
  341. slackwebapi/models/file_object.py +1700 -0
  342. slackwebapi/models/files_comments_delete_schema.py +86 -0
  343. slackwebapi/models/files_delete_schema.py +86 -0
  344. slackwebapi/models/files_info_schema.py +216 -0
  345. slackwebapi/models/files_list_schema.py +118 -0
  346. slackwebapi/models/files_revoke_public_url_schema.py +100 -0
  347. slackwebapi/models/files_shared_public_url_schema.py +100 -0
  348. slackwebapi/models/files_upload_schema.py +100 -0
  349. slackwebapi/models/group.py +131 -0
  350. slackwebapi/models/icons.py +116 -0
  351. slackwebapi/models/icons_1.py +126 -0
  352. slackwebapi/models/im.py +131 -0
  353. slackwebapi/models/info.py +161 -0
  354. slackwebapi/models/log.py +263 -0
  355. slackwebapi/models/login.py +214 -0
  356. slackwebapi/models/message.py +195 -0
  357. slackwebapi/models/message_object.py +1035 -0
  358. slackwebapi/models/message_object_1.py +139 -0
  359. slackwebapi/models/migration_exchange_success_schema.py +161 -0
  360. slackwebapi/models/mpim.py +131 -0
  361. slackwebapi/models/mself.py +103 -0
  362. slackwebapi/models/mtype.py +55 -0
  363. slackwebapi/models/oauth_provider_error.py +67 -0
  364. slackwebapi/models/oauth_scope.py +240 -0
  365. slackwebapi/models/oauth_token.py +113 -0
  366. slackwebapi/models/objs_enterprise_user.py +155 -0
  367. slackwebapi/models/objs_icon.py +264 -0
  368. slackwebapi/models/objs_primary_owner.py +103 -0
  369. slackwebapi/models/objs_reminder.py +191 -0
  370. slackwebapi/models/objs_team_profile_field.py +242 -0
  371. slackwebapi/models/objs_team_profile_field_option.py +179 -0
  372. slackwebapi/models/objs_user_profile_short.py +247 -0
  373. slackwebapi/models/paging_object.py +198 -0
  374. slackwebapi/models/pins_add_schema.py +86 -0
  375. slackwebapi/models/pins_remove_schema.py +86 -0
  376. slackwebapi/models/plan.py +49 -0
  377. slackwebapi/models/prefs.py +103 -0
  378. slackwebapi/models/prefs_1.py +132 -0
  379. slackwebapi/models/profile.py +96 -0
  380. slackwebapi/models/profile_1.py +194 -0
  381. slackwebapi/models/purpose.py +116 -0
  382. slackwebapi/models/reaction_object.py +116 -0
  383. slackwebapi/models/reactions_add_schema.py +86 -0
  384. slackwebapi/models/reactions_list_schema.py +152 -0
  385. slackwebapi/models/reactions_remove_schema.py +86 -0
  386. slackwebapi/models/reminders_add_schema.py +102 -0
  387. slackwebapi/models/reminders_complete_schema.py +86 -0
  388. slackwebapi/models/reminders_delete_schema.py +86 -0
  389. slackwebapi/models/reminders_info_schema.py +102 -0
  390. slackwebapi/models/reminders_list_schema.py +104 -0
  391. slackwebapi/models/resource.py +126 -0
  392. slackwebapi/models/resources_in_info_from_apps_permissions_info.py +139 -0
  393. slackwebapi/models/response_metadata.py +90 -0
  394. slackwebapi/models/response_metadata_3.py +103 -0
  395. slackwebapi/models/rtm_connect_schema.py +127 -0
  396. slackwebapi/models/scheduled_message.py +155 -0
  397. slackwebapi/models/scopes.py +241 -0
  398. slackwebapi/models/shares.py +126 -0
  399. slackwebapi/models/sso_provider.py +149 -0
  400. slackwebapi/models/stars_add_schema.py +86 -0
  401. slackwebapi/models/stars_list_schema.py +129 -0
  402. slackwebapi/models/stars_remove_schema.py +86 -0
  403. slackwebapi/models/subteam_usergroup_object.py +384 -0
  404. slackwebapi/models/team.py +107 -0
  405. slackwebapi/models/team_1.py +116 -0
  406. slackwebapi/models/team_access_logs_schema.py +118 -0
  407. slackwebapi/models/team_info_schema.py +100 -0
  408. slackwebapi/models/team_integration_logs_schema.py +118 -0
  409. slackwebapi/models/team_object.py +715 -0
  410. slackwebapi/models/team_profile_get_success_schema.py +100 -0
  411. slackwebapi/models/topic.py +116 -0
  412. slackwebapi/models/user_profile_object.py +1005 -0
  413. slackwebapi/models/usergroups_create_schema.py +103 -0
  414. slackwebapi/models/usergroups_disable_schema.py +103 -0
  415. slackwebapi/models/usergroups_enable_schema.py +103 -0
  416. slackwebapi/models/usergroups_list_schema.py +105 -0
  417. slackwebapi/models/usergroups_update_schema.py +103 -0
  418. slackwebapi/models/usergroups_users_list_schema.py +99 -0
  419. slackwebapi/models/usergroups_users_update_schema.py +103 -0
  420. slackwebapi/models/users_conversations_success_schema.py +131 -0
  421. slackwebapi/models/users_delete_photo_schema.py +86 -0
  422. slackwebapi/models/users_info_success_schema.py +99 -0
  423. slackwebapi/models/users_list_schema.py +138 -0
  424. slackwebapi/models/users_lookup_by_email_success_schema.py +99 -0
  425. slackwebapi/models/users_profile_get_schema.py +102 -0
  426. slackwebapi/models/users_profile_set_schema.py +141 -0
  427. slackwebapi/models/users_set_active_schema.py +86 -0
  428. slackwebapi/models/users_set_photo_schema.py +100 -0
  429. slackwebapi/models/users_set_presence_schema.py +86 -0
  430. slackwebapi/models/who_can_post.py +126 -0
  431. slackwebapi/slackwebapi_client.py +522 -0
  432. slackwebapi/utilities/__init__.py +6 -0
  433. slackwebapi/utilities/file_wrapper.py +45 -0
@@ -0,0 +1,240 @@
1
+ """slackwebapi.
2
+
3
+ This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
4
+ """
5
+
6
+ # ruff: noqa: E501
7
+
8
+ class OauthScope(object):
9
+ """Implementation of the 'OAuth Scope' enum.
10
+
11
+ OAuth 2 scopes supported by the API
12
+
13
+ Attributes:
14
+ ADMIN: admin
15
+ ADMIN.APPSREAD: admin.apps:read
16
+ ADMIN.APPSWRITE: admin.apps:write
17
+ ADMIN.CONVERSATIONSREAD: admin.conversations:read
18
+ ADMIN.CONVERSATIONSWRITE: admin.conversations:write
19
+ ADMIN.INVITESREAD: admin.invites:read
20
+ ADMIN.INVITESWRITE: admin.invites:write
21
+ ADMIN.TEAMSREAD: admin.teams:read
22
+ ADMIN.TEAMSWRITE: admin.teams:write
23
+ ADMIN.USERGROUPSREAD: admin.usergroups:read
24
+ ADMIN.USERGROUPSWRITE: admin.usergroups:write
25
+ ADMIN.USERSREAD: admin.users:read
26
+ ADMIN.USERSWRITE: admin.users:write
27
+ AUTHORIZATIONSREAD: authorizations:read
28
+ BOT: Bot user scope
29
+ CALLSREAD: calls:read
30
+ CALLSWRITE: calls:write
31
+ CHANNELSHISTORY: channels:history
32
+ CHANNELSMANAGE: channels:manage
33
+ CHANNELSREAD: channels:read
34
+ CHANNELSWRITE: channels:write
35
+ CHATWRITE: chat:write
36
+ CHATWRITEBOT: Author messages as a bot
37
+ CHATWRITEUSER: Author messages as a user
38
+ CONVERSATIONSHISTORY: conversations:history
39
+ CONVERSATIONSREAD: conversations:read
40
+ CONVERSATIONSWRITE: conversations:write
41
+ DNDREAD: dnd:read
42
+ DNDWRITE: dnd:write
43
+ EMOJIREAD: emoji:read
44
+ FILESREAD: files:read
45
+ FILESWRITEUSER: files:write:user
46
+ GROUPSHISTORY: groups:history
47
+ GROUPSREAD: groups:read
48
+ GROUPSWRITE: groups:write
49
+ IDENTITY.BASIC: identity.basic
50
+ IMHISTORY: im:history
51
+ IMREAD: im:read
52
+ IMWRITE: im:write
53
+ LINKSWRITE: links:write
54
+ MPIMHISTORY: mpim:history
55
+ MPIMREAD: mpim:read
56
+ MPIMWRITE: mpim:write
57
+ NONE: No scope required
58
+ PINSREAD: pins:read
59
+ PINSWRITE: pins:write
60
+ REACTIONSREAD: reactions:read
61
+ REACTIONSWRITE: reactions:write
62
+ REMINDERSREAD: reminders:read
63
+ REMINDERSWRITE: reminders:write
64
+ REMOTE_FILESREAD: remote_files:read
65
+ REMOTE_FILESSHARE: remote_files:share
66
+ REMOTE_FILESWRITE: remote_files:write
67
+ RTMSTREAM: rtm:stream
68
+ SEARCHREAD: search:read
69
+ STARSREAD: stars:read
70
+ STARSWRITE: stars:write
71
+ TEAMREAD: team:read
72
+ TOKENS.BASIC: tokens.basic
73
+ USERGROUPSREAD: usergroups:read
74
+ USERGROUPSWRITE: usergroups:write
75
+ USERS.PROFILEREAD: users.profile:read
76
+ USERS.PROFILEWRITE: users.profile:write
77
+ USERSREAD: users:read
78
+ USERSREAD.EMAIL: users:read.email
79
+ USERSWRITE: users:write
80
+ WORKFLOW.STEPSEXECUTE: workflow.steps:execute
81
+
82
+ """
83
+
84
+ ADMIN = "admin"
85
+
86
+ ADMIN_APPSREAD = "admin.apps:read"
87
+
88
+ ADMIN_APPSWRITE = "admin.apps:write"
89
+
90
+ ADMIN_CONVERSATIONSREAD = "admin.conversations:read"
91
+
92
+ ADMIN_CONVERSATIONSWRITE = "admin.conversations:write"
93
+
94
+ ADMIN_INVITESREAD = "admin.invites:read"
95
+
96
+ ADMIN_INVITESWRITE = "admin.invites:write"
97
+
98
+ ADMIN_TEAMSREAD = "admin.teams:read"
99
+
100
+ ADMIN_TEAMSWRITE = "admin.teams:write"
101
+
102
+ ADMIN_USERGROUPSREAD = "admin.usergroups:read"
103
+
104
+ ADMIN_USERGROUPSWRITE = "admin.usergroups:write"
105
+
106
+ ADMIN_USERSREAD = "admin.users:read"
107
+
108
+ ADMIN_USERSWRITE = "admin.users:write"
109
+
110
+ AUTHORIZATIONSREAD = "authorizations:read"
111
+
112
+ BOT = "bot"
113
+
114
+ CALLSREAD = "calls:read"
115
+
116
+ CALLSWRITE = "calls:write"
117
+
118
+ CHANNELSHISTORY = "channels:history"
119
+
120
+ CHANNELSMANAGE = "channels:manage"
121
+
122
+ CHANNELSREAD = "channels:read"
123
+
124
+ CHANNELSWRITE = "channels:write"
125
+
126
+ CHATWRITE = "chat:write"
127
+
128
+ CHATWRITEBOT = "chat:write:bot"
129
+
130
+ CHATWRITEUSER = "chat:write:user"
131
+
132
+ CONVERSATIONSHISTORY = "conversations:history"
133
+
134
+ CONVERSATIONSREAD = "conversations:read"
135
+
136
+ CONVERSATIONSWRITE = "conversations:write"
137
+
138
+ DNDREAD = "dnd:read"
139
+
140
+ DNDWRITE = "dnd:write"
141
+
142
+ EMOJIREAD = "emoji:read"
143
+
144
+ FILESREAD = "files:read"
145
+
146
+ FILESWRITEUSER = "files:write:user"
147
+
148
+ GROUPSHISTORY = "groups:history"
149
+
150
+ GROUPSREAD = "groups:read"
151
+
152
+ GROUPSWRITE = "groups:write"
153
+
154
+ IDENTITY_BASIC = "identity.basic"
155
+
156
+ IMHISTORY = "im:history"
157
+
158
+ IMREAD = "im:read"
159
+
160
+ IMWRITE = "im:write"
161
+
162
+ LINKSWRITE = "links:write"
163
+
164
+ MPIMHISTORY = "mpim:history"
165
+
166
+ MPIMREAD = "mpim:read"
167
+
168
+ MPIMWRITE = "mpim:write"
169
+
170
+ NONE = "none"
171
+
172
+ PINSREAD = "pins:read"
173
+
174
+ PINSWRITE = "pins:write"
175
+
176
+ REACTIONSREAD = "reactions:read"
177
+
178
+ REACTIONSWRITE = "reactions:write"
179
+
180
+ REMINDERSREAD = "reminders:read"
181
+
182
+ REMINDERSWRITE = "reminders:write"
183
+
184
+ REMOTE_FILESREAD = "remote_files:read"
185
+
186
+ REMOTE_FILESSHARE = "remote_files:share"
187
+
188
+ REMOTE_FILESWRITE = "remote_files:write"
189
+
190
+ RTMSTREAM = "rtm:stream"
191
+
192
+ SEARCHREAD = "search:read"
193
+
194
+ STARSREAD = "stars:read"
195
+
196
+ STARSWRITE = "stars:write"
197
+
198
+ TEAMREAD = "team:read"
199
+
200
+ TOKENS_BASIC = "tokens.basic"
201
+
202
+ USERGROUPSREAD = "usergroups:read"
203
+
204
+ USERGROUPSWRITE = "usergroups:write"
205
+
206
+ USERS_PROFILEREAD = "users.profile:read"
207
+
208
+ USERS_PROFILEWRITE = "users.profile:write"
209
+
210
+ USERSREAD = "users:read"
211
+
212
+ USERSREAD_EMAIL = "users:read.email"
213
+
214
+ USERSWRITE = "users:write"
215
+
216
+ WORKFLOW_STEPSEXECUTE = "workflow.steps:execute"
217
+
218
+ @classmethod
219
+ def from_value(cls, value, default=None):
220
+ """Return the matching enum value for the given input."""
221
+ if value is None:
222
+ return default
223
+
224
+ # If numeric and matches directly
225
+ if isinstance(value, int):
226
+ for name, val in cls.__dict__.items():
227
+ if not name.startswith("_") and val == value:
228
+ return val
229
+
230
+ # If string, perform case-insensitive match
231
+ if isinstance(value, str):
232
+ value_lower = value.lower()
233
+ for name, val in cls.__dict__.items():
234
+ if not name.startswith("_") and (
235
+ name.lower() == value_lower or str(val).lower() == value_lower
236
+ ):
237
+ return val
238
+
239
+ # Fallback to default
240
+ return default
@@ -0,0 +1,113 @@
1
+ """slackwebapi.
2
+
3
+ This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
4
+ """
5
+
6
+ # ruff: noqa: E501
7
+ from slackwebapi.api_helper import APIHelper
8
+
9
+
10
+ class OauthToken(object):
11
+ """Implementation of the 'OAuthToken' model.
12
+
13
+ OAuth 2 Authorization endpoint response
14
+
15
+ Attributes:
16
+ access_token (str): Access token
17
+ token_type (str): Type of access token
18
+ expires_in (int): Time in seconds before the access token expires
19
+ scope (str): List of scopes granted This is a space-delimited list of strings.
20
+ expiry (int): Time of token expiry as unix timestamp (UTC)
21
+ refresh_token (str): Refresh token Used to get a new access token when it
22
+ expires.
23
+
24
+ """
25
+
26
+ # Create a mapping from Model property names to API property names
27
+ _names = {
28
+ "access_token": "access_token",
29
+ "token_type": "token_type",
30
+ "expires_in": "expires_in",
31
+ "scope": "scope",
32
+ "expiry": "expiry",
33
+ "refresh_token": "refresh_token",
34
+ }
35
+
36
+ _optionals = [
37
+ "expires_in",
38
+ "scope",
39
+ "expiry",
40
+ "refresh_token",
41
+ ]
42
+
43
+ def __init__(
44
+ self,
45
+ access_token=None,
46
+ token_type=None,
47
+ expires_in=APIHelper.SKIP,
48
+ scope=APIHelper.SKIP,
49
+ expiry=APIHelper.SKIP,
50
+ refresh_token=APIHelper.SKIP):
51
+ """Initialize a OauthToken instance."""
52
+ # Initialize members of the class
53
+ self.access_token = access_token
54
+ self.token_type = token_type
55
+ if expires_in is not APIHelper.SKIP:
56
+ self.expires_in = expires_in
57
+ if scope is not APIHelper.SKIP:
58
+ self.scope = scope
59
+ if expiry is not APIHelper.SKIP:
60
+ self.expiry = expiry
61
+ if refresh_token is not APIHelper.SKIP:
62
+ self.refresh_token = refresh_token
63
+
64
+ @classmethod
65
+ def from_dictionary(cls,
66
+ dictionary):
67
+ """Create an instance of this model from a dictionary
68
+
69
+ Args:
70
+ dictionary (dictionary): A dictionary representation of the object
71
+ as obtained from the deserialization of the server's response. The
72
+ keys MUST match property names in the API description.
73
+
74
+ Returns:
75
+ object: An instance of this structure class.
76
+
77
+ """
78
+ if not isinstance(dictionary, dict) or dictionary is None:
79
+ return None
80
+
81
+ # Extract variables from the dictionary
82
+ access_token =\
83
+ dictionary.get("access_token")\
84
+ if dictionary.get("access_token")\
85
+ else None
86
+ token_type =\
87
+ dictionary.get("token_type")\
88
+ if dictionary.get("token_type")\
89
+ else None
90
+ expires_in =\
91
+ dictionary.get("expires_in")\
92
+ if dictionary.get("expires_in")\
93
+ else APIHelper.SKIP
94
+ scope =\
95
+ dictionary.get("scope")\
96
+ if dictionary.get("scope")\
97
+ else APIHelper.SKIP
98
+ expiry =\
99
+ dictionary.get("expiry")\
100
+ if dictionary.get("expiry")\
101
+ else APIHelper.SKIP
102
+ refresh_token =\
103
+ dictionary.get("refresh_token")\
104
+ if dictionary.get("refresh_token")\
105
+ else APIHelper.SKIP
106
+
107
+ # Return an object of this model
108
+ return cls(access_token,
109
+ token_type,
110
+ expires_in,
111
+ scope,
112
+ expiry,
113
+ refresh_token)
@@ -0,0 +1,155 @@
1
+ """slackwebapi.
2
+
3
+ This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
4
+ """
5
+
6
+ # ruff: noqa: E501
7
+ from slackwebapi.api_helper import APIHelper
8
+
9
+
10
+ class ObjsEnterpriseUser(object):
11
+ """Implementation of the 'objs_enterprise_user' model.
12
+
13
+ Attributes:
14
+ enterprise_id (str): The model property of type str.
15
+ enterprise_name (str): The model property of type str.
16
+ id (str): The model property of type str.
17
+ is_admin (bool): The model property of type bool.
18
+ is_owner (bool): The model property of type bool.
19
+ teams (List[str]): The model property of type List[str].
20
+ additional_properties (Dict[str, Any]): The additional properties for the
21
+ model.
22
+
23
+ """
24
+
25
+ # Create a mapping from Model property names to API property names
26
+ _names = {
27
+ "enterprise_id": "enterprise_id",
28
+ "enterprise_name": "enterprise_name",
29
+ "id": "id",
30
+ "is_admin": "is_admin",
31
+ "is_owner": "is_owner",
32
+ "teams": "teams",
33
+ }
34
+
35
+ def __init__(
36
+ self,
37
+ enterprise_id=None,
38
+ enterprise_name=None,
39
+ id=None,
40
+ is_admin=None,
41
+ is_owner=None,
42
+ teams=None,
43
+ additional_properties=None):
44
+ """Initialize a ObjsEnterpriseUser instance."""
45
+ # Initialize members of the class
46
+ self.enterprise_id = enterprise_id
47
+ self.enterprise_name = enterprise_name
48
+ self.id = id
49
+ self.is_admin = is_admin
50
+ self.is_owner = is_owner
51
+ self.teams = teams
52
+
53
+ # Add additional model properties to the instance
54
+ if additional_properties is None:
55
+ additional_properties = {}
56
+ self.additional_properties = additional_properties
57
+
58
+ @classmethod
59
+ def from_dictionary(cls,
60
+ dictionary):
61
+ """Create an instance of this model from a dictionary
62
+
63
+ Args:
64
+ dictionary (dictionary): A dictionary representation of the object
65
+ as obtained from the deserialization of the server's response. The
66
+ keys MUST match property names in the API description.
67
+
68
+ Returns:
69
+ object: An instance of this structure class.
70
+
71
+ """
72
+ if not isinstance(dictionary, dict) or dictionary is None:
73
+ return None
74
+
75
+ # Extract variables from the dictionary
76
+ enterprise_id =\
77
+ dictionary.get("enterprise_id")\
78
+ if dictionary.get("enterprise_id")\
79
+ else None
80
+ enterprise_name =\
81
+ dictionary.get("enterprise_name")\
82
+ if dictionary.get("enterprise_name")\
83
+ else None
84
+ id =\
85
+ dictionary.get("id")\
86
+ if dictionary.get("id")\
87
+ else None
88
+ is_admin =\
89
+ dictionary.get("is_admin")\
90
+ if "is_admin" in dictionary.keys()\
91
+ else None
92
+ is_owner =\
93
+ dictionary.get("is_owner")\
94
+ if "is_owner" in dictionary.keys()\
95
+ else None
96
+ teams =\
97
+ dictionary.get("teams")\
98
+ if dictionary.get("teams")\
99
+ else None
100
+
101
+ additional_properties = APIHelper.get_additional_properties(
102
+ dictionary={k: v for k, v in dictionary.items()
103
+ if k not in cls._names.values()},
104
+ unboxing_function=lambda value: value)
105
+
106
+ # Return an object of this model
107
+ return cls(enterprise_id,
108
+ enterprise_name,
109
+ id,
110
+ is_admin,
111
+ is_owner,
112
+ teams,
113
+ additional_properties)
114
+
115
+ def __repr__(self):
116
+ """Return a unambiguous string representation."""
117
+ _enterprise_id=self.enterprise_id
118
+ _enterprise_name=self.enterprise_name
119
+ _id=self.id
120
+ _is_admin=self.is_admin
121
+ _is_owner=self.is_owner
122
+ _teams=self.teams
123
+ _additional_properties=self.additional_properties
124
+ return (
125
+ f"{self.__class__.__name__}("
126
+ f"enterprise_id={_enterprise_id!r}, "
127
+ f"enterprise_name={_enterprise_name!r}, "
128
+ f"id={_id!r}, "
129
+ f"is_admin={_is_admin!r}, "
130
+ f"is_owner={_is_owner!r}, "
131
+ f"teams={_teams!r}, "
132
+ f"additional_properties={_additional_properties!r}, "
133
+ f")"
134
+ )
135
+
136
+ def __str__(self):
137
+ """Return a human-readable string representation."""
138
+ _enterprise_id=self.enterprise_id
139
+ _enterprise_name=self.enterprise_name
140
+ _id=self.id
141
+ _is_admin=self.is_admin
142
+ _is_owner=self.is_owner
143
+ _teams=self.teams
144
+ _additional_properties=self.additional_properties
145
+ return (
146
+ f"{self.__class__.__name__}("
147
+ f"enterprise_id={_enterprise_id!s}, "
148
+ f"enterprise_name={_enterprise_name!s}, "
149
+ f"id={_id!s}, "
150
+ f"is_admin={_is_admin!s}, "
151
+ f"is_owner={_is_owner!s}, "
152
+ f"teams={_teams!s}, "
153
+ f"additional_properties={_additional_properties!s}, "
154
+ f")"
155
+ )