<?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>63133</bug_id>
          
          <creation_ts>2011-06-22 05:44:00 -0700</creation_ts>
          <short_desc>[CSSRegions]Parse content: -webkit-from-flow</short_desc>
          <delta_ts>2011-07-08 11:45:39 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</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>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>57312</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mihnea Ovidenie">mihnea</reporter>
          <assigned_to name="Mihnea Ovidenie">mihnea</assigned_to>
          <cc>eoconnor</cc>
    
    <cc>rcaliman</cc>
    
    <cc>shanestephens</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>425165</commentid>
    <comment_count>0</comment_count>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2011-06-22 05:44:00 -0700</bug_when>
    <thetext>Add support for css regions content: from-flow: http://www.w3.org/TR/css3-regions/#the-content-property.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>429576</commentid>
    <comment_count>1</comment_count>
      <attachid>99084</attachid>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2011-06-29 07:01:54 -0700</bug_when>
    <thetext>Created attachment 99084
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>431135</commentid>
    <comment_count>2</comment_count>
      <attachid>99470</attachid>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2011-07-01 06:59:49 -0700</bug_when>
    <thetext>Created attachment 99470
Patch 2

Moved tests into LayoutTests/fast/regions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>433044</commentid>
    <comment_count>3</comment_count>
      <attachid>99470</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-07-06 14:38:11 -0700</bug_when>
    <thetext>Comment on attachment 99470
Patch 2

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

Couple of nits.

&gt; Source/WebCore/css/CSSParser.h:160
&gt; +        PassRefPtr&lt;CSSValue&gt; parseFromFlowContent(CSSParserValueList* args);

You can omit the word &quot;args&quot; here. Typically if the type of the parameter makes it obvious what you&apos;ve got, we just omit the name in headers.

&gt; Source/WebCore/css/CSSStyleSelector.cpp:4165
&gt; +

Useless whitespace change. Get rid of this. Thanks.

&gt; Source/WebCore/rendering/style/RenderStyle.h:1099
&gt; +    void setRegionThread(const AtomicString&amp; n) { SET_VAR(rareNonInheritedData, m_regionThread, n); }

Can omit &quot;n&quot; here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>433356</commentid>
    <comment_count>4</comment_count>
      <attachid>99958</attachid>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2011-07-07 02:00:59 -0700</bug_when>
    <thetext>Created attachment 99958
Patch 3

Thanks for the review. I have reworked the patch based on your suggestions and taking into account the previous CSSRegions patch that got into trunk.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>433732</commentid>
    <comment_count>5</comment_count>
      <attachid>99958</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-07-07 15:15:15 -0700</bug_when>
    <thetext>Comment on attachment 99958
Patch 3

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

Looks good but I forgot you need the -webkit- prefix for any new values you add to already-standardized properties.

&gt; Source/WebCore/css/CSSParser.cpp:2661
&gt; +            } else if (equalIgnoringCase(val-&gt;function-&gt;name, &quot;from-flow(&quot;)) {

Seems like this needs to be &quot;-webkit-from-flow&quot;, since we&apos;re putting it into an existing property, and this value is still non-standard.

&gt; Source/WebCore/css/CSSPrimitiveValue.cpp:695
&gt; +            text = &quot;from-flow(&quot; + quoteCSSStringIfNeeded(m_value.string) + &quot;)&quot;;

Same here... -webkit-from-flow and not just from-flow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>433928</commentid>
    <comment_count>6</comment_count>
      <attachid>100083</attachid>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2011-07-08 00:06:42 -0700</bug_when>
    <thetext>Created attachment 100083
Patch 4

Reworking the patch:
1. Changed from content: from-flow to content: -webkit-from-flow. 
2. Reworked tests to take into account -webkit-from-flow
3. Renamed test files</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434108</commentid>
    <comment_count>7</comment_count>
      <attachid>100083</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-07-08 09:47:03 -0700</bug_when>
    <thetext>Comment on attachment 100083
Patch 4

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434136</commentid>
    <comment_count>8</comment_count>
      <attachid>100083</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-08 10:29:24 -0700</bug_when>
    <thetext>Comment on attachment 100083
Patch 4

Clearing flags on attachment: 100083

Committed r90642: &lt;http://trac.webkit.org/changeset/90642&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434137</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-08 10:29:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>99084</attachid>
            <date>2011-06-29 07:01:54 -0700</date>
            <delta_ts>2011-07-01 06:59:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>63133-1.patch</filename>
            <type>text/plain</type>
            <size>21955</size>
            <attacher name="Mihnea Ovidenie">mihnea</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzZjhlNTAzLi40NGMxNGMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDYt
MjkgIE1paG5lYSBPdmlkZW5pZSAgPG1paG5lYUBhZG9iZS5jb20+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGNvbnRlbnQ6
ZnJvbS1mbG93KCdmbG93LW5hbWUnKSBzeW50YXguIAorCisgICAgICAgIFtDU1NSZWdpb25zXVBh
cnNlIGNvbnRlbnQ6IGZyb20tZmxvdworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjMxMzMKKworICAgICAgICAqIGZhc3QvY3NzLXJlZ2lvbnMvY29udGVu
dC1mcm9tLWZsb3ctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy1yZWdp
b25zL2NvbnRlbnQtZnJvbS1mbG93Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzLXJl
Z2lvbnMvc2NyaXB0LXRlc3RzL2NvbnRlbnQtZnJvbS1mbG93LmpzOiBBZGRlZC4KKyAgICAgICAg
KHRlc3RDU1NUZXh0KToKKyAgICAgICAgKHRlc3RDb21wdXRlZFN0eWxlKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6CisgICAgICAgICogcGxhdGZv
cm0vZ3RrL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1NraXBwZWQ6CisgICAgICAg
ICogcGxhdGZvcm0vcXQvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vU2tpcHBlZDoK
KwogMjAxMS0wNi0yOSAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy1yZWdpb25zL2NvbnRlbnQtZnJvbS1mbG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvY3NzLXJlZ2lvbnMvY29udGVudC1mcm9tLWZsb3ctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjExNmE0NzUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy1yZWdpb25zL2NvbnRlbnQtZnJvbS1mbG93LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM4IEBACitUZXN0cyBiZWluZyBhYmxlIHRvIHNldCBjb250ZW50IHRvIGZy
b20tZmxvdworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB0ZXN0Q1NTVGV4
dCgiY29udGVudDogZnJvbS1mbG93KCdmaXJzdC1mbG93JykiKSBpcyAiZnJvbS1mbG93KGZpcnN0
LWZsb3cpIgorUEFTUyB0ZXN0Q1NTVGV4dCgiY29udGVudDogZnJvbS1mbG93KCdmaXJzdCBmbG93
JykiKSBpcyAiZnJvbS1mbG93KCdmaXJzdCBmbG93JykiCitQQVNTIHRlc3RDU1NUZXh0KCJjb250
ZW50OiBmcm9tLWZsb3coJ2F1dG8nKSIpIGlzICJmcm9tLWZsb3coYXV0bykiCitQQVNTIHRlc3RD
U1NUZXh0KCJjb250ZW50OiBmcm9tLWZsb3coYXV0bykiKSBpcyAiIgorUEFTUyB0ZXN0Q1NTVGV4
dCgiY29udGVudDogZnJvbS1mbG93KGluaXRpYWwpIikgaXMgIiIKK1BBU1MgdGVzdENTU1RleHQo
ImNvbnRlbnQ6IGZyb20tZmxvdyhpbmhlcml0KSIpIGlzICIiCitQQVNTIHRlc3RDU1NUZXh0KCJj
b250ZW50OiBmcm9tLWZsb3coKSIpIGlzICIiCitQQVNTIHRlc3RDU1NUZXh0KCJjb250ZW50OiBm
cm9tLWZsb3coJycpIikgaXMgImZyb20tZmxvdygnJykiCitQQVNTIHRlc3RDU1NUZXh0KCJjb250
ZW50OiA7IikgaXMgIiIKK1BBU1MgdGVzdENTU1RleHQoImNvbnRlbnQ6IGZyb20tZmxvdygxKSIp
IGlzICIiCitQQVNTIHRlc3RDU1NUZXh0KCJjb250ZW50OiBmcm9tLWZsb3coMS4yKSIpIGlzICIi
CitQQVNTIHRlc3RDU1NUZXh0KCJjb250ZW50OiBmcm9tLWZsb3coLTEpIikgaXMgIiIKK1BBU1Mg
dGVzdENTU1RleHQoImNvbnRlbnQ6IGZyb20tZmxvdygxMnB4KSIpIGlzICIiCitQQVNTIHRlc3RD
U1NUZXh0KCJjb250ZW50OiBmcm9tLWZsb3coZmlyc3QgZmxvdykiKSBpcyAiIgorUEFTUyB0ZXN0
Q1NTVGV4dCgiY29udGVudDogZnJvbS1mbG93KGZpcnN0LWZsb3cpIikgaXMgIiIKK1BBU1MgdGVz
dENvbXB1dGVkU3R5bGUoIidmaXJzdC1mbG93JyIpIGlzICJmaXJzdC1mbG93IgorUEFTUyB0ZXN0
Q29tcHV0ZWRTdHlsZSgiJ2ZpcnN0IGZsb3cnIikgaXMgIidmaXJzdCBmbG93JyIKK1BBU1MgdGVz
dENvbXB1dGVkU3R5bGUoIidhdXRvJyIpIGlzICJhdXRvIgorUEFTUyB0ZXN0Q29tcHV0ZWRTdHls
ZSgiYXV0byIpIGlzICIiCitQQVNTIHRlc3RDb21wdXRlZFN0eWxlKCJpbml0aWFsIikgaXMgIiIK
K1BBU1MgdGVzdENvbXB1dGVkU3R5bGUoImluaGVyaXQiKSBpcyAiIgorUEFTUyB0ZXN0Q29tcHV0
ZWRTdHlsZSgiIikgaXMgIiIKK1BBU1MgdGVzdENvbXB1dGVkU3R5bGUoIjEiKSBpcyAiIgorUEFT
UyB0ZXN0Q29tcHV0ZWRTdHlsZSgiMS4yIikgaXMgIiIKK1BBU1MgdGVzdENvbXB1dGVkU3R5bGUo
Ii0xIikgaXMgIiIKK1BBU1MgdGVzdENvbXB1dGVkU3R5bGUoIjEycHgiKSBpcyAiIgorUEFTUyB0
ZXN0Q29tcHV0ZWRTdHlsZSgiJyciKSBpcyAiJyciCitQQVNTIHRlc3RDb21wdXRlZFN0eWxlKCJm
aXJzdCBmbG93IikgaXMgIiIKK1BBU1MgdGVzdENvbXB1dGVkU3R5bGUoImZpcnN0LWZsb3ciKSBp
cyAiIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLXJlZ2lvbnMvY29udGVudC1mcm9tLWZs
b3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLXJlZ2lvbnMvY29udGVudC1mcm9tLWZsb3cu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NTJjNWQ5Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtcmVnaW9ucy9jb250ZW50LWZyb20tZmxv
dy5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2NvbnRlbnQtZnJvbS1mbG93Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9jc3MtcmVnaW9ucy9zY3JpcHQtdGVzdHMvY29udGVudC1mcm9tLWZsb3cuanMg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1yZWdpb25zL3NjcmlwdC10ZXN0cy9jb250ZW50LWZyb20t
Zmxvdy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZTI0ZGNiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtcmVnaW9ucy9zY3JpcHQtdGVzdHMv
Y29udGVudC1mcm9tLWZsb3cuanMKQEAgLTAsMCArMSw1MCBAQAorZGVzY3JpcHRpb24oJ1Rlc3Rz
IGJlaW5nIGFibGUgdG8gc2V0IGNvbnRlbnQgdG8gZnJvbS1mbG93Jyk7CisKK2Z1bmN0aW9uIHRl
c3RDU1NUZXh0KGRlY2xhcmF0aW9uKSB7CisgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImRpdiIpOworICAgIGRpdi5zZXRBdHRyaWJ1dGUoInN0eWxlIiwgZGVjbGFyYXRpb24p
OworICAgIHJldHVybiBkaXYuc3R5bGUuY29udGVudDsKK30KKworZnVuY3Rpb24gdGVzdENvbXB1
dGVkU3R5bGUoZGVjbGFyYXRpb24pIHsKKyAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiZGl2Iik7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOworICAgIGRp
di5zdHlsZS5zZXRQcm9wZXJ0eSgiY29udGVudCIsIGRlY2xhcmF0aW9uKTsKKworICAgIHZhciBj
b250ZW50Q29tcHV0ZWRWYWx1ZSA9IGdldENvbXB1dGVkU3R5bGUoZGl2KS5nZXRQcm9wZXJ0eVZh
bHVlKCJjb250ZW50Iik7CisgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChkaXYpOworICAg
IHJldHVybiBjb250ZW50Q29tcHV0ZWRWYWx1ZTsKK30KKworc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCd0ZXN0Q1NTVGV4dCgiY29udGVudDogZnJvbS1mbG93KFwnZmlyc3QtZmxvd1wnKSIpJywgImZy
b20tZmxvdyhmaXJzdC1mbG93KSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0Q1NTVGV4
dCgiY29udGVudDogZnJvbS1mbG93KFwnZmlyc3QgZmxvd1wnKSIpJywgImZyb20tZmxvdygnZmly
c3QgZmxvdycpIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RDU1NUZXh0KCJjb250ZW50
OiBmcm9tLWZsb3coXCdhdXRvXCcpIiknLCAiZnJvbS1mbG93KGF1dG8pIik7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3Rlc3RDU1NUZXh0KCJjb250ZW50OiBmcm9tLWZsb3coYXV0bykiKScsICIi
KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdENTU1RleHQoImNvbnRlbnQ6IGZyb20tZmxv
dyhpbml0aWFsKSIpJywgIiIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0Q1NTVGV4dCgi
Y29udGVudDogZnJvbS1mbG93KGluaGVyaXQpIiknLCAiIik7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3Rlc3RDU1NUZXh0KCJjb250ZW50OiBmcm9tLWZsb3coKSIpJywgIiIpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCd0ZXN0Q1NTVGV4dCgiY29udGVudDogZnJvbS1mbG93KFwnXCcpIiknLCAi
ZnJvbS1mbG93KCcnKSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0Q1NTVGV4dCgiY29u
dGVudDogOyIpJywgIiIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0Q1NTVGV4dCgiY29u
dGVudDogZnJvbS1mbG93KDEpIiknLCAiIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RD
U1NUZXh0KCJjb250ZW50OiBmcm9tLWZsb3coMS4yKSIpJywgIiIpOworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCd0ZXN0Q1NTVGV4dCgiY29udGVudDogZnJvbS1mbG93KC0xKSIpJywgIiIpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0Q1NTVGV4dCgiY29udGVudDogZnJvbS1mbG93KDEycHgp
IiknLCAiIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RDU1NUZXh0KCJjb250ZW50OiBm
cm9tLWZsb3coZmlyc3QgZmxvdykiKScsICIiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVz
dENTU1RleHQoImNvbnRlbnQ6IGZyb20tZmxvdyhmaXJzdC1mbG93KSIpJywgIiIpOworCitzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RDb21wdXRlZFN0eWxlKCJcJ2ZpcnN0LWZsb3dcJyIpJywg
ImZpcnN0LWZsb3ciKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdENvbXB1dGVkU3R5bGUo
IlwnZmlyc3QgZmxvd1wnIiknLCAiJ2ZpcnN0IGZsb3cnIik7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3Rlc3RDb21wdXRlZFN0eWxlKCJcJ2F1dG9cJyIpJywgImF1dG8iKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygndGVzdENvbXB1dGVkU3R5bGUoImF1dG8iKScsICIiKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygndGVzdENvbXB1dGVkU3R5bGUoImluaXRpYWwiKScsICIiKTsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygndGVzdENvbXB1dGVkU3R5bGUoImluaGVyaXQiKScsICIiKTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygndGVzdENvbXB1dGVkU3R5bGUoIiIpJywgIiIpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCd0ZXN0Q29tcHV0ZWRTdHlsZSgiMSIpJywgIiIpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCd0ZXN0Q29tcHV0ZWRTdHlsZSgiMS4yIiknLCAiIik7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3Rlc3RDb21wdXRlZFN0eWxlKCItMSIpJywgIiIpOworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCd0ZXN0Q29tcHV0ZWRTdHlsZSgiMTJweCIpJywgIiIpOworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCd0ZXN0Q29tcHV0ZWRTdHlsZSgiXCdcJyIpJywgIicnIik7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3Rlc3RDb21wdXRlZFN0eWxlKCJmaXJzdCBmbG93IiknLCAiIik7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3Rlc3RDb21wdXRlZFN0eWxlKCJmaXJzdC1mbG93IiknLCAiIik7CisK
K3N1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKaW5kZXggMjY1ZDE3YS4uOTZkMjM0MCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlv
bnMudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRp
b25zLnR4dApAQCAtMzkzMCw2ICszOTMwLDkgQEAgQlVHQ1I4NTI5MyBMSU5VWCA6IHN2Zy90ZXh0
L2ZvcmVpZ25PYmplY3QtdGV4dC1jbGlwcGluZy1idWcueG1sID0gSU1BR0UgUEFTUwogLy8gTmV3
IGZsZXhib3ggaXMgbm90IHlldCBlbmFibGVkLgogQlVHV0s2MjA0OCBTS0lQIDogY3NzMy9mbGV4
Ym94ID0gUEFTUwogCisvLyBDU1MgUmVnaW9ucyBzdXBwb3J0IG5vdCB5ZXQgZW5hYmxlZC4KK0JV
R1dLNTczMTIgU0tJUCA6IGZhc3QvY3NzLXJlZ2lvbnMgPSBQQVNTCisKIEJVR0NSODU3NTUgOiBm
YXN0L2pzL2V4Y2VwdGlvbi1wcm9wZXJ0aWVzLmh0bWwgPSBURVhUCiAKIEJVR1dLNjI0MzAgV0lO
IExJTlVYIDogZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVudC9pbmRldGVybWluYXRlLXByb2dy
ZXNzLTAwMS5odG1sID0gRkFJTApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAppbmRleCAxYzhhMDZl
Li5iYTNlMTUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZApAQCAtMTUzNiw2ICsxNTM2LDkg
QEAgaHR0cC90ZXN0cy9zZWN1cml0eS93ZWJnbC1yZW1vdGUtcmVhZC1yZW1vdGUtaW1hZ2UtYmxv
Y2tlZC1uby1jcm9zc29yaWdpbi5odG1sCiAjIE5ldyBmbGV4Ym94IGlzIG5vdCB5ZXQgZW5hYmxl
ZC4gaHR0cDovL3dlYmtpdC5vcmcvYi82MjA0OAogY3NzMy9mbGV4Ym94CiAKKyMgQ1NTIFJlZ2lv
bnMgc3VwcG9ydCBub3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNTczMTIKK2Zh
c3QvY3NzLXJlZ2lvbnMKKwogIyBGYWlsaW5nIGJlY2F1c2UgR1RLIER1bXBSZW5kZXJUcmVlIGRv
ZXNuJ3QgYmxvY2sgZXh0ZXJuYWwgbmV0d29yayByZXF1ZXN0cyBsaWtlIHRoZQogIyB3aWxsU2Vu
ZFJlcXVlc3QgbWV0aG9kIGRvZXMgZm9yIG90aGVyIHBvcnRzIChidWcgNjI1ODUpLgogZmFzdC93
b3JrZXJzL3dvcmtlci1jcmFzaC13aXRoLWludmFsaWQtbG9jYXRpb24tcHJldHR5LWRpZmYuaHRt
bApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAppbmRleCA5MWUxNjRkLi40YzM4NmUyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvU2tpcHBlZApAQCAtMzcwLDYgKzM3MCw5IEBAIHdlYmFyY2hpdmUvbG9hZGlu
Zy9tYWlucmVzb3VyY2UtbnVsbC1taW1ldHlwZS1jcmFzaC5odG1sCiAjIE5ldyBmbGV4Ym94IGlz
IG5vdCB5ZXQgZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi82MjA0OAogY3NzMy9mbGV4Ym94
CiAKKyMgQ1NTIFJlZ2lvbnMgc3VwcG9ydCBub3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQu
b3JnL2IvNTczMTIKK2Zhc3QvY3NzLXJlZ2lvbnMKKwogIyBKU0MgZG9lcyBub3Qgc3VwcG9ydCBz
ZXRJc29sYXRlZFdvcmxkU2VjdXJpdHlPcmlnaW4gKGh0dHA6Ly93ZWJraXQub3JnL2IvNjE1NDAp
CiBodHRwL3Rlc3RzL3NlY3VyaXR5L2lzb2xhdGVkV29ybGQvY3Jvc3Mtb3JpZ2luLXhoci5odG1s
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCmluZGV4IDkzYTkxODAuLmQ1MjJkMzQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vcXQvU2tpcHBlZApAQCAtMTM2LDYgKzEzNiw5IEBAIHN2Zy9jdXN0b20vc3ZnLWRpc2Fs
bG93ZWQtaW4tZGFzaGJvYXJkLW9iamVjdC5odG1sCiAjIE5ldyBmbGV4Ym94IGlzIG5vdCB5ZXQg
ZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi82MjA0OAogY3NzMy9mbGV4Ym94CiAKKyMgQ1NT
IFJlZ2lvbnMgc3VwcG9ydCBub3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNTcz
MTIKK2Zhc3QvY3NzLXJlZ2lvbnMKKwogIyBVU0UoVjgpCiAKICMgdjggaTE4biBleHRlbnNpb24u
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCmluZGV4IDBhMzEyNDcuLjA0NjA1NGEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbi9Ta2lwcGVkCkBAIC0xMzM0LDUgKzEzMzQsOCBAQCBodHRwL3Rlc3RzL3NlY3Vy
aXR5L3dlYmdsLXJlbW90ZS1yZWFkLXJlbW90ZS1pbWFnZS1ibG9ja2VkLW5vLWNyb3Nzb3JpZ2lu
Lmh0bWwKICMgTmV3IGZsZXhib3ggaXMgbm90IHlldCBlbmFibGVkLiBodHRwOi8vd2Via2l0Lm9y
Zy9iLzYyMDQ4CiBjc3MzL2ZsZXhib3gKIAorIyBDU1MgUmVnaW9ucyBzdXBwb3J0IG5vdCB5ZXQg
ZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi81NzMxMgorZmFzdC9jc3MtcmVnaW9ucworCiAj
IENhdXNlcyBhIFN5bnRheEVycm9yIChodHRwOi8vd2Via2l0Lm9yZy9iLzYyNTk1KS4KIGZhc3Qv
d29ya2Vycy93b3JrZXItY3Jhc2gtd2l0aC1pbnZhbGlkLWxvY2F0aW9uLmh0bWwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCA2ZTc4NjZjLi5kMzE1NGRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTEt
MDYtMjkgIE1paG5lYSBPdmlkZW5pZSAgPG1paG5lYUBhZG9iZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGNvbnRl
bnQ6ZnJvbS1mbG93KCdmbG93LW5hbWUnKSBzeW50YXguCisKKyAgICAgICAgW0NTU1JlZ2lvbnNd
UGFyc2UgY29udGVudDogZnJvbS1mbG93CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02MzEzMworCisgICAgICAgIFRlc3Q6IGZhc3QvY3NzLXJlZ2lvbnMv
Y29udGVudC1mcm9tLWZsb3cuaHRtbAorCisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVE
ZWNsYXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb250ZW50VG9DU1NWYWx1ZSk6Cisg
ICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6
OnBhcnNlQ29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlRnJvbUZs
b3dDb250ZW50KToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6CisgICAgICAgICogY3NzL0NT
U1ByaW1pdGl2ZVZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVl
OjpjbGVhbnVwKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpnZXRTdHJp
bmdWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Y3NzVGV4dCk6
CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmg6CisgICAgICAgICogY3NzL0NTU1N0
eWxlU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6YXBw
bHlQcm9wZXJ0eSk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpkaWZmKToKKyAgICAgICAgKiByZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdz
OjpyZWdpb25UaHJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OnNldFJl
Z2lvblRocmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6aW5pdGlhbFJl
Z2lvblRocmVhZCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVy
aXRlZERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0
YTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJh
cmVOb25Jbmhlcml0ZWREYXRhOjpvcGVyYXRvcj09KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5
bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oOgorCiAyMDExLTA2LTI5ICBWc2V2b2xvZCBW
bGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVs
IEZlbGRtYW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHls
ZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVj
bGFyYXRpb24uY3BwCmluZGV4IDYyZjRlYTYuLjY5ZTIxNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC03NjUsNiArNzY1
LDEwIEBAIHN0YXRpYyBQYXNzUmVmUHRyPENTU1ZhbHVlPiBjb250ZW50VG9DU1NWYWx1ZShjb25z
dCBSZW5kZXJTdHlsZSogc3R5bGUsIENTU1ByaW1pCiAgICAgICAgIH0gZWxzZSBpZiAoY29udGVu
dERhdGEtPmlzVGV4dCgpKQogICAgICAgICAgICAgbGlzdC0+YXBwZW5kKHByaW1pdGl2ZVZhbHVl
Q2FjaGUtPmNyZWF0ZVZhbHVlKHN0YXRpY19jYXN0PGNvbnN0IFRleHRDb250ZW50RGF0YSo+KGNv
bnRlbnREYXRhKS0+dGV4dCgpLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1NUUklORykpOwogICAg
IH0KKyNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCisgICAgaWYgKCFzdHlsZS0+cmVnaW9uVGhyZWFk
KCkuaXNOdWxsKCkpCisgICAgICAgIGxpc3QtPmFwcGVuZChwcmltaXRpdmVWYWx1ZUNhY2hlLT5j
cmVhdGVWYWx1ZShzdHlsZS0+cmVnaW9uVGhyZWFkKCksIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1Nf
U1RSSU5HKSk7CisjZW5kaWYKICAgICByZXR1cm4gbGlzdC5yZWxlYXNlKCk7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1BhcnNlci5jcHAKaW5kZXggZmY0M2EyZC4uNTVkMmMyNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhcnNlci5jcHAKQEAgLTI2NTMsNiArMjY1MywxMiBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VD
b250ZW50KGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogICAgICAgICAgICAgfSBlbHNlIGlm
IChpc0dlbmVyYXRlZEltYWdlVmFsdWUodmFsKSkgewogICAgICAgICAgICAgICAgIGlmICghcGFy
c2VHZW5lcmF0ZWRJbWFnZShwYXJzZWRWYWx1ZSkpCiAgICAgICAgICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKyNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCisgICAgICAgICAgICB9IGVsc2UgaWYg
KGVxdWFsSWdub3JpbmdDYXNlKHZhbC0+ZnVuY3Rpb24tPm5hbWUsICJmcm9tLWZsb3coIikpIHsK
KyAgICAgICAgICAgICAgICBwYXJzZWRWYWx1ZSA9IHBhcnNlRnJvbUZsb3dDb250ZW50KGFyZ3Mp
OworICAgICAgICAgICAgICAgIGlmICghcGFyc2VkVmFsdWUpCisgICAgICAgICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKyNlbmRpZgogICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9IGVsc2UgaWYgKHZhbC0+dW5pdCA9PSBDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTX0lERU5UKSB7CkBAIC01ODMyLDYgKzU4MzgsMjUgQEAgUGFzc1JlZlB0
cjxDU1NWYWx1ZUxpc3Q+IENTU1BhcnNlcjo6cGFyc2VUcmFuc2Zvcm0oKQogICAgIHJldHVybiBs
aXN0LnJlbGVhc2UoKTsKIH0KIAorI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKKy8vIFRoZSByZWdp
b24gbmFtZSBpcyBub3cgc3BlY2lmaWVkIGFzIGFuIGFyZ3VtZW50IHRvIHRoZSBjb250ZW50IHBy
b3BlcnR5OgorLy8gY29udGVudDogZnJvbS1mbG93KGZsb3dfdGhyZWFkX25hbWUpCitQYXNzUmVm
UHRyPENTU1ZhbHVlPiBDU1NQYXJzZXI6OnBhcnNlRnJvbUZsb3dDb250ZW50KENTU1BhcnNlclZh
bHVlTGlzdCogYXJncykKK3sKKyAgICAvLyBJdCBzaG91bGQgYmUgb25seSBvbmUgbmFtZSBmb3Ig
dGhlIHJlZ2lvbiB0aHJlYWQuCisgICAgaWYgKGFyZ3MtPnNpemUoKSAhPSAxKQorICAgICAgICBy
ZXR1cm4gMDsKKworICAgIENTU1BhcnNlclZhbHVlKiBhcmdGbG93VGhyZWFkTmFtZSA9IGFyZ3Mt
PmN1cnJlbnQoKTsKKworICAgIGlmIChhcmdGbG93VGhyZWFkTmFtZS0+dW5pdCAhPSBDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTX1NUUklORykKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBTdHJpbmcg
Zmxvd1RocmVhZE5hbWUgPSBhcmdGbG93VGhyZWFkTmFtZS0+c3RyaW5nOworICAgIHJldHVybiBD
U1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKGZsb3dUaHJlYWROYW1lLCBDU1NQcmltaXRpdmVWYWx1
ZTo6Q1NTX0ZST01fRkxPVyk7Cit9CisjZW5kaWYKKwogYm9vbCBDU1NQYXJzZXI6OnBhcnNlVHJh
bnNmb3JtT3JpZ2luKGludCBwcm9wSWQsIGludCYgcHJvcElkMSwgaW50JiBwcm9wSWQyLCBpbnQm
IHByb3BJZDMsIFJlZlB0cjxDU1NWYWx1ZT4mIHZhbHVlLCBSZWZQdHI8Q1NTVmFsdWU+JiB2YWx1
ZTIsIFJlZlB0cjxDU1NWYWx1ZT4mIHZhbHVlMykKIHsKICAgICBwcm9wSWQxID0gcHJvcElkOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5oCmluZGV4IGM2ZjA3OGEuLjg2NDU2YjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmgKQEAgLTE1Niw2ICsxNTYsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICBQYXNzUmVmUHRyPENTU1ZhbHVlPiBwYXJzZVdDU1NJbnB1dFByb3BlcnR5KCk7CiAjZW5kaWYK
IAorI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKKyAgICAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4g
cGFyc2VGcm9tRmxvd0NvbnRlbnQoQ1NTUGFyc2VyVmFsdWVMaXN0KiBhcmdzKTsKKyNlbmRpZgor
CiAgICAgICAgIC8vIENTUzMgUGFyc2luZyBSb3V0aW5lcyAoZm9yIHByb3BlcnRpZXMgc3BlY2lm
aWMgdG8gQ1NTMykKICAgICAgICAgYm9vbCBwYXJzZVNoYWRvdyhpbnQgcHJvcElkLCBib29sIGlt
cG9ydGFudCk7CiAgICAgICAgIGJvb2wgcGFyc2VCb3JkZXJJbWFnZShpbnQgcHJvcElkLCBib29s
IGltcG9ydGFudCwgUmVmUHRyPENTU1ZhbHVlPiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmlt
aXRpdmVWYWx1ZS5jcHAKaW5kZXggYmU4ODlhYi4uNTQ5NTFkZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCkBAIC0yMjEsNiArMjIxLDkgQEAgdm9pZCBDU1NQcmlt
aXRpdmVWYWx1ZTo6Y2xlYW51cCgpCiAgICAgICAgIGNhc2UgQ1NTX1NUUklORzoKICAgICAgICAg
Y2FzZSBDU1NfVVJJOgogICAgICAgICBjYXNlIENTU19BVFRSOgorI2lmIEVOQUJMRShDU1NfUkVH
SU9OUykKKyAgICAgICAgY2FzZSBDU1NfRlJPTV9GTE9XOgorI2VuZGlmCiAgICAgICAgIGNhc2Ug
Q1NTX1BBUlNFUl9IRVhDT0xPUjoKICAgICAgICAgICAgIGlmIChtX3ZhbHVlLnN0cmluZykKICAg
ICAgICAgICAgICAgICBtX3ZhbHVlLnN0cmluZy0+ZGVyZWYoKTsKQEAgLTUwNCw2ICs1MDcsOSBA
QCBTdHJpbmcgQ1NTUHJpbWl0aXZlVmFsdWU6OmdldFN0cmluZ1ZhbHVlKEV4Y2VwdGlvbkNvZGUm
IGVjKSBjb25zdAogICAgICAgICBjYXNlIENTU19TVFJJTkc6CiAgICAgICAgIGNhc2UgQ1NTX0FU
VFI6CiAgICAgICAgIGNhc2UgQ1NTX1VSSToKKyNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCisgICAg
ICAgIGNhc2UgQ1NTX0ZST01fRkxPVzoKKyNlbmRpZgogICAgICAgICAgICAgcmV0dXJuIG1fdmFs
dWUuc3RyaW5nOwogICAgICAgICBjYXNlIENTU19JREVOVDoKICAgICAgICAgICAgIHJldHVybiB2
YWx1ZU9yUHJvcGVydHlOYW1lKG1fdmFsdWUuaWRlbnQpOwpAQCAtNjg0LDYgKzY5MCwxMSBAQCBT
dHJpbmcgQ1NTUHJpbWl0aXZlVmFsdWU6OmNzc1RleHQoKSBjb25zdAogICAgICAgICBjYXNlIENT
U19TVFJJTkc6CiAgICAgICAgICAgICB0ZXh0ID0gcXVvdGVDU1NTdHJpbmdJZk5lZWRlZChtX3Zh
bHVlLnN0cmluZyk7CiAgICAgICAgICAgICBicmVhazsKKyNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMp
CisJCWNhc2UgQ1NTX0ZST01fRkxPVzoKKyAgICAgICAgICAgIHRleHQgPSAiZnJvbS1mbG93KCIg
KyBxdW90ZUNTU1N0cmluZ0lmTmVlZGVkKG1fdmFsdWUuc3RyaW5nKSArICIpIjsKKyAgICAgICAg
ICAgIGJyZWFrOworI2VuZGlmCiAgICAgICAgIGNhc2UgQ1NTX1VSSToKICAgICAgICAgICAgIHRl
eHQgPSAidXJsKCIgKyBxdW90ZUNTU1VSTElmTmVlZGVkKG1fdmFsdWUuc3RyaW5nKSArICIpIjsK
ICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1By
aW1pdGl2ZVZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaApp
bmRleCA5MDdkMGI5Li5mNDZlZDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJpbWl0aXZlVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFs
dWUuaApAQCAtOTUsNiArOTUsMTAgQEAgcHVibGljOgogCiAgICAgICAgIC8vIFRoaXMgaXMgdXNl
ZCBpbnRlcm5hbGx5IGZvciBjb3VudGVyIG5hbWVzIChhcyBvcHBvc2VkIHRvIGNvdW50ZXIgdmFs
dWVzKQogICAgICAgICBDU1NfQ09VTlRFUl9OQU1FID0gMTA5CisKKyNpZiBFTkFCTEUoQ1NTX1JF
R0lPTlMpCisgICAgICAgICwgQ1NTX0ZST01fRkxPVyA9IDExMAorI2VuZGlmCiAgICAgfTsKICAg
ICAKICAgICAvLyBUaGlzIGVudW0gZm9sbG93cyB0aGUgQ1NTUGFyc2VyOjpVbml0cyBlbnVtIGF1
Z21lbnRlZCB3aXRoIFVOSVRfRlJFUVVFTkNZIGZvciBmcmVxdWVuY2llcy4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAppbmRleCBlMGU1NmNlLi5iN2JlZDIzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCkBAIC00MTQxLDYgKzQxNDEsOSBAQCB2
b2lkIENTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVydHkoaW50IGlkLCBDU1NWYWx1ZSAqdmFs
dWUpCiAgICAgICAgIGludCBsZW4gPSBsaXN0LT5sZW5ndGgoKTsKIAogICAgICAgICBib29sIGRp
ZFNldCA9IGZhbHNlOworI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKKyAgICAgICAgYm9vbCBkaWRT
ZXRSZWdpb24gPSBmYWxzZTsKKyNlbmRpZgogICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGxl
bjsgaSsrKSB7CiAgICAgICAgICAgICBDU1NWYWx1ZSogaXRlbSA9IGxpc3QtPml0ZW1XaXRob3V0
Qm91bmRzQ2hlY2soaSk7CiAgICAgICAgICAgICBpZiAoaXRlbS0+aXNJbWFnZUdlbmVyYXRvclZh
bHVlKCkpIHsKQEAgLTQxODUsNiArNDE4OCwxNCBAQCB2b2lkIENTU1N0eWxlU2VsZWN0b3I6OmFw
cGx5UHJvcGVydHkoaW50IGlkLCBDU1NWYWx1ZSAqdmFsdWUpCiAgICAgICAgICAgICAgICAgZGlk
U2V0ID0gdHJ1ZTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KKyNpZiBF
TkFCTEUoQ1NTX1JFR0lPTlMpCisgICAgICAgICAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpD
U1NfRlJPTV9GTE9XOiB7CisgICAgICAgICAgICAgICAgbV9zdHlsZS0+c2V0UmVnaW9uVGhyZWFk
KGNvbnRlbnRWYWx1ZS0+Z2V0U3RyaW5nVmFsdWUoKS5pbXBsKCkpOworICAgICAgICAgICAgICAg
IGRpZFNldCA9IGZhbHNlOworICAgICAgICAgICAgICAgIGRpZFNldFJlZ2lvbiA9IHRydWU7Cisg
ICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisjZW5kaWYKICAgICAgICAgICAg
IGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19JREVOVDoKICAgICAgICAgICAgICAgICBzd2l0
Y2ggKGNvbnRlbnRWYWx1ZS0+Z2V0SWRlbnQoKSkgewogICAgICAgICAgICAgICAgIGNhc2UgQ1NT
VmFsdWVPcGVuUXVvdGU6CkBAIC00MjExLDYgKzQyMjIsMTEgQEAgdm9pZCBDU1NTdHlsZVNlbGVj
dG9yOjphcHBseVByb3BlcnR5KGludCBpZCwgQ1NTVmFsdWUgKnZhbHVlKQogICAgICAgICB9CiAg
ICAgICAgIGlmICghZGlkU2V0KQogICAgICAgICAgICAgbV9zdHlsZS0+Y2xlYXJDb250ZW50KCk7
CisKKyNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCisgICAgICAgIGlmIChkaWRTZXQgJiYgZGlkU2V0
UmVnaW9uKQorICAgICAgICAgICAgbV9zdHlsZS0+c2V0UmVnaW9uVGhyZWFkKFJlbmRlclN0eWxl
Ojppbml0aWFsUmVnaW9uVGhyZWFkKCkpOworI2VuZGlmCiAgICAgICAgIHJldHVybjsKICAgICB9
CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVF1b3RlczoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCmluZGV4IGVmNzRlMmIuLmEyYjg4NTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcApAQCAtMzQ0LDYg
KzM0NCwxMSBAQCBTdHlsZURpZmZlcmVuY2UgUmVuZGVyU3R5bGU6OmRpZmYoY29uc3QgUmVuZGVy
U3R5bGUqIG90aGVyLCB1bnNpZ25lZCYgY2hhbmdlZENvbgogICAgICAgICAgICAgfHwgcmFyZU5v
bkluaGVyaXRlZERhdGEtPnRleHRPdmVyZmxvdyAhPSBvdGhlci0+cmFyZU5vbkluaGVyaXRlZERh
dGEtPnRleHRPdmVyZmxvdykKICAgICAgICAgICAgIHJldHVybiBTdHlsZURpZmZlcmVuY2VMYXlv
dXQ7CiAKKyNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCisgICAgICAgIGlmIChyYXJlTm9uSW5oZXJp
dGVkRGF0YS0+bV9yZWdpb25UaHJlYWQgIT0gb3RoZXItPnJhcmVOb25Jbmhlcml0ZWREYXRhLT5t
X3JlZ2lvblRocmVhZCkKKyAgICAgICAgICAgIHJldHVybiBTdHlsZURpZmZlcmVuY2VMYXlvdXQ7
CisjZW5kaWYKKwogICAgICAgICBpZiAocmFyZU5vbkluaGVyaXRlZERhdGEtPmZsZXhpYmxlQm94
LmdldCgpICE9IG90aGVyLT5yYXJlTm9uSW5oZXJpdGVkRGF0YS0+ZmxleGlibGVCb3guZ2V0KCkK
ICAgICAgICAgICAgICYmICpyYXJlTm9uSW5oZXJpdGVkRGF0YS0+ZmxleGlibGVCb3guZ2V0KCkg
IT0gKm90aGVyLT5yYXJlTm9uSW5oZXJpdGVkRGF0YS0+ZmxleGlibGVCb3guZ2V0KCkpCiAgICAg
ICAgICAgICByZXR1cm4gU3R5bGVEaWZmZXJlbmNlTGF5b3V0OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAppbmRleCA5ZTMzNmU3Li5mOTc1OTM3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtNzQyLDYg
Kzc0Miw5IEBAIHB1YmxpYzoKICAgICBUZXh0Q29tYmluZSB0ZXh0Q29tYmluZSgpIGNvbnN0IHsg
cmV0dXJuIHN0YXRpY19jYXN0PFRleHRDb21iaW5lPihyYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV90
ZXh0Q29tYmluZSk7IH0KICAgICBib29sIGhhc1RleHRDb21iaW5lKCkgY29uc3QgeyByZXR1cm4g
dGV4dENvbWJpbmUoKSAhPSBUZXh0Q29tYmluZU5vbmU7IH0KICAgICAvLyBFbmQgQ1NTMyBHZXR0
ZXJzCisjaWYgRU5BQkxFKENTU19SRUdJT05TKQorICAgIGNvbnN0IEF0b21pY1N0cmluZyYgcmVn
aW9uVGhyZWFkKCkgY29uc3QgeyByZXR1cm4gcmFyZU5vbkluaGVyaXRlZERhdGEtPm1fcmVnaW9u
VGhyZWFkOyB9CisjZW5kaWYKIAogICAgIC8vIEFwcGxlLXNwZWNpZmljIHByb3BlcnR5IGdldHRl
ciBtZXRob2RzCiAgICAgRVBvaW50ZXJFdmVudHMgcG9pbnRlckV2ZW50cygpIGNvbnN0IHsgcmV0
dXJuIHN0YXRpY19jYXN0PEVQb2ludGVyRXZlbnRzPihpbmhlcml0ZWRfZmxhZ3MuX3BvaW50ZXJF
dmVudHMpOyB9CkBAIC0xMDkxLDYgKzEwOTQsMTAgQEAgcHVibGljOgogICAgIHZvaWQgc2V0VGV4
dEVtcGhhc2lzUG9zaXRpb24oVGV4dEVtcGhhc2lzUG9zaXRpb24gcG9zaXRpb24pIHsgU0VUX1ZB
UihyYXJlSW5oZXJpdGVkRGF0YSwgdGV4dEVtcGhhc2lzUG9zaXRpb24sIHBvc2l0aW9uKTsgfQog
ICAgIC8vIEVuZCBDU1MzIFNldHRlcnMKIAorI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKKyAgICB2
b2lkIHNldFJlZ2lvblRocmVhZChjb25zdCBBdG9taWNTdHJpbmcmIG4pIHsgU0VUX1ZBUihyYXJl
Tm9uSW5oZXJpdGVkRGF0YSwgbV9yZWdpb25UaHJlYWQsIG4pOyB9CisjZW5kaWYKKwogICAgIC8v
IEFwcGxlLXNwZWNpZmljIHByb3BlcnR5IHNldHRlcnMKICAgICB2b2lkIHNldFBvaW50ZXJFdmVu
dHMoRVBvaW50ZXJFdmVudHMgcCkgeyBpbmhlcml0ZWRfZmxhZ3MuX3BvaW50ZXJFdmVudHMgPSBw
OyB9CiAKQEAgLTEzMjAsNiArMTMyNywxMCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIExpbmVCb3hD
b250YWluIGluaXRpYWxMaW5lQm94Q29udGFpbigpIHsgcmV0dXJuIExpbmVCb3hDb250YWluQmxv
Y2sgfCBMaW5lQm94Q29udGFpbklubGluZSB8IExpbmVCb3hDb250YWluUmVwbGFjZWQ7IH0KICAg
ICBzdGF0aWMgRUltYWdlUmVuZGVyaW5nIGluaXRpYWxJbWFnZVJlbmRlcmluZygpIHsgcmV0dXJu
IEltYWdlUmVuZGVyaW5nQXV0bzsgfQogCisjaWYgRU5BQkxFKENTU19SRUdJT05TKQorICAgIHN0
YXRpYyBjb25zdCBBdG9taWNTdHJpbmcmIGluaXRpYWxSZWdpb25UaHJlYWQoKSB7IHJldHVybiBu
dWxsQXRvbTsgfQorI2VuZGlmCisKICAgICAvLyBLZWVwIHRoZXNlIGF0IHRoZSBlbmQuCiAgICAg
c3RhdGljIExpbmVDbGFtcFZhbHVlIGluaXRpYWxMaW5lQ2xhbXAoKSB7IHJldHVybiBMaW5lQ2xh
bXBWYWx1ZSgpOyB9CiAgICAgc3RhdGljIGJvb2wgaW5pdGlhbFRleHRTaXplQWRqdXN0KCkgeyBy
ZXR1cm4gdHJ1ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCmluZGV4IDFkNDJkMGMuLjAxOTFk
NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVO
b25Jbmhlcml0ZWREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAKQEAgLTU1LDYgKzU1LDkgQEAgU3R5bGVSYXJl
Tm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSgpCiAgICAgLCBtX3Bl
cnNwZWN0aXZlT3JpZ2luWShSZW5kZXJTdHlsZTo6aW5pdGlhbFBlcnNwZWN0aXZlT3JpZ2luWSgp
KQogICAgICwgbV9wYWdlU2l6ZSgpCiAgICAgLCBtX3BhZ2VTaXplVHlwZShQQUdFX1NJWkVfQVVU
TykKKyNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCisgICAgLCBtX3JlZ2lvblRocmVhZChSZW5kZXJT
dHlsZTo6aW5pdGlhbFJlZ2lvblRocmVhZCgpKQorI2VuZGlmCiB7CiB9CiAKQEAgLTk0LDYgKzk3
LDkgQEAgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0
YShjb25zdCBTdHlsZVJhcmVOb25Jbmhlcml0ZWQKICAgICAsIG1fcGVyc3BlY3RpdmVPcmlnaW5Z
KG8ubV9wZXJzcGVjdGl2ZU9yaWdpblkpCiAgICAgLCBtX3BhZ2VTaXplKG8ubV9wYWdlU2l6ZSkK
ICAgICAsIG1fcGFnZVNpemVUeXBlKG8ubV9wYWdlU2l6ZVR5cGUpCisjaWYgRU5BQkxFKENTU19S
RUdJT05TKQorICAgICwgbV9yZWdpb25UaHJlYWQoby5tX3JlZ2lvblRocmVhZCkKKyNlbmRpZgog
ewogfQogCkBAIC0xNDAsNiArMTQ2LDkgQEAgYm9vbCBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRh
OjpvcGVyYXRvcj09KGNvbnN0IFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEmIG8pIGMKICAgICAg
ICAgJiYgKG1fcGVyc3BlY3RpdmVPcmlnaW5ZID09IG8ubV9wZXJzcGVjdGl2ZU9yaWdpblkpCiAg
ICAgICAgICYmIChtX3BhZ2VTaXplID09IG8ubV9wYWdlU2l6ZSkKICAgICAgICAgJiYgKG1fcGFn
ZVNpemVUeXBlID09IG8ubV9wYWdlU2l6ZVR5cGUpCisjaWYgRU5BQkxFKENTU19SRUdJT05TKQor
ICAgICAgICAmJiAobV9yZWdpb25UaHJlYWQgPT0gby5tX3JlZ2lvblRocmVhZCkKKyNlbmRpZgog
ICAgICAgICA7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oCmluZGV4IDk5MDFkZGIuLmQ4NjNmYWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25J
bmhlcml0ZWREYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxl
UmFyZU5vbkluaGVyaXRlZERhdGEuaApAQCAtMTMxLDYgKzEzMSwxMCBAQCBwdWJsaWM6CiAgICAg
TGVuZ3RoU2l6ZSBtX3BhZ2VTaXplOwogICAgIFBhZ2VTaXplVHlwZSBtX3BhZ2VTaXplVHlwZTsK
IAorI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKKyAgICBBdG9taWNTdHJpbmcgbV9yZWdpb25UaHJl
YWQ7CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhKCk7
CiAgICAgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YShjb25zdCBTdHlsZVJhcmVOb25Jbmhlcml0
ZWREYXRhJik7Cg==
</data>
<flag name="review"
          id="93489"
          type_id="1"
          status="-"
          setter="mihnea"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>99470</attachid>
            <date>2011-07-01 06:59:49 -0700</date>
            <delta_ts>2011-07-07 02:00:59 -0700</delta_ts>
            <desc>Patch 2</desc>
            <filename>63133-2.patch</filename>
            <type>text/plain</type>
            <size>18524</size>
            <attacher name="Mihnea Ovidenie">mihnea</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxYTAwNzBlLi5mNDc2YWE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDct
MDEgIE1paG5lYSBPdmlkZW5pZSAgPG1paG5lYUBhZG9iZS5jb20+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0NTU1JlZ2lvbnNdUGFyc2UgY29udGVu
dDogZnJvbS1mbG93CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02MzEzMworCisgICAgICAgICogZmFzdC9yZWdpb25zL2NvbnRlbnQtZnJvbS1mbG93LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL2NvbnRlbnQtZnJvbS1m
bG93Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy9zY3JpcHQtdGVzdHMvY29u
dGVudC1mcm9tLWZsb3cuanM6IEFkZGVkLgorICAgICAgICAodGVzdENTU1RleHQpOgorICAgICAg
ICAodGVzdENvbXB1dGVkU3R5bGUpOgorCiAyMDExLTA2LTMwICBLZW50IFRhbXVyYSAgPHRrZW50
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbTWFjXVtDaHJvbWl1bV0gVXBkYXRlIHRlc3QgZXhw
ZWN0YXRpb25zIGZvciByOTAwODkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9u
cy9jb250ZW50LWZyb20tZmxvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lv
bnMvY29udGVudC1mcm9tLWZsb3ctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjExNmE0NzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3JlZ2lvbnMvY29udGVudC1mcm9tLWZsb3ctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzggQEAK
K1Rlc3RzIGJlaW5nIGFibGUgdG8gc2V0IGNvbnRlbnQgdG8gZnJvbS1mbG93CisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHRlc3RDU1NUZXh0KCJjb250ZW50OiBmcm9tLWZs
b3coJ2ZpcnN0LWZsb3cnKSIpIGlzICJmcm9tLWZsb3coZmlyc3QtZmxvdykiCitQQVNTIHRlc3RD
U1NUZXh0KCJjb250ZW50OiBmcm9tLWZsb3coJ2ZpcnN0IGZsb3cnKSIpIGlzICJmcm9tLWZsb3co
J2ZpcnN0IGZsb3cnKSIKK1BBU1MgdGVzdENTU1RleHQoImNvbnRlbnQ6IGZyb20tZmxvdygnYXV0
bycpIikgaXMgImZyb20tZmxvdyhhdXRvKSIKK1BBU1MgdGVzdENTU1RleHQoImNvbnRlbnQ6IGZy
b20tZmxvdyhhdXRvKSIpIGlzICIiCitQQVNTIHRlc3RDU1NUZXh0KCJjb250ZW50OiBmcm9tLWZs
b3coaW5pdGlhbCkiKSBpcyAiIgorUEFTUyB0ZXN0Q1NTVGV4dCgiY29udGVudDogZnJvbS1mbG93
KGluaGVyaXQpIikgaXMgIiIKK1BBU1MgdGVzdENTU1RleHQoImNvbnRlbnQ6IGZyb20tZmxvdygp
IikgaXMgIiIKK1BBU1MgdGVzdENTU1RleHQoImNvbnRlbnQ6IGZyb20tZmxvdygnJykiKSBpcyAi
ZnJvbS1mbG93KCcnKSIKK1BBU1MgdGVzdENTU1RleHQoImNvbnRlbnQ6IDsiKSBpcyAiIgorUEFT
UyB0ZXN0Q1NTVGV4dCgiY29udGVudDogZnJvbS1mbG93KDEpIikgaXMgIiIKK1BBU1MgdGVzdENT
U1RleHQoImNvbnRlbnQ6IGZyb20tZmxvdygxLjIpIikgaXMgIiIKK1BBU1MgdGVzdENTU1RleHQo
ImNvbnRlbnQ6IGZyb20tZmxvdygtMSkiKSBpcyAiIgorUEFTUyB0ZXN0Q1NTVGV4dCgiY29udGVu
dDogZnJvbS1mbG93KDEycHgpIikgaXMgIiIKK1BBU1MgdGVzdENTU1RleHQoImNvbnRlbnQ6IGZy
b20tZmxvdyhmaXJzdCBmbG93KSIpIGlzICIiCitQQVNTIHRlc3RDU1NUZXh0KCJjb250ZW50OiBm
cm9tLWZsb3coZmlyc3QtZmxvdykiKSBpcyAiIgorUEFTUyB0ZXN0Q29tcHV0ZWRTdHlsZSgiJ2Zp
cnN0LWZsb3cnIikgaXMgImZpcnN0LWZsb3ciCitQQVNTIHRlc3RDb21wdXRlZFN0eWxlKCInZmly
c3QgZmxvdyciKSBpcyAiJ2ZpcnN0IGZsb3cnIgorUEFTUyB0ZXN0Q29tcHV0ZWRTdHlsZSgiJ2F1
dG8nIikgaXMgImF1dG8iCitQQVNTIHRlc3RDb21wdXRlZFN0eWxlKCJhdXRvIikgaXMgIiIKK1BB
U1MgdGVzdENvbXB1dGVkU3R5bGUoImluaXRpYWwiKSBpcyAiIgorUEFTUyB0ZXN0Q29tcHV0ZWRT
dHlsZSgiaW5oZXJpdCIpIGlzICIiCitQQVNTIHRlc3RDb21wdXRlZFN0eWxlKCIiKSBpcyAiIgor
UEFTUyB0ZXN0Q29tcHV0ZWRTdHlsZSgiMSIpIGlzICIiCitQQVNTIHRlc3RDb21wdXRlZFN0eWxl
KCIxLjIiKSBpcyAiIgorUEFTUyB0ZXN0Q29tcHV0ZWRTdHlsZSgiLTEiKSBpcyAiIgorUEFTUyB0
ZXN0Q29tcHV0ZWRTdHlsZSgiMTJweCIpIGlzICIiCitQQVNTIHRlc3RDb21wdXRlZFN0eWxlKCIn
JyIpIGlzICInJyIKK1BBU1MgdGVzdENvbXB1dGVkU3R5bGUoImZpcnN0IGZsb3ciKSBpcyAiIgor
UEFTUyB0ZXN0Q29tcHV0ZWRTdHlsZSgiZmlyc3QtZmxvdyIpIGlzICIiCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9yZWdpb25zL2NvbnRlbnQtZnJvbS1mbG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3JlZ2lvbnMvY29udGVudC1mcm9tLWZsb3cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi43NTJjNWQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9yZWdpb25zL2NvbnRlbnQtZnJvbS1mbG93Lmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQt
dGVzdHMvY29udGVudC1mcm9tLWZsb3cuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvc2NyaXB0LXRlc3Rz
L2NvbnRlbnQtZnJvbS1mbG93LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3NjcmlwdC10
ZXN0cy9jb250ZW50LWZyb20tZmxvdy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi5jZTI0ZGNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25z
L3NjcmlwdC10ZXN0cy9jb250ZW50LWZyb20tZmxvdy5qcwpAQCAtMCwwICsxLDUwIEBACitkZXNj
cmlwdGlvbignVGVzdHMgYmVpbmcgYWJsZSB0byBzZXQgY29udGVudCB0byBmcm9tLWZsb3cnKTsK
KworZnVuY3Rpb24gdGVzdENTU1RleHQoZGVjbGFyYXRpb24pIHsKKyAgICB2YXIgZGl2ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgZGl2LnNldEF0dHJpYnV0ZSgic3R5bGUi
LCBkZWNsYXJhdGlvbik7CisgICAgcmV0dXJuIGRpdi5zdHlsZS5jb250ZW50OworfQorCitmdW5j
dGlvbiB0ZXN0Q29tcHV0ZWRTdHlsZShkZWNsYXJhdGlvbikgeworICAgIHZhciBkaXYgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KGRpdik7CisgICAgZGl2LnN0eWxlLnNldFByb3BlcnR5KCJjb250ZW50IiwgZGVjbGFyYXRpb24p
OworCisgICAgdmFyIGNvbnRlbnRDb21wdXRlZFZhbHVlID0gZ2V0Q29tcHV0ZWRTdHlsZShkaXYp
LmdldFByb3BlcnR5VmFsdWUoImNvbnRlbnQiKTsKKyAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNo
aWxkKGRpdik7CisgICAgcmV0dXJuIGNvbnRlbnRDb21wdXRlZFZhbHVlOworfQorCitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3Rlc3RDU1NUZXh0KCJjb250ZW50OiBmcm9tLWZsb3coXCdmaXJzdC1m
bG93XCcpIiknLCAiZnJvbS1mbG93KGZpcnN0LWZsb3cpIik7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3Rlc3RDU1NUZXh0KCJjb250ZW50OiBmcm9tLWZsb3coXCdmaXJzdCBmbG93XCcpIiknLCAi
ZnJvbS1mbG93KCdmaXJzdCBmbG93JykiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdENT
U1RleHQoImNvbnRlbnQ6IGZyb20tZmxvdyhcJ2F1dG9cJykiKScsICJmcm9tLWZsb3coYXV0byki
KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdENTU1RleHQoImNvbnRlbnQ6IGZyb20tZmxv
dyhhdXRvKSIpJywgIiIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0Q1NTVGV4dCgiY29u
dGVudDogZnJvbS1mbG93KGluaXRpYWwpIiknLCAiIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
J3Rlc3RDU1NUZXh0KCJjb250ZW50OiBmcm9tLWZsb3coaW5oZXJpdCkiKScsICIiKTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygndGVzdENTU1RleHQoImNvbnRlbnQ6IGZyb20tZmxvdygpIiknLCAi
Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RDU1NUZXh0KCJjb250ZW50OiBmcm9tLWZs
b3coXCdcJykiKScsICJmcm9tLWZsb3coJycpIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rl
c3RDU1NUZXh0KCJjb250ZW50OiA7IiknLCAiIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rl
c3RDU1NUZXh0KCJjb250ZW50OiBmcm9tLWZsb3coMSkiKScsICIiKTsKK3Nob3VsZEJlRXF1YWxU
b1N0cmluZygndGVzdENTU1RleHQoImNvbnRlbnQ6IGZyb20tZmxvdygxLjIpIiknLCAiIik7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RDU1NUZXh0KCJjb250ZW50OiBmcm9tLWZsb3coLTEp
IiknLCAiIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RDU1NUZXh0KCJjb250ZW50OiBm
cm9tLWZsb3coMTJweCkiKScsICIiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdENTU1Rl
eHQoImNvbnRlbnQ6IGZyb20tZmxvdyhmaXJzdCBmbG93KSIpJywgIiIpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCd0ZXN0Q1NTVGV4dCgiY29udGVudDogZnJvbS1mbG93KGZpcnN0LWZsb3cpIikn
LCAiIik7CisKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdENvbXB1dGVkU3R5bGUoIlwnZmly
c3QtZmxvd1wnIiknLCAiZmlyc3QtZmxvdyIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0
Q29tcHV0ZWRTdHlsZSgiXCdmaXJzdCBmbG93XCciKScsICInZmlyc3QgZmxvdyciKTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygndGVzdENvbXB1dGVkU3R5bGUoIlwnYXV0b1wnIiknLCAiYXV0byIp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0Q29tcHV0ZWRTdHlsZSgiYXV0byIpJywgIiIp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0Q29tcHV0ZWRTdHlsZSgiaW5pdGlhbCIpJywg
IiIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0Q29tcHV0ZWRTdHlsZSgiaW5oZXJpdCIp
JywgIiIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0Q29tcHV0ZWRTdHlsZSgiIiknLCAi
Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RDb21wdXRlZFN0eWxlKCIxIiknLCAiIik7
CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RDb21wdXRlZFN0eWxlKCIxLjIiKScsICIiKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdENvbXB1dGVkU3R5bGUoIi0xIiknLCAiIik7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RDb21wdXRlZFN0eWxlKCIxMnB4IiknLCAiIik7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RDb21wdXRlZFN0eWxlKCJcJ1wnIiknLCAiJyciKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdENvbXB1dGVkU3R5bGUoImZpcnN0IGZsb3ciKScs
ICIiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdENvbXB1dGVkU3R5bGUoImZpcnN0LWZs
b3ciKScsICIiKTsKKworc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAw
YjRjZjg5Li5kMGZkZDY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTEtMDctMDEg
IE1paG5lYSBPdmlkZW5pZSAgPG1paG5lYUBhZG9iZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0NTU1JlZ2lvbnNdUGFyc2UgY29udGVudDog
ZnJvbS1mbG93CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD02MzEzMworCisgICAgICAgIFRlc3Q6IGZhc3QvcmVnaW9ucy9jb250ZW50LWZyb20tZmxvdy5o
dG1sCisKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OmNvbnRlbnRUb0NTU1ZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTUGFy
c2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VDb250ZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VGcm9tRmxvd0NvbnRlbnQpOgorICAgICAg
ICAqIGNzcy9DU1NQYXJzZXIuaDoKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OmNsZWFudXApOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OmdldFN0cmluZ1ZhbHVlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpjc3NUZXh0KToKKyAgICAgICAgKiBjc3MvQ1NT
UHJpbWl0aXZlVmFsdWUuaDoKKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KToKKyAgICAg
ICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyU3R5bGU6OmRpZmYpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OnJlZ2lvblRocmVhZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6c2V0UmVnaW9uVGhyZWFkKToKKyAgICAg
ICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjppbml0aWFsUmVnaW9uVGhyZWFkKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpTdHlsZVJhcmVOb25Jbmhl
cml0ZWREYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6
Om9wZXJhdG9yPT0pOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhl
cml0ZWREYXRhLmg6CisKIDIwMTEtMDYtMzAgIEV1Z2VuZSBLbHl1Y2huaWtvdiAgPGV1c3Rhcy5i
dWdAZ21haWwuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmlu
ZGV4IDYyZjRlYTYuLjY5ZTIxNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1ND
b21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1ND
b21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC03NjUsNiArNzY1LDEwIEBAIHN0YXRpYyBQ
YXNzUmVmUHRyPENTU1ZhbHVlPiBjb250ZW50VG9DU1NWYWx1ZShjb25zdCBSZW5kZXJTdHlsZSog
c3R5bGUsIENTU1ByaW1pCiAgICAgICAgIH0gZWxzZSBpZiAoY29udGVudERhdGEtPmlzVGV4dCgp
KQogICAgICAgICAgICAgbGlzdC0+YXBwZW5kKHByaW1pdGl2ZVZhbHVlQ2FjaGUtPmNyZWF0ZVZh
bHVlKHN0YXRpY19jYXN0PGNvbnN0IFRleHRDb250ZW50RGF0YSo+KGNvbnRlbnREYXRhKS0+dGV4
dCgpLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1NUUklORykpOwogICAgIH0KKyNpZiBFTkFCTEUo
Q1NTX1JFR0lPTlMpCisgICAgaWYgKCFzdHlsZS0+cmVnaW9uVGhyZWFkKCkuaXNOdWxsKCkpCisg
ICAgICAgIGxpc3QtPmFwcGVuZChwcmltaXRpdmVWYWx1ZUNhY2hlLT5jcmVhdGVWYWx1ZShzdHls
ZS0+cmVnaW9uVGhyZWFkKCksIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfU1RSSU5HKSk7CisjZW5k
aWYKICAgICByZXR1cm4gbGlzdC5yZWxlYXNlKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5j
cHAKaW5kZXggZmY0M2EyZC4uNzAxMTY0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAg
LTI2NTMsNiArMjY1MywxMiBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VDb250ZW50KGludCBwcm9w
SWQsIGJvb2wgaW1wb3J0YW50KQogICAgICAgICAgICAgfSBlbHNlIGlmIChpc0dlbmVyYXRlZElt
YWdlVmFsdWUodmFsKSkgewogICAgICAgICAgICAgICAgIGlmICghcGFyc2VHZW5lcmF0ZWRJbWFn
ZShwYXJzZWRWYWx1ZSkpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyNpZiBF
TkFCTEUoQ1NTX1JFR0lPTlMpCisgICAgICAgICAgICB9IGVsc2UgaWYgKGVxdWFsSWdub3JpbmdD
YXNlKHZhbC0+ZnVuY3Rpb24tPm5hbWUsICJmcm9tLWZsb3coIikpIHsKKyAgICAgICAgICAgICAg
ICBwYXJzZWRWYWx1ZSA9IHBhcnNlRnJvbUZsb3dDb250ZW50KGFyZ3MpOworICAgICAgICAgICAg
ICAgIGlmICghcGFyc2VkVmFsdWUpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KyNlbmRpZgogICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgICAgICB9IGVsc2UgaWYgKHZhbC0+dW5pdCA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NT
X0lERU5UKSB7CkBAIC01ODMyLDYgKzU4MzgsMjQgQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZUxpc3Q+
IENTU1BhcnNlcjo6cGFyc2VUcmFuc2Zvcm0oKQogICAgIHJldHVybiBsaXN0LnJlbGVhc2UoKTsK
IH0KIAorI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKKy8vIFRoZSByZWdpb24gbmFtZSBpcyBub3cg
c3BlY2lmaWVkIGFzIGFuIGFyZ3VtZW50IHRvIHRoZSBjb250ZW50IHByb3BlcnR5OgorLy8gY29u
dGVudDogZnJvbS1mbG93KGZsb3dfdGhyZWFkX25hbWUpCitQYXNzUmVmUHRyPENTU1ZhbHVlPiBD
U1NQYXJzZXI6OnBhcnNlRnJvbUZsb3dDb250ZW50KENTU1BhcnNlclZhbHVlTGlzdCogYXJncykK
K3sKKyAgICAvLyBJdCBzaG91bGQgYmUgb25seSBvbmUgbmFtZSBmb3IgdGhlIHJlZ2lvbiB0aHJl
YWQuCisgICAgaWYgKGFyZ3MtPnNpemUoKSAhPSAxKQorICAgICAgICByZXR1cm4gMDsKKworICAg
IENTU1BhcnNlclZhbHVlKiBhcmdGbG93VGhyZWFkTmFtZSA9IGFyZ3MtPmN1cnJlbnQoKTsKKwor
ICAgIGlmIChhcmdGbG93VGhyZWFkTmFtZS0+dW5pdCAhPSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NT
X1NUUklORykKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFs
dWU6OmNyZWF0ZShhcmdGbG93VGhyZWFkTmFtZS0+c3RyaW5nLCBDU1NQcmltaXRpdmVWYWx1ZTo6
Q1NTX0ZST01fRkxPVyk7Cit9CisjZW5kaWYKKwogYm9vbCBDU1NQYXJzZXI6OnBhcnNlVHJhbnNm
b3JtT3JpZ2luKGludCBwcm9wSWQsIGludCYgcHJvcElkMSwgaW50JiBwcm9wSWQyLCBpbnQmIHBy
b3BJZDMsIFJlZlB0cjxDU1NWYWx1ZT4mIHZhbHVlLCBSZWZQdHI8Q1NTVmFsdWU+JiB2YWx1ZTIs
IFJlZlB0cjxDU1NWYWx1ZT4mIHZhbHVlMykKIHsKICAgICBwcm9wSWQxID0gcHJvcElkOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1BhcnNlci5oCmluZGV4IGM2ZjA3OGEuLjg2NDU2YjggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFy
c2VyLmgKQEAgLTE1Niw2ICsxNTYsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBQ
YXNzUmVmUHRyPENTU1ZhbHVlPiBwYXJzZVdDU1NJbnB1dFByb3BlcnR5KCk7CiAjZW5kaWYKIAor
I2lmIEVOQUJMRShDU1NfUkVHSU9OUykKKyAgICAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gcGFy
c2VGcm9tRmxvd0NvbnRlbnQoQ1NTUGFyc2VyVmFsdWVMaXN0KiBhcmdzKTsKKyNlbmRpZgorCiAg
ICAgICAgIC8vIENTUzMgUGFyc2luZyBSb3V0aW5lcyAoZm9yIHByb3BlcnRpZXMgc3BlY2lmaWMg
dG8gQ1NTMykKICAgICAgICAgYm9vbCBwYXJzZVNoYWRvdyhpbnQgcHJvcElkLCBib29sIGltcG9y
dGFudCk7CiAgICAgICAgIGJvb2wgcGFyc2VCb3JkZXJJbWFnZShpbnQgcHJvcElkLCBib29sIGlt
cG9ydGFudCwgUmVmUHRyPENTU1ZhbHVlPiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRp
dmVWYWx1ZS5jcHAKaW5kZXggYmU4ODlhYi4uNTJmNmNkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJpbWl0aXZlVmFsdWUuY3BwCkBAIC0yMjEsNiArMjIxLDkgQEAgdm9pZCBDU1NQcmltaXRp
dmVWYWx1ZTo6Y2xlYW51cCgpCiAgICAgICAgIGNhc2UgQ1NTX1NUUklORzoKICAgICAgICAgY2Fz
ZSBDU1NfVVJJOgogICAgICAgICBjYXNlIENTU19BVFRSOgorI2lmIEVOQUJMRShDU1NfUkVHSU9O
UykKKyAgICAgICAgY2FzZSBDU1NfRlJPTV9GTE9XOgorI2VuZGlmCiAgICAgICAgIGNhc2UgQ1NT
X1BBUlNFUl9IRVhDT0xPUjoKICAgICAgICAgICAgIGlmIChtX3ZhbHVlLnN0cmluZykKICAgICAg
ICAgICAgICAgICBtX3ZhbHVlLnN0cmluZy0+ZGVyZWYoKTsKQEAgLTUwNCw2ICs1MDcsOSBAQCBT
dHJpbmcgQ1NTUHJpbWl0aXZlVmFsdWU6OmdldFN0cmluZ1ZhbHVlKEV4Y2VwdGlvbkNvZGUmIGVj
KSBjb25zdAogICAgICAgICBjYXNlIENTU19TVFJJTkc6CiAgICAgICAgIGNhc2UgQ1NTX0FUVFI6
CiAgICAgICAgIGNhc2UgQ1NTX1VSSToKKyNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCisgICAgICAg
IGNhc2UgQ1NTX0ZST01fRkxPVzoKKyNlbmRpZgogICAgICAgICAgICAgcmV0dXJuIG1fdmFsdWUu
c3RyaW5nOwogICAgICAgICBjYXNlIENTU19JREVOVDoKICAgICAgICAgICAgIHJldHVybiB2YWx1
ZU9yUHJvcGVydHlOYW1lKG1fdmFsdWUuaWRlbnQpOwpAQCAtNjg0LDYgKzY5MCwxMSBAQCBTdHJp
bmcgQ1NTUHJpbWl0aXZlVmFsdWU6OmNzc1RleHQoKSBjb25zdAogICAgICAgICBjYXNlIENTU19T
VFJJTkc6CiAgICAgICAgICAgICB0ZXh0ID0gcXVvdGVDU1NTdHJpbmdJZk5lZWRlZChtX3ZhbHVl
LnN0cmluZyk7CiAgICAgICAgICAgICBicmVhazsKKyNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCisg
ICAgICAgIGNhc2UgQ1NTX0ZST01fRkxPVzoKKyAgICAgICAgICAgIHRleHQgPSAiZnJvbS1mbG93
KCIgKyBxdW90ZUNTU1N0cmluZ0lmTmVlZGVkKG1fdmFsdWUuc3RyaW5nKSArICIpIjsKKyAgICAg
ICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgICAgIGNhc2UgQ1NTX1VSSToKICAgICAgICAgICAg
IHRleHQgPSAidXJsKCIgKyBxdW90ZUNTU1VSTElmTmVlZGVkKG1fdmFsdWUuc3RyaW5nKSArICIp
IjsKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ByaW1pdGl2ZVZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUu
aAppbmRleCA5MDdkMGI5Li5hYjkwMzNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJpbWl0aXZlVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZl
VmFsdWUuaApAQCAtOTQsNyArOTQsOCBAQCBwdWJsaWM6CiAgICAgICAgIENTU19SRU1TID0gMTA4
LAogCiAgICAgICAgIC8vIFRoaXMgaXMgdXNlZCBpbnRlcm5hbGx5IGZvciBjb3VudGVyIG5hbWVz
IChhcyBvcHBvc2VkIHRvIGNvdW50ZXIgdmFsdWVzKQotICAgICAgICBDU1NfQ09VTlRFUl9OQU1F
ID0gMTA5CisgICAgICAgIENTU19DT1VOVEVSX05BTUUgPSAxMDksCisgICAgICAgIENTU19GUk9N
X0ZMT1cgPSAxMTAKICAgICB9OwogICAgIAogICAgIC8vIFRoaXMgZW51bSBmb2xsb3dzIHRoZSBD
U1NQYXJzZXI6OlVuaXRzIGVudW0gYXVnbWVudGVkIHdpdGggVU5JVF9GUkVRVUVOQ1kgZm9yIGZy
ZXF1ZW5jaWVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0
b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCmluZGV4IDFj
MWU5MzEuLmNiNmUwZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNl
bGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAK
QEAgLTQxNDAsNiArNDE0MCwxNiBAQCB2b2lkIENTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVy
dHkoaW50IGlkLCBDU1NWYWx1ZSAqdmFsdWUpCiAgICAgICAgIENTU1ZhbHVlTGlzdCogbGlzdCA9
IHN0YXRpY19jYXN0PENTU1ZhbHVlTGlzdCo+KHZhbHVlKTsKICAgICAgICAgaW50IGxlbiA9IGxp
c3QtPmxlbmd0aCgpOwogCisjaWYgRU5BQkxFKENTU19SRUdJT05TKQorICAgICAgICBpZiAobGVu
ID09IDEgJiYgbGlzdC0+aXRlbVdpdGhvdXRCb3VuZHNDaGVjaygwKS0+aXNQcmltaXRpdmVWYWx1
ZSgpKSB7CisgICAgICAgICAgICBDU1NQcmltaXRpdmVWYWx1ZSogY29udGVudFZhbHVlID0gc3Rh
dGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWUqPihsaXN0LT5pdGVtV2l0aG91dEJvdW5kc0NoZWNr
KDApKTsKKyAgICAgICAgICAgIGlmIChjb250ZW50VmFsdWUtPnByaW1pdGl2ZVR5cGUoKSA9PSBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0ZST01fRkxPVykgeworICAgICAgICAgICAgICAgIG1fc3R5
bGUtPnNldFJlZ2lvblRocmVhZChjb250ZW50VmFsdWUtPmdldFN0cmluZ1ZhbHVlKCkuaW1wbCgp
KTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyNl
bmRpZgorCiAgICAgICAgIGJvb2wgZGlkU2V0ID0gZmFsc2U7CiAgICAgICAgIGZvciAoaW50IGkg
PSAwOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICAgICAgIENTU1ZhbHVlKiBpdGVtID0gbGlzdC0+
aXRlbVdpdGhvdXRCb3VuZHNDaGVjayhpKTsKQEAgLTQxNTIsNiArNDE2Miw3IEBAIHZvaWQgQ1NT
U3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eShpbnQgaWQsIENTU1ZhbHVlICp2YWx1ZSkKICAg
ICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgQ1NTUHJp
bWl0aXZlVmFsdWUqIGNvbnRlbnRWYWx1ZSA9IHN0YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZhbHVl
Kj4oaXRlbSk7CisKICAgICAgICAgICAgIHN3aXRjaCAoY29udGVudFZhbHVlLT5wcmltaXRpdmVU
eXBlKCkpIHsKICAgICAgICAgICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TVFJJTkc6
CiAgICAgICAgICAgICAgICAgbV9zdHlsZS0+c2V0Q29udGVudChjb250ZW50VmFsdWUtPmdldFN0
cmluZ1ZhbHVlKCkuaW1wbCgpLCBkaWRTZXQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKaW5kZXggZWY3NGUyYi4uYTJiODg1NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCkBAIC0zNDQsNiAr
MzQ0LDExIEBAIFN0eWxlRGlmZmVyZW5jZSBSZW5kZXJTdHlsZTo6ZGlmZihjb25zdCBSZW5kZXJT
dHlsZSogb3RoZXIsIHVuc2lnbmVkJiBjaGFuZ2VkQ29uCiAgICAgICAgICAgICB8fCByYXJlTm9u
SW5oZXJpdGVkRGF0YS0+dGV4dE92ZXJmbG93ICE9IG90aGVyLT5yYXJlTm9uSW5oZXJpdGVkRGF0
YS0+dGV4dE92ZXJmbG93KQogICAgICAgICAgICAgcmV0dXJuIFN0eWxlRGlmZmVyZW5jZUxheW91
dDsKIAorI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKKyAgICAgICAgaWYgKHJhcmVOb25Jbmhlcml0
ZWREYXRhLT5tX3JlZ2lvblRocmVhZCAhPSBvdGhlci0+cmFyZU5vbkluaGVyaXRlZERhdGEtPm1f
cmVnaW9uVGhyZWFkKQorICAgICAgICAgICAgcmV0dXJuIFN0eWxlRGlmZmVyZW5jZUxheW91dDsK
KyNlbmRpZgorCiAgICAgICAgIGlmIChyYXJlTm9uSW5oZXJpdGVkRGF0YS0+ZmxleGlibGVCb3gu
Z2V0KCkgIT0gb3RoZXItPnJhcmVOb25Jbmhlcml0ZWREYXRhLT5mbGV4aWJsZUJveC5nZXQoKQog
ICAgICAgICAgICAgJiYgKnJhcmVOb25Jbmhlcml0ZWREYXRhLT5mbGV4aWJsZUJveC5nZXQoKSAh
PSAqb3RoZXItPnJhcmVOb25Jbmhlcml0ZWREYXRhLT5mbGV4aWJsZUJveC5nZXQoKSkKICAgICAg
ICAgICAgIHJldHVybiBTdHlsZURpZmZlcmVuY2VMYXlvdXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IDllMzM2ZTcuLmI1Mzc1Y2YgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC03NDMsNiAr
NzQzLDEwIEBAIHB1YmxpYzoKICAgICBib29sIGhhc1RleHRDb21iaW5lKCkgY29uc3QgeyByZXR1
cm4gdGV4dENvbWJpbmUoKSAhPSBUZXh0Q29tYmluZU5vbmU7IH0KICAgICAvLyBFbmQgQ1NTMyBH
ZXR0ZXJzCiAKKyNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCisgICAgY29uc3QgQXRvbWljU3RyaW5n
JiByZWdpb25UaHJlYWQoKSBjb25zdCB7IHJldHVybiByYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9y
ZWdpb25UaHJlYWQ7IH0KKyNlbmRpZgorCiAgICAgLy8gQXBwbGUtc3BlY2lmaWMgcHJvcGVydHkg
Z2V0dGVyIG1ldGhvZHMKICAgICBFUG9pbnRlckV2ZW50cyBwb2ludGVyRXZlbnRzKCkgY29uc3Qg
eyByZXR1cm4gc3RhdGljX2Nhc3Q8RVBvaW50ZXJFdmVudHM+KGluaGVyaXRlZF9mbGFncy5fcG9p
bnRlckV2ZW50cyk7IH0KICAgICBjb25zdCBBbmltYXRpb25MaXN0KiBhbmltYXRpb25zKCkgY29u
c3QgeyByZXR1cm4gcmFyZU5vbkluaGVyaXRlZERhdGEtPm1fYW5pbWF0aW9ucy5nZXQoKTsgfQpA
QCAtMTA5MSw2ICsxMDk1LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFRleHRFbXBoYXNpc1Bv
c2l0aW9uKFRleHRFbXBoYXNpc1Bvc2l0aW9uIHBvc2l0aW9uKSB7IFNFVF9WQVIocmFyZUluaGVy
aXRlZERhdGEsIHRleHRFbXBoYXNpc1Bvc2l0aW9uLCBwb3NpdGlvbik7IH0KICAgICAvLyBFbmQg
Q1NTMyBTZXR0ZXJzCiAKKyNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCisgICAgdm9pZCBzZXRSZWdp
b25UaHJlYWQoY29uc3QgQXRvbWljU3RyaW5nJiBuKSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRl
ZERhdGEsIG1fcmVnaW9uVGhyZWFkLCBuKTsgfQorI2VuZGlmCisKICAgICAvLyBBcHBsZS1zcGVj
aWZpYyBwcm9wZXJ0eSBzZXR0ZXJzCiAgICAgdm9pZCBzZXRQb2ludGVyRXZlbnRzKEVQb2ludGVy
RXZlbnRzIHApIHsgaW5oZXJpdGVkX2ZsYWdzLl9wb2ludGVyRXZlbnRzID0gcDsgfQogCkBAIC0x
MzIwLDYgKzEzMjgsMTAgQEAgcHVibGljOgogICAgIHN0YXRpYyBMaW5lQm94Q29udGFpbiBpbml0
aWFsTGluZUJveENvbnRhaW4oKSB7IHJldHVybiBMaW5lQm94Q29udGFpbkJsb2NrIHwgTGluZUJv
eENvbnRhaW5JbmxpbmUgfCBMaW5lQm94Q29udGFpblJlcGxhY2VkOyB9CiAgICAgc3RhdGljIEVJ
bWFnZVJlbmRlcmluZyBpbml0aWFsSW1hZ2VSZW5kZXJpbmcoKSB7IHJldHVybiBJbWFnZVJlbmRl
cmluZ0F1dG87IH0KIAorI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKKyAgICBzdGF0aWMgY29uc3Qg
QXRvbWljU3RyaW5nJiBpbml0aWFsUmVnaW9uVGhyZWFkKCkgeyByZXR1cm4gbnVsbEF0b207IH0K
KyNlbmRpZgorCiAgICAgLy8gS2VlcCB0aGVzZSBhdCB0aGUgZW5kLgogICAgIHN0YXRpYyBMaW5l
Q2xhbXBWYWx1ZSBpbml0aWFsTGluZUNsYW1wKCkgeyByZXR1cm4gTGluZUNsYW1wVmFsdWUoKTsg
fQogICAgIHN0YXRpYyBib29sIGluaXRpYWxUZXh0U2l6ZUFkanVzdCgpIHsgcmV0dXJuIHRydWU7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVO
b25Jbmhlcml0ZWREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHls
ZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcAppbmRleCAxZDQyZDBjLi4wMTkxZDQwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVk
RGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5v
bkluaGVyaXRlZERhdGEuY3BwCkBAIC01NSw2ICs1NSw5IEBAIFN0eWxlUmFyZU5vbkluaGVyaXRl
ZERhdGE6OlN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEoKQogICAgICwgbV9wZXJzcGVjdGl2ZU9y
aWdpblkoUmVuZGVyU3R5bGU6OmluaXRpYWxQZXJzcGVjdGl2ZU9yaWdpblkoKSkKICAgICAsIG1f
cGFnZVNpemUoKQogICAgICwgbV9wYWdlU2l6ZVR5cGUoUEFHRV9TSVpFX0FVVE8pCisjaWYgRU5B
QkxFKENTU19SRUdJT05TKQorICAgICwgbV9yZWdpb25UaHJlYWQoUmVuZGVyU3R5bGU6OmluaXRp
YWxSZWdpb25UaHJlYWQoKSkKKyNlbmRpZgogewogfQogCkBAIC05NCw2ICs5Nyw5IEBAIFN0eWxl
UmFyZU5vbkluaGVyaXRlZERhdGE6OlN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEoY29uc3QgU3R5
bGVSYXJlTm9uSW5oZXJpdGVkCiAgICAgLCBtX3BlcnNwZWN0aXZlT3JpZ2luWShvLm1fcGVyc3Bl
Y3RpdmVPcmlnaW5ZKQogICAgICwgbV9wYWdlU2l6ZShvLm1fcGFnZVNpemUpCiAgICAgLCBtX3Bh
Z2VTaXplVHlwZShvLm1fcGFnZVNpemVUeXBlKQorI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKKyAg
ICAsIG1fcmVnaW9uVGhyZWFkKG8ubV9yZWdpb25UaHJlYWQpCisjZW5kaWYKIHsKIH0KIApAQCAt
MTQwLDYgKzE0Niw5IEBAIGJvb2wgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6b3BlcmF0b3I9
PShjb25zdCBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhJiBvKSBjCiAgICAgICAgICYmIChtX3Bl
cnNwZWN0aXZlT3JpZ2luWSA9PSBvLm1fcGVyc3BlY3RpdmVPcmlnaW5ZKQogICAgICAgICAmJiAo
bV9wYWdlU2l6ZSA9PSBvLm1fcGFnZVNpemUpCiAgICAgICAgICYmIChtX3BhZ2VTaXplVHlwZSA9
PSBvLm1fcGFnZVNpemVUeXBlKQorI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKKyAgICAgICAgJiYg
KG1fcmVnaW9uVGhyZWFkID09IG8ubV9yZWdpb25UaHJlYWQpCisjZW5kaWYKICAgICAgICAgOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJl
Tm9uSW5oZXJpdGVkRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxl
UmFyZU5vbkluaGVyaXRlZERhdGEuaAppbmRleCA5OTAxZGRiLi5kODYzZmFkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0
YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhl
cml0ZWREYXRhLmgKQEAgLTEzMSw2ICsxMzEsMTAgQEAgcHVibGljOgogICAgIExlbmd0aFNpemUg
bV9wYWdlU2l6ZTsKICAgICBQYWdlU2l6ZVR5cGUgbV9wYWdlU2l6ZVR5cGU7CiAKKyNpZiBFTkFC
TEUoQ1NTX1JFR0lPTlMpCisgICAgQXRvbWljU3RyaW5nIG1fcmVnaW9uVGhyZWFkOworI2VuZGlm
CisKIHByaXZhdGU6CiAgICAgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSgpOwogICAgIFN0eWxl
UmFyZU5vbkluaGVyaXRlZERhdGEoY29uc3QgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSYpOwo=
</data>
<flag name="review"
          id="93950"
          type_id="1"
          status="-"
          setter="hyatt"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>99958</attachid>
            <date>2011-07-07 02:00:59 -0700</date>
            <delta_ts>2011-07-08 00:06:42 -0700</delta_ts>
            <desc>Patch 3</desc>
            <filename>63133-3.patch</filename>
            <type>text/plain</type>
            <size>17684</size>
            <attacher name="Mihnea Ovidenie">mihnea</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiY2E2YzE1Li42MmMyNWY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDct
MDcgIE1paG5lYSBPdmlkZW5pZSAgPG1paG5lYUBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTU1Jl
Z2lvbnNdUGFyc2UgY29udGVudDogZnJvbS1mbG93CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MzEzMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9yZWdpb25zL2NvbnRlbnQtZnJvbS1mbG93LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL2NvbnRlbnQtZnJvbS1m
bG93Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy9zY3JpcHQtdGVzdHMvY29u
dGVudC1mcm9tLWZsb3cuanM6IEFkZGVkLgorCiAyMDExLTA3LTA2ICBNaWhuZWEgT3ZpZGVuaWUg
IDxtaWhuZWFAYWRvYmUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhdmlkIEh5YXR0Lgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2NvbnRlbnQtZnJvbS1mbG93LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9jb250ZW50LWZyb20tZmxvdy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTE2YTQ3NQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9jb250ZW50LWZyb20t
Zmxvdy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzOCBAQAorVGVzdHMgYmVpbmcgYWJsZSB0byBz
ZXQgY29udGVudCB0byBmcm9tLWZsb3cKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K1BBU1MgdGVzdENTU1RleHQoImNvbnRlbnQ6IGZyb20tZmxvdygnZmlyc3QtZmxvdycpIikgaXMg
ImZyb20tZmxvdyhmaXJzdC1mbG93KSIKK1BBU1MgdGVzdENTU1RleHQoImNvbnRlbnQ6IGZyb20t
ZmxvdygnZmlyc3QgZmxvdycpIikgaXMgImZyb20tZmxvdygnZmlyc3QgZmxvdycpIgorUEFTUyB0
ZXN0Q1NTVGV4dCgiY29udGVudDogZnJvbS1mbG93KCdhdXRvJykiKSBpcyAiZnJvbS1mbG93KGF1
dG8pIgorUEFTUyB0ZXN0Q1NTVGV4dCgiY29udGVudDogZnJvbS1mbG93KGF1dG8pIikgaXMgIiIK
K1BBU1MgdGVzdENTU1RleHQoImNvbnRlbnQ6IGZyb20tZmxvdyhpbml0aWFsKSIpIGlzICIiCitQ
QVNTIHRlc3RDU1NUZXh0KCJjb250ZW50OiBmcm9tLWZsb3coaW5oZXJpdCkiKSBpcyAiIgorUEFT
UyB0ZXN0Q1NTVGV4dCgiY29udGVudDogZnJvbS1mbG93KCkiKSBpcyAiIgorUEFTUyB0ZXN0Q1NT
VGV4dCgiY29udGVudDogZnJvbS1mbG93KCcnKSIpIGlzICJmcm9tLWZsb3coJycpIgorUEFTUyB0
ZXN0Q1NTVGV4dCgiY29udGVudDogOyIpIGlzICIiCitQQVNTIHRlc3RDU1NUZXh0KCJjb250ZW50
OiBmcm9tLWZsb3coMSkiKSBpcyAiIgorUEFTUyB0ZXN0Q1NTVGV4dCgiY29udGVudDogZnJvbS1m
bG93KDEuMikiKSBpcyAiIgorUEFTUyB0ZXN0Q1NTVGV4dCgiY29udGVudDogZnJvbS1mbG93KC0x
KSIpIGlzICIiCitQQVNTIHRlc3RDU1NUZXh0KCJjb250ZW50OiBmcm9tLWZsb3coMTJweCkiKSBp
cyAiIgorUEFTUyB0ZXN0Q1NTVGV4dCgiY29udGVudDogZnJvbS1mbG93KGZpcnN0IGZsb3cpIikg
aXMgIiIKK1BBU1MgdGVzdENTU1RleHQoImNvbnRlbnQ6IGZyb20tZmxvdyhmaXJzdC1mbG93KSIp
IGlzICIiCitQQVNTIHRlc3RDb21wdXRlZFN0eWxlKCInZmlyc3QtZmxvdyciKSBpcyAiZmlyc3Qt
ZmxvdyIKK1BBU1MgdGVzdENvbXB1dGVkU3R5bGUoIidmaXJzdCBmbG93JyIpIGlzICInZmlyc3Qg
ZmxvdyciCitQQVNTIHRlc3RDb21wdXRlZFN0eWxlKCInYXV0byciKSBpcyAiYXV0byIKK1BBU1Mg
dGVzdENvbXB1dGVkU3R5bGUoImF1dG8iKSBpcyAiIgorUEFTUyB0ZXN0Q29tcHV0ZWRTdHlsZSgi
aW5pdGlhbCIpIGlzICIiCitQQVNTIHRlc3RDb21wdXRlZFN0eWxlKCJpbmhlcml0IikgaXMgIiIK
K1BBU1MgdGVzdENvbXB1dGVkU3R5bGUoIiIpIGlzICIiCitQQVNTIHRlc3RDb21wdXRlZFN0eWxl
KCIxIikgaXMgIiIKK1BBU1MgdGVzdENvbXB1dGVkU3R5bGUoIjEuMiIpIGlzICIiCitQQVNTIHRl
c3RDb21wdXRlZFN0eWxlKCItMSIpIGlzICIiCitQQVNTIHRlc3RDb21wdXRlZFN0eWxlKCIxMnB4
IikgaXMgIiIKK1BBU1MgdGVzdENvbXB1dGVkU3R5bGUoIicnIikgaXMgIicnIgorUEFTUyB0ZXN0
Q29tcHV0ZWRTdHlsZSgiZmlyc3QgZmxvdyIpIGlzICIiCitQQVNTIHRlc3RDb21wdXRlZFN0eWxl
KCJmaXJzdC1mbG93IikgaXMgIiIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvY29u
dGVudC1mcm9tLWZsb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9jb250ZW50LWZy
b20tZmxvdy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1MmM1ZDkK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvY29udGVudC1mcm9t
LWZsb3cuaHRtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9jb250ZW50LWZyb20tZmxv
dy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9zY3JpcHQtdGVzdHMvY29udGVudC1mcm9tLWZsb3cuanMg
Yi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvc2NyaXB0LXRlc3RzL2NvbnRlbnQtZnJvbS1mbG93
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlMjRkY2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvc2NyaXB0LXRlc3RzL2NvbnRlbnQt
ZnJvbS1mbG93LmpzCkBAIC0wLDAgKzEsNTAgQEAKK2Rlc2NyaXB0aW9uKCdUZXN0cyBiZWluZyBh
YmxlIHRvIHNldCBjb250ZW50IHRvIGZyb20tZmxvdycpOworCitmdW5jdGlvbiB0ZXN0Q1NTVGV4
dChkZWNsYXJhdGlvbikgeworICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJk
aXYiKTsKKyAgICBkaXYuc2V0QXR0cmlidXRlKCJzdHlsZSIsIGRlY2xhcmF0aW9uKTsKKyAgICBy
ZXR1cm4gZGl2LnN0eWxlLmNvbnRlbnQ7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb21wdXRlZFN0eWxl
KGRlY2xhcmF0aW9uKSB7CisgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRp
diIpOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKKyAgICBkaXYuc3R5bGUu
c2V0UHJvcGVydHkoImNvbnRlbnQiLCBkZWNsYXJhdGlvbik7CisKKyAgICB2YXIgY29udGVudENv
bXB1dGVkVmFsdWUgPSBnZXRDb21wdXRlZFN0eWxlKGRpdikuZ2V0UHJvcGVydHlWYWx1ZSgiY29u
dGVudCIpOworICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZGl2KTsKKyAgICByZXR1cm4g
Y29udGVudENvbXB1dGVkVmFsdWU7Cit9CisKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdENT
U1RleHQoImNvbnRlbnQ6IGZyb20tZmxvdyhcJ2ZpcnN0LWZsb3dcJykiKScsICJmcm9tLWZsb3co
Zmlyc3QtZmxvdykiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdENTU1RleHQoImNvbnRl
bnQ6IGZyb20tZmxvdyhcJ2ZpcnN0IGZsb3dcJykiKScsICJmcm9tLWZsb3coJ2ZpcnN0IGZsb3cn
KSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0Q1NTVGV4dCgiY29udGVudDogZnJvbS1m
bG93KFwnYXV0b1wnKSIpJywgImZyb20tZmxvdyhhdXRvKSIpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCd0ZXN0Q1NTVGV4dCgiY29udGVudDogZnJvbS1mbG93KGF1dG8pIiknLCAiIik7CitzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RDU1NUZXh0KCJjb250ZW50OiBmcm9tLWZsb3coaW5pdGlh
bCkiKScsICIiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdENTU1RleHQoImNvbnRlbnQ6
IGZyb20tZmxvdyhpbmhlcml0KSIpJywgIiIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0
Q1NTVGV4dCgiY29udGVudDogZnJvbS1mbG93KCkiKScsICIiKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygndGVzdENTU1RleHQoImNvbnRlbnQ6IGZyb20tZmxvdyhcJ1wnKSIpJywgImZyb20tZmxv
dygnJykiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdENTU1RleHQoImNvbnRlbnQ6IDsi
KScsICIiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdENTU1RleHQoImNvbnRlbnQ6IGZy
b20tZmxvdygxKSIpJywgIiIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0Q1NTVGV4dCgi
Y29udGVudDogZnJvbS1mbG93KDEuMikiKScsICIiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygn
dGVzdENTU1RleHQoImNvbnRlbnQ6IGZyb20tZmxvdygtMSkiKScsICIiKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygndGVzdENTU1RleHQoImNvbnRlbnQ6IGZyb20tZmxvdygxMnB4KSIpJywgIiIp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0Q1NTVGV4dCgiY29udGVudDogZnJvbS1mbG93
KGZpcnN0IGZsb3cpIiknLCAiIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RDU1NUZXh0
KCJjb250ZW50OiBmcm9tLWZsb3coZmlyc3QtZmxvdykiKScsICIiKTsKKworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCd0ZXN0Q29tcHV0ZWRTdHlsZSgiXCdmaXJzdC1mbG93XCciKScsICJmaXJzdC1m
bG93Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RDb21wdXRlZFN0eWxlKCJcJ2ZpcnN0
IGZsb3dcJyIpJywgIidmaXJzdCBmbG93JyIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0
Q29tcHV0ZWRTdHlsZSgiXCdhdXRvXCciKScsICJhdXRvIik7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3Rlc3RDb21wdXRlZFN0eWxlKCJhdXRvIiknLCAiIik7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3Rlc3RDb21wdXRlZFN0eWxlKCJpbml0aWFsIiknLCAiIik7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ3Rlc3RDb21wdXRlZFN0eWxlKCJpbmhlcml0IiknLCAiIik7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3Rlc3RDb21wdXRlZFN0eWxlKCIiKScsICIiKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygndGVzdENvbXB1dGVkU3R5bGUoIjEiKScsICIiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmlu
ZygndGVzdENvbXB1dGVkU3R5bGUoIjEuMiIpJywgIiIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCd0ZXN0Q29tcHV0ZWRTdHlsZSgiLTEiKScsICIiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygn
dGVzdENvbXB1dGVkU3R5bGUoIjEycHgiKScsICIiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygn
dGVzdENvbXB1dGVkU3R5bGUoIlwnXCciKScsICInJyIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCd0ZXN0Q29tcHV0ZWRTdHlsZSgiZmlyc3QgZmxvdyIpJywgIiIpOworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCd0ZXN0Q29tcHV0ZWRTdHlsZSgiZmlyc3QtZmxvdyIpJywgIiIpOworCitzdWNjZXNz
ZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGViODNhNDAuLmIxZTFiODAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwzNiBAQAorMjAxMS0wNy0wNyAgTWlobmVhIE92aWRlbmllICA8bWlo
bmVhQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTUmVnaW9uc11QYXJzZSBjb250ZW50OiBmcm9t
LWZsb3cKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYz
MTMzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVz
dDogZmFzdC9yZWdpb25zL2NvbnRlbnQtZnJvbS1mbG93Lmh0bWwKKworICAgICAgICAqIGNzcy9D
U1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29udGVu
dFRvQ1NTVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUGFyc2VyOjpwYXJzZUNvbnRlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFy
c2VyOjpwYXJzZUZyb21GbG93Q29udGVudCk6CisgICAgICAgICogY3NzL0NTU1BhcnNlci5oOgor
ICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQcmltaXRpdmVWYWx1ZTo6Y2xlYW51cCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRp
dmVWYWx1ZTo6Z2V0U3RyaW5nVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZl
VmFsdWU6OmNzc1RleHQpOgorICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZS5oOgorICAg
ICAgICAqIGNzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0
eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVydHkpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9S
ZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6ZGlmZik6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgIChXZWJDb3Jl
OjpJbmhlcml0ZWRGbGFnczo6cmVnaW9uVGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OkluaGVy
aXRlZEZsYWdzOjpzZXRSZWdpb25UaHJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVk
RmxhZ3M6OmluaXRpYWxSZWdpb25UaHJlYWQpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9T
dHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmFy
ZU5vbkluaGVyaXRlZERhdGE6OlN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEpOgorICAgICAgICAo
V2ViQ29yZTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6b3BlcmF0b3I9PSk6CisgICAgICAg
ICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaDoKKwogMjAxMS0w
Ny0wNiAgTWlobmVhIE92aWRlbmllICA8bWlobmVhQGFkb2JlLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBEYXZpZCBIeWF0dC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1ND
b21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1
dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggNmY1NWFjOC4uMjIyODBlMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAg
LTc2Nyw2ICs3NjcsMTAgQEAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IGNvbnRlbnRUb0NT
U1ZhbHVlKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgQ1NTUHJpbWkKICAgICAgICAgfSBlbHNl
IGlmIChjb250ZW50RGF0YS0+aXNUZXh0KCkpCiAgICAgICAgICAgICBsaXN0LT5hcHBlbmQocHJp
bWl0aXZlVmFsdWVDYWNoZS0+Y3JlYXRlVmFsdWUoc3RhdGljX2Nhc3Q8Y29uc3QgVGV4dENvbnRl
bnREYXRhKj4oY29udGVudERhdGEpLT50ZXh0KCksIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfU1RS
SU5HKSk7CiAgICAgfQorI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKKyAgICBpZiAoIXN0eWxlLT5y
ZWdpb25UaHJlYWQoKS5pc051bGwoKSkKKyAgICAgICAgbGlzdC0+YXBwZW5kKHByaW1pdGl2ZVZh
bHVlQ2FjaGUtPmNyZWF0ZVZhbHVlKHN0eWxlLT5yZWdpb25UaHJlYWQoKSwgQ1NTUHJpbWl0aXZl
VmFsdWU6OkNTU19TVFJJTkcpKTsKKyNlbmRpZgogICAgIHJldHVybiBsaXN0LnJlbGVhc2UoKTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRleCBhY2Y3NzUyLi4xMjhiM2I0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAtMjY1Nyw2ICsyNjU3LDEyIEBAIGJvb2wgQ1NTUGFy
c2VyOjpwYXJzZUNvbnRlbnQoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgICAgICAg
ICB9IGVsc2UgaWYgKGlzR2VuZXJhdGVkSW1hZ2VWYWx1ZSh2YWwpKSB7CiAgICAgICAgICAgICAg
ICAgaWYgKCFwYXJzZUdlbmVyYXRlZEltYWdlKHBhcnNlZFZhbHVlKSkKICAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKKyAgICAgICAgICAg
IH0gZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UodmFsLT5mdW5jdGlvbi0+bmFtZSwgImZyb20t
ZmxvdygiKSkgeworICAgICAgICAgICAgICAgIHBhcnNlZFZhbHVlID0gcGFyc2VGcm9tRmxvd0Nv
bnRlbnQoYXJncyk7CisgICAgICAgICAgICAgICAgaWYgKCFwYXJzZWRWYWx1ZSkKKyAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCiAgICAgICAgICAgICB9IGVsc2UKICAg
ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0gZWxzZSBpZiAodmFsLT51bml0
ID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfSURFTlQpIHsKQEAgLTU4NjUsNiArNTg3MSwyMiBA
QCBib29sIENTU1BhcnNlcjo6cGFyc2VGbG93VGhyZWFkKGludCBwcm9wSWQsIGJvb2wgaW1wb3J0
YW50KQogCiAgICAgcmV0dXJuIGZhbHNlOwogfQorCisvLyBUaGUgcmVnaW9uIG5hbWUgaXMgbm93
IHNwZWNpZmllZCBhcyBhbiBhcmd1bWVudCB0byB0aGUgY29udGVudCBwcm9wZXJ0eToKKy8vIGNv
bnRlbnQ6IGZyb20tZmxvdyhmbG93X3RocmVhZF9uYW1lKQorUGFzc1JlZlB0cjxDU1NWYWx1ZT4g
Q1NTUGFyc2VyOjpwYXJzZUZyb21GbG93Q29udGVudChDU1NQYXJzZXJWYWx1ZUxpc3QqIGFyZ3Mp
Cit7CisgICAgLy8gSXQgc2hvdWxkIGJlIG9ubHkgb25lIG5hbWUgZm9yIHRoZSByZWdpb24gdGhy
ZWFkLgorICAgIGlmIChhcmdzLT5zaXplKCkgIT0gMSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAg
ICBDU1NQYXJzZXJWYWx1ZSogYXJnRmxvd1RocmVhZE5hbWUgPSBhcmdzLT5jdXJyZW50KCk7CisK
KyAgICBpZiAoYXJnRmxvd1RocmVhZE5hbWUtPnVuaXQgIT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNT
U19TVFJJTkcpCisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZh
bHVlOjpjcmVhdGUoYXJnRmxvd1RocmVhZE5hbWUtPnN0cmluZywgQ1NTUHJpbWl0aXZlVmFsdWU6
OkNTU19GUk9NX0ZMT1cpOworfQogI2VuZGlmCiAKIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVRyYW5z
Zm9ybU9yaWdpbihpbnQgcHJvcElkLCBpbnQmIHByb3BJZDEsIGludCYgcHJvcElkMiwgaW50JiBw
cm9wSWQzLCBSZWZQdHI8Q1NTVmFsdWU+JiB2YWx1ZSwgUmVmUHRyPENTU1ZhbHVlPiYgdmFsdWUy
LCBSZWZQdHI8Q1NTVmFsdWU+JiB2YWx1ZTMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKaW5kZXggYzE3
NWNhYi4uYzhiNGFkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaApAQCAtMTU4LDYgKzE1OCw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKICAgICAgICAg
Ym9vbCBwYXJzZUZsb3dUaHJlYWQoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpOworICAgICAg
ICBQYXNzUmVmUHRyPENTU1ZhbHVlPiBwYXJzZUZyb21GbG93Q29udGVudChDU1NQYXJzZXJWYWx1
ZUxpc3QqKTsKICNlbmRpZgogICAgICAgICAvLyBDU1MzIFBhcnNpbmcgUm91dGluZXMgKGZvciBw
cm9wZXJ0aWVzIHNwZWNpZmljIHRvIENTUzMpCiAgICAgICAgIGJvb2wgcGFyc2VTaGFkb3coaW50
IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1ByaW1pdGl2ZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVW
YWx1ZS5jcHAKaW5kZXggYmU4ODlhYi4uNTJmNmNkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJpbWl0aXZlVmFsdWUuY3BwCkBAIC0yMjEsNiArMjIxLDkgQEAgdm9pZCBDU1NQcmltaXRpdmVW
YWx1ZTo6Y2xlYW51cCgpCiAgICAgICAgIGNhc2UgQ1NTX1NUUklORzoKICAgICAgICAgY2FzZSBD
U1NfVVJJOgogICAgICAgICBjYXNlIENTU19BVFRSOgorI2lmIEVOQUJMRShDU1NfUkVHSU9OUykK
KyAgICAgICAgY2FzZSBDU1NfRlJPTV9GTE9XOgorI2VuZGlmCiAgICAgICAgIGNhc2UgQ1NTX1BB
UlNFUl9IRVhDT0xPUjoKICAgICAgICAgICAgIGlmIChtX3ZhbHVlLnN0cmluZykKICAgICAgICAg
ICAgICAgICBtX3ZhbHVlLnN0cmluZy0+ZGVyZWYoKTsKQEAgLTUwNCw2ICs1MDcsOSBAQCBTdHJp
bmcgQ1NTUHJpbWl0aXZlVmFsdWU6OmdldFN0cmluZ1ZhbHVlKEV4Y2VwdGlvbkNvZGUmIGVjKSBj
b25zdAogICAgICAgICBjYXNlIENTU19TVFJJTkc6CiAgICAgICAgIGNhc2UgQ1NTX0FUVFI6CiAg
ICAgICAgIGNhc2UgQ1NTX1VSSToKKyNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCisgICAgICAgIGNh
c2UgQ1NTX0ZST01fRkxPVzoKKyNlbmRpZgogICAgICAgICAgICAgcmV0dXJuIG1fdmFsdWUuc3Ry
aW5nOwogICAgICAgICBjYXNlIENTU19JREVOVDoKICAgICAgICAgICAgIHJldHVybiB2YWx1ZU9y
UHJvcGVydHlOYW1lKG1fdmFsdWUuaWRlbnQpOwpAQCAtNjg0LDYgKzY5MCwxMSBAQCBTdHJpbmcg
Q1NTUHJpbWl0aXZlVmFsdWU6OmNzc1RleHQoKSBjb25zdAogICAgICAgICBjYXNlIENTU19TVFJJ
Tkc6CiAgICAgICAgICAgICB0ZXh0ID0gcXVvdGVDU1NTdHJpbmdJZk5lZWRlZChtX3ZhbHVlLnN0
cmluZyk7CiAgICAgICAgICAgICBicmVhazsKKyNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCisgICAg
ICAgIGNhc2UgQ1NTX0ZST01fRkxPVzoKKyAgICAgICAgICAgIHRleHQgPSAiZnJvbS1mbG93KCIg
KyBxdW90ZUNTU1N0cmluZ0lmTmVlZGVkKG1fdmFsdWUuc3RyaW5nKSArICIpIjsKKyAgICAgICAg
ICAgIGJyZWFrOworI2VuZGlmCiAgICAgICAgIGNhc2UgQ1NTX1VSSToKICAgICAgICAgICAgIHRl
eHQgPSAidXJsKCIgKyBxdW90ZUNTU1VSTElmTmVlZGVkKG1fdmFsdWUuc3RyaW5nKSArICIpIjsK
ICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1By
aW1pdGl2ZVZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaApp
bmRleCA5MDdkMGI5Li5hYjkwMzNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJpbWl0aXZlVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFs
dWUuaApAQCAtOTQsNyArOTQsOCBAQCBwdWJsaWM6CiAgICAgICAgIENTU19SRU1TID0gMTA4LAog
CiAgICAgICAgIC8vIFRoaXMgaXMgdXNlZCBpbnRlcm5hbGx5IGZvciBjb3VudGVyIG5hbWVzIChh
cyBvcHBvc2VkIHRvIGNvdW50ZXIgdmFsdWVzKQotICAgICAgICBDU1NfQ09VTlRFUl9OQU1FID0g
MTA5CisgICAgICAgIENTU19DT1VOVEVSX05BTUUgPSAxMDksCisgICAgICAgIENTU19GUk9NX0ZM
T1cgPSAxMTAKICAgICB9OwogICAgIAogICAgIC8vIFRoaXMgZW51bSBmb2xsb3dzIHRoZSBDU1NQ
YXJzZXI6OlVuaXRzIGVudW0gYXVnbWVudGVkIHdpdGggVU5JVF9GUkVRVUVOQ1kgZm9yIGZyZXF1
ZW5jaWVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3Iu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCmluZGV4IDZmODRm
YWUuLmMzZjk4YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVj
dG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKQEAg
LTQxNDAsNiArNDE0MCwxNiBAQCB2b2lkIENTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVydHko
aW50IGlkLCBDU1NWYWx1ZSAqdmFsdWUpCiAgICAgICAgIENTU1ZhbHVlTGlzdCogbGlzdCA9IHN0
YXRpY19jYXN0PENTU1ZhbHVlTGlzdCo+KHZhbHVlKTsKICAgICAgICAgaW50IGxlbiA9IGxpc3Qt
Pmxlbmd0aCgpOwogCisjaWYgRU5BQkxFKENTU19SRUdJT05TKQorICAgICAgICBpZiAobGVuID09
IDEgJiYgbGlzdC0+aXRlbVdpdGhvdXRCb3VuZHNDaGVjaygwKS0+aXNQcmltaXRpdmVWYWx1ZSgp
KSB7CisgICAgICAgICAgICBDU1NQcmltaXRpdmVWYWx1ZSogY29udGVudFZhbHVlID0gc3RhdGlj
X2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWUqPihsaXN0LT5pdGVtV2l0aG91dEJvdW5kc0NoZWNrKDAp
KTsKKyAgICAgICAgICAgIGlmIChjb250ZW50VmFsdWUtPnByaW1pdGl2ZVR5cGUoKSA9PSBDU1NQ
cmltaXRpdmVWYWx1ZTo6Q1NTX0ZST01fRkxPVykgeworICAgICAgICAgICAgICAgIG1fc3R5bGUt
PnNldFJlZ2lvblRocmVhZChjb250ZW50VmFsdWUtPmdldFN0cmluZ1ZhbHVlKCkuaW1wbCgpKTsK
KyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyNlbmRp
ZgorCiAgICAgICAgIGJvb2wgZGlkU2V0ID0gZmFsc2U7CiAgICAgICAgIGZvciAoaW50IGkgPSAw
OyBpIDwgbGVuOyBpKyspIHsKICAgICAgICAgICAgIENTU1ZhbHVlKiBpdGVtID0gbGlzdC0+aXRl
bVdpdGhvdXRCb3VuZHNDaGVjayhpKTsKQEAgLTQxNDcsMTAgKzQxNTcsMTAgQEAgdm9pZCBDU1NT
dHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KGludCBpZCwgQ1NTVmFsdWUgKnZhbHVlKQogICAg
ICAgICAgICAgICAgIG1fc3R5bGUtPnNldENvbnRlbnQoc3RhdGljX2Nhc3Q8Q1NTSW1hZ2VHZW5l
cmF0b3JWYWx1ZSo+KGl0ZW0pLT5nZW5lcmF0ZWRJbWFnZSgpLCBkaWRTZXQpOwogICAgICAgICAg
ICAgICAgIGRpZFNldCA9IHRydWU7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAKKwogICAg
ICAgICAgICAgaWYgKCFpdGVtLT5pc1ByaW1pdGl2ZVZhbHVlKCkpCiAgICAgICAgICAgICAgICAg
Y29udGludWU7Ci0gICAgICAgICAgICAKKwogICAgICAgICAgICAgQ1NTUHJpbWl0aXZlVmFsdWUq
IGNvbnRlbnRWYWx1ZSA9IHN0YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZhbHVlKj4oaXRlbSk7CiAg
ICAgICAgICAgICBzd2l0Y2ggKGNvbnRlbnRWYWx1ZS0+cHJpbWl0aXZlVHlwZSgpKSB7CiAgICAg
ICAgICAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfU1RSSU5HOgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKaW5kZXggYzdhYTg0Ni4uM2Mw
MzI1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0
eWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUu
Y3BwCkBAIC0zNDUsOCArMzQ1LDkgQEAgU3R5bGVEaWZmZXJlbmNlIFJlbmRlclN0eWxlOjpkaWZm
KGNvbnN0IFJlbmRlclN0eWxlKiBvdGhlciwgdW5zaWduZWQmIGNoYW5nZWRDb24KICAgICAgICAg
ICAgIHJldHVybiBTdHlsZURpZmZlcmVuY2VMYXlvdXQ7CiAKICNpZiBFTkFCTEUoQ1NTX1JFR0lP
TlMpCi0gICAgICAgIGlmIChyYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9mbG93VGhyZWFkICE9IG90
aGVyLT5yYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9mbG93VGhyZWFkKQotICAgICAgICAgICAgIHJl
dHVybiBTdHlsZURpZmZlcmVuY2VMYXlvdXQ7CisgICAgICAgIGlmIChyYXJlTm9uSW5oZXJpdGVk
RGF0YS0+bV9mbG93VGhyZWFkICE9IG90aGVyLT5yYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9mbG93
VGhyZWFkCisgICAgICAgICAgICB8fCByYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9yZWdpb25UaHJl
YWQgIT0gb3RoZXItPnJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX3JlZ2lvblRocmVhZCkKKyAgICAg
ICAgICAgIHJldHVybiBTdHlsZURpZmZlcmVuY2VMYXlvdXQ7CiAjZW5kaWYKICAgICAgICAgaWYg
KHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2RlcHJlY2F0ZWRGbGV4aWJsZUJveC5nZXQoKSAhPSBv
dGhlci0+cmFyZU5vbkluaGVyaXRlZERhdGEtPm1fZGVwcmVjYXRlZEZsZXhpYmxlQm94LmdldCgp
CiAgICAgICAgICAgICAmJiAqcmFyZU5vbkluaGVyaXRlZERhdGEtPm1fZGVwcmVjYXRlZEZsZXhp
YmxlQm94LmdldCgpICE9ICpvdGhlci0+cmFyZU5vbkluaGVyaXRlZERhdGEtPm1fZGVwcmVjYXRl
ZEZsZXhpYmxlQm94LmdldCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVu
ZGVyU3R5bGUuaAppbmRleCBlYTg2NDI5Li4zYmVkMzA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtNzQ1LDYgKzc0NSw3IEBAIHB1YmxpYzoK
IAogI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGZsb3dU
aHJlYWQoKSBjb25zdCB7IHJldHVybiByYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9mbG93VGhyZWFk
OyB9CisgICAgY29uc3QgQXRvbWljU3RyaW5nJiByZWdpb25UaHJlYWQoKSBjb25zdCB7IHJldHVy
biByYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9yZWdpb25UaHJlYWQ7IH0KICNlbmRpZgogCiAgICAg
Ly8gQXBwbGUtc3BlY2lmaWMgcHJvcGVydHkgZ2V0dGVyIG1ldGhvZHMKQEAgLTEwOTcsNiArMTA5
OCw3IEBAIHB1YmxpYzoKIAogI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKICAgICB2b2lkIHNldEZs
b3dUaHJlYWQoY29uc3QgQXRvbWljU3RyaW5nJiBmbG93VGhyZWFkKSB7IFNFVF9WQVIocmFyZU5v
bkluaGVyaXRlZERhdGEsIG1fZmxvd1RocmVhZCwgZmxvd1RocmVhZCk7IH0KKyAgICB2b2lkIHNl
dFJlZ2lvblRocmVhZChjb25zdCBBdG9taWNTdHJpbmcmIHJlZ2lvblRocmVhZCkgeyBTRVRfVkFS
KHJhcmVOb25Jbmhlcml0ZWREYXRhLCBtX3JlZ2lvblRocmVhZCwgcmVnaW9uVGhyZWFkKTsgfQog
I2VuZGlmCiAKICAgICAvLyBBcHBsZS1zcGVjaWZpYyBwcm9wZXJ0eSBzZXR0ZXJzCkBAIC0xMzMw
LDYgKzEzMzIsNyBAQCBwdWJsaWM6CiAKICNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCiAgICAgc3Rh
dGljIGNvbnN0IEF0b21pY1N0cmluZyYgaW5pdGlhbEZsb3dUaHJlYWQoKSB7IHJldHVybiBudWxs
QXRvbTsgfQorICAgIHN0YXRpYyBjb25zdCBBdG9taWNTdHJpbmcmIGluaXRpYWxSZWdpb25UaHJl
YWQoKSB7IHJldHVybiBudWxsQXRvbTsgfQogI2VuZGlmCiAKICAgICAvLyBLZWVwIHRoZXNlIGF0
IHRoZSBlbmQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5
bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAKaW5kZXggMWY0OTFkMy4uOWZkMzEwZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbklu
aGVyaXRlZERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHls
ZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcApAQCAtNTcsNiArNTcsNyBAQCBTdHlsZVJhcmVOb25J
bmhlcml0ZWREYXRhOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhKCkKICAgICAsIG1fcGFnZVNp
emVUeXBlKFBBR0VfU0laRV9BVVRPKQogI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKICAgICAsIG1f
Zmxvd1RocmVhZChSZW5kZXJTdHlsZTo6aW5pdGlhbEZsb3dUaHJlYWQoKSkKKyAgICAsIG1fcmVn
aW9uVGhyZWFkKFJlbmRlclN0eWxlOjppbml0aWFsUmVnaW9uVGhyZWFkKCkpCiAjZW5kaWYKIHsK
IH0KQEAgLTk5LDYgKzEwMCw3IEBAIFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6OlN0eWxlUmFy
ZU5vbkluaGVyaXRlZERhdGEoY29uc3QgU3R5bGVSYXJlTm9uSW5oZXJpdGVkCiAgICAgLCBtX3Bh
Z2VTaXplVHlwZShvLm1fcGFnZVNpemVUeXBlKQogI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKICAg
ICAsIG1fZmxvd1RocmVhZChvLm1fZmxvd1RocmVhZCkKKyAgICAsIG1fcmVnaW9uVGhyZWFkKG8u
bV9yZWdpb25UaHJlYWQpCiAjZW5kaWYKIHsKIH0KQEAgLTE0OCw2ICsxNTAsNyBAQCBib29sIFN0
eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6Om9wZXJhdG9yPT0oY29uc3QgU3R5bGVSYXJlTm9uSW5o
ZXJpdGVkRGF0YSYgbykgYwogICAgICAgICAmJiAobV9wYWdlU2l6ZVR5cGUgPT0gby5tX3BhZ2VT
aXplVHlwZSkKICNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCiAgICAgICAgICYmIChtX2Zsb3dUaHJl
YWQgPT0gby5tX2Zsb3dUaHJlYWQpCisgICAgICAgICYmIChtX3JlZ2lvblRocmVhZCA9PSBvLm1f
cmVnaW9uVGhyZWFkKQogI2VuZGlmCiAgICAgICAgIDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oCmlu
ZGV4IGE0MjM2ZTguLjEwMDk0YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaApAQCAtMTMzLDYgKzEz
Myw3IEBAIHB1YmxpYzoKIAogI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKICAgICBBdG9taWNTdHJp
bmcgbV9mbG93VGhyZWFkOworICAgIEF0b21pY1N0cmluZyBtX3JlZ2lvblRocmVhZDsKICNlbmRp
ZgogCiBwcml2YXRlOgo=
</data>
<flag name="review"
          id="94557"
          type_id="1"
          status="-"
          setter="hyatt"
    />
    <flag name="commit-queue"
          id="94558"
          type_id="3"
          status="-"
          setter="hyatt"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100083</attachid>
            <date>2011-07-08 00:06:42 -0700</date>
            <delta_ts>2011-07-08 10:29:23 -0700</delta_ts>
            <desc>Patch 4</desc>
            <filename>63133-4.patch</filename>
            <type>text/plain</type>
            <size>18286</size>
            <attacher name="Mihnea Ovidenie">mihnea</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxODc3NDc0Li4yMjQxNWQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDct
MDcgIE1paG5lYSBPdmlkZW5pZSAgPG1paG5lYUBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTU1Jl
Z2lvbnNdUGFyc2UgY29udGVudDogLXdlYmtpdC1mcm9tLWZsb3cKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYzMTMzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMvY29udGVudC13ZWJr
aXQtZnJvbS1mbG93LXBhcnNpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L3JlZ2lvbnMvY29udGVudC13ZWJraXQtZnJvbS1mbG93LXBhcnNpbmcuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9yZWdpb25zL3NjcmlwdC10ZXN0cy9jb250ZW50LXdlYmtpdC1mcm9tLWZs
b3ctcGFyc2luZy5qczogQWRkZWQuCisKIDIwMTEtMDctMDcgIEtlbnQgVGFtdXJhICA8dGtlbnRA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gVXBkYXRlIGJhc2VsaW5lIGZpbGVz
IGZvciBpbnB1dC1hcHBlYXJhbmNlLXJhbmdlLmh0bWwuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3JlZ2lvbnMvY29udGVudC13ZWJraXQtZnJvbS1mbG93LXBhcnNpbmctZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2NvbnRlbnQtd2Via2l0LWZyb20tZmxvdy1w
YXJzaW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4x
OGZmMTNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2NvbnRl
bnQtd2Via2l0LWZyb20tZmxvdy1wYXJzaW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM4IEBA
CitUZXN0cyBiZWluZyBhYmxlIHRvIHNldCBjb250ZW50IHRvIC13ZWJraXQtZnJvbS1mbG93CisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHRlc3RDU1NUZXh0KCJjb250ZW50
OiAtd2Via2l0LWZyb20tZmxvdygnZmlyc3QtZmxvdycpIikgaXMgIi13ZWJraXQtZnJvbS1mbG93
KGZpcnN0LWZsb3cpIgorUEFTUyB0ZXN0Q1NTVGV4dCgiY29udGVudDogLXdlYmtpdC1mcm9tLWZs
b3coJ2ZpcnN0IGZsb3cnKSIpIGlzICItd2Via2l0LWZyb20tZmxvdygnZmlyc3QgZmxvdycpIgor
UEFTUyB0ZXN0Q1NTVGV4dCgiY29udGVudDogLXdlYmtpdC1mcm9tLWZsb3coJ2F1dG8nKSIpIGlz
ICItd2Via2l0LWZyb20tZmxvdyhhdXRvKSIKK1BBU1MgdGVzdENTU1RleHQoImNvbnRlbnQ6IC13
ZWJraXQtZnJvbS1mbG93KGF1dG8pIikgaXMgIiIKK1BBU1MgdGVzdENTU1RleHQoImNvbnRlbnQ6
IC13ZWJraXQtZnJvbS1mbG93KGluaXRpYWwpIikgaXMgIiIKK1BBU1MgdGVzdENTU1RleHQoImNv
bnRlbnQ6IC13ZWJraXQtZnJvbS1mbG93KGluaGVyaXQpIikgaXMgIiIKK1BBU1MgdGVzdENTU1Rl
eHQoImNvbnRlbnQ6IC13ZWJraXQtZnJvbS1mbG93KCkiKSBpcyAiIgorUEFTUyB0ZXN0Q1NTVGV4
dCgiY29udGVudDogLXdlYmtpdC1mcm9tLWZsb3coJycpIikgaXMgIi13ZWJraXQtZnJvbS1mbG93
KCcnKSIKK1BBU1MgdGVzdENTU1RleHQoImNvbnRlbnQ6IDsiKSBpcyAiIgorUEFTUyB0ZXN0Q1NT
VGV4dCgiY29udGVudDogLXdlYmtpdC1mcm9tLWZsb3coMSkiKSBpcyAiIgorUEFTUyB0ZXN0Q1NT
VGV4dCgiY29udGVudDogLXdlYmtpdC1mcm9tLWZsb3coMS4yKSIpIGlzICIiCitQQVNTIHRlc3RD
U1NUZXh0KCJjb250ZW50OiAtd2Via2l0LWZyb20tZmxvdygtMSkiKSBpcyAiIgorUEFTUyB0ZXN0
Q1NTVGV4dCgiY29udGVudDogLXdlYmtpdC1mcm9tLWZsb3coMTJweCkiKSBpcyAiIgorUEFTUyB0
ZXN0Q1NTVGV4dCgiY29udGVudDogLXdlYmtpdC1mcm9tLWZsb3coZmlyc3QgZmxvdykiKSBpcyAi
IgorUEFTUyB0ZXN0Q1NTVGV4dCgiY29udGVudDogLXdlYmtpdC1mcm9tLWZsb3coZmlyc3QtZmxv
dykiKSBpcyAiIgorUEFTUyB0ZXN0Q29tcHV0ZWRTdHlsZSgiJ2ZpcnN0LWZsb3cnIikgaXMgImZp
cnN0LWZsb3ciCitQQVNTIHRlc3RDb21wdXRlZFN0eWxlKCInZmlyc3QgZmxvdyciKSBpcyAiJ2Zp
cnN0IGZsb3cnIgorUEFTUyB0ZXN0Q29tcHV0ZWRTdHlsZSgiJ2F1dG8nIikgaXMgImF1dG8iCitQ
QVNTIHRlc3RDb21wdXRlZFN0eWxlKCJhdXRvIikgaXMgIiIKK1BBU1MgdGVzdENvbXB1dGVkU3R5
bGUoImluaXRpYWwiKSBpcyAiIgorUEFTUyB0ZXN0Q29tcHV0ZWRTdHlsZSgiaW5oZXJpdCIpIGlz
ICIiCitQQVNTIHRlc3RDb21wdXRlZFN0eWxlKCIiKSBpcyAiIgorUEFTUyB0ZXN0Q29tcHV0ZWRT
dHlsZSgiMSIpIGlzICIiCitQQVNTIHRlc3RDb21wdXRlZFN0eWxlKCIxLjIiKSBpcyAiIgorUEFT
UyB0ZXN0Q29tcHV0ZWRTdHlsZSgiLTEiKSBpcyAiIgorUEFTUyB0ZXN0Q29tcHV0ZWRTdHlsZSgi
MTJweCIpIGlzICIiCitQQVNTIHRlc3RDb21wdXRlZFN0eWxlKCInJyIpIGlzICInJyIKK1BBU1Mg
dGVzdENvbXB1dGVkU3R5bGUoImZpcnN0IGZsb3ciKSBpcyAiIgorUEFTUyB0ZXN0Q29tcHV0ZWRT
dHlsZSgiZmlyc3QtZmxvdyIpIGlzICIiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25z
L2NvbnRlbnQtd2Via2l0LWZyb20tZmxvdy1wYXJzaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L3JlZ2lvbnMvY29udGVudC13ZWJraXQtZnJvbS1mbG93LXBhcnNpbmcuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTJhNmZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9yZWdpb25zL2NvbnRlbnQtd2Via2l0LWZyb20tZmxvdy1wYXJzaW5nLmh0
bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0i
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvY29udGVudC13ZWJraXQtZnJvbS1mbG93
LXBhcnNpbmcuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvc2NyaXB0LXRlc3RzL2NvbnRlbnQtd2Via2l0
LWZyb20tZmxvdy1wYXJzaW5nLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3NjcmlwdC10
ZXN0cy9jb250ZW50LXdlYmtpdC1mcm9tLWZsb3ctcGFyc2luZy5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi44NGVlN2M2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9yZWdpb25zL3NjcmlwdC10ZXN0cy9jb250ZW50LXdlYmtpdC1mcm9tLWZsb3ctcGFy
c2luZy5qcwpAQCAtMCwwICsxLDUwIEBACitkZXNjcmlwdGlvbignVGVzdHMgYmVpbmcgYWJsZSB0
byBzZXQgY29udGVudCB0byAtd2Via2l0LWZyb20tZmxvdycpOworCitmdW5jdGlvbiB0ZXN0Q1NT
VGV4dChkZWNsYXJhdGlvbikgeworICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJkaXYiKTsKKyAgICBkaXYuc2V0QXR0cmlidXRlKCJzdHlsZSIsIGRlY2xhcmF0aW9uKTsKKyAg
ICByZXR1cm4gZGl2LnN0eWxlLmNvbnRlbnQ7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb21wdXRlZFN0
eWxlKGRlY2xhcmF0aW9uKSB7CisgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImRpdiIpOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKKyAgICBkaXYuc3R5
bGUuc2V0UHJvcGVydHkoImNvbnRlbnQiLCBkZWNsYXJhdGlvbik7CisKKyAgICB2YXIgY29udGVu
dENvbXB1dGVkVmFsdWUgPSBnZXRDb21wdXRlZFN0eWxlKGRpdikuZ2V0UHJvcGVydHlWYWx1ZSgi
Y29udGVudCIpOworICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZGl2KTsKKyAgICByZXR1
cm4gY29udGVudENvbXB1dGVkVmFsdWU7Cit9CisKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVz
dENTU1RleHQoImNvbnRlbnQ6IC13ZWJraXQtZnJvbS1mbG93KFwnZmlyc3QtZmxvd1wnKSIpJywg
Ii13ZWJraXQtZnJvbS1mbG93KGZpcnN0LWZsb3cpIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
J3Rlc3RDU1NUZXh0KCJjb250ZW50OiAtd2Via2l0LWZyb20tZmxvdyhcJ2ZpcnN0IGZsb3dcJyki
KScsICItd2Via2l0LWZyb20tZmxvdygnZmlyc3QgZmxvdycpIik7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ3Rlc3RDU1NUZXh0KCJjb250ZW50OiAtd2Via2l0LWZyb20tZmxvdyhcJ2F1dG9cJyki
KScsICItd2Via2l0LWZyb20tZmxvdyhhdXRvKSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0
ZXN0Q1NTVGV4dCgiY29udGVudDogLXdlYmtpdC1mcm9tLWZsb3coYXV0bykiKScsICIiKTsKK3No
b3VsZEJlRXF1YWxUb1N0cmluZygndGVzdENTU1RleHQoImNvbnRlbnQ6IC13ZWJraXQtZnJvbS1m
bG93KGluaXRpYWwpIiknLCAiIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RDU1NUZXh0
KCJjb250ZW50OiAtd2Via2l0LWZyb20tZmxvdyhpbmhlcml0KSIpJywgIiIpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCd0ZXN0Q1NTVGV4dCgiY29udGVudDogLXdlYmtpdC1mcm9tLWZsb3coKSIp
JywgIiIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0Q1NTVGV4dCgiY29udGVudDogLXdl
YmtpdC1mcm9tLWZsb3coXCdcJykiKScsICItd2Via2l0LWZyb20tZmxvdygnJykiKTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygndGVzdENTU1RleHQoImNvbnRlbnQ6IDsiKScsICIiKTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygndGVzdENTU1RleHQoImNvbnRlbnQ6IC13ZWJraXQtZnJvbS1mbG93
KDEpIiknLCAiIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RDU1NUZXh0KCJjb250ZW50
OiAtd2Via2l0LWZyb20tZmxvdygxLjIpIiknLCAiIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
J3Rlc3RDU1NUZXh0KCJjb250ZW50OiAtd2Via2l0LWZyb20tZmxvdygtMSkiKScsICIiKTsKK3No
b3VsZEJlRXF1YWxUb1N0cmluZygndGVzdENTU1RleHQoImNvbnRlbnQ6IC13ZWJraXQtZnJvbS1m
bG93KDEycHgpIiknLCAiIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RDU1NUZXh0KCJj
b250ZW50OiAtd2Via2l0LWZyb20tZmxvdyhmaXJzdCBmbG93KSIpJywgIiIpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCd0ZXN0Q1NTVGV4dCgiY29udGVudDogLXdlYmtpdC1mcm9tLWZsb3coZmly
c3QtZmxvdykiKScsICIiKTsKKworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0Q29tcHV0ZWRT
dHlsZSgiXCdmaXJzdC1mbG93XCciKScsICJmaXJzdC1mbG93Iik7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ3Rlc3RDb21wdXRlZFN0eWxlKCJcJ2ZpcnN0IGZsb3dcJyIpJywgIidmaXJzdCBmbG93
JyIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0Q29tcHV0ZWRTdHlsZSgiXCdhdXRvXCci
KScsICJhdXRvIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RDb21wdXRlZFN0eWxlKCJh
dXRvIiknLCAiIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RDb21wdXRlZFN0eWxlKCJp
bml0aWFsIiknLCAiIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RDb21wdXRlZFN0eWxl
KCJpbmhlcml0IiknLCAiIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RDb21wdXRlZFN0
eWxlKCIiKScsICIiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdENvbXB1dGVkU3R5bGUo
IjEiKScsICIiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdENvbXB1dGVkU3R5bGUoIjEu
MiIpJywgIiIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0Q29tcHV0ZWRTdHlsZSgiLTEi
KScsICIiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdENvbXB1dGVkU3R5bGUoIjEycHgi
KScsICIiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdENvbXB1dGVkU3R5bGUoIlwnXCci
KScsICInJyIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0Q29tcHV0ZWRTdHlsZSgiZmly
c3QgZmxvdyIpJywgIiIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0Q29tcHV0ZWRTdHls
ZSgiZmlyc3QtZmxvdyIpJywgIiIpOworCitzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IDY5YTBiOWMuLjNiNjliODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNiBAQAor
MjAxMS0wNy0wNyAgTWlobmVhIE92aWRlbmllICA8bWlobmVhQGFkb2JlLmNvbT4KKworICAgICAg
ICBbQ1NTUmVnaW9uc11QYXJzZSBjb250ZW50OiAtd2Via2l0LWZyb20tZmxvdworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMxMzMKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0L3JlZ2lvbnMv
Y29udGVudC13ZWJraXQtZnJvbS1mbG93LXBhcnNpbmcuaHRtbAorCisgICAgICAgICogY3NzL0NT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb250ZW50
VG9DU1NWYWx1ZSk6CisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDU1NQYXJzZXI6OnBhcnNlQ29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJz
ZXI6OnBhcnNlRnJvbUZsb3dDb250ZW50KToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6Cisg
ICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNT
U1ByaW1pdGl2ZVZhbHVlOjpjbGVhbnVwKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2
ZVZhbHVlOjpnZXRTdHJpbmdWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVW
YWx1ZTo6Y3NzVGV4dCk6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmg6CisgICAg
ICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5
bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eSk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1Jl
bmRlclN0eWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpkaWZmKToKKyAg
ICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6
OkluaGVyaXRlZEZsYWdzOjpyZWdpb25UaHJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJp
dGVkRmxhZ3M6OnNldFJlZ2lvblRocmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRG
bGFnczo6aW5pdGlhbFJlZ2lvblRocmVhZCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0
eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSYXJl
Tm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSk6CisgICAgICAgIChX
ZWJDb3JlOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpvcGVyYXRvcj09KToKKyAgICAgICAg
KiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oOgorCiAyMDExLTA3
LTA3ICBFbWlsIEEgRWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KIAogICAgICAgICBTd2l0Y2gg
SGl0VGVzdFJlc3VsdCB0byB0byBuZXcgbGF5b3V0IHR5cGVzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDZmNTVhYzguLjIy
MjgwZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVj
bGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVj
bGFyYXRpb24uY3BwCkBAIC03NjcsNiArNzY3LDEwIEBAIHN0YXRpYyBQYXNzUmVmUHRyPENTU1Zh
bHVlPiBjb250ZW50VG9DU1NWYWx1ZShjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIENTU1ByaW1p
CiAgICAgICAgIH0gZWxzZSBpZiAoY29udGVudERhdGEtPmlzVGV4dCgpKQogICAgICAgICAgICAg
bGlzdC0+YXBwZW5kKHByaW1pdGl2ZVZhbHVlQ2FjaGUtPmNyZWF0ZVZhbHVlKHN0YXRpY19jYXN0
PGNvbnN0IFRleHRDb250ZW50RGF0YSo+KGNvbnRlbnREYXRhKS0+dGV4dCgpLCBDU1NQcmltaXRp
dmVWYWx1ZTo6Q1NTX1NUUklORykpOwogICAgIH0KKyNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCisg
ICAgaWYgKCFzdHlsZS0+cmVnaW9uVGhyZWFkKCkuaXNOdWxsKCkpCisgICAgICAgIGxpc3QtPmFw
cGVuZChwcmltaXRpdmVWYWx1ZUNhY2hlLT5jcmVhdGVWYWx1ZShzdHlsZS0+cmVnaW9uVGhyZWFk
KCksIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfU1RSSU5HKSk7CisjZW5kaWYKICAgICByZXR1cm4g
bGlzdC5yZWxlYXNlKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
YXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggYWNmNzc1
Mi4uMTljZGMwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTI2NTcsNiArMjY1Nywx
MiBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VDb250ZW50KGludCBwcm9wSWQsIGJvb2wgaW1wb3J0
YW50KQogICAgICAgICAgICAgfSBlbHNlIGlmIChpc0dlbmVyYXRlZEltYWdlVmFsdWUodmFsKSkg
ewogICAgICAgICAgICAgICAgIGlmICghcGFyc2VHZW5lcmF0ZWRJbWFnZShwYXJzZWRWYWx1ZSkp
CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyNpZiBFTkFCTEUoQ1NTX1JFR0lP
TlMpCisgICAgICAgICAgICB9IGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHZhbC0+ZnVuY3Rp
b24tPm5hbWUsICItd2Via2l0LWZyb20tZmxvdygiKSkgeworICAgICAgICAgICAgICAgIHBhcnNl
ZFZhbHVlID0gcGFyc2VGcm9tRmxvd0NvbnRlbnQoYXJncyk7CisgICAgICAgICAgICAgICAgaWYg
KCFwYXJzZWRWYWx1ZSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworI2VuZGlm
CiAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
ICAgIH0gZWxzZSBpZiAodmFsLT51bml0ID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfSURFTlQp
IHsKQEAgLTU4NjUsNiArNTg3MSwyMiBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VGbG93VGhyZWFk
KGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogCiAgICAgcmV0dXJuIGZhbHNlOwogfQorCisv
LyBUaGUgcmVnaW9uIG5hbWUgaXMgbm93IHNwZWNpZmllZCBhcyBhbiBhcmd1bWVudCB0byB0aGUg
Y29udGVudCBwcm9wZXJ0eToKKy8vIGNvbnRlbnQ6IGZyb20tZmxvdyhmbG93X3RocmVhZF9uYW1l
KQorUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTUGFyc2VyOjpwYXJzZUZyb21GbG93Q29udGVudChD
U1NQYXJzZXJWYWx1ZUxpc3QqIGFyZ3MpCit7CisgICAgLy8gSXQgc2hvdWxkIGJlIG9ubHkgb25l
IG5hbWUgZm9yIHRoZSByZWdpb24gdGhyZWFkLgorICAgIGlmIChhcmdzLT5zaXplKCkgIT0gMSkK
KyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBDU1NQYXJzZXJWYWx1ZSogYXJnRmxvd1RocmVhZE5h
bWUgPSBhcmdzLT5jdXJyZW50KCk7CisKKyAgICBpZiAoYXJnRmxvd1RocmVhZE5hbWUtPnVuaXQg
IT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TVFJJTkcpCisgICAgICAgIHJldHVybiAwOworCisg
ICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoYXJnRmxvd1RocmVhZE5hbWUtPnN0
cmluZywgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19GUk9NX0ZMT1cpOworfQogI2VuZGlmCiAKIGJv
b2wgQ1NTUGFyc2VyOjpwYXJzZVRyYW5zZm9ybU9yaWdpbihpbnQgcHJvcElkLCBpbnQmIHByb3BJ
ZDEsIGludCYgcHJvcElkMiwgaW50JiBwcm9wSWQzLCBSZWZQdHI8Q1NTVmFsdWU+JiB2YWx1ZSwg
UmVmUHRyPENTU1ZhbHVlPiYgdmFsdWUyLCBSZWZQdHI8Q1NTVmFsdWU+JiB2YWx1ZTMpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmgKaW5kZXggYzE3NWNhYi4uYzhiNGFkMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJz
ZXIuaApAQCAtMTU4LDYgKzE1OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2lmIEVOQUJM
RShDU1NfUkVHSU9OUykKICAgICAgICAgYm9vbCBwYXJzZUZsb3dUaHJlYWQoaW50IHByb3BJZCwg
Ym9vbCBpbXBvcnRhbnQpOworICAgICAgICBQYXNzUmVmUHRyPENTU1ZhbHVlPiBwYXJzZUZyb21G
bG93Q29udGVudChDU1NQYXJzZXJWYWx1ZUxpc3QqKTsKICNlbmRpZgogICAgICAgICAvLyBDU1Mz
IFBhcnNpbmcgUm91dGluZXMgKGZvciBwcm9wZXJ0aWVzIHNwZWNpZmljIHRvIENTUzMpCiAgICAg
ICAgIGJvb2wgcGFyc2VTaGFkb3coaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAKaW5kZXggYmU4ODlhYi4uM2VjN2Y1NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCkBAIC0yMjEsNiArMjIx
LDkgQEAgdm9pZCBDU1NQcmltaXRpdmVWYWx1ZTo6Y2xlYW51cCgpCiAgICAgICAgIGNhc2UgQ1NT
X1NUUklORzoKICAgICAgICAgY2FzZSBDU1NfVVJJOgogICAgICAgICBjYXNlIENTU19BVFRSOgor
I2lmIEVOQUJMRShDU1NfUkVHSU9OUykKKyAgICAgICAgY2FzZSBDU1NfRlJPTV9GTE9XOgorI2Vu
ZGlmCiAgICAgICAgIGNhc2UgQ1NTX1BBUlNFUl9IRVhDT0xPUjoKICAgICAgICAgICAgIGlmICht
X3ZhbHVlLnN0cmluZykKICAgICAgICAgICAgICAgICBtX3ZhbHVlLnN0cmluZy0+ZGVyZWYoKTsK
QEAgLTUwNCw2ICs1MDcsOSBAQCBTdHJpbmcgQ1NTUHJpbWl0aXZlVmFsdWU6OmdldFN0cmluZ1Zh
bHVlKEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAogICAgICAgICBjYXNlIENTU19TVFJJTkc6CiAg
ICAgICAgIGNhc2UgQ1NTX0FUVFI6CiAgICAgICAgIGNhc2UgQ1NTX1VSSToKKyNpZiBFTkFCTEUo
Q1NTX1JFR0lPTlMpCisgICAgICAgIGNhc2UgQ1NTX0ZST01fRkxPVzoKKyNlbmRpZgogICAgICAg
ICAgICAgcmV0dXJuIG1fdmFsdWUuc3RyaW5nOwogICAgICAgICBjYXNlIENTU19JREVOVDoKICAg
ICAgICAgICAgIHJldHVybiB2YWx1ZU9yUHJvcGVydHlOYW1lKG1fdmFsdWUuaWRlbnQpOwpAQCAt
Njg0LDYgKzY5MCwxMSBAQCBTdHJpbmcgQ1NTUHJpbWl0aXZlVmFsdWU6OmNzc1RleHQoKSBjb25z
dAogICAgICAgICBjYXNlIENTU19TVFJJTkc6CiAgICAgICAgICAgICB0ZXh0ID0gcXVvdGVDU1NT
dHJpbmdJZk5lZWRlZChtX3ZhbHVlLnN0cmluZyk7CiAgICAgICAgICAgICBicmVhazsKKyNpZiBF
TkFCTEUoQ1NTX1JFR0lPTlMpCisgICAgICAgIGNhc2UgQ1NTX0ZST01fRkxPVzoKKyAgICAgICAg
ICAgIHRleHQgPSAiLXdlYmtpdC1mcm9tLWZsb3coIiArIHF1b3RlQ1NTU3RyaW5nSWZOZWVkZWQo
bV92YWx1ZS5zdHJpbmcpICsgIikiOworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKICAgICAg
ICAgY2FzZSBDU1NfVVJJOgogICAgICAgICAgICAgdGV4dCA9ICJ1cmwoIiArIHF1b3RlQ1NTVVJM
SWZOZWVkZWQobV92YWx1ZS5zdHJpbmcpICsgIikiOwogICAgICAgICAgICAgYnJlYWs7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5oCmluZGV4IDkwN2QwYjkuLmFiOTAzM2MgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5oCkBAIC05NCw3ICs5NCw4IEBAIHB1
YmxpYzoKICAgICAgICAgQ1NTX1JFTVMgPSAxMDgsCiAKICAgICAgICAgLy8gVGhpcyBpcyB1c2Vk
IGludGVybmFsbHkgZm9yIGNvdW50ZXIgbmFtZXMgKGFzIG9wcG9zZWQgdG8gY291bnRlciB2YWx1
ZXMpCi0gICAgICAgIENTU19DT1VOVEVSX05BTUUgPSAxMDkKKyAgICAgICAgQ1NTX0NPVU5URVJf
TkFNRSA9IDEwOSwKKyAgICAgICAgQ1NTX0ZST01fRkxPVyA9IDExMAogICAgIH07CiAgICAgCiAg
ICAgLy8gVGhpcyBlbnVtIGZvbGxvd3MgdGhlIENTU1BhcnNlcjo6VW5pdHMgZW51bSBhdWdtZW50
ZWQgd2l0aCBVTklUX0ZSRVFVRU5DWSBmb3IgZnJlcXVlbmNpZXMuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTU3R5bGVTZWxlY3Rvci5jcHAKaW5kZXggNmY4NGZhZS4uYzNmOThiZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcApAQCAtNDE0MCw2ICs0MTQwLDE2IEBAIHZvaWQg
Q1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eShpbnQgaWQsIENTU1ZhbHVlICp2YWx1ZSkK
ICAgICAgICAgQ1NTVmFsdWVMaXN0KiBsaXN0ID0gc3RhdGljX2Nhc3Q8Q1NTVmFsdWVMaXN0Kj4o
dmFsdWUpOwogICAgICAgICBpbnQgbGVuID0gbGlzdC0+bGVuZ3RoKCk7CiAKKyNpZiBFTkFCTEUo
Q1NTX1JFR0lPTlMpCisgICAgICAgIGlmIChsZW4gPT0gMSAmJiBsaXN0LT5pdGVtV2l0aG91dEJv
dW5kc0NoZWNrKDApLT5pc1ByaW1pdGl2ZVZhbHVlKCkpIHsKKyAgICAgICAgICAgIENTU1ByaW1p
dGl2ZVZhbHVlKiBjb250ZW50VmFsdWUgPSBzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+
KGxpc3QtPml0ZW1XaXRob3V0Qm91bmRzQ2hlY2soMCkpOworICAgICAgICAgICAgaWYgKGNvbnRl
bnRWYWx1ZS0+cHJpbWl0aXZlVHlwZSgpID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfRlJPTV9G
TE9XKSB7CisgICAgICAgICAgICAgICAgbV9zdHlsZS0+c2V0UmVnaW9uVGhyZWFkKGNvbnRlbnRW
YWx1ZS0+Z2V0U3RyaW5nVmFsdWUoKS5pbXBsKCkpOworICAgICAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfQorI2VuZGlmCisKICAgICAgICAgYm9vbCBkaWRTZXQg
PSBmYWxzZTsKICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBsZW47IGkrKykgewogICAgICAg
ICAgICAgQ1NTVmFsdWUqIGl0ZW0gPSBsaXN0LT5pdGVtV2l0aG91dEJvdW5kc0NoZWNrKGkpOwpA
QCAtNDE0NywxMCArNDE1NywxMCBAQCB2b2lkIENTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVy
dHkoaW50IGlkLCBDU1NWYWx1ZSAqdmFsdWUpCiAgICAgICAgICAgICAgICAgbV9zdHlsZS0+c2V0
Q29udGVudChzdGF0aWNfY2FzdDxDU1NJbWFnZUdlbmVyYXRvclZhbHVlKj4oaXRlbSktPmdlbmVy
YXRlZEltYWdlKCksIGRpZFNldCk7CiAgICAgICAgICAgICAgICAgZGlkU2V0ID0gdHJ1ZTsKICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIAorCiAgICAgICAgICAgICBpZiAoIWl0ZW0tPmlzUHJp
bWl0aXZlVmFsdWUoKSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIAor
CiAgICAgICAgICAgICBDU1NQcmltaXRpdmVWYWx1ZSogY29udGVudFZhbHVlID0gc3RhdGljX2Nh
c3Q8Q1NTUHJpbWl0aXZlVmFsdWUqPihpdGVtKTsKICAgICAgICAgICAgIHN3aXRjaCAoY29udGVu
dFZhbHVlLT5wcmltaXRpdmVUeXBlKCkpIHsKICAgICAgICAgICAgIGNhc2UgQ1NTUHJpbWl0aXZl
VmFsdWU6OkNTU19TVFJJTkc6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1Jl
bmRlclN0eWxlLmNwcAppbmRleCBjN2FhODQ2Li4zYzAzMjVjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKQEAgLTM0NSw4ICszNDUsOSBAQCBT
dHlsZURpZmZlcmVuY2UgUmVuZGVyU3R5bGU6OmRpZmYoY29uc3QgUmVuZGVyU3R5bGUqIG90aGVy
LCB1bnNpZ25lZCYgY2hhbmdlZENvbgogICAgICAgICAgICAgcmV0dXJuIFN0eWxlRGlmZmVyZW5j
ZUxheW91dDsKIAogI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKLSAgICAgICAgaWYgKHJhcmVOb25J
bmhlcml0ZWREYXRhLT5tX2Zsb3dUaHJlYWQgIT0gb3RoZXItPnJhcmVOb25Jbmhlcml0ZWREYXRh
LT5tX2Zsb3dUaHJlYWQpCi0gICAgICAgICAgICAgcmV0dXJuIFN0eWxlRGlmZmVyZW5jZUxheW91
dDsKKyAgICAgICAgaWYgKHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2Zsb3dUaHJlYWQgIT0gb3Ro
ZXItPnJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2Zsb3dUaHJlYWQKKyAgICAgICAgICAgIHx8IHJh
cmVOb25Jbmhlcml0ZWREYXRhLT5tX3JlZ2lvblRocmVhZCAhPSBvdGhlci0+cmFyZU5vbkluaGVy
aXRlZERhdGEtPm1fcmVnaW9uVGhyZWFkKQorICAgICAgICAgICAgcmV0dXJuIFN0eWxlRGlmZmVy
ZW5jZUxheW91dDsKICNlbmRpZgogICAgICAgICBpZiAocmFyZU5vbkluaGVyaXRlZERhdGEtPm1f
ZGVwcmVjYXRlZEZsZXhpYmxlQm94LmdldCgpICE9IG90aGVyLT5yYXJlTm9uSW5oZXJpdGVkRGF0
YS0+bV9kZXByZWNhdGVkRmxleGlibGVCb3guZ2V0KCkKICAgICAgICAgICAgICYmICpyYXJlTm9u
SW5oZXJpdGVkRGF0YS0+bV9kZXByZWNhdGVkRmxleGlibGVCb3guZ2V0KCkgIT0gKm90aGVyLT5y
YXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9kZXByZWNhdGVkRmxleGlibGVCb3guZ2V0KCkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IGVhODY0Mjku
LjNiZWQzMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5oCkBAIC03NDUsNiArNzQ1LDcgQEAgcHVibGljOgogCiAjaWYgRU5BQkxFKENTU19SRUdJT05T
KQogICAgIGNvbnN0IEF0b21pY1N0cmluZyYgZmxvd1RocmVhZCgpIGNvbnN0IHsgcmV0dXJuIHJh
cmVOb25Jbmhlcml0ZWREYXRhLT5tX2Zsb3dUaHJlYWQ7IH0KKyAgICBjb25zdCBBdG9taWNTdHJp
bmcmIHJlZ2lvblRocmVhZCgpIGNvbnN0IHsgcmV0dXJuIHJhcmVOb25Jbmhlcml0ZWREYXRhLT5t
X3JlZ2lvblRocmVhZDsgfQogI2VuZGlmCiAKICAgICAvLyBBcHBsZS1zcGVjaWZpYyBwcm9wZXJ0
eSBnZXR0ZXIgbWV0aG9kcwpAQCAtMTA5Nyw2ICsxMDk4LDcgQEAgcHVibGljOgogCiAjaWYgRU5B
QkxFKENTU19SRUdJT05TKQogICAgIHZvaWQgc2V0Rmxvd1RocmVhZChjb25zdCBBdG9taWNTdHJp
bmcmIGZsb3dUaHJlYWQpIHsgU0VUX1ZBUihyYXJlTm9uSW5oZXJpdGVkRGF0YSwgbV9mbG93VGhy
ZWFkLCBmbG93VGhyZWFkKTsgfQorICAgIHZvaWQgc2V0UmVnaW9uVGhyZWFkKGNvbnN0IEF0b21p
Y1N0cmluZyYgcmVnaW9uVGhyZWFkKSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRlZERhdGEsIG1f
cmVnaW9uVGhyZWFkLCByZWdpb25UaHJlYWQpOyB9CiAjZW5kaWYKIAogICAgIC8vIEFwcGxlLXNw
ZWNpZmljIHByb3BlcnR5IHNldHRlcnMKQEAgLTEzMzAsNiArMTMzMiw3IEBAIHB1YmxpYzoKIAog
I2lmIEVOQUJMRShDU1NfUkVHSU9OUykKICAgICBzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiBp
bml0aWFsRmxvd1RocmVhZCgpIHsgcmV0dXJuIG51bGxBdG9tOyB9CisgICAgc3RhdGljIGNvbnN0
IEF0b21pY1N0cmluZyYgaW5pdGlhbFJlZ2lvblRocmVhZCgpIHsgcmV0dXJuIG51bGxBdG9tOyB9
CiAjZW5kaWYKIAogICAgIC8vIEtlZXAgdGhlc2UgYXQgdGhlIGVuZC4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWRE
YXRhLmNwcAppbmRleCAxZjQ5MWQzLi45ZmQzMTBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3Bw
CkBAIC01Nyw2ICs1Nyw3IEBAIFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6OlN0eWxlUmFyZU5v
bkluaGVyaXRlZERhdGEoKQogICAgICwgbV9wYWdlU2l6ZVR5cGUoUEFHRV9TSVpFX0FVVE8pCiAj
aWYgRU5BQkxFKENTU19SRUdJT05TKQogICAgICwgbV9mbG93VGhyZWFkKFJlbmRlclN0eWxlOjpp
bml0aWFsRmxvd1RocmVhZCgpKQorICAgICwgbV9yZWdpb25UaHJlYWQoUmVuZGVyU3R5bGU6Omlu
aXRpYWxSZWdpb25UaHJlYWQoKSkKICNlbmRpZgogewogfQpAQCAtOTksNiArMTAwLDcgQEAgU3R5
bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YShjb25zdCBT
dHlsZVJhcmVOb25Jbmhlcml0ZWQKICAgICAsIG1fcGFnZVNpemVUeXBlKG8ubV9wYWdlU2l6ZVR5
cGUpCiAjaWYgRU5BQkxFKENTU19SRUdJT05TKQogICAgICwgbV9mbG93VGhyZWFkKG8ubV9mbG93
VGhyZWFkKQorICAgICwgbV9yZWdpb25UaHJlYWQoby5tX3JlZ2lvblRocmVhZCkKICNlbmRpZgog
ewogfQpAQCAtMTQ4LDYgKzE1MCw3IEBAIGJvb2wgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6
b3BlcmF0b3I9PShjb25zdCBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhJiBvKSBjCiAgICAgICAg
ICYmIChtX3BhZ2VTaXplVHlwZSA9PSBvLm1fcGFnZVNpemVUeXBlKQogI2lmIEVOQUJMRShDU1Nf
UkVHSU9OUykKICAgICAgICAgJiYgKG1fZmxvd1RocmVhZCA9PSBvLm1fZmxvd1RocmVhZCkKKyAg
ICAgICAgJiYgKG1fcmVnaW9uVGhyZWFkID09IG8ubV9yZWdpb25UaHJlYWQpCiAjZW5kaWYKICAg
ICAgICAgOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0
eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmgKaW5kZXggYTQyMzZlOC4uMTAwOTRhYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVy
aXRlZERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJl
Tm9uSW5oZXJpdGVkRGF0YS5oCkBAIC0xMzMsNiArMTMzLDcgQEAgcHVibGljOgogCiAjaWYgRU5B
QkxFKENTU19SRUdJT05TKQogICAgIEF0b21pY1N0cmluZyBtX2Zsb3dUaHJlYWQ7CisgICAgQXRv
bWljU3RyaW5nIG1fcmVnaW9uVGhyZWFkOwogI2VuZGlmCiAKIHByaXZhdGU6Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>