<?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>132308</bug_id>
          
          <creation_ts>2014-04-28 15:59:13 -0700</creation_ts>
          <short_desc>Shortcircuit shouldUseCredentialStorage callback</short_desc>
          <delta_ts>2014-05-04 15:54:26 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>132543</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Pratik Solanki">psolanki</reporter>
          <assigned_to name="Pratik Solanki">psolanki</assigned_to>
          <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>berto</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>danw</cc>
    
    <cc>gustavo</cc>
    
    <cc>kling</cc>
    
    <cc>mitz</cc>
    
    <cc>mrobinson</cc>
    
    <cc>psolanki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1004760</commentid>
    <comment_count>0</comment_count>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2014-04-28 15:59:13 -0700</bug_when>
    <thetext>If we are going to tell CFNetwork to use the credential storage then we don&apos;t really need a callback from them. Default answer is true.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004761</commentid>
    <comment_count>1</comment_count>
      <attachid>230330</attachid>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2014-04-28 16:02:58 -0700</bug_when>
    <thetext>Created attachment 230330
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004774</commentid>
    <comment_count>2</comment_count>
      <attachid>230330</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-04-28 16:29:47 -0700</bug_when>
    <thetext>Comment on attachment 230330
Patch

Why is this important for ResourceHandleCF but not ResourceHandleMac?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004783</commentid>
    <comment_count>3</comment_count>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2014-04-28 17:03:43 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 230330 [details])
&gt; Why is this important for ResourceHandleCF but not ResourceHandleMac?

How would we do this for ResourceHandleMac? How do we dynamically remove the objc method -[WebCoreResourceHandleAsOperationQueueDelegate connectionShouldUseCredentialStorage:]? We should do it for ResourceHandleMac if it is possible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004803</commentid>
    <comment_count>4</comment_count>
      <attachid>230330</attachid>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2014-04-28 17:41:10 -0700</bug_when>
    <thetext>Comment on attachment 230330
Patch

Marking for review again unless someone has an idea for how to do this for ResourceHandleMac.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004816</commentid>
    <comment_count>5</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-04-28 18:22:50 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; (From update of attachment 230330 [details] [details])
&gt; &gt; Why is this important for ResourceHandleCF but not ResourceHandleMac?
&gt; 
&gt; How would we do this for ResourceHandleMac? How do we dynamically remove the objc method -[WebCoreResourceHandleAsOperationQueueDelegate connectionShouldUseCredentialStorage:]? We should do it for ResourceHandleMac if it is possible.

You don&apos;t dynamically *remove* the objective-C method.

You either dynamically *add* the method (which is possible, if not a little dirty), or you have a base-class delegate without the method, then subclass to add the method, and choose which class to instantiate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004817</commentid>
    <comment_count>6</comment_count>
      <attachid>230330</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-04-28 18:23:16 -0700</bug_when>
    <thetext>Comment on attachment 230330
Patch

I listed two ways this could be done for Mac in a comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005986</commentid>
    <comment_count>7</comment_count>
      <attachid>230653</attachid>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2014-05-01 22:52:43 -0700</bug_when>
    <thetext>Created attachment 230653
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006037</commentid>
    <comment_count>8</comment_count>
      <attachid>230653</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-05-02 10:20:37 -0700</bug_when>
    <thetext>Comment on attachment 230653
Patch

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

&gt; Source/WebCore/ChangeLog:4
&gt; +        Shortcircuit shouldUseCredentialStorage callback
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=132308

This looks like a good idea to me.

The code is very confusing, so I think that this change should balance that by cleaning up at least some of the cruft right away. In particular, shouldn&apos;t shouldUseCredentialStorageAsync be eliminated? As we hardcode the answer (in NetworkProcess) by either providing or not providing a callback, all this complicated machinery is essentially dead code.

&gt; Source/WebCore/platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:338
&gt; +- (BOOL)connectionShouldUseCredentialStorage:(NSURLConnection *)connection

This function looks like it should always return NO (or YES? I&apos;m confused).

Is there a reason to still jump to the main thread?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006124</commentid>
    <comment_count>9</comment_count>
      <attachid>230653</attachid>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2014-05-02 13:29:58 -0700</bug_when>
    <thetext>Comment on attachment 230653
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:4
&gt;&gt; +        https://bugs.webkit.org/show_bug.cgi?id=132308
&gt; 
&gt; This looks like a good idea to me.
&gt; 
&gt; The code is very confusing, so I think that this change should balance that by cleaning up at least some of the cruft right away. In particular, shouldn&apos;t shouldUseCredentialStorageAsync be eliminated? As we hardcode the answer (in NetworkProcess) by either providing or not providing a callback, all this complicated machinery is essentially dead code.

That&apos;s true. I realized that and was going to do in a  followup path but maybe I can just clean this up now. Will definitely be easier.

&gt;&gt; Source/WebCore/platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:338
&gt;&gt; +- (BOOL)connectionShouldUseCredentialStorage:(NSURLConnection *)connection
&gt; 
&gt; This function looks like it should always return NO (or YES? I&apos;m confused).
&gt; 
&gt; Is there a reason to still jump to the main thread?

Yeah, we don&apos;t need to jump to main thread. We can just return NO.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006138</commentid>
    <comment_count>10</comment_count>
      <attachid>230694</attachid>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2014-05-02 13:57:10 -0700</bug_when>
    <thetext>Created attachment 230694
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006168</commentid>
    <comment_count>11</comment_count>
      <attachid>230694</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-05-02 14:56:42 -0700</bug_when>
    <thetext>Comment on attachment 230694
Patch

r=me

Please unbreak the builds before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006242</commentid>
    <comment_count>12</comment_count>
      <attachid>230723</attachid>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2014-05-02 17:39:00 -0700</bug_when>
    <thetext>Created attachment 230723
For the bots

Updated patch for the bots. I also removed continueShouldUseCredentialStorage() with this version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006418</commentid>
    <comment_count>13</comment_count>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2014-05-03 17:06:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/16806708&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006420</commentid>
    <comment_count>14</comment_count>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2014-05-03 17:18:04 -0700</bug_when>
    <thetext>Committed r168232: &lt;http://trac.webkit.org/changeset/168232&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006465</commentid>
    <comment_count>15</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-05-03 22:42:30 -0700</bug_when>
    <thetext>Mavericks WK2 Debug is crashing on a couple of tests after this change:
http://build.webkit.org/builders/Apple%20Mavericks%20Debug%20WK2%20%28Tests%29/builds/4408

Could you take a look, or should we roll it out?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006469</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-05-03 23:24:20 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 132543</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006505</commentid>
    <comment_count>17</comment_count>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2014-05-04 15:54:26 -0700</bug_when>
    <thetext>Committed r168248: &lt;http://trac.webkit.org/changeset/168248&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230330</attachid>
            <date>2014-04-28 16:02:58 -0700</date>
            <delta_ts>2014-05-01 22:52:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132308-20140428160235.patch</filename>
            <type>text/plain</type>
            <size>4197</size>
            <attacher name="Pratik Solanki">psolanki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY3ODk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmYwMGYzMWVjNGI0NzY4
NzgyODcxZGRiNDVhN2QzYWViYTJhYTVlYS4uMzU5OGE1NmQ5N2EzODk3OGMzZjE3ZTE0NThkZTdj
MjVjODNjYmQ5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE0LTA0LTI4ICBQcmF0
aWsgU29sYW5raSAgPHBzb2xhbmtpQGFwcGxlLmNvbT4KKworICAgICAgICBTaG9ydGNpcmN1aXQg
c2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UgY2FsbGJhY2sKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMjMwOAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElmIHdlIGFyZSBnb2luZyB0byByZXR1cm4gdHJ1
ZSBmcm9tIHRoZSBzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZSBjYWxsYmFjayB0aGVuIHdlIGRv
bid0CisgICAgICAgIHJlYWxseSBuZWVkIHRvIGhhdmUgQ0ZOZXR3b3JrIGNhbGwgdXMuIFdlIGNh
biBqdXN0IGRpc2FibGUgdGVoIGNhbGxiYWNrIGFuZCBDRk5ldHdvcmsgd2lsbAorICAgICAgICBh
c3N1bWUgdHJ1ZS4gVGhpcyBhdm9pZHMgdW5uZWNlc3NhcnkgcGluZ3BvbmdpbmcgYmV0d2VlbiB0
aGUgZGlzcGF0Y2ggcXVldWUgYW5kIHRoZSBtYWluCisgICAgICAgIHRocmVhZC4KKworICAgICAg
ICBObyBuZXcgdGVzdHMgYmVjYXVzZSBubyBjaGFuZ2UgaW4gZnVuY3Rpb25hbGl0eS4KKworICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRk5ldC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlQ0ZVUkxDb25uZWN0aW9uKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9u
RGVsZWdhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGVDRlVSTENvbm5l
Y3Rpb25EZWxlZ2F0ZTo6bWFrZUNvbm5lY3Rpb25DbGllbnQpOgorICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZS5oOgorCiAy
MDE0LTA0LTI4ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTY3ODcxLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZUhhbmRsZUNGTmV0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRk5ldC5jcHAK
aW5kZXggMTc4MWNlMjQyYzMyNGJlMDQ0ZGQwNWMzODRiMTA1MDNlNmU3ZDY1Zi4uNjFmMDE3NzNj
MzcyYjBhMWMxNTY5MWI2N2MwY2FhM2I2YmQxMjNhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZUhhbmRsZUNGTmV0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZOZXQuY3BwCkBA
IC0yMjcsNyArMjI3LDcgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlQ0ZVUkxDb25uZWN0
aW9uKGJvb2wgc2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UsIGJvb2wKICNlbmRpZgogICAgIGQt
Pm1fY29ubmVjdGlvbkRlbGVnYXRlLT5zZXR1cFJlcXVlc3QocmVxdWVzdC5nZXQoKSk7CiAKLSAg
ICBDRlVSTENvbm5lY3Rpb25DbGllbnRfVjYgY2xpZW50ID0gZC0+bV9jb25uZWN0aW9uRGVsZWdh
dGUtPm1ha2VDb25uZWN0aW9uQ2xpZW50KCk7CisgICAgQ0ZVUkxDb25uZWN0aW9uQ2xpZW50X1Y2
IGNsaWVudCA9IGQtPm1fY29ubmVjdGlvbkRlbGVnYXRlLT5tYWtlQ29ubmVjdGlvbkNsaWVudChz
aG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZSk7CiAKICAgICBkLT5tX2Nvbm5lY3Rpb24gPSBhZG9w
dENGKENGVVJMQ29ubmVjdGlvbkNyZWF0ZVdpdGhQcm9wZXJ0aWVzKDAsIHJlcXVlc3QuZ2V0KCks
IHJlaW50ZXJwcmV0X2Nhc3Q8Q0ZVUkxDb25uZWN0aW9uQ2xpZW50Kj4oJmNsaWVudCksIHByb3Bl
cnRpZXNEaWN0aW9uYXJ5LmdldCgpKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZUhhbmRsZUNG
VVJMQ29ubmVjdGlvbkRlbGVnYXRlLmNwcAppbmRleCBjZTg1NjUwNGQ0YzU4YWQ2NjM3YzZjMGYz
YWIzMGRhZDc3YmRkZmEzLi42Yzk1NjgyYjU5NDJmYTdkYmU1MDYwNzgzOWVhMjMwYjhhODFhN2M5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNl
SGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZS5j
cHAKQEAgLTE3MSw3ICsxNzEsNyBAQCBSZXNvdXJjZVJlcXVlc3QgUmVzb3VyY2VIYW5kbGVDRlVS
TENvbm5lY3Rpb25EZWxlZ2F0ZTo6Y3JlYXRlUmVzb3VyY2VSZXF1ZXN0KENGVQogICAgIHJldHVy
biByZXF1ZXN0OwogfQogCi1DRlVSTENvbm5lY3Rpb25DbGllbnRfVjYgUmVzb3VyY2VIYW5kbGVD
RlVSTENvbm5lY3Rpb25EZWxlZ2F0ZTo6bWFrZUNvbm5lY3Rpb25DbGllbnQoKSBjb25zdAorQ0ZV
UkxDb25uZWN0aW9uQ2xpZW50X1Y2IFJlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdh
dGU6Om1ha2VDb25uZWN0aW9uQ2xpZW50KGJvb2wgc2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2Up
IGNvbnN0CiB7CiAgICAgQ0ZVUkxDb25uZWN0aW9uQ2xpZW50X1Y2IGNsaWVudCA9IHsgNiwgdGhp
cywgMCwgMCwgMCwKICAgICAgICAgJlJlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdh
dGU6OndpbGxTZW5kUmVxdWVzdENhbGxiYWNrLApAQCAtMTk3LDYgKzE5NywxMCBAQCBDRlVSTENv
bm5lY3Rpb25DbGllbnRfVjYgUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZTo6
bWFrZUNvbm5lY3Rpb25DbAogICAgICAgICAwCiAjZW5kaWYKICAgICB9OworCisgICAgaWYgKHNo
b3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlKQorICAgICAgICBjbGllbnQuc2hvdWxkVXNlQ3JlZGVu
dGlhbFN0b3JhZ2UgPSAwOworCiAgICAgcmV0dXJuIGNsaWVudDsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZUhhbmRsZUNGVVJMQ29u
bmVjdGlvbkRlbGVnYXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jl
c291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGUuaAppbmRleCAyNDA5YzhjMjBiZThh
YTAwOGJjY2EwZDg5NzljZGEzMTI5NTQ2N2EwLi5mNjZmNjc4NDc5ZDI1MTkxNjhiY2JhYWFjY2Q1
NWQ0M2Y1MzNlMDEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L2NmL1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9u
RGVsZWdhdGUuaApAQCAtNDIsNyArNDIsNyBAQCBwdWJsaWM6CiAgICAgUmVzb3VyY2VIYW5kbGVD
RlVSTENvbm5lY3Rpb25EZWxlZ2F0ZShSZXNvdXJjZUhhbmRsZSopOwogICAgIHZpcnR1YWwgflJl
c291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGUoKTsKIAotICAgIENGVVJMQ29ubmVj
dGlvbkNsaWVudF9WNiBtYWtlQ29ubmVjdGlvbkNsaWVudCgpIGNvbnN0OworICAgIENGVVJMQ29u
bmVjdGlvbkNsaWVudF9WNiBtYWtlQ29ubmVjdGlvbkNsaWVudChib29sKSBjb25zdDsKICAgICB2
aXJ0dWFsIHZvaWQgc2V0dXBSZXF1ZXN0KENGTXV0YWJsZVVSTFJlcXVlc3RSZWYpID0gMDsKICAg
ICB2aXJ0dWFsIHZvaWQgc2V0dXBDb25uZWN0aW9uU2NoZWR1bGluZyhDRlVSTENvbm5lY3Rpb25S
ZWYpID0gMDsKICAgICB2b2lkIHJlbGVhc2VIYW5kbGUoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230653</attachid>
            <date>2014-05-01 22:52:43 -0700</date>
            <delta_ts>2014-05-02 13:57:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132308-20140501225221.patch</filename>
            <type>text/plain</type>
            <size>9694</size>
            <attacher name="Pratik Solanki">psolanki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY4MTQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjMyM2I2Mjc1OTQ1YWI1
NjdiZTBlOTY2MzMyMzE4NTE4MDRjZjEzMC4uZGJmOWZlMTJlMWQyYWY5NjA3YWMyZDc0MGYxM2Fk
NGMwY2JmMjQ3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE0LTA1LTAxICBQcmF0
aWsgU29sYW5raSAgPHBzb2xhbmtpQGFwcGxlLmNvbT4KKworICAgICAgICBTaG9ydGNpcmN1aXQg
c2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UgY2FsbGJhY2sKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMjMwOAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElmIHdlIGFyZSBnb2luZyB0byByZXR1cm4gdHJ1
ZSBmcm9tIHRoZSBzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZSBjYWxsYmFjayB0aGVuIHdlIGRv
bid0CisgICAgICAgIHJlYWxseSBuZWVkIHRvIGhhdmUgQ0ZOZXR3b3JrL0ZvdW5kYXRpb24gY2Fs
bCB1cy4gV2UgY2FuIGp1c3QgZGlzYWJsZSB0aGUgY2FsbGJhY2sgYW5kCisgICAgICAgIENGTmV0
d29yayB3aWxsIGFzc3VtZSB0cnVlLiBUaGlzIGF2b2lkcyB1bm5lY2Vzc2FyeSBwaW5ncG9uZ2lu
ZyBiZXR3ZWVuIHRoZSBkaXNwYXRjaCBxdWV1ZQorICAgICAgICBhbmQgdGhlIG1haW4gdGhyZWFk
LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIG5vIGNoYW5nZSBpbiBmdW5jdGlvbmFs
aXR5LgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRk5ldC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlQ0ZVUkxDb25uZWN0aW9uKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpzdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZXNvdXJjZUhhbmRsZTo6bWFrZURlbGVnYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNl
SGFuZGxlOjpkZWxlZ2F0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6cGxh
dGZvcm1Mb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09w
ZXJhdGlvblF1ZXVlRGVsZWdhdGUubW06CisgICAgICAgICgtW1dlYkNvcmVSZXNvdXJjZUhhbmRs
ZVdpdGhDcmVkZW50aWFsU3RvcmFnZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZSBjb25uZWN0aW9u
U2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2U6XSk6CisgICAgICAgICgtW1dlYkNvcmVSZXNvdXJj
ZUhhbmRsZVdpdGhDcmVkZW50aWFsU3RvcmFnZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZSBjb250
aW51ZVNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlOl0pOgorCiAyMDE0LTA1LTAxICBHeXV5b3Vu
ZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgQ29udmVydCBPd25Q
dHIgYW5kIFBhc3NPd25QdHIgdXNlcyB0byBzdGQ6OnVuaXF1ZV9wdHIgaW4gU3VwcGxlbWVudApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRs
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oCmlu
ZGV4IDYyNDY4MmM4OGU5NDhlOTI1Y2E3MGZjNTY2MGI2Mzc3M2ZlN2U4ZDguLjUzYjlhYTZiMDg3
OWY0ZDQ0YjgyMGM0Y2RmZjBhNzIzYzM3NTQwNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmgKQEAgLTEzMCw2ICsxMzAsNyBAQCBwdWJs
aWM6CiAjaWYgUExBVEZPUk0oQ09DT0EpICYmICFVU0UoQ0ZORVRXT1JLKQogICAgIHZvaWQgZGlk
Q2FuY2VsQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoY29uc3QgQXV0aGVudGljYXRpb25DaGFsbGVu
Z2UmKTsKICAgICBOU1VSTENvbm5lY3Rpb24gKmNvbm5lY3Rpb24oKSBjb25zdDsKKyAgICBpZCBt
YWtlRGVsZWdhdGUoYm9vbCk7CiAgICAgaWQgZGVsZWdhdGUoKTsKICAgICB2b2lkIHJlbGVhc2VE
ZWxlZ2F0ZSgpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZOZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9jZi9SZXNvdXJjZUhhbmRsZUNGTmV0LmNwcAppbmRleCAxNzgxY2UyNDJjMzI0
YmUwNDRkZDA1YzM4NGIxMDUwM2U2ZTdkNjVmLi43MTgxNDEzZDc2YzBmOWRhYzk4OTA2Zjk2ZTg4
NGEwOWM5ZDUyNDJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L2NmL1Jlc291cmNlSGFuZGxlQ0ZOZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRk5ldC5jcHAKQEAgLTIyOCw2ICsyMjgsOCBAQCB2
b2lkIFJlc291cmNlSGFuZGxlOjpjcmVhdGVDRlVSTENvbm5lY3Rpb24oYm9vbCBzaG91bGRVc2VD
cmVkZW50aWFsU3RvcmFnZSwgYm9vbAogICAgIGQtPm1fY29ubmVjdGlvbkRlbGVnYXRlLT5zZXR1
cFJlcXVlc3QocmVxdWVzdC5nZXQoKSk7CiAKICAgICBDRlVSTENvbm5lY3Rpb25DbGllbnRfVjYg
Y2xpZW50ID0gZC0+bV9jb25uZWN0aW9uRGVsZWdhdGUtPm1ha2VDb25uZWN0aW9uQ2xpZW50KCk7
CisgICAgaWYgKHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlKQorICAgICAgICBjbGllbnQuc2hv
dWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UgPSAwOwogCiAgICAgZC0+bV9jb25uZWN0aW9uID0gYWRv
cHRDRihDRlVSTENvbm5lY3Rpb25DcmVhdGVXaXRoUHJvcGVydGllcygwLCByZXF1ZXN0LmdldCgp
LCByZWludGVycHJldF9jYXN0PENGVVJMQ29ubmVjdGlvbkNsaWVudCo+KCZjbGllbnQpLCBwcm9w
ZXJ0aWVzRGljdGlvbmFyeS5nZXQoKSkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbQppbmRleCAxZjBkMGYw
ZjUwODMxNjZjMTgzZjc2MGEzMTAyYWE3NDVkOTFjYzNlLi5mNjI5YWI1NzFmMmZkMDRkN2ExYjlm
OTc1YzRiM2YxZjMyNWJhNmFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbQpAQCAtMjIzLDcgKzIyMyw3IEBA
IGJvb2wgUmVzb3VyY2VIYW5kbGU6OnN0YXJ0KCkKIAogI2lmICFQTEFURk9STShJT1MpCiAgICAg
Y3JlYXRlTlNVUkxDb25uZWN0aW9uKAotICAgICAgICBSZXNvdXJjZUhhbmRsZTo6ZGVsZWdhdGUo
KSwKKyAgICAgICAgUmVzb3VyY2VIYW5kbGU6Om1ha2VEZWxlZ2F0ZShzaG91bGRVc2VDcmVkZW50
aWFsU3RvcmFnZSksCiAgICAgICAgIHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlLAogICAgICAg
ICBkLT5tX3Nob3VsZENvbnRlbnRTbmlmZiB8fCBkLT5tX2NvbnRleHQtPmxvY2FsRmlsZUNvbnRl
bnRTbmlmZmluZ0VuYWJsZWQoKSwKICAgICAgICAgU2NoZWR1bGluZ0JlaGF2aW9yOjpBc3luY2hy
b25vdXMpOwpAQCAtMzE5LDE1ICszMTksMjkgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6dW5zY2hl
ZHVsZShTY2hlZHVsZVBhaXImIHBhaXIpCiAKICNlbmRpZgogCitpZCBSZXNvdXJjZUhhbmRsZTo6
bWFrZURlbGVnYXRlKGJvb2wgc2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UpCit7CisgICAgQVNT
RVJUKCFkLT5tX2RlbGVnYXRlKTsKKworICAgIGlkIDxOU1VSTENvbm5lY3Rpb25EZWxlZ2F0ZT4g
ZGVsZWdhdGU7CisgICAgaWYgKGNsaWVudCgpICYmIGNsaWVudCgpLT51c2VzQXN5bmNDYWxsYmFj
a3MoKSkgeworICAgICAgICBpZiAoc2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UpCisgICAgICAg
ICAgICBkZWxlZ2F0ZSA9IFtbV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURl
bGVnYXRlIGFsbG9jXSBpbml0V2l0aEhhbmRsZTp0aGlzXTsKKyAgICAgICAgZWxzZQorICAgICAg
ICAgICAgZGVsZWdhdGUgPSBbW1dlYkNvcmVSZXNvdXJjZUhhbmRsZVdpdGhDcmVkZW50aWFsU3Rv
cmFnZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZSBhbGxvY10gaW5pdFdpdGhIYW5kbGU6dGhpc107
CisKKyAgICB9IGVsc2UKKyAgICAgICAgZGVsZWdhdGUgPSBbW1dlYkNvcmVSZXNvdXJjZUhhbmRs
ZUFzRGVsZWdhdGUgYWxsb2NdIGluaXRXaXRoSGFuZGxlOnRoaXNdOworCisgICAgZC0+bV9kZWxl
Z2F0ZSA9IGRlbGVnYXRlOworICAgIFtkZWxlZ2F0ZSByZWxlYXNlXTsKKworICAgIHJldHVybiBk
LT5tX2RlbGVnYXRlLmdldCgpOworfQorCiBpZCBSZXNvdXJjZUhhbmRsZTo6ZGVsZWdhdGUoKQog
ewotICAgIGlmICghZC0+bV9kZWxlZ2F0ZSkgewotICAgICAgICBpZCA8TlNVUkxDb25uZWN0aW9u
RGVsZWdhdGU+IGRlbGVnYXRlID0gKGNsaWVudCgpICYmIGNsaWVudCgpLT51c2VzQXN5bmNDYWxs
YmFja3MoKSkgPwotICAgICAgICAgICAgW1tXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlv
blF1ZXVlRGVsZWdhdGUgYWxsb2NdIGluaXRXaXRoSGFuZGxlOnRoaXNdCi0gICAgICAgICAgOiBb
W1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzRGVsZWdhdGUgYWxsb2NdIGluaXRXaXRoSGFuZGxlOnRo
aXNdOwotICAgICAgICBkLT5tX2RlbGVnYXRlID0gZGVsZWdhdGU7Ci0gICAgICAgIFtkZWxlZ2F0
ZSByZWxlYXNlXTsKLSAgICB9CisgICAgQVNTRVJUKGQtPm1fZGVsZWdhdGUpOwogICAgIHJldHVy
biBkLT5tX2RlbGVnYXRlLmdldCgpOwogfQogCkBAIC0zNzMsOSArMzg3LDEwIEBAIHZvaWQgUmVz
b3VyY2VIYW5kbGU6OnBsYXRmb3JtTG9hZFJlc291cmNlU3luY2hyb25vdXNseShOZXR3b3JraW5n
Q29udGV4dCogY29udGV4CiAgICAgfQogCiAjaWYgIVBMQVRGT1JNKElPUykKKyAgICBib29sIHNo
b3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlID0gc3RvcmVkQ3JlZGVudGlhbHMgPT0gQWxsb3dTdG9y
ZWRDcmVkZW50aWFsczsKICAgICBoYW5kbGUtPmNyZWF0ZU5TVVJMQ29ubmVjdGlvbigKLSAgICAg
ICAgaGFuZGxlLT5kZWxlZ2F0ZSgpLAotICAgICAgICBzdG9yZWRDcmVkZW50aWFscyA9PSBBbGxv
d1N0b3JlZENyZWRlbnRpYWxzLAorICAgICAgICBoYW5kbGUtPm1ha2VEZWxlZ2F0ZShzaG91bGRV
c2VDcmVkZW50aWFsU3RvcmFnZSksCisgICAgICAgIHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdl
LAogICAgICAgICBoYW5kbGUtPnNob3VsZENvbnRlbnRTbmlmZigpIHx8IGNvbnRleHQtPmxvY2Fs
RmlsZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWQoKSwKICAgICAgICAgU2NoZWR1bGluZ0JlaGF2aW9y
OjpTeW5jaHJvbm91cyk7CiAjZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVn
YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3Vy
Y2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUuaAppbmRleCBlZmZhMmRmNmMzOThmNTJh
YmQxMjZhNzg2YWU0NzEyNTIzYWUwNWRlLi5iMGVmNWY3Y2M1NTdkYTY0ZmRlMmZlODRjMzEzZDRm
YTkyNmQxZDg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21h
Yy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVB
c09wZXJhdGlvblF1ZXVlRGVsZWdhdGUuaApAQCAtNDksMTIgKzQ5LDE3IEBAIGNsYXNzIFJlc291
cmNlSGFuZGxlOwogLSAodm9pZClkZXRhY2hIYW5kbGU7CiAtICh2b2lkKWNvbnRpbnVlV2lsbFNl
bmRSZXF1ZXN0OihOU1VSTFJlcXVlc3QgKiluZXdSZXF1ZXN0OwogLSAodm9pZCljb250aW51ZURp
ZFJlY2VpdmVSZXNwb25zZTsKLS0gKHZvaWQpY29udGludWVTaG91bGRVc2VDcmVkZW50aWFsU3Rv
cmFnZTooQk9PTCl1c2VDcmVkZW50aWFsU3RvcmFnZTsKICNpZiBVU0UoUFJPVEVDVElPTl9TUEFD
RV9BVVRIX0NBTExCQUNLKQogLSAodm9pZCljb250aW51ZUNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQ
cm90ZWN0aW9uU3BhY2U6KEJPT0wpY2FuQXV0aGVudGljYXRlOwogI2VuZGlmCiAtICh2b2lkKWNv
bnRpbnVlV2lsbENhY2hlUmVzcG9uc2U6KE5TQ2FjaGVkVVJMUmVzcG9uc2UgKilyZXNwb25zZTsK
IEBlbmQKIAorQGludGVyZmFjZSBXZWJDb3JlUmVzb3VyY2VIYW5kbGVXaXRoQ3JlZGVudGlhbFN0
b3JhZ2VBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUgOiBXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09w
ZXJhdGlvblF1ZXVlRGVsZWdhdGUKKworLSAodm9pZCljb250aW51ZVNob3VsZFVzZUNyZWRlbnRp
YWxTdG9yYWdlOihCT09MKXVzZUNyZWRlbnRpYWxTdG9yYWdlOworCitAZW5kCisKICNlbmRpZiAv
LyAhVVNFKENGTkVUV09SSykKICNlbmRpZiAvLyBXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJh
dGlvblF1ZXVlRGVsZWdhdGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRl
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNl
SGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLm1tCmluZGV4IGYzNDhhZDg5OGUzZGViNGMx
Y2U5MzM1NTM4OWZhYmYwOGNkNGEzNTcuLjIyNDUxNDE3NGY4Y2YyNDNjYmE0ZGM5NzM5ZDEyMWFk
OTgyMjZlNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFj
L1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVB
c09wZXJhdGlvblF1ZXVlRGVsZWdhdGUubW0KQEAgLTg2LDEyICs4Niw2IEBAIHVzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwogICAgIGRpc3BhdGNoX3NlbWFwaG9yZV9zaWduYWwobV9zZW1hcGhvcmUp
OwogfQogCi0tICh2b2lkKWNvbnRpbnVlU2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2U6KEJPT0wp
dXNlQ3JlZGVudGlhbFN0b3JhZ2UKLXsKLSAgICBtX2Jvb2xSZXN1bHQgPSB1c2VDcmVkZW50aWFs
U3RvcmFnZTsKLSAgICBkaXNwYXRjaF9zZW1hcGhvcmVfc2lnbmFsKG1fc2VtYXBob3JlKTsKLX0K
LQogLSAodm9pZCljb250aW51ZUNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2U6
KEJPT0wpY2FuQXV0aGVudGljYXRlCiB7CiAgICAgbV9ib29sUmVzdWx0ID0gY2FuQXV0aGVudGlj
YXRlOwpAQCAtMTQwLDI4ICsxMzQsNiBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKICAgICBy
ZXR1cm4gW21fcmVxdWVzdFJlc3VsdC5sZWFrUmVmKCkgYXV0b3JlbGVhc2VdOwogfQogCi0tIChC
T09MKWNvbm5lY3Rpb25TaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZTooTlNVUkxDb25uZWN0aW9u
ICopY29ubmVjdGlvbgotewotICAgIEFTU0VSVCghaXNNYWluVGhyZWFkKCkpOwotICAgIFVOVVNF
RF9QQVJBTShjb25uZWN0aW9uKTsKLQotICAgIExPRyhOZXR3b3JrLCAiSGFuZGxlICVwIGRlbGVn
YXRlIGNvbm5lY3Rpb25TaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZTolcCIsIG1faGFuZGxlLCBj
b25uZWN0aW9uKTsKLQotICAgIFJldGFpblB0cjxpZD4gcHJvdGVjdG9yKHNlbGYpOwotCi0gICAg
ZGlzcGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgXnsKLSAgICAgICAgaWYg
KCFtX2hhbmRsZSkgewotICAgICAgICAgICAgbV9ib29sUmVzdWx0ID0gTk87Ci0gICAgICAgICAg
ICBkaXNwYXRjaF9zZW1hcGhvcmVfc2lnbmFsKG1fc2VtYXBob3JlKTsKLSAgICAgICAgICAgIHJl
dHVybjsKLSAgICAgICAgfQotICAgICAgICBtX2hhbmRsZS0+c2hvdWxkVXNlQ3JlZGVudGlhbFN0
b3JhZ2UoKTsKLSAgICB9KTsKLQotICAgIGRpc3BhdGNoX3NlbWFwaG9yZV93YWl0KG1fc2VtYXBo
b3JlLCBESVNQQVRDSF9USU1FX0ZPUkVWRVIpOwotICAgIHJldHVybiBtX2Jvb2xSZXN1bHQ7Ci19
Ci0KIC0gKHZvaWQpY29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiBkaWRS
ZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6KE5TVVJMQXV0aGVudGljYXRpb25DaGFsbGVu
Z2UgKiljaGFsbGVuZ2UKIHsKICAgICBBU1NFUlQoIWlzTWFpblRocmVhZCgpKTsKQEAgLTM2MSw1
ICszMzMsMzggQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIEBlbmQKIAorQGltcGxlbWVu
dGF0aW9uIFdlYkNvcmVSZXNvdXJjZUhhbmRsZVdpdGhDcmVkZW50aWFsU3RvcmFnZUFzT3BlcmF0
aW9uUXVldWVEZWxlZ2F0ZQorCistIChCT09MKWNvbm5lY3Rpb25TaG91bGRVc2VDcmVkZW50aWFs
U3RvcmFnZTooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbgoreworICAgIEFTU0VSVCghaXNN
YWluVGhyZWFkKCkpOworICAgIFVOVVNFRF9QQVJBTShjb25uZWN0aW9uKTsKKworICAgIExPRyhO
ZXR3b3JrLCAiSGFuZGxlICVwIGRlbGVnYXRlIGNvbm5lY3Rpb25TaG91bGRVc2VDcmVkZW50aWFs
U3RvcmFnZTolcCIsIG1faGFuZGxlLCBjb25uZWN0aW9uKTsKKworICAgIFJldGFpblB0cjxpZD4g
cHJvdGVjdG9yKHNlbGYpOworCisgICAgZGlzcGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0X21haW5f
cXVldWUoKSwgXnsKKyAgICAgICAgaWYgKCFtX2hhbmRsZSkgeworICAgICAgICAgICAgbV9ib29s
UmVzdWx0ID0gTk87CisgICAgICAgICAgICBkaXNwYXRjaF9zZW1hcGhvcmVfc2lnbmFsKG1fc2Vt
YXBob3JlKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBtX2hhbmRs
ZS0+c2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UoKTsKKyAgICB9KTsKKworICAgIGRpc3BhdGNo
X3NlbWFwaG9yZV93YWl0KG1fc2VtYXBob3JlLCBESVNQQVRDSF9USU1FX0ZPUkVWRVIpOworICAg
IHJldHVybiBtX2Jvb2xSZXN1bHQ7Cit9CisKKy0gKHZvaWQpY29udGludWVTaG91bGRVc2VDcmVk
ZW50aWFsU3RvcmFnZTooQk9PTCl1c2VDcmVkZW50aWFsU3RvcmFnZQoreworICAgIG1fYm9vbFJl
c3VsdCA9IHVzZUNyZWRlbnRpYWxTdG9yYWdlOworICAgIGRpc3BhdGNoX3NlbWFwaG9yZV9zaWdu
YWwobV9zZW1hcGhvcmUpOworfQorCitAZW5kCisKKwogI2VuZGlmIC8vICFVU0UoQ0ZORVRXT1JL
KQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230694</attachid>
            <date>2014-05-02 13:57:10 -0700</date>
            <delta_ts>2014-05-02 14:56:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132308-20140502135649.patch</filename>
            <type>text/plain</type>
            <size>18032</size>
            <attacher name="Pratik Solanki">psolanki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY4MTQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjMyM2I2Mjc1OTQ1YWI1
NjdiZTBlOTY2MzMyMzE4NTE4MDRjZjEzMC4uZWU3NjkzYTBkZDYzN2YyOGE1NjFlZWVjMDIwNjQz
NDg5ZmMxZTQyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE0LTA1LTAyICBQcmF0
aWsgU29sYW5raSAgPHBzb2xhbmtpQGFwcGxlLmNvbT4KKworICAgICAgICBTaG9ydGNpcmN1aXQg
c2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UgY2FsbGJhY2sKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMjMwOAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElmIHdlIGFyZSBnb2luZyB0byByZXR1cm4gdHJ1
ZSBmcm9tIHRoZSBzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZSBjYWxsYmFjayB0aGVuIHdlIGRv
bid0CisgICAgICAgIHJlYWxseSBuZWVkIHRvIGhhdmUgQ0ZOZXR3b3JrL0ZvdW5kYXRpb24gY2Fs
bCB1cy4gV2UgY2FuIGp1c3QgZGlzYWJsZSB0aGUgY2FsbGJhY2sgYW5kCisgICAgICAgIENGTmV0
d29yayB3aWxsIGFzc3VtZSB0cnVlLiBBZGQgYSBzZXBhcmF0ZSBzdWJjbGFzcyB0aGF0IGltcGxl
bWVudHMgdGhpcyBjYWxsYmFjayB3aGVuIHdlCisgICAgICAgIG5lZWQgdG8gcmV0dXJuIGZhbHNl
LiBXZSBjYW4gYWxzbyBlbGltaW5hdGUgdGhlIGNvcnJlc3BvbmRpbmcgYXN5bmMgY2FsbGJhY2tz
LiBUaGlzIGF2b2lkcworICAgICAgICBwaW5ncG9uZ2luZyBiZXR3ZWVuIGRpc3BhdGNoIHF1ZXVl
IGFuZCBtYWluIHRocmVhZCBpbiB0aGUgY29tbW9uIGNhc2UuCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzIGJlY2F1c2Ugbm8gY2hhbmdlIGluIGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiBXZWJD
b3JlLmV4cC5pbjoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmg6
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUNsaWVudC5jcHA6Cisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUNsaWVudC5oOgorICAgICAg
ICAqIHBsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRk5ldC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlQ0ZVUkxDb25uZWN0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZSk6
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW06Cisg
ICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6c3RhcnQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVzb3VyY2VIYW5kbGU6Om1ha2VEZWxlZ2F0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNv
dXJjZUhhbmRsZTo6ZGVsZWdhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6
OnBsYXRmb3JtTG9hZFJlc291cmNlU3luY2hyb25vdXNseSk6CisgICAgICAgIChXZWJDb3JlOjpS
ZXNvdXJjZUhhbmRsZTo6c2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UpOgorICAgICAgICAqIHBs
YXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVE
ZWxlZ2F0ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJj
ZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5tbToKKyAgICAgICAgKC1bV2ViQ29yZVJl
c291cmNlSGFuZGxlV2l0aENyZWRlbnRpYWxTdG9yYWdlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRl
IGNvbm5lY3Rpb25TaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZTpdKToKKwogMjAxNC0wNS0wMSAg
R3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgogCiAgICAgICAgIENvbnZl
cnQgT3duUHRyIGFuZCBQYXNzT3duUHRyIHVzZXMgdG8gc3RkOjp1bmlxdWVfcHRyIGluIFN1cHBs
ZW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZwppbmRleCAxYmQ5MzVjZWVhOWE2ZjJlNzZlMTljYWIzOGZiOTk5ZGYzMjM1
N2E3Li4zMTlmMDNlNzA5NGQwNmIzZTA3ZmU1Mzk2MzM3N2M0ODU4ODg1YWQ4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CkBAIC0xLDUgKzEsMjMgQEAKIDIwMTQtMDUtMDIgIFByYXRpayBTb2xhbmtpICA8cHNvbGFua2lA
YXBwbGUuY29tPgogCisgICAgICAgIFNob3J0Y2lyY3VpdCBzaG91bGRVc2VDcmVkZW50aWFsU3Rv
cmFnZSBjYWxsYmFjaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTMyMzA4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgSWYgd2UgYXJlIGdvaW5nIHRvIHJldHVybiB0cnVlIGZyb20gdGhlIHNob3VsZFVzZUNy
ZWRlbnRpYWxTdG9yYWdlIGNhbGxiYWNrIHRoZW4gd2UgZG9uJ3QKKyAgICAgICAgcmVhbGx5IG5l
ZWQgdG8gaGF2ZSBDRk5ldHdvcmsvRm91bmRhdGlvbiBjYWxsIHVzLiBXZSBjYW4ganVzdCBkaXNh
YmxlIHRoZSBjYWxsYmFjayBhbmQKKyAgICAgICAgQ0ZOZXR3b3JrIHdpbGwgYXNzdW1lIHRydWUu
IEFkZCBhIHNlcGFyYXRlIHN1YmNsYXNzIHRoYXQgaW1wbGVtZW50cyB0aGlzIGNhbGxiYWNrIHdo
ZW4gd2UKKyAgICAgICAgbmVlZCB0byByZXR1cm4gZmFsc2UuIFdlIGNhbiBhbHNvIGVsaW1pbmF0
ZSB0aGUgY29ycmVzcG9uZGluZyBhc3luYyBjYWxsYmFja3MuIFRoaXMgYXZvaWRzCisgICAgICAg
IHBpbmdwb25naW5nIGJldHdlZW4gZGlzcGF0Y2ggcXVldWUgYW5kIG1haW4gdGhyZWFkIGluIHRo
ZSBjb21tb24gY2FzZS4KKworICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVzZSBubyBjaGFuZ2Ug
aW4gZnVuY3Rpb25hbGl0eS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNv
dXJjZUxvYWRlci5jcHA6IFJlbW92ZSBzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZUFzeW5jKCkg
Y2FsbGJhY2tzLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRl
ci5oOgorCisyMDE0LTA1LTAyICBQcmF0aWsgU29sYW5raSAgPHBzb2xhbmtpQGFwcGxlLmNvbT4K
KwogICAgICAgICBSZWR1Y2UgY2FsbHMgdG8gQ0ZVUkxDYWNoZUNvcHlTaGFyZWRVUkxDYWNoZQog
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMyNDY0CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4KaW5kZXggYTY4M2E0N2FhMWFmNzc3OTIxYTMxMGY2NGUxYmY5MmRj
OWE4NTYzYS4uOWFhZjM2YzExZjIxN2E4ZDM5MmE5Yjc2ZjU1YmZhOWFiOTE5Y2UzYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5leHAuaW4KQEAgLTM3Myw3ICszNzMsNiBAQCBfX1pON1dlYkNvcmUxNFJlc291cmNl
SGFuZGxlMjNjb250aW51ZVdpbGxTZW5kUmVxdWVzdEVSS05TXzE1UmVzb3VyY2VSZXF1ZXN0RQog
X19aTjdXZWJDb3JlMTRSZXNvdXJjZUhhbmRsZTI1bG9hZFJlc291cmNlU3luY2hyb25vdXNseUVQ
TlNfMTdOZXR3b3JraW5nQ29udGV4dEVSS05TXzE1UmVzb3VyY2VSZXF1ZXN0RU5TXzE3U3RvcmVk
Q3JlZGVudGlhbHNFUk5TXzEzUmVzb3VyY2VFcnJvckVSTlNfMTZSZXNvdXJjZVJlc3BvbnNlRVJO
M1dURjZWZWN0b3JJY0xtMEVOU0JfMTVDcmFzaE9uT3ZlcmZsb3dFRUUKIF9fWk43V2ViQ29yZTE0
UmVzb3VyY2VIYW5kbGUyNmNvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlRXYKIF9fWk43V2ViQ29y
ZTE0UmVzb3VyY2VIYW5kbGUyNnN5bmNocm9ub3VzTG9hZFJ1bkxvb3BNb2RlRXYKLV9fWk43V2Vi
Q29yZTE0UmVzb3VyY2VIYW5kbGUzNGNvbnRpbnVlU2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2VF
YgogX19aTjdXZWJDb3JlMTRSZXNvdXJjZUhhbmRsZTQ1Y29udGludWVDYW5BdXRoZW50aWNhdGVB
Z2FpbnN0UHJvdGVjdGlvblNwYWNlRWIKIF9fWk43V2ViQ29yZTE0UmVzb3VyY2VIYW5kbGU2Y3Jl
YXRlRVBOU18xN05ldHdvcmtpbmdDb250ZXh0RVJLTlNfMTVSZXNvdXJjZVJlcXVlc3RFUE5TXzIw
UmVzb3VyY2VIYW5kbGVDbGllbnRFYmIKIF9fWk43V2ViQ29yZTE0UmVzb3VyY2VMb2FkZXIxNGNh
bmNlbGxlZEVycm9yRXYKQEAgLTgzOCw3ICs4MzcsNiBAQCBfX1pON1dlYkNvcmUyMFJlbmRlckVt
YmVkZGVkT2JqZWN0MzdzZXRVbmF2YWlsYWJsZVBsdWdpbkluZGljYXRvcklzSGlkZGVuRWIKIF9f
Wk43V2ViQ29yZTIwUmVuZGVyRW1iZWRkZWRPYmplY3Q0NHNldFBsdWdpblVuYXZhaWxhYmlsaXR5
UmVhc29uV2l0aERlc2NyaXB0aW9uRU5TMF8yNlBsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uRVJL
TjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3JlMjBSZXNvdXJjZUhhbmRsZUNsaWVudDE2ZGlkUmVj
ZWl2ZUJ1ZmZlckVQTlNfMTRSZXNvdXJjZUhhbmRsZUVOM1dURjEwUGFzc1JlZlB0cklOU18xMlNo
YXJlZEJ1ZmZlckVFRWkKIF9fWk43V2ViQ29yZTIwUmVzb3VyY2VIYW5kbGVDbGllbnQyMHdpbGxT
ZW5kUmVxdWVzdEFzeW5jRVBOU18xNFJlc291cmNlSGFuZGxlRVJLTlNfMTVSZXNvdXJjZVJlcXVl
c3RFUktOU18xNlJlc291cmNlUmVzcG9uc2VFCi1fX1pON1dlYkNvcmUyMFJlc291cmNlSGFuZGxl
Q2xpZW50MzFzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZUFzeW5jRVBOU18xNFJlc291cmNlSGFu
ZGxlRQogX19aTjdXZWJDb3JlMjBSZXNvdXJjZUhhbmRsZUNsaWVudDQyY2FuQXV0aGVudGljYXRl
QWdhaW5zdFByb3RlY3Rpb25TcGFjZUFzeW5jRVBOU18xNFJlc291cmNlSGFuZGxlRVJLTlNfMTVQ
cm90ZWN0aW9uU3BhY2VFCiBfX1pON1dlYkNvcmUyMFJlc291cmNlSGFuZGxlQ2xpZW50QzJFdgog
X19aTjdXZWJDb3JlMjBSZXNvdXJjZUhhbmRsZUNsaWVudEQyRXYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaAppbmRleCA2MjQ2ODJjODhlOTQ4
ZTkyNWNhNzBmYzU2NjBiNjM3NzNmZTdlOGQ4Li5hNmYzZjE4ZTlmYTY1YWQzYTJlNWJmOTZiZTMy
ZmQ3NzAxMTNjZmQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L1Jlc291cmNlSGFuZGxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZUhhbmRsZS5oCkBAIC0xMzAsNiArMTMwLDcgQEAgcHVibGljOgogI2lmIFBMQVRGT1JN
KENPQ09BKSAmJiAhVVNFKENGTkVUV09SSykKICAgICB2b2lkIGRpZENhbmNlbEF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlKGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJik7CiAgICAgTlNVUkxD
b25uZWN0aW9uICpjb25uZWN0aW9uKCkgY29uc3Q7CisgICAgaWQgbWFrZURlbGVnYXRlKGJvb2wp
OwogICAgIGlkIGRlbGVnYXRlKCk7CiAgICAgdm9pZCByZWxlYXNlRGVsZWdhdGUoKTsKICNlbmRp
ZgpAQCAtMjA4LDkgKzIwOSw2IEBAIHB1YmxpYzoKICAgICAvLyBDYWxsZWQgaW4gcmVzcG9uc2Ug
dG8gUmVzb3VyY2VIYW5kbGVDbGllbnQ6OmRpZFJlY2VpdmVSZXNwb25zZUFzeW5jKCkuCiAgICAg
dm9pZCBjb250aW51ZURpZFJlY2VpdmVSZXNwb25zZSgpOwogCi0gICAgLy8gQ2FsbGVkIGluIHJl
c3BvbnNlIHRvIFJlc291cmNlSGFuZGxlQ2xpZW50OjpzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFn
ZUFzeW5jKCkuCi0gICAgdm9pZCBjb250aW51ZVNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlKGJv
b2wpOwotCiAjaWYgVVNFKFBST1RFQ1RJT05fU1BBQ0VfQVVUSF9DQUxMQkFDSykKICAgICAvLyBD
YWxsZWQgaW4gcmVzcG9uc2UgdG8gUmVzb3VyY2VIYW5kbGVDbGllbnQ6OmNhbkF1dGhlbnRpY2F0
ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2VBc3luYygpLgogICAgIHZvaWQgY29udGludWVDYW5BdXRo
ZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlKGJvb2wpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUNsaWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlQ2xpZW50LmNwcAppbmRl
eCBkOTY4YTM3YTYyNmJmYTM0ZjgxOTFkZDdjYzdkNzE1ZjkwOTAzZjYyLi4zMWQ2NDc1ZGE4YzAw
OTYxNTY1MDA4MDMxYzk2YmVlZGI2YWVjYzA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlQ2xpZW50LmNwcApAQCAtNDksMTEg
KzQ5LDYgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZUNsaWVudDo6ZGlkUmVjZWl2ZVJlc3BvbnNlQXN5
bmMoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgY29uc3QKICAgICBoYW5kbGUtPmNvbnRpbnVlRGlk
UmVjZWl2ZVJlc3BvbnNlKCk7CiB9CiAKLXZvaWQgUmVzb3VyY2VIYW5kbGVDbGllbnQ6OnNob3Vs
ZFVzZUNyZWRlbnRpYWxTdG9yYWdlQXN5bmMoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSkKLXsKLSAg
ICBoYW5kbGUtPmNvbnRpbnVlU2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UoZmFsc2UpOwotfQot
CiAjaWYgVVNFKFBST1RFQ1RJT05fU1BBQ0VfQVVUSF9DQUxMQkFDSykKIHZvaWQgUmVzb3VyY2VI
YW5kbGVDbGllbnQ6OmNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2VBc3luYyhS
ZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBjb25zdCBQcm90ZWN0aW9uU3BhY2UmKQogewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUNsaWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUNsaWVu
dC5oCmluZGV4IDNhZTA4OGYyN2JjZmEzNTIyZTZkYzY4YzBmMjI5ZjQzN2YxMmM0OTkuLjExN2Rh
MTAwZDk4Njk5M2U4MjFjYWRmY2NmZmU3Y2JmOGY1YjJlNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVDbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlQ2xpZW50LmgKQEAgLTg3
LDggKzg3LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAvLyBDbGllbnQgd2lsbCBj
YWxsIFJlc291cmNlSGFuZGxlOjpjb250aW51ZURpZFJlY2VpdmVSZXNwb25zZSgpIHdoZW4gcmVh
ZHkuCiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2VBc3luYyhSZXNvdXJj
ZUhhbmRsZSosIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKIAotICAgICAgICAvLyBDbGllbnQg
d2lsbCBwYXNzIGFuIHVwZGF0ZWQgcmVxdWVzdCB1c2luZyBSZXNvdXJjZUhhbmRsZTo6Y29udGlu
dWVTaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZSgpIHdoZW4gcmVhZHkuCi0gICAgICAgIHZpcnR1
YWwgdm9pZCBzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZUFzeW5jKFJlc291cmNlSGFuZGxlKik7
CiAjaWYgVVNFKFBST1RFQ1RJT05fU1BBQ0VfQVVUSF9DQUxMQkFDSykKICAgICAgICAgLy8gQ2xp
ZW50IHdpbGwgcGFzcyBhbiB1cGRhdGVkIHJlcXVlc3QgdXNpbmcgUmVzb3VyY2VIYW5kbGU6OmNv
bnRpbnVlQ2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZSgpIHdoZW4gcmVhZHku
CiAgICAgICAgIHZpcnR1YWwgdm9pZCBjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNw
YWNlQXN5bmMoUmVzb3VyY2VIYW5kbGUqLCBjb25zdCBQcm90ZWN0aW9uU3BhY2UmKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVD
Rk5ldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFu
ZGxlQ0ZOZXQuY3BwCmluZGV4IDE3ODFjZTI0MmMzMjRiZTA0NGRkMDVjMzg0YjEwNTAzZTZlN2Q2
NWYuLjBlODUyNmQ0OWQxZDA2ZTFhZmI1ZGRmOTY5ZmRkMTMzNjNiZGY1MWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRk5ldC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZUhhbmRs
ZUNGTmV0LmNwcApAQCAtMjI4LDYgKzIyOCw4IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmNyZWF0
ZUNGVVJMQ29ubmVjdGlvbihib29sIHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlLCBib29sCiAg
ICAgZC0+bV9jb25uZWN0aW9uRGVsZWdhdGUtPnNldHVwUmVxdWVzdChyZXF1ZXN0LmdldCgpKTsK
IAogICAgIENGVVJMQ29ubmVjdGlvbkNsaWVudF9WNiBjbGllbnQgPSBkLT5tX2Nvbm5lY3Rpb25E
ZWxlZ2F0ZS0+bWFrZUNvbm5lY3Rpb25DbGllbnQoKTsKKyAgICBpZiAoc2hvdWxkVXNlQ3JlZGVu
dGlhbFN0b3JhZ2UpCisgICAgICAgIGNsaWVudC5zaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZSA9
IDA7CiAKICAgICBkLT5tX2Nvbm5lY3Rpb24gPSBhZG9wdENGKENGVVJMQ29ubmVjdGlvbkNyZWF0
ZVdpdGhQcm9wZXJ0aWVzKDAsIHJlcXVlc3QuZ2V0KCksIHJlaW50ZXJwcmV0X2Nhc3Q8Q0ZVUkxD
b25uZWN0aW9uQ2xpZW50Kj4oJmNsaWVudCksIHByb3BlcnRpZXNEaWN0aW9uYXJ5LmdldCgpKSk7
CiB9CkBAIC0zMDksMTAgKzMxMSw4IEBAIGJvb2wgUmVzb3VyY2VIYW5kbGU6OnNob3VsZFVzZUNy
ZWRlbnRpYWxTdG9yYWdlKCkKIHsKICAgICBMT0coTmV0d29yaywgIkNGTmV0IC0gc2hvdWxkVXNl
Q3JlZGVudGlhbFN0b3JhZ2UoKSIpOwogICAgIGlmIChSZXNvdXJjZUhhbmRsZUNsaWVudCogY2xp
ZW50ID0gdGhpcy0+Y2xpZW50KCkpIHsKLSAgICAgICAgaWYgKGNsaWVudC0+dXNlc0FzeW5jQ2Fs
bGJhY2tzKCkpCi0gICAgICAgICAgICBjbGllbnQtPnNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdl
QXN5bmModGhpcyk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHJldHVybiBjbGllbnQtPnNo
b3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlKHRoaXMpOworICAgICAgICBBU1NFUlQoIWNsaWVudC0+
dXNlc0FzeW5jQ2FsbGJhY2tzKCkpOworICAgICAgICByZXR1cm4gY2xpZW50LT5zaG91bGRVc2VD
cmVkZW50aWFsU3RvcmFnZSh0aGlzKTsKICAgICB9CiAgICAgcmV0dXJuIGZhbHNlOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5k
bGVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhh
bmRsZU1hYy5tbQppbmRleCAxZjBkMGYwZjUwODMxNjZjMTgzZjc2MGEzMTAyYWE3NDVkOTFjYzNl
Li41ZjUxNDZmMzEzNjdhOGVkYmZkMjk0MTBlZjM4MDhkMGJmMTI1NmNjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1h
Yy5tbQpAQCAtMjIzLDcgKzIyMyw3IEBAIGJvb2wgUmVzb3VyY2VIYW5kbGU6OnN0YXJ0KCkKIAog
I2lmICFQTEFURk9STShJT1MpCiAgICAgY3JlYXRlTlNVUkxDb25uZWN0aW9uKAotICAgICAgICBS
ZXNvdXJjZUhhbmRsZTo6ZGVsZWdhdGUoKSwKKyAgICAgICAgUmVzb3VyY2VIYW5kbGU6Om1ha2VE
ZWxlZ2F0ZShzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZSksCiAgICAgICAgIHNob3VsZFVzZUNy
ZWRlbnRpYWxTdG9yYWdlLAogICAgICAgICBkLT5tX3Nob3VsZENvbnRlbnRTbmlmZiB8fCBkLT5t
X2NvbnRleHQtPmxvY2FsRmlsZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWQoKSwKICAgICAgICAgU2No
ZWR1bGluZ0JlaGF2aW9yOjpBc3luY2hyb25vdXMpOwpAQCAtMzE5LDE1ICszMTksMjkgQEAgdm9p
ZCBSZXNvdXJjZUhhbmRsZTo6dW5zY2hlZHVsZShTY2hlZHVsZVBhaXImIHBhaXIpCiAKICNlbmRp
ZgogCitpZCBSZXNvdXJjZUhhbmRsZTo6bWFrZURlbGVnYXRlKGJvb2wgc2hvdWxkVXNlQ3JlZGVu
dGlhbFN0b3JhZ2UpCit7CisgICAgQVNTRVJUKCFkLT5tX2RlbGVnYXRlKTsKKworICAgIGlkIDxO
U1VSTENvbm5lY3Rpb25EZWxlZ2F0ZT4gZGVsZWdhdGU7CisgICAgaWYgKGNsaWVudCgpICYmIGNs
aWVudCgpLT51c2VzQXN5bmNDYWxsYmFja3MoKSkgeworICAgICAgICBpZiAoc2hvdWxkVXNlQ3Jl
ZGVudGlhbFN0b3JhZ2UpCisgICAgICAgICAgICBkZWxlZ2F0ZSA9IFtbV2ViQ29yZVJlc291cmNl
SGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlIGFsbG9jXSBpbml0V2l0aEhhbmRsZTp0aGlz
XTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgZGVsZWdhdGUgPSBbW1dlYkNvcmVSZXNvdXJj
ZUhhbmRsZVdpdGhDcmVkZW50aWFsU3RvcmFnZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZSBhbGxv
Y10gaW5pdFdpdGhIYW5kbGU6dGhpc107CisKKyAgICB9IGVsc2UKKyAgICAgICAgZGVsZWdhdGUg
PSBbW1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzRGVsZWdhdGUgYWxsb2NdIGluaXRXaXRoSGFuZGxl
OnRoaXNdOworCisgICAgZC0+bV9kZWxlZ2F0ZSA9IGRlbGVnYXRlOworICAgIFtkZWxlZ2F0ZSBy
ZWxlYXNlXTsKKworICAgIHJldHVybiBkLT5tX2RlbGVnYXRlLmdldCgpOworfQorCiBpZCBSZXNv
dXJjZUhhbmRsZTo6ZGVsZWdhdGUoKQogewotICAgIGlmICghZC0+bV9kZWxlZ2F0ZSkgewotICAg
ICAgICBpZCA8TlNVUkxDb25uZWN0aW9uRGVsZWdhdGU+IGRlbGVnYXRlID0gKGNsaWVudCgpICYm
IGNsaWVudCgpLT51c2VzQXN5bmNDYWxsYmFja3MoKSkgPwotICAgICAgICAgICAgW1tXZWJDb3Jl
UmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUgYWxsb2NdIGluaXRXaXRoSGFu
ZGxlOnRoaXNdCi0gICAgICAgICAgOiBbW1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzRGVsZWdhdGUg
YWxsb2NdIGluaXRXaXRoSGFuZGxlOnRoaXNdOwotICAgICAgICBkLT5tX2RlbGVnYXRlID0gZGVs
ZWdhdGU7Ci0gICAgICAgIFtkZWxlZ2F0ZSByZWxlYXNlXTsKLSAgICB9CisgICAgQVNTRVJUKGQt
Pm1fZGVsZWdhdGUpOwogICAgIHJldHVybiBkLT5tX2RlbGVnYXRlLmdldCgpOwogfQogCkBAIC0z
NzMsOSArMzg3LDEwIEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnBsYXRmb3JtTG9hZFJlc291cmNl
U3luY2hyb25vdXNseShOZXR3b3JraW5nQ29udGV4dCogY29udGV4CiAgICAgfQogCiAjaWYgIVBM
QVRGT1JNKElPUykKKyAgICBib29sIHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlID0gc3RvcmVk
Q3JlZGVudGlhbHMgPT0gQWxsb3dTdG9yZWRDcmVkZW50aWFsczsKICAgICBoYW5kbGUtPmNyZWF0
ZU5TVVJMQ29ubmVjdGlvbigKLSAgICAgICAgaGFuZGxlLT5kZWxlZ2F0ZSgpLAotICAgICAgICBz
dG9yZWRDcmVkZW50aWFscyA9PSBBbGxvd1N0b3JlZENyZWRlbnRpYWxzLAorICAgICAgICBoYW5k
bGUtPm1ha2VEZWxlZ2F0ZShzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZSksCisgICAgICAgIHNo
b3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlLAogICAgICAgICBoYW5kbGUtPnNob3VsZENvbnRlbnRT
bmlmZigpIHx8IGNvbnRleHQtPmxvY2FsRmlsZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWQoKSwKICAg
ICAgICAgU2NoZWR1bGluZ0JlaGF2aW9yOjpTeW5jaHJvbm91cyk7CiAjZWxzZQpAQCAtNTA0LDIy
ICs1MTksOCBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpjb250aW51ZURpZFJlY2VpdmVSZXNwb25z
ZSgpCiAKIGJvb2wgUmVzb3VyY2VIYW5kbGU6OnNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlKCkK
IHsKLSAgICBpZiAoY2xpZW50KCktPnVzZXNBc3luY0NhbGxiYWNrcygpKSB7Ci0gICAgICAgIGlm
IChjbGllbnQoKSkKLSAgICAgICAgICAgIGNsaWVudCgpLT5zaG91bGRVc2VDcmVkZW50aWFsU3Rv
cmFnZUFzeW5jKHRoaXMpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBjb250aW51ZVNob3Vs
ZFVzZUNyZWRlbnRpYWxTdG9yYWdlKGZhbHNlKTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyBJ
Z25vcmVkIGJ5IGNhbGxlci4KLSAgICB9IGVsc2UKLSAgICAgICAgcmV0dXJuIGNsaWVudCgpICYm
IGNsaWVudCgpLT5zaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZSh0aGlzKTsKLX0KLQotdm9pZCBS
ZXNvdXJjZUhhbmRsZTo6Y29udGludWVTaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZShib29sIHVz
ZUNyZWRlbnRpYWxTdG9yYWdlKQotewotICAgIEFTU0VSVChjbGllbnQoKSk7Ci0gICAgQVNTRVJU
KGNsaWVudCgpLT51c2VzQXN5bmNDYWxsYmFja3MoKSk7Ci0KLSAgICBbKGlkKWRlbGVnYXRlKCkg
Y29udGludWVTaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZTp1c2VDcmVkZW50aWFsU3RvcmFnZV07
CisgICAgQVNTRVJUKCFjbGllbnQoKS0+dXNlc0FzeW5jQ2FsbGJhY2tzKCkpOworICAgIHJldHVy
biBjbGllbnQoKSAmJiBjbGllbnQoKS0+c2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UodGhpcyk7
CiB9CiAKIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZShjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYgY2hhbGxlbmdlKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFu
ZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUu
aAppbmRleCBlZmZhMmRmNmMzOThmNTJhYmQxMjZhNzg2YWU0NzEyNTIzYWUwNWRlLi5lNzQwYWE1
OWJlZDYzYmFiOTA3NmYwNzkzYWIzZDAzZGUwMDJiMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlv
blF1ZXVlRGVsZWdhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21h
Yy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUuaApAQCAtNDks
MTIgKzQ5LDE1IEBAIGNsYXNzIFJlc291cmNlSGFuZGxlOwogLSAodm9pZClkZXRhY2hIYW5kbGU7
CiAtICh2b2lkKWNvbnRpbnVlV2lsbFNlbmRSZXF1ZXN0OihOU1VSTFJlcXVlc3QgKiluZXdSZXF1
ZXN0OwogLSAodm9pZCljb250aW51ZURpZFJlY2VpdmVSZXNwb25zZTsKLS0gKHZvaWQpY29udGlu
dWVTaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZTooQk9PTCl1c2VDcmVkZW50aWFsU3RvcmFnZTsK
ICNpZiBVU0UoUFJPVEVDVElPTl9TUEFDRV9BVVRIX0NBTExCQUNLKQogLSAodm9pZCljb250aW51
ZUNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2U6KEJPT0wpY2FuQXV0aGVudGlj
YXRlOwogI2VuZGlmCiAtICh2b2lkKWNvbnRpbnVlV2lsbENhY2hlUmVzcG9uc2U6KE5TQ2FjaGVk
VVJMUmVzcG9uc2UgKilyZXNwb25zZTsKIEBlbmQKIAorQGludGVyZmFjZSBXZWJDb3JlUmVzb3Vy
Y2VIYW5kbGVXaXRoQ3JlZGVudGlhbFN0b3JhZ2VBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUgOiBX
ZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUKKworQGVuZAorCiAj
ZW5kaWYgLy8gIVVTRShDRk5FVFdPUkspCiAjZW5kaWYgLy8gV2ViQ29yZVJlc291cmNlSGFuZGxl
QXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVE
ZWxlZ2F0ZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVS
ZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5tbQppbmRleCBmMzQ4YWQ4OThl
M2RlYjRjMWNlOTMzNTUzODlmYWJmMDhjZDRhMzU3Li5jNTEyMGQxOTUyNGZkZDhhMTFlZTYzNTFm
MmZjMzVhZGFiNmU4MjQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNl
SGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLm1tCkBAIC04NiwxMiArODYsNiBAQCB1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKICAgICBkaXNwYXRjaF9zZW1hcGhvcmVfc2lnbmFsKG1fc2Vt
YXBob3JlKTsKIH0KIAotLSAodm9pZCljb250aW51ZVNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdl
OihCT09MKXVzZUNyZWRlbnRpYWxTdG9yYWdlCi17Ci0gICAgbV9ib29sUmVzdWx0ID0gdXNlQ3Jl
ZGVudGlhbFN0b3JhZ2U7Ci0gICAgZGlzcGF0Y2hfc2VtYXBob3JlX3NpZ25hbChtX3NlbWFwaG9y
ZSk7Ci19Ci0KIC0gKHZvaWQpY29udGludWVDYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlv
blNwYWNlOihCT09MKWNhbkF1dGhlbnRpY2F0ZQogewogICAgIG1fYm9vbFJlc3VsdCA9IGNhbkF1
dGhlbnRpY2F0ZTsKQEAgLTE0MCwyOCArMTM0LDYgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CiAgICAgcmV0dXJuIFttX3JlcXVlc3RSZXN1bHQubGVha1JlZigpIGF1dG9yZWxlYXNlXTsKIH0K
IAotLSAoQk9PTCljb25uZWN0aW9uU2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2U6KE5TVVJMQ29u
bmVjdGlvbiAqKWNvbm5lY3Rpb24KLXsKLSAgICBBU1NFUlQoIWlzTWFpblRocmVhZCgpKTsKLSAg
ICBVTlVTRURfUEFSQU0oY29ubmVjdGlvbik7Ci0KLSAgICBMT0coTmV0d29yaywgIkhhbmRsZSAl
cCBkZWxlZ2F0ZSBjb25uZWN0aW9uU2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2U6JXAiLCBtX2hh
bmRsZSwgY29ubmVjdGlvbik7Ci0KLSAgICBSZXRhaW5QdHI8aWQ+IHByb3RlY3RvcihzZWxmKTsK
LQotICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIF57Ci0gICAg
ICAgIGlmICghbV9oYW5kbGUpIHsKLSAgICAgICAgICAgIG1fYm9vbFJlc3VsdCA9IE5POwotICAg
ICAgICAgICAgZGlzcGF0Y2hfc2VtYXBob3JlX3NpZ25hbChtX3NlbWFwaG9yZSk7Ci0gICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICAgICAgbV9oYW5kbGUtPnNob3VsZFVzZUNyZWRl
bnRpYWxTdG9yYWdlKCk7Ci0gICAgfSk7Ci0KLSAgICBkaXNwYXRjaF9zZW1hcGhvcmVfd2FpdCht
X3NlbWFwaG9yZSwgRElTUEFUQ0hfVElNRV9GT1JFVkVSKTsKLSAgICByZXR1cm4gbV9ib29sUmVz
dWx0OwotfQotCiAtICh2b2lkKWNvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rp
b24gZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOihOU1VSTEF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlICopY2hhbGxlbmdlCiB7CiAgICAgQVNTRVJUKCFpc01haW5UaHJlYWQoKSk7CkBA
IC0zNjEsNSArMzMzLDE2IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBAZW5kCiAKK0Bp
bXBsZW1lbnRhdGlvbiBXZWJDb3JlUmVzb3VyY2VIYW5kbGVXaXRoQ3JlZGVudGlhbFN0b3JhZ2VB
c09wZXJhdGlvblF1ZXVlRGVsZWdhdGUKKworLSAoQk9PTCljb25uZWN0aW9uU2hvdWxkVXNlQ3Jl
ZGVudGlhbFN0b3JhZ2U6KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24KK3sKKyAgICBBU1NF
UlQoIWlzTWFpblRocmVhZCgpKTsKKyAgICBVTlVTRURfUEFSQU0oY29ubmVjdGlvbik7CisgICAg
cmV0dXJuIE5POworfQorCitAZW5kCisKICNlbmRpZiAvLyAhVVNFKENGTkVUV09SSykKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9h
ZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxv
YWRlci5jcHAKaW5kZXggYTM4Njk5ZWRjYmFjNmNkNTY1MjEwYjZiZWQxMGM1MmVhOWNhNWVhZi4u
YTA5YTBjNjdhZmRiYmNhOGM1ODc3M2M2ODIyY2ZmMWJhNmM1Y2U1ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3Bw
CkBAIC0zMTcsMTMgKzMxNyw2IEBAIGJvb2wgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpzaG91bGRV
c2VDcmVkZW50aWFsU3RvcmFnZShSZXNvdXJjZUhhbmRsZSogaGFuZGxlKQogICAgIHJldHVybiBt
X2FsbG93U3RvcmVkQ3JlZGVudGlhbHMgPT0gQWxsb3dTdG9yZWRDcmVkZW50aWFsczsKIH0KIAot
dm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlQXN5
bmMoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSkKLXsKLSAgICBBU1NFUlRfVU5VU0VEKGhhbmRsZSwg
aGFuZGxlID09IG1faGFuZGxlKTsKLQotICAgIGhhbmRsZS0+Y29udGludWVTaG91bGRVc2VDcmVk
ZW50aWFsU3RvcmFnZShzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZShoYW5kbGUpKTsKLX0KLQog
dm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZShSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZSYgY2hhbGxlbmdlKQogewogICAgIEFTU0VSVF9VTlVTRUQoaGFuZGxlLCBoYW5kbGUgPT0gbV9o
YW5kbGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Jlc291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UmVzb3VyY2VMb2FkZXIuaAppbmRleCAyYzE5ODM5NzE0MzA1MTljNDMwNTE0MDBlNzNhYzdmNGU1
ZmZhZjc1Li40MThmZmYyMGZmMjdmNWRmMWQ2YzM2MjRmYTE3NDI5YmZmZjFkYWE0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2Fk
ZXIuaApAQCAtOTQsNyArOTQsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHdhc0Jsb2Nr
ZWQoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGUqKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQg
Y2Fubm90U2hvd1VSTChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZSopIG92ZXJyaWRlOwogICAgIHZp
cnR1YWwgYm9vbCBzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZShXZWJDb3JlOjpSZXNvdXJjZUhh
bmRsZSopIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBzaG91bGRVc2VDcmVkZW50aWFsU3Rv
cmFnZUFzeW5jKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlKikgb3ZlcnJpZGU7CiAgICAgdmlydHVh
bCB2b2lkIGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShXZWJDb3JlOjpSZXNvdXJj
ZUhhbmRsZSosIGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJikgb3ZlcnJp
ZGU7CiAgICAgdmlydHVhbCB2b2lkIGRpZENhbmNlbEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKFdl
YkNvcmU6OlJlc291cmNlSGFuZGxlKiwgY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFs
bGVuZ2UmKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgcmVjZWl2ZWRDYW5jZWxsYXRpb24o
V2ViQ29yZTo6UmVzb3VyY2VIYW5kbGUqLCBjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZSYpIG92ZXJyaWRlOwo=
</data>
<flag name="review"
          id="255079"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230723</attachid>
            <date>2014-05-02 17:39:00 -0700</date>
            <delta_ts>2014-05-02 17:39:21 -0700</delta_ts>
            <desc>For the bots</desc>
            <filename>0001-Shortcircuit-shouldUseCredentialStorage-callback.patch</filename>
            <type>text/plain</type>
            <size>28336</size>
            <attacher name="Pratik Solanki">psolanki</attacher>
            
              <data encoding="base64">RnJvbSA3ODVlODcxOWY2ZDlmNGI1MzRkZGJhZWRkZTQzODk4YzMxOTJiNWU0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQcmF0aWsgU29sYW5raSA8cHNvbGFua2lAYXBwbGUuY29tPgpE
YXRlOiBUaHUsIDEgTWF5IDIwMTQgMjI6NDk6MzQgLTA3MDAKU3ViamVjdDogW1BBVENIXSBTaG9y
dGNpcmN1aXQgc2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UgY2FsbGJhY2sKIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzIzMDgKClJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgoKSWYgd2UgYXJlIGdvaW5nIHRvIHJldHVybiB0cnVlIGZyb20gdGhlIHNob3VsZFVz
ZUNyZWRlbnRpYWxTdG9yYWdlIGNhbGxiYWNrIHRoZW4gd2UgZG9uJ3QKcmVhbGx5IG5lZWQgdG8g
aGF2ZSBDRk5ldHdvcmsvRm91bmRhdGlvbiBjYWxsIHVzLiBXZSBjYW4ganVzdCBkaXNhYmxlIHRo
ZSBjYWxsYmFjayBhbmQKQ0ZOZXR3b3JrIHdpbGwgYXNzdW1lIHRydWUuIEFkZCBhIHNlcGFyYXRl
IHN1YmNsYXNzIHRoYXQgaW1wbGVtZW50cyB0aGlzIGNhbGxiYWNrIHdoZW4gd2UKbmVlZCB0byBy
ZXR1cm4gZmFsc2UuIFdlIGNhbiBhbHNvIGVsaW1pbmF0ZSB0aGUgY29ycmVzcG9uZGluZyBhc3lu
YyBjYWxsYmFja3MuIFRoaXMgYXZvaWRzCnBpbmdwb25naW5nIGJldHdlZW4gZGlzcGF0Y2ggcXVl
dWUgYW5kIG1haW4gdGhyZWFkIGluIHRoZSBjb21tb24gY2FzZS4KCk5vIG5ldyB0ZXN0cyBiZWNh
dXNlIG5vIGNoYW5nZSBpbiBmdW5jdGlvbmFsaXR5LgoKU291cmNlL1dlYkNvcmU6CgoqIFdlYkNv
cmUuZXhwLmluOgoqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwOgoqIHBsYXRm
b3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaDoKKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNl
SGFuZGxlQ2xpZW50LmNwcDoKKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlQ2xpZW50
Lmg6CiogcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZUhhbmRsZUNGTmV0LmNwcDoKKFdlYkNv
cmU6OlJlc291cmNlSGFuZGxlOjpjcmVhdGVDRlVSTENvbm5lY3Rpb24pOgooV2ViQ29yZTo6UmVz
b3VyY2VIYW5kbGU6OnNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlKToKKiBwbGF0Zm9ybS9uZXR3
b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGUuaDoKKiBwbGF0Zm9y
bS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGVXaXRoT3Bl
cmF0aW9uUXVldWUuY3BwOgooV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25E
ZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZTo6c2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UpOgoq
IHBsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0
ZVdpdGhPcGVyYXRpb25RdWV1ZS5oOgoqIHBsYXRmb3JtL25ldHdvcmsvY2YvU3luY2hyb25vdXNS
ZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlLmNwcDoKKiBwbGF0Zm9ybS9uZXR3
b3JrL2NmL1N5bmNocm9ub3VzUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZS5o
OgoqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tOgooV2ViQ29yZTo6
UmVzb3VyY2VIYW5kbGU6OnN0YXJ0KToKKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjptYWtlRGVs
ZWdhdGUpOgooV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OmRlbGVnYXRlKToKKFdlYkNvcmU6OlJl
c291cmNlSGFuZGxlOjpwbGF0Zm9ybUxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkpOgooV2ViQ29y
ZTo6UmVzb3VyY2VIYW5kbGU6OnNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlKToKKiBwbGF0Zm9y
bS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdh
dGUuaDoKKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJh
dGlvblF1ZXVlRGVsZWdhdGUubW06CigtW1dlYkNvcmVSZXNvdXJjZUhhbmRsZVdpdGhDcmVkZW50
aWFsU3RvcmFnZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZSBjb25uZWN0aW9uU2hvdWxkVXNlQ3Jl
ZGVudGlhbFN0b3JhZ2U6XSk6CiogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxl
U291cC5jcHA6CgpTb3VyY2UvV2ViS2l0MjoKCiogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291
cmNlTG9hZGVyLmNwcDogUmVtb3ZlIHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlQXN5bmMoKSBj
YWxsYmFja3MuCiogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmg6Ci0tLQog
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA0MCAr
KysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiAgICAgICAgICAg
ICAgICAgICAgICB8ICAyIC0KIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VIYW5kbGUuY3BwIHwgIDUgLS0KIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VIYW5kbGUuaCAgIHwgIDQgKy0KIC4uLi9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFu
ZGxlQ2xpZW50LmNwcCAgICAgIHwgIDUgLS0KIC4uLi9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNl
SGFuZGxlQ2xpZW50LmggICAgICAgIHwgIDIgLQogLi4uL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVz
b3VyY2VIYW5kbGVDRk5ldC5jcHAgICAgfCAxMyArKy0tLS0KIC4uLi9jZi9SZXNvdXJjZUhhbmRs
ZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlLmggICAgIHwgIDEgLQogLi4ubGVDRlVSTENvbm5lY3Rp
b25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZS5jcHAgfCAyMSArLS0tLS0tLS0KIC4uLm5kbGVD
RlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZS5oIHwgIDEgLQogLi4ucm9u
b3VzUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZS5jcHAgfCAgNSAtLQogLi4u
Y2hyb25vdXNSZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlLmggfCAgMSAtCiAu
Li4vcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0gICAgICB8IDUzICsr
KysrKysrKysrLS0tLS0tLS0tLS0KIC4uLldlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9u
UXVldWVEZWxlZ2F0ZS5oIHwgIDUgKy0KIC4uLmViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRp
b25RdWV1ZURlbGVnYXRlLm1tIHwgMzkgKysrKystLS0tLS0tLS0tLQogLi4uL3BsYXRmb3JtL25l
dHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwICAgfCAgNyAtLS0KIFNvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTggKysrKysrKysKIC4u
Li9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwICAgICAgIHwgIDcgLS0t
CiAuLi4vV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuaCB8ICAx
IC0KIDE5IGZpbGVzIGNoYW5nZWQsIDEwNiBpbnNlcnRpb25zKCspLCAxMjQgZGVsZXRpb25zKC0p
CgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IGI3YWY4YjguLmZhOGY2M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0
MyBAQAorMjAxNC0wNS0wMiAgUHJhdGlrIFNvbGFua2kgIDxwc29sYW5raUBhcHBsZS5jb20+CisK
KyAgICAgICAgU2hvcnRjaXJjdWl0IHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlIGNhbGxiYWNr
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzIzMDgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJZiB3ZSBh
cmUgZ29pbmcgdG8gcmV0dXJuIHRydWUgZnJvbSB0aGUgc2hvdWxkVXNlQ3JlZGVudGlhbFN0b3Jh
Z2UgY2FsbGJhY2sgdGhlbiB3ZSBkb24ndAorICAgICAgICByZWFsbHkgbmVlZCB0byBoYXZlIENG
TmV0d29yay9Gb3VuZGF0aW9uIGNhbGwgdXMuIFdlIGNhbiBqdXN0IGRpc2FibGUgdGhlIGNhbGxi
YWNrIGFuZAorICAgICAgICBDRk5ldHdvcmsgd2lsbCBhc3N1bWUgdHJ1ZS4gQWRkIGEgc2VwYXJh
dGUgc3ViY2xhc3MgdGhhdCBpbXBsZW1lbnRzIHRoaXMgY2FsbGJhY2sgd2hlbiB3ZQorICAgICAg
ICBuZWVkIHRvIHJldHVybiBmYWxzZS4gV2UgY2FuIGFsc28gZWxpbWluYXRlIHRoZSBjb3JyZXNw
b25kaW5nIGFzeW5jIGNhbGxiYWNrcy4gVGhpcyBhdm9pZHMKKyAgICAgICAgcGluZ3Bvbmdpbmcg
YmV0d2VlbiBkaXNwYXRjaCBxdWV1ZSBhbmQgbWFpbiB0aHJlYWQgaW4gdGhlIGNvbW1vbiBjYXNl
LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIG5vIGNoYW5nZSBpbiBmdW5jdGlvbmFs
aXR5LgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogcGxhdGZvcm0vbmV0
d29yay9SZXNvdXJjZUhhbmRsZS5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZUhhbmRsZS5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVD
bGllbnQuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVDbGll
bnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZOZXQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OmNyZWF0ZUNGVVJMQ29ubmVj
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6c2hvdWxkVXNlQ3JlZGVu
dGlhbFN0b3JhZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5k
bGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsv
Y2YvUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRl
bGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlOjpzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZSk6Cisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlv
bkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29y
ay9jZi9TeW5jaHJvbm91c1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGUuY3Bw
OgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2YvU3luY2hyb25vdXNSZXNvdXJjZUhhbmRs
ZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9t
YWMvUmVzb3VyY2VIYW5kbGVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRs
ZTo6c3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6Om1ha2VEZWxlZ2F0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6ZGVsZWdhdGUpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OnBsYXRmb3JtTG9hZFJlc291cmNlU3luY2hyb25v
dXNseSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6c2hvdWxkVXNlQ3JlZGVu
dGlhbFN0b3JhZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNv
dXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5oOgorICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0
ZS5tbToKKyAgICAgICAgKC1bV2ViQ29yZVJlc291cmNlSGFuZGxlV2l0aENyZWRlbnRpYWxTdG9y
YWdlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlIGNvbm5lY3Rpb25TaG91bGRVc2VDcmVkZW50aWFs
U3RvcmFnZTpdKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5k
bGVTb3VwLmNwcDoKKwogMjAxNC0wNS0wMiAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBw
bGUuY29tPgogCiAgICAgICAgIENsZWFuIHVwIEZvcm1EYXRhRWxlbWVudApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbgppbmRleCBhNjgzYTQ3Li45YWFmMzZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMzcz
LDcgKzM3Myw2IEBAIF9fWk43V2ViQ29yZTE0UmVzb3VyY2VIYW5kbGUyM2NvbnRpbnVlV2lsbFNl
bmRSZXF1ZXN0RVJLTlNfMTVSZXNvdXJjZVJlcXVlc3RFCiBfX1pON1dlYkNvcmUxNFJlc291cmNl
SGFuZGxlMjVsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5RVBOU18xN05ldHdvcmtpbmdDb250ZXh0
RVJLTlNfMTVSZXNvdXJjZVJlcXVlc3RFTlNfMTdTdG9yZWRDcmVkZW50aWFsc0VSTlNfMTNSZXNv
dXJjZUVycm9yRVJOU18xNlJlc291cmNlUmVzcG9uc2VFUk4zV1RGNlZlY3RvckljTG0wRU5TQl8x
NUNyYXNoT25PdmVyZmxvd0VFRQogX19aTjdXZWJDb3JlMTRSZXNvdXJjZUhhbmRsZTI2Y29udGlu
dWVEaWRSZWNlaXZlUmVzcG9uc2VFdgogX19aTjdXZWJDb3JlMTRSZXNvdXJjZUhhbmRsZTI2c3lu
Y2hyb25vdXNMb2FkUnVuTG9vcE1vZGVFdgotX19aTjdXZWJDb3JlMTRSZXNvdXJjZUhhbmRsZTM0
Y29udGludWVTaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZUViCiBfX1pON1dlYkNvcmUxNFJlc291
cmNlSGFuZGxlNDVjb250aW51ZUNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2VF
YgogX19aTjdXZWJDb3JlMTRSZXNvdXJjZUhhbmRsZTZjcmVhdGVFUE5TXzE3TmV0d29ya2luZ0Nv
bnRleHRFUktOU18xNVJlc291cmNlUmVxdWVzdEVQTlNfMjBSZXNvdXJjZUhhbmRsZUNsaWVudEVi
YgogX19aTjdXZWJDb3JlMTRSZXNvdXJjZUxvYWRlcjE0Y2FuY2VsbGVkRXJyb3JFdgpAQCAtODM4
LDcgKzgzNyw2IEBAIF9fWk43V2ViQ29yZTIwUmVuZGVyRW1iZWRkZWRPYmplY3QzN3NldFVuYXZh
aWxhYmxlUGx1Z2luSW5kaWNhdG9ySXNIaWRkZW5FYgogX19aTjdXZWJDb3JlMjBSZW5kZXJFbWJl
ZGRlZE9iamVjdDQ0c2V0UGx1Z2luVW5hdmFpbGFiaWxpdHlSZWFzb25XaXRoRGVzY3JpcHRpb25F
TlMwXzI2UGx1Z2luVW5hdmFpbGFiaWxpdHlSZWFzb25FUktOM1dURjZTdHJpbmdFCiBfX1pON1dl
YkNvcmUyMFJlc291cmNlSGFuZGxlQ2xpZW50MTZkaWRSZWNlaXZlQnVmZmVyRVBOU18xNFJlc291
cmNlSGFuZGxlRU4zV1RGMTBQYXNzUmVmUHRySU5TXzEyU2hhcmVkQnVmZmVyRUVFaQogX19aTjdX
ZWJDb3JlMjBSZXNvdXJjZUhhbmRsZUNsaWVudDIwd2lsbFNlbmRSZXF1ZXN0QXN5bmNFUE5TXzE0
UmVzb3VyY2VIYW5kbGVFUktOU18xNVJlc291cmNlUmVxdWVzdEVSS05TXzE2UmVzb3VyY2VSZXNw
b25zZUUKLV9fWk43V2ViQ29yZTIwUmVzb3VyY2VIYW5kbGVDbGllbnQzMXNob3VsZFVzZUNyZWRl
bnRpYWxTdG9yYWdlQXN5bmNFUE5TXzE0UmVzb3VyY2VIYW5kbGVFCiBfX1pON1dlYkNvcmUyMFJl
c291cmNlSGFuZGxlQ2xpZW50NDJjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNl
QXN5bmNFUE5TXzE0UmVzb3VyY2VIYW5kbGVFUktOU18xNVByb3RlY3Rpb25TcGFjZUUKIF9fWk43
V2ViQ29yZTIwUmVzb3VyY2VIYW5kbGVDbGllbnRDMkV2CiBfX1pON1dlYkNvcmUyMFJlc291cmNl
SGFuZGxlQ2xpZW50RDJFdgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9SZXNvdXJjZUhhbmRsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L1Jlc291cmNlSGFuZGxlLmNwcAppbmRleCA2YWUxYTkxLi4xZjZlNzNkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmNwcApAQCAtMTY0
LDExICsxNjQsNiBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpjb250aW51ZURpZFJlY2VpdmVSZXNw
b25zZSgpCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBSZXNvdXJjZUhhbmRsZTo6
Y29udGludWVTaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZShib29sKQotewotICAgIG5vdEltcGxl
bWVudGVkKCk7Ci19Ci0KICNpZiBVU0UoUFJPVEVDVElPTl9TUEFDRV9BVVRIX0NBTExCQUNLKQog
dm9pZCBSZXNvdXJjZUhhbmRsZTo6Y29udGludWVDYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVj
dGlvblNwYWNlKGJvb2wpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1Jlc291cmNlSGFuZGxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L1Jlc291cmNlSGFuZGxlLmgKaW5kZXggNjI0NjgyYy4uYTZmM2YxOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaApAQCAtMTMwLDYgKzEz
MCw3IEBAIHB1YmxpYzoKICNpZiBQTEFURk9STShDT0NPQSkgJiYgIVVTRShDRk5FVFdPUkspCiAg
ICAgdm9pZCBkaWRDYW5jZWxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShjb25zdCBBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZSYpOwogICAgIE5TVVJMQ29ubmVjdGlvbiAqY29ubmVjdGlvbigpIGNvbnN0
OworICAgIGlkIG1ha2VEZWxlZ2F0ZShib29sKTsKICAgICBpZCBkZWxlZ2F0ZSgpOwogICAgIHZv
aWQgcmVsZWFzZURlbGVnYXRlKCk7CiAjZW5kaWYKQEAgLTIwOCw5ICsyMDksNiBAQCBwdWJsaWM6
CiAgICAgLy8gQ2FsbGVkIGluIHJlc3BvbnNlIHRvIFJlc291cmNlSGFuZGxlQ2xpZW50OjpkaWRS
ZWNlaXZlUmVzcG9uc2VBc3luYygpLgogICAgIHZvaWQgY29udGludWVEaWRSZWNlaXZlUmVzcG9u
c2UoKTsKIAotICAgIC8vIENhbGxlZCBpbiByZXNwb25zZSB0byBSZXNvdXJjZUhhbmRsZUNsaWVu
dDo6c2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2VBc3luYygpLgotICAgIHZvaWQgY29udGludWVT
aG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZShib29sKTsKLQogI2lmIFVTRShQUk9URUNUSU9OX1NQ
QUNFX0FVVEhfQ0FMTEJBQ0spCiAgICAgLy8gQ2FsbGVkIGluIHJlc3BvbnNlIHRvIFJlc291cmNl
SGFuZGxlQ2xpZW50OjpjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlQXN5bmMo
KS4KICAgICB2b2lkIGNvbnRpbnVlQ2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFj
ZShib29sKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VIYW5kbGVDbGllbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZUhhbmRsZUNsaWVudC5jcHAKaW5kZXggZDk2OGEzNy4uMzFkNjQ3NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUNsaWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUNs
aWVudC5jcHAKQEAgLTQ5LDExICs0OSw2IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGVDbGllbnQ6OmRp
ZFJlY2VpdmVSZXNwb25zZUFzeW5jKFJlc291cmNlSGFuZGxlKiBoYW5kbGUsIGNvbnN0CiAgICAg
aGFuZGxlLT5jb250aW51ZURpZFJlY2VpdmVSZXNwb25zZSgpOwogfQogCi12b2lkIFJlc291cmNl
SGFuZGxlQ2xpZW50OjpzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZUFzeW5jKFJlc291cmNlSGFu
ZGxlKiBoYW5kbGUpCi17Ci0gICAgaGFuZGxlLT5jb250aW51ZVNob3VsZFVzZUNyZWRlbnRpYWxT
dG9yYWdlKGZhbHNlKTsKLX0KLQogI2lmIFVTRShQUk9URUNUSU9OX1NQQUNFX0FVVEhfQ0FMTEJB
Q0spCiB2b2lkIFJlc291cmNlSGFuZGxlQ2xpZW50OjpjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJv
dGVjdGlvblNwYWNlQXN5bmMoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgY29uc3QgUHJvdGVjdGlv
blNwYWNlJikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VIYW5kbGVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VIYW5kbGVDbGllbnQuaAppbmRleCAzYWUwODhmLi4xMTdkYTEwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlQ2xpZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUNsaWVu
dC5oCkBAIC04Nyw4ICs4Nyw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgLy8gQ2xp
ZW50IHdpbGwgY2FsbCBSZXNvdXJjZUhhbmRsZTo6Y29udGludWVEaWRSZWNlaXZlUmVzcG9uc2Uo
KSB3aGVuIHJlYWR5LgogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlQXN5
bmMoUmVzb3VyY2VIYW5kbGUqLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CiAKLSAgICAgICAg
Ly8gQ2xpZW50IHdpbGwgcGFzcyBhbiB1cGRhdGVkIHJlcXVlc3QgdXNpbmcgUmVzb3VyY2VIYW5k
bGU6OmNvbnRpbnVlU2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UoKSB3aGVuIHJlYWR5LgotICAg
ICAgICB2aXJ0dWFsIHZvaWQgc2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2VBc3luYyhSZXNvdXJj
ZUhhbmRsZSopOwogI2lmIFVTRShQUk9URUNUSU9OX1NQQUNFX0FVVEhfQ0FMTEJBQ0spCiAgICAg
ICAgIC8vIENsaWVudCB3aWxsIHBhc3MgYW4gdXBkYXRlZCByZXF1ZXN0IHVzaW5nIFJlc291cmNl
SGFuZGxlOjpjb250aW51ZUNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2UoKSB3
aGVuIHJlYWR5LgogICAgICAgICB2aXJ0dWFsIHZvaWQgY2FuQXV0aGVudGljYXRlQWdhaW5zdFBy
b3RlY3Rpb25TcGFjZUFzeW5jKFJlc291cmNlSGFuZGxlKiwgY29uc3QgUHJvdGVjdGlvblNwYWNl
Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291
cmNlSGFuZGxlQ0ZOZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9S
ZXNvdXJjZUhhbmRsZUNGTmV0LmNwcAppbmRleCAxNzgxY2UyLi5lNTVlYWVkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZOZXQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5k
bGVDRk5ldC5jcHAKQEAgLTIyOCw2ICsyMjgsOCBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpjcmVh
dGVDRlVSTENvbm5lY3Rpb24oYm9vbCBzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZSwgYm9vbAog
ICAgIGQtPm1fY29ubmVjdGlvbkRlbGVnYXRlLT5zZXR1cFJlcXVlc3QocmVxdWVzdC5nZXQoKSk7
CiAKICAgICBDRlVSTENvbm5lY3Rpb25DbGllbnRfVjYgY2xpZW50ID0gZC0+bV9jb25uZWN0aW9u
RGVsZWdhdGUtPm1ha2VDb25uZWN0aW9uQ2xpZW50KCk7CisgICAgaWYgKHNob3VsZFVzZUNyZWRl
bnRpYWxTdG9yYWdlKQorICAgICAgICBjbGllbnQuc2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2Ug
PSAwOwogCiAgICAgZC0+bV9jb25uZWN0aW9uID0gYWRvcHRDRihDRlVSTENvbm5lY3Rpb25DcmVh
dGVXaXRoUHJvcGVydGllcygwLCByZXF1ZXN0LmdldCgpLCByZWludGVycHJldF9jYXN0PENGVVJM
Q29ubmVjdGlvbkNsaWVudCo+KCZjbGllbnQpLCBwcm9wZXJ0aWVzRGljdGlvbmFyeS5nZXQoKSkp
OwogfQpAQCAtMzA5LDEwICszMTEsOCBAQCBib29sIFJlc291cmNlSGFuZGxlOjpzaG91bGRVc2VD
cmVkZW50aWFsU3RvcmFnZSgpCiB7CiAgICAgTE9HKE5ldHdvcmssICJDRk5ldCAtIHNob3VsZFVz
ZUNyZWRlbnRpYWxTdG9yYWdlKCkiKTsKICAgICBpZiAoUmVzb3VyY2VIYW5kbGVDbGllbnQqIGNs
aWVudCA9IHRoaXMtPmNsaWVudCgpKSB7Ci0gICAgICAgIGlmIChjbGllbnQtPnVzZXNBc3luY0Nh
bGxiYWNrcygpKQotICAgICAgICAgICAgY2xpZW50LT5zaG91bGRVc2VDcmVkZW50aWFsU3RvcmFn
ZUFzeW5jKHRoaXMpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICByZXR1cm4gY2xpZW50LT5z
aG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZSh0aGlzKTsKKyAgICAgICAgQVNTRVJUKCFjbGllbnQt
PnVzZXNBc3luY0NhbGxiYWNrcygpKTsKKyAgICAgICAgcmV0dXJuIGNsaWVudC0+c2hvdWxkVXNl
Q3JlZGVudGlhbFN0b3JhZ2UodGhpcyk7CiAgICAgfQogICAgIHJldHVybiBmYWxzZTsKIH0KQEAg
LTU4OCwxMSArNTg4LDYgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6Y29udGludWVEaWRSZWNlaXZl
UmVzcG9uc2UoKQogICAgIGQtPm1fY29ubmVjdGlvbkRlbGVnYXRlLT5jb250aW51ZURpZFJlY2Vp
dmVSZXNwb25zZSgpOwogfQogCi12b2lkIFJlc291cmNlSGFuZGxlOjpjb250aW51ZVNob3VsZFVz
ZUNyZWRlbnRpYWxTdG9yYWdlKGJvb2wgdXNlQ3JlZGVudGlhbFN0b3JhZ2UpCi17Ci0gICAgZC0+
bV9jb25uZWN0aW9uRGVsZWdhdGUtPmNvbnRpbnVlU2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2Uo
dXNlQ3JlZGVudGlhbFN0b3JhZ2UpOwotfQotCiAjaWYgVVNFKFBST1RFQ1RJT05fU1BBQ0VfQVVU
SF9DQUxMQkFDSykKIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmNvbnRpbnVlQ2FuQXV0aGVudGljYXRl
QWdhaW5zdFByb3RlY3Rpb25TcGFjZShib29sIGNhbkF1dGhlbnRpY2F0ZSkKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRlVS
TENvbm5lY3Rpb25EZWxlZ2F0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
Zi9SZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlLmgKaW5kZXggMjQwOWM4Yy4u
MTJmN2I4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9S
ZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVn
YXRlLmgKQEAgLTQ5LDcgKzQ5LDYgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGNvbnRp
bnVlV2lsbFNlbmRSZXF1ZXN0KENGVVJMUmVxdWVzdFJlZikgPSAwOwogICAgIHZpcnR1YWwgdm9p
ZCBjb250aW51ZURpZFJlY2VpdmVSZXNwb25zZSgpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgY29u
dGludWVTaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZShib29sKSA9IDA7CiAgICAgdmlydHVhbCB2
b2lkIGNvbnRpbnVlV2lsbENhY2hlUmVzcG9uc2UoQ0ZDYWNoZWRVUkxSZXNwb25zZVJlZikgPSAw
OwogI2lmIFVTRShQUk9URUNUSU9OX1NQQUNFX0FVVEhfQ0FMTEJBQ0spCiAgICAgdmlydHVhbCB2
b2lkIGNvbnRpbnVlQ2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZShib29sKSA9
IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291
cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWUuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZUhhbmRsZUNGVVJMQ29u
bmVjdGlvbkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlLmNwcAppbmRleCBkYTJkNjk2Li5mODNk
OTFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291
cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRlVS
TENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZS5jcHAKQEAgLTIyOSwyMCArMjI5
LDcgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlV2l0aE9wZXJh
dGlvblF1ZXVlOjpkaWRTZW5kQm9keURhdGEoQ0YKIAogQm9vbGVhbiBSZXNvdXJjZUhhbmRsZUNG
VVJMQ29ubmVjdGlvbkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlOjpzaG91bGRVc2VDcmVkZW50
aWFsU3RvcmFnZSgpCiB7Ci0gICAgUmVmUHRyPFJlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9u
RGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWU+IHByb3RlY3Rvcih0aGlzKTsKLQotICAgIGRpc3Bh
dGNoX2FzeW5jKGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIF57Ci0gICAgICAgIGlmICghcHJv
dGVjdG9yLT5oYXNIYW5kbGUoKSkgewotICAgICAgICAgICAgY29udGludWVTaG91bGRVc2VDcmVk
ZW50aWFsU3RvcmFnZShmYWxzZSk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLQot
ICAgICAgICBMT0coTmV0d29yaywgIkNGTmV0IC0gUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rp
b25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZTo6c2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2Uo
aGFuZGxlPSVwKSAoJXMpIiwgbV9oYW5kbGUsIG1faGFuZGxlLT5maXJzdFJlcXVlc3QoKS51cmwo
KS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKLQotICAgICAgICBtX2hhbmRsZS0+c2hvdWxkVXNl
Q3JlZGVudGlhbFN0b3JhZ2UoKTsKLSAgICB9KTsKLSAgICBkaXNwYXRjaF9zZW1hcGhvcmVfd2Fp
dChtX3NlbWFwaG9yZSwgRElTUEFUQ0hfVElNRV9GT1JFVkVSKTsKLSAgICByZXR1cm4gbV9ib29s
UmVzdWx0OworICAgIHJldHVybiBOTzsKIH0KIAogI2lmIFVTRShQUk9URUNUSU9OX1NQQUNFX0FV
VEhfQ0FMTEJBQ0spCkBAIC0zMDAsMTIgKzI4Nyw2IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGVDRlVS
TENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZTo6Y29udGludWVEaWRSZWNlaXZl
CiAgICAgZGlzcGF0Y2hfc2VtYXBob3JlX3NpZ25hbChtX3NlbWFwaG9yZSk7CiB9CiAKLXZvaWQg
UmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZTo6
Y29udGludWVTaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZShib29sIHNob3VsZFVzZUNyZWRlbnRp
YWxTdG9yYWdlKQotewotICAgIG1fYm9vbFJlc3VsdCA9IHNob3VsZFVzZUNyZWRlbnRpYWxTdG9y
YWdlOwotICAgIGRpc3BhdGNoX3NlbWFwaG9yZV9zaWduYWwobV9zZW1hcGhvcmUpOwotfQotCiB2
b2lkIFJlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVl
dWU6OmNvbnRpbnVlV2lsbENhY2hlUmVzcG9uc2UoQ0ZDYWNoZWRVUkxSZXNwb25zZVJlZiByZXNw
b25zZSkKIHsKICAgICBtX2NhY2hlZFJlc3BvbnNlUmVzdWx0ID0gcmVzcG9uc2U7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZV
UkxDb25uZWN0aW9uRGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWUuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0
ZVdpdGhPcGVyYXRpb25RdWV1ZS5oCmluZGV4IDEwOTU4ZDMuLmFjMjUyYjEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRlVSTENv
bm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0
ZVdpdGhPcGVyYXRpb25RdWV1ZS5oCkBAIC02NCw3ICs2NCw2IEBAIHByaXZhdGU6CiAKICAgICB2
aXJ0dWFsIHZvaWQgY29udGludWVXaWxsU2VuZFJlcXVlc3QoQ0ZVUkxSZXF1ZXN0UmVmKSBvdmVy
cmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgY29udGludWVEaWRSZWNlaXZlUmVzcG9uc2UoKSBvdmVy
cmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgY29udGludWVTaG91bGRVc2VDcmVkZW50aWFsU3RvcmFn
ZShib29sKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgY29udGludWVXaWxsQ2FjaGVSZXNw
b25zZShDRkNhY2hlZFVSTFJlc3BvbnNlUmVmKSBvdmVycmlkZTsKICNpZiBVU0UoUFJPVEVDVElP
Tl9TUEFDRV9BVVRIX0NBTExCQUNLKQogICAgIHZpcnR1YWwgdm9pZCBjb250aW51ZUNhbkF1dGhl
bnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2UoYm9vbCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1N5bmNocm9ub3VzUmVzb3VyY2VI
YW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2NmL1N5bmNocm9ub3VzUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxl
Z2F0ZS5jcHAKaW5kZXggZTAyNjY0My4uYmE0MmJlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9jZi9TeW5jaHJvbm91c1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25u
ZWN0aW9uRGVsZWdhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
Y2YvU3luY2hyb25vdXNSZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlLmNwcApA
QCAtMjgyLDExICsyODIsNiBAQCB2b2lkIFN5bmNocm9ub3VzUmVzb3VyY2VIYW5kbGVDRlVSTENv
bm5lY3Rpb25EZWxlZ2F0ZTo6Y29udGludWVEaWRSZWNlaXZlUmVzcG9ucwogICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogfQogCi12b2lkIFN5bmNocm9ub3VzUmVzb3VyY2VIYW5kbGVDRlVSTENv
bm5lY3Rpb25EZWxlZ2F0ZTo6Y29udGludWVTaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZShib29s
KQotewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCiB2b2lkIFN5bmNocm9ub3VzUmVz
b3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZTo6Y29udGludWVXaWxsQ2FjaGVSZXNw
b25zZShDRkNhY2hlZFVSTFJlc3BvbnNlUmVmKQogewogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9TeW5jaHJv
bm91c1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvU3luY2hyb25vdXNSZXNvdXJjZUhhbmRsZUNGVVJMQ29u
bmVjdGlvbkRlbGVnYXRlLmgKaW5kZXggMTc3MDY2Ny4uZjhmYTBjZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9TeW5jaHJvbm91c1Jlc291cmNlSGFuZGxl
Q0ZVUkxDb25uZWN0aW9uRGVsZWdhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2NmL1N5bmNocm9ub3VzUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0
ZS5oCkBAIC01OSw3ICs1OSw2IEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIHZvaWQgY29udGlu
dWVXaWxsU2VuZFJlcXVlc3QoQ0ZVUkxSZXF1ZXN0UmVmKSBvdmVycmlkZTsKICAgICB2aXJ0dWFs
IHZvaWQgY29udGludWVEaWRSZWNlaXZlUmVzcG9uc2UoKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFs
IHZvaWQgY29udGludWVTaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZShib29sKSBvdmVycmlkZTsK
ICAgICB2aXJ0dWFsIHZvaWQgY29udGludWVXaWxsQ2FjaGVSZXNwb25zZShDRkNhY2hlZFVSTFJl
c3BvbnNlUmVmKSBvdmVycmlkZTsKICNpZiBVU0UoUFJPVEVDVElPTl9TUEFDRV9BVVRIX0NBTExC
QUNLKQogICAgIHZpcnR1YWwgdm9pZCBjb250aW51ZUNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90
ZWN0aW9uU3BhY2UoYm9vbCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tCmluZGV4IDFmMGQwZjAu
LjVmNTE0NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFj
L1Jlc291cmNlSGFuZGxlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tCkBAIC0yMjMsNyArMjIzLDcgQEAgYm9vbCBSZXNv
dXJjZUhhbmRsZTo6c3RhcnQoKQogCiAjaWYgIVBMQVRGT1JNKElPUykKICAgICBjcmVhdGVOU1VS
TENvbm5lY3Rpb24oCi0gICAgICAgIFJlc291cmNlSGFuZGxlOjpkZWxlZ2F0ZSgpLAorICAgICAg
ICBSZXNvdXJjZUhhbmRsZTo6bWFrZURlbGVnYXRlKHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdl
KSwKICAgICAgICAgc2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UsCiAgICAgICAgIGQtPm1fc2hv
dWxkQ29udGVudFNuaWZmIHx8IGQtPm1fY29udGV4dC0+bG9jYWxGaWxlQ29udGVudFNuaWZmaW5n
RW5hYmxlZCgpLAogICAgICAgICBTY2hlZHVsaW5nQmVoYXZpb3I6OkFzeW5jaHJvbm91cyk7CkBA
IC0zMTksMTUgKzMxOSwyOSBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjp1bnNjaGVkdWxlKFNjaGVk
dWxlUGFpciYgcGFpcikKIAogI2VuZGlmCiAKK2lkIFJlc291cmNlSGFuZGxlOjptYWtlRGVsZWdh
dGUoYm9vbCBzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZSkKK3sKKyAgICBBU1NFUlQoIWQtPm1f
ZGVsZWdhdGUpOworCisgICAgaWQgPE5TVVJMQ29ubmVjdGlvbkRlbGVnYXRlPiBkZWxlZ2F0ZTsK
KyAgICBpZiAoY2xpZW50KCkgJiYgY2xpZW50KCktPnVzZXNBc3luY0NhbGxiYWNrcygpKSB7Cisg
ICAgICAgIGlmIChzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZSkKKyAgICAgICAgICAgIGRlbGVn
YXRlID0gW1tXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUgYWxs
b2NdIGluaXRXaXRoSGFuZGxlOnRoaXNdOworICAgICAgICBlbHNlCisgICAgICAgICAgICBkZWxl
Z2F0ZSA9IFtbV2ViQ29yZVJlc291cmNlSGFuZGxlV2l0aENyZWRlbnRpYWxTdG9yYWdlQXNPcGVy
YXRpb25RdWV1ZURlbGVnYXRlIGFsbG9jXSBpbml0V2l0aEhhbmRsZTp0aGlzXTsKKworICAgIH0g
ZWxzZQorICAgICAgICBkZWxlZ2F0ZSA9IFtbV2ViQ29yZVJlc291cmNlSGFuZGxlQXNEZWxlZ2F0
ZSBhbGxvY10gaW5pdFdpdGhIYW5kbGU6dGhpc107CisKKyAgICBkLT5tX2RlbGVnYXRlID0gZGVs
ZWdhdGU7CisgICAgW2RlbGVnYXRlIHJlbGVhc2VdOworCisgICAgcmV0dXJuIGQtPm1fZGVsZWdh
dGUuZ2V0KCk7Cit9CisKIGlkIFJlc291cmNlSGFuZGxlOjpkZWxlZ2F0ZSgpCiB7Ci0gICAgaWYg
KCFkLT5tX2RlbGVnYXRlKSB7Ci0gICAgICAgIGlkIDxOU1VSTENvbm5lY3Rpb25EZWxlZ2F0ZT4g
ZGVsZWdhdGUgPSAoY2xpZW50KCkgJiYgY2xpZW50KCktPnVzZXNBc3luY0NhbGxiYWNrcygpKSA/
Ci0gICAgICAgICAgICBbW1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxl
Z2F0ZSBhbGxvY10gaW5pdFdpdGhIYW5kbGU6dGhpc10KLSAgICAgICAgICA6IFtbV2ViQ29yZVJl
c291cmNlSGFuZGxlQXNEZWxlZ2F0ZSBhbGxvY10gaW5pdFdpdGhIYW5kbGU6dGhpc107Ci0gICAg
ICAgIGQtPm1fZGVsZWdhdGUgPSBkZWxlZ2F0ZTsKLSAgICAgICAgW2RlbGVnYXRlIHJlbGVhc2Vd
OwotICAgIH0KKyAgICBBU1NFUlQoZC0+bV9kZWxlZ2F0ZSk7CiAgICAgcmV0dXJuIGQtPm1fZGVs
ZWdhdGUuZ2V0KCk7CiB9CiAKQEAgLTM3Myw5ICszODcsMTAgQEAgdm9pZCBSZXNvdXJjZUhhbmRs
ZTo6cGxhdGZvcm1Mb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KE5ldHdvcmtpbmdDb250ZXh0KiBj
b250ZXgKICAgICB9CiAKICNpZiAhUExBVEZPUk0oSU9TKQorICAgIGJvb2wgc2hvdWxkVXNlQ3Jl
ZGVudGlhbFN0b3JhZ2UgPSBzdG9yZWRDcmVkZW50aWFscyA9PSBBbGxvd1N0b3JlZENyZWRlbnRp
YWxzOwogICAgIGhhbmRsZS0+Y3JlYXRlTlNVUkxDb25uZWN0aW9uKAotICAgICAgICBoYW5kbGUt
PmRlbGVnYXRlKCksCi0gICAgICAgIHN0b3JlZENyZWRlbnRpYWxzID09IEFsbG93U3RvcmVkQ3Jl
ZGVudGlhbHMsCisgICAgICAgIGhhbmRsZS0+bWFrZURlbGVnYXRlKHNob3VsZFVzZUNyZWRlbnRp
YWxTdG9yYWdlKSwKKyAgICAgICAgc2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UsCiAgICAgICAg
IGhhbmRsZS0+c2hvdWxkQ29udGVudFNuaWZmKCkgfHwgY29udGV4dC0+bG9jYWxGaWxlQ29udGVu
dFNuaWZmaW5nRW5hYmxlZCgpLAogICAgICAgICBTY2hlZHVsaW5nQmVoYXZpb3I6OlN5bmNocm9u
b3VzKTsKICNlbHNlCkBAIC01MDQsMjIgKzUxOSw4IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmNv
bnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlKCkKIAogYm9vbCBSZXNvdXJjZUhhbmRsZTo6c2hvdWxk
VXNlQ3JlZGVudGlhbFN0b3JhZ2UoKQogewotICAgIGlmIChjbGllbnQoKS0+dXNlc0FzeW5jQ2Fs
bGJhY2tzKCkpIHsKLSAgICAgICAgaWYgKGNsaWVudCgpKQotICAgICAgICAgICAgY2xpZW50KCkt
PnNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlQXN5bmModGhpcyk7Ci0gICAgICAgIGVsc2UKLSAg
ICAgICAgICAgIGNvbnRpbnVlU2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UoZmFsc2UpOwotICAg
ICAgICByZXR1cm4gZmFsc2U7IC8vIElnbm9yZWQgYnkgY2FsbGVyLgotICAgIH0gZWxzZQotICAg
ICAgICByZXR1cm4gY2xpZW50KCkgJiYgY2xpZW50KCktPnNob3VsZFVzZUNyZWRlbnRpYWxTdG9y
YWdlKHRoaXMpOwotfQotCi12b2lkIFJlc291cmNlSGFuZGxlOjpjb250aW51ZVNob3VsZFVzZUNy
ZWRlbnRpYWxTdG9yYWdlKGJvb2wgdXNlQ3JlZGVudGlhbFN0b3JhZ2UpCi17Ci0gICAgQVNTRVJU
KGNsaWVudCgpKTsKLSAgICBBU1NFUlQoY2xpZW50KCktPnVzZXNBc3luY0NhbGxiYWNrcygpKTsK
LQotICAgIFsoaWQpZGVsZWdhdGUoKSBjb250aW51ZVNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdl
OnVzZUNyZWRlbnRpYWxTdG9yYWdlXTsKKyAgICBBU1NFUlQoIWNsaWVudCgpLT51c2VzQXN5bmND
YWxsYmFja3MoKSk7CisgICAgcmV0dXJuIGNsaWVudCgpICYmIGNsaWVudCgpLT5zaG91bGRVc2VD
cmVkZW50aWFsU3RvcmFnZSh0aGlzKTsKIH0KIAogdm9pZCBSZXNvdXJjZUhhbmRsZTo6ZGlkUmVj
ZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
JiBjaGFsbGVuZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFz
T3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5oCmluZGV4IGVmZmEyZGYuLmU3NDBhYTUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhh
bmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxl
Z2F0ZS5oCkBAIC00OSwxMiArNDksMTUgQEAgY2xhc3MgUmVzb3VyY2VIYW5kbGU7CiAtICh2b2lk
KWRldGFjaEhhbmRsZTsKIC0gKHZvaWQpY29udGludWVXaWxsU2VuZFJlcXVlc3Q6KE5TVVJMUmVx
dWVzdCAqKW5ld1JlcXVlc3Q7CiAtICh2b2lkKWNvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlOwot
LSAodm9pZCljb250aW51ZVNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlOihCT09MKXVzZUNyZWRl
bnRpYWxTdG9yYWdlOwogI2lmIFVTRShQUk9URUNUSU9OX1NQQUNFX0FVVEhfQ0FMTEJBQ0spCiAt
ICh2b2lkKWNvbnRpbnVlQ2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZTooQk9P
TCljYW5BdXRoZW50aWNhdGU7CiAjZW5kaWYKIC0gKHZvaWQpY29udGludWVXaWxsQ2FjaGVSZXNw
b25zZTooTlNDYWNoZWRVUkxSZXNwb25zZSAqKXJlc3BvbnNlOwogQGVuZAogCitAaW50ZXJmYWNl
IFdlYkNvcmVSZXNvdXJjZUhhbmRsZVdpdGhDcmVkZW50aWFsU3RvcmFnZUFzT3BlcmF0aW9uUXVl
dWVEZWxlZ2F0ZSA6IFdlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0
ZQorCitAZW5kCisKICNlbmRpZiAvLyAhVVNFKENGTkVUV09SSykKICNlbmRpZiAvLyBXZWJDb3Jl
UmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGVfaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNP
cGVyYXRpb25RdWV1ZURlbGVnYXRlLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLm1tCmlu
ZGV4IGYzNDhhZDguLmM1MTIwZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0
ZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVz
b3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUubW0KQEAgLTg2LDEyICs4Niw2IEBA
IHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogICAgIGRpc3BhdGNoX3NlbWFwaG9yZV9zaWduYWwo
bV9zZW1hcGhvcmUpOwogfQogCi0tICh2b2lkKWNvbnRpbnVlU2hvdWxkVXNlQ3JlZGVudGlhbFN0
b3JhZ2U6KEJPT0wpdXNlQ3JlZGVudGlhbFN0b3JhZ2UKLXsKLSAgICBtX2Jvb2xSZXN1bHQgPSB1
c2VDcmVkZW50aWFsU3RvcmFnZTsKLSAgICBkaXNwYXRjaF9zZW1hcGhvcmVfc2lnbmFsKG1fc2Vt
YXBob3JlKTsKLX0KLQogLSAodm9pZCljb250aW51ZUNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90
ZWN0aW9uU3BhY2U6KEJPT0wpY2FuQXV0aGVudGljYXRlCiB7CiAgICAgbV9ib29sUmVzdWx0ID0g
Y2FuQXV0aGVudGljYXRlOwpAQCAtMTQwLDI4ICsxMzQsNiBAQCB1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKICAgICByZXR1cm4gW21fcmVxdWVzdFJlc3VsdC5sZWFrUmVmKCkgYXV0b3JlbGVhc2Vd
OwogfQogCi0tIChCT09MKWNvbm5lY3Rpb25TaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZTooTlNV
UkxDb25uZWN0aW9uICopY29ubmVjdGlvbgotewotICAgIEFTU0VSVCghaXNNYWluVGhyZWFkKCkp
OwotICAgIFVOVVNFRF9QQVJBTShjb25uZWN0aW9uKTsKLQotICAgIExPRyhOZXR3b3JrLCAiSGFu
ZGxlICVwIGRlbGVnYXRlIGNvbm5lY3Rpb25TaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZTolcCIs
IG1faGFuZGxlLCBjb25uZWN0aW9uKTsKLQotICAgIFJldGFpblB0cjxpZD4gcHJvdGVjdG9yKHNl
bGYpOwotCi0gICAgZGlzcGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgXnsK
LSAgICAgICAgaWYgKCFtX2hhbmRsZSkgewotICAgICAgICAgICAgbV9ib29sUmVzdWx0ID0gTk87
Ci0gICAgICAgICAgICBkaXNwYXRjaF9zZW1hcGhvcmVfc2lnbmFsKG1fc2VtYXBob3JlKTsKLSAg
ICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgICAgICBtX2hhbmRsZS0+c2hvdWxkVXNl
Q3JlZGVudGlhbFN0b3JhZ2UoKTsKLSAgICB9KTsKLQotICAgIGRpc3BhdGNoX3NlbWFwaG9yZV93
YWl0KG1fc2VtYXBob3JlLCBESVNQQVRDSF9USU1FX0ZPUkVWRVIpOwotICAgIHJldHVybiBtX2Jv
b2xSZXN1bHQ7Ci19Ci0KIC0gKHZvaWQpY29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29u
bmVjdGlvbiBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6KE5TVVJMQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2UgKiljaGFsbGVuZ2UKIHsKICAgICBBU1NFUlQoIWlzTWFpblRocmVhZCgp
KTsKQEAgLTM2MSw1ICszMzMsMTYgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIEBlbmQK
IAorQGltcGxlbWVudGF0aW9uIFdlYkNvcmVSZXNvdXJjZUhhbmRsZVdpdGhDcmVkZW50aWFsU3Rv
cmFnZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZQorCistIChCT09MKWNvbm5lY3Rpb25TaG91bGRV
c2VDcmVkZW50aWFsU3RvcmFnZTooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbgoreworICAg
IEFTU0VSVCghaXNNYWluVGhyZWFkKCkpOworICAgIFVOVVNFRF9QQVJBTShjb25uZWN0aW9uKTsK
KyAgICByZXR1cm4gTk87Cit9CisKK0BlbmQKKwogI2VuZGlmIC8vICFVU0UoQ0ZORVRXT1JLKQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VIYW5kbGVTb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9S
ZXNvdXJjZUhhbmRsZVNvdXAuY3BwCmluZGV4IGVmZGZmZWEuLjdlZjA5NjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhh
bmRsZVNvdXAuY3BwCkBAIC0xMzc5LDEzICsxMzc5LDYgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6
Y29udGludWVEaWRSZWNlaXZlUmVzcG9uc2UoKQogICAgIGNvbnRpbnVlQWZ0ZXJEaWRSZWNlaXZl
UmVzcG9uc2UodGhpcyk7CiB9CiAKLXZvaWQgUmVzb3VyY2VIYW5kbGU6OmNvbnRpbnVlU2hvdWxk
VXNlQ3JlZGVudGlhbFN0b3JhZ2UoYm9vbCkKLXsKLSAgICBBU1NFUlQoY2xpZW50KCkpOwotICAg
IEFTU0VSVChjbGllbnQoKS0+dXNlc0FzeW5jQ2FsbGJhY2tzKCkpOwotICAgIC8vIEZJWE1FOiBJ
bXBsZW1lbnQgdGhpcyBtZXRob2QgaWYgbmVlZGVkOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTI2MTE0LgotfQotCiBzdGF0aWMgZ2Jvb2xlYW4gcmVxdWVzdFRpbWVv
dXRDYWxsYmFjayhncG9pbnRlciBkYXRhKQogewogICAgIFJlZlB0cjxSZXNvdXJjZUhhbmRsZT4g
aGFuZGxlID0gc3RhdGljX2Nhc3Q8UmVzb3VyY2VIYW5kbGUqPihkYXRhKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRl
eCA1MTEyOTljLi5hZTA2YmUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjMgQEAKIDIwMTQtMDUt
MDIgIFByYXRpayBTb2xhbmtpICA8cHNvbGFua2lAYXBwbGUuY29tPgogCisgICAgICAgIFNob3J0
Y2lyY3VpdCBzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZSBjYWxsYmFjaworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMyMzA4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSWYgd2UgYXJlIGdvaW5nIHRvIHJl
dHVybiB0cnVlIGZyb20gdGhlIHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlIGNhbGxiYWNrIHRo
ZW4gd2UgZG9uJ3QKKyAgICAgICAgcmVhbGx5IG5lZWQgdG8gaGF2ZSBDRk5ldHdvcmsvRm91bmRh
dGlvbiBjYWxsIHVzLiBXZSBjYW4ganVzdCBkaXNhYmxlIHRoZSBjYWxsYmFjayBhbmQKKyAgICAg
ICAgQ0ZOZXR3b3JrIHdpbGwgYXNzdW1lIHRydWUuIEFkZCBhIHNlcGFyYXRlIHN1YmNsYXNzIHRo
YXQgaW1wbGVtZW50cyB0aGlzIGNhbGxiYWNrIHdoZW4gd2UKKyAgICAgICAgbmVlZCB0byByZXR1
cm4gZmFsc2UuIFdlIGNhbiBhbHNvIGVsaW1pbmF0ZSB0aGUgY29ycmVzcG9uZGluZyBhc3luYyBj
YWxsYmFja3MuIFRoaXMgYXZvaWRzCisgICAgICAgIHBpbmdwb25naW5nIGJldHdlZW4gZGlzcGF0
Y2ggcXVldWUgYW5kIG1haW4gdGhyZWFkIGluIHRoZSBjb21tb24gY2FzZS4KKworICAgICAgICBO
byBuZXcgdGVzdHMgYmVjYXVzZSBubyBjaGFuZ2UgaW4gZnVuY3Rpb25hbGl0eS4KKworICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHA6IFJlbW92ZSBzaG91
bGRVc2VDcmVkZW50aWFsU3RvcmFnZUFzeW5jKCkgY2FsbGJhY2tzLgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5oOgorCisyMDE0LTA1LTAyICBQcmF0aWsg
U29sYW5raSAgPHBzb2xhbmtpQGFwcGxlLmNvbT4KKwogICAgICAgICBSZWR1Y2UgY2FsbHMgdG8g
Q0ZVUkxDYWNoZUNvcHlTaGFyZWRVUkxDYWNoZQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMyNDY0CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDkzMjYyYzYu
LmY1Y2FkNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdv
cmtSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAtMzE3LDEzICszMTcsNiBAQCBib29sIE5ldHdv
cmtSZXNvdXJjZUxvYWRlcjo6c2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UoUmVzb3VyY2VIYW5k
bGUqIGhhbmRsZSkKICAgICByZXR1cm4gbV9hbGxvd1N0b3JlZENyZWRlbnRpYWxzID09IEFsbG93
U3RvcmVkQ3JlZGVudGlhbHM7CiB9CiAKLXZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpzaG91
bGRVc2VDcmVkZW50aWFsU3RvcmFnZUFzeW5jKFJlc291cmNlSGFuZGxlKiBoYW5kbGUpCi17Ci0g
ICAgQVNTRVJUX1VOVVNFRChoYW5kbGUsIGhhbmRsZSA9PSBtX2hhbmRsZSk7Ci0KLSAgICBoYW5k
bGUtPmNvbnRpbnVlU2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2Uoc2hvdWxkVXNlQ3JlZGVudGlh
bFN0b3JhZ2UoaGFuZGxlKSk7Ci19Ci0KIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpkaWRS
ZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgY29u
c3QgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UmIGNoYWxsZW5nZSkKIHsKICAgICBBU1NFUlRfVU5V
U0VEKGhhbmRsZSwgaGFuZGxlID09IG1faGFuZGxlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmgKaW5kZXggMmMxOTgzOS4u
NDE4ZmZmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Jlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Jlc291cmNlTG9hZGVyLmgKQEAgLTk0LDcgKzk0LDYgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCB3YXNCbG9ja2VkKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlKikgb3ZlcnJpZGU7CiAg
ICAgdmlydHVhbCB2b2lkIGNhbm5vdFNob3dVUkwoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGUqKSBv
dmVycmlkZTsKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UoV2Vi
Q29yZTo6UmVzb3VyY2VIYW5kbGUqKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgc2hvdWxk
VXNlQ3JlZGVudGlhbFN0b3JhZ2VBc3luYyhXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZSopIG92ZXJy
aWRlOwogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2Uo
V2ViQ29yZTo6UmVzb3VyY2VIYW5kbGUqLCBjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZSYpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBkaWRDYW5jZWxBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZShXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZSosIGNvbnN0IFdlYkNvcmU6OkF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHJlY2Vp
dmVkQ2FuY2VsbGF0aW9uKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlKiwgY29uc3QgV2ViQ29yZTo6
QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKSBvdmVycmlkZTsKLS0gCjEuOC41LjIgKEFwcGxlIEdp
dC00OCkKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>