<?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>206497</bug_id>
          
          <creation_ts>2020-01-20 05:39:42 -0800</creation_ts>
          <short_desc>[GTK][WPE] Also include the selection index in webkit_input_method_context_notify_surrounding()</short_desc>
          <delta_ts>2020-01-20 06:46:40 -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>WebKitGTK</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aperez</cc>
    
    <cc>berto</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gustavo</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1608722</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-01-20 05:39:42 -0800</bug_when>
    <thetext>Input methods also want to know the selection.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608724</commentid>
    <comment_count>1</comment_count>
      <attachid>388233</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-01-20 05:44:17 -0800</bug_when>
    <thetext>Created attachment 388233
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608725</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2020-01-20 05:45:04 -0800</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608740</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-01-20 06:46:40 -0800</bug_when>
    <thetext>Committed r254822: &lt;https://trac.webkit.org/changeset/254822&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388233</attachid>
            <date>2020-01-20 05:44:17 -0800</date>
            <delta_ts>2020-01-20 06:41:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-ime-selection.diff</filename>
            <type>text/plain</type>
            <size>25124</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggZDVjMzE5OTE3MzguLmEyODY3YjIyOGU0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDMzIEBACisyMDIwLTAxLTIwICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlh
LmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIEFsc28gaW5jbHVkZSB0aGUgc2VsZWN0aW9uIGlu
ZGV4IGluIHdlYmtpdF9pbnB1dF9tZXRob2RfY29udGV4dF9ub3RpZnlfc3Vycm91bmRpbmcoKQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2NDk3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5wdXQgbWV0
aG9kcyBhbHNvIHdhbnQgdG8ga25vdyB0aGUgc2VsZWN0aW9uLgorCisgICAgICAgICogU2hhcmVk
L0VkaXRvclN0YXRlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RWRpdG9yU3RhdGU6OlBvc3RMYXlv
dXREYXRhOjplbmNvZGUgY29uc3QpOiBFbmNvZGUgcGFyYWdyYXBoQ29udGV4dFNlbGVjdGlvblBv
c2l0aW9uLgorICAgICAgICAoV2ViS2l0OjpFZGl0b3JTdGF0ZTo6UG9zdExheW91dERhdGE6OmRl
Y29kZSk6IERlY29kZSBwYXJhZ3JhcGhDb250ZXh0U2VsZWN0aW9uUG9zaXRpb24uCisgICAgICAg
ICogU2hhcmVkL0VkaXRvclN0YXRlLmg6IEFkZCBwYXJhZ3JhcGhDb250ZXh0U2VsZWN0aW9uUG9z
aXRpb24uCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9nbGliL0lucHV0TWV0aG9kRmlsdGVyLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6SW5wdXRNZXRob2RGaWx0ZXI6Om5vdGlmeVN1cnJvdW5kaW5n
KTogQWxzbyBpbmNsdWRlIHRoZSBzZWxlY3Rpb24gaW5kZXguCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9nbGliL0lucHV0TWV0aG9kRmlsdGVyLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9n
bGliL1dlYktpdElucHV0TWV0aG9kQ29udGV4dC5jcHA6CisgICAgICAgICh3ZWJraXRfaW5wdXRf
bWV0aG9kX2NvbnRleHRfbm90aWZ5X3N1cnJvdW5kaW5nKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRJbnB1dE1ldGhvZENvbnRleHQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRJbnB1dE1ldGhvZENvbnRleHRJbXBsR3RrLmNwcDoKKyAgICAgICAgKHdl
YmtpdElucHV0TWV0aG9kQ29udGV4dEltcGxHdGtOb3RpZnlTdXJyb3VuZGluZyk6IElnbm9yZSB0
aGUgc2VsZWN0aW9uIGluZGV4LCBzaW5jZSBHdGtJTUNvbnRleHQgZG9lc24ndAorICAgICAgICBz
dXBwb3J0IGl0LgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNl
LmNwcDoKKyAgICAgICAgKHdlYmtpdFdlYlZpZXdCYXNlVXBkYXRlVGV4dElucHV0U3RhdGUpOiBQ
YXNzIHBhcmFncmFwaENvbnRleHRTZWxlY3Rpb25Qb3NpdGlvbiB0byBJbnB1dE1ldGhvZEZpbHRl
cjo6bm90aWZ5U3Vycm91bmRpbmcoKS4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9XUEVW
aWV3LmNwcDoKKyAgICAgICAgKFdLV1BFOjpWaWV3OjpzZWxlY3Rpb25EaWRDaGFuZ2UpOiBEaXR0
by4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRJbnB1dE1ldGhvZENvbnRleHQu
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvZ2xpYi9XZWJQYWdlR0xpYi5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnBsYXRmb3JtRWRpdG9yU3RhdGUgY29uc3QpOiBHZXQg
dGhlIHNlbGVjdGlvbiBpbmRleCB0b28uCisKIDIwMjAtMDEtMTkgIEVyaWMgQ2FybHNvbiAgPGVy
aWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGUgYSBtZXNzYWdlIHJlY2VpdmVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9FZGl0b3JTdGF0ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9FZGl0b3JTdGF0ZS5jcHAK
aW5kZXggMzVkOWZjZWM5N2MuLjA1OTViM2U2Mzg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9FZGl0b3JTdGF0ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvRWRpdG9y
U3RhdGUuY3BwCkBAIC0xNDUsNiArMTQ1LDcgQEAgdm9pZCBFZGl0b3JTdGF0ZTo6UG9zdExheW91
dERhdGE6OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAjaWYgUExBVEZPUk0o
R1RLKSB8fCBQTEFURk9STShXUEUpCiAgICAgZW5jb2RlciA8PCBwYXJhZ3JhcGhDb250ZXh0Owog
ICAgIGVuY29kZXIgPDwgcGFyYWdyYXBoQ29udGV4dEN1cnNvclBvc2l0aW9uOworICAgIGVuY29k
ZXIgPDwgcGFyYWdyYXBoQ29udGV4dFNlbGVjdGlvblBvc2l0aW9uOwogI2VuZGlmCiAgICAgZW5j
b2RlciA8PCBmb250QXR0cmlidXRlczsKICAgICBlbmNvZGVyIDw8IGNhbkN1dDsKQEAgLTIyMyw2
ICsyMjQsOCBAQCBib29sIEVkaXRvclN0YXRlOjpQb3N0TGF5b3V0RGF0YTo6ZGVjb2RlKElQQzo6
RGVjb2RlciYgZGVjb2RlciwgUG9zdExheW91dERhdGEmCiAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5wYXJhZ3JhcGhDb250ZXh0Q3Vyc29yUG9z
aXRpb24pKQogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShy
ZXN1bHQucGFyYWdyYXBoQ29udGV4dFNlbGVjdGlvblBvc2l0aW9uKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOwogI2VuZGlmCiAKICAgICBPcHRpb25hbDxPcHRpb25hbDxGb250QXR0cmlidXRlcz4+
IG9wdGlvbmFsRm9udEF0dHJpYnV0ZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9FZGl0b3JTdGF0ZS5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvRWRpdG9yU3RhdGUuaAppbmRl
eCBkOTYzNDFlOTZjNy4uOWY2MDQ1M2NlMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0VkaXRvclN0YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvRWRpdG9yU3RhdGUu
aApAQCAtMTIzLDYgKzEyMyw3IEBAIHN0cnVjdCBFZGl0b3JTdGF0ZSB7CiAjaWYgUExBVEZPUk0o
R1RLKSB8fCBQTEFURk9STShXUEUpCiAgICAgICAgIFN0cmluZyBwYXJhZ3JhcGhDb250ZXh0Owog
ICAgICAgICB1aW50NjRfdCBwYXJhZ3JhcGhDb250ZXh0Q3Vyc29yUG9zaXRpb24geyAwIH07Cisg
ICAgICAgIHVpbnQ2NF90IHBhcmFncmFwaENvbnRleHRTZWxlY3Rpb25Qb3NpdGlvbiB7IDAgfTsK
ICNlbmRpZgogCiAgICAgICAgIE9wdGlvbmFsPFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzPiBmb250
QXR0cmlidXRlczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGli
L0lucHV0TWV0aG9kRmlsdGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGli
L0lucHV0TWV0aG9kRmlsdGVyLmNwcAppbmRleCAyZjI1Yjk5NjNmYS4uYjE3NzNmMWQyOTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL0lucHV0TWV0aG9kRmls
dGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9JbnB1dE1ldGhv
ZEZpbHRlci5jcHAKQEAgLTIxMCwyMCArMjEwLDI0IEBAIHZvaWQgSW5wdXRNZXRob2RGaWx0ZXI6
Om5vdGlmeUN1cnNvclJlY3QoY29uc3QgSW50UmVjdCYgY3Vyc29yUmVjdCkKICAgICB3ZWJraXRf
aW5wdXRfbWV0aG9kX2NvbnRleHRfbm90aWZ5X2N1cnNvcl9hcmVhKG1fY29udGV4dC5nZXQoKSwg
dHJhbnNsYXRlZFJlY3QueCgpLCB0cmFuc2xhdGVkUmVjdC55KCksIHRyYW5zbGF0ZWRSZWN0Lndp
ZHRoKCksIHRyYW5zbGF0ZWRSZWN0LmhlaWdodCgpKTsKIH0KIAotdm9pZCBJbnB1dE1ldGhvZEZp
bHRlcjo6bm90aWZ5U3Vycm91bmRpbmcoY29uc3QgU3RyaW5nJiB0ZXh0LCB1aW50NjRfdCBjdXJz
b3JQb3NpdGlvbikKK3ZvaWQgSW5wdXRNZXRob2RGaWx0ZXI6Om5vdGlmeVN1cnJvdW5kaW5nKGNv
bnN0IFN0cmluZyYgdGV4dCwgdWludDY0X3QgY3Vyc29yUG9zaXRpb24sIHVpbnQ2NF90IHNlbGVj
dGlvblBvc2l0aW9uKQogewogICAgIGlmICghaXNFbmFibGVkKCkgfHwgIW1fY29udGV4dCkKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgaWYgKG1fc3Vycm91bmRpbmcudGV4dCA9PSB0ZXh0ICYmIG1f
c3Vycm91bmRpbmcuY3Vyc29yUG9zaXRpb24gPT0gY3Vyc29yUG9zaXRpb24pCisgICAgaWYgKG1f
c3Vycm91bmRpbmcudGV4dCA9PSB0ZXh0ICYmIG1fc3Vycm91bmRpbmcuY3Vyc29yUG9zaXRpb24g
PT0gY3Vyc29yUG9zaXRpb24gJiYgbV9zdXJyb3VuZGluZy5zZWxlY3Rpb25Qb3NpdGlvbiA9PSBz
ZWxlY3Rpb25Qb3NpdGlvbikKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV9zdXJyb3VuZGluZy50
ZXh0ID0gdGV4dDsKICAgICBtX3N1cnJvdW5kaW5nLmN1cnNvclBvc2l0aW9uID0gY3Vyc29yUG9z
aXRpb247CisgICAgbV9zdXJyb3VuZGluZy5zZWxlY3Rpb25Qb3NpdGlvbiA9IHNlbGVjdGlvblBv
c2l0aW9uOwogCiAgICAgYXV0byB0ZXh0VVRGOCA9IG1fc3Vycm91bmRpbmcudGV4dC51dGY4KCk7
CiAgICAgYXV0byBjdXJzb3JQb3NpdGlvblVURjggPSBjdXJzb3JQb3NpdGlvbiAhPSB0ZXh0Lmxl
bmd0aCgpID8gdGV4dC5zdWJzdHJpbmcoMCwgY3Vyc29yUG9zaXRpb24pLnV0ZjgoKS5sZW5ndGgo
KSA6IHRleHRVVEY4Lmxlbmd0aCgpOwotICAgIHdlYmtpdF9pbnB1dF9tZXRob2RfY29udGV4dF9u
b3RpZnlfc3Vycm91bmRpbmcobV9jb250ZXh0LmdldCgpLCB0ZXh0VVRGOC5kYXRhKCksIHRleHRV
VEY4Lmxlbmd0aCgpLCBjdXJzb3JQb3NpdGlvblVURjgpOworICAgIGF1dG8gc2VsZWN0aW9uUG9z
aXRpb25VVEY4ID0gY3Vyc29yUG9zaXRpb25VVEY4OworICAgIGlmIChjdXJzb3JQb3NpdGlvbiAh
PSBzZWxlY3Rpb25Qb3NpdGlvbikKKyAgICAgICAgc2VsZWN0aW9uUG9zaXRpb25VVEY4ID0gc2Vs
ZWN0aW9uUG9zaXRpb24gIT0gdGV4dC5sZW5ndGgoKSA/IHRleHQuc3Vic3RyaW5nKDAsIHNlbGVj
dGlvblBvc2l0aW9uKS51dGY4KCkubGVuZ3RoKCkgOiB0ZXh0VVRGOC5sZW5ndGgoKTsKKyAgICB3
ZWJraXRfaW5wdXRfbWV0aG9kX2NvbnRleHRfbm90aWZ5X3N1cnJvdW5kaW5nKG1fY29udGV4dC5n
ZXQoKSwgdGV4dFVURjguZGF0YSgpLCB0ZXh0VVRGOC5sZW5ndGgoKSwgY3Vyc29yUG9zaXRpb25V
VEY4LCBzZWxlY3Rpb25Qb3NpdGlvblVURjgpOwogfQogCiB2b2lkIElucHV0TWV0aG9kRmlsdGVy
OjpwcmVlZGl0U3RhcnRlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvZ2xpYi9JbnB1dE1ldGhvZEZpbHRlci5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L2dsaWIvSW5wdXRNZXRob2RGaWx0ZXIuaAppbmRleCAwNTY1YzI0ZDYzYS4uYTQwYTgxZDE2M2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL0lucHV0TWV0aG9k
RmlsdGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvSW5wdXRNZXRo
b2RGaWx0ZXIuaApAQCAtNjcsNyArNjcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBub3RpZnlGb2N1
c2VkT3V0KCk7CiAgICAgdm9pZCBub3RpZnlNb3VzZUJ1dHRvblByZXNzKCk7CiAgICAgdm9pZCBu
b3RpZnlDdXJzb3JSZWN0KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKTsKLSAgICB2b2lkIG5vdGlm
eVN1cnJvdW5kaW5nKGNvbnN0IFN0cmluZyYsIHVpbnQ2NF90KTsKKyAgICB2b2lkIG5vdGlmeVN1
cnJvdW5kaW5nKGNvbnN0IFN0cmluZyYsIHVpbnQ2NF90LCB1aW50NjRfdCk7CiAKICAgICB2b2lk
IGNhbmNlbENvbXBvc2l0aW9uKCk7CiAKQEAgLTExMCw2ICsxMTAsNyBAQCBwcml2YXRlOgogICAg
IHN0cnVjdCB7CiAgICAgICAgIFN0cmluZyB0ZXh0OwogICAgICAgICB1aW50NjRfdCBjdXJzb3JQ
b3NpdGlvbjsKKyAgICAgICAgdWludDY0X3Qgc2VsZWN0aW9uUG9zaXRpb247CiAgICAgfSBtX3N1
cnJvdW5kaW5nOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L2dsaWIvV2ViS2l0SW5wdXRNZXRob2RDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9nbGliL1dlYktpdElucHV0TWV0aG9kQ29udGV4dC5jcHAKaW5kZXggOTNkNzc1N2Vi
MTkuLjljMzAyZTIxYWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Z2xpYi9XZWJLaXRJbnB1dE1ldGhvZENvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9nbGliL1dlYktpdElucHV0TWV0aG9kQ29udGV4dC5jcHAKQEAgLTQ1OSwxMiAr
NDU5LDE0IEBAIHZvaWQgd2Via2l0X2lucHV0X21ldGhvZF9jb250ZXh0X25vdGlmeV9jdXJzb3Jf
YXJlYShXZWJLaXRJbnB1dE1ldGhvZENvbnRleHQqIGNvCiAgKiBAdGV4dDogdGV4dCBzdXJyb3Vu
ZGluZyB0aGUgaW5zZXJ0aW9uIHBvaW50CiAgKiBAbGVuZ3RoOiB0aGUgbGVuZ3RoIG9mIEB0ZXh0
LCBvciAtMSBpZiBAdGV4dCBpcyBudWwtdGVybWluYXRlZAogICogQGN1cnNvcl9pbmRleDogdGhl
IGJ5dGUgaW5kZXggb2YgdGhlIGluc2VydGlvbiBjdXJzb3Igd2l0aGluIEB0ZXh0LgorICogQHNl
bGVjdGlvbl9pbmRleDogdGhlIGJ5dGUgaW5kZXggb2YgdGhlIHNlbGVjdGlvbiBjdXJzb3Igd2l0
aGluIEB0ZXh0LgogICoKICAqIE5vdGlmeSBAY29udGV4dCB0aGF0IHRoZSBjb250ZXh0IHN1cnJv
dW5kaW5nIHRoZSBjdXJzb3IgaGFzIGNoYW5nZWQuCisgKiBJZiB0aGVyZSdzIG5vIHNlbGVjdGlv
biBAc2VsZWN0aW9uX2luZGV4IGlzIHRoZSBzYW1lIGFzIEBjdXJzb3JfaW5kZXguCiAgKgogICog
U2luY2U6IDIuMjgKICAqLwotdm9pZCB3ZWJraXRfaW5wdXRfbWV0aG9kX2NvbnRleHRfbm90aWZ5
X3N1cnJvdW5kaW5nKFdlYktpdElucHV0TWV0aG9kQ29udGV4dCogY29udGV4dCwgY29uc3QgY2hh
ciogdGV4dCwgaW50IGxlbmd0aCwgdW5zaWduZWQgY3Vyc29ySW5kZXgpCit2b2lkIHdlYmtpdF9p
bnB1dF9tZXRob2RfY29udGV4dF9ub3RpZnlfc3Vycm91bmRpbmcoV2ViS2l0SW5wdXRNZXRob2RD
b250ZXh0KiBjb250ZXh0LCBjb25zdCBjaGFyKiB0ZXh0LCBpbnQgbGVuZ3RoLCB1bnNpZ25lZCBj
dXJzb3JJbmRleCwgdW5zaWduZWQgc2VsZWN0aW9uSW5kZXgpCiB7CiAgICAgZ19yZXR1cm5faWZf
ZmFpbChXRUJLSVRfSVNfSU5QVVRfTUVUSE9EX0NPTlRFWFQoY29udGV4dCkpOwogICAgIGdfcmV0
dXJuX2lmX2ZhaWwodGV4dCB8fCAhbGVuZ3RoKTsKQEAgLTQ3Nyw3ICs0NzksNyBAQCB2b2lkIHdl
YmtpdF9pbnB1dF9tZXRob2RfY29udGV4dF9ub3RpZnlfc3Vycm91bmRpbmcoV2ViS2l0SW5wdXRN
ZXRob2RDb250ZXh0KiBjbwogCiAgICAgYXV0byogaW1DbGFzcyA9IFdFQktJVF9JTlBVVF9NRVRI
T0RfQ09OVEVYVF9HRVRfQ0xBU1MoY29udGV4dCk7CiAgICAgaWYgKGltQ2xhc3MtPm5vdGlmeV9z
dXJyb3VuZGluZykKLSAgICAgICAgaW1DbGFzcy0+bm90aWZ5X3N1cnJvdW5kaW5nKGNvbnRleHQs
IHRleHQsIGxlbmd0aCwgY3Vyc29ySW5kZXgpOworICAgICAgICBpbUNsYXNzLT5ub3RpZnlfc3Vy
cm91bmRpbmcoY29udGV4dCwgdGV4dCwgbGVuZ3RoLCBjdXJzb3JJbmRleCwgc2VsZWN0aW9uSW5k
ZXgpOwogfQogCiAvKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0SW5wdXRNZXRob2RDb250ZXh0LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdElucHV0TWV0aG9kQ29udGV4dC5oCmluZGV4IGNhM2Y2NmY1OGNlLi42ZjUz
MDQ1ODVkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRJbnB1dE1ldGhvZENvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdElucHV0TWV0aG9kQ29udGV4dC5oCkBAIC0xMzEsNyArMTMxLDggQEAgc3RydWN0
IF9XZWJLaXRJbnB1dE1ldGhvZENvbnRleHRDbGFzcyB7CiAgICAgdm9pZCAgICAgKCogbm90aWZ5
X3N1cnJvdW5kaW5nKSAoV2ViS2l0SW5wdXRNZXRob2RDb250ZXh0ICpjb250ZXh0LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICAgICAgICAgICAgICAq
dGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBndWludCAgICAgICAg
ICAgICAgICAgICAgIGxlbmd0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBndWludCAgICAgICAgICAgICAgICAgICAgIGN1cnNvcl9pbmRleCk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZ3VpbnQgICAgICAgICAgICAgICAgICAgICBjdXJzb3Jf
aW5kZXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3VpbnQgICAgICAg
ICAgICAgICAgICAgICBzZWxlY3Rpb25faW5kZXgpOwogICAgIHZvaWQgICAgICgqIHJlc2V0KSAg
ICAgICAgICAgICAgKFdlYktpdElucHV0TWV0aG9kQ29udGV4dCAqY29udGV4dCk7CiAKICAgICB2
b2lkICgqX3dlYmtpdF9yZXNlcnZlZDApICh2b2lkKTsKQEAgLTE3OCw3ICsxNzksOCBAQCBXRUJL
SVRfQVBJIHZvaWQKIHdlYmtpdF9pbnB1dF9tZXRob2RfY29udGV4dF9ub3RpZnlfc3Vycm91bmRp
bmcgKFdlYktpdElucHV0TWV0aG9kQ29udGV4dCAgICpjb250ZXh0LAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgICAgICAgICAgICAg
ICAgKnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3VpbnQgICAgICAgICAgICAgICAgICAgICAg
IGN1cnNvcl9pbmRleCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBndWludCAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yX2luZGV4LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3VpbnQgICAgICAgICAg
ICAgICAgICAgICAgIHNlbGVjdGlvbl9pbmRleCk7CiAKIFdFQktJVF9BUEkgdm9pZAogd2Via2l0
X2lucHV0X21ldGhvZF9jb250ZXh0X3Jlc2V0ICAgICAgICAgICAgICAoV2ViS2l0SW5wdXRNZXRo
b2RDb250ZXh0ICAgKmNvbnRleHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRJbnB1dE1ldGhvZENvbnRleHRJbXBsR3RrLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0SW5wdXRNZXRob2RDb250ZXh0SW1wbEd0ay5j
cHAKaW5kZXggZTczYTc2NTM5ZGUuLjJlNzA5NzYzNzg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdElucHV0TWV0aG9kQ29udGV4dEltcGxHdGsuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0SW5wdXRNZXRob2RD
b250ZXh0SW1wbEd0ay5jcHAKQEAgLTE5Myw3ICsxOTMsNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRJ
bnB1dE1ldGhvZENvbnRleHRJbXBsR3RrTm90aWZ5Q3Vyc29yQXJlYShXZWJLaXRJbnB1dE1ldGhv
ZENvbgogICAgIGd0a19pbV9jb250ZXh0X3NldF9jdXJzb3JfbG9jYXRpb24ocHJpdi0+Y29udGV4
dC5nZXQoKSwgJmN1cnNvclJlY3QpOwogfQogCi1zdGF0aWMgdm9pZCB3ZWJraXRJbnB1dE1ldGhv
ZENvbnRleHRJbXBsR3RrTm90aWZ5U3Vycm91bmRpbmcoV2ViS2l0SW5wdXRNZXRob2RDb250ZXh0
KiBjb250ZXh0LCBjb25zdCBnY2hhciogdGV4dCwgdW5zaWduZWQgbGVuZ3RoLCB1bnNpZ25lZCBj
dXJzb3JJbmRleCkKK3N0YXRpYyB2b2lkIHdlYmtpdElucHV0TWV0aG9kQ29udGV4dEltcGxHdGtO
b3RpZnlTdXJyb3VuZGluZyhXZWJLaXRJbnB1dE1ldGhvZENvbnRleHQqIGNvbnRleHQsIGNvbnN0
IGdjaGFyKiB0ZXh0LCB1bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVkIGN1cnNvckluZGV4LCB1bnNp
Z25lZCkKIHsKICAgICBhdXRvKiBwcml2ID0gV0VCS0lUX0lOUFVUX01FVEhPRF9DT05URVhUX0lN
UExfR1RLKGNvbnRleHQpLT5wcml2OwogICAgIHByaXYtPnN1cnJvdW5kaW5nVGV4dCA9IHsgdGV4
dCwgbGVuZ3RoIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFdlYlZpZXdCYXNlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0V2ViVmlld0Jhc2UuY3BwCmluZGV4IDkzOGQ0MjNkOWM2Li4wZDU4YmIzNjY5ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFz
ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3
QmFzZS5jcHAKQEAgLTE2NzQsNyArMTY3NCw4IEBAIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VVcGRh
dGVUZXh0SW5wdXRTdGF0ZShXZWJLaXRXZWJWaWV3QmFzZSogd2Via2l0V2ViVmlld0Jhc2UpCiAg
ICAgY29uc3QgYXV0byYgZWRpdG9yU3RhdGUgPSB3ZWJraXRXZWJWaWV3QmFzZS0+cHJpdi0+cGFn
ZVByb3h5LT5lZGl0b3JTdGF0ZSgpOwogICAgIGlmICghZWRpdG9yU3RhdGUuaXNNaXNzaW5nUG9z
dExheW91dERhdGEpIHsKICAgICAgICAgd2Via2l0V2ViVmlld0Jhc2UtPnByaXYtPmlucHV0TWV0
aG9kRmlsdGVyLm5vdGlmeUN1cnNvclJlY3QoZWRpdG9yU3RhdGUucG9zdExheW91dERhdGEoKS5j
YXJldFJlY3RBdFN0YXJ0KTsKLSAgICAgICAgd2Via2l0V2ViVmlld0Jhc2UtPnByaXYtPmlucHV0
TWV0aG9kRmlsdGVyLm5vdGlmeVN1cnJvdW5kaW5nKGVkaXRvclN0YXRlLnBvc3RMYXlvdXREYXRh
KCkucGFyYWdyYXBoQ29udGV4dCwgZWRpdG9yU3RhdGUucG9zdExheW91dERhdGEoKS5wYXJhZ3Jh
cGhDb250ZXh0Q3Vyc29yUG9zaXRpb24pOworICAgICAgICB3ZWJraXRXZWJWaWV3QmFzZS0+cHJp
di0+aW5wdXRNZXRob2RGaWx0ZXIubm90aWZ5U3Vycm91bmRpbmcoZWRpdG9yU3RhdGUucG9zdExh
eW91dERhdGEoKS5wYXJhZ3JhcGhDb250ZXh0LCBlZGl0b3JTdGF0ZS5wb3N0TGF5b3V0RGF0YSgp
LnBhcmFncmFwaENvbnRleHRDdXJzb3JQb3NpdGlvbiwKKyAgICAgICAgICAgIGVkaXRvclN0YXRl
LnBvc3RMYXlvdXREYXRhKCkucGFyYWdyYXBoQ29udGV4dFNlbGVjdGlvblBvc2l0aW9uKTsKICAg
ICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV1BF
Vmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dQRVZpZXcuY3BwCmlu
ZGV4IGJiOGUzNjE4MDEyLi5hOGIwNDc2ZTFhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL3dwZS9XUEVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvd3BlL1dQRVZpZXcuY3BwCkBAIC0yNDEsNyArMjQxLDggQEAgdm9pZCBWaWV3OjpzZWxl
Y3Rpb25EaWRDaGFuZ2UoKQogICAgIGNvbnN0IGF1dG8mIGVkaXRvclN0YXRlID0gbV9wYWdlUHJv
eHktPmVkaXRvclN0YXRlKCk7CiAgICAgaWYgKCFlZGl0b3JTdGF0ZS5pc01pc3NpbmdQb3N0TGF5
b3V0RGF0YSkgewogICAgICAgICBtX2lucHV0TWV0aG9kRmlsdGVyLm5vdGlmeUN1cnNvclJlY3Qo
ZWRpdG9yU3RhdGUucG9zdExheW91dERhdGEoKS5jYXJldFJlY3RBdFN0YXJ0KTsKLSAgICAgICAg
bV9pbnB1dE1ldGhvZEZpbHRlci5ub3RpZnlTdXJyb3VuZGluZyhlZGl0b3JTdGF0ZS5wb3N0TGF5
b3V0RGF0YSgpLnBhcmFncmFwaENvbnRleHQsIGVkaXRvclN0YXRlLnBvc3RMYXlvdXREYXRhKCku
cGFyYWdyYXBoQ29udGV4dEN1cnNvclBvc2l0aW9uKTsKKyAgICAgICAgbV9pbnB1dE1ldGhvZEZp
bHRlci5ub3RpZnlTdXJyb3VuZGluZyhlZGl0b3JTdGF0ZS5wb3N0TGF5b3V0RGF0YSgpLnBhcmFn
cmFwaENvbnRleHQsIGVkaXRvclN0YXRlLnBvc3RMYXlvdXREYXRhKCkucGFyYWdyYXBoQ29udGV4
dEN1cnNvclBvc2l0aW9uLAorICAgICAgICAgICAgZWRpdG9yU3RhdGUucG9zdExheW91dERhdGEo
KS5wYXJhZ3JhcGhDb250ZXh0U2VsZWN0aW9uUG9zaXRpb24pOwogICAgIH0KIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRJbnB1dE1ldGhvZENv
bnRleHQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0SW5wdXRNZXRo
b2RDb250ZXh0LmgKaW5kZXggN2NiZTQwZGRiZGYuLmRhYzUxMzdkNTJkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdElucHV0TWV0aG9kQ29udGV4dC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0SW5wdXRNZXRob2RD
b250ZXh0LmgKQEAgLTEzMiw3ICsxMzIsOCBAQCBzdHJ1Y3QgX1dlYktpdElucHV0TWV0aG9kQ29u
dGV4dENsYXNzIHsKICAgICB2b2lkICAgICAoKiBub3RpZnlfc3Vycm91bmRpbmcpIChXZWJLaXRJ
bnB1dE1ldGhvZENvbnRleHQgICAgICAgICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICAgICAgICAgICAgICAgICAgICAgKnRleHQsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3VpbnQgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbGVuZ3RoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGd1aW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcl9pbmRleCk7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3VpbnQgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY3Vyc29yX2luZGV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGd1aW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbl9pbmRleCk7CiAgICAg
dm9pZCAgICAgKCogcmVzZXQpICAgICAgICAgICAgICAoV2ViS2l0SW5wdXRNZXRob2RDb250ZXh0
ICAgICAgICAqY29udGV4dCk7CiAKICAgICB2b2lkICgqX3dlYmtpdF9yZXNlcnZlZDApICh2b2lk
KTsKQEAgLTE3OSw3ICsxODAsOCBAQCBXRUJLSVRfQVBJIHZvaWQKIHdlYmtpdF9pbnB1dF9tZXRo
b2RfY29udGV4dF9ub3RpZnlfc3Vycm91bmRpbmcgKFdlYktpdElucHV0TWV0aG9kQ29udGV4dCAg
ICAgICAgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBnY2hhciAgICAgICAgICAgICAgICAgICAgICp0ZXh0LAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbGVuZ3RoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZ3VpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yX2lu
ZGV4KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1
aW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcl9pbmRleCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1aW50ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNlbGVjdGlvbl9pbmRleCk7CiAKIFdFQktJVF9BUEkgdm9pZAogd2Via2l0
X2lucHV0X21ldGhvZF9jb250ZXh0X3Jlc2V0ICAgICAgICAgICAgICAoV2ViS2l0SW5wdXRNZXRo
b2RDb250ZXh0ICAgICAgICAqY29udGV4dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9nbGliL1dlYlBhZ2VHTGliLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL2dsaWIvV2ViUGFnZUdMaWIuY3BwCmluZGV4IGZhZDk2N2ZkOWY0Li4y
OTFkNGRhYzYzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
Z2xpYi9XZWJQYWdlR0xpYi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvZ2xpYi9XZWJQYWdlR0xpYi5jcHAKQEAgLTExNyw5ICsxMTcsMTEgQEAgdm9pZCBXZWJQYWdl
OjpwbGF0Zm9ybUVkaXRvclN0YXRlKEZyYW1lJiBmcmFtZSwgRWRpdG9yU3RhdGUmIHJlc3VsdCwg
SW5jbHVkZVBvc3QKICAgICAgICAgICAgIGNsb25lZFJhbmdlLT5zZXRTdGFydChjb21wb3NpdGlv
blJhbmdlLT5lbmRQb3NpdGlvbigpKTsKICAgICAgICAgICAgIHBvc3RMYXlvdXREYXRhLnBhcmFn
cmFwaENvbnRleHQgPSBwbGFpblRleHQocGFyYWdyYXBoUmFuZ2UuZ2V0KCkpICsgcGxhaW5UZXh0
KGNsb25lZFJhbmdlLnB0cigpKTsKICAgICAgICAgICAgIHBvc3RMYXlvdXREYXRhLnBhcmFncmFw
aENvbnRleHRDdXJzb3JQb3NpdGlvbiA9IFRleHRJdGVyYXRvcjo6cmFuZ2VMZW5ndGgocGFyYWdy
YXBoUmFuZ2UuZ2V0KCkpOworICAgICAgICAgICAgcG9zdExheW91dERhdGEucGFyYWdyYXBoQ29u
dGV4dFNlbGVjdGlvblBvc2l0aW9uID0gcG9zdExheW91dERhdGEucGFyYWdyYXBoQ29udGV4dEN1
cnNvclBvc2l0aW9uOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgcG9zdExheW91dERh
dGEucGFyYWdyYXBoQ29udGV4dCA9IHBsYWluVGV4dChwYXJhZ3JhcGhSYW5nZS5nZXQoKSk7CiAg
ICAgICAgICAgICBwb3N0TGF5b3V0RGF0YS5wYXJhZ3JhcGhDb250ZXh0Q3Vyc29yUG9zaXRpb24g
PSBUZXh0SXRlcmF0b3I6OnJhbmdlTGVuZ3RoKG1ha2VSYW5nZShwYXJhZ3JhcGhTdGFydCwgc2Vs
ZWN0aW9uU3RhcnQpLmdldCgpKTsKKyAgICAgICAgICAgIHBvc3RMYXlvdXREYXRhLnBhcmFncmFw
aENvbnRleHRTZWxlY3Rpb25Qb3NpdGlvbiA9IFRleHRJdGVyYXRvcjo6cmFuZ2VMZW5ndGgobWFr
ZVJhbmdlKHBhcmFncmFwaFN0YXJ0LCBzZWxlY3Rpb24udmlzaWJsZUVuZCgpKS5nZXQoKSk7CiAg
ICAgICAgIH0KICAgICB9CiB9CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9D
aGFuZ2VMb2cKaW5kZXggYjAwYWQyOGQ5NzIuLjYwMmI5YzFmNDI5IDEwMDY0NAotLS0gYS9Ub29s
cy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAt
MDEtMjAgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisgICAg
ICAgIFtHVEtdW1dQRV0gQWxzbyBpbmNsdWRlIHRoZSBzZWxlY3Rpb24gaW5kZXggaW4gd2Via2l0
X2lucHV0X21ldGhvZF9jb250ZXh0X25vdGlmeV9zdXJyb3VuZGluZygpCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDY0OTcKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgbmV3IHRlc3QgY2FzZSB0byBj
aGVjayB0aGUgc2VsZWN0aW9uIGluZGV4IHdoZW4gdGhlcmUncyBhIHNlbGVjdGlvbi4KKworICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9UZXN0SW5wdXRNZXRob2RDb250
ZXh0LmNwcDoKKyAgICAgICAgKHdlYmtpdElucHV0TWV0aG9kQ29udGV4dE1vY2tOb3RpZnlTdXJy
b3VuZGluZyk6CisgICAgICAgICh3ZWJraXRJbnB1dE1ldGhvZENvbnRleHRNb2NrUmVzZXQpOgor
ICAgICAgICAodGVzdFdlYktpdElucHV0TWV0aG9kQ29udGV4dFN1cnJvdW5kaW5nKToKKwogMjAy
MC0wMS0yMCAgVGFrYXNoaSBLb21vcmkgIDxUYWthc2hpLktvbW9yaUBzb255LmNvbT4KIAogICAg
ICAgICBLZXllZERlY29kZXJHZW5lcmljIGNyYXNoZXMgd2hlbiBpdCBhY2Nlc3NlcyBkYXRhIHdp
dGggbm9uLWV4aXN0aW5nIGtleQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRHTGliL1Rlc3RJbnB1dE1ldGhvZENvbnRleHQuY3BwIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRHTGliL1Rlc3RJbnB1dE1ldGhvZENvbnRleHQuY3BwCmluZGV4IGQz
ZGFiNmUwOWRlLi5lYTJhODM4ODE5OCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRHTGliL1Rlc3RJbnB1dE1ldGhvZENvbnRleHQuY3BwCisrKyBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9UZXN0SW5wdXRNZXRob2RDb250ZXh0LmNwcApA
QCAtNDMsNiArNDMsNyBAQCB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0SW5wdXRNZXRob2RDb250ZXh0
TW9jayB7CiAgICAgYm9vbCBjb21taXROZXh0Q2hhcmFjdGVyOwogICAgIGNoYXIqIHN1cnJvdW5k
aW5nVGV4dDsKICAgICB1bnNpZ25lZCBzdXJyb3VuZGluZ0N1cnNvckluZGV4OworICAgIHVuc2ln
bmVkIHN1cnJvdW5kaW5nU2VsZWN0aW9uSW5kZXg7CiB9IFdlYktpdElucHV0TWV0aG9kQ29udGV4
dE1vY2s7CiAKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRJbnB1dE1ldGhvZENvbnRleHRNb2NrQ2xh
c3MgewpAQCAtMTc0LDcgKzE3NSw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdElucHV0TWV0aG9kQ29u
dGV4dE1vY2tOb3RpZnlGb2N1c091dChXZWJLaXRJbnB1dE1ldGhvZENvbnRleHQqCiAgICAgcmVp
bnRlcnByZXRfY2FzdDxXZWJLaXRJbnB1dE1ldGhvZENvbnRleHRNb2NrKj4oY29udGV4dCktPmVu
YWJsZWQgPSBmYWxzZTsKIH0KIAotc3RhdGljIHZvaWQgd2Via2l0SW5wdXRNZXRob2RDb250ZXh0
TW9ja05vdGlmeVN1cnJvdW5kaW5nKFdlYktpdElucHV0TWV0aG9kQ29udGV4dCogY29udGV4dCwg
Y29uc3QgZ2NoYXIgKnRleHQsIHVuc2lnbmVkIGxlbmd0aCwgdW5zaWduZWQgY3Vyc29ySW5kZXgp
CitzdGF0aWMgdm9pZCB3ZWJraXRJbnB1dE1ldGhvZENvbnRleHRNb2NrTm90aWZ5U3Vycm91bmRp
bmcoV2ViS2l0SW5wdXRNZXRob2RDb250ZXh0KiBjb250ZXh0LCBjb25zdCBnY2hhciAqdGV4dCwg
dW5zaWduZWQgbGVuZ3RoLCB1bnNpZ25lZCBjdXJzb3JJbmRleCwgdW5zaWduZWQgc2VsZWN0aW9u
SW5kZXgpCiB7CiAgICAgYXV0byogbW9jayA9IHJlaW50ZXJwcmV0X2Nhc3Q8V2ViS2l0SW5wdXRN
ZXRob2RDb250ZXh0TW9jayo+KGNvbnRleHQpOwogICAgIGdfY2xlYXJfcG9pbnRlcigmbW9jay0+
c3Vycm91bmRpbmdUZXh0LCBnX2ZyZWUpOwpAQCAtMTg1LDYgKzE4Niw3IEBAIHN0YXRpYyB2b2lk
IHdlYmtpdElucHV0TWV0aG9kQ29udGV4dE1vY2tOb3RpZnlTdXJyb3VuZGluZyhXZWJLaXRJbnB1
dE1ldGhvZENvbnRlCiAgICAgfQogICAgIG1vY2stPnN1cnJvdW5kaW5nVGV4dCA9IGdfc3RybmR1
cCh0ZXh0LCBsZW5ndGgpOwogICAgIG1vY2stPnN1cnJvdW5kaW5nQ3Vyc29ySW5kZXggPSBjdXJz
b3JJbmRleDsKKyAgICBtb2NrLT5zdXJyb3VuZGluZ1NlbGVjdGlvbkluZGV4ID0gc2VsZWN0aW9u
SW5kZXg7CiB9CiAKIHN0YXRpYyB2b2lkIHdlYmtpdElucHV0TWV0aG9kQ29udGV4dE1vY2tSZXNl
dChXZWJLaXRJbnB1dE1ldGhvZENvbnRleHQqIGNvbnRleHQpCkBAIC0xOTcsNiArMTk5LDcgQEAg
c3RhdGljIHZvaWQgd2Via2l0SW5wdXRNZXRob2RDb250ZXh0TW9ja1Jlc2V0KFdlYktpdElucHV0
TWV0aG9kQ29udGV4dCogY29udGV4dCkKICAgICBtb2NrLT5wcmVlZGl0ID0gbnVsbHB0cjsKICAg
ICBnX2NsZWFyX3BvaW50ZXIoJm1vY2stPnN1cnJvdW5kaW5nVGV4dCwgZ19mcmVlKTsKICAgICBt
b2NrLT5zdXJyb3VuZGluZ0N1cnNvckluZGV4ID0gMDsKKyAgICBtb2NrLT5zdXJyb3VuZGluZ1Nl
bGVjdGlvbkluZGV4ID0gMDsKIAogICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZShjb250ZXh0LCAi
cHJlZWRpdC1jaGFuZ2VkIiwgbnVsbHB0cik7CiAgICAgZ19zaWduYWxfZW1pdF9ieV9uYW1lKGNv
bnRleHQsICJwcmVlZGl0LWZpbmlzaGVkIiwgbnVsbHB0cik7CkBAIC00MzIsNiArNDM1LDExIEBA
IHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1fY29udGV4dC0+c3Vycm91bmRpbmdDdXJzb3JJbmRl
eDsKICAgICB9CiAKKyAgICB1bnNpZ25lZCBzdXJyb3VuZGluZ1NlbGVjdGlvbkluZGV4KCkgY29u
c3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX2NvbnRleHQtPnN1cnJvdW5kaW5nU2VsZWN0aW9u
SW5kZXg7CisgICAgfQorCiAgICAgdm9pZCB3YWl0Rm9yU3Vycm91bmRpbmdUZXh0KGNvbnN0IGNo
YXIqIHRleHQpCiAgICAgewogICAgICAgICBtX2V4cGVjdGVkU3Vycm91bmRpbmdUZXh0ID0gdGV4
dDsKQEAgLTc0NSwxMiArNzUzLDE0IEBAIHN0YXRpYyB2b2lkIHRlc3RXZWJLaXRJbnB1dE1ldGhv
ZENvbnRleHRTdXJyb3VuZGluZyhJbnB1dE1ldGhvZFRlc3QqIHRlc3QsIGdjb25zCiAKICAgICBn
X2Fzc2VydF9udWxsKHRlc3QtPnN1cnJvdW5kaW5nVGV4dCgpKTsKICAgICBnX2Fzc2VydF9jbXB1
aW50KHRlc3QtPnN1cnJvdW5kaW5nQ3Vyc29ySW5kZXgoKSwgPT0sIDApOworICAgIGdfYXNzZXJ0
X2NtcHVpbnQodGVzdC0+c3Vycm91bmRpbmdTZWxlY3Rpb25JbmRleCgpLCA9PSwgdGVzdC0+c3Vy
cm91bmRpbmdDdXJzb3JJbmRleCgpKTsKIAogICAgIHRlc3QtPmtleVN0cm9rZUFuZFdhaXRGb3JF
dmVudHMoS0VZKGEpLCAzKTsKICAgICB0ZXN0LT5rZXlTdHJva2VBbmRXYWl0Rm9yRXZlbnRzKEtF
WShiKSwgNik7CiAgICAgdGVzdC0+a2V5U3Ryb2tlQW5kV2FpdEZvckV2ZW50cyhLRVkoYyksIDkp
OwogICAgIGdfYXNzZXJ0X2NtcHN0cih0ZXN0LT5zdXJyb3VuZGluZ1RleHQoKSwgPT0sICJhYmMi
KTsKICAgICBnX2Fzc2VydF9jbXB1aW50KHRlc3QtPnN1cnJvdW5kaW5nQ3Vyc29ySW5kZXgoKSwg
PT0sIDMpOworICAgIGdfYXNzZXJ0X2NtcHVpbnQodGVzdC0+c3Vycm91bmRpbmdTZWxlY3Rpb25J
bmRleCgpLCA9PSwgdGVzdC0+c3Vycm91bmRpbmdDdXJzb3JJbmRleCgpKTsKICAgICB0ZXN0LT5t
X2V2ZW50cy5jbGVhcigpOwogCiAgICAgLy8gQ2hlY2sgcHJlZWRpdCBzdHJpbmcgaXMgbm90IGlu
Y2x1ZGVkIGluIHN1cnJvdW5kaW5nLgpAQCAtNzYwLDMxICs3NzAsMzggQEAgc3RhdGljIHZvaWQg
dGVzdFdlYktpdElucHV0TWV0aG9kQ29udGV4dFN1cnJvdW5kaW5nKElucHV0TWV0aG9kVGVzdCog
dGVzdCwgZ2NvbnMKICAgICB0ZXN0LT5rZXlTdHJva2VBbmRXYWl0Rm9yRXZlbnRzKEtFWShMZWZ0
KSwgNik7CiAgICAgZ19hc3NlcnRfY21wc3RyKHRlc3QtPnN1cnJvdW5kaW5nVGV4dCgpLCA9PSwg
ImFiYyIpOwogICAgIGdfYXNzZXJ0X2NtcHVpbnQodGVzdC0+c3Vycm91bmRpbmdDdXJzb3JJbmRl
eCgpLCA9PSwgMCk7CisgICAgZ19hc3NlcnRfY21wdWludCh0ZXN0LT5zdXJyb3VuZGluZ1NlbGVj
dGlvbkluZGV4KCksID09LCB0ZXN0LT5zdXJyb3VuZGluZ0N1cnNvckluZGV4KCkpOwogICAgIHRl
c3QtPm1fZXZlbnRzLmNsZWFyKCk7CiAgICAgdGVzdC0+a2V5U3Ryb2tlQW5kV2FpdEZvckV2ZW50
cyhLRVkodyksIDQsIENPTlRST0xfTUFTSyB8IFNISUZUX01BU0spOwogICAgIGdfYXNzZXJ0X2Nt
cHN0cih0ZXN0LT5zdXJyb3VuZGluZ1RleHQoKSwgPT0sICJhYmMiKTsKICAgICBnX2Fzc2VydF9j
bXB1aW50KHRlc3QtPnN1cnJvdW5kaW5nQ3Vyc29ySW5kZXgoKSwgPT0sIDApOworICAgIGdfYXNz
ZXJ0X2NtcHVpbnQodGVzdC0+c3Vycm91bmRpbmdTZWxlY3Rpb25JbmRleCgpLCA9PSwgdGVzdC0+
c3Vycm91bmRpbmdDdXJzb3JJbmRleCgpKTsKICAgICB0ZXN0LT5rZXlTdHJva2VBbmRXYWl0Rm9y
RXZlbnRzKEtFWShnKSwgNyk7CiAgICAgdGVzdC0+a2V5U3Ryb2tlQW5kV2FpdEZvckV2ZW50cyhL
RVkodCksIDEwKTsKICAgICB0ZXN0LT5rZXlTdHJva2VBbmRXYWl0Rm9yRXZlbnRzKEtFWShrKSwg
MTMpOwogICAgIGdfYXNzZXJ0X2NtcHN0cih0ZXN0LT5zdXJyb3VuZGluZ1RleHQoKSwgPT0sICJh
YmMiKTsKICAgICBnX2Fzc2VydF9jbXB1aW50KHRlc3QtPnN1cnJvdW5kaW5nQ3Vyc29ySW5kZXgo
KSwgPT0sIDApOworICAgIGdfYXNzZXJ0X2NtcHVpbnQodGVzdC0+c3Vycm91bmRpbmdTZWxlY3Rp
b25JbmRleCgpLCA9PSwgdGVzdC0+c3Vycm91bmRpbmdDdXJzb3JJbmRleCgpKTsKICAgICB0ZXN0
LT5rZXlTdHJva2VBbmRXYWl0Rm9yRXZlbnRzKEtFWShJU09fRW50ZXIpLCAxNik7CiAgICAgZ19h
c3NlcnRfY21wc3RyKHRlc3QtPnN1cnJvdW5kaW5nVGV4dCgpLCA9PSwgIldlYktpdEdUS2FiYyIp
OwogICAgIGdfYXNzZXJ0X2NtcHVpbnQodGVzdC0+c3Vycm91bmRpbmdDdXJzb3JJbmRleCgpLCA9
PSwgOSk7CisgICAgZ19hc3NlcnRfY21wdWludCh0ZXN0LT5zdXJyb3VuZGluZ1NlbGVjdGlvbklu
ZGV4KCksID09LCB0ZXN0LT5zdXJyb3VuZGluZ0N1cnNvckluZGV4KCkpOwogICAgIHRlc3QtPm1f
ZXZlbnRzLmNsZWFyKCk7CiAgICAgLy8gMi4gUHJlZWRpdCBzdHJpbmcgaW4gdGhlIG1pZGRsZSBv
ZiBjb250ZXh0LgogICAgIHRlc3QtPmtleVN0cm9rZUFuZFdhaXRGb3JFdmVudHMoS0VZKHcpLCA0
LCBDT05UUk9MX01BU0sgfCBTSElGVF9NQVNLKTsKICAgICBnX2Fzc2VydF9jbXBzdHIodGVzdC0+
c3Vycm91bmRpbmdUZXh0KCksID09LCAiV2ViS2l0R1RLYWJjIik7CiAgICAgZ19hc3NlcnRfY21w
dWludCh0ZXN0LT5zdXJyb3VuZGluZ0N1cnNvckluZGV4KCksID09LCA5KTsKKyAgICBnX2Fzc2Vy
dF9jbXB1aW50KHRlc3QtPnN1cnJvdW5kaW5nU2VsZWN0aW9uSW5kZXgoKSwgPT0sIHRlc3QtPnN1
cnJvdW5kaW5nQ3Vyc29ySW5kZXgoKSk7CiAgICAgdGVzdC0+a2V5U3Ryb2tlQW5kV2FpdEZvckV2
ZW50cyhLRVkodyksIDcpOwogICAgIHRlc3QtPmtleVN0cm9rZUFuZFdhaXRGb3JFdmVudHMoS0VZ
KHApLCAxMCk7CiAgICAgdGVzdC0+a2V5U3Ryb2tlQW5kV2FpdEZvckV2ZW50cyhLRVkoZSksIDEz
KTsKICAgICBnX2Fzc2VydF9jbXBzdHIodGVzdC0+c3Vycm91bmRpbmdUZXh0KCksID09LCAiV2Vi
S2l0R1RLYWJjIik7CiAgICAgZ19hc3NlcnRfY21wdWludCh0ZXN0LT5zdXJyb3VuZGluZ0N1cnNv
ckluZGV4KCksID09LCA5KTsKKyAgICBnX2Fzc2VydF9jbXB1aW50KHRlc3QtPnN1cnJvdW5kaW5n
U2VsZWN0aW9uSW5kZXgoKSwgPT0sIHRlc3QtPnN1cnJvdW5kaW5nQ3Vyc29ySW5kZXgoKSk7CiAg
ICAgdGVzdC0+a2V5U3Ryb2tlQW5kV2FpdEZvckV2ZW50cyhLRVkoc3BhY2UpLCAxNik7CiAgICAg
Z19hc3NlcnRfY21wc3RyKHRlc3QtPnN1cnJvdW5kaW5nVGV4dCgpLCA9PSwgIldlYktpdEdUS1dQ
RVdlYktpdGFiYyIpOwogICAgIGdfYXNzZXJ0X2NtcHVpbnQodGVzdC0+c3Vycm91bmRpbmdDdXJz
b3JJbmRleCgpLCA9PSwgMTgpOworICAgIGdfYXNzZXJ0X2NtcHVpbnQodGVzdC0+c3Vycm91bmRp
bmdTZWxlY3Rpb25JbmRleCgpLCA9PSwgdGVzdC0+c3Vycm91bmRpbmdDdXJzb3JJbmRleCgpKTsK
ICAgICB0ZXN0LT5tX2V2ZW50cy5jbGVhcigpOwogICAgIC8vIDMuIFByZWVkaXQgc3RyaW5nIGF0
IHRoZSBlbmQgb2YgY29udGV4dC4KICAgICB0ZXN0LT5rZXlTdHJva2VBbmRXYWl0Rm9yRXZlbnRz
KEtFWShSaWdodCksIDIpOwpAQCAtNzkyLDE4ICs4MDksNDcgQEAgc3RhdGljIHZvaWQgdGVzdFdl
YktpdElucHV0TWV0aG9kQ29udGV4dFN1cnJvdW5kaW5nKElucHV0TWV0aG9kVGVzdCogdGVzdCwg
Z2NvbnMKICAgICB0ZXN0LT5rZXlTdHJva2VBbmRXYWl0Rm9yRXZlbnRzKEtFWShSaWdodCksIDYp
OwogICAgIGdfYXNzZXJ0X2NtcHN0cih0ZXN0LT5zdXJyb3VuZGluZ1RleHQoKSwgPT0sICJXZWJL
aXRHVEtXUEVXZWJLaXRhYmMiKTsKICAgICBnX2Fzc2VydF9jbXB1aW50KHRlc3QtPnN1cnJvdW5k
aW5nQ3Vyc29ySW5kZXgoKSwgPT0sIDIxKTsKKyAgICBnX2Fzc2VydF9jbXB1aW50KHRlc3QtPnN1
cnJvdW5kaW5nU2VsZWN0aW9uSW5kZXgoKSwgPT0sIHRlc3QtPnN1cnJvdW5kaW5nQ3Vyc29ySW5k
ZXgoKSk7CiAgICAgdGVzdC0+bV9ldmVudHMuY2xlYXIoKTsKICAgICB0ZXN0LT5rZXlTdHJva2VB
bmRXYWl0Rm9yRXZlbnRzKEtFWSh3KSwgNCwgQ09OVFJPTF9NQVNLIHwgU0hJRlRfTUFTSyk7CiAg
ICAgZ19hc3NlcnRfY21wc3RyKHRlc3QtPnN1cnJvdW5kaW5nVGV4dCgpLCA9PSwgIldlYktpdEdU
S1dQRVdlYktpdGFiYyIpOwogICAgIGdfYXNzZXJ0X2NtcHVpbnQodGVzdC0+c3Vycm91bmRpbmdD
dXJzb3JJbmRleCgpLCA9PSwgMjEpOworICAgIGdfYXNzZXJ0X2NtcHVpbnQodGVzdC0+c3Vycm91
bmRpbmdTZWxlY3Rpb25JbmRleCgpLCA9PSwgdGVzdC0+c3Vycm91bmRpbmdDdXJzb3JJbmRleCgp
KTsKICAgICB0ZXN0LT5rZXlTdHJva2VBbmRXYWl0Rm9yRXZlbnRzKEtFWShnKSwgNyk7CiAgICAg
dGVzdC0+a2V5U3Ryb2tlQW5kV2FpdEZvckV2ZW50cyhLRVkodCksIDEwKTsKICAgICB0ZXN0LT5r
ZXlTdHJva2VBbmRXYWl0Rm9yRXZlbnRzKEtFWShrKSwgMTMpOwogICAgIGdfYXNzZXJ0X2NtcHN0
cih0ZXN0LT5zdXJyb3VuZGluZ1RleHQoKSwgPT0sICJXZWJLaXRHVEtXUEVXZWJLaXRhYmMiKTsK
ICAgICBnX2Fzc2VydF9jbXB1aW50KHRlc3QtPnN1cnJvdW5kaW5nQ3Vyc29ySW5kZXgoKSwgPT0s
IDIxKTsKKyAgICBnX2Fzc2VydF9jbXB1aW50KHRlc3QtPnN1cnJvdW5kaW5nU2VsZWN0aW9uSW5k
ZXgoKSwgPT0sIHRlc3QtPnN1cnJvdW5kaW5nQ3Vyc29ySW5kZXgoKSk7CiAgICAgdGVzdC0+a2V5
U3Ryb2tlQW5kV2FpdEZvckV2ZW50cyhLRVkoSVNPX0VudGVyKSwgMTYpOwogICAgIGdfYXNzZXJ0
X2NtcHN0cih0ZXN0LT5zdXJyb3VuZGluZ1RleHQoKSwgPT0sICJXZWJLaXRHVEtXUEVXZWJLaXRh
YmNXZWJLaXRHVEsiKTsKICAgICBnX2Fzc2VydF9jbXB1aW50KHRlc3QtPnN1cnJvdW5kaW5nQ3Vy
c29ySW5kZXgoKSwgPT0sIDMwKTsKKyAgICBnX2Fzc2VydF9jbXB1aW50KHRlc3QtPnN1cnJvdW5k
aW5nU2VsZWN0aW9uSW5kZXgoKSwgPT0sIHRlc3QtPnN1cnJvdW5kaW5nQ3Vyc29ySW5kZXgoKSk7
CisgICAgdGVzdC0+bV9ldmVudHMuY2xlYXIoKTsKKworICAgIC8vIENoZWNrIHNlbGVjdGlvbiBj
dXJzb3IuCisgICAgdGVzdC0+a2V5U3Ryb2tlQW5kV2FpdEZvckV2ZW50cyhLRVkoTGVmdCksIDIs
IFNISUZUX01BU0spOworICAgIGdfYXNzZXJ0X2NtcHN0cih0ZXN0LT5zdXJyb3VuZGluZ1RleHQo
KSwgPT0sICJXZWJLaXRHVEtXUEVXZWJLaXRhYmNXZWJLaXRHVEsiKTsKKyAgICBnX2Fzc2VydF9j
bXB1aW50KHRlc3QtPnN1cnJvdW5kaW5nQ3Vyc29ySW5kZXgoKSwgPT0sIDI5KTsKKyAgICBnX2Fz
c2VydF9jbXB1aW50KHRlc3QtPnN1cnJvdW5kaW5nU2VsZWN0aW9uSW5kZXgoKSwgPT0sIDMwKTsK
KyAgICB0ZXN0LT5rZXlTdHJva2VBbmRXYWl0Rm9yRXZlbnRzKEtFWShIb21lKSwgNCwgU0hJRlRf
TUFTSyk7CisgICAgZ19hc3NlcnRfY21wdWludCh0ZXN0LT5zdXJyb3VuZGluZ0N1cnNvckluZGV4
KCksID09LCAwKTsKKyAgICBnX2Fzc2VydF9jbXB1aW50KHRlc3QtPnN1cnJvdW5kaW5nU2VsZWN0
aW9uSW5kZXgoKSwgPT0sIDMwKTsKKyAgICB0ZXN0LT5rZXlTdHJva2VBbmRXYWl0Rm9yRXZlbnRz
KEtFWShMZWZ0KSwgNik7CisgICAgZ19hc3NlcnRfY21wdWludCh0ZXN0LT5zdXJyb3VuZGluZ0N1
cnNvckluZGV4KCksID09LCAwKTsKKyAgICBnX2Fzc2VydF9jbXB1aW50KHRlc3QtPnN1cnJvdW5k
aW5nU2VsZWN0aW9uSW5kZXgoKSwgPT0sIHRlc3QtPnN1cnJvdW5kaW5nQ3Vyc29ySW5kZXgoKSk7
CisgICAgdGVzdC0+bV9ldmVudHMuY2xlYXIoKTsKKyAgICB0ZXN0LT5rZXlTdHJva2VBbmRXYWl0
Rm9yRXZlbnRzKEtFWShSaWdodCksIDIsIFNISUZUX01BU0spOworICAgIGdfYXNzZXJ0X2NtcHN0
cih0ZXN0LT5zdXJyb3VuZGluZ1RleHQoKSwgPT0sICJXZWJLaXRHVEtXUEVXZWJLaXRhYmNXZWJL
aXRHVEsiKTsKKyAgICBnX2Fzc2VydF9jbXB1aW50KHRlc3QtPnN1cnJvdW5kaW5nQ3Vyc29ySW5k
ZXgoKSwgPT0sIDApOworICAgIGdfYXNzZXJ0X2NtcHVpbnQodGVzdC0+c3Vycm91bmRpbmdTZWxl
Y3Rpb25JbmRleCgpLCA9PSwgMSk7CisgICAgdGVzdC0+a2V5U3Ryb2tlQW5kV2FpdEZvckV2ZW50
cyhLRVkoRW5kKSwgNCwgU0hJRlRfTUFTSyk7CisgICAgZ19hc3NlcnRfY21wdWludCh0ZXN0LT5z
dXJyb3VuZGluZ0N1cnNvckluZGV4KCksID09LCAwKTsKKyAgICBnX2Fzc2VydF9jbXB1aW50KHRl
c3QtPnN1cnJvdW5kaW5nU2VsZWN0aW9uSW5kZXgoKSwgPT0sIDMwKTsKKyAgICB0ZXN0LT5rZXlT
dHJva2VBbmRXYWl0Rm9yRXZlbnRzKEtFWShSaWdodCksIDYpOworICAgIGdfYXNzZXJ0X2NtcHN0
cih0ZXN0LT5zdXJyb3VuZGluZ1RleHQoKSwgPT0sICJXZWJLaXRHVEtXUEVXZWJLaXRhYmNXZWJL
aXRHVEsiKTsKKyAgICBnX2Fzc2VydF9jbXB1aW50KHRlc3QtPnN1cnJvdW5kaW5nQ3Vyc29ySW5k
ZXgoKSwgPT0sIDMwKTsKKyAgICBnX2Fzc2VydF9jbXB1aW50KHRlc3QtPnN1cnJvdW5kaW5nU2Vs
ZWN0aW9uSW5kZXgoKSwgPT0sIHRlc3QtPnN1cnJvdW5kaW5nQ3Vyc29ySW5kZXgoKSk7CiAgICAg
dGVzdC0+bV9ldmVudHMuY2xlYXIoKTsKIAogICAgIC8vIENoZWNrIHRleHQgcmVwbGFjZW1lbnRz
IChnZXQgc3Vycm91bmRpbmcgKyBkZWxldGUgc3Vycm91bmRpbmcpLgpAQCAtODEzLDYgKzg1OSw3
IEBAIHN0YXRpYyB2b2lkIHRlc3RXZWJLaXRJbnB1dE1ldGhvZENvbnRleHRTdXJyb3VuZGluZyhJ
bnB1dE1ldGhvZFRlc3QqIHRlc3QsIGdjb25zCiAgICAgdGVzdC0+d2FpdEZvclN1cnJvdW5kaW5n
VGV4dCgiV2ViS2l0R1RLV1BFV2ViS2l0YWJjV2ViS2l0R1RL8J+YgO+4jyIpOwogICAgIGdfYXNz
ZXJ0X2NtcHN0cih0ZXN0LT5zdXJyb3VuZGluZ1RleHQoKSwgPT0sICJXZWJLaXRHVEtXUEVXZWJL
aXRhYmNXZWJLaXRHVEvwn5iA77iPIik7CiAgICAgZ19hc3NlcnRfY21wdWludCh0ZXN0LT5zdXJy
b3VuZGluZ0N1cnNvckluZGV4KCksID09LCAzNyk7CisgICAgZ19hc3NlcnRfY21wdWludCh0ZXN0
LT5zdXJyb3VuZGluZ1NlbGVjdGlvbkluZGV4KCksID09LCB0ZXN0LT5zdXJyb3VuZGluZ0N1cnNv
ckluZGV4KCkpOwogfQogCiBzdGF0aWMgdm9pZCB0ZXN0V2ViS2l0SW5wdXRNZXRob2RDb250ZXh0
UmVzZXQoSW5wdXRNZXRob2RUZXN0KiB0ZXN0LCBnY29uc3Rwb2ludGVyKQo=
</data>
<flag name="review"
          id="403980"
          type_id="1"
          status="+"
          setter="aperez"
    />
          </attachment>
      

    </bug>

</bugzilla>