<?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>55554</bug_id>
          
          <creation_ts>2011-03-01 23:18:00 -0800</creation_ts>
          <short_desc>Remove LOOSE_PASS_OWN_ARRAY_PTR from PassOwnArrayPtr.h</short_desc>
          <delta_ts>2011-03-04 10:24:51 -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>Web Template Framework</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>mjs</cc>
    
    <cc>mrowe</cc>
    
    <cc>sam</cc>
    
    <cc>sfalken</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>360611</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-01 23:18:00 -0800</bug_when>
    <thetext>We should remove LOOSE_PASS_OWN_ARRAY_PTR from PassOwnArrayPtr.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>360622</commentid>
    <comment_count>1</comment_count>
      <attachid>84374</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-01 23:37:00 -0800</bug_when>
    <thetext>Created attachment 84374
removed LOOSE_PASS_OWN_ARRAY_PTR</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361221</commentid>
    <comment_count>2</comment_count>
      <attachid>84374</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-03-02 17:17:46 -0800</bug_when>
    <thetext>Comment on attachment 84374
removed LOOSE_PASS_OWN_ARRAY_PTR

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

I’m thrilled that you tackled this!

&gt; Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:2543
&gt;  			compatibilityVersion = &quot;Xcode 3.1&quot;;
&gt; +			developmentRegion = English;
&gt;  			hasScannedForEncodings = 1;

Darn it, has this started happening again? I can’t remember what causes this.

&gt; Source/JavaScriptCore/runtime/JSGlobalObject.cpp:431
&gt;          Register* registerArray = new Register[newSize];
&gt;          memcpy(registerArray + newSize - oldSize, d()-&gt;registerArray.get(), oldSize * sizeof(Register));
&gt; -        setRegisters(registerArray + newSize, registerArray, newSize);
&gt; +        setRegisters(registerArray + newSize, adoptArrayPtr(registerArray), newSize);

We want the adopt to be right after the &quot;new&quot;, in the same expression if possible. So please change the local variable to an OwnArrayPtr and add the release and get calls as needed.

&gt; Source/JavaScriptCore/runtime/JSGlobalObject.h:320
&gt;          Register* registerArray = new Register[newSize];
&gt;          if (d()-&gt;registerArray)
&gt;              memcpy(registerArray + count, d()-&gt;registerArray.get(), oldSize * sizeof(Register));
&gt; -        setRegisters(registerArray + newSize, registerArray, newSize);
&gt; +        setRegisters(registerArray + newSize, adoptArrayPtr(registerArray), newSize);

We want the adopt to be right after the &quot;new&quot;, in the same expression if possible. So please change the local variable to an OwnArrayPtr and add the release and get calls as needed.

&gt; Source/JavaScriptCore/wtf/PassOwnArrayPtr.h:-91
&gt; -#if !defined(LOOSE_PASS_OWN_ARRAY_PTR) || !HAVE(NULLPTR)
&gt;      PassOwnArrayPtr&amp; operator=(std::nullptr_t) { clear(); return *this; }
&gt; -#endif
&gt; +
&gt;      template&lt;typename U&gt; PassOwnArrayPtr&amp; operator=(const PassOwnArrayPtr&lt;U&gt;&amp;);
&gt;  
&gt;      template&lt;typename U&gt; friend PassOwnArrayPtr&lt;U&gt; adoptArrayPtr(U*);
&gt;  
&gt; -#ifdef LOOSE_PASS_OWN_ARRAY_PTR
&gt; -    PassOwnArrayPtr(PtrType ptr) : m_ptr(ptr) { }
&gt; -    PassOwnArrayPtr&amp; operator=(PtrType);
&gt; -#endif
&gt; -
&gt;  private:
&gt; -#ifndef LOOSE_PASS_OWN_ARRAY_PTR
&gt;      explicit PassOwnArrayPtr(PtrType ptr) : m_ptr(ptr) { }
&gt; -#endif

Please don’t remove the loose feature entirely; revert this part of the patch at least for now. We are using this in some non-WebKit code, and for a while we’ll need the loose mode there. It’s fine to turn the loose mode off, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361350</commentid>
    <comment_count>3</comment_count>
      <attachid>84517</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-02 21:37:31 -0800</bug_when>
    <thetext>Created attachment 84517
Fixed per Darin&apos;s comment</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361630</commentid>
    <comment_count>4</comment_count>
      <attachid>84517</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-03-03 08:21:32 -0800</bug_when>
    <thetext>Comment on attachment 84517
Fixed per Darin&apos;s comment

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

&gt; Source/JavaScriptCore/runtime/JSGlobalObject.cpp:416
&gt; +        setRegisters(registerFile.start(), PassOwnArrayPtr&lt;Register&gt;(), 0);

In the future I think we should make nullptr work for these cases. We can’t make 0 work without allowing arbitrary pointers, but we can make nullptr work, which is much more beautiful than this. Nothing to do with this patch, but I wanted Ryosuke to know.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361967</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-03 14:51:22 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; In the future I think we should make nullptr work for these cases. We can’t make 0 work without allowing arbitrary pointers, but we can make nullptr work, which is much more beautiful than this. Nothing to do with this patch, but I wanted Ryosuke to know.

Yeah, I almost added a new constructor for that but I didn&apos;t since you didn&apos;t comment on it.  It&apos;s probably a straight forward patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362072</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-03-03 16:35:59 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Yeah, I almost added a new constructor for that but I didn&apos;t since you didn&apos;t comment on it.  It&apos;s probably a straight forward patch.

There are two things we want to do with nullptr:

    1) Use it to assign to an existing pointer instead of clear(). Eliminate the clear() function.
    2) Use it instead of explicit calls to the empty constructor. Eliminate ugly empty constructor expressions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362167</commentid>
    <comment_count>7</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-03 18:12:00 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; Yeah, I almost added a new constructor for that but I didn&apos;t since you didn&apos;t comment on it.  It&apos;s probably a straight forward patch.
&gt; 
&gt; There are two things we want to do with nullptr:
&gt; 
&gt;     1) Use it to assign to an existing pointer instead of clear(). Eliminate the clear() function.
&gt;     2) Use it instead of explicit calls to the empty constructor. Eliminate ugly empty constructor expressions.

Let&apos;s just do it now.  I&apos;m sad to override your r+ but it&apos;s better to patch a cleaner code now than fixing it later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362178</commentid>
    <comment_count>8</comment_count>
      <attachid>84674</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-03 18:19:09 -0800</bug_when>
    <thetext>Created attachment 84674
Added PassOwnArrayPtr(std::nullptr_t)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362180</commentid>
    <comment_count>9</comment_count>
      <attachid>84674</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-03 18:20:12 -0800</bug_when>
    <thetext>Comment on attachment 84674
Added PassOwnArrayPtr(std::nullptr_t)

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

&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:22581
&gt; +			developmentRegion = English;

Is someone using old version of XCode or does XCode 4 remove this line?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362187</commentid>
    <comment_count>10</comment_count>
      <attachid>84674</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-03-03 18:33:32 -0800</bug_when>
    <thetext>Comment on attachment 84674
Added PassOwnArrayPtr(std::nullptr_t)

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

Since you added the nullptr part there is a risk this won’t work with MSVC7.

&gt;&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:22581
&gt;&gt; +			developmentRegion = English;
&gt; 
&gt; Is someone using old version of XCode or does XCode 4 remove this line?

I can’t remember!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362199</commentid>
    <comment_count>11</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-03-03 19:01:29 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 84674 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=84674&amp;action=review
&gt; 
&gt; Since you added the nullptr part there is a risk this won’t work with MSVC7.
&gt; 
&gt; &gt;&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:22581
&gt; &gt;&gt; +			developmentRegion = English;
&gt; &gt; 
&gt; &gt; Is someone using old version of XCode or does XCode 4 remove this line?

Yes, someone modified and committed a change to the WebCore Xcode project file using a version of Xcode &lt; 3.2.4.

&gt; I can’t remember!

From briefly searching against lists.webkit.org, you remarked that Xcode 3.2.4 adds &quot;developmentRegion&quot; and older versions remove it: &lt;https://lists.webkit.org/pipermail/webkit-dev/2010-October/014651.html&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362203</commentid>
    <comment_count>12</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-03 19:06:45 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; Yes, someone modified and committed a change to the WebCore Xcode project file using a version of Xcode &lt; 3.2.4.

And the winner is ggaren: http://trac.webkit.org/changeset/80303/trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362276</commentid>
    <comment_count>13</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-03 22:21:06 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 84674 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=84674&amp;action=review
&gt; 
&gt; Since you added the nullptr part there is a risk this won’t work with MSVC7.

It seems like we can land this patch given win EWS didn&apos;t complain.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362285</commentid>
    <comment_count>14</comment_count>
      <attachid>84674</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-03 22:25:59 -0800</bug_when>
    <thetext>Comment on attachment 84674
Added PassOwnArrayPtr(std::nullptr_t)

Clearing flags on attachment: 84674

Committed r80328: &lt;http://trac.webkit.org/changeset/80328&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362286</commentid>
    <comment_count>15</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-03 22:26:07 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362605</commentid>
    <comment_count>16</comment_count>
      <attachid>84777</attachid>
    <who name="Steve Falkenburg">sfalken</who>
    <bug_when>2011-03-04 10:19:54 -0800</bug_when>
    <thetext>Created attachment 84777
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362607</commentid>
    <comment_count>17</comment_count>
    <who name="Steve Falkenburg">sfalken</who>
    <bug_when>2011-03-04 10:24:51 -0800</bug_when>
    <thetext>Patch attached to wrong bug - apologies for that.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84374</attachid>
            <date>2011-03-01 23:37:00 -0800</date>
            <delta_ts>2011-03-02 21:37:27 -0800</delta_ts>
            <desc>removed LOOSE_PASS_OWN_ARRAY_PTR</desc>
            <filename>bug-55554-20110302163658.patch</filename>
            <type>text/plain</type>
            <size>5960</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODAwOTgpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTEtMDMtMDEgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIExPT1NFX1BBU1Nf
T1dOX0FSUkFZX1BUUiBmcm9tIFBhc3NPd25BcnJheVB0ci5oCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NTU1NAorCisgICAgICAgICogSmF2YVNjcmlw
dENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBydW50aW1lL0pTR2xv
YmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmNvcHlHbG9iYWxz
VG8pOiBQYXNzT3duQXJyYXlQdHI8UmVnaXN0ZXI+KCkgaW5zdGVhZCBvZiAwLgorICAgICAgICAo
SlNDOjpKU0dsb2JhbE9iamVjdDo6cmVzaXplUmVnaXN0ZXJzKTogRGl0dG8uCisgICAgICAgICog
cnVudGltZS9KU0dsb2JhbE9iamVjdC5oOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6
YWRkU3RhdGljR2xvYmFscyk6IERpdHRvLgorICAgICAgICAqIHd0Zi9QYXNzT3duQXJyYXlQdHIu
aDogUmVtb3ZlZCBMT09TRV9QQVNTX09XTl9BUlJBWV9QVFIuCisgICAgICAgIChXVEY6OlBhc3NP
d25BcnJheVB0cjo6UGFzc093bkFycmF5UHRyKToKKwogMjAxMS0wMy0wMSAgQWRhbSBCYXJ0aCAg
PGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDgwMDkwKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oJKHdvcmtpbmcgY29weSkKQEAgLTI1MzksNiArMjUzOSw3IEBACiAJCQl9OwogCQkJYnVpbGRD
b25maWd1cmF0aW9uTGlzdCA9IDE0OUMyNzcxMDg5MDJBRkUwMDhBOUVGQyAvKiBCdWlsZCBjb25m
aWd1cmF0aW9uIGxpc3QgZm9yIFBCWFByb2plY3QgIkphdmFTY3JpcHRDb3JlIiAqLzsKIAkJCWNv
bXBhdGliaWxpdHlWZXJzaW9uID0gIlhjb2RlIDMuMSI7CisJCQlkZXZlbG9wbWVudFJlZ2lvbiA9
IEVuZ2xpc2g7CiAJCQloYXNTY2FubmVkRm9yRW5jb2RpbmdzID0gMTsKIAkJCWtub3duUmVnaW9u
cyA9ICgKIAkJCQlFbmdsaXNoLApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNHbG9iYWxPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAkocmV2aXNpb24gODAwOTApCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTQxMyw3ICs0MTMsNyBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojpjb3B5R2xvYmFsc1RvKFJlZ2lz
CiAKICAgICBpZiAoZCgpLT5yZWdpc3RlckFycmF5KSB7CiAgICAgICAgIG1lbWNweShyZWdpc3Rl
ckZpbGUuc3RhcnQoKSAtIGQoKS0+cmVnaXN0ZXJBcnJheVNpemUsIGQoKS0+cmVnaXN0ZXJBcnJh
eS5nZXQoKSwgZCgpLT5yZWdpc3RlckFycmF5U2l6ZSAqIHNpemVvZihSZWdpc3RlcikpOwotICAg
ICAgICBzZXRSZWdpc3RlcnMocmVnaXN0ZXJGaWxlLnN0YXJ0KCksIDAsIDApOworICAgICAgICBz
ZXRSZWdpc3RlcnMocmVnaXN0ZXJGaWxlLnN0YXJ0KCksIFBhc3NPd25BcnJheVB0cjxSZWdpc3Rl
cj4oKSwgMCk7CiAgICAgfQogfQogCkBAIC00MjgsNyArNDI4LDcgQEAgdm9pZCBKU0dsb2JhbE9i
amVjdDo6cmVzaXplUmVnaXN0ZXJzKGludAogICAgICAgICBBU1NFUlQoc3RhdGljX2Nhc3Q8c2l6
ZV90PihvbGRTaXplKSA9PSBkKCktPnJlZ2lzdGVyQXJyYXlTaXplKTsKICAgICAgICAgUmVnaXN0
ZXIqIHJlZ2lzdGVyQXJyYXkgPSBuZXcgUmVnaXN0ZXJbbmV3U2l6ZV07CiAgICAgICAgIG1lbWNw
eShyZWdpc3RlckFycmF5ICsgbmV3U2l6ZSAtIG9sZFNpemUsIGQoKS0+cmVnaXN0ZXJBcnJheS5n
ZXQoKSwgb2xkU2l6ZSAqIHNpemVvZihSZWdpc3RlcikpOwotICAgICAgICBzZXRSZWdpc3RlcnMo
cmVnaXN0ZXJBcnJheSArIG5ld1NpemUsIHJlZ2lzdGVyQXJyYXksIG5ld1NpemUpOworICAgICAg
ICBzZXRSZWdpc3RlcnMocmVnaXN0ZXJBcnJheSArIG5ld1NpemUsIGFkb3B0QXJyYXlQdHIocmVn
aXN0ZXJBcnJheSksIG5ld1NpemUpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIEFTU0VSVChzdGF0
aWNfY2FzdDxzaXplX3Q+KG5ld1NpemUpIDwgZ2xvYmFsRGF0YSgpLmludGVycHJldGVyLT5yZWdp
c3RlckZpbGUoKS5tYXhHbG9iYWxzKCkpOwogICAgICAgICBnbG9iYWxEYXRhKCkuaW50ZXJwcmV0
ZXItPnJlZ2lzdGVyRmlsZSgpLnNldE51bUdsb2JhbHMobmV3U2l6ZSk7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgJKHJldmlzaW9uIDgw
MDkwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAko
d29ya2luZyBjb3B5KQpAQCAtMzE3LDcgKzMxNyw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICBSZWdpc3RlciogcmVnaXN0ZXJBcnJheSA9IG5ldyBSZWdpc3RlcltuZXdTaXplXTsKICAgICAg
ICAgaWYgKGQoKS0+cmVnaXN0ZXJBcnJheSkKICAgICAgICAgICAgIG1lbWNweShyZWdpc3RlckFy
cmF5ICsgY291bnQsIGQoKS0+cmVnaXN0ZXJBcnJheS5nZXQoKSwgb2xkU2l6ZSAqIHNpemVvZihS
ZWdpc3RlcikpOwotICAgICAgICBzZXRSZWdpc3RlcnMocmVnaXN0ZXJBcnJheSArIG5ld1NpemUs
IHJlZ2lzdGVyQXJyYXksIG5ld1NpemUpOworICAgICAgICBzZXRSZWdpc3RlcnMocmVnaXN0ZXJB
cnJheSArIG5ld1NpemUsIGFkb3B0QXJyYXlQdHIocmVnaXN0ZXJBcnJheSksIG5ld1NpemUpOwog
CiAgICAgICAgIGZvciAoaW50IGkgPSAwLCBpbmRleCA9IC1zdGF0aWNfY2FzdDxpbnQ+KG9sZFNp
emUpIC0gMTsgaSA8IGNvdW50OyArK2ksIC0taW5kZXgpIHsKICAgICAgICAgICAgIEdsb2JhbFBy
b3BlcnR5SW5mbyYgZ2xvYmFsID0gZ2xvYmFsc1tpXTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvUGFzc093bkFycmF5UHRyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9QYXNzT3duQXJyYXlQdHIuaAkocmV2aXNpb24gODAwOTApCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL1Bhc3NPd25BcnJheVB0ci5oCSh3b3JraW5nIGNvcHkpCkBAIC0z
MCw5ICszMCw2IEBACiAjaW5jbHVkZSAiTnVsbFB0ci5oIgogI2luY2x1ZGUgIlR5cGVUcmFpdHMu
aCIKIAotLy8gUmVtb3ZlIHRoaXMgb25jZSB3ZSBtYWtlIGFsbCBXZWJLaXQgY29kZSBjb21wYXRp
YmxlIHdpdGggc3RyaWN0ZXIgcnVsZXMgYWJvdXQgUGFzc093bkFycmF5UHRyLgotI2RlZmluZSBM
T09TRV9QQVNTX09XTl9BUlJBWV9QVFIKLQogbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IGNsYXNzIE93bkFycmF5UHRyOwpAQCAtNzMsMjIgKzcwLDE0IEBAIHB1YmxpYzoK
ICNlbmRpZgogCiAgICAgUGFzc093bkFycmF5UHRyJiBvcGVyYXRvcj0oY29uc3QgUGFzc093bkFy
cmF5UHRyPFQ+Jik7Ci0jaWYgIWRlZmluZWQoTE9PU0VfUEFTU19PV05fQVJSQVlfUFRSKSB8fCAh
SEFWRShOVUxMUFRSKQogICAgIFBhc3NPd25BcnJheVB0ciYgb3BlcmF0b3I9KHN0ZDo6bnVsbHB0
cl90KSB7IGNsZWFyKCk7IHJldHVybiAqdGhpczsgfQotI2VuZGlmCisKICAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBVPiBQYXNzT3duQXJyYXlQdHImIG9wZXJhdG9yPShjb25zdCBQYXNzT3duQXJyYXlQ
dHI8VT4mKTsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IGZyaWVuZCBQYXNzT3duQXJyYXlQ
dHI8VT4gYWRvcHRBcnJheVB0cihVKik7CiAKLSNpZmRlZiBMT09TRV9QQVNTX09XTl9BUlJBWV9Q
VFIKLSAgICBQYXNzT3duQXJyYXlQdHIoUHRyVHlwZSBwdHIpIDogbV9wdHIocHRyKSB7IH0KLSAg
ICBQYXNzT3duQXJyYXlQdHImIG9wZXJhdG9yPShQdHJUeXBlKTsKLSNlbmRpZgotCiBwcml2YXRl
OgotI2lmbmRlZiBMT09TRV9QQVNTX09XTl9BUlJBWV9QVFIKICAgICBleHBsaWNpdCBQYXNzT3du
QXJyYXlQdHIoUHRyVHlwZSBwdHIpIDogbV9wdHIocHRyKSB7IH0KLSNlbmRpZgogCiAgICAgbXV0
YWJsZSBQdHJUeXBlIG1fcHRyOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgwMDk4KQor
KysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTEtMDMtMDEgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIExPT1NFX1BB
U1NfT1dOX0FSUkFZX1BUUiBmcm9tIFBhc3NPd25BcnJheVB0ci5oCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NTU1NAorCisgICAgICAgICogcGxhdGZv
cm0vTGVuZ3RoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om5ld0xlbmd0aEFycmF5KTogUGFzc093
bkFycmF5UHRyPFJlZ2lzdGVyPigpIGluc3RlYWQgb2YgMC4KKwogMjAxMS0wMy0wMSAgS2VudCBU
YW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRy
aSBHbGF6a292LgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguY3BwCShyZXZpc2lvbiA4
MDA5MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTEyMyw3ICsxMjMsNyBAQCBQYXNzT3duQXJyYXlQdHI8TGVuZ3RoPiBuZXdMZW5ndGhB
cnJheShjCiAgICAgUmVmUHRyPFN0cmluZ0ltcGw+IHN0ciA9IHN0cmluZy5pbXBsKCktPnNpbXBs
aWZ5V2hpdGVTcGFjZSgpOwogICAgIGlmICghc3RyLT5sZW5ndGgoKSkgewogICAgICAgICBsZW4g
PSAxOwotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIFBhc3NPd25BcnJheVB0cjxM
ZW5ndGg+KCk7CiAgICAgfQogCiAgICAgbGVuID0gY291bnRDaGFyYWN0ZXIoc3RyLT5jaGFyYWN0
ZXJzKCksIHN0ci0+bGVuZ3RoKCksICcsJykgKyAxOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84517</attachid>
            <date>2011-03-02 21:37:31 -0800</date>
            <delta_ts>2011-03-03 18:19:04 -0800</delta_ts>
            <desc>Fixed per Darin&apos;s comment</desc>
            <filename>bug-55554-20110303143729.patch</filename>
            <type>text/plain</type>
            <size>5234</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODAyMDMpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMTEtMDMtMDIgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIExPT1NFX1BBU1Nf
T1dOX0FSUkFZX1BUUiBmcm9tIFBhc3NPd25BcnJheVB0ci5oCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NTU1NAorCisgICAgICAgICogcnVudGltZS9K
U0dsb2JhbE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0Ojpjb3B5R2xv
YmFsc1RvKTogUGFzc093bkFycmF5UHRyPFJlZ2lzdGVyPigpIGluc3RlYWQgb2YgMC4KKyAgICAg
ICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OnJlc2l6ZVJlZ2lzdGVycyk6IERpdHRvOyBBbHNvIHVz
ZSBPd25BcnJheVB0ciBmb3IgYSBsb2NhbCB2YXJpYWJsZS4KKyAgICAgICAgKiBydW50aW1lL0pT
R2xvYmFsT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0OjphZGRTdGF0aWNH
bG9iYWxzKTogRGl0dG8uCisgICAgICAgICogd3RmL1Bhc3NPd25BcnJheVB0ci5oOgorCiAyMDEx
LTAzLTAyICBKZXNzaWUgQmVybGluICA8amJlcmxpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgQWRhbSBSb2Jlbi4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTR2xvYmFsT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAJKHJldmlzaW9uIDgwMjAzKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00MTMsNyArNDEzLDcgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6Y29weUdsb2JhbHNUbyhSZWdp
cwogCiAgICAgaWYgKGQoKS0+cmVnaXN0ZXJBcnJheSkgewogICAgICAgICBtZW1jcHkocmVnaXN0
ZXJGaWxlLnN0YXJ0KCkgLSBkKCktPnJlZ2lzdGVyQXJyYXlTaXplLCBkKCktPnJlZ2lzdGVyQXJy
YXkuZ2V0KCksIGQoKS0+cmVnaXN0ZXJBcnJheVNpemUgKiBzaXplb2YoUmVnaXN0ZXIpKTsKLSAg
ICAgICAgc2V0UmVnaXN0ZXJzKHJlZ2lzdGVyRmlsZS5zdGFydCgpLCAwLCAwKTsKKyAgICAgICAg
c2V0UmVnaXN0ZXJzKHJlZ2lzdGVyRmlsZS5zdGFydCgpLCBQYXNzT3duQXJyYXlQdHI8UmVnaXN0
ZXI+KCksIDApOwogICAgIH0KIH0KIApAQCAtNDI2LDkgKzQyNiwxMCBAQCB2b2lkIEpTR2xvYmFs
T2JqZWN0OjpyZXNpemVSZWdpc3RlcnMoaW50CiAKICAgICBpZiAoZCgpLT5yZWdpc3RlckFycmF5
IHx8ICFkKCktPnJlZ2lzdGVycykgewogICAgICAgICBBU1NFUlQoc3RhdGljX2Nhc3Q8c2l6ZV90
PihvbGRTaXplKSA9PSBkKCktPnJlZ2lzdGVyQXJyYXlTaXplKTsKLSAgICAgICAgUmVnaXN0ZXIq
IHJlZ2lzdGVyQXJyYXkgPSBuZXcgUmVnaXN0ZXJbbmV3U2l6ZV07Ci0gICAgICAgIG1lbWNweShy
ZWdpc3RlckFycmF5ICsgbmV3U2l6ZSAtIG9sZFNpemUsIGQoKS0+cmVnaXN0ZXJBcnJheS5nZXQo
KSwgb2xkU2l6ZSAqIHNpemVvZihSZWdpc3RlcikpOwotICAgICAgICBzZXRSZWdpc3RlcnMocmVn
aXN0ZXJBcnJheSArIG5ld1NpemUsIHJlZ2lzdGVyQXJyYXksIG5ld1NpemUpOworICAgICAgICBP
d25BcnJheVB0cjxSZWdpc3Rlcj4gcmVnaXN0ZXJBcnJheSA9IGFkb3B0QXJyYXlQdHIobmV3IFJl
Z2lzdGVyW25ld1NpemVdKTsKKyAgICAgICAgbWVtY3B5KHJlZ2lzdGVyQXJyYXkuZ2V0KCkgKyBu
ZXdTaXplIC0gb2xkU2l6ZSwgZCgpLT5yZWdpc3RlckFycmF5LmdldCgpLCBvbGRTaXplICogc2l6
ZW9mKFJlZ2lzdGVyKSk7CisgICAgICAgIFJlZ2lzdGVyKiByZWdpc3RlcnMgPSByZWdpc3RlckFy
cmF5LmdldCgpICsgbmV3U2l6ZTsKKyAgICAgICAgc2V0UmVnaXN0ZXJzKHJlZ2lzdGVycywgcmVn
aXN0ZXJBcnJheS5yZWxlYXNlKCksIG5ld1NpemUpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIEFT
U0VSVChzdGF0aWNfY2FzdDxzaXplX3Q+KG5ld1NpemUpIDwgZ2xvYmFsRGF0YSgpLmludGVycHJl
dGVyLT5yZWdpc3RlckZpbGUoKS5tYXhHbG9iYWxzKCkpOwogICAgICAgICBnbG9iYWxEYXRhKCku
aW50ZXJwcmV0ZXItPnJlZ2lzdGVyRmlsZSgpLnNldE51bUdsb2JhbHMobmV3U2l6ZSk7CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgJKHJl
dmlzaW9uIDgwMjAzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxP
YmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAtMzE4LDEwICszMTgsMTEgQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgewogICAgICAgICBzaXplX3Qgb2xkU2l6ZSA9IGQoKS0+cmVnaXN0ZXJBcnJheVNp
emU7CiAgICAgICAgIHNpemVfdCBuZXdTaXplID0gb2xkU2l6ZSArIGNvdW50OwotICAgICAgICBS
ZWdpc3RlciogcmVnaXN0ZXJBcnJheSA9IG5ldyBSZWdpc3RlcltuZXdTaXplXTsKKyAgICAgICAg
T3duQXJyYXlQdHI8UmVnaXN0ZXI+IHJlZ2lzdGVyQXJyYXkgPSBhZG9wdEFycmF5UHRyKG5ldyBS
ZWdpc3RlcltuZXdTaXplXSk7CiAgICAgICAgIGlmIChkKCktPnJlZ2lzdGVyQXJyYXkpCi0gICAg
ICAgICAgICBtZW1jcHkocmVnaXN0ZXJBcnJheSArIGNvdW50LCBkKCktPnJlZ2lzdGVyQXJyYXku
Z2V0KCksIG9sZFNpemUgKiBzaXplb2YoUmVnaXN0ZXIpKTsKLSAgICAgICAgc2V0UmVnaXN0ZXJz
KHJlZ2lzdGVyQXJyYXkgKyBuZXdTaXplLCByZWdpc3RlckFycmF5LCBuZXdTaXplKTsKKyAgICAg
ICAgICAgIG1lbWNweShyZWdpc3RlckFycmF5LmdldCgpICsgY291bnQsIGQoKS0+cmVnaXN0ZXJB
cnJheS5nZXQoKSwgb2xkU2l6ZSAqIHNpemVvZihSZWdpc3RlcikpOworICAgICAgICBSZWdpc3Rl
ciogcmVnaXN0ZXJzID0gcmVnaXN0ZXJBcnJheS5nZXQoKSArIG5ld1NpemU7CisgICAgICAgIHNl
dFJlZ2lzdGVycyhyZWdpc3RlcnMsIHJlZ2lzdGVyQXJyYXkucmVsZWFzZSgpLCBuZXdTaXplKTsK
IAogICAgICAgICBmb3IgKGludCBpID0gMCwgaW5kZXggPSAtc3RhdGljX2Nhc3Q8aW50PihvbGRT
aXplKSAtIDE7IGkgPCBjb3VudDsgKytpLCAtLWluZGV4KSB7CiAgICAgICAgICAgICBHbG9iYWxQ
cm9wZXJ0eUluZm8mIGdsb2JhbCA9IGdsb2JhbHNbaV07CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL1Bhc3NPd25BcnJheVB0ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvUGFzc093bkFycmF5UHRyLmgJKHJldmlzaW9uIDgwMjAzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9QYXNzT3duQXJyYXlQdHIuaAkod29ya2luZyBjb3B5KQpAQCAt
MzAsOSArMzAsNiBAQAogI2luY2x1ZGUgIk51bGxQdHIuaCIKICNpbmNsdWRlICJUeXBlVHJhaXRz
LmgiCiAKLS8vIFJlbW92ZSB0aGlzIG9uY2Ugd2UgbWFrZSBhbGwgV2ViS2l0IGNvZGUgY29tcGF0
aWJsZSB3aXRoIHN0cmljdGVyIHJ1bGVzIGFib3V0IFBhc3NPd25BcnJheVB0ci4KLSNkZWZpbmUg
TE9PU0VfUEFTU19PV05fQVJSQVlfUFRSCi0KIG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBjbGFzcyBPd25BcnJheVB0cjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgw
MjAzKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMTEtMDMtMDIgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIExP
T1NFX1BBU1NfT1dOX0FSUkFZX1BUUiBmcm9tIFBhc3NPd25BcnJheVB0ci5oCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NTU1NAorCisgICAgICAgICog
cGxhdGZvcm0vTGVuZ3RoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om5ld0xlbmd0aEFycmF5KTog
UGFzc093bkFycmF5UHRyPFJlZ2lzdGVyPigpIGluc3RlYWQgb2YgMC4KKwogMjAxMS0wMy0wMiAg
S2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwg
YSB0cml2aWFsIHJlZ3Jlc3Npb24gZml4LgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
TGVuZ3RoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGgu
Y3BwCShyZXZpc2lvbiA4MDIwMykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMyw3ICsxMjMsNyBAQCBQYXNzT3duQXJyYXlQdHI8TGVu
Z3RoPiBuZXdMZW5ndGhBcnJheShjCiAgICAgUmVmUHRyPFN0cmluZ0ltcGw+IHN0ciA9IHN0cmlu
Zy5pbXBsKCktPnNpbXBsaWZ5V2hpdGVTcGFjZSgpOwogICAgIGlmICghc3RyLT5sZW5ndGgoKSkg
ewogICAgICAgICBsZW4gPSAxOwotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIFBh
c3NPd25BcnJheVB0cjxMZW5ndGg+KCk7CiAgICAgfQogCiAgICAgbGVuID0gY291bnRDaGFyYWN0
ZXIoc3RyLT5jaGFyYWN0ZXJzKCksIHN0ci0+bGVuZ3RoKCksICcsJykgKyAxOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84674</attachid>
            <date>2011-03-03 18:19:09 -0800</date>
            <delta_ts>2011-03-04 10:19:50 -0800</delta_ts>
            <desc>Added PassOwnArrayPtr(std::nullptr_t)</desc>
            <filename>bug-55554-20110304111907.patch</filename>
            <type>text/plain</type>
            <size>6763</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODAzMDcpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTEtMDMtMDMgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIExPT1NFX1BBU1Nf
T1dOX0FSUkFZX1BUUiBmcm9tIFBhc3NPd25BcnJheVB0ci5oCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NTU1NAorCisgICAgICAgICogcnVudGltZS9K
U0dsb2JhbE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0Ojpjb3B5R2xv
YmFsc1RvKTogUGFzcyBudWxscHRyIGluc3RlYWQgb2YgMC4KKyAgICAgICAgKEpTQzo6SlNHbG9i
YWxPYmplY3Q6OnJlc2l6ZVJlZ2lzdGVycyk6IERpdHRvOyBhbHNvIHVzZSBPd25BcnJheVB0ciBp
bnN0ZWFkIG9mIGEgcmF3IHBvaW50ZXIuCisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVj
dC5oOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6YWRkU3RhdGljR2xvYmFscyk6IERp
dHRvLgorICAgICAgICAqIHd0Zi9QYXNzT3duQXJyYXlQdHIuaDogUmVtb3ZlZCAjZGVmaW5lIExP
T1NFX1BBU1NfT1dOX0FSUkFZX1BUUgorICAgICAgICAoV1RGOjpQYXNzT3duQXJyYXlQdHI6OlBh
c3NPd25BcnJheVB0cik6IEFkZGVkIGEgY29uc3RydWN0b3IgdGhhdCB0YWtlcyBudWxscHRyX3Qu
CisKIDIwMTEtMDMtMDMgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSb2xsZWQgb3V0IDgwMjc3IGFuZCA4MDI4MCBiZWNhdXNlIHRoZXkgY2F1c2VkIGV2ZW50
IGhhbmRsZXIgbGF5b3V0IHRlc3QKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTR2xvYmFsT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAJKHJldmlzaW9uIDgwMzAzKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00MTQsNyArNDE0LDcgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6Y29weUdsb2JhbHNUbyhSZWdp
cwogICAgIGlmIChkKCktPnJlZ2lzdGVyQXJyYXkpIHsKICAgICAgICAgLy8gVGhlIHJlZ2lzdGVy
IGZpbGUgaXMgYWx3YXlzIGEgZ2Mgcm9vdCBzbyBubyBiYXJyaWVyIGlzIG5lZWRlZCBoZXJlCiAg
ICAgICAgIG1lbWNweShyZWdpc3RlckZpbGUuc3RhcnQoKSAtIGQoKS0+cmVnaXN0ZXJBcnJheVNp
emUsIGQoKS0+cmVnaXN0ZXJBcnJheS5nZXQoKSwgZCgpLT5yZWdpc3RlckFycmF5U2l6ZSAqIHNp
emVvZihXcml0ZUJhcnJpZXI8VW5rbm93bj4pKTsKLSAgICAgICAgc2V0UmVnaXN0ZXJzKHJlaW50
ZXJwcmV0X2Nhc3Q8V3JpdGVCYXJyaWVyPFVua25vd24+Kj4ocmVnaXN0ZXJGaWxlLnN0YXJ0KCkp
LCAwLCAwKTsKKyAgICAgICAgc2V0UmVnaXN0ZXJzKHJlaW50ZXJwcmV0X2Nhc3Q8V3JpdGVCYXJy
aWVyPFVua25vd24+Kj4ocmVnaXN0ZXJGaWxlLnN0YXJ0KCkpLCBudWxscHRyLCAwKTsKICAgICB9
CiB9CiAKQEAgLTQyNiwxMCArNDI2LDExIEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OnJlc2l6ZVJl
Z2lzdGVycyhpbnQKICAgICBBU1NFUlQobmV3U2l6ZSAmJiBuZXdTaXplID4gb2xkU2l6ZSk7CiAg
ICAgaWYgKGQoKS0+cmVnaXN0ZXJBcnJheSB8fCAhZCgpLT5yZWdpc3RlcnMpIHsKICAgICAgICAg
QVNTRVJUKHN0YXRpY19jYXN0PHNpemVfdD4ob2xkU2l6ZSkgPT0gZCgpLT5yZWdpc3RlckFycmF5
U2l6ZSk7Ci0gICAgICAgIFdyaXRlQmFycmllcjxVbmtub3duPiogcmVnaXN0ZXJBcnJheSA9IG5l
dyBXcml0ZUJhcnJpZXI8VW5rbm93bj5bbmV3U2l6ZV07CisgICAgICAgIE93bkFycmF5UHRyPFdy
aXRlQmFycmllcjxVbmtub3duPiA+IHJlZ2lzdGVyQXJyYXkgPSBhZG9wdEFycmF5UHRyKG5ldyBX
cml0ZUJhcnJpZXI8VW5rbm93bj5bbmV3U2l6ZV0pOwogICAgICAgICBmb3IgKGludCBpID0gMDsg
aSA8IG9sZFNpemU7IGkrKykKICAgICAgICAgICAgIHJlZ2lzdGVyQXJyYXlbbmV3U2l6ZSAtIG9s
ZFNpemUgKyBpXS5zZXQoZ2xvYmFsRGF0YSgpLCB0aGlzLCBkKCktPnJlZ2lzdGVyQXJyYXlbaV0u
Z2V0KCkpOwotICAgICAgICBzZXRSZWdpc3RlcnMocmVnaXN0ZXJBcnJheSArIG5ld1NpemUsIHJl
Z2lzdGVyQXJyYXksIG5ld1NpemUpOworICAgICAgICBXcml0ZUJhcnJpZXI8VW5rbm93bj4qIHJl
Z2lzdGVycyA9IHJlZ2lzdGVyQXJyYXkuZ2V0KCkgKyBuZXdTaXplOworICAgICAgICBzZXRSZWdp
c3RlcnMocmVnaXN0ZXJzLCByZWdpc3RlckFycmF5LnJlbGVhc2UoKSwgbmV3U2l6ZSk7CiAgICAg
fSBlbHNlIHsKICAgICAgICAgQVNTRVJUKHN0YXRpY19jYXN0PHNpemVfdD4obmV3U2l6ZSkgPCBn
bG9iYWxEYXRhKCkuaW50ZXJwcmV0ZXItPnJlZ2lzdGVyRmlsZSgpLm1heEdsb2JhbHMoKSk7CiAg
ICAgICAgIGdsb2JhbERhdGEoKS5pbnRlcnByZXRlci0+cmVnaXN0ZXJGaWxlKCkuc2V0TnVtR2xv
YmFscyhuZXdTaXplKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xv
YmFsT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNHbG9iYWxPYmplY3QuaAkocmV2aXNpb24gODAzMDMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMTgsMTMgKzMx
OCwxNCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB7CiAgICAgICAgIHNpemVfdCBvbGRTaXplID0g
ZCgpLT5yZWdpc3RlckFycmF5U2l6ZTsKICAgICAgICAgc2l6ZV90IG5ld1NpemUgPSBvbGRTaXpl
ICsgY291bnQ7Ci0gICAgICAgIFdyaXRlQmFycmllcjxVbmtub3duPiogcmVnaXN0ZXJBcnJheSA9
IG5ldyBXcml0ZUJhcnJpZXI8VW5rbm93bj5bbmV3U2l6ZV07CisgICAgICAgIE93bkFycmF5UHRy
PFdyaXRlQmFycmllcjxVbmtub3duPiA+IHJlZ2lzdGVyQXJyYXkgPSBhZG9wdEFycmF5UHRyKG5l
dyBXcml0ZUJhcnJpZXI8VW5rbm93bj5bbmV3U2l6ZV0pOwogICAgICAgICBpZiAoZCgpLT5yZWdp
c3RlckFycmF5KSB7CiAgICAgICAgICAgICAvLyBtZW1jcHkgaXMgc2FmZSBoZXJlIGFzIHdlJ3Jl
IGNvcHlpbmcgYmFycmllcnMgd2UgYWxyZWFkeSBvd24gZnJvbSB0aGUgZXhpc3RpbmcgYXJyYXkK
LSAgICAgICAgICAgIG1lbWNweShyZWdpc3RlckFycmF5ICsgY291bnQsIGQoKS0+cmVnaXN0ZXJB
cnJheS5nZXQoKSwgb2xkU2l6ZSAqIHNpemVvZihSZWdpc3RlcikpOworICAgICAgICAgICAgbWVt
Y3B5KHJlZ2lzdGVyQXJyYXkuZ2V0KCkgKyBjb3VudCwgZCgpLT5yZWdpc3RlckFycmF5LmdldCgp
LCBvbGRTaXplICogc2l6ZW9mKFJlZ2lzdGVyKSk7CiAgICAgICAgIH0KIAotICAgICAgICBzZXRS
ZWdpc3RlcnMocmVnaXN0ZXJBcnJheSArIG5ld1NpemUsIHJlZ2lzdGVyQXJyYXksIG5ld1NpemUp
OworICAgICAgICBXcml0ZUJhcnJpZXI8VW5rbm93bj4qIHJlZ2lzdGVycyA9IHJlZ2lzdGVyQXJy
YXkuZ2V0KCkgKyBuZXdTaXplOworICAgICAgICBzZXRSZWdpc3RlcnMocmVnaXN0ZXJzLCByZWdp
c3RlckFycmF5LnJlbGVhc2UoKSwgbmV3U2l6ZSk7CiAKICAgICAgICAgZm9yIChpbnQgaSA9IDAs
IGluZGV4ID0gLXN0YXRpY19jYXN0PGludD4ob2xkU2l6ZSkgLSAxOyBpIDwgY291bnQ7ICsraSwg
LS1pbmRleCkgewogICAgICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvJiBnbG9iYWwgPSBnbG9i
YWxzW2ldOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QYXNzT3duQXJyYXlQdHIu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1Bhc3NPd25BcnJheVB0
ci5oCShyZXZpc2lvbiA4MDMwMykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGFzc093
bkFycmF5UHRyLmgJKHdvcmtpbmcgY29weSkKQEAgLTMwLDkgKzMwLDYgQEAKICNpbmNsdWRlICJO
dWxsUHRyLmgiCiAjaW5jbHVkZSAiVHlwZVRyYWl0cy5oIgogCi0vLyBSZW1vdmUgdGhpcyBvbmNl
IHdlIG1ha2UgYWxsIFdlYktpdCBjb2RlIGNvbXBhdGlibGUgd2l0aCBzdHJpY3RlciBydWxlcyBh
Ym91dCBQYXNzT3duQXJyYXlQdHIuCi0jZGVmaW5lIExPT1NFX1BBU1NfT1dOX0FSUkFZX1BUUgot
CiBuYW1lc3BhY2UgV1RGIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgT3duQXJyYXlQ
dHI7CkBAIC00Niw2ICs0MywxMCBAQCBwdWJsaWM6CiAKICAgICBQYXNzT3duQXJyYXlQdHIoKSA6
IG1fcHRyKDApIHsgfQogCisjaWYgIWRlZmluZWQoTE9PU0VfUEFTU19PV05fUFRSKSB8fCAhSEFW
RShOVUxMUFRSKQorICAgIFBhc3NPd25BcnJheVB0cihzdGQ6Om51bGxwdHJfdCkgOiBtX3B0cigw
KSB7IH0KKyNlbmRpZgorCiAgICAgLy8gSXQgc29tZXdoYXQgYnJlYWtzIHRoZSB0eXBlIHN5c3Rl
bSB0byBhbGxvdyB0cmFuc2ZlciBvZiBvd25lcnNoaXAgb3V0IG9mCiAgICAgLy8gYSBjb25zdCBQ
YXNzT3duQXJyYXlQdHIuIEhvd2V2ZXIsIGl0IG1ha2VzIGl0IG11Y2ggZWFzaWVyIHRvIHdvcmsg
d2l0aCBQYXNzT3duQXJyYXlQdHIKICAgICAvLyB0ZW1wb3JhcmllcywgYW5kIHdlIGRvbid0IGhh
dmUgYSBuZWVkIHRvIHVzZSByZWFsIGNvbnN0IFBhc3NPd25BcnJheVB0cnMgYW55d2F5LgpJbmRl
eDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwkocmV2aXNpb24gODAzMDcpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0wMy0wMyAgUnlvc3VrZSBOaXdh
ICA8cm5pd2FAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBSZW1vdmUgTE9PU0VfUEFTU19PV05fQVJSQVlfUFRSIGZyb20gUGFzc093
bkFycmF5UHRyLmgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTU1NTU0CisKKyAgICAgICAgKiBwbGF0Zm9ybS9MZW5ndGguY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6bmV3TGVuZ3RoQXJyYXkpOiBQYXNzIG51bGxwdHIgaW5zdGVhZCBvZiAwLgorCiAyMDEx
LTAzLTAzICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBC
dWlsZCBmaXguIE5lZWQgd2luL2NVUkwgRG93bmxvYWRCdW5kbGUgc3R1Yi4KSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlz
aW9uIDgwMzAzKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0yMjU3OCw2ICsyMjU3OCw3IEBACiAJCQlpc2EgPSBQ
QlhQcm9qZWN0OwogCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDE0OUMyODQzMDg5MDJCMTEw
MDhBOUVGQyAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWFByb2plY3QgIldlYkNv
cmUiICovOwogCQkJY29tcGF0aWJpbGl0eVZlcnNpb24gPSAiWGNvZGUgMi40IjsKKwkJCWRldmVs
b3BtZW50UmVnaW9uID0gRW5nbGlzaDsKIAkJCWhhc1NjYW5uZWRGb3JFbmNvZGluZ3MgPSAxOwog
CQkJa25vd25SZWdpb25zID0gKAogCQkJCUVuZ2xpc2gsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9MZW5ndGguY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0xlbmd0aC5jcHAJKHJldmlzaW9uIDgwMzAzKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
TGVuZ3RoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIzLDcgKzEyMyw3IEBAIFBhc3NPd25BcnJh
eVB0cjxMZW5ndGg+IG5ld0xlbmd0aEFycmF5KGMKICAgICBSZWZQdHI8U3RyaW5nSW1wbD4gc3Ry
ID0gc3RyaW5nLmltcGwoKS0+c2ltcGxpZnlXaGl0ZVNwYWNlKCk7CiAgICAgaWYgKCFzdHItPmxl
bmd0aCgpKSB7CiAgICAgICAgIGxlbiA9IDE7Ci0gICAgICAgIHJldHVybiAwOworICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKICAgICBsZW4gPSBjb3VudENoYXJhY3RlcihzdHItPmNo
YXJhY3RlcnMoKSwgc3RyLT5sZW5ndGgoKSwgJywnKSArIDE7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84777</attachid>
            <date>2011-03-04 10:19:54 -0800</date>
            <delta_ts>2011-03-04 10:23:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-55554-20110304101927.patch</filename>
            <type>text/plain</type>
            <size>35696</size>
            <attacher name="Steve Falkenburg">sfalken</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODAzNjIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTEtMDMtMDQgIFN0ZXZlIEZhbGtlbmJ1cmcgIDxzZmFsa2VuQGFwcGxlLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZG9wdCBWZXJzaW9u
U3RhbXBlciB0b29sIGZvciBXaW5kb3dzIFdlYktpdCBETExzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NTU1NAorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vOTAyMTI3Mz4KKyAgICAgICAgCisgICAgICAgIFdlIG5vdyB1c2UgYSB0b29sIHRvIHN0YW1w
IHRoZSB2ZXJzaW9uIG51bWJlciBvbnRvIHRoZSBBcHBsZSBXZWJLaXQgRExMcworICAgICAgICBk
dXJpbmcgdGhlIHBvc3QtYnVpbGQgc3RlcC4KKworICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnZj
cHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5yYzogUmVtb3ZlZC4KKyAgICAgICAg
KiBKYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNw
cm9qOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZVBvc3RCdWlsZC5jbWQ6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUudmNwcm9q
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlUHJlQnVpbGQuY21kOgorCiAyMDExLTAzLTAz
ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IERhcmluIEFkbGVyLgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5yYwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnJjCShyZXZpc2lvbiA4MDAxMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
cmMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDcgKzAsMCBAQAotLy8gTWljcm9zb2Z0IFZpc3VhbCBD
KysgZ2VuZXJhdGVkIHJlc291cmNlIHNjcmlwdC4KLS8vCi0jaW5jbHVkZSAiYXV0b3ZlcnNpb24u
aCIKLSNpbmNsdWRlICJ3aW5yZXNyYy5oIgotCi0jaWZkZWYgX1dJTjMyCi1MQU5HVUFHRSBMQU5H
X0VOR0xJU0gsIFNVQkxBTkdfRU5HTElTSF9VUwotI3ByYWdtYSBjb2RlX3BhZ2UoMTI1MikKLSNl
bmRpZiAvL19XSU4zMgotCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwotLy8KLS8vIFZlcnNpb24KLS8v
Ci0KLVZTX1ZFUlNJT05fSU5GTyBWRVJTSU9OSU5GTwotIEZJTEVWRVJTSU9OIF9fVkVSU0lPTl9N
QUpPUl9fLF9fVkVSU0lPTl9NSU5PUl9fLF9fVkVSU0lPTl9USU5ZX18sX19WRVJTSU9OX0JVSUxE
X18KLSBQUk9EVUNUVkVSU0lPTiBfX1ZFUlNJT05fTUFKT1JfXyxfX1ZFUlNJT05fTUlOT1JfXyxf
X1ZFUlNJT05fVElOWV9fLF9fVkVSU0lPTl9CVUlMRF9fCi0gRklMRUZMQUdTTUFTSyAweDE3TAot
I2lmZGVmIF9ERUJVRwotIEZJTEVGTEFHUyAweDFMCi0jZWxzZQotIEZJTEVGTEFHUyAweDBMCi0j
ZW5kaWYKLSBGSUxFT1MgMHg0TAotIEZJTEVUWVBFIDB4MkwKLSBGSUxFU1VCVFlQRSAweDBMCi1C
RUdJTgotICAgIEJMT0NLICJTdHJpbmdGaWxlSW5mbyIKLSAgICBCRUdJTgotICAgICAgICBCTE9D
SyAiMDQwOTA0YjAiCi0gICAgICAgIEJFR0lOCi0gICAgICAgICAgICBWQUxVRSAiRmlsZURlc2Ny
aXB0aW9uIiwgIkphdmFTY3JpcHRDb3JlIER5bmFtaWMgTGluayBMaWJyYXJ5IgotICAgICAgICAg
ICAgVkFMVUUgIkZpbGVWZXJzaW9uIiwgX19WRVJTSU9OX1RFWFRfXwotICAgICAgICAgICAgVkFM
VUUgIkNvbXBhbnlOYW1lIiwgIkFwcGxlIEluYy4iCi0gICAgICAgICAgICBWQUxVRSAiSW50ZXJu
YWxOYW1lIiwgIkphdmFTY3JpcHRDb3JlIgotICAgICAgICAgICAgVkFMVUUgIkxlZ2FsQ29weXJp
Z2h0IiwgIkNvcHlyaWdodCBBcHBsZSBJbmMuIDIwMDMtIiBfX0NPUFlSSUdIVF9ZRUFSX0VORF9U
RVhUX18KLSAgICAgICAgICAgIFZBTFVFICJPcmlnaW5hbEZpbGVuYW1lIiwgIkphdmFTY3JpcHRD
b3JlLmRsbCIKLSAgICAgICAgICAgIFZBTFVFICJQcm9kdWN0TmFtZSIsICIgSmF2YVNjcmlwdENv
cmUiCi0gICAgICAgICAgICBWQUxVRSAiUHJvZHVjdFZlcnNpb24iLCBfX1ZFUlNJT05fVEVYVF9f
Ci0gICAgICAgIEVORAotICAgIEVORAotICAgIEJMT0NLICJWYXJGaWxlSW5mbyIKLSAgICBCRUdJ
TgotICAgICAgICBWQUxVRSAiVHJhbnNsYXRpb24iLCAweDQwOSwgMTIwMAotICAgIEVORAotRU5E
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvago9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnZjcHJvagkocmV2aXNpb24gODAwMTApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJv
agkod29ya2luZyBjb3B5KQpAQCAtMTQ0LDcgKzE0NCw3IEBACiAJCQlDaGFyYWN0ZXJTZXQ9IjEi
CiAJCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjIiCiAJCQk+Ci0gICAgICA8VG9vbAorCQkJ
PFRvb2wKIAkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIgogCQkJLz4KIAkJCTxUb29sCkBA
IC00NTEsNyArNDUxLDcgQEAKIAkJCUNoYXJhY3RlclNldD0iMSIKIAkJCVdob2xlUHJvZ3JhbU9w
dGltaXphdGlvbj0iNCIKIAkJCT4KLSAgICAgIDxUb29sCisJCQk8VG9vbAogCQkJCU5hbWU9IlZD
UHJlQnVpbGRFdmVudFRvb2wiCiAJCQkvPgogCQkJPFRvb2wKQEAgLTU4Niw0MyArNTg2LDI3IEBA
CiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHJ1
bnRpbWVcSGVhcC5jcHAiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXC4uXHJ1bnRpbWVcSGVhcC5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxl
Ci0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxydW50aW1lXE1hcmtlZEJsb2NrLmNwcCIKLQkJCQk+
Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5ccnVudGltZVxN
YXJrZWRCbG9jay5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQ
YXRoPSIuLlwuLlxydW50aW1lXE1hcmtlZFNwYWNlLmNwcCIKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XC4uXHJ1bnRpbWVcQ29tbW9uSWRlbnRpZmllcnMuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KIAkJ
CTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxydW50aW1lXE1hcmtlZFNwYWNlLmgiCisJ
CQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxydW50aW1lXENvbW1vbklkZW50aWZpZXJzLmgiCiAJCQkJ
PgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHJ1bnRpbWVc
Q29tbW9uSWRlbnRpZmllcnMuY3BwIgorCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5ccnVudGltZVxD
b21wbGV0aW9uLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZl
UGF0aD0iLi5cLi5ccnVudGltZVxDb21tb25JZGVudGlmaWVycy5oIgorCQkJCVJlbGF0aXZlUGF0
aD0iLi5cLi5ccnVudGltZVxDb21wbGV0aW9uLmgiCiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZp
bGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHJ1bnRpbWVcQ29tcGxldGlvbi5jcHAiCisJCQkJ
UmVsYXRpdmVQYXRoPSIuLlwuLlxydW50aW1lXENvbnNlcnZhdGl2ZVNldC5jcHAiCiAJCQkJPgog
CQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHJ1bnRpbWVcQ29t
cGxldGlvbi5oIgorCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5ccnVudGltZVxDb25zZXJ2YXRpdmVT
ZXQuaCIKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQpAQCAtNzU4LDYgKzc0MiwxNCBAQAog
CQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxydW50
aW1lXEhlYXAuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQ
YXRoPSIuLlwuLlxydW50aW1lXEhlYXAuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQog
CQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5ccnVudGltZVxJZGVudGlmaWVyLmNwcCIKIAkJCQk+CiAJ
CQk8L0ZpbGU+CkBAIC05OTAsMTEgKzk4MiwxOSBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxG
aWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxydW50aW1lXENvbnNlcnZhdGl2ZVNldC5jcHAi
CisJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxydW50aW1lXE1hcmtlZEJsb2NrLmNwcCIKIAkJCQk+
CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5ccnVudGltZVxD
b25zZXJ2YXRpdmVTZXQuaCIKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHJ1bnRpbWVcTWFya2Vk
QmxvY2suaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0i
Li5cLi5ccnVudGltZVxNYXJrZWRTcGFjZS5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZp
bGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHJ1bnRpbWVcTWFya2VkU3BhY2UuaCIKIAkJCQk+
CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQpAQCAtMTc1MCwxNCArMTc1MCw2IEBACiAJCQkJPgogCQkJ
PC9GaWxlPgogCQk8L0ZpbHRlcj4KLQkJPEZpbHRlcgotCQkJTmFtZT0iUmVzb3VyY2VzIgotCQkJ
PgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii5cSmF2YVNjcmlwdENvcmUucmMiCi0JCQkJ
PgotCQkJPC9GaWxlPgotCQk8L0ZpbHRlcj4KIAkJPEZpbHRlcgogCQkJTmFtZT0iaW50ZXJwcmV0
ZXIiCiAJCQk+CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNw
cm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlUG9zdEJ1aWxkLmNtZAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlUG9zdEJ1aWxkLmNtZAkocmV2aXNpb24gODAwMTApCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlUG9zdEJ1aWxkLmNtZAkod29ya2luZyBjb3B5KQpAQCAtMSArMSwyIEBA
CitpZiBleGlzdCAiJVdFQktJVExJQlJBUklFU0RJUiVcdG9vbHNcVmVyc2lvblN0YW1wZXJcVmVy
c2lvblN0YW1wZXIuZXhlIiAiJVdFQktJVExJQlJBUklFU0RJUiVcdG9vbHNcVmVyc2lvblN0YW1w
ZXJcVmVyc2lvblN0YW1wZXIuZXhlIiAtLXZlcmJvc2UgIiVUQVJHRVRQQVRIJSIKIGlmIGV4aXN0
ICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxidWlsZGZhaWxlZCIgZGVsICIlQ09ORklHVVJBVElP
TkJVSUxERElSJVxidWlsZGZhaWxlZCIKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmVQcmVCdWlsZC5j
bWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZj
cHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZVByZUJ1aWxkLmNtZAkocmV2aXNpb24g
ODAwMTApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlUHJlQnVpbGQuY21kCSh3b3JraW5nIGNvcHkpCkBA
IC00LDUgKzQsMyBAQCBjbWQgL2MKIGlmIGV4aXN0ICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxi
dWlsZGZhaWxlZCIgZ3JlcCBYWCVQUk9KRUNUTkFNRSVYWCAiJUNPTkZJR1VSQVRJT05CVUlMRERJ
UiVcYnVpbGRmYWlsZWQiCiBpZiBlcnJvcmxldmVsIDEgZXhpdCAxCiBlY2hvIFhYJVBST0pFQ1RO
QU1FJVhYID4gIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGJ1aWxkZmFpbGVkIgotCi1iYXNoICIl
V0VCS0lUTElCUkFSSUVTRElSJVx0b29sc1xzY3JpcHRzXGF1dG8tdmVyc2lvbi5zaCIgIiVJTlRE
SVIlIgpJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODAzNjIpCisrKyBTb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAxMS0wMy0wNCAgU3Rl
dmUgRmFsa2VuYnVyZyAgPHNmYWxrZW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkb3B0IFZlcnNpb25TdGFtcGVyIHRvb2wgZm9y
IFdpbmRvd3MgV2ViS2l0IERMTHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTU1NTU0CisgICAgICAgIAorICAgICAgICBXZSBub3cgdXNlIGEgdG9vbCB0
byBzdGFtcCB0aGUgdmVyc2lvbiBudW1iZXIgb250byB0aGUgQXBwbGUgV2ViS2l0IERMTHMKKyAg
ICAgICAgZHVyaW5nIHRoZSBwb3N0LWJ1aWxkIHN0ZXAuCisKKyAgICAgICAgKiBXZWJDb3JlLnZj
cHJvai9RVE1vdmllV2luLnJjOiBSZW1vdmVkLgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1FU
TW92aWVXaW4udmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1FUTW92aWVXaW5Qb3N0
QnVpbGQuY21kOiBTdGFtcCB2ZXJzaW9uIHdpdGggVmVyc2lvblN0YW1wZXIuCisgICAgICAgICog
V2ViQ29yZS52Y3Byb2ovUVRNb3ZpZVdpblByZUJ1aWxkLmNtZDogRG9uJ3QgcnVuIGF1dG8tdmVy
c2lvbi5zaC4gV2UgZG9uJ3QgdXNlIGF1dG92ZXJzaW9uLmggaW4gdGhpcyBwcm9qZWN0LgorICAg
ICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmVNZWRpYVFULnZzcHJvcHM6IFJlbW92ZSB1bm5l
Y2Vzc2FyeSBpbmNsdWRlIHBhdGhzIGZvciByZXNvdXJjZSBmaWxlcy4KKwogMjAxMS0wMy0wNCAg
UGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBOaWtvbGFzIFppbW1lcm1hbm4uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9RVE1vdmllV2luLnJjCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL1FUTW92aWVXaW4ucmMJKHJldmlzaW9uIDgwMDEwKQorKysgU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovUVRNb3ZpZVdpbi5yYwkod29ya2luZyBjb3B5KQpAQCAtMSw0NyArMCww
IEBACi0vLyBNaWNyb3NvZnQgVmlzdWFsIEMrKyBnZW5lcmF0ZWQgcmVzb3VyY2Ugc2NyaXB0Lgot
Ly8KLSNpbmNsdWRlICJhdXRvdmVyc2lvbi5oIgotI2luY2x1ZGUgIndpbnJlc3JjLmgiCi0KLSNp
ZmRlZiBfV0lOMzIKLUxBTkdVQUdFIExBTkdfRU5HTElTSCwgU1VCTEFOR19FTkdMSVNIX1VTCi0j
cHJhZ21hIGNvZGVfcGFnZSgxMjUyKQotI2VuZGlmIC8vX1dJTjMyCi0KLS8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vCi0vLwotLy8gVmVyc2lvbgotLy8KLQotVlNfVkVSU0lPTl9JTkZPIFZFUlNJT05JTkZP
Ci0gRklMRVZFUlNJT04gX19WRVJTSU9OX01BSk9SX18sX19WRVJTSU9OX01JTk9SX18sX19WRVJT
SU9OX1RJTllfXyxfX1ZFUlNJT05fQlVJTERfXwotIFBST0RVQ1RWRVJTSU9OIF9fVkVSU0lPTl9N
QUpPUl9fLF9fVkVSU0lPTl9NSU5PUl9fLF9fVkVSU0lPTl9USU5ZX18sX19WRVJTSU9OX0JVSUxE
X18KLSBGSUxFRkxBR1NNQVNLIDB4MTdMCi0jaWZkZWYgX0RFQlVHCi0gRklMRUZMQUdTIDB4MUwK
LSNlbHNlCi0gRklMRUZMQUdTIDB4MEwKLSNlbmRpZgotIEZJTEVPUyAweDRMCi0gRklMRVRZUEUg
MHgyTAotIEZJTEVTVUJUWVBFIDB4MEwKLUJFR0lOCi0gICAgQkxPQ0sgIlN0cmluZ0ZpbGVJbmZv
IgotICAgIEJFR0lOCi0gICAgICAgIEJMT0NLICIwNDA5MDRiMCIKLSAgICAgICAgQkVHSU4KLSAg
ICAgICAgICAgIFZBTFVFICJGaWxlRGVzY3JpcHRpb24iLCAiV2ViS2l0IFF1aWNrVGltZSBNb3Zp
ZSBEeW5hbWljIExpbmsgTGlicmFyeSIKLSAgICAgICAgICAgIFZBTFVFICJGaWxlVmVyc2lvbiIs
IF9fVkVSU0lPTl9URVhUX18KLSAgICAgICAgICAgIFZBTFVFICJDb21wYW55TmFtZSIsICJBcHBs
ZSBJbmMuIgotICAgICAgICAgICAgVkFMVUUgIkludGVybmFsTmFtZSIsICJXZWJLaXQiCi0gICAg
ICAgICAgICBWQUxVRSAiTGVnYWxDb3B5cmlnaHQiLCAiQ29weXJpZ2h0IEFwcGxlIEluYy4gMjAw
Ny0iIF9fQ09QWVJJR0hUX1lFQVJfRU5EX1RFWFRfXwotICAgICAgICAgICAgVkFMVUUgIk9yaWdp
bmFsRmlsZW5hbWUiLCAiUVRNb3ZpZVdpbi5kbGwiCi0gICAgICAgICAgICBWQUxVRSAiUHJvZHVj
dE5hbWUiLCAiV2ViS2l0IgotICAgICAgICAgICAgVkFMVUUgIlByb2R1Y3RWZXJzaW9uIiwgX19W
RVJTSU9OX1RFWFRfXwotICAgICAgICBFTkQKLSAgICBFTkQKLSAgICBCTE9DSyAiVmFyRmlsZUlu
Zm8iCi0gICAgQkVHSU4KLSAgICAgICAgVkFMVUUgIlRyYW5zbGF0aW9uIiwgMHg0MDksIDEyMDAK
LSAgICBFTkQKLUVORApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovUVRNb3Zp
ZVdpbi52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
UVRNb3ZpZVdpbi52Y3Byb2oJKHJldmlzaW9uIDgwMDEwKQorKysgU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovUVRNb3ZpZVdpbi52Y3Byb2oJKHdvcmtpbmcgY29weSkKQEAgLTQ3MCwxNiAr
NDcwLDYgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCTwvRmlsdGVyPgotCQk8RmlsdGVyCi0JCQlO
YW1lPSJSZXNvdXJjZSBGaWxlcyIKLQkJCUZpbHRlcj0icmM7aWNvO2N1cjtibXA7ZGxnO3JjMjty
Y3Q7YmluO3JncztnaWY7anBnO2pwZWc7anBlO3Jlc3g7dGlmZjt0aWY7cG5nO3dhdiIKLQkJCVVu
aXF1ZUlkZW50aWZpZXI9Ins2N0RBNkFCNi1GODAwLTRjMDgtOEI3QS04M0JCMTIxQUFEMDF9Igot
CQkJPgotCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii5cUVRNb3ZpZVdpbi5yYyIKLQkJCQk+
Ci0JCQk8L0ZpbGU+Ci0JCTwvRmlsdGVyPgogCTwvRmlsZXM+CiAJPEdsb2JhbHM+CiAJPC9HbG9i
YWxzPgpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovUVRNb3ZpZVdpblBvc3RC
dWlsZC5jbWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovUVRN
b3ZpZVdpblBvc3RCdWlsZC5jbWQJKHJldmlzaW9uIDgwMDEwKQorKysgU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovUVRNb3ZpZVdpblBvc3RCdWlsZC5jbWQJKHdvcmtpbmcgY29weSkKQEAg
LTEsNCArMSw1IEBACiBta2RpciAyPk5VTCAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcaW5jbHVk
ZVxRVE1vdmllV2luIgogeGNvcHkgL3kgL2QgIiVQUk9KRUNURElSJS4uXHBsYXRmb3JtXGdyYXBo
aWNzXHdpblxRVE1vdmllLmgiICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxpbmNsdWRlXFFUTW92
aWVXaW4iCitpZiBleGlzdCAiJVdFQktJVExJQlJBUklFU0RJUiVcdG9vbHNcVmVyc2lvblN0YW1w
ZXJcVmVyc2lvblN0YW1wZXIuZXhlIiAiJVdFQktJVExJQlJBUklFU0RJUiVcdG9vbHNcVmVyc2lv
blN0YW1wZXJcVmVyc2lvblN0YW1wZXIuZXhlIiAtLXZlcmJvc2UgIiVUQVJHRVRQQVRIJSIKIAog
aWYgZXhpc3QgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGJ1aWxkZmFpbGVkIiBkZWwgIiVDT05G
SUdVUkFUSU9OQlVJTERESVIlXGJ1aWxkZmFpbGVkIgpJbmRleDogU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovUVRNb3ZpZVdpblByZUJ1aWxkLmNtZAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9RVE1vdmllV2luUHJlQnVpbGQuY21kCShyZXZpc2lvbiA4
MDAxMCkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1FUTW92aWVXaW5QcmVCdWls
ZC5jbWQJKHdvcmtpbmcgY29weSkKQEAgLTUsNSArNSwzIEBAIGNtZCAvYwogaWYgZXhpc3QgIiVD
T05GSUdVUkFUSU9OQlVJTERESVIlXGJ1aWxkZmFpbGVkIiBncmVwIFhYJVBST0pFQ1ROQU1FJVhY
ICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxidWlsZGZhaWxlZCIKIGlmIGVycm9ybGV2ZWwgMSBl
eGl0IDEKIGVjaG8gWFglUFJPSkVDVE5BTUUlWFggPiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVc
YnVpbGRmYWlsZWQiCi0KLWJhc2ggIiVXRUJLSVRMSUJSQVJJRVNESVIlXHRvb2xzXHNjcmlwdHNc
YXV0by12ZXJzaW9uLnNoIiAiJUlOVERJUiUiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlTWVkaWFRVC52c3Byb3BzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmVNZWRpYVFULnZzcHJvcHMJKHJldmlzaW9uIDgwMDEw
KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZU1lZGlhUVQudnNwcm9w
cwkod29ya2luZyBjb3B5KQpAQCAtNCw4ICs0LDQgQEAKIAlWZXJzaW9uPSI4LjAwIgogCU5hbWU9
IldlYkNvcmVNZWRpYVFUIgogCT4KLQk8VG9vbAotCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgot
CQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilc
aW5jbHVkZVxRVE1vdmllV2luIgotCS8+CiA8L1Zpc3VhbFN0dWRpb1Byb3BlcnR5U2hlZXQ+Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCShyZXZpc2lvbiA4MDM2MikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDExLTAzLTA0ICBTdGV2ZSBGYWxr
ZW5idXJnICA8c2ZhbGtlbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRvcHQgVmVyc2lvblN0YW1wZXIgdG9vbCBmb3IgV2luZG93
cyBXZWJLaXQgRExMcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NTU1NTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzkwMjEzMjA+CisgICAgICAgIAor
ICAgICAgICBXZSBub3cgdXNlIGEgdG9vbCB0byBzdGFtcCB0aGUgdmVyc2lvbiBudW1iZXIgb250
byB0aGUgQXBwbGUgV2ViS2l0IERMTHMKKyAgICAgICAgZHVyaW5nIHRoZSBwb3N0LWJ1aWxkIHN0
ZXAuCisKKyAgICAgICAgQ2FsY3VsYXRlIHRoZSBXZWJLaXQgdmVyc2lvbiBmb3IgdGhlIHVzZXJh
Z2VudCB2aWEgYXV0b3ZlcnNpb24uaAorICAgICAgICBpbnN0ZWFkIG9mIHJlYWRpbmcgaXQgYmFj
ayBmcm9tIHRoZSBETEwuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mvd2luL1dlYlBhZ2VQcm94eVdp
bi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c3RhbmRhcmRVc2VyQWdlbnQp
OiBVc2UgX19CVUlMRF9OVU1CRVJfU0hPUlRfXworICAgICAgICAqIHdpbi9XZWJLaXQyLnJjOiBS
ZW1vdmVkIHZlcnNpb24gcmVzb3VyY2UuCisgICAgICAgICogd2luL1dlYktpdDJDb21tb24udnNw
cm9wczogQWRkZWQgaW5jbHVkZSBwYXRoIHRvIHBpY2sgdXAgYXV0b3ZlcnNpb24sIHJlbW92ZWQg
aW5jbHVkZSBwYXRoIHRvIGF1dG92ZXJzaW9uIGZvciByZXNvdXJjZSBmaWxlcy4KKyAgICAgICAg
KiB3aW4vV2ViS2l0MldlYlByb2Nlc3MucmM6IFJlbW92ZWQuCisgICAgICAgICogd2luL1dlYktp
dDJXZWJQcm9jZXNzLnZjcHJvajoKKyAgICAgICAgKiB3aW4vV2ViS2l0MldlYlByb2Nlc3NQb3N0
QnVpbGQuY21kOiBEb24ndCBydW4gYXV0b3ZlcnNpb24gc2NyaXB0LiBJdCBpc24ndCB1c2VkIGlu
IHRoaXMgcHJvamVjdC4KKyAgICAgICAgKiB3aW4vV2ViS2l0MldlYlByb2Nlc3NQcmVCdWlsZC5j
bWQ6IFN0YW1wIHZlcnNpb24uCisgICAgICAgICogd2luL1dlYktpdFBvc3RCdWlsZC5jbWQ6IFN0
YW1wIHZlcnNpb24uCisKIDIwMTEtMDMtMDQgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNv
bT4KIAogICAgICAgICBMTFZNIENvbXBpbGVyIGJ1aWxkIGZpeC4KSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy93aW4vV2ViUGFnZVByb3h5V2luLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlBhZ2VQcm94eVdpbi5jcHAJKHJldmlzaW9uIDgw
MDEwKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJQYWdlUHJveHlXaW4uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAj
aW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCiAKKyNpbmNsdWRlICJhdXRvdmVyc2lvbi5oIgogI2lu
Y2x1ZGUgPHRjaGFyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9XZWJDb3JlSW5zdGFuY2VIYW5kbGUu
aD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CkBAIC01OSw0OCArNjAsMTAgQEAgc3Rh
dGljIFN0cmluZyB3aW5kb3dzVmVyc2lvbigpCiAgICByZXR1cm4gb3NWZXJzaW9uOwogfQogCi1z
dGF0aWMgU3RyaW5nIHVzZXJWaXNpYmxlV2ViS2l0VmVyc2lvblN0cmluZygpCi17Ci0gICBTdHJp
bmcgdmVyc2lvblN0ciA9ICI0MjArIjsKLSAgIHZvaWQqIGRhdGEgPSAwOwotCi0gICBzdHJ1Y3Qg
TEFOR0FORENPREVQQUdFIHsKLSAgICAgICBXT1JEIHdMYW5ndWFnZTsKLSAgICAgICBXT1JEIHdD
b2RlUGFnZTsKLSAgIH0gKmxwVHJhbnNsYXRlOwotCi0gICBUQ0hBUiBwYXRoW01BWF9QQVRIXTsK
LSAgIDo6R2V0TW9kdWxlRmlsZU5hbWUoaW5zdGFuY2VIYW5kbGUoKSwgcGF0aCwgV1RGX0FSUkFZ
X0xFTkdUSChwYXRoKSk7Ci0gICBEV09SRCBoYW5kbGU7Ci0gICBEV09SRCB2ZXJzaW9uU2l6ZSA9
IDo6R2V0RmlsZVZlcnNpb25JbmZvU2l6ZShwYXRoLCAmaGFuZGxlKTsKLSAgIGlmICghdmVyc2lv
blNpemUpCi0gICAgICAgZ290byBleGl0OwotICAgZGF0YSA9IGZhc3RNYWxsb2ModmVyc2lvblNp
emUpOwotICAgaWYgKCFkYXRhKQotICAgICAgIGdvdG8gZXhpdDsKLSAgIGlmICghOjpHZXRGaWxl
VmVyc2lvbkluZm8ocGF0aCwgMCwgdmVyc2lvblNpemUsIGRhdGEpKQotICAgICAgIGdvdG8gZXhp
dDsKLSAgIFVJTlQgY2JUcmFuc2xhdGU7Ci0gICBpZiAoITo6VmVyUXVlcnlWYWx1ZShkYXRhLCBU
RVhUKCJcXFZhckZpbGVJbmZvXFxUcmFuc2xhdGlvbiIpLCAoTFBWT0lEKikmbHBUcmFuc2xhdGUs
ICZjYlRyYW5zbGF0ZSkpCi0gICAgICAgZ290byBleGl0OwotICAgVENIQVIga2V5WzI1Nl07Ci0g
ICBfc3RwcmludGZfcyhrZXksIFdURl9BUlJBWV9MRU5HVEgoa2V5KSwgVEVYVCgiXFxTdHJpbmdG
aWxlSW5mb1xcJTA0eCUwNHhcXFByb2R1Y3RWZXJzaW9uIiksIGxwVHJhbnNsYXRlWzBdLndMYW5n
dWFnZSwgbHBUcmFuc2xhdGVbMF0ud0NvZGVQYWdlKTsKLSAgIExQQ1RTVFIgcHJvZHVjdFZlcnNp
b247Ci0gICBVSU5UIHByb2R1Y3RWZXJzaW9uTGVuZ3RoOwotICAgaWYgKCE6OlZlclF1ZXJ5VmFs
dWUoZGF0YSwgKExQVFNUUikoTFBDVFNUUilrZXksICh2b2lkKiopJnByb2R1Y3RWZXJzaW9uLCAm
cHJvZHVjdFZlcnNpb25MZW5ndGgpKQotICAgICAgIGdvdG8gZXhpdDsKLSAgIHZlcnNpb25TdHIg
PSBTdHJpbmcocHJvZHVjdFZlcnNpb24sIHByb2R1Y3RWZXJzaW9uTGVuZ3RoIC0gMSk7Ci0KLWV4
aXQ6Ci0gICBpZiAoZGF0YSkKLSAgICAgICBmYXN0RnJlZShkYXRhKTsKLSAgIHJldHVybiB2ZXJz
aW9uU3RyOwotfQotCiBTdHJpbmcgV2ViUGFnZVByb3h5OjpzdGFuZGFyZFVzZXJBZ2VudChjb25z
dCBTdHJpbmcmIGFwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudCkKIHsKICAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKFN0cmluZywgb3NWZXJzaW9uLCAod2luZG93c1ZlcnNpb24oKSkpOwotICAgIERF
RklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCB3ZWJLaXRWZXJzaW9uLCAodXNlclZpc2libGVXZWJL
aXRWZXJzaW9uU3RyaW5nKCkpKTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgd2Vi
S2l0VmVyc2lvbiwgKF9fQlVJTERfTlVNQkVSX1NIT1JUX18pKTsKIAogICAgIGlmIChhcHBsaWNh
dGlvbk5hbWVGb3JVc2VyQWdlbnQuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gbWFrZVN0cmlu
ZygiTW96aWxsYS81LjAgKFdpbmRvd3M7ICIsIG9zVmVyc2lvbiwgIikgQXBwbGVXZWJLaXQvIiwg
d2ViS2l0VmVyc2lvbiwgIiAoS0hUTUwsIGxpa2UgR2Vja28pIik7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi93aW4vV2ViS2l0Mi5yYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi93aW4vV2Vi
S2l0Mi5yYwkocmV2aXNpb24gODAwMTApCisrKyBTb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5y
Ywkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDUgQEAKIC8vIE1pY3Jvc29mdCBWaXN1YWwgQysr
IGdlbmVyYXRlZCByZXNvdXJjZSBzY3JpcHQuCiAvLwotI2luY2x1ZGUgImF1dG92ZXJzaW9uLmgi
CiAjaW5jbHVkZSAicmVzb3VyY2UuaCIKICNpbmNsdWRlICJ3aW5yZXNyYy5oIgogCkBAIC0xMSw0
NCArMTAsNiBAQCBMQU5HVUFHRSBMQU5HX0VOR0xJU0gsIFNVQkxBTkdfRU5HTElTSF9VCiAKIC8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vCiAvLwotLy8gVmVyc2lvbgotLy8KLQotVlNfVkVSU0lPTl9JTkZP
IFZFUlNJT05JTkZPCi0gRklMRVZFUlNJT04gX19WRVJTSU9OX01BSk9SX18sX19WRVJTSU9OX01J
Tk9SX18sX19WRVJTSU9OX1RJTllfXyxfX1ZFUlNJT05fQlVJTERfXwotIFBST0RVQ1RWRVJTSU9O
IF9fVkVSU0lPTl9NQUpPUl9fLF9fVkVSU0lPTl9NSU5PUl9fLF9fVkVSU0lPTl9USU5ZX18sX19W
RVJTSU9OX0JVSUxEX18KLSBGSUxFRkxBR1NNQVNLIDB4MTdMCi0jaWZkZWYgX0RFQlVHCi0gRklM
RUZMQUdTIDB4MUwKLSNlbHNlCi0gRklMRUZMQUdTIDB4MEwKLSNlbmRpZgotIEZJTEVPUyAweDRM
Ci0gRklMRVRZUEUgMHgyTAotIEZJTEVTVUJUWVBFIDB4MEwKLUJFR0lOCi0gICAgQkxPQ0sgIlN0
cmluZ0ZpbGVJbmZvIgotICAgIEJFR0lOCi0gICAgICAgIEJMT0NLICIwNDA5MDRiMCIKLSAgICAg
ICAgQkVHSU4KLSAgICAgICAgICAgIFZBTFVFICJGaWxlRGVzY3JpcHRpb24iLCAiV2ViS2l0IER5
bmFtaWMgTGluayBMaWJyYXJ5IgotICAgICAgICAgICAgVkFMVUUgIkZpbGVWZXJzaW9uIiwgX19W
RVJTSU9OX1RFWFRfXwotICAgICAgICAgICAgVkFMVUUgIkNvbXBhbnlOYW1lIiwgIkFwcGxlIElu
Yy4iCi0gICAgICAgICAgICBWQUxVRSAiSW50ZXJuYWxOYW1lIiwgIldlYktpdCIKLSAgICAgICAg
ICAgIFZBTFVFICJMZWdhbENvcHlyaWdodCIsICJDb3B5cmlnaHQgQXBwbGUgSW5jLiAyMDAzLSIg
X19DT1BZUklHSFRfWUVBUl9FTkRfVEVYVF9fCi0gICAgICAgICAgICBWQUxVRSAiT3JpZ2luYWxG
aWxlbmFtZSIsICJXZWJLaXQuZGxsIgotICAgICAgICAgICAgVkFMVUUgIlByb2R1Y3ROYW1lIiwg
IldlYktpdCIKLSAgICAgICAgICAgIFZBTFVFICJQcm9kdWN0VmVyc2lvbiIsIF9fQlVJTERfTlVN
QkVSX1NIT1JUX18KLSAgICAgICAgRU5ECi0gICAgRU5ECi0gICAgQkxPQ0sgIlZhckZpbGVJbmZv
IgotICAgIEJFR0lOCi0gICAgICAgIFZBTFVFICJUcmFuc2xhdGlvbiIsIDB4NDA5LCAxMjAwCi0g
ICAgRU5ECi1FTkQKLQotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLS8vCiAvLyBQTkcKIC8vCiAKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ29tbW9uLnZzcHJvcHMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJDb21tb24udnNwcm9wcwkocmV2aXNpb24gODAw
MTApCisrKyBTb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNvbW1vbi52c3Byb3BzCSh3b3JraW5n
IGNvcHkpCkBAIC02LDcgKzYsNyBAQAogCT4KIAk8VG9vbAogCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIgotCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDskKFByb2plY3REaXIp
XC4uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cUGxhdGZvcm0mcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKVwuLlxQbGF0Zm9ybVxjZyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFBs
YXRmb3JtXENvcmVJUEMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxQbHVnaW5Qcm9jZXNz
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cU2hhcmVkJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcilcLi5cU2hhcmVkXHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFNoYXJlZFxj
ZiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFNoYXJlZFxBUElcYyZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpXC4uXFNoYXJlZFxBUElcY1xjZiZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
XC4uXFNoYXJlZFxBUElcY1x3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxTaGFyZWRc
Q29yZUlQQ1N1cHBvcnQmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxTaGFyZWRcUGx1Z2lu
cyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFNoYXJlZFxQbHVnaW5zXE5ldHNjYXBlJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cVUlQcm9jZXNzJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcilcLi5cVUlQcm9jZXNzXEFQSVxDJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cVUlQ
cm9jZXNzXEFQSVxDXHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFVJUHJvY2Vzc1xB
UElcY3BwJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cVUlQcm9jZXNzXEFQSVx3aW4mcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxVSVByb2Nlc3NcQXV0aGVudGljYXRpb24mcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxVSVByb2Nlc3NcRG93bmxvYWRzJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcilcLi5cVUlQcm9jZXNzXExhdW5jaGVyJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cilcLi5cVUlQcm9jZXNzXFBsdWdpbnMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxVSVBy
b2Nlc3Ncd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cV2ViUHJvY2VzcyZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpXC4uXFdlYlByb2Nlc3NcV2ViQ29yZVN1cHBvcnQmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKVwuLlxXZWJQcm9jZXNzXFdlYkNvcmVTdXBwb3J0XHdpbiZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpXC4uXFdlYlByb2Nlc3NcV2ViUGFnZSZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpXC4uXFdlYlByb2Nlc3NcV2ViUGFnZVx3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKVwuLlxXZWJQcm9jZXNzXEluamVjdGVkQnVuZGxlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cilcLi5cV2ViUHJvY2Vzc1xJbmplY3RlZEJ1bmRsZVxBUElcYyZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpXC4uXFdlYlByb2Nlc3NcSW5qZWN0ZWRCdW5kbGVcRE9NJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcilcLi5cV2ViUHJvY2Vzc1xJbmplY3RlZEJ1bmRsZVx3aW4mcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKVwuLlxXZWJQcm9jZXNzXFBsdWdpbnMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KVwuLlxXZWJQcm9jZXNzXFBsdWdpbnNcTmV0c2NhcGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KVwuLlxXZWJQcm9jZXNzXHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFdlYlByb2Nl
c3NcQXBwbGljYXRpb25DYWNoZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFdlYlByb2Nl
c3NcQXV0aGVudGljYXRpb24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxXZWJQcm9jZXNz
XENvb2tpZXMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxXZWJQcm9jZXNzXERvd25sb2Fk
cyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFdlYlByb2Nlc3NcRG93bmxvYWRzXGNmJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cV2ViUHJvY2Vzc1xHZW9sb2NhdGlvbiZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpXC4uXFdlYlByb2Nlc3NcS2V5VmFsdWVTdG9yYWdlJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcilcLi5cV2ViUHJvY2Vzc1xSZXNvdXJjZUNhY2hlJnF1b3Q7OyZxdW90
OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXMmcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXEluY2x1ZGUmcXVvdDs7JnF1
b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXEluY2x1ZGVccHJpdmF0ZSZxdW90OzsmcXVvdDsk
KFdlYktpdExpYnJhcmllc0RpcilcSW5jbHVkZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmll
c0RpcilcSW5jbHVkZVxwcml2YXRlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxJ
bmNsdWRlXHB0aHJlYWRzJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxJbmNs
dWRlXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxJ
bmNsdWRlXHByaXZhdGVcSmF2YVNjcmlwdENvcmUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJp
ZXNEaXIpXEluY2x1ZGVcSmF2YVNjcmlwdENvcmUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJp
ZXNEaXIpXEluY2x1ZGVccHJpdmF0ZVxKYXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKENvbmZp
Z3VyYXRpb25CdWlsZERpcilcSW5jbHVkZVxXZWJDb3JlXEZvcndhcmRpbmdIZWFkZXJzJnF1b3Q7
OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxJbmNsdWRlXFdlYkNvcmVcRm9yd2FyZGluZ0hl
YWRlcnMmcXVvdDsiCisJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90OyQoUHJv
amVjdERpcilcLi4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxQbGF0Zm9ybSZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpXC4uXFBsYXRmb3JtXGNnJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cilcLi5cUGxhdGZvcm1cQ29yZUlQQyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFBsdWdp
blByb2Nlc3MmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxTaGFyZWQmcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKVwuLlxTaGFyZWRcd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5c
U2hhcmVkXGNmJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cU2hhcmVkXEFQSVxjJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcilcLi5cU2hhcmVkXEFQSVxjXGNmJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcilcLi5cU2hhcmVkXEFQSVxjXHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4u
XFNoYXJlZFxDb3JlSVBDU3VwcG9ydCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFNoYXJl
ZFxQbHVnaW5zJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cU2hhcmVkXFBsdWdpbnNcTmV0
c2NhcGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxVSVByb2Nlc3MmcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKVwuLlxVSVByb2Nlc3NcQVBJXEMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KVwuLlxVSVByb2Nlc3NcQVBJXENcd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cVUlQ
cm9jZXNzXEFQSVxjcHAmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxVSVByb2Nlc3NcQVBJ
XHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFVJUHJvY2Vzc1xBdXRoZW50aWNhdGlv
biZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFVJUHJvY2Vzc1xEb3dubG9hZHMmcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxVSVByb2Nlc3NcTGF1bmNoZXImcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKVwuLlxVSVByb2Nlc3NcUGx1Z2lucyZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
XC4uXFVJUHJvY2Vzc1x3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxXZWJQcm9jZXNz
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cV2ViUHJvY2Vzc1xXZWJDb3JlU3VwcG9ydCZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFdlYlByb2Nlc3NcV2ViQ29yZVN1cHBvcnRcd2lu
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cV2ViUHJvY2Vzc1xXZWJQYWdlJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcilcLi5cV2ViUHJvY2Vzc1xXZWJQYWdlXHdpbiZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpXC4uXFdlYlByb2Nlc3NcSW5qZWN0ZWRCdW5kbGUmcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKVwuLlxXZWJQcm9jZXNzXEluamVjdGVkQnVuZGxlXEFQSVxjJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcilcLi5cV2ViUHJvY2Vzc1xJbmplY3RlZEJ1bmRsZVxET00mcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKVwuLlxXZWJQcm9jZXNzXEluamVjdGVkQnVuZGxlXHdpbiZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpXC4uXFdlYlByb2Nlc3NcUGx1Z2lucyZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpXC4uXFdlYlByb2Nlc3NcUGx1Z2luc1xOZXRzY2FwZSZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpXC4uXFdlYlByb2Nlc3Ncd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5c
V2ViUHJvY2Vzc1xBcHBsaWNhdGlvbkNhY2hlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5c
V2ViUHJvY2Vzc1xBdXRoZW50aWNhdGlvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFdl
YlByb2Nlc3NcQ29va2llcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFdlYlByb2Nlc3Nc
RG93bmxvYWRzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cV2ViUHJvY2Vzc1xEb3dubG9h
ZHNcY2YmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxXZWJQcm9jZXNzXEdlb2xvY2F0aW9u
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cV2ViUHJvY2Vzc1xLZXlWYWx1ZVN0b3JhZ2Um
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxXZWJQcm9jZXNzXFJlc291cmNlQ2FjaGUmcXVv
dDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJp
dmVkU291cmNlcyZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcSW5jbHVkZSZx
dW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcSW5jbHVkZVxwcml2YXRlJnF1b3Q7
OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxJbmNsdWRlJnF1b3Q7OyZxdW90OyQoV2ViS2l0
TGlicmFyaWVzRGlyKVxJbmNsdWRlXHByaXZhdGUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJp
ZXNEaXIpXEluY2x1ZGVccHRocmVhZHMmcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGRE
aXIpXEluY2x1ZGVcSmF2YVNjcmlwdENvcmUmcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVp
bGREaXIpXEluY2x1ZGVccHJpdmF0ZVxKYXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKFdlYktp
dExpYnJhcmllc0RpcilcSW5jbHVkZVxKYXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKFdlYktp
dExpYnJhcmllc0RpcilcSW5jbHVkZVxwcml2YXRlXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90
OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxJbmNsdWRlXFdlYkNvcmVcRm9yd2FyZGluZ0hlYWRl
cnMmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXEluY2x1ZGVcV2ViQ29yZVxGb3J3
YXJkaW5nSGVhZGVycyZxdW90OzsmcXVvdDskKEludERpcilcaW5jbHVkZSZxdW90OyIKIAkJUHJl
cHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9VU1JETEw7V0VCS0lUX0VYUE9SVFM7RlJBTUVXT1JLX05B
TUU9V2ViS2l0O0JVSUxESU5HX1dFQktJVCIKIAkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjIiCiAJ
CVByZWNvbXBpbGVkSGVhZGVyVGhyb3VnaD0iV2ViS2l0MlByZWZpeC5oIgpAQCAtMjAsOCArMjAs
NCBAQAogCQlBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPSImcXVvdDskKEludERpcilcbGli
JnF1b3Q7IgogCQlEZWxheUxvYWRETExzPSJ1c3AxMC5kbGw7Y29tY3RsMzIuZGxsO3ZlcnNpb24u
ZGxsO2xpYnhzbHQkKExpYnJhcnlDb25maWdTdWZmaXgpLmRsbDtTUUxpdGUzJChMaWJyYXJ5Q29u
ZmlnU3VmZml4KS5kbGw7aXBobHBhcGkuZGxsIgogCS8+Ci0JPFRvb2wKLQkJTmFtZT0iVkNSZXNv
dXJjZUNvbXBpbGVyVG9vbCIKLQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChDb25m
aWd1cmF0aW9uQnVpbGREaXIpXG9ialxXZWJLaXQyXCIKLQkvPgogPC9WaXN1YWxTdHVkaW9Qcm9w
ZXJ0eVNoZWV0PgpJbmRleDogU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJXZWJQcm9jZXNzLnJj
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyV2ViUHJvY2Vzcy5yYwko
cmV2aXNpb24gODAwMTApCisrKyBTb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MldlYlByb2Nlc3Mu
cmMJKHdvcmtpbmcgY29weSkKQEAgLTEsNDcgKzAsMCBAQAotLy8gTWljcm9zb2Z0IFZpc3VhbCBD
KysgZ2VuZXJhdGVkIHJlc291cmNlIHNjcmlwdC4KLS8vCi0jaW5jbHVkZSAiYXV0b3ZlcnNpb24u
aCIKLSNpbmNsdWRlICJ3aW5yZXNyYy5oIgotCi0jaWZkZWYgX1dJTjMyCi1MQU5HVUFHRSBMQU5H
X0VOR0xJU0gsIFNVQkxBTkdfRU5HTElTSF9VUwotI3ByYWdtYSBjb2RlX3BhZ2UoMTI1MikKLSNl
bmRpZiAvL19XSU4zMgotCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwotLy8KLS8vIFZlcnNpb24KLS8v
Ci0KLVZTX1ZFUlNJT05fSU5GTyBWRVJTSU9OSU5GTwotIEZJTEVWRVJTSU9OIF9fVkVSU0lPTl9N
QUpPUl9fLF9fVkVSU0lPTl9NSU5PUl9fLF9fVkVSU0lPTl9USU5ZX18sX19WRVJTSU9OX0JVSUxE
X18KLSBQUk9EVUNUVkVSU0lPTiBfX1ZFUlNJT05fTUFKT1JfXyxfX1ZFUlNJT05fTUlOT1JfXyxf
X1ZFUlNJT05fVElOWV9fLF9fVkVSU0lPTl9CVUlMRF9fCi0gRklMRUZMQUdTTUFTSyAweDE3TAot
I2lmZGVmIF9ERUJVRwotIEZJTEVGTEFHUyAweDFMCi0jZWxzZQotIEZJTEVGTEFHUyAweDBMCi0j
ZW5kaWYKLSBGSUxFT1MgMHg0TAotIEZJTEVUWVBFIDB4MkwKLSBGSUxFU1VCVFlQRSAweDBMCi1C
RUdJTgotICAgIEJMT0NLICJTdHJpbmdGaWxlSW5mbyIKLSAgICBCRUdJTgotICAgICAgICBCTE9D
SyAiMDQwOTA0YjAiCi0gICAgICAgIEJFR0lOCi0gICAgICAgICAgICBWQUxVRSAiRmlsZURlc2Ny
aXB0aW9uIiwgIldlYktpdDJXZWJQcm9jZXNzIgotICAgICAgICAgICAgVkFMVUUgIkZpbGVWZXJz
aW9uIiwgX19WRVJTSU9OX1RFWFRfXwotICAgICAgICAgICAgVkFMVUUgIkNvbXBhbnlOYW1lIiwg
IkFwcGxlIEluYy4iCi0gICAgICAgICAgICBWQUxVRSAiSW50ZXJuYWxOYW1lIiwgIldlYktpdDJX
ZWJQcm9jZXNzIgotICAgICAgICAgICAgVkFMVUUgIkxlZ2FsQ29weXJpZ2h0IiwgIkNvcHlyaWdo
dCBBcHBsZSBJbmMuIDIwMDMtIiBfX0NPUFlSSUdIVF9ZRUFSX0VORF9URVhUX18KLSAgICAgICAg
ICAgIFZBTFVFICJPcmlnaW5hbEZpbGVuYW1lIiwgIldlYktpdDJXZWJQcm9jZXNzLmV4ZSIKLSAg
ICAgICAgICAgIFZBTFVFICJQcm9kdWN0TmFtZSIsICJXZWJLaXQyIgotICAgICAgICAgICAgVkFM
VUUgIlByb2R1Y3RWZXJzaW9uIiwgX19CVUlMRF9OVU1CRVJfU0hPUlRfXwotICAgICAgICBFTkQK
LSAgICBFTkQKLSAgICBCTE9DSyAiVmFyRmlsZUluZm8iCi0gICAgQkVHSU4KLSAgICAgICAgVkFM
VUUgIlRyYW5zbGF0aW9uIiwgMHg0MDksIDEyMDAKLSAgICBFTkQKLUVORApJbmRleDogU291cmNl
L1dlYktpdDIvd2luL1dlYktpdDJXZWJQcm9jZXNzLnZjcHJvago9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi93aW4vV2ViS2l0MldlYlByb2Nlc3MudmNwcm9qCShyZXZpc2lvbiA4MDAxMCkK
KysrIFNvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyV2ViUHJvY2Vzcy52Y3Byb2oJKHdvcmtpbmcg
Y29weSkKQEAgLTQwMSwxMCArNDAxLDYgQEAKIAkJCVVuaXF1ZUlkZW50aWZpZXI9Ins5Mzk5NTM4
MC04OUJELTRiMDQtODhFQi02MjVGQkU1MkVCRkJ9IgogCQkJPgogCQk8L0ZpbHRlcj4KLQkJPEZp
bGUKLQkJCVJlbGF0aXZlUGF0aD0iLlxXZWJLaXQyV2ViUHJvY2Vzcy5yYyIKLQkJCT4KLQkJPC9G
aWxlPgogCTwvRmlsZXM+CiAJPEdsb2JhbHM+CiAJPC9HbG9iYWxzPgpJbmRleDogU291cmNlL1dl
YktpdDIvd2luL1dlYktpdDJXZWJQcm9jZXNzUG9zdEJ1aWxkLmNtZAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MldlYlByb2Nlc3NQb3N0QnVpbGQuY21kCShyZXZpc2lv
biA4MDAxMCkKKysrIFNvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyV2ViUHJvY2Vzc1Bvc3RCdWls
ZC5jbWQJKHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSw1IEBACiBta2RpciAyPk5VTCAiJU9VVERJ
UiVcLi5cYmluXFdlYktpdDJXZWJQcm9jZXNzLnJlc291cmNlcyIKIHhjb3B5IC95IC9kICIlUFJP
SkVDVERJUiVcV2ViS2l0MldlYlByb2Nlc3MucmVzb3VyY2VzXCoiICIlT1VURElSJVwuLlxiaW5c
V2ViS2l0MldlYlByb2Nlc3MucmVzb3VyY2VzIgoraWYgZXhpc3QgIiVXRUJLSVRMSUJSQVJJRVNE
SVIlXHRvb2xzXFZlcnNpb25TdGFtcGVyXFZlcnNpb25TdGFtcGVyLmV4ZSIgIiVXRUJLSVRMSUJS
QVJJRVNESVIlXHRvb2xzXFZlcnNpb25TdGFtcGVyXFZlcnNpb25TdGFtcGVyLmV4ZSIgLS12ZXJi
b3NlICIlVEFSR0VUUEFUSCUiCiAKIGlmIGV4aXN0ICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxi
dWlsZGZhaWxlZCIgZGVsICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxidWlsZGZhaWxlZCIKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyV2ViUHJvY2Vzc1ByZUJ1aWxkLmNtZAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MldlYlByb2Nlc3NQcmVCdWlsZC5j
bWQJKHJldmlzaW9uIDgwMDEwKQorKysgU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJXZWJQcm9j
ZXNzUHJlQnVpbGQuY21kCSh3b3JraW5nIGNvcHkpCkBAIC00LDUgKzQsMyBAQCBjbWQgL2MKIGlm
IGV4aXN0ICIlQ09ORklHVVJBVElPTkJVSUxERElSJVxidWlsZGZhaWxlZCIgZ3JlcCBYWCVQUk9K
RUNUTkFNRSVYWCAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcYnVpbGRmYWlsZWQiCiBpZiBlcnJv
cmxldmVsIDEgZXhpdCAxCiBlY2hvIFhYJVBST0pFQ1ROQU1FJVhYID4gIiVDT05GSUdVUkFUSU9O
QlVJTERESVIlXGJ1aWxkZmFpbGVkIgotCi1iYXNoICIlV0VCS0lUTElCUkFSSUVTRElSJVx0b29s
c1xzY3JpcHRzXGF1dG8tdmVyc2lvbi5zaCIgIiVJTlRESVIlIgpJbmRleDogU291cmNlL1dlYktp
dDIvd2luL1dlYktpdFBvc3RCdWlsZC5jbWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
d2luL1dlYktpdFBvc3RCdWlsZC5jbWQJKHJldmlzaW9uIDgwMDEwKQorKysgU291cmNlL1dlYktp
dDIvd2luL1dlYktpdFBvc3RCdWlsZC5jbWQJKHdvcmtpbmcgY29weSkKQEAgLTEgKzEsMiBAQAor
aWYgZXhpc3QgIiVXRUJLSVRMSUJSQVJJRVNESVIlXHRvb2xzXFZlcnNpb25TdGFtcGVyXFZlcnNp
b25TdGFtcGVyLmV4ZSIgIiVXRUJLSVRMSUJSQVJJRVNESVIlXHRvb2xzXFZlcnNpb25TdGFtcGVy
XFZlcnNpb25TdGFtcGVyLmV4ZSIgLS12ZXJib3NlICIlVEFSR0VUUEFUSCUiCiBpZiBleGlzdCAi
JUNPTkZJR1VSQVRJT05CVUlMRERJUiVcYnVpbGRmYWlsZWQiIGRlbCAiJUNPTkZJR1VSQVRJT05C
VUlMRERJUiVcYnVpbGRmYWlsZWQiCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCShyZXZpc2lvbiA4MDM2
MikKKysrIFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIyIEBACisyMDExLTAzLTA0ICBTdGV2ZSBGYWxrZW5idXJnICA8c2ZhbGtlbkBhcHBsZS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRv
cHQgVmVyc2lvblN0YW1wZXIgdG9vbCBmb3IgV2luZG93cyBXZWJLaXQgRExMcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTU1NTQKKworICAgICAgICBD
YWxjdWxhdGUgdGhlIFdlYktpdCB2ZXJzaW9uIGZvciB0aGUgdXNlcmFnZW50IHZpYSBhdXRvdmVy
c2lvbi5oCisgICAgICAgIGluc3RlYWQgb2YgcmVhZGluZyBpdCBiYWNrIGZyb20gdGhlIERMTC4K
KyAgICAgICAgCisgICAgICAgIFdlIG5vdyB1c2UgYSB0b29sIHRvIHN0YW1wIHRoZSB2ZXJzaW9u
IG51bWJlciBvbnRvIHRoZSBBcHBsZSBXZWJLaXQgRExMcworICAgICAgICBkdXJpbmcgdGhlIHBv
c3QtYnVpbGQgc3RlcC4KKworICAgICAgICAqIFdlYktpdC52Y3Byb2ovV2ViS2l0LnJjOiBSZW1v
dmVkLiBUaGlzIGZpbGUgd2Fzbid0IHVzZWQuCisgICAgICAgICogV2ViS2l0LnZjcHJvai9XZWJL
aXRMaWJDb21tb24udnNwcm9wczogUmVtb3ZlIGxlZnRvdmVyIGJ1aWxkIHJ1bGVzIGZvciByZXNv
dXJjZSBmaWxlcy4KKyAgICAgICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6OnN0
YW5kYXJkVXNlckFnZW50V2l0aEFwcGxpY2F0aW9uTmFtZSk6IFVzZSBfX0JVSUxEX05VTUJFUl9T
SE9SVF9fIGZvciB0aGUgdmVyc2lvbi4KKyAgICAgICAgKG9zVmVyc2lvbik6IFJlbW92ZWQKKwog
MjAxMS0wMy0wMyAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJW
aWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAkocmV2
aXNpb24gODAwMTApCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldl
YlZpZXcuaCIKIAorI2luY2x1ZGUgImF1dG92ZXJzaW9uLmgiCiAjaW5jbHVkZSAiQ0ZEaWN0aW9u
YXJ5UHJvcGVydHlCYWcuaCIKICNpbmNsdWRlICJET01Db3JlQ2xhc3Nlcy5oIgogI2luY2x1ZGUg
IkZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaCIKQEAgLTE4NCw3ICsxODUsNiBAQCBzdGF0aWMg
SE1PRFVMRSBhY2Nlc3NpYmlsaXR5TGliOwogc3RhdGljIEhhc2hTZXQ8V2ViVmlldyo+IHBlbmRp
bmdEZWxldGVCYWNraW5nU3RvcmVTZXQ7CiAKIHN0YXRpYyBTdHJpbmcgb3NWZXJzaW9uKCk7Ci1z
dGF0aWMgU3RyaW5nIHdlYktpdFZlcnNpb24oKTsKIAogV2ViVmlldyoga2l0KFBhZ2UqIHBhZ2Up
CiB7CkBAIC0xMjQzLDkgKzEyNDMsMTEgQEAgYm9vbCBXZWJWaWV3OjpjYW5IYW5kbGVSZXF1ZXN0
KGNvbnN0IFdlYgogCiBTdHJpbmcgV2ViVmlldzo6c3RhbmRhcmRVc2VyQWdlbnRXaXRoQXBwbGlj
YXRpb25OYW1lKGNvbnN0IFN0cmluZyYgYXBwbGljYXRpb25OYW1lKQogeworICAgIERFRklORV9T
VEFUSUNfTE9DQUwoU3RyaW5nLCB3ZWJLaXRWZXJzaW9uLCAoX19CVUlMRF9OVU1CRVJfU0hPUlRf
XykpOworCiAgICAgaWYgKGFwcGxpY2F0aW9uTmFtZS5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVy
biBtYWtlU3RyaW5nKCJNb3ppbGxhLzUuMCAoV2luZG93czsgIiwgb3NWZXJzaW9uKCksICIpIEFw
cGxlV2ViS2l0LyIsIHdlYktpdFZlcnNpb24oKSwgIiAoS0hUTUwsIGxpa2UgR2Vja28pIik7Ci0g
ICAgcmV0dXJuIG1ha2VTdHJpbmcoIk1vemlsbGEvNS4wIChXaW5kb3dzOyAiLCBvc1ZlcnNpb24o
KSwgIikgQXBwbGVXZWJLaXQvIiwgd2ViS2l0VmVyc2lvbigpLCAiIChLSFRNTCwgbGlrZSBHZWNr
bykgIiwgYXBwbGljYXRpb25OYW1lKTsKKyAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIk1vemls
bGEvNS4wIChXaW5kb3dzOyAiLCBvc1ZlcnNpb24oKSwgIikgQXBwbGVXZWJLaXQvIiwgd2ViS2l0
VmVyc2lvbiwgIiAoS0hUTUwsIGxpa2UgR2Vja28pIik7CisgICAgcmV0dXJuIG1ha2VTdHJpbmco
Ik1vemlsbGEvNS4wIChXaW5kb3dzOyAiLCBvc1ZlcnNpb24oKSwgIikgQXBwbGVXZWJLaXQvIiwg
d2ViS2l0VmVyc2lvbiwgIiAoS0hUTUwsIGxpa2UgR2Vja28pICIsIGFwcGxpY2F0aW9uTmFtZSk7
CiB9CiAKIFBhZ2UqIFdlYlZpZXc6OnBhZ2UoKQpAQCAtMjM1OSw0NCArMjM2MSw2IEBAIHN0YXRp
YyBTdHJpbmcgb3NWZXJzaW9uKCkKICAgICByZXR1cm4gb3NWZXJzaW9uOwogfQogCi1zdGF0aWMg
U3RyaW5nIHdlYktpdFZlcnNpb24oKQotewotICAgIFN0cmluZyB2ZXJzaW9uU3RyID0gIjQyMCsi
OwotICAgIHZvaWQqIGRhdGEgPSAwOwotCi0gICAgc3RydWN0IExBTkdBTkRDT0RFUEFHRSB7Ci0g
ICAgICAgIFdPUkQgd0xhbmd1YWdlOwotICAgICAgICBXT1JEIHdDb2RlUGFnZTsKLSAgICB9ICps
cFRyYW5zbGF0ZTsKLQotICAgIFRDSEFSIHBhdGhbTUFYX1BBVEhdOwotICAgIEdldE1vZHVsZUZp
bGVOYW1lKGdJbnN0YW5jZSwgcGF0aCwgV1RGX0FSUkFZX0xFTkdUSChwYXRoKSk7Ci0gICAgRFdP
UkQgaGFuZGxlOwotICAgIERXT1JEIHZlcnNpb25TaXplID0gR2V0RmlsZVZlcnNpb25JbmZvU2l6
ZShwYXRoLCAmaGFuZGxlKTsKLSAgICBpZiAoIXZlcnNpb25TaXplKQotICAgICAgICBnb3RvIGV4
aXQ7Ci0gICAgZGF0YSA9IG1hbGxvYyh2ZXJzaW9uU2l6ZSk7Ci0gICAgaWYgKCFkYXRhKQotICAg
ICAgICBnb3RvIGV4aXQ7Ci0gICAgaWYgKCFHZXRGaWxlVmVyc2lvbkluZm8ocGF0aCwgMCwgdmVy
c2lvblNpemUsIGRhdGEpKQotICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgVUlOVCBjYlRyYW5zbGF0
ZTsKLSAgICBpZiAoIVZlclF1ZXJ5VmFsdWUoZGF0YSwgVEVYVCgiXFxWYXJGaWxlSW5mb1xcVHJh
bnNsYXRpb24iKSwgKExQVk9JRCopJmxwVHJhbnNsYXRlLCAmY2JUcmFuc2xhdGUpKQotICAgICAg
ICBnb3RvIGV4aXQ7Ci0gICAgVENIQVIga2V5WzI1Nl07Ci0gICAgX3N0cHJpbnRmX3Moa2V5LCBX
VEZfQVJSQVlfTEVOR1RIKGtleSksIFRFWFQoIlxcU3RyaW5nRmlsZUluZm9cXCUwNHglMDR4XFxQ
cm9kdWN0VmVyc2lvbiIpLCBscFRyYW5zbGF0ZVswXS53TGFuZ3VhZ2UsIGxwVHJhbnNsYXRlWzBd
LndDb2RlUGFnZSk7Ci0gICAgTFBDVFNUUiBwcm9kdWN0VmVyc2lvbjsKLSAgICBVSU5UIHByb2R1
Y3RWZXJzaW9uTGVuZ3RoOwotICAgIGlmICghVmVyUXVlcnlWYWx1ZShkYXRhLCAoTFBUU1RSKShM
UENUU1RSKWtleSwgKHZvaWQqKikmcHJvZHVjdFZlcnNpb24sICZwcm9kdWN0VmVyc2lvbkxlbmd0
aCkpCi0gICAgICAgIGdvdG8gZXhpdDsKLSAgICB2ZXJzaW9uU3RyID0gU3RyaW5nKHByb2R1Y3RW
ZXJzaW9uLCBwcm9kdWN0VmVyc2lvbkxlbmd0aCAtIDEpOwotCi1leGl0OgotICAgIGlmIChkYXRh
KQotICAgICAgICBmcmVlKGRhdGEpOwotICAgIHJldHVybiB2ZXJzaW9uU3RyOwotfQotCiBjb25z
dCBTdHJpbmcmIFdlYlZpZXc6OnVzZXJBZ2VudEZvcktVUkwoY29uc3QgS1VSTCYpCiB7CiAgICAg
aWYgKG1fdXNlckFnZW50T3ZlcnJpZGRlbikKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYktp
dC52Y3Byb2ovV2ViS2l0LnJjCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL1dlYktp
dC52Y3Byb2ovV2ViS2l0LnJjCShyZXZpc2lvbiA4MDAxMCkKKysrIFNvdXJjZS9XZWJLaXQvd2lu
L1dlYktpdC52Y3Byb2ovV2ViS2l0LnJjCSh3b3JraW5nIGNvcHkpCkBAIC0xLDg5ICswLDAgQEAK
LS8vIE1pY3Jvc29mdCBWaXN1YWwgQysrIGdlbmVyYXRlZCByZXNvdXJjZSBzY3JpcHQuCi0vLwot
I2luY2x1ZGUgInJlc291cmNlLmgiCi0jaW5jbHVkZSAiYXV0b3ZlcnNpb24uaCIKLSNpbmNsdWRl
ICJ3aW5yZXNyYy5oIgotCi0jaWZkZWYgX1dJTjMyCi1MQU5HVUFHRSBMQU5HX0VOR0xJU0gsIFNV
QkxBTkdfRU5HTElTSF9VUwotI3ByYWdtYSBjb2RlX3BhZ2UoMTI1MikKLSNlbmRpZiAvL19XSU4z
MgotCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwotLy8KLS8vIFRZUEVMSUIKLS8vCi0KLUlEUl9XRUJL
SVQgICAgICAgICAgICAgIFRZUEVMSUIgICAgICAgICAgICAgICAgICJXZWJLaXQudGxiIgotCi0v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLwotLy8KLS8vIFZlcnNpb24KLS8vCi0KLVZTX1ZFUlNJT05fSU5G
TyBWRVJTSU9OSU5GTwotIEZJTEVWRVJTSU9OIF9fVkVSU0lPTl9NQUpPUl9fLF9fVkVSU0lPTl9N
SU5PUl9fLF9fVkVSU0lPTl9USU5ZX18sX19WRVJTSU9OX0JVSUxEX18KLSBQUk9EVUNUVkVSU0lP
TiBfX1ZFUlNJT05fTUFKT1JfXyxfX1ZFUlNJT05fTUlOT1JfXyxfX1ZFUlNJT05fVElOWV9fLF9f
VkVSU0lPTl9CVUlMRF9fCi0gRklMRUZMQUdTTUFTSyAweDE3TAotI2lmZGVmIF9ERUJVRwotIEZJ
TEVGTEFHUyAweDFMCi0jZWxzZQotIEZJTEVGTEFHUyAweDBMCi0jZW5kaWYKLSBGSUxFT1MgMHg0
TAotIEZJTEVUWVBFIDB4MkwKLSBGSUxFU1VCVFlQRSAweDBMCi1CRUdJTgotICAgIEJMT0NLICJT
dHJpbmdGaWxlSW5mbyIKLSAgICBCRUdJTgotICAgICAgICBCTE9DSyAiMDQwOTA0YjAiCi0gICAg
ICAgIEJFR0lOCi0gICAgICAgICAgICBWQUxVRSAiRmlsZURlc2NyaXB0aW9uIiwgIldlYktpdCBE
eW5hbWljIExpbmsgTGlicmFyeSIKLSAgICAgICAgICAgIFZBTFVFICJGaWxlVmVyc2lvbiIsIF9f
VkVSU0lPTl9URVhUX18KLSAgICAgICAgICAgIFZBTFVFICJDb21wYW55TmFtZSIsICJBcHBsZSBJ
bmMuIgotICAgICAgICAgICAgVkFMVUUgIkludGVybmFsTmFtZSIsICJXZWJLaXQiCi0gICAgICAg
ICAgICBWQUxVRSAiTGVnYWxDb3B5cmlnaHQiLCAiQ29weXJpZ2h0IEFwcGxlIEluYy4gMjAwMy0i
IF9fQ09QWVJJR0hUX1lFQVJfRU5EX1RFWFRfXwotICAgICAgICAgICAgVkFMVUUgIk9yaWdpbmFs
RmlsZW5hbWUiLCAiV2ViS2l0LmRsbCIKLSAgICAgICAgICAgIFZBTFVFICJQcm9kdWN0TmFtZSIs
ICJXZWJLaXQiCi0gICAgICAgICAgICBWQUxVRSAiUHJvZHVjdFZlcnNpb24iLCBfX0JVSUxEX05V
TUJFUl9TSE9SVF9fCi0gICAgICAgIEVORAotICAgIEVORAotICAgIEJMT0NLICJWYXJGaWxlSW5m
byIKLSAgICBCRUdJTgotICAgICAgICBWQUxVRSAiVHJhbnNsYXRpb24iLCAweDQwOSwgMTIwMAot
ICAgIEVORAotRU5ECi0KLQotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLS8vCi0vLyBQTkcKLS8vCi0K
LUlEUl9SRVNJWkVfQ09STkVSICAgICAgICAgICAgICAgIFBORyAgICAgICAgICAgICAgICAgICAg
ICJ0ZXh0QXJlYVJlc2l6ZUNvcm5lci5wbmciCi1JRFJfTUlTU0lOR19JTUFHRSAgICAgICAgICAg
ICAgICBQTkcgICAgICAgICAgICAgICAgICAgICAibWlzc2luZ0ltYWdlLnBuZyIKLUlEUl9OVUxM
X1BMVUdJTiAgICAgICAgICAgICAgICAgIFBORyAgICAgICAgICAgICAgICAgICAgICJudWxscGx1
Z2luLnBuZyIKLUlEUl9ERUxFVEVfQlVUVE9OICAgICAgICAgICAgICAgIFBORyAgICAgICAgICAg
ICAgICAgICAgICJkZWxldGVCdXR0b24ucG5nIgotSURSX0RFTEVURV9CVVRUT05fUFJFU1NFRCAg
ICAgICAgUE5HICAgICAgICAgICAgICAgICAgICAgImRlbGV0ZUJ1dHRvblByZXNzZWQucG5nIgot
SURSX1pPT01fSU5fQ1VSU09SICAgICAgICAgICAgICAgUE5HICAgICAgICAgICAgICAgICAgICAg
Inpvb21JbkN1cnNvci5wbmciCi1JRFJfWk9PTV9PVVRfQ1VSU09SICAgICAgICAgICAgICBQTkcg
ICAgICAgICAgICAgICAgICAgICAiem9vbU91dEN1cnNvci5wbmciCi1JRFJfVkVSVElDQUxfVEVY
VF9DVVJTT1IgICAgICAgICBQTkcgICAgICAgICAgICAgICAgICAgICAidmVydGljYWxUZXh0Q3Vy
c29yLnBuZyIKLUlEUl9QQU5fU0NST0xMX0lDT04gICAgICAgICAgICAgIFBORyAgICAgICAgICAg
ICAgICAgICAgICJwYW5JY29uLnBuZyIKLUlEUl9QQU5fU09VVEhfQ1VSU09SICAgICAgICAgICAg
IFBORyAgICAgICAgICAgICAgICAgICAgICJwYW5Tb3V0aEN1cnNvci5wbmciCi1JRFJfUEFOX05P
UlRIX0NVUlNPUiAgICAgICAgICAgICBQTkcgICAgICAgICAgICAgICAgICAgICAicGFuTm9ydGhD
dXJzb3IucG5nIgotSURSX1BBTl9FQVNUX0NVUlNPUiAgICAgICAgICAgICAgUE5HICAgICAgICAg
ICAgICAgICAgICAgInBhbkVhc3RDdXJzb3IucG5nIgotSURSX1BBTl9XRVNUX0NVUlNPUiAgICAg
ICAgICAgICAgUE5HICAgICAgICAgICAgICAgICAgICAgInBhbldlc3RDdXJzb3IucG5nIgotSURS
X1BBTl9TT1VUSF9FQVNUX0NVUlNPUiAgICAgICAgUE5HICAgICAgICAgICAgICAgICAgICAgInBh
blNvdXRoRWFzdEN1cnNvci5wbmciCi1JRFJfUEFOX1NPVVRIX1dFU1RfQ1VSU09SICAgICAgICBQ
TkcgICAgICAgICAgICAgICAgICAgICAicGFuU291dGhXZXN0Q3Vyc29yLnBuZyIKLUlEUl9QQU5f
Tk9SVEhfRUFTVF9DVVJTT1IgICAgICAgIFBORyAgICAgICAgICAgICAgICAgICAgICJwYW5Ob3J0
aEVhc3RDdXJzb3IucG5nIgotSURSX1BBTl9OT1JUSF9XRVNUX0NVUlNPUiAgICAgICAgUE5HICAg
ICAgICAgICAgICAgICAgICAgInBhbk5vcnRoV2VzdEN1cnNvci5wbmciCi1JRFJfU0VBUkNIX0NB
TkNFTCAgICAgICAgICAgICAgICBQTkcgICAgICAgICAgICAgICAgICAgICAic2VhcmNoQ2FuY2Vs
LnBuZyIKLUlEUl9TRUFSQ0hfQ0FOQ0VMX1BSRVNTRUQgICAgICAgIFBORyAgICAgICAgICAgICAg
ICAgICAgICJzZWFyY2hDYW5jZWxQcmVzc2VkLnBuZyIKLUlEUl9TRUFSQ0hfTUFHTklGSUVSICAg
ICAgICAgICAgIFBORyAgICAgICAgICAgICAgICAgICAgICJzZWFyY2hNYWduaWZpZXIucG5nIgot
SURSX1NFQVJDSF9NQUdOSUZJRVJfUkVTVUxUUyAgICAgUE5HICAgICAgICAgICAgICAgICAgICAg
InNlYXJjaE1hZ25pZmllclJlc3VsdHMucG5nIgotSURSX0ZTX1ZJREVPX0FVRElPX1ZPTFVNRV9I
SUdIICAgUE5HICAgICAgICAgICAgICAgICAgICAgImZzVmlkZW9BdWRpb1ZvbHVtZUhpZ2gucG5n
IgotSURSX0ZTX1ZJREVPX0FVRElPX1ZPTFVNRV9MT1cgICAgUE5HICAgICAgICAgICAgICAgICAg
ICAgImZzVmlkZW9BdWRpb1ZvbHVtZUxvdy5wbmciCi1JRFJfRlNfVklERU9fRVhJVF9GVUxMU0NS
RUVOICAgICBQTkcgICAgICAgICAgICAgICAgICAgICAiZnNWaWRlb0V4aXRGdWxsc2NyZWVuLnBu
ZyIKLUlEUl9GU19WSURFT19QQVVTRSAgICAgICAgICAgICAgIFBORyAgICAgICAgICAgICAgICAg
ICAgICJmc1ZpZGVvUGF1c2UucG5nIgotSURSX0ZTX1ZJREVPX1BMQVkgICAgICAgICAgICAgICAg
UE5HICAgICAgICAgICAgICAgICAgICAgImZzVmlkZW9QbGF5LnBuZyIKLQpJbmRleDogU291cmNl
L1dlYktpdC93aW4vV2ViS2l0LnZjcHJvai9XZWJLaXRMaWJDb21tb24udnNwcm9wcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJLaXQudmNwcm9qL1dlYktpdExpYkNvbW1vbi52
c3Byb3BzCShyZXZpc2lvbiA4MDAxMCkKKysrIFNvdXJjZS9XZWJLaXQvd2luL1dlYktpdC52Y3By
b2ovV2ViS2l0TGliQ29tbW9uLnZzcHJvcHMJKHdvcmtpbmcgY29weSkKQEAgLTE1LDggKzE1LDQg
QEAKIAkJRGlzYWJsZVNwZWNpZmljV2FybmluZ3M9IjQ4MTkiCiAJCUZvcmNlZEluY2x1ZGVGaWxl
cz0iV2ViS2l0UHJlZml4Lmg7SUNVVmVyc2lvbi5oIgogCS8+Ci0gIDxUb29sCi0JCU5hbWU9IlZD
UmVzb3VyY2VDb21waWxlclRvb2wiCi0JCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQo
Q29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcV2ViS2l0XCIKLQkvPgogPC9WaXN1YWxTdHVkaW9Q
cm9wZXJ0eVNoZWV0Pgo=
</data>
<flag name="review"
          id="76811"
          type_id="1"
          status="-"
          setter="mrowe"
    />
          </attachment>
      

    </bug>

</bugzilla>