<?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>139185</bug_id>
          
          <creation_ts>2014-12-02 09:14:04 -0800</creation_ts>
          <short_desc>Remove visited link handling from PageGroup</short_desc>
          <delta_ts>2014-12-02 10:12:30 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1051857</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-12-02 09:14:04 -0800</bug_when>
    <thetext>Remove visited link handling from PageGroup</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1051859</commentid>
    <comment_count>1</comment_count>
      <attachid>242416</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-12-02 09:17:21 -0800</bug_when>
    <thetext>Created attachment 242416
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1051866</commentid>
    <comment_count>2</comment_count>
      <attachid>242420</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-12-02 09:45:03 -0800</bug_when>
    <thetext>Created attachment 242420
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1051876</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-12-02 10:12:30 -0800</bug_when>
    <thetext>Committed r176670: &lt;http://trac.webkit.org/changeset/176670&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>242416</attachid>
            <date>2014-12-02 09:17:21 -0800</date>
            <delta_ts>2014-12-02 09:45:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139185-20141202091754.patch</filename>
            <type>text/plain</type>
            <size>38370</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc2NjU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGQ2ZDBjODg0NDA2ZjVh
NzM1NTRiMjExZDljOGUxZTUyNzkyMThiMC4uN2JiNTk3YzlkZjk5NzliYTI1NTQ5ZjhlM2E4MzQ0
MGZkODViOTBjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE0LTEyLTAyICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHZpc2l0
ZWQgbGluayBoYW5kbGluZyBmcm9tIFBhZ2VHcm91cAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5MTg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBXZWJD
b3JlLmV4cC5pbjoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qOgor
ICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVyczoKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogbG9hZGVy
L0hpc3RvcnlDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKiBwYWdlL0Nocm9tZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6OnBvcHVsYXRlVmlzaXRlZExpbmtzKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorICAgICAgICAqIHBhZ2UvRGVmYXVs
dFZpc2l0ZWRMaW5rU3RvcmUuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIHBhZ2UvRGVmYXVsdFZp
c2l0ZWRMaW5rU3RvcmUuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UGFnZTo6UGFnZSk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjp+UGFn
ZSk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjp2aXNpdGVkTGlua1N0b3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OlBhZ2U6OnNldFZpc2l0ZWRMaW5rU3RvcmUpOgorICAgICAgICAoV2ViQ29yZTo6
UGFnZTo6cmVtb3ZlQWxsVmlzaXRlZExpbmtzKTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL1Bh
Z2UuaDoKKyAgICAgICAgKiBwYWdlL1BhZ2VHcm91cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQ
YWdlR3JvdXA6OlBhZ2VHcm91cCk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlR3JvdXA6OnZpc2l0
ZWRMaW5rU3RvcmUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwOjppc0xp
bmtWaXNpdGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VHcm91cDo6YWRkVmlz
aXRlZExpbmtIYXNoKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VHcm91cDo6YWRk
VmlzaXRlZExpbmspOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwOjpyZW1v
dmVWaXNpdGVkTGluayk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpQYWdlR3JvdXA6OnJl
bW92ZVZpc2l0ZWRMaW5rcyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpQYWdlR3JvdXA6
OnJlbW92ZUFsbFZpc2l0ZWRMaW5rcyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpQYWdl
R3JvdXA6OnNldFNob3VsZFRyYWNrVmlzaXRlZExpbmtzKTogRGVsZXRlZC4KKyAgICAgICAgKiBw
YWdlL1BhZ2VHcm91cC5oOgorCiAyMDE0LTEyLTAyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBs
ZS5jb20+CiAKICAgICAgICAgTW92ZSAnZm9udC1mYW1pbHknIENTUyBwcm9wZXJ0eSB0byB0aGUg
bmV3IFN0eWxlQnVpbGRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDVmMWUwNjJiZWE2Nzk1ODZhMzFl
ZDI2MWE5MmM4YzMwMmVmOWU3ZDYuLjI5OTc5OWE5NzJkODMxY2I1YmEwYjU2ODMyZmFmNTY3YzYz
NzE3OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxNC0xMi0wMiAgQW5k
ZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSB2aXNp
dGVkIGxpbmsgaGFuZGxpbmcgZnJvbSBQYWdlR3JvdXAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzOTE4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogSGlzdG9yeS9XZWJIaXN0b3J5Lm1tOgorICAgICAg
ICAoLVtXZWJIaXN0b3J5UHJpdmF0ZSByZW1vdmVJdGVtRm9yVVJMU3RyaW5nOl0pOgorICAgICAg
ICAoLVtXZWJIaXN0b3J5UHJpdmF0ZSByZW1vdmVBbGxJdGVtc10pOgorICAgICAgICAoK1tXZWJI
aXN0b3J5IHNldE9wdGlvbmFsU2hhcmVkSGlzdG9yeTpdKToKKyAgICAgICAgKCtbV2ViSGlzdG9y
eSBfc2V0VmlzaXRlZExpbmtUcmFja2luZ0VuYWJsZWQ6XSk6CisgICAgICAgICgrW1dlYkhpc3Rv
cnkgX3JlbW92ZUFsbFZpc2l0ZWRMaW5rc10pOgorICAgICAgICAoLVtXZWJIaXN0b3J5UHJpdmF0
ZSBhZGRWaXNpdGVkTGlua3NUb1BhZ2VHcm91cDpdKTogRGVsZXRlZC4KKyAgICAgICAgKC1bV2Vi
SGlzdG9yeSBfYWRkVmlzaXRlZExpbmtzVG9QYWdlR3JvdXA6XSk6IERlbGV0ZWQuCisgICAgICAg
ICogSGlzdG9yeS9XZWJIaXN0b3J5SW50ZXJuYWwuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQubW06CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6OnBvcHVsYXRlVmlzaXRlZExpbmtz
KTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dl
YlZpZXcgYWRkVmlzaXRlZExpbmtzOl0pOgorICAgICAgICAoLVtXZWJWaWV3IHJlbW92ZVZpc2l0
ZWRMaW5rOl0pOgorCiAyMDE0LTEyLTAxICBUaW1vdGh5IEhvcnRvbiAgPHRpbW90aHlfaG9ydG9u
QGFwcGxlLmNvbT4KIAogICAgICAgICBUcnkgdG8gZml4IHRoZSBNYWMgYnVpbGQuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFu
Z2VMb2cKaW5kZXggMjBiNmYyZWJkYTNkMzJkOGY1ODU5MjAyNzlkNjg1ZGJmN2Q3YTk2My4uMzcz
MWIzMjVjZjUxN2Q1ZWE5NzM5NWM0NWRhZmMwMTgyMjIwMGQ3NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE0IEBACisyMDE0LTEyLTAyICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBh
cHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHZpc2l0ZWQgbGluayBoYW5kbGluZyBmcm9tIFBh
Z2VHcm91cAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTM5MTg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViQ2hyb21l
Q2xpZW50Ojpwb3B1bGF0ZVZpc2l0ZWRMaW5rcyk6IERlbGV0ZWQuCisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisKIDIwMTQtMTItMDEgIEFuZGVycyBDYXJsc3Nv
biAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgSVdlYkNvb2tpZU1hbmFn
ZXIgb24gV2luZG93cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGQwYzExYjdlMmU0YWUzYmU2ZTJmZDQzZTEwMzg5
ZjZiOWQ5ODg1ZDEuLmY5NTFiNTMzNDgzNGNmMjQyYmM0MGVhZmEzMmQ0YmFjNjcyNDQyOWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNC0xMi0wMiAgQW5kZXJzIENhcmxzc29uICA8
YW5kZXJzY2FAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSB2aXNpdGVkIGxpbmsgaGFuZGxp
bmcgZnJvbSBQYWdlR3JvdXAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEzOTE4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OnBvcHVsYXRlVmlzaXRlZExpbmtz
KTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5oOgorCiAyMDE0LTEyLTAxICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIFdLQnVuZGxlUmVtb3ZlQWxsVmlzaXRlZExpbmtzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CmluZGV4IDY0NjM1MTJkMzE4M2VhZDk2OGQ5YjQwOTg5ZDI4MmQwYzUx
YzA4MzMuLjljNmQ2YjU1ZmQ1MDc4ZGUxMDU1YWY3NWIwNDIxYWE3MmRlZDNlZmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CkBAIC0xODg5LDcgKzE4ODksNiBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAg
ICAgcGFnZS9ET01XaW5kb3dFeHRlbnNpb24uY3BwCiAgICAgcGFnZS9ET01XaW5kb3dQcm9wZXJ0
eS5jcHAKICAgICBwYWdlL0RlYnVnUGFnZU92ZXJsYXlzLmNwcAotICAgIHBhZ2UvRGVmYXVsdFZp
c2l0ZWRMaW5rU3RvcmUuY3BwCiAgICAgcGFnZS9EZXZpY2VDb250cm9sbGVyLmNwcAogICAgIHBh
Z2UvRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmNwcAogICAgIHBhZ2UvRHJhZ0NvbnRyb2xsZXIuY3Bw
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IGU0NTExYWY3MDQzOWRlYjBiZjllMDAyNWQ0NGU5NDg0
MjQ1NjhiNTEuLjcxMTg1NzFjYjI2NWFjOWZkYTE4ZWE0N2ZjYWI4YWM3MGViNWNkNTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZXhwLmluCkBAIC0xNTUwLDEzICsxNTUwLDggQEAgX19aTjdXZWJDb3JlOUxheWVy
UG9vbEQxRXYKIF9fWk43V2ViQ29yZTlQYWdlQ2FjaGUxMXNldENhcGFjaXR5RWkKIF9fWk43V2Vi
Q29yZTlQYWdlQ2FjaGUzM21hcmtQYWdlc0ZvclZpc3RlZExpbmtTdHlsZVJlY2FsY0V2CiBfX1pO
N1dlYkNvcmU5UGFnZUNhY2hlNnJlbW92ZUVQTlNfMTFIaXN0b3J5SXRlbUUKLV9fWk43V2ViQ29y
ZTlQYWdlR3JvdXAxM2lzTGlua1Zpc2l0ZWRFeQotX19aTjdXZWJDb3JlOVBhZ2VHcm91cDE0YWRk
VmlzaXRlZExpbmtFUEt0bQogX19aTjdXZWJDb3JlOVBhZ2VHcm91cDE2c3luY0xvY2FsU3RvcmFn
ZUV2CiBfX1pON1dlYkNvcmU5UGFnZUdyb3VwMTdjbG9zZUxvY2FsU3RvcmFnZUV2Ci1fX1pON1dl
YkNvcmU5UGFnZUdyb3VwMThhZGRWaXNpdGVkTGlua0hhc2hFeQotX19aTjdXZWJDb3JlOVBhZ2VH
cm91cDIxcmVtb3ZlQWxsVmlzaXRlZExpbmtzRXYKLV9fWk43V2ViQ29yZTlQYWdlR3JvdXAyNnNl
dFNob3VsZFRyYWNrVmlzaXRlZExpbmtzRWIKIF9fWk43V2ViQ29yZTlQYWdlR3JvdXAzMGNsb3Nl
SWRsZUxvY2FsU3RvcmFnZURhdGFiYXNlc0V2CiBfX1pON1dlYkNvcmU5UGFnZUdyb3VwOXBhZ2VH
cm91cEVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTlTY3JvbGxiYXIxMW1vdXNlRXhpdGVk
RXYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmlu
ZGV4IDkwYmVhYmY3NTBmNTVhMTMxOTViYjY3NjFiMjEzZmJiMmNjMTJmNjYuLjM2NWFkYTgyNTBk
YjBkOGM2OGEyYTU1NjQ1NjRhNTY4NmYzN2EzMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpAQCAtNzE1Myw3ICs3MTUzLDYgQEAKICAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBhZ2VcRE9NV2luZG93LmNwcCIgLz4KICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXHBhZ2VcRE9NV2luZG93RXh0ZW5zaW9uLmNwcCIgLz4KICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXHBhZ2VcRE9NV2luZG93UHJvcGVydHkuY3BwIiAvPgotICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5ccGFnZVxEZWZhdWx0VmlzaXRlZExpbmtTdG9yZS5jcHAiIC8+
CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwYWdlXERlYnVnUGFnZU92ZXJsYXlzLmNwcCIg
Lz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBhZ2VcRHJhZ0NvbnRyb2xsZXIuY3BwIiAv
PgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGFnZVxzY3JvbGxpbmdcY29vcmRpbmF0ZWRn
cmFwaGljc1xTY3JvbGxpbmdDb29yZGluYXRvckNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwIiAvPgpA
QCAtMTkxNjgsNyArMTkxNjcsNiBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGFnZVxE
T01XaW5kb3dFeHRlbnNpb24uaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2Vc
RE9NV2luZG93UHJvcGVydHkuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2Vc
RGVidWdQYWdlT3ZlcmxheXMuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2Vc
RGVmYXVsdFZpc2l0ZWRMaW5rU3RvcmUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHBhZ2VcRHJhZ0FjdGlvbnMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2Vc
RHJhZ0NsaWVudC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGFnZVxEcmFnQ29u
dHJvbGxlci5oIiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9q
L1dlYkNvcmUudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9q
L1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4IGUwODIxOTgzYWY5ZjgxZjE1ZDE0ZGFjMGM1
MmY2NTZiNzRjN2Y5ZTkuLmU2ZDQ0ZWY4MGI0OTlhYzk0MjZjZDFhZTkzZmRjZTI5MDIwN2U2MTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHBy
b2ouZmlsdGVycworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52
Y3hwcm9qLmZpbHRlcnMKQEAgLTczOCw5ICs3MzgsNiBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5ccGFnZVxEZWJ1Z1BhZ2VPdmVybGF5cy5jcHAiPgogICAgICAgPEZpbHRlcj5wYWdlPC9G
aWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwYWdl
XERlZmF1bHRWaXNpdGVkTGlua1N0b3JlLmNwcCI+Ci0gICAgICA8RmlsdGVyPnBhZ2U8L0ZpbHRl
cj4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBhZ2VcRHJh
Z0NvbnRyb2xsZXIuY3BwIj4KICAgICAgIDxGaWx0ZXI+cGFnZTwvRmlsdGVyPgogICAgIDwvQ2xD
b21waWxlPgpAQCAtMTUxMzcsOSArMTUxMzQsNiBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5ccGFnZVxEZWJ1Z1BhZ2VPdmVybGF5cy5oIj4KICAgICAgIDxGaWx0ZXI+cGFnZTwvRmlsdGVy
PgogICAgIDwvQ2xJbmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGFnZVxEZWZh
dWx0VmlzaXRlZExpbmtTdG9yZS5oIj4KLSAgICAgIDxGaWx0ZXI+cGFnZTwvRmlsdGVyPgotICAg
IDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccmVuZGVyaW5nXEJvcmRl
ckVkZ2UuaCI+CiAgICAgICA8RmlsdGVyPnJlbmRlcmluZzwvRmlsdGVyPgogICAgIDwvQ2xJbmNs
dWRlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDg5ZmIzYzc3ODFmOGVjMWMwYTY3ODUwZDAyNjEwYzg3ODA1NmZhNWIuLjRmZTYy
YWU4MzJlNjI3YzU5NTJiOGUzNDcyMWJhZDdkMjQ4MDhmNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTkxMCw4ICs5MTAsNiBA
QAogCQkxQUVGNEU2NzE3MEUxNjAzMDBBQjI3OTkgLyogQ2FjaGVkRm9udENsaWVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFFRjRFNjYxNzBFMTYw
MzAwQUIyNzk5IC8qIENhY2hlZEZvbnRDbGllbnQuaCAqLzsgfTsKIAkJMUFFRjRFNjkxNzBFMTc0
ODAwQUIyNzk5IC8qIENhY2hlZFNWR0RvY3VtZW50Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUVGNEU2ODE3MEUxNzQ4MDBBQjI3OTkgLyog
Q2FjaGVkU1ZHRG9jdW1lbnRDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQkxQUYzMjY3OTBENzhCOTQ0MDA2OEYwQzQgLyogRWRpdG9yQ2xp
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUYz
MjY3NzBENzhCOTQ0MDA2OEYwQzQgLyogRWRpdG9yQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMUFGNENFRTkxOEJDMzUwMTAwQkMyRDM0
IC8qIERlZmF1bHRWaXNpdGVkTGlua1N0b3JlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRjRDRUU3MThCQzM1MDEwMEJDMkQzNCAvKiBEZWZhdWx0
VmlzaXRlZExpbmtTdG9yZS5jcHAgKi87IH07Ci0JCTFBRjRDRUVBMThCQzM1MDEwMEJDMkQzNCAv
KiBEZWZhdWx0VmlzaXRlZExpbmtTdG9yZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUFGNENFRTgxOEJDMzUwMTAwQkMyRDM0IC8qIERlZmF1bHRWaXNp
dGVkTGlua1N0b3JlLmggKi87IH07CiAJCTFBRjRDRUVDMThCQzNDMUIwMEJDMkQzNCAvKiBWaXNp
dGVkTGlua1N0b3JlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFBRjRDRUVCMThCQzNDMUIwMEJDMkQzNCAvKiBWaXNpdGVkTGlua1N0b3JlLmNwcCAq
LzsgfTsKIAkJMUFGNjJFRTYxNERBMjJBNzAwNDE1NTZDIC8qIFNjcm9sbGluZ0Nvb3JkaW5hdG9y
TWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFG
NjJFRTMxNERBMjJBNzAwNDE1NTZDIC8qIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tICovOyB9
OwogCQkxQUY2MkVFNzE0REEyMkE3MDA0MTU1NkMgLyogU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFGNjJFRTQx
NERBMjJBNzAwNDE1NTZDIC8qIFNjcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcCAqLzsgfTsKQEAgLTc5
MzIsOCArNzkzMCw2IEBACiAJCTFBRUY0RTY2MTcwRTE2MDMwMEFCMjc5OSAvKiBDYWNoZWRGb250
Q2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlZEZvbnRDbGll
bnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFFRjRFNjgxNzBFMTc0ODAwQUIy
Nzk5IC8qIENhY2hlZFNWR0RvY3VtZW50Q2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IENhY2hlZFNWR0RvY3VtZW50Q2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTFBRjMyNjc3MEQ3OEI5NDQwMDY4RjBDNCAvKiBFZGl0b3JDbGllbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRWRpdG9yQ2xpZW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCTFBRjRDRUU3MThCQzM1MDEwMEJDMkQzNCAvKiBEZWZhdWx0Vmlz
aXRlZExpbmtTdG9yZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBE
ZWZhdWx0VmlzaXRlZExpbmtTdG9yZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTFBRjRDRUU4MThCQzM1MDEwMEJDMkQzNCAvKiBEZWZhdWx0VmlzaXRlZExpbmtTdG9yZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZWZhdWx0VmlzaXRlZExpbmtTdG9yZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQUY0Q0VFQjE4QkMzQzFCMDBCQzJEMzQg
LyogVmlzaXRlZExpbmtTdG9yZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBWaXNpdGVkTGlua1N0b3JlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MUFGNjJFRTMxNERBMjJBNzAwNDE1NTZDIC8qIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU2Nyb2xsaW5nQ29vcmRpbmF0
b3JNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBRjYyRUU0MTREQTIyQTcw
MDQxNTU2QyAvKiBTY3JvbGxpbmdDb29yZGluYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBTY3JvbGxpbmdDb29yZGluYXRvci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0xNjYwNyw4ICsxNjYwMyw2IEBACiAJCQkJOTc1Q0EyODkxMzAzNjVG
ODAwRTk5QUQ5IC8qIENyeXB0by5pZGwgKi8sCiAJCQkJMEY2QTEyQkIxQTAwOTIzNzAwQzZERTcy
IC8qIERlYnVnUGFnZU92ZXJsYXlzLmNwcCAqLywKIAkJCQkwRjZBMTJCQzFBMDA5MjM3MDBDNkRF
NzIgLyogRGVidWdQYWdlT3ZlcmxheXMuaCAqLywKLQkJCQkxQUY0Q0VFNzE4QkMzNTAxMDBCQzJE
MzQgLyogRGVmYXVsdFZpc2l0ZWRMaW5rU3RvcmUuY3BwICovLAotCQkJCTFBRjRDRUU4MThCQzM1
MDEwMEJDMkQzNCAvKiBEZWZhdWx0VmlzaXRlZExpbmtTdG9yZS5oICovLAogCQkJCUNDQzJCNTEw
MTVGNjEzMDYwMDQ4Q0RENiAvKiBEZXZpY2VDbGllbnQuaCAqLywKIAkJCQlDQ0MyQjUxMTE1RjYx
MzA2MDA0OENERDYgLyogRGV2aWNlQ29udHJvbGxlci5jcHAgKi8sCiAJCQkJQ0NDMkI1MTIxNUY2
MTMwNjAwNDhDREQ2IC8qIERldmljZUNvbnRyb2xsZXIuaCAqLywKQEAgLTIzODUzLDcgKzIzODQ3
LDYgQEAKIAkJCQk0MUEzRDU4RjEwMUMxNTJEMDAzMTZEMDcgLyogRGVkaWNhdGVkV29ya2VyVGhy
ZWFkLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDA2REZBNjEzNEE0REVGMDA2RjVEN0QgLyogRGVm
YXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTY3RUJGNjEw
Mjk2MkJBMDAzRDI1MkEgLyogRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaCBpbiBIZWFk
ZXJzICovLAotCQkJCTFBRjRDRUVBMThCQzM1MDEwMEJDMkQzNCAvKiBEZWZhdWx0VmlzaXRlZExp
bmtTdG9yZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQzMTYwMkMxMkIwMjY3NjAwQzFBMzU5IC8q
IERlbGF5RFNQS2VybmVsLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDMxNjAyRTEyQjAyNjc2MDBD
MUEzNTkgLyogRGVsYXlOb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDMxNjAzMTEyQjAyNjc2
MDBDMUEzNTkgLyogRGVsYXlQcm9jZXNzb3IuaCBpbiBIZWFkZXJzICovLApAQCAtMjc1MzEsNyAr
Mjc1MjQsNiBAQAogCQkJCTQxQTNENThFMTAxQzE1MkQwMDMxNkQwNyAvKiBEZWRpY2F0ZWRXb3Jr
ZXJUaHJlYWQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkQwNkRGQTUxMzRBNERFRjAwNkY1RDdE
IC8qIERlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0
MTY3RUJGNTEwMjk2MkJBMDAzRDI1MkEgLyogRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnku
Y3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMUFGNENFRTkxOEJDMzUwMTAwQkMyRDM0IC8qIERlZmF1
bHRWaXNpdGVkTGlua1N0b3JlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZEMzE2MDJCMTJCMDI2
NzYwMEMxQTM1OSAvKiBEZWxheURTUEtlcm5lbC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGRDMx
NjAyRDEyQjAyNjc2MDBDMUEzNTkgLyogRGVsYXlOb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUZEMzE2MDMwMTJCMDI2NzYwMEMxQTM1OSAvKiBEZWxheVByb2Nlc3Nvci5jcHAgaW4gU291cmNl
cyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuY3BwCmluZGV4
IDgyNDI0Y2IzZDg5NjcwNWQ3MDkzZGE0ZDVmZDEzYzBiZThlODFmMjIuLjk2ZGY1MGFlZGFkOTQ0
MjVlZDcwYTgyZDc4YTZiOTU1MDU3MTYwMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9IaXN0b3J5Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0hp
c3RvcnlDb250cm9sbGVyLmNwcApAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgIkZyYW1lVHJl
ZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgogI2luY2x1ZGUgIkhpc3RvcnlJdGVtLmgiCisj
aW5jbHVkZSAiTGlua0hhc2guaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTWFp
bkZyYW1lLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9DaHJvbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCmluZGV4IDlm
YTJiMmViNzQ1MzAzNjhjMDUwZGJmMGY2MTBhNzA3ZmNlODhkZDUuLjNmMDNiMzUwNzU2NjQ0ZmMy
ODk1OWViZjM0MmJkMzdiMTBkMzY4NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q2hyb21lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKQEAgLTU3Miwx
MCArNTcyLDYgQEAgdm9pZCBDaHJvbWVDbGllbnQ6OmFubm90YXRlZFJlZ2lvbnNDaGFuZ2VkKCkK
IH0KICNlbmRpZgogCi12b2lkIENocm9tZUNsaWVudDo6cG9wdWxhdGVWaXNpdGVkTGlua3MoKQot
ewotfQotCiBib29sIENocm9tZUNsaWVudDo6c2hvdWxkUmVwbGFjZVdpdGhHZW5lcmF0ZWRGaWxl
Rm9yVXBsb2FkKGNvbnN0IFN0cmluZyYsIFN0cmluZyYpCiB7CiAgICAgcmV0dXJuIGZhbHNlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXggM2JiZDZjMGQ3NDhlY2EwZWE4YjIxNzVk
OTMyZGNlMGYyZmY1ODQ1NS4uMmNkZGE0OWViMzQxODk2ZGRlNDcwMmE1YjM2NTAxNjUxODdjNmM5
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCkBAIC0yMjgsOCArMjI4LDYgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgdm9pZCBhbm5vdGF0ZWRSZWdpb25zQ2hhbmdlZCgpOwogI2VuZGlm
CiAKLSAgICB2aXJ0dWFsIHZvaWQgcG9wdWxhdGVWaXNpdGVkTGlua3MoKTsKLQogICAgIHZpcnR1
YWwgYm9vbCBzaG91bGRSZXBsYWNlV2l0aEdlbmVyYXRlZEZpbGVGb3JVcGxvYWQoY29uc3QgU3Ry
aW5nJiBwYXRoLCBTdHJpbmcmIGdlbmVyYXRlZEZpbGVuYW1lKTsKICAgICB2aXJ0dWFsIFN0cmlu
ZyBnZW5lcmF0ZVJlcGxhY2VtZW50RmlsZShjb25zdCBTdHJpbmcmIHBhdGgpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RlZmF1bHRWaXNpdGVkTGlua1N0b3JlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRGVmYXVsdFZpc2l0ZWRMaW5rU3RvcmUuY3BwCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA4OWZjYzkyNTU4N2Q1ZTM0YWRlMWFlZGM1ZWM1ZGIxNzdhY2Nh
YTA0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRGVmYXVsdFZpc2l0ZWRMaW5rU3RvcmUuY3BwCisrKyAvZGV2L251bGwK
QEAgLTEsNTcgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNs
dWRlICJEZWZhdWx0VmlzaXRlZExpbmtTdG9yZS5oIgotCi0jaW5jbHVkZSAiUGFnZS5oIgotI2lu
Y2x1ZGUgIlBhZ2VHcm91cC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVBhc3NSZWZQdHI8
RGVmYXVsdFZpc2l0ZWRMaW5rU3RvcmU+IERlZmF1bHRWaXNpdGVkTGlua1N0b3JlOjpjcmVhdGUo
KQotewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgRGVmYXVsdFZpc2l0ZWRMaW5rU3RvcmUpOwot
fQotCi1EZWZhdWx0VmlzaXRlZExpbmtTdG9yZTo6RGVmYXVsdFZpc2l0ZWRMaW5rU3RvcmUoKQot
ewotfQotCi1EZWZhdWx0VmlzaXRlZExpbmtTdG9yZTo6fkRlZmF1bHRWaXNpdGVkTGlua1N0b3Jl
KCkKLXsKLX0KLQotYm9vbCBEZWZhdWx0VmlzaXRlZExpbmtTdG9yZTo6aXNMaW5rVmlzaXRlZChQ
YWdlJiBwYWdlLCBMaW5rSGFzaCBsaW5rSGFzaCwgY29uc3QgVVJMJiwgY29uc3QgQXRvbWljU3Ry
aW5nJikKLXsKLSAgICByZXR1cm4gcGFnZS5ncm91cCgpLmlzTGlua1Zpc2l0ZWQobGlua0hhc2gp
OwotfQotCi12b2lkIERlZmF1bHRWaXNpdGVkTGlua1N0b3JlOjphZGRWaXNpdGVkTGluayhQYWdl
JiBwYWdlLCBMaW5rSGFzaCBsaW5rSGFzaCkKLXsKLSAgICBwYWdlLmdyb3VwKCkuYWRkVmlzaXRl
ZExpbmtIYXNoKGxpbmtIYXNoKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9EZWZhdWx0VmlzaXRlZExpbmtTdG9yZS5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9EZWZhdWx0VmlzaXRlZExpbmtTdG9yZS5oCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAzYzI5N2FkOTNjZTNiMTAzMTIxZGIzNjA2NTcyNTVjNzg3OTVmMDU2
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRGVmYXVsdFZpc2l0ZWRMaW5rU3RvcmUuaAorKysgL2Rldi9udWxsCkBAIC0x
LDQ3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIERlZmF1bHRWaXNpdGVkTGlua1N0b3Jl
X2gKLSNkZWZpbmUgRGVmYXVsdFZpc2l0ZWRMaW5rU3RvcmVfaAotCi0jaW5jbHVkZSAiVmlzaXRl
ZExpbmtTdG9yZS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIERlZmF1bHRWaXNp
dGVkTGlua1N0b3JlIDogcHVibGljIFZpc2l0ZWRMaW5rU3RvcmUgewotcHVibGljOgotICAgIHN0
YXRpYyBQYXNzUmVmUHRyPERlZmF1bHRWaXNpdGVkTGlua1N0b3JlPiBjcmVhdGUoKTsKLSAgICB2
aXJ0dWFsIH5EZWZhdWx0VmlzaXRlZExpbmtTdG9yZSgpOwotCi1wcml2YXRlOgotICAgIERlZmF1
bHRWaXNpdGVkTGlua1N0b3JlKCk7Ci0KLSAgICB2aXJ0dWFsIGJvb2wgaXNMaW5rVmlzaXRlZChQ
YWdlJiwgTGlua0hhc2gsIGNvbnN0IFVSTCYgYmFzZVVSTCwgY29uc3QgQXRvbWljU3RyaW5nJiBh
dHRyaWJ1dGVVUkwpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBhZGRWaXNpdGVkTGluayhQ
YWdlJiwgTGlua0hhc2gpIG92ZXJyaWRlOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQot
Ci0jZW5kaWYgLy8gRGVmYXVsdFZpc2l0ZWRMaW5rU3RvcmVfaApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5k
ZXggNDlkNGMxYTYyZjk4MjQ5YTlkYjRlMTAwZjM1MjNkYWMwYWVlZDFiMS4uMDBhYWM4YmQ5YjIw
YWU0YTc2NjhiMzU4OTBkNDkzMDNkNzg1NDNiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0yMDMs
NyArMjAzLDcgQEAgUGFnZTo6UGFnZShQYWdlQ29uZmlndXJhdGlvbiYgcGFnZUNvbmZpZ3VyYXRp
b24pCiAgICAgLCBtX2xhc3RTcGF0aWFsTmF2aWdhdGlvbkNhbmRpZGF0ZXNDb3VudCgwKSAvLyBO
T1RFOiBPbmx5IGNhbGxlZCBmcm9tIEludGVybmFscyBmb3IgU3BhdGlhbCBOYXZpZ2F0aW9uIHRl
c3RpbmcuCiAgICAgLCBtX2ZyYW1lc0hhbmRsaW5nQmVmb3JlVW5sb2FkRXZlbnQoMCkKICAgICAs
IG1fdXNlckNvbnRlbnRDb250cm9sbGVyKFdURjo6bW92ZShwYWdlQ29uZmlndXJhdGlvbi51c2Vy
Q29udGVudENvbnRyb2xsZXIpKQotICAgICwgbV92aXNpdGVkTGlua1N0b3JlKFdURjo6bW92ZShw
YWdlQ29uZmlndXJhdGlvbi52aXNpdGVkTGlua1N0b3JlKSkKKyAgICAsIG1fdmlzaXRlZExpbmtT
dG9yZSgqV1RGOjptb3ZlKHBhZ2VDb25maWd1cmF0aW9uLnZpc2l0ZWRMaW5rU3RvcmUpKQogICAg
ICwgbV9zZXNzaW9uSUQoU2Vzc2lvbklEOjpkZWZhdWx0U2Vzc2lvbklEKCkpCiAgICAgLCBtX2lz
Q2xvc2luZyhmYWxzZSkKICAgICAsIG1faXNQbGF5aW5nQXVkaW8oZmFsc2UpCkBAIC0yMTUsOCAr
MjE1LDcgQEAgUGFnZTo6UGFnZShQYWdlQ29uZmlndXJhdGlvbiYgcGFnZUNvbmZpZ3VyYXRpb24p
CiAgICAgaWYgKG1fdXNlckNvbnRlbnRDb250cm9sbGVyKQogICAgICAgICBtX3VzZXJDb250ZW50
Q29udHJvbGxlci0+YWRkUGFnZSgqdGhpcyk7CiAKLSAgICBpZiAobV92aXNpdGVkTGlua1N0b3Jl
KQotICAgICAgICBtX3Zpc2l0ZWRMaW5rU3RvcmUtPmFkZFBhZ2UoKnRoaXMpOworICAgIG1fdmlz
aXRlZExpbmtTdG9yZS0+YWRkUGFnZSgqdGhpcyk7CiAKICAgICBpZiAoIWFsbFBhZ2VzKSB7CiAg
ICAgICAgIGFsbFBhZ2VzID0gbmV3IEhhc2hTZXQ8UGFnZSo+OwpAQCAtMjcwLDggKzI2OSw3IEBA
IFBhZ2U6On5QYWdlKCkKIAogICAgIGlmIChtX3VzZXJDb250ZW50Q29udHJvbGxlcikKICAgICAg
ICAgbV91c2VyQ29udGVudENvbnRyb2xsZXItPnJlbW92ZVBhZ2UoKnRoaXMpOwotICAgIGlmICht
X3Zpc2l0ZWRMaW5rU3RvcmUpCi0gICAgICAgIG1fdmlzaXRlZExpbmtTdG9yZS0+cmVtb3ZlUGFn
ZSgqdGhpcyk7CisgICAgbV92aXNpdGVkTGlua1N0b3JlLT5yZW1vdmVQYWdlKCp0aGlzKTsKIH0K
IAogdm9pZCBQYWdlOjpjbGVhclByZXZpb3VzSXRlbUZyb21BbGxQYWdlcyhIaXN0b3J5SXRlbSog
aXRlbSkKQEAgLTEwMzQsMjEgKzEwMzIsNiBAQCBjb25zdCBTdHJpbmcmIFBhZ2U6OnVzZXJTdHls
ZVNoZWV0KCkgY29uc3QKICAgICByZXR1cm4gbV91c2VyU3R5bGVTaGVldDsKIH0KIAotdm9pZCBQ
YWdlOjpyZW1vdmVBbGxWaXNpdGVkTGlua3MoKQotewotICAgIGlmICghYWxsUGFnZXMpCi0gICAg
ICAgIHJldHVybjsKLSAgICBIYXNoU2V0PFBhZ2VHcm91cCo+IGdyb3VwczsKLSAgICBIYXNoU2V0
PFBhZ2UqPjo6aXRlcmF0b3IgcGFnZXNFbmQgPSBhbGxQYWdlcy0+ZW5kKCk7Ci0gICAgZm9yIChI
YXNoU2V0PFBhZ2UqPjo6aXRlcmF0b3IgaXQgPSBhbGxQYWdlcy0+YmVnaW4oKTsgaXQgIT0gcGFn
ZXNFbmQ7ICsraXQpIHsKLSAgICAgICAgaWYgKFBhZ2VHcm91cCogZ3JvdXAgPSAoKml0KS0+Z3Jv
dXBQdHIoKSkKLSAgICAgICAgICAgIGdyb3Vwcy5hZGQoZ3JvdXApOwotICAgIH0KLSAgICBIYXNo
U2V0PFBhZ2VHcm91cCo+OjppdGVyYXRvciBncm91cHNFbmQgPSBncm91cHMuZW5kKCk7Ci0gICAg
Zm9yIChIYXNoU2V0PFBhZ2VHcm91cCo+OjppdGVyYXRvciBpdCA9IGdyb3Vwcy5iZWdpbigpOyBp
dCAhPSBncm91cHNFbmQ7ICsraXQpCi0gICAgICAgICgqaXQpLT5yZW1vdmVWaXNpdGVkTGlua3Mo
KTsKLX0KLQogdm9pZCBQYWdlOjppbnZhbGlkYXRlU3R5bGVzRm9yQWxsTGlua3MoKQogewogICAg
IGZvciAoRnJhbWUqIGZyYW1lID0gbV9tYWluRnJhbWUuZ2V0KCk7IGZyYW1lOyBmcmFtZSA9IGZy
YW1lLT50cmVlKCkudHJhdmVyc2VOZXh0KCkpCkBAIC0xNjMxLDE3ICsxNjE0LDEyIEBAIHZvaWQg
UGFnZTo6c2V0VXNlckNvbnRlbnRDb250cm9sbGVyKFVzZXJDb250ZW50Q29udHJvbGxlciogdXNl
ckNvbnRlbnRDb250cm9sbGVyCiAKIFZpc2l0ZWRMaW5rU3RvcmUmIFBhZ2U6OnZpc2l0ZWRMaW5r
U3RvcmUoKQogewotICAgIGlmIChtX3Zpc2l0ZWRMaW5rU3RvcmUpCi0gICAgICAgIHJldHVybiAq
bV92aXNpdGVkTGlua1N0b3JlOwotCi0gICAgcmV0dXJuIGdyb3VwKCkudmlzaXRlZExpbmtTdG9y
ZSgpOworICAgIHJldHVybiBtX3Zpc2l0ZWRMaW5rU3RvcmU7CiB9CiAKIHZvaWQgUGFnZTo6c2V0
VmlzaXRlZExpbmtTdG9yZShQYXNzUmVmPFZpc2l0ZWRMaW5rU3RvcmU+IHZpc2l0ZWRMaW5rU3Rv
cmUpCiB7Ci0gICAgaWYgKG1fdmlzaXRlZExpbmtTdG9yZSkKLSAgICAgICAgbV92aXNpdGVkTGlu
a1N0b3JlLT5yZW1vdmVQYWdlKCp0aGlzKTsKLQorICAgIG1fdmlzaXRlZExpbmtTdG9yZS0+cmVt
b3ZlUGFnZSgqdGhpcyk7CiAgICAgbV92aXNpdGVkTGlua1N0b3JlID0gV1RGOjptb3ZlKHZpc2l0
ZWRMaW5rU3RvcmUpOwogICAgIG1fdmlzaXRlZExpbmtTdG9yZS0+YWRkUGFnZSgqdGhpcyk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmgKaW5kZXggY2U3YTJmN2QyNDRhNjVlOGNlOWU0MWJiMTUzYzIwMDI0ZTE0Nzhl
Zi4uZjIxNTc2NzAwZWU3MzJjOGQwYmY2NWUyYTJmOWVkNzgxMDhlNjljMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
LmgKQEAgLTMxNSw4ICszMTUsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXREZWJ1Z2dlcihKU0M6
OkRlYnVnZ2VyKik7CiAgICAgSlNDOjpEZWJ1Z2dlciogZGVidWdnZXIoKSBjb25zdCB7IHJldHVy
biBtX2RlYnVnZ2VyOyB9CiAKLSAgICBzdGF0aWMgdm9pZCByZW1vdmVBbGxWaXNpdGVkTGlua3Mo
KTsKLQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgaW52YWxpZGF0ZVN0eWxlc0ZvckFsbExpbmtz
KCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBpbnZhbGlkYXRlU3R5bGVzRm9yTGluayhMaW5r
SGFzaCk7CiAKQEAgLTU3MCw3ICs1NjgsNyBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fZnJh
bWVzSGFuZGxpbmdCZWZvcmVVbmxvYWRFdmVudDsKIAogICAgIFJlZlB0cjxVc2VyQ29udGVudENv
bnRyb2xsZXI+IG1fdXNlckNvbnRlbnRDb250cm9sbGVyOwotICAgIFJlZlB0cjxWaXNpdGVkTGlu
a1N0b3JlPiBtX3Zpc2l0ZWRMaW5rU3RvcmU7CisgICAgUmVmPFZpc2l0ZWRMaW5rU3RvcmU+IG1f
dmlzaXRlZExpbmtTdG9yZTsKIAogICAgIEhhc2hTZXQ8Vmlld1N0YXRlQ2hhbmdlT2JzZXJ2ZXIq
PiBtX3ZpZXdTdGF0ZUNoYW5nZU9ic2VydmVyczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlR3JvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuY3Bw
CmluZGV4IGM1ZTliYTRkMmMzNzZlNjAyMTlhZDE5OWI5OTlkZTdjZDljZWM5MDMuLjQ1ZWVkMDg4
OGZlOTAzYWNkNDkxNGZkNjRmZjMxNGM5YTkzMWUwMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZUdyb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91
cC5jcHAKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJD
aHJvbWVDbGllbnQuaCIKICNpbmNsdWRlICJET01XcmFwcGVyV29ybGQuaCIKLSNpbmNsdWRlICJE
ZWZhdWx0VmlzaXRlZExpbmtTdG9yZS5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVk
ZSAiRG9jdW1lbnRTdHlsZVNoZWV0Q29sbGVjdGlvbi5oIgogI2luY2x1ZGUgIkdyb3VwU2V0dGlu
Z3MuaCIKQEAgLTM5LDcgKzM4LDYgQEAKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2lu
Y2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU3RvcmFnZU5hbWVzcGFjZS5oIgotI2luY2x1
ZGUgIlZpc2l0ZWRMaW5rU3RvcmUuaCIKICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAK
ICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCkBAIC02MCwxOSArNTgsMTUgQEAgc3RhdGljIHVuc2ln
bmVkIGdldFVuaXF1ZUlkZW50aWZpZXIoKQogCiAvLyAtLS0tLS0tLQogCi1zdGF0aWMgYm9vbCBz
aG91bGRUcmFja1Zpc2l0ZWRMaW5rcyA9IGZhbHNlOwotCiBQYWdlR3JvdXA6OlBhZ2VHcm91cChj
b25zdCBTdHJpbmcmIG5hbWUpCiAgICAgOiBtX25hbWUobmFtZSkKLSAgICAsIG1fdmlzaXRlZExp
bmtzUG9wdWxhdGVkKGZhbHNlKQogICAgICwgbV9pZGVudGlmaWVyKGdldFVuaXF1ZUlkZW50aWZp
ZXIoKSkKICAgICAsIG1fZ3JvdXBTZXR0aW5ncyhzdGQ6Om1ha2VfdW5pcXVlPEdyb3VwU2V0dGlu
Z3M+KCkpCiB7CiB9CiAKIFBhZ2VHcm91cDo6UGFnZUdyb3VwKFBhZ2UmIHBhZ2UpCi0gICAgOiBt
X3Zpc2l0ZWRMaW5rc1BvcHVsYXRlZChmYWxzZSkKLSAgICAsIG1faWRlbnRpZmllcihnZXRVbmlx
dWVJZGVudGlmaWVyKCkpCisgICAgOiBtX2lkZW50aWZpZXIoZ2V0VW5pcXVlSWRlbnRpZmllcigp
KQogICAgICwgbV9ncm91cFNldHRpbmdzKHN0ZDo6bWFrZV91bmlxdWU8R3JvdXBTZXR0aW5ncz4o
KSkKIHsKICAgICBhZGRQYWdlKHBhZ2UpOwpAQCAtMTcwLDk0ICsxNjQsNiBAQCB2b2lkIFBhZ2VH
cm91cDo6cmVtb3ZlUGFnZShQYWdlJiBwYWdlKQogICAgIG1fcGFnZXMucmVtb3ZlKCZwYWdlKTsK
IH0KIAotVmlzaXRlZExpbmtTdG9yZSYgUGFnZUdyb3VwOjp2aXNpdGVkTGlua1N0b3JlKCkKLXsK
LSAgICBpZiAoIW1fdmlzaXRlZExpbmtTdG9yZSkKLSAgICAgICAgbV92aXNpdGVkTGlua1N0b3Jl
ID0gRGVmYXVsdFZpc2l0ZWRMaW5rU3RvcmU6OmNyZWF0ZSgpOwotCi0gICAgcmV0dXJuICptX3Zp
c2l0ZWRMaW5rU3RvcmU7Ci19Ci0KLWJvb2wgUGFnZUdyb3VwOjppc0xpbmtWaXNpdGVkKExpbmtI
YXNoIHZpc2l0ZWRMaW5rSGFzaCkKLXsKLSAgICBpZiAoIW1fdmlzaXRlZExpbmtzUG9wdWxhdGVk
KSB7Ci0gICAgICAgIG1fdmlzaXRlZExpbmtzUG9wdWxhdGVkID0gdHJ1ZTsKLSAgICAgICAgQVNT
RVJUKCFtX3BhZ2VzLmlzRW1wdHkoKSk7Ci0gICAgICAgICgqbV9wYWdlcy5iZWdpbigpKS0+Y2hy
b21lKCkuY2xpZW50KCkucG9wdWxhdGVWaXNpdGVkTGlua3MoKTsKLSAgICB9Ci0gICAgcmV0dXJu
IG1fdmlzaXRlZExpbmtIYXNoZXMuY29udGFpbnModmlzaXRlZExpbmtIYXNoKTsKLX0KLQotdm9p
ZCBQYWdlR3JvdXA6OmFkZFZpc2l0ZWRMaW5rSGFzaChMaW5rSGFzaCBoYXNoKQotewotICAgIGlm
IChzaG91bGRUcmFja1Zpc2l0ZWRMaW5rcykKLSAgICAgICAgYWRkVmlzaXRlZExpbmsoaGFzaCk7
Ci19Ci0KLWlubGluZSB2b2lkIFBhZ2VHcm91cDo6YWRkVmlzaXRlZExpbmsoTGlua0hhc2ggaGFz
aCkKLXsKLSAgICBBU1NFUlQoc2hvdWxkVHJhY2tWaXNpdGVkTGlua3MpOwotICAgIGlmICghbV92
aXNpdGVkTGlua0hhc2hlcy5hZGQoaGFzaCkuaXNOZXdFbnRyeSkKLSAgICAgICAgcmV0dXJuOwot
ICAgIGZvciAoYXV0byYgcGFnZSA6IG1fcGFnZXMpCi0gICAgICAgIHBhZ2UtPmludmFsaWRhdGVT
dHlsZXNGb3JMaW5rKGhhc2gpOwotICAgIHBhZ2VDYWNoZSgpLT5tYXJrUGFnZXNGb3JWaXN0ZWRM
aW5rU3R5bGVSZWNhbGMoKTsKLX0KLQotdm9pZCBQYWdlR3JvdXA6OmFkZFZpc2l0ZWRMaW5rKGNv
bnN0IFVSTCYgdXJsKQotewotICAgIGlmICghc2hvdWxkVHJhY2tWaXNpdGVkTGlua3MpCi0gICAg
ICAgIHJldHVybjsKLSAgICBBU1NFUlQoIXVybC5pc0VtcHR5KCkpOwotICAgIGFkZFZpc2l0ZWRM
aW5rKHZpc2l0ZWRMaW5rSGFzaCh1cmwuc3RyaW5nKCkpKTsKLX0KLQotdm9pZCBQYWdlR3JvdXA6
OmFkZFZpc2l0ZWRMaW5rKGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzLCBzaXplX3QgbGVuZ3RoKQot
ewotICAgIGlmICghc2hvdWxkVHJhY2tWaXNpdGVkTGlua3MpCi0gICAgICAgIHJldHVybjsKLSAg
ICBhZGRWaXNpdGVkTGluayh2aXNpdGVkTGlua0hhc2goY2hhcmFjdGVycywgbGVuZ3RoKSk7Ci19
Ci0KLXZvaWQgUGFnZUdyb3VwOjpyZW1vdmVWaXNpdGVkTGluayhjb25zdCBVUkwmIHVybCkKLXsK
LSAgICBMaW5rSGFzaCBoYXNoID0gdmlzaXRlZExpbmtIYXNoKHVybC5zdHJpbmcoKSk7Ci0gICAg
QVNTRVJUKG1fdmlzaXRlZExpbmtIYXNoZXMuY29udGFpbnMoaGFzaCkpOwotICAgIG1fdmlzaXRl
ZExpbmtIYXNoZXMucmVtb3ZlKGhhc2gpOwotCi0gICAgLy8gRklYTUU6IFdoeSBjYW4ndCB3ZSBq
dXN0IGludmFsaWRhdGUgdGhlIHNpbmdsZSB2aXNpdGVkIGxpbmsgaGFzaCBoZXJlPwotICAgIGZv
ciAoYXV0byYgcGFnZSA6IG1fcGFnZXMpCi0gICAgICAgIHBhZ2UtPmludmFsaWRhdGVTdHlsZXNG
b3JBbGxMaW5rcygpOwotICAgIHBhZ2VDYWNoZSgpLT5tYXJrUGFnZXNGb3JWaXN0ZWRMaW5rU3R5
bGVSZWNhbGMoKTsKLX0KLQotdm9pZCBQYWdlR3JvdXA6OnJlbW92ZVZpc2l0ZWRMaW5rcygpCi17
Ci0gICAgbV92aXNpdGVkTGlua3NQb3B1bGF0ZWQgPSBmYWxzZTsKLSAgICBpZiAobV92aXNpdGVk
TGlua0hhc2hlcy5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybjsKLSAgICBtX3Zpc2l0ZWRMaW5r
SGFzaGVzLmNsZWFyKCk7Ci0KLSAgICBmb3IgKGF1dG8mIHBhZ2UgOiBtX3BhZ2VzKQotICAgICAg
ICBwYWdlLT5pbnZhbGlkYXRlU3R5bGVzRm9yQWxsTGlua3MoKTsKLSAgICBwYWdlQ2FjaGUoKS0+
bWFya1BhZ2VzRm9yVmlzdGVkTGlua1N0eWxlUmVjYWxjKCk7Ci19Ci0KLXZvaWQgUGFnZUdyb3Vw
OjpyZW1vdmVBbGxWaXNpdGVkTGlua3MoKQotewotICAgIFBhZ2U6OnJlbW92ZUFsbFZpc2l0ZWRM
aW5rcygpOwotICAgIHBhZ2VDYWNoZSgpLT5tYXJrUGFnZXNGb3JWaXN0ZWRMaW5rU3R5bGVSZWNh
bGMoKTsKLX0KLQotdm9pZCBQYWdlR3JvdXA6OnNldFNob3VsZFRyYWNrVmlzaXRlZExpbmtzKGJv
b2wgc2hvdWxkVHJhY2spCi17Ci0gICAgaWYgKHNob3VsZFRyYWNrVmlzaXRlZExpbmtzID09IHNo
b3VsZFRyYWNrKQotICAgICAgICByZXR1cm47Ci0gICAgc2hvdWxkVHJhY2tWaXNpdGVkTGlua3Mg
PSBzaG91bGRUcmFjazsKLSAgICBpZiAoIXNob3VsZFRyYWNrVmlzaXRlZExpbmtzKQotICAgICAg
ICByZW1vdmVBbGxWaXNpdGVkTGlua3MoKTsKLX0KLQogU3RvcmFnZU5hbWVzcGFjZSogUGFnZUdy
b3VwOjpsb2NhbFN0b3JhZ2UoKQogewogICAgIGlmICghbV9sb2NhbFN0b3JhZ2UpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlR3JvdXAuaAppbmRleCBiYzVmNDRjODVjOGQxM2RiN2ZkMmNmNjAwMzFhZGMwZDNkNjdm
NmFlLi4zZjYyMjNiOGQzNWE0OTNlZjc5MTg1MmFiZTVjMWEzYzg3N2FmYmMwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZUdyb3VwLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgUGFnZUdyb3VwX2gKICNk
ZWZpbmUgUGFnZUdyb3VwX2gKIAotI2luY2x1ZGUgIkxpbmtIYXNoLmgiCiAjaW5jbHVkZSAiU2Vj
dXJpdHlPcmlnaW5IYXNoLmgiCiAjaW5jbHVkZSAiU3VwcGxlbWVudGFibGUuaCIKICNpbmNsdWRl
ICJVc2VyU2NyaXB0LmgiCkBAIC00Miw3ICs0MSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICBjbGFzcyBQYWdlOwogICAgIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogICAgIGNsYXNzIFN0b3Jh
Z2VOYW1lc3BhY2U7Ci0gICAgY2xhc3MgVmlzaXRlZExpbmtTdG9yZTsKIAogI2lmIEVOQUJMRShW
SURFT19UUkFDSykKICAgICBjbGFzcyBDYXB0aW9uUHJlZmVyZW5jZXNDaGFuZ2VkTGlzdGVuZXI7
CkBAIC03MSwxOSArNjksNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgYWRk
UGFnZShQYWdlJik7CiAgICAgICAgIHZvaWQgcmVtb3ZlUGFnZShQYWdlJik7CiAKLSAgICAgICAg
VmlzaXRlZExpbmtTdG9yZSYgdmlzaXRlZExpbmtTdG9yZSgpOwotCi0gICAgICAgIFdFQkNPUkVf
RVhQT1JUIGJvb2wgaXNMaW5rVmlzaXRlZChMaW5rSGFzaCk7Ci0KLSAgICAgICAgdm9pZCBhZGRW
aXNpdGVkTGluayhjb25zdCBVUkwmKTsKLSAgICAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhZGRW
aXNpdGVkTGluayhjb25zdCBVQ2hhciosIHNpemVfdCk7Ci0gICAgICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgYWRkVmlzaXRlZExpbmtIYXNoKExpbmtIYXNoKTsKLSAgICAgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCByZW1vdmVWaXNpdGVkTGluayhjb25zdCBVUkwmKTsKLSAgICAgICAgdm9pZCByZW1v
dmVWaXNpdGVkTGlua3MoKTsKLQotICAgICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBz
ZXRTaG91bGRUcmFja1Zpc2l0ZWRMaW5rcyhib29sKTsKLSAgICAgICAgV0VCQ09SRV9FWFBPUlQg
c3RhdGljIHZvaWQgcmVtb3ZlQWxsVmlzaXRlZExpbmtzKCk7Ci0KICAgICAgICAgY29uc3QgU3Ry
aW5nJiBuYW1lKCkgeyByZXR1cm4gbV9uYW1lOyB9CiAgICAgICAgIHVuc2lnbmVkIGlkZW50aWZp
ZXIoKSB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KIApAQCAtMTAwLDE2ICs4NSw5IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICNlbmRpZgogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBhZGRWaXNpdGVkTGluayhMaW5rSGFzaCk7Ci0KICAgICAgICAgU3RyaW5nIG1f
bmFtZTsKICAgICAgICAgSGFzaFNldDxQYWdlKj4gbV9wYWdlczsKIAotICAgICAgICBSZWZQdHI8
VmlzaXRlZExpbmtTdG9yZT4gbV92aXNpdGVkTGlua1N0b3JlOwotCi0gICAgICAgIEhhc2hTZXQ8
TGlua0hhc2gsIExpbmtIYXNoSGFzaD4gbV92aXNpdGVkTGlua0hhc2hlczsKLSAgICAgICAgYm9v
bCBtX3Zpc2l0ZWRMaW5rc1BvcHVsYXRlZDsKLQogICAgICAgICB1bnNpZ25lZCBtX2lkZW50aWZp
ZXI7CiAgICAgICAgIFJlZlB0cjxTdG9yYWdlTmFtZXNwYWNlPiBtX2xvY2FsU3RvcmFnZTsKICAg
ICAgICAgSGFzaE1hcDxSZWZQdHI8U2VjdXJpdHlPcmlnaW4+LCBSZWZQdHI8U3RvcmFnZU5hbWVz
cGFjZT4+IG1fdHJhbnNpZW50TG9jYWxTdG9yYWdlTWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvSGlzdG9yeS9XZWJIaXN0b3J5Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvSGlzdG9y
eS9XZWJIaXN0b3J5Lm1tCmluZGV4IDIwNDIzYmNiYWNmOTkwYzc4NmQzZTcxNzU0OTQ4NDc2YjY2
NmU3ODguLjU2ZDU4ZTVlODIxYjNlZDZjZjNmNjMwMGRmZDk5MjY0YTlmNzUwNjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL0hpc3RvcnkvV2ViSGlzdG9yeS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9IaXN0b3J5L1dlYkhpc3RvcnkubW0KQEAgLTExMSw4ICsxMTEsNiBAQCBwcml2
YXRlOgogLSAodm9pZClzZXRIaXN0b3J5QWdlSW5EYXlzTGltaXQ6KGludClsaW1pdDsKIC0gKGlu
dCloaXN0b3J5QWdlSW5EYXlzTGltaXQ7CiAKLS0gKHZvaWQpYWRkVmlzaXRlZExpbmtzVG9QYWdl
R3JvdXA6KFBhZ2VHcm91cCYpZ3JvdXA7Ci0KIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdlYkhp
c3RvcnlQcml2YXRlCkBAIC0yODEsNyArMjc5LDcgQEAgc3RhdGljIGlubGluZSBXZWJIaXN0b3J5
RGF0ZUtleSBkYXRlS2V5KE5TVGltZUludGVydmFsIGRhdGUpCiAjZW5kaWYKIAogICAgIGlmICgh
W19lbnRyaWVzQnlVUkwgY291bnRdKQotICAgICAgICBQYWdlR3JvdXA6OnJlbW92ZUFsbFZpc2l0
ZWRMaW5rcygpOworICAgICAgICBXZWJWaXNpdGVkTGlua1N0b3JlOjpyZW1vdmVBbGxWaXNpdGVk
TGlua3MoKTsKIAogICAgIHJldHVybiBZRVM7CiB9CkBAIC00NDcsNyArNDQ1LDcgQEAgc3RhdGlj
IGlubGluZSBXZWJIaXN0b3J5RGF0ZUtleSBkYXRlS2V5KE5TVGltZUludGVydmFsIGRhdGUpCiAg
ICAgW19vcmRlcmVkTGFzdFZpc2l0ZWREYXlzIHJlbGVhc2VdOwogICAgIF9vcmRlcmVkTGFzdFZp
c2l0ZWREYXlzID0gbmlsOwogCi0gICAgUGFnZUdyb3VwOjpyZW1vdmVBbGxWaXNpdGVkTGlua3Mo
KTsKKyAgICBXZWJWaXNpdGVkTGlua1N0b3JlOjpyZW1vdmVBbGxWaXNpdGVkTGlua3MoKTsKIAog
ICAgIHJldHVybiBZRVM7CiB9CkBAIC02OTUsMjIgKzY5Myw2IEBAIHN0YXRpYyBpbmxpbmUgV2Vi
SGlzdG9yeURhdGVLZXkgZGF0ZUtleShOU1RpbWVJbnRlcnZhbCBkYXRlKQogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiAKLS0gKHZvaWQpYWRkVmlzaXRlZExpbmtzVG9QYWdlR3JvdXA6KFBhZ2VHcm91
cCYpZ3JvdXAKLXsKLSAgICBOU0VudW1lcmF0b3IgKmVudW1lcmF0b3IgPSBbX2VudHJpZXNCeVVS
TCBrZXlFbnVtZXJhdG9yXTsKLSAgICB3aGlsZSAoTlNTdHJpbmcgKnVybCA9IFtlbnVtZXJhdG9y
IG5leHRPYmplY3RdKSB7Ci0gICAgICAgIHNpemVfdCBsZW5ndGggPSBbdXJsIGxlbmd0aF07Ci0g
ICAgICAgIGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzID0gQ0ZTdHJpbmdHZXRDaGFyYWN0ZXJzUHRy
KHJlaW50ZXJwcmV0X2Nhc3Q8Q0ZTdHJpbmdSZWY+KHVybCkpOwotICAgICAgICBpZiAoY2hhcmFj
dGVycykKLSAgICAgICAgICAgIGdyb3VwLmFkZFZpc2l0ZWRMaW5rKGNoYXJhY3RlcnMsIGxlbmd0
aCk7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgVmVjdG9yPFVDaGFyLCA1MTI+IGJ1ZmZl
cihsZW5ndGgpOwotICAgICAgICAgICAgW3VybCBnZXRDaGFyYWN0ZXJzOmJ1ZmZlci5kYXRhKCld
OwotICAgICAgICAgICAgZ3JvdXAuYWRkVmlzaXRlZExpbmsoYnVmZmVyLmRhdGEoKSwgbGVuZ3Ro
KTsKLSAgICAgICAgfQotICAgIH0KLX0KLQogLSAodm9pZClhZGRWaXNpdGVkTGlua3NUb1Zpc2l0
ZWRMaW5rU3RvcmU6KFdlYlZpc2l0ZWRMaW5rU3RvcmUmKXZpc2l0ZWRMaW5rU3RvcmUKIHsKICAg
ICBmb3IgKE5TU3RyaW5nICp1cmxTdHJpbmcgaW4gX2VudHJpZXNCeVVSTCkKQEAgLTczNSw4ICs3
MTcsNiBAQCBzdGF0aWMgaW5saW5lIFdlYkhpc3RvcnlEYXRlS2V5IGRhdGVLZXkoTlNUaW1lSW50
ZXJ2YWwgZGF0ZSkKICAgICBbX3NoYXJlZEhpc3RvcnkgcmVsZWFzZV07CiAgICAgX3NoYXJlZEhp
c3RvcnkgPSBbaGlzdG9yeSByZXRhaW5dOwogCi0gICAgUGFnZUdyb3VwOjpzZXRTaG91bGRUcmFj
a1Zpc2l0ZWRMaW5rcyhoaXN0b3J5KTsKLSAgICBQYWdlR3JvdXA6OnJlbW92ZUFsbFZpc2l0ZWRM
aW5rcygpOwogICAgIFdlYlZpc2l0ZWRMaW5rU3RvcmU6OnNldFNob3VsZFRyYWNrVmlzaXRlZExp
bmtzKGhpc3RvcnkpOwogICAgIFdlYlZpc2l0ZWRMaW5rU3RvcmU6OnJlbW92ZUFsbFZpc2l0ZWRM
aW5rcygpOwogfQpAQCAtOTIwLDEzICs5MDAsMTEgQEAgc3RhdGljIGlubGluZSBXZWJIaXN0b3J5
RGF0ZUtleSBkYXRlS2V5KE5TVGltZUludGVydmFsIGRhdGUpCiAKICsgKHZvaWQpX3NldFZpc2l0
ZWRMaW5rVHJhY2tpbmdFbmFibGVkOihCT09MKXZpc2l0ZWRMaW5rVHJhY2tpbmdFbmFibGVkCiB7
Ci0gICAgUGFnZUdyb3VwOjpzZXRTaG91bGRUcmFja1Zpc2l0ZWRMaW5rcyh2aXNpdGVkTGlua1Ry
YWNraW5nRW5hYmxlZCk7CiAgICAgV2ViVmlzaXRlZExpbmtTdG9yZTo6c2V0U2hvdWxkVHJhY2tW
aXNpdGVkTGlua3ModmlzaXRlZExpbmtUcmFja2luZ0VuYWJsZWQpOwogfQogCiArICh2b2lkKV9y
ZW1vdmVBbGxWaXNpdGVkTGlua3MKIHsKLSAgICBQYWdlR3JvdXA6OnJlbW92ZUFsbFZpc2l0ZWRM
aW5rcygpOwogICAgIFdlYlZpc2l0ZWRMaW5rU3RvcmU6OnJlbW92ZUFsbFZpc2l0ZWRMaW5rcygp
OwogfQogCkBAIC05NDgsMTEgKzkyNiw2IEBAIHN0YXRpYyBpbmxpbmUgV2ViSGlzdG9yeURhdGVL
ZXkgZGF0ZUtleShOU1RpbWVJbnRlcnZhbCBkYXRlKQogICAgIFtlbnRyaWVzIHJlbGVhc2VdOwog
fQogCi0tICh2b2lkKV9hZGRWaXNpdGVkTGlua3NUb1BhZ2VHcm91cDooV2ViQ29yZTo6UGFnZUdy
b3VwJilncm91cAotewotICAgIFtfaGlzdG9yeVByaXZhdGUgYWRkVmlzaXRlZExpbmtzVG9QYWdl
R3JvdXA6Z3JvdXBdOwotfQotCiAtICh2b2lkKV9hZGRWaXNpdGVkTGlua3NUb1Zpc2l0ZWRMaW5r
U3RvcmU6KFdlYlZpc2l0ZWRMaW5rU3RvcmUgJil2aXNpdGVkTGlua1N0b3JlCiB7CiAgICAgW19o
aXN0b3J5UHJpdmF0ZSBhZGRWaXNpdGVkTGlua3NUb1Zpc2l0ZWRMaW5rU3RvcmU6dmlzaXRlZExp
bmtTdG9yZV07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9IaXN0b3J5L1dlYkhpc3Rv
cnlJbnRlcm5hbC5oIGIvU291cmNlL1dlYktpdC9tYWMvSGlzdG9yeS9XZWJIaXN0b3J5SW50ZXJu
YWwuaAppbmRleCBiYmMwNjRlNjliOGI3MjdiYTc0OWJkNTU2M2Y3NjJiZDY1OWY2ZjgxLi44M2Fk
ZDJiYjE0NDQzMDMwYWE5MTEwMjNjZjFiNzQyMGFkNmE4NjM5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L21hYy9IaXN0b3J5L1dlYkhpc3RvcnlJbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvbWFjL0hpc3RvcnkvV2ViSGlzdG9yeUludGVybmFsLmgKQEAgLTM2LDYgKzM2LDUgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBAaW50ZXJmYWNlIFdlYkhpc3RvcnkgKFdlYkludGVybmFsKQog
LSAodm9pZClfdmlzaXRlZFVSTDooTlNVUkwgKilVUkwgd2l0aFRpdGxlOihOU1N0cmluZyAqKXRp
dGxlIG1ldGhvZDooTlNTdHJpbmcgKiltZXRob2Qgd2FzRmFpbHVyZTooQk9PTCl3YXNGYWlsdXJl
OwotLSAodm9pZClfYWRkVmlzaXRlZExpbmtzVG9QYWdlR3JvdXA6KFdlYkNvcmU6OlBhZ2VHcm91
cCYpZ3JvdXA7CiAtICh2b2lkKV9hZGRWaXNpdGVkTGlua3NUb1Zpc2l0ZWRMaW5rU3RvcmU6KFdl
YlZpc2l0ZWRMaW5rU3RvcmUmKXZpc2l0ZWRMaW5rU3RvcmU7CiBAZW5kCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IGI1NmQx
ZjM5ZjYwZmNiMzYxN2I3NjRiZGVmZmZmNTg4OGE3OGQzZTYuLjgwZGFkMjRjN2E1ODIyNDc2MDIw
NjA1NGE4MjI0NWNjOGVjYWNhMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0xMjQsNyArMTI0LDYgQEAgcHVibGljOgog
I2VuZGlmCiAgICAgdmlydHVhbCB2b2lkIHJlYWNoZWRNYXhBcHBDYWNoZVNpemUoaW50NjRfdCBz
cGFjZU5lZWRlZCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHJlYWNoZWRBcHBsaWNhdGlv
bkNhY2hlT3JpZ2luUXVvdGEoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qLCBpbnQ2NF90IHRvdGFs
U3BhY2VOZWVkZWQpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBwb3B1bGF0ZVZpc2l0ZWRM
aW5rcygpIG92ZXJyaWRlOwogCiAjaWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQogICAgIHZp
cnR1YWwgdm9pZCBhbm5vdGF0ZWRSZWdpb25zQ2hhbmdlZCgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCmluZGV4
IDJjYjFjNGIzNDRlZTA1ZTRhZjIyNzM0ZGY1NDg2N2U3YTIwZWJjNTIuLjcwYjBiMzA2YWUxYTEy
MzhjNTMyNjA5NjAwZDM1YzVkMWFkZjEzMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KQEAgLTcwNywyMiArNzA3LDYgQEAg
dm9pZCBXZWJDaHJvbWVDbGllbnQ6OnJlYWNoZWRBcHBsaWNhdGlvbkNhY2hlT3JpZ2luUXVvdGEo
U2VjdXJpdHlPcmlnaW4qIG9yaWdpbiwKICAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwog
fQogCi12b2lkIFdlYkNocm9tZUNsaWVudDo6cG9wdWxhdGVWaXNpdGVkTGlua3MoKQotewotICAg
IGlmIChbbV93ZWJWaWV3IGhpc3RvcnlEZWxlZ2F0ZV0pIHsKLSAgICAgICAgV2ViSGlzdG9yeURl
bGVnYXRlSW1wbGVtZW50YXRpb25DYWNoZSogaW1wbGVtZW50YXRpb25zID0gV2ViVmlld0dldEhp
c3RvcnlEZWxlZ2F0ZUltcGxlbWVudGF0aW9ucyhtX3dlYlZpZXcpOwotICAgICAgICAKLSAgICAg
ICAgaWYgKGltcGxlbWVudGF0aW9ucy0+cG9wdWxhdGVWaXNpdGVkTGlua3NGdW5jKQotICAgICAg
ICAgICAgQ2FsbEhpc3RvcnlEZWxlZ2F0ZShpbXBsZW1lbnRhdGlvbnMtPnBvcHVsYXRlVmlzaXRl
ZExpbmtzRnVuYywgbV93ZWJWaWV3LCBAc2VsZWN0b3IocG9wdWxhdGVWaXNpdGVkTGlua3NGb3JX
ZWJWaWV3OikpOwotCi0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBCRUdJTl9CTE9DS19P
QkpDX0VYQ0VQVElPTlM7Ci0gICAgW1tXZWJIaXN0b3J5IG9wdGlvbmFsU2hhcmVkSGlzdG9yeV0g
X2FkZFZpc2l0ZWRMaW5rc1RvUGFnZUdyb3VwOlttX3dlYlZpZXcgcGFnZV0tPmdyb3VwKCldOwot
ICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7Ci19Ci0KICNpZiBFTkFCTEUoREFTSEJPQVJE
X1NVUFBPUlQpCiAKIHZvaWQgV2ViQ2hyb21lQ2xpZW50Ojphbm5vdGF0ZWRSZWdpb25zQ2hhbmdl
ZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggYTVkOTU0YzY2NGE5NjUw
OGIzZWYzNjk4ODY5ZjNlZDFjNWMwNTE5Yy4uMmNjOTIxNzFhMDI5YTVlNGNhZjczZmRiODMyYTQ1
MzJhZGFkZWNmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtNzAwNSwy
OCArNzAwNSwxMiBAQCBzdGF0aWMgTlNBcHBsZUV2ZW50RGVzY3JpcHRvciogYWVEZXNjRnJvbUpT
VmFsdWUoRXhlY1N0YXRlKiBleGVjLCBKU0M6OkpTVmFsdWUgagogICAgIFdlYlZpc2l0ZWRMaW5r
U3RvcmUmIHZpc2l0ZWRMaW5rU3RvcmUgPSBfcHJpdmF0ZS0+Z3JvdXAtPnZpc2l0ZWRMaW5rU3Rv
cmUoKTsKICAgICBmb3IgKE5TU3RyaW5nICp1cmxTdHJpbmcgaW4gdmlzaXRlZExpbmtzKQogICAg
ICAgICB2aXNpdGVkTGlua1N0b3JlLmFkZFZpc2l0ZWRMaW5rKHVybFN0cmluZyk7Ci0KLSAgICBQ
YWdlR3JvdXAmIGdyb3VwID0gY29yZShzZWxmKS0+Z3JvdXAoKTsKLQotICAgIE5TRW51bWVyYXRv
ciAqZW51bWVyYXRvciA9IFt2aXNpdGVkTGlua3Mgb2JqZWN0RW51bWVyYXRvcl07Ci0gICAgd2hp
bGUgKE5TU3RyaW5nICp1cmwgPSBbZW51bWVyYXRvciBuZXh0T2JqZWN0XSkgewotICAgICAgICBz
aXplX3QgbGVuZ3RoID0gW3VybCBsZW5ndGhdOwotICAgICAgICBjb25zdCBVQ2hhciogY2hhcmFj
dGVycyA9IENGU3RyaW5nR2V0Q2hhcmFjdGVyc1B0cihyZWludGVycHJldF9jYXN0PENGU3RyaW5n
UmVmPih1cmwpKTsKLSAgICAgICAgaWYgKGNoYXJhY3RlcnMpCi0gICAgICAgICAgICBncm91cC5h
ZGRWaXNpdGVkTGluayhjaGFyYWN0ZXJzLCBsZW5ndGgpOwotICAgICAgICBlbHNlIHsKLSAgICAg
ICAgICAgIFZlY3RvcjxVQ2hhciwgNTEyPiBidWZmZXIobGVuZ3RoKTsKLSAgICAgICAgICAgIFt1
cmwgZ2V0Q2hhcmFjdGVyczpidWZmZXIuZGF0YSgpXTsKLSAgICAgICAgICAgIGdyb3VwLmFkZFZp
c2l0ZWRMaW5rKGJ1ZmZlci5kYXRhKCksIGxlbmd0aCk7Ci0gICAgICAgIH0KLSAgICB9CiB9CiAK
ICNpZiBQTEFURk9STShJT1MpCiAtICh2b2lkKXJlbW92ZVZpc2l0ZWRMaW5rOihOU1VSTCAqKXVy
bAogewogICAgIF9wcml2YXRlLT5ncm91cC0+dmlzaXRlZExpbmtTdG9yZSgpLnJlbW92ZVZpc2l0
ZWRMaW5rKFVSTCh1cmwpLnN0cmluZygpKTsKLSAgICBjb3JlKHNlbGYpLT5ncm91cCgpLnJlbW92
ZVZpc2l0ZWRMaW5rKHVybCk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQv
d2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKaW5kZXggNmNkOWY1NGQ0N2Nj
ZDBiYzU5MTVjYmY0NjQ3ZDg1ZTdhMzNkMjg4OC4uYjhiNjBmZjkzMzM4ZDdlODg0ZDY3ZDkxYTZi
MWY0YTFiOTQ4NTNkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCkBAIC02MzUsMTAgKzYzNSw2IEBAIHZvaWQgV2ViQ2hy
b21lQ2xpZW50OjpyZWFjaGVkQXBwbGljYXRpb25DYWNoZU9yaWdpblF1b3RhKFNlY3VyaXR5T3Jp
Z2luKiwgaW50NjRfCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBXZWJDaHJvbWVD
bGllbnQ6OnBvcHVsYXRlVmlzaXRlZExpbmtzKCkKLXsKLX0KLQogdm9pZCBXZWJDaHJvbWVDbGll
bnQ6OnJ1bk9wZW5QYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+IHBycEZpbGVD
aG9vc2VyKQogewogICAgIFJlZlB0cjxGaWxlQ2hvb3Nlcj4gZmlsZUNob29zZXIgPSBwcnBGaWxl
Q2hvb3NlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmgKaW5kZXggY2Q3OTJjNDJkZGJlOGI4Nzk0ZThiNzA4N2RiOTdmYWQyYjMwNTYy
NC4uMjE1NGE0ZjYxZDFjODE5ODRjZjVlMzVjYWE1MzVhOWEyZTJkOTI1NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIv
U291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTEx
OSw4ICsxMTksNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHJlYWNoZWRNYXhBcHBDYWNo
ZVNpemUoaW50NjRfdCBzcGFjZU5lZWRlZCk7CiAgICAgdmlydHVhbCB2b2lkIHJlYWNoZWRBcHBs
aWNhdGlvbkNhY2hlT3JpZ2luUXVvdGEoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qLCBpbnQ2NF90
IHRvdGFsU3BhY2VOZWVkZWQpOwogCi0gICAgdmlydHVhbCB2b2lkIHBvcHVsYXRlVmlzaXRlZExp
bmtzKCk7Ci0KICAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKFdlYkNvcmU6OkZyYW1lKiwg
UGFzc1JlZlB0cjxXZWJDb3JlOjpGaWxlQ2hvb3Nlcj4pOwogICAgIHZpcnR1YWwgdm9pZCBsb2Fk
SWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxXVEY6OlN0cmluZz4mLCBXZWJDb3JlOjpGaWxlSWNv
bkxvYWRlciopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKaW5kZXggNDZkZGU4Yzg5YTFjMDIx
NzgzZjI4Y2FlYzVlMzkyMTRmNjBiOTYxNi4uYmIzYzY4MWU1ZDRlZTA1ODQyNTI2YTM1MWMyMTRi
ZTNmYjg3YjE0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcApAQCAtNzMzLDEwICs3MzMsNiBA
QCB2b2lkIFdlYkNocm9tZUNsaWVudDo6YW5ub3RhdGVkUmVnaW9uc0NoYW5nZWQoKQogfQogI2Vu
ZGlmCiAKLXZvaWQgV2ViQ2hyb21lQ2xpZW50Ojpwb3B1bGF0ZVZpc2l0ZWRMaW5rcygpCi17Ci19
Ci0KIGJvb2wgV2ViQ2hyb21lQ2xpZW50OjpzaG91bGRSZXBsYWNlV2l0aEdlbmVyYXRlZEZpbGVG
b3JVcGxvYWQoY29uc3QgU3RyaW5nJiBwYXRoLCBTdHJpbmcmIGdlbmVyYXRlZEZpbGVuYW1lKQog
ewogICAgIGdlbmVyYXRlZEZpbGVuYW1lID0gbV9wYWdlLT5pbmplY3RlZEJ1bmRsZVVJQ2xpZW50
KCkuc2hvdWxkR2VuZXJhdGVGaWxlRm9yVXBsb2FkKG1fcGFnZSwgcGF0aCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuaAppbmRleCBjM2M3N2ExY2JlZWU2MDBmNjg0MzgzYWJiYWMzNzRiMmU0YzdlNjg0Li43
ODIzOGQyODlmZjU4MDQ5NDEwMmNjNWIyZjE2NjhjZmQxMmJlOTc1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmgKQEAgLTE1MCw4ICsxNTAsNiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBhbm5v
dGF0ZWRSZWdpb25zQ2hhbmdlZCgpIG92ZXJyaWRlOwogI2VuZGlmCiAKLSAgICB2aXJ0dWFsIHZv
aWQgcG9wdWxhdGVWaXNpdGVkTGlua3MoKSBvdmVycmlkZTsKLSAgICAKICAgICB2aXJ0dWFsIGJv
b2wgc2hvdWxkUmVwbGFjZVdpdGhHZW5lcmF0ZWRGaWxlRm9yVXBsb2FkKGNvbnN0IFN0cmluZyYg
cGF0aCwgU3RyaW5nJiBnZW5lcmF0ZWRGaWxlbmFtZSkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBT
dHJpbmcgZ2VuZXJhdGVSZXBsYWNlbWVudEZpbGUoY29uc3QgU3RyaW5nJiBwYXRoKSBvdmVycmlk
ZTsKICAgICAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>242420</attachid>
            <date>2014-12-02 09:45:03 -0800</date>
            <delta_ts>2014-12-02 10:08:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139185-20141202094534.patch</filename>
            <type>text/plain</type>
            <size>38965</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc2NjU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGQ2ZDBjODg0NDA2ZjVh
NzM1NTRiMjExZDljOGUxZTUyNzkyMThiMC4uN2JiNTk3YzlkZjk5NzliYTI1NTQ5ZjhlM2E4MzQ0
MGZkODViOTBjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE0LTEyLTAyICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHZpc2l0
ZWQgbGluayBoYW5kbGluZyBmcm9tIFBhZ2VHcm91cAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5MTg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBXZWJD
b3JlLmV4cC5pbjoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qOgor
ICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVyczoKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogbG9hZGVy
L0hpc3RvcnlDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKiBwYWdlL0Nocm9tZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6OnBvcHVsYXRlVmlzaXRlZExpbmtzKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorICAgICAgICAqIHBhZ2UvRGVmYXVs
dFZpc2l0ZWRMaW5rU3RvcmUuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIHBhZ2UvRGVmYXVsdFZp
c2l0ZWRMaW5rU3RvcmUuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UGFnZTo6UGFnZSk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjp+UGFn
ZSk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjp2aXNpdGVkTGlua1N0b3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OlBhZ2U6OnNldFZpc2l0ZWRMaW5rU3RvcmUpOgorICAgICAgICAoV2ViQ29yZTo6
UGFnZTo6cmVtb3ZlQWxsVmlzaXRlZExpbmtzKTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL1Bh
Z2UuaDoKKyAgICAgICAgKiBwYWdlL1BhZ2VHcm91cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQ
YWdlR3JvdXA6OlBhZ2VHcm91cCk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlR3JvdXA6OnZpc2l0
ZWRMaW5rU3RvcmUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwOjppc0xp
bmtWaXNpdGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VHcm91cDo6YWRkVmlz
aXRlZExpbmtIYXNoKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VHcm91cDo6YWRk
VmlzaXRlZExpbmspOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwOjpyZW1v
dmVWaXNpdGVkTGluayk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpQYWdlR3JvdXA6OnJl
bW92ZVZpc2l0ZWRMaW5rcyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpQYWdlR3JvdXA6
OnJlbW92ZUFsbFZpc2l0ZWRMaW5rcyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpQYWdl
R3JvdXA6OnNldFNob3VsZFRyYWNrVmlzaXRlZExpbmtzKTogRGVsZXRlZC4KKyAgICAgICAgKiBw
YWdlL1BhZ2VHcm91cC5oOgorCiAyMDE0LTEyLTAyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBs
ZS5jb20+CiAKICAgICAgICAgTW92ZSAnZm9udC1mYW1pbHknIENTUyBwcm9wZXJ0eSB0byB0aGUg
bmV3IFN0eWxlQnVpbGRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDVmMWUwNjJiZWE2Nzk1ODZhMzFl
ZDI2MWE5MmM4YzMwMmVmOWU3ZDYuLjI5OTc5OWE5NzJkODMxY2I1YmEwYjU2ODMyZmFmNTY3YzYz
NzE3OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxNC0xMi0wMiAgQW5k
ZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSB2aXNp
dGVkIGxpbmsgaGFuZGxpbmcgZnJvbSBQYWdlR3JvdXAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzOTE4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogSGlzdG9yeS9XZWJIaXN0b3J5Lm1tOgorICAgICAg
ICAoLVtXZWJIaXN0b3J5UHJpdmF0ZSByZW1vdmVJdGVtRm9yVVJMU3RyaW5nOl0pOgorICAgICAg
ICAoLVtXZWJIaXN0b3J5UHJpdmF0ZSByZW1vdmVBbGxJdGVtc10pOgorICAgICAgICAoK1tXZWJI
aXN0b3J5IHNldE9wdGlvbmFsU2hhcmVkSGlzdG9yeTpdKToKKyAgICAgICAgKCtbV2ViSGlzdG9y
eSBfc2V0VmlzaXRlZExpbmtUcmFja2luZ0VuYWJsZWQ6XSk6CisgICAgICAgICgrW1dlYkhpc3Rv
cnkgX3JlbW92ZUFsbFZpc2l0ZWRMaW5rc10pOgorICAgICAgICAoLVtXZWJIaXN0b3J5UHJpdmF0
ZSBhZGRWaXNpdGVkTGlua3NUb1BhZ2VHcm91cDpdKTogRGVsZXRlZC4KKyAgICAgICAgKC1bV2Vi
SGlzdG9yeSBfYWRkVmlzaXRlZExpbmtzVG9QYWdlR3JvdXA6XSk6IERlbGV0ZWQuCisgICAgICAg
ICogSGlzdG9yeS9XZWJIaXN0b3J5SW50ZXJuYWwuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQubW06CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6OnBvcHVsYXRlVmlzaXRlZExpbmtz
KTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dl
YlZpZXcgYWRkVmlzaXRlZExpbmtzOl0pOgorICAgICAgICAoLVtXZWJWaWV3IHJlbW92ZVZpc2l0
ZWRMaW5rOl0pOgorCiAyMDE0LTEyLTAxICBUaW1vdGh5IEhvcnRvbiAgPHRpbW90aHlfaG9ydG9u
QGFwcGxlLmNvbT4KIAogICAgICAgICBUcnkgdG8gZml4IHRoZSBNYWMgYnVpbGQuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFu
Z2VMb2cKaW5kZXggMjBiNmYyZWJkYTNkMzJkOGY1ODU5MjAyNzlkNjg1ZGJmN2Q3YTk2My4uMzcz
MWIzMjVjZjUxN2Q1ZWE5NzM5NWM0NWRhZmMwMTgyMjIwMGQ3NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE0IEBACisyMDE0LTEyLTAyICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBh
cHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHZpc2l0ZWQgbGluayBoYW5kbGluZyBmcm9tIFBh
Z2VHcm91cAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTM5MTg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViQ2hyb21l
Q2xpZW50Ojpwb3B1bGF0ZVZpc2l0ZWRMaW5rcyk6IERlbGV0ZWQuCisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisKIDIwMTQtMTItMDEgIEFuZGVycyBDYXJsc3Nv
biAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgSVdlYkNvb2tpZU1hbmFn
ZXIgb24gV2luZG93cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGQwYzExYjdlMmU0YWUzYmU2ZTJmZDQzZTEwMzg5
ZjZiOWQ5ODg1ZDEuLmY5NTFiNTMzNDgzNGNmMjQyYmM0MGVhZmEzMmQ0YmFjNjcyNDQyOWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNC0xMi0wMiAgQW5kZXJzIENhcmxzc29uICA8
YW5kZXJzY2FAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSB2aXNpdGVkIGxpbmsgaGFuZGxp
bmcgZnJvbSBQYWdlR3JvdXAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEzOTE4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OnBvcHVsYXRlVmlzaXRlZExpbmtz
KTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5oOgorCiAyMDE0LTEyLTAxICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIFdLQnVuZGxlUmVtb3ZlQWxsVmlzaXRlZExpbmtzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CmluZGV4IDY0NjM1MTJkMzE4M2VhZDk2OGQ5YjQwOTg5ZDI4MmQwYzUx
YzA4MzMuLjljNmQ2YjU1ZmQ1MDc4ZGUxMDU1YWY3NWIwNDIxYWE3MmRlZDNlZmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CkBAIC0xODg5LDcgKzE4ODksNiBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAg
ICAgcGFnZS9ET01XaW5kb3dFeHRlbnNpb24uY3BwCiAgICAgcGFnZS9ET01XaW5kb3dQcm9wZXJ0
eS5jcHAKICAgICBwYWdlL0RlYnVnUGFnZU92ZXJsYXlzLmNwcAotICAgIHBhZ2UvRGVmYXVsdFZp
c2l0ZWRMaW5rU3RvcmUuY3BwCiAgICAgcGFnZS9EZXZpY2VDb250cm9sbGVyLmNwcAogICAgIHBh
Z2UvRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmNwcAogICAgIHBhZ2UvRHJhZ0NvbnRyb2xsZXIuY3Bw
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IGU0NTExYWY3MDQzOWRlYjBiZjllMDAyNWQ0NGU5NDg0
MjQ1NjhiNTEuLjcxMTg1NzFjYjI2NWFjOWZkYTE4ZWE0N2ZjYWI4YWM3MGViNWNkNTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZXhwLmluCkBAIC0xNTUwLDEzICsxNTUwLDggQEAgX19aTjdXZWJDb3JlOUxheWVy
UG9vbEQxRXYKIF9fWk43V2ViQ29yZTlQYWdlQ2FjaGUxMXNldENhcGFjaXR5RWkKIF9fWk43V2Vi
Q29yZTlQYWdlQ2FjaGUzM21hcmtQYWdlc0ZvclZpc3RlZExpbmtTdHlsZVJlY2FsY0V2CiBfX1pO
N1dlYkNvcmU5UGFnZUNhY2hlNnJlbW92ZUVQTlNfMTFIaXN0b3J5SXRlbUUKLV9fWk43V2ViQ29y
ZTlQYWdlR3JvdXAxM2lzTGlua1Zpc2l0ZWRFeQotX19aTjdXZWJDb3JlOVBhZ2VHcm91cDE0YWRk
VmlzaXRlZExpbmtFUEt0bQogX19aTjdXZWJDb3JlOVBhZ2VHcm91cDE2c3luY0xvY2FsU3RvcmFn
ZUV2CiBfX1pON1dlYkNvcmU5UGFnZUdyb3VwMTdjbG9zZUxvY2FsU3RvcmFnZUV2Ci1fX1pON1dl
YkNvcmU5UGFnZUdyb3VwMThhZGRWaXNpdGVkTGlua0hhc2hFeQotX19aTjdXZWJDb3JlOVBhZ2VH
cm91cDIxcmVtb3ZlQWxsVmlzaXRlZExpbmtzRXYKLV9fWk43V2ViQ29yZTlQYWdlR3JvdXAyNnNl
dFNob3VsZFRyYWNrVmlzaXRlZExpbmtzRWIKIF9fWk43V2ViQ29yZTlQYWdlR3JvdXAzMGNsb3Nl
SWRsZUxvY2FsU3RvcmFnZURhdGFiYXNlc0V2CiBfX1pON1dlYkNvcmU5UGFnZUdyb3VwOXBhZ2VH
cm91cEVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTlTY3JvbGxiYXIxMW1vdXNlRXhpdGVk
RXYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmlu
ZGV4IDkwYmVhYmY3NTBmNTVhMTMxOTViYjY3NjFiMjEzZmJiMmNjMTJmNjYuLjM2NWFkYTgyNTBk
YjBkOGM2OGEyYTU1NjQ1NjRhNTY4NmYzN2EzMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpAQCAtNzE1Myw3ICs3MTUzLDYgQEAKICAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBhZ2VcRE9NV2luZG93LmNwcCIgLz4KICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXHBhZ2VcRE9NV2luZG93RXh0ZW5zaW9uLmNwcCIgLz4KICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXHBhZ2VcRE9NV2luZG93UHJvcGVydHkuY3BwIiAvPgotICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5ccGFnZVxEZWZhdWx0VmlzaXRlZExpbmtTdG9yZS5jcHAiIC8+
CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwYWdlXERlYnVnUGFnZU92ZXJsYXlzLmNwcCIg
Lz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBhZ2VcRHJhZ0NvbnRyb2xsZXIuY3BwIiAv
PgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGFnZVxzY3JvbGxpbmdcY29vcmRpbmF0ZWRn
cmFwaGljc1xTY3JvbGxpbmdDb29yZGluYXRvckNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwIiAvPgpA
QCAtMTkxNjgsNyArMTkxNjcsNiBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGFnZVxE
T01XaW5kb3dFeHRlbnNpb24uaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2Vc
RE9NV2luZG93UHJvcGVydHkuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2Vc
RGVidWdQYWdlT3ZlcmxheXMuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2Vc
RGVmYXVsdFZpc2l0ZWRMaW5rU3RvcmUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHBhZ2VcRHJhZ0FjdGlvbnMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2Vc
RHJhZ0NsaWVudC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGFnZVxEcmFnQ29u
dHJvbGxlci5oIiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9q
L1dlYkNvcmUudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9q
L1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4IGUwODIxOTgzYWY5ZjgxZjE1ZDE0ZGFjMGM1
MmY2NTZiNzRjN2Y5ZTkuLmU2ZDQ0ZWY4MGI0OTlhYzk0MjZjZDFhZTkzZmRjZTI5MDIwN2U2MTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHBy
b2ouZmlsdGVycworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52
Y3hwcm9qLmZpbHRlcnMKQEAgLTczOCw5ICs3MzgsNiBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5ccGFnZVxEZWJ1Z1BhZ2VPdmVybGF5cy5jcHAiPgogICAgICAgPEZpbHRlcj5wYWdlPC9G
aWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwYWdl
XERlZmF1bHRWaXNpdGVkTGlua1N0b3JlLmNwcCI+Ci0gICAgICA8RmlsdGVyPnBhZ2U8L0ZpbHRl
cj4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBhZ2VcRHJh
Z0NvbnRyb2xsZXIuY3BwIj4KICAgICAgIDxGaWx0ZXI+cGFnZTwvRmlsdGVyPgogICAgIDwvQ2xD
b21waWxlPgpAQCAtMTUxMzcsOSArMTUxMzQsNiBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5ccGFnZVxEZWJ1Z1BhZ2VPdmVybGF5cy5oIj4KICAgICAgIDxGaWx0ZXI+cGFnZTwvRmlsdGVy
PgogICAgIDwvQ2xJbmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGFnZVxEZWZh
dWx0VmlzaXRlZExpbmtTdG9yZS5oIj4KLSAgICAgIDxGaWx0ZXI+cGFnZTwvRmlsdGVyPgotICAg
IDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccmVuZGVyaW5nXEJvcmRl
ckVkZ2UuaCI+CiAgICAgICA8RmlsdGVyPnJlbmRlcmluZzwvRmlsdGVyPgogICAgIDwvQ2xJbmNs
dWRlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDg5ZmIzYzc3ODFmOGVjMWMwYTY3ODUwZDAyNjEwYzg3ODA1NmZhNWIuLjRmZTYy
YWU4MzJlNjI3YzU5NTJiOGUzNDcyMWJhZDdkMjQ4MDhmNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTkxMCw4ICs5MTAsNiBA
QAogCQkxQUVGNEU2NzE3MEUxNjAzMDBBQjI3OTkgLyogQ2FjaGVkRm9udENsaWVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFFRjRFNjYxNzBFMTYw
MzAwQUIyNzk5IC8qIENhY2hlZEZvbnRDbGllbnQuaCAqLzsgfTsKIAkJMUFFRjRFNjkxNzBFMTc0
ODAwQUIyNzk5IC8qIENhY2hlZFNWR0RvY3VtZW50Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUVGNEU2ODE3MEUxNzQ4MDBBQjI3OTkgLyog
Q2FjaGVkU1ZHRG9jdW1lbnRDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQkxQUYzMjY3OTBENzhCOTQ0MDA2OEYwQzQgLyogRWRpdG9yQ2xp
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUYz
MjY3NzBENzhCOTQ0MDA2OEYwQzQgLyogRWRpdG9yQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMUFGNENFRTkxOEJDMzUwMTAwQkMyRDM0
IC8qIERlZmF1bHRWaXNpdGVkTGlua1N0b3JlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRjRDRUU3MThCQzM1MDEwMEJDMkQzNCAvKiBEZWZhdWx0
VmlzaXRlZExpbmtTdG9yZS5jcHAgKi87IH07Ci0JCTFBRjRDRUVBMThCQzM1MDEwMEJDMkQzNCAv
KiBEZWZhdWx0VmlzaXRlZExpbmtTdG9yZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUFGNENFRTgxOEJDMzUwMTAwQkMyRDM0IC8qIERlZmF1bHRWaXNp
dGVkTGlua1N0b3JlLmggKi87IH07CiAJCTFBRjRDRUVDMThCQzNDMUIwMEJDMkQzNCAvKiBWaXNp
dGVkTGlua1N0b3JlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFBRjRDRUVCMThCQzNDMUIwMEJDMkQzNCAvKiBWaXNpdGVkTGlua1N0b3JlLmNwcCAq
LzsgfTsKIAkJMUFGNjJFRTYxNERBMjJBNzAwNDE1NTZDIC8qIFNjcm9sbGluZ0Nvb3JkaW5hdG9y
TWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFG
NjJFRTMxNERBMjJBNzAwNDE1NTZDIC8qIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tICovOyB9
OwogCQkxQUY2MkVFNzE0REEyMkE3MDA0MTU1NkMgLyogU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFGNjJFRTQx
NERBMjJBNzAwNDE1NTZDIC8qIFNjcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcCAqLzsgfTsKQEAgLTc5
MzIsOCArNzkzMCw2IEBACiAJCTFBRUY0RTY2MTcwRTE2MDMwMEFCMjc5OSAvKiBDYWNoZWRGb250
Q2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlZEZvbnRDbGll
bnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFFRjRFNjgxNzBFMTc0ODAwQUIy
Nzk5IC8qIENhY2hlZFNWR0RvY3VtZW50Q2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IENhY2hlZFNWR0RvY3VtZW50Q2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTFBRjMyNjc3MEQ3OEI5NDQwMDY4RjBDNCAvKiBFZGl0b3JDbGllbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRWRpdG9yQ2xpZW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCTFBRjRDRUU3MThCQzM1MDEwMEJDMkQzNCAvKiBEZWZhdWx0Vmlz
aXRlZExpbmtTdG9yZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBE
ZWZhdWx0VmlzaXRlZExpbmtTdG9yZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTFBRjRDRUU4MThCQzM1MDEwMEJDMkQzNCAvKiBEZWZhdWx0VmlzaXRlZExpbmtTdG9yZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZWZhdWx0VmlzaXRlZExpbmtTdG9yZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQUY0Q0VFQjE4QkMzQzFCMDBCQzJEMzQg
LyogVmlzaXRlZExpbmtTdG9yZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBWaXNpdGVkTGlua1N0b3JlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MUFGNjJFRTMxNERBMjJBNzAwNDE1NTZDIC8qIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU2Nyb2xsaW5nQ29vcmRpbmF0
b3JNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBRjYyRUU0MTREQTIyQTcw
MDQxNTU2QyAvKiBTY3JvbGxpbmdDb29yZGluYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBTY3JvbGxpbmdDb29yZGluYXRvci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0xNjYwNyw4ICsxNjYwMyw2IEBACiAJCQkJOTc1Q0EyODkxMzAzNjVG
ODAwRTk5QUQ5IC8qIENyeXB0by5pZGwgKi8sCiAJCQkJMEY2QTEyQkIxQTAwOTIzNzAwQzZERTcy
IC8qIERlYnVnUGFnZU92ZXJsYXlzLmNwcCAqLywKIAkJCQkwRjZBMTJCQzFBMDA5MjM3MDBDNkRF
NzIgLyogRGVidWdQYWdlT3ZlcmxheXMuaCAqLywKLQkJCQkxQUY0Q0VFNzE4QkMzNTAxMDBCQzJE
MzQgLyogRGVmYXVsdFZpc2l0ZWRMaW5rU3RvcmUuY3BwICovLAotCQkJCTFBRjRDRUU4MThCQzM1
MDEwMEJDMkQzNCAvKiBEZWZhdWx0VmlzaXRlZExpbmtTdG9yZS5oICovLAogCQkJCUNDQzJCNTEw
MTVGNjEzMDYwMDQ4Q0RENiAvKiBEZXZpY2VDbGllbnQuaCAqLywKIAkJCQlDQ0MyQjUxMTE1RjYx
MzA2MDA0OENERDYgLyogRGV2aWNlQ29udHJvbGxlci5jcHAgKi8sCiAJCQkJQ0NDMkI1MTIxNUY2
MTMwNjAwNDhDREQ2IC8qIERldmljZUNvbnRyb2xsZXIuaCAqLywKQEAgLTIzODUzLDcgKzIzODQ3
LDYgQEAKIAkJCQk0MUEzRDU4RjEwMUMxNTJEMDAzMTZEMDcgLyogRGVkaWNhdGVkV29ya2VyVGhy
ZWFkLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDA2REZBNjEzNEE0REVGMDA2RjVEN0QgLyogRGVm
YXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTY3RUJGNjEw
Mjk2MkJBMDAzRDI1MkEgLyogRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaCBpbiBIZWFk
ZXJzICovLAotCQkJCTFBRjRDRUVBMThCQzM1MDEwMEJDMkQzNCAvKiBEZWZhdWx0VmlzaXRlZExp
bmtTdG9yZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQzMTYwMkMxMkIwMjY3NjAwQzFBMzU5IC8q
IERlbGF5RFNQS2VybmVsLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDMxNjAyRTEyQjAyNjc2MDBD
MUEzNTkgLyogRGVsYXlOb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDMxNjAzMTEyQjAyNjc2
MDBDMUEzNTkgLyogRGVsYXlQcm9jZXNzb3IuaCBpbiBIZWFkZXJzICovLApAQCAtMjc1MzEsNyAr
Mjc1MjQsNiBAQAogCQkJCTQxQTNENThFMTAxQzE1MkQwMDMxNkQwNyAvKiBEZWRpY2F0ZWRXb3Jr
ZXJUaHJlYWQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkQwNkRGQTUxMzRBNERFRjAwNkY1RDdE
IC8qIERlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0
MTY3RUJGNTEwMjk2MkJBMDAzRDI1MkEgLyogRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnku
Y3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMUFGNENFRTkxOEJDMzUwMTAwQkMyRDM0IC8qIERlZmF1
bHRWaXNpdGVkTGlua1N0b3JlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZEMzE2MDJCMTJCMDI2
NzYwMEMxQTM1OSAvKiBEZWxheURTUEtlcm5lbC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGRDMx
NjAyRDEyQjAyNjc2MDBDMUEzNTkgLyogRGVsYXlOb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUZEMzE2MDMwMTJCMDI2NzYwMEMxQTM1OSAvKiBEZWxheVByb2Nlc3Nvci5jcHAgaW4gU291cmNl
cyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuY3BwCmluZGV4
IDgyNDI0Y2IzZDg5NjcwNWQ3MDkzZGE0ZDVmZDEzYzBiZThlODFmMjIuLjk2ZGY1MGFlZGFkOTQ0
MjVlZDcwYTgyZDc4YTZiOTU1MDU3MTYwMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9IaXN0b3J5Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0hp
c3RvcnlDb250cm9sbGVyLmNwcApAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgIkZyYW1lVHJl
ZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgogI2luY2x1ZGUgIkhpc3RvcnlJdGVtLmgiCisj
aW5jbHVkZSAiTGlua0hhc2guaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTWFp
bkZyYW1lLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9DaHJvbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCmluZGV4IDlm
YTJiMmViNzQ1MzAzNjhjMDUwZGJmMGY2MTBhNzA3ZmNlODhkZDUuLjNmMDNiMzUwNzU2NjQ0ZmMy
ODk1OWViZjM0MmJkMzdiMTBkMzY4NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q2hyb21lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKQEAgLTU3Miwx
MCArNTcyLDYgQEAgdm9pZCBDaHJvbWVDbGllbnQ6OmFubm90YXRlZFJlZ2lvbnNDaGFuZ2VkKCkK
IH0KICNlbmRpZgogCi12b2lkIENocm9tZUNsaWVudDo6cG9wdWxhdGVWaXNpdGVkTGlua3MoKQot
ewotfQotCiBib29sIENocm9tZUNsaWVudDo6c2hvdWxkUmVwbGFjZVdpdGhHZW5lcmF0ZWRGaWxl
Rm9yVXBsb2FkKGNvbnN0IFN0cmluZyYsIFN0cmluZyYpCiB7CiAgICAgcmV0dXJuIGZhbHNlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXggM2JiZDZjMGQ3NDhlY2EwZWE4YjIxNzVk
OTMyZGNlMGYyZmY1ODQ1NS4uMmNkZGE0OWViMzQxODk2ZGRlNDcwMmE1YjM2NTAxNjUxODdjNmM5
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCkBAIC0yMjgsOCArMjI4LDYgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgdm9pZCBhbm5vdGF0ZWRSZWdpb25zQ2hhbmdlZCgpOwogI2VuZGlm
CiAKLSAgICB2aXJ0dWFsIHZvaWQgcG9wdWxhdGVWaXNpdGVkTGlua3MoKTsKLQogICAgIHZpcnR1
YWwgYm9vbCBzaG91bGRSZXBsYWNlV2l0aEdlbmVyYXRlZEZpbGVGb3JVcGxvYWQoY29uc3QgU3Ry
aW5nJiBwYXRoLCBTdHJpbmcmIGdlbmVyYXRlZEZpbGVuYW1lKTsKICAgICB2aXJ0dWFsIFN0cmlu
ZyBnZW5lcmF0ZVJlcGxhY2VtZW50RmlsZShjb25zdCBTdHJpbmcmIHBhdGgpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RlZmF1bHRWaXNpdGVkTGlua1N0b3JlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRGVmYXVsdFZpc2l0ZWRMaW5rU3RvcmUuY3BwCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA4OWZjYzkyNTU4N2Q1ZTM0YWRlMWFlZGM1ZWM1ZGIxNzdhY2Nh
YTA0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRGVmYXVsdFZpc2l0ZWRMaW5rU3RvcmUuY3BwCisrKyAvZGV2L251bGwK
QEAgLTEsNTcgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNs
dWRlICJEZWZhdWx0VmlzaXRlZExpbmtTdG9yZS5oIgotCi0jaW5jbHVkZSAiUGFnZS5oIgotI2lu
Y2x1ZGUgIlBhZ2VHcm91cC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVBhc3NSZWZQdHI8
RGVmYXVsdFZpc2l0ZWRMaW5rU3RvcmU+IERlZmF1bHRWaXNpdGVkTGlua1N0b3JlOjpjcmVhdGUo
KQotewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgRGVmYXVsdFZpc2l0ZWRMaW5rU3RvcmUpOwot
fQotCi1EZWZhdWx0VmlzaXRlZExpbmtTdG9yZTo6RGVmYXVsdFZpc2l0ZWRMaW5rU3RvcmUoKQot
ewotfQotCi1EZWZhdWx0VmlzaXRlZExpbmtTdG9yZTo6fkRlZmF1bHRWaXNpdGVkTGlua1N0b3Jl
KCkKLXsKLX0KLQotYm9vbCBEZWZhdWx0VmlzaXRlZExpbmtTdG9yZTo6aXNMaW5rVmlzaXRlZChQ
YWdlJiBwYWdlLCBMaW5rSGFzaCBsaW5rSGFzaCwgY29uc3QgVVJMJiwgY29uc3QgQXRvbWljU3Ry
aW5nJikKLXsKLSAgICByZXR1cm4gcGFnZS5ncm91cCgpLmlzTGlua1Zpc2l0ZWQobGlua0hhc2gp
OwotfQotCi12b2lkIERlZmF1bHRWaXNpdGVkTGlua1N0b3JlOjphZGRWaXNpdGVkTGluayhQYWdl
JiBwYWdlLCBMaW5rSGFzaCBsaW5rSGFzaCkKLXsKLSAgICBwYWdlLmdyb3VwKCkuYWRkVmlzaXRl
ZExpbmtIYXNoKGxpbmtIYXNoKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9EZWZhdWx0VmlzaXRlZExpbmtTdG9yZS5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9EZWZhdWx0VmlzaXRlZExpbmtTdG9yZS5oCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAzYzI5N2FkOTNjZTNiMTAzMTIxZGIzNjA2NTcyNTVjNzg3OTVmMDU2
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRGVmYXVsdFZpc2l0ZWRMaW5rU3RvcmUuaAorKysgL2Rldi9udWxsCkBAIC0x
LDQ3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIERlZmF1bHRWaXNpdGVkTGlua1N0b3Jl
X2gKLSNkZWZpbmUgRGVmYXVsdFZpc2l0ZWRMaW5rU3RvcmVfaAotCi0jaW5jbHVkZSAiVmlzaXRl
ZExpbmtTdG9yZS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIERlZmF1bHRWaXNp
dGVkTGlua1N0b3JlIDogcHVibGljIFZpc2l0ZWRMaW5rU3RvcmUgewotcHVibGljOgotICAgIHN0
YXRpYyBQYXNzUmVmUHRyPERlZmF1bHRWaXNpdGVkTGlua1N0b3JlPiBjcmVhdGUoKTsKLSAgICB2
aXJ0dWFsIH5EZWZhdWx0VmlzaXRlZExpbmtTdG9yZSgpOwotCi1wcml2YXRlOgotICAgIERlZmF1
bHRWaXNpdGVkTGlua1N0b3JlKCk7Ci0KLSAgICB2aXJ0dWFsIGJvb2wgaXNMaW5rVmlzaXRlZChQ
YWdlJiwgTGlua0hhc2gsIGNvbnN0IFVSTCYgYmFzZVVSTCwgY29uc3QgQXRvbWljU3RyaW5nJiBh
dHRyaWJ1dGVVUkwpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBhZGRWaXNpdGVkTGluayhQ
YWdlJiwgTGlua0hhc2gpIG92ZXJyaWRlOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQot
Ci0jZW5kaWYgLy8gRGVmYXVsdFZpc2l0ZWRMaW5rU3RvcmVfaApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5k
ZXggNDlkNGMxYTYyZjk4MjQ5YTlkYjRlMTAwZjM1MjNkYWMwYWVlZDFiMS4uMDBhYWM4YmQ5YjIw
YWU0YTc2NjhiMzU4OTBkNDkzMDNkNzg1NDNiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0yMDMs
NyArMjAzLDcgQEAgUGFnZTo6UGFnZShQYWdlQ29uZmlndXJhdGlvbiYgcGFnZUNvbmZpZ3VyYXRp
b24pCiAgICAgLCBtX2xhc3RTcGF0aWFsTmF2aWdhdGlvbkNhbmRpZGF0ZXNDb3VudCgwKSAvLyBO
T1RFOiBPbmx5IGNhbGxlZCBmcm9tIEludGVybmFscyBmb3IgU3BhdGlhbCBOYXZpZ2F0aW9uIHRl
c3RpbmcuCiAgICAgLCBtX2ZyYW1lc0hhbmRsaW5nQmVmb3JlVW5sb2FkRXZlbnQoMCkKICAgICAs
IG1fdXNlckNvbnRlbnRDb250cm9sbGVyKFdURjo6bW92ZShwYWdlQ29uZmlndXJhdGlvbi51c2Vy
Q29udGVudENvbnRyb2xsZXIpKQotICAgICwgbV92aXNpdGVkTGlua1N0b3JlKFdURjo6bW92ZShw
YWdlQ29uZmlndXJhdGlvbi52aXNpdGVkTGlua1N0b3JlKSkKKyAgICAsIG1fdmlzaXRlZExpbmtT
dG9yZSgqV1RGOjptb3ZlKHBhZ2VDb25maWd1cmF0aW9uLnZpc2l0ZWRMaW5rU3RvcmUpKQogICAg
ICwgbV9zZXNzaW9uSUQoU2Vzc2lvbklEOjpkZWZhdWx0U2Vzc2lvbklEKCkpCiAgICAgLCBtX2lz
Q2xvc2luZyhmYWxzZSkKICAgICAsIG1faXNQbGF5aW5nQXVkaW8oZmFsc2UpCkBAIC0yMTUsOCAr
MjE1LDcgQEAgUGFnZTo6UGFnZShQYWdlQ29uZmlndXJhdGlvbiYgcGFnZUNvbmZpZ3VyYXRpb24p
CiAgICAgaWYgKG1fdXNlckNvbnRlbnRDb250cm9sbGVyKQogICAgICAgICBtX3VzZXJDb250ZW50
Q29udHJvbGxlci0+YWRkUGFnZSgqdGhpcyk7CiAKLSAgICBpZiAobV92aXNpdGVkTGlua1N0b3Jl
KQotICAgICAgICBtX3Zpc2l0ZWRMaW5rU3RvcmUtPmFkZFBhZ2UoKnRoaXMpOworICAgIG1fdmlz
aXRlZExpbmtTdG9yZS0+YWRkUGFnZSgqdGhpcyk7CiAKICAgICBpZiAoIWFsbFBhZ2VzKSB7CiAg
ICAgICAgIGFsbFBhZ2VzID0gbmV3IEhhc2hTZXQ8UGFnZSo+OwpAQCAtMjcwLDggKzI2OSw3IEBA
IFBhZ2U6On5QYWdlKCkKIAogICAgIGlmIChtX3VzZXJDb250ZW50Q29udHJvbGxlcikKICAgICAg
ICAgbV91c2VyQ29udGVudENvbnRyb2xsZXItPnJlbW92ZVBhZ2UoKnRoaXMpOwotICAgIGlmICht
X3Zpc2l0ZWRMaW5rU3RvcmUpCi0gICAgICAgIG1fdmlzaXRlZExpbmtTdG9yZS0+cmVtb3ZlUGFn
ZSgqdGhpcyk7CisgICAgbV92aXNpdGVkTGlua1N0b3JlLT5yZW1vdmVQYWdlKCp0aGlzKTsKIH0K
IAogdm9pZCBQYWdlOjpjbGVhclByZXZpb3VzSXRlbUZyb21BbGxQYWdlcyhIaXN0b3J5SXRlbSog
aXRlbSkKQEAgLTEwMzQsMjEgKzEwMzIsNiBAQCBjb25zdCBTdHJpbmcmIFBhZ2U6OnVzZXJTdHls
ZVNoZWV0KCkgY29uc3QKICAgICByZXR1cm4gbV91c2VyU3R5bGVTaGVldDsKIH0KIAotdm9pZCBQ
YWdlOjpyZW1vdmVBbGxWaXNpdGVkTGlua3MoKQotewotICAgIGlmICghYWxsUGFnZXMpCi0gICAg
ICAgIHJldHVybjsKLSAgICBIYXNoU2V0PFBhZ2VHcm91cCo+IGdyb3VwczsKLSAgICBIYXNoU2V0
PFBhZ2UqPjo6aXRlcmF0b3IgcGFnZXNFbmQgPSBhbGxQYWdlcy0+ZW5kKCk7Ci0gICAgZm9yIChI
YXNoU2V0PFBhZ2UqPjo6aXRlcmF0b3IgaXQgPSBhbGxQYWdlcy0+YmVnaW4oKTsgaXQgIT0gcGFn
ZXNFbmQ7ICsraXQpIHsKLSAgICAgICAgaWYgKFBhZ2VHcm91cCogZ3JvdXAgPSAoKml0KS0+Z3Jv
dXBQdHIoKSkKLSAgICAgICAgICAgIGdyb3Vwcy5hZGQoZ3JvdXApOwotICAgIH0KLSAgICBIYXNo
U2V0PFBhZ2VHcm91cCo+OjppdGVyYXRvciBncm91cHNFbmQgPSBncm91cHMuZW5kKCk7Ci0gICAg
Zm9yIChIYXNoU2V0PFBhZ2VHcm91cCo+OjppdGVyYXRvciBpdCA9IGdyb3Vwcy5iZWdpbigpOyBp
dCAhPSBncm91cHNFbmQ7ICsraXQpCi0gICAgICAgICgqaXQpLT5yZW1vdmVWaXNpdGVkTGlua3Mo
KTsKLX0KLQogdm9pZCBQYWdlOjppbnZhbGlkYXRlU3R5bGVzRm9yQWxsTGlua3MoKQogewogICAg
IGZvciAoRnJhbWUqIGZyYW1lID0gbV9tYWluRnJhbWUuZ2V0KCk7IGZyYW1lOyBmcmFtZSA9IGZy
YW1lLT50cmVlKCkudHJhdmVyc2VOZXh0KCkpCkBAIC0xNjMxLDE3ICsxNjE0LDEyIEBAIHZvaWQg
UGFnZTo6c2V0VXNlckNvbnRlbnRDb250cm9sbGVyKFVzZXJDb250ZW50Q29udHJvbGxlciogdXNl
ckNvbnRlbnRDb250cm9sbGVyCiAKIFZpc2l0ZWRMaW5rU3RvcmUmIFBhZ2U6OnZpc2l0ZWRMaW5r
U3RvcmUoKQogewotICAgIGlmIChtX3Zpc2l0ZWRMaW5rU3RvcmUpCi0gICAgICAgIHJldHVybiAq
bV92aXNpdGVkTGlua1N0b3JlOwotCi0gICAgcmV0dXJuIGdyb3VwKCkudmlzaXRlZExpbmtTdG9y
ZSgpOworICAgIHJldHVybiBtX3Zpc2l0ZWRMaW5rU3RvcmU7CiB9CiAKIHZvaWQgUGFnZTo6c2V0
VmlzaXRlZExpbmtTdG9yZShQYXNzUmVmPFZpc2l0ZWRMaW5rU3RvcmU+IHZpc2l0ZWRMaW5rU3Rv
cmUpCiB7Ci0gICAgaWYgKG1fdmlzaXRlZExpbmtTdG9yZSkKLSAgICAgICAgbV92aXNpdGVkTGlu
a1N0b3JlLT5yZW1vdmVQYWdlKCp0aGlzKTsKLQorICAgIG1fdmlzaXRlZExpbmtTdG9yZS0+cmVt
b3ZlUGFnZSgqdGhpcyk7CiAgICAgbV92aXNpdGVkTGlua1N0b3JlID0gV1RGOjptb3ZlKHZpc2l0
ZWRMaW5rU3RvcmUpOwogICAgIG1fdmlzaXRlZExpbmtTdG9yZS0+YWRkUGFnZSgqdGhpcyk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmgKaW5kZXggY2U3YTJmN2QyNDRhNjVlOGNlOWU0MWJiMTUzYzIwMDI0ZTE0Nzhl
Zi4uZjIxNTc2NzAwZWU3MzJjOGQwYmY2NWUyYTJmOWVkNzgxMDhlNjljMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
LmgKQEAgLTMxNSw4ICszMTUsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXREZWJ1Z2dlcihKU0M6
OkRlYnVnZ2VyKik7CiAgICAgSlNDOjpEZWJ1Z2dlciogZGVidWdnZXIoKSBjb25zdCB7IHJldHVy
biBtX2RlYnVnZ2VyOyB9CiAKLSAgICBzdGF0aWMgdm9pZCByZW1vdmVBbGxWaXNpdGVkTGlua3Mo
KTsKLQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgaW52YWxpZGF0ZVN0eWxlc0ZvckFsbExpbmtz
KCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBpbnZhbGlkYXRlU3R5bGVzRm9yTGluayhMaW5r
SGFzaCk7CiAKQEAgLTU3MCw3ICs1NjgsNyBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fZnJh
bWVzSGFuZGxpbmdCZWZvcmVVbmxvYWRFdmVudDsKIAogICAgIFJlZlB0cjxVc2VyQ29udGVudENv
bnRyb2xsZXI+IG1fdXNlckNvbnRlbnRDb250cm9sbGVyOwotICAgIFJlZlB0cjxWaXNpdGVkTGlu
a1N0b3JlPiBtX3Zpc2l0ZWRMaW5rU3RvcmU7CisgICAgUmVmPFZpc2l0ZWRMaW5rU3RvcmU+IG1f
dmlzaXRlZExpbmtTdG9yZTsKIAogICAgIEhhc2hTZXQ8Vmlld1N0YXRlQ2hhbmdlT2JzZXJ2ZXIq
PiBtX3ZpZXdTdGF0ZUNoYW5nZU9ic2VydmVyczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlR3JvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuY3Bw
CmluZGV4IGM1ZTliYTRkMmMzNzZlNjAyMTlhZDE5OWI5OTlkZTdjZDljZWM5MDMuLjQ1ZWVkMDg4
OGZlOTAzYWNkNDkxNGZkNjRmZjMxNGM5YTkzMWUwMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZUdyb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91
cC5jcHAKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJD
aHJvbWVDbGllbnQuaCIKICNpbmNsdWRlICJET01XcmFwcGVyV29ybGQuaCIKLSNpbmNsdWRlICJE
ZWZhdWx0VmlzaXRlZExpbmtTdG9yZS5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVk
ZSAiRG9jdW1lbnRTdHlsZVNoZWV0Q29sbGVjdGlvbi5oIgogI2luY2x1ZGUgIkdyb3VwU2V0dGlu
Z3MuaCIKQEAgLTM5LDcgKzM4LDYgQEAKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2lu
Y2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU3RvcmFnZU5hbWVzcGFjZS5oIgotI2luY2x1
ZGUgIlZpc2l0ZWRMaW5rU3RvcmUuaCIKICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAK
ICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCkBAIC02MCwxOSArNTgsMTUgQEAgc3RhdGljIHVuc2ln
bmVkIGdldFVuaXF1ZUlkZW50aWZpZXIoKQogCiAvLyAtLS0tLS0tLQogCi1zdGF0aWMgYm9vbCBz
aG91bGRUcmFja1Zpc2l0ZWRMaW5rcyA9IGZhbHNlOwotCiBQYWdlR3JvdXA6OlBhZ2VHcm91cChj
b25zdCBTdHJpbmcmIG5hbWUpCiAgICAgOiBtX25hbWUobmFtZSkKLSAgICAsIG1fdmlzaXRlZExp
bmtzUG9wdWxhdGVkKGZhbHNlKQogICAgICwgbV9pZGVudGlmaWVyKGdldFVuaXF1ZUlkZW50aWZp
ZXIoKSkKICAgICAsIG1fZ3JvdXBTZXR0aW5ncyhzdGQ6Om1ha2VfdW5pcXVlPEdyb3VwU2V0dGlu
Z3M+KCkpCiB7CiB9CiAKIFBhZ2VHcm91cDo6UGFnZUdyb3VwKFBhZ2UmIHBhZ2UpCi0gICAgOiBt
X3Zpc2l0ZWRMaW5rc1BvcHVsYXRlZChmYWxzZSkKLSAgICAsIG1faWRlbnRpZmllcihnZXRVbmlx
dWVJZGVudGlmaWVyKCkpCisgICAgOiBtX2lkZW50aWZpZXIoZ2V0VW5pcXVlSWRlbnRpZmllcigp
KQogICAgICwgbV9ncm91cFNldHRpbmdzKHN0ZDo6bWFrZV91bmlxdWU8R3JvdXBTZXR0aW5ncz4o
KSkKIHsKICAgICBhZGRQYWdlKHBhZ2UpOwpAQCAtMTcwLDk0ICsxNjQsNiBAQCB2b2lkIFBhZ2VH
cm91cDo6cmVtb3ZlUGFnZShQYWdlJiBwYWdlKQogICAgIG1fcGFnZXMucmVtb3ZlKCZwYWdlKTsK
IH0KIAotVmlzaXRlZExpbmtTdG9yZSYgUGFnZUdyb3VwOjp2aXNpdGVkTGlua1N0b3JlKCkKLXsK
LSAgICBpZiAoIW1fdmlzaXRlZExpbmtTdG9yZSkKLSAgICAgICAgbV92aXNpdGVkTGlua1N0b3Jl
ID0gRGVmYXVsdFZpc2l0ZWRMaW5rU3RvcmU6OmNyZWF0ZSgpOwotCi0gICAgcmV0dXJuICptX3Zp
c2l0ZWRMaW5rU3RvcmU7Ci19Ci0KLWJvb2wgUGFnZUdyb3VwOjppc0xpbmtWaXNpdGVkKExpbmtI
YXNoIHZpc2l0ZWRMaW5rSGFzaCkKLXsKLSAgICBpZiAoIW1fdmlzaXRlZExpbmtzUG9wdWxhdGVk
KSB7Ci0gICAgICAgIG1fdmlzaXRlZExpbmtzUG9wdWxhdGVkID0gdHJ1ZTsKLSAgICAgICAgQVNT
RVJUKCFtX3BhZ2VzLmlzRW1wdHkoKSk7Ci0gICAgICAgICgqbV9wYWdlcy5iZWdpbigpKS0+Y2hy
b21lKCkuY2xpZW50KCkucG9wdWxhdGVWaXNpdGVkTGlua3MoKTsKLSAgICB9Ci0gICAgcmV0dXJu
IG1fdmlzaXRlZExpbmtIYXNoZXMuY29udGFpbnModmlzaXRlZExpbmtIYXNoKTsKLX0KLQotdm9p
ZCBQYWdlR3JvdXA6OmFkZFZpc2l0ZWRMaW5rSGFzaChMaW5rSGFzaCBoYXNoKQotewotICAgIGlm
IChzaG91bGRUcmFja1Zpc2l0ZWRMaW5rcykKLSAgICAgICAgYWRkVmlzaXRlZExpbmsoaGFzaCk7
Ci19Ci0KLWlubGluZSB2b2lkIFBhZ2VHcm91cDo6YWRkVmlzaXRlZExpbmsoTGlua0hhc2ggaGFz
aCkKLXsKLSAgICBBU1NFUlQoc2hvdWxkVHJhY2tWaXNpdGVkTGlua3MpOwotICAgIGlmICghbV92
aXNpdGVkTGlua0hhc2hlcy5hZGQoaGFzaCkuaXNOZXdFbnRyeSkKLSAgICAgICAgcmV0dXJuOwot
ICAgIGZvciAoYXV0byYgcGFnZSA6IG1fcGFnZXMpCi0gICAgICAgIHBhZ2UtPmludmFsaWRhdGVT
dHlsZXNGb3JMaW5rKGhhc2gpOwotICAgIHBhZ2VDYWNoZSgpLT5tYXJrUGFnZXNGb3JWaXN0ZWRM
aW5rU3R5bGVSZWNhbGMoKTsKLX0KLQotdm9pZCBQYWdlR3JvdXA6OmFkZFZpc2l0ZWRMaW5rKGNv
bnN0IFVSTCYgdXJsKQotewotICAgIGlmICghc2hvdWxkVHJhY2tWaXNpdGVkTGlua3MpCi0gICAg
ICAgIHJldHVybjsKLSAgICBBU1NFUlQoIXVybC5pc0VtcHR5KCkpOwotICAgIGFkZFZpc2l0ZWRM
aW5rKHZpc2l0ZWRMaW5rSGFzaCh1cmwuc3RyaW5nKCkpKTsKLX0KLQotdm9pZCBQYWdlR3JvdXA6
OmFkZFZpc2l0ZWRMaW5rKGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzLCBzaXplX3QgbGVuZ3RoKQot
ewotICAgIGlmICghc2hvdWxkVHJhY2tWaXNpdGVkTGlua3MpCi0gICAgICAgIHJldHVybjsKLSAg
ICBhZGRWaXNpdGVkTGluayh2aXNpdGVkTGlua0hhc2goY2hhcmFjdGVycywgbGVuZ3RoKSk7Ci19
Ci0KLXZvaWQgUGFnZUdyb3VwOjpyZW1vdmVWaXNpdGVkTGluayhjb25zdCBVUkwmIHVybCkKLXsK
LSAgICBMaW5rSGFzaCBoYXNoID0gdmlzaXRlZExpbmtIYXNoKHVybC5zdHJpbmcoKSk7Ci0gICAg
QVNTRVJUKG1fdmlzaXRlZExpbmtIYXNoZXMuY29udGFpbnMoaGFzaCkpOwotICAgIG1fdmlzaXRl
ZExpbmtIYXNoZXMucmVtb3ZlKGhhc2gpOwotCi0gICAgLy8gRklYTUU6IFdoeSBjYW4ndCB3ZSBq
dXN0IGludmFsaWRhdGUgdGhlIHNpbmdsZSB2aXNpdGVkIGxpbmsgaGFzaCBoZXJlPwotICAgIGZv
ciAoYXV0byYgcGFnZSA6IG1fcGFnZXMpCi0gICAgICAgIHBhZ2UtPmludmFsaWRhdGVTdHlsZXNG
b3JBbGxMaW5rcygpOwotICAgIHBhZ2VDYWNoZSgpLT5tYXJrUGFnZXNGb3JWaXN0ZWRMaW5rU3R5
bGVSZWNhbGMoKTsKLX0KLQotdm9pZCBQYWdlR3JvdXA6OnJlbW92ZVZpc2l0ZWRMaW5rcygpCi17
Ci0gICAgbV92aXNpdGVkTGlua3NQb3B1bGF0ZWQgPSBmYWxzZTsKLSAgICBpZiAobV92aXNpdGVk
TGlua0hhc2hlcy5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybjsKLSAgICBtX3Zpc2l0ZWRMaW5r
SGFzaGVzLmNsZWFyKCk7Ci0KLSAgICBmb3IgKGF1dG8mIHBhZ2UgOiBtX3BhZ2VzKQotICAgICAg
ICBwYWdlLT5pbnZhbGlkYXRlU3R5bGVzRm9yQWxsTGlua3MoKTsKLSAgICBwYWdlQ2FjaGUoKS0+
bWFya1BhZ2VzRm9yVmlzdGVkTGlua1N0eWxlUmVjYWxjKCk7Ci19Ci0KLXZvaWQgUGFnZUdyb3Vw
OjpyZW1vdmVBbGxWaXNpdGVkTGlua3MoKQotewotICAgIFBhZ2U6OnJlbW92ZUFsbFZpc2l0ZWRM
aW5rcygpOwotICAgIHBhZ2VDYWNoZSgpLT5tYXJrUGFnZXNGb3JWaXN0ZWRMaW5rU3R5bGVSZWNh
bGMoKTsKLX0KLQotdm9pZCBQYWdlR3JvdXA6OnNldFNob3VsZFRyYWNrVmlzaXRlZExpbmtzKGJv
b2wgc2hvdWxkVHJhY2spCi17Ci0gICAgaWYgKHNob3VsZFRyYWNrVmlzaXRlZExpbmtzID09IHNo
b3VsZFRyYWNrKQotICAgICAgICByZXR1cm47Ci0gICAgc2hvdWxkVHJhY2tWaXNpdGVkTGlua3Mg
PSBzaG91bGRUcmFjazsKLSAgICBpZiAoIXNob3VsZFRyYWNrVmlzaXRlZExpbmtzKQotICAgICAg
ICByZW1vdmVBbGxWaXNpdGVkTGlua3MoKTsKLX0KLQogU3RvcmFnZU5hbWVzcGFjZSogUGFnZUdy
b3VwOjpsb2NhbFN0b3JhZ2UoKQogewogICAgIGlmICghbV9sb2NhbFN0b3JhZ2UpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlR3JvdXAuaAppbmRleCBiYzVmNDRjODVjOGQxM2RiN2ZkMmNmNjAwMzFhZGMwZDNkNjdm
NmFlLi4zZjYyMjNiOGQzNWE0OTNlZjc5MTg1MmFiZTVjMWEzYzg3N2FmYmMwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZUdyb3VwLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgUGFnZUdyb3VwX2gKICNk
ZWZpbmUgUGFnZUdyb3VwX2gKIAotI2luY2x1ZGUgIkxpbmtIYXNoLmgiCiAjaW5jbHVkZSAiU2Vj
dXJpdHlPcmlnaW5IYXNoLmgiCiAjaW5jbHVkZSAiU3VwcGxlbWVudGFibGUuaCIKICNpbmNsdWRl
ICJVc2VyU2NyaXB0LmgiCkBAIC00Miw3ICs0MSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICBjbGFzcyBQYWdlOwogICAgIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogICAgIGNsYXNzIFN0b3Jh
Z2VOYW1lc3BhY2U7Ci0gICAgY2xhc3MgVmlzaXRlZExpbmtTdG9yZTsKIAogI2lmIEVOQUJMRShW
SURFT19UUkFDSykKICAgICBjbGFzcyBDYXB0aW9uUHJlZmVyZW5jZXNDaGFuZ2VkTGlzdGVuZXI7
CkBAIC03MSwxOSArNjksNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgYWRk
UGFnZShQYWdlJik7CiAgICAgICAgIHZvaWQgcmVtb3ZlUGFnZShQYWdlJik7CiAKLSAgICAgICAg
VmlzaXRlZExpbmtTdG9yZSYgdmlzaXRlZExpbmtTdG9yZSgpOwotCi0gICAgICAgIFdFQkNPUkVf
RVhQT1JUIGJvb2wgaXNMaW5rVmlzaXRlZChMaW5rSGFzaCk7Ci0KLSAgICAgICAgdm9pZCBhZGRW
aXNpdGVkTGluayhjb25zdCBVUkwmKTsKLSAgICAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhZGRW
aXNpdGVkTGluayhjb25zdCBVQ2hhciosIHNpemVfdCk7Ci0gICAgICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgYWRkVmlzaXRlZExpbmtIYXNoKExpbmtIYXNoKTsKLSAgICAgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCByZW1vdmVWaXNpdGVkTGluayhjb25zdCBVUkwmKTsKLSAgICAgICAgdm9pZCByZW1v
dmVWaXNpdGVkTGlua3MoKTsKLQotICAgICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBz
ZXRTaG91bGRUcmFja1Zpc2l0ZWRMaW5rcyhib29sKTsKLSAgICAgICAgV0VCQ09SRV9FWFBPUlQg
c3RhdGljIHZvaWQgcmVtb3ZlQWxsVmlzaXRlZExpbmtzKCk7Ci0KICAgICAgICAgY29uc3QgU3Ry
aW5nJiBuYW1lKCkgeyByZXR1cm4gbV9uYW1lOyB9CiAgICAgICAgIHVuc2lnbmVkIGlkZW50aWZp
ZXIoKSB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KIApAQCAtMTAwLDE2ICs4NSw5IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICNlbmRpZgogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBhZGRWaXNpdGVkTGluayhMaW5rSGFzaCk7Ci0KICAgICAgICAgU3RyaW5nIG1f
bmFtZTsKICAgICAgICAgSGFzaFNldDxQYWdlKj4gbV9wYWdlczsKIAotICAgICAgICBSZWZQdHI8
VmlzaXRlZExpbmtTdG9yZT4gbV92aXNpdGVkTGlua1N0b3JlOwotCi0gICAgICAgIEhhc2hTZXQ8
TGlua0hhc2gsIExpbmtIYXNoSGFzaD4gbV92aXNpdGVkTGlua0hhc2hlczsKLSAgICAgICAgYm9v
bCBtX3Zpc2l0ZWRMaW5rc1BvcHVsYXRlZDsKLQogICAgICAgICB1bnNpZ25lZCBtX2lkZW50aWZp
ZXI7CiAgICAgICAgIFJlZlB0cjxTdG9yYWdlTmFtZXNwYWNlPiBtX2xvY2FsU3RvcmFnZTsKICAg
ICAgICAgSGFzaE1hcDxSZWZQdHI8U2VjdXJpdHlPcmlnaW4+LCBSZWZQdHI8U3RvcmFnZU5hbWVz
cGFjZT4+IG1fdHJhbnNpZW50TG9jYWxTdG9yYWdlTWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvSGlzdG9yeS9XZWJIaXN0b3J5Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvSGlzdG9y
eS9XZWJIaXN0b3J5Lm1tCmluZGV4IDIwNDIzYmNiYWNmOTkwYzc4NmQzZTcxNzU0OTQ4NDc2YjY2
NmU3ODguLjU2ZDU4ZTVlODIxYjNlZDZjZjNmNjMwMGRmZDk5MjY0YTlmNzUwNjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL0hpc3RvcnkvV2ViSGlzdG9yeS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9IaXN0b3J5L1dlYkhpc3RvcnkubW0KQEAgLTExMSw4ICsxMTEsNiBAQCBwcml2
YXRlOgogLSAodm9pZClzZXRIaXN0b3J5QWdlSW5EYXlzTGltaXQ6KGludClsaW1pdDsKIC0gKGlu
dCloaXN0b3J5QWdlSW5EYXlzTGltaXQ7CiAKLS0gKHZvaWQpYWRkVmlzaXRlZExpbmtzVG9QYWdl
R3JvdXA6KFBhZ2VHcm91cCYpZ3JvdXA7Ci0KIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdlYkhp
c3RvcnlQcml2YXRlCkBAIC0yODEsNyArMjc5LDcgQEAgc3RhdGljIGlubGluZSBXZWJIaXN0b3J5
RGF0ZUtleSBkYXRlS2V5KE5TVGltZUludGVydmFsIGRhdGUpCiAjZW5kaWYKIAogICAgIGlmICgh
W19lbnRyaWVzQnlVUkwgY291bnRdKQotICAgICAgICBQYWdlR3JvdXA6OnJlbW92ZUFsbFZpc2l0
ZWRMaW5rcygpOworICAgICAgICBXZWJWaXNpdGVkTGlua1N0b3JlOjpyZW1vdmVBbGxWaXNpdGVk
TGlua3MoKTsKIAogICAgIHJldHVybiBZRVM7CiB9CkBAIC00NDcsNyArNDQ1LDcgQEAgc3RhdGlj
IGlubGluZSBXZWJIaXN0b3J5RGF0ZUtleSBkYXRlS2V5KE5TVGltZUludGVydmFsIGRhdGUpCiAg
ICAgW19vcmRlcmVkTGFzdFZpc2l0ZWREYXlzIHJlbGVhc2VdOwogICAgIF9vcmRlcmVkTGFzdFZp
c2l0ZWREYXlzID0gbmlsOwogCi0gICAgUGFnZUdyb3VwOjpyZW1vdmVBbGxWaXNpdGVkTGlua3Mo
KTsKKyAgICBXZWJWaXNpdGVkTGlua1N0b3JlOjpyZW1vdmVBbGxWaXNpdGVkTGlua3MoKTsKIAog
ICAgIHJldHVybiBZRVM7CiB9CkBAIC02OTUsMjIgKzY5Myw2IEBAIHN0YXRpYyBpbmxpbmUgV2Vi
SGlzdG9yeURhdGVLZXkgZGF0ZUtleShOU1RpbWVJbnRlcnZhbCBkYXRlKQogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiAKLS0gKHZvaWQpYWRkVmlzaXRlZExpbmtzVG9QYWdlR3JvdXA6KFBhZ2VHcm91
cCYpZ3JvdXAKLXsKLSAgICBOU0VudW1lcmF0b3IgKmVudW1lcmF0b3IgPSBbX2VudHJpZXNCeVVS
TCBrZXlFbnVtZXJhdG9yXTsKLSAgICB3aGlsZSAoTlNTdHJpbmcgKnVybCA9IFtlbnVtZXJhdG9y
IG5leHRPYmplY3RdKSB7Ci0gICAgICAgIHNpemVfdCBsZW5ndGggPSBbdXJsIGxlbmd0aF07Ci0g
ICAgICAgIGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzID0gQ0ZTdHJpbmdHZXRDaGFyYWN0ZXJzUHRy
KHJlaW50ZXJwcmV0X2Nhc3Q8Q0ZTdHJpbmdSZWY+KHVybCkpOwotICAgICAgICBpZiAoY2hhcmFj
dGVycykKLSAgICAgICAgICAgIGdyb3VwLmFkZFZpc2l0ZWRMaW5rKGNoYXJhY3RlcnMsIGxlbmd0
aCk7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgVmVjdG9yPFVDaGFyLCA1MTI+IGJ1ZmZl
cihsZW5ndGgpOwotICAgICAgICAgICAgW3VybCBnZXRDaGFyYWN0ZXJzOmJ1ZmZlci5kYXRhKCld
OwotICAgICAgICAgICAgZ3JvdXAuYWRkVmlzaXRlZExpbmsoYnVmZmVyLmRhdGEoKSwgbGVuZ3Ro
KTsKLSAgICAgICAgfQotICAgIH0KLX0KLQogLSAodm9pZClhZGRWaXNpdGVkTGlua3NUb1Zpc2l0
ZWRMaW5rU3RvcmU6KFdlYlZpc2l0ZWRMaW5rU3RvcmUmKXZpc2l0ZWRMaW5rU3RvcmUKIHsKICAg
ICBmb3IgKE5TU3RyaW5nICp1cmxTdHJpbmcgaW4gX2VudHJpZXNCeVVSTCkKQEAgLTczNSw4ICs3
MTcsNiBAQCBzdGF0aWMgaW5saW5lIFdlYkhpc3RvcnlEYXRlS2V5IGRhdGVLZXkoTlNUaW1lSW50
ZXJ2YWwgZGF0ZSkKICAgICBbX3NoYXJlZEhpc3RvcnkgcmVsZWFzZV07CiAgICAgX3NoYXJlZEhp
c3RvcnkgPSBbaGlzdG9yeSByZXRhaW5dOwogCi0gICAgUGFnZUdyb3VwOjpzZXRTaG91bGRUcmFj
a1Zpc2l0ZWRMaW5rcyhoaXN0b3J5KTsKLSAgICBQYWdlR3JvdXA6OnJlbW92ZUFsbFZpc2l0ZWRM
aW5rcygpOwogICAgIFdlYlZpc2l0ZWRMaW5rU3RvcmU6OnNldFNob3VsZFRyYWNrVmlzaXRlZExp
bmtzKGhpc3RvcnkpOwogICAgIFdlYlZpc2l0ZWRMaW5rU3RvcmU6OnJlbW92ZUFsbFZpc2l0ZWRM
aW5rcygpOwogfQpAQCAtOTIwLDEzICs5MDAsMTEgQEAgc3RhdGljIGlubGluZSBXZWJIaXN0b3J5
RGF0ZUtleSBkYXRlS2V5KE5TVGltZUludGVydmFsIGRhdGUpCiAKICsgKHZvaWQpX3NldFZpc2l0
ZWRMaW5rVHJhY2tpbmdFbmFibGVkOihCT09MKXZpc2l0ZWRMaW5rVHJhY2tpbmdFbmFibGVkCiB7
Ci0gICAgUGFnZUdyb3VwOjpzZXRTaG91bGRUcmFja1Zpc2l0ZWRMaW5rcyh2aXNpdGVkTGlua1Ry
YWNraW5nRW5hYmxlZCk7CiAgICAgV2ViVmlzaXRlZExpbmtTdG9yZTo6c2V0U2hvdWxkVHJhY2tW
aXNpdGVkTGlua3ModmlzaXRlZExpbmtUcmFja2luZ0VuYWJsZWQpOwogfQogCiArICh2b2lkKV9y
ZW1vdmVBbGxWaXNpdGVkTGlua3MKIHsKLSAgICBQYWdlR3JvdXA6OnJlbW92ZUFsbFZpc2l0ZWRM
aW5rcygpOwogICAgIFdlYlZpc2l0ZWRMaW5rU3RvcmU6OnJlbW92ZUFsbFZpc2l0ZWRMaW5rcygp
OwogfQogCkBAIC05NDgsMTEgKzkyNiw2IEBAIHN0YXRpYyBpbmxpbmUgV2ViSGlzdG9yeURhdGVL
ZXkgZGF0ZUtleShOU1RpbWVJbnRlcnZhbCBkYXRlKQogICAgIFtlbnRyaWVzIHJlbGVhc2VdOwog
fQogCi0tICh2b2lkKV9hZGRWaXNpdGVkTGlua3NUb1BhZ2VHcm91cDooV2ViQ29yZTo6UGFnZUdy
b3VwJilncm91cAotewotICAgIFtfaGlzdG9yeVByaXZhdGUgYWRkVmlzaXRlZExpbmtzVG9QYWdl
R3JvdXA6Z3JvdXBdOwotfQotCiAtICh2b2lkKV9hZGRWaXNpdGVkTGlua3NUb1Zpc2l0ZWRMaW5r
U3RvcmU6KFdlYlZpc2l0ZWRMaW5rU3RvcmUgJil2aXNpdGVkTGlua1N0b3JlCiB7CiAgICAgW19o
aXN0b3J5UHJpdmF0ZSBhZGRWaXNpdGVkTGlua3NUb1Zpc2l0ZWRMaW5rU3RvcmU6dmlzaXRlZExp
bmtTdG9yZV07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9IaXN0b3J5L1dlYkhpc3Rv
cnlJbnRlcm5hbC5oIGIvU291cmNlL1dlYktpdC9tYWMvSGlzdG9yeS9XZWJIaXN0b3J5SW50ZXJu
YWwuaAppbmRleCBiYmMwNjRlNjliOGI3MjdiYTc0OWJkNTU2M2Y3NjJiZDY1OWY2ZjgxLi44M2Fk
ZDJiYjE0NDQzMDMwYWE5MTEwMjNjZjFiNzQyMGFkNmE4NjM5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L21hYy9IaXN0b3J5L1dlYkhpc3RvcnlJbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvbWFjL0hpc3RvcnkvV2ViSGlzdG9yeUludGVybmFsLmgKQEAgLTM2LDYgKzM2LDUgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBAaW50ZXJmYWNlIFdlYkhpc3RvcnkgKFdlYkludGVybmFsKQog
LSAodm9pZClfdmlzaXRlZFVSTDooTlNVUkwgKilVUkwgd2l0aFRpdGxlOihOU1N0cmluZyAqKXRp
dGxlIG1ldGhvZDooTlNTdHJpbmcgKiltZXRob2Qgd2FzRmFpbHVyZTooQk9PTCl3YXNGYWlsdXJl
OwotLSAodm9pZClfYWRkVmlzaXRlZExpbmtzVG9QYWdlR3JvdXA6KFdlYkNvcmU6OlBhZ2VHcm91
cCYpZ3JvdXA7CiAtICh2b2lkKV9hZGRWaXNpdGVkTGlua3NUb1Zpc2l0ZWRMaW5rU3RvcmU6KFdl
YlZpc2l0ZWRMaW5rU3RvcmUmKXZpc2l0ZWRMaW5rU3RvcmU7CiBAZW5kCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IGI1NmQx
ZjM5ZjYwZmNiMzYxN2I3NjRiZGVmZmZmNTg4OGE3OGQzZTYuLjgwZGFkMjRjN2E1ODIyNDc2MDIw
NjA1NGE4MjI0NWNjOGVjYWNhMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0xMjQsNyArMTI0LDYgQEAgcHVibGljOgog
I2VuZGlmCiAgICAgdmlydHVhbCB2b2lkIHJlYWNoZWRNYXhBcHBDYWNoZVNpemUoaW50NjRfdCBz
cGFjZU5lZWRlZCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHJlYWNoZWRBcHBsaWNhdGlv
bkNhY2hlT3JpZ2luUXVvdGEoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qLCBpbnQ2NF90IHRvdGFs
U3BhY2VOZWVkZWQpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBwb3B1bGF0ZVZpc2l0ZWRM
aW5rcygpIG92ZXJyaWRlOwogCiAjaWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQogICAgIHZp
cnR1YWwgdm9pZCBhbm5vdGF0ZWRSZWdpb25zQ2hhbmdlZCgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCmluZGV4
IDJjYjFjNGIzNDRlZTA1ZTRhZjIyNzM0ZGY1NDg2N2U3YTIwZWJjNTIuLjcwYjBiMzA2YWUxYTEy
MzhjNTMyNjA5NjAwZDM1YzVkMWFkZjEzMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KQEAgLTcwNywyMiArNzA3LDYgQEAg
dm9pZCBXZWJDaHJvbWVDbGllbnQ6OnJlYWNoZWRBcHBsaWNhdGlvbkNhY2hlT3JpZ2luUXVvdGEo
U2VjdXJpdHlPcmlnaW4qIG9yaWdpbiwKICAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwog
fQogCi12b2lkIFdlYkNocm9tZUNsaWVudDo6cG9wdWxhdGVWaXNpdGVkTGlua3MoKQotewotICAg
IGlmIChbbV93ZWJWaWV3IGhpc3RvcnlEZWxlZ2F0ZV0pIHsKLSAgICAgICAgV2ViSGlzdG9yeURl
bGVnYXRlSW1wbGVtZW50YXRpb25DYWNoZSogaW1wbGVtZW50YXRpb25zID0gV2ViVmlld0dldEhp
c3RvcnlEZWxlZ2F0ZUltcGxlbWVudGF0aW9ucyhtX3dlYlZpZXcpOwotICAgICAgICAKLSAgICAg
ICAgaWYgKGltcGxlbWVudGF0aW9ucy0+cG9wdWxhdGVWaXNpdGVkTGlua3NGdW5jKQotICAgICAg
ICAgICAgQ2FsbEhpc3RvcnlEZWxlZ2F0ZShpbXBsZW1lbnRhdGlvbnMtPnBvcHVsYXRlVmlzaXRl
ZExpbmtzRnVuYywgbV93ZWJWaWV3LCBAc2VsZWN0b3IocG9wdWxhdGVWaXNpdGVkTGlua3NGb3JX
ZWJWaWV3OikpOwotCi0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBCRUdJTl9CTE9DS19P
QkpDX0VYQ0VQVElPTlM7Ci0gICAgW1tXZWJIaXN0b3J5IG9wdGlvbmFsU2hhcmVkSGlzdG9yeV0g
X2FkZFZpc2l0ZWRMaW5rc1RvUGFnZUdyb3VwOlttX3dlYlZpZXcgcGFnZV0tPmdyb3VwKCldOwot
ICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7Ci19Ci0KICNpZiBFTkFCTEUoREFTSEJPQVJE
X1NVUFBPUlQpCiAKIHZvaWQgV2ViQ2hyb21lQ2xpZW50Ojphbm5vdGF0ZWRSZWdpb25zQ2hhbmdl
ZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggYTVkOTU0YzY2NGE5NjUw
OGIzZWYzNjk4ODY5ZjNlZDFjNWMwNTE5Yy4uMmNjOTIxNzFhMDI5YTVlNGNhZjczZmRiODMyYTQ1
MzJhZGFkZWNmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtNzAwNSwy
OCArNzAwNSwxMiBAQCBzdGF0aWMgTlNBcHBsZUV2ZW50RGVzY3JpcHRvciogYWVEZXNjRnJvbUpT
VmFsdWUoRXhlY1N0YXRlKiBleGVjLCBKU0M6OkpTVmFsdWUgagogICAgIFdlYlZpc2l0ZWRMaW5r
U3RvcmUmIHZpc2l0ZWRMaW5rU3RvcmUgPSBfcHJpdmF0ZS0+Z3JvdXAtPnZpc2l0ZWRMaW5rU3Rv
cmUoKTsKICAgICBmb3IgKE5TU3RyaW5nICp1cmxTdHJpbmcgaW4gdmlzaXRlZExpbmtzKQogICAg
ICAgICB2aXNpdGVkTGlua1N0b3JlLmFkZFZpc2l0ZWRMaW5rKHVybFN0cmluZyk7Ci0KLSAgICBQ
YWdlR3JvdXAmIGdyb3VwID0gY29yZShzZWxmKS0+Z3JvdXAoKTsKLQotICAgIE5TRW51bWVyYXRv
ciAqZW51bWVyYXRvciA9IFt2aXNpdGVkTGlua3Mgb2JqZWN0RW51bWVyYXRvcl07Ci0gICAgd2hp
bGUgKE5TU3RyaW5nICp1cmwgPSBbZW51bWVyYXRvciBuZXh0T2JqZWN0XSkgewotICAgICAgICBz
aXplX3QgbGVuZ3RoID0gW3VybCBsZW5ndGhdOwotICAgICAgICBjb25zdCBVQ2hhciogY2hhcmFj
dGVycyA9IENGU3RyaW5nR2V0Q2hhcmFjdGVyc1B0cihyZWludGVycHJldF9jYXN0PENGU3RyaW5n
UmVmPih1cmwpKTsKLSAgICAgICAgaWYgKGNoYXJhY3RlcnMpCi0gICAgICAgICAgICBncm91cC5h
ZGRWaXNpdGVkTGluayhjaGFyYWN0ZXJzLCBsZW5ndGgpOwotICAgICAgICBlbHNlIHsKLSAgICAg
ICAgICAgIFZlY3RvcjxVQ2hhciwgNTEyPiBidWZmZXIobGVuZ3RoKTsKLSAgICAgICAgICAgIFt1
cmwgZ2V0Q2hhcmFjdGVyczpidWZmZXIuZGF0YSgpXTsKLSAgICAgICAgICAgIGdyb3VwLmFkZFZp
c2l0ZWRMaW5rKGJ1ZmZlci5kYXRhKCksIGxlbmd0aCk7Ci0gICAgICAgIH0KLSAgICB9CiB9CiAK
ICNpZiBQTEFURk9STShJT1MpCiAtICh2b2lkKXJlbW92ZVZpc2l0ZWRMaW5rOihOU1VSTCAqKXVy
bAogewogICAgIF9wcml2YXRlLT5ncm91cC0+dmlzaXRlZExpbmtTdG9yZSgpLnJlbW92ZVZpc2l0
ZWRMaW5rKFVSTCh1cmwpLnN0cmluZygpKTsKLSAgICBjb3JlKHNlbGYpLT5ncm91cCgpLnJlbW92
ZVZpc2l0ZWRMaW5rKHVybCk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQv
d2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKaW5kZXggNmNkOWY1NGQ0N2Nj
ZDBiYzU5MTVjYmY0NjQ3ZDg1ZTdhMzNkMjg4OC4uYjhiNjBmZjkzMzM4ZDdlODg0ZDY3ZDkxYTZi
MWY0YTFiOTQ4NTNkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCkBAIC02MzUsMTAgKzYzNSw2IEBAIHZvaWQgV2ViQ2hy
b21lQ2xpZW50OjpyZWFjaGVkQXBwbGljYXRpb25DYWNoZU9yaWdpblF1b3RhKFNlY3VyaXR5T3Jp
Z2luKiwgaW50NjRfCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBXZWJDaHJvbWVD
bGllbnQ6OnBvcHVsYXRlVmlzaXRlZExpbmtzKCkKLXsKLX0KLQogdm9pZCBXZWJDaHJvbWVDbGll
bnQ6OnJ1bk9wZW5QYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+IHBycEZpbGVD
aG9vc2VyKQogewogICAgIFJlZlB0cjxGaWxlQ2hvb3Nlcj4gZmlsZUNob29zZXIgPSBwcnBGaWxl
Q2hvb3NlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmgKaW5kZXggY2Q3OTJjNDJkZGJlOGI4Nzk0ZThiNzA4N2RiOTdmYWQyYjMwNTYy
NC4uMjE1NGE0ZjYxZDFjODE5ODRjZjVlMzVjYWE1MzVhOWEyZTJkOTI1NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIv
U291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTEx
OSw4ICsxMTksNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHJlYWNoZWRNYXhBcHBDYWNo
ZVNpemUoaW50NjRfdCBzcGFjZU5lZWRlZCk7CiAgICAgdmlydHVhbCB2b2lkIHJlYWNoZWRBcHBs
aWNhdGlvbkNhY2hlT3JpZ2luUXVvdGEoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qLCBpbnQ2NF90
IHRvdGFsU3BhY2VOZWVkZWQpOwogCi0gICAgdmlydHVhbCB2b2lkIHBvcHVsYXRlVmlzaXRlZExp
bmtzKCk7Ci0KICAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKFdlYkNvcmU6OkZyYW1lKiwg
UGFzc1JlZlB0cjxXZWJDb3JlOjpGaWxlQ2hvb3Nlcj4pOwogICAgIHZpcnR1YWwgdm9pZCBsb2Fk
SWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxXVEY6OlN0cmluZz4mLCBXZWJDb3JlOjpGaWxlSWNv
bkxvYWRlciopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcCBi
L1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCmluZGV4IGExMjZhNDBiYWJlNTA0ZTllNDVj
MzY0OWRjZjE4MGEwZmI4MDZmZDguLmM1MmQ4MDNhMjdlYmVmMzJkZDZkMDIzZDI1YzI0YTg2YTgx
NjQ4ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCkBAIC02NDQwLDcgKzY0NDAsNiBAQCBIUkVTVUxU
IFdlYlZpZXc6OmFkZFZpc2l0ZWRMaW5rcyhCU1RSKiB2aXNpdGVkVVJMcywgdW5zaWduZWQgdmlz
aXRlZFVSTENvdW50KQogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB2aXNpdGVkVVJMQ291
bnQ7ICsraSkgewogICAgICAgICBCU1RSIHVybCA9IHZpc2l0ZWRVUkxzW2ldOwogICAgICAgICB1
bnNpZ25lZCBsZW5ndGggPSBTeXNTdHJpbmdMZW4odXJsKTsKLSAgICAgICAgZ3JvdXAuYWRkVmlz
aXRlZExpbmsodXJsLCBsZW5ndGgpOwogCiAgICAgICAgIHZpc2l0ZWRMaW5rU3RvcmUuYWRkVmlz
aXRlZExpbmsoU3RyaW5nKHVybCwgbGVuZ3RoKSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
Y3BwCmluZGV4IDQ2ZGRlOGM4OWExYzAyMTc4M2YyOGNhZWM1ZTM5MjE0ZjYwYjk2MTYuLmJiM2M2
ODFlNWQ0ZWUwNTg0MjUyNmEzNTFjMjE0YmUzZmI4N2IxNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5jcHAKQEAgLTczMywxMCArNzMzLDYgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmFubm90YXRl
ZFJlZ2lvbnNDaGFuZ2VkKCkKIH0KICNlbmRpZgogCi12b2lkIFdlYkNocm9tZUNsaWVudDo6cG9w
dWxhdGVWaXNpdGVkTGlua3MoKQotewotfQotCiBib29sIFdlYkNocm9tZUNsaWVudDo6c2hvdWxk
UmVwbGFjZVdpdGhHZW5lcmF0ZWRGaWxlRm9yVXBsb2FkKGNvbnN0IFN0cmluZyYgcGF0aCwgU3Ry
aW5nJiBnZW5lcmF0ZWRGaWxlbmFtZSkKIHsKICAgICBnZW5lcmF0ZWRGaWxlbmFtZSA9IG1fcGFn
ZS0+aW5qZWN0ZWRCdW5kbGVVSUNsaWVudCgpLnNob3VsZEdlbmVyYXRlRmlsZUZvclVwbG9hZCht
X3BhZ2UsIHBhdGgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggYzNjNzdhMWNiZWVlNjAwZjY4
NDM4M2FiYmFjMzc0YjJlNGM3ZTY4NC4uNzgyMzhkMjg5ZmY1ODA0OTQxMDJjYzViMmYxNjY4Y2Zk
MTJiZTk3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0xNTAsOCArMTUwLDYgQEAgcHJpdmF0
ZToKICAgICB2aXJ0dWFsIHZvaWQgYW5ub3RhdGVkUmVnaW9uc0NoYW5nZWQoKSBvdmVycmlkZTsK
ICNlbmRpZgogCi0gICAgdmlydHVhbCB2b2lkIHBvcHVsYXRlVmlzaXRlZExpbmtzKCkgb3ZlcnJp
ZGU7Ci0gICAgCiAgICAgdmlydHVhbCBib29sIHNob3VsZFJlcGxhY2VXaXRoR2VuZXJhdGVkRmls
ZUZvclVwbG9hZChjb25zdCBTdHJpbmcmIHBhdGgsIFN0cmluZyYgZ2VuZXJhdGVkRmlsZW5hbWUp
IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgU3RyaW5nIGdlbmVyYXRlUmVwbGFjZW1lbnRGaWxlKGNv
bnN0IFN0cmluZyYgcGF0aCkgb3ZlcnJpZGU7CiAgICAgCg==
</data>
<flag name="review"
          id="267294"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>