<?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>78792</bug_id>
          
          <creation_ts>2012-02-16 02:15:50 -0800</creation_ts>
          <short_desc>[Qt][WK2] Implement proxy authentication handling.</short_desc>
          <delta_ts>2012-02-22 07:11:24 -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="Michael Brüning">michael.bruning</reporter>
          <assigned_to name="Michael Brüning">michael.bruning</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>558002</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Brüning">michael.bruning</who>
    <bug_when>2012-02-16 02:15:50 -0800</bug_when>
    <thetext>[Qt][WK2] Implement proxy authentication handling.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558016</commentid>
    <comment_count>1</comment_count>
      <attachid>127337</attachid>
    <who name="Michael Brüning">michael.bruning</who>
    <bug_when>2012-02-16 02:38:03 -0800</bug_when>
    <thetext>Created attachment 127337
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558023</commentid>
    <comment_count>2</comment_count>
      <attachid>127337</attachid>
    <who name="Michael Brüning">michael.bruning</who>
    <bug_when>2012-02-16 02:42:09 -0800</bug_when>
    <thetext>Comment on attachment 127337
Patch

Forgot to add the QML property. Sorry...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558032</commentid>
    <comment_count>3</comment_count>
      <attachid>127344</attachid>
    <who name="Michael Brüning">michael.bruning</who>
    <bug_when>2012-02-16 02:56:09 -0800</bug_when>
    <thetext>Created attachment 127344
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560160</commentid>
    <comment_count>4</comment_count>
      <attachid>127802</attachid>
    <who name="Michael Brüning">michael.bruning</who>
    <bug_when>2012-02-20 03:54:03 -0800</bug_when>
    <thetext>Created attachment 127802
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560169</commentid>
    <comment_count>5</comment_count>
      <attachid>127802</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-20 04:25:30 -0800</bug_when>
    <thetext>Comment on attachment 127802
Patch

Clearing flags on attachment: 127802

Committed r108232: &lt;http://trac.webkit.org/changeset/108232&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560170</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-20 04:25:34 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>561892</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Brüning">michael.bruning</who>
    <bug_when>2012-02-22 05:44:50 -0800</bug_when>
    <thetext>Reopening as there was two things wrong with the original implementation:
   - it wasn&apos;t connecting the signal proxuAuthenticationRequired to the slot that was implemented for it
   - the slot that was meant to deal with it had the wrong parameter list (it was the one for authenticationRequired).

Updated patch coming up...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>561897</commentid>
    <comment_count>8</comment_count>
      <attachid>128189</attachid>
    <who name="Michael Brüning">michael.bruning</who>
    <bug_when>2012-02-22 05:53:15 -0800</bug_when>
    <thetext>Created attachment 128189
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>561956</commentid>
    <comment_count>9</comment_count>
      <attachid>128189</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-22 07:11:19 -0800</bug_when>
    <thetext>Comment on attachment 128189
Patch

Clearing flags on attachment: 128189

Committed r108499: &lt;http://trac.webkit.org/changeset/108499&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>561957</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-22 07:11:24 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127337</attachid>
            <date>2012-02-16 02:38:03 -0800</date>
            <delta_ts>2012-02-16 02:42:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78792-20120216113801.patch</filename>
            <type>text/plain</type>
            <size>23234</size>
            <attacher name="Michael Brüning">michael.bruning</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3NzEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYmRhNTZlYTdhYTJhZjdh
OWNiOTk2ZTlkNzUwMjdhNGMxZjk4YmE3MC4uYjcxOWY4YzI1NTJkMWI0YTY0NmE1MGNkZjVhNjVi
ZTBhNTc5MmI3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY4IEBACisyMDEyLTAyLTE2ICBNaWNo
YWVsIEJyw7xuaW5nICA8bWljaGFlbC5icnVuaW5nQG5va2lhLmNvbT4KKworICAgICAgICBbUXRd
W1dLMl0gSW1wbGVtZW50IHByb3h5IGF1dGhlbnRpY2F0aW9uIGhhbmRsaW5nLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg3OTIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFBsYXRmb3JtL0NvcmVJUEMv
QXJndW1lbnREZWNvZGVyLmNwcDoKKyAgICAgICAgKENvcmVJUEM6OkFyZ3VtZW50RGVjb2Rlcjo6
ZGVjb2RlVUludDE2KToKKyAgICAgICAgKENvcmVJUEMpOgorICAgICAgICAqIFBsYXRmb3JtL0Nv
cmVJUEMvQXJndW1lbnREZWNvZGVyLmg6CisgICAgICAgIChBcmd1bWVudERlY29kZXIpOgorICAg
ICAgICAoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyOjpkZWNvZGUpOgorICAgICAgICAoQ29yZUlQ
Qyk6CisgICAgICAgICogUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudEVuY29kZXIuY3BwOgorICAg
ICAgICAoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyOjplbmNvZGVVSW50MTYpOgorICAgICAgICAo
Q29yZUlQQyk6CisgICAgICAgICogUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudEVuY29kZXIuaDoK
KyAgICAgICAgKEFyZ3VtZW50RW5jb2Rlcik6CisgICAgICAgIChDb3JlSVBDOjpBcmd1bWVudEVu
Y29kZXI6OmVuY29kZSk6CisgICAgICAgIChDb3JlSVBDKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwOgorICAgICAgICAoUVF1aWNrV2ViVmlld1ByaXZhdGU6
OlFRdWlja1dlYlZpZXdQcml2YXRlKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXdQcml2YXRlOjpo
YW5kbGVQcm94eUF1dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0KToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmg6CisgICAgICAgIChRUXVpY2tXZWJWaWV3
UHJpdmF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VDbGllbnQuaDoKKyAgICAgICAgKFBh
Z2VDbGllbnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnByb3h5QXV0aGVudGljYXRpb25SZXF1aXJlZFJlcXVl
c3QpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5
Lmg6CisgICAgICAgIChXZWJQYWdlUHJveHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0RGlhbG9nUnVubmVy
LmNwcDoKKyAgICAgICAgKFByb3h5QXV0aGVudGljYXRpb25EaWFsb2dDb250ZXh0T2JqZWN0KToK
KyAgICAgICAgKFByb3h5QXV0aGVudGljYXRpb25EaWFsb2dDb250ZXh0T2JqZWN0OjpQcm94eUF1
dGhlbnRpY2F0aW9uRGlhbG9nQ29udGV4dE9iamVjdCk6CisgICAgICAgIChQcm94eUF1dGhlbnRp
Y2F0aW9uRGlhbG9nQ29udGV4dE9iamVjdDo6aG9zdG5hbWUpOgorICAgICAgICAoUHJveHlBdXRo
ZW50aWNhdGlvbkRpYWxvZ0NvbnRleHRPYmplY3Q6OnBvcnQpOgorICAgICAgICAoUHJveHlBdXRo
ZW50aWNhdGlvbkRpYWxvZ0NvbnRleHRPYmplY3Q6OnByZWZpbGxlZFVzZXJuYW1lKToKKyAgICAg
ICAgKFByb3h5QXV0aGVudGljYXRpb25EaWFsb2dDb250ZXh0T2JqZWN0OjphY2NlcHQpOgorICAg
ICAgICAoUHJveHlBdXRoZW50aWNhdGlvbkRpYWxvZ0NvbnRleHRPYmplY3Q6OnJlamVjdCk6Cisg
ICAgICAgIChRdERpYWxvZ1J1bm5lcjo6aW5pdEZvclByb3h5QXV0aGVudGljYXRpb24pOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9xdC9RdERpYWxvZ1J1bm5lci5oOgorICAgICAgICAoUXREaWFsb2dS
dW5uZXIpOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9RdFBhZ2VDbGllbnQuY3BwOgorICAgICAg
ICAoUXRQYWdlQ2xpZW50OjpoYW5kbGVQcm94eUF1dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvUXRQYWdlQ2xpZW50Lmg6CisgICAgICAgIChRdFBh
Z2VDbGllbnQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9EZWNvZGVyQWRhcHRlci5j
cHA6CisgICAgICAgIChXZWJLaXQ6OkRlY29kZXJBZGFwdGVyOjpkZWNvZGVVSW50MTYpOgorICAg
ICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvRGVjb2RlckFkYXB0
ZXIuaDoKKyAgICAgICAgKERlY29kZXJBZGFwdGVyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvRW5jb2RlckFkYXB0ZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpFbmNvZGVyQWRhcHRl
cjo6ZW5jb2RlVUludDE2KToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL0VuY29kZXJBZGFwdGVyLmg6CisgICAgICAgIChFbmNvZGVyQWRhcHRlcik6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9xdC9RdE5ldHdvcmtBY2Nlc3NNYW5hZ2VyLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6UXROZXR3b3JrQWNjZXNzTWFuYWdlcjo6b25Qcm94eUF1dGhlbnRpY2F0aW9u
UmVxdWlyZWQpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL3F0L1F0
TmV0d29ya0FjY2Vzc01hbmFnZXIuaDoKKyAgICAgICAgKFF0TmV0d29ya0FjY2Vzc01hbmFnZXIp
OgorCiAyMDEyLTAyLTE0ICBObydhbSBSb3NlbnRoYWwgIDxub2FtLnJvc2VudGhhbEBub2tpYS5j
b20+CiAKICAgICAgICAgW1F0XVtUZXhtYXBdIFJlZmFjdG9yIGJhY2tpbmctc3RvcmUgY29kZSBp
biBUZXh0dXJlTWFwcGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3Jl
SVBDL0FyZ3VtZW50RGVjb2Rlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBD
L0FyZ3VtZW50RGVjb2Rlci5jcHAKaW5kZXggNDhkYTc0NGRlMWQxNzE5ZWEwZTJkZWJjNjJhYjI2
ZGZmM2ZhNzE0NC4uZjQ5MDc2YTZkYzMwNjk2YTNjNDg3ODgyNTY3ODc1OTQwNWMxN2E1ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudERlY29kZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnREZWNvZGVy
LmNwcApAQCAtMTQxLDYgKzE0MSwxNiBAQCBib29sIEFyZ3VtZW50RGVjb2Rlcjo6ZGVjb2RlQm9v
bChib29sJiByZXN1bHQpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgQXJndW1lbnREZWNv
ZGVyOjpkZWNvZGVVSW50MTYodWludDE2X3QmIHJlc3VsdCkKK3sKKyAgICBpZiAoIWFsaWduQnVm
ZmVyUG9zaXRpb24oc2l6ZW9mKHJlc3VsdCksIHNpemVvZihyZXN1bHQpKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgcmVzdWx0ID0gKnJlaW50ZXJwcmV0X2Nhc3Q8dWludDE2X3QqPiht
X2J1ZmZlclBvcyk7CisgICAgbV9idWZmZXJQb3MgKz0gc2l6ZW9mKHJlc3VsdCk7CisgICAgcmV0
dXJuIHRydWU7Cit9CisKIGJvb2wgQXJndW1lbnREZWNvZGVyOjpkZWNvZGVVSW50MzIodWludDMy
X3QmIHJlc3VsdCkKIHsKICAgICBpZiAoIWFsaWduQnVmZmVyUG9zaXRpb24oc2l6ZW9mKHJlc3Vs
dCksIHNpemVvZihyZXN1bHQpKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L0NvcmVJUEMvQXJndW1lbnREZWNvZGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3Jl
SVBDL0FyZ3VtZW50RGVjb2Rlci5oCmluZGV4IDc4NmUzZDY5M2U5ZWVhNTUzOTcxNjcxOGE0MTk1
ZjEzYWEwZjVkZTYuLjUzZjlmOGM2YzBjNWUyMzU5MDNhNTUzMjQ1NTliNGQ3YmU5MTkzMDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnREZWNvZGVy
LmgKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudERlY29kZXIu
aApAQCAtNTMsNiArNTMsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBkZWNvZGVWYXJpYWJsZUxlbmd0
aEJ5dGVBcnJheShEYXRhUmVmZXJlbmNlJik7CiAKICAgICBib29sIGRlY29kZUJvb2woYm9vbCYp
OworICAgIGJvb2wgZGVjb2RlVUludDE2KHVpbnQxNl90Jik7CiAgICAgYm9vbCBkZWNvZGVVSW50
MzIodWludDMyX3QmKTsKICAgICBib29sIGRlY29kZVVJbnQ2NCh1aW50NjRfdCYpOwogICAgIGJv
b2wgZGVjb2RlSW50MzIoaW50MzJfdCYpOwpAQCAtMTI2LDYgKzEyNywxMSBAQCB0ZW1wbGF0ZTw+
IGlubGluZSBib29sIEFyZ3VtZW50RGVjb2Rlcjo6ZGVjb2RlKGJvb2wmIG4pCiAgICAgcmV0dXJu
IGRlY29kZUJvb2wobik7CiB9CiAKK3RlbXBsYXRlPD4gaW5saW5lIGJvb2wgQXJndW1lbnREZWNv
ZGVyOjpkZWNvZGUodWludDE2X3QmIG4pCit7CisgICAgcmV0dXJuIGRlY29kZVVJbnQxNihuKTsK
K30KKwogdGVtcGxhdGU8PiBpbmxpbmUgYm9vbCBBcmd1bWVudERlY29kZXI6OmRlY29kZSh1aW50
MzJfdCYgbikKIHsKICAgICByZXR1cm4gZGVjb2RlVUludDMyKG4pOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudEVuY29kZXIuY3BwIGIvU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudEVuY29kZXIuY3BwCmluZGV4IGE2YzQ0
ZWE0MTU4MmFlZDNmZmI4MzA4Y2I5YjRhZGJkMDVkMDk0YWEuLjY0YzIwNDhjZjMyMDI5MmEzMmFm
Y2RhNjkxNGY1OTZmNDIzZDhhNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L0NvcmVJUEMvQXJndW1lbnRFbmNvZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bS9Db3JlSVBDL0FyZ3VtZW50RW5jb2Rlci5jcHAKQEAgLTExNSw2ICsxMTUsMTMgQEAgdm9pZCBB
cmd1bWVudEVuY29kZXI6OmVuY29kZUJvb2woYm9vbCBuKQogICAgICpyZWludGVycHJldF9jYXN0
PGJvb2wqPihidWZmZXIpID0gbjsKIH0KIAordm9pZCBBcmd1bWVudEVuY29kZXI6OmVuY29kZVVJ
bnQxNih1aW50MTZfdCBuKQoreworICAgIHVpbnQ4X3QqIGJ1ZmZlciA9IGdyb3coc2l6ZW9mKG4p
LCBzaXplb2YobikpOworCisgICAgKnJlaW50ZXJwcmV0X2Nhc3Q8dWludDE2X3QqPihidWZmZXIp
ID0gbjsKK30KKwogdm9pZCBBcmd1bWVudEVuY29kZXI6OmVuY29kZVVJbnQzMih1aW50MzJfdCBu
KQogewogICAgIHVpbnQ4X3QqIGJ1ZmZlciA9IGdyb3coc2l6ZW9mKG4pLCBzaXplb2YobikpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudEVuY29k
ZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRFbmNvZGVyLmgK
aW5kZXggYmViNTcwM2RiNmUyNTAyYWZiNzZjYWFiMTFkNGRiODlkZjg1OGNiMi4uYjczNGQ3NTMx
OWE5NDI1YTM5M2ZkOTdjYjY4MWI5MzRiYTA3MTUyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudEVuY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RW5jb2Rlci5oCkBAIC00Niw2ICs0Niw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIGVuY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KGNvbnN0IERhdGFS
ZWZlcmVuY2UmKTsKIAogICAgIHZvaWQgZW5jb2RlQm9vbChib29sKTsKKyAgICB2b2lkIGVuY29k
ZVVJbnQxNih1aW50MTZfdCk7CiAgICAgdm9pZCBlbmNvZGVVSW50MzIodWludDMyX3QpOwogICAg
IHZvaWQgZW5jb2RlVUludDY0KHVpbnQ2NF90KTsKICAgICB2b2lkIGVuY29kZUludDMyKGludDMy
X3QpOwpAQCAtOTQsNiArOTUsMTEgQEAgdGVtcGxhdGU8PiBpbmxpbmUgdm9pZCBBcmd1bWVudEVu
Y29kZXI6OmVuY29kZShjb25zdCBib29sJiBuKQogICAgIGVuY29kZUJvb2wobik7CiB9CiAKK3Rl
bXBsYXRlPD4gaW5saW5lIHZvaWQgQXJndW1lbnRFbmNvZGVyOjplbmNvZGUoY29uc3QgdWludDE2
X3QmIG4pCit7CisgICAgZW5jb2RlVUludDE2KG4pOworfQorCiB0ZW1wbGF0ZTw+IGlubGluZSB2
b2lkIEFyZ3VtZW50RW5jb2Rlcjo6ZW5jb2RlKGNvbnN0IHVpbnQzMl90JiBuKQogewogICAgIGVu
Y29kZVVJbnQzMihuKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
cXQvcXF1aWNrd2Vidmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Fx
dWlja3dlYnZpZXcuY3BwCmluZGV4IDY5YjhkNWMzN2NiNjcyZGJjOGRkNzA4ZmRhZTE0NzI5MDAz
YjNiMjEuLmI0YjM2Yjk0MmM2MzkyMzYwYzkxMWQ3ZjJkOTc2Y2E4YTQyMWQxY2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcApAQCAt
NzQsNiArNzQsNyBAQCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6UVF1aWNrV2ViVmlld1ByaXZhdGUo
UVF1aWNrV2ViVmlldyogdmlld3BvcnQpCiAgICAgLCBhdXRoZW50aWNhdGlvbkRpYWxvZygwKQog
ICAgICwgY2VydGlmaWNhdGVWZXJpZmljYXRpb25EaWFsb2coMCkKICAgICAsIGl0ZW1TZWxlY3Rv
cigwKQorICAgICwgcHJveHlBdXRoZW50aWNhdGlvbkRpYWxvZygwKQogICAgICwgdXNlckRpZE92
ZXJyaWRlQ29udGVudFdpZHRoKGZhbHNlKQogICAgICwgdXNlckRpZE92ZXJyaWRlQ29udGVudEhl
aWdodChmYWxzZSkKICAgICAsIG1fbmF2aWdhdG9yUXRPYmplY3RFbmFibGVkKGZhbHNlKQpAQCAt
MzExLDYgKzMxMiwyNSBAQCB2b2lkIFFRdWlja1dlYlZpZXdQcml2YXRlOjpoYW5kbGVBdXRoZW50
aWNhdGlvblJlcXVpcmVkUmVxdWVzdChjb25zdCBRU3RyaW5nJiBobwogICAgIHBhc3N3b3JkID0g
ZGlhbG9nUnVubmVyLnBhc3N3b3JkKCk7CiB9CiAKK3ZvaWQgUVF1aWNrV2ViVmlld1ByaXZhdGU6
OmhhbmRsZVByb3h5QXV0aGVudGljYXRpb25SZXF1aXJlZFJlcXVlc3QoY29uc3QgUVN0cmluZyYg
aG9zdG5hbWUsIHVpbnQxNl90IHBvcnQsIGNvbnN0IFFTdHJpbmcmIHByZWZpbGxlZFVzZXJuYW1l
LCBRU3RyaW5nJiB1c2VybmFtZSwgUVN0cmluZyYgcGFzc3dvcmQpCit7CisgICAgaWYgKCFwcm94
eUF1dGhlbnRpY2F0aW9uRGlhbG9nKQorICAgICAgICByZXR1cm47CisKKyAgICBRX1EoUVF1aWNr
V2ViVmlldyk7CisgICAgUXREaWFsb2dSdW5uZXIgZGlhbG9nUnVubmVyOworICAgIGlmICghZGlh
bG9nUnVubmVyLmluaXRGb3JQcm94eUF1dGhlbnRpY2F0aW9uKHByb3h5QXV0aGVudGljYXRpb25E
aWFsb2csIHEsIGhvc3RuYW1lLCBwb3J0LCBwcmVmaWxsZWRVc2VybmFtZSkpCisgICAgICAgIHJl
dHVybjsKKworICAgIHNldFZpZXdJbkF0dGFjaGVkUHJvcGVydGllcyhkaWFsb2dSdW5uZXIuZGlh
bG9nKCkpOworICAgIGRpc2FibGVNb3VzZUV2ZW50cygpOworICAgIGRpYWxvZ1J1bm5lci5leGVj
KCk7CisgICAgZW5hYmxlTW91c2VFdmVudHMoKTsKKworICAgIHVzZXJuYW1lID0gZGlhbG9nUnVu
bmVyLnVzZXJuYW1lKCk7CisgICAgcGFzc3dvcmQgPSBkaWFsb2dSdW5uZXIucGFzc3dvcmQoKTsK
K30KKwogYm9vbCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6aGFuZGxlQ2VydGlmaWNhdGVWZXJpZmlj
YXRpb25SZXF1ZXN0KGNvbnN0IFFTdHJpbmcmIGhvc3RuYW1lKQogewogICAgIGlmICghY2VydGlm
aWNhdGVWZXJpZmljYXRpb25EaWFsb2cpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmgKaW5kZXggNTEyN2QxYjZlYmI5YjQwYzlkNmU4
NDRkOWUwZjViYjgyM2ExZjA5NS4uNjM4OGVlNWE3NWI0OTAwZTYzNzEzMGIxNDNiMzNiNmFkMjlm
MjQxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3
ZWJ2aWV3X3BfcC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNr
d2Vidmlld19wX3AuaApAQCAtMTAyLDYgKzEwMiw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgaGFu
ZGxlQXV0aGVudGljYXRpb25SZXF1aXJlZFJlcXVlc3QoY29uc3QgUVN0cmluZyYgaG9zdG5hbWUs
IGNvbnN0IFFTdHJpbmcmIHJlYWxtLCBjb25zdCBRU3RyaW5nJiBwcmVmaWxsZWRVc2VybmFtZSwg
UVN0cmluZyYgdXNlcm5hbWUsIFFTdHJpbmcmIHBhc3N3b3JkKTsKICAgICBib29sIGhhbmRsZUNl
cnRpZmljYXRlVmVyaWZpY2F0aW9uUmVxdWVzdChjb25zdCBRU3RyaW5nJiBob3N0bmFtZSk7Cisg
ICAgdm9pZCBoYW5kbGVQcm94eUF1dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0KGNvbnN0IFFT
dHJpbmcmIGhvc3RuYW1lLCB1aW50MTZfdCBwb3J0LCBjb25zdCBRU3RyaW5nJiBwcmVmaWxsZWRV
c2VybmFtZSwgUVN0cmluZyYgdXNlcm5hbWUsIFFTdHJpbmcmIHBhc3N3b3JkKTsKIAogICAgIHZv
aWQgc2V0UmVuZGVyVG9PZmZzY3JlZW5CdWZmZXIoYm9vbCBlbmFibGUpIHsgbV9yZW5kZXJUb09m
ZnNjcmVlbkJ1ZmZlciA9IGVuYWJsZTsgfQogICAgIHZvaWQgc2V0Vmlld0luQXR0YWNoZWRQcm9w
ZXJ0aWVzKFFPYmplY3QqKTsKQEAgLTE0NSw2ICsxNDYsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgUURl
Y2xhcmF0aXZlQ29tcG9uZW50KiBhdXRoZW50aWNhdGlvbkRpYWxvZzsKICAgICBRRGVjbGFyYXRp
dmVDb21wb25lbnQqIGNlcnRpZmljYXRlVmVyaWZpY2F0aW9uRGlhbG9nOwogICAgIFFEZWNsYXJh
dGl2ZUNvbXBvbmVudCogaXRlbVNlbGVjdG9yOworICAgIFFEZWNsYXJhdGl2ZUNvbXBvbmVudCog
cHJveHlBdXRoZW50aWNhdGlvbkRpYWxvZzsKIAogICAgIFdlYkNvcmU6OlZpZXdwb3J0QXJndW1l
bnRzIHZpZXdwb3J0QXJndW1lbnRzOwogICAgIFFGaWxlRGlhbG9nKiBmaWxlRGlhbG9nOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKaW5kZXggYmQ2MDk2YzkzMzI1MTk3NDNkODVk
NDdkYjQ5ZmI3NTAwNzlmNTQ0MS4uNzBkZGYwN2ZhNWU1MGRjZjU3ZTg5OWI2YmQ4ZDgwZGNmYWI4
NjUwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC0xMTEsNiArMTEx
LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVUZXh0SW5wdXRTdGF0ZSgpID0g
MDsKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlQXV0aGVudGljYXRpb25SZXF1aXJlZFJlcXVlc3Qo
Y29uc3QgU3RyaW5nJiBob3N0bmFtZSwgY29uc3QgU3RyaW5nJiByZWFsbSwgY29uc3QgU3RyaW5n
JiBwcmVmaWxsZWRVc2VybmFtZSwgU3RyaW5nJiB1c2VybmFtZSwgU3RyaW5nJiBwYXNzd29yZCkg
PSAwOwogICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVDZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvblJlcXVl
c3QoY29uc3QgU3RyaW5nJiBob3N0bmFtZSwgYm9vbCYgaWdub3JlRXJyb3JzKSA9IDA7CisgICAg
dmlydHVhbCB2b2lkIGhhbmRsZVByb3h5QXV0aGVudGljYXRpb25SZXF1aXJlZFJlcXVlc3QoY29u
c3QgU3RyaW5nJiBob3N0bmFtZSwgdWludDE2X3QgcG9ydCwgY29uc3QgU3RyaW5nJiBwcmVmaWxs
ZWRVc2VybmFtZSwgU3RyaW5nJiB1c2VybmFtZSwgU3RyaW5nJiBwYXNzd29yZCkgPSAwOwogI2Vu
ZGlmIC8vIFBMQVRGT1JNKFFUKS4KIAogI2lmIFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEsp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDIzNjJjOWQ1
NTAwMzY1NDQ5MTMwZDFhMTk3YTljZjVkZDFhMmEzOWQuLjZjNzZlYWM2ZjQwY2ZjOWQwMTNhZjA2
YWNkNTAxZWFiZTAyNDY1YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwCkBAIC0yMzk2LDYgKzIzOTYsMTEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmF1dGhlbnRp
Y2F0aW9uUmVxdWlyZWRSZXF1ZXN0KGNvbnN0IFN0cmluZyYgaG9zdG5hbWUsIGNvbnN0IFMKICAg
ICBtX3BhZ2VDbGllbnQtPmhhbmRsZUF1dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0KGhvc3Ru
YW1lLCByZWFsbSwgcHJlZmlsbGVkVXNlcm5hbWUsIHVzZXJuYW1lLCBwYXNzd29yZCk7CiB9CiAK
K3ZvaWQgV2ViUGFnZVByb3h5Ojpwcm94eUF1dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0KGNv
bnN0IFN0cmluZyYgaG9zdG5hbWUsIHVpbnQxNl90IHBvcnQsIGNvbnN0IFN0cmluZyYgcHJlZmls
bGVkVXNlcm5hbWUsIFN0cmluZyYgdXNlcm5hbWUsIFN0cmluZyYgcGFzc3dvcmQpCit7CisgICAg
bV9wYWdlQ2xpZW50LT5oYW5kbGVQcm94eUF1dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0KGhv
c3RuYW1lLCBwb3J0LCBwcmVmaWxsZWRVc2VybmFtZSwgdXNlcm5hbWUsIHBhc3N3b3JkKTsKK30K
Kwogdm9pZCBXZWJQYWdlUHJveHk6OmNlcnRpZmljYXRlVmVyaWZpY2F0aW9uUmVxdWVzdChjb25z
dCBTdHJpbmcmIGhvc3RuYW1lLCBib29sJiBpZ25vcmVFcnJvcnMpCiB7CiAgICAgbV9wYWdlQ2xp
ZW50LT5oYW5kbGVDZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvblJlcXVlc3QoaG9zdG5hbWUsIGlnbm9y
ZUVycm9ycyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggMjYy
ZWM2YTQ1YTdlNTdjMDllZTRhZTI1YWYzMmQ0MmZmYWI0ZWNjNi4uZWYxM2E4ZGIzMzBmMTNhNDg2
ZjczNWJmMjNlYWY4ZTQ5NTIxMWVlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaApAQCAtMzIyLDYgKzMyMiw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNlbmRBcHBsaWNh
dGlvblNjaGVtZVJlcGx5KGNvbnN0IFFRdWlja05ldHdvcmtSZXBseSopOwogICAgIHZvaWQgYXV0
aGVudGljYXRpb25SZXF1aXJlZFJlcXVlc3QoY29uc3QgU3RyaW5nJiBob3N0bmFtZSwgY29uc3Qg
U3RyaW5nJiByZWFsbSwgY29uc3QgU3RyaW5nJiBwcmVmaWxsZWRVc2VybmFtZSwgU3RyaW5nJiB1
c2VybmFtZSwgU3RyaW5nJiBwYXNzd29yZCk7CiAgICAgdm9pZCBjZXJ0aWZpY2F0ZVZlcmlmaWNh
dGlvblJlcXVlc3QoY29uc3QgU3RyaW5nJiBob3N0bmFtZSwgYm9vbCYgaWdub3JlRXJyb3JzKTsK
KyAgICB2b2lkIHByb3h5QXV0aGVudGljYXRpb25SZXF1aXJlZFJlcXVlc3QoY29uc3QgU3RyaW5n
JiBob3N0bmFtZSwgdWludDE2X3QgcG9ydCwgY29uc3QgU3RyaW5nJiBwcmVmaWxsZWRVc2VybmFt
ZSwgU3RyaW5nJiB1c2VybmFtZSwgU3RyaW5nJiBwYXNzd29yZCk7CiAjZW5kaWYgLy8gUExBVEZP
Uk0oUVQpLgogCiAjaWYgUExBVEZPUk0oUVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCBmZGU4ZjljYzY4OTBhZWZiOGY0NjYw
NDNhNTFkN2ZhNWJiZTA4NjcwLi4wYTVkYTU4N2FjYjUyNWI0YjYxMGE0YzRkZmZlN2Q3OGQ5Y2M3
MzI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVz
c2FnZXMuaW4KQEAgLTc2LDYgKzc2LDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAg
ICBEaWRGaW5kWm9vbWFibGVBcmVhKFdlYkNvcmU6OkludFBvaW50IHRhcmdldCwgV2ViQ29yZTo6
SW50UmVjdCBhcmVhKQogICAgIEF1dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0KFdURjo6U3Ry
aW5nIGhvc3RuYW1lLCBXVEY6OlN0cmluZyByZWFsbSwgV1RGOjpTdHJpbmcgcHJlZmlsbGVkVXNl
cm5hbWUpIC0+IChXVEY6OlN0cmluZyB1c2VybmFtZSwgV1RGOjpTdHJpbmcgcGFzc3dvcmQpCiAg
ICAgQ2VydGlmaWNhdGVWZXJpZmljYXRpb25SZXF1ZXN0KFdURjo6U3RyaW5nIGhvc3RuYW1lKSAt
PiAoYm9vbCBpZ25vcmVFcnJvcnMpCisgICAgUHJveHlBdXRoZW50aWNhdGlvblJlcXVpcmVkUmVx
dWVzdChXVEY6OlN0cmluZyBob3N0bmFtZSwgdWludDE2X3QgcG9ydCwgV1RGOjpTdHJpbmcgcHJl
ZmlsbGVkVXNlcm5hbWUpIC0+IChXVEY6OlN0cmluZyB1c2VybmFtZSwgV1RGOjpTdHJpbmcgcGFz
c3dvcmQpCiAjZW5kaWYKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQogICAgIE5lZWRUb3VjaEV2
ZW50cyhib29sIG5lZWRUb3VjaEV2ZW50cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9xdC9RdERpYWxvZ1J1bm5lci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
cXQvUXREaWFsb2dSdW5uZXIuY3BwCmluZGV4IGY3ZTJiODUxNDJiYmY3YmFhYzI0MzZjMDQwNzEy
MTFlMjM2NjYxYTUuLjE2YzY0MjkzNGNiMTg5MWQzODQ0NzMwYmQxYmQ0Y2UxZDA2MjNkN2YgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdERpYWxvZ1J1bm5lci5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0RGlhbG9nUnVubmVyLmNwcApAQCAt
MTAyLDYgKzEwMiwzOSBAQCBwcml2YXRlOgogICAgIFFTdHJpbmcgbV9wcmVmaWxsZWRVc2VybmFt
ZTsKIH07CiAKK2NsYXNzIFByb3h5QXV0aGVudGljYXRpb25EaWFsb2dDb250ZXh0T2JqZWN0IDog
cHVibGljIFFPYmplY3QgeworICAgIFFfT0JKRUNUCisgICAgUV9QUk9QRVJUWShRU3RyaW5nIGhv
c3RuYW1lIFJFQUQgaG9zdG5hbWUgQ09OU1RBTlQpCisgICAgUV9QUk9QRVJUWShxdWludDE2IHBv
cnQgUkVBRCBwb3J0IENPTlNUQU5UKQorICAgIFFfUFJPUEVSVFkoUVN0cmluZyBwcmVmaWxsZWRV
c2VybmFtZSBSRUFEIHByZWZpbGxlZFVzZXJuYW1lIENPTlNUQU5UKQorCitwdWJsaWM6CisgICAg
UHJveHlBdXRoZW50aWNhdGlvbkRpYWxvZ0NvbnRleHRPYmplY3QoY29uc3QgUVN0cmluZyYgaG9z
dG5hbWUsIHF1aW50MTYgcG9ydCwgY29uc3QgUVN0cmluZyYgcHJlZmlsbGVkVXNlcm5hbWUpCisg
ICAgICAgIDogUU9iamVjdCgpCisgICAgICAgICwgbV9ob3N0bmFtZShob3N0bmFtZSkKKyAgICAg
ICAgLCBtX3BvcnQocG9ydCkKKyAgICAgICAgLCBtX3ByZWZpbGxlZFVzZXJuYW1lKHByZWZpbGxl
ZFVzZXJuYW1lKQorICAgIHsKKyAgICB9CisKKyAgICBRU3RyaW5nIGhvc3RuYW1lKCkgY29uc3Qg
eyByZXR1cm4gbV9ob3N0bmFtZTsgfQorICAgIHF1aW50MTYgcG9ydCgpIGNvbnN0IHsgcmV0dXJu
IG1fcG9ydDsgfQorICAgIFFTdHJpbmcgcHJlZmlsbGVkVXNlcm5hbWUoKSBjb25zdCB7IHJldHVy
biBtX3ByZWZpbGxlZFVzZXJuYW1lOyB9CisKK3B1YmxpYyBzbG90czoKKyAgICB2b2lkIGFjY2Vw
dChjb25zdCBRU3RyaW5nJiB1c2VybmFtZSwgY29uc3QgUVN0cmluZyYgcGFzc3dvcmQpIHsgZW1p
dCBhY2NlcHRlZCh1c2VybmFtZSwgcGFzc3dvcmQpOyB9CisgICAgdm9pZCByZWplY3QoKSB7IGVt
aXQgcmVqZWN0ZWQoKTsgfQorCitzaWduYWxzOgorICAgIHZvaWQgYWNjZXB0ZWQoY29uc3QgUVN0
cmluZyYgdXNlcm5hbWUsIGNvbnN0IFFTdHJpbmcmIHBhc3N3b3JkKTsKKyAgICB2b2lkIHJlamVj
dGVkKCk7CisKK3ByaXZhdGU6CisgICAgUVN0cmluZyBtX2hvc3RuYW1lOworICAgIHF1aW50MTYg
bV9wb3J0OworICAgIFFTdHJpbmcgbV9wcmVmaWxsZWRVc2VybmFtZTsKK307CisKIGNsYXNzIENl
cnRpZmljYXRlVmVyaWZpY2F0aW9uRGlhbG9nQ29udGV4dE9iamVjdCA6IHB1YmxpYyBRT2JqZWN0
IHsKICAgICBRX09CSkVDVAogICAgIFFfUFJPUEVSVFkoUVN0cmluZyBob3N0bmFtZSBSRUFEIGhv
c3RuYW1lIENPTlNUQU5UKQpAQCAtMTc0LDYgKzIwNywxOSBAQCBib29sIFF0RGlhbG9nUnVubmVy
Ojppbml0Rm9yQXV0aGVudGljYXRpb24oUURlY2xhcmF0aXZlQ29tcG9uZW50KiBjb21wb25lbnQs
IFFRdQogICAgIHJldHVybiB0cnVlOwogfQogCitib29sIFF0RGlhbG9nUnVubmVyOjppbml0Rm9y
UHJveHlBdXRoZW50aWNhdGlvbihRRGVjbGFyYXRpdmVDb21wb25lbnQqIGNvbXBvbmVudCwgUVF1
aWNrSXRlbSogZGlhbG9nUGFyZW50LCBjb25zdCBRU3RyaW5nJiBob3N0bmFtZSwgdWludDE2X3Qg
cG9ydCwgY29uc3QgUVN0cmluZyYgcHJlZmlsbGVkVXNlcm5hbWUpCit7CisgICAgUHJveHlBdXRo
ZW50aWNhdGlvbkRpYWxvZ0NvbnRleHRPYmplY3QqIGNvbnRleHRPYmplY3QgPSBuZXcgUHJveHlB
dXRoZW50aWNhdGlvbkRpYWxvZ0NvbnRleHRPYmplY3QoaG9zdG5hbWUsIHBvcnQsIHByZWZpbGxl
ZFVzZXJuYW1lKTsKKyAgICBpZiAoIWNyZWF0ZURpYWxvZyhjb21wb25lbnQsIGRpYWxvZ1BhcmVu
dCwgY29udGV4dE9iamVjdCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGNvbm5lY3Qo
Y29udGV4dE9iamVjdCwgU0lHTkFMKGFjY2VwdGVkKFFTdHJpbmcsIFFTdHJpbmcpKSwgU0xPVChv
bkF1dGhlbnRpY2F0aW9uQWNjZXB0ZWQoUVN0cmluZywgUVN0cmluZykpKTsKKyAgICBjb25uZWN0
KGNvbnRleHRPYmplY3QsIFNJR05BTChhY2NlcHRlZChRU3RyaW5nLCBRU3RyaW5nKSksIFNMT1Qo
cXVpdCgpKSk7CisgICAgY29ubmVjdChjb250ZXh0T2JqZWN0LCBTSUdOQUwocmVqZWN0ZWQoKSks
IFNMT1QocXVpdCgpKSk7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogYm9vbCBRdERpYWxvZ1J1
bm5lcjo6aW5pdEZvckNlcnRpZmljYXRlVmVyaWZpY2F0aW9uKFFEZWNsYXJhdGl2ZUNvbXBvbmVu
dCogY29tcG9uZW50LCBRUXVpY2tJdGVtKiBkaWFsb2dQYXJlbnQsIGNvbnN0IFFTdHJpbmcmIGhv
c3RuYW1lKQogewogICAgIENlcnRpZmljYXRlVmVyaWZpY2F0aW9uRGlhbG9nQ29udGV4dE9iamVj
dCogY29udGV4dE9iamVjdCA9IG5ldyBDZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvbkRpYWxvZ0NvbnRl
eHRPYmplY3QoaG9zdG5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L3F0L1F0RGlhbG9nUnVubmVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXREaWFs
b2dSdW5uZXIuaAppbmRleCA5NmRjZWEyN2Y3NTdjOWU2MzAwNzNlMjdjODY3ZDk5ZmI5ZDNhOTkz
Li43ZmJhY2UxY2U4NDNlOTU2MGQzODBjNjJjZDRlZjdmMmJmMDA5NjUyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXREaWFsb2dSdW5uZXIuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXREaWFsb2dSdW5uZXIuaApAQCAtNDAsNiArNDAsNyBAQCBw
dWJsaWM6CiAgICAgYm9vbCBpbml0Rm9yUHJvbXB0KFFEZWNsYXJhdGl2ZUNvbXBvbmVudCosIFFR
dWlja0l0ZW0qIGRpYWxvZ1BhcmVudCwgY29uc3QgUVN0cmluZyYgbWVzc2FnZSwgY29uc3QgUVN0
cmluZyYgZGVmYXVsdFZhbHVlKTsKICAgICBib29sIGluaXRGb3JBdXRoZW50aWNhdGlvbihRRGVj
bGFyYXRpdmVDb21wb25lbnQqLCBRUXVpY2tJdGVtKiBkaWFsb2dQYXJlbnQsIGNvbnN0IFFTdHJp
bmcmIGhvc3RuYW1lLCBjb25zdCBRU3RyaW5nJiByZWFsbSwgY29uc3QgUVN0cmluZyYgcHJlZmls
bGVkVXNlcm5hbWUpOwogICAgIGJvb2wgaW5pdEZvckNlcnRpZmljYXRlVmVyaWZpY2F0aW9uKFFE
ZWNsYXJhdGl2ZUNvbXBvbmVudCosIFFRdWlja0l0ZW0qLCBjb25zdCBRU3RyaW5nJiBob3N0bmFt
ZSk7CisgICAgYm9vbCBpbml0Rm9yUHJveHlBdXRoZW50aWNhdGlvbihRRGVjbGFyYXRpdmVDb21w
b25lbnQqLCBRUXVpY2tJdGVtKiwgY29uc3QgUVN0cmluZyYgaG9zdG5hbWUsIHVpbnQxNl90IHBv
cnQsIGNvbnN0IFFTdHJpbmcmIHByZWZpbGxlZFVzZXJuYW1lKTsKIAogICAgIFFRdWlja0l0ZW0q
IGRpYWxvZygpIGNvbnN0IHsgcmV0dXJuIG1fZGlhbG9nLmdldCgpOyB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFBhZ2VDbGllbnQuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL3F0L1F0UGFnZUNsaWVudC5jcHAKaW5kZXggY2RjODYzYjYxMGY2OGQ0
NDNlYjZlNGZjMmQyMTc3NTAyNzYyNzk5MS4uOGQ2ZWJiYjAzZjZmM2RmMDlhZGFhY2YyMTkyNTE0
MDU3ZGQwM2UwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0UGFn
ZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0UGFnZUNsaWVu
dC5jcHAKQEAgLTEyMyw2ICsxMjMsMTcgQEAgdm9pZCBRdFBhZ2VDbGllbnQ6OmhhbmRsZUNlcnRp
ZmljYXRlVmVyaWZpY2F0aW9uUmVxdWVzdChjb25zdCBTdHJpbmcmIGhvc3RuYW1lLAogICAgIGln
bm9yZUVycm9ycyA9IFFRdWlja1dlYlZpZXdQcml2YXRlOjpnZXQobV93ZWJWaWV3KS0+aGFuZGxl
Q2VydGlmaWNhdGVWZXJpZmljYXRpb25SZXF1ZXN0KGhvc3RuYW1lKTsKIH0KIAordm9pZCBRdFBh
Z2VDbGllbnQ6OmhhbmRsZVByb3h5QXV0aGVudGljYXRpb25SZXF1aXJlZFJlcXVlc3QoY29uc3Qg
U3RyaW5nJiBob3N0bmFtZSwgdWludDE2X3QgcG9ydCwgY29uc3QgU3RyaW5nJiBwcmVmaWxsZWRV
c2VybmFtZSwgU3RyaW5nJiB1c2VybmFtZSwgU3RyaW5nJiBwYXNzd29yZCkKK3sKKyAgICBRU3Ry
aW5nIHFVc2VybmFtZTsKKyAgICBRU3RyaW5nIHFQYXNzd29yZDsKKworICAgIFFRdWlja1dlYlZp
ZXdQcml2YXRlOjpnZXQobV93ZWJWaWV3KS0+aGFuZGxlUHJveHlBdXRoZW50aWNhdGlvblJlcXVp
cmVkUmVxdWVzdChob3N0bmFtZSwgcG9ydCwgcHJlZmlsbGVkVXNlcm5hbWUsIHFVc2VybmFtZSwg
cVBhc3N3b3JkKTsKKworICAgIHVzZXJuYW1lID0gcVVzZXJuYW1lOworICAgIHBhc3N3b3JkID0g
cVBhc3N3b3JkOworfQorCiB2b2lkIFF0UGFnZUNsaWVudDo6c2V0Q3Vyc29yKGNvbnN0IFdlYkNv
cmU6OkN1cnNvciYgY3Vyc29yKQogewogICAgIC8vIEZJWE1FOiBUaGlzIGlzIGEgdGVtcG9yYXJ5
IGZpeCB1bnRpbCB3ZSBnZXQgY3Vyc29yIHN1cHBvcnQgaW4gUU1MIGl0ZW1zLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0UGFnZUNsaWVudC5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL3F0L1F0UGFnZUNsaWVudC5oCmluZGV4IDQzMDUwZjUwMmI5NzJhODFj
ZDg5NzZhMDQ1YzFlZDZiNGYxODEzZDEuLmY0ZmZhMThhZDRmNjFhZTU2MWI1YTBkODU0NzMxMWE4
NDk3NzFkNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFBhZ2VD
bGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRQYWdlQ2xpZW50LmgK
QEAgLTU2LDYgKzU2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVBcHBsaWNh
dGlvblNjaGVtZVJlcXVlc3QoUGFzc1JlZlB0cjxRdFJlZkNvdW50ZWROZXR3b3JrUmVxdWVzdERh
dGE+KTsKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlQXV0aGVudGljYXRpb25SZXF1aXJlZFJlcXVl
c3QoY29uc3QgU3RyaW5nJiBob3N0bmFtZSwgY29uc3QgU3RyaW5nJiByZWFsbSwgY29uc3QgU3Ry
aW5nJiBwcmVmaWxsZWRVc2VybmFtZSwgU3RyaW5nJiB1c2VybmFtZSwgU3RyaW5nJiBwYXNzd29y
ZCk7CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZUNlcnRpZmljYXRlVmVyaWZpY2F0aW9uUmVxdWVz
dChjb25zdCBTdHJpbmcmIGhvc3RuYW1lLCBib29sJiBpZ25vcmVFcnJvcnMpOworICAgIHZpcnR1
YWwgdm9pZCBoYW5kbGVQcm94eUF1dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0KGNvbnN0IFN0
cmluZyYgaG9zdG5hbWUsIHVpbnQxNl90IHBvcnQsIGNvbnN0IFN0cmluZyYgcHJlZmlsbGVkVXNl
cm5hbWUsIFN0cmluZyYgdXNlcm5hbWUsIFN0cmluZyYgcGFzc3dvcmQpOwogCiAgICAgdmlydHVh
bCB2b2lkIGRpc3BsYXlWaWV3KCk7CiAgICAgdmlydHVhbCB2b2lkIHNjcm9sbFZpZXcoY29uc3Qg
V2ViQ29yZTo6SW50UmVjdCYgc2Nyb2xsUmVjdCwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2Ny
b2xsT2Zmc2V0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9EZWNvZGVyQWRhcHRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
RGVjb2RlckFkYXB0ZXIuY3BwCmluZGV4IDE5MDgzZDZhZDQ2ODNmOTY5NTljODgwMGFhNmJkNTgz
OGU0MWJkZTEuLjc2MzMwNWNiZWI5Mzk0ODcyNTNmODZlZmJlYTkzZGU1NjBlYzI4OGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EZWNvZGVyQWRhcHRlci5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RlY29kZXJBZGFwdGVy
LmNwcApAQCAtNTIsNiArNTIsMTEgQEAgYm9vbCBEZWNvZGVyQWRhcHRlcjo6ZGVjb2RlQm9vbChi
b29sJiB2YWx1ZSkKICAgICByZXR1cm4gbV9kZWNvZGVyLmRlY29kZUJvb2wodmFsdWUpOwogfQog
Citib29sIERlY29kZXJBZGFwdGVyOjpkZWNvZGVVSW50MTYodWludDE2X3QmIHZhbHVlKQorewor
ICAgIHJldHVybiBtX2RlY29kZXIuZGVjb2RlVUludDE2KHZhbHVlKTsKK30KKwogYm9vbCBEZWNv
ZGVyQWRhcHRlcjo6ZGVjb2RlVUludDMyKHVpbnQzMl90JiB2YWx1ZSkKIHsKICAgICByZXR1cm4g
bV9kZWNvZGVyLmRlY29kZVVJbnQzMih2YWx1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRGVjb2RlckFkYXB0ZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9EZWNvZGVyQWRhcHRlci5oCmluZGV4IGJkMzRlYThkMzkzMDIyOWFi
Y2U3NzE5ZWVjMmM1YzUzYWY3Y2VlZmYuLmQ2YjRlYjc2NmFmMTZhMTgyOWNmOTU2ZmQ5NzQ2NWU4
YzlkYzRhNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9E
ZWNvZGVyQWRhcHRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9E
ZWNvZGVyQWRhcHRlci5oCkBAIC0zOSw2ICszOSw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAg
dmlydHVhbCBib29sIGRlY29kZUJ5dGVzKFZlY3Rvcjx1aW50OF90PiYpOwogICAgIHZpcnR1YWwg
Ym9vbCBkZWNvZGVCb29sKGJvb2wmKTsKKyAgICB2aXJ0dWFsIGJvb2wgZGVjb2RlVUludDE2KHVp
bnQxNl90Jik7CiAgICAgdmlydHVhbCBib29sIGRlY29kZVVJbnQzMih1aW50MzJfdCYpOwogICAg
IHZpcnR1YWwgYm9vbCBkZWNvZGVVSW50NjQodWludDY0X3QmKTsKICAgICB2aXJ0dWFsIGJvb2wg
ZGVjb2RlSW50MzIoaW50MzJfdCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0VuY29kZXJBZGFwdGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9FbmNvZGVyQWRhcHRlci5jcHAKaW5kZXggMWYwZTEzYzcxY2NjNTY1MWMxY2E5
NzE1NjE3YzYzNTQ5ZDllZjBmNi4uYmRhN2Q5YjcyZjJmZDAxMjM5YTdlMzJlZDZmNDg0YTkxODUz
NTJiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0VuY29k
ZXJBZGFwdGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRW5j
b2RlckFkYXB0ZXIuY3BwCkBAIC01Miw2ICs1MiwxMSBAQCB2b2lkIEVuY29kZXJBZGFwdGVyOjpl
bmNvZGVCb29sKGJvb2wgdmFsdWUpCiAgICAgbV9lbmNvZGVyLT5lbmNvZGVCb29sKHZhbHVlKTsK
IH0KIAordm9pZCBFbmNvZGVyQWRhcHRlcjo6ZW5jb2RlVUludDE2KHVpbnQxNl90IHZhbHVlKQor
eworICAgIG1fZW5jb2Rlci0+ZW5jb2RlVUludDE2KHZhbHVlKTsKK30KKwogdm9pZCBFbmNvZGVy
QWRhcHRlcjo6ZW5jb2RlVUludDMyKHVpbnQzMl90IHZhbHVlKQogewogICAgIG1fZW5jb2Rlci0+
ZW5jb2RlVUludDMyKHZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9FbmNvZGVyQWRhcHRlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0VuY29kZXJBZGFwdGVyLmgKaW5kZXggNDdkZTdhZmQ1YmU2NWQzN2U0MDEwNmVhYTM0
ZjEwZDljNGQ4MWE2Yy4uNjMyMWNmNTEzYmI0ZWFmNzg0MWY1NmUzMGZkNGIwOGY1ZWQ1YWVjMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0VuY29kZXJBZGFw
dGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0VuY29kZXJBZGFw
dGVyLmgKQEAgLTQ2LDYgKzQ2LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZv
aWQgZW5jb2RlQnl0ZXMoY29uc3QgdWludDhfdCosIHNpemVfdCk7CiAgICAgdmlydHVhbCB2b2lk
IGVuY29kZUJvb2woYm9vbCk7CisgICAgdmlydHVhbCB2b2lkIGVuY29kZVVJbnQxNih1aW50MTZf
dCB2YWx1ZSk7CiAgICAgdmlydHVhbCB2b2lkIGVuY29kZVVJbnQzMih1aW50MzJfdCk7CiAgICAg
dmlydHVhbCB2b2lkIGVuY29kZVVJbnQ2NCh1aW50NjRfdCk7CiAgICAgdmlydHVhbCB2b2lkIGVu
Y29kZUludDMyKGludDMyX3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9xdC9RdE5ldHdvcmtBY2Nlc3NNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvcXQvUXROZXR3b3JrQWNjZXNzTWFuYWdlci5jcHAKaW5kZXggMjhlZmMwYzgyMzNjMGJlZDg1
YzE0YTUwMjc4ZDBiYTIwNzJmMDc5Zi4uNWM0ZGI5YTE0M2M5ODQ3NWVhYzY0MjIyZDkwYzRhYWEw
Y2E0ODlhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9xdC9RdE5ldHdv
cmtBY2Nlc3NNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3F0L1F0
TmV0d29ya0FjY2Vzc01hbmFnZXIuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiV2Vi
UGFnZVByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCiAjaW5jbHVkZSA8
UUF1dGhlbnRpY2F0b3I+CisjaW5jbHVkZSA8UU5ldHdvcmtQcm94eT4KICNpbmNsdWRlIDxRTmV0
d29ya1JlcGx5PgogI2luY2x1ZGUgPFFOZXR3b3JrUmVxdWVzdD4KIApAQCAtNzMsNiArNzQsMjcg
QEAgdm9pZCBRdE5ldHdvcmtBY2Nlc3NNYW5hZ2VyOjpyZWdpc3RlckFwcGxpY2F0aW9uU2NoZW1l
KGNvbnN0IFdlYlBhZ2UqIHBhZ2UsIGNvbnMKICAgICBtX2FwcGxpY2F0aW9uU2NoZW1lcy5pbnNl
cnQocGFnZSwgc2NoZW1lLnRvTG93ZXIoKSk7CiB9CiAKK3ZvaWQgUXROZXR3b3JrQWNjZXNzTWFu
YWdlcjo6b25Qcm94eUF1dGhlbnRpY2F0aW9uUmVxdWlyZWQoUU5ldHdvcmtSZXBseSogcmVwbHks
IFFBdXRoZW50aWNhdG9yKiBhdXRoZW50aWNhdG9yKQoreworICAgIFdlYlBhZ2UqIHdlYlBhZ2Ug
PSBvYnRhaW5PcmlnaW5hdGluZ1dlYlBhZ2UocmVwbHktPnJlcXVlc3QoKSk7CisKKyAgICBTdHJp
bmcgaG9zdG5hbWUgPSBwcm94eSgpLmhvc3ROYW1lKCk7CisgICAgdWludDE2X3QgcG9ydCA9IHN0
YXRpY19jYXN0PHVpbnQxNl90Pihwcm94eSgpLnBvcnQoKSk7CisgICAgU3RyaW5nIHByZWZpbGxl
ZFVzZXJuYW1lID0gYXV0aGVudGljYXRvci0+dXNlcigpOworICAgIFN0cmluZyB1c2VybmFtZTsK
KyAgICBTdHJpbmcgcGFzc3dvcmQ7CisKKyAgICBpZiAod2ViUGFnZS0+c2VuZFN5bmMoCisgICAg
ICAgICBNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpQcm94eUF1dGhlbnRpY2F0aW9uUmVxdWlyZWRS
ZXF1ZXN0KGhvc3RuYW1lLCBwb3J0LCBwcmVmaWxsZWRVc2VybmFtZSksCisgICAgICAgICBNZXNz
YWdlczo6V2ViUGFnZVByb3h5OjpQcm94eUF1dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0OjpS
ZXBseSh1c2VybmFtZSwgcGFzc3dvcmQpKSkgeworICAgICAgICAgaWYgKCF1c2VybmFtZS5pc0Vt
cHR5KCkpCisgICAgICAgICAgICAgYXV0aGVudGljYXRvci0+c2V0VXNlcih1c2VybmFtZSk7Cisg
ICAgICAgICBpZiAoIXBhc3N3b3JkLmlzRW1wdHkoKSkKKyAgICAgICAgICAgICBhdXRoZW50aWNh
dG9yLT5zZXRQYXNzd29yZChwYXNzd29yZCk7CisgICAgIH0KKworfQorCiB2b2lkIFF0TmV0d29y
a0FjY2Vzc01hbmFnZXI6Om9uQXV0aGVudGljYXRpb25SZXF1aXJlZChRTmV0d29ya1JlcGx5KiBy
ZXBseSwgUUF1dGhlbnRpY2F0b3IqIGF1dGhlbnRpY2F0b3IpCiB7CiAgICAgV2ViUGFnZSogd2Vi
UGFnZSA9IG9idGFpbk9yaWdpbmF0aW5nV2ViUGFnZShyZXBseS0+cmVxdWVzdCgpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvcXQvUXROZXR3b3JrQWNjZXNzTWFuYWdl
ci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9xdC9RdE5ldHdvcmtBY2Nlc3NNYW5hZ2Vy
LmgKaW5kZXggODQ2MjIxZWI3ZjVlYjljMGI1OWU5NGYzN2ZhMmZhMTUyMTY0YzUxNC4uZGM4MmE4
YTc0ZjE0M2NiMGYyZDBkYzVlYmNmMDUzNmM4OTA0NTE0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9xdC9RdE5ldHdvcmtBY2Nlc3NNYW5hZ2VyLmgKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9xdC9RdE5ldHdvcmtBY2Nlc3NNYW5hZ2VyLmgKQEAgLTQ3LDYg
KzQ3LDcgQEAgcHJvdGVjdGVkOgogCiBwcml2YXRlIFFfU0xPVFM6CiAgICAgdm9pZCBvbkF1dGhl
bnRpY2F0aW9uUmVxdWlyZWQoUU5ldHdvcmtSZXBseSAqLCBRQXV0aGVudGljYXRvciAqKTsKKyAg
ICB2b2lkIG9uUHJveHlBdXRoZW50aWNhdGlvblJlcXVpcmVkKFFOZXR3b3JrUmVwbHkgKiwgUUF1
dGhlbnRpY2F0b3IgKik7CiAgICAgdm9pZCBvblNzbEVycm9ycyhRTmV0d29ya1JlcGx5KiwgY29u
c3QgUUxpc3Q8UVNzbEVycm9yPiYpOwogCiBwcml2YXRlOgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127344</attachid>
            <date>2012-02-16 02:56:09 -0800</date>
            <delta_ts>2012-02-20 03:53:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78792-20120216115607.patch</filename>
            <type>text/plain</type>
            <size>26216</size>
            <attacher name="Michael Brüning">michael.bruning</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3NzEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYmRhNTZlYTdhYTJhZjdh
OWNiOTk2ZTlkNzUwMjdhNGMxZjk4YmE3MC4uNDMzODE4YTE3MWI2ZDlmNTBmNWI3YmViZTEzZjFi
YWVmMDNiOTI2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcxIEBACisyMDEyLTAyLTE2ICBNaWNo
YWVsIEJyw7xuaW5nICA8bWljaGFlbC5icnVuaW5nQG5va2lhLmNvbT4KKworICAgICAgICBbUXRd
W1dLMl0gSW1wbGVtZW50IHByb3h5IGF1dGhlbnRpY2F0aW9uIGhhbmRsaW5nLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg3OTIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFBsYXRmb3JtL0NvcmVJUEMv
QXJndW1lbnREZWNvZGVyLmNwcDoKKyAgICAgICAgKENvcmVJUEM6OkFyZ3VtZW50RGVjb2Rlcjo6
ZGVjb2RlVUludDE2KToKKyAgICAgICAgKENvcmVJUEMpOgorICAgICAgICAqIFBsYXRmb3JtL0Nv
cmVJUEMvQXJndW1lbnREZWNvZGVyLmg6CisgICAgICAgIChBcmd1bWVudERlY29kZXIpOgorICAg
ICAgICAoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyOjpkZWNvZGUpOgorICAgICAgICAoQ29yZUlQ
Qyk6CisgICAgICAgICogUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudEVuY29kZXIuY3BwOgorICAg
ICAgICAoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyOjplbmNvZGVVSW50MTYpOgorICAgICAgICAo
Q29yZUlQQyk6CisgICAgICAgICogUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudEVuY29kZXIuaDoK
KyAgICAgICAgKEFyZ3VtZW50RW5jb2Rlcik6CisgICAgICAgIChDb3JlSVBDOjpBcmd1bWVudEVu
Y29kZXI6OmVuY29kZSk6CisgICAgICAgIChDb3JlSVBDKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwOgorICAgICAgICAoUVF1aWNrV2ViVmlld1ByaXZhdGU6
OlFRdWlja1dlYlZpZXdQcml2YXRlKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXdQcml2YXRlOjpo
YW5kbGVQcm94eUF1dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0KToKKyAgICAgICAgKFFRdWlj
a1dlYlZpZXdFeHBlcmltZW50YWw6OnByb3h5QXV0aGVudGljYXRpb25EaWFsb2cpOgorICAgICAg
ICAoUVF1aWNrV2ViVmlld0V4cGVyaW1lbnRhbDo6c2V0UHJveHlBdXRoZW50aWNhdGlvbkRpYWxv
Zyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmg6CisgICAgICAgIChRUXVp
Y2tXZWJWaWV3UHJpdmF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VDbGllbnQuaDoKKyAg
ICAgICAgKFBhZ2VDbGllbnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnByb3h5QXV0aGVudGljYXRpb25SZXF1
aXJlZFJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lmg6CisgICAgICAgIChXZWJQYWdlUHJveHkpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0RGlh
bG9nUnVubmVyLmNwcDoKKyAgICAgICAgKFByb3h5QXV0aGVudGljYXRpb25EaWFsb2dDb250ZXh0
T2JqZWN0KToKKyAgICAgICAgKFByb3h5QXV0aGVudGljYXRpb25EaWFsb2dDb250ZXh0T2JqZWN0
OjpQcm94eUF1dGhlbnRpY2F0aW9uRGlhbG9nQ29udGV4dE9iamVjdCk6CisgICAgICAgIChQcm94
eUF1dGhlbnRpY2F0aW9uRGlhbG9nQ29udGV4dE9iamVjdDo6aG9zdG5hbWUpOgorICAgICAgICAo
UHJveHlBdXRoZW50aWNhdGlvbkRpYWxvZ0NvbnRleHRPYmplY3Q6OnBvcnQpOgorICAgICAgICAo
UHJveHlBdXRoZW50aWNhdGlvbkRpYWxvZ0NvbnRleHRPYmplY3Q6OnByZWZpbGxlZFVzZXJuYW1l
KToKKyAgICAgICAgKFByb3h5QXV0aGVudGljYXRpb25EaWFsb2dDb250ZXh0T2JqZWN0OjphY2Nl
cHQpOgorICAgICAgICAoUHJveHlBdXRoZW50aWNhdGlvbkRpYWxvZ0NvbnRleHRPYmplY3Q6OnJl
amVjdCk6CisgICAgICAgIChRdERpYWxvZ1J1bm5lcjo6aW5pdEZvclByb3h5QXV0aGVudGljYXRp
b24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9RdERpYWxvZ1J1bm5lci5oOgorICAgICAgICAo
UXREaWFsb2dSdW5uZXIpOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9RdFBhZ2VDbGllbnQuY3Bw
OgorICAgICAgICAoUXRQYWdlQ2xpZW50OjpoYW5kbGVQcm94eUF1dGhlbnRpY2F0aW9uUmVxdWly
ZWRSZXF1ZXN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvUXRQYWdlQ2xpZW50Lmg6CisgICAg
ICAgIChRdFBhZ2VDbGllbnQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9EZWNvZGVy
QWRhcHRlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRlY29kZXJBZGFwdGVyOjpkZWNvZGVVSW50
MTYpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvRGVj
b2RlckFkYXB0ZXIuaDoKKyAgICAgICAgKERlY29kZXJBZGFwdGVyKToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvRW5jb2RlckFkYXB0ZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpFbmNv
ZGVyQWRhcHRlcjo6ZW5jb2RlVUludDE2KToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL0VuY29kZXJBZGFwdGVyLmg6CisgICAgICAgIChFbmNvZGVyQWRh
cHRlcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9xdC9RdE5ldHdvcmtBY2Nlc3NNYW5hZ2VyLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6UXROZXR3b3JrQWNjZXNzTWFuYWdlcjo6b25Qcm94eUF1dGhl
bnRpY2F0aW9uUmVxdWlyZWQpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL3F0L1F0TmV0d29ya0FjY2Vzc01hbmFnZXIuaDoKKyAgICAgICAgKFF0TmV0d29ya0FjY2Vz
c01hbmFnZXIpOgorCiAyMDEyLTAyLTE0ICBObydhbSBSb3NlbnRoYWwgIDxub2FtLnJvc2VudGhh
bEBub2tpYS5jb20+CiAKICAgICAgICAgW1F0XVtUZXhtYXBdIFJlZmFjdG9yIGJhY2tpbmctc3Rv
cmUgY29kZSBpbiBUZXh0dXJlTWFwcGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RGVjb2Rlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bS9Db3JlSVBDL0FyZ3VtZW50RGVjb2Rlci5jcHAKaW5kZXggNDhkYTc0NGRlMWQxNzE5ZWEwZTJk
ZWJjNjJhYjI2ZGZmM2ZhNzE0NC4uZjQ5MDc2YTZkYzMwNjk2YTNjNDg3ODgyNTY3ODc1OTQwNWMx
N2E1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVu
dERlY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1l
bnREZWNvZGVyLmNwcApAQCAtMTQxLDYgKzE0MSwxNiBAQCBib29sIEFyZ3VtZW50RGVjb2Rlcjo6
ZGVjb2RlQm9vbChib29sJiByZXN1bHQpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgQXJn
dW1lbnREZWNvZGVyOjpkZWNvZGVVSW50MTYodWludDE2X3QmIHJlc3VsdCkKK3sKKyAgICBpZiAo
IWFsaWduQnVmZmVyUG9zaXRpb24oc2l6ZW9mKHJlc3VsdCksIHNpemVvZihyZXN1bHQpKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmVzdWx0ID0gKnJlaW50ZXJwcmV0X2Nhc3Q8dWlu
dDE2X3QqPihtX2J1ZmZlclBvcyk7CisgICAgbV9idWZmZXJQb3MgKz0gc2l6ZW9mKHJlc3VsdCk7
CisgICAgcmV0dXJuIHRydWU7Cit9CisKIGJvb2wgQXJndW1lbnREZWNvZGVyOjpkZWNvZGVVSW50
MzIodWludDMyX3QmIHJlc3VsdCkKIHsKICAgICBpZiAoIWFsaWduQnVmZmVyUG9zaXRpb24oc2l6
ZW9mKHJlc3VsdCksIHNpemVvZihyZXN1bHQpKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnREZWNvZGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RGVjb2Rlci5oCmluZGV4IDc4NmUzZDY5M2U5ZWVhNTUzOTcx
NjcxOGE0MTk1ZjEzYWEwZjVkZTYuLjUzZjlmOGM2YzBjNWUyMzU5MDNhNTUzMjQ1NTliNGQ3YmU5
MTkzMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1l
bnREZWNvZGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVu
dERlY29kZXIuaApAQCAtNTMsNiArNTMsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBkZWNvZGVWYXJp
YWJsZUxlbmd0aEJ5dGVBcnJheShEYXRhUmVmZXJlbmNlJik7CiAKICAgICBib29sIGRlY29kZUJv
b2woYm9vbCYpOworICAgIGJvb2wgZGVjb2RlVUludDE2KHVpbnQxNl90Jik7CiAgICAgYm9vbCBk
ZWNvZGVVSW50MzIodWludDMyX3QmKTsKICAgICBib29sIGRlY29kZVVJbnQ2NCh1aW50NjRfdCYp
OwogICAgIGJvb2wgZGVjb2RlSW50MzIoaW50MzJfdCYpOwpAQCAtMTI2LDYgKzEyNywxMSBAQCB0
ZW1wbGF0ZTw+IGlubGluZSBib29sIEFyZ3VtZW50RGVjb2Rlcjo6ZGVjb2RlKGJvb2wmIG4pCiAg
ICAgcmV0dXJuIGRlY29kZUJvb2wobik7CiB9CiAKK3RlbXBsYXRlPD4gaW5saW5lIGJvb2wgQXJn
dW1lbnREZWNvZGVyOjpkZWNvZGUodWludDE2X3QmIG4pCit7CisgICAgcmV0dXJuIGRlY29kZVVJ
bnQxNihuKTsKK30KKwogdGVtcGxhdGU8PiBpbmxpbmUgYm9vbCBBcmd1bWVudERlY29kZXI6OmRl
Y29kZSh1aW50MzJfdCYgbikKIHsKICAgICByZXR1cm4gZGVjb2RlVUludDMyKG4pOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudEVuY29kZXIuY3Bw
IGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudEVuY29kZXIuY3BwCmlu
ZGV4IGE2YzQ0ZWE0MTU4MmFlZDNmZmI4MzA4Y2I5YjRhZGJkMDVkMDk0YWEuLjY0YzIwNDhjZjMy
MDI5MmEzMmFmY2RhNjkxNGY1OTZmNDIzZDhhNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRFbmNvZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RW5jb2Rlci5jcHAKQEAgLTExNSw2ICsxMTUsMTMg
QEAgdm9pZCBBcmd1bWVudEVuY29kZXI6OmVuY29kZUJvb2woYm9vbCBuKQogICAgICpyZWludGVy
cHJldF9jYXN0PGJvb2wqPihidWZmZXIpID0gbjsKIH0KIAordm9pZCBBcmd1bWVudEVuY29kZXI6
OmVuY29kZVVJbnQxNih1aW50MTZfdCBuKQoreworICAgIHVpbnQ4X3QqIGJ1ZmZlciA9IGdyb3co
c2l6ZW9mKG4pLCBzaXplb2YobikpOworCisgICAgKnJlaW50ZXJwcmV0X2Nhc3Q8dWludDE2X3Qq
PihidWZmZXIpID0gbjsKK30KKwogdm9pZCBBcmd1bWVudEVuY29kZXI6OmVuY29kZVVJbnQzMih1
aW50MzJfdCBuKQogewogICAgIHVpbnQ4X3QqIGJ1ZmZlciA9IGdyb3coc2l6ZW9mKG4pLCBzaXpl
b2YobikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1
bWVudEVuY29kZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRF
bmNvZGVyLmgKaW5kZXggYmViNTcwM2RiNmUyNTAyYWZiNzZjYWFiMTFkNGRiODlkZjg1OGNiMi4u
YjczNGQ3NTMxOWE5NDI1YTM5M2ZkOTdjYjY4MWI5MzRiYTA3MTUyZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudEVuY29kZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RW5jb2Rlci5oCkBAIC00Niw2ICs0
Niw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGVuY29kZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KGNv
bnN0IERhdGFSZWZlcmVuY2UmKTsKIAogICAgIHZvaWQgZW5jb2RlQm9vbChib29sKTsKKyAgICB2
b2lkIGVuY29kZVVJbnQxNih1aW50MTZfdCk7CiAgICAgdm9pZCBlbmNvZGVVSW50MzIodWludDMy
X3QpOwogICAgIHZvaWQgZW5jb2RlVUludDY0KHVpbnQ2NF90KTsKICAgICB2b2lkIGVuY29kZUlu
dDMyKGludDMyX3QpOwpAQCAtOTQsNiArOTUsMTEgQEAgdGVtcGxhdGU8PiBpbmxpbmUgdm9pZCBB
cmd1bWVudEVuY29kZXI6OmVuY29kZShjb25zdCBib29sJiBuKQogICAgIGVuY29kZUJvb2wobik7
CiB9CiAKK3RlbXBsYXRlPD4gaW5saW5lIHZvaWQgQXJndW1lbnRFbmNvZGVyOjplbmNvZGUoY29u
c3QgdWludDE2X3QmIG4pCit7CisgICAgZW5jb2RlVUludDE2KG4pOworfQorCiB0ZW1wbGF0ZTw+
IGlubGluZSB2b2lkIEFyZ3VtZW50RW5jb2Rlcjo6ZW5jb2RlKGNvbnN0IHVpbnQzMl90JiBuKQog
ewogICAgIGVuY29kZVVJbnQzMihuKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCmluZGV4IDY5YjhkNWMzN2NiNjcyZGJjOGRkNzA4ZmRh
ZTE0NzI5MDAzYjNiMjEuLjA5MjQ1OTIxMGI5YWFiMjBmMDM4ODhiODI4ZWYxZThiYmNhNzM1M2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmll
dy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3
LmNwcApAQCAtNzQsNiArNzQsNyBAQCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6UVF1aWNrV2ViVmll
d1ByaXZhdGUoUVF1aWNrV2ViVmlldyogdmlld3BvcnQpCiAgICAgLCBhdXRoZW50aWNhdGlvbkRp
YWxvZygwKQogICAgICwgY2VydGlmaWNhdGVWZXJpZmljYXRpb25EaWFsb2coMCkKICAgICAsIGl0
ZW1TZWxlY3RvcigwKQorICAgICwgcHJveHlBdXRoZW50aWNhdGlvbkRpYWxvZygwKQogICAgICwg
dXNlckRpZE92ZXJyaWRlQ29udGVudFdpZHRoKGZhbHNlKQogICAgICwgdXNlckRpZE92ZXJyaWRl
Q29udGVudEhlaWdodChmYWxzZSkKICAgICAsIG1fbmF2aWdhdG9yUXRPYmplY3RFbmFibGVkKGZh
bHNlKQpAQCAtMzExLDYgKzMxMiwyNSBAQCB2b2lkIFFRdWlja1dlYlZpZXdQcml2YXRlOjpoYW5k
bGVBdXRoZW50aWNhdGlvblJlcXVpcmVkUmVxdWVzdChjb25zdCBRU3RyaW5nJiBobwogICAgIHBh
c3N3b3JkID0gZGlhbG9nUnVubmVyLnBhc3N3b3JkKCk7CiB9CiAKK3ZvaWQgUVF1aWNrV2ViVmll
d1ByaXZhdGU6OmhhbmRsZVByb3h5QXV0aGVudGljYXRpb25SZXF1aXJlZFJlcXVlc3QoY29uc3Qg
UVN0cmluZyYgaG9zdG5hbWUsIHVpbnQxNl90IHBvcnQsIGNvbnN0IFFTdHJpbmcmIHByZWZpbGxl
ZFVzZXJuYW1lLCBRU3RyaW5nJiB1c2VybmFtZSwgUVN0cmluZyYgcGFzc3dvcmQpCit7CisgICAg
aWYgKCFwcm94eUF1dGhlbnRpY2F0aW9uRGlhbG9nKQorICAgICAgICByZXR1cm47CisKKyAgICBR
X1EoUVF1aWNrV2ViVmlldyk7CisgICAgUXREaWFsb2dSdW5uZXIgZGlhbG9nUnVubmVyOworICAg
IGlmICghZGlhbG9nUnVubmVyLmluaXRGb3JQcm94eUF1dGhlbnRpY2F0aW9uKHByb3h5QXV0aGVu
dGljYXRpb25EaWFsb2csIHEsIGhvc3RuYW1lLCBwb3J0LCBwcmVmaWxsZWRVc2VybmFtZSkpCisg
ICAgICAgIHJldHVybjsKKworICAgIHNldFZpZXdJbkF0dGFjaGVkUHJvcGVydGllcyhkaWFsb2dS
dW5uZXIuZGlhbG9nKCkpOworICAgIGRpc2FibGVNb3VzZUV2ZW50cygpOworICAgIGRpYWxvZ1J1
bm5lci5leGVjKCk7CisgICAgZW5hYmxlTW91c2VFdmVudHMoKTsKKworICAgIHVzZXJuYW1lID0g
ZGlhbG9nUnVubmVyLnVzZXJuYW1lKCk7CisgICAgcGFzc3dvcmQgPSBkaWFsb2dSdW5uZXIucGFz
c3dvcmQoKTsKK30KKwogYm9vbCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6aGFuZGxlQ2VydGlmaWNh
dGVWZXJpZmljYXRpb25SZXF1ZXN0KGNvbnN0IFFTdHJpbmcmIGhvc3RuYW1lKQogewogICAgIGlm
ICghY2VydGlmaWNhdGVWZXJpZmljYXRpb25EaWFsb2cpCkBAIC04NDIsNiArODYyLDIwIEBAIHZv
aWQgUVF1aWNrV2ViVmlld0V4cGVyaW1lbnRhbDo6c2V0QXV0aGVudGljYXRpb25EaWFsb2coUURl
Y2xhcmF0aXZlQ29tcG9uZW50KiBhCiAgICAgZW1pdCBhdXRoZW50aWNhdGlvbkRpYWxvZ0NoYW5n
ZWQoKTsKIH0KIAorUURlY2xhcmF0aXZlQ29tcG9uZW50KiBRUXVpY2tXZWJWaWV3RXhwZXJpbWVu
dGFsOjpwcm94eUF1dGhlbnRpY2F0aW9uRGlhbG9nKCkgY29uc3QKK3sKKyAgICBRX0QoY29uc3Qg
UVF1aWNrV2ViVmlldyk7CisgICAgcmV0dXJuIGQtPnByb3h5QXV0aGVudGljYXRpb25EaWFsb2c7
Cit9CisKK3ZvaWQgUVF1aWNrV2ViVmlld0V4cGVyaW1lbnRhbDo6c2V0UHJveHlBdXRoZW50aWNh
dGlvbkRpYWxvZyhRRGVjbGFyYXRpdmVDb21wb25lbnQqIHByb3h5QXV0aGVudGljYXRpb25EaWFs
b2cpCit7CisgICAgUV9EKFFRdWlja1dlYlZpZXcpOworICAgIGlmIChkLT5wcm94eUF1dGhlbnRp
Y2F0aW9uRGlhbG9nID09IHByb3h5QXV0aGVudGljYXRpb25EaWFsb2cpCisgICAgICAgIHJldHVy
bjsKKyAgICBkLT5wcm94eUF1dGhlbnRpY2F0aW9uRGlhbG9nID0gcHJveHlBdXRoZW50aWNhdGlv
bkRpYWxvZzsKKyAgICBlbWl0IHByb3h5QXV0aGVudGljYXRpb25EaWFsb2dDaGFuZ2VkKCk7Cit9
CiBRRGVjbGFyYXRpdmVDb21wb25lbnQqIFFRdWlja1dlYlZpZXdFeHBlcmltZW50YWw6OmNlcnRp
ZmljYXRlVmVyaWZpY2F0aW9uRGlhbG9nKCkgY29uc3QKIHsKICAgICBRX0QoY29uc3QgUVF1aWNr
V2ViVmlldyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Fx
dWlja3dlYnZpZXdfcC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3
ZWJ2aWV3X3AuaAppbmRleCAxMzI2OGNmOTg4NmU3ZmI1MDFiYjhjOTlkOTc5NjZkOTU3MmY2N2Mz
Li44MDk1Y2QxOWJlNzE1YjE3NTAwYzYzNjE4ZWVkODQyYmE4NTRjMTViIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wLmgKQEAgLTIyNyw2
ICsyMjcsNyBAQCBjbGFzcyBRV0VCS0lUX0VYUE9SVCBRUXVpY2tXZWJWaWV3RXhwZXJpbWVudGFs
IDogcHVibGljIFFPYmplY3QgewogICAgIFFfUFJPUEVSVFkoUURlY2xhcmF0aXZlQ29tcG9uZW50
KiBjb25maXJtRGlhbG9nIFJFQUQgY29uZmlybURpYWxvZyBXUklURSBzZXRDb25maXJtRGlhbG9n
IE5PVElGWSBjb25maXJtRGlhbG9nQ2hhbmdlZCkKICAgICBRX1BST1BFUlRZKFFEZWNsYXJhdGl2
ZUNvbXBvbmVudCogcHJvbXB0RGlhbG9nIFJFQUQgcHJvbXB0RGlhbG9nIFdSSVRFIHNldFByb21w
dERpYWxvZyBOT1RJRlkgcHJvbXB0RGlhbG9nQ2hhbmdlZCkKICAgICBRX1BST1BFUlRZKFFEZWNs
YXJhdGl2ZUNvbXBvbmVudCogYXV0aGVudGljYXRpb25EaWFsb2cgUkVBRCBhdXRoZW50aWNhdGlv
bkRpYWxvZyBXUklURSBzZXRBdXRoZW50aWNhdGlvbkRpYWxvZyBOT1RJRlkgYXV0aGVudGljYXRp
b25EaWFsb2dDaGFuZ2VkKQorICAgIFFfUFJPUEVSVFkoUURlY2xhcmF0aXZlQ29tcG9uZW50KiBw
cm94eUF1dGhlbnRpY2F0aW9uRGlhbG9nIFJFQUQgcHJveHlBdXRoZW50aWNhdGlvbkRpYWxvZyBX
UklURSBzZXRQcm94eUF1dGhlbnRpY2F0aW9uRGlhbG9nIE5PVElGWSBwcm94eUF1dGhlbnRpY2F0
aW9uRGlhbG9nQ2hhbmdlZCkKICAgICBRX1BST1BFUlRZKFFEZWNsYXJhdGl2ZUNvbXBvbmVudCog
Y2VydGlmaWNhdGVWZXJpZmljYXRpb25EaWFsb2cgUkVBRCBjZXJ0aWZpY2F0ZVZlcmlmaWNhdGlv
bkRpYWxvZyBXUklURSBzZXRDZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvbkRpYWxvZyBOT1RJRlkgY2Vy
dGlmaWNhdGVWZXJpZmljYXRpb25EaWFsb2dDaGFuZ2VkKQogICAgIFFfUFJPUEVSVFkoUURlY2xh
cmF0aXZlQ29tcG9uZW50KiBpdGVtU2VsZWN0b3IgUkVBRCBpdGVtU2VsZWN0b3IgV1JJVEUgc2V0
SXRlbVNlbGVjdG9yIE5PVElGWSBpdGVtU2VsZWN0b3JDaGFuZ2VkKQogICAgIFFfUFJPUEVSVFko
UVdlYlByZWZlcmVuY2VzKiBwcmVmZXJlbmNlcyBSRUFEIHByZWZlcmVuY2VzIENPTlNUQU5UIEZJ
TkFMKQpAQCAtMjU0LDYgKzI1NSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldENlcnRpZmljYXRl
VmVyaWZpY2F0aW9uRGlhbG9nKFFEZWNsYXJhdGl2ZUNvbXBvbmVudCopOwogICAgIFFEZWNsYXJh
dGl2ZUNvbXBvbmVudCogaXRlbVNlbGVjdG9yKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRJdGVtU2Vs
ZWN0b3IoUURlY2xhcmF0aXZlQ29tcG9uZW50Kik7CisgICAgUURlY2xhcmF0aXZlQ29tcG9uZW50
KiBwcm94eUF1dGhlbnRpY2F0aW9uRGlhbG9nKCkgY29uc3Q7CisgICAgdm9pZCBzZXRQcm94eUF1
dGhlbnRpY2F0aW9uRGlhbG9nKFFEZWNsYXJhdGl2ZUNvbXBvbmVudCopOwogCiAgICAgUVdlYlZp
ZXdwb3J0SW5mbyogdmlld3BvcnRJbmZvKCk7CiAKQEAgLTMwNSw2ICszMDgsNyBAQCBRX1NJR05B
TFM6CiAgICAgdm9pZCBkb3dubG9hZFJlcXVlc3RlZChRV2ViRG93bmxvYWRJdGVtKiBkb3dubG9h
ZEl0ZW0pOwogICAgIHZvaWQgcGVybWlzc2lvblJlcXVlc3RlZChRV2ViUGVybWlzc2lvblJlcXVl
c3QqIHBlcm1pc3Npb24pOwogICAgIHZvaWQgbWVzc2FnZVJlY2VpdmVkKGNvbnN0IFFWYXJpYW50
TWFwJiBtZXNzYWdlKTsKKyAgICB2b2lkIHByb3h5QXV0aGVudGljYXRpb25EaWFsb2dDaGFuZ2Vk
KCk7CiAKIHByaXZhdGU6CiAgICAgUVF1aWNrV2ViVmlldyogcV9wdHI7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmgKaW5kZXggNTEy
N2QxYjZlYmI5YjQwYzlkNmU4NDRkOWUwZjViYjgyM2ExZjA5NS4uNjM4OGVlNWE3NWI0OTAwZTYz
NzEzMGIxNDNiMzNiNmFkMjlmMjQxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3BfcC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wX3AuaApAQCAtMTAyLDYgKzEwMiw3IEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgaGFuZGxlQXV0aGVudGljYXRpb25SZXF1aXJlZFJlcXVlc3QoY29uc3Qg
UVN0cmluZyYgaG9zdG5hbWUsIGNvbnN0IFFTdHJpbmcmIHJlYWxtLCBjb25zdCBRU3RyaW5nJiBw
cmVmaWxsZWRVc2VybmFtZSwgUVN0cmluZyYgdXNlcm5hbWUsIFFTdHJpbmcmIHBhc3N3b3JkKTsK
ICAgICBib29sIGhhbmRsZUNlcnRpZmljYXRlVmVyaWZpY2F0aW9uUmVxdWVzdChjb25zdCBRU3Ry
aW5nJiBob3N0bmFtZSk7CisgICAgdm9pZCBoYW5kbGVQcm94eUF1dGhlbnRpY2F0aW9uUmVxdWly
ZWRSZXF1ZXN0KGNvbnN0IFFTdHJpbmcmIGhvc3RuYW1lLCB1aW50MTZfdCBwb3J0LCBjb25zdCBR
U3RyaW5nJiBwcmVmaWxsZWRVc2VybmFtZSwgUVN0cmluZyYgdXNlcm5hbWUsIFFTdHJpbmcmIHBh
c3N3b3JkKTsKIAogICAgIHZvaWQgc2V0UmVuZGVyVG9PZmZzY3JlZW5CdWZmZXIoYm9vbCBlbmFi
bGUpIHsgbV9yZW5kZXJUb09mZnNjcmVlbkJ1ZmZlciA9IGVuYWJsZTsgfQogICAgIHZvaWQgc2V0
Vmlld0luQXR0YWNoZWRQcm9wZXJ0aWVzKFFPYmplY3QqKTsKQEAgLTE0NSw2ICsxNDYsNyBAQCBw
cm90ZWN0ZWQ6CiAgICAgUURlY2xhcmF0aXZlQ29tcG9uZW50KiBhdXRoZW50aWNhdGlvbkRpYWxv
ZzsKICAgICBRRGVjbGFyYXRpdmVDb21wb25lbnQqIGNlcnRpZmljYXRlVmVyaWZpY2F0aW9uRGlh
bG9nOwogICAgIFFEZWNsYXJhdGl2ZUNvbXBvbmVudCogaXRlbVNlbGVjdG9yOworICAgIFFEZWNs
YXJhdGl2ZUNvbXBvbmVudCogcHJveHlBdXRoZW50aWNhdGlvbkRpYWxvZzsKIAogICAgIFdlYkNv
cmU6OlZpZXdwb3J0QXJndW1lbnRzIHZpZXdwb3J0QXJndW1lbnRzOwogICAgIFFGaWxlRGlhbG9n
KiBmaWxlRGlhbG9nOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VD
bGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKaW5kZXggYmQ2
MDk2YzkzMzI1MTk3NDNkODVkNDdkYjQ5ZmI3NTAwNzlmNTQ0MS4uNzBkZGYwN2ZhNWU1MGRjZjU3
ZTg5OWI2YmQ4ZDgwZGNmYWI4NjUwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVu
dC5oCkBAIC0xMTEsNiArMTExLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVU
ZXh0SW5wdXRTdGF0ZSgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlQXV0aGVudGljYXRp
b25SZXF1aXJlZFJlcXVlc3QoY29uc3QgU3RyaW5nJiBob3N0bmFtZSwgY29uc3QgU3RyaW5nJiBy
ZWFsbSwgY29uc3QgU3RyaW5nJiBwcmVmaWxsZWRVc2VybmFtZSwgU3RyaW5nJiB1c2VybmFtZSwg
U3RyaW5nJiBwYXNzd29yZCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVDZXJ0aWZpY2F0
ZVZlcmlmaWNhdGlvblJlcXVlc3QoY29uc3QgU3RyaW5nJiBob3N0bmFtZSwgYm9vbCYgaWdub3Jl
RXJyb3JzKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGhhbmRsZVByb3h5QXV0aGVudGljYXRpb25S
ZXF1aXJlZFJlcXVlc3QoY29uc3QgU3RyaW5nJiBob3N0bmFtZSwgdWludDE2X3QgcG9ydCwgY29u
c3QgU3RyaW5nJiBwcmVmaWxsZWRVc2VybmFtZSwgU3RyaW5nJiB1c2VybmFtZSwgU3RyaW5nJiBw
YXNzd29yZCkgPSAwOwogI2VuZGlmIC8vIFBMQVRGT1JNKFFUKS4KIAogI2lmIFBMQVRGT1JNKFFU
KSB8fCBQTEFURk9STShHVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwCmluZGV4IDIzNjJjOWQ1NTAwMzY1NDQ5MTMwZDFhMTk3YTljZjVkZDFhMmEzOWQuLjZjNzZl
YWM2ZjQwY2ZjOWQwMTNhZjA2YWNkNTAxZWFiZTAyNDY1YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0yMzk2LDYgKzIzOTYsMTEgQEAgdm9pZCBXZWJQ
YWdlUHJveHk6OmF1dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0KGNvbnN0IFN0cmluZyYgaG9z
dG5hbWUsIGNvbnN0IFMKICAgICBtX3BhZ2VDbGllbnQtPmhhbmRsZUF1dGhlbnRpY2F0aW9uUmVx
dWlyZWRSZXF1ZXN0KGhvc3RuYW1lLCByZWFsbSwgcHJlZmlsbGVkVXNlcm5hbWUsIHVzZXJuYW1l
LCBwYXNzd29yZCk7CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5Ojpwcm94eUF1dGhlbnRpY2F0aW9u
UmVxdWlyZWRSZXF1ZXN0KGNvbnN0IFN0cmluZyYgaG9zdG5hbWUsIHVpbnQxNl90IHBvcnQsIGNv
bnN0IFN0cmluZyYgcHJlZmlsbGVkVXNlcm5hbWUsIFN0cmluZyYgdXNlcm5hbWUsIFN0cmluZyYg
cGFzc3dvcmQpCit7CisgICAgbV9wYWdlQ2xpZW50LT5oYW5kbGVQcm94eUF1dGhlbnRpY2F0aW9u
UmVxdWlyZWRSZXF1ZXN0KGhvc3RuYW1lLCBwb3J0LCBwcmVmaWxsZWRVc2VybmFtZSwgdXNlcm5h
bWUsIHBhc3N3b3JkKTsKK30KKwogdm9pZCBXZWJQYWdlUHJveHk6OmNlcnRpZmljYXRlVmVyaWZp
Y2F0aW9uUmVxdWVzdChjb25zdCBTdHJpbmcmIGhvc3RuYW1lLCBib29sJiBpZ25vcmVFcnJvcnMp
CiB7CiAgICAgbV9wYWdlQ2xpZW50LT5oYW5kbGVDZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvblJlcXVl
c3QoaG9zdG5hbWUsIGlnbm9yZUVycm9ycyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKaW5kZXggMjYyZWM2YTQ1YTdlNTdjMDllZTRhZTI1YWYzMmQ0MmZmYWI0ZWNjNi4u
ZWYxM2E4ZGIzMzBmMTNhNDg2ZjczNWJmMjNlYWY4ZTQ5NTIxMWVlMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMzIyLDYgKzMyMiw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNlbmRBcHBsaWNhdGlvblNjaGVtZVJlcGx5KGNvbnN0IFFRdWlja05ldHdvcmtSZXBs
eSopOwogICAgIHZvaWQgYXV0aGVudGljYXRpb25SZXF1aXJlZFJlcXVlc3QoY29uc3QgU3RyaW5n
JiBob3N0bmFtZSwgY29uc3QgU3RyaW5nJiByZWFsbSwgY29uc3QgU3RyaW5nJiBwcmVmaWxsZWRV
c2VybmFtZSwgU3RyaW5nJiB1c2VybmFtZSwgU3RyaW5nJiBwYXNzd29yZCk7CiAgICAgdm9pZCBj
ZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvblJlcXVlc3QoY29uc3QgU3RyaW5nJiBob3N0bmFtZSwgYm9v
bCYgaWdub3JlRXJyb3JzKTsKKyAgICB2b2lkIHByb3h5QXV0aGVudGljYXRpb25SZXF1aXJlZFJl
cXVlc3QoY29uc3QgU3RyaW5nJiBob3N0bmFtZSwgdWludDE2X3QgcG9ydCwgY29uc3QgU3RyaW5n
JiBwcmVmaWxsZWRVc2VybmFtZSwgU3RyaW5nJiB1c2VybmFtZSwgU3RyaW5nJiBwYXNzd29yZCk7
CiAjZW5kaWYgLy8gUExBVEZPUk0oUVQpLgogCiAjaWYgUExBVEZPUk0oUVQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCBmZGU4
ZjljYzY4OTBhZWZiOGY0NjYwNDNhNTFkN2ZhNWJiZTA4NjcwLi4wYTVkYTU4N2FjYjUyNWI0YjYx
MGE0YzRkZmZlN2Q3OGQ5Y2M3MzI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTc2LDYgKzc2LDcgQEAgbWVzc2FnZXMgLT4g
V2ViUGFnZVByb3h5IHsKICAgICBEaWRGaW5kWm9vbWFibGVBcmVhKFdlYkNvcmU6OkludFBvaW50
IHRhcmdldCwgV2ViQ29yZTo6SW50UmVjdCBhcmVhKQogICAgIEF1dGhlbnRpY2F0aW9uUmVxdWly
ZWRSZXF1ZXN0KFdURjo6U3RyaW5nIGhvc3RuYW1lLCBXVEY6OlN0cmluZyByZWFsbSwgV1RGOjpT
dHJpbmcgcHJlZmlsbGVkVXNlcm5hbWUpIC0+IChXVEY6OlN0cmluZyB1c2VybmFtZSwgV1RGOjpT
dHJpbmcgcGFzc3dvcmQpCiAgICAgQ2VydGlmaWNhdGVWZXJpZmljYXRpb25SZXF1ZXN0KFdURjo6
U3RyaW5nIGhvc3RuYW1lKSAtPiAoYm9vbCBpZ25vcmVFcnJvcnMpCisgICAgUHJveHlBdXRoZW50
aWNhdGlvblJlcXVpcmVkUmVxdWVzdChXVEY6OlN0cmluZyBob3N0bmFtZSwgdWludDE2X3QgcG9y
dCwgV1RGOjpTdHJpbmcgcHJlZmlsbGVkVXNlcm5hbWUpIC0+IChXVEY6OlN0cmluZyB1c2VybmFt
ZSwgV1RGOjpTdHJpbmcgcGFzc3dvcmQpCiAjZW5kaWYKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRT
KQogICAgIE5lZWRUb3VjaEV2ZW50cyhib29sIG5lZWRUb3VjaEV2ZW50cykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdERpYWxvZ1J1bm5lci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXREaWFsb2dSdW5uZXIuY3BwCmluZGV4IGY3ZTJiODUxNDJi
YmY3YmFhYzI0MzZjMDQwNzEyMTFlMjM2NjYxYTUuLjE2YzY0MjkzNGNiMTg5MWQzODQ0NzMwYmQx
YmQ0Y2UxZDA2MjNkN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9R
dERpYWxvZ1J1bm5lci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0RGlh
bG9nUnVubmVyLmNwcApAQCAtMTAyLDYgKzEwMiwzOSBAQCBwcml2YXRlOgogICAgIFFTdHJpbmcg
bV9wcmVmaWxsZWRVc2VybmFtZTsKIH07CiAKK2NsYXNzIFByb3h5QXV0aGVudGljYXRpb25EaWFs
b2dDb250ZXh0T2JqZWN0IDogcHVibGljIFFPYmplY3QgeworICAgIFFfT0JKRUNUCisgICAgUV9Q
Uk9QRVJUWShRU3RyaW5nIGhvc3RuYW1lIFJFQUQgaG9zdG5hbWUgQ09OU1RBTlQpCisgICAgUV9Q
Uk9QRVJUWShxdWludDE2IHBvcnQgUkVBRCBwb3J0IENPTlNUQU5UKQorICAgIFFfUFJPUEVSVFko
UVN0cmluZyBwcmVmaWxsZWRVc2VybmFtZSBSRUFEIHByZWZpbGxlZFVzZXJuYW1lIENPTlNUQU5U
KQorCitwdWJsaWM6CisgICAgUHJveHlBdXRoZW50aWNhdGlvbkRpYWxvZ0NvbnRleHRPYmplY3Qo
Y29uc3QgUVN0cmluZyYgaG9zdG5hbWUsIHF1aW50MTYgcG9ydCwgY29uc3QgUVN0cmluZyYgcHJl
ZmlsbGVkVXNlcm5hbWUpCisgICAgICAgIDogUU9iamVjdCgpCisgICAgICAgICwgbV9ob3N0bmFt
ZShob3N0bmFtZSkKKyAgICAgICAgLCBtX3BvcnQocG9ydCkKKyAgICAgICAgLCBtX3ByZWZpbGxl
ZFVzZXJuYW1lKHByZWZpbGxlZFVzZXJuYW1lKQorICAgIHsKKyAgICB9CisKKyAgICBRU3RyaW5n
IGhvc3RuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9ob3N0bmFtZTsgfQorICAgIHF1aW50MTYgcG9y
dCgpIGNvbnN0IHsgcmV0dXJuIG1fcG9ydDsgfQorICAgIFFTdHJpbmcgcHJlZmlsbGVkVXNlcm5h
bWUoKSBjb25zdCB7IHJldHVybiBtX3ByZWZpbGxlZFVzZXJuYW1lOyB9CisKK3B1YmxpYyBzbG90
czoKKyAgICB2b2lkIGFjY2VwdChjb25zdCBRU3RyaW5nJiB1c2VybmFtZSwgY29uc3QgUVN0cmlu
ZyYgcGFzc3dvcmQpIHsgZW1pdCBhY2NlcHRlZCh1c2VybmFtZSwgcGFzc3dvcmQpOyB9CisgICAg
dm9pZCByZWplY3QoKSB7IGVtaXQgcmVqZWN0ZWQoKTsgfQorCitzaWduYWxzOgorICAgIHZvaWQg
YWNjZXB0ZWQoY29uc3QgUVN0cmluZyYgdXNlcm5hbWUsIGNvbnN0IFFTdHJpbmcmIHBhc3N3b3Jk
KTsKKyAgICB2b2lkIHJlamVjdGVkKCk7CisKK3ByaXZhdGU6CisgICAgUVN0cmluZyBtX2hvc3Ru
YW1lOworICAgIHF1aW50MTYgbV9wb3J0OworICAgIFFTdHJpbmcgbV9wcmVmaWxsZWRVc2VybmFt
ZTsKK307CisKIGNsYXNzIENlcnRpZmljYXRlVmVyaWZpY2F0aW9uRGlhbG9nQ29udGV4dE9iamVj
dCA6IHB1YmxpYyBRT2JqZWN0IHsKICAgICBRX09CSkVDVAogICAgIFFfUFJPUEVSVFkoUVN0cmlu
ZyBob3N0bmFtZSBSRUFEIGhvc3RuYW1lIENPTlNUQU5UKQpAQCAtMTc0LDYgKzIwNywxOSBAQCBi
b29sIFF0RGlhbG9nUnVubmVyOjppbml0Rm9yQXV0aGVudGljYXRpb24oUURlY2xhcmF0aXZlQ29t
cG9uZW50KiBjb21wb25lbnQsIFFRdQogICAgIHJldHVybiB0cnVlOwogfQogCitib29sIFF0RGlh
bG9nUnVubmVyOjppbml0Rm9yUHJveHlBdXRoZW50aWNhdGlvbihRRGVjbGFyYXRpdmVDb21wb25l
bnQqIGNvbXBvbmVudCwgUVF1aWNrSXRlbSogZGlhbG9nUGFyZW50LCBjb25zdCBRU3RyaW5nJiBo
b3N0bmFtZSwgdWludDE2X3QgcG9ydCwgY29uc3QgUVN0cmluZyYgcHJlZmlsbGVkVXNlcm5hbWUp
Cit7CisgICAgUHJveHlBdXRoZW50aWNhdGlvbkRpYWxvZ0NvbnRleHRPYmplY3QqIGNvbnRleHRP
YmplY3QgPSBuZXcgUHJveHlBdXRoZW50aWNhdGlvbkRpYWxvZ0NvbnRleHRPYmplY3QoaG9zdG5h
bWUsIHBvcnQsIHByZWZpbGxlZFVzZXJuYW1lKTsKKyAgICBpZiAoIWNyZWF0ZURpYWxvZyhjb21w
b25lbnQsIGRpYWxvZ1BhcmVudCwgY29udGV4dE9iamVjdCkpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKworICAgIGNvbm5lY3QoY29udGV4dE9iamVjdCwgU0lHTkFMKGFjY2VwdGVkKFFTdHJpbmcs
IFFTdHJpbmcpKSwgU0xPVChvbkF1dGhlbnRpY2F0aW9uQWNjZXB0ZWQoUVN0cmluZywgUVN0cmlu
ZykpKTsKKyAgICBjb25uZWN0KGNvbnRleHRPYmplY3QsIFNJR05BTChhY2NlcHRlZChRU3RyaW5n
LCBRU3RyaW5nKSksIFNMT1QocXVpdCgpKSk7CisgICAgY29ubmVjdChjb250ZXh0T2JqZWN0LCBT
SUdOQUwocmVqZWN0ZWQoKSksIFNMT1QocXVpdCgpKSk7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30K
KwogYm9vbCBRdERpYWxvZ1J1bm5lcjo6aW5pdEZvckNlcnRpZmljYXRlVmVyaWZpY2F0aW9uKFFE
ZWNsYXJhdGl2ZUNvbXBvbmVudCogY29tcG9uZW50LCBRUXVpY2tJdGVtKiBkaWFsb2dQYXJlbnQs
IGNvbnN0IFFTdHJpbmcmIGhvc3RuYW1lKQogewogICAgIENlcnRpZmljYXRlVmVyaWZpY2F0aW9u
RGlhbG9nQ29udGV4dE9iamVjdCogY29udGV4dE9iamVjdCA9IG5ldyBDZXJ0aWZpY2F0ZVZlcmlm
aWNhdGlvbkRpYWxvZ0NvbnRleHRPYmplY3QoaG9zdG5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0RGlhbG9nUnVubmVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvcXQvUXREaWFsb2dSdW5uZXIuaAppbmRleCA5NmRjZWEyN2Y3NTdjOWU2MzAwNzNl
MjdjODY3ZDk5ZmI5ZDNhOTkzLi43ZmJhY2UxY2U4NDNlOTU2MGQzODBjNjJjZDRlZjdmMmJmMDA5
NjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXREaWFsb2dSdW5u
ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXREaWFsb2dSdW5uZXIuaApA
QCAtNDAsNiArNDAsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpbml0Rm9yUHJvbXB0KFFEZWNsYXJh
dGl2ZUNvbXBvbmVudCosIFFRdWlja0l0ZW0qIGRpYWxvZ1BhcmVudCwgY29uc3QgUVN0cmluZyYg
bWVzc2FnZSwgY29uc3QgUVN0cmluZyYgZGVmYXVsdFZhbHVlKTsKICAgICBib29sIGluaXRGb3JB
dXRoZW50aWNhdGlvbihRRGVjbGFyYXRpdmVDb21wb25lbnQqLCBRUXVpY2tJdGVtKiBkaWFsb2dQ
YXJlbnQsIGNvbnN0IFFTdHJpbmcmIGhvc3RuYW1lLCBjb25zdCBRU3RyaW5nJiByZWFsbSwgY29u
c3QgUVN0cmluZyYgcHJlZmlsbGVkVXNlcm5hbWUpOwogICAgIGJvb2wgaW5pdEZvckNlcnRpZmlj
YXRlVmVyaWZpY2F0aW9uKFFEZWNsYXJhdGl2ZUNvbXBvbmVudCosIFFRdWlja0l0ZW0qLCBjb25z
dCBRU3RyaW5nJiBob3N0bmFtZSk7CisgICAgYm9vbCBpbml0Rm9yUHJveHlBdXRoZW50aWNhdGlv
bihRRGVjbGFyYXRpdmVDb21wb25lbnQqLCBRUXVpY2tJdGVtKiwgY29uc3QgUVN0cmluZyYgaG9z
dG5hbWUsIHVpbnQxNl90IHBvcnQsIGNvbnN0IFFTdHJpbmcmIHByZWZpbGxlZFVzZXJuYW1lKTsK
IAogICAgIFFRdWlja0l0ZW0qIGRpYWxvZygpIGNvbnN0IHsgcmV0dXJuIG1fZGlhbG9nLmdldCgp
OyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFBhZ2VDbGll
bnQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0UGFnZUNsaWVudC5jcHAKaW5k
ZXggY2RjODYzYjYxMGY2OGQ0NDNlYjZlNGZjMmQyMTc3NTAyNzYyNzk5MS4uOGQ2ZWJiYjAzZjZm
M2RmMDlhZGFhY2YyMTkyNTE0MDU3ZGQwM2UwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL3F0L1F0UGFnZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL3F0L1F0UGFnZUNsaWVudC5jcHAKQEAgLTEyMyw2ICsxMjMsMTcgQEAgdm9pZCBRdFBhZ2VD
bGllbnQ6OmhhbmRsZUNlcnRpZmljYXRlVmVyaWZpY2F0aW9uUmVxdWVzdChjb25zdCBTdHJpbmcm
IGhvc3RuYW1lLAogICAgIGlnbm9yZUVycm9ycyA9IFFRdWlja1dlYlZpZXdQcml2YXRlOjpnZXQo
bV93ZWJWaWV3KS0+aGFuZGxlQ2VydGlmaWNhdGVWZXJpZmljYXRpb25SZXF1ZXN0KGhvc3RuYW1l
KTsKIH0KIAordm9pZCBRdFBhZ2VDbGllbnQ6OmhhbmRsZVByb3h5QXV0aGVudGljYXRpb25SZXF1
aXJlZFJlcXVlc3QoY29uc3QgU3RyaW5nJiBob3N0bmFtZSwgdWludDE2X3QgcG9ydCwgY29uc3Qg
U3RyaW5nJiBwcmVmaWxsZWRVc2VybmFtZSwgU3RyaW5nJiB1c2VybmFtZSwgU3RyaW5nJiBwYXNz
d29yZCkKK3sKKyAgICBRU3RyaW5nIHFVc2VybmFtZTsKKyAgICBRU3RyaW5nIHFQYXNzd29yZDsK
KworICAgIFFRdWlja1dlYlZpZXdQcml2YXRlOjpnZXQobV93ZWJWaWV3KS0+aGFuZGxlUHJveHlB
dXRoZW50aWNhdGlvblJlcXVpcmVkUmVxdWVzdChob3N0bmFtZSwgcG9ydCwgcHJlZmlsbGVkVXNl
cm5hbWUsIHFVc2VybmFtZSwgcVBhc3N3b3JkKTsKKworICAgIHVzZXJuYW1lID0gcVVzZXJuYW1l
OworICAgIHBhc3N3b3JkID0gcVBhc3N3b3JkOworfQorCiB2b2lkIFF0UGFnZUNsaWVudDo6c2V0
Q3Vyc29yKGNvbnN0IFdlYkNvcmU6OkN1cnNvciYgY3Vyc29yKQogewogICAgIC8vIEZJWE1FOiBU
aGlzIGlzIGEgdGVtcG9yYXJ5IGZpeCB1bnRpbCB3ZSBnZXQgY3Vyc29yIHN1cHBvcnQgaW4gUU1M
IGl0ZW1zLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0UGFnZUNs
aWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0UGFnZUNsaWVudC5oCmluZGV4
IDQzMDUwZjUwMmI5NzJhODFjZDg5NzZhMDQ1YzFlZDZiNGYxODEzZDEuLmY0ZmZhMThhZDRmNjFh
ZTU2MWI1YTBkODU0NzMxMWE4NDk3NzFkNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9xdC9RdFBhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
cXQvUXRQYWdlQ2xpZW50LmgKQEAgLTU2LDYgKzU2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
dm9pZCBoYW5kbGVBcHBsaWNhdGlvblNjaGVtZVJlcXVlc3QoUGFzc1JlZlB0cjxRdFJlZkNvdW50
ZWROZXR3b3JrUmVxdWVzdERhdGE+KTsKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlQXV0aGVudGlj
YXRpb25SZXF1aXJlZFJlcXVlc3QoY29uc3QgU3RyaW5nJiBob3N0bmFtZSwgY29uc3QgU3RyaW5n
JiByZWFsbSwgY29uc3QgU3RyaW5nJiBwcmVmaWxsZWRVc2VybmFtZSwgU3RyaW5nJiB1c2VybmFt
ZSwgU3RyaW5nJiBwYXNzd29yZCk7CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZUNlcnRpZmljYXRl
VmVyaWZpY2F0aW9uUmVxdWVzdChjb25zdCBTdHJpbmcmIGhvc3RuYW1lLCBib29sJiBpZ25vcmVF
cnJvcnMpOworICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVQcm94eUF1dGhlbnRpY2F0aW9uUmVxdWly
ZWRSZXF1ZXN0KGNvbnN0IFN0cmluZyYgaG9zdG5hbWUsIHVpbnQxNl90IHBvcnQsIGNvbnN0IFN0
cmluZyYgcHJlZmlsbGVkVXNlcm5hbWUsIFN0cmluZyYgdXNlcm5hbWUsIFN0cmluZyYgcGFzc3dv
cmQpOwogCiAgICAgdmlydHVhbCB2b2lkIGRpc3BsYXlWaWV3KCk7CiAgICAgdmlydHVhbCB2b2lk
IHNjcm9sbFZpZXcoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgc2Nyb2xsUmVjdCwgY29uc3QgV2Vi
Q29yZTo6SW50U2l6ZSYgc2Nyb2xsT2Zmc2V0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9EZWNvZGVyQWRhcHRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvRGVjb2RlckFkYXB0ZXIuY3BwCmluZGV4IDE5MDgzZDZhZDQ2ODNm
OTY5NTljODgwMGFhNmJkNTgzOGU0MWJkZTEuLjc2MzMwNWNiZWI5Mzk0ODcyNTNmODZlZmJlYTkz
ZGU1NjBlYzI4OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9EZWNvZGVyQWRhcHRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0RlY29kZXJBZGFwdGVyLmNwcApAQCAtNTIsNiArNTIsMTEgQEAgYm9vbCBEZWNvZGVyQWRh
cHRlcjo6ZGVjb2RlQm9vbChib29sJiB2YWx1ZSkKICAgICByZXR1cm4gbV9kZWNvZGVyLmRlY29k
ZUJvb2wodmFsdWUpOwogfQogCitib29sIERlY29kZXJBZGFwdGVyOjpkZWNvZGVVSW50MTYodWlu
dDE2X3QmIHZhbHVlKQoreworICAgIHJldHVybiBtX2RlY29kZXIuZGVjb2RlVUludDE2KHZhbHVl
KTsKK30KKwogYm9vbCBEZWNvZGVyQWRhcHRlcjo6ZGVjb2RlVUludDMyKHVpbnQzMl90JiB2YWx1
ZSkKIHsKICAgICByZXR1cm4gbV9kZWNvZGVyLmRlY29kZVVJbnQzMih2YWx1ZSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRGVjb2RlckFkYXB0ZXIuaCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EZWNvZGVyQWRhcHRlci5oCmluZGV4
IGJkMzRlYThkMzkzMDIyOWFiY2U3NzE5ZWVjMmM1YzUzYWY3Y2VlZmYuLmQ2YjRlYjc2NmFmMTZh
MTgyOWNmOTU2ZmQ5NzQ2NWU4YzlkYzRhNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9EZWNvZGVyQWRhcHRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9EZWNvZGVyQWRhcHRlci5oCkBAIC0zOSw2ICszOSw3IEBAIHB1Ymxp
YzoKIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIGRlY29kZUJ5dGVzKFZlY3Rvcjx1aW50OF90
PiYpOwogICAgIHZpcnR1YWwgYm9vbCBkZWNvZGVCb29sKGJvb2wmKTsKKyAgICB2aXJ0dWFsIGJv
b2wgZGVjb2RlVUludDE2KHVpbnQxNl90Jik7CiAgICAgdmlydHVhbCBib29sIGRlY29kZVVJbnQz
Mih1aW50MzJfdCYpOwogICAgIHZpcnR1YWwgYm9vbCBkZWNvZGVVSW50NjQodWludDY0X3QmKTsK
ICAgICB2aXJ0dWFsIGJvb2wgZGVjb2RlSW50MzIoaW50MzJfdCYpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0VuY29kZXJBZGFwdGVyLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9FbmNvZGVyQWRhcHRlci5jcHAKaW5kZXggMWYw
ZTEzYzcxY2NjNTY1MWMxY2E5NzE1NjE3YzYzNTQ5ZDllZjBmNi4uYmRhN2Q5YjcyZjJmZDAxMjM5
YTdlMzJlZDZmNDg0YTkxODUzNTJiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0VuY29kZXJBZGFwdGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvRW5jb2RlckFkYXB0ZXIuY3BwCkBAIC01Miw2ICs1MiwxMSBAQCB2b2lk
IEVuY29kZXJBZGFwdGVyOjplbmNvZGVCb29sKGJvb2wgdmFsdWUpCiAgICAgbV9lbmNvZGVyLT5l
bmNvZGVCb29sKHZhbHVlKTsKIH0KIAordm9pZCBFbmNvZGVyQWRhcHRlcjo6ZW5jb2RlVUludDE2
KHVpbnQxNl90IHZhbHVlKQoreworICAgIG1fZW5jb2Rlci0+ZW5jb2RlVUludDE2KHZhbHVlKTsK
K30KKwogdm9pZCBFbmNvZGVyQWRhcHRlcjo6ZW5jb2RlVUludDMyKHVpbnQzMl90IHZhbHVlKQog
ewogICAgIG1fZW5jb2Rlci0+ZW5jb2RlVUludDMyKHZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9FbmNvZGVyQWRhcHRlci5oIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0VuY29kZXJBZGFwdGVyLmgKaW5kZXggNDdkZTdhZmQ1
YmU2NWQzN2U0MDEwNmVhYTM0ZjEwZDljNGQ4MWE2Yy4uNjMyMWNmNTEzYmI0ZWFmNzg0MWY1NmUz
MGZkNGIwOGY1ZWQ1YWVjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0VuY29kZXJBZGFwdGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0VuY29kZXJBZGFwdGVyLmgKQEAgLTQ2LDYgKzQ2LDcgQEAgcHVibGljOgogcHJpdmF0
ZToKICAgICB2aXJ0dWFsIHZvaWQgZW5jb2RlQnl0ZXMoY29uc3QgdWludDhfdCosIHNpemVfdCk7
CiAgICAgdmlydHVhbCB2b2lkIGVuY29kZUJvb2woYm9vbCk7CisgICAgdmlydHVhbCB2b2lkIGVu
Y29kZVVJbnQxNih1aW50MTZfdCB2YWx1ZSk7CiAgICAgdmlydHVhbCB2b2lkIGVuY29kZVVJbnQz
Mih1aW50MzJfdCk7CiAgICAgdmlydHVhbCB2b2lkIGVuY29kZVVJbnQ2NCh1aW50NjRfdCk7CiAg
ICAgdmlydHVhbCB2b2lkIGVuY29kZUludDMyKGludDMyX3QpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9xdC9RdE5ldHdvcmtBY2Nlc3NNYW5hZ2VyLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvcXQvUXROZXR3b3JrQWNjZXNzTWFuYWdlci5jcHAKaW5kZXgg
MjhlZmMwYzgyMzNjMGJlZDg1YzE0YTUwMjc4ZDBiYTIwNzJmMDc5Zi4uNWM0ZGI5YTE0M2M5ODQ3
NWVhYzY0MjIyZDkwYzRhYWEwY2E0ODlhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9xdC9RdE5ldHdvcmtBY2Nlc3NNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL3F0L1F0TmV0d29ya0FjY2Vzc01hbmFnZXIuY3BwCkBAIC0zMyw2ICszMyw3
IEBACiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJQcm9j
ZXNzLmgiCiAjaW5jbHVkZSA8UUF1dGhlbnRpY2F0b3I+CisjaW5jbHVkZSA8UU5ldHdvcmtQcm94
eT4KICNpbmNsdWRlIDxRTmV0d29ya1JlcGx5PgogI2luY2x1ZGUgPFFOZXR3b3JrUmVxdWVzdD4K
IApAQCAtNzMsNiArNzQsMjcgQEAgdm9pZCBRdE5ldHdvcmtBY2Nlc3NNYW5hZ2VyOjpyZWdpc3Rl
ckFwcGxpY2F0aW9uU2NoZW1lKGNvbnN0IFdlYlBhZ2UqIHBhZ2UsIGNvbnMKICAgICBtX2FwcGxp
Y2F0aW9uU2NoZW1lcy5pbnNlcnQocGFnZSwgc2NoZW1lLnRvTG93ZXIoKSk7CiB9CiAKK3ZvaWQg
UXROZXR3b3JrQWNjZXNzTWFuYWdlcjo6b25Qcm94eUF1dGhlbnRpY2F0aW9uUmVxdWlyZWQoUU5l
dHdvcmtSZXBseSogcmVwbHksIFFBdXRoZW50aWNhdG9yKiBhdXRoZW50aWNhdG9yKQoreworICAg
IFdlYlBhZ2UqIHdlYlBhZ2UgPSBvYnRhaW5PcmlnaW5hdGluZ1dlYlBhZ2UocmVwbHktPnJlcXVl
c3QoKSk7CisKKyAgICBTdHJpbmcgaG9zdG5hbWUgPSBwcm94eSgpLmhvc3ROYW1lKCk7CisgICAg
dWludDE2X3QgcG9ydCA9IHN0YXRpY19jYXN0PHVpbnQxNl90Pihwcm94eSgpLnBvcnQoKSk7Cisg
ICAgU3RyaW5nIHByZWZpbGxlZFVzZXJuYW1lID0gYXV0aGVudGljYXRvci0+dXNlcigpOworICAg
IFN0cmluZyB1c2VybmFtZTsKKyAgICBTdHJpbmcgcGFzc3dvcmQ7CisKKyAgICBpZiAod2ViUGFn
ZS0+c2VuZFN5bmMoCisgICAgICAgICBNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpQcm94eUF1dGhl
bnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0KGhvc3RuYW1lLCBwb3J0LCBwcmVmaWxsZWRVc2VybmFt
ZSksCisgICAgICAgICBNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpQcm94eUF1dGhlbnRpY2F0aW9u
UmVxdWlyZWRSZXF1ZXN0OjpSZXBseSh1c2VybmFtZSwgcGFzc3dvcmQpKSkgeworICAgICAgICAg
aWYgKCF1c2VybmFtZS5pc0VtcHR5KCkpCisgICAgICAgICAgICAgYXV0aGVudGljYXRvci0+c2V0
VXNlcih1c2VybmFtZSk7CisgICAgICAgICBpZiAoIXBhc3N3b3JkLmlzRW1wdHkoKSkKKyAgICAg
ICAgICAgICBhdXRoZW50aWNhdG9yLT5zZXRQYXNzd29yZChwYXNzd29yZCk7CisgICAgIH0KKwor
fQorCiB2b2lkIFF0TmV0d29ya0FjY2Vzc01hbmFnZXI6Om9uQXV0aGVudGljYXRpb25SZXF1aXJl
ZChRTmV0d29ya1JlcGx5KiByZXBseSwgUUF1dGhlbnRpY2F0b3IqIGF1dGhlbnRpY2F0b3IpCiB7
CiAgICAgV2ViUGFnZSogd2ViUGFnZSA9IG9idGFpbk9yaWdpbmF0aW5nV2ViUGFnZShyZXBseS0+
cmVxdWVzdCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvcXQvUXRO
ZXR3b3JrQWNjZXNzTWFuYWdlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9xdC9RdE5l
dHdvcmtBY2Nlc3NNYW5hZ2VyLmgKaW5kZXggODQ2MjIxZWI3ZjVlYjljMGI1OWU5NGYzN2ZhMmZh
MTUyMTY0YzUxNC4uZGM4MmE4YTc0ZjE0M2NiMGYyZDBkYzVlYmNmMDUzNmM4OTA0NTE0MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9xdC9RdE5ldHdvcmtBY2Nlc3NNYW5h
Z2VyLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9xdC9RdE5ldHdvcmtBY2Nlc3NN
YW5hZ2VyLmgKQEAgLTQ3LDYgKzQ3LDcgQEAgcHJvdGVjdGVkOgogCiBwcml2YXRlIFFfU0xPVFM6
CiAgICAgdm9pZCBvbkF1dGhlbnRpY2F0aW9uUmVxdWlyZWQoUU5ldHdvcmtSZXBseSAqLCBRQXV0
aGVudGljYXRvciAqKTsKKyAgICB2b2lkIG9uUHJveHlBdXRoZW50aWNhdGlvblJlcXVpcmVkKFFO
ZXR3b3JrUmVwbHkgKiwgUUF1dGhlbnRpY2F0b3IgKik7CiAgICAgdm9pZCBvblNzbEVycm9ycyhR
TmV0d29ya1JlcGx5KiwgY29uc3QgUUxpc3Q8UVNzbEVycm9yPiYpOwogCiBwcml2YXRlOgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127802</attachid>
            <date>2012-02-20 03:54:03 -0800</date>
            <delta_ts>2012-02-22 05:53:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78792-20120220125401.patch</filename>
            <type>text/plain</type>
            <size>26883</size>
            <attacher name="Michael Brüning">michael.bruning</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4MDUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMGEyZmU2NGFiYmExMzEw
NjQzMGNjY2VmODdhNDA5NTg4OGQ5N2RjZi4uMjI3ZmVmYjYwYWJiMTMyMTRhNmQzZTA0ZTYzNmVk
NDg3NTllOGM2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg0IEBACisyMDEyLTAyLTIwICBNaWNo
YWVsIEJyw7xuaW5nICA8bWljaGFlbC5icnVuaW5nQG5va2lhLmNvbT4KKworICAgICAgICBbUXRd
W1dLMl0gSW1wbGVtZW50IHByb3h5IGF1dGhlbnRpY2F0aW9uIGhhbmRsaW5nLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg3OTIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGltcGxlbWVu
dHMgdGhlIHByb3h5IGF1dGhlbnRpY2F0aW9uIGhhbmRsaW5nCisgICAgICAgIGZvciB0aGUgUXQg
cG9ydCBpbiBhIHNpbWlsYXIgbWF0dGVyIHRvIHRoZSBodHRwIGF1dGhlbnRpY2F0aW9uCisgICAg
ICAgIGltcGxlbWVudGF0aW9uLgorCisgICAgICAgIFNpbmNlIHRoZXJlIGlzIGEgbmVlZCB0byBw
YXNzIHRoZSBwcm94eSBwb3J0LCB3aGljaCBpcyBvZiB0eXBlIHVpbnQxNl90LAorICAgICAgICBm
cm9tIHRoZSBXZWJQcm9jZXNzIHRvIHRoZSBVSVByb2Nlc3MsIGFuIGVuY29kZXIgYW5kIGEgZGVj
b2RlciBmb3IKKyAgICAgICAgdGhpcyB0eXBlIHdhcyBhZGRlZCBiZWNhdXNlIGl0IGRpZCBub3Qg
ZXhpc3QuCisgICAgICAgIAorICAgICAgICBUaGUgbWVzc2FnZSB0aGF0IHdhcyBhZGRlZCB0byB0
aGUgV2ViUGFnZVByb3h5IGlzIGNhbGxlZCBzeW5jaHJvbm91c2x5CisgICAgICAgIGFzIHRoaXMg
aXMgbmVlZGVkIGJ5IHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgbmV0d29yayBhY2Nlc3MgbWFu
YWdlcgorICAgICAgICBhbmQgaGFzIGFsc28gYmVlbiBpbXBsZW1lbnRlZCB0aGlzIHdheSBhbHJl
YWR5IGZvciB0aGUgaHR0cCAKKyAgICAgICAgYXV0aGVudGljYXRpb24uCisKKyAgICAgICAgKiBQ
bGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RGVjb2Rlci5jcHA6CisgICAgICAgIChDb3JlSVBDOjpB
cmd1bWVudERlY29kZXI6OmRlY29kZVVJbnQxNik6CisgICAgICAgIChDb3JlSVBDKToKKyAgICAg
ICAgKiBQbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RGVjb2Rlci5oOgorICAgICAgICAoQXJndW1l
bnREZWNvZGVyKToKKyAgICAgICAgKENvcmVJUEM6OkFyZ3VtZW50RGVjb2Rlcjo6ZGVjb2RlKToK
KyAgICAgICAgKENvcmVJUEMpOgorICAgICAgICAqIFBsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRF
bmNvZGVyLmNwcDoKKyAgICAgICAgKENvcmVJUEM6OkFyZ3VtZW50RW5jb2Rlcjo6ZW5jb2RlVUlu
dDE2KToKKyAgICAgICAgKENvcmVJUEMpOgorICAgICAgICAqIFBsYXRmb3JtL0NvcmVJUEMvQXJn
dW1lbnRFbmNvZGVyLmg6CisgICAgICAgIChBcmd1bWVudEVuY29kZXIpOgorICAgICAgICAoQ29y
ZUlQQzo6QXJndW1lbnRFbmNvZGVyOjplbmNvZGUpOgorICAgICAgICAoQ29yZUlQQyk6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKFFRdWlj
a1dlYlZpZXdQcml2YXRlOjpRUXVpY2tXZWJWaWV3UHJpdmF0ZSk6CisgICAgICAgIChRUXVpY2tX
ZWJWaWV3UHJpdmF0ZTo6aGFuZGxlUHJveHlBdXRoZW50aWNhdGlvblJlcXVpcmVkUmVxdWVzdCk6
CisgICAgICAgIChRUXVpY2tXZWJWaWV3RXhwZXJpbWVudGFsOjpwcm94eUF1dGhlbnRpY2F0aW9u
RGlhbG9nKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXdFeHBlcmltZW50YWw6OnNldFByb3h5QXV0
aGVudGljYXRpb25EaWFsb2cpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vi
dmlld19wLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3BfcC5o
OgorICAgICAgICAoUVF1aWNrV2ViVmlld1ByaXZhdGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Q
YWdlQ2xpZW50Lmg6CisgICAgICAgIChQYWdlQ2xpZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpwcm94eUF1
dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0KToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAoV2ViUGFnZVByb3h5KToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9xdC9RdERpYWxvZ1J1bm5lci5jcHA6CisgICAgICAgIChQcm94eUF1dGhlbnRpY2F0
aW9uRGlhbG9nQ29udGV4dE9iamVjdCk6CisgICAgICAgIChQcm94eUF1dGhlbnRpY2F0aW9uRGlh
bG9nQ29udGV4dE9iamVjdDo6UHJveHlBdXRoZW50aWNhdGlvbkRpYWxvZ0NvbnRleHRPYmplY3Qp
OgorICAgICAgICAoUHJveHlBdXRoZW50aWNhdGlvbkRpYWxvZ0NvbnRleHRPYmplY3Q6Omhvc3Ru
YW1lKToKKyAgICAgICAgKFByb3h5QXV0aGVudGljYXRpb25EaWFsb2dDb250ZXh0T2JqZWN0Ojpw
b3J0KToKKyAgICAgICAgKFByb3h5QXV0aGVudGljYXRpb25EaWFsb2dDb250ZXh0T2JqZWN0Ojpw
cmVmaWxsZWRVc2VybmFtZSk6CisgICAgICAgIChQcm94eUF1dGhlbnRpY2F0aW9uRGlhbG9nQ29u
dGV4dE9iamVjdDo6YWNjZXB0KToKKyAgICAgICAgKFByb3h5QXV0aGVudGljYXRpb25EaWFsb2dD
b250ZXh0T2JqZWN0OjpyZWplY3QpOgorICAgICAgICAoUXREaWFsb2dSdW5uZXI6OmluaXRGb3JQ
cm94eUF1dGhlbnRpY2F0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvUXREaWFsb2dSdW5u
ZXIuaDoKKyAgICAgICAgKFF0RGlhbG9nUnVubmVyKToKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQv
UXRQYWdlQ2xpZW50LmNwcDoKKyAgICAgICAgKFF0UGFnZUNsaWVudDo6aGFuZGxlUHJveHlBdXRo
ZW50aWNhdGlvblJlcXVpcmVkUmVxdWVzdCk6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0UGFn
ZUNsaWVudC5oOgorICAgICAgICAoUXRQYWdlQ2xpZW50KToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvRGVjb2RlckFkYXB0ZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpEZWNvZGVyQWRh
cHRlcjo6ZGVjb2RlVUludDE2KToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL0RlY29kZXJBZGFwdGVyLmg6CisgICAgICAgIChEZWNvZGVyQWRhcHRlcik6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0VuY29kZXJBZGFwdGVyLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6RW5jb2RlckFkYXB0ZXI6OmVuY29kZVVJbnQxNik6CisgICAgICAgIChXZWJL
aXQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9FbmNvZGVyQWRhcHRlci5oOgorICAg
ICAgICAoRW5jb2RlckFkYXB0ZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvcXQvUXROZXR3b3Jr
QWNjZXNzTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlF0TmV0d29ya0FjY2Vzc01hbmFn
ZXI6Om9uUHJveHlBdXRoZW50aWNhdGlvblJlcXVpcmVkKToKKyAgICAgICAgKFdlYktpdCk6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9xdC9RdE5ldHdvcmtBY2Nlc3NNYW5hZ2VyLmg6CisgICAgICAg
IChRdE5ldHdvcmtBY2Nlc3NNYW5hZ2VyKToKKwogMjAxMi0wMi0xNiAgQ2FybG9zIEdhcmNpYSBD
YW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gTWFrZSBzdXJlIHBy
aW50IG9wZXJhdGlvbiBvYmplY3QgaXMgYWxpdmUgdW50aWwgcHJpbnRpbmcgZmluaXNoZXMgaW4g
V2ViS2l0MgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1
bWVudERlY29kZXIuY3BwIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVu
dERlY29kZXIuY3BwCmluZGV4IDQ4ZGE3NDRkZTFkMTcxOWVhMGUyZGViYzYyYWIyNmRmZjNmYTcx
NDQuLmY0OTA3NmE2ZGMzMDY5NmEzYzQ4Nzg4MjU2Nzg3NTk0MDVjMTdhNWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnREZWNvZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RGVjb2Rlci5jcHAKQEAg
LTE0MSw2ICsxNDEsMTYgQEAgYm9vbCBBcmd1bWVudERlY29kZXI6OmRlY29kZUJvb2woYm9vbCYg
cmVzdWx0KQogICAgIHJldHVybiB0cnVlOwogfQogCitib29sIEFyZ3VtZW50RGVjb2Rlcjo6ZGVj
b2RlVUludDE2KHVpbnQxNl90JiByZXN1bHQpCit7CisgICAgaWYgKCFhbGlnbkJ1ZmZlclBvc2l0
aW9uKHNpemVvZihyZXN1bHQpLCBzaXplb2YocmVzdWx0KSkpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKworICAgIHJlc3VsdCA9ICpyZWludGVycHJldF9jYXN0PHVpbnQxNl90Kj4obV9idWZmZXJQ
b3MpOworICAgIG1fYnVmZmVyUG9zICs9IHNpemVvZihyZXN1bHQpOworICAgIHJldHVybiB0cnVl
OworfQorCiBib29sIEFyZ3VtZW50RGVjb2Rlcjo6ZGVjb2RlVUludDMyKHVpbnQzMl90JiByZXN1
bHQpCiB7CiAgICAgaWYgKCFhbGlnbkJ1ZmZlclBvc2l0aW9uKHNpemVvZihyZXN1bHQpLCBzaXpl
b2YocmVzdWx0KSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBD
L0FyZ3VtZW50RGVjb2Rlci5oIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1
bWVudERlY29kZXIuaAppbmRleCA3ODZlM2Q2OTNlOWVlYTU1Mzk3MTY3MThhNDE5NWYxM2FhMGY1
ZGU2Li41M2Y5ZjhjNmMwYzVlMjM1OTAzYTU1MzI0NTU5YjRkN2JlOTE5MzAyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RGVjb2Rlci5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnREZWNvZGVyLmgKQEAgLTUz
LDYgKzUzLDcgQEAgcHVibGljOgogICAgIGJvb2wgZGVjb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJy
YXkoRGF0YVJlZmVyZW5jZSYpOwogCiAgICAgYm9vbCBkZWNvZGVCb29sKGJvb2wmKTsKKyAgICBi
b29sIGRlY29kZVVJbnQxNih1aW50MTZfdCYpOwogICAgIGJvb2wgZGVjb2RlVUludDMyKHVpbnQz
Ml90Jik7CiAgICAgYm9vbCBkZWNvZGVVSW50NjQodWludDY0X3QmKTsKICAgICBib29sIGRlY29k
ZUludDMyKGludDMyX3QmKTsKQEAgLTEyNiw2ICsxMjcsMTEgQEAgdGVtcGxhdGU8PiBpbmxpbmUg
Ym9vbCBBcmd1bWVudERlY29kZXI6OmRlY29kZShib29sJiBuKQogICAgIHJldHVybiBkZWNvZGVC
b29sKG4pOwogfQogCit0ZW1wbGF0ZTw+IGlubGluZSBib29sIEFyZ3VtZW50RGVjb2Rlcjo6ZGVj
b2RlKHVpbnQxNl90JiBuKQoreworICAgIHJldHVybiBkZWNvZGVVSW50MTYobik7Cit9CisKIHRl
bXBsYXRlPD4gaW5saW5lIGJvb2wgQXJndW1lbnREZWNvZGVyOjpkZWNvZGUodWludDMyX3QmIG4p
CiB7CiAgICAgcmV0dXJuIGRlY29kZVVJbnQzMihuKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRFbmNvZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRFbmNvZGVyLmNwcAppbmRleCBhNmM0NGVhNDE1ODJh
ZWQzZmZiODMwOGNiOWI0YWRiZDA1ZDA5NGFhLi42NGMyMDQ4Y2YzMjAyOTJhMzJhZmNkYTY5MTRm
NTk2ZjQyM2Q4YTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBD
L0FyZ3VtZW50RW5jb2Rlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQ
Qy9Bcmd1bWVudEVuY29kZXIuY3BwCkBAIC0xMTUsNiArMTE1LDEzIEBAIHZvaWQgQXJndW1lbnRF
bmNvZGVyOjplbmNvZGVCb29sKGJvb2wgbikKICAgICAqcmVpbnRlcnByZXRfY2FzdDxib29sKj4o
YnVmZmVyKSA9IG47CiB9CiAKK3ZvaWQgQXJndW1lbnRFbmNvZGVyOjplbmNvZGVVSW50MTYodWlu
dDE2X3QgbikKK3sKKyAgICB1aW50OF90KiBidWZmZXIgPSBncm93KHNpemVvZihuKSwgc2l6ZW9m
KG4pKTsKKworICAgICpyZWludGVycHJldF9jYXN0PHVpbnQxNl90Kj4oYnVmZmVyKSA9IG47Cit9
CisKIHZvaWQgQXJndW1lbnRFbmNvZGVyOjplbmNvZGVVSW50MzIodWludDMyX3QgbikKIHsKICAg
ICB1aW50OF90KiBidWZmZXIgPSBncm93KHNpemVvZihuKSwgc2l6ZW9mKG4pKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRFbmNvZGVyLmggYi9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RW5jb2Rlci5oCmluZGV4IGJl
YjU3MDNkYjZlMjUwMmFmYjc2Y2FhYjExZDRkYjg5ZGY4NThjYjIuLmI3MzRkNzUzMTlhOTQyNWEz
OTNmZDk3Y2I2ODFiOTM0YmEwNzE1MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL0NvcmVJUEMvQXJndW1lbnRFbmNvZGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZv
cm0vQ29yZUlQQy9Bcmd1bWVudEVuY29kZXIuaApAQCAtNDYsNiArNDYsNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBlbmNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheShjb25zdCBEYXRhUmVmZXJlbmNl
Jik7CiAKICAgICB2b2lkIGVuY29kZUJvb2woYm9vbCk7CisgICAgdm9pZCBlbmNvZGVVSW50MTYo
dWludDE2X3QpOwogICAgIHZvaWQgZW5jb2RlVUludDMyKHVpbnQzMl90KTsKICAgICB2b2lkIGVu
Y29kZVVJbnQ2NCh1aW50NjRfdCk7CiAgICAgdm9pZCBlbmNvZGVJbnQzMihpbnQzMl90KTsKQEAg
LTk0LDYgKzk1LDExIEBAIHRlbXBsYXRlPD4gaW5saW5lIHZvaWQgQXJndW1lbnRFbmNvZGVyOjpl
bmNvZGUoY29uc3QgYm9vbCYgbikKICAgICBlbmNvZGVCb29sKG4pOwogfQogCit0ZW1wbGF0ZTw+
IGlubGluZSB2b2lkIEFyZ3VtZW50RW5jb2Rlcjo6ZW5jb2RlKGNvbnN0IHVpbnQxNl90JiBuKQor
eworICAgIGVuY29kZVVJbnQxNihuKTsKK30KKwogdGVtcGxhdGU8PiBpbmxpbmUgdm9pZCBBcmd1
bWVudEVuY29kZXI6OmVuY29kZShjb25zdCB1aW50MzJfdCYgbikKIHsKICAgICBlbmNvZGVVSW50
MzIobik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlj
a3dlYnZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2
aWV3LmNwcAppbmRleCA2OWI4ZDVjMzdjYjY3MmRiYzhkZDcwOGZkYWUxNDcyOTAwM2IzYjIxLi4w
OTI0NTkyMTBiOWFhYjIwZjAzODg4YjgyOGVmMWU4YmJjYTczNTNmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAKQEAgLTc0LDYgKzc0
LDcgQEAgUVF1aWNrV2ViVmlld1ByaXZhdGU6OlFRdWlja1dlYlZpZXdQcml2YXRlKFFRdWlja1dl
YlZpZXcqIHZpZXdwb3J0KQogICAgICwgYXV0aGVudGljYXRpb25EaWFsb2coMCkKICAgICAsIGNl
cnRpZmljYXRlVmVyaWZpY2F0aW9uRGlhbG9nKDApCiAgICAgLCBpdGVtU2VsZWN0b3IoMCkKKyAg
ICAsIHByb3h5QXV0aGVudGljYXRpb25EaWFsb2coMCkKICAgICAsIHVzZXJEaWRPdmVycmlkZUNv
bnRlbnRXaWR0aChmYWxzZSkKICAgICAsIHVzZXJEaWRPdmVycmlkZUNvbnRlbnRIZWlnaHQoZmFs
c2UpCiAgICAgLCBtX25hdmlnYXRvclF0T2JqZWN0RW5hYmxlZChmYWxzZSkKQEAgLTMxMSw2ICsz
MTIsMjUgQEAgdm9pZCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6aGFuZGxlQXV0aGVudGljYXRpb25S
ZXF1aXJlZFJlcXVlc3QoY29uc3QgUVN0cmluZyYgaG8KICAgICBwYXNzd29yZCA9IGRpYWxvZ1J1
bm5lci5wYXNzd29yZCgpOwogfQogCit2b2lkIFFRdWlja1dlYlZpZXdQcml2YXRlOjpoYW5kbGVQ
cm94eUF1dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0KGNvbnN0IFFTdHJpbmcmIGhvc3RuYW1l
LCB1aW50MTZfdCBwb3J0LCBjb25zdCBRU3RyaW5nJiBwcmVmaWxsZWRVc2VybmFtZSwgUVN0cmlu
ZyYgdXNlcm5hbWUsIFFTdHJpbmcmIHBhc3N3b3JkKQoreworICAgIGlmICghcHJveHlBdXRoZW50
aWNhdGlvbkRpYWxvZykKKyAgICAgICAgcmV0dXJuOworCisgICAgUV9RKFFRdWlja1dlYlZpZXcp
OworICAgIFF0RGlhbG9nUnVubmVyIGRpYWxvZ1J1bm5lcjsKKyAgICBpZiAoIWRpYWxvZ1J1bm5l
ci5pbml0Rm9yUHJveHlBdXRoZW50aWNhdGlvbihwcm94eUF1dGhlbnRpY2F0aW9uRGlhbG9nLCBx
LCBob3N0bmFtZSwgcG9ydCwgcHJlZmlsbGVkVXNlcm5hbWUpKQorICAgICAgICByZXR1cm47CisK
KyAgICBzZXRWaWV3SW5BdHRhY2hlZFByb3BlcnRpZXMoZGlhbG9nUnVubmVyLmRpYWxvZygpKTsK
KyAgICBkaXNhYmxlTW91c2VFdmVudHMoKTsKKyAgICBkaWFsb2dSdW5uZXIuZXhlYygpOworICAg
IGVuYWJsZU1vdXNlRXZlbnRzKCk7CisKKyAgICB1c2VybmFtZSA9IGRpYWxvZ1J1bm5lci51c2Vy
bmFtZSgpOworICAgIHBhc3N3b3JkID0gZGlhbG9nUnVubmVyLnBhc3N3b3JkKCk7Cit9CisKIGJv
b2wgUVF1aWNrV2ViVmlld1ByaXZhdGU6OmhhbmRsZUNlcnRpZmljYXRlVmVyaWZpY2F0aW9uUmVx
dWVzdChjb25zdCBRU3RyaW5nJiBob3N0bmFtZSkKIHsKICAgICBpZiAoIWNlcnRpZmljYXRlVmVy
aWZpY2F0aW9uRGlhbG9nKQpAQCAtODQyLDYgKzg2MiwyMCBAQCB2b2lkIFFRdWlja1dlYlZpZXdF
eHBlcmltZW50YWw6OnNldEF1dGhlbnRpY2F0aW9uRGlhbG9nKFFEZWNsYXJhdGl2ZUNvbXBvbmVu
dCogYQogICAgIGVtaXQgYXV0aGVudGljYXRpb25EaWFsb2dDaGFuZ2VkKCk7CiB9CiAKK1FEZWNs
YXJhdGl2ZUNvbXBvbmVudCogUVF1aWNrV2ViVmlld0V4cGVyaW1lbnRhbDo6cHJveHlBdXRoZW50
aWNhdGlvbkRpYWxvZygpIGNvbnN0Cit7CisgICAgUV9EKGNvbnN0IFFRdWlja1dlYlZpZXcpOwor
ICAgIHJldHVybiBkLT5wcm94eUF1dGhlbnRpY2F0aW9uRGlhbG9nOworfQorCit2b2lkIFFRdWlj
a1dlYlZpZXdFeHBlcmltZW50YWw6OnNldFByb3h5QXV0aGVudGljYXRpb25EaWFsb2coUURlY2xh
cmF0aXZlQ29tcG9uZW50KiBwcm94eUF1dGhlbnRpY2F0aW9uRGlhbG9nKQoreworICAgIFFfRChR
UXVpY2tXZWJWaWV3KTsKKyAgICBpZiAoZC0+cHJveHlBdXRoZW50aWNhdGlvbkRpYWxvZyA9PSBw
cm94eUF1dGhlbnRpY2F0aW9uRGlhbG9nKQorICAgICAgICByZXR1cm47CisgICAgZC0+cHJveHlB
dXRoZW50aWNhdGlvbkRpYWxvZyA9IHByb3h5QXV0aGVudGljYXRpb25EaWFsb2c7CisgICAgZW1p
dCBwcm94eUF1dGhlbnRpY2F0aW9uRGlhbG9nQ2hhbmdlZCgpOworfQogUURlY2xhcmF0aXZlQ29t
cG9uZW50KiBRUXVpY2tXZWJWaWV3RXhwZXJpbWVudGFsOjpjZXJ0aWZpY2F0ZVZlcmlmaWNhdGlv
bkRpYWxvZygpIGNvbnN0CiB7CiAgICAgUV9EKGNvbnN0IFFRdWlja1dlYlZpZXcpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wLmgKaW5kZXgg
MTMyNjhjZjk4ODZlN2ZiNTAxYmI4Yzk5ZDk3OTY2ZDk1NzJmNjdjMy4uODA5NWNkMTliZTcxNWIx
NzUwMGM2MzYxOGVlZDg0MmJhODU0YzE1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcC5oCkBAIC0yMjcsNiArMjI3LDcgQEAgY2xhc3Mg
UVdFQktJVF9FWFBPUlQgUVF1aWNrV2ViVmlld0V4cGVyaW1lbnRhbCA6IHB1YmxpYyBRT2JqZWN0
IHsKICAgICBRX1BST1BFUlRZKFFEZWNsYXJhdGl2ZUNvbXBvbmVudCogY29uZmlybURpYWxvZyBS
RUFEIGNvbmZpcm1EaWFsb2cgV1JJVEUgc2V0Q29uZmlybURpYWxvZyBOT1RJRlkgY29uZmlybURp
YWxvZ0NoYW5nZWQpCiAgICAgUV9QUk9QRVJUWShRRGVjbGFyYXRpdmVDb21wb25lbnQqIHByb21w
dERpYWxvZyBSRUFEIHByb21wdERpYWxvZyBXUklURSBzZXRQcm9tcHREaWFsb2cgTk9USUZZIHBy
b21wdERpYWxvZ0NoYW5nZWQpCiAgICAgUV9QUk9QRVJUWShRRGVjbGFyYXRpdmVDb21wb25lbnQq
IGF1dGhlbnRpY2F0aW9uRGlhbG9nIFJFQUQgYXV0aGVudGljYXRpb25EaWFsb2cgV1JJVEUgc2V0
QXV0aGVudGljYXRpb25EaWFsb2cgTk9USUZZIGF1dGhlbnRpY2F0aW9uRGlhbG9nQ2hhbmdlZCkK
KyAgICBRX1BST1BFUlRZKFFEZWNsYXJhdGl2ZUNvbXBvbmVudCogcHJveHlBdXRoZW50aWNhdGlv
bkRpYWxvZyBSRUFEIHByb3h5QXV0aGVudGljYXRpb25EaWFsb2cgV1JJVEUgc2V0UHJveHlBdXRo
ZW50aWNhdGlvbkRpYWxvZyBOT1RJRlkgcHJveHlBdXRoZW50aWNhdGlvbkRpYWxvZ0NoYW5nZWQp
CiAgICAgUV9QUk9QRVJUWShRRGVjbGFyYXRpdmVDb21wb25lbnQqIGNlcnRpZmljYXRlVmVyaWZp
Y2F0aW9uRGlhbG9nIFJFQUQgY2VydGlmaWNhdGVWZXJpZmljYXRpb25EaWFsb2cgV1JJVEUgc2V0
Q2VydGlmaWNhdGVWZXJpZmljYXRpb25EaWFsb2cgTk9USUZZIGNlcnRpZmljYXRlVmVyaWZpY2F0
aW9uRGlhbG9nQ2hhbmdlZCkKICAgICBRX1BST1BFUlRZKFFEZWNsYXJhdGl2ZUNvbXBvbmVudCog
aXRlbVNlbGVjdG9yIFJFQUQgaXRlbVNlbGVjdG9yIFdSSVRFIHNldEl0ZW1TZWxlY3RvciBOT1RJ
RlkgaXRlbVNlbGVjdG9yQ2hhbmdlZCkKICAgICBRX1BST1BFUlRZKFFXZWJQcmVmZXJlbmNlcyog
cHJlZmVyZW5jZXMgUkVBRCBwcmVmZXJlbmNlcyBDT05TVEFOVCBGSU5BTCkKQEAgLTI1NCw2ICsy
NTUsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRDZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvbkRpYWxv
ZyhRRGVjbGFyYXRpdmVDb21wb25lbnQqKTsKICAgICBRRGVjbGFyYXRpdmVDb21wb25lbnQqIGl0
ZW1TZWxlY3RvcigpIGNvbnN0OwogICAgIHZvaWQgc2V0SXRlbVNlbGVjdG9yKFFEZWNsYXJhdGl2
ZUNvbXBvbmVudCopOworICAgIFFEZWNsYXJhdGl2ZUNvbXBvbmVudCogcHJveHlBdXRoZW50aWNh
dGlvbkRpYWxvZygpIGNvbnN0OworICAgIHZvaWQgc2V0UHJveHlBdXRoZW50aWNhdGlvbkRpYWxv
ZyhRRGVjbGFyYXRpdmVDb21wb25lbnQqKTsKIAogICAgIFFXZWJWaWV3cG9ydEluZm8qIHZpZXdw
b3J0SW5mbygpOwogCkBAIC0zMDUsNiArMzA4LDcgQEAgUV9TSUdOQUxTOgogICAgIHZvaWQgZG93
bmxvYWRSZXF1ZXN0ZWQoUVdlYkRvd25sb2FkSXRlbSogZG93bmxvYWRJdGVtKTsKICAgICB2b2lk
IHBlcm1pc3Npb25SZXF1ZXN0ZWQoUVdlYlBlcm1pc3Npb25SZXF1ZXN0KiBwZXJtaXNzaW9uKTsK
ICAgICB2b2lkIG1lc3NhZ2VSZWNlaXZlZChjb25zdCBRVmFyaWFudE1hcCYgbWVzc2FnZSk7Cisg
ICAgdm9pZCBwcm94eUF1dGhlbnRpY2F0aW9uRGlhbG9nQ2hhbmdlZCgpOwogCiBwcml2YXRlOgog
ICAgIFFRdWlja1dlYlZpZXcqIHFfcHRyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3BfcC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3BfcC5oCmluZGV4IDUxMjdkMWI2ZWJiOWI0MGM5ZDZl
ODQ0ZDllMGY1YmI4MjNhMWYwOTUuLjYzODhlZTVhNzViNDkwMGU2MzcxMzBiMTQzYjMzYjZhZDI5
ZjI0MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNr
d2Vidmlld19wX3AuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlj
a3dlYnZpZXdfcF9wLmgKQEAgLTEwMiw2ICsxMDIsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGhh
bmRsZUF1dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0KGNvbnN0IFFTdHJpbmcmIGhvc3RuYW1l
LCBjb25zdCBRU3RyaW5nJiByZWFsbSwgY29uc3QgUVN0cmluZyYgcHJlZmlsbGVkVXNlcm5hbWUs
IFFTdHJpbmcmIHVzZXJuYW1lLCBRU3RyaW5nJiBwYXNzd29yZCk7CiAgICAgYm9vbCBoYW5kbGVD
ZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvblJlcXVlc3QoY29uc3QgUVN0cmluZyYgaG9zdG5hbWUpOwor
ICAgIHZvaWQgaGFuZGxlUHJveHlBdXRoZW50aWNhdGlvblJlcXVpcmVkUmVxdWVzdChjb25zdCBR
U3RyaW5nJiBob3N0bmFtZSwgdWludDE2X3QgcG9ydCwgY29uc3QgUVN0cmluZyYgcHJlZmlsbGVk
VXNlcm5hbWUsIFFTdHJpbmcmIHVzZXJuYW1lLCBRU3RyaW5nJiBwYXNzd29yZCk7CiAKICAgICB2
b2lkIHNldFJlbmRlclRvT2Zmc2NyZWVuQnVmZmVyKGJvb2wgZW5hYmxlKSB7IG1fcmVuZGVyVG9P
ZmZzY3JlZW5CdWZmZXIgPSBlbmFibGU7IH0KICAgICB2b2lkIHNldFZpZXdJbkF0dGFjaGVkUHJv
cGVydGllcyhRT2JqZWN0Kik7CkBAIC0xNDUsNiArMTQ2LDcgQEAgcHJvdGVjdGVkOgogICAgIFFE
ZWNsYXJhdGl2ZUNvbXBvbmVudCogYXV0aGVudGljYXRpb25EaWFsb2c7CiAgICAgUURlY2xhcmF0
aXZlQ29tcG9uZW50KiBjZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvbkRpYWxvZzsKICAgICBRRGVjbGFy
YXRpdmVDb21wb25lbnQqIGl0ZW1TZWxlY3RvcjsKKyAgICBRRGVjbGFyYXRpdmVDb21wb25lbnQq
IHByb3h5QXV0aGVudGljYXRpb25EaWFsb2c7CiAKICAgICBXZWJDb3JlOjpWaWV3cG9ydEFyZ3Vt
ZW50cyB2aWV3cG9ydEFyZ3VtZW50czsKICAgICBRRmlsZURpYWxvZyogZmlsZURpYWxvZzsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCmluZGV4IGJkNjA5NmM5MzMyNTE5NzQzZDg1
ZDQ3ZGI0OWZiNzUwMDc5ZjU0NDEuLjcwZGRmMDdmYTVlNTBkY2Y1N2U4OTliNmJkOGQ4MGRjZmFi
ODY1MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApAQCAtMTExLDYgKzEx
MSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlVGV4dElucHV0U3RhdGUoKSA9
IDA7CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZUF1dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0
KGNvbnN0IFN0cmluZyYgaG9zdG5hbWUsIGNvbnN0IFN0cmluZyYgcmVhbG0sIGNvbnN0IFN0cmlu
ZyYgcHJlZmlsbGVkVXNlcm5hbWUsIFN0cmluZyYgdXNlcm5hbWUsIFN0cmluZyYgcGFzc3dvcmQp
ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlQ2VydGlmaWNhdGVWZXJpZmljYXRpb25SZXF1
ZXN0KGNvbnN0IFN0cmluZyYgaG9zdG5hbWUsIGJvb2wmIGlnbm9yZUVycm9ycykgPSAwOworICAg
IHZpcnR1YWwgdm9pZCBoYW5kbGVQcm94eUF1dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0KGNv
bnN0IFN0cmluZyYgaG9zdG5hbWUsIHVpbnQxNl90IHBvcnQsIGNvbnN0IFN0cmluZyYgcHJlZmls
bGVkVXNlcm5hbWUsIFN0cmluZyYgdXNlcm5hbWUsIFN0cmluZyYgcGFzc3dvcmQpID0gMDsKICNl
bmRpZiAvLyBQTEFURk9STShRVCkuCiAKICNpZiBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oR1RL
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA3MmYxNjBi
OGJkZWY5NGY1ZWNmZTViNmVkZWRlYjMwYjkwMTQzODVhLi4yZmNmZjBiM2MyOGY2NzU2MDc4NzRm
ODFmNTQ4ZWMwODYxODZmZDRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcApAQCAtMjM5Niw2ICsyMzk2LDExIEBAIHZvaWQgV2ViUGFnZVByb3h5OjphdXRoZW50
aWNhdGlvblJlcXVpcmVkUmVxdWVzdChjb25zdCBTdHJpbmcmIGhvc3RuYW1lLCBjb25zdCBTCiAg
ICAgbV9wYWdlQ2xpZW50LT5oYW5kbGVBdXRoZW50aWNhdGlvblJlcXVpcmVkUmVxdWVzdChob3N0
bmFtZSwgcmVhbG0sIHByZWZpbGxlZFVzZXJuYW1lLCB1c2VybmFtZSwgcGFzc3dvcmQpOwogfQog
Cit2b2lkIFdlYlBhZ2VQcm94eTo6cHJveHlBdXRoZW50aWNhdGlvblJlcXVpcmVkUmVxdWVzdChj
b25zdCBTdHJpbmcmIGhvc3RuYW1lLCB1aW50MTZfdCBwb3J0LCBjb25zdCBTdHJpbmcmIHByZWZp
bGxlZFVzZXJuYW1lLCBTdHJpbmcmIHVzZXJuYW1lLCBTdHJpbmcmIHBhc3N3b3JkKQoreworICAg
IG1fcGFnZUNsaWVudC0+aGFuZGxlUHJveHlBdXRoZW50aWNhdGlvblJlcXVpcmVkUmVxdWVzdCho
b3N0bmFtZSwgcG9ydCwgcHJlZmlsbGVkVXNlcm5hbWUsIHVzZXJuYW1lLCBwYXNzd29yZCk7Cit9
CisKIHZvaWQgV2ViUGFnZVByb3h5OjpjZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvblJlcXVlc3QoY29u
c3QgU3RyaW5nJiBob3N0bmFtZSwgYm9vbCYgaWdub3JlRXJyb3JzKQogewogICAgIG1fcGFnZUNs
aWVudC0+aGFuZGxlQ2VydGlmaWNhdGVWZXJpZmljYXRpb25SZXF1ZXN0KGhvc3RuYW1lLCBpZ25v
cmVFcnJvcnMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDI2
MmVjNmE0NWE3ZTU3YzA5ZWU0YWUyNWFmMzJkNDJmZmFiNGVjYzYuLmVmMTNhOGRiMzMwZjEzYTQ4
NmY3MzViZjIzZWFmOGU0OTUyMTFlZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKQEAgLTMyMiw2ICszMjIsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZW5kQXBwbGlj
YXRpb25TY2hlbWVSZXBseShjb25zdCBRUXVpY2tOZXR3b3JrUmVwbHkqKTsKICAgICB2b2lkIGF1
dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0KGNvbnN0IFN0cmluZyYgaG9zdG5hbWUsIGNvbnN0
IFN0cmluZyYgcmVhbG0sIGNvbnN0IFN0cmluZyYgcHJlZmlsbGVkVXNlcm5hbWUsIFN0cmluZyYg
dXNlcm5hbWUsIFN0cmluZyYgcGFzc3dvcmQpOwogICAgIHZvaWQgY2VydGlmaWNhdGVWZXJpZmlj
YXRpb25SZXF1ZXN0KGNvbnN0IFN0cmluZyYgaG9zdG5hbWUsIGJvb2wmIGlnbm9yZUVycm9ycyk7
CisgICAgdm9pZCBwcm94eUF1dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0KGNvbnN0IFN0cmlu
ZyYgaG9zdG5hbWUsIHVpbnQxNl90IHBvcnQsIGNvbnN0IFN0cmluZyYgcHJlZmlsbGVkVXNlcm5h
bWUsIFN0cmluZyYgdXNlcm5hbWUsIFN0cmluZyYgcGFzc3dvcmQpOwogI2VuZGlmIC8vIFBMQVRG
T1JNKFFUKS4KIAogI2lmIFBMQVRGT1JNKFFUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggZmRlOGY5Y2M2ODkwYWVmYjhmNDY2
MDQzYTUxZDdmYTViYmUwODY3MC4uMGE1ZGE1ODdhY2I1MjViNGI2MTBhNGM0ZGZmZTdkNzhkOWNj
NzMyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5t
ZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluCkBAIC03Niw2ICs3Niw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAg
ICAgRGlkRmluZFpvb21hYmxlQXJlYShXZWJDb3JlOjpJbnRQb2ludCB0YXJnZXQsIFdlYkNvcmU6
OkludFJlY3QgYXJlYSkKICAgICBBdXRoZW50aWNhdGlvblJlcXVpcmVkUmVxdWVzdChXVEY6OlN0
cmluZyBob3N0bmFtZSwgV1RGOjpTdHJpbmcgcmVhbG0sIFdURjo6U3RyaW5nIHByZWZpbGxlZFVz
ZXJuYW1lKSAtPiAoV1RGOjpTdHJpbmcgdXNlcm5hbWUsIFdURjo6U3RyaW5nIHBhc3N3b3JkKQog
ICAgIENlcnRpZmljYXRlVmVyaWZpY2F0aW9uUmVxdWVzdChXVEY6OlN0cmluZyBob3N0bmFtZSkg
LT4gKGJvb2wgaWdub3JlRXJyb3JzKQorICAgIFByb3h5QXV0aGVudGljYXRpb25SZXF1aXJlZFJl
cXVlc3QoV1RGOjpTdHJpbmcgaG9zdG5hbWUsIHVpbnQxNl90IHBvcnQsIFdURjo6U3RyaW5nIHBy
ZWZpbGxlZFVzZXJuYW1lKSAtPiAoV1RGOjpTdHJpbmcgdXNlcm5hbWUsIFdURjo6U3RyaW5nIHBh
c3N3b3JkKQogI2VuZGlmCiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKICAgICBOZWVkVG91Y2hF
dmVudHMoYm9vbCBuZWVkVG91Y2hFdmVudHMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvcXQvUXREaWFsb2dSdW5uZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L3F0L1F0RGlhbG9nUnVubmVyLmNwcAppbmRleCBmN2UyYjg1MTQyYmJmN2JhYWMyNDM2YzA0MDcx
MjExZTIzNjY2MWE1Li4xNmM2NDI5MzRjYjE4OTFkMzg0NDczMGJkMWJkNGNlMWQwNjIzZDdmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXREaWFsb2dSdW5uZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdERpYWxvZ1J1bm5lci5jcHAKQEAg
LTEwMiw2ICsxMDIsMzkgQEAgcHJpdmF0ZToKICAgICBRU3RyaW5nIG1fcHJlZmlsbGVkVXNlcm5h
bWU7CiB9OwogCitjbGFzcyBQcm94eUF1dGhlbnRpY2F0aW9uRGlhbG9nQ29udGV4dE9iamVjdCA6
IHB1YmxpYyBRT2JqZWN0IHsKKyAgICBRX09CSkVDVAorICAgIFFfUFJPUEVSVFkoUVN0cmluZyBo
b3N0bmFtZSBSRUFEIGhvc3RuYW1lIENPTlNUQU5UKQorICAgIFFfUFJPUEVSVFkocXVpbnQxNiBw
b3J0IFJFQUQgcG9ydCBDT05TVEFOVCkKKyAgICBRX1BST1BFUlRZKFFTdHJpbmcgcHJlZmlsbGVk
VXNlcm5hbWUgUkVBRCBwcmVmaWxsZWRVc2VybmFtZSBDT05TVEFOVCkKKworcHVibGljOgorICAg
IFByb3h5QXV0aGVudGljYXRpb25EaWFsb2dDb250ZXh0T2JqZWN0KGNvbnN0IFFTdHJpbmcmIGhv
c3RuYW1lLCBxdWludDE2IHBvcnQsIGNvbnN0IFFTdHJpbmcmIHByZWZpbGxlZFVzZXJuYW1lKQor
ICAgICAgICA6IFFPYmplY3QoKQorICAgICAgICAsIG1faG9zdG5hbWUoaG9zdG5hbWUpCisgICAg
ICAgICwgbV9wb3J0KHBvcnQpCisgICAgICAgICwgbV9wcmVmaWxsZWRVc2VybmFtZShwcmVmaWxs
ZWRVc2VybmFtZSkKKyAgICB7CisgICAgfQorCisgICAgUVN0cmluZyBob3N0bmFtZSgpIGNvbnN0
IHsgcmV0dXJuIG1faG9zdG5hbWU7IH0KKyAgICBxdWludDE2IHBvcnQoKSBjb25zdCB7IHJldHVy
biBtX3BvcnQ7IH0KKyAgICBRU3RyaW5nIHByZWZpbGxlZFVzZXJuYW1lKCkgY29uc3QgeyByZXR1
cm4gbV9wcmVmaWxsZWRVc2VybmFtZTsgfQorCitwdWJsaWMgc2xvdHM6CisgICAgdm9pZCBhY2Nl
cHQoY29uc3QgUVN0cmluZyYgdXNlcm5hbWUsIGNvbnN0IFFTdHJpbmcmIHBhc3N3b3JkKSB7IGVt
aXQgYWNjZXB0ZWQodXNlcm5hbWUsIHBhc3N3b3JkKTsgfQorICAgIHZvaWQgcmVqZWN0KCkgeyBl
bWl0IHJlamVjdGVkKCk7IH0KKworc2lnbmFsczoKKyAgICB2b2lkIGFjY2VwdGVkKGNvbnN0IFFT
dHJpbmcmIHVzZXJuYW1lLCBjb25zdCBRU3RyaW5nJiBwYXNzd29yZCk7CisgICAgdm9pZCByZWpl
Y3RlZCgpOworCitwcml2YXRlOgorICAgIFFTdHJpbmcgbV9ob3N0bmFtZTsKKyAgICBxdWludDE2
IG1fcG9ydDsKKyAgICBRU3RyaW5nIG1fcHJlZmlsbGVkVXNlcm5hbWU7Cit9OworCiBjbGFzcyBD
ZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvbkRpYWxvZ0NvbnRleHRPYmplY3QgOiBwdWJsaWMgUU9iamVj
dCB7CiAgICAgUV9PQkpFQ1QKICAgICBRX1BST1BFUlRZKFFTdHJpbmcgaG9zdG5hbWUgUkVBRCBo
b3N0bmFtZSBDT05TVEFOVCkKQEAgLTE3NCw2ICsyMDcsMTkgQEAgYm9vbCBRdERpYWxvZ1J1bm5l
cjo6aW5pdEZvckF1dGhlbnRpY2F0aW9uKFFEZWNsYXJhdGl2ZUNvbXBvbmVudCogY29tcG9uZW50
LCBRUXUKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBRdERpYWxvZ1J1bm5lcjo6aW5pdEZv
clByb3h5QXV0aGVudGljYXRpb24oUURlY2xhcmF0aXZlQ29tcG9uZW50KiBjb21wb25lbnQsIFFR
dWlja0l0ZW0qIGRpYWxvZ1BhcmVudCwgY29uc3QgUVN0cmluZyYgaG9zdG5hbWUsIHVpbnQxNl90
IHBvcnQsIGNvbnN0IFFTdHJpbmcmIHByZWZpbGxlZFVzZXJuYW1lKQoreworICAgIFByb3h5QXV0
aGVudGljYXRpb25EaWFsb2dDb250ZXh0T2JqZWN0KiBjb250ZXh0T2JqZWN0ID0gbmV3IFByb3h5
QXV0aGVudGljYXRpb25EaWFsb2dDb250ZXh0T2JqZWN0KGhvc3RuYW1lLCBwb3J0LCBwcmVmaWxs
ZWRVc2VybmFtZSk7CisgICAgaWYgKCFjcmVhdGVEaWFsb2coY29tcG9uZW50LCBkaWFsb2dQYXJl
bnQsIGNvbnRleHRPYmplY3QpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBjb25uZWN0
KGNvbnRleHRPYmplY3QsIFNJR05BTChhY2NlcHRlZChRU3RyaW5nLCBRU3RyaW5nKSksIFNMT1Qo
b25BdXRoZW50aWNhdGlvbkFjY2VwdGVkKFFTdHJpbmcsIFFTdHJpbmcpKSk7CisgICAgY29ubmVj
dChjb250ZXh0T2JqZWN0LCBTSUdOQUwoYWNjZXB0ZWQoUVN0cmluZywgUVN0cmluZykpLCBTTE9U
KHF1aXQoKSkpOworICAgIGNvbm5lY3QoY29udGV4dE9iamVjdCwgU0lHTkFMKHJlamVjdGVkKCkp
LCBTTE9UKHF1aXQoKSkpOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKIGJvb2wgUXREaWFsb2dS
dW5uZXI6OmluaXRGb3JDZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvbihRRGVjbGFyYXRpdmVDb21wb25l
bnQqIGNvbXBvbmVudCwgUVF1aWNrSXRlbSogZGlhbG9nUGFyZW50LCBjb25zdCBRU3RyaW5nJiBo
b3N0bmFtZSkKIHsKICAgICBDZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvbkRpYWxvZ0NvbnRleHRPYmpl
Y3QqIGNvbnRleHRPYmplY3QgPSBuZXcgQ2VydGlmaWNhdGVWZXJpZmljYXRpb25EaWFsb2dDb250
ZXh0T2JqZWN0KGhvc3RuYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9xdC9RdERpYWxvZ1J1bm5lci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0RGlh
bG9nUnVubmVyLmgKaW5kZXggOTZkY2VhMjdmNzU3YzllNjMwMDczZTI3Yzg2N2Q5OWZiOWQzYTk5
My4uN2ZiYWNlMWNlODQzZTk1NjBkMzgwYzYyY2Q0ZWY3ZjJiZjAwOTY1MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0RGlhbG9nUnVubmVyLmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0RGlhbG9nUnVubmVyLmgKQEAgLTQwLDYgKzQwLDcgQEAg
cHVibGljOgogICAgIGJvb2wgaW5pdEZvclByb21wdChRRGVjbGFyYXRpdmVDb21wb25lbnQqLCBR
UXVpY2tJdGVtKiBkaWFsb2dQYXJlbnQsIGNvbnN0IFFTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFFT
dHJpbmcmIGRlZmF1bHRWYWx1ZSk7CiAgICAgYm9vbCBpbml0Rm9yQXV0aGVudGljYXRpb24oUURl
Y2xhcmF0aXZlQ29tcG9uZW50KiwgUVF1aWNrSXRlbSogZGlhbG9nUGFyZW50LCBjb25zdCBRU3Ry
aW5nJiBob3N0bmFtZSwgY29uc3QgUVN0cmluZyYgcmVhbG0sIGNvbnN0IFFTdHJpbmcmIHByZWZp
bGxlZFVzZXJuYW1lKTsKICAgICBib29sIGluaXRGb3JDZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvbihR
RGVjbGFyYXRpdmVDb21wb25lbnQqLCBRUXVpY2tJdGVtKiwgY29uc3QgUVN0cmluZyYgaG9zdG5h
bWUpOworICAgIGJvb2wgaW5pdEZvclByb3h5QXV0aGVudGljYXRpb24oUURlY2xhcmF0aXZlQ29t
cG9uZW50KiwgUVF1aWNrSXRlbSosIGNvbnN0IFFTdHJpbmcmIGhvc3RuYW1lLCB1aW50MTZfdCBw
b3J0LCBjb25zdCBRU3RyaW5nJiBwcmVmaWxsZWRVc2VybmFtZSk7CiAKICAgICBRUXVpY2tJdGVt
KiBkaWFsb2coKSBjb25zdCB7IHJldHVybiBtX2RpYWxvZy5nZXQoKTsgfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRQYWdlQ2xpZW50LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFBhZ2VDbGllbnQuY3BwCmluZGV4IGNkYzg2M2I2MTBmNjhk
NDQzZWI2ZTRmYzJkMjE3NzUwMjc2Mjc5OTEuLjhkNmViYmIwM2Y2ZjNkZjA5YWRhYWNmMjE5MjUx
NDA1N2RkMDNlMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFBh
Z2VDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFBhZ2VDbGll
bnQuY3BwCkBAIC0xMjMsNiArMTIzLDE3IEBAIHZvaWQgUXRQYWdlQ2xpZW50OjpoYW5kbGVDZXJ0
aWZpY2F0ZVZlcmlmaWNhdGlvblJlcXVlc3QoY29uc3QgU3RyaW5nJiBob3N0bmFtZSwKICAgICBp
Z25vcmVFcnJvcnMgPSBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6Z2V0KG1fd2ViVmlldyktPmhhbmRs
ZUNlcnRpZmljYXRlVmVyaWZpY2F0aW9uUmVxdWVzdChob3N0bmFtZSk7CiB9CiAKK3ZvaWQgUXRQ
YWdlQ2xpZW50OjpoYW5kbGVQcm94eUF1dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0KGNvbnN0
IFN0cmluZyYgaG9zdG5hbWUsIHVpbnQxNl90IHBvcnQsIGNvbnN0IFN0cmluZyYgcHJlZmlsbGVk
VXNlcm5hbWUsIFN0cmluZyYgdXNlcm5hbWUsIFN0cmluZyYgcGFzc3dvcmQpCit7CisgICAgUVN0
cmluZyBxVXNlcm5hbWU7CisgICAgUVN0cmluZyBxUGFzc3dvcmQ7CisKKyAgICBRUXVpY2tXZWJW
aWV3UHJpdmF0ZTo6Z2V0KG1fd2ViVmlldyktPmhhbmRsZVByb3h5QXV0aGVudGljYXRpb25SZXF1
aXJlZFJlcXVlc3QoaG9zdG5hbWUsIHBvcnQsIHByZWZpbGxlZFVzZXJuYW1lLCBxVXNlcm5hbWUs
IHFQYXNzd29yZCk7CisKKyAgICB1c2VybmFtZSA9IHFVc2VybmFtZTsKKyAgICBwYXNzd29yZCA9
IHFQYXNzd29yZDsKK30KKwogdm9pZCBRdFBhZ2VDbGllbnQ6OnNldEN1cnNvcihjb25zdCBXZWJD
b3JlOjpDdXJzb3ImIGN1cnNvcikKIHsKICAgICAvLyBGSVhNRTogVGhpcyBpcyBhIHRlbXBvcmFy
eSBmaXggdW50aWwgd2UgZ2V0IGN1cnNvciBzdXBwb3J0IGluIFFNTCBpdGVtcy4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFBhZ2VDbGllbnQuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFBhZ2VDbGllbnQuaAppbmRleCA0MzA1MGY1MDJiOTcyYTgx
Y2Q4OTc2YTA0NWMxZWQ2YjRmMTgxM2QxLi5mNGZmYTE4YWQ0ZjYxYWU1NjFiNWEwZDg1NDczMTFh
ODQ5NzcxZDVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRQYWdl
Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0UGFnZUNsaWVudC5o
CkBAIC01Niw2ICs1Niw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlQXBwbGlj
YXRpb25TY2hlbWVSZXF1ZXN0KFBhc3NSZWZQdHI8UXRSZWZDb3VudGVkTmV0d29ya1JlcXVlc3RE
YXRhPik7CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZUF1dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1
ZXN0KGNvbnN0IFN0cmluZyYgaG9zdG5hbWUsIGNvbnN0IFN0cmluZyYgcmVhbG0sIGNvbnN0IFN0
cmluZyYgcHJlZmlsbGVkVXNlcm5hbWUsIFN0cmluZyYgdXNlcm5hbWUsIFN0cmluZyYgcGFzc3dv
cmQpOwogICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVDZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvblJlcXVl
c3QoY29uc3QgU3RyaW5nJiBob3N0bmFtZSwgYm9vbCYgaWdub3JlRXJyb3JzKTsKKyAgICB2aXJ0
dWFsIHZvaWQgaGFuZGxlUHJveHlBdXRoZW50aWNhdGlvblJlcXVpcmVkUmVxdWVzdChjb25zdCBT
dHJpbmcmIGhvc3RuYW1lLCB1aW50MTZfdCBwb3J0LCBjb25zdCBTdHJpbmcmIHByZWZpbGxlZFVz
ZXJuYW1lLCBTdHJpbmcmIHVzZXJuYW1lLCBTdHJpbmcmIHBhc3N3b3JkKTsKIAogICAgIHZpcnR1
YWwgdm9pZCBkaXNwbGF5VmlldygpOwogICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxWaWV3KGNvbnN0
IFdlYkNvcmU6OkludFJlY3QmIHNjcm9sbFJlY3QsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHNj
cm9sbE9mZnNldCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvRGVjb2RlckFkYXB0ZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L0RlY29kZXJBZGFwdGVyLmNwcAppbmRleCAxOTA4M2Q2YWQ0NjgzZjk2OTU5Yzg4MDBhYTZiZDU4
MzhlNDFiZGUxLi43NjMzMDVjYmViOTM5NDg3MjUzZjg2ZWZiZWE5M2RlNTYwZWMyODhiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRGVjb2RlckFkYXB0ZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EZWNvZGVyQWRhcHRl
ci5jcHAKQEAgLTUyLDYgKzUyLDExIEBAIGJvb2wgRGVjb2RlckFkYXB0ZXI6OmRlY29kZUJvb2wo
Ym9vbCYgdmFsdWUpCiAgICAgcmV0dXJuIG1fZGVjb2Rlci5kZWNvZGVCb29sKHZhbHVlKTsKIH0K
IAorYm9vbCBEZWNvZGVyQWRhcHRlcjo6ZGVjb2RlVUludDE2KHVpbnQxNl90JiB2YWx1ZSkKK3sK
KyAgICByZXR1cm4gbV9kZWNvZGVyLmRlY29kZVVJbnQxNih2YWx1ZSk7Cit9CisKIGJvb2wgRGVj
b2RlckFkYXB0ZXI6OmRlY29kZVVJbnQzMih1aW50MzJfdCYgdmFsdWUpCiB7CiAgICAgcmV0dXJu
IG1fZGVjb2Rlci5kZWNvZGVVSW50MzIodmFsdWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RlY29kZXJBZGFwdGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvRGVjb2RlckFkYXB0ZXIuaAppbmRleCBiZDM0ZWE4ZDM5MzAyMjlh
YmNlNzcxOWVlYzJjNWM1M2FmN2NlZWZmLi5kNmI0ZWI3NjZhZjE2YTE4MjljZjk1NmZkOTc0NjVl
OGM5ZGM0YTVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
RGVjb2RlckFkYXB0ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
RGVjb2RlckFkYXB0ZXIuaApAQCAtMzksNiArMzksNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAg
IHZpcnR1YWwgYm9vbCBkZWNvZGVCeXRlcyhWZWN0b3I8dWludDhfdD4mKTsKICAgICB2aXJ0dWFs
IGJvb2wgZGVjb2RlQm9vbChib29sJik7CisgICAgdmlydHVhbCBib29sIGRlY29kZVVJbnQxNih1
aW50MTZfdCYpOwogICAgIHZpcnR1YWwgYm9vbCBkZWNvZGVVSW50MzIodWludDMyX3QmKTsKICAg
ICB2aXJ0dWFsIGJvb2wgZGVjb2RlVUludDY0KHVpbnQ2NF90Jik7CiAgICAgdmlydHVhbCBib29s
IGRlY29kZUludDMyKGludDMyX3QmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9FbmNvZGVyQWRhcHRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvRW5jb2RlckFkYXB0ZXIuY3BwCmluZGV4IDFmMGUxM2M3MWNjYzU2NTFjMWNh
OTcxNTYxN2M2MzU0OWQ5ZWYwZjYuLmJkYTdkOWI3MmYyZmQwMTIzOWE3ZTMyZWQ2ZjQ4NGE5MTg1
MzUyYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9FbmNv
ZGVyQWRhcHRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Vu
Y29kZXJBZGFwdGVyLmNwcApAQCAtNTIsNiArNTIsMTEgQEAgdm9pZCBFbmNvZGVyQWRhcHRlcjo6
ZW5jb2RlQm9vbChib29sIHZhbHVlKQogICAgIG1fZW5jb2Rlci0+ZW5jb2RlQm9vbCh2YWx1ZSk7
CiB9CiAKK3ZvaWQgRW5jb2RlckFkYXB0ZXI6OmVuY29kZVVJbnQxNih1aW50MTZfdCB2YWx1ZSkK
K3sKKyAgICBtX2VuY29kZXItPmVuY29kZVVJbnQxNih2YWx1ZSk7Cit9CisKIHZvaWQgRW5jb2Rl
ckFkYXB0ZXI6OmVuY29kZVVJbnQzMih1aW50MzJfdCB2YWx1ZSkKIHsKICAgICBtX2VuY29kZXIt
PmVuY29kZVVJbnQzMih2YWx1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvRW5jb2RlckFkYXB0ZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9FbmNvZGVyQWRhcHRlci5oCmluZGV4IDQ3ZGU3YWZkNWJlNjVkMzdlNDAxMDZlYWEz
NGYxMGQ5YzRkODFhNmMuLjYzMjFjZjUxM2JiNGVhZjc4NDFmNTZlMzBmZDRiMDhmNWVkNWFlYzIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9FbmNvZGVyQWRh
cHRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9FbmNvZGVyQWRh
cHRlci5oCkBAIC00Niw2ICs0Niw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgdmlydHVhbCB2
b2lkIGVuY29kZUJ5dGVzKGNvbnN0IHVpbnQ4X3QqLCBzaXplX3QpOwogICAgIHZpcnR1YWwgdm9p
ZCBlbmNvZGVCb29sKGJvb2wpOworICAgIHZpcnR1YWwgdm9pZCBlbmNvZGVVSW50MTYodWludDE2
X3QgdmFsdWUpOwogICAgIHZpcnR1YWwgdm9pZCBlbmNvZGVVSW50MzIodWludDMyX3QpOwogICAg
IHZpcnR1YWwgdm9pZCBlbmNvZGVVSW50NjQodWludDY0X3QpOwogICAgIHZpcnR1YWwgdm9pZCBl
bmNvZGVJbnQzMihpbnQzMl90KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvcXQvUXROZXR3b3JrQWNjZXNzTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL3F0L1F0TmV0d29ya0FjY2Vzc01hbmFnZXIuY3BwCmluZGV4IDI4ZWZjMGM4MjMzYzBiZWQ4
NWMxNGE1MDI3OGQwYmEyMDcyZjA3OWYuLjVjNGRiOWExNDNjOTg0NzVlYWM2NDIyMmQ5MGM0YWFh
MGNhNDg5YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvcXQvUXROZXR3
b3JrQWNjZXNzTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9xdC9R
dE5ldHdvcmtBY2Nlc3NNYW5hZ2VyLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIldl
YlBhZ2VQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgogI2luY2x1ZGUg
PFFBdXRoZW50aWNhdG9yPgorI2luY2x1ZGUgPFFOZXR3b3JrUHJveHk+CiAjaW5jbHVkZSA8UU5l
dHdvcmtSZXBseT4KICNpbmNsdWRlIDxRTmV0d29ya1JlcXVlc3Q+CiAKQEAgLTczLDYgKzc0LDI3
IEBAIHZvaWQgUXROZXR3b3JrQWNjZXNzTWFuYWdlcjo6cmVnaXN0ZXJBcHBsaWNhdGlvblNjaGVt
ZShjb25zdCBXZWJQYWdlKiBwYWdlLCBjb25zCiAgICAgbV9hcHBsaWNhdGlvblNjaGVtZXMuaW5z
ZXJ0KHBhZ2UsIHNjaGVtZS50b0xvd2VyKCkpOwogfQogCit2b2lkIFF0TmV0d29ya0FjY2Vzc01h
bmFnZXI6Om9uUHJveHlBdXRoZW50aWNhdGlvblJlcXVpcmVkKFFOZXR3b3JrUmVwbHkqIHJlcGx5
LCBRQXV0aGVudGljYXRvciogYXV0aGVudGljYXRvcikKK3sKKyAgICBXZWJQYWdlKiB3ZWJQYWdl
ID0gb2J0YWluT3JpZ2luYXRpbmdXZWJQYWdlKHJlcGx5LT5yZXF1ZXN0KCkpOworCisgICAgU3Ry
aW5nIGhvc3RuYW1lID0gcHJveHkoKS5ob3N0TmFtZSgpOworICAgIHVpbnQxNl90IHBvcnQgPSBz
dGF0aWNfY2FzdDx1aW50MTZfdD4ocHJveHkoKS5wb3J0KCkpOworICAgIFN0cmluZyBwcmVmaWxs
ZWRVc2VybmFtZSA9IGF1dGhlbnRpY2F0b3ItPnVzZXIoKTsKKyAgICBTdHJpbmcgdXNlcm5hbWU7
CisgICAgU3RyaW5nIHBhc3N3b3JkOworCisgICAgaWYgKHdlYlBhZ2UtPnNlbmRTeW5jKAorICAg
ICAgICAgTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6UHJveHlBdXRoZW50aWNhdGlvblJlcXVpcmVk
UmVxdWVzdChob3N0bmFtZSwgcG9ydCwgcHJlZmlsbGVkVXNlcm5hbWUpLAorICAgICAgICAgTWVz
c2FnZXM6OldlYlBhZ2VQcm94eTo6UHJveHlBdXRoZW50aWNhdGlvblJlcXVpcmVkUmVxdWVzdDo6
UmVwbHkodXNlcm5hbWUsIHBhc3N3b3JkKSkpIHsKKyAgICAgICAgIGlmICghdXNlcm5hbWUuaXNF
bXB0eSgpKQorICAgICAgICAgICAgIGF1dGhlbnRpY2F0b3ItPnNldFVzZXIodXNlcm5hbWUpOwor
ICAgICAgICAgaWYgKCFwYXNzd29yZC5pc0VtcHR5KCkpCisgICAgICAgICAgICAgYXV0aGVudGlj
YXRvci0+c2V0UGFzc3dvcmQocGFzc3dvcmQpOworICAgICB9CisKK30KKwogdm9pZCBRdE5ldHdv
cmtBY2Nlc3NNYW5hZ2VyOjpvbkF1dGhlbnRpY2F0aW9uUmVxdWlyZWQoUU5ldHdvcmtSZXBseSog
cmVwbHksIFFBdXRoZW50aWNhdG9yKiBhdXRoZW50aWNhdG9yKQogewogICAgIFdlYlBhZ2UqIHdl
YlBhZ2UgPSBvYnRhaW5PcmlnaW5hdGluZ1dlYlBhZ2UocmVwbHktPnJlcXVlc3QoKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3F0L1F0TmV0d29ya0FjY2Vzc01hbmFn
ZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvcXQvUXROZXR3b3JrQWNjZXNzTWFuYWdl
ci5oCmluZGV4IDg0NjIyMWViN2Y1ZWI5YzBiNTllOTRmMzdmYTJmYTE1MjE2NGM1MTQuLmRjODJh
OGE3NGYxNDNjYjBmMmQwZGM1ZWJjZjA1MzZjODkwNDUxNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvcXQvUXROZXR3b3JrQWNjZXNzTWFuYWdlci5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvcXQvUXROZXR3b3JrQWNjZXNzTWFuYWdlci5oCkBAIC00Nyw2
ICs0Nyw3IEBAIHByb3RlY3RlZDoKIAogcHJpdmF0ZSBRX1NMT1RTOgogICAgIHZvaWQgb25BdXRo
ZW50aWNhdGlvblJlcXVpcmVkKFFOZXR3b3JrUmVwbHkgKiwgUUF1dGhlbnRpY2F0b3IgKik7Cisg
ICAgdm9pZCBvblByb3h5QXV0aGVudGljYXRpb25SZXF1aXJlZChRTmV0d29ya1JlcGx5ICosIFFB
dXRoZW50aWNhdG9yICopOwogICAgIHZvaWQgb25Tc2xFcnJvcnMoUU5ldHdvcmtSZXBseSosIGNv
bnN0IFFMaXN0PFFTc2xFcnJvcj4mKTsKIAogcHJpdmF0ZToK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128189</attachid>
            <date>2012-02-22 05:53:15 -0800</date>
            <delta_ts>2012-02-22 07:11:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78792-20120222145312.patch</filename>
            <type>text/plain</type>
            <size>3846</size>
            <attacher name="Michael Brüning">michael.bruning</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4NDc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNmQ1YjVlMTExNDdkYzI0
NDYzYTJmZTZmZDIxNmY2MDZkYjQ4MDE3NC4uOGMyOTJmNmM2YWFjMDhmNGUwYWI0OTQ1ZjlhZDc0
ZTJmMWJkODQwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTAyLTIyICBNaWNo
YWVsIEJyw7xuaW5nICA8bWljaGFlbC5icnVuaW5nQG5va2lhLmNvbT4KKworICAgICAgICBbUXRd
W1dLMl0gSW1wbGVtZW50IHByb3h5IGF1dGhlbnRpY2F0aW9uIGhhbmRsaW5nLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg3OTIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGNvcnJlY3Rz
IHR3byBidWdzIHdpdGggdGhlIHByZXZpb3VzIGltcGxlbWVudGF0aW9uOgorICAgICAgICAxLiBU
aGUgc2lnbmFsIHByb3h5QXV0aGVudGljYXRpb25SZXF1aXJlZCB3YXMgbm90IGNvbm5lY3RlZCB0
byBhCisgICAgICAgICAgIHNsb3QuCisgICAgICAgIDIuIFRoZSBzbG90IG9uUHJveHlBdXRoZW50
aWNhdGlvblJlcXVpcmVkIGhhZCB0aGUgd3JvbmcgcGFyYW1ldGVycy4gCisKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL3F0L1F0TmV0d29ya0FjY2Vzc01hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0
OjpRdE5ldHdvcmtBY2Nlc3NNYW5hZ2VyOjpRdE5ldHdvcmtBY2Nlc3NNYW5hZ2VyKToKKyAgICAg
ICAgKFdlYktpdDo6UXROZXR3b3JrQWNjZXNzTWFuYWdlcjo6b25Qcm94eUF1dGhlbnRpY2F0aW9u
UmVxdWlyZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvcXQvUXROZXR3b3JrQWNjZXNzTWFuYWdl
ci5oOiBBZGRlZCBpbmNsdWRlLgorICAgICAgICAoUXROZXR3b3JrQWNjZXNzTWFuYWdlcik6CisK
IDIwMTItMDItMjIgIFphbGFuIEJ1anRhcyAgPHpidWp0YXNAZ21haWwuY29tPgogCiAgICAgICAg
IFtRdF1bV0syXSBBZGQgZnJhbWUgZmxhdHRlbmluZyBzZXR0aW5nIHRvIFFXZWJQcmVmZXJlbmNl
cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvcXQvUXROZXR3b3JrQWNj
ZXNzTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3F0L1F0TmV0d29ya0Fj
Y2Vzc01hbmFnZXIuY3BwCmluZGV4IDVjNGRiOWExNDNjOTg0NzVlYWM2NDIyMmQ5MGM0YWFhMGNh
NDg5YTQuLmNlNDZiZTg1NGJjNDM5ODE0ZjEyMjg3N2NlOGZhYzFhOGQzNDkzNDQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvcXQvUXROZXR3b3JrQWNjZXNzTWFuYWdlci5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9xdC9RdE5ldHdvcmtBY2Nlc3NNYW5h
Z2VyLmNwcApAQCAtNDQsNiArNDQsNyBAQCBRdE5ldHdvcmtBY2Nlc3NNYW5hZ2VyOjpRdE5ldHdv
cmtBY2Nlc3NNYW5hZ2VyKFdlYlByb2Nlc3MqIHdlYlByb2Nlc3MpCiAgICAgLCBtX3dlYlByb2Nl
c3Mod2ViUHJvY2VzcykKIHsKICAgICBjb25uZWN0KHRoaXMsIFNJR05BTChhdXRoZW50aWNhdGlv
blJlcXVpcmVkKFFOZXR3b3JrUmVwbHkqLCBRQXV0aGVudGljYXRvciopKSwgU0xPVChvbkF1dGhl
bnRpY2F0aW9uUmVxdWlyZWQoUU5ldHdvcmtSZXBseSosIFFBdXRoZW50aWNhdG9yKikpKTsKKyAg
ICBjb25uZWN0KHRoaXMsIFNJR05BTChwcm94eUF1dGhlbnRpY2F0aW9uUmVxdWlyZWQoY29uc3Qg
UU5ldHdvcmtQcm94eSYsIFFBdXRoZW50aWNhdG9yKikpLCBTTE9UKG9uUHJveHlBdXRoZW50aWNh
dGlvblJlcXVpcmVkKGNvbnN0IFFOZXR3b3JrUHJveHkmLCBRQXV0aGVudGljYXRvciopKSk7CiAg
ICAgY29ubmVjdCh0aGlzLCBTSUdOQUwoc3NsRXJyb3JzKFFOZXR3b3JrUmVwbHkqLCBRTGlzdDxR
U3NsRXJyb3I+KSksIFNMT1Qob25Tc2xFcnJvcnMoUU5ldHdvcmtSZXBseSosIFFMaXN0PFFTc2xF
cnJvcj4pKSk7CiB9CiAKQEAgLTc0LDEyICs3NSwxNiBAQCB2b2lkIFF0TmV0d29ya0FjY2Vzc01h
bmFnZXI6OnJlZ2lzdGVyQXBwbGljYXRpb25TY2hlbWUoY29uc3QgV2ViUGFnZSogcGFnZSwgY29u
cwogICAgIG1fYXBwbGljYXRpb25TY2hlbWVzLmluc2VydChwYWdlLCBzY2hlbWUudG9Mb3dlcigp
KTsKIH0KIAotdm9pZCBRdE5ldHdvcmtBY2Nlc3NNYW5hZ2VyOjpvblByb3h5QXV0aGVudGljYXRp
b25SZXF1aXJlZChRTmV0d29ya1JlcGx5KiByZXBseSwgUUF1dGhlbnRpY2F0b3IqIGF1dGhlbnRp
Y2F0b3IpCit2b2lkIFF0TmV0d29ya0FjY2Vzc01hbmFnZXI6Om9uUHJveHlBdXRoZW50aWNhdGlv
blJlcXVpcmVkKGNvbnN0IFFOZXR3b3JrUHJveHkmIHByb3h5LCBRQXV0aGVudGljYXRvciogYXV0
aGVudGljYXRvcikKIHsKLSAgICBXZWJQYWdlKiB3ZWJQYWdlID0gb2J0YWluT3JpZ2luYXRpbmdX
ZWJQYWdlKHJlcGx5LT5yZXF1ZXN0KCkpOworICAgIC8vIEZJWE1FOiBDaGVjayBpZiB0aGVyZSBp
cyBhIGJldHRlciB3YXkgdG8gZ2V0IGEgcmVmZXJlbmNlIHRvIHRoZSBwYWdlLgorICAgIFdlYlBh
Z2UqIHdlYlBhZ2UgPSBtX3dlYlByb2Nlc3MtPmZvY3VzZWRXZWJQYWdlKCk7CisKKyAgICBpZiAo
IXdlYlBhZ2UpCisgICAgICAgIHJldHVybjsKIAotICAgIFN0cmluZyBob3N0bmFtZSA9IHByb3h5
KCkuaG9zdE5hbWUoKTsKLSAgICB1aW50MTZfdCBwb3J0ID0gc3RhdGljX2Nhc3Q8dWludDE2X3Q+
KHByb3h5KCkucG9ydCgpKTsKKyAgICBTdHJpbmcgaG9zdG5hbWUgPSBwcm94eS5ob3N0TmFtZSgp
OworICAgIHVpbnQxNl90IHBvcnQgPSBzdGF0aWNfY2FzdDx1aW50MTZfdD4ocHJveHkucG9ydCgp
KTsKICAgICBTdHJpbmcgcHJlZmlsbGVkVXNlcm5hbWUgPSBhdXRoZW50aWNhdG9yLT51c2VyKCk7
CiAgICAgU3RyaW5nIHVzZXJuYW1lOwogICAgIFN0cmluZyBwYXNzd29yZDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvcXQvUXROZXR3b3JrQWNjZXNzTWFuYWdlci5oIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9xdC9RdE5ldHdvcmtBY2Nlc3NNYW5hZ2VyLmgKaW5k
ZXggZGM4MmE4YTc0ZjE0M2NiMGYyZDBkYzVlYmNmMDUzNmM4OTA0NTE0Mi4uZmUzN2JkYTFmNmYy
YWE2NzE0MWNlOWVmNGI4YTlhNzY1ZmU3ZmQ1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9xdC9RdE5ldHdvcmtBY2Nlc3NNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9xdC9RdE5ldHdvcmtBY2Nlc3NNYW5hZ2VyLmgKQEAgLTI5LDYgKzI5LDcg
QEAKIAogI2luY2x1ZGUgPFFNdWx0aUhhc2g+CiAjaW5jbHVkZSA8UU5ldHdvcmtBY2Nlc3NNYW5h
Z2VyPgorI2luY2x1ZGUgPFFOZXR3b3JrUHJveHk+CiAjaW5jbHVkZSA8UVN0cmluZz4KIAogbmFt
ZXNwYWNlIFdlYktpdCB7CkBAIC00Nyw3ICs0OCw3IEBAIHByb3RlY3RlZDoKIAogcHJpdmF0ZSBR
X1NMT1RTOgogICAgIHZvaWQgb25BdXRoZW50aWNhdGlvblJlcXVpcmVkKFFOZXR3b3JrUmVwbHkg
KiwgUUF1dGhlbnRpY2F0b3IgKik7Ci0gICAgdm9pZCBvblByb3h5QXV0aGVudGljYXRpb25SZXF1
aXJlZChRTmV0d29ya1JlcGx5ICosIFFBdXRoZW50aWNhdG9yICopOworICAgIHZvaWQgb25Qcm94
eUF1dGhlbnRpY2F0aW9uUmVxdWlyZWQoY29uc3QgUU5ldHdvcmtQcm94eSYsIFFBdXRoZW50aWNh
dG9yICopOwogICAgIHZvaWQgb25Tc2xFcnJvcnMoUU5ldHdvcmtSZXBseSosIGNvbnN0IFFMaXN0
PFFTc2xFcnJvcj4mKTsKIAogcHJpdmF0ZToK
</data>

          </attachment>
      

    </bug>

</bugzilla>