nodejs20-docs-20.11.1-150500.11.6.1<>,-e"p9|W;E+;2A:} gzjvF6QEQ /;\?Ld & @|  @  h   = =A DHIL@LPL`L(L8L9MP:ODFt7GtLHwtIzX{hY{l\{]~^mb cd6e;f>l@uTv|zHCnodejs20-docs20.11.1150500.11.6.1Node.js API documentationThe API documentation for the Node.js JavaScript runtime.e"h04-ch1anSUSE Linux Enterprise 15SUSE LLC MIThttps://www.suse.com/Documentation/Otherhttps://nodejs.orglinuxnoarchU y fiub1 a97CbP`c]z|bT7k; W<j+s`6eA\"#\;[Yq)1+*iK|Y} JmЫg*NcX-<g w8l&[Z nFI3[>{~  4B26jn1`>O-@ CZ~x#O )>8 s<j4r0Q9To it##r37RqS^FXKS>X,*>d2K^B L` p;*o:D?:Ԕ8d:"BY#`|R<Ş-J{:+ `ImʋAfAA큤A큤e"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee733d084b6f90ee5c2c26d47616f7312b84ff1d5c3dd4b5d873975e958f61c11461e6e12c1992ba9229ad2b6733a8600b0810b6fd7719631cd58b018a074422e92a07453f4fb7a2aad7c97a7f595f6f1ee40370c58ca5deab8e153f14267ffd82075c02ca32fad778cc559d44560cc5e99d8e8108c0043c79a9d6a603b9ae31ca76803f5c1aeb0a0f4a8b10b9013afdbd3e3db5df95c58cc25ae156e0040da2452be6c6d3afeeddc2886164f05bb764f0f04c5b4b76d93a47a48a3df8b0425a62f2f875eaa009ecc67531d5a64d8b743a52a3a4e00197624a4b9a5e005835c9201e483381889b384ecf660758cf317fd03f76a245acdd2061f922e56d1c5e91e9fef988d928d176de0afcc84d59915e7deae90997c7fffa53f10e3c0f9619679e2863f53e2c12212917cd00e9a663d37d58a165bbe501bed4148cf447aba9c3594e35cb18c97866ff100aee980af208eab0bf806865eb19d51afc338ae207009711ca10c73b0bfaacc1561063fac4cb54c89b5bb6dad8ea3cc2e3d9871fd0fdc104547522d8e00d948fbc95f502b778ab781e14a86298ea11a0ae3f4d5577bfdbf6cd066ffa2f1140107e75def5b4a47a57a880fc116c14889b351d5615a9b248ce70564d43c94bc6b773e946a9c54f5ec6bcb29dd89326ec07e16a0e3e9b79576a6cf9b8221de0475e5527a29b135638d0a1b92993b09c0e89db700d663574e911d6d043ed3a610eafadbd14273c1ef98ee6fcdb16cce5c20e8d64a2812538b8a4c49bdc514cc6d6b391ba6e96abbdb92b19afb923618c28c51673cf04449cd6a0f00169d4c5cad546979f7ee3200226d603ff46ceefd661403a6859df8b253aeb0cb65bca0a42652b913be90167555b27a2f3a59ab50c6251ec5c6dd89d519aa69cfe5cf33144952b2bda2241d880de97f7b39e47307eab2937a363ef5a702c85b538d26870510d0479d0636411bd0445adaf4cd270a37fcc2ffbb57887f18e224ad8242caa7a3ee447f3087fa58572a42f7ae1077fa67f8705aa5e4159e2c0df907f66143fc6d6be3c445caf51deae86d455976135290161d1f97e2625ac3b2b3b6e9915a90247e04c481ef33c892df86b37fd031ae94573f3ea01dab08ee18be0f2e47054a3c3190e2d9f4853a8acfb9c648456005f00c13195486ae69cd58bc02beedaa9218ee4f4a0bd48f47aee47598ecedcd5ef64d25cbaf556412eb2f7afc960ef3f010ce40484daf1235569b65fe46f3cdc138f862699af4d5ca9e0f168b642916ec7542e31916276614e3f829bffe78d29c21604688078c5e08fde11f9426a07011f84d2cb113d935eabe5ed86dc0c240d1308f02486ef31e04a7ac92892eb6e161e8f98537626ea0035a721313487348b2a633b918a18d903fafe39a3e0e297b0fc76f6ad1a696b4142850acd859cdb6cce06c68597fb461b42c7a3dd2b42317e4e207982d7a9a481962d72ca438b6c9b4f74f5c8cc0cf62fe2ddc44c6de3176e25454bd8852ee27f53ce120ba2483b038ac2f6c33b2b654f97d0ba8456227cd03dfcdc2bffd0585abbe4889aaccb72194724c51a8d176ca2ec73d65aef2fe6628ca5e662c611c7e9b4da5ecc80a66e21271f694e9fd555af2085aac5bf30e52d90b19411c15019a312550d198c20234128d2c5ac489a013a9b4aaaf7bbb83fcd05895545066623998de9328c700e34052fcd3fcb432b2837c4ed55867ed5e33345e99af8f5b70da974cadf564c438516eeb7d46e0fba5986de03f7ef768f2896071e6639a7cc5c5e8b62a35fa50c7edcd8d030ae741123cc080d9e580b98823c094d6c726ae7d4e4d4ff997d282d38f18577774be8a6161389432efca6b0d08ba922113be57934c60e66a10983237415b0d0cccb24526f5694d211f33a5fcd7d2bd5e154511c5f70c6f082573cd18e2ad89f9e490306d80d55613a493cc1703919adaf671863661a2ef50ec502be74658a9db81517ecbb515a3f687caed067f8e6409712664b2103709223cb2e6ebbf77d3f9aa0b4ff147107d70c3fd58576492e06890a6baa1e16b4663b3b722df00bbc279013a52614572aae7d9b976fa45828f00cf21b103e4bfb617442a139545d5e075df875048587aeb18f168e2c6e9c4a5aac64db4c0aef6960d8d48e341c76b08ea7e1b6d6ce3ec1e16f4dc4cd7bb0e0dc30033ea8eb6d7552109766a24d7b1f99693f3d9316a8c810c537b145c37a67e38a204c7efec818e79a2da5822941bb2ad5fc601f1f6caf63b57f65a8330250bfb4bc63e2be9e62d83baae6a12227d6eb3cd811363d4fa30b5b8aafb1647963c1c017f67fd354ec55df7cecd3ecd2d0e89f6510e123ea290fff24ff6f0493ef29f13572bf88994afc1f2a7a9286862a874e8ffc315e107af00c762642e0c73a5191a4359c8c7e85b32f19ed3510df19ac3728c3542ea0f78c4b5c4814d7b7244e0844d1b73b3c8e0626ab8284812736eb4a162fe1a97241a3bd3953cbe59c2407229123ffe309bd2bceef02a63e9776a53ad13537e87edc770af6f52391fc5f87fa8e5365f85e5497c32fcfb0e02669f2c3cc3ef126dbdf58e25d110238d7e1fdb10edb2bd8fa9bc8a584ccd45edae8c565b22bfae03f1f8baaf6420d3be4b88c5e0b86fdb71b178cf0b5385dd8e6762d142f4b800f3878759c7623043a6748dd08190d945cc8598a58684ea2f1f4924a174aea765f3d1b02ddfee2f734a5ba60dc0dedfbb2ea2efb5c14e64aef173afc0198e4b8281be28a2019ec118e1900d9606ed5469f7f69429a51448dbea6dfa3005713e3d6adc73ef98175b0a05b8d0fff3d16f6d210566b1616932c429b6fc8314aa91c4472fe31c6f5eabb92c4ed5362e4b5504813aecdc1b3ef6c57365266392e4b2d795fd294ba398082081dd4915e4c929ad45b4911d4fb36736457fc6cc0027daded6b493ed002c63331734d6fb36e114edfbd9290be36d3f157dffe3e8babcebe99d6f590d0c9faa5a2db27452f4bf812bc8593fb004e1b11c7260894d6959c1188e218c7ea18a30f04213040bd412c1a3c4b51efd98e8b738ef4ec5faa29e198bcd26984b8806e64de5368a3c7f3eda3bd0cefa63157ed9e1f8bef97a29739a847df976820fa4eed5508004bb2b5a8361a3b43c7b7109c7bdbecb429b12750bd38f9e2b6e965892eabe93f1214d8a8db60d3871263ccec2f49dff3ca8e532d794cdf9db9fd2da75e4122d78f025c532b34553941a35363826c51d33a2c4eb42409dc350c636fafd0c1829d95510938cd40b7b8d709d0b5ad942543981c326bd6d1d7fa2645af58bc65bc1baab64984f6041bcb3c1a3c982b07750bfd58f4a818aacc9047eb0dd46bc49ce295594f7ee33080f533e512050f5bb2787ba590a9c8fe305899da29d146c59b0e12565c91ff2d01064a1f12253308f7dc0dfb91befaf74cdfb8d5a2c3c5915f5cfe68404a08929d58fdb6d7dc1e7193fba9ef60b9f6b3880186178bd250b06e880fccf6c097e8cbe294ed374ce6ee3a345bda91bddb2ae01bf60bea15e1a5f797284345e3f99bf114bd28e050f7a9b78725ada50bbc906cdad6a9168d2637d889d1042d431f44960ec748366ff0c8ec33e7dcb748378c8aa4c18aae0d9c93f150f0d82741488127a21a33de39c65b33093da0fe946f34fe926e15c5ffc51d03a38ed592f9724112953e0c8473626bbe49e815a8cd70a2609d1da778bb9b6d3064e58c7573698e26444cf50b6e1e190a1c9e53e729543554193985ac6c3d9375cff89c5db277391e72c68ac23521c9c7c065477aded55d1e91e025dbc69e259644b77c01b8248e74d9e2c7ce4196bea86b72c2faf7003782a7b5479d0fae840a6235c6955fe442e91b35129775e38e74dc16cc2e232d0f7d11f7a002c1a9f460589a033b54dc8c5e47f80f5473a52dae7e2eec005b0207b4a9262c964142dd99788fcc79d20375c7093bf7f87ff10e5dcfbba402e6ba837e864876f525f48e00a6c3796ac6b5b47279a803c39c6c1cc4c96da150b5d145ae5bff1742f53038b12fbcd3c6687b17a9017d13f840a201675704c90e9c0a99ada348f75702bafdb859c2f146697f302d2b9c452ccca4f996a461839bd4f64f4c59432f44fb8939cb656c50c6e1c6ec2b8895fe7078dd59b97c4533ce00e9fdf7b1592423e97c0a45c6f5936d8053cc5a3fabf5c34173ccf797148532d225ce0558d92916a7251bf8190c84c94af4f71328685887e892c81a8885c2d19ff1ffba928761d05214aa7226c406fbaf446a25050d7d2ea6dba2859aa59cff80b7d546a69de455fee5b5fdc0e0816804fcde03757f62a582c7aaf968301a5f7ed70ff248723c3049df8a5cd626bbcabca5791936574ab4c6a0184273c197481d1758f773c1bc8ba5c4e0c6b1a59cda07c3e255c2a75c4b4db682a1b43bea3341628e54a0f22ea5f4e0a161e91a5e052f31419c21b428aeb1344951d51530e40f8e2679ff99e598eb6760df3983f498d3230dc9a020a46305ded0f16f19805b6dd27092d1aa53d0b57fd1c76f0349e8e6b5f80ad16a7b856f08ba63c57706b7332fc0c02adea90f7f4dea0f737498eebc04089e7638ce77b1ff1caf3c730f4d90e49c42f3a63319c48270e117a65d6b0a95fc0a2315e8c341aa5741006e053f2413242d13c80c2215ad6dfb63e65a414f7982f21b32c52870e98a4d97e56ba2e6470f21e11c4a69464ec1fcb89efaa903bb0390aec2b0fb3016ddb1aaaa593f2bd61e752d14f219d6e615721222df38af82c87527dfda2d8ef6777320c0d9a6f68c4e33efd9d967bbe29b80f29c0ccff9520a8d2741fc91a79704db7122a055fae31c99d85840659960f68465b5183b35fafda472bed47248bcd113bdef4f698fa8a0ee43b9fbbfd4598f5e9970474b15c913ba006251027f552a10f2ba2ec69541addd5f423b6bf92fafe9c746e89e3f3f625465e05009043b6671e39b7df8c37e3e5a34331fca9a20b6e0e0bab8d2a47e99b279ff896a7e8cc950448f50cc48383b34afb045043ab02ce9bf664c19fe9d61a6fd1a1bfd4f8caeec6534db023f89167922c518553ad1656d55504535a1b6c7ffa4f4c3f92cdd1a968d5d22f20f93f29bf8afcec82985db652d71399e6e1c86b51b28fd533ae6dacdfc6e705cae8d09ab4108cc4b8792bca4e2703502dece9aaf7230916307cf8b167b02ff69001e2ed448e131e31d9fd5a8a05601155958fb4c2fbaac9019626049195fdeb262d6e3db53bef3c908849b3a942e2c6d0613b1a3e5b570c44ffcd22112149eeecfa96c12960740f289844044141c84960f430a56d2d27461efaf45382f017892d9d7cdc4e770e2e2a5b4ab3733db12f21415fa3b1df42ef7f6a159f3debd71404a34e3412b90c892ef7c61eb7b103899dd368e9f5eaff3247fc9695791ee0c065ca1e661150d9fd0bde98b95e6afe3fb9a4649bf6f8ad7ae48ba1ad18c71a17d7ceeb6456b20966a4cec0d95f12c86de6c2a8e9563b700b2e7d4286886a67fa73748b4d71a033b5734e1e45e52c6ef38881d177473138c39ab3905f9f954340cd5b0eda63c2dda8bd65a8804baae4b360f49aaa1177303a2b68e5d92d24d146d37baca4df5b1ff612ff94ef67778ae79ae9e37fd8906f2852f2766a822c7116565ee3f4e7e10f5902c1af1fe7420ac4fff44de997c6109b10dae645f393f5f557929cf70249736166a4b3d8727a9b3af0ff93419fef66706d494c3553f084ee6ef6978f2dfc43608a7d2514d43ac11ef4346f5a1ec00a6a35894e8bc61a4f774382a7bcdefb05b2104de765d4492b4c08512418c8a5cf03318511b58150218ac7a1285058dab55ca967185310e438d586b0e66c2e03096a277af052b9a7f7b1f1ffdd0b66ae9f63b4ab21404e7c4b74e5b84378fa82d6118013821f0b239f8ead4047c2cedd22035c8e432db78a8f3f047fd4d8f42343850551a52402eb06163be416c791771e80f85b38447f21005eb5ab340500f6c25c733cdc1ee9319461c0627453fa9cdbb4e63bdff9115cd0089e04042bbb38160ab73f522127eeb03c17ec7842f5a143f0a3733dc7dad435a401f56ad96be61d1d782f891815fcf23af2b2fa8d66f7dbe244b22c9801710b1b5be4a79366a5c69e0d486a32d0cc7291892623f483382c14a1d77e63d6f15e52e9cbdc9483cb34bd1c850fdf2595a4bc821b6bce1c736cc014d16266074049d4e7c314db4816da8c23e5ae847533b115e981dde59bf9a5f242039c137e51e6d3d67a70b6c6a20d7cb1d8f0556cc26b1e80c40f92b87381063e7ad5c1ce29a5d07b169833e7af0dd37cbd87484fad98c28e388986da8ab965882dff95237600f6adef197b0eee43a54c071a06c8621f25721ef78b36497f80e96f870d59e52fa412390af4d8fda4b6c7c5f6556dcca53cd06d54411016b6313ba524f3b1b0ea293998deb3637845ad61d3466cf96035f850a4da9fe5c9c2ce0f51286bfdb5d09768effc8a59461b9f793a0879a01d16361e918bf18c81950a77b326750361aadb1a6ea99efb2f5c01548dda75061ac8f7a14e28210955f9788f6fbb51e657134c46d9cdd8165ffef3b11ad4ead5f630647d5e4129ea29359bb70c8c3c690f11cf018aa32307fc5acb636b2744eb34315926f14c14c469ab00152b3eb654cbee5f34f1cba1aa752bcb1cac3731c2edc7f31f8f4df8afa8cfc2f3bf628f304be80a7bd0a0217a3ed84c14ba1fc63cec6ac26c83eff0f7bb27f00681389fade10f0c0536892a0b710f5b2864a9ee26501c5947abe8fe15118939dd9366485d2ba0d5658a91d1bac49bb5b311b80ba32e121f53ab572b710d2e6b5df16c871a537e9ac12885e98e232d5153bf8a607599c7caa7baf5c6903464ca87831717cc89d21b28baee3ab3d62acb9eb0a3d37b9673d438ff697da6802ed51ed96be58146ff7598c235a560f6630fedfa8000974ec59bae47336b8fa7540e9b689e109800e6ba860f2ff30bc3e89447e783d1d3e9eddf4d92d1ced5b4cde2b0802fcd411818191be50d18a0aa4e251b5edb710e28d19b418692cc0c70a3eab2449061a633f773db6556e1cbc42a815b14f4cd100e641fd4121a46ba85a67dee783dff685372da43d8880b9f64bf7111286443b073d8348d35bc2320132f93d495204591fc94009c2f605fb19c35b12f9fd9c7cb3fe8825021a511f098baa0aba949f7dce16b47de0fee846954d6e77e5e3b0b77f38c0869e3a8be388661c1f86cb2de23971ab79cccffa8a1c9130e8ab01adb396d8a7f7815ffce14f5e16a6351b09a8885641ee89d038c2bdf448bab573b23a77f3d1b032ef9df8fa69b368bfdb5e46c95193e28f4b5dc7c5cd7cc99070fc5e359ee3b46ed83aa3034295b54104dba5a0400ad88ecb79f77459c61168bc04b6bcf7404f0e5d0cbdbe58b970d43a08dabf6a37c0bff7f83add490020e2fc522a2c5221a0f61a22fee685d70aedae58ddb40f3b224e5d9d3909bebdfa3e06ea14334b456997b266a696574e85d5a5170f08bb492560dfee4f5b3196ba0b3c6c916b1ee0b452012c2c511a106d36bb9e26926a28d1c4e5e61f3b635a09c7d8887dadd591e34cba773596f015552b6b597399bd52f04397aef7108baf5bf2ce93c9039f610f853711a3e7fd0150d3ce4a8a8655c3bc4d057714eb53d7138f09e143a60d7d19e3ae3c7cadfcd3a21edf7986e55b89bf70227c0468c27c5c5ec0b258ac1ee593a0bbd01816027d80f5fe9dec768311920a83fc3d18116a809ff056e45d3f00c19c27d1038008f46aeaf711eb4fde31f2f54138576ad0209a1b61c63b4d5a577258755b92cb14e6fed94daf77d037b6b7aa79ca0c9d8ab06f8ff181b2ae1499bb51db069a75591a7857394436d5948eea603b2bdc5a1726b2de1beabba911a940aac1fcd1ffc6a6f6790b9a894bc65ffeb1c0bb6a257e67a6c0a0e67ea49fa30829cc1159e38af7a4523ab56840512913e11ab3f212af2d347c1641595dfdc423579e58bb37f9fdc403b4e613071ffaa5b44a0721a11cc7da0f4829eb29fedac9968073a12ff16c3add52c53c6000631563d76ec60af10f019dec1d44e3ea84021579df0657062d39fbcef9944143bfe8a228b295beebdeff0e0b7b1075b736c10f94342eeb45ed92084e33e2d802707d6c0f278c349fc04cf2754a62c36f5aae15d93d0abdfed1ecd62f53b5dfb72d46d1b0946c44d4dd68801a8b2037e082bc3006c1582b5fb30a6ad2b4e3eb7450dbc70737ef3f12d29d8e7408e26c5980bbbe1740657ab3ae982403715b5c1fc799ce25b759dc506d340971db8fb3f7e6a32f01a9049146649b2e23eb49a157f26df52ff38cf4ec19d86c208e445799076b87655cb559585252a828a3299d1bc69708e3f60baa7c5c0618531c357c6073a4727ef5739b1cc697dd41d858284761d67ecb0aab33981f36800e63e43cc21c22bd170c4f771ca08fba030657cd0434f0fbbdbb50d115b1759cec8c5df370883eb527acc34f5ead6dd8ace30b290220467ba886ad771dfdf545df106e3afed1f6586d66ed9263a7dcf23082e537f5f4c1e03243e9848cbdfaf2ae37a4d9329fe748e47adfd8086f90556c9c0ad82e60a9562ca680597248487c56efa8ec8e17d3e489e631fa9d4f4562654f7afebd540c1a48b453cf2ec3138e853a709d8cf474be4206797098ab3e2909e477bdff683b2976aa6809103264fa7ec2fc27e2cbe1b611b9f096183c13b11fc52230a471f43bfea4ba1f7da4e43fee44cb127498f24d3fa945faf573022cd5f146821b045332e16b53010f0e9935b0ddc73696da524a933ced0590ce4a1aff81dbd7fdeaef3c9da9032e0ad4d80b123a7276870630ab737637a88fed5ddbe2b1ccd79cc083278ec82c112a6d7c0261b1eddada5642706098e060a874f36b41b077c0700ebb408fd5bfae6e2706b22c5f33902c7bdb94683e72e3df1e8618c481499a2708ec933c9397a984fec758caec0fe1b1b513949d47f1e124rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootnodejs20-20.11.1-150500.11.6.1.src.rpmnodejs20-docs    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3eN@e@e@eee_>eLe;@e7e-%e@e @e;d d@dd@d@d@dkY@dgddbd^*@d[@dS@d?adam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.dedimstar@opensuse.orgadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deotto.hollmann@suse.comadam.majer@suse.deadam.majer@suse.de- Update to 20.11.1: (security updates) * (CVE-2024-21892, bsc#1219992) - Code injection and privilege escalation through Linux capabilities- (High) * (CVE-2024-22019, bsc#1219993) - http: Reading unprocessed HTTP request with unbounded chunk extension allows DoS attacks- (High) * (CVE-2024-21896, bsc#1219994) - Path traversal by monkey-patching Buffer internals- (High) * (CVE-2024-22017, bsc#1219995) - setuid() does not drop all privileges due to io_uring - (High) * (CVE-2023-46809, bsc#1219997) - Node.js is vulnerable to the Marvin Attack (timing variant of the Bleichenbacher attack against PKCS#1 v1.5 padding) - (Medium) * (CVE-2024-21891, bsc#1219998) - Multiple permission model bypasses due to improper path traversal sequence sanitization - (Medium) * (CVE-2024-21890, bsc#1219999) - Improper handling of wildcards in --allow-fs-read and --allow-fs-write (Medium) * (CVE-2024-22025, bsc#1220014) - Denial of Service by resource exhaustion in fetch() brotli decoding - (Medium) * undici version 5.28.3 (CVE-2024-24758, bsc#1220017) * libuv version 1.48.0 (CVE-2024-24806, bsc#1219724)- update to 20.11.0: * esm: add import.meta.dirname and import.meta.filename * fs: add c++ fast path for writeFileSync utf8 * module: remove useCustomLoadersIfPresent flag * module: bootstrap module loaders in shadow realm * src: add --disable-warning option * src: create per isolate proxy env template * src: make process binding data weak * stream: use Array for Readable buffer * stream: optimize creation * test_runner: adds built in lcov reporter * test_runner: add Date to the supported mock APIs * test_runner, cli: add --test-timeout flag - c-ares-fixes.patch, fix_ci_tests.patch: refreshed- fix_ci_tests.patch: disable test_crypto_fips for openssl 3.x, to be fixed soon (bsc#1219152)- c-ares-fixes.patch: add additional backports for unit test fixes- c-ares-fixes.patch: fixes unit tests for new c-ares- Update to 20.10.0: * --experimental-default-type flag to flip module defaults * The new flag --experimental-detect-module can be used to automatically run ES modules when their syntax can be detected. * Added flush option in file system functions for fs.writeFile functions * Added experimental WebSocket client * vm: fix V8 compilation cache support for vm.Script. This fixes performance regression since v16.x when support for importModuleDynamically was added to vm.Script For details, see https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V20.md#20.10.0 - nodejs20-zlib-1.3.patch: upstreamed, removed - fix_ci_tests.patch, node-gyp-addon-gypi.patch: refreshed- Update to 20.9.0: * No changes, just LTS transition- fix_ci_tests.patch: adapt for openssl 3.1.4- Add nodejs20-zlib-1.3.patch: Support zlib version with only major.minor versions, like zlib 1.3.- Security fixes relase 20.8.1 * (CVE-2023-44487, bsc#1216190): nghttp2 Security Release * (CVE-2023-45143, bsc#1216205): undici Security Release * (CVE-2023-39332, bsc#1216271): Path traversal through path stored in Uint8Array * (CVE-2023-39331, bsc#1216270): Permission model improperly protects against path traversal * (CVE-2023-38552, bsc#1216272): Integrity checks according to policies can be circumvented * (CVE-2023-39333, bsc#1216273): Code injection via WebAssembly export names - fix_ci_tests.patch: refreshed- Update to 20.8.0: * Stream performance improvements * Rework of memory management in vm APIs with the importModuleDynamically option * test_runner: + accept testOnly in run + add junit reporter - fix_ci_tests.patch: refreshed- Update to 20.7.0: * src: support multiple --env-file declarations * deps: upgrade npm to 10.1.0 * doc: move and rename loaders section * lib: add api to detect whether source-maps are enabled * src,permission: add multiple allow-fs-* flags * test_runner: expose location of tests - z13.patch: upstreamed- Update to 20.6.1: * f0ff63fbc32ea55f3d92c5c89fdb91ec47786859.patch: removed, upstreamed- f0ff63fbc32ea55f3d92c5c89fdb91ec47786859.patch: fixes issues with Angular and other software that tries to load ECM modules in somewhat circular fashion ending up with multiple executions.- Update to 20.6.0: * add support for .env files to configure envrionment variables * import.meta.resolve unflagged * deps: npm updated to 9.8.1 - nodejs.keyring: updated to include current upstream releasers- Temporarily bundle ICU for SLE15 SP6 (jsc#PED-4819)- Update to version 20.5.1: * (CVE-2023-32002, bsc#1214150): Policies can be bypassed via Module._load (High) * (CVE-2023-32558, bsc#1214155): process.binding() can bypass the permission model through path traversal (High) * (CVE-2023-32004, bsc#1214152): Permission model can be bypassed by specifying a path traversal sequence in a Buffer (High) * (CVE-2023-32006, bsc#1214156): Policies can be bypassed by module.constructor.createRequire (Medium) * (CVE-2023-32559, bsc#1214154): Policies can be bypassed via process.binding (Medium) * (CVE-2023-32005, bsc#1214153): fs.statfs can bypass the permission model (Low) * (CVE-2023-32003, bsc#1214151): fs.mkdtemp() and fs.mkdtempSync() can bypass the permission model (Low) - Changes in 20.5.0: * events: allow safely adding listener to abortSignal * fs: add a fast-path for readFileSync utf-8 * test_runner: add shards support - Changes in 20.4.0: * tls: add ALPNCallback server option for dynamic ALPN negotiation * adds support for ECMAScript Explicit Resource Management * adds Mock Timer support to test module For details see, https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V20.md#20.5.1 versioned.patch: refreshed- Update to version 20.3.1 (security fixes only). The following CVEs are fixed in this release: * (CVE-2023-30581, bsc#1212574): mainModule.__proto__ Bypass Experimental Policy Mechanism (High) * (CVE-2023-30584, bsc#1212575): Path Traversal Bypass in Experimental Permission Model (High) * (CVE-2023-30587, bsc#1212576): Bypass of Experimental Permission Model via Node.js Inspector (High) * (CVE-2023-30582, bsc#1212577): Inadequate Permission Model Allows Unauthorized File Watching (Medium) * (CVE-2023-30583, bsc#1212578): Bypass of Experimental Permission Model via fs.openAsBlob() (Medium) * (CVE-2023-30585, bsc#1212579): Privilege escalation via Malicious Registry Key manipulation during Node.js installer repair process (Medium) * (CVE-2023-30586, bsc#1212580): Bypass of Experimental Permission Model via Arbitrary OpenSSL Engines (Medium) * (CVE-2023-30588, bsc#1212581): Process interuption due to invalid Public Key information in x509 certificates (Medium) * (CVE-2023-30589, bsc#1212582): HTTP Request Smuggling via Empty headers separated by CR (Medium) * (CVE-2023-30590, bsc#1212583): DiffieHellman does not generate keys after setting a private key (Medium)- Update to version 20.3.0: * deps: upgrade to libuv 1.45.0, including significant performance improvements to file system operations on Linux * module: change default resolver to not throw on unknown scheme * stream: deprecate asIndexedPairs - versioned.patch, fix_ci_tests.patch: refreshed - openssl3_1-adapt_tests.patch: upstreamed and removed For details see, https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V20.md#20.3.0- Fix build on SLE12SP5- Update to version 20.2.0: * http: prevent writing to the body when not allowed by HTTP spec * sea: add option to disable the experimental SEA warning * test_runner: add skip, todo, and only shorthands to test * url: add value argument to URLSearchParams has and delete methods For details see, https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V20.md#20.2.0- fix_ci_tests.patch: increase default timeout on unit tests to 20min from 2min. This seems to have lead to build failures on some platforms, like s390x in Factory. (bsc#1211407)- z13.patch: fixes illegal instruction error on z13 and older s390- Adapt tests for OpenSSL 3.1 [bsc#1209430] * Add openssl3_1-adapt_tests.patch- Update to version 20.1.0 assert: deprecate CallTracker dns: expose getDefaultResultOrder doc: add KhafraDev to collaborators fs: add recursive option to readdir and opendir fs: add support for mode flag to specify the copy behavior of the cp methods http: add highWaterMark option http.createServer stream: preserve object mode in compose test_runner: add testNamePatterns to run API test_runner: execute before hook on test test_runner: support combining coverage reports wasi: make returnOnExit true by default- Package new version 20.0.0 For overview of changes and details since 19.x and earlier see https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V20.md#20.0.0 - imported the following patches from prior patches: + cares_public_headers.patch + fix_ci_tests.patch + flaky_test_rerun.patch + legacy_python.patch + linker_lto_jobs.patch + manual_configure.patch + node-gyp-addon-gypi.patch + node-gyp-config.patch + nodejs-libpath.patch + npm_search_paths.patch + openssl_binary_detection.patch + qemu_timeouts_arches.patch + skip_no_console.patch + sle12_python3_compat.patch + test-skip-y2038-on-32bit-time_t.patch + versioned.patchh04-ch1a 1708335828  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~20.11.1-150500.11.6.1nodejs20-docsapiaddons.htmladdons.jsonaddons.mdall.htmlall.jsonassert.htmlassert.jsonassert.mdassetsapi.jshljs.cssjs-flavor-cjs.svgjs-flavor-esm.svgstyle.cssasync_context.htmlasync_context.jsonasync_context.mdasync_hooks.htmlasync_hooks.jsonasync_hooks.mdbuffer.htmlbuffer.jsonbuffer.mdchild_process.htmlchild_process.jsonchild_process.mdcli.htmlcli.jsoncli.mdcluster.htmlcluster.jsoncluster.mdconsole.htmlconsole.jsonconsole.mdcorepack.htmlcorepack.jsoncorepack.mdcrypto.htmlcrypto.jsoncrypto.mddebugger.htmldebugger.jsondebugger.mddeprecations.htmldeprecations.jsondeprecations.mddgram.htmldgram.jsondgram.mddiagnostics_channel.htmldiagnostics_channel.jsondiagnostics_channel.mddns.htmldns.jsondns.mddocumentation.htmldocumentation.jsondocumentation.mddomain.htmldomain.jsondomain.mdembedding.htmlembedding.jsonembedding.mderrors.htmlerrors.jsonerrors.mdesm.htmlesm.jsonesm.mdevents.htmlevents.jsonevents.mdfs.htmlfs.jsonfs.mdglobals.htmlglobals.jsonglobals.mdhttp.htmlhttp.jsonhttp.mdhttp2.htmlhttp2.jsonhttp2.mdhttps.htmlhttps.jsonhttps.mdindex.htmlindex.jsonindex.mdinspector.htmlinspector.jsoninspector.mdintl.htmlintl.jsonintl.mdmodule.htmlmodule.jsonmodule.mdmodules.htmlmodules.jsonmodules.mdn-api.htmln-api.jsonn-api.mdnet.htmlnet.jsonnet.mdos.htmlos.jsonos.mdpackages.htmlpackages.jsonpackages.mdpath.htmlpath.jsonpath.mdperf_hooks.htmlperf_hooks.jsonperf_hooks.mdpermissions.htmlpermissions.jsonpermissions.mdpolicy.htmlpolicy.jsonpolicy.mdprocess.htmlprocess.jsonprocess.mdpunycode.htmlpunycode.jsonpunycode.mdquerystring.htmlquerystring.jsonquerystring.mdreadline.htmlreadline.jsonreadline.mdrepl.htmlrepl.jsonrepl.mdreport.htmlreport.jsonreport.mdsingle-executable-applications.htmlsingle-executable-applications.jsonsingle-executable-applications.mdstream.htmlstream.jsonstream.mdstring_decoder.htmlstring_decoder.jsonstring_decoder.mdsynopsis.htmlsynopsis.jsonsynopsis.mdtest.htmltest.jsontest.mdtimers.htmltimers.jsontimers.mdtls.htmltls.jsontls.mdtracing.htmltracing.jsontracing.mdtty.htmltty.jsontty.mdurl.htmlurl.jsonurl.mdutil.htmlutil.jsonutil.mdv8.htmlv8.jsonv8.mdvm.htmlvm.jsonvm.mdwasi.htmlwasi.jsonwasi.mdwebcrypto.htmlwebcrypto.jsonwebcrypto.mdwebstreams.htmlwebstreams.jsonwebstreams.mdworker_threads.htmlworker_threads.jsonworker_threads.mdzlib.htmlzlib.jsonzlib.md/usr/share/doc/packages//usr/share/doc/packages/nodejs20-docs//usr/share/doc/packages/nodejs20-docs/api//usr/share/doc/packages/nodejs20-docs/api/assets/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:32630/SUSE_SLE-15-SP5_Update/77d613608a27c4909182300de0aa227b-nodejs20.SUSE_SLE-15-SP5_Updatedrpmxz5x86_64-suse-linux                                                 directoryHTML document, UTF-8 Unicode text, with very long linesC++ source, UTF-8 Unicode textHTML document, ASCII text, with very long linesJava source, ASCII textASCII textexported SGML document, ASCII text, with very long linesUTF-8 Unicode textC++ source, ASCII textJava source, UTF-8 Unicode textexported SGML document, UTF-8 Unicode textexported SGML document, ASCII textC source, UTF-8 Unicode textASCII text, with very long linesJava source, ASCII text, with very long linesUTF-8 Unicode text, with very long linesHTML document, ASCII textC source, ASCII textAlgol 68 source, UTF-8 Unicode texts{ޔSh츰-}7utf-894d5fb1bd04d9dbc186750a7e87aa8dd677238fdc4656faafb79d778d1c3e1b3?P7zXZ !t/b%:]"k%kbka^Q0G[2P~Q5"Z^Sg<WU@M A>+ Is[Fmc^Dkp{BV|OLn =Z2w!{^r՞Y _:k|y+k\~!Ewn{YЯ2Hw:GbSލsG{u^b*{"ⱊa#Sb{,>_]k'tH-xUey&0CoZ?"]-?ڨ eI>)t9j5NKl(^\'!V!q3Um?5@^UX'\{?OBz~ż3L]Hq\u`vWY^_ֲ2㪞# lw7})aĊtDH :Qt ixۿQl)m?_ѝqE  oQ0[Nt" y4mA+…[iqBȧ\x^L ·|e{]zF9Ej:^c7٬|=OOm3ʊQ ͗T;{ޥQA~K%xVDw &Z`.ul^;\}c, dg~<|6ŕgu"~"N`XX 82kj-#Ġ x܀Fnhbw}i5*mebưCŇCl킠G٥_+ <~)@SMӡ55guKUge^$cPV@ a Cg ҤЫ[cjZ&$BS8@4VĐSKF'NhqB(l> *3Op@P:?MMOĕ3Xϡccpx,K%) Aq&:С5t`tP6MaY98]O{(oXLp> +P:ƈ]କ014ش΀*|I~995z)mRզY3 {\IAr.Vp*XXI]V@"OzyN;M2}2v5+dGJݣ MN)NY:v? 4M bR&<7.tG.cr(Qr'@,q2 '5WZB(ZeͨkeJEAA *0xI~o6AV|!M2;K>Mx).Dw!1/uNC-%r}sZ\sW/,2o}ޓ.䀰`63~z"_ {]Ab {j:X)O<>+3%?ͥٶ=22Kj"$F$EmY6#ɍ ~IW$ojo~@K.I=iSmZ! Y >;CH@6~f:?ob0@SZ%І-aS$;ZZIL$BYYLhG)t+XWlV9"+Hl%2IY"(10UIL+zp;,;!AgWF>X|6|]ME,u`cE%ScKp@+y߂`c;ѫBK(VkLHШ&dL@(Cؔ^ISTWegt j݄폢=۱ҺvyؽPl)݅!DH}QOi5}t|{r4nYEa:P5z/ubO0͔Itdjh9`)>Md~ZHT,p"p~BB.*xkDˋɡv^/^Iui Ao% eDZ&0Db;V!/Kc qȱM`W5d+Ej * ڹΌM&Kz/d+ȲR,e6zEqu8EЗPsJ7Ζ\H12+.Zn-q ,` -P+ JʠAXef nzA=3M3~8?WUy})G0q j["ao`X'k,o] jbY7ɛ9\铤x4t9z1ܛʙs9͒{;"T9z%RdG(y|9u9\e~"+Vŗ_8w3peRx+h@gCXiQ>^-sN^φk֥vmۼ ki S$6.J2<‘s{0_ N/&xpe&VOk1Ҩ%\G ًhFa^]jK/JhBq^?ÔH,ZIuvք:ZoʵC%~D„mEy]o=LγMB+q4~kT< IYC&8ӐbC?!;5׆Vعy@v,kfBC1-p4NOSG@-FAx42J}:OjgV>84 8Js[T=Z1p]l EFD痏՞*@WdӸ rΘ-}5YnDˢ`Dl0XBQ`4]}g̅U1§f!xWؽ33KskDt6劔먮,1fYѡJQ9>eJ~څ]Q._-<``8%U;߇]GqXt.^6]}d uƨ1'=AHΪ0JCHdΞݝ@Q{O$l8XO`#R$񺵹7m z1 maDgLa+"F&U r"k$O0ЙkN5~i/'N22tN8uba`a&Yz_ځr9T΍ZJP@G cfM ,a/o(MEDoθ(4tHum^#JoбOv{w=Lp,P<uxy!EKΈep s gGIo7qO!" Src ׌&YmǶc?q Qv` w^b*E(IdC@":5t,dA[SN`v½\CH4q_NVW{Xk Z ^(ذ ` !(ښ.3zo]^y@^@6RT sA@O7"}08)/Zp^u}quw%)ז-:Ə"{oPej W+ZEܭƜJc:]q!3 OVM4_<4*!ޫn& 6QӢHE y#习Z)*ŷQkٯ| j}}"囋iKЌ#n^5['U~D2Io9)-OFq>/?YM:sAD'yk-i \K$I=7n,g(3o[1ywv{C0mȄ1m_X Τ}L7t{B㟰gshN<0F98G/m̜M."J_tjՌ1S|CH=Ȧ dHS]#+{0r*z11F~)^9ޅlBҶ"~fN "v*Y'.\i~pYhm29DJf\n?,S64?h GH\YG+ uԻ%Bg reBx#J1W}ȮíĄ!]8|*hMi #*Jt^lŦ( aNBvFgi=یpWjK`%8²7]`;r'%![76Һ`"q_9Wt'~5 @cZU`Ffx8B3l ?tS5j/W*]?MrrՃk p_iX`Ӯ_Ip)ڍMZH2 A?o2vB78k\ȖBKε(xSMpMY|UXqQŹjmHN`GStT2mL4(26,!O`TJ+3rͫq\) 2q蚀WCW 5W\r`1|="*3s3= v_BHߕrN1c[O85gKr\Rb1!(m;if֊xޠQ2vH=b^7t{04zj}ᰞw%ᴅXJ1y},0أ#% tcﯸE5@7{cأa\<>C@*yRoK繖@U]$\ׯh-C\r+O*f^[;E"Mlb q${2"[n-yՙTLb=6HҬvVj\7yu_i:cCdS̀Ux*htM+@?j \u=D$G ō/*'0[,!{daqgiI@2SMFb]OXv j;sʵ:I<0F n(dj瞫rV&SF1-;;],W䮟*'VG >p3\] (zO,- O9V&+wPT*VoI75Bky1W|*=d䎼-u;*z諐7!( #3P?{ m)K ӰX}[kDQ&8OD;.ϋ@F dח(효B.Es 2vyi }6L_3%%w?qG?`"9K e섰8)-mC13PF`ubmܢeX"}T(j 8;N`(}ۈδ AH ?@sFɜ>ggD^ti'`MJ\kK7aVo,gݖv46 5JGgRU0^rz`DS06LC:n' o Wyo%"E ^|Ug_HO'[8dBS06a~+#Re0LqӠQw+m>yyQ~,WPhU@3 ]pkDzXaj+NBfZ "YřҞ̥RJHVewED3#0pwv{Cg%D*.cH7&&Ơr݆{Jc }o|jho@eE!ϯ"9S W [hY5/ZGSFx56$9 xrKN5S0uTu/L~[8}W±jۯyGpq=F i_&wŲdXgйYM@ZѠ."ߣB Z܁k? a2K"[ШQzǪeVe]6v/{>mCgZ21v s[4KE`-~ `t0%֒p#)Q Ǫ|"fJDBp. c.1}15.Z<ǀd1=c2]=xyEY7:L;p`=qO%v{!PՄR0hrHڱɍGW o ,U'S 5LfϚ7#mUs0(IY8.T_?T8 T ¹X0Gd*f@ V$bopa+z~) _Ҙ=vvɏ5뿗!:ĒykIGp(ְIhGo(9BMi*eYϜ 1ѿ_S3#аFx[X̧*7SqΦV5ȴxH.6͔.X88mk. Q`l. !"qG&tgqY(2M!|CeDzqEސf$[. J)hS=+Ӷq[ _Fsh U$:)TC b:lڎhelɉY3prq_盯O`,sf1ݜK#SD,e A`B%d9 εڱβV\M?zdS-v8c͓k=q*);8RJGBXZCs^F9L&mթb"ݤuQ ogZ慢~}$IP"a[cKSm}7j o bq(5el!nIT^{A O#eZu:) (ίnuϴ&s J3$~mzXHJ^fϝnQs|XcN9]N0$Kcs3le=]XSAt554F ׋#s÷*lgnĀLOGB`qAWA?UL)&2KW1tnSU)p-R\>֮=S%BK$e@_iGd_ԐqcR|a^t[ud)0Q t;P5D": }OLW15)}c9m;nRc`G❒wMF>]n[eMv9@(ZϤ 彿5>A8PB`v_͊WǕ`T=>K*awN>b}ݙBH6,а ;kՔ۳rgEn&-j?ćwL7szxYVH(?i>^o/#4,?B"z13E}!jO$tv9"k[ӧ $lUsfm;ҷ4 ej%MY+GwAx 5\{폡Xn!a`{"W߃vSL諾]l\qQ`gvo꣉֗փ\#o4uS#ְ'm;xSSEml'v5W"NedT@*]041W(-.46am1jx;HmH6a S0s`t!22D?;0y\r$s,/%<.^^99;rn3O/7e-R>r~ͬO}|1 ,yj:Dn蔊yAIduN0^dz#ip=]Υ%/5nZ#0BUs.3+ DEP!k"{@ ͳFQ_?#4U]\Ew6Y) =.8m[zmF;UXoث4q%xfM:*:Bٹs{l_:n;{[+w'"[f^yb5o`#Q6m7 P9J_Зxm Dyۉ- T*!h@ɟ3A2Y(lվD~u![$ '! ;$q19L~'=t,R;`!z!U xq_j?cdy<&ք} C`g] yRǴfN@6\-|lH6ґةn$zbE ,uƮ*2Wf@=,]K]%zkP#7$ ~󰭼ْ>s7Ul evfy?{۔`c*(BRYAK<$Ć%:ŠC}ƹQٌ6rȘ|n |J>)z᪥3{:pyHԨ.5)6aR`&YpbXmBQꆛ`fŌh;NjF4Ua%qb^~~mmE>9 iu܀W4n((yҬ! ?nm|kUFɕsgK) eaUR4;NPGL‚qGCm_ )|AeհLmo>GT\zJSZž*4U5_ 1'Wƫ;C-Ih&W+j/L˭s64vt{Z%84Zއ \sQΒ:@%˜?]>A98t 11RB6ӦQd%_,~ D1 ]o!Mi.9Ñ,D%= #%J?^"BaC(),b{er4C M(J|#qGj,oUp'&3|ԄPL߅I%g:˃p]􍱪/5p#, 2+c~ ;prx7߇5pyc-i~ <4:$J.l*FD,g.2+Ɨ } r>,9To6zCGo@K[ocոWZJI'?dC[7){3Gl7GhOdZቑ`qO=N}ٚI6J&,A/A=7ڭvm$,{?.) fC1 ҉;B^ؗJ~d''2BRZ>;j}wzSY}2PKH32e,n?  $,@FsVB@D>&Հx/ͽ%Ow@hh9~Q lrdƓ t_g=zII~kb3,D$,&Bd e5@̷7A*O/@2jMQ};_rsVjB9Hzy5!>PHD'sL-w 2s}]=.FצR {naaŁCY2,1f&}ME?,_ʆS2=+46q~0>B#s)&!\|R$04d&hM~W BuVd o9S¥\u[{>}QaMeVf5I)˩մF%92XdtRrwTR)EӷX$vf#}ប{Ku:'対ΕI+DC*?,'ZJuV4Q&"}p";]}mzid ] xibX^l|k;avNrV۲nud<}WKԬ>Kޜz2 5:*z> }`Qb>XoMزض E'-徴קv ןʽs"(I[5J^{G>2Kr =h޾bx B>ó||V~Y[*`ق)'G^< yXk<,RόWpۘn˒c_;&VFUYh ^d:#?G <$+u v%G3 | \QթOEo2̠*Dv'U[548n;P}S]XT&}hQ8Š^LyMv#AJe u7>7"zނpp)ykGz33& B3Ͼ s(&o/}{뀞 uoO5+<)p&[ROu<xfd,䂒 J,Nn& eLe:8ɣ 3 /a$ϰ&0(Ŷ6 wBZP 2ߴBSw}}y$/Xplxfκ&FAs*cc=v#3:-L+XvQ>nb R/;n-6rIOIȳ\}nqȢ7oɴi/C1Ńi 45_nz1c'hT.X,wF嘄Wl90:_VNmބ厗p*w>]V&JȆNqZg6h<Oﬤ'g-4 }PØwpAWYSnu~~i#uABMtz"lY0 %@bpgۓLI:`BpYԌj^9e0/x Ip.-h[4 d6~ZoW̊2r Võu R\ WviT*C ' "SzR%r<-G h澓ݯ8B,?1DwZ"uj#ըN Dkfu)Y|FE{F/R޵k.xs$FIɖ] C%fO)(","ee„Fs{ʋk=*% f0'$ iYFG.zSڱb*ĩ0t$rVHO_p+5wTk)sVj֔ʆDZ½b`9kj>jph' 7['o[vhe~vq|5Ώ'$-ɍFx͚cBi!PnJgjV|~]؅hN~{J?Q #2G֕K(+I|m^ w`eb ^'-f1>;;qۗm_od~( TSxFkK(6+çު$E5 E]>;T:5viVD\էeJ'l%$'yi\[)rT$0٥YÎaY[Ynob;(vRlt 'j;֍Qc }zaMm{_ȲˤrSt8X/)FI,] _ut`2yP?eb4 j@Hp,r|˸N܎* y`+Z IȮcm&T ol9y_Z~aqzuпwi)LɀM~^g*|'p TAڣ7A9װɦe?dNkT|zkxlZ{Cf?ܮSqB :G ao%LN3-$ X]\00:~BP#7>IQ"Ttt,/ xοl k?= I4ZiʵBoN.z^sBeʻ dO܏sTN/0uMӻE%ǚEVEw*Ai6B7*-߂UdrD{TI`Yh4mjXbLx͘<t.}Pur) iڱv1ĪI?OZY$K.߾sq?揼.ً}I4,Ӭ$ķ.t(GOB`7_:$B$s޺GhgkLcBy3UVk~jrP{O=".LcŜ,)u$15Mie>!( WQveFCB޴삊R 7JR:P}l55F'(~B\)FS~`:QrKD3c*p&hAB HPWZ:*Y Nsi<"<Z4"^SJ9ԗԕp3fU(.ۍ0&K̊*T\?*/w>M*E _ IpP''ك5AY0WgQr(9&c T #ʋL\5"=4bِ҇jisx F0(ĨJg)!,ɴYEH]G*?"w=TM?81h7aB > 'ׇit@י a x2 2z(c o4mx@D.(!,; DqtCC#)nFNTzK pXV0ݗ!6D;jA;6^):yjIovzSD]C7H֣<5.RT4U#=SNx)=0E D`=B'Aw̿$vRuZtn X /+%} >J782 ۰´LU6) bzoXݯزIRN#3a[FV KyY6pPkm,9gW%'"3fļ]mZWf77. bu/14 @7J0m4^ ,z4 SkW_d`lË.|t3UG3M.-A찒ա+s&H/ heۚIH^tB,0"-:] M e*Y`}@g%k|߻i1f= ivgTr^`2=J!Wu$D4uA&= NŦ2n9]wX8\'{Qd1"k NoP3f\|)aVi1Voe3-ذq 0D}<G̪asBYFnR2N}/\ba]XPQ2 'q]tFI\4j2.4԰B(.hx`Tv/?Tʭ*{yL& Ȑ5gj`ZWUXǬyLg%(Ln1QcdKeTbg#Lx4,wɡhl>vP]+-uuܮc=vK b1 4C%q~,2Q{hi$…a>̒!WXIn;RלO(!8rۧY¦GM٩zedڬg+OP]EO] P3w.qc $jIοXMGZh{U&X$Gs>f6+s-VO=N>P(` =JSb3zaW 3fiܘ-;PTcRݺfw@(z->j[%ډ)5M'xDw,#cIkP[嬦0jZWx'sW-3R: s++$O7Bhq#H,%7MB+4`7"I ͶG|̠AT2N߷qdB478};f*<$/Bui 4`>D(|uZ>1/.\ AnA@ޢOoH'J@veœDP?fh"If8SgSx)A,*if7EZ11S)A,/y^c+5=fH$ێ''{"ݡfSzu%;P0'Kg4~mg)Hs#4'aC:׻_"{sTi5#$9Vqp$[[j~&*xPK59]dTe?/%0FHGd& D 3τGR j#[v+u !D8ŜYz!яppˎaT9Cmzk@~r֍<(r@A n鷍Y7D(z Qb*LМVU-!| VAkeu!Q !{<&h#]߳ꐫ'[c#^1xg*}Ca}bBCo':p [v%-cE49YC=&_^ֻ]V ;(%qK ZAD`sϤ`|h~{5z)^o} \%FJ@ <(9җ b=V%42Ybۋ4C(9*᝜^E}vf-}ۡ'0Ǧ yI\C l>10 ~ UP`MA6H5N⃦hz7W#b.,C aW3䴔YH±o$x6ënM^tUy]_* d`d9Z}حE~JFTRcX=l=@'aٱo/!TZrD!\nL; .~>-ۗ,1nsaέ74z3V=*#v~u!fQ`$)oKa RrV=\Fнg:~r*'j'^˃A5X~Q&Qiod_ZXެeFA]9x6 yQ<6$tl@Q[)QLc1v[6w0 m"]28o4 sY=.SMAW.nrJlel^㾱:6X&Rer'J:D^s%&+,}'}Tdv|*˼Ŋ@fsxv UmSsaLlS)͋QrRCϫ}B;3qfoN|Jxly@<1l aNIJQM ͫbZEc`Gp(18)!K+ kϣpHIQSܼ2Z" ֭nWELJ5J{l"0cEG񟆘6#>hC[έ$E͟.q `0dmm{m1ޥRJk>CrsS WT`c.[ qkK. ^s$27s߁ZUՏBQ?N%X fx=jum-5}wh9c6 gxHx94bO 8'[e͂= \s*3%0,T*=:x^0@&|m$u>L$pm~\ںc]P&́Z&EeG]>kUP+M[.6a.GlS I:2\ cv;DT#dcE8mwKl1,lY|G0<{U$]t!}V?:ש ߠžcz*ޒ03-QFդ'΃nH#x\Td|W97SVv8|[mry[xTx.RlqkI& NS']6riJa2pL.V }@lOyV ݨ X5W^<:_[;bOvUc6K "]u2?3~EҊy_JJm&-|K됡UQʧAҥRZD!S_%99Lz?1M/]}nX=.FhaMS$N ̕+ԍM*bm?hU3:\·B,]Znf282VHՕ"n@FF^VoH}̀u"X^x$>;Dc=_y@IEzėuЮLDY5qFO fC 5F6bOp"Mޠ"o]~,c!4 Nszkg;RlcNߕr,-na_H5i|"5g?%J|~3 k2NpW~\ \[N aKĶCø%+E+_K;v(z&`H1#UgÛ\f cjC,rsm秖+x(a"'YfRJn# ]钛Dxޛ_OZM#=}!޴j `O*vY/8=|e@"`媙dCvT. k>Uv4;⺏Z|)ԻtxݎDˎL nV~(v`puDlnk5@F #hvEYP$}nmWo,,?'*qlOB7궕F90\v38~t?[d{C2gle`177~?Z=h''b7* ߫Id)Emubq.)%ɡeCPWo?$LC"kqf 4o5h?n 6_&795-ly~%WayJSJiq)SܬHO@=2[t3TIPH`O5*΀ۨ&'L Xc*2HY!cd'OjLw6zE* & o4/KZj+r19X ? lCk5ǧ;}*-Ǭ>J҈_/SV;WS$ :C`jYO>Z? T.6H 2KM5{eӱZ N`8%YݬT[(lޅ]L(ɩJ튣JRf5ƃS" Wӹ߇FgvOOy_u7UnT;(H^3#Ƌ۱tP%EJ97"n!Z#3>ߟYE54s֍0mcs^<)ekko,Gl 2od,/HɷvzG`^}@⛡e2JJ[fT0.e$H.$7Lο*R< gU6݀Sb*&'q{H]$a"c7ם V<6}/r& "x=:mį ҍ ъya`n%\܏D8}C5D0e4#6@qJBչ$o^ #=O1hW)><6kTlsu;Mg۵3ӋքF']஑"ZvRR"#KJ2|)M K{:>],}cvjTEL}*v5%p S^^ˣ~9.`;xج Glku!ۙd>V($Z=>NFRawԻ0wJ/+ѰK4K#MoƦZhfQF-GQ t /G>D-,gf/70xa嗒qZ?+ _=`j=Ւe6R+GS_Q}&^!32&0]ZorT;ը0)۱Mt8ӥ[!Y+ 7e+3FzW?|OKXY'JJ5:+pNgSjۘq:}l6pa.o#Tl4M醟b]>H%#8Ҵ)T.aʨpƃjnMn3RcU+ )sbGɈ` QT̼ڰÞTb&P>\{VA?ERqels3#IEU ! lW&ӟڱB?y8BX3E B9ˈb0;cROҞChOi7\7cG륡>+nt(g鑀0W:7&&n9).Myac'^]іV8~$sH##s8-XHN?D]vs'Yp*&m픒/O_$6@ .idlNYcM=[AuJPc\{bnXdvk3[;RώѼ<but'Pu^}D4nVOzdV1Y;q yu\Wz9!3>Ay_[B[P|@ IC IO27$IFD8oCxmR#2u%ŋaB#7iXZ@b`0gkR^}?zL.s6w;⦆p9,_"Uu*Drb -q2Z7I!k&'?sHW0yR0O=jo_PxJ> ,Α;=߮F8YD\eITJ9ƺsog'&eIn}o+fY! U@NE]("7J5-!v$SverM\& 0lΐߤ5؏<Oj3AS~G!!NlcCRdڻ& 'H 0,2ef XC,[GjpʠVBnI)f=azr 8U,wRmH&~!(WJA8,SAAs0,pF9ǿꞽ3#pe 6ĈT~RAA6!I Zx a8⏿o;ۜ$ȮPN>JG9|Au>{K}BV{KCaJG!h;c<~el{+БWˁ" 2h:$Ytdvy| ɞ.Z+I/z/1Yfd%}OPu/7a—/H'ͬ|wޥŰJGQViV\G#ܢfk.vcL 2M!aIG'B v=,7v*1]r{1Un|.??g'rlf=pBnݤ H:nM$v 6Rܖ7 _zFy<7W, _h6P !ޠ5fW&.p1t ";ٓu&vX`$t20Llwz \(}?cY"b(R;gStu}om6?筥i[C%ZCS@=IU2xՋrNb /J"q.Jf+${|I$(Ir BHXXWXWʶ[eSTtSz#PqWRn/ijۊ́4yBK)fܶHWmX~M3zLn5i+rw74$x-n꼺GPwtA=_q$1$ x4P')M7\~FT(SN{|x)IjP^_g}p;qqKW(dTA칁 4cV/Mn2M)ybϹb`7;L-j9t/KwjZݽAUƼO|:^}DbZchǯ\;`*( v* .22ukᾓO]\pO"B%$^Q dB%]Vd%.ĐdvKͣR SVfaHj}?M'9vTF 7nޥw֫ۯ(}4ykC8c>õ5_NB1[[U@N@A@?DK@_!X0$hߵ= uA`"<T;ƥ_iJ׍ؕM/ 8x-Yc wP}UrcM͂t* 5MxQp)mӜUHiuG"x`QB]7w[ #Olv[Pc5śO;Ľ,wW$@7gzYQ/]4TmBG}E[C_W3Aq5%t=v64;]V25\H@huۅKXL){Ѫ6.#=k0'3BϢAb/ @)8Xٽ,`EkE8GbL>ئy}2<$uNN*EM0l:E [DÝ\8Rl3II?xF_K<ї.aְ-E3zG@仚3 V-I煝͍QE_3YQlS}x f~4H chƂR[}ɺwitQܑSo'CxY+E$tXUňvwPf?(w(8%o{9 Q-Nbdp L\[@:L`?1_)w+-˜h"'$>V xu lȳ\(XդB;_VK(21x:sK n-K2o X E!j- ( F0G+;3 5NlP!gpiFwNţi3p,ND}+ )d tR]`{Odⷷ, 2jhз΋M]7E<nTgx \Chܑ`uSWǏT# !y`(#do1#B{t9;ĸB\ e0o/K8S?/yOUY!u d ~c3rqŐU uSJ"N uHGHbbYM3e? ?y0y 75me4-3^at:CזJ4x͂* Y+tti}^ hWWGy!U{ ߉Ϻ96M$>pEezB钪:*tnίuxv?ҿFޯ',=^BxS b:PU !1xn N*ʹ}zDJkķdף'ZB"A5U4}g{~ *v$OQʏ~X<6 7dܜocXͼ OdZ%tv18 f<"V{kwKwiҬi69ܵՉ꿛!C2Խ昒{gV^_I4Ԁ=3П諰E*|=FNs0aHQҤP_.I\ AGKEΑfr\"5Sh1u BKdd~t^iSNה+Pٲ9I8ffd|Zo.f[s1|u68UqY[aETUj@3*IS ,nC'd|P)mMk~}nmcĦZҪ3D!Fj8,8ں]%-y&B+pZwe1z:lw^&TNZwK2L!#6#9&Y~.OguWu BahJ%7׬ kp$EQD bnUmH9A!ՠWXAF#F#/*:3oU4&Q%#0}J]2?]6b! {AyS~u7L۾\ 6jUY.x|ae[u^bnP*Q_WYD~Vo7(yyд_ 5;wk۠1h4xYa_/˩+xH)]]y,Q~($':(jث{6{mZag99xWhl^O*4dIy.j9IEbOXNہx>Y22pU-* |L|d<:ďCdh7eD0y0״a9dǛu4T)cv~4T?Z&,Cki& ;QDU8 @exSҌ3B  sT!%)3TYQno_֠$ 23wV>us}s0g+EDsY0DùGfsx۽̘`;۷Ys].E۩lٺF`w3\Nk#[iIdZ7dE?b?gVs=] uTNbT':@"<G?.=Şq hUB{rK s},<L*=-Bp9ATFv"y~cwf)Uם+ޕl#.+ j*t8o)^sdQ$1D,4:Tu0z4<挘24y HkRZҞ|9F;I0GM}ϟĥa.3_j[3s6asT0X~c:|ذPE->GM2IJ|aCs4n*3$v]8K$/"NI`#?R9@'hxIb\ BY?CILNC<K_%YܮbjnZIEQf&z1!<7z{)3+\mW/[TDa-g$뵇74^1?n=mZƷ8\6s"SAbbv'O:N}DaT'z 5~)q-6 M4m:V J\}ݫ C.?7.t gR *M4=gn,Y$f|E2^?iG!+seugoqFoz8MOiiO׫Cd\Tޫ+U"/7zkuo}Pu=TEڗ$SMY*#+. ;OG_8*ә]Lm]gZ>0ZRt(u.t3 \Cou׏ԢP+y%=Xy9B~*AFG"Ee,m4,9$,+i;3)ZTl?j{ ߐ(ý^dG]?d+/ʜ0 9̃e{FHÔ: h&aT'+wi>x?Hdǯ H#],51f{%jxKw4{^87LI, 홉'O€( Yi i((?J>/=*w 5yF7PC1 Ax#'%No{ d+nrjA3,ZEIS0<>B)aW+QZD}$>}35jՉoI;FFAiW(=b2LTఓXBυj Kln.ƛr򪍄R! ȘEiQЋ ={ ug} V(Y3tEꔍ?كCq>SZ6V ,U?*_-KJe 7?ZN2Qi JpUnl=P(Ii=no9Y ZhK͉::·O /P/w3;|e(x.VL0$^v`TXNb ֌ 3&sW.eg|h8S"$%hs(k}ZS.Ēt^__N,(O0.]< Ϊ)ղk|04Φ!P9HT :/M놬IcgKV)w Ԃi"j I1*.9YV(7q? irF3uoUMl.9IXaV*lS_=f(%+aQþݣs.L_T Z,;n#k|0:"\>  W%ER&l3aY7%v)Z8:{ƤQك d۶]źxy6 ^ggu@:)ÿ{_%ejw>< Qe՚/0Is2GO-(kvn>fӧLqH"ӭDKE  *`_@D# W$/ZdGSjGRQl\A@ٰ9VpilȤ#m/ey7г]oZƺ'C> ;j&jx^%jzF/VYISѦ8ˋƇ?$b71F5 6P.Ma6th8n["'{${-B UPD@ w'Zr`ŃІwwXL~̜^p$òG{0O;M=-4](*) N /VLR'Go&[DB#[s Ov3>n< P8ye Z #iQ5eW2psFxkO}h6\p6zd\\Rh?(\Gcdn`xKbh2V%*Z4L6 =W d s$~җO"[DfFQr5~VFoDUIܕYto],eN[ &!#U¢W׬(:h'h|EieLa/f5)=t=fx) 6oi {Mp -#سiUawl_߿͙W DDQ x[a9;vfafޛ7l~T/|fm-\te~Jdo Ra]bVW6~EBYgMMf0_Buz$$h6~'lX+vh -ϫdકh<sioEm;!#8s?h 0k[$jZtoWFа( fOb z]fpz FQ$"% :ĦQmTGq|u{723cYKat{_/-$Wmp~ 3޻nS7c`8^@C[3gb g}+:H|}$t]t2؏׭FR.&s(9dS^*9AJJmccy:gw1?. r놀riBtBHMlO"of7bz%#aTt;5YO2RUD; #4dCW2QB m UXϨ~a}1vCaQ2ui|.? &F:rHYYpHW'M0DcH+U"oS*|Lp5Wt`7v=P&N#pӸ;$0.Fx5 ͙zG*>b$ུ}.+k{)_HFL|{Օ~Sd.P(, JA[\ӢȌg}㙯.PO5ATSi].!ny8 3Ⱦr NoAoҌIR2܀ 9ڶ ܔsHTa)ƹŧq[L8u~r&B߿Ӗwb(_(Xu!0(Zfz\ai O+hJQ &uzD#`4D`Csfʹf0bueoY$Gg+SdR뜹A6aӯ\)irֻ%!7|Np!X1D>=5ۃsz)A: a֋mq┫ lEE/LBz39Y?9/o gClcJΤGÎ"1gF9 ͦ 5^Ptm *;b%=H{L\(藦^:b} MC_&q<}lgcE{|z:\ uׅp*TgLCPMX'(ԽΎK27HѪM=250eApgIߎBi_u(VS2 Sxf\CiBj}g(dMp׫!2nZ )z'8n9zԭh5ZIXMpGOMY̵mM˽= Ł9UCt9B^*lG,P7ĘY|0%v|+p(PX_哀:;B_q@dsд>Sz߅)${Ǝ$'ʰT)vm-bPHOk|=cA֕i h$j/hAȢlI$ 8AR rJt;O[FWjI".!1ڷN /D^GAQ+[Z ‰sQhcj3>a2KQ%Tfn Yu Z5o>&X}Z[5hM9 c*4q⦜.=^ݞ68ڠ% (X]n!ML,[9+ztڔP )Rtu/[{#?qzc0hZv^UaDB;ws j+u@v|Jz?5l^p_EDz+5xn<_gQ9Xee׷eV]-r{8&h LEI~w5>NvظvR|G)ٰ0PG_>d>ewg{U5 r# YZ