<?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>28081</bug_id>
          
          <creation_ts>2009-08-07 13:14:22 -0700</creation_ts>
          <short_desc>&lt;video&gt; and &lt;audio&gt; controller should be accessible</short_desc>
          <delta_ts>2009-08-25 16:29:19 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>kenneth</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>138083</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2009-08-07 13:14:22 -0700</bug_when>
    <thetext>Built-in &lt;audio&gt; and &lt;video&gt; controls do not work well with accessibility: controls are not in a logic tab order, all buttons names are reported as &quot;button&quot;, the timeline slider values are reported as percentages, etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138183</commentid>
    <comment_count>1</comment_count>
      <attachid>34335</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2009-08-07 15:14:00 -0700</bug_when>
    <thetext>Created attachment 34335
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138823</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2009-08-10 14:28:38 -0700</bug_when>
    <thetext>&lt;rdar://7065736 &gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>139354</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2009-08-12 09:25:36 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/47110</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>139433</commentid>
    <comment_count>4</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2009-08-12 11:12:47 -0700</bug_when>
    <thetext>This patch seem to have broken the Qt build:

failed
123 test cases (2%) had incorrect layout
3031 test cases (58%) crashed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>139626</commentid>
    <comment_count>5</comment_count>
      <attachid>34335</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-12 16:01:37 -0700</bug_when>
    <thetext>Comment on attachment 34335
proposed patch

Was rolled out in:
http://trac.webkit.org/changeset/47140

failing tests were skipped in:
http://trac.webkit.org/changeset/47128</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>141880</commentid>
    <comment_count>6</comment_count>
      <attachid>38374</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2009-08-21 09:03:35 -0700</bug_when>
    <thetext>Created attachment 38374
revised patch

This is a minor rework of the patch reviewed last week. New this time are updated layout test results for Leopard and Windows, and some gtk localized strings I missed last time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142339</commentid>
    <comment_count>7</comment_count>
      <attachid>38374</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-08-24 11:18:38 -0700</bug_when>
    <thetext>Comment on attachment 38374
revised patch


&gt; +String AccessibilityMediaTimeline::valueDescription() const
&gt; +{
&gt; +    float time = static_cast&lt;HTMLInputElement*&gt;(m_renderer-&gt;node())-&gt;value().toFloat();
What is the guarantee that our renderer is an input element?


&gt;  MediaControlMuteButtonElement::MediaControlMuteButtonElement(Document* document, HTMLMediaElement* element)
&gt; -    : MediaControlInputElement(document, MEDIA_CONTROLS_MUTE_BUTTON, &quot;button&quot;, element, element-&gt;muted() ? MediaUnMuteButton : MediaMuteButton)
&gt; +    :: MediaControlInputElement(document, MEDIA_CONTROLS_MUTE_BUTTON, &quot;button&quot;, element)
&gt;  {
&gt;  }
This change looks bogus (:: vs :)

r+ assuming you fix the bogosity and explain why the above cast is safe</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142714</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2009-08-25 15:41:19 -0700</bug_when>
    <thetext>&gt; &gt; +String AccessibilityMediaTimeline::valueDescription() const
&gt; &gt; +{
&gt; &gt; +    float time = static_cast&lt;HTMLInputElement*&gt;(m_renderer-&gt;node())-&gt;value().toFloat();
&gt; 
&gt; What is the guarantee that our renderer is an input element?

  AccessibilityMediaTimeline is only created if the node is an input element, but I will add an ASSERT() in any case.


&gt; &gt;  MediaControlMuteButtonElement::MediaControlMuteButtonElement(Document* document, HTMLMediaElement* element)
&gt; &gt; -    : MediaControlInputElement(document, MEDIA_CONTROLS_MUTE_BUTTON, &quot;button&quot;, element, element-&gt;muted() ? MediaUnMuteButton : MediaMuteButton)
&gt; &gt; +    :: MediaControlInputElement(document, MEDIA_CONTROLS_MUTE_BUTTON, &quot;button&quot;, element)
&gt; &gt;  {
&gt; &gt;  }
&gt;
&gt; This change looks bogus (:: vs :)

Indeed!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142728</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2009-08-25 16:29:19 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/47763</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34335</attachid>
            <date>2009-08-07 15:14:00 -0700</date>
            <delta_ts>2009-08-21 09:03:35 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>media_controller_patch_5.txt</filename>
            <type>text/plain</type>
            <size>85824</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NjkxNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsOTAgQEAKKzIwMDktMDgtMDcgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBh
cHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgPHZpZGVvPiBhbmQgPGF1ZGlvPiBjb250cm9sbGVyIHNob3VsZCBiZSBhY2Nlc3NpYmxlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODA4MQorCisg
ICAgICAgIFRlc3Q6IGFjY2Vzc2liaWxpdHkvbWVkaWEtZWxlbWVudC5odG1sCisKKyAgICAgICAg
KiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2Vi
Q29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAg
ICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYkNv
cmVTb3VyY2VzLmJrbDoKKyAgICAgICAgICAgIEFkZCBBY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9s
cy5jcHAvLmgKKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6Cisg
ICAgICAgICogYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmg6CisgICAgICAgIChXZWJDb3Jl
OjpBWE9iamVjdENhY2hlOjpnZXRPckNyZWF0ZSk6CisgICAgICAgICAgICBDcmVhdGUgQWNjZXNz
aWJpbGl0eU1lZGlhQ29udHJvbC4gVXBkYXRlIENvcHlyaWdodAorCisgICAgICAgICogYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9scy5jcHA6CisgICAgICAgICogYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9scy5oOgorICAgICAgICAgICAgQWRkZWQu
CisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwOgorICAg
ICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oOgorICAgICAgICAgICAg
QWRkIGlzTWVkaWFUaW1lbGluZS4gVXBkYXRlIENvcHlyaWdodC4KKworICAgICAgICAqIGFjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eVNsaWRlci5oOgorICAgICAgICAgICAgTWFrZSBjb25zdHJ1
Y3RvciBwcm90ZWN0ZWQgaW5zdGVhZCBvZiBwcml2YXRlIHNvIEFjY2Vzc2liaWxpdHlNZWRpYVRp
bWVsaW5lIGNhbgorICAgICAgICAgICAgY2FsbCBpdC4KKworICAgICAgICAqIGFjY2Vzc2liaWxp
dHkvbWFjL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLm1tOgorICAgICAgICAoLVtBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlciBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlTmFtZXNdKToKKyAgICAg
ICAgICAgIEFkZCBOU0FjY2Vzc2liaWxpdHlWYWx1ZURlc2NyaXB0aW9uQXR0cmlidXRlIHRvIHJh
bmdlIGF0dHJpYnV0ZXMuIAorICAgICAgICAoLVtBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBz
dWJyb2xlXSk6CisgICAgICAgICAgICBSZXR1cm4gTlNBY2Nlc3NpYmlsaXR5VGltZWxpbmVTdWJy
b2xlIGZvciBBY2Nlc3NpYmlsaXR5TWVkaWFUaW1lbGluZS4KKworICAgICAgICAqIGRvbS9Ob2Rl
Lmg6CisgICAgICAgICAgICBhZGQgaXNNZWRpYUNvbnRyb2xFbGVtZW50LgorCisgICAgICAgICog
cGFnZS9tYWMvV2ViQ29yZVZpZXdGYWN0b3J5Lmg6CisgICAgICAgICogcGxhdGZvcm0vTG9jYWxp
emVkU3RyaW5ncy5oOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9Mb2NhbGl6ZWRTdHJpbmdzTWFj
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6bG9jYWxpemVkTWVkaWFDb250cm9sRWxlbWVudFN0cmlu
Zyk6IAorICAgICAgICAoV2ViQ29yZTo6bG9jYWxpemVkTWVkaWFDb250cm9sRWxlbWVudEhlbHBU
ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OmxvY2FsaXplZE1lZGlhVGltZURlc2NyaXB0aW9uKTog
CisgICAgICAgICAgICBOZXcsIHJldHVybiBsb2NhbGl6ZWQgbWVkaWEgY29udHJvbGxlciBzdHJp
bmdzLgorCisgICAgICAgICogcmVuZGVyaW5nL01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbEVsZW1lbnQ6Ok1lZGlhQ29udHJvbEVsZW1lbnQp
OgorICAgICAgICAgICAgSW5pdGlhbGl6ZSBtX2Rpc3BsYXlUeXBlLgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFDb250cm9sRWxlbWVudDo6TWVkaWFDb250cm9sRWxlbWVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYUNvbnRyb2xTdGF0dXNEaXNwbGF5RWxlbWVudDo6TWVkaWFDb250cm9sU3Rh
dHVzRGlzcGxheUVsZW1lbnQpOgorICAgICAgICAgICAgRml4IHN0eWxlLgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFDb250cm9sSW5wdXRFbGVtZW50OjpNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQp
OgorICAgICAgICAgICAgU2V0IG1fZGlzcGxheVR5cGUgYmFzZWQgb24gcHNldWRvIHN0eWxlIElE
LgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sSW5wdXRFbGVtZW50OjpNZWRpYUNvbnRy
b2xJbnB1dEVsZW1lbnQpOgorICAgICAgICAgICAgcmVuYW1lIGxvY2FsICJvIiB0byAib2JqZWN0
Ii4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbE11dGVCdXR0b25FbGVtZW50OjpNZWRp
YUNvbnRyb2xNdXRlQnV0dG9uRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRy
b2xQbGF5QnV0dG9uRWxlbWVudDo6TWVkaWFDb250cm9sUGxheUJ1dHRvbkVsZW1lbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sU2Vla0J1dHRvbkVsZW1lbnQ6Ok1lZGlhQ29udHJv
bFNlZWtCdXR0b25FbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJld2lu
ZEJ1dHRvbkVsZW1lbnQ6Ok1lZGlhQ29udHJvbFJld2luZEJ1dHRvbkVsZW1lbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUmV0dXJuVG9SZWFsdGltZUJ1dHRvbkVsZW1lbnQ6Ok1l
ZGlhQ29udHJvbFJldHVyblRvUmVhbHRpbWVCdXR0b25FbGVtZW50KToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudDo6TWVkaWFDb250cm9sVGltZWxpbmVFbGVt
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVt
ZW50OjpNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0dG9uRWxlbWVudCk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQ6Ok1lZGlhQ29udHJvbFRpbWVsaW5lRWxl
bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQ6Ok1l
ZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRy
b2xUaW1lbGluZUVsZW1lbnQ6Ok1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudCk6CisgICAgICAg
ICAgICBVcGRhdGUgZm9yIE1lZGlhQ29udHJvbElucHV0RWxlbWVudCBjb25zdHJ1Y3RvciBjaGFu
Z2UuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xUaW1lRGlzcGxheUVsZW1lbnQ6OmZv
cm1hdFRpbWUpOgorICAgICAgICAgICAgTmV3LCBtb3ZlZCBoZXJlIGZyb20gUmVuZGVyTWVkaWEg
c28gQWNjZXNzaWJpbGl0eU1lZGlhVGltZURpc3BsYXkgY2FuIHVzZSBpdC4KKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhQ29udHJvbFRpbWVEaXNwbGF5RWxlbWVudDo6c2V0Q3VycmVudFZhbHVlKToK
KyAgICAgICAgICAgIE5ldywgc2V0IHRleHQgdG8gY3VycmVudCB0aW1lLgorICAgICAgICAqIHJl
bmRlcmluZy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oOgorCisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlck1lZGlhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1lZGlhOjp1cGRhdGVDb250
cm9scyk6CisgICAgICAgICAgICBDcmVhdGUgY29udHJvbHMgaW4gdGFiIG9yZGVyLgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTWVkaWE6OmZvcm1hdFRpbWUpOgorICAgICAgICAgICAgTW92ZWQg
dG8gTWVkaWFDb250cm9sVGltZURpc3BsYXlFbGVtZW50Ojpmb3JtYXRUaW1lLgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTWVkaWE6OnVwZGF0ZVRpbWVEaXNwbGF5KToKKyAgICAgICAgICAgIENh
bGwgTWVkaWFDb250cm9sVGltZURpc3BsYXlFbGVtZW50OjpzZXRDdXJyZW50VmFsdWUuCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlck1lZGlhLmg6CisKIDIwMDktMDgtMDcgIEFscGhhIExhbSAg
PGhjbGFtQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4K
SW5kZXg6IFdlYkNvcmUvR05VbWFrZWZpbGUuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9HTlVt
YWtlZmlsZS5hbQkocmV2aXNpb24gNDY5MTApCisrKyBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCSh3
b3JraW5nIGNvcHkpCkBAIC0yODQsNiArMjg0LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlX
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUxpc3RCb3guaCBcCiAJV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlMaXN0Qm94T3B0aW9uLmNwcCBcCiAJV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlMaXN0Qm94T3B0aW9uLmggXAorCVdlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9scy5jcHAgXAorCVdlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9scy5oIFwKIAlXZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAgXAogCVdlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmggXAogCVdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0LmNwcCBcCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUuZ3lwaQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUuZ3lwaQkocmV2aXNpb24gNDY5MTApCisrKyBXZWJD
b3JlL1dlYkNvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtMzY5LDYgKzM2OSw4IEBACiAgICAg
ICAgICAgICAnYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TGlzdEJveC5oJywKICAgICAgICAg
ICAgICdhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlMaXN0Qm94T3B0aW9uLmNwcCcsCiAgICAg
ICAgICAgICAnYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TGlzdEJveE9wdGlvbi5oJywKKyAg
ICAgICAgICAgICdhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xzLmNwcCcs
CisgICAgICAgICAgICAnYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9scy5o
JywKICAgICAgICAgICAgICdhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwJywK
ICAgICAgICAgICAgICdhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaCcsCiAgICAg
ICAgICAgICAnYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCcsCklu
ZGV4OiBXZWJDb3JlL1dlYkNvcmUucHJvCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5w
cm8JKHJldmlzaW9uIDQ2OTEwKQorKysgV2ViQ29yZS9XZWJDb3JlLnBybwkod29ya2luZyBjb3B5
KQpAQCAtNjA1LDYgKzYwNSw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAKIFNPVVJDRVMgKz0gXAog
ICAgIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUltYWdlTWFwTGluay5jcHAgXAorICAgIGFj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHMuY3BwIFwgICAgCiAgICAgYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCBcICAgIAogICAgIGFjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eUxpc3QuY3BwIFwgICAgCiAgICAgYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5TGlzdEJveC5jcHAgXCAgICAKQEAgLTEyOTEsNiArMTI5Miw3IEBAIEhFQURFUlMgKz0g
XAogICAgIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUxpc3RCb3guaCBcCiAgICAgYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5TGlzdEJveE9wdGlvbi5oIFwKICAgICBhY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlMaXN0LmggXAorICAgIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU1l
ZGlhQ29udHJvbHMuaCBcCiAgICAgYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0Lmgg
XAogICAgIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5oIFwKICAgICBh
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTbGlkZXIuaCBcCkluZGV4OiBXZWJDb3JlL1dlYkNv
cmVTb3VyY2VzLmJrbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmVTb3VyY2VzLmJrbAko
cmV2aXNpb24gNDY5MTApCisrKyBXZWJDb3JlL1dlYkNvcmVTb3VyY2VzLmJrbAkod29ya2luZyBj
b3B5KQpAQCAtMzcsNiArMzcsNyBAQCBUaGlzIGZpbGUgY29udGFpbnMgdGhlIGxpc3Qgb2YgZmls
ZXMgbmVlCiAgICAgICAgIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFSSUFHcmlkQ2VsbC5j
cHAKICAgICAgICAgYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QVJJQUdyaWRSb3cuY3BwCiAg
ICAgICAgIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUltYWdlTWFwTGluay5jcHAKKyAgICAg
ICAgYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9scy5jcHAKICAgICAgICAg
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAogICAgICAgICBhY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlMaXN0LmNwcAogICAgICAgICBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlMaXN0Qm94LmNwcApJbmRleDogV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
CShyZXZpc2lvbiA0NjkxMCkKKysrIFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2oJKHdvcmtpbmcgY29weSkKQEAgLTE2NDQ5LDYgKzE2NDQ5LDE0IEBACiAJCQkJPg0KIAkJCTwv
RmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGFjY2Vzc2liaWxpdHlcQWNj
ZXNzaWJpbGl0eU1lZGlhQ29udHJvbHMuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxG
aWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cYWNjZXNzaWJpbGl0eVxBY2Nlc3NpYmlsaXR5TWVk
aWFDb250cm9scy5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0
aXZlUGF0aD0iLi5cYWNjZXNzaWJpbGl0eVxBY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCINCiAJCQkJ
Pg0KIAkJCTwvRmlsZT4NCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagkocmV2aXNpb24gNDY5MTApCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMzcsNiArMzcsOCBAQAogCQkwNkU4MUVF
QzBBQjVEQTk3MDBDODc4MzcgLyogTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0Lm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDZFODFFRUIwQUI1REE5
NzAwQzg3ODM3IC8qIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5tbSAqLzsgfTsKIAkJMDcw
OUZDNEMxMDI1REVEODAwNTlDREJBIC8qIEFjY2Vzc2liaWxpdHlTbGlkZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDcwOUZDNEIxMDI1REVEODAw
NTlDREJBIC8qIEFjY2Vzc2liaWxpdHlTbGlkZXIuY3BwICovOyB9OwogCQkwNzA5RkM0RTEwMjVE
RUUzMDA1OUNEQkEgLyogQWNjZXNzaWJpbGl0eVNsaWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDcwOUZDNEQxMDI1REVFMzAwNTlDREJBIC8qIEFj
Y2Vzc2liaWxpdHlTbGlkZXIuaCAqLzsgfTsKKwkJMDcwOUZFM0ExMDI3OEU3NjAwNTlDREJBIC8q
IEFjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwNzA5RkUzOTEwMjc4RTc2MDA1OUNEQkEgLyogQWNjZXNzaWJp
bGl0eU1lZGlhQ29udHJvbHMuaCAqLzsgfTsKKwkJMDcwOUZFM0MxMDI3OEU3QzAwNTlDREJBIC8q
IEFjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MDlGRTNCMTAyNzhFN0MwMDU5Q0RCQSAvKiBBY2Nlc3Np
YmlsaXR5TWVkaWFDb250cm9scy5jcHAgKi87IH07CiAJCTA3MzVFRTZBMEY0MEM1RTQwMDRBMjYw
NCAvKiBNZWRpYVBsYXllclByb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwNzM1RUU2OTBGNDBDNUU0MDA0QTI2MDQgLyogTWVkaWFQbGF5ZXJQcm94
eS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA4
MDA4MTk2MEVEM0IyREQwMEM1M0JDMCAvKiBXTUxBbmNob3JFbGVtZW50LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4MDA4MTk0MEVEM0IyREQwMEM1
M0JDMCAvKiBXTUxBbmNob3JFbGVtZW50LmNwcCAqLzsgfTsKIAkJMDgwMDgxOTcwRUQzQjJERDAw
QzUzQkMwIC8qIFdNTEFuY2hvckVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDA4MDA4MTk1MEVEM0IyREQwMEM1M0JDMCAvKiBXTUxBbmNob3JF
bGVtZW50LmggKi87IH07CkBAIC00OTg4LDYgKzQ5OTAsOCBAQAogCQkwNkU4MUVFQjBBQjVEQTk3
MDBDODc4MzcgLyogTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0Lm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDcwOUZDNEIxMDI1REVEODAwNTlDREJB
IC8qIEFjY2Vzc2liaWxpdHlTbGlkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gQWNjZXNzaWJpbGl0eVNsaWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTA3MDlGQzREMTAyNURFRTMwMDU5Q0RCQSAvKiBBY2Nlc3NpYmlsaXR5U2xpZGVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlTbGlkZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDcwOUZFMzkxMDI3OEU3NjAwNTlDREJBIC8q
IEFjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEFjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTA3MDlGRTNCMTAyNzhFN0MwMDU5Q0RCQSAvKiBBY2Nlc3NpYmlsaXR5TWVkaWFD
b250cm9scy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3Np
YmlsaXR5TWVkaWFDb250cm9scy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3
MEREOEY1MEYwMTg2ODAwMDcyN0RFQiAvKiBtZWRpYUNvbnRyb2xzLmNzcyAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBtZWRpYUNvbnRyb2xzLmNzczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMDczNUVFNjkwRjQwQzVFNDAwNEEyNjA0IC8qIE1lZGlhUGxheWVyUHJveHkuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFQbGF5ZXJQcm94eS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkwNzlGNUU0QjBGM0JFQkVBMDA1RTA3ODIgLyogTWVkaWFQbGF5
ZXJQcml2YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhUGxheWVy
UHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtOTk1Miw2ICs5OTU2LDgg
QEAKIAkJCQkyOUE4MTIyNTBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eUxpc3RCb3gu
aCAqLywKIAkJCQkyOUE4MTIxRjBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eUxpc3RC
b3hPcHRpb24uY3BwICovLAogCQkJCTI5QTgxMjI0MEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3Np
YmlsaXR5TGlzdEJveE9wdGlvbi5oICovLAorCQkJCTA3MDlGRTNCMTAyNzhFN0MwMDU5Q0RCQSAv
KiBBY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9scy5jcHAgKi8sCisJCQkJMDcwOUZFMzkxMDI3OEU3
NjAwNTlDREJBIC8qIEFjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xzLmggKi8sCiAJCQkJMjlBODEy
MUUwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlPYmplY3QuY3BwICovLAogCQkJCTI5
QTgxMjE4MEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0LmggKi8sCiAJCQkJ
MjlBODEyMDgwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3Bw
ICovLApAQCAtMTcxNzMsNiArMTcxNzksNyBAQAogCQkJCTBGRjUwMjYzMTAyQkE5MkMwMDY2RjM5
QSAvKiBET01NZWRpYUludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkY1MDI2QTEwMkJB
OTQzMDA2NkYzOUEgLyogSlNNZWRpYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZGNTAyNzIxMDJC
QTk2QTAwNjZGMzlBIC8qIE1lZGlhLmggaW4gSGVhZGVycyAqLywKKwkJCQkwNzA5RkUzQTEwMjc4
RTc2MDA1OUNEQkEgLyogQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHMuaCBpbiBIZWFkZXJzICov
LAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9
OwpAQCAtMTkyMjAsNiArMTkyMjcsNyBAQAogCQkJCTBGRjUwMjVDMTAyQkE5MDEwMDY2RjM5QSAv
KiBET01NZWRpYS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTBGRjUwMjY5MTAyQkE5NDMwMDY2RjM5
QSAvKiBKU01lZGlhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRjUwMjcxMTAyQkE5NkEwMDY2
RjM5QSAvKiBNZWRpYS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwNzA5RkUzQzEwMjc4RTdDMDA1
OUNEQkEgLyogQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07Cklu
ZGV4OiBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCShyZXZpc2lvbiA0Njkx
MCkKKysrIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlMaXN0Qm94LmgiCiAj
aW5jbHVkZSAiQWNjZXNzaWJpbGl0eUxpc3RCb3hPcHRpb24uaCIKICNpbmNsdWRlICJBY2Nlc3Np
YmlsaXR5SW1hZ2VNYXBMaW5rLmgiCisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJv
bHMuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmgiCiAjaW5jbHVkZSAi
QWNjZXNzaWJpbGl0eVNsaWRlci5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlUYWJsZS5oIgpA
QCAtNDUsNiArNDYsOSBAQAogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlUYWJsZVJvdy5oIgogI2lu
Y2x1ZGUgIklucHV0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgorI2lmIEVOQUJM
RShWSURFTykKKyNpbmNsdWRlICJNZWRpYUNvbnRyb2xFbGVtZW50cy5oIgorI2VuZGlmCiAjaW5j
bHVkZSAiUmVuZGVyT2JqZWN0LmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgogCkBAIC0xMjcs
NiArMTMxLDEyIEBAIEFjY2Vzc2liaWxpdHlPYmplY3QqIEFYT2JqZWN0Q2FjaGU6OmdldE8KICAg
ICAgICAgZWxzZSBpZiAocmVuZGVyZXItPmlzVGFibGVDZWxsKCkpCiAgICAgICAgICAgICBuZXdP
YmogPSBBY2Nlc3NpYmlsaXR5VGFibGVDZWxsOjpjcmVhdGUocmVuZGVyZXIpOwogCisjaWYgRU5B
QkxFKFZJREVPKQorICAgICAgICAvLyBtZWRpYSBjb250cm9scworICAgICAgICBlbHNlIGlmIChy
ZW5kZXJlci0+bm9kZSgpICYmIHJlbmRlcmVyLT5ub2RlKCktPmlzTWVkaWFDb250cm9sRWxlbWVu
dCgpKQorICAgICAgICAgICAgbmV3T2JqID0gQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbDo6Y3Jl
YXRlKHJlbmRlcmVyKTsKKyNlbmRpZgorCiAgICAgICAgIC8vIGlucHV0IHR5cGU9cmFuZ2UKICAg
ICAgICAgZWxzZSBpZiAocmVuZGVyZXItPmlzU2xpZGVyKCkpCiAgICAgICAgICAgICBuZXdPYmog
PSBBY2Nlc3NpYmlsaXR5U2xpZGVyOjpjcmVhdGUocmVuZGVyZXIpOwpJbmRleDogV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCShyZXZpc2lvbiA0NjkxMCkKKysrIFdlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBA
CiAvKgotICogQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA2LCAyMDA3LCAyMDA4IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwMywgMjAwNiwgMjAwNywg
MjAwOCwgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKSW5kZXg6IFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5TWVkaWFDb250cm9scy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xzLmNwcAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9scy5jcHAJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMzE5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9m
CisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgor
ICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShW
SURFTykKKworI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xzLmgiCisKKyNpbmNs
dWRlICJBWE9iamVjdENhY2hlLmgiCisjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgorI2lu
Y2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIkxvY2FsaXplZFN0cmluZ3MuaCIKKyNpbmNs
dWRlICJNZWRpYUNvbnRyb2xFbGVtZW50cy5oIgorI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgor
I2luY2x1ZGUgIlJlbmRlclNsaWRlci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3VzaW5n
IG5hbWVzcGFjZSBIVE1MTmFtZXM7CisKKworQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbDo6QWNj
ZXNzaWJpbGl0eU1lZGlhQ29udHJvbChSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQorICAgIDogQWNj
ZXNzaWJpbGl0eVJlbmRlck9iamVjdChyZW5kZXJlcikKK3sKK30KKworUGFzc1JlZlB0cjxBY2Nl
c3NpYmlsaXR5T2JqZWN0PiBBY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9sOjpjcmVhdGUoUmVuZGVy
T2JqZWN0KiByZW5kZXJlcikKK3sKKyAgICBBU1NFUlQocmVuZGVyZXItPm5vZGUoKSAmJiByZW5k
ZXJlci0+bm9kZSgpLT5pc01lZGlhQ29udHJvbEVsZW1lbnQoKSk7CisKKyAgICBOb2RlKiBub2Rl
ID0gcmVuZGVyZXItPm5vZGUoKTsKKyAgICBNZWRpYUNvbnRyb2xFbGVtZW50VHlwZSBjb250cm9s
VHlwZTsKKworICAgIGlmIChub2RlLT5oYXNUYWdOYW1lKGlucHV0VGFnKSkKKyAgICAgICAgY29u
dHJvbFR5cGUgPSBzdGF0aWNfY2FzdDxNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQqPihub2RlKS0+
ZGlzcGxheVR5cGUoKTsKKyAgICBlbHNlCisgICAgICAgIGNvbnRyb2xUeXBlID0gc3RhdGljX2Nh
c3Q8TWVkaWFDb250cm9sRWxlbWVudCo+KG5vZGUpLT5kaXNwbGF5VHlwZSgpOworCisgICAgUGFz
c1JlZlB0cjxBY2Nlc3NpYmlsaXR5T2JqZWN0PiBvYmo7CisgICAgc3dpdGNoIChjb250cm9sVHlw
ZSkgeworICAgIGNhc2UgTWVkaWFTbGlkZXI6CisgICAgICAgIG9iaiA9IEFjY2Vzc2liaWxpdHlN
ZWRpYVRpbWVsaW5lOjpjcmVhdGUocmVuZGVyZXIpOworICAgICAgICBicmVhazsKKworICAgIGNh
c2UgTWVkaWFDdXJyZW50VGltZURpc3BsYXk6CisgICAgY2FzZSBNZWRpYVRpbWVSZW1haW5pbmdE
aXNwbGF5OgorICAgICAgICBvYmogPSBBY2Nlc3NpYmlsaXR5TWVkaWFUaW1lRGlzcGxheTo6Y3Jl
YXRlKHJlbmRlcmVyKTsKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIE1lZGlhQ29udHJvbHNQ
YW5lbDoKKyAgICAgICAgb2JqID0gQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHNDb250YWluZXI6
OmNyZWF0ZShyZW5kZXJlcik7CisgICAgICAgIGJyZWFrOworCisgICAgZGVmYXVsdDoKKyAgICAg
ICAgb2JqID0gYWRvcHRSZWYobmV3IEFjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2wocmVuZGVyZXIp
KTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgcmV0dXJuIG9iajsKK30KKworTWVkaWFD
b250cm9sRWxlbWVudFR5cGUgQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbDo6Y29udHJvbFR5cGUo
KSBjb25zdAoreworICAgIGlmICghcmVuZGVyZXIoKSB8fCAhcmVuZGVyZXIoKS0+bm9kZSgpKQor
ICAgICAgICByZXR1cm4gTWVkaWFUaW1lbGluZUNvbnRhaW5lcjsgIC8vIFRpbWVsaW5lIGNvbnRh
aW5lciBpcyBub3QgYWNjZXNzaWJsZS4KKworICAgIE5vZGUqIG5vZGUgPSByZW5kZXJlcigpLT5u
b2RlKCk7CisKKyAgICBpZiAobm9kZS0+aGFzVGFnTmFtZShpbnB1dFRhZykpCisgICAgICAgIHJl
dHVybiBzdGF0aWNfY2FzdDxNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQqPihub2RlKS0+ZGlzcGxh
eVR5cGUoKTsKKworICAgIHJldHVybiBzdGF0aWNfY2FzdDxNZWRpYUNvbnRyb2xFbGVtZW50Kj4o
bm9kZSktPmRpc3BsYXlUeXBlKCk7Cit9CisKK1N0cmluZyBBY2Nlc3NpYmlsaXR5TWVkaWFDb250
cm9sOjpjb250cm9sVHlwZU5hbWUoKSBjb25zdAoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwo
Y29uc3QgU3RyaW5nLCBtZWRpYU11dGVCdXR0b25OYW1lLCAoIk11dGVCdXR0b24iKSk7CisgICAg
REVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIG1lZGlhUGxheUJ1dHRvbk5hbWUsICgi
UGxheUJ1dHRvbiIpKTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywgbWVk
aWFTZWVrQmFja0J1dHRvbk5hbWUsICgiU2Vla0JhY2tCdXR0b24iKSk7CisgICAgREVGSU5FX1NU
QVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIG1lZGlhU2Vla0ZvcndhcmRCdXR0b25OYW1lLCAoIlNl
ZWtGb3J3YXJkQnV0dG9uIikpOworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5n
LCBtZWRpYVJld2luZEJ1dHRvbk5hbWUsICgiUmV3aW5kQnV0dG9uIikpOworICAgIERFRklORV9T
VEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCBtZWRpYVJldHVyblRvUmVhbHRpbWVCdXR0b25OYW1l
LCAoIlJldHVyblRvUmVhbHRpbWVCdXR0b24iKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChj
b25zdCBTdHJpbmcsIG1lZGlhVW5NdXRlQnV0dG9uTmFtZSwgKCJVbk11dGVCdXR0b24iKSk7Cisg
ICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIG1lZGlhUGF1c2VCdXR0b25OYW1l
LCAoIlBhdXNlQnV0dG9uIikpOworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5n
LCBtZWRpYVN0YXR1c0Rpc3BsYXlOYW1lLCAoIlN0YXR1c0Rpc3BsYXkiKSk7CisgICAgREVGSU5F
X1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIG1lZGlhQ3VycmVudFRpbWVEaXNwbGF5LCAoIkN1
cnJlbnRUaW1lRGlzcGxheSIpKTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmlu
ZywgbWVkaWFUaW1lUmVtYWluaW5nRGlzcGxheSwgKCJUaW1lUmVtYWluaW5nRGlzcGxheSIpKTsK
KworICAgIHN3aXRjaCAoY29udHJvbFR5cGUoKSkgeworICAgIGNhc2UgTWVkaWFNdXRlQnV0dG9u
OgorICAgICAgICByZXR1cm4gbWVkaWFNdXRlQnV0dG9uTmFtZTsKKyAgICBjYXNlIE1lZGlhUGxh
eUJ1dHRvbjoKKyAgICAgICAgcmV0dXJuIG1lZGlhUGxheUJ1dHRvbk5hbWU7CisgICAgY2FzZSBN
ZWRpYVNlZWtCYWNrQnV0dG9uOgorICAgICAgICByZXR1cm4gbWVkaWFTZWVrQmFja0J1dHRvbk5h
bWU7CisgICAgY2FzZSBNZWRpYVNlZWtGb3J3YXJkQnV0dG9uOgorICAgICAgICByZXR1cm4gbWVk
aWFTZWVrRm9yd2FyZEJ1dHRvbk5hbWU7CisgICAgY2FzZSBNZWRpYVJld2luZEJ1dHRvbjoKKyAg
ICAgICAgcmV0dXJuIG1lZGlhUmV3aW5kQnV0dG9uTmFtZTsKKyAgICBjYXNlIE1lZGlhUmV0dXJu
VG9SZWFsdGltZUJ1dHRvbjoKKyAgICAgICAgcmV0dXJuIG1lZGlhUmV0dXJuVG9SZWFsdGltZUJ1
dHRvbk5hbWU7CisgICAgY2FzZSBNZWRpYVVuTXV0ZUJ1dHRvbjoKKyAgICAgICAgcmV0dXJuIG1l
ZGlhVW5NdXRlQnV0dG9uTmFtZTsKKyAgICBjYXNlIE1lZGlhUGF1c2VCdXR0b246CisgICAgICAg
IHJldHVybiBtZWRpYVBhdXNlQnV0dG9uTmFtZTsKKyAgICBjYXNlIE1lZGlhU3RhdHVzRGlzcGxh
eToKKyAgICAgICAgcmV0dXJuIG1lZGlhU3RhdHVzRGlzcGxheU5hbWU7CisgICAgY2FzZSBNZWRp
YUN1cnJlbnRUaW1lRGlzcGxheToKKyAgICAgICAgcmV0dXJuIG1lZGlhQ3VycmVudFRpbWVEaXNw
bGF5OworICAgIGNhc2UgTWVkaWFUaW1lUmVtYWluaW5nRGlzcGxheToKKyAgICAgICAgcmV0dXJu
IG1lZGlhVGltZVJlbWFpbmluZ0Rpc3BsYXk7CisKKyAgICBkZWZhdWx0OgorICAgICAgICBicmVh
azsKKyAgICB9CisKKyAgICByZXR1cm4gU3RyaW5nKCk7Cit9CisKK1N0cmluZyBBY2Nlc3NpYmls
aXR5TWVkaWFDb250cm9sOjp0aXRsZSgpIGNvbnN0Cit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NB
TChjb25zdCBTdHJpbmcsIGNvbnRyb2xzUGFuZWwsICgiQ29udHJvbHNQYW5lbCIpKTsKKworICAg
IGlmIChjb250cm9sVHlwZSgpID09IE1lZGlhQ29udHJvbHNQYW5lbCkKKyAgICAgICAgcmV0dXJu
IGxvY2FsaXplZE1lZGlhQ29udHJvbEVsZW1lbnRTdHJpbmcoY29udHJvbHNQYW5lbCk7CisKKyAg
ICByZXR1cm4gQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6dGl0bGUoKTsKK30KKworU3RyaW5n
IEFjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2w6OmFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbigpIGNv
bnN0Cit7CisgICAgcmV0dXJuIGxvY2FsaXplZE1lZGlhQ29udHJvbEVsZW1lbnRTdHJpbmcoY29u
dHJvbFR5cGVOYW1lKCkpOworfQorCitTdHJpbmcgQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbDo6
aGVscFRleHQoKSBjb25zdAoreworICAgIHJldHVybiBsb2NhbGl6ZWRNZWRpYUNvbnRyb2xFbGVt
ZW50SGVscFRleHQoY29udHJvbFR5cGVOYW1lKCkpOworfQorCitib29sIEFjY2Vzc2liaWxpdHlN
ZWRpYUNvbnRyb2w6OmFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdAoreworICAgIGlmICgh
bV9yZW5kZXJlciB8fCAhbV9yZW5kZXJlci0+c3R5bGUoKSB8fCBtX3JlbmRlcmVyLT5zdHlsZSgp
LT52aXNpYmlsaXR5KCkgIT0gVklTSUJMRSB8fCBjb250cm9sVHlwZSgpID09IE1lZGlhVGltZWxp
bmVDb250YWluZXIpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgcmV0dXJuIGZhbHNlOwor
fQorCitBY2Nlc3NpYmlsaXR5Um9sZSBBY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9sOjpyb2xlVmFs
dWUoKSBjb25zdAoreworICAgIHN3aXRjaCAoY29udHJvbFR5cGUoKSkgeworICAgIGNhc2UgTWVk
aWFGdWxsc2NyZWVuQnV0dG9uOgorICAgIGNhc2UgTWVkaWFNdXRlQnV0dG9uOgorICAgIGNhc2Ug
TWVkaWFQbGF5QnV0dG9uOgorICAgIGNhc2UgTWVkaWFTZWVrQmFja0J1dHRvbjoKKyAgICBjYXNl
IE1lZGlhU2Vla0ZvcndhcmRCdXR0b246CisgICAgY2FzZSBNZWRpYVJld2luZEJ1dHRvbjoKKyAg
ICBjYXNlIE1lZGlhUmV0dXJuVG9SZWFsdGltZUJ1dHRvbjoKKyAgICBjYXNlIE1lZGlhVW5NdXRl
QnV0dG9uOgorICAgIGNhc2UgTWVkaWFQYXVzZUJ1dHRvbjoKKyAgICAgICAgcmV0dXJuIEJ1dHRv
blJvbGU7CisKKyAgICBjYXNlIE1lZGlhU3RhdHVzRGlzcGxheToKKyAgICAgICAgcmV0dXJuIFN0
YXRpY1RleHRSb2xlOworCisgICAgY2FzZSBNZWRpYVRpbWVsaW5lQ29udGFpbmVyOgorICAgICAg
ICByZXR1cm4gR3JvdXBSb2xlOworCisgICAgZGVmYXVsdDoKKyAgICAgICAgYnJlYWs7CisgICAg
fQorCisgICAgcmV0dXJuIFVua25vd25Sb2xlOworfQorCisKKworLy8KKy8vIEFjY2Vzc2liaWxp
dHlNZWRpYUNvbnRyb2xzQ29udGFpbmVyCisKK0FjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xzQ29u
dGFpbmVyOjpBY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9sc0NvbnRhaW5lcihSZW5kZXJPYmplY3Qq
IHJlbmRlcmVyKQorICAgIDogQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbChyZW5kZXJlcikKK3sK
K30KKworUGFzc1JlZlB0cjxBY2Nlc3NpYmlsaXR5T2JqZWN0PiBBY2Nlc3NpYmlsaXR5TWVkaWFD
b250cm9sc0NvbnRhaW5lcjo6Y3JlYXRlKFJlbmRlck9iamVjdCogcmVuZGVyZXIpCit7CisgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBBY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9sc0NvbnRhaW5lcihy
ZW5kZXJlcikpOworfQorCitTdHJpbmcgQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHNDb250YWlu
ZXI6OmFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIGxvY2Fs
aXplZE1lZGlhQ29udHJvbEVsZW1lbnRTdHJpbmcoZWxlbWVudFR5cGVOYW1lKCkpOworfQorCitT
dHJpbmcgQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHNDb250YWluZXI6OmhlbHBUZXh0KCkgY29u
c3QKK3sKKyAgICByZXR1cm4gbG9jYWxpemVkTWVkaWFDb250cm9sRWxlbWVudEhlbHBUZXh0KGVs
ZW1lbnRUeXBlTmFtZSgpKTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9sc0Nv
bnRhaW5lcjo6Y29udHJvbGxpbmdWaWRlb0VsZW1lbnQoKSBjb25zdAoreworICAgIGlmICghbV9y
ZW5kZXJlci0+bm9kZSgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIE1lZGlhQ29udHJv
bFRpbWVEaXNwbGF5RWxlbWVudCogZWxlbWVudCA9IHN0YXRpY19jYXN0PE1lZGlhQ29udHJvbFRp
bWVEaXNwbGF5RWxlbWVudCo+KG1fcmVuZGVyZXItPm5vZGUoKSk7CisKKyAgICByZXR1cm4gZWxl
bWVudC0+bWVkaWFFbGVtZW50KCktPmlzVmlkZW8oKTsKK30KKworY29uc3QgU3RyaW5nIEFjY2Vz
c2liaWxpdHlNZWRpYUNvbnRyb2xzQ29udGFpbmVyOjplbGVtZW50VHlwZU5hbWUoKSBjb25zdAor
eworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCB2aWRlb0VsZW1lbnQsICgi
VmlkZW9FbGVtZW50IikpOworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCBh
dWRpb0VsZW1lbnQsICgiQXVkaW9FbGVtZW50IikpOworCisgICAgaWYgKGNvbnRyb2xsaW5nVmlk
ZW9FbGVtZW50KCkpCisgICAgICAgIHJldHVybiB2aWRlb0VsZW1lbnQ7CisgICAgcmV0dXJuIGF1
ZGlvRWxlbWVudDsKK30KKworCisvLworLy8gQWNjZXNzaWJpbGl0eU1lZGlhVGltZWxpbmUKKwor
QWNjZXNzaWJpbGl0eU1lZGlhVGltZWxpbmU6OkFjY2Vzc2liaWxpdHlNZWRpYVRpbWVsaW5lKFJl
bmRlck9iamVjdCogcmVuZGVyZXIpCisgICAgOiBBY2Nlc3NpYmlsaXR5U2xpZGVyKHJlbmRlcmVy
KQoreworfQorCitQYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlPYmplY3Q+IEFjY2Vzc2liaWxpdHlN
ZWRpYVRpbWVsaW5lOjpjcmVhdGUoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKK3sKKyAgICByZXR1
cm4gYWRvcHRSZWYobmV3IEFjY2Vzc2liaWxpdHlNZWRpYVRpbWVsaW5lKHJlbmRlcmVyKSk7Cit9
CisKK1N0cmluZyBBY2Nlc3NpYmlsaXR5TWVkaWFUaW1lbGluZTo6dmFsdWVEZXNjcmlwdGlvbigp
IGNvbnN0Cit7CisgICAgZmxvYXQgdGltZSA9IHN0YXRpY19jYXN0PEhUTUxJbnB1dEVsZW1lbnQq
PihtX3JlbmRlcmVyLT5ub2RlKCkpLT52YWx1ZSgpLnRvRmxvYXQoKTsKKyAgICBTdHJpbmcgdmFs
dWUgPSBsb2NhbGl6ZWRNZWRpYVRpbWVEZXNjcmlwdGlvbih0aW1lKTsKKyAgICByZXR1cm4gdmFs
dWU7Cit9CisKK1N0cmluZyBBY2Nlc3NpYmlsaXR5TWVkaWFUaW1lbGluZTo6aGVscFRleHQoKSBj
b25zdAoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCBzbGlkZXIsICgi
U2xpZGVyIikpOworICAgIHJldHVybiBsb2NhbGl6ZWRNZWRpYUNvbnRyb2xFbGVtZW50SGVscFRl
eHQoc2xpZGVyKTsKK30KKworCisvLworLy8gQWNjZXNzaWJpbGl0eU1lZGlhVGltZURpc3BsYXkK
KworQWNjZXNzaWJpbGl0eU1lZGlhVGltZURpc3BsYXk6OkFjY2Vzc2liaWxpdHlNZWRpYVRpbWVE
aXNwbGF5KFJlbmRlck9iamVjdCogcmVuZGVyZXIpCisgICAgOiBBY2Nlc3NpYmlsaXR5TWVkaWFD
b250cm9sKHJlbmRlcmVyKQoreworfQorCitQYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlPYmplY3Q+
IEFjY2Vzc2liaWxpdHlNZWRpYVRpbWVEaXNwbGF5OjpjcmVhdGUoUmVuZGVyT2JqZWN0KiByZW5k
ZXJlcikKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IEFjY2Vzc2liaWxpdHlNZWRpYVRpbWVE
aXNwbGF5KHJlbmRlcmVyKSk7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eU1lZGlhVGltZURpc3Bs
YXk6OmFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdAoreworICAgIGlmICghbV9yZW5kZXJl
ciB8fCAhbV9yZW5kZXJlci0+c3R5bGUoKSB8fCBtX3JlbmRlcmVyLT5zdHlsZSgpLT52aXNpYmls
aXR5KCkgIT0gVklTSUJMRSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICByZXR1cm4gIW1f
cmVuZGVyZXItPnN0eWxlKCktPndpZHRoKCkudmFsdWUoKTsKK30KKworU3RyaW5nIEFjY2Vzc2li
aWxpdHlNZWRpYVRpbWVEaXNwbGF5OjphY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb24oKSBjb25zdAor
eworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCBjdXJyZW50VGltZURpc3Bs
YXksICgiQ3VycmVudFRpbWVEaXNwbGF5IikpOworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29u
c3QgU3RyaW5nLCB0aW1lUmVtYWluaW5nRGlzcGxheSwgKCJUaW1lUmVtYWluaW5nRGlzcGxheSIp
KTsKKworICAgIGlmIChjb250cm9sVHlwZSgpID09IE1lZGlhQ3VycmVudFRpbWVEaXNwbGF5KQor
ICAgICAgICByZXR1cm4gbG9jYWxpemVkTWVkaWFDb250cm9sRWxlbWVudFN0cmluZyhjdXJyZW50
VGltZURpc3BsYXkpOworCisgICAgcmV0dXJuIGxvY2FsaXplZE1lZGlhQ29udHJvbEVsZW1lbnRT
dHJpbmcodGltZVJlbWFpbmluZ0Rpc3BsYXkpOworfQorCitTdHJpbmcgQWNjZXNzaWJpbGl0eU1l
ZGlhVGltZURpc3BsYXk6OnN0cmluZ1ZhbHVlKCkgY29uc3QKK3sKKyAgICBpZiAoIW1fcmVuZGVy
ZXIgfHwgIW1fcmVuZGVyZXItPm5vZGUoKSkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworCisg
ICAgTWVkaWFDb250cm9sVGltZURpc3BsYXlFbGVtZW50KiBlbGVtZW50ID0gc3RhdGljX2Nhc3Q8
TWVkaWFDb250cm9sVGltZURpc3BsYXlFbGVtZW50Kj4obV9yZW5kZXJlci0+bm9kZSgpKTsKKyAg
ICBmbG9hdCB0aW1lID0gZWxlbWVudC0+Y3VycmVudFZhbHVlKCk7CisgICAgcmV0dXJuIGxvY2Fs
aXplZE1lZGlhVGltZURlc2NyaXB0aW9uKGZhYnNmKHRpbWUpKTsKK30KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFZJREVPKQpJbmRleDogV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xzLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xzLmgJKHJldmlzaW9u
IDApCisrKyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHMu
aAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICog
My4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5v
ciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKworI2lmbmRlZiBBY2Nlc3NpYmlsaXR5
TWVkaWFDb250cm9sc19oCisjZGVmaW5lIEFjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xzX2gKKwor
I2lmIEVOQUJMRShWSURFTykKKworI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlTbGlkZXIuaCIKKyNp
bmNsdWRlICJNZWRpYUNvbnRyb2xFbGVtZW50cy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
KyAgICBjbGFzcyBBY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9sIDogcHVibGljIEFjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3QgeworCisgICAgcHVibGljOgorICAgICAgICBzdGF0aWMgUGFzc1JlZlB0
cjxBY2Nlc3NpYmlsaXR5T2JqZWN0PiBjcmVhdGUoUmVuZGVyT2JqZWN0Kik7CisgICAgICAgIHZp
cnR1YWwgfkFjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2woKSB7IH0KKworICAgICAgICB2aXJ0dWFs
IEFjY2Vzc2liaWxpdHlSb2xlIHJvbGVWYWx1ZSgpIGNvbnN0OworICAgICAgICB2aXJ0dWFsIGJv
b2wgYWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0OworCisgICAgICAgIHZpcnR1YWwgU3Ry
aW5nIHRpdGxlKCkgY29uc3Q7CisgICAgICAgIHZpcnR1YWwgU3RyaW5nIGFjY2Vzc2liaWxpdHlE
ZXNjcmlwdGlvbigpIGNvbnN0OworICAgICAgICB2aXJ0dWFsIFN0cmluZyBoZWxwVGV4dCgpIGNv
bnN0OworCisgICAgcHJvdGVjdGVkOgorICAgICAgICBBY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9s
KFJlbmRlck9iamVjdCopOworICAgICAgICBNZWRpYUNvbnRyb2xFbGVtZW50VHlwZSBjb250cm9s
VHlwZSgpIGNvbnN0OworICAgICAgICBTdHJpbmcgY29udHJvbFR5cGVOYW1lKCkgY29uc3Q7Cisg
ICAgfTsKKworCisgICAgY2xhc3MgQWNjZXNzaWJpbGl0eU1lZGlhVGltZWxpbmUgOiBwdWJsaWMg
QWNjZXNzaWJpbGl0eVNsaWRlciB7CisKKyAgICBwdWJsaWM6CisgICAgICAgIHN0YXRpYyBQYXNz
UmVmUHRyPEFjY2Vzc2liaWxpdHlPYmplY3Q+IGNyZWF0ZShSZW5kZXJPYmplY3QqKTsKKyAgICAg
ICAgdmlydHVhbCB+QWNjZXNzaWJpbGl0eU1lZGlhVGltZWxpbmUoKSB7IH0KKworICAgICAgICB2
aXJ0dWFsIGJvb2wgaXNNZWRpYVRpbWVsaW5lKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorCisg
ICAgICAgIHZpcnR1YWwgU3RyaW5nIGhlbHBUZXh0KCkgY29uc3Q7CisgICAgICAgIHZpcnR1YWwg
U3RyaW5nIHZhbHVlRGVzY3JpcHRpb24oKSBjb25zdDsKKyAgICAgICAgY29uc3QgQXRvbWljU3Ry
aW5nJiBnZXRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlKSBjb25zdDsK
KworICAgIHByaXZhdGU6CisgICAgICAgIEFjY2Vzc2liaWxpdHlNZWRpYVRpbWVsaW5lKFJlbmRl
ck9iamVjdCopOworICAgIH07CisKKworICAgIGNsYXNzIEFjY2Vzc2liaWxpdHlNZWRpYUNvbnRy
b2xzQ29udGFpbmVyIDogcHVibGljIEFjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2wgeworCisgICAg
cHVibGljOgorICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxBY2Nlc3NpYmlsaXR5T2JqZWN0PiBj
cmVhdGUoUmVuZGVyT2JqZWN0Kik7CisgICAgICAgIHZpcnR1YWwgfkFjY2Vzc2liaWxpdHlNZWRp
YUNvbnRyb2xzQ29udGFpbmVyKCkgeyB9CisKKyAgICAgICAgdmlydHVhbCBBY2Nlc3NpYmlsaXR5
Um9sZSByb2xlVmFsdWUoKSBjb25zdCB7IHJldHVybiBUb29sYmFyUm9sZTsgfQorICAgICAgICB2
aXJ0dWFsIGJvb2wgYWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNl
OyB9CisKKyAgICAgICAgdmlydHVhbCBTdHJpbmcgaGVscFRleHQoKSBjb25zdDsKKyAgICAgICAg
dmlydHVhbCBTdHJpbmcgYWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uKCkgY29uc3Q7CisKKyAgICBw
cml2YXRlOgorICAgICAgICBBY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9sc0NvbnRhaW5lcihSZW5k
ZXJPYmplY3QqKTsKKyAgICAgICAgYm9vbCBjb250cm9sbGluZ1ZpZGVvRWxlbWVudCgpIGNvbnN0
OworICAgICAgICBjb25zdCBTdHJpbmcgZWxlbWVudFR5cGVOYW1lKCkgY29uc3Q7CisgICAgfTsK
KworCisgICAgY2xhc3MgQWNjZXNzaWJpbGl0eU1lZGlhVGltZURpc3BsYXkgOiBwdWJsaWMgQWNj
ZXNzaWJpbGl0eU1lZGlhQ29udHJvbCB7CisKKyAgICBwdWJsaWM6CisgICAgICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlPYmplY3Q+IGNyZWF0ZShSZW5kZXJPYmplY3QqKTsKKyAg
ICAgICAgdmlydHVhbCB+QWNjZXNzaWJpbGl0eU1lZGlhVGltZURpc3BsYXkoKSB7IH0KKworICAg
ICAgICB2aXJ0dWFsIEFjY2Vzc2liaWxpdHlSb2xlIHJvbGVWYWx1ZSgpIGNvbnN0IHsgcmV0dXJu
IFN0YXRpY1RleHRSb2xlOyB9CisgICAgICAgIHZpcnR1YWwgYm9vbCBhY2Nlc3NpYmlsaXR5SXNJ
Z25vcmVkKCkgY29uc3Q7CisKKyAgICAgICAgdmlydHVhbCBTdHJpbmcgc3RyaW5nVmFsdWUoKSBj
b25zdDsKKyAgICAgICAgdmlydHVhbCBTdHJpbmcgYWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uKCkg
Y29uc3Q7CisKKyAgICBwcml2YXRlOgorICAgICAgICBBY2Nlc3NpYmlsaXR5TWVkaWFUaW1lRGlz
cGxheShSZW5kZXJPYmplY3QqKTsKKyAgICB9OworCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIEVOQUJMRShWSURFTykKKworI2VuZGlmIC8vIEFjY2Vzc2liaWxpdHlNZWRp
YUNvbnRyb2xzX2gKSW5kZXg6IFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2Jq
ZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eU9iamVjdC5jcHAJKHJldmlzaW9uIDQ2OTEwKQorKysgV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSAqIENvcHlyaWdodCAoQykgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkluZGV4OiBXZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgJKHJldmlzaW9uIDQ2OTEwKQorKysgV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAt
MSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwOCBOdWFudGkgTHRkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dApAQCAtMjIwLDYgKzIyMCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJv
b2wgaXNXZWJBcmVhKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH07CiAgICAgdmlydHVhbCBib29s
IGlzQ2hlY2tib3hPclJhZGlvKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH07CiAgICAgdmlydHVh
bCBib29sIGlzTGlzdEJveCgpIGNvbnN0IHsgcmV0dXJuIHJvbGVWYWx1ZSgpID09IExpc3RCb3hS
b2xlOyB9OworICAgIHZpcnR1YWwgYm9vbCBpc01lZGlhVGltZWxpbmUoKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc01lbnVSZWxhdGVkKCkgY29uc3QgeyByZXR1
cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNNZW51KCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNNZW51QmFyKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KSW5kZXg6IFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U2xpZGVyLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTbGlkZXIuaAko
cmV2aXNpb24gNDY5MTApCisrKyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNs
aWRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC02MSw4ICs2MSwxMCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBpbmNyZW1lbnQoKTsKICAgICAgICAgdmlydHVhbCB2
b2lkIGRlY3JlbWVudCgpOwogCi0gICAgcHJpdmF0ZToKKyAgICBwcm90ZWN0ZWQ6CiAgICAgICAg
IEFjY2Vzc2liaWxpdHlTbGlkZXIoUmVuZGVyT2JqZWN0Kik7CisKKyAgICBwcml2YXRlOgogICAg
ICAgICB2b2lkIGNoYW5nZVZhbHVlKGZsb2F0IC8qcGVyY2VudENoYW5nZSovKTsKICAgICAgICAg
SFRNTElucHV0RWxlbWVudCogZWxlbWVudCgpIGNvbnN0OwogICAgIH07CkluZGV4OiBXZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvbWFjL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXIubW0JKHJldmlzaW9uIDQ2OTEwKQorKysgV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BY2Nl
c3NpYmlsaXR5T2JqZWN0V3JhcHBlci5tbQkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNjY5LDYgKzY2OSw3IEBA
IHN0YXRpYyBXZWJDb3JlVGV4dE1hcmtlclJhbmdlKiB0ZXh0TWFya2UKICAgICAgICAgW3RlbXBB
cnJheSBhZGRPYmplY3Q6TlNBY2Nlc3NpYmlsaXR5TWluVmFsdWVBdHRyaWJ1dGVdOwogICAgICAg
ICBbdGVtcEFycmF5IGFkZE9iamVjdDpOU0FjY2Vzc2liaWxpdHlNYXhWYWx1ZUF0dHJpYnV0ZV07
CiAgICAgICAgIFt0ZW1wQXJyYXkgYWRkT2JqZWN0Ok5TQWNjZXNzaWJpbGl0eU9yaWVudGF0aW9u
QXR0cmlidXRlXTsKKyAgICAgICAgW3RlbXBBcnJheSBhZGRPYmplY3Q6TlNBY2Nlc3NpYmlsaXR5
VmFsdWVEZXNjcmlwdGlvbkF0dHJpYnV0ZV07CiAgICAgICAgIHJhbmdlQXR0cnMgPSBbW05TQXJy
YXkgYWxsb2NdIGluaXRXaXRoQXJyYXk6dGVtcEFycmF5XTsKICAgICAgICAgW3RlbXBBcnJheSBy
ZWxlYXNlXTsKICAgICB9CkBAIC05NzAsOSArOTcxLDcgQEAgc3RhdGljIGNvbnN0IEFjY2Vzc2li
aWxpdHlSb2xlTWFwJiBjcmVhdAogICAgICAgICB7IERlZmluaXRpb25MaXN0RGVmaW5pdGlvblJv
bGUsIE5TQWNjZXNzaWJpbGl0eUdyb3VwUm9sZSB9LAogICAgICAgICB7IERlZmluaXRpb25MaXN0
VGVybVJvbGUsIE5TQWNjZXNzaWJpbGl0eUdyb3VwUm9sZSB9LAogICAgICAgICAKLSAgICAgICAg
eyBTbGlkZXJUaHVtYlJvbGUsIE5TQWNjZXNzaWJpbGl0eVZhbHVlSW5kaWNhdG9yUm9sZSB9LAot
ICAgICAgICAKLQorICAgICAgICB7IFNsaWRlclRodW1iUm9sZSwgTlNBY2Nlc3NpYmlsaXR5VmFs
dWVJbmRpY2F0b3JSb2xlIH0KICAgICB9OwogICAgIEFjY2Vzc2liaWxpdHlSb2xlTWFwJiByb2xl
TWFwID0gKm5ldyBBY2Nlc3NpYmlsaXR5Um9sZU1hcDsKICAgICAKQEAgLTEwMTksNiArMTAxOCw5
IEBAIHN0YXRpYyBOU1N0cmluZyogcm9sZVZhbHVlVG9OU1N0cmluZyhBY2MKICAgICAgICAgICAg
IHJldHVybiBOU0FjY2Vzc2liaWxpdHlEZWZpbml0aW9uTGlzdFN1YnJvbGU7CiAgICAgfQogICAg
IAorICAgIGlmIChtX29iamVjdC0+aXNNZWRpYVRpbWVsaW5lKCkpCisgICAgICAgIHJldHVybiBO
U0FjY2Vzc2liaWxpdHlUaW1lbGluZVN1YnJvbGU7CisKICAgICByZXR1cm4gbmlsOwogfQogCkBA
IC0xMTEwLDcgKzExMTIsNyBAQCBzdGF0aWMgTlNTdHJpbmcqIHJvbGVWYWx1ZVRvTlNTdHJpbmco
QWNjCiAgICAgCiAgICAgaWYgKFtheFJvbGUgaXNFcXVhbFRvU3RyaW5nOk5TQWNjZXNzaWJpbGl0
eVRvb2xiYXJSb2xlXSkKICAgICAgICAgcmV0dXJuIE5TQWNjZXNzaWJpbGl0eVJvbGVEZXNjcmlw
dGlvbihOU0FjY2Vzc2liaWxpdHlUb29sYmFyUm9sZSwgW3NlbGYgc3Vicm9sZV0pOwotCisgICAg
CiAgICAgcmV0dXJuIE5TQWNjZXNzaWJpbGl0eVJvbGVEZXNjcmlwdGlvbihOU0FjY2Vzc2liaWxp
dHlVbmtub3duUm9sZSwgbmlsKTsKIH0KIApAQCAtMTI0NCw3ICsxMjQ2LDcgQEAgc3RhdGljIE5T
U3RyaW5nKiByb2xlVmFsdWVUb05TU3RyaW5nKEFjYwogICAgICAgICB9CiAgICAgICAgIHJldHVy
biBtX29iamVjdC0+YWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uKCk7CiAgICAgfQotICAgIAorCiAg
ICAgaWYgKFthdHRyaWJ1dGVOYW1lIGlzRXF1YWxUb1N0cmluZzogTlNBY2Nlc3NpYmlsaXR5VmFs
dWVBdHRyaWJ1dGVdKSB7CiAgICAgICAgIGlmIChtX29iamVjdC0+aXNBdHRhY2htZW50KCkpIHsK
ICAgICAgICAgICAgIGlmIChbW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0
cmlidXRlTmFtZXNdIGNvbnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0eVZhbHVlQXR0cmlidXRl
XSkgCkluZGV4OiBXZWJDb3JlL2RvbS9Ob2RlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20v
Tm9kZS5oCShyZXZpc2lvbiA0NjkxMCkKKysrIFdlYkNvcmUvZG9tL05vZGUuaAkod29ya2luZyBj
b3B5KQpAQCAtMTgyLDYgKzE4Miw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBpc1dNTEVs
ZW1lbnQoKSB7IHJldHVybiBmYWxzZTsgfQogI2VuZGlmCiAKKyAgICB2aXJ0dWFsIGJvb2wgaXNN
ZWRpYUNvbnRyb2xFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFs
IGJvb2wgaXNTdHlsZWRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0
dWFsIGJvb2wgaXNGcmFtZU93bmVyRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAg
ICAgdmlydHVhbCBib29sIGlzQXR0cmlidXRlTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CkluZGV4OiBXZWJDb3JlL3BhZ2UvbWFjL1dlYkNvcmVWaWV3RmFjdG9yeS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcGFnZS9tYWMvV2ViQ29yZVZpZXdGYWN0b3J5LmgJKHJldmlzaW9uIDQ2OTEw
KQorKysgV2ViQ29yZS9wYWdlL21hYy9XZWJDb3JlVmlld0ZhY3RvcnkuaAkod29ya2luZyBjb3B5
KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDMsIDIwMDUgQXBwbGUg
Q29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDMsIDIwMDUsIDIwMDkgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTE0Myw2ICsxNDMsMTAgQEAKIAog
LSAoTlNTdHJpbmcgKiltZWRpYUVsZW1lbnRMb2FkaW5nU3RhdGVUZXh0OwogLSAoTlNTdHJpbmcg
KiltZWRpYUVsZW1lbnRMaXZlQnJvYWRjYXN0U3RhdGVUZXh0OworLSAoTlNTdHJpbmcqKWxvY2Fs
aXplZE1lZGlhQ29udHJvbEVsZW1lbnRTdHJpbmc6KE5TU3RyaW5nKiluYW1lOworLSAoTlNTdHJp
bmcqKWxvY2FsaXplZE1lZGlhQ29udHJvbEVsZW1lbnRIZWxwVGV4dDooTlNTdHJpbmcqKW5hbWU7
CistIChOU1N0cmluZyopbG9jYWxpemVkTWVkaWFUaW1lRGVzY3JpcHRpb246KGZsb2F0KXRpbWU7
CisKIAogQGVuZAogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaAkocmV2aXNp
b24gNDY5MTApCisrKyBXZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDMsIDIwMDYg
QXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMDMsIDIwMDYsIDIwMDkgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTEzNSw2ICsxMzUsOSBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBTdHJpbmcgbWVkaWFFbGVtZW50TG9hZGluZ1N0
YXRlVGV4dCgpOwogICAgIFN0cmluZyBtZWRpYUVsZW1lbnRMaXZlQnJvYWRjYXN0U3RhdGVUZXh0
KCk7CisgICAgU3RyaW5nIGxvY2FsaXplZE1lZGlhQ29udHJvbEVsZW1lbnRTdHJpbmcoY29uc3Qg
U3RyaW5nJik7CisgICAgU3RyaW5nIGxvY2FsaXplZE1lZGlhQ29udHJvbEVsZW1lbnRIZWxwVGV4
dChjb25zdCBTdHJpbmcmKTsKKyAgICBTdHJpbmcgbG9jYWxpemVkTWVkaWFUaW1lRGVzY3JpcHRp
b24oZmxvYXQpOwogfQogCiAjZW5kaWYKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2Fs
aXplZFN0cmluZ3NNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTG9j
YWxpemVkU3RyaW5nc01hYy5tbQkocmV2aXNpb24gNDY5MTApCisrKyBXZWJDb3JlL3BsYXRmb3Jt
L21hYy9Mb2NhbGl6ZWRTdHJpbmdzTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwMywgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLiAg
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwMywgMjAwNiwgMjAwOSBB
cHBsZSBDb21wdXRlciwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwpAQCAtNzEzLDQgKzcxMywyOSBAQCBTdHJpbmcgbWVkaWFFbGVtZW50
TGl2ZUJyb2FkY2FzdFN0YXRlVGV4CiAgICAgcmV0dXJuIFN0cmluZygpOwogfQogCitTdHJpbmcg
bG9jYWxpemVkTWVkaWFDb250cm9sRWxlbWVudFN0cmluZyhjb25zdCBTdHJpbmcmIGNvbnRyb2xO
YW1lKQoreworICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKKyAgICByZXR1cm4gW1tX
ZWJDb3JlVmlld0ZhY3Rvcnkgc2hhcmVkRmFjdG9yeV0gbG9jYWxpemVkTWVkaWFDb250cm9sRWxl
bWVudFN0cmluZzpjb250cm9sTmFtZV07CisgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsK
KyAgICByZXR1cm4gU3RyaW5nKCk7Cit9CisKK1N0cmluZyBsb2NhbGl6ZWRNZWRpYUNvbnRyb2xF
bGVtZW50SGVscFRleHQoY29uc3QgU3RyaW5nJiBjb250cm9sTmFtZSkKK3sKKyAgICBCRUdJTl9C
TE9DS19PQkpDX0VYQ0VQVElPTlM7CisgICAgcmV0dXJuIFtbV2ViQ29yZVZpZXdGYWN0b3J5IHNo
YXJlZEZhY3RvcnldIGxvY2FsaXplZE1lZGlhQ29udHJvbEVsZW1lbnRIZWxwVGV4dDpjb250cm9s
TmFtZV07CisgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKKyAgICByZXR1cm4gU3RyaW5n
KCk7Cit9CisKK1N0cmluZyBsb2NhbGl6ZWRNZWRpYVRpbWVEZXNjcmlwdGlvbihmbG9hdCB0aW1l
KQoreworICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKKyAgICByZXR1cm4gW1tXZWJD
b3JlVmlld0ZhY3Rvcnkgc2hhcmVkRmFjdG9yeV0gbG9jYWxpemVkTWVkaWFUaW1lRGVzY3JpcHRp
b246dGltZV07CisgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKKyAgICByZXR1cm4gU3Ry
aW5nKCk7Cit9CisKKwogfQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvTWVkaWFDb250cm9sRWxl
bWVudHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL01lZGlhQ29udHJvbEVs
ZW1lbnRzLmNwcAkocmV2aXNpb24gNDY5MTApCisrKyBXZWJDb3JlL3JlbmRlcmluZy9NZWRpYUNv
bnRyb2xFbGVtZW50cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyLDExICszMiwxMSBAQAogCiAj
aW5jbHVkZSAiTWVkaWFDb250cm9sRWxlbWVudHMuaCIKIAotI2luY2x1ZGUgIkxvY2FsaXplZFN0
cmluZ3MuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRmxvYXRDb252ZXJz
aW9uLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKKyNpbmNs
dWRlICJMb2NhbGl6ZWRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiTW91c2VFdmVudC5oIgogI2luY2x1
ZGUgIlJlbmRlck1lZGlhLmgiCiAjaW5jbHVkZSAiUmVuZGVyU2xpZGVyLmgiCkBAIC03OCwxMiAr
NzgsMzIgQEAgdm9pZCBNZWRpYUNvbnRyb2xTaGFkb3dSb290RWxlbWVudDo6dXBkYQogLy8gLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgIAogCi1NZWRpYUNvbnRyb2xFbGVtZW50OjpN
ZWRpYUNvbnRyb2xFbGVtZW50KERvY3VtZW50KiBkb2MsIFBzZXVkb0lkIHBzZXVkbywgSFRNTE1l
ZGlhRWxlbWVudCogbWVkaWFFbGVtZW50KSAKK01lZGlhQ29udHJvbEVsZW1lbnQ6Ok1lZGlhQ29u
dHJvbEVsZW1lbnQoRG9jdW1lbnQqIGRvYywgUHNldWRvSWQgcHNldWRvLCBIVE1MTWVkaWFFbGVt
ZW50KiBtZWRpYUVsZW1lbnQpCiAgICAgOiBIVE1MRGl2RWxlbWVudChkaXZUYWcsIGRvYykKICAg
ICAsIG1fbWVkaWFFbGVtZW50KG1lZGlhRWxlbWVudCkKICAgICAsIG1fcHNldWRvU3R5bGVJZChw
c2V1ZG8pCiB7CiAgICAgc2V0SW5Eb2N1bWVudCh0cnVlKTsKKyAgICBzd2l0Y2ggKHBzZXVkbykg
eworICAgIGNhc2UgTUVESUFfQ09OVFJPTFNfQ1VSUkVOVF9USU1FX0RJU1BMQVk6CisgICAgICAg
IG1fZGlzcGxheVR5cGUgPSBNZWRpYUN1cnJlbnRUaW1lRGlzcGxheTsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBNRURJQV9DT05UUk9MU19USU1FX1JFTUFJTklOR19ESVNQTEFZOgorICAgICAg
ICBtX2Rpc3BsYXlUeXBlID0gTWVkaWFUaW1lUmVtYWluaW5nRGlzcGxheTsKKyAgICAgICAgYnJl
YWs7CisgICAgY2FzZSBNRURJQV9DT05UUk9MU19USU1FTElORV9DT05UQUlORVI6CisgICAgICAg
IG1fZGlzcGxheVR5cGUgPSBNZWRpYVRpbWVsaW5lQ29udGFpbmVyOworICAgICAgICBicmVhazsK
KyAgICBjYXNlIE1FRElBX0NPTlRST0xTX1NUQVRVU19ESVNQTEFZOgorICAgICAgICBtX2Rpc3Bs
YXlUeXBlID0gTWVkaWFTdGF0dXNEaXNwbGF5OworICAgICAgICBicmVhazsKKyAgICBjYXNlIE1F
RElBX0NPTlRST0xTX1BBTkVMOgorICAgICAgICBtX2Rpc3BsYXlUeXBlID0gTWVkaWFDb250cm9s
c1BhbmVsOworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQogfQogCiB2b2lkIE1lZGlhQ29udHJv
bEVsZW1lbnQ6OmF0dGFjaFRvUGFyZW50KEVsZW1lbnQqIHBhcmVudCkKQEAgLTE2Niw3ICsxODYs
NyBAQCB2b2lkIE1lZGlhQ29udHJvbEVsZW1lbnQ6OnVwZGF0ZVN0eWxlKCkKIC8vIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogTWVkaWFDb250cm9sVGltZWxpbmVDb250YWluZXJFbGVt
ZW50OjpNZWRpYUNvbnRyb2xUaW1lbGluZUNvbnRhaW5lckVsZW1lbnQoRG9jdW1lbnQqIGRvYywg
SFRNTE1lZGlhRWxlbWVudCogZWxlbWVudCkKLTogTWVkaWFDb250cm9sRWxlbWVudChkb2MsIE1F
RElBX0NPTlRST0xTX1RJTUVMSU5FX0NPTlRBSU5FUiwgZWxlbWVudCkKKyAgICA6IE1lZGlhQ29u
dHJvbEVsZW1lbnQoZG9jLCBNRURJQV9DT05UUk9MU19USU1FTElORV9DT05UQUlORVIsIGVsZW1l
bnQpCiB7CiB9CiAKQEAgLTE4OSw4ICsyMDksOCBAQCBib29sIE1lZGlhQ29udHJvbFRpbWVsaW5l
Q29udGFpbmVyRWxlbWVuCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIE1lZGlh
Q29udHJvbFN0YXR1c0Rpc3BsYXlFbGVtZW50OjpNZWRpYUNvbnRyb2xTdGF0dXNEaXNwbGF5RWxl
bWVudChEb2N1bWVudCogZG9jLCBIVE1MTWVkaWFFbGVtZW50KiBlbGVtZW50KQotOiBNZWRpYUNv
bnRyb2xFbGVtZW50KGRvYywgTUVESUFfQ09OVFJPTFNfU1RBVFVTX0RJU1BMQVksIGVsZW1lbnQp
Ci0sIG1fc3RhdGVCZWluZ0Rpc3BsYXllZChOb3RoaW5nKQorICAgIDogTWVkaWFDb250cm9sRWxl
bWVudChkb2MsIE1FRElBX0NPTlRST0xTX1NUQVRVU19ESVNQTEFZLCBlbGVtZW50KQorICAgICwg
bV9zdGF0ZUJlaW5nRGlzcGxheWVkKE5vdGhpbmcpCiB7CiB9CiAKQEAgLTIzNSwxNCArMjU1LDQz
IEBAIGJvb2wgTWVkaWFDb250cm9sU3RhdHVzRGlzcGxheUVsZW1lbnQ6OnIKIAogLy8gLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgIAotTWVkaWFDb250cm9sSW5wdXRFbGVtZW50OjpN
ZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQoRG9jdW1lbnQqIGRvYywgUHNldWRvSWQgcHNldWRvLCBj
b25zdCBTdHJpbmcmIHR5cGUsIEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCwgTWVkaWFD
b250cm9sRWxlbWVudFR5cGUgZGlzcGxheVR5cGUpIAorTWVkaWFDb250cm9sSW5wdXRFbGVtZW50
OjpNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQoRG9jdW1lbnQqIGRvYywgUHNldWRvSWQgcHNldWRv
LCBjb25zdCBTdHJpbmcmIHR5cGUsIEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCkKICAg
ICA6IEhUTUxJbnB1dEVsZW1lbnQoaW5wdXRUYWcsIGRvYykKICAgICAsIG1fbWVkaWFFbGVtZW50
KG1lZGlhRWxlbWVudCkKICAgICAsIG1fcHNldWRvU3R5bGVJZChwc2V1ZG8pCi0gICAgLCBtX2Rp
c3BsYXlUeXBlKGRpc3BsYXlUeXBlKQogewogICAgIHNldElucHV0VHlwZSh0eXBlKTsKICAgICBz
ZXRJbkRvY3VtZW50KHRydWUpOworCisgICAgc3dpdGNoIChwc2V1ZG8pIHsKKyAgICBjYXNlIE1F
RElBX0NPTlRST0xTX01VVEVfQlVUVE9OOgorICAgICAgICBtX2Rpc3BsYXlUeXBlID0gTWVkaWFN
dXRlQnV0dG9uOworICAgICAgICBicmVhazsKKyAgICBjYXNlIE1FRElBX0NPTlRST0xTX1BMQVlf
QlVUVE9OOgorICAgICAgICBtX2Rpc3BsYXlUeXBlID0gTWVkaWFQbGF5QnV0dG9uOworICAgICAg
ICBicmVhazsKKyAgICBjYXNlIE1FRElBX0NPTlRST0xTX1NFRUtfRk9SV0FSRF9CVVRUT046Cisg
ICAgICAgIG1fZGlzcGxheVR5cGUgPSBNZWRpYVNlZWtGb3J3YXJkQnV0dG9uOworICAgICAgICBi
cmVhazsKKyAgICBjYXNlIE1FRElBX0NPTlRST0xTX1NFRUtfQkFDS19CVVRUT046CisgICAgICAg
IG1fZGlzcGxheVR5cGUgPSBNZWRpYVNlZWtCYWNrQnV0dG9uOworICAgICAgICBicmVhazsKKyAg
ICBjYXNlIE1FRElBX0NPTlRST0xTX0ZVTExTQ1JFRU5fQlVUVE9OOgorICAgICAgICBtX2Rpc3Bs
YXlUeXBlID0gTWVkaWFGdWxsc2NyZWVuQnV0dG9uOworICAgICAgICBicmVhazsKKyAgICBjYXNl
IE1FRElBX0NPTlRST0xTX1RJTUVMSU5FOgorICAgICAgICBtX2Rpc3BsYXlUeXBlID0gTWVkaWFT
bGlkZXI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgTUVESUFfQ09OVFJPTFNfUkVUVVJOX1RP
X1JFQUxUSU1FX0JVVFRPTjoKKyAgICAgICAgbV9kaXNwbGF5VHlwZSA9IE1lZGlhUmV0dXJuVG9S
ZWFsdGltZUJ1dHRvbjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBNRURJQV9DT05UUk9MU19S
RVdJTkRfQlVUVE9OOgorICAgICAgICBtX2Rpc3BsYXlUeXBlID0gTWVkaWFSZXdpbmRCdXR0b247
CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOworICAgICAgICBicmVhazsKKyAgICB9CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sSW5wdXRF
bGVtZW50OjphdHRhY2hUb1BhcmVudChFbGVtZW50KiBwYXJlbnQpCkBAIC0zMjQsMTQgKzM3Mywx
NCBAQCB2b2lkIE1lZGlhQ29udHJvbElucHV0RWxlbWVudDo6c2V0RGlzcGxhCiAgICAgICAgIHJl
dHVybjsKIAogICAgIG1fZGlzcGxheVR5cGUgPSBkaXNwbGF5VHlwZTsKLSAgICBpZiAoUmVuZGVy
T2JqZWN0KiBvID0gcmVuZGVyZXIoKSkKLSAgICAgICAgby0+cmVwYWludCgpOworICAgIGlmIChS
ZW5kZXJPYmplY3QqIG9iamVjdCA9IHJlbmRlcmVyKCkpCisgICAgICAgIG9iamVjdC0+cmVwYWlu
dCgpOwogfQogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIE1lZGlhQ29udHJv
bE11dGVCdXR0b25FbGVtZW50OjpNZWRpYUNvbnRyb2xNdXRlQnV0dG9uRWxlbWVudChEb2N1bWVu
dCogZG9jLCBIVE1MTWVkaWFFbGVtZW50KiBlbGVtZW50KQotICAgIDogTWVkaWFDb250cm9sSW5w
dXRFbGVtZW50KGRvYywgTUVESUFfQ09OVFJPTFNfTVVURV9CVVRUT04sICJidXR0b24iLCBlbGVt
ZW50LCBlbGVtZW50LT5tdXRlZCgpID8gTWVkaWFVbk11dGVCdXR0b24gOiBNZWRpYU11dGVCdXR0
b24pCisgICAgOiBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQoZG9jLCBNRURJQV9DT05UUk9MU19N
VVRFX0JVVFRPTiwgImJ1dHRvbiIsIGVsZW1lbnQpCiB7CiB9CiAKQEAgLTM1Miw3ICs0MDEsNyBA
QCB2b2lkIE1lZGlhQ29udHJvbE11dGVCdXR0b25FbGVtZW50Ojp1cGRhCiAvLyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCiAKIE1lZGlhQ29udHJvbFBsYXlCdXR0b25FbGVtZW50OjpNZWRp
YUNvbnRyb2xQbGF5QnV0dG9uRWxlbWVudChEb2N1bWVudCogZG9jLCBIVE1MTWVkaWFFbGVtZW50
KiBlbGVtZW50KQotICAgIDogTWVkaWFDb250cm9sSW5wdXRFbGVtZW50KGRvYywgTUVESUFfQ09O
VFJPTFNfUExBWV9CVVRUT04sICJidXR0b24iLCBlbGVtZW50LCBlbGVtZW50LT5jYW5QbGF5KCkg
PyBNZWRpYVBsYXlCdXR0b24gOiBNZWRpYVBhdXNlQnV0dG9uKQorICAgIDogTWVkaWFDb250cm9s
SW5wdXRFbGVtZW50KGRvYywgTUVESUFfQ09OVFJPTFNfUExBWV9CVVRUT04sICJidXR0b24iLCBl
bGVtZW50KQogewogfQogCkBAIC0zNzQsNyArNDIzLDcgQEAgdm9pZCBNZWRpYUNvbnRyb2xQbGF5
QnV0dG9uRWxlbWVudDo6dXBkYQogCiBNZWRpYUNvbnRyb2xTZWVrQnV0dG9uRWxlbWVudDo6TWVk
aWFDb250cm9sU2Vla0J1dHRvbkVsZW1lbnQoRG9jdW1lbnQqIGRvYywgSFRNTE1lZGlhRWxlbWVu
dCogZWxlbWVudCwgYm9vbCBmb3J3YXJkKQogICAgIDogTWVkaWFDb250cm9sSW5wdXRFbGVtZW50
KGRvYywgZm9yd2FyZCA/IE1FRElBX0NPTlRST0xTX1NFRUtfRk9SV0FSRF9CVVRUT04gOiBNRURJ
QV9DT05UUk9MU19TRUVLX0JBQ0tfQlVUVE9OLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJidXR0b24iLCBlbGVtZW50LCBmb3J3YXJkID8gTWVkaWFTZWVrRm9yd2FyZEJ1dHRvbiA6
IE1lZGlhU2Vla0JhY2tCdXR0b24pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJ1
dHRvbiIsIGVsZW1lbnQpCiAgICAgLCBtX2ZvcndhcmQoZm9yd2FyZCkKICAgICAsIG1fc2Vla2lu
ZyhmYWxzZSkKICAgICAsIG1fY2FwdHVyaW5nKGZhbHNlKQpAQCAtNDMzLDcgKzQ4Miw3IEBAIHZv
aWQgTWVkaWFDb250cm9sU2Vla0J1dHRvbkVsZW1lbnQ6OmRldGEKIC8vIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KIAogTWVkaWFDb250cm9sUmV3aW5kQnV0dG9uRWxlbWVudDo6TWVkaWFD
b250cm9sUmV3aW5kQnV0dG9uRWxlbWVudChEb2N1bWVudCogZG9jLCBIVE1MTWVkaWFFbGVtZW50
KiBlbGVtZW50KQotOiBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQoZG9jLCBNRURJQV9DT05UUk9M
U19SRVdJTkRfQlVUVE9OLCAiYnV0dG9uIiwgZWxlbWVudCwgTWVkaWFSZXdpbmRCdXR0b24pCisg
ICAgOiBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQoZG9jLCBNRURJQV9DT05UUk9MU19SRVdJTkRf
QlVUVE9OLCAiYnV0dG9uIiwgZWxlbWVudCkKIHsKIH0KIApAQCAtNDU1LDcgKzUwNCw3IEBAIGJv
b2wgTWVkaWFDb250cm9sUmV3aW5kQnV0dG9uRWxlbWVudDo6cmUKIC8vIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KIAogTWVkaWFDb250cm9sUmV0dXJuVG9SZWFsdGltZUJ1dHRvbkVsZW1l
bnQ6Ok1lZGlhQ29udHJvbFJldHVyblRvUmVhbHRpbWVCdXR0b25FbGVtZW50KERvY3VtZW50KiBk
b2MsIEhUTUxNZWRpYUVsZW1lbnQqIGVsZW1lbnQpCi06IE1lZGlhQ29udHJvbElucHV0RWxlbWVu
dChkb2MsIE1FRElBX0NPTlRST0xTX1JFVFVSTl9UT19SRUFMVElNRV9CVVRUT04sICJidXR0b24i
LCBlbGVtZW50LCBNZWRpYVJldHVyblRvUmVhbHRpbWVCdXR0b24pCis6IE1lZGlhQ29udHJvbElu
cHV0RWxlbWVudChkb2MsIE1FRElBX0NPTlRST0xTX1JFVFVSTl9UT19SRUFMVElNRV9CVVRUT04s
ICJidXR0b24iLCBlbGVtZW50KQogewogfQogCkBAIC00NzYsOCArNTI1LDggQEAgYm9vbCBNZWRp
YUNvbnRyb2xSZXR1cm5Ub1JlYWx0aW1lQnV0dG9uRQogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQogCiBNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQ6Ok1lZGlhQ29udHJvbFRpbWVs
aW5lRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEhUTUxNZWRpYUVsZW1lbnQqIGVsZW1lbnQp
Ci0gICAgOiBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQoZG9jdW1lbnQsIE1FRElBX0NPTlRST0xT
X1RJTUVMSU5FLCAicmFuZ2UiLCBlbGVtZW50LCBNZWRpYVRpbWVsaW5lQ29udGFpbmVyKQoteyAK
KyAgICA6IE1lZGlhQ29udHJvbElucHV0RWxlbWVudChkb2N1bWVudCwgTUVESUFfQ09OVFJPTFNf
VElNRUxJTkUsICJyYW5nZSIsIGVsZW1lbnQpCit7CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sVGlt
ZWxpbmVFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkKQEAgLTUxMywx
MSArNTYyLDEwIEBAIHZvaWQgTWVkaWFDb250cm9sVGltZWxpbmVFbGVtZW50Ojp1cGRhdGUKICAg
ICBzZXRWYWx1ZShTdHJpbmc6Om51bWJlcihtX21lZGlhRWxlbWVudC0+Y3VycmVudFRpbWUoKSkp
OwogICAgIE1lZGlhQ29udHJvbElucHV0RWxlbWVudDo6dXBkYXRlKCk7CiB9Ci0KIC8vIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogTWVkaWFDb250cm9sRnVsbHNjcmVlbkJ1dHRvbkVs
ZW1lbnQ6Ok1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50KERvY3VtZW50KiBkb2Ms
IEhUTUxNZWRpYUVsZW1lbnQqIGVsZW1lbnQpCi0gICAgOiBNZWRpYUNvbnRyb2xJbnB1dEVsZW1l
bnQoZG9jLCBNRURJQV9DT05UUk9MU19GVUxMU0NSRUVOX0JVVFRPTiwgImJ1dHRvbiIsIGVsZW1l
bnQsIE1lZGlhRnVsbHNjcmVlbkJ1dHRvbikKKyAgICA6IE1lZGlhQ29udHJvbElucHV0RWxlbWVu
dChkb2MsIE1FRElBX0NPTlRST0xTX0ZVTExTQ1JFRU5fQlVUVE9OLCAiYnV0dG9uIiwgZWxlbWVu
dCkKIHsKIH0KIApAQCAtNTM5LDYgKzU4Nyw3IEBAIGJvb2wgTWVkaWFDb250cm9sRnVsbHNjcmVl
bkJ1dHRvbkVsZW1lbnQKIAogTWVkaWFDb250cm9sVGltZURpc3BsYXlFbGVtZW50OjpNZWRpYUNv
bnRyb2xUaW1lRGlzcGxheUVsZW1lbnQoRG9jdW1lbnQqIGRvYywgUHNldWRvSWQgcHNldWRvLCBI
VE1MTWVkaWFFbGVtZW50KiBlbGVtZW50KQogICAgIDogTWVkaWFDb250cm9sRWxlbWVudChkb2Ms
IHBzZXVkbywgZWxlbWVudCkKKyAgICAsIG1fY3VycmVudFZhbHVlKDApCiAgICAgLCBtX2lzVmlz
aWJsZSh0cnVlKQogewogfQpAQCAtNTY4LDYgKzYxNywzMiBAQCB2b2lkIE1lZGlhQ29udHJvbFRp
bWVEaXNwbGF5RWxlbWVudDo6c2V0CiAgICAgcmVuZGVyZXIoKS0+c2V0U3R5bGUoc3R5bGUuZ2V0
KCkpOwogfQogCitTdHJpbmcgTWVkaWFDb250cm9sVGltZURpc3BsYXlFbGVtZW50Ojpmb3JtYXRU
aW1lKGZsb2F0IHRpbWUpCit7CisgICAgaWYgKCFpc2Zpbml0ZSh0aW1lKSkKKyAgICAgICAgdGlt
ZSA9IDA7CisgICAgaW50IHNlY29uZHMgPSAoaW50KWZhYnNmKHRpbWUpOworICAgIGludCBob3Vy
cyA9IHNlY29uZHMgLyAoNjAgKiA2MCk7CisgICAgaW50IG1pbnV0ZXMgPSAoc2Vjb25kcyAvIDYw
KSAlIDYwOworICAgIHNlY29uZHMgJT0gNjA7CisgICAgaWYgKGhvdXJzKSB7CisgICAgICAgIGlm
IChob3VycyA+IDkpCisgICAgICAgICAgICByZXR1cm4gU3RyaW5nOjpmb3JtYXQoIiVzJTAyZDol
MDJkOiUwMmQiLCAodGltZSA8IDAgPyAiLSIgOiAiIiksIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRz
KTsKKworICAgICAgICByZXR1cm4gU3RyaW5nOjpmb3JtYXQoIiVzJTAxZDolMDJkOiUwMmQiLCAo
dGltZSA8IDAgPyAiLSIgOiAiIiksIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzKTsKKyAgICB9CisK
KyAgICByZXR1cm4gU3RyaW5nOjpmb3JtYXQoIiVzJTAyZDolMDJkIiwgKHRpbWUgPCAwID8gIi0i
IDogIiIpLCBtaW51dGVzLCBzZWNvbmRzKTsKK30KKwordm9pZCBNZWRpYUNvbnRyb2xUaW1lRGlz
cGxheUVsZW1lbnQ6OnNldEN1cnJlbnRWYWx1ZShmbG9hdCB0aW1lKQoreworICAgIG1fY3VycmVu
dFZhbHVlID0gdGltZTsKKworICAgIEV4Y2VwdGlvbkNvZGUgZWM7CisgICAgc2V0SW5uZXJUZXh0
KGZvcm1hdFRpbWUobV9jdXJyZW50VmFsdWUpLCBlYyk7Cit9CisKIAogfSAvL25hbWVzcGFjZSBX
ZWJDb3JlCiAjZW5kaWYgLy8gZW5hYmxlKHZpZGVvKQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcv
TWVkaWFDb250cm9sRWxlbWVudHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9N
ZWRpYUNvbnRyb2xFbGVtZW50cy5oCShyZXZpc2lvbiA0NjkxMCkKKysrIFdlYkNvcmUvcmVuZGVy
aW5nL01lZGlhQ29udHJvbEVsZW1lbnRzLmgJKHdvcmtpbmcgY29weSkKQEAgLTg5LDkgKzg5LDE1
IEBAIHB1YmxpYzoKICAgICB2b2lkIHVwZGF0ZSgpOwogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVT
dHlsZSgpOwogCisgICAgTWVkaWFDb250cm9sRWxlbWVudFR5cGUgZGlzcGxheVR5cGUoKSBjb25z
dCB7IHJldHVybiBtX2Rpc3BsYXlUeXBlOyB9CisKKyAgICBIVE1MTWVkaWFFbGVtZW50KiBtZWRp
YUVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBtX21lZGlhRWxlbWVudDsgfQorICAgIHZpcnR1YWwg
Ym9vbCBpc01lZGlhQ29udHJvbEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisKIHBy
b3RlY3RlZDoKICAgICBIVE1MTWVkaWFFbGVtZW50KiBtX21lZGlhRWxlbWVudDsgICAKICAgICBQ
c2V1ZG9JZCBtX3BzZXVkb1N0eWxlSWQ7CisgICAgTWVkaWFDb250cm9sRWxlbWVudFR5cGUgbV9k
aXNwbGF5VHlwZTsgIC8vIHNvbWUgZWxlbWVudHMgY2FuIHNob3cgbXVsdGlwbGUgdHlwZXMgKGUu
Zy4gcGxheS9wYXVzZSkKIH07CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAg
LTExOCw3ICsxMjQsNyBAQCBwcml2YXRlOgogCiBjbGFzcyBNZWRpYUNvbnRyb2xJbnB1dEVsZW1l
bnQgOiBwdWJsaWMgSFRNTElucHV0RWxlbWVudCB7CiBwdWJsaWM6Ci0gICAgTWVkaWFDb250cm9s
SW5wdXRFbGVtZW50KERvY3VtZW50KiwgUHNldWRvSWQsIGNvbnN0IFN0cmluZyYgdHlwZSwgSFRN
TE1lZGlhRWxlbWVudCosIE1lZGlhQ29udHJvbEVsZW1lbnRUeXBlKTsKKyAgICBNZWRpYUNvbnRy
b2xJbnB1dEVsZW1lbnQoRG9jdW1lbnQqLCBQc2V1ZG9JZCwgY29uc3QgU3RyaW5nJiB0eXBlLCBI
VE1MTWVkaWFFbGVtZW50Kik7CiAgICAgdmlydHVhbCB2b2lkIGF0dGFjaCgpOwogICAgIHZpcnR1
YWwgYm9vbCByZW5kZXJlcklzTmVlZGVkKFJlbmRlclN0eWxlKik7CiAKQEAgLTEzMCwxMyArMTM2
LDE2IEBAIHB1YmxpYzoKICAgICBib29sIGhpdFRlc3QoY29uc3QgSW50UG9pbnQmIGFic1BvaW50
KTsKICAgICBNZWRpYUNvbnRyb2xFbGVtZW50VHlwZSBkaXNwbGF5VHlwZSgpIGNvbnN0IHsgcmV0
dXJuIG1fZGlzcGxheVR5cGU7IH0KIAorICAgIEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVu
dCgpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFFbGVtZW50OyB9CisgICAgdmlydHVhbCBib29sIGlz
TWVkaWFDb250cm9sRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKwogcHJvdGVjdGVk
OgogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVEaXNwbGF5VHlwZSgpIHsgfQogICAgIHZvaWQgc2V0
RGlzcGxheVR5cGUoTWVkaWFDb250cm9sRWxlbWVudFR5cGUpOwogCiAgICAgSFRNTE1lZGlhRWxl
bWVudCogbV9tZWRpYUVsZW1lbnQ7ICAgCiAgICAgUHNldWRvSWQgbV9wc2V1ZG9TdHlsZUlkOwot
ICAgIE1lZGlhQ29udHJvbEVsZW1lbnRUeXBlIG1fZGlzcGxheVR5cGU7ICAvLyBzb21lIGVsZW1l
bnRzIGNhbiBzaG93IG11bHRpcGxlIHR5cGVzIChlLmcuIHBsYXkvcGF1c2UpCisgICAgTWVkaWFD
b250cm9sRWxlbWVudFR5cGUgbV9kaXNwbGF5VHlwZTsKIH07CiAKIC8vIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KQEAgLTIxNyw3ICsyMjYsMTMgQEAgcHVibGljOgogICAgIHZvaWQgc2V0
VmlzaWJsZShib29sKTsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IHN0eWxl
Rm9yRWxlbWVudCgpOwogCisgICAgdm9pZCBzZXRDdXJyZW50VmFsdWUoZmxvYXQpOworICAgIGZs
b2F0IGN1cnJlbnRWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY3VycmVudFZhbHVlOyB9CisKIHBy
aXZhdGU6CisgICAgU3RyaW5nIGZvcm1hdFRpbWUoZmxvYXQgdGltZSk7CisKKyAgICBmbG9hdCBt
X2N1cnJlbnRWYWx1ZTsKICAgICBib29sIG1faXNWaXNpYmxlOwogfTsKIApJbmRleDogV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck1lZGlhLmNwcAkocmV2aXNpb24gNDY5MTApCisrKyBXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJNZWRpYS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5OCwxOSArMjk4LDE5IEBAIHZv
aWQgUmVuZGVyTWVkaWE6OnVwZGF0ZUNvbnRyb2xzKCkKICAgICAgICAgY3JlYXRlUGFuZWwoKTsK
ICAgICAgICAgaWYgKG1fcGFuZWwpIHsKICAgICAgICAgICAgIGNyZWF0ZVJld2luZEJ1dHRvbigp
OwotICAgICAgICAgICAgY3JlYXRlTXV0ZUJ1dHRvbigpOwogICAgICAgICAgICAgY3JlYXRlUGxh
eUJ1dHRvbigpOwogICAgICAgICAgICAgY3JlYXRlUmV0dXJuVG9SZWFsdGltZUJ1dHRvbigpOwog
ICAgICAgICAgICAgY3JlYXRlU3RhdHVzRGlzcGxheSgpOwogICAgICAgICAgICAgY3JlYXRlVGlt
ZWxpbmVDb250YWluZXIoKTsKLSAgICAgICAgICAgIGNyZWF0ZVNlZWtCYWNrQnV0dG9uKCk7Ci0g
ICAgICAgICAgICBjcmVhdGVTZWVrRm9yd2FyZEJ1dHRvbigpOwogICAgICAgICAgICAgY3JlYXRl
RnVsbHNjcmVlbkJ1dHRvbigpOwogICAgICAgICAgICAgaWYgKG1fdGltZWxpbmVDb250YWluZXIp
IHsKICAgICAgICAgICAgICAgICBjcmVhdGVDdXJyZW50VGltZURpc3BsYXkoKTsKICAgICAgICAg
ICAgICAgICBjcmVhdGVUaW1lbGluZSgpOwogICAgICAgICAgICAgICAgIGNyZWF0ZVRpbWVSZW1h
aW5pbmdEaXNwbGF5KCk7CiAgICAgICAgICAgICB9CisgICAgICAgICAgICBjcmVhdGVTZWVrQmFj
a0J1dHRvbigpOworICAgICAgICAgICAgY3JlYXRlU2Vla0ZvcndhcmRCdXR0b24oKTsKKyAgICAg
ICAgICAgIGNyZWF0ZU11dGVCdXR0b24oKTsKICAgICAgICAgICAgIG1fcGFuZWwtPmF0dGFjaCgp
OwogICAgICAgICB9CiAgICAgfQpAQCAtMzY2LDI0ICszNjYsNiBAQCB2b2lkIFJlbmRlck1lZGlh
Ojp0aW1lVXBkYXRlVGltZXJGaXJlZChUCiAgICAgdXBkYXRlVGltZURpc3BsYXkoKTsKIH0KICAg
ICAKLVN0cmluZyBSZW5kZXJNZWRpYTo6Zm9ybWF0VGltZShmbG9hdCB0aW1lKQotewotICAgIGlm
ICghaXNmaW5pdGUodGltZSkpCi0gICAgICAgIHRpbWUgPSAwOwotICAgIGludCBzZWNvbmRzID0g
KGludClmYWJzZih0aW1lKTsgCi0gICAgaW50IGhvdXJzID0gc2Vjb25kcyAvICg2MCAqIDYwKTsK
LSAgICBpbnQgbWludXRlcyA9IChzZWNvbmRzIC8gNjApICUgNjA7Ci0gICAgc2Vjb25kcyAlPSA2
MDsKLSAgICBpZiAoaG91cnMpIHsKLSAgICAgICAgaWYgKGhvdXJzID4gOSkKLSAgICAgICAgICAg
IHJldHVybiBTdHJpbmc6OmZvcm1hdCgiJXMlMDJkOiUwMmQ6JTAyZCIsICh0aW1lIDwgMCA/ICIt
IiA6ICIiKSwgaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMpOwotICAgICAgICBlbHNlCi0gICAgICAg
ICAgICByZXR1cm4gU3RyaW5nOjpmb3JtYXQoIiVzJTAxZDolMDJkOiUwMmQiLCAodGltZSA8IDAg
PyAiLSIgOiAiIiksIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzKTsKLSAgICB9Ci0gICAgZWxzZQot
ICAgICAgICByZXR1cm4gU3RyaW5nOjpmb3JtYXQoIiVzJTAyZDolMDJkIiwgKHRpbWUgPCAwID8g
Ii0iIDogIiIpLCBtaW51dGVzLCBzZWNvbmRzKTsKLX0KLQogdm9pZCBSZW5kZXJNZWRpYTo6dXBk
YXRlVGltZURpc3BsYXkoKQogewogICAgIGlmICghbV9jdXJyZW50VGltZURpc3BsYXkgfHwgIW1f
Y3VycmVudFRpbWVEaXNwbGF5LT5yZW5kZXJlcigpIHx8IG1fY3VycmVudFRpbWVEaXNwbGF5LT5y
ZW5kZXJlcigpLT5zdHlsZSgpLT5kaXNwbGF5KCkgPT0gTk9ORSB8fCBzdHlsZSgpLT52aXNpYmls
aXR5KCkgIT0gVklTSUJMRSkKQEAgLTM5MSwxMiArMzczLDggQEAgdm9pZCBSZW5kZXJNZWRpYTo6
dXBkYXRlVGltZURpc3BsYXkoKQogICAgIGZsb2F0IG5vdyA9IG1lZGlhRWxlbWVudCgpLT5jdXJy
ZW50VGltZSgpOwogICAgIGZsb2F0IGR1cmF0aW9uID0gbWVkaWFFbGVtZW50KCktPmR1cmF0aW9u
KCk7CiAKLSAgICBTdHJpbmcgdGltZVN0cmluZyA9IGZvcm1hdFRpbWUobm93KTsKLSAgICBFeGNl
cHRpb25Db2RlIGVjOwotICAgIG1fY3VycmVudFRpbWVEaXNwbGF5LT5zZXRJbm5lclRleHQodGlt
ZVN0cmluZywgZWMpOwotICAgIAotICAgIHRpbWVTdHJpbmcgPSBmb3JtYXRUaW1lKG5vdyAtIGR1
cmF0aW9uKTsKLSAgICBtX3RpbWVSZW1haW5pbmdEaXNwbGF5LT5zZXRJbm5lclRleHQodGltZVN0
cmluZywgZWMpOworICAgIG1fY3VycmVudFRpbWVEaXNwbGF5LT5zZXRDdXJyZW50VmFsdWUobm93
KTsKKyAgICBtX3RpbWVSZW1haW5pbmdEaXNwbGF5LT5zZXRDdXJyZW50VmFsdWUobm93IC0gZHVy
YXRpb24pOwogfQogCiB2b2lkIFJlbmRlck1lZGlhOjp1cGRhdGVDb250cm9sVmlzaWJpbGl0eSgp
IApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWEuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZWRpYS5oCShyZXZpc2lvbiA0NjkxMCkKKysrIFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhLmgJKHdvcmtpbmcgY29weSkKQEAgLTYwLDggKzYwLDYg
QEAgcHVibGljOgogICAgIEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCgpIGNvbnN0Owog
ICAgIE1lZGlhUGxheWVyKiBwbGF5ZXIoKSBjb25zdDsKIAotICAgIHN0YXRpYyBTdHJpbmcgZm9y
bWF0VGltZShmbG9hdCB0aW1lKTsKLQogICAgIGJvb2wgc2hvdWxkU2hvd1RpbWVEaXNwbGF5Q29u
dHJvbHMoKSBjb25zdDsKIAogICAgIHZvaWQgdXBkYXRlRnJvbUVsZW1lbnQoKTsKSW5kZXg6IFdl
YktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24g
NDY5MTYpCisrKyBXZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMDktMDgtMDcgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgPHZpZGVvPiBh
bmQgPGF1ZGlvPiBjb250cm9sbGVyIHNob3VsZCBiZSBhY2Nlc3NpYmxlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODA4MQorCisgICAgICAgIEFkZCBs
b2NhbGl6ZWQgc3RyaW5ncyBmb3IgbWVkaWEgY29udHJvbGxlciBhY2Nlc3NpYmxpbGl0eS4KKwor
ICAgICAgICAqIEVuZ2xpc2gubHByb2ovTG9jYWxpemFibGUuc3RyaW5nczoKKwogMjAwOS0wOC0w
NiAgTWFyayBSb3dlICA8bXJvd2VAYXBwbGUuY29tPgogCiAgICAgICAgIFJ1YmJlci1zdGFtcGVk
IGJ5IFNhbSBXZWluaWcuCkluZGV4OiBXZWJLaXQvRW5nbGlzaC5scHJvai9Mb2NhbGl6YWJsZS5z
dHJpbmdzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9FbmdsaXNoLmxwcm9qL0xvY2FsaXphYmxlLnN0
cmluZ3MJKHJldmlzaW9uIDQ2OTEwKQorKysgV2ViS2l0L0VuZ2xpc2gubHByb2ovTG9jYWxpemFi
bGUuc3RyaW5ncwkod29ya2luZyBjb3B5KQpAQCAtMjI2LDYgKzIyNiw5IEBACiAALwAqACAAVQBu
AGQAbwAgAGEAYwB0AGkAbwBuACAAbgBhAG0AZQAgACoALwAKIAAiAFAAYQBzAHQAZQAgAFIAdQBs
AGUAcgAgACgAVQBuAGQAbwAgAGEAYwB0AGkAbwBuACAAbgBhAG0AZQApACIAIAA9ACAAIgBQAGEA
cwB0AGUAIABSAHUAbABlAHIAIgA7AAogAAorAC8AKgAgAGEAYwBjAGUAcwBzAGkAYgBpAGwAaQB0
AHkAIABoAGUAbABwACAAdABlAHgAdAAgAGYAbwByACAAZQBuAHQAZQByACAAZgB1AGwAbABzAGMA
cgBlAGUAbgAgAGIAdQB0AHQAbwBuACAAKgAvAAorACIAUABsAGEAeQAgAG0AbwB2AGkAZQAgAGkA
bgAgAGYAdQBsAGwAcwBjAHIAZQBlAG4AIABtAG8AZABlACIAIAA9ACAAIgBQAGwAYQB5ACAAbQBv
AHYAaQBlACAAaQBuACAAZgB1AGwAbABzAGMAcgBlAGUAbgAgAG0AbwBkAGUAIgA7AAorAAogAC8A
KgAgAFcAZQBiAEsAaQB0AEUAcgByAG8AcgBQAGwAdQBnAEkAbgBDAGEAbgBjAGUAbABsAGUAZABD
AG8AbgBuAGUAYwB0AGkAbwBuACAAZABlAHMAYwByAGkAcAB0AGkAbwBuACAAKgAvAAogACIAUABs
AHUAZwAtAGkAbgAgAGMAYQBuAGMAZQBsAGwAZQBkACIAIAA9ACAAIgBQAGwAdQBnAC0AaQBuACAA
YwBhAG4AYwBlAGwAbABlAGQAIgA7AAogAApAQCAtNDQyLDEyICs0NDUsMjQgQEAKIAAvACoAIABW
AGUAcgBiACAAcwB0AGEAdABpAG4AZwAgAHQAaABlACAAYQBjAHQAaQBvAG4AIAB0AGgAYQB0ACAA
dwBpAGwAbAAgAG8AYwBjAHUAcgAgAHcAaABlAG4AIABhACAAdABlAHgAdAAgAGYAaQBlAGwAZAAg
AGkAcwAgAHMAZQBsAGUAYwB0AGUAZAAsACAAYQBzACAAdQBzAGUAZAAgAGIAeQAgAGEAYwBjAGUA
cwBzAGkAYgBpAGwAaQB0AHkAIAAqAC8ACiAAIgBhAGMAdABpAHYAYQB0AGUAIgAgAD0AIAAiAGEA
YwB0AGkAdgBhAHQAZQAiADsACiAACisALwAqACAAYQBjAGMAZQBzAHMAaQBiAGkAbABpAHQAeQAg
AHIAbwBsAGUAIABkAGUAcwBjAHIAaQBwAHQAaQBvAG4AIABmAG8AcgAgAGEAdQBkAGkAbwAgAGUA
bABlAG0AZQBuAHQAIABjAG8AbgB0AHIAbwBsAGwAZQByACAAKgAvAAorACIAYQB1AGQAaQBvACAA
ZQBsAGUAbQBlAG4AdAAgAGMAbwBuAHQAcgBvAGwAbABlAHIAIgAgAD0AIAAiAGEAdQBkAGkAbwAg
AGUAbABlAG0AZQBuAHQAIABjAG8AbgB0AHIAbwBsAGwAZQByACIAOwAKKwAKKwAvACoAIABhAGMA
YwBlAHMAcwBpAGIAaQBsAGkAdAB5ACAAcgBvAGwAZQAgAGQAZQBzAGMAcgBpAHAAdABpAG8AbgAg
AGYAbwByACAAYQB1AGQAaQBvACAAZQBsAGUAbQBlAG4AdAAgAGMAbwBuAHQAcgBvAGwAbABlAHIA
IAAqAC8ACisAIgBhAHUAZABpAG8AIABlAGwAZQBtAGUAbgB0ACAAcABsAGEAeQBiAGEAYwBrACAA
YwBvAG4AdAByAG8AbABzACAAYQBuAGQAIABzAHQAYQB0AHUAcwAgAGQAaQBzAHAAbABhAHkAIgAg
AD0AIAAiAGEAdQBkAGkAbwAgAGUAbABlAG0AZQBuAHQAIABwAGwAYQB5AGIAYQBjAGsAIABjAG8A
bgB0AHIAbwBsAHMAIABhAG4AZAAgAHMAdABhAHQAdQBzACAAZABpAHMAcABsAGEAeQAiADsACisA
CisALwAqACAAYQBjAGMAZQBzAHMAaQBiAGkAbABpAHQAeQAgAHIAbwBsAGUAIABkAGUAcwBjAHIA
aQBwAHQAaQBvAG4AIABmAG8AcgAgAHMAZQBlAGsAIABiAGEAYwBrACAAMwAwACAAcwBlAGMAbwBu
AGQAcwAgAGIAdQB0AHQAbwBuACAAKgAvAAorACIAYgBhAGMAawAgADMAMAAgAHMAZQBjAG8AbgBk
AHMAIgAgAD0AIAAiAGIAYQBjAGsAIAAzADAAIABzAGUAYwBvAG4AZABzACIAOwAKKwAKIAAvACoA
IABIAFQAVABQACAAcgBlAHMAdQBsAHQAIABjAG8AZABlACAAcwB0AHIAaQBuAGcAIAAqAC8ACiAA
IgBiAGEAZAAgAGcAYQB0AGUAdwBhAHkAIgAgAD0AIAAiAGIAYQBkACAAZwBhAHQAZQB3AGEAeQAi
ADsACiAACiAALwAqACAASABUAFQAUAAgAHIAZQBzAHUAbAB0ACAAYwBvAGQAZQAgAHMAdAByAGkA
bgBnACAAKgAvAAogACIAYgBhAGQAIAByAGUAcQB1AGUAcwB0ACIAIAA9ACAAIgBiAGEAZAAgAHIA
ZQBxAHUAZQBzAHQAIgA7AAogAAorAC8AKgAgAGEAYwBjAGUAcwBzAGkAYgBpAGwAaQB0AHkAIABo
AGUAbABwACAAdABlAHgAdAAgAGYAbwByACAAcABsAGEAeQAgAGIAdQB0AHQAbwBuACAAKgAvAAor
ACIAYgBlAGcAaQBuACAAcABsAGEAeQBiAGEAYwBrACIAIAA9ACAAIgBiAGUAZwBpAG4AIABwAGwA
YQB5AGIAYQBjAGsAIgA7AAorAAogAC8AKgAgAFYAZQByAGIAIABzAHQAYQB0AGkAbgBnACAAdABo
AGUAIABhAGMAdABpAG8AbgAgAHQAaABhAHQAIAB3AGkAbABsACAAbwBjAGMAdQByACAAdwBoAGUA
bgAgAGEAbgAgAHUAbgBjAGgAZQBjAGsAZQBkACAAYwBoAGUAYwBrAGIAbwB4ACAAaQBzACAAYwBs
AGkAYwBrAGUAZAAsACAAYQBzACAAdQBzAGUAZAAgAGIAeQAgAGEAYwBjAGUAcwBzAGkAYgBpAGwA
aQB0AHkAIAAqAC8ACiAAIgBjAGgAZQBjAGsAIgAgAD0AIAAiAGMAaABlAGMAawAiADsACiAACkBA
IC00NjMsMTggKzQ3OCw0OCBAQAogAC8AKgAgAEgAVABUAFAAIAByAGUAcwB1AGwAdAAgAGMAbwBk
AGUAIABzAHQAcgBpAG4AZwAgACoALwAKIAAiAGMAcgBlAGEAdABlAGQAIgAgAD0AIAAiAGMAcgBl
AGEAdABlAGQAIgA7AAogAAorAC8AKgAgAGEAYwBjAGUAcwBzAGkAYgBpAGwAaQB0AHkAIABoAGUA
bABwACAAdABlAHgAdAAgAGYAbwByACAAbQBvAHYAaQBlACAAcwB0AGEAdAB1AHMAIABkAGkAcwBw
AGwAYQB5ACAAKgAvAAorACIAYwB1AHIAcgBlAG4AdAAgAG0AbwB2AGkAZQAgAHMAdABhAHQAdQBz
ACIAIAA9ACAAIgBjAHUAcgByAGUAbgB0ACAAbQBvAHYAaQBlACAAcwB0AGEAdAB1AHMAIgA7AAor
AAorAC8AKgAgAGEAYwBjAGUAcwBzAGkAYgBpAGwAaQB0AHkAIABoAGUAbABwACAAdABlAHgAdAAg
AGYAbwByACAAZQBsAGEAcABzAGUAZAAgAHQAaQBtAGUAIABkAGkAcwBwAGwAYQB5ACAAKgAvAAor
ACIAYwB1AHIAcgBlAG4AdAAgAG0AbwB2AGkAZQAgAHQAaQBtAGUAIABpAG4AIABzAGUAYwBvAG4A
ZABzACIAIAA9ACAAIgBjAHUAcgByAGUAbgB0ACAAbQBvAHYAaQBlACAAdABpAG0AZQAgAGkAbgAg
AHMAZQBjAG8AbgBkAHMAIgA7AAorAAorAC8AKgAgAHMAdAByAGkAbgBnACAAZgBvAHIAIABkAGEA
eQBzACwAIABoAG8AdQByAHMALAAgAG0AaQBuAHUAdABlAHMAIAAmACAAcwBlAGMAbwBuAGQAcwAg
ACoALwAKKwAiAGQAYQB0AGUALgBmAG8AcgBtAGEAdAAuAGYAbwByAC4AZABhAHkAcwAiACAAPQAg
ACIAZABhAHQAZQAuAGYAbwByAG0AYQB0AC4AZgBvAHIALgBkAGEAeQBzACIAOwAKKwAKKwAvACoA
IABzAHQAcgBpAG4AZwAgAGYAbwByACAAaABvAHUAcgBzACwAIABtAGkAbgB1AHQAZQBzACAAJgAg
AHMAZQBjAG8AbgBkAHMAIAAqAC8ACisAIgBkAGEAdABlAC4AZgBvAHIAbQBhAHQALgBmAG8AcgAu
AGgAbwB1AHIAcwAiACAAPQAgACIAZABhAHQAZQAuAGYAbwByAG0AYQB0AC4AZgBvAHIALgBoAG8A
dQByAHMAIgA7AAorAAorAC8AKgAgAHMAdAByAGkAbgBnACAAZgBvAHIAIABtAGkAbgB1AHQAZQBz
ACAAJgAgAHMAZQBjAG8AbgBkAHMAIAAqAC8ACisAIgBkAGEAdABlAC4AZgBvAHIAbQBhAHQALgBm
AG8AcgAuAG0AaQBuAHUAdABlAHMAIgAgAD0AIAAiAGQAYQB0AGUALgBmAG8AcgBtAGEAdAAuAGYA
bwByAC4AbQBpAG4AdQB0AGUAcwAiADsACisACisALwAqACAAcwB0AHIAaQBuAGcAIABmAG8AcgAg
AHMAZQBjAG8AbgBkAHMAIAAqAC8ACisAIgBkAGEAdABlAC4AZgBvAHIAbQBhAHQALgBmAG8AcgAu
AHMAZQBjAG8AbgBkAHMAIgAgAD0AIAAiAGQAYQB0AGUALgBmAG8AcgBtAGEAdAAuAGYAbwByAC4A
cwBlAGMAbwBuAGQAcwAiADsACisACiAALwAqACAAZABlAGYAaQBuAGkAdABpAG8AbgAgAHAAaABy
AGEAcwBlACAAKgAvAAogACIAZABlAGYAaQBuAGkAdABpAG8AbgAiACAAPQAgACIAZABlAGYAaQBu
AGkAdABpAG8AbgAiADsACiAACisALwAqACAAYQBjAGMAZQBzAHMAaQBiAGkAbABpAHQAeQAgAHIA
bwBsAGUAIABkAGUAcwBjAHIAaQBwAHQAaQBvAG4AIABmAG8AcgAgAGUAbABhAHAAcwBlAGQAIAB0
AGkAbQBlACAAZABpAHMAcABsAGEAeQAgACoALwAKKwAiAGUAbABhAHAAcwBlAGQAIAB0AGkAbQBl
ACIAIAA9ACAAIgBlAGwAYQBwAHMAZQBkACAAdABpAG0AZQAiADsACisACiAALwAqACAASABUAFQA
UAAgAHIAZQBzAHUAbAB0ACAAYwBvAGQAZQAgAHMAdAByAGkAbgBnACAAKgAvAAogACIAZQB4AHAA
ZQBjAHQAYQB0AGkAbwBuACAAZgBhAGkAbABlAGQAIgAgAD0AIAAiAGUAeABwAGUAYwB0AGEAdABp
AG8AbgAgAGYAYQBpAGwAZQBkACIAOwAKIAAKKwAvACoAIABhAGMAYwBlAHMAcwBpAGIAaQBsAGkA
dAB5ACAAcgBvAGwAZQAgAGQAZQBzAGMAcgBpAHAAdABpAG8AbgAgAGYAbwByACAAZgBhAHMAdAAg
AGYAbwByAHcAYQByAGQAIABiAHUAdAB0AG8AbgAgACoALwAKKwAiAGYAYQBzAHQAIABmAG8AcgB3
AGEAcgBkACIAIAA9ACAAIgBmAGEAcwB0ACAAZgBvAHIAdwBhAHIAZAAiADsACisACisALwAqACAA
YQBjAGMAZQBzAHMAaQBiAGkAbABpAHQAeQAgAHIAbwBsAGUAIABkAGUAcwBjAHIAaQBwAHQAaQBv
AG4AIABmAG8AcgAgAGYAYQBzAHQAIAByAGUAdgBlAHIAcwBlACAAYgB1AHQAdABvAG4AIAAqAC8A
CisAIgBmAGEAcwB0ACAAcgBlAHYAZQByAHMAZQAiACAAPQAgACIAZgBhAHMAdAAgAHIAZQB2AGUA
cgBzAGUAIgA7AAorAAogAC8AKgAgAEgAVABUAFAAIAByAGUAcwB1AGwAdAAgAGMAbwBkAGUAIABz
AHQAcgBpAG4AZwAgACoALwAKIAAiAGYAbwByAGIAaQBkAGQAZQBuACIAIAA9ACAAIgBmAG8AcgBi
AGkAZABkAGUAbgAiADsACiAACiAALwAqACAASABUAFQAUAAgAHIAZQBzAHUAbAB0ACAAYwBvAGQA
ZQAgAHMAdAByAGkAbgBnACAAKgAvAAogACIAZgBvAHUAbgBkACIAIAA9ACAAIgBmAG8AdQBuAGQA
IgA7AAogAAorAC8AKgAgAGEAYwBjAGUAcwBzAGkAYgBpAGwAaQB0AHkAIAByAG8AbABlACAAZABl
AHMAYwByAGkAcAB0AGkAbwBuACAAZgBvAHIAIABlAG4AdABlAHIAIABmAHUAbABsAHMAYwByAGUA
ZQBuACAAYgB1AHQAdABvAG4AIAAqAC8ACisAIgBmAHUAbABsAHMAYwByAGUAZQBuACIAIAA9ACAA
IgBmAHUAbABsAHMAYwByAGUAZQBuACIAOwAKKwAKIAAvACoAIABIAFQAVABQACAAcgBlAHMAdQBs
AHQAIABjAG8AZABlACAAcwB0AHIAaQBuAGcAIAAqAC8ACiAAIgBnAGEAdABlAHcAYQB5ACAAdABp
AG0AZQBkACAAbwB1AHQAIgAgAD0AIAAiAGcAYQB0AGUAdwBhAHkAIAB0AGkAbQBlAGQAIABvAHUA
dAAiADsACiAACkBAIC00ODQsNiArNTI5LDkgQEAKIAAvACoAIABhAGMAYwBlAHMAcwBpAGIAaQBs
AGkAdAB5ACAAcgBvAGwAZQAgAGQAZQBzAGMAcgBpAHAAdABpAG8AbgAgAGYAbwByACAAaQBtAGEA
ZwBlACAAbQBhAHAAIAAqAC8ACiAAIgBpAG0AYQBnAGUAIABtAGEAcAAiACAAPQAgACIAaQBtAGEA
ZwBlACAAbQBhAHAAIgA7AAogAAorAC8AKgAgAHMAdAByAGkAbgBnACAAZgBvAHIAIABhAG4AIABp
AG4AZABlAGYAaQBuAGkAdABlACAAbQBvAHYAaQBlACAAdABpAG0AZQAgACoALwAKKwAiAGkAbgBk
AGUAZgBpAG4AaQB0AGUAIAB0AGkAbQBlACIAIAA9ACAAIgBpAG4AZABlAGYAaQBuAGkAdABlACAA
dABpAG0AZQAiADsACisACiAALwAqACAASABUAFQAUAAgAHIAZQBzAHUAbAB0ACAAYwBvAGQAZQAg
AHMAdAByAGkAbgBnACAAKgAvAAogACIAaQBuAGYAbwByAG0AYQB0AGkAbwBuAGEAbAAiACAAPQAg
ACIAaQBuAGYAbwByAG0AYQB0AGkAbwBuAGEAbAAiADsACiAACkBAIC01MDgsOSArNTU2LDI0IEBA
CiAALwAqACAASABUAFQAUAAgAHIAZQBzAHUAbAB0ACAAYwBvAGQAZQAgAHMAdAByAGkAbgBnACAA
KgAvAAogACIAbQBvAHYAZQBkACAAcABlAHIAbQBhAG4AZQBuAHQAbAB5ACIAIAA9ACAAIgBtAG8A
dgBlAGQAIABwAGUAcgBtAGEAbgBlAG4AdABsAHkAIgA7AAogAAorAC8AKgAgAGEAYwBjAGUAcwBz
AGkAYgBpAGwAaQB0AHkAIAByAG8AbABlACAAZABlAHMAYwByAGkAcAB0AGkAbwBuACAAZgBvAHIA
IAB0AGkAbQBlAGwAaQBuAGUAIABzAGwAaQBkAGUAcgAgACoALwAKKwAiAG0AbwB2AGkAZQAgAHQA
aQBtAGUAIgAgAD0AIAAiAG0AbwB2AGkAZQAgAHQAaQBtAGUAIgA7AAorAAorAC8AKgAgAGEAYwBj
AGUAcwBzAGkAYgBpAGwAaQB0AHkAIABoAGUAbABwACAAdABlAHgAdAAgAGYAbwByACAAdABpAG0A
ZQBsAGkAbgBlACAAcwBsAGkAZABlAHIAIAAqAC8ACisAIgBtAG8AdgBpAGUAIAB0AGkAbQBlACAA
cwBjAHIAdQBiAGIAZQByACIAIAA9ACAAIgBtAG8AdgBpAGUAIAB0AGkAbQBlACAAcwBjAHIAdQBi
AGIAZQByACIAOwAKKwAKKwAvACoAIABhAGMAYwBlAHMAcwBpAGIAaQBsAGkAdAB5ACAAaABlAGwA
cAAgAHQAZQB4AHQAIABmAG8AcgAgAHQAaQBtAGUAbABpAG4AZQAgAHMAbABpAGQAZQByACAAdABo
AHUAbQBiACAAKgAvAAorACIAbQBvAHYAaQBlACAAdABpAG0AZQAgAHMAYwByAHUAYgBiAGUAcgAg
AHQAaAB1AG0AYgAiACAAPQAgACIAbQBvAHYAaQBlACAAdABpAG0AZQAgAHMAYwByAHUAYgBiAGUA
cgAgAHQAaAB1AG0AYgAiADsACisACiAALwAqACAASABUAFQAUAAgAHIAZQBzAHUAbAB0ACAAYwBv
AGQAZQAgAHMAdAByAGkAbgBnACAAKgAvAAogACIAbQB1AGwAdABpAHAAbABlACAAYwBoAG8AaQBj
AGUAcwAiACAAPQAgACIAbQB1AGwAdABpAHAAbABlACAAYwBoAG8AaQBjAGUAcwAiADsACiAACisA
LwAqACAAYQBjAGMAZQBzAHMAaQBiAGkAbABpAHQAeQAgAHIAbwBsAGUAIABkAGUAcwBjAHIAaQBw
AHQAaQBvAG4AIABmAG8AcgAgAG0AdQB0AGUAIABiAHUAdAB0AG8AbgAgACoALwAKKwAiAG0AdQB0
AGUAIgAgAD0AIAAiAG0AdQB0AGUAIgA7AAorAAorAC8AKgAgAGEAYwBjAGUAcwBzAGkAYgBpAGwA
aQB0AHkAIABoAGUAbABwACAAdABlAHgAdAAgAGYAbwByACAAbQB1AHQAZQAgAGIAdQB0AHQAbwBu
ACAAKgAvAAorACIAbQB1AHQAZQAgAGEAdQBkAGkAbwAgAHQAcgBhAGMAawBzACIAIAA9ACAAIgBt
AHUAdABlACAAYQB1AGQAaQBvACAAdAByAGEAYwBrAHMAIgA7AAorAAogAC8AKgAgAEgAVABUAFAA
IAByAGUAcwB1AGwAdAAgAGMAbwBkAGUAIABzAHQAcgBpAG4AZwAgACoALwAKIAAiAG4AZQBlAGQA
cwAgAHAAcgBvAHgAeQAiACAAPQAgACIAbgBlAGUAZABzACAAcAByAG8AeAB5ACIAOwAKIAAKQEAg
LTUzNSwxMiArNTk4LDI0IEBACiAALwAqACAASABUAFQAUAAgAHIAZQBzAHUAbAB0ACAAYwBvAGQA
ZQAgAHMAdAByAGkAbgBnACAAKgAvAAogACIAbgBvAHQAIABtAG8AZABpAGYAaQBlAGQAIgAgAD0A
IAAiAG4AbwB0ACAAbQBvAGQAaQBmAGkAZQBkACIAOwAKIAAKKwAvACoAIABhAGMAYwBlAHMAcwBp
AGIAaQBsAGkAdAB5ACAAaABlAGwAcAAgAHQAZQB4AHQAIABmAG8AcgAgAHIAZQBtAGEAaQBuAGkA
bgBnACAAdABpAG0AZQAgAGQAaQBzAHAAbABhAHkAIAAqAC8ACisAIgBuAHUAbQBiAGUAcgAgAG8A
ZgAgAHMAZQBjAG8AbgBkAHMAIABvAGYAIABtAG8AdgBpAGUAIAByAGUAbQBhAGkAbgBpAG4AZwAi
ACAAPQAgACIAbgB1AG0AYgBlAHIAIABvAGYAIABzAGUAYwBvAG4AZABzACAAbwBmACAAbQBvAHYA
aQBlACAAcgBlAG0AYQBpAG4AaQBuAGcAIgA7AAorAAogAC8AKgAgAEgAVABUAFAAIAByAGUAcwB1
AGwAdAAgAGMAbwBkAGUAIABzAHQAcgBpAG4AZwAgACoALwAKIAAiAHAAYQByAHQAaQBhAGwAIABj
AG8AbgB0AGUAbgB0ACIAIAA9ACAAIgBwAGEAcgB0AGkAYQBsACAAYwBvAG4AdABlAG4AdAAiADsA
CiAACisALwAqACAAYQBjAGMAZQBzAHMAaQBiAGkAbABpAHQAeQAgAHIAbwBsAGUAIABkAGUAcwBj
AHIAaQBwAHQAaQBvAG4AIABmAG8AcgAgAHAAYQB1AHMAZQAgAGIAdQB0AHQAbwBuACAAKgAvAAor
ACIAcABhAHUAcwBlACIAIAA9ACAAIgBwAGEAdQBzAGUAIgA7AAorAAorAC8AKgAgAGEAYwBjAGUA
cwBzAGkAYgBpAGwAaQB0AHkAIABoAGUAbABwACAAdABlAHgAdAAgAGYAbwByACAAcABhAHUAcwBl
ACAAYgB1AHQAdABvAG4AIAAqAC8ACisAIgBwAGEAdQBzAGUAIABwAGwAYQB5AGIAYQBjAGsAIgAg
AD0AIAAiAHAAYQB1AHMAZQAgAHAAbABhAHkAYgBhAGMAawAiADsACisACiAALwAqACAASABUAFQA
UAAgAHIAZQBzAHUAbAB0ACAAYwBvAGQAZQAgAHMAdAByAGkAbgBnACAAKgAvAAogACIAcABhAHkA
bQBlAG4AdAAgAHIAZQBxAHUAaQByAGUAZAAiACAAPQAgACIAcABhAHkAbQBlAG4AdAAgAHIAZQBx
AHUAaQByAGUAZAAiADsACiAACisALwAqACAAYQBjAGMAZQBzAHMAaQBiAGkAbABpAHQAeQAgAHIA
bwBsAGUAIABkAGUAcwBjAHIAaQBwAHQAaQBvAG4AIABmAG8AcgAgAHAAbABhAHkAIABiAHUAdAB0
AG8AbgAgACoALwAKKwAiAHAAbABhAHkAIgAgAD0AIAAiAHAAbABhAHkAIgA7AAorAAogAC8AKgAg
AEgAVABUAFAAIAByAGUAcwB1AGwAdAAgAGMAbwBkAGUAIABzAHQAcgBpAG4AZwAgACoALwAKIAAi
AHAAcgBlAGMAbwBuAGQAaQB0AGkAbwBuACAAZgBhAGkAbABlAGQAIgAgAD0AIAAiAHAAcgBlAGMA
bwBuAGQAaQB0AGkAbwBuACAAZgBhAGkAbABlAGQAIgA7AAogAApAQCAtNTUzLDYgKzYyOCw5IEBA
CiAALwAqACAASABUAFQAUAAgAHIAZQBzAHUAbAB0ACAAYwBvAGQAZQAgAHMAdAByAGkAbgBnACAA
KgAvAAogACIAcgBlAGQAaQByAGUAYwB0AGUAZAAiACAAPQAgACIAcgBlAGQAaQByAGUAYwB0AGUA
ZAAiADsACiAACisALwAqACAAYQBjAGMAZQBzAHMAaQBiAGkAbABpAHQAeQAgAHIAbwBsAGUAIABk
AGUAcwBjAHIAaQBwAHQAaQBvAG4AIABmAG8AcgAgAHQAaQBtAGUAIAByAGUAbQBhAGkAbgBpAG4A
ZwAgAGQAaQBzAHAAbABhAHkAIAAqAC8ACisAIgByAGUAbQBhAGkAbgBpAG4AZwAgAHQAaQBtAGUA
IgAgAD0AIAAiAHIAZQBtAGEAaQBuAGkAbgBnACAAdABpAG0AZQAiADsACisACiAALwAqACAASABU
AFQAUAAgAHIAZQBzAHUAbAB0ACAAYwBvAGQAZQAgAHMAdAByAGkAbgBnACAAKgAvAAogACIAcgBl
AHEAdQBlAHMAdAAgAHQAaQBtAGUAZAAgAG8AdQB0ACIAIAA9ACAAIgByAGUAcQB1AGUAcwB0ACAA
dABpAG0AZQBkACAAbwB1AHQAIgA7AAogAApAQCAtNTY4LDkgKzY0NiwyNCBAQAogAC8AKgAgAEgA
VABUAFAAIAByAGUAcwB1AGwAdAAgAGMAbwBkAGUAIABzAHQAcgBpAG4AZwAgACoALwAKIAAiAHIA
ZQBzAGUAdAAgAGMAbwBuAHQAZQBuAHQAIgAgAD0AIAAiAHIAZQBzAGUAdAAgAGMAbwBuAHQAZQBu
AHQAIgA7AAogAAorAC8AKgAgAGEAYwBjAGUAcwBzAGkAYgBpAGwAaQB0AHkAIABoAGUAbABwACAA
dABlAHgAdAAgAGYAbwByACAAcgBlAHQAdQByAG4AIABzAHQAcgBlAGEAbQBpAG4AZwAgAG0AbwB2
AGkAZQAgAHQAbwAgAHIAZQBhAGwAIAB0AGkAbQBlACAAYgB1AHQAdABvAG4AIAAqAC8ACisAIgBy
AGUAdAB1AHIAbgAgAHMAdAByAGUAYQBtAGkAbgBnACAAbQBvAHYAaQBlACAAdABvACAAcgBlAGEA
bAAgAHQAaQBtAGUAIgAgAD0AIAAiAHIAZQB0AHUAcgBuACAAcwB0AHIAZQBhAG0AaQBuAGcAIABt
AG8AdgBpAGUAIAB0AG8AIAByAGUAYQBsACAAdABpAG0AZQAiADsACisACisALwAqACAAYQBjAGMA
ZQBzAHMAaQBiAGkAbABpAHQAeQAgAHIAbwBsAGUAIABkAGUAcwBjAHIAaQBwAHQAaQBvAG4AIABm
AG8AcgAgAHIAZQB0AHUAcgBuACAAdABvACAAcgBlAGEAbAAgAHQAaQBtAGUAIABiAHUAdAB0AG8A
bgAgACoALwAKKwAiAHIAZQB0AHUAcgBuACAAdABvACAAcgBlAGEAbAB0AGkAbQBlACIAIAA9ACAA
IgByAGUAdAB1AHIAbgAgAHQAbwAgAHIAZQBhAGwAdABpAG0AZQAiADsACisACiAALwAqACAASABU
AFQAUAAgAHIAZQBzAHUAbAB0ACAAYwBvAGQAZQAgAHMAdAByAGkAbgBnACAAKgAvAAogACIAcwBl
AGUAIABvAHQAaABlAHIAIgAgAD0AIAAiAHMAZQBlACAAbwB0AGgAZQByACIAOwAKIAAKKwAvACoA
IABhAGMAYwBlAHMAcwBpAGIAaQBsAGkAdAB5ACAAaABlAGwAcAAgAHQAZQB4AHQAIABmAG8AcgAg
AGoAdQBtAHAAIABiAGEAYwBrACAAMwAwACAAcwBlAGMAbwBuAGQAcwAgAGIAdQB0AHQAbwBuACAA
KgAvAAorACIAcwBlAGUAawAgAG0AbwB2AGkAZQAgAGIAYQBjAGsAIAAzADAAIABzAGUAYwBvAG4A
ZABzACIAIAA9ACAAIgBzAGUAZQBrACAAbQBvAHYAaQBlACAAYgBhAGMAawAgADMAMAAgAHMAZQBj
AG8AbgBkAHMAIgA7AAorAAorAC8AKgAgAGEAYwBjAGUAcwBzAGkAYgBpAGwAaQB0AHkAIABoAGUA
bABwACAAdABlAHgAdAAgAGYAbwByACAAZgBhAHMAdAAgAHIAZQB3AGkAbgBkACAAYgB1AHQAdABv
AG4AIAAqAC8ACisAIgBzAGUAZQBrACAAcQB1AGkAYwBrAGwAeQAgAGIAYQBjAGsAIgAgAD0AIAAi
AHMAZQBlAGsAIABxAHUAaQBjAGsAbAB5ACAAYgBhAGMAawAiADsACisACisALwAqACAAYQBjAGMA
ZQBzAHMAaQBiAGkAbABpAHQAeQAgAGgAZQBsAHAAIAB0AGUAeAB0ACAAZgBvAHIAIABmAGEAcwB0
ACAAZgBvAHIAdwBhAHIAZAAgAGIAdQB0AHQAbwBuACAAKgAvAAorACIAcwBlAGUAawAgAHEAdQBp
AGMAawBsAHkAIABmAG8AcgB3AGEAcgBkACIAIAA9ACAAIgBzAGUAZQBrACAAcQB1AGkAYwBrAGwA
eQAgAGYAbwByAHcAYQByAGQAIgA7AAorAAogAC8AKgAgAFYAZQByAGIAIABzAHQAYQB0AGkAbgBn
ACAAdABoAGUAIABhAGMAdABpAG8AbgAgAHQAaABhAHQAIAB3AGkAbABsACAAbwBjAGMAdQByACAA
dwBoAGUAbgAgAGEAIAByAGEAZABpAG8AIABiAHUAdAB0AG8AbgAgAGkAcwAgAGMAbABpAGMAawBl
AGQALAAgAGEAcwAgAHUAcwBlAGQAIABiAHkAIABhAGMAYwBlAHMAcwBpAGIAaQBsAGkAdAB5ACAA
KgAvAAogACIAcwBlAGwAZQBjAHQAIgAgAD0AIAAiAHMAZQBsAGUAYwB0ACIAOwAKIAAKQEAgLTU4
MCw2ICs2NzMsOSBAQAogAC8AKgAgAEgAVABUAFAAIAByAGUAcwB1AGwAdAAgAGMAbwBkAGUAIABz
AHQAcgBpAG4AZwAgACoALwAKIAAiAHMAZQByAHYAaQBjAGUAIAB1AG4AYQB2AGEAaQBsAGEAYgBs
AGUAIgAgAD0AIAAiAHMAZQByAHYAaQBjAGUAIAB1AG4AYQB2AGEAaQBsAGEAYgBsAGUAIgA7AAog
AAorAC8AKgAgAGEAYwBjAGUAcwBzAGkAYgBpAGwAaQB0AHkAIAByAG8AbABlACAAZABlAHMAYwBy
AGkAcAB0AGkAbwBuACAAZgBvAHIAIABtAG8AdgBpAGUAIABzAHQAYQB0AHUAcwAgACoALwAKKwAi
AHMAdABhAHQAdQBzACIAIAA9ACAAIgBzAHQAYQB0AHUAcwAiADsACisACiAALwAqACAASABUAFQA
UAAgAHIAZQBzAHUAbAB0ACAAYwBvAGQAZQAgAHMAdAByAGkAbgBnACAAKgAvAAogACIAcwB1AGMA
YwBlAHMAcwAiACAAPQAgACIAcwB1AGMAYwBlAHMAcwAiADsACiAACkBAIC01OTIsNiArNjg4LDkg
QEAKIAAvACoAIAB0AGUAcgBtACAAdwBvAHIAZAAgAG8AZgAgAGEAIABkAGUAZgBpAG4AaQB0AGkA
bwBuACAAKgAvAAogACIAdABlAHIAbQAiACAAPQAgACIAdABlAHIAbQAiADsACiAACisALwAqACAA
YQBjAGMAZQBzAHMAaQBiAGkAbABpAHQAeQAgAHIAbwBsAGUAIABkAGUAcwBjAHIAaQBwAHQAaQBv
AG4AIABmAG8AcgAgAHQAaQBtAGUAbABpAG4AZQAgAHQAaAB1AG0AYgAgACoALwAKKwAiAHQAaQBt
AGUAbABpAG4AZQAgAHMAbABpAGQAZQByACAAdABoAHUAbQBiACIAIAA9ACAAIgB0AGkAbQBlAGwA
aQBuAGUAIABzAGwAaQBkAGUAcgAgAHQAaAB1AG0AYgAiADsACisACiAALwAqACAASABUAFQAUAAg
AHIAZQBzAHUAbAB0ACAAYwBvAGQAZQAgAHMAdAByAGkAbgBnACAAKgAvAAogACIAdQBuAGEAYwBj
AGUAcAB0AGEAYgBsAGUAIgAgAD0AIAAiAHUAbgBhAGMAYwBlAHAAdABhAGIAbABlACIAOwAKIAAK
QEAgLTYwNywxMiArNzA2LDI0IEBACiAALwAqACAAVQBuAGsAbgBvAHcAbgAgAGYAaQBsAGUAbgBh
AG0AZQAgACoALwAKIAAiAHUAbgBrAG4AbwB3AG4AIgAgAD0AIAAiAHUAbgBrAG4AbwB3AG4AIgA7
AAogAAorAC8AKgAgAGEAYwBjAGUAcwBzAGkAYgBpAGwAaQB0AHkAIAByAG8AbABlACAAZABlAHMA
YwByAGkAcAB0AGkAbwBuACAAZgBvAHIAIAB0AHUAcgBuACAAbQB1AHQAZQAgAG8AZgBmACAAYgB1
AHQAdABvAG4AIAAqAC8ACisAIgB1AG4AbQB1AHQAZQAiACAAPQAgACIAdQBuAG0AdQB0AGUAIgA7
AAorAAorAC8AKgAgAGEAYwBjAGUAcwBzAGkAYgBpAGwAaQB0AHkAIABoAGUAbABwACAAdABlAHgA
dAAgAGYAbwByACAAdQBuACAAbQB1AHQAZQAgAGIAdQB0AHQAbwBuACAAKgAvAAorACIAdQBuAG0A
dQB0AGUAIABhAHUAZABpAG8AIAB0AHIAYQBjAGsAcwAiACAAPQAgACIAdQBuAG0AdQB0AGUAIABh
AHUAZABpAG8AIAB0AHIAYQBjAGsAcwAiADsACisACiAALwAqACAASABUAFQAUAAgAHIAZQBzAHUA
bAB0ACAAYwBvAGQAZQAgAHMAdAByAGkAbgBnACAAKgAvAAogACIAdQBuAHMAdQBwAHAAbwByAHQA
ZQBkACAAbQBlAGQAaQBhACAAdAB5AHAAZQAiACAAPQAgACIAdQBuAHMAdQBwAHAAbwByAHQAZQBk
ACAAbQBlAGQAaQBhACAAdAB5AHAAZQAiADsACiAACiAALwAqACAASABUAFQAUAAgAHIAZQBzAHUA
bAB0ACAAYwBvAGQAZQAgAHMAdAByAGkAbgBnACAAKgAvAAogACIAdQBuAHMAdQBwAHAAbwByAHQA
ZQBkACAAdgBlAHIAcwBpAG8AbgAiACAAPQAgACIAdQBuAHMAdQBwAHAAbwByAHQAZQBkACAAdgBl
AHIAcwBpAG8AbgAiADsACiAACisALwAqACAAYQBjAGMAZQBzAHMAaQBiAGkAbABpAHQAeQAgAHIA
bwBsAGUAIABkAGUAcwBjAHIAaQBwAHQAaQBvAG4AIABmAG8AcgAgAHYAaQBkAGUAbwAgAGUAbABl
AG0AZQBuAHQAIABjAG8AbgB0AHIAbwBsAGwAZQByACAAKgAvAAorACIAdgBpAGQAZQBvACAAZQBs
AGUAbQBlAG4AdAAgAGMAbwBuAHQAcgBvAGwAbABlAHIAIgAgAD0AIAAiAHYAaQBkAGUAbwAgAGUA
bABlAG0AZQBuAHQAIABjAG8AbgB0AHIAbwBsAGwAZQByACIAOwAKKwAKKwAvACoAIABhAGMAYwBl
AHMAcwBpAGIAaQBsAGkAdAB5ACAAcgBvAGwAZQAgAGQAZQBzAGMAcgBpAHAAdABpAG8AbgAgAGYA
bwByACAAdgBpAGQAZQBvACAAZQBsAGUAbQBlAG4AdAAgAGMAbwBuAHQAcgBvAGwAbABlAHIAIAAq
AC8ACisAIgB2AGkAZABlAG8AIABlAGwAZQBtAGUAbgB0ACAAcABsAGEAeQBiAGEAYwBrACAAYwBv
AG4AdAByAG8AbABzACAAYQBuAGQAIABzAHQAYQB0AHUAcwAgAGQAaQBzAHAAbABhAHkAIgAgAD0A
IAAiAHYAaQBkAGUAbwAgAGUAbABlAG0AZQBuAHQAIABwAGwAYQB5AGIAYQBjAGsAIABjAG8AbgB0
AHIAbwBsAHMAIABhAG4AZAAgAHMAdABhAHQAdQBzACAAZABpAHMAcABsAGEAeQAiADsACisACiAA
LwAqACAAYQBjAGMAZQBzAHMAaQBiAGkAbABpAHQAeQAgAHIAbwBsAGUAIABkAGUAcwBjAHIAaQBw
AHQAaQBvAG4AIABmAG8AcgAgAHcAZQBiACAAYQByAGUAYQAgACoALwAKIAAiAHcAZQBiACAAYQBy
AGUAYQAiACAAPQAgACIAdwBlAGIAIABhAHIAZQBhACIAOwAKIAAKSW5kZXg6IFdlYktpdC9tYWMv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiA0
NjkxNikKKysrIFdlYktpdC9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMDktMDgtMDcgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgPHZpZGVv
PiBhbmQgPGF1ZGlvPiBjb250cm9sbGVyIHNob3VsZCBiZSBhY2Nlc3NpYmxlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODA4MQorCisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvV2ViVmlld0ZhY3RvcnkubW06CisgICAgICAgICgtW1dlYlZpZXdGYWN0
b3J5IGxvY2FsaXplZE1lZGlhQ29udHJvbEVsZW1lbnRTdHJpbmc6XSk6CisgICAgICAgICgtW1dl
YlZpZXdGYWN0b3J5IGxvY2FsaXplZE1lZGlhQ29udHJvbEVsZW1lbnRIZWxwVGV4dDpdKToKKyAg
ICAgICAgKC1bV2ViVmlld0ZhY3RvcnkgbG9jYWxpemVkTWVkaWFUaW1lRGVzY3JpcHRpb246XSk6
CisgICAgICAgICAgICBOZXcuCisKIDIwMDktMDgtMDcgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVy
c2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggVGlnZXIgYnVpbGQuCkluZGV4OiBXZWJLaXQv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYlZpZXdGYWN0b3J5Lm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktp
dC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViVmlld0ZhY3RvcnkubW0JKHJldmlzaW9uIDQ2OTEwKQor
KysgV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJWaWV3RmFjdG9yeS5tbQkod29ya2luZyBj
b3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDUgQXBwbGUgQ29t
cHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDUs
IDIwMDkgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTYwOCw0ICs2MDgsMTAzIEBACiAgICAgcmV0dXJu
IFVJX1NUUklORygiTGl2ZSBCcm9hZGNhc3QiLCAiTWVkaWEgY29udHJvbGxlciBzdGF0dXMgbWVz
c2FnZSB3aGVuIHdhdGNoaW5nIGEgbGl2ZSBicm9hZGNhc3QiKTsKIH0KIAorLSAoTlNTdHJpbmcq
KWxvY2FsaXplZE1lZGlhQ29udHJvbEVsZW1lbnRTdHJpbmc6KE5TU3RyaW5nKiluYW1lCit7Cisg
ICAgaWYgKFtuYW1lIGlzRXF1YWxUb1N0cmluZzpAIkF1ZGlvRWxlbWVudCJdKQorICAgICAgICBy
ZXR1cm4gVUlfU1RSSU5HKCJhdWRpbyBlbGVtZW50IGNvbnRyb2xsZXIiLCAiYWNjZXNzaWJpbGl0
eSByb2xlIGRlc2NyaXB0aW9uIGZvciBhdWRpbyBlbGVtZW50IGNvbnRyb2xsZXIiKTsKKyAgICBp
ZiAoW25hbWUgaXNFcXVhbFRvU3RyaW5nOkAiVmlkZW9FbGVtZW50Il0pCisgICAgICAgIHJldHVy
biBVSV9TVFJJTkcoInZpZGVvIGVsZW1lbnQgY29udHJvbGxlciIsICJhY2Nlc3NpYmlsaXR5IHJv
bGUgZGVzY3JpcHRpb24gZm9yIHZpZGVvIGVsZW1lbnQgY29udHJvbGxlciIpOworCisgICAgaWYg
KFtuYW1lIGlzRXF1YWxUb1N0cmluZzpAIk11dGVCdXR0b24iXSkKKyAgICAgICAgcmV0dXJuIFVJ
X1NUUklORygibXV0ZSIsICJhY2Nlc3NpYmlsaXR5IHJvbGUgZGVzY3JpcHRpb24gZm9yIG11dGUg
YnV0dG9uIik7CisgICAgaWYgKFtuYW1lIGlzRXF1YWxUb1N0cmluZzpAIlVuTXV0ZUJ1dHRvbiJd
KQorICAgICAgICByZXR1cm4gVUlfU1RSSU5HKCJ1bm11dGUiLCAiYWNjZXNzaWJpbGl0eSByb2xl
IGRlc2NyaXB0aW9uIGZvciB0dXJuIG11dGUgb2ZmIGJ1dHRvbiIpOworICAgIGlmIChbbmFtZSBp
c0VxdWFsVG9TdHJpbmc6QCJQbGF5QnV0dG9uIl0pCisgICAgICAgIHJldHVybiBVSV9TVFJJTkco
InBsYXkiLCAiYWNjZXNzaWJpbGl0eSByb2xlIGRlc2NyaXB0aW9uIGZvciBwbGF5IGJ1dHRvbiIp
OworICAgIGlmIChbbmFtZSBpc0VxdWFsVG9TdHJpbmc6QCJQYXVzZUJ1dHRvbiJdKQorICAgICAg
ICByZXR1cm4gVUlfU1RSSU5HKCJwYXVzZSIsICJhY2Nlc3NpYmlsaXR5IHJvbGUgZGVzY3JpcHRp
b24gZm9yIHBhdXNlIGJ1dHRvbiIpOworICAgIGlmIChbbmFtZSBpc0VxdWFsVG9TdHJpbmc6QCJT
bGlkZXIiXSkKKyAgICAgICAgcmV0dXJuIFVJX1NUUklORygibW92aWUgdGltZSIsICJhY2Nlc3Np
YmlsaXR5IHJvbGUgZGVzY3JpcHRpb24gZm9yIHRpbWVsaW5lIHNsaWRlciIpOworICAgIGlmIChb
bmFtZSBpc0VxdWFsVG9TdHJpbmc6QCJTbGlkZXJUaHVtYiJdKQorICAgICAgICByZXR1cm4gVUlf
U1RSSU5HKCJ0aW1lbGluZSBzbGlkZXIgdGh1bWIiLCAiYWNjZXNzaWJpbGl0eSByb2xlIGRlc2Ny
aXB0aW9uIGZvciB0aW1lbGluZSB0aHVtYiIpOworICAgIGlmIChbbmFtZSBpc0VxdWFsVG9TdHJp
bmc6QCJSZXdpbmRCdXR0b24iXSkKKyAgICAgICAgcmV0dXJuIFVJX1NUUklORygiYmFjayAzMCBz
ZWNvbmRzIiwgImFjY2Vzc2liaWxpdHkgcm9sZSBkZXNjcmlwdGlvbiBmb3Igc2VlayBiYWNrIDMw
IHNlY29uZHMgYnV0dG9uIik7CisgICAgaWYgKFtuYW1lIGlzRXF1YWxUb1N0cmluZzpAIlJldHVy
blRvUmVhbHRpbWVCdXR0b24iXSkKKyAgICAgICAgcmV0dXJuIFVJX1NUUklORygicmV0dXJuIHRv
IHJlYWx0aW1lIiwgImFjY2Vzc2liaWxpdHkgcm9sZSBkZXNjcmlwdGlvbiBmb3IgcmV0dXJuIHRv
IHJlYWwgdGltZSBidXR0b24iKTsKKyAgICBpZiAoW25hbWUgaXNFcXVhbFRvU3RyaW5nOkAiQ3Vy
cmVudFRpbWVEaXNwbGF5Il0pCisgICAgICAgIHJldHVybiBVSV9TVFJJTkcoImVsYXBzZWQgdGlt
ZSIsICJhY2Nlc3NpYmlsaXR5IHJvbGUgZGVzY3JpcHRpb24gZm9yIGVsYXBzZWQgdGltZSBkaXNw
bGF5Iik7CisgICAgaWYgKFtuYW1lIGlzRXF1YWxUb1N0cmluZzpAIlRpbWVSZW1haW5pbmdEaXNw
bGF5Il0pCisgICAgICAgIHJldHVybiBVSV9TVFJJTkcoInJlbWFpbmluZyB0aW1lIiwgImFjY2Vz
c2liaWxpdHkgcm9sZSBkZXNjcmlwdGlvbiBmb3IgdGltZSByZW1haW5pbmcgZGlzcGxheSIpOwor
ICAgIGlmIChbbmFtZSBpc0VxdWFsVG9TdHJpbmc6QCJTdGF0dXNEaXNwbGF5Il0pCisgICAgICAg
IHJldHVybiBVSV9TVFJJTkcoInN0YXR1cyIsICJhY2Nlc3NpYmlsaXR5IHJvbGUgZGVzY3JpcHRp
b24gZm9yIG1vdmllIHN0YXR1cyIpOworICAgIGlmIChbbmFtZSBpc0VxdWFsVG9TdHJpbmc6QCJG
dWxsc2NyZWVuQnV0dG9uIl0pCisgICAgICAgIHJldHVybiBVSV9TVFJJTkcoImZ1bGxzY3JlZW4i
LCAiYWNjZXNzaWJpbGl0eSByb2xlIGRlc2NyaXB0aW9uIGZvciBlbnRlciBmdWxsc2NyZWVuIGJ1
dHRvbiIpOworICAgIGlmIChbbmFtZSBpc0VxdWFsVG9TdHJpbmc6QCJTZWVrRm9yd2FyZEJ1dHRv
biJdKQorICAgICAgICByZXR1cm4gVUlfU1RSSU5HKCJmYXN0IGZvcndhcmQiLCAiYWNjZXNzaWJp
bGl0eSByb2xlIGRlc2NyaXB0aW9uIGZvciBmYXN0IGZvcndhcmQgYnV0dG9uIik7CisgICAgaWYg
KFtuYW1lIGlzRXF1YWxUb1N0cmluZzpAIlNlZWtCYWNrQnV0dG9uIl0pCisgICAgICAgIHJldHVy
biBVSV9TVFJJTkcoImZhc3QgcmV2ZXJzZSIsICJhY2Nlc3NpYmlsaXR5IHJvbGUgZGVzY3JpcHRp
b24gZm9yIGZhc3QgcmV2ZXJzZSBidXR0b24iKTsKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
KyAgICByZXR1cm4gQCIiOworfQorCistIChOU1N0cmluZyopbG9jYWxpemVkTWVkaWFDb250cm9s
RWxlbWVudEhlbHBUZXh0OihOU1N0cmluZyopbmFtZQoreworICAgIGlmIChbbmFtZSBpc0VxdWFs
VG9TdHJpbmc6QCJBdWRpb0VsZW1lbnQiXSkKKyAgICAgICAgcmV0dXJuIFVJX1NUUklORygiYXVk
aW8gZWxlbWVudCBwbGF5YmFjayBjb250cm9scyBhbmQgc3RhdHVzIGRpc3BsYXkiLCAiYWNjZXNz
aWJpbGl0eSByb2xlIGRlc2NyaXB0aW9uIGZvciBhdWRpbyBlbGVtZW50IGNvbnRyb2xsZXIiKTsK
KyAgICBpZiAoW25hbWUgaXNFcXVhbFRvU3RyaW5nOkAiVmlkZW9FbGVtZW50Il0pCisgICAgICAg
IHJldHVybiBVSV9TVFJJTkcoInZpZGVvIGVsZW1lbnQgcGxheWJhY2sgY29udHJvbHMgYW5kIHN0
YXR1cyBkaXNwbGF5IiwgImFjY2Vzc2liaWxpdHkgcm9sZSBkZXNjcmlwdGlvbiBmb3IgdmlkZW8g
ZWxlbWVudCBjb250cm9sbGVyIik7CisKKyAgICBpZiAoW25hbWUgaXNFcXVhbFRvU3RyaW5nOkAi
TXV0ZUJ1dHRvbiJdKQorICAgICAgICByZXR1cm4gVUlfU1RSSU5HKCJtdXRlIGF1ZGlvIHRyYWNr
cyIsICJhY2Nlc3NpYmlsaXR5IGhlbHAgdGV4dCBmb3IgbXV0ZSBidXR0b24iKTsKKyAgICBpZiAo
W25hbWUgaXNFcXVhbFRvU3RyaW5nOkAiVW5NdXRlQnV0dG9uIl0pCisgICAgICAgIHJldHVybiBV
SV9TVFJJTkcoInVubXV0ZSBhdWRpbyB0cmFja3MiLCAiYWNjZXNzaWJpbGl0eSBoZWxwIHRleHQg
Zm9yIHVuIG11dGUgYnV0dG9uIik7CisgICAgaWYgKFtuYW1lIGlzRXF1YWxUb1N0cmluZzpAIlBs
YXlCdXR0b24iXSkKKyAgICAgICAgcmV0dXJuIFVJX1NUUklORygiYmVnaW4gcGxheWJhY2siLCAi
YWNjZXNzaWJpbGl0eSBoZWxwIHRleHQgZm9yIHBsYXkgYnV0dG9uIik7CisgICAgaWYgKFtuYW1l
IGlzRXF1YWxUb1N0cmluZzpAIlBhdXNlQnV0dG9uIl0pCisgICAgICAgIHJldHVybiBVSV9TVFJJ
TkcoInBhdXNlIHBsYXliYWNrIiwgImFjY2Vzc2liaWxpdHkgaGVscCB0ZXh0IGZvciBwYXVzZSBi
dXR0b24iKTsKKyAgICBpZiAoW25hbWUgaXNFcXVhbFRvU3RyaW5nOkAiU2xpZGVyIl0pCisgICAg
ICAgIHJldHVybiBVSV9TVFJJTkcoIm1vdmllIHRpbWUgc2NydWJiZXIiLCAiYWNjZXNzaWJpbGl0
eSBoZWxwIHRleHQgZm9yIHRpbWVsaW5lIHNsaWRlciIpOworICAgIGlmIChbbmFtZSBpc0VxdWFs
VG9TdHJpbmc6QCJTbGlkZXJUaHVtYiJdKQorICAgICAgICByZXR1cm4gVUlfU1RSSU5HKCJtb3Zp
ZSB0aW1lIHNjcnViYmVyIHRodW1iIiwgImFjY2Vzc2liaWxpdHkgaGVscCB0ZXh0IGZvciB0aW1l
bGluZSBzbGlkZXIgdGh1bWIiKTsKKyAgICBpZiAoW25hbWUgaXNFcXVhbFRvU3RyaW5nOkAiUmV3
aW5kQnV0dG9uIl0pCisgICAgICAgIHJldHVybiBVSV9TVFJJTkcoInNlZWsgbW92aWUgYmFjayAz
MCBzZWNvbmRzIiwgImFjY2Vzc2liaWxpdHkgaGVscCB0ZXh0IGZvciBqdW1wIGJhY2sgMzAgc2Vj
b25kcyBidXR0b24iKTsKKyAgICBpZiAoW25hbWUgaXNFcXVhbFRvU3RyaW5nOkAiUmV0dXJuVG9S
ZWFsdGltZUJ1dHRvbiJdKQorICAgICAgICByZXR1cm4gVUlfU1RSSU5HKCJyZXR1cm4gc3RyZWFt
aW5nIG1vdmllIHRvIHJlYWwgdGltZSIsICJhY2Nlc3NpYmlsaXR5IGhlbHAgdGV4dCBmb3IgcmV0
dXJuIHN0cmVhbWluZyBtb3ZpZSB0byByZWFsIHRpbWUgYnV0dG9uIik7CisgICAgaWYgKFtuYW1l
IGlzRXF1YWxUb1N0cmluZzpAIkN1cnJlbnRUaW1lRGlzcGxheSJdKQorICAgICAgICByZXR1cm4g
VUlfU1RSSU5HKCJjdXJyZW50IG1vdmllIHRpbWUgaW4gc2Vjb25kcyIsICJhY2Nlc3NpYmlsaXR5
IGhlbHAgdGV4dCBmb3IgZWxhcHNlZCB0aW1lIGRpc3BsYXkiKTsKKyAgICBpZiAoW25hbWUgaXNF
cXVhbFRvU3RyaW5nOkAiVGltZVJlbWFpbmluZ0Rpc3BsYXkiXSkKKyAgICAgICAgcmV0dXJuIFVJ
X1NUUklORygibnVtYmVyIG9mIHNlY29uZHMgb2YgbW92aWUgcmVtYWluaW5nIiwgImFjY2Vzc2li
aWxpdHkgaGVscCB0ZXh0IGZvciByZW1haW5pbmcgdGltZSBkaXNwbGF5Iik7CisgICAgaWYgKFtu
YW1lIGlzRXF1YWxUb1N0cmluZzpAIlN0YXR1c0Rpc3BsYXkiXSkKKyAgICAgICAgcmV0dXJuIFVJ
X1NUUklORygiY3VycmVudCBtb3ZpZSBzdGF0dXMiLCAiYWNjZXNzaWJpbGl0eSBoZWxwIHRleHQg
Zm9yIG1vdmllIHN0YXR1cyBkaXNwbGF5Iik7CisgICAgaWYgKFtuYW1lIGlzRXF1YWxUb1N0cmlu
ZzpAIlNlZWtCYWNrQnV0dG9uIl0pCisgICAgICAgIHJldHVybiBVSV9TVFJJTkcoInNlZWsgcXVp
Y2tseSBiYWNrIiwgImFjY2Vzc2liaWxpdHkgaGVscCB0ZXh0IGZvciBmYXN0IHJld2luZCBidXR0
b24iKTsKKyAgICBpZiAoW25hbWUgaXNFcXVhbFRvU3RyaW5nOkAiU2Vla0ZvcndhcmRCdXR0b24i
XSkKKyAgICAgICAgcmV0dXJuIFVJX1NUUklORygic2VlayBxdWlja2x5IGZvcndhcmQiLCAiYWNj
ZXNzaWJpbGl0eSBoZWxwIHRleHQgZm9yIGZhc3QgZm9yd2FyZCBidXR0b24iKTsKKyAgICBpZiAo
W25hbWUgaXNFcXVhbFRvU3RyaW5nOkAiRnVsbHNjcmVlbkJ1dHRvbiJdKQorICAgICAgICByZXR1
cm4gVUlfU1RSSU5HKCJQbGF5IG1vdmllIGluIGZ1bGxzY3JlZW4gbW9kZSIsICJhY2Nlc3NpYmls
aXR5IGhlbHAgdGV4dCBmb3IgZW50ZXIgZnVsbHNjcmVlbiBidXR0b24iKTsKKyAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gQCIiOworfQorCistIChOU1N0cmluZyopbG9jYWxp
emVkTWVkaWFUaW1lRGVzY3JpcHRpb246KGZsb2F0KXRpbWUKK3sKKyAgICBpZiAoIWlzZmluaXRl
KHRpbWUpKQorICAgICAgICByZXR1cm4gVUlfU1RSSU5HKCJpbmRlZmluaXRlIHRpbWUiLCAic3Ry
aW5nIGZvciBhbiBpbmRlZmluaXRlIG1vdmllIHRpbWUiKTsKKworICAgIGludCBzZWNvbmRzID0g
KGludClmYWJzZih0aW1lKTsgCisgICAgaW50IGRheXMgPSBzZWNvbmRzIC8gKDYwICogNjAgKiAy
NCk7CisgICAgaW50IGhvdXJzID0gc2Vjb25kcyAvICg2MCAqIDYwKTsKKyAgICBpbnQgbWludXRl
cyA9IChzZWNvbmRzIC8gNjApICUgNjA7CisgICAgc2Vjb25kcyAlPSA2MDsKKworICAgIGlmIChk
YXlzKQorICAgICAgICByZXR1cm4gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6VUlfU1RSSU5H
KCJkYXRlLmZvcm1hdC5mb3IuZGF5cyIsICJzdHJpbmcgZm9yIGRheXMsIGhvdXJzLCBtaW51dGVz
ICYgc2Vjb25kcyIpLCBkYXlzLCBob3VycywgbWludXRlcywgc2Vjb25kc107CisgICAgZWxzZSBp
ZiAoaG91cnMpCisgICAgICAgIHJldHVybiBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpVSV9T
VFJJTkcoImRhdGUuZm9ybWF0LmZvci5ob3VycyIsICJzdHJpbmcgZm9yIGhvdXJzLCBtaW51dGVz
ICYgc2Vjb25kcyIpLCBob3VycywgbWludXRlcywgc2Vjb25kc107CisgICAgZWxzZSBpZiAobWlu
dXRlcykKKyAgICAgICAgcmV0dXJuIFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OlVJX1NUUklO
RygiZGF0ZS5mb3JtYXQuZm9yLm1pbnV0ZXMiLCAic3RyaW5nIGZvciBtaW51dGVzICYgc2Vjb25k
cyIpLCBtaW51dGVzLCBzZWNvbmRzXTsKKworICAgIHJldHVybiBbTlNTdHJpbmcgc3RyaW5nV2l0
aEZvcm1hdDpVSV9TVFJJTkcoImRhdGUuZm9ybWF0LmZvci5zZWNvbmRzIiwgInN0cmluZyBmb3Ig
c2Vjb25kcyIpLCBzZWNvbmRzXTsKK30KKwogQGVuZApJbmRleDogV2ViS2l0L3dpbi9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ2OTE2KQor
KysgV2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAor
MjAwOS0wOC0wNyAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICA8dmlkZW8+IGFuZCA8
YXVkaW8+IGNvbnRyb2xsZXIgc2hvdWxkIGJlIGFjY2Vzc2libGUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI4MDgxCisKKyAgICAgICAgKiBXZWJDb3Jl
TG9jYWxpemVkU3RyaW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpsb2NhbGl6ZWRNZWRpYUNv
bnRyb2xFbGVtZW50U3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OmxvY2FsaXplZE1lZGlhQ29u
dHJvbEVsZW1lbnRIZWxwVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpsb2NhbGl6ZWRNZWRpYVRp
bWVEZXNjcmlwdGlvbik6CisgICAgICAgICAgICBOZXcuCisKIDIwMDktMDgtMDYgIEFkYW0gQmFy
dGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIHJldmVydC4KSW5k
ZXg6IFdlYktpdC93aW4vV2ViQ29yZUxvY2FsaXplZFN0cmluZ3MuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYktpdC93aW4vV2ViQ29yZUxvY2FsaXplZFN0cmluZ3MuY3BwCShyZXZpc2lvbiA0NjkxMCkK
KysrIFdlYktpdC93aW4vV2ViQ29yZUxvY2FsaXplZFN0cmluZ3MuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xMTQsMyArMTE0LDExNCBAQCBTdHJpbmcgbXVsdGlwbGVGaWxlVXBsb2FkVGV4dCh1bnNp
Z25lZCBuCiAKICAgICByZXR1cm4gcmVzdWx0LmdldCgpOwogfQorCitTdHJpbmcgV2ViQ29yZTo6
bG9jYWxpemVkTWVkaWFDb250cm9sRWxlbWVudFN0cmluZyhjb25zdCBTdHJpbmcmIG5hbWUpCit7
CisgICAgaWYgKG5hbWUgPT0gIkF1ZGlvRWxlbWVudCIpCisgICAgICAgIHJldHVybiBTdHJpbmco
TFBDVFNUUl9VSV9TVFJJTkcoImF1ZGlvIGVsZW1lbnQgY29udHJvbGxlciIsICJhY2Nlc3NpYmls
aXR5IHJvbGUgZGVzY3JpcHRpb24gZm9yIGF1ZGlvIGVsZW1lbnQgY29udHJvbGxlciIpKTsKKyAg
ICBpZiAobmFtZSA9PSAiVmlkZW9FbGVtZW50IikKKyAgICAgICAgcmV0dXJuIFN0cmluZyhMUENU
U1RSX1VJX1NUUklORygidmlkZW8gZWxlbWVudCBjb250cm9sbGVyIiwgImFjY2Vzc2liaWxpdHkg
cm9sZSBkZXNjcmlwdGlvbiBmb3IgdmlkZW8gZWxlbWVudCBjb250cm9sbGVyIikpOworICAgIGlm
IChuYW1lID09ICJNdXRlQnV0dG9uIikKKyAgICAgICAgcmV0dXJuIFN0cmluZyhMUENUU1RSX1VJ
X1NUUklORygibXV0ZSIsICJhY2Nlc3NpYmlsaXR5IHJvbGUgZGVzY3JpcHRpb24gZm9yIG11dGUg
YnV0dG9uIikpOworICAgIGlmIChuYW1lID09ICJVbk11dGVCdXR0b24iKQorICAgICAgICByZXR1
cm4gU3RyaW5nKExQQ1RTVFJfVUlfU1RSSU5HKCJ1bm11dGUiLCAiYWNjZXNzaWJpbGl0eSByb2xl
IGRlc2NyaXB0aW9uIGZvciB0dXJuIG11dGUgb2ZmIGJ1dHRvbiIpKTsKKyAgICBpZiAobmFtZSA9
PSAiUGxheUJ1dHRvbiIpCisgICAgICAgIHJldHVybiBTdHJpbmcoTFBDVFNUUl9VSV9TVFJJTkco
InBsYXkiLCAiYWNjZXNzaWJpbGl0eSByb2xlIGRlc2NyaXB0aW9uIGZvciBwbGF5IGJ1dHRvbiIp
KTsKKyAgICBpZiAobmFtZSA9PSAiUGF1c2VCdXR0b24iKQorICAgICAgICByZXR1cm4gU3RyaW5n
KExQQ1RTVFJfVUlfU1RSSU5HKCJwYXVzZSIsICJhY2Nlc3NpYmlsaXR5IHJvbGUgZGVzY3JpcHRp
b24gZm9yIHBhdXNlIGJ1dHRvbiIpKTsKKyAgICBpZiAobmFtZSA9PSAiU2xpZGVyIikKKyAgICAg
ICAgcmV0dXJuIFN0cmluZyhMUENUU1RSX1VJX1NUUklORygibW92aWUgdGltZSIsICJhY2Nlc3Np
YmlsaXR5IHJvbGUgZGVzY3JpcHRpb24gZm9yIHRpbWVsaW5lIHNsaWRlciIpKTsKKyAgICBpZiAo
bmFtZSA9PSAiU2xpZGVyVGh1bWIiKQorICAgICAgICByZXR1cm4gU3RyaW5nKExQQ1RTVFJfVUlf
U1RSSU5HKCJ0aW1lbGluZSBzbGlkZXIgdGh1bWIiLCAiYWNjZXNzaWJpbGl0eSByb2xlIGRlc2Ny
aXB0aW9uIGZvciB0aW1lbGluZSB0aHVtYiIpKTsKKyAgICBpZiAobmFtZSA9PSAiUmV3aW5kQnV0
dG9uIikKKyAgICAgICAgcmV0dXJuIFN0cmluZyhMUENUU1RSX1VJX1NUUklORygiYmFjayAzMCBz
ZWNvbmRzIiwgImFjY2Vzc2liaWxpdHkgcm9sZSBkZXNjcmlwdGlvbiBmb3Igc2VlayBiYWNrIDMw
IHNlY29uZHMgYnV0dG9uIikpOworICAgIGlmIChuYW1lID09ICJSZXR1cm5Ub1JlYWx0aW1lQnV0
dG9uIikKKyAgICAgICAgcmV0dXJuIFN0cmluZyhMUENUU1RSX1VJX1NUUklORygicmV0dXJuIHRv
IHJlYWx0aW1lIiwgImFjY2Vzc2liaWxpdHkgcm9sZSBkZXNjcmlwdGlvbiBmb3IgcmV0dXJuIHRv
IHJlYWwgdGltZSBidXR0b24iKSk7CisgICAgaWYgKG5hbWUgPT0gIkN1cnJlbnRUaW1lRGlzcGxh
eSIpCisgICAgICAgIHJldHVybiBTdHJpbmcoTFBDVFNUUl9VSV9TVFJJTkcoImVsYXBzZWQgdGlt
ZSIsICJhY2Nlc3NpYmlsaXR5IHJvbGUgZGVzY3JpcHRpb24gZm9yIGVsYXBzZWQgdGltZSBkaXNw
bGF5IikpOworICAgIGlmIChuYW1lID09ICJUaW1lUmVtYWluaW5nRGlzcGxheSIpCisgICAgICAg
IHJldHVybiBTdHJpbmcoTFBDVFNUUl9VSV9TVFJJTkcoInJlbWFpbmluZyB0aW1lIiwgImFjY2Vz
c2liaWxpdHkgcm9sZSBkZXNjcmlwdGlvbiBmb3IgdGltZSByZW1haW5pbmcgZGlzcGxheSIpKTsK
KyAgICBpZiAobmFtZSA9PSAiU3RhdHVzRGlzcGxheSIpCisgICAgICAgIHJldHVybiBTdHJpbmco
TFBDVFNUUl9VSV9TVFJJTkcoInN0YXR1cyIsICJhY2Nlc3NpYmlsaXR5IHJvbGUgZGVzY3JpcHRp
b24gZm9yIG1vdmllIHN0YXR1cyIpKTsKKyAgICBpZiAobmFtZSA9PSAiRnVsbHNjcmVlbkJ1dHRv
biIpCisgICAgICAgIHJldHVybiBTdHJpbmcoTFBDVFNUUl9VSV9TVFJJTkcoImZ1bGxzY3JlZW4i
LCAiYWNjZXNzaWJpbGl0eSByb2xlIGRlc2NyaXB0aW9uIGZvciBlbnRlciBmdWxsc2NyZWVuIGJ1
dHRvbiIpKTsKKyAgICBpZiAobmFtZSA9PSAiU2Vla0ZvcndhcmRCdXR0b24iKQorICAgICAgICBy
ZXR1cm4gU3RyaW5nKExQQ1RTVFJfVUlfU1RSSU5HKCJmYXN0IGZvcndhcmQiLCAiYWNjZXNzaWJp
bGl0eSByb2xlIGRlc2NyaXB0aW9uIGZvciBmYXN0IGZvcndhcmQgYnV0dG9uIikpOworICAgIGlm
IChuYW1lID09ICJTZWVrQmFja0J1dHRvbiIpCisgICAgICAgIHJldHVybiBTdHJpbmcoTFBDVFNU
Ul9VSV9TVFJJTkcoImZhc3QgcmV2ZXJzZSIsICJhY2Nlc3NpYmlsaXR5IHJvbGUgZGVzY3JpcHRp
b24gZm9yIGZhc3QgcmV2ZXJzZSBidXR0b24iKSk7CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICByZXR1cm4gU3RyaW5nKCk7Cit9CisKK1N0cmluZyBXZWJDb3JlOjpsb2NhbGl6ZWRN
ZWRpYUNvbnRyb2xFbGVtZW50SGVscFRleHQoY29uc3QgU3RyaW5nJiBuYW1lKQoreworICAgIGlm
IChuYW1lID09ICJBdWRpb0VsZW1lbnQiKQorICAgICAgICByZXR1cm4gU3RyaW5nKExQQ1RTVFJf
VUlfU1RSSU5HKCJhdWRpbyBlbGVtZW50IHBsYXliYWNrIGNvbnRyb2xzIGFuZCBzdGF0dXMgZGlz
cGxheSIsICJhY2Nlc3NpYmlsaXR5IHJvbGUgZGVzY3JpcHRpb24gZm9yIGF1ZGlvIGVsZW1lbnQg
Y29udHJvbGxlciIpKTsKKyAgICBpZiAobmFtZSA9PSAiVmlkZW9FbGVtZW50IikKKyAgICAgICAg
cmV0dXJuIFN0cmluZyhMUENUU1RSX1VJX1NUUklORygidmlkZW8gZWxlbWVudCBwbGF5YmFjayBj
b250cm9scyBhbmQgc3RhdHVzIGRpc3BsYXkiLCAiYWNjZXNzaWJpbGl0eSByb2xlIGRlc2NyaXB0
aW9uIGZvciB2aWRlbyBlbGVtZW50IGNvbnRyb2xsZXIiKSk7CisgICAgaWYgKG5hbWUgPT0gIk11
dGVCdXR0b24iKQorICAgICAgICByZXR1cm4gU3RyaW5nKExQQ1RTVFJfVUlfU1RSSU5HKCJtdXRl
IGF1ZGlvIHRyYWNrcyIsICJhY2Nlc3NpYmlsaXR5IGhlbHAgdGV4dCBmb3IgbXV0ZSBidXR0b24i
KSk7CisgICAgaWYgKG5hbWUgPT0gIlVuTXV0ZUJ1dHRvbiIpCisgICAgICAgIHJldHVybiBTdHJp
bmcoTFBDVFNUUl9VSV9TVFJJTkcoInVubXV0ZSBhdWRpbyB0cmFja3MiLCAiYWNjZXNzaWJpbGl0
eSBoZWxwIHRleHQgZm9yIHVuIG11dGUgYnV0dG9uIikpOworICAgIGlmIChuYW1lID09ICJQbGF5
QnV0dG9uIikKKyAgICAgICAgcmV0dXJuIFN0cmluZyhMUENUU1RSX1VJX1NUUklORygiYmVnaW4g
cGxheWJhY2siLCAiYWNjZXNzaWJpbGl0eSBoZWxwIHRleHQgZm9yIHBsYXkgYnV0dG9uIikpOwor
ICAgIGlmIChuYW1lID09ICJQYXVzZUJ1dHRvbiIpCisgICAgICAgIHJldHVybiBTdHJpbmcoTFBD
VFNUUl9VSV9TVFJJTkcoInBhdXNlIHBsYXliYWNrIiwgImFjY2Vzc2liaWxpdHkgaGVscCB0ZXh0
IGZvciBwYXVzZSBidXR0b24iKSk7CisgICAgaWYgKG5hbWUgPT0gIlNsaWRlciIpCisgICAgICAg
IHJldHVybiBTdHJpbmcoTFBDVFNUUl9VSV9TVFJJTkcoIm1vdmllIHRpbWUgc2NydWJiZXIiLCAi
YWNjZXNzaWJpbGl0eSBoZWxwIHRleHQgZm9yIHRpbWVsaW5lIHNsaWRlciIpKTsKKyAgICBpZiAo
bmFtZSA9PSAiU2xpZGVyVGh1bWIiKQorICAgICAgICByZXR1cm4gU3RyaW5nKExQQ1RTVFJfVUlf
U1RSSU5HKCJtb3ZpZSB0aW1lIHNjcnViYmVyIHRodW1iIiwgImFjY2Vzc2liaWxpdHkgaGVscCB0
ZXh0IGZvciB0aW1lbGluZSBzbGlkZXIgdGh1bWIiKSk7CisgICAgaWYgKG5hbWUgPT0gIlJld2lu
ZEJ1dHRvbiIpCisgICAgICAgIHJldHVybiBTdHJpbmcoTFBDVFNUUl9VSV9TVFJJTkcoInNlZWsg
bW92aWUgYmFjayAzMCBzZWNvbmRzIiwgImFjY2Vzc2liaWxpdHkgaGVscCB0ZXh0IGZvciBqdW1w
IGJhY2sgMzAgc2Vjb25kcyBidXR0b24iKSk7CisgICAgaWYgKG5hbWUgPT0gIlJldHVyblRvUmVh
bHRpbWVCdXR0b24iKQorICAgICAgICByZXR1cm4gU3RyaW5nKExQQ1RTVFJfVUlfU1RSSU5HKCJy
ZXR1cm4gc3RyZWFtaW5nIG1vdmllIHRvIHJlYWwgdGltZSIsICJhY2Nlc3NpYmlsaXR5IGhlbHAg
dGV4dCBmb3IgcmV0dXJuIHN0cmVhbWluZyBtb3ZpZSB0byByZWFsIHRpbWUgYnV0dG9uIikpOwor
ICAgIGlmIChuYW1lID09ICJDdXJyZW50VGltZURpc3BsYXkiKQorICAgICAgICByZXR1cm4gU3Ry
aW5nKExQQ1RTVFJfVUlfU1RSSU5HKCJjdXJyZW50IG1vdmllIHRpbWUgaW4gc2Vjb25kcyIsICJh
Y2Nlc3NpYmlsaXR5IGhlbHAgdGV4dCBmb3IgZWxhcHNlZCB0aW1lIGRpc3BsYXkiKSk7CisgICAg
aWYgKG5hbWUgPT0gIlRpbWVSZW1haW5pbmdEaXNwbGF5IikKKyAgICAgICAgcmV0dXJuIFN0cmlu
ZyhMUENUU1RSX1VJX1NUUklORygibnVtYmVyIG9mIHNlY29uZHMgb2YgbW92aWUgcmVtYWluaW5n
IiwgImFjY2Vzc2liaWxpdHkgaGVscCB0ZXh0IGZvciByZW1haW5pbmcgdGltZSBkaXNwbGF5Iikp
OworICAgIGlmIChuYW1lID09ICJTdGF0dXNEaXNwbGF5IikKKyAgICAgICAgcmV0dXJuIFN0cmlu
ZyhMUENUU1RSX1VJX1NUUklORygiY3VycmVudCBtb3ZpZSBzdGF0dXMiLCAiYWNjZXNzaWJpbGl0
eSBoZWxwIHRleHQgZm9yIG1vdmllIHN0YXR1cyBkaXNwbGF5IikpOworICAgIGlmIChuYW1lID09
ICJTZWVrQmFja0J1dHRvbiIpCisgICAgICAgIHJldHVybiBTdHJpbmcoTFBDVFNUUl9VSV9TVFJJ
TkcoInNlZWsgcXVpY2tseSBiYWNrIiwgImFjY2Vzc2liaWxpdHkgaGVscCB0ZXh0IGZvciBmYXN0
IHJld2luZCBidXR0b24iKSk7CisgICAgaWYgKG5hbWUgPT0gIlNlZWtGb3J3YXJkQnV0dG9uIikK
KyAgICAgICAgcmV0dXJuIFN0cmluZyhMUENUU1RSX1VJX1NUUklORygic2VlayBxdWlja2x5IGZv
cndhcmQiLCAiYWNjZXNzaWJpbGl0eSBoZWxwIHRleHQgZm9yIGZhc3QgZm9yd2FyZCBidXR0b24i
KSk7CisgICAgaWYgKG5hbWUgPT0gIkZ1bGxzY3JlZW5CdXR0b24iKQorICAgICAgICByZXR1cm4g
U3RyaW5nKExQQ1RTVFJfVUlfU1RSSU5HKCJQbGF5IG1vdmllIGluIGZ1bGxzY3JlZW4gbW9kZSIs
ICJhY2Nlc3NpYmlsaXR5IGhlbHAgdGV4dCBmb3IgZW50ZXIgZnVsbHNjcmVlbiBidXR0b24iKSk7
CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gU3RyaW5nKCk7Cit9CisK
K1N0cmluZyBXZWJDb3JlOjpsb2NhbGl6ZWRNZWRpYVRpbWVEZXNjcmlwdGlvbihmbG9hdCB0aW1l
KQoreworICAgIGlmICghaXNmaW5pdGUodGltZSkpCisgICAgICAgIHJldHVybiByZXR1cm4gU3Ry
aW5nKExQQ1RTVFJfVUlfU1RSSU5HKCJpbmRlZmluaXRlIHRpbWUiLCAic3RyaW5nIGZvciBhbiBp
bmRlZmluaXRlIG1vdmllIHRpbWUiKSk7CisKKyAgICBpbnQgc2Vjb25kcyA9IChpbnQpZmFic2Yo
dGltZSk7IAorICAgIGludCBkYXlzID0gc2Vjb25kcyAvICg2MCAqIDYwICogMjQpOworICAgIGlu
dCBob3VycyA9IHNlY29uZHMgLyAoNjAgKiA2MCk7CisgICAgaW50IG1pbnV0ZXMgPSAoc2Vjb25k
cyAvIDYwKSAlIDYwOworICAgIHNlY29uZHMgJT0gNjA7CisKKyAgICBpZiAoZGF5cykgeworICAg
ICAgICBzdGF0aWMgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBmb3JtYXQoQWRvcHRDRiwgVUlfU1RS
SU5HKCJkYXRlLmZvcm1hdC5mb3IuZGF5cyIsICJzdHJpbmcgZm9yIGRheXMsIGhvdXJzLCBtaW51
dGVzICYgc2Vjb25kcyIpKTsKKyAgICAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiByZXN1bHQo
QWRvcHRDRiwgQ0ZTdHJpbmdDcmVhdGVXaXRoRm9ybWF0KDAsIDAsIGZvcm1hdC5nZXQoKSwgZGF5
cywgaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMpKTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdC5nZXQo
KTsKKyAgICB9CisgICAgZWxzZSBpZiAoaG91cnMpIHsKKyAgICAgICAgc3RhdGljIFJldGFpblB0
cjxDRlN0cmluZ1JlZj4gZm9ybWF0KEFkb3B0Q0YsIFVJX1NUUklORygiZGF0ZS5mb3JtYXQuZm9y
LmhvdXJzIiwgInN0cmluZyBmb3IgaG91cnMsIG1pbnV0ZXMgJiBzZWNvbmRzIikpOworICAgICAg
ICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IHJlc3VsdChBZG9wdENGLCBDRlN0cmluZ0NyZWF0ZVdp
dGhGb3JtYXQoMCwgMCwgZm9ybWF0LmdldCgpLCBob3VycywgbWludXRlcywgc2Vjb25kcykpOwor
ICAgICAgICByZXR1cm4gcmVzdWx0LmdldCgpOworICAgIH0KKyAgICBlbHNlIGlmIChtaW51dGVz
KSB7CisgICAgICAgIHN0YXRpYyBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IGZvcm1hdChBZG9wdENG
LCBVSV9TVFJJTkcoImRhdGUuZm9ybWF0LmZvci5taW51dGVzIiwgInN0cmluZyBmb3IgbWludXRl
cyAmIHNlY29uZHMiKSk7CisgICAgICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gcmVzdWx0KEFk
b3B0Q0YsIENGU3RyaW5nQ3JlYXRlV2l0aEZvcm1hdCgwLCAwLCBmb3JtYXQuZ2V0KCksIG1pbnV0
ZXMsIHNlY29uZHMpKTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdC5nZXQoKTsKKyAgICB9CisKKyAg
ICBzdGF0aWMgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBmb3JtYXQoQWRvcHRDRiwgVUlfU1RSSU5H
KCJkYXRlLmZvcm1hdC5mb3Iuc2Vjb25kcyIsICJzdHJpbmcgZm9yIHNlY29uZHMiKSk7CisgICAg
UmV0YWluUHRyPENGU3RyaW5nUmVmPiByZXN1bHQoQWRvcHRDRiwgQ0ZTdHJpbmdDcmVhdGVXaXRo
Rm9ybWF0KDAsIDAsIGZvcm1hdC5nZXQoKSwgc2Vjb25kcykpOworICAgIHJldHVybiByZXN1bHQu
Z2V0KCk7Cit9CisKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ2OTE2KQorKysgTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMDktMDgtMDcgIEVyaWMg
Q2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgPHZpZGVvPiBhbmQgPGF1ZGlvPiBjb250cm9sbGVy
IHNob3VsZCBiZSBhY2Nlc3NpYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yODA4MQorCisgICAgICAgIFRlc3QgZm9yIDx2aWRlbz4gYW5kIDxhdWRp
bz4gZWxlbWVudCBjb250cm9sbGVyIGFjY2Vzc2liaWxpdHkuCisKKyAgICAgICAgKiBhY2Nlc3Np
YmlsaXR5L21lZGlhLWVsZW1lbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L21lZGlhLWVsZW1lbnQuaHRtbDogQWRkZWQuCisKIDIwMDktMDgtMDcgIERhcmlu
IEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1hcmsgUm93
ZS4KSW5kZXg6IExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWVkaWEtZWxlbWVudC1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tZWRpYS1lbGVt
ZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2FjY2Vzc2liaWxp
dHkvbWVkaWEtZWxlbWVudC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNjQg
QEAKK0R1bXAgPHZpZGVvPiBlbGVtZW50IGNvbnRyb2xsZXIgYWNjZXNzaWJpbGl0eSBvYmplY3Qg
dHJlZSBhdCAnbG9hZHN0YXJ0JyBhbmQgJ2xvYWQnIGV2ZW50cy4KKworKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysKKworU3RhdGUgYXQgJ2xvYWRzdGFydCcgZXZlbnQ6CisKKyAg
ICBkZXNjcmlwdGlvbjogQVhEZXNjcmlwdGlvbjogdmlkZW8gZWxlbWVudCBjb250cm9sbGVyCisg
ICAgcm9sZTogQVhSb2xlOiBBWFRvb2xiYXIKKworCisgICAgICAgIGRlc2NyaXB0aW9uOiBBWERl
c2NyaXB0aW9uOiBiYWNrIDMwIHNlY29uZHMKKyAgICAgICAgcm9sZTogQVhSb2xlOiBBWEJ1dHRv
bgorCisKKyAgICAgICAgZGVzY3JpcHRpb246IEFYRGVzY3JpcHRpb246IHBsYXkKKyAgICAgICAg
cm9sZTogQVhSb2xlOiBBWEJ1dHRvbgorCisKKyAgICAgICAgZGVzY3JpcHRpb246IEFYRGVzY3Jp
cHRpb246IHN0YXR1cworICAgICAgICByb2xlOiBBWFJvbGU6IEFYU3RhdGljVGV4dAorCisKKyAg
ICAgICAgZGVzY3JpcHRpb246IEFYRGVzY3JpcHRpb246IG11dGUKKyAgICAgICAgcm9sZTogQVhS
b2xlOiBBWEJ1dHRvbgorCisKKworKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK
KworU3RhdGUgYXQgJ2xvYWQnIGV2ZW50OgorCisgICAgZGVzY3JpcHRpb246IEFYRGVzY3JpcHRp
b246IHZpZGVvIGVsZW1lbnQgY29udHJvbGxlcgorICAgIHJvbGU6IEFYUm9sZTogQVhUb29sYmFy
CisKKworICAgICAgICBkZXNjcmlwdGlvbjogQVhEZXNjcmlwdGlvbjogYmFjayAzMCBzZWNvbmRz
CisgICAgICAgIHJvbGU6IEFYUm9sZTogQVhCdXR0b24KKworCisgICAgICAgIGRlc2NyaXB0aW9u
OiBBWERlc2NyaXB0aW9uOiBwbGF5CisgICAgICAgIHJvbGU6IEFYUm9sZTogQVhCdXR0b24KKwor
CisgICAgICAgIGRlc2NyaXB0aW9uOiBBWERlc2NyaXB0aW9uOiBlbGFwc2VkIHRpbWUKKyAgICAg
ICAgcm9sZTogQVhSb2xlOiBBWFN0YXRpY1RleHQKKworCisgICAgICAgIGRlc2NyaXB0aW9uOiBB
WERlc2NyaXB0aW9uOiAKKyAgICAgICAgcm9sZTogQVhSb2xlOiBBWFNsaWRlcgorCisKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uOiBBWERlc2NyaXB0aW9uOiAKKyAgICAgICAgICAgIHJvbGU6IEFY
Um9sZTogQVhWYWx1ZUluZGljYXRvcgorCisKKyAgICAgICAgZGVzY3JpcHRpb246IEFYRGVzY3Jp
cHRpb246IHJlbWFpbmluZyB0aW1lCisgICAgICAgIHJvbGU6IEFYUm9sZTogQVhTdGF0aWNUZXh0
CisKKworICAgICAgICBkZXNjcmlwdGlvbjogQVhEZXNjcmlwdGlvbjogbXV0ZQorICAgICAgICBy
b2xlOiBBWFJvbGU6IEFYQnV0dG9uCisKKworCkluZGV4OiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L21lZGlhLWVsZW1lbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9hY2Nlc3Np
YmlsaXR5L21lZGlhLWVsZW1lbnQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Fj
Y2Vzc2liaWxpdHkvbWVkaWEtZWxlbWVudC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDc4
IEBACis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICB2YXIgdmlkQVhPYmplY3Q7CisgICAgICAg
ICAgICB2YXIgaW5kZW50TGV2ZWwgPSAwOworCisgICAgICAgICAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
ZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRV
bnRpbERvbmUoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gaW5kZW50
KGNvdW50KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHZhciBzcGFjZXMgPSAiICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjsKKyAg
ICAgICAgICAgICAgICByZXR1cm4gc3BhY2VzLnN1YnN0cigwLCBjb3VudCk7CisgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIGR1bXBPYmplY3QoYXhPYmplY3QpCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgZGVidWcoaW5kZW50KGluZGVudExldmVsKSArICJkZXNj
cmlwdGlvbjogIiArIGF4T2JqZWN0LmRlc2NyaXB0aW9uKTsgCisgICAgICAgICAgICAgICAgZGVi
dWcoaW5kZW50KGluZGVudExldmVsKSArICJyb2xlOiAiICsgYXhPYmplY3Qucm9sZSk7IAorICAg
ICAgICAgICAgICAgIGRlYnVnKCI8YnI+Iik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IGZ1bmN0aW9uIGR1bXBDaGlsZHJlbihheE9iamVjdCkKKyAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICB2YXIgY291bnQgPSBheE9iamVjdC5jaGlsZHJlbkNvdW50CisgICAgICAgICAgICAg
ICAgaWYgKCFjb3VudCkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAg
ICAgICAgaW5kZW50TGV2ZWwgKz0gNDsKKyAgICAgICAgICAgICAgICBmb3IgKHZhciBuZHggPSAw
OyBuZHggPCBjb3VudDsgbmR4KyspIHsKKyAgICAgICAgICAgICAgICAgICAgdmFyIGNoaWxkQVhP
YmplY3QgPSBheE9iamVjdC5jaGlsZEF0SW5kZXgobmR4KTsKKyAgICAgICAgICAgICAgICAgICAg
ZHVtcE9iamVjdChjaGlsZEFYT2JqZWN0KTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGNoaWxk
QVhPYmplY3QuY2hpbGRyZW5Db3VudCkgeworICAgICAgICAgICAgICAgICAgICAgICAgLy8gZG9u
J3QgYm90aGVyIGR1bXBpbmcgc3RhdGljIHRleHQgY2hpbGRyZW4KKyAgICAgICAgICAgICAgICAg
ICAgICAgIGlmICggY2hpbGRBWE9iamVjdC5yb2xlICE9ICJBWFJvbGU6IEFYU3RhdGljVGV4dCIp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICBkdW1wQ2hpbGRyZW4oY2hpbGRBWE9iamVjdCk7
CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg
ICAgaW5kZW50TGV2ZWwgLT0gNDsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rp
b24gZHVtcFZpZGVvQVgoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGRlYnVnKCI8
YnI+KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKys8YnI+Iik7CisgICAgICAgICAg
ICAgICAgZGVidWcoIlN0YXRlIGF0ICciICsgZXZlbnQudHlwZSArICInIGV2ZW50Ojxicj4iKTsK
KworICAgICAgICAgICAgICAgIGlmICghd2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKQor
ICAgICAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgICAgICB2YXIgYm9keSA9
IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF07CisgICAgICAgICAgICAg
ICAgYm9keS5mb2N1cygpOworCisgICAgICAgICAgICAgICAgdmFyIHZpZEFYT2JqZWN0ID0gYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuY2hpbGRBdEluZGV4KDApOworICAg
ICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGR1bXBDaGlsZHJlbih2aWRBWE9iamVjdCk7
CisKKyAgICAgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyICYmIGV2
ZW50LnR5cGUgPT0gJ2xvYWQnKQorICAgICAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5ub3RpZnlEb25lKCk7ICAgICAKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+
CisgICAgPC9oZWFkPgorCis8Ym9keT4KKworICAgIDx2aWRlbyBpZD12aWQgc3JjPSIuLi9tZWRp
YS9jb250ZW50L3Rlc3QubXA0IiBjb250cm9scyBvbmxvYWRzdGFydD0iZHVtcFZpZGVvQVgoKSIg
b25sb2FkPSJkdW1wVmlkZW9BWCgpIj4KKyAgICA8L3ZpZGVvPgorCisgICAgPGRpdj5EdW1wICZs
dDt2aWRlbyZndDsgZWxlbWVudCBjb250cm9sbGVyIGFjY2Vzc2liaWxpdHkgb2JqZWN0IHRyZWUg
YXQgJ2xvYWRzdGFydCcgYW5kICdsb2FkJyBldmVudHMuPC9kaXY+CisgICAgCisgICAgPGRpdiBp
ZD1jb25zb2xlPjwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CisK
</data>
<flag name="review"
          id="18513"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38374</attachid>
            <date>2009-08-21 09:03:35 -0700</date>
            <delta_ts>2009-08-24 11:18:38 -0700</delta_ts>
            <desc>revised patch</desc>
            <filename>media_controller_patch_14.txt</filename>
            <type>text/plain</type>
            <size>125926</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NzU4OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsOTggQEAKKzIwMDktMDgtMjAgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBh
cHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgT2xpdmVyIEh1bnQuCisKKyAgICAgICAg
TmVlZCBhIHNob3J0IGRlc2NyaXB0aW9uIGFuZCBidWcgVVJMIChPT1BTISkKKworICAgICAgICBU
ZXN0OiBhY2Nlc3NpYmlsaXR5L21lZGlhLWVsZW1lbnQuaHRtbAorCisgICAgICAgICogR05VbWFr
ZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUucHJv
OgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJDb3JlU291cmNl
cy5ia2w6CisgICAgICAgICAgICBBZGQgQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHMuY3BwLy5o
CisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgorICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmpl
Y3RDYWNoZTo6Z2V0T3JDcmVhdGUpOgorICAgICAgICAgICAgQ3JlYXRlIEFjY2Vzc2liaWxpdHlN
ZWRpYUNvbnRyb2wuIFVwZGF0ZSBDb3B5cmlnaHQKKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHMuY3BwOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHMuaDoKKyAgICAgICAgICAgIEFkZGVkLgorCisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKKyAgICAgICAgKiBh
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaDoKKyAgICAgICAgICAgIEFkZCBpc01l
ZGlhVGltZWxpbmUuIFVwZGF0ZSBDb3B5cmlnaHQuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlTbGlkZXIuaDoKKyAgICAgICAgICAgIE1ha2UgY29uc3RydWN0b3IgcHJv
dGVjdGVkIGluc3RlYWQgb2YgcHJpdmF0ZSBzbyBBY2Nlc3NpYmlsaXR5TWVkaWFUaW1lbGluZSBj
YW4KKyAgICAgICAgICAgIGNhbGwgaXQuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9B
Y2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlci5tbToKKyAgICAgICAgKC1bQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXIgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZU5hbWVzXSk6CisgICAgICAgICAgICBB
ZGQgTlNBY2Nlc3NpYmlsaXR5VmFsdWVEZXNjcmlwdGlvbkF0dHJpYnV0ZSB0byByYW5nZSBhdHRy
aWJ1dGVzLiAKKyAgICAgICAgKC1bQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgc3Vicm9sZV0p
OgorICAgICAgICAgICAgUmV0dXJuIE5TQWNjZXNzaWJpbGl0eVRpbWVsaW5lU3Vicm9sZSBmb3Ig
QWNjZXNzaWJpbGl0eU1lZGlhVGltZWxpbmUuCisKKyAgICAgICAgKiBkb20vTm9kZS5oOgorICAg
ICAgICAgICAgYWRkIGlzTWVkaWFDb250cm9sRWxlbWVudC4KKworICAgICAgICAqIHBhZ2UvbWFj
L1dlYkNvcmVWaWV3RmFjdG9yeS5oOgorICAgICAgICAqIHBsYXRmb3JtL0xvY2FsaXplZFN0cmlu
Z3MuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvTG9jYWxpemVkU3RyaW5nc01hYy5tbToKKyAg
ICAgICAgKFdlYkNvcmU6OmxvY2FsaXplZE1lZGlhQ29udHJvbEVsZW1lbnRTdHJpbmcpOiAKKyAg
ICAgICAgKFdlYkNvcmU6OmxvY2FsaXplZE1lZGlhQ29udHJvbEVsZW1lbnRIZWxwVGV4dCk6Cisg
ICAgICAgIChXZWJDb3JlOjpsb2NhbGl6ZWRNZWRpYVRpbWVEZXNjcmlwdGlvbik6IAorICAgICAg
ICAgICAgTmV3LCByZXR1cm4gbG9jYWxpemVkIG1lZGlhIGNvbnRyb2xsZXIgc3RyaW5ncy4KKwor
CisgICAgICAgICogcGxhdGZvcm0vZ3RrL0xvY2FsaXplZFN0cmluZ3NHdGsuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6bWVkaWFFbGVtZW50TG9hZGluZ1N0YXRlVGV4dCk6CisgICAgICAgIChXZWJD
b3JlOjptZWRpYUVsZW1lbnRMaXZlQnJvYWRjYXN0U3RhdGVUZXh0KToKKyAgICAgICAgICAgIE1v
dmUgaW5zaWRlIG9mICIjaWYgRU5BQkxFKFZJREVPKSIKKyAgICAgICAgKFdlYkNvcmU6OmxvY2Fs
aXplZE1lZGlhQ29udHJvbEVsZW1lbnRTdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6bG9jYWxp
emVkTWVkaWFDb250cm9sRWxlbWVudEhlbHBUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OmxvY2Fs
aXplZE1lZGlhVGltZURlc2NyaXB0aW9uKToKKworICAgICAgICAqIHJlbmRlcmluZy9NZWRpYUNv
bnRyb2xFbGVtZW50cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xFbGVtZW50
OjpNZWRpYUNvbnRyb2xFbGVtZW50KToKKyAgICAgICAgICAgIEluaXRpYWxpemUgbV9kaXNwbGF5
VHlwZS4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbEVsZW1lbnQ6Ok1lZGlhQ29udHJv
bEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sU3RhdHVzRGlzcGxheUVs
ZW1lbnQ6Ok1lZGlhQ29udHJvbFN0YXR1c0Rpc3BsYXlFbGVtZW50KToKKyAgICAgICAgICAgIEZp
eCBzdHlsZS4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbElucHV0RWxlbWVudDo6TWVk
aWFDb250cm9sSW5wdXRFbGVtZW50KToKKyAgICAgICAgICAgIFNldCBtX2Rpc3BsYXlUeXBlIGJh
c2VkIG9uIHBzZXVkbyBzdHlsZSBJRC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbElu
cHV0RWxlbWVudDo6TWVkaWFDb250cm9sSW5wdXRFbGVtZW50KToKKyAgICAgICAgICAgIHJlbmFt
ZSBsb2NhbCAibyIgdG8gIm9iamVjdCIuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xN
dXRlQnV0dG9uRWxlbWVudDo6TWVkaWFDb250cm9sTXV0ZUJ1dHRvbkVsZW1lbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUGxheUJ1dHRvbkVsZW1lbnQ6Ok1lZGlhQ29udHJvbFBs
YXlCdXR0b25FbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFNlZWtCdXR0
b25FbGVtZW50OjpNZWRpYUNvbnRyb2xTZWVrQnV0dG9uRWxlbWVudCk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYUNvbnRyb2xSZXdpbmRCdXR0b25FbGVtZW50OjpNZWRpYUNvbnRyb2xSZXdpbmRC
dXR0b25FbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJldHVyblRvUmVh
bHRpbWVCdXR0b25FbGVtZW50OjpNZWRpYUNvbnRyb2xSZXR1cm5Ub1JlYWx0aW1lQnV0dG9uRWxl
bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQ6Ok1l
ZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRy
b2xGdWxsc2NyZWVuQnV0dG9uRWxlbWVudDo6TWVkaWFDb250cm9sRnVsbHNjcmVlbkJ1dHRvbkVs
ZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sVGltZWxpbmVFbGVtZW50OjpN
ZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250
cm9sVGltZWxpbmVFbGVtZW50OjpNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFDb250cm9sVGltZWxpbmVFbGVtZW50OjpNZWRpYUNvbnRyb2xUaW1l
bGluZUVsZW1lbnQpOgorICAgICAgICAgICAgVXBkYXRlIGZvciBNZWRpYUNvbnRyb2xJbnB1dEVs
ZW1lbnQgY29uc3RydWN0b3IgY2hhbmdlLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9s
VGltZURpc3BsYXlFbGVtZW50Ojpmb3JtYXRUaW1lKToKKyAgICAgICAgICAgIE5ldywgbW92ZWQg
aGVyZSBmcm9tIFJlbmRlck1lZGlhIHNvIEFjY2Vzc2liaWxpdHlNZWRpYVRpbWVEaXNwbGF5IGNh
biB1c2UgaXQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xUaW1lRGlzcGxheUVsZW1l
bnQ6OnNldEN1cnJlbnRWYWx1ZSk6CisgICAgICAgICAgICBOZXcsIHNldCB0ZXh0IHRvIGN1cnJl
bnQgdGltZS4KKyAgICAgICAgKiByZW5kZXJpbmcvTWVkaWFDb250cm9sRWxlbWVudHMuaDoKKwor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZWRpYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJNZWRpYTo6dXBkYXRlQ29udHJvbHMpOgorICAgICAgICAgICAgQ3JlYXRlIGNvbnRyb2xz
IGluIHRhYiBvcmRlci4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1lZGlhOjpmb3JtYXRUaW1l
KToKKyAgICAgICAgICAgIE1vdmVkIHRvIE1lZGlhQ29udHJvbFRpbWVEaXNwbGF5RWxlbWVudDo6
Zm9ybWF0VGltZS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1lZGlhOjp1cGRhdGVUaW1lRGlz
cGxheSk6CisgICAgICAgICAgICBDYWxsIE1lZGlhQ29udHJvbFRpbWVEaXNwbGF5RWxlbWVudDo6
c2V0Q3VycmVudFZhbHVlLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZWRpYS5oOgorCiAy
MDA5LTA4LTIwICBEbWl0cnkgVGl0b3YgIDxkaW1pY2hAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IEFub3RoZXIgYXR0ZW1wdCB0byBmaXggQ2hyb21pdW0gYnVpbGQuCkluZGV4OiBXZWJDb3JlL0dO
VW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvR05VbWFrZWZpbGUuYW0JKHJldmlz
aW9uIDQ3NTg5KQorKysgV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkod29ya2luZyBjb3B5KQpAQCAt
Mjg2LDYgKzI4Niw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlMaXN0Qm94LmggXAogCVdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5TGlzdEJveE9wdGlvbi5jcHAgXAogCVdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5TGlzdEJveE9wdGlvbi5oIFwKKwlXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eU1lZGlhQ29udHJvbHMuY3BwIFwKKwlXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eU1lZGlhQ29udHJvbHMuaCBcCiAJV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlPYmplY3QuY3BwIFwKIAlXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9i
amVjdC5oIFwKIAlXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVj
dC5jcHAgXApJbmRleDogV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDQ3NTg5KQorKysgV2ViQ29yZS9XZWJDb3JlLmd5cGkJ
KHdvcmtpbmcgY29weSkKQEAgLTM3Miw2ICszNzIsOCBAQAogICAgICAgICAgICAgJ2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eUxpc3RCb3guaCcsCiAgICAgICAgICAgICAnYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5TGlzdEJveE9wdGlvbi5jcHAnLAogICAgICAgICAgICAgJ2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eUxpc3RCb3hPcHRpb24uaCcsCisgICAgICAgICAgICAnYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9scy5jcHAnLAorICAgICAgICAgICAgJ2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHMuaCcsCiAgICAgICAgICAgICAn
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCcsCiAgICAgICAgICAgICAnYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgnLAogICAgICAgICAgICAgJ2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAnLApJbmRleDogV2ViQ29yZS9XZWJD
b3JlLnBybwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUucHJvCShyZXZpc2lvbiA0NzU4
OSkKKysrIFdlYkNvcmUvV2ViQ29yZS5wcm8JKHdvcmtpbmcgY29weSkKQEAgLTYyMyw2ICs2MjMs
NyBAQCBJRExfQklORElOR1MgKz0gXAogCiBTT1VSQ0VTICs9IFwKICAgICBhY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlJbWFnZU1hcExpbmsuY3BwIFwKKyAgICBhY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlNZWRpYUNvbnRyb2xzLmNwcCBcICAgIAogICAgIGFjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eU9iamVjdC5jcHAgXCAgICAKICAgICBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlM
aXN0LmNwcCBcICAgIAogICAgIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUxpc3RCb3guY3Bw
IFwgICAgCkBAIC0xMzE3LDYgKzEzMTgsNyBAQCBIRUFERVJTICs9IFwKICAgICBhY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlMaXN0Qm94LmggXAogICAgIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eUxpc3RCb3hPcHRpb24uaCBcCiAgICAgYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TGlz
dC5oIFwKKyAgICBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xzLmggXAog
ICAgIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oIFwKICAgICBhY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuaCBcCiAgICAgYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5U2xpZGVyLmggXApJbmRleDogV2ViQ29yZS9XZWJDb3JlU291cmNlcy5ia2wKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlU291cmNlcy5ia2wJKHJldmlzaW9uIDQ3NTg5KQor
KysgV2ViQ29yZS9XZWJDb3JlU291cmNlcy5ia2wJKHdvcmtpbmcgY29weSkKQEAgLTM3LDYgKzM3
LDcgQEAgVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGZpbGVzIG5lZQogICAgICAgICBh
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBUklBR3JpZENlbGwuY3BwCiAgICAgICAgIGFjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eUFSSUFHcmlkUm93LmNwcAogICAgICAgICBhY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlJbWFnZU1hcExpbmsuY3BwCisgICAgICAgIGFjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHMuY3BwCiAgICAgICAgIGFjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU9iamVjdC5jcHAKICAgICAgICAgYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
TGlzdC5jcHAKICAgICAgICAgYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TGlzdEJveC5jcHAK
SW5kZXg6IFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkocmV2aXNpb24gNDc1ODkp
CisrKyBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCSh3b3JraW5nIGNvcHkp
CkBAIC0xNjU5Myw2ICsxNjU5MywxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUN
CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxhY2Nlc3NpYmlsaXR5XEFjY2Vzc2liaWxpdHlNZWRpYUNv
bnRyb2xzLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXGFjY2Vzc2liaWxpdHlcQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHMuaCINCisJ
CQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGFjY2Vz
c2liaWxpdHlcQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpJ
bmRleDogV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9u
IDQ3NTg5KQorKysgV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdv
cmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDggQEAKIAkJMDcwOUZDNEMxMDI1REVEODAwNTlDREJB
IC8qIEFjY2Vzc2liaWxpdHlTbGlkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMDcwOUZDNEIxMDI1REVEODAwNTlDREJBIC8qIEFjY2Vzc2liaWxp
dHlTbGlkZXIuY3BwICovOyB9OwogCQkwNzA5RkM0RTEwMjVERUUzMDA1OUNEQkEgLyogQWNjZXNz
aWJpbGl0eVNsaWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMDcwOUZDNEQxMDI1REVFMzAwNTlDREJBIC8qIEFjY2Vzc2liaWxpdHlTbGlkZXIuaCAq
LzsgfTsKIAkJMDczNUVFNkEwRjQwQzVFNDAwNEEyNjA0IC8qIE1lZGlhUGxheWVyUHJveHkuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MzVFRTY5MEY0
MEM1RTQwMDRBMjYwNCAvKiBNZWRpYVBsYXllclByb3h5LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMDdCMDExM0QxMDMyMjQxOTAwRkJEQzMzIC8q
IEFjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3QjAxMTNDMTAzMjI0MTkwMEZCREMzMyAvKiBBY2Nlc3Np
YmlsaXR5TWVkaWFDb250cm9scy5jcHAgKi87IH07CisJCTA3QjAxMTNGMTAzMjI0MjIwMEZCREMz
MyAvKiBBY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9scy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDdCMDExM0UxMDMyMjQyMjAwRkJEQzMzIC8qIEFjY2Vz
c2liaWxpdHlNZWRpYUNvbnRyb2xzLmggKi87IH07CiAJCTA4MDA4MTk2MEVEM0IyREQwMEM1M0JD
MCAvKiBXTUxBbmNob3JFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDA4MDA4MTk0MEVEM0IyREQwMEM1M0JDMCAvKiBXTUxBbmNob3JFbGVt
ZW50LmNwcCAqLzsgfTsKIAkJMDgwMDgxOTcwRUQzQjJERDAwQzUzQkMwIC8qIFdNTEFuY2hvckVs
ZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4
MDA4MTk1MEVEM0IyREQwMEM1M0JDMCAvKiBXTUxBbmNob3JFbGVtZW50LmggKi87IH07CiAJCTA4
MDRCRjZFMEVFMDlDM0IwMDA2QzAwMCAvKiBXTUxEb0VsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDgwNEJGNkMwRUUwOUMzQjAwMDZDMDAw
IC8qIFdNTERvRWxlbWVudC5jcHAgKi87IH07CkBAIC01MDMwLDYgKzUwMzIsOCBAQAogCQkwNzM1
RUU2OTBGNDBDNUU0MDA0QTI2MDQgLyogTWVkaWFQbGF5ZXJQcm94eS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVBsYXllclByb3h5Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTA3OUY1RTRCMEYzQkVCRUEwMDVFMDc4MiAvKiBNZWRpYVBsYXllclByaXZh
dGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFQbGF5ZXJQcml2YXRl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3QUZFNTkwMEYxNDQ2QkQwMDg0MTYx
NyAvKiBtZWRpYUNvbnRyb2xzUVQuY3NzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IG1lZGlhQ29u
dHJvbHNRVC5jc3M7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTA3QjAxMTNDMTAzMjI0
MTkwMEZCREMzMyAvKiBBY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9scy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9scy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTA3QjAxMTNFMTAzMjI0MjIwMEZCREMzMyAv
KiBBY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9scy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBBY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9scy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkwODAwODE5NDBFRDNCMkREMDBDNTNCQzAgLyogV01MQW5jaG9yRWxlbWVudC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXTUxBbmNob3JFbGVtZW50
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDgwMDgxOTUwRUQzQjJERDAwQzUz
QkMwIC8qIFdNTEFuY2hvckVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gV01MQW5jaG9yRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODA0
QkY2QzBFRTA5QzNCMDAwNkMwMDAgLyogV01MRG9FbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdNTERvRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0xMDAyOSw2ICsxMDAzMyw4IEBACiAJCQkJMjlBODEyMjUwRkJCOUMxRDAw
NTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlMaXN0Qm94LmggKi8sCiAJCQkJMjlBODEyMUYwRkJCOUMx
RDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlMaXN0Qm94T3B0aW9uLmNwcCAqLywKIAkJCQkyOUE4
MTIyNDBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eUxpc3RCb3hPcHRpb24uaCAqLywK
KwkJCQkwN0IwMTEzQzEwMzIyNDE5MDBGQkRDMzMgLyogQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJv
bHMuY3BwICovLAorCQkJCTA3QjAxMTNFMTAzMjI0MjIwMEZCREMzMyAvKiBBY2Nlc3NpYmlsaXR5
TWVkaWFDb250cm9scy5oICovLAogCQkJCTI5QTgxMjFFMEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nl
c3NpYmlsaXR5T2JqZWN0LmNwcCAqLywKIAkJCQkyOUE4MTIxODBGQkI5QzFEMDA1MTAyOTMgLyog
QWNjZXNzaWJpbGl0eU9iamVjdC5oICovLAogCQkJCTI5QTgxMjA4MEZCQjlDMUQwMDUxMDI5MyAv
KiBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCAqLywKQEAgLTE1MDI0LDYgKzE1MDMwLDcg
QEAKIAkJCQkyOUE4MTIyQzBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eUxpc3QuaCBp
biBIZWFkZXJzICovLAogCQkJCTI5QTgxMjQzMEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmls
aXR5TGlzdEJveC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjlBODEyNDIwRkJCOUMxRDAwNTEwMjkz
IC8qIEFjY2Vzc2liaWxpdHlMaXN0Qm94T3B0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQkwN0Iw
MTEzRjEwMzIyNDIyMDBGQkRDMzMgLyogQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTI5QTgxMjM2MEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5
T2JqZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQkyOUE4MTI0OTBGQkI5Q0E5MDA1MTAyOTMgLyog
QWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTI5QTgxMjM5
MEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmggaW4gSGVhZGVy
cyAqLywKQEAgLTE3NTg5LDYgKzE3NTk2LDcgQEAKIAkJCQkyOUE4MTIyRjBGQkI5QzFEMDA1MTAy
OTMgLyogQWNjZXNzaWJpbGl0eUxpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMjlBODEyM0Uw
RkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlMaXN0Qm94LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTI5QTgxMjNEMEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5TGlzdEJveE9w
dGlvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwN0IwMTEzRDEwMzIyNDE5MDBGQkRDMzMgLyog
QWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMjlBODEy
M0MwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlPYmplY3QuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMjlBODEyNDgwRkJCOUNBOTAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlPYmplY3RN
YWMubW0gaW4gU291cmNlcyAqLywKIAkJCQkyOUE4MTI0QTBGQkI5Q0E5MDA1MTAyOTMgLyogQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIubW0gaW4gU291cmNlcyAqLywKSW5kZXg6IFdlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAJKHJldmlzaW9uIDQ3NTg5KQorKysgV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUg
KzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zNiw2ICsz
Niw3IEBACiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eUxpc3RCb3guaCIKICNpbmNsdWRlICJBY2Nl
c3NpYmlsaXR5TGlzdEJveE9wdGlvbi5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlJbWFnZU1h
cExpbmsuaCIKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9scy5oIgogI2luY2x1
ZGUgIkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5
U2xpZGVyLmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eVRhYmxlLmgiCkBAIC00Niw2ICs0Nyw5
IEBACiAjaW5jbHVkZSAiRm9jdXNDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNp
bmNsdWRlICJIVE1MTmFtZXMuaCIKKyNpZiBFTkFCTEUoVklERU8pCisjaW5jbHVkZSAiTWVkaWFD
b250cm9sRWxlbWVudHMuaCIKKyNlbmRpZgogI2luY2x1ZGUgIklucHV0RWxlbWVudC5oIgogI2lu
Y2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKQEAgLTE1Nyw2ICsxNjEs
MTIgQEAgQWNjZXNzaWJpbGl0eU9iamVjdCogQVhPYmplY3RDYWNoZTo6Z2V0TwogICAgICAgICBl
bHNlIGlmIChyZW5kZXJlci0+aXNUYWJsZUNlbGwoKSkKICAgICAgICAgICAgIG5ld09iaiA9IEFj
Y2Vzc2liaWxpdHlUYWJsZUNlbGw6OmNyZWF0ZShyZW5kZXJlcik7CiAKKyNpZiBFTkFCTEUoVklE
RU8pCisgICAgICAgIC8vIG1lZGlhIGNvbnRyb2xzCisgICAgICAgIGVsc2UgaWYgKHJlbmRlcmVy
LT5ub2RlKCkgJiYgcmVuZGVyZXItPm5vZGUoKS0+aXNNZWRpYUNvbnRyb2xFbGVtZW50KCkpCisg
ICAgICAgICAgICBuZXdPYmogPSBBY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9sOjpjcmVhdGUocmVu
ZGVyZXIpOworI2VuZGlmCisKICAgICAgICAgLy8gaW5wdXQgdHlwZT1yYW5nZQogICAgICAgICBl
bHNlIGlmIChyZW5kZXJlci0+aXNTbGlkZXIoKSkKICAgICAgICAgICAgIG5ld09iaiA9IEFjY2Vz
c2liaWxpdHlTbGlkZXI6OmNyZWF0ZShyZW5kZXJlcik7CkluZGV4OiBXZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQVhPYmplY3RDYWNoZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BWE9iamVjdENhY2hlLmgJKHJldmlzaW9uIDQ3NTg5KQorKysgV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FYT2JqZWN0Q2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMDMsIDIwMDYsIDIwMDcsIDIwMDggQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA2LCAyMDA3LCAyMDA4LCAy
MDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpJbmRleDogV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlNZWRp
YUNvbnRyb2xzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eU1lZGlhQ29udHJvbHMuY3BwCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xzLmNwcAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSwzMTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gIE5laXRoZXIgdGhlIG5hbWUg
b2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAg
ICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKFZJREVPKQor
CisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHMuaCIKKworI2luY2x1ZGUgIkFY
T2JqZWN0Q2FjaGUuaCIKKyNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCisjaW5jbHVkZSAi
SFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiTG9jYWxpemVkU3RyaW5ncy5oIgorI2luY2x1ZGUgIk1l
ZGlhQ29udHJvbEVsZW1lbnRzLmgiCisjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCisjaW5jbHVk
ZSAiUmVuZGVyU2xpZGVyLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordXNpbmcgbmFtZXNw
YWNlIEhUTUxOYW1lczsKKworCitBY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9sOjpBY2Nlc3NpYmls
aXR5TWVkaWFDb250cm9sKFJlbmRlck9iamVjdCogcmVuZGVyZXIpCisgICAgOiBBY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0KHJlbmRlcmVyKQoreworfQorCitQYXNzUmVmUHRyPEFjY2Vzc2liaWxp
dHlPYmplY3Q+IEFjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2w6OmNyZWF0ZShSZW5kZXJPYmplY3Qq
IHJlbmRlcmVyKQoreworICAgIEFTU0VSVChyZW5kZXJlci0+bm9kZSgpICYmIHJlbmRlcmVyLT5u
b2RlKCktPmlzTWVkaWFDb250cm9sRWxlbWVudCgpKTsKKworICAgIE5vZGUqIG5vZGUgPSByZW5k
ZXJlci0+bm9kZSgpOworICAgIE1lZGlhQ29udHJvbEVsZW1lbnRUeXBlIGNvbnRyb2xUeXBlOwor
CisgICAgaWYgKG5vZGUtPmhhc1RhZ05hbWUoaW5wdXRUYWcpKQorICAgICAgICBjb250cm9sVHlw
ZSA9IHN0YXRpY19jYXN0PE1lZGlhQ29udHJvbElucHV0RWxlbWVudCo+KG5vZGUpLT5kaXNwbGF5
VHlwZSgpOworICAgIGVsc2UKKyAgICAgICAgY29udHJvbFR5cGUgPSBzdGF0aWNfY2FzdDxNZWRp
YUNvbnRyb2xFbGVtZW50Kj4obm9kZSktPmRpc3BsYXlUeXBlKCk7CisKKyAgICBQYXNzUmVmUHRy
PEFjY2Vzc2liaWxpdHlPYmplY3Q+IG9iajsKKyAgICBzd2l0Y2ggKGNvbnRyb2xUeXBlKSB7Cisg
ICAgY2FzZSBNZWRpYVNsaWRlcjoKKyAgICAgICAgb2JqID0gQWNjZXNzaWJpbGl0eU1lZGlhVGlt
ZWxpbmU6OmNyZWF0ZShyZW5kZXJlcik7CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBNZWRp
YUN1cnJlbnRUaW1lRGlzcGxheToKKyAgICBjYXNlIE1lZGlhVGltZVJlbWFpbmluZ0Rpc3BsYXk6
CisgICAgICAgIG9iaiA9IEFjY2Vzc2liaWxpdHlNZWRpYVRpbWVEaXNwbGF5OjpjcmVhdGUocmVu
ZGVyZXIpOworICAgICAgICBicmVhazsKKworICAgIGNhc2UgTWVkaWFDb250cm9sc1BhbmVsOgor
ICAgICAgICBvYmogPSBBY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9sc0NvbnRhaW5lcjo6Y3JlYXRl
KHJlbmRlcmVyKTsKKyAgICAgICAgYnJlYWs7CisKKyAgICBkZWZhdWx0OgorICAgICAgICBvYmog
PSBhZG9wdFJlZihuZXcgQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbChyZW5kZXJlcikpOworICAg
ICAgICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4gb2JqOworfQorCitNZWRpYUNvbnRyb2xF
bGVtZW50VHlwZSBBY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9sOjpjb250cm9sVHlwZSgpIGNvbnN0
Cit7CisgICAgaWYgKCFyZW5kZXJlcigpIHx8ICFyZW5kZXJlcigpLT5ub2RlKCkpCisgICAgICAg
IHJldHVybiBNZWRpYVRpbWVsaW5lQ29udGFpbmVyOyAgLy8gVGltZWxpbmUgY29udGFpbmVyIGlz
IG5vdCBhY2Nlc3NpYmxlLgorCisgICAgTm9kZSogbm9kZSA9IHJlbmRlcmVyKCktPm5vZGUoKTsK
KworICAgIGlmIChub2RlLT5oYXNUYWdOYW1lKGlucHV0VGFnKSkKKyAgICAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PE1lZGlhQ29udHJvbElucHV0RWxlbWVudCo+KG5vZGUpLT5kaXNwbGF5VHlwZSgp
OworCisgICAgcmV0dXJuIHN0YXRpY19jYXN0PE1lZGlhQ29udHJvbEVsZW1lbnQqPihub2RlKS0+
ZGlzcGxheVR5cGUoKTsKK30KKworU3RyaW5nIEFjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2w6OmNv
bnRyb2xUeXBlTmFtZSgpIGNvbnN0Cit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBT
dHJpbmcsIG1lZGlhTXV0ZUJ1dHRvbk5hbWUsICgiTXV0ZUJ1dHRvbiIpKTsKKyAgICBERUZJTkVf
U1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywgbWVkaWFQbGF5QnV0dG9uTmFtZSwgKCJQbGF5QnV0
dG9uIikpOworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCBtZWRpYVNlZWtC
YWNrQnV0dG9uTmFtZSwgKCJTZWVrQmFja0J1dHRvbiIpKTsKKyAgICBERUZJTkVfU1RBVElDX0xP
Q0FMKGNvbnN0IFN0cmluZywgbWVkaWFTZWVrRm9yd2FyZEJ1dHRvbk5hbWUsICgiU2Vla0Zvcndh
cmRCdXR0b24iKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIG1lZGlh
UmV3aW5kQnV0dG9uTmFtZSwgKCJSZXdpbmRCdXR0b24iKSk7CisgICAgREVGSU5FX1NUQVRJQ19M
T0NBTChjb25zdCBTdHJpbmcsIG1lZGlhUmV0dXJuVG9SZWFsdGltZUJ1dHRvbk5hbWUsICgiUmV0
dXJuVG9SZWFsdGltZUJ1dHRvbiIpKTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0
cmluZywgbWVkaWFVbk11dGVCdXR0b25OYW1lLCAoIlVuTXV0ZUJ1dHRvbiIpKTsKKyAgICBERUZJ
TkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywgbWVkaWFQYXVzZUJ1dHRvbk5hbWUsICgiUGF1
c2VCdXR0b24iKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIG1lZGlh
U3RhdHVzRGlzcGxheU5hbWUsICgiU3RhdHVzRGlzcGxheSIpKTsKKyAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKGNvbnN0IFN0cmluZywgbWVkaWFDdXJyZW50VGltZURpc3BsYXksICgiQ3VycmVudFRp
bWVEaXNwbGF5IikpOworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCBtZWRp
YVRpbWVSZW1haW5pbmdEaXNwbGF5LCAoIlRpbWVSZW1haW5pbmdEaXNwbGF5IikpOworCisgICAg
c3dpdGNoIChjb250cm9sVHlwZSgpKSB7CisgICAgY2FzZSBNZWRpYU11dGVCdXR0b246CisgICAg
ICAgIHJldHVybiBtZWRpYU11dGVCdXR0b25OYW1lOworICAgIGNhc2UgTWVkaWFQbGF5QnV0dG9u
OgorICAgICAgICByZXR1cm4gbWVkaWFQbGF5QnV0dG9uTmFtZTsKKyAgICBjYXNlIE1lZGlhU2Vl
a0JhY2tCdXR0b246CisgICAgICAgIHJldHVybiBtZWRpYVNlZWtCYWNrQnV0dG9uTmFtZTsKKyAg
ICBjYXNlIE1lZGlhU2Vla0ZvcndhcmRCdXR0b246CisgICAgICAgIHJldHVybiBtZWRpYVNlZWtG
b3J3YXJkQnV0dG9uTmFtZTsKKyAgICBjYXNlIE1lZGlhUmV3aW5kQnV0dG9uOgorICAgICAgICBy
ZXR1cm4gbWVkaWFSZXdpbmRCdXR0b25OYW1lOworICAgIGNhc2UgTWVkaWFSZXR1cm5Ub1JlYWx0
aW1lQnV0dG9uOgorICAgICAgICByZXR1cm4gbWVkaWFSZXR1cm5Ub1JlYWx0aW1lQnV0dG9uTmFt
ZTsKKyAgICBjYXNlIE1lZGlhVW5NdXRlQnV0dG9uOgorICAgICAgICByZXR1cm4gbWVkaWFVbk11
dGVCdXR0b25OYW1lOworICAgIGNhc2UgTWVkaWFQYXVzZUJ1dHRvbjoKKyAgICAgICAgcmV0dXJu
IG1lZGlhUGF1c2VCdXR0b25OYW1lOworICAgIGNhc2UgTWVkaWFTdGF0dXNEaXNwbGF5OgorICAg
ICAgICByZXR1cm4gbWVkaWFTdGF0dXNEaXNwbGF5TmFtZTsKKyAgICBjYXNlIE1lZGlhQ3VycmVu
dFRpbWVEaXNwbGF5OgorICAgICAgICByZXR1cm4gbWVkaWFDdXJyZW50VGltZURpc3BsYXk7Cisg
ICAgY2FzZSBNZWRpYVRpbWVSZW1haW5pbmdEaXNwbGF5OgorICAgICAgICByZXR1cm4gbWVkaWFU
aW1lUmVtYWluaW5nRGlzcGxheTsKKworICAgIGRlZmF1bHQ6CisgICAgICAgIGJyZWFrOworICAg
IH0KKworICAgIHJldHVybiBTdHJpbmcoKTsKK30KKworU3RyaW5nIEFjY2Vzc2liaWxpdHlNZWRp
YUNvbnRyb2w6OnRpdGxlKCkgY29uc3QKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0
IFN0cmluZywgY29udHJvbHNQYW5lbCwgKCJDb250cm9sc1BhbmVsIikpOworCisgICAgaWYgKGNv
bnRyb2xUeXBlKCkgPT0gTWVkaWFDb250cm9sc1BhbmVsKQorICAgICAgICByZXR1cm4gbG9jYWxp
emVkTWVkaWFDb250cm9sRWxlbWVudFN0cmluZyhjb250cm9sc1BhbmVsKTsKKworICAgIHJldHVy
biBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojp0aXRsZSgpOworfQorCitTdHJpbmcgQWNjZXNz
aWJpbGl0eU1lZGlhQ29udHJvbDo6YWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gbG9jYWxpemVkTWVkaWFDb250cm9sRWxlbWVudFN0cmluZyhjb250cm9sVHlw
ZU5hbWUoKSk7Cit9CisKK1N0cmluZyBBY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9sOjpoZWxwVGV4
dCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGxvY2FsaXplZE1lZGlhQ29udHJvbEVsZW1lbnRIZWxw
VGV4dChjb250cm9sVHlwZU5hbWUoKSk7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eU1lZGlhQ29u
dHJvbDo6YWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0Cit7CisgICAgaWYgKCFtX3JlbmRl
cmVyIHx8ICFtX3JlbmRlcmVyLT5zdHlsZSgpIHx8IG1fcmVuZGVyZXItPnN0eWxlKCktPnZpc2li
aWxpdHkoKSAhPSBWSVNJQkxFIHx8IGNvbnRyb2xUeXBlKCkgPT0gTWVkaWFUaW1lbGluZUNvbnRh
aW5lcikKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK0Fj
Y2Vzc2liaWxpdHlSb2xlIEFjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2w6OnJvbGVWYWx1ZSgpIGNv
bnN0Cit7CisgICAgc3dpdGNoIChjb250cm9sVHlwZSgpKSB7CisgICAgY2FzZSBNZWRpYUZ1bGxz
Y3JlZW5CdXR0b246CisgICAgY2FzZSBNZWRpYU11dGVCdXR0b246CisgICAgY2FzZSBNZWRpYVBs
YXlCdXR0b246CisgICAgY2FzZSBNZWRpYVNlZWtCYWNrQnV0dG9uOgorICAgIGNhc2UgTWVkaWFT
ZWVrRm9yd2FyZEJ1dHRvbjoKKyAgICBjYXNlIE1lZGlhUmV3aW5kQnV0dG9uOgorICAgIGNhc2Ug
TWVkaWFSZXR1cm5Ub1JlYWx0aW1lQnV0dG9uOgorICAgIGNhc2UgTWVkaWFVbk11dGVCdXR0b246
CisgICAgY2FzZSBNZWRpYVBhdXNlQnV0dG9uOgorICAgICAgICByZXR1cm4gQnV0dG9uUm9sZTsK
KworICAgIGNhc2UgTWVkaWFTdGF0dXNEaXNwbGF5OgorICAgICAgICByZXR1cm4gU3RhdGljVGV4
dFJvbGU7CisKKyAgICBjYXNlIE1lZGlhVGltZWxpbmVDb250YWluZXI6CisgICAgICAgIHJldHVy
biBHcm91cFJvbGU7CisKKyAgICBkZWZhdWx0OgorICAgICAgICBicmVhazsKKyAgICB9CisKKyAg
ICByZXR1cm4gVW5rbm93blJvbGU7Cit9CisKKworCisvLworLy8gQWNjZXNzaWJpbGl0eU1lZGlh
Q29udHJvbHNDb250YWluZXIKKworQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHNDb250YWluZXI6
OkFjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xzQ29udGFpbmVyKFJlbmRlck9iamVjdCogcmVuZGVy
ZXIpCisgICAgOiBBY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9sKHJlbmRlcmVyKQoreworfQorCitQ
YXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlPYmplY3Q+IEFjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xz
Q29udGFpbmVyOjpjcmVhdGUoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKK3sKKyAgICByZXR1cm4g
YWRvcHRSZWYobmV3IEFjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xzQ29udGFpbmVyKHJlbmRlcmVy
KSk7Cit9CisKK1N0cmluZyBBY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9sc0NvbnRhaW5lcjo6YWNj
ZXNzaWJpbGl0eURlc2NyaXB0aW9uKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbG9jYWxpemVkTWVk
aWFDb250cm9sRWxlbWVudFN0cmluZyhlbGVtZW50VHlwZU5hbWUoKSk7Cit9CisKK1N0cmluZyBB
Y2Nlc3NpYmlsaXR5TWVkaWFDb250cm9sc0NvbnRhaW5lcjo6aGVscFRleHQoKSBjb25zdAorewor
ICAgIHJldHVybiBsb2NhbGl6ZWRNZWRpYUNvbnRyb2xFbGVtZW50SGVscFRleHQoZWxlbWVudFR5
cGVOYW1lKCkpOworfQorCitib29sIEFjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xzQ29udGFpbmVy
Ojpjb250cm9sbGluZ1ZpZGVvRWxlbWVudCgpIGNvbnN0Cit7CisgICAgaWYgKCFtX3JlbmRlcmVy
LT5ub2RlKCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgTWVkaWFDb250cm9sVGltZURp
c3BsYXlFbGVtZW50KiBlbGVtZW50ID0gc3RhdGljX2Nhc3Q8TWVkaWFDb250cm9sVGltZURpc3Bs
YXlFbGVtZW50Kj4obV9yZW5kZXJlci0+bm9kZSgpKTsKKworICAgIHJldHVybiBlbGVtZW50LT5t
ZWRpYUVsZW1lbnQoKS0+aXNWaWRlbygpOworfQorCitjb25zdCBTdHJpbmcgQWNjZXNzaWJpbGl0
eU1lZGlhQ29udHJvbHNDb250YWluZXI6OmVsZW1lbnRUeXBlTmFtZSgpIGNvbnN0Cit7CisgICAg
REVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIHZpZGVvRWxlbWVudCwgKCJWaWRlb0Vs
ZW1lbnQiKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIGF1ZGlvRWxl
bWVudCwgKCJBdWRpb0VsZW1lbnQiKSk7CisKKyAgICBpZiAoY29udHJvbGxpbmdWaWRlb0VsZW1l
bnQoKSkKKyAgICAgICAgcmV0dXJuIHZpZGVvRWxlbWVudDsKKyAgICByZXR1cm4gYXVkaW9FbGVt
ZW50OworfQorCisKKy8vCisvLyBBY2Nlc3NpYmlsaXR5TWVkaWFUaW1lbGluZQorCitBY2Nlc3Np
YmlsaXR5TWVkaWFUaW1lbGluZTo6QWNjZXNzaWJpbGl0eU1lZGlhVGltZWxpbmUoUmVuZGVyT2Jq
ZWN0KiByZW5kZXJlcikKKyAgICA6IEFjY2Vzc2liaWxpdHlTbGlkZXIocmVuZGVyZXIpCit7Cit9
CisKK1Bhc3NSZWZQdHI8QWNjZXNzaWJpbGl0eU9iamVjdD4gQWNjZXNzaWJpbGl0eU1lZGlhVGlt
ZWxpbmU6OmNyZWF0ZShSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQoreworICAgIHJldHVybiBhZG9w
dFJlZihuZXcgQWNjZXNzaWJpbGl0eU1lZGlhVGltZWxpbmUocmVuZGVyZXIpKTsKK30KKworU3Ry
aW5nIEFjY2Vzc2liaWxpdHlNZWRpYVRpbWVsaW5lOjp2YWx1ZURlc2NyaXB0aW9uKCkgY29uc3QK
K3sKKyAgICBmbG9hdCB0aW1lID0gc3RhdGljX2Nhc3Q8SFRNTElucHV0RWxlbWVudCo+KG1fcmVu
ZGVyZXItPm5vZGUoKSktPnZhbHVlKCkudG9GbG9hdCgpOworICAgIFN0cmluZyB2YWx1ZSA9IGxv
Y2FsaXplZE1lZGlhVGltZURlc2NyaXB0aW9uKHRpbWUpOworICAgIHJldHVybiB2YWx1ZTsKK30K
KworU3RyaW5nIEFjY2Vzc2liaWxpdHlNZWRpYVRpbWVsaW5lOjpoZWxwVGV4dCgpIGNvbnN0Cit7
CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIHNsaWRlciwgKCJTbGlkZXIi
KSk7CisgICAgcmV0dXJuIGxvY2FsaXplZE1lZGlhQ29udHJvbEVsZW1lbnRIZWxwVGV4dChzbGlk
ZXIpOworfQorCisKKy8vCisvLyBBY2Nlc3NpYmlsaXR5TWVkaWFUaW1lRGlzcGxheQorCitBY2Nl
c3NpYmlsaXR5TWVkaWFUaW1lRGlzcGxheTo6QWNjZXNzaWJpbGl0eU1lZGlhVGltZURpc3BsYXko
UmVuZGVyT2JqZWN0KiByZW5kZXJlcikKKyAgICA6IEFjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2wo
cmVuZGVyZXIpCit7Cit9CisKK1Bhc3NSZWZQdHI8QWNjZXNzaWJpbGl0eU9iamVjdD4gQWNjZXNz
aWJpbGl0eU1lZGlhVGltZURpc3BsYXk6OmNyZWF0ZShSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQor
eworICAgIHJldHVybiBhZG9wdFJlZihuZXcgQWNjZXNzaWJpbGl0eU1lZGlhVGltZURpc3BsYXko
cmVuZGVyZXIpKTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5TWVkaWFUaW1lRGlzcGxheTo6YWNj
ZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0Cit7CisgICAgaWYgKCFtX3JlbmRlcmVyIHx8ICFt
X3JlbmRlcmVyLT5zdHlsZSgpIHx8IG1fcmVuZGVyZXItPnN0eWxlKCktPnZpc2liaWxpdHkoKSAh
PSBWSVNJQkxFKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIHJldHVybiAhbV9yZW5kZXJl
ci0+c3R5bGUoKS0+d2lkdGgoKS52YWx1ZSgpOworfQorCitTdHJpbmcgQWNjZXNzaWJpbGl0eU1l
ZGlhVGltZURpc3BsYXk6OmFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbigpIGNvbnN0Cit7CisgICAg
REVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIGN1cnJlbnRUaW1lRGlzcGxheSwgKCJD
dXJyZW50VGltZURpc3BsYXkiKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJp
bmcsIHRpbWVSZW1haW5pbmdEaXNwbGF5LCAoIlRpbWVSZW1haW5pbmdEaXNwbGF5IikpOworCisg
ICAgaWYgKGNvbnRyb2xUeXBlKCkgPT0gTWVkaWFDdXJyZW50VGltZURpc3BsYXkpCisgICAgICAg
IHJldHVybiBsb2NhbGl6ZWRNZWRpYUNvbnRyb2xFbGVtZW50U3RyaW5nKGN1cnJlbnRUaW1lRGlz
cGxheSk7CisKKyAgICByZXR1cm4gbG9jYWxpemVkTWVkaWFDb250cm9sRWxlbWVudFN0cmluZyh0
aW1lUmVtYWluaW5nRGlzcGxheSk7Cit9CisKK1N0cmluZyBBY2Nlc3NpYmlsaXR5TWVkaWFUaW1l
RGlzcGxheTo6c3RyaW5nVmFsdWUoKSBjb25zdAoreworICAgIGlmICghbV9yZW5kZXJlciB8fCAh
bV9yZW5kZXJlci0+bm9kZSgpKQorICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisKKyAgICBNZWRp
YUNvbnRyb2xUaW1lRGlzcGxheUVsZW1lbnQqIGVsZW1lbnQgPSBzdGF0aWNfY2FzdDxNZWRpYUNv
bnRyb2xUaW1lRGlzcGxheUVsZW1lbnQqPihtX3JlbmRlcmVyLT5ub2RlKCkpOworICAgIGZsb2F0
IHRpbWUgPSBlbGVtZW50LT5jdXJyZW50VmFsdWUoKTsKKyAgICByZXR1cm4gbG9jYWxpemVkTWVk
aWFUaW1lRGVzY3JpcHRpb24oZmFic2YodGltZSkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoVklERU8pCkluZGV4OiBXZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHMuaAkocmV2aXNpb24gMCkKKysr
IFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9scy5oCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDExNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiAgTmVp
dGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBu
YW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Cisg
KiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworCisjaWZuZGVmIEFjY2Vzc2liaWxpdHlNZWRpYUNv
bnRyb2xzX2gKKyNkZWZpbmUgQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHNfaAorCisjaWYgRU5B
QkxFKFZJREVPKQorCisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eVNsaWRlci5oIgorI2luY2x1ZGUg
Ik1lZGlhQ29udHJvbEVsZW1lbnRzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworICAgIGNs
YXNzIEFjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2wgOiBwdWJsaWMgQWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdCB7CisKKyAgICBwdWJsaWM6CisgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPEFjY2Vz
c2liaWxpdHlPYmplY3Q+IGNyZWF0ZShSZW5kZXJPYmplY3QqKTsKKyAgICAgICAgdmlydHVhbCB+
QWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbCgpIHsgfQorCisgICAgICAgIHZpcnR1YWwgQWNjZXNz
aWJpbGl0eVJvbGUgcm9sZVZhbHVlKCkgY29uc3Q7CisgICAgICAgIHZpcnR1YWwgYm9vbCBhY2Nl
c3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3Q7CisKKyAgICAgICAgdmlydHVhbCBTdHJpbmcgdGl0
bGUoKSBjb25zdDsKKyAgICAgICAgdmlydHVhbCBTdHJpbmcgYWNjZXNzaWJpbGl0eURlc2NyaXB0
aW9uKCkgY29uc3Q7CisgICAgICAgIHZpcnR1YWwgU3RyaW5nIGhlbHBUZXh0KCkgY29uc3Q7CisK
KyAgICBwcm90ZWN0ZWQ6CisgICAgICAgIEFjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2woUmVuZGVy
T2JqZWN0Kik7CisgICAgICAgIE1lZGlhQ29udHJvbEVsZW1lbnRUeXBlIGNvbnRyb2xUeXBlKCkg
Y29uc3Q7CisgICAgICAgIFN0cmluZyBjb250cm9sVHlwZU5hbWUoKSBjb25zdDsKKyAgICB9Owor
CisKKyAgICBjbGFzcyBBY2Nlc3NpYmlsaXR5TWVkaWFUaW1lbGluZSA6IHB1YmxpYyBBY2Nlc3Np
YmlsaXR5U2xpZGVyIHsKKworICAgIHB1YmxpYzoKKyAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8
QWNjZXNzaWJpbGl0eU9iamVjdD4gY3JlYXRlKFJlbmRlck9iamVjdCopOworICAgICAgICB2aXJ0
dWFsIH5BY2Nlc3NpYmlsaXR5TWVkaWFUaW1lbGluZSgpIHsgfQorCisgICAgICAgIHZpcnR1YWwg
Ym9vbCBpc01lZGlhVGltZWxpbmUoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisKKyAgICAgICAg
dmlydHVhbCBTdHJpbmcgaGVscFRleHQoKSBjb25zdDsKKyAgICAgICAgdmlydHVhbCBTdHJpbmcg
dmFsdWVEZXNjcmlwdGlvbigpIGNvbnN0OworICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGdl
dEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGUpIGNvbnN0OworCisgICAg
cHJpdmF0ZToKKyAgICAgICAgQWNjZXNzaWJpbGl0eU1lZGlhVGltZWxpbmUoUmVuZGVyT2JqZWN0
Kik7CisgICAgfTsKKworCisgICAgY2xhc3MgQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHNDb250
YWluZXIgOiBwdWJsaWMgQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbCB7CisKKyAgICBwdWJsaWM6
CisgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlPYmplY3Q+IGNyZWF0ZShS
ZW5kZXJPYmplY3QqKTsKKyAgICAgICAgdmlydHVhbCB+QWNjZXNzaWJpbGl0eU1lZGlhQ29udHJv
bHNDb250YWluZXIoKSB7IH0KKworICAgICAgICB2aXJ0dWFsIEFjY2Vzc2liaWxpdHlSb2xlIHJv
bGVWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIFRvb2xiYXJSb2xlOyB9CisgICAgICAgIHZpcnR1YWwg
Ym9vbCBhY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKwor
ICAgICAgICB2aXJ0dWFsIFN0cmluZyBoZWxwVGV4dCgpIGNvbnN0OworICAgICAgICB2aXJ0dWFs
IFN0cmluZyBhY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb24oKSBjb25zdDsKKworICAgIHByaXZhdGU6
CisgICAgICAgIEFjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xzQ29udGFpbmVyKFJlbmRlck9iamVj
dCopOworICAgICAgICBib29sIGNvbnRyb2xsaW5nVmlkZW9FbGVtZW50KCkgY29uc3Q7CisgICAg
ICAgIGNvbnN0IFN0cmluZyBlbGVtZW50VHlwZU5hbWUoKSBjb25zdDsKKyAgICB9OworCisKKyAg
ICBjbGFzcyBBY2Nlc3NpYmlsaXR5TWVkaWFUaW1lRGlzcGxheSA6IHB1YmxpYyBBY2Nlc3NpYmls
aXR5TWVkaWFDb250cm9sIHsKKworICAgIHB1YmxpYzoKKyAgICAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8QWNjZXNzaWJpbGl0eU9iamVjdD4gY3JlYXRlKFJlbmRlck9iamVjdCopOworICAgICAgICB2
aXJ0dWFsIH5BY2Nlc3NpYmlsaXR5TWVkaWFUaW1lRGlzcGxheSgpIHsgfQorCisgICAgICAgIHZp
cnR1YWwgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZVZhbHVlKCkgY29uc3QgeyByZXR1cm4gU3RhdGlj
VGV4dFJvbGU7IH0KKyAgICAgICAgdmlydHVhbCBib29sIGFjY2Vzc2liaWxpdHlJc0lnbm9yZWQo
KSBjb25zdDsKKworICAgICAgICB2aXJ0dWFsIFN0cmluZyBzdHJpbmdWYWx1ZSgpIGNvbnN0Owor
ICAgICAgICB2aXJ0dWFsIFN0cmluZyBhY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb24oKSBjb25zdDsK
KworICAgIHByaXZhdGU6CisgICAgICAgIEFjY2Vzc2liaWxpdHlNZWRpYVRpbWVEaXNwbGF5KFJl
bmRlck9iamVjdCopOworICAgIH07CisKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gRU5BQkxFKFZJREVPKQorCisjZW5kaWYgLy8gQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJv
bHNfaApJbmRleDogV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0
LmNwcAkocmV2aXNpb24gNDc1ODkpCisrKyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eU9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAwOCwgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKSW5kZXg6IFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5T2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlPYmplY3QuaAkocmV2aXNpb24gNDc1ODkpCisrKyBXZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEs
NSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA4IE51YW50aSBMdGQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CkBAIC0yMjMsNiArMjIzLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc1dl
YkFyZWEoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfTsKICAgICB2aXJ0dWFsIGJvb2wgaXNDaGVj
a2JveE9yUmFkaW8oKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfTsKICAgICB2aXJ0dWFsIGJvb2wg
aXNMaXN0Qm94KCkgY29uc3QgeyByZXR1cm4gcm9sZVZhbHVlKCkgPT0gTGlzdEJveFJvbGU7IH07
CisgICAgdmlydHVhbCBib29sIGlzTWVkaWFUaW1lbGluZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNl
OyB9CiAgICAgdmlydHVhbCBib29sIGlzTWVudVJlbGF0ZWQoKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc01lbnUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQog
ICAgIHZpcnR1YWwgYm9vbCBpc01lbnVCYXIoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpJbmRl
eDogV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTbGlkZXIuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNsaWRlci5oCShyZXZpc2lv
biA0NzU4OSkKKysrIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U2xpZGVyLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTYxLDggKzYxLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgdmlydHVhbCB2b2lkIGluY3JlbWVudCgpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGVj
cmVtZW50KCk7CiAKLSAgICBwcml2YXRlOgorICAgIHByb3RlY3RlZDoKICAgICAgICAgQWNjZXNz
aWJpbGl0eVNsaWRlcihSZW5kZXJPYmplY3QqKTsKKworICAgIHByaXZhdGU6CiAgICAgICAgIHZv
aWQgY2hhbmdlVmFsdWUoZmxvYXQgLypwZXJjZW50Q2hhbmdlKi8pOwogICAgICAgICBIVE1MSW5w
dXRFbGVtZW50KiBlbGVtZW50KCkgY29uc3Q7CiAgICAgfTsKSW5kZXg6IFdlYkNvcmUvYWNjZXNz
aWJpbGl0eS9tYWMvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlci5tbQko
cmV2aXNpb24gNDc1ODkpCisrKyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FjY2Vzc2liaWxp
dHlPYmplY3RXcmFwcGVyLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAq
IENvcHlyaWdodCAoQykgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xMjIsNiArMTIyLDcgQEAgdXNpbmcg
bmFtZXNwYWNlIHN0ZDsKICNpZmRlZiBCVUlMRElOR19PTl9USUdFUgogdHlwZWRlZiB1bnNpZ25l
ZCBOU1VJbnRlZ2VyOwogI2RlZmluZSBOU0FjY2Vzc2liaWxpdHlWYWx1ZURlc2NyaXB0aW9uQXR0
cmlidXRlIEAiQVhWYWx1ZURlc2NyaXB0aW9uIgorI2RlZmluZSBOU0FjY2Vzc2liaWxpdHlUaW1l
bGluZVN1YnJvbGUgQCJBWFRpbWVsaW5lIgogI2VuZGlmCiAKIEBpbnRlcmZhY2UgTlNPYmplY3Qg
KFdlYktpdEFjY2Vzc2liaWxpdHlBcnJheUNhdGVnb3J5KQpAQCAtNjc4LDYgKzY3OSw3IEBAIHN0
YXRpYyBXZWJDb3JlVGV4dE1hcmtlclJhbmdlKiB0ZXh0TWFya2UKICAgICAgICAgW3RlbXBBcnJh
eSBhZGRPYmplY3Q6TlNBY2Nlc3NpYmlsaXR5TWluVmFsdWVBdHRyaWJ1dGVdOwogICAgICAgICBb
dGVtcEFycmF5IGFkZE9iamVjdDpOU0FjY2Vzc2liaWxpdHlNYXhWYWx1ZUF0dHJpYnV0ZV07CiAg
ICAgICAgIFt0ZW1wQXJyYXkgYWRkT2JqZWN0Ok5TQWNjZXNzaWJpbGl0eU9yaWVudGF0aW9uQXR0
cmlidXRlXTsKKyAgICAgICAgW3RlbXBBcnJheSBhZGRPYmplY3Q6TlNBY2Nlc3NpYmlsaXR5VmFs
dWVEZXNjcmlwdGlvbkF0dHJpYnV0ZV07CiAgICAgICAgIHJhbmdlQXR0cnMgPSBbW05TQXJyYXkg
YWxsb2NdIGluaXRXaXRoQXJyYXk6dGVtcEFycmF5XTsKICAgICAgICAgW3RlbXBBcnJheSByZWxl
YXNlXTsKICAgICB9CkBAIC05NzksOSArOTgxLDcgQEAgc3RhdGljIGNvbnN0IEFjY2Vzc2liaWxp
dHlSb2xlTWFwJiBjcmVhdAogICAgICAgICB7IERlZmluaXRpb25MaXN0RGVmaW5pdGlvblJvbGUs
IE5TQWNjZXNzaWJpbGl0eUdyb3VwUm9sZSB9LAogICAgICAgICB7IERlZmluaXRpb25MaXN0VGVy
bVJvbGUsIE5TQWNjZXNzaWJpbGl0eUdyb3VwUm9sZSB9LAogICAgICAgICAKLSAgICAgICAgeyBT
bGlkZXJUaHVtYlJvbGUsIE5TQWNjZXNzaWJpbGl0eVZhbHVlSW5kaWNhdG9yUm9sZSB9LAotICAg
ICAgICAKLQorICAgICAgICB7IFNsaWRlclRodW1iUm9sZSwgTlNBY2Nlc3NpYmlsaXR5VmFsdWVJ
bmRpY2F0b3JSb2xlIH0KICAgICB9OwogICAgIEFjY2Vzc2liaWxpdHlSb2xlTWFwJiByb2xlTWFw
ID0gKm5ldyBBY2Nlc3NpYmlsaXR5Um9sZU1hcDsKICAgICAKQEAgLTEwMjgsNiArMTAyOCw5IEBA
IHN0YXRpYyBOU1N0cmluZyogcm9sZVZhbHVlVG9OU1N0cmluZyhBY2MKICAgICAgICAgICAgIHJl
dHVybiBOU0FjY2Vzc2liaWxpdHlEZWZpbml0aW9uTGlzdFN1YnJvbGU7CiAgICAgfQogICAgIAor
ICAgIGlmIChtX29iamVjdC0+aXNNZWRpYVRpbWVsaW5lKCkpCisgICAgICAgIHJldHVybiBOU0Fj
Y2Vzc2liaWxpdHlUaW1lbGluZVN1YnJvbGU7CisKICAgICByZXR1cm4gbmlsOwogfQogCkBAIC0x
MTE5LDcgKzExMjIsNyBAQCBzdGF0aWMgTlNTdHJpbmcqIHJvbGVWYWx1ZVRvTlNTdHJpbmcoQWNj
CiAgICAgCiAgICAgaWYgKFtheFJvbGUgaXNFcXVhbFRvU3RyaW5nOk5TQWNjZXNzaWJpbGl0eVRv
b2xiYXJSb2xlXSkKICAgICAgICAgcmV0dXJuIE5TQWNjZXNzaWJpbGl0eVJvbGVEZXNjcmlwdGlv
bihOU0FjY2Vzc2liaWxpdHlUb29sYmFyUm9sZSwgW3NlbGYgc3Vicm9sZV0pOwotCisgICAgCiAg
ICAgcmV0dXJuIE5TQWNjZXNzaWJpbGl0eVJvbGVEZXNjcmlwdGlvbihOU0FjY2Vzc2liaWxpdHlV
bmtub3duUm9sZSwgbmlsKTsKIH0KIApAQCAtMTI1Myw3ICsxMjU2LDcgQEAgc3RhdGljIE5TU3Ry
aW5nKiByb2xlVmFsdWVUb05TU3RyaW5nKEFjYwogICAgICAgICB9CiAgICAgICAgIHJldHVybiBt
X29iamVjdC0+YWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uKCk7CiAgICAgfQotICAgIAorCiAgICAg
aWYgKFthdHRyaWJ1dGVOYW1lIGlzRXF1YWxUb1N0cmluZzogTlNBY2Nlc3NpYmlsaXR5VmFsdWVB
dHRyaWJ1dGVdKSB7CiAgICAgICAgIGlmIChtX29iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKICAg
ICAgICAgICAgIGlmIChbW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmli
dXRlTmFtZXNdIGNvbnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0eVZhbHVlQXR0cmlidXRlXSkg
CkluZGV4OiBXZWJDb3JlL2RvbS9Ob2RlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vTm9k
ZS5oCShyZXZpc2lvbiA0NzU4OSkKKysrIFdlYkNvcmUvZG9tL05vZGUuaAkod29ya2luZyBjb3B5
KQpAQCAtMTgwLDYgKzE4MCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBpc1dNTEVsZW1l
bnQoKSB7IHJldHVybiBmYWxzZTsgfQogI2VuZGlmCiAKKyAgICB2aXJ0dWFsIGJvb2wgaXNNZWRp
YUNvbnRyb2xFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJv
b2wgaXNTdHlsZWRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFs
IGJvb2wgaXNGcmFtZU93bmVyRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAg
dmlydHVhbCBib29sIGlzQXR0cmlidXRlTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Cklu
ZGV4OiBXZWJDb3JlL3BhZ2UvbWFjL1dlYkNvcmVWaWV3RmFjdG9yeS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcGFnZS9tYWMvV2ViQ29yZVZpZXdGYWN0b3J5LmgJKHJldmlzaW9uIDQ3NTg5KQor
KysgV2ViQ29yZS9wYWdlL21hYy9XZWJDb3JlVmlld0ZhY3RvcnkuaAkod29ya2luZyBjb3B5KQpA
QCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDMsIDIwMDUgQXBwbGUgQ29t
cHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDMs
IDIwMDUsIDIwMDkgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTE0Myw2ICsxNDMsMTAgQEAKIAogLSAo
TlNTdHJpbmcgKiltZWRpYUVsZW1lbnRMb2FkaW5nU3RhdGVUZXh0OwogLSAoTlNTdHJpbmcgKilt
ZWRpYUVsZW1lbnRMaXZlQnJvYWRjYXN0U3RhdGVUZXh0OworLSAoTlNTdHJpbmcqKWxvY2FsaXpl
ZE1lZGlhQ29udHJvbEVsZW1lbnRTdHJpbmc6KE5TU3RyaW5nKiluYW1lOworLSAoTlNTdHJpbmcq
KWxvY2FsaXplZE1lZGlhQ29udHJvbEVsZW1lbnRIZWxwVGV4dDooTlNTdHJpbmcqKW5hbWU7Cist
IChOU1N0cmluZyopbG9jYWxpemVkTWVkaWFUaW1lRGVzY3JpcHRpb246KGZsb2F0KXRpbWU7CisK
IAogQGVuZAogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaAkocmV2aXNpb24g
NDc1ODkpCisrKyBXZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaAkod29ya2luZyBj
b3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDMsIDIwMDYgQXBw
bGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMDMsIDIwMDYsIDIwMDkgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTEzNSw2ICsxMzUsOSBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBTdHJpbmcgbWVkaWFFbGVtZW50TG9hZGluZ1N0YXRl
VGV4dCgpOwogICAgIFN0cmluZyBtZWRpYUVsZW1lbnRMaXZlQnJvYWRjYXN0U3RhdGVUZXh0KCk7
CisgICAgU3RyaW5nIGxvY2FsaXplZE1lZGlhQ29udHJvbEVsZW1lbnRTdHJpbmcoY29uc3QgU3Ry
aW5nJik7CisgICAgU3RyaW5nIGxvY2FsaXplZE1lZGlhQ29udHJvbEVsZW1lbnRIZWxwVGV4dChj
b25zdCBTdHJpbmcmKTsKKyAgICBTdHJpbmcgbG9jYWxpemVkTWVkaWFUaW1lRGVzY3JpcHRpb24o
ZmxvYXQpOwogfQogCiAjZW5kaWYKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3RrL0xvY2FsaXpl
ZFN0cmluZ3NHdGsuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3RrL0xvY2Fs
aXplZFN0cmluZ3NHdGsuY3BwCShyZXZpc2lvbiA0NzU4OSkKKysrIFdlYkNvcmUvcGxhdGZvcm0v
Z3RrL0xvY2FsaXplZFN0cmluZ3NHdGsuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNDUsNiArMzQ1
LDkgQEAgU3RyaW5nIGltYWdlVGl0bGUoY29uc3QgU3RyaW5nJiBmaWxlbmFtZQogICAgIHJldHVy
biBTdHJpbmc6OmZyb21VVEY4KHN0cmluZy5nZXQoKSk7CiB9CiAKKworI2lmIEVOQUJMRShWSURF
TykKKwogU3RyaW5nIG1lZGlhRWxlbWVudExvYWRpbmdTdGF0ZVRleHQoKQogewogICAgIHJldHVy
biBTdHJpbmc6OmZyb21VVEY4KF8oIkxvYWRpbmcuLi4iKSk7CkBAIC0zNTUsNCArMzU4LDExMyBA
QCBTdHJpbmcgbWVkaWFFbGVtZW50TGl2ZUJyb2FkY2FzdFN0YXRlVGV4CiAgICAgcmV0dXJuIFN0
cmluZzo6ZnJvbVVURjgoXygiTGl2ZSBCcm9hZGNhc3QiKSk7CiB9CiAKK1N0cmluZyBsb2NhbGl6
ZWRNZWRpYUNvbnRyb2xFbGVtZW50U3RyaW5nKGNvbnN0IFN0cmluZyYgbmFtZSkKK3sKKyAgICBp
ZiAobmFtZSA9PSAiQXVkaW9FbGVtZW50IikKKyAgICAgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVU
RjgoXygiYXVkaW8gZWxlbWVudCBjb250cm9sbGVyIikpOworICAgIGlmIChuYW1lID09ICJWaWRl
b0VsZW1lbnQiKQorICAgICAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChfKCJ2aWRlbyBlbGVt
ZW50IGNvbnRyb2xsZXIiKSk7CisgICAgaWYgKG5hbWUgPT0gIk11dGVCdXR0b24iKQorICAgICAg
ICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChfKCJtdXRlIikpOworICAgIGlmIChuYW1lID09ICJV
bk11dGVCdXR0b24iKQorICAgICAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChfKCJ1bm11dGUi
KSk7CisgICAgaWYgKG5hbWUgPT0gIlBsYXlCdXR0b24iKQorICAgICAgICByZXR1cm4gU3RyaW5n
Ojpmcm9tVVRGOChfKCJwbGF5IikpOworICAgIGlmIChuYW1lID09ICJQYXVzZUJ1dHRvbiIpCisg
ICAgICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KF8oInBhdXNlIikpOworICAgIGlmIChuYW1l
ID09ICJTbGlkZXIiKQorICAgICAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChfKCJtb3ZpZSB0
aW1lIikpOworICAgIGlmIChuYW1lID09ICJTbGlkZXJUaHVtYiIpCisgICAgICAgIHJldHVybiBT
dHJpbmc6OmZyb21VVEY4KF8oInRpbWVsaW5lIHNsaWRlciB0aHVtYiIpKTsKKyAgICBpZiAobmFt
ZSA9PSAiUmV3aW5kQnV0dG9uIikKKyAgICAgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoXygi
YmFjayAzMCBzZWNvbmRzIikpOworICAgIGlmIChuYW1lID09ICJSZXR1cm5Ub1JlYWx0aW1lQnV0
dG9uIikKKyAgICAgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoXygicmV0dXJuIHRvIHJlYWx0
aW1lIikpOworICAgIGlmIChuYW1lID09ICJDdXJyZW50VGltZURpc3BsYXkiKQorICAgICAgICBy
ZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChfKCJlbGFwc2VkIHRpbWUiKSk7CisgICAgaWYgKG5hbWUg
PT0gIlRpbWVSZW1haW5pbmdEaXNwbGF5IikKKyAgICAgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVU
RjgoXygicmVtYWluaW5nIHRpbWUiKSk7CisgICAgaWYgKG5hbWUgPT0gIlN0YXR1c0Rpc3BsYXki
KQorICAgICAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChfKCJzdGF0dXMiKSk7CisgICAgaWYg
KG5hbWUgPT0gIkZ1bGxzY3JlZW5CdXR0b24iKQorICAgICAgICByZXR1cm4gU3RyaW5nOjpmcm9t
VVRGOChfKCJmdWxsc2NyZWVuIikpOworICAgIGlmIChuYW1lID09ICJTZWVrRm9yd2FyZEJ1dHRv
biIpCisgICAgICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KF8oImZhc3QgZm9yd2FyZCIpKTsK
KyAgICBpZiAobmFtZSA9PSAiU2Vla0JhY2tCdXR0b24iKQorICAgICAgICByZXR1cm4gU3RyaW5n
Ojpmcm9tVVRGOChfKCJmYXN0IHJldmVyc2UiKSk7CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICByZXR1cm4gU3RyaW5nKCk7Cit9CisKK1N0cmluZyBsb2NhbGl6ZWRNZWRpYUNvbnRy
b2xFbGVtZW50SGVscFRleHQoY29uc3QgU3RyaW5nJiBuYW1lKQoreworICAgIGlmIChuYW1lID09
ICJBdWRpb0VsZW1lbnQiKQorICAgICAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChfKCJhdWRp
byBlbGVtZW50IHBsYXliYWNrIGNvbnRyb2xzIGFuZCBzdGF0dXMgZGlzcGxheSIpKTsKKyAgICBp
ZiAobmFtZSA9PSAiVmlkZW9FbGVtZW50IikKKyAgICAgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVU
RjgoXygidmlkZW8gZWxlbWVudCBwbGF5YmFjayBjb250cm9scyBhbmQgc3RhdHVzIGRpc3BsYXki
KSk7CisgICAgaWYgKG5hbWUgPT0gIk11dGVCdXR0b24iKQorICAgICAgICByZXR1cm4gU3RyaW5n
Ojpmcm9tVVRGOChfKCJtdXRlIGF1ZGlvIHRyYWNrcyIpKTsKKyAgICBpZiAobmFtZSA9PSAiVW5N
dXRlQnV0dG9uIikKKyAgICAgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoXygidW5tdXRlIGF1
ZGlvIHRyYWNrcyIpKTsKKyAgICBpZiAobmFtZSA9PSAiUGxheUJ1dHRvbiIpCisgICAgICAgIHJl
dHVybiBTdHJpbmc6OmZyb21VVEY4KF8oImJlZ2luIHBsYXliYWNrIikpOworICAgIGlmIChuYW1l
ID09ICJQYXVzZUJ1dHRvbiIpCisgICAgICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KF8oInBh
dXNlIHBsYXliYWNrIikpOworICAgIGlmIChuYW1lID09ICJTbGlkZXIiKQorICAgICAgICByZXR1
cm4gU3RyaW5nOjpmcm9tVVRGOChfKCJtb3ZpZSB0aW1lIHNjcnViYmVyIikpOworICAgIGlmIChu
YW1lID09ICJTbGlkZXJUaHVtYiIpCisgICAgICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KF8o
Im1vdmllIHRpbWUgc2NydWJiZXIgdGh1bWIiKSk7CisgICAgaWYgKG5hbWUgPT0gIlJld2luZEJ1
dHRvbiIpCisgICAgICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KF8oInNlZWsgbW92aWUgYmFj
ayAzMCBzZWNvbmRzIikpOworICAgIGlmIChuYW1lID09ICJSZXR1cm5Ub1JlYWx0aW1lQnV0dG9u
IikKKyAgICAgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoXygicmV0dXJuIHN0cmVhbWluZyBt
b3ZpZSB0byByZWFsIHRpbWUiKSk7CisgICAgaWYgKG5hbWUgPT0gIkN1cnJlbnRUaW1lRGlzcGxh
eSIpCisgICAgICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KF8oImN1cnJlbnQgbW92aWUgdGlt
ZSBpbiBzZWNvbmRzIikpOworICAgIGlmIChuYW1lID09ICJUaW1lUmVtYWluaW5nRGlzcGxheSIp
CisgICAgICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KF8oIm51bWJlciBvZiBzZWNvbmRzIG9m
IG1vdmllIHJlbWFpbmluZyIpKTsKKyAgICBpZiAobmFtZSA9PSAiU3RhdHVzRGlzcGxheSIpCisg
ICAgICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KF8oImN1cnJlbnQgbW92aWUgc3RhdHVzIikp
OworICAgIGlmIChuYW1lID09ICJTZWVrQmFja0J1dHRvbiIpCisgICAgICAgIHJldHVybiBTdHJp
bmc6OmZyb21VVEY4KF8oInNlZWsgcXVpY2tseSBiYWNrIikpOworICAgIGlmIChuYW1lID09ICJT
ZWVrRm9yd2FyZEJ1dHRvbiIpCisgICAgICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KF8oInNl
ZWsgcXVpY2tseSBmb3J3YXJkIikpOworICAgIGlmIChuYW1lID09ICJGdWxsc2NyZWVuQnV0dG9u
IikKKyAgICAgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoXygiUGxheSBtb3ZpZSBpbiBmdWxs
c2NyZWVuIG1vZGUiKSk7CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4g
U3RyaW5nKCk7Cit9CisKK1N0cmluZyBsb2NhbGl6ZWRNZWRpYVRpbWVEZXNjcmlwdGlvbihmbG9h
dCB0aW1lKQoreworICAgIGlmICghaXNmaW5pdGUodGltZSkpCisgICAgICAgIHJldHVybiBTdHJp
bmc6OmZyb21VVEY4KF8oImluZGVmaW5pdGUgdGltZSIpKTsKKworICAgIGludCBzZWNvbmRzID0g
KGludClmYWJzZih0aW1lKTsKKyAgICBpbnQgZGF5cyA9IHNlY29uZHMgLyAoNjAgKiA2MCAqIDI0
KTsKKyAgICBpbnQgaG91cnMgPSBzZWNvbmRzIC8gKDYwICogNjApOworICAgIGludCBtaW51dGVz
ID0gKHNlY29uZHMgLyA2MCkgJSA2MDsKKyAgICBzZWNvbmRzICU9IDYwOworCisgICAgaWYgKGRh
eXMpIHsKKyAgICAgICAgR093blB0cjxnY2hhcj4gc3RyaW5nKGdfc3RyZHVwX3ByaW50ZigiJWQg
ZGF5cyAlZCBob3VycyAlZCBtaW51dGVzICVkIHNlY29uZHMiLCBkYXlzLCBob3VycywgbWludXRl
cywgc2Vjb25kcykpOworICAgICAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChzdHJpbmcuZ2V0
KCkpOworICAgIH0KKworICAgIGlmIChob3VycykgeworICAgICAgICBHT3duUHRyPGdjaGFyPiBz
dHJpbmcoZ19zdHJkdXBfcHJpbnRmKCIlZCBob3VycyAlZCBtaW51dGVzICVkIHNlY29uZHMiLCBo
b3VycywgbWludXRlcywgc2Vjb25kcykpOworICAgICAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRG
OChzdHJpbmcuZ2V0KCkpOworICAgIH0KKworICAgIGlmIChtaW51dGVzKSB7CisgICAgICAgIEdP
d25QdHI8Z2NoYXI+IHN0cmluZyhnX3N0cmR1cF9wcmludGYoIiVkIG1pbnV0ZXMgJWQgc2Vjb25k
cyIsIG1pbnV0ZXMsIHNlY29uZHMpKTsKKyAgICAgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgo
c3RyaW5nLmdldCgpKTsKKyAgICB9CisKKyAgICBHT3duUHRyPGdjaGFyPiBzdHJpbmcoZ19zdHJk
dXBfcHJpbnRmKCIlZCBzZWNvbmRzIiwgc2Vjb25kcykpOworICAgIHJldHVybiBTdHJpbmc6OmZy
b21VVEY4KHN0cmluZy5nZXQoKSk7Cit9CisjZW5kaWYgIC8vIEVOQUJMRShWSURFTykKKwogfQpJ
bmRleDogV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTG9jYWxpemVkU3RyaW5nc01hYy5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL21hYy9Mb2NhbGl6ZWRTdHJpbmdzTWFjLm1tCShyZXZp
c2lvbiA0NzU4OSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsaXplZFN0cmluZ3NNYWMu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDAzLCAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDAzLCAyMDA2LCAyMDA5IEFwcGxlIENvbXB1dGVyLCBJbmMuICBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC03MTMs
NCArNzEzLDI5IEBAIFN0cmluZyBtZWRpYUVsZW1lbnRMaXZlQnJvYWRjYXN0U3RhdGVUZXgKICAg
ICByZXR1cm4gU3RyaW5nKCk7CiB9CiAKK1N0cmluZyBsb2NhbGl6ZWRNZWRpYUNvbnRyb2xFbGVt
ZW50U3RyaW5nKGNvbnN0IFN0cmluZyYgY29udHJvbE5hbWUpCit7CisgICAgQkVHSU5fQkxPQ0tf
T0JKQ19FWENFUFRJT05TOworICAgIHJldHVybiBbW1dlYkNvcmVWaWV3RmFjdG9yeSBzaGFyZWRG
YWN0b3J5XSBsb2NhbGl6ZWRNZWRpYUNvbnRyb2xFbGVtZW50U3RyaW5nOmNvbnRyb2xOYW1lXTsK
KyAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOworICAgIHJldHVybiBTdHJpbmcoKTsKK30K
KworU3RyaW5nIGxvY2FsaXplZE1lZGlhQ29udHJvbEVsZW1lbnRIZWxwVGV4dChjb25zdCBTdHJp
bmcmIGNvbnRyb2xOYW1lKQoreworICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKKyAg
ICByZXR1cm4gW1tXZWJDb3JlVmlld0ZhY3Rvcnkgc2hhcmVkRmFjdG9yeV0gbG9jYWxpemVkTWVk
aWFDb250cm9sRWxlbWVudEhlbHBUZXh0OmNvbnRyb2xOYW1lXTsKKyAgICBFTkRfQkxPQ0tfT0JK
Q19FWENFUFRJT05TOworICAgIHJldHVybiBTdHJpbmcoKTsKK30KKworU3RyaW5nIGxvY2FsaXpl
ZE1lZGlhVGltZURlc2NyaXB0aW9uKGZsb2F0IHRpbWUpCit7CisgICAgQkVHSU5fQkxPQ0tfT0JK
Q19FWENFUFRJT05TOworICAgIHJldHVybiBbW1dlYkNvcmVWaWV3RmFjdG9yeSBzaGFyZWRGYWN0
b3J5XSBsb2NhbGl6ZWRNZWRpYVRpbWVEZXNjcmlwdGlvbjp0aW1lXTsKKyAgICBFTkRfQkxPQ0tf
T0JKQ19FWENFUFRJT05TOworICAgIHJldHVybiBTdHJpbmcoKTsKK30KKworCiB9CkluZGV4OiBX
ZWJDb3JlL3JlbmRlcmluZy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9yZW5kZXJpbmcvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCShyZXZpc2lvbiA0NzU4
OSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtODIsNiArODIsMjYgQEAgTWVkaWFDb250cm9sRWxlbWVudDo6TWVkaWFDb250
cm9sRWxlbWVudAogICAgICwgbV9wc2V1ZG9TdHlsZUlkKHBzZXVkbykKIHsKICAgICBzZXRJbkRv
Y3VtZW50KHRydWUpOworICAgIHN3aXRjaCAocHNldWRvKSB7CisgICAgY2FzZSBNRURJQV9DT05U
Uk9MU19DVVJSRU5UX1RJTUVfRElTUExBWToKKyAgICAgICAgbV9kaXNwbGF5VHlwZSA9IE1lZGlh
Q3VycmVudFRpbWVEaXNwbGF5OworICAgICAgICBicmVhazsKKyAgICBjYXNlIE1FRElBX0NPTlRS
T0xTX1RJTUVfUkVNQUlOSU5HX0RJU1BMQVk6CisgICAgICAgIG1fZGlzcGxheVR5cGUgPSBNZWRp
YVRpbWVSZW1haW5pbmdEaXNwbGF5OworICAgICAgICBicmVhazsKKyAgICBjYXNlIE1FRElBX0NP
TlRST0xTX1RJTUVMSU5FX0NPTlRBSU5FUjoKKyAgICAgICAgbV9kaXNwbGF5VHlwZSA9IE1lZGlh
VGltZWxpbmVDb250YWluZXI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgTUVESUFfQ09OVFJP
TFNfU1RBVFVTX0RJU1BMQVk6CisgICAgICAgIG1fZGlzcGxheVR5cGUgPSBNZWRpYVN0YXR1c0Rp
c3BsYXk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgTUVESUFfQ09OVFJPTFNfUEFORUw6Cisg
ICAgICAgIG1fZGlzcGxheVR5cGUgPSBNZWRpYUNvbnRyb2xzUGFuZWw7CisgICAgICAgIGJyZWFr
OworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICBi
cmVhazsKKyAgICB9CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sRWxlbWVudDo6YXR0YWNoVG9QYXJl
bnQoRWxlbWVudCogcGFyZW50KQpAQCAtMjMzLDE0ICsyNTMsNDMgQEAgYm9vbCBNZWRpYUNvbnRy
b2xTdGF0dXNEaXNwbGF5RWxlbWVudDo6cgogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCiAgICAgCi1NZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQ6Ok1lZGlhQ29udHJvbElucHV0RWxl
bWVudChEb2N1bWVudCogZG9jdW1lbnQsIFBzZXVkb0lkIHBzZXVkbywgY29uc3QgU3RyaW5nJiB0
eXBlLCBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQsIE1lZGlhQ29udHJvbEVsZW1lbnRU
eXBlIGRpc3BsYXlUeXBlKQorTWVkaWFDb250cm9sSW5wdXRFbGVtZW50OjpNZWRpYUNvbnRyb2xJ
bnB1dEVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBQc2V1ZG9JZCBwc2V1ZG8sIGNvbnN0IFN0
cmluZyYgdHlwZSwgSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50KQogICAgIDogSFRNTElu
cHV0RWxlbWVudChpbnB1dFRhZywgZG9jdW1lbnQpCiAgICAgLCBtX21lZGlhRWxlbWVudChtZWRp
YUVsZW1lbnQpCiAgICAgLCBtX3BzZXVkb1N0eWxlSWQocHNldWRvKQotICAgICwgbV9kaXNwbGF5
VHlwZShkaXNwbGF5VHlwZSkKIHsKICAgICBzZXRJbnB1dFR5cGUodHlwZSk7CiAgICAgc2V0SW5E
b2N1bWVudCh0cnVlKTsKKworICAgIHN3aXRjaCAocHNldWRvKSB7CisgICAgY2FzZSBNRURJQV9D
T05UUk9MU19NVVRFX0JVVFRPTjoKKyAgICAgICAgbV9kaXNwbGF5VHlwZSA9IE1lZGlhTXV0ZUJ1
dHRvbjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBNRURJQV9DT05UUk9MU19QTEFZX0JVVFRP
TjoKKyAgICAgICAgbV9kaXNwbGF5VHlwZSA9IE1lZGlhUGxheUJ1dHRvbjsKKyAgICAgICAgYnJl
YWs7CisgICAgY2FzZSBNRURJQV9DT05UUk9MU19TRUVLX0ZPUldBUkRfQlVUVE9OOgorICAgICAg
ICBtX2Rpc3BsYXlUeXBlID0gTWVkaWFTZWVrRm9yd2FyZEJ1dHRvbjsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBNRURJQV9DT05UUk9MU19TRUVLX0JBQ0tfQlVUVE9OOgorICAgICAgICBtX2Rp
c3BsYXlUeXBlID0gTWVkaWFTZWVrQmFja0J1dHRvbjsKKyAgICAgICAgYnJlYWs7CisgICAgY2Fz
ZSBNRURJQV9DT05UUk9MU19GVUxMU0NSRUVOX0JVVFRPTjoKKyAgICAgICAgbV9kaXNwbGF5VHlw
ZSA9IE1lZGlhRnVsbHNjcmVlbkJ1dHRvbjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBNRURJ
QV9DT05UUk9MU19USU1FTElORToKKyAgICAgICAgbV9kaXNwbGF5VHlwZSA9IE1lZGlhU2xpZGVy
OworICAgICAgICBicmVhazsKKyAgICBjYXNlIE1FRElBX0NPTlRST0xTX1JFVFVSTl9UT19SRUFM
VElNRV9CVVRUT046CisgICAgICAgIG1fZGlzcGxheVR5cGUgPSBNZWRpYVJldHVyblRvUmVhbHRp
bWVCdXR0b247CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgTUVESUFfQ09OVFJPTFNfUkVXSU5E
X0JVVFRPTjoKKyAgICAgICAgbV9kaXNwbGF5VHlwZSA9IE1lZGlhUmV3aW5kQnV0dG9uOworICAg
ICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
KyAgICAgICAgYnJlYWs7CisgICAgfQogfQogCiB2b2lkIE1lZGlhQ29udHJvbElucHV0RWxlbWVu
dDo6YXR0YWNoVG9QYXJlbnQoRWxlbWVudCogcGFyZW50KQpAQCAtMzIyLDE0ICszNzEsMTQgQEAg
dm9pZCBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQ6OnNldERpc3BsYQogICAgICAgICByZXR1cm47
CiAKICAgICBtX2Rpc3BsYXlUeXBlID0gZGlzcGxheVR5cGU7Ci0gICAgaWYgKFJlbmRlck9iamVj
dCogbyA9IHJlbmRlcmVyKCkpCi0gICAgICAgIG8tPnJlcGFpbnQoKTsKKyAgICBpZiAoUmVuZGVy
T2JqZWN0KiBvYmplY3QgPSByZW5kZXJlcigpKQorICAgICAgICBvYmplY3QtPnJlcGFpbnQoKTsK
IH0KIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBNZWRpYUNvbnRyb2xNdXRl
QnV0dG9uRWxlbWVudDo6TWVkaWFDb250cm9sTXV0ZUJ1dHRvbkVsZW1lbnQoRG9jdW1lbnQqIGRv
Y3VtZW50LCBIVE1MTWVkaWFFbGVtZW50KiBlbGVtZW50KQotICAgIDogTWVkaWFDb250cm9sSW5w
dXRFbGVtZW50KGRvY3VtZW50LCBNRURJQV9DT05UUk9MU19NVVRFX0JVVFRPTiwgImJ1dHRvbiIs
IGVsZW1lbnQsIGVsZW1lbnQtPm11dGVkKCkgPyBNZWRpYVVuTXV0ZUJ1dHRvbiA6IE1lZGlhTXV0
ZUJ1dHRvbikKKyAgICA6OiBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQoZG9jdW1lbnQsIE1FRElB
X0NPTlRST0xTX01VVEVfQlVUVE9OLCAiYnV0dG9uIiwgZWxlbWVudCkKIHsKIH0KIApAQCAtMzYw
LDcgKzQwOSw3IEBAIGJvb2wgTWVkaWFDb250cm9sTXV0ZUJ1dHRvbkVsZW1lbnQ6OnJlbmQKIC8v
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogTWVkaWFDb250cm9sUGxheUJ1dHRvbkVs
ZW1lbnQ6Ok1lZGlhQ29udHJvbFBsYXlCdXR0b25FbGVtZW50KERvY3VtZW50KiBkb2N1bWVudCwg
SFRNTE1lZGlhRWxlbWVudCogZWxlbWVudCkKLSAgICA6IE1lZGlhQ29udHJvbElucHV0RWxlbWVu
dChkb2N1bWVudCwgTUVESUFfQ09OVFJPTFNfUExBWV9CVVRUT04sICJidXR0b24iLCBlbGVtZW50
LCBlbGVtZW50LT5jYW5QbGF5KCkgPyBNZWRpYVBsYXlCdXR0b24gOiBNZWRpYVBhdXNlQnV0dG9u
KQorICAgIDogTWVkaWFDb250cm9sSW5wdXRFbGVtZW50KGRvY3VtZW50LCBNRURJQV9DT05UUk9M
U19QTEFZX0JVVFRPTiwgImJ1dHRvbiIsIGVsZW1lbnQpCiB7CiB9CiAKQEAgLTM4Miw3ICs0MzEs
NyBAQCB2b2lkIE1lZGlhQ29udHJvbFBsYXlCdXR0b25FbGVtZW50Ojp1cGRhCiAKIE1lZGlhQ29u
dHJvbFNlZWtCdXR0b25FbGVtZW50OjpNZWRpYUNvbnRyb2xTZWVrQnV0dG9uRWxlbWVudChEb2N1
bWVudCogZG9jdW1lbnQsIEhUTUxNZWRpYUVsZW1lbnQqIGVsZW1lbnQsIGJvb2wgZm9yd2FyZCkK
ICAgICA6IE1lZGlhQ29udHJvbElucHV0RWxlbWVudChkb2N1bWVudCwgZm9yd2FyZCA/IE1FRElB
X0NPTlRST0xTX1NFRUtfRk9SV0FSRF9CVVRUT04gOiBNRURJQV9DT05UUk9MU19TRUVLX0JBQ0tf
QlVUVE9OLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJidXR0b24iLCBlbGVtZW50
LCBmb3J3YXJkID8gTWVkaWFTZWVrRm9yd2FyZEJ1dHRvbiA6IE1lZGlhU2Vla0JhY2tCdXR0b24p
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJ1dHRvbiIsIGVsZW1lbnQpCiAgICAg
LCBtX2ZvcndhcmQoZm9yd2FyZCkKICAgICAsIG1fc2Vla2luZyhmYWxzZSkKICAgICAsIG1fY2Fw
dHVyaW5nKGZhbHNlKQpAQCAtNDQxLDcgKzQ5MCw3IEBAIHZvaWQgTWVkaWFDb250cm9sU2Vla0J1
dHRvbkVsZW1lbnQ6OmRldGEKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogTWVk
aWFDb250cm9sUmV3aW5kQnV0dG9uRWxlbWVudDo6TWVkaWFDb250cm9sUmV3aW5kQnV0dG9uRWxl
bWVudChEb2N1bWVudCogZG9jdW1lbnQsIEhUTUxNZWRpYUVsZW1lbnQqIGVsZW1lbnQpCi0gICAg
OiBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQoZG9jdW1lbnQsIE1FRElBX0NPTlRST0xTX1JFV0lO
RF9CVVRUT04sICJidXR0b24iLCBlbGVtZW50LCBNZWRpYVJld2luZEJ1dHRvbikKKyAgICA6IE1l
ZGlhQ29udHJvbElucHV0RWxlbWVudChkb2N1bWVudCwgTUVESUFfQ09OVFJPTFNfUkVXSU5EX0JV
VFRPTiwgImJ1dHRvbiIsIGVsZW1lbnQpCiB7CiB9CiAKQEAgLTQ2Myw3ICs1MTIsNyBAQCBib29s
IE1lZGlhQ29udHJvbFJld2luZEJ1dHRvbkVsZW1lbnQ6OnJlCiAvLyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCiAKIE1lZGlhQ29udHJvbFJldHVyblRvUmVhbHRpbWVCdXR0b25FbGVtZW50
OjpNZWRpYUNvbnRyb2xSZXR1cm5Ub1JlYWx0aW1lQnV0dG9uRWxlbWVudChEb2N1bWVudCogZG9j
dW1lbnQsIEhUTUxNZWRpYUVsZW1lbnQqIGVsZW1lbnQpCi0gICAgOiBNZWRpYUNvbnRyb2xJbnB1
dEVsZW1lbnQoZG9jdW1lbnQsIE1FRElBX0NPTlRST0xTX1JFVFVSTl9UT19SRUFMVElNRV9CVVRU
T04sICJidXR0b24iLCBlbGVtZW50LCBNZWRpYVJldHVyblRvUmVhbHRpbWVCdXR0b24pCisgICAg
OiBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQoZG9jdW1lbnQsIE1FRElBX0NPTlRST0xTX1JFVFVS
Tl9UT19SRUFMVElNRV9CVVRUT04sICJidXR0b24iLCBlbGVtZW50KQogewogfQogCkBAIC00ODQs
OCArNTMzLDggQEAgYm9vbCBNZWRpYUNvbnRyb2xSZXR1cm5Ub1JlYWx0aW1lQnV0dG9uRQogLy8g
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1l
bnQ6Ok1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEhUTUxN
ZWRpYUVsZW1lbnQqIGVsZW1lbnQpCi0gICAgOiBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQoZG9j
dW1lbnQsIE1FRElBX0NPTlRST0xTX1RJTUVMSU5FLCAicmFuZ2UiLCBlbGVtZW50LCBNZWRpYVRp
bWVsaW5lQ29udGFpbmVyKQoteyAKKyAgICA6IE1lZGlhQ29udHJvbElucHV0RWxlbWVudChkb2N1
bWVudCwgTUVESUFfQ09OVFJPTFNfVElNRUxJTkUsICJyYW5nZSIsIGVsZW1lbnQpCit7CiB9CiAK
IHZvaWQgTWVkaWFDb250cm9sVGltZWxpbmVFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2
ZW50KiBldmVudCkKQEAgLTUyOSw3ICs1NzgsNyBAQCB2b2lkIE1lZGlhQ29udHJvbFRpbWVsaW5l
RWxlbWVudDo6dXBkYXRlCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIE1lZGlh
Q29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50OjpNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0
dG9uRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEhUTUxNZWRpYUVsZW1lbnQqIGVsZW1lbnQp
Ci0gICAgOiBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQoZG9jdW1lbnQsIE1FRElBX0NPTlRST0xT
X0ZVTExTQ1JFRU5fQlVUVE9OLCAiYnV0dG9uIiwgZWxlbWVudCwgTWVkaWFGdWxsc2NyZWVuQnV0
dG9uKQorICAgIDogTWVkaWFDb250cm9sSW5wdXRFbGVtZW50KGRvY3VtZW50LCBNRURJQV9DT05U
Uk9MU19GVUxMU0NSRUVOX0JVVFRPTiwgImJ1dHRvbiIsIGVsZW1lbnQpCiB7CiB9CiAKQEAgLTU1
MSw2ICs2MDAsNyBAQCBib29sIE1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50CiAK
IE1lZGlhQ29udHJvbFRpbWVEaXNwbGF5RWxlbWVudDo6TWVkaWFDb250cm9sVGltZURpc3BsYXlF
bGVtZW50KERvY3VtZW50KiBkb2N1bWVudCwgUHNldWRvSWQgcHNldWRvLCBIVE1MTWVkaWFFbGVt
ZW50KiBlbGVtZW50KQogICAgIDogTWVkaWFDb250cm9sRWxlbWVudChkb2N1bWVudCwgcHNldWRv
LCBlbGVtZW50KQorICAgICwgbV9jdXJyZW50VmFsdWUoMCkKICAgICAsIG1faXNWaXNpYmxlKHRy
dWUpCiB7CiB9CkBAIC01ODAsNiArNjMwLDMyIEBAIHZvaWQgTWVkaWFDb250cm9sVGltZURpc3Bs
YXlFbGVtZW50OjpzZXQKICAgICByZW5kZXJlcigpLT5zZXRTdHlsZShzdHlsZS5nZXQoKSk7CiB9
CiAKK1N0cmluZyBNZWRpYUNvbnRyb2xUaW1lRGlzcGxheUVsZW1lbnQ6OmZvcm1hdFRpbWUoZmxv
YXQgdGltZSkKK3sKKyAgICBpZiAoIWlzZmluaXRlKHRpbWUpKQorICAgICAgICB0aW1lID0gMDsK
KyAgICBpbnQgc2Vjb25kcyA9IChpbnQpZmFic2YodGltZSk7CisgICAgaW50IGhvdXJzID0gc2Vj
b25kcyAvICg2MCAqIDYwKTsKKyAgICBpbnQgbWludXRlcyA9IChzZWNvbmRzIC8gNjApICUgNjA7
CisgICAgc2Vjb25kcyAlPSA2MDsKKyAgICBpZiAoaG91cnMpIHsKKyAgICAgICAgaWYgKGhvdXJz
ID4gOSkKKyAgICAgICAgICAgIHJldHVybiBTdHJpbmc6OmZvcm1hdCgiJXMlMDJkOiUwMmQ6JTAy
ZCIsICh0aW1lIDwgMCA/ICItIiA6ICIiKSwgaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMpOworCisg
ICAgICAgIHJldHVybiBTdHJpbmc6OmZvcm1hdCgiJXMlMDFkOiUwMmQ6JTAyZCIsICh0aW1lIDwg
MCA/ICItIiA6ICIiKSwgaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMpOworICAgIH0KKworICAgIHJl
dHVybiBTdHJpbmc6OmZvcm1hdCgiJXMlMDJkOiUwMmQiLCAodGltZSA8IDAgPyAiLSIgOiAiIiks
IG1pbnV0ZXMsIHNlY29uZHMpOworfQorCit2b2lkIE1lZGlhQ29udHJvbFRpbWVEaXNwbGF5RWxl
bWVudDo6c2V0Q3VycmVudFZhbHVlKGZsb2F0IHRpbWUpCit7CisgICAgbV9jdXJyZW50VmFsdWUg
PSB0aW1lOworCisgICAgRXhjZXB0aW9uQ29kZSBlYzsKKyAgICBzZXRJbm5lclRleHQoZm9ybWF0
VGltZShtX2N1cnJlbnRWYWx1ZSksIGVjKTsKK30KKwogCiB9IC8vbmFtZXNwYWNlIFdlYkNvcmUK
ICNlbmRpZiAvLyBlbmFibGUodmlkZW8pCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9NZWRpYUNv
bnRyb2xFbGVtZW50cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL01lZGlhQ29u
dHJvbEVsZW1lbnRzLmgJKHJldmlzaW9uIDQ3NTg5KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvTWVk
aWFDb250cm9sRWxlbWVudHMuaAkod29ya2luZyBjb3B5KQpAQCAtODksOSArODksMTUgQEAgcHVi
bGljOgogICAgIHZvaWQgdXBkYXRlKCk7CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVN0eWxlKCk7
CiAKKyAgICBNZWRpYUNvbnRyb2xFbGVtZW50VHlwZSBkaXNwbGF5VHlwZSgpIGNvbnN0IHsgcmV0
dXJuIG1fZGlzcGxheVR5cGU7IH0KKworICAgIEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVu
dCgpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFFbGVtZW50OyB9CisgICAgdmlydHVhbCBib29sIGlz
TWVkaWFDb250cm9sRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKwogcHJvdGVjdGVk
OgogICAgIEhUTUxNZWRpYUVsZW1lbnQqIG1fbWVkaWFFbGVtZW50OyAgIAogICAgIFBzZXVkb0lk
IG1fcHNldWRvU3R5bGVJZDsKKyAgICBNZWRpYUNvbnRyb2xFbGVtZW50VHlwZSBtX2Rpc3BsYXlU
eXBlOyAgLy8gc29tZSBlbGVtZW50cyBjYW4gc2hvdyBtdWx0aXBsZSB0eXBlcyAoZS5nLiBwbGF5
L3BhdXNlKQogfTsKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMTE4LDcg
KzEyNCw3IEBAIHByaXZhdGU6CiAKIGNsYXNzIE1lZGlhQ29udHJvbElucHV0RWxlbWVudCA6IHB1
YmxpYyBIVE1MSW5wdXRFbGVtZW50IHsKIHB1YmxpYzoKLSAgICBNZWRpYUNvbnRyb2xJbnB1dEVs
ZW1lbnQoRG9jdW1lbnQqLCBQc2V1ZG9JZCwgY29uc3QgU3RyaW5nJiB0eXBlLCBIVE1MTWVkaWFF
bGVtZW50KiwgTWVkaWFDb250cm9sRWxlbWVudFR5cGUpOworICAgIE1lZGlhQ29udHJvbElucHV0
RWxlbWVudChEb2N1bWVudCosIFBzZXVkb0lkLCBjb25zdCBTdHJpbmcmIHR5cGUsIEhUTUxNZWRp
YUVsZW1lbnQqKTsKICAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoKCk7CiAgICAgdmlydHVhbCBib29s
IHJlbmRlcmVySXNOZWVkZWQoUmVuZGVyU3R5bGUqKTsKIApAQCAtMTMzLDEzICsxMzksMTYgQEAg
cHVibGljOgogICAgIC8vIFNvbWUgZWxlbWVudHMgYXJlIGRpc2FibGVkIGJ5IG1vdmllIHN0YXRl
IChlZy4gbXV0ZSBpZiBubyBhdWRpbykuCiAgICAgdmlydHVhbCBib29sIGRpc2FibGVkKCkgY29u
c3QgIHsgcmV0dXJuIGZhbHNlOyB9CiAKKyAgICBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1l
bnQoKSBjb25zdCB7IHJldHVybiBtX21lZGlhRWxlbWVudDsgfQorICAgIHZpcnR1YWwgYm9vbCBp
c01lZGlhQ29udHJvbEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisKIHByb3RlY3Rl
ZDoKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlRGlzcGxheVR5cGUoKSB7IH0KICAgICB2b2lkIHNl
dERpc3BsYXlUeXBlKE1lZGlhQ29udHJvbEVsZW1lbnRUeXBlKTsKIAogICAgIEhUTUxNZWRpYUVs
ZW1lbnQqIG1fbWVkaWFFbGVtZW50OyAgIAogICAgIFBzZXVkb0lkIG1fcHNldWRvU3R5bGVJZDsK
LSAgICBNZWRpYUNvbnRyb2xFbGVtZW50VHlwZSBtX2Rpc3BsYXlUeXBlOyAgLy8gc29tZSBlbGVt
ZW50cyBjYW4gc2hvdyBtdWx0aXBsZSB0eXBlcyAoZS5nLiBwbGF5L3BhdXNlKQorICAgIE1lZGlh
Q29udHJvbEVsZW1lbnRUeXBlIG1fZGlzcGxheVR5cGU7CiB9OwogCiAvLyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCkBAIC0yMjIsNyArMjMxLDEzIEBAIHB1YmxpYzoKICAgICB2b2lkIHNl
dFZpc2libGUoYm9vbCk7CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiBzdHls
ZUZvckVsZW1lbnQoKTsKIAorICAgIHZvaWQgc2V0Q3VycmVudFZhbHVlKGZsb2F0KTsKKyAgICBm
bG9hdCBjdXJyZW50VmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2N1cnJlbnRWYWx1ZTsgfQorCiBw
cml2YXRlOgorICAgIFN0cmluZyBmb3JtYXRUaW1lKGZsb2F0IHRpbWUpOworCisgICAgZmxvYXQg
bV9jdXJyZW50VmFsdWU7CiAgICAgYm9vbCBtX2lzVmlzaWJsZTsKIH07CiAKSW5kZXg6IFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJNZWRpYS5jcHAJKHJldmlzaW9uIDQ3NTg5KQorKysgV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTWVkaWEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOTgsMTkgKzI5OCwxOSBAQCB2
b2lkIFJlbmRlck1lZGlhOjp1cGRhdGVDb250cm9scygpCiAgICAgICAgIGNyZWF0ZVBhbmVsKCk7
CiAgICAgICAgIGlmIChtX3BhbmVsKSB7CiAgICAgICAgICAgICBjcmVhdGVSZXdpbmRCdXR0b24o
KTsKLSAgICAgICAgICAgIGNyZWF0ZU11dGVCdXR0b24oKTsKICAgICAgICAgICAgIGNyZWF0ZVBs
YXlCdXR0b24oKTsKICAgICAgICAgICAgIGNyZWF0ZVJldHVyblRvUmVhbHRpbWVCdXR0b24oKTsK
ICAgICAgICAgICAgIGNyZWF0ZVN0YXR1c0Rpc3BsYXkoKTsKICAgICAgICAgICAgIGNyZWF0ZVRp
bWVsaW5lQ29udGFpbmVyKCk7Ci0gICAgICAgICAgICBjcmVhdGVTZWVrQmFja0J1dHRvbigpOwot
ICAgICAgICAgICAgY3JlYXRlU2Vla0ZvcndhcmRCdXR0b24oKTsKICAgICAgICAgICAgIGNyZWF0
ZUZ1bGxzY3JlZW5CdXR0b24oKTsKICAgICAgICAgICAgIGlmIChtX3RpbWVsaW5lQ29udGFpbmVy
KSB7CiAgICAgICAgICAgICAgICAgY3JlYXRlQ3VycmVudFRpbWVEaXNwbGF5KCk7CiAgICAgICAg
ICAgICAgICAgY3JlYXRlVGltZWxpbmUoKTsKICAgICAgICAgICAgICAgICBjcmVhdGVUaW1lUmVt
YWluaW5nRGlzcGxheSgpOwogICAgICAgICAgICAgfQorICAgICAgICAgICAgY3JlYXRlU2Vla0Jh
Y2tCdXR0b24oKTsKKyAgICAgICAgICAgIGNyZWF0ZVNlZWtGb3J3YXJkQnV0dG9uKCk7CisgICAg
ICAgICAgICBjcmVhdGVNdXRlQnV0dG9uKCk7CiAgICAgICAgICAgICBtX3BhbmVsLT5hdHRhY2go
KTsKICAgICAgICAgfQogICAgIH0KQEAgLTM2NiwyNCArMzY2LDYgQEAgdm9pZCBSZW5kZXJNZWRp
YTo6dGltZVVwZGF0ZVRpbWVyRmlyZWQoVAogICAgIHVwZGF0ZVRpbWVEaXNwbGF5KCk7CiB9CiAg
ICAgCi1TdHJpbmcgUmVuZGVyTWVkaWE6OmZvcm1hdFRpbWUoZmxvYXQgdGltZSkKLXsKLSAgICBp
ZiAoIWlzZmluaXRlKHRpbWUpKQotICAgICAgICB0aW1lID0gMDsKLSAgICBpbnQgc2Vjb25kcyA9
IChpbnQpZmFic2YodGltZSk7IAotICAgIGludCBob3VycyA9IHNlY29uZHMgLyAoNjAgKiA2MCk7
Ci0gICAgaW50IG1pbnV0ZXMgPSAoc2Vjb25kcyAvIDYwKSAlIDYwOwotICAgIHNlY29uZHMgJT0g
NjA7Ci0gICAgaWYgKGhvdXJzKSB7Ci0gICAgICAgIGlmIChob3VycyA+IDkpCi0gICAgICAgICAg
ICByZXR1cm4gU3RyaW5nOjpmb3JtYXQoIiVzJTAyZDolMDJkOiUwMmQiLCAodGltZSA8IDAgPyAi
LSIgOiAiIiksIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzKTsKLSAgICAgICAgZWxzZQotICAgICAg
ICAgICAgcmV0dXJuIFN0cmluZzo6Zm9ybWF0KCIlcyUwMWQ6JTAyZDolMDJkIiwgKHRpbWUgPCAw
ID8gIi0iIDogIiIpLCBob3VycywgbWludXRlcywgc2Vjb25kcyk7Ci0gICAgfQotICAgIGVsc2UK
LSAgICAgICAgcmV0dXJuIFN0cmluZzo6Zm9ybWF0KCIlcyUwMmQ6JTAyZCIsICh0aW1lIDwgMCA/
ICItIiA6ICIiKSwgbWludXRlcywgc2Vjb25kcyk7Ci19Ci0KIHZvaWQgUmVuZGVyTWVkaWE6OnVw
ZGF0ZVRpbWVEaXNwbGF5KCkKIHsKICAgICBpZiAoIW1fY3VycmVudFRpbWVEaXNwbGF5IHx8ICFt
X2N1cnJlbnRUaW1lRGlzcGxheS0+cmVuZGVyZXIoKSB8fCBtX2N1cnJlbnRUaW1lRGlzcGxheS0+
cmVuZGVyZXIoKS0+c3R5bGUoKS0+ZGlzcGxheSgpID09IE5PTkUgfHwgc3R5bGUoKS0+dmlzaWJp
bGl0eSgpICE9IFZJU0lCTEUpCkBAIC0zOTEsMTIgKzM3Myw4IEBAIHZvaWQgUmVuZGVyTWVkaWE6
OnVwZGF0ZVRpbWVEaXNwbGF5KCkKICAgICBmbG9hdCBub3cgPSBtZWRpYUVsZW1lbnQoKS0+Y3Vy
cmVudFRpbWUoKTsKICAgICBmbG9hdCBkdXJhdGlvbiA9IG1lZGlhRWxlbWVudCgpLT5kdXJhdGlv
bigpOwogCi0gICAgU3RyaW5nIHRpbWVTdHJpbmcgPSBmb3JtYXRUaW1lKG5vdyk7Ci0gICAgRXhj
ZXB0aW9uQ29kZSBlYzsKLSAgICBtX2N1cnJlbnRUaW1lRGlzcGxheS0+c2V0SW5uZXJUZXh0KHRp
bWVTdHJpbmcsIGVjKTsKLSAgICAKLSAgICB0aW1lU3RyaW5nID0gZm9ybWF0VGltZShub3cgLSBk
dXJhdGlvbik7Ci0gICAgbV90aW1lUmVtYWluaW5nRGlzcGxheS0+c2V0SW5uZXJUZXh0KHRpbWVT
dHJpbmcsIGVjKTsKKyAgICBtX2N1cnJlbnRUaW1lRGlzcGxheS0+c2V0Q3VycmVudFZhbHVlKG5v
dyk7CisgICAgbV90aW1lUmVtYWluaW5nRGlzcGxheS0+c2V0Q3VycmVudFZhbHVlKG5vdyAtIGR1
cmF0aW9uKTsKIH0KIAogdm9pZCBSZW5kZXJNZWRpYTo6dXBkYXRlQ29udHJvbFZpc2liaWxpdHko
KSAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWEuaAkocmV2aXNpb24gNDc1ODkpCisrKyBXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJNZWRpYS5oCSh3b3JraW5nIGNvcHkpCkBAIC02MCw4ICs2MCw2
IEBAIHB1YmxpYzoKICAgICBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQoKSBjb25zdDsK
ICAgICBNZWRpYVBsYXllciogcGxheWVyKCkgY29uc3Q7CiAKLSAgICBzdGF0aWMgU3RyaW5nIGZv
cm1hdFRpbWUoZmxvYXQgdGltZSk7Ci0KICAgICBib29sIHNob3VsZFNob3dUaW1lRGlzcGxheUNv
bnRyb2xzKCkgY29uc3Q7CiAKICAgICB2b2lkIHVwZGF0ZUZyb21FbGVtZW50KCk7CkluZGV4OiBX
ZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9u
IDQ3NTg5KQorKysgV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0
IEBACisyMDA5LTA4LTIwICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE9saXZlciBIdW50LgorCisgICAgICAgIDx2aWRlbz4gYW5k
IDxhdWRpbz4gY29udHJvbGxlciBzaG91bGQgYmUgYWNjZXNzaWJsZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjgwODEKKworICAgICAgICBBZGQgbG9j
YWxpemVkIHN0cmluZ3MgZm9yIG1lZGlhIGNvbnRyb2xsZXIgYWNjZXNzaWJsaWxpdHkuCisKKyAg
ICAgICAgKiBFbmdsaXNoLmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3M6CisKIDIwMDktMDgtMTgg
IERyZXcgV2lsc29uICA8YXR3aWxzb25AZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBFcmljIFNlaWRlbC4KSW5kZXg6IFdlYktpdC9FbmdsaXNoLmxwcm9qL0xvY2FsaXphYmxlLnN0
cmluZ3MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L0VuZ2xpc2gubHByb2ovTG9jYWxpemFibGUuc3Ry
aW5ncwkocmV2aXNpb24gNDc1ODkpCisrKyBXZWJLaXQvRW5nbGlzaC5scHJvai9Mb2NhbGl6YWJs
ZS5zdHJpbmdzCSh3b3JraW5nIGNvcHkpCkBAIC0yMjYsNiArMjI2LDkgQEAKIAAvACoAIABVAG4A
ZABvACAAYQBjAHQAaQBvAG4AIABuAGEAbQBlACAAKgAvAAogACIAUABhAHMAdABlACAAUgB1AGwA
ZQByACAAKABVAG4AZABvACAAYQBjAHQAaQBvAG4AIABuAGEAbQBlACkAIgAgAD0AIAAiAFAAYQBz
AHQAZQAgAFIAdQBsAGUAcgAiADsACiAACisALwAqACAAYQBjAGMAZQBzAHMAaQBiAGkAbABpAHQA
eQAgAGgAZQBsAHAAIAB0AGUAeAB0ACAAZgBvAHIAIABlAG4AdABlAHIAIABmAHUAbABsAHMAYwBy
AGUAZQBuACAAYgB1AHQAdABvAG4AIAAqAC8ACisAIgBQAGwAYQB5ACAAbQBvAHYAaQBlACAAaQBu
ACAAZgB1AGwAbABzAGMAcgBlAGUAbgAgAG0AbwBkAGUAIgAgAD0AIAAiAFAAbABhAHkAIABtAG8A
dgBpAGUAIABpAG4AIABmAHUAbABsAHMAYwByAGUAZQBuACAAbQBvAGQAZQAiADsACisACiAALwAq
ACAAVwBlAGIASwBpAHQARQByAHIAbwByAFAAbAB1AGcASQBuAEMAYQBuAGMAZQBsAGwAZQBkAEMA
bwBuAG4AZQBjAHQAaQBvAG4AIABkAGUAcwBjAHIAaQBwAHQAaQBvAG4AIAAqAC8ACiAAIgBQAGwA
dQBnAC0AaQBuACAAYwBhAG4AYwBlAGwAbABlAGQAIgAgAD0AIAAiAFAAbAB1AGcALQBpAG4AIABj
AGEAbgBjAGUAbABsAGUAZAAiADsACiAACkBAIC00NDIsMTIgKzQ0NSwyNCBAQAogAC8AKgAgAFYA
ZQByAGIAIABzAHQAYQB0AGkAbgBnACAAdABoAGUAIABhAGMAdABpAG8AbgAgAHQAaABhAHQAIAB3
AGkAbABsACAAbwBjAGMAdQByACAAdwBoAGUAbgAgAGEAIAB0AGUAeAB0ACAAZgBpAGUAbABkACAA
aQBzACAAcwBlAGwAZQBjAHQAZQBkACwAIABhAHMAIAB1AHMAZQBkACAAYgB5ACAAYQBjAGMAZQBz
AHMAaQBiAGkAbABpAHQAeQAgACoALwAKIAAiAGEAYwB0AGkAdgBhAHQAZQAiACAAPQAgACIAYQBj
AHQAaQB2AGEAdABlACIAOwAKIAAKKwAvACoAIABhAGMAYwBlAHMAcwBpAGIAaQBsAGkAdAB5ACAA
cgBvAGwAZQAgAGQAZQBzAGMAcgBpAHAAdABpAG8AbgAgAGYAbwByACAAYQB1AGQAaQBvACAAZQBs
AGUAbQBlAG4AdAAgAGMAbwBuAHQAcgBvAGwAbABlAHIAIAAqAC8ACisAIgBhAHUAZABpAG8AIABl
AGwAZQBtAGUAbgB0ACAAYwBvAG4AdAByAG8AbABsAGUAcgAiACAAPQAgACIAYQB1AGQAaQBvACAA
ZQBsAGUAbQBlAG4AdAAgAGMAbwBuAHQAcgBvAGwAbABlAHIAIgA7AAorAAorAC8AKgAgAGEAYwBj
AGUAcwBzAGkAYgBpAGwAaQB0AHkAIAByAG8AbABlACAAZABlAHMAYwByAGkAcAB0AGkAbwBuACAA
ZgBvAHIAIABhAHUAZABpAG8AIABlAGwAZQBtAGUAbgB0ACAAYwBvAG4AdAByAG8AbABsAGUAcgAg
ACoALwAKKwAiAGEAdQBkAGkAbwAgAGUAbABlAG0AZQBuAHQAIABwAGwAYQB5AGIAYQBjAGsAIABj
AG8AbgB0AHIAbwBsAHMAIABhAG4AZAAgAHMAdABhAHQAdQBzACAAZABpAHMAcABsAGEAeQAiACAA
PQAgACIAYQB1AGQAaQBvACAAZQBsAGUAbQBlAG4AdAAgAHAAbABhAHkAYgBhAGMAawAgAGMAbwBu
AHQAcgBvAGwAcwAgAGEAbgBkACAAcwB0AGEAdAB1AHMAIABkAGkAcwBwAGwAYQB5ACIAOwAKKwAK
KwAvACoAIABhAGMAYwBlAHMAcwBpAGIAaQBsAGkAdAB5ACAAcgBvAGwAZQAgAGQAZQBzAGMAcgBp
AHAAdABpAG8AbgAgAGYAbwByACAAcwBlAGUAawAgAGIAYQBjAGsAIAAzADAAIABzAGUAYwBvAG4A
ZABzACAAYgB1AHQAdABvAG4AIAAqAC8ACisAIgBiAGEAYwBrACAAMwAwACAAcwBlAGMAbwBuAGQA
cwAiACAAPQAgACIAYgBhAGMAawAgADMAMAAgAHMAZQBjAG8AbgBkAHMAIgA7AAorAAogAC8AKgAg
AEgAVABUAFAAIAByAGUAcwB1AGwAdAAgAGMAbwBkAGUAIABzAHQAcgBpAG4AZwAgACoALwAKIAAi
AGIAYQBkACAAZwBhAHQAZQB3AGEAeQAiACAAPQAgACIAYgBhAGQAIABnAGEAdABlAHcAYQB5ACIA
OwAKIAAKIAAvACoAIABIAFQAVABQACAAcgBlAHMAdQBsAHQAIABjAG8AZABlACAAcwB0AHIAaQBu
AGcAIAAqAC8ACiAAIgBiAGEAZAAgAHIAZQBxAHUAZQBzAHQAIgAgAD0AIAAiAGIAYQBkACAAcgBl
AHEAdQBlAHMAdAAiADsACiAACisALwAqACAAYQBjAGMAZQBzAHMAaQBiAGkAbABpAHQAeQAgAGgA
ZQBsAHAAIAB0AGUAeAB0ACAAZgBvAHIAIABwAGwAYQB5ACAAYgB1AHQAdABvAG4AIAAqAC8ACisA
IgBiAGUAZwBpAG4AIABwAGwAYQB5AGIAYQBjAGsAIgAgAD0AIAAiAGIAZQBnAGkAbgAgAHAAbABh
AHkAYgBhAGMAawAiADsACisACiAALwAqACAAVgBlAHIAYgAgAHMAdABhAHQAaQBuAGcAIAB0AGgA
ZQAgAGEAYwB0AGkAbwBuACAAdABoAGEAdAAgAHcAaQBsAGwAIABvAGMAYwB1AHIAIAB3AGgAZQBu
ACAAYQBuACAAdQBuAGMAaABlAGMAawBlAGQAIABjAGgAZQBjAGsAYgBvAHgAIABpAHMAIABjAGwA
aQBjAGsAZQBkACwAIABhAHMAIAB1AHMAZQBkACAAYgB5ACAAYQBjAGMAZQBzAHMAaQBiAGkAbABp
AHQAeQAgACoALwAKIAAiAGMAaABlAGMAawAiACAAPQAgACIAYwBoAGUAYwBrACIAOwAKIAAKQEAg
LTQ2MywxOCArNDc4LDQ4IEBACiAALwAqACAASABUAFQAUAAgAHIAZQBzAHUAbAB0ACAAYwBvAGQA
ZQAgAHMAdAByAGkAbgBnACAAKgAvAAogACIAYwByAGUAYQB0AGUAZAAiACAAPQAgACIAYwByAGUA
YQB0AGUAZAAiADsACiAACisALwAqACAAYQBjAGMAZQBzAHMAaQBiAGkAbABpAHQAeQAgAGgAZQBs
AHAAIAB0AGUAeAB0ACAAZgBvAHIAIABtAG8AdgBpAGUAIABzAHQAYQB0AHUAcwAgAGQAaQBzAHAA
bABhAHkAIAAqAC8ACisAIgBjAHUAcgByAGUAbgB0ACAAbQBvAHYAaQBlACAAcwB0AGEAdAB1AHMA
IgAgAD0AIAAiAGMAdQByAHIAZQBuAHQAIABtAG8AdgBpAGUAIABzAHQAYQB0AHUAcwAiADsACisA
CisALwAqACAAYQBjAGMAZQBzAHMAaQBiAGkAbABpAHQAeQAgAGgAZQBsAHAAIAB0AGUAeAB0ACAA
ZgBvAHIAIABlAGwAYQBwAHMAZQBkACAAdABpAG0AZQAgAGQAaQBzAHAAbABhAHkAIAAqAC8ACisA
IgBjAHUAcgByAGUAbgB0ACAAbQBvAHYAaQBlACAAdABpAG0AZQAgAGkAbgAgAHMAZQBjAG8AbgBk
AHMAIgAgAD0AIAAiAGMAdQByAHIAZQBuAHQAIABtAG8AdgBpAGUAIAB0AGkAbQBlACAAaQBuACAA
cwBlAGMAbwBuAGQAcwAiADsACisACisALwAqACAAcwB0AHIAaQBuAGcAIABmAG8AcgAgAGQAYQB5
AHMALAAgAGgAbwB1AHIAcwAsACAAbQBpAG4AdQB0AGUAcwAgACYAIABzAGUAYwBvAG4AZABzACAA
KgAvAAorACIAZABhAHQAZQAuAGYAbwByAG0AYQB0AC4AZgBvAHIALgBkAGEAeQBzACIAIAA9ACAA
IgBkAGEAdABlAC4AZgBvAHIAbQBhAHQALgBmAG8AcgAuAGQAYQB5AHMAIgA7AAorAAorAC8AKgAg
AHMAdAByAGkAbgBnACAAZgBvAHIAIABoAG8AdQByAHMALAAgAG0AaQBuAHUAdABlAHMAIAAmACAA
cwBlAGMAbwBuAGQAcwAgACoALwAKKwAiAGQAYQB0AGUALgBmAG8AcgBtAGEAdAAuAGYAbwByAC4A
aABvAHUAcgBzACIAIAA9ACAAIgBkAGEAdABlAC4AZgBvAHIAbQBhAHQALgBmAG8AcgAuAGgAbwB1
AHIAcwAiADsACisACisALwAqACAAcwB0AHIAaQBuAGcAIABmAG8AcgAgAG0AaQBuAHUAdABlAHMA
IAAmACAAcwBlAGMAbwBuAGQAcwAgACoALwAKKwAiAGQAYQB0AGUALgBmAG8AcgBtAGEAdAAuAGYA
bwByAC4AbQBpAG4AdQB0AGUAcwAiACAAPQAgACIAZABhAHQAZQAuAGYAbwByAG0AYQB0AC4AZgBv
AHIALgBtAGkAbgB1AHQAZQBzACIAOwAKKwAKKwAvACoAIABzAHQAcgBpAG4AZwAgAGYAbwByACAA
cwBlAGMAbwBuAGQAcwAgACoALwAKKwAiAGQAYQB0AGUALgBmAG8AcgBtAGEAdAAuAGYAbwByAC4A
cwBlAGMAbwBuAGQAcwAiACAAPQAgACIAZABhAHQAZQAuAGYAbwByAG0AYQB0AC4AZgBvAHIALgBz
AGUAYwBvAG4AZABzACIAOwAKKwAKIAAvACoAIABkAGUAZgBpAG4AaQB0AGkAbwBuACAAcABoAHIA
YQBzAGUAIAAqAC8ACiAAIgBkAGUAZgBpAG4AaQB0AGkAbwBuACIAIAA9ACAAIgBkAGUAZgBpAG4A
aQB0AGkAbwBuACIAOwAKIAAKKwAvACoAIABhAGMAYwBlAHMAcwBpAGIAaQBsAGkAdAB5ACAAcgBv
AGwAZQAgAGQAZQBzAGMAcgBpAHAAdABpAG8AbgAgAGYAbwByACAAZQBsAGEAcABzAGUAZAAgAHQA
aQBtAGUAIABkAGkAcwBwAGwAYQB5ACAAKgAvAAorACIAZQBsAGEAcABzAGUAZAAgAHQAaQBtAGUA
IgAgAD0AIAAiAGUAbABhAHAAcwBlAGQAIAB0AGkAbQBlACIAOwAKKwAKIAAvACoAIABIAFQAVABQ
ACAAcgBlAHMAdQBsAHQAIABjAG8AZABlACAAcwB0AHIAaQBuAGcAIAAqAC8ACiAAIgBlAHgAcABl
AGMAdABhAHQAaQBvAG4AIABmAGEAaQBsAGUAZAAiACAAPQAgACIAZQB4AHAAZQBjAHQAYQB0AGkA
bwBuACAAZgBhAGkAbABlAGQAIgA7AAogAAorAC8AKgAgAGEAYwBjAGUAcwBzAGkAYgBpAGwAaQB0
AHkAIAByAG8AbABlACAAZABlAHMAYwByAGkAcAB0AGkAbwBuACAAZgBvAHIAIABmAGEAcwB0ACAA
ZgBvAHIAdwBhAHIAZAAgAGIAdQB0AHQAbwBuACAAKgAvAAorACIAZgBhAHMAdAAgAGYAbwByAHcA
YQByAGQAIgAgAD0AIAAiAGYAYQBzAHQAIABmAG8AcgB3AGEAcgBkACIAOwAKKwAKKwAvACoAIABh
AGMAYwBlAHMAcwBpAGIAaQBsAGkAdAB5ACAAcgBvAGwAZQAgAGQAZQBzAGMAcgBpAHAAdABpAG8A
bgAgAGYAbwByACAAZgBhAHMAdAAgAHIAZQB2AGUAcgBzAGUAIABiAHUAdAB0AG8AbgAgACoALwAK
KwAiAGYAYQBzAHQAIAByAGUAdgBlAHIAcwBlACIAIAA9ACAAIgBmAGEAcwB0ACAAcgBlAHYAZQBy
AHMAZQAiADsACisACiAALwAqACAASABUAFQAUAAgAHIAZQBzAHUAbAB0ACAAYwBvAGQAZQAgAHMA
dAByAGkAbgBnACAAKgAvAAogACIAZgBvAHIAYgBpAGQAZABlAG4AIgAgAD0AIAAiAGYAbwByAGIA
aQBkAGQAZQBuACIAOwAKIAAKIAAvACoAIABIAFQAVABQACAAcgBlAHMAdQBsAHQAIABjAG8AZABl
ACAAcwB0AHIAaQBuAGcAIAAqAC8ACiAAIgBmAG8AdQBuAGQAIgAgAD0AIAAiAGYAbwB1AG4AZAAi
ADsACiAACisALwAqACAAYQBjAGMAZQBzAHMAaQBiAGkAbABpAHQAeQAgAHIAbwBsAGUAIABkAGUA
cwBjAHIAaQBwAHQAaQBvAG4AIABmAG8AcgAgAGUAbgB0AGUAcgAgAGYAdQBsAGwAcwBjAHIAZQBl
AG4AIABiAHUAdAB0AG8AbgAgACoALwAKKwAiAGYAdQBsAGwAcwBjAHIAZQBlAG4AIgAgAD0AIAAi
AGYAdQBsAGwAcwBjAHIAZQBlAG4AIgA7AAorAAogAC8AKgAgAEgAVABUAFAAIAByAGUAcwB1AGwA
dAAgAGMAbwBkAGUAIABzAHQAcgBpAG4AZwAgACoALwAKIAAiAGcAYQB0AGUAdwBhAHkAIAB0AGkA
bQBlAGQAIABvAHUAdAAiACAAPQAgACIAZwBhAHQAZQB3AGEAeQAgAHQAaQBtAGUAZAAgAG8AdQB0
ACIAOwAKIAAKQEAgLTQ4NCw2ICs1MjksOSBAQAogAC8AKgAgAGEAYwBjAGUAcwBzAGkAYgBpAGwA
aQB0AHkAIAByAG8AbABlACAAZABlAHMAYwByAGkAcAB0AGkAbwBuACAAZgBvAHIAIABpAG0AYQBn
AGUAIABtAGEAcAAgACoALwAKIAAiAGkAbQBhAGcAZQAgAG0AYQBwACIAIAA9ACAAIgBpAG0AYQBn
AGUAIABtAGEAcAAiADsACiAACisALwAqACAAcwB0AHIAaQBuAGcAIABmAG8AcgAgAGEAbgAgAGkA
bgBkAGUAZgBpAG4AaQB0AGUAIABtAG8AdgBpAGUAIAB0AGkAbQBlACAAKgAvAAorACIAaQBuAGQA
ZQBmAGkAbgBpAHQAZQAgAHQAaQBtAGUAIgAgAD0AIAAiAGkAbgBkAGUAZgBpAG4AaQB0AGUAIAB0
AGkAbQBlACIAOwAKKwAKIAAvACoAIABIAFQAVABQACAAcgBlAHMAdQBsAHQAIABjAG8AZABlACAA
cwB0AHIAaQBuAGcAIAAqAC8ACiAAIgBpAG4AZgBvAHIAbQBhAHQAaQBvAG4AYQBsACIAIAA9ACAA
IgBpAG4AZgBvAHIAbQBhAHQAaQBvAG4AYQBsACIAOwAKIAAKQEAgLTUwOCw5ICs1NTYsMjQgQEAK
IAAvACoAIABIAFQAVABQACAAcgBlAHMAdQBsAHQAIABjAG8AZABlACAAcwB0AHIAaQBuAGcAIAAq
AC8ACiAAIgBtAG8AdgBlAGQAIABwAGUAcgBtAGEAbgBlAG4AdABsAHkAIgAgAD0AIAAiAG0AbwB2
AGUAZAAgAHAAZQByAG0AYQBuAGUAbgB0AGwAeQAiADsACiAACisALwAqACAAYQBjAGMAZQBzAHMA
aQBiAGkAbABpAHQAeQAgAHIAbwBsAGUAIABkAGUAcwBjAHIAaQBwAHQAaQBvAG4AIABmAG8AcgAg
AHQAaQBtAGUAbABpAG4AZQAgAHMAbABpAGQAZQByACAAKgAvAAorACIAbQBvAHYAaQBlACAAdABp
AG0AZQAiACAAPQAgACIAbQBvAHYAaQBlACAAdABpAG0AZQAiADsACisACisALwAqACAAYQBjAGMA
ZQBzAHMAaQBiAGkAbABpAHQAeQAgAGgAZQBsAHAAIAB0AGUAeAB0ACAAZgBvAHIAIAB0AGkAbQBl
AGwAaQBuAGUAIABzAGwAaQBkAGUAcgAgACoALwAKKwAiAG0AbwB2AGkAZQAgAHQAaQBtAGUAIABz
AGMAcgB1AGIAYgBlAHIAIgAgAD0AIAAiAG0AbwB2AGkAZQAgAHQAaQBtAGUAIABzAGMAcgB1AGIA
YgBlAHIAIgA7AAorAAorAC8AKgAgAGEAYwBjAGUAcwBzAGkAYgBpAGwAaQB0AHkAIABoAGUAbABw
ACAAdABlAHgAdAAgAGYAbwByACAAdABpAG0AZQBsAGkAbgBlACAAcwBsAGkAZABlAHIAIAB0AGgA
dQBtAGIAIAAqAC8ACisAIgBtAG8AdgBpAGUAIAB0AGkAbQBlACAAcwBjAHIAdQBiAGIAZQByACAA
dABoAHUAbQBiACIAIAA9ACAAIgBtAG8AdgBpAGUAIAB0AGkAbQBlACAAcwBjAHIAdQBiAGIAZQBy
ACAAdABoAHUAbQBiACIAOwAKKwAKIAAvACoAIABIAFQAVABQACAAcgBlAHMAdQBsAHQAIABjAG8A
ZABlACAAcwB0AHIAaQBuAGcAIAAqAC8ACiAAIgBtAHUAbAB0AGkAcABsAGUAIABjAGgAbwBpAGMA
ZQBzACIAIAA9ACAAIgBtAHUAbAB0AGkAcABsAGUAIABjAGgAbwBpAGMAZQBzACIAOwAKIAAKKwAv
ACoAIABhAGMAYwBlAHMAcwBpAGIAaQBsAGkAdAB5ACAAcgBvAGwAZQAgAGQAZQBzAGMAcgBpAHAA
dABpAG8AbgAgAGYAbwByACAAbQB1AHQAZQAgAGIAdQB0AHQAbwBuACAAKgAvAAorACIAbQB1AHQA
ZQAiACAAPQAgACIAbQB1AHQAZQAiADsACisACisALwAqACAAYQBjAGMAZQBzAHMAaQBiAGkAbABp
AHQAeQAgAGgAZQBsAHAAIAB0AGUAeAB0ACAAZgBvAHIAIABtAHUAdABlACAAYgB1AHQAdABvAG4A
IAAqAC8ACisAIgBtAHUAdABlACAAYQB1AGQAaQBvACAAdAByAGEAYwBrAHMAIgAgAD0AIAAiAG0A
dQB0AGUAIABhAHUAZABpAG8AIAB0AHIAYQBjAGsAcwAiADsACisACiAALwAqACAASABUAFQAUAAg
AHIAZQBzAHUAbAB0ACAAYwBvAGQAZQAgAHMAdAByAGkAbgBnACAAKgAvAAogACIAbgBlAGUAZABz
ACAAcAByAG8AeAB5ACIAIAA9ACAAIgBuAGUAZQBkAHMAIABwAHIAbwB4AHkAIgA7AAogAApAQCAt
NTM1LDEyICs1OTgsMjQgQEAKIAAvACoAIABIAFQAVABQACAAcgBlAHMAdQBsAHQAIABjAG8AZABl
ACAAcwB0AHIAaQBuAGcAIAAqAC8ACiAAIgBuAG8AdAAgAG0AbwBkAGkAZgBpAGUAZAAiACAAPQAg
ACIAbgBvAHQAIABtAG8AZABpAGYAaQBlAGQAIgA7AAogAAorAC8AKgAgAGEAYwBjAGUAcwBzAGkA
YgBpAGwAaQB0AHkAIABoAGUAbABwACAAdABlAHgAdAAgAGYAbwByACAAcgBlAG0AYQBpAG4AaQBu
AGcAIAB0AGkAbQBlACAAZABpAHMAcABsAGEAeQAgACoALwAKKwAiAG4AdQBtAGIAZQByACAAbwBm
ACAAcwBlAGMAbwBuAGQAcwAgAG8AZgAgAG0AbwB2AGkAZQAgAHIAZQBtAGEAaQBuAGkAbgBnACIA
IAA9ACAAIgBuAHUAbQBiAGUAcgAgAG8AZgAgAHMAZQBjAG8AbgBkAHMAIABvAGYAIABtAG8AdgBp
AGUAIAByAGUAbQBhAGkAbgBpAG4AZwAiADsACisACiAALwAqACAASABUAFQAUAAgAHIAZQBzAHUA
bAB0ACAAYwBvAGQAZQAgAHMAdAByAGkAbgBnACAAKgAvAAogACIAcABhAHIAdABpAGEAbAAgAGMA
bwBuAHQAZQBuAHQAIgAgAD0AIAAiAHAAYQByAHQAaQBhAGwAIABjAG8AbgB0AGUAbgB0ACIAOwAK
IAAKKwAvACoAIABhAGMAYwBlAHMAcwBpAGIAaQBsAGkAdAB5ACAAcgBvAGwAZQAgAGQAZQBzAGMA
cgBpAHAAdABpAG8AbgAgAGYAbwByACAAcABhAHUAcwBlACAAYgB1AHQAdABvAG4AIAAqAC8ACisA
IgBwAGEAdQBzAGUAIgAgAD0AIAAiAHAAYQB1AHMAZQAiADsACisACisALwAqACAAYQBjAGMAZQBz
AHMAaQBiAGkAbABpAHQAeQAgAGgAZQBsAHAAIAB0AGUAeAB0ACAAZgBvAHIAIABwAGEAdQBzAGUA
IABiAHUAdAB0AG8AbgAgACoALwAKKwAiAHAAYQB1AHMAZQAgAHAAbABhAHkAYgBhAGMAawAiACAA
PQAgACIAcABhAHUAcwBlACAAcABsAGEAeQBiAGEAYwBrACIAOwAKKwAKIAAvACoAIABIAFQAVABQ
ACAAcgBlAHMAdQBsAHQAIABjAG8AZABlACAAcwB0AHIAaQBuAGcAIAAqAC8ACiAAIgBwAGEAeQBt
AGUAbgB0ACAAcgBlAHEAdQBpAHIAZQBkACIAIAA9ACAAIgBwAGEAeQBtAGUAbgB0ACAAcgBlAHEA
dQBpAHIAZQBkACIAOwAKIAAKKwAvACoAIABhAGMAYwBlAHMAcwBpAGIAaQBsAGkAdAB5ACAAcgBv
AGwAZQAgAGQAZQBzAGMAcgBpAHAAdABpAG8AbgAgAGYAbwByACAAcABsAGEAeQAgAGIAdQB0AHQA
bwBuACAAKgAvAAorACIAcABsAGEAeQAiACAAPQAgACIAcABsAGEAeQAiADsACisACiAALwAqACAA
SABUAFQAUAAgAHIAZQBzAHUAbAB0ACAAYwBvAGQAZQAgAHMAdAByAGkAbgBnACAAKgAvAAogACIA
cAByAGUAYwBvAG4AZABpAHQAaQBvAG4AIABmAGEAaQBsAGUAZAAiACAAPQAgACIAcAByAGUAYwBv
AG4AZABpAHQAaQBvAG4AIABmAGEAaQBsAGUAZAAiADsACiAACkBAIC01NTMsNiArNjI4LDkgQEAK
IAAvACoAIABIAFQAVABQACAAcgBlAHMAdQBsAHQAIABjAG8AZABlACAAcwB0AHIAaQBuAGcAIAAq
AC8ACiAAIgByAGUAZABpAHIAZQBjAHQAZQBkACIAIAA9ACAAIgByAGUAZABpAHIAZQBjAHQAZQBk
ACIAOwAKIAAKKwAvACoAIABhAGMAYwBlAHMAcwBpAGIAaQBsAGkAdAB5ACAAcgBvAGwAZQAgAGQA
ZQBzAGMAcgBpAHAAdABpAG8AbgAgAGYAbwByACAAdABpAG0AZQAgAHIAZQBtAGEAaQBuAGkAbgBn
ACAAZABpAHMAcABsAGEAeQAgACoALwAKKwAiAHIAZQBtAGEAaQBuAGkAbgBnACAAdABpAG0AZQAi
ACAAPQAgACIAcgBlAG0AYQBpAG4AaQBuAGcAIAB0AGkAbQBlACIAOwAKKwAKIAAvACoAIABIAFQA
VABQACAAcgBlAHMAdQBsAHQAIABjAG8AZABlACAAcwB0AHIAaQBuAGcAIAAqAC8ACiAAIgByAGUA
cQB1AGUAcwB0ACAAdABpAG0AZQBkACAAbwB1AHQAIgAgAD0AIAAiAHIAZQBxAHUAZQBzAHQAIAB0
AGkAbQBlAGQAIABvAHUAdAAiADsACiAACkBAIC01NjgsOSArNjQ2LDI0IEBACiAALwAqACAASABU
AFQAUAAgAHIAZQBzAHUAbAB0ACAAYwBvAGQAZQAgAHMAdAByAGkAbgBnACAAKgAvAAogACIAcgBl
AHMAZQB0ACAAYwBvAG4AdABlAG4AdAAiACAAPQAgACIAcgBlAHMAZQB0ACAAYwBvAG4AdABlAG4A
dAAiADsACiAACisALwAqACAAYQBjAGMAZQBzAHMAaQBiAGkAbABpAHQAeQAgAGgAZQBsAHAAIAB0
AGUAeAB0ACAAZgBvAHIAIAByAGUAdAB1AHIAbgAgAHMAdAByAGUAYQBtAGkAbgBnACAAbQBvAHYA
aQBlACAAdABvACAAcgBlAGEAbAAgAHQAaQBtAGUAIABiAHUAdAB0AG8AbgAgACoALwAKKwAiAHIA
ZQB0AHUAcgBuACAAcwB0AHIAZQBhAG0AaQBuAGcAIABtAG8AdgBpAGUAIAB0AG8AIAByAGUAYQBs
ACAAdABpAG0AZQAiACAAPQAgACIAcgBlAHQAdQByAG4AIABzAHQAcgBlAGEAbQBpAG4AZwAgAG0A
bwB2AGkAZQAgAHQAbwAgAHIAZQBhAGwAIAB0AGkAbQBlACIAOwAKKwAKKwAvACoAIABhAGMAYwBl
AHMAcwBpAGIAaQBsAGkAdAB5ACAAcgBvAGwAZQAgAGQAZQBzAGMAcgBpAHAAdABpAG8AbgAgAGYA
bwByACAAcgBlAHQAdQByAG4AIAB0AG8AIAByAGUAYQBsACAAdABpAG0AZQAgAGIAdQB0AHQAbwBu
ACAAKgAvAAorACIAcgBlAHQAdQByAG4AIAB0AG8AIAByAGUAYQBsAHQAaQBtAGUAIgAgAD0AIAAi
AHIAZQB0AHUAcgBuACAAdABvACAAcgBlAGEAbAB0AGkAbQBlACIAOwAKKwAKIAAvACoAIABIAFQA
VABQACAAcgBlAHMAdQBsAHQAIABjAG8AZABlACAAcwB0AHIAaQBuAGcAIAAqAC8ACiAAIgBzAGUA
ZQAgAG8AdABoAGUAcgAiACAAPQAgACIAcwBlAGUAIABvAHQAaABlAHIAIgA7AAogAAorAC8AKgAg
AGEAYwBjAGUAcwBzAGkAYgBpAGwAaQB0AHkAIABoAGUAbABwACAAdABlAHgAdAAgAGYAbwByACAA
agB1AG0AcAAgAGIAYQBjAGsAIAAzADAAIABzAGUAYwBvAG4AZABzACAAYgB1AHQAdABvAG4AIAAq
AC8ACisAIgBzAGUAZQBrACAAbQBvAHYAaQBlACAAYgBhAGMAawAgADMAMAAgAHMAZQBjAG8AbgBk
AHMAIgAgAD0AIAAiAHMAZQBlAGsAIABtAG8AdgBpAGUAIABiAGEAYwBrACAAMwAwACAAcwBlAGMA
bwBuAGQAcwAiADsACisACisALwAqACAAYQBjAGMAZQBzAHMAaQBiAGkAbABpAHQAeQAgAGgAZQBs
AHAAIAB0AGUAeAB0ACAAZgBvAHIAIABmAGEAcwB0ACAAcgBlAHcAaQBuAGQAIABiAHUAdAB0AG8A
bgAgACoALwAKKwAiAHMAZQBlAGsAIABxAHUAaQBjAGsAbAB5ACAAYgBhAGMAawAiACAAPQAgACIA
cwBlAGUAawAgAHEAdQBpAGMAawBsAHkAIABiAGEAYwBrACIAOwAKKwAKKwAvACoAIABhAGMAYwBl
AHMAcwBpAGIAaQBsAGkAdAB5ACAAaABlAGwAcAAgAHQAZQB4AHQAIABmAG8AcgAgAGYAYQBzAHQA
IABmAG8AcgB3AGEAcgBkACAAYgB1AHQAdABvAG4AIAAqAC8ACisAIgBzAGUAZQBrACAAcQB1AGkA
YwBrAGwAeQAgAGYAbwByAHcAYQByAGQAIgAgAD0AIAAiAHMAZQBlAGsAIABxAHUAaQBjAGsAbAB5
ACAAZgBvAHIAdwBhAHIAZAAiADsACisACiAALwAqACAAVgBlAHIAYgAgAHMAdABhAHQAaQBuAGcA
IAB0AGgAZQAgAGEAYwB0AGkAbwBuACAAdABoAGEAdAAgAHcAaQBsAGwAIABvAGMAYwB1AHIAIAB3
AGgAZQBuACAAYQAgAHIAYQBkAGkAbwAgAGIAdQB0AHQAbwBuACAAaQBzACAAYwBsAGkAYwBrAGUA
ZAAsACAAYQBzACAAdQBzAGUAZAAgAGIAeQAgAGEAYwBjAGUAcwBzAGkAYgBpAGwAaQB0AHkAIAAq
AC8ACiAAIgBzAGUAbABlAGMAdAAiACAAPQAgACIAcwBlAGwAZQBjAHQAIgA7AAogAApAQCAtNTgw
LDYgKzY3Myw5IEBACiAALwAqACAASABUAFQAUAAgAHIAZQBzAHUAbAB0ACAAYwBvAGQAZQAgAHMA
dAByAGkAbgBnACAAKgAvAAogACIAcwBlAHIAdgBpAGMAZQAgAHUAbgBhAHYAYQBpAGwAYQBiAGwA
ZQAiACAAPQAgACIAcwBlAHIAdgBpAGMAZQAgAHUAbgBhAHYAYQBpAGwAYQBiAGwAZQAiADsACiAA
CisALwAqACAAYQBjAGMAZQBzAHMAaQBiAGkAbABpAHQAeQAgAHIAbwBsAGUAIABkAGUAcwBjAHIA
aQBwAHQAaQBvAG4AIABmAG8AcgAgAG0AbwB2AGkAZQAgAHMAdABhAHQAdQBzACAAKgAvAAorACIA
cwB0AGEAdAB1AHMAIgAgAD0AIAAiAHMAdABhAHQAdQBzACIAOwAKKwAKIAAvACoAIABIAFQAVABQ
ACAAcgBlAHMAdQBsAHQAIABjAG8AZABlACAAcwB0AHIAaQBuAGcAIAAqAC8ACiAAIgBzAHUAYwBj
AGUAcwBzACIAIAA9ACAAIgBzAHUAYwBjAGUAcwBzACIAOwAKIAAKQEAgLTU5Miw2ICs2ODgsOSBA
QAogAC8AKgAgAHQAZQByAG0AIAB3AG8AcgBkACAAbwBmACAAYQAgAGQAZQBmAGkAbgBpAHQAaQBv
AG4AIAAqAC8ACiAAIgB0AGUAcgBtACIAIAA9ACAAIgB0AGUAcgBtACIAOwAKIAAKKwAvACoAIABh
AGMAYwBlAHMAcwBpAGIAaQBsAGkAdAB5ACAAcgBvAGwAZQAgAGQAZQBzAGMAcgBpAHAAdABpAG8A
bgAgAGYAbwByACAAdABpAG0AZQBsAGkAbgBlACAAdABoAHUAbQBiACAAKgAvAAorACIAdABpAG0A
ZQBsAGkAbgBlACAAcwBsAGkAZABlAHIAIAB0AGgAdQBtAGIAIgAgAD0AIAAiAHQAaQBtAGUAbABp
AG4AZQAgAHMAbABpAGQAZQByACAAdABoAHUAbQBiACIAOwAKKwAKIAAvACoAIABIAFQAVABQACAA
cgBlAHMAdQBsAHQAIABjAG8AZABlACAAcwB0AHIAaQBuAGcAIAAqAC8ACiAAIgB1AG4AYQBjAGMA
ZQBwAHQAYQBiAGwAZQAiACAAPQAgACIAdQBuAGEAYwBjAGUAcAB0AGEAYgBsAGUAIgA7AAogAApA
QCAtNjA3LDEyICs3MDYsMjQgQEAKIAAvACoAIABVAG4AawBuAG8AdwBuACAAZgBpAGwAZQBuAGEA
bQBlACAAKgAvAAogACIAdQBuAGsAbgBvAHcAbgAiACAAPQAgACIAdQBuAGsAbgBvAHcAbgAiADsA
CiAACisALwAqACAAYQBjAGMAZQBzAHMAaQBiAGkAbABpAHQAeQAgAHIAbwBsAGUAIABkAGUAcwBj
AHIAaQBwAHQAaQBvAG4AIABmAG8AcgAgAHQAdQByAG4AIABtAHUAdABlACAAbwBmAGYAIABiAHUA
dAB0AG8AbgAgACoALwAKKwAiAHUAbgBtAHUAdABlACIAIAA9ACAAIgB1AG4AbQB1AHQAZQAiADsA
CisACisALwAqACAAYQBjAGMAZQBzAHMAaQBiAGkAbABpAHQAeQAgAGgAZQBsAHAAIAB0AGUAeAB0
ACAAZgBvAHIAIAB1AG4AIABtAHUAdABlACAAYgB1AHQAdABvAG4AIAAqAC8ACisAIgB1AG4AbQB1
AHQAZQAgAGEAdQBkAGkAbwAgAHQAcgBhAGMAawBzACIAIAA9ACAAIgB1AG4AbQB1AHQAZQAgAGEA
dQBkAGkAbwAgAHQAcgBhAGMAawBzACIAOwAKKwAKIAAvACoAIABIAFQAVABQACAAcgBlAHMAdQBs
AHQAIABjAG8AZABlACAAcwB0AHIAaQBuAGcAIAAqAC8ACiAAIgB1AG4AcwB1AHAAcABvAHIAdABl
AGQAIABtAGUAZABpAGEAIAB0AHkAcABlACIAIAA9ACAAIgB1AG4AcwB1AHAAcABvAHIAdABlAGQA
IABtAGUAZABpAGEAIAB0AHkAcABlACIAOwAKIAAKIAAvACoAIABIAFQAVABQACAAcgBlAHMAdQBs
AHQAIABjAG8AZABlACAAcwB0AHIAaQBuAGcAIAAqAC8ACiAAIgB1AG4AcwB1AHAAcABvAHIAdABl
AGQAIAB2AGUAcgBzAGkAbwBuACIAIAA9ACAAIgB1AG4AcwB1AHAAcABvAHIAdABlAGQAIAB2AGUA
cgBzAGkAbwBuACIAOwAKIAAKKwAvACoAIABhAGMAYwBlAHMAcwBpAGIAaQBsAGkAdAB5ACAAcgBv
AGwAZQAgAGQAZQBzAGMAcgBpAHAAdABpAG8AbgAgAGYAbwByACAAdgBpAGQAZQBvACAAZQBsAGUA
bQBlAG4AdAAgAGMAbwBuAHQAcgBvAGwAbABlAHIAIAAqAC8ACisAIgB2AGkAZABlAG8AIABlAGwA
ZQBtAGUAbgB0ACAAYwBvAG4AdAByAG8AbABsAGUAcgAiACAAPQAgACIAdgBpAGQAZQBvACAAZQBs
AGUAbQBlAG4AdAAgAGMAbwBuAHQAcgBvAGwAbABlAHIAIgA7AAorAAorAC8AKgAgAGEAYwBjAGUA
cwBzAGkAYgBpAGwAaQB0AHkAIAByAG8AbABlACAAZABlAHMAYwByAGkAcAB0AGkAbwBuACAAZgBv
AHIAIAB2AGkAZABlAG8AIABlAGwAZQBtAGUAbgB0ACAAYwBvAG4AdAByAG8AbABsAGUAcgAgACoA
LwAKKwAiAHYAaQBkAGUAbwAgAGUAbABlAG0AZQBuAHQAIABwAGwAYQB5AGIAYQBjAGsAIABjAG8A
bgB0AHIAbwBsAHMAIABhAG4AZAAgAHMAdABhAHQAdQBzACAAZABpAHMAcABsAGEAeQAiACAAPQAg
ACIAdgBpAGQAZQBvACAAZQBsAGUAbQBlAG4AdAAgAHAAbABhAHkAYgBhAGMAawAgAGMAbwBuAHQA
cgBvAGwAcwAgAGEAbgBkACAAcwB0AGEAdAB1AHMAIABkAGkAcwBwAGwAYQB5ACIAOwAKKwAKIAAv
ACoAIABhAGMAYwBlAHMAcwBpAGIAaQBsAGkAdAB5ACAAcgBvAGwAZQAgAGQAZQBzAGMAcgBpAHAA
dABpAG8AbgAgAGYAbwByACAAdwBlAGIAIABhAHIAZQBhACAAKgAvAAogACIAdwBlAGIAIABhAHIA
ZQBhACIAIAA9ACAAIgB3AGUAYgAgAGEAcgBlAGEAIgA7AAogAApJbmRleDogV2ViS2l0L21hYy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ3
NTg5KQorKysgV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwx
NiBAQAorMjAwOS0wOC0yMCAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBPbGl2ZXIgSHVudC4KKworICAgICAgICA8dmlkZW8+IGFu
ZCA8YXVkaW8+IGNvbnRyb2xsZXIgc2hvdWxkIGJlIGFjY2Vzc2libGUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI4MDgxCisKKyAgICAgICAgKiBXZWJD
b3JlU3VwcG9ydC9XZWJWaWV3RmFjdG9yeS5tbToKKyAgICAgICAgKC1bV2ViVmlld0ZhY3Rvcnkg
bG9jYWxpemVkTWVkaWFDb250cm9sRWxlbWVudFN0cmluZzpdKToKKyAgICAgICAgKC1bV2ViVmll
d0ZhY3RvcnkgbG9jYWxpemVkTWVkaWFDb250cm9sRWxlbWVudEhlbHBUZXh0Ol0pOgorICAgICAg
ICAoLVtXZWJWaWV3RmFjdG9yeSBsb2NhbGl6ZWRNZWRpYVRpbWVEZXNjcmlwdGlvbjpdKToKKyAg
ICAgICAgICAgIE5ldy4KKwogMjAwOS0wOC0xOSAgTWFyayBSb3dlICA8bXJvd2VAYXBwbGUuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCkluZGV4OiBXZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYlZpZXdGYWN0b3J5Lm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViVmlld0ZhY3RvcnkubW0JKHJldmlzaW9uIDQ3NTg5KQorKysg
V2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJWaWV3RmFjdG9yeS5tbQkod29ya2luZyBjb3B5
KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDUgQXBwbGUgQ29tcHV0
ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDUsIDIw
MDkgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTYwOCw0ICs2MDgsMTAzIEBACiAgICAgcmV0dXJuIFVJ
X1NUUklORygiTGl2ZSBCcm9hZGNhc3QiLCAiTWVkaWEgY29udHJvbGxlciBzdGF0dXMgbWVzc2Fn
ZSB3aGVuIHdhdGNoaW5nIGEgbGl2ZSBicm9hZGNhc3QiKTsKIH0KIAorLSAoTlNTdHJpbmcqKWxv
Y2FsaXplZE1lZGlhQ29udHJvbEVsZW1lbnRTdHJpbmc6KE5TU3RyaW5nKiluYW1lCit7CisgICAg
aWYgKFtuYW1lIGlzRXF1YWxUb1N0cmluZzpAIkF1ZGlvRWxlbWVudCJdKQorICAgICAgICByZXR1
cm4gVUlfU1RSSU5HKCJhdWRpbyBlbGVtZW50IGNvbnRyb2xsZXIiLCAiYWNjZXNzaWJpbGl0eSBy
b2xlIGRlc2NyaXB0aW9uIGZvciBhdWRpbyBlbGVtZW50IGNvbnRyb2xsZXIiKTsKKyAgICBpZiAo
W25hbWUgaXNFcXVhbFRvU3RyaW5nOkAiVmlkZW9FbGVtZW50Il0pCisgICAgICAgIHJldHVybiBV
SV9TVFJJTkcoInZpZGVvIGVsZW1lbnQgY29udHJvbGxlciIsICJhY2Nlc3NpYmlsaXR5IHJvbGUg
ZGVzY3JpcHRpb24gZm9yIHZpZGVvIGVsZW1lbnQgY29udHJvbGxlciIpOworCisgICAgaWYgKFtu
YW1lIGlzRXF1YWxUb1N0cmluZzpAIk11dGVCdXR0b24iXSkKKyAgICAgICAgcmV0dXJuIFVJX1NU
UklORygibXV0ZSIsICJhY2Nlc3NpYmlsaXR5IHJvbGUgZGVzY3JpcHRpb24gZm9yIG11dGUgYnV0
dG9uIik7CisgICAgaWYgKFtuYW1lIGlzRXF1YWxUb1N0cmluZzpAIlVuTXV0ZUJ1dHRvbiJdKQor
ICAgICAgICByZXR1cm4gVUlfU1RSSU5HKCJ1bm11dGUiLCAiYWNjZXNzaWJpbGl0eSByb2xlIGRl
c2NyaXB0aW9uIGZvciB0dXJuIG11dGUgb2ZmIGJ1dHRvbiIpOworICAgIGlmIChbbmFtZSBpc0Vx
dWFsVG9TdHJpbmc6QCJQbGF5QnV0dG9uIl0pCisgICAgICAgIHJldHVybiBVSV9TVFJJTkcoInBs
YXkiLCAiYWNjZXNzaWJpbGl0eSByb2xlIGRlc2NyaXB0aW9uIGZvciBwbGF5IGJ1dHRvbiIpOwor
ICAgIGlmIChbbmFtZSBpc0VxdWFsVG9TdHJpbmc6QCJQYXVzZUJ1dHRvbiJdKQorICAgICAgICBy
ZXR1cm4gVUlfU1RSSU5HKCJwYXVzZSIsICJhY2Nlc3NpYmlsaXR5IHJvbGUgZGVzY3JpcHRpb24g
Zm9yIHBhdXNlIGJ1dHRvbiIpOworICAgIGlmIChbbmFtZSBpc0VxdWFsVG9TdHJpbmc6QCJTbGlk
ZXIiXSkKKyAgICAgICAgcmV0dXJuIFVJX1NUUklORygibW92aWUgdGltZSIsICJhY2Nlc3NpYmls
aXR5IHJvbGUgZGVzY3JpcHRpb24gZm9yIHRpbWVsaW5lIHNsaWRlciIpOworICAgIGlmIChbbmFt
ZSBpc0VxdWFsVG9TdHJpbmc6QCJTbGlkZXJUaHVtYiJdKQorICAgICAgICByZXR1cm4gVUlfU1RS
SU5HKCJ0aW1lbGluZSBzbGlkZXIgdGh1bWIiLCAiYWNjZXNzaWJpbGl0eSByb2xlIGRlc2NyaXB0
aW9uIGZvciB0aW1lbGluZSB0aHVtYiIpOworICAgIGlmIChbbmFtZSBpc0VxdWFsVG9TdHJpbmc6
QCJSZXdpbmRCdXR0b24iXSkKKyAgICAgICAgcmV0dXJuIFVJX1NUUklORygiYmFjayAzMCBzZWNv
bmRzIiwgImFjY2Vzc2liaWxpdHkgcm9sZSBkZXNjcmlwdGlvbiBmb3Igc2VlayBiYWNrIDMwIHNl
Y29uZHMgYnV0dG9uIik7CisgICAgaWYgKFtuYW1lIGlzRXF1YWxUb1N0cmluZzpAIlJldHVyblRv
UmVhbHRpbWVCdXR0b24iXSkKKyAgICAgICAgcmV0dXJuIFVJX1NUUklORygicmV0dXJuIHRvIHJl
YWx0aW1lIiwgImFjY2Vzc2liaWxpdHkgcm9sZSBkZXNjcmlwdGlvbiBmb3IgcmV0dXJuIHRvIHJl
YWwgdGltZSBidXR0b24iKTsKKyAgICBpZiAoW25hbWUgaXNFcXVhbFRvU3RyaW5nOkAiQ3VycmVu
dFRpbWVEaXNwbGF5Il0pCisgICAgICAgIHJldHVybiBVSV9TVFJJTkcoImVsYXBzZWQgdGltZSIs
ICJhY2Nlc3NpYmlsaXR5IHJvbGUgZGVzY3JpcHRpb24gZm9yIGVsYXBzZWQgdGltZSBkaXNwbGF5
Iik7CisgICAgaWYgKFtuYW1lIGlzRXF1YWxUb1N0cmluZzpAIlRpbWVSZW1haW5pbmdEaXNwbGF5
Il0pCisgICAgICAgIHJldHVybiBVSV9TVFJJTkcoInJlbWFpbmluZyB0aW1lIiwgImFjY2Vzc2li
aWxpdHkgcm9sZSBkZXNjcmlwdGlvbiBmb3IgdGltZSByZW1haW5pbmcgZGlzcGxheSIpOworICAg
IGlmIChbbmFtZSBpc0VxdWFsVG9TdHJpbmc6QCJTdGF0dXNEaXNwbGF5Il0pCisgICAgICAgIHJl
dHVybiBVSV9TVFJJTkcoInN0YXR1cyIsICJhY2Nlc3NpYmlsaXR5IHJvbGUgZGVzY3JpcHRpb24g
Zm9yIG1vdmllIHN0YXR1cyIpOworICAgIGlmIChbbmFtZSBpc0VxdWFsVG9TdHJpbmc6QCJGdWxs
c2NyZWVuQnV0dG9uIl0pCisgICAgICAgIHJldHVybiBVSV9TVFJJTkcoImZ1bGxzY3JlZW4iLCAi
YWNjZXNzaWJpbGl0eSByb2xlIGRlc2NyaXB0aW9uIGZvciBlbnRlciBmdWxsc2NyZWVuIGJ1dHRv
biIpOworICAgIGlmIChbbmFtZSBpc0VxdWFsVG9TdHJpbmc6QCJTZWVrRm9yd2FyZEJ1dHRvbiJd
KQorICAgICAgICByZXR1cm4gVUlfU1RSSU5HKCJmYXN0IGZvcndhcmQiLCAiYWNjZXNzaWJpbGl0
eSByb2xlIGRlc2NyaXB0aW9uIGZvciBmYXN0IGZvcndhcmQgYnV0dG9uIik7CisgICAgaWYgKFtu
YW1lIGlzRXF1YWxUb1N0cmluZzpAIlNlZWtCYWNrQnV0dG9uIl0pCisgICAgICAgIHJldHVybiBV
SV9TVFJJTkcoImZhc3QgcmV2ZXJzZSIsICJhY2Nlc3NpYmlsaXR5IHJvbGUgZGVzY3JpcHRpb24g
Zm9yIGZhc3QgcmV2ZXJzZSBidXR0b24iKTsKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAg
ICByZXR1cm4gQCIiOworfQorCistIChOU1N0cmluZyopbG9jYWxpemVkTWVkaWFDb250cm9sRWxl
bWVudEhlbHBUZXh0OihOU1N0cmluZyopbmFtZQoreworICAgIGlmIChbbmFtZSBpc0VxdWFsVG9T
dHJpbmc6QCJBdWRpb0VsZW1lbnQiXSkKKyAgICAgICAgcmV0dXJuIFVJX1NUUklORygiYXVkaW8g
ZWxlbWVudCBwbGF5YmFjayBjb250cm9scyBhbmQgc3RhdHVzIGRpc3BsYXkiLCAiYWNjZXNzaWJp
bGl0eSByb2xlIGRlc2NyaXB0aW9uIGZvciBhdWRpbyBlbGVtZW50IGNvbnRyb2xsZXIiKTsKKyAg
ICBpZiAoW25hbWUgaXNFcXVhbFRvU3RyaW5nOkAiVmlkZW9FbGVtZW50Il0pCisgICAgICAgIHJl
dHVybiBVSV9TVFJJTkcoInZpZGVvIGVsZW1lbnQgcGxheWJhY2sgY29udHJvbHMgYW5kIHN0YXR1
cyBkaXNwbGF5IiwgImFjY2Vzc2liaWxpdHkgcm9sZSBkZXNjcmlwdGlvbiBmb3IgdmlkZW8gZWxl
bWVudCBjb250cm9sbGVyIik7CisKKyAgICBpZiAoW25hbWUgaXNFcXVhbFRvU3RyaW5nOkAiTXV0
ZUJ1dHRvbiJdKQorICAgICAgICByZXR1cm4gVUlfU1RSSU5HKCJtdXRlIGF1ZGlvIHRyYWNrcyIs
ICJhY2Nlc3NpYmlsaXR5IGhlbHAgdGV4dCBmb3IgbXV0ZSBidXR0b24iKTsKKyAgICBpZiAoW25h
bWUgaXNFcXVhbFRvU3RyaW5nOkAiVW5NdXRlQnV0dG9uIl0pCisgICAgICAgIHJldHVybiBVSV9T
VFJJTkcoInVubXV0ZSBhdWRpbyB0cmFja3MiLCAiYWNjZXNzaWJpbGl0eSBoZWxwIHRleHQgZm9y
IHVuIG11dGUgYnV0dG9uIik7CisgICAgaWYgKFtuYW1lIGlzRXF1YWxUb1N0cmluZzpAIlBsYXlC
dXR0b24iXSkKKyAgICAgICAgcmV0dXJuIFVJX1NUUklORygiYmVnaW4gcGxheWJhY2siLCAiYWNj
ZXNzaWJpbGl0eSBoZWxwIHRleHQgZm9yIHBsYXkgYnV0dG9uIik7CisgICAgaWYgKFtuYW1lIGlz
RXF1YWxUb1N0cmluZzpAIlBhdXNlQnV0dG9uIl0pCisgICAgICAgIHJldHVybiBVSV9TVFJJTkco
InBhdXNlIHBsYXliYWNrIiwgImFjY2Vzc2liaWxpdHkgaGVscCB0ZXh0IGZvciBwYXVzZSBidXR0
b24iKTsKKyAgICBpZiAoW25hbWUgaXNFcXVhbFRvU3RyaW5nOkAiU2xpZGVyIl0pCisgICAgICAg
IHJldHVybiBVSV9TVFJJTkcoIm1vdmllIHRpbWUgc2NydWJiZXIiLCAiYWNjZXNzaWJpbGl0eSBo
ZWxwIHRleHQgZm9yIHRpbWVsaW5lIHNsaWRlciIpOworICAgIGlmIChbbmFtZSBpc0VxdWFsVG9T
dHJpbmc6QCJTbGlkZXJUaHVtYiJdKQorICAgICAgICByZXR1cm4gVUlfU1RSSU5HKCJtb3ZpZSB0
aW1lIHNjcnViYmVyIHRodW1iIiwgImFjY2Vzc2liaWxpdHkgaGVscCB0ZXh0IGZvciB0aW1lbGlu
ZSBzbGlkZXIgdGh1bWIiKTsKKyAgICBpZiAoW25hbWUgaXNFcXVhbFRvU3RyaW5nOkAiUmV3aW5k
QnV0dG9uIl0pCisgICAgICAgIHJldHVybiBVSV9TVFJJTkcoInNlZWsgbW92aWUgYmFjayAzMCBz
ZWNvbmRzIiwgImFjY2Vzc2liaWxpdHkgaGVscCB0ZXh0IGZvciBqdW1wIGJhY2sgMzAgc2Vjb25k
cyBidXR0b24iKTsKKyAgICBpZiAoW25hbWUgaXNFcXVhbFRvU3RyaW5nOkAiUmV0dXJuVG9SZWFs
dGltZUJ1dHRvbiJdKQorICAgICAgICByZXR1cm4gVUlfU1RSSU5HKCJyZXR1cm4gc3RyZWFtaW5n
IG1vdmllIHRvIHJlYWwgdGltZSIsICJhY2Nlc3NpYmlsaXR5IGhlbHAgdGV4dCBmb3IgcmV0dXJu
IHN0cmVhbWluZyBtb3ZpZSB0byByZWFsIHRpbWUgYnV0dG9uIik7CisgICAgaWYgKFtuYW1lIGlz
RXF1YWxUb1N0cmluZzpAIkN1cnJlbnRUaW1lRGlzcGxheSJdKQorICAgICAgICByZXR1cm4gVUlf
U1RSSU5HKCJjdXJyZW50IG1vdmllIHRpbWUgaW4gc2Vjb25kcyIsICJhY2Nlc3NpYmlsaXR5IGhl
bHAgdGV4dCBmb3IgZWxhcHNlZCB0aW1lIGRpc3BsYXkiKTsKKyAgICBpZiAoW25hbWUgaXNFcXVh
bFRvU3RyaW5nOkAiVGltZVJlbWFpbmluZ0Rpc3BsYXkiXSkKKyAgICAgICAgcmV0dXJuIFVJX1NU
UklORygibnVtYmVyIG9mIHNlY29uZHMgb2YgbW92aWUgcmVtYWluaW5nIiwgImFjY2Vzc2liaWxp
dHkgaGVscCB0ZXh0IGZvciByZW1haW5pbmcgdGltZSBkaXNwbGF5Iik7CisgICAgaWYgKFtuYW1l
IGlzRXF1YWxUb1N0cmluZzpAIlN0YXR1c0Rpc3BsYXkiXSkKKyAgICAgICAgcmV0dXJuIFVJX1NU
UklORygiY3VycmVudCBtb3ZpZSBzdGF0dXMiLCAiYWNjZXNzaWJpbGl0eSBoZWxwIHRleHQgZm9y
IG1vdmllIHN0YXR1cyBkaXNwbGF5Iik7CisgICAgaWYgKFtuYW1lIGlzRXF1YWxUb1N0cmluZzpA
IlNlZWtCYWNrQnV0dG9uIl0pCisgICAgICAgIHJldHVybiBVSV9TVFJJTkcoInNlZWsgcXVpY2ts
eSBiYWNrIiwgImFjY2Vzc2liaWxpdHkgaGVscCB0ZXh0IGZvciBmYXN0IHJld2luZCBidXR0b24i
KTsKKyAgICBpZiAoW25hbWUgaXNFcXVhbFRvU3RyaW5nOkAiU2Vla0ZvcndhcmRCdXR0b24iXSkK
KyAgICAgICAgcmV0dXJuIFVJX1NUUklORygic2VlayBxdWlja2x5IGZvcndhcmQiLCAiYWNjZXNz
aWJpbGl0eSBoZWxwIHRleHQgZm9yIGZhc3QgZm9yd2FyZCBidXR0b24iKTsKKyAgICBpZiAoW25h
bWUgaXNFcXVhbFRvU3RyaW5nOkAiRnVsbHNjcmVlbkJ1dHRvbiJdKQorICAgICAgICByZXR1cm4g
VUlfU1RSSU5HKCJQbGF5IG1vdmllIGluIGZ1bGxzY3JlZW4gbW9kZSIsICJhY2Nlc3NpYmlsaXR5
IGhlbHAgdGV4dCBmb3IgZW50ZXIgZnVsbHNjcmVlbiBidXR0b24iKTsKKyAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKKyAgICByZXR1cm4gQCIiOworfQorCistIChOU1N0cmluZyopbG9jYWxpemVk
TWVkaWFUaW1lRGVzY3JpcHRpb246KGZsb2F0KXRpbWUKK3sKKyAgICBpZiAoIWlzZmluaXRlKHRp
bWUpKQorICAgICAgICByZXR1cm4gVUlfU1RSSU5HKCJpbmRlZmluaXRlIHRpbWUiLCAic3RyaW5n
IGZvciBhbiBpbmRlZmluaXRlIG1vdmllIHRpbWUiKTsKKworICAgIGludCBzZWNvbmRzID0gKGlu
dClmYWJzZih0aW1lKTsgCisgICAgaW50IGRheXMgPSBzZWNvbmRzIC8gKDYwICogNjAgKiAyNCk7
CisgICAgaW50IGhvdXJzID0gc2Vjb25kcyAvICg2MCAqIDYwKTsKKyAgICBpbnQgbWludXRlcyA9
IChzZWNvbmRzIC8gNjApICUgNjA7CisgICAgc2Vjb25kcyAlPSA2MDsKKworICAgIGlmIChkYXlz
KQorICAgICAgICByZXR1cm4gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6VUlfU1RSSU5HKCJk
YXRlLmZvcm1hdC5mb3IuZGF5cyIsICJzdHJpbmcgZm9yIGRheXMsIGhvdXJzLCBtaW51dGVzICYg
c2Vjb25kcyIpLCBkYXlzLCBob3VycywgbWludXRlcywgc2Vjb25kc107CisgICAgZWxzZSBpZiAo
aG91cnMpCisgICAgICAgIHJldHVybiBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpVSV9TVFJJ
TkcoImRhdGUuZm9ybWF0LmZvci5ob3VycyIsICJzdHJpbmcgZm9yIGhvdXJzLCBtaW51dGVzICYg
c2Vjb25kcyIpLCBob3VycywgbWludXRlcywgc2Vjb25kc107CisgICAgZWxzZSBpZiAobWludXRl
cykKKyAgICAgICAgcmV0dXJuIFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OlVJX1NUUklORygi
ZGF0ZS5mb3JtYXQuZm9yLm1pbnV0ZXMiLCAic3RyaW5nIGZvciBtaW51dGVzICYgc2Vjb25kcyIp
LCBtaW51dGVzLCBzZWNvbmRzXTsKKworICAgIHJldHVybiBbTlNTdHJpbmcgc3RyaW5nV2l0aEZv
cm1hdDpVSV9TVFJJTkcoImRhdGUuZm9ybWF0LmZvci5zZWNvbmRzIiwgInN0cmluZyBmb3Igc2Vj
b25kcyIpLCBzZWNvbmRzXTsKK30KKwogQGVuZApJbmRleDogV2ViS2l0L3dpbi9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ3NTg5KQorKysg
V2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAw
OS0wOC0yMCAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBPbGl2ZXIgSHVudC4KKworICAgICAgICA8dmlkZW8+IGFuZCA8YXVkaW8+
IGNvbnRyb2xsZXIgc2hvdWxkIGJlIGFjY2Vzc2libGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI4MDgxCisKKyAgICAgICAgKiBXZWJDb3JlTG9jYWxp
emVkU3RyaW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpsb2NhbGl6ZWRNZWRpYUNvbnRyb2xF
bGVtZW50U3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OmxvY2FsaXplZE1lZGlhQ29udHJvbEVs
ZW1lbnRIZWxwVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpsb2NhbGl6ZWRNZWRpYVRpbWVEZXNj
cmlwdGlvbik6CisgICAgICAgICAgICBOZXcuCisKIDIwMDktMDgtMTggIEJyaWFuIFdlaW5zdGVp
biAgPGJ3ZWluc3RlaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9saXZlciBI
dW50LgpJbmRleDogV2ViS2l0L3dpbi9XZWJDb3JlTG9jYWxpemVkU3RyaW5ncy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0L3dpbi9XZWJDb3JlTG9jYWxpemVkU3RyaW5ncy5jcHAJKHJldmlzaW9u
IDQ3NTg5KQorKysgV2ViS2l0L3dpbi9XZWJDb3JlTG9jYWxpemVkU3RyaW5ncy5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTk0LDggKzk0LDYgQEAgU3RyaW5nIFdlYkNvcmU6OkFYTGlua0FjdGlvblZl
cmIoKSB7IHJldAogU3RyaW5nIFdlYkNvcmU6OnVua25vd25GaWxlU2l6ZVRleHQoKSB7IHJldHVy
biBTdHJpbmcoTFBDVFNUUl9VSV9TVFJJTkcoIlVua25vd24iLCAiVW5rbm93biBmaWxlc2l6ZSBG
VFAgZGlyZWN0b3J5IGxpc3RpbmcgaXRlbSIpKTsgfQogU3RyaW5nIFdlYkNvcmU6OnVwbG9hZEZp
bGVUZXh0KCkgeyByZXR1cm4gU3RyaW5nKExQQ1RTVFJfVUlfU1RSSU5HKCJVcGxvYWQgZmlsZSIs
ICIoV2luZG93cykgRm9ybSBzdWJtaXQgZmlsZSB1cGxvYWQgZGlhbG9nIHRpdGxlIikpOyB9CiBT
dHJpbmcgV2ViQ29yZTo6YWxsRmlsZXNUZXh0KCkgeyByZXR1cm4gU3RyaW5nKExQQ1RTVFJfVUlf
U1RSSU5HKCJBbGwgRmlsZXMiLCAiKFdpbmRvd3MpIEZvcm0gc3VibWl0IGZpbGUgdXBsb2FkIGFs
bCBmaWxlcyBwb3AtdXAiKSk7IH0KLVN0cmluZyBXZWJDb3JlOjptZWRpYUVsZW1lbnRMb2FkaW5n
U3RhdGVUZXh0KCkgeyByZXR1cm4gU3RyaW5nKExQQ1RTVFJfVUlfU1RSSU5HKCJMb2FkaW5nLi4u
IiwgIk1lZGlhIGNvbnRyb2xsZXIgc3RhdHVzIG1lc3NhZ2Ugd2hlbiB0aGUgbWVkaWEgaXMgbG9h
ZGluZyIpKTsgfQotU3RyaW5nIFdlYkNvcmU6Om1lZGlhRWxlbWVudExpdmVCcm9hZGNhc3RTdGF0
ZVRleHQoKSB7IHJldHVybiBTdHJpbmcoTFBDVFNUUl9VSV9TVFJJTkcoIkxpdmUgQnJvYWRjYXN0
IiwgIk1lZGlhIGNvbnRyb2xsZXIgc3RhdHVzIG1lc3NhZ2Ugd2hlbiB3YXRjaGluZyBhIGxpdmUg
YnJvYWRjYXN0IikpOyB9CiAKIFN0cmluZyBXZWJDb3JlOjppbWFnZVRpdGxlKGNvbnN0IFN0cmlu
ZyYgZmlsZW5hbWUsIGNvbnN0IEludFNpemUmIHNpemUpIAogeyAKQEAgLTExNCwzICsxMTIsMTIy
IEBAIFN0cmluZyBtdWx0aXBsZUZpbGVVcGxvYWRUZXh0KHVuc2lnbmVkIG4KIAogICAgIHJldHVy
biByZXN1bHQuZ2V0KCk7CiB9CisKKyNpZiBFTkFCTEUoVklERU8pCitTdHJpbmcgV2ViQ29yZTo6
bWVkaWFFbGVtZW50TG9hZGluZ1N0YXRlVGV4dCgpIHsgcmV0dXJuIFN0cmluZyhMUENUU1RSX1VJ
X1NUUklORygiTG9hZGluZy4uLiIsICJNZWRpYSBjb250cm9sbGVyIHN0YXR1cyBtZXNzYWdlIHdo
ZW4gdGhlIG1lZGlhIGlzIGxvYWRpbmciKSk7IH0KK1N0cmluZyBXZWJDb3JlOjptZWRpYUVsZW1l
bnRMaXZlQnJvYWRjYXN0U3RhdGVUZXh0KCkgeyByZXR1cm4gU3RyaW5nKExQQ1RTVFJfVUlfU1RS
SU5HKCJMaXZlIEJyb2FkY2FzdCIsICJNZWRpYSBjb250cm9sbGVyIHN0YXR1cyBtZXNzYWdlIHdo
ZW4gd2F0Y2hpbmcgYSBsaXZlIGJyb2FkY2FzdCIpKTsgfQorCitTdHJpbmcgV2ViQ29yZTo6bG9j
YWxpemVkTWVkaWFDb250cm9sRWxlbWVudFN0cmluZyhjb25zdCBTdHJpbmcmIG5hbWUpCit7Cisg
ICAgaWYgKG5hbWUgPT0gIkF1ZGlvRWxlbWVudCIpCisgICAgICAgIHJldHVybiBTdHJpbmcoTFBD
VFNUUl9VSV9TVFJJTkcoImF1ZGlvIGVsZW1lbnQgY29udHJvbGxlciIsICJhY2Nlc3NpYmlsaXR5
IHJvbGUgZGVzY3JpcHRpb24gZm9yIGF1ZGlvIGVsZW1lbnQgY29udHJvbGxlciIpKTsKKyAgICBp
ZiAobmFtZSA9PSAiVmlkZW9FbGVtZW50IikKKyAgICAgICAgcmV0dXJuIFN0cmluZyhMUENUU1RS
X1VJX1NUUklORygidmlkZW8gZWxlbWVudCBjb250cm9sbGVyIiwgImFjY2Vzc2liaWxpdHkgcm9s
ZSBkZXNjcmlwdGlvbiBmb3IgdmlkZW8gZWxlbWVudCBjb250cm9sbGVyIikpOworICAgIGlmIChu
YW1lID09ICJNdXRlQnV0dG9uIikKKyAgICAgICAgcmV0dXJuIFN0cmluZyhMUENUU1RSX1VJX1NU
UklORygibXV0ZSIsICJhY2Nlc3NpYmlsaXR5IHJvbGUgZGVzY3JpcHRpb24gZm9yIG11dGUgYnV0
dG9uIikpOworICAgIGlmIChuYW1lID09ICJVbk11dGVCdXR0b24iKQorICAgICAgICByZXR1cm4g
U3RyaW5nKExQQ1RTVFJfVUlfU1RSSU5HKCJ1bm11dGUiLCAiYWNjZXNzaWJpbGl0eSByb2xlIGRl
c2NyaXB0aW9uIGZvciB0dXJuIG11dGUgb2ZmIGJ1dHRvbiIpKTsKKyAgICBpZiAobmFtZSA9PSAi
UGxheUJ1dHRvbiIpCisgICAgICAgIHJldHVybiBTdHJpbmcoTFBDVFNUUl9VSV9TVFJJTkcoInBs
YXkiLCAiYWNjZXNzaWJpbGl0eSByb2xlIGRlc2NyaXB0aW9uIGZvciBwbGF5IGJ1dHRvbiIpKTsK
KyAgICBpZiAobmFtZSA9PSAiUGF1c2VCdXR0b24iKQorICAgICAgICByZXR1cm4gU3RyaW5nKExQ
Q1RTVFJfVUlfU1RSSU5HKCJwYXVzZSIsICJhY2Nlc3NpYmlsaXR5IHJvbGUgZGVzY3JpcHRpb24g
Zm9yIHBhdXNlIGJ1dHRvbiIpKTsKKyAgICBpZiAobmFtZSA9PSAiU2xpZGVyIikKKyAgICAgICAg
cmV0dXJuIFN0cmluZyhMUENUU1RSX1VJX1NUUklORygibW92aWUgdGltZSIsICJhY2Nlc3NpYmls
aXR5IHJvbGUgZGVzY3JpcHRpb24gZm9yIHRpbWVsaW5lIHNsaWRlciIpKTsKKyAgICBpZiAobmFt
ZSA9PSAiU2xpZGVyVGh1bWIiKQorICAgICAgICByZXR1cm4gU3RyaW5nKExQQ1RTVFJfVUlfU1RS
SU5HKCJ0aW1lbGluZSBzbGlkZXIgdGh1bWIiLCAiYWNjZXNzaWJpbGl0eSByb2xlIGRlc2NyaXB0
aW9uIGZvciB0aW1lbGluZSB0aHVtYiIpKTsKKyAgICBpZiAobmFtZSA9PSAiUmV3aW5kQnV0dG9u
IikKKyAgICAgICAgcmV0dXJuIFN0cmluZyhMUENUU1RSX1VJX1NUUklORygiYmFjayAzMCBzZWNv
bmRzIiwgImFjY2Vzc2liaWxpdHkgcm9sZSBkZXNjcmlwdGlvbiBmb3Igc2VlayBiYWNrIDMwIHNl
Y29uZHMgYnV0dG9uIikpOworICAgIGlmIChuYW1lID09ICJSZXR1cm5Ub1JlYWx0aW1lQnV0dG9u
IikKKyAgICAgICAgcmV0dXJuIFN0cmluZyhMUENUU1RSX1VJX1NUUklORygicmV0dXJuIHRvIHJl
YWx0aW1lIiwgImFjY2Vzc2liaWxpdHkgcm9sZSBkZXNjcmlwdGlvbiBmb3IgcmV0dXJuIHRvIHJl
YWwgdGltZSBidXR0b24iKSk7CisgICAgaWYgKG5hbWUgPT0gIkN1cnJlbnRUaW1lRGlzcGxheSIp
CisgICAgICAgIHJldHVybiBTdHJpbmcoTFBDVFNUUl9VSV9TVFJJTkcoImVsYXBzZWQgdGltZSIs
ICJhY2Nlc3NpYmlsaXR5IHJvbGUgZGVzY3JpcHRpb24gZm9yIGVsYXBzZWQgdGltZSBkaXNwbGF5
IikpOworICAgIGlmIChuYW1lID09ICJUaW1lUmVtYWluaW5nRGlzcGxheSIpCisgICAgICAgIHJl
dHVybiBTdHJpbmcoTFBDVFNUUl9VSV9TVFJJTkcoInJlbWFpbmluZyB0aW1lIiwgImFjY2Vzc2li
aWxpdHkgcm9sZSBkZXNjcmlwdGlvbiBmb3IgdGltZSByZW1haW5pbmcgZGlzcGxheSIpKTsKKyAg
ICBpZiAobmFtZSA9PSAiU3RhdHVzRGlzcGxheSIpCisgICAgICAgIHJldHVybiBTdHJpbmcoTFBD
VFNUUl9VSV9TVFJJTkcoInN0YXR1cyIsICJhY2Nlc3NpYmlsaXR5IHJvbGUgZGVzY3JpcHRpb24g
Zm9yIG1vdmllIHN0YXR1cyIpKTsKKyAgICBpZiAobmFtZSA9PSAiRnVsbHNjcmVlbkJ1dHRvbiIp
CisgICAgICAgIHJldHVybiBTdHJpbmcoTFBDVFNUUl9VSV9TVFJJTkcoImZ1bGxzY3JlZW4iLCAi
YWNjZXNzaWJpbGl0eSByb2xlIGRlc2NyaXB0aW9uIGZvciBlbnRlciBmdWxsc2NyZWVuIGJ1dHRv
biIpKTsKKyAgICBpZiAobmFtZSA9PSAiU2Vla0ZvcndhcmRCdXR0b24iKQorICAgICAgICByZXR1
cm4gU3RyaW5nKExQQ1RTVFJfVUlfU1RSSU5HKCJmYXN0IGZvcndhcmQiLCAiYWNjZXNzaWJpbGl0
eSByb2xlIGRlc2NyaXB0aW9uIGZvciBmYXN0IGZvcndhcmQgYnV0dG9uIikpOworICAgIGlmIChu
YW1lID09ICJTZWVrQmFja0J1dHRvbiIpCisgICAgICAgIHJldHVybiBTdHJpbmcoTFBDVFNUUl9V
SV9TVFJJTkcoImZhc3QgcmV2ZXJzZSIsICJhY2Nlc3NpYmlsaXR5IHJvbGUgZGVzY3JpcHRpb24g
Zm9yIGZhc3QgcmV2ZXJzZSBidXR0b24iKSk7CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
KyAgICByZXR1cm4gU3RyaW5nKCk7Cit9CisKK1N0cmluZyBXZWJDb3JlOjpsb2NhbGl6ZWRNZWRp
YUNvbnRyb2xFbGVtZW50SGVscFRleHQoY29uc3QgU3RyaW5nJiBuYW1lKQoreworICAgIGlmIChu
YW1lID09ICJBdWRpb0VsZW1lbnQiKQorICAgICAgICByZXR1cm4gU3RyaW5nKExQQ1RTVFJfVUlf
U1RSSU5HKCJhdWRpbyBlbGVtZW50IHBsYXliYWNrIGNvbnRyb2xzIGFuZCBzdGF0dXMgZGlzcGxh
eSIsICJhY2Nlc3NpYmlsaXR5IHJvbGUgZGVzY3JpcHRpb24gZm9yIGF1ZGlvIGVsZW1lbnQgY29u
dHJvbGxlciIpKTsKKyAgICBpZiAobmFtZSA9PSAiVmlkZW9FbGVtZW50IikKKyAgICAgICAgcmV0
dXJuIFN0cmluZyhMUENUU1RSX1VJX1NUUklORygidmlkZW8gZWxlbWVudCBwbGF5YmFjayBjb250
cm9scyBhbmQgc3RhdHVzIGRpc3BsYXkiLCAiYWNjZXNzaWJpbGl0eSByb2xlIGRlc2NyaXB0aW9u
IGZvciB2aWRlbyBlbGVtZW50IGNvbnRyb2xsZXIiKSk7CisgICAgaWYgKG5hbWUgPT0gIk11dGVC
dXR0b24iKQorICAgICAgICByZXR1cm4gU3RyaW5nKExQQ1RTVFJfVUlfU1RSSU5HKCJtdXRlIGF1
ZGlvIHRyYWNrcyIsICJhY2Nlc3NpYmlsaXR5IGhlbHAgdGV4dCBmb3IgbXV0ZSBidXR0b24iKSk7
CisgICAgaWYgKG5hbWUgPT0gIlVuTXV0ZUJ1dHRvbiIpCisgICAgICAgIHJldHVybiBTdHJpbmco
TFBDVFNUUl9VSV9TVFJJTkcoInVubXV0ZSBhdWRpbyB0cmFja3MiLCAiYWNjZXNzaWJpbGl0eSBo
ZWxwIHRleHQgZm9yIHVuIG11dGUgYnV0dG9uIikpOworICAgIGlmIChuYW1lID09ICJQbGF5QnV0
dG9uIikKKyAgICAgICAgcmV0dXJuIFN0cmluZyhMUENUU1RSX1VJX1NUUklORygiYmVnaW4gcGxh
eWJhY2siLCAiYWNjZXNzaWJpbGl0eSBoZWxwIHRleHQgZm9yIHBsYXkgYnV0dG9uIikpOworICAg
IGlmIChuYW1lID09ICJQYXVzZUJ1dHRvbiIpCisgICAgICAgIHJldHVybiBTdHJpbmcoTFBDVFNU
Ul9VSV9TVFJJTkcoInBhdXNlIHBsYXliYWNrIiwgImFjY2Vzc2liaWxpdHkgaGVscCB0ZXh0IGZv
ciBwYXVzZSBidXR0b24iKSk7CisgICAgaWYgKG5hbWUgPT0gIlNsaWRlciIpCisgICAgICAgIHJl
dHVybiBTdHJpbmcoTFBDVFNUUl9VSV9TVFJJTkcoIm1vdmllIHRpbWUgc2NydWJiZXIiLCAiYWNj
ZXNzaWJpbGl0eSBoZWxwIHRleHQgZm9yIHRpbWVsaW5lIHNsaWRlciIpKTsKKyAgICBpZiAobmFt
ZSA9PSAiU2xpZGVyVGh1bWIiKQorICAgICAgICByZXR1cm4gU3RyaW5nKExQQ1RTVFJfVUlfU1RS
SU5HKCJtb3ZpZSB0aW1lIHNjcnViYmVyIHRodW1iIiwgImFjY2Vzc2liaWxpdHkgaGVscCB0ZXh0
IGZvciB0aW1lbGluZSBzbGlkZXIgdGh1bWIiKSk7CisgICAgaWYgKG5hbWUgPT0gIlJld2luZEJ1
dHRvbiIpCisgICAgICAgIHJldHVybiBTdHJpbmcoTFBDVFNUUl9VSV9TVFJJTkcoInNlZWsgbW92
aWUgYmFjayAzMCBzZWNvbmRzIiwgImFjY2Vzc2liaWxpdHkgaGVscCB0ZXh0IGZvciBqdW1wIGJh
Y2sgMzAgc2Vjb25kcyBidXR0b24iKSk7CisgICAgaWYgKG5hbWUgPT0gIlJldHVyblRvUmVhbHRp
bWVCdXR0b24iKQorICAgICAgICByZXR1cm4gU3RyaW5nKExQQ1RTVFJfVUlfU1RSSU5HKCJyZXR1
cm4gc3RyZWFtaW5nIG1vdmllIHRvIHJlYWwgdGltZSIsICJhY2Nlc3NpYmlsaXR5IGhlbHAgdGV4
dCBmb3IgcmV0dXJuIHN0cmVhbWluZyBtb3ZpZSB0byByZWFsIHRpbWUgYnV0dG9uIikpOworICAg
IGlmIChuYW1lID09ICJDdXJyZW50VGltZURpc3BsYXkiKQorICAgICAgICByZXR1cm4gU3RyaW5n
KExQQ1RTVFJfVUlfU1RSSU5HKCJjdXJyZW50IG1vdmllIHRpbWUgaW4gc2Vjb25kcyIsICJhY2Nl
c3NpYmlsaXR5IGhlbHAgdGV4dCBmb3IgZWxhcHNlZCB0aW1lIGRpc3BsYXkiKSk7CisgICAgaWYg
KG5hbWUgPT0gIlRpbWVSZW1haW5pbmdEaXNwbGF5IikKKyAgICAgICAgcmV0dXJuIFN0cmluZyhM
UENUU1RSX1VJX1NUUklORygibnVtYmVyIG9mIHNlY29uZHMgb2YgbW92aWUgcmVtYWluaW5nIiwg
ImFjY2Vzc2liaWxpdHkgaGVscCB0ZXh0IGZvciByZW1haW5pbmcgdGltZSBkaXNwbGF5IikpOwor
ICAgIGlmIChuYW1lID09ICJTdGF0dXNEaXNwbGF5IikKKyAgICAgICAgcmV0dXJuIFN0cmluZyhM
UENUU1RSX1VJX1NUUklORygiY3VycmVudCBtb3ZpZSBzdGF0dXMiLCAiYWNjZXNzaWJpbGl0eSBo
ZWxwIHRleHQgZm9yIG1vdmllIHN0YXR1cyBkaXNwbGF5IikpOworICAgIGlmIChuYW1lID09ICJT
ZWVrQmFja0J1dHRvbiIpCisgICAgICAgIHJldHVybiBTdHJpbmcoTFBDVFNUUl9VSV9TVFJJTkco
InNlZWsgcXVpY2tseSBiYWNrIiwgImFjY2Vzc2liaWxpdHkgaGVscCB0ZXh0IGZvciBmYXN0IHJl
d2luZCBidXR0b24iKSk7CisgICAgaWYgKG5hbWUgPT0gIlNlZWtGb3J3YXJkQnV0dG9uIikKKyAg
ICAgICAgcmV0dXJuIFN0cmluZyhMUENUU1RSX1VJX1NUUklORygic2VlayBxdWlja2x5IGZvcndh
cmQiLCAiYWNjZXNzaWJpbGl0eSBoZWxwIHRleHQgZm9yIGZhc3QgZm9yd2FyZCBidXR0b24iKSk7
CisgICAgaWYgKG5hbWUgPT0gIkZ1bGxzY3JlZW5CdXR0b24iKQorICAgICAgICByZXR1cm4gU3Ry
aW5nKExQQ1RTVFJfVUlfU1RSSU5HKCJQbGF5IG1vdmllIGluIGZ1bGxzY3JlZW4gbW9kZSIsICJh
Y2Nlc3NpYmlsaXR5IGhlbHAgdGV4dCBmb3IgZW50ZXIgZnVsbHNjcmVlbiBidXR0b24iKSk7CisK
KyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gU3RyaW5nKCk7Cit9CisKK1N0
cmluZyBXZWJDb3JlOjpsb2NhbGl6ZWRNZWRpYVRpbWVEZXNjcmlwdGlvbihmbG9hdCB0aW1lKQor
eworICAgIGlmICghaXNmaW5pdGUodGltZSkpCisgICAgICAgIHJldHVybiBTdHJpbmcoTFBDVFNU
Ul9VSV9TVFJJTkcoImluZGVmaW5pdGUgdGltZSIsICJzdHJpbmcgZm9yIGFuIGluZGVmaW5pdGUg
bW92aWUgdGltZSIpKTsKKworICAgIGludCBzZWNvbmRzID0gKGludClmYWJzZih0aW1lKTsKKyAg
ICBpbnQgZGF5cyA9IHNlY29uZHMgLyAoNjAgKiA2MCAqIDI0KTsKKyAgICBpbnQgaG91cnMgPSBz
ZWNvbmRzIC8gKDYwICogNjApOworICAgIGludCBtaW51dGVzID0gKHNlY29uZHMgLyA2MCkgJSA2
MDsKKyAgICBzZWNvbmRzICU9IDYwOworCisgICAgaWYgKGRheXMpIHsKKyAgICAgICAgc3RhdGlj
IFJldGFpblB0cjxDRlN0cmluZ1JlZj4gZm9ybWF0KEFkb3B0Q0YsIFVJX1NUUklORygiZGF0ZS5m
b3JtYXQuZm9yLmRheXMiLCAic3RyaW5nIGZvciBkYXlzLCBob3VycywgbWludXRlcyAmIHNlY29u
ZHMiKSk7CisgICAgICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gcmVzdWx0KEFkb3B0Q0YsIENG
U3RyaW5nQ3JlYXRlV2l0aEZvcm1hdCgwLCAwLCBmb3JtYXQuZ2V0KCksIGRheXMsIGhvdXJzLCBt
aW51dGVzLCBzZWNvbmRzKSk7CisgICAgICAgIHJldHVybiByZXN1bHQuZ2V0KCk7CisgICAgfQor
CisgICAgaWYgKGhvdXJzKSB7CisgICAgICAgIHN0YXRpYyBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+
IGZvcm1hdChBZG9wdENGLCBVSV9TVFJJTkcoImRhdGUuZm9ybWF0LmZvci5ob3VycyIsICJzdHJp
bmcgZm9yIGhvdXJzLCBtaW51dGVzICYgc2Vjb25kcyIpKTsKKyAgICAgICAgUmV0YWluUHRyPENG
U3RyaW5nUmVmPiByZXN1bHQoQWRvcHRDRiwgQ0ZTdHJpbmdDcmVhdGVXaXRoRm9ybWF0KDAsIDAs
IGZvcm1hdC5nZXQoKSwgaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMpKTsKKyAgICAgICAgcmV0dXJu
IHJlc3VsdC5nZXQoKTsKKyAgICB9CisKKyAgICBpZiAobWludXRlcykgeworICAgICAgICBzdGF0
aWMgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBmb3JtYXQoQWRvcHRDRiwgVUlfU1RSSU5HKCJkYXRl
LmZvcm1hdC5mb3IubWludXRlcyIsICJzdHJpbmcgZm9yIG1pbnV0ZXMgJiBzZWNvbmRzIikpOwor
ICAgICAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IHJlc3VsdChBZG9wdENGLCBDRlN0cmluZ0Ny
ZWF0ZVdpdGhGb3JtYXQoMCwgMCwgZm9ybWF0LmdldCgpLCBtaW51dGVzLCBzZWNvbmRzKSk7Cisg
ICAgICAgIHJldHVybiByZXN1bHQuZ2V0KCk7CisgICAgfQorCisgICAgc3RhdGljIFJldGFpblB0
cjxDRlN0cmluZ1JlZj4gZm9ybWF0KEFkb3B0Q0YsIFVJX1NUUklORygiZGF0ZS5mb3JtYXQuZm9y
LnNlY29uZHMiLCAic3RyaW5nIGZvciBzZWNvbmRzIikpOworICAgIFJldGFpblB0cjxDRlN0cmlu
Z1JlZj4gcmVzdWx0KEFkb3B0Q0YsIENGU3RyaW5nQ3JlYXRlV2l0aEZvcm1hdCgwLCAwLCBmb3Jt
YXQuZ2V0KCksIHNlY29uZHMpKTsKKyAgICByZXR1cm4gcmVzdWx0LmdldCgpOworfQorCisjZW5k
aWYgIC8vIEVOQUJMRShWSURFTykKKwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNDc2MTEpCisrKyBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzNyBAQAorMjAwOS0w
OC0yMCAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBPbGl2ZXIgSHVudC4KKworICAgICAgICA8dmlkZW8+IGFuZCA8YXVkaW8+IGNv
bnRyb2xsZXIgc2hvdWxkIGJlIGFjY2Vzc2libGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTI4MDgxCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21l
ZGlhLWVsZW1lbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2FjY2Vzc2li
aWxpdHkvbWVkaWEtZWxlbWVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIG1lZGlh
L3ZpZGVvLWNvbnRyb2xzLXZpc2libGUtYXVkaW8tb25seS5odG1sOgorICAgICAgICAqIHBsYXRm
b3JtL21hYy1sZW9wYXJkL2FjY2Vzc2liaWxpdHkvbWVkaWEtZWxlbWVudC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL21lZGlhL2NvbnRyb2xzLWRy
YWctdGltZWJhci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy1s
ZW9wYXJkL21lZGlhL2NvbnRyb2xzLXN0cmljdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL21lZGlhL3ZpZGVvLWNvbnRyb2xzLXJlbmRlcmluZy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL21lZGlh
L3ZpZGVvLWRpc3BsYXktdG9nZ2xlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxh
dGZvcm0vd2luL21lZGlhL2NvbnRyb2xzLXN0cmljdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHBsYXRmb3JtL3dpbi9tZWRpYS92aWRlby1jb250cm9scy1yZW5kZXJpbmctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vbWVkaWEvdmlkZW8tZGlzcGxh
eS10b2dnbGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgICAgIEFkZGVkLgorCisgICAg
ICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvbWVkaWEvYXVkaW8tY29udHJvbHMtcmVuZGVyaW5n
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9tZWRpYS9jb250
cm9scy1hZnRlci1yZWxvYWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy1s
ZW9wYXJkL21lZGlhL2NvbnRyb2xzLXN0eWxpbmctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBs
YXRmb3JtL21hYy1sZW9wYXJkL21lZGlhL3ZpZGVvLXpvb20tY29udHJvbHMtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9tZWRpYS9hdWRpby1jb250cm9scy1yZW5kZXJpbmct
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9tZWRpYS9jb250cm9scy1hZnRl
ci1yZWxvYWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9tZWRpYS9jb250
cm9scy1zdHlsaW5nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvbWVkaWEv
dmlkZW8tem9vbS1jb250cm9scy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vd2lu
L21lZGlhL2F1ZGlvLWNvbnRyb2xzLXJlbmRlcmluZy1leHBlY3RlZC50eHQ6CisgICAgICAgICog
cGxhdGZvcm0vd2luL21lZGlhL2NvbnRyb2xzLWFmdGVyLXJlbG9hZC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogcGxhdGZvcm0vd2luL21lZGlhL2NvbnRyb2xzLWRyYWctdGltZWJhci1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL21lZGlhL2NvbnRyb2xzLXN0eWxpbmctZXhw
ZWN0ZWQudHh0OgorICAgICAgICAgICAgVXBkYXRlIGZvciBjb250cm9sbGVyIGVsZW1lbnQgdGFi
IG9yZGVyIGNoYW5nZS4KKwogMjAwOS0wOC0yMCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0
Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KSW5kZXg6IExheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvbWVkaWEtZWxlbWVudC5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWVkaWEtZWxlbWVudC5odG1sCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tZWRpYS1lbGVtZW50Lmh0bWwJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsNzggQEAKKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3Nz
Ij4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIHZhciB2aWRBWE9i
amVjdDsKKyAgICAgICAgICAgIHZhciBpbmRlbnRMZXZlbCA9IDA7CisKKyAgICAgICAgICAgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBm
dW5jdGlvbiBpbmRlbnQoY291bnQpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdmFy
IHNwYWNlcyA9ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiOworICAgICAgICAgICAgICAgIHJldHVybiBzcGFjZXMuc3Vic3RyKDAsIGNvdW50
KTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gZHVtcE9iamVjdChheE9i
amVjdCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBkZWJ1ZyhpbmRlbnQoaW5kZW50
TGV2ZWwpICsgImRlc2NyaXB0aW9uOiAiICsgYXhPYmplY3QuZGVzY3JpcHRpb24pOyAKKyAgICAg
ICAgICAgICAgICBkZWJ1ZyhpbmRlbnQoaW5kZW50TGV2ZWwpICsgInJvbGU6ICIgKyBheE9iamVj
dC5yb2xlKTsgCisgICAgICAgICAgICAgICAgZGVidWcoIjxicj4iKTsKKyAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgZnVuY3Rpb24gZHVtcENoaWxkcmVuKGF4T2JqZWN0KQorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIHZhciBjb3VudCA9IGF4T2JqZWN0LmNoaWxkcmVuQ291bnQK
KyAgICAgICAgICAgICAgICBpZiAoIWNvdW50KQorICAgICAgICAgICAgICAgICAgICByZXR1cm47
CisKKyAgICAgICAgICAgICAgICBpbmRlbnRMZXZlbCArPSA0OworICAgICAgICAgICAgICAgIGZv
ciAodmFyIG5keCA9IDA7IG5keCA8IGNvdW50OyBuZHgrKykgeworICAgICAgICAgICAgICAgICAg
ICB2YXIgY2hpbGRBWE9iamVjdCA9IGF4T2JqZWN0LmNoaWxkQXRJbmRleChuZHgpOworICAgICAg
ICAgICAgICAgICAgICBkdW1wT2JqZWN0KGNoaWxkQVhPYmplY3QpOworICAgICAgICAgICAgICAg
ICAgICBpZiAoY2hpbGRBWE9iamVjdC5jaGlsZHJlbkNvdW50KSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICAvLyBkb24ndCBib3RoZXIgZHVtcGluZyBzdGF0aWMgdGV4dCBjaGlsZHJlbgorICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKCBjaGlsZEFYT2JqZWN0LnJvbGUgIT0gIkFYUm9sZTog
QVhTdGF0aWNUZXh0IikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1bXBDaGlsZHJlbihj
aGlsZEFYT2JqZWN0KTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgICAgICBpbmRlbnRMZXZlbCAtPSA0OworICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICBmdW5jdGlvbiBkdW1wVmlkZW9BWCgpCisgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgZGVidWcoIjxicj4rKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKzxicj4i
KTsKKyAgICAgICAgICAgICAgICBkZWJ1ZygiU3RhdGUgYXQgJyIgKyBldmVudC50eXBlICsgIicg
ZXZlbnQ6PGJyPiIpOworCisgICAgICAgICAgICAgICAgaWYgKCF3aW5kb3cuYWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIpCisgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAg
ICAgIHZhciBib2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXTsK
KyAgICAgICAgICAgICAgICBib2R5LmZvY3VzKCk7CisKKyAgICAgICAgICAgICAgICB2YXIgdmlk
QVhPYmplY3QgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5jaGlsZEF0
SW5kZXgoMCk7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgZHVtcENoaWxkcmVu
KHZpZEFYT2JqZWN0KTsKKworICAgICAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIgJiYgZXZlbnQudHlwZSA9PSAnbG9hZCcpCisgICAgICAgICAgICAgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsgICAgIAorICAgICAgICAgICAgfQorICAg
ICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisKKzxib2R5PgorCisgICAgPHZpZGVvIGlkPXZp
ZCBzcmM9Ii4uL21lZGlhL2NvbnRlbnQvdGVzdC5tcDQiIGNvbnRyb2xzIG9ubG9hZHN0YXJ0PSJk
dW1wVmlkZW9BWCgpIiBvbmxvYWQ9ImR1bXBWaWRlb0FYKCkiPgorICAgIDwvdmlkZW8+CisKKyAg
ICA8ZGl2PkR1bXAgJmx0O3ZpZGVvJmd0OyBlbGVtZW50IGNvbnRyb2xsZXIgYWNjZXNzaWJpbGl0
eSBvYmplY3QgdHJlZSBhdCAnbG9hZHN0YXJ0JyBhbmQgJ2xvYWQnIGV2ZW50cy48L2Rpdj4KKyAg
ICAKKyAgICA8ZGl2IGlkPWNvbnNvbGU+PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KKwpJbmRl
eDogTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tY29udHJvbHMtdmlzaWJsZS1hdWRpby1vbmx5Lmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tY29udHJvbHMtdmlzaWJs
ZS1hdWRpby1vbmx5Lmh0bWwJKHJldmlzaW9uIDQ3NTg5KQorKysgTGF5b3V0VGVzdHMvbWVkaWEv
dmlkZW8tY29udHJvbHMtdmlzaWJsZS1hdWRpby1vbmx5Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTMzLDcgKzMzLDcgQEAKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgICAg
ICAgICAgLy8gc3RhcnQgcGxheWJhY2sKLSAgICAgICAgICAgICAgICBldmVudFNlbmRlci5tb3Vz
ZU1vdmVUbyhsZWZ0ICsgMTYgKyA4LCBib3R0b20gLSA4KTsKKyAgICAgICAgICAgICAgICBldmVu
dFNlbmRlci5tb3VzZU1vdmVUbyhsZWZ0ICsgOCwgYm90dG9tIC0gOCk7CiAgICAgICAgICAgICAg
ICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CiAgICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIu
bW91c2VVcCgpOwogICAgICAgICAgICAgICAgIHRlc3Rjb25kaXRpb24oIiF2aWRlby5wYXVzZWQi
KTsKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL2FjY2Vzc2liaWxpdHkv
bWVkaWEtZWxlbWVudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLWxlb3BhcmQvYWNjZXNzaWJpbGl0eS9tZWRpYS1lbGVtZW50LWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL2FjY2Vz
c2liaWxpdHkvbWVkaWEtZWxlbWVudC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsNjggQEAKK0R1bXAgPHZpZGVvPiBlbGVtZW50IGNvbnRyb2xsZXIgYWNjZXNzaWJpbGl0eSBv
YmplY3QgdHJlZSBhdCAnbG9hZHN0YXJ0JyBhbmQgJ2xvYWQnIGV2ZW50cy4KKworKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysKKworU3RhdGUgYXQgJ2xvYWRzdGFydCcgZXZlbnQ6
CisKKyAgICBkZXNjcmlwdGlvbjogQVhEZXNjcmlwdGlvbjogdmlkZW8gZWxlbWVudCBjb250cm9s
bGVyCisgICAgcm9sZTogQVhSb2xlOiBBWFRvb2xiYXIKKworCisgICAgICAgIGRlc2NyaXB0aW9u
OiBBWERlc2NyaXB0aW9uOiBwbGF5CisgICAgICAgIHJvbGU6IEFYUm9sZTogQVhCdXR0b24KKwor
CisgICAgICAgIGRlc2NyaXB0aW9uOiBBWERlc2NyaXB0aW9uOiAKKyAgICAgICAgcm9sZTogQVhS
b2xlOiBBWFNsaWRlcgorCisKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBBWERlc2NyaXB0aW9u
OiAKKyAgICAgICAgICAgIHJvbGU6IEFYUm9sZTogQVhWYWx1ZUluZGljYXRvcgorCisKKyAgICAg
ICAgZGVzY3JpcHRpb246IEFYRGVzY3JpcHRpb246IGZhc3QgcmV2ZXJzZQorICAgICAgICByb2xl
OiBBWFJvbGU6IEFYQnV0dG9uCisKKworICAgICAgICBkZXNjcmlwdGlvbjogQVhEZXNjcmlwdGlv
bjogZmFzdCBmb3J3YXJkCisgICAgICAgIHJvbGU6IEFYUm9sZTogQVhCdXR0b24KKworCisgICAg
ICAgIGRlc2NyaXB0aW9uOiBBWERlc2NyaXB0aW9uOiBtdXRlCisgICAgICAgIHJvbGU6IEFYUm9s
ZTogQVhCdXR0b24KKworCisKKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisK
K1N0YXRlIGF0ICdsb2FkJyBldmVudDoKKworICAgIGRlc2NyaXB0aW9uOiBBWERlc2NyaXB0aW9u
OiB2aWRlbyBlbGVtZW50IGNvbnRyb2xsZXIKKyAgICByb2xlOiBBWFJvbGU6IEFYVG9vbGJhcgor
CisKKyAgICAgICAgZGVzY3JpcHRpb246IEFYRGVzY3JpcHRpb246IHBsYXkKKyAgICAgICAgcm9s
ZTogQVhSb2xlOiBBWEJ1dHRvbgorCisKKyAgICAgICAgZGVzY3JpcHRpb246IEFYRGVzY3JpcHRp
b246IAorICAgICAgICByb2xlOiBBWFJvbGU6IEFYU2xpZGVyCisKKworICAgICAgICAgICAgZGVz
Y3JpcHRpb246IEFYRGVzY3JpcHRpb246IAorICAgICAgICAgICAgcm9sZTogQVhSb2xlOiBBWFZh
bHVlSW5kaWNhdG9yCisKKworICAgICAgICBkZXNjcmlwdGlvbjogQVhEZXNjcmlwdGlvbjogZmFz
dCByZXZlcnNlCisgICAgICAgIHJvbGU6IEFYUm9sZTogQVhCdXR0b24KKworCisgICAgICAgIGRl
c2NyaXB0aW9uOiBBWERlc2NyaXB0aW9uOiBmYXN0IGZvcndhcmQKKyAgICAgICAgcm9sZTogQVhS
b2xlOiBBWEJ1dHRvbgorCisKKyAgICAgICAgZGVzY3JpcHRpb246IEFYRGVzY3JpcHRpb246IG11
dGUKKyAgICAgICAgcm9sZTogQVhSb2xlOiBBWEJ1dHRvbgorCisKKwpJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvbWVkaWEvYXVkaW8tY29udHJvbHMtcmVuZGVyaW5nLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFy
ZC9tZWRpYS9hdWRpby1jb250cm9scy1yZW5kZXJpbmctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0
NzU4OSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL21lZGlhL2F1ZGlvLWNv
bnRyb2xzLXJlbmRlcmluZy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE5LDEwICsx
OSwxMCBAQCBsYXllciBhdCAoOCw0Mikgc2l6ZSAyMDB4MTYKIGxheWVyIGF0ICg4LDQyKSBzaXpl
IDIwMHgxNgogICBSZW5kZXJGbGV4aWJsZUJveCAocG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMCkg
c2l6ZSAyMDB4MTYKICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMCwwKSBzaXplIDE2eDE2
Ci0gICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDE2LDApIHNpemUgMTZ4MTYKLSAgICBSZW5k
ZXJGbGV4aWJsZUJveCB7RElWfSBhdCAoMzIsMCkgc2l6ZSAxMzZ4MTYKKyAgICBSZW5kZXJGbGV4
aWJsZUJveCB7RElWfSBhdCAoMTYsMCkgc2l6ZSAxMzZ4MTYKICAgICAgIFJlbmRlclNsaWRlciB7
SU5QVVR9IGF0ICgwLDApIHNpemUgMTM2eDE2CiAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0
ICgyLDEpIHNpemUgMTN4MTQKKyAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMTUyLDApIHNp
emUgMTZ4MTYKICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMTY4LDApIHNpemUgMTZ4MTYK
ICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMTg0LDApIHNpemUgMTZ4MTYKIGxheWVyIGF0
ICg4LDc2KSBzaXplIDMyMHgxNgpAQCAtMzAsMTAgKzMwLDEwIEBAIGxheWVyIGF0ICg4LDc2KSBz
aXplIDMyMHgxNgogbGF5ZXIgYXQgKDgsNzYpIHNpemUgMzIweDE2CiAgIFJlbmRlckZsZXhpYmxl
Qm94IChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwwKSBzaXplIDMyMHgxNgogICAgIFJlbmRlckJ1
dHRvbiB7SU5QVVR9IGF0ICgwLDApIHNpemUgMTZ4MTYKLSAgICBSZW5kZXJCdXR0b24ge0lOUFVU
fSBhdCAoMTYsMCkgc2l6ZSAxNngxNgotICAgIFJlbmRlckZsZXhpYmxlQm94IHtESVZ9IGF0ICgz
MiwwKSBzaXplIDI1NngxNgorICAgIFJlbmRlckZsZXhpYmxlQm94IHtESVZ9IGF0ICgxNiwwKSBz
aXplIDI1NngxNgogICAgICAgUmVuZGVyU2xpZGVyIHtJTlBVVH0gYXQgKDAsMCkgc2l6ZSAyNTZ4
MTYKICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMSkgc2l6ZSAxM3gxNAorICAgIFJl
bmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgyNzIsMCkgc2l6ZSAxNngxNgogICAgIFJlbmRlckJ1dHRv
biB7SU5QVVR9IGF0ICgyODgsMCkgc2l6ZSAxNngxNgogICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9
IGF0ICgzMDQsMCkgc2l6ZSAxNngxNgogbGF5ZXIgYXQgKDgsMTEwKSBzaXplIDMyMHgxMDAKQEAg
LTQzLDkgKzQzLDkgQEAgbGF5ZXIgYXQgKDgsMTEwKSBzaXplIDMyMHgxMDAKIGxheWVyIGF0ICg4
LDE5NCkgc2l6ZSAzMjB4MTYKICAgUmVuZGVyRmxleGlibGVCb3ggKHBvc2l0aW9uZWQpIHtESVZ9
IGF0ICgwLDg0KSBzaXplIDMyMHgxNgogICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgwLDAp
IHNpemUgMTZ4MTYKLSAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMTYsMCkgc2l6ZSAxNngx
NgotICAgIFJlbmRlckZsZXhpYmxlQm94IHtESVZ9IGF0ICgzMiwwKSBzaXplIDI1NngxNgorICAg
IFJlbmRlckZsZXhpYmxlQm94IHtESVZ9IGF0ICgxNiwwKSBzaXplIDI1NngxNgogICAgICAgUmVu
ZGVyU2xpZGVyIHtJTlBVVH0gYXQgKDAsMCkgc2l6ZSAyNTZ4MTYKICAgICAgICAgUmVuZGVyQmxv
Y2sge0RJVn0gYXQgKDIsMSkgc2l6ZSAxM3gxNAorICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0
ICgyNzIsMCkgc2l6ZSAxNngxNgogICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgyODgsMCkg
c2l6ZSAxNngxNgogICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgzMDQsMCkgc2l6ZSAxNngx
NgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvbWVkaWEvY29udHJvbHMt
YWZ0ZXItcmVsb2FkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtbGVvcGFyZC9tZWRpYS9jb250cm9scy1hZnRlci1yZWxvYWQtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiA0NzU4OSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL21l
ZGlhL2NvbnRyb2xzLWFmdGVyLXJlbG9hZC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTE3LDkgKzE3LDkgQEAgbGF5ZXIgYXQgKDgsNDIpIHNpemUgMzIweDI0MAogbGF5ZXIgYXQgKDgs
MjY2KSBzaXplIDMyMHgxNgogICBSZW5kZXJGbGV4aWJsZUJveCAocG9zaXRpb25lZCkge0RJVn0g
YXQgKDAsMjI0KSBzaXplIDMyMHgxNgogICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgwLDAp
IHNpemUgMTZ4MTYKLSAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMTYsMCkgc2l6ZSAxNngx
NgotICAgIFJlbmRlckZsZXhpYmxlQm94IHtESVZ9IGF0ICgzMiwwKSBzaXplIDI1NngxNgorICAg
IFJlbmRlckZsZXhpYmxlQm94IHtESVZ9IGF0ICgxNiwwKSBzaXplIDI1NngxNgogICAgICAgUmVu
ZGVyU2xpZGVyIHtJTlBVVH0gYXQgKDAsMCkgc2l6ZSAyNTZ4MTYKICAgICAgICAgUmVuZGVyQmxv
Y2sge0RJVn0gYXQgKDIsMSkgc2l6ZSAxM3gxNAorICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0
ICgyNzIsMCkgc2l6ZSAxNngxNgogICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgyODgsMCkg
c2l6ZSAxNngxNgogICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgzMDQsMCkgc2l6ZSAxNngx
NgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvbWVkaWEvY29udHJvbHMt
ZHJhZy10aW1lYmFyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtbGVvcGFyZC9tZWRpYS9jb250cm9scy1kcmFnLXRpbWViYXItZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvbWVkaWEv
Y29udHJvbHMtZHJhZy10aW1lYmFyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwxMyBAQAorVGVzdCB0aGF0IGRyYWcgdGhlIHRpbWViYXIgdGh1bWIgY2F1c2VzIHNlZWtzLgor
CitSVU4odmlkZW8uYXV0b3BsYXkgPSB0cnVlKQorUlVOKHZpZGVvLnNyYyA9ICdjb250ZW50L3Rl
c3QubXA0JykKK0VWRU5UKHBsYXlpbmcpCitFVkVOVChzZWVrZWQpCitUaW1lOiAyLjEKK0VWRU5U
KHNlZWtlZCkKK1RpbWU6IDIuNgorRVZFTlQoc2Vla2VkKQorVGltZTogMy4xCitFTkQgT0YgVEVT
VAorCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9tZWRpYS9jb250cm9s
cy1zdHJpY3QtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy1sZW9wYXJkL21lZGlhL2NvbnRyb2xzLXN0cmljdC1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9tZWRpYS9jb250cm9scy1z
dHJpY3QtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI1IEBACitsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
K2xheWVyIGF0ICgwLDApIHNpemUgODAweDMwMgorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAs
MCkgc2l6ZSA4MDB4MzAyCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsMTYpIHNpemUgNzg0
eDI3OAorICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDE4CisgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDIyNngxOAorICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLDApIHdpZHRoIDIyNjogIkRyYXdpbmcgdGhlIGNvbnRyb2xzIGluIHN0cmljdCBt
b2RlLiIKKyAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDM0KSBzaXplIDc4NHgy
NDQKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKK2xheWVyIGF0ICg4LDUwKSBzaXplIDMyMHgyNDAK
KyAgUmVuZGVyVmlkZW8ge1ZJREVPfSBhdCAoMCwwKSBzaXplIDMyMHgyNDAKK2xheWVyIGF0ICg4
LDUwKSBzaXplIDMyMHgyNDAKKyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtE
SVZ9IGF0ICgwLDApIHNpemUgMzIweDI0MAorbGF5ZXIgYXQgKDgsMjc0KSBzaXplIDMyMHgxNgor
ICBSZW5kZXJGbGV4aWJsZUJveCAocG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMjI0KSBzaXplIDMy
MHgxNgorICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgwLDApIHNpemUgMTZ4MTYKKyAgICBS
ZW5kZXJGbGV4aWJsZUJveCB7RElWfSBhdCAoMTYsMCkgc2l6ZSAyNTZ4MTYKKyAgICAgIFJlbmRl
clNsaWRlciB7SU5QVVR9IGF0ICgwLDApIHNpemUgMjU2eDE2CisgICAgICAgIFJlbmRlckJsb2Nr
IHtESVZ9IGF0ICgyLDEpIHNpemUgMTN4MTQKKyAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAo
MjcyLDApIHNpemUgMTZ4MTYKKyAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMjg4LDApIHNp
emUgMTZ4MTYKKyAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMzA0LDApIHNpemUgMTZ4MTYK
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL21lZGlhL2NvbnRyb2xzLXN0
eWxpbmctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy1sZW9wYXJkL21lZGlhL2NvbnRyb2xzLXN0eWxpbmctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0
NzU4OSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL21lZGlhL2NvbnRyb2xz
LXN0eWxpbmctZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yMSwxMCArMjEsMTAgQEAg
bGF5ZXIgYXQgKDE4LDQyKSBzaXplIDMyMHgyNDAKIGxheWVyIGF0ICgxOCwyNjYpIHNpemUgMzIw
eDE2CiAgIFJlbmRlckZsZXhpYmxlQm94IChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwyMjQpIHNp
emUgMzIweDE2CiAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDAsMCkgc2l6ZSAxNngxNgot
ICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgxNiwwKSBzaXplIDE2eDE2Ci0gICAgUmVuZGVy
RmxleGlibGVCb3gge0RJVn0gYXQgKDMyLDApIHNpemUgMjU2eDE2CisgICAgUmVuZGVyRmxleGli
bGVCb3gge0RJVn0gYXQgKDE2LDApIHNpemUgMjU2eDE2CiAgICAgICBSZW5kZXJTbGlkZXIge0lO
UFVUfSBhdCAoMCwwKSBzaXplIDI1NngxNgogICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAo
MiwxKSBzaXplIDEzeDE0CisgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDI3MiwwKSBzaXpl
IDE2eDE2CiAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDI4OCwwKSBzaXplIDE2eDE2CiAg
ICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDMwNCwwKSBzaXplIDE2eDE2CiBsYXllciBhdCAo
OCwyODIpIHNpemUgMzIweDI0MApAQCAtMzIsOSArMzIsOSBAQCBsYXllciBhdCAoOCwyODIpIHNp
emUgMzIweDI0MAogbGF5ZXIgYXQgKDgsNTA2KSBzaXplIDMyMHgxNgogICBSZW5kZXJGbGV4aWJs
ZUJveCAocG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMjI0KSBzaXplIDMyMHgxNgogICAgIFJlbmRl
ckJ1dHRvbiB7SU5QVVR9IGF0ICgwLDApIHNpemUgMTZ4MTYKLSAgICBSZW5kZXJCdXR0b24ge0lO
UFVUfSBhdCAoMTYsMCkgc2l6ZSAxNngxNgotICAgIFJlbmRlckZsZXhpYmxlQm94IHtESVZ9IGF0
ICgzMiwwKSBzaXplIDI1NngxNgorICAgIFJlbmRlckZsZXhpYmxlQm94IHtESVZ9IGF0ICgxNiww
KSBzaXplIDI1NngxNgogICAgICAgUmVuZGVyU2xpZGVyIHtJTlBVVH0gYXQgKDAsMCkgc2l6ZSAy
NTZ4MTYKICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMSkgc2l6ZSAxM3gxNAorICAg
IFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgyNzIsMCkgc2l6ZSAxNngxNgogICAgIFJlbmRlckJ1
dHRvbiB7SU5QVVR9IGF0ICgyODgsMCkgc2l6ZSAxNngxNgogICAgIFJlbmRlckJ1dHRvbiB7SU5Q
VVR9IGF0ICgzMDQsMCkgc2l6ZSAxNngxNgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LWxlb3BhcmQvbWVkaWEvdmlkZW8tY29udHJvbHMtcmVuZGVyaW5nLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9tZWRpYS92aWRlby1j
b250cm9scy1yZW5kZXJpbmctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvbWVkaWEvdmlkZW8tY29udHJvbHMtcmVuZGVyaW5nLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1MiBAQAorbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA3ODV4NzYyCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NjAwCitsYXllciBh
dCAoMCwwKSBzaXplIDc4NXg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUg
Nzg1eDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzY5eDU4NAorICAg
ICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzY5eDE4CisgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE1M3gxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDApIHdpZHRoIDE1MzogIlRlc3QgY29udHJvbHMgcGxhY2VtZW50LiIKKyAgICAgIFJlbmRlckJs
b2NrIHtESVZ9IGF0ICgwLDM0KSBzaXplIDc2OXgyNDAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwyNzQp
IHNpemUgNzY5eDI0MAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAw
eDAKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDUxNCkgc2l6ZSA3Njl4MAorbGF5ZXIg
YXQgKDgsNDIpIHNpemUgMzIweDI0MAorICBSZW5kZXJWaWRlbyB7VklERU99IGF0ICgwLDApIHNp
emUgMzIweDI0MAorbGF5ZXIgYXQgKDgsMjgyKSBzaXplIDMyMHgyNDAKKyAgUmVuZGVyVmlkZW8g
e1ZJREVPfSBhdCAoMCwwKSBzaXplIDMyMHgyNDAKK2xheWVyIGF0ICg4LDQyKSBzaXplIDMyMHgy
NDAKKyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDApIHNp
emUgMzIweDI0MAorbGF5ZXIgYXQgKDgsMjY2KSBzaXplIDMyMHgxNgorICBSZW5kZXJGbGV4aWJs
ZUJveCAocG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMjI0KSBzaXplIDMyMHgxNgorICAgIFJlbmRl
ckJ1dHRvbiB7SU5QVVR9IGF0ICgwLDApIHNpemUgMTZ4MTYKKyAgICBSZW5kZXJGbGV4aWJsZUJv
eCB7RElWfSBhdCAoMTYsMCkgc2l6ZSAyNTZ4MTYKKyAgICAgIFJlbmRlclNsaWRlciB7SU5QVVR9
IGF0ICgwLDApIHNpemUgMjU2eDE2CisgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDEp
IHNpemUgMTN4MTQKKyAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMjcyLDApIHNpemUgMTZ4
MTYKKyAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMjg4LDApIHNpemUgMTZ4MTYKKyAgICBS
ZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMzA0LDApIHNpemUgMTZ4MTYKK2xheWVyIGF0ICg4LDI4
Mikgc2l6ZSAzMjB4MjQwCisgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElW
fSBhdCAoMCwwKSBzaXplIDMyMHgyNDAKK2xheWVyIGF0ICg4LDUwNikgc2l6ZSAzMjB4MTYKKyAg
UmVuZGVyRmxleGlibGVCb3ggKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDIyNCkgc2l6ZSAzMjB4
MTYKKyAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMCwwKSBzaXplIDE2eDE2CisgICAgUmVu
ZGVyRmxleGlibGVCb3gge0RJVn0gYXQgKDE2LDApIHNpemUgMjU2eDE2CisgICAgICBSZW5kZXJT
bGlkZXIge0lOUFVUfSBhdCAoMCwwKSBzaXplIDI1NngxNgorICAgICAgICBSZW5kZXJCbG9jayB7
RElWfSBhdCAoMiwxKSBzaXplIDEzeDE0CisgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDI3
MiwwKSBzaXplIDE2eDE2CisgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDI4OCwwKSBzaXpl
IDE2eDE2CisgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDMwNCwwKSBzaXplIDE2eDE2Cits
YXllciBhdCAoOCw1MjIpIHNpemUgMzIweDI0MAorICBSZW5kZXJWaWRlbyB7VklERU99IGF0ICg4
LDUyMikgc2l6ZSAzMjB4MjQwCitsYXllciBhdCAoOCw1MjIpIHNpemUgMzIweDI0MAorICBSZW5k
ZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMCkgc2l6ZSAzMjB4MjQw
CitsYXllciBhdCAoOCw3NDYpIHNpemUgMzIweDE2CisgIFJlbmRlckZsZXhpYmxlQm94IChwb3Np
dGlvbmVkKSB7RElWfSBhdCAoMCwyMjQpIHNpemUgMzIweDE2CisgICAgUmVuZGVyQnV0dG9uIHtJ
TlBVVH0gYXQgKDAsMCkgc2l6ZSAxNngxNgorICAgIFJlbmRlckZsZXhpYmxlQm94IHtESVZ9IGF0
ICgxNiwwKSBzaXplIDI1NngxNgorICAgICAgUmVuZGVyU2xpZGVyIHtJTlBVVH0gYXQgKDAsMCkg
c2l6ZSAyNTZ4MTYKKyAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMSkgc2l6ZSAxM3gx
NAorICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgyNzIsMCkgc2l6ZSAxNngxNgorICAgIFJl
bmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgyODgsMCkgc2l6ZSAxNngxNgorICAgIFJlbmRlckJ1dHRv
biB7SU5QVVR9IGF0ICgzMDQsMCkgc2l6ZSAxNngxNgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLWxlb3BhcmQvbWVkaWEvdmlkZW8tZGlzcGxheS10b2dnbGUtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL21lZGlhL3ZpZGVv
LWRpc3BsYXktdG9nZ2xlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy1sZW9wYXJkL21lZGlhL3ZpZGVvLWRpc3BsYXktdG9nZ2xlLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNCBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYw
MAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDkzeDE4CisgICAgICAgIHRleHQgcnVuIGF0
ICgwLDApIHdpZHRoIDQ5MzogIlRoaXMgdGVzdHMgdGhhdCB0b2dnbGluZyB0aGUgZGlzcGxheSBw
cm9wZXJ0eSB3b24ndCBtYWtlIHRoZSBjb250cm9scyBkaXNhcHBlYXIuIgorICAgICAgUmVuZGVy
QlIge0JSfSBhdCAoNDkzLDE0KSBzaXplIDB4MAorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAw
eDAKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorbGF5ZXIgYXQg
KDgsMjYpIHNpemUgMzIweDI0MAorICBSZW5kZXJWaWRlbyB7VklERU99IGF0ICgwLDE4KSBzaXpl
IDMyMHgyNDAKK2xheWVyIGF0ICg4LDI2KSBzaXplIDMyMHgyNDAKKyAgUmVuZGVyQmxvY2sgKHJl
bGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDApIHNpemUgMzIweDI0MAorbGF5ZXIgYXQg
KDgsMjUwKSBzaXplIDMyMHgxNgorICBSZW5kZXJGbGV4aWJsZUJveCAocG9zaXRpb25lZCkge0RJ
Vn0gYXQgKDAsMjI0KSBzaXplIDMyMHgxNgorICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgw
LDApIHNpemUgMTZ4MTYKKyAgICBSZW5kZXJGbGV4aWJsZUJveCB7RElWfSBhdCAoMTYsMCkgc2l6
ZSAyNTZ4MTYKKyAgICAgIFJlbmRlclNsaWRlciB7SU5QVVR9IGF0ICgwLDApIHNpemUgMjU2eDE2
CisgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDEpIHNpemUgMTN4MTQKKyAgICBSZW5k
ZXJCdXR0b24ge0lOUFVUfSBhdCAoMjcyLDApIHNpemUgMTZ4MTYKKyAgICBSZW5kZXJCdXR0b24g
e0lOUFVUfSBhdCAoMjg4LDApIHNpemUgMTZ4MTYKKyAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBh
dCAoMzA0LDApIHNpemUgMTZ4MTYKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9w
YXJkL21lZGlhL3ZpZGVvLXpvb20tY29udHJvbHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL21lZGlhL3ZpZGVvLXpvb20tY29udHJv
bHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0NzU4OSkKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy1sZW9wYXJkL21lZGlhL3ZpZGVvLXpvb20tY29udHJvbHMtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMywxMCArMTMsMTAgQEAgbGF5ZXIgYXQgKDU3LDg1KSBzaXplIDI0MHgx
ODAKIGxheWVyIGF0ICg1NywyNDEpIHNpemUgMjQweDI0CiAgIFJlbmRlckZsZXhpYmxlQm94IChw
b3NpdGlvbmVkKSB7RElWfSBhdCAoMCwxNTYpIHNpemUgMjQweDI0CiAgICAgUmVuZGVyQnV0dG9u
IHtJTlBVVH0gYXQgKDAsMCkgc2l6ZSAyNHgyNAotICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0
ICgyNCwwKSBzaXplIDI0eDI0Ci0gICAgUmVuZGVyRmxleGlibGVCb3gge0RJVn0gYXQgKDQ4LDAp
IHNpemUgMTQ0eDI0CisgICAgUmVuZGVyRmxleGlibGVCb3gge0RJVn0gYXQgKDI0LDApIHNpemUg
MTQ0eDI0CiAgICAgICBSZW5kZXJTbGlkZXIge0lOUFVUfSBhdCAoMCwwKSBzaXplIDE0NHgyNAog
ICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMywxKSBzaXplIDE5eDIxCisgICAgUmVuZGVy
QnV0dG9uIHtJTlBVVH0gYXQgKDE2OCwwKSBzaXplIDI0eDI0CiAgICAgUmVuZGVyQnV0dG9uIHtJ
TlBVVH0gYXQgKDE5MiwwKSBzaXplIDI0eDI0CiAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQg
KDIxNiwwKSBzaXplIDI0eDI0CiBsYXllciBhdCAoNTcsMzEwKSBzaXplIDI0MHgxODAKQEAgLTI2
LDkgKzI2LDkgQEAgbGF5ZXIgYXQgKDU3LDMxMCkgc2l6ZSAyNDB4MTgwCiBsYXllciBhdCAoNTcs
NDY2KSBzaXplIDI0MHgyNAogICBSZW5kZXJGbGV4aWJsZUJveCAocG9zaXRpb25lZCkge0RJVn0g
YXQgKDAsMTU2KSBzaXplIDI0MHgyNAogICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgwLDAp
IHNpemUgMjR4MjQKLSAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMjQsMCkgc2l6ZSAyNHgy
NAotICAgIFJlbmRlckZsZXhpYmxlQm94IHtESVZ9IGF0ICg0OCwwKSBzaXplIDE0NHgyNAorICAg
IFJlbmRlckZsZXhpYmxlQm94IHtESVZ9IGF0ICgyNCwwKSBzaXplIDE0NHgyNAogICAgICAgUmVu
ZGVyU2xpZGVyIHtJTlBVVH0gYXQgKDAsMCkgc2l6ZSAxNDR4MjQKICAgICAgICAgUmVuZGVyQmxv
Y2sge0RJVn0gYXQgKDMsMSkgc2l6ZSAxOXgyMQorICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0
ICgxNjgsMCkgc2l6ZSAyNHgyNAogICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgxOTIsMCkg
c2l6ZSAyNHgyNAogICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgyMTYsMCkgc2l6ZSAyNHgy
NApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvbWVkaWEtZWxl
bWVudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2FjY2Vzc2liaWxpdHkvbWVkaWEtZWxlbWVudC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9tZWRpYS1lbGVtZW50LWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2NCBAQAorRHVtcCA8dmlkZW8+IGVs
ZW1lbnQgY29udHJvbGxlciBhY2Nlc3NpYmlsaXR5IG9iamVjdCB0cmVlIGF0ICdsb2Fkc3RhcnQn
IGFuZCAnbG9hZCcgZXZlbnRzLgorCisrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KworCitTdGF0ZSBhdCAnbG9hZHN0YXJ0JyBldmVudDoKKworICAgIGRlc2NyaXB0aW9uOiBBWERl
c2NyaXB0aW9uOiB2aWRlbyBlbGVtZW50IGNvbnRyb2xsZXIKKyAgICByb2xlOiBBWFJvbGU6IEFY
VG9vbGJhcgorCisKKyAgICAgICAgZGVzY3JpcHRpb246IEFYRGVzY3JpcHRpb246IGJhY2sgMzAg
c2Vjb25kcworICAgICAgICByb2xlOiBBWFJvbGU6IEFYQnV0dG9uCisKKworICAgICAgICBkZXNj
cmlwdGlvbjogQVhEZXNjcmlwdGlvbjogcGxheQorICAgICAgICByb2xlOiBBWFJvbGU6IEFYQnV0
dG9uCisKKworICAgICAgICBkZXNjcmlwdGlvbjogQVhEZXNjcmlwdGlvbjogc3RhdHVzCisgICAg
ICAgIHJvbGU6IEFYUm9sZTogQVhTdGF0aWNUZXh0CisKKworICAgICAgICBkZXNjcmlwdGlvbjog
QVhEZXNjcmlwdGlvbjogbXV0ZQorICAgICAgICByb2xlOiBBWFJvbGU6IEFYQnV0dG9uCisKKwor
CisrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworCitTdGF0ZSBhdCAnbG9hZCcg
ZXZlbnQ6CisKKyAgICBkZXNjcmlwdGlvbjogQVhEZXNjcmlwdGlvbjogdmlkZW8gZWxlbWVudCBj
b250cm9sbGVyCisgICAgcm9sZTogQVhSb2xlOiBBWFRvb2xiYXIKKworCisgICAgICAgIGRlc2Ny
aXB0aW9uOiBBWERlc2NyaXB0aW9uOiBiYWNrIDMwIHNlY29uZHMKKyAgICAgICAgcm9sZTogQVhS
b2xlOiBBWEJ1dHRvbgorCisKKyAgICAgICAgZGVzY3JpcHRpb246IEFYRGVzY3JpcHRpb246IHBs
YXkKKyAgICAgICAgcm9sZTogQVhSb2xlOiBBWEJ1dHRvbgorCisKKyAgICAgICAgZGVzY3JpcHRp
b246IEFYRGVzY3JpcHRpb246IGVsYXBzZWQgdGltZQorICAgICAgICByb2xlOiBBWFJvbGU6IEFY
U3RhdGljVGV4dAorCisKKyAgICAgICAgZGVzY3JpcHRpb246IEFYRGVzY3JpcHRpb246IAorICAg
ICAgICByb2xlOiBBWFJvbGU6IEFYU2xpZGVyCisKKworICAgICAgICAgICAgZGVzY3JpcHRpb246
IEFYRGVzY3JpcHRpb246IAorICAgICAgICAgICAgcm9sZTogQVhSb2xlOiBBWFZhbHVlSW5kaWNh
dG9yCisKKworICAgICAgICBkZXNjcmlwdGlvbjogQVhEZXNjcmlwdGlvbjogcmVtYWluaW5nIHRp
bWUKKyAgICAgICAgcm9sZTogQVhSb2xlOiBBWFN0YXRpY1RleHQKKworCisgICAgICAgIGRlc2Ny
aXB0aW9uOiBBWERlc2NyaXB0aW9uOiBtdXRlCisgICAgICAgIHJvbGU6IEFYUm9sZTogQVhCdXR0
b24KKworCisKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9tZWRpYS9hdWRpby1jb250
cm9scy1yZW5kZXJpbmctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9tZWRpYS9hdWRpby1jb250cm9scy1yZW5kZXJpbmctZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiA0NzU4OSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9tZWRpYS9hdWRpby1j
b250cm9scy1yZW5kZXJpbmctZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xOSwyMSAr
MTksMjEgQEAgbGF5ZXIgYXQgKDgsNDIpIHNpemUgMjAweDI1CiBsYXllciBhdCAoOCw0Mikgc2l6
ZSAyMDB4MjUKICAgUmVuZGVyRmxleGlibGVCb3ggKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDAp
IHNpemUgMjAweDI1CiAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDYsMykgc2l6ZSAxOHgx
OAotICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgxNzcsNSkgc2l6ZSAxNXgxNAogICAgIFJl
bmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgzMiw0KSBzaXplIDE2eDE2CiAgICAgUmVuZGVyRmxleGli
bGVCb3gge0RJVn0gYXQgKDQ5LDEpIHNpemUgMTI2eDIyCiAgICAgICBSZW5kZXJTbGlkZXIge0lO
UFVUfSBhdCAoMCw1KSBzaXplIDEyNngxMwogICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAo
MCwxKSBzaXplIDEyeDEwCisgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDE3Nyw1KSBzaXpl
IDE1eDE0CiBsYXllciBhdCAoOCw4NSkgc2l6ZSAzMjB4MjUKICAgUmVuZGVyQmxvY2sgKHJlbGF0
aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDApIHNpemUgMzIweDI1CiBsYXllciBhdCAoOCw4
NSkgc2l6ZSAzMjB4MjUKICAgUmVuZGVyRmxleGlibGVCb3ggKHBvc2l0aW9uZWQpIHtESVZ9IGF0
ICgwLDApIHNpemUgMzIweDI1CiAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDYsMykgc2l6
ZSAxOHgxOAotICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgyOTcsNSkgc2l6ZSAxNXgxNAog
ICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgzMiw0KSBzaXplIDE2eDE2CiAgICAgUmVuZGVy
RmxleGlibGVCb3gge0RJVn0gYXQgKDQ5LDUpIHNpemUgMjQ2eDE1CiAgICAgICBSZW5kZXJTbGlk
ZXIge0lOUFVUfSBhdCAoNDUsMikgc2l6ZSAxNTZ4MTMKICAgICAgICAgUmVuZGVyQmxvY2sge0RJ
Vn0gYXQgKDAsMSkgc2l6ZSAxMngxMAorICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgyOTcs
NSkgc2l6ZSAxNXgxNAogbGF5ZXIgYXQgKDU3LDkyKSBzaXplIDQ1eDExCiAgIFJlbmRlckZsZXhp
YmxlQm94IHtESVZ9IGF0ICgwLDIpIHNpemUgNDV4MTEgW2NvbG9yPSNGRkZGRkZdCiAgICAgUmVu
ZGVyQmxvY2sgKGFub255bW91cykgYXQgKDksMCkgc2l6ZSAyNngxMQpAQCAtNTEsMTEgKzUxLDEx
IEBAIGxheWVyIGF0ICg4LDEyOCkgc2l6ZSAzMjB4MTAwCiBsYXllciBhdCAoOCwyMDMpIHNpemUg
MzIweDI1CiAgIFJlbmRlckZsZXhpYmxlQm94IChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCw3NSkg
c2l6ZSAzMjB4MjUKICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoNiwzKSBzaXplIDE4eDE4
Ci0gICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDI5Nyw1KSBzaXplIDE1eDE0CiAgICAgUmVu
ZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDMyLDQpIHNpemUgMTZ4MTYKICAgICBSZW5kZXJGbGV4aWJs
ZUJveCB7RElWfSBhdCAoNDksNSkgc2l6ZSAyNDZ4MTUKICAgICAgIFJlbmRlclNsaWRlciB7SU5Q
VVR9IGF0ICg0NSwyKSBzaXplIDE1NngxMwogICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAo
MCwxKSBzaXplIDEyeDEwCisgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDI5Nyw1KSBzaXpl
IDE1eDE0CiBsYXllciBhdCAoNTcsMjEwKSBzaXplIDQ1eDExCiAgIFJlbmRlckZsZXhpYmxlQm94
IHtESVZ9IGF0ICgwLDIpIHNpemUgNDV4MTEgW2NvbG9yPSNGRkZGRkZdCiAgICAgUmVuZGVyQmxv
Y2sgKGFub255bW91cykgYXQgKDksMCkgc2l6ZSAyNngxMQpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL21lZGlhL2NvbnRyb2xzLWFmdGVyLXJlbG9hZC1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL21lZGlhL2NvbnRyb2xzLWFmdGVyLXJl
bG9hZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQ3NTg5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL21lZGlhL2NvbnRyb2xzLWFmdGVyLXJlbG9hZC1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTE3LDExICsxNywxMSBAQCBsYXllciBhdCAoOCw0Mikgc2l6ZSAzMjB4MjQwCiBs
YXllciBhdCAoOCwyNTcpIHNpemUgMzIweDI1CiAgIFJlbmRlckZsZXhpYmxlQm94IChwb3NpdGlv
bmVkKSB7RElWfSBhdCAoMCwyMTUpIHNpemUgMzIweDI1CiAgICAgUmVuZGVyQnV0dG9uIHtJTlBV
VH0gYXQgKDYsMykgc2l6ZSAxOHgxOAotICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgyOTcs
NSkgc2l6ZSAxNXgxNAogICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgzMiw0KSBzaXplIDE2
eDE2CiAgICAgUmVuZGVyRmxleGlibGVCb3gge0RJVn0gYXQgKDQ5LDUpIHNpemUgMjQ2eDE1CiAg
ICAgICBSZW5kZXJTbGlkZXIge0lOUFVUfSBhdCAoNDUsMikgc2l6ZSAxNTZ4MTMKICAgICAgICAg
UmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMSkgc2l6ZSAxMngxMAorICAgIFJlbmRlckJ1dHRvbiB7
SU5QVVR9IGF0ICgyOTcsNSkgc2l6ZSAxNXgxNAogbGF5ZXIgYXQgKDU3LDI2NCkgc2l6ZSA0NXgx
MQogICBSZW5kZXJGbGV4aWJsZUJveCB7RElWfSBhdCAoMCwyKSBzaXplIDQ1eDExIFtjb2xvcj0j
RkZGRkZGXQogICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg5LDApIHNpemUgMjZ4MTEK
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9tZWRpYS9jb250cm9scy1zdHlsaW5nLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvbWVkaWEv
Y29udHJvbHMtc3R5bGluZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQ3NTg5KQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL21lZGlhL2NvbnRyb2xzLXN0eWxpbmctZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0yMSwxMSArMjEsMTEgQEAgbGF5ZXIgYXQgKDE4LDQyKSBzaXplIDMy
MHgyNDAKIGxheWVyIGF0ICgxOCwyNTcpIHNpemUgMzIweDI1CiAgIFJlbmRlckZsZXhpYmxlQm94
IChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwyMTUpIHNpemUgMzIweDI1CiAgICAgUmVuZGVyQnV0
dG9uIHtJTlBVVH0gYXQgKDYsMykgc2l6ZSAxOHgxOAotICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9
IGF0ICgyOTcsNSkgc2l6ZSAxNXgxNAogICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgzMiw0
KSBzaXplIDE2eDE2CiAgICAgUmVuZGVyRmxleGlibGVCb3gge0RJVn0gYXQgKDQ5LDUpIHNpemUg
MjQ2eDE1CiAgICAgICBSZW5kZXJTbGlkZXIge0lOUFVUfSBhdCAoNDUsMikgc2l6ZSAxNTZ4MTMK
ICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMSkgc2l6ZSAxMngxMAorICAgIFJlbmRl
ckJ1dHRvbiB7SU5QVVR9IGF0ICgyOTcsNSkgc2l6ZSAxNXgxNAogbGF5ZXIgYXQgKDY3LDI2NCkg
c2l6ZSA0NXgxMQogICBSZW5kZXJGbGV4aWJsZUJveCB7RElWfSBhdCAoMCwyKSBzaXplIDQ1eDEx
IFtjb2xvcj0jRkZGRkZGXQogICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg5LDApIHNp
emUgMjZ4MTEKQEAgLTQxLDExICs0MSwxMSBAQCBsYXllciBhdCAoOCwyODIpIHNpemUgMzIweDI0
MAogbGF5ZXIgYXQgKDgsNDk3KSBzaXplIDMyMHgyNQogICBSZW5kZXJGbGV4aWJsZUJveCAocG9z
aXRpb25lZCkge0RJVn0gYXQgKDAsMjE1KSBzaXplIDMyMHgyNQogICAgIFJlbmRlckJ1dHRvbiB7
SU5QVVR9IGF0ICg2LDMpIHNpemUgMTh4MTgKLSAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAo
Mjk3LDUpIHNpemUgMTV4MTQKICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMzIsNCkgc2l6
ZSAxNngxNgogICAgIFJlbmRlckZsZXhpYmxlQm94IHtESVZ9IGF0ICg0OSw1KSBzaXplIDI0Nngx
NQogICAgICAgUmVuZGVyU2xpZGVyIHtJTlBVVH0gYXQgKDQ1LDIpIHNpemUgMTU2eDEzCiAgICAg
ICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDEpIHNpemUgMTJ4MTAKKyAgICBSZW5kZXJCdXR0
b24ge0lOUFVUfSBhdCAoMjk3LDUpIHNpemUgMTV4MTQKIGxheWVyIGF0ICg1Nyw1MDQpIHNpemUg
NDV4MTEKICAgUmVuZGVyRmxleGlibGVCb3gge0RJVn0gYXQgKDAsMikgc2l6ZSA0NXgxMSBbY29s
b3I9I0ZGRkZGRl0KICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoOSwwKSBzaXplIDI2
eDExCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvbWVkaWEvdmlkZW8tem9vbS1jb250
cm9scy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L21lZGlhL3ZpZGVvLXpvb20tY29udHJvbHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0NzU4OSkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9tZWRpYS92aWRlby16b29tLWNvbnRyb2xzLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTMsMTEgKzEzLDExIEBAIGxheWVyIGF0ICg1
Nyw4NSkgc2l6ZSAyNDB4MTgwCiBsYXllciBhdCAoNTcsMjI4KSBzaXplIDI0MHgzNwogICBSZW5k
ZXJGbGV4aWJsZUJveCAocG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMTQzKSBzaXplIDI0MHgzNwog
ICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICg5LDQpIHNpemUgMjd4MjcKLSAgICBSZW5kZXJC
dXR0b24ge0lOUFVUfSBhdCAoMjA2LDgpIHNpemUgMjJ4MjEKICAgICBSZW5kZXJCdXR0b24ge0lO
UFVUfSBhdCAoNDgsNikgc2l6ZSAyNHgyNAogICAgIFJlbmRlckZsZXhpYmxlQm94IHtESVZ9IGF0
ICg3MywxKSBzaXplIDEzMHgzNAogICAgICAgUmVuZGVyU2xpZGVyIHtJTlBVVH0gYXQgKDAsOSkg
c2l6ZSAxMzB4MTkKICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMikgc2l6ZSAxOHgx
NQorICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgyMDYsOCkgc2l6ZSAyMngyMQogbGF5ZXIg
YXQgKDU3LDMxMCkgc2l6ZSAyNDB4MTgwCiAgIFJlbmRlclZpZGVvIHtWSURFT30gYXQgKDQ1LDI5
OCkgc2l6ZSAyNDB4MTgwCiBsYXllciBhdCAoNTcsMzEwKSBzaXplIDI0MHgxODAKQEAgLTI1LDgg
KzI1LDggQEAgbGF5ZXIgYXQgKDU3LDMxMCkgc2l6ZSAyNDB4MTgwCiBsYXllciBhdCAoNTcsNDUz
KSBzaXplIDI0MHgzNwogICBSZW5kZXJGbGV4aWJsZUJveCAocG9zaXRpb25lZCkge0RJVn0gYXQg
KDAsMTQzKSBzaXplIDI0MHgzNwogICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICg5LDQpIHNp
emUgMjd4MjcKLSAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMjA2LDgpIHNpemUgMjJ4MjEK
ICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoNDgsNikgc2l6ZSAyNHgyNAogICAgIFJlbmRl
ckZsZXhpYmxlQm94IHtESVZ9IGF0ICg3MywxKSBzaXplIDEzMHgzNAogICAgICAgUmVuZGVyU2xp
ZGVyIHtJTlBVVH0gYXQgKDAsOSkgc2l6ZSAxMzB4MTkKICAgICAgICAgUmVuZGVyQmxvY2sge0RJ
Vn0gYXQgKDAsMikgc2l6ZSAxOHgxNQorICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgyMDYs
OCkgc2l6ZSAyMngyMQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL21lZGlhL2F1ZGlv
LWNvbnRyb2xzLXJlbmRlcmluZy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luL21lZGlhL2F1ZGlvLWNvbnRyb2xzLXJlbmRlcmluZy1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDQ3NTg5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL21lZGlhL2F1
ZGlvLWNvbnRyb2xzLXJlbmRlcmluZy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMs
NDkgKzMsNDkgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAog
ICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAotICAgICAgUmVuZGVy
QmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDE4Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDE1M3gxOAorICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNp
emUgNzg0eDIxCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE1M3gy
MAogICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE1MzogIlRlc3QgY29udHJvbHMg
cGxhY2VtZW50LiIKLSAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDM0KSBzaXpl
IDc4NHg4NgorICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMzcpIHNpemUgNzg0
eDk1CiAgICAgICAgIFJlbmRlck1lZGlhIHtBVURJT30gYXQgKDAsMCkgc2l6ZSAyMDB4MTYgW2Jn
Y29sb3I9IzAwMDBGRl0KICAgICAgICAgUmVuZGVyQlIge0JSfSBhdCAoMjAwLDE2KSBzaXplIDB4
MAotICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgwLDE2KSBzaXplIDB4MTgKLSAgICAgICAgUmVu
ZGVyTWVkaWEge0FVRElPfSBhdCAoMCwzNCkgc2l6ZSAzMjB4MTYgW2JnY29sb3I9IzAwMDBGRl0K
LSAgICAgICAgUmVuZGVyQlIge0JSfSBhdCAoMzIwLDUwKSBzaXplIDB4MAotICAgICAgICBSZW5k
ZXJCUiB7QlJ9IGF0ICgwLDUwKSBzaXplIDB4MTgKLSAgICAgICAgUmVuZGVyQlIge0JSfSBhdCAo
MCw2OCkgc2l6ZSAweDE4Ci1sYXllciBhdCAoOCw0Mikgc2l6ZSAyMDB4MTYKKyAgICAgICAgUmVu
ZGVyQlIge0JSfSBhdCAoMCwxNikgc2l6ZSAweDIwCisgICAgICAgIFJlbmRlck1lZGlhIHtBVURJ
T30gYXQgKDAsMzcpIHNpemUgMzIweDE2IFtiZ2NvbG9yPSMwMDAwRkZdCisgICAgICAgIFJlbmRl
ckJSIHtCUn0gYXQgKDMyMCw1Mykgc2l6ZSAweDAKKyAgICAgICAgUmVuZGVyQlIge0JSfSBhdCAo
MCw1Mykgc2l6ZSAweDIwCisgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDAsNzQpIHNpemUgMHgy
MAorbGF5ZXIgYXQgKDgsNDUpIHNpemUgMjAweDE2CiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBw
b3NpdGlvbmVkKSB7RElWfSBhdCAoMCwwKSBzaXplIDIwMHgxNgotbGF5ZXIgYXQgKDgsNDIpIHNp
emUgMjAweDE2CitsYXllciBhdCAoOCw0NSkgc2l6ZSAyMDB4MTYKICAgUmVuZGVyRmxleGlibGVC
b3ggKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDApIHNpemUgMjAweDE2CiAgICAgUmVuZGVyQnV0
dG9uIHtJTlBVVH0gYXQgKDAsMCkgc2l6ZSAxNngxNgotICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9
IGF0ICgxNiwwKSBzaXplIDE2eDE2Ci0gICAgUmVuZGVyRmxleGlibGVCb3gge0RJVn0gYXQgKDMy
LDApIHNpemUgMTM2eDE2CisgICAgUmVuZGVyRmxleGlibGVCb3gge0RJVn0gYXQgKDE2LDApIHNp
emUgMTM2eDE2CiAgICAgICBSZW5kZXJTbGlkZXIge0lOUFVUfSBhdCAoMCwwKSBzaXplIDEzNngx
NgogICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMiwxKSBzaXplIDEzeDE0CisgICAgUmVu
ZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDE1MiwwKSBzaXplIDE2eDE2CiAgICAgUmVuZGVyQnV0dG9u
IHtJTlBVVH0gYXQgKDE2OCwwKSBzaXplIDE2eDE2CiAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0g
YXQgKDE4NCwwKSBzaXplIDE2eDE2Ci1sYXllciBhdCAoOCw3Nikgc2l6ZSAzMjB4MTYKK2xheWVy
IGF0ICg4LDgyKSBzaXplIDMyMHgxNgogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25l
ZCkge0RJVn0gYXQgKDAsMCkgc2l6ZSAzMjB4MTYKLWxheWVyIGF0ICg4LDc2KSBzaXplIDMyMHgx
NgorbGF5ZXIgYXQgKDgsODIpIHNpemUgMzIweDE2CiAgIFJlbmRlckZsZXhpYmxlQm94IChwb3Np
dGlvbmVkKSB7RElWfSBhdCAoMCwwKSBzaXplIDMyMHgxNgogICAgIFJlbmRlckJ1dHRvbiB7SU5Q
VVR9IGF0ICgwLDApIHNpemUgMTZ4MTYKLSAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMTYs
MCkgc2l6ZSAxNngxNgotICAgIFJlbmRlckZsZXhpYmxlQm94IHtESVZ9IGF0ICgzMiwwKSBzaXpl
IDI1NngxNgorICAgIFJlbmRlckZsZXhpYmxlQm94IHtESVZ9IGF0ICgxNiwwKSBzaXplIDI1Nngx
NgogICAgICAgUmVuZGVyU2xpZGVyIHtJTlBVVH0gYXQgKDAsMCkgc2l6ZSAyNTZ4MTYKICAgICAg
ICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMSkgc2l6ZSAxM3gxNAorICAgIFJlbmRlckJ1dHRv
biB7SU5QVVR9IGF0ICgyNzIsMCkgc2l6ZSAxNngxNgogICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9
IGF0ICgyODgsMCkgc2l6ZSAxNngxNgogICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgzMDQs
MCkgc2l6ZSAxNngxNgotbGF5ZXIgYXQgKDgsMTEwKSBzaXplIDMyMHgxMDAKLSAgUmVuZGVyTWVk
aWEge0FVRElPfSBhdCAoOCwxMTApIHNpemUgMzIweDEwMCBbYmdjb2xvcj0jMDAwMEZGXQotbGF5
ZXIgYXQgKDgsMTEwKSBzaXplIDMyMHgxMDAKK2xheWVyIGF0ICg4LDExOSkgc2l6ZSAzMjB4MTAw
CisgIFJlbmRlck1lZGlhIHtBVURJT30gYXQgKDgsMTE5KSBzaXplIDMyMHgxMDAgW2JnY29sb3I9
IzAwMDBGRl0KK2xheWVyIGF0ICg4LDExOSkgc2l6ZSAzMjB4MTAwCiAgIFJlbmRlckJsb2NrIChy
ZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwwKSBzaXplIDMyMHgxMDAKLWxheWVyIGF0
ICg4LDE5NCkgc2l6ZSAzMjB4MTYKK2xheWVyIGF0ICg4LDIwMykgc2l6ZSAzMjB4MTYKICAgUmVu
ZGVyRmxleGlibGVCb3ggKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDg0KSBzaXplIDMyMHgxNgog
ICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgwLDApIHNpemUgMTZ4MTYKLSAgICBSZW5kZXJC
dXR0b24ge0lOUFVUfSBhdCAoMTYsMCkgc2l6ZSAxNngxNgotICAgIFJlbmRlckZsZXhpYmxlQm94
IHtESVZ9IGF0ICgzMiwwKSBzaXplIDI1NngxNgorICAgIFJlbmRlckZsZXhpYmxlQm94IHtESVZ9
IGF0ICgxNiwwKSBzaXplIDI1NngxNgogICAgICAgUmVuZGVyU2xpZGVyIHtJTlBVVH0gYXQgKDAs
MCkgc2l6ZSAyNTZ4MTYKICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMSkgc2l6ZSAx
M3gxNAorICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgyNzIsMCkgc2l6ZSAxNngxNgogICAg
IFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgyODgsMCkgc2l6ZSAxNngxNgogICAgIFJlbmRlckJ1
dHRvbiB7SU5QVVR9IGF0ICgzMDQsMCkgc2l6ZSAxNngxNgpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2luL21lZGlhL2NvbnRyb2xzLWFmdGVyLXJlbG9hZC1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL21lZGlhL2NvbnRyb2xzLWFmdGVyLXJl
bG9hZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQ3NTg5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2luL21lZGlhL2NvbnRyb2xzLWFmdGVyLXJlbG9hZC1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTE3LDkgKzE3LDkgQEAgbGF5ZXIgYXQgKDgsNDIpIHNpemUgMzIweDI0MAogbGF5
ZXIgYXQgKDgsMjY2KSBzaXplIDMyMHgxNgogICBSZW5kZXJGbGV4aWJsZUJveCAocG9zaXRpb25l
ZCkge0RJVn0gYXQgKDAsMjI0KSBzaXplIDMyMHgxNgogICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9
IGF0ICgwLDApIHNpemUgMTZ4MTYKLSAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMTYsMCkg
c2l6ZSAxNngxNgotICAgIFJlbmRlckZsZXhpYmxlQm94IHtESVZ9IGF0ICgzMiwwKSBzaXplIDI1
NngxNgorICAgIFJlbmRlckZsZXhpYmxlQm94IHtESVZ9IGF0ICgxNiwwKSBzaXplIDI1NngxNgog
ICAgICAgUmVuZGVyU2xpZGVyIHtJTlBVVH0gYXQgKDAsMCkgc2l6ZSAyNTZ4MTYKICAgICAgICAg
UmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMSkgc2l6ZSAxM3gxNAorICAgIFJlbmRlckJ1dHRvbiB7
SU5QVVR9IGF0ICgyNzIsMCkgc2l6ZSAxNngxNgogICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0
ICgyODgsMCkgc2l6ZSAxNngxNgogICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgzMDQsMCkg
c2l6ZSAxNngxNgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL21lZGlhL2NvbnRyb2xz
LWRyYWctdGltZWJhci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2luL21lZGlhL2NvbnRyb2xzLWRyYWctdGltZWJhci1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDQ3NTg5KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL21lZGlhL2NvbnRyb2xzLWRy
YWctdGltZWJhci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTQsMTAgKzQsMTAgQEAg
UlVOKHZpZGVvLmF1dG9wbGF5ID0gdHJ1ZSkKIFJVTih2aWRlby5zcmMgPSAnY29udGVudC90ZXN0
Lm1wNCcpCiBFVkVOVChwbGF5aW5nKQogRVZFTlQoc2Vla2VkKQotVGltZTogMS43CitUaW1lOiAy
LjEKIEVWRU5UKHNlZWtlZCkKLVRpbWU6IDIuMgorVGltZTogMi42CiBFVkVOVChzZWVrZWQpCi1U
aW1lOiAyLjcKK1RpbWU6IDMuMQogRU5EIE9GIFRFU1QKIApJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2luL21lZGlhL2NvbnRyb2xzLXN0cmljdC1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL21lZGlhL2NvbnRyb2xzLXN0cmljdC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vbWVkaWEvY29u
dHJvbHMtc3RyaWN0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNSBAQAor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgzMDIKKyAgUmVuZGVyQmxvY2sge0hUTUx9
IGF0ICgwLDApIHNpemUgODAweDMwMgorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDE2KSBz
aXplIDc4NHgyNzgKKyAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4NHgxOAor
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyMjZ4MTgKKyAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyMjY6ICJEcmF3aW5nIHRoZSBjb250cm9scyBpbiBz
dHJpY3QgbW9kZS4iCisgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwzNCkgc2l6
ZSA3ODR4MjQ0CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAor
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCitsYXllciBhdCAoOCw1MCkgc2l6ZSAz
MjB4MjQwCisgIFJlbmRlclZpZGVvIHtWSURFT30gYXQgKDAsMCkgc2l6ZSAzMjB4MjQwCitsYXll
ciBhdCAoOCw1MCkgc2l6ZSAzMjB4MjQwCisgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlv
bmVkKSB7RElWfSBhdCAoMCwwKSBzaXplIDMyMHgyNDAKK2xheWVyIGF0ICg4LDI3NCkgc2l6ZSAz
MjB4MTYKKyAgUmVuZGVyRmxleGlibGVCb3ggKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDIyNCkg
c2l6ZSAzMjB4MTYKKyAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMCwwKSBzaXplIDE2eDE2
CisgICAgUmVuZGVyRmxleGlibGVCb3gge0RJVn0gYXQgKDE2LDApIHNpemUgMjU2eDE2CisgICAg
ICBSZW5kZXJTbGlkZXIge0lOUFVUfSBhdCAoMCwwKSBzaXplIDI1NngxNgorICAgICAgICBSZW5k
ZXJCbG9jayB7RElWfSBhdCAoMiwxKSBzaXplIDEzeDE0CisgICAgUmVuZGVyQnV0dG9uIHtJTlBV
VH0gYXQgKDI3MiwwKSBzaXplIDE2eDE2CisgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDI4
OCwwKSBzaXplIDE2eDE2CisgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDMwNCwwKSBzaXpl
IDE2eDE2CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vbWVkaWEvY29udHJvbHMtc3R5
bGluZy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2lu
L21lZGlhL2NvbnRyb2xzLXN0eWxpbmctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0NzU4OSkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9tZWRpYS9jb250cm9scy1zdHlsaW5nLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjEsMTAgKzIxLDEwIEBAIGxheWVyIGF0ICgxOCw0Mikg
c2l6ZSAzMjB4MjQwCiBsYXllciBhdCAoMTgsMjY2KSBzaXplIDMyMHgxNgogICBSZW5kZXJGbGV4
aWJsZUJveCAocG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMjI0KSBzaXplIDMyMHgxNgogICAgIFJl
bmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgwLDApIHNpemUgMTZ4MTYKLSAgICBSZW5kZXJCdXR0b24g
e0lOUFVUfSBhdCAoMTYsMCkgc2l6ZSAxNngxNgotICAgIFJlbmRlckZsZXhpYmxlQm94IHtESVZ9
IGF0ICgzMiwwKSBzaXplIDI1NngxNgorICAgIFJlbmRlckZsZXhpYmxlQm94IHtESVZ9IGF0ICgx
NiwwKSBzaXplIDI1NngxNgogICAgICAgUmVuZGVyU2xpZGVyIHtJTlBVVH0gYXQgKDAsMCkgc2l6
ZSAyNTZ4MTYKICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMSkgc2l6ZSAxM3gxNAor
ICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgyNzIsMCkgc2l6ZSAxNngxNgogICAgIFJlbmRl
ckJ1dHRvbiB7SU5QVVR9IGF0ICgyODgsMCkgc2l6ZSAxNngxNgogICAgIFJlbmRlckJ1dHRvbiB7
SU5QVVR9IGF0ICgzMDQsMCkgc2l6ZSAxNngxNgogbGF5ZXIgYXQgKDgsMjgyKSBzaXplIDMyMHgy
NDAKQEAgLTMyLDkgKzMyLDkgQEAgbGF5ZXIgYXQgKDgsMjgyKSBzaXplIDMyMHgyNDAKIGxheWVy
IGF0ICg4LDUwNikgc2l6ZSAzMjB4MTYKICAgUmVuZGVyRmxleGlibGVCb3ggKHBvc2l0aW9uZWQp
IHtESVZ9IGF0ICgwLDIyNCkgc2l6ZSAzMjB4MTYKICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBh
dCAoMCwwKSBzaXplIDE2eDE2Ci0gICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDE2LDApIHNp
emUgMTZ4MTYKLSAgICBSZW5kZXJGbGV4aWJsZUJveCB7RElWfSBhdCAoMzIsMCkgc2l6ZSAyNTZ4
MTYKKyAgICBSZW5kZXJGbGV4aWJsZUJveCB7RElWfSBhdCAoMTYsMCkgc2l6ZSAyNTZ4MTYKICAg
ICAgIFJlbmRlclNsaWRlciB7SU5QVVR9IGF0ICgwLDApIHNpemUgMjU2eDE2CiAgICAgICAgIFJl
bmRlckJsb2NrIHtESVZ9IGF0ICgyLDEpIHNpemUgMTN4MTQKKyAgICBSZW5kZXJCdXR0b24ge0lO
UFVUfSBhdCAoMjcyLDApIHNpemUgMTZ4MTYKICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAo
Mjg4LDApIHNpemUgMTZ4MTYKICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMzA0LDApIHNp
emUgMTZ4MTYKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9tZWRpYS92aWRlby1jb250
cm9scy1yZW5kZXJpbmctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbi9tZWRpYS92aWRlby1jb250cm9scy1yZW5kZXJpbmctZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL21lZGlhL3ZpZGVvLWNvbnRy
b2xzLXJlbmRlcmluZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTIgQEAK
K2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDc2MgorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
Nzg1eDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1M
fSBhdCAoMCwwKSBzaXplIDc4NXg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBz
aXplIDc2OXg1ODQKKyAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc2OXgxOAor
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxNTN4MTgKKyAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxNTM6ICJUZXN0IGNvbnRyb2xzIHBsYWNlbWVudC4i
CisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwzNCkgc2l6ZSA3Njl4MjQwCisgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyQmxvY2sg
e0RJVn0gYXQgKDAsMjc0KSBzaXplIDc2OXgyNDAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCw1MTQpIHNp
emUgNzY5eDAKK2xheWVyIGF0ICg4LDQyKSBzaXplIDMyMHgyNDAKKyAgUmVuZGVyVmlkZW8ge1ZJ
REVPfSBhdCAoMCwwKSBzaXplIDMyMHgyNDAKK2xheWVyIGF0ICg4LDI4Mikgc2l6ZSAzMjB4MjQw
CisgIFJlbmRlclZpZGVvIHtWSURFT30gYXQgKDAsMCkgc2l6ZSAzMjB4MjQwCitsYXllciBhdCAo
OCw0Mikgc2l6ZSAzMjB4MjQwCisgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7
RElWfSBhdCAoMCwwKSBzaXplIDMyMHgyNDAKK2xheWVyIGF0ICg4LDI2Nikgc2l6ZSAzMjB4MTYK
KyAgUmVuZGVyRmxleGlibGVCb3ggKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDIyNCkgc2l6ZSAz
MjB4MTYKKyAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMCwwKSBzaXplIDE2eDE2CisgICAg
UmVuZGVyRmxleGlibGVCb3gge0RJVn0gYXQgKDE2LDApIHNpemUgMjU2eDE2CisgICAgICBSZW5k
ZXJTbGlkZXIge0lOUFVUfSBhdCAoMCwwKSBzaXplIDI1NngxNgorICAgICAgICBSZW5kZXJCbG9j
ayB7RElWfSBhdCAoMiwxKSBzaXplIDEzeDE0CisgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQg
KDI3MiwwKSBzaXplIDE2eDE2CisgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDI4OCwwKSBz
aXplIDE2eDE2CisgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDMwNCwwKSBzaXplIDE2eDE2
CitsYXllciBhdCAoOCwyODIpIHNpemUgMzIweDI0MAorICBSZW5kZXJCbG9jayAocmVsYXRpdmUg
cG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMCkgc2l6ZSAzMjB4MjQwCitsYXllciBhdCAoOCw1MDYp
IHNpemUgMzIweDE2CisgIFJlbmRlckZsZXhpYmxlQm94IChwb3NpdGlvbmVkKSB7RElWfSBhdCAo
MCwyMjQpIHNpemUgMzIweDE2CisgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDAsMCkgc2l6
ZSAxNngxNgorICAgIFJlbmRlckZsZXhpYmxlQm94IHtESVZ9IGF0ICgxNiwwKSBzaXplIDI1Nngx
NgorICAgICAgUmVuZGVyU2xpZGVyIHtJTlBVVH0gYXQgKDAsMCkgc2l6ZSAyNTZ4MTYKKyAgICAg
ICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMSkgc2l6ZSAxM3gxNAorICAgIFJlbmRlckJ1dHRv
biB7SU5QVVR9IGF0ICgyNzIsMCkgc2l6ZSAxNngxNgorICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9
IGF0ICgyODgsMCkgc2l6ZSAxNngxNgorICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgzMDQs
MCkgc2l6ZSAxNngxNgorbGF5ZXIgYXQgKDgsNTIyKSBzaXplIDMyMHgyNDAKKyAgUmVuZGVyVmlk
ZW8ge1ZJREVPfSBhdCAoOCw1MjIpIHNpemUgMzIweDI0MAorbGF5ZXIgYXQgKDgsNTIyKSBzaXpl
IDMyMHgyNDAKKyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgw
LDApIHNpemUgMzIweDI0MAorbGF5ZXIgYXQgKDgsNzQ2KSBzaXplIDMyMHgxNgorICBSZW5kZXJG
bGV4aWJsZUJveCAocG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMjI0KSBzaXplIDMyMHgxNgorICAg
IFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgwLDApIHNpemUgMTZ4MTYKKyAgICBSZW5kZXJGbGV4
aWJsZUJveCB7RElWfSBhdCAoMTYsMCkgc2l6ZSAyNTZ4MTYKKyAgICAgIFJlbmRlclNsaWRlciB7
SU5QVVR9IGF0ICgwLDApIHNpemUgMjU2eDE2CisgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0
ICgyLDEpIHNpemUgMTN4MTQKKyAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMjcyLDApIHNp
emUgMTZ4MTYKKyAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMjg4LDApIHNpemUgMTZ4MTYK
KyAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMzA0LDApIHNpemUgMTZ4MTYKSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbi9tZWRpYS92aWRlby1kaXNwbGF5LXRvZ2dsZS1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL21lZGlhL3ZpZGVv
LWRpc3BsYXktdG9nZ2xlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL3dpbi9tZWRpYS92aWRlby1kaXNwbGF5LXRvZ2dsZS1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsMjQgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAor
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBS
ZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQ5M3gxOAorICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3
aWR0aCA0OTM6ICJUaGlzIHRlc3RzIHRoYXQgdG9nZ2xpbmcgdGhlIGRpc3BsYXkgcHJvcGVydHkg
d29uJ3QgbWFrZSB0aGUgY29udHJvbHMgZGlzYXBwZWFyLiIKKyAgICAgIFJlbmRlckJSIHtCUn0g
YXQgKDQ5MywxNCkgc2l6ZSAweDAKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDB4MAorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKK2xheWVyIGF0ICg4LDI2KSBz
aXplIDMyMHgyNDAKKyAgUmVuZGVyVmlkZW8ge1ZJREVPfSBhdCAoMCwxOCkgc2l6ZSAzMjB4MjQw
CitsYXllciBhdCAoOCwyNikgc2l6ZSAzMjB4MjQwCisgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBw
b3NpdGlvbmVkKSB7RElWfSBhdCAoMCwwKSBzaXplIDMyMHgyNDAKK2xheWVyIGF0ICg4LDI1MCkg
c2l6ZSAzMjB4MTYKKyAgUmVuZGVyRmxleGlibGVCb3ggKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgw
LDIyNCkgc2l6ZSAzMjB4MTYKKyAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMCwwKSBzaXpl
IDE2eDE2CisgICAgUmVuZGVyRmxleGlibGVCb3gge0RJVn0gYXQgKDE2LDApIHNpemUgMjU2eDE2
CisgICAgICBSZW5kZXJTbGlkZXIge0lOUFVUfSBhdCAoMCwwKSBzaXplIDI1NngxNgorICAgICAg
ICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMiwxKSBzaXplIDEzeDE0CisgICAgUmVuZGVyQnV0dG9u
IHtJTlBVVH0gYXQgKDI3MiwwKSBzaXplIDE2eDE2CisgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0g
YXQgKDI4OCwwKSBzaXplIDE2eDE2CisgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDMwNCww
KSBzaXplIDE2eDE2Cg==
</data>
<flag name="review"
          id="19408"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>