<?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>185782</bug_id>
          
          <creation_ts>2018-05-18 13:16:34 -0700</creation_ts>
          <short_desc>[Curl] Allow passing contents of Root CA data directly.</short_desc>
          <delta_ts>2018-06-19 19:59:19 -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>WebCore Misc.</component>
          <version>WebKit 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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Basuke Suzuki">basuke</reporter>
          <assigned_to name="Basuke Suzuki">basuke</assigned_to>
          <cc>achristensen</cc>
    
    <cc>annulen</cc>
    
    <cc>basuke</cc>
    
    <cc>commit-queue</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>galpeter</cc>
    
    <cc>pvollan</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1425265</commentid>
    <comment_count>0</comment_count>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2018-05-18 13:16:34 -0700</bug_when>
    <thetext>Currently the data must be in a file and set by its path. This patch allow application to set root CA data by passing binary data directly, or adding special prefix &quot;:memory:&quot; via regular setCACertPath() method.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1425295</commentid>
    <comment_count>1</comment_count>
      <attachid>340739</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2018-05-18 14:46:39 -0700</bug_when>
    <thetext>Created attachment 340739
PATCH</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1426972</commentid>
    <comment_count>2</comment_count>
      <attachid>340739</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-05-24 10:25:49 -0700</bug_when>
    <thetext>Comment on attachment 340739
PATCH

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

&gt; Source/WebCore/platform/network/curl/CurlSSLHandle.cpp:85
&gt; +        caCertData.append(caCertString.data(), caCertString.length());

This create a string temporarily.
Maybe there is a way to use StringView so that you can directly create a Vector&lt;char&gt; from it.

&gt; Source/WebCore/platform/network/curl/CurlSSLHandle.cpp:86
&gt; +        setCACertData(WTFMove(caCertData));

Early return.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1433451</commentid>
    <comment_count>3</comment_count>
      <attachid>342825</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2018-06-15 10:41:23 -0700</bug_when>
    <thetext>Created attachment 342825
PATCH

After Youenn&apos;s review, we&apos;ve decided remove :onmemory: hack into path data. Client now should prepare data by itself. It is the right direction as a library interface.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1433535</commentid>
    <comment_count>4</comment_count>
      <attachid>342841</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2018-06-15 13:51:36 -0700</bug_when>
    <thetext>Created attachment 342841
FIX</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1433538</commentid>
    <comment_count>5</comment_count>
      <attachid>342842</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2018-06-15 13:53:01 -0700</bug_when>
    <thetext>Created attachment 342842
FIX</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1433541</commentid>
    <comment_count>6</comment_count>
      <attachid>342842</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-06-15 14:01:36 -0700</bug_when>
    <thetext>Comment on attachment 342842
FIX

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

&gt; Source/WebCore/platform/network/curl/CurlSSLHandle.h:110
&gt;      String m_caCertPath;
&gt; +    Vector&lt;char&gt; m_caCertData;

It seems like you have one or the other but never both.  If that&apos;s the case, you could use Variant&lt;String, Vector&lt;uint8_t&gt;&gt; m_caCertPathOrData.  This would reduce future &quot;I forgot about the case where the cert root info was in the other form.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1433547</commentid>
    <comment_count>7</comment_count>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2018-06-15 14:10:47 -0700</bug_when>
    <thetext>Is it okay to start using variant?? I thought C++ features other than optional were still on hold state.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1434055</commentid>
    <comment_count>8</comment_count>
      <attachid>342950</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2018-06-18 10:43:41 -0700</bug_when>
    <thetext>Created attachment 342950
PATCH

Switch the set of member variables into Variant.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1434056</commentid>
    <comment_count>9</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-06-18 10:45:10 -0700</bug_when>
    <thetext>Attachment 342950 did not pass style-queue:


ERROR: Source/WebCore/platform/network/curl/CurlSSLHandle.h:35:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1434074</commentid>
    <comment_count>10</comment_count>
      <attachid>342954</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2018-06-18 11:14:00 -0700</bug_when>
    <thetext>Created attachment 342954
FIX</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1434432</commentid>
    <comment_count>11</comment_count>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2018-06-19 10:22:59 -0700</bug_when>
    <thetext>Can anybody review this? The main feature was already r+ by Youenn. After that, I removed unnecessary hack and started using Variant from Alex&apos;s suggestion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1434677</commentid>
    <comment_count>12</comment_count>
      <attachid>342954</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-06-19 19:22:48 -0700</bug_when>
    <thetext>Comment on attachment 342954
FIX

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1434680</commentid>
    <comment_count>13</comment_count>
      <attachid>342954</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-06-19 19:58:33 -0700</bug_when>
    <thetext>Comment on attachment 342954
FIX

Clearing flags on attachment: 342954

Committed r233002: &lt;https://trac.webkit.org/changeset/233002&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1434681</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-06-19 19:58:34 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1434682</commentid>
    <comment_count>15</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-06-19 19:59:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/41274600&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>340739</attachid>
            <date>2018-05-18 14:46:39 -0700</date>
            <delta_ts>2018-06-15 10:41:23 -0700</delta_ts>
            <desc>PATCH</desc>
            <filename>185782.diff</filename>
            <type>text/plain</type>
            <size>7714</size>
            <attacher name="Basuke Suzuki">basuke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAzYjAxMTgxYWUwNi4uMTYxNmRiMGNkZDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNiBAQAorMjAxOC0wNS0xOCBCYXN1a2UgU3V6dWtpICA8QmFzdWtlLlN1enVraUBzb255
LmNvbT4KKworICAgICAgICBbQ3VybF0gQWxsb3cgcGFzc2luZyBjb250ZW50cyBvZiBSb290IENB
IGRhdGEgZGlyZWN0bHkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xODU3ODIKKworICAgICAgICBDdXJyZW50bHkgdGhlIGRhdGEgbXVzdCBiZSBpbiBh
IGZpbGUgYW5kIHNldCBieSBpdHMgcGF0aC4gVGhpcyBwYXRjaAorICAgICAgICBhbGxvdyBhcHBs
aWNhdGlvbiB0byBzZXQgcm9vdCBDQSBkYXRhIGJ5IHBhc3NpbmcgYmluYXJ5IGRhdGEgZGlyZWN0
bHksCisgICAgICAgIG9yIGFkZGluZyBzcGVjaWFsIHByZWZpeCAiOm1lbW9yeToiIHZpYSByZWd1
bGFyIHNldENBQ2VydFBhdGgoKSBtZXRob2QuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBUZXN0ZWQgaW50ZXJuYWxseS4KKwor
ICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsUmVxdWVzdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDdXJsUmVxdWVzdDo6c2V0dXBUcmFuc2Zlcik6IFNldCBDZXJ0IFBhdGggaWYg
QXZhaWxhYmxlLgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsU1NMSGFuZGxl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkN1cmxTU0xIYW5kbGU6OkN1cmxTU0xIYW5kbGUpOiBB
ZGQgZW1wdHkgY2hlY2sgYmVmb3JlIHNldC4KKyAgICAgICAgKFdlYkNvcmU6OkN1cmxTU0xIYW5k
bGU6OnNldENBQ2VydFBhdGgpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkN1cmxTU0xIYW5k
bGU6OnNldENBQ2VydERhdGEpOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2N1
cmwvQ3VybFNTTEhhbmRsZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q3VybFNTTEhhbmRsZTo6Z2V0
Q2lwaGVyTGlzdCBjb25zdCk6IFJldHVybiB0eXBlIHRvIGNvbnN0IHJlZmVyZW5jZS4KKyAgICAg
ICAgKFdlYkNvcmU6OkN1cmxTU0xIYW5kbGU6OmdldFNpZ25hdHVyZUFsZ29yaXRobXNMaXN0IGNv
bnN0KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpDdXJsU1NMSGFuZGxlOjpnZXRDdXJ2ZXNM
aXN0IGNvbnN0KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpDdXJsU1NMSGFuZGxlOjpzZXRD
aXBoZXJMaXN0KTogU2V0IGFyZ3VtZW50IG5hbWUgdG8gc2ltcGxlIGRhdGEuCisgICAgICAgIChX
ZWJDb3JlOjpDdXJsU1NMSGFuZGxlOjpzZXRTaWduYXR1cmVBbGdvcml0aG1zTGlzdCk6IERpdHRv
LgorICAgICAgICAoV2ViQ29yZTo6Q3VybFNTTEhhbmRsZTo6c2V0Q3VydmVzTGlzdCk6IERpdHRv
LgorICAgICAgICAoV2ViQ29yZTo6Q3VybFNTTEhhbmRsZTo6c2V0SWdub3JlU1NMRXJyb3JzKTog
QWRkIHNldHRlci4KKyAgICAgICAgKFdlYkNvcmU6OkN1cmxTU0xIYW5kbGU6OmdldENBQ2VydFBh
dGggY29uc3QpOiBSZXR1cm4gdHlwZSB0byBjb25zdCByZWZlcmVuY2UuCisgICAgICAgIChXZWJD
b3JlOjpDdXJsU1NMSGFuZGxlOjpnZXRDQUNlcnREYXRhIGNvbnN0KTogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlOjpDdXJsU1NMSGFuZGxlOjpzZXRDQUNlcnRQYXRoKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFNTTFZlcmlmaWVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkN1cmxTU0xWZXJpZmllcjo6Q3VybFNTTFZlcmlmaWVyKTogU2V0IENlcnQgRGF0
YSBpZiBleGlzdHMuCisKIDIwMTgtMDUtMTggIEJhc3VrZSBTdXp1a2kgIDxCYXN1a2UuU3V6dWtp
QHNvbnkuY29tPgogCiAgICAgICAgIFtDdXJsXSBCdWcgZml4IG9uIHN1c3BlbmQvcmVzdW1lIGJl
aGF2aW9yLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJs
L0N1cmxSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9D
dXJsUmVxdWVzdC5jcHAKaW5kZXggMmFhNDhmMTYxNzkuLmI4NmMxODEzYWU0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFJlcXVlc3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsUmVxdWVzdC5jcHAK
QEAgLTIzOSw3ICsyMzksOSBAQCBDVVJMKiBDdXJsUmVxdWVzdDo6c2V0dXBUcmFuc2ZlcigpCiAg
ICAgICAgIG1fY3VybEhhbmRsZS0+c2V0U3NsS2V5UGFzc3dvcmQoc3NsQ2xpZW50Q2VydGlmaWNh
dGUtPnNlY29uZC51dGY4KCkuZGF0YSgpKTsKICAgICB9CiAKLSAgICBtX2N1cmxIYW5kbGUtPnNl
dENBQ2VydFBhdGgoc3NsSGFuZGxlLmdldENBQ2VydFBhdGgoKS51dGY4KCkuZGF0YSgpKTsKKyAg
ICBjb25zdCBhdXRvJiBjYUNlcnRQYXRoID0gc3NsSGFuZGxlLmdldENBQ2VydFBhdGgoKTsKKyAg
ICBpZiAoIWNhQ2VydFBhdGguaXNFbXB0eSgpKQorICAgICAgICBtX2N1cmxIYW5kbGUtPnNldENB
Q2VydFBhdGgoY2FDZXJ0UGF0aC51dGY4KCkuZGF0YSgpKTsKIAogICAgIGlmIChtX3Nob3VsZFN1
c3BlbmQpCiAgICAgICAgIHNldFJlcXVlc3RQYXVzZWQodHJ1ZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFNTTEhhbmRsZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFNTTEhhbmRsZS5jcHAKaW5kZXgg
ZTg0Zjc3NmNjZTMuLmVhNjhiMTAzYmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFNTTEhhbmRsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxTU0xIYW5kbGUuY3BwCkBAIC00NCwxMSArNDQsMTAg
QEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogQ3VybFNTTEhhbmRsZTo6Q3VybFNTTEhhbmRsZSgp
Ci0gICAgOiBtX2NhQ2VydFBhdGgoZ2V0Q0FDZXJ0UGF0aEVudigpKQogewotICAgIGNoYXIqIGln
bm9yZVNTTEVycm9ycyA9IGdldGVudigiV0VCS0lUX0lHTk9SRV9TU0xfRVJST1JTIik7Ci0gICAg
aWYgKGlnbm9yZVNTTEVycm9ycykKLSAgICAgICAgbV9pZ25vcmVTU0xFcnJvcnMgPSB0cnVlOwor
ICAgIGF1dG8gY2FDZXJ0UGF0aCA9IGdldENBQ2VydFBhdGhFbnYoKTsKKyAgICBpZiAoIWNhQ2Vy
dFBhdGguaXNFbXB0eSgpKQorICAgICAgICBzZXRDQUNlcnRQYXRoKFdURk1vdmUoY2FDZXJ0UGF0
aCkpOwogCiAjaWYgTkVFRF9PUEVOU1NMX1RIUkVBRF9TVVBQT1JUCiAgICAgVGhyZWFkU3VwcG9y
dDo6c2V0dXAoKTsKQEAgLTc2LDYgKzc1LDI3IEBAIFN0cmluZyBDdXJsU1NMSGFuZGxlOjpnZXRD
QUNlcnRQYXRoRW52KCkKICAgICByZXR1cm4gU3RyaW5nKCk7CiB9CiAKK3ZvaWQgQ3VybFNTTEhh
bmRsZTo6c2V0Q0FDZXJ0UGF0aChTdHJpbmcmJiBjYUNlcnRQYXRoKQoreworICAgIHN0YXRpYyBj
b25zdCBjaGFyKiBvbk1lbW9yeUlkZW50aWZpZXIgPSAiOm1lbW9yeToiOworCisgICAgaWYgKGNh
Q2VydFBhdGguc3RhcnRzV2l0aChvbk1lbW9yeUlkZW50aWZpZXIpKSB7CisgICAgICAgIGF1dG8g
Y2FDZXJ0U3RyaW5nID0gY2FDZXJ0UGF0aC5zdWJzdHJpbmcoc3RybGVuKG9uTWVtb3J5SWRlbnRp
ZmllcikpLnV0ZjgoKTsKKyAgICAgICAgVmVjdG9yPGNoYXI+IGNhQ2VydERhdGE7CisgICAgICAg
IGNhQ2VydERhdGEuYXBwZW5kKGNhQ2VydFN0cmluZy5kYXRhKCksIGNhQ2VydFN0cmluZy5sZW5n
dGgoKSk7CisgICAgICAgIHNldENBQ2VydERhdGEoV1RGTW92ZShjYUNlcnREYXRhKSk7CisgICAg
fSBlbHNlIHsKKyAgICAgICAgbV9jYUNlcnRQYXRoID0gV1RGTW92ZShjYUNlcnRQYXRoKTsKKyAg
ICAgICAgbV9jYUNlcnREYXRhLmNsZWFyKCk7CisgICAgfQorfQorCit2b2lkIEN1cmxTU0xIYW5k
bGU6OnNldENBQ2VydERhdGEoVmVjdG9yPGNoYXI+JiYgY2FDZXJ0RGF0YSkKK3sKKyAgICBtX2Nh
Q2VydFBhdGggPSBTdHJpbmcoKTsKKyAgICBtX2NhQ2VydERhdGEgPSBXVEZNb3ZlKGNhQ2VydERh
dGEpOworfQorCiB2b2lkIEN1cmxTU0xIYW5kbGU6OnNldEhvc3RBbGxvd3NBbnlIVFRQU0NlcnRp
ZmljYXRlKGNvbnN0IFN0cmluZyYgaG9zdE5hbWUpCiB7CiAgICAgTG9ja0hvbGRlciBtdXRleCht
X211dGV4KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3Vy
bC9DdXJsU1NMSGFuZGxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwv
Q3VybFNTTEhhbmRsZS5oCmluZGV4IDFmZjg0NTdhYzcyLi5hYTIwZTYyMmFlYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxTU0xIYW5kbGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFNTTEhhbmRsZS5o
CkBAIC01MCwxOCArNTAsMjEgQEAgY2xhc3MgQ3VybFNTTEhhbmRsZSB7CiBwdWJsaWM6CiAgICAg
Q3VybFNTTEhhbmRsZSgpOwogCi0gICAgU3RyaW5nIGdldENpcGhlckxpc3QoKSBjb25zdCB7IHJl
dHVybiBtX2NpcGhlckxpc3Q7IH0KLSAgICBTdHJpbmcgZ2V0U2lnbmF0dXJlQWxnb3JpdGhtc0xp
c3QoKSBjb25zdCB7IHJldHVybiBtX3NpZ25hdHVyZUFsZ29yaXRobXNMaXN0OyB9Ci0gICAgU3Ry
aW5nIGdldEN1cnZlc0xpc3QoKSBjb25zdCB7IHJldHVybiBtX2N1cnZlc0xpc3Q7IH0KKyAgICBj
b25zdCBTdHJpbmcmIGdldENpcGhlckxpc3QoKSBjb25zdCB7IHJldHVybiBtX2NpcGhlckxpc3Q7
IH0KKyAgICBjb25zdCBTdHJpbmcmIGdldFNpZ25hdHVyZUFsZ29yaXRobXNMaXN0KCkgY29uc3Qg
eyByZXR1cm4gbV9zaWduYXR1cmVBbGdvcml0aG1zTGlzdDsgfQorICAgIGNvbnN0IFN0cmluZyYg
Z2V0Q3VydmVzTGlzdCgpIGNvbnN0IHsgcmV0dXJuIG1fY3VydmVzTGlzdDsgfQogCi0gICAgdm9p
ZCBzZXRDaXBoZXJMaXN0KFN0cmluZyYmIGNpcGhlckxpc3QpIHsgbV9jaXBoZXJMaXN0ID0gV1RG
TW92ZShjaXBoZXJMaXN0KTsgfQotICAgIHZvaWQgc2V0U2lnbmF0dXJlQWxnb3JpdGhtc0xpc3Qo
U3RyaW5nJiYgc2lnbmF0dXJlQWxnb3JpdGhtc0xpc3QpIHsgbV9zaWduYXR1cmVBbGdvcml0aG1z
TGlzdCA9IFdURk1vdmUoc2lnbmF0dXJlQWxnb3JpdGhtc0xpc3QpOyB9Ci0gICAgdm9pZCBzZXRD
dXJ2ZXNMaXN0KFN0cmluZyYmIGN1cnZlc0xpc3QpIHsgbV9jdXJ2ZXNMaXN0ID0gV1RGTW92ZShj
dXJ2ZXNMaXN0KTsgfQorICAgIHZvaWQgc2V0Q2lwaGVyTGlzdChTdHJpbmcmJiBkYXRhKSB7IG1f
Y2lwaGVyTGlzdCA9IFdURk1vdmUoZGF0YSk7IH0KKyAgICB2b2lkIHNldFNpZ25hdHVyZUFsZ29y
aXRobXNMaXN0KFN0cmluZyYmIGRhdGEpIHsgbV9zaWduYXR1cmVBbGdvcml0aG1zTGlzdCA9IFdU
Rk1vdmUoZGF0YSk7IH0KKyAgICB2b2lkIHNldEN1cnZlc0xpc3QoU3RyaW5nJiYgZGF0YSkgeyBt
X2N1cnZlc0xpc3QgPSBXVEZNb3ZlKGRhdGEpOyB9CiAKICAgICBib29sIHNob3VsZElnbm9yZVNT
TEVycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1faWdub3JlU1NMRXJyb3JzOyB9CisgICAgdm9pZCBz
ZXRJZ25vcmVTU0xFcnJvcnMoYm9vbCBmbGFnKSB7IG1faWdub3JlU1NMRXJyb3JzID0gZmxhZzsg
fQogCi0gICAgU3RyaW5nIGdldENBQ2VydFBhdGgoKSBjb25zdCB7IHJldHVybiBtX2NhQ2VydFBh
dGg7IH0KLSAgICB2b2lkIHNldENBQ2VydFBhdGgoU3RyaW5nJiYgY2FDZXJ0UGF0aCkgeyBtX2Nh
Q2VydFBhdGggPSBXVEZNb3ZlKGNhQ2VydFBhdGgpOyB9CisgICAgY29uc3QgU3RyaW5nJiBnZXRD
QUNlcnRQYXRoKCkgY29uc3QgeyByZXR1cm4gbV9jYUNlcnRQYXRoOyB9CisgICAgY29uc3QgVmVj
dG9yPGNoYXI+JiBnZXRDQUNlcnREYXRhKCkgY29uc3QgeyByZXR1cm4gbV9jYUNlcnREYXRhOyB9
CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRDQUNlcnRQYXRoKFN0cmluZyYmKTsKKyAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIHNldENBQ2VydERhdGEoVmVjdG9yPGNoYXI+JiYpOwogCiAgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRIb3N0QWxsb3dzQW55SFRUUFNDZXJ0aWZpY2F0ZShjb25z
dCBTdHJpbmcmKTsKICAgICBib29sIGlzQWxsb3dlZEhUVFBTQ2VydGlmaWNhdGVIb3N0KGNvbnN0
IFN0cmluZyYpOwpAQCAtMTAwLDEzICsxMDMsMTMgQEAgcHJpdmF0ZToKIAogICAgIFN0cmluZyBn
ZXRDQUNlcnRQYXRoRW52KCk7CiAKLSAgICBib29sIG1faWdub3JlU1NMRXJyb3JzIHsgZmFsc2Ug
fTsKLQogICAgIFN0cmluZyBtX2NpcGhlckxpc3Q7CiAgICAgU3RyaW5nIG1fc2lnbmF0dXJlQWxn
b3JpdGhtc0xpc3Q7CiAgICAgU3RyaW5nIG1fY3VydmVzTGlzdDsKLQogICAgIFN0cmluZyBtX2Nh
Q2VydFBhdGg7CisgICAgVmVjdG9yPGNoYXI+IG1fY2FDZXJ0RGF0YTsKKworICAgIGJvb2wgbV9p
Z25vcmVTU0xFcnJvcnMgeyBmYWxzZSB9OwogCiAgICAgTG9jayBtX211dGV4OwogICAgIEhhc2hN
YXA8U3RyaW5nLCBMaXN0SGFzaFNldDxTdHJpbmc+LCBBU0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2g+
IG1fYWxsb3dlZEhvc3RzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9jdXJsL0N1cmxTU0xWZXJpZmllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2N1cmwvQ3VybFNTTFZlcmlmaWVyLmNwcAppbmRleCA4NDc1ZTVjNzdhNS4uMjBmOWNk
MzlmMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9D
dXJsU1NMVmVyaWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
Y3VybC9DdXJsU1NMVmVyaWZpZXIuY3BwCkBAIC00NCw2ICs0NCwxNCBAQCBDdXJsU1NMVmVyaWZp
ZXI6OkN1cmxTU0xWZXJpZmllcihDdXJsSGFuZGxlKiBjdXJsSGFuZGxlLCBjb25zdCBTdHJpbmcm
IGhvc3ROYW1lLAogICAgIFNTTF9DVFhfc2V0X2FwcF9kYXRhKGN0eCwgdGhpcyk7CiAgICAgU1NM
X0NUWF9zZXRfdmVyaWZ5KGN0eCwgU1NMX0NUWF9nZXRfdmVyaWZ5X21vZGUoY3R4KSwgY2VydFZl
cmlmeUNhbGxiYWNrKTsKIAorI2lmIGRlZmluZWQoTElCUkVTU0xfVkVSU0lPTl9OVU1CRVIpCisg
ICAgY29uc3QgYXV0byYgY2FDZXJ0RGF0YSA9IHNzbEhhbmRsZS5nZXRDQUNlcnREYXRhKCk7Cisg
ICAgaWYgKCFjYUNlcnREYXRhLmlzRW1wdHkoKSkgeworICAgICAgICB2b2lkKiBkYXRhID0gY29u
c3RfY2FzdDx2b2lkKj4oc3RhdGljX2Nhc3Q8Y29uc3Qgdm9pZCo+KGNhQ2VydERhdGEuZGF0YSgp
KSk7CisgICAgICAgIFNTTF9DVFhfbG9hZF92ZXJpZnlfbWVtKGN0eCwgZGF0YSwgY2FDZXJ0RGF0
YS5zaXplKCkpOworICAgIH0KKyNlbmRpZgorCiAjaWYgKCFkZWZpbmVkKExJQlJFU1NMX1ZFUlNJ
T05fTlVNQkVSKSkKICAgICBhdXRvIHNpZ25hdHVyZUFsZ29yaXRobXNMaXN0ID0gc3NsSGFuZGxl
LmdldFNpZ25hdHVyZUFsZ29yaXRobXNMaXN0KCk7CiAgICAgaWYgKCFzaWduYXR1cmVBbGdvcml0
aG1zTGlzdC5pc0VtcHR5KCkpCg==
</data>
<flag name="review"
          id="358980"
          type_id="1"
          status="+"
          setter="youennf"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>342825</attachid>
            <date>2018-06-15 10:41:23 -0700</date>
            <delta_ts>2018-06-15 13:51:36 -0700</delta_ts>
            <desc>PATCH</desc>
            <filename>185782.diff</filename>
            <type>text/plain</type>
            <size>7339</size>
            <attacher name="Basuke Suzuki">basuke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5M2U1MWJjZWNjMS4uNmY4ZDM0MDE1NmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNSBAQAorMjAxOC0wNi0xNSAgQmFzdWtlIFN1enVraSAgPEJhc3VrZS5TdXp1a2lAc29u
eS5jb20+CisKKyAgICAgICAgW0N1cmxdIEFsbG93IHBhc3NpbmcgY29udGVudHMgb2YgUm9vdCBD
QSBkYXRhIGRpcmVjdGx5LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTg1NzgyCisKKyAgICAgICAgQ3VycmVudGx5IHRoZSBkYXRhIG11c3QgYmUgaW4g
YSBmaWxlIGFuZCBzZXQgYnkgaXRzIHBhdGguIFRoaXMgcGF0Y2gKKyAgICAgICAgYWxsb3cgYXBw
bGljYXRpb24gdG8gc2V0IHJvb3QgQ0EgZGF0YSBieSBwYXNzaW5nIGJpbmFyeSBkYXRhIGRpcmVj
dGx5LgorCisgICAgICAgIFJldmlld2VkIGJ5IFlvdWVubiBGYWJsZXQuCisKKyAgICAgICAgTm8g
bmV3IHRlc3RzLiBUZXN0ZWQgaW50ZXJuYWxseS4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvY3VybC9DdXJsUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDdXJsUmVxdWVzdDo6
c2V0dXBUcmFuc2Zlcik6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxTU0xI
YW5kbGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3VybFNTTEhhbmRsZTo6Q3VybFNTTEhhbmRs
ZSk6CisgICAgICAgIChXZWJDb3JlOjpDdXJsU1NMSGFuZGxlOjpzZXRDQUNlcnRQYXRoKToKKyAg
ICAgICAgKFdlYkNvcmU6OkN1cmxTU0xIYW5kbGU6OnNldENBQ2VydERhdGEpOgorICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsU1NMSGFuZGxlLmg6CisgICAgICAgIChXZWJDb3Jl
OjpDdXJsU1NMSGFuZGxlOjpnZXRDaXBoZXJMaXN0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkN1cmxTU0xIYW5kbGU6OmdldFNpZ25hdHVyZUFsZ29yaXRobXNMaXN0IGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkN1cmxTU0xIYW5kbGU6OmdldEN1cnZlc0xpc3QgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6Q3VybFNTTEhhbmRsZTo6c2V0Q2lwaGVyTGlzdCk6CisgICAgICAgIChXZWJD
b3JlOjpDdXJsU1NMSGFuZGxlOjpzZXRTaWduYXR1cmVBbGdvcml0aG1zTGlzdCk6CisgICAgICAg
IChXZWJDb3JlOjpDdXJsU1NMSGFuZGxlOjpzZXRDdXJ2ZXNMaXN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkN1cmxTU0xIYW5kbGU6OnNldElnbm9yZVNTTEVycm9ycyk6CisgICAgICAgIChXZWJDb3Jl
OjpDdXJsU1NMSGFuZGxlOjpnZXRDQUNlcnRQYXRoIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkN1cmxTU0xIYW5kbGU6OmdldENBQ2VydERhdGEgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
Q3VybFNTTEhhbmRsZTo6c2V0Q0FDZXJ0UGF0aCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZv
cm0vbmV0d29yay9jdXJsL0N1cmxTU0xWZXJpZmllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
dXJsU1NMVmVyaWZpZXI6OkN1cmxTU0xWZXJpZmllcik6CisKIDIwMTgtMDYtMTUgIFphbGFuIEJ1
anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXSBGaXggc3RhdGljIHBvc2l0
aW9uIGxlZnQvdG9wCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L2N1cmwvQ3VybFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
dXJsL0N1cmxSZXF1ZXN0LmNwcAppbmRleCA1YWE3MjhjOTcwNi4uMGQyNTQ3Y2I1NGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsUmVxdWVzdC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxSZXF1ZXN0
LmNwcApAQCAtMjMzLDcgKzIzMyw5IEBAIENVUkwqIEN1cmxSZXF1ZXN0OjpzZXR1cFRyYW5zZmVy
KCkKICAgICAgICAgbV9jdXJsSGFuZGxlLT5zZXRTc2xLZXlQYXNzd29yZChzc2xDbGllbnRDZXJ0
aWZpY2F0ZS0+c2Vjb25kLnV0ZjgoKS5kYXRhKCkpOwogICAgIH0KIAotICAgIG1fY3VybEhhbmRs
ZS0+c2V0Q0FDZXJ0UGF0aChzc2xIYW5kbGUuZ2V0Q0FDZXJ0UGF0aCgpLnV0ZjgoKS5kYXRhKCkp
OworICAgIGNvbnN0IGF1dG8mIGNhQ2VydFBhdGggPSBzc2xIYW5kbGUuZ2V0Q0FDZXJ0UGF0aCgp
OworICAgIGlmICghY2FDZXJ0UGF0aC5pc0VtcHR5KCkpCisgICAgICAgIG1fY3VybEhhbmRsZS0+
c2V0Q0FDZXJ0UGF0aChjYUNlcnRQYXRoLnV0ZjgoKS5kYXRhKCkpOwogCiAgICAgaWYgKG1fc2hv
dWxkU3VzcGVuZCkKICAgICAgICAgc2V0UmVxdWVzdFBhdXNlZCh0cnVlKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsU1NMSGFuZGxlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsU1NMSGFuZGxlLmNwcApp
bmRleCBlODRmNzc2Y2NlMy4uNjUyMzI2MzFjZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsU1NMSGFuZGxlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFNTTEhhbmRsZS5jcHAKQEAgLTQ0LDExICs0
NCwxMCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBDdXJsU1NMSGFuZGxlOjpDdXJsU1NMSGFu
ZGxlKCkKLSAgICA6IG1fY2FDZXJ0UGF0aChnZXRDQUNlcnRQYXRoRW52KCkpCiB7Ci0gICAgY2hh
ciogaWdub3JlU1NMRXJyb3JzID0gZ2V0ZW52KCJXRUJLSVRfSUdOT1JFX1NTTF9FUlJPUlMiKTsK
LSAgICBpZiAoaWdub3JlU1NMRXJyb3JzKQotICAgICAgICBtX2lnbm9yZVNTTEVycm9ycyA9IHRy
dWU7CisgICAgYXV0byBjYUNlcnRQYXRoID0gZ2V0Q0FDZXJ0UGF0aEVudigpOworICAgIGlmICgh
Y2FDZXJ0UGF0aC5pc0VtcHR5KCkpCisgICAgICAgIHNldENBQ2VydFBhdGgoY2FDZXJ0UGF0aCk7
CiAKICNpZiBORUVEX09QRU5TU0xfVEhSRUFEX1NVUFBPUlQKICAgICBUaHJlYWRTdXBwb3J0Ojpz
ZXR1cCgpOwpAQCAtNzYsNiArNzUsMTggQEAgU3RyaW5nIEN1cmxTU0xIYW5kbGU6OmdldENBQ2Vy
dFBhdGhFbnYoKQogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAordm9pZCBDdXJsU1NMSGFuZGxl
OjpzZXRDQUNlcnRQYXRoKFN0cmluZyYmIGNhQ2VydFBhdGgpCit7CisgICAgbV9jYUNlcnRQYXRo
ID0gV1RGTW92ZShjYUNlcnRQYXRoKTsKKyAgICBtX2NhQ2VydERhdGEuY2xlYXIoKTsKK30KKwor
dm9pZCBDdXJsU1NMSGFuZGxlOjpzZXRDQUNlcnREYXRhKFZlY3RvcjxjaGFyPiYmIGNhQ2VydERh
dGEpCit7CisgICAgbV9jYUNlcnRQYXRoID0gU3RyaW5nKCk7CisgICAgbV9jYUNlcnREYXRhID0g
V1RGTW92ZShjYUNlcnREYXRhKTsKK30KKwogdm9pZCBDdXJsU1NMSGFuZGxlOjpzZXRIb3N0QWxs
b3dzQW55SFRUUFNDZXJ0aWZpY2F0ZShjb25zdCBTdHJpbmcmIGhvc3ROYW1lKQogewogICAgIExv
Y2tIb2xkZXIgbXV0ZXgobV9tdXRleCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFNTTEhhbmRsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9jdXJsL0N1cmxTU0xIYW5kbGUuaAppbmRleCAxZmY4NDU3YWM3Mi4uODUxNTFm
ZjUwMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9D
dXJsU1NMSGFuZGxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJs
L0N1cmxTU0xIYW5kbGUuaApAQCAtNTAsMjQgKzUwLDI3IEBAIGNsYXNzIEN1cmxTU0xIYW5kbGUg
ewogcHVibGljOgogICAgIEN1cmxTU0xIYW5kbGUoKTsKIAotICAgIFN0cmluZyBnZXRDaXBoZXJM
aXN0KCkgY29uc3QgeyByZXR1cm4gbV9jaXBoZXJMaXN0OyB9Ci0gICAgU3RyaW5nIGdldFNpZ25h
dHVyZUFsZ29yaXRobXNMaXN0KCkgY29uc3QgeyByZXR1cm4gbV9zaWduYXR1cmVBbGdvcml0aG1z
TGlzdDsgfQotICAgIFN0cmluZyBnZXRDdXJ2ZXNMaXN0KCkgY29uc3QgeyByZXR1cm4gbV9jdXJ2
ZXNMaXN0OyB9CisgICAgY29uc3QgU3RyaW5nJiBnZXRDaXBoZXJMaXN0KCkgY29uc3QgeyByZXR1
cm4gbV9jaXBoZXJMaXN0OyB9CisgICAgY29uc3QgU3RyaW5nJiBnZXRTaWduYXR1cmVBbGdvcml0
aG1zTGlzdCgpIGNvbnN0IHsgcmV0dXJuIG1fc2lnbmF0dXJlQWxnb3JpdGhtc0xpc3Q7IH0KKyAg
ICBjb25zdCBTdHJpbmcmIGdldEN1cnZlc0xpc3QoKSBjb25zdCB7IHJldHVybiBtX2N1cnZlc0xp
c3Q7IH0KIAotICAgIHZvaWQgc2V0Q2lwaGVyTGlzdChTdHJpbmcmJiBjaXBoZXJMaXN0KSB7IG1f
Y2lwaGVyTGlzdCA9IFdURk1vdmUoY2lwaGVyTGlzdCk7IH0KLSAgICB2b2lkIHNldFNpZ25hdHVy
ZUFsZ29yaXRobXNMaXN0KFN0cmluZyYmIHNpZ25hdHVyZUFsZ29yaXRobXNMaXN0KSB7IG1fc2ln
bmF0dXJlQWxnb3JpdGhtc0xpc3QgPSBXVEZNb3ZlKHNpZ25hdHVyZUFsZ29yaXRobXNMaXN0KTsg
fQotICAgIHZvaWQgc2V0Q3VydmVzTGlzdChTdHJpbmcmJiBjdXJ2ZXNMaXN0KSB7IG1fY3VydmVz
TGlzdCA9IFdURk1vdmUoY3VydmVzTGlzdCk7IH0KKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNl
dENpcGhlckxpc3QoU3RyaW5nJiYgZGF0YSkgeyBtX2NpcGhlckxpc3QgPSBXVEZNb3ZlKGRhdGEp
OyB9CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTaWduYXR1cmVBbGdvcml0aG1zTGlzdChT
dHJpbmcmJiBkYXRhKSB7IG1fc2lnbmF0dXJlQWxnb3JpdGhtc0xpc3QgPSBXVEZNb3ZlKGRhdGEp
OyB9CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRDdXJ2ZXNMaXN0KFN0cmluZyYmIGRhdGEp
IHsgbV9jdXJ2ZXNMaXN0ID0gV1RGTW92ZShkYXRhKTsgfQogCiAgICAgYm9vbCBzaG91bGRJZ25v
cmVTU0xFcnJvcnMoKSBjb25zdCB7IHJldHVybiBtX2lnbm9yZVNTTEVycm9yczsgfQorICAgIFdF
QkNPUkVfRVhQT1JUIHZvaWQgc2V0SWdub3JlU1NMRXJyb3JzKGJvb2wgZmxhZykgeyBtX2lnbm9y
ZVNTTEVycm9ycyA9IGZsYWc7IH0KIAotICAgIFN0cmluZyBnZXRDQUNlcnRQYXRoKCkgY29uc3Qg
eyByZXR1cm4gbV9jYUNlcnRQYXRoOyB9Ci0gICAgdm9pZCBzZXRDQUNlcnRQYXRoKFN0cmluZyYm
IGNhQ2VydFBhdGgpIHsgbV9jYUNlcnRQYXRoID0gV1RGTW92ZShjYUNlcnRQYXRoKTsgfQorICAg
IGNvbnN0IFN0cmluZyYgZ2V0Q0FDZXJ0UGF0aCgpIGNvbnN0IHsgcmV0dXJuIG1fY2FDZXJ0UGF0
aDsgfQorICAgIGNvbnN0IFZlY3RvcjxjaGFyPiYgZ2V0Q0FDZXJ0RGF0YSgpIGNvbnN0IHsgcmV0
dXJuIG1fY2FDZXJ0RGF0YTsgfQorICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0Q0FDZXJ0UGF0
aChTdHJpbmcmJik7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRDQUNlcnREYXRhKFZlY3Rv
cjxjaGFyPiYmKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0SG9zdEFsbG93c0FueUhU
VFBTQ2VydGlmaWNhdGUoY29uc3QgU3RyaW5nJik7CiAgICAgYm9vbCBpc0FsbG93ZWRIVFRQU0Nl
cnRpZmljYXRlSG9zdChjb25zdCBTdHJpbmcmKTsKICAgICBib29sIGNhbklnbm9yZWRIVFRQU0Nl
cnRpZmljYXRlKGNvbnN0IFN0cmluZyYsIGNvbnN0IExpc3RIYXNoU2V0PFN0cmluZz4mKTsKIAot
ICAgIHZvaWQgc2V0Q2xpZW50Q2VydGlmaWNhdGVJbmZvKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0
cmluZyYsIGNvbnN0IFN0cmluZyYpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0Q2xpZW50
Q2VydGlmaWNhdGVJbmZvKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmlu
ZyYpOwogICAgIHN0ZDo6b3B0aW9uYWw8Q2xpZW50Q2VydGlmaWNhdGU+IGdldFNTTENsaWVudENl
cnRpZmljYXRlKGNvbnN0IFN0cmluZyYpOwogCiBwcml2YXRlOgpAQCAtMTAwLDEzICsxMDMsMTMg
QEAgcHJpdmF0ZToKIAogICAgIFN0cmluZyBnZXRDQUNlcnRQYXRoRW52KCk7CiAKLSAgICBib29s
IG1faWdub3JlU1NMRXJyb3JzIHsgZmFsc2UgfTsKLQogICAgIFN0cmluZyBtX2NpcGhlckxpc3Q7
CiAgICAgU3RyaW5nIG1fc2lnbmF0dXJlQWxnb3JpdGhtc0xpc3Q7CiAgICAgU3RyaW5nIG1fY3Vy
dmVzTGlzdDsKLQogICAgIFN0cmluZyBtX2NhQ2VydFBhdGg7CisgICAgVmVjdG9yPGNoYXI+IG1f
Y2FDZXJ0RGF0YTsKKworICAgIGJvb2wgbV9pZ25vcmVTU0xFcnJvcnMgeyBmYWxzZSB9OwogCiAg
ICAgTG9jayBtX211dGV4OwogICAgIEhhc2hNYXA8U3RyaW5nLCBMaXN0SGFzaFNldDxTdHJpbmc+
LCBBU0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2g+IG1fYWxsb3dlZEhvc3RzOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxTU0xWZXJpZmllci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFNTTFZlcmlmaWVyLmNw
cAppbmRleCA4NDc1ZTVjNzdhNS4uNDI3YWNhMjlhNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsU1NMVmVyaWZpZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsU1NMVmVyaWZpZXIuY3BwCkBAIC00
NCw2ICs0NCwxMiBAQCBDdXJsU1NMVmVyaWZpZXI6OkN1cmxTU0xWZXJpZmllcihDdXJsSGFuZGxl
KiBjdXJsSGFuZGxlLCBjb25zdCBTdHJpbmcmIGhvc3ROYW1lLAogICAgIFNTTF9DVFhfc2V0X2Fw
cF9kYXRhKGN0eCwgdGhpcyk7CiAgICAgU1NMX0NUWF9zZXRfdmVyaWZ5KGN0eCwgU1NMX0NUWF9n
ZXRfdmVyaWZ5X21vZGUoY3R4KSwgY2VydFZlcmlmeUNhbGxiYWNrKTsKIAorI2lmIGRlZmluZWQo
TElCUkVTU0xfVkVSU0lPTl9OVU1CRVIpCisgICAgY29uc3QgYXV0byYgY2FDZXJ0RGF0YSA9IHNz
bEhhbmRsZS5nZXRDQUNlcnREYXRhKCk7CisgICAgaWYgKCFjYUNlcnREYXRhLmlzRW1wdHkoKSkK
KyAgICAgICAgU1NMX0NUWF9sb2FkX3ZlcmlmeV9tZW0oY3R4LCBzdGF0aWNfY2FzdDx2b2lkKj4o
Y2FDZXJ0RGF0YS0+ZGF0YSgpKSwgY2FDZXJ0RGF0YS0+c2l6ZSgpKTsKKyNlbmRpZgorCiAjaWYg
KCFkZWZpbmVkKExJQlJFU1NMX1ZFUlNJT05fTlVNQkVSKSkKICAgICBhdXRvIHNpZ25hdHVyZUFs
Z29yaXRobXNMaXN0ID0gc3NsSGFuZGxlLmdldFNpZ25hdHVyZUFsZ29yaXRobXNMaXN0KCk7CiAg
ICAgaWYgKCFzaWduYXR1cmVBbGdvcml0aG1zTGlzdC5pc0VtcHR5KCkpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>342841</attachid>
            <date>2018-06-15 13:51:36 -0700</date>
            <delta_ts>2018-06-15 13:53:01 -0700</delta_ts>
            <desc>FIX</desc>
            <filename>185782.diff</filename>
            <type>text/plain</type>
            <size>15068</size>
            <attacher name="Basuke Suzuki">basuke</attacher>
            
              <data encoding="base64">//5kAGkAZgBmACAALQAtAGcAaQB0ACAAYQAvAFMAbwB1AHIAYwBlAC8AVwBlAGIAQwBvAHIAZQAv
AEMAaABhAG4AZwBlAEwAbwBnACAAYgAvAFMAbwB1AHIAYwBlAC8AVwBlAGIAQwBvAHIAZQAvAEMA
aABhAG4AZwBlAEwAbwBnAA0ACgBpAG4AZABlAHgAIAA5ADMAZQA1ADEAYgBjAGUAYwBjADEALgAu
ADYAZgA4AGQAMwA0ADAAMQA1ADYAYwAgADEAMAAwADYANAA0AA0ACgAtAC0ALQAgAGEALwBTAG8A
dQByAGMAZQAvAFcAZQBiAEMAbwByAGUALwBDAGgAYQBuAGcAZQBMAG8AZwANAAoAKwArACsAIABi
AC8AUwBvAHUAcgBjAGUALwBXAGUAYgBDAG8AcgBlAC8AQwBoAGEAbgBnAGUATABvAGcADQAKAEAA
QAAgAC0AMQAsADMAIAArADEALAAzADUAIABAAEAADQAKACsAMgAwADEAOAAtADAANgAtADEANQAg
ACAAQgBhAHMAdQBrAGUAIABTAHUAegB1AGsAaQAgACAAPABCAGEAcwB1AGsAZQAuAFMAdQB6AHUA
awBpAEAAcwBvAG4AeQAuAGMAbwBtAD4ADQAKACsADQAKACsAIAAgACAAIAAgACAAIAAgAFsAQwB1
AHIAbABdACAAQQBsAGwAbwB3ACAAcABhAHMAcwBpAG4AZwAgAGMAbwBuAHQAZQBuAHQAcwAgAG8A
ZgAgAFIAbwBvAHQAIABDAEEAIABkAGEAdABhACAAZABpAHIAZQBjAHQAbAB5AC4ADQAKACsAIAAg
ACAAIAAgACAAIAAgAGgAdAB0AHAAcwA6AC8ALwBiAHUAZwBzAC4AdwBlAGIAawBpAHQALgBvAHIA
ZwAvAHMAaABvAHcAXwBiAHUAZwAuAGMAZwBpAD8AaQBkAD0AMQA4ADUANwA4ADIADQAKACsADQAK
ACsAIAAgACAAIAAgACAAIAAgAEMAdQByAHIAZQBuAHQAbAB5ACAAdABoAGUAIABkAGEAdABhACAA
bQB1AHMAdAAgAGIAZQAgAGkAbgAgAGEAIABmAGkAbABlACAAYQBuAGQAIABzAGUAdAAgAGIAeQAg
AGkAdABzACAAcABhAHQAaAAuACAAVABoAGkAcwAgAHAAYQB0AGMAaAANAAoAKwAgACAAIAAgACAA
IAAgACAAYQBsAGwAbwB3ACAAYQBwAHAAbABpAGMAYQB0AGkAbwBuACAAdABvACAAcwBlAHQAIABy
AG8AbwB0ACAAQwBBACAAZABhAHQAYQAgAGIAeQAgAHAAYQBzAHMAaQBuAGcAIABiAGkAbgBhAHIA
eQAgAGQAYQB0AGEAIABkAGkAcgBlAGMAdABsAHkALgANAAoAKwANAAoAKwAgACAAIAAgACAAIAAg
ACAAUgBlAHYAaQBlAHcAZQBkACAAYgB5ACAAWQBvAHUAZQBuAG4AIABGAGEAYgBsAGUAdAAuAA0A
CgArAA0ACgArACAAIAAgACAAIAAgACAAIABOAG8AIABuAGUAdwAgAHQAZQBzAHQAcwAuACAAVABl
AHMAdABlAGQAIABpAG4AdABlAHIAbgBhAGwAbAB5AC4ADQAKACsADQAKACsAIAAgACAAIAAgACAA
IAAgACoAIABwAGwAYQB0AGYAbwByAG0ALwBuAGUAdAB3AG8AcgBrAC8AYwB1AHIAbAAvAEMAdQBy
AGwAUgBlAHEAdQBlAHMAdAAuAGMAcABwADoADQAKACsAIAAgACAAIAAgACAAIAAgACgAVwBlAGIA
QwBvAHIAZQA6ADoAQwB1AHIAbABSAGUAcQB1AGUAcwB0ADoAOgBzAGUAdAB1AHAAVAByAGEAbgBz
AGYAZQByACkAOgANAAoAKwAgACAAIAAgACAAIAAgACAAKgAgAHAAbABhAHQAZgBvAHIAbQAvAG4A
ZQB0AHcAbwByAGsALwBjAHUAcgBsAC8AQwB1AHIAbABTAFMATABIAGEAbgBkAGwAZQAuAGMAcABw
ADoADQAKACsAIAAgACAAIAAgACAAIAAgACgAVwBlAGIAQwBvAHIAZQA6ADoAQwB1AHIAbABTAFMA
TABIAGEAbgBkAGwAZQA6ADoAQwB1AHIAbABTAFMATABIAGEAbgBkAGwAZQApADoADQAKACsAIAAg
ACAAIAAgACAAIAAgACgAVwBlAGIAQwBvAHIAZQA6ADoAQwB1AHIAbABTAFMATABIAGEAbgBkAGwA
ZQA6ADoAcwBlAHQAQwBBAEMAZQByAHQAUABhAHQAaAApADoADQAKACsAIAAgACAAIAAgACAAIAAg
ACgAVwBlAGIAQwBvAHIAZQA6ADoAQwB1AHIAbABTAFMATABIAGEAbgBkAGwAZQA6ADoAcwBlAHQA
QwBBAEMAZQByAHQARABhAHQAYQApADoADQAKACsAIAAgACAAIAAgACAAIAAgACoAIABwAGwAYQB0
AGYAbwByAG0ALwBuAGUAdAB3AG8AcgBrAC8AYwB1AHIAbAAvAEMAdQByAGwAUwBTAEwASABhAG4A
ZABsAGUALgBoADoADQAKACsAIAAgACAAIAAgACAAIAAgACgAVwBlAGIAQwBvAHIAZQA6ADoAQwB1
AHIAbABTAFMATABIAGEAbgBkAGwAZQA6ADoAZwBlAHQAQwBpAHAAaABlAHIATABpAHMAdAAgAGMA
bwBuAHMAdAApADoADQAKACsAIAAgACAAIAAgACAAIAAgACgAVwBlAGIAQwBvAHIAZQA6ADoAQwB1
AHIAbABTAFMATABIAGEAbgBkAGwAZQA6ADoAZwBlAHQAUwBpAGcAbgBhAHQAdQByAGUAQQBsAGcA
bwByAGkAdABoAG0AcwBMAGkAcwB0ACAAYwBvAG4AcwB0ACkAOgANAAoAKwAgACAAIAAgACAAIAAg
ACAAKABXAGUAYgBDAG8AcgBlADoAOgBDAHUAcgBsAFMAUwBMAEgAYQBuAGQAbABlADoAOgBnAGUA
dABDAHUAcgB2AGUAcwBMAGkAcwB0ACAAYwBvAG4AcwB0ACkAOgANAAoAKwAgACAAIAAgACAAIAAg
ACAAKABXAGUAYgBDAG8AcgBlADoAOgBDAHUAcgBsAFMAUwBMAEgAYQBuAGQAbABlADoAOgBzAGUA
dABDAGkAcABoAGUAcgBMAGkAcwB0ACkAOgANAAoAKwAgACAAIAAgACAAIAAgACAAKABXAGUAYgBD
AG8AcgBlADoAOgBDAHUAcgBsAFMAUwBMAEgAYQBuAGQAbABlADoAOgBzAGUAdABTAGkAZwBuAGEA
dAB1AHIAZQBBAGwAZwBvAHIAaQB0AGgAbQBzAEwAaQBzAHQAKQA6AA0ACgArACAAIAAgACAAIAAg
ACAAIAAoAFcAZQBiAEMAbwByAGUAOgA6AEMAdQByAGwAUwBTAEwASABhAG4AZABsAGUAOgA6AHMA
ZQB0AEMAdQByAHYAZQBzAEwAaQBzAHQAKQA6AA0ACgArACAAIAAgACAAIAAgACAAIAAoAFcAZQBi
AEMAbwByAGUAOgA6AEMAdQByAGwAUwBTAEwASABhAG4AZABsAGUAOgA6AHMAZQB0AEkAZwBuAG8A
cgBlAFMAUwBMAEUAcgByAG8AcgBzACkAOgANAAoAKwAgACAAIAAgACAAIAAgACAAKABXAGUAYgBD
AG8AcgBlADoAOgBDAHUAcgBsAFMAUwBMAEgAYQBuAGQAbABlADoAOgBnAGUAdABDAEEAQwBlAHIA
dABQAGEAdABoACAAYwBvAG4AcwB0ACkAOgANAAoAKwAgACAAIAAgACAAIAAgACAAKABXAGUAYgBD
AG8AcgBlADoAOgBDAHUAcgBsAFMAUwBMAEgAYQBuAGQAbABlADoAOgBnAGUAdABDAEEAQwBlAHIA
dABEAGEAdABhACAAYwBvAG4AcwB0ACkAOgANAAoAKwAgACAAIAAgACAAIAAgACAAKABXAGUAYgBD
AG8AcgBlADoAOgBDAHUAcgBsAFMAUwBMAEgAYQBuAGQAbABlADoAOgBzAGUAdABDAEEAQwBlAHIA
dABQAGEAdABoACkAOgAgAEQAZQBsAGUAdABlAGQALgANAAoAKwAgACAAIAAgACAAIAAgACAAKgAg
AHAAbABhAHQAZgBvAHIAbQAvAG4AZQB0AHcAbwByAGsALwBjAHUAcgBsAC8AQwB1AHIAbABTAFMA
TABWAGUAcgBpAGYAaQBlAHIALgBjAHAAcAA6AA0ACgArACAAIAAgACAAIAAgACAAIAAoAFcAZQBi
AEMAbwByAGUAOgA6AEMAdQByAGwAUwBTAEwAVgBlAHIAaQBmAGkAZQByADoAOgBDAHUAcgBsAFMA
UwBMAFYAZQByAGkAZgBpAGUAcgApADoADQAKACsADQAKACAAMgAwADEAOAAtADAANgAtADEANQAg
ACAAWgBhAGwAYQBuACAAQgB1AGoAdABhAHMAIAAgADwAegBhAGwAYQBuAEAAYQBwAHAAbABlAC4A
YwBvAG0APgANAAoAIAANAAoAIAAgACAAIAAgACAAIAAgACAAWwBMAEYAQwBdACAARgBpAHgAIABz
AHQAYQB0AGkAYwAgAHAAbwBzAGkAdABpAG8AbgAgAGwAZQBmAHQALwB0AG8AcAANAAoAZABpAGYA
ZgAgAC0ALQBnAGkAdAAgAGEALwBTAG8AdQByAGMAZQAvAFcAZQBiAEMAbwByAGUALwBwAGwAYQB0
AGYAbwByAG0ALwBuAGUAdAB3AG8AcgBrAC8AYwB1AHIAbAAvAEMAdQByAGwAUgBlAHEAdQBlAHMA
dAAuAGMAcABwACAAYgAvAFMAbwB1AHIAYwBlAC8AVwBlAGIAQwBvAHIAZQAvAHAAbABhAHQAZgBv
AHIAbQAvAG4AZQB0AHcAbwByAGsALwBjAHUAcgBsAC8AQwB1AHIAbABSAGUAcQB1AGUAcwB0AC4A
YwBwAHAADQAKAGkAbgBkAGUAeAAgADUAYQBhADcAMgA4AGMAOQA3ADAANgAuAC4AMABkADIANQA0
ADcAYwBiADUANABkACAAMQAwADAANgA0ADQADQAKAC0ALQAtACAAYQAvAFMAbwB1AHIAYwBlAC8A
VwBlAGIAQwBvAHIAZQAvAHAAbABhAHQAZgBvAHIAbQAvAG4AZQB0AHcAbwByAGsALwBjAHUAcgBs
AC8AQwB1AHIAbABSAGUAcQB1AGUAcwB0AC4AYwBwAHAADQAKACsAKwArACAAYgAvAFMAbwB1AHIA
YwBlAC8AVwBlAGIAQwBvAHIAZQAvAHAAbABhAHQAZgBvAHIAbQAvAG4AZQB0AHcAbwByAGsALwBj
AHUAcgBsAC8AQwB1AHIAbABSAGUAcQB1AGUAcwB0AC4AYwBwAHAADQAKAEAAQAAgAC0AMgAzADMA
LAA3ACAAKwAyADMAMwAsADkAIABAAEAAIABDAFUAUgBMACoAIABDAHUAcgBsAFIAZQBxAHUAZQBz
AHQAOgA6AHMAZQB0AHUAcABUAHIAYQBuAHMAZgBlAHIAKAApAA0ACgAgACAAIAAgACAAIAAgACAA
IABtAF8AYwB1AHIAbABIAGEAbgBkAGwAZQAtAD4AcwBlAHQAUwBzAGwASwBlAHkAUABhAHMAcwB3
AG8AcgBkACgAcwBzAGwAQwBsAGkAZQBuAHQAQwBlAHIAdABpAGYAaQBjAGEAdABlAC0APgBzAGUA
YwBvAG4AZAAuAHUAdABmADgAKAApAC4AZABhAHQAYQAoACkAKQA7AA0ACgAgACAAIAAgACAAfQAN
AAoAIAANAAoALQAgACAAIAAgAG0AXwBjAHUAcgBsAEgAYQBuAGQAbABlAC0APgBzAGUAdABDAEEA
QwBlAHIAdABQAGEAdABoACgAcwBzAGwASABhAG4AZABsAGUALgBnAGUAdABDAEEAQwBlAHIAdABQ
AGEAdABoACgAKQAuAHUAdABmADgAKAApAC4AZABhAHQAYQAoACkAKQA7AA0ACgArACAAIAAgACAA
YwBvAG4AcwB0ACAAYQB1AHQAbwAmACAAYwBhAEMAZQByAHQAUABhAHQAaAAgAD0AIABzAHMAbABI
AGEAbgBkAGwAZQAuAGcAZQB0AEMAQQBDAGUAcgB0AFAAYQB0AGgAKAApADsADQAKACsAIAAgACAA
IABpAGYAIAAoACEAYwBhAEMAZQByAHQAUABhAHQAaAAuAGkAcwBFAG0AcAB0AHkAKAApACkADQAK
ACsAIAAgACAAIAAgACAAIAAgAG0AXwBjAHUAcgBsAEgAYQBuAGQAbABlAC0APgBzAGUAdABDAEEA
QwBlAHIAdABQAGEAdABoACgAYwBhAEMAZQByAHQAUABhAHQAaAAuAHUAdABmADgAKAApAC4AZABh
AHQAYQAoACkAKQA7AA0ACgAgAA0ACgAgACAAIAAgACAAaQBmACAAKABtAF8AcwBoAG8AdQBsAGQA
UwB1AHMAcABlAG4AZAApAA0ACgAgACAAIAAgACAAIAAgACAAIABzAGUAdABSAGUAcQB1AGUAcwB0
AFAAYQB1AHMAZQBkACgAdAByAHUAZQApADsADQAKAGQAaQBmAGYAIAAtAC0AZwBpAHQAIABhAC8A
UwBvAHUAcgBjAGUALwBXAGUAYgBDAG8AcgBlAC8AcABsAGEAdABmAG8AcgBtAC8AbgBlAHQAdwBv
AHIAawAvAGMAdQByAGwALwBDAHUAcgBsAFMAUwBMAEgAYQBuAGQAbABlAC4AYwBwAHAAIABiAC8A
UwBvAHUAcgBjAGUALwBXAGUAYgBDAG8AcgBlAC8AcABsAGEAdABmAG8AcgBtAC8AbgBlAHQAdwBv
AHIAawAvAGMAdQByAGwALwBDAHUAcgBsAFMAUwBMAEgAYQBuAGQAbABlAC4AYwBwAHAADQAKAGkA
bgBkAGUAeAAgAGUAOAA0AGYANwA3ADYAYwBjAGUAMwAuAC4AMQBkADAANABkADgAYwBjADcANQBl
ACAAMQAwADAANgA0ADQADQAKAC0ALQAtACAAYQAvAFMAbwB1AHIAYwBlAC8AVwBlAGIAQwBvAHIA
ZQAvAHAAbABhAHQAZgBvAHIAbQAvAG4AZQB0AHcAbwByAGsALwBjAHUAcgBsAC8AQwB1AHIAbABT
AFMATABIAGEAbgBkAGwAZQAuAGMAcABwAA0ACgArACsAKwAgAGIALwBTAG8AdQByAGMAZQAvAFcA
ZQBiAEMAbwByAGUALwBwAGwAYQB0AGYAbwByAG0ALwBuAGUAdAB3AG8AcgBrAC8AYwB1AHIAbAAv
AEMAdQByAGwAUwBTAEwASABhAG4AZABsAGUALgBjAHAAcAANAAoAQABAACAALQA0ADQALAAxADEA
IAArADQANAAsADEAMAAgAEAAQAANAAoAIABuAGEAbQBlAHMAcABhAGMAZQAgAFcAZQBiAEMAbwBy
AGUAIAB7AA0ACgAgAA0ACgAgAEMAdQByAGwAUwBTAEwASABhAG4AZABsAGUAOgA6AEMAdQByAGwA
UwBTAEwASABhAG4AZABsAGUAKAApAA0ACgAtACAAIAAgACAAOgAgAG0AXwBjAGEAQwBlAHIAdABQ
AGEAdABoACgAZwBlAHQAQwBBAEMAZQByAHQAUABhAHQAaABFAG4AdgAoACkAKQANAAoAIAB7AA0A
CgAtACAAIAAgACAAYwBoAGEAcgAqACAAaQBnAG4AbwByAGUAUwBTAEwARQByAHIAbwByAHMAIAA9
ACAAZwBlAHQAZQBuAHYAKAAiAFcARQBCAEsASQBUAF8ASQBHAE4ATwBSAEUAXwBTAFMATABfAEUA
UgBSAE8AUgBTACIAKQA7AA0ACgAtACAAIAAgACAAaQBmACAAKABpAGcAbgBvAHIAZQBTAFMATABF
AHIAcgBvAHIAcwApAA0ACgAtACAAIAAgACAAIAAgACAAIABtAF8AaQBnAG4AbwByAGUAUwBTAEwA
RQByAHIAbwByAHMAIAA9ACAAdAByAHUAZQA7AA0ACgArACAAIAAgACAAYQB1AHQAbwAgAGMAYQBD
AGUAcgB0AFAAYQB0AGgAIAA9ACAAZwBlAHQAQwBBAEMAZQByAHQAUABhAHQAaABFAG4AdgAoACkA
OwANAAoAKwAgACAAIAAgAGkAZgAgACgAIQBjAGEAQwBlAHIAdABQAGEAdABoAC4AaQBzAEUAbQBw
AHQAeQAoACkAKQANAAoAKwAgACAAIAAgACAAIAAgACAAcwBlAHQAQwBBAEMAZQByAHQAUABhAHQA
aAAoAFcAVABGAE0AbwB2AGUAKABjAGEAQwBlAHIAdABQAGEAdABoACkAKQA7AA0ACgAgAA0ACgAg
ACMAaQBmACAATgBFAEUARABfAE8AUABFAE4AUwBTAEwAXwBUAEgAUgBFAEEARABfAFMAVQBQAFAA
TwBSAFQADQAKACAAIAAgACAAIABUAGgAcgBlAGEAZABTAHUAcABwAG8AcgB0ADoAOgBzAGUAdAB1
AHAAKAApADsADQAKAEAAQAAgAC0ANwA2ACwANgAgACsANwA1ACwAMQA4ACAAQABAACAAUwB0AHIA
aQBuAGcAIABDAHUAcgBsAFMAUwBMAEgAYQBuAGQAbABlADoAOgBnAGUAdABDAEEAQwBlAHIAdABQ
AGEAdABoAEUAbgB2ACgAKQANAAoAIAAgACAAIAAgAHIAZQB0AHUAcgBuACAAUwB0AHIAaQBuAGcA
KAApADsADQAKACAAfQANAAoAIAANAAoAKwB2AG8AaQBkACAAQwB1AHIAbABTAFMATABIAGEAbgBk
AGwAZQA6ADoAcwBlAHQAQwBBAEMAZQByAHQAUABhAHQAaAAoAFMAdAByAGkAbgBnACYAJgAgAGMA
YQBDAGUAcgB0AFAAYQB0AGgAKQANAAoAKwB7AA0ACgArACAAIAAgACAAbQBfAGMAYQBDAGUAcgB0
AFAAYQB0AGgAIAA9ACAAVwBUAEYATQBvAHYAZQAoAGMAYQBDAGUAcgB0AFAAYQB0AGgAKQA7AA0A
CgArACAAIAAgACAAbQBfAGMAYQBDAGUAcgB0AEQAYQB0AGEALgBjAGwAZQBhAHIAKAApADsADQAK
ACsAfQANAAoAKwANAAoAKwB2AG8AaQBkACAAQwB1AHIAbABTAFMATABIAGEAbgBkAGwAZQA6ADoA
cwBlAHQAQwBBAEMAZQByAHQARABhAHQAYQAoAFYAZQBjAHQAbwByADwAYwBoAGEAcgA+ACYAJgAg
AGMAYQBDAGUAcgB0AEQAYQB0AGEAKQANAAoAKwB7AA0ACgArACAAIAAgACAAbQBfAGMAYQBDAGUA
cgB0AFAAYQB0AGgAIAA9ACAAUwB0AHIAaQBuAGcAKAApADsADQAKACsAIAAgACAAIABtAF8AYwBh
AEMAZQByAHQARABhAHQAYQAgAD0AIABXAFQARgBNAG8AdgBlACgAYwBhAEMAZQByAHQARABhAHQA
YQApADsADQAKACsAfQANAAoAKwANAAoAIAB2AG8AaQBkACAAQwB1AHIAbABTAFMATABIAGEAbgBk
AGwAZQA6ADoAcwBlAHQASABvAHMAdABBAGwAbABvAHcAcwBBAG4AeQBIAFQAVABQAFMAQwBlAHIA
dABpAGYAaQBjAGEAdABlACgAYwBvAG4AcwB0ACAAUwB0AHIAaQBuAGcAJgAgAGgAbwBzAHQATgBh
AG0AZQApAA0ACgAgAHsADQAKACAAIAAgACAAIABMAG8AYwBrAEgAbwBsAGQAZQByACAAbQB1AHQA
ZQB4ACgAbQBfAG0AdQB0AGUAeAApADsADQAKAGQAaQBmAGYAIAAtAC0AZwBpAHQAIABhAC8AUwBv
AHUAcgBjAGUALwBXAGUAYgBDAG8AcgBlAC8AcABsAGEAdABmAG8AcgBtAC8AbgBlAHQAdwBvAHIA
awAvAGMAdQByAGwALwBDAHUAcgBsAFMAUwBMAEgAYQBuAGQAbABlAC4AaAAgAGIALwBTAG8AdQBy
AGMAZQAvAFcAZQBiAEMAbwByAGUALwBwAGwAYQB0AGYAbwByAG0ALwBuAGUAdAB3AG8AcgBrAC8A
YwB1AHIAbAAvAEMAdQByAGwAUwBTAEwASABhAG4AZABsAGUALgBoAA0ACgBpAG4AZABlAHgAIAAx
AGYAZgA4ADQANQA3AGEAYwA3ADIALgAuADgANQAxADUAMQBmAGYANQAwADEAMAAgADEAMAAwADYA
NAA0AA0ACgAtAC0ALQAgAGEALwBTAG8AdQByAGMAZQAvAFcAZQBiAEMAbwByAGUALwBwAGwAYQB0
AGYAbwByAG0ALwBuAGUAdAB3AG8AcgBrAC8AYwB1AHIAbAAvAEMAdQByAGwAUwBTAEwASABhAG4A
ZABsAGUALgBoAA0ACgArACsAKwAgAGIALwBTAG8AdQByAGMAZQAvAFcAZQBiAEMAbwByAGUALwBw
AGwAYQB0AGYAbwByAG0ALwBuAGUAdAB3AG8AcgBrAC8AYwB1AHIAbAAvAEMAdQByAGwAUwBTAEwA
SABhAG4AZABsAGUALgBoAA0ACgBAAEAAIAAtADUAMAAsADIANAAgACsANQAwACwAMgA3ACAAQABA
ACAAYwBsAGEAcwBzACAAQwB1AHIAbABTAFMATABIAGEAbgBkAGwAZQAgAHsADQAKACAAcAB1AGIA
bABpAGMAOgANAAoAIAAgACAAIAAgAEMAdQByAGwAUwBTAEwASABhAG4AZABsAGUAKAApADsADQAK
ACAADQAKAC0AIAAgACAAIABTAHQAcgBpAG4AZwAgAGcAZQB0AEMAaQBwAGgAZQByAEwAaQBzAHQA
KAApACAAYwBvAG4AcwB0ACAAewAgAHIAZQB0AHUAcgBuACAAbQBfAGMAaQBwAGgAZQByAEwAaQBz
AHQAOwAgAH0ADQAKAC0AIAAgACAAIABTAHQAcgBpAG4AZwAgAGcAZQB0AFMAaQBnAG4AYQB0AHUA
cgBlAEEAbABnAG8AcgBpAHQAaABtAHMATABpAHMAdAAoACkAIABjAG8AbgBzAHQAIAB7ACAAcgBl
AHQAdQByAG4AIABtAF8AcwBpAGcAbgBhAHQAdQByAGUAQQBsAGcAbwByAGkAdABoAG0AcwBMAGkA
cwB0ADsAIAB9AA0ACgAtACAAIAAgACAAUwB0AHIAaQBuAGcAIABnAGUAdABDAHUAcgB2AGUAcwBM
AGkAcwB0ACgAKQAgAGMAbwBuAHMAdAAgAHsAIAByAGUAdAB1AHIAbgAgAG0AXwBjAHUAcgB2AGUA
cwBMAGkAcwB0ADsAIAB9AA0ACgArACAAIAAgACAAYwBvAG4AcwB0ACAAUwB0AHIAaQBuAGcAJgAg
AGcAZQB0AEMAaQBwAGgAZQByAEwAaQBzAHQAKAApACAAYwBvAG4AcwB0ACAAewAgAHIAZQB0AHUA
cgBuACAAbQBfAGMAaQBwAGgAZQByAEwAaQBzAHQAOwAgAH0ADQAKACsAIAAgACAAIABjAG8AbgBz
AHQAIABTAHQAcgBpAG4AZwAmACAAZwBlAHQAUwBpAGcAbgBhAHQAdQByAGUAQQBsAGcAbwByAGkA
dABoAG0AcwBMAGkAcwB0ACgAKQAgAGMAbwBuAHMAdAAgAHsAIAByAGUAdAB1AHIAbgAgAG0AXwBz
AGkAZwBuAGEAdAB1AHIAZQBBAGwAZwBvAHIAaQB0AGgAbQBzAEwAaQBzAHQAOwAgAH0ADQAKACsA
IAAgACAAIABjAG8AbgBzAHQAIABTAHQAcgBpAG4AZwAmACAAZwBlAHQAQwB1AHIAdgBlAHMATABp
AHMAdAAoACkAIABjAG8AbgBzAHQAIAB7ACAAcgBlAHQAdQByAG4AIABtAF8AYwB1AHIAdgBlAHMA
TABpAHMAdAA7ACAAfQANAAoAIAANAAoALQAgACAAIAAgAHYAbwBpAGQAIABzAGUAdABDAGkAcABo
AGUAcgBMAGkAcwB0ACgAUwB0AHIAaQBuAGcAJgAmACAAYwBpAHAAaABlAHIATABpAHMAdAApACAA
ewAgAG0AXwBjAGkAcABoAGUAcgBMAGkAcwB0ACAAPQAgAFcAVABGAE0AbwB2AGUAKABjAGkAcABo
AGUAcgBMAGkAcwB0ACkAOwAgAH0ADQAKAC0AIAAgACAAIAB2AG8AaQBkACAAcwBlAHQAUwBpAGcA
bgBhAHQAdQByAGUAQQBsAGcAbwByAGkAdABoAG0AcwBMAGkAcwB0ACgAUwB0AHIAaQBuAGcAJgAm
ACAAcwBpAGcAbgBhAHQAdQByAGUAQQBsAGcAbwByAGkAdABoAG0AcwBMAGkAcwB0ACkAIAB7ACAA
bQBfAHMAaQBnAG4AYQB0AHUAcgBlAEEAbABnAG8AcgBpAHQAaABtAHMATABpAHMAdAAgAD0AIABX
AFQARgBNAG8AdgBlACgAcwBpAGcAbgBhAHQAdQByAGUAQQBsAGcAbwByAGkAdABoAG0AcwBMAGkA
cwB0ACkAOwAgAH0ADQAKAC0AIAAgACAAIAB2AG8AaQBkACAAcwBlAHQAQwB1AHIAdgBlAHMATABp
AHMAdAAoAFMAdAByAGkAbgBnACYAJgAgAGMAdQByAHYAZQBzAEwAaQBzAHQAKQAgAHsAIABtAF8A
YwB1AHIAdgBlAHMATABpAHMAdAAgAD0AIABXAFQARgBNAG8AdgBlACgAYwB1AHIAdgBlAHMATABp
AHMAdAApADsAIAB9AA0ACgArACAAIAAgACAAVwBFAEIAQwBPAFIARQBfAEUAWABQAE8AUgBUACAA
dgBvAGkAZAAgAHMAZQB0AEMAaQBwAGgAZQByAEwAaQBzAHQAKABTAHQAcgBpAG4AZwAmACYAIABk
AGEAdABhACkAIAB7ACAAbQBfAGMAaQBwAGgAZQByAEwAaQBzAHQAIAA9ACAAVwBUAEYATQBvAHYA
ZQAoAGQAYQB0AGEAKQA7ACAAfQANAAoAKwAgACAAIAAgAFcARQBCAEMATwBSAEUAXwBFAFgAUABP
AFIAVAAgAHYAbwBpAGQAIABzAGUAdABTAGkAZwBuAGEAdAB1AHIAZQBBAGwAZwBvAHIAaQB0AGgA
bQBzAEwAaQBzAHQAKABTAHQAcgBpAG4AZwAmACYAIABkAGEAdABhACkAIAB7ACAAbQBfAHMAaQBn
AG4AYQB0AHUAcgBlAEEAbABnAG8AcgBpAHQAaABtAHMATABpAHMAdAAgAD0AIABXAFQARgBNAG8A
dgBlACgAZABhAHQAYQApADsAIAB9AA0ACgArACAAIAAgACAAVwBFAEIAQwBPAFIARQBfAEUAWABQ
AE8AUgBUACAAdgBvAGkAZAAgAHMAZQB0AEMAdQByAHYAZQBzAEwAaQBzAHQAKABTAHQAcgBpAG4A
ZwAmACYAIABkAGEAdABhACkAIAB7ACAAbQBfAGMAdQByAHYAZQBzAEwAaQBzAHQAIAA9ACAAVwBU
AEYATQBvAHYAZQAoAGQAYQB0AGEAKQA7ACAAfQANAAoAIAANAAoAIAAgACAAIAAgAGIAbwBvAGwA
IABzAGgAbwB1AGwAZABJAGcAbgBvAHIAZQBTAFMATABFAHIAcgBvAHIAcwAoACkAIABjAG8AbgBz
AHQAIAB7ACAAcgBlAHQAdQByAG4AIABtAF8AaQBnAG4AbwByAGUAUwBTAEwARQByAHIAbwByAHMA
OwAgAH0ADQAKACsAIAAgACAAIABXAEUAQgBDAE8AUgBFAF8ARQBYAFAATwBSAFQAIAB2AG8AaQBk
ACAAcwBlAHQASQBnAG4AbwByAGUAUwBTAEwARQByAHIAbwByAHMAKABiAG8AbwBsACAAZgBsAGEA
ZwApACAAewAgAG0AXwBpAGcAbgBvAHIAZQBTAFMATABFAHIAcgBvAHIAcwAgAD0AIABmAGwAYQBn
ADsAIAB9AA0ACgAgAA0ACgAtACAAIAAgACAAUwB0AHIAaQBuAGcAIABnAGUAdABDAEEAQwBlAHIA
dABQAGEAdABoACgAKQAgAGMAbwBuAHMAdAAgAHsAIAByAGUAdAB1AHIAbgAgAG0AXwBjAGEAQwBl
AHIAdABQAGEAdABoADsAIAB9AA0ACgAtACAAIAAgACAAdgBvAGkAZAAgAHMAZQB0AEMAQQBDAGUA
cgB0AFAAYQB0AGgAKABTAHQAcgBpAG4AZwAmACYAIABjAGEAQwBlAHIAdABQAGEAdABoACkAIAB7
ACAAbQBfAGMAYQBDAGUAcgB0AFAAYQB0AGgAIAA9ACAAVwBUAEYATQBvAHYAZQAoAGMAYQBDAGUA
cgB0AFAAYQB0AGgAKQA7ACAAfQANAAoAKwAgACAAIAAgAGMAbwBuAHMAdAAgAFMAdAByAGkAbgBn
ACYAIABnAGUAdABDAEEAQwBlAHIAdABQAGEAdABoACgAKQAgAGMAbwBuAHMAdAAgAHsAIAByAGUA
dAB1AHIAbgAgAG0AXwBjAGEAQwBlAHIAdABQAGEAdABoADsAIAB9AA0ACgArACAAIAAgACAAYwBv
AG4AcwB0ACAAVgBlAGMAdABvAHIAPABjAGgAYQByAD4AJgAgAGcAZQB0AEMAQQBDAGUAcgB0AEQA
YQB0AGEAKAApACAAYwBvAG4AcwB0ACAAewAgAHIAZQB0AHUAcgBuACAAbQBfAGMAYQBDAGUAcgB0
AEQAYQB0AGEAOwAgAH0ADQAKACsAIAAgACAAIABXAEUAQgBDAE8AUgBFAF8ARQBYAFAATwBSAFQA
IAB2AG8AaQBkACAAcwBlAHQAQwBBAEMAZQByAHQAUABhAHQAaAAoAFMAdAByAGkAbgBnACYAJgAp
ADsADQAKACsAIAAgACAAIABXAEUAQgBDAE8AUgBFAF8ARQBYAFAATwBSAFQAIAB2AG8AaQBkACAA
cwBlAHQAQwBBAEMAZQByAHQARABhAHQAYQAoAFYAZQBjAHQAbwByADwAYwBoAGEAcgA+ACYAJgAp
ADsADQAKACAADQAKACAAIAAgACAAIABXAEUAQgBDAE8AUgBFAF8ARQBYAFAATwBSAFQAIAB2AG8A
aQBkACAAcwBlAHQASABvAHMAdABBAGwAbABvAHcAcwBBAG4AeQBIAFQAVABQAFMAQwBlAHIAdABp
AGYAaQBjAGEAdABlACgAYwBvAG4AcwB0ACAAUwB0AHIAaQBuAGcAJgApADsADQAKACAAIAAgACAA
IABiAG8AbwBsACAAaQBzAEEAbABsAG8AdwBlAGQASABUAFQAUABTAEMAZQByAHQAaQBmAGkAYwBh
AHQAZQBIAG8AcwB0ACgAYwBvAG4AcwB0ACAAUwB0AHIAaQBuAGcAJgApADsADQAKACAAIAAgACAA
IABiAG8AbwBsACAAYwBhAG4ASQBnAG4AbwByAGUAZABIAFQAVABQAFMAQwBlAHIAdABpAGYAaQBj
AGEAdABlACgAYwBvAG4AcwB0ACAAUwB0AHIAaQBuAGcAJgAsACAAYwBvAG4AcwB0ACAATABpAHMA
dABIAGEAcwBoAFMAZQB0ADwAUwB0AHIAaQBuAGcAPgAmACkAOwANAAoAIAANAAoALQAgACAAIAAg
AHYAbwBpAGQAIABzAGUAdABDAGwAaQBlAG4AdABDAGUAcgB0AGkAZgBpAGMAYQB0AGUASQBuAGYA
bwAoAGMAbwBuAHMAdAAgAFMAdAByAGkAbgBnACYALAAgAGMAbwBuAHMAdAAgAFMAdAByAGkAbgBn
ACYALAAgAGMAbwBuAHMAdAAgAFMAdAByAGkAbgBnACYAKQA7AA0ACgArACAAIAAgACAAVwBFAEIA
QwBPAFIARQBfAEUAWABQAE8AUgBUACAAdgBvAGkAZAAgAHMAZQB0AEMAbABpAGUAbgB0AEMAZQBy
AHQAaQBmAGkAYwBhAHQAZQBJAG4AZgBvACgAYwBvAG4AcwB0ACAAUwB0AHIAaQBuAGcAJgAsACAA
YwBvAG4AcwB0ACAAUwB0AHIAaQBuAGcAJgAsACAAYwBvAG4AcwB0ACAAUwB0AHIAaQBuAGcAJgAp
ADsADQAKACAAIAAgACAAIABzAHQAZAA6ADoAbwBwAHQAaQBvAG4AYQBsADwAQwBsAGkAZQBuAHQA
QwBlAHIAdABpAGYAaQBjAGEAdABlAD4AIABnAGUAdABTAFMATABDAGwAaQBlAG4AdABDAGUAcgB0
AGkAZgBpAGMAYQB0AGUAKABjAG8AbgBzAHQAIABTAHQAcgBpAG4AZwAmACkAOwANAAoAIAANAAoA
IABwAHIAaQB2AGEAdABlADoADQAKAEAAQAAgAC0AMQAwADAALAAxADMAIAArADEAMAAzACwAMQAz
ACAAQABAACAAcAByAGkAdgBhAHQAZQA6AA0ACgAgAA0ACgAgACAAIAAgACAAUwB0AHIAaQBuAGcA
IABnAGUAdABDAEEAQwBlAHIAdABQAGEAdABoAEUAbgB2ACgAKQA7AA0ACgAgAA0ACgAtACAAIAAg
ACAAYgBvAG8AbAAgAG0AXwBpAGcAbgBvAHIAZQBTAFMATABFAHIAcgBvAHIAcwAgAHsAIABmAGEA
bABzAGUAIAB9ADsADQAKAC0ADQAKACAAIAAgACAAIABTAHQAcgBpAG4AZwAgAG0AXwBjAGkAcABo
AGUAcgBMAGkAcwB0ADsADQAKACAAIAAgACAAIABTAHQAcgBpAG4AZwAgAG0AXwBzAGkAZwBuAGEA
dAB1AHIAZQBBAGwAZwBvAHIAaQB0AGgAbQBzAEwAaQBzAHQAOwANAAoAIAAgACAAIAAgAFMAdABy
AGkAbgBnACAAbQBfAGMAdQByAHYAZQBzAEwAaQBzAHQAOwANAAoALQANAAoAIAAgACAAIAAgAFMA
dAByAGkAbgBnACAAbQBfAGMAYQBDAGUAcgB0AFAAYQB0AGgAOwANAAoAKwAgACAAIAAgAFYAZQBj
AHQAbwByADwAYwBoAGEAcgA+ACAAbQBfAGMAYQBDAGUAcgB0AEQAYQB0AGEAOwANAAoAKwANAAoA
KwAgACAAIAAgAGIAbwBvAGwAIABtAF8AaQBnAG4AbwByAGUAUwBTAEwARQByAHIAbwByAHMAIAB7
ACAAZgBhAGwAcwBlACAAfQA7AA0ACgAgAA0ACgAgACAAIAAgACAATABvAGMAawAgAG0AXwBtAHUA
dABlAHgAOwANAAoAIAAgACAAIAAgAEgAYQBzAGgATQBhAHAAPABTAHQAcgBpAG4AZwAsACAATABp
AHMAdABIAGEAcwBoAFMAZQB0ADwAUwB0AHIAaQBuAGcAPgAsACAAQQBTAEMASQBJAEMAYQBzAGUA
SQBuAHMAZQBuAHMAaQB0AGkAdgBlAEgAYQBzAGgAPgAgAG0AXwBhAGwAbABvAHcAZQBkAEgAbwBz
AHQAcwA7AA0ACgBkAGkAZgBmACAALQAtAGcAaQB0ACAAYQAvAFMAbwB1AHIAYwBlAC8AVwBlAGIA
QwBvAHIAZQAvAHAAbABhAHQAZgBvAHIAbQAvAG4AZQB0AHcAbwByAGsALwBjAHUAcgBsAC8AQwB1
AHIAbABTAFMATABWAGUAcgBpAGYAaQBlAHIALgBjAHAAcAAgAGIALwBTAG8AdQByAGMAZQAvAFcA
ZQBiAEMAbwByAGUALwBwAGwAYQB0AGYAbwByAG0ALwBuAGUAdAB3AG8AcgBrAC8AYwB1AHIAbAAv
AEMAdQByAGwAUwBTAEwAVgBlAHIAaQBmAGkAZQByAC4AYwBwAHAADQAKAGkAbgBkAGUAeAAgADgA
NAA3ADUAZQA1AGMANwA3AGEANQAuAC4AYgA1ADAAYgAwADIAOQBkADYANgBlACAAMQAwADAANgA0
ADQADQAKAC0ALQAtACAAYQAvAFMAbwB1AHIAYwBlAC8AVwBlAGIAQwBvAHIAZQAvAHAAbABhAHQA
ZgBvAHIAbQAvAG4AZQB0AHcAbwByAGsALwBjAHUAcgBsAC8AQwB1AHIAbABTAFMATABWAGUAcgBp
AGYAaQBlAHIALgBjAHAAcAANAAoAKwArACsAIABiAC8AUwBvAHUAcgBjAGUALwBXAGUAYgBDAG8A
cgBlAC8AcABsAGEAdABmAG8AcgBtAC8AbgBlAHQAdwBvAHIAawAvAGMAdQByAGwALwBDAHUAcgBs
AFMAUwBMAFYAZQByAGkAZgBpAGUAcgAuAGMAcABwAA0ACgBAAEAAIAAtADQANAAsADYAIAArADQA
NAAsADEAMgAgAEAAQAAgAEMAdQByAGwAUwBTAEwAVgBlAHIAaQBmAGkAZQByADoAOgBDAHUAcgBs
AFMAUwBMAFYAZQByAGkAZgBpAGUAcgAoAEMAdQByAGwASABhAG4AZABsAGUAKgAgAGMAdQByAGwA
SABhAG4AZABsAGUALAAgAGMAbwBuAHMAdAAgAFMAdAByAGkAbgBnACYAIABoAG8AcwB0AE4AYQBt
AGUALAANAAoAIAAgACAAIAAgAFMAUwBMAF8AQwBUAFgAXwBzAGUAdABfAGEAcABwAF8AZABhAHQA
YQAoAGMAdAB4ACwAIAB0AGgAaQBzACkAOwANAAoAIAAgACAAIAAgAFMAUwBMAF8AQwBUAFgAXwBz
AGUAdABfAHYAZQByAGkAZgB5ACgAYwB0AHgALAAgAFMAUwBMAF8AQwBUAFgAXwBnAGUAdABfAHYA
ZQByAGkAZgB5AF8AbQBvAGQAZQAoAGMAdAB4ACkALAAgAGMAZQByAHQAVgBlAHIAaQBmAHkAQwBh
AGwAbABiAGEAYwBrACkAOwANAAoAIAANAAoAKwAjAGkAZgAgAGQAZQBmAGkAbgBlAGQAKABMAEkA
QgBSAEUAUwBTAEwAXwBWAEUAUgBTAEkATwBOAF8ATgBVAE0AQgBFAFIAKQANAAoAKwAgACAAIAAg
AGMAbwBuAHMAdAAgAGEAdQB0AG8AJgAgAGMAYQBDAGUAcgB0AEQAYQB0AGEAIAA9ACAAcwBzAGwA
SABhAG4AZABsAGUALgBnAGUAdABDAEEAQwBlAHIAdABEAGEAdABhACgAKQA7AA0ACgArACAAIAAg
ACAAaQBmACAAKAAhAGMAYQBDAGUAcgB0AEQAYQB0AGEALgBpAHMARQBtAHAAdAB5ACgAKQApAA0A
CgArACAAIAAgACAAIAAgACAAIABTAFMATABfAEMAVABYAF8AbABvAGEAZABfAHYAZQByAGkAZgB5
AF8AbQBlAG0AKABjAHQAeAAsACAAcwB0AGEAdABpAGMAXwBjAGEAcwB0ADwAdgBvAGkAZAAqAD4A
KABjAG8AbgBzAHQAXwBjAGEAcwB0ADwAYwBoAGEAcgAqAD4AKABjAGEAQwBlAHIAdABEAGEAdABh
AC4AZABhAHQAYQAoACkAKQApACwAIABjAGEAQwBlAHIAdABEAGEAdABhAC4AcwBpAHoAZQAoACkA
KQA7AA0ACgArACMAZQBuAGQAaQBmAA0ACgArAA0ACgAgACMAaQBmACAAKAAhAGQAZQBmAGkAbgBl
AGQAKABMAEkAQgBSAEUAUwBTAEwAXwBWAEUAUgBTAEkATwBOAF8ATgBVAE0AQgBFAFIAKQApAA0A
CgAgACAAIAAgACAAYQB1AHQAbwAgAHMAaQBnAG4AYQB0AHUAcgBlAEEAbABnAG8AcgBpAHQAaABt
AHMATABpAHMAdAAgAD0AIABzAHMAbABIAGEAbgBkAGwAZQAuAGcAZQB0AFMAaQBnAG4AYQB0AHUA
cgBlAEEAbABnAG8AcgBpAHQAaABtAHMATABpAHMAdAAoACkAOwANAAoAIAAgACAAIAAgAGkAZgAg
ACgAIQBzAGkAZwBuAGEAdAB1AHIAZQBBAGwAZwBvAHIAaQB0AGgAbQBzAEwAaQBzAHQALgBpAHMA
RQBtAHAAdAB5ACgAKQApAA0ACgA=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>342842</attachid>
            <date>2018-06-15 13:53:01 -0700</date>
            <delta_ts>2018-06-18 10:43:41 -0700</delta_ts>
            <desc>FIX</desc>
            <filename>185782.diff</filename>
            <type>text/plain</type>
            <size>7365</size>
            <attacher name="Basuke Suzuki">basuke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5M2U1MWJjZWNjMS4uNmY4ZDM0MDE1NmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNSBAQAorMjAxOC0wNi0xNSAgQmFzdWtlIFN1enVraSAgPEJhc3VrZS5TdXp1a2lAc29u
eS5jb20+CisKKyAgICAgICAgW0N1cmxdIEFsbG93IHBhc3NpbmcgY29udGVudHMgb2YgUm9vdCBD
QSBkYXRhIGRpcmVjdGx5LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTg1NzgyCisKKyAgICAgICAgQ3VycmVudGx5IHRoZSBkYXRhIG11c3QgYmUgaW4g
YSBmaWxlIGFuZCBzZXQgYnkgaXRzIHBhdGguIFRoaXMgcGF0Y2gKKyAgICAgICAgYWxsb3cgYXBw
bGljYXRpb24gdG8gc2V0IHJvb3QgQ0EgZGF0YSBieSBwYXNzaW5nIGJpbmFyeSBkYXRhIGRpcmVj
dGx5LgorCisgICAgICAgIFJldmlld2VkIGJ5IFlvdWVubiBGYWJsZXQuCisKKyAgICAgICAgTm8g
bmV3IHRlc3RzLiBUZXN0ZWQgaW50ZXJuYWxseS4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvY3VybC9DdXJsUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDdXJsUmVxdWVzdDo6
c2V0dXBUcmFuc2Zlcik6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxTU0xI
YW5kbGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3VybFNTTEhhbmRsZTo6Q3VybFNTTEhhbmRs
ZSk6CisgICAgICAgIChXZWJDb3JlOjpDdXJsU1NMSGFuZGxlOjpzZXRDQUNlcnRQYXRoKToKKyAg
ICAgICAgKFdlYkNvcmU6OkN1cmxTU0xIYW5kbGU6OnNldENBQ2VydERhdGEpOgorICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsU1NMSGFuZGxlLmg6CisgICAgICAgIChXZWJDb3Jl
OjpDdXJsU1NMSGFuZGxlOjpnZXRDaXBoZXJMaXN0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkN1cmxTU0xIYW5kbGU6OmdldFNpZ25hdHVyZUFsZ29yaXRobXNMaXN0IGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkN1cmxTU0xIYW5kbGU6OmdldEN1cnZlc0xpc3QgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6Q3VybFNTTEhhbmRsZTo6c2V0Q2lwaGVyTGlzdCk6CisgICAgICAgIChXZWJD
b3JlOjpDdXJsU1NMSGFuZGxlOjpzZXRTaWduYXR1cmVBbGdvcml0aG1zTGlzdCk6CisgICAgICAg
IChXZWJDb3JlOjpDdXJsU1NMSGFuZGxlOjpzZXRDdXJ2ZXNMaXN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkN1cmxTU0xIYW5kbGU6OnNldElnbm9yZVNTTEVycm9ycyk6CisgICAgICAgIChXZWJDb3Jl
OjpDdXJsU1NMSGFuZGxlOjpnZXRDQUNlcnRQYXRoIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkN1cmxTU0xIYW5kbGU6OmdldENBQ2VydERhdGEgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
Q3VybFNTTEhhbmRsZTo6c2V0Q0FDZXJ0UGF0aCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZv
cm0vbmV0d29yay9jdXJsL0N1cmxTU0xWZXJpZmllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
dXJsU1NMVmVyaWZpZXI6OkN1cmxTU0xWZXJpZmllcik6CisKIDIwMTgtMDYtMTUgIFphbGFuIEJ1
anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXSBGaXggc3RhdGljIHBvc2l0
aW9uIGxlZnQvdG9wCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L2N1cmwvQ3VybFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
dXJsL0N1cmxSZXF1ZXN0LmNwcAppbmRleCA1YWE3MjhjOTcwNi4uMGQyNTQ3Y2I1NGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsUmVxdWVzdC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxSZXF1ZXN0
LmNwcApAQCAtMjMzLDcgKzIzMyw5IEBAIENVUkwqIEN1cmxSZXF1ZXN0OjpzZXR1cFRyYW5zZmVy
KCkKICAgICAgICAgbV9jdXJsSGFuZGxlLT5zZXRTc2xLZXlQYXNzd29yZChzc2xDbGllbnRDZXJ0
aWZpY2F0ZS0+c2Vjb25kLnV0ZjgoKS5kYXRhKCkpOwogICAgIH0KIAotICAgIG1fY3VybEhhbmRs
ZS0+c2V0Q0FDZXJ0UGF0aChzc2xIYW5kbGUuZ2V0Q0FDZXJ0UGF0aCgpLnV0ZjgoKS5kYXRhKCkp
OworICAgIGNvbnN0IGF1dG8mIGNhQ2VydFBhdGggPSBzc2xIYW5kbGUuZ2V0Q0FDZXJ0UGF0aCgp
OworICAgIGlmICghY2FDZXJ0UGF0aC5pc0VtcHR5KCkpCisgICAgICAgIG1fY3VybEhhbmRsZS0+
c2V0Q0FDZXJ0UGF0aChjYUNlcnRQYXRoLnV0ZjgoKS5kYXRhKCkpOwogCiAgICAgaWYgKG1fc2hv
dWxkU3VzcGVuZCkKICAgICAgICAgc2V0UmVxdWVzdFBhdXNlZCh0cnVlKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsU1NMSGFuZGxlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsU1NMSGFuZGxlLmNwcApp
bmRleCBlODRmNzc2Y2NlMy4uMWQwNGQ4Y2M3NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsU1NMSGFuZGxlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFNTTEhhbmRsZS5jcHAKQEAgLTQ0LDExICs0
NCwxMCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBDdXJsU1NMSGFuZGxlOjpDdXJsU1NMSGFu
ZGxlKCkKLSAgICA6IG1fY2FDZXJ0UGF0aChnZXRDQUNlcnRQYXRoRW52KCkpCiB7Ci0gICAgY2hh
ciogaWdub3JlU1NMRXJyb3JzID0gZ2V0ZW52KCJXRUJLSVRfSUdOT1JFX1NTTF9FUlJPUlMiKTsK
LSAgICBpZiAoaWdub3JlU1NMRXJyb3JzKQotICAgICAgICBtX2lnbm9yZVNTTEVycm9ycyA9IHRy
dWU7CisgICAgYXV0byBjYUNlcnRQYXRoID0gZ2V0Q0FDZXJ0UGF0aEVudigpOworICAgIGlmICgh
Y2FDZXJ0UGF0aC5pc0VtcHR5KCkpCisgICAgICAgIHNldENBQ2VydFBhdGgoV1RGTW92ZShjYUNl
cnRQYXRoKSk7CiAKICNpZiBORUVEX09QRU5TU0xfVEhSRUFEX1NVUFBPUlQKICAgICBUaHJlYWRT
dXBwb3J0OjpzZXR1cCgpOwpAQCAtNzYsNiArNzUsMTggQEAgU3RyaW5nIEN1cmxTU0xIYW5kbGU6
OmdldENBQ2VydFBhdGhFbnYoKQogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAordm9pZCBDdXJs
U1NMSGFuZGxlOjpzZXRDQUNlcnRQYXRoKFN0cmluZyYmIGNhQ2VydFBhdGgpCit7CisgICAgbV9j
YUNlcnRQYXRoID0gV1RGTW92ZShjYUNlcnRQYXRoKTsKKyAgICBtX2NhQ2VydERhdGEuY2xlYXIo
KTsKK30KKwordm9pZCBDdXJsU1NMSGFuZGxlOjpzZXRDQUNlcnREYXRhKFZlY3RvcjxjaGFyPiYm
IGNhQ2VydERhdGEpCit7CisgICAgbV9jYUNlcnRQYXRoID0gU3RyaW5nKCk7CisgICAgbV9jYUNl
cnREYXRhID0gV1RGTW92ZShjYUNlcnREYXRhKTsKK30KKwogdm9pZCBDdXJsU1NMSGFuZGxlOjpz
ZXRIb3N0QWxsb3dzQW55SFRUUFNDZXJ0aWZpY2F0ZShjb25zdCBTdHJpbmcmIGhvc3ROYW1lKQog
ewogICAgIExvY2tIb2xkZXIgbXV0ZXgobV9tdXRleCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFNTTEhhbmRsZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxTU0xIYW5kbGUuaAppbmRleCAxZmY4NDU3YWM3
Mi4uODUxNTFmZjUwMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvY3VybC9DdXJsU1NMSGFuZGxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9jdXJsL0N1cmxTU0xIYW5kbGUuaApAQCAtNTAsMjQgKzUwLDI3IEBAIGNsYXNzIEN1cmxT
U0xIYW5kbGUgewogcHVibGljOgogICAgIEN1cmxTU0xIYW5kbGUoKTsKIAotICAgIFN0cmluZyBn
ZXRDaXBoZXJMaXN0KCkgY29uc3QgeyByZXR1cm4gbV9jaXBoZXJMaXN0OyB9Ci0gICAgU3RyaW5n
IGdldFNpZ25hdHVyZUFsZ29yaXRobXNMaXN0KCkgY29uc3QgeyByZXR1cm4gbV9zaWduYXR1cmVB
bGdvcml0aG1zTGlzdDsgfQotICAgIFN0cmluZyBnZXRDdXJ2ZXNMaXN0KCkgY29uc3QgeyByZXR1
cm4gbV9jdXJ2ZXNMaXN0OyB9CisgICAgY29uc3QgU3RyaW5nJiBnZXRDaXBoZXJMaXN0KCkgY29u
c3QgeyByZXR1cm4gbV9jaXBoZXJMaXN0OyB9CisgICAgY29uc3QgU3RyaW5nJiBnZXRTaWduYXR1
cmVBbGdvcml0aG1zTGlzdCgpIGNvbnN0IHsgcmV0dXJuIG1fc2lnbmF0dXJlQWxnb3JpdGhtc0xp
c3Q7IH0KKyAgICBjb25zdCBTdHJpbmcmIGdldEN1cnZlc0xpc3QoKSBjb25zdCB7IHJldHVybiBt
X2N1cnZlc0xpc3Q7IH0KIAotICAgIHZvaWQgc2V0Q2lwaGVyTGlzdChTdHJpbmcmJiBjaXBoZXJM
aXN0KSB7IG1fY2lwaGVyTGlzdCA9IFdURk1vdmUoY2lwaGVyTGlzdCk7IH0KLSAgICB2b2lkIHNl
dFNpZ25hdHVyZUFsZ29yaXRobXNMaXN0KFN0cmluZyYmIHNpZ25hdHVyZUFsZ29yaXRobXNMaXN0
KSB7IG1fc2lnbmF0dXJlQWxnb3JpdGhtc0xpc3QgPSBXVEZNb3ZlKHNpZ25hdHVyZUFsZ29yaXRo
bXNMaXN0KTsgfQotICAgIHZvaWQgc2V0Q3VydmVzTGlzdChTdHJpbmcmJiBjdXJ2ZXNMaXN0KSB7
IG1fY3VydmVzTGlzdCA9IFdURk1vdmUoY3VydmVzTGlzdCk7IH0KKyAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIHNldENpcGhlckxpc3QoU3RyaW5nJiYgZGF0YSkgeyBtX2NpcGhlckxpc3QgPSBXVEZN
b3ZlKGRhdGEpOyB9CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTaWduYXR1cmVBbGdvcml0
aG1zTGlzdChTdHJpbmcmJiBkYXRhKSB7IG1fc2lnbmF0dXJlQWxnb3JpdGhtc0xpc3QgPSBXVEZN
b3ZlKGRhdGEpOyB9CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRDdXJ2ZXNMaXN0KFN0cmlu
ZyYmIGRhdGEpIHsgbV9jdXJ2ZXNMaXN0ID0gV1RGTW92ZShkYXRhKTsgfQogCiAgICAgYm9vbCBz
aG91bGRJZ25vcmVTU0xFcnJvcnMoKSBjb25zdCB7IHJldHVybiBtX2lnbm9yZVNTTEVycm9yczsg
fQorICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0SWdub3JlU1NMRXJyb3JzKGJvb2wgZmxhZykg
eyBtX2lnbm9yZVNTTEVycm9ycyA9IGZsYWc7IH0KIAotICAgIFN0cmluZyBnZXRDQUNlcnRQYXRo
KCkgY29uc3QgeyByZXR1cm4gbV9jYUNlcnRQYXRoOyB9Ci0gICAgdm9pZCBzZXRDQUNlcnRQYXRo
KFN0cmluZyYmIGNhQ2VydFBhdGgpIHsgbV9jYUNlcnRQYXRoID0gV1RGTW92ZShjYUNlcnRQYXRo
KTsgfQorICAgIGNvbnN0IFN0cmluZyYgZ2V0Q0FDZXJ0UGF0aCgpIGNvbnN0IHsgcmV0dXJuIG1f
Y2FDZXJ0UGF0aDsgfQorICAgIGNvbnN0IFZlY3RvcjxjaGFyPiYgZ2V0Q0FDZXJ0RGF0YSgpIGNv
bnN0IHsgcmV0dXJuIG1fY2FDZXJ0RGF0YTsgfQorICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0
Q0FDZXJ0UGF0aChTdHJpbmcmJik7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRDQUNlcnRE
YXRhKFZlY3RvcjxjaGFyPiYmKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0SG9zdEFs
bG93c0FueUhUVFBTQ2VydGlmaWNhdGUoY29uc3QgU3RyaW5nJik7CiAgICAgYm9vbCBpc0FsbG93
ZWRIVFRQU0NlcnRpZmljYXRlSG9zdChjb25zdCBTdHJpbmcmKTsKICAgICBib29sIGNhbklnbm9y
ZWRIVFRQU0NlcnRpZmljYXRlKGNvbnN0IFN0cmluZyYsIGNvbnN0IExpc3RIYXNoU2V0PFN0cmlu
Zz4mKTsKIAotICAgIHZvaWQgc2V0Q2xpZW50Q2VydGlmaWNhdGVJbmZvKGNvbnN0IFN0cmluZyYs
IGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
c2V0Q2xpZW50Q2VydGlmaWNhdGVJbmZvKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIGNv
bnN0IFN0cmluZyYpOwogICAgIHN0ZDo6b3B0aW9uYWw8Q2xpZW50Q2VydGlmaWNhdGU+IGdldFNT
TENsaWVudENlcnRpZmljYXRlKGNvbnN0IFN0cmluZyYpOwogCiBwcml2YXRlOgpAQCAtMTAwLDEz
ICsxMDMsMTMgQEAgcHJpdmF0ZToKIAogICAgIFN0cmluZyBnZXRDQUNlcnRQYXRoRW52KCk7CiAK
LSAgICBib29sIG1faWdub3JlU1NMRXJyb3JzIHsgZmFsc2UgfTsKLQogICAgIFN0cmluZyBtX2Np
cGhlckxpc3Q7CiAgICAgU3RyaW5nIG1fc2lnbmF0dXJlQWxnb3JpdGhtc0xpc3Q7CiAgICAgU3Ry
aW5nIG1fY3VydmVzTGlzdDsKLQogICAgIFN0cmluZyBtX2NhQ2VydFBhdGg7CisgICAgVmVjdG9y
PGNoYXI+IG1fY2FDZXJ0RGF0YTsKKworICAgIGJvb2wgbV9pZ25vcmVTU0xFcnJvcnMgeyBmYWxz
ZSB9OwogCiAgICAgTG9jayBtX211dGV4OwogICAgIEhhc2hNYXA8U3RyaW5nLCBMaXN0SGFzaFNl
dDxTdHJpbmc+LCBBU0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2g+IG1fYWxsb3dlZEhvc3RzOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxTU0xWZXJp
Zmllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFNTTFZl
cmlmaWVyLmNwcAppbmRleCA4NDc1ZTVjNzdhNS4uYjUwYjAyOWQ2NmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsU1NMVmVyaWZpZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsU1NMVmVyaWZpZXIu
Y3BwCkBAIC00NCw2ICs0NCwxMiBAQCBDdXJsU1NMVmVyaWZpZXI6OkN1cmxTU0xWZXJpZmllcihD
dXJsSGFuZGxlKiBjdXJsSGFuZGxlLCBjb25zdCBTdHJpbmcmIGhvc3ROYW1lLAogICAgIFNTTF9D
VFhfc2V0X2FwcF9kYXRhKGN0eCwgdGhpcyk7CiAgICAgU1NMX0NUWF9zZXRfdmVyaWZ5KGN0eCwg
U1NMX0NUWF9nZXRfdmVyaWZ5X21vZGUoY3R4KSwgY2VydFZlcmlmeUNhbGxiYWNrKTsKIAorI2lm
IGRlZmluZWQoTElCUkVTU0xfVkVSU0lPTl9OVU1CRVIpCisgICAgY29uc3QgYXV0byYgY2FDZXJ0
RGF0YSA9IHNzbEhhbmRsZS5nZXRDQUNlcnREYXRhKCk7CisgICAgaWYgKCFjYUNlcnREYXRhLmlz
RW1wdHkoKSkKKyAgICAgICAgU1NMX0NUWF9sb2FkX3ZlcmlmeV9tZW0oY3R4LCBzdGF0aWNfY2Fz
dDx2b2lkKj4oY29uc3RfY2FzdDxjaGFyKj4oY2FDZXJ0RGF0YS5kYXRhKCkpKSwgY2FDZXJ0RGF0
YS5zaXplKCkpOworI2VuZGlmCisKICNpZiAoIWRlZmluZWQoTElCUkVTU0xfVkVSU0lPTl9OVU1C
RVIpKQogICAgIGF1dG8gc2lnbmF0dXJlQWxnb3JpdGhtc0xpc3QgPSBzc2xIYW5kbGUuZ2V0U2ln
bmF0dXJlQWxnb3JpdGhtc0xpc3QoKTsKICAgICBpZiAoIXNpZ25hdHVyZUFsZ29yaXRobXNMaXN0
LmlzRW1wdHkoKSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>342950</attachid>
            <date>2018-06-18 10:43:41 -0700</date>
            <delta_ts>2018-06-18 11:14:00 -0700</delta_ts>
            <desc>PATCH</desc>
            <filename>185782.diff</filename>
            <type>text/plain</type>
            <size>8588</size>
            <attacher name="Basuke Suzuki">basuke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5M2U1MWJjZWNjMS4uMmFlNjEwNzNkNjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNyBAQAorMjAxOC0wNi0xOCAgQmFzdWtlIFN1enVraSAgPEJhc3VrZS5TdXp1a2lAc29u
eS5jb20+CisKKyAgICAgICAgW0N1cmxdIEFsbG93IHBhc3NpbmcgY29udGVudHMgb2YgUm9vdCBD
QSBkYXRhIGRpcmVjdGx5LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTg1NzgyCisKKyAgICAgICAgQ3VycmVudGx5IHRoZSBkYXRhIG11c3QgYmUgaW4g
YSBmaWxlIGFuZCBzZXQgYnkgaXRzIHBhdGguIFRoaXMgcGF0Y2gKKyAgICAgICAgYWxsb3cgYXBw
bGljYXRpb24gdG8gc2V0IHJvb3QgQ0EgZGF0YSBieSBwYXNzaW5nIGJpbmFyeSBkYXRhIGRpcmVj
dGx5LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5v
IG5ldyB0ZXN0cy4gVGVzdGVkIGludGVybmFsbHkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL2N1cmwvQ3VybFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3VybFJlcXVlc3Q6
OnNldHVwVHJhbnNmZXIpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsU1NM
SGFuZGxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkN1cmxTU0xIYW5kbGU6OkN1cmxTU0xIYW5k
bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q3VybFNTTEhhbmRsZTo6Z2V0Q0FDZXJ0UGF0aEVudik6
CisgICAgICAgIChXZWJDb3JlOjpDdXJsU1NMSGFuZGxlOjpzZXRDQUNlcnRQYXRoKToKKyAgICAg
ICAgKFdlYkNvcmU6OkN1cmxTU0xIYW5kbGU6OnNldENBQ2VydERhdGEpOgorICAgICAgICAoV2Vi
Q29yZTo6Q3VybFNTTEhhbmRsZTo6Y2xlYXJDQUNlcnRJbmZvKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9uZXR3b3JrL2N1cmwvQ3VybFNTTEhhbmRsZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q3VybFNT
TEhhbmRsZTo6Z2V0Q2lwaGVyTGlzdCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDdXJsU1NM
SGFuZGxlOjpnZXRTaWduYXR1cmVBbGdvcml0aG1zTGlzdCBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpDdXJsU1NMSGFuZGxlOjpnZXRDdXJ2ZXNMaXN0IGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkN1cmxTU0xIYW5kbGU6OnNldENpcGhlckxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q3Vy
bFNTTEhhbmRsZTo6c2V0U2lnbmF0dXJlQWxnb3JpdGhtc0xpc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6Q3VybFNTTEhhbmRsZTo6c2V0Q3VydmVzTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpDdXJs
U1NMSGFuZGxlOjpzZXRJZ25vcmVTU0xFcnJvcnMpOgorICAgICAgICAoV2ViQ29yZTo6Q3VybFNT
TEhhbmRsZTo6Z2V0Q0FDZXJ0SW5mbyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDdXJsU1NM
SGFuZGxlOjpnZXRDQUNlcnRQYXRoIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkN1cmxTU0xIYW5kbGU6OnNldENBQ2VydFBhdGgpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRm
b3JtL25ldHdvcmsvY3VybC9DdXJsU1NMVmVyaWZpZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q3VybFNTTFZlcmlmaWVyOjpDdXJsU1NMVmVyaWZpZXIpOgorCiAyMDE4LTA2LTE1ICBaYWxhbiBC
dWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ10gRml4IHN0YXRpYyBwb3Np
dGlvbiBsZWZ0L3RvcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jdXJsL0N1cmxSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
Y3VybC9DdXJsUmVxdWVzdC5jcHAKaW5kZXggNWFhNzI4Yzk3MDYuLjkxZjE3ZTQyYmVmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFJlcXVlc3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsUmVxdWVz
dC5jcHAKQEAgLTIzMyw3ICsyMzMsOCBAQCBDVVJMKiBDdXJsUmVxdWVzdDo6c2V0dXBUcmFuc2Zl
cigpCiAgICAgICAgIG1fY3VybEhhbmRsZS0+c2V0U3NsS2V5UGFzc3dvcmQoc3NsQ2xpZW50Q2Vy
dGlmaWNhdGUtPnNlY29uZC51dGY4KCkuZGF0YSgpKTsKICAgICB9CiAKLSAgICBtX2N1cmxIYW5k
bGUtPnNldENBQ2VydFBhdGgoc3NsSGFuZGxlLmdldENBQ2VydFBhdGgoKS51dGY4KCkuZGF0YSgp
KTsKKyAgICBpZiAoYXV0byBwYXRoID0gV1RGOjpnZXRfaWY8U3RyaW5nPihzc2xIYW5kbGUuZ2V0
Q0FDZXJ0SW5mbygpKSkKKyAgICAgICAgbV9jdXJsSGFuZGxlLT5zZXRDQUNlcnRQYXRoKHBhdGgt
PnV0ZjgoKS5kYXRhKCkpOwogCiAgICAgaWYgKG1fc2hvdWxkU3VzcGVuZCkKICAgICAgICAgc2V0
UmVxdWVzdFBhdXNlZCh0cnVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvY3VybC9DdXJsU1NMSGFuZGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvY3VybC9DdXJsU1NMSGFuZGxlLmNwcAppbmRleCBlODRmNzc2Y2NlMy4uNGM1YzBl
ODQ5ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9D
dXJsU1NMSGFuZGxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1
cmwvQ3VybFNTTEhhbmRsZS5jcHAKQEAgLTQ0LDExICs0NCwxMCBAQAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBDdXJsU1NMSGFuZGxlOjpDdXJsU1NMSGFuZGxlKCkKLSAgICA6IG1fY2FDZXJ0UGF0
aChnZXRDQUNlcnRQYXRoRW52KCkpCiB7Ci0gICAgY2hhciogaWdub3JlU1NMRXJyb3JzID0gZ2V0
ZW52KCJXRUJLSVRfSUdOT1JFX1NTTF9FUlJPUlMiKTsKLSAgICBpZiAoaWdub3JlU1NMRXJyb3Jz
KQotICAgICAgICBtX2lnbm9yZVNTTEVycm9ycyA9IHRydWU7CisgICAgYXV0byBjYUNlcnRQYXRo
ID0gZ2V0Q0FDZXJ0UGF0aEVudigpOworICAgIGlmICghY2FDZXJ0UGF0aC5pc0VtcHR5KCkpCisg
ICAgICAgIHNldENBQ2VydFBhdGgoV1RGTW92ZShjYUNlcnRQYXRoKSk7CiAKICNpZiBORUVEX09Q
RU5TU0xfVEhSRUFEX1NVUFBPUlQKICAgICBUaHJlYWRTdXBwb3J0OjpzZXR1cCgpOwpAQCAtNjcs
OCArNjYsOCBAQCBTdHJpbmcgQ3VybFNTTEhhbmRsZTo6Z2V0Q0FDZXJ0UGF0aEVudigpCiAgICAg
ICAgIFJldGFpblB0cjxDRlVSTFJlZj4gY2VydFVSTFJlZiA9IGFkb3B0Q0YoQ0ZCdW5kbGVDb3B5
UmVzb3VyY2VVUkwod2ViS2l0QnVuZGxlUmVmLCBDRlNUUigiY2FjZXJ0IiksIENGU1RSKCJwZW0i
KSwgQ0ZTVFIoImNlcnRpZmljYXRlcyIpKSk7CiAgICAgICAgIGlmIChjZXJ0VVJMUmVmKSB7CiAg
ICAgICAgICAgICBjaGFyIHBhdGhbTUFYX1BBVEhdOwotICAgICAgICAgICAgQ0ZVUkxHZXRGaWxl
U3lzdGVtUmVwcmVzZW50YXRpb24oY2VydFVSTFJlZi5nZXQoKSwgZmFsc2UsIHJlaW50ZXJwcmV0
X2Nhc3Q8VUludDgqPihwYXRoKSwgTUFYX1BBVEgpOwotICAgICAgICAgICAgcmV0dXJuIFN0cmlu
ZyhwYXRoKTsKKyAgICAgICAgICAgIGlmIChDRlVSTEdldEZpbGVTeXN0ZW1SZXByZXNlbnRhdGlv
bihjZXJ0VVJMUmVmLmdldCgpLCBmYWxzZSwgcmVpbnRlcnByZXRfY2FzdDxVSW50OCo+KHBhdGgp
LCBNQVhfUEFUSCkgJiYgKnBhdGgpCisgICAgICAgICAgICAgICAgcmV0dXJuIFN0cmluZyhwYXRo
KTsKICAgICAgICAgfQogICAgIH0KICNlbmRpZgpAQCAtNzYsNiArNzUsMjMgQEAgU3RyaW5nIEN1
cmxTU0xIYW5kbGU6OmdldENBQ2VydFBhdGhFbnYoKQogICAgIHJldHVybiBTdHJpbmcoKTsKIH0K
IAordm9pZCBDdXJsU1NMSGFuZGxlOjpzZXRDQUNlcnRQYXRoKFN0cmluZyYmIGNhQ2VydFBhdGgp
Cit7CisgICAgUkVMRUFTRV9BU1NFUlQoIWNhQ2VydFBhdGguaXNFbXB0eSgpKTsKKyAgICBtX2Nh
Q2VydEluZm8gPSBXVEZNb3ZlKGNhQ2VydFBhdGgpOworfQorCit2b2lkIEN1cmxTU0xIYW5kbGU6
OnNldENBQ2VydERhdGEoVmVjdG9yPGNoYXI+JiYgY2FDZXJ0RGF0YSkKK3sKKyAgICBSRUxFQVNF
X0FTU0VSVCghY2FDZXJ0RGF0YS5pc0VtcHR5KCkpOworICAgIG1fY2FDZXJ0SW5mbyA9IFdURk1v
dmUoY2FDZXJ0RGF0YSk7Cit9CisKK3ZvaWQgQ3VybFNTTEhhbmRsZTo6Y2xlYXJDQUNlcnRJbmZv
KCkKK3sKKyAgICBtX2NhQ2VydEluZm8gPSBXVEY6Ok1vbm9zdGF0ZSB7IH07Cit9CisKIHZvaWQg
Q3VybFNTTEhhbmRsZTo6c2V0SG9zdEFsbG93c0FueUhUVFBTQ2VydGlmaWNhdGUoY29uc3QgU3Ry
aW5nJiBob3N0TmFtZSkKIHsKICAgICBMb2NrSG9sZGVyIG11dGV4KG1fbXV0ZXgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxTU0xIYW5kbGUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsU1NMSGFuZGxlLmgK
aW5kZXggMWZmODQ1N2FjNzIuLjBhOTFjNDIxNzY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFNTTEhhbmRsZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsU1NMSGFuZGxlLmgKQEAgLTMyLDYgKzMyLDcg
QEAKICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CisjaW5jbHVkZSA8d3Rm
L1ZhcmlhbnQuaD4KIAogLy8gYWxsIHZlcnNpb24gb2YgTGlicmVTU0wgYW5kIE9wZW5TU0wgcHJp
b3IgdG8gMS4xLjAgbmVlZCB0aHJlYWQgc3VwcG9ydAogI2lmIGRlZmluZWQoTElCUkVTU0xfVkVS
U0lPTl9OVU1CRVIpIHx8IChkZWZpbmVkKE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIpICYmIE9QRU5T
U0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDBmTCkKQEAgLTQ4LDI2ICs0OSwzMSBAQCBjbGFz
cyBDdXJsU1NMSGFuZGxlIHsKICAgICB1c2luZyBDbGllbnRDZXJ0aWZpY2F0ZSA9IHN0ZDo6cGFp
cjxTdHJpbmcsIFN0cmluZz47CiAKIHB1YmxpYzoKKyAgICB1c2luZyBDQUNlcnRJbmZvID0gVmFy
aWFudDxNb25vc3RhdGUsIFN0cmluZywgVmVjdG9yPGNoYXI+PjsKKwogICAgIEN1cmxTU0xIYW5k
bGUoKTsKIAotICAgIFN0cmluZyBnZXRDaXBoZXJMaXN0KCkgY29uc3QgeyByZXR1cm4gbV9jaXBo
ZXJMaXN0OyB9Ci0gICAgU3RyaW5nIGdldFNpZ25hdHVyZUFsZ29yaXRobXNMaXN0KCkgY29uc3Qg
eyByZXR1cm4gbV9zaWduYXR1cmVBbGdvcml0aG1zTGlzdDsgfQotICAgIFN0cmluZyBnZXRDdXJ2
ZXNMaXN0KCkgY29uc3QgeyByZXR1cm4gbV9jdXJ2ZXNMaXN0OyB9CisgICAgY29uc3QgU3RyaW5n
JiBnZXRDaXBoZXJMaXN0KCkgY29uc3QgeyByZXR1cm4gbV9jaXBoZXJMaXN0OyB9CisgICAgY29u
c3QgU3RyaW5nJiBnZXRTaWduYXR1cmVBbGdvcml0aG1zTGlzdCgpIGNvbnN0IHsgcmV0dXJuIG1f
c2lnbmF0dXJlQWxnb3JpdGhtc0xpc3Q7IH0KKyAgICBjb25zdCBTdHJpbmcmIGdldEN1cnZlc0xp
c3QoKSBjb25zdCB7IHJldHVybiBtX2N1cnZlc0xpc3Q7IH0KIAotICAgIHZvaWQgc2V0Q2lwaGVy
TGlzdChTdHJpbmcmJiBjaXBoZXJMaXN0KSB7IG1fY2lwaGVyTGlzdCA9IFdURk1vdmUoY2lwaGVy
TGlzdCk7IH0KLSAgICB2b2lkIHNldFNpZ25hdHVyZUFsZ29yaXRobXNMaXN0KFN0cmluZyYmIHNp
Z25hdHVyZUFsZ29yaXRobXNMaXN0KSB7IG1fc2lnbmF0dXJlQWxnb3JpdGhtc0xpc3QgPSBXVEZN
b3ZlKHNpZ25hdHVyZUFsZ29yaXRobXNMaXN0KTsgfQotICAgIHZvaWQgc2V0Q3VydmVzTGlzdChT
dHJpbmcmJiBjdXJ2ZXNMaXN0KSB7IG1fY3VydmVzTGlzdCA9IFdURk1vdmUoY3VydmVzTGlzdCk7
IH0KKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldENpcGhlckxpc3QoU3RyaW5nJiYgZGF0YSkg
eyBtX2NpcGhlckxpc3QgPSBXVEZNb3ZlKGRhdGEpOyB9CisgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBzZXRTaWduYXR1cmVBbGdvcml0aG1zTGlzdChTdHJpbmcmJiBkYXRhKSB7IG1fc2lnbmF0dXJl
QWxnb3JpdGhtc0xpc3QgPSBXVEZNb3ZlKGRhdGEpOyB9CisgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBzZXRDdXJ2ZXNMaXN0KFN0cmluZyYmIGRhdGEpIHsgbV9jdXJ2ZXNMaXN0ID0gV1RGTW92ZShk
YXRhKTsgfQogCiAgICAgYm9vbCBzaG91bGRJZ25vcmVTU0xFcnJvcnMoKSBjb25zdCB7IHJldHVy
biBtX2lnbm9yZVNTTEVycm9yczsgfQorICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0SWdub3Jl
U1NMRXJyb3JzKGJvb2wgZmxhZykgeyBtX2lnbm9yZVNTTEVycm9ycyA9IGZsYWc7IH0KIAotICAg
IFN0cmluZyBnZXRDQUNlcnRQYXRoKCkgY29uc3QgeyByZXR1cm4gbV9jYUNlcnRQYXRoOyB9Ci0g
ICAgdm9pZCBzZXRDQUNlcnRQYXRoKFN0cmluZyYmIGNhQ2VydFBhdGgpIHsgbV9jYUNlcnRQYXRo
ID0gV1RGTW92ZShjYUNlcnRQYXRoKTsgfQorICAgIGNvbnN0IENBQ2VydEluZm8mIGdldENBQ2Vy
dEluZm8oKSBjb25zdCB7IHJldHVybiBtX2NhQ2VydEluZm87IH0KKyAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIHNldENBQ2VydFBhdGgoU3RyaW5nJiYpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
c2V0Q0FDZXJ0RGF0YShWZWN0b3I8Y2hhcj4mJik7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBj
bGVhckNBQ2VydEluZm8oKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0SG9zdEFsbG93
c0FueUhUVFBTQ2VydGlmaWNhdGUoY29uc3QgU3RyaW5nJik7CiAgICAgYm9vbCBpc0FsbG93ZWRI
VFRQU0NlcnRpZmljYXRlSG9zdChjb25zdCBTdHJpbmcmKTsKICAgICBib29sIGNhbklnbm9yZWRI
VFRQU0NlcnRpZmljYXRlKGNvbnN0IFN0cmluZyYsIGNvbnN0IExpc3RIYXNoU2V0PFN0cmluZz4m
KTsKIAotICAgIHZvaWQgc2V0Q2xpZW50Q2VydGlmaWNhdGVJbmZvKGNvbnN0IFN0cmluZyYsIGNv
bnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0
Q2xpZW50Q2VydGlmaWNhdGVJbmZvKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIGNvbnN0
IFN0cmluZyYpOwogICAgIHN0ZDo6b3B0aW9uYWw8Q2xpZW50Q2VydGlmaWNhdGU+IGdldFNTTENs
aWVudENlcnRpZmljYXRlKGNvbnN0IFN0cmluZyYpOwogCiBwcml2YXRlOgpAQCAtMTAwLDEzICsx
MDYsMTIgQEAgcHJpdmF0ZToKIAogICAgIFN0cmluZyBnZXRDQUNlcnRQYXRoRW52KCk7CiAKLSAg
ICBib29sIG1faWdub3JlU1NMRXJyb3JzIHsgZmFsc2UgfTsKLQogICAgIFN0cmluZyBtX2NpcGhl
ckxpc3Q7CiAgICAgU3RyaW5nIG1fc2lnbmF0dXJlQWxnb3JpdGhtc0xpc3Q7CiAgICAgU3RyaW5n
IG1fY3VydmVzTGlzdDsKKyAgICBDQUNlcnRJbmZvIG1fY2FDZXJ0SW5mbzsKIAotICAgIFN0cmlu
ZyBtX2NhQ2VydFBhdGg7CisgICAgYm9vbCBtX2lnbm9yZVNTTEVycm9ycyB7IGZhbHNlIH07CiAK
ICAgICBMb2NrIG1fbXV0ZXg7CiAgICAgSGFzaE1hcDxTdHJpbmcsIExpc3RIYXNoU2V0PFN0cmlu
Zz4sIEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaD4gbV9hbGxvd2VkSG9zdHM7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFNTTFZlcmlmaWVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsU1NMVmVyaWZpZXIu
Y3BwCmluZGV4IDg0NzVlNWM3N2E1Li4zMjA5YzhiMGRhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxTU0xWZXJpZmllci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxTU0xWZXJpZmllci5jcHAKQEAg
LTQ0LDYgKzQ0LDExIEBAIEN1cmxTU0xWZXJpZmllcjo6Q3VybFNTTFZlcmlmaWVyKEN1cmxIYW5k
bGUqIGN1cmxIYW5kbGUsIGNvbnN0IFN0cmluZyYgaG9zdE5hbWUsCiAgICAgU1NMX0NUWF9zZXRf
YXBwX2RhdGEoY3R4LCB0aGlzKTsKICAgICBTU0xfQ1RYX3NldF92ZXJpZnkoY3R4LCBTU0xfQ1RY
X2dldF92ZXJpZnlfbW9kZShjdHgpLCBjZXJ0VmVyaWZ5Q2FsbGJhY2spOwogCisjaWYgZGVmaW5l
ZChMSUJSRVNTTF9WRVJTSU9OX05VTUJFUikKKyAgICBpZiAoYXV0byBkYXRhID0gV1RGOjpnZXRf
aWY8VmVjdG9yPGNoYXI+Pihzc2xIYW5kbGUuZ2V0Q0FDZXJ0SW5mbygpKSkKKyAgICAgICAgU1NM
X0NUWF9sb2FkX3ZlcmlmeV9tZW0oY3R4LCBzdGF0aWNfY2FzdDx2b2lkKj4oY29uc3RfY2FzdDxj
aGFyKj4oZGF0YS0+ZGF0YSgpKSksIGRhdGEtPnNpemUoKSk7CisjZW5kaWYKKwogI2lmICghZGVm
aW5lZChMSUJSRVNTTF9WRVJTSU9OX05VTUJFUikpCiAgICAgYXV0byBzaWduYXR1cmVBbGdvcml0
aG1zTGlzdCA9IHNzbEhhbmRsZS5nZXRTaWduYXR1cmVBbGdvcml0aG1zTGlzdCgpOwogICAgIGlm
ICghc2lnbmF0dXJlQWxnb3JpdGhtc0xpc3QuaXNFbXB0eSgpKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>342954</attachid>
            <date>2018-06-18 11:14:00 -0700</date>
            <delta_ts>2018-06-19 19:58:33 -0700</delta_ts>
            <desc>FIX</desc>
            <filename>185782.diff</filename>
            <type>text/plain</type>
            <size>8503</size>
            <attacher name="Basuke Suzuki">basuke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5M2U1MWJjZWNjMS4uMmFlNjEwNzNkNjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNyBAQAorMjAxOC0wNi0xOCAgQmFzdWtlIFN1enVraSAgPEJhc3VrZS5TdXp1a2lAc29u
eS5jb20+CisKKyAgICAgICAgW0N1cmxdIEFsbG93IHBhc3NpbmcgY29udGVudHMgb2YgUm9vdCBD
QSBkYXRhIGRpcmVjdGx5LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTg1NzgyCisKKyAgICAgICAgQ3VycmVudGx5IHRoZSBkYXRhIG11c3QgYmUgaW4g
YSBmaWxlIGFuZCBzZXQgYnkgaXRzIHBhdGguIFRoaXMgcGF0Y2gKKyAgICAgICAgYWxsb3cgYXBw
bGljYXRpb24gdG8gc2V0IHJvb3QgQ0EgZGF0YSBieSBwYXNzaW5nIGJpbmFyeSBkYXRhIGRpcmVj
dGx5LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5v
IG5ldyB0ZXN0cy4gVGVzdGVkIGludGVybmFsbHkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL2N1cmwvQ3VybFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3VybFJlcXVlc3Q6
OnNldHVwVHJhbnNmZXIpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsU1NM
SGFuZGxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkN1cmxTU0xIYW5kbGU6OkN1cmxTU0xIYW5k
bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q3VybFNTTEhhbmRsZTo6Z2V0Q0FDZXJ0UGF0aEVudik6
CisgICAgICAgIChXZWJDb3JlOjpDdXJsU1NMSGFuZGxlOjpzZXRDQUNlcnRQYXRoKToKKyAgICAg
ICAgKFdlYkNvcmU6OkN1cmxTU0xIYW5kbGU6OnNldENBQ2VydERhdGEpOgorICAgICAgICAoV2Vi
Q29yZTo6Q3VybFNTTEhhbmRsZTo6Y2xlYXJDQUNlcnRJbmZvKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9uZXR3b3JrL2N1cmwvQ3VybFNTTEhhbmRsZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q3VybFNT
TEhhbmRsZTo6Z2V0Q2lwaGVyTGlzdCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDdXJsU1NM
SGFuZGxlOjpnZXRTaWduYXR1cmVBbGdvcml0aG1zTGlzdCBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpDdXJsU1NMSGFuZGxlOjpnZXRDdXJ2ZXNMaXN0IGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkN1cmxTU0xIYW5kbGU6OnNldENpcGhlckxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q3Vy
bFNTTEhhbmRsZTo6c2V0U2lnbmF0dXJlQWxnb3JpdGhtc0xpc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6Q3VybFNTTEhhbmRsZTo6c2V0Q3VydmVzTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpDdXJs
U1NMSGFuZGxlOjpzZXRJZ25vcmVTU0xFcnJvcnMpOgorICAgICAgICAoV2ViQ29yZTo6Q3VybFNT
TEhhbmRsZTo6Z2V0Q0FDZXJ0SW5mbyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDdXJsU1NM
SGFuZGxlOjpnZXRDQUNlcnRQYXRoIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkN1cmxTU0xIYW5kbGU6OnNldENBQ2VydFBhdGgpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRm
b3JtL25ldHdvcmsvY3VybC9DdXJsU1NMVmVyaWZpZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q3VybFNTTFZlcmlmaWVyOjpDdXJsU1NMVmVyaWZpZXIpOgorCiAyMDE4LTA2LTE1ICBaYWxhbiBC
dWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ10gRml4IHN0YXRpYyBwb3Np
dGlvbiBsZWZ0L3RvcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jdXJsL0N1cmxSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
Y3VybC9DdXJsUmVxdWVzdC5jcHAKaW5kZXggNWFhNzI4Yzk3MDYuLjkxZjE3ZTQyYmVmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFJlcXVlc3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsUmVxdWVz
dC5jcHAKQEAgLTIzMyw3ICsyMzMsOCBAQCBDVVJMKiBDdXJsUmVxdWVzdDo6c2V0dXBUcmFuc2Zl
cigpCiAgICAgICAgIG1fY3VybEhhbmRsZS0+c2V0U3NsS2V5UGFzc3dvcmQoc3NsQ2xpZW50Q2Vy
dGlmaWNhdGUtPnNlY29uZC51dGY4KCkuZGF0YSgpKTsKICAgICB9CiAKLSAgICBtX2N1cmxIYW5k
bGUtPnNldENBQ2VydFBhdGgoc3NsSGFuZGxlLmdldENBQ2VydFBhdGgoKS51dGY4KCkuZGF0YSgp
KTsKKyAgICBpZiAoYXV0byBwYXRoID0gV1RGOjpnZXRfaWY8U3RyaW5nPihzc2xIYW5kbGUuZ2V0
Q0FDZXJ0SW5mbygpKSkKKyAgICAgICAgbV9jdXJsSGFuZGxlLT5zZXRDQUNlcnRQYXRoKHBhdGgt
PnV0ZjgoKS5kYXRhKCkpOwogCiAgICAgaWYgKG1fc2hvdWxkU3VzcGVuZCkKICAgICAgICAgc2V0
UmVxdWVzdFBhdXNlZCh0cnVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvY3VybC9DdXJsU1NMSGFuZGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvY3VybC9DdXJsU1NMSGFuZGxlLmNwcAppbmRleCBlODRmNzc2Y2NlMy4uNGM1YzBl
ODQ5ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9D
dXJsU1NMSGFuZGxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1
cmwvQ3VybFNTTEhhbmRsZS5jcHAKQEAgLTQ0LDExICs0NCwxMCBAQAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBDdXJsU1NMSGFuZGxlOjpDdXJsU1NMSGFuZGxlKCkKLSAgICA6IG1fY2FDZXJ0UGF0
aChnZXRDQUNlcnRQYXRoRW52KCkpCiB7Ci0gICAgY2hhciogaWdub3JlU1NMRXJyb3JzID0gZ2V0
ZW52KCJXRUJLSVRfSUdOT1JFX1NTTF9FUlJPUlMiKTsKLSAgICBpZiAoaWdub3JlU1NMRXJyb3Jz
KQotICAgICAgICBtX2lnbm9yZVNTTEVycm9ycyA9IHRydWU7CisgICAgYXV0byBjYUNlcnRQYXRo
ID0gZ2V0Q0FDZXJ0UGF0aEVudigpOworICAgIGlmICghY2FDZXJ0UGF0aC5pc0VtcHR5KCkpCisg
ICAgICAgIHNldENBQ2VydFBhdGgoV1RGTW92ZShjYUNlcnRQYXRoKSk7CiAKICNpZiBORUVEX09Q
RU5TU0xfVEhSRUFEX1NVUFBPUlQKICAgICBUaHJlYWRTdXBwb3J0OjpzZXR1cCgpOwpAQCAtNjcs
OCArNjYsOCBAQCBTdHJpbmcgQ3VybFNTTEhhbmRsZTo6Z2V0Q0FDZXJ0UGF0aEVudigpCiAgICAg
ICAgIFJldGFpblB0cjxDRlVSTFJlZj4gY2VydFVSTFJlZiA9IGFkb3B0Q0YoQ0ZCdW5kbGVDb3B5
UmVzb3VyY2VVUkwod2ViS2l0QnVuZGxlUmVmLCBDRlNUUigiY2FjZXJ0IiksIENGU1RSKCJwZW0i
KSwgQ0ZTVFIoImNlcnRpZmljYXRlcyIpKSk7CiAgICAgICAgIGlmIChjZXJ0VVJMUmVmKSB7CiAg
ICAgICAgICAgICBjaGFyIHBhdGhbTUFYX1BBVEhdOwotICAgICAgICAgICAgQ0ZVUkxHZXRGaWxl
U3lzdGVtUmVwcmVzZW50YXRpb24oY2VydFVSTFJlZi5nZXQoKSwgZmFsc2UsIHJlaW50ZXJwcmV0
X2Nhc3Q8VUludDgqPihwYXRoKSwgTUFYX1BBVEgpOwotICAgICAgICAgICAgcmV0dXJuIFN0cmlu
ZyhwYXRoKTsKKyAgICAgICAgICAgIGlmIChDRlVSTEdldEZpbGVTeXN0ZW1SZXByZXNlbnRhdGlv
bihjZXJ0VVJMUmVmLmdldCgpLCBmYWxzZSwgcmVpbnRlcnByZXRfY2FzdDxVSW50OCo+KHBhdGgp
LCBNQVhfUEFUSCkgJiYgKnBhdGgpCisgICAgICAgICAgICAgICAgcmV0dXJuIFN0cmluZyhwYXRo
KTsKICAgICAgICAgfQogICAgIH0KICNlbmRpZgpAQCAtNzYsNiArNzUsMjMgQEAgU3RyaW5nIEN1
cmxTU0xIYW5kbGU6OmdldENBQ2VydFBhdGhFbnYoKQogICAgIHJldHVybiBTdHJpbmcoKTsKIH0K
IAordm9pZCBDdXJsU1NMSGFuZGxlOjpzZXRDQUNlcnRQYXRoKFN0cmluZyYmIGNhQ2VydFBhdGgp
Cit7CisgICAgUkVMRUFTRV9BU1NFUlQoIWNhQ2VydFBhdGguaXNFbXB0eSgpKTsKKyAgICBtX2Nh
Q2VydEluZm8gPSBXVEZNb3ZlKGNhQ2VydFBhdGgpOworfQorCit2b2lkIEN1cmxTU0xIYW5kbGU6
OnNldENBQ2VydERhdGEoVmVjdG9yPGNoYXI+JiYgY2FDZXJ0RGF0YSkKK3sKKyAgICBSRUxFQVNF
X0FTU0VSVCghY2FDZXJ0RGF0YS5pc0VtcHR5KCkpOworICAgIG1fY2FDZXJ0SW5mbyA9IFdURk1v
dmUoY2FDZXJ0RGF0YSk7Cit9CisKK3ZvaWQgQ3VybFNTTEhhbmRsZTo6Y2xlYXJDQUNlcnRJbmZv
KCkKK3sKKyAgICBtX2NhQ2VydEluZm8gPSBXVEY6Ok1vbm9zdGF0ZSB7IH07Cit9CisKIHZvaWQg
Q3VybFNTTEhhbmRsZTo6c2V0SG9zdEFsbG93c0FueUhUVFBTQ2VydGlmaWNhdGUoY29uc3QgU3Ry
aW5nJiBob3N0TmFtZSkKIHsKICAgICBMb2NrSG9sZGVyIG11dGV4KG1fbXV0ZXgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxTU0xIYW5kbGUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsU1NMSGFuZGxlLmgK
aW5kZXggMWZmODQ1N2FjNzIuLjZkNTdmNTNlZjBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFNTTEhhbmRsZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsU1NMSGFuZGxlLmgKQEAgLTMxLDYgKzMxLDcg
QEAKICNpbmNsdWRlIDx3dGYvTGlzdEhhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0
cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKyNpbmNsdWRlIDx3dGYvVmFy
aWFudC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAogLy8gYWxsIHZlcnNp
b24gb2YgTGlicmVTU0wgYW5kIE9wZW5TU0wgcHJpb3IgdG8gMS4xLjAgbmVlZCB0aHJlYWQgc3Vw
cG9ydApAQCAtNDgsMjYgKzQ5LDMxIEBAIGNsYXNzIEN1cmxTU0xIYW5kbGUgewogICAgIHVzaW5n
IENsaWVudENlcnRpZmljYXRlID0gc3RkOjpwYWlyPFN0cmluZywgU3RyaW5nPjsKIAogcHVibGlj
OgorICAgIHVzaW5nIENBQ2VydEluZm8gPSBWYXJpYW50PE1vbm9zdGF0ZSwgU3RyaW5nLCBWZWN0
b3I8Y2hhcj4+OworCiAgICAgQ3VybFNTTEhhbmRsZSgpOwogCi0gICAgU3RyaW5nIGdldENpcGhl
ckxpc3QoKSBjb25zdCB7IHJldHVybiBtX2NpcGhlckxpc3Q7IH0KLSAgICBTdHJpbmcgZ2V0U2ln
bmF0dXJlQWxnb3JpdGhtc0xpc3QoKSBjb25zdCB7IHJldHVybiBtX3NpZ25hdHVyZUFsZ29yaXRo
bXNMaXN0OyB9Ci0gICAgU3RyaW5nIGdldEN1cnZlc0xpc3QoKSBjb25zdCB7IHJldHVybiBtX2N1
cnZlc0xpc3Q7IH0KKyAgICBjb25zdCBTdHJpbmcmIGdldENpcGhlckxpc3QoKSBjb25zdCB7IHJl
dHVybiBtX2NpcGhlckxpc3Q7IH0KKyAgICBjb25zdCBTdHJpbmcmIGdldFNpZ25hdHVyZUFsZ29y
aXRobXNMaXN0KCkgY29uc3QgeyByZXR1cm4gbV9zaWduYXR1cmVBbGdvcml0aG1zTGlzdDsgfQor
ICAgIGNvbnN0IFN0cmluZyYgZ2V0Q3VydmVzTGlzdCgpIGNvbnN0IHsgcmV0dXJuIG1fY3VydmVz
TGlzdDsgfQogCi0gICAgdm9pZCBzZXRDaXBoZXJMaXN0KFN0cmluZyYmIGNpcGhlckxpc3QpIHsg
bV9jaXBoZXJMaXN0ID0gV1RGTW92ZShjaXBoZXJMaXN0KTsgfQotICAgIHZvaWQgc2V0U2lnbmF0
dXJlQWxnb3JpdGhtc0xpc3QoU3RyaW5nJiYgc2lnbmF0dXJlQWxnb3JpdGhtc0xpc3QpIHsgbV9z
aWduYXR1cmVBbGdvcml0aG1zTGlzdCA9IFdURk1vdmUoc2lnbmF0dXJlQWxnb3JpdGhtc0xpc3Qp
OyB9Ci0gICAgdm9pZCBzZXRDdXJ2ZXNMaXN0KFN0cmluZyYmIGN1cnZlc0xpc3QpIHsgbV9jdXJ2
ZXNMaXN0ID0gV1RGTW92ZShjdXJ2ZXNMaXN0KTsgfQorICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
c2V0Q2lwaGVyTGlzdChTdHJpbmcmJiBkYXRhKSB7IG1fY2lwaGVyTGlzdCA9IFdURk1vdmUoZGF0
YSk7IH0KKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFNpZ25hdHVyZUFsZ29yaXRobXNMaXN0
KFN0cmluZyYmIGRhdGEpIHsgbV9zaWduYXR1cmVBbGdvcml0aG1zTGlzdCA9IFdURk1vdmUoZGF0
YSk7IH0KKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEN1cnZlc0xpc3QoU3RyaW5nJiYgZGF0
YSkgeyBtX2N1cnZlc0xpc3QgPSBXVEZNb3ZlKGRhdGEpOyB9CiAKICAgICBib29sIHNob3VsZEln
bm9yZVNTTEVycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1faWdub3JlU1NMRXJyb3JzOyB9CisgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRJZ25vcmVTU0xFcnJvcnMoYm9vbCBmbGFnKSB7IG1faWdu
b3JlU1NMRXJyb3JzID0gZmxhZzsgfQogCi0gICAgU3RyaW5nIGdldENBQ2VydFBhdGgoKSBjb25z
dCB7IHJldHVybiBtX2NhQ2VydFBhdGg7IH0KLSAgICB2b2lkIHNldENBQ2VydFBhdGgoU3RyaW5n
JiYgY2FDZXJ0UGF0aCkgeyBtX2NhQ2VydFBhdGggPSBXVEZNb3ZlKGNhQ2VydFBhdGgpOyB9Cisg
ICAgY29uc3QgQ0FDZXJ0SW5mbyYgZ2V0Q0FDZXJ0SW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fY2FD
ZXJ0SW5mbzsgfQorICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0Q0FDZXJ0UGF0aChTdHJpbmcm
Jik7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRDQUNlcnREYXRhKFZlY3RvcjxjaGFyPiYm
KTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGNsZWFyQ0FDZXJ0SW5mbygpOwogCiAgICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCBzZXRIb3N0QWxsb3dzQW55SFRUUFNDZXJ0aWZpY2F0ZShjb25zdCBT
dHJpbmcmKTsKICAgICBib29sIGlzQWxsb3dlZEhUVFBTQ2VydGlmaWNhdGVIb3N0KGNvbnN0IFN0
cmluZyYpOwogICAgIGJvb2wgY2FuSWdub3JlZEhUVFBTQ2VydGlmaWNhdGUoY29uc3QgU3RyaW5n
JiwgY29uc3QgTGlzdEhhc2hTZXQ8U3RyaW5nPiYpOwogCi0gICAgdm9pZCBzZXRDbGllbnRDZXJ0
aWZpY2F0ZUluZm8oY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJik7
CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRDbGllbnRDZXJ0aWZpY2F0ZUluZm8oY29uc3Qg
U3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJik7CiAgICAgc3RkOjpvcHRpb25h
bDxDbGllbnRDZXJ0aWZpY2F0ZT4gZ2V0U1NMQ2xpZW50Q2VydGlmaWNhdGUoY29uc3QgU3RyaW5n
Jik7CiAKIHByaXZhdGU6CkBAIC0xMDAsMTMgKzEwNiwxMiBAQCBwcml2YXRlOgogCiAgICAgU3Ry
aW5nIGdldENBQ2VydFBhdGhFbnYoKTsKIAotICAgIGJvb2wgbV9pZ25vcmVTU0xFcnJvcnMgeyBm
YWxzZSB9OwotCiAgICAgU3RyaW5nIG1fY2lwaGVyTGlzdDsKICAgICBTdHJpbmcgbV9zaWduYXR1
cmVBbGdvcml0aG1zTGlzdDsKICAgICBTdHJpbmcgbV9jdXJ2ZXNMaXN0OworICAgIENBQ2VydElu
Zm8gbV9jYUNlcnRJbmZvOwogCi0gICAgU3RyaW5nIG1fY2FDZXJ0UGF0aDsKKyAgICBib29sIG1f
aWdub3JlU1NMRXJyb3JzIHsgZmFsc2UgfTsKIAogICAgIExvY2sgbV9tdXRleDsKICAgICBIYXNo
TWFwPFN0cmluZywgTGlzdEhhc2hTZXQ8U3RyaW5nPiwgQVNDSUlDYXNlSW5zZW5zaXRpdmVIYXNo
PiBtX2FsbG93ZWRIb3N0czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvY3VybC9DdXJsU1NMVmVyaWZpZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jdXJsL0N1cmxTU0xWZXJpZmllci5jcHAKaW5kZXggODQ3NWU1Yzc3YTUuLjMyMDlj
OGIwZGFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwv
Q3VybFNTTFZlcmlmaWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L2N1cmwvQ3VybFNTTFZlcmlmaWVyLmNwcApAQCAtNDQsNiArNDQsMTEgQEAgQ3VybFNTTFZlcmlm
aWVyOjpDdXJsU1NMVmVyaWZpZXIoQ3VybEhhbmRsZSogY3VybEhhbmRsZSwgY29uc3QgU3RyaW5n
JiBob3N0TmFtZSwKICAgICBTU0xfQ1RYX3NldF9hcHBfZGF0YShjdHgsIHRoaXMpOwogICAgIFNT
TF9DVFhfc2V0X3ZlcmlmeShjdHgsIFNTTF9DVFhfZ2V0X3ZlcmlmeV9tb2RlKGN0eCksIGNlcnRW
ZXJpZnlDYWxsYmFjayk7CiAKKyNpZiBkZWZpbmVkKExJQlJFU1NMX1ZFUlNJT05fTlVNQkVSKQor
ICAgIGlmIChhdXRvIGRhdGEgPSBXVEY6OmdldF9pZjxWZWN0b3I8Y2hhcj4+KHNzbEhhbmRsZS5n
ZXRDQUNlcnRJbmZvKCkpKQorICAgICAgICBTU0xfQ1RYX2xvYWRfdmVyaWZ5X21lbShjdHgsIHN0
YXRpY19jYXN0PHZvaWQqPihjb25zdF9jYXN0PGNoYXIqPihkYXRhLT5kYXRhKCkpKSwgZGF0YS0+
c2l6ZSgpKTsKKyNlbmRpZgorCiAjaWYgKCFkZWZpbmVkKExJQlJFU1NMX1ZFUlNJT05fTlVNQkVS
KSkKICAgICBhdXRvIHNpZ25hdHVyZUFsZ29yaXRobXNMaXN0ID0gc3NsSGFuZGxlLmdldFNpZ25h
dHVyZUFsZ29yaXRobXNMaXN0KCk7CiAgICAgaWYgKCFzaWduYXR1cmVBbGdvcml0aG1zTGlzdC5p
c0VtcHR5KCkpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>