<?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>104934</bug_id>
          
          <creation_ts>2012-12-13 11:20:24 -0800</creation_ts>
          <short_desc>webdatabase: Introducing the DatabaseStrategy and database server</short_desc>
          <delta_ts>2012-12-15 01:04:12 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>105062</dependson>
    
    <dependson>105083</dependson>
          <blocked>103668</blocked>
    
    <blocked>104748</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>rakuco</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>790779</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2012-12-13 11:20:24 -0800</bug_when>
    <thetext>This change adds the DatabaseStrategy which creates a simple do nothing database server.   The functionality for the database server will be added in https://bugs.webkit.org/show_bug.cgi?id=104748.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790796</commentid>
    <comment_count>1</comment_count>
      <attachid>179309</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2012-12-13 11:51:58 -0800</bug_when>
    <thetext>Created attachment 179309
Fix.

This patch was already tested against the EWS bots in https://bugs.webkit.org/show_bug.cgi?id=104748, but is submitted separately here so that we can land it as a smaller patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791833</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2012-12-14 14:00:36 -0800</bug_when>
    <thetext>The fix is landed in r137767: &lt;http://trac.webkit.org/changeset/137767&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791903</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-12-14 15:23:20 -0800</bug_when>
    <thetext>This patch broke Mac builds:

http://build.webkit.org/builders/Apple%20Lion%20Debug%20%28Build%29/builds/9358/steps/compile-webkit/logs/stdio
Undefined symbols for architecture x86_64:
  &quot;__ZTVN7WebCore16DatabaseStrategyE&quot;, referenced from:
      __ZN7WebCore16DatabaseStrategyC2Ev in WebPlatformStrategies.o</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791911</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-14 15:28:23 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 105062</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>792007</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2012-12-14 18:02:51 -0800</bug_when>
    <thetext>FYI, this changes was rolled out in r137784: &lt;http://trac.webkit.org/changeset/137784&gt; in https://bugs.webkit.org/show_bug.cgi?id=105062.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>792060</commentid>
    <comment_count>6</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2012-12-14 23:54:13 -0800</bug_when>
    <thetext>The patch only fails to build for debug builds on Mac.  The following one line change was added to export the vtbl of the DatabaseStrategy class, and resolve the build issue.

Index: Source/WebCore/WebCore.exp.in
===================================================================
--- Source/WebCore/WebCore.exp.in	(revision 137794)
+++ Source/WebCore/WebCore.exp.in	(working copy)
@@ -1482,6 +1483,7 @@ __ZNK7WebCore9PageCache10frameCountEv
 __ZNK7WebCore9PageCache21autoreleasedPageCountEv
 __ZTVN7WebCore12ChromeClientE
 __ZTVN7WebCore14LoaderStrategyE
+__ZTVN7WebCore16DatabaseStrategyE
 __ZTVN7WebCore16IconDatabaseBaseE
 __ZTVN7WebCore17FrameLoaderClientE
 __ZTVN7WebCore25HistoryPropertyListWriterE

With this change, the patch now builds for all flavors. 

In addition to a build failure on debug builds, it was reported that release builds were crashing on Mac and Windows on launch.  That issue was due to the WebView not calling WebPlatformStrategies::initialize() soon enough (see https://bugs.webkit.org/show_bug.cgi?id=105083), which has now been resolved.

Will re-land the patch from r137767 with the addition of the one line change above to fix the build failure on Mac debug builds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>792061</commentid>
    <comment_count>7</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2012-12-15 00:11:49 -0800</bug_when>
    <thetext>The patch has be re-landed (along with the 1 line build fix) in landed in r137795: &lt;http://trac.webkit.org/changeset/137795&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>792064</commentid>
    <comment_count>8</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2012-12-15 00:52:40 -0800</bug_when>
    <thetext>r137795 broke the Qt Linux Release Minimal build:
http://build.webkit.org/builders/Qt%20Linux%20Release%20minimal/builds/67715/steps/compile-webkit/logs/stdio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>792069</commentid>
    <comment_count>9</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2012-12-15 01:04:12 -0800</bug_when>
    <thetext>The fix to green the Qt Linux Release Minimal bot is to add #if ENABLE(SQL_DATABASE) around the declaration and definition of WebPlatformStrategies::getDatabaseServer() in WebKit2&apos;s WebPlatformStrategies.h/cpp.

Fix landed in r137796: &lt;http://trac.webkit.org/changeset/137796&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179309</attachid>
            <date>2012-12-13 11:51:58 -0800</date>
            <delta_ts>2012-12-14 13:29:45 -0800</delta_ts>
            <desc>Fix.</desc>
            <filename>bug-104934.patch</filename>
            <type>text/plain</type>
            <size>54022</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNzYyOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ2IEBACisyMDEyLTEyLTEzICBNYXJrIExh
bSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBJbnRyb2R1Y2luZyB0aGUgRGF0YWJh
c2VTdHJhdGVneSBhbmQgZGF0YWJhc2Ugc2VydmVycy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDkzNC4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgZGF0YWJhc2Ugc2VydmVyIGlzIGN1cnJlbnRs
eSBhIHBsYWNlaG9sZGVyIHRoYXQgZG9lcyBub3RoaW5nLgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cy4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxp
c3QuYW06CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9BYnN0cmFjdERhdGFiYXNlU2Vy
dmVyLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChBYnN0cmFjdERhdGFi
YXNlU2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkFic3RyYWN0RGF0YWJhc2VTZXJ2ZXI6OkFi
c3RyYWN0RGF0YWJhc2VTZXJ2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6QWJzdHJhY3REYXRhYmFz
ZVNlcnZlcjo6fkFic3RyYWN0RGF0YWJhc2VTZXJ2ZXIpOgorICAgICAgICAqIE1vZHVsZXMvd2Vi
ZGF0YWJhc2UvREJCYWNrZW5kU2VydmVyLmg6IEFkZGVkLgorICAgICAgICAoREJCYWNrZW5kKToK
KyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlTWFuYWdlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpEYXRhYmFzZU1hbmFnZXI6OkRhdGFiYXNlTWFuYWdlcik6CisgICAgICAg
ICogTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZU1hbmFnZXIuaDoKKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoRGF0YWJhc2VNYW5hZ2VyKToKKyAgICAgICAgKiBUYXJnZXQucHJpOgor
ICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAg
ICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vRGF0YWJhc2VTdHJh
dGVneS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpE
YXRhYmFzZVN0cmF0ZWd5OjpnZXREYXRhYmFzZVNlcnZlcik6CisgICAgICAgICogcGxhdGZvcm0v
RGF0YWJhc2VTdHJhdGVneS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
RGF0YWJhc2VTdHJhdGVneSk6CisgICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZVN0cmF0ZWd5Ojp+
RGF0YWJhc2VTdHJhdGVneSk6CisgICAgICAgICogcGxhdGZvcm0vUGxhdGZvcm1TdHJhdGVnaWVz
Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRl
Z2llczo6ZGF0YWJhc2VTdHJhdGVneSk6CisgICAgICAgIChQbGF0Zm9ybVN0cmF0ZWdpZXMpOgor
ICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzOjpQbGF0Zm9ybVN0cmF0ZWdpZXMp
OgorCiAyMDEyLTEyLTEzICBQYXJ0aCBQYXRlbCAgPHBhcnBhdGVsQHJpbS5jb20+LCBNYXggRmVp
bCA8bWZlaWxAcmltLmNvbT4KIAogICAgICAgICBBbGxvdyBwbHVnaW5zIHRvIGJlIGRpc2FibGVk
IGJ5IHNoYXJlZCBsaWJyYXJ5IGZpbGVuYW1lCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2
aXNpb24gMTM3NjI5KQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTE3OTMsNiArMTc5Myw3IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0
Zm9ybS9Db250ZXh0TWVudUl0ZW0uY3BwCiAgICAgcGxhdGZvcm0vQ29udGVudFR5cGUuY3BwCiAg
ICAgcGxhdGZvcm0vQ3Jvc3NUaHJlYWRDb3BpZXIuY3BwCisgICAgcGxhdGZvcm0vRGF0YWJhc2VT
dHJhdGVneS5jcHAKICAgICBwbGF0Zm9ybS9EYXRlQ29tcG9uZW50cy5jcHAKICAgICBwbGF0Zm9y
bS9EZWNpbWFsLmNwcAogICAgIHBsYXRmb3JtL0RyYWdEYXRhLmNwcApJbmRleDogU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCShyZXZpc2lvbiAxMzc2MjkpCisrKyBTb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCSh3b3JraW5nIGNvcHkpCkBAIC0yMDg2LDYgKzIwODYsNyBAQCB3
ZWJjb3JlX21vZHVsZXNfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9XYXZlVGFibGUuaCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9B
YnN0cmFjdERhdGFiYXNlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFz
ZS9BYnN0cmFjdERhdGFiYXNlLmggXAorCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJh
c2UvQWJzdHJhY3REYXRhYmFzZVNlcnZlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmRhdGFiYXNlL0NoYW5nZVZlcnNpb25XcmFwcGVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJkYXRhYmFzZS9DaGFuZ2VWZXJzaW9uV3JhcHBlci5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RPTVdpbmRvd1dlYkRhdGFiYXNlLmNwcCBcCkBAIC0yMTA5
LDYgKzIxMTAsNyBAQCB3ZWJjb3JlX21vZHVsZXNfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRocmVhZC5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlVHJhY2tlci5jcHAgXAogCVNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VUcmFja2VyLmggXAorCVNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvREJCYWNrZW5kU2VydmVyLmggXAogCVNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvT3JpZ2luUXVvdGFNYW5hZ2VyLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9PcmlnaW5RdW90YU1hbmFnZXIuaCBcCiAJU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9PcmlnaW5Vc2FnZVJlY29yZC5jcHAgXApA
QCAtNTI5MSw2ICs1MjkzLDggQEAgd2ViY29yZV9wbGF0Zm9ybV9zb3VyY2VzICs9IFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9Dcm9zc1RocmVhZENvcGllci5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9DdXJzb3IuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DdXJzb3Iu
aCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGF0YWJhc2VTdHJhdGVneS5jcHAgXAorCVNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RhdGFiYXNlU3RyYXRlZ3kuaCBcCiAJU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vRGF0ZUNvbXBvbmVudHMuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9EYXRlQ29tcG9uZW50cy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EYXRlVGltZUNo
b29zZXIuaCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkJKHJldmlzaW9uIDEzNzYyOSkKKysrIFNvdXJjZS9X
ZWJDb3JlL1RhcmdldC5wcmkJKHdvcmtpbmcgY29weSkKQEAgLTk0NSw2ICs5NDUsNyBAQCBTT1VS
Q0VTICs9IFwKICAgICBwbGF0Zm9ybS9DbG9ja0dlbmVyaWMuY3BwIFwKICAgICBwbGF0Zm9ybS9D
b250ZW50VHlwZS5jcHAgXAogICAgIHBsYXRmb3JtL0Nyb3NzVGhyZWFkQ29waWVyLmNwcCBcCisg
ICAgcGxhdGZvcm0vRGF0YWJhc2VTdHJhdGVneS5jcHAgXAogICAgIHBsYXRmb3JtL0RhdGVDb21w
b25lbnRzLmNwcCBcCiAgICAgcGxhdGZvcm0vRGVjaW1hbC5jcHAgXAogICAgIHBsYXRmb3JtL0Ry
YWdEYXRhLmNwcCBcCkBAIC0xNDA5LDYgKzE0MTAsNyBAQCBIRUFERVJTICs9IFwKICAgICBNb2R1
bGVzL25vdGlmaWNhdGlvbnMvV29ya2VyQ29udGV4dE5vdGlmaWNhdGlvbnMuaCBcCiAgICAgXAog
ICAgIE1vZHVsZXMvd2ViZGF0YWJhc2UvQWJzdHJhY3REYXRhYmFzZS5oIFwKKyAgICBNb2R1bGVz
L3dlYmRhdGFiYXNlL0Fic3RyYWN0RGF0YWJhc2VTZXJ2ZXIuaCBcCiAgICAgTW9kdWxlcy93ZWJk
YXRhYmFzZS9DaGFuZ2VWZXJzaW9uV3JhcHBlci5oIFwKICAgICBNb2R1bGVzL3dlYmRhdGFiYXNl
L0RPTVdpbmRvd1dlYkRhdGFiYXNlLmggXAogICAgIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJh
c2VBdXRob3JpemVyLmggXApAQCAtMTQxOSw2ICsxNDIxLDcgQEAgSEVBREVSUyArPSBcCiAgICAg
TW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRhc2suaCBcCiAgICAgTW9kdWxlcy93ZWJkYXRh
YmFzZS9EYXRhYmFzZVRocmVhZC5oIFwKICAgICBNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNl
VHJhY2tlci5oIFwKKyAgICBNb2R1bGVzL3dlYmRhdGFiYXNlL0RCQmFja2VuZFNlcnZlci5oIFwK
ICAgICBNb2R1bGVzL3dlYmRhdGFiYXNlL09yaWdpblF1b3RhTWFuYWdlci5oIFwKICAgICBNb2R1
bGVzL3dlYmRhdGFiYXNlL09yaWdpblVzYWdlUmVjb3JkLmggXAogICAgIE1vZHVsZXMvd2ViZGF0
YWJhc2UvU1FMQ2FsbGJhY2tXcmFwcGVyLmggXApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5leHAuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4JKHJl
dmlzaW9uIDEzNzYyOSkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCSh3b3JraW5n
IGNvcHkpCkBAIC00MzQsNiArNDM0LDcgQEAgX19aTjdXZWJDb3JlMTV2aXNpdGVkTGlua0hhc2hF
UEt0agogX19aTjdXZWJDb3JlMTV2aXNpdGVkTGlua0hhc2hFUktOM1dURjZTdHJpbmdFCiBfX1pO
N1dlYkNvcmUxNkFwcGxpY2F0aW9uQ2FjaGUxOGRpc2tVc2FnZUZvck9yaWdpbkVQTlNfMTRTZWN1
cml0eU9yaWdpbkUKIF9fWk43V2ViQ29yZTE2QXBwbGljYXRpb25DYWNoZTIwZGVsZXRlQ2FjaGVG
b3JPcmlnaW5FUE5TXzE0U2VjdXJpdHlPcmlnaW5FCitfX1pON1dlYkNvcmUxNkRhdGFiYXNlU3Ry
YXRlZ3kxN2dldERhdGFiYXNlU2VydmVyRXYKIF9fWk43V2ViQ29yZTE2RGV2aWNlTW90aW9uRGF0
YTEyQWNjZWxlcmF0aW9uNmNyZWF0ZUViZGJkYmQKIF9fWk43V2ViQ29yZTE2RGV2aWNlTW90aW9u
RGF0YTEyUm90YXRpb25SYXRlNmNyZWF0ZUViZGJkYmQKIF9fWk43V2ViQ29yZTE2RGV2aWNlTW90
aW9uRGF0YTZjcmVhdGVFTjNXVEYxMFBhc3NSZWZQdHJJTlMwXzEyQWNjZWxlcmF0aW9uRUVFUzRf
TlMyX0lOUzBfMTJSb3RhdGlvblJhdGVFRUViZApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkocmV2aXNp
b24gMTM3NjI5KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCSh3b3JraW5nIGNvcHkp
CkBAIC05ODIsNiArOTgyLDcgQEAKICAgICAgICAgICAgICdNb2R1bGVzL3dlYmF1ZGlvL1dhdmVU
YWJsZS5jcHAnLAogICAgICAgICAgICAgJ01vZHVsZXMvd2ViYXVkaW8vV2F2ZVRhYmxlLmgnLAog
ICAgICAgICAgICAgJ01vZHVsZXMvd2ViZGF0YWJhc2UvQWJzdHJhY3REYXRhYmFzZS5jcHAnLAor
ICAgICAgICAgICAgJ01vZHVsZXMvd2ViZGF0YWJhc2UvQWJzdHJhY3REYXRhYmFzZVNlcnZlci5o
JywKICAgICAgICAgICAgICdNb2R1bGVzL3dlYmRhdGFiYXNlL0NoYW5nZVZlcnNpb25XcmFwcGVy
LmNwcCcsCiAgICAgICAgICAgICAnTW9kdWxlcy93ZWJkYXRhYmFzZS9DaGFuZ2VWZXJzaW9uV3Jh
cHBlci5oJywKICAgICAgICAgICAgICdNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlLmNwcCcs
CkBAIC05OTgsNiArOTk5LDcgQEAKICAgICAgICAgICAgICdNb2R1bGVzL3dlYmRhdGFiYXNlL0Rh
dGFiYXNlVGhyZWFkLmNwcCcsCiAgICAgICAgICAgICAnTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRh
YmFzZVRocmVhZC5oJywKICAgICAgICAgICAgICdNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNl
VHJhY2tlci5jcHAnLAorICAgICAgICAgICAgJ01vZHVsZXMvd2ViZGF0YWJhc2UvREJCYWNrZW5k
U2VydmVyLmgnLAogICAgICAgICAgICAgJ01vZHVsZXMvd2ViZGF0YWJhc2UvRE9NV2luZG93V2Vi
RGF0YWJhc2UuY3BwJywKICAgICAgICAgICAgICdNb2R1bGVzL3dlYmRhdGFiYXNlL0RPTVdpbmRv
d1dlYkRhdGFiYXNlLmgnLAogICAgICAgICAgICAgJ01vZHVsZXMvd2ViZGF0YWJhc2UvT3JpZ2lu
UXVvdGFNYW5hZ2VyLmNwcCcsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFi
YXNlL0Fic3RyYWN0RGF0YWJhc2VTZXJ2ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0Fic3RyYWN0RGF0YWJhc2VTZXJ2ZXIuaAkocmV2aXNpb24g
MCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvQWJzdHJhY3REYXRhYmFz
ZVNlcnZlci5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgQWJzdHJhY3REYXRhYmFzZVNl
cnZlcl9oCisjZGVmaW5lIEFic3RyYWN0RGF0YWJhc2VTZXJ2ZXJfaAorCisjaWYgRU5BQkxFKFNR
TF9EQVRBQkFTRSkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBBYnN0cmFjdERhdGFi
YXNlU2VydmVyIHsKK3Byb3RlY3RlZDoKKyAgICBBYnN0cmFjdERhdGFiYXNlU2VydmVyKCkgeyB9
CisgICAgdmlydHVhbCB+QWJzdHJhY3REYXRhYmFzZVNlcnZlcigpIHsgfQorfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKKworI2Vu
ZGlmIC8vIEFic3RyYWN0RGF0YWJhc2VTZXJ2ZXJfaApJbmRleDogU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJkYXRhYmFzZS9EQkJhY2tlbmRTZXJ2ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RCQmFja2VuZFNlcnZlci5oCShyZXZpc2lvbiAw
KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EQkJhY2tlbmRTZXJ2ZXIu
aAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIERCQmFja2VuZFNlcnZlcl9oCisjZGVmaW5l
IERCQmFja2VuZFNlcnZlcl9oCisKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQorCisjaW5jbHVk
ZSAiQWJzdHJhY3REYXRhYmFzZVNlcnZlci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CituYW1l
c3BhY2UgREJCYWNrZW5kIHsKKworY2xhc3MgU2VydmVyOiBwdWJsaWMgQWJzdHJhY3REYXRhYmFz
ZVNlcnZlciB7CitwdWJsaWM6CisgICAgU2VydmVyKCkgeyB9OworICAgIHZpcnR1YWwgflNlcnZl
cigpIHsgfQorfTsKKworfSAvLyBuYW1lc3BhY2UgREJCYWNrZW5kCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU1FMX0RBVEFCQVNFKQorCisjZW5kaWYgLy8gREJC
YWNrZW5kU2VydmVyX2gKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2Uv
RGF0YWJhc2VNYW5hZ2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmRhdGFiYXNlL0RhdGFiYXNlTWFuYWdlci5jcHAJKHJldmlzaW9uIDEzNzYyOSkKKysrIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VNYW5hZ2VyLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzMsNiArMzMsMTMgQEAKICNpbmNsdWRlICJEYXRhYmFzZVRyYWNrZXIu
aCIKICNpbmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KIAorI2lmIFVTRShQTEFURk9STV9TVFJB
VEVHSUVTKQorI2luY2x1ZGUgIkRhdGFiYXNlU3RyYXRlZ3kuaCIKKyNpbmNsdWRlICJQbGF0Zm9y
bVN0cmF0ZWdpZXMuaCIKKyNlbHNlCisjaW5jbHVkZSAiREJCYWNrZW5kU2VydmVyLmgiCisjZW5k
aWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBEYXRhYmFzZU1hbmFnZXImIERhdGFiYXNlTWFu
YWdlcjo6bWFuYWdlcigpCkBAIC00Niw2ICs1MywxMiBAQCBEYXRhYmFzZU1hbmFnZXImIERhdGFi
YXNlTWFuYWdlcjo6bWFuYWdlCiAKIERhdGFiYXNlTWFuYWdlcjo6RGF0YWJhc2VNYW5hZ2VyKCkK
IHsKKyNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKKyAgICBtX3NlcnZlciA9IHBsYXRmb3Jt
U3RyYXRlZ2llcygpLT5kYXRhYmFzZVN0cmF0ZWd5KCktPmdldERhdGFiYXNlU2VydmVyKCk7Cisj
ZWxzZQorICAgIG1fc2VydmVyID0gbmV3IERCQmFja2VuZDo6U2VydmVyOworI2VuZGlmCisgICAg
QVNTRVJUKG1fc2VydmVyKTsgLy8gV2Ugc2hvdWxkIGFsd2F5cyBoYXZlIGEgc2VydmVyIHRvIHdv
cmsgd2l0aC4KIH0KIAogdm9pZCBEYXRhYmFzZU1hbmFnZXI6OmluaXRpYWxpemUoY29uc3QgU3Ry
aW5nJiBkYXRhYmFzZVBhdGgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFi
YXNlL0RhdGFiYXNlTWFuYWdlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VNYW5hZ2VyLmgJKHJldmlzaW9uIDEzNzYyOSkKKysrIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VNYW5hZ2VyLmgJKHdvcmtp
bmcgY29weSkKQEAgLTM1LDYgKzM1LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFz
cyBBYnN0cmFjdERhdGFiYXNlU2VydmVyOwogY2xhc3MgRGF0YWJhc2VNYW5hZ2VyQ2xpZW50Owog
Y2xhc3MgRGF0YWJhc2VUYXNrU3luY2hyb25pemVyOwogY2xhc3MgU2VjdXJpdHlPcmlnaW47CkBA
IC04NSw2ICs4Niw4IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgRGF0YWJhc2VNYW5hZ2VyKCk7
CiAgICAgfkRhdGFiYXNlTWFuYWdlcigpIHsgfQorCisgICAgQWJzdHJhY3REYXRhYmFzZVNlcnZl
ciogbV9zZXJ2ZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvago9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkocmV2aXNpb24gMTM3NjI5
KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHdvcmtp
bmcgY29weSkKQEAgLTI1MTk3LDYgKzI1MTk3LDEwIEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJ
CQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxNb2R1bGVzXHdlYmRhdGFiYXNlXEFic3Ry
YWN0RGF0YWJhc2VTZXJ2ZXIuaCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQogCQkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXE1vZHVsZXNcd2ViZGF0YWJhc2VcQ2hhbmdlVmVyc2lvbldyYXBw
ZXIuY3BwIgogCQkJCQk+CiAJCQkJPC9GaWxlPgpAQCAtMjUyNzMsNiArMjUyNzcsMTAgQEAKIAkJ
CQkJPgogCQkJCTwvRmlsZT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXE1vZHVs
ZXNcd2ViZGF0YWJhc2VcREJCYWNrZW5kU2VydmVyLmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJ
CQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxNb2R1bGVzXHdlYmRhdGFiYXNlXERPTVdp
bmRvd1dlYkRhdGFiYXNlLmNwcCIKIAkJCQkJPgogCQkJCTwvRmlsZT4KQEAgLTI4MzgyLDYgKzI4
MzkwLDE0IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXHBsYXRmb3JtXERhdGFiYXNlU3RyYXRlZ3kuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJ
CTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxEYXRhYmFzZVN0cmF0ZWd5Lmgi
CisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRm
b3JtXERhdGVDb21wb25lbnRzLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lv
biAxMzc2MjkpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTM2ODMsOCArMzY4Myw2IEBACiAJCTk3QkM2QTI3MTUw
NUYwODEwMDFCNzRBQyAvKiBEYXRhYmFzZUNvbnRleHQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTdCQzY5RTUxNTA1RjA4MTAwMUI3NEFDIC8qIERh
dGFiYXNlQ29udGV4dC5jcHAgKi87IH07CiAJCTk3QkM2QTI4MTUwNUYwODEwMDFCNzRBQyAvKiBE
YXRhYmFzZUNvbnRleHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDk3QkM2OUU2MTUwNUYwODEwMDFCNzRBQyAvKiBEYXRhYmFzZUNvbnRleHQuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5N0JDNkEyOTE1
MDVGMDgxMDAxQjc0QUMgLyogRGF0YWJhc2VEZXRhaWxzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5N0JDNjlFNzE1MDVGMDgxMDAxQjc0QUMgLyogRGF0
YWJhc2VEZXRhaWxzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKLQkJRkU0NTZGMTgxNjc3RDc0RTAwNUVEREY5IC8qIERhdGFiYXNlTWFuYWdlci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRTQ1NkYxNjE2
NzdENzRFMDA1RURERjkgLyogRGF0YWJhc2VNYW5hZ2VyLmNwcCAqLzsgfTsKLQkJRkU0NTZGMTkx
Njc3RDc0RTAwNUVEREY5IC8qIERhdGFiYXNlTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkU0NTZGMTcxNjc3RDc0RTAwNUVEREY5IC8qIERh
dGFiYXNlTWFuYWdlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTk3QkM2QTJBMTUwNUYwODEwMDFCNzRBQyAvKiBEYXRhYmFzZVN5bmMuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTdCQzY5RTgxNTA1
RjA4MTAwMUI3NEFDIC8qIERhdGFiYXNlU3luYy5jcHAgKi87IH07CiAJCTk3QkM2QTJCMTUwNUYw
ODEwMDFCNzRBQyAvKiBEYXRhYmFzZVN5bmMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDk3QkM2OUU5MTUwNUYwODEwMDFCNzRBQyAvKiBEYXRhYmFzZVN5
bmMuaCAqLzsgfTsKIAkJOTdCQzZBMkQxNTA1RjA4MTAwMUI3NEFDIC8qIERhdGFiYXNlVGFzay5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5N0JDNjlF
QjE1MDVGMDgxMDAxQjc0QUMgLyogRGF0YWJhc2VUYXNrLmNwcCAqLzsgfTsKQEAgLTY2NDEsNiAr
NjYzOSw5IEBACiAJCUZERjZCQUY5MTM0QTRDOTgwMDgyMjkyMCAvKiBKU09mZmxpbmVBdWRpb0Nv
bXBsZXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRkRGNkJBRjcxMzRBNEM5ODAwODIyOTIwIC8qIEpTT2ZmbGluZUF1ZGlvQ29tcGxldGlv
bkV2ZW50LmggKi87IH07CiAJCUZERjdFOUMzMTNBQzIxREIwMEE1MUVBQyAvKiBKU0F1ZGlvQnVm
ZmVyQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRkRGN0U5QzExM0FDMjFEQjAwQTUxRUFDIC8qIEpTQXVkaW9CdWZmZXJDYWxsYmFjay5j
cHAgKi87IH07CiAJCUZERjdFOUM0MTNBQzIxREIwMEE1MUVBQyAvKiBKU0F1ZGlvQnVmZmVyQ2Fs
bGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZE
RjdFOUMyMTNBQzIxREIwMEE1MUVBQyAvKiBKU0F1ZGlvQnVmZmVyQ2FsbGJhY2suaCAqLzsgfTsK
KwkJRkUxMTVGQUIxNjc5ODhDRDAwMjQ5MTM0IC8qIEFic3RyYWN0RGF0YWJhc2VTZXJ2ZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFMTE1RkE5MTY3
OTg4Q0QwMDI0OTEzNCAvKiBBYnN0cmFjdERhdGFiYXNlU2VydmVyLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRkU0NTZGMTgxNjc3RDc0RTAwNUVE
REY5IC8qIERhdGFiYXNlTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGRTQ1NkYxNjE2NzdENzRFMDA1RURERjkgLyogRGF0YWJhc2VNYW5h
Z2VyLmNwcCAqLzsgfTsKKwkJRkU0NTZGMTkxNjc3RDc0RTAwNUVEREY5IC8qIERhdGFiYXNlTWFu
YWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkU0
NTZGMTcxNjc3RDc0RTAwNUVEREY5IC8qIERhdGFiYXNlTWFuYWdlci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUZFNkZENDg4MEY2NzZFNTcwMDA5
Mjg3MyAvKiBDb29yZGluYXRlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRkU2RkQ0ODUwRjY3NkU1NzAwMDkyODczIC8qIENvb3JkaW5hdGVzLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRkU2RkQ0OEQw
RjY3NkU5MzAwMDkyODczIC8qIEpTQ29vcmRpbmF0ZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkU2RkQ0OEIwRjY3NkU5MzAwMDkyODczIC8qIEpT
Q29vcmRpbmF0ZXMuY3BwICovOyB9OwogCQlGRTZGRDQ4RTBGNjc2RTkzMDAwOTI4NzMgLyogSlND
b29yZGluYXRlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRkU2RkQ0OEMwRjY3NkU5MzAwMDkyODczIC8qIEpTQ29vcmRpbmF0ZXMuaCAqLzsgfTsKQEAg
LTY2NTIsNiArNjY1Myw5IEBACiAJCUZFODBEQTY2MEU5QzQ3MDMwMDBENkY3NSAvKiBKU0dlb3Bv
c2l0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
RTgwREE2MjBFOUM0NzAzMDAwRDZGNzUgLyogSlNHZW9wb3NpdGlvbi5oICovOyB9OwogCQlGRTgw
REE3MTBFOUM0NzJGMDAwRDZGNzUgLyogSlNQb3NpdGlvbkVycm9yLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFODBEQTZEMEU5QzQ3MkYwMDBENkY3
NSAvKiBKU1Bvc2l0aW9uRXJyb3IuY3BwICovOyB9OwogCQlGRTgwREE3MjBFOUM0NzJGMDAwRDZG
NzUgLyogSlNQb3NpdGlvbkVycm9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGRTgwREE2RTBFOUM0NzJGMDAwRDZGNzUgLyogSlNQb3NpdGlvbkVycm9y
LmggKi87IH07CisJCUZFQUY2NjU0MTY3OTcwMzIwMDYyRDBDNSAvKiBEQkJhY2tlbmRTZXJ2ZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFQUY2NjUz
MTY3OTcwMDcwMDYyRDBDNSAvKiBEQkJhY2tlbmRTZXJ2ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlGRURFRjg0MTE2Nzk3MTA4MDAwRTQ0NEEg
LyogRGF0YWJhc2VTdHJhdGVneS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGRURFRjgzRjE2Nzk3MTA4MDAwRTQ0NEEgLyogRGF0YWJhc2VTdHJhdGVn
eS5jcHAgKi87IH07CisJCUZFREVGODQyMTY3OTcxMDgwMDBFNDQ0QSAvKiBEYXRhYmFzZVN0cmF0
ZWd5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRURF
Rjg0MDE2Nzk3MTA4MDAwRTQ0NEEgLyogRGF0YWJhc2VTdHJhdGVneS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUZGOTQ1RUNCMTYxRjdGMzYwMDk3
MUJDOCAvKiBQc2V1ZG9FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEZGOTQ1RUM5MTYxRjdGMzYwMDk3MUJDOCAvKiBQc2V1ZG9FbGVtZW50
LmNwcCAqLzsgfTsKIAkJRkY5NDVFQ0MxNjFGN0YzNjAwOTcxQkM4IC8qIFBzZXVkb0VsZW1lbnQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGOTQ1RUNB
MTYxRjdGMzYwMDk3MUJDOCAvKiBQc2V1ZG9FbGVtZW50LmggKi87IH07CiAJCUZGRDVCOTdBMTM1
Q0M5NzgwMEQ1RTkyQSAvKiBQYWdlVmlzaWJpbGl0eVN0YXRlLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGRDVCOTc3MTM1Q0M5NzgwMEQ1RTkyQSAv
KiBQYWdlVmlzaWJpbGl0eVN0YXRlLmNwcCAqLzsgfTsKQEAgLTE0MTkwLDYgKzE0MTk0LDcgQEAK
IAkJRkRGNkJBRjcxMzRBNEM5ODAwODIyOTIwIC8qIEpTT2ZmbGluZUF1ZGlvQ29tcGxldGlvbkV2
ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTT2ZmbGluZUF1ZGlvQ29t
cGxldGlvbkV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZERjdFOUMxMTNB
QzIxREIwMEE1MUVBQyAvKiBKU0F1ZGlvQnVmZmVyQ2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBdWRpb0J1ZmZlckNhbGxiYWNrLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkRGN0U5QzIxM0FDMjFEQjAwQTUxRUFDIC8qIEpTQXVk
aW9CdWZmZXJDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0F1
ZGlvQnVmZmVyQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkUxMTVG
QTkxNjc5ODhDRDAwMjQ5MTM0IC8qIEFic3RyYWN0RGF0YWJhc2VTZXJ2ZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gQWJzdHJhY3REYXRhYmFzZVNlcnZlci5oOyBwYXRoID0g
TW9kdWxlcy93ZWJkYXRhYmFzZS9BYnN0cmFjdERhdGFiYXNlU2VydmVyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUZFNDU2RjE2MTY3N0Q3NEUwMDVFRERGOSAvKiBEYXRhYmFzZU1h
bmFnZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRGF0YWJhc2VN
YW5hZ2VyLmNwcDsgcGF0aCA9IE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VNYW5hZ2VyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkU0NTZGMTcxNjc3RDc0RTAwNUVEREY5
IC8qIERhdGFiYXNlTWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBE
YXRhYmFzZU1hbmFnZXIuaDsgcGF0aCA9IE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VNYW5h
Z2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFNkZENDg1MEY2NzZFNTcwMDA5
Mjg3MyAvKiBDb29yZGluYXRlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
b29yZGluYXRlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTQyMDQsNiArMTQy
MDksOSBAQAogCQlGRTgwREE2MjBFOUM0NzAzMDAwRDZGNzUgLyogSlNHZW9wb3NpdGlvbi5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0dlb3Bvc2l0aW9uLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFODBEQTZEMEU5QzQ3MkYwMDBENkY3NSAvKiBKU1Bvc2l0
aW9uRXJyb3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNQb3Np
dGlvbkVycm9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkU4MERBNkUwRTlD
NDcyRjAwMEQ2Rjc1IC8qIEpTUG9zaXRpb25FcnJvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU1Bvc2l0aW9uRXJyb3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJRkVBRjY2NTMxNjc5NzAwNzAwNjJEMEM1IC8qIERCQmFja2VuZFNlcnZlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBEQkJhY2tlbmRTZXJ2ZXIuaDsgcGF0aCA9IE1vZHVs
ZXMvd2ViZGF0YWJhc2UvREJCYWNrZW5kU2VydmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUZFREVGODNGMTY3OTcxMDgwMDBFNDQ0QSAvKiBEYXRhYmFzZVN0cmF0ZWd5LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERhdGFiYXNlU3RyYXRlZ3kuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGRURFRjg0MDE2Nzk3MTA4MDAwRTQ0NEEg
LyogRGF0YWJhc2VTdHJhdGVneS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBE
YXRhYmFzZVN0cmF0ZWd5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZGOTQ1RUM5
MTYxRjdGMzYwMDk3MUJDOCAvKiBQc2V1ZG9FbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFBzZXVkb0VsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlGRjk0NUVDQTE2MUY3RjM2MDA5NzFCQzggLyogUHNldWRvRWxlbWVudC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQc2V1ZG9FbGVtZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZGRDVCOTc3MTM1Q0M5NzgwMEQ1RTkyQSAvKiBQYWdlVmlz
aWJpbGl0eVN0YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBh
Z2VWaXNpYmlsaXR5U3RhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTgy
NTIsNiArMTgyNjAsNyBAQAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJOTdCQzY5RDYxNTA1RjA3NjAw
MUI3NEFDIC8qIEFic3RyYWN0RGF0YWJhc2UuY3BwICovLAogCQkJCTk3QkM2OUQ3MTUwNUYwNzYw
MDFCNzRBQyAvKiBBYnN0cmFjdERhdGFiYXNlLmggKi8sCisJCQkJRkUxMTVGQTkxNjc5ODhDRDAw
MjQ5MTM0IC8qIEFic3RyYWN0RGF0YWJhc2VTZXJ2ZXIuaCAqLywKIAkJCQk5N0JDNjlEODE1MDVG
MDc2MDAxQjc0QUMgLyogQ2hhbmdlVmVyc2lvbldyYXBwZXIuY3BwICovLAogCQkJCTk3QkM2OUQ5
MTUwNUYwNzYwMDFCNzRBQyAvKiBDaGFuZ2VWZXJzaW9uV3JhcHBlci5oICovLAogCQkJCTk3QkM2
OURFMTUwNUYwODEwMDFCNzRBQyAvKiBEYXRhYmFzZS5jcHAgKi8sCkBAIC0xODI3Niw2ICsxODI4
NSw3IEBACiAJCQkJOTdCQzY5RUUxNTA1RjA4MTAwMUI3NEFDIC8qIERhdGFiYXNlVGhyZWFkLmgg
Ki8sCiAJCQkJOTdCQzY5RUYxNTA1RjA4MTAwMUI3NEFDIC8qIERhdGFiYXNlVHJhY2tlci5jcHAg
Ki8sCiAJCQkJOTdCQzY5RjAxNTA1RjA4MTAwMUI3NEFDIC8qIERhdGFiYXNlVHJhY2tlci5oICov
LAorCQkJCUZFQUY2NjUzMTY3OTcwMDcwMDYyRDBDNSAvKiBEQkJhY2tlbmRTZXJ2ZXIuaCAqLywK
IAkJCQlBOENDQkI0NjE1MUY4MzE2MDBBQjdDRTkgLyogRE9NV2luZG93V2ViRGF0YWJhc2UuY3Bw
ICovLAogCQkJCUE4Q0NCQjQ3MTUxRjgzMTYwMEFCN0NFOSAvKiBET01XaW5kb3dXZWJEYXRhYmFz
ZS5oICovLAogCQkJCUE4Q0NCQjRFMTUxRjgzNUEwMEFCN0NFOSAvKiBET01XaW5kb3dXZWJEYXRh
YmFzZS5pZGwgKi8sCkBAIC0yMTAzMSw2ICsyMTA0MSw4IEBACiAJCQkJMkU0MzQ2NTcwRjU0NkE5
OTAwQjBGMUJBIC8qIENyb3NzVGhyZWFkQ29waWVyLmggKi8sCiAJCQkJRTExQUYxNTAxMUI5QTFB
MzAwODA1MTAzIC8qIEN1cnNvci5jcHAgKi8sCiAJCQkJRjU4Nzg2ODQwMkRFM0I4NjAxRUE0MTIy
IC8qIEN1cnNvci5oICovLAorCQkJCUZFREVGODNGMTY3OTcxMDgwMDBFNDQ0QSAvKiBEYXRhYmFz
ZVN0cmF0ZWd5LmNwcCAqLywKKwkJCQlGRURFRjg0MDE2Nzk3MTA4MDAwRTQ0NEEgLyogRGF0YWJh
c2VTdHJhdGVneS5oICovLAogCQkJCUE1NzMyQjA4MTM2QTE2MUQwMDVDOEQ3QyAvKiBEYXRlQ29t
cG9uZW50cy5jcHAgKi8sCiAJCQkJQTU3MzJCMDkxMzZBMTYxRDAwNUM4RDdDIC8qIERhdGVDb21w
b25lbnRzLmggKi8sCiAJCQkJNDVGRUE1Q0QxNTZEREU4QzAwNjU0MTAxIC8qIERlY2ltYWwuY3Bw
ICovLApAQCAtMjI1NjcsNiArMjI1NzksOSBAQAogCQkJaXNhID0gUEJYSGVhZGVyc0J1aWxkUGhh
c2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCisJCQkJ
RkVERUY4NDIxNjc5NzEwODAwMEU0NDRBIC8qIERhdGFiYXNlU3RyYXRlZ3kuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUZFMTE1RkFCMTY3OTg4Q0QwMDI0OTEzNCAvKiBBYnN0cmFjdERhdGFiYXNlU2Vy
dmVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlGRUFGNjY1NDE2Nzk3MDMyMDA2MkQwQzUgLyogREJC
YWNrZW5kU2VydmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRTQ1NkYxOTE2NzdENzRFMDA1RURE
RjkgLyogRGF0YWJhc2VNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNDMxMDVCQjE2NzUw
RjE2MDBEQjJGQjggLyogTm9kZVRyYXZlcnNhbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzM3NUQ3
RkUxNjYzOTUxOTAwNjE4NEFCIC8qIFR5cGVBaGVhZC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yOTAy
MSw2ICsyOTAzNiw3IEBACiAJCQkJRkRBOTMyNUQxNjcwM0IyQTAwODk4MkRDIC8qIE9mZmxpbmVB
dWRpb0NvbnRleHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkRBOTMyNjYxNjcwM0JBOTAwODk4
MkRDIC8qIEpTT2ZmbGluZUF1ZGlvQ29udGV4dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGRTQ1
NkYxODE2NzdENzRFMDA1RURERjkgLyogRGF0YWJhc2VNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCUZFREVGODQxMTY3OTcxMDgwMDBFNDQ0QSAvKiBEYXRhYmFzZVN0cmF0ZWd5LmNwcCBp
biBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOwogCQl9OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGF0YWJhc2VTdHJh
dGVneS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGF0YWJhc2VT
dHJhdGVneS5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EYXRh
YmFzZVN0cmF0ZWd5LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
CisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiRGF0YWJhc2VTdHJhdGVneS5oIgorCisjaWYgVVNFKFBMQVRGT1JNX1NUUkFU
RUdJRVMpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKKworI2luY2x1ZGUgIkRCQmFja2VuZFNl
cnZlci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0Fic3RyYWN0RGF0YWJhc2VTZXJ2ZXIq
IERhdGFiYXNlU3RyYXRlZ3k6OmdldERhdGFiYXNlU2VydmVyKCkKK3sKKyAgICByZXR1cm4gbmV3
IERCQmFja2VuZDo6U2VydmVyOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBFTkFCTEUoU1FMX0RBVEFCQVNFKQorI2VuZGlmIC8vIFVTRShQTEFURk9STV9TVFJBVEVH
SUVTKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGF0YWJhc2VTdHJhdGVneS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RhdGFiYXNlU3RyYXRlZ3kuaAko
cmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RhdGFiYXNlU3RyYXRlZ3ku
aAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIERhdGFiYXNlU3RyYXRlZ3lfaAorI2RlZmlu
ZSBEYXRhYmFzZVN0cmF0ZWd5X2gKKworI2lmIFVTRShQTEFURk9STV9TVFJBVEVHSUVTKQorCisj
aW5jbHVkZSAiQWJzdHJhY3REYXRhYmFzZVNlcnZlci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK2NsYXNzIERhdGFiYXNlU3RyYXRlZ3kgeworcHVibGljOgorI2lmIEVOQUJMRShTUUxfREFU
QUJBU0UpCisgICAgdmlydHVhbCBBYnN0cmFjdERhdGFiYXNlU2VydmVyKiBnZXREYXRhYmFzZVNl
cnZlcigpOworI2VuZGlmCisKK3Byb3RlY3RlZDoKKyAgICB2aXJ0dWFsIH5EYXRhYmFzZVN0cmF0
ZWd5KCkgeyB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBVU0Uo
UExBVEZPUk1fU1RSQVRFR0lFUykKKworI2VuZGlmIC8vIERhdGFiYXNlU3RyYXRlZ3lfaApJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1TdHJhdGVnaWVzLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1TdHJhdGVnaWVzLmgJKHJldmlz
aW9uIDEzNzYyOSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtU3RyYXRlZ2ll
cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIGNsYXNzIENvb2tpZXNTdHJhdGVneTsKK2NsYXNzIERhdGFiYXNlU3RyYXRlZ3k7CiBjbGFz
cyBMb2FkZXJTdHJhdGVneTsKIGNsYXNzIFBhc3RlYm9hcmRTdHJhdGVneTsKIGNsYXNzIFBsdWdp
blN0cmF0ZWd5OwpAQCAtNDYsNiArNDcsMTMgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gbV9j
b29raWVzU3RyYXRlZ3k7CiAgICAgfQogCisgICAgRGF0YWJhc2VTdHJhdGVneSogZGF0YWJhc2VT
dHJhdGVneSgpCisgICAgeworICAgICAgICBpZiAoIW1fZGF0YWJhc2VTdHJhdGVneSkKKyAgICAg
ICAgICAgIG1fZGF0YWJhc2VTdHJhdGVneSA9IGNyZWF0ZURhdGFiYXNlU3RyYXRlZ3koKTsKKyAg
ICAgICAgcmV0dXJuIG1fZGF0YWJhc2VTdHJhdGVneTsKKyAgICB9CisKICAgICBMb2FkZXJTdHJh
dGVneSogbG9hZGVyU3RyYXRlZ3koKQogICAgIHsKICAgICAgICAgaWYgKCFtX2xvYWRlclN0cmF0
ZWd5KQpAQCAtODQsNiArOTIsNyBAQCBwdWJsaWM6CiBwcm90ZWN0ZWQ6CiAgICAgUGxhdGZvcm1T
dHJhdGVnaWVzKCkKICAgICAgICAgOiBtX2Nvb2tpZXNTdHJhdGVneSgwKQorICAgICAgICAsIG1f
ZGF0YWJhc2VTdHJhdGVneSgwKQogICAgICAgICAsIG1fbG9hZGVyU3RyYXRlZ3koMCkKICAgICAg
ICAgLCBtX3Bhc3RlYm9hcmRTdHJhdGVneSgwKQogICAgICAgICAsIG1fcGx1Z2luU3RyYXRlZ3ko
MCkKQEAgLTk4LDYgKzEwNyw3IEBAIHByb3RlY3RlZDoKIAogcHJpdmF0ZToKICAgICB2aXJ0dWFs
IENvb2tpZXNTdHJhdGVneSogY3JlYXRlQ29va2llc1N0cmF0ZWd5KCkgPSAwOworICAgIHZpcnR1
YWwgRGF0YWJhc2VTdHJhdGVneSogY3JlYXRlRGF0YWJhc2VTdHJhdGVneSgpID0gMDsKICAgICB2
aXJ0dWFsIExvYWRlclN0cmF0ZWd5KiBjcmVhdGVMb2FkZXJTdHJhdGVneSgpID0gMDsKICAgICB2
aXJ0dWFsIFBhc3RlYm9hcmRTdHJhdGVneSogY3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KCkgPSAw
OwogICAgIHZpcnR1YWwgUGx1Z2luU3RyYXRlZ3kqIGNyZWF0ZVBsdWdpblN0cmF0ZWd5KCkgPSAw
OwpAQCAtMTA1LDYgKzExNSw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBWaXNpdGVkTGlua1N0
cmF0ZWd5KiBjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5KCkgPSAwOwogCiAgICAgQ29va2llc1N0
cmF0ZWd5KiBtX2Nvb2tpZXNTdHJhdGVneTsKKyAgICBEYXRhYmFzZVN0cmF0ZWd5KiBtX2RhdGFi
YXNlU3RyYXRlZ3k7CiAgICAgTG9hZGVyU3RyYXRlZ3kqIG1fbG9hZGVyU3RyYXRlZ3k7CiAgICAg
UGFzdGVib2FyZFN0cmF0ZWd5KiBtX3Bhc3RlYm9hcmRTdHJhdGVneTsKICAgICBQbHVnaW5TdHJh
dGVneSogbV9wbHVnaW5TdHJhdGVneTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNzYyOSkK
KysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIw
IEBACisyMDEyLTEyLTEzICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAg
ICBJbnRyb2R1Y2luZyB0aGUgRGF0YWJhc2VTdHJhdGVneSBhbmQgZGF0YWJhc2Ugc2VydmVycy4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDkzNC4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgZGF0
YWJhc2Ugc2VydmVyIGlzIGN1cnJlbnRseSBhIHBsYWNlaG9sZGVyIHRoYXQgZG9lcyBub3RoaW5n
LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNyZWF0ZURhdGFiYXNlU3RyYXRlZ3kpOgorICAgICAgICAo
V2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpnZXREYXRh
YmFzZVNlcnZlcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0
Zm9ybVN0cmF0ZWdpZXMuaDoKKyAgICAgICAgKFdlYlBsYXRmb3JtU3RyYXRlZ2llcyk6CisKIDIw
MTItMTItMTMgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZW1vdmUgdW51c2VkIGluaXRpYXRpbmdQYWdlIHBhcmFtZXRlciBmcm9tIGRvd25sb2FkIG9i
amVjdHMKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAxMzc2MjkpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNTIsNiArNTIsNyBA
QCBzZXQoV2ViS2l0Ml9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01v
ZHVsZXMvbmV0d29ya2luZm8iCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvbm90aWZpY2F0
aW9ucyIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy92aWJyYXRpb24iCisgICAgIiR7V0VC
Q09SRV9ESVJ9L01vZHVsZXMvd2ViZGF0YWJhc2UiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L2FjY2Vz
c2liaWxpdHkiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L2JpbmRpbmdzL2pzIgogICAgICIke1dFQkNP
UkVfRElSfS9iaW5kaW5ncyIKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5j
cHAJKHJldmlzaW9uIDEzNzYyOSkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzYs
NiArNzYsMTEgQEAgQ29va2llc1N0cmF0ZWd5KiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OgogICAg
IHJldHVybiB0aGlzOwogfQogCitEYXRhYmFzZVN0cmF0ZWd5KiBXZWJQbGF0Zm9ybVN0cmF0ZWdp
ZXM6OmNyZWF0ZURhdGFiYXNlU3RyYXRlZ3koKQoreworICAgIHJldHVybiB0aGlzOworfQorCiBM
b2FkZXJTdHJhdGVneSogV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVMb2FkZXJTdHJhdGVn
eSgpCiB7CiAgICAgcmV0dXJuIHRoaXM7CkBAIC0yMzMsNiArMjM4LDEzIEBAIHZvaWQgV2ViUGxh
dGZvcm1TdHJhdGVnaWVzOjpkZWxldGVBbGxDb28KICAgICBXZWJDb3JlOjpkZWxldGVBbGxDb29r
aWVzKGNvbnRleHQpOwogfQogCisvLyBEYXRhYmFzZVN0cmF0ZWd5CisKK0Fic3RyYWN0RGF0YWJh
c2VTZXJ2ZXIqIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6Z2V0RGF0YWJhc2VTZXJ2ZXIoKQorewor
ICAgIHJldHVybiBEYXRhYmFzZVN0cmF0ZWd5OjpnZXREYXRhYmFzZVNlcnZlcigpOyAvLyBVc2Ug
dGhlIGRlZmF1bHQgZm9yIG5vdy4KK30KKwogLy8gTG9hZGVyU3RyYXRlZ3kKIAogI2lmIEVOQUJM
RShORVRXT1JLX1BST0NFU1MpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgJ
KHJldmlzaW9uIDEzNzYyOSkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5
LDcgQEAKICNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKIAogI2luY2x1ZGUgPFdlYkNvcmUv
Q29va2llc1N0cmF0ZWd5Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9EYXRhYmFzZVN0cmF0ZWd5Lmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9Mb2FkZXJTdHJhdGVneS5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
UGFzdGVib2FyZFN0cmF0ZWd5Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybVN0cmF0ZWdp
ZXMuaD4KQEAgLTM4LDcgKzM5LDcgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIFdl
YlBsYXRmb3JtU3RyYXRlZ2llcyA6IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0ZWdpZXMs
IHByaXZhdGUgV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OkxvYWRl
clN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlBhc3RlYm9hcmRTdHJhdGVneSwgcHJpdmF0ZSBX
ZWJDb3JlOjpQbHVnaW5TdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpTaGFyZWRXb3JrZXJTdHJh
dGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5IHsKK2NsYXNzIFdlYlBs
YXRmb3JtU3RyYXRlZ2llcyA6IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0ZWdpZXMsIHBy
aXZhdGUgV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OkRhdGFiYXNl
U3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6TG9hZGVyU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29y
ZTo6UGFzdGVib2FyZFN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5LCBw
cml2YXRlIFdlYkNvcmU6OlNoYXJlZFdvcmtlclN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlZp
c2l0ZWRMaW5rU3RyYXRlZ3kgewogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGluaXRpYWxpemUo
KTsKICAgICAKQEAgLTQ3LDYgKzQ4LDcgQEAgcHJpdmF0ZToKICAgICAKICAgICAvLyBXZWJDb3Jl
OjpQbGF0Zm9ybVN0cmF0ZWdpZXMKICAgICB2aXJ0dWFsIFdlYkNvcmU6OkNvb2tpZXNTdHJhdGVn
eSogY3JlYXRlQ29va2llc1N0cmF0ZWd5KCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCBXZWJDb3Jl
OjpEYXRhYmFzZVN0cmF0ZWd5KiBjcmVhdGVEYXRhYmFzZVN0cmF0ZWd5KCkgT1ZFUlJJREU7CiAg
ICAgdmlydHVhbCBXZWJDb3JlOjpMb2FkZXJTdHJhdGVneSogY3JlYXRlTG9hZGVyU3RyYXRlZ3ko
KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIFdlYkNvcmU6OlBhc3RlYm9hcmRTdHJhdGVneSogY3Jl
YXRlUGFzdGVib2FyZFN0cmF0ZWd5KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBXZWJDb3JlOjpQ
bHVnaW5TdHJhdGVneSogY3JlYXRlUGx1Z2luU3RyYXRlZ3koKSBPVkVSUklERTsKQEAgLTY4LDYg
KzcwLDkgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlQ29va2llc0Zvckhvc3Ru
YW1lKFdlYkNvcmU6Ok5ldHdvcmtpbmdDb250ZXh0KiwgY29uc3QgU3RyaW5nJiBob3N0bmFtZSkg
T1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGRlbGV0ZUFsbENvb2tpZXMoV2ViQ29yZTo6TmV0
d29ya2luZ0NvbnRleHQqKSBPVkVSUklERTsKIAorICAgIC8vIFdlYkNvcmU6OkRhdGFiYXNlU3Ry
YXRlZ3kKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OkFic3RyYWN0RGF0YWJhc2VTZXJ2ZXIqIGdldERh
dGFiYXNlU2VydmVyKCkgT1ZFUlJJREU7CisKICAgICAvLyBXZWJDb3JlOjpMb2FkZXJTdHJhdGVn
eQogI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCiAgICAgdmlydHVhbCBXZWJDb3JlOjpSZXNv
dXJjZUxvYWRTY2hlZHVsZXIqIHJlc291cmNlTG9hZFNjaGVkdWxlcigpIE9WRVJSSURFOwpJbmRl
eDogU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvZWZsL0NoYW5nZUxvZwkocmV2aXNpb24gMTM3NjI5KQorKysgU291cmNlL1dlYktpdC9lZmwv
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTItMTMgIE1h
cmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgorCisgICAgICAgIEludHJvZHVjaW5nIHRoZSBE
YXRhYmFzZVN0cmF0ZWd5IGFuZCBkYXRhYmFzZSBzZXJ2ZXJzLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0OTM0LgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBkYXRhYmFzZSBzZXJ2ZXIgaXMgY3Vy
cmVudGx5IGEgcGxhY2Vob2xkZXIgdGhhdCBkb2VzIG5vdGhpbmcuCisKKyAgICAgICAgKiBXZWJD
b3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNFZmwuY3BwOgorICAgICAgICAoUGxhdGZvcm1T
dHJhdGVnaWVzRWZsOjpjcmVhdGVEYXRhYmFzZVN0cmF0ZWd5KToKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNFZmwuaDoKKyAgICAgICAgKFBsYXRmb3JtU3RyYXRl
Z2llc0VmbCk6CisKIDIwMTItMTItMTMgIEp1c3NpIEt1a2tvbmVuICA8anVzc2kua3Vra29uZW5A
aW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxdW0dUS10gRG9uJ3QgY2FsbCBkZXByZWNhdGVkIGdf
dHlwZV9pbml0IHdoZW4gZ2xpYiA9PiAyLjM1CkluZGV4OiBTb3VyY2UvV2ViS2l0L2VmbC9XZWJD
b3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNFZmwuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5jcHAJKHJl
dmlzaW9uIDEzNzYyOSkKKysrIFNvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1BsYXRm
b3JtU3RyYXRlZ2llc0VmbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUwLDYgKzUwLDExIEBAIENv
b2tpZXNTdHJhdGVneSogUGxhdGZvcm1TdHJhdGVnaWVzRWZsOjoKICAgICByZXR1cm4gdGhpczsK
IH0KIAorRGF0YWJhc2VTdHJhdGVneSogUGxhdGZvcm1TdHJhdGVnaWVzRWZsOjpjcmVhdGVEYXRh
YmFzZVN0cmF0ZWd5KCkKK3sKKyAgICByZXR1cm4gdGhpczsKK30KKwogTG9hZGVyU3RyYXRlZ3kq
IFBsYXRmb3JtU3RyYXRlZ2llc0VmbDo6Y3JlYXRlTG9hZGVyU3RyYXRlZ3koKQogewogICAgIHJl
dHVybiB0aGlzOwpJbmRleDogU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvUGxhdGZv
cm1TdHJhdGVnaWVzRWZsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmgJKHJldmlzaW9uIDEzNzYyOSkKKysrIFNv
dXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yMSw2ICsyMSw3IEBACiAjZGVmaW5lIFBsYXRmb3JtU3RyYXRlZ2ll
c0VmbF9oCiAKICNpbmNsdWRlICJDb29raWVzU3RyYXRlZ3kuaCIKKyNpbmNsdWRlICJEYXRhYmFz
ZVN0cmF0ZWd5LmgiCiAjaW5jbHVkZSAiTG9hZGVyU3RyYXRlZ3kuaCIKICNpbmNsdWRlICJQYXN0
ZWJvYXJkU3RyYXRlZ3kuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCIKQEAgLTI4
LDcgKzI5LDcgQEAKICNpbmNsdWRlICJTaGFyZWRXb3JrZXJTdHJhdGVneS5oIgogI2luY2x1ZGUg
IlZpc2l0ZWRMaW5rU3RyYXRlZ3kuaCIKIAotY2xhc3MgUGxhdGZvcm1TdHJhdGVnaWVzRWZsIDog
cHVibGljIFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2llcywgcHJpdmF0ZSBXZWJDb3JlOjpDb29r
aWVzU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6TG9hZGVyU3RyYXRlZ3ksIHByaXZhdGUgV2Vi
Q29yZTo6UGx1Z2luU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6U2hhcmVkV29ya2VyU3RyYXRl
Z3ksIHByaXZhdGUgV2ViQ29yZTo6VmlzaXRlZExpbmtTdHJhdGVneSB7CitjbGFzcyBQbGF0Zm9y
bVN0cmF0ZWdpZXNFZmwgOiBwdWJsaWMgV2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzLCBwcml2
YXRlIFdlYkNvcmU6OkNvb2tpZXNTdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpEYXRhYmFzZVN0
cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OkxvYWRlclN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6
OlBsdWdpblN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlNoYXJlZFdvcmtlclN0cmF0ZWd5LCBw
cml2YXRlIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kgewogcHVibGljOgogICAgIHN0YXRp
YyB2b2lkIGluaXRpYWxpemUoKTsKIApAQCAtMzcsNiArMzgsNyBAQCBwcml2YXRlOgogCiAgICAg
Ly8gV2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzCiAgICAgdmlydHVhbCBXZWJDb3JlOjpDb29r
aWVzU3RyYXRlZ3kqIGNyZWF0ZUNvb2tpZXNTdHJhdGVneSgpOworICAgIHZpcnR1YWwgV2ViQ29y
ZTo6RGF0YWJhc2VTdHJhdGVneSogY3JlYXRlRGF0YWJhc2VTdHJhdGVneSgpOwogICAgIHZpcnR1
YWwgV2ViQ29yZTo6TG9hZGVyU3RyYXRlZ3kqIGNyZWF0ZUxvYWRlclN0cmF0ZWd5KCk7CiAgICAg
dmlydHVhbCBXZWJDb3JlOjpQYXN0ZWJvYXJkU3RyYXRlZ3kqIGNyZWF0ZVBhc3RlYm9hcmRTdHJh
dGVneSgpOwogICAgIHZpcnR1YWwgV2ViQ29yZTo6UGx1Z2luU3RyYXRlZ3kqIGNyZWF0ZVBsdWdp
blN0cmF0ZWd5KCk7CkBAIC01NSw2ICs1Nyw5IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lk
IGRlbGV0ZUNvb2tpZXNGb3JIb3N0bmFtZShXZWJDb3JlOjpOZXR3b3JraW5nQ29udGV4dCosIGNv
bnN0IFN0cmluZyYgaG9zdG5hbWUpOwogICAgIHZpcnR1YWwgdm9pZCBkZWxldGVBbGxDb29raWVz
KFdlYkNvcmU6Ok5ldHdvcmtpbmdDb250ZXh0Kik7CiAKKyAgICAvLyBXZWJDb3JlOjpEYXRhYmFz
ZVN0cmF0ZWd5CisgICAgLy8gLSBVc2luZyBkZWZhdWx0IGltcGxlbWVudGF0aW9uLgorCiAgICAg
Ly8gV2ViQ29yZTo6UGx1Z2luU3RyYXRlZ3kKICAgICB2aXJ0dWFsIHZvaWQgcmVmcmVzaFBsdWdp
bnMoKTsKICAgICB2aXJ0dWFsIHZvaWQgZ2V0UGx1Z2luSW5mbyhjb25zdCBXZWJDb3JlOjpQYWdl
KiwgVmVjdG9yPFdlYkNvcmU6OlBsdWdpbkluZm8+Jik7CkluZGV4OiBTb3VyY2UvV2ViS2l0L2d0
ay9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAxMzc2MjkpCisrKyBTb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMi0xMyAgTWFyayBMYW0gIDxtYXJrLmxhbUBh
cHBsZS5jb20+CisKKyAgICAgICAgSW50cm9kdWNpbmcgdGhlIERhdGFiYXNlU3RyYXRlZ3kgYW5k
IGRhdGFiYXNlIHNlcnZlcnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDQ5MzQuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGhlIGRhdGFiYXNlIHNlcnZlciBpcyBjdXJyZW50bHkgYSBwbGFjZWhvbGRl
ciB0aGF0IGRvZXMgbm90aGluZy4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1BsYXRmb3Jt
U3RyYXRlZ2llc0d0ay5jcHA6CisgICAgICAgIChQbGF0Zm9ybVN0cmF0ZWdpZXNHdGs6OmNyZWF0
ZURhdGFiYXNlU3RyYXRlZ3kpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3Ry
YXRlZ2llc0d0ay5oOgorICAgICAgICAoUGxhdGZvcm1TdHJhdGVnaWVzR3RrKToKKwogMjAxMi0x
Mi0xMiAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAgRW5jYXBzdWxh
dGUgZXh0ZXJuYWxseSB1c2VkIHdlYmRhdGFiYXNlIEFQSXMgaW4gRGF0YWJhc2VNYW5hZ2VyLgpJ
bmRleDogU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVz
R3RrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9Q
bGF0Zm9ybVN0cmF0ZWdpZXNHdGsuY3BwCShyZXZpc2lvbiAxMzc2MjkpCisrKyBTb3VyY2UvV2Vi
S2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNHdGsuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00Myw2ICs0MywxMSBAQCBDb29raWVzU3RyYXRlZ3kqIFBsYXRmb3JtU3RyYXRl
Z2llc0d0azo6CiAgICAgcmV0dXJuIHRoaXM7CiB9CiAKK0RhdGFiYXNlU3RyYXRlZ3kqIFBsYXRm
b3JtU3RyYXRlZ2llc0d0azo6Y3JlYXRlRGF0YWJhc2VTdHJhdGVneSgpCit7CisgICAgcmV0dXJu
IHRoaXM7Cit9CisKIExvYWRlclN0cmF0ZWd5KiBQbGF0Zm9ybVN0cmF0ZWdpZXNHdGs6OmNyZWF0
ZUxvYWRlclN0cmF0ZWd5KCkKIHsKICAgICByZXR1cm4gdGhpczsKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvZ3RrL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0d0ay5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0d0
ay5oCShyZXZpc2lvbiAxMzc2MjkpCisrKyBTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9y
dC9QbGF0Zm9ybVN0cmF0ZWdpZXNHdGsuaAkod29ya2luZyBjb3B5KQpAQCAtMjAsNiArMjAsNyBA
QAogI2RlZmluZSBQbGF0Zm9ybVN0cmF0ZWdpZXNHdGtfaAogCiAjaW5jbHVkZSAiQ29va2llc1N0
cmF0ZWd5LmgiCisjaW5jbHVkZSAiRGF0YWJhc2VTdHJhdGVneS5oIgogI2luY2x1ZGUgIkxvYWRl
clN0cmF0ZWd5LmgiCiAjaW5jbHVkZSAiUGFzdGVib2FyZFN0cmF0ZWd5LmgiCiAjaW5jbHVkZSAi
UGxhdGZvcm1TdHJhdGVnaWVzLmgiCkBAIC0yNyw3ICsyOCw3IEBACiAjaW5jbHVkZSAiU2hhcmVk
V29ya2VyU3RyYXRlZ3kuaCIKICNpbmNsdWRlICJWaXNpdGVkTGlua1N0cmF0ZWd5LmgiCiAKLWNs
YXNzIFBsYXRmb3JtU3RyYXRlZ2llc0d0ayA6IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0
ZWdpZXMsIHByaXZhdGUgV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6
OkxvYWRlclN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5LCBwcml2YXRl
IFdlYkNvcmU6OlNoYXJlZFdvcmtlclN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlZpc2l0ZWRM
aW5rU3RyYXRlZ3kgeworY2xhc3MgUGxhdGZvcm1TdHJhdGVnaWVzR3RrIDogcHVibGljIFdlYkNv
cmU6OlBsYXRmb3JtU3RyYXRlZ2llcywgcHJpdmF0ZSBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3ks
IHByaXZhdGUgV2ViQ29yZTo6RGF0YWJhc2VTdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpMb2Fk
ZXJTdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpQbHVnaW5TdHJhdGVneSwgcHJpdmF0ZSBXZWJD
b3JlOjpTaGFyZWRXb3JrZXJTdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpWaXNpdGVkTGlua1N0
cmF0ZWd5IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBpbml0aWFsaXplKCk7CiAKQEAgLTM2
LDYgKzM3LDcgQEAgcHJpdmF0ZToKIAogICAgIC8vIFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2ll
cwogICAgIHZpcnR1YWwgV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5KiBjcmVhdGVDb29raWVzU3Ry
YXRlZ3koKTsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OkRhdGFiYXNlU3RyYXRlZ3kqIGNyZWF0ZURh
dGFiYXNlU3RyYXRlZ3koKTsKICAgICB2aXJ0dWFsIFdlYkNvcmU6OkxvYWRlclN0cmF0ZWd5KiBj
cmVhdGVMb2FkZXJTdHJhdGVneSgpOwogICAgIHZpcnR1YWwgV2ViQ29yZTo6UGFzdGVib2FyZFN0
cmF0ZWd5KiBjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKTsKICAgICB2aXJ0dWFsIFdlYkNvcmU6
OlBsdWdpblN0cmF0ZWd5KiBjcmVhdGVQbHVnaW5TdHJhdGVneSgpOwpAQCAtNTQsNiArNTYsOSBA
QCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBkZWxldGVDb29raWVzRm9ySG9zdG5hbWUoV2Vi
Q29yZTo6TmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBTdHJpbmcmIGhvc3RuYW1lKTsKICAgICB2
aXJ0dWFsIHZvaWQgZGVsZXRlQWxsQ29va2llcyhXZWJDb3JlOjpOZXR3b3JraW5nQ29udGV4dCop
OwogCisgICAgLy8gV2ViQ29yZTo6RGF0YWJhc2VTdHJhdGVneQorICAgIC8vIC0gVXNpbmcgZGVm
YXVsdCBpbXBsZW1lbnRhdGlvbi4KKwogICAgIC8vIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5CiAg
ICAgdmlydHVhbCB2b2lkIHJlZnJlc2hQbHVnaW5zKCk7CiAgICAgdmlydHVhbCB2b2lkIGdldFBs
dWdpbkluZm8oY29uc3QgV2ViQ29yZTo6UGFnZSosIFZlY3RvcjxXZWJDb3JlOjpQbHVnaW5JbmZv
PiYpOwpJbmRleDogU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gMTM3NjI5KQorKysgU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTIt
MTItMTMgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgorCisgICAgICAgIEludHJvZHVj
aW5nIHRoZSBEYXRhYmFzZVN0cmF0ZWd5IGFuZCBkYXRhYmFzZSBzZXJ2ZXJzLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0OTM0LgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBkYXRhYmFzZSBzZXJ2
ZXIgaXMgY3VycmVudGx5IGEgcGxhY2Vob2xkZXIgdGhhdCBkb2VzIG5vdGhpbmcuCisKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaDoKKyAgICAgICAgKFdl
YlBsYXRmb3JtU3RyYXRlZ2llcyk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZv
cm1TdHJhdGVnaWVzLm1tOgorICAgICAgICAoV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVE
YXRhYmFzZVN0cmF0ZWd5KToKKwogMjAxMi0xMi0xMiAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBs
ZS5jb20+CiAKICAgICAgICAgRW5jYXBzdWxhdGUgZXh0ZXJuYWxseSB1c2VkIHdlYmRhdGFiYXNl
IEFQSXMgaW4gRGF0YWJhc2VNYW5hZ2VyLgpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgJKHJldmlzaW9u
IDEzNzYyOSkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3Jt
U3RyYXRlZ2llcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAjZGVmaW5lIFdl
YlBsYXRmb3JtU3RyYXRlZ2llc19oCiAKICNpbmNsdWRlIDxXZWJDb3JlL0Nvb2tpZXNTdHJhdGVn
eS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvRGF0YWJhc2VTdHJhdGVneS5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvTG9hZGVyU3RyYXRlZ3kuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Bhc3RlYm9hcmRTdHJh
dGVneS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1TdHJhdGVnaWVzLmg+CkBAIC0zNCw3
ICszNSw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9TaGFyZWRXb3JrZXJTdHJhdGVneS5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvVmlzaXRlZExpbmtTdHJhdGVneS5oPgogCi1jbGFzcyBXZWJQbGF0Zm9y
bVN0cmF0ZWdpZXMgOiBwdWJsaWMgV2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzLCBwcml2YXRl
IFdlYkNvcmU6OkNvb2tpZXNTdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpMb2FkZXJTdHJhdGVn
eSwgcHJpdmF0ZSBXZWJDb3JlOjpQYXN0ZWJvYXJkU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6
UGx1Z2luU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6U2hhcmVkV29ya2VyU3RyYXRlZ3ksIHBy
aXZhdGUgV2ViQ29yZTo6VmlzaXRlZExpbmtTdHJhdGVneSB7CitjbGFzcyBXZWJQbGF0Zm9ybVN0
cmF0ZWdpZXMgOiBwdWJsaWMgV2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzLCBwcml2YXRlIFdl
YkNvcmU6OkNvb2tpZXNTdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpEYXRhYmFzZVN0cmF0ZWd5
LCBwcml2YXRlIFdlYkNvcmU6OkxvYWRlclN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlBhc3Rl
Ym9hcmRTdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpQbHVnaW5TdHJhdGVneSwgcHJpdmF0ZSBX
ZWJDb3JlOjpTaGFyZWRXb3JrZXJTdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpWaXNpdGVkTGlu
a1N0cmF0ZWd5IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBpbml0aWFsaXplKCk7CiAgICAg
CkBAIC00Myw2ICs0NCw3IEBAIHByaXZhdGU6CiAgICAgCiAgICAgLy8gV2ViQ29yZTo6UGxhdGZv
cm1TdHJhdGVnaWVzCiAgICAgdmlydHVhbCBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3kqIGNyZWF0
ZUNvb2tpZXNTdHJhdGVneSgpIE9WRVJSSURFOworICAgIHZpcnR1YWwgV2ViQ29yZTo6RGF0YWJh
c2VTdHJhdGVneSogY3JlYXRlRGF0YWJhc2VTdHJhdGVneSgpIE9WRVJSSURFOwogICAgIHZpcnR1
YWwgV2ViQ29yZTo6TG9hZGVyU3RyYXRlZ3kqIGNyZWF0ZUxvYWRlclN0cmF0ZWd5KCkgT1ZFUlJJ
REU7CiAgICAgdmlydHVhbCBXZWJDb3JlOjpQYXN0ZWJvYXJkU3RyYXRlZ3kqIGNyZWF0ZVBhc3Rl
Ym9hcmRTdHJhdGVneSgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgV2ViQ29yZTo6UGx1Z2luU3Ry
YXRlZ3kqIGNyZWF0ZVBsdWdpblN0cmF0ZWd5KCkgT1ZFUlJJREU7CkBAIC02Miw2ICs2NCw5IEBA
IHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGRlbGV0ZUNvb2tpZXNGb3JIb3N0bmFtZShXZWJD
b3JlOjpOZXR3b3JraW5nQ29udGV4dCosIGNvbnN0IFN0cmluZyYgaG9zdG5hbWUpIE9WRVJSSURF
OwogICAgIHZpcnR1YWwgdm9pZCBkZWxldGVBbGxDb29raWVzKFdlYkNvcmU6Ok5ldHdvcmtpbmdD
b250ZXh0KikgT1ZFUlJJREU7CiAKKyAgICAvLyBXZWJDb3JlOjpEYXRhYmFzZVN0cmF0ZWd5Cisg
ICAgLy8gLSBVc2luZyBkZWZhdWx0IGltcGxlbWVudGF0aW9uLgorCiAgICAgLy8gV2ViQ29yZTo6
UGx1Z2luU3RyYXRlZ3kKICAgICB2aXJ0dWFsIHZvaWQgcmVmcmVzaFBsdWdpbnMoKSBPVkVSUklE
RTsKICAgICB2aXJ0dWFsIHZvaWQgZ2V0UGx1Z2luSW5mbyhjb25zdCBXZWJDb3JlOjpQYWdlKiwg
VmVjdG9yPFdlYkNvcmU6OlBsdWdpbkluZm8+JikgT1ZFUlJJREU7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVn
aWVzLm1tCShyZXZpc2lvbiAxMzc2MjkpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTUzLDYgKzUz
LDExIEBAIENvb2tpZXNTdHJhdGVneSogV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjoKICAgICByZXR1
cm4gdGhpczsKIH0KIAorRGF0YWJhc2VTdHJhdGVneSogV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpj
cmVhdGVEYXRhYmFzZVN0cmF0ZWd5KCkKK3sKKyAgICByZXR1cm4gdGhpczsKK30KKwogTG9hZGVy
U3RyYXRlZ3kqIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6Y3JlYXRlTG9hZGVyU3RyYXRlZ3koKQog
ewogICAgIHJldHVybiB0aGlzOwpJbmRleDogU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNzYyOSkK
KysrIFNvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MTcgQEAKKzIwMTItMTItMTMgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgorCisgICAg
ICAgIEludHJvZHVjaW5nIHRoZSBEYXRhYmFzZVN0cmF0ZWd5IGFuZCBkYXRhYmFzZSBzZXJ2ZXJz
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0OTM0
LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBk
YXRhYmFzZSBzZXJ2ZXIgaXMgY3VycmVudGx5IGEgcGxhY2Vob2xkZXIgdGhhdCBkb2VzIG5vdGhp
bmcuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNRdC5jcHA6
CisgICAgICAgIChQbGF0Zm9ybVN0cmF0ZWdpZXNRdDo6Y3JlYXRlRGF0YWJhc2VTdHJhdGVneSk6
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzUXQuaDoKKyAgICAg
ICAgKFBsYXRmb3JtU3RyYXRlZ2llc1F0KToKKwogMjAxMi0xMi0xMyAgSmVyb21lIFBhc2lvbiAg
PGplcm9tZS5wYXNpb25AZGlnaWEuY29tPgogCiAgICAgICAgIFtRdF0gRG9jOiBGaXhpbmcgUXQg
V2ViS2l0IHJlZmVyZW5jZSBkb2N1bWVudGF0aW9uLgpJbmRleDogU291cmNlL1dlYktpdC9xdC9X
ZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNRdC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNRdC5jcHAJKHJl
dmlzaW9uIDEzNzYyOSkKKysrIFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGxhdGZv
cm1TdHJhdGVnaWVzUXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NSw2ICs2NSwxMSBAQCBDb29r
aWVzU3RyYXRlZ3kqIFBsYXRmb3JtU3RyYXRlZ2llc1F0OjpjCiAgICAgcmV0dXJuIHRoaXM7CiB9
CiAKK0RhdGFiYXNlU3RyYXRlZ3kqIFBsYXRmb3JtU3RyYXRlZ2llc1F0OjpjcmVhdGVEYXRhYmFz
ZVN0cmF0ZWd5KCkKK3sKKyAgICByZXR1cm4gdGhpczsKK30KKwogTG9hZGVyU3RyYXRlZ3kqIFBs
YXRmb3JtU3RyYXRlZ2llc1F0OjpjcmVhdGVMb2FkZXJTdHJhdGVneSgpCiB7CiAgICAgcmV0dXJu
IHRoaXM7CkluZGV4OiBTb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3Ry
YXRlZ2llc1F0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9y
dC9QbGF0Zm9ybVN0cmF0ZWdpZXNRdC5oCShyZXZpc2lvbiAxMzc2MjkpCisrKyBTb3VyY2UvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1F0LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTI5LDYgKzI5LDcgQEAKICNkZWZpbmUgUGxhdGZvcm1TdHJhdGVnaWVzUXRfaAogCiAj
aW5jbHVkZSA8Q29va2llc1N0cmF0ZWd5Lmg+CisjaW5jbHVkZSA8RGF0YWJhc2VTdHJhdGVneS5o
PgogI2luY2x1ZGUgPExvYWRlclN0cmF0ZWd5Lmg+CiAjaW5jbHVkZSA8UGxhdGZvcm1TdHJhdGVn
aWVzLmg+CiAjaW5jbHVkZSA8UGx1Z2luU3RyYXRlZ3kuaD4KQEAgLTM5LDcgKzQwLDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUGFzdGVib2FyZFN0cmF0ZWd5OwogfQogCi1jbGFzcyBQ
bGF0Zm9ybVN0cmF0ZWdpZXNRdCA6IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0ZWdpZXMs
IHByaXZhdGUgV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OkxvYWRl
clN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5LCBwcml2YXRlIFdlYkNv
cmU6OlNoYXJlZFdvcmtlclN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3Ry
YXRlZ3kgeworY2xhc3MgUGxhdGZvcm1TdHJhdGVnaWVzUXQgOiBwdWJsaWMgV2ViQ29yZTo6UGxh
dGZvcm1TdHJhdGVnaWVzLCBwcml2YXRlIFdlYkNvcmU6OkNvb2tpZXNTdHJhdGVneSwgcHJpdmF0
ZSBXZWJDb3JlOjpEYXRhYmFzZVN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OkxvYWRlclN0cmF0
ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlNo
YXJlZFdvcmtlclN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kg
ewogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGluaXRpYWxpemUoKTsKIApAQCAtNDgsNiArNDks
NyBAQCBwcml2YXRlOgogCiAgICAgLy8gV2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzCiAgICAg
dmlydHVhbCBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3kqIGNyZWF0ZUNvb2tpZXNTdHJhdGVneSgp
OworICAgIHZpcnR1YWwgV2ViQ29yZTo6RGF0YWJhc2VTdHJhdGVneSogY3JlYXRlRGF0YWJhc2VT
dHJhdGVneSgpOwogICAgIHZpcnR1YWwgV2ViQ29yZTo6TG9hZGVyU3RyYXRlZ3kqIGNyZWF0ZUxv
YWRlclN0cmF0ZWd5KCk7CiAgICAgdmlydHVhbCBXZWJDb3JlOjpQYXN0ZWJvYXJkU3RyYXRlZ3kq
IGNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgpOwogICAgIHZpcnR1YWwgV2ViQ29yZTo6UGx1Z2lu
U3RyYXRlZ3kqIGNyZWF0ZVBsdWdpblN0cmF0ZWd5KCk7CkBAIC02Niw2ICs2OCw5IEBAIHByaXZh
dGU6CiAgICAgdmlydHVhbCB2b2lkIGRlbGV0ZUNvb2tpZXNGb3JIb3N0bmFtZShXZWJDb3JlOjpO
ZXR3b3JraW5nQ29udGV4dCosIGNvbnN0IFN0cmluZyYgaG9zdG5hbWUpOwogICAgIHZpcnR1YWwg
dm9pZCBkZWxldGVBbGxDb29raWVzKFdlYkNvcmU6Ok5ldHdvcmtpbmdDb250ZXh0Kik7CiAKKyAg
ICAvLyBXZWJDb3JlOjpEYXRhYmFzZVN0cmF0ZWd5CisgICAgLy8gLSBVc2luZyBkZWZhdWx0IGlt
cGxlbWVudGF0aW9uLgorCiAgICAgLy8gV2ViQ29yZTo6UGx1Z2luU3RyYXRlZ3kKICAgICB2aXJ0
dWFsIHZvaWQgcmVmcmVzaFBsdWdpbnMoKTsKICAgICB2aXJ0dWFsIHZvaWQgZ2V0UGx1Z2luSW5m
byhjb25zdCBXZWJDb3JlOjpQYWdlKiwgVmVjdG9yPFdlYkNvcmU6OlBsdWdpbkluZm8+Jik7Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC93aW4vQ2hhbmdlTG9nCShyZXZpc2lvbiAxMzc2MjkpCisrKyBTb3VyY2UvV2ViS2l0L3dp
bi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMi0xMyAg
TWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW50cm9kdWNpbmcgdGhl
IERhdGFiYXNlU3RyYXRlZ3kgYW5kIGRhdGFiYXNlIHNlcnZlcnMuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ5MzQuCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGRhdGFiYXNlIHNlcnZlciBpcyBj
dXJyZW50bHkgYSBwbGFjZWhvbGRlciB0aGF0IGRvZXMgbm90aGluZy4KKworICAgICAgICAqIFdl
YkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHA6CisgICAgICAgIChXZWJQbGF0
Zm9ybVN0cmF0ZWdpZXM6OmNyZWF0ZURhdGFiYXNlU3RyYXRlZ3kpOgorICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oOgorICAgICAgICAoV2ViUGxhdGZvcm1T
dHJhdGVnaWVzKToKKwogMjAxMi0xMi0xMiAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+
CiAKICAgICAgICAgRW5jYXBzdWxhdGUgZXh0ZXJuYWxseSB1c2VkIHdlYmRhdGFiYXNlIEFQSXMg
aW4gRGF0YWJhc2VNYW5hZ2VyLgpJbmRleDogU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBv
cnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCShyZXZpc2lvbiAx
Mzc2MjkpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0
cmF0ZWdpZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Miw2ICs1MiwxMSBAQCBDb29raWVzU3Ry
YXRlZ3kqIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6CiAgICAgcmV0dXJuIHRoaXM7CiB9CiAKK0Rh
dGFiYXNlU3RyYXRlZ3kqIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6Y3JlYXRlRGF0YWJhc2VTdHJh
dGVneSgpCit7CisgICAgcmV0dXJuIHRoaXM7Cit9CisKIExvYWRlclN0cmF0ZWd5KiBXZWJQbGF0
Zm9ybVN0cmF0ZWdpZXM6OmNyZWF0ZUxvYWRlclN0cmF0ZWd5KCkKIHsKICAgICByZXR1cm4gdGhp
czsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3Ry
YXRlZ2llcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0
L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCShyZXZpc2lvbiAxMzc2MjkpCisrKyBTb3VyY2UvV2Vi
S2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAkod29ya2luZyBj
b3B5KQpAQCAtMjcsMTMgKzI3LDE0IEBACiAjZGVmaW5lIFdlYlBsYXRmb3JtU3RyYXRlZ2llc19o
CiAKICNpbmNsdWRlIDxXZWJDb3JlL0Nvb2tpZXNTdHJhdGVneS5oPgorI2luY2x1ZGUgPFdlYkNv
cmUvRGF0YWJhc2VTdHJhdGVneS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTG9hZGVyU3RyYXRlZ3ku
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtU3RyYXRlZ2llcy5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUGx1Z2luU3RyYXRlZ3kuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZFdvcmtlclN0
cmF0ZWd5Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9WaXNpdGVkTGlua1N0cmF0ZWd5Lmg+CiAKLWNs
YXNzIFdlYlBsYXRmb3JtU3RyYXRlZ2llcyA6IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0
ZWdpZXMsIHByaXZhdGUgV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6
OkxvYWRlclN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5LCBwcml2YXRl
IFdlYkNvcmU6OlNoYXJlZFdvcmtlclN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlZpc2l0ZWRM
aW5rU3RyYXRlZ3kgeworY2xhc3MgV2ViUGxhdGZvcm1TdHJhdGVnaWVzIDogcHVibGljIFdlYkNv
cmU6OlBsYXRmb3JtU3RyYXRlZ2llcywgcHJpdmF0ZSBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3ks
IHByaXZhdGUgV2ViQ29yZTo6RGF0YWJhc2VTdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpMb2Fk
ZXJTdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpQbHVnaW5TdHJhdGVneSwgcHJpdmF0ZSBXZWJD
b3JlOjpTaGFyZWRXb3JrZXJTdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpWaXNpdGVkTGlua1N0
cmF0ZWd5IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBpbml0aWFsaXplKCk7CiAgICAgCkBA
IC00Miw2ICs0Myw3IEBAIHByaXZhdGU6CiAgICAgCiAgICAgLy8gV2ViQ29yZTo6UGxhdGZvcm1T
dHJhdGVnaWVzCiAgICAgdmlydHVhbCBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3kqIGNyZWF0ZUNv
b2tpZXNTdHJhdGVneSgpOworICAgIHZpcnR1YWwgV2ViQ29yZTo6RGF0YWJhc2VTdHJhdGVneSog
Y3JlYXRlRGF0YWJhc2VTdHJhdGVneSgpOwogICAgIHZpcnR1YWwgV2ViQ29yZTo6TG9hZGVyU3Ry
YXRlZ3kqIGNyZWF0ZUxvYWRlclN0cmF0ZWd5KCk7CiAgICAgdmlydHVhbCBXZWJDb3JlOjpQYXN0
ZWJvYXJkU3RyYXRlZ3kqIGNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgpOwogICAgIHZpcnR1YWwg
V2ViQ29yZTo6UGx1Z2luU3RyYXRlZ3kqIGNyZWF0ZVBsdWdpblN0cmF0ZWd5KCk7CkBAIC02Myw2
ICs2NSw5IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGRlbGV0ZUNvb2tpZXNGb3JIb3N0
bmFtZShXZWJDb3JlOjpOZXR3b3JraW5nQ29udGV4dCosIGNvbnN0IFN0cmluZyYgaG9zdG5hbWUp
OwogICAgIHZpcnR1YWwgdm9pZCBkZWxldGVBbGxDb29raWVzKFdlYkNvcmU6Ok5ldHdvcmtpbmdD
b250ZXh0Kik7CiAKKyAgICAvLyBXZWJDb3JlOjpEYXRhYmFzZVN0cmF0ZWd5CisgICAgLy8gLSBV
c2luZyBkZWZhdWx0IGltcGxlbWVudGF0aW9uLgorCiAgICAgLy8gV2ViQ29yZTo6UGx1Z2luU3Ry
YXRlZ3kKICAgICB2aXJ0dWFsIHZvaWQgcmVmcmVzaFBsdWdpbnMoKTsKICAgICB2aXJ0dWFsIHZv
aWQgZ2V0UGx1Z2luSW5mbyhjb25zdCBXZWJDb3JlOjpQYWdlKiwgVmVjdG9yPFdlYkNvcmU6OlBs
dWdpbkluZm8+Jik7CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwkocmV2aXNpb24gMTM3NjI5KQor
KysgU291cmNlL1dlYktpdC93aW5jZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwxNyBAQAorMjAxMi0xMi0xMyAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CisKKyAg
ICAgICAgSW50cm9kdWNpbmcgdGhlIERhdGFiYXNlU3RyYXRlZ3kgYW5kIGRhdGFiYXNlIHNlcnZl
cnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ5
MzQuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhl
IGRhdGFiYXNlIHNlcnZlciBpcyBjdXJyZW50bHkgYSBwbGFjZWhvbGRlciB0aGF0IGRvZXMgbm90
aGluZy4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1dpbkNF
LmNwcDoKKyAgICAgICAgKFBsYXRmb3JtU3RyYXRlZ2llc1dpbkNFOjpjcmVhdGVEYXRhYmFzZVN0
cmF0ZWd5KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5D
RS5oOgorICAgICAgICAoUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0UpOgorCiAyMDEyLTEyLTExICBN
aWtlIFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjog
Q29uc29sZVR5cGVzIHNob3VsZCBub3QgZXhwb3NlIE1lc3NhZ2VUeXBlIC0gaXQgc2hvdWxkIGJl
IHByaXZhdGUgdG8gaW5zcGVjdG9yLgpJbmRleDogU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3Jl
U3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRS5jcHAJ
KHJldmlzaW9uIDEzNzYyOSkKKysrIFNvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQv
UGxhdGZvcm1TdHJhdGVnaWVzV2luQ0UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSw2ICs0OSwx
MSBAQCBDb29raWVzU3RyYXRlZ3kqIFBsYXRmb3JtU3RyYXRlZ2llc1dpbkNFCiAgICAgcmV0dXJu
IHRoaXM7CiB9CiAKK0RhdGFiYXNlU3RyYXRlZ3kqIFBsYXRmb3JtU3RyYXRlZ2llc1dpbkNFOjpj
cmVhdGVEYXRhYmFzZVN0cmF0ZWd5KCkKK3sKKyAgICByZXR1cm4gdGhpczsKK30KKwogTG9hZGVy
U3RyYXRlZ3kqIFBsYXRmb3JtU3RyYXRlZ2llc1dpbkNFOjpjcmVhdGVMb2FkZXJTdHJhdGVneSgp
CiB7CiAgICAgcmV0dXJuIHRoaXM7CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVT
dXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1dpbkNFLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRS5oCShyZXZp
c2lvbiAxMzc2MjkpCisrKyBTb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L1BsYXRm
b3JtU3RyYXRlZ2llc1dpbkNFLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2LDEzICsyNiwxNCBAQAog
I2RlZmluZSBQbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRV9oCiAKICNpbmNsdWRlICJDb29raWVzU3Ry
YXRlZ3kuaCIKKyNpbmNsdWRlICJEYXRhYmFzZVN0cmF0ZWd5LmgiCiAjaW5jbHVkZSAiTG9hZGVy
U3RyYXRlZ3kuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCIKICNpbmNsdWRlICJQ
bHVnaW5TdHJhdGVneS5oIgogI2luY2x1ZGUgIlNoYXJlZFdvcmtlclN0cmF0ZWd5LmgiCiAjaW5j
bHVkZSAiVmlzaXRlZExpbmtTdHJhdGVneS5oIgogCi1jbGFzcyBQbGF0Zm9ybVN0cmF0ZWdpZXNX
aW5DRSA6IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0ZWdpZXMsIHByaXZhdGUgV2ViQ29y
ZTo6Q29va2llc1N0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OkxvYWRlclN0cmF0ZWd5LCBwcml2
YXRlIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlNoYXJlZFdvcmtl
clN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kgeworY2xhc3Mg
UGxhdGZvcm1TdHJhdGVnaWVzV2luQ0UgOiBwdWJsaWMgV2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVn
aWVzLCBwcml2YXRlIFdlYkNvcmU6OkNvb2tpZXNTdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpE
YXRhYmFzZVN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OkxvYWRlclN0cmF0ZWd5LCBwcml2YXRl
IFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlNoYXJlZFdvcmtlclN0
cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kgewogcHVibGljOgog
ICAgIHN0YXRpYyB2b2lkIGluaXRpYWxpemUoKTsKIApAQCAtNDEsNiArNDIsNyBAQCBwcml2YXRl
OgogCiAgICAgLy8gV2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzCiAgICAgdmlydHVhbCBXZWJD
b3JlOjpDb29raWVzU3RyYXRlZ3kqIGNyZWF0ZUNvb2tpZXNTdHJhdGVneSgpOworICAgIHZpcnR1
YWwgV2ViQ29yZTo6RGF0YWJhc2VTdHJhdGVneSogY3JlYXRlRGF0YWJhc2VTdHJhdGVneSgpOwog
ICAgIHZpcnR1YWwgV2ViQ29yZTo6TG9hZGVyU3RyYXRlZ3kqIGNyZWF0ZUxvYWRlclN0cmF0ZWd5
KCk7CiAgICAgdmlydHVhbCBXZWJDb3JlOjpQYXN0ZWJvYXJkU3RyYXRlZ3kqIGNyZWF0ZVBhc3Rl
Ym9hcmRTdHJhdGVneSgpOwogICAgIHZpcnR1YWwgV2ViQ29yZTo6UGx1Z2luU3RyYXRlZ3kqIGNy
ZWF0ZVBsdWdpblN0cmF0ZWd5KCk7CkBAIC01OSw2ICs2MSw5IEBAIHByaXZhdGU6CiAgICAgdmly
dHVhbCB2b2lkIGRlbGV0ZUNvb2tpZXNGb3JIb3N0bmFtZShXZWJDb3JlOjpOZXR3b3JraW5nQ29u
dGV4dCosIGNvbnN0IFN0cmluZyYgaG9zdG5hbWUpOwogICAgIHZpcnR1YWwgdm9pZCBkZWxldGVB
bGxDb29raWVzKFdlYkNvcmU6Ok5ldHdvcmtpbmdDb250ZXh0Kik7CiAKKyAgICAvLyBXZWJDb3Jl
OjpEYXRhYmFzZVN0cmF0ZWd5CisgICAgLy8gLSBVc2luZyBkZWZhdWx0IGltcGxlbWVudGF0aW9u
LgorCiAgICAgLy8gV2ViQ29yZTo6UGx1Z2luU3RyYXRlZ3kKICAgICB2aXJ0dWFsIHZvaWQgcmVm
cmVzaFBsdWdpbnMoKTsKICAgICB2aXJ0dWFsIHZvaWQgZ2V0UGx1Z2luSW5mbyhjb25zdCBXZWJD
b3JlOjpQYWdlKiwgVmVjdG9yPFdlYkNvcmU6OlBsdWdpbkluZm8+Jik7Cg==
</data>
<flag name="review"
          id="196135"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>