visaljs 0.0.2 → 0.0.4

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 (1243) hide show
  1. package/README.md +3 -1
  2. package/cli.js +545 -86
  3. package/node/include/js_node.h +30 -5
  4. package/node/include/js_uv.h +36 -0
  5. package/node/prelude/async_hooks.js +0 -0
  6. package/node/prelude/buffer.js +0 -0
  7. package/node/prelude/crypto.js +7 -10
  8. package/node/prelude/dns.js +99 -0
  9. package/node/prelude/dns_promises.js +10 -0
  10. package/node/prelude/events.js +0 -0
  11. package/node/prelude/fs.js +0 -0
  12. package/node/prelude/http.js +1039 -195
  13. package/node/prelude/http2.js +0 -0
  14. package/node/prelude/internal/crypto/asym.js +39 -12
  15. package/node/prelude/internal/crypto/cipher.js +0 -0
  16. package/node/prelude/internal/crypto/dh_groups.js +12 -0
  17. package/node/prelude/internal/crypto/diffiehellman.js +354 -0
  18. package/node/prelude/internal/crypto/hash.js +1 -1
  19. package/node/prelude/internal/crypto/kdf.js +0 -0
  20. package/node/prelude/internal/crypto/key_type.js +3 -0
  21. package/node/prelude/internal/crypto/keys.js +39 -9
  22. package/node/prelude/internal/crypto/random.js +0 -0
  23. package/node/prelude/internal/crypto/util.js +0 -0
  24. package/node/prelude/internal/errors.js +0 -0
  25. package/node/prelude/internal/http_agent.js +249 -0
  26. package/node/prelude/internal/net.js +33 -0
  27. package/node/prelude/internal/querystring.js +0 -0
  28. package/node/prelude/internal/socketaddress.js +249 -0
  29. package/node/prelude/internal/tls/common.js +306 -0
  30. package/node/prelude/internal/tls/wrap.js +1220 -0
  31. package/node/prelude/internal/tls/x509.js +394 -0
  32. package/node/prelude/module.js +0 -0
  33. package/node/prelude/net.js +1082 -50
  34. package/node/prelude/os.js +2 -2
  35. package/node/prelude/path.js +0 -0
  36. package/node/prelude/process.js +0 -0
  37. package/node/prelude/querystring.js +0 -0
  38. package/node/prelude/stream.js +6 -0
  39. package/node/prelude/stream_promises.js +0 -0
  40. package/node/prelude/stream_web.js +0 -0
  41. package/node/prelude/string_decoder.js +0 -0
  42. package/node/prelude/tls.js +141 -0
  43. package/node/prelude/tty.js +0 -0
  44. package/node/prelude/url.js +0 -0
  45. package/node/prelude/util.js +5 -2
  46. package/node/prelude/util_types.js +85 -0
  47. package/node/prelude/zlib.js +0 -0
  48. package/node/src/host_fs.c +10 -2
  49. package/node/src/host_http.c +268 -270
  50. package/node/src/host_loop.c +84 -0
  51. package/node/src/host_net.c +495 -0
  52. package/node/src/host_os.c +0 -0
  53. package/node/src/host_sys.c +54 -26
  54. package/node/third_party/libuv/LICENSE +0 -0
  55. package/node/third_party/libuv/include/uv/aix.h +0 -0
  56. package/node/third_party/libuv/include/uv/bsd.h +0 -0
  57. package/node/third_party/libuv/include/uv/darwin.h +0 -0
  58. package/node/third_party/libuv/include/uv/errno.h +0 -0
  59. package/node/third_party/libuv/include/uv/linux.h +0 -0
  60. package/node/third_party/libuv/include/uv/os390.h +0 -0
  61. package/node/third_party/libuv/include/uv/posix.h +0 -0
  62. package/node/third_party/libuv/include/uv/sunos.h +0 -0
  63. package/node/third_party/libuv/include/uv/threadpool.h +0 -0
  64. package/node/third_party/libuv/include/uv/tree.h +0 -0
  65. package/node/third_party/libuv/include/uv/unix.h +0 -0
  66. package/node/third_party/libuv/include/uv/version.h +0 -0
  67. package/node/third_party/libuv/include/uv/win.h +0 -0
  68. package/node/third_party/libuv/include/uv.h +0 -0
  69. package/node/third_party/libuv/src/fs-poll.c +0 -0
  70. package/node/third_party/libuv/src/heap-inl.h +0 -0
  71. package/node/third_party/libuv/src/idna.c +0 -0
  72. package/node/third_party/libuv/src/idna.h +0 -0
  73. package/node/third_party/libuv/src/inet.c +0 -0
  74. package/node/third_party/libuv/src/queue.h +0 -0
  75. package/node/third_party/libuv/src/random.c +0 -0
  76. package/node/third_party/libuv/src/strscpy.c +0 -0
  77. package/node/third_party/libuv/src/strscpy.h +0 -0
  78. package/node/third_party/libuv/src/strtok.c +0 -0
  79. package/node/third_party/libuv/src/strtok.h +0 -0
  80. package/node/third_party/libuv/src/thread-common.c +0 -0
  81. package/node/third_party/libuv/src/threadpool.c +0 -0
  82. package/node/third_party/libuv/src/timer.c +0 -0
  83. package/node/third_party/libuv/src/unix/async.c +0 -0
  84. package/node/third_party/libuv/src/unix/bsd-ifaddrs.c +0 -0
  85. package/node/third_party/libuv/src/unix/core.c +0 -0
  86. package/node/third_party/libuv/src/unix/darwin-proctitle.c +0 -0
  87. package/node/third_party/libuv/src/unix/darwin-stub.h +0 -0
  88. package/node/third_party/libuv/src/unix/darwin-syscalls.h +0 -0
  89. package/node/third_party/libuv/src/unix/darwin.c +0 -0
  90. package/node/third_party/libuv/src/unix/dl.c +0 -0
  91. package/node/third_party/libuv/src/unix/fs.c +0 -0
  92. package/node/third_party/libuv/src/unix/fsevents.c +0 -0
  93. package/node/third_party/libuv/src/unix/getaddrinfo.c +0 -0
  94. package/node/third_party/libuv/src/unix/getnameinfo.c +0 -0
  95. package/node/third_party/libuv/src/unix/internal.h +0 -0
  96. package/node/third_party/libuv/src/unix/kqueue.c +0 -0
  97. package/node/third_party/libuv/src/unix/linux.c +0 -0
  98. package/node/third_party/libuv/src/unix/loop-watcher.c +0 -0
  99. package/node/third_party/libuv/src/unix/loop.c +0 -0
  100. package/node/third_party/libuv/src/unix/pipe.c +0 -0
  101. package/node/third_party/libuv/src/unix/poll.c +0 -0
  102. package/node/third_party/libuv/src/unix/process.c +0 -0
  103. package/node/third_party/libuv/src/unix/procfs-exepath.c +0 -0
  104. package/node/third_party/libuv/src/unix/proctitle.c +0 -0
  105. package/node/third_party/libuv/src/unix/random-devurandom.c +0 -0
  106. package/node/third_party/libuv/src/unix/random-getentropy.c +0 -0
  107. package/node/third_party/libuv/src/unix/random-getrandom.c +0 -0
  108. package/node/third_party/libuv/src/unix/random-sysctl-linux.c +0 -0
  109. package/node/third_party/libuv/src/unix/signal.c +0 -0
  110. package/node/third_party/libuv/src/unix/stream.c +0 -0
  111. package/node/third_party/libuv/src/unix/tcp.c +0 -0
  112. package/node/third_party/libuv/src/unix/thread.c +0 -0
  113. package/node/third_party/libuv/src/unix/tty.c +0 -0
  114. package/node/third_party/libuv/src/unix/udp.c +0 -0
  115. package/node/third_party/libuv/src/uv-common.c +0 -0
  116. package/node/third_party/libuv/src/uv-common.h +0 -0
  117. package/node/third_party/libuv/src/uv-data-getter-setters.c +0 -0
  118. package/node/third_party/libuv/src/version.c +0 -0
  119. package/node/third_party/libuv/src/win/async.c +98 -0
  120. package/node/third_party/libuv/src/win/atomicops-inl.h +61 -0
  121. package/node/third_party/libuv/src/win/core.c +683 -0
  122. package/node/third_party/libuv/src/win/detect-wakeup.c +56 -0
  123. package/node/third_party/libuv/src/win/dl.c +135 -0
  124. package/node/third_party/libuv/src/win/error.c +183 -0
  125. package/node/third_party/libuv/src/win/fs-event.c +620 -0
  126. package/node/third_party/libuv/src/win/fs-fd-hash-inl.h +200 -0
  127. package/node/third_party/libuv/src/win/fs.c +3774 -0
  128. package/node/third_party/libuv/src/win/getaddrinfo.c +388 -0
  129. package/node/third_party/libuv/src/win/getnameinfo.c +146 -0
  130. package/node/third_party/libuv/src/win/handle-inl.h +180 -0
  131. package/node/third_party/libuv/src/win/handle.c +162 -0
  132. package/node/third_party/libuv/src/win/internal.h +335 -0
  133. package/node/third_party/libuv/src/win/loop-watcher.c +122 -0
  134. package/node/third_party/libuv/src/win/pipe.c +2725 -0
  135. package/node/third_party/libuv/src/win/poll.c +586 -0
  136. package/node/third_party/libuv/src/win/process-stdio.c +419 -0
  137. package/node/third_party/libuv/src/win/process.c +1407 -0
  138. package/node/third_party/libuv/src/win/req-inl.h +214 -0
  139. package/node/third_party/libuv/src/win/signal.c +282 -0
  140. package/node/third_party/libuv/src/win/snprintf.c +42 -0
  141. package/node/third_party/libuv/src/win/stream-inl.h +54 -0
  142. package/node/third_party/libuv/src/win/stream.c +252 -0
  143. package/node/third_party/libuv/src/win/tcp.c +1674 -0
  144. package/node/third_party/libuv/src/win/thread.c +568 -0
  145. package/node/third_party/libuv/src/win/tty.c +2460 -0
  146. package/node/third_party/libuv/src/win/udp.c +1162 -0
  147. package/node/third_party/libuv/src/win/util.c +1750 -0
  148. package/node/third_party/libuv/src/win/winapi.c +144 -0
  149. package/node/third_party/libuv/src/win/winapi.h +4831 -0
  150. package/node/third_party/libuv/src/win/winsock.c +575 -0
  151. package/node/third_party/libuv/src/win/winsock.h +160 -0
  152. package/node/third_party/llhttp/LICENSE +0 -0
  153. package/node/third_party/llhttp/api.c +0 -0
  154. package/node/third_party/llhttp/http.c +0 -0
  155. package/node/third_party/llhttp/llhttp.c +0 -0
  156. package/node/third_party/llhttp/llhttp.h +0 -0
  157. package/package.json +1 -1
  158. package/runtime/include/js_atoms.gen.h +0 -0
  159. package/runtime/include/js_atoms.h +0 -0
  160. package/runtime/include/js_bigint.h +0 -0
  161. package/runtime/include/js_buffer.h +0 -0
  162. package/runtime/include/js_builtins.h +16 -0
  163. package/runtime/include/js_console.h +2 -0
  164. package/runtime/include/js_convert.h +0 -0
  165. package/runtime/include/js_core.def +23 -0
  166. package/runtime/include/js_crypto.h +23 -0
  167. package/runtime/include/js_error.h +0 -0
  168. package/runtime/include/js_exception.h +0 -0
  169. package/runtime/include/js_function.h +0 -0
  170. package/runtime/include/js_gc.h +0 -0
  171. package/runtime/include/js_generator.h +2 -3
  172. package/runtime/include/js_host.h +0 -0
  173. package/runtime/include/js_jobs.h +0 -0
  174. package/runtime/include/js_module.h +0 -0
  175. package/runtime/include/js_object.h +0 -0
  176. package/runtime/include/js_ops.h +0 -0
  177. package/runtime/include/js_promise.h +0 -2
  178. package/runtime/include/js_regexp.h +0 -0
  179. package/runtime/include/js_runtime.h +0 -0
  180. package/runtime/include/js_symbol.h +0 -0
  181. package/runtime/include/js_web.h +0 -0
  182. package/runtime/include/jscell.h +0 -0
  183. package/runtime/include/jscontext.h +0 -0
  184. package/runtime/include/jsnum.h +0 -0
  185. package/runtime/include/jsstring.h +0 -0
  186. package/runtime/include/jsvalue.h +0 -0
  187. package/runtime/src/arguments.c +0 -0
  188. package/runtime/src/array.c +0 -0
  189. package/runtime/src/arraybuffer.c +0 -0
  190. package/runtime/src/async_iter.c +4 -1
  191. package/runtime/src/atoms.c +0 -0
  192. package/runtime/src/base64.c +0 -0
  193. package/runtime/src/bigint.c +0 -0
  194. package/runtime/src/blob.c +0 -0
  195. package/runtime/src/boringssl_support.cc +37 -0
  196. package/runtime/src/buffer.c +0 -0
  197. package/runtime/src/builtin_table.c +8 -0
  198. package/runtime/src/builtins.c +0 -0
  199. package/runtime/src/builtins_util.h +0 -0
  200. package/runtime/src/collections.c +0 -0
  201. package/runtime/src/components.c +10 -0
  202. package/runtime/src/console.c +6 -18
  203. package/runtime/src/convert.c +0 -0
  204. package/runtime/src/core_all.c +1 -0
  205. package/runtime/src/crypto.c +0 -0
  206. package/runtime/src/crypto_asym.c +450 -241
  207. package/runtime/src/crypto_bn.c +91 -0
  208. package/runtime/src/crypto_cipher.c +153 -75
  209. package/runtime/src/crypto_hash.c +68 -53
  210. package/runtime/src/crypto_host.c +0 -0
  211. package/runtime/src/crypto_internal.h +55 -26
  212. package/runtime/src/crypto_kdf.c +0 -0
  213. package/runtime/src/crypto_key.c +0 -0
  214. package/runtime/src/crypto_pkey.c +198 -61
  215. package/runtime/src/crypto_subtle.c +42 -16
  216. package/runtime/src/crypto_tls.c +678 -0
  217. package/runtime/src/date.c +0 -0
  218. package/runtime/src/domexception.c +0 -0
  219. package/runtime/src/elements.c +0 -0
  220. package/runtime/src/elements.h +0 -0
  221. package/runtime/src/encoding.c +0 -0
  222. package/runtime/src/error.c +0 -0
  223. package/runtime/src/events.c +0 -0
  224. package/runtime/src/exception.c +0 -0
  225. package/runtime/src/fetch.c +0 -0
  226. package/runtime/src/function.c +0 -0
  227. package/runtime/src/gc.c +0 -0
  228. package/runtime/src/generator.c +8 -1
  229. package/runtime/src/global.c +2 -4
  230. package/runtime/src/headers.c +0 -0
  231. package/runtime/src/inspect.c +0 -0
  232. package/runtime/src/internal.h +0 -1
  233. package/runtime/src/iterate.c +0 -0
  234. package/runtime/src/iterator.c +0 -0
  235. package/runtime/src/jobs.c +2 -1
  236. package/runtime/src/jsnum.c +0 -0
  237. package/runtime/src/json.c +0 -0
  238. package/runtime/src/math.c +0 -0
  239. package/runtime/src/module.c +0 -0
  240. package/runtime/src/number.c +0 -0
  241. package/runtime/src/object.c +0 -0
  242. package/runtime/src/ops.c +0 -0
  243. package/runtime/src/os.c +0 -0
  244. package/runtime/src/os.h +0 -0
  245. package/runtime/src/process.c +7 -0
  246. package/runtime/src/promise.c +4 -1
  247. package/runtime/src/proxy.c +0 -0
  248. package/runtime/src/reflect.c +0 -0
  249. package/runtime/src/regexp.c +0 -0
  250. package/runtime/src/regexp_anchor.h +0 -0
  251. package/runtime/src/regexp_message.h +0 -0
  252. package/runtime/src/shape.c +0 -0
  253. package/runtime/src/shape.h +0 -0
  254. package/runtime/src/streams.c +0 -0
  255. package/runtime/src/streams.h +0 -0
  256. package/runtime/src/string.c +0 -0
  257. package/runtime/src/string_builtins.c +0 -0
  258. package/runtime/src/symbol.c +0 -0
  259. package/runtime/src/test_host.c +0 -0
  260. package/runtime/src/tls_roots.gen.h +3215 -0
  261. package/runtime/src/typedarray.c +0 -0
  262. package/runtime/src/tznames.gen.h +0 -0
  263. package/runtime/src/uri.c +0 -0
  264. package/runtime/src/url.c +0 -0
  265. package/runtime/src/util_types.c +52 -0
  266. package/runtime/src/weak.c +2 -1
  267. package/runtime/src/web.c +0 -0
  268. package/runtime/src/wrapper.c +0 -0
  269. package/runtime/src/writable.c +0 -0
  270. package/runtime/third_party/ada-idna/LICENSE-MIT +0 -0
  271. package/runtime/third_party/ada-idna/README.md +0 -0
  272. package/runtime/third_party/ada-idna/convert.mjs +0 -0
  273. package/runtime/third_party/ada-idna/idna.c +0 -0
  274. package/runtime/third_party/ada-idna/idna.h +0 -0
  275. package/runtime/third_party/ada-idna/idna_tables.h +0 -0
  276. package/runtime/third_party/boringssl/LICENSE +238 -0
  277. package/runtime/third_party/boringssl/README.md +46 -0
  278. package/runtime/third_party/boringssl/VERSION +1 -0
  279. package/runtime/third_party/boringssl/crypto/aes/aes.cc +44 -0
  280. package/runtime/third_party/boringssl/crypto/armv8_feature_parsing.h +67 -0
  281. package/runtime/third_party/boringssl/crypto/asn1/a_bitstr.cc +297 -0
  282. package/runtime/third_party/boringssl/crypto/asn1/a_bool.cc +50 -0
  283. package/runtime/third_party/boringssl/crypto/asn1/a_d2i_fp.cc +47 -0
  284. package/runtime/third_party/boringssl/crypto/asn1/a_dup.cc +42 -0
  285. package/runtime/third_party/boringssl/crypto/asn1/a_gentm.cc +130 -0
  286. package/runtime/third_party/boringssl/crypto/asn1/a_i2d_fp.cc +44 -0
  287. package/runtime/third_party/boringssl/crypto/asn1/a_int.cc +467 -0
  288. package/runtime/third_party/boringssl/crypto/asn1/a_mbstr.cc +242 -0
  289. package/runtime/third_party/boringssl/crypto/asn1/a_object.cc +191 -0
  290. package/runtime/third_party/boringssl/crypto/asn1/a_octet.cc +32 -0
  291. package/runtime/third_party/boringssl/crypto/asn1/a_strex.cc +411 -0
  292. package/runtime/third_party/boringssl/crypto/asn1/a_strnid.cc +208 -0
  293. package/runtime/third_party/boringssl/crypto/asn1/a_time.cc +248 -0
  294. package/runtime/third_party/boringssl/crypto/asn1/a_type.cc +467 -0
  295. package/runtime/third_party/boringssl/crypto/asn1/a_utctm.cc +128 -0
  296. package/runtime/third_party/boringssl/crypto/asn1/asn1_lib.cc +453 -0
  297. package/runtime/third_party/boringssl/crypto/asn1/asn1_par.cc +61 -0
  298. package/runtime/third_party/boringssl/crypto/asn1/asn_pack.cc +56 -0
  299. package/runtime/third_party/boringssl/crypto/asn1/f_int.cc +63 -0
  300. package/runtime/third_party/boringssl/crypto/asn1/f_string.cc +52 -0
  301. package/runtime/third_party/boringssl/crypto/asn1/internal.h +430 -0
  302. package/runtime/third_party/boringssl/crypto/asn1/posix_time.cc +244 -0
  303. package/runtime/third_party/boringssl/crypto/asn1/tasn_dec.cc +611 -0
  304. package/runtime/third_party/boringssl/crypto/asn1/tasn_enc.cc +348 -0
  305. package/runtime/third_party/boringssl/crypto/asn1/tasn_fre.cc +163 -0
  306. package/runtime/third_party/boringssl/crypto/asn1/tasn_new.cc +274 -0
  307. package/runtime/third_party/boringssl/crypto/asn1/tasn_typ.cc +92 -0
  308. package/runtime/third_party/boringssl/crypto/asn1/tasn_utl.cc +218 -0
  309. package/runtime/third_party/boringssl/crypto/base64/base64.cc +433 -0
  310. package/runtime/third_party/boringssl/crypto/bcm_support.h +62 -0
  311. package/runtime/third_party/boringssl/crypto/bio/bio.cc +715 -0
  312. package/runtime/third_party/boringssl/crypto/bio/bio_mem.cc +260 -0
  313. package/runtime/third_party/boringssl/crypto/bio/connect.cc +463 -0
  314. package/runtime/third_party/boringssl/crypto/bio/errno.cc +52 -0
  315. package/runtime/third_party/boringssl/crypto/bio/fd.cc +193 -0
  316. package/runtime/third_party/boringssl/crypto/bio/file.cc +283 -0
  317. package/runtime/third_party/boringssl/crypto/bio/hexdump.cc +154 -0
  318. package/runtime/third_party/boringssl/crypto/bio/internal.h +128 -0
  319. package/runtime/third_party/boringssl/crypto/bio/pair.cc +426 -0
  320. package/runtime/third_party/boringssl/crypto/bio/printf.cc +59 -0
  321. package/runtime/third_party/boringssl/crypto/bio/socket.cc +210 -0
  322. package/runtime/third_party/boringssl/crypto/bio/socket_helper.cc +179 -0
  323. package/runtime/third_party/boringssl/crypto/blake2/blake2.cc +173 -0
  324. package/runtime/third_party/boringssl/crypto/bn/bn_asn1.cc +57 -0
  325. package/runtime/third_party/boringssl/crypto/bn/convert.cc +409 -0
  326. package/runtime/third_party/boringssl/crypto/bn/div.cc +102 -0
  327. package/runtime/third_party/boringssl/crypto/bn/exponentiation.cc +168 -0
  328. package/runtime/third_party/boringssl/crypto/bn/sqrt.cc +93 -0
  329. package/runtime/third_party/boringssl/crypto/buf/buf.cc +119 -0
  330. package/runtime/third_party/boringssl/crypto/bytestring/asn1_compat.cc +54 -0
  331. package/runtime/third_party/boringssl/crypto/bytestring/ber.cc +268 -0
  332. package/runtime/third_party/boringssl/crypto/bytestring/cbb.cc +787 -0
  333. package/runtime/third_party/boringssl/crypto/bytestring/cbs.cc +977 -0
  334. package/runtime/third_party/boringssl/crypto/bytestring/internal.h +134 -0
  335. package/runtime/third_party/boringssl/crypto/bytestring/unicode.cc +156 -0
  336. package/runtime/third_party/boringssl/crypto/chacha/chacha.cc +226 -0
  337. package/runtime/third_party/boringssl/crypto/chacha/internal.h +103 -0
  338. package/runtime/third_party/boringssl/crypto/cipher/derive_key.cc +106 -0
  339. package/runtime/third_party/boringssl/crypto/cipher/e_aesctrhmac.cc +294 -0
  340. package/runtime/third_party/boringssl/crypto/cipher/e_aeseax.cc +351 -0
  341. package/runtime/third_party/boringssl/crypto/cipher/e_aesgcmsiv.cc +918 -0
  342. package/runtime/third_party/boringssl/crypto/cipher/e_chacha20poly1305.cc +404 -0
  343. package/runtime/third_party/boringssl/crypto/cipher/e_des.cc +214 -0
  344. package/runtime/third_party/boringssl/crypto/cipher/e_null.cc +55 -0
  345. package/runtime/third_party/boringssl/crypto/cipher/e_rc2.cc +432 -0
  346. package/runtime/third_party/boringssl/crypto/cipher/e_rc4.cc +56 -0
  347. package/runtime/third_party/boringssl/crypto/cipher/e_tls.cc +615 -0
  348. package/runtime/third_party/boringssl/crypto/cipher/get_cipher.cc +85 -0
  349. package/runtime/third_party/boringssl/crypto/cipher/internal.h +399 -0
  350. package/runtime/third_party/boringssl/crypto/cipher/tls_cbc.cc +476 -0
  351. package/runtime/third_party/boringssl/crypto/cms/cms.cc +178 -0
  352. package/runtime/third_party/boringssl/crypto/conf/conf.cc +637 -0
  353. package/runtime/third_party/boringssl/crypto/conf/internal.h +54 -0
  354. package/runtime/third_party/boringssl/crypto/cpu_aarch64_apple.cc +76 -0
  355. package/runtime/third_party/boringssl/crypto/cpu_aarch64_fuchsia.cc +58 -0
  356. package/runtime/third_party/boringssl/crypto/cpu_aarch64_linux.cc +66 -0
  357. package/runtime/third_party/boringssl/crypto/cpu_aarch64_openbsd.cc +45 -0
  358. package/runtime/third_party/boringssl/crypto/cpu_aarch64_sysreg.cc +66 -0
  359. package/runtime/third_party/boringssl/crypto/cpu_aarch64_win.cc +52 -0
  360. package/runtime/third_party/boringssl/crypto/cpu_arm_freebsd.cc +55 -0
  361. package/runtime/third_party/boringssl/crypto/cpu_arm_linux.cc +173 -0
  362. package/runtime/third_party/boringssl/crypto/cpu_arm_linux.h +141 -0
  363. package/runtime/third_party/boringssl/crypto/cpu_intel.cc +287 -0
  364. package/runtime/third_party/boringssl/crypto/crypto.cc +152 -0
  365. package/runtime/third_party/boringssl/crypto/curve25519/asm/x25519-asm-arm.S +2124 -0
  366. package/runtime/third_party/boringssl/crypto/curve25519/cpace.cc +227 -0
  367. package/runtime/third_party/boringssl/crypto/curve25519/curve25519.cc +2436 -0
  368. package/runtime/third_party/boringssl/crypto/curve25519/curve25519_64_adx.cc +18 -0
  369. package/runtime/third_party/boringssl/crypto/curve25519/curve25519_tables.h +3264 -0
  370. package/runtime/third_party/boringssl/crypto/curve25519/internal.h +202 -0
  371. package/runtime/third_party/boringssl/crypto/curve25519/spake25519.cc +532 -0
  372. package/runtime/third_party/boringssl/crypto/des/des.cc +837 -0
  373. package/runtime/third_party/boringssl/crypto/des/internal.h +144 -0
  374. package/runtime/third_party/boringssl/crypto/dh/dh_asn1.cc +109 -0
  375. package/runtime/third_party/boringssl/crypto/dh/params.cc +411 -0
  376. package/runtime/third_party/boringssl/crypto/digest/digest_extra.cc +361 -0
  377. package/runtime/third_party/boringssl/crypto/dsa/dsa.cc +922 -0
  378. package/runtime/third_party/boringssl/crypto/dsa/dsa_asn1.cc +306 -0
  379. package/runtime/third_party/boringssl/crypto/dsa/internal.h +56 -0
  380. package/runtime/third_party/boringssl/crypto/ec/ec_asn1.cc +542 -0
  381. package/runtime/third_party/boringssl/crypto/ec/ec_derive.cc +94 -0
  382. package/runtime/third_party/boringssl/crypto/ec/hash_to_curve.cc +773 -0
  383. package/runtime/third_party/boringssl/crypto/ec/internal.h +114 -0
  384. package/runtime/third_party/boringssl/crypto/ecdh/ecdh.cc +75 -0
  385. package/runtime/third_party/boringssl/crypto/ecdsa/ecdsa_asn1.cc +337 -0
  386. package/runtime/third_party/boringssl/crypto/ecdsa/ecdsa_p1363.cc +54 -0
  387. package/runtime/third_party/boringssl/crypto/engine/engine.cc +95 -0
  388. package/runtime/third_party/boringssl/crypto/err/err.cc +820 -0
  389. package/runtime/third_party/boringssl/crypto/err/internal.h +45 -0
  390. package/runtime/third_party/boringssl/crypto/evp/evp.cc +454 -0
  391. package/runtime/third_party/boringssl/crypto/evp/evp_asn1.cc +439 -0
  392. package/runtime/third_party/boringssl/crypto/evp/evp_ctx.cc +541 -0
  393. package/runtime/third_party/boringssl/crypto/evp/evp_kem.cc +101 -0
  394. package/runtime/third_party/boringssl/crypto/evp/internal.h +427 -0
  395. package/runtime/third_party/boringssl/crypto/evp/p_dh.cc +326 -0
  396. package/runtime/third_party/boringssl/crypto/evp/p_dsa.cc +333 -0
  397. package/runtime/third_party/boringssl/crypto/evp/p_ec.cc +736 -0
  398. package/runtime/third_party/boringssl/crypto/evp/p_ed25519.cc +359 -0
  399. package/runtime/third_party/boringssl/crypto/evp/p_hkdf.cc +204 -0
  400. package/runtime/third_party/boringssl/crypto/evp/p_mldsa.cc +549 -0
  401. package/runtime/third_party/boringssl/crypto/evp/p_mlkem.cc +510 -0
  402. package/runtime/third_party/boringssl/crypto/evp/p_rsa.cc +1185 -0
  403. package/runtime/third_party/boringssl/crypto/evp/p_x25519.cc +371 -0
  404. package/runtime/third_party/boringssl/crypto/evp/p_xwing.cc +300 -0
  405. package/runtime/third_party/boringssl/crypto/evp/pbkdf.cc +105 -0
  406. package/runtime/third_party/boringssl/crypto/evp/print.cc +287 -0
  407. package/runtime/third_party/boringssl/crypto/evp/scrypt.cc +218 -0
  408. package/runtime/third_party/boringssl/crypto/evp/sign.cc +95 -0
  409. package/runtime/third_party/boringssl/crypto/ex_data.cc +140 -0
  410. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/aes.cc.inc +208 -0
  411. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/aes_nohw.cc.inc +1279 -0
  412. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/cbc.cc.inc +132 -0
  413. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/cfb.cc.inc +168 -0
  414. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/ctr.cc.inc +102 -0
  415. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/gcm.cc.inc +614 -0
  416. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/gcm_nohw.cc.inc +304 -0
  417. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/internal.h +590 -0
  418. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/key_wrap.cc.inc +211 -0
  419. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/mode_wrappers.cc.inc +97 -0
  420. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/ofb.cc.inc +55 -0
  421. package/runtime/third_party/boringssl/crypto/fipsmodule/bcm.cc +288 -0
  422. package/runtime/third_party/boringssl/crypto/fipsmodule/bcm_interface.h +953 -0
  423. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/add.cc.inc +276 -0
  424. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/asm/x86_64-gcc.cc.inc +573 -0
  425. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/bn.cc.inc +377 -0
  426. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/bytes.cc.inc +230 -0
  427. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/cmp.cc.inc +161 -0
  428. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/ctx.cc.inc +127 -0
  429. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/div.cc.inc +738 -0
  430. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/div_extra.cc.inc +90 -0
  431. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/exponentiation.cc.inc +743 -0
  432. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/gcd.cc.inc +281 -0
  433. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/gcd_extra.cc.inc +327 -0
  434. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/generic.cc.inc +579 -0
  435. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/internal.h +810 -0
  436. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/jacobi.cc.inc +101 -0
  437. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/montgomery.cc.inc +408 -0
  438. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/montgomery_inv.cc.inc +179 -0
  439. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/mul.cc.inc +347 -0
  440. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/prime.cc.inc +931 -0
  441. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/random.cc.inc +261 -0
  442. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.cc.inc +144 -0
  443. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.h +109 -0
  444. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/shift.cc.inc +317 -0
  445. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/sqrt.cc.inc +370 -0
  446. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/aead.cc.inc +619 -0
  447. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/cipher.cc.inc +837 -0
  448. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/e_aes.cc.inc +1240 -0
  449. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/e_aesccm.cc.inc +440 -0
  450. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/internal.h +461 -0
  451. package/runtime/third_party/boringssl/crypto/fipsmodule/cmac/cmac.cc.inc +293 -0
  452. package/runtime/third_party/boringssl/crypto/fipsmodule/delocate.h +95 -0
  453. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/check.cc.inc +198 -0
  454. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/dh.cc.inc +401 -0
  455. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/internal.h +63 -0
  456. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/digest.cc.inc +221 -0
  457. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/digests.cc.inc +184 -0
  458. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/internal.h +72 -0
  459. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/md32_common.h +166 -0
  460. package/runtime/third_party/boringssl/crypto/fipsmodule/digestsign/digestsign.cc.inc +230 -0
  461. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/builtin_curves.h +277 -0
  462. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec.cc.inc +1024 -0
  463. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec_key.cc.inc +536 -0
  464. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec_montgomery.cc.inc +379 -0
  465. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/felem.cc.inc +250 -0
  466. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/internal.h +752 -0
  467. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/oct.cc.inc +174 -0
  468. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz-table.h +9502 -0
  469. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz.cc.inc +740 -0
  470. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz.h +207 -0
  471. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256.cc.inc +578 -0
  472. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256_table.h +297 -0
  473. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/scalar.cc.inc +184 -0
  474. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/simple.cc.inc +246 -0
  475. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/simple_mul.cc.inc +274 -0
  476. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/util.cc.inc +258 -0
  477. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/wnaf.cc.inc +224 -0
  478. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdh/ecdh.cc.inc +91 -0
  479. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdsa/ecdsa.cc.inc +288 -0
  480. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdsa/internal.h +57 -0
  481. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/internal.h +38 -0
  482. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/jitter.cc.inc +487 -0
  483. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/sha512.cc.inc +329 -0
  484. package/runtime/third_party/boringssl/crypto/fipsmodule/fips_shared_support.cc +28 -0
  485. package/runtime/third_party/boringssl/crypto/fipsmodule/hkdf/hkdf.cc.inc +114 -0
  486. package/runtime/third_party/boringssl/crypto/fipsmodule/hmac/hmac.cc.inc +218 -0
  487. package/runtime/third_party/boringssl/crypto/fipsmodule/keccak/internal.h +165 -0
  488. package/runtime/third_party/boringssl/crypto/fipsmodule/keccak/keccak.cc.inc +647 -0
  489. package/runtime/third_party/boringssl/crypto/fipsmodule/mldsa/fips_known_values.inc +1345 -0
  490. package/runtime/third_party/boringssl/crypto/fipsmodule/mldsa/mldsa.cc.inc +3323 -0
  491. package/runtime/third_party/boringssl/crypto/fipsmodule/mlkem/fips_known_values.inc +411 -0
  492. package/runtime/third_party/boringssl/crypto/fipsmodule/mlkem/mlkem.cc.inc +1856 -0
  493. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/android_entropy_client.cc.inc +82 -0
  494. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/ctrdrbg.cc.inc +401 -0
  495. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/internal.h +99 -0
  496. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/rand.cc.inc +486 -0
  497. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/internal.h +167 -0
  498. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/padding.cc.inc +371 -0
  499. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/rsa.cc.inc +996 -0
  500. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/rsa_impl.cc.inc +1000 -0
  501. package/runtime/third_party/boringssl/crypto/fipsmodule/self_check/fips.cc.inc +129 -0
  502. package/runtime/third_party/boringssl/crypto/fipsmodule/self_check/self_check.cc.inc +1093 -0
  503. package/runtime/third_party/boringssl/crypto/fipsmodule/service_indicator/internal.h +112 -0
  504. package/runtime/third_party/boringssl/crypto/fipsmodule/service_indicator/service_indicator.cc.inc +330 -0
  505. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/internal.h +205 -0
  506. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha1.cc.inc +404 -0
  507. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha256.cc.inc +315 -0
  508. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha512.cc.inc +473 -0
  509. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/address.h +144 -0
  510. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fips_known_values.inc +674 -0
  511. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fors.cc.inc +179 -0
  512. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fors.h +48 -0
  513. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/merkle.cc.inc +164 -0
  514. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/merkle.h +58 -0
  515. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/params.h +178 -0
  516. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/slhdsa.cc.inc +690 -0
  517. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/thash.cc.inc +326 -0
  518. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/thash.h +71 -0
  519. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/wots.cc.inc +172 -0
  520. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/wots.h +40 -0
  521. package/runtime/third_party/boringssl/crypto/fipsmodule/tls/internal.h +33 -0
  522. package/runtime/third_party/boringssl/crypto/fipsmodule/tls/kdf.cc.inc +180 -0
  523. package/runtime/third_party/boringssl/crypto/fuzzer_mode.cc +30 -0
  524. package/runtime/third_party/boringssl/crypto/hpke/hpke.cc +1514 -0
  525. package/runtime/third_party/boringssl/crypto/hrss/asm/poly_rq_mul.S +8489 -0
  526. package/runtime/third_party/boringssl/crypto/hrss/hrss.cc +2189 -0
  527. package/runtime/third_party/boringssl/crypto/hrss/internal.h +64 -0
  528. package/runtime/third_party/boringssl/crypto/internal.h +1767 -0
  529. package/runtime/third_party/boringssl/crypto/lhash/internal.h +222 -0
  530. package/runtime/third_party/boringssl/crypto/lhash/lhash.cc +312 -0
  531. package/runtime/third_party/boringssl/crypto/md4/md4.cc +207 -0
  532. package/runtime/third_party/boringssl/crypto/md5/internal.h +34 -0
  533. package/runtime/third_party/boringssl/crypto/md5/md5.cc +255 -0
  534. package/runtime/third_party/boringssl/crypto/mem.cc +577 -0
  535. package/runtime/third_party/boringssl/crypto/mem_internal.h +706 -0
  536. package/runtime/third_party/boringssl/crypto/mldsa/mldsa.cc +296 -0
  537. package/runtime/third_party/boringssl/crypto/mlkem/mlkem.cc +108 -0
  538. package/runtime/third_party/boringssl/crypto/obj/obj.cc +494 -0
  539. package/runtime/third_party/boringssl/crypto/obj/obj_dat.h +11722 -0
  540. package/runtime/third_party/boringssl/crypto/obj/obj_xref.cc +83 -0
  541. package/runtime/third_party/boringssl/crypto/params_internal.h +30 -0
  542. package/runtime/third_party/boringssl/crypto/pem/internal.h +135 -0
  543. package/runtime/third_party/boringssl/crypto/pem/pem_all.cc +153 -0
  544. package/runtime/third_party/boringssl/crypto/pem/pem_info.cc +250 -0
  545. package/runtime/third_party/boringssl/crypto/pem/pem_lib.cc +707 -0
  546. package/runtime/third_party/boringssl/crypto/pem/pem_oth.cc +45 -0
  547. package/runtime/third_party/boringssl/crypto/pem/pem_pk8.cc +211 -0
  548. package/runtime/third_party/boringssl/crypto/pem/pem_pkey.cc +147 -0
  549. package/runtime/third_party/boringssl/crypto/pem/pem_x509.cc +25 -0
  550. package/runtime/third_party/boringssl/crypto/pem/pem_xaux.cc +25 -0
  551. package/runtime/third_party/boringssl/crypto/pkcs7/internal.h +67 -0
  552. package/runtime/third_party/boringssl/crypto/pkcs7/pkcs7.cc +198 -0
  553. package/runtime/third_party/boringssl/crypto/pkcs7/pkcs7_x509.cc +527 -0
  554. package/runtime/third_party/boringssl/crypto/pkcs8/internal.h +98 -0
  555. package/runtime/third_party/boringssl/crypto/pkcs8/p5_pbev2.cc +286 -0
  556. package/runtime/third_party/boringssl/crypto/pkcs8/pkcs8.cc +473 -0
  557. package/runtime/third_party/boringssl/crypto/pkcs8/pkcs8_x509.cc +1328 -0
  558. package/runtime/third_party/boringssl/crypto/poly1305/internal.h +54 -0
  559. package/runtime/third_party/boringssl/crypto/poly1305/poly1305.cc +315 -0
  560. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_arm.cc +294 -0
  561. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_arm_asm.S +2017 -0
  562. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_vec.cc +853 -0
  563. package/runtime/third_party/boringssl/crypto/pool/internal.h +95 -0
  564. package/runtime/third_party/boringssl/crypto/pool/pool.cc +282 -0
  565. package/runtime/third_party/boringssl/crypto/rand/deterministic.cc +58 -0
  566. package/runtime/third_party/boringssl/crypto/rand/fork_detect.cc +222 -0
  567. package/runtime/third_party/boringssl/crypto/rand/forkunsafe.cc +44 -0
  568. package/runtime/third_party/boringssl/crypto/rand/getentropy.cc +53 -0
  569. package/runtime/third_party/boringssl/crypto/rand/internal.h +67 -0
  570. package/runtime/third_party/boringssl/crypto/rand/ios.cc +35 -0
  571. package/runtime/third_party/boringssl/crypto/rand/rand.cc +79 -0
  572. package/runtime/third_party/boringssl/crypto/rand/trusty.cc +39 -0
  573. package/runtime/third_party/boringssl/crypto/rand/urandom.cc +149 -0
  574. package/runtime/third_party/boringssl/crypto/rand/windows.cc +91 -0
  575. package/runtime/third_party/boringssl/crypto/rc4/rc4.cc +56 -0
  576. package/runtime/third_party/boringssl/crypto/refcount.cc +49 -0
  577. package/runtime/third_party/boringssl/crypto/rsa/internal.h +51 -0
  578. package/runtime/third_party/boringssl/crypto/rsa/rsa_asn1.cc +404 -0
  579. package/runtime/third_party/boringssl/crypto/rsa/rsa_crypt.cc +530 -0
  580. package/runtime/third_party/boringssl/crypto/rsa/rsa_extra.cc +30 -0
  581. package/runtime/third_party/boringssl/crypto/rsa/rsa_print.cc +25 -0
  582. package/runtime/third_party/boringssl/crypto/sha/sha1.cc +55 -0
  583. package/runtime/third_party/boringssl/crypto/sha/sha256.cc +89 -0
  584. package/runtime/third_party/boringssl/crypto/sha/sha512.cc +106 -0
  585. package/runtime/third_party/boringssl/crypto/siphash/siphash.cc +81 -0
  586. package/runtime/third_party/boringssl/crypto/slhdsa/slhdsa.cc +167 -0
  587. package/runtime/third_party/boringssl/crypto/spake2plus/internal.h +204 -0
  588. package/runtime/third_party/boringssl/crypto/spake2plus/spake2plus.cc +501 -0
  589. package/runtime/third_party/boringssl/crypto/stack/stack.cc +462 -0
  590. package/runtime/third_party/boringssl/crypto/thread.cc +68 -0
  591. package/runtime/third_party/boringssl/crypto/thread_none.cc +48 -0
  592. package/runtime/third_party/boringssl/crypto/thread_pthread.cc +138 -0
  593. package/runtime/third_party/boringssl/crypto/thread_win.cc +227 -0
  594. package/runtime/third_party/boringssl/crypto/trust_token/internal.h +405 -0
  595. package/runtime/third_party/boringssl/crypto/trust_token/pmbtoken.cc +1672 -0
  596. package/runtime/third_party/boringssl/crypto/trust_token/trust_token.cc +701 -0
  597. package/runtime/third_party/boringssl/crypto/trust_token/voprf.cc +1266 -0
  598. package/runtime/third_party/boringssl/crypto/x509/a_digest.cc +52 -0
  599. package/runtime/third_party/boringssl/crypto/x509/a_sign.cc +100 -0
  600. package/runtime/third_party/boringssl/crypto/x509/a_verify.cc +77 -0
  601. package/runtime/third_party/boringssl/crypto/x509/algorithm.cc +167 -0
  602. package/runtime/third_party/boringssl/crypto/x509/asn1_gen.cc +540 -0
  603. package/runtime/third_party/boringssl/crypto/x509/by_dir.cc +301 -0
  604. package/runtime/third_party/boringssl/crypto/x509/by_file.cc +226 -0
  605. package/runtime/third_party/boringssl/crypto/x509/i2d_pr.cc +37 -0
  606. package/runtime/third_party/boringssl/crypto/x509/internal.h +697 -0
  607. package/runtime/third_party/boringssl/crypto/x509/name_print.cc +187 -0
  608. package/runtime/third_party/boringssl/crypto/x509/policy.cc +686 -0
  609. package/runtime/third_party/boringssl/crypto/x509/rsa_pss.cc +187 -0
  610. package/runtime/third_party/boringssl/crypto/x509/t_crl.cc +106 -0
  611. package/runtime/third_party/boringssl/crypto/x509/t_req.cc +206 -0
  612. package/runtime/third_party/boringssl/crypto/x509/t_x509.cc +292 -0
  613. package/runtime/third_party/boringssl/crypto/x509/t_x509a.cc +81 -0
  614. package/runtime/third_party/boringssl/crypto/x509/v3_akey.cc +174 -0
  615. package/runtime/third_party/boringssl/crypto/x509/v3_akeya.cc +31 -0
  616. package/runtime/third_party/boringssl/crypto/x509/v3_alt.cc +636 -0
  617. package/runtime/third_party/boringssl/crypto/x509/v3_bcons.cc +96 -0
  618. package/runtime/third_party/boringssl/crypto/x509/v3_bitst.cc +100 -0
  619. package/runtime/third_party/boringssl/crypto/x509/v3_conf.cc +369 -0
  620. package/runtime/third_party/boringssl/crypto/x509/v3_cpols.cc +417 -0
  621. package/runtime/third_party/boringssl/crypto/x509/v3_crld.cc +471 -0
  622. package/runtime/third_party/boringssl/crypto/x509/v3_enum.cc +74 -0
  623. package/runtime/third_party/boringssl/crypto/x509/v3_extku.cc +97 -0
  624. package/runtime/third_party/boringssl/crypto/x509/v3_genn.cc +238 -0
  625. package/runtime/third_party/boringssl/crypto/x509/v3_ia5.cc +83 -0
  626. package/runtime/third_party/boringssl/crypto/x509/v3_info.cc +162 -0
  627. package/runtime/third_party/boringssl/crypto/x509/v3_int.cc +83 -0
  628. package/runtime/third_party/boringssl/crypto/x509/v3_lib.cc +349 -0
  629. package/runtime/third_party/boringssl/crypto/x509/v3_ncons.cc +798 -0
  630. package/runtime/third_party/boringssl/crypto/x509/v3_ocsp.cc +92 -0
  631. package/runtime/third_party/boringssl/crypto/x509/v3_pcons.cc +102 -0
  632. package/runtime/third_party/boringssl/crypto/x509/v3_pmaps.cc +110 -0
  633. package/runtime/third_party/boringssl/crypto/x509/v3_prn.cc +183 -0
  634. package/runtime/third_party/boringssl/crypto/x509/v3_purp.cc +580 -0
  635. package/runtime/third_party/boringssl/crypto/x509/v3_skey.cc +128 -0
  636. package/runtime/third_party/boringssl/crypto/x509/v3_utl.cc +1311 -0
  637. package/runtime/third_party/boringssl/crypto/x509/x509.cc +47 -0
  638. package/runtime/third_party/boringssl/crypto/x509/x509_att.cc +188 -0
  639. package/runtime/third_party/boringssl/crypto/x509/x509_cmp.cc +243 -0
  640. package/runtime/third_party/boringssl/crypto/x509/x509_d2.cc +66 -0
  641. package/runtime/third_party/boringssl/crypto/x509/x509_def.cc +42 -0
  642. package/runtime/third_party/boringssl/crypto/x509/x509_ext.cc +161 -0
  643. package/runtime/third_party/boringssl/crypto/x509/x509_lu.cc +570 -0
  644. package/runtime/third_party/boringssl/crypto/x509/x509_mtc.cc +598 -0
  645. package/runtime/third_party/boringssl/crypto/x509/x509_obj.cc +169 -0
  646. package/runtime/third_party/boringssl/crypto/x509/x509_req.cc +248 -0
  647. package/runtime/third_party/boringssl/crypto/x509/x509_set.cc +166 -0
  648. package/runtime/third_party/boringssl/crypto/x509/x509_trs.cc +123 -0
  649. package/runtime/third_party/boringssl/crypto/x509/x509_txt.cc +147 -0
  650. package/runtime/third_party/boringssl/crypto/x509/x509_v3.cc +249 -0
  651. package/runtime/third_party/boringssl/crypto/x509/x509_vfy.cc +1531 -0
  652. package/runtime/third_party/boringssl/crypto/x509/x509_vpm.cc +449 -0
  653. package/runtime/third_party/boringssl/crypto/x509/x509cset.cc +222 -0
  654. package/runtime/third_party/boringssl/crypto/x509/x509name.cc +377 -0
  655. package/runtime/third_party/boringssl/crypto/x509/x509rset.cc +55 -0
  656. package/runtime/third_party/boringssl/crypto/x509/x509spki.cc +91 -0
  657. package/runtime/third_party/boringssl/crypto/x509/x_algor.cc +223 -0
  658. package/runtime/third_party/boringssl/crypto/x509/x_all.cc +352 -0
  659. package/runtime/third_party/boringssl/crypto/x509/x_attrib.cc +61 -0
  660. package/runtime/third_party/boringssl/crypto/x509/x_crl.cc +325 -0
  661. package/runtime/third_party/boringssl/crypto/x509/x_exten.cc +42 -0
  662. package/runtime/third_party/boringssl/crypto/x509/x_name.cc +407 -0
  663. package/runtime/third_party/boringssl/crypto/x509/x_pubkey.cc +199 -0
  664. package/runtime/third_party/boringssl/crypto/x509/x_req.cc +80 -0
  665. package/runtime/third_party/boringssl/crypto/x509/x_sig.cc +51 -0
  666. package/runtime/third_party/boringssl/crypto/x509/x_spki.cc +44 -0
  667. package/runtime/third_party/boringssl/crypto/x509/x_x509.cc +495 -0
  668. package/runtime/third_party/boringssl/crypto/x509/x_x509a.cc +169 -0
  669. package/runtime/third_party/boringssl/crypto/xwing/xwing.cc +257 -0
  670. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx2-x86_64-apple.S +1326 -0
  671. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx2-x86_64-linux.S +1327 -0
  672. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx512-x86_64-apple.S +1252 -0
  673. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx512-x86_64-linux.S +1253 -0
  674. package/runtime/third_party/boringssl/gen/bcm/aesni-gcm-x86_64-apple.S +873 -0
  675. package/runtime/third_party/boringssl/gen/bcm/aesni-gcm-x86_64-linux.S +885 -0
  676. package/runtime/third_party/boringssl/gen/bcm/aesni-x86-apple.S +2490 -0
  677. package/runtime/third_party/boringssl/gen/bcm/aesni-x86-linux.S +2530 -0
  678. package/runtime/third_party/boringssl/gen/bcm/aesni-x86_64-apple.S +2413 -0
  679. package/runtime/third_party/boringssl/gen/bcm/aesni-x86_64-linux.S +2397 -0
  680. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv7-linux.S +784 -0
  681. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-apple.S +792 -0
  682. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-linux.S +786 -0
  683. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-win.S +798 -0
  684. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-apple.S +2912 -0
  685. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-linux.S +2907 -0
  686. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-win.S +2915 -0
  687. package/runtime/third_party/boringssl/gen/bcm/armv4-mont-linux.S +932 -0
  688. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-apple.S +1440 -0
  689. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-linux.S +1440 -0
  690. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-win.S +1446 -0
  691. package/runtime/third_party/boringssl/gen/bcm/bn-586-apple.S +530 -0
  692. package/runtime/third_party/boringssl/gen/bcm/bn-586-linux.S +540 -0
  693. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-apple.S +88 -0
  694. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-linux.S +87 -0
  695. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-win.S +87 -0
  696. package/runtime/third_party/boringssl/gen/bcm/bsaes-armv7-linux.S +1520 -0
  697. package/runtime/third_party/boringssl/gen/bcm/co-586-apple.S +1256 -0
  698. package/runtime/third_party/boringssl/gen/bcm/co-586-linux.S +1264 -0
  699. package/runtime/third_party/boringssl/gen/bcm/ghash-armv4-linux.S +242 -0
  700. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-apple.S +337 -0
  701. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-linux.S +335 -0
  702. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-win.S +341 -0
  703. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86-apple.S +288 -0
  704. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86-linux.S +292 -0
  705. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86_64-apple.S +426 -0
  706. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86_64-linux.S +425 -0
  707. package/runtime/third_party/boringssl/gen/bcm/ghash-x86-apple.S +322 -0
  708. package/runtime/third_party/boringssl/gen/bcm/ghash-x86-linux.S +328 -0
  709. package/runtime/third_party/boringssl/gen/bcm/ghash-x86_64-apple.S +1134 -0
  710. package/runtime/third_party/boringssl/gen/bcm/ghash-x86_64-linux.S +1129 -0
  711. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv7-linux.S +244 -0
  712. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-apple.S +567 -0
  713. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-linux.S +563 -0
  714. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-win.S +571 -0
  715. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-apple.S +1744 -0
  716. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-linux.S +1725 -0
  717. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-win.S +1765 -0
  718. package/runtime/third_party/boringssl/gen/bcm/p256-x86_64-asm-apple.S +4544 -0
  719. package/runtime/third_party/boringssl/gen/bcm/p256-x86_64-asm-linux.S +4600 -0
  720. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-apple.S +310 -0
  721. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-linux.S +310 -0
  722. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-win.S +310 -0
  723. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-x86_64-asm-apple.S +321 -0
  724. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-x86_64-asm-linux.S +335 -0
  725. package/runtime/third_party/boringssl/gen/bcm/rdrand-x86_64-apple.S +58 -0
  726. package/runtime/third_party/boringssl/gen/bcm/rdrand-x86_64-linux.S +57 -0
  727. package/runtime/third_party/boringssl/gen/bcm/rsaz-avx2-apple.S +1756 -0
  728. package/runtime/third_party/boringssl/gen/bcm/rsaz-avx2-linux.S +1751 -0
  729. package/runtime/third_party/boringssl/gen/bcm/sha1-586-apple.S +3782 -0
  730. package/runtime/third_party/boringssl/gen/bcm/sha1-586-linux.S +3788 -0
  731. package/runtime/third_party/boringssl/gen/bcm/sha1-armv4-large-linux.S +1479 -0
  732. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-apple.S +1219 -0
  733. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-linux.S +1218 -0
  734. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-win.S +1222 -0
  735. package/runtime/third_party/boringssl/gen/bcm/sha1-x86_64-apple.S +5454 -0
  736. package/runtime/third_party/boringssl/gen/bcm/sha1-x86_64-linux.S +5450 -0
  737. package/runtime/third_party/boringssl/gen/bcm/sha256-586-apple.S +5593 -0
  738. package/runtime/third_party/boringssl/gen/bcm/sha256-586-linux.S +5599 -0
  739. package/runtime/third_party/boringssl/gen/bcm/sha256-armv4-linux.S +2840 -0
  740. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-apple.S +1195 -0
  741. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-linux.S +1194 -0
  742. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-win.S +1198 -0
  743. package/runtime/third_party/boringssl/gen/bcm/sha256-x86_64-apple.S +4173 -0
  744. package/runtime/third_party/boringssl/gen/bcm/sha256-x86_64-linux.S +4170 -0
  745. package/runtime/third_party/boringssl/gen/bcm/sha512-586-apple.S +2406 -0
  746. package/runtime/third_party/boringssl/gen/bcm/sha512-586-linux.S +2410 -0
  747. package/runtime/third_party/boringssl/gen/bcm/sha512-armv4-linux.S +1857 -0
  748. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-apple.S +1598 -0
  749. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-linux.S +1597 -0
  750. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-win.S +1601 -0
  751. package/runtime/third_party/boringssl/gen/bcm/sha512-x86_64-apple.S +2979 -0
  752. package/runtime/third_party/boringssl/gen/bcm/sha512-x86_64-linux.S +2978 -0
  753. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv7-linux.S +1225 -0
  754. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-apple.S +1238 -0
  755. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-linux.S +1220 -0
  756. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-win.S +1256 -0
  757. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86-apple.S +680 -0
  758. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86-linux.S +706 -0
  759. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86_64-apple.S +1146 -0
  760. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86_64-linux.S +1133 -0
  761. package/runtime/third_party/boringssl/gen/bcm/x86-mont-apple.S +216 -0
  762. package/runtime/third_party/boringssl/gen/bcm/x86-mont-linux.S +218 -0
  763. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont-apple.S +1238 -0
  764. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont-linux.S +1237 -0
  765. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont5-apple.S +3644 -0
  766. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont5-linux.S +3628 -0
  767. package/runtime/third_party/boringssl/gen/boringssl_prefix_symbols_internal_x86_64_win_asm.inc +325 -0
  768. package/runtime/third_party/boringssl/gen/boringssl_prefix_symbols_internal_x86_win_asm.inc +325 -0
  769. package/runtime/third_party/boringssl/gen/crypto/aes128gcmsiv-x86_64-apple.S +3113 -0
  770. package/runtime/third_party/boringssl/gen/crypto/aes128gcmsiv-x86_64-linux.S +3091 -0
  771. package/runtime/third_party/boringssl/gen/crypto/chacha-armv4-linux.S +1450 -0
  772. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-apple.S +1969 -0
  773. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-linux.S +1967 -0
  774. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-win.S +1973 -0
  775. package/runtime/third_party/boringssl/gen/crypto/chacha-x86-apple.S +957 -0
  776. package/runtime/third_party/boringssl/gen/crypto/chacha-x86-linux.S +961 -0
  777. package/runtime/third_party/boringssl/gen/crypto/chacha-x86_64-apple.S +1608 -0
  778. package/runtime/third_party/boringssl/gen/crypto/chacha-x86_64-linux.S +1611 -0
  779. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-apple.S +3010 -0
  780. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-linux.S +3008 -0
  781. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-win.S +3014 -0
  782. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_x86_64-apple.S +8903 -0
  783. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_x86_64-linux.S +8940 -0
  784. package/runtime/third_party/boringssl/gen/crypto/err_data.cc +1578 -0
  785. package/runtime/third_party/boringssl/gen/crypto/md5-586-apple.S +684 -0
  786. package/runtime/third_party/boringssl/gen/crypto/md5-586-linux.S +686 -0
  787. package/runtime/third_party/boringssl/gen/crypto/md5-x86_64-apple.S +690 -0
  788. package/runtime/third_party/boringssl/gen/crypto/md5-x86_64-linux.S +695 -0
  789. package/runtime/third_party/boringssl/include/openssl/aead.h +650 -0
  790. package/runtime/third_party/boringssl/include/openssl/aes.h +173 -0
  791. package/runtime/third_party/boringssl/include/openssl/arm_arch.h +24 -0
  792. package/runtime/third_party/boringssl/include/openssl/asm_base.h +219 -0
  793. package/runtime/third_party/boringssl/include/openssl/asn1.h +2002 -0
  794. package/runtime/third_party/boringssl/include/openssl/asn1_mac.h +18 -0
  795. package/runtime/third_party/boringssl/include/openssl/asn1t.h +584 -0
  796. package/runtime/third_party/boringssl/include/openssl/base.h +548 -0
  797. package/runtime/third_party/boringssl/include/openssl/base64.h +156 -0
  798. package/runtime/third_party/boringssl/include/openssl/bio.h +1061 -0
  799. package/runtime/third_party/boringssl/include/openssl/blake2.h +63 -0
  800. package/runtime/third_party/boringssl/include/openssl/blowfish.h +58 -0
  801. package/runtime/third_party/boringssl/include/openssl/bn.h +986 -0
  802. package/runtime/third_party/boringssl/include/openssl/buf.h +95 -0
  803. package/runtime/third_party/boringssl/include/openssl/buffer.h +18 -0
  804. package/runtime/third_party/boringssl/include/openssl/bytestring.h +798 -0
  805. package/runtime/third_party/boringssl/include/openssl/cast.h +91 -0
  806. package/runtime/third_party/boringssl/include/openssl/chacha.h +47 -0
  807. package/runtime/third_party/boringssl/include/openssl/cipher.h +819 -0
  808. package/runtime/third_party/boringssl/include/openssl/cmac.h +91 -0
  809. package/runtime/third_party/boringssl/include/openssl/cms.h +147 -0
  810. package/runtime/third_party/boringssl/include/openssl/conf.h +136 -0
  811. package/runtime/third_party/boringssl/include/openssl/configuration.h +18 -0
  812. package/runtime/third_party/boringssl/include/openssl/cpu.h +18 -0
  813. package/runtime/third_party/boringssl/include/openssl/crypto.h +235 -0
  814. package/runtime/third_party/boringssl/include/openssl/ctrdrbg.h +116 -0
  815. package/runtime/third_party/boringssl/include/openssl/curve25519.h +309 -0
  816. package/runtime/third_party/boringssl/include/openssl/des.h +134 -0
  817. package/runtime/third_party/boringssl/include/openssl/dh.h +336 -0
  818. package/runtime/third_party/boringssl/include/openssl/digest.h +399 -0
  819. package/runtime/third_party/boringssl/include/openssl/dsa.h +392 -0
  820. package/runtime/third_party/boringssl/include/openssl/dtls1.h +16 -0
  821. package/runtime/third_party/boringssl/include/openssl/e_os2.h +18 -0
  822. package/runtime/third_party/boringssl/include/openssl/ec.h +530 -0
  823. package/runtime/third_party/boringssl/include/openssl/ec_key.h +358 -0
  824. package/runtime/third_party/boringssl/include/openssl/ecdh.h +67 -0
  825. package/runtime/third_party/boringssl/include/openssl/ecdsa.h +242 -0
  826. package/runtime/third_party/boringssl/include/openssl/engine.h +109 -0
  827. package/runtime/third_party/boringssl/include/openssl/err.h +416 -0
  828. package/runtime/third_party/boringssl/include/openssl/evp.h +1645 -0
  829. package/runtime/third_party/boringssl/include/openssl/evp_errors.h +66 -0
  830. package/runtime/third_party/boringssl/include/openssl/ex_data.h +117 -0
  831. package/runtime/third_party/boringssl/include/openssl/hkdf.h +68 -0
  832. package/runtime/third_party/boringssl/include/openssl/hmac.h +151 -0
  833. package/runtime/third_party/boringssl/include/openssl/hpke.h +456 -0
  834. package/runtime/third_party/boringssl/include/openssl/hrss.h +108 -0
  835. package/runtime/third_party/boringssl/include/openssl/is_boringssl.h +16 -0
  836. package/runtime/third_party/boringssl/include/openssl/kdf.h +92 -0
  837. package/runtime/third_party/boringssl/include/openssl/lhash.h +18 -0
  838. package/runtime/third_party/boringssl/include/openssl/md4.h +73 -0
  839. package/runtime/third_party/boringssl/include/openssl/md5.h +67 -0
  840. package/runtime/third_party/boringssl/include/openssl/mem.h +215 -0
  841. package/runtime/third_party/boringssl/include/openssl/mldsa.h +486 -0
  842. package/runtime/third_party/boringssl/include/openssl/mlkem.h +222 -0
  843. package/runtime/third_party/boringssl/include/openssl/nid.h +5561 -0
  844. package/runtime/third_party/boringssl/include/openssl/obj.h +225 -0
  845. package/runtime/third_party/boringssl/include/openssl/obj_mac.h +18 -0
  846. package/runtime/third_party/boringssl/include/openssl/objects.h +18 -0
  847. package/runtime/third_party/boringssl/include/openssl/opensslconf.h +108 -0
  848. package/runtime/third_party/boringssl/include/openssl/opensslv.h +18 -0
  849. package/runtime/third_party/boringssl/include/openssl/ossl_typ.h +18 -0
  850. package/runtime/third_party/boringssl/include/openssl/params.h +42 -0
  851. package/runtime/third_party/boringssl/include/openssl/pem.h +769 -0
  852. package/runtime/third_party/boringssl/include/openssl/pkcs12.h +18 -0
  853. package/runtime/third_party/boringssl/include/openssl/pkcs7.h +239 -0
  854. package/runtime/third_party/boringssl/include/openssl/pkcs8.h +267 -0
  855. package/runtime/third_party/boringssl/include/openssl/poly1305.h +52 -0
  856. package/runtime/third_party/boringssl/include/openssl/pool.h +137 -0
  857. package/runtime/third_party/boringssl/include/openssl/posix_time.h +51 -0
  858. package/runtime/third_party/boringssl/include/openssl/prefix_symbols.h +8000 -0
  859. package/runtime/third_party/boringssl/include/openssl/prefix_symbols_internal_S.h +633 -0
  860. package/runtime/third_party/boringssl/include/openssl/prefix_symbols_internal_c.h +329 -0
  861. package/runtime/third_party/boringssl/include/openssl/rand.h +138 -0
  862. package/runtime/third_party/boringssl/include/openssl/rc4.h +54 -0
  863. package/runtime/third_party/boringssl/include/openssl/ripemd.h +71 -0
  864. package/runtime/third_party/boringssl/include/openssl/rsa.h +893 -0
  865. package/runtime/third_party/boringssl/include/openssl/safestack.h +16 -0
  866. package/runtime/third_party/boringssl/include/openssl/service_indicator.h +19 -0
  867. package/runtime/third_party/boringssl/include/openssl/sha.h +108 -0
  868. package/runtime/third_party/boringssl/include/openssl/sha2.h +201 -0
  869. package/runtime/third_party/boringssl/include/openssl/siphash.h +37 -0
  870. package/runtime/third_party/boringssl/include/openssl/slhdsa.h +250 -0
  871. package/runtime/third_party/boringssl/include/openssl/span.h +376 -0
  872. package/runtime/third_party/boringssl/include/openssl/srtp.h +18 -0
  873. package/runtime/third_party/boringssl/include/openssl/ssl.h +7211 -0
  874. package/runtime/third_party/boringssl/include/openssl/ssl3.h +171 -0
  875. package/runtime/third_party/boringssl/include/openssl/stack.h +688 -0
  876. package/runtime/third_party/boringssl/include/openssl/target.h +246 -0
  877. package/runtime/third_party/boringssl/include/openssl/thread.h +114 -0
  878. package/runtime/third_party/boringssl/include/openssl/time.h +22 -0
  879. package/runtime/third_party/boringssl/include/openssl/tls1.h +263 -0
  880. package/runtime/third_party/boringssl/include/openssl/tls_prf.h +47 -0
  881. package/runtime/third_party/boringssl/include/openssl/trust_token.h +349 -0
  882. package/runtime/third_party/boringssl/include/openssl/type_check.h +37 -0
  883. package/runtime/third_party/boringssl/include/openssl/types.h +18 -0
  884. package/runtime/third_party/boringssl/include/openssl/x509.h +5404 -0
  885. package/runtime/third_party/boringssl/include/openssl/x509_vfy.h +18 -0
  886. package/runtime/third_party/boringssl/include/openssl/x509v3.h +63 -0
  887. package/runtime/third_party/boringssl/include/openssl/x509v3_errors.h +84 -0
  888. package/runtime/third_party/boringssl/include/openssl/xwing.h +115 -0
  889. package/runtime/third_party/boringssl/sources.json +696 -0
  890. package/runtime/third_party/boringssl/ssl/bio_ssl.cc +196 -0
  891. package/runtime/third_party/boringssl/ssl/d1_both.cc +1137 -0
  892. package/runtime/third_party/boringssl/ssl/d1_lib.cc +245 -0
  893. package/runtime/third_party/boringssl/ssl/d1_pkt.cc +322 -0
  894. package/runtime/third_party/boringssl/ssl/d1_srtp.cc +128 -0
  895. package/runtime/third_party/boringssl/ssl/dtls_method.cc +216 -0
  896. package/runtime/third_party/boringssl/ssl/dtls_record.cc +586 -0
  897. package/runtime/third_party/boringssl/ssl/encrypted_client_hello.cc +1110 -0
  898. package/runtime/third_party/boringssl/ssl/extensions.cc +5368 -0
  899. package/runtime/third_party/boringssl/ssl/handoff.cc +625 -0
  900. package/runtime/third_party/boringssl/ssl/handshake.cc +694 -0
  901. package/runtime/third_party/boringssl/ssl/handshake_client.cc +1958 -0
  902. package/runtime/third_party/boringssl/ssl/handshake_server.cc +1875 -0
  903. package/runtime/third_party/boringssl/ssl/internal.h +4506 -0
  904. package/runtime/third_party/boringssl/ssl/s3_both.cc +555 -0
  905. package/runtime/third_party/boringssl/ssl/s3_lib.cc +88 -0
  906. package/runtime/third_party/boringssl/ssl/s3_pkt.cc +396 -0
  907. package/runtime/third_party/boringssl/ssl/ssl_aead_ctx.cc +416 -0
  908. package/runtime/third_party/boringssl/ssl/ssl_asn1.cc +851 -0
  909. package/runtime/third_party/boringssl/ssl/ssl_buffer.cc +304 -0
  910. package/runtime/third_party/boringssl/ssl/ssl_cert.cc +723 -0
  911. package/runtime/third_party/boringssl/ssl/ssl_cipher.cc +1762 -0
  912. package/runtime/third_party/boringssl/ssl/ssl_credential.cc +913 -0
  913. package/runtime/third_party/boringssl/ssl/ssl_file.cc +375 -0
  914. package/runtime/third_party/boringssl/ssl/ssl_key_share.cc +445 -0
  915. package/runtime/third_party/boringssl/ssl/ssl_lib.cc +4132 -0
  916. package/runtime/third_party/boringssl/ssl/ssl_privkey.cc +973 -0
  917. package/runtime/third_party/boringssl/ssl/ssl_session.cc +1273 -0
  918. package/runtime/third_party/boringssl/ssl/ssl_stat.cc +162 -0
  919. package/runtime/third_party/boringssl/ssl/ssl_transcript.cc +224 -0
  920. package/runtime/third_party/boringssl/ssl/ssl_versions.cc +436 -0
  921. package/runtime/third_party/boringssl/ssl/ssl_x509.cc +1229 -0
  922. package/runtime/third_party/boringssl/ssl/t1_enc.cc +266 -0
  923. package/runtime/third_party/boringssl/ssl/tls13_both.cc +764 -0
  924. package/runtime/third_party/boringssl/ssl/tls13_client.cc +1325 -0
  925. package/runtime/third_party/boringssl/ssl/tls13_enc.cc +746 -0
  926. package/runtime/third_party/boringssl/ssl/tls13_server.cc +1623 -0
  927. package/runtime/third_party/boringssl/ssl/tls_method.cc +266 -0
  928. package/runtime/third_party/boringssl/ssl/tls_record.cc +524 -0
  929. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_curve25519_adx_mul.S +178 -0
  930. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_curve25519_adx_square.S +146 -0
  931. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_p256_adx_mul.S +177 -0
  932. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_p256_adx_sqr.S +166 -0
  933. package/runtime/third_party/boringssl/third_party/fiat/bedrock_unverified_bareminimum.c.inc +47 -0
  934. package/runtime/third_party/boringssl/third_party/fiat/bedrock_unverified_platform.c.inc +137 -0
  935. package/runtime/third_party/boringssl/third_party/fiat/curve25519_32.h +1571 -0
  936. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64.h +978 -0
  937. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64_adx.h +700 -0
  938. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64_msvc.h +1281 -0
  939. package/runtime/third_party/boringssl/third_party/fiat/p256_32.h +4760 -0
  940. package/runtime/third_party/boringssl/third_party/fiat/p256_64.h +1984 -0
  941. package/runtime/third_party/boringssl/third_party/fiat/p256_64_msvc.h +1939 -0
  942. package/runtime/third_party/boringssl/third_party/fiat/p256_field.c.inc +26 -0
  943. package/runtime/third_party/boringssl/third_party/fiat/p256_field_32.br.c.inc +71 -0
  944. package/runtime/third_party/boringssl/third_party/fiat/p256_field_64.br.c.inc +84 -0
  945. package/runtime/third_party/boringssl/third_party/fiat/p256_point.br.c.inc +112 -0
  946. package/runtime/third_party/quickjs-dtoa/LICENSE +0 -0
  947. package/runtime/third_party/quickjs-dtoa/README.md +0 -0
  948. package/runtime/third_party/quickjs-dtoa/dtoa.c +0 -0
  949. package/runtime/third_party/quickjs-dtoa/dtoa.h +0 -0
  950. package/runtime/third_party/quickjs-dtoa/dtoa_compat.h +0 -0
  951. package/runtime/third_party/quickjs-regexp/LICENSE +0 -0
  952. package/runtime/third_party/quickjs-regexp/README.md +0 -0
  953. package/runtime/third_party/quickjs-regexp/cutils.c +0 -0
  954. package/runtime/third_party/quickjs-regexp/cutils.h +0 -0
  955. package/runtime/third_party/quickjs-regexp/libregexp-opcode.h +0 -0
  956. package/runtime/third_party/quickjs-regexp/libregexp.c +0 -0
  957. package/runtime/third_party/quickjs-regexp/libregexp.h +0 -0
  958. package/runtime/third_party/quickjs-regexp/libunicode-table.h +0 -0
  959. package/runtime/third_party/quickjs-regexp/libunicode.c +0 -0
  960. package/runtime/third_party/quickjs-regexp/libunicode.h +0 -0
  961. package/runtime/third_party/v8-ieee754/LICENSE +0 -0
  962. package/runtime/third_party/v8-ieee754/README.md +2 -1
  963. package/runtime/third_party/v8-ieee754/convert.py +4 -0
  964. package/runtime/third_party/v8-ieee754/ieee754.c +1 -1
  965. package/runtime/third_party/v8-ieee754/ieee754.h +0 -0
  966. package/runtime/tools/regexp_compile.c +0 -0
  967. package/runtime/third_party/bearssl/LICENSE.txt +0 -21
  968. package/runtime/third_party/bearssl/README.txt +0 -136
  969. package/runtime/third_party/bearssl/VERSION +0 -1
  970. package/runtime/third_party/bearssl/inc/bearssl.h +0 -183
  971. package/runtime/third_party/bearssl/inc/bearssl_aead.h +0 -1059
  972. package/runtime/third_party/bearssl/inc/bearssl_block.h +0 -2618
  973. package/runtime/third_party/bearssl/inc/bearssl_ec.h +0 -967
  974. package/runtime/third_party/bearssl/inc/bearssl_hash.h +0 -1346
  975. package/runtime/third_party/bearssl/inc/bearssl_hmac.h +0 -241
  976. package/runtime/third_party/bearssl/inc/bearssl_kdf.h +0 -284
  977. package/runtime/third_party/bearssl/inc/bearssl_pem.h +0 -294
  978. package/runtime/third_party/bearssl/inc/bearssl_prf.h +0 -150
  979. package/runtime/third_party/bearssl/inc/bearssl_rand.h +0 -397
  980. package/runtime/third_party/bearssl/inc/bearssl_rsa.h +0 -1655
  981. package/runtime/third_party/bearssl/inc/bearssl_ssl.h +0 -4296
  982. package/runtime/third_party/bearssl/inc/bearssl_x509.h +0 -1474
  983. package/runtime/third_party/bearssl/src/aead/ccm.c +0 -346
  984. package/runtime/third_party/bearssl/src/aead/eax.c +0 -525
  985. package/runtime/third_party/bearssl/src/aead/gcm.c +0 -318
  986. package/runtime/third_party/bearssl/src/codec/ccopy.c +0 -44
  987. package/runtime/third_party/bearssl/src/codec/dec16be.c +0 -38
  988. package/runtime/third_party/bearssl/src/codec/dec16le.c +0 -38
  989. package/runtime/third_party/bearssl/src/codec/dec32be.c +0 -38
  990. package/runtime/third_party/bearssl/src/codec/dec32le.c +0 -38
  991. package/runtime/third_party/bearssl/src/codec/dec64be.c +0 -38
  992. package/runtime/third_party/bearssl/src/codec/dec64le.c +0 -38
  993. package/runtime/third_party/bearssl/src/codec/enc16be.c +0 -38
  994. package/runtime/third_party/bearssl/src/codec/enc16le.c +0 -38
  995. package/runtime/third_party/bearssl/src/codec/enc32be.c +0 -38
  996. package/runtime/third_party/bearssl/src/codec/enc32le.c +0 -38
  997. package/runtime/third_party/bearssl/src/codec/enc64be.c +0 -38
  998. package/runtime/third_party/bearssl/src/codec/enc64le.c +0 -38
  999. package/runtime/third_party/bearssl/src/codec/pemdec.c +0 -526
  1000. package/runtime/third_party/bearssl/src/codec/pemdec.t0 +0 -314
  1001. package/runtime/third_party/bearssl/src/codec/pemenc.c +0 -173
  1002. package/runtime/third_party/bearssl/src/config.h +0 -247
  1003. package/runtime/third_party/bearssl/src/ec/ec_all_m15.c +0 -121
  1004. package/runtime/third_party/bearssl/src/ec/ec_all_m31.c +0 -171
  1005. package/runtime/third_party/bearssl/src/ec/ec_c25519_i15.c +0 -398
  1006. package/runtime/third_party/bearssl/src/ec/ec_c25519_i31.c +0 -390
  1007. package/runtime/third_party/bearssl/src/ec/ec_c25519_m15.c +0 -1478
  1008. package/runtime/third_party/bearssl/src/ec/ec_c25519_m31.c +0 -800
  1009. package/runtime/third_party/bearssl/src/ec/ec_c25519_m62.c +0 -605
  1010. package/runtime/third_party/bearssl/src/ec/ec_c25519_m64.c +0 -831
  1011. package/runtime/third_party/bearssl/src/ec/ec_curve25519.c +0 -46
  1012. package/runtime/third_party/bearssl/src/ec/ec_default.c +0 -36
  1013. package/runtime/third_party/bearssl/src/ec/ec_keygen.c +0 -86
  1014. package/runtime/third_party/bearssl/src/ec/ec_p256_m15.c +0 -2124
  1015. package/runtime/third_party/bearssl/src/ec/ec_p256_m31.c +0 -1469
  1016. package/runtime/third_party/bearssl/src/ec/ec_p256_m62.c +0 -1765
  1017. package/runtime/third_party/bearssl/src/ec/ec_p256_m64.c +0 -1781
  1018. package/runtime/third_party/bearssl/src/ec/ec_prime_i15.c +0 -824
  1019. package/runtime/third_party/bearssl/src/ec/ec_prime_i31.c +0 -826
  1020. package/runtime/third_party/bearssl/src/ec/ec_pubkey.c +0 -85
  1021. package/runtime/third_party/bearssl/src/ec/ec_secp256r1.c +0 -51
  1022. package/runtime/third_party/bearssl/src/ec/ec_secp384r1.c +0 -57
  1023. package/runtime/third_party/bearssl/src/ec/ec_secp521r1.c +0 -64
  1024. package/runtime/third_party/bearssl/src/ec/ecdsa_atr.c +0 -134
  1025. package/runtime/third_party/bearssl/src/ec/ecdsa_default_sign_asn1.c +0 -36
  1026. package/runtime/third_party/bearssl/src/ec/ecdsa_default_sign_raw.c +0 -36
  1027. package/runtime/third_party/bearssl/src/ec/ecdsa_default_vrfy_asn1.c +0 -36
  1028. package/runtime/third_party/bearssl/src/ec/ecdsa_default_vrfy_raw.c +0 -36
  1029. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_bits.c +0 -47
  1030. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_sign_asn1.c +0 -45
  1031. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_sign_raw.c +0 -174
  1032. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_vrfy_asn1.c +0 -48
  1033. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_vrfy_raw.c +0 -166
  1034. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_bits.c +0 -47
  1035. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_sign_asn1.c +0 -45
  1036. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_sign_raw.c +0 -173
  1037. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_vrfy_asn1.c +0 -48
  1038. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_vrfy_raw.c +0 -165
  1039. package/runtime/third_party/bearssl/src/ec/ecdsa_rta.c +0 -121
  1040. package/runtime/third_party/bearssl/src/hash/dig_oid.c +0 -84
  1041. package/runtime/third_party/bearssl/src/hash/dig_size.c +0 -50
  1042. package/runtime/third_party/bearssl/src/hash/ghash_ctmul.c +0 -345
  1043. package/runtime/third_party/bearssl/src/hash/ghash_ctmul32.c +0 -251
  1044. package/runtime/third_party/bearssl/src/hash/ghash_ctmul64.c +0 -154
  1045. package/runtime/third_party/bearssl/src/hash/ghash_pclmul.c +0 -389
  1046. package/runtime/third_party/bearssl/src/hash/ghash_pwr8.c +0 -411
  1047. package/runtime/third_party/bearssl/src/hash/md5.c +0 -208
  1048. package/runtime/third_party/bearssl/src/hash/md5sha1.c +0 -141
  1049. package/runtime/third_party/bearssl/src/hash/mgf1.c +0 -56
  1050. package/runtime/third_party/bearssl/src/hash/multihash.c +0 -166
  1051. package/runtime/third_party/bearssl/src/hash/sha1.c +0 -191
  1052. package/runtime/third_party/bearssl/src/hash/sha2big.c +0 -285
  1053. package/runtime/third_party/bearssl/src/hash/sha2small.c +0 -341
  1054. package/runtime/third_party/bearssl/src/inner.h +0 -2577
  1055. package/runtime/third_party/bearssl/src/int/i15_add.c +0 -46
  1056. package/runtime/third_party/bearssl/src/int/i15_bitlen.c +0 -44
  1057. package/runtime/third_party/bearssl/src/int/i15_decmod.c +0 -124
  1058. package/runtime/third_party/bearssl/src/int/i15_decode.c +0 -56
  1059. package/runtime/third_party/bearssl/src/int/i15_decred.c +0 -100
  1060. package/runtime/third_party/bearssl/src/int/i15_encode.c +0 -56
  1061. package/runtime/third_party/bearssl/src/int/i15_fmont.c +0 -59
  1062. package/runtime/third_party/bearssl/src/int/i15_iszero.c +0 -39
  1063. package/runtime/third_party/bearssl/src/int/i15_moddiv.c +0 -465
  1064. package/runtime/third_party/bearssl/src/int/i15_modpow.c +0 -50
  1065. package/runtime/third_party/bearssl/src/int/i15_modpow2.c +0 -160
  1066. package/runtime/third_party/bearssl/src/int/i15_montmul.c +0 -184
  1067. package/runtime/third_party/bearssl/src/int/i15_mulacc.c +0 -61
  1068. package/runtime/third_party/bearssl/src/int/i15_muladd.c +0 -173
  1069. package/runtime/third_party/bearssl/src/int/i15_ninv15.c +0 -38
  1070. package/runtime/third_party/bearssl/src/int/i15_reduce.c +0 -66
  1071. package/runtime/third_party/bearssl/src/int/i15_rshift.c +0 -47
  1072. package/runtime/third_party/bearssl/src/int/i15_sub.c +0 -46
  1073. package/runtime/third_party/bearssl/src/int/i15_tmont.c +0 -36
  1074. package/runtime/third_party/bearssl/src/int/i31_add.c +0 -46
  1075. package/runtime/third_party/bearssl/src/int/i31_bitlen.c +0 -44
  1076. package/runtime/third_party/bearssl/src/int/i31_decmod.c +0 -124
  1077. package/runtime/third_party/bearssl/src/int/i31_decode.c +0 -57
  1078. package/runtime/third_party/bearssl/src/int/i31_decred.c +0 -103
  1079. package/runtime/third_party/bearssl/src/int/i31_encode.c +0 -79
  1080. package/runtime/third_party/bearssl/src/int/i31_fmont.c +0 -60
  1081. package/runtime/third_party/bearssl/src/int/i31_iszero.c +0 -39
  1082. package/runtime/third_party/bearssl/src/int/i31_moddiv.c +0 -488
  1083. package/runtime/third_party/bearssl/src/int/i31_modpow.c +0 -65
  1084. package/runtime/third_party/bearssl/src/int/i31_modpow2.c +0 -160
  1085. package/runtime/third_party/bearssl/src/int/i31_montmul.c +0 -127
  1086. package/runtime/third_party/bearssl/src/int/i31_mulacc.c +0 -74
  1087. package/runtime/third_party/bearssl/src/int/i31_muladd.c +0 -157
  1088. package/runtime/third_party/bearssl/src/int/i31_ninv31.c +0 -39
  1089. package/runtime/third_party/bearssl/src/int/i31_reduce.c +0 -66
  1090. package/runtime/third_party/bearssl/src/int/i31_rshift.c +0 -47
  1091. package/runtime/third_party/bearssl/src/int/i31_sub.c +0 -46
  1092. package/runtime/third_party/bearssl/src/int/i31_tmont.c +0 -36
  1093. package/runtime/third_party/bearssl/src/int/i32_add.c +0 -51
  1094. package/runtime/third_party/bearssl/src/int/i32_bitlen.c +0 -44
  1095. package/runtime/third_party/bearssl/src/int/i32_decmod.c +0 -77
  1096. package/runtime/third_party/bearssl/src/int/i32_decode.c +0 -63
  1097. package/runtime/third_party/bearssl/src/int/i32_decred.c +0 -107
  1098. package/runtime/third_party/bearssl/src/int/i32_div32.c +0 -56
  1099. package/runtime/third_party/bearssl/src/int/i32_encode.c +0 -72
  1100. package/runtime/third_party/bearssl/src/int/i32_fmont.c +0 -60
  1101. package/runtime/third_party/bearssl/src/int/i32_iszero.c +0 -39
  1102. package/runtime/third_party/bearssl/src/int/i32_modpow.c +0 -65
  1103. package/runtime/third_party/bearssl/src/int/i32_montmul.c +0 -69
  1104. package/runtime/third_party/bearssl/src/int/i32_mulacc.c +0 -56
  1105. package/runtime/third_party/bearssl/src/int/i32_muladd.c +0 -138
  1106. package/runtime/third_party/bearssl/src/int/i32_ninv32.c +0 -39
  1107. package/runtime/third_party/bearssl/src/int/i32_reduce.c +0 -66
  1108. package/runtime/third_party/bearssl/src/int/i32_sub.c +0 -51
  1109. package/runtime/third_party/bearssl/src/int/i32_tmont.c +0 -36
  1110. package/runtime/third_party/bearssl/src/int/i62_modpow2.c +0 -493
  1111. package/runtime/third_party/bearssl/src/kdf/hkdf.c +0 -107
  1112. package/runtime/third_party/bearssl/src/kdf/shake.c +0 -590
  1113. package/runtime/third_party/bearssl/src/mac/hmac.c +0 -122
  1114. package/runtime/third_party/bearssl/src/mac/hmac_ct.c +0 -193
  1115. package/runtime/third_party/bearssl/src/rand/aesctr_drbg.c +0 -206
  1116. package/runtime/third_party/bearssl/src/rand/hmac_drbg.c +0 -157
  1117. package/runtime/third_party/bearssl/src/rand/sysrng.c +0 -252
  1118. package/runtime/third_party/bearssl/src/rsa/rsa_default_keygen.c +0 -38
  1119. package/runtime/third_party/bearssl/src/rsa/rsa_default_modulus.c +0 -36
  1120. package/runtime/third_party/bearssl/src/rsa/rsa_default_oaep_decrypt.c +0 -38
  1121. package/runtime/third_party/bearssl/src/rsa/rsa_default_oaep_encrypt.c +0 -38
  1122. package/runtime/third_party/bearssl/src/rsa/rsa_default_pkcs1_sign.c +0 -38
  1123. package/runtime/third_party/bearssl/src/rsa/rsa_default_pkcs1_vrfy.c +0 -38
  1124. package/runtime/third_party/bearssl/src/rsa/rsa_default_priv.c +0 -38
  1125. package/runtime/third_party/bearssl/src/rsa/rsa_default_privexp.c +0 -36
  1126. package/runtime/third_party/bearssl/src/rsa/rsa_default_pss_sign.c +0 -38
  1127. package/runtime/third_party/bearssl/src/rsa/rsa_default_pss_vrfy.c +0 -38
  1128. package/runtime/third_party/bearssl/src/rsa/rsa_default_pub.c +0 -38
  1129. package/runtime/third_party/bearssl/src/rsa/rsa_default_pubexp.c +0 -36
  1130. package/runtime/third_party/bearssl/src/rsa/rsa_i15_keygen.c +0 -583
  1131. package/runtime/third_party/bearssl/src/rsa/rsa_i15_modulus.c +0 -99
  1132. package/runtime/third_party/bearssl/src/rsa/rsa_i15_oaep_decrypt.c +0 -41
  1133. package/runtime/third_party/bearssl/src/rsa/rsa_i15_oaep_encrypt.c +0 -44
  1134. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pkcs1_sign.c +0 -37
  1135. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pkcs1_vrfy.c +0 -43
  1136. package/runtime/third_party/bearssl/src/rsa/rsa_i15_priv.c +0 -209
  1137. package/runtime/third_party/bearssl/src/rsa/rsa_i15_privexp.c +0 -320
  1138. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pss_sign.c +0 -40
  1139. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pss_vrfy.c +0 -44
  1140. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pub.c +0 -113
  1141. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pubexp.c +0 -152
  1142. package/runtime/third_party/bearssl/src/rsa/rsa_i31_keygen.c +0 -37
  1143. package/runtime/third_party/bearssl/src/rsa/rsa_i31_keygen_inner.c +0 -608
  1144. package/runtime/third_party/bearssl/src/rsa/rsa_i31_modulus.c +0 -99
  1145. package/runtime/third_party/bearssl/src/rsa/rsa_i31_oaep_decrypt.c +0 -41
  1146. package/runtime/third_party/bearssl/src/rsa/rsa_i31_oaep_encrypt.c +0 -44
  1147. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pkcs1_sign.c +0 -37
  1148. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pkcs1_vrfy.c +0 -43
  1149. package/runtime/third_party/bearssl/src/rsa/rsa_i31_priv.c +0 -203
  1150. package/runtime/third_party/bearssl/src/rsa/rsa_i31_privexp.c +0 -318
  1151. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pss_sign.c +0 -40
  1152. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pss_vrfy.c +0 -44
  1153. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pub.c +0 -106
  1154. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pubexp.c +0 -152
  1155. package/runtime/third_party/bearssl/src/rsa/rsa_i32_oaep_decrypt.c +0 -41
  1156. package/runtime/third_party/bearssl/src/rsa/rsa_i32_oaep_encrypt.c +0 -44
  1157. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pkcs1_sign.c +0 -37
  1158. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pkcs1_vrfy.c +0 -43
  1159. package/runtime/third_party/bearssl/src/rsa/rsa_i32_priv.c +0 -160
  1160. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pss_sign.c +0 -40
  1161. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pss_vrfy.c +0 -44
  1162. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pub.c +0 -77
  1163. package/runtime/third_party/bearssl/src/rsa/rsa_i62_keygen.c +0 -57
  1164. package/runtime/third_party/bearssl/src/rsa/rsa_i62_oaep_decrypt.c +0 -61
  1165. package/runtime/third_party/bearssl/src/rsa/rsa_i62_oaep_encrypt.c +0 -64
  1166. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pkcs1_sign.c +0 -57
  1167. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pkcs1_vrfy.c +0 -63
  1168. package/runtime/third_party/bearssl/src/rsa/rsa_i62_priv.c +0 -223
  1169. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pss_sign.c +0 -60
  1170. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pss_vrfy.c +0 -64
  1171. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pub.c +0 -125
  1172. package/runtime/third_party/bearssl/src/rsa/rsa_oaep_pad.c +0 -112
  1173. package/runtime/third_party/bearssl/src/rsa/rsa_oaep_unpad.c +0 -145
  1174. package/runtime/third_party/bearssl/src/rsa/rsa_pkcs1_sig_pad.c +0 -100
  1175. package/runtime/third_party/bearssl/src/rsa/rsa_pkcs1_sig_unpad.c +0 -121
  1176. package/runtime/third_party/bearssl/src/rsa/rsa_pss_sig_pad.c +0 -106
  1177. package/runtime/third_party/bearssl/src/rsa/rsa_pss_sig_unpad.c +0 -121
  1178. package/runtime/third_party/bearssl/src/rsa/rsa_ssl_decrypt.c +0 -52
  1179. package/runtime/third_party/bearssl/src/settings.c +0 -306
  1180. package/runtime/third_party/bearssl/src/symcipher/aes_big_cbcdec.c +0 -69
  1181. package/runtime/third_party/bearssl/src/symcipher/aes_big_cbcenc.c +0 -67
  1182. package/runtime/third_party/bearssl/src/symcipher/aes_big_ctr.c +0 -84
  1183. package/runtime/third_party/bearssl/src/symcipher/aes_big_ctrcbc.c +0 -142
  1184. package/runtime/third_party/bearssl/src/symcipher/aes_big_dec.c +0 -254
  1185. package/runtime/third_party/bearssl/src/symcipher/aes_big_enc.c +0 -157
  1186. package/runtime/third_party/bearssl/src/symcipher/aes_common.c +0 -112
  1187. package/runtime/third_party/bearssl/src/symcipher/aes_ct.c +0 -328
  1188. package/runtime/third_party/bearssl/src/symcipher/aes_ct64.c +0 -398
  1189. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_cbcdec.c +0 -104
  1190. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_cbcenc.c +0 -81
  1191. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_ctr.c +0 -114
  1192. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_ctrcbc.c +0 -433
  1193. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_dec.c +0 -159
  1194. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_enc.c +0 -115
  1195. package/runtime/third_party/bearssl/src/symcipher/aes_ct_cbcdec.c +0 -111
  1196. package/runtime/third_party/bearssl/src/symcipher/aes_ct_cbcenc.c +0 -91
  1197. package/runtime/third_party/bearssl/src/symcipher/aes_ct_ctr.c +0 -116
  1198. package/runtime/third_party/bearssl/src/symcipher/aes_ct_ctrcbc.c +0 -422
  1199. package/runtime/third_party/bearssl/src/symcipher/aes_ct_dec.c +0 -170
  1200. package/runtime/third_party/bearssl/src/symcipher/aes_ct_enc.c +0 -112
  1201. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8.c +0 -445
  1202. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_cbcdec.c +0 -670
  1203. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_cbcenc.c +0 -417
  1204. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_ctr.c +0 -717
  1205. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_ctrcbc.c +0 -946
  1206. package/runtime/third_party/bearssl/src/symcipher/aes_small_cbcdec.c +0 -69
  1207. package/runtime/third_party/bearssl/src/symcipher/aes_small_cbcenc.c +0 -67
  1208. package/runtime/third_party/bearssl/src/symcipher/aes_small_ctr.c +0 -84
  1209. package/runtime/third_party/bearssl/src/symcipher/aes_small_ctrcbc.c +0 -142
  1210. package/runtime/third_party/bearssl/src/symcipher/aes_small_dec.c +0 -176
  1211. package/runtime/third_party/bearssl/src/symcipher/aes_small_enc.c +0 -129
  1212. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni.c +0 -240
  1213. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_cbcdec.c +0 -223
  1214. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_cbcenc.c +0 -122
  1215. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_ctr.c +0 -211
  1216. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_ctrcbc.c +0 -596
  1217. package/runtime/third_party/bearssl/src/symcipher/chacha20_ct.c +0 -106
  1218. package/runtime/third_party/bearssl/src/symcipher/chacha20_sse2.c +0 -237
  1219. package/runtime/third_party/bearssl/src/symcipher/des_ct.c +0 -411
  1220. package/runtime/third_party/bearssl/src/symcipher/des_ct_cbcdec.c +0 -87
  1221. package/runtime/third_party/bearssl/src/symcipher/des_ct_cbcenc.c +0 -69
  1222. package/runtime/third_party/bearssl/src/symcipher/des_support.c +0 -166
  1223. package/runtime/third_party/bearssl/src/symcipher/des_tab.c +0 -310
  1224. package/runtime/third_party/bearssl/src/symcipher/des_tab_cbcdec.c +0 -85
  1225. package/runtime/third_party/bearssl/src/symcipher/des_tab_cbcenc.c +0 -67
  1226. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmul.c +0 -260
  1227. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmul32.c +0 -297
  1228. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmulq.c +0 -475
  1229. package/runtime/third_party/bearssl/src/symcipher/poly1305_i15.c +0 -221
  1230. package/runtime/third_party/bearssl/src/x509/asn1.t0 +0 -757
  1231. package/runtime/third_party/bearssl/src/x509/asn1enc.c +0 -93
  1232. package/runtime/third_party/bearssl/src/x509/encode_ec_pk8der.c +0 -110
  1233. package/runtime/third_party/bearssl/src/x509/encode_ec_rawder.c +0 -161
  1234. package/runtime/third_party/bearssl/src/x509/encode_rsa_pk8der.c +0 -97
  1235. package/runtime/third_party/bearssl/src/x509/encode_rsa_rawder.c +0 -96
  1236. package/runtime/third_party/bearssl/src/x509/skey_decoder.c +0 -653
  1237. package/runtime/third_party/bearssl/src/x509/skey_decoder.t0 +0 -376
  1238. package/runtime/third_party/bearssl/src/x509/x509_decoder.c +0 -776
  1239. package/runtime/third_party/bearssl/src/x509/x509_decoder.t0 +0 -324
  1240. package/runtime/third_party/bearssl/src/x509/x509_knownkey.c +0 -105
  1241. package/runtime/third_party/bearssl/src/x509/x509_minimal.c +0 -1722
  1242. package/runtime/third_party/bearssl/src/x509/x509_minimal.t0 +0 -1526
  1243. package/runtime/third_party/bearssl/src/x509/x509_minimal_full.c +0 -59
@@ -0,0 +1,1446 @@
1
+ // This file is generated from a similarly-named Perl script in the BoringSSL
2
+ // source tree. Do not edit by hand.
3
+
4
+ #include <openssl/asm_base.h>
5
+
6
+ #if !defined(OPENSSL_NO_ASM) && defined(OPENSSL_AARCH64) && defined(_WIN32)
7
+ .text
8
+
9
+ .globl bn_mul_mont_words
10
+
11
+ .def bn_mul_mont_words
12
+ .type 32
13
+ .endef
14
+ .align 5
15
+ bn_mul_mont_words:
16
+ AARCH64_SIGN_LINK_REGISTER
17
+ tst x5,#7
18
+ b.eq Lsqr8x_mont
19
+ tst x5,#3
20
+ b.eq Lmul4x_mont
21
+ Lmul_mont:
22
+ stp x29,x30,[sp,#-64]!
23
+ add x29,sp,#0
24
+ stp x19,x20,[sp,#16]
25
+ stp x21,x22,[sp,#32]
26
+ stp x23,x24,[sp,#48]
27
+
28
+ ldr x9,[x2],#8 // bp[0]
29
+ sub x22,sp,x5,lsl#3
30
+ ldp x7,x8,[x1],#16 // ap[0..1]
31
+ lsl x5,x5,#3
32
+ ldr x4,[x4] // *n0
33
+ and x22,x22,#-16 // ABI says so
34
+ ldp x13,x14,[x3],#16 // np[0..1]
35
+
36
+ mul x6,x7,x9 // ap[0]*bp[0]
37
+ sub x21,x5,#16 // j=num-2
38
+ umulh x7,x7,x9
39
+ mul x10,x8,x9 // ap[1]*bp[0]
40
+ umulh x11,x8,x9
41
+
42
+ mul x15,x6,x4 // "tp[0]"*n0
43
+ // This can allocate at most 8 * BN_MONTGOMERY_MAX_WORDS on the stack,
44
+ // or 2 KiB. This fits well within a page, so it is not necessary to
45
+ // fault pages in the correct order.
46
+ mov sp,x22 // alloca
47
+
48
+ // (*) mul x12,x13,x15 // np[0]*m1
49
+ umulh x13,x13,x15
50
+ mul x16,x14,x15 // np[1]*m1
51
+ // (*) adds x12,x12,x6 // discarded
52
+ // (*) As for removal of first multiplication and addition
53
+ // instructions. The outcome of first addition is
54
+ // guaranteed to be zero, which leaves two computationally
55
+ // significant outcomes: it either carries or not. Then
56
+ // question is when does it carry? Is there alternative
57
+ // way to deduce it? If you follow operations, you can
58
+ // observe that condition for carry is quite simple:
59
+ // x6 being non-zero. So that carry can be calculated
60
+ // by adding -1 to x6. That's what next instruction does.
61
+ subs xzr,x6,#1 // (*)
62
+ umulh x17,x14,x15
63
+ adc x13,x13,xzr
64
+ cbz x21,L1st_skip
65
+
66
+ L1st:
67
+ ldr x8,[x1],#8
68
+ adds x6,x10,x7
69
+ sub x21,x21,#8 // j--
70
+ adc x7,x11,xzr
71
+
72
+ ldr x14,[x3],#8
73
+ adds x12,x16,x13
74
+ mul x10,x8,x9 // ap[j]*bp[0]
75
+ adc x13,x17,xzr
76
+ umulh x11,x8,x9
77
+
78
+ adds x12,x12,x6
79
+ mul x16,x14,x15 // np[j]*m1
80
+ adc x13,x13,xzr
81
+ umulh x17,x14,x15
82
+ str x12,[x22],#8 // tp[j-1]
83
+ cbnz x21,L1st
84
+
85
+ L1st_skip:
86
+ adds x6,x10,x7
87
+ sub x1,x1,x5 // rewind x1
88
+ adc x7,x11,xzr
89
+
90
+ adds x12,x16,x13
91
+ sub x3,x3,x5 // rewind x3
92
+ adc x13,x17,xzr
93
+
94
+ adds x12,x12,x6
95
+ sub x20,x5,#8 // i=num-1
96
+ adcs x13,x13,x7
97
+
98
+ adc x19,xzr,xzr // upmost overflow bit
99
+ stp x12,x13,[x22]
100
+
101
+ Louter:
102
+ ldr x9,[x2],#8 // bp[i]
103
+ ldp x7,x8,[x1],#16
104
+ ldr x23,[sp] // tp[0]
105
+ add x22,sp,#8
106
+
107
+ mul x6,x7,x9 // ap[0]*bp[i]
108
+ sub x21,x5,#16 // j=num-2
109
+ umulh x7,x7,x9
110
+ ldp x13,x14,[x3],#16
111
+ mul x10,x8,x9 // ap[1]*bp[i]
112
+ adds x6,x6,x23
113
+ umulh x11,x8,x9
114
+ adc x7,x7,xzr
115
+
116
+ mul x15,x6,x4
117
+ sub x20,x20,#8 // i--
118
+
119
+ // (*) mul x12,x13,x15 // np[0]*m1
120
+ umulh x13,x13,x15
121
+ mul x16,x14,x15 // np[1]*m1
122
+ // (*) adds x12,x12,x6
123
+ subs xzr,x6,#1 // (*)
124
+ umulh x17,x14,x15
125
+ cbz x21,Linner_skip
126
+
127
+ Linner:
128
+ ldr x8,[x1],#8
129
+ adc x13,x13,xzr
130
+ ldr x23,[x22],#8 // tp[j]
131
+ adds x6,x10,x7
132
+ sub x21,x21,#8 // j--
133
+ adc x7,x11,xzr
134
+
135
+ adds x12,x16,x13
136
+ ldr x14,[x3],#8
137
+ adc x13,x17,xzr
138
+
139
+ mul x10,x8,x9 // ap[j]*bp[i]
140
+ adds x6,x6,x23
141
+ umulh x11,x8,x9
142
+ adc x7,x7,xzr
143
+
144
+ mul x16,x14,x15 // np[j]*m1
145
+ adds x12,x12,x6
146
+ umulh x17,x14,x15
147
+ str x12,[x22,#-16] // tp[j-1]
148
+ cbnz x21,Linner
149
+
150
+ Linner_skip:
151
+ ldr x23,[x22],#8 // tp[j]
152
+ adc x13,x13,xzr
153
+ adds x6,x10,x7
154
+ sub x1,x1,x5 // rewind x1
155
+ adc x7,x11,xzr
156
+
157
+ adds x12,x16,x13
158
+ sub x3,x3,x5 // rewind x3
159
+ adcs x13,x17,x19
160
+ adc x19,xzr,xzr
161
+
162
+ adds x6,x6,x23
163
+ adc x7,x7,xzr
164
+
165
+ adds x12,x12,x6
166
+ adcs x13,x13,x7
167
+ adc x19,x19,xzr // upmost overflow bit
168
+ stp x12,x13,[x22,#-16]
169
+
170
+ cbnz x20,Louter
171
+
172
+ // Final step. We see if result is larger than modulus, and
173
+ // if it is, subtract the modulus. But comparison implies
174
+ // subtraction. So we subtract modulus, see if it borrowed,
175
+ // and conditionally copy original value.
176
+ ldr x23,[sp] // tp[0]
177
+ add x22,sp,#8
178
+ ldr x14,[x3],#8 // np[0]
179
+ subs x21,x5,#8 // j=num-1 and clear borrow
180
+ mov x1,x0
181
+ Lsub:
182
+ sbcs x8,x23,x14 // tp[j]-np[j]
183
+ ldr x23,[x22],#8
184
+ sub x21,x21,#8 // j--
185
+ ldr x14,[x3],#8
186
+ str x8,[x1],#8 // rp[j]=tp[j]-np[j]
187
+ cbnz x21,Lsub
188
+
189
+ sbcs x8,x23,x14
190
+ sbcs x19,x19,xzr // did it borrow?
191
+ str x8,[x1],#8 // rp[num-1]
192
+
193
+ ldr x23,[sp] // tp[0]
194
+ add x22,sp,#8
195
+ ldr x8,[x0],#8 // rp[0]
196
+ sub x5,x5,#8 // num--
197
+ nop
198
+ Lcond_copy:
199
+ sub x5,x5,#8 // num--
200
+ csel x14,x23,x8,lo // did it borrow?
201
+ ldr x23,[x22],#8
202
+ ldr x8,[x0],#8
203
+ str xzr,[x22,#-16] // wipe tp
204
+ str x14,[x0,#-16]
205
+ cbnz x5,Lcond_copy
206
+
207
+ csel x14,x23,x8,lo
208
+ str xzr,[x22,#-8] // wipe tp
209
+ str x14,[x0,#-8]
210
+
211
+ ldp x19,x20,[x29,#16]
212
+ mov sp,x29
213
+ ldp x21,x22,[x29,#32]
214
+ // No return value
215
+ ldp x23,x24,[x29,#48]
216
+ ldr x29,[sp],#64
217
+ AARCH64_VALIDATE_LINK_REGISTER
218
+ ret
219
+ .def Lsqr8x_mont
220
+ .type 32
221
+ .endef
222
+ .align 5
223
+ Lsqr8x_mont:
224
+ // Not adding AARCH64_SIGN_LINK_REGISTER here because .Lsqr8x_mont is jumped to
225
+ // only from bn_mul_mont_words which has already signed the return address.
226
+ cmp x1,x2
227
+ b.ne Lmul4x_mont
228
+
229
+ stp x29,x30,[sp,#-128]!
230
+ add x29,sp,#0
231
+ stp x19,x20,[sp,#16]
232
+ stp x21,x22,[sp,#32]
233
+ stp x23,x24,[sp,#48]
234
+ stp x25,x26,[sp,#64]
235
+ stp x27,x28,[sp,#80]
236
+ stp x0,x3,[sp,#96] // offload rp and np
237
+
238
+ ldp x6,x7,[x1,#8*0]
239
+ ldp x8,x9,[x1,#8*2]
240
+ ldp x10,x11,[x1,#8*4]
241
+ ldp x12,x13,[x1,#8*6]
242
+
243
+ // This can allocate at most 16 * BN_MONTGOMERY_MAX_WORDS on the stack,
244
+ // or 4 KiB. The fixed allocation above pushes to just above a page. On
245
+ // Windows, we must ensure new pages are first accessed in order. See
246
+ // https://learn.microsoft.com/en-us/cpp/build/arm64-windows-abi-conventions?view=msvc-170#stack
247
+ //
248
+ // The order is correct, but precariously so: the code above access as
249
+ // low as [sp,#16]. This leaves a jump of 16 + 4096 = 4112 bytes. If
250
+ // [sp,#16] were at page boundary, those 4112 bytes would span two
251
+ // pages. If [x2] were the next access, we would skip a guard page.
252
+ //
253
+ // Fortunately, the first access is [x2,#8*8], at .Lsqr8x_zero_start.
254
+ // We jump at most 4112 - 64 = 4048 bytes, less than a page. If any of
255
+ // this changes, we must insert a no-op access or call __chkstk.
256
+ sub x2,sp,x5,lsl#4
257
+ lsl x5,x5,#3
258
+ ldr x4,[x4] // *n0
259
+ mov sp,x2 // alloca
260
+ sub x27,x5,#8*8
261
+ b Lsqr8x_zero_start
262
+
263
+ Lsqr8x_zero:
264
+ sub x27,x27,#8*8
265
+ stp xzr,xzr,[x2,#8*0]
266
+ stp xzr,xzr,[x2,#8*2]
267
+ stp xzr,xzr,[x2,#8*4]
268
+ stp xzr,xzr,[x2,#8*6]
269
+ Lsqr8x_zero_start:
270
+ stp xzr,xzr,[x2,#8*8]
271
+ stp xzr,xzr,[x2,#8*10]
272
+ stp xzr,xzr,[x2,#8*12]
273
+ stp xzr,xzr,[x2,#8*14]
274
+ add x2,x2,#8*16
275
+ cbnz x27,Lsqr8x_zero
276
+
277
+ add x3,x1,x5
278
+ add x1,x1,#8*8
279
+ mov x19,xzr
280
+ mov x20,xzr
281
+ mov x21,xzr
282
+ mov x22,xzr
283
+ mov x23,xzr
284
+ mov x24,xzr
285
+ mov x25,xzr
286
+ mov x26,xzr
287
+ mov x2,sp
288
+ str x4,[x29,#112] // offload n0
289
+
290
+ // Multiply everything but a[i]*a[i]
291
+ .align 4
292
+ Lsqr8x_outer_loop:
293
+ // a[1]a[0] (i)
294
+ // a[2]a[0]
295
+ // a[3]a[0]
296
+ // a[4]a[0]
297
+ // a[5]a[0]
298
+ // a[6]a[0]
299
+ // a[7]a[0]
300
+ // a[2]a[1] (ii)
301
+ // a[3]a[1]
302
+ // a[4]a[1]
303
+ // a[5]a[1]
304
+ // a[6]a[1]
305
+ // a[7]a[1]
306
+ // a[3]a[2] (iii)
307
+ // a[4]a[2]
308
+ // a[5]a[2]
309
+ // a[6]a[2]
310
+ // a[7]a[2]
311
+ // a[4]a[3] (iv)
312
+ // a[5]a[3]
313
+ // a[6]a[3]
314
+ // a[7]a[3]
315
+ // a[5]a[4] (v)
316
+ // a[6]a[4]
317
+ // a[7]a[4]
318
+ // a[6]a[5] (vi)
319
+ // a[7]a[5]
320
+ // a[7]a[6] (vii)
321
+
322
+ mul x14,x7,x6 // lo(a[1..7]*a[0]) (i)
323
+ mul x15,x8,x6
324
+ mul x16,x9,x6
325
+ mul x17,x10,x6
326
+ adds x20,x20,x14 // t[1]+lo(a[1]*a[0])
327
+ mul x14,x11,x6
328
+ adcs x21,x21,x15
329
+ mul x15,x12,x6
330
+ adcs x22,x22,x16
331
+ mul x16,x13,x6
332
+ adcs x23,x23,x17
333
+ umulh x17,x7,x6 // hi(a[1..7]*a[0])
334
+ adcs x24,x24,x14
335
+ umulh x14,x8,x6
336
+ adcs x25,x25,x15
337
+ umulh x15,x9,x6
338
+ adcs x26,x26,x16
339
+ umulh x16,x10,x6
340
+ stp x19,x20,[x2],#8*2 // t[0..1]
341
+ adc x19,xzr,xzr // t[8]
342
+ adds x21,x21,x17 // t[2]+lo(a[1]*a[0])
343
+ umulh x17,x11,x6
344
+ adcs x22,x22,x14
345
+ umulh x14,x12,x6
346
+ adcs x23,x23,x15
347
+ umulh x15,x13,x6
348
+ adcs x24,x24,x16
349
+ mul x16,x8,x7 // lo(a[2..7]*a[1]) (ii)
350
+ adcs x25,x25,x17
351
+ mul x17,x9,x7
352
+ adcs x26,x26,x14
353
+ mul x14,x10,x7
354
+ adc x19,x19,x15
355
+
356
+ mul x15,x11,x7
357
+ adds x22,x22,x16
358
+ mul x16,x12,x7
359
+ adcs x23,x23,x17
360
+ mul x17,x13,x7
361
+ adcs x24,x24,x14
362
+ umulh x14,x8,x7 // hi(a[2..7]*a[1])
363
+ adcs x25,x25,x15
364
+ umulh x15,x9,x7
365
+ adcs x26,x26,x16
366
+ umulh x16,x10,x7
367
+ adcs x19,x19,x17
368
+ umulh x17,x11,x7
369
+ stp x21,x22,[x2],#8*2 // t[2..3]
370
+ adc x20,xzr,xzr // t[9]
371
+ adds x23,x23,x14
372
+ umulh x14,x12,x7
373
+ adcs x24,x24,x15
374
+ umulh x15,x13,x7
375
+ adcs x25,x25,x16
376
+ mul x16,x9,x8 // lo(a[3..7]*a[2]) (iii)
377
+ adcs x26,x26,x17
378
+ mul x17,x10,x8
379
+ adcs x19,x19,x14
380
+ mul x14,x11,x8
381
+ adc x20,x20,x15
382
+
383
+ mul x15,x12,x8
384
+ adds x24,x24,x16
385
+ mul x16,x13,x8
386
+ adcs x25,x25,x17
387
+ umulh x17,x9,x8 // hi(a[3..7]*a[2])
388
+ adcs x26,x26,x14
389
+ umulh x14,x10,x8
390
+ adcs x19,x19,x15
391
+ umulh x15,x11,x8
392
+ adcs x20,x20,x16
393
+ umulh x16,x12,x8
394
+ stp x23,x24,[x2],#8*2 // t[4..5]
395
+ adc x21,xzr,xzr // t[10]
396
+ adds x25,x25,x17
397
+ umulh x17,x13,x8
398
+ adcs x26,x26,x14
399
+ mul x14,x10,x9 // lo(a[4..7]*a[3]) (iv)
400
+ adcs x19,x19,x15
401
+ mul x15,x11,x9
402
+ adcs x20,x20,x16
403
+ mul x16,x12,x9
404
+ adc x21,x21,x17
405
+
406
+ mul x17,x13,x9
407
+ adds x26,x26,x14
408
+ umulh x14,x10,x9 // hi(a[4..7]*a[3])
409
+ adcs x19,x19,x15
410
+ umulh x15,x11,x9
411
+ adcs x20,x20,x16
412
+ umulh x16,x12,x9
413
+ adcs x21,x21,x17
414
+ umulh x17,x13,x9
415
+ stp x25,x26,[x2],#8*2 // t[6..7]
416
+ adc x22,xzr,xzr // t[11]
417
+ adds x19,x19,x14
418
+ mul x14,x11,x10 // lo(a[5..7]*a[4]) (v)
419
+ adcs x20,x20,x15
420
+ mul x15,x12,x10
421
+ adcs x21,x21,x16
422
+ mul x16,x13,x10
423
+ adc x22,x22,x17
424
+
425
+ umulh x17,x11,x10 // hi(a[5..7]*a[4])
426
+ adds x20,x20,x14
427
+ umulh x14,x12,x10
428
+ adcs x21,x21,x15
429
+ umulh x15,x13,x10
430
+ adcs x22,x22,x16
431
+ mul x16,x12,x11 // lo(a[6..7]*a[5]) (vi)
432
+ adc x23,xzr,xzr // t[12]
433
+ adds x21,x21,x17
434
+ mul x17,x13,x11
435
+ adcs x22,x22,x14
436
+ umulh x14,x12,x11 // hi(a[6..7]*a[5])
437
+ adc x23,x23,x15
438
+
439
+ umulh x15,x13,x11
440
+ adds x22,x22,x16
441
+ mul x16,x13,x12 // lo(a[7]*a[6]) (vii)
442
+ adcs x23,x23,x17
443
+ umulh x17,x13,x12 // hi(a[7]*a[6])
444
+ adc x24,xzr,xzr // t[13]
445
+ adds x23,x23,x14
446
+ sub x27,x3,x1 // done yet?
447
+ adc x24,x24,x15
448
+
449
+ adds x24,x24,x16
450
+ sub x14,x3,x5 // rewound ap
451
+ adc x25,xzr,xzr // t[14]
452
+ add x25,x25,x17
453
+
454
+ cbz x27,Lsqr8x_outer_break
455
+
456
+ mov x4,x6
457
+ ldp x6,x7,[x2,#8*0]
458
+ ldp x8,x9,[x2,#8*2]
459
+ ldp x10,x11,[x2,#8*4]
460
+ ldp x12,x13,[x2,#8*6]
461
+ adds x19,x19,x6
462
+ adcs x20,x20,x7
463
+ ldp x6,x7,[x1,#8*0]
464
+ adcs x21,x21,x8
465
+ adcs x22,x22,x9
466
+ ldp x8,x9,[x1,#8*2]
467
+ adcs x23,x23,x10
468
+ adcs x24,x24,x11
469
+ ldp x10,x11,[x1,#8*4]
470
+ adcs x25,x25,x12
471
+ mov x0,x1
472
+ adcs x26,xzr,x13
473
+ ldp x12,x13,[x1,#8*6]
474
+ add x1,x1,#8*8
475
+ //adc x28,xzr,xzr // moved below
476
+ mov x27,#-8*8
477
+
478
+ // a[8]a[0]
479
+ // a[9]a[0]
480
+ // a[a]a[0]
481
+ // a[b]a[0]
482
+ // a[c]a[0]
483
+ // a[d]a[0]
484
+ // a[e]a[0]
485
+ // a[f]a[0]
486
+ // a[8]a[1]
487
+ // a[f]a[1]........................
488
+ // a[8]a[2]
489
+ // a[f]a[2]........................
490
+ // a[8]a[3]
491
+ // a[f]a[3]........................
492
+ // a[8]a[4]
493
+ // a[f]a[4]........................
494
+ // a[8]a[5]
495
+ // a[f]a[5]........................
496
+ // a[8]a[6]
497
+ // a[f]a[6]........................
498
+ // a[8]a[7]
499
+ // a[f]a[7]........................
500
+ Lsqr8x_mul:
501
+ mul x14,x6,x4
502
+ adc x28,xzr,xzr // carry bit, modulo-scheduled
503
+ mul x15,x7,x4
504
+ add x27,x27,#8
505
+ mul x16,x8,x4
506
+ mul x17,x9,x4
507
+ adds x19,x19,x14
508
+ mul x14,x10,x4
509
+ adcs x20,x20,x15
510
+ mul x15,x11,x4
511
+ adcs x21,x21,x16
512
+ mul x16,x12,x4
513
+ adcs x22,x22,x17
514
+ mul x17,x13,x4
515
+ adcs x23,x23,x14
516
+ umulh x14,x6,x4
517
+ adcs x24,x24,x15
518
+ umulh x15,x7,x4
519
+ adcs x25,x25,x16
520
+ umulh x16,x8,x4
521
+ adcs x26,x26,x17
522
+ umulh x17,x9,x4
523
+ adc x28,x28,xzr
524
+ str x19,[x2],#8
525
+ adds x19,x20,x14
526
+ umulh x14,x10,x4
527
+ adcs x20,x21,x15
528
+ umulh x15,x11,x4
529
+ adcs x21,x22,x16
530
+ umulh x16,x12,x4
531
+ adcs x22,x23,x17
532
+ umulh x17,x13,x4
533
+ ldr x4,[x0,x27]
534
+ adcs x23,x24,x14
535
+ adcs x24,x25,x15
536
+ adcs x25,x26,x16
537
+ adcs x26,x28,x17
538
+ //adc x28,xzr,xzr // moved above
539
+ cbnz x27,Lsqr8x_mul
540
+ // note that carry flag is guaranteed
541
+ // to be zero at this point
542
+ cmp x1,x3 // done yet?
543
+ b.eq Lsqr8x_break
544
+
545
+ ldp x6,x7,[x2,#8*0]
546
+ ldp x8,x9,[x2,#8*2]
547
+ ldp x10,x11,[x2,#8*4]
548
+ ldp x12,x13,[x2,#8*6]
549
+ adds x19,x19,x6
550
+ ldr x4,[x0,#-8*8]
551
+ adcs x20,x20,x7
552
+ ldp x6,x7,[x1,#8*0]
553
+ adcs x21,x21,x8
554
+ adcs x22,x22,x9
555
+ ldp x8,x9,[x1,#8*2]
556
+ adcs x23,x23,x10
557
+ adcs x24,x24,x11
558
+ ldp x10,x11,[x1,#8*4]
559
+ adcs x25,x25,x12
560
+ mov x27,#-8*8
561
+ adcs x26,x26,x13
562
+ ldp x12,x13,[x1,#8*6]
563
+ add x1,x1,#8*8
564
+ //adc x28,xzr,xzr // moved above
565
+ b Lsqr8x_mul
566
+
567
+ .align 4
568
+ Lsqr8x_break:
569
+ ldp x6,x7,[x0,#8*0]
570
+ add x1,x0,#8*8
571
+ ldp x8,x9,[x0,#8*2]
572
+ sub x14,x3,x1 // is it last iteration?
573
+ ldp x10,x11,[x0,#8*4]
574
+ sub x15,x2,x14
575
+ ldp x12,x13,[x0,#8*6]
576
+ cbz x14,Lsqr8x_outer_loop
577
+
578
+ stp x19,x20,[x2,#8*0]
579
+ ldp x19,x20,[x15,#8*0]
580
+ stp x21,x22,[x2,#8*2]
581
+ ldp x21,x22,[x15,#8*2]
582
+ stp x23,x24,[x2,#8*4]
583
+ ldp x23,x24,[x15,#8*4]
584
+ stp x25,x26,[x2,#8*6]
585
+ mov x2,x15
586
+ ldp x25,x26,[x15,#8*6]
587
+ b Lsqr8x_outer_loop
588
+
589
+ .align 4
590
+ Lsqr8x_outer_break:
591
+ // Now multiply above result by 2 and add a[n-1]*a[n-1]|...|a[0]*a[0]
592
+ ldp x7,x9,[x14,#8*0] // recall that x14 is &a[0]
593
+ ldp x15,x16,[sp,#8*1]
594
+ ldp x11,x13,[x14,#8*2]
595
+ add x1,x14,#8*4
596
+ ldp x17,x14,[sp,#8*3]
597
+
598
+ stp x19,x20,[x2,#8*0]
599
+ mul x19,x7,x7
600
+ stp x21,x22,[x2,#8*2]
601
+ umulh x7,x7,x7
602
+ stp x23,x24,[x2,#8*4]
603
+ mul x8,x9,x9
604
+ stp x25,x26,[x2,#8*6]
605
+ mov x2,sp
606
+ umulh x9,x9,x9
607
+ adds x20,x7,x15,lsl#1
608
+ extr x15,x16,x15,#63
609
+ sub x27,x5,#8*4
610
+
611
+ Lsqr4x_shift_n_add:
612
+ adcs x21,x8,x15
613
+ extr x16,x17,x16,#63
614
+ sub x27,x27,#8*4
615
+ adcs x22,x9,x16
616
+ ldp x15,x16,[x2,#8*5]
617
+ mul x10,x11,x11
618
+ ldp x7,x9,[x1],#8*2
619
+ umulh x11,x11,x11
620
+ mul x12,x13,x13
621
+ umulh x13,x13,x13
622
+ extr x17,x14,x17,#63
623
+ stp x19,x20,[x2,#8*0]
624
+ adcs x23,x10,x17
625
+ extr x14,x15,x14,#63
626
+ stp x21,x22,[x2,#8*2]
627
+ adcs x24,x11,x14
628
+ ldp x17,x14,[x2,#8*7]
629
+ extr x15,x16,x15,#63
630
+ adcs x25,x12,x15
631
+ extr x16,x17,x16,#63
632
+ adcs x26,x13,x16
633
+ ldp x15,x16,[x2,#8*9]
634
+ mul x6,x7,x7
635
+ ldp x11,x13,[x1],#8*2
636
+ umulh x7,x7,x7
637
+ mul x8,x9,x9
638
+ umulh x9,x9,x9
639
+ stp x23,x24,[x2,#8*4]
640
+ extr x17,x14,x17,#63
641
+ stp x25,x26,[x2,#8*6]
642
+ add x2,x2,#8*8
643
+ adcs x19,x6,x17
644
+ extr x14,x15,x14,#63
645
+ adcs x20,x7,x14
646
+ ldp x17,x14,[x2,#8*3]
647
+ extr x15,x16,x15,#63
648
+ cbnz x27,Lsqr4x_shift_n_add
649
+ ldp x1,x4,[x29,#104] // pull np and n0
650
+
651
+ adcs x21,x8,x15
652
+ extr x16,x17,x16,#63
653
+ adcs x22,x9,x16
654
+ ldp x15,x16,[x2,#8*5]
655
+ mul x10,x11,x11
656
+ umulh x11,x11,x11
657
+ stp x19,x20,[x2,#8*0]
658
+ mul x12,x13,x13
659
+ umulh x13,x13,x13
660
+ stp x21,x22,[x2,#8*2]
661
+ extr x17,x14,x17,#63
662
+ adcs x23,x10,x17
663
+ extr x14,x15,x14,#63
664
+ ldp x19,x20,[sp,#8*0]
665
+ adcs x24,x11,x14
666
+ extr x15,x16,x15,#63
667
+ ldp x6,x7,[x1,#8*0]
668
+ adcs x25,x12,x15
669
+ extr x16,xzr,x16,#63
670
+ ldp x8,x9,[x1,#8*2]
671
+ adc x26,x13,x16
672
+ ldp x10,x11,[x1,#8*4]
673
+
674
+ // Reduce by 512 bits per iteration
675
+ mul x28,x4,x19 // t[0]*n0
676
+ ldp x12,x13,[x1,#8*6]
677
+ add x3,x1,x5
678
+ ldp x21,x22,[sp,#8*2]
679
+ stp x23,x24,[x2,#8*4]
680
+ ldp x23,x24,[sp,#8*4]
681
+ stp x25,x26,[x2,#8*6]
682
+ ldp x25,x26,[sp,#8*6]
683
+ add x1,x1,#8*8
684
+ mov x30,xzr // initial top-most carry
685
+ mov x2,sp
686
+ mov x27,#8
687
+
688
+ Lsqr8x_reduction:
689
+ // (*) mul x14,x6,x28 // lo(n[0-7])*lo(t[0]*n0)
690
+ mul x15,x7,x28
691
+ sub x27,x27,#1
692
+ mul x16,x8,x28
693
+ str x28,[x2],#8 // put aside t[0]*n0 for tail processing
694
+ mul x17,x9,x28
695
+ // (*) adds xzr,x19,x14
696
+ subs xzr,x19,#1 // (*)
697
+ mul x14,x10,x28
698
+ adcs x19,x20,x15
699
+ mul x15,x11,x28
700
+ adcs x20,x21,x16
701
+ mul x16,x12,x28
702
+ adcs x21,x22,x17
703
+ mul x17,x13,x28
704
+ adcs x22,x23,x14
705
+ umulh x14,x6,x28 // hi(n[0-7])*lo(t[0]*n0)
706
+ adcs x23,x24,x15
707
+ umulh x15,x7,x28
708
+ adcs x24,x25,x16
709
+ umulh x16,x8,x28
710
+ adcs x25,x26,x17
711
+ umulh x17,x9,x28
712
+ adc x26,xzr,xzr
713
+ adds x19,x19,x14
714
+ umulh x14,x10,x28
715
+ adcs x20,x20,x15
716
+ umulh x15,x11,x28
717
+ adcs x21,x21,x16
718
+ umulh x16,x12,x28
719
+ adcs x22,x22,x17
720
+ umulh x17,x13,x28
721
+ mul x28,x4,x19 // next t[0]*n0
722
+ adcs x23,x23,x14
723
+ adcs x24,x24,x15
724
+ adcs x25,x25,x16
725
+ adc x26,x26,x17
726
+ cbnz x27,Lsqr8x_reduction
727
+
728
+ ldp x14,x15,[x2,#8*0]
729
+ ldp x16,x17,[x2,#8*2]
730
+ mov x0,x2
731
+ sub x27,x3,x1 // done yet?
732
+ adds x19,x19,x14
733
+ adcs x20,x20,x15
734
+ ldp x14,x15,[x2,#8*4]
735
+ adcs x21,x21,x16
736
+ adcs x22,x22,x17
737
+ ldp x16,x17,[x2,#8*6]
738
+ adcs x23,x23,x14
739
+ adcs x24,x24,x15
740
+ adcs x25,x25,x16
741
+ adcs x26,x26,x17
742
+ //adc x28,xzr,xzr // moved below
743
+ cbz x27,Lsqr8x8_post_condition
744
+
745
+ ldr x4,[x2,#-8*8]
746
+ ldp x6,x7,[x1,#8*0]
747
+ ldp x8,x9,[x1,#8*2]
748
+ ldp x10,x11,[x1,#8*4]
749
+ mov x27,#-8*8
750
+ ldp x12,x13,[x1,#8*6]
751
+ add x1,x1,#8*8
752
+
753
+ Lsqr8x_tail:
754
+ mul x14,x6,x4
755
+ adc x28,xzr,xzr // carry bit, modulo-scheduled
756
+ mul x15,x7,x4
757
+ add x27,x27,#8
758
+ mul x16,x8,x4
759
+ mul x17,x9,x4
760
+ adds x19,x19,x14
761
+ mul x14,x10,x4
762
+ adcs x20,x20,x15
763
+ mul x15,x11,x4
764
+ adcs x21,x21,x16
765
+ mul x16,x12,x4
766
+ adcs x22,x22,x17
767
+ mul x17,x13,x4
768
+ adcs x23,x23,x14
769
+ umulh x14,x6,x4
770
+ adcs x24,x24,x15
771
+ umulh x15,x7,x4
772
+ adcs x25,x25,x16
773
+ umulh x16,x8,x4
774
+ adcs x26,x26,x17
775
+ umulh x17,x9,x4
776
+ adc x28,x28,xzr
777
+ str x19,[x2],#8
778
+ adds x19,x20,x14
779
+ umulh x14,x10,x4
780
+ adcs x20,x21,x15
781
+ umulh x15,x11,x4
782
+ adcs x21,x22,x16
783
+ umulh x16,x12,x4
784
+ adcs x22,x23,x17
785
+ umulh x17,x13,x4
786
+ ldr x4,[x0,x27]
787
+ adcs x23,x24,x14
788
+ adcs x24,x25,x15
789
+ adcs x25,x26,x16
790
+ adcs x26,x28,x17
791
+ //adc x28,xzr,xzr // moved above
792
+ cbnz x27,Lsqr8x_tail
793
+ // note that carry flag is guaranteed
794
+ // to be zero at this point
795
+ ldp x6,x7,[x2,#8*0]
796
+ sub x27,x3,x1 // done yet?
797
+ sub x16,x3,x5 // rewound np
798
+ ldp x8,x9,[x2,#8*2]
799
+ ldp x10,x11,[x2,#8*4]
800
+ ldp x12,x13,[x2,#8*6]
801
+ cbz x27,Lsqr8x_tail_break
802
+
803
+ ldr x4,[x0,#-8*8]
804
+ adds x19,x19,x6
805
+ adcs x20,x20,x7
806
+ ldp x6,x7,[x1,#8*0]
807
+ adcs x21,x21,x8
808
+ adcs x22,x22,x9
809
+ ldp x8,x9,[x1,#8*2]
810
+ adcs x23,x23,x10
811
+ adcs x24,x24,x11
812
+ ldp x10,x11,[x1,#8*4]
813
+ adcs x25,x25,x12
814
+ mov x27,#-8*8
815
+ adcs x26,x26,x13
816
+ ldp x12,x13,[x1,#8*6]
817
+ add x1,x1,#8*8
818
+ //adc x28,xzr,xzr // moved above
819
+ b Lsqr8x_tail
820
+
821
+ .align 4
822
+ Lsqr8x_tail_break:
823
+ ldr x4,[x29,#112] // pull n0
824
+ add x27,x2,#8*8 // end of current t[num] window
825
+
826
+ subs xzr,x30,#1 // "move" top-most carry to carry bit
827
+ adcs x14,x19,x6
828
+ adcs x15,x20,x7
829
+ ldp x19,x20,[x0,#8*0]
830
+ adcs x21,x21,x8
831
+ ldp x6,x7,[x16,#8*0] // recall that x16 is &n[0]
832
+ adcs x22,x22,x9
833
+ ldp x8,x9,[x16,#8*2]
834
+ adcs x23,x23,x10
835
+ adcs x24,x24,x11
836
+ ldp x10,x11,[x16,#8*4]
837
+ adcs x25,x25,x12
838
+ adcs x26,x26,x13
839
+ ldp x12,x13,[x16,#8*6]
840
+ add x1,x16,#8*8
841
+ adc x30,xzr,xzr // top-most carry
842
+ mul x28,x4,x19
843
+ stp x14,x15,[x2,#8*0]
844
+ stp x21,x22,[x2,#8*2]
845
+ ldp x21,x22,[x0,#8*2]
846
+ stp x23,x24,[x2,#8*4]
847
+ ldp x23,x24,[x0,#8*4]
848
+ cmp x27,x29 // did we hit the bottom?
849
+ stp x25,x26,[x2,#8*6]
850
+ mov x2,x0 // slide the window
851
+ ldp x25,x26,[x0,#8*6]
852
+ mov x27,#8
853
+ b.ne Lsqr8x_reduction
854
+
855
+ // Final step. We see if result is larger than modulus, and
856
+ // if it is, subtract the modulus. But comparison implies
857
+ // subtraction. So we subtract modulus, see if it borrowed,
858
+ // and conditionally copy original value.
859
+ ldr x0,[x29,#96] // pull rp
860
+ add x2,x2,#8*8
861
+ subs x14,x19,x6
862
+ sbcs x15,x20,x7
863
+ sub x27,x5,#8*8
864
+ mov x3,x0 // x0 copy
865
+
866
+ Lsqr8x_sub:
867
+ sbcs x16,x21,x8
868
+ ldp x6,x7,[x1,#8*0]
869
+ sbcs x17,x22,x9
870
+ stp x14,x15,[x0,#8*0]
871
+ sbcs x14,x23,x10
872
+ ldp x8,x9,[x1,#8*2]
873
+ sbcs x15,x24,x11
874
+ stp x16,x17,[x0,#8*2]
875
+ sbcs x16,x25,x12
876
+ ldp x10,x11,[x1,#8*4]
877
+ sbcs x17,x26,x13
878
+ ldp x12,x13,[x1,#8*6]
879
+ add x1,x1,#8*8
880
+ ldp x19,x20,[x2,#8*0]
881
+ sub x27,x27,#8*8
882
+ ldp x21,x22,[x2,#8*2]
883
+ ldp x23,x24,[x2,#8*4]
884
+ ldp x25,x26,[x2,#8*6]
885
+ add x2,x2,#8*8
886
+ stp x14,x15,[x0,#8*4]
887
+ sbcs x14,x19,x6
888
+ stp x16,x17,[x0,#8*6]
889
+ add x0,x0,#8*8
890
+ sbcs x15,x20,x7
891
+ cbnz x27,Lsqr8x_sub
892
+
893
+ sbcs x16,x21,x8
894
+ mov x2,sp
895
+ add x1,sp,x5
896
+ ldp x6,x7,[x3,#8*0]
897
+ sbcs x17,x22,x9
898
+ stp x14,x15,[x0,#8*0]
899
+ sbcs x14,x23,x10
900
+ ldp x8,x9,[x3,#8*2]
901
+ sbcs x15,x24,x11
902
+ stp x16,x17,[x0,#8*2]
903
+ sbcs x16,x25,x12
904
+ ldp x19,x20,[x1,#8*0]
905
+ sbcs x17,x26,x13
906
+ ldp x21,x22,[x1,#8*2]
907
+ sbcs xzr,x30,xzr // did it borrow?
908
+ ldr x30,[x29,#8] // pull return address
909
+ stp x14,x15,[x0,#8*4]
910
+ stp x16,x17,[x0,#8*6]
911
+
912
+ sub x27,x5,#8*4
913
+ Lsqr4x_cond_copy:
914
+ sub x27,x27,#8*4
915
+ csel x14,x19,x6,lo
916
+ stp xzr,xzr,[x2,#8*0]
917
+ csel x15,x20,x7,lo
918
+ ldp x6,x7,[x3,#8*4]
919
+ ldp x19,x20,[x1,#8*4]
920
+ csel x16,x21,x8,lo
921
+ stp xzr,xzr,[x2,#8*2]
922
+ add x2,x2,#8*4
923
+ csel x17,x22,x9,lo
924
+ ldp x8,x9,[x3,#8*6]
925
+ ldp x21,x22,[x1,#8*6]
926
+ add x1,x1,#8*4
927
+ stp x14,x15,[x3,#8*0]
928
+ stp x16,x17,[x3,#8*2]
929
+ add x3,x3,#8*4
930
+ stp xzr,xzr,[x1,#8*0]
931
+ stp xzr,xzr,[x1,#8*2]
932
+ cbnz x27,Lsqr4x_cond_copy
933
+
934
+ csel x14,x19,x6,lo
935
+ stp xzr,xzr,[x2,#8*0]
936
+ csel x15,x20,x7,lo
937
+ stp xzr,xzr,[x2,#8*2]
938
+ csel x16,x21,x8,lo
939
+ csel x17,x22,x9,lo
940
+ stp x14,x15,[x3,#8*0]
941
+ stp x16,x17,[x3,#8*2]
942
+
943
+ b Lsqr8x_done
944
+
945
+ .align 4
946
+ Lsqr8x8_post_condition:
947
+ adc x28,xzr,xzr
948
+ ldr x30,[x29,#8] // pull return address
949
+ // x19-7,x28 hold result, x6-7 hold modulus
950
+ subs x6,x19,x6
951
+ ldr x1,[x29,#96] // pull rp
952
+ sbcs x7,x20,x7
953
+ stp xzr,xzr,[sp,#8*0]
954
+ sbcs x8,x21,x8
955
+ stp xzr,xzr,[sp,#8*2]
956
+ sbcs x9,x22,x9
957
+ stp xzr,xzr,[sp,#8*4]
958
+ sbcs x10,x23,x10
959
+ stp xzr,xzr,[sp,#8*6]
960
+ sbcs x11,x24,x11
961
+ stp xzr,xzr,[sp,#8*8]
962
+ sbcs x12,x25,x12
963
+ stp xzr,xzr,[sp,#8*10]
964
+ sbcs x13,x26,x13
965
+ stp xzr,xzr,[sp,#8*12]
966
+ sbcs x28,x28,xzr // did it borrow?
967
+ stp xzr,xzr,[sp,#8*14]
968
+
969
+ // x6-7 hold result-modulus
970
+ csel x6,x19,x6,lo
971
+ csel x7,x20,x7,lo
972
+ csel x8,x21,x8,lo
973
+ csel x9,x22,x9,lo
974
+ stp x6,x7,[x1,#8*0]
975
+ csel x10,x23,x10,lo
976
+ csel x11,x24,x11,lo
977
+ stp x8,x9,[x1,#8*2]
978
+ csel x12,x25,x12,lo
979
+ csel x13,x26,x13,lo
980
+ stp x10,x11,[x1,#8*4]
981
+ stp x12,x13,[x1,#8*6]
982
+
983
+ Lsqr8x_done:
984
+ ldp x19,x20,[x29,#16]
985
+ mov sp,x29
986
+ ldp x21,x22,[x29,#32]
987
+ // No return value
988
+ ldp x23,x24,[x29,#48]
989
+ ldp x25,x26,[x29,#64]
990
+ ldp x27,x28,[x29,#80]
991
+ ldr x29,[sp],#128
992
+ // x30 is popped earlier
993
+ AARCH64_VALIDATE_LINK_REGISTER
994
+ ret
995
+ .def Lmul4x_mont
996
+ .type 32
997
+ .endef
998
+ .align 5
999
+ Lmul4x_mont:
1000
+ // Not adding AARCH64_SIGN_LINK_REGISTER here because .Lmul4x_mont is jumped to
1001
+ // only from bn_mul_mont_words or __bn_mul8x_mont which have already signed the
1002
+ // return address.
1003
+ stp x29,x30,[sp,#-128]!
1004
+ add x29,sp,#0
1005
+ stp x19,x20,[sp,#16]
1006
+ stp x21,x22,[sp,#32]
1007
+ stp x23,x24,[sp,#48]
1008
+ stp x25,x26,[sp,#64]
1009
+ stp x27,x28,[sp,#80]
1010
+
1011
+ // This can allocate at most 8 * BN_MONTGOMERY_MAX_WORDS on the stack,
1012
+ // or 2 KiB. This fits well within a page, so it is not necessary to
1013
+ // fault pages in the correct order.
1014
+ sub x26,sp,x5,lsl#3
1015
+ lsl x5,x5,#3
1016
+ ldr x4,[x4] // *n0
1017
+ sub sp,x26,#8*4 // alloca
1018
+
1019
+ add x10,x2,x5
1020
+ add x27,x1,x5
1021
+ stp x0,x10,[x29,#96] // offload rp and &b[num]
1022
+
1023
+ ldr x24,[x2,#8*0] // b[0]
1024
+ ldp x6,x7,[x1,#8*0] // a[0..3]
1025
+ ldp x8,x9,[x1,#8*2]
1026
+ add x1,x1,#8*4
1027
+ mov x19,xzr
1028
+ mov x20,xzr
1029
+ mov x21,xzr
1030
+ mov x22,xzr
1031
+ ldp x14,x15,[x3,#8*0] // n[0..3]
1032
+ ldp x16,x17,[x3,#8*2]
1033
+ adds x3,x3,#8*4 // clear carry bit
1034
+ mov x0,xzr
1035
+ mov x28,#0
1036
+ mov x26,sp
1037
+
1038
+ Loop_mul4x_1st_reduction:
1039
+ mul x10,x6,x24 // lo(a[0..3]*b[0])
1040
+ adc x0,x0,xzr // modulo-scheduled
1041
+ mul x11,x7,x24
1042
+ add x28,x28,#8
1043
+ mul x12,x8,x24
1044
+ and x28,x28,#31
1045
+ mul x13,x9,x24
1046
+ adds x19,x19,x10
1047
+ umulh x10,x6,x24 // hi(a[0..3]*b[0])
1048
+ adcs x20,x20,x11
1049
+ mul x25,x19,x4 // t[0]*n0
1050
+ adcs x21,x21,x12
1051
+ umulh x11,x7,x24
1052
+ adcs x22,x22,x13
1053
+ umulh x12,x8,x24
1054
+ adc x23,xzr,xzr
1055
+ umulh x13,x9,x24
1056
+ ldr x24,[x2,x28] // next b[i] (or b[0])
1057
+ adds x20,x20,x10
1058
+ // (*) mul x10,x14,x25 // lo(n[0..3]*t[0]*n0)
1059
+ str x25,[x26],#8 // put aside t[0]*n0 for tail processing
1060
+ adcs x21,x21,x11
1061
+ mul x11,x15,x25
1062
+ adcs x22,x22,x12
1063
+ mul x12,x16,x25
1064
+ adc x23,x23,x13 // can't overflow
1065
+ mul x13,x17,x25
1066
+ // (*) adds xzr,x19,x10
1067
+ subs xzr,x19,#1 // (*)
1068
+ umulh x10,x14,x25 // hi(n[0..3]*t[0]*n0)
1069
+ adcs x19,x20,x11
1070
+ umulh x11,x15,x25
1071
+ adcs x20,x21,x12
1072
+ umulh x12,x16,x25
1073
+ adcs x21,x22,x13
1074
+ umulh x13,x17,x25
1075
+ adcs x22,x23,x0
1076
+ adc x0,xzr,xzr
1077
+ adds x19,x19,x10
1078
+ sub x10,x27,x1
1079
+ adcs x20,x20,x11
1080
+ adcs x21,x21,x12
1081
+ adcs x22,x22,x13
1082
+ //adc x0,x0,xzr
1083
+ cbnz x28,Loop_mul4x_1st_reduction
1084
+
1085
+ cbz x10,Lmul4x4_post_condition
1086
+
1087
+ ldp x6,x7,[x1,#8*0] // a[4..7]
1088
+ ldp x8,x9,[x1,#8*2]
1089
+ add x1,x1,#8*4
1090
+ ldr x25,[sp] // a[0]*n0
1091
+ ldp x14,x15,[x3,#8*0] // n[4..7]
1092
+ ldp x16,x17,[x3,#8*2]
1093
+ add x3,x3,#8*4
1094
+
1095
+ Loop_mul4x_1st_tail:
1096
+ mul x10,x6,x24 // lo(a[4..7]*b[i])
1097
+ adc x0,x0,xzr // modulo-scheduled
1098
+ mul x11,x7,x24
1099
+ add x28,x28,#8
1100
+ mul x12,x8,x24
1101
+ and x28,x28,#31
1102
+ mul x13,x9,x24
1103
+ adds x19,x19,x10
1104
+ umulh x10,x6,x24 // hi(a[4..7]*b[i])
1105
+ adcs x20,x20,x11
1106
+ umulh x11,x7,x24
1107
+ adcs x21,x21,x12
1108
+ umulh x12,x8,x24
1109
+ adcs x22,x22,x13
1110
+ umulh x13,x9,x24
1111
+ adc x23,xzr,xzr
1112
+ ldr x24,[x2,x28] // next b[i] (or b[0])
1113
+ adds x20,x20,x10
1114
+ mul x10,x14,x25 // lo(n[4..7]*a[0]*n0)
1115
+ adcs x21,x21,x11
1116
+ mul x11,x15,x25
1117
+ adcs x22,x22,x12
1118
+ mul x12,x16,x25
1119
+ adc x23,x23,x13 // can't overflow
1120
+ mul x13,x17,x25
1121
+ adds x19,x19,x10
1122
+ umulh x10,x14,x25 // hi(n[4..7]*a[0]*n0)
1123
+ adcs x20,x20,x11
1124
+ umulh x11,x15,x25
1125
+ adcs x21,x21,x12
1126
+ umulh x12,x16,x25
1127
+ adcs x22,x22,x13
1128
+ adcs x23,x23,x0
1129
+ umulh x13,x17,x25
1130
+ adc x0,xzr,xzr
1131
+ ldr x25,[sp,x28] // next t[0]*n0
1132
+ str x19,[x26],#8 // result!!!
1133
+ adds x19,x20,x10
1134
+ sub x10,x27,x1 // done yet?
1135
+ adcs x20,x21,x11
1136
+ adcs x21,x22,x12
1137
+ adcs x22,x23,x13
1138
+ //adc x0,x0,xzr
1139
+ cbnz x28,Loop_mul4x_1st_tail
1140
+
1141
+ sub x11,x27,x5 // rewound x1
1142
+ cbz x10,Lmul4x_proceed
1143
+
1144
+ ldp x6,x7,[x1,#8*0]
1145
+ ldp x8,x9,[x1,#8*2]
1146
+ add x1,x1,#8*4
1147
+ ldp x14,x15,[x3,#8*0]
1148
+ ldp x16,x17,[x3,#8*2]
1149
+ add x3,x3,#8*4
1150
+ b Loop_mul4x_1st_tail
1151
+
1152
+ .align 5
1153
+ Lmul4x_proceed:
1154
+ ldr x24,[x2,#8*4]! // *++b
1155
+ adc x30,x0,xzr
1156
+ ldp x6,x7,[x11,#8*0] // a[0..3]
1157
+ sub x3,x3,x5 // rewind np
1158
+ ldp x8,x9,[x11,#8*2]
1159
+ add x1,x11,#8*4
1160
+
1161
+ stp x19,x20,[x26,#8*0] // result!!!
1162
+ ldp x19,x20,[sp,#8*4] // t[0..3]
1163
+ stp x21,x22,[x26,#8*2] // result!!!
1164
+ ldp x21,x22,[sp,#8*6]
1165
+
1166
+ ldp x14,x15,[x3,#8*0] // n[0..3]
1167
+ mov x26,sp
1168
+ ldp x16,x17,[x3,#8*2]
1169
+ adds x3,x3,#8*4 // clear carry bit
1170
+ mov x0,xzr
1171
+
1172
+ .align 4
1173
+ Loop_mul4x_reduction:
1174
+ mul x10,x6,x24 // lo(a[0..3]*b[4])
1175
+ adc x0,x0,xzr // modulo-scheduled
1176
+ mul x11,x7,x24
1177
+ add x28,x28,#8
1178
+ mul x12,x8,x24
1179
+ and x28,x28,#31
1180
+ mul x13,x9,x24
1181
+ adds x19,x19,x10
1182
+ umulh x10,x6,x24 // hi(a[0..3]*b[4])
1183
+ adcs x20,x20,x11
1184
+ mul x25,x19,x4 // t[0]*n0
1185
+ adcs x21,x21,x12
1186
+ umulh x11,x7,x24
1187
+ adcs x22,x22,x13
1188
+ umulh x12,x8,x24
1189
+ adc x23,xzr,xzr
1190
+ umulh x13,x9,x24
1191
+ ldr x24,[x2,x28] // next b[i]
1192
+ adds x20,x20,x10
1193
+ // (*) mul x10,x14,x25
1194
+ str x25,[x26],#8 // put aside t[0]*n0 for tail processing
1195
+ adcs x21,x21,x11
1196
+ mul x11,x15,x25 // lo(n[0..3]*t[0]*n0
1197
+ adcs x22,x22,x12
1198
+ mul x12,x16,x25
1199
+ adc x23,x23,x13 // can't overflow
1200
+ mul x13,x17,x25
1201
+ // (*) adds xzr,x19,x10
1202
+ subs xzr,x19,#1 // (*)
1203
+ umulh x10,x14,x25 // hi(n[0..3]*t[0]*n0
1204
+ adcs x19,x20,x11
1205
+ umulh x11,x15,x25
1206
+ adcs x20,x21,x12
1207
+ umulh x12,x16,x25
1208
+ adcs x21,x22,x13
1209
+ umulh x13,x17,x25
1210
+ adcs x22,x23,x0
1211
+ adc x0,xzr,xzr
1212
+ adds x19,x19,x10
1213
+ adcs x20,x20,x11
1214
+ adcs x21,x21,x12
1215
+ adcs x22,x22,x13
1216
+ //adc x0,x0,xzr
1217
+ cbnz x28,Loop_mul4x_reduction
1218
+
1219
+ adc x0,x0,xzr
1220
+ ldp x10,x11,[x26,#8*4] // t[4..7]
1221
+ ldp x12,x13,[x26,#8*6]
1222
+ ldp x6,x7,[x1,#8*0] // a[4..7]
1223
+ ldp x8,x9,[x1,#8*2]
1224
+ add x1,x1,#8*4
1225
+ adds x19,x19,x10
1226
+ adcs x20,x20,x11
1227
+ adcs x21,x21,x12
1228
+ adcs x22,x22,x13
1229
+ //adc x0,x0,xzr
1230
+
1231
+ ldr x25,[sp] // t[0]*n0
1232
+ ldp x14,x15,[x3,#8*0] // n[4..7]
1233
+ ldp x16,x17,[x3,#8*2]
1234
+ add x3,x3,#8*4
1235
+
1236
+ .align 4
1237
+ Loop_mul4x_tail:
1238
+ mul x10,x6,x24 // lo(a[4..7]*b[4])
1239
+ adc x0,x0,xzr // modulo-scheduled
1240
+ mul x11,x7,x24
1241
+ add x28,x28,#8
1242
+ mul x12,x8,x24
1243
+ and x28,x28,#31
1244
+ mul x13,x9,x24
1245
+ adds x19,x19,x10
1246
+ umulh x10,x6,x24 // hi(a[4..7]*b[4])
1247
+ adcs x20,x20,x11
1248
+ umulh x11,x7,x24
1249
+ adcs x21,x21,x12
1250
+ umulh x12,x8,x24
1251
+ adcs x22,x22,x13
1252
+ umulh x13,x9,x24
1253
+ adc x23,xzr,xzr
1254
+ ldr x24,[x2,x28] // next b[i]
1255
+ adds x20,x20,x10
1256
+ mul x10,x14,x25 // lo(n[4..7]*t[0]*n0)
1257
+ adcs x21,x21,x11
1258
+ mul x11,x15,x25
1259
+ adcs x22,x22,x12
1260
+ mul x12,x16,x25
1261
+ adc x23,x23,x13 // can't overflow
1262
+ mul x13,x17,x25
1263
+ adds x19,x19,x10
1264
+ umulh x10,x14,x25 // hi(n[4..7]*t[0]*n0)
1265
+ adcs x20,x20,x11
1266
+ umulh x11,x15,x25
1267
+ adcs x21,x21,x12
1268
+ umulh x12,x16,x25
1269
+ adcs x22,x22,x13
1270
+ umulh x13,x17,x25
1271
+ adcs x23,x23,x0
1272
+ ldr x25,[sp,x28] // next a[0]*n0
1273
+ adc x0,xzr,xzr
1274
+ str x19,[x26],#8 // result!!!
1275
+ adds x19,x20,x10
1276
+ sub x10,x27,x1 // done yet?
1277
+ adcs x20,x21,x11
1278
+ adcs x21,x22,x12
1279
+ adcs x22,x23,x13
1280
+ //adc x0,x0,xzr
1281
+ cbnz x28,Loop_mul4x_tail
1282
+
1283
+ sub x11,x3,x5 // rewound np?
1284
+ adc x0,x0,xzr
1285
+ cbz x10,Loop_mul4x_break
1286
+
1287
+ ldp x10,x11,[x26,#8*4]
1288
+ ldp x12,x13,[x26,#8*6]
1289
+ ldp x6,x7,[x1,#8*0]
1290
+ ldp x8,x9,[x1,#8*2]
1291
+ add x1,x1,#8*4
1292
+ adds x19,x19,x10
1293
+ adcs x20,x20,x11
1294
+ adcs x21,x21,x12
1295
+ adcs x22,x22,x13
1296
+ //adc x0,x0,xzr
1297
+ ldp x14,x15,[x3,#8*0]
1298
+ ldp x16,x17,[x3,#8*2]
1299
+ add x3,x3,#8*4
1300
+ b Loop_mul4x_tail
1301
+
1302
+ .align 4
1303
+ Loop_mul4x_break:
1304
+ ldp x12,x13,[x29,#96] // pull rp and &b[num]
1305
+ adds x19,x19,x30
1306
+ add x2,x2,#8*4 // bp++
1307
+ adcs x20,x20,xzr
1308
+ sub x1,x1,x5 // rewind ap
1309
+ adcs x21,x21,xzr
1310
+ stp x19,x20,[x26,#8*0] // result!!!
1311
+ adcs x22,x22,xzr
1312
+ ldp x19,x20,[sp,#8*4] // t[0..3]
1313
+ adc x30,x0,xzr
1314
+ stp x21,x22,[x26,#8*2] // result!!!
1315
+ cmp x2,x13 // done yet?
1316
+ ldp x21,x22,[sp,#8*6]
1317
+ ldp x14,x15,[x11,#8*0] // n[0..3]
1318
+ ldp x16,x17,[x11,#8*2]
1319
+ add x3,x11,#8*4
1320
+ b.eq Lmul4x_post
1321
+
1322
+ ldr x24,[x2]
1323
+ ldp x6,x7,[x1,#8*0] // a[0..3]
1324
+ ldp x8,x9,[x1,#8*2]
1325
+ adds x1,x1,#8*4 // clear carry bit
1326
+ mov x0,xzr
1327
+ mov x26,sp
1328
+ b Loop_mul4x_reduction
1329
+
1330
+ .align 4
1331
+ Lmul4x_post:
1332
+ // Final step. We see if result is larger than modulus, and
1333
+ // if it is, subtract the modulus. But comparison implies
1334
+ // subtraction. So we subtract modulus, see if it borrowed,
1335
+ // and conditionally copy original value.
1336
+ mov x0,x12
1337
+ mov x27,x12 // x0 copy
1338
+ subs x10,x19,x14
1339
+ add x26,sp,#8*8
1340
+ sbcs x11,x20,x15
1341
+ sub x28,x5,#8*4
1342
+
1343
+ Lmul4x_sub:
1344
+ sbcs x12,x21,x16
1345
+ ldp x14,x15,[x3,#8*0]
1346
+ sub x28,x28,#8*4
1347
+ ldp x19,x20,[x26,#8*0]
1348
+ sbcs x13,x22,x17
1349
+ ldp x16,x17,[x3,#8*2]
1350
+ add x3,x3,#8*4
1351
+ ldp x21,x22,[x26,#8*2]
1352
+ add x26,x26,#8*4
1353
+ stp x10,x11,[x0,#8*0]
1354
+ sbcs x10,x19,x14
1355
+ stp x12,x13,[x0,#8*2]
1356
+ add x0,x0,#8*4
1357
+ sbcs x11,x20,x15
1358
+ cbnz x28,Lmul4x_sub
1359
+
1360
+ sbcs x12,x21,x16
1361
+ mov x26,sp
1362
+ add x1,sp,#8*4
1363
+ ldp x6,x7,[x27,#8*0]
1364
+ sbcs x13,x22,x17
1365
+ stp x10,x11,[x0,#8*0]
1366
+ ldp x8,x9,[x27,#8*2]
1367
+ stp x12,x13,[x0,#8*2]
1368
+ ldp x19,x20,[x1,#8*0]
1369
+ ldp x21,x22,[x1,#8*2]
1370
+ sbcs xzr,x30,xzr // did it borrow?
1371
+ ldr x30,[x29,#8] // pull return address
1372
+
1373
+ sub x28,x5,#8*4
1374
+ Lmul4x_cond_copy:
1375
+ sub x28,x28,#8*4
1376
+ csel x10,x19,x6,lo
1377
+ stp xzr,xzr,[x26,#8*0]
1378
+ csel x11,x20,x7,lo
1379
+ ldp x6,x7,[x27,#8*4]
1380
+ ldp x19,x20,[x1,#8*4]
1381
+ csel x12,x21,x8,lo
1382
+ stp xzr,xzr,[x26,#8*2]
1383
+ add x26,x26,#8*4
1384
+ csel x13,x22,x9,lo
1385
+ ldp x8,x9,[x27,#8*6]
1386
+ ldp x21,x22,[x1,#8*6]
1387
+ add x1,x1,#8*4
1388
+ stp x10,x11,[x27,#8*0]
1389
+ stp x12,x13,[x27,#8*2]
1390
+ add x27,x27,#8*4
1391
+ cbnz x28,Lmul4x_cond_copy
1392
+
1393
+ csel x10,x19,x6,lo
1394
+ stp xzr,xzr,[x26,#8*0]
1395
+ csel x11,x20,x7,lo
1396
+ stp xzr,xzr,[x26,#8*2]
1397
+ csel x12,x21,x8,lo
1398
+ stp xzr,xzr,[x26,#8*3]
1399
+ csel x13,x22,x9,lo
1400
+ stp xzr,xzr,[x26,#8*4]
1401
+ stp x10,x11,[x27,#8*0]
1402
+ stp x12,x13,[x27,#8*2]
1403
+
1404
+ b Lmul4x_done
1405
+
1406
+ .align 4
1407
+ Lmul4x4_post_condition:
1408
+ adc x0,x0,xzr
1409
+ ldr x1,[x29,#96] // pull rp
1410
+ // x19-3,x0 hold result, x14-7 hold modulus
1411
+ subs x6,x19,x14
1412
+ ldr x30,[x29,#8] // pull return address
1413
+ sbcs x7,x20,x15
1414
+ stp xzr,xzr,[sp,#8*0]
1415
+ sbcs x8,x21,x16
1416
+ stp xzr,xzr,[sp,#8*2]
1417
+ sbcs x9,x22,x17
1418
+ stp xzr,xzr,[sp,#8*4]
1419
+ sbcs xzr,x0,xzr // did it borrow?
1420
+ stp xzr,xzr,[sp,#8*6]
1421
+
1422
+ // x6-3 hold result-modulus
1423
+ csel x6,x19,x6,lo
1424
+ csel x7,x20,x7,lo
1425
+ csel x8,x21,x8,lo
1426
+ csel x9,x22,x9,lo
1427
+ stp x6,x7,[x1,#8*0]
1428
+ stp x8,x9,[x1,#8*2]
1429
+
1430
+ Lmul4x_done:
1431
+ ldp x19,x20,[x29,#16]
1432
+ mov sp,x29
1433
+ ldp x21,x22,[x29,#32]
1434
+ // No return value
1435
+ ldp x23,x24,[x29,#48]
1436
+ ldp x25,x26,[x29,#64]
1437
+ ldp x27,x28,[x29,#80]
1438
+ ldr x29,[sp],#128
1439
+ // x30 is popped earlier
1440
+ AARCH64_VALIDATE_LINK_REGISTER
1441
+ ret
1442
+
1443
+ .byte 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105,112,108,105,99,97,116,105,111,110,32,102,111,114,32,65,82,77,118,56,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
1444
+ .align 2
1445
+ .align 4
1446
+ #endif // !OPENSSL_NO_ASM && defined(OPENSSL_AARCH64) && defined(_WIN32)