mrs-toolbox-cli 11.1.2-fd1156b0 → 11.1.3

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 (323) hide show
  1. package/Kotlin-DateTime-library-kotlinx-datetime.js +1 -1
  2. package/kotlin-kotlin-stdlib.js +10 -10
  3. package/kotlin-kotlin-stdlib.js.map +1 -1
  4. package/kotlinx-coroutines-core.js +7 -7
  5. package/kotlinx-coroutines-core.js.map +1 -1
  6. package/ktor-ktor-websockets.js +2 -2
  7. package/npm-cache/_cacache/content-v2/sha512/{77/5f/03c8c5afdc4ec0e7c5a96328794cb844e6b53b0f879f734969c261ac051ece54c4b966ca47d6cced8b80fa1878ed54bdf036595d181a20c97ab459ba2965 → 00/ea/cfce535c5a86957c093d8264a22cc4b044cf2b0fa942e134d9cb80f29a97132523cb72ae245333aa320417d0184610f0d579a2b190b91219724e645b8816} +1 -1
  8. package/npm-cache/_cacache/content-v2/sha512/{19/b8/c8f05c3308dd72ebd78dc04cd64fa7f8df99491880d687f65ed695194801c009985075de44dcbc0a6aa0f9f9d25ad9ce09351ccf89c3b2e6ed4ca84e82af → 02/fe/653c86fcf8fd4226fc819f5b63405000b74496180afaa449b40e7487371006ca7134333e466531589e3881b1231658a5b45b3c253a8dcd449831d901f8ee} +1 -1
  9. package/npm-cache/_cacache/content-v2/sha512/{d4/47/f647e7e23b29792879e01677d1ed84132e1d926be3eb7ea77d7a1b119ba737d6a15a717147e1997adf13ae4c467bdf891aa9d87110f552b67eb354807c35 → 03/2a/55a7bceffb642388b8272646c4b31972346b09080cd68e64342541ea335e82acf84f583b4ed25f03adc74cf53866a6e4c06c8b0b34a7d352db41526a26bf} +445 -5
  10. package/npm-cache/_cacache/content-v2/sha512/{dc/d7/ceb9c69c77b5011262524157cc285dcba31b7bfcc9a0d3b59a5c7c0818e4b1ddfcf373527baa88a8e3ef3c30900c8007a0722357dd97e3a0d43bc87814ba → 07/68/09c11178e5c20e4ca7c94c816c6379d522b9744caf431e826aa718e82299de38adda9dcf92c0b47e92a2fe164a35d571809fc435a80f110ea7725c405502} +1 -1
  11. package/npm-cache/_cacache/content-v2/sha512/{1b/9f/8f332b3a37ab921146dce7ee602df17ab11ec8381eb066cf7e934641c617280262fbc62287f0794322405b49885047b7a2e70accb4fcd5e74824a0017218 → 07/d6/4a940eb4cb068c5688a6ca3322f23bdad199a4c0748fceed96fb13293082eee7cf67db293eb9a37973887fa4f022828c69f72bbbfdf96391b96891a9f697} +1 -1
  12. package/npm-cache/_cacache/content-v2/sha512/{a4/65/efe62feee4b6f718bd86725221cd43e067532edad72c1cc8374132fd5d422756b10730531df70cbc825f93db26a74ae13341946ce034288c35716691eba9 → 07/e7/0449f299c05d4b23d701b0c11a63fbde1c3e46b7f852fb31fd8dda94073f348ae5c7224a70992ac62dd8e1f58f15a376e8715b9e43cd99a783d7cea2455f} +1 -1
  13. package/npm-cache/_cacache/content-v2/sha512/{bb/ca/38dcbc658dfd972082f5c09884f67d3ef8a08ae25bda9d1b17aac3f07aa2b0c7d17967fbf29904bb5a0a6a6846d09819469eb9e7489c668b75c7879d5f73 → 09/e6/84eeea36b42159e84feb834165d4532561f931f4b17e9e0ecf8efd7d4181609e17a4f401927d2f9512e83355eb700af25dc7c615ce885c5dc3fb9705ff8a} +1 -1
  14. package/npm-cache/_cacache/content-v2/sha512/{54/89/d798d5d56aaff0ae5c86d094b8c69ceedc59b92d538efe0ea822f36c96048f27c67fe993911e31de296b8eb03eacf72c12d5ce21e910e973acf0d35dab34 → 0b/fb/f0cf72ee7d6e88ee3d529fe306301da6cf1eeebe74ada0a1e8c2358b5776237ba62fb17543b2413dde9824a879fd4cde8c028b736d4217c059ce9ce679f9} +1 -1
  15. package/npm-cache/_cacache/content-v2/sha512/{93/77/b82f9f25cda6c20bea3c0fc4a5169faa5fa5c7aa3f19e22871d35e5f578b34163a630a2752b8a67b1f9688dc40f2217165c63e6b4dfe3e7ed1324521bfb6 → 0c/18/e02f57c6d96b63815f1b9258b096111d2376aa06b337eaf385696345533793e221ba3f851c493d08fc5d38c742707b92e963a40538e1ba72b1a65d3498e5} +1 -1
  16. package/npm-cache/_cacache/content-v2/sha512/{0b/95/0bf7b6ff66d1fd58b3afa11662d38c5b598d2e4d14670d8214092dab96a6508aa9dcecd520784050a8375143fdc1f0b137fb64a7f8ab5e635d11ed338423 → 0d/e4/6e3b88f39bbe49c3ba6028a3332762c6cf93c6761ce0f4b84a97cd41e7688d8403b2111151a2e13c2a67801d3f61fc316647d648026ab24a72a9e374214b} +1 -1
  17. package/npm-cache/_cacache/content-v2/sha512/{58/30/4ee56ac7b1441404b00b47dd2ee1fc0ba13e70693232a657d317dabdd0267b38d9a0b165614aeddc08ce281a2f874232f4d81020678f4b84057dbb042869 → 0f/33/327542a4e58d5011775c9a97615cf8fd45aa507496a055d1417954034512c9e3d35f8f2ebe80abc3d7602e612c83c313e6564e0c8818e09ef130688df1b8} +1 -1
  18. package/npm-cache/_cacache/content-v2/sha512/{cd/6d/1f19132c6136a247195c2deb0005f88701477278008c2decbda088a8aa5ef9b7f8df2f00236be4f08a2e4f02c4b705dc8392c0963311dbb8beca47ce02d0 → 10/d5/32260793fe6bd4cc2021230a560a337b920944e092910bc92e9c6ba9735b707c00c733bb9129fde22e4e6f6ec06abe8d1bd0e82d0f9b012a4eaec263e2eb} +1 -1
  19. package/npm-cache/_cacache/content-v2/sha512/{05/26/098ab1ba8c0bce403ebaf250f65266018846c93732e72c30d51623505774cd74d2d8f78094251db322e41c9edc31fbb7a17988d733892b6968b3c6cd535f → 11/47/f6bd10318820c7a9db58c8aa7dd9395edfea3709c64cb6720845c62963181b26348afbb68ed7ff41ed22044d261556c403cf658c8f23d73d16ee8ec55c47} +1 -1
  20. package/npm-cache/_cacache/content-v2/sha512/{63/ff/af37a4868f9f7503ef9b13fbd67aaaf21fc26674ddc430012bb2121fbae0c4b251eee50101eddf9da2ed0b2495d7a748c27c5923191a6db042d8126625f5 → 15/46/df56f1f7af5c0bbdc0da448548b950111f5e5810572d1e88ef5032bfffbdcb49670ccd6b5a0e418aa822a7b18926fb47fb46dcb2b303fbd0119db6d36daa} +1 -1
  21. package/npm-cache/_cacache/content-v2/sha512/{4e/ab/d4b5b6ef80bea9c2b4ec85a586ac9cf945067698f1ab73d0d5239cebc961c7c358c0ffdff656b7260e4426926f1dad124ea5374ae4f9caa91708a3666c53 → 1f/db/ad01a65b0dd49c80ad8a068f8b907071c3b7b8d5c5318b5c6a6a650d32707220db973242fe3bb04af6862574e1155e4db7ce48335b210aae7149381b2892} +1 -1
  22. package/npm-cache/_cacache/content-v2/sha512/{9a/af/2d8cd374051f509e7e5bae15e6e827976033adadb2a2d470cd2746f63183a7cdbaffa4b3d418b3f2db3ce562ccf4029c13640e9c2dc1a089750b71616893 → 20/64/eeddebe4194b3878a0261d8f9b4eeceaba45e8f8a04ad4e20d611d27639e7ebd3b27c3b7ab078f391a29953fb9a8b69a7b11052b14a22e38465fbc59618e} +1 -1
  23. package/npm-cache/_cacache/content-v2/sha512/{a9/b9/c72ff03c5ad28aae82fcd7e1758e9e57b99c09f44998303ce115cc24f0d5a87c06a9f7ded49ba451c621820a52a2873b968a3406259e693607a1a7fc30c0 → 20/ea/1c4f2647d21453d1e78a7438550718d89bb43aac4042c27f539fbcb9d6c0ce94d084714b02fcc9908a5ace4c07fefbfacb04856a7aaf09dc65a626c6964c} +1 -1
  24. package/npm-cache/_cacache/content-v2/sha512/{50/84/8c11eb72b0533080c8d47e50c45c3cd70d2e6cef1c43b4df6d5079df0cd0d3d303ab7046e7fbe320a97efd7303d339afbaaef54eec2f6449e6985e7f09a0 → 21/07/7585cf5d10b0faa80118ce95213ba519779bce266fac674e76fbcee991b90e76f605e7a5b0fe0115c3ca22b84b4197ccb5364314fbbfe7a9209cfab4cdf1} +1 -1
  25. package/npm-cache/_cacache/content-v2/sha512/{32/9d/12ec69ba1eb8832f3bccff3a4754b429e3bf3f022d4a5cf294c78bef6e76394c755cd238211b9d6594689c63a6dcae468c7c89da4b6271e8e3c08de9243d → 25/06/74640593fb61e87b19daef3020f7df01ce74d48584507b2c1de92d9c70d0a63ffe4f1b3d86544e552408069540b250c9cdcdffe36c39901ceaa398225787} +1 -1
  26. package/npm-cache/_cacache/content-v2/sha512/{19/bc/a7722720a494cbc8ade5df243c8802fec48fd87cfa2456f6e643d401af0941fc5ac69a210882df3a195565936bed095260e97eb94daacb9522cee6adcd41 → 26/a0/5fd51e586aa506dc125bb081b516ea46453d2c203c31141827e799b9df688e2fb2e00403ebd0b8f0407f76bc418dbbcf2224ee7d4faf96b6558db01aad21} +1 -1
  27. package/npm-cache/_cacache/content-v2/sha512/{85/e5/daea4d9f029cb64333d5851d25f7ddd7a613c18c09ef781d5deceb31981c74a4fd287a31e3aced2762e8ca6315083b164c3b5ee1f7726b53d4cdcc85de43 → 27/9e/3f1cd9bcaf8e7055525ebc6391a6f9eb6f03ec27b6cc3bb41403648614f432ffaf05686b30274be8b12ffd4fe1f29a3cb7afe95264f263c9e5d629ca4955} +292 -4
  28. package/npm-cache/_cacache/content-v2/sha512/{d8/a7/ad4f93330cd16d17cdaffddeb353349b68cfffe65daa14dba556d71736073056167ef6748c320900d5df5b02f62b67e7da588aa8a94bf683d0211b3cd6bc → 28/13/a16c8d8a96d787ec41ab26acb58f67e320b0067c4e35abef77c9f7016f80b9b91534be2efa018ad2b21808e92fa12fde834803af52e41bda91c915caf83a} +1 -1
  29. package/npm-cache/_cacache/content-v2/sha512/{e0/98/c7b3fd1b80157e5896d396b0650e94552c838422807881e2b22e3c4acc455be5857b6c46ce712865a2682836d7e5f03d6f9dce39fe1b757d5035090eea5f → 2c/66/fa24de16259b2a8266bc6d4a36685ff799bd532d9572c84a3c0d95bf34ebd785475cc212a3c8ef0a571aac4b5829227848a681feb5e868338eade261ef9f} +1 -1
  30. package/npm-cache/_cacache/content-v2/sha512/{5d/ee/dfd83a45abdad26e3220e45896b85311f54a40036c0cef04997dcfea9a93939bd2dc5b9f257e70665eacface5e14c58b096ea2d7659182f9874304f7a23c → 2d/37/f7f141e0a85e86852ab605f622cf0f253d68eefd7eab648378ce965beb8aade486076f144aab750802dcbca95d2c9c6e7e3de8dab7e213d8cae6040a7033} +1 -1
  31. package/npm-cache/_cacache/content-v2/sha512/{9f/8a/ca7684d8e978c1e2da822ef000668bfeb21a21a88de8fcc81190f89930464987d34a2565a72e41bbc804a2356606f424d5951a71bd7df5bc5b44504a3a34 → 33/30/076b1fd6b8eebc39e875530dcb6d23db3ca640666a9a6f926efb8e6159904988a05230841e09a2e34d76e20ffd23362ab4cea861586c246ed636ca4df2b5} +129 -4
  32. package/npm-cache/_cacache/content-v2/sha512/{8b/3f/d68796af2adec73838f63b51c97af27b0b423bc1959563fabd86ff259596efbf3c9655e9aa310eeba3dd3b0bbe66910b5507604d000c062a1a8d35b35344 → 34/e3/867fcebebd04fceb0dd45e1e888aa451e8f9446c98e11c887ff16fce9171a8628ca6a3e692d9bbddfe09e51331f92a49d32609a51ffc986beb7da512feb4} +1 -1
  33. package/npm-cache/_cacache/content-v2/sha512/{4e/8b/d991acc0d2bf2bff3fc77280193fed85ce092824650e1270e5c4c7aa9d667754064cdac3fc818fe44402a253ca13cb9c8f1c63910a0518c00b1fff731dd5 → 35/8b/365e35d6fbb47ba6964afbb0a33424356fac6c963e1e9647a9b417656f5b1ad6c720cbda91da47d22ff8a9811e46c3b07ae40731848a3f2272e258ff20c8} +1 -1
  34. package/npm-cache/_cacache/content-v2/sha512/{6a/a0/ebd4220370d3aea51bc0083be2fd7acbc60fd356dc2da001d0295bf4e0ccc425836fbdabd1a56afe29c882cefba65a29df1b57f263eaae21998940a1dec6 → 39/c1/75abc305b68e4ae2126e0b14f3f45dd52a4aea4201bdaf6c7fd59b123b0603ccce38e35110a58aaf5fa1fd487ce4b10f90e7fed24027bf3d72f1246cea6c} +1 -1
  35. package/npm-cache/_cacache/content-v2/sha512/{77/c3/adc268727ad51f77ff93d0b00271b7988301b8d14be07b7f9dd7bd4d9a32180fc089a328d0a3abc8a176fcf19f5eec2011e14ca7b6ab73ad6d1b356c7bce → 3b/2d/6b61d8bd0ee5c3dce1a9c2806d2650eff3497c72dc1c8b54c1477781e47287af898a5ba7fe33e74f198f4ef3e6466756ba6f64c54af209b82496c10741df} +1 -1
  36. package/npm-cache/_cacache/content-v2/sha512/{4c/6c/1967928c58cdb194caf8dc921299e639f1e36cd96bbf9ed5022d805d6d475f7872dbb5a12232367839673f20863f96d152c9eabd1f2bb2f08c38941f1475 → 3e/db/9fbffe54ca68505f7edc4250be0690c8231f0e0ddae1cfdbe30c23871aff36cd1fbca8b2155d4a21688bf91013004ad1b49e9d86c807c54c7c4ba3b776b0} +1 -1
  37. package/npm-cache/_cacache/content-v2/sha512/{2c/12/5e19f2a4897f79e4625c17fa4468cac73a15831e6ab9e03d2da57e0c6a5ef682a8ce14216d5ba9c5451bb127ff5d6761233359b3052d0c323cf366249671 → 47/1e/c009c62488ca085d8d349aec30c8696b54d8044734d44e0ed42d22319eb6f77cc2f8806f63d983d4197f1a36efc3cda89242566b4829bf8c425a99a2a611} +1 -1
  38. package/npm-cache/_cacache/content-v2/sha512/{f5/fb/151d5f743357a6f2ac01be05dc0a619eabe6104faa4146dd2247d8e00bf2863aa410bb075b93b9bcd40aa98aad72cf3f398f354d230fdc1282f2afb0a2b0 → 48/4e/71c35ea6cb9e8dc8ec4b4afd55d5a468279057bb9b0ef9065c9c2408e1481e6ccb2fd971fd5b110b0935c0dd2d860b6dc8b43937a4cd4b52a1c206c3029d} +1 -1
  39. package/npm-cache/_cacache/content-v2/sha512/{fb/9f/2c3bb2d0fdc7d658f45a9e2ee48bb7fe7fd7383262718ebc93b835d4cc5729c39d34e1e5da61bdd6d27f6171a7bf1de8e262eaede86ea5ce29a02b4ee2d9 → 48/a8/b493c0982e3bf8db2801b48fcdb3831b316c2122176c70b01828597440b3a12cd6589c267339fae7889986906e60d736793b4543733893180facc723ce0d} +115 -4
  40. package/npm-cache/_cacache/content-v2/sha512/{51/03/bb3ad3614a9dbebbad4f2703c460ca56851ef3c242d747effd44bf6ca14aa545c1ffee2236152e6fc6705bac0cbf4b3561d5941690d899db543216b0885a → 4b/2c/09766e167941bc7f119a45556d97d0eabd68474ad69380e17bad847846fce39b5bc0bbdf468b4f362c67874f07c6ef93893d2a6176369b221bf66d9c8316} +1 -1
  41. package/npm-cache/_cacache/content-v2/sha512/{a9/f8/24be6a9b1be060d2d6819ce742fc81dd19ec6c788f87f8e33a231d5362948e1f9ebe0c59d6904224fdc6c9d5ad3e11ff52fbd5021b33c695f970b65ab93e → 4c/73/2dcc1ff983379a7ce759ecc52bd0665e926fc2b545a76aa9b1f0929dcefb1578c0163e1ec27f292f8cb6e9df6d155f3216e982c3bfae8f9b65fe0e1f5d96} +1 -1
  42. package/npm-cache/_cacache/content-v2/sha512/{49/5a/b96d48aeb5ab120279610520b8f89f95a90d3c24e610464e6bf1bcd2c127d13e8c0c348d4d1d5656a47d93a7e0726016388f7b6a09189907ca0ef83e2c56 → 4f/9c/ba970e07affdce82a84c73cf64de70eeee39425594406c4278e8056e57ef32c2794de218cadaf64cd672ab45db45ad94e6acbbc73ef3dfe34c6b0c6832c6} +1 -1
  43. package/npm-cache/_cacache/content-v2/sha512/{28/b2/50cb56f821026401f6a365edca4e90f236c058dec42f0211ada2e5903172c6b3b7ef9a8847366c361873bfc2dc5e3c8468cb699df85af64ac6036a1e97ee → 50/22/6db39f0ceaf25d34edb68a05d36fc5b1b4a1f98dae4a231adecd87559ac5ec83ef25b8cd38a7698dccf4ee4b1e51ddb3ca38496d925e0f6091d20f4805ea} +1 -1
  44. package/npm-cache/_cacache/content-v2/sha512/{73/10/4e9754d4a4f3677c6c32fc087576039095d643046b1aebfeca6e26df89a89a137f1e06e6fa688bfae37bed67ac5468515cfcb625a34ed4861fa8e2658ad0 → 50/b1/0788cb50a62e20f5ddad2c68a903d772e66f436c6ac667663f4b13d1592bfd4997093141230e755bf544a448a052dd64311d9c54f6e3fcd4a7ade0d9b63e} +1 -1
  45. package/npm-cache/_cacache/content-v2/sha512/{2f/8f/9b44241a3c46314af40843635e16c2f740ef7c4bc6d18514f555afa1a48838c6dfa6efa41b15ba7b025c6421e0cc89eac5099577dbd76621fd183bcde6cc → 55/16/b915ce5806d24f214afb7b663382caab6c1215bc89f4e6b40da6e26a53ec7b2126f7a0bf47a30c75d16bfdcd1c678ec9fb5813ef4e37886b13cfcc4656f9} +1 -1
  46. package/npm-cache/_cacache/content-v2/sha512/{78/dc/7d3c0c0b74b14b7b5bb042600c2061c4a02990f98da857138a1074dcbabb81f48fe7708caa52573f2b0ba71ae6cef56baafd78955840f697b4a4ed8b4946 → 55/24/e4c15da11adf9184a1266c28dcc38e7f6e671fa4038c443a6020a253971ac47bd4e6e68fe730cf73a58bc259aa3980a8e7d1f01aab9c56410ea7a72efd78} +1 -1
  47. package/npm-cache/_cacache/content-v2/sha512/{d8/98/4b8d8c1e8663e54f4df924ffcd7f916302c30866f5ed503a886a3745c7747b187d1cdc85170ad21fc50cf3fa3517b7ccd2e03fe61ab39be71d46b288837d → 56/14/bdf78674c42c72d328f498f193fb7f41c260ff099c0fd20d91f84e21d65bca8e6fdba33ecf5d147dbd468d800e018c0d6e8a3dc4e14edd25b11cb37bcc4f} +1 -1
  48. package/npm-cache/_cacache/content-v2/sha512/{58/15/79feacb8fa30357f01df792adb226efa47e3a25ba0c13760ed72964ca8f4c1bcfc0bbfddac8a39ac8c32d2a9012222849b13d4a148410b9f1df365d38632 → 59/0c/458ad1d4794f75aa735d573fc6c05bef715f87d9921d9e7af326b9efc59564399066026811fb8f5bd7bc242670b8ceed9f7d7cf4b7e63660770bf35934f6} +1 -1
  49. package/npm-cache/_cacache/content-v2/sha512/{cd/c8/38cfdf37a779de8bf1405d2093b92fcbdb84c8c05a1584276a67dc4f1b4bf99359b700f7d6f7ba8f3969da3a99e241438ce123ee924c9eeee3abee6f60fb → 61/0c/a390f639b45236201af876422398b23a400471c7004e94d7e5ade78cfbc7420f764290d460eff6ce953ccec2dfa5c477f68c51e108f5a7eb2129a5fb7aab} +1 -1
  50. package/npm-cache/_cacache/content-v2/sha512/{00/f3/2a5a6e1168b238cd6ba2f100d62b4e539e552f925fb8b1a024297f87e8a42ba73e1cbf8385a597aa86cb51a2cb3945989382df29313c4a0497f0ae2664e3 → 64/6e/1665f4ec36752bb17718c76494757ef7ba658d15050c3c7c8671b0cff4ff541530363a8ec9f43dd08d42d37236e3fce64bddb28cc929083d6ba65a54e8be} +1 -1
  51. package/npm-cache/_cacache/content-v2/sha512/{bb/59/32d2b8c5f8b6aaf6538c52d629f7d19c80e11d238b38c75e378289b0219fbfdcbaaa5fa29e844a4971a2292740f2cf219b518218afc1192e1acf3e090029 → 64/ae/7e8aff15f77e73c8e395b1ec8f8d3be1511c675341b7a92e226a37874b64b42a212abd84d24f1f659a7f9bc3dc8303cbf4bfc370d11b2f6db45f99c8b4d2} +1 -1
  52. package/npm-cache/_cacache/content-v2/sha512/{5c/60/87a395cf0b1b0cb7c7568ab77f9d6febad394211b74dca9d36d482e7eebb2f1b22c389777be629608d0533206010281aab78987412b17ea508c5edd8a9ab → 6b/f9/ca0fa6e3890bc06878bc8f6035fcb9285f0b01b91b6b5eabec55e39029f5a656b84c75010166079e8a5dbbfe5a43f697f77eb29478218f5ccad432b00554} +1 -1
  53. package/npm-cache/_cacache/content-v2/sha512/{b7/b9/285b3a20a89464130171f6644063ed3c33ad4ef296fbb3bf430a70e04280a9e5fef29d3e554c1c773bce2a9710768e688e2976f0f9197fe3959edd78e59f → 6c/4c/dcd0471777c8229c0cc6f98ac7854ef20144c9c6aec2af2b1c10ef5146a33b3d81e14d72bc233c3fcb119041b06c78d8fab4003562c64868b3d3189e6ef2} +1 -1
  54. package/npm-cache/_cacache/content-v2/sha512/{9b/77/622450fb1589afa02e0c2db5ca3434910982fd86fc2cc6b39e40a15feed0c0e87e3aab3611cd0fb00c12a0ad58c06637774c3160a542723284c8645517b3 → 6d/07/937a04ecece6ded687d188c7055a1f5c36ce70bc0ede685d6106f87b38c446aa3120acc9744df78d49e2833c33d76eee2b5ae07466df1bf1d2026d0d3eb0} +1 -1
  55. package/npm-cache/_cacache/content-v2/sha512/{8e/32/9397fbde1b58e2a051e50973d78ec7de7e7f10869fc7dfcf95d2e65000dcc93b325d561e0208c4774fe023a8366b2df1ff3a0d36012e85c06b28d5407056 → 6e/34/af33e033e10587b3e6ccda5210743fbbbd20c0519750e70bcc843754595f51593f47b28e9e285ff8585d6bc240edc0f789b66f783a6987ada58365ce0787} +1 -1
  56. package/npm-cache/_cacache/content-v2/sha512/{59/6f/1d23bfb36a39c95a1c90887c1e212624f0e96a36bf90ab2a990b8a5ca692a583ecfe6968cffd2e1c241e7ebb409cc859bf11388fd64cb3c81b41a44c2940 → 6e/7b/dec16e646537801b4cb8cf9f850140ba4873ab493cc48b42e50e0a65ca6935f65bfe1da34fac0bda33db8b61d45a807113c89cd641dab017409f2b7e4929} +1 -1
  57. package/npm-cache/_cacache/content-v2/sha512/{fb/33/445514162240a94af9f780b6fe1eb26330b9b47624296c93c23493b86ecad90e0cdab1bc2cd6f285c2c5f3e20b655f290f17a5244061d3a860390310ae77 → 72/62/0cf56036a7f48b1b1846bb86c7f0bd5727041f9fbaee40a1f19a1180381feeafcb23c97ccc362f29e4ee2d127b4e0c4ac7d8db47024b147895c209e87840} +1 -1
  58. package/npm-cache/_cacache/content-v2/sha512/{d0/fe/3c57289a4431502b57797e4e3973b940b17f0f4fc890eedcad7bf17e8d88710dfeeecaba2ef0d07f1a539ee60200b657005f4767eeb82c7392d604419571 → 74/b6/fb7d61703acf670bd227e682a02070d02f556b9b05be06d6ec65c14da9bbd00c46947874f11ddac4e4b896b8dab19daa23d692a0226630ee46e64e3e1c2e} +1 -1
  59. package/npm-cache/_cacache/content-v2/sha512/{fb/e4/4b18d589a8fb6ff0815d68a905db23456130b32b3874658dd0e4fefbe954df54409e13baadc08b34a9c3aa5f32d3ffbeb84a8b2632854abdb4428a9084b5 → 7f/b5/ed9f4aef19f31b3b34a67bcd02c40edcf86875ede8cd1627dee33286cd6a3d86b8c26985d05fc62bcf936b00f446572339f83c8f6ab5ff8a7f84a7fb8ca8} +1 -1
  60. package/npm-cache/_cacache/content-v2/sha512/{fc/f2/b55929c084066a61a91f9772946419a65d69a2a1f004fd41cbe0330430eb9d08c1036018e3bd33881475045fc044e77680678999563246d18beb87f1e0e7 → 80/40/9b10c8ca0972681a4de5b47fe8b880857356b241a5d13d5e294fa149f7681b7c019df63d66b704e1f2e2156776200565a55cbd7a90f56cc2dd700cd0780a} +1 -1
  61. package/npm-cache/_cacache/content-v2/sha512/{eb/ee/b1452d6f3a664a803534d38bb5b5923c7d8a74c14625afee5dfdd435a347272318fce7d1eaeb8f35eaeffae020e8ca4f9d744cb350f3c0ee10333b03778f → 8c/54/c5d38616e0752ed4fbe2a1ce774db34c515495ed4ec42a22499c788a46bf10a06f4a1e10dde1213480d2137348850d1f66c0edf118c59320c8b1158cd2d1} +1 -1
  62. package/npm-cache/_cacache/content-v2/sha512/{9a/82/e0b9427899986afb8aa319cfb0eb6f0a2cf16bb62e2bca3c9eadbd5e7aac7d6e2bac18299958538cfbfaec8b3b93346f2b857ce913fc70e934eeed3ba51c → 91/cb/a87d3339691c1ec98c1bf69e033a2a94419b2e595508d186331e5d1d393e085dac0f6e19e020ebb6dd1557c1a22e3d6456146ad62f379fec21ed42dd4bdf} +1 -1
  63. package/npm-cache/_cacache/content-v2/sha512/{ec/20/de841a85fd65797b49a4cefa7e0ab7463cd3c74c25c4e1ac9e1d62ca77587957404f191711f81509d1578fbb466a925373c3a94cff2ead910528a86837eb → 94/da/f58e74d4e992ee1633be8cbdac53e2b5c005e48b2ea43ebb4d07690307333b33a1edb965be8a5ee6a78b0539123b9aab3ca294c6bc7903477f7b09279f2d} +1 -1
  64. package/npm-cache/_cacache/content-v2/sha512/{b9/35/b483128444e21fc8a7ac8a0412833ee8456bcf254964d6c3e44aa0a4f16a3f496a54cbc3c6a94e87d9a66998275ea7fcc1652e51b8b201a18c4cf2b353a5 → 98/df/c4de3d3f1beff7b72331ebcf7852ff48e68bb7693c7f13dfc082f6a8c0b267b478e35194c45261d9f29f094c9273c032c14f82c3b7d83a0c339b7524bbad} +1 -1
  65. package/npm-cache/_cacache/content-v2/sha512/{83/60/d7546a14ebfa517a24e2e1a7e3ff00858ef2070629ca4634e17ad889cc7f80c688cdd88798c8f9b1585b56292937dc0d86565fa113130c3851287572113a → 9b/82/cddb6ca66a7a477fa5f791b77da3021074b6990ae65f382fb4cf15774668fd303839e9b6dca10ca57df2c03bb289110308697a4b50cf48360b17da44bfbd} +1 -1
  66. package/npm-cache/_cacache/content-v2/sha512/{88/40/2fde88d53d4f104fe38fd1ad9016f7d57464e235fd1e2023cb382fab16121a5b881e7055a017632d405939a6a158867988031d494fb97ac6560d82c37fae → 9e/bc/3c4f4564cd0eefec6a269d183efc10c74f153b7ffde17fb86cf948896c5d0676da016bf290436a5d8a6ea30336a67cb5bc33a706b732e721fa4c26f0b84e} +1 -1
  67. package/npm-cache/_cacache/content-v2/sha512/{0d/26/b9b9368b2f054cdc34a8146b29b7492bdbdbf1a90f9857eec4811c609424e80e8f749bc1fa196c8b0641c690e7f40c3a748287940324eaaddc11d0395be0 → 9e/cc/859a52163cd5847aaa51c40c565b63e679463086221a40d2abe09d934859b321d0770137508bff31c79329627e5d1607e64c23527afe8a2be1db68606eca} +1 -1
  68. package/npm-cache/_cacache/content-v2/sha512/{b4/e6/4110defe2dc2a975a026b65c68392b501443775b16533d07387fb857a033efec88ee79a74e6193dbd2e2024ff4bbcdd98636e3aa1e8ac2fa78c549db1d21 → 9f/24/2a6cb714bddb0d48783e4eb16c40e7851079ac7d81655a5f5a833a600506c72bff744d8ed707cced5fcb57416fb0629300ad79e81674a259a1c2dfe8d5eb} +1 -1
  69. package/npm-cache/_cacache/content-v2/sha512/{bb/57/d3a0fe07103b79594b2e2b1355737e6b82d8449c1562607525753df06ec761370108f216be29e32393e172f63b86c96ea8d7eddaf48d346706704f12067c → a1/2d/058e913e40010f427d5f1dc74381f5926a58bc808492fbf5eabeef0d2ab90b16308571a052118c33b38d2df1e1c1f56aff31d01e5c5e7052b95a4958d5dc} +1 -1
  70. package/npm-cache/_cacache/content-v2/sha512/{df/58/98cb0b7f69ea470fe29b097ee1912eaf136b29cb651d9039793b3c6d2b7784b600942ae768c1428a4e4e2595c3cfbfeca67f23d7dbe5a7674b306da3f109 → a6/24/66ac8a51537289b13740e0fd3e58a31f925c2bdbe9aba545328fb6974d16358c777683154e94187f89ede34691607ab6cfbb916412c1fedf8a5d0be4847f} +1 -1
  71. package/npm-cache/_cacache/content-v2/sha512/{4a/8e/3f7e76dec3d3c46e05ab847cbe383a55a04117c6964c5996e28e0a25a429191e82284372ba16a245b8fe69695ba40e5cc22a017e6ddd4a5e574036ca5af3 → a6/b3/b5fca037576b7744a1cf8b27121ceda39657009fcb69ba3217b10c25010db9f8cb8e6f62ac09584c3b4ce8b8cdea4c4cd489b176248c7f932834a1ec1048} +1 -1
  72. package/npm-cache/_cacache/content-v2/sha512/{3e/4e/9f2fcf216486d9678a4aad92dbd2fb56c55e0d0bea5aba566b09eeade802e23d38a5acdf0f157e6fd6e75e18afb6be2413cce5a7ea3bcfdb446e0b0324b1 → a8/68/6b38221b6fd66442ee904bc042934a0ad17445f3956b38409c4510ec7595665f02931f15e0d1e982bd1251b21cff1868caba63d64b519eb0b15a4cec8f7e} +1 -1
  73. package/npm-cache/_cacache/content-v2/sha512/{23/dd/0680c51e0ee7e62367d34adef36b012ff4b23de41098293e8aa68693b28d0e9ce12fb4ddcf05dec2b45888b114c19ddc020d31b0f1174b29a93392177caa → a8/69/091c5deabb2c5f0263085864d596c084ea0ae71a09ca2529e63be73a30e0f1d74bbad01b7374a6df5dc15052bada8134324d997c25a4d4e1b66b5337f8b9} +1 -1
  74. package/npm-cache/_cacache/content-v2/sha512/{78/10/77f8b51506f347f3393eb0d075b62173eae66d9623d6b2c986daf04122a68a7e4ee307fc6740c96d8cd1fd4d13c9fd41eae8f5e7b87980e59f38c23d8a6a → a8/b6/51de5c02dfe7b605803ccc52b86492f67f2fca35fe260b2690aa1c0e78bf4d4dbde1dcfd040ba33357fe6890ba9cc4f2b060cae50651f89d7840e9649cd8} +1 -1
  75. package/npm-cache/_cacache/content-v2/sha512/{62/6c/927b1d2b5363a8cd3e2d8a26aaa58b1fa8f7ed6b55c2a7009fe56eec2b73ea6fe9d8eaf7b740f5eaa59faf8cd69ac2764ba48f2c8e618a3166372ff1b865 → ac/ba/0ffc54c31d776e713d0953452ba549a93412758320d397fa27e20bfae35f01ed4c9e4e3d92793057f90036d9362344a1a5a8efcca95738810041b0c52b83} +1 -1
  76. package/npm-cache/_cacache/content-v2/sha512/{6d/f6/5093ed386cdab9b02f63d047d8287e5c300df9b9987eb2530c3fdea902fe20ffd9bad2e50ad7dfcfca1bafc26bd51afd95810fc5792fd6273967427ea90c → af/77/6b739e49bfeb6e09df53046b974690c2d1d090e64f5c85372323fd3a24c2ecf9e9b43b825ac8a94817812f73e9cb3fe19e4afd288d628716f02e014b1120} +1 -1
  77. package/npm-cache/_cacache/content-v2/sha512/{4c/be/a44530b0170bf6c087d8b6815586bb5c8e54991e61967e8127e0f276b900f3bc4567a808af1a573bfccd4180d12785e1050a258a8f9b764a793ab50f6bd2 → b0/74/a27b11f879ffd03fe177edc49bdf25d06f5b2f7c608d78a246ad802d98ac752f443f7e40c5b534bf803f18ba44d74957d9d1bb4c654ea99aa48dd1b8cd5e} +1 -1
  78. package/npm-cache/_cacache/content-v2/sha512/{18/9c/6878433f63deb3f33bb731541af6f79badd5c2d2a8b69a85db0ab7d8f3fe90f36b1c3224f941fcb16b9af4a4374f199034b71e1bebc2d902723fc785a157 → b2/cf/a693f6555c4a4d015600a8e487096ad4687fdc6d04c316c021897ab1442bf02cd3b42238e39716f82a19ff90d60ec145241cef4e3d1630dace247003ced3} +1 -1
  79. package/npm-cache/_cacache/content-v2/sha512/{2a/33/e50c61ba041c25d5605d97790996c70e0d3714f67c5a5f94506756e51dac4abd0ff509eb7744a75b0bacb9fbc6ed67ae88366fb30a8cf5eb0fb7d2aff4b7 → b6/8a/dc392a7d62bece1d26ca0e184e57a98949cfb81e18f61ebd0cdcf503ca48c13d0102903fb0ecf1afea8365fad34a2bf9c87a32e60b8e6a92616ec0f05f28} +1 -1
  80. package/npm-cache/_cacache/content-v2/sha512/{6e/ba/fdefeb3919f0f557e39a8549a9353eb77ffcd0b01a01721f24111285099e5c242c96e7f2707bbf2396bd3040177b551efecfda1ca2e80bfbe92d4c1bd8fe → b7/9e/3321f97da0de27408b8e63ff1e1ec0056937d82e0481aa72c93c31930657794e838ccde3bb0e83f045a954cdaa725a0ef4f662c06b37075c7863afc9a7b3} +1 -1
  81. package/npm-cache/_cacache/content-v2/sha512/{1d/f2/ef435eabad738bbb16b95a73aecd7984295a4a0af57213219b394d8d5fa0b8624f78dedc186ddbe21d3a735ec5656509d81fe1de54c98709ece1f99c896a → bb/1e/8a235a2ccc186524d4b312a2d532c9219b17214e31efaa204f901d074784a652e6349dbc0332a453678f0a200c66b19645b14822ebca8debe5d8a4cb5df6} +1 -1
  82. package/npm-cache/_cacache/content-v2/sha512/{19/9d/08ab8dc27d21ef371ea4a4ea495c94573ce2777b0dac73a1cc9494bfc4e759c5181826a8c0ae321f98251e1789a9e73e49b225ad127f663b0ad8e0063dda → bb/2f/85ff20fba1d88d32842c3df4f183f5db935b2b7ce6ea1323c4aaacb1a1e3f2403c04afa7b421a7163e73f525920c184f1d184a349c8f63cc05fff964d0fd} +1 -1
  83. package/npm-cache/_cacache/content-v2/sha512/{9f/62/0aae3f4c31ee2541eb07524ad9d40e1885246b080fc8977d9f97b6a776df6004eeee19056827f38db32071c93f221cc022aec879438bc7ca5c8ca711a50c → bd/09/e4d1dfb9a0eca13175ae642685ce28bec92a113eb6f7c72fccf168dcc77ca26fabdf2599deddfc744a547f20a364614629e6199e5f2e89edb828d984c217} +1 -1
  84. package/npm-cache/_cacache/content-v2/sha512/{66/80/6aa0e69649f449fb0e7f3c46e4ff069bbcd68d4b283aa7c95f417026ce2aad9c49f75180cdf94d3016fe97a4ddb2873f7e921f2a9fc185fd20801c407b0d → bd/7f/e0bff0266845406eb8b4863698a743f3d0634783e21db567c4f9ac90b169b61ad9e071e768ac1ff738ecf04fb98bf823f9572843a460438ecd6c4e0b94cf} +1 -1
  85. package/npm-cache/_cacache/content-v2/sha512/{54/02/09cad3b811005be3807d6189a05b73c3674d709488e16ecb3b1308db0d2028cbe83f14e1812b3f8f8ae12f9383449e5bcd50ed815f563b870296f6b69011 → bd/a4/2d2aa01f2cf3b3318dfe8944e77970711de68f25075af4ccb267104b5b2956207892628e400e4f680a22c8a1ec26cab223252a389966806a4d7a4019262d} +1 -1
  86. package/npm-cache/_cacache/content-v2/sha512/{e3/43/8247d0fcf30834bd8078fcbdaa3178c74db799673fd552c239fb227fc190473cee9e5343713b02d47836921514584a120929643367924908b88c6220c720 → c2/25/29e9835937cffb7e906b1695d4599b3aba53823fbdefa249a39e84ebff47701dbf01475525b77bc5d3f76971b00785f638eef68c21c5400e80e618f385b3} +1 -1
  87. package/npm-cache/_cacache/content-v2/sha512/{5a/77/782bd29a877c5ac11915f09385aab2ff6d9f012b8ebe4f656c725fd74796ef70c136c6fcc7e9e75b855f64855ad4865c1f04ab6e2ab5a3f8226609ef5d99 → c3/5e/40426f63c5b662baa0bb2ff8f1efb4c60c1817f1c982d295796b88c68703f54ca15eb1818ac443f34278aba8aff2f2b5dd0897d5a389763bfcda38dd449f} +1 -1
  88. package/npm-cache/_cacache/content-v2/sha512/{fc/2e/034e20669aa95c51d8306903f5b0105b79aa331253c307476eeeba2e664b719525a7965e0c680730fa728a4be6c14a0cd658b1de9bfd17b97bedea418d2e → c5/bf/ad24c2ab9d2fd27178239e798f68f284b51998bc587e000373e3cdf2be0bcc650aad31d87938513637e11a204e378969d351c9bcc7f462de6eaf8ef3b128} +1 -1
  89. package/npm-cache/_cacache/content-v2/sha512/{2d/b5/28bbceeffd418b70b855bbad3cfe0cdacad1b1994ce5cd8e1f7d837c72fe982dece513c23f2355cf4d57a7c7795964b08d227f51169baf4c31b5d9a71a19 → c5/d7/c734dc6461c3018563469d6f6947ae29d608ef13ac2400bdccb4c8eed859251974812b9bd24fbcb9627e7137158fdc8ebe0f7b6e21b903238ba7f43c17b1} +1 -1
  90. package/npm-cache/_cacache/content-v2/sha512/{70/3c/efd8bbc17d534743be38577a626fe5e6148b29da915983e3b2ae54040a828787c83613470697348627fc98bdd0240c901b55ea50f4c9d27ef1189c0e69cf → c8/44/edfb79456324ec04c399e1445b17634703de1bb7a419f2fd550f9a15fc826c7c879fb5852c2d5fa7f886767f337dd6926493e68c98097f22c8ea7d7e9b9c} +1 -1
  91. package/npm-cache/_cacache/content-v2/sha512/{f4/40/35ccff85605e12c684306bec72ce8508b0903d62f53c5d186d519a9621a51f6f013d7e4c7a9e92d68dcd5b36800288b8d6edec2da18b9f4a9929faebcddc → c8/8e/dfa1ae62c5dcb306d2a77d01140f5262191fc41b7b77f5a19ca5452b581e75d5ddefa75cfba2ac5e58e1657f7f059cda95da48dd657f0c4ad12f33ef0ebb} +1 -1
  92. package/npm-cache/_cacache/content-v2/sha512/{c9/4c/ae5df984664207381ad99861c124ae399f15a5e58d9519277967587be6c1daaf393a2dca46bf8dfd0b2d5b82b9372621b8d906daaeb8f7beb002adbdde37 → c8/db/60cda8aac0886f11916ae6a663900c02a0c95ef50659f27480b7864a6d8a3399a39e8b8c159d672efbae495ec98f50822cd657db2657cc60b542b8fa5f99} +1 -1
  93. package/npm-cache/_cacache/content-v2/sha512/{8b/dd/0d34c8cfe02d61661ebd8b0f3f26301b33ce5a29db41ec8c3039f7f89abe03bcdaa44cec11a4d4e33fe34a0da317c006a982f5f7e5f6c708d32f5ea09185 → c9/82/7ef8330fb15222b575703eafcd6e378288b591f2186384fa72f82dbc9cc4842211e247013c33f2bb738264d13eff73d72a80c1d0e9ed3069c1a95cd6c157} +1 -1
  94. package/npm-cache/_cacache/content-v2/sha512/{8b/85/d27803dd7e2d87100b590f5c58b6435ced33836b8f807ea800af068deb30b8b8eea460dc75889473a0265e527172cb704baffbcb828f716fb05f1d09ce6e → cb/36/78973707719783a4e170c3b47f707f9f4ecd3c8ee481ec3a05a44fdc96a9b58d0e063edaebdb38161cda847732499ff949a6c46936380b0d01587ad196a6} +1 -1
  95. package/npm-cache/_cacache/content-v2/sha512/{bb/b6/47e686d67c283f11268a0ea8ff8aa614a7595ce3253f7e96617ef83d972cd5d93d76e47dbcbaaa368f396f12af13b19b6572123ef662673b5e206421efbd → cd/8d/75a04550bd26a98d9631912e0922e7e6c58534d0ebe4328a255272a6bce0b2a43b793fc7fc6ec7077f35d8f35fcb58a31add5e46160ed03166704e8c3b78} +1 -1
  96. package/npm-cache/_cacache/content-v2/sha512/{3d/ab/69cb81a132025c65a2fb2c6e30e8d1954bddf8fe636e86e698c025b7e05b3c7a63834392374c4f8e68efa6915a2ac217bc70a892031ae04f1782fdadfb58 → d3/35/ecbce3df1cf4f9f65d1e3af7b96629ef27d4c9cd3700deff093eab8ebbedf2c850b628c26a87697d241d6ef7f36789edee207a5d6b29c9fba47e98544c34} +1 -1
  97. package/npm-cache/_cacache/content-v2/sha512/{88/80/f87a25c397421fbfefd00b503274d38075e089168e93608a24ece635956a5324e6eb1dff41ef72d56ba7bd6950455647d3690f1e51ae4f82fa2cfd28ec9e → e2/8d/b8cf235d73dfa06394368b6c14d7b4c15a83425e2e9f7272874e9e0b7b77e0ce9d5476886e88aa7191a276c8a0b32b58aa100938206315890991ac7d17ea} +1 -1
  98. package/npm-cache/_cacache/content-v2/sha512/{0d/42/6014b4af17e726d5ba291fdf316660fcf8f7c8d16bde1fa88e7430149756b39383ff6e9fe703d6175b2e8028198b827dd7e3d5421ecc99349de8ab59b119 → e3/85/c6a19c9c28d40098ca40f05fba131532fcaf6b9017e3c400258aa092e1a4e4cafb6e0c02b57b885964b8d476235cecc0b904d1638b0069664e36485df8cc} +1 -1
  99. package/npm-cache/_cacache/content-v2/sha512/{91/fb/67b4be13e21402798a37d2e82f92639aec0ee449ef52766ddfd6036208c8dd12777b6c3a271c1af7f5e696dcf63bb76c0f74717d47e905c85b654f26130f → e8/3e/03613db68daf2e66a114355953aaccbd0572cdf538e561c37cb3e90ccdc7bfe6172fa10273759ab298ab1b1cd5623b3912ee3fcfdf47595c10e7fd8676f3} +1 -1
  100. package/npm-cache/_cacache/content-v2/sha512/{9f/af/059752f77991560afefd1c6a4059dc5b9e00ff648141114273ef1335cdab889a23742f32d92783ab16f1401e90215b1429b17275b31734d7e2b316066bf3 → ea/95/ba42d659c16f6f2e0ee3791b66a849cd54f3ae9ad7ac7a423a513afc1706b61b37a98323fe90f5cfbb133c9c93b448a0f6a1a51966c3773c6ffe2d08cd8c} +1 -1
  101. package/npm-cache/_cacache/content-v2/sha512/{48/5b/1640c4f6c7f358ce32767f9c9572a8356ab4e721b31dec60d5bf5a3acf7fc80ae1cfd94f155a61a544a68b2e7fafd4b2808ebaa5355ba10a1bb7d1d1d075 → eb/bc/5c9531d147c6523bdf81fa537131a639c15736699cef97a7b8e735350dd1b6f1cf6965e38c6e16e1296bf10bbe229345695a3be131887587424f5a73fba6} +1 -1
  102. package/npm-cache/_cacache/content-v2/sha512/{2f/32/f83288a165538c7b27b5eb484fe089b38a125c4ac36108b6de769c776096fbeab576e56ef09ec1062d6bad36185a1f3fb4bd98b83af61b131b48017f0233 → ec/f5/d0a2863058da34ffcf8519fc0d4c620357e0da21b396a95ee8d0cafb3088a1f3574bd3ace3d4f42ecfafee48189dae956efd3ba5b94569b8eb5303331d31} +1 -1
  103. package/npm-cache/_cacache/content-v2/sha512/{ce/fd/b1c1e8aaf3d559dfc15bb8219e41bb05bb1eb5df337b5f84c84a34e7ee60fe45c5acbd0d18829024f593a19704634cbecbc13e6b86f234c255df44bc5616 → f1/41/aff9f8ab8cc8b53355de9b85f165a6ca45f83634df87e003c9da49e29e28124a4b6a2404465769ede6437b2ead3fb7d75d5eafcc1b02ee0cd1e114f82c8c} +1 -1
  104. package/npm-cache/_cacache/content-v2/sha512/{97/75/80b56d8e525836405ee7b199463e037fb756cc30ffc68e4f7bd6f547f4913fd945c72fa52813edad56394c26c5928505b25ca4e4abf9da97ab0f6fbc36c4 → f3/4e/c85520300f23fcd12af53238e94181b3789f11bc2560f4ce5eb3175c44698f95c306536e86be0c9e6a4563afc78b66c19ee7b43de3e8355ac1a2bcf0d2fe} +1 -1
  105. package/npm-cache/_cacache/content-v2/sha512/{5d/9a/7e738fd41cee5de8f95b952cdf2dc99f494c381bcd6ee64d14ccdcaa05d0180236089c166d21289d7adbe4d70d1e16a64c2f21bf8a83bdefba4667edc303 → f4/63/48532ba52205b03c6ef19951971ed7b236662799f635e5aeaad5aa83b43de3283c285be29d52188c1b6c60326542a386857c6a6de1bf9832461684b771ee} +1 -1
  106. package/npm-cache/_cacache/content-v2/sha512/{e3/13/b12fe3ac03b07faa739fef590241e5376e16d2375afd7c67edf16115617b7bd6d4df585406dcb3b72a98a3da12bd13ac82bbf12ed3bb01d730b674ca88bd → f7/6d/7649e65af2834f830db0194127fa97bc5461c1b64515cfb9b0e52c59e27a379b76b680aa1d8a0ab4f7760d894f1860206d09029fd627f2fd954b855c7e97} +1 -1
  107. package/npm-cache/_cacache/content-v2/sha512/{86/d6/6bbeb86e89cba32da10a56e40d8964c5787f3769c2bf18ea6bbb37f5630b42d89ed0afcf46ef7131bcbf278abc3ff8a39d462305eba5f9dfa181f7ca133d → f7/8b/25a61c4fc963c1e03a91dd8586776f8b76c7a62081d095d3fa8d2a5e5fa82cb5e4d43e257eef308ba46c9305ed5961daea1b46146bd8fad869432d15f651} +1 -1
  108. package/npm-cache/_cacache/content-v2/sha512/{39/12/fbf679dde4de9fe4186d0e4d1ae54a9e05735f0323e34c06342d6c45d75182940bcff2859e715844ae6c67d2f623379dc162ce51266930032a957dac5dec → f8/0f/108bbe9ebcd7a7292c422cd6047810873aedbca7b52c8e678fb53bde4d8fe7e0d47107178787a958e0723a9068680894e8fd378d6e31f0b9d2bf6a5e0469} +1 -1
  109. package/npm-cache/_cacache/content-v2/sha512/{b2/91/55ca11af3ddd042927743655e213107d77225dd11c83354fd1bb98445bee5391ebf4087996957c9b4868a72f018cf7f3df02726984e32773b2107075d761 → f8/dd/7787bb6c1397c817c89fc87db3b8b4127d13c7a9e874ee2ff5c75de7fdf5664529ccc836eb8482ee54a257b4cc2155aea01877a2bbc3f71ff88de1f1aa52} +1 -1
  110. package/npm-cache/_cacache/content-v2/sha512/{bf/87/0af1ac4c8be330c42f0b497e6d1920fd808b44099d66d89dba7f671d24f1d31598f85054978d1a8a63edbcc4eff39b5c0e4d545367686a64a6b38cf42749 → fd/e2/953da4f501b7e70e01b785f1a9dfb7bf410625087880ee895d51df69020953bae00abf8b6d6ec91bdbfdecb86d52e57ca66eca5a806ee30ae5f32e19186e} +1 -1
  111. package/npm-cache/_cacache/content-v2/sha512/{3b/11/c7c168cca3a104fd2de990b341f538e65f9b27421e48e90987c9dd995023a30b58fac06f9607e888ad69620f839fb2401ca7f9d1543f9426875bd2189238 → ff/a9/2ad16bc4450f218723833206f61c2ccd39a111269c500ea98f5acaf39ec8b2730b305f5f188bf50d567b238d4819025c329c48e9cc47a44704979dec5c12} +1 -1
  112. package/npm-cache/_cacache/index-v5/00/a4/2561c4bd29542a45f200119a7266ed0af6c0127d1713d8426a76afcebc3b +1 -1
  113. package/npm-cache/_cacache/index-v5/00/cb/84ea144914dd27ee92426713e8733c1963655f77b2b23dca127423ff84fe +1 -1
  114. package/npm-cache/_cacache/index-v5/03/fc/2e4971871cbe7c4683c40028c9841909eb95da70a8c271cc5e74d2274db0 +1 -1
  115. package/npm-cache/_cacache/index-v5/04/85/a4ceacb93ac66c9bba8c1b8bbb142a6e1c7bf86a0d2b5d869b54a691365d +1 -1
  116. package/npm-cache/_cacache/index-v5/04/8d/10076bb0eb85eac4949c62dac26556c750c17b235801520151aafb9fbdd9 +1 -1
  117. package/npm-cache/_cacache/index-v5/06/13/b1afe0e948c19311bda26082af21cef26f94f55cad61f965ed58a0b1bf05 +1 -1
  118. package/npm-cache/_cacache/index-v5/07/0a/870046ded9759ff1db8e3ae4aa36da025915f92ef539d3cd476115aedfd3 +1 -1
  119. package/npm-cache/_cacache/index-v5/09/db/6b917a5246682f40adef5e0b2418e4f1677e4cd44fd697a963fe378c10d4 +1 -1
  120. package/npm-cache/_cacache/index-v5/09/e5/c408e16d39c9a61a4ead46272dcd3f2cc73539be1f431b8aeb12ea4b9745 +2 -2
  121. package/npm-cache/_cacache/index-v5/0a/fa/33b8f37787b39b496d4c4e327d6e6c1d59f468f618313987170c91f9bb47 +1 -1
  122. package/npm-cache/_cacache/index-v5/0b/c4/de5b49df6d6a44f0e13ef52d79599a3419c0fad648ee1808c21623eacba4 +2 -2
  123. package/npm-cache/_cacache/index-v5/0c/28/4c87c494f76b8f44df08ece092f236cba2a02940b10b6326b5742a1ea58b +1 -1
  124. package/npm-cache/_cacache/index-v5/0c/fe/68604c3c34ec2d82954afcff1a1025076c2a03c30a15ab265a0d4f75661f +1 -1
  125. package/npm-cache/_cacache/index-v5/10/16/643d60bb1201bbf3f970d31ffbbabf5279748b0ed32b8966a2874beb9d2e +2 -2
  126. package/npm-cache/_cacache/index-v5/10/a4/4d04637b9c74b4e3200962b7aa2d7e1650aa732ef9c9350b7e291b00b928 +1 -1
  127. package/npm-cache/_cacache/index-v5/10/c7/69a75617f1eb0427a348f5bc4c9e67b8091dbe2e8c076c20c4032685947c +1 -1
  128. package/npm-cache/_cacache/index-v5/11/20/4ecebb0a23a70a1a49205693fe7e819477a3e9afdce98747f6d55a99f1ce +1 -1
  129. package/npm-cache/_cacache/index-v5/11/cb/2b0f91de06565c83ddce42e4b59bc39db9fcba5ba733a10403d76dd86212 +1 -1
  130. package/npm-cache/_cacache/index-v5/14/34/7852b69ae8d1ec1c13c8ac46434436302e85ee3093864f0bdbde8d446b0e +1 -1
  131. package/npm-cache/_cacache/index-v5/14/88/7266de110bc26277730b3de506233b0cc25bea87e84c07f2c1f9bd0ca78e +1 -1
  132. package/npm-cache/_cacache/index-v5/1c/c8/391a0d8a18f1541a9666e57c00b0af567c9c94b909d6ea95c89d1e62c6c9 +1 -1
  133. package/npm-cache/_cacache/index-v5/1c/f5/68513b2dfdf84ca23cf457a03b0349cb89f137932ec0685e3b355cf61eef +1 -1
  134. package/npm-cache/_cacache/index-v5/1e/71/a5e7c323c625fefd198081f7d7da668848af967e9fcdc9d6634b0a65879b +1 -1
  135. package/npm-cache/_cacache/index-v5/21/94/518c566ad78afacb599dcff452e67d041797dc04024ce153bb09ecebbe7a +1 -1
  136. package/npm-cache/_cacache/index-v5/22/42/979b475714e594a0837378b40549cbe6cf60c8391684832b176f8a66c783 +1 -1
  137. package/npm-cache/_cacache/index-v5/22/93/4e00232684e983dc9546a904ffb04997dda7fc10fb28998bc31da03a85f0 +1 -1
  138. package/npm-cache/_cacache/index-v5/26/00/d320859b1f51f2315dd976e2e52a222df1922a4eee68fa98edc4a548dd90 +1 -1
  139. package/npm-cache/_cacache/index-v5/27/44/aadf2b66990731e5eae895635531ea3f7090b200c0550ee7a9cd233eaef9 +1 -1
  140. package/npm-cache/_cacache/index-v5/29/e7/3b67ce9018a5cce5952ac73369e43ca70677b2b34ef9c02d267435810cb2 +1 -1
  141. package/npm-cache/_cacache/index-v5/29/f7/1330f48086f95c0bc5e9edb6769e6aed919b013ac1c751c0cb473ef431d8 +1 -1
  142. package/npm-cache/_cacache/index-v5/2a/f6/ec0a8ef0e54f06d663df9790394dafaccdb9cf95b6a5e86ceceeb55e7cb0 +1 -1
  143. package/npm-cache/_cacache/index-v5/2c/eb/605b2abdc74f93e9f757db137105c7b4f44b8c86506371fb9f84d14b1b12 +1 -1
  144. package/npm-cache/_cacache/index-v5/2f/31/efddc30ba28f899c91badbcd872f5e8d1d981edc8b859acd6cbe01ac4e5f +2 -2
  145. package/npm-cache/_cacache/index-v5/31/d8/a1c0d9a4ca3a73b1281d4c25b3966ffd3ac333d55a0a353885dc5fdbcfa3 +1 -1
  146. package/npm-cache/_cacache/index-v5/32/19/716b5dd397b5cad2a4396c5b87fe205d4971171d20ef513a548a940d04d0 +1 -1
  147. package/npm-cache/_cacache/index-v5/32/78/cf4711d0c6cd2923a63b30736403e3c61f1ce0d5635edea7f324e744b23f +1 -1
  148. package/npm-cache/_cacache/index-v5/32/7d/7f1cdee9b7102200dfc9c0132801d37b2d797e876b4615bc5eac237331fa +1 -1
  149. package/npm-cache/_cacache/index-v5/32/c6/f5efec97cd2d4a47c3b5bb8343c78688e539ecc1d1561fbab3adf1726bb2 +1 -1
  150. package/npm-cache/_cacache/index-v5/34/78/6886c559c91a5b7c29a8d2faf905269d2107abd5127ee8ee8f1658ba4594 +1 -1
  151. package/npm-cache/_cacache/index-v5/35/24/adb625edd745d166ea0363eeedd76af71a459a4706355c6e0d15c33f173d +1 -1
  152. package/npm-cache/_cacache/index-v5/36/4d/ecd5319ea0c408367f689e733b990720ac813fafa3ac39587f40fd29311a +1 -1
  153. package/npm-cache/_cacache/index-v5/36/77/1c1f669583dacb41d5046be7b85b0fee735cd8d8a0ae96e7a5a93a9c7ad4 +1 -1
  154. package/npm-cache/_cacache/index-v5/37/94/018e9e45c38f96793e7db5e1b577ebf22c028bb1ba441df96f481564cdda +1 -1
  155. package/npm-cache/_cacache/index-v5/38/cc/aa73b30f32538694e8d06d1991682cc9d58b07499da9554e2a1efea9c214 +1 -1
  156. package/npm-cache/_cacache/index-v5/3c/78/c616b75928b4cfe81b30efff60de5b7fd12d1ef32338eb5424e17fd633fd +1 -1
  157. package/npm-cache/_cacache/index-v5/3c/d5/5c88b3a75335b6dd5b5b5144c1a1a005fdb24b1695a605beea079865052d +1 -1
  158. package/npm-cache/_cacache/index-v5/3d/e8/e9ef9727e5339a4707d6d4f92541a33949ae9c7e6a9926d6cf84d7b3b803 +1 -1
  159. package/npm-cache/_cacache/index-v5/3d/ff/b7f2dc191f665a37be240e4ab574e3708e1932f773d3abae5ebbc52db86f +1 -1
  160. package/npm-cache/_cacache/index-v5/3e/76/cac1a661b02b2714e590fbc3c700a88705428cdca0985758f8da69869d85 +1 -1
  161. package/npm-cache/_cacache/index-v5/40/10/77a8f5c51fcffe87a126ca9cadc0071840d688d2d6c1623c3bccce6b9853 +1 -1
  162. package/npm-cache/_cacache/index-v5/40/18/8c641ab4332c83f2c7387bc3855050defba350b0796fc247ecb4a84de6d7 +1 -1
  163. package/npm-cache/_cacache/index-v5/41/77/bb910a7fdf7c84c4343a68269328953de02859106a2dfb957feb22178d22 +1 -1
  164. package/npm-cache/_cacache/index-v5/41/9f/a4e9413542a1095da1906c6b3e3c7e1e254246090c42b419b59512b3b199 +2 -2
  165. package/npm-cache/_cacache/index-v5/44/dc/484af8ba96dc6aa7f4295e6a7cbdad563a9f3ca686b07d8cb8b652948632 +1 -1
  166. package/npm-cache/_cacache/index-v5/45/28/92ec847182e8e00c2fd6b6170697e7ff5da75cfadc4822bdd73c1e7c0e85 +1 -1
  167. package/npm-cache/_cacache/index-v5/4a/32/732d98948bf6ad03f44f78b8ce808735ee00a0d8cf3842e4244b20fda532 +1 -1
  168. package/npm-cache/_cacache/index-v5/4a/67/e43e3688ff5a0e39ebecc9b1faf3da545adcc323933c0b8355efa02d9fe7 +2 -2
  169. package/npm-cache/_cacache/index-v5/4b/47/fe08a251d6a7e0f1c077da3b1a9bd8d1962fa4e5fb1174a0e9f11fcea2a8 +1 -1
  170. package/npm-cache/_cacache/index-v5/4e/4f/fe26e91353504dc7c86f696a26f3fe64e74137cb91b56e74b10526fba6c3 +1 -1
  171. package/npm-cache/_cacache/index-v5/4e/fc/b5cc16501063bc1631d51a2e3e209c9325794566322c5a2ca7f2d99aec07 +1 -1
  172. package/npm-cache/_cacache/index-v5/4f/9f/f77b80d259e42a54b66378b3ffbaae7691e9fb8ed59e990ff106d5edff30 +1 -1
  173. package/npm-cache/_cacache/index-v5/50/ec/7f611a9c669e5600fd64ae903ac13b283b115aaf5ab4fed5f0764556214b +1 -1
  174. package/npm-cache/_cacache/index-v5/51/09/691188a6b343b62c49c4438350370f812b5af3d98ee75bb43a8a070b0a51 +1 -1
  175. package/npm-cache/_cacache/index-v5/52/64/e4dd2bf213ecf320b0ccbd9a71550e165ba8f2ffc9796e22f922db40f709 +1 -1
  176. package/npm-cache/_cacache/index-v5/53/b8/b33f9735e0f4d78e36abe835858c2a91cda40783f4fa0cd6b38d235170c4 +2 -2
  177. package/npm-cache/_cacache/index-v5/58/0c/4e22c1685937f0bcf3d3a17e51e8c73cd87590f53a14e2b99cbcf3baaeb2 +1 -1
  178. package/npm-cache/_cacache/index-v5/58/62/394babe1661820f396afc433e46ac82d24b89ce4f42fac01e2834fe7aa50 +1 -1
  179. package/npm-cache/_cacache/index-v5/59/d3/159f146a8a1dcc3a63164ac6ad640a458fbf25c741d01602d2ac285a29cf +1 -1
  180. package/npm-cache/_cacache/index-v5/5a/22/51e204d6fc431421ab78fe24211364b0d0085dc5a8df868f5098df3f4062 +1 -1
  181. package/npm-cache/_cacache/index-v5/5c/89/2c894d6ae850f7e31f8bf97087c870e8c7323e466b7e1ddae27411263544 +1 -1
  182. package/npm-cache/_cacache/index-v5/5d/66/0136dda6331d3f465c368a63a37fc204a82ce9c02bdbfd3aa5cbfb09b025 +1 -1
  183. package/npm-cache/_cacache/index-v5/5f/35/c5b4cbb4134d713aa3b89e08f875469a387933d8afd3322dc57bdee755b5 +1 -1
  184. package/npm-cache/_cacache/index-v5/60/7b/2dd09ff3a28facbe75e190ed33e00dbc1c1c0fdf8b103d712b0dc95a2380 +1 -1
  185. package/npm-cache/_cacache/index-v5/63/c0/decc4ba67bb67abf948ab2b443e12dd4798181c5b42e912b958c413b0691 +1 -1
  186. package/npm-cache/_cacache/index-v5/63/ec/570fa50cbe8043ce123996fe16db3152436a786a3234437ac9fcfa5a7d48 +1 -1
  187. package/npm-cache/_cacache/index-v5/64/63/a614493a2a5ffd13d9041bdf16535beb3911aa0958729cf279e1771f3f14 +1 -1
  188. package/npm-cache/_cacache/index-v5/66/57/78c1a3c02b9ff69ce79fc3f8050553604384420ef9387d2d382b6c75367e +1 -1
  189. package/npm-cache/_cacache/index-v5/67/6c/3c138c91ed61f14e6509f0ee955b1c72a12bd7b7c77be434822a7c42dfc1 +1 -1
  190. package/npm-cache/_cacache/index-v5/69/26/d205b58e75c37d2300c72727e586349dbe114b3c84931a398f2ce28f7f89 +1 -1
  191. package/npm-cache/_cacache/index-v5/69/e0/d2ad3268767b808774a73bafba4f140153f0df83670adb3f2f79b91622f5 +1 -1
  192. package/npm-cache/_cacache/index-v5/6a/75/8271b4673a3907eafe84143c1ebf96549ee3f41fca09aab6c330f7036345 +1 -1
  193. package/npm-cache/_cacache/index-v5/6b/cd/2b4af3cb246e94de48f5e8db73b0791ee9752114ab406ebf788b9888d52f +1 -1
  194. package/npm-cache/_cacache/index-v5/6c/84/0bbc09c6e788eb5505587b1e6822116df246c7578f1a30c8026e5e998143 +1 -1
  195. package/npm-cache/_cacache/index-v5/6c/a6/3abf0a3fd196b864eed75161dea408775ae499b295f14deabdee51b6b24c +1 -2
  196. package/npm-cache/_cacache/index-v5/6c/bc/52e7f6ffb8c6305bb83444f7607924ca0e0d6b2abf074b3500f128fb0b84 +1 -1
  197. package/npm-cache/_cacache/index-v5/6d/77/b6d15baf05ffecf9961d8c56c81198eccf9b627f994dda8cad2adfb1d093 +1 -1
  198. package/npm-cache/_cacache/index-v5/6e/4e/af5a6f10d9ea752745b4505fb7c8e1afdf6c24fadb1031c0be4096d7c077 +1 -1
  199. package/npm-cache/_cacache/index-v5/6e/d5/e14f23d6260baceec17b2b54672cfde24af920d3e9defdb35ffcccb5dea6 +1 -1
  200. package/npm-cache/_cacache/index-v5/6f/b4/368074d27d8f033fbf6f5aa35a3f7dc7fe7f992beca8a0838dbf604a8ac7 +1 -1
  201. package/npm-cache/_cacache/index-v5/70/ec/c8674a76e3fdb3367b9e908aefe158eacce3858efe45e31647ee784bf3ba +1 -1
  202. package/npm-cache/_cacache/index-v5/71/25/8fbcc83880409f1f01ee29428a27794db5b4a050ffddc2f445b67305e2d1 +1 -1
  203. package/npm-cache/_cacache/index-v5/71/30/723927f34f3a3bc9de4f0934ed7d9eff69277f6e48e2725baaad51a41165 +1 -1
  204. package/npm-cache/_cacache/index-v5/71/56/174350e7c137d909a85baa52ef63930fc1ced90842393b40b0ad1a5335ee +1 -1
  205. package/npm-cache/_cacache/index-v5/71/7a/cfb4a4d2cf2bc217b46d6e3b4c4574f69a13de03d76e262b79a9ca51838f +1 -1
  206. package/npm-cache/_cacache/index-v5/74/9c/409473e5b8efe3ff71fdca49628eb21a43b6e95c5bd64c4a71bdc0153ec8 +1 -1
  207. package/npm-cache/_cacache/index-v5/75/cd/ffafc14f444980a3e554de95198e9ac8c5a38487ec12ee93d8cf2ef7323e +1 -1
  208. package/npm-cache/_cacache/index-v5/78/8b/9c1005a28c9efb1ed1bffb8269000bcc14bf01994709e45cec175538afa0 +1 -1
  209. package/npm-cache/_cacache/index-v5/79/9e/683e2c64a3177cb58b8f1d0fc715e76f4b9980579f1e0427015b3f0ed8ae +1 -1
  210. package/npm-cache/_cacache/index-v5/7a/73/016f3471eb40039cd19b457815eb7edd93f5165e708e564ff44a8a36234b +1 -1
  211. package/npm-cache/_cacache/index-v5/7f/3d/8f459f794a92500585c0ab802f986b1d64b5eee36637ad68ae86eaa22cd4 +1 -1
  212. package/npm-cache/_cacache/index-v5/7f/56/8c532ba1a8b414d263e39aa65290cc1aef54fb479d4990dabb9f0f3f529c +1 -1
  213. package/npm-cache/_cacache/index-v5/80/61/17b28d82b94e38e01e2848b39943ad5a6f670ae0e4a13bfcacc5672747fb +1 -1
  214. package/npm-cache/_cacache/index-v5/80/c1/5f0d8787035b3fb019f3ce0ee84874dc65f8eac9d70dc5727cb54a37b6c5 +1 -1
  215. package/npm-cache/_cacache/index-v5/81/72/5198576cc33b42052a71afff1fe5b3f99ebceef2abac3c4b0c8ab3aab1a9 +1 -1
  216. package/npm-cache/_cacache/index-v5/82/4f/935589ebd227b786f6e3fd8cb9e39011c5adf2b1423d6e16c33fd5dad6af +1 -1
  217. package/npm-cache/_cacache/index-v5/82/65/bc13f2939f0f4e8b5abeb94830c85a6d5cedf4791028234f26d12c4eace3 +1 -1
  218. package/npm-cache/_cacache/index-v5/82/a6/bf6bb1103b6a6f8c3cca891cd04f73568918c5feaa42abcedecdfada1ec7 +1 -1
  219. package/npm-cache/_cacache/index-v5/84/94/ebaab8deb1190ff42935bfc0427761369021116ac4a6733e2d9a9f0fe88a +1 -1
  220. package/npm-cache/_cacache/index-v5/86/32/cbab75a78504c819eeb2bb06c7bb311704ebb5a861484fd3f8e3e454f0e8 +1 -1
  221. package/npm-cache/_cacache/index-v5/88/1a/cc116ad228491980498749a8c98efb849662786f4977dd74426f3e6025f1 +1 -1
  222. package/npm-cache/_cacache/index-v5/8b/7d/831b2479d25a78b98a2adee587db2c6d362c99f317c377b898709e502626 +1 -1
  223. package/npm-cache/_cacache/index-v5/8b/8c/907953f0508611e8b8731db3f56d2eef714b6cce9de5b087aa7decd0a492 +1 -1
  224. package/npm-cache/_cacache/index-v5/8c/b1/7c08aea7bbba9e7a8e1a5f3d5c50d1aa3af7f189a6994f413663a065dbc1 +1 -1
  225. package/npm-cache/_cacache/index-v5/8c/db/d4d1c521c18165b38eea6d9f1aa2ff6cd55fd074b726567269ff441806c9 +1 -1
  226. package/npm-cache/_cacache/index-v5/8d/5d/6785b7ea2be7c6f6967cd3bd1e8a3a4e148bbcc7b3113cb4dec129895012 +1 -1
  227. package/npm-cache/_cacache/index-v5/8e/1c/06fa068a87899af8b605e7bb174220c757b25b0229bf38218af3a307af01 +1 -1
  228. package/npm-cache/_cacache/index-v5/90/75/88694dc179514294892226ce2712154f79f7728c1ac2087436dab672f076 +1 -1
  229. package/npm-cache/_cacache/index-v5/94/db/32b4c1799776e242f06631d6ec0307634aad3703141d8d8ab9c588c41f33 +1 -1
  230. package/npm-cache/_cacache/index-v5/96/11/bc784a53f33b35d3c8c079b0b1ce06bffa8248f97ab0c7d13554cf3a81ae +1 -1
  231. package/npm-cache/_cacache/index-v5/97/ca/050529386876f07d9cec38c84189617992b9d7f6fb828b55fb71536bae30 +1 -1
  232. package/npm-cache/_cacache/index-v5/97/cd/140c3630b343d2116b1a10acaa2ecde9f1df9b8be28ecc143c86181fc1dc +1 -1
  233. package/npm-cache/_cacache/index-v5/98/99/f0e17e0e38c059d05babfaa47a03c9d8db1a02a4b282eb077edd80c66fac +1 -1
  234. package/npm-cache/_cacache/index-v5/9a/8d/9e9124b5c1741db990db779dbe3aa90ff4319aa7abbcaf4b71722a6159f5 +1 -1
  235. package/npm-cache/_cacache/index-v5/9b/07/f828ebc8b95e9b5a0c766d5621f5f1722a0fe949a9ff9740aea1ee73bfdb +1 -1
  236. package/npm-cache/_cacache/index-v5/9b/c2/f971239099163d00800ffb839bc4fa0e69cb5a8e6956155250e2038830b5 +1 -1
  237. package/npm-cache/_cacache/index-v5/9e/56/58b6e51b8d3072aac0d648b89d980bf60503cde2b02f3e58b778dc50cfa3 +1 -1
  238. package/npm-cache/_cacache/index-v5/a0/d5/0f237f20b1e438891d68a95d4ee986a17c2795c74241b771143decf94356 +1 -1
  239. package/npm-cache/_cacache/index-v5/a1/00/4b368f6fab8b18540d40ef384e19e71bccfdb58bb2107f6c324eb1966867 +1 -1
  240. package/npm-cache/_cacache/index-v5/a1/a5/80a8603b2dda6fc55f94a270fc8a490babad3a0730e7bfc71c4295aeb677 +1 -1
  241. package/npm-cache/_cacache/index-v5/a1/c5/f25b661fed12a9a0aedeab1423381b7c485e468fa026eb3cf619b93f6a0b +1 -1
  242. package/npm-cache/_cacache/index-v5/a2/67/59091680a451687e684a6fb82b30d5466c4aff869e446549a4f56d76308e +1 -1
  243. package/npm-cache/_cacache/index-v5/a5/d0/628432ce9407eb9b1d481981bdb3d6d166263853ebe4651ad081c6c6d789 +1 -1
  244. package/npm-cache/_cacache/index-v5/a6/ad/d01c8fc46cd6914231dacf26c3b0a2d524fc5c9b68e2bbac2ecd17808402 +1 -1
  245. package/npm-cache/_cacache/index-v5/a8/a6/c1e067475d0053df13543e8c2a188e370dbd99daf977e54cb6864f7b8923 +1 -1
  246. package/npm-cache/_cacache/index-v5/aa/1a/76dc1528ee45c59d2e839a69ec25208da49745ae5a3cd5954cb9672eda00 +2 -2
  247. package/npm-cache/_cacache/index-v5/ac/59/858830b19c3c1133f7b36059774a02cb368163640f95ec2700d442ae9ff4 +1 -1
  248. package/npm-cache/_cacache/index-v5/ac/62/dde8a3b4f84b2bc210deb541c813f1986eaeb663a591afdd009a23ca71f4 +1 -1
  249. package/npm-cache/_cacache/index-v5/ac/64/befd04b1f30a8e877736b9af292f6414e7daf7cc5eef7ca388b8c4e3bff5 +1 -1
  250. package/npm-cache/_cacache/index-v5/ac/cc/fc50e2ee02f8d3c90fef448f4419e67a865c450fb56bac5c3ddf12198a61 +1 -1
  251. package/npm-cache/_cacache/index-v5/ac/f1/4f591c7f01fa877461db2a467859721c0fc9a62d0985d298463bee0d5aeb +1 -1
  252. package/npm-cache/_cacache/index-v5/ac/f4/1b4fa464c92b8cc30d03ef86aeaf383eb011e6911f6b7826e4670e60ffec +1 -1
  253. package/npm-cache/_cacache/index-v5/ad/41/fcd5803f01fdd5597fc5139b3f31419374e882ee5a8da02680f24da542a4 +1 -1
  254. package/npm-cache/_cacache/index-v5/ad/8c/86a3f4fe11e08795f6f922abe8ca76118f8dee062eba8bebad07b05feccf +1 -1
  255. package/npm-cache/_cacache/index-v5/ae/05/656555d63c33ebf8afafb81ab5a499db2cbaf78c9fe03920c0e296372580 +1 -1
  256. package/npm-cache/_cacache/index-v5/af/a6/7d86c5a2b60a67ce149ca6403a4e3c5108cce535eb71758507600659e627 +1 -1
  257. package/npm-cache/_cacache/index-v5/af/e8/3e6bd6b5863046df6a35292ad9b1216300aaeebb7b45f6305bfe1559787b +1 -1
  258. package/npm-cache/_cacache/index-v5/b0/8d/ac718808a492ebaed8bf28d37ea2230fbfcf0eb9858575466ab851b2688a +1 -1
  259. package/npm-cache/_cacache/index-v5/b1/ec/053fb6f41b2aa36f537b343f3369f11679773cf7c37e724c3050a74ca653 +1 -1
  260. package/npm-cache/_cacache/index-v5/b5/cc/315634719049634e60583d7a7b62885d7fa7965ecbab822b2a5482ab0c1b +1 -1
  261. package/npm-cache/_cacache/index-v5/b6/56/340ee2f010d5050b97af1b59ba82733d6bce38ed281734741707d7d5ae38 +1 -1
  262. package/npm-cache/_cacache/index-v5/b8/a7/610e61d34851733f6eb1819f28adf0abaa314d8463d767f6d6ba58a688f8 +1 -1
  263. package/npm-cache/_cacache/index-v5/b9/e5/048be7cf8cb86be8220fd5e11221b2ed464eabc69cf1d6b4eef390b43d54 +1 -1
  264. package/npm-cache/_cacache/index-v5/bb/aa/0e7a52a453e978d003924467fbfdf0e95de72af5f980a194337c5465d681 +2 -2
  265. package/npm-cache/_cacache/index-v5/bb/bb/f3f28681f6a2655774cc276a151e0a63a851182f267fede249957e754a56 +2 -2
  266. package/npm-cache/_cacache/index-v5/bb/f6/55fe567f91eeefe92ee53de633799f80aabc93f9f8a207642fcf22c7f5ff +1 -1
  267. package/npm-cache/_cacache/index-v5/bc/9f/208ee3981de0cba7ba79204460de5bc240683f0f91e25407b6a8b74c9715 +1 -1
  268. package/npm-cache/_cacache/index-v5/bd/2a/25ed44b74b78a0fcd39d3689b5b7d6b710d8e5d790e3e3d137b847b118d0 +1 -1
  269. package/npm-cache/_cacache/index-v5/be/9d/6c4cf469c16f24b89f9012983ff704d64df129af84d59d9fcf8559d79df9 +1 -1
  270. package/npm-cache/_cacache/index-v5/c1/42/e6ff8e42c165eab6246c9730d0a2fac918cf384f45cc7d1edfac768c218a +1 -1
  271. package/npm-cache/_cacache/index-v5/c2/ba/9d9258ee0c2ab75d8bba169b80753c4dec8a7f5eb3674a1c8d6c6cae486b +1 -1
  272. package/npm-cache/_cacache/index-v5/c4/6c/1ea399686abe4bad54196b37844ea8ba115c0c3bb6cfb4776b77a95d7f61 +1 -1
  273. package/npm-cache/_cacache/index-v5/c8/24/586991a2afd857a39294276f62908b1c0098ead50f97bfc855c2eeda548f +1 -1
  274. package/npm-cache/_cacache/index-v5/cb/b2/038d87336c50673a045cc3b5c5026e643296d2bc2e5974260b5619a9b067 +1 -1
  275. package/npm-cache/_cacache/index-v5/cc/ed/e02d4c933417654f3429283620d4e62845bfc33901f458df08c9597b4d96 +2 -2
  276. package/npm-cache/_cacache/index-v5/cf/f9/2dd6581bde268e2263e419841af384f855931ae58b466a979d851650adb2 +1 -1
  277. package/npm-cache/_cacache/index-v5/d2/d9/3bbd1b7d4482ccb62ddc3cda9f1d0d9cfa47d7c2efe6bf54160707ba5fb0 +1 -1
  278. package/npm-cache/_cacache/index-v5/d3/d4/6bf0e9be6f8aec85e3e89737a933111ee25dce7798c6f4e9b327b8d63fb2 +1 -1
  279. package/npm-cache/_cacache/index-v5/d4/bb/1edc44d2d976bfb48a85dec6619a61b20e58add5c7c89a167da7f97d26c7 +1 -1
  280. package/npm-cache/_cacache/index-v5/d6/95/e6ee3e87667b0ca08405979157884a357b6761a15de5d976d137fdbdf59b +1 -1
  281. package/npm-cache/_cacache/index-v5/d9/73/14362c3f5b894f07281e7fcbc0cd1d01a9237de1a4978ebc120bc9d5057c +1 -1
  282. package/npm-cache/_cacache/index-v5/da/00/c9cd38a9efb5b010f96c7ebb13a53b021ffae2facbac32ea345fc79fcd83 +1 -1
  283. package/npm-cache/_cacache/index-v5/dc/1d/36f427261e3fe1d3b0dd35d987126a1a71e16f63d1a4c314e6329a8ae956 +1 -1
  284. package/npm-cache/_cacache/index-v5/dd/09/f58df28338ce06e38dcadac4b9f98a28dcfe1bff5cbde8fb73f694cab3e6 +1 -1
  285. package/npm-cache/_cacache/index-v5/dd/1c/bcc1f709950f1383807fb39e140d3aac8716b33c15565b9b222936ad8769 +1 -1
  286. package/npm-cache/_cacache/index-v5/dd/92/d0cab31acafdeccaf93de780398c2e6b187cb86661de094d9c0bf0c33db6 +1 -1
  287. package/npm-cache/_cacache/index-v5/dd/a4/101bb6faa7eaa5d3fe352b4602206d2689b7549281a2b34cfc97b977defd +1 -1
  288. package/npm-cache/_cacache/index-v5/de/2b/6a4832b046c35f830d1e128f6d89f34d6f04943ea12b38a5d0d2d985b4b0 +1 -1
  289. package/npm-cache/_cacache/index-v5/de/73/e9caeba3b1b1f206044a576acacea780fa297c40c7494e194c50b7aa9b92 +1 -1
  290. package/npm-cache/_cacache/index-v5/de/bb/65a16c24e12e0fc24e080de170cc984399489892fedc81e8ace36b421c6b +1 -1
  291. package/npm-cache/_cacache/index-v5/e0/5b/421fa6b3b0d609059e018465e0757940a0217a587ef3ceb70f47b1d941a5 +2 -2
  292. package/npm-cache/_cacache/index-v5/e1/f1/25fed3313de95750171cbf40668b505efb352332c88159d22c268e677ea9 +1 -1
  293. package/npm-cache/_cacache/index-v5/e3/72/0e6a429604e3fbc023c5a4de075d0897566974261a38d0b0ac64018c2141 +1 -1
  294. package/npm-cache/_cacache/index-v5/e4/f6/abd881a4315f953a21d0ee758ba2f12f9db54886778a2c6f86a2386f52ce +1 -1
  295. package/npm-cache/_cacache/index-v5/e5/13/0c26ab543a75d9db18d6cfeedca6fb0827e2078f1720ae9aaa496cadc864 +1 -1
  296. package/npm-cache/_cacache/index-v5/eb/42/4b795254eda4a03e5795ff8768851dccae2296fa569ccd7459d5a19d6793 +1 -1
  297. package/npm-cache/_cacache/index-v5/ec/99/cdff9ef4557e986ea0821d582abf1d4dce9096a53220e5d1c642d480ad75 +1 -1
  298. package/npm-cache/_cacache/index-v5/ed/1f/73c80c5a97f1b84ec45d95de45bac2f30257cad6264daba6eb5ccdab895a +1 -1
  299. package/npm-cache/_cacache/index-v5/ed/a8/7f36c1db45a95f95c67b3b227946bcc9e078d07565c497de9f3df560fb6f +1 -1
  300. package/npm-cache/_cacache/index-v5/ef/50/eec933ed51733c31c102cebfcc307ddba8fd0c2d43b4cf581210f13fd6d5 +1 -1
  301. package/npm-cache/_cacache/index-v5/ef/b1/d347bc48d84b9d46d9a9452851b321fe4eda0bd34451ddfabd3c987ba9bd +1 -1
  302. package/npm-cache/_cacache/index-v5/f0/13/2ba41872fef5035bd857d266ad8aa7ebc37cd20212af10760dfea28f5360 +1 -1
  303. package/npm-cache/_cacache/index-v5/f2/08/36628a12c4095a731d48c9092755e11b7aa696b412069ed8393f29502d87 +1 -1
  304. package/npm-cache/_cacache/index-v5/f2/0b/057113f8dd025675c496228016f63835396bd7a0d93db75562f80a294434 +1 -1
  305. package/npm-cache/_cacache/index-v5/f3/70/2b1e45c06bd249f9b55908df30f3d8cecab44c4fd0367ab02e524564e50a +1 -1
  306. package/npm-cache/_cacache/index-v5/f5/8b/87b38e8f478041104c2e1181b85ca30f311687cbc364e283ba396170d31a +1 -1
  307. package/npm-cache/_cacache/index-v5/f7/c3/e9670651069a6091a0a54cb3c1d4f5a374dce8d6e6164f785da0bf4808b2 +1 -1
  308. package/npm-cache/_cacache/index-v5/fa/41/e6d28d9c2522d10a750d135b3b893df381f49f3d16b70aae61f64097c14b +1 -1
  309. package/npm-cache/_cacache/index-v5/fa/8e/5bc93a82136a438fe240e47f9ff34f3c80a5aab772a014031d8ab91be519 +1 -1
  310. package/npm-cache/_cacache/index-v5/fa/db/7e1ffa1755b41843b8fa75e5314390b1c19690e23ad58bc11e79a6595fa7 +1 -1
  311. package/npm-cache/_cacache/index-v5/fb/4a/81d720868edd40cb1c4e111506192fa48855802d5279ccf74e3a0a938aff +1 -1
  312. package/npm-cache/_cacache/index-v5/fb/df/fc91cf7f5053e619c87bfedb1b9db73646c4cdb5796e83006ae1126a7a82 +1 -1
  313. package/npm-cache/_cacache/index-v5/fe/c3/b170ff6db9a7022ce08991d03c0ccec12e8438baaacd1e6a732f0e199164 +1 -1
  314. package/npm-cache/_cacache/index-v5/ff/9b/60156c8e9a71c54e9917fbd42fafb957274277060a37362dcc5ba56867c4 +1 -1
  315. package/npm-cache/_cacache/index-v5/ff/bc/4a7636025771bb0b1114cc594c67d17b39155dae319209c1b53f983f2a05 +1 -1
  316. package/npm-cache/_cacache/index-v5/ff/e2/6cd7ee939196f10ecd3d2b6e444e90b95a1fa7b210d987cf689672209dc0 +1 -1
  317. package/npm-cache/_logs/2026-09-22T09_18_57_609Z-debug-0.log +1142 -0
  318. package/npm-cache/_logs/{2026-09-21T07_22_34_855Z-debug-0.log → 2026-09-22T09_19_12_826Z-debug-0.log} +3 -3
  319. package/package.json +1 -1
  320. package/npm-cache/_cacache/content-v2/sha512/9f/ff/eff3ecf0a1e81f5b8309ab84cacaa929c632dee6e9df89e6929a1a61a5ef215da46107d718e4a3432aa1175a090115f09f1f530b8e86c60004af6e35c869 +0 -7318
  321. package/npm-cache/_cacache/content-v2/sha512/a2/1f/ce928f03a5d1dc6fa67b08f116a3c8c33a982df81d8ef08c73e4d745f6cbae3860638d747cd96e95ed73bfd9973c210fcdc3f7b2739fdc3b05cef0714e08 +0 -4436
  322. package/npm-cache/_cacache/content-v2/sha512/b0/76/baaf90d4d82ad773f7c8095a01936a84d0ac87dfbc1e95e597e9cc207e4ae61c675c4b4ea37232300e91e7610a8f6f9cd0be01f3660b54a77ff7851928cd +0 -30450
  323. package/npm-cache/_logs/2026-09-21T07_22_12_263Z-debug-0.log +0 -1146
@@ -4185,7 +4185,7 @@
4185
4185
  "dist-tags": {
4186
4186
  "latest": "1.4.10"
4187
4187
  },
4188
- "_rev": "85-1023074414c86888",
4188
+ "_rev": "87-1a2338f2675dd9be",
4189
4189
  "_id": "readline-sync",
4190
4190
  "readme": "# readlineSync\n\n[![npm](https://img.shields.io/npm/v/readline-sync.svg)](https://www.npmjs.com/package/readline-sync) [![GitHub issues](https://img.shields.io/github/issues/anseki/readline-sync.svg)](https://github.com/anseki/readline-sync/issues) [![dependencies](https://img.shields.io/badge/dependencies-No%20dependency-brightgreen.svg)](package.json) [![license](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE-MIT)\n\nSynchronous [Readline](http://nodejs.org/api/readline.html) for interactively running to have a conversation with the user via a console(TTY).\n\nreadlineSync tries to let your script have a conversation with the user via a console, even when the input/output stream is redirected like `your-script <foo.dat >bar.log`.\n\n<table>\n<tr><td><a href=\"#basic_options\">Basic Options</a></td><td><a href=\"#utility_methods\">Utility Methods</a></td><td><a href=\"#placeholders\">Placeholders</a></td></tr>\n</table>\n\n* Simple case:\n\n```js\nvar readlineSync = require('readline-sync');\n\n// Wait for user's response.\nvar userName = readlineSync.question('May I have your name? ');\nconsole.log('Hi ' + userName + '!');\n\n// Handle the secret text (e.g. password).\nvar favFood = readlineSync.question('What is your favorite food? ', {\n hideEchoBack: true // The typed text on screen is hidden by `*` (default).\n});\nconsole.log('Oh, ' + userName + ' loves ' + favFood + '!');\n```\n\n```console\nMay I have your name? CookieMonster\nHi CookieMonster!\nWhat is your favorite food? ****\nOh, CookieMonster loves tofu!\n```\n\n* Get the user's response by a single key without the Enter key:\n\n```js\nvar readlineSync = require('readline-sync');\nif (readlineSync.keyInYN('Do you want this module?')) {\n // 'Y' key was pressed.\n console.log('Installing now...');\n // Do something...\n} else {\n // Another key was pressed.\n console.log('Searching another...');\n // Do something...\n}\n```\n\n* Let the user choose an item from a list:\n\n```js\nvar readlineSync = require('readline-sync'),\n animals = ['Lion', 'Elephant', 'Crocodile', 'Giraffe', 'Hippo'],\n index = readlineSync.keyInSelect(animals, 'Which animal?');\nconsole.log('Ok, ' + animals[index] + ' goes to your room.');\n```\n\n```console\n[1] Lion\n[2] Elephant\n[3] Crocodile\n[4] Giraffe\n[5] Hippo\n[0] CANCEL\n\nWhich animal? [1...5 / 0]: 2\nOk, Elephant goes to your room.\n```\n\n* An UI like the Range Slider: \n(Press `Z` or `X` key to change a value, and Space Bar to exit)\n\n```js\nvar readlineSync = require('readline-sync'),\n MAX = 60, MIN = 0, value = 30, key;\nconsole.log('\\n\\n' + (new Array(20)).join(' ') +\n '[Z] <- -> [X] FIX: [SPACE]\\n');\nwhile (true) {\n console.log('\\x1B[1A\\x1B[K|' +\n (new Array(value + 1)).join('-') + 'O' +\n (new Array(MAX - value + 1)).join('-') + '| ' + value);\n key = readlineSync.keyIn('',\n {hideEchoBack: true, mask: '', limit: 'zx '});\n if (key === 'z') { if (value > MIN) { value--; } }\n else if (key === 'x') { if (value < MAX) { value++; } }\n else { break; }\n}\nconsole.log('\\nA value the user requested: ' + value);\n```\n\n![sample](screen_03.gif)\n\n* Handle the commands repeatedly, such as the shell interface:\n\n```js\nreadlineSync.promptCLLoop({\n add: function(target, into) {\n console.log(target + ' is added into ' + into + '.');\n // Do something...\n },\n remove: function(target) {\n console.log(target + ' is removed.');\n // Do something...\n },\n bye: function() { return true; }\n});\nconsole.log('Exited');\n```\n\n```console\n> add pic01.png archive\npic01.png is added into archive.\n> delete pic01.png\nRequested command is not available.\n> remove pic01.png\npic01.png is removed.\n> bye\nExited\n```\n\n## <a name=\"installation\"></a>Installation\n\n```console\nnpm install readline-sync\n```\n\n## <a name=\"quick_start\"></a>Quick Start\n\n**How does the user input?**\n\n- [Type a reply to a question, and press the Enter key](#quick_start-a) (A)\n- [Type a keyword like a command in prompt, and press the Enter key](#quick_start-b) (B)\n- [Press a single key without the Enter key](#quick_start-c) (C)\n\n<a name=\"quick_start-a\"></a>**(A) What does the user input?**\n\n- [E-mail address](#utility_methods-questionemail)\n- [New password](#utility_methods-questionnewpassword)\n- [Integer number](#utility_methods-questionint)\n- [Floating-point number](#utility_methods-questionfloat)\n- [Local file/directory path](#utility_methods-questionpath)\n- [Others](#basic_methods-question)\n\n<a name=\"quick_start-b\"></a>**(B) What does your script do?**\n\n- [Receive a parsed command-name and arguments](#utility_methods-promptcl)\n- [Receive an input repeatedly](#utility_methods-promptloop)\n- [Receive a parsed command-name and arguments repeatedly](#utility_methods-promptclloop)\n- [Receive an input with prompt that is similar to that of the user's shell](#utility_methods-promptsimshell)\n- [Others](#basic_methods-prompt)\n\n<a name=\"quick_start-c\"></a>**(C) What does the user do?**\n\n- [Say \"Yes\" or \"No\"](#utility_methods-keyinyn)\n- [Say \"Yes\" or \"No\" explicitly](#utility_methods-keyinynstrict)\n- [Make the running of script continue when ready](#utility_methods-keyinpause)\n- [Choose an item from a list](#utility_methods-keyinselect)\n- [Others](#basic_methods-keyin)\n\n## <a name=\"basic_methods\"></a>Basic Methods\n\nThese are used to control details of the behavior. It is recommended to use the [Utility Methods](#utility_methods) instead of Basic Methods if it satisfy your request.\n\n### <a name=\"basic_methods-question\"></a>`question`\n\n```js\nanswer = readlineSync.question([query[, options]])\n```\n\nDisplay a `query` to the user if it's specified, and then return the input from the user after it has been typed and the Enter key was pressed. \nYou can specify an `options` (see [Basic Options](#basic_options)) to control the behavior (e.g. refusing unexpected input, avoiding trimming white spaces, etc.). **If you let the user input the secret text (e.g. password), you should consider [`hideEchoBack`](#basic_options-hideechoback) option.**\n\nThe `query` may be string, or may not be (e.g. number, Date, Object, etc.). It is converted to string (i.e. `toString` method is called) before it is displayed. (see [Note](#note) also) \nIt can include the [placeholders](#placeholders).\n\nFor example:\n\n```js\nprogram = readlineSync.question('Which program starts do you want? ', {\n defaultInput: 'firefox'\n});\n```\n\n### <a name=\"basic_methods-prompt\"></a>`prompt`\n\n```js\ninput = readlineSync.prompt([options])\n```\n\nDisplay a prompt-sign (see [`prompt`](#basic_options-prompt) option) to the user, and then return the input from the user after it has been typed and the Enter key was pressed. \nYou can specify an `options` (see [Basic Options](#basic_options)) to control the behavior (e.g. refusing unexpected input, avoiding trimming white spaces, etc.).\n\nFor example:\n\n```js\nwhile (true) {\n command = readlineSync.prompt();\n // Do something...\n}\n```\n\n### <a name=\"basic_methods-keyin\"></a>`keyIn`\n\n```js\npressedKey = readlineSync.keyIn([query[, options]])\n```\n\nDisplay a `query` to the user if it's specified, and then return a character as a key immediately it was pressed by the user, **without pressing the Enter key**. Note that the user has no chance to change the input. \nYou can specify an `options` (see [Basic Options](#basic_options)) to control the behavior (e.g. ignoring keys except some keys, checking target key, etc.).\n\nThe `query` is handled the same as that of the [`question`](#basic_methods-question) method.\n\nFor example:\n\n```js\nmenuId = readlineSync.keyIn('Hit 1...5 key: ', {limit: '$<1-5>'});\n```\n\n### <a name=\"basic_methods-setdefaultoptions\"></a>`setDefaultOptions`\n\n```js\ncurrentDefaultOptions = readlineSync.setDefaultOptions([newDefaultOptions])\n```\n\nChange the [Default Options](#basic_options) to the values of properties of `newDefaultOptions` Object. \nAll it takes is to specify options that you want change, because unspecified options are not updated.\n\n## <a name=\"basic_options\"></a>Basic Options\n\n[`prompt`](#basic_options-prompt), [`hideEchoBack`](#basic_options-hideechoback), [`mask`](#basic_options-mask), [`limit`](#basic_options-limit), [`limitMessage`](#basic_options-limitmessage), [`defaultInput`](#basic_options-defaultinput), [`trueValue`, `falseValue`](#basic_options-truevalue_falsevalue), [`caseSensitive`](#basic_options-casesensitive), [`keepWhitespace`](#basic_options-keepwhitespace), [`encoding`](#basic_options-encoding), [`bufferSize`](#basic_options-buffersize), [`print`](#basic_options-print), [`history`](#basic_options-history), [`cd`](#basic_options-cd)\n\nAn `options` Object can be specified to the methods to control the behavior of readlineSync. The options that were not specified to the methods are got from the Default Options. You can change the Default Options by [`setDefaultOptions`](#basic_methods-setdefaultoptions) method anytime, and it is kept until a current process is exited. \nSpecify the options that are often used to the Default Options, and specify temporary options to the methods.\n\nFor example:\n\n```js\nreadlineSync.setDefaultOptions({limit: ['green', 'yellow', 'red']});\na1 = readlineSync.question('Which color of signal? '); // Input is limited to 3 things.\na2 = readlineSync.question('Which color of signal? '); // It's limited yet.\na3 = readlineSync.question('What is your favorite color? ', {limit: null}); // It's unlimited temporarily.\na4 = readlineSync.question('Which color of signal? '); // It's limited again.\nreadlineSync.setDefaultOptions({limit: ['beef', 'chicken']});\na5 = readlineSync.question('Beef or Chicken? '); // Input is limited to new 2 things.\na6 = readlineSync.question('And you? '); // It's limited to 2 things yet.\n```\n\nThe Object as `options` can have following properties.\n\n### <a name=\"basic_options-prompt\"></a>`prompt`\n\n_For `prompt*` methods only_ \n*Type:* string or others \n*Default:* `'> '`\n\nSet the prompt-sign that is displayed to the user by `prompt*` methods. For example you see `> ` that is Node.js's prompt-sign when you run `node` on the command line. \nThis may be string, or may not be (e.g. number, Date, Object, etc.). It is converted to string every time (i.e. `toString` method is called) before it is displayed. (see [Note](#note) also) \nIt can include the [placeholders](#placeholders).\n\nFor example:\n\n```js\nreadlineSync.setDefaultOptions({prompt: '$ '});\n```\n\n```js\n// Display the memory usage always.\nreadlineSync.setDefaultOptions({\n prompt: { // Simple Object that has toString method.\n toString: function() {\n var rss = process.memoryUsage().rss;\n return '[' + (rss > 1024 ? Math.round(rss / 1024) + 'k' : rss) + 'b]$ ';\n }\n }\n});\n```\n\n```console\n[13148kb]$ foo\n[13160kb]$ bar\n[13200kb]$\n```\n\n### <a name=\"basic_options-hideechoback\"></a>`hideEchoBack`\n\n*Type:* boolean \n*Default:* `false`\n\nIf `true` is specified, hide the secret text (e.g. password) which is typed by user on screen by the mask characters (see [`mask`](#basic_options-mask) option).\n\nFor example:\n\n```js\npassword = readlineSync.question('PASSWORD: ', {hideEchoBack: true});\nconsole.log('Login ...');\n```\n\n```console\nPASSWORD: ********\nLogin ...\n```\n\n### <a name=\"basic_options-mask\"></a>`mask`\n\n*Type:* string \n*Default:* `'*'`\n\nSet the mask characters that are shown instead of the secret text (e.g. password) when `true` is specified to [`hideEchoBack`](#basic_options-hideechoback) option. If you want to show nothing, specify `''`. (But it might be not user friendly in some cases.) \n**Note:** In some cases (e.g. when the input stream is redirected on Windows XP), `'*'` or `''` might be used whether other one is specified.\n\nFor example:\n\n```js\nsecret = readlineSync.question('Please whisper sweet words: ', {\n hideEchoBack: true,\n mask: require('chalk').magenta('\\u2665')\n});\n```\n\n![sample](screen_02.gif)\n\n### <a name=\"basic_options-limit\"></a>`limit`\n\nLimit the user's input. \nThe usage differ depending on the method.\n\n#### <a name=\"basic_options-limit-for_question_and_prompt_methods\"></a>For `question*` and `prompt*` methods\n\n*Type:* string, number, RegExp, function or Array \n*Default:* `[]`\n\nAccept only the input that matches value that is specified to this. If the user input others, display a string that is specified to [`limitMessage`](#basic_options-limitmessage) option, and wait for reinput.\n\n* The string is compared with the input. It is affected by [`caseSensitive`](#basic_options-casesensitive) option.\n* The number is compared with the input that is converted to number by `parseFloat()`. For example, it interprets `' 3.14 '`, `'003.1400'`, `'314e-2'` and `'3.14PI'` as `3.14`. And it interprets `'005'`, `'5files'`, `'5kb'` and `'5px'` as `5`.\n* The RegExp tests the input.\n* The function that returns a boolean to indicate whether it matches is called with the input.\n\nOne of above or an Array that includes multiple things (or Array includes Array) can be specified.\n\nFor example:\n\n```js\ncommand = readlineSync.prompt({limit: ['add', 'remove', /^clear( all)?$/]});\n// ** But `promptCL` method should be used instead of this. **\n```\n\n```js\nfile = readlineSync.question('Text File: ', {limit: /\\.txt$/i});\n// ** But `questionPath` method should be used instead of this. **\n```\n\n```js\nip = readlineSync.question('IP Address: ', {limit: function(input) {\n return require('net').isIP(input); // Valid IP Address\n}});\n```\n\n```js\navailableActions = [];\nif (!blockExists()) { availableActions.push('jump'); }\nif (isLarge(place)) { availableActions.push('run'); }\nif (isNew(shoes)) { availableActions.push('kick'); }\nif (isNearby(enemy)) { availableActions.push('punch'); }\naction = readlineSync.prompt({limit: availableActions});\n// ** But `promptCL` method should be used instead of this. **\n```\n\n#### <a name=\"basic_options-limit-for_keyin_method\"></a>For `keyIn*` method\n\n*Type:* string, number or Array \n*Default:* `[]`\n\nAccept only the key that matches value that is specified to this, ignore others. \nSpecify the characters as the key. All strings or Array of those are decomposed into single characters. For example, `'abcde'` or `['a', 'bc', ['d', 'e']]` are the same as `['a', 'b', 'c', 'd', 'e']`. \nThese strings are compared with the input. It is affected by [`caseSensitive`](#basic_options-casesensitive) option.\n\nThe [placeholders](#placeholders) like `'$<a-e>'` are replaced to an Array that is the character list like `['a', 'b', 'c', 'd', 'e']`.\n\nFor example:\n\n```js\ndirection = readlineSync.keyIn('Left or Right? ', {limit: 'lr'}); // 'l' or 'r'\n```\n\n```js\ndice = readlineSync.keyIn('Roll the dice, What will the result be? ',\n {limit: '$<1-6>'}); // range of '1' to '6'\n```\n\n### <a name=\"basic_options-limitmessage\"></a>`limitMessage`\n\n_For `question*` and `prompt*` methods only_ \n*Type:* string \n*Default:* `'Input another, please.$<( [)limit(])>'`\n\nDisplay this to the user when the [`limit`](#basic_options-limit) option is specified and the user input others. \nThe [placeholders](#placeholders) can be included.\n\nFor example:\n\n```js\nfile = readlineSync.question('Name of Text File: ', {\n limit: /\\.txt$/i,\n limitMessage: 'Sorry, $<lastInput> is not text file.'\n});\n```\n\n### <a name=\"basic_options-defaultinput\"></a>`defaultInput`\n\n_For `question*` and `prompt*` methods only_ \n*Type:* string \n*Default:* `''`\n\nIf the user input empty text (i.e. pressed the Enter key only), return this.\n\nFor example:\n\n```js\nlang = readlineSync.question('Which language? ', {defaultInput: 'javascript'});\n```\n\n### <a name=\"basic_options-truevalue_falsevalue\"></a>`trueValue`, `falseValue`\n\n*Type:* string, number, RegExp, function or Array \n*Default:* `[]`\n\nIf the input matches `trueValue`, return `true`. If the input matches `falseValue`, return `false`. In any other case, return the input.\n\n* The string is compared with the input. It is affected by [`caseSensitive`](#basic_options-casesensitive) option.\n* The number is compared with the input that is converted to number by `parseFloat()`. For example, it interprets `' 3.14 '`, `'003.1400'`, `'314e-2'` and `'3.14PI'` as `3.14`. And it interprets `'005'`, `'5files'`, `'5kb'` and `'5px'` as `5`. Note that in `keyIn*` method, the input is every time one character (i.e. the number that is specified must be an integer within the range of `0` to `9`).\n* The RegExp tests the input.\n* The function that returns a boolean to indicate whether it matches is called with the input.\n\nOne of above or an Array that includes multiple things (or Array includes Array) can be specified.\n\nFor example:\n\n```js\nanswer = readlineSync.question('How do you like it? ', {\n trueValue: ['yes', 'yeah', 'yep'],\n falseValue: ['no', 'nah', 'nope']\n});\nif (answer === true) {\n console.log('Let\\'s go!');\n} else if (answer === false) {\n console.log('Oh... It\\'s ok...');\n} else {\n console.log('Sorry. What does \"' + answer + '\" you said mean?');\n}\n```\n\n### <a name=\"basic_options-casesensitive\"></a>`caseSensitive`\n\n*Type:* boolean \n*Default:* `false`\n\nBy default, the string comparisons are case-insensitive (i.e. `a` equals `A`). If `true` is specified, it is case-sensitive, the cases are not ignored (i.e. `a` is different from `A`). \nIt affects: [`limit`](#basic_options-limit), [`trueValue`](#basic_options-truevalue_falsevalue), [`falseValue`](#basic_options-truevalue_falsevalue), some [placeholders](#placeholders), and some [Utility Methods](#utility_methods).\n\n### <a name=\"basic_options-keepwhitespace\"></a>`keepWhitespace`\n\n_For `question*` and `prompt*` methods only_ \n*Type:* boolean \n*Default:* `false`\n\nBy default, remove the leading and trailing white spaces from the input text. If `true` is specified, don't remove those.\n\n### <a name=\"basic_options-encoding\"></a>`encoding`\n\n*Type:* string \n*Default:* `'utf8'`\n\nSet the encoding method of the input and output.\n\n### <a name=\"basic_options-buffersize\"></a>`bufferSize`\n\n_For `question*` and `prompt*` methods only_ \n*Type:* number \n*Default:* `1024`\n\nWhen readlineSync reads from a console directly (without [external program](#note-reading_by_external_program)), use a size `bufferSize` buffer. \nEven if the input by user exceeds it, it's usually no problem, because the buffer is used repeatedly. But some platforms's (e.g. Windows) console might not accept input that exceeds it. And set an enough size. \nNote that this might be limited by [version of Node.js](https://nodejs.org/api/buffer.html#buffer_class_method_buffer_alloc_size_fill_encoding) and environment running your script (Big buffer size is usually not required). (See also: [issue](https://github.com/nodejs/node/issues/4660), [PR](https://github.com/nodejs/node/pull/4682))\n\n### <a name=\"basic_options-print\"></a>`print`\n\n*Type:* function or `undefined` \n*Default:* `undefined`\n\nCall the specified function with every output. The function is given two arguments, `display` as an output text, and a value of [`encoding`](#basic_options-encoding) option.\n\nFor example:\n\n* Pass the plain texts to the Logger (e.g. [log4js](https://github.com/nomiddlename/log4js-node)), after clean the colored texts.\n\n![sample](screen_01.png)\n\n```js\nvar readlineSync = require('readline-sync'),\n chalk = require('chalk'),\n log4js = require('log4js'),\n logger, user, pw, command;\n\nlog4js.configure({appenders: [{type: 'file', filename: 'fooApp.log'}]});\nlogger = log4js.getLogger('fooApp');\n\nreadlineSync.setDefaultOptions({\n print: function(display, encoding)\n { logger.info(chalk.stripColor(display)); }, // Remove ctrl-chars.\n prompt: chalk.red.bold('> ')\n});\n\nconsole.log(chalk.black.bold.bgYellow(' Your Account '));\nuser = readlineSync.question(chalk.gray.underline(' USER NAME ') + ' : ');\npw = readlineSync.question(chalk.gray.underline(' PASSWORD ') + ' : ',\n {hideEchoBack: true});\n// Authorization ...\nconsole.log(chalk.green('Welcome, ' + user + '!'));\ncommand = readlineSync.prompt();\n```\n\n* Output a conversation to a file when an output stream is redirected to record those into a file like `your-script >foo.log`. That is, a conversation isn't outputted to `foo.log` without this code.\n\n```js\nreadlineSync.setDefaultOptions({\n print: function(display, encoding)\n { process.stdout.write(display, encoding); }\n});\nvar name = readlineSync.question('May I have your name? ');\nvar loc = readlineSync.question('Hi ' + name + '! Where do you live? ');\n```\n\n* Let somebody hear our conversation in real time. \nIt just uses a fifo with above sample code that was named `conv.js`.\n\nAnother terminal:\n\n```console\nmkfifo /tmp/fifo\ncat /tmp/fifo\n```\n\nMy terminal:\n\n```console\nnode conv.js >/tmp/fifo\n```\n\n```console\nMay I have your name? Oz\nHi Oz! Where do you live? Emerald City\n```\n\nAnd then, another terminal shows this synchronously:\n\n```console\nMay I have your name? Oz\nHi Oz! Where do you live? Emerald City\n```\n\n### <a name=\"basic_options-history\"></a>`history`\n\n_For `question*` and `prompt*` methods only_ \n*Type:* boolean \n*Default:* `true`\n\nreadlineSync supports a history expansion feature that is similar to that of the shell. If `false` is specified, disable this feature. \n*It keeps a previous input only.* That is, only `!!`, `!-1`, `!!:p` and `!-1:p` like bash or zsh etc. are supported.\n\n* `!!` or `!-1`: Return a previous input.\n* `!!:p` or `!-1:p`: Display a previous input but do not return it, and wait for reinput.\n\nFor example:\n\n```js\nwhile (true) {\n input = readlineSync.prompt();\n console.log('-- You said \"' + input + '\"');\n}\n```\n\n```console\n> hello\n-- You said \"hello\"\n> !!\nhello\n-- You said \"hello\"\n> !!:p\nhello\n> bye\n-- You said \"bye\"\n```\n\n### <a name=\"basic_options-cd\"></a>`cd`\n\n_For `question*` and `prompt*` methods only_ \n*Type:* boolean \n*Default:* `false`\n\nreadlineSync supports the changing the current working directory feature that is similar to the `cd` and `pwd` commands in the shell. If `true` is specified, enable this feature. \nThis helps the user when you let the user input the multiple local files or directories. \nIt supports `cd` and `pwd` commands.\n\n* `cd <path>`: Change the current working directory to `<path>`. The `<path>` can include `~` as the home directory.\n* `pwd`: Display the current working directory.\n\nWhen these were input, do not return, and wait for reinput.\n\nFor example:\n\n```js\nwhile (true) {\n file = readlineSync.questionPath('File: ');\n console.log('-- Specified file is ' + file);\n}\n```\n\n```console\nFile: cd foo-dir/bar-dir\nFile: pwd\n/path/to/foo-dir/bar-dir\nFile: file-a.js\n-- Specified file is /path/to/foo-dir/bar-dir/file-a.js\nFile: file-b.png\n-- Specified file is /path/to/foo-dir/bar-dir/file-b.png\nFile: file-c.html\n-- Specified file is /path/to/foo-dir/bar-dir/file-c.html\n```\n\n## <a name=\"utility_methods\"></a>Utility Methods\n\n[`questionEMail`](#utility_methods-questionemail), [`questionNewPassword`](#utility_methods-questionnewpassword), [`questionInt`](#utility_methods-questionint), [`questionFloat`](#utility_methods-questionfloat), [`questionPath`](#utility_methods-questionpath), [`promptCL`](#utility_methods-promptcl), [`promptLoop`](#utility_methods-promptloop), [`promptCLLoop`](#utility_methods-promptclloop), [`promptSimShell`](#utility_methods-promptsimshell), [`keyInYN`](#utility_methods-keyinyn), [`keyInYNStrict`](#utility_methods-keyinynstrict), [`keyInPause`](#utility_methods-keyinpause), [`keyInSelect`](#utility_methods-keyinselect)\n\nThese are convenient methods that are extended [Basic Methods](#basic_methods) to be used easily.\n\n### <a name=\"utility_methods-questionemail\"></a>`questionEMail`\n\n```js\nemail = readlineSync.questionEMail([query[, options]])\n```\n\nDisplay a `query` to the user if it's specified, and then accept only a valid e-mail address, and then return it after the Enter key was pressed.\n\nThe `query` is handled the same as that of the [`question`](#basic_methods-question) method. \nThe default value of `query` is `'Input e-mail address: '`.\n\n**Note:** The valid e-mail address requirement is a willful violation of [RFC5322](http://tools.ietf.org/html/rfc5322), this is defined in [HTML5](http://www.w3.org/TR/html5/forms.html). This works enough to prevent the user mistaking. If you want to change it, specify [`limit`](#basic_options-limit) option.\n\nFor example:\n\n```js\nemail = readlineSync.questionEMail();\nconsole.log('-- E-mail is ' + email);\n```\n\n```console\nInput e-mail address: abc\nInput valid e-mail address, please.\nInput e-mail address: mail@example.com\n-- E-mail is mail@example.com\n```\n\n#### <a name=\"utility_methods-questionemail-options\"></a>Options\n\nThe following options have independent default value that is not affected by [Default Options](#basic_options).\n\n| Option Name | Default Value |\n|-------------------|---------------|\n| [`hideEchoBack`](#basic_options-hideechoback) | `false` |\n| [`limit`](#basic_options-limit) | RegExp by [HTML5](http://www.w3.org/TR/html5/forms.html) |\n| [`limitMessage`](#basic_options-limitmessage) | `'Input valid e-mail address, please.'` |\n| [`trueValue`](#basic_options-truevalue_falsevalue) | `null` |\n| [`falseValue`](#basic_options-truevalue_falsevalue) | `null` |\n\nThe following options work as shown in the [Basic Options](#basic_options) section.\n\n<table>\n<tr><td><a href=\"#basic_options-mask\"><code>mask</code></a></td><td><a href=\"#basic_options-defaultinput\"><code>defaultInput</code></a></td><td><a href=\"#basic_options-casesensitive\"><code>caseSensitive</code></a></td><td><a href=\"#basic_options-encoding\"><code>encoding</code></a></td><td><a href=\"#basic_options-buffersize\"><code>bufferSize</code></a></td></tr>\n<tr><td><a href=\"#basic_options-print\"><code>print</code></a></td><td><a href=\"#basic_options-history\"><code>history</code></a></td></tr>\n</table>\n\n### <a name=\"utility_methods-questionnewpassword\"></a>`questionNewPassword`\n\n```js\npassword = readlineSync.questionNewPassword([query[, options]])\n```\n\nDisplay a `query` to the user if it's specified, and then accept only a valid password, and then request same one again, and then return it after the Enter key was pressed. \nIt's the password, or something that is the secret text like the password. \nYou can specify the valid password requirement to the options.\n\nThe `query` is handled the same as that of the [`question`](#basic_methods-question) method. \nThe default value of `query` is `'Input new password: '`.\n\n**Note:** Only the form of password is checked. Check it more if you want. For example, [zxcvbn](https://github.com/dropbox/zxcvbn) is password strength estimation library.\n\nFor example:\n\n```js\npassword = readlineSync.questionNewPassword();\nconsole.log('-- Password is ' + password);\n```\n\n```console\nInput new password: ************\nIt can include: 0...9, A...Z, a...z, !\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\nAnd the length must be: 12...24\nInput new password: *************\nReinput a same one to confirm it: *************\nIt differs from first one. Hit only the Enter key if you want to retry from first one.\nReinput a same one to confirm it: *************\n-- Password is _my_password_\n```\n\n#### <a name=\"utility_methods-questionnewpassword-options\"></a>Options\n\nThe following options have independent default value that is not affected by [Default Options](#basic_options).\n\n| Option Name | Default Value |\n|-------------------|---------------|\n| [`hideEchoBack`](#basic_options-hideechoback) | `true` |\n| [`mask`](#basic_options-mask) | `'*'` |\n| [`limitMessage`](#basic_options-limitmessage) | `'It can include: $<charlist>\\nAnd the length must be: $<length>'` |\n| [`trueValue`](#basic_options-truevalue_falsevalue) | `null` |\n| [`falseValue`](#basic_options-truevalue_falsevalue) | `null` |\n| [`caseSensitive`](#basic_options-casesensitive) | `true` |\n\nThe following options work as shown in the [Basic Options](#basic_options) section.\n\n<table>\n<tr><td><a href=\"#basic_options-defaultinput\"><code>defaultInput</code></a></td><td><a href=\"#basic_options-keepwhitespace\"><code>keepWhitespace</code></a></td><td><a href=\"#basic_options-encoding\"><code>encoding</code></a></td><td><a href=\"#basic_options-buffersize\"><code>bufferSize</code></a></td><td><a href=\"#basic_options-print\"><code>print</code></a></td></tr>\n</table>\n\nAnd the following additional options are available.\n\n##### <a name=\"utility_methods-questionnewpassword-options-charlist\"></a>`charlist`\n\n*Type:* string \n*Default:* `'$<!-~>'`\n\nA string as the characters that can be included in the password. For example, if `'abc123'` is specified, the passwords that include any character other than these 6 characters are refused. \nThe [placeholders](#placeholders) like `'$<a-e>'` are replaced to the characters like `'abcde'`. \n\nFor example, let the user input a password that is created with alphabet and some symbols:\n\n```js\npassword = readlineSync.questionNewPassword('PASSWORD: ', {charlist: '$<a-z>#$@%'});\n```\n\n##### <a name=\"utility_methods-questionnewpassword-options-min_max\"></a>`min`, `max`\n\n*Type:* number \n*Default:* `min`: `12`, `max`: `24`\n\n`min`: A number as a minimum length of the password. \n`max`: A number as a maximum length of the password.\n\n##### <a name=\"utility_methods-questionnewpassword-options-confirmmessage\"></a>`confirmMessage`\n\n*Type:* string or others \n*Default:* `'Reinput a same one to confirm it: '`\n\nA message that lets the user input the same password again. \nIt can include the [placeholders](#placeholders). \nIf this is not string, it is converted to string (i.e. `toString` method is called).\n\n##### <a name=\"utility_methods-questionnewpassword-options-unmatchmessage\"></a>`unmatchMessage`\n\n*Type:* string or others \n*Default:* `'It differs from first one. Hit only the Enter key if you want to retry from first one.'`\n\nA warning message that is displayed when the second input did not match first one. \nThis is converted the same as the [`confirmMessage`](#utility_methods-questionnewpassword-options-confirmmessage) option.\n\n#### <a name=\"utility_methods-questionnewpassword-additional_placeholders\"></a>Additional Placeholders\n\nThe following additional [placeholder](#placeholders) parameters are available.\n\n##### <a name=\"utility_methods-questionnewpassword-additional_placeholders-charlist\"></a>`charlist`\n\nA current value of [`charlist`](#utility_methods-questionnewpassword-options-charlist) option that is converted to human readable if possible. (e.g. `'A...Z'`)\n\n##### <a name=\"utility_methods-questionnewpassword-additional_placeholders-length\"></a>`length`\n\nA current value of [`min` and `max`](#utility_methods-questionnewpassword-options-min_max) option that is converted to human readable. (e.g. `'12...24'`)\n\n### <a name=\"utility_methods-questionint\"></a>`questionInt`\n\n```js\nnumInt = readlineSync.questionInt([query[, options]])\n```\n\nDisplay a `query` to the user if it's specified, and then accept only an input that can be interpreted as an integer, and then return the number (not string) after the Enter key was pressed. \nThis parses the input as much as possible by `parseInt()`. For example, it interprets `' 5 '`, `'5.6'`, `'005'`, `'5files'`, `'5kb'` and `'5px'` as `5`.\n\nThe `query` is handled the same as that of the [`question`](#basic_methods-question) method.\n\n#### <a name=\"utility_methods-questionint-options\"></a>Options\n\nThe following option has independent default value that is not affected by [Default Options](#basic_options).\n\n| Option Name | Default Value |\n|-------------------|---------------|\n| [`limitMessage`](#basic_options-limitmessage) | `'Input valid number, please.'` |\n\nThe following options work as shown in the [Basic Options](#basic_options) section.\n\n<table>\n<tr><td><a href=\"#basic_options-hideechoback\"><code>hideEchoBack</code></a></td><td><a href=\"#basic_options-mask\"><code>mask</code></a></td><td><a href=\"#basic_options-defaultinput\"><code>defaultInput</code></a></td><td><a href=\"#basic_options-encoding\"><code>encoding</code></a></td><td><a href=\"#basic_options-buffersize\"><code>bufferSize</code></a></td></tr>\n<tr><td><a href=\"#basic_options-print\"><code>print</code></a></td><td><a href=\"#basic_options-history\"><code>history</code></a></td></tr>\n</table>\n\n### <a name=\"utility_methods-questionfloat\"></a>`questionFloat`\n\n```js\nnumFloat = readlineSync.questionFloat([query[, options]])\n```\n\nDisplay a `query` to the user if it's specified, and then accept only an input that can be interpreted as a floating-point number, and then return the number (not string) after the Enter key was pressed. \nThis parses the input as much as possible by `parseFloat()`. For example, it interprets `' 3.14 '`, `'003.1400'`, `'314e-2'` and `'3.14PI'` as `3.14`.\n\nThe `query` is handled the same as that of the [`question`](#basic_methods-question) method.\n\n#### <a name=\"utility_methods-questionfloat-options\"></a>Options\n\nThe following option has independent default value that is not affected by [Default Options](#basic_options).\n\n| Option Name | Default Value |\n|-------------------|---------------|\n| [`limitMessage`](#basic_options-limitmessage) | `'Input valid number, please.'` |\n\nThe following options work as shown in the [Basic Options](#basic_options) section.\n\n<table>\n<tr><td><a href=\"#basic_options-hideechoback\"><code>hideEchoBack</code></a></td><td><a href=\"#basic_options-mask\"><code>mask</code></a></td><td><a href=\"#basic_options-defaultinput\"><code>defaultInput</code></a></td><td><a href=\"#basic_options-encoding\"><code>encoding</code></a></td><td><a href=\"#basic_options-buffersize\"><code>bufferSize</code></a></td></tr>\n<tr><td><a href=\"#basic_options-print\"><code>print</code></a></td><td><a href=\"#basic_options-history\"><code>history</code></a></td></tr>\n</table>\n\n### <a name=\"utility_methods-questionpath\"></a>`questionPath`\n\n```js\npath = readlineSync.questionPath([query[, options]])\n```\n\nDisplay a `query` to the user if it's specified, and then accept only a valid local file or directory path, and then return an absolute path after the Enter key was pressed. \nThe `~` that is input by the user is replaced to the home directory. \nYou can specify the valid local file or directory path requirement to the options. And you can make it create a new file or directory when it doesn't exist. \n\nIt is recommended to use this method with the [`cd`](#basic_options-cd) option. (Default: `true`)\n\nThe `query` is handled the same as that of the [`question`](#basic_methods-question) method. \nThe default value of `query` is `'Input path (you can \"cd\" and \"pwd\"): '`.\n\nFor example:\n\n```js\nsourceFile = readlineSync.questionPath('Read from: ', {\n isFile: true\n});\nconsole.log('-- sourceFile: ' + sourceFile);\n\nsaveDir = readlineSync.questionPath('Save to: ', {\n isDirectory: true,\n exists: null,\n create: true\n});\nconsole.log('-- saveDir: ' + saveDir);\n```\n\n```console\nRead from: ~/fileA\nNo such file or directory: /home/user/fileA\nInput valid path, please.\nRead from: pwd\n/path/to/work\nRead from: cd ~/project-1\nRead from: fileA\n-- sourceFile: /home/user/project-1/fileA\nSave to: ~/deploy/data\n-- saveDir: /home/user/deploy/data\n```\n\n#### <a name=\"utility_methods-questionpath-options\"></a>Options\n\nThe following options have independent default value that is not affected by [Default Options](#basic_options).\n\n| Option Name | Default Value |\n|-------------------|---------------|\n| [`hideEchoBack`](#basic_options-hideechoback) | `false` |\n| [`limitMessage`](#basic_options-limitmessage) | `'$<error(\\n)>Input valid path, please.$<( Min:)min>$<( Max:)max>'` |\n| [`history`](#basic_options-history) | `true` |\n| [`cd`](#basic_options-cd) | `true` |\n\nThe following options work as shown in the [Basic Options](#basic_options) section.\n\n<table>\n<tr><td><a href=\"#basic_options-mask\"><code>mask</code></a></td><td><a href=\"#basic_options-defaultinput\"><code>defaultInput</code></a></td><td><a href=\"#basic_options-encoding\"><code>encoding</code></a></td><td><a href=\"#basic_options-buffersize\"><code>bufferSize</code></a></td><td><a href=\"#basic_options-print\"><code>print</code></a></td></tr>\n</table>\n\nAnd the following additional options are available.\n\n**Note:** It does not check the coherency about a combination of the options as the path requirement. For example, the `{exists: false, isFile: true}` never check that it is a file because it is limited to the path that does not exist.\n\n##### <a name=\"utility_methods-questionpath-options-exists\"></a>`exists`\n\n*Type:* boolean or others \n*Default:* `true`\n\nIf `true` is specified, accept only a file or directory path that exists. If `false` is specified, accept only a file or directory path that does *not* exist. \nIn any other case, the existence is not checked.\n\n##### <a name=\"utility_methods-questionpath-options-min_max\"></a>`min`, `max`\n\n*Type:* number or others \n*Default:* `undefined`\n\n`min`: A number as a minimum size of the file that is accepted. \n`max`: A number as a maximum size of the file that is accepted. \nIf it is not specified or `0` is specified, the size is not checked. (A size of directory is `0`.)\n\n##### <a name=\"utility_methods-questionpath-options-isfile_isdirectory\"></a>`isFile`, `isDirectory`\n\n*Type:* boolean \n*Default:* `false`\n\n`isFile`: If `true` is specified, accept only a file path. \n`isDirectory`: If `true` is specified, accept only a directory path.\n\n##### <a name=\"utility_methods-questionpath-options-validate\"></a>`validate`\n\n*Type:* function or `undefined` \n*Default:* `undefined`\n\nIf a function that returns `true` or an error message is specified, call it with a path that was input, and accept the input when the function returned `true`. \nIf the function returned a string as an error message, that message is got by the [`error`](#utility_methods-questionpath-additional_placeholders-error) additional [placeholder](#placeholders) parameter. \nA path that was input is parsed before it is passed to the function. `~` is replaced to a home directory, and a path is converted to an absolute path. \nThis is also a return value from this method.\n\nFor example, accept only PNG file or tell it to the user:\n\n```js\nimageFile = readlineSync.questionPath('Image File: ', {\n validate: function(path) { return /\\.png$/i.test(path) || 'It is not PNG'; }\n});\n```\n\n##### <a name=\"utility_methods-questionpath-options-create\"></a>`create`\n\n*Type:* boolean \n*Default:* `false`\n\nIf `true` is specified, create a file or directory as a path that was input when it doesn't exist. If `true` is specified to the [`isDirectory`](#utility_methods-questionpath-options-isfile_isdirectory) option, create a directory, otherwise a file. \nIt does not affect the existence check. Therefore, you can get a new file or directory path anytime by specifying: `{exists: false, create: true}`\n\n#### <a name=\"utility_methods-questionpath-additional_placeholders\"></a>Additional Placeholders\n\nThe following additional [placeholder](#placeholders) parameters are available.\n\n##### <a name=\"utility_methods-questionpath-additional_placeholders-error\"></a>`error`\n\nAn error message when the input was not accepted. \nThis value is set by readlineSync, or the function that was specified to [`validate`](#utility_methods-questionpath-options-validate) option.\n\n##### <a name=\"utility_methods-questionpath-additional_placeholders-min_max\"></a>`min`, `max`\n\nA current value of [`min` and `max`](#utility_methods-questionpath-options-min_max) option.\n\n### <a name=\"utility_methods-promptcl\"></a>`promptCL`\n\n```js\nargsArray = readlineSync.promptCL([commandHandler[, options]])\n```\n\nDisplay a prompt-sign (see [`prompt`](#basic_options-prompt) option) to the user, and then consider the input as a command-line and parse it, and then return a result after the Enter key was pressed. \nA return value is an Array that includes the tokens that were parsed. It parses the input from the user as the command-line, and it interprets whitespaces, quotes, etc., and it splits it to tokens properly. Usually, a first element of the Array is command-name, and remaining elements are arguments.\n\nFor example:\n\n```js\nargsArray = readlineSync.promptCL();\nconsole.log(argsArray.join('\\n'));\n```\n\n```console\n> command arg \"arg\" \" a r g \" \"\" 'a\"r\"g' \"a\"\"rg\" \"arg\ncommand\narg\narg\n a r g \n\na\"r\"g\narg\narg\n```\n\n#### <a name=\"utility_methods-promptcl-commandhandler\"></a>`commandHandler`\n\nBy using the `commandHandler` argument, this method will come into its own. Specifying the Object to this argument has the more merit. And it has the more merit for [`promptCLLoop`](#utility_methods-promptclloop) method. \n\nIf a function is specified to `commandHandler` argument, it is just called with a parsed Array as an argument list of the function. And `this` is an original input string, in the function.\n\nFor example, the following 2 codes work same except that `this` is enabled in the second one:\n\n```js\nargsArray = readlineSync.promptCL();\nif (argsArray[0] === 'add') {\n console.log(argsArray[1] + ' is added.');\n} else if (argsArray[0] === 'copy') {\n console.log(argsArray[1] + ' is copied to ' + argsArray[2] + '.');\n}\n```\n\n```js\nreadlineSync.promptCL(function(command, arg1, arg2) {\n console.log('You want to: ' + this); // All of command-line.\n if (command === 'add') {\n console.log(arg1 + ' is added.');\n } else if (command === 'copy') {\n console.log(arg1 + ' is copied to ' + arg2 + '.');\n }\n});\n```\n\nIf an Object that has properties named as the command-name is specified, the command-name is interpreted, and a function as the value of matched property is called. A function is chosen properly by handling case of the command-name in accordance with the [`caseSensitive`](#basic_options-casesensitive) option. \nThe function is called with a parsed Array that excludes a command-name (i.e. first element is removed from the Array) as an argument list of the function. \nThat is, a structure of the `commandHandler` Object looks like:\n\n```js\n{\n commandA: function(arg) { ... }, // commandA requires one argument.\n commandB: function(arg1, arg2) { ... }, // readlineSync doesn't care those.\n commandC: function() { ... } // Of course, it can also ignore all.\n}\n```\n\nreadlineSync just receives the arguments from the user and passes those to these functions without checking. The functions may have to check whether the required argument was input by the user, and more validate those.\n\nFor example, the following code works same to the above code:\n\n```js\nreadlineSync.promptCL({\n add: function(element) { // It's called by also \"ADD\", \"Add\", \"aDd\", etc..\n console.log(element + ' is added.');\n },\n copy: function(from, to) {\n console.log(from + ' is copied to ' + to + '.');\n }\n});\n```\n\nIf the matched property is not found in the Object, a `_` property is chosen, and the function as the value of this property is called with a parsed Array as an argument list of the function. Note that this includes a command-name. That is, the function looks like `function(command, arg1, arg2, ...) { ... }`. \nAnd if the Object doesn't have a `_` property, any command that the matched property is not found in the Object is refused.\n\nFor example:\n\n```js\nreadlineSync.promptCL({\n copy: function(from, to) { // command-name is not included.\n console.log(from + ' is copied to ' + to + '.');\n },\n _: function(command) { // command-name is included.\n console.log('Sorry, ' + command + ' is not available.');\n }\n});\n```\n\n#### <a name=\"utility_methods-promptcl-options\"></a>Options\n\nThe following options have independent default value that is not affected by [Default Options](#basic_options).\n\n| Option Name | Default Value |\n|-------------------|---------------|\n| [`hideEchoBack`](#basic_options-hideechoback) | `false` |\n| [`limitMessage`](#basic_options-limitmessage) | `'Requested command is not available.'` |\n| [`caseSensitive`](#basic_options-casesensitive) | `false` |\n| [`history`](#basic_options-history) | `true` |\n\nThe following options work as shown in the [Basic Options](#basic_options) section.\n\n<table>\n<tr><td><a href=\"#basic_options-prompt\"><code>prompt</code></a></td><td><a href=\"#basic_options-mask\"><code>mask</code></a></td><td><a href=\"#basic_options-defaultinput\"><code>defaultInput</code></a></td><td><a href=\"#basic_options-encoding\"><code>encoding</code></a></td><td><a href=\"#basic_options-buffersize\"><code>bufferSize</code></a></td></tr>\n<tr><td><a href=\"#basic_options-print\"><code>print</code></a></td><td><a href=\"#basic_options-cd\"><code>cd</code></a></td></tr>\n</table>\n\n### <a name=\"utility_methods-promptloop\"></a>`promptLoop`\n\n```js\nreadlineSync.promptLoop(inputHandler[, options])\n```\n\nDisplay a prompt-sign (see [`prompt`](#basic_options-prompt) option) to the user, and then call `inputHandler` function with the input from the user after it has been typed and the Enter key was pressed. Do these repeatedly until `inputHandler` function returns `true`.\n\nFor example, the following 2 codes work same:\n\n```js\nwhile (true) {\n input = readlineSync.prompt();\n console.log('-- You said \"' + input + '\"');\n if (input === 'bye') {\n break;\n }\n}\nconsole.log('It\\'s exited from loop.');\n```\n\n```js\nreadlineSync.promptLoop(function(input) {\n console.log('-- You said \"' + input + '\"');\n return input === 'bye';\n});\nconsole.log('It\\'s exited from loop.');\n```\n\n```console\n> hello\n-- You said \"hello\"\n> good morning\n-- You said \"good morning\"\n> bye\n-- You said \"bye\"\nIt's exited from loop.\n```\n\n#### <a name=\"utility_methods-promptloop-options\"></a>Options\n\nThe following options have independent default value that is not affected by [Default Options](#basic_options).\n\n| Option Name | Default Value |\n|-------------------|---------------|\n| [`hideEchoBack`](#basic_options-hideechoback) | `false` |\n| [`trueValue`](#basic_options-truevalue_falsevalue) | `null` |\n| [`falseValue`](#basic_options-truevalue_falsevalue) | `null` |\n| [`caseSensitive`](#basic_options-casesensitive) | `false` |\n| [`history`](#basic_options-history) | `true` |\n\nThe other options work as shown in the [Basic Options](#basic_options) section.\n\n### <a name=\"utility_methods-promptclloop\"></a>`promptCLLoop`\n\n```js\nreadlineSync.promptCLLoop([commandHandler[, options]])\n```\n\nExecute [`promptCL`](#utility_methods-promptcl) method repeatedly until chosen [`commandHandler`](#utility_methods-promptcl-commandhandler) returns `true`. \nThe [`commandHandler`](#utility_methods-promptcl-commandhandler) may be a function that is called like:\n\n```js\nexit = allCommands(command, arg1, arg2, ...);\n```\n\nor an Object that has the functions that are called like:\n\n```js\nexit = foundCommand(arg1, arg2, ...);\n```\n\nSee [`promptCL`](#utility_methods-promptcl) method for details. \nThis method looks like a combination of [`promptCL`](#utility_methods-promptcl) method and [`promptLoop`](#utility_methods-promptloop) method.\n\nFor example:\n\n```js\nreadlineSync.promptCLLoop({\n add: function(element) {\n console.log(element + ' is added.');\n },\n copy: function(from, to) {\n console.log(from + ' is copied to ' + to + '.');\n },\n bye: function() { return true; }\n});\nconsole.log('It\\'s exited from loop.');\n```\n\n```console\n> add \"New Hard Disk\"\nNew Hard Disk is added.\n> move filesOnOld \"New Hard Disk\"\nRequested command is not available.\n> copy filesOnOld \"New Hard Disk\"\nfilesOnOld is copied to New Hard Disk.\n> bye\nIt's exited from loop.\n```\n\n#### <a name=\"utility_methods-promptclloop-options\"></a>Options\n\nThe following options have independent default value that is not affected by [Default Options](#basic_options).\n\n| Option Name | Default Value |\n|-------------------|---------------|\n| [`hideEchoBack`](#basic_options-hideechoback) | `false` |\n| [`limitMessage`](#basic_options-limitmessage) | `'Requested command is not available.'` |\n| [`caseSensitive`](#basic_options-casesensitive) | `false` |\n| [`history`](#basic_options-history) | `true` |\n\nThe following options work as shown in the [Basic Options](#basic_options) section.\n\n<table>\n<tr><td><a href=\"#basic_options-prompt\"><code>prompt</code></a></td><td><a href=\"#basic_options-mask\"><code>mask</code></a></td><td><a href=\"#basic_options-defaultinput\"><code>defaultInput</code></a></td><td><a href=\"#basic_options-encoding\"><code>encoding</code></a></td><td><a href=\"#basic_options-buffersize\"><code>bufferSize</code></a></td></tr>\n<tr><td><a href=\"#basic_options-print\"><code>print</code></a></td><td><a href=\"#basic_options-cd\"><code>cd</code></a></td></tr>\n</table>\n\n### <a name=\"utility_methods-promptsimshell\"></a>`promptSimShell`\n\n```js\ninput = readlineSync.promptSimShell([options])\n```\n\nDisplay a prompt-sign that is similar to that of the user's shell to the user, and then return the input from the user after it has been typed and the Enter key was pressed. \nThis method displays a prompt-sign like:\n\nOn Windows:\n\n```console\nC:\\Users\\User\\Path\\To\\Directory>\n```\n\nOn others:\n\n```console\nuser@host:~/path/to/directory$ \n```\n\n#### <a name=\"utility_methods-promptsimshell-options\"></a>Options\n\nThe following options have independent default value that is not affected by [Default Options](#basic_options).\n\n| Option Name | Default Value |\n|-------------------|---------------|\n| [`hideEchoBack`](#basic_options-hideechoback) | `false` |\n| [`history`](#basic_options-history) | `true` |\n\nThe other options other than [`prompt`](#basic_options-prompt) option work as shown in the [Basic Options](#basic_options) section.\n\n### <a name=\"utility_methods-keyinyn\"></a>`keyInYN`\n\n```js\nboolYesOrEmpty = readlineSync.keyInYN([query[, options]])\n```\n\nDisplay a `query` to the user if it's specified, and then return a boolean or an empty string immediately a key was pressed by the user, **without pressing the Enter key**. Note that the user has no chance to change the input. \nThis method works like the `window.confirm` method of web browsers. A return value means \"Yes\" or \"No\" the user said. It differ depending on the pressed key:\n\n* `Y`: `true`\n* `N`: `false`\n* other: `''`\n\nThe `query` is handled the same as that of the [`question`](#basic_methods-question) method. \nThe default value of `query` is `'Are you sure? '`.\n\nThe keys other than `Y` and `N` are also accepted (If you want to know a user's wish explicitly, use [`keyInYNStrict`](#utility_methods-keyinynstrict) method). Therefore, if you let the user make an important decision (e.g. files are removed), check whether the return value is not *falsy*. That is, a default is \"No\".\n\nFor example:\n\n```js\nif (!readlineSync.keyInYN('Do you want to install this?')) {\n // Key that is not `Y` was pressed.\n process.exit();\n}\n// Do something...\n```\n\nOr if you let the user stop something that must be done (e.g. something about the security), check whether the return value is `false` explicitly. That is, a default is \"Yes\".\n\nFor example:\n\n```js\n// Don't use `(!readlineSync.keyInYN())`.\nif (readlineSync.keyInYN('Continue virus scan?') === false) {\n // `N` key was pressed.\n process.exit();\n}\n// Continue...\n```\n\n#### <a name=\"utility_methods-keyinyn-options\"></a>Options\n\nThe following options work as shown in the [Basic Options](#basic_options) section.\n\n<table>\n<tr><td><a href=\"#basic_options-encoding\"><code>encoding</code></a></td><td><a href=\"#basic_options-print\"><code>print</code></a></td></tr>\n</table>\n\nAnd the following additional option is available.\n\n##### <a name=\"utility_methods-keyinyn-options-guide\"></a>`guide`\n\n*Type:* boolean \n*Default:* `true`\n\nIf `true` is specified, a string `'[y/n]'` as guide for the user is added to `query`. And `':'` is moved to the end of `query`, or it is added.\n\nFor example:\n\n```js\nreadlineSync.keyInYN('Do you like me?'); // No colon\nreadlineSync.keyInYN('Really? :'); // Colon already exists\n```\n\n```console\nDo you like me? [y/n]: y\nReally? [y/n]: y\n```\n\n### <a name=\"utility_methods-keyinynstrict\"></a>`keyInYNStrict`\n\n```js\nboolYes = readlineSync.keyInYNStrict([query[, options]])\n```\n\nDisplay a `query` to the user if it's specified, and then accept only `Y` or `N` key, and then return a boolean immediately it was pressed by the user, **without pressing the Enter key**. Note that the user has no chance to change the input. \nThis method works like the `window.confirm` method of web browsers. A return value means \"Yes\" or \"No\" the user said. It differ depending on the pressed key:\n\n* `Y`: `true`\n* `N`: `false`\n\nThe `query` is handled the same as that of the [`question`](#basic_methods-question) method. \nThe default value of `query` is `'Are you sure? '`.\n\nA key other than `Y` and `N` is not accepted. That is, a return value has no default. Therefore, the user has to tell an own wish explicitly. If you want to know a user's wish easily, use [`keyInYN`](#utility_methods-keyinyn) method.\n\nThis method works same to [`keyInYN`](#utility_methods-keyinyn) method except that this accept only `Y` or `N` key (Therefore, a return value is boolean every time). The options also work same to [`keyInYN`](#utility_methods-keyinyn) method.\n\n### <a name=\"utility_methods-keyinpause\"></a>`keyInPause`\n\n```js\nreadlineSync.keyInPause([query[, options]])\n```\n\nDisplay a `query` to the user if it's specified, and then just wait for a key to be pressed by the user. \nThis method works like the `window.alert` method of web browsers. This is used to make the running of script pause and show something to the user, or wait for the user to be ready. \nBy default, any key is accepted (See: [Note](#utility_methods-keyinpause-note)). You can change this behavior by specifying [`limit`](#basic_options-limit) option (e.g. accept only a Space Bar).\n\nThe `query` is handled the same as that of the [`question`](#basic_methods-question) method. \nThe default value of `query` is `'Continue...'`.\n\nFor example:\n\n```js\n// Have made the preparations for something...\nconsole.log('==== Information of Your Computer ====');\nconsole.log(info); // This can be `query`.\nreadlineSync.keyInPause();\nconsole.log('It\\'s executing now...');\n// Do something...\n```\n\n```console\n==== Information of Your Computer ====\nFOO: 123456\nBAR: abcdef\nContinue... (Hit any key)\nIt's executing now...\n```\n\n#### <a name=\"utility_methods-keyinpause-options\"></a>Options\n\nThe following option has independent default value that is not affected by [Default Options](#basic_options).\n\n| Option Name | Default Value |\n|-------------------|---------------|\n| [`limit`](#basic_options-limit) | `null` |\n\nThe following options work as shown in the [Basic Options](#basic_options) section.\n\n<table>\n<tr><td><a href=\"#basic_options-casesensitive\"><code>caseSensitive</code></a></td><td><a href=\"#basic_options-encoding\"><code>encoding</code></a></td><td><a href=\"#basic_options-print\"><code>print</code></a></td></tr>\n</table>\n\nAnd the following additional option is available.\n\n##### <a name=\"utility_methods-keyinpause-options-guide\"></a>`guide`\n\n*Type:* boolean \n*Default:* `true`\n\nIf `true` is specified, a string `'(Hit any key)'` as guide for the user is added to `query`.\n\nFor example:\n\n```js\nreadlineSync.keyInPause('It\\'s pausing now...');\n```\n\n```console\nIt's pausing now... (Hit any key)\n```\n\n#### <a name=\"utility_methods-keyinpause-note\"></a>Note\n\nControl keys including Enter key are not accepted by `keyIn*` methods. \nIf you want to wait until the user presses Enter key, use `question*` methods instead of `keyIn*` methods. For example:\n\n```js\nreadlineSync.question('Hit Enter key to continue.', {hideEchoBack: true, mask: ''});\n```\n\n### <a name=\"utility_methods-keyinselect\"></a>`keyInSelect`\n\n```js\nindex = readlineSync.keyInSelect(items[, query[, options]])\n```\n\nDisplay the list that was created with the `items` Array, and the `query` to the user if it's specified, and then return the number as an index of the `items` Array immediately it was chosen by pressing a key by the user, **without pressing the Enter key**. Note that the user has no chance to change the input.\n\nThe `query` is handled the same as that of the [`question`](#basic_methods-question) method. \nThe default value of `query` is `'Choose one from list: '`.\n\nThe minimum length of `items` Array is 1 and maximum length is 35. These elements are displayed as item list. A key to let the user choose an item is assigned to each item automatically in sequence like \"1, 2, 3 ... 9, A, B, C ...\". A number as an index of the `items` Array that corresponds to a chosen item by the user is returned.\n\n**Note:** Even if the `items` Array has only less than 35 items, a long Array that forces an user to scroll the list may irritate the user. Remember, the user might be in a console environment that doesn't support scrolling the screen. If you want to use a long `items` Array (e.g. more than 10 items), you should consider a \"Pagination\". (See [example](https://github.com/anseki/readline-sync/issues/60#issuecomment-324533678).)\n\nFor example:\n\n```js\nframeworks = ['Express', 'hapi', 'flatiron', 'MEAN.JS', 'locomotive'];\nindex = readlineSync.keyInSelect(frameworks, 'Which framework?');\nconsole.log(frameworks[index] + ' is enabled.');\n```\n\n```console\n[1] Express\n[2] hapi\n[3] flatiron\n[4] MEAN.JS\n[5] locomotive\n[0] CANCEL\n\nWhich framework? [1...5 / 0]: 2\nhapi is enabled.\n```\n\n#### <a name=\"utility_methods-keyinselect-options\"></a>Options\n\nThe following option has independent default value that is not affected by [Default Options](#basic_options).\n\n| Option Name | Default Value |\n|-------------------|---------------|\n| [`hideEchoBack`](#basic_options-hideechoback) | `false` |\n\nThe following options work as shown in the [Basic Options](#basic_options) section.\n\n<table>\n<tr><td><a href=\"#basic_options-mask\"><code>mask</code></a></td><td><a href=\"#basic_options-encoding\"><code>encoding</code></a></td><td><a href=\"#basic_options-print\"><code>print</code></a></td></tr>\n</table>\n\nAnd the following additional options are available.\n\n##### <a name=\"utility_methods-keyinselect-options-guide\"></a>`guide`\n\n*Type:* boolean \n*Default:* `true`\n\nIf `true` is specified, a string like `'[1...5]'` as guide for the user is added to `query`. And `':'` is moved to the end of `query`, or it is added. This is the key list that corresponds to the item list.\n\n##### <a name=\"utility_methods-keyinselect-options-cancel\"></a>`cancel`\n\n*Type:* boolean, string or others \n*Default:* `'CANCEL'`\n\nIf a value other than `false` is specified, an item to let the user tell \"cancel\" is added to the item list. \"[0] CANCEL\" (default) is displayed, and if `0` key is pressed, `-1` is returned. \nYou can specify a label of this item other than `'CANCEL'`. A string such as `'Go back'` (empty string `''` also), something that is converted to string such as `Date`, a string that includes [placeholder](#placeholders) such as `'Next $<itemsCount> items'` are accepted.\n\n#### <a name=\"utility_methods-keyinselect-additional_placeholders\"></a>Additional Placeholders\n\nThe following additional [placeholder](#placeholders) parameters are available.\n\n##### <a name=\"utility_methods-keyinselect-additional_placeholders-itemscount\"></a>`itemsCount`\n\nA length of a current `items` Array.\n\nFor example:\n\n```js\nitems = ['item-A', 'item-B', 'item-C', 'item-D', 'item-E'];\nindex = readlineSync.keyInSelect(items, null,\n {cancel: 'Show more than $<itemsCount> items'});\n```\n\n```console\n[1] item-A\n[2] item-B\n[3] item-C\n[4] item-D\n[5] item-E\n[0] Show more than 5 items\n```\n\n##### <a name=\"utility_methods-keyinselect-additional_placeholders-firstitem\"></a>`firstItem`\n\nA first item in a current `items` Array.\n\nFor example:\n\n```js\nindex = readlineSync.keyInSelect(items, 'Choose $<firstItem> or another: ');\n```\n\n##### <a name=\"utility_methods-keyinselect-additional_placeholders-lastitem\"></a>`lastItem`\n\nA last item in a current `items` Array.\n\nFor example:\n\n```js\nitems = ['January', 'February', 'March', 'April', 'May', 'June'];\nindex = readlineSync.keyInSelect(items, null,\n {cancel: 'In after $<lastItem>'});\n```\n\n```console\n[1] January\n[2] February\n[3] March\n[4] April\n[5] May\n[6] June\n[0] In after June\n```\n\n## <a name=\"placeholders\"></a>Placeholders\n\n[`hideEchoBack`, `mask`, `defaultInput`, `caseSensitive`, `keepWhitespace`, `encoding`, `bufferSize`, `history`, `cd`, `limit`, `trueValue`, `falseValue`](#placeholders-parameters-hideechoback_mask_defaultinput_casesensitive_keepwhitespace_encoding_buffersize_history_cd_limit_truevalue_falsevalue), [`limitCount`, `limitCountNotZero`](#placeholders-parameters-limitcount_limitcountnotzero), [`lastInput`](#placeholders-parameters-lastinput), [`history_mN`](#placeholders-parameters-historymn), [`cwd`, `CWD`, `cwdHome`](#placeholders-parameters-cwd_cwd_cwdhome), [`date`, `time`, `localeDate`, `localeTime`](#placeholders-parameters-date_time_localedate_localetime), [`C1-C2`](#placeholders-parameters-c1_c2)\n\nThe placeholders in the text are replaced to another string.\n\nFor example, the [`limitMessage`](#basic_options-limitmessage) option to display a warning message that means that the command the user requested is not available:\n\n```js\ncommand = readlineSync.prompt({\n limit: ['add', 'remove'],\n limitMessage: '$<lastInput> is not available.'\n});\n```\n\n```console\n> delete\ndelete is not available.\n```\n\nThe placeholders can be included in:\n\n* `query` argument\n* [`prompt`](#basic_options-prompt) and [`limitMessage`](#basic_options-limitmessage) options\n* [`limit` option for `keyIn*` method](#basic_options-limit-for_keyin_method) and [`charlist`](#utility_methods-questionnewpassword-options-charlist) option for [`questionNewPassword`](#utility_methods-questionnewpassword) method ([`C1-C2`](#placeholders-parameters-c1_c2) parameter only)\n* And some additional options for the [Utility Methods](#utility_methods).\n\n### <a name=\"placeholders-syntax\"></a>Syntax\n\n```\n$<parameter>\n```\n\nOr\n\n```\n$<(text1)parameter(text2)>\n```\n\nThe placeholder is replaced to a string that is got by a `parameter`. \nBoth the `(text1)` and `(text2)` are optional. \nA more added `'$'` at the left of the placeholder is used as an escape character, it disables a placeholder. For example, `'$$<foo>'` is replaced to `'$<foo>'`. If you want to put a `'$'` which is *not* an escape character at the left of a placeholder, specify it like `'$<($)bufferSize>'`, then it is replaced to `'$1024'`.\n\nAt the each position of `'(text1)'` and `'(text2)'`, `'text1'` and `'text2'` are put when a string that was got by a `parameter` has more than 0 length. If that got string is `''`, a placeholder with or without `'(text1)'` and `'(text2)'` is replaced to `''`.\n\nFor example, a warning message that means that the command the user requested is not available:\n\n```js\ncommand = readlineSync.prompt({\n limit: ['add', 'remove'],\n limitMessage: 'Refused $<lastInput> you requested. Please input another.'\n});\n```\n\n```console\n> give-me-car\nRefused give-me-car you requested. Please input another.\n```\n\nIt looks like no problem. \nBut when the user input nothing (hit only the Enter key), and then a message is displayed:\n\n```console\n> \nRefused you requested. Please input another.\n```\n\nThis goes well:\n\n```js\ncommand = readlineSync.prompt({\n limit: ['add', 'remove'],\n limitMessage: 'Refused $<lastInput( you requested)>. Please input another.'\n});\n```\n\n```console\n> \nRefused . Please input another.\n```\n\n(May be more better: `'$<(Refused )lastInput( you requested. )>Please input another.'`)\n\n**Note:** The syntax `${parameter}` of older version is still supported, but this should not be used because it may be confused with template string syntax of ES6. And this will not be supported in due course of time.\n\n### <a name=\"placeholders-parameters\"></a>Parameters\n\nThe following parameters are available. And some additional parameters are available in the [Utility Methods](#utility_methods).\n\n#### <a name=\"placeholders-parameters-hideechoback_mask_defaultinput_casesensitive_keepwhitespace_encoding_buffersize_history_cd_limit_truevalue_falsevalue\"></a>`hideEchoBack`, `mask`, `defaultInput`, `caseSensitive`, `keepWhitespace`, `encoding`, `bufferSize`, `history`, `cd`, `limit`, `trueValue`, `falseValue`\n\nA current value of each option. \nIt is converted to human readable if possible. The boolean value is replaced to `'on'` or `'off'`, and the Array is replaced to the list of only string and number elements. \nAnd in the `keyIn*` method, the parts of the list as characters sequence are suppressed. For example, when `['a', 'b', 'c', 'd', 'e']` is specified to the [`limit`](#basic_options-limit) option, `'$<limit>'` is replaced to `'a...e'`. If `true` is specified to the [`caseSensitive`](#basic_options-casesensitive) option, the characters are converted to lower case.\n\nFor example:\n\n```js\ninput = readlineSync.question(\n 'Input something or the Enter key as \"$<defaultInput>\": ',\n {defaultInput: 'hello'}\n);\n```\n\n```console\nInput something or the Enter key as \"hello\":\n```\n\n#### <a name=\"placeholders-parameters-limitcount_limitcountnotzero\"></a>`limitCount`, `limitCountNotZero`\n\nA length of a current value of the [`limit`](#basic_options-limit) option. \nWhen the value of the [`limit`](#basic_options-limit) option is empty, `'$<limitCount>'` is replaced to `'0'`, `'$<limitCountNotZero>'` is replaced to `''`.\n\nFor example:\n\n```js\naction = readlineSync.question(\n 'Choose action$<( from )limitCountNotZero( actions)>: ',\n {limit: availableActions}\n);\n```\n\n```console\nChoose action from 5 actions:\n```\n\n#### <a name=\"placeholders-parameters-lastinput\"></a>`lastInput`\n\nA last input from the user. \nIn any case, this is saved.\n\nFor example:\n\n```js\ncommand = readlineSync.prompt({\n limit: availableCommands,\n limitMessage: '$<lastInput> is not available.'\n});\n```\n\n```console\n> wrong-command\nwrong-command is not available.\n```\n\n#### <a name=\"placeholders-parameters-historymn\"></a>`history_mN`\n\nWhen the history expansion feature is enabled (see [`history`](#basic_opt",
4191
4191
  "_attachments": {}
@@ -1251,7 +1251,7 @@
1251
1251
  "dist-tags": {
1252
1252
  "latest": "1.2.1"
1253
1253
  },
1254
- "_rev": "2503-02a13672ecc561dd",
1254
+ "_rev": "2506-fc368f4628cb0cc2",
1255
1255
  "_id": "ieee754",
1256
1256
  "readme": "# ieee754 [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url] [![javascript style guide][standard-image]][standard-url]\n\n[travis-image]: https://img.shields.io/travis/feross/ieee754/master.svg\n[travis-url]: https://travis-ci.org/feross/ieee754\n[npm-image]: https://img.shields.io/npm/v/ieee754.svg\n[npm-url]: https://npmjs.org/package/ieee754\n[downloads-image]: https://img.shields.io/npm/dm/ieee754.svg\n[downloads-url]: https://npmjs.org/package/ieee754\n[standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg\n[standard-url]: https://standardjs.com\n\n[![saucelabs][saucelabs-image]][saucelabs-url]\n\n[saucelabs-image]: https://saucelabs.com/browser-matrix/ieee754.svg\n[saucelabs-url]: https://saucelabs.com/u/ieee754\n\n### Read/write IEEE754 floating point numbers from/to a Buffer or array-like object.\n\n## install\n\n```\nnpm install ieee754\n```\n\n## methods\n\n`var ieee754 = require('ieee754')`\n\nThe `ieee754` object has the following functions:\n\n```\nieee754.read = function (buffer, offset, isLE, mLen, nBytes)\nieee754.write = function (buffer, value, offset, isLE, mLen, nBytes)\n```\n\nThe arguments mean the following:\n\n- buffer = the buffer\n- offset = offset into the buffer\n- value = value to set (only for `write`)\n- isLe = is little endian?\n- mLen = mantissa length\n- nBytes = number of bytes\n\n## what is ieee754?\n\nThe IEEE Standard for Floating-Point Arithmetic (IEEE 754) is a technical standard for floating-point computation. [Read more](http://en.wikipedia.org/wiki/IEEE_floating_point).\n\n## license\n\nBSD 3 Clause. Copyright (c) 2008, Fair Oaks Labs, Inc.",
1257
1257
  "_attachments": {}
@@ -1186,7 +1186,7 @@
1186
1186
  "dist-tags": {
1187
1187
  "latest": "0.11.10"
1188
1188
  },
1189
- "_rev": "1147-3ef83aa83a45bf25",
1189
+ "_rev": "1150-cea7497e7dcbd8bf",
1190
1190
  "_id": "process",
1191
1191
  "readme": "# process\n\n```require('process');``` just like any other module.\n\nWorks in node.js and browsers via the browser.js shim provided with the module.\n\n## browser implementation\n\nThe goal of this module is not to be a full-fledged alternative to the builtin process module. This module mostly exists to provide the nextTick functionality and little more. We keep this module lean because it will often be included by default by tools like browserify when it detects a module has used the `process` global.\n\nIt also exposes a \"browser\" member (i.e. `process.browser`) which is `true` in this implementation but `undefined` in node. This can be used in isomorphic code that adjusts it's behavior depending on which environment it's running in. \n\nIf you are looking to provide other process methods, I suggest you monkey patch them onto the process global in your app. A list of user created patches is below.\n\n* [hrtime](https://github.com/kumavis/browser-process-hrtime)\n* [stdout](https://github.com/kumavis/browser-stdout)\n\n## package manager notes\n\nIf you are writing a bundler to package modules for client side use, make sure you use the ```browser``` field hint in package.json.\n\nSee https://gist.github.com/4339901 for details.\n\nThe [browserify](https://github.com/substack/node-browserify) module will properly handle this field when bundling your files.",
1192
1192
  "_attachments": {}
@@ -19812,7 +19812,7 @@
19812
19812
  "gamma": "1.0.0-gamma.7",
19813
19813
  "rc": "1.0.0-rc.10"
19814
19814
  },
19815
- "_rev": "459-c235560123bc6fa1",
19815
+ "_rev": "461-aee68686111b944e",
19816
19816
  "_id": "@aws-sdk/types",
19817
19817
  "readme": "# @aws-sdk/types\n\n[![NPM version](https://img.shields.io/npm/v/@aws-sdk/types/latest.svg)](https://www.npmjs.com/package/@aws-sdk/types)\n[![NPM downloads](https://img.shields.io/npm/dm/@aws-sdk/types.svg)](https://www.npmjs.com/package/@aws-sdk/types)",
19818
19818
  "_attachments": {}
@@ -1470,7 +1470,7 @@
1470
1470
  "dist-tags": {
1471
1471
  "latest": "1.5.1"
1472
1472
  },
1473
- "_rev": "3413-fbf3a27f283a4f63",
1473
+ "_rev": "3417-d0a88585a44ef7a9",
1474
1474
  "_id": "base64-js",
1475
1475
  "readme": "base64-js\n=========\n\n`base64-js` does basic base64 encoding/decoding in pure JS.\n\n[![build status](https://secure.travis-ci.org/beatgammit/base64-js.png)](http://travis-ci.org/beatgammit/base64-js)\n\nMany browsers already have base64 encoding/decoding functionality, but it is for text data, not all-purpose binary data.\n\nSometimes encoding/decoding binary data in the browser is useful, and that is what this module does.\n\n## install\n\nWith [npm](https://npmjs.org) do:\n\n`npm install base64-js` and `var base64js = require('base64-js')`\n\nFor use in web browsers do:\n\n`<script src=\"base64js.min.js\"></script>`\n\n[Get supported base64-js with the Tidelift Subscription](https://tidelift.com/subscription/pkg/npm-base64-js?utm_source=npm-base64-js&utm_medium=referral&utm_campaign=readme)\n\n## methods\n\n`base64js` has three exposed functions, `byteLength`, `toByteArray` and `fromByteArray`, which both take a single argument.\n\n* `byteLength` - Takes a base64 string and returns length of byte array\n* `toByteArray` - Takes a base64 string and returns a byte array\n* `fromByteArray` - Takes a byte array and returns a base64 string\n\n## license\n\nMIT",
1476
1476
  "_attachments": {}
@@ -2346,7 +2346,7 @@
2346
2346
  "dist-tags": {
2347
2347
  "latest": "2.9.2"
2348
2348
  },
2349
- "_rev": "1176-cbf323884a54c397",
2349
+ "_rev": "1179-963d9a2c58b4ecd0",
2350
2350
  "_id": "bare-events",
2351
2351
  "readme": "# bare-events\n\nEvent emitters for JavaScript.\n\n```\nnpm install bare-events\n```\n\n## Usage\n\n```js\nconst EventEmitter = require('bare-events')\n\nconst e = new EventEmitter()\n\ne.on('hello', function (data) {\n console.log(data)\n})\n\ne.emit('hello', 'world')\n```\n\n## License\n\nApache-2.0",
2352
2352
  "_attachments": {}
@@ -33994,7 +33994,7 @@
33994
33994
  "dist-tags": {
33995
33995
  "latest": "3.974.55"
33996
33996
  },
33997
- "_rev": "448-6a5d65a2d1a90bb6",
33997
+ "_rev": "450-a42edfb451838f43",
33998
33998
  "_id": "@aws-sdk/middleware-flexible-checksums",
33999
33999
  "readme": "# @aws-sdk/middleware-flexible-checksums\n\n[![NPM version](https://img.shields.io/npm/v/@aws-sdk/middleware-flexible-checksums/latest.svg)](https://www.npmjs.com/package/@aws-sdk/middleware-flexible-checksums)\n[![NPM downloads](https://img.shields.io/npm/dm/@aws-sdk/middleware-flexible-checksums.svg)](https://www.npmjs.com/package/@aws-sdk/middleware-flexible-checksums)\n\nThis package provides AWS SDK for JavaScript middleware that applies a checksum\nof the request body as a header.",
34000
34000
  "_attachments": {}
@@ -999,7 +999,7 @@
999
999
  "dist-tags": {
1000
1000
  "latest": "1.3.0"
1001
1001
  },
1002
- "_rev": "2802-ccf561e7eb585db8",
1002
+ "_rev": "2806-fe837cadd2adad67",
1003
1003
  "_id": "string_decoder",
1004
1004
  "readme": "# string_decoder\n\n***Node-core v8.9.4 string_decoder for userland***\n\n\n[![NPM](https://nodei.co/npm/string_decoder.png?downloads=true&downloadRank=true)](https://nodei.co/npm/string_decoder/)\n[![NPM](https://nodei.co/npm-dl/string_decoder.png?&months=6&height=3)](https://nodei.co/npm/string_decoder/)\n\n\n```bash\nnpm install --save string_decoder\n```\n\n***Node-core string_decoder for userland***\n\nThis package is a mirror of the string_decoder implementation in Node-core.\n\nFull documentation may be found on the [Node.js website](https://nodejs.org/dist/v8.9.4/docs/api/).\n\nAs of version 1.0.0 **string_decoder** uses semantic versioning.\n\n## Previous versions\n\nPrevious version numbers match the versions found in Node core, e.g. 0.10.24 matches Node 0.10.24, likewise 0.11.10 matches Node 0.11.10.\n\n## Update\n\nThe *build/* directory contains a build script that will scrape the source from the [nodejs/node](https://github.com/nodejs/node) repo given a specific Node version.\n\n## Streams Working Group\n\n`string_decoder` is maintained by the Streams Working Group, which\noversees the development and maintenance of the Streams API within\nNode.js. The responsibilities of the Streams Working Group include:\n\n* Addressing stream issues on the Node.js issue tracker.\n* Authoring and editing stream documentation within the Node.js project.\n* Reviewing changes to stream subclasses within the Node.js project.\n* Redirecting changes to streams from the Node.js project to this\n project.\n* Assisting in the implementation of stream providers within Node.js.\n* Recommending versions of `readable-stream` to be included in Node.js.\n* Messaging about the future of streams to give the community advance\n notice of changes.\n\nSee [readable-stream](https://github.com/nodejs/readable-stream) for\nmore details.",
1005
1005
  "_attachments": {}
@@ -8107,7 +8107,7 @@
8107
8107
  "latest": "3.2.6",
8108
8108
  "next": "3.1.0"
8109
8109
  },
8110
- "_rev": "1651-c9747d3fd07702f6",
8110
+ "_rev": "1654-baf5a848431313a5",
8111
8111
  "_id": "async",
8112
8112
  "readme": "![Async Logo](https://raw.githubusercontent.com/caolan/async/master/logo/async-logo_readme.jpg)\n\n![Github Actions CI status](https://github.com/caolan/async/actions/workflows/ci.yml/badge.svg)\n[![NPM version](https://img.shields.io/npm/v/async.svg)](https://www.npmjs.com/package/async)\n[![Coverage Status](https://coveralls.io/repos/caolan/async/badge.svg?branch=master)](https://coveralls.io/r/caolan/async?branch=master)\n[![Join the chat at https://gitter.im/caolan/async](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/caolan/async?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)\n[![jsDelivr Hits](https://data.jsdelivr.com/v1/package/npm/async/badge?style=rounded)](https://www.jsdelivr.com/package/npm/async)\n\n<!--\n|Linux|Windows|MacOS|\n|-|-|-|\n|[![Linux Build Status](https://dev.azure.com/caolanmcmahon/async/_apis/build/status/caolan.async?branchName=master&jobName=Linux&configuration=Linux%20node_10_x)](https://dev.azure.com/caolanmcmahon/async/_build/latest?definitionId=1&branchName=master) | [![Windows Build Status](https://dev.azure.com/caolanmcmahon/async/_apis/build/status/caolan.async?branchName=master&jobName=Windows&configuration=Windows%20node_10_x)](https://dev.azure.com/caolanmcmahon/async/_build/latest?definitionId=1&branchName=master) | [![MacOS Build Status](https://dev.azure.com/caolanmcmahon/async/_apis/build/status/caolan.async?branchName=master&jobName=OSX&configuration=OSX%20node_10_x)](https://dev.azure.com/caolanmcmahon/async/_build/latest?definitionId=1&branchName=master)| -->\n\nAsync is a utility module which provides straight-forward, powerful functions for working with [asynchronous JavaScript](http://caolan.github.io/async/v3/global.html). Although originally designed for use with [Node.js](https://nodejs.org/) and installable via `npm i async`, it can also be used directly in the browser. An ESM/MJS version is included in the main `async` package that should automatically be used with compatible bundlers such as Webpack and Rollup.\n\nA pure ESM version of Async is available as [`async-es`](https://www.npmjs.com/package/async-es).\n\nFor Documentation, visit <https://caolan.github.io/async/>\n\n*For Async v1.5.x documentation, go [HERE](https://github.com/caolan/async/blob/v1.5.2/README.md)*\n\n\n```javascript\n// for use with Node-style callbacks...\nvar async = require(\"async\");\n\nvar obj = {dev: \"/dev.json\", test: \"/test.json\", prod: \"/prod.json\"};\nvar configs = {};\n\nasync.forEachOf(obj, (value, key, callback) => {\n fs.readFile(__dirname + value, \"utf8\", (err, data) => {\n if (err) return callback(err);\n try {\n configs[key] = JSON.parse(data);\n } catch (e) {\n return callback(e);\n }\n callback();\n });\n}, err => {\n if (err) console.error(err.message);\n // configs is now a map of JSON data\n doSomethingWith(configs);\n});\n```\n\n```javascript\nvar async = require(\"async\");\n\n// ...or ES2017 async functions\nasync.mapLimit(urls, 5, async function(url) {\n const response = await fetch(url)\n return response.body\n}, (err, results) => {\n if (err) throw err\n // results is now an array of the response bodies\n console.log(results)\n})\n```",
8113
8113
  "_attachments": {}
@@ -3714,7 +3714,7 @@
3714
3714
  "dist-tags": {
3715
3715
  "latest": "0.5.21"
3716
3716
  },
3717
- "_rev": "4741-650c5dcdef5a63e9",
3717
+ "_rev": "4745-a534603e811f17a6",
3718
3718
  "_id": "source-map-support",
3719
3719
  "readme": "# Source Map Support\n[![Build Status](https://travis-ci.org/evanw/node-source-map-support.svg?branch=master)](https://travis-ci.org/evanw/node-source-map-support)\n\nThis module provides source map support for stack traces in node via the [V8 stack trace API](https://github.com/v8/v8/wiki/Stack-Trace-API). It uses the [source-map](https://github.com/mozilla/source-map) module to replace the paths and line numbers of source-mapped files with their original paths and line numbers. The output mimics node's stack trace format with the goal of making every compile-to-JS language more of a first-class citizen. Source maps are completely general (not specific to any one language) so you can use source maps with multiple compile-to-JS languages in the same node process.\n\n## Installation and Usage\n\n#### Node support\n\n```\n$ npm install source-map-support\n```\n\nSource maps can be generated using libraries such as [source-map-index-generator](https://github.com/twolfson/source-map-index-generator). Once you have a valid source map, place a source mapping comment somewhere in the file (usually done automatically or with an option by your transpiler):\n\n```\n//# sourceMappingURL=path/to/source.map\n```\n\nIf multiple sourceMappingURL comments exist in one file, the last sourceMappingURL comment will be\nrespected (e.g. if a file mentions the comment in code, or went through multiple transpilers).\nThe path should either be absolute or relative to the compiled file.\n\nFrom here you have two options.\n\n##### CLI Usage\n\n```bash\nnode -r source-map-support/register compiled.js\n```\n\n##### Programmatic Usage\n\nPut the following line at the top of the compiled file.\n\n```js\nrequire('source-map-support').install();\n```\n\nIt is also possible to install the source map support directly by\nrequiring the `register` module which can be handy with ES6:\n\n```js\nimport 'source-map-support/register'\n\n// Instead of:\nimport sourceMapSupport from 'source-map-support'\nsourceMapSupport.install()\n```\nNote: if you're using babel-register, it includes source-map-support already.\n\nIt is also very useful with Mocha:\n\n```\n$ mocha --require source-map-support/register tests/\n```\n\n#### Browser support\n\nThis library also works in Chrome. While the DevTools console already supports source maps, the V8 engine doesn't and `Error.prototype.stack` will be incorrect without this library. Everything will just work if you deploy your source files using [browserify](http://browserify.org/). Just make sure to pass the `--debug` flag to the browserify command so your source maps are included in the bundled code.\n\nThis library also works if you use another build process or just include the source files directly. In this case, include the file `browser-source-map-support.js` in your page and call `sourceMapSupport.install()`. It contains the whole library already bundled for the browser using browserify.\n\n```html\n<script src=\"browser-source-map-support.js\"></script>\n<script>sourceMapSupport.install();</script>\n```\n\nThis library also works if you use AMD (Asynchronous Module Definition), which is used in tools like [RequireJS](http://requirejs.org/). Just list `browser-source-map-support` as a dependency:\n\n```html\n<script>\n define(['browser-source-map-support'], function(sourceMapSupport) {\n sourceMapSupport.install();\n });\n</script>\n```\n\n## Options\n\nThis module installs two things: a change to the `stack` property on `Error` objects and a handler for uncaught exceptions that mimics node's default exception handler (the handler can be seen in the demos below). You may want to disable the handler if you have your own uncaught exception handler. This can be done by passing an argument to the installer:\n\n```js\nrequire('source-map-support').install({\n handleUncaughtExceptions: false\n});\n```\n\nThis module loads source maps from the filesystem by default. You can provide alternate loading behavior through a callback as shown below. For example, [Meteor](https://github.com/meteor) keeps all source maps cached in memory to avoid disk access.\n\n```js\nrequire('source-map-support').install({\n retrieveSourceMap: function(source) {\n if (source === 'compiled.js') {\n return {\n url: 'original.js',\n map: fs.readFileSync('compiled.js.map', 'utf8')\n };\n }\n return null;\n }\n});\n```\n\nThe module will by default assume a browser environment if XMLHttpRequest and window are defined. If either of these do not exist it will instead assume a node environment.\nIn some rare cases, e.g. when running a browser emulation and where both variables are also set, you can explictly specify the environment to be either 'browser' or 'node'.\n\n```js\nrequire('source-map-support').install({\n environment: 'node'\n});\n```\n\nTo support files with inline source maps, the `hookRequire` options can be specified, which will monitor all source files for inline source maps.\n\n\n```js\nrequire('source-map-support').install({\n hookRequire: true\n});\n```\n\nThis monkey patches the `require` module loading chain, so is not enabled by default and is not recommended for any sort of production usage.\n\n## Demos\n\n#### Basic Demo\n\noriginal.js:\n\n```js\nthrow new Error('test'); // This is the original code\n```\n\ncompiled.js:\n\n```js\nrequire('source-map-support').install();\n\nthrow new Error('test'); // This is the compiled code\n// The next line defines the sourceMapping.\n//# sourceMappingURL=compiled.js.map\n```\n\ncompiled.js.map:\n\n```json\n{\n \"version\": 3,\n \"file\": \"compiled.js\",\n \"sources\": [\"original.js\"],\n \"names\": [],\n \"mappings\": \";;AAAA,MAAM,IAAI\"\n}\n```\n\nRun compiled.js using node (notice how the stack trace uses original.js instead of compiled.js):\n\n```\n$ node compiled.js\n\noriginal.js:1\nthrow new Error('test'); // This is the original code\n ^\nError: test\n at Object.<anonymous> (original.js:1:7)\n at Module._compile (module.js:456:26)\n at Object.Module._extensions..js (module.js:474:10)\n at Module.load (module.js:356:32)\n at Function.Module._load (module.js:312:12)\n at Function.Module.runMain (module.js:497:10)\n at startup (node.js:119:16)\n at node.js:901:3\n```\n\n#### TypeScript Demo\n\ndemo.ts:\n\n```typescript\ndeclare function require(name: string);\nrequire('source-map-support').install();\nclass Foo {\n constructor() { this.bar(); }\n bar() { throw new Error('this is a demo'); }\n}\nnew Foo();\n```\n\nCompile and run the file using the TypeScript compiler from the terminal:\n\n```\n$ npm install source-map-support typescript\n$ node_modules/typescript/bin/tsc -sourcemap demo.ts\n$ node demo.js\n\ndemo.ts:5\n bar() { throw new Error('this is a demo'); }\n ^\nError: this is a demo\n at Foo.bar (demo.ts:5:17)\n at new Foo (demo.ts:4:24)\n at Object.<anonymous> (demo.ts:7:1)\n at Module._compile (module.js:456:26)\n at Object.Module._extensions..js (module.js:474:10)\n at Module.load (module.js:356:32)\n at Function.Module._load (module.js:312:12)\n at Function.Module.runMain (module.js:497:10)\n at startup (node.js:119:16)\n at node.js:901:3\n```\n\nThere is also the option to use `-r source-map-support/register` with typescript, without the need add the `require('source-map-support').install()` in the code base:\n\n```\n$ npm install source-map-support typescript\n$ node_modules/typescript/bin/tsc -sourcemap demo.ts\n$ node -r source-map-support/register demo.js\n\ndemo.ts:5\n bar() { throw new Error('this is a demo'); }\n ^\nError: this is a demo\n at Foo.bar (demo.ts:5:17)\n at new Foo (demo.ts:4:24)\n at Object.<anonymous> (demo.ts:7:1)\n at Module._compile (module.js:456:26)\n at Object.Module._extensions..js (module.js:474:10)\n at Module.load (module.js:356:32)\n at Function.Module._load (module.js:312:12)\n at Function.Module.runMain (module.js:497:10)\n at startup (node.js:119:16)\n at node.js:901:3\n```\n\n#### CoffeeScript Demo\n\ndemo.coffee:\n\n```coffee\nrequire('source-map-support').install()\nfoo = ->\n bar = -> throw new Error 'this is a demo'\n bar()\nfoo()\n```\n\nCompile and run the file using the CoffeeScript compiler from the terminal:\n\n```sh\n$ npm install source-map-support coffeescript\n$ node_modules/.bin/coffee --map --compile demo.coffee\n$ node demo.js\n\ndemo.coffee:3\n bar = -> throw new Error 'this is a demo'\n ^\nError: this is a demo\n at bar (demo.coffee:3:22)\n at foo (demo.coffee:4:3)\n at Object.<anonymous> (demo.coffee:5:1)\n at Object.<anonymous> (demo.coffee:1:1)\n at Module._compile (module.js:456:26)\n at Object.Module._extensions..js (module.js:474:10)\n at Module.load (module.js:356:32)\n at Function.Module._load (module.js:312:12)\n at Function.Module.runMain (module.js:497:10)\n at startup (node.js:119:16)\n```\n\n## Tests\n\nThis repo contains both automated tests for node and manual tests for the browser. The automated tests can be run using mocha (type `mocha` in the root directory). To run the manual tests:\n\n* Build the tests using `build.js`\n* Launch the HTTP server (`npm run serve-tests`) and visit\n * http://127.0.0.1:1336/amd-test\n * http://127.0.0.1:1336/browser-test\n * http://127.0.0.1:1336/browserify-test - **Currently not working** due to a bug with browserify (see [pull request #66](https://github.com/evanw/node-source-map-support/pull/66) for details).\n* For `header-test`, run `server.js` inside that directory and visit http://127.0.0.1:1337/\n\n## License\n\nThis code is available under the [MIT license](http://opensource.org/licenses/MIT).",
3720
3720
  "_attachments": {}
@@ -116466,7 +116466,7 @@
116466
116466
  "ts6.0": "19.3.0",
116467
116467
  "undefined": "19.2.14"
116468
116468
  },
116469
- "_rev": "14574-6fa82f849750faa8",
116469
+ "_rev": "14578-e61cfa30a0d86fc4",
116470
116470
  "_id": "@types/react",
116471
116471
  "readme": "# Installation\r\n> `npm install --save @types/react`\r\n\r\n# Summary\r\nThis package contains type definitions for react (https://react.dev/).\r\n\r\n# Details\r\nFiles were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react.\r\n\r\n### Additional Details\r\n * Last updated: Wed, 09 Sep 2026 18:05:03 GMT\r\n * Dependencies: [csstype](https://npmjs.com/package/csstype)\r\n\r\n# Credits\r\nThese definitions were written by [Asana](https://asana.com), [AssureSign](http://www.assuresign.com), [Microsoft](https://microsoft.com), [John Reilly](https://github.com/johnnyreilly), [Benoit Benezech](https://github.com/bbenezech), [Patricio Zavolinsky](https://github.com/pzavolinsky), [Eric Anderson](https://github.com/ericanderson), [Dovydas Navickas](https://github.com/DovydasNavickas), [Josh Rutherford](https://github.com/theruther4d), [Guilherme Hübner](https://github.com/guilhermehubner), [Ferdy Budhidharma](https://github.com/ferdaber), [Johann Rakotoharisoa](https://github.com/jrakotoharisoa), [Olivier Pascal](https://github.com/pascaloliv), [Martin Hochel](https://github.com/hotell), [Frank Li](https://github.com/franklixuefei), [Jessica Franco](https://github.com/Jessidhia), [Saransh Kataria](https://github.com/saranshkataria), [Kanitkorn Sujautra](https://github.com/lukyth), [Sebastian Silbermann](https://github.com/eps1lon), [Kyle Scully](https://github.com/zieka), [Cong Zhang](https://github.com/dancerphil), [Dimitri Mitropoulos](https://github.com/dimitropoulos), [JongChan Choi](https://github.com/disjukr), [Victor Magalhães](https://github.com/vhfmag), [Priyanshu Rav](https://github.com/priyanshurav), [Dmitry Semigradsky](https://github.com/Semigradsky), and [Matt Pocock](https://github.com/mattpocock).",
116472
116472
  "_attachments": {}
@@ -1172,7 +1172,7 @@
1172
1172
  "dist-tags": {
1173
1173
  "latest": "3.3.0"
1174
1174
  },
1175
- "_rev": "4451-dbdff8331e268994",
1175
+ "_rev": "4455-4dec27e096b5dd98",
1176
1176
  "_id": "events",
1177
1177
  "readme": "# events [![Build Status](https://travis-ci.org/Gozala/events.png?branch=master)](https://travis-ci.org/Gozala/events)\n\n> Node's event emitter for all engines.\n\nThis implements the Node.js [`events`][node.js docs] module for environments that do not have it, like browsers.\n\n> `events` currently matches the **Node.js 11.13.0** API.\n\nNote that the `events` module uses ES5 features. If you need to support very old browsers like IE8, use a shim like [`es5-shim`](https://www.npmjs.com/package/es5-shim). You need both the shim and the sham versions of `es5-shim`.\n\nThis module is maintained, but only by very few people. If you'd like to help, let us know in the [Maintainer Needed](https://github.com/Gozala/events/issues/43) issue!\n\n## Install\n\nYou usually do not have to install `events` yourself! If your code runs in Node.js, `events` is built in. If your code runs in the browser, bundlers like [browserify](https://github.com/browserify/browserify) or [webpack](https://github.com/webpack/webpack) also include the `events` module.\n\nBut if none of those apply, with npm do:\n\n```\nnpm install events\n```\n\n## Usage\n\n```javascript\nvar EventEmitter = require('events')\n\nvar ee = new EventEmitter()\nee.on('message', function (text) {\n console.log(text)\n})\nee.emit('message', 'hello world')\n```\n\n## API\n\nSee the [Node.js EventEmitter docs][node.js docs]. `events` currently matches the Node.js 11.13.0 API.\n\n## Contributing\n\nPRs are very welcome! The main way to contribute to `events` is by porting features, bugfixes and tests from Node.js. Ideally, code contributions to this module are copy-pasted from Node.js and transpiled to ES5, rather than reimplemented from scratch. Matching the Node.js code as closely as possible makes maintenance simpler when new changes land in Node.js.\nThis module intends to provide exactly the same API as Node.js, so features that are not available in the core `events` module will not be accepted. Feature requests should instead be directed at [nodejs/node](https://github.com/nodejs/node) and will be added to this module once they are implemented in Node.js.\n\nIf there is a difference in behaviour between Node.js's `events` module and this module, please open an issue!\n\n## License\n\n[MIT](./LICENSE)\n\n[node.js docs]: https://nodejs.org/dist/v11.13.0/docs/api/events.html",
1178
1178
  "_attachments": {}
@@ -13538,7 +13538,7 @@
13538
13538
  "legacy-v6": "6.2.3",
13539
13539
  "legacy-v3": "3.1.5"
13540
13540
  },
13541
- "_rev": "5460-c80d7c450d6ca6dd",
13541
+ "_rev": "5464-da67c550da6b0767",
13542
13542
  "_id": "minimatch",
13543
13543
  "readme": "# minimatch\n\nA minimal matching utility.\n\nThis is the matching library used internally by npm.\n\nIt works by converting glob expressions into JavaScript `RegExp`\nobjects.\n\n## Important Security Consideration!\n\n> [!WARNING] \n> This library uses JavaScript regular expressions. Please read\n> the following warning carefully, and be thoughtful about what\n> you provide to this library in production systems.\n\n_Any_ library in JavaScript that deals with matching string\npatterns using regular expressions will be subject to\n[ReDoS](https://owasp.org/www-community/attacks/Regular_expression_Denial_of_Service_-_ReDoS)\nif the pattern is generated using untrusted input.\n\nEfforts have been made to mitigate risk as much as is feasible in\nsuch a library, providing maximum recursion depths and so forth,\nbut these measures can only ultimately protect against accidents,\nnot malice. A dedicated attacker can _always_ find patterns that\ncannot be defended against by a bash-compatible glob pattern\nmatching system that uses JavaScript regular expressions.\n\nTo be extremely clear:\n\n> [!WARNING] \n> **If you create a system where you take user input, and use\n> that input as the source of a Regular Expression pattern, in\n> this or any extant glob matcher in JavaScript, you will be\n> pwned.**\n\nA future version of this library _may_ use a different matching\nalgorithm which does not exhibit backtracking problems. If and\nwhen that happens, it will likely be a sweeping change, and those\nimprovements will **not** be backported to legacy versions.\n\nIn the near term, it is not reasonable to continue to play\nwhack-a-mole with security advisories, and so any future ReDoS\nreports will be considered \"working as intended\", and resolved\nentirely by this warning.\n\n## Usage\n\n```js\n// hybrid module, load with require() or import\nimport { minimatch } from 'minimatch'\n// or:\nconst { minimatch } = require('minimatch')\n\nminimatch('bar.foo', '*.foo') // true!\nminimatch('bar.foo', '*.bar') // false!\nminimatch('bar.foo', '*.+(bar|foo)', { debug: true }) // true, and noisy!\n```\n\n## Features\n\nSupports these glob features:\n\n- Brace Expansion\n- Extended glob matching\n- \"Globstar\" `**` matching\n- [Posix character\n classes](https://www.gnu.org/software/bash/manual/html_node/Pattern-Matching.html),\n like `[[:alpha:]]`, supporting the full range of Unicode\n characters. For example, `[[:alpha:]]` will match against\n `'é'`, though `[a-zA-Z]` will not. Collating symbol and set\n matching is not supported, so `[[=e=]]` will _not_ match `'é'`\n and `[[.ch.]]` will not match `'ch'` in locales where `ch` is\n considered a single character.\n\nSee:\n\n- `man sh`\n- `man bash` [Pattern\n Matching](https://www.gnu.org/software/bash/manual/html_node/Pattern-Matching.html)\n- `man 3 fnmatch`\n- `man 5 gitignore`\n\n## Windows\n\n**Please only use forward-slashes in glob expressions.**\n\nThough windows uses either `/` or `\\` as its path separator, only `/`\ncharacters are used by this glob implementation. You must use\nforward-slashes **only** in glob expressions. Back-slashes in patterns\nwill always be interpreted as escape characters, not path separators.\n\nNote that `\\` or `/` _will_ be interpreted as path separators in paths on\nWindows, and will match against `/` in glob expressions.\n\nSo just always use `/` in patterns.\n\n### UNC Paths\n\nOn Windows, UNC paths like `//?/c:/...` or\n`//ComputerName/Share/...` are handled specially.\n\n- Patterns starting with a double-slash followed by some\n non-slash characters will preserve their double-slash. As a\n result, a pattern like `//*` will match `//x`, but not `/x`.\n- Patterns staring with `//?/<drive letter>:` will _not_ treat\n the `?` as a wildcard character. Instead, it will be treated\n as a normal string.\n- Patterns starting with `//?/<drive letter>:/...` will match\n file paths starting with `<drive letter>:/...`, and vice versa,\n as if the `//?/` was not present. This behavior only is\n present when the drive letters are a case-insensitive match to\n one another. The remaining portions of the path/pattern are\n compared case sensitively, unless `nocase:true` is set.\n\nNote that specifying a UNC path using `\\` characters as path\nseparators is always allowed in the file path argument, but only\nallowed in the pattern argument when `windowsPathsNoEscape: true`\nis set in the options.\n\n## Minimatch Class\n\nCreate a minimatch object by instantiating the `minimatch.Minimatch` class.\n\n```javascript\nvar Minimatch = require('minimatch').Minimatch\nvar mm = new Minimatch(pattern, options)\n```\n\n### Properties\n\n- `pattern` The original pattern the minimatch object represents.\n- `options` The options supplied to the constructor.\n- `set` A 2-dimensional array of regexp or string expressions.\n Each row in the\n array corresponds to a brace-expanded pattern. Each item in the row\n corresponds to a single path-part. For example, the pattern\n `{a,b/c}/d` would expand to a set of patterns like:\n\n [ [ a, d ]\n , [ b, c, d ] ]\n\n If a portion of the pattern doesn't have any \"magic\" in it\n (that is, it's something like `\"foo\"` rather than `fo*o?`), then it\n will be left as a string rather than converted to a regular\n expression.\n\n- `regexp` Created by the `makeRe` method. A single regular expression\n expressing the entire pattern. This is useful in cases where you wish\n to use the pattern somewhat like `fnmatch(3)` with `FNM_PATH` enabled.\n- `negate` True if the pattern is negated.\n- `comment` True if the pattern is a comment.\n- `empty` True if the pattern is `\"\"`.\n\n### Methods\n\n- `makeRe()` Generate the `regexp` member if necessary, and return it.\n Will return `false` if the pattern is invalid.\n- `match(fname)` Return true if the filename matches the pattern, or\n false otherwise.\n- `matchOne(fileArray, patternArray, partial)` Take a `/`-split\n filename, and match it against a single row in the `regExpSet`. This\n method is mainly for internal use, but is exposed so that it can be\n used by a glob-walker that needs to avoid excessive filesystem calls.\n- `hasMagic()` Returns true if the parsed pattern contains any\n magic characters. Returns false if all comparator parts are\n string literals. If the `magicalBraces` option is set on the\n constructor, then it will consider brace expansions which are\n not otherwise magical to be magic. If not set, then a pattern\n like `a{b,c}d` will return `false`, because neither `abd` nor\n `acd` contain any special glob characters.\n\n This does **not** mean that the pattern string can be used as a\n literal filename, as it may contain magic glob characters that\n are escaped. For example, the pattern `\\\\*` or `[*]` would not\n be considered to have magic, as the matching portion parses to\n the literal string `'*'` and would match a path named `'*'`,\n not `'\\\\*'` or `'[*]'`. The `minimatch.unescape()` method may\n be used to remove escape characters.\n\nAll other methods are internal, and will be called as necessary.\n\n### minimatch(path, pattern, options)\n\nMain export. Tests a path against the pattern using the options.\n\n```javascript\nvar isJS = minimatch(file, '*.js', { matchBase: true })\n```\n\n### minimatch.filter(pattern, options)\n\nReturns a function that tests its\nsupplied argument, suitable for use with `Array.filter`. Example:\n\n```javascript\nvar javascripts = fileList.filter(\n minimatch.filter('*.js', { matchBase: true }),\n)\n```\n\n### minimatch.escape(pattern, options = {})\n\nEscape all magic characters in a glob pattern, so that it will\nonly ever match literal strings.\n\nIf the `windowsPathsNoEscape` option is used, then characters are\nescaped by wrapping in `[]`, because a magic character wrapped in\na character class can only be satisfied by that exact character.\n\nSlashes (and backslashes in `windowsPathsNoEscape` mode) cannot\nbe escaped or unescaped.\n\n### minimatch.unescape(pattern, options = {})\n\nUn-escape a glob string that may contain some escaped characters.\n\nIf the `windowsPathsNoEscape` option is used, then square-brace\nescapes are removed, but not backslash escapes. For example, it\nwill turn the string `'[*]'` into `*`, but it will not turn\n`'\\\\*'` into `'*'`, because `\\` is a path separator in\n`windowsPathsNoEscape` mode.\n\nWhen `windowsPathsNoEscape` is not set, then both brace escapes\nand backslash escapes are removed.\n\nSlashes (and backslashes in `windowsPathsNoEscape` mode) cannot\nbe escaped or unescaped.\n\n### minimatch.match(list, pattern, options)\n\nMatch against the list of\nfiles, in the style of fnmatch or glob. If nothing is matched, and\noptions.nonull is set, then return a list containing the pattern itself.\n\n```javascript\nvar javascripts = minimatch.match(fileList, '*.js', { matchBase: true })\n```\n\n### minimatch.makeRe(pattern, options)\n\nMake a regular expression object from the pattern.\n\n## Options\n\nAll options are `false` by default.\n\n### debug\n\nDump a ton of stuff to stderr.\n\n### nobrace\n\nDo not expand `{a,b}` and `{1..3}` brace sets.\n\n### noglobstar\n\nDisable `**` matching against multiple folder names.\n\n### dot\n\nAllow patterns to match filenames starting with a period, even if\nthe pattern does not explicitly have a period in that spot.\n\nNote that by default, `a/**/b` will **not** match `a/.d/b`, unless `dot`\nis set.\n\n### noext\n\nDisable \"extglob\" style patterns like `+(a|b)`.\n\n### nocase\n\nPerform a case-insensitive match.\n\n### nocaseMagicOnly\n\nWhen used with `{nocase: true}`, create regular expressions that\nare case-insensitive, but leave string match portions untouched.\nHas no effect when used without `{nocase: true}`.\n\nUseful when some other form of case-insensitive matching is used,\nor if the original string representation is useful in some other\nway.\n\n### nonull\n\nWhen a match is not found by `minimatch.match`, return a list containing\nthe pattern itself if this option is set. When not set, an empty list\nis returned if there are no matches.\n\n### magicalBraces\n\nThis only affects the results of the `Minimatch.hasMagic` method.\n\nIf the pattern contains brace expansions, such as `a{b,c}d`, but\nno other magic characters, then the `Minimatch.hasMagic()` method\nwill return `false` by default. When this option set, it will\nreturn `true` for brace expansion as well as other magic glob\ncharacters.\n\n### matchBase\n\nIf set, then patterns without slashes will be matched\nagainst the basename of the path if it contains slashes. For example,\n`a?b` would match the path `/xyz/123/acb`, but not `/xyz/acb/123`.\n\n### nocomment\n\nSuppress the behavior of treating `#` at the start of a pattern as a\ncomment.\n\n### nonegate\n\nSuppress the behavior of treating a leading `!` character as negation.\n\n### flipNegate\n\nReturns from negate expressions the same as if they were not negated.\n(Ie, true on a hit, false on a miss.)\n\n### partial\n\nCompare a partial path to a pattern. As long as the parts of the path that\nare present are not contradicted by the pattern, it will be treated as a\nmatch. This is useful in applications where you're walking through a\nfolder structure, and don't yet have the full path, but want to ensure that\nyou do not walk down paths that can never be a match.\n\nFor example,\n\n```js\nminimatch('/a/b', '/a/*/c/d', { partial: true }) // true, might be /a/b/c/d\nminimatch('/a/b', '/**/d', { partial: true }) // true, might be /a/b/.../d\nminimatch('/x/y/z', '/a/**/z', { partial: true }) // false, because x !== a\n```\n\n### windowsPathsNoEscape\n\nUse `\\\\` as a path separator _only_, and _never_ as an escape\ncharacter. If set, all `\\\\` characters are replaced with `/` in\nthe pattern. Note that this makes it **impossible** to match\nagainst paths containing literal glob pattern characters, but\nallows matching with patterns constructed using `path.join()` and\n`path.resolve()` on Windows platforms, mimicking the (buggy!)\nbehavior of earlier versions on Windows. Please use with\ncaution, and be mindful of [the caveat about Windows\npaths](#windows).\n\nFor legacy reasons, this is also set if\n`options.allowWindowsEscape` is set to the exact value `false`.\n\n### windowsNoMagicRoot\n\nWhen a pattern starts with a UNC path or drive letter, and in\n`nocase:true` mode, do not convert the root portions of the\npattern into a case-insensitive regular expression, and instead\nleave them as strings.\n\nThis is the default when the platform is `win32` and\n`nocase:true` is set.\n\n### preserveMultipleSlashes\n\nBy default, multiple `/` characters (other than the leading `//`\nin a UNC path, see \"UNC Paths\" above) are treated as a single\n`/`.\n\nThat is, a pattern like `a///b` will match the file path `a/b`.\n\nSet `preserveMultipleSlashes: true` to suppress this behavior.\n\n### optimizationLevel\n\nA number indicating the level of optimization that should be done\nto the pattern prior to parsing and using it for matches.\n\nGlobstar parts `**` are always converted to `*` when `noglobstar`\nis set, and multiple adjacent `**` parts are converted into a\nsingle `**` (ie, `a/**/**/b` will be treated as `a/**/b`, as this\nis equivalent in all cases).\n\n- `0` - Make no further changes. In this mode, `.` and `..` are\n maintained in the pattern, meaning that they must also appear\n in the same position in the test path string. Eg, a pattern\n like `a/*/../c` will match the string `a/b/../c` but not the\n string `a/c`.\n- `1` - (default) Remove cases where a double-dot `..` follows a\n pattern portion that is not `**`, `.`, `..`, or empty `''`. For\n example, the pattern `./a/b/../*` is converted to `./a/*`, and\n so it will match the path string `./a/c`, but not the path\n string `./a/b/../c`. Dots and empty path portions in the\n pattern are preserved.\n- `2` (or higher) - Much more aggressive optimizations, suitable\n for use with file-walking cases:\n - Remove cases where a double-dot `..` follows a pattern\n portion that is not `**`, `.`, or empty `''`. Remove empty\n and `.` portions of the pattern, where safe to do so (ie,\n anywhere other than the last position, the first position, or\n the second position in a pattern starting with `/`, as this\n may indicate a UNC path on Windows).\n - Convert patterns containing `<pre>/**/../<p>/<rest>` into the\n equivalent `<pre>/{..,**}/<p>/<rest>`, where `<p>` is a\n a pattern portion other than `.`, `..`, `**`, or empty\n `''`.\n - Dedupe patterns where a `**` portion is present in one and\n omitted in another, and it is not the final path portion, and\n they are otherwise equivalent. So `{a/**/b,a/b}` becomes\n `a/**/b`, because `**` matches against an empty path portion.\n - Dedupe patterns where a `*` portion is present in one, and a\n non-dot pattern other than `**`, `.`, `..`, or `''` is in the\n same position in the other. So `a/{*,x}/b` becomes `a/*/b`,\n because `*` can match against `x`.\n\n While these optimizations improve the performance of\n file-walking use cases such as [glob](http://npm.im/glob) (ie,\n the reason this module exists), there are cases where it will\n fail to match a literal string that would have been matched in\n optimization level 1 or 0.\n\n Specifically, while the `Minimatch.match()` method will\n optimize the file path string in the same ways, resulting in\n the same matches, it will fail when tested with the regular\n expression provided by `Minimatch.makeRe()`, unless the path\n string is first processed with\n `minimatch.levelTwoFileOptimize()` or similar.\n\n### platform\n\nWhen set to `win32`, this will trigger all windows-specific\nbehaviors (special handling for UNC paths, and treating `\\` as\nseparators in file paths for comparison.)\n\nDefaults to the value of `process.platform`.\n\n### maxGlobstarRecursion\n\nMax number of non-adjacent `**` patterns to recursively walk\ndown.\n\nThe default of `200` is almost certainly high enough for most\npurposes, and can handle absurdly excessive patterns.\n\nIf the limit is exceeded (which would require very excessively\nlong patterns and paths containing lots of `**` patterns!), then\nit is treated as non-matching, even if the path would normally\nmatch the pattern provided.\n\nThat is, this is an intentional false negative, deemed an\nacceptable break in correctness for security and performance.\n\n### maxExtglobRecursion\n\nMax depth to traverse for nested extglobs like `*(a|b|c)`\n\nDefault is 2, which is quite low, but any higher value swiftly\nresults in punishing performance impacts. Note that this is _not_\nrelevant when the globstar types can be safely coalesced into a\nsingle set.\n\nFor example, `*(a|@(b|c)|d)` would be flattened into\n`*(a|b|c|d)`. Thus, many common extglobs will retain good\nperformance and never hit this limit, even if they are\nexcessively deep and complicated.\n\nIf the limit is hit, then the extglob characters are simply not\nparsed, and the pattern effectively switches into `noextglob:\ntrue` mode for the contents of that nested sub-pattern. This will\ntypically _not_ result in a match, but is considered a valid\ntrade-off for security and performance.\n\n## Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a\nworthwhile goal, some discrepancies exist between minimatch and\nother implementations. Some are intentional, and some are\nunavoidable.\n\nIf the pattern starts with a `!` character, then it is negated. Set the\n`nonegate` flag to suppress this behavior, and treat leading `!`\ncharacters normally. This is perhaps relevant if you wish to start the\npattern with a negative extglob pattern like `!(a|B)`. Multiple `!`\ncharacters at the start of a pattern will negate the pattern multiple\ntimes.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything. Use `\\#` to match a literal `#` at the\nstart of a line, or set the `nocomment` flag to suppress this behavior.\n\nThe double-star character `**` is supported by default, unless the\n`noglobstar` flag is set. This is supported in the manner of bsdglob\nand bash 4.1, where `**` only has special significance if it is the only\nthing in a path part. That is, `a/**/b` will match `a/x/y/b`, but\n`a/**b` will not.\n\nIf an escaped pattern has no matches, and the `nonull` flag is set,\nthen minimatch.match returns the pattern as-provided, rather than\ninterpreting the character escapes. For example,\n`minimatch.match([], \"\\\\*a\\\\?\")` will return `\"\\\\*a\\\\?\"` rather than\n`\"*a?\"`. This is akin to setting the `nullglob` option in bash, except\nthat it does not resolve escaped pattern characters.\n\nIf brace expansion is not disabled, then it is performed before any\nother interpretation of the glob pattern. Thus, a pattern like\n`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\nchecked for validity. Since those two are valid, matching proceeds.\n\nNegated extglob patterns are handled as closely as possible to\nBash semantics, but there are some cases with negative extglobs\nwhich are exceedingly difficult to express in a JavaScript\nregular expression. In particular the negated pattern\n`<start>!(<pattern>*|)*` will in bash match anything that does\nnot start with `<start><pattern>`. However,\n`<start>!(<pattern>*)*` _will_ match paths starting with\n`<start><pattern>`, because the empty string can match against\nthe negated portion. In this library, `<start>!(<pattern>*|)*`\nwill _not_ match any pattern starting with `<start>`, due to a\ndifference in precisely which patterns are considered \"greedy\" in\nRegular Expressions vs bash path expansion. This may be fixable,\nbut not without incurring some complexity and performance costs,\nand the trade-off seems to not be worth pursuing.\n\nNote that `fnmatch(3)` in libc is an extremely naive string comparison\nmatcher, which does not do anything special for slashes. This library is\ndesigned to be used in glob searching and file walkers, and so it does do\nspecial things with `/`. Thus, `foo*` will not match `foo/bar` in this\nlibrary, even though it would in `fnmatch(3)`.",
13544
13544
  "_attachments": {}
@@ -378,7 +378,7 @@
378
378
  "dist-tags": {
379
379
  "latest": "1.1.2"
380
380
  },
381
- "_rev": "4681-e0988ed81caaa51b",
381
+ "_rev": "4685-27ab5f77d7552c53",
382
382
  "_id": "buffer-from",
383
383
  "readme": "# Buffer From\n\nA [ponyfill](https://ponyfill.com) for `Buffer.from`, uses native implementation if available.\n\n## Installation\n\n```sh\nnpm install --save buffer-from\n```\n\n## Usage\n\n```js\nconst bufferFrom = require('buffer-from')\n\nconsole.log(bufferFrom([1, 2, 3, 4]))\n//=> <Buffer 01 02 03 04>\n\nconst arr = new Uint8Array([1, 2, 3, 4])\nconsole.log(bufferFrom(arr.buffer, 1, 2))\n//=> <Buffer 02 03>\n\nconsole.log(bufferFrom('test', 'utf8'))\n//=> <Buffer 74 65 73 74>\n\nconst buf = bufferFrom('test')\nconsole.log(bufferFrom(buf))\n//=> <Buffer 74 65 73 74>\n```\n\n## API\n\n### bufferFrom(array)\n\n- `array` &lt;Array&gt;\n\nAllocates a new `Buffer` using an `array` of octets.\n\n### bufferFrom(arrayBuffer[, byteOffset[, length]])\n\n- `arrayBuffer` &lt;ArrayBuffer&gt; The `.buffer` property of a TypedArray or ArrayBuffer\n- `byteOffset` &lt;Integer&gt; Where to start copying from `arrayBuffer`. **Default:** `0`\n- `length` &lt;Integer&gt; How many bytes to copy from `arrayBuffer`. **Default:** `arrayBuffer.length - byteOffset`\n\nWhen passed a reference to the `.buffer` property of a TypedArray instance, the\nnewly created `Buffer` will share the same allocated memory as the TypedArray.\n\nThe optional `byteOffset` and `length` arguments specify a memory range within\nthe `arrayBuffer` that will be shared by the `Buffer`.\n\n### bufferFrom(buffer)\n\n- `buffer` &lt;Buffer&gt; An existing `Buffer` to copy data from\n\nCopies the passed `buffer` data onto a new `Buffer` instance.\n\n### bufferFrom(string[, encoding])\n\n- `string` &lt;String&gt; A string to encode.\n- `encoding` &lt;String&gt; The encoding of `string`. **Default:** `'utf8'`\n\nCreates a new `Buffer` containing the given JavaScript string `string`. If\nprovided, the `encoding` parameter identifies the character encoding of\n`string`.\n\n## See also\n\n- [buffer-alloc](https://github.com/LinusU/buffer-alloc) A ponyfill for `Buffer.alloc`\n- [buffer-alloc-unsafe](https://github.com/LinusU/buffer-alloc-unsafe) A ponyfill for `Buffer.allocUnsafe`",
384
384
  "_attachments": {}
@@ -937,7 +937,7 @@
937
937
  "dist-tags": {
938
938
  "latest": "3.0.0"
939
939
  },
940
- "_rev": "2845-c534c2e72b75adbb",
940
+ "_rev": "2849-7104f1c9d70ffa24",
941
941
  "_id": "normalize-path",
942
942
  "readme": "# normalize-path [![NPM version](https://img.shields.io/npm/v/normalize-path.svg?style=flat)](https://www.npmjs.com/package/normalize-path) [![NPM monthly downloads](https://img.shields.io/npm/dm/normalize-path.svg?style=flat)](https://npmjs.org/package/normalize-path) [![NPM total downloads](https://img.shields.io/npm/dt/normalize-path.svg?style=flat)](https://npmjs.org/package/normalize-path) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/normalize-path.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/normalize-path)\n\n> Normalize slashes in a file path to be posix/unix-like forward slashes. Also condenses repeat slashes to a single slash and removes and trailing slashes, unless disabled.\n\nPlease consider following this project's author, [Jon Schlinkert](https://github.com/jonschlinkert), and consider starring the project to show your :heart: and support.\n\n## Install\n\nInstall with [npm](https://www.npmjs.com/):\n\n```sh\n$ npm install --save normalize-path\n```\n\n## Usage\n\n```js\nconst normalize = require('normalize-path');\n\nconsole.log(normalize('\\\\foo\\\\bar\\\\baz\\\\')); \n//=> '/foo/bar/baz'\n```\n\n**win32 namespaces**\n\n```js\nconsole.log(normalize('\\\\\\\\?\\\\UNC\\\\Server01\\\\user\\\\docs\\\\Letter.txt')); \n//=> '//?/UNC/Server01/user/docs/Letter.txt'\n\nconsole.log(normalize('\\\\\\\\.\\\\CdRomX')); \n//=> '//./CdRomX'\n```\n\n**Consecutive slashes**\n\nCondenses multiple consecutive forward slashes (except for leading slashes in win32 namespaces) to a single slash.\n\n```js\nconsole.log(normalize('.//foo//bar///////baz/')); \n//=> './foo/bar/baz'\n```\n\n### Trailing slashes\n\nBy default trailing slashes are removed. Pass `false` as the last argument to disable this behavior and _**keep** trailing slashes_:\n\n```js\nconsole.log(normalize('foo\\\\bar\\\\baz\\\\', false)); //=> 'foo/bar/baz/'\nconsole.log(normalize('./foo/bar/baz/', false)); //=> './foo/bar/baz/'\n```\n\n## Release history\n\n### v3.0\n\nNo breaking changes in this release.\n\n* a check was added to ensure that [win32 namespaces](https://msdn.microsoft.com/library/windows/desktop/aa365247(v=vs.85).aspx#namespaces) are handled properly by win32 `path.parse()` after a path has been normalized by this library.\n* a minor optimization was made to simplify how the trailing separator was handled\n\n## About\n\n<details>\n<summary><strong>Contributing</strong></summary>\n\nPull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).\n\n</details>\n\n<details>\n<summary><strong>Running Tests</strong></summary>\n\nRunning and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:\n\n```sh\n$ npm install && npm test\n```\n\n</details>\n\n<details>\n<summary><strong>Building docs</strong></summary>\n\n_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_\n\nTo generate the readme, run the following command:\n\n```sh\n$ npm install -g verbose/verb#dev verb-generate-readme && verb\n```\n\n</details>\n\n### Related projects\n\nOther useful path-related libraries:\n\n* [contains-path](https://www.npmjs.com/package/contains-path): Return true if a file path contains the given path. | [homepage](https://github.com/jonschlinkert/contains-path \"Return true if a file path contains the given path.\")\n* [is-absolute](https://www.npmjs.com/package/is-absolute): Returns true if a file path is absolute. Does not rely on the path module… [more](https://github.com/jonschlinkert/is-absolute) | [homepage](https://github.com/jonschlinkert/is-absolute \"Returns true if a file path is absolute. Does not rely on the path module and can be used as a polyfill for node.js native `path.isAbolute`.\")\n* [is-relative](https://www.npmjs.com/package/is-relative): Returns `true` if the path appears to be relative. | [homepage](https://github.com/jonschlinkert/is-relative \"Returns `true` if the path appears to be relative.\")\n* [parse-filepath](https://www.npmjs.com/package/parse-filepath): Pollyfill for node.js `path.parse`, parses a filepath into an object. | [homepage](https://github.com/jonschlinkert/parse-filepath \"Pollyfill for node.js `path.parse`, parses a filepath into an object.\")\n* [path-ends-with](https://www.npmjs.com/package/path-ends-with): Return `true` if a file path ends with the given string/suffix. | [homepage](https://github.com/jonschlinkert/path-ends-with \"Return `true` if a file path ends with the given string/suffix.\")\n* [unixify](https://www.npmjs.com/package/unixify): Convert Windows file paths to unix paths. | [homepage](https://github.com/jonschlinkert/unixify \"Convert Windows file paths to unix paths.\")\n\n### Contributors\n\n| **Commits** | **Contributor** | \n| --- | --- |\n| 35 | [jonschlinkert](https://github.com/jonschlinkert) |\n| 1 | [phated](https://github.com/phated) |\n\n### Author\n\n**Jon Schlinkert**\n\n* [LinkedIn Profile](https://linkedin.com/in/jonschlinkert)\n* [GitHub Profile](https://github.com/jonschlinkert)\n* [Twitter Profile](https://twitter.com/jonschlinkert)\n\n### License\n\nCopyright © 2018, [Jon Schlinkert](https://github.com/jonschlinkert).\nReleased under the [MIT License](LICENSE).\n\n***\n\n_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on April 19, 2018._",
943
943
  "_attachments": {}
@@ -237,7 +237,7 @@
237
237
  "dist-tags": {
238
238
  "latest": "1.0.3"
239
239
  },
240
- "_rev": "2509-99c890ab1d0cf97d",
240
+ "_rev": "2513-9658158b947fa969",
241
241
  "_id": "core-util-is",
242
242
  "readme": "# core-util-is\n\nThe `util.is*` functions introduced in Node v0.12.",
243
243
  "_attachments": {}
@@ -1599,7 +1599,7 @@
1599
1599
  "dist-tags": {
1600
1600
  "latest": "0.3.0"
1601
1601
  },
1602
- "_rev": "76-634e992ca574dabf",
1602
+ "_rev": "78-1469e4aac33bffdc",
1603
1603
  "_id": "@aws/lambda-invoke-store",
1604
1604
  "readme": "# Node.js Invoke Store for AWS Lambda\n\n`@aws/lambda-invoke-store` provides a generic, per-invocation context store for\nAWS Lambda Node.js Runtime Environment. It enables storing and retrieving data\nwithin the scope of a single Lambda invocation, with proper isolation between\nconcurrent executions.\n\n## Features\n\n- **Invocation Isolation**: Safely store and retrieve data within a single Lambda invocation.\n- **Protected Lambda Context**: Built-in protection for Lambda execution metadata (requestId, [traceId](https://docs.aws.amazon.com/xray/latest/devguide/xray-concepts.html#xray-concepts-traces), [W3C Trace Context](https://www.w3.org/TR/trace-context/), [W3C Baggage](https://www.w3.org/TR/baggage/))\n- **Custom Data Storage**: Store any custom data within the invocation context\n- **Async/Await Support**: Full support for asynchronous operations with context preservation\n- **Type Safety**: Complete TypeScript type definitions\n- **Singleton Pattern**: Ensures a single shared instance across all imports\n- **Global Namespace Integration**: Integrates with the Lambda runtime global namespace\n\n## Installation\n\n```bash\nnpm install @aws/lambda-invoke-store\n```\n\n## Quick Start\n\n> **Note**: In the AWS Lambda environment, the Runtime Interface Client (RIC) automatically initializes the InvokeStore context at the beginning of each invocation. Lambda function developers typically don't need to call `InvokeStore.run()` directly.\n\n```typescript\nimport { InvokeStore } from \"@aws/lambda-invoke-store\";\n\n// Lambda handler with invoke store\nexport const handler = async (event, context) => {\n // The RIC has already initialized the InvokeStore with requestId and X-Ray traceId\n\n // Access Lambda context data\n const invokeStore = await InvokeStore.getInstanceAsync();\n console.log(`Processing request: ${invokeStore.getRequestId()}`);\n\n // Store custom data\n invokeStore.set(\"userId\", event.userId);\n\n // Data persists across async operations\n await processData(event);\n\n // Retrieve custom data\n const userId = invokeStore.get(\"userId\");\n\n return {\n requestId: invokeStore.getRequestId(),\n userId,\n };\n};\n\n// Context is preserved in async operations\nasync function processData(event) {\n // Still has access to the same invoke context\n const invokeStore = await InvokeStore.getInstanceAsync();\n console.log(`Processing in same context: ${invokeStore.getRequestId()}`);\n\n // Can set additional data\n invokeStore.set(\"processedData\", { result: \"success\" });\n}\n```\n\n## API Reference\n\n### InvokeStore.getInstanceAsync()\nFirst, get an instance of the InvokeStore:\n```typescript\nconst invokeStore = await InvokeStore.getInstanceAsync();\n```\n\n### invokeStore.getContext()\n\nReturns the complete current context or `undefined` if outside a context.\n\n```typescript\nconst context = invokeStore.getContext();\n```\n\n### invokeStore.get(key)\n\nGets a value from the current context.\n\n```typescript\nconst requestId = invokeStore.get(InvokeStoreBase.PROTECTED_KEYS.REQUEST_ID);\nconst customValue = invokeStore.get(\"customKey\");\n```\n\n### invokeStore.set(key, value)\n\nSets a custom value in the current context. Protected Lambda fields cannot be modified.\n\n```typescript\ninvokeStore.set(\"userId\", \"user-123\");\ninvokeStore.set(\"timestamp\", Date.now());\n\n// This will throw an error:\n// invokeStore.set(InvokeStoreBase.PROTECTED_KEYS.REQUEST_ID, 'new-id');\n```\n\n### invokeStore.getRequestId()\n\nConvenience method to get the current request ID.\n\n```typescript\nconst requestId = invokeStore.getRequestId(); // Returns '-' if outside context\n```\n\n### invokeStore.getTenantId()\n\nConvenience method to get the tenant ID.\n\n```typescript\nconst requestId = invokeStore.getTenantId();\n```\n\n### invokeStore.getXRayTraceId()\n\nConvenience method to get the current [X-Ray trace ID](https://docs.aws.amazon.com/xray/latest/devguide/xray-concepts.html#xray-concepts-traces). This ID is used for distributed tracing across AWS services.\n\n```typescript\nconst traceId = invokeStore.getXRayTraceId(); // Returns undefined if not set or outside context\n```\n\n### invokeStore.getTraceparent()\n\nConvenience method to get the [W3C `traceparent`](https://www.w3.org/TR/trace-context/#traceparent-header) header value.\n\n```typescript\nconst traceparent = invokeStore.getTraceparent(); // e.g. \"00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01\"\n```\n\n### invokeStore.getTracestate()\n\nConvenience method to get the [W3C `tracestate`](https://www.w3.org/TR/trace-context/#tracestate-header) header value.\n\n```typescript\nconst tracestate = invokeStore.getTracestate(); // e.g. \"congo=t61rcWkgMzE,rojo=00f067aa0ba902b7\"\n```\n\n### invokeStore.getBaggage()\n\nConvenience method to get the [W3C Baggage](https://www.w3.org/TR/baggage/) header value.\n\n```typescript\nconst baggage = invokeStore.getBaggage(); // e.g. \"userId=alice,serverNode=DF28\"\n```\n\n### invokeStore.hasContext()\n\nChecks if code is currently running within an invoke context.\n\n```typescript\nif (invokeStore.hasContext()) {\n // We're inside an invoke context\n}\n```\n\n### invokeStore.run(context, fn)\n\n> **Note**: This method is primarily used by the Lambda Runtime Interface Client (RIC) to initialize the context for each invocation. Lambda function developers typically don't need to call this method directly.\n\nRuns a function within an invoke context.\n\n```typescript\ninvokeStore.run(\n {\n [InvokeStoreBase.PROTECTED_KEYS.REQUEST_ID]: \"request-123\",\n [InvokeStoreBase.PROTECTED_KEYS.X_RAY_TRACE_ID]: \"trace-456\", // Optional X-Ray trace ID\n customField: \"value\", // Optional custom fields\n },\n () => {\n // Function to execute within context\n }\n);\n```\n\n## Integration with AWS Lambda Runtime\n\nThe `@aws/lambda-invoke-store` package is designed to be integrated with the AWS Lambda Node.js Runtime Interface Client (RIC). The RIC automatically:\n\n1. Initializes the InvokeStore context at the beginning of each Lambda invocation\n2. Sets the `requestId` and [X-Ray `traceId`](https://docs.aws.amazon.com/xray/latest/devguide/xray-concepts.html#xray-concepts-traces) in the context\n3. Ensures proper context isolation between concurrent invocations\n4. Cleans up the context after the invocation completes\n\nLambda function developers can focus on using the context without worrying about initialization or cleanup.\n\n## Global Namespace and Singleton Pattern\n\nThe InvokeStore uses a singleton pattern to ensure that all imports of the module use the same instance, which is critical for maintaining proper context isolation across different parts of your application.\n\n### Global Namespace Integration\n\nThe InvokeStore integrates with the Lambda runtime's global namespace:\n\n```typescript\n// The InvokeStore is available globally\nconst globalInstance = globalThis.awslambda.InvokeStore;\n```\n\nThis enables seamless integration between the Lambda Runtime Interface Client (RIC), AWS SDK, and your function code, ensuring they all share the same context.\n\n### Environment Variable Opt-Out\n\nIf you prefer not to modify the global namespace, you can opt out by setting the environment variable:\n\n```bash\n# Disable global namespace modification\nAWS_LAMBDA_NODEJS_NO_GLOBAL_AWSLAMBDA=1\n```\n\nWhen this environment variable is set, the InvokeStore will still function correctly, but it won't be stored in the global namespace.\n\n## Security\n\nSee [CONTRIBUTING](CONTRIBUTING.md#security-issue-notifications) for more information.\n\n## License\n\nThis project is licensed under the Apache-2.0 License.",
1605
1605
  "_attachments": {}
@@ -1754,7 +1754,7 @@
1754
1754
  "dist-tags": {
1755
1755
  "latest": "5.2.0"
1756
1756
  },
1757
- "_rev": "435-6f965556b32087fe",
1757
+ "_rev": "437-a24a15709daedaca",
1758
1758
  "_id": "@aws-crypto/sha256-js",
1759
1759
  "readme": "# crypto-sha256-js\n\nA pure JS implementation SHA256.\n\n## Usage\n\n- To hash \"some data\"\n```\nimport {Sha256} from '@aws-crypto/sha256-js';\n\nconst hash = new Sha256();\nhash.update('some data');\nconst result = await hash.digest();\n\n```\n\n- To hmac \"some data\" with \"a key\"\n```\nimport {Sha256} from '@aws-crypto/sha256-js';\n\nconst hash = new Sha256('a key');\nhash.update('some data');\nconst result = await hash.digest();\n\n```\n\n## Test\n\n`npm test`",
1760
1760
  "_attachments": {}
@@ -2702,7 +2702,7 @@
2702
2702
  "latest": "6.0.6",
2703
2703
  "n-api": "4.0.0-napi"
2704
2704
  },
2705
- "_rev": "501-e791b02f8661cb5c",
2705
+ "_rev": "503-0028b7df87060660",
2706
2706
  "_id": "utf-8-validate",
2707
2707
  "readme": "# utf-8-validate\n\n[![Version npm](https://img.shields.io/npm/v/utf-8-validate.svg?logo=npm)](https://www.npmjs.com/package/utf-8-validate)\n[![Linux/macOS/Windows Build](https://img.shields.io/github/actions/workflow/status/websockets/utf-8-validate/ci.yml?branch=master&label=build&logo=github)](https://github.com/websockets/utf-8-validate/actions?query=workflow%3ACI+branch%3Amaster)\n\nCheck if a buffer contains valid UTF-8 encoded text.\n\n## Installation\n\n```\nnpm install utf-8-validate --save-optional\n```\n\nThe `--save-optional` flag tells npm to save the package in your package.json\nunder the\n[`optionalDependencies`](https://docs.npmjs.com/files/package.json#optionaldependencies)\nkey.\n\n## API\n\nThe module exports a single function that takes one argument. To maximize\nperformance, the argument is not validated. It is the caller's responsibility to\nensure that it is correct.\n\n### `isValidUTF8(buffer)`\n\nChecks whether a buffer contains valid UTF-8.\n\n#### Arguments\n\n- `buffer` - The buffer to check.\n\n#### Return value\n\n`true` if the buffer contains only correct UTF-8, else `false`.\n\n#### Example\n\n```js\n'use strict';\n\nconst isValidUTF8 = require('utf-8-validate');\n\nconst buf = Buffer.from([0xf0, 0x90, 0x80, 0x80]);\n\nconsole.log(isValidUTF8(buf));\n// => true\n```\n\n## License\n\n[MIT](LICENSE)",
2708
2708
  "_attachments": {}
@@ -5155,7 +5155,7 @@
5155
5155
  "dist-tags": {
5156
5156
  "latest": "2.28.1"
5157
5157
  },
5158
- "_rev": "1181-f12a0da123995dc8",
5158
+ "_rev": "1184-486aa8abd5a035bb",
5159
5159
  "_id": "streamx",
5160
5160
  "readme": "# streamx\n\nAn iteration of the Node.js core streams with a series of improvements.\n\n```\nnpm install streamx\n```\n\n[![Build Status](https://github.com/streamxorg/streamx/workflows/Build%20Status/badge.svg)](https://github.com/streamxorg/streamx/actions?query=workflow%3A%22Build+Status%22)\n\n## Main improvements from Node.js core stream\n\n#### Proper lifecycle support.\n\nStreams have an `_open` function that is called before any read/write operation and a `_destroy`\nfunction that is always run as the last part of the stream.\n\nThis makes it easy to maintain state.\n\n#### Easy error handling\n\nFully integrates a `.destroy()` function. When called the stream will wait for any\npending operation to finish and call the stream destroy logic.\n\nClose is _always_ the last event emitted and `destroy` is always run.\n\n#### `pipe()` error handles\n\n`pipe` accepts a callback that is called when the pipeline is fully drained.\nIt also error handles the streams provided and destroys both streams if either\nof them fail.\n\n#### All streams are both binary and object mode streams\n\nA `map` function can be provided to map your input data into buffers\nor other formats. To indicate how much buffer space each data item takes\nan `byteLength` function can be provided as well.\n\nThis removes the need for two modes of streams.\n\n#### Simplicity\n\nThis is a full rewrite, all contained in one file.\n\nLots of stream methods are simplified based on how I and devs I work with actually use streams in the wild.\n\n#### Backwards compat\n\nstreamx aims to be compatible with Node.js streams whenever it is reasonable to do so.\n\nThis means that streamx streams behave a lot like Node.js streams from the outside but still provides the\nimprovements above.\n\n#### Smaller browser footprint\n\nstreamx has a much smaller footprint when compiled for the browser:\n\n```\n$ for x in stream{,x}; do echo $x: $(browserify -r $x | wc -c) bytes; done\nstream: 173844 bytes\nstreamx: 46943 bytes\n```\n\nWith optimizations turned on, the difference is even more stark:\n\n```\n$ for x in stream{,x}; do echo $x: $(browserify -r $x -p tinyify | wc -c) bytes; done\nstream: 62649 bytes\nstreamx: 8460 bytes\n$ for x in stream{,x}; do echo $x: $(browserify -r $x -p tinyify | gzip | wc -c) \"bytes (gzipped)\"; done\nstream: 18053 bytes (gzipped)\nstreamx: 2806 bytes (gzipped)\n```\n\n#### AbortSignal support\n\nTo make it easier to integrate streams in a `async/await` flow, all streams support a `signal` option\nthat accepts a [`AbortSignal`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal) to as an\nalternative means to `.destroy` streams.\n\n## Usage\n\n```js\nconst { Readable } = require('streamx')\n\nconst rs = new Readable({\n read(cb) {\n this.push('Cool data')\n cb(null)\n }\n})\n\nrs.on('data', (data) => console.log('data:', data))\n```\n\n## API\n\nThis streamx package contains 4 streams similar to Node.js core.\n\n## Readable Stream\n\n#### `rs = new stream.Readable([options])`\n\nCreate a new readable stream.\n\nOptions include:\n\n```\n{\n highWaterMark: 16384, // max buffer size in bytes\n map: (data) => data, // optional function to map input data\n byteLength: (data) => size, // optional function that calculates the byte size of input data\n signal: abortController.signal, // optional AbortSignal that triggers `.destroy` when on `abort`\n eagerOpen: false // eagerly open the stream\n}\n```\n\nIn addition you can pass the `open`, `read`, and `destroy` functions as shorthands in\nthe constructor instead of overwrite the methods below.\n\nThe default byteLength function returns the byte length of buffers and `1024`\nfor any other object. This means the buffer will contain around 16 non buffers\nor buffers worth 16kb when full if the defaults are used.\n\nIf you set highWaterMark to `0` then all read ahead buffering on the stream\nis disabled and it will only call `_read` when a user reads rather than ahead of time.\n\n#### `rs._read(cb)`\n\nThis function is called when the stream wants you to push new data.\nOverwrite this and add your own read logic.\nYou should call the callback when you are fully done with the read.\n\nCan also be set using `options.read` in the constructor.\n\nNote that this function differs from Node.js streams in that it takes\nthe \"read finished\" callback.\n\n#### `drained = rs.push(data)`\n\nPush new data to the stream. Returns true if the buffer is not full\nand you should push more data if you can.\n\nIf you call `rs.push(null)` you signal to the stream that no more\ndata will be pushed and that you want to end the stream.\n\n#### `data = rs.read()`\n\nRead a piece of data from the stream buffer. If the buffer is currently empty\n`null` will be returned and you should wait for `readable` to be emitted before\ntrying again. If the stream has been ended it will also return `null`.\n\nNote that this method differs from Node.js streams in that it does not accept\nan optional amounts of bytes to consume.\n\n#### `rs.unshift(data)`\n\nAdd a piece of data to the front of the buffer. Use this if you read too much\ndata using the `rs.read()` function.\n\n#### `rs._open(cb)`\n\nThis function is called once before the first read is issued. Use this function\nto implement your own open logic.\n\nCan also be set using `options.open` in the constructor.\n\n#### `rs._destroy(cb)`\n\nThis function is called just before the stream is fully destroyed. You should\nuse this to implement whatever teardown logic you need. The final part of the\nstream life cycle is always to call destroy itself so this function will always\nbe called whether or not the stream ends gracefully or forcefully.\n\nCan also be set using `options.destroy` in the constructor.\n\nNote that the `_destroy` might be called without the open function being called\nin case no read was ever performed on the stream.\n\n#### `rs._predestroy()`\n\nA simple hook that is called as soon as the first `stream.destroy()` call is invoked.\n\nUse this in case you need to cancel pending reads (if possible) instead of waiting for them to finish.\n\nCan also be set using `options.predestroy` in the constructor.\n\n#### `rs.destroy([error])`\n\nForcefully destroy the stream. Will call `_destroy` as soon as all pending reads have finished.\nOnce the stream is fully destroyed `close` will be emitted.\n\nIf you pass an error this error will be emitted just before `close` is, signifying a reason\nas to why this stream was destroyed.\n\n#### `rs.pause()`\n\nPauses the stream. You will only need to call this if you want to pause a resumed stream.\n\nReturns this stream instance.\n\n#### `rs.resume()`\n\nWill start reading data from the stream as fast as possible.\n\nIf you do not call this, you need to use the `read()` method to read data or the `pipe()` method to\npipe the stream somewhere else or the `data` handler.\n\nIf none of these option are used the stream will stay paused.\n\nReturns this stream instance.\n\n#### `rs.setEncoding(encoding)`\n\nSet an encoding to change how data is interpreted. E.g. `utf-8`.\n\n#### `bool = Readable.isPaused(rs)`\n\nReturns `true` if the stream is paused, else `false`.\n\n#### `writableStream = rs.pipe(writableStream, [callback])`\n\nEfficently pipe the readable stream to a writable stream (can be Node.js core stream or a stream from this package).\nIf you provide a callback the callback is called when the pipeline has fully finished with an optional error in case\nit failed.\n\nTo cancel the pipeline destroy either of the streams.\n\n#### `rs.on('readable')`\n\nEmitted when data is pushed to the stream if the buffer was previously empty.\n\n#### `rs.on('data', data)`\n\nEmitted when data is being read from the stream. If you attach a data handler you are implicitly resuming the stream.\n\n#### `rs.on('end')`\n\nEmitted when the readable stream has ended and no data is left in it's buffer.\n\n#### `rs.on('close')`\n\nEmitted when the readable stream has fully closed (i.e. it's destroy function has completed)\n\n#### `rs.on('error', err)`\n\nEmitted if any of the stream operations fail with an error. `close` is always emitted right after this.\n\n#### `rs.on('piping', dest)`\n\nEmitted when the readable stream is pipeing to a destination.\n\n#### `rs.on('open')`\n\nEmitted after `rs._open(cb)` execution.\n\n#### `rs.destroying`\n\nBoolean property indicating whether or not this stream has started to be destroyed.\n\n#### `rs.destroyed`\n\nBoolean property indicating whether or not this stream has been destroyed.\n\n#### `rs.readable`\n\nReturns `true` if the stream is an active streamx readable stream. Returns `undefined` if not.\n\n#### `bool = Readable.isBackpressured(rs)`\n\nStatic method to check if a readable stream is currently under backpressure.\n\n#### `stream = Readable.from(arrayOrBufferOrStringOrAsyncIterator)`\n\nStatic method to turn an array or buffer or string or AsyncIterator into a readable stream.\n\n## Writable Stream\n\n#### `ws = new stream.Writable([options])`\n\nCreate a new writable stream.\n\nOptions include:\n\n```\n{\n highWaterMark: 16384, // max buffer size in bytes\n map: (data) => data, // optional function to map input data\n byteLength: (data) => size, // optional function that calculates the byte size of input data\n signal: abortController.signal // optional AbortSignal that triggers `.destroy` when on `abort`\n}\n```\n\nIn addition you can pass the `open`, `write`, `final`, and `destroy` functions as shorthands in\nthe constructor instead of overwrite the methods below.\n\nThe default byteLength function returns the byte length of buffers and `1024`\nfor any other object. This means the buffer will contain around 16 non buffers\nor buffers worth 16kb when full if the defaults are used.\n\n#### `ws._open(cb)`\n\nThis function is called once before the first write is issued. Use this function\nto implement your own open logic.\n\nCan also be set using `options.open` in the constructor.\n\n#### `ws._destroy(cb)`\n\nThis function is called just before the stream is fully destroyed. You should\nuse this to implement whatever teardown logic you need. The final part of the\nstream life cycle is always to call destroy itself so this function will always\nbe called whether or not the stream ends gracefully or forcefully.\n\nCan also be set using `options.destroy` in the constructor.\n\nNote that the `_destroy` might be called without the open function being called\nin case no write was ever performed on the stream.\n\n#### `ws._predestroy()`\n\nA simple hook that is called as soon as the first `stream.destroy()` call is invoked.\n\nUse this in case you need to cancel pending writes (if possible) instead of waiting for them to finish.\n\nCan also be set using `options.predestroy` in the constructor.\n\n#### `ws.destroy([error])`\n\nForcefully destroy the stream. Will call `_destroy` as soon as all pending reads have finished.\nOnce the stream is fully destroyed `close` will be emitted.\n\nIf you pass an error this error will be emitted just before `close` is, signifying a reason\nas to why this stream was destroyed.\n\n#### `drained = ws.write(data)`\n\nWrite a piece of data to the stream. Returns `true` if the stream buffer is not full and you\nshould keep writing to it if you can. If `false` is returned the stream will emit `drain`\nonce it's buffer is fully drained.\n\n#### `ws._write(data, callback)`\n\nThis function is called when the stream want to write some data. Use this to implement your own\nwrite logic. When done call the callback and the stream will call it again if more data exists in the buffer.\n\nCan also be set using `options.write` in the constructor.\n\n#### `ws._writev(batch, callback)`\n\nSimilar to `_write` but passes an array of all data in the current write buffer instead of the oldest one.\nUseful if the destination you are writing the data to supports batching.\n\nCan also be set using `options.writev` in the constructor.\n\n#### `ws.end()`\n\nGracefully end the writable stream. Call this when you no longer want to write to the stream.\n\nOnce all writes have been fully drained `finish` will be emitted.\n\nReturns this stream instance.\n\n#### `ws.cork()`\n\nBuffer written data in memory. Useful for accumulating small chunks of data into a batch to be consumed by `writev`.\n\n#### `ws.uncork()`\n\nDisable `ws.cork()`.\n\n#### `ws._final(callback)`\n\nThis function is called just before `finish` is emitted, i.e. when all writes have flushed but `ws.end()`\nhave been called. Use this to implement any logic that should happen after all writes but before finish.\n\nCan also be set using `options.final` in the constructor.\n\n#### `ws.on('finish')`\n\nEmitted when the stream has been ended and all writes have been drained.\n\n#### `ws.on('close')`\n\nEmitted when the readable stream has fully closed (i.e. it's destroy function has completed)\n\n#### `ws.on('error', err)`\n\nEmitted if any of the stream operations fail with an error. `close` is always emitted right after this.\n\n#### `ws.on('pipe', src)`\n\nEmitted when a readable stream is being piped to the writable one.\n\n#### `ws.on('open')`\n\nEmitted after `ws._open(cb)` execution.\n\n#### `ws.on('drain')`\n\nEmitted after all data was drained if `ws.write(data)` returned `false`.\n\n#### `ws.destroying`\n\nBoolean property indicating whether or not this stream has started to be destroyed.\n\n#### `ws.destroyed`\n\nBoolean property indicating whether or not this stream has been destroyed.\n\n#### `ws.writable`\n\nReturns `true` if the stream is an active streamx writable stream. Returns `undefined` if not.\n\n#### `bool = Writable.isBackpressured(ws)`\n\nStatic method to check if a writable stream is currently under backpressure.\n\n#### `bool = await Writable.drained(ws)`\n\nStatic helper to wait for a stream to drain the currently queued writes.\nReturns true if they were drained and false otherwise if the stream was destroyed.\n\n## Duplex Stream\n\n#### `s = new stream.Duplex([options])`\n\nA duplex stream is a stream that is both readable and writable.\n\nSince JS does not support multiple inheritance it inherits directly from Readable\nbut implements the Writable API as well.\n\nIf you want to provide only a map function for the readable side use `mapReadable` instead.\nIf you want to provide only a byteLength function for the readable side use `byteLengthReadable` instead.\n\nSame goes for the writable side but using `mapWritable` and `byteLengthWritable` instead.\n\n## Transform Stream\n\nA Transform stream is a duplex stream with an `._transform` template method that allows to\nasynchronously map the input to a different output.\n\nThe transform stream overrides the `_write` and `_read` operations of `Readable` and `Writable` but\nstill allows the setting of these options in the constructor. Usually it is unnecessary to pass\nin `read` or `write`/`writev` or to override the corresponding `._read`, `._write` or `._writev` operation.\n\n#### `ts = new stream.Transform([options])`\n\nA transform stream is a duplex stream that maps the data written to it and emits that as readable data.\n\nHas the same options as a duplex stream except you can provide a `transform` function also.\n\n#### `ts._transform(data, callback)`\n\nTransform the incoming data. Call `callback(null, mappedData)` or use `ts.push(mappedData)` to\nreturn data to the readable side of the stream.\n\nPer default the transform function just remits the incoming data making it act as a pass-through stream.\n\n## Pipeline\n\n`pipeline` allows to stream form a readable through a set of duplex streams to a writable entry.\n\n```js\nconst { pipeline, Readable, Transform, Writable } = require('streamx')\nconst lastStream = pipeline(\n Readable.from([1, 2, 3]),\n new Transform({\n transform (from, cb) {\n this.push(from.toString())\n cb()\n }\n }),\n new Writable({\n write (data, cb) {\n console.log(data)\n cb()\n }\n })\n error => {\n // Callback once write has finished\n }\n)\n```\n\n#### `lastStream = stream.pipeline(...streams, [done])`\n\nPipe all streams together and return the last stream piped to.\nWhen the last stream finishes the pipeline ended succesfully.\n\nIf any of the streams error, whether they are Node.js core streams\nor streamx streams, all streams in the pipeline are shutdown.\n\nOptionally you can pass a done callback to know when the pipeline is done.\n\n#### `promise = stream.pipelinePromise(...streams)`\n\nSame as normal pipeline except instead of returning the last stream it returns\na promise representing the done callback. Note you should error handle this\npromise if you use this version.\n\n## Helpers\n\n#### `bool = isStream(stream)`\n\n#### `bool = isStreamx(stream)`\n\n#### `bool = isDisturbed(stream)`\n\nIndicates if the stream has been opened or started to be destroyed.\n\n#### `bool = isEnding(stream)`\n\nIndicates if a readable stream has started it's ending process.\n\n#### `bool = isEnded(stream)`\n\nIndicates if a readable stream ended, so all it's readings.\n\n#### `bool = isFinishing(stream)`\n\nIndicates if a writable stream has started it's ending process.\n\n#### `bool = isFinished(stream)`\n\nIndicates if a writable stream ended, so all it's writings.\n\n#### `err = getStreamError(stream, [options])`\n\nReturns `null` if the stream has no errors.\n\n## Utilities\n\nStreamx aims to be minimal and stable. It therefore only contains a minimal set of utilities.\nTo help discover of other modules that help you build streamx apps, we link some useful utilities here\n\n- [stream-composer](https://github.com/mafintosh/stream-composer) - Compose streams like Node's `stream.compose` and the `duplexify` and `pumpify` modules.\n- [teex](https://github.com/mafintosh/teex) - Clone a readable stream into multiple new readable instances.\n- [merge-readable](https://github.com/holepunchto/merge-readable) - Merge multiple readers into a new readable with optional mapping of data\n\n## Contributing\n\nIf you want to help contribute to streamx a good way to start is to help writing more test\ncases, compatibility tests, documentation, or performance benchmarks.\n\nIf in doubt open an issue :)\n\n## License\n\nMIT",
5161
5161
  "_attachments": {}