@vicoa/cli 0.1.3-darwin-arm64 → 0.1.4-darwin-arm64

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 (285) hide show
  1. package/bin/_internal/81d243bd2c585b0f4821__mypyc.cpython-312-darwin.so +0 -0
  2. package/bin/_internal/_cffi_backend.cpython-312-darwin.so +0 -0
  3. package/bin/_internal/aiohttp/_http_parser.cpython-312-darwin.so +0 -0
  4. package/bin/_internal/aiohttp/_http_writer.cpython-312-darwin.so +0 -0
  5. package/bin/_internal/aiohttp/_websocket/mask.cpython-312-darwin.so +0 -0
  6. package/bin/_internal/aiohttp/_websocket/reader_c.cpython-312-darwin.so +0 -0
  7. package/bin/_internal/asyncpg/protocol/protocol.cpython-312-darwin.so +0 -0
  8. package/bin/_internal/attrs-26.1.0.dist-info/INSTALLER +1 -0
  9. package/bin/_internal/attrs-26.1.0.dist-info/METADATA +199 -0
  10. package/bin/_internal/attrs-26.1.0.dist-info/RECORD +55 -0
  11. package/bin/_internal/attrs-26.1.0.dist-info/WHEEL +4 -0
  12. package/bin/_internal/attrs-26.1.0.dist-info/licenses/LICENSE +21 -0
  13. package/bin/_internal/base_library.zip +0 -0
  14. package/bin/_internal/certifi/cacert.pem +4494 -0
  15. package/bin/_internal/certifi/py.typed +0 -0
  16. package/bin/_internal/charset_normalizer/cd.cpython-312-darwin.so +0 -0
  17. package/bin/_internal/charset_normalizer/md.cpython-312-darwin.so +0 -0
  18. package/bin/_internal/click-8.3.2.dist-info/INSTALLER +1 -0
  19. package/bin/_internal/click-8.3.2.dist-info/METADATA +84 -0
  20. package/bin/_internal/click-8.3.2.dist-info/RECORD +40 -0
  21. package/bin/_internal/click-8.3.2.dist-info/WHEEL +4 -0
  22. package/bin/_internal/click-8.3.2.dist-info/licenses/LICENSE.txt +28 -0
  23. package/bin/_internal/cryptography/hazmat/bindings/_rust.abi3.so +0 -0
  24. package/bin/_internal/cryptography-46.0.7.dist-info/INSTALLER +1 -0
  25. package/bin/_internal/cryptography-46.0.7.dist-info/METADATA +139 -0
  26. package/bin/_internal/cryptography-46.0.7.dist-info/RECORD +180 -0
  27. package/bin/_internal/cryptography-46.0.7.dist-info/WHEEL +4 -0
  28. package/bin/_internal/cryptography-46.0.7.dist-info/licenses/LICENSE +3 -0
  29. package/bin/_internal/cryptography-46.0.7.dist-info/licenses/LICENSE.APACHE +202 -0
  30. package/bin/_internal/cryptography-46.0.7.dist-info/licenses/LICENSE.BSD +27 -0
  31. package/bin/_internal/email_validator-2.1.0.dist-info/INSTALLER +1 -0
  32. package/bin/_internal/email_validator-2.1.0.dist-info/LICENSE +121 -0
  33. package/bin/_internal/email_validator-2.1.0.dist-info/METADATA +482 -0
  34. package/bin/_internal/email_validator-2.1.0.dist-info/RECORD +26 -0
  35. package/bin/_internal/email_validator-2.1.0.dist-info/REQUESTED +0 -0
  36. package/bin/_internal/email_validator-2.1.0.dist-info/WHEEL +5 -0
  37. package/bin/_internal/email_validator-2.1.0.dist-info/entry_points.txt +2 -0
  38. package/bin/_internal/email_validator-2.1.0.dist-info/top_level.txt +1 -0
  39. package/bin/_internal/fastmcp-2.9.2.dist-info/INSTALLER +1 -0
  40. package/bin/_internal/fastmcp-2.9.2.dist-info/METADATA +465 -0
  41. package/bin/_internal/fastmcp-2.9.2.dist-info/RECORD +150 -0
  42. package/bin/_internal/fastmcp-2.9.2.dist-info/REQUESTED +0 -0
  43. package/bin/_internal/fastmcp-2.9.2.dist-info/WHEEL +4 -0
  44. package/bin/_internal/fastmcp-2.9.2.dist-info/entry_points.txt +2 -0
  45. package/bin/_internal/fastmcp-2.9.2.dist-info/licenses/LICENSE +201 -0
  46. package/bin/_internal/frozenlist/_frozenlist.cpython-312-darwin.so +0 -0
  47. package/bin/_internal/h2-4.3.0.dist-info/INSTALLER +1 -0
  48. package/bin/_internal/h2-4.3.0.dist-info/METADATA +129 -0
  49. package/bin/_internal/h2-4.3.0.dist-info/RECORD +29 -0
  50. package/bin/_internal/h2-4.3.0.dist-info/WHEEL +5 -0
  51. package/bin/_internal/h2-4.3.0.dist-info/licenses/LICENSE +21 -0
  52. package/bin/_internal/h2-4.3.0.dist-info/top_level.txt +1 -0
  53. package/bin/_internal/httptools/parser/parser.cpython-312-darwin.so +0 -0
  54. package/bin/_internal/httptools/parser/url_parser.cpython-312-darwin.so +0 -0
  55. package/bin/_internal/integrations/cli_wrappers/IMPORTANT_USE_CASES.md +33 -0
  56. package/bin/_internal/integrations/github/claude-code-action/.prettierignore +2 -0
  57. package/bin/_internal/integrations/github/claude-code-action/.prettierrc +1 -0
  58. package/bin/_internal/integrations/github/claude-code-action/CLAUDE.md +136 -0
  59. package/bin/_internal/integrations/github/claude-code-action/CODE_OF_CONDUCT.md +128 -0
  60. package/bin/_internal/integrations/github/claude-code-action/CONTRIBUTING.md +116 -0
  61. package/bin/_internal/integrations/github/claude-code-action/LICENSE +21 -0
  62. package/bin/_internal/integrations/github/claude-code-action/README.md +53 -0
  63. package/bin/_internal/integrations/github/claude-code-action/ROADMAP.md +20 -0
  64. package/bin/_internal/integrations/github/claude-code-action/SECURITY.md +15 -0
  65. package/bin/_internal/integrations/github/claude-code-action/action.yml +294 -0
  66. package/bin/_internal/integrations/github/claude-code-action/base-action/.prettierrc +1 -0
  67. package/bin/_internal/integrations/github/claude-code-action/base-action/CLAUDE.md +60 -0
  68. package/bin/_internal/integrations/github/claude-code-action/base-action/CODE_OF_CONDUCT.md +128 -0
  69. package/bin/_internal/integrations/github/claude-code-action/base-action/CONTRIBUTING.md +136 -0
  70. package/bin/_internal/integrations/github/claude-code-action/base-action/LICENSE +21 -0
  71. package/bin/_internal/integrations/github/claude-code-action/base-action/MIRROR_DISCLAIMER.md +11 -0
  72. package/bin/_internal/integrations/github/claude-code-action/base-action/README.md +521 -0
  73. package/bin/_internal/integrations/github/claude-code-action/base-action/action.yml +149 -0
  74. package/bin/_internal/integrations/github/claude-code-action/base-action/bun.lock +54 -0
  75. package/bin/_internal/integrations/github/claude-code-action/base-action/examples/issue-triage.yml +108 -0
  76. package/bin/_internal/integrations/github/claude-code-action/base-action/package.json +23 -0
  77. package/bin/_internal/integrations/github/claude-code-action/base-action/scripts/install-hooks.sh +13 -0
  78. package/bin/_internal/integrations/github/claude-code-action/base-action/scripts/pre-push +46 -0
  79. package/bin/_internal/integrations/github/claude-code-action/base-action/src/index.ts +82 -0
  80. package/bin/_internal/integrations/github/claude-code-action/base-action/src/prepare-prompt.ts +82 -0
  81. package/bin/_internal/integrations/github/claude-code-action/base-action/src/run-claude.ts +257 -0
  82. package/bin/_internal/integrations/github/claude-code-action/base-action/src/run-vicoa.ts +301 -0
  83. package/bin/_internal/integrations/github/claude-code-action/base-action/src/setup-claude-code-settings.ts +68 -0
  84. package/bin/_internal/integrations/github/claude-code-action/base-action/src/validate-env.ts +54 -0
  85. package/bin/_internal/integrations/github/claude-code-action/base-action/test-local.sh +12 -0
  86. package/bin/_internal/integrations/github/claude-code-action/base-action/test-mcp-local.sh +18 -0
  87. package/bin/_internal/integrations/github/claude-code-action/base-action/tsconfig.json +30 -0
  88. package/bin/_internal/integrations/github/claude-code-action/bun.lock +384 -0
  89. package/bin/_internal/integrations/github/claude-code-action/docs/capabilities-and-limitations.md +33 -0
  90. package/bin/_internal/integrations/github/claude-code-action/docs/cloud-providers.md +99 -0
  91. package/bin/_internal/integrations/github/claude-code-action/docs/configuration.md +345 -0
  92. package/bin/_internal/integrations/github/claude-code-action/docs/custom-automations.md +113 -0
  93. package/bin/_internal/integrations/github/claude-code-action/docs/experimental.md +128 -0
  94. package/bin/_internal/integrations/github/claude-code-action/docs/faq.md +205 -0
  95. package/bin/_internal/integrations/github/claude-code-action/docs/migration-guide.md +261 -0
  96. package/bin/_internal/integrations/github/claude-code-action/docs/security.md +38 -0
  97. package/bin/_internal/integrations/github/claude-code-action/docs/setup.md +146 -0
  98. package/bin/_internal/integrations/github/claude-code-action/docs/usage.md +213 -0
  99. package/bin/_internal/integrations/github/claude-code-action/examples/auto-fix-ci/auto-fix-ci.yml +97 -0
  100. package/bin/_internal/integrations/github/claude-code-action/examples/auto-fix-ci/commands/fix-ci.md +127 -0
  101. package/bin/_internal/integrations/github/claude-code-action/examples/auto-fix-ci-signed/auto-fix-ci-signed.yml +97 -0
  102. package/bin/_internal/integrations/github/claude-code-action/examples/auto-fix-ci-signed/commands/fix-ci-signed.md +148 -0
  103. package/bin/_internal/integrations/github/claude-code-action/examples/issue-deduplication.yml +63 -0
  104. package/bin/_internal/integrations/github/claude-code-action/examples/issue-triage.yml +75 -0
  105. package/bin/_internal/integrations/github/claude-code-action/examples/vicoa.yml +75 -0
  106. package/bin/_internal/integrations/github/claude-code-action/package.json +31 -0
  107. package/bin/_internal/integrations/github/claude-code-action/scripts/install-hooks.sh +13 -0
  108. package/bin/_internal/integrations/github/claude-code-action/scripts/pre-commit +46 -0
  109. package/bin/_internal/integrations/github/claude-code-action/scripts/setup-network-restrictions.sh +123 -0
  110. package/bin/_internal/integrations/github/claude-code-action/src/create-prompt/index.ts +799 -0
  111. package/bin/_internal/integrations/github/claude-code-action/src/create-prompt/types.ts +102 -0
  112. package/bin/_internal/integrations/github/claude-code-action/src/entrypoints/collect-inputs.ts +58 -0
  113. package/bin/_internal/integrations/github/claude-code-action/src/entrypoints/format-turns.ts +465 -0
  114. package/bin/_internal/integrations/github/claude-code-action/src/entrypoints/prepare.ts +98 -0
  115. package/bin/_internal/integrations/github/claude-code-action/src/entrypoints/update-comment-link.ts +245 -0
  116. package/bin/_internal/integrations/github/claude-code-action/src/github/api/client.ts +23 -0
  117. package/bin/_internal/integrations/github/claude-code-action/src/github/api/config.ts +4 -0
  118. package/bin/_internal/integrations/github/claude-code-action/src/github/api/queries/github.ts +117 -0
  119. package/bin/_internal/integrations/github/claude-code-action/src/github/context.ts +277 -0
  120. package/bin/_internal/integrations/github/claude-code-action/src/github/data/fetcher.ts +233 -0
  121. package/bin/_internal/integrations/github/claude-code-action/src/github/data/formatter.ts +144 -0
  122. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/branch-cleanup.ts +132 -0
  123. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/branch.ts +163 -0
  124. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comment-logic.ts +203 -0
  125. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comments/common.ts +33 -0
  126. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comments/create-initial.ts +111 -0
  127. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comments/update-claude-comment.ts +70 -0
  128. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/comments/update-with-branch.ts +57 -0
  129. package/bin/_internal/integrations/github/claude-code-action/src/github/operations/git-config.ts +62 -0
  130. package/bin/_internal/integrations/github/claude-code-action/src/github/token.ts +108 -0
  131. package/bin/_internal/integrations/github/claude-code-action/src/github/types.ts +98 -0
  132. package/bin/_internal/integrations/github/claude-code-action/src/github/utils/image-downloader.ts +246 -0
  133. package/bin/_internal/integrations/github/claude-code-action/src/github/utils/sanitizer.ts +100 -0
  134. package/bin/_internal/integrations/github/claude-code-action/src/github/validation/actor.ts +64 -0
  135. package/bin/_internal/integrations/github/claude-code-action/src/github/validation/permissions.ts +47 -0
  136. package/bin/_internal/integrations/github/claude-code-action/src/github/validation/trigger.ts +148 -0
  137. package/bin/_internal/integrations/github/claude-code-action/src/mcp/github-actions-server.ts +279 -0
  138. package/bin/_internal/integrations/github/claude-code-action/src/mcp/github-comment-server.ts +101 -0
  139. package/bin/_internal/integrations/github/claude-code-action/src/mcp/github-file-ops-server.ts +677 -0
  140. package/bin/_internal/integrations/github/claude-code-action/src/mcp/github-inline-comment-server.ts +184 -0
  141. package/bin/_internal/integrations/github/claude-code-action/src/mcp/install-mcp-server.ts +201 -0
  142. package/bin/_internal/integrations/github/claude-code-action/src/modes/agent/index.ts +152 -0
  143. package/bin/_internal/integrations/github/claude-code-action/src/modes/agent/parse-tools.ts +22 -0
  144. package/bin/_internal/integrations/github/claude-code-action/src/modes/detector.ts +66 -0
  145. package/bin/_internal/integrations/github/claude-code-action/src/modes/registry.ts +54 -0
  146. package/bin/_internal/integrations/github/claude-code-action/src/modes/tag/index.ts +187 -0
  147. package/bin/_internal/integrations/github/claude-code-action/src/modes/types.ts +100 -0
  148. package/bin/_internal/integrations/github/claude-code-action/src/prepare/index.ts +20 -0
  149. package/bin/_internal/integrations/github/claude-code-action/src/prepare/types.ts +20 -0
  150. package/bin/_internal/integrations/github/claude-code-action/src/utils/retry.ts +40 -0
  151. package/bin/_internal/integrations/github/claude-code-action/tsconfig.json +30 -0
  152. package/bin/_internal/integrations/n8n/.prettierrc +10 -0
  153. package/bin/_internal/integrations/n8n/LICENSE +21 -0
  154. package/bin/_internal/integrations/n8n/README.md +298 -0
  155. package/bin/_internal/integrations/n8n/package-lock.json +2989 -0
  156. package/bin/_internal/integrations/n8n/package.json +68 -0
  157. package/bin/_internal/jiter/jiter.cpython-312-darwin.so +0 -0
  158. package/bin/_internal/libbz2.dylib +0 -0
  159. package/bin/_internal/libcom_err.3.0.dylib +0 -0
  160. package/bin/_internal/libcrypto.3.dylib +0 -0
  161. package/bin/_internal/libexpat.1.dylib +0 -0
  162. package/bin/_internal/libffi.8.dylib +0 -0
  163. package/bin/_internal/libgssapi_krb5.2.2.dylib +0 -0
  164. package/bin/_internal/libintl.8.dylib +0 -0
  165. package/bin/_internal/libk5crypto.3.1.dylib +0 -0
  166. package/bin/_internal/libkrb5.3.3.dylib +0 -0
  167. package/bin/_internal/libkrb5support.1.1.dylib +0 -0
  168. package/bin/_internal/liblzma.5.dylib +0 -0
  169. package/bin/_internal/libncursesw.6.dylib +0 -0
  170. package/bin/_internal/libpq.5.dylib +0 -0
  171. package/bin/_internal/libpython3.12.dylib +0 -0
  172. package/bin/_internal/libreadline.8.dylib +0 -0
  173. package/bin/_internal/libsqlite3.dylib +0 -0
  174. package/bin/_internal/libssl.3.dylib +0 -0
  175. package/bin/_internal/libtinfow.6.dylib +0 -0
  176. package/bin/_internal/libz.1.dylib +0 -0
  177. package/bin/_internal/mcp-1.9.4.dist-info/INSTALLER +1 -0
  178. package/bin/_internal/mcp-1.9.4.dist-info/METADATA +939 -0
  179. package/bin/_internal/mcp-1.9.4.dist-info/RECORD +154 -0
  180. package/bin/_internal/mcp-1.9.4.dist-info/WHEEL +4 -0
  181. package/bin/_internal/mcp-1.9.4.dist-info/entry_points.txt +2 -0
  182. package/bin/_internal/mcp-1.9.4.dist-info/licenses/LICENSE +21 -0
  183. package/bin/_internal/multidict/_multidict.cpython-312-darwin.so +0 -0
  184. package/bin/_internal/propcache/_helpers_c.cpython-312-darwin.so +0 -0
  185. package/bin/_internal/psycopg2/.dylibs/libcom_err.3.0.dylib +0 -0
  186. package/bin/_internal/psycopg2/.dylibs/libcrypto.3.dylib +0 -0
  187. package/bin/_internal/psycopg2/.dylibs/libgssapi_krb5.2.2.dylib +0 -0
  188. package/bin/_internal/psycopg2/.dylibs/libintl.8.dylib +0 -0
  189. package/bin/_internal/psycopg2/.dylibs/libk5crypto.3.1.dylib +0 -0
  190. package/bin/_internal/psycopg2/.dylibs/libkrb5.3.3.dylib +0 -0
  191. package/bin/_internal/psycopg2/.dylibs/libkrb5support.1.1.dylib +0 -0
  192. package/bin/_internal/psycopg2/.dylibs/libpq.5.dylib +0 -0
  193. package/bin/_internal/psycopg2/.dylibs/libssl.3.dylib +0 -0
  194. package/bin/_internal/psycopg2/_psycopg.cpython-312-darwin.so +0 -0
  195. package/bin/_internal/pydantic_core/_pydantic_core.cpython-312-darwin.so +0 -0
  196. package/bin/_internal/python3.12/lib-dynload/_asyncio.cpython-312-darwin.so +0 -0
  197. package/bin/_internal/python3.12/lib-dynload/_bisect.cpython-312-darwin.so +0 -0
  198. package/bin/_internal/python3.12/lib-dynload/_blake2.cpython-312-darwin.so +0 -0
  199. package/bin/_internal/python3.12/lib-dynload/_bz2.cpython-312-darwin.so +0 -0
  200. package/bin/_internal/python3.12/lib-dynload/_codecs_cn.cpython-312-darwin.so +0 -0
  201. package/bin/_internal/python3.12/lib-dynload/_codecs_hk.cpython-312-darwin.so +0 -0
  202. package/bin/_internal/python3.12/lib-dynload/_codecs_iso2022.cpython-312-darwin.so +0 -0
  203. package/bin/_internal/python3.12/lib-dynload/_codecs_jp.cpython-312-darwin.so +0 -0
  204. package/bin/_internal/python3.12/lib-dynload/_codecs_kr.cpython-312-darwin.so +0 -0
  205. package/bin/_internal/python3.12/lib-dynload/_codecs_tw.cpython-312-darwin.so +0 -0
  206. package/bin/_internal/python3.12/lib-dynload/_contextvars.cpython-312-darwin.so +0 -0
  207. package/bin/_internal/python3.12/lib-dynload/_csv.cpython-312-darwin.so +0 -0
  208. package/bin/_internal/python3.12/lib-dynload/_ctypes.cpython-312-darwin.so +0 -0
  209. package/bin/_internal/python3.12/lib-dynload/_datetime.cpython-312-darwin.so +0 -0
  210. package/bin/_internal/python3.12/lib-dynload/_decimal.cpython-312-darwin.so +0 -0
  211. package/bin/_internal/python3.12/lib-dynload/_hashlib.cpython-312-darwin.so +0 -0
  212. package/bin/_internal/python3.12/lib-dynload/_heapq.cpython-312-darwin.so +0 -0
  213. package/bin/_internal/python3.12/lib-dynload/_json.cpython-312-darwin.so +0 -0
  214. package/bin/_internal/python3.12/lib-dynload/_lzma.cpython-312-darwin.so +0 -0
  215. package/bin/_internal/python3.12/lib-dynload/_md5.cpython-312-darwin.so +0 -0
  216. package/bin/_internal/python3.12/lib-dynload/_multibytecodec.cpython-312-darwin.so +0 -0
  217. package/bin/_internal/python3.12/lib-dynload/_multiprocessing.cpython-312-darwin.so +0 -0
  218. package/bin/_internal/python3.12/lib-dynload/_opcode.cpython-312-darwin.so +0 -0
  219. package/bin/_internal/python3.12/lib-dynload/_pickle.cpython-312-darwin.so +0 -0
  220. package/bin/_internal/python3.12/lib-dynload/_posixshmem.cpython-312-darwin.so +0 -0
  221. package/bin/_internal/python3.12/lib-dynload/_posixsubprocess.cpython-312-darwin.so +0 -0
  222. package/bin/_internal/python3.12/lib-dynload/_queue.cpython-312-darwin.so +0 -0
  223. package/bin/_internal/python3.12/lib-dynload/_random.cpython-312-darwin.so +0 -0
  224. package/bin/_internal/python3.12/lib-dynload/_scproxy.cpython-312-darwin.so +0 -0
  225. package/bin/_internal/python3.12/lib-dynload/_sha1.cpython-312-darwin.so +0 -0
  226. package/bin/_internal/python3.12/lib-dynload/_sha2.cpython-312-darwin.so +0 -0
  227. package/bin/_internal/python3.12/lib-dynload/_sha3.cpython-312-darwin.so +0 -0
  228. package/bin/_internal/python3.12/lib-dynload/_socket.cpython-312-darwin.so +0 -0
  229. package/bin/_internal/python3.12/lib-dynload/_sqlite3.cpython-312-darwin.so +0 -0
  230. package/bin/_internal/python3.12/lib-dynload/_ssl.cpython-312-darwin.so +0 -0
  231. package/bin/_internal/python3.12/lib-dynload/_statistics.cpython-312-darwin.so +0 -0
  232. package/bin/_internal/python3.12/lib-dynload/_struct.cpython-312-darwin.so +0 -0
  233. package/bin/_internal/python3.12/lib-dynload/_uuid.cpython-312-darwin.so +0 -0
  234. package/bin/_internal/python3.12/lib-dynload/_zoneinfo.cpython-312-darwin.so +0 -0
  235. package/bin/_internal/python3.12/lib-dynload/array.cpython-312-darwin.so +0 -0
  236. package/bin/_internal/python3.12/lib-dynload/binascii.cpython-312-darwin.so +0 -0
  237. package/bin/_internal/python3.12/lib-dynload/fcntl.cpython-312-darwin.so +0 -0
  238. package/bin/_internal/python3.12/lib-dynload/grp.cpython-312-darwin.so +0 -0
  239. package/bin/_internal/python3.12/lib-dynload/math.cpython-312-darwin.so +0 -0
  240. package/bin/_internal/python3.12/lib-dynload/mmap.cpython-312-darwin.so +0 -0
  241. package/bin/_internal/python3.12/lib-dynload/pyexpat.cpython-312-darwin.so +0 -0
  242. package/bin/_internal/python3.12/lib-dynload/readline.cpython-312-darwin.so +0 -0
  243. package/bin/_internal/python3.12/lib-dynload/resource.cpython-312-darwin.so +0 -0
  244. package/bin/_internal/python3.12/lib-dynload/select.cpython-312-darwin.so +0 -0
  245. package/bin/_internal/python3.12/lib-dynload/syslog.cpython-312-darwin.so +0 -0
  246. package/bin/_internal/python3.12/lib-dynload/termios.cpython-312-darwin.so +0 -0
  247. package/bin/_internal/python3.12/lib-dynload/unicodedata.cpython-312-darwin.so +0 -0
  248. package/bin/_internal/python3.12/lib-dynload/zlib.cpython-312-darwin.so +0 -0
  249. package/bin/_internal/setuptools/_vendor/importlib_metadata-8.7.1.dist-info/INSTALLER +1 -0
  250. package/bin/_internal/setuptools/_vendor/importlib_metadata-8.7.1.dist-info/METADATA +133 -0
  251. package/bin/_internal/setuptools/_vendor/importlib_metadata-8.7.1.dist-info/RECORD +21 -0
  252. package/bin/_internal/setuptools/_vendor/importlib_metadata-8.7.1.dist-info/REQUESTED +0 -0
  253. package/bin/_internal/setuptools/_vendor/importlib_metadata-8.7.1.dist-info/WHEEL +5 -0
  254. package/bin/_internal/setuptools/_vendor/importlib_metadata-8.7.1.dist-info/licenses/LICENSE +73 -0
  255. package/bin/_internal/setuptools/_vendor/importlib_metadata-8.7.1.dist-info/top_level.txt +1 -0
  256. package/bin/_internal/setuptools/_vendor/jaraco/text/Lorem ipsum.txt +2 -0
  257. package/bin/_internal/sqlalchemy/cyextension/collections.cpython-312-darwin.so +0 -0
  258. package/bin/_internal/sqlalchemy/cyextension/immutabledict.cpython-312-darwin.so +0 -0
  259. package/bin/_internal/sqlalchemy/cyextension/processors.cpython-312-darwin.so +0 -0
  260. package/bin/_internal/sqlalchemy/cyextension/resultproxy.cpython-312-darwin.so +0 -0
  261. package/bin/_internal/sqlalchemy/cyextension/util.cpython-312-darwin.so +0 -0
  262. package/bin/_internal/uvloop/loop.cpython-312-darwin.so +0 -0
  263. package/bin/_internal/vicoa/_bin/README.md +28 -0
  264. package/bin/_internal/vicoa-1.3.9.dist-info/INSTALLER +1 -0
  265. package/bin/_internal/vicoa-1.3.9.dist-info/METADATA +311 -0
  266. package/bin/_internal/vicoa-1.3.9.dist-info/RECORD +11 -0
  267. package/bin/_internal/vicoa-1.3.9.dist-info/REQUESTED +0 -0
  268. package/bin/_internal/vicoa-1.3.9.dist-info/WHEEL +5 -0
  269. package/bin/_internal/vicoa-1.3.9.dist-info/direct_url.json +1 -0
  270. package/bin/_internal/vicoa-1.3.9.dist-info/entry_points.txt +2 -0
  271. package/bin/_internal/vicoa-1.3.9.dist-info/licenses/LICENSE +201 -0
  272. package/bin/_internal/vicoa-1.3.9.dist-info/top_level.txt +3 -0
  273. package/bin/_internal/watchfiles/_rust_notify.cpython-312-darwin.so +0 -0
  274. package/bin/_internal/websockets/speedups.cpython-312-darwin.so +0 -0
  275. package/bin/_internal/websockets-14.2.dist-info/INSTALLER +1 -0
  276. package/bin/_internal/websockets-14.2.dist-info/LICENSE +24 -0
  277. package/bin/_internal/websockets-14.2.dist-info/METADATA +178 -0
  278. package/bin/_internal/websockets-14.2.dist-info/RECORD +98 -0
  279. package/bin/_internal/websockets-14.2.dist-info/WHEEL +5 -0
  280. package/bin/_internal/websockets-14.2.dist-info/top_level.txt +1 -0
  281. package/bin/_internal/yaml/_yaml.cpython-312-darwin.so +0 -0
  282. package/bin/_internal/yarl/_quoting_c.cpython-312-darwin.so +0 -0
  283. package/bin/_internal/zstandard/_cffi.cpython-312-darwin.so +0 -0
  284. package/bin/_internal/zstandard/backend_c.cpython-312-darwin.so +0 -0
  285. package/package.json +2 -2
@@ -0,0 +1,178 @@
1
+ Metadata-Version: 2.2
2
+ Name: websockets
3
+ Version: 14.2
4
+ Summary: An implementation of the WebSocket Protocol (RFC 6455 & 7692)
5
+ Author-email: Aymeric Augustin <aymeric.augustin@m4x.org>
6
+ License: BSD-3-Clause
7
+ Project-URL: Homepage, https://github.com/python-websockets/websockets
8
+ Project-URL: Changelog, https://websockets.readthedocs.io/en/stable/project/changelog.html
9
+ Project-URL: Documentation, https://websockets.readthedocs.io/
10
+ Project-URL: Funding, https://tidelift.com/subscription/pkg/pypi-websockets?utm_source=pypi-websockets&utm_medium=referral&utm_campaign=readme
11
+ Project-URL: Tracker, https://github.com/python-websockets/websockets/issues
12
+ Keywords: WebSocket
13
+ Classifier: Development Status :: 5 - Production/Stable
14
+ Classifier: Environment :: Web Environment
15
+ Classifier: Intended Audience :: Developers
16
+ Classifier: License :: OSI Approved :: BSD License
17
+ Classifier: Operating System :: OS Independent
18
+ Classifier: Programming Language :: Python
19
+ Classifier: Programming Language :: Python :: 3
20
+ Classifier: Programming Language :: Python :: 3.9
21
+ Classifier: Programming Language :: Python :: 3.10
22
+ Classifier: Programming Language :: Python :: 3.11
23
+ Classifier: Programming Language :: Python :: 3.12
24
+ Classifier: Programming Language :: Python :: 3.13
25
+ Requires-Python: >=3.9
26
+ Description-Content-Type: text/x-rst
27
+ License-File: LICENSE
28
+ Dynamic: description
29
+ Dynamic: description-content-type
30
+
31
+ .. image:: logo/horizontal.svg
32
+ :width: 480px
33
+ :alt: websockets
34
+
35
+ |licence| |version| |pyversions| |tests| |docs| |openssf|
36
+
37
+ .. |licence| image:: https://img.shields.io/pypi/l/websockets.svg
38
+ :target: https://pypi.python.org/pypi/websockets
39
+
40
+ .. |version| image:: https://img.shields.io/pypi/v/websockets.svg
41
+ :target: https://pypi.python.org/pypi/websockets
42
+
43
+ .. |pyversions| image:: https://img.shields.io/pypi/pyversions/websockets.svg
44
+ :target: https://pypi.python.org/pypi/websockets
45
+
46
+ .. |tests| image:: https://img.shields.io/github/checks-status/python-websockets/websockets/main?label=tests
47
+ :target: https://github.com/python-websockets/websockets/actions/workflows/tests.yml
48
+
49
+ .. |docs| image:: https://img.shields.io/readthedocs/websockets.svg
50
+ :target: https://websockets.readthedocs.io/
51
+
52
+ .. |openssf| image:: https://bestpractices.coreinfrastructure.org/projects/6475/badge
53
+ :target: https://bestpractices.coreinfrastructure.org/projects/6475
54
+
55
+ What is ``websockets``?
56
+ -----------------------
57
+
58
+ websockets is a library for building WebSocket_ servers and clients in Python
59
+ with a focus on correctness, simplicity, robustness, and performance.
60
+
61
+ .. _WebSocket: https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API
62
+
63
+ Built on top of ``asyncio``, Python's standard asynchronous I/O framework, the
64
+ default implementation provides an elegant coroutine-based API.
65
+
66
+ An implementation on top of ``threading`` and a Sans-I/O implementation are also
67
+ available.
68
+
69
+ `Documentation is available on Read the Docs. <https://websockets.readthedocs.io/>`_
70
+
71
+ .. copy-pasted because GitHub doesn't support the include directive
72
+
73
+ Here's an echo server with the ``asyncio`` API:
74
+
75
+ .. code:: python
76
+
77
+ #!/usr/bin/env python
78
+
79
+ import asyncio
80
+ from websockets.server import serve
81
+
82
+ async def echo(websocket):
83
+ async for message in websocket:
84
+ await websocket.send(message)
85
+
86
+ async def main():
87
+ async with serve(echo, "localhost", 8765):
88
+ await asyncio.get_running_loop().create_future() # run forever
89
+
90
+ asyncio.run(main())
91
+
92
+ Here's how a client sends and receives messages with the ``threading`` API:
93
+
94
+ .. code:: python
95
+
96
+ #!/usr/bin/env python
97
+
98
+ from websockets.sync.client import connect
99
+
100
+ def hello():
101
+ with connect("ws://localhost:8765") as websocket:
102
+ websocket.send("Hello world!")
103
+ message = websocket.recv()
104
+ print(f"Received: {message}")
105
+
106
+ hello()
107
+
108
+
109
+ Does that look good?
110
+
111
+ `Get started with the tutorial! <https://websockets.readthedocs.io/en/stable/intro/index.html>`_
112
+
113
+ Why should I use ``websockets``?
114
+ --------------------------------
115
+
116
+ The development of ``websockets`` is shaped by four principles:
117
+
118
+ 1. **Correctness**: ``websockets`` is heavily tested for compliance with
119
+ :rfc:`6455`. Continuous integration fails under 100% branch coverage.
120
+
121
+ 2. **Simplicity**: all you need to understand is ``msg = await ws.recv()`` and
122
+ ``await ws.send(msg)``. ``websockets`` takes care of managing connections
123
+ so you can focus on your application.
124
+
125
+ 3. **Robustness**: ``websockets`` is built for production. For example, it was
126
+ the only library to `handle backpressure correctly`_ before the issue
127
+ became widely known in the Python community.
128
+
129
+ 4. **Performance**: memory usage is optimized and configurable. A C extension
130
+ accelerates expensive operations. It's pre-compiled for Linux, macOS and
131
+ Windows and packaged in the wheel format for each system and Python version.
132
+
133
+ Documentation is a first class concern in the project. Head over to `Read the
134
+ Docs`_ and see for yourself.
135
+
136
+ .. _Read the Docs: https://websockets.readthedocs.io/
137
+ .. _handle backpressure correctly: https://vorpus.org/blog/some-thoughts-on-asynchronous-api-design-in-a-post-asyncawait-world/#websocket-servers
138
+
139
+ Why shouldn't I use ``websockets``?
140
+ -----------------------------------
141
+
142
+ * If you prefer callbacks over coroutines: ``websockets`` was created to
143
+ provide the best coroutine-based API to manage WebSocket connections in
144
+ Python. Pick another library for a callback-based API.
145
+
146
+ * If you're looking for a mixed HTTP / WebSocket library: ``websockets`` aims
147
+ at being an excellent implementation of :rfc:`6455`: The WebSocket Protocol
148
+ and :rfc:`7692`: Compression Extensions for WebSocket. Its support for HTTP
149
+ is minimal — just enough for an HTTP health check.
150
+
151
+ If you want to do both in the same server, look at HTTP frameworks that
152
+ build on top of ``websockets`` to support WebSocket connections, like
153
+ Sanic_.
154
+
155
+ .. _Sanic: https://sanicframework.org/en/
156
+
157
+ What else?
158
+ ----------
159
+
160
+ Bug reports, patches and suggestions are welcome!
161
+
162
+ To report a security vulnerability, please use the `Tidelift security
163
+ contact`_. Tidelift will coordinate the fix and disclosure.
164
+
165
+ .. _Tidelift security contact: https://tidelift.com/security
166
+
167
+ For anything else, please open an issue_ or send a `pull request`_.
168
+
169
+ .. _issue: https://github.com/python-websockets/websockets/issues/new
170
+ .. _pull request: https://github.com/python-websockets/websockets/compare/
171
+
172
+ Participants must uphold the `Contributor Covenant code of conduct`_.
173
+
174
+ .. _Contributor Covenant code of conduct: https://github.com/python-websockets/websockets/blob/main/CODE_OF_CONDUCT.md
175
+
176
+ ``websockets`` is released under the `BSD license`_.
177
+
178
+ .. _BSD license: https://github.com/python-websockets/websockets/blob/main/LICENSE
@@ -0,0 +1,98 @@
1
+ websockets-14.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
2
+ websockets-14.2.dist-info/LICENSE,sha256=PWoMBQ2L7FL6utUC5F-yW9ArytvXDeo01Ee2oP9Obag,1514
3
+ websockets-14.2.dist-info/METADATA,sha256=hacIA4YHk6m9iA12RVSN1Gxl5uNLryI5Q8DlMNL6-7c,6782
4
+ websockets-14.2.dist-info/RECORD,,
5
+ websockets-14.2.dist-info/WHEEL,sha256=VujM3ypTCyUW6hcTDdK2ej0ARVMxlU1Djlh_zWnDgqk,109
6
+ websockets-14.2.dist-info/top_level.txt,sha256=CMpdKklxKsvZgCgyltxUWOHibZXZ1uYIVpca9xsQ8Hk,11
7
+ websockets/__init__.py,sha256=RWKLmDzADSdb13lYR1THZW-PX8dyBITJFBxxV_vQPlA,6323
8
+ websockets/__main__.py,sha256=q6tBA72COhz7NUkuP_VG9IVypJjOexx2Oi7qkKNxneg,4756
9
+ websockets/__pycache__/__init__.cpython-312.pyc,,
10
+ websockets/__pycache__/__main__.cpython-312.pyc,,
11
+ websockets/__pycache__/auth.cpython-312.pyc,,
12
+ websockets/__pycache__/client.cpython-312.pyc,,
13
+ websockets/__pycache__/connection.cpython-312.pyc,,
14
+ websockets/__pycache__/datastructures.cpython-312.pyc,,
15
+ websockets/__pycache__/exceptions.cpython-312.pyc,,
16
+ websockets/__pycache__/frames.cpython-312.pyc,,
17
+ websockets/__pycache__/headers.cpython-312.pyc,,
18
+ websockets/__pycache__/http.cpython-312.pyc,,
19
+ websockets/__pycache__/http11.cpython-312.pyc,,
20
+ websockets/__pycache__/imports.cpython-312.pyc,,
21
+ websockets/__pycache__/protocol.cpython-312.pyc,,
22
+ websockets/__pycache__/server.cpython-312.pyc,,
23
+ websockets/__pycache__/streams.cpython-312.pyc,,
24
+ websockets/__pycache__/typing.cpython-312.pyc,,
25
+ websockets/__pycache__/uri.cpython-312.pyc,,
26
+ websockets/__pycache__/utils.cpython-312.pyc,,
27
+ websockets/__pycache__/version.cpython-312.pyc,,
28
+ websockets/asyncio/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
+ websockets/asyncio/__pycache__/__init__.cpython-312.pyc,,
30
+ websockets/asyncio/__pycache__/async_timeout.cpython-312.pyc,,
31
+ websockets/asyncio/__pycache__/client.cpython-312.pyc,,
32
+ websockets/asyncio/__pycache__/compatibility.cpython-312.pyc,,
33
+ websockets/asyncio/__pycache__/connection.cpython-312.pyc,,
34
+ websockets/asyncio/__pycache__/messages.cpython-312.pyc,,
35
+ websockets/asyncio/__pycache__/server.cpython-312.pyc,,
36
+ websockets/asyncio/async_timeout.py,sha256=N-6Mubyiaoh66PAXGvCzhgxCM-7V2XiRnH32Xi6J6TE,8971
37
+ websockets/asyncio/client.py,sha256=N9E1T4kPp4H7iaT2bLuxbRC1hixKaMj8XB1QW3MJtGU,22108
38
+ websockets/asyncio/compatibility.py,sha256=gkenDDhzNbm6_iXV5Edvbvp6uHZYdrTvGNjt8P_JtyQ,786
39
+ websockets/asyncio/connection.py,sha256=rlQu3t-fpDlILwkw8trJaCIvAEGdqHOb0M3oRSt5Qmg,47833
40
+ websockets/asyncio/messages.py,sha256=qc4bLmsww4DG4SxhzUrH7r_Q5N66-W-HsfErdugJcyo,10472
41
+ websockets/asyncio/server.py,sha256=0TyEMokV07deB0VGlCVrvngZXlRHIE-Uf-XQIdgjCkY,37216
42
+ websockets/auth.py,sha256=U_Jwmn59ZRQ6EecpOvMizQCG_ZbAvgUf1ik7haZRC3c,568
43
+ websockets/client.py,sha256=5A8IqtvGBNGLbH7Uw-z3HsVKvs4eWmEizxbWguRa0m4,13685
44
+ websockets/connection.py,sha256=OLiMVkNd25_86sB8Q7CrCwBoXy9nA0OCgdgLRA8WUR8,323
45
+ websockets/datastructures.py,sha256=zj0emMN8pLtWyqg2l9aYnlJhat_8IzPhIuLCvhGkEj0,5615
46
+ websockets/exceptions.py,sha256=JyT-PCNS0cqhBbFzusMdH7qKEo9oXT3T4IARoTQThSI,11742
47
+ websockets/extensions/__init__.py,sha256=QkZsxaJVllVSp1uhdD5uPGibdbx_091GrVVfS5LXcpw,98
48
+ websockets/extensions/__pycache__/__init__.cpython-312.pyc,,
49
+ websockets/extensions/__pycache__/base.cpython-312.pyc,,
50
+ websockets/extensions/__pycache__/permessage_deflate.cpython-312.pyc,,
51
+ websockets/extensions/base.py,sha256=zjs3fHPip45aGlDu9YvWqwr5T9XDGr8ED-oMft6h6to,2899
52
+ websockets/extensions/permessage_deflate.py,sha256=3yXw3hYtk6pRNT36hrXbNVI_4atMw_NR8RlUGfZO_wQ,25662
53
+ websockets/frames.py,sha256=p6e3R05-SKtMDcHh8SHYspFOHG1ei5yJvTWr5Lebxxs,12759
54
+ websockets/headers.py,sha256=l_YCLE0Euj8cJG5jdCSf3tRcjmohzNXEcjB_hoVoHWg,15958
55
+ websockets/http.py,sha256=T1tNLmbkFCneXQ6qepBmsVVDXyP9i500IVzTJTeBMR4,659
56
+ websockets/http11.py,sha256=ekc6ftn3gMgcK-wATfJibxZaK_iuahybyKpjBZvlVu0,14816
57
+ websockets/imports.py,sha256=T_B9TUmHoceKMQ-PNphdQQAH2XdxAxwSQNeQEgqILkE,2795
58
+ websockets/legacy/__init__.py,sha256=wQ5zRIENGUS_5eKNAX9CRE7x1TwKapKimrQFFWN9Sxs,276
59
+ websockets/legacy/__pycache__/__init__.cpython-312.pyc,,
60
+ websockets/legacy/__pycache__/auth.cpython-312.pyc,,
61
+ websockets/legacy/__pycache__/client.cpython-312.pyc,,
62
+ websockets/legacy/__pycache__/exceptions.cpython-312.pyc,,
63
+ websockets/legacy/__pycache__/framing.cpython-312.pyc,,
64
+ websockets/legacy/__pycache__/handshake.cpython-312.pyc,,
65
+ websockets/legacy/__pycache__/http.cpython-312.pyc,,
66
+ websockets/legacy/__pycache__/protocol.cpython-312.pyc,,
67
+ websockets/legacy/__pycache__/server.cpython-312.pyc,,
68
+ websockets/legacy/auth.py,sha256=DcQcCSeVeP93JcH8vFWE0HIJL-X-f23LZ0DsJpav1So,6531
69
+ websockets/legacy/client.py,sha256=2JJqsVCHz4cXSTf--jSuUKvC04GcOYXEgy_1GQzxGMI,26985
70
+ websockets/legacy/exceptions.py,sha256=ViEjpoT09fzx_Zqf0aNGDVtRDNjXaOw0gdCta3LkjFc,1924
71
+ websockets/legacy/framing.py,sha256=RbLG5T9Y0zJoS0RybTJ-zpo3GVGjcwIt7aJkCTV29dg,6366
72
+ websockets/legacy/handshake.py,sha256=2Nzr5AN2xvDC5EdNP-kB3lOcrAaUNlYuj_-hr_jv7pM,5285
73
+ websockets/legacy/http.py,sha256=cOCQmDWhIKQmm8UWGXPW7CDZg03wjogCsb0LP9oetNQ,7061
74
+ websockets/legacy/protocol.py,sha256=GqPR2EIrYe0hcuOzqSa06jzX7mCNjUCSC6TpPzSzWaU,63902
75
+ websockets/legacy/server.py,sha256=BNhoo8Q6jDrmd42HrZlBYGL7xfiSoVvUB-yRBozh-D0,45250
76
+ websockets/protocol.py,sha256=Fyog1EsV8xthnJdX3MH9-bHbEGgPRC0tqwGWCPK4Jrg,26537
77
+ websockets/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
78
+ websockets/server.py,sha256=GrGYDlPjvQs4KO_xGfP1W3Tb1E97qBuzx2HmVGbix4k,21625
79
+ websockets/speedups.c,sha256=j-damnT02MKRoYw8MtTT45qLGX6z6TnriqhTkyfcNZE,5767
80
+ websockets/speedups.cpython-312-darwin.so,sha256=kjmWDj3ph7AkhweYrqyAWoBIasAAkKp1OzMql7WxOcA,51376
81
+ websockets/speedups.pyi,sha256=NikZ3sAxs9Z2uWH_ZvctvMJUBbsHeC2D1L954EVSwJc,55
82
+ websockets/streams.py,sha256=kcI0JXNRqVPoVEhL67-urICwi0sgLNyPyWdccFzBuVU,4047
83
+ websockets/sync/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
84
+ websockets/sync/__pycache__/__init__.cpython-312.pyc,,
85
+ websockets/sync/__pycache__/client.cpython-312.pyc,,
86
+ websockets/sync/__pycache__/connection.cpython-312.pyc,,
87
+ websockets/sync/__pycache__/messages.cpython-312.pyc,,
88
+ websockets/sync/__pycache__/server.cpython-312.pyc,,
89
+ websockets/sync/__pycache__/utils.cpython-312.pyc,,
90
+ websockets/sync/client.py,sha256=FLWcCx5DJkYfHWUI7815JkCu4y_CXw1N8NCff75ieMo,12010
91
+ websockets/sync/connection.py,sha256=0pkLf2jYUGihqJ_DMIR9GmD-0LK_RaeMZ6WKgCeSX0w,36394
92
+ websockets/sync/messages.py,sha256=3vwM80ifXmtdkioWhNceHNEcHQcijFENPECpd3Pa69A,11704
93
+ websockets/sync/server.py,sha256=lRORht1UMBUL3BRGb7avUm3D7qnfFD1YYWbs9xW5cwU,26637
94
+ websockets/sync/utils.py,sha256=TtW-ncYFvJmiSW2gO86ngE2BVsnnBdL-4H88kWNDYbg,1107
95
+ websockets/typing.py,sha256=V1pNSMgzJNfq8VknVcGdVgBGyoM0ZEkoVJxW6haXN1U,2017
96
+ websockets/uri.py,sha256=1r8dXNEiLcdMrCrzXmsy7DwSHiF3gaOWlmAdoFexOOM,3125
97
+ websockets/utils.py,sha256=ZpH3WJLsQS29Jf5R6lTacxf_hPd8E4zS2JmGyNpg4bA,1150
98
+ websockets/version.py,sha256=Rn8dQcHMdGB4E1DfcCsHhkqVYBlr0l3lPPK6hemeN9s,3202
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (75.8.0)
3
+ Root-Is-Purelib: false
4
+ Tag: cp312-cp312-macosx_11_0_arm64
5
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vicoa/cli",
3
- "version": "0.1.3-darwin-arm64",
3
+ "version": "0.1.4-darwin-arm64",
4
4
  "description": "Vicoa CLI - darwin arm64 binary",
5
5
  "os": [
6
6
  "darwin"
@@ -9,7 +9,7 @@
9
9
  "arm64"
10
10
  ],
11
11
  "files": [
12
- "bin/vicoa"
12
+ "bin/"
13
13
  ],
14
14
  "license": "Apache-2.0"
15
15
  }