<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>184073</bug_id>
          
          <creation_ts>2018-03-28 01:18:45 -0700</creation_ts>
          <short_desc>[JSC] Move WeakValueRef class to its own file and use it from Objc and GLib</short_desc>
          <delta_ts>2018-03-28 02:17:28 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1409800</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-03-28 01:18:45 -0700</bug_when>
    <thetext>We currently have duplicated code in Obj and GLib implementations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409801</commentid>
    <comment_count>1</comment_count>
      <attachid>336646</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-03-28 01:21:27 -0700</bug_when>
    <thetext>Created attachment 336646
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409802</commentid>
    <comment_count>2</comment_count>
      <attachid>336646</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-03-28 01:24:04 -0700</bug_when>
    <thetext>Comment on attachment 336646
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409803</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-03-28 02:16:26 -0700</bug_when>
    <thetext>Committed r230025: &lt;https://trac.webkit.org/changeset/230025&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409804</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-03-28 02:17:28 -0700</bug_when>
    <thetext>&lt;rdar://problem/38949007&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336646</attachid>
            <date>2018-03-28 01:21:27 -0700</date>
            <delta_ts>2018-03-28 01:24:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>jsc-weak-value-common.diff</filename>
            <type>text/plain</type>
            <size>21249</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNNYW5hZ2VkVmFsdWUubW0g
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTTWFuYWdlZFZhbHVlLm1tCmluZGV4IDkzMmI5
YmYyNmMyLi4wOTliMDRhYzgzZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9KU01hbmFnZWRWYWx1ZS5tbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTTWFu
YWdlZFZhbHVlLm1tCkBAIC0zMyw3ICszMyw3IEBACiAjaW1wb3J0ICJIZWFwLmgiCiAjaW1wb3J0
ICJKU0NvbnRleHRJbnRlcm5hbC5oIgogI2ltcG9ydCAiSlNWYWx1ZUludGVybmFsLmgiCi0jaW1w
b3J0ICJXZWFrLmgiCisjaW1wb3J0ICJKU1dlYWtWYWx1ZS5oIgogI2ltcG9ydCAiV2Vha0hhbmRs
ZU93bmVyLmgiCiAjaW1wb3J0ICJPYmpjUnVudGltZUV4dHJhcy5oIgogI2ltcG9ydCAiSlNDSW5s
aW5lcy5oIgpAQCAtNDYsMTMyICs0NiwxNiBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1JlYWNoYWJs
ZUZyb21PcGFxdWVSb290cyhKU0M6OkhhbmRsZTxKU0M6OlVua25vd24+LCB2b2lkKiBjb250ZXh0
LCBKU0M6OlNsb3RWaXNpdG9yJikgb3ZlcnJpZGU7CiB9OwogCi1zdGF0aWMgSlNNYW5hZ2VkVmFs
dWVIYW5kbGVPd25lciogbWFuYWdlZFZhbHVlSGFuZGxlT3duZXIoKQorc3RhdGljIEpTTWFuYWdl
ZFZhbHVlSGFuZGxlT3duZXImIG1hbmFnZWRWYWx1ZUhhbmRsZU93bmVyKCkKIHsKICAgICBzdGF0
aWMgTmV2ZXJEZXN0cm95ZWQ8SlNNYW5hZ2VkVmFsdWVIYW5kbGVPd25lcj4ganNNYW5hZ2VkVmFs
dWVIYW5kbGVPd25lcjsKLSAgICByZXR1cm4gJmpzTWFuYWdlZFZhbHVlSGFuZGxlT3duZXIuZ2V0
KCk7CisgICAgcmV0dXJuIGpzTWFuYWdlZFZhbHVlSGFuZGxlT3duZXI7CiB9CiAKLWNsYXNzIFdl
YWtWYWx1ZVJlZiB7Ci1wdWJsaWM6Ci0gICAgV2Vha1ZhbHVlUmVmKCkKLSAgICAgICAgOiBtX3Rh
ZyhOb3RTZXQpCi0gICAgewotICAgIH0KLQotICAgIH5XZWFrVmFsdWVSZWYoKQotICAgIHsKLSAg
ICAgICAgY2xlYXIoKTsKLSAgICB9Ci0KLSAgICB2b2lkIGNsZWFyKCkKLSAgICB7Ci0gICAgICAg
IHN3aXRjaCAobV90YWcpIHsKLSAgICAgICAgY2FzZSBOb3RTZXQ6Ci0gICAgICAgICAgICByZXR1
cm47Ci0gICAgICAgIGNhc2UgUHJpbWl0aXZlOgotICAgICAgICAgICAgdS5tX3ByaW1pdGl2ZSA9
IEpTQzo6SlNWYWx1ZSgpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBjYXNlIE9iamVj
dDoKLSAgICAgICAgICAgIHUubV9vYmplY3QuY2xlYXIoKTsKLSAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgY2FzZSBTdHJpbmc6Ci0gICAgICAgICAgICB1Lm1fc3RyaW5nLmNsZWFyKCk7Ci0g
ICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9U
X1JFQUNIRUQoKTsKLSAgICB9Ci0KLSAgICBib29sIGlzQ2xlYXIoKSBjb25zdAotICAgIHsKLSAg
ICAgICAgc3dpdGNoIChtX3RhZykgewotICAgICAgICBjYXNlIE5vdFNldDoKLSAgICAgICAgICAg
IHJldHVybiB0cnVlOwotICAgICAgICBjYXNlIFByaW1pdGl2ZToKLSAgICAgICAgICAgIHJldHVy
biAhdS5tX3ByaW1pdGl2ZTsKLSAgICAgICAgY2FzZSBPYmplY3Q6Ci0gICAgICAgICAgICByZXR1
cm4gIXUubV9vYmplY3Q7Ci0gICAgICAgIGNhc2UgU3RyaW5nOgotICAgICAgICAgICAgcmV0dXJu
ICF1Lm1fc3RyaW5nOwotICAgICAgICB9Ci0gICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFD
SEVEKCk7Ci0gICAgfQotCi0gICAgYm9vbCBpc1NldCgpIGNvbnN0IHsgcmV0dXJuIG1fdGFnICE9
IE5vdFNldDsgfQotICAgIGJvb2wgaXNQcmltaXRpdmUoKSBjb25zdCB7IHJldHVybiBtX3RhZyA9
PSBQcmltaXRpdmU7IH0KLSAgICBib29sIGlzT2JqZWN0KCkgY29uc3QgeyByZXR1cm4gbV90YWcg
PT0gT2JqZWN0OyB9Ci0gICAgYm9vbCBpc1N0cmluZygpIGNvbnN0IHsgcmV0dXJuIG1fdGFnID09
IFN0cmluZzsgfQotCi0gICAgdm9pZCBzZXRQcmltaXRpdmUoSlNDOjpKU1ZhbHVlIHByaW1pdGl2
ZSkKLSAgICB7Ci0gICAgICAgIEFTU0VSVCghaXNTZXQoKSk7Ci0gICAgICAgIEFTU0VSVCghdS5t
X3ByaW1pdGl2ZSk7Ci0gICAgICAgIEFTU0VSVChwcmltaXRpdmUuaXNQcmltaXRpdmUoKSk7Ci0g
ICAgICAgIG1fdGFnID0gUHJpbWl0aXZlOwotICAgICAgICB1Lm1fcHJpbWl0aXZlID0gcHJpbWl0
aXZlOwotICAgIH0KLQotICAgIHZvaWQgc2V0T2JqZWN0KEpTQzo6SlNPYmplY3QqIG9iamVjdCwg
dm9pZCogY29udGV4dCkKLSAgICB7Ci0gICAgICAgIEFTU0VSVCghaXNTZXQoKSk7Ci0gICAgICAg
IEFTU0VSVCghdS5tX29iamVjdCk7Ci0gICAgICAgIG1fdGFnID0gT2JqZWN0OwotICAgICAgICBK
U0M6OldlYWs8SlNDOjpKU09iamVjdD4gd2VhayhvYmplY3QsIG1hbmFnZWRWYWx1ZUhhbmRsZU93
bmVyKCksIGNvbnRleHQpOwotICAgICAgICB1Lm1fb2JqZWN0LnN3YXAod2Vhayk7Ci0gICAgfQot
Ci0gICAgdm9pZCBzZXRTdHJpbmcoSlNDOjpKU1N0cmluZyogc3RyaW5nLCB2b2lkKiBjb250ZXh0
KQotICAgIHsKLSAgICAgICAgQVNTRVJUKCFpc1NldCgpKTsKLSAgICAgICAgQVNTRVJUKCF1Lm1f
b2JqZWN0KTsKLSAgICAgICAgbV90YWcgPSBTdHJpbmc7Ci0gICAgICAgIEpTQzo6V2VhazxKU0M6
OkpTU3RyaW5nPiB3ZWFrKHN0cmluZywgbWFuYWdlZFZhbHVlSGFuZGxlT3duZXIoKSwgY29udGV4
dCk7Ci0gICAgICAgIHUubV9zdHJpbmcuc3dhcCh3ZWFrKTsKLSAgICB9Ci0KLSAgICBKU0M6OkpT
T2JqZWN0KiBvYmplY3QoKQotICAgIHsKLSAgICAgICAgQVNTRVJUKGlzT2JqZWN0KCkpOwotICAg
ICAgICByZXR1cm4gdS5tX29iamVjdC5nZXQoKTsKLSAgICB9Ci0KLSAgICBKU0M6OkpTVmFsdWUg
cHJpbWl0aXZlKCkKLSAgICB7Ci0gICAgICAgIEFTU0VSVChpc1ByaW1pdGl2ZSgpKTsKLSAgICAg
ICAgcmV0dXJuIHUubV9wcmltaXRpdmU7Ci0gICAgfQotCi0gICAgSlNDOjpKU1N0cmluZyogc3Ry
aW5nKCkKLSAgICB7Ci0gICAgICAgIEFTU0VSVChpc1N0cmluZygpKTsKLSAgICAgICAgcmV0dXJu
IHUubV9zdHJpbmcuZ2V0KCk7Ci0gICAgfQotCi1wcml2YXRlOgotICAgIGVudW0gV2Vha1R5cGVU
YWcgeyBOb3RTZXQsIFByaW1pdGl2ZSwgT2JqZWN0LCBTdHJpbmcgfTsKLSAgICBXZWFrVHlwZVRh
ZyBtX3RhZzsKLSAgICB1bmlvbiBXZWFrVmFsdWVVbmlvbiB7Ci0gICAgcHVibGljOgotICAgICAg
ICBXZWFrVmFsdWVVbmlvbiAoKQotICAgICAgICAgICAgOiBtX3ByaW1pdGl2ZShKU0M6OkpTVmFs
dWUoKSkKLSAgICAgICAgewotICAgICAgICB9Ci0KLSAgICAgICAgfldlYWtWYWx1ZVVuaW9uKCkK
LSAgICAgICAgewotICAgICAgICAgICAgQVNTRVJUKCFtX3ByaW1pdGl2ZSk7Ci0gICAgICAgIH0K
LQotICAgICAgICBKU0M6OkpTVmFsdWUgbV9wcmltaXRpdmU7Ci0gICAgICAgIEpTQzo6V2VhazxK
U0M6OkpTT2JqZWN0PiBtX29iamVjdDsKLSAgICAgICAgSlNDOjpXZWFrPEpTQzo6SlNTdHJpbmc+
IG1fc3RyaW5nOwotICAgIH0gdTsKLX07Ci0KIEBpbXBsZW1lbnRhdGlvbiBKU01hbmFnZWRWYWx1
ZSB7CiAgICAgSlNDOjpXZWFrPEpTQzo6SlNHbG9iYWxPYmplY3Q+IG1fZ2xvYmFsT2JqZWN0Owog
ICAgIFJlZlB0cjxKU0M6OkpTTG9jaz4gbV9sb2NrOwotICAgIFdlYWtWYWx1ZVJlZiBtX3dlYWtW
YWx1ZTsKKyAgICBKU0M6OkpTV2Vha1ZhbHVlIG1fd2Vha1ZhbHVlOwogICAgIE5TTWFwVGFibGUg
Km1fb3duZXJzOwogfQogCkBAIC0yMDMsNyArODcsOCBAQCBwcml2YXRlOgogCiAgICAgSlNDOjpF
eGVjU3RhdGUqIGV4ZWMgPSB0b0pTKFt2YWx1ZS5jb250ZXh0IEpTR2xvYmFsQ29udGV4dFJlZl0p
OwogICAgIEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGV4ZWMtPmxleGljYWxH
bG9iYWxPYmplY3QoKTsKLSAgICBKU0M6OldlYWs8SlNDOjpKU0dsb2JhbE9iamVjdD4gd2Vhayhn
bG9iYWxPYmplY3QsIG1hbmFnZWRWYWx1ZUhhbmRsZU93bmVyKCksIHNlbGYpOworICAgIGF1dG8m
IG93bmVyID0gbWFuYWdlZFZhbHVlSGFuZGxlT3duZXIoKTsKKyAgICBKU0M6OldlYWs8SlNDOjpK
U0dsb2JhbE9iamVjdD4gd2VhayhnbG9iYWxPYmplY3QsICZvd25lciwgc2VsZik7CiAgICAgbV9n
bG9iYWxPYmplY3Quc3dhcCh3ZWFrKTsKIAogICAgIG1fbG9jayA9ICZleGVjLT52bSgpLmFwaUxv
Y2soKTsKQEAgLTIxNCw5ICs5OSw5IEBAIHByaXZhdGU6CiAKICAgICBKU0M6OkpTVmFsdWUganNW
YWx1ZSA9IHRvSlMoZXhlYywgW3ZhbHVlIEpTVmFsdWVSZWZdKTsKICAgICBpZiAoanNWYWx1ZS5p
c09iamVjdCgpKQotICAgICAgICBtX3dlYWtWYWx1ZS5zZXRPYmplY3QoSlNDOjpqc0Nhc3Q8SlND
OjpKU09iamVjdCo+KGpzVmFsdWUuYXNDZWxsKCkpLCBzZWxmKTsKKyAgICAgICAgbV93ZWFrVmFs
dWUuc2V0T2JqZWN0KEpTQzo6anNDYXN0PEpTQzo6SlNPYmplY3QqPihqc1ZhbHVlLmFzQ2VsbCgp
KSwgb3duZXIsIHNlbGYpOwogICAgIGVsc2UgaWYgKGpzVmFsdWUuaXNTdHJpbmcoKSkKLSAgICAg
ICAgbV93ZWFrVmFsdWUuc2V0U3RyaW5nKEpTQzo6anNDYXN0PEpTQzo6SlNTdHJpbmcqPihqc1Zh
bHVlLmFzQ2VsbCgpKSwgc2VsZik7CisgICAgICAgIG1fd2Vha1ZhbHVlLnNldFN0cmluZyhKU0M6
OmpzQ2FzdDxKU0M6OkpTU3RyaW5nKj4oanNWYWx1ZS5hc0NlbGwoKSksIG93bmVyLCBzZWxmKTsK
ICAgICBlbHNlCiAgICAgICAgIG1fd2Vha1ZhbHVlLnNldFByaW1pdGl2ZShqc1ZhbHVlKTsKICAg
ICByZXR1cm4gc2VsZjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNX
ZWFrVmFsdWUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1dlYWtWYWx1ZS5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjc3ZmNhYzY4ODE0Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1dlYWtWYWx1ZS5jcHAK
QEAgLTAsMCArMSwxMDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMsIDIwMTYgQXBwbGUg
SW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxOCBJZ2FsaWEg
Uy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSlNXZWFrVmFsdWUuaCIKKworI2luY2x1ZGUgIkpTQ0lu
bGluZXMuaCIKKyNpbmNsdWRlICJXZWFrSGFuZGxlT3duZXIuaCIKKworbmFtZXNwYWNlIEpTQyB7
CisKK0pTV2Vha1ZhbHVlOjp+SlNXZWFrVmFsdWUoKQoreworICAgIGNsZWFyKCk7Cit9CisKK3Zv
aWQgSlNXZWFrVmFsdWU6OmNsZWFyKCkKK3sKKyAgICBzd2l0Y2ggKG1fdGFnKSB7CisgICAgY2Fz
ZSBXZWFrVHlwZVRhZzo6Tm90U2V0OgorICAgICAgICByZXR1cm47CisgICAgY2FzZSBXZWFrVHlw
ZVRhZzo6UHJpbWl0aXZlOgorICAgICAgICBtX3ZhbHVlLnByaW1pdGl2ZSA9IEpTVmFsdWUoKTsK
KyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgV2Vha1R5cGVUYWc6Ok9iamVjdDoKKyAgICAgICAg
bV92YWx1ZS5vYmplY3QuY2xlYXIoKTsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgV2Vha1R5
cGVUYWc6OlN0cmluZzoKKyAgICAgICAgbV92YWx1ZS5zdHJpbmcuY2xlYXIoKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKyAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCiti
b29sIEpTV2Vha1ZhbHVlOjppc0NsZWFyKCkgY29uc3QKK3sKKyAgICBzd2l0Y2ggKG1fdGFnKSB7
CisgICAgY2FzZSBXZWFrVHlwZVRhZzo6Tm90U2V0OgorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICBjYXNlIFdlYWtUeXBlVGFnOjpQcmltaXRpdmU6CisgICAgICAgIHJldHVybiAhbV92YWx1ZS5w
cmltaXRpdmU7CisgICAgY2FzZSBXZWFrVHlwZVRhZzo6T2JqZWN0OgorICAgICAgICByZXR1cm4g
IW1fdmFsdWUub2JqZWN0OworICAgIGNhc2UgV2Vha1R5cGVUYWc6OlN0cmluZzoKKyAgICAgICAg
cmV0dXJuICFtX3ZhbHVlLnN0cmluZzsKKyAgICB9CisgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JF
QUNIRUQoKTsKK30KKwordm9pZCBKU1dlYWtWYWx1ZTo6c2V0UHJpbWl0aXZlKEpTVmFsdWUgcHJp
bWl0aXZlKQoreworICAgIEFTU0VSVCghaXNTZXQoKSk7CisgICAgQVNTRVJUKCFtX3ZhbHVlLnBy
aW1pdGl2ZSk7CisgICAgQVNTRVJUKHByaW1pdGl2ZS5pc1ByaW1pdGl2ZSgpKTsKKyAgICBtX3Rh
ZyA9IFdlYWtUeXBlVGFnOjpQcmltaXRpdmU7CisgICAgbV92YWx1ZS5wcmltaXRpdmUgPSBwcmlt
aXRpdmU7Cit9CisKK3ZvaWQgSlNXZWFrVmFsdWU6OnNldE9iamVjdChKU09iamVjdCogb2JqZWN0
LCBXZWFrSGFuZGxlT3duZXImIG93bmVyLCB2b2lkKiBjb250ZXh0KQoreworICAgIEFTU0VSVCgh
aXNTZXQoKSk7CisgICAgQVNTRVJUKCFtX3ZhbHVlLm9iamVjdCk7CisgICAgbV90YWcgPSBXZWFr
VHlwZVRhZzo6T2JqZWN0OworICAgIFdlYWs8SlNPYmplY3Q+IHdlYWsob2JqZWN0LCAmb3duZXIs
IGNvbnRleHQpOworICAgIG1fdmFsdWUub2JqZWN0LnN3YXAod2Vhayk7Cit9CisKK3ZvaWQgSlNX
ZWFrVmFsdWU6OnNldFN0cmluZyhKU1N0cmluZyogc3RyaW5nLCBXZWFrSGFuZGxlT3duZXImIG93
bmVyLCB2b2lkKiBjb250ZXh0KQoreworICAgIEFTU0VSVCghaXNTZXQoKSk7CisgICAgQVNTRVJU
KCFtX3ZhbHVlLnN0cmluZyk7CisgICAgbV90YWcgPSBXZWFrVHlwZVRhZzo6U3RyaW5nOworICAg
IFdlYWs8SlNTdHJpbmc+IHdlYWsoc3RyaW5nLCAmb3duZXIsIGNvbnRleHQpOworICAgIG1fdmFs
dWUuc3RyaW5nLnN3YXAod2Vhayk7Cit9CisKK30gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1dlYWtWYWx1ZS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0FQSS9KU1dlYWtWYWx1ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwLi4xNzdlZjQxY2ZkMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9BUEkvSlNXZWFrVmFsdWUuaApAQCAtMCwwICsxLDk1IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEzLCAyMDE2IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTggSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJKU0NKU1ZhbHVlLmgi
CisjaW5jbHVkZSAiV2Vhay5oIgorCituYW1lc3BhY2UgSlNDIHsKKworY2xhc3MgSlNPYmplY3Q7
CitjbGFzcyBKU1N0cmluZzsKK2NsYXNzIFdlYWtIYW5kbGVPd25lcjsKKworY2xhc3MgSlNXZWFr
VmFsdWUgeworcHVibGljOgorICAgIEpTV2Vha1ZhbHVlKCkgPSBkZWZhdWx0OworICAgIH5KU1dl
YWtWYWx1ZSgpOworCisgICAgdm9pZCBjbGVhcigpOworICAgIGJvb2wgaXNDbGVhcigpIGNvbnN0
OworCisgICAgYm9vbCBpc1NldCgpIGNvbnN0IHsgcmV0dXJuIG1fdGFnICE9IFdlYWtUeXBlVGFn
OjpOb3RTZXQ7IH0KKyAgICBib29sIGlzUHJpbWl0aXZlKCkgY29uc3QgeyByZXR1cm4gbV90YWcg
PT0gV2Vha1R5cGVUYWc6OlByaW1pdGl2ZTsgfQorICAgIGJvb2wgaXNPYmplY3QoKSBjb25zdCB7
IHJldHVybiBtX3RhZyA9PSBXZWFrVHlwZVRhZzo6T2JqZWN0OyB9CisgICAgYm9vbCBpc1N0cmlu
ZygpIGNvbnN0IHsgcmV0dXJuIG1fdGFnID09IFdlYWtUeXBlVGFnOjpTdHJpbmc7IH0KKworICAg
IHZvaWQgc2V0UHJpbWl0aXZlKEpTVmFsdWUpOworICAgIHZvaWQgc2V0T2JqZWN0KEpTT2JqZWN0
KiwgV2Vha0hhbmRsZU93bmVyJiwgdm9pZCogY29udGV4dCk7CisgICAgdm9pZCBzZXRTdHJpbmco
SlNTdHJpbmcqLCBXZWFrSGFuZGxlT3duZXImLCB2b2lkKiBjb250ZXh0KTsKKworICAgIEpTT2Jq
ZWN0KiBvYmplY3QoKSBjb25zdAorICAgIHsKKyAgICAgICAgQVNTRVJUKGlzT2JqZWN0KCkpOwor
ICAgICAgICByZXR1cm4gbV92YWx1ZS5vYmplY3QuZ2V0KCk7CisgICAgfQorCisgICAgSlNWYWx1
ZSBwcmltaXRpdmUoKSBjb25zdAorICAgIHsKKyAgICAgICAgQVNTRVJUKGlzUHJpbWl0aXZlKCkp
OworICAgICAgICByZXR1cm4gbV92YWx1ZS5wcmltaXRpdmU7CisgICAgfQorCisgICAgSlNTdHJp
bmcqIHN0cmluZygpIGNvbnN0CisgICAgeworICAgICAgICBBU1NFUlQoaXNTdHJpbmcoKSk7Cisg
ICAgICAgIHJldHVybiBtX3ZhbHVlLnN0cmluZy5nZXQoKTsKKyAgICB9CisKK3ByaXZhdGU6Cisg
ICAgZW51bSBjbGFzcyBXZWFrVHlwZVRhZyB7IE5vdFNldCwgUHJpbWl0aXZlLCBPYmplY3QsIFN0
cmluZyB9OworCisgICAgV2Vha1R5cGVUYWcgbV90YWcgeyBXZWFrVHlwZVRhZzo6Tm90U2V0IH07
CisKKyAgICB1bmlvbiBXZWFrVmFsdWVVbmlvbiB7CisgICAgICAgIFdlYWtWYWx1ZVVuaW9uKCkK
KyAgICAgICAgICAgIDogcHJpbWl0aXZlKEpTVmFsdWUoKSkKKyAgICAgICAgeworICAgICAgICB9
CisKKyAgICAgICAgfldlYWtWYWx1ZVVuaW9uKCkKKyAgICAgICAgeworICAgICAgICAgICAgQVNT
RVJUKCFwcmltaXRpdmUpOworICAgICAgICB9CisKKyAgICAgICAgSlNWYWx1ZSBwcmltaXRpdmU7
CisgICAgICAgIFdlYWs8SlNPYmplY3Q+IG9iamVjdDsKKyAgICAgICAgV2VhazxKU1N0cmluZz4g
c3RyaW5nOworICAgIH0gbV92YWx1ZTsKK307CisKK30gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9nbGliL0pTQ1dlYWtWYWx1ZS5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL2dsaWIvSlNDV2Vha1ZhbHVlLmNwcAppbmRleCAyOWNk
MzQwNDNlNy4uOTg5N2VlMzI3NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9B
UEkvZ2xpYi9KU0NXZWFrVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkv
Z2xpYi9KU0NXZWFrVmFsdWUuY3BwCkBAIC0yNCw3ICsyNCw3IEBACiAjaW5jbHVkZSAiSlNDQ29u
dGV4dFByaXZhdGUuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNDVmFs
dWVQcml2YXRlLmgiCi0jaW5jbHVkZSAiV2Vhay5oIgorI2luY2x1ZGUgIkpTV2Vha1ZhbHVlLmgi
CiAjaW5jbHVkZSAiV2Vha0hhbmRsZU93bmVyLmgiCiAjaW5jbHVkZSA8d3RmL2dsaWIvR1JlZlB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9nbGliL0dVbmlxdWVQdHIuaD4KQEAgLTUzLDEyNCArNTMsMTAg
QEAgZW51bSB7CiAgICAgTEFTVF9TSUdOQUwKIH07CiAKLS8vIEZJWE1FOiBtb3ZlIHRoaXMgdG8g
aXRzIG93biBmaWxlIHRvIGJlIHNoYXJlZCBieSBHTGliIGFuZCBPYmpjIEFQSXMuCi1jbGFzcyBX
ZWFrVmFsdWVSZWYgewotcHVibGljOgotICAgIH5XZWFrVmFsdWVSZWYoKQotICAgIHsKLSAgICAg
ICAgY2xlYXIoKTsKLSAgICB9Ci0KLSAgICB2b2lkIGNsZWFyKCkKLSAgICB7Ci0gICAgICAgIHN3
aXRjaCAobV90YWcpIHsKLSAgICAgICAgY2FzZSBXZWFrVHlwZVRhZzo6Tm90U2V0OgotICAgICAg
ICAgICAgcmV0dXJuOwotICAgICAgICBjYXNlIFdlYWtUeXBlVGFnOjpQcmltaXRpdmU6Ci0gICAg
ICAgICAgICB1Lm1fcHJpbWl0aXZlID0gSlNDOjpKU1ZhbHVlKCk7Ci0gICAgICAgICAgICByZXR1
cm47Ci0gICAgICAgIGNhc2UgV2Vha1R5cGVUYWc6Ok9iamVjdDoKLSAgICAgICAgICAgIHUubV9v
YmplY3QuY2xlYXIoKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgY2FzZSBXZWFrVHlw
ZVRhZzo6U3RyaW5nOgotICAgICAgICAgICAgdS5tX3N0cmluZy5jbGVhcigpOwotICAgICAgICAg
ICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVE
KCk7Ci0gICAgfQotCi0gICAgYm9vbCBpc0NsZWFyKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHN3
aXRjaCAobV90YWcpIHsKLSAgICAgICAgY2FzZSBXZWFrVHlwZVRhZzo6Tm90U2V0OgotICAgICAg
ICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIGNhc2UgV2Vha1R5cGVUYWc6OlByaW1pdGl2ZToK
LSAgICAgICAgICAgIHJldHVybiAhdS5tX3ByaW1pdGl2ZTsKLSAgICAgICAgY2FzZSBXZWFrVHlw
ZVRhZzo6T2JqZWN0OgotICAgICAgICAgICAgcmV0dXJuICF1Lm1fb2JqZWN0OwotICAgICAgICBj
YXNlIFdlYWtUeXBlVGFnOjpTdHJpbmc6Ci0gICAgICAgICAgICByZXR1cm4gIXUubV9zdHJpbmc7
Ci0gICAgICAgIH0KLSAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICB9
Ci0KLSAgICBib29sIGlzU2V0KCkgY29uc3QgeyByZXR1cm4gbV90YWcgIT0gV2Vha1R5cGVUYWc6
Ok5vdFNldDsgfQotICAgIGJvb2wgaXNQcmltaXRpdmUoKSBjb25zdCB7IHJldHVybiBtX3RhZyA9
PSBXZWFrVHlwZVRhZzo6UHJpbWl0aXZlOyB9Ci0gICAgYm9vbCBpc09iamVjdCgpIGNvbnN0IHsg
cmV0dXJuIG1fdGFnID09IFdlYWtUeXBlVGFnOjpPYmplY3Q7IH0KLSAgICBib29sIGlzU3RyaW5n
KCkgY29uc3QgeyByZXR1cm4gbV90YWcgPT0gV2Vha1R5cGVUYWc6OlN0cmluZzsgfQotCi0gICAg
dm9pZCBzZXRQcmltaXRpdmUoSlNDOjpKU1ZhbHVlIHByaW1pdGl2ZSkKLSAgICB7Ci0gICAgICAg
IEFTU0VSVCghaXNTZXQoKSk7Ci0gICAgICAgIEFTU0VSVCghdS5tX3ByaW1pdGl2ZSk7Ci0gICAg
ICAgIEFTU0VSVChwcmltaXRpdmUuaXNQcmltaXRpdmUoKSk7Ci0gICAgICAgIG1fdGFnID0gV2Vh
a1R5cGVUYWc6OlByaW1pdGl2ZTsKLSAgICAgICAgdS5tX3ByaW1pdGl2ZSA9IHByaW1pdGl2ZTsK
LSAgICB9Ci0KLSAgICB2b2lkIHNldE9iamVjdChKU0M6OkpTT2JqZWN0KiBvYmplY3QsIEpTQzo6
V2Vha0hhbmRsZU93bmVyJiBvd25lciwgdm9pZCogY29udGV4dCkKLSAgICB7Ci0gICAgICAgIEFT
U0VSVCghaXNTZXQoKSk7Ci0gICAgICAgIEFTU0VSVCghdS5tX29iamVjdCk7Ci0gICAgICAgIG1f
dGFnID0gV2Vha1R5cGVUYWc6Ok9iamVjdDsKLSAgICAgICAgSlNDOjpXZWFrPEpTQzo6SlNPYmpl
Y3Q+IHdlYWsob2JqZWN0LCAmb3duZXIsIGNvbnRleHQpOwotICAgICAgICB1Lm1fb2JqZWN0LnN3
YXAod2Vhayk7Ci0gICAgfQotCi0gICAgdm9pZCBzZXRTdHJpbmcoSlNDOjpKU1N0cmluZyogc3Ry
aW5nLCBKU0M6OldlYWtIYW5kbGVPd25lciYgb3duZXIsIHZvaWQqIGNvbnRleHQpCi0gICAgewot
ICAgICAgICBBU1NFUlQoIWlzU2V0KCkpOwotICAgICAgICBBU1NFUlQoIXUubV9vYmplY3QpOwot
ICAgICAgICBtX3RhZyA9IFdlYWtUeXBlVGFnOjpTdHJpbmc7Ci0gICAgICAgIEpTQzo6V2VhazxK
U0M6OkpTU3RyaW5nPiB3ZWFrKHN0cmluZywgJm93bmVyLCBjb250ZXh0KTsKLSAgICAgICAgdS5t
X3N0cmluZy5zd2FwKHdlYWspOwotICAgIH0KLQotICAgIEpTQzo6SlNPYmplY3QqIG9iamVjdCgp
IGNvbnN0Ci0gICAgewotICAgICAgICBBU1NFUlQoaXNPYmplY3QoKSk7Ci0gICAgICAgIHJldHVy
biB1Lm1fb2JqZWN0LmdldCgpOwotICAgIH0KLQotICAgIEpTQzo6SlNWYWx1ZSBwcmltaXRpdmUo
KSBjb25zdAotICAgIHsKLSAgICAgICAgQVNTRVJUKGlzUHJpbWl0aXZlKCkpOwotICAgICAgICBy
ZXR1cm4gdS5tX3ByaW1pdGl2ZTsKLSAgICB9Ci0KLSAgICBKU0M6OkpTU3RyaW5nKiBzdHJpbmco
KSBjb25zdAotICAgIHsKLSAgICAgICAgQVNTRVJUKGlzU3RyaW5nKCkpOwotICAgICAgICByZXR1
cm4gdS5tX3N0cmluZy5nZXQoKTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgZW51bSBjbGFzcyBX
ZWFrVHlwZVRhZyB7IE5vdFNldCwgUHJpbWl0aXZlLCBPYmplY3QsIFN0cmluZyB9OwotCi0gICAg
V2Vha1R5cGVUYWcgbV90YWcgeyBXZWFrVHlwZVRhZzo6Tm90U2V0IH07Ci0KLSAgICB1bmlvbiBX
ZWFrVmFsdWVVbmlvbiB7Ci0gICAgcHVibGljOgotICAgICAgICBXZWFrVmFsdWVVbmlvbigpCi0g
ICAgICAgICAgICA6IG1fcHJpbWl0aXZlKEpTQzo6SlNWYWx1ZSgpKQotICAgICAgICB7Ci0gICAg
ICAgIH0KLQotICAgICAgICB+V2Vha1ZhbHVlVW5pb24oKQotICAgICAgICB7Ci0gICAgICAgICAg
ICBBU1NFUlQoIW1fcHJpbWl0aXZlKTsKLSAgICAgICAgfQotCi0gICAgICAgIEpTQzo6SlNWYWx1
ZSBtX3ByaW1pdGl2ZTsKLSAgICAgICAgSlNDOjpXZWFrPEpTQzo6SlNPYmplY3Q+IG1fb2JqZWN0
OwotICAgICAgICBKU0M6OldlYWs8SlNDOjpKU1N0cmluZz4gbV9zdHJpbmc7Ci0gICAgfSB1Owot
fTsKLQogc3RydWN0IF9KU0NXZWFrVmFsdWVQcml2YXRlIHsKICAgICBKU0M6OldlYWs8SlNDOjpK
U0dsb2JhbE9iamVjdD4gZ2xvYmFsT2JqZWN0OwogICAgIFJlZlB0cjxKU0M6OkpTTG9jaz4gbG9j
azsKLSAgICBXZWFrVmFsdWVSZWYgd2Vha1ZhbHVlUmVmOworICAgIEpTQzo6SlNXZWFrVmFsdWUg
d2Vha1ZhbHVlUmVmOwogfTsKIAogc3RhdGljIGd1aW50IHNpZ25hbHNbTEFTVF9TSUdOQUxdID0g
eyAwLCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggYjFiMDg5YTQxYWQuLjZiN2M0MjBj
Mzc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAxOC0wMy0y
OCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAg
W0pTQ10gTW92ZSBXZWFrVmFsdWVSZWYgY2xhc3MgdG8gaXRzIG93biBmaWxlIGFuZCB1c2UgaXQg
ZnJvbSBPYmpjIGFuZCBHTGliCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xODQwNzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBXZSBjdXJyZW50bHkgaGF2ZSBkdXBsaWNhdGVkIGNvZGUgaW4gT2JqIGFuZCBH
TGliIGltcGxlbWVudGF0aW9ucy4KKworICAgICAgICAqIEFQSS9KU01hbmFnZWRWYWx1ZS5tbToK
KyAgICAgICAgKG1hbmFnZWRWYWx1ZUhhbmRsZU93bmVyKToKKyAgICAgICAgKC1bSlNNYW5hZ2Vk
VmFsdWUgaW5pdFdpdGhWYWx1ZTpdKToKKyAgICAgICAgKiBBUEkvSlNXZWFrVmFsdWUuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKEpTQzo6SlNXZWFrVmFsdWU6On5KU1dlYWtWYWx1ZSk6CisgICAgICAg
IChKU0M6OkpTV2Vha1ZhbHVlOjpjbGVhcik6CisgICAgICAgIChKU0M6OkpTV2Vha1ZhbHVlOjpp
c0NsZWFyIGNvbnN0KToKKyAgICAgICAgKEpTQzo6SlNXZWFrVmFsdWU6OnNldFByaW1pdGl2ZSk6
CisgICAgICAgIChKU0M6OkpTV2Vha1ZhbHVlOjpzZXRPYmplY3QpOgorICAgICAgICAoSlNDOjpK
U1dlYWtWYWx1ZTo6c2V0U3RyaW5nKToKKyAgICAgICAgKiBBUEkvSlNXZWFrVmFsdWUuaDogQWRk
ZWQuCisgICAgICAgIChKU0M6OkpTV2Vha1ZhbHVlOjppc1NldCBjb25zdCk6CisgICAgICAgIChK
U0M6OkpTV2Vha1ZhbHVlOjppc1ByaW1pdGl2ZSBjb25zdCk6CisgICAgICAgIChKU0M6OkpTV2Vh
a1ZhbHVlOjppc09iamVjdCBjb25zdCk6CisgICAgICAgIChKU0M6OkpTV2Vha1ZhbHVlOjppc1N0
cmluZyBjb25zdCk6CisgICAgICAgIChKU0M6OkpTV2Vha1ZhbHVlOjpvYmplY3QgY29uc3QpOgor
ICAgICAgICAoSlNDOjpKU1dlYWtWYWx1ZTo6cHJpbWl0aXZlIGNvbnN0KToKKyAgICAgICAgKEpT
Qzo6SlNXZWFrVmFsdWU6OnN0cmluZyBjb25zdCk6CisgICAgICAgICogQVBJL2dsaWIvSlNDV2Vh
a1ZhbHVlLmNwcDoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorCiAyMDE4LTAzLTI3ICBDYXJsb3MgR2Fy
Y2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR0xJQl0gQWRkIEpT
Q1dlYWtWYWx1ZSB0byBKYXZhU2NyaXB0Q29yZSBHTGliIEFQSQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCA1Njc4NDJhMmQzNC4uNzU0OGJhYzIzN2YgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0xMTMwLDYgKzExMzAsNyBAQAogCQk3OUVGRDQ4NDFFQkMwNDVDMDBG
M0RGRUEgLyogSlNXZWJBc3NlbWJseUNvZGVCbG9ja0hlYXBDZWxsVHlwZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzlFRkQ0ODIxRUJDMDQ1QzAwRjNE
RkVBIC8qIEpTV2ViQXNzZW1ibHlDb2RlQmxvY2tIZWFwQ2VsbFR5cGUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3OUY4RkMxRjFCOUZFRDBGMDBD
QTY2QUIgLyogREZHTWF4aW1hbEZsdXNoSW5zZXJ0aW9uUGhhc2UuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5RjhGQzFEMUI5RkVEMEYwMENBNjZBQiAv
KiBERkdNYXhpbWFsRmx1c2hJbnNlcnRpb25QaGFzZS5oICovOyB9OwogCQk3OUZDOEEwODFFMzJF
OUYwMDBEODhGMEUgLyogREZHUmVnaXN0ZXJlZFN0cnVjdHVyZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzlGQzhBMDcxRTMyRTlGMDAwRDg4RjBFIC8q
IERGR1JlZ2lzdGVyZWRTdHJ1Y3R1cmUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQk3QTk3NzRBODIwNkI4MkU0MDA4RDAzRDAgLyogSlNXZWFrVmFs
dWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBOTc3
NEE3MjA2QjgyQzkwMDhEMDNEMCAvKiBKU1dlYWtWYWx1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTdCQzU0N0QzMUI2OTU5QTEwMDk1OUI1OCAv
KiBXYXNtRm9ybWF0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3QkM1NDdEMjFCNjk1OTlCMDA5NTlCNTggLyogV2FzbUZvcm1hdC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTdDMDA4Q0RCMTg3MTI0QkIw
MDk1NUMyNCAvKiBKU1Byb21pc2VEZWZlcnJlZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gN0MwMDhDRDkxODcxMjRCQjAwOTU1QzI0IC8qIEpTUHJvbWlz
ZURlZmVycmVkLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJN0MwMDhDRTcxODc2MzFCNjAwOTU1QzI0IC8qIE1pY3JvdGFzay5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MwMDhDRTUxODc2MzFCNjAwOTU1
QzI0IC8qIE1pY3JvdGFzay5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CkBAIC0zNjYxLDYgKzM2NjIsOCBAQAogCQk3OUY4RkMxQzFCOUZFRDBGMDBDQTY2
QUIgLyogREZHTWF4aW1hbEZsdXNoSW5zZXJ0aW9uUGhhc2UuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBuYW1lID0gREZHTWF4aW1hbEZsdXNoSW5zZXJ0aW9uUGhhc2UuY3BwOyBw
YXRoID0gZGZnL0RGR01heGltYWxGbHVzaEluc2VydGlvblBoYXNlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNzlGOEZDMUQxQjlGRUQwRjAwQ0E2NkFCIC8qIERGR01heGltYWxG
bHVzaEluc2VydGlvblBoYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERG
R01heGltYWxGbHVzaEluc2VydGlvblBoYXNlLmg7IHBhdGggPSBkZmcvREZHTWF4aW1hbEZsdXNo
SW5zZXJ0aW9uUGhhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzlGQzhBMDcx
RTMyRTlGMDAwRDg4RjBFIC8qIERGR1JlZ2lzdGVyZWRTdHJ1Y3R1cmUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gREZHUmVnaXN0ZXJlZFN0cnVjdHVyZS5oOyBwYXRoID0gZGZn
L0RGR1JlZ2lzdGVyZWRTdHJ1Y3R1cmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
N0E5Nzc0QTYyMDZCODI4QzAwOEQwM0QwIC8qIEpTV2Vha1ZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2Vha1ZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJN0E5Nzc0QTcyMDZCODJDOTAwOEQwM0QwIC8qIEpTV2Vha1ZhbHVlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTV2Vha1ZhbHVlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdCQzU0N0QyMUI2OTU5OUIwMDk1OUI1OCAvKiBXYXNtRm9y
bWF0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdhc21Gb3JtYXQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0MwMDhDRDgxODcxMjRCQjAwOTU1QzI0IC8qIEpT
UHJvbWlzZURlZmVycmVkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTUHJvbWlzZURlZmVycmVkLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0Mw
MDhDRDkxODcxMjRCQjAwOTU1QzI0IC8qIEpTUHJvbWlzZURlZmVycmVkLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTUHJvbWlzZURlZmVycmVkLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC01ODU3LDYgKzU4NjAsOCBAQAogCQkJCUE3NDgyQjc5MTE2NkNERUEw
MDNCMDcxMiAvKiBKU1dlYWtPYmplY3RNYXBSZWZQcml2YXRlLmggKi8sCiAJCQkJMEYwQjI4Njkx
RUI4RTZDRDAwMEVCNUQyIC8qIEpTV2Vha1ByaXZhdGUuY3BwICovLAogCQkJCTBGMEIyODZBMUVC
OEU2Q0QwMDBFQjVEMiAvKiBKU1dlYWtQcml2YXRlLmggKi8sCisJCQkJN0E5Nzc0QTYyMDZCODI4
QzAwOEQwM0QwIC8qIEpTV2Vha1ZhbHVlLmNwcCAqLywKKwkJCQk3QTk3NzRBNzIwNkI4MkM5MDA4
RDAzRDAgLyogSlNXZWFrVmFsdWUuaCAqLywKIAkJCQk4NkUzQzYwQzE2N0JBQjg3MDA2RDc2MEEg
LyogSlNXcmFwcGVyTWFwLmggKi8sCiAJCQkJODZFM0M2MEIxNjdCQUI4NzAwNkQ3NjBBIC8qIEpT
V3JhcHBlck1hcC5tbSAqLywKIAkJCQk4NkYzRUVCOTE2OENDRjc1MDA3N0I5MkEgLyogT2JqQ0Nh
bGxiYWNrRnVuY3Rpb24uaCAqLywKQEAgLTkwMzksNiArOTA0NCw3IEBACiAJCQkJQTUwM0ZBMUUx
ODhFMEZCMDAwMTEwRjE0IC8qIEpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNzAxM0NBOEMxQjQ5MUE5NDAwQ0FFNjEzIC8qIEpTSm9iLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCQzE4QzQxNjBFMTZGNUNEMDBCMzQ0NjAgLyogSlNMZXhpY2FsRW52aXJv
bm1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTdBOTc3NEE4MjA2QjgyRTQwMDhEMDNEMCAvKiBK
U1dlYWtWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0MjMwRTE2RjVDRDAwQjM0NDYw
IC8qIEpTTG9jay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzI1RDcwOUMxNkRFOTlGNDAwRkNBNkJD
IC8qIEpTTWFuYWdlZFZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyQTRCQjdGMzE4QTQxMTc5
MDA4QTBGQ0QgLyogSlNNYW5hZ2VkVmFsdWVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvU291cmNlcy50eHQKaW5kZXggZDdmNTAyM2Q2Y2QuLmFhOTYzZjUyNzVjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL1NvdXJjZXMudHh0CkBAIC0zNyw2ICszNyw3IEBAIEFQSS9KU1N0cmluZ1Jl
Zi5jcHAKIEFQSS9KU1ZhbHVlUmVmLmNwcAogQVBJL0pTV2Vha09iamVjdE1hcFJlZlByaXZhdGUu
Y3BwCiBBUEkvSlNXZWFrUHJpdmF0ZS5jcHAKK0FQSS9KU1dlYWtWYWx1ZS5jcHAKIEFQSS9PcGFx
dWVKU1N0cmluZy5jcHAKIAogYXNzZW1ibGVyL0FSTUFzc2VtYmxlci5jcHAK
</data>
<flag name="review"
          id="355168"
          type_id="1"
          status="+"
          setter="ysuzuki"
    />
          </attachment>
      

    </bug>

</bugzilla>