<?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>170644</bug_id>
          
          <creation_ts>2017-04-08 13:13:56 -0700</creation_ts>
          <short_desc>[Cocoa] WebKit unnecessarily soft-links CorePrediction</short_desc>
          <delta_ts>2017-04-11 12:13:39 -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>WebKit2</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to>mitz</assigned_to>
          <cc>aestes</cc>
    
    <cc>ap</cc>
    
    <cc>buildbot</cc>
    
    <cc>sam</cc>
    
    <cc>thorton</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1295686</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2017-04-08 13:13:56 -0700</bug_when>
    <thetext>CorePrediction isn’t dependent on WebKit, so it can be linked at build time. Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295687</commentid>
    <comment_count>1</comment_count>
      <attachid>306580</attachid>
    <who name="">mitz</who>
    <bug_when>2017-04-08 13:18:24 -0700</bug_when>
    <thetext>Created attachment 306580
Link CorePrediction at build time</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295688</commentid>
    <comment_count>2</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-04-08 13:19:59 -0700</bug_when>
    <thetext>Attachment 306580 did not pass style-queue:


ERROR: Source/WebKit2/Platform/spi/Cocoa/CorePredictionSPI.h:35:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/WebKit2/Platform/spi/Cocoa/CorePredictionSPI.h:49:  The parameter name &quot;model&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 2 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>1295689</commentid>
    <comment_count>3</comment_count>
    <who name="">mitz</who>
    <bug_when>2017-04-08 13:20:54 -0700</bug_when>
    <thetext>(In reply to mitz from comment #1)
&gt; Created attachment 306580 [details]
&gt; Link CorePrediction at build time

This may break the iOS device build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295690</commentid>
    <comment_count>4</comment_count>
    <who name="">mitz</who>
    <bug_when>2017-04-08 13:24:52 -0700</bug_when>
    <thetext>Looks like the “soft linking” was introduced in bug 168347 but it’s not entirely clear what problem it was meant to solve.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295692</commentid>
    <comment_count>5</comment_count>
    <who name="">mitz</who>
    <bug_when>2017-04-08 13:35:59 -0700</bug_when>
    <thetext>(In reply to mitz from comment #4)
&gt; Looks like the “soft linking” was introduced in bug 168347 but it’s not
&gt; entirely clear what problem it was meant to solve.

Perhaps because CorePrediction is 64-bit only.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295709</commentid>
    <comment_count>6</comment_count>
      <attachid>306580</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-04-08 16:06:23 -0700</bug_when>
    <thetext>Comment on attachment 306580
Link CorePrediction at build time

EWS says the build is broken indeed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295797</commentid>
    <comment_count>7</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-04-09 08:21:38 -0700</bug_when>
    <thetext>It is soft linked because of Base System. In recovery it&apos;s not there even though everything else indicates it is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295800</commentid>
    <comment_count>8</comment_count>
    <who name="">mitz</who>
    <bug_when>2017-04-09 08:41:00 -0700</bug_when>
    <thetext>(In reply to John Wilander from comment #7)
&gt; It is soft linked because of Base System. In recovery it&apos;s not there even
&gt; though everything else indicates it is.

Thanks, John! It’s a misconception that libraries that aren’t present in the Base System need to be soft linked. Attachment 306580 handles this using weak linking. I will update the patch to work with iOS device builds and 32-bit macOS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295858</commentid>
    <comment_count>9</comment_count>
      <attachid>306641</attachid>
    <who name="">mitz</who>
    <bug_when>2017-04-09 18:30:32 -0700</bug_when>
    <thetext>Created attachment 306641
Patch for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295859</commentid>
    <comment_count>10</comment_count>
      <attachid>306642</attachid>
    <who name="">mitz</who>
    <bug_when>2017-04-09 18:39:46 -0700</bug_when>
    <thetext>Created attachment 306642
Patch for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295860</commentid>
    <comment_count>11</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-04-09 18:41:11 -0700</bug_when>
    <thetext>Attachment 306642 did not pass style-queue:


ERROR: Source/WebKit2/Platform/spi/Cocoa/CorePredictionSPI.h:37:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/WebKit2/Platform/spi/Cocoa/CorePredictionSPI.h:51:  The parameter name &quot;model&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 2 in 7 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>1295866</commentid>
    <comment_count>12</comment_count>
      <attachid>306644</attachid>
    <who name="">mitz</who>
    <bug_when>2017-04-09 19:22:10 -0700</bug_when>
    <thetext>Created attachment 306644
Patch for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295867</commentid>
    <comment_count>13</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-04-09 19:24:42 -0700</bug_when>
    <thetext>Attachment 306644 did not pass style-queue:


ERROR: Source/WebKit2/Platform/spi/Cocoa/CorePredictionSPI.h:37:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/WebKit2/Platform/spi/Cocoa/CorePredictionSPI.h:51:  The parameter name &quot;model&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 2 in 8 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>1296267</commentid>
    <comment_count>14</comment_count>
      <attachid>306772</attachid>
    <who name="">mitz</who>
    <bug_when>2017-04-10 21:05:08 -0700</bug_when>
    <thetext>Created attachment 306772
Link CorePrediction at build time</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1296268</commentid>
    <comment_count>15</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-04-10 21:07:54 -0700</bug_when>
    <thetext>Attachment 306772 did not pass style-queue:


ERROR: Source/WebKit2/Platform/spi/Cocoa/CorePredictionSPI.h:37:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/WebKit2/Platform/spi/Cocoa/CorePredictionSPI.h:51:  The parameter name &quot;model&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 2 in 10 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>1296474</commentid>
    <comment_count>16</comment_count>
      <attachid>306772</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-04-11 10:34:59 -0700</bug_when>
    <thetext>Comment on attachment 306772
Link CorePrediction at build time

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

&gt; Source/WebKit2/Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.cpp:75
&gt; +static inline bool isNullFunctionPointer(void* functionPointer)

This surprising function should probably have a comment explaining why it needs inline-asm.  Also, is this something that can be lifted into WTF somewhere, as it seems like something that could be generally useful for other weak linking.

&gt; Source/WebKit2/UIProcess/WebResourceLoadStatisticsStore.h:36
&gt; +#if PLATFORM(COCOA) &amp;&amp; HAVE(CORE_PREDICTION)

Is it really necessary to have both predicates. Given that CORE_PREDICTION is only on COCOA systems, it seems like just specifying it would be enough.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1296514</commentid>
    <comment_count>17</comment_count>
    <who name="">mitz</who>
    <bug_when>2017-04-11 12:08:23 -0700</bug_when>
    <thetext>(In reply to Sam Weinig from comment #16)
&gt; Comment on attachment 306772 [details]
&gt; Link CorePrediction at build time
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=306772&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.cpp:75
&gt; &gt; +static inline bool isNullFunctionPointer(void* functionPointer)
&gt; 
&gt; This surprising function should probably have a comment explaining why it
&gt; needs inline-asm.

I’ll add a comment.

&gt; Also, is this something that can be lifted into WTF
&gt; somewhere, as it seems like something that could be generally useful for
&gt; other weak linking.

I won’t do this as part of fixing this bug, but I agree. Is there an existing WTF header where this function could live?

&gt; &gt; Source/WebKit2/UIProcess/WebResourceLoadStatisticsStore.h:36
&gt; &gt; +#if PLATFORM(COCOA) &amp;&amp; HAVE(CORE_PREDICTION)
&gt; 
&gt; Is it really necessary to have both predicates. Given that CORE_PREDICTION
&gt; is only on COCOA systems, it seems like just specifying it would be enough.

I’ll change to check only for HAVE(CORE_PREDICTION).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1296517</commentid>
    <comment_count>18</comment_count>
    <who name="">mitz</who>
    <bug_when>2017-04-11 12:13:39 -0700</bug_when>
    <thetext>Fixed in &lt;https://trac.webkit.org/r215247&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306580</attachid>
            <date>2017-04-08 13:18:24 -0700</date>
            <delta_ts>2017-04-10 21:05:06 -0700</delta_ts>
            <desc>Link CorePrediction at build time</desc>
            <filename>bug-170644-20170408131824.patch</filename>
            <type>text/plain</type>
            <size>18382</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNTE0NikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDE3LTA0LTA4ICBEYW4gQmVy
bnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBXZWJLaXQgdW5uZWNl
c3NhcmlseSBzb2Z0LWxpbmtzIENvcmVQcmVkaWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2NDQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZp
ZzogSGF2ZSB0aGUgbGlua2VyIGxpbmsgYWdhaW5zdCBDb3JlUHJlZGljdGlvbi4gT24gbWFjT1Ms
CisgICAgICAgICAgdXNlIHdlYWsgbGlua2luZywgYmVjYXVzZSBDb3JlUHJlZGljdGlvbiBpcyBu
b3QgYXZhaWxhYmxlIGluIHRoZSBSZWNvdmVyeSBPUy4KKworICAgICAgICAqIFBsYXRmb3JtL2Ns
YXNzaWZpZXIvY29jb2EvQ29yZVByZWRpY3Rpb25Tb2Z0TGluay5oOiBSZW1vdmVkLgorICAgICAg
ICAqIFBsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXJDb2NvYS5jcHA6CisgICAgICAgIChXZWJLaXQ6OmlzTnVsbEZ1bmN0aW9uUG9pbnRlcik6
IEFkZGVkIHRoaXMgaGVscGVyLgorICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzQ2xhc3NpZmllckNvY29hOjpjYW5Vc2VDb3JlUHJlZGljdGlvbik6IFJlcGxhY2VkCisgICAg
ICAgICAgZGxvcGVuKCktYmFzZWQgcnVudGltZSBjaGVjayB3aXRoIGEgbnVsbCBjaGVjay4KKwor
ICAgICAgICAqIFBsYXRmb3JtL3NwaS9Db2NvYS9Db3JlUHJlZGljdGlvblNQSS5oOiBBZGRlZC4K
KworICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogVXBkYXRlZCBm
aWxlIHJlZmVyZW5jZXMgZm9yIHJlbW92YWwgYW5kIGFkZGl0aW9uLgorCiAyMDE3LTA0LTA4ICBZ
b3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJSVEMgdGVzdHMg
Z2FyZGVuaW5nCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNj
b25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvV2ViS2l0
LnhjY29uZmlnCShyZXZpc2lvbiAyMTUxNDIpCisrKyBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0
aW9ucy9XZWJLaXQueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTM2LDEyICszNiwxMiBAQCBE
WUxJQl9JTlNUQUxMX05BTUVfQkFTRSA9ICQoTk9STUFMX1dFQktJCiAKIExJQlJBUllfU0VBUkNI
X1BBVEhTID0gJChpbmhlcml0ZWQpICIkKExJQldFQlJUQ19MSUJSQVJZX0RJUikiOwogCi1GUkFN
RVdPUktfQU5EX0xJQlJBUllfTERGTEFHU19CQVNFX2lvcyA9IC1sb2JqYyAtZnJhbWV3b3JrIEFz
c2VydGlvblNlcnZpY2VzIC1mcmFtZXdvcmsgQ0ZOZXR3b3JrIC1mcmFtZXdvcmsgQ29yZUZvdW5k
YXRpb24gLWZyYW1ld29yayBDb3JlR3JhcGhpY3MgLWZyYW1ld29yayBDb3JlUERGIC1mcmFtZXdv
cmsgQ29yZVRleHQgLWZyYW1ld29yayBGb3VuZGF0aW9uIC1mcmFtZXdvcmsgR3JhcGhpY3NTZXJ2
aWNlcyAtZnJhbWV3b3JrIEltYWdlSU8gLWZyYW1ld29yayBVSUtpdCAtZnJhbWV3b3JrIE9wZW5H
TEVTIC1mcmFtZXdvcmsgTW9iaWxlQ29yZVNlcnZpY2VzIC1sTW9iaWxlR2VzdGFsdCAkKEZSQU1F
V09SS19BTkRfTElCUkFSWV9MREZMQUdTX1BMQVRGT1JNXyQoUExBVEZPUk1fTkFNRSkpOworRlJB
TUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1NfQkFTRV9pb3MgPSAtbG9iamMgLWZyYW1ld29yayBB
c3NlcnRpb25TZXJ2aWNlcyAtZnJhbWV3b3JrIENGTmV0d29yayAtZnJhbWV3b3JrIENvcmVGb3Vu
ZGF0aW9uIC1mcmFtZXdvcmsgQ29yZUdyYXBoaWNzIC1mcmFtZXdvcmsgQ29yZVBERiAtZnJhbWV3
b3JrIENvcmVQcmVkaWN0aW9uIC1mcmFtZXdvcmsgQ29yZVRleHQgLWZyYW1ld29yayBGb3VuZGF0
aW9uIC1mcmFtZXdvcmsgR3JhcGhpY3NTZXJ2aWNlcyAtZnJhbWV3b3JrIEltYWdlSU8gLWZyYW1l
d29yayBVSUtpdCAtZnJhbWV3b3JrIE9wZW5HTEVTIC1mcmFtZXdvcmsgTW9iaWxlQ29yZVNlcnZp
Y2VzIC1sTW9iaWxlR2VzdGFsdCAkKEZSQU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdTX1BMQVRG
T1JNXyQoUExBVEZPUk1fTkFNRSkpOwogRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1Nbc2Rr
PWlwaG9uZW9zKl0gPSAkKEZSQU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdTX0JBU0VfaW9zKSAt
ZnJhbWV3b3JrIElPU3VyZmFjZTsKIEZSQU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdTW3Nkaz1p
cGhvbmVzaW11bGF0b3IqXSA9ICQoRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1NfQkFTRV9p
b3MpOwogRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1NfUExBVEZPUk1faXBob25lb3MgPSA7
CiBGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHU19QTEFURk9STV9pcGhvbmVzaW11bGF0b3Ig
PSA7Ci1GUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHU1tzZGs9bWFjb3N4Kl0gPSAtZnJhbWV3
b3JrIEFwcGxpY2F0aW9uU2VydmljZXMgLWZyYW1ld29yayBDYXJib24gLWZyYW1ld29yayBDb2Nv
YSAtZnJhbWV3b3JrIENvcmVTZXJ2aWNlcyAtZnJhbWV3b3JrIElPS2l0IC1mcmFtZXdvcmsgQ29y
ZUF1ZGlvIC1mcmFtZXdvcmsgSU9TdXJmYWNlIC1mcmFtZXdvcmsgT3BlbkdMOworRlJBTUVXT1JL
X0FORF9MSUJSQVJZX0xERkxBR1Nbc2RrPW1hY29zeCpdID0gLWZyYW1ld29yayBBcHBsaWNhdGlv
blNlcnZpY2VzIC1mcmFtZXdvcmsgQ2FyYm9uIC1mcmFtZXdvcmsgQ29jb2EgLXdlYWtfZnJhbWV3
b3JrIENvcmVQcmVkaWN0aW9uIC1mcmFtZXdvcmsgQ29yZVNlcnZpY2VzIC1mcmFtZXdvcmsgSU9L
aXQgLWZyYW1ld29yayBDb3JlQXVkaW8gLWZyYW1ld29yayBJT1N1cmZhY2UgLWZyYW1ld29yayBP
cGVuR0w7CiAKIC8vIFByZXZlbnQgQysrIHN0YW5kYXJkIGxpYnJhcnkgb3BlcmF0b3IgbmV3LCBk
ZWxldGUgYW5kIHRoZWlyIHJlbGF0ZWQgZXhjZXB0aW9uIHR5cGVzIGZyb20gYmVpbmcgZXhwb3J0
ZWQgYXMgd2VhayBzeW1ib2xzLgogVU5FWFBPUlRFRF9TWU1CT0xfTERGTEFHUyA9IC1XbCwtdW5l
eHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRJU3Q5YmFkX2FsbG9jIC1XbCwtdW5leHBvcnRlZF9zeW1i
b2wgLVdsLF9fWlRJU3Q5ZXhjZXB0aW9uIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRT
U3Q5YmFkX2FsbG9jIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRTU3Q5ZXhjZXB0aW9u
IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWmRsUHZTXyAtV2wsLXVuZXhwb3J0ZWRfc3lt
Ym9sIC1XbCxfX1pud21QdiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pud20gLVdsLC11
bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBv
bGljeUFjdGlvbkVFRUMyRU9TNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNf
XzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUMxRU9TNF8gLVdsLC11bmV4
cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGlj
eUFjdGlvbkVFRWFTRURuIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOS1N0M19fMThm
dW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFY2xFUzJfIC1XbCwtdW5leHBvcnRl
ZF9zeW1ib2wsIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rp
b25FRUU0c3dhcEVSUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOU3QzX18xOGZ1
bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVDMUVSS1M0XyAtV2wsLXVuZXhwb3J0
ZWRfc3ltYm9sLCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0
aW9uRUVFQzJFUktTNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVu
Y3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUQxRXYgLVdsLC11bmV4cG9ydGVkX3N5
bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVF
RUQyRXYgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZO
N1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRWFTRVJLUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2ws
IC1XbCxfX1pUVk5TdDNfXzExN2JhZF9mdW5jdGlvbl9jYWxsRTsKQEAgLTU1LDcgKzU1LDcgQEAg
TElCV0VCUlRDX0xJQlJBUllfRElSW3Nkaz1tYWNvc3gqXSA9ICQoTAogTElCV0VCUlRDX0xJQlJB
UllfRElSX1VTRV9PVkVSUklERV9GUkFNRVdPUktTX0RJUl9OTyA9ICQoV0VCQ09SRV9GUkFNRVdP
UktTX0RJUikvV2ViQ29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzOwogTElCV0VC
UlRDX0xJQlJBUllfRElSX1VTRV9PVkVSUklERV9GUkFNRVdPUktTX0RJUl9ZRVMgPSAkKFdLX09W
RVJSSURFX0ZSQU1FV09SS1NfRElSKTsKIAotT1RIRVJfTERGTEFHUyA9ICQoaW5oZXJpdGVkKSAk
KFVORVhQT1JURURfU1lNQk9MX0xERkxBR1MpICQoQVNBTl9PVEhFUl9MREZMQUdTKSAkKEZSQU1F
V09SS19BTkRfTElCUkFSWV9MREZMQUdTKSAkKE9USEVSX0xERkxBR1NfUExBVEZPUk0pICQoV0tf
UkVMT0NBVEFCTEVfRlJBTUVXT1JLX0xERkxBR1MpIC1mcmFtZXdvcmsgV2ViS2l0TGVnYWN5Owor
T1RIRVJfTERGTEFHUyA9ICQoaW5oZXJpdGVkKSAtRiIkKFNES19ESVIpJChTWVNURU1fTElCUkFS
WV9ESVIpL1ByaXZhdGVGcmFtZXdvcmtzIiAkKFVORVhQT1JURURfU1lNQk9MX0xERkxBR1MpICQo
QVNBTl9PVEhFUl9MREZMQUdTKSAkKEZSQU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdTKSAkKE9U
SEVSX0xERkxBR1NfUExBVEZPUk0pICQoV0tfUkVMT0NBVEFCTEVfRlJBTUVXT1JLX0xERkxBR1Mp
IC1mcmFtZXdvcmsgV2ViS2l0TGVnYWN5OwogT1RIRVJfTERGTEFHU19QTEFURk9STVtzZGs9bWFj
b3N4Kl0gPSAkKExJQldFQlJUQ19MREZMQUdTKTsKIE9USEVSX0xERkxBR1NfUExBVEZPUk1bc2Rr
PWlwaG9uZW9zKl0gPSAtbEFjY2Vzc2liaWxpdHkgJChMSUJXRUJSVENfTERGTEFHUyk7CiBPVEhF
Ul9MREZMQUdTX1BMQVRGT1JNW3Nkaz1pcGhvbmVzaW11bGF0b3IqXSA9IC1sQWNjZXNzaWJpbGl0
eSAkKExJQldFQlJUQ19MREZMQUdTKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2Ns
YXNzaWZpZXIvY29jb2EvQ29yZVByZWRpY3Rpb25Tb2Z0TGluay5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvQ29yZVByZWRpY3Rpb25Tb2Z0
TGluay5oCShyZXZpc2lvbiAyMTUxNDIpCisrKyBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFz
c2lmaWVyL2NvY29hL0NvcmVQcmVkaWN0aW9uU29mdExpbmsuaAkobm9uZXhpc3RlbnQpCkBAIC0x
LDM4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgPFdlYkNv
cmUvU29mdExpbmtpbmcuaD4KLQotc3RydWN0IHN2bV9tb2RlbDsKLXN0cnVjdCBzdm1fbm9kZSB7
Ci0gICAgaW50IGluZGV4OwotICAgIGRvdWJsZSB2YWx1ZTsKLX07Ci0KLVNPRlRfTElOS19QUklW
QVRFX0ZSQU1FV09SS19PUFRJT05BTChDb3JlUHJlZGljdGlvbikKLVNPRlRfTElOSyhDb3JlUHJl
ZGljdGlvbiwgc3ZtX3ByZWRpY3RfdmFsdWVzLCBkb3VibGUsIChjb25zdCBzdHJ1Y3Qgc3ZtX21v
ZGVsICptb2RlbCwgY29uc3Qgc3RydWN0IHN2bV9ub2RlICp4LCBkb3VibGUqIGRlY192YWx1ZXMp
LCAobW9kZWwsIHgsIGRlY192YWx1ZXMpKQotU09GVF9MSU5LKENvcmVQcmVkaWN0aW9uLCBzdm1f
bG9hZF9tb2RlbCwgc3ZtX21vZGVsKiwgKGNvbnN0IGNoYXIgKm1vZGVsX2ZpbGVfbmFtZSksICht
b2RlbF9maWxlX25hbWUpKQpJbmRleDogU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmll
ci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwCShyZXZpc2lvbiAyMTUxNDIpCisrKyBT
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw5ICsyNiw5IEBA
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Ns
YXNzaWZpZXJDb2NvYS5oIgogCisjaW5jbHVkZSAiQ29yZVByZWRpY3Rpb25TUEkuaCIKICNpbmNs
dWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+Ci0jaW5jbHVk
ZSAiQ29yZVByZWRpY3Rpb25Tb2Z0TGluay5oIgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAt
NzAsNiArNzAsMTcgQEAgU3RyaW5nIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQwog
ICAgIHJldHVybiBTdHJpbmcocmVzb3VyY2VVcmxTdHJpbmcuZ2V0KCkpOwogfQogCitzdGF0aWMg
aW5saW5lIGJvb2wgaXNOdWxsRnVuY3Rpb25Qb2ludGVyKHZvaWQqIGZ1bmN0aW9uUG9pbnRlcikK
K3sKKyAgICB2b2lkKiByZXN1bHQ7CisgICAgYXNtKAorICAgICAgICAibW92ICUxLCAlMCIKKyAg
ICAgICAgOiAiPXIiIChyZXN1bHQpCisgICAgICAgIDogInIiIChmdW5jdGlvblBvaW50ZXIpCisg
ICAgKTsKKyAgICByZXR1cm4gIXJlc3VsdDsKK30KKwogYm9vbCBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzQ2xhc3NpZmllckNvY29hOjpjYW5Vc2VDb3JlUHJlZGljdGlvbigpCiB7CiAgICAgaWYgKG1f
aGF2ZUxvYWRlZE1vZGVsKQpAQCAtNzgsNyArODksNyBAQCBib29sIFJlc291cmNlTG9hZFN0YXRp
c3RpY3NDbGFzc2lmaWVyQ29jCiAgICAgaWYgKCFtX3VzZUNvcmVQcmVkaWN0aW9uKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAoIUNvcmVQcmVkaWN0aW9uTGlicmFyeSgpKSB7Cisg
ICAgaWYgKGlzTnVsbEZ1bmN0aW9uUG9pbnRlcihyZWludGVycHJldF9jYXN0PHZvaWQqPihzdm1f
bG9hZF9tb2RlbCkpKSB7CiAgICAgICAgIG1fdXNlQ29yZVByZWRpY3Rpb24gPSBmYWxzZTsKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L3NwaS9Db2NvYS9Db3JlUHJlZGljdGlvblNQSS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtL3NwaS9Db2NvYS9Db3JlUHJlZGljdGlvblNQSS5oCShub25leGlzdGVudCkK
KysrIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9Db2NvYS9Db3JlUHJlZGljdGlvblNQSS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9u
Y2UKKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisKKyNpbXBvcnQgPENvcmVQcmVkaWN0
aW9uL3N2bS5oPgorCisjZWxzZQorCitzdHJ1Y3Qgc3ZtX25vZGUKK3sKKyAgICBpbnQgaW5kZXg7
CisgICAgZG91YmxlIHZhbHVlOworfTsKKworI2VuZGlmCisKKyNpZmRlZiBfX2NwbHVzcGx1cwor
ZXh0ZXJuICJDIiB7CisjZW5kaWYKKwordHlwZWRlZiBzdHJ1Y3Qgc3ZtX25vZGUgc3ZtX25vZGU7
CisKK3N0cnVjdCBzdm1fbW9kZWwgKnN2bV9sb2FkX21vZGVsKGNvbnN0IGNoYXIgKm1vZGVsX2Zp
bGVfbmFtZSk7Citkb3VibGUgc3ZtX3ByZWRpY3RfdmFsdWVzKGNvbnN0IHN0cnVjdCBzdm1fbW9k
ZWwgKm1vZGVsLCBjb25zdCBzdHJ1Y3Qgc3ZtX25vZGUgKngsIGRvdWJsZSogZGVjX3ZhbHVlcyk7
CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9X
ZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMTUxNDIp
CisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdv
cmtpbmcgY29weSkKQEAgLTg1MCw2ICs4NTAsNyBAQAogCQkzN0JFQzRFMTE5NDkxNDg2MDA4QjQy
ODYgLyogQ29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdCRUM0REYxOTQ5MTQ4NjAwOEI0Mjg2IC8qIENv
bXBsZXRpb25IYW5kbGVyQ2FsbENoZWNrZXIuaCAqLzsgfTsKIAkJMzdCRjJGMDYxOTQ3REVCNDAw
NzIzQzQ4IC8qIFdLTlNVUkxSZXF1ZXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzN0JGMkYwNDE5NDdERUI0MDA3MjNDNDggLyogV0tOU1VSTFJlcXVl
c3QuaCAqLzsgfTsKIAkJMzdCRjJGMDcxOTQ3REVCNDAwNzIzQzQ4IC8qIFdLTlNVUkxSZXF1ZXN0
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdCRjJG
MDUxOTQ3REVCNDAwNzIzQzQ4IC8qIFdLTlNVUkxSZXF1ZXN0Lm1tICovOyB9OworCQkzN0MyMUNB
RTFFOTk0QzBDMDAyOUQ1RjkgLyogQ29yZVByZWRpY3Rpb25TUEkuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3QzIxQ0FEMUU5OTRDMEMwMDI5RDVGOSAv
KiBDb3JlUHJlZGljdGlvblNQSS5oICovOyB9OwogCQkzN0M0QzA4NjE4MTQ5QzVCMDAzNjg4Qjkg
LyogV0tCYWNrRm9yd2FyZExpc3RJdGVtLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMzdDNEMwODQxODE0OUM1QjAwMzY4OEI5IC8qIFdLQmFja0Zvcndh
cmRMaXN0SXRlbS5tbSAqLzsgfTsKIAkJMzdDNEMwODcxODE0OUM1QjAwMzY4OEI5IC8qIFdLQmFj
a0ZvcndhcmRMaXN0SXRlbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMzdDNEMwODUxODE0OUM1QjAwMzY4OEI5IC8qIFdLQmFja0ZvcndhcmRMaXN0SXRl
bS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKIAkJMzdD
NEMwODkxODE0OUYyMzAwMzY4OEI5IC8qIFdLQmFja0ZvcndhcmRMaXN0SXRlbUludGVybmFsLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0M0QzA4ODE4
MTQ5RjIzMDAzNjg4QjkgLyogV0tCYWNrRm9yd2FyZExpc3RJdGVtSW50ZXJuYWwuaCAqLzsgfTsK
QEAgLTExNzQsNyArMTE3NSw2IEBACiAJCTY1MDFCRDFBMTJGMTI0MzQwMEU5RjI0OCAvKiBXS0J1
bmRsZUluc3BlY3Rvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA2NUI4NkYxNzEyRjExRDdCMDBCN0REOEEgLyogV0tCdW5kbGVJbnNwZWN0b3IuY3Bw
ICovOyB9OwogCQk2NTlDNTUxRTEzMDAwNjQxMDAyNUMwQzIgLyogSW5qZWN0ZWRCdW5kbGVQYWdl
UmVzb3VyY2VMb2FkQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDY1NDZBODI5MTMwMDAxNjQwMDBDRUIxQyAvKiBJbmplY3RlZEJ1bmRsZVBh
Z2VSZXNvdXJjZUxvYWRDbGllbnQuY3BwICovOyB9OwogCQk2NUI4NkYxRTEyRjExREUzMDBCN0RE
OEEgLyogV0tCdW5kbGVJbnNwZWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDY1Qjg2RjE4MTJGMTFEN0IwMEI3REQ4QSAvKiBXS0J1bmRsZUluc3Bl
Y3Rvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0J
CTZCMkUwOUJBMUU1N0I4ODEwMEM4QThCOSAvKiBDb3JlUHJlZGljdGlvblNvZnRMaW5rLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QjJFMDlCOTFFNTdC
ODgxMDBDOEE4QjkgLyogQ29yZVByZWRpY3Rpb25Tb2Z0TGluay5oICovOyB9OwogCQk2QkU5Njk5
QzFFNDNCM0ZGMDA4Qjc0ODMgLyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5OUIxRTQz
QjNGRjAwOEI3NDgzIC8qIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2QkU5Njk5RTFFNDNC
NDFEMDA4Qjc0ODMgLyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5Njk5RDFFNDNCNDFE
MDA4Qjc0ODMgLyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgKi87IH07CiAJ
CTZCRTk2OUEwMUU0M0I4NkUwMDhCNzQ4MyAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFu
YWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJF
OTY5OUYxRTQzQjg2RTAwOEI3NDgzIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2Vy
LmggKi87IH07CkBAIC0zMDUyLDYgKzMwNTIsNyBAQAogCQkzN0JFQzRERjE5NDkxNDg2MDA4QjQy
ODYgLyogQ29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDb21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2VyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTM3QkYyRjA0MTk0N0RFQjQwMDcyM0M0OCAvKiBXS05TVVJMUmVx
dWVzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS05TVVJMUmVxdWVzdC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzN0JGMkYwNTE5NDdERUI0MDA3MjNDNDgg
LyogV0tOU1VSTFJlcXVlc3QubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBXS05TVVJMUmVxdWVzdC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzdD
MjFDQUQxRTk5NEMwQzAwMjlENUY5IC8qIENvcmVQcmVkaWN0aW9uU1BJLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvcmVQcmVkaWN0aW9uU1BJLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTM3QzRDMDg0MTgxNDlDNUIwMDM2ODhCOSAvKiBXS0JhY2tGb3J3YXJk
TGlzdEl0ZW0ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS0Jh
Y2tGb3J3YXJkTGlzdEl0ZW0ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3QzRD
MDg1MTgxNDlDNUIwMDM2ODhCOSAvKiBXS0JhY2tGb3J3YXJkTGlzdEl0ZW0uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tCYWNrRm9yd2FyZExpc3RJdGVtLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3QzRDMDg4MTgxNDlGMjMwMDM2ODhCOSAvKiBXS0JhY2tG
b3J3YXJkTGlzdEl0ZW1JbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXS0JhY2tGb3J3YXJkTGlzdEl0ZW1JbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMzQzNSw3ICszNDM2LDYgQEAKIAkJNjU0NkE4MkExMzAwMDE2NDAwMENFQjFDIC8q
IEluamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBJbmplY3RlZEJ1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjVCODZGMTcxMkYxMUQ3QjAwQjdERDhBIC8q
IFdLQnVuZGxlSW5zcGVjdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFdLQnVuZGxlSW5zcGVjdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NjVCODZGMTgxMkYxMUQ3QjAwQjdERDhBIC8qIFdLQnVuZGxlSW5zcGVjdG9yLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLQnVuZGxlSW5zcGVjdG9yLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCTZCMkUwOUI5MUU1N0I4ODEwMEM4QThCOSAvKiBDb3JlUHJlZGlj
dGlvblNvZnRMaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvcmVQcmVk
aWN0aW9uU29mdExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkJFOTY5OUIx
RTQzQjNGRjAwOEI3NDgzIC8qIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFu
YWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2QkU5Njk5RDFFNDNCNDFEMDA4
Qjc0ODMgLyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2Vy
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkJFOTY5OUYxRTQzQjg2RTAwOEI3
NDgzIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01NDg0LDYgKzU0ODQsNyBAQAogCQkJaXNhID0g
UEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKIAkJCQkxQTU3MDUxMDFCRTQxMEU1MDA4NzRBRjEg
LyogQmxvY2tTUEkuaCAqLywKKwkJCQkzN0MyMUNBRDFFOTk0QzBDMDAyOUQ1RjkgLyogQ29yZVBy
ZWRpY3Rpb25TUEkuaCAqLywKIAkJCQkzNzU0RDU0NDFCM0EyOUZEMDAzQTRDN0YgLyogTlNJbnZv
Y2F0aW9uU1BJLmggKi8sCiAJCQkJMzdCNDdFMkMxRDY0REI3NjAwNUY0RUZGIC8qIG9iamNTUEku
aCAqLywKIAkJCSk7CkBAIC02Mjk5LDcgKzYzMDAsNiBAQAogCQk2QkU5NjlDMzFFNTRENDY3MDA4
Qjc0ODMgLyogY29jb2EgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0g
KAotCQkJCTZCMkUwOUI5MUU1N0I4ODEwMEM4QThCOSAvKiBDb3JlUHJlZGljdGlvblNvZnRMaW5r
LmggKi8sCiAJCQkJNkJFOTY5QzgxRTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRp
c3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwICovLAogCQkJCTZCRTk2OUM5MUU1NEQ0Q0YwMDhCNzQ4
MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmggKi8sCiAJCQkpOwpA
QCAtODIyNiw3ICs4MjI2LDYgQEAKIAkJCQk1MTA2RDdDNDE4QkRCRTczMDAwQUIxNjYgLyogQ29u
dGV4dE1lbnVDb250ZXh0RGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RDMzgzMEMxNzIxMjI4
MjAwOEEyRkMzIC8qIENvb2tpZVN0b3JhZ2VTaGltTGlicmFyeS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQ0UxQTBCRDMxQTQ4RTZDNjAwNTRFRjc0IC8qIENvcmVQREZTUEkuaCBpbiBIZWFkZXJzICov
LAotCQkJCTZCMkUwOUJBMUU1N0I4ODEwMEM4QThCOSAvKiBDb3JlUHJlZGljdGlvblNvZnRMaW5r
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCODc4QjYxNTEzMzQyOERDMDA2ODg4RTkgLyogQ29ycmVj
dGlvblBhbmVsLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTVFNzcyQzE4NDAwOEI5MDAwNzIwM0Yg
LyogRGF0YWJhc2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk1MTJBOTc2MTE4MEUwMzFEMDAzOUExNDkgLyogRGF0YWJhc2VQcm9jZXNzTWVzc2FnZXMuaCBp
biBIZWFkZXJzICovLApAQCAtODI1NSw2ICs4MjU0LDcgQEAKIAkJCQlCQzAzMkRBODEwRjQzN0Qx
MDA1OEMxNUEgLyogRW5jb2Rlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFCMTVBODUxMzg0M0Ez
OTAwMzIxQUQ4IC8qIEVudmlyb25tZW50VXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkx
QUE1NzVGQjE0OTZCNTI2MDBBNEVFMDYgLyogRXZlbnREaXNwYXRjaGVyLmggaW4gSGVhZGVycyAq
LywKKwkJCQkzN0MyMUNBRTFFOTk0QzBDMDAyOUQ1RjkgLyogQ29yZVByZWRpY3Rpb25TUEkuaCBp
biBIZWFkZXJzICovLAogCQkJCTAwQjk2NjFBMThFMjVBRTEwMENFMUY4OCAvKiBGaW5kQ2xpZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTkwQzFGNDEyNjRGRDcxMDAzRTQ0RDQgLyogRmluZENv
bnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRTgxRDhEMTMxOUY3RUYwMDI0MTkxMCAv
KiBGb250SW5mby5oIGluIEhlYWRlcnMgKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306641</attachid>
            <date>2017-04-09 18:30:32 -0700</date>
            <delta_ts>2017-04-09 18:32:21 -0700</delta_ts>
            <desc>Patch for EWS</desc>
            <filename>file_170644.txt</filename>
            <type>text/plain</type>
            <size>18133</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0Jhc2VUYXJnZXQueGNjb25maWcN
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0NCi0tLSBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9CYXNlVGFyZ2V0
LnhjY29uZmlnCShyZXZpc2lvbiAyMTUxNjgpDQorKysgU291cmNlL1dlYktpdDIvQ29uZmlndXJh
dGlvbnMvQmFzZVRhcmdldC54Y2NvbmZpZwkod29ya2luZyBjb3B5KQ0KQEAgLTM3LDcgKzM3LDcg
QEAgRlJBTUVXT1JLX1NFQVJDSF9QQVRIU1tzZGs9aXBob25lKl0gPSAkKA0KIEZSQU1FV09SS19T
RUFSQ0hfUEFUSFMgPSAkKEZSQU1FV09SS19TRUFSQ0hfUEFUSFNfYmFzZSk7DQogDQogR0NDX1BS
RUZJWF9IRUFERVIgPSBXZWJLaXQyUHJlZml4Lmg7DQotR0NDX1BSRVBST0NFU1NPUl9ERUZJTklU
SU9OUyA9ICQoREVCVUdfREVGSU5FUykgJChGRUFUVVJFX0RFRklORVMpICQoV0tfTUFOVUFMX1NB
TkRCT1hJTkdfREVGSU5FUykgRlJBTUVXT1JLX05BTUU9V2ViS2l0Ow0KK0dDQ19QUkVQUk9DRVNT
T1JfREVGSU5JVElPTlMgPSAkKERFQlVHX0RFRklORVMpICQoRkVBVFVSRV9ERUZJTkVTKSAkKFdL
X01BTlVBTF9TQU5EQk9YSU5HX0RFRklORVMpICQoV0tfQ09SRV9QUkVESUNUSU9OX0RFRklORVMp
IEZSQU1FV09SS19OQU1FPVdlYktpdDsNCiBXRUJLSVRBRERJVElPTlNfSEVBREVSX1NFQVJDSF9Q
QVRIUyA9ICQoQlVJTFRfUFJPRFVDVFNfRElSKS91c3IvbG9jYWwvaW5jbHVkZS9XZWJLaXRBZGRp
dGlvbnMgJChTREtST09UKS91c3IvbG9jYWwvaW5jbHVkZS9XZWJLaXRBZGRpdGlvbnM7DQogSEVB
REVSX1NFQVJDSF9QQVRIUyA9ICQoQlVJTFRfUFJPRFVDVFNfRElSKS91c3IvbG9jYWwvaW5jbHVk
ZSAiJChXRUJDT1JFX1BSSVZBVEVfSEVBREVSU19ESVIpL0ZvcndhcmRpbmdIZWFkZXJzIiAiJChX
RUJDT1JFX1BSSVZBVEVfSEVBREVSU19ESVIpL2ljdSIgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYktpdDIgJChXRUJLSVRBRERJVElPTlNfSEVBREVSX1NFQVJDSF9QQVRI
UykgJChIRUFERVJfU0VBUkNIX1BBVEhTKTsNCiANCkBAIC0xMDUsMyArMTA1LDggQEAgV0tfVVNF
X09WRVJSSURFX0ZSQU1FV09SS1NfRElSID0gJChXS19OTw0KIA0KIFdLX09WRVJSSURFX0ZSQU1F
V09SS1NfRElSID0gJChXS19PVkVSUklERV9GUkFNRVdPUktTX0RJUl9VU0VfU1RBR0lOR19JTlNU
QUxMX1BBVEhfJChVU0VfU1RBR0lOR19JTlNUQUxMX1BBVEgpKTsNCiBXS19PVkVSUklERV9GUkFN
RVdPUktTX0RJUl9VU0VfU1RBR0lOR19JTlNUQUxMX1BBVEhfWUVTID0gJChTWVNURU1fTElCUkFS
WV9ESVIpL1N0YWdlZEZyYW1ld29ya3MvU2FmYXJpOw0KKw0KK1dLX0hBVkVfQ09SRV9QUkVESUNU
SU9OID0gWUVTOw0KKw0KK1dLX0NPUkVfUFJFRElDVElPTl9ERUZJTkVTID0gJChXS19DT1JFX1BS
RURJQ1RJT05fREVGSU5FU18kKFdLX0hBVkVfQ09SRV9QUkVESUNUSU9OKSk7DQorV0tfQ09SRV9Q
UkVESUNUSU9OX0RFRklORVNfWUVTID0gSEFWRV9DT1JFX1BSRURJQ1RJT047DQpJbmRleDogU291
cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29uZmlnDQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQot
LS0gU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29uZmlnCShyZXZpc2lv
biAyMTUxNjgpDQorKysgU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29u
ZmlnCSh3b3JraW5nIGNvcHkpDQpAQCAtNTUsNyArNTUsNyBAQCBMSUJXRUJSVENfTElCUkFSWV9E
SVJbc2RrPW1hY29zeCpdID0gJChMDQogTElCV0VCUlRDX0xJQlJBUllfRElSX1VTRV9PVkVSUklE
RV9GUkFNRVdPUktTX0RJUl9OTyA9ICQoV0VCQ09SRV9GUkFNRVdPUktTX0RJUikvV2ViQ29yZS5m
cmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzOw0KIExJQldFQlJUQ19MSUJSQVJZX0RJUl9V
U0VfT1ZFUlJJREVfRlJBTUVXT1JLU19ESVJfWUVTID0gJChXS19PVkVSUklERV9GUkFNRVdPUktT
X0RJUik7DQogDQotT1RIRVJfTERGTEFHUyA9ICQoaW5oZXJpdGVkKSAkKFVORVhQT1JURURfU1lN
Qk9MX0xERkxBR1MpICQoQVNBTl9PVEhFUl9MREZMQUdTKSAkKEZSQU1FV09SS19BTkRfTElCUkFS
WV9MREZMQUdTKSAkKE9USEVSX0xERkxBR1NfUExBVEZPUk0pICQoV0tfUkVMT0NBVEFCTEVfRlJB
TUVXT1JLX0xERkxBR1MpIC1mcmFtZXdvcmsgV2ViS2l0TGVnYWN5Ow0KK09USEVSX0xERkxBR1Mg
PSAkKGluaGVyaXRlZCkgLUYiJChTREtfRElSKSQoU1lTVEVNX0xJQlJBUllfRElSKS9Qcml2YXRl
RnJhbWV3b3JrcyIgJChVTkVYUE9SVEVEX1NZTUJPTF9MREZMQUdTKSAkKEFTQU5fT1RIRVJfTERG
TEFHUykgJChGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHUykgJChPVEhFUl9MREZMQUdTX1BM
QVRGT1JNKSAkKFdLX1JFTE9DQVRBQkxFX0ZSQU1FV09SS19MREZMQUdTKSAkKFdLX0NPUkVfUFJF
RElDVElPTl9MREZMQUdTKSAtZnJhbWV3b3JrIFdlYktpdExlZ2FjeTsNCiBPVEhFUl9MREZMQUdT
X1BMQVRGT1JNW3Nkaz1tYWNvc3gqXSA9ICQoTElCV0VCUlRDX0xERkxBR1MpOw0KIE9USEVSX0xE
RkxBR1NfUExBVEZPUk1bc2RrPWlwaG9uZW9zKl0gPSAtbEFjY2Vzc2liaWxpdHkgJChMSUJXRUJS
VENfTERGTEFHUyk7DQogT1RIRVJfTERGTEFHU19QTEFURk9STVtzZGs9aXBob25lc2ltdWxhdG9y
Kl0gPSAtbEFjY2Vzc2liaWxpdHkgJChMSUJXRUJSVENfTERGTEFHUyk7DQpAQCAtODMsMyArODMs
NyBAQCBXS19GUkFNRVdPUktfSEVBREVSX1BPU1RQUk9DRVNTSU5HX0RJU0FCDQogDQogV0tfUkVM
T0NBVEFCTEVfRlJBTUVXT1JLX0xERkxBR1MgPSAkKFdLX1JFTE9DQVRBQkxFX0ZSQU1FV09SS19M
REZMQUdTXyQoV0tfUkVMT0NBVEFCTEVfRlJBTUVXT1JLUykpOw0KIFdLX1JFTE9DQVRBQkxFX0ZS
QU1FV09SS19MREZMQUdTX1lFUyA9IC1XbCwtbm90X2Zvcl9keWxkX3NoYXJlZF9jYWNoZTsNCisN
CitXS19DT1JFX1BSRURJQ1RJT05fTERGTEFHUyA9ICQoV0tfQ09SRV9QUkVESUNUSU9OX0xERkxB
R1NfJChXS19IQVZFX0NPUkVfUFJFRElDVElPTikpOw0KK1dLX0NPUkVfUFJFRElDVElPTl9MREZM
QUdTX1lFUyA9IC1mcmFtZXdvcmsgQ29yZVByZWRpY3Rpb247DQorV0tfQ09SRV9QUkVESUNUSU9O
X0xERkxBR1NfWUVTW3Nkaz1tYWNvc3gqXSA9IC13ZWFrX2ZyYW1ld29yayBDb3JlUHJlZGljdGlv
bjsNCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL0NvcmVQ
cmVkaWN0aW9uU29mdExpbmsuaA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL2NsYXNzaWZpZXIvY29jb2EvQ29yZVByZWRpY3Rpb25Tb2Z0TGluay5oCShyZXZpc2lvbiAy
MTUxNjgpDQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9Db3Jl
UHJlZGljdGlvblNvZnRMaW5rLmgJKG5vbmV4aXN0ZW50KQ0KQEAgLTEsMzggKzAsMCBAQA0KLS8q
DQotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4N
Ci0gKg0KLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dA0KLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucw0KLSAqIGFyZSBtZXQ6DQotICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQNCi0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuDQotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQNCi0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlDQot
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4NCi0gKg0KLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycNCi0gKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywNCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSDQotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTDQotICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUg0KLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GDQotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQotICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4NCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQ0KLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YNCi0gKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQotICovDQotDQotI3ByYWdtYSBvbmNlDQotDQotI2lu
Y2x1ZGUgPFdlYkNvcmUvU29mdExpbmtpbmcuaD4NCi0NCi1zdHJ1Y3Qgc3ZtX21vZGVsOw0KLXN0
cnVjdCBzdm1fbm9kZSB7DQotICAgIGludCBpbmRleDsNCi0gICAgZG91YmxlIHZhbHVlOw0KLX07
DQotDQotU09GVF9MSU5LX1BSSVZBVEVfRlJBTUVXT1JLX09QVElPTkFMKENvcmVQcmVkaWN0aW9u
KQ0KLVNPRlRfTElOSyhDb3JlUHJlZGljdGlvbiwgc3ZtX3ByZWRpY3RfdmFsdWVzLCBkb3VibGUs
IChjb25zdCBzdHJ1Y3Qgc3ZtX21vZGVsICptb2RlbCwgY29uc3Qgc3RydWN0IHN2bV9ub2RlICp4
LCBkb3VibGUqIGRlY192YWx1ZXMpLCAobW9kZWwsIHgsIGRlY192YWx1ZXMpKQ0KLVNPRlRfTElO
SyhDb3JlUHJlZGljdGlvbiwgc3ZtX2xvYWRfbW9kZWwsIHN2bV9tb2RlbCosIChjb25zdCBjaGFy
ICptb2RlbF9maWxlX25hbWUpLCAobW9kZWxfZmlsZV9uYW1lKSkNCkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFz
c2lmaWVyQ29jb2EuY3BwDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gU291cmNlL1dlYktpdDIvUGxhdGZvcm0v
Y2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNw
cAkocmV2aXNpb24gMjE1MTY4KQ0KKysrIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZp
ZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHAJKHdvcmtp
bmcgY29weSkNCkBAIC0yNiw5ICsyNiwxMSBAQA0KICNpbmNsdWRlICJjb25maWcuaCINCiAjaW5j
bHVkZSAiUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oIg0KIA0KKyNpZiBI
QVZFKENPUkVfUFJFRElDVElPTikNCisNCisjaW5jbHVkZSAiQ29yZVByZWRpY3Rpb25TUEkuaCIN
CiAjaW5jbHVkZSAiTG9nZ2luZy5oIg0KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4N
Ci0jaW5jbHVkZSAiQ29yZVByZWRpY3Rpb25Tb2Z0TGluay5oIg0KIA0KIG5hbWVzcGFjZSBXZWJL
aXQgew0KIA0KQEAgLTcwLDYgKzcyLDE3IEBAIFN0cmluZyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllckMNCiAgICAgcmV0dXJuIFN0cmluZyhyZXNvdXJjZVVybFN0cmluZy5nZXQoKSk7
DQogfQ0KIA0KK3N0YXRpYyBpbmxpbmUgYm9vbCBpc051bGxGdW5jdGlvblBvaW50ZXIodm9pZCog
ZnVuY3Rpb25Qb2ludGVyKQ0KK3sNCisgICAgdm9pZCogcmVzdWx0Ow0KKyAgICBhc20oDQorICAg
ICAgICAibW92ICUxLCAlMCINCisgICAgICAgIDogIj1yIiAocmVzdWx0KQ0KKyAgICAgICAgOiAi
ciIgKGZ1bmN0aW9uUG9pbnRlcikNCisgICAgKTsNCisgICAgcmV0dXJuICFyZXN1bHQ7DQorfQ0K
Kw0KIGJvb2wgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYTo6Y2FuVXNlQ29y
ZVByZWRpY3Rpb24oKQ0KIHsNCiAgICAgaWYgKG1faGF2ZUxvYWRlZE1vZGVsKQ0KQEAgLTc4LDcg
KzkxLDcgQEAgYm9vbCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvYw0KICAgICBp
ZiAoIW1fdXNlQ29yZVByZWRpY3Rpb24pDQogICAgICAgICByZXR1cm4gZmFsc2U7DQogDQotICAg
IGlmICghQ29yZVByZWRpY3Rpb25MaWJyYXJ5KCkpIHsNCisgICAgaWYgKGlzTnVsbEZ1bmN0aW9u
UG9pbnRlcihyZWludGVycHJldF9jYXN0PHZvaWQqPihzdm1fbG9hZF9tb2RlbCkpKSB7DQogICAg
ICAgICBtX3VzZUNvcmVQcmVkaWN0aW9uID0gZmFsc2U7DQogICAgICAgICByZXR1cm4gZmFsc2U7
DQogICAgIH0NCkBAIC0xMTAsMyArMTIzLDUgQEAgY29uc3Qgc3RydWN0IHN2bV9tb2RlbCogUmVz
b3VyY2VMb2FkU3RhdA0KICAgICByZXR1cm4gbnVsbHB0cjsNCiB9DQogfQ0KKw0KKyNlbmRpZg0K
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VM
b2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gU291cmNlL1dl
YktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xh
c3NpZmllckNvY29hLmgJKHJldmlzaW9uIDIxNTE2OCkNCisrKyBTb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29j
b2EuaAkod29ya2luZyBjb3B5KQ0KQEAgLTI1LDYgKzI1LDggQEANCiANCiAjcHJhZ21hIG9uY2UN
CiANCisjaWYgSEFWRShDT1JFX1BSRURJQ1RJT04pDQorDQogI2luY2x1ZGUgIlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmgiDQogI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPg0KICNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4NCkBAIC00NCwzICs0Niw1IEBAIHByaXZhdGU6
DQogfTsNCiAgICAgDQogfQ0KKw0KKyNlbmRpZg0KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL3NwaS9Db2NvYS9Db3JlUHJlZGljdGlvblNQSS5oDQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vc3BpL0NvY29hL0NvcmVQcmVkaWN0aW9uU1BJLmgJKG5vbmV4aXN0
ZW50KQ0KKysrIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9Db2NvYS9Db3JlUHJlZGljdGlv
blNQSS5oCSh3b3JraW5nIGNvcHkpDQpAQCAtMCwwICsxLDU3IEBADQorLyoNCisgKiBDb3B5cmln
aHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KKyAqDQorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0DQorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zDQorICogYXJlIG1ldDoNCisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodA0KKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4NCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodA0KKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUNCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLg0KKyAqDQorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJw0KKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLA0KKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVINCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMNCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SDQorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YNCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTg0KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpDQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRg0KKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4NCisgKi8NCisNCisjcHJhZ21hIG9uY2UNCisNCisjaWYgSEFWRShDT1JFX1BS
RURJQ1RJT04pDQorDQorI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspDQorDQorI2ltcG9ydCA8
Q29yZVByZWRpY3Rpb24vc3ZtLmg+DQorDQorI2Vsc2UNCisNCitzdHJ1Y3Qgc3ZtX25vZGUNCit7
DQorICAgIGludCBpbmRleDsNCisgICAgZG91YmxlIHZhbHVlOw0KK307DQorDQorI2VuZGlmDQor
DQorI2lmZGVmIF9fY3BsdXNwbHVzDQorZXh0ZXJuICJDIiB7DQorI2VuZGlmDQorDQordHlwZWRl
ZiBzdHJ1Y3Qgc3ZtX25vZGUgc3ZtX25vZGU7DQorDQorc3RydWN0IHN2bV9tb2RlbCAqc3ZtX2xv
YWRfbW9kZWwoY29uc3QgY2hhciAqbW9kZWxfZmlsZV9uYW1lKTsNCitkb3VibGUgc3ZtX3ByZWRp
Y3RfdmFsdWVzKGNvbnN0IHN0cnVjdCBzdm1fbW9kZWwgKm1vZGVsLCBjb25zdCBzdHJ1Y3Qgc3Zt
X25vZGUgKngsIGRvdWJsZSogZGVjX3ZhbHVlcyk7DQorDQorI2lmZGVmIF9fY3BsdXNwbHVzDQor
fQ0KKyNlbmRpZg0KKw0KKyNlbmRpZg0KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaA0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaAkocmV2aXNp
b24gMjE1MTY4KQ0KKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzU3RvcmUuaAkod29ya2luZyBjb3B5KQ0KQEAgLTMzLDcgKzMzLDcgQEANCiAjaW5j
bHVkZSA8d3RmL1ZlY3Rvci5oPg0KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4NCiAN
Ci0jaWYgUExBVEZPUk0oQ09DT0EpDQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBIQVZFKENPUkVf
UFJFRElDVElPTikNCiAjaW5jbHVkZSAiUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJD
b2NvYS5oIg0KICNlbmRpZg0KIA0KQEAgLTk0LDcgKzk0LDcgQEAgcHJpdmF0ZToNCiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPFdlYkNvcmU6OktleWVkRGVjb2Rlcj4gY3JlYXRlRGVjb2RlckZyb21EaXNr
KGNvbnN0IFN0cmluZyYgbGFiZWwpIGNvbnN0Ow0KIA0KICAgICBSZWY8V2ViQ29yZTo6UmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1N0b3JlPiBtX3Jlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTsNCi0j
aWYgUExBVEZPUk0oQ09DT0EpDQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBIQVZFKENPUkVfUFJF
RElDVElPTikNCiAgICAgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYSBtX3Jl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyOw0KICNlbHNlDQogICAgIFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NDbGFzc2lmaWVyIG1fcmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXI7
DQpJbmRleDogU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
DQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09DQotLS0gU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCShyZXZpc2lvbiAyMTUxNjgpDQorKysgU291cmNlL1dlYktpdDIvV2ViS2l0Mi54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpDQpAQCAtODUwLDYgKzg1MCw3
IEBADQogCQkzN0JFQzRFMTE5NDkxNDg2MDA4QjQyODYgLyogQ29tcGxldGlvbkhhbmRsZXJDYWxs
Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MzdCRUM0REYxOTQ5MTQ4NjAwOEI0Mjg2IC8qIENvbXBsZXRpb25IYW5kbGVyQ2FsbENoZWNrZXIu
aCAqLzsgfTsNCiAJCTM3QkYyRjA2MTk0N0RFQjQwMDcyM0M0OCAvKiBXS05TVVJMUmVxdWVzdC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdCRjJGMDQx
OTQ3REVCNDAwNzIzQzQ4IC8qIFdLTlNVUkxSZXF1ZXN0LmggKi87IH07DQogCQkzN0JGMkYwNzE5
NDdERUI0MDA3MjNDNDggLyogV0tOU1VSTFJlcXVlc3QubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0JGMkYwNTE5NDdERUI0MDA3MjNDNDggLyogV0tO
U1VSTFJlcXVlc3QubW0gKi87IH07DQorCQkzN0MyMUNBRTFFOTk0QzBDMDAyOUQ1RjkgLyogQ29y
ZVByZWRpY3Rpb25TUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDM3QzIxQ0FEMUU5OTRDMEMwMDI5RDVGOSAvKiBDb3JlUHJlZGljdGlvblNQSS5oICov
OyB9Ow0KIAkJMzdDNEMwODYxODE0OUM1QjAwMzY4OEI5IC8qIFdLQmFja0ZvcndhcmRMaXN0SXRl
bS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3QzRD
MDg0MTgxNDlDNUIwMDM2ODhCOSAvKiBXS0JhY2tGb3J3YXJkTGlzdEl0ZW0ubW0gKi87IH07DQog
CQkzN0M0QzA4NzE4MTQ5QzVCMDAzNjg4QjkgLyogV0tCYWNrRm9yd2FyZExpc3RJdGVtLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0M0QzA4NTE4MTQ5
QzVCMDAzNjg4QjkgLyogV0tCYWNrRm9yd2FyZExpc3RJdGVtLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9Ow0KIAkJMzdDNEMwODkxODE0OUYyMzAwMzY4OEI5
IC8qIFdLQmFja0ZvcndhcmRMaXN0SXRlbUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0M0QzA4ODE4MTQ5RjIzMDAzNjg4QjkgLyogV0tC
YWNrRm9yd2FyZExpc3RJdGVtSW50ZXJuYWwuaCAqLzsgfTsNCkBAIC0xMTc0LDcgKzExNzUsNiBA
QA0KIAkJNjUwMUJEMUExMkYxMjQzNDAwRTlGMjQ4IC8qIFdLQnVuZGxlSW5zcGVjdG9yLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1Qjg2RjE3MTJG
MTFEN0IwMEI3REQ4QSAvKiBXS0J1bmRsZUluc3BlY3Rvci5jcHAgKi87IH07DQogCQk2NTlDNTUx
RTEzMDAwNjQxMDAyNUMwQzIgLyogSW5qZWN0ZWRCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1NDZB
ODI5MTMwMDAxNjQwMDBDRUIxQyAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGll
bnQuY3BwICovOyB9Ow0KIAkJNjVCODZGMUUxMkYxMURFMzAwQjdERDhBIC8qIFdLQnVuZGxlSW5z
cGVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2
NUI4NkYxODEyRjExRDdCMDBCN0REOEEgLyogV0tCdW5kbGVJbnNwZWN0b3IuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Ow0KLQkJNkIyRTA5QkExRTU3Qjg4
MTAwQzhBOEI5IC8qIENvcmVQcmVkaWN0aW9uU29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZCMkUwOUI5MUU1N0I4ODEwMEM4QThCOSAvKiBD
b3JlUHJlZGljdGlvblNvZnRMaW5rLmggKi87IH07DQogCQk2QkU5Njk5QzFFNDNCM0ZGMDA4Qjc0
ODMgLyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5OUIxRTQzQjNGRjAwOEI3NDgzIC8q
IFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9Ow0KIAkJNkJFOTY5OUUxRTQzQjQxRDAwOEI3NDgzIC8q
IFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5OUQxRTQzQjQxRDAwOEI3NDgzIC8qIFdL
UmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwICovOyB9Ow0KIAkJNkJFOTY5QTAxRTQz
Qjg2RTAwOEI3NDgzIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5Njk5RjFFNDNCODZF
MDA4Qjc0ODMgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaCAqLzsgfTsNCkBA
IC0zMDUyLDYgKzMwNTIsNyBAQA0KIAkJMzdCRUM0REYxOTQ5MTQ4NjAwOEI0Mjg2IC8qIENvbXBs
ZXRpb25IYW5kbGVyQ2FsbENoZWNrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQ29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9Ow0KIAkJMzdCRjJGMDQxOTQ3REVCNDAwNzIzQzQ4IC8qIFdLTlNVUkxSZXF1ZXN0LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLTlNVUkxSZXF1ZXN0Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07DQogCQkzN0JGMkYwNTE5NDdERUI0MDA3MjNDNDggLyogV0tOU1VS
TFJlcXVlc3QubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS05T
VVJMUmVxdWVzdC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsNCisJCTM3QzIxQ0FEMUU5
OTRDMEMwMDI5RDVGOSAvKiBDb3JlUHJlZGljdGlvblNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDb3JlUHJlZGljdGlvblNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9Ow0KIAkJMzdDNEMwODQxODE0OUM1QjAwMzY4OEI5IC8qIFdLQmFja0ZvcndhcmRMaXN0SXRl
bS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLQmFja0Zvcndh
cmRMaXN0SXRlbS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsNCiAJCTM3QzRDMDg1MTgx
NDlDNUIwMDM2ODhCOSAvKiBXS0JhY2tGb3J3YXJkTGlzdEl0ZW0uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gV0tCYWNrRm9yd2FyZExpc3RJdGVtLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07DQogCQkzN0M0QzA4ODE4MTQ5RjIzMDAzNjg4QjkgLyogV0tCYWNrRm9yd2Fy
ZExpc3RJdGVtSW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tC
YWNrRm9yd2FyZExpc3RJdGVtSW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsN
CkBAIC0zNDM1LDcgKzM0MzYsNiBAQA0KIAkJNjU0NkE4MkExMzAwMDE2NDAwMENFQjFDIC8qIElu
amVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBJbmplY3RlZEJ1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsNCiAJCTY1Qjg2RjE3MTJGMTFEN0IwMEI3REQ4QSAvKiBX
S0J1bmRsZUluc3BlY3Rvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBXS0J1bmRsZUluc3BlY3Rvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07DQogCQk2
NUI4NkYxODEyRjExRDdCMDBCN0REOEEgLyogV0tCdW5kbGVJbnNwZWN0b3IuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tCdW5kbGVJbnNwZWN0b3IuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsNCi0JCTZCMkUwOUI5MUU1N0I4ODEwMEM4QThCOSAvKiBDb3JlUHJlZGlj
dGlvblNvZnRMaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvcmVQcmVk
aWN0aW9uU29mdExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsNCiAJCTZCRTk2OTlC
MUU0M0IzRkYwMDhCNzQ4MyAvKiBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01h
bmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsNCiAJCTZCRTk2OTlEMUU0M0I0MUQw
MDhCNzQ4MyAvKiBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFn
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Ow0KIAkJNkJFOTY5OUYxRTQzQjg2RTAw
OEI3NDgzIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07DQpAQCAtNTQ4NCw2ICs1NDg0LDcgQEANCiAJCQlp
c2EgPSBQQlhHcm91cDsNCiAJCQljaGlsZHJlbiA9ICgNCiAJCQkJMUE1NzA1MTAxQkU0MTBFNTAw
ODc0QUYxIC8qIEJsb2NrU1BJLmggKi8sDQorCQkJCTM3QzIxQ0FEMUU5OTRDMEMwMDI5RDVGOSAv
KiBDb3JlUHJlZGljdGlvblNQSS5oICovLA0KIAkJCQkzNzU0RDU0NDFCM0EyOUZEMDAzQTRDN0Yg
LyogTlNJbnZvY2F0aW9uU1BJLmggKi8sDQogCQkJCTM3QjQ3RTJDMUQ2NERCNzYwMDVGNEVGRiAv
KiBvYmpjU1BJLmggKi8sDQogCQkJKTsNCkBAIC02Mjk5LDcgKzYzMDAsNiBAQA0KIAkJNkJFOTY5
QzMxRTU0RDQ2NzAwOEI3NDgzIC8qIGNvY29hICovID0gew0KIAkJCWlzYSA9IFBCWEdyb3VwOw0K
IAkJCWNoaWxkcmVuID0gKA0KLQkJCQk2QjJFMDlCOTFFNTdCODgxMDBDOEE4QjkgLyogQ29yZVBy
ZWRpY3Rpb25Tb2Z0TGluay5oICovLA0KIAkJCQk2QkU5NjlDODFFNTRENENGMDA4Qjc0ODMgLyog
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHAgKi8sDQogCQkJCTZCRTk2
OUM5MUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNv
Y29hLmggKi8sDQogCQkJKTsNCkBAIC04MjI2LDcgKzgyMjYsNiBAQA0KIAkJCQk1MTA2RDdDNDE4
QkRCRTczMDAwQUIxNjYgLyogQ29udGV4dE1lbnVDb250ZXh0RGF0YS5oIGluIEhlYWRlcnMgKi8s
DQogCQkJCUNEQzM4MzBDMTcyMTIyODIwMDhBMkZDMyAvKiBDb29raWVTdG9yYWdlU2hpbUxpYnJh
cnkuaCBpbiBIZWFkZXJzICovLA0KIAkJCQlDRTFBMEJEMzFBNDhFNkM2MDA1NEVGNzQgLyogQ29y
ZVBERlNQSS5oIGluIEhlYWRlcnMgKi8sDQotCQkJCTZCMkUwOUJBMUU1N0I4ODEwMEM4QThCOSAv
KiBDb3JlUHJlZGljdGlvblNvZnRMaW5rLmggaW4gSGVhZGVycyAqLywNCiAJCQkJQjg3OEI2MTUx
MzM0MjhEQzAwNjg4OEU5IC8qIENvcnJlY3Rpb25QYW5lbC5oIGluIEhlYWRlcnMgKi8sDQogCQkJ
CTUxNUU3NzJDMTg0MDA4QjkwMDA3MjAzRiAvKiBEYXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuaCBpbiBIZWFkZXJzICovLA0KIAkJCQk1MTJBOTc2MTE4MEUwMzFEMDAzOUExNDkgLyog
RGF0YWJhc2VQcm9jZXNzTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLA0KQEAgLTgyNTUsNiArODI1
NCw3IEBADQogCQkJCUJDMDMyREE4MTBGNDM3RDEwMDU4QzE1QSAvKiBFbmNvZGVyLmggaW4gSGVh
ZGVycyAqLywNCiAJCQkJNTFCMTVBODUxMzg0M0EzOTAwMzIxQUQ4IC8qIEVudmlyb25tZW50VXRp
bGl0aWVzLmggaW4gSGVhZGVycyAqLywNCiAJCQkJMUFBNTc1RkIxNDk2QjUyNjAwQTRFRTA2IC8q
IEV2ZW50RGlzcGF0Y2hlci5oIGluIEhlYWRlcnMgKi8sDQorCQkJCTM3QzIxQ0FFMUU5OTRDMEMw
MDI5RDVGOSAvKiBDb3JlUHJlZGljdGlvblNQSS5oIGluIEhlYWRlcnMgKi8sDQogCQkJCTAwQjk2
NjFBMThFMjVBRTEwMENFMUY4OCAvKiBGaW5kQ2xpZW50LmggaW4gSGVhZGVycyAqLywNCiAJCQkJ
MUE5MEMxRjQxMjY0RkQ3MTAwM0U0NEQ0IC8qIEZpbmRDb250cm9sbGVyLmggaW4gSGVhZGVycyAq
LywNCiAJCQkJQkNFODFEOEQxMzE5RjdFRjAwMjQxOTEwIC8qIEZvbnRJbmZvLmggaW4gSGVhZGVy
cyAqLywNCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306642</attachid>
            <date>2017-04-09 18:39:46 -0700</date>
            <delta_ts>2017-04-09 19:21:54 -0700</delta_ts>
            <desc>Patch for EWS</desc>
            <filename>file_170644.txt</filename>
            <type>text/plain</type>
            <size>18189</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0Jhc2VUYXJnZXQueGNjb25maWcN
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0NCi0tLSBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9CYXNlVGFyZ2V0
LnhjY29uZmlnCShyZXZpc2lvbiAyMTUxNjgpDQorKysgU291cmNlL1dlYktpdDIvQ29uZmlndXJh
dGlvbnMvQmFzZVRhcmdldC54Y2NvbmZpZwkod29ya2luZyBjb3B5KQ0KQEAgLTM3LDcgKzM3LDcg
QEAgRlJBTUVXT1JLX1NFQVJDSF9QQVRIU1tzZGs9aXBob25lKl0gPSAkKA0KIEZSQU1FV09SS19T
RUFSQ0hfUEFUSFMgPSAkKEZSQU1FV09SS19TRUFSQ0hfUEFUSFNfYmFzZSk7DQogDQogR0NDX1BS
RUZJWF9IRUFERVIgPSBXZWJLaXQyUHJlZml4Lmg7DQotR0NDX1BSRVBST0NFU1NPUl9ERUZJTklU
SU9OUyA9ICQoREVCVUdfREVGSU5FUykgJChGRUFUVVJFX0RFRklORVMpICQoV0tfTUFOVUFMX1NB
TkRCT1hJTkdfREVGSU5FUykgRlJBTUVXT1JLX05BTUU9V2ViS2l0Ow0KK0dDQ19QUkVQUk9DRVNT
T1JfREVGSU5JVElPTlMgPSAkKERFQlVHX0RFRklORVMpICQoRkVBVFVSRV9ERUZJTkVTKSAkKFdL
X01BTlVBTF9TQU5EQk9YSU5HX0RFRklORVMpICQoV0tfQ09SRV9QUkVESUNUSU9OX0RFRklORVMp
IEZSQU1FV09SS19OQU1FPVdlYktpdDsNCiBXRUJLSVRBRERJVElPTlNfSEVBREVSX1NFQVJDSF9Q
QVRIUyA9ICQoQlVJTFRfUFJPRFVDVFNfRElSKS91c3IvbG9jYWwvaW5jbHVkZS9XZWJLaXRBZGRp
dGlvbnMgJChTREtST09UKS91c3IvbG9jYWwvaW5jbHVkZS9XZWJLaXRBZGRpdGlvbnM7DQogSEVB
REVSX1NFQVJDSF9QQVRIUyA9ICQoQlVJTFRfUFJPRFVDVFNfRElSKS91c3IvbG9jYWwvaW5jbHVk
ZSAiJChXRUJDT1JFX1BSSVZBVEVfSEVBREVSU19ESVIpL0ZvcndhcmRpbmdIZWFkZXJzIiAiJChX
RUJDT1JFX1BSSVZBVEVfSEVBREVSU19ESVIpL2ljdSIgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYktpdDIgJChXRUJLSVRBRERJVElPTlNfSEVBREVSX1NFQVJDSF9QQVRI
UykgJChIRUFERVJfU0VBUkNIX1BBVEhTKTsNCiANCkBAIC0xMDUsMyArMTA1LDkgQEAgV0tfVVNF
X09WRVJSSURFX0ZSQU1FV09SS1NfRElSID0gJChXS19OTw0KIA0KIFdLX09WRVJSSURFX0ZSQU1F
V09SS1NfRElSID0gJChXS19PVkVSUklERV9GUkFNRVdPUktTX0RJUl9VU0VfU1RBR0lOR19JTlNU
QUxMX1BBVEhfJChVU0VfU1RBR0lOR19JTlNUQUxMX1BBVEgpKTsNCiBXS19PVkVSUklERV9GUkFN
RVdPUktTX0RJUl9VU0VfU1RBR0lOR19JTlNUQUxMX1BBVEhfWUVTID0gJChTWVNURU1fTElCUkFS
WV9ESVIpL1N0YWdlZEZyYW1ld29ya3MvU2FmYXJpOw0KKw0KK1dLX0hBVkVfQ09SRV9QUkVESUNU
SU9OID0gWUVTOw0KK1dLX0hBVkVfQ09SRV9QUkVESUNUSU9OW3Nkaz1tYWNvc3gqXVthcmNoPWkz
ODZdID0gTk87DQorDQorV0tfQ09SRV9QUkVESUNUSU9OX0RFRklORVMgPSAkKFdLX0NPUkVfUFJF
RElDVElPTl9ERUZJTkVTXyQoV0tfSEFWRV9DT1JFX1BSRURJQ1RJT04pKTsNCitXS19DT1JFX1BS
RURJQ1RJT05fREVGSU5FU19ZRVMgPSBIQVZFX0NPUkVfUFJFRElDVElPTjsNCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcNCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0t
LSBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcJKHJldmlzaW9u
IDIxNTE2OCkNCisrKyBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25m
aWcJKHdvcmtpbmcgY29weSkNCkBAIC01NSw3ICs1NSw3IEBAIExJQldFQlJUQ19MSUJSQVJZX0RJ
UltzZGs9bWFjb3N4Kl0gPSAkKEwNCiBMSUJXRUJSVENfTElCUkFSWV9ESVJfVVNFX09WRVJSSURF
X0ZSQU1FV09SS1NfRElSX05PID0gJChXRUJDT1JFX0ZSQU1FV09SS1NfRElSKS9XZWJDb3JlLmZy
YW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3M7DQogTElCV0VCUlRDX0xJQlJBUllfRElSX1VT
RV9PVkVSUklERV9GUkFNRVdPUktTX0RJUl9ZRVMgPSAkKFdLX09WRVJSSURFX0ZSQU1FV09SS1Nf
RElSKTsNCiANCi1PVEhFUl9MREZMQUdTID0gJChpbmhlcml0ZWQpICQoVU5FWFBPUlRFRF9TWU1C
T0xfTERGTEFHUykgJChBU0FOX09USEVSX0xERkxBR1MpICQoRlJBTUVXT1JLX0FORF9MSUJSQVJZ
X0xERkxBR1MpICQoT1RIRVJfTERGTEFHU19QTEFURk9STSkgJChXS19SRUxPQ0FUQUJMRV9GUkFN
RVdPUktfTERGTEFHUykgLWZyYW1ld29yayBXZWJLaXRMZWdhY3k7DQorT1RIRVJfTERGTEFHUyA9
ICQoaW5oZXJpdGVkKSAtRiIkKFNES19ESVIpJChTWVNURU1fTElCUkFSWV9ESVIpL1ByaXZhdGVG
cmFtZXdvcmtzIiAkKFVORVhQT1JURURfU1lNQk9MX0xERkxBR1MpICQoQVNBTl9PVEhFUl9MREZM
QUdTKSAkKEZSQU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdTKSAkKE9USEVSX0xERkxBR1NfUExB
VEZPUk0pICQoV0tfUkVMT0NBVEFCTEVfRlJBTUVXT1JLX0xERkxBR1MpICQoV0tfQ09SRV9QUkVE
SUNUSU9OX0xERkxBR1MpIC1mcmFtZXdvcmsgV2ViS2l0TGVnYWN5Ow0KIE9USEVSX0xERkxBR1Nf
UExBVEZPUk1bc2RrPW1hY29zeCpdID0gJChMSUJXRUJSVENfTERGTEFHUyk7DQogT1RIRVJfTERG
TEFHU19QTEFURk9STVtzZGs9aXBob25lb3MqXSA9IC1sQWNjZXNzaWJpbGl0eSAkKExJQldFQlJU
Q19MREZMQUdTKTsNCiBPVEhFUl9MREZMQUdTX1BMQVRGT1JNW3Nkaz1pcGhvbmVzaW11bGF0b3Iq
XSA9IC1sQWNjZXNzaWJpbGl0eSAkKExJQldFQlJUQ19MREZMQUdTKTsNCkBAIC04MywzICs4Myw3
IEBAIFdLX0ZSQU1FV09SS19IRUFERVJfUE9TVFBST0NFU1NJTkdfRElTQUINCiANCiBXS19SRUxP
Q0FUQUJMRV9GUkFNRVdPUktfTERGTEFHUyA9ICQoV0tfUkVMT0NBVEFCTEVfRlJBTUVXT1JLX0xE
RkxBR1NfJChXS19SRUxPQ0FUQUJMRV9GUkFNRVdPUktTKSk7DQogV0tfUkVMT0NBVEFCTEVfRlJB
TUVXT1JLX0xERkxBR1NfWUVTID0gLVdsLC1ub3RfZm9yX2R5bGRfc2hhcmVkX2NhY2hlOw0KKw0K
K1dLX0NPUkVfUFJFRElDVElPTl9MREZMQUdTID0gJChXS19DT1JFX1BSRURJQ1RJT05fTERGTEFH
U18kKFdLX0hBVkVfQ09SRV9QUkVESUNUSU9OKSk7DQorV0tfQ09SRV9QUkVESUNUSU9OX0xERkxB
R1NfWUVTID0gLWZyYW1ld29yayBDb3JlUHJlZGljdGlvbjsNCitXS19DT1JFX1BSRURJQ1RJT05f
TERGTEFHU19ZRVNbc2RrPW1hY29zeCpdID0gLXdlYWtfZnJhbWV3b3JrIENvcmVQcmVkaWN0aW9u
Ow0KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvQ29yZVBy
ZWRpY3Rpb25Tb2Z0TGluay5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gU291cmNlL1dlYktpdDIvUGxhdGZv
cm0vY2xhc3NpZmllci9jb2NvYS9Db3JlUHJlZGljdGlvblNvZnRMaW5rLmgJKHJldmlzaW9uIDIx
NTE2OCkNCisrKyBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL0NvcmVQ
cmVkaWN0aW9uU29mdExpbmsuaAkobm9uZXhpc3RlbnQpDQpAQCAtMSwzOCArMCwwIEBADQotLyoN
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLg0K
LSAqDQotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0DQotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zDQotICogYXJlIG1ldDoNCi0gKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodA0KLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4NCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodA0KLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUNCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLg0KLSAqDQotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJw0KLSAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LA0KLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVINCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMNCi0gKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SDQotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YNCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0gKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTg0KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpDQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRg0KLSAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCi0gKi8NCi0NCi0jcHJhZ21hIG9uY2UNCi0NCi0jaW5j
bHVkZSA8V2ViQ29yZS9Tb2Z0TGlua2luZy5oPg0KLQ0KLXN0cnVjdCBzdm1fbW9kZWw7DQotc3Ry
dWN0IHN2bV9ub2RlIHsNCi0gICAgaW50IGluZGV4Ow0KLSAgICBkb3VibGUgdmFsdWU7DQotfTsN
Ci0NCi1TT0ZUX0xJTktfUFJJVkFURV9GUkFNRVdPUktfT1BUSU9OQUwoQ29yZVByZWRpY3Rpb24p
DQotU09GVF9MSU5LKENvcmVQcmVkaWN0aW9uLCBzdm1fcHJlZGljdF92YWx1ZXMsIGRvdWJsZSwg
KGNvbnN0IHN0cnVjdCBzdm1fbW9kZWwgKm1vZGVsLCBjb25zdCBzdHJ1Y3Qgc3ZtX25vZGUgKngs
IGRvdWJsZSogZGVjX3ZhbHVlcyksIChtb2RlbCwgeCwgZGVjX3ZhbHVlcykpDQotU09GVF9MSU5L
KENvcmVQcmVkaWN0aW9uLCBzdm1fbG9hZF9tb2RlbCwgc3ZtX21vZGVsKiwgKGNvbnN0IGNoYXIg
Km1vZGVsX2ZpbGVfbmFtZSksIChtb2RlbF9maWxlX25hbWUpKQ0KSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXJDb2NvYS5jcHANCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9j
bGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3Bw
CShyZXZpc2lvbiAyMTUxNjgpDQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmll
ci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcAkod29ya2lu
ZyBjb3B5KQ0KQEAgLTI2LDkgKzI2LDExIEBADQogI2luY2x1ZGUgImNvbmZpZy5oIg0KICNpbmNs
dWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmgiDQogDQorI2lmIEhB
VkUoQ09SRV9QUkVESUNUSU9OKQ0KKw0KKyNpbmNsdWRlICJDb3JlUHJlZGljdGlvblNQSS5oIg0K
ICNpbmNsdWRlICJMb2dnaW5nLmgiDQogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPg0K
LSNpbmNsdWRlICJDb3JlUHJlZGljdGlvblNvZnRMaW5rLmgiDQogDQogbmFtZXNwYWNlIFdlYktp
dCB7DQogDQpAQCAtNzAsNiArNzIsMTcgQEAgU3RyaW5nIFJlc291cmNlTG9hZFN0YXRpc3RpY3ND
bGFzc2lmaWVyQw0KICAgICByZXR1cm4gU3RyaW5nKHJlc291cmNlVXJsU3RyaW5nLmdldCgpKTsN
CiB9DQogDQorc3RhdGljIGlubGluZSBib29sIGlzTnVsbEZ1bmN0aW9uUG9pbnRlcih2b2lkKiBm
dW5jdGlvblBvaW50ZXIpDQorew0KKyAgICB2b2lkKiByZXN1bHQ7DQorICAgIGFzbSgNCisgICAg
ICAgICJtb3YgJTEsICUwIg0KKyAgICAgICAgOiAiPXIiIChyZXN1bHQpDQorICAgICAgICA6ICJy
IiAoZnVuY3Rpb25Qb2ludGVyKQ0KKyAgICApOw0KKyAgICByZXR1cm4gIXJlc3VsdDsNCit9DQor
DQogYm9vbCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hOjpjYW5Vc2VDb3Jl
UHJlZGljdGlvbigpDQogew0KICAgICBpZiAobV9oYXZlTG9hZGVkTW9kZWwpDQpAQCAtNzgsNyAr
OTEsNyBAQCBib29sIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jDQogICAgIGlm
ICghbV91c2VDb3JlUHJlZGljdGlvbikNCiAgICAgICAgIHJldHVybiBmYWxzZTsNCiANCi0gICAg
aWYgKCFDb3JlUHJlZGljdGlvbkxpYnJhcnkoKSkgew0KKyAgICBpZiAoaXNOdWxsRnVuY3Rpb25Q
b2ludGVyKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KHN2bV9sb2FkX21vZGVsKSkpIHsNCiAgICAg
ICAgIG1fdXNlQ29yZVByZWRpY3Rpb24gPSBmYWxzZTsNCiAgICAgICAgIHJldHVybiBmYWxzZTsN
CiAgICAgfQ0KQEAgLTExMCwzICsxMjMsNSBAQCBjb25zdCBzdHJ1Y3Qgc3ZtX21vZGVsKiBSZXNv
dXJjZUxvYWRTdGF0DQogICAgIHJldHVybiBudWxscHRyOw0KIH0NCiB9DQorDQorI2VuZGlmDQpJ
bmRleDogU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmgNCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBTb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFz
c2lmaWVyQ29jb2EuaAkocmV2aXNpb24gMjE1MTY4KQ0KKysrIFNvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2Nv
YS5oCSh3b3JraW5nIGNvcHkpDQpAQCAtMjUsNiArMjUsOCBAQA0KIA0KICNwcmFnbWEgb25jZQ0K
IA0KKyNpZiBIQVZFKENPUkVfUFJFRElDVElPTikNCisNCiAjaW5jbHVkZSAiUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0NsYXNzaWZpZXIuaCINCiAjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+DQogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPg0KQEAgLTQ0LDMgKzQ2LDUgQEAgcHJpdmF0ZToN
CiB9Ow0KICAgICANCiB9DQorDQorI2VuZGlmDQpJbmRleDogU291cmNlL1dlYktpdDIvUGxhdGZv
cm0vc3BpL0NvY29hL0NvcmVQcmVkaWN0aW9uU1BJLmgNCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBTb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybS9zcGkvQ29jb2EvQ29yZVByZWRpY3Rpb25TUEkuaAkobm9uZXhpc3Rl
bnQpDQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL0NvY29hL0NvcmVQcmVkaWN0aW9u
U1BJLmgJKHdvcmtpbmcgY29weSkNCkBAIC0wLDAgKzEsNTcgQEANCisvKg0KKyAqIENvcHlyaWdo
dCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQorICoNCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQNCisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMNCisgKiBhcmUgbWV0Og0KKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0DQorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLg0KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0DQorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQ0KKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uDQorICoNCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnDQorICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sDQorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUg0KKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUw0KKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1INCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRg0KKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElODQorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkNCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GDQorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLg0KKyAqLw0KKw0KKyNwcmFnbWEgb25jZQ0KKw0KKyNpZiBIQVZFKENPUkVfUFJF
RElDVElPTikNCisNCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykNCisNCisjaW1wb3J0IDxD
b3JlUHJlZGljdGlvbi9zdm0uaD4NCisNCisjZWxzZQ0KKw0KK3N0cnVjdCBzdm1fbm9kZQ0KK3sN
CisgICAgaW50IGluZGV4Ow0KKyAgICBkb3VibGUgdmFsdWU7DQorfTsNCisNCisjZW5kaWYNCisN
CisjaWZkZWYgX19jcGx1c3BsdXMNCitleHRlcm4gIkMiIHsNCisjZW5kaWYNCisNCit0eXBlZGVm
IHN0cnVjdCBzdm1fbm9kZSBzdm1fbm9kZTsNCisNCitzdHJ1Y3Qgc3ZtX21vZGVsICpzdm1fbG9h
ZF9tb2RlbChjb25zdCBjaGFyICptb2RlbF9maWxlX25hbWUpOw0KK2RvdWJsZSBzdm1fcHJlZGlj
dF92YWx1ZXMoY29uc3Qgc3RydWN0IHN2bV9tb2RlbCAqbW9kZWwsIGNvbnN0IHN0cnVjdCBzdm1f
bm9kZSAqeCwgZG91YmxlKiBkZWNfdmFsdWVzKTsNCisNCisjaWZkZWYgX19jcGx1c3BsdXMNCit9
DQorI2VuZGlmDQorDQorI2VuZGlmDQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oCShyZXZpc2lv
biAyMTUxNjgpDQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0
YXRpc3RpY3NTdG9yZS5oCSh3b3JraW5nIGNvcHkpDQpAQCAtMzMsNyArMzMsNyBAQA0KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+DQogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPg0KIA0K
LSNpZiBQTEFURk9STShDT0NPQSkNCisjaWYgUExBVEZPUk0oQ09DT0EpICYmIEhBVkUoQ09SRV9Q
UkVESUNUSU9OKQ0KICNpbmNsdWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNv
Y29hLmgiDQogI2VuZGlmDQogDQpAQCAtOTQsNyArOTQsNyBAQCBwcml2YXRlOg0KICAgICBzdGQ6
OnVuaXF1ZV9wdHI8V2ViQ29yZTo6S2V5ZWREZWNvZGVyPiBjcmVhdGVEZWNvZGVyRnJvbURpc2so
Y29uc3QgU3RyaW5nJiBsYWJlbCkgY29uc3Q7DQogDQogICAgIFJlZjxXZWJDb3JlOjpSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzU3RvcmU+IG1fcmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOw0KLSNp
ZiBQTEFURk9STShDT0NPQSkNCisjaWYgUExBVEZPUk0oQ09DT0EpICYmIEhBVkUoQ09SRV9QUkVE
SUNUSU9OKQ0KICAgICBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hIG1fcmVz
b3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXI7DQogI2Vsc2UNCiAgICAgUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0NsYXNzaWZpZXIgbV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjsN
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oN
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0NCi0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oJKHJldmlzaW9uIDIxNTE2OCkNCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkNCkBAIC04NTAsNiArODUwLDcg
QEANCiAJCTM3QkVDNEUxMTk0OTE0ODYwMDhCNDI4NiAvKiBDb21wbGV0aW9uSGFuZGxlckNhbGxD
aGVja2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
N0JFQzRERjE5NDkxNDg2MDA4QjQyODYgLyogQ29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlci5o
ICovOyB9Ow0KIAkJMzdCRjJGMDYxOTQ3REVCNDAwNzIzQzQ4IC8qIFdLTlNVUkxSZXF1ZXN0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0JGMkYwNDE5
NDdERUI0MDA3MjNDNDggLyogV0tOU1VSTFJlcXVlc3QuaCAqLzsgfTsNCiAJCTM3QkYyRjA3MTk0
N0RFQjQwMDcyM0M0OCAvKiBXS05TVVJMUmVxdWVzdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3QkYyRjA1MTk0N0RFQjQwMDcyM0M0OCAvKiBXS05T
VVJMUmVxdWVzdC5tbSAqLzsgfTsNCisJCTM3QzIxQ0FFMUU5OTRDMEMwMDI5RDVGOSAvKiBDb3Jl
UHJlZGljdGlvblNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMzdDMjFDQUQxRTk5NEMwQzAwMjlENUY5IC8qIENvcmVQcmVkaWN0aW9uU1BJLmggKi87
IH07DQogCQkzN0M0QzA4NjE4MTQ5QzVCMDAzNjg4QjkgLyogV0tCYWNrRm9yd2FyZExpc3RJdGVt
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdDNEMw
ODQxODE0OUM1QjAwMzY4OEI5IC8qIFdLQmFja0ZvcndhcmRMaXN0SXRlbS5tbSAqLzsgfTsNCiAJ
CTM3QzRDMDg3MTgxNDlDNUIwMDM2ODhCOSAvKiBXS0JhY2tGb3J3YXJkTGlzdEl0ZW0uaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3QzRDMDg1MTgxNDlD
NUIwMDM2ODhCOSAvKiBXS0JhY2tGb3J3YXJkTGlzdEl0ZW0uaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07DQogCQkzN0M0QzA4OTE4MTQ5RjIzMDAzNjg4Qjkg
LyogV0tCYWNrRm9yd2FyZExpc3RJdGVtSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3QzRDMDg4MTgxNDlGMjMwMDM2ODhCOSAvKiBXS0Jh
Y2tGb3J3YXJkTGlzdEl0ZW1JbnRlcm5hbC5oICovOyB9Ow0KQEAgLTExNzQsNyArMTE3NSw2IEBA
DQogCQk2NTAxQkQxQTEyRjEyNDM0MDBFOUYyNDggLyogV0tCdW5kbGVJbnNwZWN0b3IuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjVCODZGMTcxMkYx
MUQ3QjAwQjdERDhBIC8qIFdLQnVuZGxlSW5zcGVjdG9yLmNwcCAqLzsgfTsNCiAJCTY1OUM1NTFF
MTMwMDA2NDEwMDI1QzBDMiAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjU0NkE4
MjkxMzAwMDE2NDAwMENFQjFDIC8qIEluamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVu
dC5jcHAgKi87IH07DQogCQk2NUI4NkYxRTEyRjExREUzMDBCN0REOEEgLyogV0tCdW5kbGVJbnNw
ZWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1
Qjg2RjE4MTJGMTFEN0IwMEI3REQ4QSAvKiBXS0J1bmRsZUluc3BlY3Rvci5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07DQotCQk2QjJFMDlCQTFFNTdCODgx
MDBDOEE4QjkgLyogQ29yZVByZWRpY3Rpb25Tb2Z0TGluay5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkIyRTA5QjkxRTU3Qjg4MTAwQzhBOEI5IC8qIENv
cmVQcmVkaWN0aW9uU29mdExpbmsuaCAqLzsgfTsNCiAJCTZCRTk2OTlDMUU0M0IzRkYwMDhCNzQ4
MyAvKiBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5Njk5QjFFNDNCM0ZGMDA4Qjc0ODMgLyog
V0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07DQogCQk2QkU5Njk5RTFFNDNCNDFEMDA4Qjc0ODMgLyog
V0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5Njk5RDFFNDNCNDFEMDA4Qjc0ODMgLyogV0tS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgKi87IH07DQogCQk2QkU5NjlBMDFFNDNC
ODZFMDA4Qjc0ODMgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2OTlGMUU0M0I4NkUw
MDhCNzQ4MyAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oICovOyB9Ow0KQEAg
LTMwNTIsNiArMzA1Miw3IEBADQogCQkzN0JFQzRERjE5NDkxNDg2MDA4QjQyODYgLyogQ29tcGxl
dGlvbkhhbmRsZXJDYWxsQ2hlY2tlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBDb21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07DQogCQkzN0JGMkYwNDE5NDdERUI0MDA3MjNDNDggLyogV0tOU1VSTFJlcXVlc3QuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tOU1VSTFJlcXVlc3QuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsNCiAJCTM3QkYyRjA1MTk0N0RFQjQwMDcyM0M0OCAvKiBXS05TVVJM
UmVxdWVzdC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLTlNV
UkxSZXF1ZXN0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Ow0KKwkJMzdDMjFDQUQxRTk5
NEMwQzAwMjlENUY5IC8qIENvcmVQcmVkaWN0aW9uU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IENvcmVQcmVkaWN0aW9uU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07DQogCQkzN0M0QzA4NDE4MTQ5QzVCMDAzNjg4QjkgLyogV0tCYWNrRm9yd2FyZExpc3RJdGVt
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV0tCYWNrRm9yd2Fy
ZExpc3RJdGVtLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Ow0KIAkJMzdDNEMwODUxODE0
OUM1QjAwMzY4OEI5IC8qIFdLQmFja0ZvcndhcmRMaXN0SXRlbS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXS0JhY2tGb3J3YXJkTGlzdEl0ZW0uaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsNCiAJCTM3QzRDMDg4MTgxNDlGMjMwMDM2ODhCOSAvKiBXS0JhY2tGb3J3YXJk
TGlzdEl0ZW1JbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0Jh
Y2tGb3J3YXJkTGlzdEl0ZW1JbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Ow0K
QEAgLTM0MzUsNyArMzQzNiw2IEBADQogCQk2NTQ2QTgyQTEzMDAwMTY0MDAwQ0VCMUMgLyogSW5q
ZWN0ZWRCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEluamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9Ow0KIAkJNjVCODZGMTcxMkYxMUQ3QjAwQjdERDhBIC8qIFdL
QnVuZGxlSW5zcGVjdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFdLQnVuZGxlSW5zcGVjdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsNCiAJCTY1
Qjg2RjE4MTJGMTFEN0IwMEI3REQ4QSAvKiBXS0J1bmRsZUluc3BlY3Rvci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXS0J1bmRsZUluc3BlY3Rvci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9Ow0KLQkJNkIyRTA5QjkxRTU3Qjg4MTAwQzhBOEI5IC8qIENvcmVQcmVkaWN0
aW9uU29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29yZVByZWRp
Y3Rpb25Tb2Z0TGluay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Ow0KIAkJNkJFOTY5OUIx
RTQzQjNGRjAwOEI3NDgzIC8qIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFu
YWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Ow0KIAkJNkJFOTY5OUQxRTQzQjQxRDAw
OEI3NDgzIC8qIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07DQogCQk2QkU5Njk5RjFFNDNCODZFMDA4
Qjc0ODMgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsNCkBAIC01NDg0LDYgKzU0ODQsNyBAQA0KIAkJCWlz
YSA9IFBCWEdyb3VwOw0KIAkJCWNoaWxkcmVuID0gKA0KIAkJCQkxQTU3MDUxMDFCRTQxMEU1MDA4
NzRBRjEgLyogQmxvY2tTUEkuaCAqLywNCisJCQkJMzdDMjFDQUQxRTk5NEMwQzAwMjlENUY5IC8q
IENvcmVQcmVkaWN0aW9uU1BJLmggKi8sDQogCQkJCTM3NTRENTQ0MUIzQTI5RkQwMDNBNEM3RiAv
KiBOU0ludm9jYXRpb25TUEkuaCAqLywNCiAJCQkJMzdCNDdFMkMxRDY0REI3NjAwNUY0RUZGIC8q
IG9iamNTUEkuaCAqLywNCiAJCQkpOw0KQEAgLTYyOTksNyArNjMwMCw2IEBADQogCQk2QkU5NjlD
MzFFNTRENDY3MDA4Qjc0ODMgLyogY29jb2EgKi8gPSB7DQogCQkJaXNhID0gUEJYR3JvdXA7DQog
CQkJY2hpbGRyZW4gPSAoDQotCQkJCTZCMkUwOUI5MUU1N0I4ODEwMEM4QThCOSAvKiBDb3JlUHJl
ZGljdGlvblNvZnRMaW5rLmggKi8sDQogCQkJCTZCRTk2OUM4MUU1NEQ0Q0YwMDhCNzQ4MyAvKiBS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcCAqLywNCiAJCQkJNkJFOTY5
QzkxRTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29j
b2EuaCAqLywNCiAJCQkpOw0KQEAgLTgyMjYsNyArODIyNiw2IEBADQogCQkJCTUxMDZEN0M0MThC
REJFNzMwMDBBQjE2NiAvKiBDb250ZXh0TWVudUNvbnRleHREYXRhLmggaW4gSGVhZGVycyAqLywN
CiAJCQkJQ0RDMzgzMEMxNzIxMjI4MjAwOEEyRkMzIC8qIENvb2tpZVN0b3JhZ2VTaGltTGlicmFy
eS5oIGluIEhlYWRlcnMgKi8sDQogCQkJCUNFMUEwQkQzMUE0OEU2QzYwMDU0RUY3NCAvKiBDb3Jl
UERGU1BJLmggaW4gSGVhZGVycyAqLywNCi0JCQkJNkIyRTA5QkExRTU3Qjg4MTAwQzhBOEI5IC8q
IENvcmVQcmVkaWN0aW9uU29mdExpbmsuaCBpbiBIZWFkZXJzICovLA0KIAkJCQlCODc4QjYxNTEz
MzQyOERDMDA2ODg4RTkgLyogQ29ycmVjdGlvblBhbmVsLmggaW4gSGVhZGVycyAqLywNCiAJCQkJ
NTE1RTc3MkMxODQwMDhCOTAwMDcyMDNGIC8qIERhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5oIGluIEhlYWRlcnMgKi8sDQogCQkJCTUxMkE5NzYxMTgwRTAzMUQwMDM5QTE0OSAvKiBE
YXRhYmFzZVByb2Nlc3NNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sDQpAQCAtODI1NSw2ICs4MjU0
LDcgQEANCiAJCQkJQkMwMzJEQTgxMEY0MzdEMTAwNThDMTVBIC8qIEVuY29kZXIuaCBpbiBIZWFk
ZXJzICovLA0KIAkJCQk1MUIxNUE4NTEzODQzQTM5MDAzMjFBRDggLyogRW52aXJvbm1lbnRVdGls
aXRpZXMuaCBpbiBIZWFkZXJzICovLA0KIAkJCQkxQUE1NzVGQjE0OTZCNTI2MDBBNEVFMDYgLyog
RXZlbnREaXNwYXRjaGVyLmggaW4gSGVhZGVycyAqLywNCisJCQkJMzdDMjFDQUUxRTk5NEMwQzAw
MjlENUY5IC8qIENvcmVQcmVkaWN0aW9uU1BJLmggaW4gSGVhZGVycyAqLywNCiAJCQkJMDBCOTY2
MUExOEUyNUFFMTAwQ0UxRjg4IC8qIEZpbmRDbGllbnQuaCBpbiBIZWFkZXJzICovLA0KIAkJCQkx
QTkwQzFGNDEyNjRGRDcxMDAzRTQ0RDQgLyogRmluZENvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICov
LA0KIAkJCQlCQ0U4MUQ4RDEzMTlGN0VGMDAyNDE5MTAgLyogRm9udEluZm8uaCBpbiBIZWFkZXJz
ICovLA0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306644</attachid>
            <date>2017-04-09 19:22:10 -0700</date>
            <delta_ts>2017-04-10 21:05:07 -0700</delta_ts>
            <desc>Patch for EWS</desc>
            <filename>file_170644.txt</filename>
            <type>text/plain</type>
            <size>18944</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0Jhc2VUYXJnZXQueGNjb25maWcN
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0NCi0tLSBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9CYXNlVGFyZ2V0
LnhjY29uZmlnCShyZXZpc2lvbiAyMTUxNjgpDQorKysgU291cmNlL1dlYktpdDIvQ29uZmlndXJh
dGlvbnMvQmFzZVRhcmdldC54Y2NvbmZpZwkod29ya2luZyBjb3B5KQ0KQEAgLTM3LDcgKzM3LDcg
QEAgRlJBTUVXT1JLX1NFQVJDSF9QQVRIU1tzZGs9aXBob25lKl0gPSAkKA0KIEZSQU1FV09SS19T
RUFSQ0hfUEFUSFMgPSAkKEZSQU1FV09SS19TRUFSQ0hfUEFUSFNfYmFzZSk7DQogDQogR0NDX1BS
RUZJWF9IRUFERVIgPSBXZWJLaXQyUHJlZml4Lmg7DQotR0NDX1BSRVBST0NFU1NPUl9ERUZJTklU
SU9OUyA9ICQoREVCVUdfREVGSU5FUykgJChGRUFUVVJFX0RFRklORVMpICQoV0tfTUFOVUFMX1NB
TkRCT1hJTkdfREVGSU5FUykgRlJBTUVXT1JLX05BTUU9V2ViS2l0Ow0KK0dDQ19QUkVQUk9DRVNT
T1JfREVGSU5JVElPTlMgPSAkKERFQlVHX0RFRklORVMpICQoRkVBVFVSRV9ERUZJTkVTKSAkKFdL
X01BTlVBTF9TQU5EQk9YSU5HX0RFRklORVMpICQoV0tfQ09SRV9QUkVESUNUSU9OX0RFRklORVMp
IEZSQU1FV09SS19OQU1FPVdlYktpdDsNCiBXRUJLSVRBRERJVElPTlNfSEVBREVSX1NFQVJDSF9Q
QVRIUyA9ICQoQlVJTFRfUFJPRFVDVFNfRElSKS91c3IvbG9jYWwvaW5jbHVkZS9XZWJLaXRBZGRp
dGlvbnMgJChTREtST09UKS91c3IvbG9jYWwvaW5jbHVkZS9XZWJLaXRBZGRpdGlvbnM7DQogSEVB
REVSX1NFQVJDSF9QQVRIUyA9ICQoQlVJTFRfUFJPRFVDVFNfRElSKS91c3IvbG9jYWwvaW5jbHVk
ZSAiJChXRUJDT1JFX1BSSVZBVEVfSEVBREVSU19ESVIpL0ZvcndhcmRpbmdIZWFkZXJzIiAiJChX
RUJDT1JFX1BSSVZBVEVfSEVBREVSU19ESVIpL2ljdSIgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYktpdDIgJChXRUJLSVRBRERJVElPTlNfSEVBREVSX1NFQVJDSF9QQVRI
UykgJChIRUFERVJfU0VBUkNIX1BBVEhTKTsNCiANCkBAIC0xMDUsMyArMTA1LDkgQEAgV0tfVVNF
X09WRVJSSURFX0ZSQU1FV09SS1NfRElSID0gJChXS19OTw0KIA0KIFdLX09WRVJSSURFX0ZSQU1F
V09SS1NfRElSID0gJChXS19PVkVSUklERV9GUkFNRVdPUktTX0RJUl9VU0VfU1RBR0lOR19JTlNU
QUxMX1BBVEhfJChVU0VfU1RBR0lOR19JTlNUQUxMX1BBVEgpKTsNCiBXS19PVkVSUklERV9GUkFN
RVdPUktTX0RJUl9VU0VfU1RBR0lOR19JTlNUQUxMX1BBVEhfWUVTID0gJChTWVNURU1fTElCUkFS
WV9ESVIpL1N0YWdlZEZyYW1ld29ya3MvU2FmYXJpOw0KKw0KK1dLX0hBVkVfQ09SRV9QUkVESUNU
SU9OID0gWUVTOw0KK1dLX0hBVkVfQ09SRV9QUkVESUNUSU9OW3Nkaz1tYWNvc3gqXVthcmNoPWkz
ODZdID0gTk87DQorDQorV0tfQ09SRV9QUkVESUNUSU9OX0RFRklORVMgPSAkKFdLX0NPUkVfUFJF
RElDVElPTl9ERUZJTkVTXyQoV0tfSEFWRV9DT1JFX1BSRURJQ1RJT04pKTsNCitXS19DT1JFX1BS
RURJQ1RJT05fREVGSU5FU19ZRVMgPSBIQVZFX0NPUkVfUFJFRElDVElPTjsNCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcNCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0t
LSBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcJKHJldmlzaW9u
IDIxNTE2OCkNCisrKyBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25m
aWcJKHdvcmtpbmcgY29weSkNCkBAIC01NSw3ICs1NSw3IEBAIExJQldFQlJUQ19MSUJSQVJZX0RJ
UltzZGs9bWFjb3N4Kl0gPSAkKEwNCiBMSUJXRUJSVENfTElCUkFSWV9ESVJfVVNFX09WRVJSSURF
X0ZSQU1FV09SS1NfRElSX05PID0gJChXRUJDT1JFX0ZSQU1FV09SS1NfRElSKS9XZWJDb3JlLmZy
YW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3M7DQogTElCV0VCUlRDX0xJQlJBUllfRElSX1VT
RV9PVkVSUklERV9GUkFNRVdPUktTX0RJUl9ZRVMgPSAkKFdLX09WRVJSSURFX0ZSQU1FV09SS1Nf
RElSKTsNCiANCi1PVEhFUl9MREZMQUdTID0gJChpbmhlcml0ZWQpICQoVU5FWFBPUlRFRF9TWU1C
T0xfTERGTEFHUykgJChBU0FOX09USEVSX0xERkxBR1MpICQoRlJBTUVXT1JLX0FORF9MSUJSQVJZ
X0xERkxBR1MpICQoT1RIRVJfTERGTEFHU19QTEFURk9STSkgJChXS19SRUxPQ0FUQUJMRV9GUkFN
RVdPUktfTERGTEFHUykgLWZyYW1ld29yayBXZWJLaXRMZWdhY3k7DQorT1RIRVJfTERGTEFHUyA9
ICQoaW5oZXJpdGVkKSAtRiIkKFNES19ESVIpJChTWVNURU1fTElCUkFSWV9ESVIpL1ByaXZhdGVG
cmFtZXdvcmtzIiAkKFVORVhQT1JURURfU1lNQk9MX0xERkxBR1MpICQoQVNBTl9PVEhFUl9MREZM
QUdTKSAkKEZSQU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdTKSAkKE9USEVSX0xERkxBR1NfUExB
VEZPUk0pICQoV0tfUkVMT0NBVEFCTEVfRlJBTUVXT1JLX0xERkxBR1MpICQoV0tfQ09SRV9QUkVE
SUNUSU9OX0xERkxBR1MpIC1mcmFtZXdvcmsgV2ViS2l0TGVnYWN5Ow0KIE9USEVSX0xERkxBR1Nf
UExBVEZPUk1bc2RrPW1hY29zeCpdID0gJChMSUJXRUJSVENfTERGTEFHUyk7DQogT1RIRVJfTERG
TEFHU19QTEFURk9STVtzZGs9aXBob25lb3MqXSA9IC1sQWNjZXNzaWJpbGl0eSAkKExJQldFQlJU
Q19MREZMQUdTKTsNCiBPVEhFUl9MREZMQUdTX1BMQVRGT1JNW3Nkaz1pcGhvbmVzaW11bGF0b3Iq
XSA9IC1sQWNjZXNzaWJpbGl0eSAkKExJQldFQlJUQ19MREZMQUdTKTsNCkBAIC04MywzICs4Myw3
IEBAIFdLX0ZSQU1FV09SS19IRUFERVJfUE9TVFBST0NFU1NJTkdfRElTQUINCiANCiBXS19SRUxP
Q0FUQUJMRV9GUkFNRVdPUktfTERGTEFHUyA9ICQoV0tfUkVMT0NBVEFCTEVfRlJBTUVXT1JLX0xE
RkxBR1NfJChXS19SRUxPQ0FUQUJMRV9GUkFNRVdPUktTKSk7DQogV0tfUkVMT0NBVEFCTEVfRlJB
TUVXT1JLX0xERkxBR1NfWUVTID0gLVdsLC1ub3RfZm9yX2R5bGRfc2hhcmVkX2NhY2hlOw0KKw0K
K1dLX0NPUkVfUFJFRElDVElPTl9MREZMQUdTID0gJChXS19DT1JFX1BSRURJQ1RJT05fTERGTEFH
U18kKFdLX0hBVkVfQ09SRV9QUkVESUNUSU9OKSk7DQorV0tfQ09SRV9QUkVESUNUSU9OX0xERkxB
R1NfWUVTID0gLWZyYW1ld29yayBDb3JlUHJlZGljdGlvbjsNCitXS19DT1JFX1BSRURJQ1RJT05f
TERGTEFHU19ZRVNbc2RrPW1hY29zeCpdID0gLXdlYWtfZnJhbWV3b3JrIENvcmVQcmVkaWN0aW9u
Ow0KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvQ29yZVBy
ZWRpY3Rpb25Tb2Z0TGluay5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gU291cmNlL1dlYktpdDIvUGxhdGZv
cm0vY2xhc3NpZmllci9jb2NvYS9Db3JlUHJlZGljdGlvblNvZnRMaW5rLmgJKHJldmlzaW9uIDIx
NTE2OCkNCisrKyBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL0NvcmVQ
cmVkaWN0aW9uU29mdExpbmsuaAkobm9uZXhpc3RlbnQpDQpAQCAtMSwzOCArMCwwIEBADQotLyoN
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLg0K
LSAqDQotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0DQotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zDQotICogYXJlIG1ldDoNCi0gKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodA0KLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4NCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodA0KLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUNCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLg0KLSAqDQotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJw0KLSAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LA0KLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVINCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMNCi0gKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SDQotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YNCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi0gKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTg0KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpDQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRg0KLSAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCi0gKi8NCi0NCi0jcHJhZ21hIG9uY2UNCi0NCi0jaW5j
bHVkZSA8V2ViQ29yZS9Tb2Z0TGlua2luZy5oPg0KLQ0KLXN0cnVjdCBzdm1fbW9kZWw7DQotc3Ry
dWN0IHN2bV9ub2RlIHsNCi0gICAgaW50IGluZGV4Ow0KLSAgICBkb3VibGUgdmFsdWU7DQotfTsN
Ci0NCi1TT0ZUX0xJTktfUFJJVkFURV9GUkFNRVdPUktfT1BUSU9OQUwoQ29yZVByZWRpY3Rpb24p
DQotU09GVF9MSU5LKENvcmVQcmVkaWN0aW9uLCBzdm1fcHJlZGljdF92YWx1ZXMsIGRvdWJsZSwg
KGNvbnN0IHN0cnVjdCBzdm1fbW9kZWwgKm1vZGVsLCBjb25zdCBzdHJ1Y3Qgc3ZtX25vZGUgKngs
IGRvdWJsZSogZGVjX3ZhbHVlcyksIChtb2RlbCwgeCwgZGVjX3ZhbHVlcykpDQotU09GVF9MSU5L
KENvcmVQcmVkaWN0aW9uLCBzdm1fbG9hZF9tb2RlbCwgc3ZtX21vZGVsKiwgKGNvbnN0IGNoYXIg
Km1vZGVsX2ZpbGVfbmFtZSksIChtb2RlbF9maWxlX25hbWUpKQ0KSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXJDb2NvYS5jcHANCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9j
bGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3Bw
CShyZXZpc2lvbiAyMTUxNjgpDQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmll
ci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcAkod29ya2lu
ZyBjb3B5KQ0KQEAgLTI2LDkgKzI2LDExIEBADQogI2luY2x1ZGUgImNvbmZpZy5oIg0KICNpbmNs
dWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmgiDQogDQorI2lmIEhB
VkUoQ09SRV9QUkVESUNUSU9OKQ0KKw0KKyNpbmNsdWRlICJDb3JlUHJlZGljdGlvblNQSS5oIg0K
ICNpbmNsdWRlICJMb2dnaW5nLmgiDQogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPg0K
LSNpbmNsdWRlICJDb3JlUHJlZGljdGlvblNvZnRMaW5rLmgiDQogDQogbmFtZXNwYWNlIFdlYktp
dCB7DQogDQpAQCAtNzAsNiArNzIsMTcgQEAgU3RyaW5nIFJlc291cmNlTG9hZFN0YXRpc3RpY3ND
bGFzc2lmaWVyQw0KICAgICByZXR1cm4gU3RyaW5nKHJlc291cmNlVXJsU3RyaW5nLmdldCgpKTsN
CiB9DQogDQorc3RhdGljIGlubGluZSBib29sIGlzTnVsbEZ1bmN0aW9uUG9pbnRlcih2b2lkKiBm
dW5jdGlvblBvaW50ZXIpDQorew0KKyAgICB2b2lkKiByZXN1bHQ7DQorICAgIGFzbSgNCisgICAg
ICAgICJtb3YgJTEsICUwIg0KKyAgICAgICAgOiAiPXIiIChyZXN1bHQpDQorICAgICAgICA6ICJy
IiAoZnVuY3Rpb25Qb2ludGVyKQ0KKyAgICApOw0KKyAgICByZXR1cm4gIXJlc3VsdDsNCit9DQor
DQogYm9vbCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hOjpjYW5Vc2VDb3Jl
UHJlZGljdGlvbigpDQogew0KICAgICBpZiAobV9oYXZlTG9hZGVkTW9kZWwpDQpAQCAtNzgsNyAr
OTEsNyBAQCBib29sIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jDQogICAgIGlm
ICghbV91c2VDb3JlUHJlZGljdGlvbikNCiAgICAgICAgIHJldHVybiBmYWxzZTsNCiANCi0gICAg
aWYgKCFDb3JlUHJlZGljdGlvbkxpYnJhcnkoKSkgew0KKyAgICBpZiAoaXNOdWxsRnVuY3Rpb25Q
b2ludGVyKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KHN2bV9sb2FkX21vZGVsKSkpIHsNCiAgICAg
ICAgIG1fdXNlQ29yZVByZWRpY3Rpb24gPSBmYWxzZTsNCiAgICAgICAgIHJldHVybiBmYWxzZTsN
CiAgICAgfQ0KQEAgLTExMCwzICsxMjMsNSBAQCBjb25zdCBzdHJ1Y3Qgc3ZtX21vZGVsKiBSZXNv
dXJjZUxvYWRTdGF0DQogICAgIHJldHVybiBudWxscHRyOw0KIH0NCiB9DQorDQorI2VuZGlmDQpJ
bmRleDogU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmgNCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBTb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFz
c2lmaWVyQ29jb2EuaAkocmV2aXNpb24gMjE1MTY4KQ0KKysrIFNvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2Nv
YS5oCSh3b3JraW5nIGNvcHkpDQpAQCAtMjUsNiArMjUsOCBAQA0KIA0KICNwcmFnbWEgb25jZQ0K
IA0KKyNpZiBIQVZFKENPUkVfUFJFRElDVElPTikNCisNCiAjaW5jbHVkZSAiUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0NsYXNzaWZpZXIuaCINCiAjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+DQogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPg0KQEAgLTQ0LDMgKzQ2LDUgQEAgcHJpdmF0ZToN
CiB9Ow0KICAgICANCiB9DQorDQorI2VuZGlmDQpJbmRleDogU291cmNlL1dlYktpdDIvUGxhdGZv
cm0vc3BpL0NvY29hL0NvcmVQcmVkaWN0aW9uU1BJLmgNCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBTb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybS9zcGkvQ29jb2EvQ29yZVByZWRpY3Rpb25TUEkuaAkobm9uZXhpc3Rl
bnQpDQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL0NvY29hL0NvcmVQcmVkaWN0aW9u
U1BJLmgJKHdvcmtpbmcgY29weSkNCkBAIC0wLDAgKzEsNTcgQEANCisvKg0KKyAqIENvcHlyaWdo
dCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQorICoNCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQNCisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMNCisgKiBhcmUgbWV0Og0KKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0DQorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLg0KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0DQorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQ0KKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uDQorICoNCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnDQorICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sDQorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUg0KKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUw0KKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1INCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRg0KKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElODQorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkNCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GDQorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLg0KKyAqLw0KKw0KKyNwcmFnbWEgb25jZQ0KKw0KKyNpZiBIQVZFKENPUkVfUFJF
RElDVElPTikNCisNCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykNCisNCisjaW1wb3J0IDxD
b3JlUHJlZGljdGlvbi9zdm0uaD4NCisNCisjZWxzZQ0KKw0KK3N0cnVjdCBzdm1fbm9kZQ0KK3sN
CisgICAgaW50IGluZGV4Ow0KKyAgICBkb3VibGUgdmFsdWU7DQorfTsNCisNCisjZW5kaWYNCisN
CisjaWZkZWYgX19jcGx1c3BsdXMNCitleHRlcm4gIkMiIHsNCisjZW5kaWYNCisNCit0eXBlZGVm
IHN0cnVjdCBzdm1fbm9kZSBzdm1fbm9kZTsNCisNCitzdHJ1Y3Qgc3ZtX21vZGVsICpzdm1fbG9h
ZF9tb2RlbChjb25zdCBjaGFyICptb2RlbF9maWxlX25hbWUpOw0KK2RvdWJsZSBzdm1fcHJlZGlj
dF92YWx1ZXMoY29uc3Qgc3RydWN0IHN2bV9tb2RlbCAqbW9kZWwsIGNvbnN0IHN0cnVjdCBzdm1f
bm9kZSAqeCwgZG91YmxlKiBkZWNfdmFsdWVzKTsNCisNCisjaWZkZWYgX19jcGx1c3BsdXMNCit9
DQorI2VuZGlmDQorDQorI2VuZGlmDQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oCShyZXZpc2lv
biAyMTUxNjgpDQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0
YXRpc3RpY3NTdG9yZS5oCSh3b3JraW5nIGNvcHkpDQpAQCAtMzMsNyArMzMsNyBAQA0KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+DQogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPg0KIA0K
LSNpZiBQTEFURk9STShDT0NPQSkNCisjaWYgUExBVEZPUk0oQ09DT0EpICYmIEhBVkUoQ09SRV9Q
UkVESUNUSU9OKQ0KICNpbmNsdWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNv
Y29hLmgiDQogI2VuZGlmDQogDQpAQCAtOTQsNyArOTQsNyBAQCBwcml2YXRlOg0KICAgICBzdGQ6
OnVuaXF1ZV9wdHI8V2ViQ29yZTo6S2V5ZWREZWNvZGVyPiBjcmVhdGVEZWNvZGVyRnJvbURpc2so
Y29uc3QgU3RyaW5nJiBsYWJlbCkgY29uc3Q7DQogDQogICAgIFJlZjxXZWJDb3JlOjpSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzU3RvcmU+IG1fcmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOw0KLSNp
ZiBQTEFURk9STShDT0NPQSkNCisjaWYgUExBVEZPUk0oQ09DT0EpICYmIEhBVkUoQ09SRV9QUkVE
SUNUSU9OKQ0KICAgICBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hIG1fcmVz
b3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXI7DQogI2Vsc2UNCiAgICAgUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0NsYXNzaWZpZXIgbV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllcjsN
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oN
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0NCi0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oJKHJldmlzaW9uIDIxNTE2OCkNCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkNCkBAIC04NTAsNiArODUwLDcg
QEANCiAJCTM3QkVDNEUxMTk0OTE0ODYwMDhCNDI4NiAvKiBDb21wbGV0aW9uSGFuZGxlckNhbGxD
aGVja2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
N0JFQzRERjE5NDkxNDg2MDA4QjQyODYgLyogQ29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlci5o
ICovOyB9Ow0KIAkJMzdCRjJGMDYxOTQ3REVCNDAwNzIzQzQ4IC8qIFdLTlNVUkxSZXF1ZXN0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0JGMkYwNDE5
NDdERUI0MDA3MjNDNDggLyogV0tOU1VSTFJlcXVlc3QuaCAqLzsgfTsNCiAJCTM3QkYyRjA3MTk0
N0RFQjQwMDcyM0M0OCAvKiBXS05TVVJMUmVxdWVzdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3QkYyRjA1MTk0N0RFQjQwMDcyM0M0OCAvKiBXS05T
VVJMUmVxdWVzdC5tbSAqLzsgfTsNCisJCTM3QzIxQ0FFMUU5OTRDMEMwMDI5RDVGOSAvKiBDb3Jl
UHJlZGljdGlvblNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMzdDMjFDQUQxRTk5NEMwQzAwMjlENUY5IC8qIENvcmVQcmVkaWN0aW9uU1BJLmggKi87
IH07DQogCQkzN0M0QzA4NjE4MTQ5QzVCMDAzNjg4QjkgLyogV0tCYWNrRm9yd2FyZExpc3RJdGVt
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdDNEMw
ODQxODE0OUM1QjAwMzY4OEI5IC8qIFdLQmFja0ZvcndhcmRMaXN0SXRlbS5tbSAqLzsgfTsNCiAJ
CTM3QzRDMDg3MTgxNDlDNUIwMDM2ODhCOSAvKiBXS0JhY2tGb3J3YXJkTGlzdEl0ZW0uaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3QzRDMDg1MTgxNDlD
NUIwMDM2ODhCOSAvKiBXS0JhY2tGb3J3YXJkTGlzdEl0ZW0uaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07DQogCQkzN0M0QzA4OTE4MTQ5RjIzMDAzNjg4Qjkg
LyogV0tCYWNrRm9yd2FyZExpc3RJdGVtSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3QzRDMDg4MTgxNDlGMjMwMDM2ODhCOSAvKiBXS0Jh
Y2tGb3J3YXJkTGlzdEl0ZW1JbnRlcm5hbC5oICovOyB9Ow0KQEAgLTExNzQsNyArMTE3NSw2IEBA
DQogCQk2NTAxQkQxQTEyRjEyNDM0MDBFOUYyNDggLyogV0tCdW5kbGVJbnNwZWN0b3IuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjVCODZGMTcxMkYx
MUQ3QjAwQjdERDhBIC8qIFdLQnVuZGxlSW5zcGVjdG9yLmNwcCAqLzsgfTsNCiAJCTY1OUM1NTFF
MTMwMDA2NDEwMDI1QzBDMiAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjU0NkE4
MjkxMzAwMDE2NDAwMENFQjFDIC8qIEluamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVu
dC5jcHAgKi87IH07DQogCQk2NUI4NkYxRTEyRjExREUzMDBCN0REOEEgLyogV0tCdW5kbGVJbnNw
ZWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1
Qjg2RjE4MTJGMTFEN0IwMEI3REQ4QSAvKiBXS0J1bmRsZUluc3BlY3Rvci5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07DQotCQk2QjJFMDlCQTFFNTdCODgx
MDBDOEE4QjkgLyogQ29yZVByZWRpY3Rpb25Tb2Z0TGluay5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkIyRTA5QjkxRTU3Qjg4MTAwQzhBOEI5IC8qIENv
cmVQcmVkaWN0aW9uU29mdExpbmsuaCAqLzsgfTsNCiAJCTZCRTk2OTlDMUU0M0IzRkYwMDhCNzQ4
MyAvKiBXS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5Njk5QjFFNDNCM0ZGMDA4Qjc0ODMgLyog
V0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07DQogCQk2QkU5Njk5RTFFNDNCNDFEMDA4Qjc0ODMgLyog
V0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5Njk5RDFFNDNCNDFEMDA4Qjc0ODMgLyogV0tS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5jcHAgKi87IH07DQogCQk2QkU5NjlBMDFFNDNC
ODZFMDA4Qjc0ODMgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2OTlGMUU0M0I4NkUw
MDhCNzQ4MyAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oICovOyB9Ow0KQEAg
LTMwNTIsNiArMzA1Miw3IEBADQogCQkzN0JFQzRERjE5NDkxNDg2MDA4QjQyODYgLyogQ29tcGxl
dGlvbkhhbmRsZXJDYWxsQ2hlY2tlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBDb21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07DQogCQkzN0JGMkYwNDE5NDdERUI0MDA3MjNDNDggLyogV0tOU1VSTFJlcXVlc3QuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tOU1VSTFJlcXVlc3QuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsNCiAJCTM3QkYyRjA1MTk0N0RFQjQwMDcyM0M0OCAvKiBXS05TVVJM
UmVxdWVzdC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLTlNV
UkxSZXF1ZXN0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Ow0KKwkJMzdDMjFDQUQxRTk5
NEMwQzAwMjlENUY5IC8qIENvcmVQcmVkaWN0aW9uU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IENvcmVQcmVkaWN0aW9uU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07DQogCQkzN0M0QzA4NDE4MTQ5QzVCMDAzNjg4QjkgLyogV0tCYWNrRm9yd2FyZExpc3RJdGVt
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV0tCYWNrRm9yd2Fy
ZExpc3RJdGVtLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Ow0KIAkJMzdDNEMwODUxODE0
OUM1QjAwMzY4OEI5IC8qIFdLQmFja0ZvcndhcmRMaXN0SXRlbS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXS0JhY2tGb3J3YXJkTGlzdEl0ZW0uaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsNCiAJCTM3QzRDMDg4MTgxNDlGMjMwMDM2ODhCOSAvKiBXS0JhY2tGb3J3YXJk
TGlzdEl0ZW1JbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0Jh
Y2tGb3J3YXJkTGlzdEl0ZW1JbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Ow0K
QEAgLTM0MzUsNyArMzQzNiw2IEBADQogCQk2NTQ2QTgyQTEzMDAwMTY0MDAwQ0VCMUMgLyogSW5q
ZWN0ZWRCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEluamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9Ow0KIAkJNjVCODZGMTcxMkYxMUQ3QjAwQjdERDhBIC8qIFdL
QnVuZGxlSW5zcGVjdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFdLQnVuZGxlSW5zcGVjdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsNCiAJCTY1
Qjg2RjE4MTJGMTFEN0IwMEI3REQ4QSAvKiBXS0J1bmRsZUluc3BlY3Rvci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXS0J1bmRsZUluc3BlY3Rvci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9Ow0KLQkJNkIyRTA5QjkxRTU3Qjg4MTAwQzhBOEI5IC8qIENvcmVQcmVkaWN0
aW9uU29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29yZVByZWRp
Y3Rpb25Tb2Z0TGluay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Ow0KIAkJNkJFOTY5OUIx
RTQzQjNGRjAwOEI3NDgzIC8qIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFu
YWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Ow0KIAkJNkJFOTY5OUQxRTQzQjQxRDAw
OEI3NDgzIC8qIFdLUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07DQogCQk2QkU5Njk5RjFFNDNCODZFMDA4
Qjc0ODMgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsNCkBAIC01NDg0LDYgKzU0ODQsNyBAQA0KIAkJCWlz
YSA9IFBCWEdyb3VwOw0KIAkJCWNoaWxkcmVuID0gKA0KIAkJCQkxQTU3MDUxMDFCRTQxMEU1MDA4
NzRBRjEgLyogQmxvY2tTUEkuaCAqLywNCisJCQkJMzdDMjFDQUQxRTk5NEMwQzAwMjlENUY5IC8q
IENvcmVQcmVkaWN0aW9uU1BJLmggKi8sDQogCQkJCTM3NTRENTQ0MUIzQTI5RkQwMDNBNEM3RiAv
KiBOU0ludm9jYXRpb25TUEkuaCAqLywNCiAJCQkJMzdCNDdFMkMxRDY0REI3NjAwNUY0RUZGIC8q
IG9iamNTUEkuaCAqLywNCiAJCQkpOw0KQEAgLTYyOTksNyArNjMwMCw2IEBADQogCQk2QkU5NjlD
MzFFNTRENDY3MDA4Qjc0ODMgLyogY29jb2EgKi8gPSB7DQogCQkJaXNhID0gUEJYR3JvdXA7DQog
CQkJY2hpbGRyZW4gPSAoDQotCQkJCTZCMkUwOUI5MUU1N0I4ODEwMEM4QThCOSAvKiBDb3JlUHJl
ZGljdGlvblNvZnRMaW5rLmggKi8sDQogCQkJCTZCRTk2OUM4MUU1NEQ0Q0YwMDhCNzQ4MyAvKiBS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcCAqLywNCiAJCQkJNkJFOTY5
QzkxRTU0RDRDRjAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29j
b2EuaCAqLywNCiAJCQkpOw0KQEAgLTgyMjYsNyArODIyNiw2IEBADQogCQkJCTUxMDZEN0M0MThC
REJFNzMwMDBBQjE2NiAvKiBDb250ZXh0TWVudUNvbnRleHREYXRhLmggaW4gSGVhZGVycyAqLywN
CiAJCQkJQ0RDMzgzMEMxNzIxMjI4MjAwOEEyRkMzIC8qIENvb2tpZVN0b3JhZ2VTaGltTGlicmFy
eS5oIGluIEhlYWRlcnMgKi8sDQogCQkJCUNFMUEwQkQzMUE0OEU2QzYwMDU0RUY3NCAvKiBDb3Jl
UERGU1BJLmggaW4gSGVhZGVycyAqLywNCi0JCQkJNkIyRTA5QkExRTU3Qjg4MTAwQzhBOEI5IC8q
IENvcmVQcmVkaWN0aW9uU29mdExpbmsuaCBpbiBIZWFkZXJzICovLA0KIAkJCQlCODc4QjYxNTEz
MzQyOERDMDA2ODg4RTkgLyogQ29ycmVjdGlvblBhbmVsLmggaW4gSGVhZGVycyAqLywNCiAJCQkJ
NTE1RTc3MkMxODQwMDhCOTAwMDcyMDNGIC8qIERhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5oIGluIEhlYWRlcnMgKi8sDQogCQkJCTUxMkE5NzYxMTgwRTAzMUQwMDM5QTE0OSAvKiBE
YXRhYmFzZVByb2Nlc3NNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sDQpAQCAtODI1NSw2ICs4MjU0
LDcgQEANCiAJCQkJQkMwMzJEQTgxMEY0MzdEMTAwNThDMTVBIC8qIEVuY29kZXIuaCBpbiBIZWFk
ZXJzICovLA0KIAkJCQk1MUIxNUE4NTEzODQzQTM5MDAzMjFBRDggLyogRW52aXJvbm1lbnRVdGls
aXRpZXMuaCBpbiBIZWFkZXJzICovLA0KIAkJCQkxQUE1NzVGQjE0OTZCNTI2MDBBNEVFMDYgLyog
RXZlbnREaXNwYXRjaGVyLmggaW4gSGVhZGVycyAqLywNCisJCQkJMzdDMjFDQUUxRTk5NEMwQzAw
MjlENUY5IC8qIENvcmVQcmVkaWN0aW9uU1BJLmggaW4gSGVhZGVycyAqLywNCiAJCQkJMDBCOTY2
MUExOEUyNUFFMTAwQ0UxRjg4IC8qIEZpbmRDbGllbnQuaCBpbiBIZWFkZXJzICovLA0KIAkJCQkx
QTkwQzFGNDEyNjRGRDcxMDAzRTQ0RDQgLyogRmluZENvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICov
LA0KIAkJCQlCQ0U4MUQ4RDEzMTlGN0VGMDAyNDE5MTAgLyogRm9udEluZm8uaCBpbiBIZWFkZXJz
ICovLA0KSW5kZXg6IFdlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMv
aU9TLzEwL0NvcmVQcmVkaWN0aW9uLmZyYW1ld29yay9Db3JlUHJlZGljdGlvbi50YmQNCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0NCi0tLSBXZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lP
Uy8xMC9Db3JlUHJlZGljdGlvbi5mcmFtZXdvcmsvQ29yZVByZWRpY3Rpb24udGJkCShub25leGlz
dGVudCkNCisrKyBXZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lP
Uy8xMC9Db3JlUHJlZGljdGlvbi5mcmFtZXdvcmsvQ29yZVByZWRpY3Rpb24udGJkCSh3b3JraW5n
IGNvcHkpDQpAQCAtMCwwICsxLDE4IEBADQorLS0tICF0YXBpLXRiZC12Mg0KK2FyY2hzOg0KKyAg
LSBhcm12Nw0KKyAgLSBhcm12N3MNCisgIC0gYXJtNjQNCitleHBvcnRzOg0KKyAgLQ0KKyAgICBh
cmNoczoNCisgICAgICAtIGFybXY3DQorICAgICAgLSBhcm12N3MNCisgICAgICAtIGFybTY0DQor
ICAgIHN5bWJvbHM6DQorICAgICAgLSBfc3ZtX2xvYWRfbW9kZWwNCisgICAgICAtIF9zdm1fcHJl
ZGljdF92YWx1ZXMNCitpbnN0YWxsLW5hbWU6IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3
b3Jrcy9Db3JlUHJlZGljdGlvbi5mcmFtZXdvcmsNCitvYmpjLWNvbnN0cmFpbnQ6IG5vbmUNCitw
bGF0Zm9ybTogaW9zDQorLi4uDQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306772</attachid>
            <date>2017-04-10 21:05:08 -0700</date>
            <delta_ts>2017-04-11 10:34:59 -0700</delta_ts>
            <desc>Link CorePrediction at build time</desc>
            <filename>bug-170644-20170410210507.patch</filename>
            <type>text/plain</type>
            <size>21117</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNTIxNSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDE3LTA0LTEwICBEYW4gQmVy
bnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBXZWJLaXQgdW5uZWNl
c3NhcmlseSBzb2Z0LWxpbmtzIENvcmVQcmVkaWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA2NDQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0Jhc2VUYXJnZXQueGNj
b25maWc6IERlZmluZWQgSEFWRV9DT1JFX1BSRURJQ1RJT04gYW5kIGFkZGVkCisgICAgICAgICAg
SEFWRV9DT1JFX1BSRURJQ1RJT04gdG8gdGhlIHByZXByb2Nlc3NvciBkZWZpbnRpb25zIHdoZW4g
dGhlIGZvcm1lciBpcyBZRVMuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9XZWJLaXQueGNj
b25maWc6IEhhdmUgdGhlIGxpbmtlciBsaW5rIGFnYWluc3QgQ29yZVByZWRpY3Rpb24gd2hlcmUK
KyAgICAgICAgICBhdmFpbGFibGUuIE9uIG1hY09TLCB1c2Ugd2VhayBsaW5raW5nLCBiZWNhdXNl
IENvcmVQcmVkaWN0aW9uIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlCisgICAgICAgICAgQmFzZSBT
eXN0ZW0uCisKKyAgICAgICAgKiBQbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL0NvcmVQcmVkaWN0
aW9uU29mdExpbmsuaDogUmVtb3ZlZC4KKworICAgICAgICAqIFBsYXRmb3JtL2NsYXNzaWZpZXIv
Y29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHA6IEd1YXJkZWQg
d2l0aAorICAgICAgICAgICNpZiBIQVZFKENPUkVfUFJFRElDVElPTikuCisgICAgICAgIChXZWJL
aXQ6OmlzTnVsbEZ1bmN0aW9uUG9pbnRlcik6IEFkZGVkIHRoaXMgaGVscGVyLgorICAgICAgICAo
V2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hOjpjYW5Vc2VDb3Jl
UHJlZGljdGlvbik6IFJlcGxhY2VkCisgICAgICAgICAgZGxvcGVuKCktYmFzZWQgcnVudGltZSBj
aGVjayB3aXRoIGEgbnVsbCBjaGVjay4KKworICAgICAgICAqIFBsYXRmb3JtL2NsYXNzaWZpZXIv
Y29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oOiBHdWFyZGVkIHdp
dGggI2lmCisgICAgICAgICAgSEFWRShDT1JFX1BSRURJQ1RJT04pLgorCisgICAgICAgICogUGxh
dGZvcm0vc3BpL0NvY29hL0NvcmVQcmVkaWN0aW9uU1BJLmg6IEFkZGVkLgorCisgICAgICAgICog
VUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oOiBVcGRhdGVkIGd1YXJk
cyB0byBpbmNsdWRlIEhBVkUoQ09SRV9QUkVESUNUSU9OKS4KKworICAgICAgICAqIFdlYktpdDIu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogcGRhdGVkIGZpbGUgcmVmZXJlbmNlcyBmb3IgcmVt
b3ZhbCBhbmQgYWRkaXRpb24uCisKIDIwMTctMDQtMTAgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hy
aXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSRUdSRVNTSU9OKHIxOTU0NzkpIEZpcnN0
IG1haW4gcmVzb3VyY2UgbG9hZCBpbiBuZXcgV2ViUHJvY2VzcyBieXBhc3NlcyBjb250ZW50IGV4
dGVuc2lvbnMKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0Jhc2VUYXJnZXQu
eGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvQmFz
ZVRhcmdldC54Y2NvbmZpZwkocmV2aXNpb24gMjE1MjE1KQorKysgU291cmNlL1dlYktpdDIvQ29u
ZmlndXJhdGlvbnMvQmFzZVRhcmdldC54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtMzcsNyAr
MzcsNyBAQCBGUkFNRVdPUktfU0VBUkNIX1BBVEhTW3Nkaz1pcGhvbmUqXSA9ICQoCiBGUkFNRVdP
UktfU0VBUkNIX1BBVEhTID0gJChGUkFNRVdPUktfU0VBUkNIX1BBVEhTX2Jhc2UpOwogCiBHQ0Nf
UFJFRklYX0hFQURFUiA9IFdlYktpdDJQcmVmaXguaDsKLUdDQ19QUkVQUk9DRVNTT1JfREVGSU5J
VElPTlMgPSAkKERFQlVHX0RFRklORVMpICQoRkVBVFVSRV9ERUZJTkVTKSAkKFdLX01BTlVBTF9T
QU5EQk9YSU5HX0RFRklORVMpIEZSQU1FV09SS19OQU1FPVdlYktpdDsKK0dDQ19QUkVQUk9DRVNT
T1JfREVGSU5JVElPTlMgPSAkKERFQlVHX0RFRklORVMpICQoRkVBVFVSRV9ERUZJTkVTKSAkKFdL
X01BTlVBTF9TQU5EQk9YSU5HX0RFRklORVMpICQoV0tfQ09SRV9QUkVESUNUSU9OX0RFRklORVMp
IEZSQU1FV09SS19OQU1FPVdlYktpdDsKIFdFQktJVEFERElUSU9OU19IRUFERVJfU0VBUkNIX1BB
VEhTID0gJChCVUlMVF9QUk9EVUNUU19ESVIpL3Vzci9sb2NhbC9pbmNsdWRlL1dlYktpdEFkZGl0
aW9ucyAkKFNES1JPT1QpL3Vzci9sb2NhbC9pbmNsdWRlL1dlYktpdEFkZGl0aW9uczsKIEhFQURF
Ul9TRUFSQ0hfUEFUSFMgPSAkKEJVSUxUX1BST0RVQ1RTX0RJUikvdXNyL2xvY2FsL2luY2x1ZGUg
IiQoV0VCQ09SRV9QUklWQVRFX0hFQURFUlNfRElSKS9Gb3J3YXJkaW5nSGVhZGVycyIgIiQoV0VC
Q09SRV9QUklWQVRFX0hFQURFUlNfRElSKS9pY3UiICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJLaXQyICQoV0VCS0lUQURESVRJT05TX0hFQURFUl9TRUFSQ0hfUEFUSFMp
ICQoSEVBREVSX1NFQVJDSF9QQVRIUyk7CiAKQEAgLTEwNSwzICsxMDUsOSBAQCBXS19VU0VfT1ZF
UlJJREVfRlJBTUVXT1JLU19ESVIgPSAkKFdLX05PCiAKIFdLX09WRVJSSURFX0ZSQU1FV09SS1Nf
RElSID0gJChXS19PVkVSUklERV9GUkFNRVdPUktTX0RJUl9VU0VfU1RBR0lOR19JTlNUQUxMX1BB
VEhfJChVU0VfU1RBR0lOR19JTlNUQUxMX1BBVEgpKTsKIFdLX09WRVJSSURFX0ZSQU1FV09SS1Nf
RElSX1VTRV9TVEFHSU5HX0lOU1RBTExfUEFUSF9ZRVMgPSAkKFNZU1RFTV9MSUJSQVJZX0RJUikv
U3RhZ2VkRnJhbWV3b3Jrcy9TYWZhcmk7CisKK1dLX0hBVkVfQ09SRV9QUkVESUNUSU9OID0gWUVT
OworV0tfSEFWRV9DT1JFX1BSRURJQ1RJT05bc2RrPW1hY29zeCpdW2FyY2g9aTM4Nl0gPSBOTzsK
KworV0tfQ09SRV9QUkVESUNUSU9OX0RFRklORVMgPSAkKFdLX0NPUkVfUFJFRElDVElPTl9ERUZJ
TkVTXyQoV0tfSEFWRV9DT1JFX1BSRURJQ1RJT04pKTsKK1dLX0NPUkVfUFJFRElDVElPTl9ERUZJ
TkVTX1lFUyA9IEhBVkVfQ09SRV9QUkVESUNUSU9OOwpJbmRleDogU291cmNlL1dlYktpdDIvQ29u
ZmlndXJhdGlvbnMvV2ViS2l0LnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L0NvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZwkocmV2aXNpb24gMjE1MjE1KQorKysgU291
cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29uZmlnCSh3b3JraW5nIGNvcHkp
CkBAIC01NSw3ICs1NSw3IEBAIExJQldFQlJUQ19MSUJSQVJZX0RJUltzZGs9bWFjb3N4Kl0gPSAk
KEwKIExJQldFQlJUQ19MSUJSQVJZX0RJUl9VU0VfT1ZFUlJJREVfRlJBTUVXT1JLU19ESVJfTk8g
PSAkKFdFQkNPUkVfRlJBTUVXT1JLU19ESVIpL1dlYkNvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0Ev
RnJhbWV3b3JrczsKIExJQldFQlJUQ19MSUJSQVJZX0RJUl9VU0VfT1ZFUlJJREVfRlJBTUVXT1JL
U19ESVJfWUVTID0gJChXS19PVkVSUklERV9GUkFNRVdPUktTX0RJUik7CiAKLU9USEVSX0xERkxB
R1MgPSAkKGluaGVyaXRlZCkgJChVTkVYUE9SVEVEX1NZTUJPTF9MREZMQUdTKSAkKEFTQU5fT1RI
RVJfTERGTEFHUykgJChGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHUykgJChPVEhFUl9MREZM
QUdTX1BMQVRGT1JNKSAkKFdLX1JFTE9DQVRBQkxFX0ZSQU1FV09SS19MREZMQUdTKSAtZnJhbWV3
b3JrIFdlYktpdExlZ2FjeTsKK09USEVSX0xERkxBR1MgPSAkKGluaGVyaXRlZCkgLUYiJChTREtf
RElSKSQoU1lTVEVNX0xJQlJBUllfRElSKS9Qcml2YXRlRnJhbWV3b3JrcyIgJChVTkVYUE9SVEVE
X1NZTUJPTF9MREZMQUdTKSAkKEFTQU5fT1RIRVJfTERGTEFHUykgJChGUkFNRVdPUktfQU5EX0xJ
QlJBUllfTERGTEFHUykgJChPVEhFUl9MREZMQUdTX1BMQVRGT1JNKSAkKFdLX1JFTE9DQVRBQkxF
X0ZSQU1FV09SS19MREZMQUdTKSAkKFdLX0NPUkVfUFJFRElDVElPTl9MREZMQUdTKSAtZnJhbWV3
b3JrIFdlYktpdExlZ2FjeTsKIE9USEVSX0xERkxBR1NfUExBVEZPUk1bc2RrPW1hY29zeCpdID0g
JChMSUJXRUJSVENfTERGTEFHUyk7CiBPVEhFUl9MREZMQUdTX1BMQVRGT1JNW3Nkaz1pcGhvbmVv
cypdID0gLWxBY2Nlc3NpYmlsaXR5ICQoTElCV0VCUlRDX0xERkxBR1MpOwogT1RIRVJfTERGTEFH
U19QTEFURk9STVtzZGs9aXBob25lc2ltdWxhdG9yKl0gPSAtbEFjY2Vzc2liaWxpdHkgJChMSUJX
RUJSVENfTERGTEFHUyk7CkBAIC04MywzICs4Myw3IEBAIFdLX0ZSQU1FV09SS19IRUFERVJfUE9T
VFBST0NFU1NJTkdfRElTQUIKIAogV0tfUkVMT0NBVEFCTEVfRlJBTUVXT1JLX0xERkxBR1MgPSAk
KFdLX1JFTE9DQVRBQkxFX0ZSQU1FV09SS19MREZMQUdTXyQoV0tfUkVMT0NBVEFCTEVfRlJBTUVX
T1JLUykpOwogV0tfUkVMT0NBVEFCTEVfRlJBTUVXT1JLX0xERkxBR1NfWUVTID0gLVdsLC1ub3Rf
Zm9yX2R5bGRfc2hhcmVkX2NhY2hlOworCitXS19DT1JFX1BSRURJQ1RJT05fTERGTEFHUyA9ICQo
V0tfQ09SRV9QUkVESUNUSU9OX0xERkxBR1NfJChXS19IQVZFX0NPUkVfUFJFRElDVElPTikpOwor
V0tfQ09SRV9QUkVESUNUSU9OX0xERkxBR1NfWUVTID0gLWZyYW1ld29yayBDb3JlUHJlZGljdGlv
bjsKK1dLX0NPUkVfUFJFRElDVElPTl9MREZMQUdTX1lFU1tzZGs9bWFjb3N4Kl0gPSAtd2Vha19m
cmFtZXdvcmsgQ29yZVByZWRpY3Rpb247CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9j
bGFzc2lmaWVyL2NvY29hL0NvcmVQcmVkaWN0aW9uU29mdExpbmsuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL0NvcmVQcmVkaWN0aW9uU29m
dExpbmsuaAkocmV2aXNpb24gMjE1MjE1KQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xh
c3NpZmllci9jb2NvYS9Db3JlUHJlZGljdGlvblNvZnRMaW5rLmgJKG5vbmV4aXN0ZW50KQpAQCAt
MSwzOCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpbmNsdWRlIDxXZWJD
b3JlL1NvZnRMaW5raW5nLmg+Ci0KLXN0cnVjdCBzdm1fbW9kZWw7Ci1zdHJ1Y3Qgc3ZtX25vZGUg
ewotICAgIGludCBpbmRleDsKLSAgICBkb3VibGUgdmFsdWU7Ci19OwotCi1TT0ZUX0xJTktfUFJJ
VkFURV9GUkFNRVdPUktfT1BUSU9OQUwoQ29yZVByZWRpY3Rpb24pCi1TT0ZUX0xJTksoQ29yZVBy
ZWRpY3Rpb24sIHN2bV9wcmVkaWN0X3ZhbHVlcywgZG91YmxlLCAoY29uc3Qgc3RydWN0IHN2bV9t
b2RlbCAqbW9kZWwsIGNvbnN0IHN0cnVjdCBzdm1fbm9kZSAqeCwgZG91YmxlKiBkZWNfdmFsdWVz
KSwgKG1vZGVsLCB4LCBkZWNfdmFsdWVzKSkKLVNPRlRfTElOSyhDb3JlUHJlZGljdGlvbiwgc3Zt
X2xvYWRfbW9kZWwsIHN2bV9tb2RlbCosIChjb25zdCBjaGFyICptb2RlbF9maWxlX25hbWUpLCAo
bW9kZWxfZmlsZV9uYW1lKSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZp
ZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcAkocmV2aXNpb24gMjE1MjE1KQorKysg
U291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0
aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsOSArMjYsMTEg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllckNvY29hLmgiCiAKKyNpZiBIQVZFKENPUkVfUFJFRElDVElPTikKKworI2luY2x1
ZGUgIkNvcmVQcmVkaWN0aW9uU1BJLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUg
PHd0Zi9OZXZlckRlc3Ryb3llZC5oPgotI2luY2x1ZGUgIkNvcmVQcmVkaWN0aW9uU29mdExpbmsu
aCIKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTcwLDYgKzcyLDE3IEBAIFN0cmluZyBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckMKICAgICByZXR1cm4gU3RyaW5nKHJlc291cmNl
VXJsU3RyaW5nLmdldCgpKTsKIH0KIAorc3RhdGljIGlubGluZSBib29sIGlzTnVsbEZ1bmN0aW9u
UG9pbnRlcih2b2lkKiBmdW5jdGlvblBvaW50ZXIpCit7CisgICAgdm9pZCogcmVzdWx0OworICAg
IGFzbSgKKyAgICAgICAgIm1vdiAlMSwgJTAiCisgICAgICAgIDogIj1yIiAocmVzdWx0KQorICAg
ICAgICA6ICJyIiAoZnVuY3Rpb25Qb2ludGVyKQorICAgICk7CisgICAgcmV0dXJuICFyZXN1bHQ7
Cit9CisKIGJvb2wgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYTo6Y2FuVXNl
Q29yZVByZWRpY3Rpb24oKQogewogICAgIGlmIChtX2hhdmVMb2FkZWRNb2RlbCkKQEAgLTc4LDcg
KzkxLDcgQEAgYm9vbCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvYwogICAgIGlm
ICghbV91c2VDb3JlUHJlZGljdGlvbikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYg
KCFDb3JlUHJlZGljdGlvbkxpYnJhcnkoKSkgeworICAgIGlmIChpc051bGxGdW5jdGlvblBvaW50
ZXIocmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oc3ZtX2xvYWRfbW9kZWwpKSkgewogICAgICAgICBt
X3VzZUNvcmVQcmVkaWN0aW9uID0gZmFsc2U7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9
CkBAIC0xMTAsMyArMTIzLDUgQEAgY29uc3Qgc3RydWN0IHN2bV9tb2RlbCogUmVzb3VyY2VMb2Fk
U3RhdAogICAgIHJldHVybiBudWxscHRyOwogfQogfQorCisjZW5kaWYKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL1BsYXRmb3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Ns
YXNzaWZpZXJDb2NvYS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2Ns
YXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oCShy
ZXZpc2lvbiAyMTUyMTUpCisrKyBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2Nv
Y29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaAkod29ya2luZyBjb3B5
KQpAQCAtMjUsNiArMjUsOCBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2lmIEhBVkUoQ09SRV9QUkVE
SUNUSU9OKQorCiAjaW5jbHVkZSAiUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaCIK
ICNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcu
aD4KQEAgLTQ0LDMgKzQ2LDUgQEAgcHJpdmF0ZToKIH07CiAgICAgCiB9CisKKyNlbmRpZgpJbmRl
eDogU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL0NvY29hL0NvcmVQcmVkaWN0aW9uU1BJLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL0NvY29hL0NvcmVQcmVk
aWN0aW9uU1BJLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3Bp
L0NvY29hL0NvcmVQcmVkaWN0aW9uU1BJLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1NyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgSEFWRShDT1JFX1BSRURJQ1RJT04p
CisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorCisjaW1wb3J0IDxDb3JlUHJlZGljdGlv
bi9zdm0uaD4KKworI2Vsc2UKKworc3RydWN0IHN2bV9ub2RlCit7CisgICAgaW50IGluZGV4Owor
ICAgIGRvdWJsZSB2YWx1ZTsKK307CisKKyNlbmRpZgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4
dGVybiAiQyIgeworI2VuZGlmCisKK3R5cGVkZWYgc3RydWN0IHN2bV9ub2RlIHN2bV9ub2RlOwor
CitzdHJ1Y3Qgc3ZtX21vZGVsICpzdm1fbG9hZF9tb2RlbChjb25zdCBjaGFyICptb2RlbF9maWxl
X25hbWUpOworZG91YmxlIHN2bV9wcmVkaWN0X3ZhbHVlcyhjb25zdCBzdHJ1Y3Qgc3ZtX21vZGVs
ICptb2RlbCwgY29uc3Qgc3RydWN0IHN2bV9ub2RlICp4LCBkb3VibGUqIGRlY192YWx1ZXMpOwor
CisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c1N0b3JlLmgJKHJldmlzaW9uIDIxNTIxNSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsNyAr
MzMsNyBAQAogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZT
dHJpbmcuaD4KIAotI2lmIFBMQVRGT1JNKENPQ09BKQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBI
QVZFKENPUkVfUFJFRElDVElPTikKICNpbmNsdWRlICJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xh
c3NpZmllckNvY29hLmgiCiAjZW5kaWYKIApAQCAtOTQsNyArOTQsNyBAQCBwcml2YXRlOgogICAg
IHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpLZXllZERlY29kZXI+IGNyZWF0ZURlY29kZXJGcm9t
RGlzayhjb25zdCBTdHJpbmcmIGxhYmVsKSBjb25zdDsKIAogICAgIFJlZjxXZWJDb3JlOjpSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU+IG1fcmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOwot
I2lmIFBMQVRGT1JNKENPQ09BKQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBIQVZFKENPUkVfUFJF
RElDVElPTikKICAgICBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hIG1fcmVz
b3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXI7CiAjZWxzZQogICAgIFJlc291cmNlTG9hZFN0
YXRpc3RpY3NDbGFzc2lmaWVyIG1fcmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXI7Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCShyZXZpc2lvbiAyMTUyMTUpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTg1MCw2ICs4NTAsNyBAQAogCQkz
N0JFQzRFMTE5NDkxNDg2MDA4QjQyODYgLyogQ29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdCRUM0REYx
OTQ5MTQ4NjAwOEI0Mjg2IC8qIENvbXBsZXRpb25IYW5kbGVyQ2FsbENoZWNrZXIuaCAqLzsgfTsK
IAkJMzdCRjJGMDYxOTQ3REVCNDAwNzIzQzQ4IC8qIFdLTlNVUkxSZXF1ZXN0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0JGMkYwNDE5NDdERUI0MDA3
MjNDNDggLyogV0tOU1VSTFJlcXVlc3QuaCAqLzsgfTsKIAkJMzdCRjJGMDcxOTQ3REVCNDAwNzIz
QzQ4IC8qIFdLTlNVUkxSZXF1ZXN0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMzdCRjJGMDUxOTQ3REVCNDAwNzIzQzQ4IC8qIFdLTlNVUkxSZXF1ZXN0
Lm1tICovOyB9OworCQkzN0MyMUNBRTFFOTk0QzBDMDAyOUQ1RjkgLyogQ29yZVByZWRpY3Rpb25T
UEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3QzIx
Q0FEMUU5OTRDMEMwMDI5RDVGOSAvKiBDb3JlUHJlZGljdGlvblNQSS5oICovOyB9OwogCQkzN0M0
QzA4NjE4MTQ5QzVCMDAzNjg4QjkgLyogV0tCYWNrRm9yd2FyZExpc3RJdGVtLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdDNEMwODQxODE0OUM1QjAw
MzY4OEI5IC8qIFdLQmFja0ZvcndhcmRMaXN0SXRlbS5tbSAqLzsgfTsKIAkJMzdDNEMwODcxODE0
OUM1QjAwMzY4OEI5IC8qIFdLQmFja0ZvcndhcmRMaXN0SXRlbS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdDNEMwODUxODE0OUM1QjAwMzY4OEI5IC8q
IFdLQmFja0ZvcndhcmRMaXN0SXRlbS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1
YmxpYywgKTsgfTsgfTsKIAkJMzdDNEMwODkxODE0OUYyMzAwMzY4OEI5IC8qIFdLQmFja0Zvcndh
cmRMaXN0SXRlbUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzN0M0QzA4ODE4MTQ5RjIzMDAzNjg4QjkgLyogV0tCYWNrRm9yd2FyZExpc3RJ
dGVtSW50ZXJuYWwuaCAqLzsgfTsKQEAgLTExNzQsNyArMTE3NSw2IEBACiAJCTY1MDFCRDFBMTJG
MTI0MzQwMEU5RjI0OCAvKiBXS0J1bmRsZUluc3BlY3Rvci5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NUI4NkYxNzEyRjExRDdCMDBCN0REOEEgLyog
V0tCdW5kbGVJbnNwZWN0b3IuY3BwICovOyB9OwogCQk2NTlDNTUxRTEzMDAwNjQxMDAyNUMwQzIg
LyogSW5qZWN0ZWRCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1NDZBODI5MTMwMDAxNjQwMDBDRUIx
QyAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQuY3BwICovOyB9OwogCQk2
NUI4NkYxRTEyRjExREUzMDBCN0REOEEgLyogV0tCdW5kbGVJbnNwZWN0b3IuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1Qjg2RjE4MTJGMTFEN0IwMEI3
REQ4QSAvKiBXS0J1bmRsZUluc3BlY3Rvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07Ci0JCTZCMkUwOUJBMUU1N0I4ODEwMEM4QThCOSAvKiBDb3JlUHJl
ZGljdGlvblNvZnRMaW5rLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA2QjJFMDlCOTFFNTdCODgxMDBDOEE4QjkgLyogQ29yZVByZWRpY3Rpb25Tb2Z0TGlu
ay5oICovOyB9OwogCQk2QkU5Njk5QzFFNDNCM0ZGMDA4Qjc0ODMgLyogV0tSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNkJFOTY5OUIxRTQzQjNGRjAwOEI3NDgzIC8qIFdLUmVzb3VyY2VMb2FkU3RhdGlz
dGljc01hbmFnZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk2QkU5Njk5RTFFNDNCNDFEMDA4Qjc0ODMgLyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA2QkU5Njk5RDFFNDNCNDFEMDA4Qjc0ODMgLyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
TWFuYWdlci5jcHAgKi87IH07CiAJCTZCRTk2OUEwMUU0M0I4NkUwMDhCNzQ4MyAvKiBXZWJSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5OUYxRTQzQjg2RTAwOEI3NDgzIC8qIFdlYlJlc291cmNl
TG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmggKi87IH07CkBAIC0zMDUyLDYgKzMwNTIsNyBAQAogCQkz
N0JFQzRERjE5NDkxNDg2MDA4QjQyODYgLyogQ29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb21wbGV0aW9uSGFuZGxlckNhbGxD
aGVja2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3QkYyRjA0MTk0N0RFQjQw
MDcyM0M0OCAvKiBXS05TVVJMUmVxdWVzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXS05TVVJMUmVxdWVzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzN0JG
MkYwNTE5NDdERUI0MDA3MjNDNDggLyogV0tOU1VSTFJlcXVlc3QubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS05TVVJMUmVxdWVzdC5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMzdDMjFDQUQxRTk5NEMwQzAwMjlENUY5IC8qIENvcmVQcmVkaWN0
aW9uU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvcmVQcmVkaWN0aW9u
U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3QzRDMDg0MTgxNDlDNUIwMDM2
ODhCOSAvKiBXS0JhY2tGb3J3YXJkTGlzdEl0ZW0ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBXS0JhY2tGb3J3YXJkTGlzdEl0ZW0ubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTM3QzRDMDg1MTgxNDlDNUIwMDM2ODhCOSAvKiBXS0JhY2tGb3J3YXJk
TGlzdEl0ZW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tCYWNrRm9yd2Fy
ZExpc3RJdGVtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3QzRDMDg4MTgxNDlG
MjMwMDM2ODhCOSAvKiBXS0JhY2tGb3J3YXJkTGlzdEl0ZW1JbnRlcm5hbC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXS0JhY2tGb3J3YXJkTGlzdEl0ZW1JbnRlcm5hbC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzQzNSw3ICszNDM2LDYgQEAKIAkJNjU0NkE4
MkExMzAwMDE2NDAwMENFQjFDIC8qIEluamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVu
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbmplY3RlZEJ1bmRsZVBhZ2VS
ZXNvdXJjZUxvYWRDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjVCODZG
MTcxMkYxMUQ3QjAwQjdERDhBIC8qIFdLQnVuZGxlSW5zcGVjdG9yLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLQnVuZGxlSW5zcGVjdG9yLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjVCODZGMTgxMkYxMUQ3QjAwQjdERDhBIC8qIFdLQnVuZGxl
SW5zcGVjdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLQnVuZGxlSW5z
cGVjdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTZCMkUwOUI5MUU1N0I4ODEw
MEM4QThCOSAvKiBDb3JlUHJlZGljdGlvblNvZnRMaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IENvcmVQcmVkaWN0aW9uU29mdExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNkJFOTY5OUIxRTQzQjNGRjAwOEI3NDgzIC8qIFdLUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01hbmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzTWFuYWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk2QkU5Njk5RDFFNDNCNDFEMDA4Qjc0ODMgLyogV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWFu
YWdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXS1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NNYW5hZ2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NkJFOTY5OUYxRTQzQjg2RTAwOEI3NDgzIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW5h
Z2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlJlc291cmNlTG9hZFN0
YXRpc3RpY3NNYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01NDg0LDYg
KzU0ODQsNyBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKIAkJCQkxQTU3
MDUxMDFCRTQxMEU1MDA4NzRBRjEgLyogQmxvY2tTUEkuaCAqLywKKwkJCQkzN0MyMUNBRDFFOTk0
QzBDMDAyOUQ1RjkgLyogQ29yZVByZWRpY3Rpb25TUEkuaCAqLywKIAkJCQkzNzU0RDU0NDFCM0Ey
OUZEMDAzQTRDN0YgLyogTlNJbnZvY2F0aW9uU1BJLmggKi8sCiAJCQkJMzdCNDdFMkMxRDY0REI3
NjAwNUY0RUZGIC8qIG9iamNTUEkuaCAqLywKIAkJCSk7CkBAIC02Mjk5LDcgKzYzMDAsNiBAQAog
CQk2QkU5NjlDMzFFNTRENDY3MDA4Qjc0ODMgLyogY29jb2EgKi8gPSB7CiAJCQlpc2EgPSBQQlhH
cm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCTZCMkUwOUI5MUU1N0I4ODEwMEM4QThCOSAvKiBD
b3JlUHJlZGljdGlvblNvZnRMaW5rLmggKi8sCiAJCQkJNkJFOTY5QzgxRTU0RDRDRjAwOEI3NDgz
IC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwICovLAogCQkJCTZC
RTk2OUM5MUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmll
ckNvY29hLmggKi8sCiAJCQkpOwpAQCAtODIyNiw3ICs4MjI2LDYgQEAKIAkJCQk1MTA2RDdDNDE4
QkRCRTczMDAwQUIxNjYgLyogQ29udGV4dE1lbnVDb250ZXh0RGF0YS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQ0RDMzgzMEMxNzIxMjI4MjAwOEEyRkMzIC8qIENvb2tpZVN0b3JhZ2VTaGltTGlicmFy
eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0UxQTBCRDMxQTQ4RTZDNjAwNTRFRjc0IC8qIENvcmVQ
REZTUEkuaCBpbiBIZWFkZXJzICovLAotCQkJCTZCMkUwOUJBMUU1N0I4ODEwMEM4QThCOSAvKiBD
b3JlUHJlZGljdGlvblNvZnRMaW5rLmggaW4gSGVhZGVycyAqLywKIAkJCQlCODc4QjYxNTEzMzQy
OERDMDA2ODg4RTkgLyogQ29ycmVjdGlvblBhbmVsLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTVF
NzcyQzE4NDAwOEI5MDAwNzIwM0YgLyogRGF0YWJhc2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTJBOTc2MTE4MEUwMzFEMDAzOUExNDkgLyogRGF0YWJh
c2VQcm9jZXNzTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLApAQCAtODI1NSw2ICs4MjU0LDcgQEAK
IAkJCQlCQzAzMkRBODEwRjQzN0QxMDA1OEMxNUEgLyogRW5jb2Rlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTFCMTVBODUxMzg0M0EzOTAwMzIxQUQ4IC8qIEVudmlyb25tZW50VXRpbGl0aWVzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkxQUE1NzVGQjE0OTZCNTI2MDBBNEVFMDYgLyogRXZlbnREaXNw
YXRjaGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQkzN0MyMUNBRTFFOTk0QzBDMDAyOUQ1RjkgLyog
Q29yZVByZWRpY3Rpb25TUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTAwQjk2NjFBMThFMjVBRTEw
MENFMUY4OCAvKiBGaW5kQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTkwQzFGNDEyNjRG
RDcxMDAzRTQ0RDQgLyogRmluZENvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRTgx
RDhEMTMxOUY3RUYwMDI0MTkxMCAvKiBGb250SW5mby5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBX
ZWJLaXRMaWJyYXJpZXMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdExpYnJhcmllcy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDIxNTIxNSkKKysrIFdlYktpdExpYnJhcmllcy9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxNy0wNC0xMCAgRGFuIEJlcm5zdGVp
biAgPG1pdHpAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gV2ViS2l0IHVubmVjZXNzYXJp
bHkgc29mdC1saW5rcyBDb3JlUHJlZGljdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNjQ0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzEw
L0NvcmVQcmVkaWN0aW9uLmZyYW1ld29yazogQWRkZWQgdGhpcyBmcmFtZXdvcmsgc3R1Yi4KKyAg
ICAgICAgKiBXZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzEwL0NvcmVQcmVkaWN0aW9u
LmZyYW1ld29yay9Db3JlUHJlZGljdGlvbi50YmQ6IEFkZGVkLgorCiAyMDE3LTA0LTA4ICBEYW4g
QmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlZCBhbiBlbXB0eSBk
aXJlY3RvcnkgbGVmdCBiZWhpbmQgYWZ0ZXIgcjIxMjg0MS4KSW5kZXg6IFdlYktpdExpYnJhcmll
cy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzEwL0NvcmVQcmVkaWN0aW9uLmZyYW1l
d29yay9Db3JlUHJlZGljdGlvbi50YmQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0TGlicmFyaWVzL1dl
YktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvMTAvQ29yZVByZWRpY3Rpb24uZnJhbWV3b3Jr
L0NvcmVQcmVkaWN0aW9uLnRiZAkobm9uZXhpc3RlbnQpCisrKyBXZWJLaXRMaWJyYXJpZXMvV2Vi
S2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy8xMC9Db3JlUHJlZGljdGlvbi5mcmFtZXdvcmsv
Q29yZVByZWRpY3Rpb24udGJkCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTggQEAKKy0tLSAh
dGFwaS10YmQtdjIKK2FyY2hzOgorICAtIGFybXY3CisgIC0gYXJtdjdzCisgIC0gYXJtNjQKK2V4
cG9ydHM6CisgIC0KKyAgICBhcmNoczoKKyAgICAgIC0gYXJtdjcKKyAgICAgIC0gYXJtdjdzCisg
ICAgICAtIGFybTY0CisgICAgc3ltYm9sczoKKyAgICAgIC0gX3N2bV9sb2FkX21vZGVsCisgICAg
ICAtIF9zdm1fcHJlZGljdF92YWx1ZXMKK2luc3RhbGwtbmFtZTogL1N5c3RlbS9MaWJyYXJ5L1By
aXZhdGVGcmFtZXdvcmtzL0NvcmVQcmVkaWN0aW9uLmZyYW1ld29yaworb2JqYy1jb25zdHJhaW50
OiBub25lCitwbGF0Zm9ybTogaW9zCisuLi4K
</data>
<flag name="review"
          id="328100"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>