<?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>51910</bug_id>
          
          <creation_ts>2011-01-04 17:48:08 -0800</creation_ts>
          <short_desc>More work on spelling and grammar</short_desc>
          <delta_ts>2011-01-04 18:13:18 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>329339</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-01-04 17:48:08 -0800</bug_when>
    <thetext>More work on spelling and grammar</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329346</commentid>
    <comment_count>1</comment_count>
      <attachid>77956</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-01-04 17:59:05 -0800</bug_when>
    <thetext>Created attachment 77956
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329355</commentid>
    <comment_count>2</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-01-04 18:13:18 -0800</bug_when>
    <thetext>Committed r75037: &lt;http://trac.webkit.org/changeset/75037&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77956</attachid>
            <date>2011-01-04 17:59:05 -0800</date>
            <delta_ts>2011-01-04 18:07:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-51910-20110104175903.patch</filename>
            <type>text/plain</type>
            <size>28616</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3NTAzNSkKKysrIFdlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsODUgQEAKKzIwMTEtMDEtMDQgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFw
cGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBNb3JlIHdvcmsgb24gc3BlbGxpbmcgYW5kIGdyYW1tYXIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUxOTEwCisKKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdDIvbWVzc2FnZXMucHk6CisgICAgICAgIEFkZCBzcGVjaWFsIGNhc2UgZm9yIFdlYkNvcmU6
OlRleHRDaGVja2luZ1Jlc3VsdC4KKworICAgICAgICAqIFNoYXJlZC9Ob3RJbXBsZW1lbnRlZC5o
OgorICAgICAgICBGaXggbWFjcm8gc28gdGhhdCBkZWZpbmluZyBESVNBQkxFX05PVF9JTVBMRU1F
TlRFRF9XQVJOSU5HUyB0byAwIHdpbGwgZW5hYmxlIHRoZSB3YXJuaW5ncy4KKyAgICAgICAgCisg
ICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oOgorICAgICAgICBBZGQgYXJn
dW1lbnQgY29kZXJzIGZvciBXZWJDb3JlOjpHcmFtbWFyRGV0YWlsIGFuZCBXZWJDb3JlOjpUZXh0
Q2hlY2tpbmdSZXN1bHQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW06
CisgICAgICAgICgtW1dLVmlldyBjaGVja1NwZWxsaW5nOl0pOgorICAgICAgICBDYWxsIGFkdmFu
Y2VUb05leHRNaXNzcGVsbGluZy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9UZXh0Q2hlY2tlci5o
OgorICAgICAgICBBZGQgbmV3IE5TU3BlbGxDaGVja2VyIHdyYXBwZXJzLgorCisgICAgICAgICog
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94
eTo6V2ViUGFnZVByb3h5KToKKyAgICAgICAgSW5pdGlhbGl6ZSB0aGUgbmV3IG1lbWJlciB2YXJp
YWJsZXMuCisKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojp+V2ViUGFnZVByb3h5KToK
KyAgICAgICAgQ2FsbCBUZXh0Q2hlY2tlcjo6Y2xvc2VTcGVsbERvY3VtZW50V2l0aFRhZy4KKwor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmFkdmFuY2VUb05leHRNaXNzcGVsbGluZyk6
CisgICAgICAgIFNlbmQgdGhlIEFkdmFuY2VUb05leHRNaXNzcGVsbGluZyBtZXNzYWdlLgorCisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c3BlbGxEb2N1bWVudFRhZyk6CisgICAgICAg
IENyZWF0ZSBhIHNwZWxsIGRvY3VtZW50IHRhZyBpZiBuZWNlc3NhcnkuCisKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZVByb3h5OjpjaGVja1RleHRPZlBhcmFncmFwaCk6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2VQcm94eTo6dXBkYXRlU3BlbGxpbmdVSVdpdGhNaXNzcGVsbGVkV29yZCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Z2V0R3Vlc3Nlc0ZvcldvcmQpOgorICAgICAg
ICBDYWxsIHRoZSBUZXh0Q2hlY2tlci4KKyAgICAgICAgCisgICAgICAgICogVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgQWRkIG5ldyBtZXNzYWdlcy4KKworICAg
ICAgICAqIFVJUHJvY2Vzcy9tYWMvVGV4dENoZWNrZXJNYWMubW06CisgICAgICAgIChXZWJLaXQ6
OlRleHRDaGVja2VyOjp1bmlxdWVTcGVsbERvY3VtZW50VGFnKToKKyAgICAgICAgKFdlYktpdDo6
VGV4dENoZWNrZXI6OmNsb3NlU3BlbGxEb2N1bWVudFdpdGhUYWcpOgorICAgICAgICAoV2ViS2l0
OjpUZXh0Q2hlY2tlcjo6Y2hlY2tUZXh0T2ZQYXJhZ3JhcGgpOgorICAgICAgICAoV2ViS2l0OjpU
ZXh0Q2hlY2tlcjo6dXBkYXRlU3BlbGxpbmdVSVdpdGhNaXNzcGVsbGVkV29yZCk6CisgICAgICAg
IChXZWJLaXQ6OlRleHRDaGVja2VyOjpnZXRHdWVzc2VzRm9yV29yZCk6CisgICAgICAgIEFkZCBO
U1NwZWxsQ2hlY2tlciB3cmFwcGVycy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9xdC9UZXh0Q2hl
Y2tlclF0LmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3Mvd2luL1RleHRDaGVja2VyV2luLmNwcDoK
KyAgICAgICAgQWRkIHN0dWJzLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJFZGl0b3JDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJFZGl0b3JDbGllbnQ6
OmlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
RWRpdG9yQ2xpZW50Ojppc0dyYW1tYXJDaGVja2luZ0VuYWJsZWQpOgorICAgICAgICBHZXQgdGhl
IHRleHQgY2hlY2tpbmcgc3RhdGUgZnJvbSB0aGUgd2ViIHByb2Nlc3MuCisKKyAgICAgICAgKFdl
YktpdDo6V2ViRWRpdG9yQ2xpZW50Ojp1cGRhdGVTcGVsbGluZ1VJV2l0aE1pc3NwZWxsZWRXb3Jk
KToKKyAgICAgICAgKFdlYktpdDo6V2ViRWRpdG9yQ2xpZW50OjpnZXRHdWVzc2VzRm9yV29yZCk6
CisgICAgICAgIFByb3h5IGNhbGxzIHRvIHRoZSBVSSBwcm9jZXNzLgorCisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMvV2ViRWRpdG9yQ2xpZW50TWFjLm1tOgorICAgICAg
ICAoV2ViS2l0OjpXZWJFZGl0b3JDbGllbnQ6OmlzQXV0b21hdGljU3BlbGxpbmdDb3JyZWN0aW9u
RW5hYmxlZCk6CisgICAgICAgIAorICAgICAgICAoV2ViS2l0OjpXZWJFZGl0b3JDbGllbnQ6OmNo
ZWNrVGV4dE9mUGFyYWdyYXBoKToKKyAgICAgICAgUHJveHkgY2FsbHMgdG8gdGhlIFVJIHByb2Nl
c3MuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2U6OmFkdmFuY2VUb05leHRNaXNzcGVsbGluZyk6CisgICAgICAgIENh
bGwgdGhlIGZyYW1lLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVz
c2FnZXMuaW46CisgICAgICAgIEFkZCBBZHZhbmNlVG9OZXh0TWlzc3BlbGxpbmcgbWVzc2FnZS4K
KworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3M6OmluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgU2V0IHRoZSB0ZXh0
IGNoZWNrZXIgc3RhdGUuCisKIDIwMTEtMDEtMDQgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNo
QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLiBCdWlsZCBmaXguCkluZGV4OiBXZWJL
aXQyL1NjcmlwdHMvd2Via2l0Mi9tZXNzYWdlcy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1Nj
cmlwdHMvd2Via2l0Mi9tZXNzYWdlcy5weQkocmV2aXNpb24gNzUwMTIpCisrKyBXZWJLaXQyL1Nj
cmlwdHMvd2Via2l0Mi9tZXNzYWdlcy5weQkod29ya2luZyBjb3B5KQpAQCAtNDE1LDYgKzQxNSw3
IEBAIGRlZiBoZWFkZXJzX2Zvcl90eXBlKHR5cGUpOgogICAgICAgICAnV2ViQ29yZTo6Q29tcG9z
aXRpb25VbmRlcmxpbmUnOiAnPFdlYkNvcmUvRWRpdG9yLmg+JywKICAgICAgICAgJ1dlYkNvcmU6
OktleXByZXNzQ29tbWFuZCc6ICc8V2ViQ29yZS9LZXlib2FyZEV2ZW50Lmg+JywKICAgICAgICAg
J1dlYkNvcmU6OlBsdWdpbkluZm8nOiAnPFdlYkNvcmUvUGx1Z2luRGF0YS5oPicsCisgICAgICAg
ICdXZWJDb3JlOjpUZXh0Q2hlY2tpbmdSZXN1bHQnOiAnPFdlYkNvcmUvRWRpdG9yQ2xpZW50Lmg+
JywKICAgICAgICAgJ1dlYktpdDo6V2ViS2V5Ym9hcmRFdmVudCc6ICciV2ViRXZlbnQuaCInLAog
ICAgICAgICAnV2ViS2l0OjpXZWJNb3VzZUV2ZW50JzogJyJXZWJFdmVudC5oIicsCiAgICAgICAg
ICdXZWJLaXQ6OldlYlRvdWNoRXZlbnQnOiAnIldlYkV2ZW50LmgiJywKSW5kZXg6IFdlYktpdDIv
U2hhcmVkL05vdEltcGxlbWVudGVkLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9TaGFyZWQvTm90
SW1wbGVtZW50ZWQuaAkocmV2aXNpb24gNzUwMTIpCisrKyBXZWJLaXQyL1NoYXJlZC9Ob3RJbXBs
ZW1lbnRlZC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBACiAjaW5jbHVkZSA8c3Rk
aW8uaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogCi0jaWYgZGVmaW5lZChOREVCVUcp
IHx8IGRlZmluZWQoRElTQUJMRV9OT1RfSU1QTEVNRU5URURfV0FSTklOR1MpCisjaWYgZGVmaW5l
ZChOREVCVUcpIHx8IChkZWZpbmVkKERJU0FCTEVfTk9UX0lNUExFTUVOVEVEX1dBUk5JTkdTKSAm
JiBESVNBQkxFX05PVF9JTVBMRU1FTlRFRF9XQVJOSU5HUykKICNkZWZpbmUgbm90SW1wbGVtZW50
ZWQoKSAoKHZvaWQpMCkKICNlbHNlCiAKSW5kZXg6IFdlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1
bWVudENvZGVycy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVu
dENvZGVycy5oCShyZXZpc2lvbiA3NTAxMikKKysrIFdlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1
bWVudENvZGVycy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSA8
V2ViQ29yZS9DdXJzb3IuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0RhdGFiYXNlRGV0YWlscy5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvRWRpdG9yLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9FZGl0b3JDbGll
bnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Zsb2F0UmVjdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
SW50UmVjdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvS2V5Ym9hcmRFdmVudC5oPgpAQCAtMzk0LDYg
KzM5NSw1NiBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6CiAgICAg
fQogfTsKIAordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpHcmFtbWFy
RGV0YWlsPiB7CisgICAgc3RhdGljIHZvaWQgZW5jb2RlKEFyZ3VtZW50RW5jb2RlciogZW5jb2Rl
ciwgY29uc3QgV2ViQ29yZTo6R3JhbW1hckRldGFpbCYgZGV0YWlsKQorICAgIHsKKyAgICAgICAg
ZW5jb2Rlci0+ZW5jb2RlSW50MzIoZGV0YWlsLmxvY2F0aW9uKTsKKyAgICAgICAgZW5jb2Rlci0+
ZW5jb2RlSW50MzIoZGV0YWlsLmxlbmd0aCk7CisgICAgICAgIGVuY29kZXItPmVuY29kZShkZXRh
aWwuZ3Vlc3Nlcyk7CisgICAgICAgIGVuY29kZXItPmVuY29kZShkZXRhaWwudXNlckRlc2NyaXB0
aW9uKTsKKyAgICB9CisKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVyKiBk
ZWNvZGVyLCBXZWJDb3JlOjpHcmFtbWFyRGV0YWlsJiBkZXRhaWwpCisgICAgeworICAgICAgICBp
ZiAoIWRlY29kZXItPmRlY29kZUludDMyKGRldGFpbC5sb2NhdGlvbikpCisgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlSW50MzIoZGV0YWlsLmxl
bmd0aCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGlmICghZGVjb2Rlci0+
ZGVjb2RlKGRldGFpbC5ndWVzc2VzKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAg
ICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUoZGV0YWlsLnVzZXJEZXNjcmlwdGlvbikpCisgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorfTsKKwor
dGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpUZXh0Q2hlY2tpbmdSZXN1
bHQ+IHsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoQXJndW1lbnRFbmNvZGVyKiBlbmNvZGVyLCBj
b25zdCBXZWJDb3JlOjpUZXh0Q2hlY2tpbmdSZXN1bHQmIHJlc3VsdCkKKyAgICB7CisgICAgICAg
IGVuY29kZXItPmVuY29kZUVudW0ocmVzdWx0LnR5cGUpOworICAgICAgICBlbmNvZGVyLT5lbmNv
ZGVJbnQzMihyZXN1bHQubG9jYXRpb24pOworICAgICAgICBlbmNvZGVyLT5lbmNvZGVJbnQzMihy
ZXN1bHQubGVuZ3RoKTsKKyAgICAgICAgZW5jb2Rlci0+ZW5jb2RlKHJlc3VsdC5kZXRhaWxzKTsK
KyAgICAgICAgZW5jb2Rlci0+ZW5jb2RlKHJlc3VsdC5yZXBsYWNlbWVudCk7CisgICAgfQorCisg
ICAgc3RhdGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwgV2ViQ29yZTo6
VGV4dENoZWNraW5nUmVzdWx0JiByZXN1bHQpCisgICAgeworICAgICAgICBpZiAoIWRlY29kZXIt
PmRlY29kZUVudW0ocmVzdWx0LnR5cGUpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
ICAgICBpZiAoIWRlY29kZXItPmRlY29kZUludDMyKHJlc3VsdC5sb2NhdGlvbikpCisgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlSW50MzIocmVz
dWx0Lmxlbmd0aCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGlmICghZGVj
b2Rlci0+ZGVjb2RlKHJlc3VsdC5kZXRhaWxzKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUocmVzdWx0LnJlcGxhY2VtZW50KSkKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorfTsKKwog
fSAvLyBuYW1lc3BhY2UgQ29yZUlQQwogCiAjZW5kaWYgLy8gV2ViQ29yZUFyZ3VtZW50Q29kZXJz
X2gKSW5kZXg6IFdlYktpdDIvVUlQcm9jZXNzL1RleHRDaGVja2VyLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViS2l0Mi9VSVByb2Nlc3MvVGV4dENoZWNrZXIuaAkocmV2aXNpb24gNzUwMTIpCisrKyBXZWJL
aXQyL1VJUHJvY2Vzcy9UZXh0Q2hlY2tlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw4
IEBACiAjaWZuZGVmIFRleHRDaGVja2VyX2gKICNkZWZpbmUgVGV4dENoZWNrZXJfaAogCisjaW5j
bHVkZSA8V2ViQ29yZS9FZGl0b3JDbGllbnQuaD4KKwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNs
YXNzIFRleHRDaGVja2VyU3RhdGU7CkBAIC00MSw2ICs0MywxMyBAQCBwdWJsaWM6CiAjaWYgUExB
VEZPUk0oTUFDKQogICAgIHN0YXRpYyB2b2lkIHNldEF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlv
bkVuYWJsZWQoYm9vbCk7CiAjZW5kaWYKKworICAgIHN0YXRpYyBpbnQ2NF90IHVuaXF1ZVNwZWxs
RG9jdW1lbnRUYWcoKTsKKyAgICBzdGF0aWMgdm9pZCBjbG9zZVNwZWxsRG9jdW1lbnRXaXRoVGFn
KGludDY0X3QpOworCisgICAgc3RhdGljIFZlY3RvcjxXZWJDb3JlOjpUZXh0Q2hlY2tpbmdSZXN1
bHQ+IGNoZWNrVGV4dE9mUGFyYWdyYXBoKGludDY0X3Qgc3BlbGxEb2N1bWVudFRhZywgY29uc3Qg
VUNoYXIqIHRleHQsIGludCBsZW5ndGgsIHVpbnQ2NF90IGNoZWNraW5nVHlwZXMpOworICAgIHN0
YXRpYyB2b2lkIHVwZGF0ZVNwZWxsaW5nVUlXaXRoTWlzc3BlbGxlZFdvcmQoY29uc3QgU3RyaW5n
JiBtaXNzcGVsbGVkV29yZCk7CisgICAgc3RhdGljIHZvaWQgZ2V0R3Vlc3Nlc0ZvcldvcmQoaW50
NjRfdCBzcGVsbERvY3VtZW50VGFnLCBjb25zdCBTdHJpbmcmIHdvcmQsIGNvbnN0IFN0cmluZyYg
Y29udGV4dCwgVmVjdG9yPFN0cmluZz4mIGd1ZXNzZXMpOwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CkluZGV4OiBXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHJldmlzaW9uIDc1MDEy
KQorKysgV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIk5hdGl2ZVdlYktleWJvYXJkRXZlbnQuaCIKICNp
bmNsdWRlICJQYWdlQ2xpZW50LmgiCiAjaW5jbHVkZSAiU3RyaW5nUGFpclZlY3Rvci5oIgorI2lu
Y2x1ZGUgIlRleHRDaGVja2VyLmgiCiAjaW5jbHVkZSAiV0tDb250ZXh0UHJpdmF0ZS5oIgogI2lu
Y2x1ZGUgIldlYkJhY2tGb3J3YXJkTGlzdC5oIgogI2luY2x1ZGUgIldlYkJhY2tGb3J3YXJkTGlz
dEl0ZW0uaCIKQEAgLTExMSw2ICsxMTIsOCBAQCBXZWJQYWdlUHJveHk6OldlYlBhZ2VQcm94eShX
ZWJDb250ZXh0KiBjCiAgICAgLCBtX3Byb2Nlc3NpbmdXaGVlbEV2ZW50KGZhbHNlKQogICAgICwg
bV9wcm9jZXNzaW5nTW91c2VNb3ZlRXZlbnQoZmFsc2UpCiAgICAgLCBtX3BhZ2VJRChwYWdlSUQp
CisgICAgLCBtX3NwZWxsRG9jdW1lbnRUYWcoMCkKKyAgICAsIG1faGFzU3BlbGxEb2N1bWVudFRh
ZyhmYWxzZSkKICAgICAsIG1fbWFpbkZyYW1lSGFzQ3VzdG9tUmVwcmVzZW50YXRpb24oZmFsc2Up
CiB7CiAjaWZuZGVmIE5ERUJVRwpAQCAtMTI2LDYgKzEyOSw5IEBAIFdlYlBhZ2VQcm94eTo6fldl
YlBhZ2VQcm94eSgpCiB7CiAgICAgV2ViQ29udGV4dDo6c3RhdGlzdGljcygpLndrUGFnZUNvdW50
LS07CiAKKyAgICBpZiAobV9oYXNTcGVsbERvY3VtZW50VGFnKQorICAgICAgICBUZXh0Q2hlY2tl
cjo6Y2xvc2VTcGVsbERvY3VtZW50V2l0aFRhZyhtX3NwZWxsRG9jdW1lbnRUYWcpOworCiAgICAg
bV9wYWdlR3JvdXAtPnJlbW92ZVBhZ2UodGhpcyk7CiAKICNpZm5kZWYgTkRFQlVHCkBAIC0xNzE2
LDYgKzE3MjIsMTEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZENhbmNlbEZvck9wZW5QYW5lbAog
ICAgIG1fb3BlblBhbmVsUmVzdWx0TGlzdGVuZXIgPSAwOwogfQogCit2b2lkIFdlYlBhZ2VQcm94
eTo6YWR2YW5jZVRvTmV4dE1pc3NwZWxsaW5nKCkKK3sKKyAgICBwcm9jZXNzKCktPnNlbmQoTWVz
c2FnZXM6OldlYlBhZ2U6OkFkdmFuY2VUb05leHRNaXNzcGVsbGluZygpLCBtX3BhZ2VJRCk7Cit9
CisKIHZvaWQgV2ViUGFnZVByb3h5Ojp1bm1hcmtBbGxNaXNzcGVsbGluZ3MoKQogewogICAgIHBy
b2Nlc3MoKS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6VW5tYXJrQWxsTWlzc3BlbGxpbmdzKCks
IG1fcGFnZUlEKTsKQEAgLTE3NDUsNiArMTc1NiwzMSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cmVt
b3ZlRWRpdENvbW1hbmQoV2ViCiAgICAgcHJvY2VzcygpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdl
OjpEaWRSZW1vdmVFZGl0Q29tbWFuZChjb21tYW5kLT5jb21tYW5kSUQoKSksIG1fcGFnZUlEKTsK
IH0KIAoraW50NjRfdCBXZWJQYWdlUHJveHk6OnNwZWxsRG9jdW1lbnRUYWcoKQoreworICAgIGlm
ICghbV9oYXNTcGVsbERvY3VtZW50VGFnKSB7CisgICAgICAgIG1fc3BlbGxEb2N1bWVudFRhZyA9
IFRleHRDaGVja2VyOjp1bmlxdWVTcGVsbERvY3VtZW50VGFnKCk7CisgICAgICAgIG1faGFzU3Bl
bGxEb2N1bWVudFRhZyA9IHRydWU7CisgICAgfQorCisgICAgcmV0dXJuIG1fc3BlbGxEb2N1bWVu
dFRhZzsKK30KKwordm9pZCBXZWJQYWdlUHJveHk6OmNoZWNrVGV4dE9mUGFyYWdyYXBoKGNvbnN0
IFN0cmluZyYgdGV4dCwgdWludDY0X3QgY2hlY2tpbmdUeXBlcywgVmVjdG9yPFRleHRDaGVja2lu
Z1Jlc3VsdD4mIHJlc3VsdHMpCit7CisgICAgcmVzdWx0cyA9IFRleHRDaGVja2VyOjpjaGVja1Rl
eHRPZlBhcmFncmFwaChzcGVsbERvY3VtZW50VGFnKCksIHRleHQuY2hhcmFjdGVycygpLCB0ZXh0
Lmxlbmd0aCgpLCBjaGVja2luZ1R5cGVzKTsKK30KKwordm9pZCBXZWJQYWdlUHJveHk6OnVwZGF0
ZVNwZWxsaW5nVUlXaXRoTWlzc3BlbGxlZFdvcmQoY29uc3QgU3RyaW5nJiBtaXNzcGVsbGVkV29y
ZCkKK3sKKyAgICBUZXh0Q2hlY2tlcjo6dXBkYXRlU3BlbGxpbmdVSVdpdGhNaXNzcGVsbGVkV29y
ZChtaXNzcGVsbGVkV29yZCk7Cit9CisKK3ZvaWQgV2ViUGFnZVByb3h5OjpnZXRHdWVzc2VzRm9y
V29yZChjb25zdCBTdHJpbmcmIHdvcmQsIGNvbnN0IFN0cmluZyYgY29udGV4dCwgVmVjdG9yPFN0
cmluZz4mIGd1ZXNzZXMpCit7CisgICAgVGV4dENoZWNrZXI6OmdldEd1ZXNzZXNGb3JXb3JkKHNw
ZWxsRG9jdW1lbnRUYWcoKSwgd29yZCwgY29udGV4dCwgZ3Vlc3Nlcyk7Cit9CisKIC8vIE90aGVy
CiAKIHZvaWQgV2ViUGFnZVByb3h5Ojp0YWtlRm9jdXMoYm9vbCBkaXJlY3Rpb24pCkluZGV4OiBX
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaAkocmV2aXNpb24gNzUwMTIpCisrKyBXZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtNjksNiArNjksNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRmxvYXRSZWN0OwogICAgIGNsYXNzIEludFNpemU7
CiAgICAgY2xhc3MgUHJvdGVjdGlvblNwYWNlOworICAgIHN0cnVjdCBUZXh0Q2hlY2tpbmdSZXN1
bHQ7CiAgICAgc3RydWN0IFZpZXdwb3J0QXJndW1lbnRzOwogICAgIHN0cnVjdCBXaW5kb3dGZWF0
dXJlczsKIH0KQEAgLTI5NCw2ICsyOTUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBmaW5kWm9vbWFi
bGVBcmVhRm9yUG9pbnQoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKTsKICNlbmRpZgogCisgICAg
dm9pZCBhZHZhbmNlVG9OZXh0TWlzc3BlbGxpbmcoKTsKICAgICB2b2lkIHVubWFya0FsbE1pc3Nw
ZWxsaW5ncygpOwogICAgIHZvaWQgdW5tYXJrQWxsQmFkR3JhbW1hcigpOwogCkBAIC00MjMsNiAr
NDI1LDEyIEBAIHByaXZhdGU6CiAgICAgdm9pZCBzdG9wU3BlYWtpbmcoKTsKICNlbmRpZgogCisg
ICAgLy8gU3BlbGxpbmcgYW5kIGdyYW1tYXIuCisgICAgaW50NjRfdCBzcGVsbERvY3VtZW50VGFn
KCk7CisgICAgdm9pZCBjaGVja1RleHRPZlBhcmFncmFwaChjb25zdCBTdHJpbmcmIHRleHQsIHVp
bnQ2NF90IGNoZWNraW5nVHlwZXMsIFZlY3RvcjxXZWJDb3JlOjpUZXh0Q2hlY2tpbmdSZXN1bHQ+
JiByZXN1bHRzKTsKKyAgICB2b2lkIHVwZGF0ZVNwZWxsaW5nVUlXaXRoTWlzc3BlbGxlZFdvcmQo
Y29uc3QgU3RyaW5nJiBtaXNzcGVsbGVkV29yZCk7CisgICAgdm9pZCBnZXRHdWVzc2VzRm9yV29y
ZChjb25zdCBTdHJpbmcmIHdvcmQsIGNvbnN0IFN0cmluZyYgY29udGV4dCwgVmVjdG9yPFN0cmlu
Zz4mIGd1ZXNzZXMpOworCiAgICAgdm9pZCB0YWtlRm9jdXMoYm9vbCBkaXJlY3Rpb24pOwogICAg
IHZvaWQgc2V0VG9vbFRpcChjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIHNldEN1cnNvcihjb25z
dCBXZWJDb3JlOjpDdXJzb3ImKTsKQEAgLTUyNiw2ICs1MzQsOSBAQCBwcml2YXRlOgogCiAgICAg
dWludDY0X3QgbV9wYWdlSUQ7CiAKKyAgICBpbnQ2NF90IG1fc3BlbGxEb2N1bWVudFRhZzsKKyAg
ICBib29sIG1faGFzU3BlbGxEb2N1bWVudFRhZzsKKwogICAgIGJvb2wgbV9tYWluRnJhbWVIYXND
dXN0b21SZXByZXNlbnRhdGlvbjsKIH07CiAKSW5kZXg6IFdlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5tZXNzYWdlcy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkubWVzc2FnZXMuaW4JKHJldmlzaW9uIDc1MDEyKQorKysgV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC0xNzMsNCArMTcz
LDkgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBTcGVhayhXVEY6OlN0cmluZyBz
dHJpbmcpCiAgICAgU3RvcFNwZWFraW5nKCkKICNlbmRpZgorCisgICAgIyBTcGVsbGluZyBhbmQg
Z3JhbW1hci4KKyAgICBDaGVja1RleHRPZlBhcmFncmFwaChXVEY6OlN0cmluZyB0ZXh0LCB1aW50
NjRfdCBjaGVja2luZ1R5cGVzKSAtPiAoVmVjdG9yPFdlYkNvcmU6OlRleHRDaGVja2luZ1Jlc3Vs
dD4gcmVzdWx0cykKKyAgICBVcGRhdGVTcGVsbGluZ1VJV2l0aE1pc3NwZWxsZWRXb3JkKFdURjo6
U3RyaW5nIG1pc3NwZWxsZWRXb3JkKQorICAgIEdldEd1ZXNzZXNGb3JXb3JkKFdURjo6U3RyaW5n
IHdvcmQsIFdURjo6U3RyaW5nIGNvbnRleHQpIC0+IChWZWN0b3I8V1RGOjpTdHJpbmc+IGd1ZXNz
ZXMpCiB9CkluZGV4OiBXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQkocmV2aXNpb24gNzUw
MTIpCisrKyBXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQkod29ya2luZyBjb3B5
KQpAQCAtNDIwLDcgKzQyMCw3IEBAIC0gKElCQWN0aW9uKXNob3dHdWVzc1BhbmVsOihpZClzZW5k
ZXIKIAogLSAoSUJBY3Rpb24pY2hlY2tTcGVsbGluZzooaWQpc2VuZGVyCiB7Ci0gICAgLy8gRklY
TUUgKFdlYktpdDIpIDxyZGFyOi8vcHJvYmxlbS84MjQ1OTU4PiBNYWtlIFNwZWxsaW5nL0dyYW1t
YXIgY2hlY2tpbmcgd29yayBpbiBXZWJLaXQyCisgICAgX2RhdGEtPl9wYWdlLT5hZHZhbmNlVG9O
ZXh0TWlzc3BlbGxpbmcoKTsKIH0KIAogLSAoSUJBY3Rpb24pdG9nZ2xlQ29udGludW91c1NwZWxs
Q2hlY2tpbmc6KGlkKXNlbmRlcgpJbmRleDogV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1RleHRDaGVj
a2VyTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvVUlQcm9jZXNzL21hYy9UZXh0Q2hlY2tl
ck1hYy5tbQkocmV2aXNpb24gNzUwMTIpCisrKyBXZWJLaXQyL1VJUHJvY2Vzcy9tYWMvVGV4dENo
ZWNrZXJNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMCwgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI2LDExICsyNiwxNCBAQAogI2luY2x1ZGUgIlRl
eHRDaGVja2VyLmgiCiAKICNpbmNsdWRlICJUZXh0Q2hlY2tlclN0YXRlLmgiCisjaW5jbHVkZSA8
d3RmL1JldGFpblB0ci5oPgogCiBzdGF0aWMgY29uc3QgTlNTdHJpbmcgKiBjb25zdCBXZWJBdXRv
bWF0aWNTcGVsbGluZ0NvcnJlY3Rpb25FbmFibGVkID0gQCJXZWJBdXRvbWF0aWNTcGVsbGluZ0Nv
cnJlY3Rpb25FbmFibGVkIjsKIHN0YXRpYyBjb25zdCBOU1N0cmluZyAqIGNvbnN0IFdlYkNvbnRp
bnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCA9IEAiV2ViQ29udGludW91c1NwZWxsQ2hlY2tpbmdF
bmFibGVkIjsKIHN0YXRpYyBjb25zdCBOU1N0cmluZyAqIGNvbnN0IFdlYkdyYW1tYXJDaGVja2lu
Z0VuYWJsZWQgPSBAIldlYkdyYW1tYXJDaGVja2luZ0VuYWJsZWQiOwogCit1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKKwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIFRleHRDaGVja2VyU3RhdGUgdGV4
dENoZWNrZXJTdGF0ZTsKQEAgLTEwOSw0ICsxMTIsMTI1IEBAIHZvaWQgVGV4dENoZWNrZXI6OnNl
dEF1dG9tYXRpY1NwZWxsaW5nQ28KICAgICBbW05TU3BlbGxDaGVja2VyIHNoYXJlZFNwZWxsQ2hl
Y2tlcl0gdXBkYXRlUGFuZWxzXTsKIH0KIAoraW50NjRfdCBUZXh0Q2hlY2tlcjo6dW5pcXVlU3Bl
bGxEb2N1bWVudFRhZygpCit7CisgICAgcmV0dXJuIFtOU1NwZWxsQ2hlY2tlciB1bmlxdWVTcGVs
bERvY3VtZW50VGFnXTsKK30KKwordm9pZCBUZXh0Q2hlY2tlcjo6Y2xvc2VTcGVsbERvY3VtZW50
V2l0aFRhZyhpbnQ2NF90IHRhZykKK3sKKyAgICBbW05TU3BlbGxDaGVja2VyIHNoYXJlZFNwZWxs
Q2hlY2tlcl0gY2xvc2VTcGVsbERvY3VtZW50V2l0aFRhZzp0YWddOworfQorCitWZWN0b3I8VGV4
dENoZWNraW5nUmVzdWx0PiBUZXh0Q2hlY2tlcjo6Y2hlY2tUZXh0T2ZQYXJhZ3JhcGgoaW50NjRf
dCBzcGVsbERvY3VtZW50VGFnLCBjb25zdCBVQ2hhciogdGV4dCwgaW50IGxlbmd0aCwgdWludDY0
X3QgY2hlY2tpbmdUeXBlcykKK3sKKyAgICBWZWN0b3I8VGV4dENoZWNraW5nUmVzdWx0PiByZXN1
bHRzOworCisgICAgUmV0YWluUHRyPE5TU3RyaW5nPiB0ZXh0U3RyaW5nKEFkb3B0TlMsIFtbTlNT
dHJpbmcgYWxsb2NdIGluaXRXaXRoQ2hhcmFjdGVyc05vQ29weTpjb25zdF9jYXN0PFVDaGFyKj4o
dGV4dCkgbGVuZ3RoOmxlbmd0aCBmcmVlV2hlbkRvbmU6Tk9dKTsKKyAgICBOU0FycmF5ICppbmNv
bWluZ1Jlc3VsdHMgPSBbW05TU3BlbGxDaGVja2VyIHNoYXJlZFNwZWxsQ2hlY2tlcl0gY2hlY2tT
dHJpbmc6dGV4dFN0cmluZyAuZ2V0KCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFuZ2U6TlNNYWtlUmFu
Z2UoMCwgbGVuZ3RoKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlczpjaGVja2luZ1R5cGVzIHwgTlNU
ZXh0Q2hlY2tpbmdUeXBlT3J0aG9ncmFwaHkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6bmlsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
blNwZWxsRG9jdW1lbnRXaXRoVGFnOnNwZWxsRG9jdW1lbnRUYWcgCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ydGhv
Z3JhcGh5Ok5VTEwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB3b3JkQ291bnQ6TlVMTF07CisgICAgZm9yIChOU1Rl
eHRDaGVja2luZ1Jlc3VsdCAqaW5jb21pbmdSZXN1bHQgaW4gaW5jb21pbmdSZXN1bHRzKSB7Cisg
ICAgICAgIE5TUmFuZ2UgcmVzdWx0UmFuZ2UgPSBbaW5jb21pbmdSZXN1bHQgcmFuZ2VdOworICAg
ICAgICBOU1RleHRDaGVja2luZ1R5cGUgcmVzdWx0VHlwZSA9IFtpbmNvbWluZ1Jlc3VsdCByZXN1
bHRUeXBlXTsKKyAgICAgICAgQVNTRVJUKHJlc3VsdFJhbmdlLmxvY2F0aW9uICE9IE5TTm90Rm91
bmQpOworICAgICAgICBBU1NFUlQocmVzdWx0UmFuZ2UubGVuZ3RoID4gMCk7CisgICAgICAgIGlm
IChyZXN1bHRUeXBlID09IE5TVGV4dENoZWNraW5nVHlwZVNwZWxsaW5nICYmIChjaGVja2luZ1R5
cGVzICYgTlNUZXh0Q2hlY2tpbmdUeXBlU3BlbGxpbmcpKSB7CisgICAgICAgICAgICBUZXh0Q2hl
Y2tpbmdSZXN1bHQgcmVzdWx0OworICAgICAgICAgICAgcmVzdWx0LnR5cGUgPSBUZXh0Q2hlY2tp
bmdUeXBlU3BlbGxpbmc7CisgICAgICAgICAgICByZXN1bHQubG9jYXRpb24gPSByZXN1bHRSYW5n
ZS5sb2NhdGlvbjsKKyAgICAgICAgICAgIHJlc3VsdC5sZW5ndGggPSByZXN1bHRSYW5nZS5sZW5n
dGg7CisgICAgICAgICAgICByZXN1bHRzLmFwcGVuZChyZXN1bHQpOworICAgICAgICB9IGVsc2Ug
aWYgKHJlc3VsdFR5cGUgPT0gTlNUZXh0Q2hlY2tpbmdUeXBlR3JhbW1hciAmJiAoY2hlY2tpbmdU
eXBlcyAmIE5TVGV4dENoZWNraW5nVHlwZUdyYW1tYXIpKSB7CisgICAgICAgICAgICBUZXh0Q2hl
Y2tpbmdSZXN1bHQgcmVzdWx0OworICAgICAgICAgICAgTlNBcnJheSAqZGV0YWlscyA9IFtpbmNv
bWluZ1Jlc3VsdCBncmFtbWFyRGV0YWlsc107CisgICAgICAgICAgICByZXN1bHQudHlwZSA9IFRl
eHRDaGVja2luZ1R5cGVHcmFtbWFyOworICAgICAgICAgICAgcmVzdWx0LmxvY2F0aW9uID0gcmVz
dWx0UmFuZ2UubG9jYXRpb247CisgICAgICAgICAgICByZXN1bHQubGVuZ3RoID0gcmVzdWx0UmFu
Z2UubGVuZ3RoOworICAgICAgICAgICAgZm9yIChOU0RpY3Rpb25hcnkgKmluY29taW5nRGV0YWls
IGluIGRldGFpbHMpIHsKKyAgICAgICAgICAgICAgICBBU1NFUlQoaW5jb21pbmdEZXRhaWwpOwor
ICAgICAgICAgICAgICAgIEdyYW1tYXJEZXRhaWwgZGV0YWlsOworICAgICAgICAgICAgICAgIE5T
VmFsdWUgKmRldGFpbFJhbmdlQXNOU1ZhbHVlID0gW2luY29taW5nRGV0YWlsIG9iamVjdEZvcktl
eTpOU0dyYW1tYXJSYW5nZV07CisgICAgICAgICAgICAgICAgQVNTRVJUKGRldGFpbFJhbmdlQXNO
U1ZhbHVlKTsKKyAgICAgICAgICAgICAgICBOU1JhbmdlIGRldGFpbE5TUmFuZ2UgPSBbZGV0YWls
UmFuZ2VBc05TVmFsdWUgcmFuZ2VWYWx1ZV07CisgICAgICAgICAgICAgICAgQVNTRVJUKGRldGFp
bE5TUmFuZ2UubG9jYXRpb24gIT0gTlNOb3RGb3VuZCk7CisgICAgICAgICAgICAgICAgQVNTRVJU
KGRldGFpbE5TUmFuZ2UubGVuZ3RoID4gMCk7CisgICAgICAgICAgICAgICAgZGV0YWlsLmxvY2F0
aW9uID0gZGV0YWlsTlNSYW5nZS5sb2NhdGlvbjsKKyAgICAgICAgICAgICAgICBkZXRhaWwubGVu
Z3RoID0gZGV0YWlsTlNSYW5nZS5sZW5ndGg7CisgICAgICAgICAgICAgICAgZGV0YWlsLnVzZXJE
ZXNjcmlwdGlvbiA9IFtpbmNvbWluZ0RldGFpbCBvYmplY3RGb3JLZXk6TlNHcmFtbWFyVXNlckRl
c2NyaXB0aW9uXTsKKyAgICAgICAgICAgICAgICBOU0FycmF5ICpndWVzc2VzID0gW2luY29taW5n
RGV0YWlsIG9iamVjdEZvcktleTpOU0dyYW1tYXJDb3JyZWN0aW9uc107CisgICAgICAgICAgICAg
ICAgZm9yIChOU1N0cmluZyAqZ3Vlc3MgaW4gZ3Vlc3NlcykKKyAgICAgICAgICAgICAgICAgICAg
ZGV0YWlsLmd1ZXNzZXMuYXBwZW5kKFN0cmluZyhndWVzcykpOworICAgICAgICAgICAgICAgIHJl
c3VsdC5kZXRhaWxzLmFwcGVuZChkZXRhaWwpOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
cmVzdWx0cy5hcHBlbmQocmVzdWx0KTsKKyAgICAgICAgfSBlbHNlIGlmIChyZXN1bHRUeXBlID09
IE5TVGV4dENoZWNraW5nVHlwZUxpbmsgJiYgKGNoZWNraW5nVHlwZXMgJiBOU1RleHRDaGVja2lu
Z1R5cGVMaW5rKSkgeworICAgICAgICAgICAgVGV4dENoZWNraW5nUmVzdWx0IHJlc3VsdDsKKyAg
ICAgICAgICAgIHJlc3VsdC50eXBlID0gVGV4dENoZWNraW5nVHlwZUxpbms7CisgICAgICAgICAg
ICByZXN1bHQubG9jYXRpb24gPSByZXN1bHRSYW5nZS5sb2NhdGlvbjsKKyAgICAgICAgICAgIHJl
c3VsdC5sZW5ndGggPSByZXN1bHRSYW5nZS5sZW5ndGg7CisgICAgICAgICAgICByZXN1bHQucmVw
bGFjZW1lbnQgPSBbW2luY29taW5nUmVzdWx0IFVSTF0gYWJzb2x1dGVTdHJpbmddOworICAgICAg
ICAgICAgcmVzdWx0cy5hcHBlbmQocmVzdWx0KTsKKyAgICAgICAgfSBlbHNlIGlmIChyZXN1bHRU
eXBlID09IE5TVGV4dENoZWNraW5nVHlwZVF1b3RlICYmIChjaGVja2luZ1R5cGVzICYgTlNUZXh0
Q2hlY2tpbmdUeXBlUXVvdGUpKSB7CisgICAgICAgICAgICBUZXh0Q2hlY2tpbmdSZXN1bHQgcmVz
dWx0OworICAgICAgICAgICAgcmVzdWx0LnR5cGUgPSBUZXh0Q2hlY2tpbmdUeXBlUXVvdGU7Cisg
ICAgICAgICAgICByZXN1bHQubG9jYXRpb24gPSByZXN1bHRSYW5nZS5sb2NhdGlvbjsKKyAgICAg
ICAgICAgIHJlc3VsdC5sZW5ndGggPSByZXN1bHRSYW5nZS5sZW5ndGg7CisgICAgICAgICAgICBy
ZXN1bHQucmVwbGFjZW1lbnQgPSBbaW5jb21pbmdSZXN1bHQgcmVwbGFjZW1lbnRTdHJpbmddOwor
ICAgICAgICAgICAgcmVzdWx0cy5hcHBlbmQocmVzdWx0KTsKKyAgICAgICAgfSBlbHNlIGlmIChy
ZXN1bHRUeXBlID09IE5TVGV4dENoZWNraW5nVHlwZURhc2ggJiYgKGNoZWNraW5nVHlwZXMgJiBO
U1RleHRDaGVja2luZ1R5cGVEYXNoKSkgeworICAgICAgICAgICAgVGV4dENoZWNraW5nUmVzdWx0
IHJlc3VsdDsKKyAgICAgICAgICAgIHJlc3VsdC50eXBlID0gVGV4dENoZWNraW5nVHlwZURhc2g7
CisgICAgICAgICAgICByZXN1bHQubG9jYXRpb24gPSByZXN1bHRSYW5nZS5sb2NhdGlvbjsKKyAg
ICAgICAgICAgIHJlc3VsdC5sZW5ndGggPSByZXN1bHRSYW5nZS5sZW5ndGg7CisgICAgICAgICAg
ICByZXN1bHQucmVwbGFjZW1lbnQgPSBbaW5jb21pbmdSZXN1bHQgcmVwbGFjZW1lbnRTdHJpbmdd
OworICAgICAgICAgICAgcmVzdWx0cy5hcHBlbmQocmVzdWx0KTsKKyAgICAgICAgfSBlbHNlIGlm
IChyZXN1bHRUeXBlID09IE5TVGV4dENoZWNraW5nVHlwZVJlcGxhY2VtZW50ICYmIChjaGVja2lu
Z1R5cGVzICYgTlNUZXh0Q2hlY2tpbmdUeXBlUmVwbGFjZW1lbnQpKSB7CisgICAgICAgICAgICBU
ZXh0Q2hlY2tpbmdSZXN1bHQgcmVzdWx0OworICAgICAgICAgICAgcmVzdWx0LnR5cGUgPSBUZXh0
Q2hlY2tpbmdUeXBlUmVwbGFjZW1lbnQ7CisgICAgICAgICAgICByZXN1bHQubG9jYXRpb24gPSBy
ZXN1bHRSYW5nZS5sb2NhdGlvbjsKKyAgICAgICAgICAgIHJlc3VsdC5sZW5ndGggPSByZXN1bHRS
YW5nZS5sZW5ndGg7CisgICAgICAgICAgICByZXN1bHQucmVwbGFjZW1lbnQgPSBbaW5jb21pbmdS
ZXN1bHQgcmVwbGFjZW1lbnRTdHJpbmddOworICAgICAgICAgICAgcmVzdWx0cy5hcHBlbmQocmVz
dWx0KTsKKyAgICAgICAgfSBlbHNlIGlmIChyZXN1bHRUeXBlID09IE5TVGV4dENoZWNraW5nVHlw
ZUNvcnJlY3Rpb24gJiYgKGNoZWNraW5nVHlwZXMgJiBOU1RleHRDaGVja2luZ1R5cGVDb3JyZWN0
aW9uKSkgeworICAgICAgICAgICAgVGV4dENoZWNraW5nUmVzdWx0IHJlc3VsdDsKKyAgICAgICAg
ICAgIHJlc3VsdC50eXBlID0gVGV4dENoZWNraW5nVHlwZUNvcnJlY3Rpb247CisgICAgICAgICAg
ICByZXN1bHQubG9jYXRpb24gPSByZXN1bHRSYW5nZS5sb2NhdGlvbjsKKyAgICAgICAgICAgIHJl
c3VsdC5sZW5ndGggPSByZXN1bHRSYW5nZS5sZW5ndGg7CisgICAgICAgICAgICByZXN1bHQucmVw
bGFjZW1lbnQgPSBbaW5jb21pbmdSZXN1bHQgcmVwbGFjZW1lbnRTdHJpbmddOworICAgICAgICAg
ICAgcmVzdWx0cy5hcHBlbmQocmVzdWx0KTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVy
biByZXN1bHRzOworfQorCit2b2lkIFRleHRDaGVja2VyOjp1cGRhdGVTcGVsbGluZ1VJV2l0aE1p
c3NwZWxsZWRXb3JkKGNvbnN0IFN0cmluZyYgbWlzc3BlbGxlZFdvcmQpCit7CisgICAgW1tOU1Nw
ZWxsQ2hlY2tlciBzaGFyZWRTcGVsbENoZWNrZXJdIHVwZGF0ZVNwZWxsaW5nUGFuZWxXaXRoTWlz
c3BlbGxlZFdvcmQ6bWlzc3BlbGxlZFdvcmRdOworfQorCit2b2lkIFRleHRDaGVja2VyOjpnZXRH
dWVzc2VzRm9yV29yZChpbnQ2NF90IHNwZWxsRG9jdW1lbnRUYWcsIGNvbnN0IFN0cmluZyYgd29y
ZCwgY29uc3QgU3RyaW5nJiBjb250ZXh0LCBWZWN0b3I8U3RyaW5nPiYgZ3Vlc3NlcykKK3sKKyNp
ZiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCisgICAgTlNTdHJpbmcqIGxhbmd1
YWdlID0gbmlsOworICAgIE5TT3J0aG9ncmFwaHkqIG9ydGhvZ3JhcGh5ID0gbmlsOworICAgIE5T
U3BlbGxDaGVja2VyICpjaGVja2VyID0gW05TU3BlbGxDaGVja2VyIHNoYXJlZFNwZWxsQ2hlY2tl
cl07CisgICAgaWYgKGNvbnRleHQubGVuZ3RoKCkpIHsKKyAgICAgICAgW2NoZWNrZXIgY2hlY2tT
dHJpbmc6Y29udGV4dCByYW5nZTpOU01ha2VSYW5nZSgwLCBjb250ZXh0Lmxlbmd0aCgpKSB0eXBl
czpOU1RleHRDaGVja2luZ1R5cGVPcnRob2dyYXBoeSBvcHRpb25zOjAgaW5TcGVsbERvY3VtZW50
V2l0aFRhZzpzcGVsbENoZWNrZXJEb2N1bWVudFRhZygpIG9ydGhvZ3JhcGh5OiZvcnRob2dyYXBo
eSB3b3JkQ291bnQ6MF07CisgICAgICAgIGxhbmd1YWdlID0gW2NoZWNrZXIgbGFuZ3VhZ2VGb3JX
b3JkUmFuZ2U6TlNNYWtlUmFuZ2UoMCwgY29udGV4dC5sZW5ndGgoKSkgaW5TdHJpbmc6Y29udGV4
dCBvcnRob2dyYXBoeTpvcnRob2dyYXBoeV07CisgICAgfQorICAgIE5TQXJyYXkqIHN0cmluZ3NB
cnJheSA9IFtjaGVja2VyIGd1ZXNzZXNGb3JXb3JkUmFuZ2U6TlNNYWtlUmFuZ2UoMCwgd29yZC5s
ZW5ndGgoKSkgaW5TdHJpbmc6d29yZCBsYW5ndWFnZTpsYW5ndWFnZSBpblNwZWxsRG9jdW1lbnRX
aXRoVGFnOnNwZWxsQ2hlY2tlckRvY3VtZW50VGFnKCldOworI2Vsc2UKKyAgICBOU0FycmF5KiBz
dHJpbmdzQXJyYXkgPSBbW05TU3BlbGxDaGVja2VyIHNoYXJlZFNwZWxsQ2hlY2tlcl0gZ3Vlc3Nl
c0ZvcldvcmQ6d29yZF07CisjZW5kaWYKKworICAgIGZvciAoTlNTdHJpbmcgKmd1ZXNzIGluIHN0
cmluZ3NBcnJheSkKKyAgICAgICAgZ3Vlc3Nlcy5hcHBlbmQoZ3Vlc3MpOworfQorCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKSW5kZXg6IFdlYktpdDIvVUlQcm9jZXNzL3F0L1RleHRDaGVja2VyUXQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvVUlQcm9jZXNzL3F0L1RleHRDaGVja2VyUXQuY3Bw
CShyZXZpc2lvbiA3NTAxMykKKysrIFdlYktpdDIvVUlQcm9jZXNzL3F0L1RleHRDaGVja2VyUXQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw4IEBACiAjaW5jbHVkZSAiTm90SW1wbGVt
ZW50ZWQuaCIKICNpbmNsdWRlICJUZXh0Q2hlY2tlclN0YXRlLmgiCiAKK3VzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOworIAogbmFtZXNwYWNlIFdlYktpdCB7CiAgIAogc3RhdGljIFRleHRDaGVja2Vy
U3RhdGUgdGV4dENoZWNrZXJTdGF0ZTsKQEAgLTU2LDQgKzU4LDMxIEBAIHZvaWQgVGV4dENoZWNr
ZXI6OnNldEdyYW1tYXJDaGVja2luZ0VuYWIKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCitp
bnQ2NF90IFRleHRDaGVja2VyOjp1bmlxdWVTcGVsbERvY3VtZW50VGFnKCkKK3sKKyAgICBub3RJ
bXBsZW1lbnRlZCgpOworICAgIHJldHVybiAwOworfQorCit2b2lkIFRleHRDaGVja2VyOjpjbG9z
ZVNwZWxsRG9jdW1lbnRXaXRoVGFnKGludDY0X3QpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsK
K30KKworVmVjdG9yPFRleHRDaGVja2luZ1Jlc3VsdD4gVGV4dENoZWNrZXI6OmNoZWNrVGV4dE9m
UGFyYWdyYXBoKGludDY0X3Qgc3BlbGxEb2N1bWVudFRhZywgY29uc3QgVUNoYXIqIHRleHQsIGlu
dCBsZW5ndGgsIHVpbnQ2NF90IGNoZWNraW5nVHlwZXMpCit7CisgICAgbm90SW1wbGVtZW50ZWQo
KTsKKyAgICByZXR1cm4gVmVjdG9yPFdlYkNvcmU6OlRleHRDaGVja2luZ1Jlc3VsdD4oKTsKK30K
Kwordm9pZCBUZXh0Q2hlY2tlcjo6dXBkYXRlU3BlbGxpbmdVSVdpdGhNaXNzcGVsbGVkV29yZChj
b25zdCBTdHJpbmcmIG1pc3NwZWxsZWRXb3JkKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9
CisKK3ZvaWQgVGV4dENoZWNrZXI6OmdldEd1ZXNzZXNGb3JXb3JkKGludDY0X3Qgc3BlbGxEb2N1
bWVudFRhZywgY29uc3QgU3RyaW5nJiB3b3JkLCBjb25zdCBTdHJpbmcmIGNvbnRleHQsIFZlY3Rv
cjxTdHJpbmc+JiBndWVzc2VzKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdApJbmRleDogV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1RleHRDaGVja2Vy
V2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1VJUHJvY2Vzcy93aW4vVGV4dENoZWNrZXJX
aW4uY3BwCShyZXZpc2lvbiA3NTAxMykKKysrIFdlYktpdDIvVUlQcm9jZXNzL3dpbi9UZXh0Q2hl
Y2tlcldpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDggQEAKICNpbmNsdWRlICJO
b3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlRleHRDaGVja2VyU3RhdGUuaCIKIAordXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBzdGF0aWMgVGV4dENo
ZWNrZXJTdGF0ZSB0ZXh0Q2hlY2tlclN0YXRlOwpAQCAtNTYsNCArNTgsMzEgQEAgdm9pZCBUZXh0
Q2hlY2tlcjo6c2V0R3JhbW1hckNoZWNraW5nRW5hYgogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9
CiAKK2ludDY0X3QgVGV4dENoZWNrZXI6OnVuaXF1ZVNwZWxsRG9jdW1lbnRUYWcoKQoreworICAg
IG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIDA7Cit9CisKK3ZvaWQgVGV4dENoZWNrZXI6
OmNsb3NlU3BlbGxEb2N1bWVudFdpdGhUYWcoaW50NjRfdCkKK3sKKyAgICBub3RJbXBsZW1lbnRl
ZCgpOworfQorCitWZWN0b3I8VGV4dENoZWNraW5nUmVzdWx0PiBUZXh0Q2hlY2tlcjo6Y2hlY2tU
ZXh0T2ZQYXJhZ3JhcGgoaW50NjRfdCBzcGVsbERvY3VtZW50VGFnLCBjb25zdCBVQ2hhciogdGV4
dCwgaW50IGxlbmd0aCwgdWludDY0X3QgY2hlY2tpbmdUeXBlcykKK3sKKyAgICBub3RJbXBsZW1l
bnRlZCgpOworICAgIHJldHVybiBWZWN0b3I8V2ViQ29yZTo6VGV4dENoZWNraW5nUmVzdWx0Pigp
OworfQorCit2b2lkIFRleHRDaGVja2VyOjp1cGRhdGVTcGVsbGluZ1VJV2l0aE1pc3NwZWxsZWRX
b3JkKGNvbnN0IFN0cmluZyYgbWlzc3BlbGxlZFdvcmQpCit7CisgICAgbm90SW1wbGVtZW50ZWQo
KTsKK30KKwordm9pZCBUZXh0Q2hlY2tlcjo6Z2V0R3Vlc3Nlc0ZvcldvcmQoaW50NjRfdCBzcGVs
bERvY3VtZW50VGFnLCBjb25zdCBTdHJpbmcmIHdvcmQsIGNvbnN0IFN0cmluZyYgY29udGV4dCwg
VmVjdG9yPFN0cmluZz4mIGd1ZXNzZXMpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCShy
ZXZpc2lvbiA3NTAxMikKKysrIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTYyLDYgKzE2Miw4IEBAIHZvaWQgV2ViUHJvY2Vzczo6aW5pdGlhbGl6
ZVdlYlByb2Nlc3MoY28KICAgICBpZiAoIXBhcmFtZXRlcnMubGFuZ3VhZ2VDb2RlLmlzRW1wdHko
KSkKICAgICAgICAgb3ZlcnJpZGVEZWZhdWx0TGFuZ3VhZ2UocGFyYW1ldGVycy5sYW5ndWFnZUNv
ZGUpOwogCisgICAgbV90ZXh0Q2hlY2tlclN0YXRlID0gcGFyYW1ldGVycy50ZXh0Q2hlY2tlclN0
YXRlOworCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwYXJhbWV0ZXJzLnVybFNjaGVtZXNS
ZWdpc3RlcmVyZEFzRW1wdHlEb2N1bWVudC5zaXplKCk7ICsraSkKICAgICAgICAgcmVnaXN0ZXJV
UkxTY2hlbWVBc0VtcHR5RG9jdW1lbnQocGFyYW1ldGVycy51cmxTY2hlbWVzUmVnaXN0ZXJlcmRB
c0VtcHR5RG9jdW1lbnRbaV0pOwogCkluZGV4OiBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcAkocmV2aXNpb24gNzUwMTIpCisr
KyBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtODIsOCArODIsNyBAQCBib29sIFdlYkVkaXRvckNsaWVudDo6aXNT
ZWxlY3RUcmFpbGluZ1doCiAKIGJvb2wgV2ViRWRpdG9yQ2xpZW50Ojppc0NvbnRpbnVvdXNTcGVs
bENoZWNraW5nRW5hYmxlZCgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4g
ZmFsc2U7CisgICAgcmV0dXJuIFdlYlByb2Nlc3M6OnNoYXJlZCgpLnRleHRDaGVja2VyU3RhdGUo
KS5pc0NvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZDsKIH0KIAogdm9pZCBXZWJFZGl0b3JD
bGllbnQ6OnRvZ2dsZUNvbnRpbnVvdXNTcGVsbENoZWNraW5nKCkKQEAgLTkzLDggKzkyLDcgQEAg
dm9pZCBXZWJFZGl0b3JDbGllbnQ6OnRvZ2dsZUNvbnRpbnVvdXNTcAogCiBib29sIFdlYkVkaXRv
ckNsaWVudDo6aXNHcmFtbWFyQ2hlY2tpbmdFbmFibGVkKCkKIHsKLSAgICBub3RJbXBsZW1lbnRl
ZCgpOwotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gV2ViUHJvY2Vzczo6c2hhcmVkKCku
dGV4dENoZWNrZXJTdGF0ZSgpLmlzR3JhbW1hckNoZWNraW5nRW5hYmxlZDsKIH0KIAogdm9pZCBX
ZWJFZGl0b3JDbGllbnQ6OnRvZ2dsZUdyYW1tYXJDaGVja2luZygpCkBAIC0zOTcsOSArMzk1LDkg
QEAgdm9pZCBXZWJFZGl0b3JDbGllbnQ6OnVwZGF0ZVNwZWxsaW5nVUlXaQogICAgIG5vdEltcGxl
bWVudGVkKCk7CiB9CiAKLXZvaWQgV2ViRWRpdG9yQ2xpZW50Ojp1cGRhdGVTcGVsbGluZ1VJV2l0
aE1pc3NwZWxsZWRXb3JkKGNvbnN0IFN0cmluZyYpCit2b2lkIFdlYkVkaXRvckNsaWVudDo6dXBk
YXRlU3BlbGxpbmdVSVdpdGhNaXNzcGVsbGVkV29yZChjb25zdCBTdHJpbmcmIG1pc3NwZWxsZWRX
b3JkKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2Vz
OjpXZWJQYWdlUHJveHk6OlVwZGF0ZVNwZWxsaW5nVUlXaXRoTWlzc3BlbGxlZFdvcmQobWlzc3Bl
bGxlZFdvcmQpKTsKIH0KIAogdm9pZCBXZWJFZGl0b3JDbGllbnQ6OnNob3dTcGVsbGluZ1VJKGJv
b2wpCkBAIC00MTMsOSArNDExLDkgQEAgYm9vbCBXZWJFZGl0b3JDbGllbnQ6OnNwZWxsaW5nVUlJ
c1Nob3dpbgogICAgIHJldHVybiBmYWxzZTsKIH0KIAotdm9pZCBXZWJFZGl0b3JDbGllbnQ6Omdl
dEd1ZXNzZXNGb3JXb3JkKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIFZlY3RvcjxTdHJp
bmc+JikKK3ZvaWQgV2ViRWRpdG9yQ2xpZW50OjpnZXRHdWVzc2VzRm9yV29yZChjb25zdCBTdHJp
bmcmIHdvcmQsIGNvbnN0IFN0cmluZyYgY29udGV4dCwgVmVjdG9yPFN0cmluZz4mIGd1ZXNzZXMp
CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBtX3BhZ2UtPnNlbmRTeW5jKE1lc3NhZ2Vz
OjpXZWJQYWdlUHJveHk6OkdldEd1ZXNzZXNGb3JXb3JkKHdvcmQsIGNvbnRleHQpLCBNZXNzYWdl
czo6V2ViUGFnZVByb3h5OjpHZXRHdWVzc2VzRm9yV29yZDo6UmVwbHkoZ3Vlc3NlcykpOwogfQog
CiB2b2lkIFdlYkVkaXRvckNsaWVudDo6d2lsbFNldElucHV0TWV0aG9kU3RhdGUoKQpJbmRleDog
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJFZGl0b3JDbGllbnRNYWMu
bW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9X
ZWJFZGl0b3JDbGllbnRNYWMubW0JKHJldmlzaW9uIDc1MDEyKQorKysgV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJFZGl0b3JDbGllbnRNYWMubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1
dGVyLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAy
MDEwLCAyMDExIEFwcGxlIENvbXB1dGVyLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICog
Q29weXJpZ2h0IChDKSAyMDA4IE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFy
eSgtaWVzKQogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtMzIsNiArMzIsNyBAQAogI2RlZmluZSBESVNB
QkxFX05PVF9JTVBMRU1FTlRFRF9XQVJOSU5HUyAxCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQu
aCIKIAorI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIldlYlBh
Z2UuaCIKICNpbmNsdWRlICJXZWJGcmFtZS5oIgogI2luY2x1ZGUgIldlYlBhZ2VQcm94eU1lc3Nh
Z2VzLmgiCkBAIC0yMDcsOCArMjA4LDcgQEAgdm9pZCBXZWJFZGl0b3JDbGllbnQ6OnRvZ2dsZUF1
dG9tYXRpY1RleAogCiBib29sIFdlYkVkaXRvckNsaWVudDo6aXNBdXRvbWF0aWNTcGVsbGluZ0Nv
cnJlY3Rpb25FbmFibGVkKCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiBm
YWxzZTsKKyAgICByZXR1cm4gV2ViUHJvY2Vzczo6c2hhcmVkKCkudGV4dENoZWNrZXJTdGF0ZSgp
LmlzQXV0b21hdGljU3BlbGxpbmdDb3JyZWN0aW9uRW5hYmxlZDsKIH0KIAogdm9pZCBXZWJFZGl0
b3JDbGllbnQ6OnRvZ2dsZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbigpCkBAIC0yMTYsOSAr
MjE2LDEwIEBAIHZvaWQgV2ViRWRpdG9yQ2xpZW50Ojp0b2dnbGVBdXRvbWF0aWNTcGUKICAgICBu
b3RJbXBsZW1lbnRlZCgpOwogfQogCi12b2lkIFdlYkVkaXRvckNsaWVudDo6Y2hlY2tUZXh0T2ZQ
YXJhZ3JhcGgoY29uc3QgVUNoYXIgKiwgaW50IGxlbmd0aCwgdWludDY0X3QsIFZlY3RvcjxUZXh0
Q2hlY2tpbmdSZXN1bHQ+JikKK3ZvaWQgV2ViRWRpdG9yQ2xpZW50OjpjaGVja1RleHRPZlBhcmFn
cmFwaChjb25zdCBVQ2hhciogdGV4dCwgaW50IGxlbmd0aCwgdWludDY0X3QgY2hlY2tpbmdUeXBl
cywgVmVjdG9yPFRleHRDaGVja2luZ1Jlc3VsdD4mIHJlc3VsdHMpCiB7Ci0gICAgbm90SW1wbGVt
ZW50ZWQoKTsKKyAgICAvLyBGSVhNRTogSXQgd291bGQgYmUgbmljZSBpZiB3ZSB3b3VsZG4ndCBo
YXZlIHRvIGNvcHkgdGhlIHRleHQgaGVyZS4KKyAgICBtX3BhZ2UtPnNlbmRTeW5jKE1lc3NhZ2Vz
OjpXZWJQYWdlUHJveHk6OkNoZWNrVGV4dE9mUGFyYWdyYXBoKFN0cmluZyh0ZXh0LCBsZW5ndGgp
LCBjaGVja2luZ1R5cGVzKSwgTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6Q2hlY2tUZXh0T2ZQYXJh
Z3JhcGg6OlJlcGx5KHJlc3VsdHMpKTsKIH0KIAogI2VuZGlmCkluZGV4OiBXZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkocmV2aXNpb24gNzUwMTIpCisrKyBXZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI1Niw2ICsxMjU2
LDEyIEBAIHZvaWQgV2ViUGFnZTo6ZGlkQ2FuY2VsRm9yT3BlblBhbmVsKCkKICAgICBtX2FjdGl2
ZU9wZW5QYW5lbFJlc3VsdExpc3RlbmVyID0gMDsKIH0KIAordm9pZCBXZWJQYWdlOjphZHZhbmNl
VG9OZXh0TWlzc3BlbGxpbmcoKQoreworICAgIGlmIChGcmFtZSogZnJhbWUgPSBtX3BhZ2UtPmZv
Y3VzQ29udHJvbGxlcigpLT5mb2N1c2VkT3JNYWluRnJhbWUoKSkKKyAgICAgICAgZnJhbWUtPmVk
aXRvcigpLT5hZHZhbmNlVG9OZXh0TWlzc3BlbGxpbmcoKTsKK30KKwogdm9pZCBXZWJQYWdlOjp1
bm1hcmtBbGxNaXNzcGVsbGluZ3MoKQogewogICAgIGZvciAoRnJhbWUqIGZyYW1lID0gbV9wYWdl
LT5tYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS0+dHJhdmVyc2VOZXh0
KCkpIHsKSW5kZXg6IFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgJKHJldmlzaW9uIDc1
MDEyKQorKysgV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0zNjEsNiArMzYxLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZENob29zZUZpbGVz
Rm9yT3BlblBhbmVsKGNvbnN0IFZlY3RvcjxTdHJpbmc+Jik7CiAgICAgdm9pZCBkaWRDYW5jZWxG
b3JPcGVuUGFuZWwoKTsKIAorICAgIHZvaWQgYWR2YW5jZVRvTmV4dE1pc3NwZWxsaW5nKCk7CiAg
ICAgdm9pZCB1bm1hcmtBbGxNaXNzcGVsbGluZ3MoKTsKICAgICB2b2lkIHVubWFya0FsbEJhZEdy
YW1tYXIoKTsKIApJbmRleDogV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNz
YWdlcy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
Lm1lc3NhZ2VzLmluCShyZXZpc2lvbiA3NTAxMikKKysrIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTEwMSw2ICsxMDEsNyBA
QCBtZXNzYWdlcyAtPiBXZWJQYWdlIHsKICAgICBEaWRDYW5jZWxGb3JPcGVuUGFuZWwoKQogCiAg
ICAgIyBTcGVsaW5nIGFuZCBncmFtbWVyLgorICAgIEFkdmFuY2VUb05leHRNaXNzcGVsbGluZygp
CiAgICAgVW5tYXJrQWxsTWlzc3BlbGxpbmdzKCkKICAgICBVbm1hcmtBbGxCYWRHcmFtbWFyKCkK
IAo=
</data>
<flag name="review"
          id="69198"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>