<?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>67010</bug_id>
          
          <creation_ts>2011-08-25 18:48:49 -0700</creation_ts>
          <short_desc>Update topCallFrame when calling host functions in the JIT</short_desc>
          <delta_ts>2011-08-26 15:51:13 -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>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>
          
          <blocked>66994</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Juan C. Montemayor">j.mont</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ggaren</cc>
    
    <cc>j.mont</cc>
    
    <cc>oliver</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>457324</commentid>
    <comment_count>0</comment_count>
    <who name="Juan C. Montemayor">j.mont</who>
    <bug_when>2011-08-25 18:48:49 -0700</bug_when>
    <thetext>The topCallFrame is not being updated when a host function is called by the JIT. This causes problems when trying to create a stack trace.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457387</commentid>
    <comment_count>1</comment_count>
      <attachid>105308</attachid>
    <who name="Juan C. Montemayor">j.mont</who>
    <bug_when>2011-08-25 22:08:57 -0700</bug_when>
    <thetext>Created attachment 105308
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457389</commentid>
    <comment_count>2</comment_count>
      <attachid>105309</attachid>
    <who name="Juan C. Montemayor">j.mont</who>
    <bug_when>2011-08-25 22:13:14 -0700</bug_when>
    <thetext>Created attachment 105309
sunspider test results showing no speed regression</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457595</commentid>
    <comment_count>3</comment_count>
      <attachid>105308</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-08-26 09:59:43 -0700</bug_when>
    <thetext>Comment on attachment 105308
Proposed patch

View in context: https://bugs.webkit.org/attachment.cgi?id=105308&amp;action=review

&gt; Source/JavaScriptCore/jit/JITOpcodes.cpp:143
&gt; +    // Fixme: Should TopCallFrame also be uploaded at this location?

yes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457607</commentid>
    <comment_count>4</comment_count>
      <attachid>105370</attachid>
    <who name="Juan C. Montemayor">j.mont</who>
    <bug_when>2011-08-26 10:17:36 -0700</bug_when>
    <thetext>Created attachment 105370
updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457794</commentid>
    <comment_count>5</comment_count>
      <attachid>105370</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-26 14:46:13 -0700</bug_when>
    <thetext>Comment on attachment 105370
updated patch

Clearing flags on attachment: 105370

Committed r93915: &lt;http://trac.webkit.org/changeset/93915&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457795</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-26 14:46:17 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457823</commentid>
    <comment_count>7</comment_count>
      <attachid>105416</attachid>
    <who name="Juan C. Montemayor">j.mont</who>
    <bug_when>2011-08-26 15:49:16 -0700</bug_when>
    <thetext>Created attachment 105416
patch with changes</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105308</attachid>
            <date>2011-08-25 22:08:57 -0700</date>
            <delta_ts>2011-08-26 10:17:32 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>bug-67010-20110825220855.patch</filename>
            <type>text/plain</type>
            <size>1967</size>
            <attacher name="Juan C. Montemayor">j.mont</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTM3NTgpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTEtMDgtMjUgIEp1YW4gQy4gTW9udGVtYXlvciAgPGptb250QGFwcGxlLmNvbT4KKworICAg
ICAgICBVcGRhdGUgdG9wQ2FsbEZyYW1lIHdoZW4gY2FsbGluZyBob3N0IGZ1bmN0aW9ucyBpbiB0
aGUgSklUCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
NzAxMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAg
ICAgICAgVGhlIHRvcENhbGxGcmFtZSBpcyBub3QgYmVpbmcgdXBkYXRlZCB3aGVuIGEgaG9zdCBm
dW5jdGlvbiBpcworICAgICAgICBjYWxsZWQgYnkgdGhlIEpJVC4gVGhpcyBjYXVzZXMgcHJvYmxl
bXMgd2hlbiB0cnlpbmcgdG8gY3JlYXRlIGEKKyAgICAgICAgc3RhY2sgdHJhY2UgKGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Njk5NCkuCisKKyAgICAgICAgKiBqaXQv
SklUT3Bjb2Rlcy5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVDVElNYWNo
aW5lVHJhbXBvbGluZXMpOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlQ1RJTmF0
aXZlQ2FsbCk6CisKIDIwMTEtMDgtMjQgIEp1YW4gQy4gTW9udGVtYXlvciAgPGptb250QGFwcGxl
LmNvbT4KIAogICAgICAgICBLZWVwIHRyYWNrIG9mIHRvcENhbGxGcmFtZSBmb3IgU3RhY2sgdHJh
Y2VzCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAJKHJldmlz
aW9uIDkzNzU4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTQwLDYgKzE0MCw3IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGls
ZUNUSU1hY2hpbmVUcmFtcG8KICAgICBtb3ZlKFRydXN0ZWRJbW1QdHIoJmdsb2JhbERhdGEtPmV4
Y2VwdGlvbkxvY2F0aW9uKSwgcmVnVDIpOwogICAgIHN0b3JlUHRyKHJlZ1QxLCByZWdUMik7CiAg
ICAgcG9rZShjYWxsRnJhbWVSZWdpc3RlciwgMSArIE9CSkVDVF9PRkZTRVRPRihzdHJ1Y3QgSklU
U3RhY2tGcmFtZSwgY2FsbEZyYW1lKSAvIHNpemVvZih2b2lkKikpOworICAgIC8vIEZpeG1lOiBT
aG91bGQgVG9wQ2FsbEZyYW1lIGFsc28gYmUgdXBsb2FkZWQgYXQgdGhpcyBsb2NhdGlvbj8KICAg
ICBwb2tlKFRydXN0ZWRJbW1QdHIoRnVuY3Rpb25QdHIoY3RpVk1UaHJvd1RyYW1wb2xpbmUpLnZh
bHVlKCkpKTsKICAgICByZXQoKTsKIApAQCAtMjgwLDYgKzI4MSw3IEBAIEpJVDo6TGFiZWwgSklU
Ojpwcml2YXRlQ29tcGlsZUNUSU5hdGl2ZUMKICAgICBzdG9yZVB0cihyZWdUMSwgcmVnVDIpOwog
ICAgIHBva2UoY2FsbEZyYW1lUmVnaXN0ZXIsIE9CSkVDVF9PRkZTRVRPRihzdHJ1Y3QgSklUU3Rh
Y2tGcmFtZSwgY2FsbEZyYW1lKSAvIHNpemVvZih2b2lkKikpOwogCisgICAgc3RvcmVQdHIoY2Fs
bEZyYW1lUmVnaXN0ZXIsICZtX2dsb2JhbERhdGEtPnRvcENhbGxGcmFtZSk7CiAgICAgLy8gU2V0
IHRoZSByZXR1cm4gYWRkcmVzcy4KICAgICBtb3ZlKFRydXN0ZWRJbW1QdHIoRnVuY3Rpb25QdHIo
Y3RpVk1UaHJvd1RyYW1wb2xpbmUpLnZhbHVlKCkpLCByZWdUMSk7CiAgICAgcmVzdG9yZVJldHVy
bkFkZHJlc3NCZWZvcmVSZXR1cm4ocmVnVDEpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>105309</attachid>
            <date>2011-08-25 22:13:14 -0700</date>
            <delta_ts>2011-08-25 22:13:14 -0700</delta_ts>
            <desc>sunspider test results showing no speed regression</desc>
            <filename>sunspider-results.txt</filename>
            <type>text/plain</type>
            <size>3352</size>
            <attacher name="Juan C. Montemayor">j.mont</attacher>
            
              <data encoding="base64">CgpURVNUICAgICAgICAgICAgICAgICAgIENPTVBBUklTT04gICAgICAgICAgICBGUk9NICAgICAg
ICAgICAgICAgICBUTyAgICAgICAgICAgICBERVRBSUxTCgo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoK
KiogVE9UQUwgKio6ICAgICAgICAgICAxLjAwM3ggYXMgZmFzdCAgICAxNTkuM21zICsvLSAwLjEl
ICAgMTU4LjltcyArLy0gMC4xJSAgICAgc2lnbmlmaWNhbnQKCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
CgogIDNkOiAgICAgICAgICAgICAgICAgID8/ICAgICAgICAgICAgICAgICAyMy4xbXMgKy8tIDAu
MiUgICAgMjMuMm1zICsvLSAwLjMlICAgICBub3QgY29uY2x1c2l2ZTogbWlnaHQgYmUgKjEuMDAx
eCBhcyBzbG93KgogICAgY3ViZTogICAgICAgICAgICAgID8/ICAgICAgICAgICAgICAgICAgOS4x
bXMgKy8tIDAuNSUgICAgIDkuMm1zICsvLSAwLjYlICAgICBub3QgY29uY2x1c2l2ZTogbWlnaHQg
YmUgKjEuMDAxeCBhcyBzbG93KgogICAgbW9ycGg6ICAgICAgICAgICAgIC0gICAgICAgICAgICAg
ICAgICAgNy4wbXMgKy8tIDAuMSUgICAgIDcuMG1zICsvLSAwLjElIAogICAgcmF5dHJhY2U6ICAg
ICAgICAgID8/ICAgICAgICAgICAgICAgICAgNy4wbXMgKy8tIDAuMCUgICAgIDcuMG1zICsvLSAw
LjIlICAgICBub3QgY29uY2x1c2l2ZTogbWlnaHQgYmUgKjEuMDAyeCBhcyBzbG93KgoKICBhY2Nl
c3M6ICAgICAgICAgICAgICAtICAgICAgICAgICAgICAgICAgMTkuMG1zICsvLSAwLjElICAgIDE5
LjBtcyArLy0gMC4yJSAKICAgIGJpbmFyeS10cmVlczogICAgICA/PyAgICAgICAgICAgICAgICAg
IDIuMG1zICsvLSAwLjUlICAgICAyLjBtcyArLy0gMC44JSAgICAgbm90IGNvbmNsdXNpdmU6IG1p
Z2h0IGJlICoxLjAwNXggYXMgc2xvdyoKICAgIGZhbm5rdWNoOiAgICAgICAgICAtICAgICAgICAg
ICAgICAgICAgMTEuMG1zICsvLSAwLjElICAgIDExLjBtcyArLy0gMC4xJSAKICAgIG5ib2R5OiAg
ICAgICAgICAgICAtICAgICAgICAgICAgICAgICAgIDQuMG1zICsvLSAwLjAlICAgICA0LjBtcyAr
Ly0gMC4wJSAKICAgIG5zaWV2ZTogICAgICAgICAgICAtICAgICAgICAgICAgICAgICAgIDIuMG1z
ICsvLSAwLjAlICAgICAyLjBtcyArLy0gMC4wJSAKCiAgYml0b3BzOiAgICAgICAgICAgICAgLSAg
ICAgICAgICAgICAgICAgIDEzLjBtcyArLy0gMC4wJSAgICAxMy4wbXMgKy8tIDAuMCUgCiAgICAz
Yml0LWJpdHMtaW4tYnl0ZTogLSAgICAgICAgICAgICAgICAgICAxLjBtcyArLy0gMC4wJSAgICAg
MS4wbXMgKy8tIDAuMCUgCiAgICBiaXRzLWluLWJ5dGU6ICAgICAgLSAgICAgICAgICAgICAgICAg
ICA0LjBtcyArLy0gMC4wJSAgICAgNC4wbXMgKy8tIDAuMCUgCiAgICBiaXR3aXNlLWFuZDogICAg
ICAgLSAgICAgICAgICAgICAgICAgICAzLjBtcyArLy0gMC4wJSAgICAgMy4wbXMgKy8tIDAuMCUg
CiAgICBuc2lldmUtYml0czogICAgICAgLSAgICAgICAgICAgICAgICAgICA1LjBtcyArLy0gMC4w
JSAgICAgNS4wbXMgKy8tIDAuMCUgCgogIGNvbnRyb2xmbG93OiAgICAgICAgIC0gICAgICAgICAg
ICAgICAgICAgMS4wbXMgKy8tIDEuNyUgICAgIDEuMG1zICsvLSAxLjQlIAogICAgcmVjdXJzaXZl
OiAgICAgICAgIC0gICAgICAgICAgICAgICAgICAgMS4wbXMgKy8tIDEuNyUgICAgIDEuMG1zICsv
LSAxLjQlIAoKICBjcnlwdG86ICAgICAgICAgICAgICAtICAgICAgICAgICAgICAgICAgMTAuMG1z
ICsvLSAwLjElICAgIDEwLjBtcyArLy0gMC4wJSAKICAgIGFlczogICAgICAgICAgICAgICAtICAg
ICAgICAgICAgICAgICAgIDYuMG1zICsvLSAwLjAlICAgICA2LjBtcyArLy0gMC4wJSAKICAgIG1k
NTogICAgICAgICAgICAgICAtICAgICAgICAgICAgICAgICAgIDIuMG1zICsvLSAwLjUlICAgICAy
LjBtcyArLy0gMC4wJSAKICAgIHNoYTE6ICAgICAgICAgICAgICAtICAgICAgICAgICAgICAgICAg
IDIuMG1zICsvLSAwLjAlICAgICAyLjBtcyArLy0gMC4wJSAKCiAgZGF0ZTogICAgICAgICAgICAg
ICAgLSAgICAgICAgICAgICAgICAgIDE4LjRtcyArLy0gMC44JSAgICAxOC40bXMgKy8tIDAuNiUg
CiAgICBmb3JtYXQtdG9mdGU6ICAgICAgLSAgICAgICAgICAgICAgICAgIDEwLjRtcyArLy0gMS40
JSAgICAxMC40bXMgKy8tIDEuMSUgCiAgICBmb3JtYXQteHBhcmI6ICAgICAgLSAgICAgICAgICAg
ICAgICAgICA4LjBtcyArLy0gMC4yJSAgICAgOC4wbXMgKy8tIDAuMSUgCgogIG1hdGg6ICAgICAg
ICAgICAgICAgIC0gICAgICAgICAgICAgICAgICAxNS4wbXMgKy8tIDAuMSUgICAgMTUuMG1zICsv
LSAwLjElIAogICAgY29yZGljOiAgICAgICAgICAgIC0gICAgICAgICAgICAgICAgICAgNi4wbXMg
Ky8tIDAuMCUgICAgIDYuMG1zICsvLSAwLjAlIAogICAgcGFydGlhbC1zdW1zOiAgICAgIC0gICAg
ICAgICAgICAgICAgICAgNy4wbXMgKy8tIDAuMyUgICAgIDcuMG1zICsvLSAwLjIlIAogICAgc3Bl
Y3RyYWwtbm9ybTogICAgIC0gICAgICAgICAgICAgICAgICAgMi4wbXMgKy8tIDAuMCUgICAgIDIu
MG1zICsvLSAwLjAlIAoKICByZWdleHA6ICAgICAgICAgICAgICAtICAgICAgICAgICAgICAgICAg
MTAuMG1zICsvLSAwLjIlICAgIDEwLjBtcyArLy0gMC4xJSAKICAgIGRuYTogICAgICAgICAgICAg
ICAtICAgICAgICAgICAgICAgICAgMTAuMG1zICsvLSAwLjIlICAgIDEwLjBtcyArLy0gMC4xJSAK
CiAgc3RyaW5nOiAgICAgICAgICAgICAgMS4wMDh4IGFzIGZhc3QgICAgIDQ5LjdtcyArLy0gMC4y
JSAgICA0OS4zbXMgKy8tIDAuMiUgICAgIHNpZ25pZmljYW50CiAgICBiYXNlNjQ6ICAgICAgICAg
ICAgMS4wMTN4IGFzIGZhc3QgICAgICA2LjBtcyArLy0gMC4wJSAgICAgNS45bXMgKy8tIDAuNiUg
ICAgIHNpZ25pZmljYW50CiAgICBmYXN0YTogICAgICAgICAgICAgLSAgICAgICAgICAgICAgICAg
ICA3LjBtcyArLy0gMC4xJSAgICAgNy4wbXMgKy8tIDAuMCUgCiAgICB0YWdjbG91ZDogICAgICAg
ICAgPz8gICAgICAgICAgICAgICAgIDEyLjNtcyArLy0gMC41JSAgICAxMi4zbXMgKy8tIDAuNSUg
ICAgIG5vdCBjb25jbHVzaXZlOiBtaWdodCBiZSAqMS4wMDN4IGFzIHNsb3cqCiAgICB1bnBhY2st
Y29kZTogICAgICAgMS4wMTh4IGFzIGZhc3QgICAgIDE4LjRtcyArLy0gMC40JSAgICAxOC4xbXMg
Ky8tIDAuMyUgICAgIHNpZ25pZmljYW50CiAgICB2YWxpZGF0ZS1pbnB1dDogICAgLSAgICAgICAg
ICAgICAgICAgICA2LjBtcyArLy0gMC4yJSAgICAgNi4wbXMgKy8tIDAuMiUgCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105370</attachid>
            <date>2011-08-26 10:17:36 -0700</date>
            <delta_ts>2011-08-26 15:49:11 -0700</delta_ts>
            <desc>updated patch</desc>
            <filename>bug-67010-20110826101735.patch</filename>
            <type>text/plain</type>
            <size>1979</size>
            <attacher name="Juan C. Montemayor">j.mont</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTM4ODIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTEtMDgtMjYgIEp1YW4gQy4gTW9udGVtYXlvciAgPGptb250QGFwcGxlLmNvbT4KKworICAg
ICAgICBVcGRhdGUgdG9wQ2FsbEZyYW1lIHdoZW4gY2FsbGluZyBob3N0IGZ1bmN0aW9ucyBpbiB0
aGUgSklUCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
NzAxMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAg
ICAgICAgVGhlIHRvcENhbGxGcmFtZSBpcyBub3QgYmVpbmcgdXBkYXRlZCB3aGVuIGEgaG9zdCBm
dW5jdGlvbiBpcworICAgICAgICBjYWxsZWQgYnkgdGhlIEpJVC4gVGhpcyBjYXVzZXMgcHJvYmxl
bXMgd2hlbiB0cnlpbmcgdG8gY3JlYXRlIGEKKyAgICAgICAgc3RhY2sgdHJhY2UgKGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Njk5NCkuCisKKyAgICAgICAgKiBqaXQv
SklUT3Bjb2Rlcy5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVDVElNYWNo
aW5lVHJhbXBvbGluZXMpOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlQ1RJTmF0
aXZlQ2FsbCk6CisKIDIwMTEtMDgtMjUgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFw
cGxlLmNvbT4KIAogICAgICAgICBGaXhpbmcgYnJva2VuIGJ1aWxkIGR1ZSB0byB1bnVzZWQgdmFy
aWFibGVzIGluIHJlbGVhc2UgbW9kZQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRPcGNvZGVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VE9wY29kZXMuY3BwCShyZXZpc2lvbiA5Mzg1NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUT3Bjb2Rlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0MCw2ICsxNDAsNyBAQCB2b2lk
IEpJVDo6cHJpdmF0ZUNvbXBpbGVDVElNYWNoaW5lVHJhbXBvCiAgICAgbW92ZShUcnVzdGVkSW1t
UHRyKCZnbG9iYWxEYXRhLT5leGNlcHRpb25Mb2NhdGlvbiksIHJlZ1QyKTsKICAgICBzdG9yZVB0
cihyZWdUMSwgcmVnVDIpOwogICAgIHBva2UoY2FsbEZyYW1lUmVnaXN0ZXIsIDEgKyBPQkpFQ1Rf
T0ZGU0VUT0Yoc3RydWN0IEpJVFN0YWNrRnJhbWUsIGNhbGxGcmFtZSkgLyBzaXplb2Yodm9pZCop
KTsKKyAgICBzdG9yZVB0cihjYWxsRnJhbWVSZWdpc3RlciwgJm1fZ2xvYmFsRGF0YS0+dG9wQ2Fs
bEZyYW1lKTsKICAgICBwb2tlKFRydXN0ZWRJbW1QdHIoRnVuY3Rpb25QdHIoY3RpVk1UaHJvd1Ry
YW1wb2xpbmUpLnZhbHVlKCkpKTsKICAgICByZXQoKTsKIApAQCAtMjgwLDYgKzI4MSw3IEBAIEpJ
VDo6TGFiZWwgSklUOjpwcml2YXRlQ29tcGlsZUNUSU5hdGl2ZUMKICAgICBzdG9yZVB0cihyZWdU
MSwgcmVnVDIpOwogICAgIHBva2UoY2FsbEZyYW1lUmVnaXN0ZXIsIE9CSkVDVF9PRkZTRVRPRihz
dHJ1Y3QgSklUU3RhY2tGcmFtZSwgY2FsbEZyYW1lKSAvIHNpemVvZih2b2lkKikpOwogCisgICAg
c3RvcmVQdHIoY2FsbEZyYW1lUmVnaXN0ZXIsICZtX2dsb2JhbERhdGEtPnRvcENhbGxGcmFtZSk7
CiAgICAgLy8gU2V0IHRoZSByZXR1cm4gYWRkcmVzcy4KICAgICBtb3ZlKFRydXN0ZWRJbW1QdHIo
RnVuY3Rpb25QdHIoY3RpVk1UaHJvd1RyYW1wb2xpbmUpLnZhbHVlKCkpLCByZWdUMSk7CiAgICAg
cmVzdG9yZVJldHVybkFkZHJlc3NCZWZvcmVSZXR1cm4ocmVnVDEpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105416</attachid>
            <date>2011-08-26 15:49:16 -0700</date>
            <delta_ts>2011-08-26 15:51:13 -0700</delta_ts>
            <desc>patch with changes</desc>
            <filename>bug-67010-20110826154915.patch</filename>
            <type>text/plain</type>
            <size>27121</size>
            <attacher name="Juan C. Montemayor">j.mont</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTM5MjEpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzYgQEAK
KzIwMTEtMDgtMjYgIEp1YW4gQy4gTW9udGVtYXlvciAgPGptb250QGFwcGxlLmNvbT4KKworICAg
ICAgICBVcGRhdGUgdG9wQ2FsbEZyYW1lIHdoZW4gY2FsbGluZyBob3N0IGZ1bmN0aW9ucyBpbiB0
aGUgSklUCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
NzAxMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAg
ICAgICAgVGhlIHRvcENhbGxGcmFtZSBpcyBub3QgYmVpbmcgdXBkYXRlZCB3aGVuIGEgaG9zdCBm
dW5jdGlvbiBpcworICAgICAgICBjYWxsZWQgYnkgdGhlIEpJVC4gVGhpcyBjYXVzZXMgcHJvYmxl
bXMgd2hlbiB0cnlpbmcgdG8gY3JlYXRlIGEKKyAgICAgICAgc3RhY2sgdHJhY2UgKGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Njk5NCkuCisKKyAgICAgICAgKiBKYXZh
U2NyaXB0Q29yZS5leHA6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZjoKKyAgICAgICAgKiBpbnRlcnByZXRlci9JbnRlcnBy
ZXRlci5jcHA6CisgICAgICAgIChKU0M6OmdldENhbGxlckxpbmUpOgorICAgICAgICAoSlNDOjpn
ZXRUcmFjZUxpbmUpOgorICAgICAgICAoSlNDOjp1cGRhdGVTb3VyY2VVUkwpOgorICAgICAgICAo
SlNDOjpJbnRlcnByZXRlcjo6Z2V0U3RhY2tUcmFjZSk6CisgICAgICAgIChKU0M6OkludGVycHJl
dGVyOjp0aHJvd0V4Y2VwdGlvbik6CisgICAgICAgICogaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIu
aDoKKyAgICAgICAgKiBqaXQvSklUT3Bjb2Rlcy5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJp
dmF0ZUNvbXBpbGVDVElNYWNoaW5lVHJhbXBvbGluZXMpOgorICAgICAgICAoSlNDOjpKSVQ6OnBy
aXZhdGVDb21waWxlQ1RJTmF0aXZlQ2FsbCk6CisgICAgICAgICoganNjLmNwcDoKKyAgICAgICAg
KEdsb2JhbE9iamVjdDo6Y29uc3RydWN0b3JCb2R5KToKKyAgICAgICAgKGZ1bmN0aW9uU3RhY2sp
OgorICAgICAgICAqIHBhcnNlci9QYXJzZXIuaDoKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJz
ZSk6CisgICAgICAgICogcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oOgorICAgICAgICAqIHJ1
bnRpbWUvRXJyb3IuY3BwOgorICAgICAgICAoSlNDOjphZGRFcnJvckluZm8pOgorICAgICAgICAq
IHJ1bnRpbWUvRXJyb3IuaDoKKwogMjAxMS0wOC0yNiAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5l
bmJlcmdAYXBwbGUuY29tPgogCiAgICAgICAgIFVuemlwIGluaXRpYWxpemF0aW9uIGxpc3RzIGFu
ZCBjb25zdHJ1Y3RvcnMgaW4gSlNDZWxsIGhpZXJhcmNoeSAoMi83KQpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCShyZXZpc2lvbiA5Mzg1NikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAJKHdvcmtpbmcgY29weSkKQEAgLTEx
NCw2ICsxMTQsOCBAQCBfX1pOM0pTQzEwSlNGdW5jdGlvbjRuYW1lRVBOU185RXhlY1N0YXRlCiBf
X1pOM0pTQzEwSlNGdW5jdGlvbjZzX2luZm9FCiBfX1pOM0pTQzEwdGhyb3dFcnJvckVQTlNfOUV4
ZWNTdGF0ZUVOU183SlNWYWx1ZUUKIF9fWk4zSlNDMTB0aHJvd0Vycm9yRVBOU185RXhlY1N0YXRl
RVBOU184SlNPYmplY3RFCitfX1pOM0pTQzExSW50ZXJwcmV0ZXIxM2dldFN0YWNrVHJhY2VFUE5T
XzEySlNHbG9iYWxEYXRhRWkKK19fWk4zSlNDMTFJbnRlcnByZXRlcjEzZ2V0U3RhY2tUcmFjZUVQ
TlNfMTJKU0dsb2JhbERhdGFFaVJOM1dURjZWZWN0b3JJTlNfMTVTdGFja1RyYWNlTGV2ZWxFTG0w
RUVFCiBfX1pOM0pTQzExSlNCeXRlQXJyYXkxM3NfZGVmYXVsdEluZm9FCiBfX1pOM0pTQzExSlNC
eXRlQXJyYXkxNWNyZWF0ZVN0cnVjdHVyZUVSTlNfMTJKU0dsb2JhbERhdGFFTlNfN0pTVmFsdWVF
UEtOU185Q2xhc3NJbmZvRQogX19aTjNKU0MxMUpTQnl0ZUFycmF5NmNyZWF0ZUVQTlNfOUV4ZWNT
dGF0ZUVQTlNfOVN0cnVjdHVyZUVQTjNXVEY5Qnl0ZUFycmF5RQpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2pzYy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2pz
Yy5jcHAJKHJldmlzaW9uIDkzODU2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJDdXJyZW50VGltZS5o
IgogI2luY2x1ZGUgIkV4Y2VwdGlvbkhlbHBlcnMuaCIKICNpbmNsdWRlICJJbml0aWFsaXplVGhy
ZWFkaW5nLmgiCisjaW5jbHVkZSAiSW50ZXJwcmV0ZXIuaCIKICNpbmNsdWRlICJKU0FycmF5Lmgi
CiAjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTTG9jay5oIgpAQCAtNzMsNiAr
NzQsNyBAQCBzdGF0aWMgYm9vbCBmaWxsQnVmZmVyV2l0aENvbnRlbnRzT2ZGaWxlCiAKIHN0YXRp
YyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uUHJpbnQoRXhlY1N0YXRlKik7
CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkRlYnVnKEV4ZWNT
dGF0ZSopOworc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25TdGFj
ayhFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0
aW9uR0MoRXhlY1N0YXRlKik7CiAjaWZuZGVmIE5ERUJVRwogc3RhdGljIEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25SZWxlYXNlRXhlY3V0YWJsZU1lbW9yeShFeGVjU3RhdGUq
KTsKQEAgLTE3MCw2ICsxNzIsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIHB1dERpcmVjdEZ1bmN0
aW9uKGdsb2JhbEV4ZWMoKSwgSlNGdW5jdGlvbjo6Y3JlYXRlKGdsb2JhbEV4ZWMoKSwgdGhpcywg
ZnVuY3Rpb25TdHJ1Y3R1cmUoKSwgMSwgSWRlbnRpZmllcihnbG9iYWxFeGVjKCksICJydW4iKSwg
ZnVuY3Rpb25SdW4pKTsKICAgICAgICAgcHV0RGlyZWN0RnVuY3Rpb24oZ2xvYmFsRXhlYygpLCBK
U0Z1bmN0aW9uOjpjcmVhdGUoZ2xvYmFsRXhlYygpLCB0aGlzLCBmdW5jdGlvblN0cnVjdHVyZSgp
LCAxLCBJZGVudGlmaWVyKGdsb2JhbEV4ZWMoKSwgImxvYWQiKSwgZnVuY3Rpb25Mb2FkKSk7CiAg
ICAgICAgIHB1dERpcmVjdEZ1bmN0aW9uKGdsb2JhbEV4ZWMoKSwgSlNGdW5jdGlvbjo6Y3JlYXRl
KGdsb2JhbEV4ZWMoKSwgdGhpcywgZnVuY3Rpb25TdHJ1Y3R1cmUoKSwgMSwgSWRlbnRpZmllcihn
bG9iYWxFeGVjKCksICJjaGVja1N5bnRheCIpLCBmdW5jdGlvbkNoZWNrU3ludGF4KSk7CisgICAg
ICAgIHB1dERpcmVjdEZ1bmN0aW9uKGdsb2JhbEV4ZWMoKSwgSlNGdW5jdGlvbjo6Y3JlYXRlKGds
b2JhbEV4ZWMoKSwgdGhpcywgZnVuY3Rpb25TdHJ1Y3R1cmUoKSwgMSwgSWRlbnRpZmllcihnbG9i
YWxFeGVjKCksICJzdGFjayIpLCBmdW5jdGlvblN0YWNrKSk7CiAgICAgICAgIHB1dERpcmVjdEZ1
bmN0aW9uKGdsb2JhbEV4ZWMoKSwgSlNGdW5jdGlvbjo6Y3JlYXRlKGdsb2JhbEV4ZWMoKSwgdGhp
cywgZnVuY3Rpb25TdHJ1Y3R1cmUoKSwgMCwgSWRlbnRpZmllcihnbG9iYWxFeGVjKCksICJyZWFk
bGluZSIpLCBmdW5jdGlvblJlYWRsaW5lKSk7CiAgICAgICAgIHB1dERpcmVjdEZ1bmN0aW9uKGds
b2JhbEV4ZWMoKSwgSlNGdW5jdGlvbjo6Y3JlYXRlKGdsb2JhbEV4ZWMoKSwgdGhpcywgZnVuY3Rp
b25TdHJ1Y3R1cmUoKSwgMCwgSWRlbnRpZmllcihnbG9iYWxFeGVjKCksICJwcmVjaXNlVGltZSIp
LCBmdW5jdGlvblByZWNpc2VUaW1lKSk7CiAKQEAgLTIxMyw2ICsyMTYsMTIgQEAgRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkRlYgogICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUoanNVbmRlZmluZWQoKSk7CiB9CiAKK0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVu
Y3Rpb25TdGFjayhFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgZnByaW50ZihzdGRlcnIsICIlcyIs
IEludGVycHJldGVyOjpnZXRTdGFja1RyYWNlKCZleGVjLT5nbG9iYWxEYXRhKCksIC0xKS51dGY4
KCkuZGF0YSgpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwor
fQorCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uR0MoRXhlY1N0YXRlKiBl
eGVjKQogewogICAgIEpTTG9jayBsb2NrKFNpbGVuY2VBc3NlcnRpb25zT25seSk7CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLmRlZgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgko
cmV2aXNpb24gOTM4NTYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
dmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgkod29ya2luZyBjb3B5KQpA
QCAtMjAwLDYgKzIwMCw3IEBAIEVYUE9SVFMKICAgICA/Z2V0UHJvcGVydHlEZXNjcmlwdG9yQEpT
T2JqZWN0QEpTQ0BAUUFFX05QQVZFeGVjU3RhdGVAMkBBQlZJZGVudGlmaWVyQDJAQUFWUHJvcGVy
dHlEZXNjcmlwdG9yQDJAQFoKICAgICA/Z2V0UHJvcGVydHlOYW1lc0BKU09iamVjdEBKU0NAQFVB
RVhQQVZFeGVjU3RhdGVAMkBBQVZQcm9wZXJ0eU5hbWVBcnJheUAyQFc0RW51bWVyYXRpb25Nb2Rl
QDJAQFoKICAgICA/Z2V0U2xpY2VAQXJnTGlzdEBKU0NAQFFCRVhIQUFWMTJAQFoKKyAgICA/Z2V0
U3RhY2tUcmFjZUBJbnRlcnByZXRlckBKU0NAQFNBP0JWVVN0cmluZ0AyQFBBVkpTR2xvYmFsRGF0
YUAyQEhAWgogICAgID9nZXRTdHJpbmdASlNDZWxsQEpTQ0BAUUJFP0FWVVN0cmluZ0AyQFBBVkV4
ZWNTdGF0ZUAyQEBaCiAgICAgP2dldFN0cmluZ0BKU0NlbGxASlNDQEBRQkVfTlBBVkV4ZWNTdGF0
ZUAyQEFBVlVTdHJpbmdAMkBAWgogICAgID9nZXRVSW50MzJASlNDZWxsQEpTQ0BAVUJFX05BQUlA
WgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJw
cmV0ZXIuY3BwCShyZXZpc2lvbiA5Mzg1NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9JbnRlcnByZXRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY4Nyw2ICs2ODcsMTE3
IEBAIHN0YXRpYyB2b2lkIGFwcGVuZFNvdXJjZVRvRXJyb3IoQ2FsbEZyYW0KICAgICBleGNlcHRp
b24tPnB1dERpcmVjdCgqZ2xvYmFsRGF0YSwgZ2xvYmFsRGF0YS0+cHJvcGVydHlOYW1lcy0+bWVz
c2FnZSwganNTdHJpbmcoZ2xvYmFsRGF0YSwgbWVzc2FnZSkpOwogfQogCitzdGF0aWMgdm9pZCBn
ZXRDYWxsZXJMaW5lKEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSwgQ2FsbEZyYW1lKiBjYWxsRnJh
bWUsIGludCYgbGluZU51bWJlcikKK3sKKyAgICAodm9pZClnbG9iYWxEYXRhOworICAgIHVuc2ln
bmVkIGJ5dGVjb2RlT2Zmc2V0OworICAgIGxpbmVOdW1iZXIgPSAtMTsKKyAgICBjYWxsRnJhbWUg
PSBjYWxsRnJhbWUtPnJlbW92ZUhvc3RDYWxsRnJhbWVGbGFnKCk7CisKKyAgICBpZiAoY2FsbEZy
YW1lLT5jYWxsZXJGcmFtZSgpID09IENhbGxGcmFtZTo6bm9DYWxsZXIoKSB8fCBjYWxsRnJhbWUt
PmNhbGxlckZyYW1lKCktPmhhc0hvc3RDYWxsRnJhbWVGbGFnKCkpCisgICAgICAgIHJldHVybjsK
KworICAgIENvZGVCbG9jayogY2FsbGVyQ29kZUJsb2NrID0gY2FsbEZyYW1lLT5jYWxsZXJGcmFt
ZSgpLT5yZW1vdmVIb3N0Q2FsbEZyYW1lRmxhZygpLT5jb2RlQmxvY2soKTsKKworI2lmIEVOQUJM
RShJTlRFUlBSRVRFUikKKyAgICBpZiAoIWdsb2JhbERhdGEtPmNhblVzZUpJVCgpKQorICAgICAg
ICBieXRlY29kZU9mZnNldCA9IGNhbGxlckNvZGVCbG9jay0+Ynl0ZWNvZGVPZmZzZXQoY2FsbEZy
YW1lLT5yZXR1cm5WUEMoKSk7CisjaWYgRU5BQkxFKEpJVCkKKyAgICBlbHNlCisgICAgICAgIGJ5
dGVjb2RlT2Zmc2V0ID0gY2FsbGVyQ29kZUJsb2NrLT5ieXRlY29kZU9mZnNldChjYWxsRnJhbWUt
PnJldHVyblBDKCkpOworI2VuZGlmCisjZWxzZQorICAgIGJ5dGVjb2RlT2Zmc2V0ID0gY2FsbGVy
Q29kZUJsb2NrLT5ieXRlY29kZU9mZnNldChjYWxsRnJhbWUtPnJldHVyblBDKCkpOworI2VuZGlm
CisKKyAgICBsaW5lTnVtYmVyID0gY2FsbGVyQ29kZUJsb2NrLT5saW5lTnVtYmVyRm9yQnl0ZWNv
ZGVPZmZzZXQoYnl0ZWNvZGVPZmZzZXQgLSAxKTsKK30KKworc3RhdGljIFN0cmluZyBnZXRUcmFj
ZUxpbmUoQ2FsbEZyYW1lICpjYWxsRnJhbWUsIGludCBjb2RlVHlwZSwgVVN0cmluZyYgc291cmNl
VVJMLCBpbnQgbGluZSkKK3sKKyAgICBib29sIGhhc1NvdXJjZVVSTEluZm8gPSAhc291cmNlVVJM
LmlzTnVsbCgpICYmICFzb3VyY2VVUkwuaXNFbXB0eSgpOworICAgIGJvb2wgaGFzTGluZUluZm8g
PSBsaW5lID4gLTE7CisKKyAgICBzd2l0Y2ggKChDb2RlVHlwZSljb2RlVHlwZSkgeworICAgIGNh
c2UgRXZhbENvZGU6CisgICAgICAgIGlmIChoYXNTb3VyY2VVUkxJbmZvKSAKKyAgICAgICAgICAg
IHJldHVybiBoYXNMaW5lSW5mbyA/IFN0cmluZzo6Zm9ybWF0KCJldmFsIGF0ICVzOiVkIiwgc291
cmNlVVJMLmFzY2lpKCkuZGF0YSgpLCBsaW5lKSAKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA6IFN0cmluZzo6Zm9ybWF0KCJldmFsIGF0ICVzIiwgc291cmNlVVJMLmFzY2lpKCkuZGF0
YSgpKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmV0dXJuIFN0cmluZzo6Zm9ybWF0KCJl
dmFsIik7CisgICAgY2FzZSBGdW5jdGlvbkNvZGU6CisgICAgICAgIGlmIChjYWxsRnJhbWUtPmNh
bGxlZSgpICYmIGNhbGxGcmFtZS0+Y2FsbGVlKCktPmluaGVyaXRzKCZKU0Z1bmN0aW9uOjpzX2lu
Zm8pKSB7CisgICAgICAgICAgICBpZiAoaGFzU291cmNlVVJMSW5mbykgCisgICAgICAgICAgICAg
ICAgcmV0dXJuIGhhc0xpbmVJbmZvID8gU3RyaW5nOjpmb3JtYXQoIiVzIGF0ICVzOiVkIiwgYXNG
dW5jdGlvbihjYWxsRnJhbWUtPmNhbGxlZSgpKS0+bmFtZShjYWxsRnJhbWUpLmFzY2lpKCkuZGF0
YSgpLCBzb3VyY2VVUkwuYXNjaWkoKS5kYXRhKCksIGxpbmUpCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDogU3RyaW5nOjpmb3JtYXQoIiVzIGF0ICVzIiwgYXNGdW5jdGlvbihj
YWxsRnJhbWUtPmNhbGxlZSgpKS0+bmFtZShjYWxsRnJhbWUpLmFzY2lpKCkuZGF0YSgpLCBzb3Vy
Y2VVUkwuYXNjaWkoKS5kYXRhKCkpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAg
IHJldHVybiBTdHJpbmc6OmZvcm1hdCgiJXNcbiIsIGFzRnVuY3Rpb24oY2FsbEZyYW1lLT5jYWxs
ZWUoKSktPm5hbWUoY2FsbEZyYW1lKS5hc2NpaSgpLmRhdGEoKSk7CisgICAgICAgIH0KKyAgICBk
ZWZhdWx0OgorICAgICAgICByZXR1cm4gaGFzTGluZUluZm8gPyBTdHJpbmc6OmZvcm1hdCgiYXQg
JXM6JWQiLCBzb3VyY2VVUkwuYXNjaWkoKS5kYXRhKCksIGxpbmUpCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICA6IFN0cmluZzo6Zm9ybWF0KCJhdCAlcyIsIHNvdXJjZVVSTC5hc2NpaSgpLmRh
dGEoKSk7CisgICAgfQorfQorCitzdGF0aWMgdm9pZCB1cGRhdGVTb3VyY2VVUkwoQ2FsbEZyYW1l
KiBjYWxsRnJhbWUsIFVTdHJpbmcmIHNvdXJjZVVSTCkgCit7CisjaWYgRU5BQkxFKElOVEVSUFJF
VEVSKQorICAgIGlmICghY2FsbEZyYW1lLT5nbG9iYWxEYXRhKCkuY2FuVXNlSklUKCkpCisgICAg
ICAgIHNvdXJjZVVSTCA9IGNhbGxGcmFtZS0+Y29kZUJsb2NrKCktPnNvdXJjZSgpLT51cmwoKTsK
KyNpZiBFTkFCTEUoSklUKQorICAgIGVsc2UKKyAgICAgICAgc291cmNlVVJMID0gY2FsbEZyYW1l
LT5jb2RlQmxvY2soKS0+b3duZXJFeGVjdXRhYmxlKCktPnNvdXJjZVVSTCgpOworI2VuZGlmCisj
ZWxzZQorICAgIHNvdXJjZVVSTCA9IGNhbGxGcmFtZS0+Y29kZUJsb2NrKCktPm93bmVyRXhlY3V0
YWJsZSgpLT5zb3VyY2VVUkwoKTsKKyNlbmRpZgorfQorCit2b2lkIEludGVycHJldGVyOjpnZXRT
dGFja1RyYWNlKEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSwgaW50IGxpbmUsIFZlY3RvcjxTdGFj
a1RyYWNlTGV2ZWw+JiByZXN1bHRzKQoreworICAgIGludCBzdGFja0xpbWl0ID0gMTU7CisgICAg
Q2FsbEZyYW1lKiBjYWxsRnJhbWUgPSBnbG9iYWxEYXRhLT50b3BDYWxsRnJhbWUtPnJlbW92ZUhv
c3RDYWxsRnJhbWVGbGFnKCk7CisgICAgaWYgKCFjYWxsRnJhbWUgfHwgY2FsbEZyYW1lID09IENh
bGxGcmFtZTo6bm9DYWxsZXIoKSB8fCAhY2FsbEZyYW1lLT5jb2RlQmxvY2soKSkgCisgICAgICAg
IHJldHVybjsKKyAgICBVU3RyaW5nIHNvdXJjZVVSTDsKKyAgICBVU3RyaW5nIHRyYWNlTGV2ZWw7
CisKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IHN0YWNrTGltaXQ7ICsraSkgeworICAgICAgICB3
aGlsZSAoY2FsbEZyYW1lICYmIGNhbGxGcmFtZSAhPSBDYWxsRnJhbWU6Om5vQ2FsbGVyKCkgJiYg
IWNhbGxGcmFtZS0+Y29kZUJsb2NrKCkpCisgICAgICAgICAgICBjYWxsRnJhbWUgPSBjYWxsRnJh
bWUtPmNhbGxlckZyYW1lKCktPnJlbW92ZUhvc3RDYWxsRnJhbWVGbGFnKCk7CisKKyAgICAgICAg
aWYgKCFjYWxsRnJhbWUgfHwgY2FsbEZyYW1lID09IENhbGxGcmFtZTo6bm9DYWxsZXIoKSkKKyAg
ICAgICAgICAgIGJyZWFrOworCisgICAgICAgIHVwZGF0ZVNvdXJjZVVSTChjYWxsRnJhbWUsIHNv
dXJjZVVSTCk7CisKKyAgICAgICAgdHJhY2VMZXZlbCA9IGdldFRyYWNlTGluZShjYWxsRnJhbWUs
IGNhbGxGcmFtZS0+Y29kZUJsb2NrKCktPmNvZGVUeXBlKCksIHNvdXJjZVVSTCwgbGluZSkuaW1w
bCgpOworCisgICAgICAgIFN0YWNrVHJhY2VMZXZlbCBzID0ge1N0cm9uZzxTY3JpcHRFeGVjdXRh
YmxlPigqZ2xvYmFsRGF0YSwgY2FsbEZyYW1lLT5jb2RlQmxvY2soKS0+b3duZXJFeGVjdXRhYmxl
KCkpLCBsaW5lLCBjYWxsRnJhbWUtPmNvZGVCbG9jaygpLT5jb2RlVHlwZSgpLCBzb3VyY2VVUkws
IHRyYWNlTGV2ZWx9OworCisgICAgICAgIHJlc3VsdHMuYXBwZW5kKHMpOworCisgICAgICAgIGdl
dENhbGxlckxpbmUoZ2xvYmFsRGF0YSwgY2FsbEZyYW1lLCBsaW5lKTsKKyAgICAgICAgY2FsbEZy
YW1lID0gY2FsbEZyYW1lLT5jYWxsZXJGcmFtZSgpLT5yZW1vdmVIb3N0Q2FsbEZyYW1lRmxhZygp
OworICAgIH0KK30KKworY29uc3QgVVN0cmluZyBJbnRlcnByZXRlcjo6Z2V0U3RhY2tUcmFjZShK
U0dsb2JhbERhdGEqIGdsb2JhbERhdGEsIGludCBsaW5lKQoreworICAgIFN0cmluZyB0cmFjZSA9
ICItLT4gU3RhY2sgdHJhY2U6XG4iOworICAgIFZlY3RvcjxTdGFja1RyYWNlTGV2ZWw+IHN0YWNr
VHJhY2U7CisgICAgSW50ZXJwcmV0ZXI6OmdldFN0YWNrVHJhY2UoZ2xvYmFsRGF0YSwgbGluZSwg
c3RhY2tUcmFjZSk7CisgICAgaW50IGkgPSAwOworICAgIAorICAgIGZvciAoVmVjdG9yPFN0YWNr
VHJhY2VMZXZlbD46Oml0ZXJhdG9yIGl0ZXIgPSBzdGFja1RyYWNlLmJlZ2luKCk7IGl0ZXIgPCBz
dGFja1RyYWNlLmVuZCgpOyBpdGVyKyspIHsKKyAgICAgICAgU3RhY2tUcmFjZUxldmVsIGxldmVs
ID0gKml0ZXI7CisgICAgICAgIHRyYWNlICs9IFN0cmluZzo6Zm9ybWF0KCIgICAgJWkgICAlc1xu
IiwgaSwgbGV2ZWwuc3RhY2tMZXZlbFN0cmluZy51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgaSsr
OworICAgIH0KKworICAgIHJldHVybiB0cmFjZS5pbXBsKCk7Cit9CisKIE5FVkVSX0lOTElORSBI
YW5kbGVySW5mbyogSW50ZXJwcmV0ZXI6OnRocm93RXhjZXB0aW9uKENhbGxGcmFtZSomIGNhbGxG
cmFtZSwgSlNWYWx1ZSYgZXhjZXB0aW9uVmFsdWUsIHVuc2lnbmVkIGJ5dGVjb2RlT2Zmc2V0KQog
ewogICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gY2FsbEZyYW1lLT5jb2RlQmxvY2soKTsKQEAg
LTY5NSw2ICs4MDYsNyBAQCBORVZFUl9JTkxJTkUgSGFuZGxlckluZm8qIEludGVycHJldGVyOjp0
CiAgICAgLy8gU2V0IHVwIHRoZSBleGNlcHRpb24gb2JqZWN0CiAgICAgaWYgKGV4Y2VwdGlvblZh
bHVlLmlzT2JqZWN0KCkpIHsKICAgICAgICAgSlNPYmplY3QqIGV4Y2VwdGlvbiA9IGFzT2JqZWN0
KGV4Y2VwdGlvblZhbHVlKTsKKyAgICAgICAgSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhID0gJmNh
bGxGcmFtZS0+Z2xvYmFsRGF0YSgpOwogCiAgICAgICAgIGlmIChleGNlcHRpb24tPmlzRXJyb3JJ
bnN0YW5jZSgpICYmIHN0YXRpY19jYXN0PEVycm9ySW5zdGFuY2UqPihleGNlcHRpb24pLT5hcHBl
bmRTb3VyY2VUb01lc3NhZ2UoKSkKICAgICAgICAgICAgIGFwcGVuZFNvdXJjZVRvRXJyb3IoY2Fs
bEZyYW1lLCBzdGF0aWNfY2FzdDxFcnJvckluc3RhbmNlKj4oZXhjZXB0aW9uKSwgYnl0ZWNvZGVP
ZmZzZXQpOwpAQCAtNzA1LDcgKzgxNyw5IEBAIE5FVkVSX0lOTElORSBIYW5kbGVySW5mbyogSW50
ZXJwcmV0ZXI6OnQKIAogICAgICAgICAgICAgLy8gRklYTUU6IHNob3VsZCBvbmx5IHJlYWxseSBi
ZSBhZGRpbmcgdGhlc2UgcHJvcGVydGllcyB0byBWTSBnZW5lcmF0ZWQgZXhjZXB0aW9ucywKICAg
ICAgICAgICAgIC8vIGJ1dCB0aGUgaW5zcGVjdG9yIGN1cnJlbnRseSByZXF1aXJlcyB0aGVzZSBm
b3IgYWxsIHRocm93biBvYmplY3RzLgotICAgICAgICAgICAgYWRkRXJyb3JJbmZvKGNhbGxGcmFt
ZSwgZXhjZXB0aW9uLCBjb2RlQmxvY2stPmxpbmVOdW1iZXJGb3JCeXRlY29kZU9mZnNldChieXRl
Y29kZU9mZnNldCksIGNvZGVCbG9jay0+b3duZXJFeGVjdXRhYmxlKCktPnNvdXJjZSgpKTsKKyAg
ICAgICAgICAgIFZlY3RvcjxTdGFja1RyYWNlTGV2ZWw+IHN0YWNrVHJhY2U7CisgICAgICAgICAg
ICBnZXRTdGFja1RyYWNlKGdsb2JhbERhdGEsIGNvZGVCbG9jay0+bGluZU51bWJlckZvckJ5dGVj
b2RlT2Zmc2V0KGJ5dGVjb2RlT2Zmc2V0KSwgc3RhY2tUcmFjZSk7CisgICAgICAgICAgICBhZGRF
cnJvckluZm8oY2FsbEZyYW1lLCBleGNlcHRpb24sIGNvZGVCbG9jay0+bGluZU51bWJlckZvckJ5
dGVjb2RlT2Zmc2V0KGJ5dGVjb2RlT2Zmc2V0KSwgY29kZUJsb2NrLT5vd25lckV4ZWN1dGFibGUo
KS0+c291cmNlKCksIHN0YWNrVHJhY2UpOwogICAgICAgICB9CiAKICAgICAgICAgQ29tcGxUeXBl
IGV4Y2VwdGlvblR5cGUgPSBleGNlcHRpb24tPmV4Y2VwdGlvblR5cGUoKTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oCShyZXZpc2lv
biA5Mzg1NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRl
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw3IEBAIG5hbWVzcGFjZSBKU0MgewogCiAg
ICAgY2xhc3MgQ29kZUJsb2NrOwogICAgIGNsYXNzIEV2YWxFeGVjdXRhYmxlOworICAgIGNsYXNz
IFNjcmlwdEV4ZWN1dGFibGU7CiAgICAgY2xhc3MgRnVuY3Rpb25FeGVjdXRhYmxlOwogICAgIGNs
YXNzIEpTRnVuY3Rpb247CiAgICAgY2xhc3MgSlNHbG9iYWxPYmplY3Q7CkBAIC02Miw2ICs2Mywx
NCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgV2lsbEV4ZWN1dGVTdGF0ZW1lbnQKICAgICB9
OwogCisgICAgc3RydWN0IFN0YWNrVHJhY2VMZXZlbCB7CisgICAgICAgIFN0cm9uZzxTY3JpcHRF
eGVjdXRhYmxlPiBleGVjdXRhYmxlOworICAgICAgICBpbnQgbGluZTsKKyAgICAgICAgaW50IGNv
ZGVUeXBlOworICAgICAgICBVU3RyaW5nIHNvdXJjZVVSTDsKKyAgICAgICAgVVN0cmluZyBzdGFj
a0xldmVsU3RyaW5nOworICAgIH07CisKICAgICBjbGFzcyBUb3BDYWxsRnJhbWVTZXR0ZXIgewog
ICAgIHB1YmxpYzoKICAgICAgICAgVG9wQ2FsbEZyYW1lU2V0dGVyKEpTR2xvYmFsRGF0YSYgZ2xv
YmFsLCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKQEAgLTEyOCw2ICsxMzcsOCBAQCBuYW1lc3BhY2Ug
SlNDIHsKICAgICAgICAgTkVWRVJfSU5MSU5FIEpTVmFsdWUgY2FsbEV2YWwoQ2FsbEZyYW1lKiwg
UmVnaXN0ZXJGaWxlKiwgUmVnaXN0ZXIqIGFyZ3YsIGludCBhcmdjLCBpbnQgcmVnaXN0ZXJPZmZz
ZXQpOwogICAgICAgICBORVZFUl9JTkxJTkUgSGFuZGxlckluZm8qIHRocm93RXhjZXB0aW9uKENh
bGxGcmFtZSomLCBKU1ZhbHVlJiwgdW5zaWduZWQgYnl0ZWNvZGVPZmZzZXQpOwogICAgICAgICBO
RVZFUl9JTkxJTkUgdm9pZCBkZWJ1ZyhDYWxsRnJhbWUqLCBEZWJ1Z0hvb2tJRCwgaW50IGZpcnN0
TGluZSwgaW50IGxhc3RMaW5lKTsKKyAgICAgICAgc3RhdGljIGNvbnN0IFVTdHJpbmcgZ2V0U3Rh
Y2tUcmFjZShKU0dsb2JhbERhdGEqLCBpbnQpOworICAgICAgICBzdGF0aWMgdm9pZCBnZXRTdGFj
a1RyYWNlKEpTR2xvYmFsRGF0YSosIGludCBsaW5lLCBWZWN0b3I8U3RhY2tUcmFjZUxldmVsPiYg
cmVzdWx0cyk7CiAKICAgICAgICAgdm9pZCBkdW1wU2FtcGxlRGF0YShFeGVjU3RhdGUqIGV4ZWMp
OwogICAgICAgICB2b2lkIHN0YXJ0U2FtcGxpbmcoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvUGFyc2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXIuaAkocmV2aXNpb24gOTM4NTYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL1BhcnNlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTQsNyArMTE0LDcgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICBlbHNlIGlmIChpc0V2YWxOb2RlPFBhcnNlZE5vZGU+
KCkpCiAgICAgICAgICAgICAgICAgKmV4Y2VwdGlvbiA9IGNyZWF0ZVN5bnRheEVycm9yKGxleGlj
YWxHbG9iYWxPYmplY3QsIGVyck1zZyk7CiAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAg
ICAgKmV4Y2VwdGlvbiA9IGFkZEVycm9ySW5mbygmbGV4aWNhbEdsb2JhbE9iamVjdC0+Z2xvYmFs
RGF0YSgpLCBjcmVhdGVTeW50YXhFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0LCBlcnJNc2cpLCBl
cnJMaW5lLCBzb3VyY2UpOworICAgICAgICAgICAgICAgICpleGNlcHRpb24gPSBhZGRFcnJvcklu
Zm8oJmxleGljYWxHbG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKSwgY3JlYXRlU3ludGF4RXJyb3Io
bGV4aWNhbEdsb2JhbE9iamVjdCwgZXJyTXNnKSwgZXJyTGluZSwgc291cmNlLCBWZWN0b3I8U3Rh
Y2tUcmFjZUxldmVsPigpKTsKICAgICAgICAgfQogCiAgICAgICAgIG1fYXJlbmEucmVzZXQoKTsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRp
ZmllcnMuaAkocmV2aXNpb24gOTM4NTYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Db21tb25JZGVudGlmaWVycy5oCSh3b3JraW5nIGNvcHkpCkBAIC02MSw2ICs2MSw3IEBACiAg
ICAgbWFjcm8ocHJvdG90eXBlKSBcCiAgICAgbWFjcm8oc2V0KSBcCiAgICAgbWFjcm8oc291cmNl
KSBcCisgICAgbWFjcm8oc3RhY2spIFwKICAgICBtYWNybyh0ZXN0KSBcCiAgICAgbWFjcm8odG9F
eHBvbmVudGlhbCkgXAogICAgIG1hY3JvKHRvRml4ZWQpIFwKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Vycm9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9FcnJvci5jcHAJKHJldmlzaW9uIDkzODU2KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRXJyb3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw3
IEBACiAKICNpbmNsdWRlICJDb25zdHJ1Y3REYXRhLmgiCiAjaW5jbHVkZSAiRXJyb3JDb25zdHJ1
Y3Rvci5oIgorI2luY2x1ZGUgIkpTQXJyYXkuaCIKICNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCiAj
aW5jbHVkZSAiSlNHbG9iYWxPYmplY3QuaCIKICNpbmNsdWRlICJKU09iamVjdC5oIgpAQCAtMTE2
LDcgKzExNyw3IEBAIEpTT2JqZWN0KiBjcmVhdGVVUklFcnJvcihFeGVjU3RhdGUqIGV4ZWMKICAg
ICByZXR1cm4gY3JlYXRlVVJJRXJyb3IoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBtZXNz
YWdlKTsKIH0KIAotSlNPYmplY3QqIGFkZEVycm9ySW5mbyhKU0dsb2JhbERhdGEqIGdsb2JhbERh
dGEsIEpTT2JqZWN0KiBlcnJvciwgaW50IGxpbmUsIGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSkK
K0pTT2JqZWN0KiBhZGRFcnJvckluZm8oSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBKU09iamVj
dCogZXJyb3IsIGludCBsaW5lLCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIGNvbnN0IFZlY3Rv
cjxTdGFja1RyYWNlTGV2ZWw+JiBzdGFja1RyYWNlKQogewogICAgIGludHB0cl90IHNvdXJjZUlE
ID0gc291cmNlLnByb3ZpZGVyKCktPmFzSUQoKTsKICAgICBjb25zdCBVU3RyaW5nJiBzb3VyY2VV
UkwgPSBzb3VyY2UucHJvdmlkZXIoKS0+dXJsKCk7CkBAIC0xMjcsMTMgKzEyOCwyMSBAQCBKU09i
amVjdCogYWRkRXJyb3JJbmZvKEpTR2xvYmFsRGF0YSogZ2xvCiAgICAgICAgIGVycm9yLT5wdXRX
aXRoQXR0cmlidXRlcyhnbG9iYWxEYXRhLCBJZGVudGlmaWVyKGdsb2JhbERhdGEsIHNvdXJjZUlk
UHJvcGVydHlOYW1lKSwganNOdW1iZXIoKGRvdWJsZSlzb3VyY2VJRCksIFJlYWRPbmx5IHwgRG9u
dERlbGV0ZSk7CiAgICAgaWYgKCFzb3VyY2VVUkwuaXNOdWxsKCkpCiAgICAgICAgIGVycm9yLT5w
dXRXaXRoQXR0cmlidXRlcyhnbG9iYWxEYXRhLCBJZGVudGlmaWVyKGdsb2JhbERhdGEsIHNvdXJj
ZVVSTFByb3BlcnR5TmFtZSksIGpzU3RyaW5nKGdsb2JhbERhdGEsIHNvdXJjZVVSTCksIFJlYWRP
bmx5IHwgRG9udERlbGV0ZSk7CisgICAgaWYgKCFzdGFja1RyYWNlLmlzRW1wdHkoKSkgeworICAg
ICAgICBKU0FycmF5KiBzdGFja1RyYWNlQXJyYXkgPSBKU0FycmF5OjpjcmVhdGUoKmdsb2JhbERh
dGEsIGdsb2JhbERhdGEtPmR5bmFtaWNHbG9iYWxPYmplY3QtPmFycmF5U3RydWN0dXJlKCkpOwor
ICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc3RhY2tUcmFjZS5zaXplKCk7IGkrKykg
eyAKKyAgICAgICAgICAgIEpTU3RyaW5nKiBzdHJpbmcgPSBqc1N0cmluZyhnbG9iYWxEYXRhLCBz
dGFja1RyYWNlW2ldLnN0YWNrTGV2ZWxTdHJpbmcpOyAKKyAgICAgICAgICAgIHN0YWNrVHJhY2VB
cnJheS0+cHVzaChnbG9iYWxEYXRhLT50b3BDYWxsRnJhbWUsIHN0cmluZyk7IAorICAgICAgICB9
CisgICAgICAgIGVycm9yLT5wdXRXaXRoQXR0cmlidXRlcyhnbG9iYWxEYXRhLCBnbG9iYWxEYXRh
LT5wcm9wZXJ0eU5hbWVzLT5zdGFjaywgc3RhY2tUcmFjZUFycmF5LCBSZWFkT25seSB8IERvbnRE
ZWxldGUpOworICAgIH0KIAogICAgIHJldHVybiBlcnJvcjsKIH0KIAotSlNPYmplY3QqIGFkZEVy
cm9ySW5mbyhFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBlcnJvciwgaW50IGxpbmUsIGNvbnN0
IFNvdXJjZUNvZGUmIHNvdXJjZSkKK0pTT2JqZWN0KiBhZGRFcnJvckluZm8oRXhlY1N0YXRlKiBl
eGVjLCBKU09iamVjdCogZXJyb3IsIGludCBsaW5lLCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2Us
IGNvbnN0IFZlY3RvcjxTdGFja1RyYWNlTGV2ZWw+JiBzdGFja1RyYWNlKQogewotICAgIHJldHVy
biBhZGRFcnJvckluZm8oJmV4ZWMtPmdsb2JhbERhdGEoKSwgZXJyb3IsIGxpbmUsIHNvdXJjZSk7
CisgICAgcmV0dXJuIGFkZEVycm9ySW5mbygmZXhlYy0+Z2xvYmFsRGF0YSgpLCBlcnJvciwgbGlu
ZSwgc291cmNlLCBzdGFja1RyYWNlKTsKIH0KIAogYm9vbCBoYXNFcnJvckluZm8oRXhlY1N0YXRl
KiBleGVjLCBKU09iamVjdCogZXJyb3IpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9FcnJvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Vycm9yLmgJKHJldmlzaW9uIDkzODU2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRXJyb3IuaAkod29ya2luZyBjb3B5KQpAQCAtMjMsNiArMjMsNyBAQAogI2lmbmRlZiBFcnJv
cl9oCiAjZGVmaW5lIEVycm9yX2gKIAorI2luY2x1ZGUgIkludGVycHJldGVyLmgiCiAjaW5jbHVk
ZSAiSlNPYmplY3QuaCIKICNpbmNsdWRlIDxzdGRpbnQuaD4KIApAQCAtNTUsOSArNTYsOSBAQCBu
YW1lc3BhY2UgSlNDIHsKIAogICAgIC8vIE1ldGhvZHMgdG8gYWRkIAogICAgIGJvb2wgaGFzRXJy
b3JJbmZvKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiBlcnJvcik7Ci0gICAgSlNPYmplY3QqIGFkZEVy
cm9ySW5mbyhKU0dsb2JhbERhdGEqLCBKU09iamVjdCogZXJyb3IsIGludCBsaW5lLCBjb25zdCBT
b3VyY2VDb2RlJik7CisgICAgSlNPYmplY3QqIGFkZEVycm9ySW5mbyhKU0dsb2JhbERhdGEqLCBK
U09iamVjdCogZXJyb3IsIGludCBsaW5lLCBjb25zdCBTb3VyY2VDb2RlJiwgY29uc3QgVmVjdG9y
PFN0YWNrVHJhY2VMZXZlbD4mKTsKICAgICAvLyBFeGVjU3RhdGUgd3JhcHBlcnMuCi0gICAgSlNP
YmplY3QqIGFkZEVycm9ySW5mbyhFeGVjU3RhdGUqLCBKU09iamVjdCogZXJyb3IsIGludCBsaW5l
LCBjb25zdCBTb3VyY2VDb2RlJik7CisgICAgSlNPYmplY3QqIGFkZEVycm9ySW5mbyhFeGVjU3Rh
dGUqLCBKU09iamVjdCogZXJyb3IsIGludCBsaW5lLCBjb25zdCBTb3VyY2VDb2RlJiwgY29uc3Qg
VmVjdG9yPFN0YWNrVHJhY2VMZXZlbD4mKTsKIAogICAgIC8vIE1ldGhvZHMgdG8gdGhyb3cgRXJy
b3JzLgogICAgIEpTVmFsdWUgdGhyb3dFcnJvcihFeGVjU3RhdGUqLCBKU1ZhbHVlKTsKSW5kZXg6
IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDkzOTIxKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTEtMDgtMjYgIEp1YW4gQy4gTW9udGVtYXlvciAgPGpt
b250QGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgRXJyb3Iuc3RhY2sKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2OTk0CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVW5pdCB0ZXN0cyB0aGF0IGNv
bnRhaW4gYm90aCBub3JtYWwgYW5kIHNwZWNpYWwgY2FzZXMgZm9yIHN0YWNrIHRyYWNlCisgICAg
ICAgIGdlbmVyYXRpb24uCisKKyAgICAgICAgKiBmYXN0L2pzL2V4Y2VwdGlvbi1wcm9wZXJ0aWVz
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2pzL3NjcmlwdC10ZXN0cy9leGNlcHRpb24t
cHJvcGVydGllcy5qczoKKyAgICAgICAgKiBmYXN0L2pzL3NjcmlwdC10ZXN0cy9zdGFjay10cmFj
ZS5qczogQWRkZWQuCisgICAgICAgIChwcmludFN0YWNrKToKKyAgICAgICAgKGhvc3RUaHJvd2Vy
KToKKyAgICAgICAgKGNhbGxiYWNrZXIpOgorICAgICAgICAob3V0ZXIpOgorICAgICAgICAoaW5u
ZXIpOgorICAgICAgICAoZXZhbGVyKToKKyAgICAgICAgKG5vcm1hbE91dGVyKToKKyAgICAgICAg
KG5vcm1hbElubmVyKToKKyAgICAgICAgKHNjcmlwdGVySW5uZXIpOgorICAgICAgICAoc2NyaXB0
ZXJPdXRlcik6CisgICAgICAgICogZmFzdC9qcy9zdGFjay10cmFjZS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvanMvc3RhY2stdHJhY2UuaHRtbDogQWRkZWQuCisgICAgICAg
ICogcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0OgorCiAyMDExLTA4LTI2
ICBPamFuIFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgY2hhbmdlIHRoZSBk
ZWZhdWx0IHByZWZlcnJlZCB3aWR0aCBvZiB0aGUgZmxleCgpIGZ1bmN0aW9uIHRvIDBweCBwZXIg
dGhlIG5ldyBzcGVjCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL2V4Y2VwdGlvbi1wcm9wZXJ0
aWVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2pzL2V4Y2Vw
dGlvbi1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gOTM4NTYpCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2pzL2V4Y2VwdGlvbi1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtNCw3ICs0LDcgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQQogCiAKIFBBU1MgZW51bWVyYWJsZVByb3BlcnRpZXMoZXJyb3IpIGlzIFtdCi1QQVNTIGVu
dW1lcmFibGVQcm9wZXJ0aWVzKG5hdGl2ZUVycm9yKSBpcyBbImxpbmUiLCAic291cmNlSWQiLCAi
c291cmNlVVJMIl0KK1BBU1MgZW51bWVyYWJsZVByb3BlcnRpZXMobmF0aXZlRXJyb3IpIGlzIFsi
bGluZSIsICJzb3VyY2VJZCIsICJzb3VyY2VVUkwiLCAic3RhY2siXQogUEFTUyBPYmplY3QuZ2V0
UHJvdG90eXBlT2YobmF0aXZlRXJyb3IpLm5hbWUgaXMgIlJhbmdlRXJyb3IiCiBQQVNTIE9iamVj
dC5nZXRQcm90b3R5cGVPZihuYXRpdmVFcnJvcikubWVzc2FnZSBpcyAiIgogUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy9zdGFjay10cmFj
ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9zdGFjay10
cmFjZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL3N0
YWNrLXRyYWNlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0OCBAQAorVGhp
cyB0ZXN0IGNoZWNrcyBzdGFjayB0cmFjZSBjb3JlY3RuZXNzIGluIHNwZWNpYWwgY2FzZXMuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCistLT4gU3RhY2sgVHJhY2U6CisgICAgMCAg
IG5vcm1hbElubmVyIGF0IGZpbGU6Ly8vVm9sdW1lcy9Vc2VyL0p1YW5DYXJsb3MvY29kZS9PcGVu
U291cmNlL0xheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL3N0YWNrLXRyYWNlLmpzOjIx
CisgICAgMSAgIG5vcm1hbE91dGVyIGF0IGZpbGU6Ly8vVm9sdW1lcy9Vc2VyL0p1YW5DYXJsb3Mv
Y29kZS9PcGVuU291cmNlL0xheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL3N0YWNrLXRy
YWNlLmpzOjIwCisgICAgMiAgIGF0IGZpbGU6Ly8vVm9sdW1lcy9Vc2VyL0p1YW5DYXJsb3MvY29k
ZS9PcGVuU291cmNlL0xheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL3N0YWNrLXRyYWNl
LmpzOjI2CisKKy0tPiBTdGFjayBUcmFjZToKKyAgICAwICAgaW5uZXIgYXQgZmlsZTovLy9Wb2x1
bWVzL1VzZXIvSnVhbkNhcmxvcy9jb2RlL09wZW5Tb3VyY2UvTGF5b3V0VGVzdHMvZmFzdC9qcy9z
Y3JpcHQtdGVzdHMvc3RhY2stdHJhY2UuanM6MTgKKyAgICAxICAgZXZhbAorICAgIDIgICBldmFs
ZXIgYXQgZmlsZTovLy9Wb2x1bWVzL1VzZXIvSnVhbkNhcmxvcy9jb2RlL09wZW5Tb3VyY2UvTGF5
b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvc3RhY2stdHJhY2UuanMKKyAgICAzICAgYXQg
ZmlsZTovLy9Wb2x1bWVzL1VzZXIvSnVhbkNhcmxvcy9jb2RlL09wZW5Tb3VyY2UvTGF5b3V0VGVz
dHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvc3RhY2stdHJhY2UuanM6MjkKKworLS0+IFN0YWNrIFRy
YWNlOgorICAgIDAgICBpbm5lciBhdCBmaWxlOi8vL1ZvbHVtZXMvVXNlci9KdWFuQ2FybG9zL2Nv
ZGUvT3BlblNvdXJjZS9MYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9zdGFjay10cmFj
ZS5qczoxOAorICAgIDEgICBvdXRlciBhdCBmaWxlOi8vL1ZvbHVtZXMvVXNlci9KdWFuQ2FybG9z
L2NvZGUvT3BlblNvdXJjZS9MYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9zdGFjay10
cmFjZS5qczoxNworICAgIDIgICBldmFsCisgICAgMyAgIGV2YWxlciBhdCBmaWxlOi8vL1ZvbHVt
ZXMvVXNlci9KdWFuQ2FybG9zL2NvZGUvT3BlblNvdXJjZS9MYXlvdXRUZXN0cy9mYXN0L2pzL3Nj
cmlwdC10ZXN0cy9zdGFjay10cmFjZS5qcworICAgIDQgICBhdCBmaWxlOi8vL1ZvbHVtZXMvVXNl
ci9KdWFuQ2FybG9zL2NvZGUvT3BlblNvdXJjZS9MYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10
ZXN0cy9zdGFjay10cmFjZS5qczozMAorCistLT4gU3RhY2sgVHJhY2U6CisgICAgMCAgIGlubmVy
IGF0IGZpbGU6Ly8vVm9sdW1lcy9Vc2VyL0p1YW5DYXJsb3MvY29kZS9PcGVuU291cmNlL0xheW91
dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL3N0YWNrLXRyYWNlLmpzOjE4CisgICAgMSAgIGF0
IGZpbGU6Ly8vVm9sdW1lcy9Vc2VyL0p1YW5DYXJsb3MvY29kZS9PcGVuU291cmNlL0xheW91dFRl
c3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL3N0YWNrLXRyYWNlLmpzOjMzCisKKy0tPiBTdGFjayBU
cmFjZToKKyAgICAwICAgaW5uZXIgYXQgZmlsZTovLy9Wb2x1bWVzL1VzZXIvSnVhbkNhcmxvcy9j
b2RlL09wZW5Tb3VyY2UvTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvc3RhY2stdHJh
Y2UuanM6MTgKKyAgICAxICAgb3V0ZXIgYXQgZmlsZTovLy9Wb2x1bWVzL1VzZXIvSnVhbkNhcmxv
cy9jb2RlL09wZW5Tb3VyY2UvTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvc3RhY2st
dHJhY2UuanM6MTcKKyAgICAyICAgYXQgZmlsZTovLy9Wb2x1bWVzL1VzZXIvSnVhbkNhcmxvcy9j
b2RlL09wZW5Tb3VyY2UvTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvc3RhY2stdHJh
Y2UuanM6MzQKKworLS0+IFN0YWNrIFRyYWNlOgorICAgIDAgICBob3N0VGhyb3dlciBhdCBmaWxl
Oi8vL1ZvbHVtZXMvVXNlci9KdWFuQ2FybG9zL2NvZGUvT3BlblNvdXJjZS9MYXlvdXRUZXN0cy9m
YXN0L2pzL3NjcmlwdC10ZXN0cy9zdGFjay10cmFjZS5qczoxNQorICAgIDEgICBhdCBmaWxlOi8v
L1ZvbHVtZXMvVXNlci9KdWFuQ2FybG9zL2NvZGUvT3BlblNvdXJjZS9MYXlvdXRUZXN0cy9mYXN0
L2pzL3NjcmlwdC10ZXN0cy9zdGFjay10cmFjZS5qczozNworCistLT4gU3RhY2sgVHJhY2U6Cisg
ICAgMCAgIGh0bWxJbm5lciBhdCBmaWxlOi8vL1ZvbHVtZXMvVXNlci9KdWFuQ2FybG9zL2NvZGUv
T3BlblNvdXJjZS9MYXlvdXRUZXN0cy9mYXN0L2pzL3N0YWNrLXRyYWNlLmh0bWw6MTAKKyAgICAx
ICAgc2NyaXB0ZXJJbm5lciBhdCBmaWxlOi8vL1ZvbHVtZXMvVXNlci9KdWFuQ2FybG9zL2NvZGUv
T3BlblNvdXJjZS9MYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9zdGFjay10cmFjZS5q
czoyMgorICAgIDIgICBhdCBmaWxlOi8vL1ZvbHVtZXMvVXNlci9KdWFuQ2FybG9zL2NvZGUvT3Bl
blNvdXJjZS9MYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9zdGFjay10cmFjZS5qczoz
OQorCistLT4gU3RhY2sgVHJhY2U6CisgICAgMCAgIGh0bWxJbm5lciBhdCBmaWxlOi8vL1ZvbHVt
ZXMvVXNlci9KdWFuQ2FybG9zL2NvZGUvT3BlblNvdXJjZS9MYXlvdXRUZXN0cy9mYXN0L2pzL3N0
YWNrLXRyYWNlLmh0bWw6MTAKKyAgICAxICAgaHRtbE91dGVyIGF0IGZpbGU6Ly8vVm9sdW1lcy9V
c2VyL0p1YW5DYXJsb3MvY29kZS9PcGVuU291cmNlL0xheW91dFRlc3RzL2Zhc3QvanMvc3RhY2st
dHJhY2UuaHRtbDoxMQorICAgIDIgICBzY3JpcHRlck91dGVyIGF0IGZpbGU6Ly8vVm9sdW1lcy9V
c2VyL0p1YW5DYXJsb3MvY29kZS9PcGVuU291cmNlL0xheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0
LXRlc3RzL3N0YWNrLXRyYWNlLmpzOjIzCisgICAgMyAgIGF0IGZpbGU6Ly8vVm9sdW1lcy9Vc2Vy
L0p1YW5DYXJsb3MvY29kZS9PcGVuU291cmNlL0xheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRl
c3RzL3N0YWNrLXRyYWNlLmpzOjQwCisKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy9zdGFj
ay10cmFjZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMvc3RhY2stdHJh
Y2UuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvanMvc3RhY2stdHJhY2Uu
aHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKwk8bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+CisJPHNjcmlwdCBz
cmM9InJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
Kwk8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKwk8cCBpZD0iY29uc29sZSI+PC9wPgorCTxzY3Jp
cHQ+ZnVuY3Rpb24gaHRtbElubmVyKCkgeyB0aHJvdyBuZXcgRXJyb3IoIkVycm9yIGluIEhUTUwi
KTsgfTwvc2NyaXB0PgorCTxzY3JpcHQ+ZnVuY3Rpb24gaHRtbE91dGVyKCkgeyBodG1sSW5uZXIo
KTsgfTwvc2NyaXB0PgorCTxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvc3RhY2stdHJhY2UuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy9z
Y3JpcHQtdGVzdHMvZXhjZXB0aW9uLXByb3BlcnRpZXMuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvZXhjZXB0aW9uLXByb3BlcnRpZXMuanMJKHJldmlz
aW9uIDkzODU2KQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvZXhjZXB0aW9u
LXByb3BlcnRpZXMuanMJKHdvcmtpbmcgY29weSkKQEAgLTE2LDcgKzE2LDcgQEAgdHJ5IHsKICAg
ICB2YXIgZXJyb3IgPSBuZXcgRXJyb3IoIm1lc3NhZ2UiKTsKIAogICAgIHNob3VsZEJlKCdlbnVt
ZXJhYmxlUHJvcGVydGllcyhlcnJvciknLCAnW10nKTsKLSAgICBzaG91bGRCZSgnZW51bWVyYWJs
ZVByb3BlcnRpZXMobmF0aXZlRXJyb3IpJywgJ1sibGluZSIsICJzb3VyY2VJZCIsICJzb3VyY2VV
UkwiXScpOworICAgIHNob3VsZEJlKCdlbnVtZXJhYmxlUHJvcGVydGllcyhuYXRpdmVFcnJvcikn
LCAnWyJsaW5lIiwgInNvdXJjZUlkIiwgInNvdXJjZVVSTCIsICJzdGFjayJdJyk7CiAKICAgICBz
aG91bGRCZSgnT2JqZWN0LmdldFByb3RvdHlwZU9mKG5hdGl2ZUVycm9yKS5uYW1lJywgJyJSYW5n
ZUVycm9yIicpOwogICAgIHNob3VsZEJlKCdPYmplY3QuZ2V0UHJvdG90eXBlT2YobmF0aXZlRXJy
b3IpLm1lc3NhZ2UnLCAnIiInKTsKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRl
c3RzL3N0YWNrLXRyYWNlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMvc2Ny
aXB0LXRlc3RzL3N0YWNrLXRyYWNlLmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFz
dC9qcy9zY3JpcHQtdGVzdHMvc3RhY2stdHJhY2UuanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
NDIgQEAKK2Rlc2NyaXB0aW9uKAorJ1RoaXMgdGVzdCBjaGVja3Mgc3RhY2sgdHJhY2UgY29yZWN0
bmVzcyBpbiBzcGVjaWFsIGNhc2VzLicKKyk7CisKK2Z1bmN0aW9uIHByaW50U3RhY2soc3RhY2tU
cmFjZSkgeworCWRlYnVnKCItLT4gU3RhY2sgVHJhY2U6IikKKwl2YXIgaSA9IDA7CisJZm9yICh2
YXIgbGV2ZWwgaW4gc3RhY2tUcmFjZSkgeworCQlkZWJ1ZygiICAgICIgKyBpICsgIiAgICIgKyBz
dGFja1RyYWNlW2xldmVsXSk7CisJaSsrOworCX0KKwlkZWJ1ZygnJyk7Cit9CisKK2Z1bmN0aW9u
IGhvc3RUaHJvd2VyKCkgeyBFbGVtZW50LnByb3RvdHlwZS5hcHBlbmRDaGlsZC5jYWxsKHsgfSwg
W3sgfV0pOyAgfQorZnVuY3Rpb24gY2FsbGJhY2tlcihmKSB7IFswXS5tYXAoZik7IH0KK2Z1bmN0
aW9uIG91dGVyKGVycm9yTmFtZSkgeyBpbm5lcihlcnJvck5hbWUpOyB9CitmdW5jdGlvbiBpbm5l
cihlcnJvck5hbWUpIHsgdGhyb3cgbmV3IEVycm9yKCJFcnJvciBpbiAiICsgZXJyb3JOYW1lKTsg
fQorZnVuY3Rpb24gZXZhbGVyKGNvZGUpIHsgZXZhbChjb2RlKTsgfQorZnVuY3Rpb24gbm9ybWFs
T3V0ZXIoKSB7IG5vcm1hbElubmVyKCk7IH0KK2Z1bmN0aW9uIG5vcm1hbElubmVyKCkgeyBpZih0
aGlzVmFyRG9lc250RXhpc3QpIGZhaWxJZlRydWUoInNob3VsZEZhaWxCZWZvcmVUaGlzIikgfTsK
K2Z1bmN0aW9uIHNjcmlwdGVySW5uZXIoKSB7IGh0bWxJbm5lcigpOyB9CitmdW5jdGlvbiBzY3Jp
cHRlck91dGVyKCkgeyBodG1sT3V0ZXIoKTsgfQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBFeHBlY3RlZCBm
dW5jdGlvbnMgaW4gc3RhY2sgdHJhY2UKKy8vIE5vcm1hbCBDYXNlCit0cnkgeyBub3JtYWxPdXRl
cigpIH0gY2F0Y2ggKGUpIHsgcHJpbnRTdGFjayhlLnN0YWNrKSB9ICAgICAgICAgICAgICAgICAg
ICAgLy8gbm9ybWFsT3V0ZXIgLT4gbm9ybWFsSW5uZXIKKworLy8gRXZhbCBDYXNlCit0cnkgeyBl
dmFsZXIoImlubmVyKCdpbm5lciBldmFsJyk7Iik7IH0gY2F0Y2ggKGUpIHsgcHJpbnRTdGFjayhl
LnN0YWNrKSB9ICAgLy8gZXZhbGVyIC0+IGV2YWwgLT4gaW5uZXIKK3RyeSB7IGV2YWxlcigib3V0
ZXIoJ291dGVyIGV2YWwnKTsiKTsgfSBjYXRjaCAoZSkgeyBwcmludFN0YWNrKGUuc3RhY2spIH0g
ICAvLyBldmFsZXIgLT4gZXZhbCAtPiBvdXRlciAtPiBpbm5lcgorCisvLyBGdW5jdGlvbiBDYWxs
YmFjayBDYXNlCit0cnkgeyBjYWxsYmFja2VyKGlubmVyKCdpbm5lciBtYXAnKSk7IH0gY2F0Y2gg
KGUpIHsgcHJpbnRTdGFjayhlLnN0YWNrKTsgfSAgIC8vIGNhbGxiYWNrZXIgLT4gbWFwIC0+IGlu
bmVyCit0cnkgeyBjYWxsYmFja2VyKG91dGVyKCdvdXRlciBtYXAnKSk7IH0gY2F0Y2ggKGUpIHsg
cHJpbnRTdGFjayhlLnN0YWNrKTsgfSAgIC8vIGNhbGxiYWNrZXIgLT4gbWFwIC0+IG91dGVyIC0+
IGlubmVyCisKKy8vIEhvc3QgQ29kZSBDYXNlCit0cnkgeyBob3N0VGhyb3dlcigpOyB9IGNhdGNo
IChlKSB7IHByaW50U3RhY2soZS5zdGFjayk7IH0gICAgICAgICAgICAgICAgICAgIC8vIGhvc3RU
aHJvd2VyCisKK3RyeSB7IHNjcmlwdGVySW5uZXIoKTsgfSBjYXRjaCAoZSkgeyBwcmludFN0YWNr
KGUuc3RhY2spIH0gICAgICAgICAgICAgICAgICAgLy8gc2NyaXB0ZXIgLT4gcHJvZ3JhbSAtPiBp
bm5lcgordHJ5IHsgc2NyaXB0ZXJPdXRlcigpOyB9IGNhdGNoIChlKSB7IHByaW50U3RhY2soZS5z
dGFjaykgfSAgICAgICAgICAgICAgICAgICAvLyBzY3JpcHRlciAtPiBwcm9ncmFtIC0+IG91dGVy
IC0+IGlubmVyCisKK3N1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CShyZXZp
c2lvbiA5Mzg1NikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0
YXRpb25zLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNDYwLDYgKzQ2MCwxMCBAQCBXT05URklYIFNL
SVAgOiBmYXN0L2ZyYW1lcy9jcm9zcy1zaXRlLXRoCiAvLyB0aHJvdy4gIFY4IGZvbGxvd3MgdGhl
IHNwZWMuCiBXT05URklYIFNLSVAgOiBmYXN0L2pzL3JlcGFyc2luZy1zZW1pY29sb24taW5zZXJ0
aW9uLmh0bWwgPSBGQUlMCiAKKy8vIFRoaXMgdGVzdHMgc3RhY2stdHJhY2VzIHRoYXQgYXJlIGdl
bmVyYXRlZCBieSBKU0MuIFRoaXMgdGVzdCBzaG91bGQKKy8vIGZhaWwgc2luY2UgaXQgaXMgc3Bl
Y2lmaWMgdG8ganNjLgorV09OVEZJWCBTS0lQIDogZmFzdC9qcy9zdGFjay10cmFjZS5odG1sID0g
RkFJTAorCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQogLy8gTElHSFRUUEQKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCg==
</data>
<flag name="review"
          id="101553"
          type_id="1"
          status="-"
          setter="j.mont"
    />
    <flag name="commit-queue"
          id="101554"
          type_id="3"
          status="-"
          setter="j.mont"
    />
          </attachment>
      

    </bug>

</bugzilla>