<?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>111335</bug_id>
          
          <creation_ts>2013-03-04 08:28:51 -0800</creation_ts>
          <short_desc>[BlackBerry] Upstream selection start animation</short_desc>
          <delta_ts>2013-03-04 09:43:30 -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>WebKit BlackBerry</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Iris Wu">shuwu</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>mifenton</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>846520</commentid>
    <comment_count>0</comment_count>
    <who name="Iris Wu">shuwu</who>
    <bug_when>2013-03-04 08:28:51 -0800</bug_when>
    <thetext>Add shrink animation to indicate selection starts.
At the start of selection, we draw an overlay rect larger than the selected word. Then shrink it down to the actual size.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846528</commentid>
    <comment_count>1</comment_count>
      <attachid>191254</attachid>
    <who name="Iris Wu">shuwu</who>
    <bug_when>2013-03-04 08:42:28 -0800</bug_when>
    <thetext>Created attachment 191254
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846558</commentid>
    <comment_count>2</comment_count>
      <attachid>191254</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2013-03-04 09:18:44 -0800</bug_when>
    <thetext>Comment on attachment 191254
Patch

Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846576</commentid>
    <comment_count>3</comment_count>
      <attachid>191254</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-04 09:43:27 -0800</bug_when>
    <thetext>Comment on attachment 191254
Patch

Clearing flags on attachment: 191254

Committed r144640: &lt;http://trac.webkit.org/changeset/144640&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846577</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-04 09:43:30 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191254</attachid>
            <date>2013-03-04 08:42:28 -0800</date>
            <delta_ts>2013-03-04 09:43:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>0001-2013-03-04-Iris-Wu-shuwu-rim.com.patch</filename>
            <type>text/plain</type>
            <size>30817</size>
            <attacher name="Iris Wu">shuwu</attacher>
            
              <data encoding="base64">RnJvbSBlZjFmOTM0MGQ3MDljYmU3MWMzNWExNmI0MTMyM2MxMGJkYjJmYmRmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBJcmlzIFd1IDxzaHV3dUByaW0uY29tPgpEYXRlOiBNb24sIDQg
TWFyIDIwMTMgMTE6MTg6MjIgLTA1MDAKU3ViamVjdDogW1BBVENIXSAyMDEzLTAzLTA0ICBJcmlz
IFd1ICA8c2h1d3VAcmltLmNvbT4KCiAgICAgICAgW0JsYWNrQmVycnldIFVwc3RyZWFtIHNlbGVj
dGlvbiBzdGFydCBhbmltYXRpb24uCiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTExMTMzNQoKICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
CiAgICAgICAgUFIgMjE5OTYwCgogICAgICAgIFRvIGluZGljYXRlIHNlbGVjdGlvbiBzdGFydHMs
IHdlIGRyYXcgYW4gb3ZlcmxheSByZWN0IGxhcmdlciB0aGFuCiAgICAgICAgdGhlIHNlbGVjdGVk
IHdvcmQgYXQgdGhlIHN0YXJ0IG9mIHNlbGVjdGlvbi4gVGhlbiBzaHJpbmsgaXQgZG93bgogICAg
ICAgIHRvIHRoZSBhY3R1YWwgc2l6ZS4KCiAgICAgICAgUmV2aWV3ZWQgSW50ZXJuYWxseSBieSBH
ZW5ldmlldmUgTWFrIGFuZCBBbmRyZXcgTG8gYW5kIE1pa2UgRmVudG9uLgoKICAgICAgICAqIEFw
aS9XZWJBbmltYXRpb24uY3BwOgogICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYkFuaW1h
dGlvbjo6c2hyaW5rQW5pbWF0aW9uKToKICAgICAgICAoV2ViS2l0KToKICAgICAgICAqIEFwaS9X
ZWJBbmltYXRpb24uaDoKICAgICAgICAqIEFwaS9XZWJQYWdlLmNwcDoKICAgICAgICAoQmxhY2tC
ZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZTo6aW5pdCk6CiAgICAgICAgKEJsYWNrQmVycnk6
OldlYktpdDo6V2ViUGFnZTo6c2VsZWN0aW9uSGlnaGxpZ2h0KToKICAgICAgICAoV2ViS2l0KToK
ICAgICAgICAqIEFwaS9XZWJQYWdlLmg6CiAgICAgICAgKiBBcGkvV2ViUGFnZV9wLmg6CiAgICAg
ICAgKFdlYlBhZ2VQcml2YXRlKToKICAgICAgICAqIEFwaS9XZWJUYXBIaWdobGlnaHQuaDoKICAg
ICAgICAqIFdlYktpdFN1cHBvcnQvRGVmYXVsdFRhcEhpZ2hsaWdodC5jcHA6CiAgICAgICAgKFdl
YktpdCk6CiAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6c2hyaW5rQW5pbWF0aW9uTmFtZSk6
CiAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6RGVmYXVsdFRhcEhpZ2hsaWdodDo6ZHJhdyk6
CiAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0RlZmF1bHRUYXBIaWdobGlnaHQuaDoKICAgICAgICAo
RGVmYXVsdFRhcEhpZ2hsaWdodCk6CiAgICAgICAgKiBXZWJLaXRTdXBwb3J0L1NlbGVjdGlvbkhh
bmRsZXIuY3BwOgogICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OlNlbGVjdGlvbkhhbmRsZXI6
OmNhbmNlbFNlbGVjdGlvbik6CiAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6dGV4dEdyYW51
bGFyaXR5RnJvbVNlbGVjdGlvbkV4cGFuc2lvblR5cGUpOgogICAgICAgIChXZWJLaXQpOgogICAg
ICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OlNlbGVjdGlvbkhhbmRsZXI6OnNlbGVjdE5vZGVJZkZh
dEZpbmdlcnNSZXN1bHRJc0xpbmspOgogICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OlNlbGVj
dGlvbkhhbmRsZXI6OnNlbGVjdEF0UG9pbnQpOgogICAgICAgICogV2ViS2l0U3VwcG9ydC9TZWxl
Y3Rpb25IYW5kbGVyLmg6CiAgICAgICAgKFNlbGVjdGlvbkhhbmRsZXIpOgogICAgICAgICogV2Vi
S2l0U3VwcG9ydC9Ub3VjaEV2ZW50SGFuZGxlci5jcHA6CiAgICAgICAgKEJsYWNrQmVycnk6Oldl
YktpdDo6VG91Y2hFdmVudEhhbmRsZXI6OmhhbmRsZVRvdWNoUG9pbnQpOgotLS0KIFNvdXJjZS9X
ZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViQW5pbWF0aW9uLmNwcCAgICAgIHwgICAyMiArKy0KIFNv
dXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViQW5pbWF0aW9uLmggICAgICAgIHwgICAgMSAr
CiBTb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2UuY3BwICAgICAgICAgICB8ICAg
IDYgKwogU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlLmggICAgICAgICAgICAg
fCAgICAxICsKIFNvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZV9wLmggICAgICAg
ICAgIHwgICAgMSArCiBTb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlRhcEhpZ2hsaWdo
dC5oICAgICB8ICAgIDIgKy0KIFNvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cgICAg
ICAgICAgICAgICAgIHwgICA0NCArKysrKwogLi4uL1dlYktpdFN1cHBvcnQvRGVmYXVsdFRhcEhp
Z2hsaWdodC5jcHAgICAgICAgICAgfCAgIDE0ICstCiAuLi4vYmxhY2tiZXJyeS9XZWJLaXRTdXBw
b3J0L0RlZmF1bHRUYXBIaWdobGlnaHQuaCB8ICAgIDIgKy0KIC4uLi9ibGFja2JlcnJ5L1dlYktp
dFN1cHBvcnQvU2VsZWN0aW9uSGFuZGxlci5jcHAgIHwgIDE3MyArKysrKysrKysrKystLS0tLS0t
LQogLi4uL2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9TZWxlY3Rpb25IYW5kbGVyLmggICAgfCAg
IDE1ICstCiAuLi4vYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L1RvdWNoRXZlbnRIYW5kbGVyLmNw
cCB8ICAgIDEgKwogMTIgZmlsZXMgY2hhbmdlZCwgMjA0IGluc2VydGlvbnMoKyksIDc4IGRlbGV0
aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViQW5p
bWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViQW5pbWF0aW9uLmNw
cAppbmRleCA0YWU1MGRlLi4zOGNiMzZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNr
YmVycnkvQXBpL1dlYkFuaW1hdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5
L0FwaS9XZWJBbmltYXRpb24uY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMiBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxMiwgMjAxMyBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCkBAIC0yNCw2ICsyNCw3IEBA
CiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgogI2luY2x1ZGUgIkxheWVyQ29tcG9zaXRpbmdU
aHJlYWQuaCIKICNpbmNsdWRlICJMYXllcldlYktpdFRocmVhZC5oIgorI2luY2x1ZGUgIlNjYWxl
VHJhbnNmb3JtT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiV2ViQW5pbWF0aW9uX3AuaCIKIAogI2lu
Y2x1ZGUgPEJsYWNrQmVycnlQbGF0Zm9ybU1lc3NhZ2VDbGllbnQuaD4KQEAgLTQ3LDYgKzQ4LDI1
IEBAIFdlYkFuaW1hdGlvbiBXZWJBbmltYXRpb246OmZhZGVBbmltYXRpb24oY29uc3QgQmxhY2tC
ZXJyeTo6UGxhdGZvcm06OlN0cmluZyYgbmFtCiAgICAgcmV0dXJuIHRtcDsKIH0KIAorV2ViQW5p
bWF0aW9uIFdlYkFuaW1hdGlvbjo6c2hyaW5rQW5pbWF0aW9uKGNvbnN0IEJsYWNrQmVycnk6OlBs
YXRmb3JtOjpTdHJpbmcmIG5hbWUsIGZsb2F0IGZyb20sIGZsb2F0IHRvLCBkb3VibGUgZHVyYXRp
b24pCit7CisgICAgV2ViQW5pbWF0aW9uIHRtcDsKKyAgICB0bXAuZC0+bmFtZSA9IG5hbWU7Cisg
ICAgdG1wLmQtPmFuaW1hdGlvbiA9IEFuaW1hdGlvbjo6Y3JlYXRlKCk7CisgICAgdG1wLmQtPmFu
aW1hdGlvbi0+c2V0RHVyYXRpb24oZHVyYXRpb24pOworICAgIHRtcC5kLT5rZXlmcmFtZXMgPSBL
ZXlmcmFtZVZhbHVlTGlzdChBbmltYXRlZFByb3BlcnR5V2Via2l0VHJhbnNmb3JtKTsKKworICAg
IFRyYW5zZm9ybU9wZXJhdGlvbnMgc3RhcnRPcGVyYXRpb247CisgICAgc3RhcnRPcGVyYXRpb24u
b3BlcmF0aW9ucygpLmFwcGVuZChTY2FsZVRyYW5zZm9ybU9wZXJhdGlvbjo6Y3JlYXRlKGZyb20s
IGZyb20sIFRyYW5zZm9ybU9wZXJhdGlvbjo6U0NBTEUpKTsKKyAgICB0bXAuZC0+a2V5ZnJhbWVz
Lmluc2VydChuZXcgVHJhbnNmb3JtQW5pbWF0aW9uVmFsdWUoMCwgJnN0YXJ0T3BlcmF0aW9uKSk7
CisKKyAgICBUcmFuc2Zvcm1PcGVyYXRpb25zIGVuZE9wZXJhdGlvbjsKKyAgICBlbmRPcGVyYXRp
b24ub3BlcmF0aW9ucygpLmFwcGVuZChTY2FsZVRyYW5zZm9ybU9wZXJhdGlvbjo6Y3JlYXRlKHRv
LCB0bywgVHJhbnNmb3JtT3BlcmF0aW9uOjpTQ0FMRSkpOworICAgIHRtcC5kLT5rZXlmcmFtZXMu
aW5zZXJ0KG5ldyBUcmFuc2Zvcm1BbmltYXRpb25WYWx1ZSgxLjAsICZlbmRPcGVyYXRpb24pKTsK
KworICAgIHJldHVybiB0bXA7Cit9CisKIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpTdHJpbmcgV2Vi
QW5pbWF0aW9uOjpuYW1lKCkgY29uc3QKIHsKICAgICByZXR1cm4gZC0+bmFtZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViQW5pbWF0aW9uLmggYi9Tb3VyY2Uv
V2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYkFuaW1hdGlvbi5oCmluZGV4IDFmZjRkNjEuLjc1MDY3
ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViQW5pbWF0aW9u
LmgKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJBbmltYXRpb24uaApAQCAt
MzgsNiArMzgsNyBAQCBjbGFzcyBXZWJBbmltYXRpb25Qcml2YXRlOwogY2xhc3MgQkxBQ0tCRVJS
WV9FWFBPUlQgV2ViQW5pbWF0aW9uIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgV2ViQW5pbWF0aW9u
IGZhZGVBbmltYXRpb24oY29uc3QgQmxhY2tCZXJyeTo6UGxhdGZvcm06OlN0cmluZyYgbmFtZSwg
ZmxvYXQgZnJvbSwgZmxvYXQgdG8sIGRvdWJsZSBkdXJhdGlvbik7CisgICAgc3RhdGljIFdlYkFu
aW1hdGlvbiBzaHJpbmtBbmltYXRpb24oY29uc3QgQmxhY2tCZXJyeTo6UGxhdGZvcm06OlN0cmlu
ZyYgbmFtZSwgZmxvYXQgZnJvbSwgZmxvYXQgdG8sIGRvdWJsZSBkdXJhdGlvbik7CiAKICAgICBX
ZWJBbmltYXRpb24oKTsKICAgICBXZWJBbmltYXRpb24oY29uc3QgV2ViQW5pbWF0aW9uJik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2UuY3BwIGIvU291
cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlLmNwcAppbmRleCA0ODE3YjhmLi5jNDM2
ZmRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAKQEAgLTU4NCw2
ICs1ODQsNyBAQCB2b2lkIFdlYlBhZ2VQcml2YXRlOjppbml0KGNvbnN0IEJsYWNrQmVycnk6OlBs
YXRmb3JtOjpTdHJpbmcmIHBhZ2VHcm91cE5hbWUpCiAKICNpZiBVU0UoQUNDRUxFUkFURURfQ09N
UE9TSVRJTkcpCiAgICAgbV90YXBIaWdobGlnaHQgPSBEZWZhdWx0VGFwSGlnaGxpZ2h0OjpjcmVh
dGUodGhpcyk7CisgICAgbV9zZWxlY3Rpb25IaWdobGlnaHQgPSBEZWZhdWx0VGFwSGlnaGxpZ2h0
OjpjcmVhdGUodGhpcyk7CiAgICAgbV9zZWxlY3Rpb25PdmVybGF5ID0gU2VsZWN0aW9uT3Zlcmxh
eTo6Y3JlYXRlKHRoaXMpOwogICAgIG1fcGFnZS0+c2V0dGluZ3MoKS0+c2V0QWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVkKHRydWUpOwogI2VuZGlmCkBAIC02MTAy
LDYgKzYxMDMsMTEgQEAgV2ViVGFwSGlnaGxpZ2h0KiBXZWJQYWdlOjp0YXBIaWdobGlnaHQoKSBj
b25zdAogICAgIHJldHVybiBkLT5tX3RhcEhpZ2hsaWdodC5nZXQoKTsKIH0KIAorV2ViVGFwSGln
aGxpZ2h0KiBXZWJQYWdlOjpzZWxlY3Rpb25IaWdobGlnaHQoKSBjb25zdAoreworICAgIHJldHVy
biBkLT5tX3NlbGVjdGlvbkhpZ2hsaWdodC5nZXQoKTsKK30KKwogdm9pZCBXZWJQYWdlOjphZGRP
dmVybGF5KFdlYk92ZXJsYXkqIG92ZXJsYXkpCiB7CiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBP
U0lUSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdl
LmggYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2UuaAppbmRleCAyMDQ3YjM0
Li5mYjlkMjU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBh
Z2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2UuaApAQCAtMzU0
LDYgKzM1NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlc2V0VXNlclZpZXdwb3J0QXJndW1lbnRz
KCk7CiAKICAgICBXZWJUYXBIaWdobGlnaHQqIHRhcEhpZ2hsaWdodCgpIGNvbnN0OworICAgIFdl
YlRhcEhpZ2hsaWdodCogc2VsZWN0aW9uSGlnaGxpZ2h0KCkgY29uc3Q7CiAKICAgICAvLyBBZGRz
IGFuIG92ZXJsYXkgdGhhdCBjYW4gYmUgbW9kaWZpZWQgb24gdGhlIFdlYktpdCB0aHJlYWQsIGFu
ZAogICAgIC8vIHdob3NlIGF0dHJpYnV0ZXMgY2FuIGJlIG92ZXJyaWRkZW4gb24gdGhlIGNvbXBv
c2l0aW5nIHRocmVhZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkv
V2ViUGFnZV9wLmggYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VfcC5oCmlu
ZGV4IDdjNjdmNjMuLjE3ZmVjZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJy
eS9BcGkvV2ViUGFnZV9wLmgKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQ
YWdlX3AuaApAQCAtNDgzLDYgKzQ4Myw3IEBAIHB1YmxpYzoKICAgICBXZWJTZXR0aW5ncyogbV93
ZWJTZXR0aW5nczsKICAgICBXZWJDb29raWVKYXIqIG1fY29va2llSmFyOwogICAgIE93blB0cjxX
ZWJUYXBIaWdobGlnaHQ+IG1fdGFwSGlnaGxpZ2h0OworICAgIE93blB0cjxXZWJUYXBIaWdobGln
aHQ+IG1fc2VsZWN0aW9uSGlnaGxpZ2h0OwogICAgIE93blB0cjxTZWxlY3Rpb25PdmVybGF5PiBt
X3NlbGVjdGlvbk92ZXJsYXk7CiAKICAgICBib29sIG1fdmlzaWJsZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViVGFwSGlnaGxpZ2h0LmggYi9Tb3VyY2UvV2Vi
S2l0L2JsYWNrYmVycnkvQXBpL1dlYlRhcEhpZ2hsaWdodC5oCmluZGV4IGI0OGE1MmYuLjlkNzgz
MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViVGFwSGlnaGxp
Z2h0LmgKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJUYXBIaWdobGlnaHQu
aApAQCAtMzAsNyArMzAsNyBAQCBjbGFzcyBCTEFDS0JFUlJZX0VYUE9SVCBXZWJUYXBIaWdobGln
aHQgewogcHVibGljOgogICAgIHZpcnR1YWwgfldlYlRhcEhpZ2hsaWdodCgpIHsgfQogCi0gICAg
dmlydHVhbCB2b2lkIGRyYXcoY29uc3QgUGxhdGZvcm06OkludFJlY3RSZWdpb24mLCBpbnQgcmVk
LCBpbnQgZ3JlZW4sIGludCBibHVlLCBpbnQgYWxwaGEsIGJvb2wgaGlkZUFmdGVyU2Nyb2xsKSA9
IDA7CisgICAgdmlydHVhbCB2b2lkIGRyYXcoY29uc3QgUGxhdGZvcm06OkludFJlY3RSZWdpb24m
LCBpbnQgcmVkLCBpbnQgZ3JlZW4sIGludCBibHVlLCBpbnQgYWxwaGEsIGJvb2wgaGlkZUFmdGVy
U2Nyb2xsLCBib29sIGlzU3RhcnRPZlNlbGVjdGlvbiA9IGZhbHNlKSA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIGhpZGUoKSA9IDA7CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNWaXNpYmxlKCkgY29uc3Qg
PSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKaW5kZXggMWQ5ZjkzNy4uODdlOTczYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDcgQEAKKzIwMTMtMDMt
MDQgIElyaXMgV3UgIDxzaHV3dUByaW0uY29tPgorCisgICAgICAgIFtCbGFja0JlcnJ5XSBVcHN0
cmVhbSBzZWxlY3Rpb24gc3RhcnQgYW5pbWF0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExMzM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgUFIgMjE5OTYwCisKKyAgICAgICAgVG8gaW5kaWNhdGUg
c2VsZWN0aW9uIHN0YXJ0cywgd2UgZHJhdyBhbiBvdmVybGF5IHJlY3QgbGFyZ2VyIHRoYW4KKyAg
ICAgICAgdGhlIHNlbGVjdGVkIHdvcmQgYXQgdGhlIHN0YXJ0IG9mIHNlbGVjdGlvbi4gVGhlbiBz
aHJpbmsgaXQgZG93bgorICAgICAgICB0byB0aGUgYWN0dWFsIHNpemUuCisKKyAgICAgICAgUmV2
aWV3ZWQgSW50ZXJuYWxseSBieSBHZW5ldmlldmUgTWFrIGFuZCBBbmRyZXcgTG8gYW5kIE1pa2Ug
RmVudG9uLgorCisgICAgICAgICogQXBpL1dlYkFuaW1hdGlvbi5jcHA6CisgICAgICAgIChCbGFj
a0JlcnJ5OjpXZWJLaXQ6OldlYkFuaW1hdGlvbjo6c2hyaW5rQW5pbWF0aW9uKToKKyAgICAgICAg
KFdlYktpdCk6CisgICAgICAgICogQXBpL1dlYkFuaW1hdGlvbi5oOgorICAgICAgICAqIEFwaS9X
ZWJQYWdlLmNwcDoKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6V2ViUGFnZVByaXZhdGU6
OmluaXQpOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlOjpzZWxlY3Rpb25I
aWdobGlnaHQpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBBcGkvV2ViUGFnZS5oOgor
ICAgICAgICAqIEFwaS9XZWJQYWdlX3AuaDoKKyAgICAgICAgKFdlYlBhZ2VQcml2YXRlKToKKyAg
ICAgICAgKiBBcGkvV2ViVGFwSGlnaGxpZ2h0Lmg6CisgICAgICAgICogV2ViS2l0U3VwcG9ydC9E
ZWZhdWx0VGFwSGlnaGxpZ2h0LmNwcDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChCbGFj
a0JlcnJ5OjpXZWJLaXQ6OnNocmlua0FuaW1hdGlvbk5hbWUpOgorICAgICAgICAoQmxhY2tCZXJy
eTo6V2ViS2l0OjpEZWZhdWx0VGFwSGlnaGxpZ2h0OjpkcmF3KToKKyAgICAgICAgKiBXZWJLaXRT
dXBwb3J0L0RlZmF1bHRUYXBIaWdobGlnaHQuaDoKKyAgICAgICAgKERlZmF1bHRUYXBIaWdobGln
aHQpOgorICAgICAgICAqIFdlYktpdFN1cHBvcnQvU2VsZWN0aW9uSGFuZGxlci5jcHA6CisgICAg
ICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OlNlbGVjdGlvbkhhbmRsZXI6OmNhbmNlbFNlbGVjdGlv
bik6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OnRleHRHcmFudWxhcml0eUZyb21TZWxl
Y3Rpb25FeHBhbnNpb25UeXBlKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChCbGFja0Jl
cnJ5OjpXZWJLaXQ6OlNlbGVjdGlvbkhhbmRsZXI6OnNlbGVjdE5vZGVJZkZhdEZpbmdlcnNSZXN1
bHRJc0xpbmspOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpTZWxlY3Rpb25IYW5kbGVy
OjpzZWxlY3RBdFBvaW50KToKKyAgICAgICAgKiBXZWJLaXRTdXBwb3J0L1NlbGVjdGlvbkhhbmRs
ZXIuaDoKKyAgICAgICAgKFNlbGVjdGlvbkhhbmRsZXIpOgorICAgICAgICAqIFdlYktpdFN1cHBv
cnQvVG91Y2hFdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpU
b3VjaEV2ZW50SGFuZGxlcjo6aGFuZGxlVG91Y2hQb2ludCk6CisKIDIwMTMtMDMtMDIgIEJlbmph
bWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CiAKICAgICAgICAgTW92ZSBjb21wdXRl
ZFN0eWxlSW5jbHVkaW5nVmlzaXRlZEluZm8gZnJvbSBUZXN0UnVubmVyIHRvIEludGVybmFscwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvRGVmYXVs
dFRhcEhpZ2hsaWdodC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9y
dC9EZWZhdWx0VGFwSGlnaGxpZ2h0LmNwcAppbmRleCA3N2IyYzc1Li5kNWVmZTBiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9EZWZhdWx0VGFwSGln
aGxpZ2h0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9E
ZWZhdWx0VGFwSGlnaGxpZ2h0LmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTIgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTIsIDIwMTMgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwpAQCAtMzYsOCArMzYsMTEg
QEAgbmFtZXNwYWNlIEJsYWNrQmVycnkgewogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNvbnN0IGRv
dWJsZSBBY3RpdmVUZXh0RmFkZUFuaW1hdGlvbkR1cmF0aW9uID0gMC4zOworY29uc3QgZG91Ymxl
IE92ZXJsYXlTaHJpbmtBbmltYXRpb25EdXJhdGlvbiA9IDAuNTsKK2NvbnN0IGRvdWJsZSBPdmVy
bGF5SW5pdGlhbFNjYWxlID0gMi4wOwogCiBzdGF0aWMgY29uc3QgY2hhciogZmFkZUFuaW1hdGlv
bk5hbWUoKSB7IHJldHVybiAiZmFkZSI7IH0KK3N0YXRpYyBjb25zdCBjaGFyKiBzaHJpbmtBbmlt
YXRpb25OYW1lKCkgeyByZXR1cm4gInNocmluayI7IH0KIAogRGVmYXVsdFRhcEhpZ2hsaWdodDo6
RGVmYXVsdFRhcEhpZ2hsaWdodChXZWJQYWdlUHJpdmF0ZSogcGFnZSkKICAgICA6IG1fcGFnZShw
YWdlKQpAQCAtNTAsNyArNTMsNyBAQCBEZWZhdWx0VGFwSGlnaGxpZ2h0Ojp+RGVmYXVsdFRhcEhp
Z2hsaWdodCgpCiB7CiB9CiAKLXZvaWQgRGVmYXVsdFRhcEhpZ2hsaWdodDo6ZHJhdyhjb25zdCBQ
bGF0Zm9ybTo6SW50UmVjdFJlZ2lvbiYgcmVnaW9uLCBpbnQgcmVkLCBpbnQgZ3JlZW4sIGludCBi
bHVlLCBpbnQgYWxwaGEsIGJvb2wgaGlkZUFmdGVyU2Nyb2xsKQordm9pZCBEZWZhdWx0VGFwSGln
aGxpZ2h0OjpkcmF3KGNvbnN0IFBsYXRmb3JtOjpJbnRSZWN0UmVnaW9uJiByZWdpb24sIGludCBy
ZWQsIGludCBncmVlbiwgaW50IGJsdWUsIGludCBhbHBoYSwgYm9vbCBoaWRlQWZ0ZXJTY3JvbGws
IGJvb2wgaXNTdGFydE9mU2VsZWN0aW9uKQogewogICAgIEFTU0VSVChCbGFja0JlcnJ5OjpQbGF0
Zm9ybTo6d2ViS2l0VGhyZWFkTWVzc2FnZUNsaWVudCgpLT5pc0N1cnJlbnRUaHJlYWQoKSk7CiAK
QEAgLTc3LDYgKzgwLDcgQEAgdm9pZCBEZWZhdWx0VGFwSGlnaGxpZ2h0OjpkcmF3KGNvbnN0IFBs
YXRmb3JtOjpJbnRSZWN0UmVnaW9uJiByZWdpb24sIGludCByZWQsIGkKICAgICAgICAgbV9wYWdl
LT5tX3dlYlBhZ2UtPmFkZE92ZXJsYXkobV9vdmVybGF5LmdldCgpKTsKICAgICB9CiAKKyAgICBt
X292ZXJsYXktPnJlbW92ZUFuaW1hdGlvbihzaHJpbmtBbmltYXRpb25OYW1lKCkpOwogICAgIG1f
b3ZlcmxheS0+cmVzZXRPdmVycmlkZXMoKTsKICAgICBtX292ZXJsYXktPnNldFBvc2l0aW9uKHJl
Y3QubG9jYXRpb24oKSk7CiAgICAgbV9vdmVybGF5LT5zZXRTaXplKHJlY3Quc2l6ZSgpKTsKQEAg
LTg0LDYgKzg4LDEyIEBAIHZvaWQgRGVmYXVsdFRhcEhpZ2hsaWdodDo6ZHJhdyhjb25zdCBQbGF0
Zm9ybTo6SW50UmVjdFJlZ2lvbiYgcmVnaW9uLCBpbnQgcmVkLCBpCiAgICAgbV9vdmVybGF5LT5y
ZW1vdmVBbmltYXRpb24oZmFkZUFuaW1hdGlvbk5hbWUoKSk7CiAgICAgbV9vdmVybGF5LT5zZXRP
cGFjaXR5KDEuMCk7CiAgICAgbV9vdmVybGF5LT5pbnZhbGlkYXRlKCk7CisKKyAgICAvLyBBbmlt
YXRlIG92ZXJsYXkgc2NhbGUgdG8gaW5kaWNhdGUgc2VsZWN0aW9uIGlzIHN0YXJ0ZWQuCisgICAg
aWYgKGlzU3RhcnRPZlNlbGVjdGlvbikgeworICAgICAgICBXZWJBbmltYXRpb24gc2hyaW5rQW5p
bWF0aW9uID0gV2ViQW5pbWF0aW9uOjpzaHJpbmtBbmltYXRpb24oc2hyaW5rQW5pbWF0aW9uTmFt
ZSgpLCBPdmVybGF5SW5pdGlhbFNjYWxlLCAxLCBPdmVybGF5U2hyaW5rQW5pbWF0aW9uRHVyYXRp
b24pOworICAgICAgICBtX292ZXJsYXktPmFkZEFuaW1hdGlvbihzaHJpbmtBbmltYXRpb24pOwor
ICAgIH0KIH0KIAogdm9pZCBEZWZhdWx0VGFwSGlnaGxpZ2h0OjpoaWRlKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L0RlZmF1bHRUYXBIaWdobGln
aHQuaCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L0RlZmF1bHRUYXBI
aWdobGlnaHQuaAppbmRleCA5MGFmOTRjLi5iNWIzNGI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9EZWZhdWx0VGFwSGlnaGxpZ2h0LmgKKysrIGIv
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvRGVmYXVsdFRhcEhpZ2hsaWdo
dC5oCkBAIC00Nyw3ICs0Nyw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgfkRlZmF1bHRUYXBI
aWdobGlnaHQoKTsKIAotICAgIHZpcnR1YWwgdm9pZCBkcmF3KGNvbnN0IFBsYXRmb3JtOjpJbnRS
ZWN0UmVnaW9uJiwgaW50IHJlZCwgaW50IGdyZWVuLCBpbnQgYmx1ZSwgaW50IGFscGhhLCBib29s
IGhpZGVBZnRlclNjcm9sbCk7CisgICAgdmlydHVhbCB2b2lkIGRyYXcoY29uc3QgUGxhdGZvcm06
OkludFJlY3RSZWdpb24mLCBpbnQgcmVkLCBpbnQgZ3JlZW4sIGludCBibHVlLCBpbnQgYWxwaGEs
IGJvb2wgaGlkZUFmdGVyU2Nyb2xsLCBib29sIGlzU3RhcnRPZlNlbGVjdGlvbiA9IGZhbHNlKTsK
ICAgICB2aXJ0dWFsIHZvaWQgaGlkZSgpOwogCiAgICAgdmlydHVhbCBib29sIGlzVmlzaWJsZSgp
IGNvbnN0IHsgcmV0dXJuIG1fdmlzaWJsZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9i
bGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvU2VsZWN0aW9uSGFuZGxlci5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9TZWxlY3Rpb25IYW5kbGVyLmNwcAppbmRleCA4
MTU2ODRhLi43ZTJhZGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2Vi
S2l0U3VwcG9ydC9TZWxlY3Rpb25IYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNr
YmVycnkvV2ViS2l0U3VwcG9ydC9TZWxlY3Rpb25IYW5kbGVyLmNwcApAQCAtODQsOCArODQsNiBA
QCB2b2lkIFNlbGVjdGlvbkhhbmRsZXI6OmNhbmNlbFNlbGVjdGlvbigpCiB7CiAgICAgbV9zZWxl
Y3Rpb25BY3RpdmUgPSBmYWxzZTsKICAgICBtX2xhc3RTZWxlY3Rpb25SZWdpb24gPSBJbnRSZWN0
UmVnaW9uKCk7Ci0gICAgbV9jdXJyZW50T3ZlcmxheVJlZ2lvbiA9IEludFJlY3RSZWdpb24oKTsK
LSAgICBtX25leHRPdmVybGF5UmVnaW9uID0gSW50UmVjdFJlZ2lvbigpOwogCiAgICAgaWYgKG1f
d2ViUGFnZS0+bV9zZWxlY3Rpb25PdmVybGF5KQogICAgICAgICBtX3dlYlBhZ2UtPm1fc2VsZWN0
aW9uT3ZlcmxheS0+aGlkZSgpOwpAQCAtNTkwLDYgKzU4OCwyNSBAQCBzdGF0aWMgTm9kZSogZW5j
bG9zaW5nTGlua0V2ZW50UGFyZW50Rm9yTm9kZShOb2RlKiBub2RlKQogICAgIHJldHVybiBsaW5r
Tm9kZSAmJiBsaW5rTm9kZS0+aXNMaW5rKCkgPyBsaW5rTm9kZSA6IDA7CiB9CiAKK1RleHRHcmFu
dWxhcml0eSB0ZXh0R3JhbnVsYXJpdHlGcm9tU2VsZWN0aW9uRXhwYW5zaW9uVHlwZShTZWxlY3Rp
b25FeHBhbnNpb25UeXBlIHNlbGVjdGlvbkV4cGFuc2lvblR5cGUpCit7CisgICAgVGV4dEdyYW51
bGFyaXR5IGdyYW51bGFyaXR5OworICAgIHN3aXRjaCAoc2VsZWN0aW9uRXhwYW5zaW9uVHlwZSkg
eworICAgIGNhc2UgV29yZDoKKyAgICBkZWZhdWx0OgorICAgICAgICBncmFudWxhcml0eSA9IFdv
cmRHcmFudWxhcml0eTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBTZW50ZW5jZToKKyAgICAg
ICAgZ3JhbnVsYXJpdHkgPSBTZW50ZW5jZUdyYW51bGFyaXR5OworICAgICAgICBicmVhazsKKyAg
ICBjYXNlIFBhcmFncmFwaDoKKyAgICAgICAgZ3JhbnVsYXJpdHkgPSBQYXJhZ3JhcGhHcmFudWxh
cml0eTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIHJldHVybiBncmFudWxhcml0eTsKK30K
KworCiBib29sIFNlbGVjdGlvbkhhbmRsZXI6OnNlbGVjdE5vZGVJZkZhdEZpbmdlcnNSZXN1bHRJ
c0xpbmsoRmF0RmluZ2Vyc1Jlc3VsdCBmYXRGaW5nZXJzUmVzdWx0KQogewogICAgIGlmICghZmF0
RmluZ2Vyc1Jlc3VsdC5pc1ZhbGlkKCkpCkBAIC01OTgsNyArNjE1LDE0IEBAIGJvb2wgU2VsZWN0
aW9uSGFuZGxlcjo6c2VsZWN0Tm9kZUlmRmF0RmluZ2Vyc1Jlc3VsdElzTGluayhGYXRGaW5nZXJz
UmVzdWx0IGZhdEZpCiAgICAgQVNTRVJUKHRhcmdldE5vZGUpOwogICAgIC8vIElmIHRoZSBub2Rl
IGF0IHRoZSBwb2ludCBpcyBhIGxpbmssIGZvY3VzIG9uIHRoZSBlbnRpcmUgbGluaywgbm90IGEg
d29yZC4KICAgICBpZiAoTm9kZSogbGluayA9IGVuY2xvc2luZ0xpbmtFdmVudFBhcmVudEZvck5v
ZGUodGFyZ2V0Tm9kZSkpIHsKKyAgICAgICAgRWxlbWVudCogZWxlbWVudCA9IGZhdEZpbmdlcnNS
ZXN1bHQubm9kZUFzRWxlbWVudElmQXBwbGljYWJsZSgpOworICAgICAgICBpZiAoIWVsZW1lbnQp
CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIG1fYW5pbWF0aW9uSGlnaGxpZ2h0
Q29sb3IgPSBlbGVtZW50LT5yZW5kZXJTdHlsZSgpLT5pbml0aWFsVGFwSGlnaGxpZ2h0Q29sb3Io
KTsKKwogICAgICAgICBzZWxlY3RPYmplY3QobGluayk7CisgICAgICAgIC8vIElmIHNlbGVjdGVk
IG9iamVjdCBpcyBhIGxpbmssIG5vIG5lZWQgdG8gd2FpdCBmb3IgZnVydGhlciBleHBhbnNpb24u
CisgICAgICAgIG1fd2ViUGFnZS0+bV9jbGllbnQtPnN0b3BFeHBhbmRpbmdTZWxlY3Rpb24oKTsK
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogICAgIHJldHVybiBmYWxzZTsKQEAgLTYwNiw2
ICs2MzAsMTMgQEAgYm9vbCBTZWxlY3Rpb25IYW5kbGVyOjpzZWxlY3ROb2RlSWZGYXRGaW5nZXJz
UmVzdWx0SXNMaW5rKEZhdEZpbmdlcnNSZXN1bHQgZmF0RmkKIAogdm9pZCBTZWxlY3Rpb25IYW5k
bGVyOjpzZWxlY3RBdFBvaW50KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBsb2NhdGlvbiwgU2Vs
ZWN0aW9uRXhwYW5zaW9uVHlwZSBzZWxlY3Rpb25FeHBhbnNpb25UeXBlKQogeworICAgIGlmIChz
ZWxlY3Rpb25FeHBhbnNpb25UeXBlID09IFdvcmQpIHsKKyAgICAgICAgbV9hbmltYXRpb25PdmVy
bGF5U3RhcnRQb3MgPSBWaXNpYmxlUG9zaXRpb24oKTsKKyAgICAgICAgbV9hbmltYXRpb25PdmVy
bGF5RW5kUG9zID0gVmlzaWJsZVBvc2l0aW9uKCk7CisgICAgICAgIG1fY3VycmVudEFuaW1hdGlv
bk92ZXJsYXlSZWdpb24gPSBJbnRSZWN0UmVnaW9uKCk7CisgICAgICAgIG1fbmV4dEFuaW1hdGlv
bk92ZXJsYXlSZWdpb24gPSBJbnRSZWN0UmVnaW9uKCk7CisgICAgfQorCiAgICAgLy8gSWYgcG9p
bnQgaXMgaW52YWxpZCB0cmlnZ2VyIHNlbGVjdGlvbiBiYXNlZCBleHBhbnNpb24uCiAgICAgaWYg
KGxvY2F0aW9uID09IERPTVN1cHBvcnQ6OkludmFsaWRQb2ludCkgewogICAgICAgICBzZWxlY3RP
YmplY3QoV29yZEdyYW51bGFyaXR5KTsKQEAgLTYxMywyNyArNjQ0LDI1IEBAIHZvaWQgU2VsZWN0
aW9uSGFuZGxlcjo6c2VsZWN0QXRQb2ludChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgbG9jYXRp
b24sIFNlbGVjdGlvCiAgICAgfQogCiAgICAgV2ViQ29yZTo6SW50UG9pbnQgdGFyZ2V0UG9zaXRp
b247Ci0gICAgLy8gRklYTUU6IEZhY3RvcnkgdGhpcyBnZXQgcmlnaHQgZmF0IGZpbmdlciBjb2Rl
IGludG8gYSBoZWxwZXIuCi0gICAgY29uc3QgRmF0RmluZ2Vyc1Jlc3VsdCBsYXN0RmF0RmluZ2Vy
c1Jlc3VsdCA9IG1fd2ViUGFnZS0+bV90b3VjaEV2ZW50SGFuZGxlci0+bGFzdEZhdEZpbmdlcnNS
ZXN1bHQoKTsKLSAgICBpZiAoc2VsZWN0Tm9kZUlmRmF0RmluZ2Vyc1Jlc3VsdElzTGluayhsYXN0
RmF0RmluZ2Vyc1Jlc3VsdCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChsYXN0RmF0Rmlu
Z2Vyc1Jlc3VsdC5yZXN1bHRNYXRjaGVzKGxvY2F0aW9uLCBGYXRGaW5nZXJzOjpUZXh0KSAmJiBs
YXN0RmF0RmluZ2Vyc1Jlc3VsdC5wb3NpdGlvbldhc0FkanVzdGVkKCkgJiYgbGFzdEZhdEZpbmdl
cnNSZXN1bHQubm9kZUFzRWxlbWVudElmQXBwbGljYWJsZSgpKSB7Ci0gICAgICAgIHRhcmdldE5v
ZGUgPSBsYXN0RmF0RmluZ2Vyc1Jlc3VsdC5ub2RlKEZhdEZpbmdlcnNSZXN1bHQ6OlNoYWRvd0Nv
bnRlbnROb3RBbGxvd2VkKTsKLSAgICAgICAgdGFyZ2V0UG9zaXRpb24gPSBsYXN0RmF0RmluZ2Vy
c1Jlc3VsdC5hZGp1c3RlZFBvc2l0aW9uKCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgRmF0Rmlu
Z2Vyc1Jlc3VsdCBuZXdGYXRGaW5nZXJzUmVzdWx0ID0gRmF0RmluZ2VycyhtX3dlYlBhZ2UsIGxv
Y2F0aW9uLCBGYXRGaW5nZXJzOjpUZXh0KS5maW5kQmVzdFBvaW50KCk7Ci0gICAgICAgIGlmICgh
bmV3RmF0RmluZ2Vyc1Jlc3VsdC5wb3NpdGlvbldhc0FkanVzdGVkKCkpCi0gICAgICAgICAgICBy
ZXR1cm47CiAKLSAgICAgICAgaWYgKHNlbGVjdE5vZGVJZkZhdEZpbmdlcnNSZXN1bHRJc0xpbmso
bmV3RmF0RmluZ2Vyc1Jlc3VsdCkpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgdGFy
Z2V0UG9zaXRpb24gPSBuZXdGYXRGaW5nZXJzUmVzdWx0LmFkanVzdGVkUG9zaXRpb24oKTsKKyAg
ICBGYXRGaW5nZXJzUmVzdWx0IGZhdEZpbmdlcnNSZXN1bHQgPSBtX3dlYlBhZ2UtPm1fdG91Y2hF
dmVudEhhbmRsZXItPmxhc3RGYXRGaW5nZXJzUmVzdWx0KCk7CisgICAgaWYgKHNlbGVjdE5vZGVJ
ZkZhdEZpbmdlcnNSZXN1bHRJc0xpbmsoZmF0RmluZ2Vyc1Jlc3VsdCkpCisgICAgICAgIHJldHVy
bjsKKyAgICBpZiAoIWZhdEZpbmdlcnNSZXN1bHQucmVzdWx0TWF0Y2hlcyhsb2NhdGlvbiwgRmF0
RmluZ2Vyczo6VGV4dCkgfHwgIWZhdEZpbmdlcnNSZXN1bHQucG9zaXRpb25XYXNBZGp1c3RlZCgp
IHx8ICFmYXRGaW5nZXJzUmVzdWx0Lm5vZGVBc0VsZW0KKyAgICAgICAgZmF0RmluZ2Vyc1Jlc3Vs
dCA9IEZhdEZpbmdlcnMobV93ZWJQYWdlLCBsb2NhdGlvbiwgRmF0RmluZ2Vyczo6VGV4dCkuZmlu
ZEJlc3RQb2ludCgpOworCisgICAgaWYgKCFmYXRGaW5nZXJzUmVzdWx0LnBvc2l0aW9uV2FzQWRq
dXN0ZWQoKSkgeworICAgICAgICBpZiAoaXNTZWxlY3Rpb25BY3RpdmUoKSkKKyAgICAgICAgICAg
IGNhbmNlbFNlbGVjdGlvbigpOworICAgICAgICBtX3dlYlBhZ2UtPm1fY2xpZW50LT5ub3RpZnlT
ZWxlY3Rpb25EZXRhaWxzQ2hhbmdlZChTZWxlY3Rpb25EZXRhaWxzKCkpOworICAgICAgICBtX3dl
YlBhZ2UtPm1fdG91Y2hFdmVudEhhbmRsZXItPnNlbmRDbGlja0F0RmF0RmluZ2Vyc1BvaW50KCk7
CisgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBtX2N1cnJlbnRPdmVybGF5UmVnaW9uID0g
SW50UmVjdFJlZ2lvbigpOwotICAgIG1fbmV4dE92ZXJsYXlSZWdpb24gPSBJbnRSZWN0UmVnaW9u
KCk7CisgICAgdGFyZ2V0UG9zaXRpb24gPSBmYXRGaW5nZXJzUmVzdWx0LmFkanVzdGVkUG9zaXRp
b24oKTsKKyAgICBpZiAoc2VsZWN0Tm9kZUlmRmF0RmluZ2Vyc1Jlc3VsdElzTGluayhmYXRGaW5n
ZXJzUmVzdWx0KSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgc2VsZWN0T2JqZWN0KHRhcmdldFBv
c2l0aW9uLCB0ZXh0R3JhbnVsYXJpdHlGcm9tU2VsZWN0aW9uRXhwYW5zaW9uVHlwZShzZWxlY3Rp
b25FeHBhbnNpb25UeXBlKSk7CiB9CiAKQEAgLTY2Myw3ICs2OTIsNyBAQCB2b2lkIFNlbGVjdGlv
bkhhbmRsZXI6OnNlbGVjdE5leHRQYXJhZ3JhcGgoKQogICAgIGVuZFBvcyA9IGVuZE9mUGFyYWdy
YXBoKGVuZFBvcyk7IC8vIGZpbmQgdGhlIGVuZCBvZiBwYXJhZ3JhcGgKIAogICAgIC8vIFNldCBz
ZWxlY3Rpb24gaWYgdGhlIHBhcmFncmFwaCBpcyBjb3ZlcmVkIGJ5IG92ZXJsYXkgYW5kIGVuZFBv
cyBpcyBub3QgbnVsbC4KLSAgICBpZiAobV9jdXJyZW50T3ZlcmxheVJlZ2lvbi5leHRlbnRzKCku
Ym90dG9tKCkgPj0gZW5kUG9zLmFic29sdXRlQ2FyZXRCb3VuZHMoKS5tYXhZKCkgJiYgZW5kUG9z
LmlzTm90TnVsbCgpKSB7CisgICAgaWYgKG1fY3VycmVudEFuaW1hdGlvbk92ZXJsYXlSZWdpb24u
ZXh0ZW50cygpLmJvdHRvbSgpID49IGVuZFBvcy5hYnNvbHV0ZUNhcmV0Qm91bmRzKCkubWF4WSgp
ICYmIGVuZFBvcy5pc05vdE51bGwoKSkgewogICAgICAgICBWaXNpYmxlU2VsZWN0aW9uIHNlbGVj
dGlvbiA9IFZpc2libGVTZWxlY3Rpb24oc3RhcnRQb3MsIGVuZFBvcyk7CiAgICAgICAgIHNlbGVj
dGlvbi5zZXRBZmZpbml0eShjb250cm9sbGVyLT5hZmZpbml0eSgpKTsKICAgICAgICAgY29udHJv
bGxlci0+c2V0U2VsZWN0aW9uKHNlbGVjdGlvbik7CkBAIC02NzQsNTMgKzcwMyw1OCBAQCB2b2lk
IFNlbGVjdGlvbkhhbmRsZXI6OnNlbGVjdE5leHRQYXJhZ3JhcGgoKQogICAgIH0KIH0KIAotdm9p
ZCBTZWxlY3Rpb25IYW5kbGVyOjpkcmF3T3ZlcmxheShJbnRSZWN0UmVnaW9uIG92ZXJsYXlSZWdp
b24sIGJvb2wgaXNFeHBhbmRpbmdPdmVybGF5QXRDb25zdGFudFJhdGUpCit2b2lkIFNlbGVjdGlv
bkhhbmRsZXI6OmRyYXdBbmltYXRpb25PdmVybGF5KEludFJlY3RSZWdpb24gb3ZlcmxheVJlZ2lv
biwgYm9vbCBpc0V4cGFuZGluZ092ZXJsYXlBdENvbnN0YW50UmF0ZSwgYm9vbCBpc1N0YXJ0T2ZT
ZWxlY3Rpb24pCiB7Ci0gICAgRWxlbWVudCogZWxlbWVudCA9IG1fb3ZlcmxheVN0YXJ0UG9zLmRl
ZXBFcXVpdmFsZW50KCkuZWxlbWVudCgpOwotICAgIGlmICghZWxlbWVudCkKLSAgICAgICAgcmV0
dXJuOwotCiAgICAgaWYgKGlzRXhwYW5kaW5nT3ZlcmxheUF0Q29uc3RhbnRSYXRlKSB7CiAgICAg
ICAgIC8vIFdoZW4gb3ZlcmxheSBleHBhbmRzIGF0IGEgY29uc3RhbnQgcmF0ZSwgdGhlIGN1cnJl
bnQgb3ZlcmxheSBoZWlnaHQgaW5jcmVhc2VzCiAgICAgICAgIC8vIG1fb3ZlcmxheUV4cGFuc2lv
bkhlaWdodCBlYWNoIHRpbWUgYW5kIHRoZSB3aWR0aCBpcyBhbHdheXMgc2FtZSBhcyBuZXh0IG92
ZXJsYXkgcmVnaW9uLgotICAgICAgICBXZWJDb3JlOjpJbnRSZWN0IGN1cnJlbnRPdmVybGF5UmVj
dCA9IG1fY3VycmVudE92ZXJsYXlSZWdpb24uZXh0ZW50cygpOwotICAgICAgICBXZWJDb3JlOjpJ
bnRSZWN0IG5leHRPdmVybGF5UmVjdCA9IG1fbmV4dE92ZXJsYXlSZWdpb24uZXh0ZW50cygpOwor
ICAgICAgICBXZWJDb3JlOjpJbnRSZWN0IGN1cnJlbnRPdmVybGF5UmVjdCA9IG1fY3VycmVudEFu
aW1hdGlvbk92ZXJsYXlSZWdpb24uZXh0ZW50cygpOworICAgICAgICBXZWJDb3JlOjpJbnRSZWN0
IG5leHRPdmVybGF5UmVjdCA9IG1fbmV4dEFuaW1hdGlvbk92ZXJsYXlSZWdpb24uZXh0ZW50cygp
OwogICAgICAgICBXZWJDb3JlOjpJbnRSZWN0IG92ZXJsYXlSZWN0KFdlYkNvcmU6OkludFJlY3Qo
bmV4dE92ZXJsYXlSZWN0LmxvY2F0aW9uKCksIFdlYkNvcmU6OkludFNpemUobmV4dE92ZXJsYXlS
ZWN0LndpZHRoKCksIGN1cnJlbnRPdmVybGF5UmVjdC5oZWlnaHQoKSArIG1fb3ZlcmxheUV4cGFu
c2lvbkhlaWdodCkpKTsKICAgICAgICAgb3ZlcmxheVJlZ2lvbiA9IEludFJlY3RSZWdpb24ob3Zl
cmxheVJlY3QpOwogICAgIH0KIAotICAgIENvbG9yIGhpZ2hsaWdodENvbG9yID0gZWxlbWVudC0+
cmVuZGVyU3R5bGUoKS0+aW5pdGlhbFRhcEhpZ2hsaWdodENvbG9yKCk7Ci0gICAgbV93ZWJQYWdl
LT5tX3RhcEhpZ2hsaWdodC0+ZHJhdyhvdmVybGF5UmVnaW9uLAotICAgICAgICBoaWdobGlnaHRD
b2xvci5yZWQoKSwgaGlnaGxpZ2h0Q29sb3IuZ3JlZW4oKSwgaGlnaGxpZ2h0Q29sb3IuYmx1ZSgp
LCBoaWdobGlnaHRDb2xvci5hbHBoYSgpLAotICAgICAgICBmYWxzZSAvKiBkbyBub3QgaGlkZSBh
ZnRlciBzY3JvbGwgKi8pOwotICAgIG1fY3VycmVudE92ZXJsYXlSZWdpb24gPSBvdmVybGF5UmVn
aW9uOworICAgIG1fd2ViUGFnZS0+bV9zZWxlY3Rpb25IaWdobGlnaHQtPmRyYXcob3ZlcmxheVJl
Z2lvbiwKKyAgICAgICAgbV9hbmltYXRpb25IaWdobGlnaHRDb2xvci5yZWQoKSwgbV9hbmltYXRp
b25IaWdobGlnaHRDb2xvci5ncmVlbigpLCBtX2FuaW1hdGlvbkhpZ2hsaWdodENvbG9yLmJsdWUo
KSwgbV9hbmltYXRpb25IaWdobGlnaHRDb2xvci5hbHBoYSgpLAorICAgICAgICBmYWxzZSAvKiBk
byBub3QgaGlkZSBhZnRlciBzY3JvbGwgKi8sCisgICAgICAgIGlzU3RhcnRPZlNlbGVjdGlvbik7
CisgICAgbV9jdXJyZW50QW5pbWF0aW9uT3ZlcmxheVJlZ2lvbiA9IG92ZXJsYXlSZWdpb247Cit9
CisKK0ludFJlY3RSZWdpb24gU2VsZWN0aW9uSGFuZGxlcjo6cmVnaW9uRm9yU2VsZWN0aW9uUXVh
ZHMoVmlzaWJsZVNlbGVjdGlvbiBzZWxlY3Rpb24pCit7CisgICAgVmVjdG9yPEZsb2F0UXVhZD4g
cXVhZHM7CisgICAgRE9NU3VwcG9ydDo6dmlzaWJsZVRleHRRdWFkcyhzZWxlY3Rpb24sIHF1YWRz
KTsKKyAgICBJbnRSZWN0UmVnaW9uIHJlZ2lvbjsKKyAgICByZWdpb25Gb3JUZXh0UXVhZHMocXVh
ZHMsIHJlZ2lvbik7CisgICAgcmV0dXJuIHJlZ2lvbjsKIH0KIAotYm9vbCBTZWxlY3Rpb25IYW5k
bGVyOjpmaW5kTmV4dE92ZXJsYXlSZWdpb24oKQorYm9vbCBTZWxlY3Rpb25IYW5kbGVyOjpmaW5k
TmV4dEFuaW1hdGlvbk92ZXJsYXlSZWdpb24oKQogewogICAgIC8vIElmIG92ZXJsYXkgaXMgYXQg
dGhlIGVuZCBvZiBkb2N1bWVudCwgc3RvcCBvdmVybGF5IGV4cGFuc2lvbi4KLSAgICBpZiAoaXNF
bmRPZkRvY3VtZW50KG1fb3ZlcmxheUVuZFBvcy5kZWVwRXF1aXZhbGVudCgpKSB8fCBtX292ZXJs
YXlFbmRQb3MuaXNOdWxsKCkpCisgICAgaWYgKGlzRW5kT2ZEb2N1bWVudChtX2FuaW1hdGlvbk92
ZXJsYXlFbmRQb3MuZGVlcEVxdWl2YWxlbnQoKSkgfHwgbV9hbmltYXRpb25PdmVybGF5RW5kUG9z
LmlzTnVsbCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBtX292ZXJsYXlFbmRQb3Mg
PSBtX292ZXJsYXlFbmRQb3MubmV4dCgpOwotICAgIHdoaWxlICghaXNFbmRPZkRvY3VtZW50KG1f
b3ZlcmxheUVuZFBvcy5kZWVwRXF1aXZhbGVudCgpKSAmJiBtX292ZXJsYXlFbmRQb3MuaXNOb3RO
dWxsKCkgJiYgaXNJbnZhbGlkTGluZShtX292ZXJsYXlFbmRQb3MpKQotICAgICAgICBtX292ZXJs
YXlFbmRQb3MgPSBtX292ZXJsYXlFbmRQb3MubmV4dCgpOyAvLyBnbyB0byBuZXh0IHBvc2l0aW9u
Ci0gICAgbV9vdmVybGF5RW5kUG9zID0gZW5kT2ZMaW5lKG1fb3ZlcmxheUVuZFBvcyk7IC8vIGZp
bmQgZW5kIG9mIGxpbmUKKyAgICBtX2FuaW1hdGlvbk92ZXJsYXlFbmRQb3MgPSBtX2FuaW1hdGlv
bk92ZXJsYXlFbmRQb3MubmV4dCgpOworICAgIHdoaWxlICghaXNFbmRPZkRvY3VtZW50KG1fYW5p
bWF0aW9uT3ZlcmxheUVuZFBvcy5kZWVwRXF1aXZhbGVudCgpKSAmJiBtX2FuaW1hdGlvbk92ZXJs
YXlFbmRQb3MuaXNOb3ROdWxsKCkgJiYgaXNJbnZhbGlkTGluZShtX2FuaW1hdGlvbk92ZXJsYXlF
bmRQb3MpKQorICAgICAgICBtX2FuaW1hdGlvbk92ZXJsYXlFbmRQb3MgPSBtX2FuaW1hdGlvbk92
ZXJsYXlFbmRQb3MubmV4dCgpOyAvLyBnbyB0byBuZXh0IHBvc2l0aW9uCisgICAgbV9hbmltYXRp
b25PdmVybGF5RW5kUG9zID0gZW5kT2ZMaW5lKG1fYW5pbWF0aW9uT3ZlcmxheUVuZFBvcyk7IC8v
IGZpbmQgZW5kIG9mIGxpbmUKIAotICAgIFZpc2libGVTZWxlY3Rpb24gc2VsZWN0aW9uKG1fb3Zl
cmxheVN0YXJ0UG9zLCBtX292ZXJsYXlFbmRQb3MpOwotICAgIFZlY3RvcjxGbG9hdFF1YWQ+IHF1
YWRzOwotICAgIERPTVN1cHBvcnQ6OnZpc2libGVUZXh0UXVhZHMoc2VsZWN0aW9uLCBxdWFkcyk7
Ci0gICAgcmVnaW9uRm9yVGV4dFF1YWRzKHF1YWRzLCBtX25leHRPdmVybGF5UmVnaW9uKTsKKyAg
ICBWaXNpYmxlU2VsZWN0aW9uIHNlbGVjdGlvbihtX2FuaW1hdGlvbk92ZXJsYXlTdGFydFBvcywg
bV9hbmltYXRpb25PdmVybGF5RW5kUG9zKTsKKyAgICBtX25leHRBbmltYXRpb25PdmVybGF5UmVn
aW9uID0gcmVnaW9uRm9yU2VsZWN0aW9uUXVhZHMoc2VsZWN0aW9uKTsKICAgICByZXR1cm4gdHJ1
ZTsKIH0KIAogdm9pZCBTZWxlY3Rpb25IYW5kbGVyOjpleHBhbmRTZWxlY3Rpb24oYm9vbCBpc1Nj
cm9sbFN0YXJ0ZWQpCiB7Ci0gICAgV2ViQ29yZTo6SW50UG9pbnQgbmV4dE92ZXJsYXlCb3R0b21S
aWdodFBvaW50ID0gV2ViQ29yZTo6SW50UG9pbnQobV9jdXJyZW50T3ZlcmxheVJlZ2lvbi5leHRl
bnRzKCkuYm90dG9tUmlnaHQoKSkgKyBXZWJDb3JlOjpJbnRQb2ludCgwLCBtX292ZXJsYXlFeHBh
bnNpb25IZWlnaHQpOwotICAgIGlmIChuZXh0T3ZlcmxheUJvdHRvbVJpZ2h0UG9pbnQueSgpID4g
bV9uZXh0T3ZlcmxheVJlZ2lvbi5leHRlbnRzKCkuYm90dG9tKCkpCisgICAgaWYgKG1fY3VycmVu
dEFuaW1hdGlvbk92ZXJsYXlSZWdpb24uaXNFbXB0eSgpIHx8IG1fbmV4dEFuaW1hdGlvbk92ZXJs
YXlSZWdpb24uaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisgICAgV2ViQ29yZTo6SW50UG9p
bnQgbmV4dE92ZXJsYXlCb3R0b21SaWdodFBvaW50ID0gV2ViQ29yZTo6SW50UG9pbnQobV9jdXJy
ZW50QW5pbWF0aW9uT3ZlcmxheVJlZ2lvbi5leHRlbnRzKCkuYm90dG9tUmlnaHQoKSkgKyBXZWJD
b3JlOjpJbnRQb2ludCgwLCBtX292ZXJsYXlFeHBhbnNpb25IZWlnaHQpOworICAgIGlmIChuZXh0
T3ZlcmxheUJvdHRvbVJpZ2h0UG9pbnQueSgpID4gbV9uZXh0QW5pbWF0aW9uT3ZlcmxheVJlZ2lv
bi5leHRlbnRzKCkuYm90dG9tKCkpCiAgICAgICAgIC8vIEZpbmQgbmV4dCBvdmVybGF5IHJlZ2lv
biBzbyB0aGF0IHdlIGNhbiB1cGRhdGUgb3ZlcmxheSByZWdpb24ncyB3aWR0aCB3aGlsZSBleHBh
bmRpbmcuCi0gICAgICAgIGlmICghZmluZE5leHRPdmVybGF5UmVnaW9uKCkpIHsKLSAgICAgICAg
ICAgIGRyYXdPdmVybGF5KG1fbmV4dE92ZXJsYXlSZWdpb24sIGZhbHNlKTsKKyAgICAgICAgaWYg
KCFmaW5kTmV4dEFuaW1hdGlvbk92ZXJsYXlSZWdpb24oKSkgeworICAgICAgICAgICAgZHJhd0Fu
aW1hdGlvbk92ZXJsYXkobV9uZXh0QW5pbWF0aW9uT3ZlcmxheVJlZ2lvbiwgZmFsc2UpOwogICAg
ICAgICAgICAgc2VsZWN0TmV4dFBhcmFncmFwaCgpOwogICAgICAgICAgICAgbV93ZWJQYWdlLT5t
X2NsaWVudC0+c3RvcEV4cGFuZGluZ1NlbGVjdGlvbigpOwogICAgICAgICAgICAgcmV0dXJuOwpA
QCAtNzI4LDggKzc2Miw4IEBAIHZvaWQgU2VsZWN0aW9uSGFuZGxlcjo6ZXhwYW5kU2VsZWN0aW9u
KGJvb2wgaXNTY3JvbGxTdGFydGVkKQogCiAgICAgLy8gRHJhdyBvdmVybGF5IGlmIHRoZSBwb3Np
dGlvbiBpcyBpbiB0aGUgdmlld3BvcnQgYW5kIGlzIG5vdCBudWxsLgogICAgIC8vIE90aGVyd2lz
ZSwgc3RhcnQgc2Nyb2xsaW5nIGlmIGl0IGhhc24ndCBzdGFydGVkLgotICAgIGlmIChlbnN1cmVT
ZWxlY3RlZFRleHRWaXNpYmxlKG5leHRPdmVybGF5Qm90dG9tUmlnaHRQb2ludCwgZmFsc2UgLyog
ZG8gbm90IHNjcm9sbCAqLykgJiYgbV9vdmVybGF5RW5kUG9zLmlzTm90TnVsbCgpKQotICAgICAg
ICBkcmF3T3ZlcmxheShJbnRSZWN0UmVnaW9uKCksIHRydWUgLyogaXNFeHBhbmRpbmdPdmVybGF5
QXRDb25zdGFudFJhdGUgKi8pOworICAgIGlmIChlbnN1cmVTZWxlY3RlZFRleHRWaXNpYmxlKG5l
eHRPdmVybGF5Qm90dG9tUmlnaHRQb2ludCwgZmFsc2UgLyogZG8gbm90IHNjcm9sbCAqLykgJiYg
bV9hbmltYXRpb25PdmVybGF5RW5kUG9zLmlzTm90TnVsbCgpKQorICAgICAgICBkcmF3QW5pbWF0
aW9uT3ZlcmxheShJbnRSZWN0UmVnaW9uKCksIHRydWUgLyogaXNFeHBhbmRpbmdPdmVybGF5QXRD
b25zdGFudFJhdGUgKi8pOwogICAgIGVsc2UgaWYgKCFpc1Njcm9sbFN0YXJ0ZWQpIHsKICAgICAg
ICAgbV93ZWJQYWdlLT5tX2NsaWVudC0+c3RhcnRTZWxlY3Rpb25TY3JvbGwoKTsKICAgICAgICAg
cmV0dXJuOwpAQCAtNzQ3LDggKzc4MSwxNSBAQCBib29sIFNlbGVjdGlvbkhhbmRsZXI6OmVuc3Vy
ZVNlbGVjdGVkVGV4dFZpc2libGUoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvaW50LAogICAg
IGlmICghc2Nyb2xsSWZOZWVkZWQpCiAgICAgICAgIHJldHVybiBhY3R1YWxTY3JlZW5SZWN0Lm1h
eFkoKSA+PSBwb2ludC55KCkgKyBtX3Njcm9sbE1hcmdpbi5oZWlnaHQoKTsKIAotICAgIFdlYkNv
cmU6OkludFJlY3QgZW5kTG9jYXRpb24gPSBtX292ZXJsYXlFbmRQb3MuYWJzb2x1dGVDYXJldEJv
dW5kcygpOwotICAgIE5vZGUqIGFuY2hvck5vZGUgPSBtX292ZXJsYXlFbmRQb3MuZGVlcEVxdWl2
YWxlbnQoKS5hbmNob3JOb2RlKCk7CisgICAgV2ViQ29yZTo6SW50UmVjdCBlbmRMb2NhdGlvbiA9
IG1fYW5pbWF0aW9uT3ZlcmxheUVuZFBvcy5hYnNvbHV0ZUNhcmV0Qm91bmRzKCk7CisKKyAgICBG
cmFtZSogZm9jdXNlZEZyYW1lID0gbV93ZWJQYWdlLT5mb2N1c2VkT3JNYWluRnJhbWUoKTsKKyAg
ICBGcmFtZSogbWFpbkZyYW1lID0gbV93ZWJQYWdlLT5tYWluRnJhbWUoKTsKKyAgICAvLyBJZiB3
ZSBhcmUgc2VsZWN0aW5nIHdpdGhpbiBhbiBpZnJhbWUsIHRyYW5zbGF0ZSBjb29yZGluYXRlcyB0
byBtYWluIGZyYW1lLgorICAgIGlmIChmb2N1c2VkRnJhbWUgJiYgZm9jdXNlZEZyYW1lLT52aWV3
KCkgJiYgbWFpbkZyYW1lICYmIG1haW5GcmFtZS0+dmlldygpICYmIGZvY3VzZWRGcmFtZSAhPSBt
YWluRnJhbWUpCisgICAgICAgIGVuZExvY2F0aW9uID0gbWFpbkZyYW1lLT52aWV3KCktPndpbmRv
d1RvQ29udGVudHMoZm9jdXNlZEZyYW1lLT52aWV3KCktPmNvbnRlbnRzVG9XaW5kb3coZW5kTG9j
YXRpb24pKTsKKworICAgIE5vZGUqIGFuY2hvck5vZGUgPSBtX2FuaW1hdGlvbk92ZXJsYXlFbmRQ
b3MuZGVlcEVxdWl2YWxlbnQoKS5hbmNob3JOb2RlKCk7CiAgICAgaWYgKCFhbmNob3JOb2RlIHx8
ICFhbmNob3JOb2RlLT5yZW5kZXJlcigpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAgLTc2
MywxNSArODA0LDggQEAgYm9vbCBTZWxlY3Rpb25IYW5kbGVyOjplbnN1cmVTZWxlY3RlZFRleHRW
aXNpYmxlKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb2ludCwKICAgICByZXZlYWxSZWN0LnNl
dFgoc3RkOjptaW4oc3RkOjptYXgocmV2ZWFsUmVjdC54KCksIDApLCBtX3dlYlBhZ2UtPm1heGlt
dW1TY3JvbGxQb3NpdGlvbigpLngoKSkpOwogICAgIHJldmVhbFJlY3Quc2V0WShzdGQ6Om1pbihz
dGQ6Om1heChyZXZlYWxSZWN0LnkoKSwgMCksIG1fd2ViUGFnZS0+bWF4aW11bVNjcm9sbFBvc2l0
aW9uKCkueSgpKSk7CiAKLSAgICBpZiAocmV2ZWFsUmVjdC5sb2NhdGlvbigpICE9IHNjcm9sbFBv
c2l0aW9uKSB7Ci0gICAgICAgIC8vIEFuaW1hdGUgc2Nyb2xsIHBvc2l0aW9uIHRvIHJldmVhbFJl
Y3QuCi0gICAgICAgIG1fd2ViUGFnZS0+bV9maW5hbEJsb2NrUG9pbnQgPSBXZWJDb3JlOjpGbG9h
dFBvaW50KHJldmVhbFJlY3QueCgpLCByZXZlYWxSZWN0LnkoKSk7Ci0gICAgICAgIG1fd2ViUGFn
ZS0+bV9ibG9ja1pvb21GaW5hbFNjYWxlID0gbV93ZWJQYWdlLT5tX3dlYlBhZ2UtPmN1cnJlbnRT
Y2FsZSgpOyAvLyBEb24ndCB6b29tLgotICAgICAgICBtX3dlYlBhZ2UtPm1fc2hvdWxkUmVmbG93
QmxvY2sgPSBmYWxzZTsKLSAgICAgICAgbV93ZWJQYWdlLT5tX3VzZXJQZXJmb3JtZWRNYW51YWxa
b29tID0gdHJ1ZTsKLSAgICAgICAgbV93ZWJQYWdlLT5tX3VzZXJQZXJmb3JtZWRNYW51YWxTY3Jv
bGwgPSB0cnVlOwotICAgICAgICBtX3dlYlBhZ2UtPmNsaWVudCgpLT5hbmltYXRlQmxvY2tab29t
KG1fd2ViUGFnZS0+bV93ZWJQYWdlLT5jdXJyZW50U2NhbGUoKSwgbV93ZWJQYWdlLT5tX2ZpbmFs
QmxvY2tQb2ludCk7Ci0gICAgfQorICAgIC8vIEFuaW1hdGUgc2Nyb2xsIHBvc2l0aW9uIHRvIHJl
dmVhbFJlY3QuCisgICAgbV93ZWJQYWdlLT5hbmltYXRlVG9TY2FsZUFuZERvY3VtZW50U2Nyb2xs
UG9zaXRpb24obV93ZWJQYWdlLT5jdXJyZW50U2NhbGUoKSAvKiBEb24ndCB6b29tICovLCBXZWJD
b3JlOjpGbG9hdFBvaW50KHJldmVhbFJlY3QueCgpLCByZXZlYWxSZWN0LnkoKSkpOwogICAgIHJl
dHVybiB0cnVlOwogfQogCkBAIC03OTgsMTcgKzgzMiwyMSBAQCBib29sIFNlbGVjdGlvbkhhbmRs
ZXI6OmV4cGFuZFNlbGVjdGlvblRvR3JhbnVsYXJpdHkoRnJhbWUqIGZyYW1lLCBWaXNpYmxlU2Vs
ZWN0aQogICAgIGlmIChpc0lucHV0TW9kZSAmJiAhZnJhbWUtPnNlbGVjdGlvbigpLT5zaG91bGRD
aGFuZ2VTZWxlY3Rpb24oc2VsZWN0aW9uKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAg
bV9vdmVybGF5U3RhcnRQb3MgPSBzZWxlY3Rpb24udmlzaWJsZVN0YXJ0KCk7Ci0gICAgbV9vdmVy
bGF5RW5kUG9zID0gc2VsZWN0aW9uLnZpc2libGVFbmQoKTsKLSAgICBWZWN0b3I8RmxvYXRRdWFk
PiBxdWFkczsKLSAgICBET01TdXBwb3J0Ojp2aXNpYmxlVGV4dFF1YWRzKHNlbGVjdGlvbiwgcXVh
ZHMpOwotICAgIHJlZ2lvbkZvclRleHRRdWFkcyhxdWFkcywgbV9jdXJyZW50T3ZlcmxheVJlZ2lv
bik7CisgICAgbV9hbmltYXRpb25PdmVybGF5U3RhcnRQb3MgPSBzZWxlY3Rpb24udmlzaWJsZVN0
YXJ0KCk7CisgICAgbV9hbmltYXRpb25PdmVybGF5RW5kUG9zID0gc2VsZWN0aW9uLnZpc2libGVF
bmQoKTsKKworICAgIGlmIChncmFudWxhcml0eSA9PSBXb3JkR3JhbnVsYXJpdHkpIHsKKyAgICAg
ICAgRWxlbWVudCogZWxlbWVudCA9IG1fYW5pbWF0aW9uT3ZlcmxheVN0YXJ0UG9zLmRlZXBFcXVp
dmFsZW50KCkuZWxlbWVudCgpOworICAgICAgICBpZiAoIWVsZW1lbnQpCisgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgICAgIG1fYW5pbWF0aW9uSGlnaGxpZ2h0Q29sb3IgPSBlbGVtZW50
LT5yZW5kZXJTdHlsZSgpLT5pbml0aWFsVGFwSGlnaGxpZ2h0Q29sb3IoKTsKKyAgICB9CiAKICAg
ICBlbnN1cmVTZWxlY3RlZFRleHRWaXNpYmxlKFdlYkNvcmU6OkludFBvaW50KCksIHRydWUgLyog
c2Nyb2xsIGlmIG5lZWRlZCAqLyk7Ci0gICAgZHJhd092ZXJsYXkobV9jdXJyZW50T3ZlcmxheVJl
Z2lvbiwgZmFsc2UgLyogaXNFeHBhbmRpbmdPdmVybGF5QXRDb25zdGFudFJhdGUgKi8pOworICAg
IGRyYXdBbmltYXRpb25PdmVybGF5KHJlZ2lvbkZvclNlbGVjdGlvblF1YWRzKHNlbGVjdGlvbiks
IGZhbHNlIC8qIGlzRXhwYW5kaW5nT3ZlcmxheUF0Q29uc3RhbnRSYXRlICovLCBncmFudWxhcml0
eSA9PSBXb3JkR3JhbnVsYXJpdHkgLyogaXNTdGFydE9mU2VsZWN0aW9uICovKTsKICAgICBmcmFt
ZS0+c2VsZWN0aW9uKCktPnNldFNlbGVjdGlvbihzZWxlY3Rpb24pOwogICAgIGlmIChncmFudWxh
cml0eSA9PSBQYXJhZ3JhcGhHcmFudWxhcml0eSkKLSAgICAgICAgZmluZE5leHRPdmVybGF5UmVn
aW9uKCk7CisgICAgICAgIGZpbmROZXh0QW5pbWF0aW9uT3ZlcmxheVJlZ2lvbigpOwogCiAgICAg
cmV0dXJuIHRydWU7CiB9CkBAIC04NzUsNiArOTEzLDcgQEAgdm9pZCBTZWxlY3Rpb25IYW5kbGVy
OjpzZWxlY3RPYmplY3QoTm9kZSogbm9kZSkKICAgICBTZWxlY3Rpb25Mb2coUGxhdGZvcm06Okxv
Z0xldmVsSW5mbywgIlNlbGVjdGlvbkhhbmRsZXI6OnNlbGVjdE5vZGUiKTsKIAogICAgIFZpc2li
bGVTZWxlY3Rpb24gc2VsZWN0aW9uID0gVmlzaWJsZVNlbGVjdGlvbjo6c2VsZWN0aW9uRnJvbUNv
bnRlbnRzT2ZOb2RlKG5vZGUpOworICAgIGRyYXdBbmltYXRpb25PdmVybGF5KHJlZ2lvbkZvclNl
bGVjdGlvblF1YWRzKHNlbGVjdGlvbiksIGZhbHNlIC8qIGlzRXhwYW5kaW5nT3ZlcmxheUF0Q29u
c3RhbnRSYXRlICovLCB0cnVlIC8qIGlzU3RhcnRPZlNlbGVjdGlvbiAqLyk7CiAgICAgZm9jdXNl
ZEZyYW1lLT5zZWxlY3Rpb24oKS0+c2V0U2VsZWN0aW9uKHNlbGVjdGlvbik7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L1NlbGVjdGlvbkhh
bmRsZXIuaCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L1NlbGVjdGlv
bkhhbmRsZXIuaAppbmRleCA4ZDBjZDJjLi4zMzg4ZTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9TZWxlY3Rpb25IYW5kbGVyLmgKKysrIGIvU291
cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvU2VsZWN0aW9uSGFuZGxlci5oCkBA
IC0yMiw2ICsyMiw3IEBACiAjaW5jbHVkZSAiQmxhY2tCZXJyeVBsYXRmb3JtSW50UmVjdFJlZ2lv
bi5oIgogI2luY2x1ZGUgIkJsYWNrQmVycnlQbGF0Zm9ybVByaW1pdGl2ZXMuaCIKICNpbmNsdWRl
ICJCbGFja0JlcnJ5UGxhdGZvcm1TdG9wV2F0Y2guaCIKKyNpbmNsdWRlICJDb2xvci5oIgogI2lu
Y2x1ZGUgIlRleHRHcmFudWxhcml0eS5oIgogCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAt
OTMsOCArOTQsOSBAQCBwcml2YXRlOgogICAgIFdlYkNvcmU6OkludFBvaW50IGNsaXBQb2ludFRv
VmlzaWJsZUNvbnRhaW5lcihjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpIGNvbnN0OwogCiAgICAg
dm9pZCBzZWxlY3ROZXh0UGFyYWdyYXBoKCk7Ci0gICAgdm9pZCBkcmF3T3ZlcmxheShCbGFja0Jl
cnJ5OjpQbGF0Zm9ybTo6SW50UmVjdFJlZ2lvbiwgYm9vbCk7Ci0gICAgYm9vbCBmaW5kTmV4dE92
ZXJsYXlSZWdpb24oKTsKKyAgICB2b2lkIGRyYXdBbmltYXRpb25PdmVybGF5KEJsYWNrQmVycnk6
OlBsYXRmb3JtOjpJbnRSZWN0UmVnaW9uLCBib29sIGlzRXhwYW5kaW5nT3ZlcmxheUF0Q29uc3Rh
bnRSYXRlLCBib29sIGlzU3RhcnRPZlNlbGVjdGlvbiA9IGZhbHNlKTsKKyAgICBQbGF0Zm9ybTo6
SW50UmVjdFJlZ2lvbiByZWdpb25Gb3JTZWxlY3Rpb25RdWFkcyhXZWJDb3JlOjpWaXNpYmxlU2Vs
ZWN0aW9uKTsKKyAgICBib29sIGZpbmROZXh0QW5pbWF0aW9uT3ZlcmxheVJlZ2lvbigpOwogICAg
IGJvb2wgZW5zdXJlU2VsZWN0ZWRUZXh0VmlzaWJsZShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYs
IGJvb2wgc2Nyb2xsSWZOZWVkZWQpOwogICAgIGJvb2wgZXhwYW5kU2VsZWN0aW9uVG9HcmFudWxh
cml0eShXZWJDb3JlOjpGcmFtZSosIFdlYkNvcmU6OlZpc2libGVTZWxlY3Rpb24sIFdlYkNvcmU6
OlRleHRHcmFudWxhcml0eSwgYm9vbCBpc0lucHV0TW9kZSk7CiAKQEAgLTExMCwxMSArMTEyLDEy
IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2xhc3RVcGRhdGVkRW5kUG9pbnRJc1ZhbGlkOwogICAg
IGJvb2wgbV9kaWRTdXBwcmVzc0NhcmV0UG9zaXRpb25DaGFuZ2VkTm90aWZpY2F0aW9uOwogICAg
IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpJbnRSZWN0UmVnaW9uIG1fbGFzdFNlbGVjdGlvblJlZ2lv
bjsKLSAgICBXZWJDb3JlOjpWaXNpYmxlUG9zaXRpb24gbV9vdmVybGF5U3RhcnRQb3M7Ci0gICAg
V2ViQ29yZTo6VmlzaWJsZVBvc2l0aW9uIG1fb3ZlcmxheUVuZFBvczsKLSAgICBCbGFja0JlcnJ5
OjpQbGF0Zm9ybTo6SW50UmVjdFJlZ2lvbiBtX2N1cnJlbnRPdmVybGF5UmVnaW9uOwotICAgIEJs
YWNrQmVycnk6OlBsYXRmb3JtOjpJbnRSZWN0UmVnaW9uIG1fbmV4dE92ZXJsYXlSZWdpb247Cisg
ICAgV2ViQ29yZTo6VmlzaWJsZVBvc2l0aW9uIG1fYW5pbWF0aW9uT3ZlcmxheVN0YXJ0UG9zOwor
ICAgIFdlYkNvcmU6OlZpc2libGVQb3NpdGlvbiBtX2FuaW1hdGlvbk92ZXJsYXlFbmRQb3M7Cisg
ICAgQmxhY2tCZXJyeTo6UGxhdGZvcm06OkludFJlY3RSZWdpb24gbV9jdXJyZW50QW5pbWF0aW9u
T3ZlcmxheVJlZ2lvbjsKKyAgICBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6SW50UmVjdFJlZ2lvbiBt
X25leHRBbmltYXRpb25PdmVybGF5UmVnaW9uOwogICAgIGludCBtX292ZXJsYXlFeHBhbnNpb25I
ZWlnaHQ7CisgICAgV2ViQ29yZTo6Q29sb3IgbV9hbmltYXRpb25IaWdobGlnaHRDb2xvcjsKIAog
ICAgIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpTdG9wV2F0Y2ggbV90aW1lcjsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvVG91Y2hFdmVudEhhbmRs
ZXIuY3BwIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvVG91Y2hFdmVu
dEhhbmRsZXIuY3BwCmluZGV4IDQ5MmFhODkuLmUyNmEyZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L1RvdWNoRXZlbnRIYW5kbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9Ub3VjaEV2ZW50SGFuZGxl
ci5jcHAKQEAgLTEzNiw2ICsxMzYsNyBAQCB2b2lkIFRvdWNoRXZlbnRIYW5kbGVyOjpoYW5kbGVU
b3VjaFBvaW50KGNvbnN0IFBsYXRmb3JtOjpUb3VjaFBvaW50JiBwb2ludCwgdW5zaQogICAgICAg
ICAgICAgICAgIG1fd2ViUGFnZS0+bV9pbnB1dEhhbmRsZXItPm5vdGlmeUNsaWVudE9mS2V5Ym9h
cmRWaXNpYmlsaXR5Q2hhbmdlKHRydWUpOwogCiAgICAgICAgICAgICBtX3dlYlBhZ2UtPm1fdGFw
SGlnaGxpZ2h0LT5oaWRlKCk7CisgICAgICAgICAgICBtX3dlYlBhZ2UtPm1fc2VsZWN0aW9uSGln
aGxpZ2h0LT5oaWRlKCk7CiAKICAgICAgICAgICAgIEludFBvaW50IGFkanVzdGVkUG9pbnQgPSBt
X3dlYlBhZ2UtPm1hcEZyb21Db250ZW50c1RvVmlld3BvcnQobV9sYXN0RmF0RmluZ2Vyc1Jlc3Vs
dC5hZGp1c3RlZFBvc2l0aW9uKCkpOwogICAgICAgICAgICAgUGxhdGZvcm1Nb3VzZUV2ZW50IG1v
dXNlRXZlbnQoYWRqdXN0ZWRQb2ludCwgbV9sYXN0U2NyZWVuUG9pbnQsIFBsYXRmb3JtRXZlbnQ6
Ok1vdXNlUmVsZWFzZWQsIDEsIExlZnRCdXR0b24sIHNoaWZ0QWN0aXZlLCBjdHJsQWN0aXZlLCBh
bHRBY3RpdmUsIFRvdWNoU2NyZWVuKTsKLS0gCjEuNy45LjUKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>