<?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>107378</bug_id>
          
          <creation_ts>2013-01-19 13:08:23 -0800</creation_ts>
          <short_desc>Track inheritance structures in a side table, instead of using a private name in each prototype</short_desc>
          <delta_ts>2013-02-01 07:04:13 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          <cc>fpizlo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>rakuco</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>811450</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-01-19 13:08:23 -0800</bug_when>
    <thetext>Track inheritance structures in a side table, instead of using a private name in each prototype</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811456</commentid>
    <comment_count>1</comment_count>
      <attachid>183632</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-01-19 13:26:15 -0800</bug_when>
    <thetext>Created attachment 183632
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811457</commentid>
    <comment_count>2</comment_count>
      <attachid>183633</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-01-19 13:28:10 -0800</bug_when>
    <thetext>Created attachment 183633
performance</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811458</commentid>
    <comment_count>3</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-01-19 13:28:50 -0800</bug_when>
    <thetext>Seems performance-neutral, as expected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811461</commentid>
    <comment_count>4</comment_count>
      <attachid>183632</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-01-19 13:48:47 -0800</bug_when>
    <thetext>Comment on attachment 183632
Patch

Sam and Phil reviewed this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811462</commentid>
    <comment_count>5</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-01-19 13:49:02 -0800</bug_when>
    <thetext>Committed r140259: &lt;http://trac.webkit.org/changeset/140259&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811646</commentid>
    <comment_count>6</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-01-20 11:48:24 -0800</bug_when>
    <thetext>ASSERTing on a sputnik test: http://build.webkit.org/results/Apple%20MountainLion%20Debug%20WK1%20(Tests)/r140274%20(4771)/sputnik/Conformance/13_Function_Definition/13.2_Creating_Function_Objects/S13.2.2_A3_T1-crash-log.txt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811655</commentid>
    <comment_count>7</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-01-20 12:35:10 -0800</bug_when>
    <thetext>Disabled the ASSERT for the time being to get the bots green: &lt;http://trac.webkit.org/changeset/140259&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811703</commentid>
    <comment_count>8</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-01-20 17:01:24 -0800</bug_when>
    <thetext>Follow-up ASSERT fix: &lt;http://trac.webkit.org/changeset/140284&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812239</commentid>
    <comment_count>9</comment_count>
      <attachid>183632</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-01-21 10:07:14 -0800</bug_when>
    <thetext>Comment on attachment 183632
Patch

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

&gt; Source/JavaScriptCore/runtime/PrototypeMap.h:41
&gt; +    bool isPrototype(JSObject*); // Returns a conservative estimate.

Two thoughts:

1) If it’s a conservative estimate, then how about a name that reflects that? Perhaps mayBePrototype? I’m not really sure what a conservative estimate means.

2) Should be a const member function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812272</commentid>
    <comment_count>10</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-01-21 10:58:22 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 183632 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=183632&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/runtime/PrototypeMap.h:41
&gt; &gt; +    bool isPrototype(JSObject*); // Returns a conservative estimate.
&gt; 
&gt; Two thoughts:
&gt; 
&gt; 1) If it’s a conservative estimate, then how about a name that reflects that? Perhaps mayBePrototype? I’m not really sure what a conservative estimate means.

I like mayBePrototype. But I think the reason why this was landed as isPrototype is that we were thinking of converting all of these possibly-conservative Boolean queries to use TriState. Hence you would say isPrototype(thing) != FalseTriState. 

But this would require moving the declaration of TriState from WebCore into WTF, so that&apos;ll be a separate patch. 

This TriState approach is great because I think it more accurately captures other forms of queries in JSC. It&apos;s common for us to be able to answer a question with &quot;maybe&quot;. 

&gt; 
&gt; 2) Should be a const member function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822733</commentid>
    <comment_count>11</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-02-01 07:04:13 -0800</bug_when>
    <thetext>&gt; This TriState approach is great because I think it more accurately captures other forms of queries in JSC. It&apos;s common for us to be able to answer a question with &quot;maybe&quot;. 

I did this in bug 108628.

&gt; I’m not really sure what a conservative estimate means.

Added a comment to try to clarify this.

&gt; 2) Should be a const member function.

Fixed in bug 108628.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183632</attachid>
            <date>2013-01-19 13:26:15 -0800</date>
            <delta_ts>2013-01-21 10:07:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107378-20130119132313.patch</filename>
            <type>text/plain</type>
            <size>30582</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTQwMjU4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDgwIEBA
CisyMDEzLTAxLTE5ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgVHJhY2sgaW5oZXJpdGFuY2Ugc3RydWN0dXJlcyBpbiBhIHNpZGUgdGFibGUsIGluc3RlYWQg
b2YgdXNpbmcgYSBwcml2YXRlCisgICAgICAgIG5hbWUgaW4gZWFjaCBwcm90b3R5cGUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzM3OAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgYSBzdGVw
IHRvd2FyZCBvYmplY3Qgc2l6ZSBpbmZlcmVuY2UuCisKKyAgICAgICAgVXNpbmcgYSBzaWRlIHRh
YmxlIGZyZWVzIHVzIHRvIHVzZSBhIG1vcmUgY29tcGxleCBrZXkgKGEgcGFpciBvZgorICAgICAg
ICBwcm90b3R5cGUgYW5kIGV4cGVjdGVkIGlubGluZSBjYXBhY2l0eSkuCisKKyAgICAgICAgSXQg
YWxzbyBhdm9pZHMgcnVpbmluZyBpbmxpbmUgY2FjaGVzIGZvciBwcm90b3R5cGVzLiAoQWRkaW5n
IGEgbmV3IHByaXZhdGUKKyAgICAgICAgbmFtZSBmb3IgYSBuZXcgaW5saW5lIGNhcGFjaXR5IHdv
dWxkIGNoYW5nZSB0aGUgcHJvdG90eXBlJ3Mgc3RydWN0dXJlLAorICAgICAgICBwb3NzaWJseSBm
aXJpbmcgd2F0Y2hwb2ludHMsIG1ha2luZyBpbmxpbmUgY2FjaGVzIGdvIHBvbHltb3JwaGljLCBh
bmQKKyAgICAgICAgZ2VuZXJhbGx5IGNhdXNpbmcgdXMgdG8gaGF2ZSBhIGJhZCB0aW1lLikKKwor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06
CisgICAgICAgICogSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnZjcHJvajoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIFRhcmdldC5wcmk6IEJ1aWxkYWdlLgorCisgICAgICAgICog
cnVudGltZS9BcnJheVByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0M6OkFycmF5UHJvdG90eXBl
OjpmaW5pc2hDcmVhdGlvbik6IFVwZGF0ZWQgdG8gdXNlIG5ldyBzaWRlIHRhYmxlIEFQSS4KKwor
ICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbi5jcHA6CisgICAgICAgIChKU0M6OkpTRnVuY3Rp
b246OmNhY2hlSW5oZXJpdG9ySUQpOiBVcGRhdGVkIHRvIHVzZSBuZXcgc2lkZSB0YWJsZSBBUEku
CisKKyAgICAgICAgKEpTQzo6SlNGdW5jdGlvbjo6dmlzaXRDaGlsZHJlbik6IEZpeGVkIGEgbG9u
Zy1zdGFuZGluZyBidWcgd2hlcmUgSlNGdW5jdGlvbgorICAgICAgICBmb3Jnb3QgdG8gdmlzaXQg
b25lIG9mIGl0cyBkYXRhIG1lbWJlcnMgKG1fY2FjaGVkSW5oZXJpdG9ySUQpLiBUaGlzCisgICAg
ICAgIHdhc24ndCBhIHVzZXItdmlzaWJsZSBwcm9ibGVtIGJlZm9yZSBiZWNhdXNlIEpTRnVuY3Rp
b24gd291bGQgYWx3YXlzCisgICAgICAgIHZpc2l0IGl0cyAucHJvdG90eXBlIHByb3BlcnR5LCB3
aGljaCB2aXNpdGVkIGl0cyBtX2NhY2hlZEluaGVyaXRvcklELgorICAgICAgICBCdXQgbm93LCBm
dW5jdGlvbi5wcm90b3R5cGUgb25seSB3ZWFrbHkgb3ducyBmdW5jdGlvbi5tX2NhY2hlZEluaGVy
aXRvcklELgorCisgICAgICAgICogcnVudGltZS9KU0dsb2JhbERhdGEuaDoKKyAgICAgICAgKEpT
R2xvYmFsRGF0YSk6IEFkZGVkIHRoZSBtYXAsIHRha2luZyBjYXJlIHRvIG1ha2Ugc3VyZSB0aGF0
IGl0cworICAgICAgICBkZXN0cnVjdG9yIHdvdWxkIHJ1biBhZnRlciB0aGUgaGVhcCBkZXN0cnVj
dG9yLgorCisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHA6CisgICAgICAgIChK
U0M6OkpTR2xvYmFsT2JqZWN0OjpyZXNldCk6IFVwZGF0ZWQgdG8gdXNlIG5ldyBzaWRlIHRhYmxl
IEFQSS4KKworICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpK
U09iamVjdDo6bm90aWZ5UHJlc2VuY2VPZkluZGV4ZWRBY2Nlc3NvcnMpOgorICAgICAgICAoSlND
OjpKU09iamVjdDo6c2V0UHJvdG90eXBlKToKKyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0Lmg6
CisgICAgICAgIChKU09iamVjdCk6IFVwZGF0ZWQgdG8gdXNlIG5ldyBzaWRlIHRhYmxlIEFQSSwg
YW5kIHJlbW92ZWQgbG90cyBvZiBjb2RlCisgICAgICAgIHRoYXQgdXNlZCB0byBtYW5hZ2UgdGhl
IHBlci1vYmplY3QgcHJpdmF0ZSBuYW1lLgorCisgICAgICAgICogcnVudGltZS9KU1Byb3h5LmNw
cDoKKyAgICAgICAgKEpTQzo6SlNQcm94eTo6c2V0VGFyZ2V0KToKKyAgICAgICAgKiBydW50aW1l
L09iamVjdENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6b2JqZWN0Q29uc3RydWN0b3JD
cmVhdGUpOgorICAgICAgICAqIHJ1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmNwcDoKKyAgICAgICAg
KEpTQzo6T2JqZWN0UHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbik6IFVwZGF0ZWQgdG8gdXNlIG5l
dyBzaWRlIHRhYmxlIEFQSS4KKworICAgICAgICAqIHJ1bnRpbWUvUHJvdG90eXBlTWFwLmNwcDog
QWRkZWQuCisgICAgICAgIChKU0MpOgorICAgICAgICAoSlNDOjpQcm90b3R5cGVNYXA6OmFkZFBy
b3RvdHlwZSk6CisgICAgICAgIChKU0M6OlByb3RvdHlwZU1hcDo6ZW1wdHlPYmplY3RTdHJ1Y3R1
cmVGb3JQcm90b3R5cGUpOgorICAgICAgICAqIHJ1bnRpbWUvUHJvdG90eXBlTWFwLmg6IEFkZGVk
LgorICAgICAgICAoUHJvdG90eXBlTWFwKToKKyAgICAgICAgKEpTQzo6UHJvdG90eXBlTWFwOjpp
c1Byb3RvdHlwZSk6CisgICAgICAgIChKU0M6OlByb3RvdHlwZU1hcDo6Y2xlYXJFbXB0eU9iamVj
dFN0cnVjdHVyZUZvclByb3RvdHlwZSk6IE5ldyBzaWRlIHRhYmxlLgorICAgICAgICBUaGlzIGlz
IGEgc2ltcGxlIHdlYWsgbWFwLCBtYXBwaW5nIGFuIG9iamVjdCB0byB0aGUgc3RydWN0dXJlIHlv
dSBzaG91bGQKKyAgICAgICAgdXNlIHdoZW4gaW5oZXJpdGluZyBmcm9tIHRoYXQgb2JqZWN0LiAo
SW4gZnV0dXJlLCBpbmxpbmUgY2FwYWNpdHkgd2lsbAorICAgICAgICBiZSBhIHBhcnQgb2YgdGhl
IG1hcHBpbmcuKQorCisgICAgICAgIEkgdXNlZCB0d28gbWFwcyB0byBwcmVzZXJ2ZSBleGlzdGlu
ZyBiZWhhdmlvciB0aGF0IGFsbG93ZWQgdXMgdG8gc3BlY3VsYXRlCisgICAgICAgIGFib3V0IGFu
IG9iamVjdCBiZWNvbWluZyBhIHByb3RvdHlwZSwgZXZlbiBpZiBpdCB3YXNuJ3Qgb25lIGF0IHRo
ZSBtb21lbnQuCisgICAgICAgIEhvd2V2ZXIsIEkgc3VzcGVjdCB0aGF0IGJlaGF2aW9yIGNhbiBi
ZSByZW1vdmVkIHdpdGhvdXQgaGFybS4KKworICAgICAgICAqIHJ1bnRpbWUvV2Vha0dDTWFwLmg6
CisgICAgICAgIChKU0M6OldlYWtHQ01hcDo6Y29udGFpbnMpOgorICAgICAgICAoV2Vha0dDTWFw
KTogSSB3b3VsZCByYXRlIG15c2VsZiBhIDYgLyAxMCBpbiBDKysuCisKIDIwMTMtMDEtMTggIERh
biBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmVkIGR1cGxpY2F0
ZSByZWZlcmVuY2VzIHRvIHR3byBoZWFkZXJzIGluIHRoZSBwcm9qZWN0IGZpbGVzLgpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMTQwMjI3KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yNjks
NiArMjY5LDcgQEAgc2V0KEphdmFTY3JpcHRDb3JlX1NPVVJDRVMKICAgICBydW50aW1lL1Byb3Bl
cnR5RGVzY3JpcHRvci5jcHAKICAgICBydW50aW1lL1Byb3BlcnR5TmFtZUFycmF5LmNwcAogICAg
IHJ1bnRpbWUvUHJvcGVydHlTbG90LmNwcAorICAgIHJ1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAog
ICAgIHJ1bnRpbWUvUmVnRXhwLmNwcAogICAgIHJ1bnRpbWUvUmVnRXhwQ2FjaGUuY3BwCiAgICAg
cnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5jcHAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtCShyZXZpc2lvbiAxNDAyMjcpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvR05VbWFrZWZpbGUubGlzdC5hbQkod29ya2luZyBjb3B5KQpAQCAtNjk1LDYgKzY5
NSw4IEBAIGphdmFzY3JpcHRjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1Byb3BlcnR5T2Zmc2V0LmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1Byb3BlcnR5U2xvdC5jcHAgXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1By
b3BlcnR5U2xvdC5oIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVN
YXAuY3BwIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuaCBc
CiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlTdG9yYWdlLmggXAogCVNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RlY3QuaCBcCiAJU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUHV0RGlyZWN0SW5kZXhNb2RlLmggXApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL1RhcmdldC5wcmkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L1RhcmdldC5wcmkJKHJldmlzaW9uIDE0MDIyNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9U
YXJnZXQucHJpCSh3b3JraW5nIGNvcHkpCkBAIC0yODcsNiArMjg3LDcgQEAgU09VUkNFUyArPSBc
CiAgICAgcnVudGltZS9Qcm9wZXJ0eURlc2NyaXB0b3IuY3BwIFwKICAgICBydW50aW1lL1Byb3Bl
cnR5TmFtZUFycmF5LmNwcCBcCiAgICAgcnVudGltZS9Qcm9wZXJ0eVNsb3QuY3BwIFwKKyAgICBy
dW50aW1lL1Byb3RvdHlwZU1hcC5jcHAgXAogICAgIHJ1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3Iu
Y3BwIFwKICAgICBydW50aW1lL1JlZ0V4cENhY2hlZFJlc3VsdC5jcHAgXAogICAgIHJ1bnRpbWUv
UmVnRXhwTWF0Y2hlc0FycmF5LmNwcCBcCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvago9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9q
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvagkocmV2aXNpb24gMTQwMjI3KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2oJKHdvcmtpbmcgY29weSkKQEAgLTExNzQsNiArMTE3
NCwxNCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIu
LlwuLlxydW50aW1lXFByb3RvdHlwZU1hcC5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZp
bGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHJ1bnRpbWVcUHJvdG90eXBlTWFwLmgiCisJCQkJ
PgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHJ1bnRpbWVc
UHJvcGVydHlTdG9yYWdlLmgiCiAJCQkJPgogCQkJPC9GaWxlPgpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDE0MDIyNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkp
CkBAIC0zOTgsNiArMzk4LDggQEAKIAkJMTQ2QUFCMzgwQjY2QTk0NDAwRTU1RjE2IC8qIEpTU3Ry
aW5nUmVmQ0YuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMTQ2QUFCMzcwQjY2QTk0NDAwRTU1RjE2IC8qIEpTU3RyaW5nUmVmQ0YuY3BwICovOyB9Owog
CQkxNDZCMTZEODEyRUI1QjU5MDAxQkVDMUIgLyogQ29uc2VydmF0aXZlUm9vdHMuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQ2QjE0REIxMkVCNUIx
MjAwMUJFQzFCIC8qIENvbnNlcnZhdGl2ZVJvb3RzLmNwcCAqLzsgfTsKIAkJMTQ2RkU1MTIxMUE3
MTA0MzAwODdBRTY2IC8qIEpJVENhbGwzMl82NC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDZGRTUxMTExQTcxMDQzMDA4N0FFNjYgLyogSklUQ2Fs
bDMyXzY0LmNwcCAqLzsgfTsKKwkJMTQ3NEMzM0IxNkFBMkQ5NTAwNjJGMDFEIC8qIFByb3RvdHlw
ZU1hcC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTRE
ODQ0QTMxNkFBMkM3MDAwQTY1QUYwIC8qIFByb3RvdHlwZU1hcC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTE0NzRDMzNDMTZBQTJEOUIwMDYyRjAx
RCAvKiBQcm90b3R5cGVNYXAuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMTREODQ0QTIxNkFBMkM3MDAwQTY1QUYwIC8qIFByb3RvdHlwZU1hcC5jcHAg
Ki87IH07CiAJCTE0NzgyOTdCMTM3OUU4QTgwMEE3QzJBMyAvKiBIYW5kbGVUeXBlcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQ2RkE1QTgxMzc4RjZC
MDAwMzYyN0EzIC8qIEhhbmRsZVR5cGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJMTQ3QjgzQUMwRTZEQjhDOTAwNDc3NUE0IC8qIEJhdGNoZWRU
cmFuc2l0aW9uT3B0aW1pemVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxNDdCODNBQTBFNkRCOEM5MDA0Nzc1QTQgLyogQmF0Y2hlZFRyYW5zaXRpb25P
cHRpbWl6ZXIuaCAqLzsgfTsKIAkJMTQ3Qjg0NjMwRTZERTZCMTAwNDc3NUE0IC8qIFB1dFByb3Bl
cnR5U2xvdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MTQ3Qjg0NjIwRTZERTZCMTAwNDc3NUE0IC8qIFB1dFByb3BlcnR5U2xvdC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xMjc3LDYgKzEyNzksOCBA
QAogCQkxNEQyRjNEODEzOUY0QkUyMDA0OTEwMzEgLyogTWFya2VkU3BhY2UuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWFya2VkU3BhY2UuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkxNEQyRjNEOTEzOUY0QkUyMDA0OTEwMzEgLyogTWFya2VkU3Bh
Y2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWFya2VkU3BhY2UuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTRENzkyNjQwREFBMDNGQjAwMUE5RjA1IC8qIEpT
U3RhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTdGFjay5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNEQ4NDRBMjE2QUEyQzcwMDBBNjVBRjAgLyogUHJv
dG90eXBlTWFwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFByb3Rv
dHlwZU1hcC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0RDg0NEEzMTZBQTJD
NzAwMEE2NUFGMCAvKiBQcm90b3R5cGVNYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUHJvdG90eXBlTWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE0RDg1
Nzc0MEE0Njk2QzgwMDMyMTQ2QyAvKiB0ZXN0YXBpLmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5q
YXZhc2NyaXB0OyBuYW1lID0gdGVzdGFwaS5qczsgcGF0aCA9IEFQSS90ZXN0cy90ZXN0YXBpLmpz
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNERBODE4RTBEOTlGRDIwMDBCMEE0RkIg
LyogSlNBY3RpdmF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQWN0
aXZhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNERBODE4RjBEOTlGRDIw
MDBCMEE0RkIgLyogSlNBY3RpdmF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTQWN0aXZhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0yMzIxLDcgKzIzMjUsNiBAQAogCQkJCUY2OTJBODVDMDI1NTU5N0QwMUZGNjBGNyAvKiBGdW5j
dGlvblByb3RvdHlwZS5jcHAgKi8sCiAJCQkJRjY5MkE4NUQwMjU1NTk3RDAxRkY2MEY3IC8qIEZ1
bmN0aW9uUHJvdG90eXBlLmggKi8sCiAJCQkJQzJENThDMzMxNTkxMkZFRTAwMjFBODQ0IC8qIEdD
QWN0aXZpdHlDYWxsYmFjay5jcHAgKi8sCi0JCQkJQzJENThDMzMxNTkxMkZFRTAwMjFBODQ0IC8q
IEdDQWN0aXZpdHlDYWxsYmFjay5jcHAgKi8sCiAJCQkJRERGN0FCRDIxMUY2MEVEMjAwMTA4RTM2
IC8qIEdDQWN0aXZpdHlDYWxsYmFjay5oICovLAogCQkJCUJDMDJFOUI4MEUxODQ1NDUwMDBGOTI5
NyAvKiBHZXR0ZXJTZXR0ZXIuY3BwICovLAogCQkJCUJDMzM3QkRFMEUxQUYwQjgwMDc2OTE4QSAv
KiBHZXR0ZXJTZXR0ZXIuaCAqLywKQEAgLTI0MzksNiArMjQ0Miw4IEBACiAJCQkJNjU2MjFFNkMw
ODlFODU5NzAwNzYwRjM1IC8qIFByb3BlcnR5U2xvdC5oICovLAogCQkJCTBGQjdGMzkwMTVFRDhF
MzgwMEYxNjdCMiAvKiBQcm9wZXJ0eVN0b3JhZ2UuaCAqLywKIAkJCQk2NUMwMkZCQjA2Mzc0NjJB
MDAzRTdFRTYgLyogUHJvdGVjdC5oICovLAorCQkJCTE0RDg0NEEyMTZBQTJDNzAwMEE2NUFGMCAv
KiBQcm90b3R5cGVNYXAuY3BwICovLAorCQkJCTE0RDg0NEEzMTZBQTJDNzAwMEE2NUFGMCAvKiBQ
cm90b3R5cGVNYXAuaCAqLywKIAkJCQkwRjBDRDRDMDE1RjFBNjA0MDAzMkYxQzAgLyogUHV0RGly
ZWN0SW5kZXhNb2RlLmggKi8sCiAJCQkJMTQ3Qjg0NjIwRTZERTZCMTAwNDc3NUE0IC8qIFB1dFBy
b3BlcnR5U2xvdC5oICovLAogCQkJCUY2OTJBODdEMDI1NTU5N0QwMUZGNjBGNyAvKiBSZWdFeHAu
Y3BwICovLApAQCAtMjQ5MCw2ICsyNDk1LDcgQEAKIAkJCQkxNEJGQ0U2ODEwQ0RCMUZDMDAzNjRD
Q0UgLyogV2Vha0dDTWFwLmggKi8sCiAJCQkJMTQyMEJFN0ExMEFBNkREQjAwRjQ1NUQyIC8qIFdl
YWtSYW5kb20uaCAqLywKIAkJCQlBN0RDQjc3OTEyRTNEOTA1MDA5MTE5NDAgLyogV3JpdGVCYXJy
aWVyLmggKi8sCisJCQkJQzJENThDMzMxNTkxMkZFRTAwMjFBODQ0IC8qIEdDQWN0aXZpdHlDYWxs
YmFjay5jcHAgKi8sCiAJCQkpOwogCQkJcGF0aCA9IHJ1bnRpbWU7CiAJCQlzb3VyY2VUcmVlID0g
Ijxncm91cD4iOwpAQCAtMzI3Miw2ICszMjc4LDcgQEAKIAkJCQkwRjVFRjkxRjE2ODc4RjdEMDAz
RTVDMjUgLyogSklUVGh1bmtzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjU3MkQ0RjE2ODc5RkRE
MDBFNTdGQkQgLyogVGh1bmtHZW5lcmF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGOTc0OTcx
MTY4N0FERTQwMEE0RkY2QSAvKiBKU0NlbGxJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKKwkJCQkx
NDc0QzMzQjE2QUEyRDk1MDA2MkYwMUQgLyogUHJvdG90eXBlTWFwLmggaW4gSGVhZGVycyAqLywK
IAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsK
QEAgLTM4OTksNiArMzkwNiw3IEBACiAJCQkJODY3MDRCODYxMkRCQTMzNzAwQTlGRTdCIC8qIFlh
cnJKSVQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODY3MDRCODkxMkRCQTMzNzAwQTlGRTdCIC8q
IFlhcnJQYXR0ZXJuLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg2NzA0QjQyMTJEQjhBODEwMEE5
RkU3QiAvKiBZYXJyU3ludGF4Q2hlY2tlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNDc0QzMz
QzE2QUEyRDlCMDA2MkYwMUQgLyogUHJvdG90eXBlTWFwLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
KTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNw
cAkocmV2aXNpb24gMTQwMjI3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJy
YXlQcm90b3R5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzIsNyArMTMyLDcgQEAgdm9pZCBB
cnJheVByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oSlNHbAogICAgIEpTR2xvYmFsRGF0YSYgZ2xv
YmFsRGF0YSA9IGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpOwogICAgIEJhc2U6OmZpbmlzaENy
ZWF0aW9uKGdsb2JhbERhdGEpOwogICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZvKSk7Ci0gICAg
bm90aWZ5VXNlZEFzUHJvdG90eXBlKGdsb2JhbERhdGEpOworICAgIGdsb2JhbERhdGEucHJvdG90
eXBlTWFwLmFkZFByb3RvdHlwZSh0aGlzKTsKIH0KIAogYm9vbCBBcnJheVByb3RvdHlwZTo6Z2V0
T3duUHJvcGVydHlTbG90KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5h
bWUgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAkocmV2aXNpb24gMTQwMjI3KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTEwOCwxMSArMTA4LDEyIEBAIHZvaWQgSlNGdW5jdGlvbjo6ZmluaXNoQ3JlYXRpb24o
RXhlY1N0YXQKIAogU3RydWN0dXJlKiBKU0Z1bmN0aW9uOjpjYWNoZUluaGVyaXRvcklEKEV4ZWNT
dGF0ZSogZXhlYykKIHsKLSAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGdldChleGVjLCBleGVjLT5n
bG9iYWxEYXRhKCkucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKTsKKyAgICBKU0dsb2JhbERhdGEm
IGdsb2JhbERhdGEgPSBleGVjLT5nbG9iYWxEYXRhKCk7CisgICAgSlNWYWx1ZSBwcm90b3R5cGUg
PSBnZXQoZXhlYywgZ2xvYmFsRGF0YS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpOwogICAgIGlm
IChwcm90b3R5cGUuaXNPYmplY3QoKSkKLSAgICAgICAgbV9jYWNoZWRJbmhlcml0b3JJRC5zZXQo
ZXhlYy0+Z2xvYmFsRGF0YSgpLCB0aGlzLCBhc09iamVjdChwcm90b3R5cGUpLT5pbmhlcml0b3JJ
RChleGVjLT5nbG9iYWxEYXRhKCkpKTsKKyAgICAgICAgbV9jYWNoZWRJbmhlcml0b3JJRC5zZXQo
Z2xvYmFsRGF0YSwgdGhpcywgZ2xvYmFsRGF0YS5wcm90b3R5cGVNYXAuZW1wdHlPYmplY3RTdHJ1
Y3R1cmVGb3JQcm90b3R5cGUoYXNPYmplY3QocHJvdG90eXBlKSkpOwogICAgIGVsc2UKLSAgICAg
ICAgbV9jYWNoZWRJbmhlcml0b3JJRC5zZXQoZXhlYy0+Z2xvYmFsRGF0YSgpLCB0aGlzLCBnbG9i
YWxPYmplY3QoKS0+ZW1wdHlPYmplY3RTdHJ1Y3R1cmUoKSk7CisgICAgICAgIG1fY2FjaGVkSW5o
ZXJpdG9ySUQuc2V0KGdsb2JhbERhdGEsIHRoaXMsIGdsb2JhbERhdGEucHJvdG90eXBlTWFwLmVt
cHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKGdsb2JhbE9iamVjdCgpLT5vYmplY3RQcm90
b3R5cGUoKSkpOwogICAgIHJldHVybiBtX2NhY2hlZEluaGVyaXRvcklELmdldCgpOwogfQogCkBA
IC0xNjIsNiArMTYzLDcgQEAgdm9pZCBKU0Z1bmN0aW9uOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCog
YwogCiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fc2NvcGUpOwogICAgIHZpc2l0
b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2V4ZWN1dGFibGUpOworICAgIHZpc2l0b3IuYXBwZW5k
KCZ0aGlzT2JqZWN0LT5tX2NhY2hlZEluaGVyaXRvcklEKTsKIH0KIAogQ2FsbFR5cGUgSlNGdW5j
dGlvbjo6Z2V0Q2FsbERhdGEoSlNDZWxsKiBjZWxsLCBDYWxsRGF0YSYgY2FsbERhdGEpCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbERhdGEuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbERhdGEuaAkocmV2aXNp
b24gMTQwMjI3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxEYXRh
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlICJOdW1lcmljU3Ry
aW5ncy5oIgogI2luY2x1ZGUgIlByb2ZpbGVyRGF0YWJhc2UuaCIKICNpbmNsdWRlICJQcml2YXRl
TmFtZS5oIgorI2luY2x1ZGUgIlByb3RvdHlwZU1hcC5oIgogI2luY2x1ZGUgIlNtYWxsU3RyaW5n
cy5oIgogI2luY2x1ZGUgIlN0cm9uZy5oIgogI2luY2x1ZGUgIlRlcm1pbmF0b3IuaCIKQEAgLTI4
Niw3ICsyODcsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgYm9vbCBjYW5Vc2VSZWdFeHBK
SVQoKSB7IHJldHVybiBmYWxzZTsgfSAvLyBpbnRlcnByZXRlciBvbmx5CiAjZW5kaWYKIAotICAg
ICAgICBQcml2YXRlTmFtZSBtX2luaGVyaXRvcklES2V5OworICAgICAgICBQcm90b3R5cGVNYXAg
cHJvdG90eXBlTWFwOwogCiAgICAgICAgIE93blB0cjxQYXJzZXJBcmVuYT4gcGFyc2VyQXJlbmE7
CiAgICAgICAgIE93blB0cjxLZXl3b3Jkcz4ga2V5d29yZHM7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCShyZXZpc2lvbiAxNDAy
MjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTIyMyw4ICsyMjMsOCBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojpy
ZXNldChKU1ZhbHVlIHByb3RvCiAgICAgbV9zdHJpY3RFdmFsQWN0aXZhdGlvblN0cnVjdHVyZS5z
ZXQoZXhlYy0+Z2xvYmFsRGF0YSgpLCB0aGlzLCBTdHJpY3RFdmFsQWN0aXZhdGlvbjo6Y3JlYXRl
U3RydWN0dXJlKGV4ZWMtPmdsb2JhbERhdGEoKSwgdGhpcywganNOdWxsKCkpKTsKICAgICBtX3dp
dGhTY29wZVN0cnVjdHVyZS5zZXQoZXhlYy0+Z2xvYmFsRGF0YSgpLCB0aGlzLCBKU1dpdGhTY29w
ZTo6Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPmdsb2JhbERhdGEoKSwgdGhpcywganNOdWxsKCkpKTsK
IAotICAgIG1fZW1wdHlPYmplY3RTdHJ1Y3R1cmUuc2V0KGV4ZWMtPmdsb2JhbERhdGEoKSwgdGhp
cywgbV9vYmplY3RQcm90b3R5cGUtPmluaGVyaXRvcklEKGV4ZWMtPmdsb2JhbERhdGEoKSkpOwot
ICAgIG1fbnVsbFByb3RvdHlwZU9iamVjdFN0cnVjdHVyZS5zZXQoZXhlYy0+Z2xvYmFsRGF0YSgp
LCB0aGlzLCBjcmVhdGVFbXB0eU9iamVjdFN0cnVjdHVyZShleGVjLT5nbG9iYWxEYXRhKCksIHRo
aXMsIGpzTnVsbCgpKSk7CisgICAgbV9lbXB0eU9iamVjdFN0cnVjdHVyZS5zZXQoZXhlYy0+Z2xv
YmFsRGF0YSgpLCB0aGlzLCBnbG9iYWxEYXRhKCkucHJvdG90eXBlTWFwLmVtcHR5T2JqZWN0U3Ry
dWN0dXJlRm9yUHJvdG90eXBlKG1fb2JqZWN0UHJvdG90eXBlLmdldCgpKSk7CisgICAgbV9udWxs
UHJvdG90eXBlT2JqZWN0U3RydWN0dXJlLnNldChleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIEpT
RmluYWxPYmplY3Q6OmNyZWF0ZVN0cnVjdHVyZShnbG9iYWxEYXRhKCksIHRoaXMsIGpzTnVsbCgp
KSk7CiAKICAgICBtX2NhbGxiYWNrRnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KGV4ZWMtPmdsb2JhbERh
dGEoKSwgdGhpcywgSlNDYWxsYmFja0Z1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+Z2xv
YmFsRGF0YSgpLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7CiAgICAgbV9hcmd1
bWVudHNTdHJ1Y3R1cmUuc2V0KGV4ZWMtPmdsb2JhbERhdGEoKSwgdGhpcywgQXJndW1lbnRzOjpj
cmVhdGVTdHJ1Y3R1cmUoZXhlYy0+Z2xvYmFsRGF0YSgpLCB0aGlzLCBtX29iamVjdFByb3RvdHlw
ZS5nZXQoKSkpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3Qu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0
LmNwcAkocmV2aXNpb24gMTQwMjI3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OTYsNyArNTk2LDcgQEAgdm9pZCBKU09i
amVjdDo6bm90aWZ5UHJlc2VuY2VPZkluZGV4ZWRBYwogICAgIAogICAgIHNldFN0cnVjdHVyZShn
bG9iYWxEYXRhLCBTdHJ1Y3R1cmU6Om5vblByb3BlcnR5VHJhbnNpdGlvbihnbG9iYWxEYXRhLCBz
dHJ1Y3R1cmUoKSwgQWRkSW5kZXhlZEFjY2Vzc29ycykpOwogICAgIAotICAgIGlmICghbWF5QmVV
c2VkQXNQcm90b3R5cGUoZ2xvYmFsRGF0YSkpCisgICAgaWYgKCFnbG9iYWxEYXRhLnByb3RvdHlw
ZU1hcC5pc1Byb3RvdHlwZSh0aGlzKSkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIGdsb2Jh
bE9iamVjdCgpLT5oYXZlQUJhZFRpbWUoZ2xvYmFsRGF0YSk7CkBAIC0xMTQ5LDcgKzExNDksNyBA
QCB2b2lkIEpTT2JqZWN0OjpzZXRQcm90b3R5cGUoSlNHbG9iYWxEYXRhCiB7CiAgICAgQVNTRVJU
KHByb3RvdHlwZSk7CiAgICAgaWYgKHByb3RvdHlwZS5pc09iamVjdCgpKQotICAgICAgICBhc09i
amVjdChwcm90b3R5cGUpLT5ub3RpZnlVc2VkQXNQcm90b3R5cGUoZ2xvYmFsRGF0YSk7CisgICAg
ICAgIGdsb2JhbERhdGEucHJvdG90eXBlTWFwLmFkZFByb3RvdHlwZShhc09iamVjdChwcm90b3R5
cGUpKTsKICAgICAKICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y2hh
bmdlUHJvdG90eXBlVHJhbnNpdGlvbihnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUoKSwgcHJvdG90eXBl
KTsKICAgICBzZXRTdHJ1Y3R1cmUoZ2xvYmFsRGF0YSwgbmV3U3RydWN0dXJlKTsKQEAgLTExNTcs
NyArMTE1Nyw3IEBAIHZvaWQgSlNPYmplY3Q6OnNldFByb3RvdHlwZShKU0dsb2JhbERhdGEKICAg
ICBpZiAoIW5ld1N0cnVjdHVyZS0+YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRB
Y2Nlc3NlcygpKQogICAgICAgICByZXR1cm47CiAgICAgCi0gICAgaWYgKG1heUJlVXNlZEFzUHJv
dG90eXBlKGdsb2JhbERhdGEpKSB7CisgICAgaWYgKGdsb2JhbERhdGEucHJvdG90eXBlTWFwLmlz
UHJvdG90eXBlKHRoaXMpKSB7CiAgICAgICAgIG5ld1N0cnVjdHVyZS0+Z2xvYmFsT2JqZWN0KCkt
PmhhdmVBQmFkVGltZShnbG9iYWxEYXRhKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTEx
ODcsMjggKzExODcsNiBAQCBib29sIEpTT2JqZWN0OjpzZXRQcm90b3R5cGVXaXRoQ3ljbGVDaGVj
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgSlNPYmplY3Q6OnJlc2V0SW5oZXJpdG9ySUQo
SlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhKQotewotICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9
IHN0cnVjdHVyZSgpLT5nZXQoZ2xvYmFsRGF0YSwgZ2xvYmFsRGF0YS5tX2luaGVyaXRvcklES2V5
KTsKLSAgICBpZiAoIWlzVmFsaWRPZmZzZXQob2Zmc2V0KSkKLSAgICAgICAgcmV0dXJuOwotICAg
IAotICAgIHB1dERpcmVjdChnbG9iYWxEYXRhLCBvZmZzZXQsIGpzVW5kZWZpbmVkKCkpOwotfQot
Ci1TdHJ1Y3R1cmUqIEpTT2JqZWN0Ojppbmhlcml0b3JJRChKU0dsb2JhbERhdGEmIGdsb2JhbERh
dGEpCi17Ci0gICAgaWYgKEpTVmFsdWUgdmFsdWUgPSBnZXREaXJlY3QoZ2xvYmFsRGF0YSwgZ2xv
YmFsRGF0YS5tX2luaGVyaXRvcklES2V5KSkgewotICAgICAgICBpZiAodmFsdWUuaXNDZWxsKCkp
IHsKLSAgICAgICAgICAgIFN0cnVjdHVyZSogaW5oZXJpdG9ySUQgPSBqc0Nhc3Q8U3RydWN0dXJl
Kj4odmFsdWUpOwotICAgICAgICAgICAgQVNTRVJUKGluaGVyaXRvcklELT5pc0VtcHR5KCkpOwot
ICAgICAgICAgICAgcmV0dXJuIGluaGVyaXRvcklEOwotICAgICAgICB9Ci0gICAgICAgIEFTU0VS
VCh2YWx1ZS5pc1VuZGVmaW5lZCgpKTsKLSAgICB9Ci0gICAgcmV0dXJuIGNyZWF0ZUluaGVyaXRv
cklEKGdsb2JhbERhdGEpOwotfQotCiBib29sIEpTT2JqZWN0OjphbGxvd3NBY2Nlc3NGcm9tKEV4
ZWNTdGF0ZSogZXhlYykKIHsKICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gdGhp
cy0+Z2xvYmFsT2JqZWN0KCk7CkBAIC0xNjYzLDQyICsxNjQxLDYgQEAgTkVWRVJfSU5MSU5FIHZv
aWQgSlNPYmplY3Q6OmZpbGxHZXR0ZXJQcgogICAgICAgICBzbG90LnNldFVuZGVmaW5lZCgpOwog
fQogCi12b2lkIEpTT2JqZWN0Ojpub3RpZnlVc2VkQXNQcm90b3R5cGUoSlNHbG9iYWxEYXRhJiBn
bG9iYWxEYXRhKQotewotICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IHN0cnVjdHVyZSgpLT5n
ZXQoZ2xvYmFsRGF0YSwgZ2xvYmFsRGF0YS5tX2luaGVyaXRvcklES2V5KTsKLSAgICBpZiAoaXNW
YWxpZE9mZnNldChvZmZzZXQpKQotICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgUHV0UHJvcGVy
dHlTbG90IHNsb3Q7Ci0gICAgcHV0RGlyZWN0SW50ZXJuYWw8UHV0TW9kZURlZmluZU93blByb3Bl
cnR5PihnbG9iYWxEYXRhLCBnbG9iYWxEYXRhLm1faW5oZXJpdG9ySURLZXksIGpzVW5kZWZpbmVk
KCksIERvbnRFbnVtLCBzbG90LCAwKTsKLSAgICAKLSAgICAvLyBOb3RlIHRoYXQgdGhpcyBtZXRo
b2QgbWFrZXMgdGhlIHNvbWV3aGF0IG9kZCBkZWNpc2lvbiB0byBub3QgY2hlY2sgaWYgdGhpcwot
ICAgIC8vIG9iamVjdCBjdXJyZW50bHkgaGFzIGluZGV4ZWQgYWNjZXNzb3JzLiBXZSBjb3VsZCBk
byB0aGF0IGNoZWNrIGhlcmUsIGFuZCBpZgotICAgIC8vIGluZGV4ZWQgYWNjZXNzb3JzIHdlcmUg
Zm91bmQsIHdlIGNvdWxkIHRlbGwgdGhlIGdsb2JhbCBvYmplY3QgdG8gaGF2ZSBhIGJhZAotICAg
IC8vIHRpbWUuIEJ1dCB3ZSBhdm9pZCB0aGlzLCB0byBhbGxvdyB0aGUgZm9sbG93aW5nIHRvIGJl
IGFsd2F5cyBmYXN0OgotICAgIC8vCi0gICAgLy8gMSkgQ3JlYXRlIGFuIG9iamVjdC4KLSAgICAv
LyAyKSBHaXZlIGl0IGEgc2V0dGVyIG9yIHJlYWQtb25seSBwcm9wZXJ0eSB0aGF0IGhhcHBlbnMg
dG8gaGF2ZSBhIG51bWVyaWMgbmFtZS4KLSAgICAvLyAzKSBBbGxvY2F0ZSBvYmplY3RzIHRoYXQg
dXNlIHRoaXMgb2JqZWN0IGFzIGEgcHJvdG90eXBlLgotICAgIC8vCi0gICAgLy8gVGhpcyBhdm9p
ZHMgYW55b25lIGhhdmluZyBhIGJhZCB0aW1lLiBFdmVuIGlmIHRoZSBpbnN0YW5jZSBvYmplY3Rz
IGVuZCB1cAotICAgIC8vIGhhdmluZyBpbmRleGVkIHN0b3JhZ2UsIHRoZSBjcmVhdGlvbiBvZiBp
bmRleGVkIHN0b3JhZ2UgbGVhZHMgdG8gYSBwcm90b3R5cGUKLSAgICAvLyBjaGFpbiB3YWxrIHRo
YXQgZGV0ZWN0cyB0aGUgcHJlc2VuY2Ugb2YgaW5kZXhlZCBzZXR0ZXJzIGFuZCB0aGVuIGRvZXMg
dGhlCi0gICAgLy8gcmlnaHQgdGhpbmcuIEFzIGEgcmVzdWx0LCBoYXZpbmcgYSBiYWQgdGltZSBv
bmx5IGhhcHBlbnMgaWYgeW91IGFkZCBhbgotICAgIC8vIGluZGV4ZWQgc2V0dGVyIChvciBnZXR0
ZXIsIG9yIHJlYWQtb25seSBmaWVsZCkgdG8gYW4gb2JqZWN0IHRoYXQgaXMgYWxyZWFkeQotICAg
IC8vIHVzZWQgYXMgYSBwcm90b3R5cGUuCi19Ci0KLVN0cnVjdHVyZSogSlNPYmplY3Q6OmNyZWF0
ZUluaGVyaXRvcklEKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKLXsKLSAgICBTdHJ1Y3R1cmUq
IGluaGVyaXRvcklEID0gY3JlYXRlRW1wdHlPYmplY3RTdHJ1Y3R1cmUoZ2xvYmFsRGF0YSwgZ2xv
YmFsT2JqZWN0KCksIHRoaXMpOwotICAgIEFTU0VSVChpbmhlcml0b3JJRC0+aXNFbXB0eSgpKTsK
LQotICAgIFB1dFByb3BlcnR5U2xvdCBzbG90OwotICAgIHB1dERpcmVjdEludGVybmFsPFB1dE1v
ZGVEZWZpbmVPd25Qcm9wZXJ0eT4oZ2xvYmFsRGF0YSwgZ2xvYmFsRGF0YS5tX2luaGVyaXRvcklE
S2V5LCBpbmhlcml0b3JJRCwgRG9udEVudW0sIHNsb3QsIDApOwotICAgIHJldHVybiBpbmhlcml0
b3JJRDsKLX0KLQogdm9pZCBKU09iamVjdDo6cHV0SW5kZXhlZERlc2NyaXB0b3IoRXhlY1N0YXRl
KiBleGVjLCBTcGFyc2VBcnJheUVudHJ5KiBlbnRyeUluTWFwLCBQcm9wZXJ0eURlc2NyaXB0b3Im
IGRlc2NyaXB0b3IsIFByb3BlcnR5RGVzY3JpcHRvciYgb2xkRGVzY3JpcHRvcikKIHsKICAgICBp
ZiAoZGVzY3JpcHRvci5pc0RhdGFEZXNjcmlwdG9yKCkpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAkocmV2aXNpb24gMTQwMjI3KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAtMTI0LDE0
ICsxMjQsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRQcm90b3R5cGUoSlNHbG9iYWxEYXRhJiwg
SlNWYWx1ZSBwcm90b3R5cGUpOwogICAgIGJvb2wgc2V0UHJvdG90eXBlV2l0aEN5Y2xlQ2hlY2so
SlNHbG9iYWxEYXRhJiwgSlNWYWx1ZSBwcm90b3R5cGUpOwogICAgICAgICAKLSAgICBTdHJ1Y3R1
cmUqIGluaGVyaXRvcklEKEpTR2xvYmFsRGF0YSYpOwotICAgIHZvaWQgbm90aWZ5VXNlZEFzUHJv
dG90eXBlKEpTR2xvYmFsRGF0YSYpOwotICAgICAgICAKLSAgICBib29sIG1heUJlVXNlZEFzUHJv
dG90eXBlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBp
c1ZhbGlkT2Zmc2V0KHN0cnVjdHVyZSgpLT5nZXQoZ2xvYmFsRGF0YSwgZ2xvYmFsRGF0YS5tX2lu
aGVyaXRvcklES2V5KSk7Ci0gICAgfQotICAgICAgICAKICAgICBib29sIG1heUludGVyY2VwdElu
ZGV4ZWRBY2Nlc3NlcygpCiAgICAgewogICAgICAgICByZXR1cm4gc3RydWN0dXJlKCktPm1heUlu
dGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpOwpAQCAtNzE4LDggKzcxMCw2IEBAIHByb3RlY3RlZDoK
ICAgICAvLyBUbyBjcmVhdGUgZGVyaXZlZCB0eXBlcyB5b3UgbGlrZWx5IHdhbnQgSlNOb25GaW5h
bE9iamVjdCwgYmVsb3cuCiAgICAgSlNPYmplY3QoSlNHbG9iYWxEYXRhJiwgU3RydWN0dXJlKiwg
QnV0dGVyZmx5KiA9IDApOwogICAgICAgICAKLSAgICB2b2lkIHJlc2V0SW5oZXJpdG9ySUQoSlNH
bG9iYWxEYXRhJik7Ci0gICAgICAgIAogICAgIHZvaWQgdmlzaXRCdXR0ZXJmbHkoU2xvdFZpc2l0
b3ImLCBCdXR0ZXJmbHkqLCBzaXplX3Qgc3RvcmFnZVNpemUpOwogICAgIHZvaWQgY29weUJ1dHRl
cmZseShDb3B5VmlzaXRvciYsIEJ1dHRlcmZseSosIHNpemVfdCBzdG9yYWdlU2l6ZSk7CiAKQEAg
LTkzNCw3ICs5MjQsNiBAQCBwcml2YXRlOgogICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgZmls
bEdldHRlclByb3BlcnR5U2xvdChQcm9wZXJ0eVNsb3QmLCBQcm9wZXJ0eU9mZnNldCk7CiAKICAg
ICBjb25zdCBIYXNoRW50cnkqIGZpbmRQcm9wZXJ0eUhhc2hFbnRyeShFeGVjU3RhdGUqLCBQcm9w
ZXJ0eU5hbWUpIGNvbnN0OwotICAgIFN0cnVjdHVyZSogY3JlYXRlSW5oZXJpdG9ySUQoSlNHbG9i
YWxEYXRhJik7CiAgICAgICAgIAogICAgIHZvaWQgcHV0SW5kZXhlZERlc2NyaXB0b3IoRXhlY1N0
YXRlKiwgU3BhcnNlQXJyYXlFbnRyeSosIFByb3BlcnR5RGVzY3JpcHRvciYsIFByb3BlcnR5RGVz
Y3JpcHRvciYgb2xkKTsKICAgICAgICAgCkBAIC0xMTI1LDExICsxMTE0LDYgQEAgaW5saW5lIENv
bnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShKUwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAK
LWlubGluZSBTdHJ1Y3R1cmUqIGNyZWF0ZUVtcHR5T2JqZWN0U3RydWN0dXJlKEpTR2xvYmFsRGF0
YSYgZ2xvYmFsRGF0YSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90
b3R5cGUpCi17Ci0gICAgcmV0dXJuIEpTRmluYWxPYmplY3Q6OmNyZWF0ZVN0cnVjdHVyZShnbG9i
YWxEYXRhLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSk7Ci19Ci0KIGlubGluZSBKU09iamVjdCog
YXNPYmplY3QoSlNDZWxsKiBjZWxsKQogewogICAgIEFTU0VSVChjZWxsLT5pc09iamVjdCgpKTsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJveHkuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJveHkuY3BwCShyZXZpc2lv
biAxNDAyMjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3h5LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTIsNyArNTIsNyBAQCB2b2lkIEpTUHJveHk6OnNldFRhcmdldChK
U0dsb2JhbERhdGEmIGdsCiAgICAgQVNTRVJUX0FSRyhnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVj
dCk7CiAgICAgbV90YXJnZXQuc2V0KGdsb2JhbERhdGEsIHRoaXMsIGdsb2JhbE9iamVjdCk7CiAg
ICAgc2V0UHJvdG90eXBlKGdsb2JhbERhdGEsIGdsb2JhbE9iamVjdC0+cHJvdG90eXBlKCkpOwot
ICAgIHJlc2V0SW5oZXJpdG9ySUQoZ2xvYmFsRGF0YSk7CisgICAgZ2xvYmFsRGF0YS5wcm90b3R5
cGVNYXAuY2xlYXJFbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZSh0aGlzKTsKIH0KIAog
U3RyaW5nIEpTUHJveHk6OmNsYXNzTmFtZShjb25zdCBKU09iamVjdCogb2JqZWN0KQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9y
LmNwcAkocmV2aXNpb24gMTQwMjI3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
T2JqZWN0Q29uc3RydWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNTAsNyArMzUwLDkgQEAg
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBvYmplY3RDb25zdAogICAgIGlmICghZXhlYy0+
YXJndW1lbnQoMCkuaXNPYmplY3QoKSAmJiAhZXhlYy0+YXJndW1lbnQoMCkuaXNOdWxsKCkpCiAg
ICAgICAgIHJldHVybiB0aHJvd1ZNRXJyb3IoZXhlYywgY3JlYXRlVHlwZUVycm9yKGV4ZWMsIEFT
Q0lJTGl0ZXJhbCgiT2JqZWN0IHByb3RvdHlwZSBtYXkgb25seSBiZSBhbiBPYmplY3Qgb3IgbnVs
bC4iKSkpOwogICAgIEpTVmFsdWUgcHJvdG8gPSBleGVjLT5hcmd1bWVudCgwKTsKLSAgICBKU09i
amVjdCogbmV3T2JqZWN0ID0gcHJvdG8uaXNPYmplY3QoKSA/IGNvbnN0cnVjdEVtcHR5T2JqZWN0
KGV4ZWMsIGFzT2JqZWN0KHByb3RvKS0+aW5oZXJpdG9ySUQoZXhlYy0+Z2xvYmFsRGF0YSgpKSkg
OiBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkt
Pm51bGxQcm90b3R5cGVPYmplY3RTdHJ1Y3R1cmUoKSk7CisgICAgSlNPYmplY3QqIG5ld09iamVj
dCA9IHByb3RvLmlzT2JqZWN0KCkKKyAgICAgICAgPyBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVj
LCBleGVjLT5nbG9iYWxEYXRhKCkucHJvdG90eXBlTWFwLmVtcHR5T2JqZWN0U3RydWN0dXJlRm9y
UHJvdG90eXBlKGFzT2JqZWN0KHByb3RvKSkpCisgICAgICAgIDogY29uc3RydWN0RW1wdHlPYmpl
Y3QoZXhlYywgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5udWxsUHJvdG90eXBlT2JqZWN0
U3RydWN0dXJlKCkpOwogICAgIGlmIChleGVjLT5hcmd1bWVudCgxKS5pc1VuZGVmaW5lZCgpKQog
ICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKG5ld09iamVjdCk7CiAgICAgaWYgKCFleGVj
LT5hcmd1bWVudCgxKS5pc09iamVjdCgpKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvT2JqZWN0UHJvdG90eXBlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9PYmplY3RQcm90b3R5cGUuY3BwCShyZXZpc2lvbiAxNDAyMjcpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RQcm90b3R5cGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC03Myw3ICs3Myw3IEBAIHZvaWQgT2JqZWN0UHJvdG90eXBlOjpmaW5pc2hDcmVh
dGlvbihKU0cKIHsKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhKTsKICAgICBB
U1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwotICAgIG5vdGlmeVVzZWRBc1Byb3RvdHlwZShnbG9i
YWxEYXRhKTsKKyAgICBnbG9iYWxEYXRhLnByb3RvdHlwZU1hcC5hZGRQcm90b3R5cGUodGhpcyk7
CiB9CiAKIGJvb2wgT2JqZWN0UHJvdG90eXBlOjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiBj
ZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5
U2xvdCAmc2xvdCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlw
ZU1hcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJv
dG90eXBlTWFwLmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1Byb3RvdHlwZU1hcC5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNjkgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIlByb3RvdHlwZU1hcC5oIgorCisjaW5jbHVkZSAiSlNHbG9iYWxPYmpl
Y3QuaCIKKyNpbmNsdWRlICJPcGVyYXRpb25zLmgiCisKK25hbWVzcGFjZSBKU0MgeworCit2b2lk
IFByb3RvdHlwZU1hcDo6YWRkUHJvdG90eXBlKEpTT2JqZWN0KiBvYmplY3QpCit7CisgICAgbV9w
cm90b3R5cGVzLmFkZChvYmplY3QsIG9iamVjdCk7CisKKyAgICAvLyBOb3RlIHRoYXQgdGhpcyBt
ZXRob2QgbWFrZXMgdGhlIHNvbWV3aGF0IG9kZCBkZWNpc2lvbiB0byBub3QgY2hlY2sgaWYgdGhp
cworICAgIC8vIG9iamVjdCBjdXJyZW50bHkgaGFzIGluZGV4ZWQgYWNjZXNzb3JzLiBXZSBjb3Vs
ZCBkbyB0aGF0IGNoZWNrIGhlcmUsIGFuZCBpZgorICAgIC8vIGluZGV4ZWQgYWNjZXNzb3JzIHdl
cmUgZm91bmQsIHdlIGNvdWxkIHRlbGwgdGhlIGdsb2JhbCBvYmplY3QgdG8gaGF2ZSBhIGJhZAor
ICAgIC8vIHRpbWUuIEJ1dCB3ZSBhdm9pZCB0aGlzLCB0byBhbGxvdyB0aGUgZm9sbG93aW5nIHRv
IGJlIGFsd2F5cyBmYXN0OgorICAgIC8vCisgICAgLy8gMSkgQ3JlYXRlIGFuIG9iamVjdC4KKyAg
ICAvLyAyKSBHaXZlIGl0IGEgc2V0dGVyIG9yIHJlYWQtb25seSBwcm9wZXJ0eSB0aGF0IGhhcHBl
bnMgdG8gaGF2ZSBhIG51bWVyaWMgbmFtZS4KKyAgICAvLyAzKSBBbGxvY2F0ZSBvYmplY3RzIHRo
YXQgdXNlIHRoaXMgb2JqZWN0IGFzIGEgcHJvdG90eXBlLgorICAgIC8vCisgICAgLy8gVGhpcyBh
dm9pZHMgYW55b25lIGhhdmluZyBhIGJhZCB0aW1lLiBFdmVuIGlmIHRoZSBpbnN0YW5jZSBvYmpl
Y3RzIGVuZCB1cAorICAgIC8vIGhhdmluZyBpbmRleGVkIHN0b3JhZ2UsIHRoZSBjcmVhdGlvbiBv
ZiBpbmRleGVkIHN0b3JhZ2UgbGVhZHMgdG8gYSBwcm90b3R5cGUKKyAgICAvLyBjaGFpbiB3YWxr
IHRoYXQgZGV0ZWN0cyB0aGUgcHJlc2VuY2Ugb2YgaW5kZXhlZCBzZXR0ZXJzIGFuZCB0aGVuIGRv
ZXMgdGhlCisgICAgLy8gcmlnaHQgdGhpbmcuIEFzIGEgcmVzdWx0LCBoYXZpbmcgYSBiYWQgdGlt
ZSBvbmx5IGhhcHBlbnMgaWYgeW91IGFkZCBhbgorICAgIC8vIGluZGV4ZWQgc2V0dGVyIChvciBn
ZXR0ZXIsIG9yIHJlYWQtb25seSBmaWVsZCkgdG8gYW4gb2JqZWN0IHRoYXQgaXMgYWxyZWFkeQor
ICAgIC8vIHVzZWQgYXMgYSBwcm90b3R5cGUuCit9CisKK1N0cnVjdHVyZSogUHJvdG90eXBlTWFw
OjplbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU09iamVjdCogb2JqZWN0KQorewor
ICAgIFdlYWtHQ01hcDxKU09iamVjdCosIFN0cnVjdHVyZT46OkFkZFJlc3VsdCBhZGRSZXN1bHQg
PSBtX3N0cnVjdHVyZXMuYWRkKG9iamVjdCwgbnVsbHB0cik7CisgICAgaWYgKCFhZGRSZXN1bHQu
aXNOZXdFbnRyeSkgeworICAgICAgICBBU1NFUlQoaXNQcm90b3R5cGUob2JqZWN0KSk7CisgICAg
ICAgIHJldHVybiBhZGRSZXN1bHQuaXRlcmF0b3ItPnZhbHVlLmdldCgpOworICAgIH0KKworICAg
IGFkZFByb3RvdHlwZShvYmplY3QpOworICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gSlNGaW5h
bE9iamVjdDo6Y3JlYXRlU3RydWN0dXJlKG9iamVjdC0+Z2xvYmFsT2JqZWN0KCktPmdsb2JhbERh
dGEoKSwgb2JqZWN0LT5nbG9iYWxPYmplY3QoKSwgb2JqZWN0KTsKKyAgICBhZGRSZXN1bHQuaXRl
cmF0b3ItPnZhbHVlID0gc3RydWN0dXJlOworICAgIHJldHVybiBzdHJ1Y3R1cmU7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJv
dG90eXBlTWFwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
UHJvdG90eXBlTWFwLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Qcm90b3R5cGVNYXAuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIFByb3RvdHlw
ZU1hcF9oCisjZGVmaW5lIFByb3RvdHlwZU1hcF9oCisKKyNpbmNsdWRlICJXZWFrR0NNYXAuaCIK
KworbmFtZXNwYWNlIEpTQyB7CisKK2NsYXNzIEpTT2JqZWN0OworY2xhc3MgU3RydWN0dXJlOwor
CitjbGFzcyBQcm90b3R5cGVNYXAgeworcHVibGljOgorICAgIEpTX0VYUE9SVF9QUklWQVRFIFN0
cnVjdHVyZSogZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNPYmplY3QqKTsKKyAg
ICB2b2lkIGNsZWFyRW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNPYmplY3QqKTsK
KyAgICB2b2lkIGFkZFByb3RvdHlwZShKU09iamVjdCopOworICAgIGJvb2wgaXNQcm90b3R5cGUo
SlNPYmplY3QqKTsgLy8gUmV0dXJucyBhIGNvbnNlcnZhdGl2ZSBlc3RpbWF0ZS4KKworcHJpdmF0
ZToKKyAgICBXZWFrR0NNYXA8SlNPYmplY3QqLCBKU09iamVjdD4gbV9wcm90b3R5cGVzOworICAg
IFdlYWtHQ01hcDxKU09iamVjdCosIFN0cnVjdHVyZT4gbV9zdHJ1Y3R1cmVzOworfTsKKworaW5s
aW5lIGJvb2wgUHJvdG90eXBlTWFwOjppc1Byb3RvdHlwZShKU09iamVjdCogb2JqZWN0KQorewor
ICAgIHJldHVybiBtX3Byb3RvdHlwZXMuY29udGFpbnMob2JqZWN0KTsKK30KKworaW5saW5lIHZv
aWQgUHJvdG90eXBlTWFwOjpjbGVhckVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpT
T2JqZWN0KiBvYmplY3QpCit7CisgICAgbV9zdHJ1Y3R1cmVzLnJlbW92ZShvYmplY3QpOworfQor
Cit9IC8vIG5hbWVzcGFjZSBKU0MKKworI2VuZGlmIC8vIFByb3RvdHlwZU1hcF9oCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NNYXAuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NNYXAuaAkocmV2aXNpb24gMTQwMjI3
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDTWFwLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTg4LDEzICs4OCwxMyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBjb25zdF9j
YXN0PFNlbGYqPih0aGlzKS0+ZmluZChrZXkpOwogICAgIH0KIAotICAgIHRlbXBsYXRlPHR5cGVu
YW1lIFQsIHR5cGVuYW1lIEhhc2hUcmFuc2xhdG9yPiBib29sIGNvbnRhaW5zKGNvbnN0IFQmIGtl
eSkgY29uc3QKKyAgICBib29sIGNvbnRhaW5zKGNvbnN0IEtleVR5cGUmIGtleSkgY29uc3QKICAg
ICB7CiAgICAgICAgIHJldHVybiBmaW5kKGtleSkgIT0gZW5kKCk7CiAgICAgfQogCiBwcml2YXRl
OgotICAgIHN0YXRpYyBjb25zdCBpbnQgbWluR0NUaHJlc2hvbGQ7CisgICAgc3RhdGljIGNvbnN0
IGludCBtaW5HQ1RocmVzaG9sZCA9IDM7CiAKICAgICB2b2lkIGdjTWFwKCkKICAgICB7CkBAIC0x
MjEsNyArMTIxLDcgQEAgcHJpdmF0ZToKIH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIEtleUFyZywg
dHlwZW5hbWUgUmF3TWFwcGVkQXJnLCB0eXBlbmFtZSBIYXNoQXJnLCB0eXBlbmFtZSBLZXlUcmFp
dHNBcmc+Ci1jb25zdCBpbnQgV2Vha0dDTWFwPEtleUFyZywgUmF3TWFwcGVkQXJnLCBIYXNoQXJn
LCBLZXlUcmFpdHNBcmc+OjptaW5HQ1RocmVzaG9sZCA9IDM7Citjb25zdCBpbnQgV2Vha0dDTWFw
PEtleUFyZywgUmF3TWFwcGVkQXJnLCBIYXNoQXJnLCBLZXlUcmFpdHNBcmc+OjptaW5HQ1RocmVz
aG9sZDsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAK
</data>
<flag name="review"
          id="202073"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>183633</attachid>
            <date>2013-01-19 13:28:10 -0800</date>
            <delta_ts>2013-01-19 13:28:10 -0800</delta_ts>
            <desc>performance</desc>
            <filename>SunSpiderV8SpiderOctaneKrakenJSRegress_garen_20130119_1254_report.txt</filename>
            <type>text/plain</type>
            <size>19529</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">QmVuY2htYXJrIHJlcG9ydCBmb3IgU3VuU3BpZGVyLCBWOFNwaWRlciwgT2N0YW5lLCBLcmFrZW4s
IGFuZCBKU1JlZ3Jlc3Mgb24gZ2FyZW4gKE1hY1BybzUsMSkuCgpWTXMgdGVzdGVkOgoiQkFTRSIg
YXQgL1ZvbHVtZXMvQmlnL2dnYXJlbi9iYXNlbGluZS13ZWJraXQvV2ViS2l0QnVpbGQvUmVsZWFz
ZS9qc2MgKHIxNDAyMjcpCiJDb25mIzIiIGF0IC9Wb2x1bWVzL0JpZy9nZ2FyZW4vd2Via2l0L1dl
YktpdEJ1aWxkL1JlbGVhc2UvanNjIChyMTQwMjI3KQoKQ29sbGVjdGVkIDEyIHNhbXBsZXMgcGVy
IGJlbmNobWFyay9WTSwgd2l0aCA0IFZNIGludm9jYXRpb25zIHBlciBiZW5jaG1hcmsuIEVtaXR0
ZWQgYSBjYWxsIHRvIGdjKCkgYmV0d2VlbiBzYW1wbGUKbWVhc3VyZW1lbnRzLiBVc2VkIDEgYmVu
Y2htYXJrIGl0ZXJhdGlvbiBwZXIgVk0gaW52b2NhdGlvbiBmb3Igd2FybS11cC4gVXNlZCB0aGUg
anNjLXNwZWNpZmljIHByZWNpc2VUaW1lKCkgZnVuY3Rpb24gdG8gZ2V0Cm1pY3Jvc2Vjb25kLWxl
dmVsIHRpbWluZy4gUmVwb3J0aW5nIGJlbmNobWFyayBleGVjdXRpb24gdGltZXMgd2l0aCA5NSUg
Y29uZmlkZW5jZSBpbnRlcnZhbHMgaW4gbWlsbGlzZWNvbmRzLgoKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCQVNFICAgICAgICAgICAgICAg
ICAgICAgQ29uZiMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKU3VuU3Bp
ZGVyOgogICAzZC1jdWJlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA5
LjM0NTArLTAuMTMyNyAgICAgICAgICAgIDkuMzEyNSstMC4xMTUzICAgICAgICAKICAgM2QtbW9y
cGggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOS4xNzAwKy0wLjE0MjUg
ICAgICAgICAgICA5LjEyMjIrLTAuMTI0MCAgICAgICAgCiAgIDNkLXJheXRyYWNlICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAuMTk5OSstMC4xNjA3ICAgICAgICAgICAxMC4x
MzcxKy0wLjE1ODcgICAgICAgIAogICBhY2Nlc3MtYmluYXJ5LXRyZWVzICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAxLjg0MzIrLTAuMDA1NiAgICAgICAgICAgIDEuODQyMystMC4wMDUzICAg
ICAgICAKICAgYWNjZXNzLWZhbm5rdWNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ny43Mjk5Ky0wLjEzODMgICAgID8gICAgICA3Ljc0NDMrLTAuMTQyOCAgICAgICAgPwogICBhY2Nl
c3MtbmJvZHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjY1MjQrLTAuMDQx
MSAgICAgPyAgICAgIDQuNzExNistMC4wNjUxICAgICAgICA/IG1pZ2h0IGJlIDEuMDEyN3ggc2xv
d2VyCiAgIGFjY2Vzcy1uc2lldmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQu
NzkwMistMC4wNjg0ICAgICA/ICAgICAgNC43OTIzKy0wLjA2NzEgICAgICAgID8KICAgYml0b3Bz
LTNiaXQtYml0cy1pbi1ieXRlICAgICAgICAgICAgICAgICAgICAgICAgMS43MDY2Ky0wLjAwOTgg
ICAgID8gICAgICAxLjcwOTIrLTAuMDA5MSAgICAgICAgPwogICBiaXRvcHMtYml0cy1pbi1ieXRl
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2LjYwNjUrLTAuMDgzOSAgICAgICAgICAgIDYu
NTY0MystMC4xMDE5ICAgICAgICAKICAgYml0b3BzLWJpdHdpc2UtYW5kICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgMi40NDc1Ky0wLjA3NjQgICAgICAgICAgICAyLjM3NjQrLTAuMDk2MCAg
ICAgICAgICBtaWdodCBiZSAxLjAyOTl4IGZhc3RlcgogICBiaXRvcHMtbnNpZXZlLWJpdHMgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA0LjEwNzArLTAuMDE0NyAgICAgICAgICAgIDQuMDky
OSstMC4wNDQ5ICAgICAgICAKICAgY29udHJvbGZsb3ctcmVjdXJzaXZlICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMi44OTE1Ky0wLjEwMjAgICAgICAgICAgICAyLjg4ODIrLTAuMTAwOCAgICAg
ICAgCiAgIGNyeXB0by1hZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcu
OTY2OSstMC4xMTEyICAgICAgICAgICAgNy45NTk3Ky0wLjE1NTEgICAgICAgIAogICBjcnlwdG8t
bWQ1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzLjg4NjMrLTAuMDcyOCAg
ICAgICAgICAgIDMuODYwOSstMC4wMjI3ICAgICAgICAKICAgY3J5cHRvLXNoYTEgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgMy4xNDgzKy0wLjAxNDggICAgID8gICAgICAzLjE0
ODQrLTAuMDEzNCAgICAgICAgPwogICBkYXRlLWZvcm1hdC10b2Z0ZSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDE0LjUyOTArLTAuMTkzMyAgICAgPyAgICAgMTQuNjI2MCstMC4yMjA4ICAg
ICAgICA/CiAgIGRhdGUtZm9ybWF0LXhwYXJiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MTQuNjE4OCstMC4yMDY1ICAgICAhICAgICAxNS4zOTI5Ky0wLjI0MTIgICAgICAgICEgZGVmaW5p
dGVseSAxLjA1MzB4IHNsb3dlcgogICBtYXRoLWNvcmRpYyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAzLjc0MDgrLTAuMDIwMiAgICAgICAgICAgIDMuNzI3OCstMC4wNDE1ICAg
ICAgICAKICAgbWF0aC1wYXJ0aWFsLXN1bXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAx
MS44ODg4Ky0wLjEzMzIgICAgICAgICAgIDExLjg3MzkrLTAuMTE3MyAgICAgICAgCiAgIG1hdGgt
c3BlY3RyYWwtbm9ybSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMuMDY3OCstMC4wMTE2
ICAgICAgICAgICAgMy4wNjMyKy0wLjAwODMgICAgICAgIAogICByZWdleHAtZG5hICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA5LjY5OTIrLTAuMTMwMSAgICAgICAgICAgIDku
Njg4NistMC4wOTUyICAgICAgICAKICAgc3RyaW5nLWJhc2U2NCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgNS4wOTk0Ky0wLjA3NDIgICAgICAgICAgICA1LjA2NjkrLTAuMDcyNiAg
ICAgICAgCiAgIHN0cmluZy1mYXN0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDkuNjQyNistMC4xMzEyICAgICA/ICAgICAgOS43OTg3Ky0wLjE2MDQgICAgICAgID8gbWlnaHQg
YmUgMS4wMTYyeCBzbG93ZXIKICAgc3RyaW5nLXRhZ2Nsb3VkICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAxNC4zMDk3Ky0wLjI0NDkgICAgICAgICAgIDE0LjE4NzkrLTAuMjA3MSAgICAg
ICAgCiAgIHN0cmluZy11bnBhY2stY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjQu
NTM2MCstMC4xMzI1ICAgICAhICAgICAyNC45NDk3Ky0wLjEzOTcgICAgICAgICEgZGVmaW5pdGVs
eSAxLjAxNjl4IHNsb3dlcgogICBzdHJpbmctdmFsaWRhdGUtaW5wdXQgICAgICAgICAgICAgICAg
ICAgICAgICAgICA3LjY4OTUrLTAuMDk5OCAgICAgPyAgICAgIDcuNzE4OSstMC4xOTQ1ICAgICAg
ICA/CgogICA8YXJpdGhtZXRpYz4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3
LjY2NTkrLTAuMDU1MiAgICAgPyAgICAgIDcuNzA2MCstMC4wNTcwICAgICAgICA/IG1pZ2h0IGJl
IDEuMDA1Mnggc2xvd2VyCiAgIDxnZW9tZXRyaWM+ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDYuMTUzNCstMC4wMzAwICAgICA/ICAgICAgNi4xNTkxKy0wLjAzMDAgICAgICAg
ID8gbWlnaHQgYmUgMS4wMDA5eCBzbG93ZXIKICAgPGhhcm1vbmljPiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgNC44OTk2Ky0wLjAyMDcgICAgICAgICAgICA0Ljg4ODkrLTAu
MDIxMiAgICAgICAgICBtaWdodCBiZSAxLjAwMjJ4IGZhc3RlcgoKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCQVNFICAgICAgICAgICAgICAg
ICAgICAgQ29uZiMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKVjhTcGlk
ZXI6CiAgIGNyeXB0byAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgODAu
MjAzMCstMC4yNzY1ICAgICAgICAgICA3OS45NjkyKy0wLjM0NzUgICAgICAgIAogICBkZWx0YWJs
dWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTI3LjMyOTgrLTAuODE5NiAg
ICAgPyAgICAxMjguMTk4MCstMC43OTc3ICAgICAgICA/CiAgIGVhcmxleS1ib3llciAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgOTAuMjk4NistMC4yNTQ1ICAgICAgICAgICA5MC4x
MDM5Ky0wLjM0MDggICAgICAgIAogICByYXl0cmFjZSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDY0LjI3ODMrLTAuMjk1NCAgICAgPyAgICAgNjQuNTA5NystMC4zMzA4ICAg
ICAgICA/CiAgIHJlZ2V4cCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
OTYuOTY3OSstMC4zMjM2ICAgICA/ICAgICA5Ny4zODk2Ky0wLjM4MjcgICAgICAgID8KICAgcmlj
aGFyZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwOS42NjIyKy0wLjE0
MDAgICAgIF4gICAgMTA5LjM3MjMrLTAuMTEwMSAgICAgICAgXiBkZWZpbml0ZWx5IDEuMDAyN3gg
ZmFzdGVyCiAgIHNwbGF5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
NzEuNDI1NCstMC40NzI0ICAgICAgICAgICA3MS4wMzkwKy0wLjQxNzggICAgICAgIAoKICAgPGFy
aXRobWV0aWM+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA5MS40NTIyKy0wLjE3
NTAgICAgID8gICAgIDkxLjUxMTcrLTAuMTc5NiAgICAgICAgPyBtaWdodCBiZSAxLjAwMDd4IHNs
b3dlcgogICA8Z2VvbWV0cmljPiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDg5
LjIyMzMrLTAuMTc4OSAgICAgPyAgICAgODkuMjQzMystMC4xNjg1ICAgICAgICA/IG1pZ2h0IGJl
IDEuMDAwMnggc2xvd2VyCiAgIDxoYXJtb25pYz4gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgODcuMDc2OSstMC4xOTUwICAgICAgICAgICA4Ny4wNjg3Ky0wLjE3MDEgICAgICAg
ICAgbWlnaHQgYmUgMS4wMDAxeCBmYXN0ZXIKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgQkFTRSAgICAgICAgICAgICAgICAgICAgIENvbmYj
MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCk9jdGFuZSBhbmQgVjh2NzoK
ICAgZW5jcnlwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjQyMTUy
Ky0wLjAwMTQ4ICAgICEgICAgIDAuNDI0OTQrLTAuMDAwNTEgICAgICAgISBkZWZpbml0ZWx5IDEu
MDA4MXggc2xvd2VyCiAgIGRlY3J5cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgNy42NzQxNystMC4wMDkyNiAgICA/ICAgICA3LjY4NDQxKy0wLjAyMjAxICAgICAgID8K
ICAgZGVsdGFibHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4MiAgICAgICAwLjU2MDEx
Ky0wLjAwMTYwICAgID8gICAgIDAuNTYzNDIrLTAuMDAzMTQgICAgICAgPwogICBlYXJsZXkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuOTIxOTErLTAuMDA0NzQgICAg
XiAgICAgMC45MTI0NCstMC4wMDE3MSAgICAgICBeIGRlZmluaXRlbHkgMS4wMTA0eCBmYXN0ZXIK
ICAgYm95ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE0LjQ3MzA0
Ky0wLjExOTQzICAgID8gICAgMTQuNDk1OTUrLTAuMTMxMzUgICAgICAgPwogICByYXl0cmFjZSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgyICAgICAgIDQuNDgyNjgrLTAuMDExMjUgICAg
PyAgICAgNC40OTQ1OSstMC4wMDczNyAgICAgICA/CiAgIHJlZ2V4cCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgeDIgICAgICAyOS4yMDIyOCstMC4xMTYzNiAgICA/ICAgIDI5LjI1OTMw
Ky0wLjEwNTczICAgICAgID8KICAgcmljaGFyZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB4MiAgICAgICAwLjI4MDc5Ky0wLjAwMDEzICAgICAgICAgIDAuMjgwNzArLTAuMDAwMTIgICAg
ICAgCiAgIHNwbGF5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeDIgICAgICAgMC43
NTI4NystMC4wMDMxMiAgICBeICAgICAwLjc0MDg2Ky0wLjAwNjA2ICAgICAgIF4gZGVmaW5pdGVs
eSAxLjAxNjJ4IGZhc3RlcgogICBuYXZpZXItc3Rva2VzICAgICAgICAgICAgICAgICAgICAgICAg
IHgyICAgICAgMTEuMDA3MjQrLTAuMDEyMDAgICAgPyAgICAxMS4wMDkwMystMC4wMTMwNSAgICAg
ICA/CiAgIGNsb3N1cmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC40
OTgwMSstMC4wMDI0MSAgICA/ICAgICAwLjQ5ODA1Ky0wLjAwMjc1ICAgICAgID8KICAganF1ZXJ5
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2LjUyMjQ1Ky0wLjA5NTEz
ICAgID8gICAgIDYuNjAwNTUrLTAuMDYwOTcgICAgICAgPyBtaWdodCBiZSAxLjAxMjB4IHNsb3dl
cgogICBnYmVtdSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgyICAgICAyMzEuNTE2
MzErLTQuMDAxODcgICAgICAgIDIzMC43MjMyMistMy45OTk2MiAgICAgICAKICAgYm94MmQgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4MiAgICAgIDMzLjAxMTE1Ky0wLjM5Mjk2ICAg
ID8gICAgMzMuMTQxMjQrLTAuNDE3OTQgICAgICAgPwoKVjh2NzoKICAgPGFyaXRobWV0aWM+ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjI1MzkxKy0wLjAxMjk2ICAgID8gICAg
IDcuMjYzMzUrLTAuMDEwOTMgICAgICAgPyBtaWdodCBiZSAxLjAwMTN4IHNsb3dlcgogICA8Z2Vv
bWV0cmljPiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuNDA1NDErLTAuMDAx
ODggICAgICAgICAgMi40MDM3NistMC4wMDMzMCAgICAgICAgIG1pZ2h0IGJlIDEuMDAwN3ggZmFz
dGVyCiAgIDxoYXJtb25pYz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC45
MDM4MCstMC4wMDA2OCAgICAgICAgICAwLjkwMzAxKy0wLjAwMTU3ICAgICAgICAgbWlnaHQgYmUg
MS4wMDA5eCBmYXN0ZXIKCk9jdGFuZSBpbmNsdWRpbmcgVjh2NzoKICAgPGFyaXRobWV0aWM+ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI5LjY0MjY0Ky0wLjM4NTg5ICAgICAgICAg
MjkuNTkyNzgrLTAuMzg5NzkgICAgICAgICBtaWdodCBiZSAxLjAwMTd4IGZhc3RlcgogICA8Z2Vv
bWV0cmljPiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNTAyODIrLTAuMDEx
MjMgICAgPyAgICAgNC41MDMyNSstMC4wMTIxNSAgICAgICA/IG1pZ2h0IGJlIDEuMDAwMXggc2xv
d2VyCiAgIDxoYXJtb25pYz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4x
MDM2NSstMC4wMDA4NiAgICAgICAgICAxLjEwMjkyKy0wLjAwMTczICAgICAgICAgbWlnaHQgYmUg
MS4wMDA3eCBmYXN0ZXIKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgQkFTRSAgICAgICAgICAgICAgICAgICAgIENvbmYjMiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgCktyYWtlbjoKICAgYWktYXN0YXIgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1NDkuMjQyKy0wLjU4NCAgICAgID8gICAgIDU0
OS4zMDArLTAuMjYyICAgICAgICAgPwogICBhdWRpby1iZWF0LWRldGVjdGlvbiAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDIzMy40NTArLTEuNjIwICAgICAgICAgICAgMjMzLjI5MSstMC41NDQg
ICAgICAgICAKICAgYXVkaW8tZGZ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAyOTcuNzU3Ky01LjAzMyAgICAgICAgICAgIDI5NC45NDcrLTAuMzE3ICAgICAgICAgCiAgIGF1
ZGlvLWZmdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTM1LjcwNistMC4x
MDggICAgICAgICAgICAxMzUuNjcyKy0wLjEyMCAgICAgICAgIAogICBhdWRpby1vc2NpbGxhdG9y
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIzNC45MjYrLTAuMjQ0ICAgICAgICAgICAg
MjM0LjY0OSstMC4zNjIgICAgICAgICAKICAgaW1hZ2luZy1kYXJrcm9vbSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAyODUuNTA3Ky0xMi4wNDIgICAgIF4gICAgIDI2Ni44NzArLTAuNDA2
ICAgICAgICAgXiBkZWZpbml0ZWx5IDEuMDY5OHggZmFzdGVyCiAgIGltYWdpbmctZGVzYXR1cmF0
ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTQ5LjE3NistMC4xMTIgICAgICA/ICAgICAx
NDkuMjYxKy0wLjE3NiAgICAgICAgID8KICAgaW1hZ2luZy1nYXVzc2lhbi1ibHVyICAgICAgICAg
ICAgICAgICAgICAgICAgICAzODEuNzY3Ky0wLjM0NiAgICAgICAgICAgIDM4MS43MjcrLTAuMTE3
ICAgICAgICAgCiAgIGpzb24tcGFyc2UtZmluYW5jaWFsICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDcyLjA4OSstMC4zMjEgICAgICAgICAgICAgNzEuOTM3Ky0wLjIxMCAgICAgICAgIAogICBq
c29uLXN0cmluZ2lmeS10aW5kZXJib3ggICAgICAgICAgICAgICAgICAgICAgICA5MC43MDcrLTAu
MjQwICAgICAgISAgICAgIDkxLjE5MistMC4xMjYgICAgICAgICAhIGRlZmluaXRlbHkgMS4wMDU0
eCBzbG93ZXIKICAgc3RhbmZvcmQtY3J5cHRvLWFlcyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgOTQuNzk5Ky0wLjI4OSAgICAgID8gICAgICA5NS4yNzArLTAuOTgyICAgICAgICAgPwogICBz
dGFuZm9yZC1jcnlwdG8tY2NtICAgICAgICAgICAgICAgICAgICAgICAgICAgICA5OS40MzcrLTQu
MDU0ICAgICAgICAgICAgIDk3LjU1NistMy44MTEgICAgICAgICAgIG1pZ2h0IGJlIDEuMDE5M3gg
ZmFzdGVyCiAgIHN0YW5mb3JkLWNyeXB0by1wYmtkZjIgICAgICAgICAgICAgICAgICAgICAgICAg
MjUyLjk2NSstMS40NjkgICAgICAgICAgICAyNTIuMzUwKy0wLjY4OCAgICAgICAgIAogICBzdGFu
Zm9yZC1jcnlwdG8tc2hhMjU2LWl0ZXJhdGl2ZSAgICAgICAgICAgICAgIDEwNy45NDcrLTAuNTMy
ICAgICAgICAgICAgMTA3LjY4NSstMC40MjcgICAgICAgICAKCiAgIDxhcml0aG1ldGljPiAqICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjEzLjI0OCstMC44NTAgICAgICBeICAgICAy
MTEuNTUwKy0wLjMzMCAgICAgICAgIF4gZGVmaW5pdGVseSAxLjAwODB4IGZhc3RlcgogICA8Z2Vv
bWV0cmljPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE3OC40MzcrLTAuNzgw
ICAgICAgICAgICAgMTc3LjI2OSstMC41NzIgICAgICAgICAgIG1pZ2h0IGJlIDEuMDA2NnggZmFz
dGVyCiAgIDxoYXJtb25pYz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTUx
LjA1MSstMC44MjQgICAgICAgICAgICAxNTAuMzg1Ky0wLjc0NyAgICAgICAgICAgbWlnaHQgYmUg
MS4wMDQ0eCBmYXN0ZXIKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgQkFTRSAgICAgICAgICAgICAgICAgICAgIENvbmYjMiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgCkpTUmVncmVzczoKICAgYWRhcHQtdG8tZG91Ymxl
LWRpdmlkZSAgICAgICAgICAgICAgICAgICAgICAgICA4My4zOTUxKy0wLjEwNzQgICAgICAgICAg
IDgzLjM5NDArLTAuMTQ0MSAgICAgICAgCiAgIGFsaWFzZWQtYXJndW1lbnRzLWdldGJ5dmFsICAg
ICAgICAgICAgICAgICAgICAgIDAuOTYwOSstMC4wMDgzICAgICA/ICAgICAgMC45NjIyKy0wLjAx
MjIgICAgICAgID8KICAgYWxsb2NhdGUtYmlnLW9iamVjdCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMi43MTkyKy0wLjE3MDMgICAgICAgICAgICAyLjY1OTQrLTAuMDk2MCAgICAgICAgICBt
aWdodCBiZSAxLjAyMjV4IGZhc3RlcgogICBhcml0eS1taXNtYXRjaC1pbmxpbmluZyAgICAgICAg
ICAgICAgICAgICAgICAgICAwLjY5MjArLTAuMDIwNiAgICAgICAgICAgIDAuNjg1MystMC4wMTAx
ICAgICAgICAKICAgYXJyYXktYWNjZXNzLXBvbHltb3JwaGljLXN0cnVjdHVyZSAgICAgICAgICAg
ICA2Mi4zMTk4Ky0wLjQ2NDIgICAgICAgICAgIDYxLjk5MjErLTAuNTIyMCAgICAgICAgCiAgIGFy
cmF5LXdpdGgtZG91YmxlLWFkZCAgICAgICAgICAgICAgICAgICAgICAgICAgIDUuNDI1MCstMC4w
ODg1ICAgICA/ICAgICAgNS40ODQyKy0wLjA3NDIgICAgICAgID8gbWlnaHQgYmUgMS4wMTA5eCBz
bG93ZXIKICAgYXJyYXktd2l0aC1kb3VibGUtaW5jcmVtZW50ICAgICAgICAgICAgICAgICAgICAg
My45ODYxKy0wLjA1MzIgICAgICAgICAgICAzLjk1MjgrLTAuMDIyNCAgICAgICAgCiAgIGFycmF5
LXdpdGgtZG91YmxlLW11bC1hZGQgICAgICAgICAgICAgICAgICAgICAgIDcuMDA5MystMC4zMDc3
ICAgICAgICAgICAgNi44NzIyKy0wLjI2NDIgICAgICAgICAgbWlnaHQgYmUgMS4wMTk5eCBmYXN0
ZXIKICAgYXJyYXktd2l0aC1kb3VibGUtc3VtICAgICAgICAgICAgICAgICAgICAgICAgICAgNy4z
OTM0Ky0wLjA4OTIgICAgICAgICAgICA3LjM1NDMrLTAuMDgxOSAgICAgICAgCiAgIGFycmF5LXdp
dGgtaW50MzItYWRkLXN1YiAgICAgICAgICAgICAgICAgICAgICAgMTAuMDU5OSstMC4xMjE0ICAg
ICAgICAgICAgOS45MTQ0Ky0wLjExNDAgICAgICAgICAgbWlnaHQgYmUgMS4wMTQ3eCBmYXN0ZXIK
ICAgYXJyYXktd2l0aC1pbnQzMi1vci1kb3VibGUtc3VtICAgICAgICAgICAgICAgICAgNy40NDYx
Ky0wLjA5NTAgICAgID8gICAgICA3LjQ3MjkrLTAuMTE0OCAgICAgICAgPwogICBiaWctaW50LW11
bCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjY0MDIrLTAuMDcxMiAgICAg
PyAgICAgIDQuNjc1MystMC4wMzMxICAgICAgICA/CiAgIGJvb2xlYW4tdGVzdCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDQuMjkzNystMC4wNjY4ICAgICA/ICAgICAgNC4zNjMy
Ky0wLjAwNjMgICAgICAgID8gbWlnaHQgYmUgMS4wMTYyeCBzbG93ZXIKICAgY2FzdC1pbnQtdG8t
ZG91YmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMy4xNDIzKy0wLjEyMjkgICAgICAg
ICAgIDEzLjExNTgrLTAuMTAyMCAgICAgICAgCiAgIGNlbGwtYXJndW1lbnQgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMTMuNjQyOSstMC4xMTY3ICAgICA/ICAgICAxMy42NjU1Ky0w
LjExODIgICAgICAgID8KICAgY2ZnLXNpbXBsaWZ5ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgMy41OTkxKy0wLjAwODEgICAgICAgICAgICAzLjU1NjMrLTAuMDQ5OSAgICAgICAg
ICBtaWdodCBiZSAxLjAxMjB4IGZhc3RlcgogICBjbXBlcS1vYmotdG8tb2JqLW90aGVyICAgICAg
ICAgICAgICAgICAgICAgICAgIDEwLjI1ODErLTAuMTkzMyAgICAgISAgICAgMTAuODY0MistMC4x
Nzg5ICAgICAgICAhIGRlZmluaXRlbHkgMS4wNTkxeCBzbG93ZXIKICAgY29uc3RhbnQtdGVzdCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOC4wMjM5Ky0wLjE0MzAgICAgID8gICAg
ICA4LjAzODYrLTAuMTM2NyAgICAgICAgPwogICBkaXJlY3QtYXJndW1lbnRzLWdldGJ5dmFsICAg
ICAgICAgICAgICAgICAgICAgICAwLjg2MzYrLTAuMDEwOCAgICAgICAgICAgIDAuODYyNSstMC4w
MTA3ICAgICAgICAKICAgZG91YmxlLXBvbGx1dGlvbi1nZXRieXZhbCAgICAgICAgICAgICAgICAg
ICAgICAxMC4yODY0Ky0wLjExNTMgICAgICAgICAgIDEwLjEyMDMrLTAuMDYxNCAgICAgICAgICBt
aWdodCBiZSAxLjAxNjR4IGZhc3RlcgogICBkb3VibGUtcG9sbHV0aW9uLXB1dGJ5b2Zmc2V0ICAg
ICAgICAgICAgICAgICAgICA1LjMyODgrLTAuMDg1NSAgICAgPyAgICAgIDUuNDAzMystMC4wMjk4
ICAgICAgICA/IG1pZ2h0IGJlIDEuMDE0MHggc2xvd2VyCiAgIGV4dGVybmFsLWFyZ3VtZW50cy1n
ZXRieXZhbCAgICAgICAgICAgICAgICAgICAgIDEuOTk3NystMC4wMTYzICAgICA/ICAgICAgMi4w
MDM4Ky0wLjAwOTMgICAgICAgID8KICAgZXh0ZXJuYWwtYXJndW1lbnRzLXB1dGJ5dmFsICAgICAg
ICAgICAgICAgICAgICAgMy4wNDc3Ky0wLjA1MDcgICAgICAgICAgICAzLjAwNzQrLTAuMDE2MiAg
ICAgICAgICBtaWdodCBiZSAxLjAxMzR4IGZhc3RlcgogICBGbG9hdDMyQXJyYXktbWF0cml4LW11
bHQgICAgICAgICAgICAgICAgICAgICAgIDEyLjc5MzUrLTAuMTE0NCAgICAgICAgICAgMTIuNzYy
NistMC4wODE5ICAgICAgICAKICAgZm9sZC1kb3VibGUtdG8taW50ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAyMi44OTg4Ky0wLjM0ODMgICAgICAgICAgIDIyLjg5NTArLTAuMzk3NiAgICAg
ICAgCiAgIGZ1bmN0aW9uLWRvdC1hcHBseSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIu
OTUxMCstMC4wMTQ0ICAgICAgICAgICAgMi45NDk3Ky0wLjAxMDMgICAgICAgIAogICBmdW5jdGlv
bi10ZXN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjUxNTkrLTAuMDA4NyAg
ICAgPyAgICAgIDQuNTk1NCstMC4xMTA3ICAgICAgICA/IG1pZ2h0IGJlIDEuMDE3Nnggc2xvd2Vy
CiAgIGdldC1ieS1pZC1jaGFpbi1mcm9tLXRyeS1ibG9jayAgICAgICAgICAgICAgICAgIDYuOTI0
NCstMC4wOTY1ICAgICA/ICAgICAgNy4wNDEzKy0wLjA5ODcgICAgICAgID8gbWlnaHQgYmUgMS4w
MTY5eCBzbG93ZXIKICAgaW5kZXhlZC1wcm9wZXJ0aWVzLWluLW9iamVjdHMgICAgICAgICAgICAg
ICAgICAgNC4xNzg2Ky0wLjA1MTggICAgID8gICAgICA0LjE5OTIrLTAuMDQ0MiAgICAgICAgPwog
ICBpbmxpbmUtYXJndW1lbnRzLWFjY2VzcyAgICAgICAgICAgICAgICAgICAgICAgICAxLjIwODYr
LTAuMDA4NiAgICAgPyAgICAgIDEuMjEyMCstMC4wMTA5ICAgICAgICA/CiAgIGlubGluZS1hcmd1
bWVudHMtbG9jYWwtZXNjYXBlICAgICAgICAgICAgICAgICAgMjAuNTMyNCstMC4yMDQ2ICAgICAg
ICAgICAyMC4yNTM0Ky0wLjE2MzYgICAgICAgICAgbWlnaHQgYmUgMS4wMTM4eCBmYXN0ZXIKICAg
aW5saW5lLWdldC1zY29wZWQtdmFyICAgICAgICAgICAgICAgICAgICAgICAgICAgNi4yNjI4Ky0w
LjA5MzggICAgICAgICAgICA2LjIzMTErLTAuMTExMiAgICAgICAgCiAgIGlubGluZWQtcHV0LWJ5
LWlkLXRyYW5zaXRpb24gICAgICAgICAgICAgICAgICAgMTAuMDY5OCstMC4xMDU2ICAgICAgICAg
ICAxMC4wNDI2Ky0wLjA5MzUgICAgICAgIAogICBpbnQtb3Itb3RoZXItYWJzLXRoZW4tZ2V0LWJ5
LXZhbCAgICAgICAgICAgICAgICA3LjkyNDcrLTAuMDczMSAgICAgPyAgICAgIDcuOTUwNCstMC4w
OTUxICAgICAgICA/CiAgIGludC1vci1vdGhlci1hYnMtemVyby10aGVuLWdldC1ieS12YWwgICAg
ICAgICAgMzQuMzkxNCstMC4xNzQ3ICAgICAgICAgICAzNC4xNTEwKy0wLjE5MDAgICAgICAgIAog
ICBpbnQtb3Itb3RoZXItYWRkLXRoZW4tZ2V0LWJ5LXZhbCAgICAgICAgICAgICAgIDEwLjA4MTIr
LTAuMTI0MyAgICAgICAgICAgMTAuMDU5MystMC4xMTU2ICAgICAgICAKICAgaW50LW9yLW90aGVy
LWFkZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMC4xMzgzKy0wLjEwNjggICAgID8g
ICAgIDEwLjE1MjQrLTAuMDk2OCAgICAgICAgPwogICBpbnQtb3Itb3RoZXItZGl2LXRoZW4tZ2V0
LWJ5LXZhbCAgICAgICAgICAgICAgICA3LjQzMTcrLTAuMDg3OSAgICAgICAgICAgIDcuNDE1OCst
MC4wOTY4ICAgICAgICAKICAgaW50LW9yLW90aGVyLW1heC10aGVuLWdldC1ieS12YWwgICAgICAg
ICAgICAgICAgOS4zMzcyKy0wLjM2OTEgICAgID8gICAgICA5LjQ0OTQrLTAuMjU0MiAgICAgICAg
PyBtaWdodCBiZSAxLjAxMjB4IHNsb3dlcgogICBpbnQtb3Itb3RoZXItbWluLXRoZW4tZ2V0LWJ5
LXZhbCAgICAgICAgICAgICAgICA3LjU3MTgrLTAuMTE1MyAgICAgICAgICAgIDcuNDU4OSstMC4w
NzMwICAgICAgICAgIG1pZ2h0IGJlIDEuMDE1MXggZmFzdGVyCiAgIGludC1vci1vdGhlci1tb2Qt
dGhlbi1nZXQtYnktdmFsICAgICAgICAgICAgICAgIDcuNDMyMistMC4xMDE0ICAgICAgICAgICAg
Ny40MDc4Ky0wLjA5MzUgICAgICAgIAogICBpbnQtb3Itb3RoZXItbXVsLXRoZW4tZ2V0LWJ5LXZh
bCAgICAgICAgICAgICAgICA2LjY5MjkrLTAuMDg5NiAgICAgICAgICAgIDYuNjY0MystMC4wODkw
ICAgICAgICAKICAgaW50LW9yLW90aGVyLW5lZy10aGVuLWdldC1ieS12YWwgICAgICAgICAgICAg
ICAgNy40NTc0Ky0wLjA4NjQgICAgID8gICAgICA3LjQ4MTIrLTAuMTIyMSAgICAgICAgPwogICBp
bnQtb3Itb3RoZXItbmVnLXplcm8tdGhlbi1nZXQtYnktdmFsICAgICAgICAgIDMzLjgxNzErLTAu
MTYxMSAgICAgPyAgICAgMzMuOTMwMistMC4xNTkxICAgICAgICA/CiAgIGludC1vci1vdGhlci1z
dWItdGhlbi1nZXQtYnktdmFsICAgICAgICAgICAgICAgMTAuMDYwMystMC4xMTQyICAgICAgICAg
ICAxMC4wMjQ1Ky0wLjA5MDkgICAgICAgIAogICBpbnQtb3Itb3RoZXItc3ViICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA4LjEzNTkrLTAuMDkyMyAgICAgPyAgICAgIDguMTQzOSstMC4x
MDI1ICAgICAgICA/CiAgIGludC1vdmVyZmxvdy1sb2NhbCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAzMDQuMDM3NCstMC4yOTAzICAgICAgICAgIDMwMi41NjIyKy0zLjM5NDkgICAgICAgIAog
ICBJbnQxNkFycmF5LWJ1YmJsZS1zb3J0ICAgICAgICAgICAgICAgICAgICAgICAgIDQ2LjkzMzAr
LTAuMTc3NyAgICAgICAgICAgNDYuODY3MSstMC4xMTU3ICAgICAgICAKICAgSW50MTZBcnJheS1s
b2FkLWludC1tdWwgICAgICAgICAgICAgICAgICAgICAgICAgMS43NDU1Ky0wLjAxMjkgICAgID8g
ICAgICAxLjc0ODIrLTAuMDEzMyAgICAgICAgPwogICBJbnQ4QXJyYXktbG9hZCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA0LjUxNTIrLTAuMDY2MSAgICAgPyAgICAgIDQuNTUzMyst
MC4wMzg0ICAgICAgICA/CiAgIGludGVnZXItZGl2aWRlICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgMTQuMDY4NSstMC4xMDE0ICAgICAgICAgICAxNC4wMTIzKy0wLjEzNzIgICAgICAg
IAogICBtYWtlLWluZGV4ZWQtc3RvcmFnZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAzLjYw
ODcrLTAuMDE2NCAgICAgICAgICAgIDMuNjAwNSstMC4wMTAyICAgICAgICAKICAgbWV0aG9kLW9u
LW51bWJlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIyMC41NDkyKy0wLjI1MDkgICAg
ICEgICAgMjIyLjg2OTkrLTEuNjkwMCAgICAgICAgISBkZWZpbml0ZWx5IDEuMDEwNXggc2xvd2Vy
CiAgIG5ldy1hcnJheS1idWZmZXItZGVhZCAgICAgICAgICAgICAgICAgICAgICAgICAgIDMuMzY4
OCstMC4wMTUzICAgICA/ICAgICAgMy4zNzA1Ky0wLjAxNDggICAgICAgID8KICAgbmV3LWFycmF5
LWJ1ZmZlci1wdXNoICAgICAgICAgICAgICAgICAgICAgICAgICAyMi4zOTYwKy0wLjEyMjggICAg
IF4gICAgIDIyLjA5NzIrLTAuMTM4MSAgICAgICAgXiBkZWZpbml0ZWx5IDEuMDEzNXggZmFzdGVy
CiAgIG5ldy1hcnJheS1kZWFkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjYuNzc4
MCstMC4xMDM5ICAgICA/ICAgICAyNi44MTA4Ky0wLjA5OTIgICAgICAgID8KICAgbmV3LWFycmF5
LXB1c2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNi4wNDY3Ky0wLjEwNDEgICAg
ID8gICAgICA2LjIyNDQrLTAuMTEyNCAgICAgICAgPyBtaWdodCBiZSAxLjAyOTR4IHNsb3dlcgog
ICBudW1iZXItdGVzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjMwOTAr
LTAuMDA3NSAgICAgICAgICAgIDQuMzAyNCstMC4wMDkwICAgICAgICAKICAgb2JqZWN0LWNsb3N1
cmUtY2FsbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOC4xOTY1Ky0wLjExOTkgICAgICAg
ICAgICA4LjA5MTgrLTAuMDg5NyAgICAgICAgICBtaWdodCBiZSAxLjAxMjl4IGZhc3RlcgogICBv
YmplY3QtdGVzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjcyNTkrLTAu
MDc4NCAgICAgICAgICAgIDQuNjAzNSstMC4wNDU3ICAgICAgICAgIG1pZ2h0IGJlIDEuMDI2Nngg
ZmFzdGVyCiAgIHBvbHktc3RyaWN0ZXEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
OTEuMTI0MCstMi40OTI2ICAgICAgICAgICA4OS42Njk0Ky0xLjczMTQgICAgICAgICAgbWlnaHQg
YmUgMS4wMTYyeCBmYXN0ZXIKICAgcG9seW1vcnBoaWMtc3RydWN0dXJlICAgICAgICAgICAgICAg
ICAgICAgICAgICAyMy41NjIwKy0wLjEwMTEgICAgICAgICAgIDIzLjUyNjIrLTAuMDc3OSAgICAg
ICAgCiAgIHBvbHl2YXJpYW50LW1vbm9tb3JwaGljLWdldC1ieS1pZCAgICAgICAgICAgICAgMTIu
NjYwNystMC4xMzI4ICAgICAgICAgICAxMi41MzY4Ky0wLjExNTggICAgICAgIAogICByYXJlLW9z
ci1leGl0LW9uLWxvY2FsICAgICAgICAgICAgICAgICAgICAgICAgMTg2LjIxODErLTAuNDM5MSAg
ICAgICAgICAxODYuMjAzMystMC40NzUwICAgICAgICAKICAgcmVnaXN0ZXItcHJlc3N1cmUtZnJv
bS1vc3IgICAgICAgICAgICAgICAgICAgICAzMS4zNTMxKy0wLjE2MjcgICAgICAgICAgIDMxLjMz
MDkrLTAuMTE4OSAgICAgICAgCiAgIHNpbXBsZS1hY3RpdmF0aW9uLWRlbW8gICAgICAgICAgICAg
ICAgICAgICAgICAgMzMuMDMwMistMC4wOTQ5ICAgICAgICAgICAzMi45NDczKy0wLjEwMzkgICAg
ICAgIAogICBzbG93LWFycmF5LXByb2ZpbGUtY29udmVyZ2VuY2UgICAgICAgICAgICAgICAgICA0
LjEzNjQrLTAuMDA5NiAgICAgXiAgICAgIDQuMTE2NistMC4wMDczICAgICAgICBeIGRlZmluaXRl
bHkgMS4wMDQ4eCBmYXN0ZXIKICAgc2xvdy1jb252ZXJnZW5jZSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA4MS4yNDMxKy0wLjI0NzEgICAgID8gICAgIDgxLjMyMzErLTAuMjYwNCAgICAg
ICAgPwogICBzcGFyc2UtY29uZGl0aW9uYWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAx
LjIzMzYrLTAuMDA3OSAgICAgICAgICAgIDEuMjA3OSstMC4wMTg3ICAgICAgICAgIG1pZ2h0IGJl
IDEuMDIxM3ggZmFzdGVyCiAgIHNwbGljZS10by1yZW1vdmUgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgNDYuOTQwNSstMC4yMTE0ICAgICAgICAgICA0Ni45MDU3Ky0wLjIxMDMgICAgICAg
IAogICBzdHJpbmctaGFzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjUw
NjArLTAuMDA4MCAgICAgICAgICAgIDIuNTA0MCstMC4wMDY2ICAgICAgICAKICAgc3RyaW5nLXJl
cGVhdC1hcml0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICA0Mi43Nzg1Ky0wLjEzMzAgICAg
IF4gICAgIDQxLjg0NTgrLTAuMTgyOSAgICAgICAgXiBkZWZpbml0ZWx5IDEuMDIyM3ggZmFzdGVy
CiAgIHN0cmluZy1zdWIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgODMuMjkw
NSstMC40MjM2ICAgICAgICAgICA4Mi4zMjg2Ky0wLjY5MzcgICAgICAgICAgbWlnaHQgYmUgMS4w
MTE3eCBmYXN0ZXIKICAgc3RyaW5nLXRlc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgNC4yNjU3Ky0wLjA1OTIgICAgID8gICAgICA0LjMyNDcrLTAuMDA5MCAgICAgICAgPyBt
aWdodCBiZSAxLjAxMzl4IHNsb3dlcgogICBzdHJ1Y3R1cmUtaG9pc3Qtb3Zlci10cmFuc2l0aW9u
cyAgICAgICAgICAgICAgICAzLjI0MDArLTAuMDI2MCAgICAgPyAgICAgIDMuMjQzNSstMC4wMjgz
ICAgICAgICA/CiAgIHRlYXItb2ZmLWFyZ3VtZW50cy1zaW1wbGUgICAgICAgICAgICAgICAgICAg
ICAgIDEuOTgzMystMC4wMDk0ICAgICA/ICAgICAgMS45ODQyKy0wLjAwNzUgICAgICAgID8KICAg
dGVhci1vZmYtYXJndW1lbnRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMy40MjIzKy0w
LjA0NzUgICAgID8gICAgICAzLjQzNTUrLTAuMDMyMCAgICAgICAgPwogICB0ZW1wb3JhbC1zdHJ1
Y3R1cmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIzLjY3OTcrLTAuMTk1NSAgICAgICAg
ICAgMjMuNDcwNystMC4wNjA3ICAgICAgICAKICAgdG8taW50MzItYm9vbGVhbiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAyNi41ODY5Ky0wLjEzMTQgICAgICAgICAgIDI2LjU4NTkrLTAu
MDkyMyAgICAgICAgCiAgIHVuZGVmaW5lZC10ZXN0ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDQuMjQwMystMC4wNTE2ICAgICA/ICAgICAgNC4yNzYxKy0wLjAwNzAgICAgICAgID8K
CiAgIDxhcml0aG1ldGljPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjMuNzc2
NCstMC4wNjQxICAgICAgICAgICAyMy43Mjk2Ky0wLjA4NDIgICAgICAgICAgbWlnaHQgYmUgMS4w
MDIweCBmYXN0ZXIKICAgPGdlb21ldHJpYz4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgOS4zMjMzKy0wLjAyOTkgICAgICAgICAgICA5LjMxMjcrLTAuMDI1MyAgICAgICAgICBt
aWdodCBiZSAxLjAwMTF4IGZhc3RlcgogICA8aGFybW9uaWM+ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA0Ljg1OTgrLTAuMDIyOCAgICAgICAgICAgIDQuODUxNystMC4wMTcw
ICAgICAgICAgIG1pZ2h0IGJlIDEuMDAxN3ggZmFzdGVyCgogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJBU0UgICAgICAgICAgICAgICAgICAg
ICBDb25mIzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApBbGwgYmVuY2ht
YXJrczoKICAgPGFyaXRobWV0aWM+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0
Mi44MTM0Ky0wLjE1MDAgICAgICAgICAgIDQyLjYzMTMrLTAuMTMyOSAgICAgICAgICBtaWdodCBi
ZSAxLjAwNDN4IGZhc3RlcgogICA8Z2VvbWV0cmljPiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDExLjQyNzIrLTAuMDMzNiAgICAgICAgICAgMTEuNDE1MystMC4wMzEyICAgICAg
ICAgIG1pZ2h0IGJlIDEuMDAxMHggZmFzdGVyCiAgIDxoYXJtb25pYz4gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDMuNTU4MSstMC4wMDc1ICAgICAgICAgICAgMy41NTM3Ky0w
LjAwNjEgICAgICAgICAgbWlnaHQgYmUgMS4wMDEzeCBmYXN0ZXIKCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQkFTRSAgICAgICAgICAgICAg
ICAgICAgIENvbmYjMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCkdlb21l
YW4gb2YgcHJlZmVycmVkIG1lYW5zOgogICA8c2NhbGVkLXJlc3VsdD4gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDIyLjc3MTUrLTAuMDcwMCAgICAgICAgICAgMjIuNzU1MistMC4wNjQ5
ICAgICAgICAgIG1pZ2h0IGJlIDEuMDAwN3ggZmFzdGVyCgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>