<?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>32411</bug_id>
          
          <creation_ts>2009-12-11 01:57:21 -0800</creation_ts>
          <short_desc>Web Inspector: Do not use ContextMenuItem as value type in custom context menu implementation.</short_desc>
          <delta_ts>2009-12-29 01:27:06 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</assigned_to>
          <cc>bweinstein</cc>
    
    <cc>eric</cc>
    
    <cc>joepeck</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>170657</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-12-11 01:57:21 -0800</bug_when>
    <thetext>Rename ContextMenuSelectionHandler to ContextMenuProvider, make it responsible for populating the menu items and owning them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170696</commentid>
    <comment_count>1</comment_count>
      <attachid>44672</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-12-11 04:45:34 -0800</bug_when>
    <thetext>Created attachment 44672
[PATCH] Proposed fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170697</commentid>
    <comment_count>2</comment_count>
      <attachid>44673</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-12-11 04:48:45 -0800</bug_when>
    <thetext>Created attachment 44673
[PATCH] Same with a style fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170698</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-11 04:50:20 -0800</bug_when>
    <thetext>Attachment 44673 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebCore/page/ContextMenuProvider.h:38:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Skipping input &apos;WebCore/page/ContextMenuSelectionHandler.h&apos;: Can&apos;t open for reading
Total errors found: 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175447</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-12-28 23:37:04 -0800</bug_when>
    <thetext>Ping?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175481</commentid>
    <comment_count>5</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-12-29 01:27:06 -0800</bug_when>
    <thetext>Landed manually long ago. Sorry for not updating the bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44672</attachid>
            <date>2009-12-11 04:45:34 -0800</date>
            <delta_ts>2009-12-11 04:48:45 -0800</delta_ts>
            <desc>[PATCH] Proposed fix.</desc>
            <filename>context_ownership</filename>
            <type>text/plain</type>
            <size>22798</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NjMxNjQzMy4uZWVmZjk3MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MSBAQAorMjAwOS0xMi0xMSAgUGF2ZWwgRmVsZG1h
biAgPHBmZWxkbWFuQGRoY3AtMTcyLTI4LTE3NC0yMjAuc3BiLmNvcnAuZ29vZ2xlLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBEbyBub3QgdXNlIENvbnRleHRNZW51SXRlbSBhcyB2YWx1ZSB0eXBlIGluIGN1c3RvbQor
ICAgICAgICBjb250ZXh0IG1lbnUgaW1wbGVtZW50YXRpb24uCisKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyNDExCisKKyAgICAgICAgKiBHTlVtYWtl
ZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86
CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pT
SW5zcGVjdG9yRnJvbnRlbmRIb3N0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTSW5z
cGVjdG9yRnJvbnRlbmRIb3N0OjpzaG93Q29udGV4dE1lbnUpOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
RnJvbnRlbmRIb3N0OjpJbnNwZWN0b3JGcm9udGVuZEhvc3QpOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9yRnJvbnRlbmRIb3N0Ojp+SW5zcGVjdG9yRnJvbnRlbmRIb3N0KToKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kSG9zdDo6c2hvd0NvbnRleHRNZW51KToKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kSG9zdDo6Y29udGV4dE1lbnVDbGVhcmVkKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0Lmg6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZEhvc3Q6Ok1lbnVQcm92aWRlcjo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kSG9zdDo6TWVudVByb3ZpZGVyOjp+TWVu
dVByb3ZpZGVyKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kSG9zdDo6TWVu
dVByb3ZpZGVyOjpkaXNjb25uZWN0KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZyb250
ZW5kSG9zdDo6TWVudVByb3ZpZGVyOjpwb3B1bGF0ZUNvbnRleHRNZW51KToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvckZyb250ZW5kSG9zdDo6TWVudVByb3ZpZGVyOjpjb250ZXh0TWVudUNs
ZWFyZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRIb3N0OjpNZW51UHJv
dmlkZXI6Ok1lbnVQcm92aWRlcik6CisgICAgICAgICogcGFnZS9Db250ZXh0TWVudUNvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGV4dE1lbnVDb250cm9sbGVyOjpDb250ZXh0
TWVudUNvbnRyb2xsZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGV4dE1lbnVDb250cm9sbGVy
OjpjbGVhckNvbnRleHRNZW51KToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51Q29udHJv
bGxlcjo6c2hvd0NvbnRleHRNZW51KToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51Q29u
dHJvbGxlcjo6Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQpOgorICAgICAgICAqIHBhZ2UvQ29udGV4
dE1lbnVDb250cm9sbGVyLmg6CisgICAgICAgICogcGFnZS9Db250ZXh0TWVudVByb3ZpZGVyLmg6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q29udGV4dE1lbnVQcm92aWRlcjo6fkNvbnRleHRN
ZW51UHJvdmlkZXIpOgorICAgICAgICAqIHBhZ2UvQ29udGV4dE1lbnVTZWxlY3Rpb25IYW5kbGVy
Lmg6IFJlbW92ZWQuCisKIDIwMDktMTItMTAgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IGY4ZmEzMDIu
LmI4ZTZhZjcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbQpAQCAtMTMxOCw3ICsxMzE4LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9
IFwKIAlXZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDbGllbnQuaCBcCiAJV2ViQ29yZS9wYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5jcHAgXAogCVdlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRy
b2xsZXIuaCBcCi0JV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51U2VsZWN0aW9uSGFuZGxlci5oIFwK
KwlXZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVQcm92aWRlci5oIFwKIAlXZWJDb3JlL3BhZ2UvQ29v
cmRpbmF0ZXMuaCBcCiAJV2ViQ29yZS9wYWdlL0RPTVNlbGVjdGlvbi5jcHAgXAogCVdlYkNvcmUv
cGFnZS9ET01TZWxlY3Rpb24uaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBi
L1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDRhMzdjNzkuLmFiN2EzNzYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0xNzU5
LDcgKzE3NTksNyBAQAogICAgICAgICAgICAgJ3BhZ2UvQ29udGV4dE1lbnVDbGllbnQuaCcsCiAg
ICAgICAgICAgICAncGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwJywKICAgICAgICAgICAg
ICdwYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oJywKLSAgICAgICAgICAgICdwYWdlL0NvbnRl
eHRNZW51U2VsZWN0aW9uSGFuZGxlci5oJywKKyAgICAgICAgICAgICdwYWdlL0NvbnRleHRNZW51
UHJvdmlkZXIuaCcsCiAgICAgICAgICAgICAncGFnZS9ET01TZWxlY3Rpb24uY3BwJywKICAgICAg
ICAgICAgICdwYWdlL0RPTVNlbGVjdGlvbi5oJywKICAgICAgICAgICAgICdwYWdlL0RPTVRpbWVy
LmNwcCcsCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvV2ViQ29yZS9XZWJDb3Jl
LnBybwppbmRleCBiZmVlZTYxLi5iYjRlYTFiIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUu
cHJvCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTE4NDAsNyArMTg0MCw3IEBAIEhFQURF
UlMgKz0gXAogICAgIHBhZ2UvQ2hyb21lLmggXAogICAgIHBhZ2UvQ29uc29sZS5oIFwKICAgICBw
YWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oIFwKLSAgICBwYWdlL0NvbnRleHRNZW51U2VsZWN0
aW9uSGFuZGxlci5oIFwKKyAgICBwYWdlL0NvbnRleHRNZW51UHJvdmlkZXIuaCBcCiAgICAgcGFn
ZS9Db29yZGluYXRlcy5oIFwKICAgICBwYWdlL0RPTVNlbGVjdGlvbi5oIFwKICAgICBwYWdlL0RP
TVRpbWVyLmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggMDk5NDVm
NS4uNDUyNjU2YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0yMDUy
Nyw3ICsyMDUyNyw3IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXHBhZ2VcQ29udGV4dE1lbnVTZWxlY3Rpb25IYW5kbGVyLmgiDQorCQkJCVJl
bGF0aXZlUGF0aD0iLi5ccGFnZVxDb250ZXh0TWVudVByb3ZpZGVyLmgiDQogCQkJCT4NCiAJCQk8
L0ZpbGU+DQogCQkJPEZpbGUNCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDJkMGI4MDQuLjZlNDI5OWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC0xMjUxLDcgKzEyNTEsNyBAQAogCQk3QTc0RUNCQTEwMTgzOUE2
MDBCRjkzOUUgLyogSW5zcGVjdG9yQmFja2VuZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QTc0RUNCODEwMTgzOUE1MDBCRjkzOUUgLyogSW5zcGVj
dG9yQmFja2VuZC5jcHAgKi87IH07CiAJCTdBNzRFQ0JCMTAxODM5QTYwMEJGOTM5RSAvKiBJbnNw
ZWN0b3JCYWNrZW5kLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3QTc0RUNCOTEwMTgzOUE2MDBCRjkzOUUgLyogSW5zcGVjdG9yQmFja2VuZC5oICovOyB9
OwogCQk3QTc0RUNCRDEwMTgzOURBMDBCRjkzOUUgLyogSlNJbnNwZWN0b3JGcm9udGVuZEhvc3RD
dXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
N0E3NEVDQkMxMDE4MzlEQTAwQkY5MzlFIC8qIEpTSW5zcGVjdG9yRnJvbnRlbmRIb3N0Q3VzdG9t
LmNwcCAqLzsgfTsKLQkJN0FERTcyMjYxMENCQkI5QjAwNkIzQjNBIC8qIENvbnRleHRNZW51U2Vs
ZWN0aW9uSGFuZGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gN0FERTcyMjUxMENCQkI5QjAwNkIzQjNBIC8qIENvbnRleHRNZW51U2VsZWN0aW9uSGFu
ZGxlci5oICovOyB9OworCQk3QURFNzIyNjEwQ0JCQjlCMDA2QjNCM0EgLyogQ29udGV4dE1lbnVQ
cm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
N0FERTcyMjUxMENCQkI5QjAwNkIzQjNBIC8qIENvbnRleHRNZW51UHJvdmlkZXIuaCAqLzsgfTsK
IAkJN0FFRDNFMDUwRkJCMUVBQTAwRDJCMDNDIC8qIEluc3BlY3RvckZyb250ZW5kLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBRUQzRTAzMEZCQjFF
QUEwMEQyQjAzQyAvKiBJbnNwZWN0b3JGcm9udGVuZC5jcHAgKi87IH07CiAJCTdBRUQzRTA2MEZC
QjFFQUEwMEQyQjAzQyAvKiBJbnNwZWN0b3JGcm9udGVuZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0FFRDNFMDQwRkJCMUVBQTAwRDJCMDNDIC8qIElu
c3BlY3RvckZyb250ZW5kLmggKi87IH07CiAJCTg0MjI0MTgzMTA3RTc3RjQwMDc2NkE4NyAvKiBK
U1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODQyMjQxODExMDdFNzdGNDAwNzY2QTg3IC8qIEpTU1ZHRkVNb3Jw
aG9sb2d5RWxlbWVudC5jcHAgKi87IH07CkBAIC02NTkxLDcgKzY1OTEsNyBAQAogCQk3QTc0RUNC
ODEwMTgzOUE1MDBCRjkzOUUgLyogSW5zcGVjdG9yQmFja2VuZC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0b3JCYWNrZW5kLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJN0E3NEVDQjkxMDE4MzlBNjAwQkY5MzlFIC8qIEluc3BlY3RvckJh
Y2tlbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yQmFja2Vu
ZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QTc0RUNCQzEwMTgzOURBMDBCRjkz
OUUgLyogSlNJbnNwZWN0b3JGcm9udGVuZEhvc3RDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNJbnNwZWN0b3JGcm9udGVuZEhvc3RDdXN0b20uY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk3QURFNzIyNTEwQ0JCQjlCMDA2QjNCM0EgLyog
Q29udGV4dE1lbnVTZWxlY3Rpb25IYW5kbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IENvbnRleHRNZW51U2VsZWN0aW9uSGFuZGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk3QURFNzIyNTEwQ0JCQjlCMDA2QjNCM0EgLyogQ29udGV4dE1lbnVQcm92aWRl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb250ZXh0TWVudVByb3ZpZGVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdBRUQzRTAzMEZCQjFFQUEwMEQyQjAz
QyAvKiBJbnNwZWN0b3JGcm9udGVuZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBJbnNwZWN0b3JGcm9udGVuZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTdBRUQzRTA0MEZCQjFFQUEwMEQyQjAzQyAvKiBJbnNwZWN0b3JGcm9udGVuZC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JGcm9udGVuZC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk4NDIyNDE4MTEwN0U3N0Y0MDA3NjZBODcgLyogSlNTVkdG
RU1vcnBob2xvZ3lFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEpTU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0xMTI0MSw3ICsxMTI0MSw3IEBACiAJCQkJMDY1QUQ0RjIwQjBDMkVEQTAwNUEyQjFE
IC8qIENvbnRleHRNZW51Q2xpZW50LmggKi8sCiAJCQkJMDY1QUQ0RjMwQjBDMkVEQTAwNUEyQjFE
IC8qIENvbnRleHRNZW51Q29udHJvbGxlci5jcHAgKi8sCiAJCQkJMDY1QUQ0RjQwQjBDMkVEQTAw
NUEyQjFEIC8qIENvbnRleHRNZW51Q29udHJvbGxlci5oICovLAotCQkJCTdBREU3MjI1MTBDQkJC
OUIwMDZCM0IzQSAvKiBDb250ZXh0TWVudVNlbGVjdGlvbkhhbmRsZXIuaCAqLywKKwkJCQk3QURF
NzIyNTEwQ0JCQjlCMDA2QjNCM0EgLyogQ29udGV4dE1lbnVQcm92aWRlci5oICovLAogCQkJCUZF
NkZENDg1MEY2NzZFNTcwMDA5Mjg3MyAvKiBDb29yZGluYXRlcy5oICovLAogCQkJCUZFNkZENDg2
MEY2NzZFNTcwMDA5Mjg3MyAvKiBDb29yZGluYXRlcy5pZGwgKi8sCiAJCQkJQkM1QTg2ODEwQzMz
Njc2MDAwRUVBNjQ5IC8qIERPTVNlbGVjdGlvbi5jcHAgKi8sCkBAIC0xODI0Myw3ICsxODI0Myw3
IEBACiAJCQkJN0EwRTc3MUYxMEMwMERCMTAwQTAyNzZFIC8qIEpTSW5zcGVjdG9yRnJvbnRlbmRI
b3N0LmggaW4gSGVhZGVycyAqLywKIAkJCQlGNEVBRjRBRjEwQzc0MkIxMDA5MTAwRDMgLyogT3Bl
blR5cGVTYW5pdGl6ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTU5OUQxRTMzMTBDOTdENkUwMEUw
RUYxMiAvKiBqbmlfdXRpbGl0eV9wcml2YXRlLmggaW4gSGVhZGVycyAqLywKLQkJCQk3QURFNzIy
NjEwQ0JCQjlCMDA2QjNCM0EgLyogQ29udGV4dE1lbnVTZWxlY3Rpb25IYW5kbGVyLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk3QURFNzIyNjEwQ0JCQjlCMDA2QjNCM0EgLyogQ29udGV4dE1lbnVQcm92
aWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEMzRjFGNUIxMEM4ODcxMjAwRDcyQ0UxIC8qIFdl
YkdMVW5pZm9ybUxvY2F0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzQ1MzQyODEwQ0RCQkZB
MDA4NjkxNTcgLyogSlNXZWJHTFVuaWZvcm1Mb2NhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0luc3BlY3RvckZyb250ZW5kSG9z
dEN1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW5zcGVjdG9yRnJvbnRlbmRIb3N0
Q3VzdG9tLmNwcAppbmRleCAxOTcwYmY3Li5mZjIzZTg0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTSW5zcGVjdG9yRnJvbnRlbmRIb3N0Q3VzdG9tLmNwcAorKysgYi9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTSW5zcGVjdG9yRnJvbnRlbmRIb3N0Q3VzdG9tLmNwcApAQCAtMTAxLDE3
ICsxMDEsMTcgQEAgSlNWYWx1ZSBKU0luc3BlY3RvckZyb250ZW5kSG9zdDo6c2hvd0NvbnRleHRN
ZW51KEV4ZWNTdGF0ZSogZXhlY1N0YXRlLCBjb25zdCBBcmcKICAgICBFdmVudCogZXZlbnQgPSB0
b0V2ZW50KGFyZ3MuYXQoMCkpOwogCiAgICAgSlNBcnJheSogYXJyYXkgPSBhc0FycmF5KGFyZ3Mu
YXQoMSkpOwotICAgIFZlY3RvcjxDb250ZXh0TWVudUl0ZW0+IGl0ZW1zOworICAgIFZlY3RvcjxD
b250ZXh0TWVudUl0ZW0qPiBpdGVtczsKIAogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgYXJy
YXktPmxlbmd0aCgpOyArK2kpIHsKICAgICAgICAgSlNPYmplY3QqIGl0ZW0gPSBhc09iamVjdChh
cnJheS0+Z2V0SW5kZXgoaSkpOwogICAgICAgICBKU1ZhbHVlIGxhYmVsID0gaXRlbS0+Z2V0KGV4
ZWNTdGF0ZSwgSWRlbnRpZmllcihleGVjU3RhdGUsICJsYWJlbCIpKTsKICAgICAgICAgSlNWYWx1
ZSBpZCA9IGl0ZW0tPmdldChleGVjU3RhdGUsIElkZW50aWZpZXIoZXhlY1N0YXRlLCAiaWQiKSk7
CiAgICAgICAgIGlmIChsYWJlbC5pc1VuZGVmaW5lZCgpIHx8IGlkLmlzVW5kZWZpbmVkKCkpCi0g
ICAgICAgICAgICBpdGVtcy5hcHBlbmQoQ29udGV4dE1lbnVJdGVtKFNlcGFyYXRvclR5cGUsIENv
bnRleHRNZW51SXRlbVRhZ05vQWN0aW9uLCBTdHJpbmcoKSkpOworICAgICAgICAgICAgaXRlbXMu
YXBwZW5kKG5ldyBDb250ZXh0TWVudUl0ZW0oU2VwYXJhdG9yVHlwZSwgQ29udGV4dE1lbnVJdGVt
VGFnTm9BY3Rpb24sIFN0cmluZygpKSk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgQ29u
dGV4dE1lbnVBY3Rpb24gdHlwZWRJZCA9IHN0YXRpY19jYXN0PENvbnRleHRNZW51QWN0aW9uPihD
b250ZXh0TWVudUl0ZW1CYXNlQ3VzdG9tVGFnICsgaWQudG9JbnQzMihleGVjU3RhdGUpKTsKLSAg
ICAgICAgICAgIGl0ZW1zLmFwcGVuZChDb250ZXh0TWVudUl0ZW0oQWN0aW9uVHlwZSwgdHlwZWRJ
ZCwgbGFiZWwudG9TdHJpbmcoZXhlY1N0YXRlKSkpOworICAgICAgICAgICAgaXRlbXMuYXBwZW5k
KG5ldyBDb250ZXh0TWVudUl0ZW0oQWN0aW9uVHlwZSwgdHlwZWRJZCwgbGFiZWwudG9TdHJpbmco
ZXhlY1N0YXRlKSkpOwogICAgICAgICB9CiAgICAgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRnJvbnRlbmRIb3N0LmNwcAppbmRleCAyYjgzOTQyLi5kMDY3MzQ2IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCisrKyBiL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKQEAgLTM1LDcgKzM1LDcgQEAK
ICNpbmNsdWRlICJDb250ZXh0TWVudS5oIgogI2luY2x1ZGUgIkNvbnRleHRNZW51SXRlbS5oIgog
I2luY2x1ZGUgIkNvbnRleHRNZW51Q29udHJvbGxlci5oIgotI2luY2x1ZGUgIkNvbnRleHRNZW51
U2VsZWN0aW9uSGFuZGxlci5oIgorI2luY2x1ZGUgIkNvbnRleHRNZW51UHJvdmlkZXIuaCIKICNp
bmNsdWRlICJFbGVtZW50LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZUxv
YWRlci5oIgpAQCAtNTYsMTMgKzU2LDEzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIEluc3BlY3Rv
ckZyb250ZW5kSG9zdDo6SW5zcGVjdG9yRnJvbnRlbmRIb3N0KEluc3BlY3RvckNvbnRyb2xsZXIq
IGluc3BlY3RvckNvbnRyb2xsZXIsIEluc3BlY3RvckNsaWVudCogY2xpZW50KQogICAgIDogbV9p
bnNwZWN0b3JDb250cm9sbGVyKGluc3BlY3RvckNvbnRyb2xsZXIpCiAgICAgLCBtX2NsaWVudChj
bGllbnQpCi0gICAgLCBtX21lbnVTZWxlY3Rpb25IYW5kbGVyKE1lbnVTZWxlY3Rpb25IYW5kbGVy
OjpjcmVhdGUodGhpcykpCiB7CiB9CiAKIEluc3BlY3RvckZyb250ZW5kSG9zdDo6fkluc3BlY3Rv
ckZyb250ZW5kSG9zdCgpCiB7Ci0gICAgbV9tZW51U2VsZWN0aW9uSGFuZGxlci0+ZGlzY29ubmVj
dCgpOworICAgIGlmIChtX21lbnVQcm92aWRlcikKKyAgICAgICAgbV9tZW51UHJvdmlkZXItPmRp
c2Nvbm5lY3QoKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OmxvYWRlZCgpCkBA
IC0yMDgsMTUgKzIwOCwxNyBAQCB2b2lkIEluc3BlY3RvckZyb250ZW5kSG9zdDo6c2V0U2V0dGlu
Zyhjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgU3RyaW5nJiB2YWx1ZSkKICAgICAgICAgbV9pbnNw
ZWN0b3JDb250cm9sbGVyLT5zZXRTZXR0aW5nKGtleSwgdmFsdWUpOwogfQogCi12b2lkIEluc3Bl
Y3RvckZyb250ZW5kSG9zdDo6c2hvd0NvbnRleHRNZW51KEV2ZW50KiBldmVudCwgVmVjdG9yPENv
bnRleHRNZW51SXRlbT4mIGl0ZW1zKQordm9pZCBJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OnNob3dD
b250ZXh0TWVudShFdmVudCogZXZlbnQsIGNvbnN0IFZlY3RvcjxDb250ZXh0TWVudUl0ZW0qPiYg
aXRlbXMpCiB7CiAgICAgaWYgKCFtX2luc3BlY3RvckNvbnRyb2xsZXIpCiAgICAgICAgIHJldHVy
bjsKICAgICBpZiAoIW1faW5zcGVjdG9yQ29udHJvbGxlci0+d2luZG93VmlzaWJsZSgpKQogICAg
ICAgICByZXR1cm47CiAKKworICAgIG1fbWVudVByb3ZpZGVyID0gTWVudVByb3ZpZGVyOjpjcmVh
dGUodGhpcywgaXRlbXMpOwogICAgIENvbnRleHRNZW51Q29udHJvbGxlciogbWVudUNvbnRyb2xs
ZXIgPSBtX2luc3BlY3RvckNvbnRyb2xsZXItPm1fcGFnZS0+Y29udGV4dE1lbnVDb250cm9sbGVy
KCk7Ci0gICAgbWVudUNvbnRyb2xsZXItPnNob3dDb250ZXh0TWVudShldmVudCwgaXRlbXMsIG1f
bWVudVNlbGVjdGlvbkhhbmRsZXIpOworICAgIG1lbnVDb250cm9sbGVyLT5zaG93Q29udGV4dE1l
bnUoZXZlbnQsIG1fbWVudVByb3ZpZGVyKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JGcm9udGVuZEhv
c3Q6OmNvbnRleHRNZW51SXRlbVNlbGVjdGVkKENvbnRleHRNZW51SXRlbSogaXRlbSkKQEAgLTIy
OSw2ICsyMzEsNyBAQCB2b2lkIEluc3BlY3RvckZyb250ZW5kSG9zdDo6Y29udGV4dE1lbnVJdGVt
U2VsZWN0ZWQoQ29udGV4dE1lbnVJdGVtKiBpdGVtKQogCiB2b2lkIEluc3BlY3RvckZyb250ZW5k
SG9zdDo6Y29udGV4dE1lbnVDbGVhcmVkKCkKIHsKKyAgICBtX21lbnVQcm92aWRlciA9IDA7CiAg
ICAgaWYgKG1faW5zcGVjdG9yQ29udHJvbGxlciAmJiBtX2luc3BlY3RvckNvbnRyb2xsZXItPndp
bmRvd1Zpc2libGUoKSkKICAgICAgICAgbV9pbnNwZWN0b3JDb250cm9sbGVyLT5tX2Zyb250ZW5k
LT5jb250ZXh0TWVudUNsZWFyZWQoKTsKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckZyb250ZW5kSG9zdC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJv
bnRlbmRIb3N0LmgKaW5kZXggZTBjZmE2ZC4uM2I2YWViNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRIb3N0LmgKQEAgLTMwLDcgKzMwLDggQEAKICNkZWZpbmUgSW5zcGVj
dG9yRnJvbnRlbmRIb3N0X2gKIAogI2luY2x1ZGUgIkNvbnNvbGUuaCIKLSNpbmNsdWRlICJDb250
ZXh0TWVudVNlbGVjdGlvbkhhbmRsZXIuaCIKKyNpbmNsdWRlICJDb250ZXh0TWVudS5oIgorI2lu
Y2x1ZGUgIkNvbnRleHRNZW51UHJvdmlkZXIuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb250cm9s
bGVyLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKIApAQCAtNzksMjEgKzgwLDMxIEBA
IHB1YmxpYzoKICAgICB2b2lkIHNldFNldHRpbmcoY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IFN0
cmluZyYgdmFsdWUpOwogCiAgICAgLy8gQ2FsbGVkIGZyb20gW0N1c3RvbV0gaW1wbGVtZW50YXRp
b25zLgotICAgIHZvaWQgc2hvd0NvbnRleHRNZW51KEV2ZW50KiwgVmVjdG9yPENvbnRleHRNZW51
SXRlbT4mIGl0ZW1zKTsKLSAgICB2b2lkIGNvbnRleHRNZW51SXRlbVNlbGVjdGVkKENvbnRleHRN
ZW51SXRlbSopOwotICAgIHZvaWQgY29udGV4dE1lbnVDbGVhcmVkKCk7CisgICAgdm9pZCBzaG93
Q29udGV4dE1lbnUoRXZlbnQqLCBjb25zdCBWZWN0b3I8Q29udGV4dE1lbnVJdGVtKj4mIGl0ZW1z
KTsKIAogcHJpdmF0ZToKLSAgICBjbGFzcyBNZW51U2VsZWN0aW9uSGFuZGxlciA6IHB1YmxpYyBD
b250ZXh0TWVudVNlbGVjdGlvbkhhbmRsZXIgeworICAgIGNsYXNzIE1lbnVQcm92aWRlciA6IHB1
YmxpYyBDb250ZXh0TWVudVByb3ZpZGVyIHsKICAgICBwdWJsaWM6Ci0gICAgICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPE1lbnVTZWxlY3Rpb25IYW5kbGVyPiBjcmVhdGUoSW5zcGVjdG9yRnJvbnRlbmRI
b3N0KiBmcm9udGVuZEhvc3QpCisgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lbnVQcm92aWRl
cj4gY3JlYXRlKEluc3BlY3RvckZyb250ZW5kSG9zdCogZnJvbnRlbmRIb3N0LCBjb25zdCBWZWN0
b3I8Q29udGV4dE1lbnVJdGVtKj4mIGl0ZW1zKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1
cm4gYWRvcHRSZWYobmV3IE1lbnVQcm92aWRlcihmcm9udGVuZEhvc3QsIGl0ZW1zKSk7CisgICAg
ICAgIH0KKworICAgICAgICB2aXJ0dWFsIH5NZW51UHJvdmlkZXIoKQogICAgICAgICB7Ci0gICAg
ICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1lbnVTZWxlY3Rpb25IYW5kbGVyKGZyb250ZW5k
SG9zdCkpOworICAgICAgICAgICAgY29udGV4dE1lbnVDbGVhcmVkKCk7CiAgICAgICAgIH0KIAot
ICAgICAgICB2aXJ0dWFsIH5NZW51U2VsZWN0aW9uSGFuZGxlcigpIHsgfQorICAgICAgICB2b2lk
IGRpc2Nvbm5lY3QoKQorICAgICAgICB7CisgICAgICAgICAgICBtX2Zyb250ZW5kSG9zdCA9IDA7
CisgICAgICAgIH0KIAotICAgICAgICB2b2lkIGRpc2Nvbm5lY3QoKSB7IG1fZnJvbnRlbmRIb3N0
ID0gMDsgfQorICAgICAgICB2aXJ0dWFsIHZvaWQgcG9wdWxhdGVDb250ZXh0TWVudShDb250ZXh0
TWVudSogbWVudSkKKyAgICAgICAgeworICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBtX2l0ZW1zLnNpemUoKTsgKytpKQorICAgICAgICAgICAgICAgIG1lbnUtPmFwcGVuZEl0ZW0o
Km1faXRlbXNbaV0pOworICAgICAgICB9CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGNvbnRleHRN
ZW51SXRlbVNlbGVjdGVkKENvbnRleHRNZW51SXRlbSogaXRlbSkKICAgICAgICAgewpAQCAtMTA1
LDE5ICsxMTYsMjYgQEAgcHJpdmF0ZToKICAgICAgICAgewogICAgICAgICAgICAgaWYgKG1fZnJv
bnRlbmRIb3N0KQogICAgICAgICAgICAgICAgIG1fZnJvbnRlbmRIb3N0LT5jb250ZXh0TWVudUNs
ZWFyZWQoKTsKKyAgICAgICAgICAgIGRlbGV0ZUFsbFZhbHVlcyhtX2l0ZW1zKTsKKyAgICAgICAg
ICAgIG1faXRlbXMuY2xlYXIoKTsKICAgICAgICAgfQogCiAgICAgcHJpdmF0ZToKLSAgICAgICAg
TWVudVNlbGVjdGlvbkhhbmRsZXIoSW5zcGVjdG9yRnJvbnRlbmRIb3N0KiBmcm9udGVuZEhvc3Qp
Ci0gICAgICAgICAgICA6IG1fZnJvbnRlbmRIb3N0KGZyb250ZW5kSG9zdCkgeyB9CisgICAgICAg
IE1lbnVQcm92aWRlcihJbnNwZWN0b3JGcm9udGVuZEhvc3QqIGZyb250ZW5kSG9zdCwgIGNvbnN0
IFZlY3RvcjxDb250ZXh0TWVudUl0ZW0qPiYgaXRlbXMpCisgICAgICAgICAgICA6IG1fZnJvbnRl
bmRIb3N0KGZyb250ZW5kSG9zdCkKKyAgICAgICAgICAgICwgbV9pdGVtcyhpdGVtcykgeyB9CiAg
ICAgICAgIEluc3BlY3RvckZyb250ZW5kSG9zdCogbV9mcm9udGVuZEhvc3Q7CisgICAgICAgIFZl
Y3RvcjxDb250ZXh0TWVudUl0ZW0qPiBtX2l0ZW1zOwogICAgIH07CiAKICAgICBJbnNwZWN0b3JG
cm9udGVuZEhvc3QoSW5zcGVjdG9yQ29udHJvbGxlciogaW5zcGVjdG9yQ29udHJvbGxlciwgSW5z
cGVjdG9yQ2xpZW50KiBjbGllbnQpOwogCisgICAgdm9pZCBjb250ZXh0TWVudUl0ZW1TZWxlY3Rl
ZChDb250ZXh0TWVudUl0ZW0qKTsKKyAgICB2b2lkIGNvbnRleHRNZW51Q2xlYXJlZCgpOworCiAg
ICAgSW5zcGVjdG9yQ29udHJvbGxlciogbV9pbnNwZWN0b3JDb250cm9sbGVyOwogICAgIEluc3Bl
Y3RvckNsaWVudCogbV9jbGllbnQ7Ci0gICAgUmVmUHRyPE1lbnVTZWxlY3Rpb25IYW5kbGVyPiBt
X21lbnVTZWxlY3Rpb25IYW5kbGVyOworICAgIFJlZlB0cjxNZW51UHJvdmlkZXI+IG1fbWVudVBy
b3ZpZGVyOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAgYi9XZWJDb3JlL3BhZ2UvQ29udGV4dE1l
bnVDb250cm9sbGVyLmNwcAppbmRleCA3MjZkZWU5Li5kMzg0YjAyIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvQ29u
dGV4dE1lbnVDb250cm9sbGVyLmNwcApAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUgIkNocm9t
ZS5oIgogI2luY2x1ZGUgIkNvbnRleHRNZW51LmgiCiAjaW5jbHVkZSAiQ29udGV4dE1lbnVDbGll
bnQuaCIKLSNpbmNsdWRlICJDb250ZXh0TWVudVNlbGVjdGlvbkhhbmRsZXIuaCIKKyNpbmNsdWRl
ICJDb250ZXh0TWVudVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRl
ICJEb2N1bWVudEZyYWdtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKQEAgLTY3
LDcgKzY3LDYgQEAgQ29udGV4dE1lbnVDb250cm9sbGVyOjpDb250ZXh0TWVudUNvbnRyb2xsZXIo
UGFnZSogcGFnZSwgQ29udGV4dE1lbnVDbGllbnQqIGNsaWUKICAgICA6IG1fcGFnZShwYWdlKQog
ICAgICwgbV9jbGllbnQoY2xpZW50KQogICAgICwgbV9jb250ZXh0TWVudSgwKQotICAgICwgbV9z
ZWxlY3Rpb25IYW5kbGVyKDApCiB7CiAgICAgQVNTRVJUX0FSRyhwYWdlLCBwYWdlKTsKICAgICBB
U1NFUlRfQVJHKGNsaWVudCwgY2xpZW50KTsKQEAgLTgxLDkgKzgwLDkgQEAgQ29udGV4dE1lbnVD
b250cm9sbGVyOjp+Q29udGV4dE1lbnVDb250cm9sbGVyKCkKIHZvaWQgQ29udGV4dE1lbnVDb250
cm9sbGVyOjpjbGVhckNvbnRleHRNZW51KCkKIHsKICAgICBtX2NvbnRleHRNZW51LnNldCgwKTsK
LSAgICBpZiAobV9zZWxlY3Rpb25IYW5kbGVyKQotICAgICAgICBtX3NlbGVjdGlvbkhhbmRsZXIt
PmNvbnRleHRNZW51Q2xlYXJlZCgpOwotICAgIG1fc2VsZWN0aW9uSGFuZGxlciA9IDA7CisgICAg
aWYgKG1fbWVudVByb3ZpZGVyKQorICAgICAgICBtX21lbnVQcm92aWRlci0+Y29udGV4dE1lbnVD
bGVhcmVkKCk7CisgICAgbV9tZW51UHJvdmlkZXIgPSAwOwogfQogCiB2b2lkIENvbnRleHRNZW51
Q29udHJvbGxlcjo6aGFuZGxlQ29udGV4dE1lbnVFdmVudChFdmVudCogZXZlbnQpCkBAIC05NSwx
OSArOTQsMTcgQEAgdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OmhhbmRsZUNvbnRleHRNZW51
RXZlbnQoRXZlbnQqIGV2ZW50KQogICAgIHNob3dDb250ZXh0TWVudShldmVudCk7CiB9CiAKLXZv
aWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpzaG93Q29udGV4dE1lbnUoRXZlbnQqIGV2ZW50LCBW
ZWN0b3I8Q29udGV4dE1lbnVJdGVtPiYgaXRlbXMsIFBhc3NSZWZQdHI8Q29udGV4dE1lbnVTZWxl
Y3Rpb25IYW5kbGVyPiBzZWxlY3Rpb25IYW5kbGVyKQordm9pZCBDb250ZXh0TWVudUNvbnRyb2xs
ZXI6OnNob3dDb250ZXh0TWVudShFdmVudCogZXZlbnQsIFBhc3NSZWZQdHI8Q29udGV4dE1lbnVQ
cm92aWRlcj4gbWVudVByb3ZpZGVyKQogewotICAgIG1fc2VsZWN0aW9uSGFuZGxlciA9IHNlbGVj
dGlvbkhhbmRsZXI7CisgICAgbV9tZW51UHJvdmlkZXIgPSBtZW51UHJvdmlkZXI7CiAKICAgICBt
X2NvbnRleHRNZW51LnNldChjcmVhdGVDb250ZXh0TWVudShldmVudCkpOwogICAgIGlmICghbV9j
b250ZXh0TWVudSkgewogICAgICAgICBjbGVhckNvbnRleHRNZW51KCk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBpdGVtcy5zaXplKCk7ICsraSkg
ewotICAgICAgICBDb250ZXh0TWVudUl0ZW0mIGl0ZW0gPSBpdGVtc1tpXTsKLSAgICAgICAgbV9j
b250ZXh0TWVudS0+YXBwZW5kSXRlbShpdGVtKTsKLSAgICB9CisKKyAgICBtX21lbnVQcm92aWRl
ci0+cG9wdWxhdGVDb250ZXh0TWVudShtX2NvbnRleHRNZW51LmdldCgpKTsKICAgICBzaG93Q29u
dGV4dE1lbnUoZXZlbnQpOwogfQogCkBAIC0xNTYsOCArMTUzLDggQEAgdm9pZCBDb250ZXh0TWVu
dUNvbnRyb2xsZXI6OmNvbnRleHRNZW51SXRlbVNlbGVjdGVkKENvbnRleHRNZW51SXRlbSogaXRl
bSkKICAgICB9CiAKICAgICBpZiAoaXRlbS0+YWN0aW9uKCkgPj0gQ29udGV4dE1lbnVJdGVtQmFz
ZUN1c3RvbVRhZykgewotICAgICAgICBBU1NFUlQobV9zZWxlY3Rpb25IYW5kbGVyKTsKLSAgICAg
ICAgbV9zZWxlY3Rpb25IYW5kbGVyLT5jb250ZXh0TWVudUl0ZW1TZWxlY3RlZChpdGVtKTsKKyAg
ICAgICAgQVNTRVJUKG1fbWVudVByb3ZpZGVyKTsKKyAgICAgICAgbV9tZW51UHJvdmlkZXItPmNv
bnRleHRNZW51SXRlbVNlbGVjdGVkKGl0ZW0pOwogICAgICAgICByZXR1cm47CiAgICAgfQogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmggYi9XZWJDb3Jl
L3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKaW5kZXggZDUxYmM3MC4uODMzYjkwOSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCisrKyBiL1dlYkNv
cmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaApAQCAtMzAsMTQgKzMwLDEzIEBACiAjaW5j
bHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgY2xhc3MgQ29udGV4dE1lbnU7CiAgICAgY2xhc3MgQ29udGV4dE1lbnVD
bGllbnQ7CiAgICAgY2xhc3MgQ29udGV4dE1lbnVJdGVtOwotICAgIGNsYXNzIENvbnRleHRNZW51
U2VsZWN0aW9uSGFuZGxlcjsKKyAgICBjbGFzcyBDb250ZXh0TWVudVByb3ZpZGVyOwogICAgIGNs
YXNzIEV2ZW50OwogICAgIGNsYXNzIFBhZ2U7CiAKQEAgLTUyLDcgKzUxLDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICB2b2lkIGNsZWFyQ29udGV4dE1lbnUoKTsKIAogICAgICAgICB2
b2lkIGhhbmRsZUNvbnRleHRNZW51RXZlbnQoRXZlbnQqKTsKLSAgICAgICAgdm9pZCBzaG93Q29u
dGV4dE1lbnUoRXZlbnQqLCBWZWN0b3I8Q29udGV4dE1lbnVJdGVtPiYsIFBhc3NSZWZQdHI8Q29u
dGV4dE1lbnVTZWxlY3Rpb25IYW5kbGVyPik7CisgICAgICAgIHZvaWQgc2hvd0NvbnRleHRNZW51
KEV2ZW50KiwgUGFzc1JlZlB0cjxDb250ZXh0TWVudVByb3ZpZGVyPik7CiAKICAgICAgICAgdm9p
ZCBjb250ZXh0TWVudUl0ZW1TZWxlY3RlZChDb250ZXh0TWVudUl0ZW0qKTsKIApAQCAtNjMsNyAr
NjIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFBhZ2UqIG1fcGFnZTsKICAgICAg
ICAgQ29udGV4dE1lbnVDbGllbnQqIG1fY2xpZW50OwogICAgICAgICBPd25QdHI8Q29udGV4dE1l
bnU+IG1fY29udGV4dE1lbnU7Ci0gICAgICAgIFJlZlB0cjxDb250ZXh0TWVudVNlbGVjdGlvbkhh
bmRsZXI+IG1fc2VsZWN0aW9uSGFuZGxlcjsKKyAgICAgICAgUmVmUHRyPENvbnRleHRNZW51UHJv
dmlkZXI+IG1fbWVudVByb3ZpZGVyOwogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGFnZS9Db250ZXh0TWVudVByb3ZpZGVyLmggYi9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVQcm92
aWRlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxNDE4ZjMKLS0tIC9k
ZXYvbnVsbAorKysgYi9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVQcm92aWRlci5oCkBAIC0wLDAg
KzEsNTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoK
KyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgor
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaWZuZGVmIENvbnRleHRNZW51UHJvdmlkZXJfaAorI2RlZmluZSBDb250ZXh0TWVu
dVByb3ZpZGVyX2gKKworI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworICAgIGNsYXNzIENvbnRleHRNZW51OworICAgIGNsYXNzIENvbnRleHRNZW51
SXRlbTsKKworICAgIGNsYXNzIENvbnRleHRNZW51UHJvdmlkZXIgOiBwdWJsaWMgUmVmQ291bnRl
ZDxDb250ZXh0TWVudVByb3ZpZGVyPiB7CisgICAgcHVibGljOgorICAgICAgICB2aXJ0dWFsIH5D
b250ZXh0TWVudVByb3ZpZGVyKCkgeyB9OworCisgICAgICAgIHZpcnR1YWwgdm9pZCBwb3B1bGF0
ZUNvbnRleHRNZW51KENvbnRleHRNZW51KiBtZW51KSA9IDA7CisgICAgICAgIHZpcnR1YWwgdm9p
ZCBjb250ZXh0TWVudUl0ZW1TZWxlY3RlZChDb250ZXh0TWVudUl0ZW0qKSA9IDA7CisgICAgICAg
IHZpcnR1YWwgdm9pZCBjb250ZXh0TWVudUNsZWFyZWQoKSA9IDA7CisgICAgfTsKKworfQorCisj
ZW5kaWYgLy8gQ29udGV4dE1lbnVQcm92aWRlcl9oCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2Uv
Q29udGV4dE1lbnVTZWxlY3Rpb25IYW5kbGVyLmggYi9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVT
ZWxlY3Rpb25IYW5kbGVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ1YTY2MzEu
LjAwMDAwMDAKLS0tIGEvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51U2VsZWN0aW9uSGFuZGxlci5o
CisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAw
OSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0g
KiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0g
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgQ29udGV4dE1lbnVTZWxlY3Rp
b25IYW5kbGVyX2gKLSNkZWZpbmUgQ29udGV4dE1lbnVTZWxlY3Rpb25IYW5kbGVyX2gKLQotI2lu
Y2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotICAgIGNs
YXNzIENvbnRleHRNZW51SXRlbTsKLQotICAgIGNsYXNzIENvbnRleHRNZW51U2VsZWN0aW9uSGFu
ZGxlciA6IHB1YmxpYyBSZWZDb3VudGVkPENvbnRleHRNZW51U2VsZWN0aW9uSGFuZGxlcj4gewot
ICAgIHB1YmxpYzoKLSAgICAgICAgQ29udGV4dE1lbnVTZWxlY3Rpb25IYW5kbGVyKCkgeyB9Ci0g
ICAgICAgIHZpcnR1YWwgfkNvbnRleHRNZW51U2VsZWN0aW9uSGFuZGxlcigpIHsgfTsKLQotICAg
ICAgICB2aXJ0dWFsIHZvaWQgY29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoQ29udGV4dE1lbnVJdGVt
KikgPSAwOwotICAgICAgICB2aXJ0dWFsIHZvaWQgY29udGV4dE1lbnVDbGVhcmVkKCkgPSAwOwot
ICAgIH07Ci0KLX0KLQotI2VuZGlmIC8vIENvbnRleHRNZW51U2VsZWN0aW9uSGFuZGxlcl9oCg==
</data>
<flag name="commit-queue"
          id="26569"
          type_id="3"
          status="-"
          setter="pfeldman"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44673</attachid>
            <date>2009-12-11 04:48:45 -0800</date>
            <delta_ts>2009-12-11 07:32:23 -0800</delta_ts>
            <desc>[PATCH] Same with a style fix</desc>
            <filename>context_ownership</filename>
            <type>text/plain</type>
            <size>22793</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NjMxNjQzMy4uZWVmZjk3MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MSBAQAorMjAwOS0xMi0xMSAgUGF2ZWwgRmVsZG1h
biAgPHBmZWxkbWFuQGRoY3AtMTcyLTI4LTE3NC0yMjAuc3BiLmNvcnAuZ29vZ2xlLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBEbyBub3QgdXNlIENvbnRleHRNZW51SXRlbSBhcyB2YWx1ZSB0eXBlIGluIGN1c3RvbQor
ICAgICAgICBjb250ZXh0IG1lbnUgaW1wbGVtZW50YXRpb24uCisKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyNDExCisKKyAgICAgICAgKiBHTlVtYWtl
ZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86
CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pT
SW5zcGVjdG9yRnJvbnRlbmRIb3N0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTSW5z
cGVjdG9yRnJvbnRlbmRIb3N0OjpzaG93Q29udGV4dE1lbnUpOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
RnJvbnRlbmRIb3N0OjpJbnNwZWN0b3JGcm9udGVuZEhvc3QpOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9yRnJvbnRlbmRIb3N0Ojp+SW5zcGVjdG9yRnJvbnRlbmRIb3N0KToKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kSG9zdDo6c2hvd0NvbnRleHRNZW51KToKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kSG9zdDo6Y29udGV4dE1lbnVDbGVhcmVkKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0Lmg6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZEhvc3Q6Ok1lbnVQcm92aWRlcjo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kSG9zdDo6TWVudVByb3ZpZGVyOjp+TWVu
dVByb3ZpZGVyKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kSG9zdDo6TWVu
dVByb3ZpZGVyOjpkaXNjb25uZWN0KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZyb250
ZW5kSG9zdDo6TWVudVByb3ZpZGVyOjpwb3B1bGF0ZUNvbnRleHRNZW51KToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvckZyb250ZW5kSG9zdDo6TWVudVByb3ZpZGVyOjpjb250ZXh0TWVudUNs
ZWFyZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRIb3N0OjpNZW51UHJv
dmlkZXI6Ok1lbnVQcm92aWRlcik6CisgICAgICAgICogcGFnZS9Db250ZXh0TWVudUNvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGV4dE1lbnVDb250cm9sbGVyOjpDb250ZXh0
TWVudUNvbnRyb2xsZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGV4dE1lbnVDb250cm9sbGVy
OjpjbGVhckNvbnRleHRNZW51KToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51Q29udHJv
bGxlcjo6c2hvd0NvbnRleHRNZW51KToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51Q29u
dHJvbGxlcjo6Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQpOgorICAgICAgICAqIHBhZ2UvQ29udGV4
dE1lbnVDb250cm9sbGVyLmg6CisgICAgICAgICogcGFnZS9Db250ZXh0TWVudVByb3ZpZGVyLmg6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q29udGV4dE1lbnVQcm92aWRlcjo6fkNvbnRleHRN
ZW51UHJvdmlkZXIpOgorICAgICAgICAqIHBhZ2UvQ29udGV4dE1lbnVTZWxlY3Rpb25IYW5kbGVy
Lmg6IFJlbW92ZWQuCisKIDIwMDktMTItMTAgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IGY4ZmEzMDIu
LmI4ZTZhZjcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbQpAQCAtMTMxOCw3ICsxMzE4LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9
IFwKIAlXZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDbGllbnQuaCBcCiAJV2ViQ29yZS9wYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5jcHAgXAogCVdlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRy
b2xsZXIuaCBcCi0JV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51U2VsZWN0aW9uSGFuZGxlci5oIFwK
KwlXZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVQcm92aWRlci5oIFwKIAlXZWJDb3JlL3BhZ2UvQ29v
cmRpbmF0ZXMuaCBcCiAJV2ViQ29yZS9wYWdlL0RPTVNlbGVjdGlvbi5jcHAgXAogCVdlYkNvcmUv
cGFnZS9ET01TZWxlY3Rpb24uaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBi
L1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDRhMzdjNzkuLmFiN2EzNzYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0xNzU5
LDcgKzE3NTksNyBAQAogICAgICAgICAgICAgJ3BhZ2UvQ29udGV4dE1lbnVDbGllbnQuaCcsCiAg
ICAgICAgICAgICAncGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwJywKICAgICAgICAgICAg
ICdwYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oJywKLSAgICAgICAgICAgICdwYWdlL0NvbnRl
eHRNZW51U2VsZWN0aW9uSGFuZGxlci5oJywKKyAgICAgICAgICAgICdwYWdlL0NvbnRleHRNZW51
UHJvdmlkZXIuaCcsCiAgICAgICAgICAgICAncGFnZS9ET01TZWxlY3Rpb24uY3BwJywKICAgICAg
ICAgICAgICdwYWdlL0RPTVNlbGVjdGlvbi5oJywKICAgICAgICAgICAgICdwYWdlL0RPTVRpbWVy
LmNwcCcsCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvV2ViQ29yZS9XZWJDb3Jl
LnBybwppbmRleCBiZmVlZTYxLi5iYjRlYTFiIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUu
cHJvCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTE4NDAsNyArMTg0MCw3IEBAIEhFQURF
UlMgKz0gXAogICAgIHBhZ2UvQ2hyb21lLmggXAogICAgIHBhZ2UvQ29uc29sZS5oIFwKICAgICBw
YWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oIFwKLSAgICBwYWdlL0NvbnRleHRNZW51U2VsZWN0
aW9uSGFuZGxlci5oIFwKKyAgICBwYWdlL0NvbnRleHRNZW51UHJvdmlkZXIuaCBcCiAgICAgcGFn
ZS9Db29yZGluYXRlcy5oIFwKICAgICBwYWdlL0RPTVNlbGVjdGlvbi5oIFwKICAgICBwYWdlL0RP
TVRpbWVyLmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggMDk5NDVm
NS4uNDUyNjU2YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0yMDUy
Nyw3ICsyMDUyNyw3IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXHBhZ2VcQ29udGV4dE1lbnVTZWxlY3Rpb25IYW5kbGVyLmgiDQorCQkJCVJl
bGF0aXZlUGF0aD0iLi5ccGFnZVxDb250ZXh0TWVudVByb3ZpZGVyLmgiDQogCQkJCT4NCiAJCQk8
L0ZpbGU+DQogCQkJPEZpbGUNCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDJkMGI4MDQuLjZlNDI5OWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC0xMjUxLDcgKzEyNTEsNyBAQAogCQk3QTc0RUNCQTEwMTgzOUE2
MDBCRjkzOUUgLyogSW5zcGVjdG9yQmFja2VuZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QTc0RUNCODEwMTgzOUE1MDBCRjkzOUUgLyogSW5zcGVj
dG9yQmFja2VuZC5jcHAgKi87IH07CiAJCTdBNzRFQ0JCMTAxODM5QTYwMEJGOTM5RSAvKiBJbnNw
ZWN0b3JCYWNrZW5kLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3QTc0RUNCOTEwMTgzOUE2MDBCRjkzOUUgLyogSW5zcGVjdG9yQmFja2VuZC5oICovOyB9
OwogCQk3QTc0RUNCRDEwMTgzOURBMDBCRjkzOUUgLyogSlNJbnNwZWN0b3JGcm9udGVuZEhvc3RD
dXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
N0E3NEVDQkMxMDE4MzlEQTAwQkY5MzlFIC8qIEpTSW5zcGVjdG9yRnJvbnRlbmRIb3N0Q3VzdG9t
LmNwcCAqLzsgfTsKLQkJN0FERTcyMjYxMENCQkI5QjAwNkIzQjNBIC8qIENvbnRleHRNZW51U2Vs
ZWN0aW9uSGFuZGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gN0FERTcyMjUxMENCQkI5QjAwNkIzQjNBIC8qIENvbnRleHRNZW51U2VsZWN0aW9uSGFu
ZGxlci5oICovOyB9OworCQk3QURFNzIyNjEwQ0JCQjlCMDA2QjNCM0EgLyogQ29udGV4dE1lbnVQ
cm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
N0FERTcyMjUxMENCQkI5QjAwNkIzQjNBIC8qIENvbnRleHRNZW51UHJvdmlkZXIuaCAqLzsgfTsK
IAkJN0FFRDNFMDUwRkJCMUVBQTAwRDJCMDNDIC8qIEluc3BlY3RvckZyb250ZW5kLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBRUQzRTAzMEZCQjFF
QUEwMEQyQjAzQyAvKiBJbnNwZWN0b3JGcm9udGVuZC5jcHAgKi87IH07CiAJCTdBRUQzRTA2MEZC
QjFFQUEwMEQyQjAzQyAvKiBJbnNwZWN0b3JGcm9udGVuZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0FFRDNFMDQwRkJCMUVBQTAwRDJCMDNDIC8qIElu
c3BlY3RvckZyb250ZW5kLmggKi87IH07CiAJCTg0MjI0MTgzMTA3RTc3RjQwMDc2NkE4NyAvKiBK
U1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODQyMjQxODExMDdFNzdGNDAwNzY2QTg3IC8qIEpTU1ZHRkVNb3Jw
aG9sb2d5RWxlbWVudC5jcHAgKi87IH07CkBAIC02NTkxLDcgKzY1OTEsNyBAQAogCQk3QTc0RUNC
ODEwMTgzOUE1MDBCRjkzOUUgLyogSW5zcGVjdG9yQmFja2VuZC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0b3JCYWNrZW5kLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJN0E3NEVDQjkxMDE4MzlBNjAwQkY5MzlFIC8qIEluc3BlY3RvckJh
Y2tlbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yQmFja2Vu
ZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QTc0RUNCQzEwMTgzOURBMDBCRjkz
OUUgLyogSlNJbnNwZWN0b3JGcm9udGVuZEhvc3RDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNJbnNwZWN0b3JGcm9udGVuZEhvc3RDdXN0b20uY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk3QURFNzIyNTEwQ0JCQjlCMDA2QjNCM0EgLyog
Q29udGV4dE1lbnVTZWxlY3Rpb25IYW5kbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IENvbnRleHRNZW51U2VsZWN0aW9uSGFuZGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk3QURFNzIyNTEwQ0JCQjlCMDA2QjNCM0EgLyogQ29udGV4dE1lbnVQcm92aWRl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb250ZXh0TWVudVByb3ZpZGVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdBRUQzRTAzMEZCQjFFQUEwMEQyQjAz
QyAvKiBJbnNwZWN0b3JGcm9udGVuZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBJbnNwZWN0b3JGcm9udGVuZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTdBRUQzRTA0MEZCQjFFQUEwMEQyQjAzQyAvKiBJbnNwZWN0b3JGcm9udGVuZC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JGcm9udGVuZC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk4NDIyNDE4MTEwN0U3N0Y0MDA3NjZBODcgLyogSlNTVkdG
RU1vcnBob2xvZ3lFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEpTU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0xMTI0MSw3ICsxMTI0MSw3IEBACiAJCQkJMDY1QUQ0RjIwQjBDMkVEQTAwNUEyQjFE
IC8qIENvbnRleHRNZW51Q2xpZW50LmggKi8sCiAJCQkJMDY1QUQ0RjMwQjBDMkVEQTAwNUEyQjFE
IC8qIENvbnRleHRNZW51Q29udHJvbGxlci5jcHAgKi8sCiAJCQkJMDY1QUQ0RjQwQjBDMkVEQTAw
NUEyQjFEIC8qIENvbnRleHRNZW51Q29udHJvbGxlci5oICovLAotCQkJCTdBREU3MjI1MTBDQkJC
OUIwMDZCM0IzQSAvKiBDb250ZXh0TWVudVNlbGVjdGlvbkhhbmRsZXIuaCAqLywKKwkJCQk3QURF
NzIyNTEwQ0JCQjlCMDA2QjNCM0EgLyogQ29udGV4dE1lbnVQcm92aWRlci5oICovLAogCQkJCUZF
NkZENDg1MEY2NzZFNTcwMDA5Mjg3MyAvKiBDb29yZGluYXRlcy5oICovLAogCQkJCUZFNkZENDg2
MEY2NzZFNTcwMDA5Mjg3MyAvKiBDb29yZGluYXRlcy5pZGwgKi8sCiAJCQkJQkM1QTg2ODEwQzMz
Njc2MDAwRUVBNjQ5IC8qIERPTVNlbGVjdGlvbi5jcHAgKi8sCkBAIC0xODI0Myw3ICsxODI0Myw3
IEBACiAJCQkJN0EwRTc3MUYxMEMwMERCMTAwQTAyNzZFIC8qIEpTSW5zcGVjdG9yRnJvbnRlbmRI
b3N0LmggaW4gSGVhZGVycyAqLywKIAkJCQlGNEVBRjRBRjEwQzc0MkIxMDA5MTAwRDMgLyogT3Bl
blR5cGVTYW5pdGl6ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTU5OUQxRTMzMTBDOTdENkUwMEUw
RUYxMiAvKiBqbmlfdXRpbGl0eV9wcml2YXRlLmggaW4gSGVhZGVycyAqLywKLQkJCQk3QURFNzIy
NjEwQ0JCQjlCMDA2QjNCM0EgLyogQ29udGV4dE1lbnVTZWxlY3Rpb25IYW5kbGVyLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk3QURFNzIyNjEwQ0JCQjlCMDA2QjNCM0EgLyogQ29udGV4dE1lbnVQcm92
aWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEMzRjFGNUIxMEM4ODcxMjAwRDcyQ0UxIC8qIFdl
YkdMVW5pZm9ybUxvY2F0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzQ1MzQyODEwQ0RCQkZB
MDA4NjkxNTcgLyogSlNXZWJHTFVuaWZvcm1Mb2NhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0luc3BlY3RvckZyb250ZW5kSG9z
dEN1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW5zcGVjdG9yRnJvbnRlbmRIb3N0
Q3VzdG9tLmNwcAppbmRleCAxOTcwYmY3Li5mZjIzZTg0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTSW5zcGVjdG9yRnJvbnRlbmRIb3N0Q3VzdG9tLmNwcAorKysgYi9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTSW5zcGVjdG9yRnJvbnRlbmRIb3N0Q3VzdG9tLmNwcApAQCAtMTAxLDE3
ICsxMDEsMTcgQEAgSlNWYWx1ZSBKU0luc3BlY3RvckZyb250ZW5kSG9zdDo6c2hvd0NvbnRleHRN
ZW51KEV4ZWNTdGF0ZSogZXhlY1N0YXRlLCBjb25zdCBBcmcKICAgICBFdmVudCogZXZlbnQgPSB0
b0V2ZW50KGFyZ3MuYXQoMCkpOwogCiAgICAgSlNBcnJheSogYXJyYXkgPSBhc0FycmF5KGFyZ3Mu
YXQoMSkpOwotICAgIFZlY3RvcjxDb250ZXh0TWVudUl0ZW0+IGl0ZW1zOworICAgIFZlY3RvcjxD
b250ZXh0TWVudUl0ZW0qPiBpdGVtczsKIAogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgYXJy
YXktPmxlbmd0aCgpOyArK2kpIHsKICAgICAgICAgSlNPYmplY3QqIGl0ZW0gPSBhc09iamVjdChh
cnJheS0+Z2V0SW5kZXgoaSkpOwogICAgICAgICBKU1ZhbHVlIGxhYmVsID0gaXRlbS0+Z2V0KGV4
ZWNTdGF0ZSwgSWRlbnRpZmllcihleGVjU3RhdGUsICJsYWJlbCIpKTsKICAgICAgICAgSlNWYWx1
ZSBpZCA9IGl0ZW0tPmdldChleGVjU3RhdGUsIElkZW50aWZpZXIoZXhlY1N0YXRlLCAiaWQiKSk7
CiAgICAgICAgIGlmIChsYWJlbC5pc1VuZGVmaW5lZCgpIHx8IGlkLmlzVW5kZWZpbmVkKCkpCi0g
ICAgICAgICAgICBpdGVtcy5hcHBlbmQoQ29udGV4dE1lbnVJdGVtKFNlcGFyYXRvclR5cGUsIENv
bnRleHRNZW51SXRlbVRhZ05vQWN0aW9uLCBTdHJpbmcoKSkpOworICAgICAgICAgICAgaXRlbXMu
YXBwZW5kKG5ldyBDb250ZXh0TWVudUl0ZW0oU2VwYXJhdG9yVHlwZSwgQ29udGV4dE1lbnVJdGVt
VGFnTm9BY3Rpb24sIFN0cmluZygpKSk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgQ29u
dGV4dE1lbnVBY3Rpb24gdHlwZWRJZCA9IHN0YXRpY19jYXN0PENvbnRleHRNZW51QWN0aW9uPihD
b250ZXh0TWVudUl0ZW1CYXNlQ3VzdG9tVGFnICsgaWQudG9JbnQzMihleGVjU3RhdGUpKTsKLSAg
ICAgICAgICAgIGl0ZW1zLmFwcGVuZChDb250ZXh0TWVudUl0ZW0oQWN0aW9uVHlwZSwgdHlwZWRJ
ZCwgbGFiZWwudG9TdHJpbmcoZXhlY1N0YXRlKSkpOworICAgICAgICAgICAgaXRlbXMuYXBwZW5k
KG5ldyBDb250ZXh0TWVudUl0ZW0oQWN0aW9uVHlwZSwgdHlwZWRJZCwgbGFiZWwudG9TdHJpbmco
ZXhlY1N0YXRlKSkpOwogICAgICAgICB9CiAgICAgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRnJvbnRlbmRIb3N0LmNwcAppbmRleCAyYjgzOTQyLi5kMDY3MzQ2IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCisrKyBiL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKQEAgLTM1LDcgKzM1LDcgQEAK
ICNpbmNsdWRlICJDb250ZXh0TWVudS5oIgogI2luY2x1ZGUgIkNvbnRleHRNZW51SXRlbS5oIgog
I2luY2x1ZGUgIkNvbnRleHRNZW51Q29udHJvbGxlci5oIgotI2luY2x1ZGUgIkNvbnRleHRNZW51
U2VsZWN0aW9uSGFuZGxlci5oIgorI2luY2x1ZGUgIkNvbnRleHRNZW51UHJvdmlkZXIuaCIKICNp
bmNsdWRlICJFbGVtZW50LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZUxv
YWRlci5oIgpAQCAtNTYsMTMgKzU2LDEzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIEluc3BlY3Rv
ckZyb250ZW5kSG9zdDo6SW5zcGVjdG9yRnJvbnRlbmRIb3N0KEluc3BlY3RvckNvbnRyb2xsZXIq
IGluc3BlY3RvckNvbnRyb2xsZXIsIEluc3BlY3RvckNsaWVudCogY2xpZW50KQogICAgIDogbV9p
bnNwZWN0b3JDb250cm9sbGVyKGluc3BlY3RvckNvbnRyb2xsZXIpCiAgICAgLCBtX2NsaWVudChj
bGllbnQpCi0gICAgLCBtX21lbnVTZWxlY3Rpb25IYW5kbGVyKE1lbnVTZWxlY3Rpb25IYW5kbGVy
OjpjcmVhdGUodGhpcykpCiB7CiB9CiAKIEluc3BlY3RvckZyb250ZW5kSG9zdDo6fkluc3BlY3Rv
ckZyb250ZW5kSG9zdCgpCiB7Ci0gICAgbV9tZW51U2VsZWN0aW9uSGFuZGxlci0+ZGlzY29ubmVj
dCgpOworICAgIGlmIChtX21lbnVQcm92aWRlcikKKyAgICAgICAgbV9tZW51UHJvdmlkZXItPmRp
c2Nvbm5lY3QoKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OmxvYWRlZCgpCkBA
IC0yMDgsMTUgKzIwOCwxNyBAQCB2b2lkIEluc3BlY3RvckZyb250ZW5kSG9zdDo6c2V0U2V0dGlu
Zyhjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgU3RyaW5nJiB2YWx1ZSkKICAgICAgICAgbV9pbnNw
ZWN0b3JDb250cm9sbGVyLT5zZXRTZXR0aW5nKGtleSwgdmFsdWUpOwogfQogCi12b2lkIEluc3Bl
Y3RvckZyb250ZW5kSG9zdDo6c2hvd0NvbnRleHRNZW51KEV2ZW50KiBldmVudCwgVmVjdG9yPENv
bnRleHRNZW51SXRlbT4mIGl0ZW1zKQordm9pZCBJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OnNob3dD
b250ZXh0TWVudShFdmVudCogZXZlbnQsIGNvbnN0IFZlY3RvcjxDb250ZXh0TWVudUl0ZW0qPiYg
aXRlbXMpCiB7CiAgICAgaWYgKCFtX2luc3BlY3RvckNvbnRyb2xsZXIpCiAgICAgICAgIHJldHVy
bjsKICAgICBpZiAoIW1faW5zcGVjdG9yQ29udHJvbGxlci0+d2luZG93VmlzaWJsZSgpKQogICAg
ICAgICByZXR1cm47CiAKKworICAgIG1fbWVudVByb3ZpZGVyID0gTWVudVByb3ZpZGVyOjpjcmVh
dGUodGhpcywgaXRlbXMpOwogICAgIENvbnRleHRNZW51Q29udHJvbGxlciogbWVudUNvbnRyb2xs
ZXIgPSBtX2luc3BlY3RvckNvbnRyb2xsZXItPm1fcGFnZS0+Y29udGV4dE1lbnVDb250cm9sbGVy
KCk7Ci0gICAgbWVudUNvbnRyb2xsZXItPnNob3dDb250ZXh0TWVudShldmVudCwgaXRlbXMsIG1f
bWVudVNlbGVjdGlvbkhhbmRsZXIpOworICAgIG1lbnVDb250cm9sbGVyLT5zaG93Q29udGV4dE1l
bnUoZXZlbnQsIG1fbWVudVByb3ZpZGVyKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JGcm9udGVuZEhv
c3Q6OmNvbnRleHRNZW51SXRlbVNlbGVjdGVkKENvbnRleHRNZW51SXRlbSogaXRlbSkKQEAgLTIy
OSw2ICsyMzEsNyBAQCB2b2lkIEluc3BlY3RvckZyb250ZW5kSG9zdDo6Y29udGV4dE1lbnVJdGVt
U2VsZWN0ZWQoQ29udGV4dE1lbnVJdGVtKiBpdGVtKQogCiB2b2lkIEluc3BlY3RvckZyb250ZW5k
SG9zdDo6Y29udGV4dE1lbnVDbGVhcmVkKCkKIHsKKyAgICBtX21lbnVQcm92aWRlciA9IDA7CiAg
ICAgaWYgKG1faW5zcGVjdG9yQ29udHJvbGxlciAmJiBtX2luc3BlY3RvckNvbnRyb2xsZXItPndp
bmRvd1Zpc2libGUoKSkKICAgICAgICAgbV9pbnNwZWN0b3JDb250cm9sbGVyLT5tX2Zyb250ZW5k
LT5jb250ZXh0TWVudUNsZWFyZWQoKTsKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckZyb250ZW5kSG9zdC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJv
bnRlbmRIb3N0LmgKaW5kZXggZTBjZmE2ZC4uM2I2YWViNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRIb3N0LmgKQEAgLTMwLDcgKzMwLDggQEAKICNkZWZpbmUgSW5zcGVj
dG9yRnJvbnRlbmRIb3N0X2gKIAogI2luY2x1ZGUgIkNvbnNvbGUuaCIKLSNpbmNsdWRlICJDb250
ZXh0TWVudVNlbGVjdGlvbkhhbmRsZXIuaCIKKyNpbmNsdWRlICJDb250ZXh0TWVudS5oIgorI2lu
Y2x1ZGUgIkNvbnRleHRNZW51UHJvdmlkZXIuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb250cm9s
bGVyLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKIApAQCAtNzksMjEgKzgwLDMxIEBA
IHB1YmxpYzoKICAgICB2b2lkIHNldFNldHRpbmcoY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IFN0
cmluZyYgdmFsdWUpOwogCiAgICAgLy8gQ2FsbGVkIGZyb20gW0N1c3RvbV0gaW1wbGVtZW50YXRp
b25zLgotICAgIHZvaWQgc2hvd0NvbnRleHRNZW51KEV2ZW50KiwgVmVjdG9yPENvbnRleHRNZW51
SXRlbT4mIGl0ZW1zKTsKLSAgICB2b2lkIGNvbnRleHRNZW51SXRlbVNlbGVjdGVkKENvbnRleHRN
ZW51SXRlbSopOwotICAgIHZvaWQgY29udGV4dE1lbnVDbGVhcmVkKCk7CisgICAgdm9pZCBzaG93
Q29udGV4dE1lbnUoRXZlbnQqLCBjb25zdCBWZWN0b3I8Q29udGV4dE1lbnVJdGVtKj4mIGl0ZW1z
KTsKIAogcHJpdmF0ZToKLSAgICBjbGFzcyBNZW51U2VsZWN0aW9uSGFuZGxlciA6IHB1YmxpYyBD
b250ZXh0TWVudVNlbGVjdGlvbkhhbmRsZXIgeworICAgIGNsYXNzIE1lbnVQcm92aWRlciA6IHB1
YmxpYyBDb250ZXh0TWVudVByb3ZpZGVyIHsKICAgICBwdWJsaWM6Ci0gICAgICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPE1lbnVTZWxlY3Rpb25IYW5kbGVyPiBjcmVhdGUoSW5zcGVjdG9yRnJvbnRlbmRI
b3N0KiBmcm9udGVuZEhvc3QpCisgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lbnVQcm92aWRl
cj4gY3JlYXRlKEluc3BlY3RvckZyb250ZW5kSG9zdCogZnJvbnRlbmRIb3N0LCBjb25zdCBWZWN0
b3I8Q29udGV4dE1lbnVJdGVtKj4mIGl0ZW1zKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1
cm4gYWRvcHRSZWYobmV3IE1lbnVQcm92aWRlcihmcm9udGVuZEhvc3QsIGl0ZW1zKSk7CisgICAg
ICAgIH0KKworICAgICAgICB2aXJ0dWFsIH5NZW51UHJvdmlkZXIoKQogICAgICAgICB7Ci0gICAg
ICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1lbnVTZWxlY3Rpb25IYW5kbGVyKGZyb250ZW5k
SG9zdCkpOworICAgICAgICAgICAgY29udGV4dE1lbnVDbGVhcmVkKCk7CiAgICAgICAgIH0KIAot
ICAgICAgICB2aXJ0dWFsIH5NZW51U2VsZWN0aW9uSGFuZGxlcigpIHsgfQorICAgICAgICB2b2lk
IGRpc2Nvbm5lY3QoKQorICAgICAgICB7CisgICAgICAgICAgICBtX2Zyb250ZW5kSG9zdCA9IDA7
CisgICAgICAgIH0KIAotICAgICAgICB2b2lkIGRpc2Nvbm5lY3QoKSB7IG1fZnJvbnRlbmRIb3N0
ID0gMDsgfQorICAgICAgICB2aXJ0dWFsIHZvaWQgcG9wdWxhdGVDb250ZXh0TWVudShDb250ZXh0
TWVudSogbWVudSkKKyAgICAgICAgeworICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBtX2l0ZW1zLnNpemUoKTsgKytpKQorICAgICAgICAgICAgICAgIG1lbnUtPmFwcGVuZEl0ZW0o
Km1faXRlbXNbaV0pOworICAgICAgICB9CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGNvbnRleHRN
ZW51SXRlbVNlbGVjdGVkKENvbnRleHRNZW51SXRlbSogaXRlbSkKICAgICAgICAgewpAQCAtMTA1
LDE5ICsxMTYsMjYgQEAgcHJpdmF0ZToKICAgICAgICAgewogICAgICAgICAgICAgaWYgKG1fZnJv
bnRlbmRIb3N0KQogICAgICAgICAgICAgICAgIG1fZnJvbnRlbmRIb3N0LT5jb250ZXh0TWVudUNs
ZWFyZWQoKTsKKyAgICAgICAgICAgIGRlbGV0ZUFsbFZhbHVlcyhtX2l0ZW1zKTsKKyAgICAgICAg
ICAgIG1faXRlbXMuY2xlYXIoKTsKICAgICAgICAgfQogCiAgICAgcHJpdmF0ZToKLSAgICAgICAg
TWVudVNlbGVjdGlvbkhhbmRsZXIoSW5zcGVjdG9yRnJvbnRlbmRIb3N0KiBmcm9udGVuZEhvc3Qp
Ci0gICAgICAgICAgICA6IG1fZnJvbnRlbmRIb3N0KGZyb250ZW5kSG9zdCkgeyB9CisgICAgICAg
IE1lbnVQcm92aWRlcihJbnNwZWN0b3JGcm9udGVuZEhvc3QqIGZyb250ZW5kSG9zdCwgIGNvbnN0
IFZlY3RvcjxDb250ZXh0TWVudUl0ZW0qPiYgaXRlbXMpCisgICAgICAgICAgICA6IG1fZnJvbnRl
bmRIb3N0KGZyb250ZW5kSG9zdCkKKyAgICAgICAgICAgICwgbV9pdGVtcyhpdGVtcykgeyB9CiAg
ICAgICAgIEluc3BlY3RvckZyb250ZW5kSG9zdCogbV9mcm9udGVuZEhvc3Q7CisgICAgICAgIFZl
Y3RvcjxDb250ZXh0TWVudUl0ZW0qPiBtX2l0ZW1zOwogICAgIH07CiAKICAgICBJbnNwZWN0b3JG
cm9udGVuZEhvc3QoSW5zcGVjdG9yQ29udHJvbGxlciogaW5zcGVjdG9yQ29udHJvbGxlciwgSW5z
cGVjdG9yQ2xpZW50KiBjbGllbnQpOwogCisgICAgdm9pZCBjb250ZXh0TWVudUl0ZW1TZWxlY3Rl
ZChDb250ZXh0TWVudUl0ZW0qKTsKKyAgICB2b2lkIGNvbnRleHRNZW51Q2xlYXJlZCgpOworCiAg
ICAgSW5zcGVjdG9yQ29udHJvbGxlciogbV9pbnNwZWN0b3JDb250cm9sbGVyOwogICAgIEluc3Bl
Y3RvckNsaWVudCogbV9jbGllbnQ7Ci0gICAgUmVmUHRyPE1lbnVTZWxlY3Rpb25IYW5kbGVyPiBt
X21lbnVTZWxlY3Rpb25IYW5kbGVyOworICAgIFJlZlB0cjxNZW51UHJvdmlkZXI+IG1fbWVudVBy
b3ZpZGVyOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAgYi9XZWJDb3JlL3BhZ2UvQ29udGV4dE1l
bnVDb250cm9sbGVyLmNwcAppbmRleCA3MjZkZWU5Li5kMzg0YjAyIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvQ29u
dGV4dE1lbnVDb250cm9sbGVyLmNwcApAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUgIkNocm9t
ZS5oIgogI2luY2x1ZGUgIkNvbnRleHRNZW51LmgiCiAjaW5jbHVkZSAiQ29udGV4dE1lbnVDbGll
bnQuaCIKLSNpbmNsdWRlICJDb250ZXh0TWVudVNlbGVjdGlvbkhhbmRsZXIuaCIKKyNpbmNsdWRl
ICJDb250ZXh0TWVudVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRl
ICJEb2N1bWVudEZyYWdtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKQEAgLTY3
LDcgKzY3LDYgQEAgQ29udGV4dE1lbnVDb250cm9sbGVyOjpDb250ZXh0TWVudUNvbnRyb2xsZXIo
UGFnZSogcGFnZSwgQ29udGV4dE1lbnVDbGllbnQqIGNsaWUKICAgICA6IG1fcGFnZShwYWdlKQog
ICAgICwgbV9jbGllbnQoY2xpZW50KQogICAgICwgbV9jb250ZXh0TWVudSgwKQotICAgICwgbV9z
ZWxlY3Rpb25IYW5kbGVyKDApCiB7CiAgICAgQVNTRVJUX0FSRyhwYWdlLCBwYWdlKTsKICAgICBB
U1NFUlRfQVJHKGNsaWVudCwgY2xpZW50KTsKQEAgLTgxLDkgKzgwLDkgQEAgQ29udGV4dE1lbnVD
b250cm9sbGVyOjp+Q29udGV4dE1lbnVDb250cm9sbGVyKCkKIHZvaWQgQ29udGV4dE1lbnVDb250
cm9sbGVyOjpjbGVhckNvbnRleHRNZW51KCkKIHsKICAgICBtX2NvbnRleHRNZW51LnNldCgwKTsK
LSAgICBpZiAobV9zZWxlY3Rpb25IYW5kbGVyKQotICAgICAgICBtX3NlbGVjdGlvbkhhbmRsZXIt
PmNvbnRleHRNZW51Q2xlYXJlZCgpOwotICAgIG1fc2VsZWN0aW9uSGFuZGxlciA9IDA7CisgICAg
aWYgKG1fbWVudVByb3ZpZGVyKQorICAgICAgICBtX21lbnVQcm92aWRlci0+Y29udGV4dE1lbnVD
bGVhcmVkKCk7CisgICAgbV9tZW51UHJvdmlkZXIgPSAwOwogfQogCiB2b2lkIENvbnRleHRNZW51
Q29udHJvbGxlcjo6aGFuZGxlQ29udGV4dE1lbnVFdmVudChFdmVudCogZXZlbnQpCkBAIC05NSwx
OSArOTQsMTcgQEAgdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OmhhbmRsZUNvbnRleHRNZW51
RXZlbnQoRXZlbnQqIGV2ZW50KQogICAgIHNob3dDb250ZXh0TWVudShldmVudCk7CiB9CiAKLXZv
aWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpzaG93Q29udGV4dE1lbnUoRXZlbnQqIGV2ZW50LCBW
ZWN0b3I8Q29udGV4dE1lbnVJdGVtPiYgaXRlbXMsIFBhc3NSZWZQdHI8Q29udGV4dE1lbnVTZWxl
Y3Rpb25IYW5kbGVyPiBzZWxlY3Rpb25IYW5kbGVyKQordm9pZCBDb250ZXh0TWVudUNvbnRyb2xs
ZXI6OnNob3dDb250ZXh0TWVudShFdmVudCogZXZlbnQsIFBhc3NSZWZQdHI8Q29udGV4dE1lbnVQ
cm92aWRlcj4gbWVudVByb3ZpZGVyKQogewotICAgIG1fc2VsZWN0aW9uSGFuZGxlciA9IHNlbGVj
dGlvbkhhbmRsZXI7CisgICAgbV9tZW51UHJvdmlkZXIgPSBtZW51UHJvdmlkZXI7CiAKICAgICBt
X2NvbnRleHRNZW51LnNldChjcmVhdGVDb250ZXh0TWVudShldmVudCkpOwogICAgIGlmICghbV9j
b250ZXh0TWVudSkgewogICAgICAgICBjbGVhckNvbnRleHRNZW51KCk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBpdGVtcy5zaXplKCk7ICsraSkg
ewotICAgICAgICBDb250ZXh0TWVudUl0ZW0mIGl0ZW0gPSBpdGVtc1tpXTsKLSAgICAgICAgbV9j
b250ZXh0TWVudS0+YXBwZW5kSXRlbShpdGVtKTsKLSAgICB9CisKKyAgICBtX21lbnVQcm92aWRl
ci0+cG9wdWxhdGVDb250ZXh0TWVudShtX2NvbnRleHRNZW51LmdldCgpKTsKICAgICBzaG93Q29u
dGV4dE1lbnUoZXZlbnQpOwogfQogCkBAIC0xNTYsOCArMTUzLDggQEAgdm9pZCBDb250ZXh0TWVu
dUNvbnRyb2xsZXI6OmNvbnRleHRNZW51SXRlbVNlbGVjdGVkKENvbnRleHRNZW51SXRlbSogaXRl
bSkKICAgICB9CiAKICAgICBpZiAoaXRlbS0+YWN0aW9uKCkgPj0gQ29udGV4dE1lbnVJdGVtQmFz
ZUN1c3RvbVRhZykgewotICAgICAgICBBU1NFUlQobV9zZWxlY3Rpb25IYW5kbGVyKTsKLSAgICAg
ICAgbV9zZWxlY3Rpb25IYW5kbGVyLT5jb250ZXh0TWVudUl0ZW1TZWxlY3RlZChpdGVtKTsKKyAg
ICAgICAgQVNTRVJUKG1fbWVudVByb3ZpZGVyKTsKKyAgICAgICAgbV9tZW51UHJvdmlkZXItPmNv
bnRleHRNZW51SXRlbVNlbGVjdGVkKGl0ZW0pOwogICAgICAgICByZXR1cm47CiAgICAgfQogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmggYi9XZWJDb3Jl
L3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKaW5kZXggZDUxYmM3MC4uODMzYjkwOSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCisrKyBiL1dlYkNv
cmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaApAQCAtMzAsMTQgKzMwLDEzIEBACiAjaW5j
bHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgY2xhc3MgQ29udGV4dE1lbnU7CiAgICAgY2xhc3MgQ29udGV4dE1lbnVD
bGllbnQ7CiAgICAgY2xhc3MgQ29udGV4dE1lbnVJdGVtOwotICAgIGNsYXNzIENvbnRleHRNZW51
U2VsZWN0aW9uSGFuZGxlcjsKKyAgICBjbGFzcyBDb250ZXh0TWVudVByb3ZpZGVyOwogICAgIGNs
YXNzIEV2ZW50OwogICAgIGNsYXNzIFBhZ2U7CiAKQEAgLTUyLDcgKzUxLDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICB2b2lkIGNsZWFyQ29udGV4dE1lbnUoKTsKIAogICAgICAgICB2
b2lkIGhhbmRsZUNvbnRleHRNZW51RXZlbnQoRXZlbnQqKTsKLSAgICAgICAgdm9pZCBzaG93Q29u
dGV4dE1lbnUoRXZlbnQqLCBWZWN0b3I8Q29udGV4dE1lbnVJdGVtPiYsIFBhc3NSZWZQdHI8Q29u
dGV4dE1lbnVTZWxlY3Rpb25IYW5kbGVyPik7CisgICAgICAgIHZvaWQgc2hvd0NvbnRleHRNZW51
KEV2ZW50KiwgUGFzc1JlZlB0cjxDb250ZXh0TWVudVByb3ZpZGVyPik7CiAKICAgICAgICAgdm9p
ZCBjb250ZXh0TWVudUl0ZW1TZWxlY3RlZChDb250ZXh0TWVudUl0ZW0qKTsKIApAQCAtNjMsNyAr
NjIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFBhZ2UqIG1fcGFnZTsKICAgICAg
ICAgQ29udGV4dE1lbnVDbGllbnQqIG1fY2xpZW50OwogICAgICAgICBPd25QdHI8Q29udGV4dE1l
bnU+IG1fY29udGV4dE1lbnU7Ci0gICAgICAgIFJlZlB0cjxDb250ZXh0TWVudVNlbGVjdGlvbkhh
bmRsZXI+IG1fc2VsZWN0aW9uSGFuZGxlcjsKKyAgICAgICAgUmVmUHRyPENvbnRleHRNZW51UHJv
dmlkZXI+IG1fbWVudVByb3ZpZGVyOwogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGFnZS9Db250ZXh0TWVudVByb3ZpZGVyLmggYi9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVQcm92
aWRlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyZGMwNTYKLS0tIC9k
ZXYvbnVsbAorKysgYi9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVQcm92aWRlci5oCkBAIC0wLDAg
KzEsNTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoK
KyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgor
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaWZuZGVmIENvbnRleHRNZW51UHJvdmlkZXJfaAorI2RlZmluZSBDb250ZXh0TWVu
dVByb3ZpZGVyX2gKKworI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworICAgIGNsYXNzIENvbnRleHRNZW51OworICAgIGNsYXNzIENvbnRleHRNZW51
SXRlbTsKKworICAgIGNsYXNzIENvbnRleHRNZW51UHJvdmlkZXIgOiBwdWJsaWMgUmVmQ291bnRl
ZDxDb250ZXh0TWVudVByb3ZpZGVyPiB7CisgICAgcHVibGljOgorICAgICAgICB2aXJ0dWFsIH5D
b250ZXh0TWVudVByb3ZpZGVyKCkgeyB9OworCisgICAgICAgIHZpcnR1YWwgdm9pZCBwb3B1bGF0
ZUNvbnRleHRNZW51KENvbnRleHRNZW51KikgPSAwOworICAgICAgICB2aXJ0dWFsIHZvaWQgY29u
dGV4dE1lbnVJdGVtU2VsZWN0ZWQoQ29udGV4dE1lbnVJdGVtKikgPSAwOworICAgICAgICB2aXJ0
dWFsIHZvaWQgY29udGV4dE1lbnVDbGVhcmVkKCkgPSAwOworICAgIH07CisKK30KKworI2VuZGlm
IC8vIENvbnRleHRNZW51UHJvdmlkZXJfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0NvbnRl
eHRNZW51U2VsZWN0aW9uSGFuZGxlci5oIGIvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51U2VsZWN0
aW9uSGFuZGxlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNWE2NjMxLi4wMDAw
MDAwCi0tLSBhL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudVNlbGVjdGlvbkhhbmRsZXIuaAorKysg
L2Rldi9udWxsCkBAIC0xLDUxICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQot
ICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIENvbnRleHRNZW51U2VsZWN0aW9uSGFu
ZGxlcl9oCi0jZGVmaW5lIENvbnRleHRNZW51U2VsZWN0aW9uSGFuZGxlcl9oCi0KLSNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLSAgICBjbGFzcyBD
b250ZXh0TWVudUl0ZW07Ci0KLSAgICBjbGFzcyBDb250ZXh0TWVudVNlbGVjdGlvbkhhbmRsZXIg
OiBwdWJsaWMgUmVmQ291bnRlZDxDb250ZXh0TWVudVNlbGVjdGlvbkhhbmRsZXI+IHsKLSAgICBw
dWJsaWM6Ci0gICAgICAgIENvbnRleHRNZW51U2VsZWN0aW9uSGFuZGxlcigpIHsgfQotICAgICAg
ICB2aXJ0dWFsIH5Db250ZXh0TWVudVNlbGVjdGlvbkhhbmRsZXIoKSB7IH07Ci0KLSAgICAgICAg
dmlydHVhbCB2b2lkIGNvbnRleHRNZW51SXRlbVNlbGVjdGVkKENvbnRleHRNZW51SXRlbSopID0g
MDsKLSAgICAgICAgdmlydHVhbCB2b2lkIGNvbnRleHRNZW51Q2xlYXJlZCgpID0gMDsKLSAgICB9
OwotCi19Ci0KLSNlbmRpZiAvLyBDb250ZXh0TWVudVNlbGVjdGlvbkhhbmRsZXJfaAo=
</data>
<flag name="review"
          id="26570"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>