<?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>144081</bug_id>
          
          <creation_ts>2015-04-22 17:22:28 -0700</creation_ts>
          <short_desc>There should only be one way to get the system memory size.</short_desc>
          <delta_ts>2015-04-23 09:58:15 -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>Web Template Framework</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andreas Kling">kling</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>kling</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1087652</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-04-22 17:22:28 -0700</bug_when>
    <thetext>This is currently implemented in different ways in different files. Let&apos;s put something in WTF that everyone can use.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087655</commentid>
    <comment_count>1</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-04-22 17:30:02 -0700</bug_when>
    <thetext>Tim pointed out that WTF already has ramSize(). So let&apos;s try using that everywhere!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087746</commentid>
    <comment_count>2</comment_count>
      <attachid>251411</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-04-22 23:23:53 -0700</bug_when>
    <thetext>Created attachment 251411
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087748</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-22 23:25:15 -0700</bug_when>
    <thetext>Attachment 251411 did not pass style-queue:


ERROR: Source/WTF/wtf/RAMSize.cpp:33:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/WTF/wtf/RAMSize.cpp:91:  Missing space before {  [whitespace/braces] [5]
ERROR: Source/WebKit2/WebProcess/cocoa/WebProcessCocoa.mm:54:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/WebKit2/NetworkProcess/cocoa/NetworkProcessCocoa.mm:36:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 4 in 11 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087753</commentid>
    <comment_count>4</comment_count>
      <attachid>251413</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-04-23 00:08:39 -0700</bug_when>
    <thetext>Created attachment 251413
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087754</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-23 00:10:59 -0700</bug_when>
    <thetext>Attachment 251413 did not pass style-queue:


ERROR: Source/WebKit2/WebProcess/cocoa/WebProcessCocoa.mm:54:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 11 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087772</commentid>
    <comment_count>6</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-04-23 01:23:28 -0700</bug_when>
    <thetext>Committed r183181: &lt;http://trac.webkit.org/changeset/183181&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087828</commentid>
    <comment_count>7</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-04-23 08:39:47 -0700</bug_when>
    <thetext>This seems to be creating a build failure:

/Volumes/Data/slave/yosemite-release/build/Source/WebKit2/WebProcess/cocoa/WebProcessCocoa.mm:58:9: fatal error: &apos;wtf/RamSize.h&apos; file not found</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087843</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-04-23 09:10:18 -0700</bug_when>
    <thetext>Started fixing the build in &lt;http://trac.webkit.org/r183188&gt;. There may be more...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087858</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-04-23 09:58:15 -0700</bug_when>
    <thetext>Andy Estes pointed out that the WTF part of the fix was not necessary. Rolled it out in r183190.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251411</attachid>
            <date>2015-04-22 23:23:53 -0700</date>
            <delta_ts>2015-04-23 00:08:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144081.diff</filename>
            <type>text/plain</type>
            <size>17834</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggYTg2ZjUzMS4uODVkY2FjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxNS0wNC0yMiAg
QW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CisKKyAgICAgICAgVGhlcmUgc2hvdWxk
IG9ubHkgYmUgb25lIHdheSB0byBnZXQgdGhlIHN5c3RlbSBtZW1vcnkgc2l6ZS4KKyAgICAgICAg
PGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE0NDA4MT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBNZXJnZSBhbGwgdGhlIGxvZ2ljIGZyb20gb3RoZXIgUkFN
IHNpemUgZmV0Y2hlciBoZWxwZXJzIGludG8gV1RGJ3MuCisKKyAgICAgICAgRGFyd2luIHBvcnRz
IG5vdyB1c2UgaG9zdF9pbmZvKCkgaW5zdGVhZCBvZiBzeXNjdGwoKSwgc2luY2UgdGhhdCB3YXMg
dGhlIG1vcmUgY29tbW9uIHdheQorICAgICAgICBvZiBkb2luZyB0aGlzLgorCisgICAgICAgIEFs
c28gYnVtcGVkIHRoZSBmYWxsYmFjayBhbnN3ZXIgZnJvbSAxMjggTUIgdG8gNTEyIE1CIHRvIGJy
aW5nIGl0IGNsb3NlciB0byB0b2RheSdzIGhhcmR3YXJlLgorCisgICAgICAgIEZpbmFsbHksIHRo
ZSBudW1iZXIgaXMgcm91bmRlZCB1cCB0byB0aGUgbmV4dCBtdWx0aXBsZSBvZiAxMjggTUIsIHRv
IGF2b2lkIG1pc3VuZGVyc3RhbmRpbmdzCisgICAgICAgIG9uIHNvbWUgc3lzdGVtcyB3aGVyZSB0
aGUgbnVtYmVyIHJldHVybmVkIGJ5IHRoZSBrZXJuZWwgaXMgc2xpZ2h0bHkgbG93ZXIgdGhhbiB0
aGUgbWFya2V0aW5nCisgICAgICAgIG51bWJlci4gUmVtb3ZlZCB0aGUgImZ1ZGdpbmciIHRoYXQg
d2FzIHVzZWQgaW4gc29tZSBwbGFjZXMsIHNpbmNlIHRoaXMgZml4ZXMgdGhhdCBjbGVhbmx5Lgor
CisgICAgICAgICogd3RmL1JBTVNpemUuY3BwOgorICAgICAgICAoV1RGOjpjb21wdXRlUkFNU2l6
ZSk6CisKIDIwMTUtMDQtMjIgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAK
ICAgICAgICAgW01hY10gSW4gbmlnaHRsaWVzIGFuZCBsb2NhbCBidWlsZHMsIFdlYktpdCBzZXJ2
aWNlcyBjYW4gZ2V0IHRlcm1pbmF0ZWQgdW5kZXIgbWVtb3J5IHByZXNzdXJlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL3d0Zi9SQU1TaXplLmNwcCBiL1NvdXJjZS9XVEYvd3RmL1JBTVNpemUuY3Bw
CmluZGV4IGE2ZDFmNjQuLmY1N2JjODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1JBTVNp
emUuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL1JBTVNpemUuY3BwCkBAIC0yNywxMCArMjcsMTQg
QEAKICNpbmNsdWRlICJSQU1TaXplLmgiCiAKICNpbmNsdWRlICJTdGRMaWJFeHRyYXMuaCIKKyNp
bmNsdWRlIDxtdXRleD4KKwogI2lmIE9TKERBUldJTikKLSNpbmNsdWRlIDxzeXMvcGFyYW0uaD4K
LSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSNpbmNsdWRlIDxzeXMvc3lzY3RsLmg+CisjaW1wb3J0
IDxtYXRoLmg+CisjaW1wb3J0IDxkaXNwYXRjaC9kaXNwYXRjaC5oPgorI2ltcG9ydCA8bWFjaC9o
b3N0X2luZm8uaD4KKyNpbXBvcnQgPG1hY2gvbWFjaC5oPgorI2ltcG9ydCA8bWFjaC9tYWNoX2Vy
cm9yLmg+CiAjZWxpZiBPUyhVTklYKQogI2luY2x1ZGUgPHVuaXN0ZC5oPgogI2VsaWYgT1MoV0lO
RE9XUykKQEAgLTM5LDIyICs0MywzMSBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAotc3RhdGljIGNv
bnN0IHNpemVfdCByYW1TaXplR3Vlc3MgPSAxMjggKiBNQjsKK3N0YXRpYyBjb25zdCBzaXplX3Qg
cmFtU2l6ZUd1ZXNzID0gNTEyICogTUI7CiAKIHN0YXRpYyBzaXplX3QgY29tcHV0ZVJBTVNpemUo
KQogewotI2lmIE9TKERBUldJTikKLSAgICBpbnQgbWliWzJdOwotICAgIHVpbnQ2NF90IHJhbVNp
emU7Ci0gICAgc2l6ZV90IGxlbmd0aDsKKyNpZiBQTEFURk9STShJT1NfU0lNVUxBVE9SKQorICAg
IC8vIFByZXRlbmQgd2UgaGF2ZSA1MTJNQiBvZiBtZW1vcnkgdG8gbWFrZSBjYWNoZSBzaXplcyBi
ZWhhdmUgbGlrZSBvbiBkZXZpY2UuCisgICAgcmV0dXJuIHJhbVNpemVHdWVzczsKKyNlbGlmIE9T
KERBUldJTikKKyAgICBob3N0X2Jhc2ljX2luZm9fZGF0YV90IGhvc3RJbmZvOwogCi0gICAgbWli
WzBdID0gQ1RMX0hXOwotICAgIG1pYlsxXSA9IEhXX01FTVNJWkU7Ci0gICAgbGVuZ3RoID0gc2l6
ZW9mKGludDY0X3QpOwotICAgIGludCBzeXNjdGxSZXN1bHQgPSBzeXNjdGwobWliLCAyLCAmcmFt
U2l6ZSwgJmxlbmd0aCwgMCwgMCk7Ci0gICAgaWYgKHN5c2N0bFJlc3VsdCA9PSAtMSkKKyAgICBt
YWNoX3BvcnRfdCBob3N0ID0gbWFjaF9ob3N0X3NlbGYoKTsKKyAgICBtYWNoX21zZ190eXBlX251
bWJlcl90IGNvdW50ID0gSE9TVF9CQVNJQ19JTkZPX0NPVU5UOworICAgIGtlcm5fcmV0dXJuX3Qg
ciA9IGhvc3RfaW5mbyhob3N0LCBIT1NUX0JBU0lDX0lORk8sIChob3N0X2luZm9fdCkmaG9zdElu
Zm8sICZjb3VudCk7CisgICAgbWFjaF9wb3J0X2RlYWxsb2NhdGUobWFjaF90YXNrX3NlbGYoKSwg
aG9zdCk7CisgICAgaWYgKHIgIT0gS0VSTl9TVUNDRVNTKSB7CisgICAgICAgIExPR19FUlJPUigi
JXMgOiBob3N0X2luZm8oJWQpIDogJXMuXG4iLCBfX0ZVTkNUSU9OX18sIHIsIG1hY2hfZXJyb3Jf
c3RyaW5nKHIpKTsKICAgICAgICAgcmV0dXJuIHJhbVNpemVHdWVzczsKLSAgICByZXR1cm4gcmFt
U2l6ZSA+IHN0ZDo6bnVtZXJpY19saW1pdHM8c2l6ZV90Pjo6bWF4KCkgPyBzdGQ6Om51bWVyaWNf
bGltaXRzPHNpemVfdD46Om1heCgpIDogc3RhdGljX2Nhc3Q8c2l6ZV90PihyYW1TaXplKTsKKyAg
ICB9CisKKyAgICBzaXplX3Qgc2l6ZUFjY29yZGluZ1RvS2VybmVsID0gaG9zdEluZm8ubWF4X21l
bTsKKyAgICBzaXplX3QgbXVsdGlwbGUgPSAxMjggKiBNQjsKKworICAgIC8vIFJvdW5kIHVwIHRo
ZSBtZW1vcnkgc2l6ZSB0byBhIG11bHRpcGxlIG9mIDEyOE1CIGJlY2F1c2UgbWF4X21lbSBtYXkg
bm90IGJlIGV4YWN0bHkgNTEyTUIKKyAgICAvLyAoZm9yIGV4YW1wbGUpIGFuZCB3ZSBoYXZlIGNv
ZGUgdGhhdCBkZXBlbmRzIG9uIHRob3NlIGJvdW5kYXJpZXMuCisgICAgcmV0dXJuICgoc2l6ZUFj
Y29yZGluZ1RvS2VybmVsICsgbXVsdGlwbGUgLSAxKSAvIG11bHRpcGxlKSAqIG11bHRpcGxlOwog
I2VsaWYgT1MoVU5JWCkKICAgICBsb25nIHBhZ2VzID0gc3lzY29uZihfU0NfUEhZU19QQUdFUyk7
CiAgICAgbG9uZyBwYWdlU2l6ZSA9IHN5c2NvbmYoX1NDX1BBR0VfU0laRSk7CkBAIC03Myw3ICs4
NiwxMSBAQCBzdGF0aWMgc2l6ZV90IGNvbXB1dGVSQU1TaXplKCkKIAogc2l6ZV90IHJhbVNpemUo
KQogewotICAgIHN0YXRpYyBjb25zdCBzaXplX3QgcmFtU2l6ZSA9IGNvbXB1dGVSQU1TaXplKCk7
CisgICAgc3RhdGljIHNpemVfdCByYW1TaXplOworICAgIHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBv
bmNlRmxhZzsKKyAgICBzdGQ6OmNhbGxfb25jZShvbmNlRmxhZywgW117CisgICAgICAgIHJhbVNp
emUgPSBjb21wdXRlUkFNU2l6ZSgpOworICAgIH0pOwogICAgIHJldHVybiByYW1TaXplOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNz
aW9uTWFuYWdlcklPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRp
YVNlc3Npb25NYW5hZ2VySU9TLm1tCmluZGV4IDM2MzNmMGQuLjA0NDQyNzEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25NYW5hZ2VySU9T
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25N
YW5hZ2VySU9TLm1tCkBAIC00Miw2ICs0Miw3IEBACiAjaW1wb3J0IDxNZWRpYVBsYXllci9NUFZv
bHVtZVZpZXcuaD4KICNpbXBvcnQgPFVJS2l0L1VJQXBwbGljYXRpb24uaD4KICNpbXBvcnQgPG9i
amMvcnVudGltZS5oPgorI2ltcG9ydCA8d3RmL1JBTVNpemUuaD4KICNpbXBvcnQgPHd0Zi9SZXRh
aW5QdHIuaD4KIAogU09GVF9MSU5LX0ZSQU1FV09SSyhBVkZvdW5kYXRpb24pCkBAIC0xMzksOCAr
MTQwLDggQEAgdm9pZCBNZWRpYVNlc3Npb25NYW5hZ2VyaU9TOjpyZXNldFJlc3RyaWN0aW9ucygp
CiAgICAgaWYgKGRldmljZUNsYXNzID09IHdrRGV2aWNlQ2xhc3NpUGhvbmUgfHwgZGV2aWNlQ2xh
c3MgPT0gd2tEZXZpY2VDbGFzc2lQb2QpCiAgICAgICAgIGFkZFJlc3RyaWN0aW9uKE1lZGlhU2Vz
c2lvbjo6VmlkZW8sIElubGluZVZpZGVvUGxheWJhY2tSZXN0cmljdGVkKTsKIAotICAgIGlmIChz
eXN0ZW1Ub3RhbE1lbW9yeSgpIDwgc3lzdGVtTWVtb3J5UmVxdWlyZWRGb3JWaWRlb0luQmFja2dy
b3VuZFRhYnMpIHsKLSAgICAgICAgTE9HKE1lZGlhLCAiTWVkaWFTZXNzaW9uTWFuYWdlcmlPUzo6
cmVzZXRSZXN0cmljdGlvbnMgLSByZXN0cmljdGluZyB2aWRlbyBpbiBiYWNrZ3JvdW5kIHRhYnMg
YmVjYXVzZSBzeXN0ZW0gbWVtb3J5ID0gJXp1bCIsIHN5c3RlbVRvdGFsTWVtb3J5KCkpOworICAg
IGlmIChyYW1TaXplKCkgPCBzeXN0ZW1NZW1vcnlSZXF1aXJlZEZvclZpZGVvSW5CYWNrZ3JvdW5k
VGFicykgeworICAgICAgICBMT0coTWVkaWEsICJNZWRpYVNlc3Npb25NYW5hZ2VyaU9TOjpyZXNl
dFJlc3RyaWN0aW9ucyAtIHJlc3RyaWN0aW5nIHZpZGVvIGluIGJhY2tncm91bmQgdGFicyBiZWNh
dXNlIHN5c3RlbSBtZW1vcnkgPSAlenVsIiwgcmFtU2l6ZSgpKTsKICAgICAgICAgYWRkUmVzdHJp
Y3Rpb24oTWVkaWFTZXNzaW9uOjpWaWRlbywgQmFja2dyb3VuZFRhYlBsYXliYWNrUmVzdHJpY3Rl
ZCk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVn
YWN5VGlsZUNhY2hlLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVD
YWNoZS5tbQppbmRleCAxYWU3NDk3Li4yMjFmM2Y5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUubW0KQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRl
ICJXZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmgiCiAjaW5jbHVkZSAiV2ViQ29yZVRocmVhZFJ1bi5o
IgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgorI2luY2x1ZGUgPHd0Zi9SQU1TaXplLmg+
CiAKIEBpbnRlcmZhY2UgV0FLVmlldyAoV2ViVmlld0V4dHJhcykKIC0gKHZvaWQpX2Rpc3BhdGNo
VGlsZURpZERyYXc6KENBTGF5ZXIqKXRpbGU7CkBAIC00MzYsOCArNDM3LDcgQEAgdW5zaWduZWQg
TGVnYWN5VGlsZUNhY2hlOjp0aWxlQ2FwYWNpdHlGb3JHcmlkKExlZ2FjeVRpbGVHcmlkKiBncmlk
KQogewogICAgIHN0YXRpYyB1bnNpZ25lZCBjYXBhY2l0eTsKICAgICBpZiAoIWNhcGFjaXR5KSB7
Ci0gICAgICAgIHNpemVfdCB0b3RhbE1lbW9yeSA9IHN5c3RlbVRvdGFsTWVtb3J5KCk7Ci0gICAg
ICAgIHRvdGFsTWVtb3J5IC89IDEwMjQgKiAxMDI0OworICAgICAgICBzaXplX3QgdG90YWxNZW1v
cnkgPSByYW1TaXplKCkgLyAxMDI0IC8gMTAyNDsKICAgICAgICAgaWYgKHRvdGFsTWVtb3J5ID49
IDEwMjQpCiAgICAgICAgICAgICBjYXBhY2l0eSA9IDEyOCAqIDEwMjQgKiAxMDI0OwogICAgICAg
ICBlbHNlIGlmICh0b3RhbE1lbW9yeSA+PSA1MTIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pb3MvU3lzdGVtTWVtb3J5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
b3MvU3lzdGVtTWVtb3J5LmgKaW5kZXggMzU3Y2MzMS4uOTQ3Njc5NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1N5c3RlbU1lbW9yeS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2lvcy9TeXN0ZW1NZW1vcnkuaApAQCAtMzMsNyArMzMsNiBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBXRUJDT1JFX0VYUE9SVCBpbnQgc3lzdGVtTWVtb3J5TGV2ZWwoKTsg
Ly8gSW4gWzAsIDEwMF0KLVdFQkNPUkVfRVhQT1JUIHNpemVfdCBzeXN0ZW1Ub3RhbE1lbW9yeSgp
OwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9T
eXN0ZW1NZW1vcnlJT1MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1N5c3RlbU1l
bW9yeUlPUy5jcHAKaW5kZXggN2FmYjc3ZS4uZDg4OGNkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW9zL1N5c3RlbU1lbW9yeUlPUy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL1N5c3RlbU1lbW9yeUlPUy5jcHAKQEAgLTI5LDcgKzI5LDYgQEAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTeXN0ZW1NZW1vcnkuaCIKIAotI2luY2x1ZGUg
PG1hY2gvbWFjaC5oPgogI2luY2x1ZGUgPHN5cy9zeXNjdGwuaD4KICNpbmNsdWRlIDx3dGYvQXNz
ZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgpAQCAtNTMsMzUgKzUyLDQg
QEAgaW50IHN5c3RlbU1lbW9yeUxldmVsKCkKICNlbmRpZgogfQogCi0jaWYgIVBMQVRGT1JNKElP
U19TSU1VTEFUT1IpCi1zdGF0aWMgaG9zdF9iYXNpY19pbmZvX2RhdGFfdCBnSG9zdEJhc2ljSW5m
bzsKLQotc3RhdGljIHZvaWQgaW5pdENhcGFiaWxpdGllcyh2b2lkKQotewotICAgIC8vIERpc2Nv
dmVyIG91ciBDUFUgdHlwZQotICAgIG1hY2hfcG9ydF90IGhvc3QgPSBtYWNoX2hvc3Rfc2VsZigp
OwotICAgIG1hY2hfbXNnX3R5cGVfbnVtYmVyX3QgY291bnQgPSBIT1NUX0JBU0lDX0lORk9fQ09V
TlQ7Ci0gICAga2Vybl9yZXR1cm5fdCByZXR1cm5WYWx1ZSA9IGhvc3RfaW5mbyhob3N0LCBIT1NU
X0JBU0lDX0lORk8sIHJlaW50ZXJwcmV0X2Nhc3Q8aG9zdF9pbmZvX3Q+KCZnSG9zdEJhc2ljSW5m
byksICZjb3VudCk7Ci0gICAgbWFjaF9wb3J0X2RlYWxsb2NhdGUobWFjaF90YXNrX3NlbGYoKSwg
aG9zdCk7Ci0gICAgaWYgKHJldHVyblZhbHVlICE9IEtFUk5fU1VDQ0VTUykKLSAgICAgICAgTE9H
X0VSUk9SKCIlcyA6IGhvc3RfaW5mbyglZCkgOiAlcy5cbiIsIF9fRlVOQ1RJT05fXywgcmV0dXJu
VmFsdWUsIG1hY2hfZXJyb3Jfc3RyaW5nKHJldHVyblZhbHVlKSk7Ci19Ci0jZW5kaWYKLQotc2l6
ZV90IHN5c3RlbVRvdGFsTWVtb3J5KCkKLXsKLSNpZiBQTEFURk9STShJT1NfU0lNVUxBVE9SKQot
ICAgIHJldHVybiA1MTIgKiAxMDI0ICogMTAyNDsKLSNlbHNlCi0gICAgLy8gRklYTUU6IENvbnNp
ZGVyIHVzaW5nIEMrKzExIHRocmVhZCBwcmltaXRpdmVzLgotICAgIHN0YXRpYyBwdGhyZWFkX29u
Y2VfdCBpbml0Q29udHJvbCA9IFBUSFJFQURfT05DRV9JTklUOwotCi0gICAgcHRocmVhZF9vbmNl
KCZpbml0Q29udHJvbCwgaW5pdENhcGFiaWxpdGllcyk7Ci0gICAgLy8gVGhlIHZhbHVlIGluIGdI
b3N0QmFzaWNJbmZvLm1heF9tZW0gaXMgb2Z0ZW4gbG93ZXIgdGhhbiB0aGUgYW1vdW50IHdlJ3Jl
Ci0gICAgLy8gaW50ZXJlc3RlZCBpbiAoZS5nLiwgZG9lcyB0aGlzIGRldmljZSBoYXZlIGF0IGxl
YXN0IDI1Nk1CIG9mIFJBTT8pCi0gICAgLy8gUm91bmQgdGhlIHZhbHVlIHRvIHRoZSBuZWFyZXN0
IHBvd2VyIG9mIDIuCi0gICAgcmV0dXJuIHN0YXRpY19jYXN0PHNpemVfdD4oZXhwMihjZWlsKGxv
ZzIoZ0hvc3RCYXNpY0luZm8ubWF4X21lbSkpKSk7Ci0jZW5kaWYKLX0KLQogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGJkN2MxZDEuLmE3OTA2ZTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxNS0wNC0yMiAgQW5kcmVhcyBLbGluZyAgPGFr
bGluZ0BhcHBsZS5jb20+CisKKyAgICAgICAgVGhlcmUgc2hvdWxkIG9ubHkgYmUgb25lIHdheSB0
byBnZXQgdGhlIHN5c3RlbSBtZW1vcnkgc2l6ZS4KKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9y
Zy9iLzE0NDA4MT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIE1pc2MvV2ViS2l0U3lzdGVtQml0cy5oOgorICAgICAgICAqIE1pc2MvV2ViS2l0U3lz
dGVtQml0cy5tOgorICAgICAgICAoV2ViTWVtb3J5U2l6ZSk6IERlbGV0ZWQuCisgICAgICAgICog
V2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoK1tXZWJWaWV3IF9zZXRDYWNoZU1vZGVsOl0p
OgorICAgICAgICAocm91bmRVcFRvUG93ZXJPZjIpOiBEZWxldGVkLgorCiAyMDE1LTA0LTIyICBF
cmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFtNYWNdIERl
dmljZSBwaWNrZXIgbWVudSBpcyBwb3NpdGlvbmVkIGluY29ycmVjdGx5IGluIFdLMQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJLaXRTeXN0ZW1CaXRzLmggYi9Tb3VyY2Uv
V2ViS2l0L21hYy9NaXNjL1dlYktpdFN5c3RlbUJpdHMuaAppbmRleCBlMmY5ZTI3Li5iNzcwZDBl
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJLaXRTeXN0ZW1CaXRzLmgK
KysrIGIvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJLaXRTeXN0ZW1CaXRzLmgKQEAgLTMyLDcg
KzMyLDYgQEAKIGV4dGVybiAiQyIgewogI2VuZGlmCiAKLXVpbnQ2NF90IFdlYk1lbW9yeVNpemUo
dm9pZCk7CiB1bnNpZ25lZCBsb25nIGxvbmcgV2ViVm9sdW1lRnJlZVNpemUoTlNTdHJpbmcgKnBh
dGgpOwogaW50IFdlYk51bWJlck9mQ1BVcyh2b2lkKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvTWlzYy9XZWJLaXRTeXN0ZW1CaXRzLm0gYi9Tb3VyY2UvV2ViS2l0L21hYy9NaXNj
L1dlYktpdFN5c3RlbUJpdHMubQppbmRleCBjODg5NzRjLi42ZWU5M2MwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdFN5c3RlbUJpdHMubQorKysgYi9Tb3VyY2UvV2Vi
S2l0L21hYy9NaXNjL1dlYktpdFN5c3RlbUJpdHMubQpAQCAtMzYsNDYgKzM2LDYgQEAKICNpbXBv
cnQgPHN5cy90eXBlcy5oPgogI2ltcG9ydCA8d3RmL0Fzc2VydGlvbnMuaD4KIAotI2lmICFQTEFU
Rk9STShJT1NfU0lNVUxBVE9SKQotCi1zdGF0aWMgaG9zdF9iYXNpY19pbmZvX2RhdGFfdCBnSG9z
dEJhc2ljSW5mbzsKLXN0YXRpYyBwdGhyZWFkX29uY2VfdCBpbml0Q29udHJvbCA9IFBUSFJFQURf
T05DRV9JTklUOwotCi1zdGF0aWMgdm9pZCBpbml0Q2FwYWJpbGl0aWVzKHZvaWQpCi17Ci0gICAg
bWFjaF9tc2dfdHlwZV9udW1iZXJfdCAgY291bnQ7Ci0gICAga2Vybl9yZXR1cm5fdCByOwotICAg
IG1hY2hfcG9ydF90IGhvc3Q7Ci0KLSAgICAvKiBEaXNjb3ZlciBvdXIgQ1BVIHR5cGUgKi8KLSAg
ICBob3N0ID0gbWFjaF9ob3N0X3NlbGYoKTsKLSAgICBjb3VudCA9IEhPU1RfQkFTSUNfSU5GT19D
T1VOVDsKLSAgICByID0gaG9zdF9pbmZvKGhvc3QsIEhPU1RfQkFTSUNfSU5GTywgKGhvc3RfaW5m
b190KSAmZ0hvc3RCYXNpY0luZm8sICZjb3VudCk7Ci0gICAgbWFjaF9wb3J0X2RlYWxsb2NhdGUo
bWFjaF90YXNrX3NlbGYoKSwgaG9zdCk7Ci0gICAgaWYgKHIgIT0gS0VSTl9TVUNDRVNTKSB7Ci0g
ICAgICAgIExPR19FUlJPUigiJXMgOiBob3N0X2luZm8oJWQpIDogJXMuXG4iLCBfX0ZVTkNUSU9O
X18sIHIsIG1hY2hfZXJyb3Jfc3RyaW5nKHIpKTsKLSAgICB9Ci19Ci0KLSNlbmRpZgotCi11aW50
NjRfdCBXZWJNZW1vcnlTaXplKHZvaWQpCi17Ci0jaWYgUExBVEZPUk0oSU9TX1NJTVVMQVRPUikK
LSAgICAvLyBQcmV0ZW5kIHdlIGhhdmUgNTEyTUIgb2YgbWVtb3J5IHRvIG1ha2UgY2FjaGUgc2l6
ZXMgYmVoYXZlIGxpa2Ugb24gZGV2aWNlCi0gICAgcmV0dXJuIDUxMiAqIDEwMjQgKiAxMDI0Owot
I2Vsc2UKLSAgICBwdGhyZWFkX29uY2UoJmluaXRDb250cm9sLCBpbml0Q2FwYWJpbGl0aWVzKTsK
LSNpZiBQTEFURk9STShJT1MpCi0gICAgLy8gT24gaU9TLCByb3VuZCB1cCB0aGUgbWVtb3J5IHNp
emUgdG8gYSBwb3dlciBvZiAyIGJlY2F1c2UgbWF4X21lbSBtYXkgbm90IGJlIGV4YWN0bHkgMjU2
TUIKLSAgICAvLyAoZm9yIGV4YW1wbGUpIGFuZCB3ZSBoYXZlIGNvZGUgdGhhdCBkZXBlbmRzIG9u
IHRob3NlIGJvdW5kYXJpZXMuCi0gICAgcmV0dXJuIHBvd2YoMi4wLCBjZWlsZihsb2cyZihnSG9z
dEJhc2ljSW5mby5tYXhfbWVtKSkpOwotI2Vsc2UKLSAgICByZXR1cm4gZ0hvc3RCYXNpY0luZm8u
bWF4X21lbTsKLSNlbmRpZgotI2VuZGlmCi19Ci0KIGludCBXZWJOdW1iZXJPZkNQVXModm9pZCkK
IHsKICAgICBzdGF0aWMgaW50IG51bUNQVXMgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJW
aWV3Lm1tCmluZGV4IDAzODY0NjQuLmZlYzYxOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlZpZXcubW0KQEAgLTIwNCw2ICsyMDQsNyBAQAogI2ltcG9ydCA8d3RmL0hhc2hUcmFpdHMuaD4K
ICNpbXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW1wb3J0IDx3dGYvT2JqY1J1bnRpbWVFeHRy
YXMuaD4KKyNpbXBvcnQgPHd0Zi9SQU1TaXplLmg+CiAjaW1wb3J0IDx3dGYvUmVmQ291bnRlZExl
YWtDb3VudGVyLmg+CiAjaW1wb3J0IDx3dGYvUmVmUHRyLmg+CiAjaW1wb3J0IDx3dGYvUnVuTG9v
cC5oPgpAQCAtNzcxOCwxMSArNzcxOSw2IEBAIHN0YXRpYyBXZWJGcmFtZVZpZXcgKmNvbnRhaW5p
bmdGcmFtZVZpZXcoTlNWaWV3ICp2aWV3KQogfQogI2VuZGlmCiAKLXN0YXRpYyBpbmxpbmUgdWlu
dDY0X3Qgcm91bmRVcFRvUG93ZXJPZjIodWludDY0X3QgbnVtKQotewotICAgIHJldHVybiBwb3dm
KDIuMCwgY2VpbGYobG9nMmYobnVtKSkpOwotfQotCiArICh2b2lkKV9zZXRDYWNoZU1vZGVsOihX
ZWJDYWNoZU1vZGVsKWNhY2hlTW9kZWwKIHsKICAgICBpZiAoc19kaWRTZXRDYWNoZU1vZGVsICYm
IGNhY2hlTW9kZWwgPT0gc19jYWNoZU1vZGVsKQpAQCAtNzczMiw3ICs3NzI4LDcgQEAgc3RhdGlj
IGlubGluZSB1aW50NjRfdCByb3VuZFVwVG9Qb3dlck9mMih1aW50NjRfdCBudW0pCiAgICAgaWYg
KCFuc3VybENhY2hlRGlyZWN0b3J5KQogICAgICAgICBuc3VybENhY2hlRGlyZWN0b3J5ID0gTlNI
b21lRGlyZWN0b3J5KCk7CiAKLSAgICBzdGF0aWMgdWludDY0X3QgbWVtU2l6ZSA9IHJvdW5kVXBU
b1Bvd2VyT2YyKFdlYk1lbW9yeVNpemUoKSAvIDEwMjQgLyAxMDI0KTsKKyAgICBzdGF0aWMgdWlu
dDY0X3QgbWVtU2l6ZSA9IHJhbVNpemUoKSAvIDEwMjQgLyAxMDI0OwogICAgIHVuc2lnbmVkIGxv
bmcgbG9uZyBkaXNrRnJlZVNpemUgPSBXZWJWb2x1bWVGcmVlU2l6ZShuc3VybENhY2hlRGlyZWN0
b3J5KSAvIDEwMjQgLyAxMDAwOwogICAgIE5TVVJMQ2FjaGUgKm5zdXJsQ2FjaGUgPSBbTlNVUkxD
YWNoZSBzaGFyZWRVUkxDYWNoZV07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCA2ODVmZmJmLi40NjU4
OTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTUtMDQtMjIgIEFuZHJl
YXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAgICAgIFRoZXJlIHNob3VsZCBvbmx5
IGJlIG9uZSB3YXkgdG8gZ2V0IHRoZSBzeXN0ZW0gbWVtb3J5IHNpemUuCisgICAgICAgIDxodHRw
czovL3dlYmtpdC5vcmcvYi8xNDQwODE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6OnNldENh
Y2hlTW9kZWwpOgorCiAyMDE1LTA0LTEzICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29t
PgogCiAgICAgICAgIFtGdWxsc2NyZWVuXSBDaHJvbWVDbGllbnQ6OmV4aXRWaWRlb0Z1bGxzY3Jl
ZW4oKSBzaG91bGQgdGFrZSBhIHBvaW50ZXIgdG8gYSBIVE1MVmlkZW9FbGVtZW50LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9X
ZWJWaWV3LmNwcAppbmRleCA3ZGFjYjQ3Li5lNjMwMTMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcApA
QCAtMTU1LDYgKzE1NSw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9XaW5kb3dzVG91Y2guaD4KICNp
bmNsdWRlIDxiaW5kaW5ncy9TY3JpcHRWYWx1ZS5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFk
Lmg+CisjaW5jbHVkZSA8d3RmL1JBTVNpemUuaD4KIAogI2lmIFVTRShDRykKICNpbmNsdWRlIDxD
b3JlR3JhcGhpY3MvQ0dDb250ZXh0Lmg+CkBAIC01MjEsOSArNTIyLDcgQEAgdm9pZCBXZWJWaWV3
OjpzZXRDYWNoZU1vZGVsKFdlYkNhY2hlTW9kZWwgY2FjaGVNb2RlbCkKICAgICBsb25nIGNhY2hl
RGlza0NhcGFjaXR5ID0gMDsKICNlbmRpZgogCi0gICAgLy8gQXMgYSBmdWRnZSBmYWN0b3IsIHVz
ZSAxMDAwIGluc3RlYWQgb2YgMTAyNCwgaW4gY2FzZSB0aGUgcmVwb3J0ZWQgYnl0ZSAKLSAgICAv
LyBjb3VudCBkb2Vzbid0IGFsaWduIGV4YWN0bHkgdG8gYSBtZWdhYnl0ZSBib3VuZGFyeS4KLSAg
ICB1bnNpZ25lZCBsb25nIGxvbmcgbWVtU2l6ZSA9IFdlYk1lbW9yeVNpemUoKSAvIDEwMjQgLyAx
MDAwOworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBtZW1TaXplID0gcmFtU2l6ZSgpIC8gMTAyNCAv
IDEwMjQ7CiAgICAgdW5zaWduZWQgbG9uZyBsb25nIGRpc2tGcmVlU2l6ZSA9IFdlYlZvbHVtZUZy
ZWVTaXplKGNhY2hlRGlyZWN0b3J5KSAvIDEwMjQgLyAxMDAwOwogCiAgICAgdW5zaWduZWQgY2Fj
aGVUb3RhbENhcGFjaXR5ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA2Yjc2ZjhjLi43MzE4YWE4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTUtMDQtMjIgIEFuZHJlYXMgS2xpbmcgIDxha2xp
bmdAYXBwbGUuY29tPgorCisgICAgICAgIFRoZXJlIHNob3VsZCBvbmx5IGJlIG9uZSB3YXkgdG8g
Z2V0IHRoZSBzeXN0ZW0gbWVtb3J5IHNpemUuCisgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcv
Yi8xNDQwODE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrUHJvY2Vzc0NvY29hLm1tOgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6cGxhdGZvcm1TZXRDYWNoZU1vZGVsKToKKyAgICAg
ICAgKFdlYktpdDo6bWVtb3J5U2l6ZSk6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9j
b2NvYS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnBs
YXRmb3JtU2V0Q2FjaGVNb2RlbCk6CisgICAgICAgIChXZWJLaXQ6Om1lbW9yeVNpemUpOiBEZWxl
dGVkLgorCiAyMDE1LTA0LTIyICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+
CiAKICAgICAgICAgQWRkIFdLX0FSUkFZIGFuZCBXS19TRVQgYW5ub3RhdGlvbnMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtQcm9jZXNzQ29j
b2EubW0gYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrUHJvY2Vz
c0NvY29hLm1tCmluZGV4IDRiM2ZmYjguLmM2ODJkMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtQcm9jZXNzQ29jb2EubW0KKysrIGIvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Byb2Nlc3NDb2NvYS5tbQpA
QCAtMzMsOSArMzMsNyBAQAogI2ltcG9ydCAiTmV0d29ya1Jlc291cmNlTG9hZGVyLmgiCiAjaW1w
b3J0ICJTYW5kYm94RXh0ZW5zaW9uLmgiCiAjaW1wb3J0IDxXZWJDb3JlL0NGTmV0d29ya1NQSS5o
PgotI2ltcG9ydCA8bWFjaC9ob3N0X2luZm8uaD4KLSNpbXBvcnQgPG1hY2gvbWFjaC5oPgotI2lt
cG9ydCA8bWFjaC9tYWNoX2Vycm9yLmg+CisjaW1wb3J0IDxXVEYvUkFNU2l6ZS5oPgogCiBuYW1l
c3BhY2UgV2ViS2l0IHsKIApAQCAtOTQsMjQgKzkyLDYgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6
cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3NDb2NvYShjb25zdCBOZXR3b3JrUHJvY2Vz
c0MKICAgICBfQ0ZVUkxDYWNoZVNldE1pblNpemVGb3JWTUNhY2hlZFJlc291cmNlKGNhY2hlLmdl
dCgpLCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmZpbGVCYWNrZWRSZXNvdXJjZU1pbmltdW1TaXpl
KCkpOwogfQogCi1zdGF0aWMgdWludDY0X3QgbWVtb3J5U2l6ZSgpCi17Ci0gICAgc3RhdGljIGhv
c3RfYmFzaWNfaW5mb19kYXRhX3QgaG9zdEluZm87Ci0KLSAgICBzdGF0aWMgZGlzcGF0Y2hfb25j
ZV90IG9uY2U7Ci0gICAgZGlzcGF0Y2hfb25jZSgmb25jZSwgXigpIHsKLSAgICAgICAgbWFjaF9w
b3J0X3QgaG9zdCA9IG1hY2hfaG9zdF9zZWxmKCk7Ci0gICAgICAgIG1hY2hfbXNnX3R5cGVfbnVt
YmVyX3QgY291bnQgPSBIT1NUX0JBU0lDX0lORk9fQ09VTlQ7Ci0gICAgICAgIGtlcm5fcmV0dXJu
X3QgciA9IGhvc3RfaW5mbyhob3N0LCBIT1NUX0JBU0lDX0lORk8sIChob3N0X2luZm9fdCkmaG9z
dEluZm8sICZjb3VudCk7Ci0gICAgICAgIG1hY2hfcG9ydF9kZWFsbG9jYXRlKG1hY2hfdGFza19z
ZWxmKCksIGhvc3QpOwotCi0gICAgICAgIGlmIChyICE9IEtFUk5fU1VDQ0VTUykKLSAgICAgICAg
ICAgIExPR19FUlJPUigiJXMgOiBob3N0X2luZm8oJWQpIDogJXMuXG4iLCBfX0ZVTkNUSU9OX18s
IHIsIG1hY2hfZXJyb3Jfc3RyaW5nKHIpKTsKLSAgICB9KTsKLQotICAgIHJldHVybiBob3N0SW5m
by5tYXhfbWVtOwotfQotCiBzdGF0aWMgdWludDY0X3Qgdm9sdW1lRnJlZVNpemUoY29uc3QgU3Ry
aW5nJiBwYXRoKQogewogICAgIE5TRGljdGlvbmFyeSAqZmlsZVN5c3RlbUF0dHJpYnV0ZXNEaWN0
aW9uYXJ5ID0gW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBhdHRyaWJ1dGVzT2ZGaWxl
U3lzdGVtRm9yUGF0aDooTlNTdHJpbmcgKilwYXRoIGVycm9yOk5VTExdOwpAQCAtMTIwLDkgKzEw
MCwxMCBAQCBzdGF0aWMgdWludDY0X3Qgdm9sdW1lRnJlZVNpemUoY29uc3QgU3RyaW5nJiBwYXRo
KQogCiB2b2lkIE5ldHdvcmtQcm9jZXNzOjpwbGF0Zm9ybVNldENhY2hlTW9kZWwoQ2FjaGVNb2Rl
bCBjYWNoZU1vZGVsKQogeworICAgIHVpbnQ2NF90IG1lbVNpemUgPSByYW1TaXplKCkgLyAxMDI0
IC8gMTAyNDsKKwogICAgIC8vIEFzIGEgZnVkZ2UgZmFjdG9yLCB1c2UgMTAwMCBpbnN0ZWFkIG9m
IDEwMjQsIGluIGNhc2UgdGhlIHJlcG9ydGVkIGJ5dGUKICAgICAvLyBjb3VudCBkb2Vzbid0IGFs
aWduIGV4YWN0bHkgdG8gYSBtZWdhYnl0ZSBib3VuZGFyeS4KLSAgICB1aW50NjRfdCBtZW1TaXpl
ID0gbWVtb3J5U2l6ZSgpIC8gMTAyNCAvIDEwMDA7CiAgICAgdWludDY0X3QgZGlza0ZyZWVTaXpl
ID0gdm9sdW1lRnJlZVNpemUobV9kaXNrQ2FjaGVEaXJlY3RvcnkpIC8gMTAyNCAvIDEwMDA7CiAK
ICAgICB1bnNpZ25lZCBjYWNoZVRvdGFsQ2FwYWNpdHkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0gYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQppbmRleCBhNjVmYmY5Li5j
YzM4ZGQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2NvY29hL1dlYlBy
b2Nlc3NDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2NvY29hL1dlYlBy
b2Nlc3NDb2NvYS5tbQpAQCAtNTEsMTEgKzUxLDkgQEAKICNpbXBvcnQgPFdlYkNvcmUvUGFnZUNh
Y2hlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVOU1VSTEV4dHJhcy5oPgogI2ltcG9ydCA8
V2ViS2l0U3lzdGVtSW50ZXJmYWNlLmg+CisjaW1wb3J0IDx3dGYvUmFtU2l6ZS5oPgogI2ltcG9y
dCA8YWxnb3JpdGhtPgogI2ltcG9ydCA8ZGlzcGF0Y2gvZGlzcGF0Y2guaD4KLSNpbXBvcnQgPG1h
Y2gvaG9zdF9pbmZvLmg+Ci0jaW1wb3J0IDxtYWNoL21hY2guaD4KLSNpbXBvcnQgPG1hY2gvbWFj
aF9lcnJvci5oPgogI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+CiAjaW1wb3J0IDxzdGRpby5oPgog
CkBAIC02NSwyNCArNjMsNiBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNl
IFdlYktpdCB7CiAKLXN0YXRpYyB1aW50NjRfdCBtZW1vcnlTaXplKCkKLXsKLSAgICBzdGF0aWMg
aG9zdF9iYXNpY19pbmZvX2RhdGFfdCBob3N0SW5mbzsKLQotICAgIHN0YXRpYyBkaXNwYXRjaF9v
bmNlX3Qgb25jZTsKLSAgICBkaXNwYXRjaF9vbmNlKCZvbmNlLCBeKCkgewotICAgICAgICBtYWNo
X3BvcnRfdCBob3N0ID0gbWFjaF9ob3N0X3NlbGYoKTsKLSAgICAgICAgbWFjaF9tc2dfdHlwZV9u
dW1iZXJfdCBjb3VudCA9IEhPU1RfQkFTSUNfSU5GT19DT1VOVDsKLSAgICAgICAga2Vybl9yZXR1
cm5fdCByID0gaG9zdF9pbmZvKGhvc3QsIEhPU1RfQkFTSUNfSU5GTywgKGhvc3RfaW5mb190KSZo
b3N0SW5mbywgJmNvdW50KTsKLSAgICAgICAgbWFjaF9wb3J0X2RlYWxsb2NhdGUobWFjaF90YXNr
X3NlbGYoKSwgaG9zdCk7Ci0KLSAgICAgICAgaWYgKHIgIT0gS0VSTl9TVUNDRVNTKQotICAgICAg
ICAgICAgTE9HX0VSUk9SKCIlcyA6IGhvc3RfaW5mbyglZCkgOiAlcy5cbiIsIF9fRlVOQ1RJT05f
XywgciwgbWFjaF9lcnJvcl9zdHJpbmcocikpOwotICAgIH0pOwotCi0gICAgcmV0dXJuIGhvc3RJ
bmZvLm1heF9tZW07Ci19Ci0KIHN0YXRpYyB1aW50NjRfdCB2b2x1bWVGcmVlU2l6ZShOU1N0cmlu
ZyAqcGF0aCkKIHsKICAgICBOU0RpY3Rpb25hcnkgKmZpbGVTeXN0ZW1BdHRyaWJ1dGVzRGljdGlv
bmFyeSA9IFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gYXR0cmlidXRlc09mRmlsZVN5
c3RlbUZvclBhdGg6cGF0aCBlcnJvcjpOVUxMXTsKQEAgLTk1LDkgKzc1LDEwIEBAIHZvaWQgV2Vi
UHJvY2Vzczo6cGxhdGZvcm1TZXRDYWNoZU1vZGVsKENhY2hlTW9kZWwgY2FjaGVNb2RlbCkKICAg
ICBpZiAoIW5zdXJsQ2FjaGVEaXJlY3RvcnkpCiAgICAgICAgIG5zdXJsQ2FjaGVEaXJlY3Rvcnkg
PSBOU0hvbWVEaXJlY3RvcnkoKTsKIAorICAgIHVpbnQ2NF90IG1lbVNpemUgPSByYW1TaXplKCkg
LyAxMDI0IC8gMTAyNDsKKwogICAgIC8vIEFzIGEgZnVkZ2UgZmFjdG9yLCB1c2UgMTAwMCBpbnN0
ZWFkIG9mIDEwMjQsIGluIGNhc2UgdGhlIHJlcG9ydGVkIGJ5dGUgCiAgICAgLy8gY291bnQgZG9l
c24ndCBhbGlnbiBleGFjdGx5IHRvIGEgbWVnYWJ5dGUgYm91bmRhcnkuCi0gICAgdWludDY0X3Qg
bWVtU2l6ZSA9IG1lbW9yeVNpemUoKSAvIDEwMjQgLyAxMDAwOwogICAgIHVpbnQ2NF90IGRpc2tG
cmVlU2l6ZSA9IHZvbHVtZUZyZWVTaXplKG5zdXJsQ2FjaGVEaXJlY3RvcnkuZ2V0KCkpIC8gMTAy
NCAvIDEwMDA7CiAKICAgICB1bnNpZ25lZCBjYWNoZVRvdGFsQ2FwYWNpdHkgPSAwOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251413</attachid>
            <date>2015-04-23 00:08:39 -0700</date>
            <delta_ts>2015-04-23 00:47:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144081.diff</filename>
            <type>text/plain</type>
            <size>17974</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggYTg2ZjUzMS4uODVkY2FjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxNS0wNC0yMiAg
QW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CisKKyAgICAgICAgVGhlcmUgc2hvdWxk
IG9ubHkgYmUgb25lIHdheSB0byBnZXQgdGhlIHN5c3RlbSBtZW1vcnkgc2l6ZS4KKyAgICAgICAg
PGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE0NDA4MT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBNZXJnZSBhbGwgdGhlIGxvZ2ljIGZyb20gb3RoZXIgUkFN
IHNpemUgZmV0Y2hlciBoZWxwZXJzIGludG8gV1RGJ3MuCisKKyAgICAgICAgRGFyd2luIHBvcnRz
IG5vdyB1c2UgaG9zdF9pbmZvKCkgaW5zdGVhZCBvZiBzeXNjdGwoKSwgc2luY2UgdGhhdCB3YXMg
dGhlIG1vcmUgY29tbW9uIHdheQorICAgICAgICBvZiBkb2luZyB0aGlzLgorCisgICAgICAgIEFs
c28gYnVtcGVkIHRoZSBmYWxsYmFjayBhbnN3ZXIgZnJvbSAxMjggTUIgdG8gNTEyIE1CIHRvIGJy
aW5nIGl0IGNsb3NlciB0byB0b2RheSdzIGhhcmR3YXJlLgorCisgICAgICAgIEZpbmFsbHksIHRo
ZSBudW1iZXIgaXMgcm91bmRlZCB1cCB0byB0aGUgbmV4dCBtdWx0aXBsZSBvZiAxMjggTUIsIHRv
IGF2b2lkIG1pc3VuZGVyc3RhbmRpbmdzCisgICAgICAgIG9uIHNvbWUgc3lzdGVtcyB3aGVyZSB0
aGUgbnVtYmVyIHJldHVybmVkIGJ5IHRoZSBrZXJuZWwgaXMgc2xpZ2h0bHkgbG93ZXIgdGhhbiB0
aGUgbWFya2V0aW5nCisgICAgICAgIG51bWJlci4gUmVtb3ZlZCB0aGUgImZ1ZGdpbmciIHRoYXQg
d2FzIHVzZWQgaW4gc29tZSBwbGFjZXMsIHNpbmNlIHRoaXMgZml4ZXMgdGhhdCBjbGVhbmx5Lgor
CisgICAgICAgICogd3RmL1JBTVNpemUuY3BwOgorICAgICAgICAoV1RGOjpjb21wdXRlUkFNU2l6
ZSk6CisKIDIwMTUtMDQtMjIgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAK
ICAgICAgICAgW01hY10gSW4gbmlnaHRsaWVzIGFuZCBsb2NhbCBidWlsZHMsIFdlYktpdCBzZXJ2
aWNlcyBjYW4gZ2V0IHRlcm1pbmF0ZWQgdW5kZXIgbWVtb3J5IHByZXNzdXJlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL3d0Zi9SQU1TaXplLmNwcCBiL1NvdXJjZS9XVEYvd3RmL1JBTVNpemUuY3Bw
CmluZGV4IGE2ZDFmNjQuLmRlYjY5ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1JBTVNp
emUuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL1JBTVNpemUuY3BwCkBAIC0yNywxMCArMjcsMTQg
QEAKICNpbmNsdWRlICJSQU1TaXplLmgiCiAKICNpbmNsdWRlICJTdGRMaWJFeHRyYXMuaCIKKyNp
bmNsdWRlIDxtdXRleD4KKwogI2lmIE9TKERBUldJTikKLSNpbmNsdWRlIDxzeXMvcGFyYW0uaD4K
LSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSNpbmNsdWRlIDxzeXMvc3lzY3RsLmg+CisjaW1wb3J0
IDxkaXNwYXRjaC9kaXNwYXRjaC5oPgorI2ltcG9ydCA8bWFjaC9ob3N0X2luZm8uaD4KKyNpbXBv
cnQgPG1hY2gvbWFjaC5oPgorI2ltcG9ydCA8bWFjaC9tYWNoX2Vycm9yLmg+CisjaW1wb3J0IDxt
YXRoLmg+CiAjZWxpZiBPUyhVTklYKQogI2luY2x1ZGUgPHVuaXN0ZC5oPgogI2VsaWYgT1MoV0lO
RE9XUykKQEAgLTM5LDIyICs0MywzNCBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAotc3RhdGljIGNv
bnN0IHNpemVfdCByYW1TaXplR3Vlc3MgPSAxMjggKiBNQjsKK3N0YXRpYyBjb25zdCBzaXplX3Qg
cmFtU2l6ZUd1ZXNzID0gNTEyICogTUI7CiAKIHN0YXRpYyBzaXplX3QgY29tcHV0ZVJBTVNpemUo
KQogewotI2lmIE9TKERBUldJTikKLSAgICBpbnQgbWliWzJdOwotICAgIHVpbnQ2NF90IHJhbVNp
emU7Ci0gICAgc2l6ZV90IGxlbmd0aDsKKyNpZiBQTEFURk9STShJT1NfU0lNVUxBVE9SKQorICAg
IC8vIFByZXRlbmQgd2UgaGF2ZSA1MTJNQiBvZiBtZW1vcnkgdG8gbWFrZSBjYWNoZSBzaXplcyBi
ZWhhdmUgbGlrZSBvbiBkZXZpY2UuCisgICAgcmV0dXJuIHJhbVNpemVHdWVzczsKKyNlbGlmIE9T
KERBUldJTikKKyAgICBob3N0X2Jhc2ljX2luZm9fZGF0YV90IGhvc3RJbmZvOwogCi0gICAgbWli
WzBdID0gQ1RMX0hXOwotICAgIG1pYlsxXSA9IEhXX01FTVNJWkU7Ci0gICAgbGVuZ3RoID0gc2l6
ZW9mKGludDY0X3QpOwotICAgIGludCBzeXNjdGxSZXN1bHQgPSBzeXNjdGwobWliLCAyLCAmcmFt
U2l6ZSwgJmxlbmd0aCwgMCwgMCk7Ci0gICAgaWYgKHN5c2N0bFJlc3VsdCA9PSAtMSkKKyAgICBt
YWNoX3BvcnRfdCBob3N0ID0gbWFjaF9ob3N0X3NlbGYoKTsKKyAgICBtYWNoX21zZ190eXBlX251
bWJlcl90IGNvdW50ID0gSE9TVF9CQVNJQ19JTkZPX0NPVU5UOworICAgIGtlcm5fcmV0dXJuX3Qg
ciA9IGhvc3RfaW5mbyhob3N0LCBIT1NUX0JBU0lDX0lORk8sIChob3N0X2luZm9fdCkmaG9zdElu
Zm8sICZjb3VudCk7CisgICAgbWFjaF9wb3J0X2RlYWxsb2NhdGUobWFjaF90YXNrX3NlbGYoKSwg
aG9zdCk7CisgICAgaWYgKHIgIT0gS0VSTl9TVUNDRVNTKSB7CisgICAgICAgIExPR19FUlJPUigi
JXMgOiBob3N0X2luZm8oJWQpIDogJXMuXG4iLCBfX0ZVTkNUSU9OX18sIHIsIG1hY2hfZXJyb3Jf
c3RyaW5nKHIpKTsKICAgICAgICAgcmV0dXJuIHJhbVNpemVHdWVzczsKLSAgICByZXR1cm4gcmFt
U2l6ZSA+IHN0ZDo6bnVtZXJpY19saW1pdHM8c2l6ZV90Pjo6bWF4KCkgPyBzdGQ6Om51bWVyaWNf
bGltaXRzPHNpemVfdD46Om1heCgpIDogc3RhdGljX2Nhc3Q8c2l6ZV90PihyYW1TaXplKTsKKyAg
ICB9CisKKyAgICBpZiAoaG9zdEluZm8ubWF4X21lbSA+IHN0ZDo6bnVtZXJpY19saW1pdHM8c2l6
ZV90Pjo6bWF4KCkpCisgICAgICAgIHJldHVybiBzdGQ6Om51bWVyaWNfbGltaXRzPHNpemVfdD46
Om1heCgpOworCisgICAgc2l6ZV90IHNpemVBY2NvcmRpbmdUb0tlcm5lbCA9IHN0YXRpY19jYXN0
PHNpemVfdD4oaG9zdEluZm8ubWF4X21lbSk7CisgICAgc2l6ZV90IG11bHRpcGxlID0gMTI4ICog
TUI7CisKKyAgICAvLyBSb3VuZCB1cCB0aGUgbWVtb3J5IHNpemUgdG8gYSBtdWx0aXBsZSBvZiAx
MjhNQiBiZWNhdXNlIG1heF9tZW0gbWF5IG5vdCBiZSBleGFjdGx5IDUxMk1CCisgICAgLy8gKGZv
ciBleGFtcGxlKSBhbmQgd2UgaGF2ZSBjb2RlIHRoYXQgZGVwZW5kcyBvbiB0aG9zZSBib3VuZGFy
aWVzLgorICAgIHJldHVybiAoKHNpemVBY2NvcmRpbmdUb0tlcm5lbCArIG11bHRpcGxlIC0gMSkg
LyBtdWx0aXBsZSkgKiBtdWx0aXBsZTsKICNlbGlmIE9TKFVOSVgpCiAgICAgbG9uZyBwYWdlcyA9
IHN5c2NvbmYoX1NDX1BIWVNfUEFHRVMpOwogICAgIGxvbmcgcGFnZVNpemUgPSBzeXNjb25mKF9T
Q19QQUdFX1NJWkUpOwpAQCAtNzMsNyArODksMTEgQEAgc3RhdGljIHNpemVfdCBjb21wdXRlUkFN
U2l6ZSgpCiAKIHNpemVfdCByYW1TaXplKCkKIHsKLSAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IHJh
bVNpemUgPSBjb21wdXRlUkFNU2l6ZSgpOworICAgIHN0YXRpYyBzaXplX3QgcmFtU2l6ZTsKKyAg
ICBzdGF0aWMgc3RkOjpvbmNlX2ZsYWcgb25jZUZsYWc7CisgICAgc3RkOjpjYWxsX29uY2Uob25j
ZUZsYWcsIFtdIHsKKyAgICAgICAgcmFtU2l6ZSA9IGNvbXB1dGVSQU1TaXplKCk7CisgICAgfSk7
CiAgICAgcmV0dXJuIHJhbVNpemU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25NYW5hZ2VySU9TLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbk1hbmFnZXJJT1MubW0KaW5kZXggMzYz
M2YwZC4uMDQ0NDI3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
aW9zL01lZGlhU2Vzc2lvbk1hbmFnZXJJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbk1hbmFnZXJJT1MubW0KQEAgLTQyLDYgKzQyLDcgQEAK
ICNpbXBvcnQgPE1lZGlhUGxheWVyL01QVm9sdW1lVmlldy5oPgogI2ltcG9ydCA8VUlLaXQvVUlB
cHBsaWNhdGlvbi5oPgogI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+CisjaW1wb3J0IDx3dGYvUkFN
U2l6ZS5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCiBTT0ZUX0xJTktfRlJBTUVXT1JL
KEFWRm91bmRhdGlvbikKQEAgLTEzOSw4ICsxNDAsOCBAQCB2b2lkIE1lZGlhU2Vzc2lvbk1hbmFn
ZXJpT1M6OnJlc2V0UmVzdHJpY3Rpb25zKCkKICAgICBpZiAoZGV2aWNlQ2xhc3MgPT0gd2tEZXZp
Y2VDbGFzc2lQaG9uZSB8fCBkZXZpY2VDbGFzcyA9PSB3a0RldmljZUNsYXNzaVBvZCkKICAgICAg
ICAgYWRkUmVzdHJpY3Rpb24oTWVkaWFTZXNzaW9uOjpWaWRlbywgSW5saW5lVmlkZW9QbGF5YmFj
a1Jlc3RyaWN0ZWQpOwogCi0gICAgaWYgKHN5c3RlbVRvdGFsTWVtb3J5KCkgPCBzeXN0ZW1NZW1v
cnlSZXF1aXJlZEZvclZpZGVvSW5CYWNrZ3JvdW5kVGFicykgewotICAgICAgICBMT0coTWVkaWEs
ICJNZWRpYVNlc3Npb25NYW5hZ2VyaU9TOjpyZXNldFJlc3RyaWN0aW9ucyAtIHJlc3RyaWN0aW5n
IHZpZGVvIGluIGJhY2tncm91bmQgdGFicyBiZWNhdXNlIHN5c3RlbSBtZW1vcnkgPSAlenVsIiwg
c3lzdGVtVG90YWxNZW1vcnkoKSk7CisgICAgaWYgKHJhbVNpemUoKSA8IHN5c3RlbU1lbW9yeVJl
cXVpcmVkRm9yVmlkZW9JbkJhY2tncm91bmRUYWJzKSB7CisgICAgICAgIExPRyhNZWRpYSwgIk1l
ZGlhU2Vzc2lvbk1hbmFnZXJpT1M6OnJlc2V0UmVzdHJpY3Rpb25zIC0gcmVzdHJpY3Rpbmcgdmlk
ZW8gaW4gYmFja2dyb3VuZCB0YWJzIGJlY2F1c2Ugc3lzdGVtIG1lbW9yeSA9ICV6dWwiLCByYW1T
aXplKCkpOwogICAgICAgICBhZGRSZXN0cmljdGlvbihNZWRpYVNlc3Npb246OlZpZGVvLCBCYWNr
Z3JvdW5kVGFiUGxheWJhY2tSZXN0cmljdGVkKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1tCmluZGV4IDFhZTc0OTcuLjIyMWYzZjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5tbQpA
QCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIldlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaCIKICNp
bmNsdWRlICJXZWJDb3JlVGhyZWFkUnVuLmgiCiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+
CisjaW5jbHVkZSA8d3RmL1JBTVNpemUuaD4KIAogQGludGVyZmFjZSBXQUtWaWV3IChXZWJWaWV3
RXh0cmFzKQogLSAodm9pZClfZGlzcGF0Y2hUaWxlRGlkRHJhdzooQ0FMYXllciopdGlsZTsKQEAg
LTQzNiw4ICs0MzcsNyBAQCB1bnNpZ25lZCBMZWdhY3lUaWxlQ2FjaGU6OnRpbGVDYXBhY2l0eUZv
ckdyaWQoTGVnYWN5VGlsZUdyaWQqIGdyaWQpCiB7CiAgICAgc3RhdGljIHVuc2lnbmVkIGNhcGFj
aXR5OwogICAgIGlmICghY2FwYWNpdHkpIHsKLSAgICAgICAgc2l6ZV90IHRvdGFsTWVtb3J5ID0g
c3lzdGVtVG90YWxNZW1vcnkoKTsKLSAgICAgICAgdG90YWxNZW1vcnkgLz0gMTAyNCAqIDEwMjQ7
CisgICAgICAgIHNpemVfdCB0b3RhbE1lbW9yeSA9IHJhbVNpemUoKSAvIDEwMjQgLyAxMDI0Owog
ICAgICAgICBpZiAodG90YWxNZW1vcnkgPj0gMTAyNCkKICAgICAgICAgICAgIGNhcGFjaXR5ID0g
MTI4ICogMTAyNCAqIDEwMjQ7CiAgICAgICAgIGVsc2UgaWYgKHRvdGFsTWVtb3J5ID49IDUxMikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TeXN0ZW1NZW1vcnkuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TeXN0ZW1NZW1vcnkuaAppbmRleCAzNTdjYzMx
Li45NDc2Nzk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU3lzdGVt
TWVtb3J5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1N5c3RlbU1lbW9yeS5o
CkBAIC0zMyw3ICszMyw2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIFdFQkNPUkVfRVhQT1JU
IGludCBzeXN0ZW1NZW1vcnlMZXZlbCgpOyAvLyBJbiBbMCwgMTAwXQotV0VCQ09SRV9FWFBPUlQg
c2l6ZV90IHN5c3RlbVRvdGFsTWVtb3J5KCk7CiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1N5c3RlbU1lbW9yeUlPUy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvU3lzdGVtTWVtb3J5SU9TLmNwcAppbmRleCA3YWZiNzdlLi5kODg4
Y2QyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU3lzdGVtTWVtb3J5
SU9TLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU3lzdGVtTWVtb3J5SU9T
LmNwcApAQCAtMjksNyArMjksNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlN5
c3RlbU1lbW9yeS5oIgogCi0jaW5jbHVkZSA8bWFjaC9tYWNoLmg+CiAjaW5jbHVkZSA8c3lzL3N5
c2N0bC5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL0N1cnJl
bnRUaW1lLmg+CkBAIC01MywzNSArNTIsNCBAQCBpbnQgc3lzdGVtTWVtb3J5TGV2ZWwoKQogI2Vu
ZGlmCiB9CiAKLSNpZiAhUExBVEZPUk0oSU9TX1NJTVVMQVRPUikKLXN0YXRpYyBob3N0X2Jhc2lj
X2luZm9fZGF0YV90IGdIb3N0QmFzaWNJbmZvOwotCi1zdGF0aWMgdm9pZCBpbml0Q2FwYWJpbGl0
aWVzKHZvaWQpCi17Ci0gICAgLy8gRGlzY292ZXIgb3VyIENQVSB0eXBlCi0gICAgbWFjaF9wb3J0
X3QgaG9zdCA9IG1hY2hfaG9zdF9zZWxmKCk7Ci0gICAgbWFjaF9tc2dfdHlwZV9udW1iZXJfdCBj
b3VudCA9IEhPU1RfQkFTSUNfSU5GT19DT1VOVDsKLSAgICBrZXJuX3JldHVybl90IHJldHVyblZh
bHVlID0gaG9zdF9pbmZvKGhvc3QsIEhPU1RfQkFTSUNfSU5GTywgcmVpbnRlcnByZXRfY2FzdDxo
b3N0X2luZm9fdD4oJmdIb3N0QmFzaWNJbmZvKSwgJmNvdW50KTsKLSAgICBtYWNoX3BvcnRfZGVh
bGxvY2F0ZShtYWNoX3Rhc2tfc2VsZigpLCBob3N0KTsKLSAgICBpZiAocmV0dXJuVmFsdWUgIT0g
S0VSTl9TVUNDRVNTKQotICAgICAgICBMT0dfRVJST1IoIiVzIDogaG9zdF9pbmZvKCVkKSA6ICVz
LlxuIiwgX19GVU5DVElPTl9fLCByZXR1cm5WYWx1ZSwgbWFjaF9lcnJvcl9zdHJpbmcocmV0dXJu
VmFsdWUpKTsKLX0KLSNlbmRpZgotCi1zaXplX3Qgc3lzdGVtVG90YWxNZW1vcnkoKQotewotI2lm
IFBMQVRGT1JNKElPU19TSU1VTEFUT1IpCi0gICAgcmV0dXJuIDUxMiAqIDEwMjQgKiAxMDI0Owot
I2Vsc2UKLSAgICAvLyBGSVhNRTogQ29uc2lkZXIgdXNpbmcgQysrMTEgdGhyZWFkIHByaW1pdGl2
ZXMuCi0gICAgc3RhdGljIHB0aHJlYWRfb25jZV90IGluaXRDb250cm9sID0gUFRIUkVBRF9PTkNF
X0lOSVQ7Ci0KLSAgICBwdGhyZWFkX29uY2UoJmluaXRDb250cm9sLCBpbml0Q2FwYWJpbGl0aWVz
KTsKLSAgICAvLyBUaGUgdmFsdWUgaW4gZ0hvc3RCYXNpY0luZm8ubWF4X21lbSBpcyBvZnRlbiBs
b3dlciB0aGFuIHRoZSBhbW91bnQgd2UncmUKLSAgICAvLyBpbnRlcmVzdGVkIGluIChlLmcuLCBk
b2VzIHRoaXMgZGV2aWNlIGhhdmUgYXQgbGVhc3QgMjU2TUIgb2YgUkFNPykKLSAgICAvLyBSb3Vu
ZCB0aGUgdmFsdWUgdG8gdGhlIG5lYXJlc3QgcG93ZXIgb2YgMi4KLSAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8c2l6ZV90PihleHAyKGNlaWwobG9nMihnSG9zdEJhc2ljSW5mby5tYXhfbWVtKSkpKTsK
LSNlbmRpZgotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXgg
YmQ3YzFkMS4uYTc5MDZlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE1
LTA0LTIyICBBbmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KKworICAgICAgICBUaGVy
ZSBzaG91bGQgb25seSBiZSBvbmUgd2F5IHRvIGdldCB0aGUgc3lzdGVtIG1lbW9yeSBzaXplLgor
ICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTQ0MDgxPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTWlzYy9XZWJLaXRTeXN0ZW1CaXRzLmg6
CisgICAgICAgICogTWlzYy9XZWJLaXRTeXN0ZW1CaXRzLm06CisgICAgICAgIChXZWJNZW1vcnlT
aXplKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgr
W1dlYlZpZXcgX3NldENhY2hlTW9kZWw6XSk6CisgICAgICAgIChyb3VuZFVwVG9Qb3dlck9mMik6
IERlbGV0ZWQuCisKIDIwMTUtMDQtMjIgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgW01hY10gRGV2aWNlIHBpY2tlciBtZW51IGlzIHBvc2l0aW9uZWQg
aW5jb3JyZWN0bHkgaW4gV0sxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dl
YktpdFN5c3RlbUJpdHMuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0U3lzdGVtQml0
cy5oCmluZGV4IGUyZjllMjcuLmI3NzBkMGVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9NaXNjL1dlYktpdFN5c3RlbUJpdHMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dl
YktpdFN5c3RlbUJpdHMuaApAQCAtMzIsNyArMzIsNiBAQAogZXh0ZXJuICJDIiB7CiAjZW5kaWYK
IAotdWludDY0X3QgV2ViTWVtb3J5U2l6ZSh2b2lkKTsKIHVuc2lnbmVkIGxvbmcgbG9uZyBXZWJW
b2x1bWVGcmVlU2l6ZShOU1N0cmluZyAqcGF0aCk7CiBpbnQgV2ViTnVtYmVyT2ZDUFVzKHZvaWQp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdFN5c3RlbUJpdHMu
bSBiL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0U3lzdGVtQml0cy5tCmluZGV4IGM4ODk3
NGMuLjZlZTkzYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0U3lz
dGVtQml0cy5tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0U3lzdGVtQml0cy5t
CkBAIC0zNiw0NiArMzYsNiBAQAogI2ltcG9ydCA8c3lzL3R5cGVzLmg+CiAjaW1wb3J0IDx3dGYv
QXNzZXJ0aW9ucy5oPgogCi0jaWYgIVBMQVRGT1JNKElPU19TSU1VTEFUT1IpCi0KLXN0YXRpYyBo
b3N0X2Jhc2ljX2luZm9fZGF0YV90IGdIb3N0QmFzaWNJbmZvOwotc3RhdGljIHB0aHJlYWRfb25j
ZV90IGluaXRDb250cm9sID0gUFRIUkVBRF9PTkNFX0lOSVQ7Ci0KLXN0YXRpYyB2b2lkIGluaXRD
YXBhYmlsaXRpZXModm9pZCkKLXsKLSAgICBtYWNoX21zZ190eXBlX251bWJlcl90ICBjb3VudDsK
LSAgICBrZXJuX3JldHVybl90IHI7Ci0gICAgbWFjaF9wb3J0X3QgaG9zdDsKLQotICAgIC8qIERp
c2NvdmVyIG91ciBDUFUgdHlwZSAqLwotICAgIGhvc3QgPSBtYWNoX2hvc3Rfc2VsZigpOwotICAg
IGNvdW50ID0gSE9TVF9CQVNJQ19JTkZPX0NPVU5UOwotICAgIHIgPSBob3N0X2luZm8oaG9zdCwg
SE9TVF9CQVNJQ19JTkZPLCAoaG9zdF9pbmZvX3QpICZnSG9zdEJhc2ljSW5mbywgJmNvdW50KTsK
LSAgICBtYWNoX3BvcnRfZGVhbGxvY2F0ZShtYWNoX3Rhc2tfc2VsZigpLCBob3N0KTsKLSAgICBp
ZiAociAhPSBLRVJOX1NVQ0NFU1MpIHsKLSAgICAgICAgTE9HX0VSUk9SKCIlcyA6IGhvc3RfaW5m
byglZCkgOiAlcy5cbiIsIF9fRlVOQ1RJT05fXywgciwgbWFjaF9lcnJvcl9zdHJpbmcocikpOwot
ICAgIH0KLX0KLQotI2VuZGlmCi0KLXVpbnQ2NF90IFdlYk1lbW9yeVNpemUodm9pZCkKLXsKLSNp
ZiBQTEFURk9STShJT1NfU0lNVUxBVE9SKQotICAgIC8vIFByZXRlbmQgd2UgaGF2ZSA1MTJNQiBv
ZiBtZW1vcnkgdG8gbWFrZSBjYWNoZSBzaXplcyBiZWhhdmUgbGlrZSBvbiBkZXZpY2UKLSAgICBy
ZXR1cm4gNTEyICogMTAyNCAqIDEwMjQ7Ci0jZWxzZQotICAgIHB0aHJlYWRfb25jZSgmaW5pdENv
bnRyb2wsIGluaXRDYXBhYmlsaXRpZXMpOwotI2lmIFBMQVRGT1JNKElPUykKLSAgICAvLyBPbiBp
T1MsIHJvdW5kIHVwIHRoZSBtZW1vcnkgc2l6ZSB0byBhIHBvd2VyIG9mIDIgYmVjYXVzZSBtYXhf
bWVtIG1heSBub3QgYmUgZXhhY3RseSAyNTZNQgotICAgIC8vIChmb3IgZXhhbXBsZSkgYW5kIHdl
IGhhdmUgY29kZSB0aGF0IGRlcGVuZHMgb24gdGhvc2UgYm91bmRhcmllcy4KLSAgICByZXR1cm4g
cG93ZigyLjAsIGNlaWxmKGxvZzJmKGdIb3N0QmFzaWNJbmZvLm1heF9tZW0pKSk7Ci0jZWxzZQot
ICAgIHJldHVybiBnSG9zdEJhc2ljSW5mby5tYXhfbWVtOwotI2VuZGlmCi0jZW5kaWYKLX0KLQog
aW50IFdlYk51bWJlck9mQ1BVcyh2b2lkKQogewogICAgIHN0YXRpYyBpbnQgbnVtQ1BVcyA9IDA7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggMDM4NjQ2NC4uZmVjNjE5ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMjA0LDYgKzIwNCw3IEBACiAj
aW1wb3J0IDx3dGYvSGFzaFRyYWl0cy5oPgogI2ltcG9ydCA8d3RmL01haW5UaHJlYWQuaD4KICNp
bXBvcnQgPHd0Zi9PYmpjUnVudGltZUV4dHJhcy5oPgorI2ltcG9ydCA8d3RmL1JBTVNpemUuaD4K
ICNpbXBvcnQgPHd0Zi9SZWZDb3VudGVkTGVha0NvdW50ZXIuaD4KICNpbXBvcnQgPHd0Zi9SZWZQ
dHIuaD4KICNpbXBvcnQgPHd0Zi9SdW5Mb29wLmg+CkBAIC03NzE4LDExICs3NzE5LDYgQEAgc3Rh
dGljIFdlYkZyYW1lVmlldyAqY29udGFpbmluZ0ZyYW1lVmlldyhOU1ZpZXcgKnZpZXcpCiB9CiAj
ZW5kaWYKIAotc3RhdGljIGlubGluZSB1aW50NjRfdCByb3VuZFVwVG9Qb3dlck9mMih1aW50NjRf
dCBudW0pCi17Ci0gICAgcmV0dXJuIHBvd2YoMi4wLCBjZWlsZihsb2cyZihudW0pKSk7Ci19Ci0K
ICsgKHZvaWQpX3NldENhY2hlTW9kZWw6KFdlYkNhY2hlTW9kZWwpY2FjaGVNb2RlbAogewogICAg
IGlmIChzX2RpZFNldENhY2hlTW9kZWwgJiYgY2FjaGVNb2RlbCA9PSBzX2NhY2hlTW9kZWwpCkBA
IC03NzMyLDcgKzc3MjgsNyBAQCBzdGF0aWMgaW5saW5lIHVpbnQ2NF90IHJvdW5kVXBUb1Bvd2Vy
T2YyKHVpbnQ2NF90IG51bSkKICAgICBpZiAoIW5zdXJsQ2FjaGVEaXJlY3RvcnkpCiAgICAgICAg
IG5zdXJsQ2FjaGVEaXJlY3RvcnkgPSBOU0hvbWVEaXJlY3RvcnkoKTsKIAotICAgIHN0YXRpYyB1
aW50NjRfdCBtZW1TaXplID0gcm91bmRVcFRvUG93ZXJPZjIoV2ViTWVtb3J5U2l6ZSgpIC8gMTAy
NCAvIDEwMjQpOworICAgIHN0YXRpYyB1aW50NjRfdCBtZW1TaXplID0gcmFtU2l6ZSgpIC8gMTAy
NCAvIDEwMjQ7CiAgICAgdW5zaWduZWQgbG9uZyBsb25nIGRpc2tGcmVlU2l6ZSA9IFdlYlZvbHVt
ZUZyZWVTaXplKG5zdXJsQ2FjaGVEaXJlY3RvcnkpIC8gMTAyNCAvIDEwMDA7CiAgICAgTlNVUkxD
YWNoZSAqbnN1cmxDYWNoZSA9IFtOU1VSTENhY2hlIHNoYXJlZFVSTENhY2hlXTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hh
bmdlTG9nCmluZGV4IDY4NWZmYmYuLjQ2NTg5NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
d2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxMyBAQAorMjAxNS0wNC0yMiAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgVGhlcmUgc2hvdWxkIG9ubHkgYmUgb25lIHdheSB0byBnZXQgdGhlIHN5c3RlbSBt
ZW1vcnkgc2l6ZS4KKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE0NDA4MT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcuY3Bw
OgorICAgICAgICAoV2ViVmlldzo6c2V0Q2FjaGVNb2RlbCk6CisKIDIwMTUtMDQtMTMgIEplciBO
b2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgW0Z1bGxzY3JlZW5dIENocm9t
ZUNsaWVudDo6ZXhpdFZpZGVvRnVsbHNjcmVlbigpIHNob3VsZCB0YWtlIGEgcG9pbnRlciB0byBh
IEhUTUxWaWRlb0VsZW1lbnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3
LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCmluZGV4IDdkYWNiNDcuLmU2MzAx
MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCkBAIC0xNTUsNiArMTU1LDcgQEAKICNpbmNsdWRlIDxX
ZWJDb3JlL1dpbmRvd3NUb3VjaC5oPgogI2luY2x1ZGUgPGJpbmRpbmdzL1NjcmlwdFZhbHVlLmg+
CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KKyNpbmNsdWRlIDx3dGYvUkFNU2l6ZS5oPgog
CiAjaWYgVVNFKENHKQogI2luY2x1ZGUgPENvcmVHcmFwaGljcy9DR0NvbnRleHQuaD4KQEAgLTUy
MSw5ICs1MjIsNyBAQCB2b2lkIFdlYlZpZXc6OnNldENhY2hlTW9kZWwoV2ViQ2FjaGVNb2RlbCBj
YWNoZU1vZGVsKQogICAgIGxvbmcgY2FjaGVEaXNrQ2FwYWNpdHkgPSAwOwogI2VuZGlmCiAKLSAg
ICAvLyBBcyBhIGZ1ZGdlIGZhY3RvciwgdXNlIDEwMDAgaW5zdGVhZCBvZiAxMDI0LCBpbiBjYXNl
IHRoZSByZXBvcnRlZCBieXRlIAotICAgIC8vIGNvdW50IGRvZXNuJ3QgYWxpZ24gZXhhY3RseSB0
byBhIG1lZ2FieXRlIGJvdW5kYXJ5LgotICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBtZW1TaXplID0g
V2ViTWVtb3J5U2l6ZSgpIC8gMTAyNCAvIDEwMDA7CisgICAgdW5zaWduZWQgbG9uZyBsb25nIG1l
bVNpemUgPSByYW1TaXplKCkgLyAxMDI0IC8gMTAyNDsKICAgICB1bnNpZ25lZCBsb25nIGxvbmcg
ZGlza0ZyZWVTaXplID0gV2ViVm9sdW1lRnJlZVNpemUoY2FjaGVEaXJlY3RvcnkpIC8gMTAyNCAv
IDEwMDA7CiAKICAgICB1bnNpZ25lZCBjYWNoZVRvdGFsQ2FwYWNpdHkgPSAwOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmlu
ZGV4IDZiNzZmOGMuLjczMThhYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxNS0w
NC0yMiAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CisKKyAgICAgICAgVGhlcmUg
c2hvdWxkIG9ubHkgYmUgb25lIHdheSB0byBnZXQgdGhlIHN5c3RlbSBtZW1vcnkgc2l6ZS4KKyAg
ICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE0NDA4MT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdv
cmtQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpwbGF0
Zm9ybVNldENhY2hlTW9kZWwpOgorICAgICAgICAoV2ViS2l0OjptZW1vcnlTaXplKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cGxhdGZvcm1TZXRDYWNoZU1vZGVsKToKKyAgICAgICAg
KFdlYktpdDo6bWVtb3J5U2l6ZSk6IERlbGV0ZWQuCisKIDIwMTUtMDQtMjIgIEFuZGVycyBDYXJs
c3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgV0tfQVJSQVkgYW5kIFdL
X1NFVCBhbm5vdGF0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvY29jb2EvTmV0d29ya1Byb2Nlc3NDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL2NvY29hL05ldHdvcmtQcm9jZXNzQ29jb2EubW0KaW5kZXggNGIzZmZiOC4uNjcyZTMz
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29y
a1Byb2Nlc3NDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jb2Nv
YS9OZXR3b3JrUHJvY2Vzc0NvY29hLm1tCkBAIC0zMyw5ICszMyw3IEBACiAjaW1wb3J0ICJOZXR3
b3JrUmVzb3VyY2VMb2FkZXIuaCIKICNpbXBvcnQgIlNhbmRib3hFeHRlbnNpb24uaCIKICNpbXBv
cnQgPFdlYkNvcmUvQ0ZOZXR3b3JrU1BJLmg+Ci0jaW1wb3J0IDxtYWNoL2hvc3RfaW5mby5oPgot
I2ltcG9ydCA8bWFjaC9tYWNoLmg+Ci0jaW1wb3J0IDxtYWNoL21hY2hfZXJyb3IuaD4KKyNpbXBv
cnQgPHd0Zi9SQU1TaXplLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC05NCwyNCArOTIs
NiBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVOZXR3b3JrUHJvY2Vz
c0NvY29hKGNvbnN0IE5ldHdvcmtQcm9jZXNzQwogICAgIF9DRlVSTENhY2hlU2V0TWluU2l6ZUZv
clZNQ2FjaGVkUmVzb3VyY2UoY2FjaGUuZ2V0KCksIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6Zmls
ZUJhY2tlZFJlc291cmNlTWluaW11bVNpemUoKSk7CiB9CiAKLXN0YXRpYyB1aW50NjRfdCBtZW1v
cnlTaXplKCkKLXsKLSAgICBzdGF0aWMgaG9zdF9iYXNpY19pbmZvX2RhdGFfdCBob3N0SW5mbzsK
LQotICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3Qgb25jZTsKLSAgICBkaXNwYXRjaF9vbmNlKCZv
bmNlLCBeKCkgewotICAgICAgICBtYWNoX3BvcnRfdCBob3N0ID0gbWFjaF9ob3N0X3NlbGYoKTsK
LSAgICAgICAgbWFjaF9tc2dfdHlwZV9udW1iZXJfdCBjb3VudCA9IEhPU1RfQkFTSUNfSU5GT19D
T1VOVDsKLSAgICAgICAga2Vybl9yZXR1cm5fdCByID0gaG9zdF9pbmZvKGhvc3QsIEhPU1RfQkFT
SUNfSU5GTywgKGhvc3RfaW5mb190KSZob3N0SW5mbywgJmNvdW50KTsKLSAgICAgICAgbWFjaF9w
b3J0X2RlYWxsb2NhdGUobWFjaF90YXNrX3NlbGYoKSwgaG9zdCk7Ci0KLSAgICAgICAgaWYgKHIg
IT0gS0VSTl9TVUNDRVNTKQotICAgICAgICAgICAgTE9HX0VSUk9SKCIlcyA6IGhvc3RfaW5mbygl
ZCkgOiAlcy5cbiIsIF9fRlVOQ1RJT05fXywgciwgbWFjaF9lcnJvcl9zdHJpbmcocikpOwotICAg
IH0pOwotCi0gICAgcmV0dXJuIGhvc3RJbmZvLm1heF9tZW07Ci19Ci0KIHN0YXRpYyB1aW50NjRf
dCB2b2x1bWVGcmVlU2l6ZShjb25zdCBTdHJpbmcmIHBhdGgpCiB7CiAgICAgTlNEaWN0aW9uYXJ5
ICpmaWxlU3lzdGVtQXR0cmlidXRlc0RpY3Rpb25hcnkgPSBbW05TRmlsZU1hbmFnZXIgZGVmYXVs
dE1hbmFnZXJdIGF0dHJpYnV0ZXNPZkZpbGVTeXN0ZW1Gb3JQYXRoOihOU1N0cmluZyAqKXBhdGgg
ZXJyb3I6TlVMTF07CkBAIC0xMjAsOSArMTAwLDEwIEBAIHN0YXRpYyB1aW50NjRfdCB2b2x1bWVG
cmVlU2l6ZShjb25zdCBTdHJpbmcmIHBhdGgpCiAKIHZvaWQgTmV0d29ya1Byb2Nlc3M6OnBsYXRm
b3JtU2V0Q2FjaGVNb2RlbChDYWNoZU1vZGVsIGNhY2hlTW9kZWwpCiB7CisgICAgdWludDY0X3Qg
bWVtU2l6ZSA9IHJhbVNpemUoKSAvIDEwMjQgLyAxMDI0OworCiAgICAgLy8gQXMgYSBmdWRnZSBm
YWN0b3IsIHVzZSAxMDAwIGluc3RlYWQgb2YgMTAyNCwgaW4gY2FzZSB0aGUgcmVwb3J0ZWQgYnl0
ZQogICAgIC8vIGNvdW50IGRvZXNuJ3QgYWxpZ24gZXhhY3RseSB0byBhIG1lZ2FieXRlIGJvdW5k
YXJ5LgotICAgIHVpbnQ2NF90IG1lbVNpemUgPSBtZW1vcnlTaXplKCkgLyAxMDI0IC8gMTAwMDsK
ICAgICB1aW50NjRfdCBkaXNrRnJlZVNpemUgPSB2b2x1bWVGcmVlU2l6ZShtX2Rpc2tDYWNoZURp
cmVjdG9yeSkgLyAxMDI0IC8gMTAwMDsKIAogICAgIHVuc2lnbmVkIGNhY2hlVG90YWxDYXBhY2l0
eSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2NvY29hL1dlYlBy
b2Nlc3NDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vz
c0NvY29hLm1tCmluZGV4IGE2NWZiZjkuLmNjMzhkZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCkBAIC01MSwxMSArNTEsOSBA
QAogI2ltcG9ydCA8V2ViQ29yZS9QYWdlQ2FjaGUuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2ViQ29y
ZU5TVVJMRXh0cmFzLmg+CiAjaW1wb3J0IDxXZWJLaXRTeXN0ZW1JbnRlcmZhY2UuaD4KKyNpbXBv
cnQgPHd0Zi9SYW1TaXplLmg+CiAjaW1wb3J0IDxhbGdvcml0aG0+CiAjaW1wb3J0IDxkaXNwYXRj
aC9kaXNwYXRjaC5oPgotI2ltcG9ydCA8bWFjaC9ob3N0X2luZm8uaD4KLSNpbXBvcnQgPG1hY2gv
bWFjaC5oPgotI2ltcG9ydCA8bWFjaC9tYWNoX2Vycm9yLmg+CiAjaW1wb3J0IDxvYmpjL3J1bnRp
bWUuaD4KICNpbXBvcnQgPHN0ZGlvLmg+CiAKQEAgLTY1LDI0ICs2Myw2IEBAIHVzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3RhdGljIHVpbnQ2NF90IG1l
bW9yeVNpemUoKQotewotICAgIHN0YXRpYyBob3N0X2Jhc2ljX2luZm9fZGF0YV90IGhvc3RJbmZv
OwotCi0gICAgc3RhdGljIGRpc3BhdGNoX29uY2VfdCBvbmNlOwotICAgIGRpc3BhdGNoX29uY2Uo
Jm9uY2UsIF4oKSB7Ci0gICAgICAgIG1hY2hfcG9ydF90IGhvc3QgPSBtYWNoX2hvc3Rfc2VsZigp
OwotICAgICAgICBtYWNoX21zZ190eXBlX251bWJlcl90IGNvdW50ID0gSE9TVF9CQVNJQ19JTkZP
X0NPVU5UOwotICAgICAgICBrZXJuX3JldHVybl90IHIgPSBob3N0X2luZm8oaG9zdCwgSE9TVF9C
QVNJQ19JTkZPLCAoaG9zdF9pbmZvX3QpJmhvc3RJbmZvLCAmY291bnQpOwotICAgICAgICBtYWNo
X3BvcnRfZGVhbGxvY2F0ZShtYWNoX3Rhc2tfc2VsZigpLCBob3N0KTsKLQotICAgICAgICBpZiAo
ciAhPSBLRVJOX1NVQ0NFU1MpCi0gICAgICAgICAgICBMT0dfRVJST1IoIiVzIDogaG9zdF9pbmZv
KCVkKSA6ICVzLlxuIiwgX19GVU5DVElPTl9fLCByLCBtYWNoX2Vycm9yX3N0cmluZyhyKSk7Ci0g
ICAgfSk7Ci0KLSAgICByZXR1cm4gaG9zdEluZm8ubWF4X21lbTsKLX0KLQogc3RhdGljIHVpbnQ2
NF90IHZvbHVtZUZyZWVTaXplKE5TU3RyaW5nICpwYXRoKQogewogICAgIE5TRGljdGlvbmFyeSAq
ZmlsZVN5c3RlbUF0dHJpYnV0ZXNEaWN0aW9uYXJ5ID0gW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRN
YW5hZ2VyXSBhdHRyaWJ1dGVzT2ZGaWxlU3lzdGVtRm9yUGF0aDpwYXRoIGVycm9yOk5VTExdOwpA
QCAtOTUsOSArNzUsMTAgQEAgdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybVNldENhY2hlTW9kZWwo
Q2FjaGVNb2RlbCBjYWNoZU1vZGVsKQogICAgIGlmICghbnN1cmxDYWNoZURpcmVjdG9yeSkKICAg
ICAgICAgbnN1cmxDYWNoZURpcmVjdG9yeSA9IE5TSG9tZURpcmVjdG9yeSgpOwogCisgICAgdWlu
dDY0X3QgbWVtU2l6ZSA9IHJhbVNpemUoKSAvIDEwMjQgLyAxMDI0OworCiAgICAgLy8gQXMgYSBm
dWRnZSBmYWN0b3IsIHVzZSAxMDAwIGluc3RlYWQgb2YgMTAyNCwgaW4gY2FzZSB0aGUgcmVwb3J0
ZWQgYnl0ZSAKICAgICAvLyBjb3VudCBkb2Vzbid0IGFsaWduIGV4YWN0bHkgdG8gYSBtZWdhYnl0
ZSBib3VuZGFyeS4KLSAgICB1aW50NjRfdCBtZW1TaXplID0gbWVtb3J5U2l6ZSgpIC8gMTAyNCAv
IDEwMDA7CiAgICAgdWludDY0X3QgZGlza0ZyZWVTaXplID0gdm9sdW1lRnJlZVNpemUobnN1cmxD
YWNoZURpcmVjdG9yeS5nZXQoKSkgLyAxMDI0IC8gMTAwMDsKIAogICAgIHVuc2lnbmVkIGNhY2hl
VG90YWxDYXBhY2l0eSA9IDA7Cg==
</data>
<flag name="review"
          id="276205"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>