[#105104] [Ruby master Bug#18141] Marshal load with proc yield strings before they are fully initialized — "byroot (Jean Boussier)" <noreply@...>

Issue #18141 has been reported by byroot (Jean Boussier).

10 messages 2021/09/01

[#105114] [Ruby master Feature#18143] Add a new method to change GC.stress only in the given block such as GC.with_stress(flag) {...} — "kou (Kouhei Sutou)" <noreply@...>

Issue #18143 has been reported by kou (Kouhei Sutou).

8 messages 2021/09/02

[#105180] [Ruby master Bug#18156] 3.0.2 configuration checks by default for C++ compiler instead of C? — "vo.x (Vit Ondruch)" <noreply@...>

Issue #18156 has been reported by vo.x (Vit Ondruch).

11 messages 2021/09/08

[#105191] [Ruby master Bug#18159] Integrate functionality of dead_end gem into Ruby — duerst <noreply@...>

Issue #18159 has been reported by duerst (Martin D=FCrst).

37 messages 2021/09/11

[#105269] [Ruby master Bug#18169] Local copies of gemified libraries are being released out of sync with their gems — "headius (Charles Nutter)" <noreply@...>

Issue #18169 has been reported by headius (Charles Nutter).

15 messages 2021/09/15

[#105276] [Ruby master Bug#18170] Exception#inspect should not include newlines — "mame (Yusuke Endoh)" <noreply@...>

Issue #18170 has been reported by mame (Yusuke Endoh).

29 messages 2021/09/16

[#105310] [Ruby master Misc#18174] DevelopersMeeting20211021Japan — "mame (Yusuke Endoh)" <noreply@...>

Issue #18174 has been reported by mame (Yusuke Endoh).

14 messages 2021/09/16

[#105313] [Ruby master Misc#18175] Propose Jean Boussier (@byroot) as a core committer — "tenderlovemaking (Aaron Patterson)" <noreply@...>

Issue #18175 has been reported by tenderlovemaking (Aaron Patterson).

11 messages 2021/09/16

[#105354] [Ruby master Feature#18181] Introduce Enumerable#min_with_value, max_with_value, and minmax_with_value — "kyanagi (Kouhei Yanagita)" <noreply@...>

Issue #18181 has been reported by kyanagi (Kouhei Yanagita).

16 messages 2021/09/20

[#105361] [Ruby master Feature#18183] make SecureRandom.choose public — "olleicua (Antha Auciello)" <noreply@...>

Issue #18183 has been reported by olleicua (Antha Auciello).

17 messages 2021/09/21

[#105377] [Ruby master Bug#18187] Float#clamp() returns ArgumentError (comparison of Float with 1 failed) — "SouravGoswami (Sourav Goswami)" <noreply@...>

SXNzdWUgIzE4MTg3IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IFNvdXJhdkdvc3dhbWkgKFNvdXJhdiBH

7 messages 2021/09/22

[#105391] [Ruby master Bug#18189] `rb_cString` can be NULL during `Init_Object` — "ioquatix (Samuel Williams)" <noreply@...>

SXNzdWUgIzE4MTg5IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGlvcXVhdGl4IChTYW11ZWwgV2lsbGlh

9 messages 2021/09/23

[#105428] [Ruby master Bug#18194] No easy way to format exception messages per thread/fiber scheduler context. — "ioquatix (Samuel Williams)" <noreply@...>

SXNzdWUgIzE4MTk0IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGlvcXVhdGl4IChTYW11ZWwgV2lsbGlh

16 messages 2021/09/26

[#105450] [Ruby master Feature#18228] Add a `timeout` option to `IO.copy_stream` — "byroot (Jean Boussier)" <noreply@...>

SXNzdWUgIzE4MjI4IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGJ5cm9vdCAoSmVhbiBCb3Vzc2llciku

11 messages 2021/09/27

[#105452] [Ruby master Feature#18229] Proposal to merge YJIT — "maximecb (Maxime Chevalier-Boisvert)" <noreply@...>

SXNzdWUgIzE4MjI5IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IG1heGltZWNiIChNYXhpbWUgQ2hldmFs

21 messages 2021/09/27

[#105500] [Ruby master Feature#18231] `RubyVM.keep_script_lines` — "ko1 (Koichi Sasada)" <noreply@...>

SXNzdWUgIzE4MjMxIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGtvMSAoS29pY2hpIFNhc2FkYSkuCgot

19 messages 2021/09/30

[#105504] [Ruby master Bug#18232] Ractor.make_shareable is broken in code loaded with RubyVM::InstructionSequence.load_from_binary — "byroot (Jean Boussier)" <noreply@...>

SXNzdWUgIzE4MjMyIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGJ5cm9vdCAoSmVhbiBCb3Vzc2llciku

7 messages 2021/09/30

[ruby-core:105443] [Ruby master Feature#18020] Introduce `IO::Buffer` for fiber scheduler.

From: "Eregon (Benoit Daloze)" <noreply@...>
Date: 2021-09-27 09:44:00 UTC
List: ruby-core #105443
SXNzdWUgIzE4MDIwIGhhcyBiZWVuIHVwZGF0ZWQgYnkgRXJlZ29uIChCZW5vaXQgRGFsb3plKS4K
Cgppb3F1YXRpeCAoU2FtdWVsIFdpbGxpYW1zKSB3cm90ZSBpbiAjbm90ZS0yMDoKPiBAZXJlZ29u
IEkgcmV2aXNpdGVkIHRoaXMgY29kZS4KPiAKPiA+IGRlZiB0b19zdHIob2Zmc2V0LCBsZW5ndGgp
Cj4gCj4gSSdtIG5vdCBzdXJlIGlmIHRoZXJlIGlzIGFueSBwcm9ibGVtIG1ha2luZyBhbiBJTyBi
dWZmZXIgaW1wbGljaXRseSBjb252ZXJ0aWJsZSB0byBhIHN0cmluZy4gSXQgbWVhbnMgeW91IGNh
biBzZW5kIGEgYnVmZmVyIHRvIGEgZnVuY3Rpb24gdGhhdCB0YWtlcyBhIHN0cmluZywgYW5kIGl0
IHdpbGwgaW1wbGljaXRseSBjb252ZXJ0IGl0IHRvIHRoZSBmdWxsIGJ1ZmZlci4KClNob3VsZCBp
dCB0YWtlIG5vIGFyZ3VtZW50cyB0aGVuPwpBRkFJSyBpbXBsaWNpdCBjb252ZXJzaW9uIG1ldGhv
ZHMgbmV2ZXIgdGFrZXMgYXJndW1lbnRzLgpJJ20gbm90IHN1cmUgaWYgaXQncyBhIGdvb2QgaWRl
YSB0byBtYWtlIGEgZnVsbCBjb3B5IG9mIHRoZSBieXRlcyBpbXBsaWNpdC4KCi0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KRmVhdHVyZSAjMTgwMjA6IEludHJvZHVjZSBg
SU86OkJ1ZmZlcmAgZm9yIGZpYmVyIHNjaGVkdWxlci4KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5v
cmcvaXNzdWVzLzE4MDIwI2NoYW5nZS05Mzg5MAoKKiBBdXRob3I6IGlvcXVhdGl4IChTYW11ZWwg
V2lsbGlhbXMpCiogU3RhdHVzOiBPcGVuCiogUHJpb3JpdHk6IE5vcm1hbAotLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkFmdGVyIGNvbnRpbnVpbmcgdG8gYnVpbGQgb3V0
IHRoZSBmaWJlciBzY2hlZHVsZXIgaW50ZXJmYWNlIGFuZCB0aGUgc3BlY2lmaWMgaG9va3MgcmVx
dWlyZWQgZm9yIGBpb191cmluZ2AsIEkgZm91bmQgc29tZSB0cm91YmxlIHdpdGhpbiB0aGUgaW1w
bGVtZW50YXRpb24gb2YgYElPYC4KCkkgZm91bmQgdGhhdCBpbiBzb21lIGNhc2VzLCB3ZSBuZWVk
IHRvIHJlYWQgaW50byB0aGUgaW50ZXJuYWwgSU8gYnVmZmVycyBkaXJlY3RseS4gSSB0cmllZCBj
cmVhdGluZyBhICJmYWtlIHN0cmluZyIgaW4gb3JkZXIgdG8gdHJhbnNpdCBiYWNrIGludG8gdGhl
IFJ1YnkgZmliZXIgc2NoZWR1bGVyIGludGVyZmFjZSBhbmQgdGhpcyBkaWQgd29yayB0byBhIGNl
cnRhaW4gZXh0ZW50LCBidXQgSSB3YXMgdG9sZCB3ZSBjYW5ub3QgZXhwb3NlIGZha2Ugc3RyaW5n
IHRvIFJ1Ynkgc2NoZWR1bGVyIGludGVyZmFjZS4KClNvLCBhZnRlciB0aGlzLCBhbmQgbWFueSBv
dGhlciBmcnVzdHJhdGlvbnMgd2l0aCB1c2luZyBgU3RyaW5nYCBhcyBhIElPIGJ1ZmZlciwgSSBk
ZWNpZGVkIHRvIGltcGxlbWVudCBhIGxvdyBsZXZlbCBgSU86OkJ1ZmZlcmAgYmFzZWQgb24gbXkg
bmVlZHMgZm9yIGhpZ2ggcGVyZm9ybWFuY2UgSU8sIGFuZCBhcyBwYXJ0IG9mIHRoZSBmaWJlciBz
Y2hlZHVsZXIgaW50ZXJmYWNlLgoKSGVyZSBpcyByb3VnaGx5IHRoZSBpbnRlcmZhY2UgaW1wbGVt
ZW50ZWQgYnkgdGhlIHNjaGVkdWxlciB3LnIudC4gdGhlIGJ1ZmZlcjoKCmBgYHJ1YnkKY2xhc3Mg
U2NoZWR1bGVyCiAgIyBAcGFyYW1ldGVyIGJ1ZmZlciBbSU86OkJ1ZmZlcl0gQnVmZmVyIGZvciBy
ZWFkaW5nIGludG8uCiAgZGVmIGlvX3JlYWQoaW8sIGJ1ZmZlciwgbGVuZ3RoKQogICAgIyBpbXBs
ZW1lbnRhdGlvbiBwcm92aWRlZCBieSBgcmVhZGAgc3lzdGVtIGNhbGwsIElPX1VSSU5HX1JFQURW
LCBldGMuCiAgZW5kCgogICMgQHBhcmFtZXRlciBidWZmZXIgW0lPOjpCdWZmZXJdIEJ1ZmZlciBm
b3Igd3JpdGluZyBmcm9tLgogIGRlZiBpb193cml0ZShpbywgYnVmZmVyLCBsZW5ndGgpCiAgICAj
IGltcGxlbWVudGF0aW9uIHByb3ZpZGVkIGJ5IGB3cml0ZWAgc3lzdGVtIGNhbGwsIElPX1VSSU5H
X1dSSVRFViwgZXRjLgogIGVuZAoKICAjIFBvdGVudGlhbCBuZXcgaG9va3MgKFNvY2tldCNyZWN2
bXNnLCBzZW5kbXNnLCBldGMpOgogIGRlZiBpb19yZWN2bXNnKGlvLCBidWZmZXIsIGxlbmd0aCkK
ICBlbmQKZW5kCmBgYAoKSW4gcmV2aWV3aW5nIG90aGVyIGxhbmd1YWdlIGRlc2lnbnMsIEkgZm91
bmQgdGhhdCB0aGlzIGRlc2lnbiBpcyB2ZXJ5IHNpbWlsYXIgdG8gQ3J5c3RhbCdzIElPIGJ1ZmZl
cmluZyBzdHJhdGVneS4KClRoZSBwcm9wb3NlZCBpbXBsZW1lbnRhdGlvbiBwcm92aWRlcyBlbm91
Z2ggb2YgYW4gaW50ZXJmYWNlIHRvIGltcGxlbWVudCBib3RoIG5hdGl2ZSBzY2hlZHVsZXJzIGFz
IHdlbGwgYXMgcHVyZSBSdWJ5IHNjaGVkdWxlcnMuIEl0IGFsc28gcHJvdmlkZXMgc29tZSBleHRy
YSBmdW5jdGlvbmFsaXR5IGZvciBpbnRlcnByZXRpbmcgdGhlIGRhdGEgaW4gdGhlIGJ1ZmZlci4g
VGhpcyBpcyBtb3N0bHkgZm9yIHRlc3RpbmcgYW5kIGV4cGVyaW1lbnRhdGlvbiwgYWx0aG91Z2gg
aXQgbWlnaHQgbWFrZSBzZW5zZSB0byBleHBvc2UgdGhpcyBpbnRlcmZhY2UgZm9yIGJpbmFyeSBw
cm90b2NvbHMgbGlrZSBIVFRQLzIsIFFVSUMsIFdlYlNvY2tldHMsIGV0Yy4KCiMjIFByb3Bvc2Vk
IFNvbHV0aW9uCgpXZSBpbnRyb2R1Y2UgbmV3IGNsYXNzIGBJTzo6QnVmZmVyYC4KCmBgYHJ1YnkK
Y2xhc3MgSU86OkJ1ZmZlcgogICMgQHJldHVybnMgW0lPOjpCdWZmZXJdIEEgYnVmZmVyIHdpdGgg
dGhlIGNvbnRlbnRzIG9mIHRoZSBzdHJpbmcgZGF0YS4KICBkZWYgc2VsZi5mb3Ioc3RyaW5nKQog
IGVuZAoKICBQQUdFX1NJWkUgPSAjIC4uLiBvcGVyYXRpbmcgc3lzdGVtIHBhZ2Ugc2l6ZQoKICAj
IEByZXR1cm5zIFtJTzo6QnVmZmVyXSBBIGJ1ZmZlciB3aXRoIHRoZSBjb250ZW50cyBvZiB0aGUg
ZmlsZSBtYXBwZWQgdG8gbWVtb3J5LgogIGRlZiBzZWxmLm1hcChmaWxlKQogIGVuZAoKICAjIEZs
YWdzIGZvciBidWZmZXIgc3RhdGUuCiAgRVhURVJOQUwgPSAjIFRoZSBidWZmZXIgaXMgZnJvbSBl
eHRlcm5hbCBtZW1vcnkuCiAgSU5URVJOQUwgPSAjIFRoZSBidWZmZXIgaXMgZnJvbSBpbnRlcm5h
bCBtZW1vcnkgKG1hbGxvYykuCiAgTUFQUEVEID0gIyBUaGUgYnVmZmVyIGlzIGZyb20gbWFwcGVk
IG1lbW9yeSAobW1hcCwgVmlydHVhbEFsbG9jLCBldGMpCiAgTE9DS0VEID0gIyBUaGUgYnVmZmVy
IGlzIGxvY2tlZCBmb3IgdXNhZ2UgKGNhbm5vdCBiZSByZXNpemVkKQogIFBSSVZBVEUgPSAjIFRo
ZSBidWZmZXIgaXMgbWFwcGVkIGFzIGNvcHktb24td3JpdGUuCiAgSU1NVVRBQkxFID0gIyBUaGUg
YnVmZmVyIGNhbm5vdCBiZSBtb2RpZmllZC4KCiAgIyBAcmV0dXJucyBbSU86OkJ1ZmZlcl0gQSBi
dWZmZXIgd2l0aCB0aGUgc3BlY2lmaWVkIHNpemUsIGFsbG9jYXRlZCBhY2NvcmRpbmcgdG8gdGhl
IGdpdmVuIGZsYWdzLgogIGRlZiBpbml0aWFsaXplKHNpemUsIGZsYWdzKQogIGVuZAoKICAjIEBy
ZXR1cm5zIFtJbnRlZ3JhbF0gVGhlIHNpemUgb2YgdGhlIGJ1ZmZlcgogIGF0dHIgOnNpemUKCiAg
IyBAcmV0dXJucyBbU3RyaW5nXSBBIGJyaWVmIHN1bW1hcnkgYW5kIGhleCBkdW1wIG9mIHRoZSBi
dWZmZXIuCiAgZGVmIGluc3BlY3QKICBlbmQKCiAgIyBAcmV0dXJucyBbU3RyaW5nXSBBIGJyaWVm
IHN1bW1hcnkgb2YgdGhlIGJ1ZmZlci4KICBkZWYgdG9fcwogIGVuZAoKICAjIEZsYWcgcHJlZGlj
YXRlczoKICBkZWYgZXh0ZXJuYWw/CiAgZW5kCgogIGRlZiBpbnRlcm5hbD8KICBlbmQKCiAgZGVm
IG1hcHBlZD8KICBlbmQKCiAgZGVmIGxvY2tlZD8KICBlbmQKCiAgZGVmIGltbXV0YWJsZT8KICBl
bmQKCiAgIyBGbGFncyBmb3IgZW5kaWFuL2J5dGUgb3JkZXI6CiAgTElUVExFX0VORElBTiA9ICMg
Li4uCiAgQklHX0VORElBTiA9ICMgLi4uCiAgSE9TVF9FTkRJQU4gPSAjIC4uLgogIE5FVFdPUktf
RU5ESUFOPSAjIC4uLgoKICAjIExvY2sgdGhlIGJ1ZmZlciAocHJldmVudCByZXNpemUsIHVubWFw
LCBjaGFuZ2VzIHRvIGJhc2UgYW5kIHNpemUpLgogIGRlZiBsb2NrCiAgICByYWlzZSAiQWxyZWFk
eSBsb2NrZWQhIiBpZiBmbGFncyAmIExPQ0tFRAogICAgCiAgICBmbGFncyB8PSBMT0NLRUQKICBl
bmQKCiAgIyBVbmxvY2sgdGhlIGJ1ZmZlci4KICBkZWYgdW5sb2NrCiAgICByYWlzZSAiTm90IGxv
Y2tlZCEiIHVubGVzcyBmbGFncyAmIExPQ0tFRAogICAgCiAgICBmbGFncyB8PSB+TE9DS0VECiAg
ZW5kCgogIC8vIE1hbmlwdWxhdGlvbjoKICAjIEByZXR1cm5zIFtJTzo6QnVmZmVyXSBBIHNsaWNl
IG9mIHRoZSBidWZmZXIncyBkYXRhLiBEb2VzIG5vdCBjb3B5LgogIGRlZiBzbGljZShvZmZzZXQs
IGxlbmd0aCkKICBlbmQKCiAgIyBAcmV0dXJucyBbU3RyaW5nXSBBIGJpbmFyeSBzdHJpbmcgc3Rh
cnRpbmcgYXQgb2Zmc2V0LCBsZW5ndGggYnl0ZXMuCiAgZGVmIHRvX3N0cihvZmZzZXQsIGxlbmd0
aCkKICBlbmQKCiAgIyBDb3B5IHRoZSBzcGVjaWZpZWQgc3RyaW5nIGludG8gdGhlIGJ1ZmZlciBh
dCB0aGUgZ2l2ZW4gb2Zmc2V0LgogIGRlZiBjb3B5KHN0cmluZywgb2Zmc2V0KQogIGVuZAoKICAj
IENvbXBhcmUgdHdvIGJ1ZmZlcnMuCiAgZGVmIDw9PihvdGhlcikKICBlbmQKCiAgaW5jbHVkZSBD
b21wYXJhYmxlCgogICMgUmVzaXplIHRoZSBidWZmZXIsIHByZXNlcnZpbmcgdGhlIGdpdmVuIGxl
bmd0aCAoaWYgbm9uLXplcm8pLgogIGRlZiByZXNpemUoc2l6ZSwgcHJlc2VydmUgPSAwKQogIGVu
ZAoKICAjIENsZWFyIHRoZSBidWZmZXIgdG8gdGhlIHNwZWNpZmllZCB2YWx1ZS4KICBkZWYgY2xl
YXIodmFsdWUgPSAwLCBvZmZzZXQgPSAwLCBsZW5ndGggPSAoQHNpemUgLSBvZmZzZXQpKQogIGVu
ZAoKICAjIERhdGEgVHlwZXM6CiAgIyBMb3dlciBjYXNlOiBsaXR0bGUgZW5kaWFuLgogICMgVXBw
ZXIgY2FzZTogYmlnIGVuZGlhbiAobmV0d29yayBlbmRpYW4pLgogICMKICAjIDpVOCAgICAgICAg
fCB1bnNpZ25lZCA4LWJpdCBpbnRlZ2VyLgogICMgOlM4ICAgICAgICB8IHNpZ25lZCA4LWJpdCBp
bnRlZ2VyLgogICMKICAjIDp1MTYsIDpVMTYgfCB1bnNpZ25lZCAxNi1iaXQgaW50ZWdlci4KICAj
IDpzMTYsIDpTMTYgfCBzaWduZWQgMTYtYml0IGludGVnZXIuCiAgIwogICMgOnUzMiwgOlUzMiB8
IHVuc2lnbmVkIDMyLWJpdCBpbnRlZ2VyLgogICMgOnMzMiwgOlMzMiB8IHNpZ25lZCAzMi1iaXQg
aW50ZWdlci4KICAjCiAgIyA6dTY0LCA6VTY0IHwgdW5zaWduZWQgNjQtYml0IGludGVnZXIuCiAg
IyA6czY0LCA6UzY0IHwgc2lnbmVkIDY0LWJpdCBpbnRlZ2VyLgogICMKICAjIDpmMzIsIDpGMzIg
fCAzMi1iaXQgZmxvYXRpbmcgcG9pbnQgbnVtYmVyLgogICMgOmY2NCwgOkY2NCB8IDY0LWJpdCBm
bG9hdGluZyBwb2ludCBudW1iZXIuCgogICMgR2V0IHRoZSBnaXZlbiBkYXRhIHR5cGUgYXQgdGhl
IHNwZWNpZmllZCBvZmZzZXQuCiAgZGVmIGdldCh0eXBlLCBvZmZzZXQpCiAgZW5kCgogICMgU2V0
IHRoZSBnaXZlbiB2YWx1ZSBhcyB0aGUgc3BlY2lmaWVkIGRhdGEgdHlwZSBhdCB0aGUgc3BlY2lm
aWVkIG9mZnNldC4KICBkZWYgc2V0KHR5cGUsIG9mZnNldCwgdmFsdWUpCiAgZW5kCmVuZApgYGAK
ClRoZSBDIGludGVyZmFjZSBwcm92aWRlcyBhIGZldyBjb252ZW5pZW50IG1ldGhvZHMgZm9yIGFj
Y2Vzc2luZyB0aGUgdW5kZXJseWluZyBkYXRhIGJ1ZmZlcjoKCmBgYGMKdm9pZCByYl9pb19idWZm
ZXJfZ2V0X211dGFibGUoVkFMVUUgc2VsZiwgdm9pZCAqKmJhc2UsIHNpemVfdCAqc2l6ZSk7CnZv
aWQgcmJfaW9fYnVmZmVyX2dldF9pbW11dGFibGUoVkFMVUUgc2VsZiwgY29uc3Qgdm9pZCAqKmJh
c2UsIHNpemVfdCAqc2l6ZSk7CmBgYAoKSW4gdGhlIGZpYmVyIHNjaGVkdWxlciwgaXQgaXMgdXNl
ZCBsaWtlIHRoaXM6CgpgYGBjClZBTFVFCnJiX2ZpYmVyX3NjaGVkdWxlcl9pb19yZWFkX21lbW9y
eShWQUxVRSBzY2hlZHVsZXIsIFZBTFVFIGlvLCB2b2lkICpiYXNlLCBzaXplX3Qgc2l6ZSwgc2l6
ZV90IGxlbmd0aCkKewogICAgVkFMVUUgYnVmZmVyID0gcmJfaW9fYnVmZmVyX25ldyhiYXNlLCBz
aXplLCBSQl9JT19CVUZGRVJfTE9DS0VEKTsKCiAgICBWQUxVRSByZXN1bHQgPSByYl9maWJlcl9z
Y2hlZHVsZXJfaW9fcmVhZChzY2hlZHVsZXIsIGlvLCBidWZmZXIsIGxlbmd0aCk7CgogICAgcmJf
aW9fYnVmZmVyX2ZyZWUoYnVmZmVyKTsKCiAgICByZXR1cm4gcmVzdWx0Owp9CmBgYAoKVGhpcyBm
dW5jdGlvbiBpcyBpbnZva2VkIGZyb20gYGlvLmNgIGF0IHZhcmlvdXMgcGxhY2VzIHRvIGZpbGwg
dGhlIGJ1ZmZlci4gV2Ugc3BlY2lmaWNhbGx5IHRoZSBgKGJhc2UsIHNpemUpYCB0dXBsZSwgYWxv
bmcgd2l0aCBgbGVuZ3RoYCB3aGljaCBpcyB0aGUgKm1pbmltdW0qIGxlbmd0aCByZXF1aXJlZCBh
bmQgYXNzaXN0cyB3aXRoIGVmZmljaWVudCBub24tYmxvY2tpbmcgaW1wbGVtZW50YXRpb24uCgpU
aGUgYHVyaW5nLmNgIGltcGxlbWVudGF0aW9uIGluIHRoZSBldmVudCBnZW0gdXNlcyB0aGlzIGlu
dGVyZmFjZSBsaWtlIHNvOgoKYGBgYwpWQUxVRSBFdmVudF9CYWNrZW5kX1VSaW5nX2lvX3JlYWQo
VkFMVUUgc2VsZiwgVkFMVUUgZmliZXIsIFZBTFVFIGlvLCBWQUxVRSBidWZmZXIsIFZBTFVFIF9s
ZW5ndGgpIHsKCXN0cnVjdCBFdmVudF9CYWNrZW5kX1VSaW5nICpkYXRhID0gTlVMTDsKCVR5cGVk
RGF0YV9HZXRfU3RydWN0KHNlbGYsIHN0cnVjdCBFdmVudF9CYWNrZW5kX1VSaW5nLCAmRXZlbnRf
QmFja2VuZF9VUmluZ19UeXBlLCBkYXRhKTsKCQoJaW50IGRlc2NyaXB0b3IgPSBSQl9OVU0ySU5U
KHJiX2Z1bmNhbGwoaW8sIGlkX2ZpbGVubywgMCkpOwoJCgl2b2lkICpiYXNlOwoJc2l6ZV90IHNp
emU7CglyYl9pb19idWZmZXJfZ2V0X211dGFibGUoYnVmZmVyLCAmYmFzZSwgJnNpemUpOwoJCglz
aXplX3Qgb2Zmc2V0ID0gMDsKCXNpemVfdCBsZW5ndGggPSBOVU0yU0laRVQoX2xlbmd0aCk7CgkK
CXdoaWxlIChsZW5ndGggPiAwKSB7CgkJc2l6ZV90IG1heGltdW1fc2l6ZSA9IHNpemUgLSBvZmZz
ZXQ7CgkJaW50IHJlc3VsdCA9IGlvX3JlYWQoZGF0YSwgZmliZXIsIGRlc2NyaXB0b3IsIChjaGFy
KiliYXNlK29mZnNldCwgbWF4aW11bV9zaXplKTsKCQkKCQlpZiAocmVzdWx0ID09IDApIHsKCQkJ
YnJlYWs7CgkJfSBlbHNlIGlmIChyZXN1bHQgPiAwKSB7CgkJCW9mZnNldCArPSByZXN1bHQ7CgkJ
CWlmICgoc2l6ZV90KXJlc3VsdCA+IGxlbmd0aCkgYnJlYWs7CgkJCWxlbmd0aCAtPSByZXN1bHQ7
CgkJfSBlbHNlIGlmICgtcmVzdWx0ID09IEVBR0FJTiB8fCAtcmVzdWx0ID09IEVXT1VMREJMT0NL
KSB7CgkJCUV2ZW50X0JhY2tlbmRfVVJpbmdfaW9fd2FpdChzZWxmLCBmaWJlciwgaW8sIFJCX0lO
VDJOVU0oUkVBREFCTEUpKTsKCQl9IGVsc2UgewoJCQlyYl9zeXNlcnJfZmFpbCgtcmVzdWx0LCBz
dHJlcnJvcigtcmVzdWx0KSk7CgkJfQoJfQoJCglyZXR1cm4gU0laRVQyTlVNKG9mZnNldCk7Cn0K
YGBgCgojIyBCdWZmZXIgQWxsb2NhdGlvbgoKVGhlIExpbnV4IGtlcm5lbCBwcm92aWRlcyBzb21l
IGFkdmFuY2VkIG1lY2hhbmlzbXMgZm9yIHJlZ2lzdGVyaW5nIGJ1ZmZlcnMgZm9yIGFzeW5jaHJv
bm91cyBJL08gdG8gcmVkdWNlIHBlci1vcGVyYXRpb24gb3ZlcmhlYWQuCgo+IFRoZSBpb191cmlu
Z19yZWdpc3RlcigpIHN5c3RlbSBjYWxsIHJlZ2lzdGVycyB1c2VyIGJ1ZmZlcnMgb3IgZmlsZXMg
Zm9yIHVzZSBpbiBhbiBpb191cmluZyg3KSBpbnN0YW5jZSByZWZlcmVuY2VkIGJ5IGZkLiBSZWdp
c3RlcmluZyBmaWxlcyBvciB1c2VyIGJ1ZmZlcnMgYWxsb3dzIHRoZSBrZXJuZWwgdG8gdGFrZSBs
b25nIHRlcm0gcmVmZXJlbmNlcyB0byBpbnRlcm5hbCBkYXRhIHN0cnVjdHVyZXMgb3IgY3JlYXRl
IGxvbmcgdGVybSBtYXBwaW5ncyBvZiBhcHBsaWNhdGlvbiBtZW1vcnksIGdyZWF0bHkgcmVkdWNp
bmcgcGVyLUkvTyBvdmVyaGVhZC4KCldpdGggYXBwcm9wcmlhdGUgc3VwcG9ydCwgd2UgY2FuIHVz
ZSBgSU9SSU5HX09QX1BST1ZJREVfQlVGRkVSU2AgdG8gZWZmaWNpZW50bHkgbWFuYWdlIGJ1ZmZl
cnMgaW4gYXBwbGljYXRpb25zIHdoaWNoIGFyZSBkZWFsaW5nIHdpdGggbG90cyBvZiBzb2NrZXRz
LiBTZWUgPGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2lvLXVyaW5nLzIwMjAwMjI4MjAzMDUzLjI1
MDIzLTEtYXhib2VAa2VybmVsLmRrL1QvPiBmb3IgbW9yZSBkZXRhaWxzIGFib3V0IGhvdyBpdCB3
b3Jrcy4gSSdtIHN0aWxsIGV4cGxvcmluZyB0aGUgcGVyZm9ybWFuY2UgaW1wbGljYXRpb25zIG9m
IHRoaXMsIGJ1dCB0aGUgcHJvcG9zZWQgaW1wbGVtZW50YXRpb24gcHJvdmlkZXMgc3VmZmljaWVu
dCBtZXRhLWRhdGEgZm9yIHVzIHRvIGV4cGxvcmUgdGhpcyBpbiByZWFsIHdvcmxkIHNjaGVkdWxl
cnMuCgoKCgotLSAKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvCgpVbnN1YnNjcmliZTogPG1h
aWx0bzpydWJ5LWNvcmUtcmVxdWVzdEBydWJ5LWxhbmcub3JnP3N1YmplY3Q9dW5zdWJzY3JpYmU+
CjxodHRwOi8vbGlzdHMucnVieS1sYW5nLm9yZy9jZ2ktYmluL21haWxtYW4vb3B0aW9ucy9ydWJ5
LWNvcmU+Cg==

In This Thread