<?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>83110</bug_id>
          
          <creation_ts>2012-04-03 20:12:50 -0700</creation_ts>
          <short_desc>Remove ReifiedTreeTraversal class.</short_desc>
          <delta_ts>2012-04-04 22:30:00 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>82696</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Hayato Ito">hayato</reporter>
          <assigned_to name="Hayato Ito">hayato</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>dominicc</cc>
    
    <cc>morrita</cc>
    
    <cc>shinyak</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>595179</commentid>
    <comment_count>0</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-04-03 20:12:50 -0700</bug_when>
    <thetext>Remove ReifiedTreeTraversal class after removing dependency on that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595269</commentid>
    <comment_count>1</comment_count>
      <attachid>135519</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-04-03 23:18:13 -0700</bug_when>
    <thetext>Created attachment 135519
remove it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596236</commentid>
    <comment_count>2</comment_count>
      <attachid>135519</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-04 19:34:00 -0700</bug_when>
    <thetext>Comment on attachment 135519
remove it

Rejecting attachment 135519 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
webkit-commit-queue/Source/WebKit/chromium/webkit --revision 130110 --non-interactive --force --accept theirs-conflict --ignore-externals&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
48&gt;At revision 130110.

________ running &apos;/usr/bin/python tools/clang/scripts/update.py --mac-only&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;

________ running &apos;/usr/bin/python gyp_webkit&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
Updating webkit projects from gyp files...

Full output: http://queues.webkit.org/results/12337091</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596275</commentid>
    <comment_count>3</comment_count>
      <attachid>135752</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-04-04 21:03:55 -0700</bug_when>
    <thetext>Created attachment 135752
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596305</commentid>
    <comment_count>4</comment_count>
      <attachid>135752</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-04 22:29:56 -0700</bug_when>
    <thetext>Comment on attachment 135752
Patch for landing

Clearing flags on attachment: 135752

Committed r113294: &lt;http://trac.webkit.org/changeset/113294&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596306</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-04 22:30:00 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135519</attachid>
            <date>2012-04-03 23:18:13 -0700</date>
            <delta_ts>2012-04-04 21:03:49 -0700</delta_ts>
            <desc>remove it</desc>
            <filename>bug-83110-20120404151811.patch</filename>
            <type>text/plain</type>
            <size>50593</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzMTM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWZhMWI3YzVjMTg3NTEx
MGJmMDdiMDc5N2M2YmI5MzhhOTI4NjI0Ny4uMjFjZTZjMTA2ZDBjZWExMWEwZTRhYjMxMGQyMjZj
NWE5ZmExOTM1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTA0LTAzICBIYXlh
dG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW1vdmUgUmVpZmllZFRy
ZWVUcmF2ZXJzYWwuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04MzExMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFdlIGNhbiBub3cgcmVtb3ZlIFJlaWZpZWRUcmVlVHJhdmVyc2FsLiBBbGwgY2xpZW50cyBo
YXZlIHN3aXRjaGVkIHRvIHVzZSBDb21wb3NlZFNoYWRvd1RyZWVXYWxrZXIuCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzLiBObyBjaGFuZ2UgaW4gZnVuY3Rpb25hbGl0eS4KKworICAgICAgICAqIENN
YWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICog
VGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBXZWJDb3Jl
Lmd5cGk6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9SZWlm
aWVkVHJlZVRyYXZlcnNhbC5jcHA6IFJlbW92ZWQuCisgICAgICAgICogZG9tL1JlaWZpZWRUcmVl
VHJhdmVyc2FsLmg6IFJlbW92ZWQuCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgor
ICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgIChJbnRlcm5hbHMpOgorICAg
ICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoKKwogMjAxMi0wNC0wMyAgS2VuaWNoaSBJc2hp
YmFzaGkgIDxiYXNoaUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBPdXQtb2Yt
cHJvY2VzcyBmb250IGxvYWRpbmcgZ2FyYmxlcyB0ZXh0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOWYzNWI1MTU2
MzNmZmUwNTEzMzRlZjM0NmMxZDA2MTUwNjcyM2NiNS4uYzFhNzM4YjVmNDc0YmJjNjkwZDI1NTVl
NjY2NGRmNjVlMzFlZGQ1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA0LTAz
ICBIYXlhdG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW1vdmUgUmVp
ZmllZFRyZWVUcmF2ZXJzYWwuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04MzExMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogd2luL1dlYktpdDIuZGVmOgorICAgICAgICAqIHdpbi9XZWJLaXQyQ0ZMaXRl
LmRlZjoKKwogMjAxMi0wNC0wMyAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAg
ICAgIEFsbG93IHRoZSBvbGQgV2ViS2l0MiBkcmF3aW5nIG1vZGVsIHRvIGhvc3QgbGF5ZXJzIGlu
IHRoZSB3aW5kb3cgc2VydmVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGQ2M2UwZDkwMWMwOGM0
YzNmOGZjNjVjNDU1NWVhZTAwN2RmMDFiZTMuLmZlMzc5NWFkYjM4OTI3ZTdkMWFhZTVmMTljYjkx
MTFlZGI4YTc5ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC02MTQsNyArNjE0LDYgQEAgU0VU
KFdlYkNvcmVfU09VUkNFUwogICAgIGRvbS9SYW5nZS5jcHAKICAgICBkb20vUmFuZ2VFeGNlcHRp
b24uY3BwCiAgICAgZG9tL1JlZ2lzdGVyZWRFdmVudExpc3RlbmVyLmNwcAotICAgIGRvbS9SZWlm
aWVkVHJlZVRyYXZlcnNhbC5jcHAKICAgICBkb20vU2NvcGVkRXZlbnRRdWV1ZS5jcHAKICAgICBk
b20vU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLmNwcAogICAgIGRvbS9TY3JpcHRFbGVtZW50LmNw
cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggMTJmNTJjZWM0ZTZkMzc2ZDkxMDFk
NDBhNmIwYmViZjUxOGM3MmQ4YS4uNzBmYmJiZTE2YmQ4YTg5YTVkNzIzOWU1ZWM0MDRkZmVmMDg0
OTU4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0xOTMyLDggKzE5MzIsNiBA
QCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9SYXdEYXRhRG9jdW1l
bnRQYXJzZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL1JlZ2lzdGVyZWRFdmVudExpc3RlbmVy
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL1JlZ2lzdGVyZWRFdmVudExpc3RlbmVyLmggXAot
CVNvdXJjZS9XZWJDb3JlL2RvbS9SZWlmaWVkVHJlZVRyYXZlcnNhbC5jcHAgXAotCVNvdXJjZS9X
ZWJDb3JlL2RvbS9SZWlmaWVkVHJlZVRyYXZlcnNhbC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20v
UmVuZGVyZWREb2N1bWVudE1hcmtlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vU2NvcGVkRXZl
bnRRdWV1ZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9TY29wZWRFdmVudFF1ZXVlLmggXApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1Rh
cmdldC5wcmkKaW5kZXggY2VmNjdhMTFlZTNjYTA2NTQ4ZmRhZGE1MGJkYjhkOTU0MGIzMzBkMS4u
N2RlYzVhN2ZjZGE5OWRjNWUxNzA1MWQzMDE4YWNhOTA0MThmOGFkZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBA
IC01OTEsNyArNTkxLDYgQEAgU09VUkNFUyArPSBcCiAgICAgZG9tL1JhbmdlRXhjZXB0aW9uLmNw
cCBcCiAgICAgZG9tL1Jhd0RhdGFEb2N1bWVudFBhcnNlci5oIFwKICAgICBkb20vUmVnaXN0ZXJl
ZEV2ZW50TGlzdGVuZXIuY3BwIFwKLSAgICBkb20vUmVpZmllZFRyZWVUcmF2ZXJzYWwuY3BwIFwK
ICAgICBkb20vU2NvcGVkRXZlbnRRdWV1ZS5jcHAgXAogICAgIGRvbS9TY3JpcHRlZEFuaW1hdGlv
bkNvbnRyb2xsZXIuY3BwIFwKICAgICBkb20vU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLmNwcCBc
CkBAIC0xNzI3LDcgKzE3MjYsNiBAQCBIRUFERVJTICs9IFwKICAgICBkb20vUXVhbGlmaWVkTmFt
ZS5oIFwKICAgICBkb20vUmFuZ2UuaCBcCiAgICAgZG9tL1JlZ2lzdGVyZWRFdmVudExpc3RlbmVy
LmggXAotICAgIGRvbS9SZWlmaWVkVHJlZVRyYXZlcnNhbC5oIFwKICAgICBkb20vUmVuZGVyZWRE
b2N1bWVudE1hcmtlci5oIFwKICAgICBkb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmgg
XAogICAgIGRvbS9TY3JpcHRFbGVtZW50LmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCAzN2M0
ZDg4NzIyYTA1MWIxZGMyZDgxNDA5MjNiMjVkZjU4OTNhNWNiLi5lOWQ5NGYxZTY5MTUzMDgyNzY2
MzExYjJlZTI2Y2Q0OTM0N2VkZGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtNjA3LDExICs2
MDcsNiBAQCBfX1pON1dlYkNvcmUyME5vZGVSZW5kZXJpbmdDb250ZXh0QzFFUE5TXzROb2RlRQog
X19aTjdXZWJDb3JlMjBOb2RlUmVuZGVyaW5nQ29udGV4dEQxRXYKIF9fWk43V2ViQ29yZTIwUGxh
dGZvcm1FdmVudEZhY3RvcnkyNGNyZWF0ZVBsYXRmb3JtTW91c2VFdmVudEVQN05TRXZlbnRQNk5T
VmlldwogX19aTjdXZWJDb3JlMjBQbGF0Zm9ybUV2ZW50RmFjdG9yeTI3Y3JlYXRlUGxhdGZvcm1L
ZXlib2FyZEV2ZW50RVA3TlNFdmVudAotX19aTjdXZWJDb3JlMjBSZWlmaWVkVHJlZVRyYXZlcnNh
bDExbmV4dFNpYmxpbmdFUEtOU180Tm9kZUUKLV9fWk43V2ViQ29yZTIwUmVpZmllZFRyZWVUcmF2
ZXJzYWwyMHRyYXZlcnNlUHJldmlvdXNOb2RlRVBLTlNfNE5vZGVFCi1fX1pON1dlYkNvcmUyMFJl
aWZpZWRUcmVlVHJhdmVyc2FsOWxhc3RDaGlsZEVQS05TXzROb2RlRQotX19aTjdXZWJDb3JlMjBS
ZWlmaWVkVHJlZVRyYXZlcnNhbDE2dHJhdmVyc2VOZXh0Tm9kZUVQS05TXzROb2RlRQotX19aTjdX
ZWJDb3JlMjBSZWlmaWVkVHJlZVRyYXZlcnNhbDEwZmlyc3RDaGlsZEVQS05TXzROb2RlRQogX19a
TjdXZWJDb3JlMjBSZW5kZXJFbWJlZGRlZE9iamVjdDMwc2V0U2hvd3NDcmFzaGVkUGx1Z2luSW5k
aWNhdG9yRXYKIF9fWk43V2ViQ29yZTIwUmVzb3VyY2VSZXNwb25zZUJhc2UxMXNldE1pbWVUeXBl
RVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3JlMjBSZXNvdXJjZVJlc3BvbnNlQmFzZTE3c2V0
SFRUUFN0YXR1c0NvZGVFaQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDY5OWUxYjkxMjMxYTg1NjUzMWE5
YmMxZGQ2MGRjY2RhMDQ1ZWVhNzAuLjczNTJlNjdkYjBhOTQ4NWUyN2E3YTYwMWRiMmQ2ODMzNTMw
NjE0ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTYzNyw3ICs2MzcsNiBAQAogICAgICAgICAgICAg
J2RvbS9SYW5nZS5oJywKICAgICAgICAgICAgICdkb20vUmFuZ2VCb3VuZGFyeVBvaW50LmgnLAog
ICAgICAgICAgICAgJ2RvbS9SZWdpc3RlcmVkRXZlbnRMaXN0ZW5lci5oJywKLSAgICAgICAgICAg
ICdkb20vUmVpZmllZFRyZWVUcmF2ZXJzYWwuaCcsCiAgICAgICAgICAgICAnZG9tL1JlbmRlcmVk
RG9jdW1lbnRNYXJrZXIuaCcsCiAgICAgICAgICAgICAnZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuaCcsCiAgICAgICAgICAgICAnZG9tL1NjcmlwdFJ1bm5lci5oJywKQEAgLTUyNjMsOCArNTI2
Miw2IEBACiAgICAgICAgICAgICAnZG9tL1JhbmdlRXhjZXB0aW9uLmgnLAogICAgICAgICAgICAg
J2RvbS9SYXdEYXRhRG9jdW1lbnRQYXJzZXIuaCcsCiAgICAgICAgICAgICAnZG9tL1JlZ2lzdGVy
ZWRFdmVudExpc3RlbmVyLmNwcCcsCi0gICAgICAgICAgICAnZG9tL1JlaWZpZWRUcmVlVHJhdmVy
c2FsLmNwcCcsCi0gICAgICAgICAgICAnZG9tL1JlaWZpZWRUcmVlVHJhdmVyc2FsLmgnLAogICAg
ICAgICAgICAgJ2RvbS9SZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjay5oJywKICAgICAgICAg
ICAgICdkb20vU2NvcGVkRXZlbnRRdWV1ZS5jcHAnLAogICAgICAgICAgICAgJ2RvbS9TY29wZWRF
dmVudFF1ZXVlLmgnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagppbmRleCA3NTcxY2YzZjIyMzllMzczNDU5ZjBiNDM1NGVlNjFjZTE4OGZiY2E0Li4zMDkw
NDA3OGUxM2IzMzIxNTE2ODY3MmZiMzU3ZTQwNWFkMzE5NjI4IDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtNTIwMjIsMTQgKzUyMDIyLDYgQEAK
IAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXFJl
aWZpZWRUcmVlVHJhdmVyc2FsLmNwcCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cZG9tXFJlaWZpZWRUcmVlVHJhdmVyc2FsLmgiCi0JCQkJPgotCQkJ
PC9GaWxlPgotCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxSZWdpc3RlcmVkRXZl
bnRMaXN0ZW5lci5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDBmYTQ1
YTRmZGQyYmJmYWY3NTk3MjQ2YjE2MDBlZWYyYWQ3MjdhMGQuLmU4OTlkZTg5NWEzZTU1MGFkOWEy
ZWM5YzM1Y2FlZTFmOGFlOTdmNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEzNTgsOCArMTM1OCw2IEBACiAJCTQ5RkZCRjFE
MTFDODU1MEUwMDZBNzExOCAvKiBHcmFwaGljc0NvbnRleHQzRE1hYy5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5RkZCRjFDMTFDODU1MEUwMDZBNzEx
OCAvKiBHcmFwaGljc0NvbnRleHQzRE1hYy5tbSAqLzsgfTsKIAkJNDlGRkJGM0YxMUM5M0VFMzAw
NkE3MTE4IC8qIFdlYkdMTGF5ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ5RkZCRjNEMTFDOTNFRTMwMDZBNzExOCAvKiBXZWJHTExheWVyLmggKi87
IH07CiAJCTQ5RkZCRjQwMTFDOTNFRTMwMDZBNzExOCAvKiBXZWJHTExheWVyLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlGRkJGM0UxMUM5M0VFMzAw
NkE3MTE4IC8qIFdlYkdMTGF5ZXIubW0gKi87IH07Ci0JCTRBMDEzRDI5MTUxMkZENzcwMEUxRTYx
MyAvKiBSZWlmaWVkVHJlZVRyYXZlcnNhbC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0QTAxM0QyNzE1MTJGRDc3MDBFMUU2MTMgLyogUmVpZmllZFRy
ZWVUcmF2ZXJzYWwuY3BwICovOyB9OwotCQk0QTAxM0QyQTE1MTJGRDc3MDBFMUU2MTMgLyogUmVp
ZmllZFRyZWVUcmF2ZXJzYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDRBMDEzRDI4MTUxMkZENzcwMEUxRTYxMyAvKiBSZWlmaWVkVHJlZVRyYXZlcnNh
bC5oICovOyB9OwogCQk0QTBEQTJGRTEyOUIyNDE5MDBBQjYxRTEgLyogRm9ybUFzc29jaWF0ZWRF
bGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDRBMERBMkZDMTI5QjI0MTkwMEFCNjFFMSAvKiBGb3JtQXNzb2NpYXRlZEVsZW1lbnQuY3BwICov
OyB9OwogCQk0QTBEQTJGRjEyOUIyNDE5MDBBQjYxRTEgLyogRm9ybUFzc29jaWF0ZWRFbGVtZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0QTBEQTJG
RDEyOUIyNDE5MDBBQjYxRTEgLyogRm9ybUFzc29jaWF0ZWRFbGVtZW50LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNEExRTcxOTAxNEUxMDFFNDAw
NjI2RjlEIC8qIEpTSFRNTENvbnRlbnRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRBMUU3MThFMTRFMTAxRTQwMDYyNkY5RCAvKiBKU0hU
TUxDb250ZW50RWxlbWVudC5jcHAgKi87IH07CkBAIC04MzIxLDggKzgzMTksNiBAQAogCQk0OUZG
QkYxQzExQzg1NTBFMDA2QTcxMTggLyogR3JhcGhpY3NDb250ZXh0M0RNYWMubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBHcmFwaGljc0NvbnRleHQzRE1hYy5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlGRkJGM0QxMUM5M0VFMzAwNkE3MTE4IC8q
IFdlYkdMTGF5ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViR0xMYXll
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OUZGQkYzRTExQzkzRUUzMDA2QTcx
MTggLyogV2ViR0xMYXllci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IFdlYkdMTGF5ZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTRBMDEzRDI3
MTUxMkZENzcwMEUxRTYxMyAvKiBSZWlmaWVkVHJlZVRyYXZlcnNhbC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWlmaWVkVHJlZVRyYXZlcnNhbC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTRBMDEzRDI4MTUxMkZENzcwMEUxRTYxMyAvKiBSZWlm
aWVkVHJlZVRyYXZlcnNhbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWlm
aWVkVHJlZVRyYXZlcnNhbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0QTBEQTJG
QzEyOUIyNDE5MDBBQjYxRTEgLyogRm9ybUFzc29jaWF0ZWRFbGVtZW50LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZvcm1Bc3NvY2lhdGVkRWxlbWVudC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRBMERBMkZEMTI5QjI0MTkwMEFCNjFFMSAvKiBG
b3JtQXNzb2NpYXRlZEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
Rm9ybUFzc29jaWF0ZWRFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRB
MUU3MThFMTRFMTAxRTQwMDYyNkY5RCAvKiBKU0hUTUxDb250ZW50RWxlbWVudC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0hUTUxDb250ZW50RWxlbWVudC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMTE0Niw4ICsyMTE0Miw2IEBACiAJCQkJ
QTg0RDgyN0IxMUQzMzNFRDAwOTcyOTkwIC8qIFJhd0RhdGFEb2N1bWVudFBhcnNlci5oICovLAog
CQkJCTg1MDMxQjM1MEE0NEVGQzcwMEY5OTJFMCAvKiBSZWdpc3RlcmVkRXZlbnRMaXN0ZW5lci5j
cHAgKi8sCiAJCQkJODUwMzFCMzYwQTQ0RUZDNzAwRjk5MkUwIC8qIFJlZ2lzdGVyZWRFdmVudExp
c3RlbmVyLmggKi8sCi0JCQkJNEEwMTNEMjcxNTEyRkQ3NzAwRTFFNjEzIC8qIFJlaWZpZWRUcmVl
VHJhdmVyc2FsLmNwcCAqLywKLQkJCQk0QTAxM0QyODE1MTJGRDc3MDBFMUU2MTMgLyogUmVpZmll
ZFRyZWVUcmF2ZXJzYWwuaCAqLywKIAkJCQlBNzZFNUY3RTEzNUUwRENGMDBBNjk4MzcgLyogUmVu
ZGVyZWREb2N1bWVudE1hcmtlci5oICovLAogCQkJCTQ5OThBRUM0MTNGOUQwRUEwMDkwQjFBQSAv
KiBSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjay5oICovLAogCQkJCTQ5OThBRUM1MTNGOUQw
RUEwMDkwQjFBQSAvKiBSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjay5pZGwgKi8sCkBAIC0y
Mzg1Miw3ICsyMzg0Niw2IEBACiAJCQkJQkNBQjQxODIxM0UzNTZFODAwRDhBQUYzIC8qIFJlZ2lv
bi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODUwMzFCNEMwQTQ0RUZDNzAwRjk5MkUwIC8qIFJlZ2lz
dGVyZWRFdmVudExpc3RlbmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkMzREEyRDBEMDA2QzFE
MDBFRjZGMjYgLyogUmVndWxhckV4cHJlc3Npb24uaCBpbiBIZWFkZXJzICovLAotCQkJCTRBMDEz
RDJBMTUxMkZENzcwMEUxRTYxMyAvKiBSZWlmaWVkVHJlZVRyYXZlcnNhbC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJOTMzMDlFMDEwOTlFNjQ5MjAwNTZFNTgxIC8qIFJlbW92ZUNTU1Byb3BlcnR5Q29t
bWFuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDA2QzBEOEYwQ0ZEMTE0NjAwNjVGNDNGIC8qIFJl
bW92ZUZvcm1hdENvbW1hbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMzA5RTA1MDk5RTY0OTIw
MDU2RTU4MSAvKiBSZW1vdmVOb2RlQ29tbWFuZC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzAxMiw3
ICsyNzAwNSw2IEBACiAJCQkJQkNBQjQxODExM0UzNTZFODAwRDhBQUYzIC8qIFJlZ2lvbi5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk4NTAzMUI0QjBBNDRFRkM3MDBGOTkyRTAgLyogUmVnaXN0ZXJl
ZEV2ZW50TGlzdGVuZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjJDM0RBMkMwRDAwNkMxRDAw
RUY2RjI2IC8qIFJlZ3VsYXJFeHByZXNzaW9uLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTRBMDEz
RDI5MTUxMkZENzcwMEUxRTYxMyAvKiBSZWlmaWVkVHJlZVRyYXZlcnNhbC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk5MzMwOUUwMDA5OUU2NDkyMDA1NkU1ODEgLyogUmVtb3ZlQ1NTUHJvcGVydHlD
b21tYW5kLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUQwNkMwRDkwMENGRDExNDYwMDY1RjQzRiAv
KiBSZW1vdmVGb3JtYXRDb21tYW5kLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzMzA5RTA0MDk5
RTY0OTIwMDU2RTU4MSAvKiBSZW1vdmVOb2RlQ29tbWFuZC5jcHAgaW4gU291cmNlcyAqLywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9SZWlmaWVkVHJlZVRyYXZlcnNhbC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vUmVpZmllZFRyZWVUcmF2ZXJzYWwuY3BwCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBmZjUxZTE2ZDJkYTgwNWVjOGE2YzBlNTg4MDVhOWY3MzNmNjJlM2M0
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9SZWlmaWVkVHJlZVRyYXZlcnNhbC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwz
MjUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0
OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
LSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJSZWlmaWVkVHJlZVRy
YXZlcnNhbC5oIgotCi0jaW5jbHVkZSAiRWxlbWVudC5oIgotI2luY2x1ZGUgIkhUTUxDb250ZW50
U2VsZWN0b3IuaCIKLSNpbmNsdWRlICJJbnNlcnRpb25Qb2ludC5oIgotI2luY2x1ZGUgIlNoYWRv
d1RyZWUuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1zdGF0aWMgaW5saW5lIGJvb2wgaXNT
aGFkb3dIb3N0KGNvbnN0IE5vZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIG5vZGUgJiYgbm9kZS0+
aXNFbGVtZW50Tm9kZSgpICYmIHRvRWxlbWVudChub2RlKS0+aGFzU2hhZG93Um9vdCgpOwotfQot
Ci1zdGF0aWMgaW5saW5lIFNoYWRvd1RyZWUqIHNoYWRvd1RyZWVGb3IoY29uc3QgTm9kZSogbm9k
ZSkKLXsKLSAgICBpZiAobm9kZSAmJiBub2RlLT5pc0VsZW1lbnROb2RlKCkpCi0gICAgICAgIHJl
dHVybiB0b0VsZW1lbnQobm9kZSktPnNoYWRvd1RyZWUoKTsKLSAgICByZXR1cm4gMDsKLX0KLQot
c3RhdGljIGlubGluZSBTaGFkb3dUcmVlKiBzaGFkb3dUcmVlT2ZQYXJlbnQoY29uc3QgTm9kZSog
bm9kZSkKLXsKLSAgICBpZiAobm9kZSAmJiBub2RlLT5wYXJlbnROb2RlKCkpCi0gICAgICAgIHJl
dHVybiBzaGFkb3dUcmVlRm9yKG5vZGUtPnBhcmVudE5vZGUoKSk7Ci0gICAgcmV0dXJuIDA7Ci19
Ci0KLU5vZGUqIFJlaWZpZWRUcmVlVHJhdmVyc2FsOjpmaXJzdENoaWxkKGNvbnN0IE5vZGUqIG5v
ZGUpCi17Ci0gICAgQVNTRVJUKG5vZGUpOwotICAgIE5vZGUqIGNoaWxkID0gdHJhdmVyc2VDaGls
ZChub2RlLCBSZWlmaWVkVHJlZVRyYXZlcnNhbERpcmVjdGlvbkZvcndhcmQpOwotICAgIEFTU0VS
VCghY2hpbGQgfHwgIWNoaWxkLT5pc1NoYWRvd1Jvb3QoKSk7Ci0gICAgcmV0dXJuIGNoaWxkOwot
fQotCi1Ob2RlKiBSZWlmaWVkVHJlZVRyYXZlcnNhbDo6bGFzdENoaWxkKGNvbnN0IE5vZGUqIG5v
ZGUpCi17Ci0gICAgQVNTRVJUKG5vZGUpOwotICAgIE5vZGUqIGNoaWxkID0gdHJhdmVyc2VDaGls
ZChub2RlLCBSZWlmaWVkVHJlZVRyYXZlcnNhbERpcmVjdGlvbkJhY2t3YXJkKTsKLSAgICBBU1NF
UlQoIWNoaWxkIHx8ICFjaGlsZC0+aXNTaGFkb3dSb290KCkpOwotICAgIHJldHVybiBjaGlsZDsK
LX0KLQotTm9kZSogUmVpZmllZFRyZWVUcmF2ZXJzYWw6Omxhc3RDaGlsZFdpdGhvdXRDcm9zc2lu
Z1VwcGVyQm91bmRhcnkoY29uc3QgTm9kZSogbm9kZSkKLXsKLSAgICBBU1NFUlQobm9kZSk7Ci0g
ICAgTm9kZSogY2hpbGQgPSB0cmF2ZXJzZUxpZ2h0Q2hpbGRyZW4obm9kZSwgUmVpZmllZFRyZWVU
cmF2ZXJzYWxEaXJlY3Rpb25CYWNrd2FyZCk7Ci0gICAgQVNTRVJUKCFjaGlsZCB8fCAhY2hpbGQt
PmlzU2hhZG93Um9vdCgpKTsKLSAgICByZXR1cm4gY2hpbGQ7Ci19Ci0KLU5vZGUqIFJlaWZpZWRU
cmVlVHJhdmVyc2FsOjp0cmF2ZXJzZUNoaWxkKGNvbnN0IE5vZGUqIG5vZGUsIFJlaWZpZWRUcmVl
VHJhdmVyc2FsRGlyZWN0aW9uIGRpcmVjdGlvbikKLXsKLSAgICBBU1NFUlQobm9kZSk7Ci0gICAg
Ly8gRklYTUU6IEFkZCBhbiBhc3NlcnRpb24gb25jZSBJbnNlcnRpb25Qb2ludCBoYXZlIGlzQWN0
aXZlKCkgZnVuY3Rpb24uCi0gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTgyMDEwCi0gICAgLy8gQVNTRVJUKCFpc0luc2VydGlvblBvaW50KG5vZGUpIHx8ICF0
b0luc2VydGlvblBvaW50KG5vZGUpLT5pc0FjdGl2ZSgpKTsKLSAgICBBU1NFUlQoIW5vZGUtPmlz
U2hhZG93Um9vdCgpKTsKLSAgICBTaGFkb3dUcmVlKiBzaGFkb3dUcmVlID0gc2hhZG93VHJlZUZv
cihub2RlKTsKLSAgICBpZiAoc2hhZG93VHJlZSAmJiBzaGFkb3dUcmVlLT5oYXNTaGFkb3dSb290
KCkpCi0gICAgICAgIHJldHVybiB0cmF2ZXJzZUxpZ2h0Q2hpbGRyZW4oc2hhZG93VHJlZS0+eW91
bmdlc3RTaGFkb3dSb290KCksIGRpcmVjdGlvbik7Ci0gICAgcmV0dXJuIHRyYXZlcnNlTGlnaHRD
aGlsZHJlbihub2RlLCBkaXJlY3Rpb24pOwotfQotCi1Ob2RlKiBSZWlmaWVkVHJlZVRyYXZlcnNh
bDo6dHJhdmVyc2VMaWdodENoaWxkcmVuKGNvbnN0IE5vZGUqIG5vZGUsIFJlaWZpZWRUcmVlVHJh
dmVyc2FsRGlyZWN0aW9uIGRpcmVjdGlvbikKLXsKLSAgICBBU1NFUlQobm9kZSk7Ci0gICAgaWYg
KE5vZGUqIGNoaWxkID0gKGRpcmVjdGlvbiA9PSBSZWlmaWVkVHJlZVRyYXZlcnNhbERpcmVjdGlv
bkZvcndhcmQgPyBub2RlLT5maXJzdENoaWxkKCkgOiBub2RlLT5sYXN0Q2hpbGQoKSkpCi0gICAg
ICAgIHJldHVybiB0cmF2ZXJzZU5vZGUoY2hpbGQsIGRpcmVjdGlvbik7Ci0gICAgcmV0dXJuIDA7
Ci19Ci0KLU5vZGUqIFJlaWZpZWRUcmVlVHJhdmVyc2FsOjp0cmF2ZXJzZU5vZGUoY29uc3QgTm9k
ZSogbm9kZSwgUmVpZmllZFRyZWVUcmF2ZXJzYWxEaXJlY3Rpb24gZGlyZWN0aW9uKQotewotICAg
IEFTU0VSVChub2RlKTsKLSAgICBpZiAoaXNJbnNlcnRpb25Qb2ludChub2RlKSkgewotICAgICAg
ICBjb25zdCBIVE1MQ29udGVudFNlbGVjdGlvbkxpc3QqIHNlbGVjdGlvbkxpc3QgPSB0b0luc2Vy
dGlvblBvaW50KG5vZGUpLT5zZWxlY3Rpb25zKCk7Ci0gICAgICAgIGlmIChIVE1MQ29udGVudFNl
bGVjdGlvbiogc2VsZWN0aW9uID0gKGRpcmVjdGlvbiA9PSBSZWlmaWVkVHJlZVRyYXZlcnNhbERp
cmVjdGlvbkZvcndhcmQgPyBzZWxlY3Rpb25MaXN0LT5maXJzdCgpIDogc2VsZWN0aW9uTGlzdC0+
bGFzdCgpKSkKLSAgICAgICAgICAgIHJldHVybiB0cmF2ZXJzZU5vZGUoc2VsZWN0aW9uLT5ub2Rl
KCksIGRpcmVjdGlvbik7Ci0gICAgICAgIHJldHVybiB0cmF2ZXJzZUxpZ2h0Q2hpbGRyZW4obm9k
ZSwgZGlyZWN0aW9uKTsKLSAgICB9Ci0gICAgcmV0dXJuIGNvbnN0X2Nhc3Q8Tm9kZSo+KG5vZGUp
OwotfQotCi1Ob2RlKiBSZWlmaWVkVHJlZVRyYXZlcnNhbDo6bmV4dFNpYmxpbmcoY29uc3QgTm9k
ZSogbm9kZSkKLXsKLSAgICBBU1NFUlQobm9kZSk7Ci0gICAgQVNTRVJUKCFub2RlLT5pc1NoYWRv
d1Jvb3QoKSk7Ci0gICAgTm9kZSogbmV4dCA9IHRyYXZlcnNlU2libGluZ09yQmFja1RvSW5zZXJ0
aW9uUG9pbnQobm9kZSwgUmVpZmllZFRyZWVUcmF2ZXJzYWxEaXJlY3Rpb25Gb3J3YXJkKTsKLSAg
ICBBU1NFUlQoIW5leHQgfHwgIW5leHQtPmlzU2hhZG93Um9vdCgpKTsKLSAgICByZXR1cm4gbmV4
dDsKLX0KLQotTm9kZSogUmVpZmllZFRyZWVUcmF2ZXJzYWw6OnByZXZpb3VzU2libGluZyhjb25z
dCBOb2RlKiBub2RlKQotewotICAgIEFTU0VSVChub2RlKTsKLSAgICBBU1NFUlQoIW5vZGUtPmlz
U2hhZG93Um9vdCgpKTsKLSAgICBOb2RlKiBuZXh0ID0gdHJhdmVyc2VTaWJsaW5nT3JCYWNrVG9J
bnNlcnRpb25Qb2ludChub2RlLCBSZWlmaWVkVHJlZVRyYXZlcnNhbERpcmVjdGlvbkJhY2t3YXJk
KTsKLSAgICBBU1NFUlQoIW5leHQgfHwgIW5leHQtPmlzU2hhZG93Um9vdCgpKTsKLSAgICByZXR1
cm4gbmV4dDsKLX0KLQotTm9kZSogUmVpZmllZFRyZWVUcmF2ZXJzYWw6OnRyYXZlcnNlU2libGlu
Z09yQmFja1RvSW5zZXJ0aW9uUG9pbnQoY29uc3QgTm9kZSogbm9kZSwgUmVpZmllZFRyZWVUcmF2
ZXJzYWxEaXJlY3Rpb24gZGlyZWN0aW9uKQotewotICAgIEFTU0VSVChub2RlKTsKLSAgICBTaGFk
b3dUcmVlKiBzaGFkb3dUcmVlID0gc2hhZG93VHJlZU9mUGFyZW50KG5vZGUpOwotICAgIGlmICgh
c2hhZG93VHJlZSkKLSAgICAgICAgcmV0dXJuIHRyYXZlcnNlU2libGluZ0luQ3VycmVudFRyZWUo
bm9kZSwgZGlyZWN0aW9uKTsKLSAgICBIVE1MQ29udGVudFNlbGVjdGlvbiogc2VsZWN0aW9uID0g
c2hhZG93VHJlZS0+c2VsZWN0aW9uRm9yKG5vZGUpOwotICAgIGlmICghc2VsZWN0aW9uKQotICAg
ICAgICByZXR1cm4gdHJhdmVyc2VTaWJsaW5nSW5DdXJyZW50VHJlZShub2RlLCBkaXJlY3Rpb24p
OwotICAgIGlmIChIVE1MQ29udGVudFNlbGVjdGlvbiogbmV4dFNlbGVjdGlvbiA9IChkaXJlY3Rp
b24gPT0gUmVpZmllZFRyZWVUcmF2ZXJzYWxEaXJlY3Rpb25Gb3J3YXJkID8gc2VsZWN0aW9uLT5u
ZXh0KCkgOiBzZWxlY3Rpb24tPnByZXZpb3VzKCkpKQotICAgICAgICByZXR1cm4gdHJhdmVyc2VO
b2RlKG5leHRTZWxlY3Rpb24tPm5vZGUoKSwgZGlyZWN0aW9uKTsKLSAgICByZXR1cm4gdHJhdmVy
c2VTaWJsaW5nT3JCYWNrVG9JbnNlcnRpb25Qb2ludChzZWxlY3Rpb24tPmluc2VydGlvblBvaW50
KCksIGRpcmVjdGlvbik7Ci19Ci0KLU5vZGUqIFJlaWZpZWRUcmVlVHJhdmVyc2FsOjp0cmF2ZXJz
ZVNpYmxpbmdJbkN1cnJlbnRUcmVlKGNvbnN0IE5vZGUqIG5vZGUsIFJlaWZpZWRUcmVlVHJhdmVy
c2FsRGlyZWN0aW9uIGRpcmVjdGlvbikKLXsKLSAgICBBU1NFUlQobm9kZSk7Ci0gICAgaWYgKE5v
ZGUqIG5leHQgPSAoZGlyZWN0aW9uID09IFJlaWZpZWRUcmVlVHJhdmVyc2FsRGlyZWN0aW9uRm9y
d2FyZCA/IG5vZGUtPm5leHRTaWJsaW5nKCkgOiBub2RlLT5wcmV2aW91c1NpYmxpbmcoKSkpCi0g
ICAgICAgIHJldHVybiB0cmF2ZXJzZU5vZGUobmV4dCwgZGlyZWN0aW9uKTsKLSAgICBpZiAoTm9k
ZSogbmV4dCA9IHRyYXZlcnNlU2libGluZ09yQmFja1RvWW91bmdlclNoYWRvd1Jvb3Qobm9kZSwg
ZGlyZWN0aW9uKSkKLSAgICAgICAgcmV0dXJuIG5leHQ7Ci0gICAgcmV0dXJuIGVzY2FwZUZhbGxi
YWNrQ29udGVudEVsZW1lbnQobm9kZSwgZGlyZWN0aW9uKTsKLX0KLQotTm9kZSogUmVpZmllZFRy
ZWVUcmF2ZXJzYWw6OnRyYXZlcnNlU2libGluZ09yQmFja1RvWW91bmdlclNoYWRvd1Jvb3QoY29u
c3QgTm9kZSogbm9kZSwgUmVpZmllZFRyZWVUcmF2ZXJzYWxEaXJlY3Rpb24gZGlyZWN0aW9uKQot
ewotICAgIEFTU0VSVChub2RlKTsKLSAgICBpZiAobm9kZS0+cGFyZW50Tm9kZSgpICYmIG5vZGUt
PnBhcmVudE5vZGUoKS0+aXNTaGFkb3dSb290KCkpIHsKLSAgICAgICAgU2hhZG93Um9vdCogcGFy
ZW50U2hhZG93Um9vdCA9IHRvU2hhZG93Um9vdChub2RlLT5wYXJlbnROb2RlKCkpOwotICAgICAg
ICBpZiAoIXBhcmVudFNoYWRvd1Jvb3QtPmlzWW91bmdlc3QoKSkgewotICAgICAgICAgICAgSW5z
ZXJ0aW9uUG9pbnQqIGFzc2lnbmVkSW5zZXJ0aW9uUG9pbnQgPSBwYXJlbnRTaGFkb3dSb290LT5h
c3NpZ25lZFRvKCk7Ci0gICAgICAgICAgICBBU1NFUlQoYXNzaWduZWRJbnNlcnRpb25Qb2ludCk7
Ci0gICAgICAgICAgICByZXR1cm4gdHJhdmVyc2VTaWJsaW5nSW5DdXJyZW50VHJlZShhc3NpZ25l
ZEluc2VydGlvblBvaW50LCBkaXJlY3Rpb24pOwotICAgICAgICB9Ci0gICAgfQotICAgIHJldHVy
biAwOwotfQotCi1Ob2RlKiBSZWlmaWVkVHJlZVRyYXZlcnNhbDo6ZXNjYXBlRmFsbGJhY2tDb250
ZW50RWxlbWVudChjb25zdCBOb2RlKiBub2RlLCBSZWlmaWVkVHJlZVRyYXZlcnNhbERpcmVjdGlv
biBkaXJlY3Rpb24pCi17Ci0gICAgQVNTRVJUKG5vZGUpOwotICAgIGlmIChub2RlLT5wYXJlbnRO
b2RlKCkgJiYgaXNJbnNlcnRpb25Qb2ludChub2RlLT5wYXJlbnROb2RlKCkpKQotICAgICAgICBy
ZXR1cm4gdHJhdmVyc2VTaWJsaW5nT3JCYWNrVG9JbnNlcnRpb25Qb2ludChub2RlLT5wYXJlbnRO
b2RlKCksIGRpcmVjdGlvbik7Ci0gICAgcmV0dXJuIDA7Ci19Ci0KLU5vZGUqIFJlaWZpZWRUcmVl
VHJhdmVyc2FsOjp0cmF2ZXJzZU5vZGVFc2NhcGluZ0ZhbGxiYWNrQ29udGVudHMoY29uc3QgTm9k
ZSogbm9kZSwgQ3Jvc3NlZFVwcGVyQm91bmRhcnkmIGNyb3NzZWQpCi17Ci0gICAgQVNTRVJUKG5v
ZGUpOwotICAgIGlmIChpc0luc2VydGlvblBvaW50KG5vZGUpKQotICAgICAgICByZXR1cm4gcGFy
ZW50Tm9kZU9yQmFja1RvSW5zZXJ0aW9uUG9pbnQobm9kZSwgY3Jvc3NlZCk7Ci0gICAgY3Jvc3Nl
ZCA9IE5vdENyb3NzZWQ7Ci0gICAgcmV0dXJuIGNvbnN0X2Nhc3Q8Tm9kZSo+KG5vZGUpOwotfQot
Ci1Ob2RlKiBSZWlmaWVkVHJlZVRyYXZlcnNhbDo6cGFyZW50Tm9kZShjb25zdCBOb2RlKiBub2Rl
LCBDcm9zc2VkVXBwZXJCb3VuZGFyeSYgY3Jvc3NlZCkKLXsKLSAgICBBU1NFUlQobm9kZSk7Ci0g
ICAgQVNTRVJUKCFub2RlLT5pc1NoYWRvd1Jvb3QoKSk7Ci0gICAgY3Jvc3NlZCA9IE5vdENyb3Nz
ZWQ7Ci0gICAgLy8gRklYTUU6IEFkZCBhbiBhc3NlcnRpb24gb25jZSBJbnNlcnRpb25Qb2ludCBo
YXZlIGlzQWN0aXZlKCkgZnVuY3Rpb24uCi0gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTgyMDEwCi0gICAgLy8gQVNTRVJUKCFpc0luc2VydGlvblBvaW50KG5v
ZGUpIHx8ICF0b0luc2VydGlvblBvaW50KG5vZGUpLT5pc0FjdGl2ZSgpKTsKLSAgICByZXR1cm4g
cGFyZW50Tm9kZU9yQmFja1RvSW5zZXJ0aW9uUG9pbnQobm9kZSwgY3Jvc3NlZCk7Ci19Ci0KLU5v
ZGUqIFJlaWZpZWRUcmVlVHJhdmVyc2FsOjpwYXJlbnROb2RlKGNvbnN0IE5vZGUqIG5vZGUpCi17
Ci0gICAgQ3Jvc3NlZFVwcGVyQm91bmRhcnkgY3Jvc3NlZDsKLSAgICBOb2RlKiBwYXJlbnQgPSBw
YXJlbnROb2RlKG5vZGUsIGNyb3NzZWQpOwotICAgIFVOVVNFRF9QQVJBTShjcm9zc2VkKTsKLSAg
ICByZXR1cm4gcGFyZW50OwotfQotCi1Ob2RlKiBSZWlmaWVkVHJlZVRyYXZlcnNhbDo6cGFyZW50
Tm9kZVdpdGhvdXRDcm9zc2luZ1VwcGVyQm91bmRhcnkoY29uc3QgTm9kZSogbm9kZSkKLXsKLSAg
ICBBU1NFUlQobm9kZSk7Ci0gICAgQVNTRVJUKCFub2RlLT5pc1NoYWRvd1Jvb3QoKSk7Ci0gICAg
Ly8gRklYTUU6IEFkZCBhbiBhc3NlcnRpb24gb25jZSBJbnNlcnRpb25Qb2ludCBoYXZlIGlzQWN0
aXZlKCkgZnVuY3Rpb24uCi0gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTgyMDEwCi0gICAgLy8gQVNTRVJUKCFpc0luc2VydGlvblBvaW50KG5vZGUpIHx8ICF0
b0luc2VydGlvblBvaW50KG5vZGUpLT5pc0FjdGl2ZSgpKTsKLSAgICBDcm9zc2VkVXBwZXJCb3Vu
ZGFyeSBjcm9zc2VkOwotICAgIE5vZGUqIHBhcmVudCA9IHBhcmVudE5vZGUobm9kZSwgY3Jvc3Nl
ZCk7Ci0gICAgaWYgKGNyb3NzZWQgPT0gQ3Jvc3NlZCkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAg
cmV0dXJuIHBhcmVudDsKLX0KLQotTm9kZSogUmVpZmllZFRyZWVUcmF2ZXJzYWw6OnBhcmVudE5v
ZGVPckJhY2tUb0luc2VydGlvblBvaW50KGNvbnN0IE5vZGUqIG5vZGUsIENyb3NzZWRVcHBlckJv
dW5kYXJ5JiBjcm9zc2VkKQotewotICAgIEFTU0VSVChjcm9zc2VkID09IE5vdENyb3NzZWQpOwot
ICAgIGlmIChTaGFkb3dUcmVlKiBzaGFkb3dUcmVlID0gc2hhZG93VHJlZU9mUGFyZW50KG5vZGUp
KSB7Ci0gICAgICAgIGlmIChIVE1MQ29udGVudFNlbGVjdGlvbiogc2VsZWN0aW9uID0gc2hhZG93
VHJlZS0+c2VsZWN0aW9uRm9yKG5vZGUpKQotICAgICAgICAgICAgcmV0dXJuIHBhcmVudE5vZGVP
ckJhY2tUb0luc2VydGlvblBvaW50KHNlbGVjdGlvbi0+aW5zZXJ0aW9uUG9pbnQoKSwgY3Jvc3Nl
ZCk7Ci0gICAgfQotICAgIHJldHVybiBwYXJlbnROb2RlSW5DdXJyZW50VHJlZShub2RlLCBjcm9z
c2VkKTsKLX0KLQotTm9kZSogUmVpZmllZFRyZWVUcmF2ZXJzYWw6OnBhcmVudE5vZGVJbkN1cnJl
bnRUcmVlKGNvbnN0IE5vZGUqIG5vZGUsIENyb3NzZWRVcHBlckJvdW5kYXJ5JiBjcm9zc2VkKQot
ewotICAgIEFTU0VSVChjcm9zc2VkID09IE5vdENyb3NzZWQpOwotICAgIGlmIChOb2RlKiBwYXJl
bnQgPSBub2RlLT5wYXJlbnROb2RlKCkpIHsKLSAgICAgICAgaWYgKHBhcmVudC0+aXNTaGFkb3dS
b290KCkpCi0gICAgICAgICAgICByZXR1cm4gcGFyZW50Tm9kZUJhY2tUb1lvdW5nZXJTaGFkb3dS
b290T3JIb3N0KHRvU2hhZG93Um9vdChwYXJlbnQpLCBjcm9zc2VkKTsKLSAgICAgICAgcmV0dXJu
IHRyYXZlcnNlTm9kZUVzY2FwaW5nRmFsbGJhY2tDb250ZW50cyhwYXJlbnQsIGNyb3NzZWQpOwot
ICAgIH0KLSAgICByZXR1cm4gMDsKLX0KLQotTm9kZSogUmVpZmllZFRyZWVUcmF2ZXJzYWw6OnBh
cmVudE5vZGVCYWNrVG9Zb3VuZ2VyU2hhZG93Um9vdE9ySG9zdChjb25zdCBTaGFkb3dSb290KiBz
aGFkb3dSb290LCBDcm9zc2VkVXBwZXJCb3VuZGFyeSYgY3Jvc3NlZCkKLXsKLSAgICBBU1NFUlQo
c2hhZG93Um9vdCk7Ci0gICAgQVNTRVJUKGNyb3NzZWQgPT0gTm90Q3Jvc3NlZCk7Ci0gICAgaWYg
KHNoYWRvd1Jvb3QtPmlzWW91bmdlc3QoKSkgewotICAgICAgICBjcm9zc2VkID0gQ3Jvc3NlZDsK
LSAgICAgICAgcmV0dXJuIHNoYWRvd1Jvb3QtPmhvc3QoKTsKLSAgICB9Ci0gICAgSW5zZXJ0aW9u
UG9pbnQqIGFzc2lnbmVkSW5zZXJ0aW9uUG9pbnQgPSBzaGFkb3dSb290LT5hc3NpZ25lZFRvKCk7
Ci0gICAgQVNTRVJUKGFzc2lnbmVkSW5zZXJ0aW9uUG9pbnQpOwotICAgIHJldHVybiBwYXJlbnRO
b2RlT3JCYWNrVG9JbnNlcnRpb25Qb2ludChhc3NpZ25lZEluc2VydGlvblBvaW50LCBjcm9zc2Vk
KTsKLX0KLQotTm9kZSogUmVpZmllZFRyZWVUcmF2ZXJzYWw6OmFkanVzdGVkUGFyZW50Tm9kZShj
b25zdCBOb2RlKiBub2RlKQotewotICAgIGlmIChTaGFkb3dUcmVlKiBzaGFkb3dUcmVlID0gc2hh
ZG93VHJlZU9mUGFyZW50KG5vZGUpKSB7Ci0gICAgICAgIGlmIChIVE1MQ29udGVudFNlbGVjdGlv
biogc2VsZWN0aW9uID0gc2hhZG93VHJlZS0+c2VsZWN0aW9uRm9yKG5vZGUpKQotICAgICAgICAg
ICAgcmV0dXJuIHNlbGVjdGlvbi0+aW5zZXJ0aW9uUG9pbnQoKTsKLSAgICB9Ci0gICAgaWYgKG5v
ZGUtPmlzU2hhZG93Um9vdCgpKSB7Ci0gICAgICAgIGNvbnN0IFNoYWRvd1Jvb3QqIHNoYWRvd1Jv
b3QgPSB0b1NoYWRvd1Jvb3Qobm9kZSk7Ci0gICAgICAgIGlmICghc2hhZG93Um9vdC0+aXNZb3Vu
Z2VzdCgpKSB7Ci0gICAgICAgICAgICBJbnNlcnRpb25Qb2ludCogYXNzaWduZWRJbnNlcnRpb25Q
b2ludCA9IHNoYWRvd1Jvb3QtPmFzc2lnbmVkVG8oKTsKLSAgICAgICAgICAgIEFTU0VSVChhc3Np
Z25lZEluc2VydGlvblBvaW50KTsKLSAgICAgICAgICAgIHJldHVybiBhc3NpZ25lZEluc2VydGlv
blBvaW50OwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiBzaGFkb3dSb290LT5ob3N0KCk7Ci0g
ICAgfQotICAgIHJldHVybiBub2RlLT5wYXJlbnROb2RlKCk7Ci19Ci0KLU5vZGUqIFJlaWZpZWRU
cmVlVHJhdmVyc2FsOjp0cmF2ZXJzZU5leHROb2RlKGNvbnN0IE5vZGUqIG5vZGUpCi17Ci0gICAg
aWYgKE5vZGUqIG5leHQgPSBmaXJzdENoaWxkKG5vZGUpKQotICAgICAgICByZXR1cm4gbmV4dDsK
LSAgICBpZiAoTm9kZSogbmV4dCA9IG5leHRTaWJsaW5nKG5vZGUpKQotICAgICAgICByZXR1cm4g
bmV4dDsKLSAgICBjb25zdCBOb2RlKiBuID0gbm9kZTsKLSAgICB3aGlsZSAobiAmJiAhbmV4dFNp
YmxpbmcobikpCi0gICAgICAgIG4gPSBwYXJlbnROb2RlKG4pOwotICAgIGlmIChuKQotICAgICAg
ICByZXR1cm4gbmV4dFNpYmxpbmcobik7Ci0gICAgcmV0dXJuIDA7Ci19Ci0KLU5vZGUqIFJlaWZp
ZWRUcmVlVHJhdmVyc2FsOjp0cmF2ZXJzZU5leHROb2RlV2l0aG91dENyb3NzaW5nVXBwZXJCb3Vu
ZGFyeShjb25zdCBOb2RlKiBub2RlKQotewotICAgIGlmICghaXNTaGFkb3dIb3N0KG5vZGUpKSB7
Ci0gICAgICAgIGlmIChOb2RlKiBuZXh0ID0gdHJhdmVyc2VMaWdodENoaWxkcmVuKG5vZGUsIFJl
aWZpZWRUcmVlVHJhdmVyc2FsRGlyZWN0aW9uRm9yd2FyZCkpCi0gICAgICAgICAgICByZXR1cm4g
bmV4dDsKLSAgICB9Ci0gICAgaWYgKE5vZGUqIG5leHQgPSBuZXh0U2libGluZyhub2RlKSkKLSAg
ICAgICAgcmV0dXJuIG5leHQ7Ci0gICAgY29uc3QgTm9kZSogbiA9IG5vZGU7Ci0gICAgd2hpbGUg
KG4gJiYgIW5leHRTaWJsaW5nKG4pKQotICAgICAgICBuID0gcGFyZW50Tm9kZVdpdGhvdXRDcm9z
c2luZ1VwcGVyQm91bmRhcnkobik7Ci0gICAgaWYgKG4pCi0gICAgICAgIHJldHVybiBuZXh0U2li
bGluZyhuKTsKLSAgICByZXR1cm4gMDsKLX0KLQotTm9kZSogUmVpZmllZFRyZWVUcmF2ZXJzYWw6
OnRyYXZlcnNlUHJldmlvdXNOb2RlKGNvbnN0IE5vZGUqIG5vZGUpCi17Ci0gICAgaWYgKE5vZGUq
IG4gPSBwcmV2aW91c1NpYmxpbmcobm9kZSkpIHsKLSAgICAgICAgd2hpbGUgKE5vZGUqIGNoaWxk
ID0gUmVpZmllZFRyZWVUcmF2ZXJzYWw6Omxhc3RDaGlsZChuKSkKLSAgICAgICAgICAgIG4gPSBj
aGlsZDsKLSAgICAgICAgcmV0dXJuIG47Ci0gICAgfQotICAgIHJldHVybiBwYXJlbnROb2RlKG5v
ZGUpOwotfQotCi1Ob2RlKiBSZWlmaWVkVHJlZVRyYXZlcnNhbDo6dHJhdmVyc2VQcmV2aW91c05v
ZGVXaXRob3V0Q3Jvc3NpbmdVcHBlckJvdW5kYXJ5KGNvbnN0IE5vZGUqIG5vZGUpCi17Ci0gICAg
aWYgKE5vZGUqIG4gPSBwcmV2aW91c1NpYmxpbmcobm9kZSkpIHsKLSAgICAgICAgd2hpbGUgKCFp
c1NoYWRvd0hvc3QobikpIHsKLSAgICAgICAgICAgIGlmIChOb2RlKiBjaGlsZCA9IFJlaWZpZWRU
cmVlVHJhdmVyc2FsOjp0cmF2ZXJzZUxpZ2h0Q2hpbGRyZW4obiwgUmVpZmllZFRyZWVUcmF2ZXJz
YWxEaXJlY3Rpb25CYWNrd2FyZCkpCi0gICAgICAgICAgICAgICAgbiA9IGNoaWxkOwotICAgICAg
ICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIHJl
dHVybiBuOwotICAgIH0KLSAgICByZXR1cm4gcGFyZW50Tm9kZVdpdGhvdXRDcm9zc2luZ1VwcGVy
Qm91bmRhcnkobm9kZSk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vUmVpZmllZFRyZWVUcmF2ZXJzYWwuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9S
ZWlmaWVkVHJlZVRyYXZlcnNhbC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMTE5
MzczNWU1ZDg1NjI0MDhiN2Y5MDA2ODI2MDJjZTAwMjVkMGU5Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9SZWlmaWVkVHJl
ZVRyYXZlcnNhbC5oCisrKyAvZGV2L251bGwKQEAgLTEsOTEgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
Ci0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgUmVp
ZmllZFRyZWVUcmF2ZXJzYWxfaAotI2RlZmluZSBSZWlmaWVkVHJlZVRyYXZlcnNhbF9oCi0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgTm9kZTsKLWNsYXNzIFNoYWRvd1Jvb3Q7Ci0KLWVu
dW0gUmVpZmllZFRyZWVUcmF2ZXJzYWxEaXJlY3Rpb24gewotICAgIFJlaWZpZWRUcmVlVHJhdmVy
c2FsRGlyZWN0aW9uRm9yd2FyZCwKLSAgICBSZWlmaWVkVHJlZVRyYXZlcnNhbERpcmVjdGlvbkJh
Y2t3YXJkCi19OwotCi0vLyBGSVhNRTogTWFrZSBzb21lIGZ1bmN0aW9ucyBpbmxpbmUgdG8gb3B0
aW1pc2UgdGhlIHBlcmZvcm1hbmNlLgotLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTgyMDE5Ci1jbGFzcyBSZWlmaWVkVHJlZVRyYXZlcnNhbCB7Ci1wdWJsaWM6Ci0g
ICAgZW51bSBDcm9zc2VkVXBwZXJCb3VuZGFyeSB7Ci0gICAgICAgIE5vdENyb3NzZWQsCi0gICAg
ICAgIENyb3NzZWQsCi0gICAgfTsKLQotICAgIHN0YXRpYyBOb2RlKiBmaXJzdENoaWxkKGNvbnN0
IE5vZGUqKTsKLSAgICBzdGF0aWMgTm9kZSogbGFzdENoaWxkKGNvbnN0IE5vZGUqKTsKLSAgICBz
dGF0aWMgTm9kZSogbGFzdENoaWxkV2l0aG91dENyb3NzaW5nVXBwZXJCb3VuZGFyeShjb25zdCBO
b2RlKik7Ci0KLSAgICBzdGF0aWMgTm9kZSogbmV4dFNpYmxpbmcoY29uc3QgTm9kZSopOwotICAg
IHN0YXRpYyBOb2RlKiBwcmV2aW91c1NpYmxpbmcoY29uc3QgTm9kZSopOwotCi0gICAgc3RhdGlj
IE5vZGUqIHBhcmVudE5vZGUoY29uc3QgTm9kZSosIENyb3NzZWRVcHBlckJvdW5kYXJ5Jik7Ci0g
ICAgc3RhdGljIE5vZGUqIHBhcmVudE5vZGUoY29uc3QgTm9kZSopOwotICAgIHN0YXRpYyBOb2Rl
KiBwYXJlbnROb2RlV2l0aG91dENyb3NzaW5nVXBwZXJCb3VuZGFyeShjb25zdCBOb2RlKik7Ci0K
LSAgICBzdGF0aWMgTm9kZSogdHJhdmVyc2VOZXh0Tm9kZShjb25zdCBOb2RlKik7Ci0gICAgc3Rh
dGljIE5vZGUqIHRyYXZlcnNlUHJldmlvdXNOb2RlKGNvbnN0IE5vZGUqKTsKLQotICAgIC8vIEZJ
WE1FOiBBbiAnYWRqdXN0ZWQnIGlzIG5vdCBnb29kIG5hbWUgZm9yIGdlbmVyYWwgdXNlIGNhc2Uu
IFJlbmFtZSB0aGlzLgotICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04MjAyMgotICAgIC8vIFRoaXMgbWF5IHJldHVybiBTaGFkb3dSb290IG9yIEluc2VydGlv
blBvaW50LgotICAgIHN0YXRpYyBOb2RlKiBhZGp1c3RlZFBhcmVudE5vZGUoY29uc3QgTm9kZSop
OwotCi0gICAgc3RhdGljIE5vZGUqIHRyYXZlcnNlTmV4dE5vZGVXaXRob3V0Q3Jvc3NpbmdVcHBl
ckJvdW5kYXJ5KGNvbnN0IE5vZGUqKTsKLSAgICBzdGF0aWMgTm9kZSogdHJhdmVyc2VQcmV2aW91
c05vZGVXaXRob3V0Q3Jvc3NpbmdVcHBlckJvdW5kYXJ5KGNvbnN0IE5vZGUqKTsKLQotcHJpdmF0
ZToKLSAgICBzdGF0aWMgTm9kZSogdHJhdmVyc2VDaGlsZChjb25zdCBOb2RlKiwgUmVpZmllZFRy
ZWVUcmF2ZXJzYWxEaXJlY3Rpb24pOwotICAgIHN0YXRpYyBOb2RlKiB0cmF2ZXJzZU5vZGUoY29u
c3QgTm9kZSosIFJlaWZpZWRUcmVlVHJhdmVyc2FsRGlyZWN0aW9uKTsKLSAgICBzdGF0aWMgTm9k
ZSogdHJhdmVyc2VMaWdodENoaWxkcmVuKGNvbnN0IE5vZGUqLCBSZWlmaWVkVHJlZVRyYXZlcnNh
bERpcmVjdGlvbik7Ci0KLSAgICBzdGF0aWMgTm9kZSogdHJhdmVyc2VTaWJsaW5nT3JCYWNrVG9J
bnNlcnRpb25Qb2ludChjb25zdCBOb2RlKiwgUmVpZmllZFRyZWVUcmF2ZXJzYWxEaXJlY3Rpb24p
OwotICAgIHN0YXRpYyBOb2RlKiB0cmF2ZXJzZVNpYmxpbmdJbkN1cnJlbnRUcmVlKGNvbnN0IE5v
ZGUqLCBSZWlmaWVkVHJlZVRyYXZlcnNhbERpcmVjdGlvbik7Ci0KLSAgICBzdGF0aWMgTm9kZSog
dHJhdmVyc2VTaWJsaW5nT3JCYWNrVG9Zb3VuZ2VyU2hhZG93Um9vdChjb25zdCBOb2RlKiwgUmVp
ZmllZFRyZWVUcmF2ZXJzYWxEaXJlY3Rpb24pOwotICAgIHN0YXRpYyBOb2RlKiBlc2NhcGVGYWxs
YmFja0NvbnRlbnRFbGVtZW50KGNvbnN0IE5vZGUqLCBSZWlmaWVkVHJlZVRyYXZlcnNhbERpcmVj
dGlvbik7Ci0KLSAgICBzdGF0aWMgTm9kZSogdHJhdmVyc2VOb2RlRXNjYXBpbmdGYWxsYmFja0Nv
bnRlbnRzKGNvbnN0IE5vZGUqLCBDcm9zc2VkVXBwZXJCb3VuZGFyeSYpOwotCi0gICAgc3RhdGlj
IE5vZGUqIHBhcmVudE5vZGVPckJhY2tUb0luc2VydGlvblBvaW50KGNvbnN0IE5vZGUqLCBDcm9z
c2VkVXBwZXJCb3VuZGFyeSYpOwotICAgIHN0YXRpYyBOb2RlKiBwYXJlbnROb2RlSW5DdXJyZW50
VHJlZShjb25zdCBOb2RlKiwgQ3Jvc3NlZFVwcGVyQm91bmRhcnkmKTsKLSAgICBzdGF0aWMgTm9k
ZSogcGFyZW50Tm9kZUJhY2tUb1lvdW5nZXJTaGFkb3dSb290T3JIb3N0KGNvbnN0IFNoYWRvd1Jv
b3QqLCBDcm9zc2VkVXBwZXJCb3VuZGFyeSYpOwotfTsKLQotfSAvLyBuYW1lc3BhY2UKLQotI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggN2IyMWI1NDM4OTI5MDA0
MDIwODNkMWE2ZDg5MWU1ZjYzOTIxYTk3ZS4uMmFjOWVkZGE1ZGU2NzA5OTBlMWU3MjhkZjg5NGFj
YTgzNGRmYWJlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtNTEsNyAr
NTEsNiBAQAogI2luY2x1ZGUgIk5vZGVSZW5kZXJpbmdDb250ZXh0LmgiCiAjaW5jbHVkZSAiUGFn
ZS5oIgogI2luY2x1ZGUgIlJhbmdlLmgiCi0jaW5jbHVkZSAiUmVpZmllZFRyZWVUcmF2ZXJzYWwu
aCIKICNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKICNpbmNsdWRlICJSZW5kZXJUcmVlQXNUZXh0
LmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKQEAgLTI0Myw1MSArMjQyLDYgQEAgTm9kZSogSW50
ZXJuYWxzOjpwcmV2aW91c05vZGVCeVdhbGtlcihOb2RlKiBub2RlLCBFeGNlcHRpb25Db2RlJiBl
YykKICAgICByZXR1cm4gd2Fsa2VyLmdldCgpOwogfQogCi1Ob2RlKiBJbnRlcm5hbHM6Om5leHRT
aWJsaW5nSW5SZWlmaWVkVHJlZShOb2RlKiBub2RlLCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAg
ICBpZiAoIW5vZGUpIHsKLSAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7Ci0gICAgICAg
IHJldHVybiAwOwotICAgIH0KLSAgICByZXR1cm4gUmVpZmllZFRyZWVUcmF2ZXJzYWw6Om5leHRT
aWJsaW5nKG5vZGUpOwotfQotCi1Ob2RlKiBJbnRlcm5hbHM6OmZpcnN0Q2hpbGRJblJlaWZpZWRU
cmVlKE5vZGUqIG5vZGUsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIGlmICghbm9kZSkgewot
ICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAg
fQotICAgIHJldHVybiBSZWlmaWVkVHJlZVRyYXZlcnNhbDo6Zmlyc3RDaGlsZChub2RlKTsKLX0K
LQotTm9kZSogSW50ZXJuYWxzOjpsYXN0Q2hpbGRJblJlaWZpZWRUcmVlKE5vZGUqIG5vZGUsIEV4
Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIGlmICghbm9kZSkgewotICAgICAgICBlYyA9IElOVkFM
SURfQUNDRVNTX0VSUjsKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQotICAgIHJldHVybiBSZWlm
aWVkVHJlZVRyYXZlcnNhbDo6bGFzdENoaWxkKG5vZGUpOwotfQotCi1Ob2RlKiBJbnRlcm5hbHM6
OnRyYXZlcnNlTmV4dE5vZGVJblJlaWZpZWRUcmVlKE5vZGUqIG5vZGUsIEV4Y2VwdGlvbkNvZGUm
IGVjKQotewotICAgIGlmICghbm9kZSkgewotICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VS
UjsKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQotICAgIHJldHVybiBSZWlmaWVkVHJlZVRyYXZl
cnNhbDo6dHJhdmVyc2VOZXh0Tm9kZShub2RlKTsKLX0KLQotTm9kZSogSW50ZXJuYWxzOjp0cmF2
ZXJzZVByZXZpb3VzTm9kZUluUmVpZmllZFRyZWUoTm9kZSogbm9kZSwgRXhjZXB0aW9uQ29kZSYg
ZWMpCi17Ci0gICAgaWYgKCFub2RlKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJS
OwotICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci0gICAgcmV0dXJuIFJlaWZpZWRUcmVlVHJhdmVy
c2FsOjp0cmF2ZXJzZVByZXZpb3VzTm9kZShub2RlKTsKLX0KLQogU3RyaW5nIEludGVybmFsczo6
ZWxlbWVudFJlbmRlclRyZWVBc1RleHQoRWxlbWVudCogZWxlbWVudCwgRXhjZXB0aW9uQ29kZSYg
ZWMpCiB7CiAgICAgaWYgKCFlbGVtZW50KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApp
bmRleCAzMzBkNWMwOGMwNTBjMWUyY2NiYmRkNTkxZDU3ZDkxMzc5NWJlN2ZhLi5hM2Y3N2NhN2Vh
NWUzNGZlNjdlYWFlY2QwYzM1OTgxZjVmZGJjY2UyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmgKQEAgLTkxLDEyICs5MSw2IEBAIHB1YmxpYzoKICAgICBOb2RlKiBuZXh0Tm9kZUJ5V2Fs
a2VyKE5vZGUqLCBFeGNlcHRpb25Db2RlJik7CiAgICAgTm9kZSogcHJldmlvdXNOb2RlQnlXYWxr
ZXIoTm9kZSosIEV4Y2VwdGlvbkNvZGUmKTsKIAotICAgIE5vZGUqIG5leHRTaWJsaW5nSW5SZWlm
aWVkVHJlZShOb2RlKiwgRXhjZXB0aW9uQ29kZSYpOwotICAgIE5vZGUqIGZpcnN0Q2hpbGRJblJl
aWZpZWRUcmVlKE5vZGUqLCBFeGNlcHRpb25Db2RlJik7Ci0gICAgTm9kZSogbGFzdENoaWxkSW5S
ZWlmaWVkVHJlZShOb2RlKiwgRXhjZXB0aW9uQ29kZSYpOwotICAgIE5vZGUqIHRyYXZlcnNlTmV4
dE5vZGVJblJlaWZpZWRUcmVlKE5vZGUqLCBFeGNlcHRpb25Db2RlJik7Ci0gICAgTm9kZSogdHJh
dmVyc2VQcmV2aW91c05vZGVJblJlaWZpZWRUcmVlKE5vZGUqLCBFeGNlcHRpb25Db2RlJik7Ci0K
ICNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKICAgICB2b2lkIHNlbGVjdENvbG9ySW5Db2xv
ckNob29zZXIoRWxlbWVudCosIGNvbnN0IFN0cmluZyYgY29sb3JWYWx1ZSk7CiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCBkZDU0ZmEyZGU2ZWYwZTFmZWQyNjcz
YjNkOGE3YTIyOGZjNThiNmE2Li40MDE3N2ExYWY2NzMwNmVkMmU0MTA1MWVjMTE1ZWFjZTE4Y2M0
NjkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC02MSwxMiArNjEsNiBA
QCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgTm9kZSBuZXh0Tm9kZUJ5V2Fsa2VyKGluIE5vZGUg
bm9kZSkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIE5vZGUgcHJldmlvdXNOb2RlQnlX
YWxrZXIoaW4gTm9kZSBub2RlKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIAotICAgICAgICBOb2Rl
IG5leHRTaWJsaW5nSW5SZWlmaWVkVHJlZShpbiBOb2RlIG5vZGUpIHJhaXNlcyhET01FeGNlcHRp
b24pOwotICAgICAgICBOb2RlIGZpcnN0Q2hpbGRJblJlaWZpZWRUcmVlKGluIE5vZGUgbm9kZSkg
cmFpc2VzKERPTUV4Y2VwdGlvbik7Ci0gICAgICAgIE5vZGUgbGFzdENoaWxkSW5SZWlmaWVkVHJl
ZShpbiBOb2RlIG5vZGUpIHJhaXNlcyhET01FeGNlcHRpb24pOwotICAgICAgICBOb2RlIHRyYXZl
cnNlTmV4dE5vZGVJblJlaWZpZWRUcmVlKGluIE5vZGUgbm9kZSkgcmFpc2VzKERPTUV4Y2VwdGlv
bik7Ci0gICAgICAgIE5vZGUgdHJhdmVyc2VQcmV2aW91c05vZGVJblJlaWZpZWRUcmVlKGluIE5v
ZGUgbm9kZSkgcmFpc2VzKERPTUV4Y2VwdGlvbik7Ci0KICAgICAgICAgYm9vbGVhbiBhdHRhY2hl
ZChpbiBOb2RlIG5vZGUpIHJhaXNlcyhET01FeGNlcHRpb24pOwogCiAjaWYgZGVmaW5lZChFTkFC
TEVfSU5QVVRfVFlQRV9DT0xPUikgJiYgRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZiBiL1NvdXJjZS9XZWJLaXQyL3dpbi9X
ZWJLaXQyLmRlZgppbmRleCBmMGI3NmNhMWUzYWUzNDZhY2Q2NWUzMTY2ZmI0ZmZkMWZlNmVlODA2
Li43OTZkYjQzYjlhNTViM2IxOGZmN2FkZGNhODQzNzkyN2Y0ZTUxZWViIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKKysrIGIvU291cmNlL1dlYktpdDIvd2luL1dl
YktpdDIuZGVmCkBAIC0xNjgsNyArMTY4LDYgQEAgRVhQT1JUUwogICAgICAgICA/ZXF1YWxJZ25v
cmluZ0Nhc2VAV1RGQEBZQV9OUEFWU3RyaW5nSW1wbEAxQFBCRUBaCiAgICAgICAgID9leHRlcm5h
bFJlcHJlc2VudGF0aW9uQFdlYkNvcmVAQFlBP0FWU3RyaW5nQFdURkBAUEFWRWxlbWVudEAxQElA
WgogICAgICAgICA/ZmluZEBTdHJpbmdJbXBsQFdURkBAUUFFSVBBVjEyQElAWgotICAgICAgICA/
Zmlyc3RDaGlsZEBSZWlmaWVkVHJlZVRyYXZlcnNhbEBXZWJDb3JlQEBTQVBBVk5vZGVAMkBQQlYz
MkBAWgogICAgICAgICA/ZnJhbWVEZXN0cm95ZWRARnJhbWVEZXN0cnVjdGlvbk9ic2VydmVyQFdl
YkNvcmVAQFVBRVhYWgogICAgICAgICA/ZnJvbVVURjhXaXRoTGF0aW4xRmFsbGJhY2tAU3RyaW5n
QFdURkBAU0E/QVYxMkBQQkVJQFoKICAgICAgICAgP2dldENhY2hlZERPTVN0cnVjdHVyZUBXZWJD
b3JlQEBZQVBBVlN0cnVjdHVyZUBKU0NAQFBBVkpTRE9NR2xvYmFsT2JqZWN0QDFAUEJVQ2xhc3NJ
bmZvQDNAQFoKQEAgLTE4MSw3ICsxODAsNiBAQCBFWFBPUlRTCiAgICAgICAgID9pc1ByZWxvYWRl
ZEBDYWNoZWRSZXNvdXJjZUxvYWRlckBXZWJDb3JlQEBRQkVfTkFCVlN0cmluZ0BXVEZAQEBaCiAg
ICAgICAgID9qc1N0cmluZ1Nsb3dDYXNlQFdlYkNvcmVAQFlBP0FWSlNWYWx1ZUBKU0NAQFBBVkV4
ZWNTdGF0ZUAzQEFBVj8kSGFzaE1hcEBQQVZTdHJpbmdJbXBsQFdURkBAVj8kV2Vha0BWSlNTdHJp
bmdASlNDQEBASlNDQEBVU3RyaW5nSGFzaEAyQFU/JEhhc2hUcmFpdHNAUEFWU3RyaW5nSW1wbEBX
VEZAQEAyQFU/JEhhc2hUcmFpdHNAVj8kV2Vha0BWSlNTdHJpbmdASlNDQEBASlNDQEBAMkBAV1RG
QEBQQVZTdHJpbmdJbXBsQDZAQFoKICAgICAgICAgP2xhc3RDaGFuZ2VXYXNVc2VyRWRpdEBIVE1M
VGV4dEZvcm1Db250cm9sRWxlbWVudEBXZWJDb3JlQEBRQkVfTlhaCi0gICAgICAgID9sYXN0Q2hp
bGRAUmVpZmllZFRyZWVUcmF2ZXJzYWxAV2ViQ29yZUBAU0FQQVZOb2RlQDJAUEJWMzJAQFoKICAg
ICAgICAgP21hcmtlcnNGb3JARG9jdW1lbnRNYXJrZXJDb250cm9sbGVyQFdlYkNvcmVAQFFBRT9B
Vj8kVmVjdG9yQFBBVkRvY3VtZW50TWFya2VyQFdlYkNvcmVAQCQwQUBAV1RGQEBQQVZOb2RlQDJA
Vk1hcmtlclR5cGVzQERvY3VtZW50TWFya2VyQDJAQFoKICAgICAgICAgP25leHRTaWJsaW5nQENv
bXBvc2VkU2hhZG93VHJlZVdhbGtlckBXZWJDb3JlQEBRQUVYWFoKICAgICAgICAgPz8wQ29tcG9z
ZWRTaGFkb3dUcmVlV2Fsa2VyQFdlYkNvcmVAQFFBRUBQQlZOb2RlQDFAVzRQb2xpY3lAMDFAQFoK
QEAgLTE4OSw3ICsxODcsNiBAQCBFWFBPUlRTCiAgICAgICAgID9sYXN0Q2hpbGRAQ29tcG9zZWRT
aGFkb3dUcmVlV2Fsa2VyQFdlYkNvcmVAQFFBRVhYWgogICAgICAgICA/bmV4dEBDb21wb3NlZFNo
YWRvd1RyZWVXYWxrZXJAV2ViQ29yZUBAUUFFWFhaCiAgICAgICAgID9wcmV2aW91c0BDb21wb3Nl
ZFNoYWRvd1RyZWVXYWxrZXJAV2ViQ29yZUBAUUFFWFhaCi0gICAgICAgID9uZXh0U2libGluZ0BS
ZWlmaWVkVHJlZVRyYXZlcnNhbEBXZWJDb3JlQEBTQVBBVk5vZGVAMkBQQlYzMkBAWgogICAgICAg
ICA/bnVtYmVyQFN0cmluZ0BXVEZAQFNBP0FWMTJASUBaCiAgICAgICAgID9udW1iZXJAU3RyaW5n
QFdURkBAU0E/QVYxMkBIQFoKICAgICAgICAgP29ic2VydmVGcmFtZUBGcmFtZURlc3RydWN0aW9u
T2JzZXJ2ZXJAV2ViQ29yZUBASUFFWFBBVkZyYW1lQDJAQFoKQEAgLTIzNiw4ICsyMzMsNiBAQCBF
WFBPUlRTCiAgICAgICAgID90b0pTQFdlYkNvcmVAQFlBP0FWSlNWYWx1ZUBKU0NAQFBBVkV4ZWNT
dGF0ZUAzQFBBVkpTRE9NR2xvYmFsT2JqZWN0QDFAUEFWUmFuZ2VAMUBAWgogICAgICAgICA/dG9K
U0BXZWJDb3JlQEBZQT9BVkpTVmFsdWVASlNDQEBQQVZFeGVjU3RhdGVAM0BQQVZKU0RPTUdsb2Jh
bE9iamVjdEAxQFBBVk5vZGVMaXN0QDFAQFoKICAgICAgICAgP3RvUmFuZ2VAV2ViQ29yZUBAWUFQ
QVZSYW5nZUAxQFZKU1ZhbHVlQEpTQ0BAQFoKLSAgICAgICAgP3RyYXZlcnNlTmV4dE5vZGVAUmVp
ZmllZFRyZWVUcmF2ZXJzYWxAV2ViQ29yZUBAU0FQQVZOb2RlQDJAUEJWMzJAQFoKLSAgICAgICAg
P3RyYXZlcnNlUHJldmlvdXNOb2RlQFJlaWZpZWRUcmVlVHJhdmVyc2FsQFdlYkNvcmVAQFNBUEFW
Tm9kZUAyQFBCVjMyQEBaCiAgICAgICAgID91cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVz
aGVldHNARG9jdW1lbnRAV2ViQ29yZUBAUUFFWFhaCiAgICAgICAgID91c2VyUHJlZmVycmVkTGFu
Z3VhZ2VzQFdlYkNvcmVAQFlBP0FWPyRWZWN0b3JAVlN0cmluZ0BXVEZAQCQwQUBAV1RGQEBYWgog
ICAgICAgICA/dXRmOEBTdHJpbmdAV1RGQEBRQkU/QVZDU3RyaW5nQDJAX05AWgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVmIGIvU291cmNlL1dlYktpdDIv
d2luL1dlYktpdDJDRkxpdGUuZGVmCmluZGV4IGRkNmIyY2M5N2QzOTQ1ZmU0NzVlOTUxNzExOGI4
ZjZhZjJhODY4MWEuLjdiZmFiNDY4MTFkZDk4MGI2ZDc4N2I0YzcyM2UwODU3Y2ZjMzM1ZjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZgorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYKQEAgLTE2MSw3ICsxNjEsNiBAQCBFWFBP
UlRTCiAgICAgICAgID9lcXVhbElnbm9yaW5nQ2FzZUBXVEZAQFlBX05QQVZTdHJpbmdJbXBsQDFA
UEJFQFoKICAgICAgICAgP2V4dGVybmFsUmVwcmVzZW50YXRpb25AV2ViQ29yZUBAWUE/QVZTdHJp
bmdAV1RGQEBQQVZFbGVtZW50QDFASUBaCiAgICAgICAgID9maW5kQFN0cmluZ0ltcGxAV1RGQEBR
QUVJUEFWMTJASUBaCi0gICAgICAgID9maXJzdENoaWxkQFJlaWZpZWRUcmVlVHJhdmVyc2FsQFdl
YkNvcmVAQFNBUEFWTm9kZUAyQFBCVjMyQEBaCiAgICAgICAgID9mcmFtZURlc3Ryb3llZEBGcmFt
ZURlc3RydWN0aW9uT2JzZXJ2ZXJAV2ViQ29yZUBAVUFFWFhaCiAgICAgICAgID9mcm9tVVRGOFdp
dGhMYXRpbjFGYWxsYmFja0BTdHJpbmdAV1RGQEBTQT9BVjEyQFBCRUlAWgogICAgICAgICA/Z2V0
Q2FjaGVkRE9NU3RydWN0dXJlQFdlYkNvcmVAQFlBUEFWU3RydWN0dXJlQEpTQ0BAUEFWSlNET01H
bG9iYWxPYmplY3RAMUBQQlVDbGFzc0luZm9AM0BAWgpAQCAtMTc0LDcgKzE3Myw2IEBAIEVYUE9S
VFMKICAgICAgICAgP2lzUHJlbG9hZGVkQENhY2hlZFJlc291cmNlTG9hZGVyQFdlYkNvcmVAQFFC
RV9OQUJWU3RyaW5nQFdURkBAQFoKICAgICAgICAgP2pzU3RyaW5nU2xvd0Nhc2VAV2ViQ29yZUBA
WUE/QVZKU1ZhbHVlQEpTQ0BAUEFWRXhlY1N0YXRlQDNAQUFWPyRIYXNoTWFwQFBBVlN0cmluZ0lt
cGxAV1RGQEBWPyRXZWFrQFZKU1N0cmluZ0BKU0NAQEBKU0NAQFVTdHJpbmdIYXNoQDJAVT8kSGFz
aFRyYWl0c0BQQVZTdHJpbmdJbXBsQFdURkBAQDJAVT8kSGFzaFRyYWl0c0BWPyRXZWFrQFZKU1N0
cmluZ0BKU0NAQEBKU0NAQEAyQEBXVEZAQFBBVlN0cmluZ0ltcGxANkBAWgogICAgICAgICA/bGFz
dENoYW5nZVdhc1VzZXJFZGl0QEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50QFdlYkNvcmVAQFFC
RV9OWFoKLSAgICAgICAgP2xhc3RDaGlsZEBSZWlmaWVkVHJlZVRyYXZlcnNhbEBXZWJDb3JlQEBT
QVBBVk5vZGVAMkBQQlYzMkBAWgogICAgICAgICA/bWFya2Vyc0ZvckBEb2N1bWVudE1hcmtlckNv
bnRyb2xsZXJAV2ViQ29yZUBAUUFFP0FWPyRWZWN0b3JAUEFWRG9jdW1lbnRNYXJrZXJAV2ViQ29y
ZUBAJDBBQEBXVEZAQFBBVk5vZGVAMkBWTWFya2VyVHlwZXNARG9jdW1lbnRNYXJrZXJAMkBAWgog
ICAgICAgICA/bnVtYmVyQFN0cmluZ0BXVEZAQFNBP0FWMTJASUBaCiAgICAgICAgID9udW1iZXJA
U3RyaW5nQFdURkBAU0E/QVYxMkBIQFoKQEAgLTE4Niw3ICsxODQsNiBAQCBFWFBPUlRTCiAgICAg
ICAgID9sYXN0Q2hpbGRAQ29tcG9zZWRTaGFkb3dUcmVlV2Fsa2VyQFdlYkNvcmVAQFFBRVhYWgog
ICAgICAgICA/bmV4dEBDb21wb3NlZFNoYWRvd1RyZWVXYWxrZXJAV2ViQ29yZUBAUUFFWFhaCiAg
ICAgICAgID9wcmV2aW91c0BDb21wb3NlZFNoYWRvd1RyZWVXYWxrZXJAV2ViQ29yZUBAUUFFWFha
Ci0gICAgICAgID9uZXh0U2libGluZ0BSZWlmaWVkVHJlZVRyYXZlcnNhbEBXZWJDb3JlQEBTQVBB
Vk5vZGVAMkBQQlYzMkBAWgogICAgICAgICA/bnVtYmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJl
bkBOb2RlQFdlYkNvcmVAQFFCRUlYWgogICAgICAgICA/cGFnZUBEb2N1bWVudEBXZWJDb3JlQEBR
QkVQQVZQYWdlQDJAWFoKICAgICAgICAgP3BhaW50Q29udHJvbFRpbnRzQEZyYW1lVmlld0BXZWJD
b3JlQEBBQUVYWFoKQEAgLTIyOSw4ICsyMjYsNiBAQCBFWFBPUlRTCiAgICAgICAgID90b0pTQFdl
YkNvcmVAQFlBP0FWSlNWYWx1ZUBKU0NAQFBBVkV4ZWNTdGF0ZUAzQFBBVkpTRE9NR2xvYmFsT2Jq
ZWN0QDFAUEFWUmFuZ2VAMUBAWgogICAgICAgICA/dG9KU0BXZWJDb3JlQEBZQT9BVkpTVmFsdWVA
SlNDQEBQQVZFeGVjU3RhdGVAM0BQQVZKU0RPTUdsb2JhbE9iamVjdEAxQFBBVk5vZGVMaXN0QDFA
QFoKICAgICAgICAgP3RvUmFuZ2VAV2ViQ29yZUBAWUFQQVZSYW5nZUAxQFZKU1ZhbHVlQEpTQ0BA
QFoKLSAgICAgICAgP3RyYXZlcnNlTmV4dE5vZGVAUmVpZmllZFRyZWVUcmF2ZXJzYWxAV2ViQ29y
ZUBAU0FQQVZOb2RlQDJAUEJWMzJAQFoKLSAgICAgICAgP3RyYXZlcnNlUHJldmlvdXNOb2RlQFJl
aWZpZWRUcmVlVHJhdmVyc2FsQFdlYkNvcmVAQFNBUEFWTm9kZUAyQFBCVjMyQEBaCiAgICAgICAg
ID91cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHNARG9jdW1lbnRAV2ViQ29yZUBA
UUFFWFhaCiAgICAgICAgID91c2VyUHJlZmVycmVkTGFuZ3VhZ2VzQFdlYkNvcmVAQFlBP0FWPyRW
ZWN0b3JAVlN0cmluZ0BXVEZAQCQwQUBAV1RGQEBYWgogICAgICAgICA/dXRmOEBTdHJpbmdAV1RG
QEBRQkU/QVZDU3RyaW5nQDJAX05AWgpkaWZmIC0tZ2l0IGEvU291cmNlL2F1dG90b29scy9zeW1i
b2xzLmZpbHRlciBiL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKaW5kZXggZGY5NDMw
OTUyYmUwYzViZGY0N2NjNTA5MzgxN2FhNWFkOTQ0MjZhOS4uMzk4ZWU0YTQ3MGQ5ZGJiYTg5NjY1
NjVjZDk0ZTVjODFjMjU4Mzg5MiAxMDA2NDQKLS0tIGEvU291cmNlL2F1dG90b29scy9zeW1ib2xz
LmZpbHRlcgorKysgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCkBAIC02NCwxMSAr
NjQsNiBAQCBfWk43V2ViQ29yZTE4SFRNTENvbnRlbnRFbGVtZW50NmNyZWF0ZUVQTlNfOERvY3Vt
ZW50RTsKIF9aTjdXZWJDb3JlMTlJbnNwZWN0b3JDb250cm9sbGVyMzlzZXRSZXNvdXJjZXNEYXRh
U2l6ZUxpbWl0c0Zyb21JbnRlcm5hbHNFaWk7CiBfWk43V2ViQ29yZTIwTm9kZVJlbmRlcmluZ0Nv
bnRleHRDMUVQTlNfNE5vZGVFOwogX1pON1dlYkNvcmUyME5vZGVSZW5kZXJpbmdDb250ZXh0RDFF
djsKLV9aTjdXZWJDb3JlMjBSZWlmaWVkVHJlZVRyYXZlcnNhbDExbmV4dFNpYmxpbmdFUEtOU180
Tm9kZUU7Ci1fWk43V2ViQ29yZTIwUmVpZmllZFRyZWVUcmF2ZXJzYWwyMHRyYXZlcnNlUHJldmlv
dXNOb2RlRVBLTlNfNE5vZGVFOwotX1pON1dlYkNvcmUyMFJlaWZpZWRUcmVlVHJhdmVyc2FsOWxh
c3RDaGlsZEVQS05TXzROb2RlRTsKLV9aTjdXZWJDb3JlMjBSZWlmaWVkVHJlZVRyYXZlcnNhbDE2
dHJhdmVyc2VOZXh0Tm9kZUVQS05TXzROb2RlRTsKLV9aTjdXZWJDb3JlMjBSZWlmaWVkVHJlZVRy
YXZlcnNhbDEwZmlyc3RDaGlsZEVQS05TXzROb2RlRTsKIF9aTjdXZWJDb3JlMjFnZXRDYWNoZWRE
T01TdHJ1Y3R1cmVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFUEtOM0pTQzlDbGFzc0luZm9FOwog
X1pON1dlYkNvcmUyMmV4dGVybmFsUmVwcmVzZW50YXRpb25FUE5TXzdFbGVtZW50RWo7CiBfWk43
V2ViQ29yZTIydXNlclByZWZlcnJlZExhbmd1YWdlc0V2OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDI0YzQyMDgxZDlmNTdm
YzlhZjg5N2QwYjMwNGJiMWY3NzZiOTRmNmUuLmJlMmYxNjkzMzQwZGQxNTliYmJjZDg1MDJhY2Rj
MjU4YjRlNjVlZTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMi0wNC0wMyAgSGF5YXRvIEl0
byAgPGhheWF0b0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3ZlIFJlaWZpZWRUcmVlVHJh
dmVyc2FsLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODMxMTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IGZhc3QvZG9tL3NoYWRvdy9yZWlmaWVkLXRyZWUtdHJhdmVyc2FsLWV4cGVjdGVkLnR4dDogUmVt
b3ZlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcmVpZmllZC10cmVlLXRyYXZlcnNhbC5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2VmbC9Ta2lwcGVkOgorICAgICAgICAq
IHBsYXRmb3JtL3F0L1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6Cisg
ICAgICAgICogcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS93
azIvU2tpcHBlZDoKKwogMjAxMi0wNC0wMyAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBVcGRhdGUgYW5vdGhlciBiYXNlbGluZSBmb3IgYSBmYWlsaW5nIGNo
cm9taXVtIFNMIHN2ZyB0ZXN0IChhbmQgbWFyayBpdCBmbGFreSkuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcmVpZmllZC10cmVlLXRyYXZlcnNhbC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcmVpZmllZC10cmVlLXRyYXZlcnNhbC1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwNDI0ZTc0MTg3YTJl
NTdjODVlZGYzNjZhZGQ2MzNlYzdiYTZjMzUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3JlaWZpZWQtdHJl
ZS10cmF2ZXJzYWwtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTU2ICswLDAgQEAK
LVRlc3RzIGZvciBSZWlmaWVkIERPTSBUcmVlIFRyYXZlcnNhbCBBUElzLiBDYW4gb25seSBydW4g
d2l0aGluIERSVAotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotU2hhZG93Um9vdCBz
aG91bGQgYmUgdXNlZC4KLVJlaWZpZWQgVHJlZToKLURJVgkgaWQ9YQotCURJVgkgaWQ9YgotCi1U
cmF2ZXJzZSBpbiBmb3J3YXJkLgotRElWCSBpZD1hCi1ESVYJIGlkPWIKLVRyYXZlcnNlIGluIGJh
Y2t3YXJkLgotRElWCSBpZD1iCi1ESVYJIGlkPWEKLQotQSBjb250ZW50IGVsZW1lbnQgc2hvdWxk
IHNlbGVjdCBsaWdodCBjaGlsZHJlbgotUmVpZmllZCBUcmVlOgotRElWCSBpZD1hCi0JRElWCSBp
ZD1iCi0JRElWCSBpZD1jCi0JRElWCSBpZD1kCi0KLVRyYXZlcnNlIGluIGZvcndhcmQuCi1ESVYJ
IGlkPWEKLURJVgkgaWQ9YgotRElWCSBpZD1jCi1ESVYJIGlkPWQKLVRyYXZlcnNlIGluIGJhY2t3
YXJkLgotRElWCSBpZD1kCi1ESVYJIGlkPWMKLURJVgkgaWQ9YgotRElWCSBpZD1hCi0KLVRlc3Qg
Zm9yIGNvbnRlbnQgZWxlbWVudCBzZWxlY3Rvci4KLVJlaWZpZWQgVHJlZToKLURJVgkgaWQ9YQot
CURJVgkgaWQ9YgotCi1UcmF2ZXJzZSBpbiBmb3J3YXJkLgotRElWCSBpZD1hCi1UcmF2ZXJzZSBp
biBiYWNrd2FyZC4KLURJVgkgaWQ9YQotCi1MaWdodCBjaGlsZHJlbiBzaG91bGQgYmUgc2VsZWN0
ZWQgb25seSBhdCBvbmNlLgotUmVpZmllZCBUcmVlOgotRElWCSBpZD1hCi0JRElWCSBpZD1iCi0K
LVRyYXZlcnNlIGluIGZvcndhcmQuCi1ESVYJIGlkPWEKLURJVgkgaWQ9YgotVHJhdmVyc2UgaW4g
YmFja3dhcmQuCi1ESVYJIGlkPWUKLURJVgkgaWQ9ZAotRElWCSBpZD1jCi1ESVYJIGlkPWEKLQot
QSBjb250ZW50IGVsZW1lbnQgY2FuIGhhdmUgZmFsbGJhY2sgZWxlbWVudHMuCi1SZWlmaWVkIFRy
ZWU6Ci1ESVYJIGlkPWEKLQlESVYJIGlkPWIKLQlESVYJIGlkPWYxCi0JRElWCSBpZD1mMgotCi1U
cmF2ZXJzZSBpbiBmb3J3YXJkLgotRElWCSBpZD1hCi1ESVYJIGlkPWIKLURJVgkgaWQ9ZjEKLURJ
VgkgaWQ9ZjIKLVRyYXZlcnNlIGluIGJhY2t3YXJkLgotRElWCSBpZD1mMgotRElWCSBpZD1mMQot
RElWCSBpZD1iCi1ESVYJIGlkPWEKLQotRmFsbGJhY2sgZWxlbWVudHMgc2hvdWxkIG5vdCBiZSB1
c2VkIGlmICBlbGVtZW50IHNlbGVjdHMgYW55IGVsZW1lbnRzLgotUmVpZmllZCBUcmVlOgotRElW
CSBpZD1hCi0JRElWCSBpZD1iCi0JRElWCSBpZD1mMQotCURJVgkgaWQ9ZjIKLQotVHJhdmVyc2Ug
aW4gZm9yd2FyZC4KLURJVgkgaWQ9YQotRElWCSBpZD1iCi1ESVYJIGlkPWYxCi1ESVYJIGlkPWYy
Ci1UcmF2ZXJzZSBpbiBiYWNrd2FyZC4KLURJVgkgaWQ9ZjIKLURJVgkgaWQ9ZjEKLURJVgkgaWQ9
YgotRElWCSBpZD1hCi0KLVRlc3QgZm9yIE5lc3RlZCBTaGFkb3dSb290cy4KLVJlaWZpZWQgVHJl
ZToKLURJVgkgaWQ9YQotCURJVgkgaWQ9YgotCQlESVYJIGlkPWMKLQkJRElWCSBpZD1lCi0JCURJ
VgkgaWQ9ZAotCURJVgkgaWQ9ZgotCURJVgkgaWQ9aAotCURJVgkgaWQ9aQotCURJVgkgaWQ9Zwot
Ci1UcmF2ZXJzZSBpbiBmb3J3YXJkLgotRElWCSBpZD1hCi1ESVYJIGlkPWIKLURJVgkgaWQ9Ywot
RElWCSBpZD1lCi1ESVYJIGlkPWQKLURJVgkgaWQ9ZgotRElWCSBpZD1oCi1ESVYJIGlkPWkKLURJ
VgkgaWQ9ZwotVHJhdmVyc2UgaW4gYmFja3dhcmQuCi1ESVYJIGlkPWcKLURJVgkgaWQ9aQotRElW
CSBpZD1oCi1ESVYJIGlkPWYKLURJVgkgaWQ9ZAotRElWCSBpZD1lCi1ESVYJIGlkPWMKLURJVgkg
aWQ9YgotRElWCSBpZD1hCi0KLVRlc3QgZm9yIE11bHRpcGxlIFNoYWRvd1Jvb3RzLgotUmVpZmll
ZCBUcmVlOgotRElWCSBpZD1hCi0JRElWCSBpZD1kCi0JRElWCSBpZD1iCi0JRElWCSBpZD1mCi0J
RElWCSBpZD1jCi0JRElWCSBpZD1lCi0KLVRyYXZlcnNlIGluIGZvcndhcmQuCi1ESVYJIGlkPWEK
LURJVgkgaWQ9ZAotRElWCSBpZD1iCi1ESVYJIGlkPWYKLURJVgkgaWQ9YwotRElWCSBpZD1lCi1U
cmF2ZXJzZSBpbiBiYWNrd2FyZC4KLURJVgkgaWQ9ZQotRElWCSBpZD1jCi1ESVYJIGlkPWYKLURJ
VgkgaWQ9YgotRElWCSBpZD1kCi1ESVYJIGlkPWEKLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9yZWlmaWVkLXRyZWUtdHJhdmVyc2FsLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvcmVpZmllZC10cmVlLXRyYXZlcnNhbC5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA5NzhhZWVjNzUyZjE2Y2ZiZmVjZWViNzc2YTBmMDI3MTE2MjVlNTVmLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9yZWlmaWVkLXRyZWUtdHJhdmVyc2FsLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwxNjIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNj
cmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NoYWRvdy1kb20uanMiPjwvc2NyaXB0PgotPC9oZWFkPgot
PGJvZHk+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbigi
VGVzdHMgZm9yIFJlaWZpZWQgRE9NIFRyZWUgVHJhdmVyc2FsIEFQSXMuIENhbiBvbmx5IHJ1biB3
aXRoaW4gRFJUIik7Ci0KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotCi1mdW5jdGlvbiBkdW1wTm9kZShub2Rl
KQotewotICAgIHZhciBvdXRwdXQgPSBub2RlLm5vZGVOYW1lICsgIlx0IjsKLSAgICBpZiAobm9k
ZS5pZCkKLSAgICAgICAgb3V0cHV0ICs9ICcgaWQ9JyArIG5vZGUuaWQ7Ci0gICAgaWYgKG5vZGUu
Y2xhc3NOYW1lKQotICAgICAgICBvdXRwdXQgKz0gJyBjbGFzcz0nICsgbm9kZS5jbGFzc05hbWU7
Ci0gICAgcmV0dXJuIG91dHB1dDsKLX0KLQotZnVuY3Rpb24gZHVtcFJlaWZpZWRUcmVlKG5vZGUs
IGluZGVudCkKLXsKLSAgICBpbmRlbnQgPSBpbmRlbnQgfHwgIiI7Ci0gICAgdmFyIG91dHB1dCA9
IGluZGVudCArIGR1bXBOb2RlKG5vZGUpICsgIlxuIjsKLSAgICB2YXIgY2hpbGQ7Ci0gICAgZm9y
IChjaGlsZCA9IGludGVybmFscy5maXJzdENoaWxkSW5SZWlmaWVkVHJlZShub2RlKTsgY2hpbGQ7
IGNoaWxkID0gaW50ZXJuYWxzLm5leHRTaWJsaW5nSW5SZWlmaWVkVHJlZShjaGlsZCkpCi0gICAg
ICAgICBvdXRwdXQgKz0gZHVtcFJlaWZpZWRUcmVlKGNoaWxkLCBpbmRlbnQgKyAiXHQiKTsKLSAg
ICByZXR1cm4gb3V0cHV0OwotfQotCi1mdW5jdGlvbiBsYXN0Tm9kZUluUmVpZmllZFRyZWUocm9v
dCkKLXsKLSAgICB2YXIgbGFzdE5vZGUgPSByb290OwotICAgIHdoaWxlIChpbnRlcm5hbHMubGFz
dENoaWxkSW5SZWlmaWVkVHJlZShsYXN0Tm9kZSkpCi0gICAgICAgIGxhc3ROb2RlID0gaW50ZXJu
YWxzLmxhc3RDaGlsZEluUmVpZmllZFRyZWUobGFzdE5vZGUpOwotICAgIHJldHVybiBsYXN0Tm9k
ZTsKLX0KLQotZnVuY3Rpb24gc2hvd1JlaWZpZWRUcmVlQnlUcmF2ZXJzaW5nSW5Gb3dhcmQocm9v
dCkKLXsKLSAgICB2YXIgbm9kZSA9IHJvb3Q7Ci0gICAgdmFyIGxhc3QgPSBsYXN0Tm9kZUluUmVp
ZmllZFRyZWUocm9vdCk7Ci0gICAgd2hpbGUgKG5vZGUpIHsKLSAgICAgICAgZGVidWcoZHVtcE5v
ZGUobm9kZSkpOwotICAgICAgICBpZiAobm9kZSA9PSBsYXN0KQotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIG5vZGUgPSBpbnRlcm5hbHMudHJhdmVyc2VOZXh0Tm9kZUluUmVpZmllZFRyZWUo
bm9kZSk7Ci0gICAgfQotfQotCi1mdW5jdGlvbiBzaG93UmVpZmllZFRyZWVCeVRyYXZlcnNpbmdJ
bkJhY2t3YXJkKHJvb3QpCi17Ci0gICAgdmFyIG5vZGUgPSBsYXN0Tm9kZUluUmVpZmllZFRyZWUo
cm9vdCk7Ci0gICAgd2hpbGUgKG5vZGUpIHsKLSAgICAgICAgZGVidWcoZHVtcE5vZGUobm9kZSkp
OwotICAgICAgICBpZiAobm9kZSA9PSByb290KQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IG5vZGUgPSBpbnRlcm5hbHMudHJhdmVyc2VQcmV2aW91c05vZGVJblJlaWZpZWRUcmVlKG5vZGUp
OwotICAgIH0KLX0KLQotZnVuY3Rpb24gc2hvd1JlaWZpZWRUcmVlKG5vZGUpCi17Ci0gICAgZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChub2RlKTsKLSAgICBkb2N1bWVudC5ib2R5Lm9mZnNldExl
ZnQ7Ci0KLSAgICBkZWJ1ZygnUmVpZmllZCBUcmVlOicpOwotICAgIGRlYnVnKGR1bXBSZWlmaWVk
VHJlZShub2RlKSk7Ci0KLSAgICBkZWJ1ZygnVHJhdmVyc2UgaW4gZm9yd2FyZC4nKTsKLSAgICBz
aG93UmVpZmllZFRyZWVCeVRyYXZlcnNpbmdJbkZvd2FyZChub2RlKTsKLQotICAgIGRlYnVnKCdU
cmF2ZXJzZSBpbiBiYWNrd2FyZC4nKTsKLSAgICBzaG93UmVpZmllZFRyZWVCeVRyYXZlcnNpbmdJ
bkJhY2t3YXJkKG5vZGUpOwotCi0gICAgZGVidWcoJycpOwotfQotCi1kZWJ1ZygnU2hhZG93Um9v
dCBzaG91bGQgYmUgdXNlZC4nKTsKLXNob3dSZWlmaWVkVHJlZSgKLSAgICBjcmVhdGVET00oJ2Rp
dicsIHsnaWQnOiAnYSd9LAotICAgICAgICAgICAgICBjcmVhdGVTaGFkb3dSb290KGNyZWF0ZURP
TSgnZGl2JywgeydpZCc6ICdiJ30pKSwKLSAgICAgICAgICAgICAgY3JlYXRlRE9NKCdkaXYnLCB7
J2lkJzogJ2MnfSkpKTsKLQotZGVidWcoJ0EgY29udGVudCBlbGVtZW50IHNob3VsZCBzZWxlY3Qg
bGlnaHQgY2hpbGRyZW4nKTsKLXNob3dSZWlmaWVkVHJlZSgKLSAgICBjcmVhdGVET00oJ2Rpdics
IHsnaWQnOiAnYSd9LAotICAgICAgICAgICAgICBjcmVhdGVTaGFkb3dSb290KGNyZWF0ZURPTSgn
ZGl2JywgeydpZCc6ICdiJ30pLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0
ZURPTSgnY29udGVudCcpKSwKLSAgICAgICAgICAgICAgY3JlYXRlRE9NKCdkaXYnLCB7J2lkJzog
J2MnfSksCi0gICAgICAgICAgICAgIGNyZWF0ZURPTSgnZGl2JywgeydpZCc6ICdkJ30pKSk7Ci0K
LWRlYnVnKCdUZXN0IGZvciBjb250ZW50IGVsZW1lbnQgc2VsZWN0b3IuJyk7Ci1zaG93UmVpZmll
ZFRyZWUoCi0gICAgY3JlYXRlRE9NKCdkaXYnLCB7J2lkJzogJ2EnfSwKLSAgICAgICAgICAgICAg
Y3JlYXRlU2hhZG93Um9vdChjcmVhdGVET00oJ2RpdicsIHsnaWQnOiAnYid9KSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVET00oJ2NvbnRlbnQnLCB7J3NlbGVjdCc6ICcu
ZCd9KSksCi0gICAgICAgICAgICAgIGNyZWF0ZURPTSgnZGl2JywgeydpZCc6ICdjJ30pLAotICAg
ICAgICAgICAgICBjcmVhdGVET00oJ2RpdicsIHsnaWQnOiAnZCd9KSwKLSAgICAgICAgICAgICAg
Y3JlYXRlRE9NKCdkaXYnLCB7J2lkJzogJ2UnfSkpKTsKLQotZGVidWcoJ0xpZ2h0IGNoaWxkcmVu
IHNob3VsZCBiZSBzZWxlY3RlZCBvbmx5IGF0IG9uY2UuJyk7Ci1zaG93UmVpZmllZFRyZWUoCi0g
ICAgY3JlYXRlRE9NKCdkaXYnLCB7J2lkJzogJ2EnfSwKLSAgICAgICAgICAgICAgY3JlYXRlU2hh
ZG93Um9vdChjcmVhdGVET00oJ2RpdicsIHsnaWQnOiAnYid9KSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjcmVhdGVET00oJ2NvbnRlbnQnLCB7J3NlbGVjdCc6ICcuZCd9KSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVET00oJ2NvbnRlbnQnKSksCi0gICAg
ICAgICAgICAgIGNyZWF0ZURPTSgnZGl2JywgeydpZCc6ICdjJ30pLAotICAgICAgICAgICAgICBj
cmVhdGVET00oJ2RpdicsIHsnaWQnOiAnZCd9KSwKLSAgICAgICAgICAgICAgY3JlYXRlRE9NKCdk
aXYnLCB7J2lkJzogJ2UnfSkpKTsKLQotZGVidWcoJ0EgY29udGVudCBlbGVtZW50IGNhbiBoYXZl
IGZhbGxiYWNrIGVsZW1lbnRzLicpOwotc2hvd1JlaWZpZWRUcmVlKAotICAgIGNyZWF0ZURPTSgn
ZGl2JywgeydpZCc6ICdhJ30sCi0gICAgICAgICAgICAgIGNyZWF0ZVNoYWRvd1Jvb3QoY3JlYXRl
RE9NKCdkaXYnLCB7J2lkJzogJ2InfSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y3JlYXRlRE9NKCdjb250ZW50JywgeydzZWxlY3QnOiAnLnonfSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlRE9NKCdkaXYnLCB7J2lkJzogJ2YxJ30pLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVET00oJ2Rpdics
IHsnaWQnOiAnZjInfSkpKSwKLSAgICAgICAgICAgICAgY3JlYXRlRE9NKCdkaXYnLCB7J2lkJzog
J2MnfSkpKTsKLQotZGVidWcoJ0ZhbGxiYWNrIGVsZW1lbnRzIHNob3VsZCBub3QgYmUgdXNlZCBp
ZiA8Y29udGVudD4gZWxlbWVudCBzZWxlY3RzIGFueSBlbGVtZW50cy4nKTsKLXNob3dSZWlmaWVk
VHJlZSgKLSAgICBjcmVhdGVET00oJ2RpdicsIHsnaWQnOiAnYSd9LAotICAgICAgICAgICAgICBj
cmVhdGVTaGFkb3dSb290KGNyZWF0ZURPTSgnZGl2JywgeydpZCc6ICdiJ30pLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZURPTSgnY29udGVudCcsIHsnc2VsZWN0JzogJy5j
J30sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZURPTSgn
ZGl2JywgeydpZCc6ICdmMSd9KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY3JlYXRlRE9NKCdkaXYnLCB7J2lkJzogJ2YyJ30pKSksCi0gICAgICAgICAgICAgIGNy
ZWF0ZURPTSgnZGl2JywgeydpZCc6ICdjJ30pKSk7Ci0KLWRlYnVnKCdUZXN0IGZvciBOZXN0ZWQg
U2hhZG93Um9vdHMuJyk7Ci1zaG93UmVpZmllZFRyZWUoCi0gICAgY3JlYXRlRE9NKCdkaXYnLCB7
J2lkJzogJ2EnfSwKLSAgICAgICAgICAgICAgY3JlYXRlU2hhZG93Um9vdChjcmVhdGVET00oJ2Rp
dicsIHsnaWQnOiAnYid9LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjcmVhdGVTaGFkb3dSb290KGNyZWF0ZURPTSgnZGl2JywgeydpZCc6ICdjJ30pLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0
ZURPTSgnY29udGVudCcpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNyZWF0ZURPTSgnZGl2JywgeydpZCc6ICdkJ30pKSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlRE9NKCdkaXYnLCB7J2lk
JzogJ2UnfSkpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZURPTSgnZGl2
JywgeydpZCc6ICdmJ30pLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZURP
TSgnY29udGVudCcpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZURPTSgn
ZGl2JywgeydpZCc6ICdnJ30pKSwKLSAgICAgICAgICAgICAgY3JlYXRlRE9NKCdkaXYnLCB7J2lk
JzogJ2gnfSksCi0gICAgICAgICAgICAgIGNyZWF0ZURPTSgnZGl2JywgeydpZCc6ICdpJ30pKSk7
Ci0KLWRlYnVnKCdUZXN0IGZvciBNdWx0aXBsZSBTaGFkb3dSb290cy4nKTsKLXNob3dSZWlmaWVk
VHJlZSgKLSAgICBjcmVhdGVET00oJ2RpdicsIHsnaWQnOiAnYSd9LAotICAgICAgICAgICAgICBj
cmVhdGVTaGFkb3dSb290KGNyZWF0ZURPTSgnZGl2JywgeydpZCc6ICdiJ30pLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZURPTSgnY29udGVudCcpLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNyZWF0ZURPTSgnZGl2JywgeydpZCc6ICdjJ30pKSwKLSAgICAg
ICAgICAgICAgY3JlYXRlU2hhZG93Um9vdChjcmVhdGVET00oJ2RpdicsIHsnaWQnOiAnZCd9KSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVET00oJ3NoYWRvdycpLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZURPTSgnZGl2JywgeydpZCc6ICdlJ30p
KSwKLSAgICAgICAgICAgICAgY3JlYXRlRE9NKCdkaXYnLCB7J2lkJzogJ2YnfSkpKTsKLQotPC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9lZmwvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCmluZGV4
IDE3ODcxMjUzZGEwYTI4NmVhMWZhMmI2ZDcyY2UzM2M5ZWIxMGM3YzcuLjlhN2Q0MGM1NDQ1NjRj
MDEyYWEyOTM1N2MxNWVkYTYwMzhhMDBhNWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2VmbC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCkBA
IC0xODU1LDcgKzE4NTUsNiBAQCBmYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LW91dHNp
ZGUtc2hhZG93LXN0eWxlLmh0bWwKIGZhc3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1lbnQtaW4t
bWVkaWEtZWxlbWVudC5odG1sCiBmYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWluLW1l
dGVyLWVsZW1lbnQuaHRtbAogZmFzdC9kb20vc2hhZG93L2dldC1lbGVtZW50LWJ5LWlkLWluLXNo
YWRvdy1yb290Lmh0bWwKLWZhc3QvZG9tL3NoYWRvdy9yZWlmaWVkLXRyZWUtdHJhdmVyc2FsLmh0
bWwKIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1hcGkuaHRtbAogZmFzdC9kb20vc2hh
ZG93L3NoYWRvdy1kaXNhYmxlLmh0bWwKIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1hdHRh
Y2hlZC5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAppbmRleCA5ZDE5YTE1Y2Q2Y2VmZjdkNmZk
MjcwNmVkMTA5YWUyMzA4OTdhZDFlLi5jM2IxODk1YjViNWUwMTYxMWEzYWQ3ZGVkYTNiZjcxNjBj
NGZjMGVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKQEAgLTE4Miw3ICsxODIsNiBAQCBmYXN0
L2RvbS9zaGFkb3cvbGluay1pbi1zaGFkb3ctdHJlZS5odG1sCiBmYXN0L2RvbS9zaGFkb3cvbXVs
dGlwbGUtc2hhZG93cm9vdC5odG1sCiBmYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93cm9v
dC1yZW5kZXJpbmcuaHRtbAogZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3QtYWRv
cHQuaHRtbAotZmFzdC9kb20vc2hhZG93L3JlaWZpZWQtdHJlZS10cmF2ZXJzYWwuaHRtbAogZmFz
dC9kb20vc2hhZG93L3NoYWRvdy1ib3VuZGFyeS1ldmVudHMuaHRtbAogZmFzdC9kb20vc2hhZG93
L3NoYWRvdy1jb250ZW50LWNyYXNoLmh0bWwKIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZGlzYWJs
ZS5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCmluZGV4IGVhN2RmMzI5NzhlNWJhYzkwNGNk
NjI3OGVkYjM0MmMyMDc4MzY4ZmUuLjY0M2ZkMzRiMWQ0YzM5OTc3NjlkMDgzYjJkYzI1Zjk4NmZm
ZmE5NTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCkBAIC0xNDgwLDcgKzE0ODAsNiBAQCBm
YXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LW91dHNpZGUtc2hhZG93LXN0eWxlLmh0bWwK
IGZhc3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1lbnQtaW4tbWVkaWEtZWxlbWVudC5odG1sCiBm
YXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWluLW1ldGVyLWVsZW1lbnQuaHRtbAogZmFz
dC9kb20vc2hhZG93L2dldC1lbGVtZW50LWJ5LWlkLWluLXNoYWRvdy1yb290Lmh0bWwKLWZhc3Qv
ZG9tL3NoYWRvdy9yZWlmaWVkLXRyZWUtdHJhdmVyc2FsLmh0bWwKIGZhc3QvZG9tL3NoYWRvdy9z
aGFkb3ctcm9vdC1qcy1hcGkuaHRtbAogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1kaXNhYmxlLmh0
bWwKIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1hY3RpdmVFbGVtZW50Lmh0bWwKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkCmluZGV4IDU4NmE0YzFjOGU0NzY3YWFlYzI5ZTY4
MDA5NTAyNmUyOWI2OGM3ZDQuLjg2ZjA2NjcwNjkyZjY1MjFmMjMzNjY5MDVhNmQ3NzMwYWQ4YzRj
ZGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZApAQCAtMTk4OSw3ICsxOTg5
LDYgQEAgZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1vdXRzaWRlLXNoYWRvdy5odG1s
CiBmYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWluLW1lZGlhLWVsZW1lbnQuaHRtbAog
ZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1pbi1tZXRlci1lbGVtZW50Lmh0bWwKIGZh
c3QvZG9tL3NoYWRvdy9nZXQtZWxlbWVudC1ieS1pZC1pbi1zaGFkb3ctcm9vdC5odG1sCi1mYXN0
L2RvbS9zaGFkb3cvcmVpZmllZC10cmVlLXRyYXZlcnNhbC5odG1sCiBmYXN0L2RvbS9zaGFkb3cv
c2hhZG93LXJvb3QtanMtYXBpLmh0bWwKIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZGlzYWJsZS5o
dG1sCiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYWN0aXZlRWxlbWVudC5odG1sCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvU2tpcHBlZCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3drMi9Ta2lwcGVkCmluZGV4IDIxYjAwNTU0ODVmMDgxMDQ4NzJmNGMyN2NlYzQ1MGZm
NTBkNDQxZjUuLmJkMWQwY2M2M2RjOWJlMTY0Zjg3OTQxMzdkMjkwYmUyZjQyNTEyZjMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3drMi9Ta2lwcGVkCkBAIC0xMDkwLDcgKzEwOTAsNiBAQCBmYXN0L2RvbS9zaGFk
b3cvY29udGVudC1lbGVtZW50LW91dHNpZGUtc2hhZG93Lmh0bWwKIGZhc3QvZG9tL3NoYWRvdy9j
b250ZW50LWVsZW1lbnQtb3V0c2lkZS1zaGFkb3ctc3R5bGUuaHRtbAogZmFzdC9kb20vc2hhZG93
L2NvbnRlbnQtZWxlbWVudC1pbi1tZWRpYS1lbGVtZW50Lmh0bWwKIGZhc3QvZG9tL3NoYWRvdy9j
b250ZW50LWVsZW1lbnQtaW4tbWV0ZXItZWxlbWVudC5odG1sCi1mYXN0L2RvbS9zaGFkb3cvcmVp
ZmllZC10cmVlLXRyYXZlcnNhbC5odG1sCiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtanMt
YXBpLmh0bWwKIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZGlzYWJsZS5odG1sCiBmYXN0L2RvbS9z
aGFkb3cvc2hhZG93LXJvb3QtYWN0aXZlRWxlbWVudC5odG1sCmRpZmYgLS1naXQgYS9DaGFuZ2VM
b2cgYi9DaGFuZ2VMb2cKaW5kZXggNTM3OGEwN2M2M2MwYzQ2MmU4NTY5ZDZlZjY5ZDc5OTZmMmMy
ZmJjYi4uMmMzZWM5ZjkxOWFiZDljY2Y0YWU2ZDgxZDA4ZTY3MDU1ODBiMmU2MSAxMDA2NDQKLS0t
IGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEyLTA0LTAz
ICBIYXlhdG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW1vdmUgUmVp
ZmllZFRyZWVUcmF2ZXJzYWwuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04MzExMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcjoKKwogMjAxMi0wNC0w
MiAgQmFsYXpzIEtlbGVtZW4gIDxrYmFsYXpzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XVtX
SzJdIFNldCB1cCBwbHVnaW4gcHJvY2VzcyBvbiBVbml4Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135752</attachid>
            <date>2012-04-04 21:03:55 -0700</date>
            <delta_ts>2012-04-04 22:29:56 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-83110-20120405130353.patch</filename>
            <type>text/plain</type>
            <size>50575</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzMjg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWJjNjZjZTFlMmViOTli
ZjQ0Njc3MTJkZDY4ZmYyNzAzNjg2NDFkMy4uNTc3NWY0YzI1YWQ4NTZkOTk5M2Y3ZTQ3MGYyZmMz
Y2ZlNjU1OGE3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTA0LTAzICBIYXlh
dG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW1vdmUgUmVpZmllZFRy
ZWVUcmF2ZXJzYWwuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04MzExMAorCisgICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KKworICAg
ICAgICBXZSBjYW4gbm93IHJlbW92ZSBSZWlmaWVkVHJlZVRyYXZlcnNhbC4gQWxsIGNsaWVudHMg
aGF2ZSBzd2l0Y2hlZCB0byB1c2UgQ29tcG9zZWRTaGFkb3dUcmVlV2Fsa2VyLgorCisgICAgICAg
IE5vIG5ldyB0ZXN0cy4gTm8gY2hhbmdlIGluIGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiBD
TWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAq
IFRhcmdldC5wcmk6CisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogV2ViQ29y
ZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAg
ICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBkb20vUmVp
ZmllZFRyZWVUcmF2ZXJzYWwuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIGRvbS9SZWlmaWVkVHJl
ZVRyYXZlcnNhbC5oOiBSZW1vdmVkLgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoK
KyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAoSW50ZXJuYWxzKToKKyAg
ICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMTItMDQtMDQgIFNpbW9uIEZyYXNl
ciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTgyOTk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZTYwZTI2YWFmMjIyMDdh
NjgwMDVhZGJmZGU4M2QxNWU1ODY1MmRlMS4uNzU0NDYxMzE1YzFjODFiOTg5NDIyOWFlOTc4MzNk
NjU4NjhhN2Y3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA0LTAzICBIYXlh
dG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW1vdmUgUmVpZmllZFRy
ZWVUcmF2ZXJzYWwuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04MzExMAorCisgICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KKworICAg
ICAgICAqIHdpbi9XZWJLaXQyLmRlZjoKKyAgICAgICAgKiB3aW4vV2ViS2l0MkNGTGl0ZS5kZWY6
CisKIDIwMTItMDQtMDQgIFNoaW55YSBLYXdhbmFrYSAgPHNoaW55YWtAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFNoYWRvdyBET00gaXMgZXhwb3NlZCBpbiBKUy4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
aW5kZXggNWQ0YWE0NjM1MGYyYmRiYzZlMWJhMTIzODkxODg2ZDgwMjZkMTM3Zi4uYmNmZDY4YjQ1
ZDVlZDdmZmRmMDY2YTc0ZjIyYjQxZTgxYTIwZTllOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAg
LTYxMyw3ICs2MTMsNiBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgZG9tL1JhbmdlLmNwcAog
ICAgIGRvbS9SYW5nZUV4Y2VwdGlvbi5jcHAKICAgICBkb20vUmVnaXN0ZXJlZEV2ZW50TGlzdGVu
ZXIuY3BwCi0gICAgZG9tL1JlaWZpZWRUcmVlVHJhdmVyc2FsLmNwcAogICAgIGRvbS9TY29wZWRF
dmVudFF1ZXVlLmNwcAogICAgIGRvbS9TY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIuY3BwCiAgICAg
ZG9tL1NjcmlwdEVsZW1lbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA1
MzU2Zjg1NzU1NTE4MTgxZGJiYjAzYTBlNjNiZWMzOGI2YmE5MGYwLi40MDhjYmNlZjUzODIyYWVl
ZjFkNjJlZTkzZTE5YTc2Y2QzMDc5Zjg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0K
QEAgLTE5MzAsOCArMTkzMCw2IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNv
cmUvZG9tL1Jhd0RhdGFEb2N1bWVudFBhcnNlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vUmVn
aXN0ZXJlZEV2ZW50TGlzdGVuZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vUmVnaXN0ZXJl
ZEV2ZW50TGlzdGVuZXIuaCBcCi0JU291cmNlL1dlYkNvcmUvZG9tL1JlaWZpZWRUcmVlVHJhdmVy
c2FsLmNwcCBcCi0JU291cmNlL1dlYkNvcmUvZG9tL1JlaWZpZWRUcmVlVHJhdmVyc2FsLmggXAog
CVNvdXJjZS9XZWJDb3JlL2RvbS9SZW5kZXJlZERvY3VtZW50TWFya2VyLmggXAogCVNvdXJjZS9X
ZWJDb3JlL2RvbS9TY29wZWRFdmVudFF1ZXVlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL1Nj
b3BlZEV2ZW50UXVldWUuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJp
IGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCA2MTI3MTNhOWFkMTc3ZmNiMDBmMmY2
ZmU5N2NhNTk4MmI0ZjAzMTFhLi45NmVjODQ2YjdiYjlmM2YxMGYzYzVkNWYzNWNiZDViMjRiMzE3
MzQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1RhcmdldC5wcmkKQEAgLTU5MCw3ICs1OTAsNiBAQCBTT1VSQ0VTICs9IFwKICAgICBk
b20vUmFuZ2VFeGNlcHRpb24uY3BwIFwKICAgICBkb20vUmF3RGF0YURvY3VtZW50UGFyc2VyLmgg
XAogICAgIGRvbS9SZWdpc3RlcmVkRXZlbnRMaXN0ZW5lci5jcHAgXAotICAgIGRvbS9SZWlmaWVk
VHJlZVRyYXZlcnNhbC5jcHAgXAogICAgIGRvbS9TY29wZWRFdmVudFF1ZXVlLmNwcCBcCiAgICAg
ZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAgXAogICAgIGRvbS9TY3JpcHRhYmxl
RG9jdW1lbnRQYXJzZXIuY3BwIFwKQEAgLTE3MjUsNyArMTcyNCw2IEBAIEhFQURFUlMgKz0gXAog
ICAgIGRvbS9RdWFsaWZpZWROYW1lLmggXAogICAgIGRvbS9SYW5nZS5oIFwKICAgICBkb20vUmVn
aXN0ZXJlZEV2ZW50TGlzdGVuZXIuaCBcCi0gICAgZG9tL1JlaWZpZWRUcmVlVHJhdmVyc2FsLmgg
XAogICAgIGRvbS9SZW5kZXJlZERvY3VtZW50TWFya2VyLmggXAogICAgIGRvbS9TY3JpcHRlZEFu
aW1hdGlvbkNvbnRyb2xsZXIuaCBcCiAgICAgZG9tL1NjcmlwdEVsZW1lbnQuaCBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZXhwLmluCmluZGV4IDM0MzI2YTNlMTc3ZDBkYTI1MzI4ZWM1Mzk4NWM5MjA5YTRjMThjZmEu
LjJmZDUyODQxMTc3NWNmNzMzNjliNDY5YzIxZjVlMzczMDg4YTZjY2IgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
ZXhwLmluCkBAIC02MDcsMTEgKzYwNyw2IEBAIF9fWk43V2ViQ29yZTIwTm9kZVJlbmRlcmluZ0Nv
bnRleHRDMUVQTlNfNE5vZGVFCiBfX1pON1dlYkNvcmUyME5vZGVSZW5kZXJpbmdDb250ZXh0RDFF
dgogX19aTjdXZWJDb3JlMjBQbGF0Zm9ybUV2ZW50RmFjdG9yeTI0Y3JlYXRlUGxhdGZvcm1Nb3Vz
ZUV2ZW50RVA3TlNFdmVudFA2TlNWaWV3CiBfX1pON1dlYkNvcmUyMFBsYXRmb3JtRXZlbnRGYWN0
b3J5MjdjcmVhdGVQbGF0Zm9ybUtleWJvYXJkRXZlbnRFUDdOU0V2ZW50Ci1fX1pON1dlYkNvcmUy
MFJlaWZpZWRUcmVlVHJhdmVyc2FsMTFuZXh0U2libGluZ0VQS05TXzROb2RlRQotX19aTjdXZWJD
b3JlMjBSZWlmaWVkVHJlZVRyYXZlcnNhbDIwdHJhdmVyc2VQcmV2aW91c05vZGVFUEtOU180Tm9k
ZUUKLV9fWk43V2ViQ29yZTIwUmVpZmllZFRyZWVUcmF2ZXJzYWw5bGFzdENoaWxkRVBLTlNfNE5v
ZGVFCi1fX1pON1dlYkNvcmUyMFJlaWZpZWRUcmVlVHJhdmVyc2FsMTZ0cmF2ZXJzZU5leHROb2Rl
RVBLTlNfNE5vZGVFCi1fX1pON1dlYkNvcmUyMFJlaWZpZWRUcmVlVHJhdmVyc2FsMTBmaXJzdENo
aWxkRVBLTlNfNE5vZGVFCiBfX1pON1dlYkNvcmUyMFJlbmRlckVtYmVkZGVkT2JqZWN0MzBzZXRT
aG93c0NyYXNoZWRQbHVnaW5JbmRpY2F0b3JFdgogX19aTjdXZWJDb3JlMjBSZXNvdXJjZVJlc3Bv
bnNlQmFzZTExc2V0TWltZVR5cGVFUktOM1dURjZTdHJpbmdFCiBfX1pON1dlYkNvcmUyMFJlc291
cmNlUmVzcG9uc2VCYXNlMTdzZXRIVFRQU3RhdHVzQ29kZUVpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXgg
NjJhYzY4YzJjNjZlNTBmYjYzMDc3ZjNlZTg2MjJmMTVkNmQ5NjY5ZS4uYzA1YTUyNjkzZTRjNDI5
MTNjMzNlZWM5YWMyNGIyYjI3NWNiYzQ3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtNjM3LDcgKzYz
Nyw2IEBACiAgICAgICAgICAgICAnZG9tL1JhbmdlLmgnLAogICAgICAgICAgICAgJ2RvbS9SYW5n
ZUJvdW5kYXJ5UG9pbnQuaCcsCiAgICAgICAgICAgICAnZG9tL1JlZ2lzdGVyZWRFdmVudExpc3Rl
bmVyLmgnLAotICAgICAgICAgICAgJ2RvbS9SZWlmaWVkVHJlZVRyYXZlcnNhbC5oJywKICAgICAg
ICAgICAgICdkb20vUmVuZGVyZWREb2N1bWVudE1hcmtlci5oJywKICAgICAgICAgICAgICdkb20v
U2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oJywKICAgICAgICAgICAgICdkb20vU2NyaXB0UnVubmVy
LmgnLApAQCAtNTI0NCw4ICs1MjQzLDYgQEAKICAgICAgICAgICAgICdkb20vUmFuZ2VFeGNlcHRp
b24uaCcsCiAgICAgICAgICAgICAnZG9tL1Jhd0RhdGFEb2N1bWVudFBhcnNlci5oJywKICAgICAg
ICAgICAgICdkb20vUmVnaXN0ZXJlZEV2ZW50TGlzdGVuZXIuY3BwJywKLSAgICAgICAgICAgICdk
b20vUmVpZmllZFRyZWVUcmF2ZXJzYWwuY3BwJywKLSAgICAgICAgICAgICdkb20vUmVpZmllZFRy
ZWVUcmF2ZXJzYWwuaCcsCiAgICAgICAgICAgICAnZG9tL1JlcXVlc3RBbmltYXRpb25GcmFtZUNh
bGxiYWNrLmgnLAogICAgICAgICAgICAgJ2RvbS9TY29wZWRFdmVudFF1ZXVlLmNwcCcsCiAgICAg
ICAgICAgICAnZG9tL1Njb3BlZEV2ZW50UXVldWUuaCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDk2OTlmOTgyMzZmZmNjMDI3OTk4ZTdlNjRl
MDU2NzgzYWNkYmJkZTMuLmFmODQ5NDgzMGFlYzgwMWQ0MTg0NTM3YWJmYmU2NjI4N2MwOGRiMDUg
MTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC01
MTk2NiwxNCArNTE5NjYsNiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVs
YXRpdmVQYXRoPSIuLlxkb21cUmVpZmllZFRyZWVUcmF2ZXJzYWwuY3BwIgotCQkJCT4KLQkJCTwv
RmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cUmVpZmllZFRyZWVUcmF2
ZXJzYWwuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0i
Li5cZG9tXFJlZ2lzdGVyZWRFdmVudExpc3RlbmVyLmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25m
aWd1cmF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggNmI2ZTA2N2EzY2JlN2Y1OTAwMDY5NjBlODdkMjI4MzdhZmQxNzAxYy4u
OWQzZTllMjU5NmViMjhlODQ1MmQxZmIwOWMzMWNjOWNlYjg2YWQ1MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTM1OCw4ICsx
MzU4LDYgQEAKIAkJNDlGRkJGMUQxMUM4NTUwRTAwNkE3MTE4IC8qIEdyYXBoaWNzQ29udGV4dDNE
TWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlG
RkJGMUMxMUM4NTUwRTAwNkE3MTE4IC8qIEdyYXBoaWNzQ29udGV4dDNETWFjLm1tICovOyB9Owog
CQk0OUZGQkYzRjExQzkzRUUzMDA2QTcxMTggLyogV2ViR0xMYXllci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlGRkJGM0QxMUM5M0VFMzAwNkE3MTE4
IC8qIFdlYkdMTGF5ZXIuaCAqLzsgfTsKIAkJNDlGRkJGNDAxMUM5M0VFMzAwNkE3MTE4IC8qIFdl
YkdMTGF5ZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0OUZGQkYzRTExQzkzRUUzMDA2QTcxMTggLyogV2ViR0xMYXllci5tbSAqLzsgfTsKLQkJNEEw
MTNEMjkxNTEyRkQ3NzAwRTFFNjEzIC8qIFJlaWZpZWRUcmVlVHJhdmVyc2FsLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRBMDEzRDI3MTUxMkZENzcw
MEUxRTYxMyAvKiBSZWlmaWVkVHJlZVRyYXZlcnNhbC5jcHAgKi87IH07Ci0JCTRBMDEzRDJBMTUx
MkZENzcwMEUxRTYxMyAvKiBSZWlmaWVkVHJlZVRyYXZlcnNhbC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEEwMTNEMjgxNTEyRkQ3NzAwRTFFNjEzIC8q
IFJlaWZpZWRUcmVlVHJhdmVyc2FsLmggKi87IH07CiAJCTRBMERBMkZFMTI5QjI0MTkwMEFCNjFF
MSAvKiBGb3JtQXNzb2NpYXRlZEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNEEwREEyRkMxMjlCMjQxOTAwQUI2MUUxIC8qIEZvcm1Bc3Nv
Y2lhdGVkRWxlbWVudC5jcHAgKi87IH07CiAJCTRBMERBMkZGMTI5QjI0MTkwMEFCNjFFMSAvKiBG
b3JtQXNzb2NpYXRlZEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDRBMERBMkZEMTI5QjI0MTkwMEFCNjFFMSAvKiBGb3JtQXNzb2NpYXRlZEVs
ZW1lbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk0QTFFNzE5MDE0RTEwMUU0MDA2MjZGOUQgLyogSlNIVE1MQ29udGVudEVsZW1lbnQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEExRTcxOEUxNEUx
MDFFNDAwNjI2RjlEIC8qIEpTSFRNTENvbnRlbnRFbGVtZW50LmNwcCAqLzsgfTsKQEAgLTgzMTks
OCArODMxNyw2IEBACiAJCTQ5RkZCRjFDMTFDODU1MEUwMDZBNzExOCAvKiBHcmFwaGljc0NvbnRl
eHQzRE1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEdyYXBo
aWNzQ29udGV4dDNETWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OUZGQkYz
RDExQzkzRUUzMDA2QTcxMTggLyogV2ViR0xMYXllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBXZWJHTExheWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5
RkZCRjNFMTFDOTNFRTMwMDZBNzExOCAvKiBXZWJHTExheWVyLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViR0xMYXllci5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJNEEwMTNEMjcxNTEyRkQ3NzAwRTFFNjEzIC8qIFJlaWZpZWRUcmVlVHJhdmVy
c2FsLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlaWZpZWRUcmVl
VHJhdmVyc2FsLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNEEwMTNEMjgxNTEy
RkQ3NzAwRTFFNjEzIC8qIFJlaWZpZWRUcmVlVHJhdmVyc2FsLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFJlaWZpZWRUcmVlVHJhdmVyc2FsLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTRBMERBMkZDMTI5QjI0MTkwMEFCNjFFMSAvKiBGb3JtQXNzb2NpYXRlZEVs
ZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRm9ybUFzc29j
aWF0ZWRFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEEwREEyRkQx
MjlCMjQxOTAwQUI2MUUxIC8qIEZvcm1Bc3NvY2lhdGVkRWxlbWVudC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBGb3JtQXNzb2NpYXRlZEVsZW1lbnQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNEExRTcxOEUxNEUxMDFFNDAwNjI2RjlEIC8qIEpTSFRNTENvbnRl
bnRFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSFRN
TENvbnRlbnRFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIxMTQw
LDggKzIxMTM2LDYgQEAKIAkJCQlBODREODI3QjExRDMzM0VEMDA5NzI5OTAgLyogUmF3RGF0YURv
Y3VtZW50UGFyc2VyLmggKi8sCiAJCQkJODUwMzFCMzUwQTQ0RUZDNzAwRjk5MkUwIC8qIFJlZ2lz
dGVyZWRFdmVudExpc3RlbmVyLmNwcCAqLywKIAkJCQk4NTAzMUIzNjBBNDRFRkM3MDBGOTkyRTAg
LyogUmVnaXN0ZXJlZEV2ZW50TGlzdGVuZXIuaCAqLywKLQkJCQk0QTAxM0QyNzE1MTJGRDc3MDBF
MUU2MTMgLyogUmVpZmllZFRyZWVUcmF2ZXJzYWwuY3BwICovLAotCQkJCTRBMDEzRDI4MTUxMkZE
NzcwMEUxRTYxMyAvKiBSZWlmaWVkVHJlZVRyYXZlcnNhbC5oICovLAogCQkJCUE3NkU1RjdFMTM1
RTBEQ0YwMEE2OTgzNyAvKiBSZW5kZXJlZERvY3VtZW50TWFya2VyLmggKi8sCiAJCQkJNDk5OEFF
QzQxM0Y5RDBFQTAwOTBCMUFBIC8qIFJlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrLmggKi8s
CiAJCQkJNDk5OEFFQzUxM0Y5RDBFQTAwOTBCMUFBIC8qIFJlcXVlc3RBbmltYXRpb25GcmFtZUNh
bGxiYWNrLmlkbCAqLywKQEAgLTIzODQ1LDcgKzIzODM5LDYgQEAKIAkJCQlCQ0FCNDE4MjEzRTM1
NkU4MDBEOEFBRjMgLyogUmVnaW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTAzMUI0QzBBNDRF
RkM3MDBGOTkyRTAgLyogUmVnaXN0ZXJlZEV2ZW50TGlzdGVuZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCUIyQzNEQTJEMEQwMDZDMUQwMEVGNkYyNiAvKiBSZWd1bGFyRXhwcmVzc2lvbi5oIGluIEhl
YWRlcnMgKi8sCi0JCQkJNEEwMTNEMkExNTEyRkQ3NzAwRTFFNjEzIC8qIFJlaWZpZWRUcmVlVHJh
dmVyc2FsLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzMwOUUwMTA5OUU2NDkyMDA1NkU1ODEgLyog
UmVtb3ZlQ1NTUHJvcGVydHlDb21tYW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQlEMDZDMEQ4RjBD
RkQxMTQ2MDA2NUY0M0YgLyogUmVtb3ZlRm9ybWF0Q29tbWFuZC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJOTMzMDlFMDUwOTlFNjQ5MjAwNTZFNTgxIC8qIFJlbW92ZU5vZGVDb21tYW5kLmggaW4gSGVh
ZGVycyAqLywKQEAgLTI3MDA0LDcgKzI2OTk3LDYgQEAKIAkJCQlCQ0FCNDE4MTEzRTM1NkU4MDBE
OEFBRjMgLyogUmVnaW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg1MDMxQjRCMEE0NEVGQzcw
MEY5OTJFMCAvKiBSZWdpc3RlcmVkRXZlbnRMaXN0ZW5lci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlCMkMzREEyQzBEMDA2QzFEMDBFRjZGMjYgLyogUmVndWxhckV4cHJlc3Npb24uY3BwIGluIFNv
dXJjZXMgKi8sCi0JCQkJNEEwMTNEMjkxNTEyRkQ3NzAwRTFFNjEzIC8qIFJlaWZpZWRUcmVlVHJh
dmVyc2FsLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzMzA5RTAwMDk5RTY0OTIwMDU2RTU4MSAv
KiBSZW1vdmVDU1NQcm9wZXJ0eUNvbW1hbmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRDA2QzBE
OTAwQ0ZEMTE0NjAwNjVGNDNGIC8qIFJlbW92ZUZvcm1hdENvbW1hbmQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJOTMzMDlFMDQwOTlFNjQ5MjAwNTZFNTgxIC8qIFJlbW92ZU5vZGVDb21tYW5kLmNw
cCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1JlaWZpZWRU
cmVlVHJhdmVyc2FsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9SZWlmaWVkVHJlZVRyYXZlcnNh
bC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZmNTFlMTZkMmRhODA1ZWM4YTZj
MGU1ODgwNWE5ZjczM2Y2MmUzYzQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1JlaWZpZWRUcmVlVHJhdmVyc2FsLmNwcAor
KysgL2Rldi9udWxsCkBAIC0xLDMyNSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEy
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
LSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
LSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2lu
Y2x1ZGUgIlJlaWZpZWRUcmVlVHJhdmVyc2FsLmgiCi0KLSNpbmNsdWRlICJFbGVtZW50LmgiCi0j
aW5jbHVkZSAiSFRNTENvbnRlbnRTZWxlY3Rvci5oIgotI2luY2x1ZGUgIkluc2VydGlvblBvaW50
LmgiCi0jaW5jbHVkZSAiU2hhZG93VHJlZS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXN0
YXRpYyBpbmxpbmUgYm9vbCBpc1NoYWRvd0hvc3QoY29uc3QgTm9kZSogbm9kZSkKLXsKLSAgICBy
ZXR1cm4gbm9kZSAmJiBub2RlLT5pc0VsZW1lbnROb2RlKCkgJiYgdG9FbGVtZW50KG5vZGUpLT5o
YXNTaGFkb3dSb290KCk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgU2hhZG93VHJlZSogc2hhZG93VHJl
ZUZvcihjb25zdCBOb2RlKiBub2RlKQotewotICAgIGlmIChub2RlICYmIG5vZGUtPmlzRWxlbWVu
dE5vZGUoKSkKLSAgICAgICAgcmV0dXJuIHRvRWxlbWVudChub2RlKS0+c2hhZG93VHJlZSgpOwot
ICAgIHJldHVybiAwOwotfQotCi1zdGF0aWMgaW5saW5lIFNoYWRvd1RyZWUqIHNoYWRvd1RyZWVP
ZlBhcmVudChjb25zdCBOb2RlKiBub2RlKQotewotICAgIGlmIChub2RlICYmIG5vZGUtPnBhcmVu
dE5vZGUoKSkKLSAgICAgICAgcmV0dXJuIHNoYWRvd1RyZWVGb3Iobm9kZS0+cGFyZW50Tm9kZSgp
KTsKLSAgICByZXR1cm4gMDsKLX0KLQotTm9kZSogUmVpZmllZFRyZWVUcmF2ZXJzYWw6OmZpcnN0
Q2hpbGQoY29uc3QgTm9kZSogbm9kZSkKLXsKLSAgICBBU1NFUlQobm9kZSk7Ci0gICAgTm9kZSog
Y2hpbGQgPSB0cmF2ZXJzZUNoaWxkKG5vZGUsIFJlaWZpZWRUcmVlVHJhdmVyc2FsRGlyZWN0aW9u
Rm9yd2FyZCk7Ci0gICAgQVNTRVJUKCFjaGlsZCB8fCAhY2hpbGQtPmlzU2hhZG93Um9vdCgpKTsK
LSAgICByZXR1cm4gY2hpbGQ7Ci19Ci0KLU5vZGUqIFJlaWZpZWRUcmVlVHJhdmVyc2FsOjpsYXN0
Q2hpbGQoY29uc3QgTm9kZSogbm9kZSkKLXsKLSAgICBBU1NFUlQobm9kZSk7Ci0gICAgTm9kZSog
Y2hpbGQgPSB0cmF2ZXJzZUNoaWxkKG5vZGUsIFJlaWZpZWRUcmVlVHJhdmVyc2FsRGlyZWN0aW9u
QmFja3dhcmQpOwotICAgIEFTU0VSVCghY2hpbGQgfHwgIWNoaWxkLT5pc1NoYWRvd1Jvb3QoKSk7
Ci0gICAgcmV0dXJuIGNoaWxkOwotfQotCi1Ob2RlKiBSZWlmaWVkVHJlZVRyYXZlcnNhbDo6bGFz
dENoaWxkV2l0aG91dENyb3NzaW5nVXBwZXJCb3VuZGFyeShjb25zdCBOb2RlKiBub2RlKQotewot
ICAgIEFTU0VSVChub2RlKTsKLSAgICBOb2RlKiBjaGlsZCA9IHRyYXZlcnNlTGlnaHRDaGlsZHJl
bihub2RlLCBSZWlmaWVkVHJlZVRyYXZlcnNhbERpcmVjdGlvbkJhY2t3YXJkKTsKLSAgICBBU1NF
UlQoIWNoaWxkIHx8ICFjaGlsZC0+aXNTaGFkb3dSb290KCkpOwotICAgIHJldHVybiBjaGlsZDsK
LX0KLQotTm9kZSogUmVpZmllZFRyZWVUcmF2ZXJzYWw6OnRyYXZlcnNlQ2hpbGQoY29uc3QgTm9k
ZSogbm9kZSwgUmVpZmllZFRyZWVUcmF2ZXJzYWxEaXJlY3Rpb24gZGlyZWN0aW9uKQotewotICAg
IEFTU0VSVChub2RlKTsKLSAgICAvLyBGSVhNRTogQWRkIGFuIGFzc2VydGlvbiBvbmNlIEluc2Vy
dGlvblBvaW50IGhhdmUgaXNBY3RpdmUoKSBmdW5jdGlvbi4KLSAgICAvLyBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODIwMTAKLSAgICAvLyBBU1NFUlQoIWlzSW5zZXJ0
aW9uUG9pbnQobm9kZSkgfHwgIXRvSW5zZXJ0aW9uUG9pbnQobm9kZSktPmlzQWN0aXZlKCkpOwot
ICAgIEFTU0VSVCghbm9kZS0+aXNTaGFkb3dSb290KCkpOwotICAgIFNoYWRvd1RyZWUqIHNoYWRv
d1RyZWUgPSBzaGFkb3dUcmVlRm9yKG5vZGUpOwotICAgIGlmIChzaGFkb3dUcmVlICYmIHNoYWRv
d1RyZWUtPmhhc1NoYWRvd1Jvb3QoKSkKLSAgICAgICAgcmV0dXJuIHRyYXZlcnNlTGlnaHRDaGls
ZHJlbihzaGFkb3dUcmVlLT55b3VuZ2VzdFNoYWRvd1Jvb3QoKSwgZGlyZWN0aW9uKTsKLSAgICBy
ZXR1cm4gdHJhdmVyc2VMaWdodENoaWxkcmVuKG5vZGUsIGRpcmVjdGlvbik7Ci19Ci0KLU5vZGUq
IFJlaWZpZWRUcmVlVHJhdmVyc2FsOjp0cmF2ZXJzZUxpZ2h0Q2hpbGRyZW4oY29uc3QgTm9kZSog
bm9kZSwgUmVpZmllZFRyZWVUcmF2ZXJzYWxEaXJlY3Rpb24gZGlyZWN0aW9uKQotewotICAgIEFT
U0VSVChub2RlKTsKLSAgICBpZiAoTm9kZSogY2hpbGQgPSAoZGlyZWN0aW9uID09IFJlaWZpZWRU
cmVlVHJhdmVyc2FsRGlyZWN0aW9uRm9yd2FyZCA/IG5vZGUtPmZpcnN0Q2hpbGQoKSA6IG5vZGUt
Pmxhc3RDaGlsZCgpKSkKLSAgICAgICAgcmV0dXJuIHRyYXZlcnNlTm9kZShjaGlsZCwgZGlyZWN0
aW9uKTsKLSAgICByZXR1cm4gMDsKLX0KLQotTm9kZSogUmVpZmllZFRyZWVUcmF2ZXJzYWw6OnRy
YXZlcnNlTm9kZShjb25zdCBOb2RlKiBub2RlLCBSZWlmaWVkVHJlZVRyYXZlcnNhbERpcmVjdGlv
biBkaXJlY3Rpb24pCi17Ci0gICAgQVNTRVJUKG5vZGUpOwotICAgIGlmIChpc0luc2VydGlvblBv
aW50KG5vZGUpKSB7Ci0gICAgICAgIGNvbnN0IEhUTUxDb250ZW50U2VsZWN0aW9uTGlzdCogc2Vs
ZWN0aW9uTGlzdCA9IHRvSW5zZXJ0aW9uUG9pbnQobm9kZSktPnNlbGVjdGlvbnMoKTsKLSAgICAg
ICAgaWYgKEhUTUxDb250ZW50U2VsZWN0aW9uKiBzZWxlY3Rpb24gPSAoZGlyZWN0aW9uID09IFJl
aWZpZWRUcmVlVHJhdmVyc2FsRGlyZWN0aW9uRm9yd2FyZCA/IHNlbGVjdGlvbkxpc3QtPmZpcnN0
KCkgOiBzZWxlY3Rpb25MaXN0LT5sYXN0KCkpKQotICAgICAgICAgICAgcmV0dXJuIHRyYXZlcnNl
Tm9kZShzZWxlY3Rpb24tPm5vZGUoKSwgZGlyZWN0aW9uKTsKLSAgICAgICAgcmV0dXJuIHRyYXZl
cnNlTGlnaHRDaGlsZHJlbihub2RlLCBkaXJlY3Rpb24pOwotICAgIH0KLSAgICByZXR1cm4gY29u
c3RfY2FzdDxOb2RlKj4obm9kZSk7Ci19Ci0KLU5vZGUqIFJlaWZpZWRUcmVlVHJhdmVyc2FsOjpu
ZXh0U2libGluZyhjb25zdCBOb2RlKiBub2RlKQotewotICAgIEFTU0VSVChub2RlKTsKLSAgICBB
U1NFUlQoIW5vZGUtPmlzU2hhZG93Um9vdCgpKTsKLSAgICBOb2RlKiBuZXh0ID0gdHJhdmVyc2VT
aWJsaW5nT3JCYWNrVG9JbnNlcnRpb25Qb2ludChub2RlLCBSZWlmaWVkVHJlZVRyYXZlcnNhbERp
cmVjdGlvbkZvcndhcmQpOwotICAgIEFTU0VSVCghbmV4dCB8fCAhbmV4dC0+aXNTaGFkb3dSb290
KCkpOwotICAgIHJldHVybiBuZXh0OwotfQotCi1Ob2RlKiBSZWlmaWVkVHJlZVRyYXZlcnNhbDo6
cHJldmlvdXNTaWJsaW5nKGNvbnN0IE5vZGUqIG5vZGUpCi17Ci0gICAgQVNTRVJUKG5vZGUpOwot
ICAgIEFTU0VSVCghbm9kZS0+aXNTaGFkb3dSb290KCkpOwotICAgIE5vZGUqIG5leHQgPSB0cmF2
ZXJzZVNpYmxpbmdPckJhY2tUb0luc2VydGlvblBvaW50KG5vZGUsIFJlaWZpZWRUcmVlVHJhdmVy
c2FsRGlyZWN0aW9uQmFja3dhcmQpOwotICAgIEFTU0VSVCghbmV4dCB8fCAhbmV4dC0+aXNTaGFk
b3dSb290KCkpOwotICAgIHJldHVybiBuZXh0OwotfQotCi1Ob2RlKiBSZWlmaWVkVHJlZVRyYXZl
cnNhbDo6dHJhdmVyc2VTaWJsaW5nT3JCYWNrVG9JbnNlcnRpb25Qb2ludChjb25zdCBOb2RlKiBu
b2RlLCBSZWlmaWVkVHJlZVRyYXZlcnNhbERpcmVjdGlvbiBkaXJlY3Rpb24pCi17Ci0gICAgQVNT
RVJUKG5vZGUpOwotICAgIFNoYWRvd1RyZWUqIHNoYWRvd1RyZWUgPSBzaGFkb3dUcmVlT2ZQYXJl
bnQobm9kZSk7Ci0gICAgaWYgKCFzaGFkb3dUcmVlKQotICAgICAgICByZXR1cm4gdHJhdmVyc2VT
aWJsaW5nSW5DdXJyZW50VHJlZShub2RlLCBkaXJlY3Rpb24pOwotICAgIEhUTUxDb250ZW50U2Vs
ZWN0aW9uKiBzZWxlY3Rpb24gPSBzaGFkb3dUcmVlLT5zZWxlY3Rpb25Gb3Iobm9kZSk7Ci0gICAg
aWYgKCFzZWxlY3Rpb24pCi0gICAgICAgIHJldHVybiB0cmF2ZXJzZVNpYmxpbmdJbkN1cnJlbnRU
cmVlKG5vZGUsIGRpcmVjdGlvbik7Ci0gICAgaWYgKEhUTUxDb250ZW50U2VsZWN0aW9uKiBuZXh0
U2VsZWN0aW9uID0gKGRpcmVjdGlvbiA9PSBSZWlmaWVkVHJlZVRyYXZlcnNhbERpcmVjdGlvbkZv
cndhcmQgPyBzZWxlY3Rpb24tPm5leHQoKSA6IHNlbGVjdGlvbi0+cHJldmlvdXMoKSkpCi0gICAg
ICAgIHJldHVybiB0cmF2ZXJzZU5vZGUobmV4dFNlbGVjdGlvbi0+bm9kZSgpLCBkaXJlY3Rpb24p
OwotICAgIHJldHVybiB0cmF2ZXJzZVNpYmxpbmdPckJhY2tUb0luc2VydGlvblBvaW50KHNlbGVj
dGlvbi0+aW5zZXJ0aW9uUG9pbnQoKSwgZGlyZWN0aW9uKTsKLX0KLQotTm9kZSogUmVpZmllZFRy
ZWVUcmF2ZXJzYWw6OnRyYXZlcnNlU2libGluZ0luQ3VycmVudFRyZWUoY29uc3QgTm9kZSogbm9k
ZSwgUmVpZmllZFRyZWVUcmF2ZXJzYWxEaXJlY3Rpb24gZGlyZWN0aW9uKQotewotICAgIEFTU0VS
VChub2RlKTsKLSAgICBpZiAoTm9kZSogbmV4dCA9IChkaXJlY3Rpb24gPT0gUmVpZmllZFRyZWVU
cmF2ZXJzYWxEaXJlY3Rpb25Gb3J3YXJkID8gbm9kZS0+bmV4dFNpYmxpbmcoKSA6IG5vZGUtPnBy
ZXZpb3VzU2libGluZygpKSkKLSAgICAgICAgcmV0dXJuIHRyYXZlcnNlTm9kZShuZXh0LCBkaXJl
Y3Rpb24pOwotICAgIGlmIChOb2RlKiBuZXh0ID0gdHJhdmVyc2VTaWJsaW5nT3JCYWNrVG9Zb3Vu
Z2VyU2hhZG93Um9vdChub2RlLCBkaXJlY3Rpb24pKQotICAgICAgICByZXR1cm4gbmV4dDsKLSAg
ICByZXR1cm4gZXNjYXBlRmFsbGJhY2tDb250ZW50RWxlbWVudChub2RlLCBkaXJlY3Rpb24pOwot
fQotCi1Ob2RlKiBSZWlmaWVkVHJlZVRyYXZlcnNhbDo6dHJhdmVyc2VTaWJsaW5nT3JCYWNrVG9Z
b3VuZ2VyU2hhZG93Um9vdChjb25zdCBOb2RlKiBub2RlLCBSZWlmaWVkVHJlZVRyYXZlcnNhbERp
cmVjdGlvbiBkaXJlY3Rpb24pCi17Ci0gICAgQVNTRVJUKG5vZGUpOwotICAgIGlmIChub2RlLT5w
YXJlbnROb2RlKCkgJiYgbm9kZS0+cGFyZW50Tm9kZSgpLT5pc1NoYWRvd1Jvb3QoKSkgewotICAg
ICAgICBTaGFkb3dSb290KiBwYXJlbnRTaGFkb3dSb290ID0gdG9TaGFkb3dSb290KG5vZGUtPnBh
cmVudE5vZGUoKSk7Ci0gICAgICAgIGlmICghcGFyZW50U2hhZG93Um9vdC0+aXNZb3VuZ2VzdCgp
KSB7Ci0gICAgICAgICAgICBJbnNlcnRpb25Qb2ludCogYXNzaWduZWRJbnNlcnRpb25Qb2ludCA9
IHBhcmVudFNoYWRvd1Jvb3QtPmFzc2lnbmVkVG8oKTsKLSAgICAgICAgICAgIEFTU0VSVChhc3Np
Z25lZEluc2VydGlvblBvaW50KTsKLSAgICAgICAgICAgIHJldHVybiB0cmF2ZXJzZVNpYmxpbmdJ
bkN1cnJlbnRUcmVlKGFzc2lnbmVkSW5zZXJ0aW9uUG9pbnQsIGRpcmVjdGlvbik7Ci0gICAgICAg
IH0KLSAgICB9Ci0gICAgcmV0dXJuIDA7Ci19Ci0KLU5vZGUqIFJlaWZpZWRUcmVlVHJhdmVyc2Fs
Ojplc2NhcGVGYWxsYmFja0NvbnRlbnRFbGVtZW50KGNvbnN0IE5vZGUqIG5vZGUsIFJlaWZpZWRU
cmVlVHJhdmVyc2FsRGlyZWN0aW9uIGRpcmVjdGlvbikKLXsKLSAgICBBU1NFUlQobm9kZSk7Ci0g
ICAgaWYgKG5vZGUtPnBhcmVudE5vZGUoKSAmJiBpc0luc2VydGlvblBvaW50KG5vZGUtPnBhcmVu
dE5vZGUoKSkpCi0gICAgICAgIHJldHVybiB0cmF2ZXJzZVNpYmxpbmdPckJhY2tUb0luc2VydGlv
blBvaW50KG5vZGUtPnBhcmVudE5vZGUoKSwgZGlyZWN0aW9uKTsKLSAgICByZXR1cm4gMDsKLX0K
LQotTm9kZSogUmVpZmllZFRyZWVUcmF2ZXJzYWw6OnRyYXZlcnNlTm9kZUVzY2FwaW5nRmFsbGJh
Y2tDb250ZW50cyhjb25zdCBOb2RlKiBub2RlLCBDcm9zc2VkVXBwZXJCb3VuZGFyeSYgY3Jvc3Nl
ZCkKLXsKLSAgICBBU1NFUlQobm9kZSk7Ci0gICAgaWYgKGlzSW5zZXJ0aW9uUG9pbnQobm9kZSkp
Ci0gICAgICAgIHJldHVybiBwYXJlbnROb2RlT3JCYWNrVG9JbnNlcnRpb25Qb2ludChub2RlLCBj
cm9zc2VkKTsKLSAgICBjcm9zc2VkID0gTm90Q3Jvc3NlZDsKLSAgICByZXR1cm4gY29uc3RfY2Fz
dDxOb2RlKj4obm9kZSk7Ci19Ci0KLU5vZGUqIFJlaWZpZWRUcmVlVHJhdmVyc2FsOjpwYXJlbnRO
b2RlKGNvbnN0IE5vZGUqIG5vZGUsIENyb3NzZWRVcHBlckJvdW5kYXJ5JiBjcm9zc2VkKQotewot
ICAgIEFTU0VSVChub2RlKTsKLSAgICBBU1NFUlQoIW5vZGUtPmlzU2hhZG93Um9vdCgpKTsKLSAg
ICBjcm9zc2VkID0gTm90Q3Jvc3NlZDsKLSAgICAvLyBGSVhNRTogQWRkIGFuIGFzc2VydGlvbiBv
bmNlIEluc2VydGlvblBvaW50IGhhdmUgaXNBY3RpdmUoKSBmdW5jdGlvbi4KLSAgICAvLyBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODIwMTAKLSAgICAvLyBBU1NFUlQo
IWlzSW5zZXJ0aW9uUG9pbnQobm9kZSkgfHwgIXRvSW5zZXJ0aW9uUG9pbnQobm9kZSktPmlzQWN0
aXZlKCkpOwotICAgIHJldHVybiBwYXJlbnROb2RlT3JCYWNrVG9JbnNlcnRpb25Qb2ludChub2Rl
LCBjcm9zc2VkKTsKLX0KLQotTm9kZSogUmVpZmllZFRyZWVUcmF2ZXJzYWw6OnBhcmVudE5vZGUo
Y29uc3QgTm9kZSogbm9kZSkKLXsKLSAgICBDcm9zc2VkVXBwZXJCb3VuZGFyeSBjcm9zc2VkOwot
ICAgIE5vZGUqIHBhcmVudCA9IHBhcmVudE5vZGUobm9kZSwgY3Jvc3NlZCk7Ci0gICAgVU5VU0VE
X1BBUkFNKGNyb3NzZWQpOwotICAgIHJldHVybiBwYXJlbnQ7Ci19Ci0KLU5vZGUqIFJlaWZpZWRU
cmVlVHJhdmVyc2FsOjpwYXJlbnROb2RlV2l0aG91dENyb3NzaW5nVXBwZXJCb3VuZGFyeShjb25z
dCBOb2RlKiBub2RlKQotewotICAgIEFTU0VSVChub2RlKTsKLSAgICBBU1NFUlQoIW5vZGUtPmlz
U2hhZG93Um9vdCgpKTsKLSAgICAvLyBGSVhNRTogQWRkIGFuIGFzc2VydGlvbiBvbmNlIEluc2Vy
dGlvblBvaW50IGhhdmUgaXNBY3RpdmUoKSBmdW5jdGlvbi4KLSAgICAvLyBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODIwMTAKLSAgICAvLyBBU1NFUlQoIWlzSW5zZXJ0
aW9uUG9pbnQobm9kZSkgfHwgIXRvSW5zZXJ0aW9uUG9pbnQobm9kZSktPmlzQWN0aXZlKCkpOwot
ICAgIENyb3NzZWRVcHBlckJvdW5kYXJ5IGNyb3NzZWQ7Ci0gICAgTm9kZSogcGFyZW50ID0gcGFy
ZW50Tm9kZShub2RlLCBjcm9zc2VkKTsKLSAgICBpZiAoY3Jvc3NlZCA9PSBDcm9zc2VkKQotICAg
ICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gcGFyZW50OwotfQotCi1Ob2RlKiBSZWlmaWVkVHJl
ZVRyYXZlcnNhbDo6cGFyZW50Tm9kZU9yQmFja1RvSW5zZXJ0aW9uUG9pbnQoY29uc3QgTm9kZSog
bm9kZSwgQ3Jvc3NlZFVwcGVyQm91bmRhcnkmIGNyb3NzZWQpCi17Ci0gICAgQVNTRVJUKGNyb3Nz
ZWQgPT0gTm90Q3Jvc3NlZCk7Ci0gICAgaWYgKFNoYWRvd1RyZWUqIHNoYWRvd1RyZWUgPSBzaGFk
b3dUcmVlT2ZQYXJlbnQobm9kZSkpIHsKLSAgICAgICAgaWYgKEhUTUxDb250ZW50U2VsZWN0aW9u
KiBzZWxlY3Rpb24gPSBzaGFkb3dUcmVlLT5zZWxlY3Rpb25Gb3Iobm9kZSkpCi0gICAgICAgICAg
ICByZXR1cm4gcGFyZW50Tm9kZU9yQmFja1RvSW5zZXJ0aW9uUG9pbnQoc2VsZWN0aW9uLT5pbnNl
cnRpb25Qb2ludCgpLCBjcm9zc2VkKTsKLSAgICB9Ci0gICAgcmV0dXJuIHBhcmVudE5vZGVJbkN1
cnJlbnRUcmVlKG5vZGUsIGNyb3NzZWQpOwotfQotCi1Ob2RlKiBSZWlmaWVkVHJlZVRyYXZlcnNh
bDo6cGFyZW50Tm9kZUluQ3VycmVudFRyZWUoY29uc3QgTm9kZSogbm9kZSwgQ3Jvc3NlZFVwcGVy
Qm91bmRhcnkmIGNyb3NzZWQpCi17Ci0gICAgQVNTRVJUKGNyb3NzZWQgPT0gTm90Q3Jvc3NlZCk7
Ci0gICAgaWYgKE5vZGUqIHBhcmVudCA9IG5vZGUtPnBhcmVudE5vZGUoKSkgewotICAgICAgICBp
ZiAocGFyZW50LT5pc1NoYWRvd1Jvb3QoKSkKLSAgICAgICAgICAgIHJldHVybiBwYXJlbnROb2Rl
QmFja1RvWW91bmdlclNoYWRvd1Jvb3RPckhvc3QodG9TaGFkb3dSb290KHBhcmVudCksIGNyb3Nz
ZWQpOwotICAgICAgICByZXR1cm4gdHJhdmVyc2VOb2RlRXNjYXBpbmdGYWxsYmFja0NvbnRlbnRz
KHBhcmVudCwgY3Jvc3NlZCk7Ci0gICAgfQotICAgIHJldHVybiAwOwotfQotCi1Ob2RlKiBSZWlm
aWVkVHJlZVRyYXZlcnNhbDo6cGFyZW50Tm9kZUJhY2tUb1lvdW5nZXJTaGFkb3dSb290T3JIb3N0
KGNvbnN0IFNoYWRvd1Jvb3QqIHNoYWRvd1Jvb3QsIENyb3NzZWRVcHBlckJvdW5kYXJ5JiBjcm9z
c2VkKQotewotICAgIEFTU0VSVChzaGFkb3dSb290KTsKLSAgICBBU1NFUlQoY3Jvc3NlZCA9PSBO
b3RDcm9zc2VkKTsKLSAgICBpZiAoc2hhZG93Um9vdC0+aXNZb3VuZ2VzdCgpKSB7Ci0gICAgICAg
IGNyb3NzZWQgPSBDcm9zc2VkOwotICAgICAgICByZXR1cm4gc2hhZG93Um9vdC0+aG9zdCgpOwot
ICAgIH0KLSAgICBJbnNlcnRpb25Qb2ludCogYXNzaWduZWRJbnNlcnRpb25Qb2ludCA9IHNoYWRv
d1Jvb3QtPmFzc2lnbmVkVG8oKTsKLSAgICBBU1NFUlQoYXNzaWduZWRJbnNlcnRpb25Qb2ludCk7
Ci0gICAgcmV0dXJuIHBhcmVudE5vZGVPckJhY2tUb0luc2VydGlvblBvaW50KGFzc2lnbmVkSW5z
ZXJ0aW9uUG9pbnQsIGNyb3NzZWQpOwotfQotCi1Ob2RlKiBSZWlmaWVkVHJlZVRyYXZlcnNhbDo6
YWRqdXN0ZWRQYXJlbnROb2RlKGNvbnN0IE5vZGUqIG5vZGUpCi17Ci0gICAgaWYgKFNoYWRvd1Ry
ZWUqIHNoYWRvd1RyZWUgPSBzaGFkb3dUcmVlT2ZQYXJlbnQobm9kZSkpIHsKLSAgICAgICAgaWYg
KEhUTUxDb250ZW50U2VsZWN0aW9uKiBzZWxlY3Rpb24gPSBzaGFkb3dUcmVlLT5zZWxlY3Rpb25G
b3Iobm9kZSkpCi0gICAgICAgICAgICByZXR1cm4gc2VsZWN0aW9uLT5pbnNlcnRpb25Qb2ludCgp
OwotICAgIH0KLSAgICBpZiAobm9kZS0+aXNTaGFkb3dSb290KCkpIHsKLSAgICAgICAgY29uc3Qg
U2hhZG93Um9vdCogc2hhZG93Um9vdCA9IHRvU2hhZG93Um9vdChub2RlKTsKLSAgICAgICAgaWYg
KCFzaGFkb3dSb290LT5pc1lvdW5nZXN0KCkpIHsKLSAgICAgICAgICAgIEluc2VydGlvblBvaW50
KiBhc3NpZ25lZEluc2VydGlvblBvaW50ID0gc2hhZG93Um9vdC0+YXNzaWduZWRUbygpOwotICAg
ICAgICAgICAgQVNTRVJUKGFzc2lnbmVkSW5zZXJ0aW9uUG9pbnQpOwotICAgICAgICAgICAgcmV0
dXJuIGFzc2lnbmVkSW5zZXJ0aW9uUG9pbnQ7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIHNo
YWRvd1Jvb3QtPmhvc3QoKTsKLSAgICB9Ci0gICAgcmV0dXJuIG5vZGUtPnBhcmVudE5vZGUoKTsK
LX0KLQotTm9kZSogUmVpZmllZFRyZWVUcmF2ZXJzYWw6OnRyYXZlcnNlTmV4dE5vZGUoY29uc3Qg
Tm9kZSogbm9kZSkKLXsKLSAgICBpZiAoTm9kZSogbmV4dCA9IGZpcnN0Q2hpbGQobm9kZSkpCi0g
ICAgICAgIHJldHVybiBuZXh0OwotICAgIGlmIChOb2RlKiBuZXh0ID0gbmV4dFNpYmxpbmcobm9k
ZSkpCi0gICAgICAgIHJldHVybiBuZXh0OwotICAgIGNvbnN0IE5vZGUqIG4gPSBub2RlOwotICAg
IHdoaWxlIChuICYmICFuZXh0U2libGluZyhuKSkKLSAgICAgICAgbiA9IHBhcmVudE5vZGUobik7
Ci0gICAgaWYgKG4pCi0gICAgICAgIHJldHVybiBuZXh0U2libGluZyhuKTsKLSAgICByZXR1cm4g
MDsKLX0KLQotTm9kZSogUmVpZmllZFRyZWVUcmF2ZXJzYWw6OnRyYXZlcnNlTmV4dE5vZGVXaXRo
b3V0Q3Jvc3NpbmdVcHBlckJvdW5kYXJ5KGNvbnN0IE5vZGUqIG5vZGUpCi17Ci0gICAgaWYgKCFp
c1NoYWRvd0hvc3Qobm9kZSkpIHsKLSAgICAgICAgaWYgKE5vZGUqIG5leHQgPSB0cmF2ZXJzZUxp
Z2h0Q2hpbGRyZW4obm9kZSwgUmVpZmllZFRyZWVUcmF2ZXJzYWxEaXJlY3Rpb25Gb3J3YXJkKSkK
LSAgICAgICAgICAgIHJldHVybiBuZXh0OwotICAgIH0KLSAgICBpZiAoTm9kZSogbmV4dCA9IG5l
eHRTaWJsaW5nKG5vZGUpKQotICAgICAgICByZXR1cm4gbmV4dDsKLSAgICBjb25zdCBOb2RlKiBu
ID0gbm9kZTsKLSAgICB3aGlsZSAobiAmJiAhbmV4dFNpYmxpbmcobikpCi0gICAgICAgIG4gPSBw
YXJlbnROb2RlV2l0aG91dENyb3NzaW5nVXBwZXJCb3VuZGFyeShuKTsKLSAgICBpZiAobikKLSAg
ICAgICAgcmV0dXJuIG5leHRTaWJsaW5nKG4pOwotICAgIHJldHVybiAwOwotfQotCi1Ob2RlKiBS
ZWlmaWVkVHJlZVRyYXZlcnNhbDo6dHJhdmVyc2VQcmV2aW91c05vZGUoY29uc3QgTm9kZSogbm9k
ZSkKLXsKLSAgICBpZiAoTm9kZSogbiA9IHByZXZpb3VzU2libGluZyhub2RlKSkgewotICAgICAg
ICB3aGlsZSAoTm9kZSogY2hpbGQgPSBSZWlmaWVkVHJlZVRyYXZlcnNhbDo6bGFzdENoaWxkKG4p
KQotICAgICAgICAgICAgbiA9IGNoaWxkOwotICAgICAgICByZXR1cm4gbjsKLSAgICB9Ci0gICAg
cmV0dXJuIHBhcmVudE5vZGUobm9kZSk7Ci19Ci0KLU5vZGUqIFJlaWZpZWRUcmVlVHJhdmVyc2Fs
Ojp0cmF2ZXJzZVByZXZpb3VzTm9kZVdpdGhvdXRDcm9zc2luZ1VwcGVyQm91bmRhcnkoY29uc3Qg
Tm9kZSogbm9kZSkKLXsKLSAgICBpZiAoTm9kZSogbiA9IHByZXZpb3VzU2libGluZyhub2RlKSkg
ewotICAgICAgICB3aGlsZSAoIWlzU2hhZG93SG9zdChuKSkgewotICAgICAgICAgICAgaWYgKE5v
ZGUqIGNoaWxkID0gUmVpZmllZFRyZWVUcmF2ZXJzYWw6OnRyYXZlcnNlTGlnaHRDaGlsZHJlbihu
LCBSZWlmaWVkVHJlZVRyYXZlcnNhbERpcmVjdGlvbkJhY2t3YXJkKSkKLSAgICAgICAgICAgICAg
ICBuID0gY2hpbGQ7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIH0KLSAgICAgICAgcmV0dXJuIG47Ci0gICAgfQotICAgIHJldHVybiBwYXJlbnROb2Rl
V2l0aG91dENyb3NzaW5nVXBwZXJCb3VuZGFyeShub2RlKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9SZWlmaWVkVHJlZVRyYXZlcnNhbC5oIGIv
U291cmNlL1dlYkNvcmUvZG9tL1JlaWZpZWRUcmVlVHJhdmVyc2FsLmgKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDIxMTkzNzM1ZTVkODU2MjQwOGI3ZjkwMDY4MjYwMmNlMDAyNWQwZTku
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL1JlaWZpZWRUcmVlVHJhdmVyc2FsLmgKKysrIC9kZXYvbnVsbApAQCAtMSw5MSAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0g
KgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoK
LSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotI2lmbmRlZiBSZWlmaWVkVHJlZVRyYXZlcnNhbF9oCi0jZGVmaW5lIFJlaWZpZWRU
cmVlVHJhdmVyc2FsX2gKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBOb2RlOwotY2xh
c3MgU2hhZG93Um9vdDsKLQotZW51bSBSZWlmaWVkVHJlZVRyYXZlcnNhbERpcmVjdGlvbiB7Ci0g
ICAgUmVpZmllZFRyZWVUcmF2ZXJzYWxEaXJlY3Rpb25Gb3J3YXJkLAotICAgIFJlaWZpZWRUcmVl
VHJhdmVyc2FsRGlyZWN0aW9uQmFja3dhcmQKLX07Ci0KLS8vIEZJWE1FOiBNYWtlIHNvbWUgZnVu
Y3Rpb25zIGlubGluZSB0byBvcHRpbWlzZSB0aGUgcGVyZm9ybWFuY2UuCi0vLyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODIwMTkKLWNsYXNzIFJlaWZpZWRUcmVlVHJh
dmVyc2FsIHsKLXB1YmxpYzoKLSAgICBlbnVtIENyb3NzZWRVcHBlckJvdW5kYXJ5IHsKLSAgICAg
ICAgTm90Q3Jvc3NlZCwKLSAgICAgICAgQ3Jvc3NlZCwKLSAgICB9OwotCi0gICAgc3RhdGljIE5v
ZGUqIGZpcnN0Q2hpbGQoY29uc3QgTm9kZSopOwotICAgIHN0YXRpYyBOb2RlKiBsYXN0Q2hpbGQo
Y29uc3QgTm9kZSopOwotICAgIHN0YXRpYyBOb2RlKiBsYXN0Q2hpbGRXaXRob3V0Q3Jvc3NpbmdV
cHBlckJvdW5kYXJ5KGNvbnN0IE5vZGUqKTsKLQotICAgIHN0YXRpYyBOb2RlKiBuZXh0U2libGlu
Zyhjb25zdCBOb2RlKik7Ci0gICAgc3RhdGljIE5vZGUqIHByZXZpb3VzU2libGluZyhjb25zdCBO
b2RlKik7Ci0KLSAgICBzdGF0aWMgTm9kZSogcGFyZW50Tm9kZShjb25zdCBOb2RlKiwgQ3Jvc3Nl
ZFVwcGVyQm91bmRhcnkmKTsKLSAgICBzdGF0aWMgTm9kZSogcGFyZW50Tm9kZShjb25zdCBOb2Rl
Kik7Ci0gICAgc3RhdGljIE5vZGUqIHBhcmVudE5vZGVXaXRob3V0Q3Jvc3NpbmdVcHBlckJvdW5k
YXJ5KGNvbnN0IE5vZGUqKTsKLQotICAgIHN0YXRpYyBOb2RlKiB0cmF2ZXJzZU5leHROb2RlKGNv
bnN0IE5vZGUqKTsKLSAgICBzdGF0aWMgTm9kZSogdHJhdmVyc2VQcmV2aW91c05vZGUoY29uc3Qg
Tm9kZSopOwotCi0gICAgLy8gRklYTUU6IEFuICdhZGp1c3RlZCcgaXMgbm90IGdvb2QgbmFtZSBm
b3IgZ2VuZXJhbCB1c2UgY2FzZS4gUmVuYW1lIHRoaXMuCi0gICAgLy8gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgyMDIyCi0gICAgLy8gVGhpcyBtYXkgcmV0dXJuIFNo
YWRvd1Jvb3Qgb3IgSW5zZXJ0aW9uUG9pbnQuCi0gICAgc3RhdGljIE5vZGUqIGFkanVzdGVkUGFy
ZW50Tm9kZShjb25zdCBOb2RlKik7Ci0KLSAgICBzdGF0aWMgTm9kZSogdHJhdmVyc2VOZXh0Tm9k
ZVdpdGhvdXRDcm9zc2luZ1VwcGVyQm91bmRhcnkoY29uc3QgTm9kZSopOwotICAgIHN0YXRpYyBO
b2RlKiB0cmF2ZXJzZVByZXZpb3VzTm9kZVdpdGhvdXRDcm9zc2luZ1VwcGVyQm91bmRhcnkoY29u
c3QgTm9kZSopOwotCi1wcml2YXRlOgotICAgIHN0YXRpYyBOb2RlKiB0cmF2ZXJzZUNoaWxkKGNv
bnN0IE5vZGUqLCBSZWlmaWVkVHJlZVRyYXZlcnNhbERpcmVjdGlvbik7Ci0gICAgc3RhdGljIE5v
ZGUqIHRyYXZlcnNlTm9kZShjb25zdCBOb2RlKiwgUmVpZmllZFRyZWVUcmF2ZXJzYWxEaXJlY3Rp
b24pOwotICAgIHN0YXRpYyBOb2RlKiB0cmF2ZXJzZUxpZ2h0Q2hpbGRyZW4oY29uc3QgTm9kZSos
IFJlaWZpZWRUcmVlVHJhdmVyc2FsRGlyZWN0aW9uKTsKLQotICAgIHN0YXRpYyBOb2RlKiB0cmF2
ZXJzZVNpYmxpbmdPckJhY2tUb0luc2VydGlvblBvaW50KGNvbnN0IE5vZGUqLCBSZWlmaWVkVHJl
ZVRyYXZlcnNhbERpcmVjdGlvbik7Ci0gICAgc3RhdGljIE5vZGUqIHRyYXZlcnNlU2libGluZ0lu
Q3VycmVudFRyZWUoY29uc3QgTm9kZSosIFJlaWZpZWRUcmVlVHJhdmVyc2FsRGlyZWN0aW9uKTsK
LQotICAgIHN0YXRpYyBOb2RlKiB0cmF2ZXJzZVNpYmxpbmdPckJhY2tUb1lvdW5nZXJTaGFkb3dS
b290KGNvbnN0IE5vZGUqLCBSZWlmaWVkVHJlZVRyYXZlcnNhbERpcmVjdGlvbik7Ci0gICAgc3Rh
dGljIE5vZGUqIGVzY2FwZUZhbGxiYWNrQ29udGVudEVsZW1lbnQoY29uc3QgTm9kZSosIFJlaWZp
ZWRUcmVlVHJhdmVyc2FsRGlyZWN0aW9uKTsKLQotICAgIHN0YXRpYyBOb2RlKiB0cmF2ZXJzZU5v
ZGVFc2NhcGluZ0ZhbGxiYWNrQ29udGVudHMoY29uc3QgTm9kZSosIENyb3NzZWRVcHBlckJvdW5k
YXJ5Jik7Ci0KLSAgICBzdGF0aWMgTm9kZSogcGFyZW50Tm9kZU9yQmFja1RvSW5zZXJ0aW9uUG9p
bnQoY29uc3QgTm9kZSosIENyb3NzZWRVcHBlckJvdW5kYXJ5Jik7Ci0gICAgc3RhdGljIE5vZGUq
IHBhcmVudE5vZGVJbkN1cnJlbnRUcmVlKGNvbnN0IE5vZGUqLCBDcm9zc2VkVXBwZXJCb3VuZGFy
eSYpOwotICAgIHN0YXRpYyBOb2RlKiBwYXJlbnROb2RlQmFja1RvWW91bmdlclNoYWRvd1Jvb3RP
ckhvc3QoY29uc3QgU2hhZG93Um9vdCosIENyb3NzZWRVcHBlckJvdW5kYXJ5Jik7Ci19OwotCi19
IC8vIG5hbWVzcGFjZQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApp
bmRleCA4MWY4NmYyNWY2OTY0ODQ1NDQ2ZWIwZWRhNzdiYzVmNDkxYzI2ODkwLi5lNTI3YzgxYzM5
NTQyZTJjODY5ZDllNTkzYzc2MjdiMmNlMjg4NDhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwCkBAIC01MSw3ICs1MSw2IEBACiAjaW5jbHVkZSAiTm9kZVJlbmRlcmluZ0NvbnRl
eHQuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUmFuZ2UuaCIKLSNpbmNsdWRlICJS
ZWlmaWVkVHJlZVRyYXZlcnNhbC5oIgogI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgogI2luY2x1
ZGUgIlJlbmRlclRyZWVBc1RleHQuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgpAQCAtMjU0LDUx
ICsyNTMsNiBAQCBOb2RlKiBJbnRlcm5hbHM6OnByZXZpb3VzTm9kZUJ5V2Fsa2VyKE5vZGUqIG5v
ZGUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgIHJldHVybiB3YWxrZXIuZ2V0KCk7CiB9CiAKLU5v
ZGUqIEludGVybmFsczo6bmV4dFNpYmxpbmdJblJlaWZpZWRUcmVlKE5vZGUqIG5vZGUsIEV4Y2Vw
dGlvbkNvZGUmIGVjKQotewotICAgIGlmICghbm9kZSkgewotICAgICAgICBlYyA9IElOVkFMSURf
QUNDRVNTX0VSUjsKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQotICAgIHJldHVybiBSZWlmaWVk
VHJlZVRyYXZlcnNhbDo6bmV4dFNpYmxpbmcobm9kZSk7Ci19Ci0KLU5vZGUqIEludGVybmFsczo6
Zmlyc3RDaGlsZEluUmVpZmllZFRyZWUoTm9kZSogbm9kZSwgRXhjZXB0aW9uQ29kZSYgZWMpCi17
Ci0gICAgaWYgKCFub2RlKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOwotICAg
ICAgICByZXR1cm4gMDsKLSAgICB9Ci0gICAgcmV0dXJuIFJlaWZpZWRUcmVlVHJhdmVyc2FsOjpm
aXJzdENoaWxkKG5vZGUpOwotfQotCi1Ob2RlKiBJbnRlcm5hbHM6Omxhc3RDaGlsZEluUmVpZmll
ZFRyZWUoTm9kZSogbm9kZSwgRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0gICAgaWYgKCFub2RlKSB7
Ci0gICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOwotICAgICAgICByZXR1cm4gMDsKLSAg
ICB9Ci0gICAgcmV0dXJuIFJlaWZpZWRUcmVlVHJhdmVyc2FsOjpsYXN0Q2hpbGQobm9kZSk7Ci19
Ci0KLU5vZGUqIEludGVybmFsczo6dHJhdmVyc2VOZXh0Tm9kZUluUmVpZmllZFRyZWUoTm9kZSog
bm9kZSwgRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0gICAgaWYgKCFub2RlKSB7Ci0gICAgICAgIGVj
ID0gSU5WQUxJRF9BQ0NFU1NfRVJSOwotICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci0gICAgcmV0
dXJuIFJlaWZpZWRUcmVlVHJhdmVyc2FsOjp0cmF2ZXJzZU5leHROb2RlKG5vZGUpOwotfQotCi1O
b2RlKiBJbnRlcm5hbHM6OnRyYXZlcnNlUHJldmlvdXNOb2RlSW5SZWlmaWVkVHJlZShOb2RlKiBu
b2RlLCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBpZiAoIW5vZGUpIHsKLSAgICAgICAgZWMg
PSBJTlZBTElEX0FDQ0VTU19FUlI7Ci0gICAgICAgIHJldHVybiAwOwotICAgIH0KLSAgICByZXR1
cm4gUmVpZmllZFRyZWVUcmF2ZXJzYWw6OnRyYXZlcnNlUHJldmlvdXNOb2RlKG5vZGUpOwotfQot
CiBTdHJpbmcgSW50ZXJuYWxzOjplbGVtZW50UmVuZGVyVHJlZUFzVGV4dChFbGVtZW50KiBlbGVt
ZW50LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBpZiAoIWVsZW1lbnQpIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDgyZTlhMTc2YmY1M2Y1ZjE2ZTlmYmNiMzBhNmIzMDli
NmFmNTJhODIuLmI5YTVlMzcyZjMxZDk5MTg0YzhmY2IwNjUzYzc5NWJjOGU1YTU4OTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtOTIsMTIgKzkyLDYgQEAgcHVibGljOgogICAg
IE5vZGUqIG5leHROb2RlQnlXYWxrZXIoTm9kZSosIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBOb2Rl
KiBwcmV2aW91c05vZGVCeVdhbGtlcihOb2RlKiwgRXhjZXB0aW9uQ29kZSYpOwogCi0gICAgTm9k
ZSogbmV4dFNpYmxpbmdJblJlaWZpZWRUcmVlKE5vZGUqLCBFeGNlcHRpb25Db2RlJik7Ci0gICAg
Tm9kZSogZmlyc3RDaGlsZEluUmVpZmllZFRyZWUoTm9kZSosIEV4Y2VwdGlvbkNvZGUmKTsKLSAg
ICBOb2RlKiBsYXN0Q2hpbGRJblJlaWZpZWRUcmVlKE5vZGUqLCBFeGNlcHRpb25Db2RlJik7Ci0g
ICAgTm9kZSogdHJhdmVyc2VOZXh0Tm9kZUluUmVpZmllZFRyZWUoTm9kZSosIEV4Y2VwdGlvbkNv
ZGUmKTsKLSAgICBOb2RlKiB0cmF2ZXJzZVByZXZpb3VzTm9kZUluUmVpZmllZFRyZWUoTm9kZSos
IEV4Y2VwdGlvbkNvZGUmKTsKLQogI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQogICAgIHZv
aWQgc2VsZWN0Q29sb3JJbkNvbG9yQ2hvb3NlcihFbGVtZW50KiwgY29uc3QgU3RyaW5nJiBjb2xv
clZhbHVlKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IDA3
MWM1YmYzNjU2NzJjMTMzNTk4YTJjZjRmYmNhZjZlZDViM2FjY2YuLmJjNjhhNzg4MTU3YzNiYTE1
ODgzYjViYzgwNWIzNjNiN2U0ZWMwMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5p
ZGwKQEAgLTYyLDEyICs2Miw2IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBOb2RlIG5leHRO
b2RlQnlXYWxrZXIoaW4gTm9kZSBub2RlKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICAgICAgICAg
Tm9kZSBwcmV2aW91c05vZGVCeVdhbGtlcihpbiBOb2RlIG5vZGUpIHJhaXNlcyhET01FeGNlcHRp
b24pOwogCi0gICAgICAgIE5vZGUgbmV4dFNpYmxpbmdJblJlaWZpZWRUcmVlKGluIE5vZGUgbm9k
ZSkgcmFpc2VzKERPTUV4Y2VwdGlvbik7Ci0gICAgICAgIE5vZGUgZmlyc3RDaGlsZEluUmVpZmll
ZFRyZWUoaW4gTm9kZSBub2RlKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKLSAgICAgICAgTm9kZSBs
YXN0Q2hpbGRJblJlaWZpZWRUcmVlKGluIE5vZGUgbm9kZSkgcmFpc2VzKERPTUV4Y2VwdGlvbik7
Ci0gICAgICAgIE5vZGUgdHJhdmVyc2VOZXh0Tm9kZUluUmVpZmllZFRyZWUoaW4gTm9kZSBub2Rl
KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKLSAgICAgICAgTm9kZSB0cmF2ZXJzZVByZXZpb3VzTm9k
ZUluUmVpZmllZFRyZWUoaW4gTm9kZSBub2RlKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKLQogICAg
ICAgICBib29sZWFuIGF0dGFjaGVkKGluIE5vZGUgbm9kZSkgcmFpc2VzKERPTUV4Y2VwdGlvbik7
CiAKICNpZiBkZWZpbmVkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAmJiBFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmIGIv
U291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCmluZGV4IDY0MGU4YWZmNGQ3ODc5ZmM5NWY3
OTExZWMyNzU2Nzg2Yjc5ZTRhYTYuLmQ3NzhhMzFiMDUxYjVhZmZiODFmNWI2NDVhNjA2MDQ5MWIy
MWIyNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgorKysgYi9T
b3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKQEAgLTE2OCw3ICsxNjgsNiBAQCBFWFBPUlRT
CiAgICAgICAgID9lcXVhbElnbm9yaW5nQ2FzZUBXVEZAQFlBX05QQVZTdHJpbmdJbXBsQDFAUEJF
QFoKICAgICAgICAgP2V4dGVybmFsUmVwcmVzZW50YXRpb25AV2ViQ29yZUBAWUE/QVZTdHJpbmdA
V1RGQEBQQVZFbGVtZW50QDFASUBaCiAgICAgICAgID9maW5kQFN0cmluZ0ltcGxAV1RGQEBRQUVJ
UEFWMTJASUBaCi0gICAgICAgID9maXJzdENoaWxkQFJlaWZpZWRUcmVlVHJhdmVyc2FsQFdlYkNv
cmVAQFNBUEFWTm9kZUAyQFBCVjMyQEBaCiAgICAgICAgID9mcmFtZURlc3Ryb3llZEBGcmFtZURl
c3RydWN0aW9uT2JzZXJ2ZXJAV2ViQ29yZUBAVUFFWFhaCiAgICAgICAgID9mcm9tVVRGOFdpdGhM
YXRpbjFGYWxsYmFja0BTdHJpbmdAV1RGQEBTQT9BVjEyQFBCRUlAWgogICAgICAgICA/Z2V0Q2Fj
aGVkRE9NU3RydWN0dXJlQFdlYkNvcmVAQFlBUEFWU3RydWN0dXJlQEpTQ0BAUEFWSlNET01HbG9i
YWxPYmplY3RAMUBQQlVDbGFzc0luZm9AM0BAWgpAQCAtMTgxLDcgKzE4MCw2IEBAIEVYUE9SVFMK
ICAgICAgICAgP2lzUHJlbG9hZGVkQENhY2hlZFJlc291cmNlTG9hZGVyQFdlYkNvcmVAQFFCRV9O
QUJWU3RyaW5nQFdURkBAQFoKICAgICAgICAgP2pzU3RyaW5nU2xvd0Nhc2VAV2ViQ29yZUBAWUE/
QVZKU1ZhbHVlQEpTQ0BAUEFWRXhlY1N0YXRlQDNAQUFWPyRIYXNoTWFwQFBBVlN0cmluZ0ltcGxA
V1RGQEBWPyRXZWFrQFZKU1N0cmluZ0BKU0NAQEBKU0NAQFVTdHJpbmdIYXNoQDJAVT8kSGFzaFRy
YWl0c0BQQVZTdHJpbmdJbXBsQFdURkBAQDJAVT8kSGFzaFRyYWl0c0BWPyRXZWFrQFZKU1N0cmlu
Z0BKU0NAQEBKU0NAQEAyQEBXVEZAQFBBVlN0cmluZ0ltcGxANkBAWgogICAgICAgICA/bGFzdENo
YW5nZVdhc1VzZXJFZGl0QEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50QFdlYkNvcmVAQFFCRV9O
WFoKLSAgICAgICAgP2xhc3RDaGlsZEBSZWlmaWVkVHJlZVRyYXZlcnNhbEBXZWJDb3JlQEBTQVBB
Vk5vZGVAMkBQQlYzMkBAWgogICAgICAgICA/bWFya2Vyc0ZvckBEb2N1bWVudE1hcmtlckNvbnRy
b2xsZXJAV2ViQ29yZUBAUUFFP0FWPyRWZWN0b3JAUEFWRG9jdW1lbnRNYXJrZXJAV2ViQ29yZUBA
JDBBQEBXVEZAQFBBVk5vZGVAMkBWTWFya2VyVHlwZXNARG9jdW1lbnRNYXJrZXJAMkBAWgogICAg
ICAgICA/bmV4dFNpYmxpbmdAQ29tcG9zZWRTaGFkb3dUcmVlV2Fsa2VyQFdlYkNvcmVAQFFBRVhY
WgogICAgICAgICA/PzBDb21wb3NlZFNoYWRvd1RyZWVXYWxrZXJAV2ViQ29yZUBAUUFFQFBCVk5v
ZGVAMUBXNFBvbGljeUAwMUBAWgpAQCAtMTg5LDcgKzE4Nyw2IEBAIEVYUE9SVFMKICAgICAgICAg
P2xhc3RDaGlsZEBDb21wb3NlZFNoYWRvd1RyZWVXYWxrZXJAV2ViQ29yZUBAUUFFWFhaCiAgICAg
ICAgID9uZXh0QENvbXBvc2VkU2hhZG93VHJlZVdhbGtlckBXZWJDb3JlQEBRQUVYWFoKICAgICAg
ICAgP3ByZXZpb3VzQENvbXBvc2VkU2hhZG93VHJlZVdhbGtlckBXZWJDb3JlQEBRQUVYWFoKLSAg
ICAgICAgP25leHRTaWJsaW5nQFJlaWZpZWRUcmVlVHJhdmVyc2FsQFdlYkNvcmVAQFNBUEFWTm9k
ZUAyQFBCVjMyQEBaCiAgICAgICAgID9udW1iZXJAU3RyaW5nQFdURkBAU0E/QVYxMkBJQFoKICAg
ICAgICAgP251bWJlckBTdHJpbmdAV1RGQEBTQT9BVjEyQEhAWgogICAgICAgICA/b2JzZXJ2ZUZy
YW1lQEZyYW1lRGVzdHJ1Y3Rpb25PYnNlcnZlckBXZWJDb3JlQEBJQUVYUEFWRnJhbWVAMkBAWgpA
QCAtMjM2LDggKzIzMyw2IEBAIEVYUE9SVFMKICAgICAgICAgP3RvSlNAV2ViQ29yZUBAWUE/QVZK
U1ZhbHVlQEpTQ0BAUEFWRXhlY1N0YXRlQDNAUEFWSlNET01HbG9iYWxPYmplY3RAMUBQQVZSYW5n
ZUAxQEBaCiAgICAgICAgID90b0pTQFdlYkNvcmVAQFlBP0FWSlNWYWx1ZUBKU0NAQFBBVkV4ZWNT
dGF0ZUAzQFBBVkpTRE9NR2xvYmFsT2JqZWN0QDFAUEFWTm9kZUxpc3RAMUBAWgogICAgICAgICA/
dG9SYW5nZUBXZWJDb3JlQEBZQVBBVlJhbmdlQDFAVkpTVmFsdWVASlNDQEBAWgotICAgICAgICA/
dHJhdmVyc2VOZXh0Tm9kZUBSZWlmaWVkVHJlZVRyYXZlcnNhbEBXZWJDb3JlQEBTQVBBVk5vZGVA
MkBQQlYzMkBAWgotICAgICAgICA/dHJhdmVyc2VQcmV2aW91c05vZGVAUmVpZmllZFRyZWVUcmF2
ZXJzYWxAV2ViQ29yZUBAU0FQQVZOb2RlQDJAUEJWMzJAQFoKICAgICAgICAgP3RyZWVTY29wZUBO
b2RlQFdlYkNvcmVAQFFCRVBBVlRyZWVTY29wZUAyQFhaCiAgICAgICAgID91cGRhdGVMYXlvdXRJ
Z25vcmVQZW5kaW5nU3R5bGVzaGVldHNARG9jdW1lbnRAV2ViQ29yZUBAUUFFWFhaCiAgICAgICAg
ID91c2VyUHJlZmVycmVkTGFuZ3VhZ2VzQFdlYkNvcmVAQFlBP0FWPyRWZWN0b3JAVlN0cmluZ0BX
VEZAQCQwQUBAV1RGQEBYWgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJD
RkxpdGUuZGVmIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVmCmluZGV4IDM3
MTJmOTgzNjVhNjAyNWM4ZmQ1MzcxOTBjYjgxMDZkNDYzNmMwZWYuLjE0MjUyZTFhYWFhNjhiZDJk
MzEyMTJlMjlmZjdmMzBkZjM4NzE5MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dpbi9X
ZWJLaXQyQ0ZMaXRlLmRlZgorKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5k
ZWYKQEAgLTE2MSw3ICsxNjEsNiBAQCBFWFBPUlRTCiAgICAgICAgID9lcXVhbElnbm9yaW5nQ2Fz
ZUBXVEZAQFlBX05QQVZTdHJpbmdJbXBsQDFAUEJFQFoKICAgICAgICAgP2V4dGVybmFsUmVwcmVz
ZW50YXRpb25AV2ViQ29yZUBAWUE/QVZTdHJpbmdAV1RGQEBQQVZFbGVtZW50QDFASUBaCiAgICAg
ICAgID9maW5kQFN0cmluZ0ltcGxAV1RGQEBRQUVJUEFWMTJASUBaCi0gICAgICAgID9maXJzdENo
aWxkQFJlaWZpZWRUcmVlVHJhdmVyc2FsQFdlYkNvcmVAQFNBUEFWTm9kZUAyQFBCVjMyQEBaCiAg
ICAgICAgID9mcmFtZURlc3Ryb3llZEBGcmFtZURlc3RydWN0aW9uT2JzZXJ2ZXJAV2ViQ29yZUBA
VUFFWFhaCiAgICAgICAgID9mcm9tVVRGOFdpdGhMYXRpbjFGYWxsYmFja0BTdHJpbmdAV1RGQEBT
QT9BVjEyQFBCRUlAWgogICAgICAgICA/Z2V0Q2FjaGVkRE9NU3RydWN0dXJlQFdlYkNvcmVAQFlB
UEFWU3RydWN0dXJlQEpTQ0BAUEFWSlNET01HbG9iYWxPYmplY3RAMUBQQlVDbGFzc0luZm9AM0BA
WgpAQCAtMTc0LDcgKzE3Myw2IEBAIEVYUE9SVFMKICAgICAgICAgP2lzUHJlbG9hZGVkQENhY2hl
ZFJlc291cmNlTG9hZGVyQFdlYkNvcmVAQFFCRV9OQUJWU3RyaW5nQFdURkBAQFoKICAgICAgICAg
P2pzU3RyaW5nU2xvd0Nhc2VAV2ViQ29yZUBAWUE/QVZKU1ZhbHVlQEpTQ0BAUEFWRXhlY1N0YXRl
QDNAQUFWPyRIYXNoTWFwQFBBVlN0cmluZ0ltcGxAV1RGQEBWPyRXZWFrQFZKU1N0cmluZ0BKU0NA
QEBKU0NAQFVTdHJpbmdIYXNoQDJAVT8kSGFzaFRyYWl0c0BQQVZTdHJpbmdJbXBsQFdURkBAQDJA
VT8kSGFzaFRyYWl0c0BWPyRXZWFrQFZKU1N0cmluZ0BKU0NAQEBKU0NAQEAyQEBXVEZAQFBBVlN0
cmluZ0ltcGxANkBAWgogICAgICAgICA/bGFzdENoYW5nZVdhc1VzZXJFZGl0QEhUTUxUZXh0Rm9y
bUNvbnRyb2xFbGVtZW50QFdlYkNvcmVAQFFCRV9OWFoKLSAgICAgICAgP2xhc3RDaGlsZEBSZWlm
aWVkVHJlZVRyYXZlcnNhbEBXZWJDb3JlQEBTQVBBVk5vZGVAMkBQQlYzMkBAWgogICAgICAgICA/
bWFya2Vyc0ZvckBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXJAV2ViQ29yZUBAUUFFP0FWPyRWZWN0
b3JAUEFWRG9jdW1lbnRNYXJrZXJAV2ViQ29yZUBAJDBBQEBXVEZAQFBBVk5vZGVAMkBWTWFya2Vy
VHlwZXNARG9jdW1lbnRNYXJrZXJAMkBAWgogICAgICAgICA/bnVtYmVyQFN0cmluZ0BXVEZAQFNB
P0FWMTJASUBaCiAgICAgICAgID9udW1iZXJAU3RyaW5nQFdURkBAU0E/QVYxMkBIQFoKQEAgLTE4
Niw3ICsxODQsNiBAQCBFWFBPUlRTCiAgICAgICAgID9sYXN0Q2hpbGRAQ29tcG9zZWRTaGFkb3dU
cmVlV2Fsa2VyQFdlYkNvcmVAQFFBRVhYWgogICAgICAgICA/bmV4dEBDb21wb3NlZFNoYWRvd1Ry
ZWVXYWxrZXJAV2ViQ29yZUBAUUFFWFhaCiAgICAgICAgID9wcmV2aW91c0BDb21wb3NlZFNoYWRv
d1RyZWVXYWxrZXJAV2ViQ29yZUBAUUFFWFhaCi0gICAgICAgID9uZXh0U2libGluZ0BSZWlmaWVk
VHJlZVRyYXZlcnNhbEBXZWJDb3JlQEBTQVBBVk5vZGVAMkBQQlYzMkBAWgogICAgICAgICA/bnVt
YmVyT2ZTY29wZWRIVE1MU3R5bGVDaGlsZHJlbkBOb2RlQFdlYkNvcmVAQFFCRUlYWgogICAgICAg
ICA/cGFnZUBEb2N1bWVudEBXZWJDb3JlQEBRQkVQQVZQYWdlQDJAWFoKICAgICAgICAgP3BhaW50
Q29udHJvbFRpbnRzQEZyYW1lVmlld0BXZWJDb3JlQEBBQUVYWFoKQEAgLTIyOSw4ICsyMjYsNiBA
QCBFWFBPUlRTCiAgICAgICAgID90b0pTQFdlYkNvcmVAQFlBP0FWSlNWYWx1ZUBKU0NAQFBBVkV4
ZWNTdGF0ZUAzQFBBVkpTRE9NR2xvYmFsT2JqZWN0QDFAUEFWUmFuZ2VAMUBAWgogICAgICAgICA/
dG9KU0BXZWJDb3JlQEBZQT9BVkpTVmFsdWVASlNDQEBQQVZFeGVjU3RhdGVAM0BQQVZKU0RPTUds
b2JhbE9iamVjdEAxQFBBVk5vZGVMaXN0QDFAQFoKICAgICAgICAgP3RvUmFuZ2VAV2ViQ29yZUBA
WUFQQVZSYW5nZUAxQFZKU1ZhbHVlQEpTQ0BAQFoKLSAgICAgICAgP3RyYXZlcnNlTmV4dE5vZGVA
UmVpZmllZFRyZWVUcmF2ZXJzYWxAV2ViQ29yZUBAU0FQQVZOb2RlQDJAUEJWMzJAQFoKLSAgICAg
ICAgP3RyYXZlcnNlUHJldmlvdXNOb2RlQFJlaWZpZWRUcmVlVHJhdmVyc2FsQFdlYkNvcmVAQFNB
UEFWTm9kZUAyQFBCVjMyQEBaCiAgICAgICAgID90cmVlU2NvcGVATm9kZUBXZWJDb3JlQEBRQkVQ
QVZUcmVlU2NvcGVAMkBYWgogICAgICAgICA/dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxl
c2hlZXRzQERvY3VtZW50QFdlYkNvcmVAQFFBRVhYWgogICAgICAgICA/dXNlclByZWZlcnJlZExh
bmd1YWdlc0BXZWJDb3JlQEBZQT9BVj8kVmVjdG9yQFZTdHJpbmdAV1RGQEAkMEFAQFdURkBAWFoK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIgYi9Tb3VyY2UvYXV0
b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCmluZGV4IDQyZDgwOWE5YTYzZjM1MTk3ODE3YjI4ODA3YTg0
OWYwZjYyMWVkNDYuLmNiZDliZWI1NTdjMDhhMmE5ZmZjOWM1MzM3ZDQ2MTk4YWMyNWY4NWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKKysrIGIvU291cmNlL2F1
dG90b29scy9zeW1ib2xzLmZpbHRlcgpAQCAtNjQsMTEgKzY0LDYgQEAgX1pON1dlYkNvcmUxOEhU
TUxDb250ZW50RWxlbWVudDZjcmVhdGVFUE5TXzhEb2N1bWVudEU7CiBfWk43V2ViQ29yZTE5SW5z
cGVjdG9yQ29udHJvbGxlcjM5c2V0UmVzb3VyY2VzRGF0YVNpemVMaW1pdHNGcm9tSW50ZXJuYWxz
RWlpOwogX1pON1dlYkNvcmUyME5vZGVSZW5kZXJpbmdDb250ZXh0QzFFUE5TXzROb2RlRTsKIF9a
TjdXZWJDb3JlMjBOb2RlUmVuZGVyaW5nQ29udGV4dEQxRXY7Ci1fWk43V2ViQ29yZTIwUmVpZmll
ZFRyZWVUcmF2ZXJzYWwxMW5leHRTaWJsaW5nRVBLTlNfNE5vZGVFOwotX1pON1dlYkNvcmUyMFJl
aWZpZWRUcmVlVHJhdmVyc2FsMjB0cmF2ZXJzZVByZXZpb3VzTm9kZUVQS05TXzROb2RlRTsKLV9a
TjdXZWJDb3JlMjBSZWlmaWVkVHJlZVRyYXZlcnNhbDlsYXN0Q2hpbGRFUEtOU180Tm9kZUU7Ci1f
Wk43V2ViQ29yZTIwUmVpZmllZFRyZWVUcmF2ZXJzYWwxNnRyYXZlcnNlTmV4dE5vZGVFUEtOU180
Tm9kZUU7Ci1fWk43V2ViQ29yZTIwUmVpZmllZFRyZWVUcmF2ZXJzYWwxMGZpcnN0Q2hpbGRFUEtO
U180Tm9kZUU7CiBfWk43V2ViQ29yZTIxZ2V0Q2FjaGVkRE9NU3RydWN0dXJlRVBOU18xN0pTRE9N
R2xvYmFsT2JqZWN0RVBLTjNKU0M5Q2xhc3NJbmZvRTsKIF9aTjdXZWJDb3JlMjJleHRlcm5hbFJl
cHJlc2VudGF0aW9uRVBOU183RWxlbWVudEVqOwogX1pON1dlYkNvcmUyMnVzZXJQcmVmZXJyZWRM
YW5ndWFnZXNFdjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCBkZTgxMDQyMzI5YjA1NzZkOTNlZDcwN2Y0OTUzNGY3YWU0YmJl
OGI5Li44YzQwN2M3YzE1Zjc0YWE2Zjg0ZjIyYzM0YWJiOWRjMDMxYjA4Y2FmIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTggQEAKKzIwMTItMDQtMDMgIEhheWF0byBJdG8gIDxoYXlhdG9AY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJlbW92ZSBSZWlmaWVkVHJlZVRyYXZlcnNhbC4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgzMTEwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRGltaXRyaSBHbGF6a292LgorCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3JlaWZp
ZWQtdHJlZS10cmF2ZXJzYWwtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qv
ZG9tL3NoYWRvdy9yZWlmaWVkLXRyZWUtdHJhdmVyc2FsLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogcGxhdGZvcm0vZWZsL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDoK
KyAgICAgICAgKiBwbGF0Zm9ybS93aW4vU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW5j
YWlyby9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3drMi9Ta2lwcGVkOgorCiAyMDEyLTA0
LTA0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJF
R1JFU1NJT04oMTEyOTM5KTogY29tcG9zaXRpbmcvcmVmbGVjdGlvbnMvYmFja2ZhY2UtaGlkZGVu
LXJlZmxlY3Rpb24uaHRtbCBpcyBjcmFzaGluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3JlaWZpZWQtdHJlZS10cmF2ZXJzYWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3JlaWZpZWQtdHJlZS10cmF2ZXJzYWwtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDQyNGU3NDE4N2EyZTU3Yzg1ZWRmMzY2
YWRkNjMzZWM3YmE2YzM1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9yZWlmaWVkLXRyZWUtdHJhdmVyc2Fs
LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE1NiArMCwwIEBACi1UZXN0cyBmb3Ig
UmVpZmllZCBET00gVHJlZSBUcmF2ZXJzYWwgQVBJcy4gQ2FuIG9ubHkgcnVuIHdpdGhpbiBEUlQK
LQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVNoYWRvd1Jvb3Qgc2hvdWxkIGJlIHVz
ZWQuCi1SZWlmaWVkIFRyZWU6Ci1ESVYJIGlkPWEKLQlESVYJIGlkPWIKLQotVHJhdmVyc2UgaW4g
Zm9yd2FyZC4KLURJVgkgaWQ9YQotRElWCSBpZD1iCi1UcmF2ZXJzZSBpbiBiYWNrd2FyZC4KLURJ
VgkgaWQ9YgotRElWCSBpZD1hCi0KLUEgY29udGVudCBlbGVtZW50IHNob3VsZCBzZWxlY3QgbGln
aHQgY2hpbGRyZW4KLVJlaWZpZWQgVHJlZToKLURJVgkgaWQ9YQotCURJVgkgaWQ9YgotCURJVgkg
aWQ9YwotCURJVgkgaWQ9ZAotCi1UcmF2ZXJzZSBpbiBmb3J3YXJkLgotRElWCSBpZD1hCi1ESVYJ
IGlkPWIKLURJVgkgaWQ9YwotRElWCSBpZD1kCi1UcmF2ZXJzZSBpbiBiYWNrd2FyZC4KLURJVgkg
aWQ9ZAotRElWCSBpZD1jCi1ESVYJIGlkPWIKLURJVgkgaWQ9YQotCi1UZXN0IGZvciBjb250ZW50
IGVsZW1lbnQgc2VsZWN0b3IuCi1SZWlmaWVkIFRyZWU6Ci1ESVYJIGlkPWEKLQlESVYJIGlkPWIK
LQotVHJhdmVyc2UgaW4gZm9yd2FyZC4KLURJVgkgaWQ9YQotVHJhdmVyc2UgaW4gYmFja3dhcmQu
Ci1ESVYJIGlkPWEKLQotTGlnaHQgY2hpbGRyZW4gc2hvdWxkIGJlIHNlbGVjdGVkIG9ubHkgYXQg
b25jZS4KLVJlaWZpZWQgVHJlZToKLURJVgkgaWQ9YQotCURJVgkgaWQ9YgotCi1UcmF2ZXJzZSBp
biBmb3J3YXJkLgotRElWCSBpZD1hCi1ESVYJIGlkPWIKLVRyYXZlcnNlIGluIGJhY2t3YXJkLgot
RElWCSBpZD1lCi1ESVYJIGlkPWQKLURJVgkgaWQ9YwotRElWCSBpZD1hCi0KLUEgY29udGVudCBl
bGVtZW50IGNhbiBoYXZlIGZhbGxiYWNrIGVsZW1lbnRzLgotUmVpZmllZCBUcmVlOgotRElWCSBp
ZD1hCi0JRElWCSBpZD1iCi0JRElWCSBpZD1mMQotCURJVgkgaWQ9ZjIKLQotVHJhdmVyc2UgaW4g
Zm9yd2FyZC4KLURJVgkgaWQ9YQotRElWCSBpZD1iCi1ESVYJIGlkPWYxCi1ESVYJIGlkPWYyCi1U
cmF2ZXJzZSBpbiBiYWNrd2FyZC4KLURJVgkgaWQ9ZjIKLURJVgkgaWQ9ZjEKLURJVgkgaWQ9Ygot
RElWCSBpZD1hCi0KLUZhbGxiYWNrIGVsZW1lbnRzIHNob3VsZCBub3QgYmUgdXNlZCBpZiAgZWxl
bWVudCBzZWxlY3RzIGFueSBlbGVtZW50cy4KLVJlaWZpZWQgVHJlZToKLURJVgkgaWQ9YQotCURJ
VgkgaWQ9YgotCURJVgkgaWQ9ZjEKLQlESVYJIGlkPWYyCi0KLVRyYXZlcnNlIGluIGZvcndhcmQu
Ci1ESVYJIGlkPWEKLURJVgkgaWQ9YgotRElWCSBpZD1mMQotRElWCSBpZD1mMgotVHJhdmVyc2Ug
aW4gYmFja3dhcmQuCi1ESVYJIGlkPWYyCi1ESVYJIGlkPWYxCi1ESVYJIGlkPWIKLURJVgkgaWQ9
YQotCi1UZXN0IGZvciBOZXN0ZWQgU2hhZG93Um9vdHMuCi1SZWlmaWVkIFRyZWU6Ci1ESVYJIGlk
PWEKLQlESVYJIGlkPWIKLQkJRElWCSBpZD1jCi0JCURJVgkgaWQ9ZQotCQlESVYJIGlkPWQKLQlE
SVYJIGlkPWYKLQlESVYJIGlkPWgKLQlESVYJIGlkPWkKLQlESVYJIGlkPWcKLQotVHJhdmVyc2Ug
aW4gZm9yd2FyZC4KLURJVgkgaWQ9YQotRElWCSBpZD1iCi1ESVYJIGlkPWMKLURJVgkgaWQ9ZQot
RElWCSBpZD1kCi1ESVYJIGlkPWYKLURJVgkgaWQ9aAotRElWCSBpZD1pCi1ESVYJIGlkPWcKLVRy
YXZlcnNlIGluIGJhY2t3YXJkLgotRElWCSBpZD1nCi1ESVYJIGlkPWkKLURJVgkgaWQ9aAotRElW
CSBpZD1mCi1ESVYJIGlkPWQKLURJVgkgaWQ9ZQotRElWCSBpZD1jCi1ESVYJIGlkPWIKLURJVgkg
aWQ9YQotCi1UZXN0IGZvciBNdWx0aXBsZSBTaGFkb3dSb290cy4KLVJlaWZpZWQgVHJlZToKLURJ
VgkgaWQ9YQotCURJVgkgaWQ9ZAotCURJVgkgaWQ9YgotCURJVgkgaWQ9ZgotCURJVgkgaWQ9Ywot
CURJVgkgaWQ9ZQotCi1UcmF2ZXJzZSBpbiBmb3J3YXJkLgotRElWCSBpZD1hCi1ESVYJIGlkPWQK
LURJVgkgaWQ9YgotRElWCSBpZD1mCi1ESVYJIGlkPWMKLURJVgkgaWQ9ZQotVHJhdmVyc2UgaW4g
YmFja3dhcmQuCi1ESVYJIGlkPWUKLURJVgkgaWQ9YwotRElWCSBpZD1mCi1ESVYJIGlkPWIKLURJ
VgkgaWQ9ZAotRElWCSBpZD1hCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQot
VEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
cmVpZmllZC10cmVlLXRyYXZlcnNhbC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3JlaWZpZWQtdHJlZS10cmF2ZXJzYWwuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggOTc4YWVlYzc1MmYxNmNmYmZlY2VlYjc3NmEwZjAyNzExNjI1ZTU1Zi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvcmVpZmllZC10cmVlLXRyYXZlcnNhbC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTYy
ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
InJlc291cmNlcy9zaGFkb3ctZG9tLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oIlRlc3RzIGZvciBS
ZWlmaWVkIERPTSBUcmVlIFRyYXZlcnNhbCBBUElzLiBDYW4gb25seSBydW4gd2l0aGluIERSVCIp
OwotCi1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBBc1RleHQoKTsKLQotZnVuY3Rpb24gZHVtcE5vZGUobm9kZSkKLXsKLSAgICB2
YXIgb3V0cHV0ID0gbm9kZS5ub2RlTmFtZSArICJcdCI7Ci0gICAgaWYgKG5vZGUuaWQpCi0gICAg
ICAgIG91dHB1dCArPSAnIGlkPScgKyBub2RlLmlkOwotICAgIGlmIChub2RlLmNsYXNzTmFtZSkK
LSAgICAgICAgb3V0cHV0ICs9ICcgY2xhc3M9JyArIG5vZGUuY2xhc3NOYW1lOwotICAgIHJldHVy
biBvdXRwdXQ7Ci19Ci0KLWZ1bmN0aW9uIGR1bXBSZWlmaWVkVHJlZShub2RlLCBpbmRlbnQpCi17
Ci0gICAgaW5kZW50ID0gaW5kZW50IHx8ICIiOwotICAgIHZhciBvdXRwdXQgPSBpbmRlbnQgKyBk
dW1wTm9kZShub2RlKSArICJcbiI7Ci0gICAgdmFyIGNoaWxkOwotICAgIGZvciAoY2hpbGQgPSBp
bnRlcm5hbHMuZmlyc3RDaGlsZEluUmVpZmllZFRyZWUobm9kZSk7IGNoaWxkOyBjaGlsZCA9IGlu
dGVybmFscy5uZXh0U2libGluZ0luUmVpZmllZFRyZWUoY2hpbGQpKQotICAgICAgICAgb3V0cHV0
ICs9IGR1bXBSZWlmaWVkVHJlZShjaGlsZCwgaW5kZW50ICsgIlx0Iik7Ci0gICAgcmV0dXJuIG91
dHB1dDsKLX0KLQotZnVuY3Rpb24gbGFzdE5vZGVJblJlaWZpZWRUcmVlKHJvb3QpCi17Ci0gICAg
dmFyIGxhc3ROb2RlID0gcm9vdDsKLSAgICB3aGlsZSAoaW50ZXJuYWxzLmxhc3RDaGlsZEluUmVp
ZmllZFRyZWUobGFzdE5vZGUpKQotICAgICAgICBsYXN0Tm9kZSA9IGludGVybmFscy5sYXN0Q2hp
bGRJblJlaWZpZWRUcmVlKGxhc3ROb2RlKTsKLSAgICByZXR1cm4gbGFzdE5vZGU7Ci19Ci0KLWZ1
bmN0aW9uIHNob3dSZWlmaWVkVHJlZUJ5VHJhdmVyc2luZ0luRm93YXJkKHJvb3QpCi17Ci0gICAg
dmFyIG5vZGUgPSByb290OwotICAgIHZhciBsYXN0ID0gbGFzdE5vZGVJblJlaWZpZWRUcmVlKHJv
b3QpOwotICAgIHdoaWxlIChub2RlKSB7Ci0gICAgICAgIGRlYnVnKGR1bXBOb2RlKG5vZGUpKTsK
LSAgICAgICAgaWYgKG5vZGUgPT0gbGFzdCkKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBu
b2RlID0gaW50ZXJuYWxzLnRyYXZlcnNlTmV4dE5vZGVJblJlaWZpZWRUcmVlKG5vZGUpOwotICAg
IH0KLX0KLQotZnVuY3Rpb24gc2hvd1JlaWZpZWRUcmVlQnlUcmF2ZXJzaW5nSW5CYWNrd2FyZChy
b290KQotewotICAgIHZhciBub2RlID0gbGFzdE5vZGVJblJlaWZpZWRUcmVlKHJvb3QpOwotICAg
IHdoaWxlIChub2RlKSB7Ci0gICAgICAgIGRlYnVnKGR1bXBOb2RlKG5vZGUpKTsKLSAgICAgICAg
aWYgKG5vZGUgPT0gcm9vdCkKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBub2RlID0gaW50
ZXJuYWxzLnRyYXZlcnNlUHJldmlvdXNOb2RlSW5SZWlmaWVkVHJlZShub2RlKTsKLSAgICB9Ci19
Ci0KLWZ1bmN0aW9uIHNob3dSZWlmaWVkVHJlZShub2RlKQotewotICAgIGRvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQobm9kZSk7Ci0gICAgZG9jdW1lbnQuYm9keS5vZmZzZXRMZWZ0OwotCi0gICAg
ZGVidWcoJ1JlaWZpZWQgVHJlZTonKTsKLSAgICBkZWJ1ZyhkdW1wUmVpZmllZFRyZWUobm9kZSkp
OwotCi0gICAgZGVidWcoJ1RyYXZlcnNlIGluIGZvcndhcmQuJyk7Ci0gICAgc2hvd1JlaWZpZWRU
cmVlQnlUcmF2ZXJzaW5nSW5Gb3dhcmQobm9kZSk7Ci0KLSAgICBkZWJ1ZygnVHJhdmVyc2UgaW4g
YmFja3dhcmQuJyk7Ci0gICAgc2hvd1JlaWZpZWRUcmVlQnlUcmF2ZXJzaW5nSW5CYWNrd2FyZChu
b2RlKTsKLQotICAgIGRlYnVnKCcnKTsKLX0KLQotZGVidWcoJ1NoYWRvd1Jvb3Qgc2hvdWxkIGJl
IHVzZWQuJyk7Ci1zaG93UmVpZmllZFRyZWUoCi0gICAgY3JlYXRlRE9NKCdkaXYnLCB7J2lkJzog
J2EnfSwKLSAgICAgICAgICAgICAgY3JlYXRlU2hhZG93Um9vdChjcmVhdGVET00oJ2RpdicsIHsn
aWQnOiAnYid9KSksCi0gICAgICAgICAgICAgIGNyZWF0ZURPTSgnZGl2JywgeydpZCc6ICdjJ30p
KSk7Ci0KLWRlYnVnKCdBIGNvbnRlbnQgZWxlbWVudCBzaG91bGQgc2VsZWN0IGxpZ2h0IGNoaWxk
cmVuJyk7Ci1zaG93UmVpZmllZFRyZWUoCi0gICAgY3JlYXRlRE9NKCdkaXYnLCB7J2lkJzogJ2En
fSwKLSAgICAgICAgICAgICAgY3JlYXRlU2hhZG93Um9vdChjcmVhdGVET00oJ2RpdicsIHsnaWQn
OiAnYid9KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVET00oJ2NvbnRl
bnQnKSksCi0gICAgICAgICAgICAgIGNyZWF0ZURPTSgnZGl2JywgeydpZCc6ICdjJ30pLAotICAg
ICAgICAgICAgICBjcmVhdGVET00oJ2RpdicsIHsnaWQnOiAnZCd9KSkpOwotCi1kZWJ1ZygnVGVz
dCBmb3IgY29udGVudCBlbGVtZW50IHNlbGVjdG9yLicpOwotc2hvd1JlaWZpZWRUcmVlKAotICAg
IGNyZWF0ZURPTSgnZGl2JywgeydpZCc6ICdhJ30sCi0gICAgICAgICAgICAgIGNyZWF0ZVNoYWRv
d1Jvb3QoY3JlYXRlRE9NKCdkaXYnLCB7J2lkJzogJ2InfSksCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY3JlYXRlRE9NKCdjb250ZW50JywgeydzZWxlY3QnOiAnLmQnfSkpLAotICAg
ICAgICAgICAgICBjcmVhdGVET00oJ2RpdicsIHsnaWQnOiAnYyd9KSwKLSAgICAgICAgICAgICAg
Y3JlYXRlRE9NKCdkaXYnLCB7J2lkJzogJ2QnfSksCi0gICAgICAgICAgICAgIGNyZWF0ZURPTSgn
ZGl2JywgeydpZCc6ICdlJ30pKSk7Ci0KLWRlYnVnKCdMaWdodCBjaGlsZHJlbiBzaG91bGQgYmUg
c2VsZWN0ZWQgb25seSBhdCBvbmNlLicpOwotc2hvd1JlaWZpZWRUcmVlKAotICAgIGNyZWF0ZURP
TSgnZGl2JywgeydpZCc6ICdhJ30sCi0gICAgICAgICAgICAgIGNyZWF0ZVNoYWRvd1Jvb3QoY3Jl
YXRlRE9NKCdkaXYnLCB7J2lkJzogJ2InfSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY3JlYXRlRE9NKCdjb250ZW50JywgeydzZWxlY3QnOiAnLmQnfSksCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY3JlYXRlRE9NKCdjb250ZW50JykpLAotICAgICAgICAgICAgICBj
cmVhdGVET00oJ2RpdicsIHsnaWQnOiAnYyd9KSwKLSAgICAgICAgICAgICAgY3JlYXRlRE9NKCdk
aXYnLCB7J2lkJzogJ2QnfSksCi0gICAgICAgICAgICAgIGNyZWF0ZURPTSgnZGl2JywgeydpZCc6
ICdlJ30pKSk7Ci0KLWRlYnVnKCdBIGNvbnRlbnQgZWxlbWVudCBjYW4gaGF2ZSBmYWxsYmFjayBl
bGVtZW50cy4nKTsKLXNob3dSZWlmaWVkVHJlZSgKLSAgICBjcmVhdGVET00oJ2RpdicsIHsnaWQn
OiAnYSd9LAotICAgICAgICAgICAgICBjcmVhdGVTaGFkb3dSb290KGNyZWF0ZURPTSgnZGl2Jywg
eydpZCc6ICdiJ30pLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZURPTSgn
Y29udGVudCcsIHsnc2VsZWN0JzogJy56J30sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNyZWF0ZURPTSgnZGl2JywgeydpZCc6ICdmMSd9KSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlRE9NKCdkaXYnLCB7J2lkJzogJ2Yy
J30pKSksCi0gICAgICAgICAgICAgIGNyZWF0ZURPTSgnZGl2JywgeydpZCc6ICdjJ30pKSk7Ci0K
LWRlYnVnKCdGYWxsYmFjayBlbGVtZW50cyBzaG91bGQgbm90IGJlIHVzZWQgaWYgPGNvbnRlbnQ+
IGVsZW1lbnQgc2VsZWN0cyBhbnkgZWxlbWVudHMuJyk7Ci1zaG93UmVpZmllZFRyZWUoCi0gICAg
Y3JlYXRlRE9NKCdkaXYnLCB7J2lkJzogJ2EnfSwKLSAgICAgICAgICAgICAgY3JlYXRlU2hhZG93
Um9vdChjcmVhdGVET00oJ2RpdicsIHsnaWQnOiAnYid9KSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjcmVhdGVET00oJ2NvbnRlbnQnLCB7J3NlbGVjdCc6ICcuYyd9LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVET00oJ2RpdicsIHsnaWQn
OiAnZjEnfSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0
ZURPTSgnZGl2JywgeydpZCc6ICdmMid9KSkpLAotICAgICAgICAgICAgICBjcmVhdGVET00oJ2Rp
dicsIHsnaWQnOiAnYyd9KSkpOwotCi1kZWJ1ZygnVGVzdCBmb3IgTmVzdGVkIFNoYWRvd1Jvb3Rz
LicpOwotc2hvd1JlaWZpZWRUcmVlKAotICAgIGNyZWF0ZURPTSgnZGl2JywgeydpZCc6ICdhJ30s
Ci0gICAgICAgICAgICAgIGNyZWF0ZVNoYWRvd1Jvb3QoY3JlYXRlRE9NKCdkaXYnLCB7J2lkJzog
J2InfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlU2hh
ZG93Um9vdChjcmVhdGVET00oJ2RpdicsIHsnaWQnOiAnYyd9KSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVET00oJ2NvbnRl
bnQnKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjcmVhdGVET00oJ2RpdicsIHsnaWQnOiAnZCd9KSksCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZURPTSgnZGl2JywgeydpZCc6ICdlJ30pKSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVET00oJ2RpdicsIHsnaWQnOiAn
Zid9KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVET00oJ2NvbnRlbnQn
KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVET00oJ2RpdicsIHsnaWQn
OiAnZyd9KSksCi0gICAgICAgICAgICAgIGNyZWF0ZURPTSgnZGl2JywgeydpZCc6ICdoJ30pLAot
ICAgICAgICAgICAgICBjcmVhdGVET00oJ2RpdicsIHsnaWQnOiAnaSd9KSkpOwotCi1kZWJ1Zygn
VGVzdCBmb3IgTXVsdGlwbGUgU2hhZG93Um9vdHMuJyk7Ci1zaG93UmVpZmllZFRyZWUoCi0gICAg
Y3JlYXRlRE9NKCdkaXYnLCB7J2lkJzogJ2EnfSwKLSAgICAgICAgICAgICAgY3JlYXRlU2hhZG93
Um9vdChjcmVhdGVET00oJ2RpdicsIHsnaWQnOiAnYid9KSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjcmVhdGVET00oJ2NvbnRlbnQnKSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjcmVhdGVET00oJ2RpdicsIHsnaWQnOiAnYyd9KSksCi0gICAgICAgICAgICAgIGNy
ZWF0ZVNoYWRvd1Jvb3QoY3JlYXRlRE9NKCdkaXYnLCB7J2lkJzogJ2QnfSksCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY3JlYXRlRE9NKCdzaGFkb3cnKSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjcmVhdGVET00oJ2RpdicsIHsnaWQnOiAnZSd9KSksCi0gICAgICAg
ICAgICAgIGNyZWF0ZURPTSgnZGl2JywgeydpZCc6ICdmJ30pKSk7Ci0KLTwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Nr
aXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvU2tpcHBlZAppbmRleCA1MjJiMGZlYTE0
ZWUwZmI0NDIyNGIxZTY3OWNmMTk4NTkxN2IzYTBkLi4zMmNjYzc5YzU5MmQ5YzIyZGY0NWJlNWE3
MWIzZjg4ZTUzNTAwYjNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvU2tp
cHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvU2tpcHBlZApAQCAtMTgzNSw3ICsx
ODM1LDYgQEAgZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1vdXRzaWRlLXNoYWRvdy1z
dHlsZS5odG1sCiBmYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWluLW1lZGlhLWVsZW1l
bnQuaHRtbAogZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1pbi1tZXRlci1lbGVtZW50
Lmh0bWwKIGZhc3QvZG9tL3NoYWRvdy9nZXQtZWxlbWVudC1ieS1pZC1pbi1zaGFkb3ctcm9vdC5o
dG1sCi1mYXN0L2RvbS9zaGFkb3cvcmVpZmllZC10cmVlLXRyYXZlcnNhbC5odG1sCiBmYXN0L2Rv
bS9zaGFkb3cvc2hhZG93LXJvb3QtanMtYXBpLmh0bWwKIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ct
ZGlzYWJsZS5odG1sCiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYXR0YWNoZWQuaHRtbApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXggOWJmMmFhZWViYzNjNjY2ZGYwYzdlM2ZhYzEwYTcx
MjMyOWIzZDU1OC4uZGZjZDExN2QwMzdjOTVlYTA5MGI4ZmU5OTg4ZWYyODE0OGRjYWFiYiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC0xODUsNyArMTg1LDYgQEAgZmFzdC9kb20vc2hhZG93
L2xpbmstaW4tc2hhZG93LXRyZWUuaHRtbAogZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRv
d3Jvb3QuaHRtbAogZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3QtcmVuZGVyaW5n
Lmh0bWwKIGZhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290LWFkb3B0Lmh0bWwKLWZh
c3QvZG9tL3NoYWRvdy9yZWlmaWVkLXRyZWUtdHJhdmVyc2FsLmh0bWwKIGZhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctYm91bmRhcnktZXZlbnRzLmh0bWwKIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctY29u
dGVudC1jcmFzaC5odG1sCiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LWRpc2FibGUuaHRtbApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93aW4vU2tpcHBlZAppbmRleCA1ODdmYWVlODMwZTM0OTc5OTlhMmE0ZjU4MzE5NmI5
OTg1MjA4OGUxLi43NzM2ODJhOTZlMzg1NjY3MGFhYTk3YTQ1NTUxZTVjMmM2OTc1ZThhIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW4vU2tpcHBlZApAQCAtMTQ4Myw3ICsxNDgzLDYgQEAgZmFzdC9kb20vc2hh
ZG93L2NvbnRlbnQtZWxlbWVudC1vdXRzaWRlLXNoYWRvdy1zdHlsZS5odG1sCiBmYXN0L2RvbS9z
aGFkb3cvY29udGVudC1lbGVtZW50LWluLW1lZGlhLWVsZW1lbnQuaHRtbAogZmFzdC9kb20vc2hh
ZG93L2NvbnRlbnQtZWxlbWVudC1pbi1tZXRlci1lbGVtZW50Lmh0bWwKIGZhc3QvZG9tL3NoYWRv
dy9nZXQtZWxlbWVudC1ieS1pZC1pbi1zaGFkb3ctcm9vdC5odG1sCi1mYXN0L2RvbS9zaGFkb3cv
cmVpZmllZC10cmVlLXRyYXZlcnNhbC5odG1sCiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3Qt
anMtYXBpLmh0bWwKIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZGlzYWJsZS5odG1sCiBmYXN0L2Rv
bS9zaGFkb3cvc2hhZG93LXJvb3QtYWN0aXZlRWxlbWVudC5odG1sCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luY2Fpcm8vU2tpcHBlZAppbmRleCA1ODZhNGMxYzhlNDc2N2FhZWMyOWU2ODAwOTUwMjZlMjli
NjhjN2Q0Li44NmYwNjY3MDY5MmY2NTIxZjIzMzY2OTA1YTZkNzczMGFkOGM0Y2RjIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQKQEAgLTE5ODksNyArMTk4OSw2IEBAIGZhc3Qv
ZG9tL3NoYWRvdy9jb250ZW50LWVsZW1lbnQtb3V0c2lkZS1zaGFkb3cuaHRtbAogZmFzdC9kb20v
c2hhZG93L2NvbnRlbnQtZWxlbWVudC1pbi1tZWRpYS1lbGVtZW50Lmh0bWwKIGZhc3QvZG9tL3No
YWRvdy9jb250ZW50LWVsZW1lbnQtaW4tbWV0ZXItZWxlbWVudC5odG1sCiBmYXN0L2RvbS9zaGFk
b3cvZ2V0LWVsZW1lbnQtYnktaWQtaW4tc2hhZG93LXJvb3QuaHRtbAotZmFzdC9kb20vc2hhZG93
L3JlaWZpZWQtdHJlZS10cmF2ZXJzYWwuaHRtbAogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290
LWpzLWFwaS5odG1sCiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LWRpc2FibGUuaHRtbAogZmFzdC9k
b20vc2hhZG93L3NoYWRvdy1yb290LWFjdGl2ZUVsZW1lbnQuaHRtbApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2syL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIv
U2tpcHBlZAppbmRleCA0ZmU4YmFkZTJiNWVkNTlkMjg5YTE0MzE4NGU0YTA1ZWE5OThiZTczLi5j
MTQxN2EyZWY1ZGY4Y2M4YjFkNzUxZGNmZGI1N2Y3ODJmNzFlMzVkIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93azIvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
azIvU2tpcHBlZApAQCAtMTA4NCw3ICsxMDg0LDYgQEAgZmFzdC9kb20vc2hhZG93L2NvbnRlbnQt
ZWxlbWVudC1vdXRzaWRlLXNoYWRvdy5odG1sCiBmYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVt
ZW50LW91dHNpZGUtc2hhZG93LXN0eWxlLmh0bWwKIGZhc3QvZG9tL3NoYWRvdy9jb250ZW50LWVs
ZW1lbnQtaW4tbWVkaWEtZWxlbWVudC5odG1sCiBmYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVt
ZW50LWluLW1ldGVyLWVsZW1lbnQuaHRtbAotZmFzdC9kb20vc2hhZG93L3JlaWZpZWQtdHJlZS10
cmF2ZXJzYWwuaHRtbAogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWpzLWFwaS5odG1sCiBm
YXN0L2RvbS9zaGFkb3cvc2hhZG93LWRpc2FibGUuaHRtbAogZmFzdC9kb20vc2hhZG93L3NoYWRv
dy1yb290LWFjdGl2ZUVsZW1lbnQuaHRtbApkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdl
TG9nCmluZGV4IGUzZWQwNmNlM2UwMTlmM2I5YTYxN2ExMThlMmJhYjlhNzQzMjMwZDAuLjFhMmM4
Mzg2YWVkNTljYTk0MmJmMmI5ODkwZGNjNzc3MzQxOTIyYTYgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxv
ZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMi0wNC0wMyAgSGF5YXRvIEl0
byAgPGhheWF0b0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3ZlIFJlaWZpZWRUcmVlVHJh
dmVyc2FsLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODMxMTAKKworICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCisKKyAgICAgICAg
KiBTb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyOgorCiAyMDEyLTA0LTA0ICBTaGlueWEg
S2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBTaGFkb3cgRE9NIGlz
IGV4cG9zZWQgaW4gSlMuCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>