[#116016] [Ruby master Bug#20150] Memory leak in grapheme clusters — "peterzhu2118 (Peter Zhu) via ruby-core" <ruby-core@...>
Issue #20150 has been reported by peterzhu2118 (Peter Zhu).
7 messages
2024/01/04
[#116382] [Ruby master Feature#20205] Enable `frozen_string_literal` by default — "byroot (Jean Boussier) via ruby-core" <ruby-core@...>
Issue #20205 has been reported by byroot (Jean Boussier).
77 messages
2024/01/23
[ruby-core:116254] [Ruby master Bug#20155] Using value of rb_fiber_scheduler_current() crashes Ruby
From:
"paddor (Patrik Wenger) via ruby-core" <ruby-core@...>
Date:
2024-01-16 23:01:28 UTC
List:
ruby-core #116254
SXNzdWUgIzIwMTU1IGhhcyBiZWVuIHVwZGF0ZWQgYnkgcGFkZG9yIChQYXRyaWsgV2VuZ2VyKS4N DQoNDQoNDQpUaGFua3MgZm9yIGxvb2tpbmcgaW50byB0aGlzLiBJJ20gcHJldHR5IHN1cmUgaXQg d2FzIHRoYXQgb25lIChpbml0aWFsKSBjb21taXQgaW4gdGhlIGZpYmVyX2Jsb2NrZXIgcmVwby4g TXkgZXh0ZW5zaW9uIChhIFBSIGZvciB0aGUgcmJubmcgZ2VtIFsxXSkgd291bGQgaWRlYWxseSBi bG9jay91bmJsb2NrIGZpYmVycyB1c2luZyBOTkcncyBgbm5nX2Fpb18qKClgIGZ1bmN0aW9ucyBb Ml0uIFRoYXQncyBob3cgSSBub3RpY2VkIHRoZSBjcmFzaGVzLiBUcnlpbmcgdG8gcHJpbnQgdGhl IGBGaWJlci5zY2hlZHVsZXJgIGNhbWUgYWZ0ZXJ3YXJkcy4NDQoNDQpbMV0gaHR0cHM6Ly9naXRo dWIuY29tL2FkaWJzYWFkL3Jibm5nDQ0KWzJdIGh0dHBzOi8vbm5nLm5hbm9tc2cub3JnL21hbi90 aXAvbm5nX2Fpby41Lmh0bWwNDQoNDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tDQ0KQnVnICMyMDE1NTogVXNpbmcgdmFsdWUgb2YgcmJfZmliZXJfc2NoZWR1bGVyX2N1 cnJlbnQoKSBjcmFzaGVzIFJ1YnkNDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMv MjAxNTUjY2hhbmdlLTEwNjI3NQ0NCg0NCiogQXV0aG9yOiBwYWRkb3IgKFBhdHJpayBXZW5nZXIp DQ0KKiBTdGF0dXM6IEFzc2lnbmVkDQ0KKiBQcmlvcml0eTogTm9ybWFsDQ0KKiBBc3NpZ25lZTog aW9xdWF0aXggKFNhbXVlbCBXaWxsaWFtcykNDQoqIHJ1YnkgLXY6IHJ1YnkgMy4zLjAgKDIwMjMt MTItMjUgcmV2aXNpb24gNTEyNGY5YWM3NSkgW3g4Nl82NC1saW51eF0NDQoqIEJhY2twb3J0OiAz LjA6IFVOS05PV04sIDMuMTogVU5LTk9XTiwgMy4yOiBVTktOT1dOLCAzLjM6IFVOS05PV04NDQot LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQ0KV2hpbGUgdHJ5aW5nIHRv IG1hbnVhbGx5IGJsb2NrL3VuYmxvY2sgZmliZXJzIGZyb20gYW4gZXh0ZW5zaW9uIHVzaW5nIHRo ZSBGaWJlciBTY2hlZHVsZXIsDQ0KSSBub3RpY2VkIHRoYXQgdXNpbmcgdGhlIHJldHVybiB2YWx1 ZSBvZiBgcmJfZmliZXJfc2NoZWR1bGVyX2N1cnJlbnQoKWAgY3Jhc2hlcyBSdWJ5Lg0NCg0NCkkn dmUgY3JlYXRlZCBhIG1pbmltYWwgZXh0ZW5zaW9uIGdlbSBjYWxsZWQgImZpYmVyX2Jsb2NrZXIi LiBJdHMgdGVzdCBzdWl0ZSBzaG93cyB0aGUgYmVoYXZpb3IuIFNlZSBodHRwczovL2dpdGh1Yi5j b20vcGFkZG9yL2ZpYmVyX2Jsb2NrZXIsIGVzcGVjaWFsbHkgdGhlIGxpbmVzIGNvbnRhaW5pbmcg YEZJWE1FYC4NDQoNDQpQYXNzaW5nIGBGaWJlci5zY2hlZHVsZXJgIHRvIHRoZSBleHRlbnNpb24g ZnVuY3Rpb25zIHdvcmtzLiBCdXQgbGV0dGluZyBpdCBnZXQgdGhlIGN1cnJlbnQgc2NoZWR1bGVy IGl0c2VsZiBkb2VzIG5vdCBzZWVtIHRvIHdvcmsuDQ0KDQ0KSXMgYHJiX2ZpYmVyX3NjaGVkdWxl cl9jdXJyZW50KClgKHdpdGhpbiBhIG5vbi1ibG9ja2luZyBGaWJlcikgbm90IHRoZSBlcXVpdmFs ZW50IHRvIGBGaWJlci5zY2hlZHVsZXJgPw0NCkV2ZW4ganVzdCBwcmludGluZyB0aGUgaXRzIHJl dHVybiB2YWx1ZSB3aXRoIGAjcGAgd2lsbCBjcmFzaCBSdWJ5Lg0NCg0NCg0NClJ1YnkgZWl0aGVy IGNyYXNoZXMgbGlrZSB0aGlzOg0NCmBgYA0NCiMgUnVubmluZzoNDQoNDQpUMSBCRUdJTg0NClQy IEJFR0lODQ0KVDEgRU5EDQ0KLi5UMSBCRUdJTg0NCmV4dDogYmxvY2tpbmcgZmliZXINDQpwYXNz ZWQgc2NoZWR1bGVyID0gIzxTY2hlZHVsZXI6MHgwMDAwN2ZjNWYyMmQzOWU4IEByZWFkYWJsZT17 fSwgQHdyaXRhYmxlPXt9LCBAd2FpdGluZz17fSwgQGNsb3NlZD1mYWxzZSwgQGxvY2s9IzxUaHJl YWQ6Ok11dGV4OjB4MDAwMDdmYzVmMjJlYzhkMD4sIEBibG9ja2luZz17fSwgQHJlYWR5PVtdLCBA dXJnZW50PVsjPElPOmZkIDU+LCAjPElPOmZkIDY+XT4NDQpUMiBCRUdJTg0NCmV4dDogdW5ibG9j a2luZyBmaWJlcg0NClQxIEVORA0NCi5FDQ0KDQ0KRmluaXNoZWQgaW4gMS4wMDcwMTRzLCAzLjk3 MjEgcnVucy9zLCAyLjk3OTEgYXNzZXJ0aW9ucy9zLg0NCg0NCiAgMSkgRXJyb3I6DQ0KVGVzdEZp YmVyQmxvY2tlciN0ZXN0X2ZpYmVyX2Jsb2NrZXJfY3VycmVudF9maWJlcjoNDQpmYXRhbDogbWFj aGluZSBzdGFjayBvdmVyZmxvdyBpbiBjcml0aWNhbCByZWdpb24NDQogICAgTm8gYmFja3RyYWNl DQ0KYGBgDQ0KDQ0KT3Igd2l0aCBhIHNlZ2ZhdWx0Og0NCmBgYA0NCiMgUnVubmluZzoNDQoNDQpG aWJlckJsb2NrZXIudGVzdCB3b3Jrcy4NDQouVDEgQkVHSU4NDQpUMiBCRUdJTg0NClQxIEVORA0N Ci5UMSBCRUdJTg0NCmV4dDogYmxvY2tpbmcgZmliZXINDQovaG9tZS91c2VyL2Rldi9vc3MvYXN5 bmNfcnVieV90ZXN0L3Jibm5nL2ZpYmVyX2Jsb2NrZXIvdGVzdC90ZXN0X2ZpYmVyX2Jsb2NrZXIu cmI6NDA6IFtCVUddIFNlZ21lbnRhdGlvbiBmYXVsdCBhdCAweDAwMDAwMDAwMzkwZDhmOTgNDQpy dWJ5IDMuMy4wICgyMDIzLTEyLTI1IHJldmlzaW9uIDUxMjRmOWFjNzUpIFt4ODZfNjQtbGludXhd DQ0KDQ0KLS0gQ29udHJvbCBmcmFtZSBpbmZvcm1hdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0NCmM6MDAwMyBwOi0tLS0gczowMDEyIGU6MDAwMDEx IENGVU5DICA6YmxvY2tfZmliZXINDQpjOjAwMDIgcDowMDE0IHM6MDAwNiBlOjAwMDAwNSBCTE9D SyAgL2hvbWUvdXNlci9kZXYvb3NzL2FzeW5jX3J1YnlfdGVzdC9yYm5uZy9maWJlcl9ibG9ja2Vy L3Rlc3QvdGVzdF9maWJlcl9ibG9ja2VyLnJiOjQwIFtGSU5JU0hdDQ0KYzowMDAxIHA6LS0tLSBz OjAwMDMgZTowMDAwMDIgRFVNTVkgIFtGSU5JU0hdDQ0KDQ0KLS0gUnVieSBsZXZlbCBiYWNrdHJh Y2UgaW5mb3JtYXRpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0N Ci9ob21lL3VzZXIvZGV2L29zcy9hc3luY19ydWJ5X3Rlc3QvcmJubmcvZmliZXJfYmxvY2tlci90 ZXN0L3Rlc3RfZmliZXJfYmxvY2tlci5yYjo0MDppbiBgYmxvY2sgaW4gdGVzdF9maWJlcl9ibG9j a2luZ19pbl9leHQnDQ0KL2hvbWUvdXNlci9kZXYvb3NzL2FzeW5jX3J1YnlfdGVzdC9yYm5uZy9m aWJlcl9ibG9ja2VyL3Rlc3QvdGVzdF9maWJlcl9ibG9ja2VyLnJiOjQwOmluIGBibG9ja19maWJl cicNDQoNDQotLSBUaHJlYWRpbmcgaW5mb3JtYXRpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQ0KVG90YWwgcmFjdG9yIGNvdW50OiAxDQ0KUnVi eSB0aHJlYWQgY291bnQgZm9yIHRoaXMgcmFjdG9yOiA0DQ0KDQ0KLS0gTWFjaGluZSByZWdpc3Rl ciBjb250ZXh0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQ0NCiBSSVA6IDB4MDAwMDdmMTU1NGYxN2FkOCBSQlA6IDB4MDAwMDAwMDAzOTBkOGY5MCBSU1A6 IDB4MDAwMDdmMTUzYTc5ZTI4MA0NCiBSQVg6IDB4MDAwMDdmMTU1NGFkZGJhOCBSQlg6IDB4MDAw MDdmMTUzYTc5ZWFiMCBSQ1g6IDB4MDAwMDAwMDAwMDAwMDAwMA0NCiBSRFg6IDB4MDAwMDdmMTU1 NGFkZTYwMCBSREk6IDB4MDAwMDdmMTU1NTFlODc4OCBSU0k6IDB4MDAwMDAwMDAwMDAwMGFlMQ0N CiAgUjg6IDB4MDAwMDAwMDAwMDAwMDAyYiAgUjk6IDB4MDAwMDdmMTUzYTc5ZjAzOCBSMTA6IDB4 MDAwMDdmMTU1NGMwYjliMA0NCiBSMTE6IDB4MDAwMDdmMTUzYTc5ZTQ5MCBSMTI6IDB4MDAwMDAw MDAwMDAwMGFlMSBSMTM6IDB4MDAwMDAwMDAwMDAwMDAwMA0NCiBSMTQ6IDB4MDAwMDAwMDAwMDAw MDAwMCBSMTU6IDB4MDAwMDU1YWI3MzJkN2RmMCBFRkw6IDB4MDAwMDAwMDAwMDAxMDIwNg0NCg0N Ci0tIEMgbGV2ZWwgYmFja3RyYWNlIGluZm9ybWF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0NDQovaG9tZS91c2VyLy5ydWJpZXMvcnVieS0zLjMuMC9saWIv bGlicnVieS5zby4zLjMocmJfcHJpbnRfYmFja3RyYWNlKzB4MTQpIFsweDdmMTU1NGYyNDk2MV0g L2hvbWUvdXNlci9zcmMvcnVieS0zLjMuMC92bV9kdW1wLmM6ODIwDQ0KL2hvbWUvdXNlci8ucnVi aWVzL3J1YnktMy4zLjAvbGliL2xpYnJ1Ynkuc28uMy4zKHJiX3ZtX2J1Z3JlcG9ydCkgL2hvbWUv dXNlci9zcmMvcnVieS0zLjMuMC92bV9kdW1wLmM6MTE1MQ0NCi9ob21lL3VzZXIvLnJ1Ymllcy9y dWJ5LTMuMy4wL2xpYi9saWJydWJ5LnNvLjMuMyhyYl9idWdfZm9yX2ZhdGFsX3NpZ25hbCsweDEw NCkgWzB4N2YxNTU0ZDFjMjE0XSAvaG9tZS91c2VyL3NyYy9ydWJ5LTMuMy4wL2Vycm9yLmM6MTA2 NQ0NCi9ob21lL3VzZXIvLnJ1Ymllcy9ydWJ5LTMuMy4wL2xpYi9saWJydWJ5LnNvLjMuMyhzaWdz ZWd2KzB4NGYpIFsweDdmMTU1NGU3MDBkZl0gL2hvbWUvdXNlci9zcmMvcnVieS0zLjMuMC9zaWdu YWwuYzo5MjYNDQovbGliL3g4Nl82NC1saW51eC1nbnUvbGliYy5zby42KDB4N2YxNTU0ODQyNTIw KSBbMHg3ZjE1NTQ4NDI1MjBdDQ0KL2hvbWUvdXNlci8ucnViaWVzL3J1YnktMy4zLjAvbGliL2xp YnJ1Ynkuc28uMy4zKFJCQVNJQ19DTEFTUysweDApIFsweDdmMTU1NGYxN2FkOF0gLi9pbmNsdWRl L3J1YnkvaW50ZXJuYWwvZ2xvYmFscy5oOjE3OA0NCi9ob21lL3VzZXIvLnJ1Ymllcy9ydWJ5LTMu My4wL2xpYi9saWJydWJ5LnNvLjMuMyhnY2NjdF9tZXRob2Rfc2VhcmNoKSAvaG9tZS91c2VyL3Ny Yy9ydWJ5LTMuMy4wL3ZtX2V2YWwuYzo0NzUNDQovaG9tZS91c2VyLy5ydWJpZXMvcnVieS0zLjMu MC9saWIvbGlicnVieS5zby4zLjMocmJfZnVuY2FsbHZfc2NvcGUpIC9ob21lL3VzZXIvc3JjL3J1 YnktMy4zLjAvdm1fZXZhbC5jOjEwNjMNDQovaG9tZS91c2VyLy5ydWJpZXMvcnVieS0zLjMuMC9s aWIvbGlicnVieS5zby4zLjMocmJfZnVuY2FsbHYpIC9ob21lL3VzZXIvc3JjL3J1YnktMy4zLjAv dm1fZXZhbC5jOjEwODQNDQovaG9tZS91c2VyLy5ydWJpZXMvcnVieS0zLjMuMC9saWIvbGlicnVi eS5zby4zLjMocmJfaW5zcGVjdCsweDE5KSBbMHg3ZjE1NTRkYzE1NjldIC9ob21lL3VzZXIvc3Jj L3J1YnktMy4zLjAvb2JqZWN0LmM6Njk3DQ0KL2hvbWUvdXNlci8ucnViaWVzL3J1YnktMy4zLjAv bGliL2xpYnJ1Ynkuc28uMy4zKHJ1YnlfX3NmdmV4dHJhKzB4MTFhKSBbMHg3ZjE1NTRlNzIyM2Fd IC9ob21lL3VzZXIvc3JjL3J1YnktMy4zLjAvc3ByaW50Zi5jOjExMTkNDQovaG9tZS91c2VyLy5y dWJpZXMvcnVieS0zLjMuMC9saWIvbGlicnVieS5zby4zLjMoQlNEX3ZmcHJpbnRmKzB4YTY5KSBb MHg3ZjE1NTRlNzMwNTldIC9ob21lL3VzZXIvc3JjL3J1YnktMy4zLjAvdnNucHJpbnRmLmM6ODMw DQ0KL2hvbWUvdXNlci8ucnViaWVzL3J1YnktMy4zLjAvbGliL2xpYnJ1Ynkuc28uMy4zKFJCQVNJ Q19TRVRfQ0xBU1NfUkFXKzB4MCkgWzB4N2YxNTU0ZTc1YjU2XSAvaG9tZS91c2VyL3NyYy9ydWJ5 LTMuMy4wL3NwcmludGYuYzoxMTY4DQ0KL2hvbWUvdXNlci8ucnViaWVzL3J1YnktMy4zLjAvbGli L2xpYnJ1Ynkuc28uMy4zKHJ1YnlfdnNwcmludGYwKSAvaG9tZS91c2VyL3NyYy9ydWJ5LTMuMy4w L3NwcmludGYuYzoxMTY5DQ0KL2hvbWUvdXNlci8ucnViaWVzL3J1YnktMy4zLjAvbGliL2xpYnJ1 Ynkuc28uMy4zKHJiX2VuY192c3ByaW50ZisweDVkKSBbMHg3ZjE1NTRlNzVlY2RdIC9ob21lL3Vz ZXIvc3JjL3J1YnktMy4zLjAvc3ByaW50Zi5jOjExOTUNDQovaG9tZS91c2VyLy5ydWJpZXMvcnVi eS0zLjMuMC9saWIvbGlicnVieS5zby4zLjMocmJfc3ByaW50ZisweDlkKSBbMHg3ZjE1NTRlNzYw N2RdIC9ob21lL3VzZXIvc3JjL3J1YnktMy4zLjAvc3ByaW50Zi5jOjEyMjUNDQovaG9tZS91c2Vy L2Rldi9vc3MvYXN5bmNfcnVieV90ZXN0L3Jibm5nL2ZpYmVyX2Jsb2NrZXIvbGliL2ZpYmVyX2Js b2NrZXIvZmliZXJfYmxvY2tlci5zbyhibG9ja19maWJlcisweDRhKSBbMHg3ZjE1NTRhZDQzMGFd IC4uLy4uLy4uLy4uL2V4dC9maWJlcl9ibG9ja2VyL2ZpYmVyX2Jsb2NrZXIuYzoyOQ0NCi9ob21l L3VzZXIvLnJ1Ymllcy9ydWJ5LTMuMy4wL2xpYi9saWJydWJ5LnNvLjMuMyh2bV9jZnBfY29uc2lz dGVudF9wKzB4MCkgWzB4N2YxNTU0ZWY2NGI0XSAvaG9tZS91c2VyL3NyYy9ydWJ5LTMuMy4wL3Zt X2luc25oZWxwZXIuYzozNDkwDQ0KL2hvbWUvdXNlci8ucnViaWVzL3J1YnktMy4zLjAvbGliL2xp YnJ1Ynkuc28uMy4zKHZtX2NhbGxfY2Z1bmNfd2l0aF9mcmFtZV8pIC9ob21lL3VzZXIvc3JjL3J1 YnktMy4zLjAvdm1faW5zbmhlbHBlci5jOjM0OTINDQovaG9tZS91c2VyLy5ydWJpZXMvcnVieS0z LjMuMC9saWIvbGlicnVieS5zby4zLjModm1fY2FsbF9jZnVuY193aXRoX2ZyYW1lKSAvaG9tZS91 c2VyL3NyYy9ydWJ5LTMuMy4wL3ZtX2luc25oZWxwZXIuYzozNTE4DQ0KL2hvbWUvdXNlci8ucnVi aWVzL3J1YnktMy4zLjAvbGliL2xpYnJ1Ynkuc28uMy4zKHZtX2NhbGxfY2Z1bmNfb3RoZXIpIC9o b21lL3VzZXIvc3JjL3J1YnktMy4zLjAvdm1faW5zbmhlbHBlci5jOjM1NDQNDQovaG9tZS91c2Vy Ly5ydWJpZXMvcnVieS0zLjMuMC9saWIvbGlicnVieS5zby4zLjModm1fc2VuZGlzaCsweDllKSBb MHg3ZjE1NTRmMDZmODddIC9ob21lL3VzZXIvc3JjL3J1YnktMy4zLjAvdm1faW5zbmhlbHBlci5j OjU1ODENDQovaG9tZS91c2VyLy5ydWJpZXMvcnVieS0zLjMuMC9saWIvbGlicnVieS5zby4zLjMo dm1fZXhlY19jb3JlKSAvaG9tZS91c2VyL3NyYy9ydWJ5LTMuMy4wL2luc25zLmRlZjo4MzQNDQov aG9tZS91c2VyLy5ydWJpZXMvcnVieS0zLjMuMC9saWIvbGlicnVieS5zby4zLjMocmJfdm1fZXhl YysweDE5YSkgWzB4N2YxNTU0ZjBkMWZhXSAvaG9tZS91c2VyL3NyYy9ydWJ5LTMuMy4wL3ZtLmM6 MjQ4Ng0NCi9ob21lL3VzZXIvLnJ1Ymllcy9ydWJ5LTMuMy4wL2xpYi9saWJydWJ5LnNvLjMuMyhy Yl92bV9pbnZva2VfcHJvYysweDVmKSBbMHg3ZjE1NTRmMTJlMGZdIC9ob21lL3VzZXIvc3JjL3J1 YnktMy4zLjAvdm0uYzoxNzI4DQ0KL2hvbWUvdXNlci8ucnViaWVzL3J1YnktMy4zLjAvbGliL2xp YnJ1Ynkuc28uMy4zKHJiX2ZpYmVyX3N0YXJ0KzB4MWJhKSBbMHg3ZjE1NTRjZjA5OGFdIC9ob21l L3VzZXIvc3JjL3J1YnktMy4zLjAvY29udC5jOjI1MzYNDQovaG9tZS91c2VyLy5ydWJpZXMvcnVi eS0zLjMuMC9saWIvbGlicnVieS5zby4zLjMoZmliZXJfZW50cnkrMHgyMCkgWzB4N2YxNTU0Y2Yw ZDAwXSAvaG9tZS91c2VyL3NyYy9ydWJ5LTMuMy4wL2NvbnQuYzo4NDcNDQovaG9tZS91c2VyLy5y dWJpZXMvcnVieS0zLjMuMC9saWIvbGlicnVieS5zby4zLjMocmJfdGhyZWFkcHRyX3Jvb3RfZmli ZXJfc2V0dXApIChudWxsKTowDQ0KYGBgDQ0KDQ0KVGhpcyBoYXBwZW5zIHdpdGggdGhlIEFzeW5j IHNjaGVkdWxlciBhcyB3ZWxsIGFzIHdpdGggUnVieeKAmXMgdGVzdCBzY2hlZHVsZXIuIE15IG1p bmltYWwgZXh0ZW5zaW9uIHVzZXMgUnVieeKAmXMuDQ0KDQ0KSSBob3BlIEknbSBub3QgbWlzc2lu ZyBzb21ldGhpbmcgb2J2aW91cy4gTXkgQyBpc24ndCB2ZXJ5IGdvb2QuDQ0KDQ0KDQ0KDQ0KLS0g DQ0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvDQ0KIF9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KIHJ1YnktY29yZSBtYWlsaW5nIGxpc3QgLS0gcnVieS1j b3JlQG1sLnJ1YnktbGFuZy5vcmcKIFRvIHVuc3Vic2NyaWJlIHNlbmQgYW4gZW1haWwgdG8gcnVi eS1jb3JlLWxlYXZlQG1sLnJ1YnktbGFuZy5vcmcKIHJ1YnktY29yZSBpbmZvIC0tIGh0dHBzOi8v bWwucnVieS1sYW5nLm9yZy9tYWlsbWFuMy9wb3N0b3JpdXMvbGlzdHMvcnVieS1jb3JlLm1sLnJ1 YnktbGFuZy5vcmcv