<?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>124902</bug_id>
          
          <creation_ts>2013-11-26 14:57:35 -0800</creation_ts>
          <short_desc>Adding MediaConstraintsMock class</short_desc>
          <delta_ts>2022-03-01 02:55:57 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</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="Thiago de Barros Lacerda">thiago.lacerda</reporter>
          <assigned_to name="Thiago de Barros Lacerda">thiago.lacerda</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>pnormand</cc>
    
    <cc>rakuco</cc>
    
    <cc>tommyw</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>954354</commentid>
    <comment_count>0</comment_count>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-11-26 14:57:35 -0800</bug_when>
    <thetext>Missing block to run RTCPeerConnection LayoutTests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954357</commentid>
    <comment_count>1</comment_count>
      <attachid>217907</attachid>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-11-26 15:01:37 -0800</bug_when>
    <thetext>Created attachment 217907
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954359</commentid>
    <comment_count>2</comment_count>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-11-26 15:02:45 -0800</bug_when>
    <thetext>*** Bug 123093 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954399</commentid>
    <comment_count>3</comment_count>
      <attachid>217907</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2013-11-26 17:51:24 -0800</bug_when>
    <thetext>Comment on attachment 217907
Patch

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

&gt; Source/WebCore/platform/mock/MediaConstraintsMock.cpp:52
&gt; +bool isSupported(const String&amp; constraint)
&gt; +{
&gt; +    return constraint == &quot;valid_and_supported_1&quot; || constraint == &quot;valid_and_supported_2&quot;;
&gt; +}
&gt; +
&gt; +bool isValid(const String&amp; constraint)
&gt; +{
&gt; +    return isSupported(constraint) || constraint == &quot;valid_but_unsupported_1&quot; || constraint == &quot;valid_but_unsupported_2&quot;;
&gt; +}
&gt; +
&gt; +bool MediaConstraintsMock::verifyConstraints(PassRefPtr&lt;MediaConstraints&gt; prpConstraints)

This duplicates functionality in MockMediaStreamCenter. I would rather you use MockMediaStreamCenter::validateRequestConstraints and its supporting functions, and have MockMediaStreamCenter use this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954407</commentid>
    <comment_count>4</comment_count>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-11-26 18:27:29 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 217907 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=217907&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/mock/MediaConstraintsMock.cpp:52
&gt; &gt; +bool isSupported(const String&amp; constraint)
&gt; &gt; +{
&gt; &gt; +    return constraint == &quot;valid_and_supported_1&quot; || constraint == &quot;valid_and_supported_2&quot;;
&gt; &gt; +}
&gt; &gt; +
&gt; &gt; +bool isValid(const String&amp; constraint)
&gt; &gt; +{
&gt; &gt; +    return isSupported(constraint) || constraint == &quot;valid_but_unsupported_1&quot; || constraint == &quot;valid_but_unsupported_2&quot;;
&gt; &gt; +}
&gt; &gt; +
&gt; &gt; +bool MediaConstraintsMock::verifyConstraints(PassRefPtr&lt;MediaConstraints&gt; prpConstraints)
&gt; 
&gt; This duplicates functionality in MockMediaStreamCenter. I would rather you use MockMediaStreamCenter::validateRequestConstraints and its supporting functions, and have MockMediaStreamCenter use this.

I agree, haven&apos;t seen that MockMediaStreamCenter was validating constraints too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954523</commentid>
    <comment_count>5</comment_count>
      <attachid>217945</attachid>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-11-27 06:06:01 -0800</bug_when>
    <thetext>Created attachment 217945
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954568</commentid>
    <comment_count>6</comment_count>
      <attachid>217945</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2013-11-27 10:13:38 -0800</bug_when>
    <thetext>Comment on attachment 217945
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        Missing block to run RTCPeerConnection LayoutTests

Not: do you mean missing *mock*?

&gt; Source/WebCore/platform/mock/MediaConstraintsMock.cpp:2
&gt; + * Copyright (C) 2012 Google Inc. All rights reserved.

Nit: I think you can replace &quot;Google&quot; with &quot;Apple&quot; here.

&gt; Source/WebCore/platform/mock/MediaConstraintsMock.h:2
&gt; + * Copyright (C) 2012 Google Inc. All rights reserved.

Ditto

&gt; Source/WebCore/platform/mock/RTCPeerConnectionHandlerMock.cpp:52
&gt; +    if (invalidQuery.isEmpty()) {

Nit: you could use an early return here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954588</commentid>
    <comment_count>7</comment_count>
      <attachid>217961</attachid>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-11-27 12:11:27 -0800</bug_when>
    <thetext>Created attachment 217961
Patch for landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954591</commentid>
    <comment_count>8</comment_count>
      <attachid>217962</attachid>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-11-27 12:15:22 -0800</bug_when>
    <thetext>Created attachment 217962
Patch for landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954601</commentid>
    <comment_count>9</comment_count>
      <attachid>217962</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-27 13:01:13 -0800</bug_when>
    <thetext>Comment on attachment 217962
Patch for landing.

Clearing flags on attachment: 217962

Committed r159823: &lt;http://trac.webkit.org/changeset/159823&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217907</attachid>
            <date>2013-11-26 15:01:37 -0800</date>
            <delta_ts>2013-11-27 06:05:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-124902-20131126200135.patch</filename>
            <type>text/plain</type>
            <size>15125</size>
            <attacher name="Thiago de Barros Lacerda">thiago.lacerda</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU5NzkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDg1MzgwMTNhMTNlZWJm
MzgyODM4MzY1MThhNjYyMWQ3MGZmNmUzZi4uYWEwMjI1MTA5NGY5NTZiMDc0ZjJjYmMyM2NmMGUy
ZTEwMzRjN2NkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTExLTI2ICBUaGlh
Z28gZGUgQmFycm9zIExhY2VyZGEgIDx0aGlhZ28ubGFjZXJkYUBvcGVuYm9zc2Eub3JnPgorCisg
ICAgICAgIEFkZGluZyBNZWRpYUNvbnN0cmFpbnRzTW9jayBjbGFzcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0OTAyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWlzc2luZyBibG9jayB0byBydW4gUlRD
UGVlckNvbm5lY3Rpb24gTGF5b3V0VGVzdHMKKworICAgICAgICBFeGlzdGluZyB0ZXN0IHVwZGF0
ZWQuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5s
aXN0LmFtOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svTWVkaWFDb25zdHJhaW50c01vY2suY3Bw
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29uc3RyYWludHNNb2NrOjp2ZXJpZnlD
b25zdHJhaW50cyk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9NZWRpYUNvbnN0cmFpbnRzTW9j
ay5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL1JUQ1BlZXJDb25uZWN0aW9uSGFu
ZGxlck1vY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDUGVlckNvbm5lY3Rpb25IYW5kbGVy
TW9jazo6aW5pdGlhbGl6ZSk6CisKIDIwMTMtMTEtMjYgIEJyaWFuIEouIEJ1cmcgIDxidXJnQGNz
Lndhc2hpbmd0b24uZWR1PgogCiAgICAgICAgIEltYWdlQnVmZmVyOjpjcmVhdGUgc2hvdWxkIHJl
dHVybiBhIHN0ZDo6dW5pcXVlX3B0ciBpbnN0ZWFkIG9mIE93blB0ci4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKaW5kZXggOTRlYmJiMzNmZWNiMzlmODc0NGFlYmVlODA1ODBiY2ExYTdkMzY0ZC4uZGYzNWY3
NGRiY2M5ZWZmZjE0MTc0OWQ5NWU5ZjBmMDFmMWRkYTI5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
QEAgLTIwMjYsNiArMjAyNiw3IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9t
b2NrL0RldmljZU1vdGlvbkNsaWVudE1vY2suY3BwCiAgICAgcGxhdGZvcm0vbW9jay9EZXZpY2VP
cmllbnRhdGlvbkNsaWVudE1vY2suY3BwCiAgICAgcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlvbkNs
aWVudE1vY2suY3BwCisgICAgcGxhdGZvcm0vbW9jay9NZWRpYUNvbnN0cmFpbnRzTW9jay5jcHAK
ICAgICBwbGF0Zm9ybS9tb2NrL01vY2tNZWRpYVN0cmVhbUNlbnRlci5jcHAKICAgICBwbGF0Zm9y
bS9tb2NrL1JUQ0RhdGFDaGFubmVsSGFuZGxlck1vY2suY3BwCiAgICAgcGxhdGZvcm0vbW9jay9S
VENOb3RpZmllcnNNb2NrLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggYTEw
OTY5MDI4NzBjNmM2NzFhNjU2OTYwYTU4OWViM2ZhYTllYThhZC4uYjg1MmE0YTZmN2M0Yjk4NTZm
MjVhYzgxNDc1MzlkN2RmMjY1ZDljYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBA
IC01NDQ1LDYgKzU0NDUsOCBAQCB3ZWJjb3JlX3BsYXRmb3JtX3NvdXJjZXMgKz0gXAogCVNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmggXAog
CVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmNwcCBc
CiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlvbkNsaWVudE1vY2suaCBc
CisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYUNvbnN0cmFpbnRzTW9jay5jcHAg
XAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFDb25zdHJhaW50c01vY2suaCBc
CiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFTdHJlYW1DZW50ZXIuY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYVN0cmVhbUNlbnRlci5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1JUQ0RhdGFDaGFubmVsSGFuZGxlck1v
Y2suY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFD
b25zdHJhaW50c01vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYUNv
bnN0cmFpbnRzTW9jay5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjk3YmZlYWQ1OTk3OGRkZTk5YzI2M2RjMDFi
ZWZkNWI2NzVjMDljMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svTWVkaWFDb25zdHJhaW50c01vY2suY3BwCkBAIC0wLDAgKzEsODEgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAxMyBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnko
LWllcykuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xl
IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisg
KiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2lu
Y2x1ZGUgIk1lZGlhQ29uc3RyYWludHNNb2NrLmgiCisKKyNpbmNsdWRlICJNZWRpYUNvbnN0cmFp
bnRzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworYm9vbCBpc1N1cHBvcnRlZChjb25zdCBT
dHJpbmcmIGNvbnN0cmFpbnQpCit7CisgICAgcmV0dXJuIGNvbnN0cmFpbnQgPT0gInZhbGlkX2Fu
ZF9zdXBwb3J0ZWRfMSIgfHwgY29uc3RyYWludCA9PSAidmFsaWRfYW5kX3N1cHBvcnRlZF8yIjsK
K30KKworYm9vbCBpc1ZhbGlkKGNvbnN0IFN0cmluZyYgY29uc3RyYWludCkKK3sKKyAgICByZXR1
cm4gaXNTdXBwb3J0ZWQoY29uc3RyYWludCkgfHwgY29uc3RyYWludCA9PSAidmFsaWRfYnV0X3Vu
c3VwcG9ydGVkXzEiIHx8IGNvbnN0cmFpbnQgPT0gInZhbGlkX2J1dF91bnN1cHBvcnRlZF8yIjsK
K30KKworYm9vbCBNZWRpYUNvbnN0cmFpbnRzTW9jazo6dmVyaWZ5Q29uc3RyYWludHMoUGFzc1Jl
ZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiBwcnBDb25zdHJhaW50cykKK3sKKyAgICBSZWZQdHI8TWVk
aWFDb25zdHJhaW50cz4gY29uc3RyYWludHMgPSBwcnBDb25zdHJhaW50czsKKworICAgIFZlY3Rv
cjxNZWRpYUNvbnN0cmFpbnQ+IG1hbmRhdG9yeUNvbnN0cmFpbnRzOworICAgIGNvbnN0cmFpbnRz
LT5nZXRNYW5kYXRvcnlDb25zdHJhaW50cyhtYW5kYXRvcnlDb25zdHJhaW50cyk7CisgICAgaWYg
KG1hbmRhdG9yeUNvbnN0cmFpbnRzLnNpemUoKSkgeworICAgICAgICBmb3IgKHNpemVfdCBpID0g
MDsgaSA8IG1hbmRhdG9yeUNvbnN0cmFpbnRzLnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICBj
b25zdCBNZWRpYUNvbnN0cmFpbnQmIGN1cnIgPSBtYW5kYXRvcnlDb25zdHJhaW50c1tpXTsKKyAg
ICAgICAgICAgIGlmICghaXNTdXBwb3J0ZWQoY3Vyci5tX25hbWUpIHx8IGN1cnIubV92YWx1ZSAh
PSAiMSIpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAgfQor
CisgICAgVmVjdG9yPE1lZGlhQ29uc3RyYWludD4gb3B0aW9uYWxDb25zdHJhaW50czsKKyAgICBj
b25zdHJhaW50cy0+Z2V0T3B0aW9uYWxDb25zdHJhaW50cyhvcHRpb25hbENvbnN0cmFpbnRzKTsK
KyAgICBpZiAob3B0aW9uYWxDb25zdHJhaW50cy5zaXplKCkpIHsKKyAgICAgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBvcHRpb25hbENvbnN0cmFpbnRzLnNpemUoKTsgKytpKSB7CisgICAgICAg
ICAgICBjb25zdCBNZWRpYUNvbnN0cmFpbnQmIGN1cnIgPSBvcHRpb25hbENvbnN0cmFpbnRzW2ld
OworICAgICAgICAgICAgaWYgKCFpc1ZhbGlkKGN1cnIubV9uYW1lKSB8fCBjdXJyLm1fdmFsdWUg
IT0gIjAiKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgIH0K
KworICAgIHJldHVybiB0cnVlOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbW9jay9NZWRpYUNvbnN0cmFpbnRzTW9jay5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9NZWRpYUNvbnN0cmFpbnRzTW9jay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBkNmYzZTQ3OTFlZjk2
ZDcyMGRlZjU5ZDM5NjhlYjc1MjE2NWVkZDUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL01lZGlhQ29uc3RyYWludHNNb2NrLmgKQEAgLTAsMCArMSw1MiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMg
c3Vic2lkaWFyeSgtaWVzKS4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWZuZGVmIE1lZGlhQ29uc3RyYWludHNNb2NrX2gKKyNkZWZpbmUgTWVk
aWFDb25zdHJhaW50c01vY2tfaAorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2luY2x1
ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTWVk
aWFDb25zdHJhaW50czsKKworY2xhc3MgTWVkaWFDb25zdHJhaW50c01vY2sgeworcHVibGljOgor
ICAgIHN0YXRpYyBib29sIHZlcmlmeUNvbnN0cmFpbnRzKFBhc3NSZWZQdHI8TWVkaWFDb25zdHJh
aW50cz4pOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gTW9ja01l
ZGlhQ29uc3RyYWludHNfaAorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svUlRDUGVlckNvbm5lY3Rpb25IYW5k
bGVyTW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1JUQ1BlZXJDb25uZWN0
aW9uSGFuZGxlck1vY2suY3BwCmluZGV4IDU4OTFjNTBlM2RmOGUxZDMyYzZlZjY3YzI0MWEwNDg5
MDFmMDM5YmIuLjM2NDhkMDgyNmMxZDMzZTNjMWI4YTQ5Yzg0ZmFmZGU3MjJhMWI0MWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svUlRDUGVlckNvbm5lY3Rpb25IYW5k
bGVyTW9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9SVENQZWVyQ29u
bmVjdGlvbkhhbmRsZXJNb2NrLmNwcApAQCAtMjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAiUlRD
UGVlckNvbm5lY3Rpb25IYW5kbGVyTW9jay5oIgogCisjaW5jbHVkZSAiTWVkaWFDb25zdHJhaW50
c01vY2suaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlJUQ0RUTUZT
ZW5kZXJIYW5kbGVyLmgiCiAjaW5jbHVkZSAiUlRDRGF0YUNoYW5uZWxIYW5kbGVyLmgiCkBAIC00
NSwxNCArNDYsMTUgQEAgUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyTW9jazo6UlRDUGVlckNvbm5l
Y3Rpb25IYW5kbGVyTW9jayhSVENQZWVyQ29ubmVjdGlvbkhhbmQKIHsKIH0KIAotYm9vbCBSVENQ
ZWVyQ29ubmVjdGlvbkhhbmRsZXJNb2NrOjppbml0aWFsaXplKFBhc3NSZWZQdHI8UlRDQ29uZmln
dXJhdGlvbj4sIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4pCitib29sIFJUQ1BlZXJDb25u
ZWN0aW9uSGFuZGxlck1vY2s6OmluaXRpYWxpemUoUGFzc1JlZlB0cjxSVENDb25maWd1cmF0aW9u
PiwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiBjb25zdHJhaW50cykKIHsKLSAgICAvLyBG
SVhNRTogb25jZSB0aGVyZSBpcyBzdXBwb3J0IGluIFJUQ1BlZXJDb25uZWN0aW9uICsgY29uc3Ry
YWludHMsIHRoaXMgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCBoZXJlCi0gICAgLy8gYW5k
IGEgTGF5b3VUZXN0IGZvciB0aGF0IG11c3QgYmUgYWRkZWQuCi0gICAgLy8gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMzA5MwotICAgIFJlZlB0cjxJY2VDb25uZWN0
aW9uTm90aWZpZXI+IG5vdGlmaWVyID0gYWRvcHRSZWYobmV3IEljZUNvbm5lY3Rpb25Ob3RpZmll
cihtX2NsaWVudCwgUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50OjpJY2VDb25uZWN0aW9u
U3RhdGVDb21wbGV0ZWQsIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudDo6SWNlR2F0aGVy
aW5nU3RhdGVDb21wbGV0ZSkpOwotICAgIG1fdGltZXJFdmVudHMuYXBwZW5kKGFkb3B0UmVmKG5l
dyBUaW1lckV2ZW50KHRoaXMsIG5vdGlmaWVyKSkpOwotICAgIHJldHVybiB0cnVlOworICAgIGlm
IChNZWRpYUNvbnN0cmFpbnRzTW9jazo6dmVyaWZ5Q29uc3RyYWludHMoY29uc3RyYWludHMpKSB7
CisgICAgICAgIFJlZlB0cjxJY2VDb25uZWN0aW9uTm90aWZpZXI+IG5vdGlmaWVyID0gYWRvcHRS
ZWYobmV3IEljZUNvbm5lY3Rpb25Ob3RpZmllcihtX2NsaWVudCwgUlRDUGVlckNvbm5lY3Rpb25I
YW5kbGVyQ2xpZW50OjpJY2VDb25uZWN0aW9uU3RhdGVDb21wbGV0ZWQsIFJUQ1BlZXJDb25uZWN0
aW9uSGFuZGxlckNsaWVudDo6SWNlR2F0aGVyaW5nU3RhdGVDb21wbGV0ZSkpOworICAgICAgICBt
X3RpbWVyRXZlbnRzLmFwcGVuZChhZG9wdFJlZihuZXcgVGltZXJFdmVudCh0aGlzLCBub3RpZmll
cikpKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgcmV0dXJuIGZhbHNlOwog
fQogCiB2b2lkIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlck1vY2s6OmNyZWF0ZU9mZmVyKFBhc3NS
ZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdD4gcmVxdWVzdCwgUGFzc1JlZlB0cjxN
ZWRpYUNvbnN0cmFpbnRzPiBjb25zdHJhaW50cykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhZDhjMTNhNDQzMjJhOTlhODMy
NTJhMDVkMWUzMDExZDA4NmQ4M2E4Li5hYzUwZmI2ZjBjMjgzNzJlMjA5NjQ5OGZjNjQ2ZmUxNjVm
M2U0ODQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTMtMTEtMjYgIFRoaWFnbyBkZSBCYXJy
b3MgTGFjZXJkYSAgPHRoaWFnby5sYWNlcmRhQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgQWRk
aW5nIE1lZGlhQ29uc3RyYWludHNNb2NrIGNsYXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjQ5MDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBNaXNzaW5nIGJsb2NrIHRvIHJ1biBSVENQZWVyQ29ubmVj
dGlvbiBMYXlvdXRUZXN0cworCisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29u
bmVjdGlvbi1leHBlY3RlZC50eHQ6CisKIDIwMTMtMTEtMjYgIE9saXZlciBIdW50ICA8b2xpdmVy
QGFwcGxlLmNvbT4KIAogICAgICAgICBDcmFzaCBpbiBKU0M6OkFTVEJ1aWxkZXI6OkV4cHJlc3Np
b24gSlNDOjpQYXJzZXI8SlNDOjpMZXhlcjx1bnNpZ25lZCBjaGFyPiA+OjpwYXJzZVVuYXJ5RXhw
cmVzc2lvbjxKU0M6OkFTVEJ1aWxkZXI+KEpTQzo6QVNUQnVpbGRlciYpCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tZXhwZWN0
ZWQudHh0CmluZGV4IGYwMzAzZGI1MjhjODAzYzBlMmY5ZGJmZTIwYTRlYjZlOTllZjUzYTUuLjJh
YTJkODU2YjlhZjVmNGQzOWU2M2U3OTExODI0MTYzNGQ4MWVhZmMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tZXhwZWN0
ZWQudHh0CkBAIC00NSwxNiArNDUsMTYgQEAgUEFTUyBuZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rp
b24oe2ljZVNlcnZlcnM6W119LCB7bWFuZGF0b3J5Ont2YWxpZF9hbmRfc3VwcG9ydGUKIFBBU1Mg
bmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJzOltdfSwge29wdGlvbmFsOlt7
dmFsaWRfYW5kX3N1cHBvcnRlZF8xOjB9XX0pOyBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KIFBB
U1MgbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJzOltdfSwge29wdGlvbmFs
Olt7dmFsaWRfYW5kX3N1cHBvcnRlZF8xOjB9LHt2YWxpZF9hbmRfc3VwcG9ydGVkXzI6MH1dfSk7
IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgogUEFTUyBuZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rp
b24oe2ljZVNlcnZlcnM6W119LCB7b3B0aW9uYWw6W3t2YWxpZF9idXRfdW5zdXBwb3J0ZWRfMTow
fSx7dmFsaWRfYnV0X3Vuc3VwcG9ydGVkXzI6MH1dfSk7IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9u
LgotUEFTUyBuZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rpb24oe2ljZVNlcnZlcnM6W119LCB7bWFu
ZGF0b3J5Ont2YWxpZF9hbmRfc3VwcG9ydGVkXzE6NjZ9fSk7IHRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogTm90U3VwcG9ydGVkRXJyb3I6IERPTSBFeGNlcHRpb24gOS4KLVBBU1MgbmV3IHdlYmtpdFJU
Q1BlZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJzOltdfSwge21hbmRhdG9yeTp7aW52YWxpZDoxfX0p
OyB0aHJldyBleGNlcHRpb24gRXJyb3I6IE5vdFN1cHBvcnRlZEVycm9yOiBET00gRXhjZXB0aW9u
IDkuCi1QQVNTIG5ldyB3ZWJraXRSVENQZWVyQ29ubmVjdGlvbih7aWNlU2VydmVyczpbXX0sIHtt
YW5kYXRvcnk6e3ZhbGlkX2J1dF91bnN1cHBvcnRlZF8xOjF9fSk7IHRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogTm90U3VwcG9ydGVkRXJyb3I6IERPTSBFeGNlcHRpb24gOS4KLVBBU1MgbmV3IHdlYmtp
dFJUQ1BlZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJzOltdfSwge21hbmRhdG9yeTp7dmFsaWRfYnV0
X3Vuc3VwcG9ydGVkXzE6MSwgdmFsaWRfYW5kX3N1cHBvcnRlZF8xOjF9fSk7IHRocmV3IGV4Y2Vw
dGlvbiBFcnJvcjogTm90U3VwcG9ydGVkRXJyb3I6IERPTSBFeGNlcHRpb24gOS4KLVBBU1MgbmV3
IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJzOltdfSwge29wdGlvbmFsOnt2YWxp
ZF9hbmRfc3VwcG9ydGVkXzE6MH19KTsgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUeXBlTWlzbWF0
Y2hFcnJvcjogRE9NIEV4Y2VwdGlvbiAxNy4KLVBBU1MgbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0
aW9uKHtpY2VTZXJ2ZXJzOltdfSwge29wdGlvbmFsOlt7dmFsaWRfYW5kX3N1cHBvcnRlZF8xOjAs
dmFsaWRfYW5kX3N1cHBvcnRlZF8yOjB9XX0pOyB0aHJldyBleGNlcHRpb24gRXJyb3I6IFR5cGVN
aXNtYXRjaEVycm9yOiBET00gRXhjZXB0aW9uIDE3LgotUEFTUyBuZXcgd2Via2l0UlRDUGVlckNv
bm5lY3Rpb24oe2ljZVNlcnZlcnM6W119LCB7b3B0aW9uYWw6W3tpbnZhbGlkOjB9XX0pOyB0aHJl
dyBleGNlcHRpb24gRXJyb3I6IE5vdFN1cHBvcnRlZEVycm9yOiBET00gRXhjZXB0aW9uIDkuCi1Q
QVNTIG5ldyB3ZWJraXRSVENQZWVyQ29ubmVjdGlvbih7aWNlU2VydmVyczpbXX0sIHt2YWxpZF9h
bmRfc3VwcG9ydGVkXzE6MX0pOyB0aHJldyBleGNlcHRpb24gRXJyb3I6IFR5cGVNaXNtYXRjaEVy
cm9yOiBET00gRXhjZXB0aW9uIDE3LgotUEFTUyBuZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rpb24o
e2ljZVNlcnZlcnM6W119LCB7dmFsaWRfYnV0X3Vuc3VwcG9ydGVkXzE6MX0pOyB0aHJldyBleGNl
cHRpb24gRXJyb3I6IFR5cGVNaXNtYXRjaEVycm9yOiBET00gRXhjZXB0aW9uIDE3LgotUEFTUyBu
ZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rpb24oe2ljZVNlcnZlcnM6W119LCB7dmFsaWRfYW5kX3N1
cHBvcnRlZF8yOjEsIG1hbmRhdG9yeTp7dmFsaWRfYW5kX3N1cHBvcnRlZF8xOjF9fSk7IHRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogVHlwZU1pc21hdGNoRXJyb3I6IERPTSBFeGNlcHRpb24gMTcuCitQ
QVNTIG5ldyB3ZWJraXRSVENQZWVyQ29ubmVjdGlvbih7aWNlU2VydmVyczpbXX0sIHttYW5kYXRv
cnk6e3ZhbGlkX2FuZF9zdXBwb3J0ZWRfMTo2Nn19KTsgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogRXJyb3IgY3JlYXRpbmcgUlRDUGVlckNvbm5lY3Rpb24uCitQQVNTIG5ldyB3ZWJraXRSVENQ
ZWVyQ29ubmVjdGlvbih7aWNlU2VydmVyczpbXX0sIHttYW5kYXRvcnk6e2ludmFsaWQ6MX19KTsg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogRXJyb3IgY3JlYXRpbmcgUlRDUGVlckNvbm5lY3Rp
b24uCitQQVNTIG5ldyB3ZWJraXRSVENQZWVyQ29ubmVjdGlvbih7aWNlU2VydmVyczpbXX0sIHtt
YW5kYXRvcnk6e3ZhbGlkX2J1dF91bnN1cHBvcnRlZF8xOjF9fSk7IHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6IEVycm9yIGNyZWF0aW5nIFJUQ1BlZXJDb25uZWN0aW9uLgorUEFTUyBuZXcgd2Vi
a2l0UlRDUGVlckNvbm5lY3Rpb24oe2ljZVNlcnZlcnM6W119LCB7bWFuZGF0b3J5Ont2YWxpZF9i
dXRfdW5zdXBwb3J0ZWRfMToxLCB2YWxpZF9hbmRfc3VwcG9ydGVkXzE6MX19KTsgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogRXJyb3IgY3JlYXRpbmcgUlRDUGVlckNvbm5lY3Rpb24uCitQQVNT
IG5ldyB3ZWJraXRSVENQZWVyQ29ubmVjdGlvbih7aWNlU2VydmVyczpbXX0sIHtvcHRpb25hbDp7
dmFsaWRfYW5kX3N1cHBvcnRlZF8xOjB9fSk7IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IElu
dmFsaWQgUlRDUGVlckNvbm5lY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnRzLgorUEFTUyBuZXcg
d2Via2l0UlRDUGVlckNvbm5lY3Rpb24oe2ljZVNlcnZlcnM6W119LCB7b3B0aW9uYWw6W3t2YWxp
ZF9hbmRfc3VwcG9ydGVkXzE6MCx2YWxpZF9hbmRfc3VwcG9ydGVkXzI6MH1dfSk7IHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IEludmFsaWQgUlRDUGVlckNvbm5lY3Rpb24gY29uc3RydWN0b3Ig
YXJndW1lbnRzLgorUEFTUyBuZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rpb24oe2ljZVNlcnZlcnM6
W119LCB7b3B0aW9uYWw6W3tpbnZhbGlkOjB9XX0pOyB0aHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBFcnJvciBjcmVhdGluZyBSVENQZWVyQ29ubmVjdGlvbi4KK1BBU1MgbmV3IHdlYmtpdFJUQ1Bl
ZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJzOltdfSwge3ZhbGlkX2FuZF9zdXBwb3J0ZWRfMToxfSk7
IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEludmFsaWQgUlRDUGVlckNvbm5lY3Rpb24gY29u
c3RydWN0b3IgYXJndW1lbnRzLgorUEFTUyBuZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rpb24oe2lj
ZVNlcnZlcnM6W119LCB7dmFsaWRfYnV0X3Vuc3VwcG9ydGVkXzE6MX0pOyB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiBJbnZhbGlkIFJUQ1BlZXJDb25uZWN0aW9uIGNvbnN0cnVjdG9yIGFyZ3Vt
ZW50cy4KK1BBU1MgbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJzOltdfSwg
e3ZhbGlkX2FuZF9zdXBwb3J0ZWRfMjoxLCBtYW5kYXRvcnk6e3ZhbGlkX2FuZF9zdXBwb3J0ZWRf
MToxfX0pOyB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBJbnZhbGlkIFJUQ1BlZXJDb25uZWN0
aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cy4KIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKIAogVEVTVCBDT01QTEVURQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217945</attachid>
            <date>2013-11-27 06:06:01 -0800</date>
            <delta_ts>2022-03-01 02:55:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-124902-20131127110559.patch</filename>
            <type>text/plain</type>
            <size>19373</size>
            <attacher name="Thiago de Barros Lacerda">thiago.lacerda</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU5ODExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmRlYjY5YTIyNWI5OTM1
MDBlNmFlMTJjNTA3Y2UxNWQ0NWM4OTBmOC4uNmVhNzAzYmVmMDQ5OTY0NGUyNTg4NGMzNzQ4NDMx
OTI0MTM4YjA4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEzLTExLTI3ICBUaGlh
Z28gZGUgQmFycm9zIExhY2VyZGEgIDx0aGlhZ28ubGFjZXJkYUBvcGVuYm9zc2Eub3JnPgorCisg
ICAgICAgIEFkZGluZyBNZWRpYUNvbnN0cmFpbnRzTW9jayBjbGFzcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0OTAyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWlzc2luZyBibG9jayB0byBydW4gUlRD
UGVlckNvbm5lY3Rpb24gTGF5b3V0VGVzdHMKKworICAgICAgICBFeGlzdGluZyB0ZXN0IHdhcyB1
cGRhdGVkLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFrZWZp
bGUubGlzdC5hbToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL01lZGlhQ29uc3RyYWludHNNb2Nr
LmNwcDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbW9jay9NZWRpYUNvbnN0cmFpbnRzTW9j
ay5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL01vY2tNZWRpYVN0cmVhbUNlbnRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFTdHJlYW1DZW50ZXI6OnZhbGlkYXRl
UmVxdWVzdENvbnN0cmFpbnRzKTogTm93IHVzaW5nIE1lZGlhQ29uc3RyYWludHNNb2NrCisgICAg
ICAgIChXZWJDb3JlOjpNb2NrTWVkaWFTdHJlYW1DZW50ZXI6OmNyZWF0ZU1lZGlhU3RyZWFtKTog
RGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vbW9jay9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJN
b2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlck1vY2s6
OmluaXRpYWxpemUpOiBEaXR0by4KKwogMjAxMy0xMS0yNyAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2
YXIgIDxjYWx2YXJpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHU3RyZWFtZXJdIEludmFsaWQg
Y29tbWFuZCBsaW5lIGVycm9yIHdoZW4gdmlzaXRpbmcgd3d3LmNoZXNzYmFzZS5jb20KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQKaW5kZXggNzM4NTZiMzlkOTlhOGQzMzBkNmQ0OTEzZDljYmY5Y2U3YmM0OTMw
Yy4uZjNhMDFhODVlOTUwYTIyOWYxN2Q1OGZiYmFjZjJlODZmYjEyOTA2OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKQEAgLTIwMjgsNiArMjAyOCw3IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBw
bGF0Zm9ybS9tb2NrL0RldmljZU1vdGlvbkNsaWVudE1vY2suY3BwCiAgICAgcGxhdGZvcm0vbW9j
ay9EZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suY3BwCiAgICAgcGxhdGZvcm0vbW9jay9HZW9s
b2NhdGlvbkNsaWVudE1vY2suY3BwCisgICAgcGxhdGZvcm0vbW9jay9NZWRpYUNvbnN0cmFpbnRz
TW9jay5jcHAKICAgICBwbGF0Zm9ybS9tb2NrL01vY2tNZWRpYVN0cmVhbUNlbnRlci5jcHAKICAg
ICBwbGF0Zm9ybS9tb2NrL1JUQ0RhdGFDaGFubmVsSGFuZGxlck1vY2suY3BwCiAgICAgcGxhdGZv
cm0vbW9jay9SVENOb3RpZmllcnNNb2NrLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
R05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0K
aW5kZXggYzA1MTdjMzRlN2JjZDJiOGE1N2JmZDZmMDA1NDc2MzlkY2IxZWFkZC4uODI2YWRiNWUx
N2RmY2IwNzgyYTI5M2IzMjNmZTM2MTA2YzNhYjc2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtCkBAIC01NDQ5LDYgKzU0NDksOCBAQCB3ZWJjb3JlX3BsYXRmb3JtX3NvdXJjZXMgKz0g
XAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRN
b2NrLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRN
b2NrLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlvbkNsaWVu
dE1vY2suaCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYUNvbnN0cmFpbnRz
TW9jay5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFDb25zdHJhaW50
c01vY2suaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFTdHJlYW1D
ZW50ZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYVN0cmVh
bUNlbnRlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1JUQ0RhdGFDaGFubmVs
SGFuZGxlck1vY2suY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21v
Y2svTWVkaWFDb25zdHJhaW50c01vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9NZWRpYUNvbnN0cmFpbnRzTW9jay5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGI5Mzg5NTE2M2YxNGYwNGYz
OTA4NGEyYzc2YTMxMWUzMDliZTFiMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svTWVkaWFDb25zdHJhaW50c01vY2suY3BwCkBAIC0wLDAgKzEsNzYgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1
YnNpZGlhcnkoLWllcykuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSAiTWVkaWFDb25zdHJhaW50
c01vY2suaCIKKworI2luY2x1ZGUgIk1lZGlhQ29uc3RyYWludHMuaCIKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitib29sIGlzU3VwcG9ydGVkKGNvbnN0IFN0cmluZyYgY29uc3RyYWludCkKK3sK
KyAgICByZXR1cm4gbm90Rm91bmQgIT0gY29uc3RyYWludC5maW5kKCJfYW5kX3N1cHBvcnRlZF8i
KTsKK30KKworYm9vbCBpc1ZhbGlkKGNvbnN0IFN0cmluZyYgY29uc3RyYWludCkKK3sKKyAgICBy
ZXR1cm4gaXNTdXBwb3J0ZWQoY29uc3RyYWludCkgfHwgbm90Rm91bmQgIT0gY29uc3RyYWludC5m
aW5kKCJ2YWxpZF8iKTsKK30KKworU3RyaW5nIE1lZGlhQ29uc3RyYWludHNNb2NrOjp2ZXJpZnlD
b25zdHJhaW50cyhQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IHBycENvbnN0cmFpbnRzKQor
eworICAgIFJlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiBjb25zdHJhaW50cyA9IHBycENvbnN0cmFp
bnRzOworCisgICAgVmVjdG9yPE1lZGlhQ29uc3RyYWludD4gbWFuZGF0b3J5Q29uc3RyYWludHM7
CisgICAgY29uc3RyYWludHMtPmdldE1hbmRhdG9yeUNvbnN0cmFpbnRzKG1hbmRhdG9yeUNvbnN0
cmFpbnRzKTsKKyAgICBpZiAobWFuZGF0b3J5Q29uc3RyYWludHMuc2l6ZSgpKSB7CisgICAgICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbWFuZGF0b3J5Q29uc3RyYWludHMuc2l6ZSgpOyArK2kp
IHsKKyAgICAgICAgICAgIGNvbnN0IE1lZGlhQ29uc3RyYWludCYgY3VyciA9IG1hbmRhdG9yeUNv
bnN0cmFpbnRzW2ldOworICAgICAgICAgICAgaWYgKCFpc1N1cHBvcnRlZChjdXJyLm1fbmFtZSkg
fHwgY3Vyci5tX3ZhbHVlICE9ICIxIikKKyAgICAgICAgICAgICAgICByZXR1cm4gY3Vyci5tX25h
bWU7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBWZWN0b3I8TWVkaWFDb25zdHJhaW50PiBvcHRp
b25hbENvbnN0cmFpbnRzOworICAgIGNvbnN0cmFpbnRzLT5nZXRPcHRpb25hbENvbnN0cmFpbnRz
KG9wdGlvbmFsQ29uc3RyYWludHMpOworICAgIGlmIChvcHRpb25hbENvbnN0cmFpbnRzLnNpemUo
KSkgeworICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG9wdGlvbmFsQ29uc3RyYWludHMu
c2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgIGNvbnN0IE1lZGlhQ29uc3RyYWludCYgY3VyciA9
IG9wdGlvbmFsQ29uc3RyYWludHNbaV07CisgICAgICAgICAgICBpZiAoIWlzVmFsaWQoY3Vyci5t
X25hbWUpIHx8IGN1cnIubV92YWx1ZSAhPSAiMCIpCisgICAgICAgICAgICAgICAgcmV0dXJuIGN1
cnIubV9uYW1lOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9T
VFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01lZGlhQ29u
c3RyYWludHNNb2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01lZGlhQ29uc3Ry
YWludHNNb2NrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWM5NmM2MTliYmE1YmE4OTA2MGNhYzc5OWI3Y2E0Y2Ix
ZWI4YjQ1ZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
TWVkaWFDb25zdHJhaW50c01vY2suaApAQCAtMCwwICsxLDQ4IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTMgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBNZWRpYUNvbnN0cmFpbnRzTW9ja19oCisjZGVm
aW5lIE1lZGlhQ29uc3RyYWludHNNb2NrX2gKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisK
KyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE1lZGlhQ29uc3RyYWludHM7CisK
K2NsYXNzIE1lZGlhQ29uc3RyYWludHNNb2NrIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgU3RyaW5n
IHZlcmlmeUNvbnN0cmFpbnRzKFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4pOworfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gTW9ja01lZGlhQ29uc3RyYWludHNf
aAorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja01lZGlhU3RyZWFtQ2VudGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja01lZGlhU3RyZWFtQ2VudGVyLmNwcAppbmRleCAyZTg4
YjY3MjcxMWFlOTAwYTI2ZmNjOWUzNzM2NDAwNzJhOWI3OTkwLi4yMGNiMWFiOGI0MTJjZDJiNDNm
YWViZjk4MGI4MjdmYWMzMjgzMDg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tb2NrL01vY2tNZWRpYVN0cmVhbUNlbnRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbW9jay9Nb2NrTWVkaWFTdHJlYW1DZW50ZXIuY3BwCkBAIC0xLDYgKzEsNyBAQAogLyoK
ICAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIENvbXB1dGVyLCBJbmMuICBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBp
dHMgc3Vic2lkaWFyeSgtaWVzKS4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAt
MjUsMTAgKzI2LDEyIEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIk1v
Y2tNZWRpYVN0cmVhbUNlbnRlci5oIgogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAorI2lu
Y2x1ZGUgIk1vY2tNZWRpYVN0cmVhbUNlbnRlci5oIgorCisjaW5jbHVkZSAiTWVkaWFDb25zdHJh
aW50c01vY2suaCIKICNpbmNsdWRlICJNZWRpYVN0cmVhbS5oIgogI2luY2x1ZGUgIk1lZGlhU3Ry
ZWFtQ3JlYXRpb25DbGllbnQuaCIKICNpbmNsdWRlICJNZWRpYVN0cmVhbVByaXZhdGUuaCIKQEAg
LTEyNSw0MyArMTI4LDYgQEAgdm9pZCBNb2NrTWVkaWFTdHJlYW1DZW50ZXI6OnJlZ2lzdGVyTW9j
a01lZGlhU3RyZWFtQ2VudGVyKCkKICAgICB9CiB9CiAKLXN0YXRpYyBib29sIGlzU3VwcG9ydGVk
TW9ja0NvbnN0cmFpbnQoY29uc3QgU3RyaW5nJiBjb25zdHJhaW50TmFtZSkKLXsKLSAgICByZXR1
cm4gbm90Rm91bmQgIT0gY29uc3RyYWludE5hbWUuZmluZCgiX2FuZF9zdXBwb3J0ZWRfIik7Ci19
Ci0KLXN0YXRpYyBib29sIGlzVmFsaWRNb2NrQ29uc3RyYWludChjb25zdCBTdHJpbmcmIGNvbnN0
cmFpbnROYW1lKQotewotICAgIGlmIChpc1N1cHBvcnRlZE1vY2tDb25zdHJhaW50KGNvbnN0cmFp
bnROYW1lKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgcmV0dXJuIG5vdEZvdW5kICE9IGNv
bnN0cmFpbnROYW1lLmZpbmQoIl9idXRfdW5zdXBwb3J0ZWRfIik7Ci19Ci0KLXN0YXRpYyBTdHJp
bmcgdmVyaWZ5Q29uc3RyYWludHMoTWVkaWFDb25zdHJhaW50cyogY29uc3RyYWludHMpCi17Ci0g
ICAgVmVjdG9yPE1lZGlhQ29uc3RyYWludD4gbWFuZGF0b3J5Q29uc3RyYWludHM7Ci0gICAgY29u
c3RyYWludHMtPmdldE1hbmRhdG9yeUNvbnN0cmFpbnRzKG1hbmRhdG9yeUNvbnN0cmFpbnRzKTsK
LSAgICBpZiAobWFuZGF0b3J5Q29uc3RyYWludHMuc2l6ZSgpKSB7Ci0gICAgICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgbWFuZGF0b3J5Q29uc3RyYWludHMuc2l6ZSgpOyArK2kpIHsKLSAgICAg
ICAgICAgIGNvbnN0IE1lZGlhQ29uc3RyYWludCYgY29uc3RyYWludCA9IG1hbmRhdG9yeUNvbnN0
cmFpbnRzW2ldOwotICAgICAgICAgICAgaWYgKCFpc1N1cHBvcnRlZE1vY2tDb25zdHJhaW50KGNv
bnN0cmFpbnQubV9uYW1lKSB8fCBjb25zdHJhaW50Lm1fdmFsdWUgIT0gIjEiKQotICAgICAgICAg
ICAgICAgIHJldHVybiBjb25zdHJhaW50Lm1fbmFtZTsKLSAgICAgICAgfQotICAgIH0KLSAgICAK
LSAgICBWZWN0b3I8TWVkaWFDb25zdHJhaW50PiBvcHRpb25hbENvbnN0cmFpbnRzOwotICAgIGNv
bnN0cmFpbnRzLT5nZXRPcHRpb25hbENvbnN0cmFpbnRzKG9wdGlvbmFsQ29uc3RyYWludHMpOwot
ICAgIGlmIChvcHRpb25hbENvbnN0cmFpbnRzLnNpemUoKSkgewotICAgICAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IG9wdGlvbmFsQ29uc3RyYWludHMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAg
ICAgIGNvbnN0IE1lZGlhQ29uc3RyYWludCYgY29uc3RyYWludCA9IG9wdGlvbmFsQ29uc3RyYWlu
dHNbaV07Ci0gICAgICAgICAgICBpZiAoIWlzVmFsaWRNb2NrQ29uc3RyYWludChjb25zdHJhaW50
Lm1fbmFtZSkgfHwgY29uc3RyYWludC5tX3ZhbHVlICE9ICIwIikKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gY29uc3RyYWludC5tX25hbWU7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgcmV0
dXJuIGVtcHR5U3RyaW5nKCk7Ci19Ci0KIHZvaWQgTW9ja01lZGlhU3RyZWFtQ2VudGVyOjp2YWxp
ZGF0ZVJlcXVlc3RDb25zdHJhaW50cyhQYXNzUmVmUHRyPE1lZGlhU3RyZWFtQ3JlYXRpb25DbGll
bnQ+IHBycFF1ZXJ5Q2xpZW50LCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IGF1ZGlvQ29u
c3RyYWludHMsIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gdmlkZW9Db25zdHJhaW50cykK
IHsKICAgICBSZWZQdHI8TWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudD4gY2xpZW50ID0gcHJwUXVl
cnlDbGllbnQ7CkBAIC0xNjksNyArMTM1LDcgQEAgdm9pZCBNb2NrTWVkaWFTdHJlYW1DZW50ZXI6
OnZhbGlkYXRlUmVxdWVzdENvbnN0cmFpbnRzKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1DcmUKICAg
ICBBU1NFUlQoY2xpZW50KTsKICAgICAKICAgICBpZiAoYXVkaW9Db25zdHJhaW50cykgewotICAg
ICAgICBTdHJpbmcgaW52YWxpZFF1ZXJ5ID0gdmVyaWZ5Q29uc3RyYWludHMoYXVkaW9Db25zdHJh
aW50cy5nZXQoKSk7CisgICAgICAgIFN0cmluZyBpbnZhbGlkUXVlcnkgPSBNZWRpYUNvbnN0cmFp
bnRzTW9jazo6dmVyaWZ5Q29uc3RyYWludHMoYXVkaW9Db25zdHJhaW50cyk7CiAgICAgICAgIGlm
ICghaW52YWxpZFF1ZXJ5LmlzRW1wdHkoKSkgewogICAgICAgICAgICAgY2xpZW50LT5jb25zdHJh
aW50c0ludmFsaWQoaW52YWxpZFF1ZXJ5KTsKICAgICAgICAgICAgIHJldHVybjsKQEAgLTE3Nyw3
ICsxNDMsNyBAQCB2b2lkIE1vY2tNZWRpYVN0cmVhbUNlbnRlcjo6dmFsaWRhdGVSZXF1ZXN0Q29u
c3RyYWludHMoUGFzc1JlZlB0cjxNZWRpYVN0cmVhbUNyZQogICAgIH0KICAgICAKICAgICBpZiAo
dmlkZW9Db25zdHJhaW50cykgewotICAgICAgICBTdHJpbmcgaW52YWxpZFF1ZXJ5ID0gdmVyaWZ5
Q29uc3RyYWludHModmlkZW9Db25zdHJhaW50cy5nZXQoKSk7CisgICAgICAgIFN0cmluZyBpbnZh
bGlkUXVlcnkgPSBNZWRpYUNvbnN0cmFpbnRzTW9jazo6dmVyaWZ5Q29uc3RyYWludHModmlkZW9D
b25zdHJhaW50cyk7CiAgICAgICAgIGlmICghaW52YWxpZFF1ZXJ5LmlzRW1wdHkoKSkgewogICAg
ICAgICAgICAgY2xpZW50LT5jb25zdHJhaW50c0ludmFsaWQoaW52YWxpZFF1ZXJ5KTsKICAgICAg
ICAgICAgIHJldHVybjsKQEAgLTE5OCw3ICsxNjQsNyBAQCB2b2lkIE1vY2tNZWRpYVN0cmVhbUNl
bnRlcjo6Y3JlYXRlTWVkaWFTdHJlYW0oUGFzc1JlZlB0cjxNZWRpYVN0cmVhbUNyZWF0aW9uQ2xp
ZQogICAgIE1vY2tTb3VyY2VNYXAmIG1hcCA9IG1vY2tTb3VyY2VNYXAoKTsKIAogICAgIGlmIChh
dWRpb0NvbnN0cmFpbnRzKSB7Ci0gICAgICAgIFN0cmluZyBpbnZhbGlkUXVlcnkgPSB2ZXJpZnlD
b25zdHJhaW50cyhhdWRpb0NvbnN0cmFpbnRzLmdldCgpKTsKKyAgICAgICAgU3RyaW5nIGludmFs
aWRRdWVyeSA9IE1lZGlhQ29uc3RyYWludHNNb2NrOjp2ZXJpZnlDb25zdHJhaW50cyhhdWRpb0Nv
bnN0cmFpbnRzKTsKICAgICAgICAgaWYgKCFpbnZhbGlkUXVlcnkuaXNFbXB0eSgpKSB7CiAgICAg
ICAgICAgICBjbGllbnQtPmZhaWxlZFRvQ3JlYXRlU3RyZWFtV2l0aENvbnN0cmFpbnRzRXJyb3Io
aW52YWxpZFF1ZXJ5KTsKICAgICAgICAgICAgIHJldHVybjsKQEAgLTIxNCw3ICsxODAsNyBAQCB2
b2lkIE1vY2tNZWRpYVN0cmVhbUNlbnRlcjo6Y3JlYXRlTWVkaWFTdHJlYW0oUGFzc1JlZlB0cjxN
ZWRpYVN0cmVhbUNyZWF0aW9uQ2xpZQogICAgIH0KIAogICAgIGlmICh2aWRlb0NvbnN0cmFpbnRz
KSB7Ci0gICAgICAgIFN0cmluZyBpbnZhbGlkUXVlcnkgPSB2ZXJpZnlDb25zdHJhaW50cyh2aWRl
b0NvbnN0cmFpbnRzLmdldCgpKTsKKyAgICAgICAgU3RyaW5nIGludmFsaWRRdWVyeSA9IE1lZGlh
Q29uc3RyYWludHNNb2NrOjp2ZXJpZnlDb25zdHJhaW50cyh2aWRlb0NvbnN0cmFpbnRzKTsKICAg
ICAgICAgaWYgKCFpbnZhbGlkUXVlcnkuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBjbGllbnQt
PmZhaWxlZFRvQ3JlYXRlU3RyZWFtV2l0aENvbnN0cmFpbnRzRXJyb3IoaW52YWxpZFF1ZXJ5KTsK
ICAgICAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyTW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tb2NrL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlck1vY2suY3BwCmluZGV4IDU4OTFj
NTBlM2RmOGUxZDMyYzZlZjY3YzI0MWEwNDg5MDFmMDM5YmIuLjBjYmQ4ODE2NzEzYzY3OTBkYzli
NGQzMGM4NWM2MzE3NDgwNjliYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyTW9jay5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbW9jay9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJNb2NrLmNwcApAQCAtMjks
NiArMjksNyBAQAogCiAjaW5jbHVkZSAiUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyTW9jay5oIgog
CisjaW5jbHVkZSAiTWVkaWFDb25zdHJhaW50c01vY2suaCIKICNpbmNsdWRlICJOb3RJbXBsZW1l
bnRlZC5oIgogI2luY2x1ZGUgIlJUQ0RUTUZTZW5kZXJIYW5kbGVyLmgiCiAjaW5jbHVkZSAiUlRD
RGF0YUNoYW5uZWxIYW5kbGVyLmgiCkBAIC00NSwxNCArNDYsMTYgQEAgUlRDUGVlckNvbm5lY3Rp
b25IYW5kbGVyTW9jazo6UlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyTW9jayhSVENQZWVyQ29ubmVj
dGlvbkhhbmQKIHsKIH0KIAotYm9vbCBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJNb2NrOjppbml0
aWFsaXplKFBhc3NSZWZQdHI8UlRDQ29uZmlndXJhdGlvbj4sIFBhc3NSZWZQdHI8TWVkaWFDb25z
dHJhaW50cz4pCitib29sIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlck1vY2s6OmluaXRpYWxpemUo
UGFzc1JlZlB0cjxSVENDb25maWd1cmF0aW9uPiwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRz
PiBjb25zdHJhaW50cykKIHsKLSAgICAvLyBGSVhNRTogb25jZSB0aGVyZSBpcyBzdXBwb3J0IGlu
IFJUQ1BlZXJDb25uZWN0aW9uICsgY29uc3RyYWludHMsIHRoaXMgc2hvdWxkIGJlIHRha2VuIGlu
dG8gYWNjb3VudCBoZXJlCi0gICAgLy8gYW5kIGEgTGF5b3VUZXN0IGZvciB0aGF0IG11c3QgYmUg
YWRkZWQuCi0gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEy
MzA5MwotICAgIFJlZlB0cjxJY2VDb25uZWN0aW9uTm90aWZpZXI+IG5vdGlmaWVyID0gYWRvcHRS
ZWYobmV3IEljZUNvbm5lY3Rpb25Ob3RpZmllcihtX2NsaWVudCwgUlRDUGVlckNvbm5lY3Rpb25I
YW5kbGVyQ2xpZW50OjpJY2VDb25uZWN0aW9uU3RhdGVDb21wbGV0ZWQsIFJUQ1BlZXJDb25uZWN0
aW9uSGFuZGxlckNsaWVudDo6SWNlR2F0aGVyaW5nU3RhdGVDb21wbGV0ZSkpOwotICAgIG1fdGlt
ZXJFdmVudHMuYXBwZW5kKGFkb3B0UmVmKG5ldyBUaW1lckV2ZW50KHRoaXMsIG5vdGlmaWVyKSkp
OwotICAgIHJldHVybiB0cnVlOworICAgIFN0cmluZyBpbnZhbGlkUXVlcnkgPSBNZWRpYUNvbnN0
cmFpbnRzTW9jazo6dmVyaWZ5Q29uc3RyYWludHMoY29uc3RyYWludHMpOworICAgIGlmIChpbnZh
bGlkUXVlcnkuaXNFbXB0eSgpKSB7CisgICAgICAgIFJlZlB0cjxJY2VDb25uZWN0aW9uTm90aWZp
ZXI+IG5vdGlmaWVyID0gYWRvcHRSZWYobmV3IEljZUNvbm5lY3Rpb25Ob3RpZmllcihtX2NsaWVu
dCwgUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50OjpJY2VDb25uZWN0aW9uU3RhdGVDb21w
bGV0ZWQsIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudDo6SWNlR2F0aGVyaW5nU3RhdGVD
b21wbGV0ZSkpOworICAgICAgICBtX3RpbWVyRXZlbnRzLmFwcGVuZChhZG9wdFJlZihuZXcgVGlt
ZXJFdmVudCh0aGlzLCBub3RpZmllcikpKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQor
CisgICAgcmV0dXJuIGZhbHNlOwogfQogCiB2b2lkIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlck1v
Y2s6OmNyZWF0ZU9mZmVyKFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdD4g
cmVxdWVzdCwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiBjb25zdHJhaW50cykKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCA2MjUyZDgxMGZlZTA0ZmVlN2UwOThiYzU4M2M5ODZjZmM5NTU1NWVlLi5kNjY3Njc0MjYzZTM0
YTJjNDU0ZDQ3NTVmMWE1N2MyODdiMGRlOTk2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTMt
MTEtMjcgIFRoaWFnbyBkZSBCYXJyb3MgTGFjZXJkYSAgPHRoaWFnby5sYWNlcmRhQG9wZW5ib3Nz
YS5vcmc+CisKKyAgICAgICAgQWRkaW5nIE1lZGlhQ29uc3RyYWludHNNb2NrIGNsYXNzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjQ5MDIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNaXNzaW5nIGJsb2Nr
IHRvIHJ1biBSVENQZWVyQ29ubmVjdGlvbiBMYXlvdXRUZXN0cworCisgICAgICAgICogZmFzdC9t
ZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1leHBlY3RlZC50eHQ6CisKIDIwMTMtMTEtMjcg
IFhhYmllciBSb2RyaWd1ZXogQ2FsdmFyICA8Y2FsdmFyaXNAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBbR1N0cmVhbWVyXSBJbnZhbGlkIGNvbW1hbmQgbGluZSBlcnJvciB3aGVuIHZpc2l0aW5nIHd3
dy5jaGVzc2Jhc2UuY29tCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFt
L1JUQ1BlZXJDb25uZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFz
dHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tZXhwZWN0ZWQudHh0CmluZGV4IGYwMzAzZGI1MjhjODAz
YzBlMmY5ZGJmZTIwYTRlYjZlOTllZjUzYTUuLjJhYTJkODU2YjlhZjVmNGQzOWU2M2U3OTExODI0
MTYzNGQ4MWVhZmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRD
UGVlckNvbm5lY3Rpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFz
dHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC00NSwxNiArNDUsMTYgQEAg
UEFTUyBuZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rpb24oe2ljZVNlcnZlcnM6W119LCB7bWFuZGF0
b3J5Ont2YWxpZF9hbmRfc3VwcG9ydGUKIFBBU1MgbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9u
KHtpY2VTZXJ2ZXJzOltdfSwge29wdGlvbmFsOlt7dmFsaWRfYW5kX3N1cHBvcnRlZF8xOjB9XX0p
OyBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KIFBBU1MgbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0
aW9uKHtpY2VTZXJ2ZXJzOltdfSwge29wdGlvbmFsOlt7dmFsaWRfYW5kX3N1cHBvcnRlZF8xOjB9
LHt2YWxpZF9hbmRfc3VwcG9ydGVkXzI6MH1dfSk7IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgog
UEFTUyBuZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rpb24oe2ljZVNlcnZlcnM6W119LCB7b3B0aW9u
YWw6W3t2YWxpZF9idXRfdW5zdXBwb3J0ZWRfMTowfSx7dmFsaWRfYnV0X3Vuc3VwcG9ydGVkXzI6
MH1dfSk7IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgotUEFTUyBuZXcgd2Via2l0UlRDUGVlckNv
bm5lY3Rpb24oe2ljZVNlcnZlcnM6W119LCB7bWFuZGF0b3J5Ont2YWxpZF9hbmRfc3VwcG9ydGVk
XzE6NjZ9fSk7IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogTm90U3VwcG9ydGVkRXJyb3I6IERPTSBF
eGNlcHRpb24gOS4KLVBBU1MgbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJz
OltdfSwge21hbmRhdG9yeTp7aW52YWxpZDoxfX0pOyB0aHJldyBleGNlcHRpb24gRXJyb3I6IE5v
dFN1cHBvcnRlZEVycm9yOiBET00gRXhjZXB0aW9uIDkuCi1QQVNTIG5ldyB3ZWJraXRSVENQZWVy
Q29ubmVjdGlvbih7aWNlU2VydmVyczpbXX0sIHttYW5kYXRvcnk6e3ZhbGlkX2J1dF91bnN1cHBv
cnRlZF8xOjF9fSk7IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogTm90U3VwcG9ydGVkRXJyb3I6IERP
TSBFeGNlcHRpb24gOS4KLVBBU1MgbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKHtpY2VTZXJ2
ZXJzOltdfSwge21hbmRhdG9yeTp7dmFsaWRfYnV0X3Vuc3VwcG9ydGVkXzE6MSwgdmFsaWRfYW5k
X3N1cHBvcnRlZF8xOjF9fSk7IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogTm90U3VwcG9ydGVkRXJy
b3I6IERPTSBFeGNlcHRpb24gOS4KLVBBU1MgbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKHtp
Y2VTZXJ2ZXJzOltdfSwge29wdGlvbmFsOnt2YWxpZF9hbmRfc3VwcG9ydGVkXzE6MH19KTsgdGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBUeXBlTWlzbWF0Y2hFcnJvcjogRE9NIEV4Y2VwdGlvbiAxNy4K
LVBBU1MgbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJzOltdfSwge29wdGlv
bmFsOlt7dmFsaWRfYW5kX3N1cHBvcnRlZF8xOjAsdmFsaWRfYW5kX3N1cHBvcnRlZF8yOjB9XX0p
OyB0aHJldyBleGNlcHRpb24gRXJyb3I6IFR5cGVNaXNtYXRjaEVycm9yOiBET00gRXhjZXB0aW9u
IDE3LgotUEFTUyBuZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rpb24oe2ljZVNlcnZlcnM6W119LCB7
b3B0aW9uYWw6W3tpbnZhbGlkOjB9XX0pOyB0aHJldyBleGNlcHRpb24gRXJyb3I6IE5vdFN1cHBv
cnRlZEVycm9yOiBET00gRXhjZXB0aW9uIDkuCi1QQVNTIG5ldyB3ZWJraXRSVENQZWVyQ29ubmVj
dGlvbih7aWNlU2VydmVyczpbXX0sIHt2YWxpZF9hbmRfc3VwcG9ydGVkXzE6MX0pOyB0aHJldyBl
eGNlcHRpb24gRXJyb3I6IFR5cGVNaXNtYXRjaEVycm9yOiBET00gRXhjZXB0aW9uIDE3LgotUEFT
UyBuZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rpb24oe2ljZVNlcnZlcnM6W119LCB7dmFsaWRfYnV0
X3Vuc3VwcG9ydGVkXzE6MX0pOyB0aHJldyBleGNlcHRpb24gRXJyb3I6IFR5cGVNaXNtYXRjaEVy
cm9yOiBET00gRXhjZXB0aW9uIDE3LgotUEFTUyBuZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rpb24o
e2ljZVNlcnZlcnM6W119LCB7dmFsaWRfYW5kX3N1cHBvcnRlZF8yOjEsIG1hbmRhdG9yeTp7dmFs
aWRfYW5kX3N1cHBvcnRlZF8xOjF9fSk7IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVHlwZU1pc21h
dGNoRXJyb3I6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIG5ldyB3ZWJraXRSVENQZWVyQ29ubmVj
dGlvbih7aWNlU2VydmVyczpbXX0sIHttYW5kYXRvcnk6e3ZhbGlkX2FuZF9zdXBwb3J0ZWRfMTo2
Nn19KTsgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogRXJyb3IgY3JlYXRpbmcgUlRDUGVlckNv
bm5lY3Rpb24uCitQQVNTIG5ldyB3ZWJraXRSVENQZWVyQ29ubmVjdGlvbih7aWNlU2VydmVyczpb
XX0sIHttYW5kYXRvcnk6e2ludmFsaWQ6MX19KTsgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
RXJyb3IgY3JlYXRpbmcgUlRDUGVlckNvbm5lY3Rpb24uCitQQVNTIG5ldyB3ZWJraXRSVENQZWVy
Q29ubmVjdGlvbih7aWNlU2VydmVyczpbXX0sIHttYW5kYXRvcnk6e3ZhbGlkX2J1dF91bnN1cHBv
cnRlZF8xOjF9fSk7IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEVycm9yIGNyZWF0aW5nIFJU
Q1BlZXJDb25uZWN0aW9uLgorUEFTUyBuZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rpb24oe2ljZVNl
cnZlcnM6W119LCB7bWFuZGF0b3J5Ont2YWxpZF9idXRfdW5zdXBwb3J0ZWRfMToxLCB2YWxpZF9h
bmRfc3VwcG9ydGVkXzE6MX19KTsgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogRXJyb3IgY3Jl
YXRpbmcgUlRDUGVlckNvbm5lY3Rpb24uCitQQVNTIG5ldyB3ZWJraXRSVENQZWVyQ29ubmVjdGlv
bih7aWNlU2VydmVyczpbXX0sIHtvcHRpb25hbDp7dmFsaWRfYW5kX3N1cHBvcnRlZF8xOjB9fSk7
IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEludmFsaWQgUlRDUGVlckNvbm5lY3Rpb24gY29u
c3RydWN0b3IgYXJndW1lbnRzLgorUEFTUyBuZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rpb24oe2lj
ZVNlcnZlcnM6W119LCB7b3B0aW9uYWw6W3t2YWxpZF9hbmRfc3VwcG9ydGVkXzE6MCx2YWxpZF9h
bmRfc3VwcG9ydGVkXzI6MH1dfSk7IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEludmFsaWQg
UlRDUGVlckNvbm5lY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnRzLgorUEFTUyBuZXcgd2Via2l0
UlRDUGVlckNvbm5lY3Rpb24oe2ljZVNlcnZlcnM6W119LCB7b3B0aW9uYWw6W3tpbnZhbGlkOjB9
XX0pOyB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBFcnJvciBjcmVhdGluZyBSVENQZWVyQ29u
bmVjdGlvbi4KK1BBU1MgbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJzOltd
fSwge3ZhbGlkX2FuZF9zdXBwb3J0ZWRfMToxfSk7IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
IEludmFsaWQgUlRDUGVlckNvbm5lY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnRzLgorUEFTUyBu
ZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rpb24oe2ljZVNlcnZlcnM6W119LCB7dmFsaWRfYnV0X3Vu
c3VwcG9ydGVkXzE6MX0pOyB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBJbnZhbGlkIFJUQ1Bl
ZXJDb25uZWN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cy4KK1BBU1MgbmV3IHdlYmtpdFJUQ1Bl
ZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJzOltdfSwge3ZhbGlkX2FuZF9zdXBwb3J0ZWRfMjoxLCBt
YW5kYXRvcnk6e3ZhbGlkX2FuZF9zdXBwb3J0ZWRfMToxfX0pOyB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiBJbnZhbGlkIFJUQ1BlZXJDb25uZWN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cy4K
IFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQo=
</data>
<flag name="review"
          id="241191"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217961</attachid>
            <date>2013-11-27 12:11:27 -0800</date>
            <delta_ts>2013-11-27 12:13:30 -0800</delta_ts>
            <desc>Patch for landing.</desc>
            <filename>bug-124902-20131127171125.patch</filename>
            <type>text/plain</type>
            <size>18839</size>
            <attacher name="Thiago de Barros Lacerda">thiago.lacerda</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU5ODIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWFiNDFiNjJkNjhlMWI2
ZGE5NmVmYzM1MGUyZTYwNzU5OWFlYjE4MC4uMTQ1ZmM4Mzc4ZmE3NjU5ZDRkMzk0MzJjZDIzOWJm
NjY5YWYzYzViYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEzLTExLTI3ICBUaGlh
Z28gZGUgQmFycm9zIExhY2VyZGEgIDx0aGlhZ28ubGFjZXJkYUBvcGVuYm9zc2Eub3JnPgorCisg
ICAgICAgIEFkZGluZyBNZWRpYUNvbnN0cmFpbnRzTW9jayBjbGFzcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0OTAyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgIFZhbGlkYXRlIGNvbnN0cmFpbnRzIHVzZWQg
aW4gUlRDUGVlckNvbm5lY3Rpb24gTGF5b3V0VGVzdHMKKworICAgICAgICBFeGlzdGluZyB0ZXN0
IHdhcyB1cGRhdGVkLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05V
bWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL01lZGlhQ29uc3RyYWlu
dHNNb2NrLmNwcDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbW9jay9NZWRpYUNvbnN0cmFp
bnRzTW9jay5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL01vY2tNZWRpYVN0cmVh
bUNlbnRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFTdHJlYW1DZW50ZXI6OnZh
bGlkYXRlUmVxdWVzdENvbnN0cmFpbnRzKTogTm93IHVzaW5nIE1lZGlhQ29uc3RyYWludHNNb2Nr
CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFTdHJlYW1DZW50ZXI6OmNyZWF0ZU1lZGlhU3Ry
ZWFtKTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vbW9jay9SVENQZWVyQ29ubmVjdGlvbkhh
bmRsZXJNb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxl
ck1vY2s6OmluaXRpYWxpemUpOiBEaXR0by4KKwogMjAxMy0xMS0yNyAgTmljayBEaWVnbyBZYW1h
bmUgIDxuaWNrLnlhbWFuZUBvcGVuYm9zc2Eub3JnPgogCiAgICAgICAgIFJlbW92ZSBRdC1zcGVj
aWZpYyAucXJjIGZpbGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDczODU2YjM5ZDk5YThkMzMw
ZDZkNDkxM2Q5Y2JmOWNlN2JjNDkzMGMuLmYzYTAxYTg1ZTk1MGEyMjlmMTdkNThmYmJhY2YyZTg2
ZmIxMjkwNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yMDI4LDYgKzIwMjgsNyBAQCBzZXQo
V2ViQ29yZV9TT1VSQ0VTCiAgICAgcGxhdGZvcm0vbW9jay9EZXZpY2VNb3Rpb25DbGllbnRNb2Nr
LmNwcAogICAgIHBsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNwcAog
ICAgIHBsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmNwcAorICAgIHBsYXRmb3Jt
L21vY2svTWVkaWFDb25zdHJhaW50c01vY2suY3BwCiAgICAgcGxhdGZvcm0vbW9jay9Nb2NrTWVk
aWFTdHJlYW1DZW50ZXIuY3BwCiAgICAgcGxhdGZvcm0vbW9jay9SVENEYXRhQ2hhbm5lbEhhbmRs
ZXJNb2NrLmNwcAogICAgIHBsYXRmb3JtL21vY2svUlRDTm90aWZpZXJzTW9jay5jcHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGMwNTE3YzM0ZTdiY2QyYjhhNTdiZmQ2ZjAwNTQ3
NjM5ZGNiMWVhZGQuLjgyNmFkYjVlMTdkZmNiMDc4MmEyOTNiMzIzZmUzNjEwNmMzYWI3NjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNTQ0OSw2ICs1NDQ5LDggQEAgd2ViY29y
ZV9wbGF0Zm9ybV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0Rl
dmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svTWVkaWFDb25zdHJhaW50c01vY2suY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tb2NrL01lZGlhQ29uc3RyYWludHNNb2NrLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svTW9ja01lZGlhU3RyZWFtQ2VudGVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9Nb2NrTWVkaWFTdHJlYW1DZW50ZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9SVENEYXRhQ2hhbm5lbEhhbmRsZXJNb2NrLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01lZGlhQ29uc3RyYWludHNNb2NrLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFDb25zdHJhaW50c01vY2suY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmRiOTM4OTUxNjNmMTRmMDRmMzkwODRhMmM3NmEzMTFlMzA5YmUxYjMKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01lZGlhQ29uc3RyYWludHNNb2Nr
LmNwcApAQCAtMCwwICsxLDc2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgTm9raWEgQ29y
cG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisg
KiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2lu
Y2x1ZGUgIk1lZGlhQ29uc3RyYWludHNNb2NrLmgiCisKKyNpbmNsdWRlICJNZWRpYUNvbnN0cmFp
bnRzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworYm9vbCBpc1N1cHBvcnRlZChjb25zdCBT
dHJpbmcmIGNvbnN0cmFpbnQpCit7CisgICAgcmV0dXJuIG5vdEZvdW5kICE9IGNvbnN0cmFpbnQu
ZmluZCgiX2FuZF9zdXBwb3J0ZWRfIik7Cit9CisKK2Jvb2wgaXNWYWxpZChjb25zdCBTdHJpbmcm
IGNvbnN0cmFpbnQpCit7CisgICAgcmV0dXJuIGlzU3VwcG9ydGVkKGNvbnN0cmFpbnQpIHx8IG5v
dEZvdW5kICE9IGNvbnN0cmFpbnQuZmluZCgidmFsaWRfIik7Cit9CisKK1N0cmluZyBNZWRpYUNv
bnN0cmFpbnRzTW9jazo6dmVyaWZ5Q29uc3RyYWludHMoUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFp
bnRzPiBwcnBDb25zdHJhaW50cykKK3sKKyAgICBSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gY29u
c3RyYWludHMgPSBwcnBDb25zdHJhaW50czsKKworICAgIFZlY3RvcjxNZWRpYUNvbnN0cmFpbnQ+
IG1hbmRhdG9yeUNvbnN0cmFpbnRzOworICAgIGNvbnN0cmFpbnRzLT5nZXRNYW5kYXRvcnlDb25z
dHJhaW50cyhtYW5kYXRvcnlDb25zdHJhaW50cyk7CisgICAgaWYgKG1hbmRhdG9yeUNvbnN0cmFp
bnRzLnNpemUoKSkgeworICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1hbmRhdG9yeUNv
bnN0cmFpbnRzLnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICBjb25zdCBNZWRpYUNvbnN0cmFp
bnQmIGN1cnIgPSBtYW5kYXRvcnlDb25zdHJhaW50c1tpXTsKKyAgICAgICAgICAgIGlmICghaXNT
dXBwb3J0ZWQoY3Vyci5tX25hbWUpIHx8IGN1cnIubV92YWx1ZSAhPSAiMSIpCisgICAgICAgICAg
ICAgICAgcmV0dXJuIGN1cnIubV9uYW1lOworICAgICAgICB9CisgICAgfQorCisgICAgVmVjdG9y
PE1lZGlhQ29uc3RyYWludD4gb3B0aW9uYWxDb25zdHJhaW50czsKKyAgICBjb25zdHJhaW50cy0+
Z2V0T3B0aW9uYWxDb25zdHJhaW50cyhvcHRpb25hbENvbnN0cmFpbnRzKTsKKyAgICBpZiAob3B0
aW9uYWxDb25zdHJhaW50cy5zaXplKCkpIHsKKyAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBvcHRpb25hbENvbnN0cmFpbnRzLnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICBjb25zdCBN
ZWRpYUNvbnN0cmFpbnQmIGN1cnIgPSBvcHRpb25hbENvbnN0cmFpbnRzW2ldOworICAgICAgICAg
ICAgaWYgKCFpc1ZhbGlkKGN1cnIubV9uYW1lKSB8fCBjdXJyLm1fdmFsdWUgIT0gIjAiKQorICAg
ICAgICAgICAgICAgIHJldHVybiBjdXJyLm1fbmFtZTsKKyAgICAgICAgfQorICAgIH0KKworICAg
IHJldHVybiBlbXB0eVN0cmluZygpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9NZWRpYUNvbnN0cmFpbnRzTW9jay5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbW9jay9NZWRpYUNvbnN0cmFpbnRzTW9jay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFjOTZjNjE5YmJh
NWJhODkwNjBjYWM3OTliN2NhNGNiMWViOGI0NWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01lZGlhQ29uc3RyYWludHNNb2NrLmgKQEAgLTAsMCArMSw0
OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBp
dHMgc3Vic2lkaWFyeSgtaWVzKS4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisg
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTWVkaWFD
b25zdHJhaW50c01vY2tfaAorI2RlZmluZSBNZWRpYUNvbnN0cmFpbnRzTW9ja19oCisKKyNpZiBF
TkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNs
dWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBNZWRpYUNvbnN0cmFpbnRzOworCitjbGFzcyBNZWRpYUNvbnN0cmFpbnRzTW9jayB7CitwdWJs
aWM6CisgICAgc3RhdGljIFN0cmluZyB2ZXJpZnlDb25zdHJhaW50cyhQYXNzUmVmUHRyPE1lZGlh
Q29uc3RyYWludHM+KTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IE1vY2tNZWRpYUNvbnN0cmFpbnRzX2gKKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0p
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYVN0cmVh
bUNlbnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYVN0cmVh
bUNlbnRlci5jcHAKaW5kZXggMmU4OGI2NzI3MTFhZTkwMGEyNmZjYzllMzczNjQwMDcyYTliNzk5
MC4uMjBjYjFhYjhiNDEyY2QyYjQzZmFlYmY5ODBiODI3ZmFjMzI4MzA4NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFTdHJlYW1DZW50ZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja01lZGlhU3RyZWFtQ2VudGVyLmNw
cApAQCAtMSw2ICsxLDcgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBDb21wdXRl
ciwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBOb2tp
YSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTI1LDEwICsyNiwxMiBAQAogICovCiAKICNpbmNsdWRlICJj
b25maWcuaCIKLSNpbmNsdWRlICJNb2NrTWVkaWFTdHJlYW1DZW50ZXIuaCIKIAogI2lmIEVOQUJM
RShNRURJQV9TVFJFQU0pCiAKKyNpbmNsdWRlICJNb2NrTWVkaWFTdHJlYW1DZW50ZXIuaCIKKwor
I2luY2x1ZGUgIk1lZGlhQ29uc3RyYWludHNNb2NrLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW0u
aCIKICNpbmNsdWRlICJNZWRpYVN0cmVhbUNyZWF0aW9uQ2xpZW50LmgiCiAjaW5jbHVkZSAiTWVk
aWFTdHJlYW1Qcml2YXRlLmgiCkBAIC0xMjUsNDMgKzEyOCw2IEBAIHZvaWQgTW9ja01lZGlhU3Ry
ZWFtQ2VudGVyOjpyZWdpc3Rlck1vY2tNZWRpYVN0cmVhbUNlbnRlcigpCiAgICAgfQogfQogCi1z
dGF0aWMgYm9vbCBpc1N1cHBvcnRlZE1vY2tDb25zdHJhaW50KGNvbnN0IFN0cmluZyYgY29uc3Ry
YWludE5hbWUpCi17Ci0gICAgcmV0dXJuIG5vdEZvdW5kICE9IGNvbnN0cmFpbnROYW1lLmZpbmQo
Il9hbmRfc3VwcG9ydGVkXyIpOwotfQotCi1zdGF0aWMgYm9vbCBpc1ZhbGlkTW9ja0NvbnN0cmFp
bnQoY29uc3QgU3RyaW5nJiBjb25zdHJhaW50TmFtZSkKLXsKLSAgICBpZiAoaXNTdXBwb3J0ZWRN
b2NrQ29uc3RyYWludChjb25zdHJhaW50TmFtZSkpCi0gICAgICAgIHJldHVybiB0cnVlOwotICAg
IHJldHVybiBub3RGb3VuZCAhPSBjb25zdHJhaW50TmFtZS5maW5kKCJfYnV0X3Vuc3VwcG9ydGVk
XyIpOwotfQotCi1zdGF0aWMgU3RyaW5nIHZlcmlmeUNvbnN0cmFpbnRzKE1lZGlhQ29uc3RyYWlu
dHMqIGNvbnN0cmFpbnRzKQotewotICAgIFZlY3RvcjxNZWRpYUNvbnN0cmFpbnQ+IG1hbmRhdG9y
eUNvbnN0cmFpbnRzOwotICAgIGNvbnN0cmFpbnRzLT5nZXRNYW5kYXRvcnlDb25zdHJhaW50cyht
YW5kYXRvcnlDb25zdHJhaW50cyk7Ci0gICAgaWYgKG1hbmRhdG9yeUNvbnN0cmFpbnRzLnNpemUo
KSkgewotICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1hbmRhdG9yeUNvbnN0cmFpbnRz
LnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICBjb25zdCBNZWRpYUNvbnN0cmFpbnQmIGNvbnN0
cmFpbnQgPSBtYW5kYXRvcnlDb25zdHJhaW50c1tpXTsKLSAgICAgICAgICAgIGlmICghaXNTdXBw
b3J0ZWRNb2NrQ29uc3RyYWludChjb25zdHJhaW50Lm1fbmFtZSkgfHwgY29uc3RyYWludC5tX3Zh
bHVlICE9ICIxIikKLSAgICAgICAgICAgICAgICByZXR1cm4gY29uc3RyYWludC5tX25hbWU7Ci0g
ICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgVmVjdG9yPE1lZGlhQ29uc3RyYWludD4gb3B0aW9u
YWxDb25zdHJhaW50czsKLSAgICBjb25zdHJhaW50cy0+Z2V0T3B0aW9uYWxDb25zdHJhaW50cyhv
cHRpb25hbENvbnN0cmFpbnRzKTsKLSAgICBpZiAob3B0aW9uYWxDb25zdHJhaW50cy5zaXplKCkp
IHsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBvcHRpb25hbENvbnN0cmFpbnRzLnNp
emUoKTsgKytpKSB7Ci0gICAgICAgICAgICBjb25zdCBNZWRpYUNvbnN0cmFpbnQmIGNvbnN0cmFp
bnQgPSBvcHRpb25hbENvbnN0cmFpbnRzW2ldOwotICAgICAgICAgICAgaWYgKCFpc1ZhbGlkTW9j
a0NvbnN0cmFpbnQoY29uc3RyYWludC5tX25hbWUpIHx8IGNvbnN0cmFpbnQubV92YWx1ZSAhPSAi
MCIpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnN0cmFpbnQubV9uYW1lOwotICAgICAgICB9
Ci0gICAgfQotICAgIAotICAgIHJldHVybiBlbXB0eVN0cmluZygpOwotfQotCiB2b2lkIE1vY2tN
ZWRpYVN0cmVhbUNlbnRlcjo6dmFsaWRhdGVSZXF1ZXN0Q29uc3RyYWludHMoUGFzc1JlZlB0cjxN
ZWRpYVN0cmVhbUNyZWF0aW9uQ2xpZW50PiBwcnBRdWVyeUNsaWVudCwgUGFzc1JlZlB0cjxNZWRp
YUNvbnN0cmFpbnRzPiBhdWRpb0NvbnN0cmFpbnRzLCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWlu
dHM+IHZpZGVvQ29uc3RyYWludHMpCiB7CiAgICAgUmVmUHRyPE1lZGlhU3RyZWFtQ3JlYXRpb25D
bGllbnQ+IGNsaWVudCA9IHBycFF1ZXJ5Q2xpZW50OwpAQCAtMTY5LDcgKzEzNSw3IEBAIHZvaWQg
TW9ja01lZGlhU3RyZWFtQ2VudGVyOjp2YWxpZGF0ZVJlcXVlc3RDb25zdHJhaW50cyhQYXNzUmVm
UHRyPE1lZGlhU3RyZWFtQ3JlCiAgICAgQVNTRVJUKGNsaWVudCk7CiAgICAgCiAgICAgaWYgKGF1
ZGlvQ29uc3RyYWludHMpIHsKLSAgICAgICAgU3RyaW5nIGludmFsaWRRdWVyeSA9IHZlcmlmeUNv
bnN0cmFpbnRzKGF1ZGlvQ29uc3RyYWludHMuZ2V0KCkpOworICAgICAgICBTdHJpbmcgaW52YWxp
ZFF1ZXJ5ID0gTWVkaWFDb25zdHJhaW50c01vY2s6OnZlcmlmeUNvbnN0cmFpbnRzKGF1ZGlvQ29u
c3RyYWludHMpOwogICAgICAgICBpZiAoIWludmFsaWRRdWVyeS5pc0VtcHR5KCkpIHsKICAgICAg
ICAgICAgIGNsaWVudC0+Y29uc3RyYWludHNJbnZhbGlkKGludmFsaWRRdWVyeSk7CiAgICAgICAg
ICAgICByZXR1cm47CkBAIC0xNzcsNyArMTQzLDcgQEAgdm9pZCBNb2NrTWVkaWFTdHJlYW1DZW50
ZXI6OnZhbGlkYXRlUmVxdWVzdENvbnN0cmFpbnRzKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1DcmUK
ICAgICB9CiAgICAgCiAgICAgaWYgKHZpZGVvQ29uc3RyYWludHMpIHsKLSAgICAgICAgU3RyaW5n
IGludmFsaWRRdWVyeSA9IHZlcmlmeUNvbnN0cmFpbnRzKHZpZGVvQ29uc3RyYWludHMuZ2V0KCkp
OworICAgICAgICBTdHJpbmcgaW52YWxpZFF1ZXJ5ID0gTWVkaWFDb25zdHJhaW50c01vY2s6OnZl
cmlmeUNvbnN0cmFpbnRzKHZpZGVvQ29uc3RyYWludHMpOwogICAgICAgICBpZiAoIWludmFsaWRR
dWVyeS5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgIGNsaWVudC0+Y29uc3RyYWludHNJbnZhbGlk
KGludmFsaWRRdWVyeSk7CiAgICAgICAgICAgICByZXR1cm47CkBAIC0xOTgsNyArMTY0LDcgQEAg
dm9pZCBNb2NrTWVkaWFTdHJlYW1DZW50ZXI6OmNyZWF0ZU1lZGlhU3RyZWFtKFBhc3NSZWZQdHI8
TWVkaWFTdHJlYW1DcmVhdGlvbkNsaWUKICAgICBNb2NrU291cmNlTWFwJiBtYXAgPSBtb2NrU291
cmNlTWFwKCk7CiAKICAgICBpZiAoYXVkaW9Db25zdHJhaW50cykgewotICAgICAgICBTdHJpbmcg
aW52YWxpZFF1ZXJ5ID0gdmVyaWZ5Q29uc3RyYWludHMoYXVkaW9Db25zdHJhaW50cy5nZXQoKSk7
CisgICAgICAgIFN0cmluZyBpbnZhbGlkUXVlcnkgPSBNZWRpYUNvbnN0cmFpbnRzTW9jazo6dmVy
aWZ5Q29uc3RyYWludHMoYXVkaW9Db25zdHJhaW50cyk7CiAgICAgICAgIGlmICghaW52YWxpZFF1
ZXJ5LmlzRW1wdHkoKSkgewogICAgICAgICAgICAgY2xpZW50LT5mYWlsZWRUb0NyZWF0ZVN0cmVh
bVdpdGhDb25zdHJhaW50c0Vycm9yKGludmFsaWRRdWVyeSk7CiAgICAgICAgICAgICByZXR1cm47
CkBAIC0yMTQsNyArMTgwLDcgQEAgdm9pZCBNb2NrTWVkaWFTdHJlYW1DZW50ZXI6OmNyZWF0ZU1l
ZGlhU3RyZWFtKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1DcmVhdGlvbkNsaWUKICAgICB9CiAKICAg
ICBpZiAodmlkZW9Db25zdHJhaW50cykgewotICAgICAgICBTdHJpbmcgaW52YWxpZFF1ZXJ5ID0g
dmVyaWZ5Q29uc3RyYWludHModmlkZW9Db25zdHJhaW50cy5nZXQoKSk7CisgICAgICAgIFN0cmlu
ZyBpbnZhbGlkUXVlcnkgPSBNZWRpYUNvbnN0cmFpbnRzTW9jazo6dmVyaWZ5Q29uc3RyYWludHMo
dmlkZW9Db25zdHJhaW50cyk7CiAgICAgICAgIGlmICghaW52YWxpZFF1ZXJ5LmlzRW1wdHkoKSkg
ewogICAgICAgICAgICAgY2xpZW50LT5mYWlsZWRUb0NyZWF0ZVN0cmVhbVdpdGhDb25zdHJhaW50
c0Vycm9yKGludmFsaWRRdWVyeSk7CiAgICAgICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlck1vY2su
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9SVENQZWVyQ29ubmVjdGlvbkhhbmRs
ZXJNb2NrLmNwcAppbmRleCA1ODkxYzUwZTNkZjhlMWQzMmM2ZWY2N2MyNDFhMDQ4OTAxZjAzOWJi
Li5iM2U0ZWU3NTU5NzI1OTM0NDhlMjc1YTU4ZDg2ZDhmYzJhMGUwOWViIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlck1vY2su
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svUlRDUGVlckNvbm5lY3Rpb25I
YW5kbGVyTW9jay5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUgIlJUQ1BlZXJDb25u
ZWN0aW9uSGFuZGxlck1vY2suaCIKIAorI2luY2x1ZGUgIk1lZGlhQ29uc3RyYWludHNNb2NrLmgi
CiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJSVENEVE1GU2VuZGVySGFu
ZGxlci5oIgogI2luY2x1ZGUgIlJUQ0RhdGFDaGFubmVsSGFuZGxlci5oIgpAQCAtNDUsMTEgKzQ2
LDEyIEBAIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlck1vY2s6OlJUQ1BlZXJDb25uZWN0aW9uSGFu
ZGxlck1vY2soUlRDUGVlckNvbm5lY3Rpb25IYW5kCiB7CiB9CiAKLWJvb2wgUlRDUGVlckNvbm5l
Y3Rpb25IYW5kbGVyTW9jazo6aW5pdGlhbGl6ZShQYXNzUmVmUHRyPFJUQ0NvbmZpZ3VyYXRpb24+
LCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+KQorYm9vbCBSVENQZWVyQ29ubmVjdGlvbkhh
bmRsZXJNb2NrOjppbml0aWFsaXplKFBhc3NSZWZQdHI8UlRDQ29uZmlndXJhdGlvbj4sIFBhc3NS
ZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gY29uc3RyYWludHMpCiB7Ci0gICAgLy8gRklYTUU6IG9u
Y2UgdGhlcmUgaXMgc3VwcG9ydCBpbiBSVENQZWVyQ29ubmVjdGlvbiArIGNvbnN0cmFpbnRzLCB0
aGlzIHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgaGVyZQotICAgIC8vIGFuZCBhIExheW91
VGVzdCBmb3IgdGhhdCBtdXN0IGJlIGFkZGVkLgotICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMjMwOTMKKyAgICBTdHJpbmcgaW52YWxpZFF1ZXJ5ID0gTWVk
aWFDb25zdHJhaW50c01vY2s6OnZlcmlmeUNvbnN0cmFpbnRzKGNvbnN0cmFpbnRzKTsKKyAgICBp
ZiAoaW52YWxpZFF1ZXJ5LmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAg
UmVmUHRyPEljZUNvbm5lY3Rpb25Ob3RpZmllcj4gbm90aWZpZXIgPSBhZG9wdFJlZihuZXcgSWNl
Q29ubmVjdGlvbk5vdGlmaWVyKG1fY2xpZW50LCBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGll
bnQ6OkljZUNvbm5lY3Rpb25TdGF0ZUNvbXBsZXRlZCwgUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVy
Q2xpZW50OjpJY2VHYXRoZXJpbmdTdGF0ZUNvbXBsZXRlKSk7CiAgICAgbV90aW1lckV2ZW50cy5h
cHBlbmQoYWRvcHRSZWYobmV3IFRpbWVyRXZlbnQodGhpcywgbm90aWZpZXIpKSk7CiAgICAgcmV0
dXJuIHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggZDk4ODhlMGFlZWQ3YTkxY2IwZmZmZjNhMWExMDRkNTYwZjUxNzUw
Mi4uYTEzMjU2MjQ5YTQ5NmY4MWZhZTM3MDJhZDA0NjI1YmQ5NGY5YjU3OSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE0IEBACisyMDEzLTExLTI3ICBUaGlhZ28gZGUgQmFycm9zIExhY2VyZGEgIDx0aGlhZ28u
bGFjZXJkYUBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIEFkZGluZyBNZWRpYUNvbnN0cmFpbnRz
TW9jayBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTI0OTAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAg
IFZhbGlkYXRlIGNvbnN0cmFpbnRzIHVzZWQgaW4gUlRDUGVlckNvbm5lY3Rpb24gTGF5b3V0VGVz
dHMKKworICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tZXhwZWN0
ZWQudHh0OgorCiAyMDEzLTExLTI3ICBNaWNoYcWCIFBha3XFgmEgdmVsIFJ1dGthICA8bS5wYWt1
bGFAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBFRkwgZ2FyZGVuaW5nCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rp
b24tZXhwZWN0ZWQudHh0CmluZGV4IGYwMzAzZGI1MjhjODAzYzBlMmY5ZGJmZTIwYTRlYjZlOTll
ZjUzYTUuLjJhYTJkODU2YjlhZjVmNGQzOWU2M2U3OTExODI0MTYzNGQ4MWVhZmMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rp
b24tZXhwZWN0ZWQudHh0CkBAIC00NSwxNiArNDUsMTYgQEAgUEFTUyBuZXcgd2Via2l0UlRDUGVl
ckNvbm5lY3Rpb24oe2ljZVNlcnZlcnM6W119LCB7bWFuZGF0b3J5Ont2YWxpZF9hbmRfc3VwcG9y
dGUKIFBBU1MgbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJzOltdfSwge29w
dGlvbmFsOlt7dmFsaWRfYW5kX3N1cHBvcnRlZF8xOjB9XX0pOyBkaWQgbm90IHRocm93IGV4Y2Vw
dGlvbi4KIFBBU1MgbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJzOltdfSwg
e29wdGlvbmFsOlt7dmFsaWRfYW5kX3N1cHBvcnRlZF8xOjB9LHt2YWxpZF9hbmRfc3VwcG9ydGVk
XzI6MH1dfSk7IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgogUEFTUyBuZXcgd2Via2l0UlRDUGVl
ckNvbm5lY3Rpb24oe2ljZVNlcnZlcnM6W119LCB7b3B0aW9uYWw6W3t2YWxpZF9idXRfdW5zdXBw
b3J0ZWRfMTowfSx7dmFsaWRfYnV0X3Vuc3VwcG9ydGVkXzI6MH1dfSk7IGRpZCBub3QgdGhyb3cg
ZXhjZXB0aW9uLgotUEFTUyBuZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rpb24oe2ljZVNlcnZlcnM6
W119LCB7bWFuZGF0b3J5Ont2YWxpZF9hbmRfc3VwcG9ydGVkXzE6NjZ9fSk7IHRocmV3IGV4Y2Vw
dGlvbiBFcnJvcjogTm90U3VwcG9ydGVkRXJyb3I6IERPTSBFeGNlcHRpb24gOS4KLVBBU1MgbmV3
IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJzOltdfSwge21hbmRhdG9yeTp7aW52
YWxpZDoxfX0pOyB0aHJldyBleGNlcHRpb24gRXJyb3I6IE5vdFN1cHBvcnRlZEVycm9yOiBET00g
RXhjZXB0aW9uIDkuCi1QQVNTIG5ldyB3ZWJraXRSVENQZWVyQ29ubmVjdGlvbih7aWNlU2VydmVy
czpbXX0sIHttYW5kYXRvcnk6e3ZhbGlkX2J1dF91bnN1cHBvcnRlZF8xOjF9fSk7IHRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogTm90U3VwcG9ydGVkRXJyb3I6IERPTSBFeGNlcHRpb24gOS4KLVBBU1Mg
bmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJzOltdfSwge21hbmRhdG9yeTp7
dmFsaWRfYnV0X3Vuc3VwcG9ydGVkXzE6MSwgdmFsaWRfYW5kX3N1cHBvcnRlZF8xOjF9fSk7IHRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogTm90U3VwcG9ydGVkRXJyb3I6IERPTSBFeGNlcHRpb24gOS4K
LVBBU1MgbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJzOltdfSwge29wdGlv
bmFsOnt2YWxpZF9hbmRfc3VwcG9ydGVkXzE6MH19KTsgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBU
eXBlTWlzbWF0Y2hFcnJvcjogRE9NIEV4Y2VwdGlvbiAxNy4KLVBBU1MgbmV3IHdlYmtpdFJUQ1Bl
ZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJzOltdfSwge29wdGlvbmFsOlt7dmFsaWRfYW5kX3N1cHBv
cnRlZF8xOjAsdmFsaWRfYW5kX3N1cHBvcnRlZF8yOjB9XX0pOyB0aHJldyBleGNlcHRpb24gRXJy
b3I6IFR5cGVNaXNtYXRjaEVycm9yOiBET00gRXhjZXB0aW9uIDE3LgotUEFTUyBuZXcgd2Via2l0
UlRDUGVlckNvbm5lY3Rpb24oe2ljZVNlcnZlcnM6W119LCB7b3B0aW9uYWw6W3tpbnZhbGlkOjB9
XX0pOyB0aHJldyBleGNlcHRpb24gRXJyb3I6IE5vdFN1cHBvcnRlZEVycm9yOiBET00gRXhjZXB0
aW9uIDkuCi1QQVNTIG5ldyB3ZWJraXRSVENQZWVyQ29ubmVjdGlvbih7aWNlU2VydmVyczpbXX0s
IHt2YWxpZF9hbmRfc3VwcG9ydGVkXzE6MX0pOyB0aHJldyBleGNlcHRpb24gRXJyb3I6IFR5cGVN
aXNtYXRjaEVycm9yOiBET00gRXhjZXB0aW9uIDE3LgotUEFTUyBuZXcgd2Via2l0UlRDUGVlckNv
bm5lY3Rpb24oe2ljZVNlcnZlcnM6W119LCB7dmFsaWRfYnV0X3Vuc3VwcG9ydGVkXzE6MX0pOyB0
aHJldyBleGNlcHRpb24gRXJyb3I6IFR5cGVNaXNtYXRjaEVycm9yOiBET00gRXhjZXB0aW9uIDE3
LgotUEFTUyBuZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rpb24oe2ljZVNlcnZlcnM6W119LCB7dmFs
aWRfYW5kX3N1cHBvcnRlZF8yOjEsIG1hbmRhdG9yeTp7dmFsaWRfYW5kX3N1cHBvcnRlZF8xOjF9
fSk7IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVHlwZU1pc21hdGNoRXJyb3I6IERPTSBFeGNlcHRp
b24gMTcuCitQQVNTIG5ldyB3ZWJraXRSVENQZWVyQ29ubmVjdGlvbih7aWNlU2VydmVyczpbXX0s
IHttYW5kYXRvcnk6e3ZhbGlkX2FuZF9zdXBwb3J0ZWRfMTo2Nn19KTsgdGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogRXJyb3IgY3JlYXRpbmcgUlRDUGVlckNvbm5lY3Rpb24uCitQQVNTIG5ldyB3
ZWJraXRSVENQZWVyQ29ubmVjdGlvbih7aWNlU2VydmVyczpbXX0sIHttYW5kYXRvcnk6e2ludmFs
aWQ6MX19KTsgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogRXJyb3IgY3JlYXRpbmcgUlRDUGVl
ckNvbm5lY3Rpb24uCitQQVNTIG5ldyB3ZWJraXRSVENQZWVyQ29ubmVjdGlvbih7aWNlU2VydmVy
czpbXX0sIHttYW5kYXRvcnk6e3ZhbGlkX2J1dF91bnN1cHBvcnRlZF8xOjF9fSk7IHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IEVycm9yIGNyZWF0aW5nIFJUQ1BlZXJDb25uZWN0aW9uLgorUEFT
UyBuZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rpb24oe2ljZVNlcnZlcnM6W119LCB7bWFuZGF0b3J5
Ont2YWxpZF9idXRfdW5zdXBwb3J0ZWRfMToxLCB2YWxpZF9hbmRfc3VwcG9ydGVkXzE6MX19KTsg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogRXJyb3IgY3JlYXRpbmcgUlRDUGVlckNvbm5lY3Rp
b24uCitQQVNTIG5ldyB3ZWJraXRSVENQZWVyQ29ubmVjdGlvbih7aWNlU2VydmVyczpbXX0sIHtv
cHRpb25hbDp7dmFsaWRfYW5kX3N1cHBvcnRlZF8xOjB9fSk7IHRocmV3IGV4Y2VwdGlvbiBUeXBl
RXJyb3I6IEludmFsaWQgUlRDUGVlckNvbm5lY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnRzLgor
UEFTUyBuZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rpb24oe2ljZVNlcnZlcnM6W119LCB7b3B0aW9u
YWw6W3t2YWxpZF9hbmRfc3VwcG9ydGVkXzE6MCx2YWxpZF9hbmRfc3VwcG9ydGVkXzI6MH1dfSk7
IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEludmFsaWQgUlRDUGVlckNvbm5lY3Rpb24gY29u
c3RydWN0b3IgYXJndW1lbnRzLgorUEFTUyBuZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rpb24oe2lj
ZVNlcnZlcnM6W119LCB7b3B0aW9uYWw6W3tpbnZhbGlkOjB9XX0pOyB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBFcnJvciBjcmVhdGluZyBSVENQZWVyQ29ubmVjdGlvbi4KK1BBU1MgbmV3IHdl
YmtpdFJUQ1BlZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJzOltdfSwge3ZhbGlkX2FuZF9zdXBwb3J0
ZWRfMToxfSk7IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEludmFsaWQgUlRDUGVlckNvbm5l
Y3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnRzLgorUEFTUyBuZXcgd2Via2l0UlRDUGVlckNvbm5l
Y3Rpb24oe2ljZVNlcnZlcnM6W119LCB7dmFsaWRfYnV0X3Vuc3VwcG9ydGVkXzE6MX0pOyB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBJbnZhbGlkIFJUQ1BlZXJDb25uZWN0aW9uIGNvbnN0cnVj
dG9yIGFyZ3VtZW50cy4KK1BBU1MgbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKHtpY2VTZXJ2
ZXJzOltdfSwge3ZhbGlkX2FuZF9zdXBwb3J0ZWRfMjoxLCBtYW5kYXRvcnk6e3ZhbGlkX2FuZF9z
dXBwb3J0ZWRfMToxfX0pOyB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBJbnZhbGlkIFJUQ1Bl
ZXJDb25uZWN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cy4KIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQo=
</data>
<flag name="commit-queue"
          id="241224"
          type_id="3"
          status="-"
          setter="thiago.lacerda"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217962</attachid>
            <date>2013-11-27 12:15:22 -0800</date>
            <delta_ts>2013-11-27 13:01:13 -0800</delta_ts>
            <desc>Patch for landing.</desc>
            <filename>bug-124902-20131127171520.patch</filename>
            <type>text/plain</type>
            <size>18840</size>
            <attacher name="Thiago de Barros Lacerda">thiago.lacerda</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU5ODIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWFiNDFiNjJkNjhlMWI2
ZGE5NmVmYzM1MGUyZTYwNzU5OWFlYjE4MC4uMTQ1ZmM4Mzc4ZmE3NjU5ZDRkMzk0MzJjZDIzOWJm
NjY5YWYzYzViYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEzLTExLTI3ICBUaGlh
Z28gZGUgQmFycm9zIExhY2VyZGEgIDx0aGlhZ28ubGFjZXJkYUBvcGVuYm9zc2Eub3JnPgorCisg
ICAgICAgIEFkZGluZyBNZWRpYUNvbnN0cmFpbnRzTW9jayBjbGFzcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0OTAyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgIFZhbGlkYXRlIGNvbnN0cmFpbnRzIHVzZWQg
aW4gUlRDUGVlckNvbm5lY3Rpb24gTGF5b3V0VGVzdHMKKworICAgICAgICBFeGlzdGluZyB0ZXN0
IHdhcyB1cGRhdGVkLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05V
bWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL01lZGlhQ29uc3RyYWlu
dHNNb2NrLmNwcDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbW9jay9NZWRpYUNvbnN0cmFp
bnRzTW9jay5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL01vY2tNZWRpYVN0cmVh
bUNlbnRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFTdHJlYW1DZW50ZXI6OnZh
bGlkYXRlUmVxdWVzdENvbnN0cmFpbnRzKTogTm93IHVzaW5nIE1lZGlhQ29uc3RyYWludHNNb2Nr
CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFTdHJlYW1DZW50ZXI6OmNyZWF0ZU1lZGlhU3Ry
ZWFtKTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vbW9jay9SVENQZWVyQ29ubmVjdGlvbkhh
bmRsZXJNb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxl
ck1vY2s6OmluaXRpYWxpemUpOiBEaXR0by4KKwogMjAxMy0xMS0yNyAgTmljayBEaWVnbyBZYW1h
bmUgIDxuaWNrLnlhbWFuZUBvcGVuYm9zc2Eub3JnPgogCiAgICAgICAgIFJlbW92ZSBRdC1zcGVj
aWZpYyAucXJjIGZpbGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDczODU2YjM5ZDk5YThkMzMw
ZDZkNDkxM2Q5Y2JmOWNlN2JjNDkzMGMuLmYzYTAxYTg1ZTk1MGEyMjlmMTdkNThmYmJhY2YyZTg2
ZmIxMjkwNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yMDI4LDYgKzIwMjgsNyBAQCBzZXQo
V2ViQ29yZV9TT1VSQ0VTCiAgICAgcGxhdGZvcm0vbW9jay9EZXZpY2VNb3Rpb25DbGllbnRNb2Nr
LmNwcAogICAgIHBsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNwcAog
ICAgIHBsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmNwcAorICAgIHBsYXRmb3Jt
L21vY2svTWVkaWFDb25zdHJhaW50c01vY2suY3BwCiAgICAgcGxhdGZvcm0vbW9jay9Nb2NrTWVk
aWFTdHJlYW1DZW50ZXIuY3BwCiAgICAgcGxhdGZvcm0vbW9jay9SVENEYXRhQ2hhbm5lbEhhbmRs
ZXJNb2NrLmNwcAogICAgIHBsYXRmb3JtL21vY2svUlRDTm90aWZpZXJzTW9jay5jcHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGMwNTE3YzM0ZTdiY2QyYjhhNTdiZmQ2ZjAwNTQ3
NjM5ZGNiMWVhZGQuLjgyNmFkYjVlMTdkZmNiMDc4MmEyOTNiMzIzZmUzNjEwNmMzYWI3NjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNTQ0OSw2ICs1NDQ5LDggQEAgd2ViY29y
ZV9wbGF0Zm9ybV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0Rl
dmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svTWVkaWFDb25zdHJhaW50c01vY2suY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tb2NrL01lZGlhQ29uc3RyYWludHNNb2NrLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svTW9ja01lZGlhU3RyZWFtQ2VudGVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9Nb2NrTWVkaWFTdHJlYW1DZW50ZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9SVENEYXRhQ2hhbm5lbEhhbmRsZXJNb2NrLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01lZGlhQ29uc3RyYWludHNNb2NrLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFDb25zdHJhaW50c01vY2suY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmRiOTM4OTUxNjNmMTRmMDRmMzkwODRhMmM3NmEzMTFlMzA5YmUxYjMKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01lZGlhQ29uc3RyYWludHNNb2Nr
LmNwcApAQCAtMCwwICsxLDc2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgTm9raWEgQ29y
cG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisg
KiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2lu
Y2x1ZGUgIk1lZGlhQ29uc3RyYWludHNNb2NrLmgiCisKKyNpbmNsdWRlICJNZWRpYUNvbnN0cmFp
bnRzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworYm9vbCBpc1N1cHBvcnRlZChjb25zdCBT
dHJpbmcmIGNvbnN0cmFpbnQpCit7CisgICAgcmV0dXJuIG5vdEZvdW5kICE9IGNvbnN0cmFpbnQu
ZmluZCgiX2FuZF9zdXBwb3J0ZWRfIik7Cit9CisKK2Jvb2wgaXNWYWxpZChjb25zdCBTdHJpbmcm
IGNvbnN0cmFpbnQpCit7CisgICAgcmV0dXJuIGlzU3VwcG9ydGVkKGNvbnN0cmFpbnQpIHx8IG5v
dEZvdW5kICE9IGNvbnN0cmFpbnQuZmluZCgidmFsaWRfIik7Cit9CisKK1N0cmluZyBNZWRpYUNv
bnN0cmFpbnRzTW9jazo6dmVyaWZ5Q29uc3RyYWludHMoUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFp
bnRzPiBwcnBDb25zdHJhaW50cykKK3sKKyAgICBSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gY29u
c3RyYWludHMgPSBwcnBDb25zdHJhaW50czsKKworICAgIFZlY3RvcjxNZWRpYUNvbnN0cmFpbnQ+
IG1hbmRhdG9yeUNvbnN0cmFpbnRzOworICAgIGNvbnN0cmFpbnRzLT5nZXRNYW5kYXRvcnlDb25z
dHJhaW50cyhtYW5kYXRvcnlDb25zdHJhaW50cyk7CisgICAgaWYgKG1hbmRhdG9yeUNvbnN0cmFp
bnRzLnNpemUoKSkgeworICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1hbmRhdG9yeUNv
bnN0cmFpbnRzLnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICBjb25zdCBNZWRpYUNvbnN0cmFp
bnQmIGN1cnIgPSBtYW5kYXRvcnlDb25zdHJhaW50c1tpXTsKKyAgICAgICAgICAgIGlmICghaXNT
dXBwb3J0ZWQoY3Vyci5tX25hbWUpIHx8IGN1cnIubV92YWx1ZSAhPSAiMSIpCisgICAgICAgICAg
ICAgICAgcmV0dXJuIGN1cnIubV9uYW1lOworICAgICAgICB9CisgICAgfQorCisgICAgVmVjdG9y
PE1lZGlhQ29uc3RyYWludD4gb3B0aW9uYWxDb25zdHJhaW50czsKKyAgICBjb25zdHJhaW50cy0+
Z2V0T3B0aW9uYWxDb25zdHJhaW50cyhvcHRpb25hbENvbnN0cmFpbnRzKTsKKyAgICBpZiAob3B0
aW9uYWxDb25zdHJhaW50cy5zaXplKCkpIHsKKyAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBvcHRpb25hbENvbnN0cmFpbnRzLnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICBjb25zdCBN
ZWRpYUNvbnN0cmFpbnQmIGN1cnIgPSBvcHRpb25hbENvbnN0cmFpbnRzW2ldOworICAgICAgICAg
ICAgaWYgKCFpc1ZhbGlkKGN1cnIubV9uYW1lKSB8fCBjdXJyLm1fdmFsdWUgIT0gIjAiKQorICAg
ICAgICAgICAgICAgIHJldHVybiBjdXJyLm1fbmFtZTsKKyAgICAgICAgfQorICAgIH0KKworICAg
IHJldHVybiBlbXB0eVN0cmluZygpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9NZWRpYUNvbnN0cmFpbnRzTW9jay5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbW9jay9NZWRpYUNvbnN0cmFpbnRzTW9jay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFjOTZjNjE5YmJh
NWJhODkwNjBjYWM3OTliN2NhNGNiMWViOGI0NWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01lZGlhQ29uc3RyYWludHNNb2NrLmgKQEAgLTAsMCArMSw0
OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBp
dHMgc3Vic2lkaWFyeSgtaWVzKS4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisg
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTWVkaWFD
b25zdHJhaW50c01vY2tfaAorI2RlZmluZSBNZWRpYUNvbnN0cmFpbnRzTW9ja19oCisKKyNpZiBF
TkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNs
dWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBNZWRpYUNvbnN0cmFpbnRzOworCitjbGFzcyBNZWRpYUNvbnN0cmFpbnRzTW9jayB7CitwdWJs
aWM6CisgICAgc3RhdGljIFN0cmluZyB2ZXJpZnlDb25zdHJhaW50cyhQYXNzUmVmUHRyPE1lZGlh
Q29uc3RyYWludHM+KTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IE1vY2tNZWRpYUNvbnN0cmFpbnRzX2gKKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0p
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYVN0cmVh
bUNlbnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYVN0cmVh
bUNlbnRlci5jcHAKaW5kZXggMmU4OGI2NzI3MTFhZTkwMGEyNmZjYzllMzczNjQwMDcyYTliNzk5
MC4uMjBjYjFhYjhiNDEyY2QyYjQzZmFlYmY5ODBiODI3ZmFjMzI4MzA4NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFTdHJlYW1DZW50ZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja01lZGlhU3RyZWFtQ2VudGVyLmNw
cApAQCAtMSw2ICsxLDcgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBDb21wdXRl
ciwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBOb2tp
YSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTI1LDEwICsyNiwxMiBAQAogICovCiAKICNpbmNsdWRlICJj
b25maWcuaCIKLSNpbmNsdWRlICJNb2NrTWVkaWFTdHJlYW1DZW50ZXIuaCIKIAogI2lmIEVOQUJM
RShNRURJQV9TVFJFQU0pCiAKKyNpbmNsdWRlICJNb2NrTWVkaWFTdHJlYW1DZW50ZXIuaCIKKwor
I2luY2x1ZGUgIk1lZGlhQ29uc3RyYWludHNNb2NrLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW0u
aCIKICNpbmNsdWRlICJNZWRpYVN0cmVhbUNyZWF0aW9uQ2xpZW50LmgiCiAjaW5jbHVkZSAiTWVk
aWFTdHJlYW1Qcml2YXRlLmgiCkBAIC0xMjUsNDMgKzEyOCw2IEBAIHZvaWQgTW9ja01lZGlhU3Ry
ZWFtQ2VudGVyOjpyZWdpc3Rlck1vY2tNZWRpYVN0cmVhbUNlbnRlcigpCiAgICAgfQogfQogCi1z
dGF0aWMgYm9vbCBpc1N1cHBvcnRlZE1vY2tDb25zdHJhaW50KGNvbnN0IFN0cmluZyYgY29uc3Ry
YWludE5hbWUpCi17Ci0gICAgcmV0dXJuIG5vdEZvdW5kICE9IGNvbnN0cmFpbnROYW1lLmZpbmQo
Il9hbmRfc3VwcG9ydGVkXyIpOwotfQotCi1zdGF0aWMgYm9vbCBpc1ZhbGlkTW9ja0NvbnN0cmFp
bnQoY29uc3QgU3RyaW5nJiBjb25zdHJhaW50TmFtZSkKLXsKLSAgICBpZiAoaXNTdXBwb3J0ZWRN
b2NrQ29uc3RyYWludChjb25zdHJhaW50TmFtZSkpCi0gICAgICAgIHJldHVybiB0cnVlOwotICAg
IHJldHVybiBub3RGb3VuZCAhPSBjb25zdHJhaW50TmFtZS5maW5kKCJfYnV0X3Vuc3VwcG9ydGVk
XyIpOwotfQotCi1zdGF0aWMgU3RyaW5nIHZlcmlmeUNvbnN0cmFpbnRzKE1lZGlhQ29uc3RyYWlu
dHMqIGNvbnN0cmFpbnRzKQotewotICAgIFZlY3RvcjxNZWRpYUNvbnN0cmFpbnQ+IG1hbmRhdG9y
eUNvbnN0cmFpbnRzOwotICAgIGNvbnN0cmFpbnRzLT5nZXRNYW5kYXRvcnlDb25zdHJhaW50cyht
YW5kYXRvcnlDb25zdHJhaW50cyk7Ci0gICAgaWYgKG1hbmRhdG9yeUNvbnN0cmFpbnRzLnNpemUo
KSkgewotICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1hbmRhdG9yeUNvbnN0cmFpbnRz
LnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICBjb25zdCBNZWRpYUNvbnN0cmFpbnQmIGNvbnN0
cmFpbnQgPSBtYW5kYXRvcnlDb25zdHJhaW50c1tpXTsKLSAgICAgICAgICAgIGlmICghaXNTdXBw
b3J0ZWRNb2NrQ29uc3RyYWludChjb25zdHJhaW50Lm1fbmFtZSkgfHwgY29uc3RyYWludC5tX3Zh
bHVlICE9ICIxIikKLSAgICAgICAgICAgICAgICByZXR1cm4gY29uc3RyYWludC5tX25hbWU7Ci0g
ICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgVmVjdG9yPE1lZGlhQ29uc3RyYWludD4gb3B0aW9u
YWxDb25zdHJhaW50czsKLSAgICBjb25zdHJhaW50cy0+Z2V0T3B0aW9uYWxDb25zdHJhaW50cyhv
cHRpb25hbENvbnN0cmFpbnRzKTsKLSAgICBpZiAob3B0aW9uYWxDb25zdHJhaW50cy5zaXplKCkp
IHsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBvcHRpb25hbENvbnN0cmFpbnRzLnNp
emUoKTsgKytpKSB7Ci0gICAgICAgICAgICBjb25zdCBNZWRpYUNvbnN0cmFpbnQmIGNvbnN0cmFp
bnQgPSBvcHRpb25hbENvbnN0cmFpbnRzW2ldOwotICAgICAgICAgICAgaWYgKCFpc1ZhbGlkTW9j
a0NvbnN0cmFpbnQoY29uc3RyYWludC5tX25hbWUpIHx8IGNvbnN0cmFpbnQubV92YWx1ZSAhPSAi
MCIpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnN0cmFpbnQubV9uYW1lOwotICAgICAgICB9
Ci0gICAgfQotICAgIAotICAgIHJldHVybiBlbXB0eVN0cmluZygpOwotfQotCiB2b2lkIE1vY2tN
ZWRpYVN0cmVhbUNlbnRlcjo6dmFsaWRhdGVSZXF1ZXN0Q29uc3RyYWludHMoUGFzc1JlZlB0cjxN
ZWRpYVN0cmVhbUNyZWF0aW9uQ2xpZW50PiBwcnBRdWVyeUNsaWVudCwgUGFzc1JlZlB0cjxNZWRp
YUNvbnN0cmFpbnRzPiBhdWRpb0NvbnN0cmFpbnRzLCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWlu
dHM+IHZpZGVvQ29uc3RyYWludHMpCiB7CiAgICAgUmVmUHRyPE1lZGlhU3RyZWFtQ3JlYXRpb25D
bGllbnQ+IGNsaWVudCA9IHBycFF1ZXJ5Q2xpZW50OwpAQCAtMTY5LDcgKzEzNSw3IEBAIHZvaWQg
TW9ja01lZGlhU3RyZWFtQ2VudGVyOjp2YWxpZGF0ZVJlcXVlc3RDb25zdHJhaW50cyhQYXNzUmVm
UHRyPE1lZGlhU3RyZWFtQ3JlCiAgICAgQVNTRVJUKGNsaWVudCk7CiAgICAgCiAgICAgaWYgKGF1
ZGlvQ29uc3RyYWludHMpIHsKLSAgICAgICAgU3RyaW5nIGludmFsaWRRdWVyeSA9IHZlcmlmeUNv
bnN0cmFpbnRzKGF1ZGlvQ29uc3RyYWludHMuZ2V0KCkpOworICAgICAgICBTdHJpbmcgaW52YWxp
ZFF1ZXJ5ID0gTWVkaWFDb25zdHJhaW50c01vY2s6OnZlcmlmeUNvbnN0cmFpbnRzKGF1ZGlvQ29u
c3RyYWludHMpOwogICAgICAgICBpZiAoIWludmFsaWRRdWVyeS5pc0VtcHR5KCkpIHsKICAgICAg
ICAgICAgIGNsaWVudC0+Y29uc3RyYWludHNJbnZhbGlkKGludmFsaWRRdWVyeSk7CiAgICAgICAg
ICAgICByZXR1cm47CkBAIC0xNzcsNyArMTQzLDcgQEAgdm9pZCBNb2NrTWVkaWFTdHJlYW1DZW50
ZXI6OnZhbGlkYXRlUmVxdWVzdENvbnN0cmFpbnRzKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1DcmUK
ICAgICB9CiAgICAgCiAgICAgaWYgKHZpZGVvQ29uc3RyYWludHMpIHsKLSAgICAgICAgU3RyaW5n
IGludmFsaWRRdWVyeSA9IHZlcmlmeUNvbnN0cmFpbnRzKHZpZGVvQ29uc3RyYWludHMuZ2V0KCkp
OworICAgICAgICBTdHJpbmcgaW52YWxpZFF1ZXJ5ID0gTWVkaWFDb25zdHJhaW50c01vY2s6OnZl
cmlmeUNvbnN0cmFpbnRzKHZpZGVvQ29uc3RyYWludHMpOwogICAgICAgICBpZiAoIWludmFsaWRR
dWVyeS5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgIGNsaWVudC0+Y29uc3RyYWludHNJbnZhbGlk
KGludmFsaWRRdWVyeSk7CiAgICAgICAgICAgICByZXR1cm47CkBAIC0xOTgsNyArMTY0LDcgQEAg
dm9pZCBNb2NrTWVkaWFTdHJlYW1DZW50ZXI6OmNyZWF0ZU1lZGlhU3RyZWFtKFBhc3NSZWZQdHI8
TWVkaWFTdHJlYW1DcmVhdGlvbkNsaWUKICAgICBNb2NrU291cmNlTWFwJiBtYXAgPSBtb2NrU291
cmNlTWFwKCk7CiAKICAgICBpZiAoYXVkaW9Db25zdHJhaW50cykgewotICAgICAgICBTdHJpbmcg
aW52YWxpZFF1ZXJ5ID0gdmVyaWZ5Q29uc3RyYWludHMoYXVkaW9Db25zdHJhaW50cy5nZXQoKSk7
CisgICAgICAgIFN0cmluZyBpbnZhbGlkUXVlcnkgPSBNZWRpYUNvbnN0cmFpbnRzTW9jazo6dmVy
aWZ5Q29uc3RyYWludHMoYXVkaW9Db25zdHJhaW50cyk7CiAgICAgICAgIGlmICghaW52YWxpZFF1
ZXJ5LmlzRW1wdHkoKSkgewogICAgICAgICAgICAgY2xpZW50LT5mYWlsZWRUb0NyZWF0ZVN0cmVh
bVdpdGhDb25zdHJhaW50c0Vycm9yKGludmFsaWRRdWVyeSk7CiAgICAgICAgICAgICByZXR1cm47
CkBAIC0yMTQsNyArMTgwLDcgQEAgdm9pZCBNb2NrTWVkaWFTdHJlYW1DZW50ZXI6OmNyZWF0ZU1l
ZGlhU3RyZWFtKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1DcmVhdGlvbkNsaWUKICAgICB9CiAKICAg
ICBpZiAodmlkZW9Db25zdHJhaW50cykgewotICAgICAgICBTdHJpbmcgaW52YWxpZFF1ZXJ5ID0g
dmVyaWZ5Q29uc3RyYWludHModmlkZW9Db25zdHJhaW50cy5nZXQoKSk7CisgICAgICAgIFN0cmlu
ZyBpbnZhbGlkUXVlcnkgPSBNZWRpYUNvbnN0cmFpbnRzTW9jazo6dmVyaWZ5Q29uc3RyYWludHMo
dmlkZW9Db25zdHJhaW50cyk7CiAgICAgICAgIGlmICghaW52YWxpZFF1ZXJ5LmlzRW1wdHkoKSkg
ewogICAgICAgICAgICAgY2xpZW50LT5mYWlsZWRUb0NyZWF0ZVN0cmVhbVdpdGhDb25zdHJhaW50
c0Vycm9yKGludmFsaWRRdWVyeSk7CiAgICAgICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlck1vY2su
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9SVENQZWVyQ29ubmVjdGlvbkhhbmRs
ZXJNb2NrLmNwcAppbmRleCA1ODkxYzUwZTNkZjhlMWQzMmM2ZWY2N2MyNDFhMDQ4OTAxZjAzOWJi
Li4xOTViZDQ5MDdiNTM2Y2UwNTMyNzY2MmRhYTVmYTM1OTBkMmNmNmMxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlck1vY2su
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svUlRDUGVlckNvbm5lY3Rpb25I
YW5kbGVyTW9jay5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUgIlJUQ1BlZXJDb25u
ZWN0aW9uSGFuZGxlck1vY2suaCIKIAorI2luY2x1ZGUgIk1lZGlhQ29uc3RyYWludHNNb2NrLmgi
CiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJSVENEVE1GU2VuZGVySGFu
ZGxlci5oIgogI2luY2x1ZGUgIlJUQ0RhdGFDaGFubmVsSGFuZGxlci5oIgpAQCAtNDUsMTEgKzQ2
LDEyIEBAIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlck1vY2s6OlJUQ1BlZXJDb25uZWN0aW9uSGFu
ZGxlck1vY2soUlRDUGVlckNvbm5lY3Rpb25IYW5kCiB7CiB9CiAKLWJvb2wgUlRDUGVlckNvbm5l
Y3Rpb25IYW5kbGVyTW9jazo6aW5pdGlhbGl6ZShQYXNzUmVmUHRyPFJUQ0NvbmZpZ3VyYXRpb24+
LCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+KQorYm9vbCBSVENQZWVyQ29ubmVjdGlvbkhh
bmRsZXJNb2NrOjppbml0aWFsaXplKFBhc3NSZWZQdHI8UlRDQ29uZmlndXJhdGlvbj4sIFBhc3NS
ZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gY29uc3RyYWludHMpCiB7Ci0gICAgLy8gRklYTUU6IG9u
Y2UgdGhlcmUgaXMgc3VwcG9ydCBpbiBSVENQZWVyQ29ubmVjdGlvbiArIGNvbnN0cmFpbnRzLCB0
aGlzIHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgaGVyZQotICAgIC8vIGFuZCBhIExheW91
VGVzdCBmb3IgdGhhdCBtdXN0IGJlIGFkZGVkLgotICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMjMwOTMKKyAgICBTdHJpbmcgaW52YWxpZFF1ZXJ5ID0gTWVk
aWFDb25zdHJhaW50c01vY2s6OnZlcmlmeUNvbnN0cmFpbnRzKGNvbnN0cmFpbnRzKTsKKyAgICBp
ZiAoIWludmFsaWRRdWVyeS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAg
IFJlZlB0cjxJY2VDb25uZWN0aW9uTm90aWZpZXI+IG5vdGlmaWVyID0gYWRvcHRSZWYobmV3IElj
ZUNvbm5lY3Rpb25Ob3RpZmllcihtX2NsaWVudCwgUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xp
ZW50OjpJY2VDb25uZWN0aW9uU3RhdGVDb21wbGV0ZWQsIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxl
ckNsaWVudDo6SWNlR2F0aGVyaW5nU3RhdGVDb21wbGV0ZSkpOwogICAgIG1fdGltZXJFdmVudHMu
YXBwZW5kKGFkb3B0UmVmKG5ldyBUaW1lckV2ZW50KHRoaXMsIG5vdGlmaWVyKSkpOwogICAgIHJl
dHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IGQ5ODg4ZTBhZWVkN2E5MWNiMGZmZmYzYTFhMTA0ZDU2MGY1MTc1
MDIuLmExMzI1NjI0OWE0OTZmODFmYWUzNzAyYWQwNDYyNWJkOTRmOWI1NzkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxMy0xMS0yNyAgVGhpYWdvIGRlIEJhcnJvcyBMYWNlcmRhICA8dGhpYWdv
LmxhY2VyZGFAb3BlbmJvc3NhLm9yZz4KKworICAgICAgICBBZGRpbmcgTWVkaWFDb25zdHJhaW50
c01vY2sgY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEyNDkwMgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAg
ICBWYWxpZGF0ZSBjb25zdHJhaW50cyB1c2VkIGluIFJUQ1BlZXJDb25uZWN0aW9uIExheW91dFRl
c3RzCisKKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWV4cGVj
dGVkLnR4dDoKKwogMjAxMy0xMS0yNyAgTWljaGHFgiBQYWt1xYJhIHZlbCBSdXRrYSAgPG0ucGFr
dWxhQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgRUZMIGdhcmRlbmluZwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0
aW9uLWV4cGVjdGVkLnR4dAppbmRleCBmMDMwM2RiNTI4YzgwM2MwZTJmOWRiZmUyMGE0ZWI2ZTk5
ZWY1M2E1Li4yYWEyZDg1NmI5YWY1ZjRkMzllNjNlNzkxMTgyNDE2MzRkODFlYWZjIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0
aW9uLWV4cGVjdGVkLnR4dApAQCAtNDUsMTYgKzQ1LDE2IEBAIFBBU1MgbmV3IHdlYmtpdFJUQ1Bl
ZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJzOltdfSwge21hbmRhdG9yeTp7dmFsaWRfYW5kX3N1cHBv
cnRlCiBQQVNTIG5ldyB3ZWJraXRSVENQZWVyQ29ubmVjdGlvbih7aWNlU2VydmVyczpbXX0sIHtv
cHRpb25hbDpbe3ZhbGlkX2FuZF9zdXBwb3J0ZWRfMTowfV19KTsgZGlkIG5vdCB0aHJvdyBleGNl
cHRpb24uCiBQQVNTIG5ldyB3ZWJraXRSVENQZWVyQ29ubmVjdGlvbih7aWNlU2VydmVyczpbXX0s
IHtvcHRpb25hbDpbe3ZhbGlkX2FuZF9zdXBwb3J0ZWRfMTowfSx7dmFsaWRfYW5kX3N1cHBvcnRl
ZF8yOjB9XX0pOyBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KIFBBU1MgbmV3IHdlYmtpdFJUQ1Bl
ZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJzOltdfSwge29wdGlvbmFsOlt7dmFsaWRfYnV0X3Vuc3Vw
cG9ydGVkXzE6MH0se3ZhbGlkX2J1dF91bnN1cHBvcnRlZF8yOjB9XX0pOyBkaWQgbm90IHRocm93
IGV4Y2VwdGlvbi4KLVBBU1MgbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJz
OltdfSwge21hbmRhdG9yeTp7dmFsaWRfYW5kX3N1cHBvcnRlZF8xOjY2fX0pOyB0aHJldyBleGNl
cHRpb24gRXJyb3I6IE5vdFN1cHBvcnRlZEVycm9yOiBET00gRXhjZXB0aW9uIDkuCi1QQVNTIG5l
dyB3ZWJraXRSVENQZWVyQ29ubmVjdGlvbih7aWNlU2VydmVyczpbXX0sIHttYW5kYXRvcnk6e2lu
dmFsaWQ6MX19KTsgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBOb3RTdXBwb3J0ZWRFcnJvcjogRE9N
IEV4Y2VwdGlvbiA5LgotUEFTUyBuZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rpb24oe2ljZVNlcnZl
cnM6W119LCB7bWFuZGF0b3J5Ont2YWxpZF9idXRfdW5zdXBwb3J0ZWRfMToxfX0pOyB0aHJldyBl
eGNlcHRpb24gRXJyb3I6IE5vdFN1cHBvcnRlZEVycm9yOiBET00gRXhjZXB0aW9uIDkuCi1QQVNT
IG5ldyB3ZWJraXRSVENQZWVyQ29ubmVjdGlvbih7aWNlU2VydmVyczpbXX0sIHttYW5kYXRvcnk6
e3ZhbGlkX2J1dF91bnN1cHBvcnRlZF8xOjEsIHZhbGlkX2FuZF9zdXBwb3J0ZWRfMToxfX0pOyB0
aHJldyBleGNlcHRpb24gRXJyb3I6IE5vdFN1cHBvcnRlZEVycm9yOiBET00gRXhjZXB0aW9uIDku
Ci1QQVNTIG5ldyB3ZWJraXRSVENQZWVyQ29ubmVjdGlvbih7aWNlU2VydmVyczpbXX0sIHtvcHRp
b25hbDp7dmFsaWRfYW5kX3N1cHBvcnRlZF8xOjB9fSk7IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
VHlwZU1pc21hdGNoRXJyb3I6IERPTSBFeGNlcHRpb24gMTcuCi1QQVNTIG5ldyB3ZWJraXRSVENQ
ZWVyQ29ubmVjdGlvbih7aWNlU2VydmVyczpbXX0sIHtvcHRpb25hbDpbe3ZhbGlkX2FuZF9zdXBw
b3J0ZWRfMTowLHZhbGlkX2FuZF9zdXBwb3J0ZWRfMjowfV19KTsgdGhyZXcgZXhjZXB0aW9uIEVy
cm9yOiBUeXBlTWlzbWF0Y2hFcnJvcjogRE9NIEV4Y2VwdGlvbiAxNy4KLVBBU1MgbmV3IHdlYmtp
dFJUQ1BlZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJzOltdfSwge29wdGlvbmFsOlt7aW52YWxpZDow
fV19KTsgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBOb3RTdXBwb3J0ZWRFcnJvcjogRE9NIEV4Y2Vw
dGlvbiA5LgotUEFTUyBuZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rpb24oe2ljZVNlcnZlcnM6W119
LCB7dmFsaWRfYW5kX3N1cHBvcnRlZF8xOjF9KTsgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUeXBl
TWlzbWF0Y2hFcnJvcjogRE9NIEV4Y2VwdGlvbiAxNy4KLVBBU1MgbmV3IHdlYmtpdFJUQ1BlZXJD
b25uZWN0aW9uKHtpY2VTZXJ2ZXJzOltdfSwge3ZhbGlkX2J1dF91bnN1cHBvcnRlZF8xOjF9KTsg
dGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUeXBlTWlzbWF0Y2hFcnJvcjogRE9NIEV4Y2VwdGlvbiAx
Ny4KLVBBU1MgbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJzOltdfSwge3Zh
bGlkX2FuZF9zdXBwb3J0ZWRfMjoxLCBtYW5kYXRvcnk6e3ZhbGlkX2FuZF9zdXBwb3J0ZWRfMTox
fX0pOyB0aHJldyBleGNlcHRpb24gRXJyb3I6IFR5cGVNaXNtYXRjaEVycm9yOiBET00gRXhjZXB0
aW9uIDE3LgorUEFTUyBuZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rpb24oe2ljZVNlcnZlcnM6W119
LCB7bWFuZGF0b3J5Ont2YWxpZF9hbmRfc3VwcG9ydGVkXzE6NjZ9fSk7IHRocmV3IGV4Y2VwdGlv
biBUeXBlRXJyb3I6IEVycm9yIGNyZWF0aW5nIFJUQ1BlZXJDb25uZWN0aW9uLgorUEFTUyBuZXcg
d2Via2l0UlRDUGVlckNvbm5lY3Rpb24oe2ljZVNlcnZlcnM6W119LCB7bWFuZGF0b3J5OntpbnZh
bGlkOjF9fSk7IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEVycm9yIGNyZWF0aW5nIFJUQ1Bl
ZXJDb25uZWN0aW9uLgorUEFTUyBuZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rpb24oe2ljZVNlcnZl
cnM6W119LCB7bWFuZGF0b3J5Ont2YWxpZF9idXRfdW5zdXBwb3J0ZWRfMToxfX0pOyB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBFcnJvciBjcmVhdGluZyBSVENQZWVyQ29ubmVjdGlvbi4KK1BB
U1MgbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJzOltdfSwge21hbmRhdG9y
eTp7dmFsaWRfYnV0X3Vuc3VwcG9ydGVkXzE6MSwgdmFsaWRfYW5kX3N1cHBvcnRlZF8xOjF9fSk7
IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEVycm9yIGNyZWF0aW5nIFJUQ1BlZXJDb25uZWN0
aW9uLgorUEFTUyBuZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rpb24oe2ljZVNlcnZlcnM6W119LCB7
b3B0aW9uYWw6e3ZhbGlkX2FuZF9zdXBwb3J0ZWRfMTowfX0pOyB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiBJbnZhbGlkIFJUQ1BlZXJDb25uZWN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cy4K
K1BBU1MgbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJzOltdfSwge29wdGlv
bmFsOlt7dmFsaWRfYW5kX3N1cHBvcnRlZF8xOjAsdmFsaWRfYW5kX3N1cHBvcnRlZF8yOjB9XX0p
OyB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBJbnZhbGlkIFJUQ1BlZXJDb25uZWN0aW9uIGNv
bnN0cnVjdG9yIGFyZ3VtZW50cy4KK1BBU1MgbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKHtp
Y2VTZXJ2ZXJzOltdfSwge29wdGlvbmFsOlt7aW52YWxpZDowfV19KTsgdGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogRXJyb3IgY3JlYXRpbmcgUlRDUGVlckNvbm5lY3Rpb24uCitQQVNTIG5ldyB3
ZWJraXRSVENQZWVyQ29ubmVjdGlvbih7aWNlU2VydmVyczpbXX0sIHt2YWxpZF9hbmRfc3VwcG9y
dGVkXzE6MX0pOyB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBJbnZhbGlkIFJUQ1BlZXJDb25u
ZWN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cy4KK1BBU1MgbmV3IHdlYmtpdFJUQ1BlZXJDb25u
ZWN0aW9uKHtpY2VTZXJ2ZXJzOltdfSwge3ZhbGlkX2J1dF91bnN1cHBvcnRlZF8xOjF9KTsgdGhy
ZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogSW52YWxpZCBSVENQZWVyQ29ubmVjdGlvbiBjb25zdHJ1
Y3RvciBhcmd1bWVudHMuCitQQVNTIG5ldyB3ZWJraXRSVENQZWVyQ29ubmVjdGlvbih7aWNlU2Vy
dmVyczpbXX0sIHt2YWxpZF9hbmRfc3VwcG9ydGVkXzI6MSwgbWFuZGF0b3J5Ont2YWxpZF9hbmRf
c3VwcG9ydGVkXzE6MX19KTsgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogSW52YWxpZCBSVENQ
ZWVyQ29ubmVjdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMuCiBQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUK
</data>

          </attachment>
      

    </bug>

</bugzilla>