<?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>43973</bug_id>
          
          <creation_ts>2010-08-13 08:17:20 -0700</creation_ts>
          <short_desc>&lt;input type=number&gt; should not have an invalid number as its value</short_desc>
          <delta_ts>2010-09-09 21:49:28 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>37024</blocked>
    
    <blocked>42484</blocked>
    
    <blocked>45376</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>adele</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>264368</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-08-13 08:17:20 -0700</bug_when>
    <thetext>Making &lt;input type=number&gt; conformable to the current HTML5 spec.
Discussed at http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2010-August/027896.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264379</commentid>
    <comment_count>1</comment_count>
      <attachid>64346</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-08-13 08:35:14 -0700</bug_when>
    <thetext>Created attachment 64346
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271353</commentid>
    <comment_count>2</comment_count>
      <attachid>65892</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-08-30 02:11:35 -0700</bug_when>
    <thetext>Created attachment 65892
Patch 2 (rebased)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>272839</commentid>
    <comment_count>3</comment_count>
      <attachid>65892</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-09-01 09:22:00 -0700</bug_when>
    <thetext>Comment on attachment 65892
Patch 2 (rebased)

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

&gt; WebCore/dom/InputElement.h:64
&gt; +    virtual bool isCommittableValue(const String&amp;) const = 0;
How about isAcceptableValue? Committable seems unclear.

&gt; WebCore/rendering/RenderTextControlSingleLine.cpp:681
&gt; +        else if (!node()-&gt;isHTMLElement() || !static_cast&lt;HTMLInputElement*&gt;(node())-&gt;formControlValueMatchesRenderer())
What does this check mean?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273287</commentid>
    <comment_count>4</comment_count>
      <attachid>66343</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-09-02 03:01:36 -0700</bug_when>
    <thetext>Created attachment 66343
Patch 3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273288</commentid>
    <comment_count>5</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-09-02 03:03:48 -0700</bug_when>
    <thetext>Thank you for reviewing!

(In reply to comment #3)
&gt; &gt; WebCore/dom/InputElement.h:64
&gt; &gt; +    virtual bool isCommittableValue(const String&amp;) const = 0;
&gt; How about isAcceptableValue? Committable seems unclear.

Done.

&gt; &gt; WebCore/rendering/RenderTextControlSingleLine.cpp:681
&gt; &gt; +        else if (!node()-&gt;isHTMLElement() || !static_cast&lt;HTMLInputElement*&gt;(node())-&gt;formControlValueMatchesRenderer())
&gt; What does this check mean?

Good catch.  This was experimental code for localized numbers and is not needed at this moment. I removed it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273381</commentid>
    <comment_count>6</comment_count>
      <attachid>66343</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-09-02 07:29:06 -0700</bug_when>
    <thetext>Comment on attachment 66343
Patch 3

yay, team!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277005</commentid>
    <comment_count>7</comment_count>
      <attachid>66343</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-09-09 21:49:19 -0700</bug_when>
    <thetext>Comment on attachment 66343
Patch 3

Clearing flags on attachment: 66343

Committed r67164: &lt;http://trac.webkit.org/changeset/67164&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277006</commentid>
    <comment_count>8</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-09-09 21:49:28 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64346</attachid>
            <date>2010-08-13 08:35:14 -0700</date>
            <delta_ts>2010-08-30 02:11:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43973-20100814003512.patch</filename>
            <type>text/plain</type>
            <size>18847</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzMzUzYzUzNTQxMWNlODYwM2M4MDkzZjRlYjk0ZWExMWVmODAzNGRiLi5kNjI0MTNl
NTYyOGQ3NTQwMTJkMDIzYTlhYWVhYTgyNjU4NTQ0YWExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTAtMDgtMTMgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIDxpbnB1dCB0eXBlPW51bWJl
cj4gc2hvdWxkIG5vdCBoYXZlIGFuIGludmFsaWQgbnVtYmVyIGFzIGl0cyB2YWx1ZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM5NzMKKworICAgICAg
ICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS1yYW5nZU92ZXJmbG93LWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtcmFuZ2VVbmRlcmZsb3ctZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gt
bnVtYmVyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2lucHV0LW51bWJlci1j
b21taXQtdmFsaWQtb25seS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9y
bXMvaW5wdXQtbnVtYmVyLWNvbW1pdC12YWxpZC1vbmx5Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW51bWJl
ci5qczoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9pbnB1dC1udW1iZXItY29t
bWl0LXZhbGlkLW9ubHkuanM6IEFkZGVkLgorCiAyMDEwLTA4LTEzICBOYXRlIENoYXBpbiAgPGph
cGhldEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgQ2hyb21pdW0gdGVzdF9l
eHBlY3RhdGlvbnMudHh0IHVwZGF0ZXMgKyBhIHJlYmFzZWxpbmUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS1yYW5nZU92ZXJmbG93LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS1yYW5nZU92ZXJmbG93LWV4
cGVjdGVkLnR4dAppbmRleCBlZTQ1YmQwMTg2NzQyZTM3YjJhOGRlZjUyOGFmMDgxYzBjN2MzZjEy
Li5kNDEwMTI5ODYyZWI5ZDRlYTNlOWU2YmI3ZGE3MDIwZDdiMTcyMjA1IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtcmFuZ2VPdmVyZmxvdy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXJhbmdlT3Zl
cmZsb3ctZXhwZWN0ZWQudHh0CkBAIC02Myw3ICs2Myw3IEBAIFBBU1MgVGhlIHZhbHVlICI5OSIg
ZG9lc24ndCBvdmVyZmxvdyB0aGUgbWF4aW11bSB2YWx1ZSAiMTAwIi4KIFBBU1MgVGhlIHZhbHVl
ICItMTAxIiBkb2Vzbid0IG92ZXJmbG93IHRoZSBtYXhpbXVtIHZhbHVlICItMTAwIi4KIFBBU1Mg
VGhlIHZhbHVlICI5OSIgZG9lc24ndCBvdmVyZmxvdyB0aGUgbWF4aW11bSB2YWx1ZSAiMUUrMiIu
CiBQQVNTIFRoZSB2YWx1ZSAiMC45OSIgZG9lc24ndCBvdmVyZmxvdyB0aGUgbWF4aW11bSB2YWx1
ZSAiMS4wMCIuCi1QQVNTIFRoZSB2YWx1ZSAiYWJjIiBkb2Vzbid0IG92ZXJmbG93IHRoZSBtYXhp
bXVtIHZhbHVlICIxMDAiLgorUEFTUyBUaGUgdmFsdWUgIiIgZG9lc24ndCBvdmVyZmxvdyB0aGUg
bWF4aW11bSB2YWx1ZSAiMTAwIi4KIFBBU1MgVGhlIHZhbHVlICIiIGRvZXNuJ3Qgb3ZlcmZsb3cg
dGhlIG1heGltdW0gdmFsdWUgIi0xIi4KIFBBU1MgVGhlIHZhbHVlICIxMDEiIGRvZXNuJ3Qgb3Zl
cmZsb3cgdGhlIG1heGltdW0gdmFsdWUgIiIuCiBQQVNTIFRoZSB2YWx1ZSAiMTAxIiBkb2Vzbid0
IG92ZXJmbG93IHRoZSBtYXhpbXVtIHZhbHVlICJ4eHgiLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXJhbmdlVW5kZXJmbG93LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS1yYW5nZVVuZGVyZmxvdy1leHBl
Y3RlZC50eHQKaW5kZXggOTgzMjc1ZjM3NDY0OGQwMzkwYTRlZTZmMDlhZjM2NGNjOTliOWU4MC4u
NjRkOWQ4Y2Y1MmQzNTJjZTA2Yjk0NzYzY2E3NmM2ZWU2NzU3NTFmOSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXJhbmdlVW5kZXJmbG93LWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtcmFuZ2VVbmRl
cmZsb3ctZXhwZWN0ZWQudHh0CkBAIC02Myw3ICs2Myw3IEBAIFBBU1MgVGhlIHZhbHVlICIxMDEi
IGRvZXNuJ3QgdW5kZXJmbG93IHRoZSBtaW5pbXVtIHZhbHVlICIxMDAiLgogUEFTUyBUaGUgdmFs
dWUgIi05OSIgZG9lc24ndCB1bmRlcmZsb3cgdGhlIG1pbmltdW0gdmFsdWUgIi0xMDAiLgogUEFT
UyBUaGUgdmFsdWUgIjEwMSIgZG9lc24ndCB1bmRlcmZsb3cgdGhlIG1pbmltdW0gdmFsdWUgIjFF
KzIiLgogUEFTUyBUaGUgdmFsdWUgIjEuMDEiIGRvZXNuJ3QgdW5kZXJmbG93IHRoZSBtaW5pbXVt
IHZhbHVlICIxLjAwIi4KLVBBU1MgVGhlIHZhbHVlICJhYmMiIGRvZXNuJ3QgdW5kZXJmbG93IHRo
ZSBtaW5pbXVtIHZhbHVlICIxMDAiLgorUEFTUyBUaGUgdmFsdWUgIiIgZG9lc24ndCB1bmRlcmZs
b3cgdGhlIG1pbmltdW0gdmFsdWUgIjEwMCIuCiBQQVNTIFRoZSB2YWx1ZSAiIiBkb2Vzbid0IHVu
ZGVyZmxvdyB0aGUgbWluaW11bSB2YWx1ZSAiMSIuCiBQQVNTIFRoZSB2YWx1ZSAiLTEiIGRvZXNu
J3QgdW5kZXJmbG93IHRoZSBtaW5pbXVtIHZhbHVlICIiLgogUEFTUyBUaGUgdmFsdWUgIi0xIiBk
b2Vzbid0IHVuZGVyZmxvdyB0aGUgbWluaW11bSB2YWx1ZSAieHh4Ii4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbnVtYmVyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlz
bWF0Y2gtbnVtYmVyLWV4cGVjdGVkLnR4dAppbmRleCBkNmZhYzZmNTI5YzBhNDcyNjE1NTkwMTdk
YjdiNzRjODA2YzZjYTBlLi5hZjNjZjVlY2Y2MTVjMmEzODUwMjA0ZDY3NDFhNzczMWM1ZTE3Zjlm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1p
c21hdGNoLW51bWJlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9W
YWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1udW1iZXItZXhwZWN0ZWQudHh0CkBAIC0zLDM0ICsz
LDM0IEBAIFRoaXMgdGVzdCBhaW1zIHRvIGNoZWNrIGZvciB0eXBlTWlzbWF0Y2ggZmxhZyB3aXRo
IHR5cGU9bnVtYmVyIGlucHV0IGZpZWxkcwogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAK
LVBBU1MgMCBpcyBhIGNvcnJlY3QgdmFsaWQgbnVtYmVyLgotUEFTUyAxMCBpcyBhIGNvcnJlY3Qg
dmFsaWQgbnVtYmVyLgotUEFTUyAwMSBpcyBhIGNvcnJlY3QgdmFsaWQgbnVtYmVyLgotUEFTUyAt
MCBpcyBhIGNvcnJlY3QgdmFsaWQgbnVtYmVyLgotUEFTUyAtMS4yIGlzIGEgY29ycmVjdCB2YWxp
ZCBudW1iZXIuCi1QQVNTIDEuMkUxMCBpcyBhIGNvcnJlY3QgdmFsaWQgbnVtYmVyLgotUEFTUyAx
LjJFLTEwIGlzIGEgY29ycmVjdCB2YWxpZCBudW1iZXIuCi1QQVNTIDEuMkUrMTAgaXMgYSBjb3Jy
ZWN0IHZhbGlkIG51bWJlci4KLVBBU1MgMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIz
NDU2Nzg5MDEyMzQ1Njc4OTAgaXMgYSBjb3JyZWN0IHZhbGlkIG51bWJlci4KLVBBU1MgMC4xMjM0
NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCBpcyBhIGNvcnJl
Y3QgdmFsaWQgbnVtYmVyLgotUEFTUyBhYmMgaXMgYSBjb3JyZWN0IGludmFsaWQgbnVtYmVyLgot
UEFTUyAweGZmIGlzIGEgY29ycmVjdCBpbnZhbGlkIG51bWJlci4KLVBBU1MgKzEgaXMgYSBjb3Jy
ZWN0IGludmFsaWQgbnVtYmVyLgotUEFTUyAgMTAgaXMgYSBjb3JyZWN0IGludmFsaWQgbnVtYmVy
LgotUEFTUyAxMCAgaXMgYSBjb3JyZWN0IGludmFsaWQgbnVtYmVyLgotUEFTUyAxLDIgaXMgYSBj
b3JyZWN0IGludmFsaWQgbnVtYmVyLgotUEFTUyAuMiBpcyBhIGNvcnJlY3QgaW52YWxpZCBudW1i
ZXIuCi1QQVNTIDFFIGlzIGEgY29ycmVjdCBpbnZhbGlkIG51bWJlci4KLVBBU1MgTmFOIGlzIGEg
Y29ycmVjdCBpbnZhbGlkIG51bWJlci4KLVBBU1MgbmFuIGlzIGEgY29ycmVjdCBpbnZhbGlkIG51
bWJlci4KLVBBU1MgSW5mIGlzIGEgY29ycmVjdCBpbnZhbGlkIG51bWJlci4KLVBBU1MgaW5mIGlz
IGEgY29ycmVjdCBpbnZhbGlkIG51bWJlci4KLVBBU1MgSW5maW5pdHkgaXMgYSBjb3JyZWN0IGlu
dmFsaWQgbnVtYmVyLgotUEFTUyBpbmZpbml0eSBpcyBhIGNvcnJlY3QgaW52YWxpZCBudW1iZXIu
Ci1QQVNTICBpcyBhIGNvcnJlY3QgdmFsaWQgbnVtYmVyLgotUEFTUyAxLjJFNjU1MzUgaXMgYSBj
b3JyZWN0IGludmFsaWQgbnVtYmVyLgotUEFTUyAxLiBpcyBhIGNvcnJlY3QgdmFsaWQgbnVtYmVy
LgotUEFTUyAxLjJlMTAgaXMgYSBjb3JyZWN0IHZhbGlkIG51bWJlci4KK1BBU1MgIjAiIGlzIGEg
dmFsaWQgbnVtYmVyLgorUEFTUyAiMTAiIGlzIGEgdmFsaWQgbnVtYmVyLgorUEFTUyAiMDEiIGlz
IGEgdmFsaWQgbnVtYmVyLgorUEFTUyAiLTAiIGlzIGEgdmFsaWQgbnVtYmVyLgorUEFTUyAiLTEu
MiIgaXMgYSB2YWxpZCBudW1iZXIuCitQQVNTICIxLjJFMTAiIGlzIGEgdmFsaWQgbnVtYmVyLgor
UEFTUyAiMS4yRS0xMCIgaXMgYSB2YWxpZCBudW1iZXIuCitQQVNTICIxLjJFKzEwIiBpcyBhIHZh
bGlkIG51bWJlci4KK1BBU1MgIjEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4
OTAxMjM0NTY3ODkwIiBpcyBhIHZhbGlkIG51bWJlci4KK1BBU1MgIjAuMTIzNDU2Nzg5MDEyMzQ1
Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiIGlzIGEgdmFsaWQgbnVtYmVyLgor
UEFTUyAiYWJjIiB3YXMgc2FuaXRpemVkIHRvICIiLgorUEFTUyAiMHhmZiIgd2FzIHNhbml0aXpl
ZCB0byAiIi4KK1BBU1MgIisxIiB3YXMgc2FuaXRpemVkIHRvICIiLgorUEFTUyAiIDEwIiB3YXMg
c2FuaXRpemVkIHRvICIiLgorUEFTUyAiMTAgIiB3YXMgc2FuaXRpemVkIHRvICIiLgorUEFTUyAi
MSwyIiB3YXMgc2FuaXRpemVkIHRvICIiLgorUEFTUyAiLjIiIHdhcyBzYW5pdGl6ZWQgdG8gIiIu
CitQQVNTICIxRSIgd2FzIHNhbml0aXplZCB0byAiIi4KK1BBU1MgIk5hTiIgd2FzIHNhbml0aXpl
ZCB0byAiIi4KK1BBU1MgIm5hbiIgd2FzIHNhbml0aXplZCB0byAiIi4KK1BBU1MgIkluZiIgd2Fz
IHNhbml0aXplZCB0byAiIi4KK1BBU1MgImluZiIgd2FzIHNhbml0aXplZCB0byAiIi4KK1BBU1Mg
IkluZmluaXR5IiB3YXMgc2FuaXRpemVkIHRvICIiLgorUEFTUyAiaW5maW5pdHkiIHdhcyBzYW5p
dGl6ZWQgdG8gIiIuCitQQVNTICIiIGlzIGEgdmFsaWQgbnVtYmVyLgorUEFTUyAiMS4yRTY1NTM1
IiB3YXMgc2FuaXRpemVkIHRvICIiLgorUEFTUyAiMS4iIGlzIGEgdmFsaWQgbnVtYmVyLgorUEFT
UyAiMS4yZTEwIiBpcyBhIHZhbGlkIG51bWJlci4KIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9pbnB1dC1udW1iZXItY29tbWl0LXZhbGlkLW9ubHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9pbnB1dC1udW1iZXItY29tbWl0LXZhbGlkLW9ubHktZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjkzOTU0NDFjYzdiNjAyMmNmZjczMjVmMzc3N2ZjMDg0MGYyMzQxYzAKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LW51bWJlci1jb21t
aXQtdmFsaWQtb25seS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorVHlwZT1udW1iZXIg
ZmllbGQgc2hvdWxkIG5vdCBhY2NlcHQgaW52YWxpZCBudW1iZXJzIHRob3VnaCBhIHVzZXIgY2Fu
IHR5cGUgc3VjaCBzdHJpbmdzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNT
IGlucHV0LnZhbHVlIGlzICI1MTIiCitQQVNTIGlucHV0LnZhbHVlIGlzICI1MTIiCitQQVNTIGlu
cHV0LnZhbHVlIGlzICI1MTIiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC1u
dW1iZXItY29tbWl0LXZhbGlkLW9ubHkuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5w
dXQtbnVtYmVyLWNvbW1pdC12YWxpZC1vbmx5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzFlMDlmYzdlZjEz
MWUyNTY5ZWFhN2U2ZGFiNzkzNmU5MWY0NjQ1NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvaW5wdXQtbnVtYmVyLWNvbW1pdC12YWxpZC1vbmx5Lmh0bWwKQEAgLTAs
MCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvaW5wdXQtbnVtYmVyLWNvbW1pdC12YWxpZC1vbmx5Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gt
bnVtYmVyLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlT
dGF0ZS10eXBlTWlzbWF0Y2gtbnVtYmVyLmpzCmluZGV4IDJlOGEwODZkYjdiYWYzMGE0NTEwM2Fl
NzUzNWY1NTc5MzkyNDIxMWYuLjBiMTY3ZTcyMWFlYzYzMWIwNzZkM2E3YzhmZDc1ZTYzZDEyNTQw
N2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL1ZhbGlk
aXR5U3RhdGUtdHlwZU1pc21hdGNoLW51bWJlci5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1udW1iZXIuanMKQEAg
LTMsNTYgKzMsNjYgQEAgZGVzY3JpcHRpb24oJ1RoaXMgdGVzdCBhaW1zIHRvIGNoZWNrIGZvciB0
eXBlTWlzbWF0Y2ggZmxhZyB3aXRoIHR5cGU9bnVtYmVyIGlucHUKIHZhciBpID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKIGkudHlwZSA9ICdudW1iZXInOwogCi1mdW5jdGlvbiBj
aGVjayh2YWx1ZSwgbWlzbWF0Y2hFeHBlY3RlZCkKK2Z1bmN0aW9uIGNoZWNrKHZhbHVlKQogewog
ICAgIGkudmFsdWUgPSB2YWx1ZTsKLSAgICB2YXIgYWN0dWFsID0gaS52YWxpZGl0eS50eXBlTWlz
bWF0Y2g7Ci0gICAgdmFyIGRpZFBhc3MgPSBhY3R1YWwgPT0gbWlzbWF0Y2hFeHBlY3RlZDsKLSAg
ICB2YXIgcmVzdWx0VGV4dCA9IHZhbHVlICsgJyBpcyAnICsgKGRpZFBhc3MgPyAnYSBjb3JyZWN0
ICcgOiAnYW4gaW5jb3JyZWN0ICcpICsgKGFjdHVhbCA/ICdpbnZhbGlkJyA6ICd2YWxpZCcpICsg
JyBudW1iZXIuJzsKLSAgICBpZiAoZGlkUGFzcykKKyAgICB2YXIgbWlzbWF0Y2ggPSBpLnZhbGlk
aXR5LnR5cGVNaXNtYXRjaDsKKyAgICB2YXIgcmVzdWx0VGV4dCA9ICciJyArIHZhbHVlICsgJyIg
aXMgJyArIChtaXNtYXRjaCA/ICdhbiBpbnZhbGlkJyA6ICdhIHZhbGlkJykgKyAnIG51bWJlci4n
OworICAgIGlmICghbWlzbWF0Y2gpCiAgICAgICAgIHRlc3RQYXNzZWQocmVzdWx0VGV4dCk7CiAg
ICAgZWxzZQogICAgICAgICB0ZXN0RmFpbGVkKHJlc3VsdFRleHQpOwogfQogCitmdW5jdGlvbiBj
aGVja1Nhbml0aXphdGlvbih2YWx1ZSwgZXhwZWN0ZWRWYWx1ZSkKK3sKKyAgICBpLnZhbHVlID0g
dmFsdWU7CisgICAgaWYgKGkudmFsaWRpdHkudHlwZU1pc21hdGNoKSB7CisJdGVzdEZhaWxlZCgn
IicgKyB2YWx1ZSArICciIG1hZGUgdHlwZU1pc21hdGNoIHRydWUuJyk7CisgICAgfSBlbHNlIGlm
IChpLnZhbHVlICE9IGV4cGVjdGVkVmFsdWUpIHsKKwl0ZXN0RmFpbGVkKCciJyArIHZhbHVlICsg
JyIgd2FzIHNhbml0aXplZCB0byAiJyArIGkudmFsdWUgKyAnIi4gSXQgc2hvdWxkIGJlICcgKyBl
eHBlY3RlZFZhbHVlKTsKKyAgICB9IGVsc2UgeworCXRlc3RQYXNzZWQoJyInICsgdmFsdWUgKyAn
IiB3YXMgc2FuaXRpemVkIHRvICInICsgaS52YWx1ZSArICciLicpOworICAgIH0KK30KKwogLy8g
VmFsaWQgdmFsdWVzCi1jaGVjaygnMCcsIGZhbHNlKTsKLWNoZWNrKCcxMCcsIGZhbHNlKTsKLWNo
ZWNrKCcwMScsIGZhbHNlKTsKLWNoZWNrKCctMCcsIGZhbHNlKTsKLWNoZWNrKCctMS4yJywgZmFs
c2UpOwotY2hlY2soJzEuMkUxMCcsIGZhbHNlKTsKLWNoZWNrKCcxLjJFLTEwJywgZmFsc2UpOwot
Y2hlY2soJzEuMkUrMTAnLCBmYWxzZSk7Ci1jaGVjaygnMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0
NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAnLCBmYWxzZSk7Ci1jaGVjaygnMC4xMjM0NTY3ODkw
MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCcsIGZhbHNlKTsKK2NoZWNr
KCcwJyk7CitjaGVjaygnMTAnKTsKK2NoZWNrKCcwMScpOworY2hlY2soJy0wJyk7CitjaGVjaygn
LTEuMicpOworY2hlY2soJzEuMkUxMCcpOworY2hlY2soJzEuMkUtMTAnKTsKK2NoZWNrKCcxLjJF
KzEwJyk7CitjaGVjaygnMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEy
MzQ1Njc4OTAnKTsKK2NoZWNrKCcwLjEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1
Njc4OTAxMjM0NTY3ODkwJyk7CiAKIC8vIEludmFsaWQgdmFsdWVzCi1jaGVjaygnYWJjJywgdHJ1
ZSk7Ci1jaGVjaygnMHhmZicsIHRydWUpOwotCi1jaGVjaygnKzEnLCB0cnVlKTsKLWNoZWNrKCcg
MTAnLCB0cnVlKTsKLWNoZWNrKCcxMCAnLCB0cnVlKTsKLWNoZWNrKCcxLDInLCB0cnVlKTsKLWNo
ZWNrKCcuMicsIHRydWUpOwotY2hlY2soJzFFJywgdHJ1ZSk7Ci1jaGVjaygnTmFOJywgdHJ1ZSk7
Ci1jaGVjaygnbmFuJywgdHJ1ZSk7Ci1jaGVjaygnSW5mJywgdHJ1ZSk7Ci1jaGVjaygnaW5mJywg
dHJ1ZSk7Ci1jaGVjaygnSW5maW5pdHknLCB0cnVlKTsKLWNoZWNrKCdpbmZpbml0eScsIHRydWUp
OworY2hlY2tTYW5pdGl6YXRpb24oJ2FiYycsICcnKTsKK2NoZWNrU2FuaXRpemF0aW9uKCcweGZm
JywgJycpOworCitjaGVja1Nhbml0aXphdGlvbignKzEnLCAnJyk7CitjaGVja1Nhbml0aXphdGlv
bignIDEwJywgJycpOworY2hlY2tTYW5pdGl6YXRpb24oJzEwICcsICcnKTsKK2NoZWNrU2FuaXRp
emF0aW9uKCcxLDInLCAnJyk7CitjaGVja1Nhbml0aXphdGlvbignLjInLCAnJyk7CitjaGVja1Nh
bml0aXphdGlvbignMUUnLCAnJyk7CitjaGVja1Nhbml0aXphdGlvbignTmFOJywgJycpOworY2hl
Y2tTYW5pdGl6YXRpb24oJ25hbicsICcnKTsKK2NoZWNrU2FuaXRpemF0aW9uKCdJbmYnLCAnJyk7
CitjaGVja1Nhbml0aXphdGlvbignaW5mJywgJycpOworY2hlY2tTYW5pdGl6YXRpb24oJ0luZmlu
aXR5JywgJycpOworY2hlY2tTYW5pdGl6YXRpb24oJ2luZmluaXR5JywgJycpOwogCiAvLyBBc3N1
bWUgZW1wdHkgc3RyaW5nIGFzIHZhbGlkLgotY2hlY2soJycsIGZhbHNlKTsKK2NoZWNrKCcnKTsK
IAotLy8gVGhlIHNwZWMgYWxsb3dzLCBidXQgb3VyIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QKIC8v
IEh1Z2UgZXhwb25lbnQuCi1jaGVjaygnMS4yRTY1NTM1JywgdHJ1ZSk7CitjaGVja1Nhbml0aXph
dGlvbignMS4yRTY1NTM1JywgJycpOwogCiAvLyBUaGUgc3BlYyBkb2Vzbid0IGFsbG93LCBidXQg
b3VyIGltcGxlbWVudGF0aW9uIGRvZXMuCi1jaGVjaygnMS4nLCBmYWxzZSk7Ci1jaGVjaygnMS4y
ZTEwJywgZmFsc2UpOworY2hlY2soJzEuJyk7CitjaGVjaygnMS4yZTEwJyk7CiAKIHZhciBzdWNj
ZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9zY3JpcHQtdGVzdHMvaW5wdXQtbnVtYmVyLWNvbW1pdC12YWxpZC1vbmx5LmpzIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvaW5wdXQtbnVtYmVyLWNvbW1pdC12YWxpZC1v
bmx5LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmRmNDYwYWE5NGY1MDFjZjVjMmNkODNkNmE0NjAwNzg2Yzg3NjI3
MGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0
cy9pbnB1dC1udW1iZXItY29tbWl0LXZhbGlkLW9ubHkuanMKQEAgLTAsMCArMSwyNCBAQAorZGVz
Y3JpcHRpb24oJ1R5cGU9bnVtYmVyIGZpZWxkIHNob3VsZCBub3QgYWNjZXB0IGludmFsaWQgbnVt
YmVycyB0aG91Z2ggYSB1c2VyIGNhbiB0eXBlIHN1Y2ggc3RyaW5ncycpOworCit2YXIgcGFyZW50
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Citkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHBhcmVudCk7CitwYXJlbnQuaW5uZXJIVE1MID0gJzxpbnB1dCB0eXBlPW51bWJlciBpZD1u
dW1iZXIgdmFsdWU9MjU2Pic7CisKK3ZhciBpbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdudW1iZXInKTsKK2lucHV0LmZvY3VzKCk7Citkb2N1bWVudC5leGVjQ29tbWFuZCgnU2VsZWN0
QWxsJywgZmFsc2UsIG51bGwpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ0luc2VydFRleHQnLCBm
YWxzZSwgJzUxMicpOworc2hvdWxkQmUoJ2lucHV0LnZhbHVlJywgJyI1MTIiJyk7CisKK2RvY3Vt
ZW50LmV4ZWNDb21tYW5kKCdTZWxlY3RBbGwnLCBmYWxzZSwgbnVsbCk7Citkb2N1bWVudC5leGVj
Q29tbWFuZCgnSW5zZXJ0VGV4dCcsIGZhbHNlLCAnKysrJyk7CitpbnB1dC5ibHVyKCk7CitzaG91
bGRCZSgnaW5wdXQudmFsdWUnLCAnIjUxMiInKTsKKworaW5wdXQuZm9jdXMoKTsKK2RvY3VtZW50
LmV4ZWNDb21tYW5kKCdTZWxlY3RBbGwnLCBmYWxzZSwgbnVsbCk7Citkb2N1bWVudC5leGVjQ29t
bWFuZCgnSW5zZXJ0VGV4dCcsIGZhbHNlLCAnJyk7CitpbnB1dC5ibHVyKCk7CitzaG91bGRCZSgn
aW5wdXQudmFsdWUnLCAnIjUxMiInKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDMxYjAzMGU4ODA5OTQwYjY3MWZjMDZiOTQ0NWIwYmU3OTY4M2NjNTIuLmIyNDk0ZDNiYjEwZWQ0
MTg0MTY3MDcxMjliYjRhNDU3YTIxZTkzOWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTAtMDgtMTMgIEtl
bnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIDxpbnB1dCB0eXBlPW51bWJlcj4gc2hvdWxkIG5vdCBo
YXZlIGFuIGludmFsaWQgbnVtYmVyIGFzIGl0cyB2YWx1ZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM5NzMKKworICAgICAgICBUaGlzIGNoYW5nZSBp
bXBsZW1lbnRzIHRoZSB2YWx1ZSBzYW5pdGl6YXRpb24gYWxnb3JpdGhtIGZvcgorICAgICAgICB0
eXBlPW51bWJlciwgYW5kIHJlbW92ZSB2YWxpZGl0eS50eXBlTWlzbWF0Y2ggc3VwcG9ydCBmb3IK
KyAgICAgICAgdHlwZT1udW1iZXIgaW4gb3JkZXIgdG8gaW1wcm92ZSBIVE1MNSBjb25mb3JtYW5j
ZS4KKworICAgICAgICBIVE1MSW5wdXRFbGVtZW50Ojp2YWx1ZSBmb3IgdHlwZT1udW1iZXIgYWx3
YXlzIGhhcyBhIHZhbGlkIG51bWJlcgorICAgICAgICBzdHJpbmcgb3IgYW4gZW1wdHkgc3RyaW5n
LiBIb3dldmVyLCB0aGUgaW5wdXQgZmllbGQgZm9yIGl0LCBhCisgICAgICAgIFJlbmRlclRleHRD
b250cm9sU2luZ2xlTGluZSwgY2FuIGhhdmUgYSBub24tbnVtYmVyIHN0cmluZy4gRm9yCisgICAg
ICAgIGV4YW1wbGUsICctJyBpcyBhIG5vbi1udW1iZXIgc3RyaW5nLCBidXQgYSB1c2VyIG5lZWRz
IHRvIHR5cGUKKyAgICAgICAgJy0nLiBTbywgdGhlIHN0cmluZyBpbiB0aGUgaW5wdXQgZmllbGQg
aGFzIG5ldmVyIGJlZW4gY29tbWl0dGVkIHRvCisgICAgICAgIEhUTUxJbnB1dEVsZW1lbnQgdW50
aWwgdGhlIHN0cmluZyBiZWNvbWVzIGEgdmFsaWQgbnVtYmVyIHN0cmluZy4KKworICAgICAgICBU
aGlzIGNoYW5nZSBpcyBhbHNvIGEgcHJlcGFyYXRpb24gb2Ygc3VwcG9ydGluZyBsb2NhbGl6ZWQK
KyAgICAgICAgbnVtYmVycy4gQSBsb2NhbGl6ZWQgc3RyaW5nIGluIHRoZSBpbnB1dCBmaWVsZCB3
b3VsZCBub3QgYmUKKyAgICAgICAgbWF0Y2hlZCB3aXRoIEhUTUxJbnB1dEVsZW1lbnQ6OnZhbHVl
LgorCisgICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMvaW5wdXQtbnVtYmVyLWNvbW1pdC12YWxpZC1v
bmx5Lmh0bWwKKworICAgICAgICAqIGRvbS9JbnB1dEVsZW1lbnQuaDogQWRkIGlzQ29tbWl0dGFi
bGVWYWx1ZSgpCisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OmhhbmRsZUJsdXJFdmVudCk6CisgICAgICAgICBT
ZXQgZm9ybUNvbnRyb2xWYWx1ZU1hdGNoZXNSZW5kZXJlciBmYWxzZSB0byBjbGVhbiBhbiBpbnZh
bGlkIHZhbHVlIGluIHRoZSByZW5kZXJlci4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVs
ZW1lbnQ6OmlzQ29tbWl0dGFibGVWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRF
bGVtZW50OjpzYW5pdGl6ZVZhbHVlKToKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQu
aDoKKyAgICAgICAgKiBodG1sL1ZhbGlkaXR5U3RhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
VmFsaWRpdHlTdGF0ZTo6dHlwZU1pc21hdGNoKTogQWx3YXlzIHJldHVybnMgZmFsc2UgZm9yIHR5
cGU9bnVtYmVyLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxp
bmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpz
dWJ0cmVlSGFzQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Q29udHJvbFNp
bmdsZUxpbmU6OnVwZGF0ZUZyb21FbGVtZW50KToKKyAgICAgICAgKiB3bWwvV01MSW5wdXRFbGVt
ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpXTUxJbnB1dEVsZW1lbnQ6OmlzQ29tbWl0dGFibGVW
YWx1ZSk6CisKIDIwMTAtMDgtMTIgIFN0ZXBoZW4gV2hpdGUgIDxzZW5vcmJsYW5jb0BjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgTGV2aW4uCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2RvbS9JbnB1dEVsZW1lbnQuaCBiL1dlYkNvcmUvZG9tL0lucHV0RWxlbWVudC5oCmlu
ZGV4IDE0Y2ZkYTIyMTVjMjQ1MTQzNjM3NDE3Yzc4YjBhN2I2OTk4YmVlOTMuLmZjYjAzNjg4Yzli
YWRmMTY3NjhiOGNhZTNmZjFlZDVkNmMxMDUxNzcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0lu
cHV0RWxlbWVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0lucHV0RWxlbWVudC5oCkBAIC01Nyw2ICs1
Nyw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWUoY29uc3QgU3RyaW5nJiwg
Ym9vbCBzZW5kQ2hhbmdlRXZlbnQgPSBmYWxzZSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRW
YWx1ZUZvclVzZXIoY29uc3QgU3RyaW5nJikgPSAwOwogCisgICAgLy8gUmV0dXJucyB0cnVlIGlm
IHRoZSBzcGVjaWZpZWQgc3RyaW5nIGNhbiBiZSBzZXQgYXMgdGhlIHZhbHVlIG9mIElucHV0RWxl
bWVudC4KKyAgICB2aXJ0dWFsIGJvb2wgaXNDb21taXR0YWJsZVZhbHVlKGNvbnN0IFN0cmluZyYp
IGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIFN0cmluZyBzYW5pdGl6ZVZhbHVlKGNvbnN0IFN0cmlu
ZyYpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVGcm9tUmVuZGVyZXIoY29u
c3QgU3RyaW5nJikgPSAwOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxl
bWVudC5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKaW5kZXggMzQ4OGNk
ZWRiMzE3Y2NiNTc1NTQ0OGJkYmRhMTZiNWZiNTAxMzQwNS4uOWY3OGNiZjNlNDU2YTgxNGMyMjQz
NmJjNzk0ZWQwYWU3Y2VhOTZkYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVs
ZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcApAQCAtNzMw
LDYgKzczMCw4IEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6aGFuZGxlRm9jdXNFdmVudCgpCiAK
IHZvaWQgSFRNTElucHV0RWxlbWVudDo6aGFuZGxlQmx1ckV2ZW50KCkKIHsKKyAgICAvLyBSZXNl
dCB0aGUgcmVuZGVyZXIgdmFsdWUsIHdoaWNoIG1pZ2h0IGJlIHVubWF0Y2hlZCB3aXRoIHRoZSBl
bGVtZW50IHZhbHVlLgorICAgIHNldEZvcm1Db250cm9sVmFsdWVNYXRjaGVzUmVuZGVyZXIoZmFs
c2UpOwogICAgIElucHV0RWxlbWVudDo6ZGlzcGF0Y2hCbHVyRXZlbnQodGhpcywgdGhpcyk7CiB9
CiAKQEAgLTI1NTgsOCArMjU2MCwxOCBAQCBGaWxlTGlzdCogSFRNTElucHV0RWxlbWVudDo6Zmls
ZXMoKQogICAgIHJldHVybiBtX2ZpbGVMaXN0LmdldCgpOwogfQogCitib29sIEhUTUxJbnB1dEVs
ZW1lbnQ6OmlzQ29tbWl0dGFibGVWYWx1ZShjb25zdCBTdHJpbmcmIHByb3Bvc2VkVmFsdWUpIGNv
bnN0Cit7CisgICAgaWYgKGlucHV0VHlwZSgpICE9IE5VTUJFUikKKyAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgcmV0dXJuIHByb3Bvc2VkVmFsdWUuaXNFbXB0eSgpIHx8IHBhcnNlVG9Eb3VibGVG
b3JOdW1iZXJUeXBlKHByb3Bvc2VkVmFsdWUsIDApOworfQorCiBTdHJpbmcgSFRNTElucHV0RWxl
bWVudDo6c2FuaXRpemVWYWx1ZShjb25zdCBTdHJpbmcmIHByb3Bvc2VkVmFsdWUpIGNvbnN0CiB7
CisgICAgaWYgKGlucHV0VHlwZSgpID09IE5VTUJFUikKKyAgICAgICAgcmV0dXJuIHBhcnNlVG9E
b3VibGVGb3JOdW1iZXJUeXBlKHByb3Bvc2VkVmFsdWUsIDApID8gcHJvcG9zZWRWYWx1ZSA6IFN0
cmluZygpOworCiAgICAgaWYgKGlzVGV4dEZpZWxkKCkpCiAgICAgICAgIHJldHVybiBJbnB1dEVs
ZW1lbnQ6OnNhbml0aXplVmFsdWVGb3JUZXh0RmllbGQodGhpcywgcHJvcG9zZWRWYWx1ZSk7CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmggYi9XZWJDb3JlL2h0
bWwvSFRNTElucHV0RWxlbWVudC5oCmluZGV4IDcyYWM1ODk0YzA2MzU1ZTVmZDcyYTlhOGQ1NmJh
OWQ4ZmY3YTVhNzQuLjcyMTliZjMzYWRlZjMzMDY2ODVkNzFkZTNkNTBkMWFkNGI0YjI2OWQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKKysrIGIvV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuaApAQCAtMjc4LDYgKzI3OCw3IEBAIHByaXZhdGU6CiAKICAg
ICB2aXJ0dWFsIHZvaWQgY2FjaGVTZWxlY3Rpb24oaW50IHN0YXJ0LCBpbnQgZW5kKTsKIAorICAg
IHZpcnR1YWwgYm9vbCBpc0NvbW1pdHRhYmxlVmFsdWUoY29uc3QgU3RyaW5nJikgY29uc3Q7CiAg
ICAgdmlydHVhbCBTdHJpbmcgc2FuaXRpemVWYWx1ZShjb25zdCBTdHJpbmcmKSBjb25zdDsKIAog
ICAgIHZpcnR1YWwgdm9pZCBkb2N1bWVudERpZEJlY29tZUFjdGl2ZSgpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuY3BwIGIvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3Rh
dGUuY3BwCmluZGV4IGUyODZiNjRkMjk5OWI4YjdlNjYxMmE1OTExMTMxYjIzODE2N2NhOTMuLmNk
M2IyMjVkZjk1YmRmYmQzZWM5MWUwYzI0ZjA5NjA2NGY2NzE4YmEgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaHRtbC9WYWxpZGl0eVN0YXRlLmNwcAorKysgYi9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0
ZS5jcHAKQEAgLTg3LDcgKzg3LDggQEAgYm9vbCBWYWxpZGl0eVN0YXRlOjp0eXBlTWlzbWF0Y2go
KSBjb25zdAogICAgIGNhc2UgSFRNTElucHV0RWxlbWVudDo6Q09MT1I6CiAgICAgICAgIHJldHVy
biAhaXNWYWxpZENvbG9yU3RyaW5nKHZhbHVlKTsKICAgICBjYXNlIEhUTUxJbnB1dEVsZW1lbnQ6
Ok5VTUJFUjoKLSAgICAgICAgcmV0dXJuICFwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZSh2YWx1
ZSwgMCk7CisgICAgICAgIEFTU0VSVChwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZSh2YWx1ZSwg
MCkpOworICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgY2FzZSBIVE1MSW5wdXRFbGVtZW50OjpV
Ukw6CiAgICAgICAgIHJldHVybiAhS1VSTChLVVJMKCksIHZhbHVlKS5pc1ZhbGlkKCk7CiAgICAg
Y2FzZSBIVE1MSW5wdXRFbGVtZW50OjpFTUFJTDogewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAKaW5kZXggOWZjYWNiNjJlODk4NDBiZDE3
MTM4OWRiMDMzZjMzZDQyNzQyYjc3OS4uMGIxNTFlMzg1YmUxNzFiMWI2ZjA0ZjI4ZjAxYmYzYjM2
ODI4ZTU2OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xT
aW5nbGVMaW5lLmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNp
bmdsZUxpbmUuY3BwCkBAIC0xNzAsNyArMTcwLDkgQEAgdm9pZCBSZW5kZXJUZXh0Q29udHJvbFNp
bmdsZUxpbmU6OnN1YnRyZWVIYXNDaGFuZ2VkKCkKICAgICAvLyBJbnB1dEVsZW1lbnQ6OmhhbmRs
ZUJlZm9yZVRleHRJbnNlcnRlZEV2ZW50KCkgaGFzIGFscmVhZHkgY2FsbGVkCiAgICAgLy8gc2Fu
aXRpemVVc2VySW5wdXRWYWx1ZSgpLgogICAgIC8vIHNhbml0aXplVmFsdWUoKSBpcyBuZWVkZWQg
YmVjYXVzZSBJTUUgaW5wdXQgZG9lc24ndCBkaXNwYXRjaCBCZWZvcmVUZXh0SW5zZXJ0ZWRFdmVu
dC4KLSAgICBpbnB1dC0+c2V0VmFsdWVGcm9tUmVuZGVyZXIoaW5wdXQtPnNhbml0aXplVmFsdWUo
dGV4dCgpKSk7CisgICAgU3RyaW5nIHZhbHVlID0gdGV4dCgpOworICAgIGlmIChpbnB1dC0+aXND
b21taXR0YWJsZVZhbHVlKHZhbHVlKSkKKyAgICAgICAgaW5wdXQtPnNldFZhbHVlRnJvbVJlbmRl
cmVyKGlucHV0LT5zYW5pdGl6ZVZhbHVlKHZhbHVlKSk7CiAKICAgICBpZiAobV9jYW5jZWxCdXR0
b24pCiAgICAgICAgIHVwZGF0ZUNhbmNlbEJ1dHRvblZpc2liaWxpdHkoKTsKQEAgLTY3Niw3ICs2
NzgsNyBAQCB2b2lkIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6dXBkYXRlRnJvbUVsZW1l
bnQoKQogICAgIH0gZWxzZSB7CiAgICAgICAgIGlmICghaW5wdXRFbGVtZW50KCktPnN1Z2dlc3Rl
ZFZhbHVlKCkuaXNOdWxsKCkpCiAgICAgICAgICAgICBzZXRJbm5lclRleHRWYWx1ZShpbnB1dEVs
ZW1lbnQoKS0+c3VnZ2VzdGVkVmFsdWUoKSk7Ci0gICAgICAgIGVsc2UKKyAgICAgICAgZWxzZSBp
ZiAoIW5vZGUoKS0+aXNIVE1MRWxlbWVudCgpIHx8ICFzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVt
ZW50Kj4obm9kZSgpKS0+Zm9ybUNvbnRyb2xWYWx1ZU1hdGNoZXNSZW5kZXJlcigpKQogICAgICAg
ICAgICAgc2V0SW5uZXJUZXh0VmFsdWUoaW5wdXRFbGVtZW50KCktPnZhbHVlKCkpOwogICAgIH0K
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS93bWwvV01MSW5wdXRFbGVtZW50LmggYi9XZWJDb3JlL3dt
bC9XTUxJbnB1dEVsZW1lbnQuaAppbmRleCBmZTFhZTg5NDk5MzI5OGM3ZWZmZmQxNjMxNTIxN2Zj
NTQ1MjVmNWZkLi5jNDMxNDYxZjk3YWY5Zjc3MTY0NDViMGYxN2U0ZmQzMzgyNTZmY2NjIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3dtbC9XTUxJbnB1dEVsZW1lbnQuaAorKysgYi9XZWJDb3JlL3dtbC9X
TUxJbnB1dEVsZW1lbnQuaApAQCAtNzksNiArNzksNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIGRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqKTsKICAgICB2aXJ0dWFsIHZvaWQgY2FjaGVT
ZWxlY3Rpb24oaW50IHN0YXJ0LCBpbnQgZW5kKTsKIAorICAgIHZpcnR1YWwgYm9vbCBpc0NvbW1p
dHRhYmxlVmFsdWUoY29uc3QgU3RyaW5nJikgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZp
cnR1YWwgU3RyaW5nIHNhbml0aXplVmFsdWUoY29uc3QgU3RyaW5nJiBwcm9wb3NlZFZhbHVlKSBj
b25zdCB7IHJldHVybiBjb25zdHJhaW5WYWx1ZShwcm9wb3NlZFZhbHVlKTsgfQogCiAgICAgdmly
dHVhbCB2b2lkIGRvY3VtZW50RGlkQmVjb21lQWN0aXZlKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>65892</attachid>
            <date>2010-08-30 02:11:35 -0700</date>
            <delta_ts>2010-09-02 03:01:31 -0700</delta_ts>
            <desc>Patch 2 (rebased)</desc>
            <filename>bug-43973-20100830181133.patch</filename>
            <type>text/plain</type>
            <size>18532</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiMTUzMDFlOTIyNjdjMGVmZTg4NTJmYjBjNDdiNGQ2ZGFhYTUyNDgyLi40MzljNDEy
NWM2NDNlMWQ1ODA5M2Y4MGMzMWNiYzk5YTg0ZTcyYzJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTAtMDgtMTMgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIDxpbnB1dCB0eXBlPW51bWJl
cj4gc2hvdWxkIG5vdCBoYXZlIGFuIGludmFsaWQgbnVtYmVyIGFzIGl0cyB2YWx1ZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM5NzMKKworICAgICAg
ICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS1yYW5nZU92ZXJmbG93LWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtcmFuZ2VVbmRlcmZsb3ctZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gt
bnVtYmVyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2lucHV0LW51bWJlci1j
b21taXQtdmFsaWQtb25seS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9y
bXMvaW5wdXQtbnVtYmVyLWNvbW1pdC12YWxpZC1vbmx5Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW51bWJl
ci5qczoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9pbnB1dC1udW1iZXItY29t
bWl0LXZhbGlkLW9ubHkuanM6IEFkZGVkLgorCiAyMDEwLTA4LTEzICBNT1JJVEEgSGFqaW1lICA8
bW9ycml0YUBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbnQgVGFtdXJhLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXJhbmdlT3Zl
cmZsb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRl
LXJhbmdlT3ZlcmZsb3ctZXhwZWN0ZWQudHh0CmluZGV4IGI3N2FhNTlhNzgxZjU0MWM3MmJiNzE2
MWIxMGZlNDczZDcyOTg5YjkuLjU3ZmMzYzJlMTI2OWZlM2ZhZDUxMjg0MmRmZWRiZGYwYTI3MTZj
ZmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS1yYW5n
ZU92ZXJmbG93LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlk
aXR5U3RhdGUtcmFuZ2VPdmVyZmxvdy1leHBlY3RlZC50eHQKQEAgLTYzLDcgKzYzLDcgQEAgUEFT
UyBUaGUgdmFsdWUgIjk5IiBkb2Vzbid0IG92ZXJmbG93IHRoZSBtYXhpbXVtIHZhbHVlICIxMDAi
LgogUEFTUyBUaGUgdmFsdWUgIi0xMDEiIGRvZXNuJ3Qgb3ZlcmZsb3cgdGhlIG1heGltdW0gdmFs
dWUgIi0xMDAiLgogUEFTUyBUaGUgdmFsdWUgIjk5IiBkb2Vzbid0IG92ZXJmbG93IHRoZSBtYXhp
bXVtIHZhbHVlICIxRSsyIi4KIFBBU1MgVGhlIHZhbHVlICIwLjk5IiBkb2Vzbid0IG92ZXJmbG93
IHRoZSBtYXhpbXVtIHZhbHVlICIxLjAwIi4KLVBBU1MgVGhlIHZhbHVlICJhYmMiIGRvZXNuJ3Qg
b3ZlcmZsb3cgdGhlIG1heGltdW0gdmFsdWUgIjEwMCIuCitQQVNTIFRoZSB2YWx1ZSAiIiBkb2Vz
bid0IG92ZXJmbG93IHRoZSBtYXhpbXVtIHZhbHVlICIxMDAiLgogUEFTUyBUaGUgdmFsdWUgIiIg
ZG9lc24ndCBvdmVyZmxvdyB0aGUgbWF4aW11bSB2YWx1ZSAiLTEiLgogUEFTUyBUaGUgdmFsdWUg
IjEwMSIgZG9lc24ndCBvdmVyZmxvdyB0aGUgbWF4aW11bSB2YWx1ZSAiIi4KIFBBU1MgVGhlIHZh
bHVlICIxMDEiIGRvZXNuJ3Qgb3ZlcmZsb3cgdGhlIG1heGltdW0gdmFsdWUgInh4eCIuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtcmFuZ2VVbmRlcmZs
b3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXJh
bmdlVW5kZXJmbG93LWV4cGVjdGVkLnR4dAppbmRleCA5ODMyNzVmMzc0NjQ4ZDAzOTBhNGVlNmYw
OWFmMzY0Y2M5OWI5ZTgwLi42NGQ5ZDhjZjUyZDM1MmNlMDZiOTQ3NjNjYTc2YzZlZTY3NTc1MWY5
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtcmFuZ2VV
bmRlcmZsb3ctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRp
dHlTdGF0ZS1yYW5nZVVuZGVyZmxvdy1leHBlY3RlZC50eHQKQEAgLTYzLDcgKzYzLDcgQEAgUEFT
UyBUaGUgdmFsdWUgIjEwMSIgZG9lc24ndCB1bmRlcmZsb3cgdGhlIG1pbmltdW0gdmFsdWUgIjEw
MCIuCiBQQVNTIFRoZSB2YWx1ZSAiLTk5IiBkb2Vzbid0IHVuZGVyZmxvdyB0aGUgbWluaW11bSB2
YWx1ZSAiLTEwMCIuCiBQQVNTIFRoZSB2YWx1ZSAiMTAxIiBkb2Vzbid0IHVuZGVyZmxvdyB0aGUg
bWluaW11bSB2YWx1ZSAiMUUrMiIuCiBQQVNTIFRoZSB2YWx1ZSAiMS4wMSIgZG9lc24ndCB1bmRl
cmZsb3cgdGhlIG1pbmltdW0gdmFsdWUgIjEuMDAiLgotUEFTUyBUaGUgdmFsdWUgImFiYyIgZG9l
c24ndCB1bmRlcmZsb3cgdGhlIG1pbmltdW0gdmFsdWUgIjEwMCIuCitQQVNTIFRoZSB2YWx1ZSAi
IiBkb2Vzbid0IHVuZGVyZmxvdyB0aGUgbWluaW11bSB2YWx1ZSAiMTAwIi4KIFBBU1MgVGhlIHZh
bHVlICIiIGRvZXNuJ3QgdW5kZXJmbG93IHRoZSBtaW5pbXVtIHZhbHVlICIxIi4KIFBBU1MgVGhl
IHZhbHVlICItMSIgZG9lc24ndCB1bmRlcmZsb3cgdGhlIG1pbmltdW0gdmFsdWUgIiIuCiBQQVNT
IFRoZSB2YWx1ZSAiLTEiIGRvZXNuJ3QgdW5kZXJmbG93IHRoZSBtaW5pbXVtIHZhbHVlICJ4eHgi
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVN
aXNtYXRjaC1udW1iZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxp
ZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1udW1iZXItZXhwZWN0ZWQudHh0CmluZGV4IGQ2ZmFjNmY1
MjljMGE0NzI2MTU1OTAxN2RiN2I3NGM4MDZjNmNhMGUuLmFmM2NmNWVjZjYxNWMyYTM4NTAyMDRk
Njc0MWE3NzMxYzVlMTdmOWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFs
aWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbnVtYmVyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW51bWJlci1leHBlY3Rl
ZC50eHQKQEAgLTMsMzQgKzMsMzQgQEAgVGhpcyB0ZXN0IGFpbXMgdG8gY2hlY2sgZm9yIHR5cGVN
aXNtYXRjaCBmbGFnIHdpdGggdHlwZT1udW1iZXIgaW5wdXQgZmllbGRzCiBPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCiAKIAotUEFTUyAwIGlzIGEgY29ycmVjdCB2YWxpZCBudW1iZXIuCi1QQVNT
IDEwIGlzIGEgY29ycmVjdCB2YWxpZCBudW1iZXIuCi1QQVNTIDAxIGlzIGEgY29ycmVjdCB2YWxp
ZCBudW1iZXIuCi1QQVNTIC0wIGlzIGEgY29ycmVjdCB2YWxpZCBudW1iZXIuCi1QQVNTIC0xLjIg
aXMgYSBjb3JyZWN0IHZhbGlkIG51bWJlci4KLVBBU1MgMS4yRTEwIGlzIGEgY29ycmVjdCB2YWxp
ZCBudW1iZXIuCi1QQVNTIDEuMkUtMTAgaXMgYSBjb3JyZWN0IHZhbGlkIG51bWJlci4KLVBBU1Mg
MS4yRSsxMCBpcyBhIGNvcnJlY3QgdmFsaWQgbnVtYmVyLgotUEFTUyAxMjM0NTY3ODkwMTIzNDU2
Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCBpcyBhIGNvcnJlY3QgdmFsaWQgbnVt
YmVyLgotUEFTUyAwLjEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0
NTY3ODkwIGlzIGEgY29ycmVjdCB2YWxpZCBudW1iZXIuCi1QQVNTIGFiYyBpcyBhIGNvcnJlY3Qg
aW52YWxpZCBudW1iZXIuCi1QQVNTIDB4ZmYgaXMgYSBjb3JyZWN0IGludmFsaWQgbnVtYmVyLgot
UEFTUyArMSBpcyBhIGNvcnJlY3QgaW52YWxpZCBudW1iZXIuCi1QQVNTICAxMCBpcyBhIGNvcnJl
Y3QgaW52YWxpZCBudW1iZXIuCi1QQVNTIDEwICBpcyBhIGNvcnJlY3QgaW52YWxpZCBudW1iZXIu
Ci1QQVNTIDEsMiBpcyBhIGNvcnJlY3QgaW52YWxpZCBudW1iZXIuCi1QQVNTIC4yIGlzIGEgY29y
cmVjdCBpbnZhbGlkIG51bWJlci4KLVBBU1MgMUUgaXMgYSBjb3JyZWN0IGludmFsaWQgbnVtYmVy
LgotUEFTUyBOYU4gaXMgYSBjb3JyZWN0IGludmFsaWQgbnVtYmVyLgotUEFTUyBuYW4gaXMgYSBj
b3JyZWN0IGludmFsaWQgbnVtYmVyLgotUEFTUyBJbmYgaXMgYSBjb3JyZWN0IGludmFsaWQgbnVt
YmVyLgotUEFTUyBpbmYgaXMgYSBjb3JyZWN0IGludmFsaWQgbnVtYmVyLgotUEFTUyBJbmZpbml0
eSBpcyBhIGNvcnJlY3QgaW52YWxpZCBudW1iZXIuCi1QQVNTIGluZmluaXR5IGlzIGEgY29ycmVj
dCBpbnZhbGlkIG51bWJlci4KLVBBU1MgIGlzIGEgY29ycmVjdCB2YWxpZCBudW1iZXIuCi1QQVNT
IDEuMkU2NTUzNSBpcyBhIGNvcnJlY3QgaW52YWxpZCBudW1iZXIuCi1QQVNTIDEuIGlzIGEgY29y
cmVjdCB2YWxpZCBudW1iZXIuCi1QQVNTIDEuMmUxMCBpcyBhIGNvcnJlY3QgdmFsaWQgbnVtYmVy
LgorUEFTUyAiMCIgaXMgYSB2YWxpZCBudW1iZXIuCitQQVNTICIxMCIgaXMgYSB2YWxpZCBudW1i
ZXIuCitQQVNTICIwMSIgaXMgYSB2YWxpZCBudW1iZXIuCitQQVNTICItMCIgaXMgYSB2YWxpZCBu
dW1iZXIuCitQQVNTICItMS4yIiBpcyBhIHZhbGlkIG51bWJlci4KK1BBU1MgIjEuMkUxMCIgaXMg
YSB2YWxpZCBudW1iZXIuCitQQVNTICIxLjJFLTEwIiBpcyBhIHZhbGlkIG51bWJlci4KK1BBU1Mg
IjEuMkUrMTAiIGlzIGEgdmFsaWQgbnVtYmVyLgorUEFTUyAiMTIzNDU2Nzg5MDEyMzQ1Njc4OTAx
MjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiIGlzIGEgdmFsaWQgbnVtYmVyLgorUEFTUyAi
MC4xMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIgaXMg
YSB2YWxpZCBudW1iZXIuCitQQVNTICJhYmMiIHdhcyBzYW5pdGl6ZWQgdG8gIiIuCitQQVNTICIw
eGZmIiB3YXMgc2FuaXRpemVkIHRvICIiLgorUEFTUyAiKzEiIHdhcyBzYW5pdGl6ZWQgdG8gIiIu
CitQQVNTICIgMTAiIHdhcyBzYW5pdGl6ZWQgdG8gIiIuCitQQVNTICIxMCAiIHdhcyBzYW5pdGl6
ZWQgdG8gIiIuCitQQVNTICIxLDIiIHdhcyBzYW5pdGl6ZWQgdG8gIiIuCitQQVNTICIuMiIgd2Fz
IHNhbml0aXplZCB0byAiIi4KK1BBU1MgIjFFIiB3YXMgc2FuaXRpemVkIHRvICIiLgorUEFTUyAi
TmFOIiB3YXMgc2FuaXRpemVkIHRvICIiLgorUEFTUyAibmFuIiB3YXMgc2FuaXRpemVkIHRvICIi
LgorUEFTUyAiSW5mIiB3YXMgc2FuaXRpemVkIHRvICIiLgorUEFTUyAiaW5mIiB3YXMgc2FuaXRp
emVkIHRvICIiLgorUEFTUyAiSW5maW5pdHkiIHdhcyBzYW5pdGl6ZWQgdG8gIiIuCitQQVNTICJp
bmZpbml0eSIgd2FzIHNhbml0aXplZCB0byAiIi4KK1BBU1MgIiIgaXMgYSB2YWxpZCBudW1iZXIu
CitQQVNTICIxLjJFNjU1MzUiIHdhcyBzYW5pdGl6ZWQgdG8gIiIuCitQQVNTICIxLiIgaXMgYSB2
YWxpZCBudW1iZXIuCitQQVNTICIxLjJlMTAiIGlzIGEgdmFsaWQgbnVtYmVyLgogUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LW51bWJlci1jb21taXQtdmFsaWQtb25seS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LW51bWJlci1jb21taXQtdmFsaWQt
b25seS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTM5NTQ0MWNjN2I2MDIyY2ZmNzMyNWYzNzc3
ZmMwODQwZjIzNDFjMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
aW5wdXQtbnVtYmVyLWNvbW1pdC12YWxpZC1vbmx5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEy
IEBACitUeXBlPW51bWJlciBmaWVsZCBzaG91bGQgbm90IGFjY2VwdCBpbnZhbGlkIG51bWJlcnMg
dGhvdWdoIGEgdXNlciBjYW4gdHlwZSBzdWNoIHN0cmluZ3MKKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKK1BBU1MgaW5wdXQudmFsdWUgaXMgIjUxMiIKK1BBU1MgaW5wdXQudmFsdWUg
aXMgIjUxMiIKK1BBU1MgaW5wdXQudmFsdWUgaXMgIjUxMiIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2lucHV0LW51bWJlci1jb21taXQtdmFsaWQtb25seS5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9pbnB1dC1udW1iZXItY29tbWl0LXZhbGlkLW9ubHkuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5jMWUwOWZjN2VmMTMxZTI1NjllYWE3ZTZkYWI3OTM2ZTkxZjQ2NDU2Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC1udW1iZXItY29tbWl0LXZhbGlk
LW9ubHkuaHRtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9pbnB1dC1udW1iZXItY29t
bWl0LXZhbGlkLW9ubHkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0
YXRlLXR5cGVNaXNtYXRjaC1udW1iZXIuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Njcmlw
dC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1udW1iZXIuanMKaW5kZXggMmU4YTA4
NmRiN2JhZjMwYTQ1MTAzYWU3NTM1ZjU1NzkzOTI0MjExZi4uOGI4MGMwYzMxNjQ4ODYwNGZjOGQ4
ZDQ0Mzc1YzEyYjg2NjkxN2VjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9z
Y3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbnVtYmVyLmpzCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21h
dGNoLW51bWJlci5qcwpAQCAtMyw1NiArMyw2NiBAQCBkZXNjcmlwdGlvbignVGhpcyB0ZXN0IGFp
bXMgdG8gY2hlY2sgZm9yIHR5cGVNaXNtYXRjaCBmbGFnIHdpdGggdHlwZT1udW1iZXIgaW5wdQog
dmFyIGkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOwogaS50eXBlID0gJ251bWJl
cic7CiAKLWZ1bmN0aW9uIGNoZWNrKHZhbHVlLCBtaXNtYXRjaEV4cGVjdGVkKQorZnVuY3Rpb24g
Y2hlY2sodmFsdWUpCiB7CiAgICAgaS52YWx1ZSA9IHZhbHVlOwotICAgIHZhciBhY3R1YWwgPSBp
LnZhbGlkaXR5LnR5cGVNaXNtYXRjaDsKLSAgICB2YXIgZGlkUGFzcyA9IGFjdHVhbCA9PSBtaXNt
YXRjaEV4cGVjdGVkOwotICAgIHZhciByZXN1bHRUZXh0ID0gdmFsdWUgKyAnIGlzICcgKyAoZGlk
UGFzcyA/ICdhIGNvcnJlY3QgJyA6ICdhbiBpbmNvcnJlY3QgJykgKyAoYWN0dWFsID8gJ2ludmFs
aWQnIDogJ3ZhbGlkJykgKyAnIG51bWJlci4nOwotICAgIGlmIChkaWRQYXNzKQorICAgIHZhciBt
aXNtYXRjaCA9IGkudmFsaWRpdHkudHlwZU1pc21hdGNoOworICAgIHZhciByZXN1bHRUZXh0ID0g
JyInICsgdmFsdWUgKyAnIiBpcyAnICsgKG1pc21hdGNoID8gJ2FuIGludmFsaWQnIDogJ2EgdmFs
aWQnKSArICcgbnVtYmVyLic7CisgICAgaWYgKCFtaXNtYXRjaCkKICAgICAgICAgdGVzdFBhc3Nl
ZChyZXN1bHRUZXh0KTsKICAgICBlbHNlCiAgICAgICAgIHRlc3RGYWlsZWQocmVzdWx0VGV4dCk7
CiB9CiAKK2Z1bmN0aW9uIGNoZWNrU2FuaXRpemF0aW9uKHZhbHVlLCBleHBlY3RlZFZhbHVlKQor
eworICAgIGkudmFsdWUgPSB2YWx1ZTsKKyAgICBpZiAoaS52YWxpZGl0eS50eXBlTWlzbWF0Y2gp
IHsKKyAgICAgICAgdGVzdEZhaWxlZCgnIicgKyB2YWx1ZSArICciIG1hZGUgdHlwZU1pc21hdGNo
IHRydWUuJyk7CisgICAgfSBlbHNlIGlmIChpLnZhbHVlICE9IGV4cGVjdGVkVmFsdWUpIHsKKyAg
ICAgICAgdGVzdEZhaWxlZCgnIicgKyB2YWx1ZSArICciIHdhcyBzYW5pdGl6ZWQgdG8gIicgKyBp
LnZhbHVlICsgJyIuIEl0IHNob3VsZCBiZSAnICsgZXhwZWN0ZWRWYWx1ZSk7CisgICAgfSBlbHNl
IHsKKyAgICAgICAgdGVzdFBhc3NlZCgnIicgKyB2YWx1ZSArICciIHdhcyBzYW5pdGl6ZWQgdG8g
IicgKyBpLnZhbHVlICsgJyIuJyk7CisgICAgfQorfQorCiAvLyBWYWxpZCB2YWx1ZXMKLWNoZWNr
KCcwJywgZmFsc2UpOwotY2hlY2soJzEwJywgZmFsc2UpOwotY2hlY2soJzAxJywgZmFsc2UpOwot
Y2hlY2soJy0wJywgZmFsc2UpOwotY2hlY2soJy0xLjInLCBmYWxzZSk7Ci1jaGVjaygnMS4yRTEw
JywgZmFsc2UpOwotY2hlY2soJzEuMkUtMTAnLCBmYWxzZSk7Ci1jaGVjaygnMS4yRSsxMCcsIGZh
bHNlKTsKLWNoZWNrKCcxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIz
NDU2Nzg5MCcsIGZhbHNlKTsKLWNoZWNrKCcwLjEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5
MDEyMzQ1Njc4OTAxMjM0NTY3ODkwJywgZmFsc2UpOworY2hlY2soJzAnKTsKK2NoZWNrKCcxMCcp
OworY2hlY2soJzAxJyk7CitjaGVjaygnLTAnKTsKK2NoZWNrKCctMS4yJyk7CitjaGVjaygnMS4y
RTEwJyk7CitjaGVjaygnMS4yRS0xMCcpOworY2hlY2soJzEuMkUrMTAnKTsKK2NoZWNrKCcxMjM0
NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCcpOworY2hlY2so
JzAuMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAnKTsK
IAogLy8gSW52YWxpZCB2YWx1ZXMKLWNoZWNrKCdhYmMnLCB0cnVlKTsKLWNoZWNrKCcweGZmJywg
dHJ1ZSk7Ci0KLWNoZWNrKCcrMScsIHRydWUpOwotY2hlY2soJyAxMCcsIHRydWUpOwotY2hlY2so
JzEwICcsIHRydWUpOwotY2hlY2soJzEsMicsIHRydWUpOwotY2hlY2soJy4yJywgdHJ1ZSk7Ci1j
aGVjaygnMUUnLCB0cnVlKTsKLWNoZWNrKCdOYU4nLCB0cnVlKTsKLWNoZWNrKCduYW4nLCB0cnVl
KTsKLWNoZWNrKCdJbmYnLCB0cnVlKTsKLWNoZWNrKCdpbmYnLCB0cnVlKTsKLWNoZWNrKCdJbmZp
bml0eScsIHRydWUpOwotY2hlY2soJ2luZmluaXR5JywgdHJ1ZSk7CitjaGVja1Nhbml0aXphdGlv
bignYWJjJywgJycpOworY2hlY2tTYW5pdGl6YXRpb24oJzB4ZmYnLCAnJyk7CisKK2NoZWNrU2Fu
aXRpemF0aW9uKCcrMScsICcnKTsKK2NoZWNrU2FuaXRpemF0aW9uKCcgMTAnLCAnJyk7CitjaGVj
a1Nhbml0aXphdGlvbignMTAgJywgJycpOworY2hlY2tTYW5pdGl6YXRpb24oJzEsMicsICcnKTsK
K2NoZWNrU2FuaXRpemF0aW9uKCcuMicsICcnKTsKK2NoZWNrU2FuaXRpemF0aW9uKCcxRScsICcn
KTsKK2NoZWNrU2FuaXRpemF0aW9uKCdOYU4nLCAnJyk7CitjaGVja1Nhbml0aXphdGlvbignbmFu
JywgJycpOworY2hlY2tTYW5pdGl6YXRpb24oJ0luZicsICcnKTsKK2NoZWNrU2FuaXRpemF0aW9u
KCdpbmYnLCAnJyk7CitjaGVja1Nhbml0aXphdGlvbignSW5maW5pdHknLCAnJyk7CitjaGVja1Nh
bml0aXphdGlvbignaW5maW5pdHknLCAnJyk7CiAKIC8vIEFzc3VtZSBlbXB0eSBzdHJpbmcgYXMg
dmFsaWQuCi1jaGVjaygnJywgZmFsc2UpOworY2hlY2soJycpOwogCi0vLyBUaGUgc3BlYyBhbGxv
d3MsIGJ1dCBvdXIgaW1wbGVtZW50YXRpb24gZG9lc24ndAogLy8gSHVnZSBleHBvbmVudC4KLWNo
ZWNrKCcxLjJFNjU1MzUnLCB0cnVlKTsKK2NoZWNrU2FuaXRpemF0aW9uKCcxLjJFNjU1MzUnLCAn
Jyk7CiAKIC8vIFRoZSBzcGVjIGRvZXNuJ3QgYWxsb3csIGJ1dCBvdXIgaW1wbGVtZW50YXRpb24g
ZG9lcy4KLWNoZWNrKCcxLicsIGZhbHNlKTsKLWNoZWNrKCcxLjJlMTAnLCBmYWxzZSk7CitjaGVj
aygnMS4nKTsKK2NoZWNrKCcxLjJlMTAnKTsKIAogdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9pbnB1
dC1udW1iZXItY29tbWl0LXZhbGlkLW9ubHkuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Nj
cmlwdC10ZXN0cy9pbnB1dC1udW1iZXItY29tbWl0LXZhbGlkLW9ubHkuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZGY0NjBhYTk0ZjUwMWNmNWMyY2Q4M2Q2YTQ2MDA3ODZjODc2MjcwZAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0LW51bWJlci1jb21t
aXQtdmFsaWQtb25seS5qcwpAQCAtMCwwICsxLDI0IEBACitkZXNjcmlwdGlvbignVHlwZT1udW1i
ZXIgZmllbGQgc2hvdWxkIG5vdCBhY2NlcHQgaW52YWxpZCBudW1iZXJzIHRob3VnaCBhIHVzZXIg
Y2FuIHR5cGUgc3VjaCBzdHJpbmdzJyk7CisKK3ZhciBwYXJlbnQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdkaXYnKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocGFyZW50KTsKK3BhcmVu
dC5pbm5lckhUTUwgPSAnPGlucHV0IHR5cGU9bnVtYmVyIGlkPW51bWJlciB2YWx1ZT0yNTY+JzsK
KwordmFyIGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ251bWJlcicpOworaW5wdXQu
Zm9jdXMoKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCdTZWxlY3RBbGwnLCBmYWxzZSwgbnVsbCk7
Citkb2N1bWVudC5leGVjQ29tbWFuZCgnSW5zZXJ0VGV4dCcsIGZhbHNlLCAnNTEyJyk7CitzaG91
bGRCZSgnaW5wdXQudmFsdWUnLCAnIjUxMiInKTsKKworZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ1Nl
bGVjdEFsbCcsIGZhbHNlLCBudWxsKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCdJbnNlcnRUZXh0
JywgZmFsc2UsICcrKysnKTsKK2lucHV0LmJsdXIoKTsKK3Nob3VsZEJlKCdpbnB1dC52YWx1ZScs
ICciNTEyIicpOworCitpbnB1dC5mb2N1cygpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ1NlbGVj
dEFsbCcsIGZhbHNlLCBudWxsKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCdJbnNlcnRUZXh0Jywg
ZmFsc2UsICcnKTsKK2lucHV0LmJsdXIoKTsKK3Nob3VsZEJlKCdpbnB1dC52YWx1ZScsICciNTEy
IicpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGM2ZTlmY2EwMzZjM2NhODYz
ZjU4MzJhNjI4NjBhMTk4NDJmYWY4Yy4uM2QxYmM1Y2MwNDBiYThjZGIxZjAyZjYzYWQxZmJjOWQy
OTFkN2IzNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSw0MiBAQAorMjAxMC0wOC0xMyAgS2VudCBUYW11cmEgIDx0a2VudEBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgPGlucHV0IHR5cGU9bnVtYmVyPiBzaG91bGQgbm90IGhhdmUgYW4gaW52YWxpZCBudW1i
ZXIgYXMgaXRzIHZhbHVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00Mzk3MworCisgICAgICAgIFRoaXMgY2hhbmdlIGltcGxlbWVudHMgdGhlIHZhbHVl
IHNhbml0aXphdGlvbiBhbGdvcml0aG0gZm9yCisgICAgICAgIHR5cGU9bnVtYmVyLCBhbmQgcmVt
b3ZlIHZhbGlkaXR5LnR5cGVNaXNtYXRjaCBzdXBwb3J0IGZvcgorICAgICAgICB0eXBlPW51bWJl
ciBpbiBvcmRlciB0byBpbXByb3ZlIEhUTUw1IGNvbmZvcm1hbmNlLgorCisgICAgICAgIEhUTUxJ
bnB1dEVsZW1lbnQ6OnZhbHVlIGZvciB0eXBlPW51bWJlciBhbHdheXMgaGFzIGEgdmFsaWQgbnVt
YmVyCisgICAgICAgIHN0cmluZyBvciBhbiBlbXB0eSBzdHJpbmcuIEhvd2V2ZXIsIHRoZSBpbnB1
dCBmaWVsZCBmb3IgaXQsIGEKKyAgICAgICAgUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLCBj
YW4gaGF2ZSBhIG5vbi1udW1iZXIgc3RyaW5nLiBGb3IKKyAgICAgICAgZXhhbXBsZSwgJy0nIGlz
IGEgbm9uLW51bWJlciBzdHJpbmcsIGJ1dCBhIHVzZXIgbmVlZHMgdG8gdHlwZQorICAgICAgICAn
LScuIFNvLCB0aGUgc3RyaW5nIGluIHRoZSBpbnB1dCBmaWVsZCBoYXMgbmV2ZXIgYmVlbiBjb21t
aXR0ZWQgdG8KKyAgICAgICAgSFRNTElucHV0RWxlbWVudCB1bnRpbCB0aGUgc3RyaW5nIGJlY29t
ZXMgYSB2YWxpZCBudW1iZXIgc3RyaW5nLgorCisgICAgICAgIFRoaXMgY2hhbmdlIGlzIGFsc28g
YSBwcmVwYXJhdGlvbiBvZiBzdXBwb3J0aW5nIGxvY2FsaXplZAorICAgICAgICBudW1iZXJzLiBB
IGxvY2FsaXplZCBzdHJpbmcgaW4gdGhlIGlucHV0IGZpZWxkIHdvdWxkIG5vdCBiZQorICAgICAg
ICBtYXRjaGVkIHdpdGggSFRNTElucHV0RWxlbWVudDo6dmFsdWUuCisKKyAgICAgICAgVGVzdDog
ZmFzdC9mb3Jtcy9pbnB1dC1udW1iZXItY29tbWl0LXZhbGlkLW9ubHkuaHRtbAorCisgICAgICAg
ICogZG9tL0lucHV0RWxlbWVudC5oOiBBZGQgaXNDb21taXR0YWJsZVZhbHVlKCkKKyAgICAgICAg
KiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0
RWxlbWVudDo6aGFuZGxlQmx1ckV2ZW50KToKKyAgICAgICAgIFNldCBmb3JtQ29udHJvbFZhbHVl
TWF0Y2hlc1JlbmRlcmVyIGZhbHNlIHRvIGNsZWFuIGFuIGludmFsaWQgdmFsdWUgaW4gdGhlIHJl
bmRlcmVyLgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6aXNDb21taXR0YWJs
ZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnNhbml0aXplVmFs
dWUpOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5oOgorICAgICAgICAqIGh0bWwv
VmFsaWRpdHlTdGF0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGl0eVN0YXRlOjp0eXBl
TWlzbWF0Y2gpOiBBbHdheXMgcmV0dXJucyBmYWxzZSBmb3IgdHlwZT1udW1iZXIuCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OnN1YnRyZWVIYXNDaGFuZ2VkKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6dXBkYXRlRnJv
bUVsZW1lbnQpOgorICAgICAgICAqIHdtbC9XTUxJbnB1dEVsZW1lbnQuaDoKKyAgICAgICAgKFdl
YkNvcmU6OldNTElucHV0RWxlbWVudDo6aXNDb21taXR0YWJsZVZhbHVlKToKKwogMjAxMC0wOC0z
MCAgTWFyYy1BbnRvaW5lIFJ1ZWwgIDxtYXJ1ZWxAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IEtlbnQgVGFtdXJhLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vSW5wdXRFbGVt
ZW50LmggYi9XZWJDb3JlL2RvbS9JbnB1dEVsZW1lbnQuaAppbmRleCA1NmZjOTlkMzNmNzJlYWI2
MWM5YWFmOGZjMzMyNTcwOWYwMjhjYzc1Li4wNDFjY2ZmYzY4M2UxNzg5Njg2NGIwNGY0ODdmNTBl
YjAzMjgxN2RhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9JbnB1dEVsZW1lbnQuaAorKysgYi9X
ZWJDb3JlL2RvbS9JbnB1dEVsZW1lbnQuaApAQCAtNjAsNiArNjAsOCBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCB2b2lkIHNldFZhbHVlKGNvbnN0IFN0cmluZyYsIGJvb2wgc2VuZENoYW5nZUV2ZW50
ID0gZmFsc2UpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWVGb3JVc2VyKGNvbnN0IFN0
cmluZyYpID0gMDsKIAorICAgIC8vIFJldHVybnMgdHJ1ZSBpZiB0aGUgc3BlY2lmaWVkIHN0cmlu
ZyBjYW4gYmUgc2V0IGFzIHRoZSB2YWx1ZSBvZiBJbnB1dEVsZW1lbnQuCisgICAgdmlydHVhbCBi
b29sIGlzQ29tbWl0dGFibGVWYWx1ZShjb25zdCBTdHJpbmcmKSBjb25zdCA9IDA7CiAgICAgdmly
dHVhbCBTdHJpbmcgc2FuaXRpemVWYWx1ZShjb25zdCBTdHJpbmcmKSBjb25zdCA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIHNldFZhbHVlRnJvbVJlbmRlcmVyKGNvbnN0IFN0cmluZyYpID0gMDsKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwIGIvV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4IGIzMzliNDVjOGE4YWFiYThiNjFlMmZkZDRm
MWY5ZjcxZTJlMzc0NTguLjdhYzA5YzU1MDA4YzNjZmExZGEwODAwYmQ2Y2M2ODM2ZjI0OTE1MjUg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAorKysgYi9XZWJD
b3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKQEAgLTI2MCw3ICsyNjAsOCBAQCBib29sIEhU
TUxJbnB1dEVsZW1lbnQ6OnR5cGVNaXNtYXRjaChjb25zdCBTdHJpbmcmIHZhbHVlKSBjb25zdAog
ICAgIGNhc2UgQ09MT1I6CiAgICAgICAgIHJldHVybiAhaXNWYWxpZENvbG9yU3RyaW5nKHZhbHVl
KTsKICAgICBjYXNlIE5VTUJFUjoKLSAgICAgICAgcmV0dXJuICFwYXJzZVRvRG91YmxlRm9yTnVt
YmVyVHlwZSh2YWx1ZSwgMCk7CisgICAgICAgIEFTU0VSVChwYXJzZVRvRG91YmxlRm9yTnVtYmVy
VHlwZSh2YWx1ZSwgMCkpOworICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgY2FzZSBVUkw6CiAg
ICAgICAgIHJldHVybiAhS1VSTChLVVJMKCksIHZhbHVlKS5pc1ZhbGlkKCk7CiAgICAgY2FzZSBF
TUFJTDogewpAQCAtODI3LDYgKzgyOCw4IEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6aGFuZGxl
Rm9jdXNFdmVudCgpCiAKIHZvaWQgSFRNTElucHV0RWxlbWVudDo6aGFuZGxlQmx1ckV2ZW50KCkK
IHsKKyAgICAvLyBSZXNldCB0aGUgcmVuZGVyZXIgdmFsdWUsIHdoaWNoIG1pZ2h0IGJlIHVubWF0
Y2hlZCB3aXRoIHRoZSBlbGVtZW50IHZhbHVlLgorICAgIHNldEZvcm1Db250cm9sVmFsdWVNYXRj
aGVzUmVuZGVyZXIoZmFsc2UpOwogICAgIElucHV0RWxlbWVudDo6ZGlzcGF0Y2hCbHVyRXZlbnQo
dGhpcywgdGhpcyk7CiB9CiAKQEAgLTI2NjQsOCArMjY2NywxOCBAQCBGaWxlTGlzdCogSFRNTElu
cHV0RWxlbWVudDo6ZmlsZXMoKQogICAgIHJldHVybiBtX2ZpbGVMaXN0LmdldCgpOwogfQogCiti
b29sIEhUTUxJbnB1dEVsZW1lbnQ6OmlzQ29tbWl0dGFibGVWYWx1ZShjb25zdCBTdHJpbmcmIHBy
b3Bvc2VkVmFsdWUpIGNvbnN0Cit7CisgICAgaWYgKGlucHV0VHlwZSgpICE9IE5VTUJFUikKKyAg
ICAgICAgcmV0dXJuIHRydWU7CisgICAgcmV0dXJuIHByb3Bvc2VkVmFsdWUuaXNFbXB0eSgpIHx8
IHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlKHByb3Bvc2VkVmFsdWUsIDApOworfQorCiBTdHJp
bmcgSFRNTElucHV0RWxlbWVudDo6c2FuaXRpemVWYWx1ZShjb25zdCBTdHJpbmcmIHByb3Bvc2Vk
VmFsdWUpIGNvbnN0CiB7CisgICAgaWYgKGlucHV0VHlwZSgpID09IE5VTUJFUikKKyAgICAgICAg
cmV0dXJuIHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlKHByb3Bvc2VkVmFsdWUsIDApID8gcHJv
cG9zZWRWYWx1ZSA6IFN0cmluZygpOworCiAgICAgaWYgKGlzVGV4dEZpZWxkKCkpCiAgICAgICAg
IHJldHVybiBJbnB1dEVsZW1lbnQ6OnNhbml0aXplVmFsdWVGb3JUZXh0RmllbGQodGhpcywgcHJv
cG9zZWRWYWx1ZSk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50
LmggYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCmluZGV4IDY1N2I0NjgxM2M2Nzc1
MWViYjVkMDcxNzg4YmZlNTE3MjdmMGVjZWMuLjczODBlZDk2NTU4M2NjMjE2OGU0NDBhZWFmZjRh
NDg3ZjgyMTQ3OGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgK
KysrIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaApAQCAtMjgxLDYgKzI4MSw3IEBA
IHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIHZvaWQgY2FjaGVTZWxlY3Rpb24oaW50IHN0YXJ0LCBp
bnQgZW5kKTsKIAorICAgIHZpcnR1YWwgYm9vbCBpc0NvbW1pdHRhYmxlVmFsdWUoY29uc3QgU3Ry
aW5nJikgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcgc2FuaXRpemVWYWx1ZShjb25zdCBTdHJp
bmcmKSBjb25zdDsKIAogICAgIHZpcnR1YWwgdm9pZCBkb2N1bWVudERpZEJlY29tZUFjdGl2ZSgp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVM
aW5lLmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5j
cHAKaW5kZXggYjU1M2M1NmZmNmE3NmE3YmJiYzU3MWE3NzkwODBhNGY0ZDIzMWY0Ni4uOGE5YjNk
ZTAxZWVkMjNlYWNlNDIxMGViMGIwMTYxYTFkMmZjNTBkZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcAorKysgYi9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwCkBAIC0xNzAsNyArMTcwLDkg
QEAgdm9pZCBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OnN1YnRyZWVIYXNDaGFuZ2VkKCkK
ICAgICAvLyBJbnB1dEVsZW1lbnQ6OmhhbmRsZUJlZm9yZVRleHRJbnNlcnRlZEV2ZW50KCkgaGFz
IGFscmVhZHkgY2FsbGVkCiAgICAgLy8gc2FuaXRpemVVc2VySW5wdXRWYWx1ZSgpLgogICAgIC8v
IHNhbml0aXplVmFsdWUoKSBpcyBuZWVkZWQgYmVjYXVzZSBJTUUgaW5wdXQgZG9lc24ndCBkaXNw
YXRjaCBCZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudC4KLSAgICBpbnB1dC0+c2V0VmFsdWVGcm9tUmVu
ZGVyZXIoaW5wdXQtPnNhbml0aXplVmFsdWUodGV4dCgpKSk7CisgICAgU3RyaW5nIHZhbHVlID0g
dGV4dCgpOworICAgIGlmIChpbnB1dC0+aXNDb21taXR0YWJsZVZhbHVlKHZhbHVlKSkKKyAgICAg
ICAgaW5wdXQtPnNldFZhbHVlRnJvbVJlbmRlcmVyKGlucHV0LT5zYW5pdGl6ZVZhbHVlKHZhbHVl
KSk7CiAKICAgICBpZiAobV9jYW5jZWxCdXR0b24pCiAgICAgICAgIHVwZGF0ZUNhbmNlbEJ1dHRv
blZpc2liaWxpdHkoKTsKQEAgLTY3Niw3ICs2NzgsNyBAQCB2b2lkIFJlbmRlclRleHRDb250cm9s
U2luZ2xlTGluZTo6dXBkYXRlRnJvbUVsZW1lbnQoKQogICAgIH0gZWxzZSB7CiAgICAgICAgIGlm
ICghaW5wdXRFbGVtZW50KCktPnN1Z2dlc3RlZFZhbHVlKCkuaXNOdWxsKCkpCiAgICAgICAgICAg
ICBzZXRJbm5lclRleHRWYWx1ZShpbnB1dEVsZW1lbnQoKS0+c3VnZ2VzdGVkVmFsdWUoKSk7Ci0g
ICAgICAgIGVsc2UKKyAgICAgICAgZWxzZSBpZiAoIW5vZGUoKS0+aXNIVE1MRWxlbWVudCgpIHx8
ICFzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4obm9kZSgpKS0+Zm9ybUNvbnRyb2xWYWx1
ZU1hdGNoZXNSZW5kZXJlcigpKQogICAgICAgICAgICAgc2V0SW5uZXJUZXh0VmFsdWUoaW5wdXRF
bGVtZW50KCktPnZhbHVlKCkpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS93bWwvV01M
SW5wdXRFbGVtZW50LmggYi9XZWJDb3JlL3dtbC9XTUxJbnB1dEVsZW1lbnQuaAppbmRleCA3MGQ4
NWU5M2EwMWIyMDdmY2FlM2RhOTliNmFjMmM0MWFiODNjNjQwLi40ZmU5NDY5MDc5MmE3NTYwZDNm
ZTk5NGY2N2IzM2UwZmY0NGRiYTgxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dtbC9XTUxJbnB1dEVs
ZW1lbnQuaAorKysgYi9XZWJDb3JlL3dtbC9XTUxJbnB1dEVsZW1lbnQuaApAQCAtODIsNiArODIs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQq
KTsKICAgICB2aXJ0dWFsIHZvaWQgY2FjaGVTZWxlY3Rpb24oaW50IHN0YXJ0LCBpbnQgZW5kKTsK
IAorICAgIHZpcnR1YWwgYm9vbCBpc0NvbW1pdHRhYmxlVmFsdWUoY29uc3QgU3RyaW5nJikgY29u
c3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgU3RyaW5nIHNhbml0aXplVmFsdWUoY29u
c3QgU3RyaW5nJiBwcm9wb3NlZFZhbHVlKSBjb25zdCB7IHJldHVybiBjb25zdHJhaW5WYWx1ZShw
cm9wb3NlZFZhbHVlKTsgfQogCiAgICAgdmlydHVhbCB2b2lkIGRvY3VtZW50RGlkQmVjb21lQWN0
aXZlKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66343</attachid>
            <date>2010-09-02 03:01:36 -0700</date>
            <delta_ts>2010-09-09 21:49:19 -0700</delta_ts>
            <desc>Patch 3</desc>
            <filename>bug-43973-20100902190134.patch</filename>
            <type>text/plain</type>
            <size>18052</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4ZGUzNjMzYjNhYjZiYjIwMzQ3YTA5NzllODA0YjI3MGI0MzU2MGNlLi41YmVkYWMy
ZWYzMDZiODk2NzdmNjIyNGFlZTk4MTMyNmVmMTdlN2VmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTAtMDgtMTMgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIDxpbnB1dCB0eXBlPW51bWJl
cj4gc2hvdWxkIG5vdCBoYXZlIGFuIGludmFsaWQgbnVtYmVyIGFzIGl0cyB2YWx1ZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM5NzMKKworICAgICAg
ICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS1yYW5nZU92ZXJmbG93LWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtcmFuZ2VVbmRlcmZsb3ctZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIGZhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gt
bnVtYmVyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2lucHV0LW51bWJlci1j
b21taXQtdmFsaWQtb25seS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9y
bXMvaW5wdXQtbnVtYmVyLWNvbW1pdC12YWxpZC1vbmx5Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW51bWJl
ci5qczoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9pbnB1dC1udW1iZXItY29t
bWl0LXZhbGlkLW9ubHkuanM6IEFkZGVkLgorCiAyMDEwLTA5LTAxICBNYXR0aGV3IFdpbGxpcyAg
PGxpbG1hdHRAZmxvY2suY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3Vy
eWFrb3YuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUt
cmFuZ2VPdmVyZmxvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlk
aXR5U3RhdGUtcmFuZ2VPdmVyZmxvdy1leHBlY3RlZC50eHQKaW5kZXggYjc3YWE1OWE3ODFmNTQx
YzcyYmI3MTYxYjEwZmU0NzNkNzI5ODliOS4uNTdmYzNjMmUxMjY5ZmUzZmFkNTEyODQyZGZlZGJk
ZjBhMjcxNmNmZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9WYWxpZGl0eVN0
YXRlLXJhbmdlT3ZlcmZsb3ctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvVmFsaWRpdHlTdGF0ZS1yYW5nZU92ZXJmbG93LWV4cGVjdGVkLnR4dApAQCAtNjMsNyArNjMs
NyBAQCBQQVNTIFRoZSB2YWx1ZSAiOTkiIGRvZXNuJ3Qgb3ZlcmZsb3cgdGhlIG1heGltdW0gdmFs
dWUgIjEwMCIuCiBQQVNTIFRoZSB2YWx1ZSAiLTEwMSIgZG9lc24ndCBvdmVyZmxvdyB0aGUgbWF4
aW11bSB2YWx1ZSAiLTEwMCIuCiBQQVNTIFRoZSB2YWx1ZSAiOTkiIGRvZXNuJ3Qgb3ZlcmZsb3cg
dGhlIG1heGltdW0gdmFsdWUgIjFFKzIiLgogUEFTUyBUaGUgdmFsdWUgIjAuOTkiIGRvZXNuJ3Qg
b3ZlcmZsb3cgdGhlIG1heGltdW0gdmFsdWUgIjEuMDAiLgotUEFTUyBUaGUgdmFsdWUgImFiYyIg
ZG9lc24ndCBvdmVyZmxvdyB0aGUgbWF4aW11bSB2YWx1ZSAiMTAwIi4KK1BBU1MgVGhlIHZhbHVl
ICIiIGRvZXNuJ3Qgb3ZlcmZsb3cgdGhlIG1heGltdW0gdmFsdWUgIjEwMCIuCiBQQVNTIFRoZSB2
YWx1ZSAiIiBkb2Vzbid0IG92ZXJmbG93IHRoZSBtYXhpbXVtIHZhbHVlICItMSIuCiBQQVNTIFRo
ZSB2YWx1ZSAiMTAxIiBkb2Vzbid0IG92ZXJmbG93IHRoZSBtYXhpbXVtIHZhbHVlICIiLgogUEFT
UyBUaGUgdmFsdWUgIjEwMSIgZG9lc24ndCBvdmVyZmxvdyB0aGUgbWF4aW11bSB2YWx1ZSAieHh4
Ii4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS1yYW5n
ZVVuZGVyZmxvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5
U3RhdGUtcmFuZ2VVbmRlcmZsb3ctZXhwZWN0ZWQudHh0CmluZGV4IDk4MzI3NWYzNzQ2NDhkMDM5
MGE0ZWU2ZjA5YWYzNjRjYzk5YjllODAuLjY0ZDlkOGNmNTJkMzUyY2UwNmI5NDc2M2NhNzZjNmVl
Njc1NzUxZjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0
ZS1yYW5nZVVuZGVyZmxvdy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9WYWxpZGl0eVN0YXRlLXJhbmdlVW5kZXJmbG93LWV4cGVjdGVkLnR4dApAQCAtNjMsNyArNjMs
NyBAQCBQQVNTIFRoZSB2YWx1ZSAiMTAxIiBkb2Vzbid0IHVuZGVyZmxvdyB0aGUgbWluaW11bSB2
YWx1ZSAiMTAwIi4KIFBBU1MgVGhlIHZhbHVlICItOTkiIGRvZXNuJ3QgdW5kZXJmbG93IHRoZSBt
aW5pbXVtIHZhbHVlICItMTAwIi4KIFBBU1MgVGhlIHZhbHVlICIxMDEiIGRvZXNuJ3QgdW5kZXJm
bG93IHRoZSBtaW5pbXVtIHZhbHVlICIxRSsyIi4KIFBBU1MgVGhlIHZhbHVlICIxLjAxIiBkb2Vz
bid0IHVuZGVyZmxvdyB0aGUgbWluaW11bSB2YWx1ZSAiMS4wMCIuCi1QQVNTIFRoZSB2YWx1ZSAi
YWJjIiBkb2Vzbid0IHVuZGVyZmxvdyB0aGUgbWluaW11bSB2YWx1ZSAiMTAwIi4KK1BBU1MgVGhl
IHZhbHVlICIiIGRvZXNuJ3QgdW5kZXJmbG93IHRoZSBtaW5pbXVtIHZhbHVlICIxMDAiLgogUEFT
UyBUaGUgdmFsdWUgIiIgZG9lc24ndCB1bmRlcmZsb3cgdGhlIG1pbmltdW0gdmFsdWUgIjEiLgog
UEFTUyBUaGUgdmFsdWUgIi0xIiBkb2Vzbid0IHVuZGVyZmxvdyB0aGUgbWluaW11bSB2YWx1ZSAi
Ii4KIFBBU1MgVGhlIHZhbHVlICItMSIgZG9lc24ndCB1bmRlcmZsb3cgdGhlIG1pbmltdW0gdmFs
dWUgInh4eCIuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL1ZhbGlkaXR5U3Rh
dGUtdHlwZU1pc21hdGNoLW51bWJlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW51bWJlci1leHBlY3RlZC50eHQKaW5kZXgg
ZDZmYWM2ZjUyOWMwYTQ3MjYxNTU5MDE3ZGI3Yjc0YzgwNmM2Y2EwZS4uYWYzY2Y1ZWNmNjE1YzJh
Mzg1MDIwNGQ2NzQxYTc3MzFjNWUxN2Y5ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1udW1iZXItZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvVmFsaWRpdHlTdGF0ZS10eXBlTWlzbWF0Y2gtbnVtYmVy
LWV4cGVjdGVkLnR4dApAQCAtMywzNCArMywzNCBAQCBUaGlzIHRlc3QgYWltcyB0byBjaGVjayBm
b3IgdHlwZU1pc21hdGNoIGZsYWcgd2l0aCB0eXBlPW51bWJlciBpbnB1dCBmaWVsZHMKIE9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCi1QQVNTIDAgaXMgYSBjb3JyZWN0IHZhbGlkIG51bWJl
ci4KLVBBU1MgMTAgaXMgYSBjb3JyZWN0IHZhbGlkIG51bWJlci4KLVBBU1MgMDEgaXMgYSBjb3Jy
ZWN0IHZhbGlkIG51bWJlci4KLVBBU1MgLTAgaXMgYSBjb3JyZWN0IHZhbGlkIG51bWJlci4KLVBB
U1MgLTEuMiBpcyBhIGNvcnJlY3QgdmFsaWQgbnVtYmVyLgotUEFTUyAxLjJFMTAgaXMgYSBjb3Jy
ZWN0IHZhbGlkIG51bWJlci4KLVBBU1MgMS4yRS0xMCBpcyBhIGNvcnJlY3QgdmFsaWQgbnVtYmVy
LgotUEFTUyAxLjJFKzEwIGlzIGEgY29ycmVjdCB2YWxpZCBudW1iZXIuCi1QQVNTIDEyMzQ1Njc4
OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIGlzIGEgY29ycmVjdCB2
YWxpZCBudW1iZXIuCi1QQVNTIDAuMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2
Nzg5MDEyMzQ1Njc4OTAgaXMgYSBjb3JyZWN0IHZhbGlkIG51bWJlci4KLVBBU1MgYWJjIGlzIGEg
Y29ycmVjdCBpbnZhbGlkIG51bWJlci4KLVBBU1MgMHhmZiBpcyBhIGNvcnJlY3QgaW52YWxpZCBu
dW1iZXIuCi1QQVNTICsxIGlzIGEgY29ycmVjdCBpbnZhbGlkIG51bWJlci4KLVBBU1MgIDEwIGlz
IGEgY29ycmVjdCBpbnZhbGlkIG51bWJlci4KLVBBU1MgMTAgIGlzIGEgY29ycmVjdCBpbnZhbGlk
IG51bWJlci4KLVBBU1MgMSwyIGlzIGEgY29ycmVjdCBpbnZhbGlkIG51bWJlci4KLVBBU1MgLjIg
aXMgYSBjb3JyZWN0IGludmFsaWQgbnVtYmVyLgotUEFTUyAxRSBpcyBhIGNvcnJlY3QgaW52YWxp
ZCBudW1iZXIuCi1QQVNTIE5hTiBpcyBhIGNvcnJlY3QgaW52YWxpZCBudW1iZXIuCi1QQVNTIG5h
biBpcyBhIGNvcnJlY3QgaW52YWxpZCBudW1iZXIuCi1QQVNTIEluZiBpcyBhIGNvcnJlY3QgaW52
YWxpZCBudW1iZXIuCi1QQVNTIGluZiBpcyBhIGNvcnJlY3QgaW52YWxpZCBudW1iZXIuCi1QQVNT
IEluZmluaXR5IGlzIGEgY29ycmVjdCBpbnZhbGlkIG51bWJlci4KLVBBU1MgaW5maW5pdHkgaXMg
YSBjb3JyZWN0IGludmFsaWQgbnVtYmVyLgotUEFTUyAgaXMgYSBjb3JyZWN0IHZhbGlkIG51bWJl
ci4KLVBBU1MgMS4yRTY1NTM1IGlzIGEgY29ycmVjdCBpbnZhbGlkIG51bWJlci4KLVBBU1MgMS4g
aXMgYSBjb3JyZWN0IHZhbGlkIG51bWJlci4KLVBBU1MgMS4yZTEwIGlzIGEgY29ycmVjdCB2YWxp
ZCBudW1iZXIuCitQQVNTICIwIiBpcyBhIHZhbGlkIG51bWJlci4KK1BBU1MgIjEwIiBpcyBhIHZh
bGlkIG51bWJlci4KK1BBU1MgIjAxIiBpcyBhIHZhbGlkIG51bWJlci4KK1BBU1MgIi0wIiBpcyBh
IHZhbGlkIG51bWJlci4KK1BBU1MgIi0xLjIiIGlzIGEgdmFsaWQgbnVtYmVyLgorUEFTUyAiMS4y
RTEwIiBpcyBhIHZhbGlkIG51bWJlci4KK1BBU1MgIjEuMkUtMTAiIGlzIGEgdmFsaWQgbnVtYmVy
LgorUEFTUyAiMS4yRSsxMCIgaXMgYSB2YWxpZCBudW1iZXIuCitQQVNTICIxMjM0NTY3ODkwMTIz
NDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIgaXMgYSB2YWxpZCBudW1iZXIu
CitQQVNTICIwLjEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3
ODkwIiBpcyBhIHZhbGlkIG51bWJlci4KK1BBU1MgImFiYyIgd2FzIHNhbml0aXplZCB0byAiIi4K
K1BBU1MgIjB4ZmYiIHdhcyBzYW5pdGl6ZWQgdG8gIiIuCitQQVNTICIrMSIgd2FzIHNhbml0aXpl
ZCB0byAiIi4KK1BBU1MgIiAxMCIgd2FzIHNhbml0aXplZCB0byAiIi4KK1BBU1MgIjEwICIgd2Fz
IHNhbml0aXplZCB0byAiIi4KK1BBU1MgIjEsMiIgd2FzIHNhbml0aXplZCB0byAiIi4KK1BBU1Mg
Ii4yIiB3YXMgc2FuaXRpemVkIHRvICIiLgorUEFTUyAiMUUiIHdhcyBzYW5pdGl6ZWQgdG8gIiIu
CitQQVNTICJOYU4iIHdhcyBzYW5pdGl6ZWQgdG8gIiIuCitQQVNTICJuYW4iIHdhcyBzYW5pdGl6
ZWQgdG8gIiIuCitQQVNTICJJbmYiIHdhcyBzYW5pdGl6ZWQgdG8gIiIuCitQQVNTICJpbmYiIHdh
cyBzYW5pdGl6ZWQgdG8gIiIuCitQQVNTICJJbmZpbml0eSIgd2FzIHNhbml0aXplZCB0byAiIi4K
K1BBU1MgImluZmluaXR5IiB3YXMgc2FuaXRpemVkIHRvICIiLgorUEFTUyAiIiBpcyBhIHZhbGlk
IG51bWJlci4KK1BBU1MgIjEuMkU2NTUzNSIgd2FzIHNhbml0aXplZCB0byAiIi4KK1BBU1MgIjEu
IiBpcyBhIHZhbGlkIG51bWJlci4KK1BBU1MgIjEuMmUxMCIgaXMgYSB2YWxpZCBudW1iZXIuCiBQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtbnVtYmVyLWNvbW1pdC12YWxpZC1vbmx5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtbnVtYmVyLWNvbW1p
dC12YWxpZC1vbmx5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45Mzk1NDQxY2M3YjYwMjJjZmY3
MzI1ZjM3NzdmYzA4NDBmMjM0MWMwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9pbnB1dC1udW1iZXItY29tbWl0LXZhbGlkLW9ubHktZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTIgQEAKK1R5cGU9bnVtYmVyIGZpZWxkIHNob3VsZCBub3QgYWNjZXB0IGludmFsaWQg
bnVtYmVycyB0aG91Z2ggYSB1c2VyIGNhbiB0eXBlIHN1Y2ggc3RyaW5ncworCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworUEFTUyBpbnB1dC52YWx1ZSBpcyAiNTEyIgorUEFTUyBpbnB1
dC52YWx1ZSBpcyAiNTEyIgorUEFTUyBpbnB1dC52YWx1ZSBpcyAiNTEyIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtbnVtYmVyLWNvbW1pdC12YWxpZC1vbmx5Lmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LW51bWJlci1jb21taXQtdmFsaWQtb25seS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmMxZTA5ZmM3ZWYxMzFlMjU2OWVhYTdlNmRhYjc5MzZlOTFmNDY0NTYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LW51bWJlci1jb21t
aXQtdmFsaWQtb25seS5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3Nz
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2lucHV0LW51
bWJlci1jb21taXQtdmFsaWQtb25seS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL1Zh
bGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW51bWJlci5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvc2NyaXB0LXRlc3RzL1ZhbGlkaXR5U3RhdGUtdHlwZU1pc21hdGNoLW51bWJlci5qcwppbmRl
eCAyZThhMDg2ZGI3YmFmMzBhNDUxMDNhZTc1MzVmNTU3OTM5MjQyMTFmLi44YjgwYzBjMzE2NDg4
NjA0ZmM4ZDhkNDQzNzVjMTJiODY2OTE3ZWNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3NjcmlwdC10ZXN0cy9WYWxpZGl0eVN0YXRlLXR5cGVNaXNtYXRjaC1udW1iZXIuanMK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvVmFsaWRpdHlTdGF0ZS10
eXBlTWlzbWF0Y2gtbnVtYmVyLmpzCkBAIC0zLDU2ICszLDY2IEBAIGRlc2NyaXB0aW9uKCdUaGlz
IHRlc3QgYWltcyB0byBjaGVjayBmb3IgdHlwZU1pc21hdGNoIGZsYWcgd2l0aCB0eXBlPW51bWJl
ciBpbnB1CiB2YXIgaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CiBpLnR5cGUg
PSAnbnVtYmVyJzsKIAotZnVuY3Rpb24gY2hlY2sodmFsdWUsIG1pc21hdGNoRXhwZWN0ZWQpCitm
dW5jdGlvbiBjaGVjayh2YWx1ZSkKIHsKICAgICBpLnZhbHVlID0gdmFsdWU7Ci0gICAgdmFyIGFj
dHVhbCA9IGkudmFsaWRpdHkudHlwZU1pc21hdGNoOwotICAgIHZhciBkaWRQYXNzID0gYWN0dWFs
ID09IG1pc21hdGNoRXhwZWN0ZWQ7Ci0gICAgdmFyIHJlc3VsdFRleHQgPSB2YWx1ZSArICcgaXMg
JyArIChkaWRQYXNzID8gJ2EgY29ycmVjdCAnIDogJ2FuIGluY29ycmVjdCAnKSArIChhY3R1YWwg
PyAnaW52YWxpZCcgOiAndmFsaWQnKSArICcgbnVtYmVyLic7Ci0gICAgaWYgKGRpZFBhc3MpCisg
ICAgdmFyIG1pc21hdGNoID0gaS52YWxpZGl0eS50eXBlTWlzbWF0Y2g7CisgICAgdmFyIHJlc3Vs
dFRleHQgPSAnIicgKyB2YWx1ZSArICciIGlzICcgKyAobWlzbWF0Y2ggPyAnYW4gaW52YWxpZCcg
OiAnYSB2YWxpZCcpICsgJyBudW1iZXIuJzsKKyAgICBpZiAoIW1pc21hdGNoKQogICAgICAgICB0
ZXN0UGFzc2VkKHJlc3VsdFRleHQpOwogICAgIGVsc2UKICAgICAgICAgdGVzdEZhaWxlZChyZXN1
bHRUZXh0KTsKIH0KIAorZnVuY3Rpb24gY2hlY2tTYW5pdGl6YXRpb24odmFsdWUsIGV4cGVjdGVk
VmFsdWUpCit7CisgICAgaS52YWx1ZSA9IHZhbHVlOworICAgIGlmIChpLnZhbGlkaXR5LnR5cGVN
aXNtYXRjaCkgeworICAgICAgICB0ZXN0RmFpbGVkKCciJyArIHZhbHVlICsgJyIgbWFkZSB0eXBl
TWlzbWF0Y2ggdHJ1ZS4nKTsKKyAgICB9IGVsc2UgaWYgKGkudmFsdWUgIT0gZXhwZWN0ZWRWYWx1
ZSkgeworICAgICAgICB0ZXN0RmFpbGVkKCciJyArIHZhbHVlICsgJyIgd2FzIHNhbml0aXplZCB0
byAiJyArIGkudmFsdWUgKyAnIi4gSXQgc2hvdWxkIGJlICcgKyBleHBlY3RlZFZhbHVlKTsKKyAg
ICB9IGVsc2UgeworICAgICAgICB0ZXN0UGFzc2VkKCciJyArIHZhbHVlICsgJyIgd2FzIHNhbml0
aXplZCB0byAiJyArIGkudmFsdWUgKyAnIi4nKTsKKyAgICB9Cit9CisKIC8vIFZhbGlkIHZhbHVl
cwotY2hlY2soJzAnLCBmYWxzZSk7Ci1jaGVjaygnMTAnLCBmYWxzZSk7Ci1jaGVjaygnMDEnLCBm
YWxzZSk7Ci1jaGVjaygnLTAnLCBmYWxzZSk7Ci1jaGVjaygnLTEuMicsIGZhbHNlKTsKLWNoZWNr
KCcxLjJFMTAnLCBmYWxzZSk7Ci1jaGVjaygnMS4yRS0xMCcsIGZhbHNlKTsKLWNoZWNrKCcxLjJF
KzEwJywgZmFsc2UpOwotY2hlY2soJzEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1
Njc4OTAxMjM0NTY3ODkwJywgZmFsc2UpOwotY2hlY2soJzAuMTIzNDU2Nzg5MDEyMzQ1Njc4OTAx
MjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAnLCBmYWxzZSk7CitjaGVjaygnMCcpOworY2hl
Y2soJzEwJyk7CitjaGVjaygnMDEnKTsKK2NoZWNrKCctMCcpOworY2hlY2soJy0xLjInKTsKK2No
ZWNrKCcxLjJFMTAnKTsKK2NoZWNrKCcxLjJFLTEwJyk7CitjaGVjaygnMS4yRSsxMCcpOworY2hl
Y2soJzEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwJyk7
CitjaGVjaygnMC4xMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2
Nzg5MCcpOwogCiAvLyBJbnZhbGlkIHZhbHVlcwotY2hlY2soJ2FiYycsIHRydWUpOwotY2hlY2so
JzB4ZmYnLCB0cnVlKTsKLQotY2hlY2soJysxJywgdHJ1ZSk7Ci1jaGVjaygnIDEwJywgdHJ1ZSk7
Ci1jaGVjaygnMTAgJywgdHJ1ZSk7Ci1jaGVjaygnMSwyJywgdHJ1ZSk7Ci1jaGVjaygnLjInLCB0
cnVlKTsKLWNoZWNrKCcxRScsIHRydWUpOwotY2hlY2soJ05hTicsIHRydWUpOwotY2hlY2soJ25h
bicsIHRydWUpOwotY2hlY2soJ0luZicsIHRydWUpOwotY2hlY2soJ2luZicsIHRydWUpOwotY2hl
Y2soJ0luZmluaXR5JywgdHJ1ZSk7Ci1jaGVjaygnaW5maW5pdHknLCB0cnVlKTsKK2NoZWNrU2Fu
aXRpemF0aW9uKCdhYmMnLCAnJyk7CitjaGVja1Nhbml0aXphdGlvbignMHhmZicsICcnKTsKKwor
Y2hlY2tTYW5pdGl6YXRpb24oJysxJywgJycpOworY2hlY2tTYW5pdGl6YXRpb24oJyAxMCcsICcn
KTsKK2NoZWNrU2FuaXRpemF0aW9uKCcxMCAnLCAnJyk7CitjaGVja1Nhbml0aXphdGlvbignMSwy
JywgJycpOworY2hlY2tTYW5pdGl6YXRpb24oJy4yJywgJycpOworY2hlY2tTYW5pdGl6YXRpb24o
JzFFJywgJycpOworY2hlY2tTYW5pdGl6YXRpb24oJ05hTicsICcnKTsKK2NoZWNrU2FuaXRpemF0
aW9uKCduYW4nLCAnJyk7CitjaGVja1Nhbml0aXphdGlvbignSW5mJywgJycpOworY2hlY2tTYW5p
dGl6YXRpb24oJ2luZicsICcnKTsKK2NoZWNrU2FuaXRpemF0aW9uKCdJbmZpbml0eScsICcnKTsK
K2NoZWNrU2FuaXRpemF0aW9uKCdpbmZpbml0eScsICcnKTsKIAogLy8gQXNzdW1lIGVtcHR5IHN0
cmluZyBhcyB2YWxpZC4KLWNoZWNrKCcnLCBmYWxzZSk7CitjaGVjaygnJyk7CiAKLS8vIFRoZSBz
cGVjIGFsbG93cywgYnV0IG91ciBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0CiAvLyBIdWdlIGV4cG9u
ZW50LgotY2hlY2soJzEuMkU2NTUzNScsIHRydWUpOworY2hlY2tTYW5pdGl6YXRpb24oJzEuMkU2
NTUzNScsICcnKTsKIAogLy8gVGhlIHNwZWMgZG9lc24ndCBhbGxvdywgYnV0IG91ciBpbXBsZW1l
bnRhdGlvbiBkb2VzLgotY2hlY2soJzEuJywgZmFsc2UpOwotY2hlY2soJzEuMmUxMCcsIGZhbHNl
KTsKK2NoZWNrKCcxLicpOworY2hlY2soJzEuMmUxMCcpOwogCiB2YXIgc3VjY2Vzc2Z1bGx5UGFy
c2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRl
c3RzL2lucHV0LW51bWJlci1jb21taXQtdmFsaWQtb25seS5qcyBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0LW51bWJlci1jb21taXQtdmFsaWQtb25seS5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5kZjQ2MGFhOTRmNTAxY2Y1YzJjZDgzZDZhNDYwMDc4NmM4NzYyNzBkCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvaW5wdXQtbnVt
YmVyLWNvbW1pdC12YWxpZC1vbmx5LmpzCkBAIC0wLDAgKzEsMjQgQEAKK2Rlc2NyaXB0aW9uKCdU
eXBlPW51bWJlciBmaWVsZCBzaG91bGQgbm90IGFjY2VwdCBpbnZhbGlkIG51bWJlcnMgdGhvdWdo
IGEgdXNlciBjYW4gdHlwZSBzdWNoIHN0cmluZ3MnKTsKKwordmFyIHBhcmVudCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwYXJlbnQp
OworcGFyZW50LmlubmVySFRNTCA9ICc8aW5wdXQgdHlwZT1udW1iZXIgaWQ9bnVtYmVyIHZhbHVl
PTI1Nj4nOworCit2YXIgaW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbnVtYmVyJyk7
CitpbnB1dC5mb2N1cygpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ1NlbGVjdEFsbCcsIGZhbHNl
LCBudWxsKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCdJbnNlcnRUZXh0JywgZmFsc2UsICc1MTIn
KTsKK3Nob3VsZEJlKCdpbnB1dC52YWx1ZScsICciNTEyIicpOworCitkb2N1bWVudC5leGVjQ29t
bWFuZCgnU2VsZWN0QWxsJywgZmFsc2UsIG51bGwpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ0lu
c2VydFRleHQnLCBmYWxzZSwgJysrKycpOworaW5wdXQuYmx1cigpOworc2hvdWxkQmUoJ2lucHV0
LnZhbHVlJywgJyI1MTIiJyk7CisKK2lucHV0LmZvY3VzKCk7Citkb2N1bWVudC5leGVjQ29tbWFu
ZCgnU2VsZWN0QWxsJywgZmFsc2UsIG51bGwpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ0luc2Vy
dFRleHQnLCBmYWxzZSwgJycpOworaW5wdXQuYmx1cigpOworc2hvdWxkQmUoJ2lucHV0LnZhbHVl
JywgJyI1MTIiJyk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxOWQzNzkwODgz
YjY0MmMxYjY4ZDJmY2MzNTBhNDgwNTc1OGYyMjM5Li4yMzAzZTBlYjM4ZjBkOTMyMDdkZDMwOGZl
YzA4ZGM1MTVmZGJiOTMyIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEwLTA4LTEzICBLZW50IFRhbXVyYSAg
PHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICA8aW5wdXQgdHlwZT1udW1iZXI+IHNob3VsZCBub3QgaGF2ZSBhbiBpbnZh
bGlkIG51bWJlciBhcyBpdHMgdmFsdWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQzOTczCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgaW1wbGVtZW50cyB0
aGUgdmFsdWUgc2FuaXRpemF0aW9uIGFsZ29yaXRobSBmb3IKKyAgICAgICAgdHlwZT1udW1iZXIs
IGFuZCByZW1vdmUgdmFsaWRpdHkudHlwZU1pc21hdGNoIHN1cHBvcnQgZm9yCisgICAgICAgIHR5
cGU9bnVtYmVyIGluIG9yZGVyIHRvIGltcHJvdmUgSFRNTDUgY29uZm9ybWFuY2UuCisKKyAgICAg
ICAgSFRNTElucHV0RWxlbWVudDo6dmFsdWUgZm9yIHR5cGU9bnVtYmVyIGFsd2F5cyBoYXMgYSB2
YWxpZCBudW1iZXIKKyAgICAgICAgc3RyaW5nIG9yIGFuIGVtcHR5IHN0cmluZy4gSG93ZXZlciwg
dGhlIGlucHV0IGZpZWxkIGZvciBpdCwgYQorICAgICAgICBSZW5kZXJUZXh0Q29udHJvbFNpbmds
ZUxpbmUsIGNhbiBoYXZlIGEgbm9uLW51bWJlciBzdHJpbmcuIEZvcgorICAgICAgICBleGFtcGxl
LCAnLScgaXMgYSBub24tbnVtYmVyIHN0cmluZywgYnV0IGEgdXNlciBuZWVkcyB0byB0eXBlCisg
ICAgICAgICctJy4gU28sIHRoZSBzdHJpbmcgaW4gdGhlIGlucHV0IGZpZWxkIGhhcyBuZXZlciBi
ZWVuIGNvbW1pdHRlZCB0bworICAgICAgICBIVE1MSW5wdXRFbGVtZW50IHVudGlsIHRoZSBzdHJp
bmcgYmVjb21lcyBhIHZhbGlkIG51bWJlciBzdHJpbmcuCisKKyAgICAgICAgVGhpcyBjaGFuZ2Ug
aXMgYWxzbyBhIHByZXBhcmF0aW9uIG9mIHN1cHBvcnRpbmcgbG9jYWxpemVkCisgICAgICAgIG51
bWJlcnMuIEEgbG9jYWxpemVkIHN0cmluZyBpbiB0aGUgaW5wdXQgZmllbGQgd291bGQgbm90IGJl
CisgICAgICAgIG1hdGNoZWQgd2l0aCBIVE1MSW5wdXRFbGVtZW50Ojp2YWx1ZS4KKworICAgICAg
ICBUZXN0OiBmYXN0L2Zvcm1zL2lucHV0LW51bWJlci1jb21taXQtdmFsaWQtb25seS5odG1sCisK
KyAgICAgICAgKiBkb20vSW5wdXRFbGVtZW50Lmg6IEFkZCBpc0NvbW1pdHRhYmxlVmFsdWUoKQor
ICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MSW5wdXRFbGVtZW50OjpoYW5kbGVCbHVyRXZlbnQpOgorICAgICAgICAgU2V0IGZvcm1Db250
cm9sVmFsdWVNYXRjaGVzUmVuZGVyZXIgZmFsc2UgdG8gY2xlYW4gYW4gaW52YWxpZCB2YWx1ZSBp
biB0aGUgcmVuZGVyZXIuCisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojppc0Nv
bW1pdHRhYmxlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6c2Fu
aXRpemVWYWx1ZSk6CisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50Lmg6CisgICAgICAg
ICogaHRtbC9WYWxpZGl0eVN0YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZhbGlkaXR5U3Rh
dGU6OnR5cGVNaXNtYXRjaCk6IEFsd2F5cyByZXR1cm5zIGZhbHNlIGZvciB0eXBlPW51bWJlci4K
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6c3VidHJlZUhhc0No
YW5nZWQpOgorICAgICAgICAqIHdtbC9XTUxJbnB1dEVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNv
cmU6OldNTElucHV0RWxlbWVudDo6aXNDb21taXR0YWJsZVZhbHVlKToKKwogMjAxMC0wOS0wMSAg
RXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0lucHV0RWxlbWVudC5o
IGIvV2ViQ29yZS9kb20vSW5wdXRFbGVtZW50LmgKaW5kZXggNTZmYzk5ZDMzZjcyZWFiNjFjOWFh
ZjhmYzMzMjU3MDlmMDI4Y2M3NS4uZDVjZTIxMmRmYTM1ZjdkM2U5ZDI1MDkxYTY3YWY5NTM1MDNj
YTU1OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vSW5wdXRFbGVtZW50LmgKKysrIGIvV2ViQ29y
ZS9kb20vSW5wdXRFbGVtZW50LmgKQEAgLTYwLDYgKzYwLDggQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBzZXRWYWx1ZShjb25zdCBTdHJpbmcmLCBib29sIHNlbmRDaGFuZ2VFdmVudCA9IGZh
bHNlKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldFZhbHVlRm9yVXNlcihjb25zdCBTdHJpbmcm
KSA9IDA7CiAKKyAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhlIHNwZWNpZmllZCBzdHJpbmcgY2Fu
IGJlIHNldCBhcyB0aGUgdmFsdWUgb2YgSW5wdXRFbGVtZW50LgorICAgIHZpcnR1YWwgYm9vbCBp
c0FjY2VwdGFibGVWYWx1ZShjb25zdCBTdHJpbmcmKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBT
dHJpbmcgc2FuaXRpemVWYWx1ZShjb25zdCBTdHJpbmcmKSBjb25zdCA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIHNldFZhbHVlRnJvbVJlbmRlcmVyKGNvbnN0IFN0cmluZyYpID0gMDsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwIGIvV2ViQ29yZS9odG1sL0hU
TUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4IGIzMzliNDVjOGE4YWFiYThiNjFlMmZkZDRmMWY5Zjcx
ZTJlMzc0NTguLmQ3YmI3MGMxMmRhNTg2NThhYWZhZjVmNmIwMDdlNDA3OTAyYmY0MGQgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAorKysgYi9XZWJDb3JlL2h0
bWwvSFRNTElucHV0RWxlbWVudC5jcHAKQEAgLTI2MCw3ICsyNjAsOCBAQCBib29sIEhUTUxJbnB1
dEVsZW1lbnQ6OnR5cGVNaXNtYXRjaChjb25zdCBTdHJpbmcmIHZhbHVlKSBjb25zdAogICAgIGNh
c2UgQ09MT1I6CiAgICAgICAgIHJldHVybiAhaXNWYWxpZENvbG9yU3RyaW5nKHZhbHVlKTsKICAg
ICBjYXNlIE5VTUJFUjoKLSAgICAgICAgcmV0dXJuICFwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlw
ZSh2YWx1ZSwgMCk7CisgICAgICAgIEFTU0VSVChwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZSh2
YWx1ZSwgMCkpOworICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgY2FzZSBVUkw6CiAgICAgICAg
IHJldHVybiAhS1VSTChLVVJMKCksIHZhbHVlKS5pc1ZhbGlkKCk7CiAgICAgY2FzZSBFTUFJTDog
ewpAQCAtODI3LDYgKzgyOCw4IEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6aGFuZGxlRm9jdXNF
dmVudCgpCiAKIHZvaWQgSFRNTElucHV0RWxlbWVudDo6aGFuZGxlQmx1ckV2ZW50KCkKIHsKKyAg
ICAvLyBSZXNldCB0aGUgcmVuZGVyZXIgdmFsdWUsIHdoaWNoIG1pZ2h0IGJlIHVubWF0Y2hlZCB3
aXRoIHRoZSBlbGVtZW50IHZhbHVlLgorICAgIHNldEZvcm1Db250cm9sVmFsdWVNYXRjaGVzUmVu
ZGVyZXIoZmFsc2UpOwogICAgIElucHV0RWxlbWVudDo6ZGlzcGF0Y2hCbHVyRXZlbnQodGhpcywg
dGhpcyk7CiB9CiAKQEAgLTI2NjQsOCArMjY2NywxOCBAQCBGaWxlTGlzdCogSFRNTElucHV0RWxl
bWVudDo6ZmlsZXMoKQogICAgIHJldHVybiBtX2ZpbGVMaXN0LmdldCgpOwogfQogCitib29sIEhU
TUxJbnB1dEVsZW1lbnQ6OmlzQWNjZXB0YWJsZVZhbHVlKGNvbnN0IFN0cmluZyYgcHJvcG9zZWRW
YWx1ZSkgY29uc3QKK3sKKyAgICBpZiAoaW5wdXRUeXBlKCkgIT0gTlVNQkVSKQorICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gcHJvcG9zZWRWYWx1ZS5pc0VtcHR5KCkgfHwgcGFyc2VU
b0RvdWJsZUZvck51bWJlclR5cGUocHJvcG9zZWRWYWx1ZSwgMCk7Cit9CisKIFN0cmluZyBIVE1M
SW5wdXRFbGVtZW50OjpzYW5pdGl6ZVZhbHVlKGNvbnN0IFN0cmluZyYgcHJvcG9zZWRWYWx1ZSkg
Y29uc3QKIHsKKyAgICBpZiAoaW5wdXRUeXBlKCkgPT0gTlVNQkVSKQorICAgICAgICByZXR1cm4g
cGFyc2VUb0RvdWJsZUZvck51bWJlclR5cGUocHJvcG9zZWRWYWx1ZSwgMCkgPyBwcm9wb3NlZFZh
bHVlIDogU3RyaW5nKCk7CisKICAgICBpZiAoaXNUZXh0RmllbGQoKSkKICAgICAgICAgcmV0dXJu
IElucHV0RWxlbWVudDo6c2FuaXRpemVWYWx1ZUZvclRleHRGaWVsZCh0aGlzLCBwcm9wb3NlZFZh
bHVlKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaCBiL1dl
YkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKaW5kZXggNjU3YjQ2ODEzYzY3NzUxZWJiNWQw
NzE3ODhiZmU1MTcyN2YwZWNlYy4uNGRlMTIxZGQ3MDI1OTY4ODcxMTYzNWVkMDE1ZGY1ZmZiY2Ji
NDNjZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaAorKysgYi9X
ZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCkBAIC0yODEsNiArMjgxLDcgQEAgcHJpdmF0
ZToKIAogICAgIHZpcnR1YWwgdm9pZCBjYWNoZVNlbGVjdGlvbihpbnQgc3RhcnQsIGludCBlbmQp
OwogCisgICAgdmlydHVhbCBib29sIGlzQWNjZXB0YWJsZVZhbHVlKGNvbnN0IFN0cmluZyYpIGNv
bnN0OwogICAgIHZpcnR1YWwgU3RyaW5nIHNhbml0aXplVmFsdWUoY29uc3QgU3RyaW5nJikgY29u
c3Q7CiAKICAgICB2aXJ0dWFsIHZvaWQgZG9jdW1lbnREaWRCZWNvbWVBY3RpdmUoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAg
Yi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwCmluZGV4
IGI1NTNjNTZmZjZhNzZhN2JiYmM1NzFhNzc5MDgwYTRmNGQyMzFmNDYuLjliYjE2YWIyYTYyMjYz
OTZhZGY4OGUzMzQ2NTNmMTgxNjJmYTE3ZTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcApAQCAtMTcwLDcgKzE3MCw5IEBAIHZvaWQg
UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpzdWJ0cmVlSGFzQ2hhbmdlZCgpCiAgICAgLy8g
SW5wdXRFbGVtZW50OjpoYW5kbGVCZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudCgpIGhhcyBhbHJlYWR5
IGNhbGxlZAogICAgIC8vIHNhbml0aXplVXNlcklucHV0VmFsdWUoKS4KICAgICAvLyBzYW5pdGl6
ZVZhbHVlKCkgaXMgbmVlZGVkIGJlY2F1c2UgSU1FIGlucHV0IGRvZXNuJ3QgZGlzcGF0Y2ggQmVm
b3JlVGV4dEluc2VydGVkRXZlbnQuCi0gICAgaW5wdXQtPnNldFZhbHVlRnJvbVJlbmRlcmVyKGlu
cHV0LT5zYW5pdGl6ZVZhbHVlKHRleHQoKSkpOworICAgIFN0cmluZyB2YWx1ZSA9IHRleHQoKTsK
KyAgICBpZiAoaW5wdXQtPmlzQWNjZXB0YWJsZVZhbHVlKHZhbHVlKSkKKyAgICAgICAgaW5wdXQt
PnNldFZhbHVlRnJvbVJlbmRlcmVyKGlucHV0LT5zYW5pdGl6ZVZhbHVlKHZhbHVlKSk7CiAKICAg
ICBpZiAobV9jYW5jZWxCdXR0b24pCiAgICAgICAgIHVwZGF0ZUNhbmNlbEJ1dHRvblZpc2liaWxp
dHkoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd21sL1dNTElucHV0RWxlbWVudC5oIGIvV2ViQ29y
ZS93bWwvV01MSW5wdXRFbGVtZW50LmgKaW5kZXggNzBkODVlOTNhMDFiMjA3ZmNhZTNkYTk5YjZh
YzJjNDFhYjgzYzY0MC4uZGY3ZjQ5NzJiNzJjYmU4ODQyMGRhYThkYWE1MWE2ZjVmMzQ0YTAyMiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS93bWwvV01MSW5wdXRFbGVtZW50LmgKKysrIGIvV2ViQ29yZS93
bWwvV01MSW5wdXRFbGVtZW50LmgKQEAgLTgyLDYgKzgyLDcgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50Kik7CiAgICAgdmlydHVhbCB2b2lkIGNh
Y2hlU2VsZWN0aW9uKGludCBzdGFydCwgaW50IGVuZCk7CiAKKyAgICB2aXJ0dWFsIGJvb2wgaXNB
Y2NlcHRhYmxlVmFsdWUoY29uc3QgU3RyaW5nJikgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAg
IHZpcnR1YWwgU3RyaW5nIHNhbml0aXplVmFsdWUoY29uc3QgU3RyaW5nJiBwcm9wb3NlZFZhbHVl
KSBjb25zdCB7IHJldHVybiBjb25zdHJhaW5WYWx1ZShwcm9wb3NlZFZhbHVlKTsgfQogCiAgICAg
dmlydHVhbCB2b2lkIGRvY3VtZW50RGlkQmVjb21lQWN0aXZlKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>