<?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>84341</bug_id>
          
          <creation_ts>2012-04-19 07:41:58 -0700</creation_ts>
          <short_desc>REGRESSION(r114628): Breaks EFL and GTK builds (Requested by pfeldman on #webkit).</short_desc>
          <delta_ts>2012-04-19 07:46:57 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          <blocked>81970</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>d-r</cc>
    
    <cc>pfeldman</cc>
    
    <cc>vsevik</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>605568</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-19 07:41:58 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/114628 broke the build:
Breaks EFL and GTK builds (Requested by pfeldman on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605570</commentid>
    <comment_count>1</comment_count>
      <attachid>137900</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-19 07:42:32 -0700</bug_when>
    <thetext>Created attachment 137900
ROLLOUT of r114628

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605573</commentid>
    <comment_count>2</comment_count>
      <attachid>137900</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-19 07:46:52 -0700</bug_when>
    <thetext>Comment on attachment 137900
ROLLOUT of r114628

Clearing flags on attachment: 137900

Committed r114630: &lt;http://trac.webkit.org/changeset/114630&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605574</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-19 07:46:57 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137900</attachid>
            <date>2012-04-19 07:42:32 -0700</date>
            <delta_ts>2012-04-19 07:46:52 -0700</delta_ts>
            <desc>ROLLOUT of r114628</desc>
            <filename>bug-84341-20120419144556.patch</filename>
            <type>text/plain</type>
            <size>34914</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0NjI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjY3ZDRmMWYxNGFhZDU5
YTExNjQyNTVkYzZjZTE5ZjFlYmI2ZTViMi4uMzY1MjIzMjdmODdlYmVjNGVkYTdmNWRhMWE0ODRm
MDAwNzg1OWI2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDEyLTA0LTE5ICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTE0NjI4LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMTQ2MjgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg0MzQxCisKKyAgICAgICAgQnJlYWtzIEVGTCBhbmQgR1RLIGJ1aWxkcyAoUmVx
dWVzdGVkIGJ5IHBmZWxkbWFuIG9uICN3ZWJraXQpLgorCisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3Rvci5qc29uOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRGVi
dWdnZXJBZ2VudDo6ZXZhbHVhdGVPbkNhbGxGcmFtZSk6CisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3RvckRlYnVnZ2VyQWdlbnQuaDoKKyAgICAgICAgKEluc3BlY3RvckRlYnVnZ2VyQWdlbnQp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yUnVudGltZUFnZW50OjpldmFsdWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JSdW50aW1lQWdlbnQ6OmNhbGxGdW5jdGlvbk9uKToKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvclJ1bnRpbWVBZ2VudDo6Z2V0UHJvcGVydGllcyk6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5oOgorICAgICAgICAoSW5zcGVjdG9y
UnVudGltZUFnZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvUGFnZURlYnVnZ2VyQWdlbnQuY3Bw
OgorICAgICAgICAqIGluc3BlY3Rvci9QYWdlRGVidWdnZXJBZ2VudC5oOgorICAgICAgICAoUGFn
ZURlYnVnZ2VyQWdlbnQpOgorICAgICAgICAqIGluc3BlY3Rvci9QYWdlUnVudGltZUFnZW50LmNw
cDoKKyAgICAgICAgKiBpbnNwZWN0b3IvUGFnZVJ1bnRpbWVBZ2VudC5oOgorICAgICAgICAoUGFn
ZVJ1bnRpbWVBZ2VudCk6CisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlckRlYnVnZ2VyQWdlbnQu
Y3BwOgorICAgICAgICAqIGluc3BlY3Rvci9Xb3JrZXJEZWJ1Z2dlckFnZW50Lmg6CisgICAgICAg
IChXb3JrZXJEZWJ1Z2dlckFnZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvV29ya2VyUnVudGlt
ZUFnZW50LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvV29ya2VyUnVudGltZUFnZW50Lmg6Cisg
ICAgICAgIChXb3JrZXJSdW50aW1lQWdlbnQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1l
bmQvQ29uc29sZVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcucHJv
dG90eXBlLmV2YWxJbkluc3BlY3RlZFdpbmRvdyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlLmV2YWx1YXRlSW5TZWxlY3RlZENh
bGxGcmFtZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUHJlc2VudGF0aW9uQ2FsbEZyYW1lLnBy
b3RvdHlwZS5ldmFsdWF0ZSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9SZW1vdGVP
YmplY3QuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LnByb3RvdHlwZS5z
ZXRQcm9wZXJ0eVZhbHVlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3QucHJv
dG90eXBlLmNhbGxGdW5jdGlvbik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0
LnByb3RvdHlwZS5jYWxsRnVuY3Rpb25KU09OKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL1dvcmtlck1hbmFnZXIuanM6CisgICAgICAgICogcGFnZS9Db25zb2xlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q29uc29sZTo6YWRkTWVzc2FnZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpDb25zb2xlOjp3YXJuKToKKyAgICAgICAgKiBwYWdlL0NvbnNvbGUu
aDoKKyAgICAgICAgKENvbnNvbGUpOgorCiAyMDEyLTA0LTE5ICBWc2V2b2xvZCBWbGFzb3YgIDx2
c2V2aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IHgtZnJhbWUgc2Vj
dXJpdHkgZXJyb3JzIGxvZ2dlZCB3aGVuIHR5cGluZyBpbiB0aGUgY29uc29sZSBhcmUgYW5ub3lp
bmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24g
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KaW5kZXggOWRjOWJmMDY2
ZWNmOGU2NjEyY2QyZWU1M2M5ZDE4ZDkyMjE1ODY1Mi4uOWFkZDNiNjE0MmQ1MTMyOTdiYjcxYmZl
OWI1ODVmZTY5ZmVlOTc0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvci5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNv
bgpAQCAtNDIyLDcgKzQyMiw3IEBACiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZXhw
cmVzc2lvbiIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJFeHByZXNzaW9uIHRv
IGV2YWx1YXRlLiIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJvYmplY3RHcm91
cCIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJT
eW1ib2xpYyBncm91cCBuYW1lIHRoYXQgY2FuIGJlIHVzZWQgdG8gcmVsZWFzZSBtdWx0aXBsZSBv
YmplY3RzLiIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJpbmNsdWRlQ29tbWFu
ZExpbmVBUEkiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0
aW9uIjogIkRldGVybWluZXMgd2hldGhlciBDb21tYW5kIExpbmUgQVBJIHNob3VsZCBiZSBhdmFp
bGFibGUgZHVyaW5nIHRoZSBldmFsdWF0aW9uLiIsICJoaWRkZW4iOiB0cnVlIH0sCi0gICAgICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAiZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25z
b2xlIiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6
ICJTcGVjaWZpZXMgd2hldGhlciBldmFsdWF0aW9uIHNob3VsZCBzdG9wIG9uIGV4Y2VwdGlvbnMg
YW5kIG11dGUgY29uc29sZS4gT3ZlcnJpZGVzIHNldFBhdXNlT25FeGNlcHRpb24gc3RhdGUuIiwg
ImhpZGRlbiI6IHRydWUgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJkb05vdFBh
dXNlT25FeGNlcHRpb25zIiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJk
ZXNjcmlwdGlvbiI6ICJTcGVjaWZpZXMgd2hldGhlciBldmFsdWF0aW9uIHNob3VsZCBzdG9wIG9u
IGV4Y2VwdGlvbnMuIE92ZXJyaWRlcyBzZXRQYXVzZU9uRXhjZXB0aW9uIHN0YXRlLiIsICJoaWRk
ZW4iOiB0cnVlIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZnJhbWVJZCIsICIk
cmVmIjogIk5ldHdvcmsuRnJhbWVJZCIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6
ICJTcGVjaWZpZXMgaW4gd2hpY2ggZnJhbWUgdG8gcGVyZm9ybSBldmFsdWF0aW9uLiIsICJoaWRk
ZW4iOiB0cnVlIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicmV0dXJuQnlWYWx1
ZSIsICJ0eXBlIjogImJvb2xlYW4iLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAi
V2hldGhlciB0aGUgcmVzdWx0IGlzIGV4cGVjdGVkIHRvIGJlIGEgSlNPTiBvYmplY3QgdGhhdCBz
aG91bGQgYmUgc2VudCBieSB2YWx1ZS4iIH0KICAgICAgICAgICAgICAgICBdLApAQCAtNDM4LDcg
KzQzOCw2IEBACiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAib2JqZWN0SWQiLCAiJHJl
ZiI6ICJSZW1vdGVPYmplY3RJZCIsICJkZXNjcmlwdGlvbiI6ICJJZGVudGlmaWVyIG9mIHRoZSBv
YmplY3QgdG8gY2FsbCBmdW5jdGlvbiBvbi4iIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAiZnVuY3Rpb25EZWNsYXJhdGlvbiIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlv
biI6ICJEZWNsYXJhdGlvbiBvZiB0aGUgZnVuY3Rpb24gdG8gY2FsbC4iIH0sCiAgICAgICAgICAg
ICAgICAgICAgIHsgIm5hbWUiOiAiYXJndW1lbnRzIiwgInR5cGUiOiAiYXJyYXkiLCAiaXRlbXMi
OiB7ICIkcmVmIjogIkNhbGxBcmd1bWVudCIsICJkZXNjcmlwdGlvbiI6ICJDYWxsIGFyZ3VtZW50
LiIgfSwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIkNhbGwgYXJndW1lbnRzLiBB
bGwgY2FsbCBhcmd1bWVudHMgbXVzdCBiZWxvbmcgdG8gdGhlIHNhbWUgSmF2YVNjcmlwdCB3b3Js
ZCBhcyB0aGUgdGFyZ2V0IG9iamVjdC4iIH0sCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUi
OiAiZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlIiwgInR5cGUiOiAiYm9vbGVh
biIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJTcGVjaWZpZXMgd2hldGhlciBm
dW5jdGlvbiBjYWxsIHNob3VsZCBzdG9wIG9uIGV4Y2VwdGlvbnMgYW5kIG11dGUgY29uc29sZS4g
T3ZlcnJpZGVzIHNldFBhdXNlT25FeGNlcHRpb24gc3RhdGUuIiwgImhpZGRlbiI6IHRydWUgfSwK
ICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJyZXR1cm5CeVZhbHVlIiwgInR5cGUiOiAi
Ym9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJXaGV0aGVyIHRoZSBy
ZXN1bHQgaXMgZXhwZWN0ZWQgdG8gYmUgYSBKU09OIG9iamVjdCB3aGljaCBzaG91bGQgYmUgc2Vu
dCBieSB2YWx1ZS4iIH0KICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICJyZXR1
cm5zIjogWwpAQCAtMjMzNyw3ICsyMzM2LDYgQEAKICAgICAgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJleHByZXNzaW9uIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIkV4cHJl
c3Npb24gdG8gZXZhbHVhdGUuIiB9LAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm9i
amVjdEdyb3VwIiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0
aW9uIjogIlN0cmluZyBvYmplY3QgZ3JvdXAgbmFtZSB0byBwdXQgcmVzdWx0IGludG8gKGFsbG93
cyByYXBpZCByZWxlYXNpbmcgcmVzdWx0aW5nIG9iamVjdCBoYW5kbGVzIHVzaW5nIDxjb2RlPnJl
bGVhc2VPYmplY3RHcm91cDwvY29kZT4pLiIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJpbmNsdWRlQ29tbWFuZExpbmVBUEkiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFs
IjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlNwZWNpZmllcyB3aGV0aGVyIGNvbW1hbmQgbGluZSBB
UEkgc2hvdWxkIGJlIGF2YWlsYWJsZSB0byB0aGUgZXZhbHVhdGVkIGV4cHJlc3Npb24sIGRlZmF1
bHRzIHRvIGZhbHNlLiIsICJoaWRkZW4iOiB0cnVlIH0sCi0gICAgICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAiZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlIiwgInR5cGUiOiAi
Ym9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJTcGVjaWZpZXMgd2hl
dGhlciBldmFsdWF0aW9uIHNob3VsZCBzdG9wIG9uIGV4Y2VwdGlvbnMgYW5kIG11dGUgY29uc29s
ZS4gT3ZlcnJpZGVzIHNldFBhdXNlT25FeGNlcHRpb24gc3RhdGUuIiwgImhpZGRlbiI6IHRydWUg
fSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJyZXR1cm5CeVZhbHVlIiwgInR5cGUi
OiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJXaGV0aGVyIHRo
ZSByZXN1bHQgaXMgZXhwZWN0ZWQgdG8gYmUgYSBKU09OIG9iamVjdCB0aGF0IHNob3VsZCBiZSBz
ZW50IGJ5IHZhbHVlLiIgfQogICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgInJl
dHVybnMiOiBbCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RGVidWdnZXJBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVi
dWdnZXJBZ2VudC5jcHAKaW5kZXggZjJhMDg3NTgzZmM2NjljNTE3ZjlhNTlkODNiYTEwMjIxYjI4
YjhlMS4uMjVmYTNmYmFjNDIxZWQ0ZWEyNzNlZTIwNTg5ZWU1NGI5YzgwMzJiZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcApA
QCAtNTksMTEgKzU5LDYgQEAgc3RhdGljIGNvbnN0IGNoYXIgcGF1c2VPbkV4Y2VwdGlvbnNTdGF0
ZVtdID0gInBhdXNlT25FeGNlcHRpb25zU3RhdGUiOwogCiBjb25zdCBjaGFyKiBJbnNwZWN0b3JE
ZWJ1Z2dlckFnZW50OjpiYWNrdHJhY2VPYmplY3RHcm91cCA9ICJiYWNrdHJhY2Utb2JqZWN0LWdy
b3VwIjsKIAotc3RhdGljIGJvb2wgYXNCb29sKGNvbnN0IGJvb2wqIGNvbnN0IGIpCi17Ci0gICAg
cmV0dXJuIGIgPyAqYiA6IGZhbHNlOwotfQotCiBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50OjpJbnNw
ZWN0b3JEZWJ1Z2dlckFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2Vu
dHMsIEluc3BlY3RvclN0YXRlKiBpbnNwZWN0b3JTdGF0ZSwgSW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
KiBpbmplY3RlZFNjcmlwdE1hbmFnZXIpCiAgICAgOiBJbnNwZWN0b3JCYXNlQWdlbnQ8SW5zcGVj
dG9yRGVidWdnZXJBZ2VudD4oIkRlYnVnZ2VyIiwgaW5zdHJ1bWVudGluZ0FnZW50cywgaW5zcGVj
dG9yU3RhdGUpCiAgICAgLCBtX2luamVjdGVkU2NyaXB0TWFuYWdlcihpbmplY3RlZFNjcmlwdE1h
bmFnZXIpCkBAIC00ODEsMjkgKzQ3NiwxNCBAQCB2b2lkIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6
OnNldFBhdXNlT25FeGNlcHRpb25zSW1wbChFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsCiAgICAg
ICAgIG1fc3RhdGUtPnNldExvbmcoRGVidWdnZXJBZ2VudFN0YXRlOjpwYXVzZU9uRXhjZXB0aW9u
c1N0YXRlLCBwYXVzZVN0YXRlKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50Ojpl
dmFsdWF0ZU9uQ2FsbEZyYW1lKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5n
JiBjYWxsRnJhbWVJZCwgY29uc3QgU3RyaW5nJiBleHByZXNzaW9uLCBjb25zdCBTdHJpbmcqIGNv
bnN0IG9iamVjdEdyb3VwLCBjb25zdCBib29sKiBjb25zdCBpbmNsdWRlQ29tbWFuZExpbmVBUEks
IGNvbnN0IGJvb2wqIGNvbnN0IGRvTm90UGF1c2VPbkV4Y2VwdGlvbnNBbmRNdXRlQ29uc29sZSwg
Y29uc3QgYm9vbCogY29uc3QgcmV0dXJuQnlWYWx1ZSwgUmVmUHRyPFR5cGVCdWlsZGVyOjpSdW50
aW1lOjpSZW1vdGVPYmplY3Q+JiByZXN1bHQsIFR5cGVCdWlsZGVyOjpPcHRPdXRwdXQ8Ym9vbD4q
IHdhc1Rocm93bikKK3ZvaWQgSW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6ZXZhbHVhdGVPbkNhbGxG
cmFtZShFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGNvbnN0IFN0cmluZyYgY2FsbEZyYW1lSWQs
IGNvbnN0IFN0cmluZyYgZXhwcmVzc2lvbiwgY29uc3QgU3RyaW5nKiBjb25zdCBvYmplY3RHcm91
cCwgY29uc3QgYm9vbCogY29uc3QgaW5jbHVkZUNvbW1hbmRMaW5lQVBJLCBjb25zdCBib29sKiBj
b25zdCByZXR1cm5CeVZhbHVlLCBSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJlbW90ZU9i
amVjdD4mIHJlc3VsdCwgVHlwZUJ1aWxkZXI6Ok9wdE91dHB1dDxib29sPiogd2FzVGhyb3duKQog
ewogICAgIEluamVjdGVkU2NyaXB0IGluamVjdGVkU2NyaXB0ID0gbV9pbmplY3RlZFNjcmlwdE1h
bmFnZXItPmluamVjdGVkU2NyaXB0Rm9yT2JqZWN0SWQoY2FsbEZyYW1lSWQpOwogICAgIGlmIChp
bmplY3RlZFNjcmlwdC5oYXNOb1ZhbHVlKCkpIHsKICAgICAgICAgKmVycm9yU3RyaW5nID0gIklu
c3BlY3RlZCBmcmFtZSBoYXMgZ29uZSI7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0KLSAgICBB
U1NFUlQoc2NyaXB0RGVidWdTZXJ2ZXIoKSk7Ci0gICAgU2NyaXB0RGVidWdTZXJ2ZXI6OlBhdXNl
T25FeGNlcHRpb25zU3RhdGUgcHJldmlvdXNQYXVzZU9uRXhjZXB0aW9uc1N0YXRlID0gc2NyaXB0
RGVidWdTZXJ2ZXIoKS5wYXVzZU9uRXhjZXB0aW9uc1N0YXRlKCk7Ci0gICAgaWYgKGFzQm9vbChk
b05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUpKSB7Ci0gICAgICAgIGlmIChwcmV2
aW91c1BhdXNlT25FeGNlcHRpb25zU3RhdGUgIT0gU2NyaXB0RGVidWdTZXJ2ZXI6OkRvbnRQYXVz
ZU9uRXhjZXB0aW9ucykKLSAgICAgICAgICAgIHNjcmlwdERlYnVnU2VydmVyKCkuc2V0UGF1c2VP
bkV4Y2VwdGlvbnNTdGF0ZShTY3JpcHREZWJ1Z1NlcnZlcjo6RG9udFBhdXNlT25FeGNlcHRpb25z
KTsKLSAgICAgICAgbXV0ZUNvbnNvbGUoKTsKLSAgICB9Ci0KLSAgICBpbmplY3RlZFNjcmlwdC5l
dmFsdWF0ZU9uQ2FsbEZyYW1lKGVycm9yU3RyaW5nLCBtX2N1cnJlbnRDYWxsU3RhY2ssIGNhbGxG
cmFtZUlkLCBleHByZXNzaW9uLCBvYmplY3RHcm91cCA/ICpvYmplY3RHcm91cCA6ICIiLCBhc0Jv
b2woaW5jbHVkZUNvbW1hbmRMaW5lQVBJKSwgYXNCb29sKHJldHVybkJ5VmFsdWUpLCAmcmVzdWx0
LCB3YXNUaHJvd24pOwotCi0gICAgaWYgKGFzQm9vbChkb05vdFBhdXNlT25FeGNlcHRpb25zQW5k
TXV0ZUNvbnNvbGUpKSB7Ci0gICAgICAgIHVubXV0ZUNvbnNvbGUoKTsKLSAgICAgICAgaWYgKHNj
cmlwdERlYnVnU2VydmVyKCkucGF1c2VPbkV4Y2VwdGlvbnNTdGF0ZSgpICE9IHByZXZpb3VzUGF1
c2VPbkV4Y2VwdGlvbnNTdGF0ZSkKLSAgICAgICAgICAgIHNjcmlwdERlYnVnU2VydmVyKCkuc2V0
UGF1c2VPbkV4Y2VwdGlvbnNTdGF0ZShwcmV2aW91c1BhdXNlT25FeGNlcHRpb25zU3RhdGUpOwot
ICAgIH0KKyAgICBpbmplY3RlZFNjcmlwdC5ldmFsdWF0ZU9uQ2FsbEZyYW1lKGVycm9yU3RyaW5n
LCBtX2N1cnJlbnRDYWxsU3RhY2ssIGNhbGxGcmFtZUlkLCBleHByZXNzaW9uLCBvYmplY3RHcm91
cCA/ICpvYmplY3RHcm91cCA6ICIiLCBpbmNsdWRlQ29tbWFuZExpbmVBUEkgPyAqaW5jbHVkZUNv
bW1hbmRMaW5lQVBJIDogZmFsc2UsIHJldHVybkJ5VmFsdWUgPyAqcmV0dXJuQnlWYWx1ZSA6IGZh
bHNlLCAmcmVzdWx0LCB3YXNUaHJvd24pOwogfQogCiBQYXNzUmVmUHRyPEFycmF5PFR5cGVCdWls
ZGVyOjpEZWJ1Z2dlcjo6Q2FsbEZyYW1lPiA+IEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmN1cnJl
bnRDYWxsRnJhbWVzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JEZWJ1Z2dlckFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RGVidWdnZXJBZ2VudC5oCmluZGV4IDlmNDE1YTVmMGVmODY0NTBiM2EzNTllNWEwM2ZmYmExMGE2
MzY1N2YuLjQ2ZTNhMzMxNTEwYWRlNGRkODc5OWM1ZjA1ZTljYTY3OTk2NGVkOTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaApAQCAt
MTA1LDcgKzEwNSw2IEBAIHB1YmxpYzoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgU3RyaW5nJiBleHByZXNzaW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBTdHJpbmcqIG9iamVjdEdyb3VwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBib29sKiBpbmNsdWRlQ29tbWFuZExpbmVBUEksCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGJvb2wqIGRvTm90UGF1c2VPbkV4Y2VwdGlvbnNBbmRNdXRlQ29uc29sZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYm9vbCogcmV0dXJuQnlWYWx1ZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVmUHRyPFR5cGVCdWlsZGVyOjpSdW50aW1lOjpS
ZW1vdGVPYmplY3Q+JiByZXN1bHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFR5cGVC
dWlsZGVyOjpPcHRPdXRwdXQ8Ym9vbD4qIHdhc1Rocm93bik7CkBAIC0xMjUsOCArMTI0LDYgQEAg
cHJvdGVjdGVkOgogCiAgICAgdmlydHVhbCB2b2lkIHN0YXJ0TGlzdGVuaW5nU2NyaXB0RGVidWdT
ZXJ2ZXIoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHN0b3BMaXN0ZW5pbmdTY3JpcHREZWJ1Z1Nl
cnZlcigpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgbXV0ZUNvbnNvbGUoKSA9IDA7Ci0gICAgdmly
dHVhbCB2b2lkIHVubXV0ZUNvbnNvbGUoKSA9IDA7CiAKIHByaXZhdGU6CiAgICAgdm9pZCBlbmFi
bGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSdW50
aW1lQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJ1bnRpbWVB
Z2VudC5jcHAKaW5kZXggYWQ2YzhjNmRjZTU5NjIyN2ZjNDczYzQwYzQ3OWRlMTQ3YWQ4NDliMS4u
ZjI0MGE4ODAzY2E5MzhlNzVkMmM4ODY3OTllZWU5YzY5OTFmNDNmMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5jcHAKQEAgLTcyLDE4
ICs3Miw3IEBAIEluc3BlY3RvclJ1bnRpbWVBZ2VudDo6fkluc3BlY3RvclJ1bnRpbWVBZ2VudCgp
CiAgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JSdW50aW1lQWdlbnQoMCk7
CiB9CiAKLSNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKLXN0YXRpYyBTY3JpcHREZWJ1
Z1NlcnZlcjo6UGF1c2VPbkV4Y2VwdGlvbnNTdGF0ZSBzZXRQYXVzZU9uRXhjZXB0aW9uc1N0YXRl
KFNjcmlwdERlYnVnU2VydmVyKiBzY3JpcHREZWJ1Z1NlcnZlciwgU2NyaXB0RGVidWdTZXJ2ZXI6
OlBhdXNlT25FeGNlcHRpb25zU3RhdGUgbmV3U3RhdGUpCi17Ci0gICAgQVNTRVJUKHNjcmlwdERl
YnVnU2VydmVyKTsKLSAgICBTY3JpcHREZWJ1Z1NlcnZlcjo6UGF1c2VPbkV4Y2VwdGlvbnNTdGF0
ZSBwcmVzZW50U3RhdGUgPSBzY3JpcHREZWJ1Z1NlcnZlci0+cGF1c2VPbkV4Y2VwdGlvbnNTdGF0
ZSgpOwotICAgIGlmIChwcmVzZW50U3RhdGUgIT0gbmV3U3RhdGUpCi0gICAgICAgIHNjcmlwdERl
YnVnU2VydmVyLT5zZXRQYXVzZU9uRXhjZXB0aW9uc1N0YXRlKG5ld1N0YXRlKTsKLSAgICByZXR1
cm4gcHJlc2VudFN0YXRlOwotfQotI2VuZGlmCi0KLXZvaWQgSW5zcGVjdG9yUnVudGltZUFnZW50
OjpldmFsdWF0ZShFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGNvbnN0IFN0cmluZyYgZXhwcmVz
c2lvbiwgY29uc3QgU3RyaW5nKiBjb25zdCBvYmplY3RHcm91cCwgY29uc3QgYm9vbCogY29uc3Qg
aW5jbHVkZUNvbW1hbmRMaW5lQVBJLCBjb25zdCBib29sKiBjb25zdCBkb05vdFBhdXNlT25FeGNl
cHRpb25zQW5kTXV0ZUNvbnNvbGUsIGNvbnN0IFN0cmluZyogY29uc3QgZnJhbWVJZCwgY29uc3Qg
Ym9vbCogY29uc3QgcmV0dXJuQnlWYWx1ZSwgUmVmUHRyPFR5cGVCdWlsZGVyOjpSdW50aW1lOjpS
ZW1vdGVPYmplY3Q+JiByZXN1bHQsIFR5cGVCdWlsZGVyOjpPcHRPdXRwdXQ8Ym9vbD4qIHdhc1Ro
cm93bikKK3ZvaWQgSW5zcGVjdG9yUnVudGltZUFnZW50OjpldmFsdWF0ZShFcnJvclN0cmluZyog
ZXJyb3JTdHJpbmcsIGNvbnN0IFN0cmluZyYgZXhwcmVzc2lvbiwgY29uc3QgU3RyaW5nKiBjb25z
dCBvYmplY3RHcm91cCwgY29uc3QgYm9vbCogY29uc3QgaW5jbHVkZUNvbW1hbmRMaW5lQVBJLCBj
b25zdCBib29sKiBjb25zdCBkb05vdFBhdXNlT25FeGNlcHRpb25zLCBjb25zdCBTdHJpbmcqIGNv
bnN0IGZyYW1lSWQsIGNvbnN0IGJvb2wqIGNvbnN0IHJldHVybkJ5VmFsdWUsIFJlZlB0cjxUeXBl
QnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0PiYgcmVzdWx0LCBUeXBlQnVpbGRlcjo6T3B0
T3V0cHV0PGJvb2w+KiB3YXNUaHJvd24pCiB7CiAgICAgU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRl
ID0gMDsKICAgICBpZiAoZnJhbWVJZCkgewpAQCAtMTAwLDI0ICs4OSwyNCBAQCB2b2lkIEluc3Bl
Y3RvclJ1bnRpbWVBZ2VudDo6ZXZhbHVhdGUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBjb25z
dCBTdHJpbmcmIGV4cAogICAgICAgICByZXR1cm47CiAgICAgfQogI2lmIEVOQUJMRShKQVZBU0NS
SVBUX0RFQlVHR0VSKQotICAgIFNjcmlwdERlYnVnU2VydmVyOjpQYXVzZU9uRXhjZXB0aW9uc1N0
YXRlIHByZXZpb3VzUGF1c2VPbkV4Y2VwdGlvbnNTdGF0ZSA9IFNjcmlwdERlYnVnU2VydmVyOjpE
b250UGF1c2VPbkV4Y2VwdGlvbnM7Ci0gICAgaWYgKGFzQm9vbChkb05vdFBhdXNlT25FeGNlcHRp
b25zQW5kTXV0ZUNvbnNvbGUpKQotICAgICAgICBwcmV2aW91c1BhdXNlT25FeGNlcHRpb25zU3Rh
dGUgPSBzZXRQYXVzZU9uRXhjZXB0aW9uc1N0YXRlKG1fc2NyaXB0RGVidWdTZXJ2ZXIsIFNjcmlw
dERlYnVnU2VydmVyOjpEb250UGF1c2VPbkV4Y2VwdGlvbnMpOworICAgIEFTU0VSVChtX3Njcmlw
dERlYnVnU2VydmVyKTsKKyAgICBib29sIHBhdXNlU3RhdGVDaGFuZ2VkID0gZmFsc2U7CisgICAg
U2NyaXB0RGVidWdTZXJ2ZXI6OlBhdXNlT25FeGNlcHRpb25zU3RhdGUgcHJlc2VudFN0YXRlID0g
bV9zY3JpcHREZWJ1Z1NlcnZlci0+cGF1c2VPbkV4Y2VwdGlvbnNTdGF0ZSgpOworICAgIGlmIChh
c0Jvb2woZG9Ob3RQYXVzZU9uRXhjZXB0aW9ucykgJiYgcHJlc2VudFN0YXRlICE9IFNjcmlwdERl
YnVnU2VydmVyOjpEb250UGF1c2VPbkV4Y2VwdGlvbnMpIHsKKyAgICAgICAgbV9zY3JpcHREZWJ1
Z1NlcnZlci0+c2V0UGF1c2VPbkV4Y2VwdGlvbnNTdGF0ZShTY3JpcHREZWJ1Z1NlcnZlcjo6RG9u
dFBhdXNlT25FeGNlcHRpb25zKTsKKyAgICAgICAgcGF1c2VTdGF0ZUNoYW5nZWQgPSB0cnVlOwor
ICAgIH0KICNlbmRpZgotICAgIGlmIChhc0Jvb2woZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11
dGVDb25zb2xlKSkKLSAgICAgICAgbXV0ZUNvbnNvbGUoKTsKIAogICAgIGluamVjdGVkU2NyaXB0
LmV2YWx1YXRlKGVycm9yU3RyaW5nLCBleHByZXNzaW9uLCBvYmplY3RHcm91cCA/ICpvYmplY3RH
cm91cCA6ICIiLCBhc0Jvb2woaW5jbHVkZUNvbW1hbmRMaW5lQVBJKSwgYXNCb29sKHJldHVybkJ5
VmFsdWUpLCAmcmVzdWx0LCB3YXNUaHJvd24pOwogCi0gICAgaWYgKGFzQm9vbChkb05vdFBhdXNl
T25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUpKSB7Ci0gICAgICAgIHVubXV0ZUNvbnNvbGUoKTsK
ICNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKLSAgICAgICAgc2V0UGF1c2VPbkV4Y2Vw
dGlvbnNTdGF0ZShtX3NjcmlwdERlYnVnU2VydmVyLCBwcmV2aW91c1BhdXNlT25FeGNlcHRpb25z
U3RhdGUpOworICAgIGlmIChwYXVzZVN0YXRlQ2hhbmdlZCkKKyAgICAgICAgbV9zY3JpcHREZWJ1
Z1NlcnZlci0+c2V0UGF1c2VPbkV4Y2VwdGlvbnNTdGF0ZShwcmVzZW50U3RhdGUpOwogI2VuZGlm
Ci0gICAgfQogfQogCi12b2lkIEluc3BlY3RvclJ1bnRpbWVBZ2VudDo6Y2FsbEZ1bmN0aW9uT24o
RXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBjb25zdCBTdHJpbmcmIG9iamVjdElkLCBjb25zdCBT
dHJpbmcmIGV4cHJlc3Npb24sIGNvbnN0IFJlZlB0cjxJbnNwZWN0b3JBcnJheT4qIGNvbnN0IG9w
dGlvbmFsQXJndW1lbnRzLCBjb25zdCBib29sKiBjb25zdCBkb05vdFBhdXNlT25FeGNlcHRpb25z
QW5kTXV0ZUNvbnNvbGUsIGNvbnN0IGJvb2wqIGNvbnN0IHJldHVybkJ5VmFsdWUsIFJlZlB0cjxU
eXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0PiYgcmVzdWx0LCBUeXBlQnVpbGRlcjo6
T3B0T3V0cHV0PGJvb2w+KiB3YXNUaHJvd24pCit2b2lkIEluc3BlY3RvclJ1bnRpbWVBZ2VudDo6
Y2FsbEZ1bmN0aW9uT24oRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBjb25zdCBTdHJpbmcmIG9i
amVjdElkLCBjb25zdCBTdHJpbmcmIGV4cHJlc3Npb24sIGNvbnN0IFJlZlB0cjxJbnNwZWN0b3JB
cnJheT4qIGNvbnN0IG9wdGlvbmFsQXJndW1lbnRzLCBjb25zdCBib29sKiBjb25zdCByZXR1cm5C
eVZhbHVlLCBSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJlbW90ZU9iamVjdD4mIHJlc3Vs
dCwgVHlwZUJ1aWxkZXI6Ok9wdE91dHB1dDxib29sPiogd2FzVGhyb3duKQogewogICAgIEluamVj
dGVkU2NyaXB0IGluamVjdGVkU2NyaXB0ID0gbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPmluamVj
dGVkU2NyaXB0Rm9yT2JqZWN0SWQob2JqZWN0SWQpOwogICAgIGlmIChpbmplY3RlZFNjcmlwdC5o
YXNOb1ZhbHVlKCkpIHsKQEAgLTEyOCwyMiArMTE3LDcgQEAgdm9pZCBJbnNwZWN0b3JSdW50aW1l
QWdlbnQ6OmNhbGxGdW5jdGlvbk9uKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgY29uc3QgU3Ry
aW4KICAgICBpZiAob3B0aW9uYWxBcmd1bWVudHMpCiAgICAgICAgIGFyZ3VtZW50cyA9ICgqb3B0
aW9uYWxBcmd1bWVudHMpLT50b0pTT05TdHJpbmcoKTsKIAotI2lmIEVOQUJMRShKQVZBU0NSSVBU
X0RFQlVHR0VSKQotICAgIFNjcmlwdERlYnVnU2VydmVyOjpQYXVzZU9uRXhjZXB0aW9uc1N0YXRl
IHByZXZpb3VzUGF1c2VPbkV4Y2VwdGlvbnNTdGF0ZSA9IFNjcmlwdERlYnVnU2VydmVyOjpEb250
UGF1c2VPbkV4Y2VwdGlvbnM7Ci0gICAgaWYgKGFzQm9vbChkb05vdFBhdXNlT25FeGNlcHRpb25z
QW5kTXV0ZUNvbnNvbGUpKQotICAgICAgICBwcmV2aW91c1BhdXNlT25FeGNlcHRpb25zU3RhdGUg
PSBzZXRQYXVzZU9uRXhjZXB0aW9uc1N0YXRlKG1fc2NyaXB0RGVidWdTZXJ2ZXIsIFNjcmlwdERl
YnVnU2VydmVyOjpEb250UGF1c2VPbkV4Y2VwdGlvbnMpOwotI2VuZGlmCi0gICAgaWYgKGFzQm9v
bChkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUpKQotICAgICAgICBtdXRlQ29u
c29sZSgpOwotCiAgICAgaW5qZWN0ZWRTY3JpcHQuY2FsbEZ1bmN0aW9uT24oZXJyb3JTdHJpbmcs
IG9iamVjdElkLCBleHByZXNzaW9uLCBhcmd1bWVudHMsIGFzQm9vbChyZXR1cm5CeVZhbHVlKSwg
JnJlc3VsdCwgd2FzVGhyb3duKTsKLQotICAgIGlmIChhc0Jvb2woZG9Ob3RQYXVzZU9uRXhjZXB0
aW9uc0FuZE11dGVDb25zb2xlKSkgewotICAgICAgICB1bm11dGVDb25zb2xlKCk7Ci0jaWYgRU5B
QkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCi0gICAgICAgIHNldFBhdXNlT25FeGNlcHRpb25zU3Rh
dGUobV9zY3JpcHREZWJ1Z1NlcnZlciwgcHJldmlvdXNQYXVzZU9uRXhjZXB0aW9uc1N0YXRlKTsK
LSNlbmRpZgotICAgIH0KIH0KIAogdm9pZCBJbnNwZWN0b3JSdW50aW1lQWdlbnQ6OmdldFByb3Bl
cnRpZXMoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBjb25zdCBTdHJpbmcmIG9iamVjdElkLCBj
b25zdCBib29sKiBjb25zdCBvd25Qcm9wZXJ0aWVzLCBSZWZQdHI8VHlwZUJ1aWxkZXI6OkFycmF5
PFR5cGVCdWlsZGVyOjpSdW50aW1lOjpQcm9wZXJ0eURlc2NyaXB0b3I+ID4mIHJlc3VsdCkKQEAg
LTE1MywxOCArMTI3LDcgQEAgdm9pZCBJbnNwZWN0b3JSdW50aW1lQWdlbnQ6OmdldFByb3BlcnRp
ZXMoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBjb25zdCBTdHJpbmcKICAgICAgICAgKmVycm9y
U3RyaW5nID0gIkluc3BlY3RlZCBmcmFtZSBoYXMgZ29uZSI7CiAgICAgICAgIHJldHVybjsKICAg
ICB9Ci0KLSNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKLSAgICBTY3JpcHREZWJ1Z1Nl
cnZlcjo6UGF1c2VPbkV4Y2VwdGlvbnNTdGF0ZSBwcmV2aW91c1BhdXNlT25FeGNlcHRpb25zU3Rh
dGUgPSBzZXRQYXVzZU9uRXhjZXB0aW9uc1N0YXRlKG1fc2NyaXB0RGVidWdTZXJ2ZXIsIFNjcmlw
dERlYnVnU2VydmVyOjpEb250UGF1c2VPbkV4Y2VwdGlvbnMpOwotI2VuZGlmCi0gICAgbXV0ZUNv
bnNvbGUoKTsKLQogICAgIGluamVjdGVkU2NyaXB0LmdldFByb3BlcnRpZXMoZXJyb3JTdHJpbmcs
IG9iamVjdElkLCBvd25Qcm9wZXJ0aWVzID8gKm93blByb3BlcnRpZXMgOiBmYWxzZSwgJnJlc3Vs
dCk7Ci0KLSAgICB1bm11dGVDb25zb2xlKCk7Ci0jaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdH
RVIpCi0gICAgc2V0UGF1c2VPbkV4Y2VwdGlvbnNTdGF0ZShtX3NjcmlwdERlYnVnU2VydmVyLCBw
cmV2aW91c1BhdXNlT25FeGNlcHRpb25zU3RhdGUpOwotI2VuZGlmCiB9CiAKIHZvaWQgSW5zcGVj
dG9yUnVudGltZUFnZW50OjpyZWxlYXNlT2JqZWN0KEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5n
JiBvYmplY3RJZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JSdW50aW1lQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSdW50
aW1lQWdlbnQuaAppbmRleCA4MjgwYWUyZTUwZWFmYTNiMWQxNDMxZGE3ZWFiZmY5MDU4NmM3NGNi
Li4yMWYzYjkwZjIwYjgzZDIyM2ExMWMzNzU5ZDdmNWViMGU2MWM2ZDYxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUnVudGltZUFnZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5oCkBAIC02MSw3ICs2
MSw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgICAgICAgIGNvbnN0IFN0cmluZyYgZXhwcmVzc2lv
biwKICAgICAgICAgICAgICAgICAgIGNvbnN0IFN0cmluZyogb2JqZWN0R3JvdXAsCiAgICAgICAg
ICAgICAgICAgICBjb25zdCBib29sKiBpbmNsdWRlQ29tbWFuZExpbmVBUEksCi0gICAgICAgICAg
ICAgICAgICBjb25zdCBib29sKiBkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUs
CisgICAgICAgICAgICAgICAgICBjb25zdCBib29sKiBkb05vdFBhdXNlT25FeGNlcHRpb25zLAog
ICAgICAgICAgICAgICAgICAgY29uc3QgU3RyaW5nKiBmcmFtZUlkLAogICAgICAgICAgICAgICAg
ICAgY29uc3QgYm9vbCogcmV0dXJuQnlWYWx1ZSwKICAgICAgICAgICAgICAgICAgIFJlZlB0cjxU
eXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0PiYgcmVzdWx0LApAQCAtNzAsNyArNzAs
NiBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBTdHJpbmcmIG9iamVj
dElkLAogICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgU3RyaW5nJiBleHByZXNzaW9uLAog
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgUmVmUHRyPEluc3BlY3RvckFycmF5Piogb3B0
aW9uYWxBcmd1bWVudHMsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBib29sKiBkb05v
dFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBib29sKiByZXR1cm5CeVZhbHVlLAogICAgICAgICAgICAgICAgICAgICAgICAgUmVm
UHRyPFR5cGVCdWlsZGVyOjpSdW50aW1lOjpSZW1vdGVPYmplY3Q+JiByZXN1bHQsCiAgICAgICAg
ICAgICAgICAgICAgICAgICBUeXBlQnVpbGRlcjo6T3B0T3V0cHV0PGJvb2w+KiB3YXNUaHJvd24p
OwpAQCAtOTAsOCArODksNiBAQCBwcm90ZWN0ZWQ6CiAgICAgSW5zcGVjdG9yUnVudGltZUFnZW50
KEluc3RydW1lbnRpbmdBZ2VudHMqLCBJbnNwZWN0b3JTdGF0ZSosIEluamVjdGVkU2NyaXB0TWFu
YWdlciopOwogICAgIHZpcnR1YWwgU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlRm9yRnJhbWVJZChj
b25zdCBTdHJpbmcmIGZyYW1lSWQpID0gMDsKICAgICB2aXJ0dWFsIFNjcmlwdFN0YXRlKiBnZXRE
ZWZhdWx0SW5zcGVjdGVkU3RhdGUoKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIG11dGVDb25zb2xl
KCkgPSAwOwotICAgIHZpcnR1YWwgdm9pZCB1bm11dGVDb25zb2xlKCkgPSAwOwogCiBwcml2YXRl
OgogICAgIEluamVjdGVkU2NyaXB0TWFuYWdlciogbV9pbmplY3RlZFNjcmlwdE1hbmFnZXI7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZURlYnVnZ2VyQWdlbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VEZWJ1Z2dlckFnZW50LmNwcAppbmRleCBi
YTlhN2U0NjBkNGFjYTI3YjJmYWQxZjIzOTlmOWI2MjllOWIxYmU3Li4xMTNkZDRlNTAyZTBmMWJl
MTNmZWY0ZTZiYzhiN2UxY2Y0NTczMDMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvUGFnZURlYnVnZ2VyQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9QYWdlRGVidWdnZXJBZ2VudC5jcHAKQEAgLTM0LDcgKzM0LDYgQEAKIAogI2luY2x1ZGUgIlBh
Z2VEZWJ1Z2dlckFnZW50LmgiCiAKLSNpbmNsdWRlICJDb25zb2xlLmgiCiAjaW5jbHVkZSAiUGFn
ZVNjcmlwdERlYnVnU2VydmVyLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTY5LDE2ICs2
OCw2IEBAIFBhZ2VTY3JpcHREZWJ1Z1NlcnZlciYgUGFnZURlYnVnZ2VyQWdlbnQ6OnNjcmlwdERl
YnVnU2VydmVyKCkKICAgICByZXR1cm4gUGFnZVNjcmlwdERlYnVnU2VydmVyOjpzaGFyZWQoKTsK
IH0KIAotdm9pZCBQYWdlRGVidWdnZXJBZ2VudDo6bXV0ZUNvbnNvbGUoKQotewotICAgIENvbnNv
bGU6Om11dGUoKTsKLX0KLQotdm9pZCBQYWdlRGVidWdnZXJBZ2VudDo6dW5tdXRlQ29uc29sZSgp
Ci17Ci0gICAgQ29uc29sZTo6dW5tdXRlKCk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAogI2VuZGlmIC8vIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKSAmJiBFTkFCTEUoSU5TUEVD
VE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VEZWJ1Z2dlckFn
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZURlYnVnZ2VyQWdlbnQuaAppbmRl
eCA3Mjc1MjQ4MTliMGY2NTA0ODQ1NTkyMmYzZDljMmY0YWZkM2M3ZGVhLi43ZDZhZjZjMmI2MzUx
YmY3NGU5Mjk3NDMxZTcwNzE4ZmE3ZTY2MGViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvUGFnZURlYnVnZ2VyQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvUGFnZURlYnVnZ2VyQWdlbnQuaApAQCAtNTEsOCArNTEsNiBAQCBwcml2YXRlOgogICAgIHZp
cnR1YWwgdm9pZCBzdGFydExpc3RlbmluZ1NjcmlwdERlYnVnU2VydmVyKCk7CiAgICAgdmlydHVh
bCB2b2lkIHN0b3BMaXN0ZW5pbmdTY3JpcHREZWJ1Z1NlcnZlcigpOwogICAgIHZpcnR1YWwgUGFn
ZVNjcmlwdERlYnVnU2VydmVyJiBzY3JpcHREZWJ1Z1NlcnZlcigpOwotICAgIHZpcnR1YWwgdm9p
ZCBtdXRlQ29uc29sZSgpOwotICAgIHZpcnR1YWwgdm9pZCB1bm11dGVDb25zb2xlKCk7CiAKICAg
ICBQYWdlRGVidWdnZXJBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiwgSW5zcGVjdG9yU3RhdGUq
LCBQYWdlKiwgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKik7CiAgICAgUGFnZSogY29uc3QgbV9pbnNw
ZWN0ZWRQYWdlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VSdW50
aW1lQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VSdW50aW1lQWdlbnQu
Y3BwCmluZGV4IDkyODRmMzkyNjQ5N2E1YmQxZWFmYmJlYWQ2MmQ0ZmMyNDQzNzIwYWYuLjdkMDdl
ZTMxNGYzYjMwZDk0MTdlMjgyNDdhMTUwMmJmZTJjZmQwZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9QYWdlUnVudGltZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvUGFnZVJ1bnRpbWVBZ2VudC5jcHAKQEAgLTM0LDcgKzM0LDYgQEAKIAogI2lu
Y2x1ZGUgIlBhZ2VSdW50aW1lQWdlbnQuaCIKIAotI2luY2x1ZGUgIkNvbnNvbGUuaCIKICNpbmNs
dWRlICJJbnNwZWN0b3JQYWdlQWdlbnQuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAi
U2NyaXB0U3RhdGUuaCIKQEAgLTY1LDE2ICs2NCw2IEBAIFNjcmlwdFN0YXRlKiBQYWdlUnVudGlt
ZUFnZW50OjpnZXREZWZhdWx0SW5zcGVjdGVkU3RhdGUoKQogICAgIHJldHVybiBtYWluV29ybGRT
Y3JpcHRTdGF0ZShtX2luc3BlY3RlZFBhZ2UtPm1haW5GcmFtZSgpKTsKIH0KIAotdm9pZCBQYWdl
UnVudGltZUFnZW50OjptdXRlQ29uc29sZSgpCi17Ci0gICAgQ29uc29sZTo6bXV0ZSgpOwotfQot
Ci12b2lkIFBhZ2VSdW50aW1lQWdlbnQ6OnVubXV0ZUNvbnNvbGUoKQotewotICAgIENvbnNvbGU6
OnVubXV0ZSgpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFC
TEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VS
dW50aW1lQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlUnVudGltZUFnZW50
LmgKaW5kZXggMzI2MTRhODk0ZmE2NjU2OTk0NjEwMGVlMWQzMmM5MGNhZTdjMTU4Ny4uZmZlMjkw
Y2I0MDI2MzU2Yzg4YWZiZmNhMDQ5NzU1YzEzNDU0Y2YwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL1BhZ2VSdW50aW1lQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvUGFnZVJ1bnRpbWVBZ2VudC5oCkBAIC01NCw4ICs1NCw2IEBAIHByaXZhdGU6CiAK
ICAgICB2aXJ0dWFsIFNjcmlwdFN0YXRlKiBzY3JpcHRTdGF0ZUZvckZyYW1lSWQoY29uc3QgU3Ry
aW5nJiBmcmFtZUlkKTsKICAgICB2aXJ0dWFsIFNjcmlwdFN0YXRlKiBnZXREZWZhdWx0SW5zcGVj
dGVkU3RhdGUoKTsKLSAgICB2aXJ0dWFsIHZvaWQgbXV0ZUNvbnNvbGUoKTsKLSAgICB2aXJ0dWFs
IHZvaWQgdW5tdXRlQ29uc29sZSgpOwogICAgIFBhZ2UqIG1faW5zcGVjdGVkUGFnZTsKICAgICBJ
bnNwZWN0b3JQYWdlQWdlbnQqIG1fcGFnZUFnZW50OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJEZWJ1Z2dlckFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9Xb3JrZXJEZWJ1Z2dlckFnZW50LmNwcAppbmRleCAyYzZmMmJkYTFkNmYyOTJh
YjM4ZGQ0ZmY0ZTM5MjNmNTEyYTk1MjY4Li5lMjJkMDY4ZjQzMmRjNjI5ZTJkNjI0NGZhMWNkNzY2
NjJkZjU5MDRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VyRGVi
dWdnZXJBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckRlYnVn
Z2VyQWdlbnQuY3BwCkBAIC0xMjQsMTYgKzEyNCw2IEBAIFdvcmtlclNjcmlwdERlYnVnU2VydmVy
JiBXb3JrZXJEZWJ1Z2dlckFnZW50OjpzY3JpcHREZWJ1Z1NlcnZlcigpCiAgICAgcmV0dXJuIG1f
c2NyaXB0RGVidWdTZXJ2ZXI7CiB9CiAKLXZvaWQgV29ya2VyRGVidWdnZXJBZ2VudDo6bXV0ZUNv
bnNvbGUoKQotewotICAgIC8vIFdlIGRvbid0IG5lZWQgdG8gbXV0ZSBjb25zb2xlIGZvciB3b3Jr
ZXJzLgotfQotCi12b2lkIFdvcmtlckRlYnVnZ2VyQWdlbnQ6OnVubXV0ZUNvbnNvbGUoKQotewot
ICAgIC8vIFdlIGRvbid0IG5lZWQgdG8gbXV0ZSBjb25zb2xlIGZvciB3b3JrZXJzLgotfQotCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoSkFWQVNDUklQVF9ERUJV
R0dFUikgJiYgRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKFdPUktFUlMpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VyRGVidWdnZXJBZ2VudC5oIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckRlYnVnZ2VyQWdlbnQuaAppbmRleCA3YWU2OGFhODRk
NGM0ZDFkZThhYjdhMTc0NjA3YzM4YmEzYTk0MGJlLi44MDE3YWMwMzg0OTA4MTliZTJhNWIwNTQx
ZDRjNzk2YWM2NWE3ZWU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29y
a2VyRGVidWdnZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJE
ZWJ1Z2dlckFnZW50LmgKQEAgLTU2LDggKzU2LDYgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZv
aWQgc3RhcnRMaXN0ZW5pbmdTY3JpcHREZWJ1Z1NlcnZlcigpOwogICAgIHZpcnR1YWwgdm9pZCBz
dG9wTGlzdGVuaW5nU2NyaXB0RGVidWdTZXJ2ZXIoKTsKICAgICB2aXJ0dWFsIFdvcmtlclNjcmlw
dERlYnVnU2VydmVyJiBzY3JpcHREZWJ1Z1NlcnZlcigpOwotICAgIHZpcnR1YWwgdm9pZCBtdXRl
Q29uc29sZSgpOwotICAgIHZpcnR1YWwgdm9pZCB1bm11dGVDb25zb2xlKCk7CiAKICAgICBXb3Jr
ZXJTY3JpcHREZWJ1Z1NlcnZlciBtX3NjcmlwdERlYnVnU2VydmVyOwogICAgIFdvcmtlckNvbnRl
eHQqIG1faW5zcGVjdGVkV29ya2VyQ29udGV4dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9Xb3JrZXJSdW50aW1lQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL1dvcmtlclJ1bnRpbWVBZ2VudC5jcHAKaW5kZXggMWM0NDU3ZTE5YzMzNDg3YWI0Y2Y4OWJk
MWI4MmIxZmEwMzEzOGMzOC4uODViOGFlNTA3ZDE5NjJkYTZlZTQzN2IxNDEwMWI3NjIxYzNmYjMy
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlclJ1bnRpbWVBZ2Vu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlclJ1bnRpbWVBZ2VudC5j
cHAKQEAgLTU4LDE2ICs1OCw2IEBAIFNjcmlwdFN0YXRlKiBXb3JrZXJSdW50aW1lQWdlbnQ6Omdl
dERlZmF1bHRJbnNwZWN0ZWRTdGF0ZSgpCiAgICAgcmV0dXJuIHNjcmlwdFN0YXRlRnJvbVdvcmtl
ckNvbnRleHQobV93b3JrZXJDb250ZXh0KTsKIH0KIAotdm9pZCBXb3JrZXJSdW50aW1lQWdlbnQ6
Om11dGVDb25zb2xlKCkKLXsKLSAgICAvLyBXZSBkb24ndCBuZWVkIHRvIG11dGUgY29uc29sZSBm
b3Igd29ya2Vycy4KLX0KLQotdm9pZCBXb3JrZXJSdW50aW1lQWdlbnQ6OnVubXV0ZUNvbnNvbGUo
KQotewotICAgIC8vIFdlIGRvbid0IG5lZWQgdG8gbXV0ZSBjb25zb2xlIGZvciB3b3JrZXJzLgot
fQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9S
KSAmJiBFTkFCTEUoV09SS0VSUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9Xb3JrZXJSdW50aW1lQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJS
dW50aW1lQWdlbnQuaAppbmRleCBjY2ZlMWZiMDNhZDg4YjVmMDU5ZTM1ZmZiNTI0YzFkNzU5NmFj
ZmYxLi5kMjY5YTJmZTM2ZTg1NjNhMzc2ZGRjOWNmNmJhOTBiZGRhZTZkZDU4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VyUnVudGltZUFnZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlclJ1bnRpbWVBZ2VudC5oCkBAIC01Miw4ICs1Miw2
IEBAIHByaXZhdGU6CiAgICAgV29ya2VyUnVudGltZUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMq
LCBJbnNwZWN0b3JTdGF0ZSosIEluamVjdGVkU2NyaXB0TWFuYWdlciosIFdvcmtlckNvbnRleHQq
KTsKICAgICB2aXJ0dWFsIFNjcmlwdFN0YXRlKiBzY3JpcHRTdGF0ZUZvckZyYW1lSWQoY29uc3Qg
U3RyaW5nJiBmcmFtZUlkKTsKICAgICB2aXJ0dWFsIFNjcmlwdFN0YXRlKiBnZXREZWZhdWx0SW5z
cGVjdGVkU3RhdGUoKTsKLSAgICB2aXJ0dWFsIHZvaWQgbXV0ZUNvbnNvbGUoKTsKLSAgICB2aXJ0
dWFsIHZvaWQgdW5tdXRlQ29uc29sZSgpOwogICAgIFdvcmtlckNvbnRleHQqIG1fd29ya2VyQ29u
dGV4dDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvQ29uc29sZVZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Nv
bnNvbGVWaWV3LmpzCmluZGV4IDliMTE5MmNlM2FiNDRkM2FmZGM3ODA2MWVkZTkxZTI5Zjg0Zjk4
NmYuLjc2MjZjM2UyOWEwYTQ3ZTQxMmViYzNmMTg3MzNlNDEyYjdkMTA4Y2EgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcwpAQCAtNTg2
LDE0ICs1ODYsMTQgQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZSA9IHsKICAg
ICAgKiBAcGFyYW0ge3N0cmluZ30gZXhwcmVzc2lvbgogICAgICAqIEBwYXJhbSB7c3RyaW5nfSBv
YmplY3RHcm91cAogICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gaW5jbHVkZUNvbW1hbmRMaW5lQVBJ
Ci0gICAgICogQHBhcmFtIHtib29sZWFufSBkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNv
bnNvbGUKKyAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IGRvTm90UGF1c2VPbkV4Y2VwdGlvbnMKICAg
ICAgKiBAcGFyYW0ge2Jvb2xlYW59IHJldHVybkJ5VmFsdWUKICAgICAgKiBAcGFyYW0ge2Z1bmN0
aW9uKD9XZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LCBib29sZWFuLCBSdW50aW1lQWdlbnQuUmVt
b3RlT2JqZWN0PSl9IGNhbGxiYWNrCiAgICAgICovCi0gICAgZXZhbEluSW5zcGVjdGVkV2luZG93
OiBmdW5jdGlvbihleHByZXNzaW9uLCBvYmplY3RHcm91cCwgaW5jbHVkZUNvbW1hbmRMaW5lQVBJ
LCBkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUsIHJldHVybkJ5VmFsdWUsIGNh
bGxiYWNrKQorICAgIGV2YWxJbkluc3BlY3RlZFdpbmRvdzogZnVuY3Rpb24oZXhwcmVzc2lvbiwg
b2JqZWN0R3JvdXAsIGluY2x1ZGVDb21tYW5kTGluZUFQSSwgZG9Ob3RQYXVzZU9uRXhjZXB0aW9u
cywgcmV0dXJuQnlWYWx1ZSwgY2FsbGJhY2spCiAgICAgewogICAgICAgICBpZiAoV2ViSW5zcGVj
dG9yLmRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuc2VsZWN0ZWRDYWxsRnJhbWUpIHsKLSAgICAg
ICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLmV2YWx1YXRlSW5T
ZWxlY3RlZENhbGxGcmFtZShleHByZXNzaW9uLCBvYmplY3RHcm91cCwgaW5jbHVkZUNvbW1hbmRM
aW5lQVBJLCBkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUsIHJldHVybkJ5VmFs
dWUsIGNhbGxiYWNrKTsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlclByZXNlbnRh
dGlvbk1vZGVsLmV2YWx1YXRlSW5TZWxlY3RlZENhbGxGcmFtZShleHByZXNzaW9uLCBvYmplY3RH
cm91cCwgaW5jbHVkZUNvbW1hbmRMaW5lQVBJLCByZXR1cm5CeVZhbHVlLCBjYWxsYmFjayk7CiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIApAQCAtNjIwLDcgKzYyMCw3IEBAIFdlYklu
c3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBlbHNlCiAgICAg
ICAgICAgICAgICAgY2FsbGJhY2soV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5mcm9tUGF5bG9h
ZChyZXN1bHQpLCAhIXdhc1Rocm93bik7CiAgICAgICAgIH0KLSAgICAgICAgUnVudGltZUFnZW50
LmV2YWx1YXRlKGV4cHJlc3Npb24sIG9iamVjdEdyb3VwLCBpbmNsdWRlQ29tbWFuZExpbmVBUEks
IGRvTm90UGF1c2VPbkV4Y2VwdGlvbnNBbmRNdXRlQ29uc29sZSwgdGhpcy5fY3VycmVudEV2YWx1
YXRpb25Db250ZXh0SWQoKSwgcmV0dXJuQnlWYWx1ZSwgZXZhbENhbGxiYWNrKTsKKyAgICAgICAg
UnVudGltZUFnZW50LmV2YWx1YXRlKGV4cHJlc3Npb24sIG9iamVjdEdyb3VwLCBpbmNsdWRlQ29t
bWFuZExpbmVBUEksIGRvTm90UGF1c2VPbkV4Y2VwdGlvbnMsIHRoaXMuX2N1cnJlbnRFdmFsdWF0
aW9uQ29udGV4dElkKCksIHJldHVybkJ5VmFsdWUsIGV2YWxDYWxsYmFjayk7CiAgICAgfSwKIAog
ICAgIGV2YWx1YXRlVXNpbmdUZXh0UHJvbXB0OiBmdW5jdGlvbihleHByZXNzaW9uLCBzaG93UmVz
dWx0T25seSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
RGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5qcwppbmRleCBlOWFhYjE1NmZiMTg4
MWM3NzRiNzgyNDQwNjNiZTJmYjEyODhhNGZhLi5hYmU0NzViMTY1NDYxODc0MWM3YWIyNWM3NzY0
YmIwNmM2OTcwOTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0RlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLmpzCkBAIC00NTksMTQg
KzQ1OSw5IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlw
ZSA9IHsKICAgICB9LAogCiAgICAgLyoqCi0gICAgICogQHBhcmFtIHtzdHJpbmd9IGNvZGUKLSAg
ICAgKiBAcGFyYW0ge3N0cmluZ30gb2JqZWN0R3JvdXAKLSAgICAgKiBAcGFyYW0ge2Jvb2xlYW59
IGluY2x1ZGVDb21tYW5kTGluZUFQSQotICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gZG9Ob3RQYXVz
ZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlCi0gICAgICogQHBhcmFtIHtib29sZWFufSByZXR1
cm5CeVZhbHVlCiAgICAgICogQHBhcmFtIHtmdW5jdGlvbig/V2ViSW5zcGVjdG9yLlJlbW90ZU9i
amVjdCwgYm9vbGVhbiwgUnVudGltZUFnZW50LlJlbW90ZU9iamVjdD0pfSBjYWxsYmFjawogICAg
ICAqLwotICAgIGV2YWx1YXRlSW5TZWxlY3RlZENhbGxGcmFtZTogZnVuY3Rpb24oY29kZSwgb2Jq
ZWN0R3JvdXAsIGluY2x1ZGVDb21tYW5kTGluZUFQSSwgZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0Fu
ZE11dGVDb25zb2xlLCByZXR1cm5CeVZhbHVlLCBjYWxsYmFjaykKKyAgICBldmFsdWF0ZUluU2Vs
ZWN0ZWRDYWxsRnJhbWU6IGZ1bmN0aW9uKGNvZGUsIG9iamVjdEdyb3VwLCBpbmNsdWRlQ29tbWFu
ZExpbmVBUEksIHJldHVybkJ5VmFsdWUsIGNhbGxiYWNrKQogICAgIHsKICAgICAgICAgLyoqCiAg
ICAgICAgICAqIEBwYXJhbSB7P1J1bnRpbWVBZ2VudC5SZW1vdGVPYmplY3R9IHJlc3VsdApAQCAt
NDgzLDcgKzQ3OCw3IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLnBy
b3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVy
cyhXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5FdmVudHMuQ29uc29sZUNv
bW1hbmRFdmFsdWF0ZWRJblNlbGVjdGVkQ2FsbEZyYW1lKTsKICAgICAgICAgfQogCi0gICAgICAg
IHRoaXMuc2VsZWN0ZWRDYWxsRnJhbWUuZXZhbHVhdGUoY29kZSwgb2JqZWN0R3JvdXAsIGluY2x1
ZGVDb21tYW5kTGluZUFQSSwgZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlLCBy
ZXR1cm5CeVZhbHVlLCBkaWRFdmFsdWF0ZS5iaW5kKHRoaXMpKTsKKyAgICAgICAgdGhpcy5zZWxl
Y3RlZENhbGxGcmFtZS5ldmFsdWF0ZShjb2RlLCBvYmplY3RHcm91cCwgaW5jbHVkZUNvbW1hbmRM
aW5lQVBJLCByZXR1cm5CeVZhbHVlLCBkaWRFdmFsdWF0ZS5iaW5kKHRoaXMpKTsKICAgICB9LAog
CiAgICAgLyoqCkBAIC02ODksMTEgKzY4NCwxMCBAQCBXZWJJbnNwZWN0b3IuUHJlc2VudGF0aW9u
Q2FsbEZyYW1lLnByb3RvdHlwZSA9IHsKICAgICAgKiBAcGFyYW0ge3N0cmluZ30gY29kZQogICAg
ICAqIEBwYXJhbSB7c3RyaW5nfSBvYmplY3RHcm91cAogICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0g
aW5jbHVkZUNvbW1hbmRMaW5lQVBJCi0gICAgICogQHBhcmFtIHtib29sZWFufSBkb05vdFBhdXNl
T25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUKICAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IHJldHVy
bkJ5VmFsdWUKICAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKD9SdW50aW1lQWdlbnQuUmVtb3RlT2Jq
ZWN0LCBib29sZWFuPSk9fSBjYWxsYmFjawogICAgICAqLwotICAgIGV2YWx1YXRlOiBmdW5jdGlv
bihjb2RlLCBvYmplY3RHcm91cCwgaW5jbHVkZUNvbW1hbmRMaW5lQVBJLCBkb05vdFBhdXNlT25F
eGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUsIHJldHVybkJ5VmFsdWUsIGNhbGxiYWNrKQorICAgIGV2
YWx1YXRlOiBmdW5jdGlvbihjb2RlLCBvYmplY3RHcm91cCwgaW5jbHVkZUNvbW1hbmRMaW5lQVBJ
LCByZXR1cm5CeVZhbHVlLCBjYWxsYmFjaykKICAgICB7CiAgICAgICAgIC8qKgogICAgICAgICAg
KiBAdGhpcyB7V2ViSW5zcGVjdG9yLlByZXNlbnRhdGlvbkNhbGxGcmFtZX0KQEAgLTcxMCw3ICs3
MDQsNyBAQCBXZWJJbnNwZWN0b3IuUHJlc2VudGF0aW9uQ2FsbEZyYW1lLnByb3RvdHlwZSA9IHsK
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGNhbGxiYWNrKHJlc3VsdCwgd2FzVGhyb3duKTsK
ICAgICAgICAgfQotICAgICAgICBEZWJ1Z2dlckFnZW50LmV2YWx1YXRlT25DYWxsRnJhbWUodGhp
cy5fY2FsbEZyYW1lLmNhbGxGcmFtZUlkLCBjb2RlLCBvYmplY3RHcm91cCwgaW5jbHVkZUNvbW1h
bmRMaW5lQVBJLCBkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGUsIHJldHVybkJ5
VmFsdWUsIGRpZEV2YWx1YXRlT25DYWxsRnJhbWUuYmluZCh0aGlzKSk7CisgICAgICAgIERlYnVn
Z2VyQWdlbnQuZXZhbHVhdGVPbkNhbGxGcmFtZSh0aGlzLl9jYWxsRnJhbWUuY2FsbEZyYW1lSWQs
IGNvZGUsIG9iamVjdEdyb3VwLCBpbmNsdWRlQ29tbWFuZExpbmVBUEksIHJldHVybkJ5VmFsdWUs
IGRpZEV2YWx1YXRlT25DYWxsRnJhbWUuYmluZCh0aGlzKSk7CiAgICAgfSwKIAogICAgIC8qKgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZW1vdGVPYmpl
Y3QuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1JlbW90ZU9iamVjdC5q
cwppbmRleCBmM2QzYTRjZDYyMDYyN2MxMDJkOTEzZDVhZGM1OGNkNTE3MjAxYTk1Li4yZjc3ZGVh
NmFjMGU4MzM4NjE1N2Q1MTI1YzM1M2E3OGExNzc2MDViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1JlbW90ZU9iamVjdC5qcworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1JlbW90ZU9iamVjdC5qcwpAQCAtMjE5LDcgKzIxOSw3
IEBAIFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3QucHJvdG90eXBlID0gewogICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICB9CiAKLSAgICAgICAgUnVudGltZUFnZW50LmV2YWx1YXRlLmludm9r
ZSh7ZXhwcmVzc2lvbjp2YWx1ZSwgZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xl
OnRydWV9LCBldmFsdWF0ZWRDYWxsYmFjay5iaW5kKHRoaXMpKTsKKyAgICAgICAgUnVudGltZUFn
ZW50LmV2YWx1YXRlLmludm9rZSh7ZXhwcmVzc2lvbjp2YWx1ZSwgZG9Ob3RQYXVzZU9uRXhjZXB0
aW9uczp0cnVlfSwgZXZhbHVhdGVkQ2FsbGJhY2suYmluZCh0aGlzKSk7CiAKICAgICAgICAgLyoq
CiAgICAgICAgICAqIEBwYXJhbSB7P1Byb3RvY29sLkVycm9yfSBlcnJvcgpAQCAtMjM5LDcgKzIz
OSw3IEBAIFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3QucHJvdG90eXBlID0gewogICAgICAgICAg
ICAgfQogCiAgICAgICAgICAgICBkZWxldGUgcmVzdWx0LmRlc2NyaXB0aW9uOyAvLyBPcHRpbWl6
ZSBvbiB0cmFmZmljLgotICAgICAgICAgICAgUnVudGltZUFnZW50LmNhbGxGdW5jdGlvbk9uKHRo
aXMuX29iamVjdElkLCBzZXRQcm9wZXJ0eVZhbHVlLnRvU3RyaW5nKCksIFt7IHZhbHVlOm5hbWUg
fSwgcmVzdWx0XSwgdHJ1ZSwgdW5kZWZpbmVkLCBwcm9wZXJ0eVNldENhbGxiYWNrLmJpbmQodGhp
cykpOworICAgICAgICAgICAgUnVudGltZUFnZW50LmNhbGxGdW5jdGlvbk9uKHRoaXMuX29iamVj
dElkLCBzZXRQcm9wZXJ0eVZhbHVlLnRvU3RyaW5nKCksIFt7IHZhbHVlOm5hbWUgfSwgcmVzdWx0
XSwgdW5kZWZpbmVkLCBwcm9wZXJ0eVNldENhbGxiYWNrLmJpbmQodGhpcykpOwogICAgICAgICAg
ICAgaWYgKHJlc3VsdC5fb2JqZWN0SWQpCiAgICAgICAgICAgICAgICAgUnVudGltZUFnZW50LnJl
bGVhc2VPYmplY3QocmVzdWx0Ll9vYmplY3RJZCk7CiAgICAgICAgIH0KQEAgLTI4Nyw3ICsyODcs
NyBAQCBXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAg
IGNhbGxiYWNrKChlcnJvciB8fCB3YXNUaHJvd24pID8gbnVsbCA6IFdlYkluc3BlY3Rvci5SZW1v
dGVPYmplY3QuZnJvbVBheWxvYWQocmVzdWx0KSk7CiAgICAgICAgIH0KIAotICAgICAgICBSdW50
aW1lQWdlbnQuY2FsbEZ1bmN0aW9uT24odGhpcy5fb2JqZWN0SWQsIGZ1bmN0aW9uRGVjbGFyYXRp
b24udG9TdHJpbmcoKSwgYXJncywgdHJ1ZSwgdW5kZWZpbmVkLCBteWNhbGxiYWNrKTsKKyAgICAg
ICAgUnVudGltZUFnZW50LmNhbGxGdW5jdGlvbk9uKHRoaXMuX29iamVjdElkLCBmdW5jdGlvbkRl
Y2xhcmF0aW9uLnRvU3RyaW5nKCksIGFyZ3MsIHVuZGVmaW5lZCwgbXljYWxsYmFjayk7CiAgICAg
fSwKIAogICAgIC8qKgpAQCAtMzA3LDcgKzMwNyw3IEBAIFdlYkluc3BlY3Rvci5SZW1vdGVPYmpl
Y3QucHJvdG90eXBlID0gewogICAgICAgICAgICAgY2FsbGJhY2soKGVycm9yIHx8IHdhc1Rocm93
bikgPyBudWxsIDogcmVzdWx0LnZhbHVlKTsKICAgICAgICAgfQogCi0gICAgICAgIFJ1bnRpbWVB
Z2VudC5jYWxsRnVuY3Rpb25Pbih0aGlzLl9vYmplY3RJZCwgZnVuY3Rpb25EZWNsYXJhdGlvbi50
b1N0cmluZygpLCBhcmdzLCB0cnVlLCB0cnVlLCBteWNhbGxiYWNrKTsKKyAgICAgICAgUnVudGlt
ZUFnZW50LmNhbGxGdW5jdGlvbk9uKHRoaXMuX29iamVjdElkLCBmdW5jdGlvbkRlY2xhcmF0aW9u
LnRvU3RyaW5nKCksIGFyZ3MsIHRydWUsIG15Y2FsbGJhY2spOwogICAgIH0sCiAKICAgICByZWxl
YXNlOiBmdW5jdGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1dvcmtlck1hbmFnZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1dvcmtlck1hbmFnZXIuanMKaW5kZXggYzlmMDUzZGM0YThkZGYwZGM2NTEwMWFmNGY4Yzdj
MWEzYzQxNGYxNS4uMzAyODQxYmE4ZjM3YTEwNzNjOTVkNWNiMzQ4MDc0NDYxZGJkZTMwMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Xb3JrZXJNYW5hZ2Vy
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV29ya2VyTWFuYWdl
ci5qcwpAQCAtOTgsNyArOTgsNyBAQCBXZWJJbnNwZWN0b3IuV29ya2VyTWFuYWdlci5fY2FsY3Vs
YXRlV29ya2VySW5zcGVjdG9yVGl0bGUgPSBmdW5jdGlvbigpCiAgICAgdmFyIGV4cHJlc3Npb24g
PSAibG9jYXRpb24uaHJlZiI7CiAgICAgaWYgKFdlYkluc3BlY3Rvci5xdWVyeVBhcmFtc09iamVj
dFsiaXNTaGFyZWRXb3JrZXIiXSkKICAgICAgICAgZXhwcmVzc2lvbiArPSAiICsgKHRoaXMubmFt
ZSA/ICcgKCcgKyB0aGlzLm5hbWUgKyAnKScgOiAnJykiOwotICAgIFJ1bnRpbWVBZ2VudC5ldmFs
dWF0ZS5pbnZva2Uoe2V4cHJlc3Npb246ZXhwcmVzc2lvbiwgZG9Ob3RQYXVzZU9uRXhjZXB0aW9u
c0FuZE11dGVDb25zb2xlOnRydWUsIHJldHVybkJ5VmFsdWU6IHRydWV9LCBldmFsQ2FsbGJhY2su
YmluZCh0aGlzKSk7CisgICAgUnVudGltZUFnZW50LmV2YWx1YXRlLmludm9rZSh7ZXhwcmVzc2lv
bjpleHByZXNzaW9uLCBkb05vdFBhdXNlT25FeGNlcHRpb25zOnRydWUsIHJldHVybkJ5VmFsdWU6
IHRydWV9LCBldmFsQ2FsbGJhY2suYmluZCh0aGlzKSk7CiAgICAgCiAgICAgLyoqCiAgICAgICog
QHBhcmFtIHs/UHJvdG9jb2wuRXJyb3J9IGVycm9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0NvbnNvbGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmNwcAppbmRl
eCA3NmM2NDUwNjhjNDRkZDA4MzJjMTU4NjRkNmJiNDFmMjY1NmUwYWI2Li5mZTBmMGFmN2M3ZWVk
YjQ5NmE2MTEyZGVhYTk4ZGEwYmY5YjY0ODExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0NvbnNvbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5jcHAKQEAg
LTU1LDEwICs1NSw2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotbmFtZXNwYWNlIHsKLSAg
ICBpbnQgbXV0ZUNvdW50ID0gMDsKLX0KLQogQ29uc29sZTo6Q29uc29sZShGcmFtZSogZnJhbWUp
CiAgICAgOiBET01XaW5kb3dQcm9wZXJ0eShmcmFtZSkKIHsKQEAgLTEzMiw2ICsxMjgsOCBAQCBz
dGF0aWMgdm9pZCBwcmludE1lc3NhZ2VTb3VyY2VBbmRMZXZlbFByZWZpeChNZXNzYWdlU291cmNl
IHNvdXJjZSwgTWVzc2FnZUxldmVsCiAgICAgcHJpbnRmKCIlcyAlczoiLCBzb3VyY2VTdHJpbmcs
IGxldmVsU3RyaW5nKTsKIH0KIAordm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3Nh
Z2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxT
Y3JpcHRDYWxsU3RhY2s+KTsKKwogdm9pZCBDb25zb2xlOjphZGRNZXNzYWdlKE1lc3NhZ2VTb3Vy
Y2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykKIHsK
ICAgICBhZGRNZXNzYWdlKHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIFN0cmluZygpLCAw
LCBjYWxsU3RhY2spOwpAQCAtMTM5LDEwICsxMzcsNiBAQCB2b2lkIENvbnNvbGU6OmFkZE1lc3Nh
Z2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBs
ZQogCiB2b2lkIENvbnNvbGU6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3Nh
Z2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBj
b25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgUGFzc1JlZlB0cjxT
Y3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykKIHsKLQotICAgIGlmIChtdXRlQ291bnQgJiYgc291
cmNlICE9IENvbnNvbGVBUElNZXNzYWdlU291cmNlKQotICAgICAgICByZXR1cm47Ci0KICAgICBQ
YWdlKiBwYWdlID0gdGhpcy0+cGFnZSgpOwogICAgIGlmICghcGFnZSkKICAgICAgICAgcmV0dXJu
OwpAQCAtMjE3LDExICsyMTEsNiBAQCB2b2lkIENvbnNvbGU6OmxvZyhQYXNzUmVmUHRyPFNjcmlw
dEFyZ3VtZW50cz4gYXJndW1lbnRzLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdAogICAgIGFkZE1l
c3NhZ2UoTG9nTWVzc2FnZVR5cGUsIExvZ01lc3NhZ2VMZXZlbCwgYXJndW1lbnRzLCBjYWxsU3Rh
Y2spOwogfQogCi12b2lkIENvbnNvbGU6Ondhcm4oUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+
IGFyZ3VtZW50cywgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykKLXsKLSAg
ICBhZGRNZXNzYWdlKExvZ01lc3NhZ2VUeXBlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBhcmd1bWVu
dHMsIGNhbGxTdGFjayk7Ci19Ci0KIHZvaWQgQ29uc29sZTo6ZGlyKFBhc3NSZWZQdHI8U2NyaXB0
QXJndW1lbnRzPiBhcmd1bWVudHMsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3Rh
Y2spCiB7CiAgICAgYWRkTWVzc2FnZShEaXJNZXNzYWdlVHlwZSwgTG9nTWVzc2FnZUxldmVsLCBh
cmd1bWVudHMsIGNhbGxTdGFjayk7CkBAIC0zNDIsMTcgKzMzMSw5IEBAIHZvaWQgQ29uc29sZTo6
Z3JvdXBFbmQoKQogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29u
c29sZShwYWdlKCksIENvbnNvbGVBUElNZXNzYWdlU291cmNlLCBFbmRHcm91cE1lc3NhZ2VUeXBl
LCBMb2dNZXNzYWdlTGV2ZWwsIFN0cmluZygpLCBTdHJpbmcoKSwgMCk7CiB9CiAKLS8vIHN0YXRp
Ywotdm9pZCBDb25zb2xlOjptdXRlKCkKLXsKLSAgICBtdXRlQ291bnQrKzsKLX0KLQotLy8gc3Rh
dGljCi12b2lkIENvbnNvbGU6OnVubXV0ZSgpCit2b2lkIENvbnNvbGU6Ondhcm4oUGFzc1JlZlB0
cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cywgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+
IGNhbGxTdGFjaykKIHsKLSAgICBBU1NFUlQobXV0ZUNvdW50ID4gMCk7Ci0gICAgbXV0ZUNvdW50
LS07CisgICAgYWRkTWVzc2FnZShMb2dNZXNzYWdlVHlwZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwg
YXJndW1lbnRzLCBjYWxsU3RhY2spOwogfQogCiBQYXNzUmVmUHRyPE1lbW9yeUluZm8+IENvbnNv
bGU6Om1lbW9yeSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNv
bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5oCmluZGV4IDkxNjc5NGVhMTkzYTE1
ODU2ZGM2ZTE1NjQ4ODM0ZGFkYTU1YTdkYTUuLjg5ZTI5NTVkNmNiNDg1NTM2NDIzNzU3Zjk2ZGIw
YmQyNTVjMzViNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5oCkBAIC04MSw5ICs4MSw2IEBAIHB1Ymxp
YzoKICAgICB2b2lkIGdyb3VwQ29sbGFwc2VkKFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiwg
UGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKICAgICB2b2lkIGdyb3VwRW5kKCk7CiAKLSAg
ICBzdGF0aWMgdm9pZCBtdXRlKCk7Ci0gICAgc3RhdGljIHZvaWQgdW5tdXRlKCk7Ci0KICAgICBz
dGF0aWMgYm9vbCBzaG91bGRQcmludEV4Y2VwdGlvbnMoKTsKICAgICBzdGF0aWMgdm9pZCBzZXRT
aG91bGRQcmludEV4Y2VwdGlvbnMoYm9vbCk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>