<?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>146329</bug_id>
          
          <creation_ts>2015-06-25 16:02:53 -0700</creation_ts>
          <short_desc>[iOS WK2] Swiping back just after scrolling can cause some tiles to disappear</short_desc>
          <delta_ts>2015-06-25 17:31:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>berto</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gustavo</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>mrobinson</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1104762</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-06-25 16:02:53 -0700</bug_when>
    <thetext>[iOS WK2] Swiping back just after scrolling can cause some tiles to disappear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1104781</commentid>
    <comment_count>1</comment_count>
      <attachid>255592</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-06-25 16:28:37 -0700</bug_when>
    <thetext>Created attachment 255592
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1104782</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-06-25 16:29:19 -0700</bug_when>
    <thetext>rdar://problem/21233010</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1104791</commentid>
    <comment_count>3</comment_count>
      <attachid>255592</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-06-25 16:41:18 -0700</bug_when>
    <thetext>Comment on attachment 255592
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=255592&amp;action=review

&gt; Source/WebKit2/UIProcess/ios/PageClientImplIOS.mm:706
&gt; +void PageClientImpl::beginNavigationGestureInteraction()

Slightly sad that navigationGestureDidBegin/didEnd aren&apos;t sufficient, but they&apos;re called on the other view I guess? All they do is notify the client, so it seems like you could piggyback on those (and send them to both WebPageProxies, if they&apos;re different).

Either way is fine with me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1104801</commentid>
    <comment_count>4</comment_count>
      <attachid>255599</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-06-25 17:03:57 -0700</bug_when>
    <thetext>Created attachment 255599
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1104804</commentid>
    <comment_count>5</comment_count>
      <attachid>255601</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-06-25 17:16:01 -0700</bug_when>
    <thetext>Created attachment 255601
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1104805</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-25 17:17:41 -0700</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>1104806</commentid>
    <comment_count>7</comment_count>
      <attachid>255602</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-06-25 17:24:33 -0700</bug_when>
    <thetext>Created attachment 255602
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1104807</commentid>
    <comment_count>8</comment_count>
      <attachid>255602</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-06-25 17:31:07 -0700</bug_when>
    <thetext>Comment on attachment 255602
Patch

Tim reviewed this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1104808</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-06-25 17:31:16 -0700</bug_when>
    <thetext>https://trac.webkit.org/r185972</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255592</attachid>
            <date>2015-06-25 16:28:37 -0700</date>
            <delta_ts>2015-06-25 17:03:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146329-20150625162751.patch</filename>
            <type>text/plain</type>
            <size>15426</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1OTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTUwZGIzODBjZGJjOTg1
Yjk0ZTY4ZjZjMzViZDJhNzFhYTQzMjI1OS4uYjNhNWFlMjk5ZTU2ZTJjYzk1ZTBkNzM5OTRhNGJj
ZjY5MGMxYTk1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE1LTA2LTI1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1MgV0syXSBT
d2lwaW5nIGJhY2sganVzdCBhZnRlciBzY3JvbGxpbmcgY2FuIGNhdXNlIHNvbWUgdGlsZXMgdG8g
ZGlzYXBwZWFyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNDYzMjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBIYXZlIHRoZSBDb21wb3NpdGluZyBsb2cgY2hhbm5lbCBkdW1wIHRoZSB2aXNpYmxlIHJlY3Qg
dXNlZCBmb3IgbGF5ZXIgZmx1c2hpbmcuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5
ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRv
cjo6Zmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKToKKwogMjAxNS0wNi0yNCAgRGFuaWVsIEJhdGVz
ICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgQ29udGVudCBTZWN1cml0eSBQb2xpY3kg
ZXJyb3IgbWVzc2FnZSB3aGVuIGZyYW1lIGxvYWQgaXMgYmxvY2tlZCBkb2VzIG5vdCByZWFkIHdl
bGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwppbmRleCBlMjE4OTIxMjdiMGZiMzNkMjFjYjAyMzRhYzBkZmI2Mzk4NzZlN2Mx
Li4xZTJjMmQ4NTk0ZWFhNGZhNzY0YjQzMTE1ODkxNmExZTYwODIwNjI0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsNDEgQEAKKzIwMTUtMDYtMjUgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBh
cHBsZS5jb20+CisKKyAgICAgICAgW2lPUyBXSzJdIFN3aXBpbmcgYmFjayBqdXN0IGFmdGVyIHNj
cm9sbGluZyBjYW4gY2F1c2Ugc29tZSB0aWxlcyB0byBkaXNhcHBlYXIKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjMyOQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgV2hlbiBkb2luZyBhIGJh
Y2sgc3dpcGUsIHZpZXdzIGludGVycG9zZWQgYmV0d2VlbiB0aGUgV0tXZWJWaWV3IGFuZCB0aGUg
V0tDb250ZW50VmlldworICAgICAgICBnZXQgcG9zaXRpb25zIGFuZCBhbmltYXRpb25zIGZvciB0
aGUgc3dpcGUuIFRoaXMgLV91cGRhdGVWaXNpYmxlQ29udGVudFJlY3RzIHRvCisgICAgICAgIGNv
bXB1dGUgYmFkIHZpc2libGUgYW5kIHVub2JzY3VyZWQgcmVjdHMsIHNvIHdlIGxvc2UgdGlsZXMu
CisgICAgICAgIAorICAgICAgICBGaXggYnkgImZyZWV6aW5nIiB0aGUgdmlzaWJsZSBhbmQgdW5v
YnNjdXJlZCBjb250ZW50IHJlY3RzIGluIHRoZSB2aWV3IGJlaW5nCisgICAgICAgIHN3aXBlZCBm
b3IgdGhlIGR1cmF0aW9uIG9mIHRoZSBuYXZpZ2F0aW9uIGdlc3R1cmUsIHdoaWNoIHJlcXVpcmVz
IHBsdW1iaW5nCisgICAgICAgIGJlZ2luTmF2aWdhdGlvbkdlc3R1cmVJbnRlcmFjdGlvbi9lbmRO
YXZpZ2F0aW9uR2VzdHVyZUludGVyYWN0aW9uIHRocm91Z2gKKyAgICAgICAgV2ViUGFnZVByb3h5
LCBQYWdlQ2xpZW50IHRvIHRoZSBXS1ZpZXcuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF91cGRhdGVWaXNpYmxlQ29u
dGVudFJlY3RzXSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfYmVnaW5OYXZpZ2F0aW9uR2VzdHVy
ZUludGVyYWN0aW9uXSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfZW5kTmF2aWdhdGlvbkdlc3R1
cmVJbnRlcmFjdGlvbl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
SW50ZXJuYWwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OmJlZ2luTmF2aWdhdGlvbkdlc3R1cmVJbnRlcmFjdGlvbik6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6ZW5kTmF2aWdhdGlvbkdlc3R1cmVJbnRlcmFjdGlvbik6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFn
ZUNsaWVudEltcGxJT1MuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBs
SU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6YmVnaW5OYXZpZ2F0aW9u
R2VzdHVyZUludGVyYWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OmVu
ZE5hdmlnYXRpb25HZXN0dXJlSW50ZXJhY3Rpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3Mv
Vmlld0dlc3R1cmVDb250cm9sbGVySU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpWaWV3R2VzdHVy
ZUNvbnRyb2xsZXI6OmJlZ2luU3dpcGVHZXN0dXJlKToKKyAgICAgICAgKFdlYktpdDo6Vmlld0dl
c3R1cmVDb250cm9sbGVyOjplbmRTd2lwZUdlc3R1cmUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9t
YWMvUGFnZUNsaWVudEltcGwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJ
bXBsLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6YmVnaW5OYXZpZ2F0aW9u
R2VzdHVyZUludGVyYWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OmVu
ZE5hdmlnYXRpb25HZXN0dXJlSW50ZXJhY3Rpb24pOgorCiAyMDE1LTA2LTI0ICBSeXVhbiBDaG9p
ICA8cnl1YW4uY2hvaUBuYXZlcmNvcnAuY29tPgogCiAgICAgICAgIFJlbW92ZSBzb21lIGRlYWQg
Y29kZSBmcm9tIERvd25sb2FkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IDAyOTVkZDBhM2UzNjYyMjIxNzJmNzM1NjA2YzY1
YWNkNzBiYjJlNWIuLjg0ZWE0M2JhMmE3OGNjN2FiNmFjM2I0NmVlMDQwNWRjYmQyYzYwNzIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3Iu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3Iu
Y3BwCkBAIC00NjcsMTIgKzQ2NywxOCBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6Zmx1
c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKGJvb2wgaXNGbHVzaFJvb3QpCiAKICAgICBpZiAoR3JhcGhp
Y3NMYXllciogcm9vdExheWVyID0gcm9vdEdyYXBoaWNzTGF5ZXIoKSkgewogI2lmIFBMQVRGT1JN
KElPUykKLSAgICAgICAgcm9vdExheWVyLT5mbHVzaENvbXBvc2l0aW5nU3RhdGUoZnJhbWVWaWV3
LmV4cG9zZWRDb250ZW50UmVjdCgpKTsKKyAgICAgICAgRmxvYXRSZWN0IGV4cG9zZWRSZWN0ID0g
ZnJhbWVWaWV3LmV4cG9zZWRDb250ZW50UmVjdCgpOworICAgICAgICBMT0coQ29tcG9zaXRpbmcs
ICJSZW5kZXJMYXllckNvbXBvc2l0b3IgJXAgZmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKCVkKSAl
LjJmLCAlLjJmLCAlLjJmeCUuMmYiLCB0aGlzLCBpc0ZsdXNoUm9vdCwKKyAgICAgICAgICAgIGV4
cG9zZWRSZWN0LngoKSwgZXhwb3NlZFJlY3QueSgpLCBleHBvc2VkUmVjdC53aWR0aCgpLCBleHBv
c2VkUmVjdC5oZWlnaHQoKSk7CisgICAgICAgIHJvb3RMYXllci0+Zmx1c2hDb21wb3NpdGluZ1N0
YXRlKGV4cG9zZWRSZWN0KTsKICNlbHNlCiAgICAgICAgIC8vIEhhdmluZyBhIG1fY2xpcExheWVy
IGluZGljYXRlcyB0aGF0IHdlJ3JlIGRvaW5nIHNjcm9sbGluZyB2aWEgR3JhcGhpY3NMYXllcnMu
CiAgICAgICAgIEludFJlY3QgdmlzaWJsZVJlY3QgPSBtX2NsaXBMYXllciA/IEludFJlY3QoSW50
UG9pbnQoKSwgZnJhbWVWaWV3LnVuc2NhbGVkVmlzaWJsZUNvbnRlbnRTaXplSW5jbHVkaW5nT2Jz
Y3VyZWRBcmVhKCkpIDogZnJhbWVWaWV3LnZpc2libGVDb250ZW50UmVjdCgpOwogICAgICAgICBp
ZiAoIWZyYW1lVmlldy5leHBvc2VkUmVjdCgpLmlzSW5maW5pdGUoKSkKICAgICAgICAgICAgIHZp
c2libGVSZWN0LmludGVyc2VjdChJbnRSZWN0KGZyYW1lVmlldy5leHBvc2VkUmVjdCgpKSk7CisK
KyAgICAgICAgTE9HKENvbXBvc2l0aW5nLCAiUmVuZGVyTGF5ZXJDb21wb3NpdG9yICVwIGZsdXNo
UGVuZGluZ0xheWVyQ2hhbmdlcyglZCkgJWQsICVkLCAlZHglZCIsIHRoaXMsIGlzRmx1c2hSb290
LAorICAgICAgICAgICAgdmlzaWJsZVJlY3QueCgpLCB2aXNpYmxlUmVjdC55KCksIHZpc2libGVS
ZWN0LndpZHRoKCksIHZpc2libGVSZWN0LmhlaWdodCgpKTsKICAgICAgICAgcm9vdExheWVyLT5m
bHVzaENvbXBvc2l0aW5nU3RhdGUodmlzaWJsZVJlY3QpOwogI2VuZGlmCiAgICAgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCAzZTE2
ZTBjZGU1ZGEwMzQzMDhiOTc3ZGQ2ZDFlMzIyMWU5N2RhNTRlLi41YTZjZmZlODJjMDM4NGVhNDdh
MjhmZjA5ZDczMjYyNTA5OWE3OWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAtODMsNiArODMsNyBAQAogI2ltcG9ydCA8d3RmL0hh
c2hNYXAuaD4KICNpbXBvcnQgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW1wb3J0IDx3dGYvTmV2ZXJE
ZXN0cm95ZWQuaD4KKyNpbXBvcnQgPHd0Zi9PcHRpb25hbC5oPgogI2ltcG9ydCA8d3RmL1JldGFp
blB0ci5oPgogCiAjaWYgUExBVEZPUk0oSU9TKQpAQCAtMTg5LDYgKzE5MCw4IEBAIEBpbXBsZW1l
bnRhdGlvbiBXS1dlYlZpZXcgewogICAgIHVpbnQ2NF90IF9yZXNpemVBbmltYXRpb25UcmFuc2Zv
cm1UcmFuc2FjdGlvbklEOwogICAgIFJldGFpblB0cjxVSVZpZXc+IF9yZXNpemVBbmltYXRpb25W
aWV3OwogICAgIENHRmxvYXQgX2xhc3RBZGp1c3RtZW50Rm9yU2Nyb2xsZXI7CisgICAgT3B0aW9u
YWw8Q0dSZWN0PiBfZnJvemVuVmlzaWJsZUNvbnRlbnRSZWN0OworICAgIE9wdGlvbmFsPENHUmVj
dD4gX2Zyb3plblVub2JzY3VyZWRDb250ZW50UmVjdDsKIAogICAgIEJPT0wgX25lZWRzVG9SZXN0
b3JlRXhwb3NlZFJlY3Q7CiAgICAgV2ViQ29yZTo6RmxvYXRSZWN0IF9leHBvc2VkUmVjdFRvUmVz
dG9yZTsKQEAgLTE1NTcsMTAgKzE1NjAsMTAgQEAgLSAodm9pZClfdXBkYXRlVmlzaWJsZUNvbnRl
bnRSZWN0cwogICAgICAgICByZXR1cm47CiAKICAgICBDR1JlY3QgZnVsbFZpZXdSZWN0ID0gc2Vs
Zi5ib3VuZHM7Ci0gICAgQ0dSZWN0IHZpc2libGVSZWN0SW5Db250ZW50Q29vcmRpbmF0ZXMgPSBb
c2VsZiBjb252ZXJ0UmVjdDpmdWxsVmlld1JlY3QgdG9WaWV3Ol9jb250ZW50Vmlldy5nZXQoKV07
CisgICAgQ0dSZWN0IHZpc2libGVSZWN0SW5Db250ZW50Q29vcmRpbmF0ZXMgPSBfZnJvemVuVmlz
aWJsZUNvbnRlbnRSZWN0ID8gX2Zyb3plblZpc2libGVDb250ZW50UmVjdC52YWx1ZSgpIDogW3Nl
bGYgY29udmVydFJlY3Q6ZnVsbFZpZXdSZWN0IHRvVmlldzpfY29udGVudFZpZXcuZ2V0KCldOwog
CiAgICAgQ0dSZWN0IHVub2JzY3VyZWRSZWN0ID0gVUlFZGdlSW5zZXRzSW5zZXRSZWN0KGZ1bGxW
aWV3UmVjdCwgW3NlbGYgX2NvbXB1dGVkQ29udGVudEluc2V0XSk7Ci0gICAgQ0dSZWN0IHVub2Jz
Y3VyZWRSZWN0SW5Db250ZW50Q29vcmRpbmF0ZXMgPSBbc2VsZiBjb252ZXJ0UmVjdDp1bm9ic2N1
cmVkUmVjdCB0b1ZpZXc6X2NvbnRlbnRWaWV3LmdldCgpXTsKKyAgICBDR1JlY3QgdW5vYnNjdXJl
ZFJlY3RJbkNvbnRlbnRDb29yZGluYXRlcyA9IF9mcm96ZW5Vbm9ic2N1cmVkQ29udGVudFJlY3Qg
PyBfZnJvemVuVW5vYnNjdXJlZENvbnRlbnRSZWN0LnZhbHVlKCkgOiBbc2VsZiBjb252ZXJ0UmVj
dDp1bm9ic2N1cmVkUmVjdCB0b1ZpZXc6X2NvbnRlbnRWaWV3LmdldCgpXTsKIAogICAgIENHRmxv
YXQgc2NhbGVGYWN0b3IgPSBjb250ZW50Wm9vbVNjYWxlKHNlbGYpOwogCkBAIC0xNzA4LDcgKzE3
MTEsMjUgQEAgLSAoQk9PTClhbGxvd3NCYWNrRm9yd2FyZE5hdmlnYXRpb25HZXN0dXJlcwogICAg
IHJldHVybiBfYWxsb3dzQmFja0ZvcndhcmROYXZpZ2F0aW9uR2VzdHVyZXM7CiB9CiAKLSNlbmRp
ZgorLSAodm9pZClfYmVnaW5OYXZpZ2F0aW9uR2VzdHVyZUludGVyYWN0aW9uCit7CisgICAgLy8g
RHVyaW5nIGEgYmFjay9mb3J3YXJkIHN3aXBlLCB0aGVyZSdzIGEgdmlldyBpbnRlcnBvc2VkIGJl
dHdlZW4gdGhpcyB2aWV3IGFuZCB0aGUgY29udGVudCB2aWV3IHRoYXQgaGFzCisgICAgLy8gYW4g
b2Zmc2V0IGFuZCBhbmltYXRpb24gb24gaXQsIHdoaWNoIHJlc3VsdHMgaW4gY29tcHV0aW5nIGlu
Y29ycmVjdCByZWN0YW5nbGVzLiBXb3JrIGFyb3VuZCBieSB1c2luZworICAgIC8vIGZyb3plbiBy
ZWN0cyBkdXJpbmcgc3dpcGVzLgorICAgIENHUmVjdCBmdWxsVmlld1JlY3QgPSBzZWxmLmJvdW5k
czsKKyAgICBDR1JlY3QgdW5vYnNjdXJlZFJlY3QgPSBVSUVkZ2VJbnNldHNJbnNldFJlY3QoZnVs
bFZpZXdSZWN0LCBbc2VsZiBfY29tcHV0ZWRDb250ZW50SW5zZXRdKTsKKworICAgIF9mcm96ZW5W
aXNpYmxlQ29udGVudFJlY3QgPSBbc2VsZiBjb252ZXJ0UmVjdDpmdWxsVmlld1JlY3QgdG9WaWV3
Ol9jb250ZW50Vmlldy5nZXQoKV07CisgICAgX2Zyb3plblVub2JzY3VyZWRDb250ZW50UmVjdCA9
IFtzZWxmIGNvbnZlcnRSZWN0OnVub2JzY3VyZWRSZWN0IHRvVmlldzpfY29udGVudFZpZXcuZ2V0
KCldOworfQorCistICh2b2lkKV9lbmROYXZpZ2F0aW9uR2VzdHVyZUludGVyYWN0aW9uCit7Cisg
ICAgX2Zyb3plblZpc2libGVDb250ZW50UmVjdCA9IE51bGxvcHQ7CisgICAgX2Zyb3plblVub2Jz
Y3VyZWRDb250ZW50UmVjdCA9IE51bGxvcHQ7Cit9CisKKyNlbmRpZiAvLyBQTEFURk9STShJT1Mp
CiAKICNwcmFnbWEgbWFyayBPUyBYLXNwZWNpZmljIG1ldGhvZHMKIApAQCAtMTc5OCw3ICsxODE5
LDcgQEAgLSAoQk9PTClwZXJmb3JtRHJhZ09wZXJhdGlvbjooaWQgPE5TRHJhZ2dpbmdJbmZvPilz
ZW5kZXIKIHsKICAgICByZXR1cm4gW193a1ZpZXcgcGVyZm9ybURyYWdPcGVyYXRpb246c2VuZGVy
XTsKIH0KLSNlbmRpZgorI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKIAogQGVuZAogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFs
LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFs
LmgKaW5kZXggZGYzZTdkN2ZhNGE0MjJlMDAwNjNlNDhmZmE4ZTQ4MTlkZDIwZGYzOS4uODIyODc3
ZjI3ZGFmNGY1MTY3NjAyZDk4YmQ2OTMyM2UxNWRiNTQxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaApAQCAtMTAz
LDYgKzEwMyw5IEBAIHN0cnVjdCBQcmludEluZm87CiAKIC0gKHZvaWQpX3VwZGF0ZVNjcm9sbFZp
ZXdCYWNrZ3JvdW5kOwogCistICh2b2lkKV9iZWdpbk5hdmlnYXRpb25HZXN0dXJlSW50ZXJhY3Rp
b247CistICh2b2lkKV9lbmROYXZpZ2F0aW9uR2VzdHVyZUludGVyYWN0aW9uOworCiBAcHJvcGVy
dHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIFVJRWRnZUluc2V0cyBfY29tcHV0ZWRDb250ZW50SW5z
ZXQ7CiAjZWxzZQogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0SWdub3Jlc05vbldo
ZWVsRXZlbnRzOikgQk9PTCBfaWdub3Jlc05vbldoZWVsRXZlbnRzOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9QYWdlQ2xpZW50LmgKaW5kZXggZGUyNGQzMDBiZTE3MTFjYmYzOTdiZWIxNGFmYTkyMDZh
NjA4OGY3My4uNWVkMWQ0OWU2NTM4MWNiNjk2ZTcxZWUwNDJjMmVlZGI3NDQ4YTdkYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC0zMDksNiArMzA5LDkgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCBuYXZpZ2F0aW9uR2VzdHVyZURpZEVuZChib29sIHdpbGxOYXZp
Z2F0ZSwgV2ViQmFja0ZvcndhcmRMaXN0SXRlbSYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgd2ls
bFJlY29yZE5hdmlnYXRpb25TbmFwc2hvdChXZWJCYWNrRm9yd2FyZExpc3RJdGVtJikgPSAwOwog
CisgICAgdmlydHVhbCB2b2lkIGJlZ2luTmF2aWdhdGlvbkdlc3R1cmVJbnRlcmFjdGlvbigpID0g
MDsKKyAgICB2aXJ0dWFsIHZvaWQgZW5kTmF2aWdhdGlvbkdlc3R1cmVJbnRlcmFjdGlvbigpID0g
MDsKKwogICAgIHZpcnR1YWwgdm9pZCBkaWRGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRGb3JN
YWluRnJhbWUoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaExvYWRGb3JNYWluRnJh
bWUoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb25Gb3JN
YWluRnJhbWUoU2FtZURvY3VtZW50TmF2aWdhdGlvblR5cGUpID0gMDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggYTU1MGUzNTcwY2RlN2VjMDBlNWVmMjhm
Yzc5MTIzNWM5NDExNDFkYS4uYjhmOGZjYWZkNDFmZjI0MGE1ZTVjOTlmOTNkYjBlMmU3MGUwYjUw
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTU3NTYs
NiArNTc1NiwxNiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6bmF2aWdhdGlvbkdlc3R1cmVTbmFwc2hv
dFdhc1JlbW92ZWQoKQogICAgIG1faXNTaG93aW5nTmF2aWdhdGlvbkdlc3R1cmVTbmFwc2hvdCA9
IGZhbHNlOwogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6YmVnaW5OYXZpZ2F0aW9uR2VzdHVyZUlu
dGVyYWN0aW9uKCkKK3sKKyAgICBtX3BhZ2VDbGllbnQuYmVnaW5OYXZpZ2F0aW9uR2VzdHVyZUlu
dGVyYWN0aW9uKCk7Cit9CisKK3ZvaWQgV2ViUGFnZVByb3h5OjplbmROYXZpZ2F0aW9uR2VzdHVy
ZUludGVyYWN0aW9uKCkKK3sKKyAgICBtX3BhZ2VDbGllbnQuZW5kTmF2aWdhdGlvbkdlc3R1cmVJ
bnRlcmFjdGlvbigpOworfQorCiB2b2lkIFdlYlBhZ2VQcm94eTo6aXNQbGF5aW5nTWVkaWFEaWRD
aGFuZ2UoTWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzIHN0YXRlKQogewogICAgIGlmIChz
dGF0ZSA9PSBtX21lZGlhU3RhdGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmgKaW5kZXggOGU5NDE4Mzk0YmUyOWY3ZmYzZjVlZDJlZTQ3OTljYmI0NjYxZjMyNi4uNGI4MDlk
Yzc4ZjkyYzU2NmRhZDg5ZDY3ZTU5ZjFmMzBlYmUxNDQ4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTAxMCw2ICsxMDEwLDkgQEAgcHVibGljOgogCiAgICAg
Ym9vbCBpc1Nob3dpbmdOYXZpZ2F0aW9uR2VzdHVyZVNuYXBzaG90KCkgY29uc3QgeyByZXR1cm4g
bV9pc1Nob3dpbmdOYXZpZ2F0aW9uR2VzdHVyZVNuYXBzaG90OyB9CiAKKyAgICB2b2lkIGJlZ2lu
TmF2aWdhdGlvbkdlc3R1cmVJbnRlcmFjdGlvbigpOworICAgIHZvaWQgZW5kTmF2aWdhdGlvbkdl
c3R1cmVJbnRlcmFjdGlvbigpOworCiAgICAgYm9vbCBpc1BsYXlpbmdBdWRpbygpIGNvbnN0IHsg
cmV0dXJuICEhKG1fbWVkaWFTdGF0ZSAmIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6OklzUGxheWlu
Z0F1ZGlvKTsgfQogICAgIHZvaWQgaXNQbGF5aW5nTWVkaWFEaWRDaGFuZ2UoV2ViQ29yZTo6TWVk
aWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCmluZGV4IGEwYTQ0OGRmYTgwMWFjYTIyMjk1
ODBhNTc4YTMxYTIwZGMzMzkzOTAuLjZlZjNmN2NjMjNiNDc4MDM5NzcyY2FjODIwNzJmZDBiODRl
MjdmZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVu
dEltcGxJT1MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJ
bXBsSU9TLmgKQEAgLTE3Nyw2ICsxNzcsOSBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBu
YXZpZ2F0aW9uR2VzdHVyZURpZEVuZChib29sIHdpbGxOYXZpZ2F0ZSwgV2ViQmFja0ZvcndhcmRM
aXN0SXRlbSYpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCB3aWxsUmVjb3JkTmF2aWdhdGlv
blNuYXBzaG90KFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0mKSBvdmVycmlkZTsKIAorICAgIHZpcnR1
YWwgdm9pZCBiZWdpbk5hdmlnYXRpb25HZXN0dXJlSW50ZXJhY3Rpb24oKSBvdmVycmlkZTsKKyAg
ICB2aXJ0dWFsIHZvaWQgZW5kTmF2aWdhdGlvbkdlc3R1cmVJbnRlcmFjdGlvbigpIG92ZXJyaWRl
OworCiAgICAgdmlydHVhbCB2b2lkIGRpZEZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZvck1h
aW5GcmFtZSgpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkRm9yTWFp
bkZyYW1lKCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGRpZFNhbWVEb2N1bWVudE5hdmln
YXRpb25Gb3JNYWluRnJhbWUoU2FtZURvY3VtZW50TmF2aWdhdGlvblR5cGUpIG92ZXJyaWRlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElP
Uy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0K
aW5kZXggY2E3MmE3NzE0YzQyZjU1YTY2MGJjNjNiNTNmZGExNDQxMDEzMTAxYi4uMGIwOTNiNmEx
YTkxYjQ2Njk4NjY0YTNhMGI5ODFkMzRkYjQwNzlmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCkBAIC03MDMsNiArNzAzLDE2IEBA
IHZvaWQgUGFnZUNsaWVudEltcGw6OndpbGxSZWNvcmROYXZpZ2F0aW9uU25hcHNob3QoV2ViQmFj
a0ZvcndhcmRMaXN0SXRlbSYgaXRlbSkKICAgICBOYXZpZ2F0aW9uU3RhdGU6OmZyb21XZWJQYWdl
KCptX3dlYlZpZXctPl9wYWdlKS53aWxsUmVjb3JkTmF2aWdhdGlvblNuYXBzaG90KGl0ZW0pOwog
fQogCit2b2lkIFBhZ2VDbGllbnRJbXBsOjpiZWdpbk5hdmlnYXRpb25HZXN0dXJlSW50ZXJhY3Rp
b24oKQoreworICAgIFttX3dlYlZpZXcgX2JlZ2luTmF2aWdhdGlvbkdlc3R1cmVJbnRlcmFjdGlv
bl07Cit9CisKK3ZvaWQgUGFnZUNsaWVudEltcGw6OmVuZE5hdmlnYXRpb25HZXN0dXJlSW50ZXJh
Y3Rpb24oKQoreworICAgIFttX3dlYlZpZXcgX2VuZE5hdmlnYXRpb25HZXN0dXJlSW50ZXJhY3Rp
b25dOworfQorCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRGaXJzdFZpc3VhbGx5Tm9uRW1wdHlM
YXlvdXRGb3JNYWluRnJhbWUoKQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2lvcy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJJT1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvaW9zL1ZpZXdHZXN0dXJlQ29udHJvbGxlcklPUy5tbQppbmRleCAxYTRiMzEwZTRj
YzE0NzY0NWM3ZTEzOWJmY2ZiNmU4NWU2MDk0YzAxLi5lMzc1OGUyZDcyM2U1NTE2MjI5NmU4ZTlk
ZDYyMGMxMTJiNTFiZjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9z
L1ZpZXdHZXN0dXJlQ29udHJvbGxlcklPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvaW9zL1ZpZXdHZXN0dXJlQ29udHJvbGxlcklPUy5tbQpAQCAtMTg0LDYgKzE4NCw3IEBAIHZv
aWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjpiZWdpblN3aXBlR2VzdHVyZShfVUlOYXZpZ2F0aW9u
SW50ZXJhY3RpdmVUcmFuc2l0aW9uCiAKICAgICBtX3dlYlBhZ2VQcm94eUZvckJhY2tGb3J3YXJk
TGlzdEZvckN1cnJlbnRTd2lwZSA9IG1fYWx0ZXJuYXRlQmFja0ZvcndhcmRMaXN0U291cmNlVmll
dy5nZXQoKSA/IG1fYWx0ZXJuYXRlQmFja0ZvcndhcmRMaXN0U291cmNlVmlldy5nZXQoKS0+X3Bh
Z2UgOiAmbV93ZWJQYWdlUHJveHk7CiAgICAgbV93ZWJQYWdlUHJveHlGb3JCYWNrRm9yd2FyZExp
c3RGb3JDdXJyZW50U3dpcGUtPm5hdmlnYXRpb25HZXN0dXJlRGlkQmVnaW4oKTsKKyAgICBtX3dl
YlBhZ2VQcm94eS5iZWdpbk5hdmlnYXRpb25HZXN0dXJlSW50ZXJhY3Rpb24oKTsKIAogICAgIGF1
dG8mIGJhY2tGb3J3YXJkTGlzdCA9IG1fd2ViUGFnZVByb3h5Rm9yQmFja0ZvcndhcmRMaXN0Rm9y
Q3VycmVudFN3aXBlLT5iYWNrRm9yd2FyZExpc3QoKTsKIApAQCAtMjg1LDYgKzI4Niw3IEBAIHZv
aWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjplbmRTd2lwZUdlc3R1cmUoV2ViQmFja0ZvcndhcmRM
aXN0SXRlbSogdGFyZ2V0SXRlbSwKICAgICAgICAgUmVmUHRyPFdlYlBhZ2VQcm94eT4gd2ViUGFn
ZVByb3h5Rm9yQmFja0ZvcndhcmRMaXN0Rm9yQ3VycmVudFN3aXBlID0gbV93ZWJQYWdlUHJveHlG
b3JCYWNrRm9yd2FyZExpc3RGb3JDdXJyZW50U3dpcGU7CiAgICAgICAgIHJlbW92ZVN3aXBlU25h
cHNob3QoKTsKICAgICAgICAgd2ViUGFnZVByb3h5Rm9yQmFja0ZvcndhcmRMaXN0Rm9yQ3VycmVu
dFN3aXBlLT5uYXZpZ2F0aW9uR2VzdHVyZURpZEVuZChmYWxzZSwgKnRhcmdldEl0ZW0pOworICAg
ICAgICBtX3dlYlBhZ2VQcm94eS5lbmROYXZpZ2F0aW9uR2VzdHVyZUludGVyYWN0aW9uKCk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTI5Myw2ICsyOTUsOCBAQCB2b2lkIFZpZXdHZXN0
dXJlQ29udHJvbGxlcjo6ZW5kU3dpcGVHZXN0dXJlKFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0qIHRh
cmdldEl0ZW0sCiAgICAgICAgIG1fc25hcHNob3RSZW1vdmFsVGFyZ2V0UmVuZGVyVHJlZVNpemUg
PSBzbmFwc2hvdC0+cmVuZGVyVHJlZVNpemUoKSAqIHN3aXBlU25hcHNob3RSZW1vdmFsUmVuZGVy
VHJlZVNpemVUYXJnZXRGcmFjdGlvbjsKIAogICAgIG1fd2ViUGFnZVByb3h5Rm9yQmFja0Zvcndh
cmRMaXN0Rm9yQ3VycmVudFN3aXBlLT5uYXZpZ2F0aW9uR2VzdHVyZURpZEVuZCh0cnVlLCAqdGFy
Z2V0SXRlbSk7CisgICAgbV93ZWJQYWdlUHJveHkuZW5kTmF2aWdhdGlvbkdlc3R1cmVJbnRlcmFj
dGlvbigpOworCiAgICAgbV93ZWJQYWdlUHJveHlGb3JCYWNrRm9yd2FyZExpc3RGb3JDdXJyZW50
U3dpcGUtPmdvVG9CYWNrRm9yd2FyZEl0ZW0odGFyZ2V0SXRlbSk7CiAKICAgICBpZiAoYXV0byBk
cmF3aW5nQXJlYSA9IG1fd2ViUGFnZVByb3h5LmRyYXdpbmdBcmVhKCkpIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwuaAppbmRleCBhYzY3NDk2YmRjNmE0
MTAwNWUyZmNhYzQ2MWM2YWM5OTljODkzMDc2Li40MDQwYmQ2NmQxMDhlYmZhNGQzNTY3YWNhYmRm
YThlOTJjNjYwMDk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1Bh
Z2VDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xp
ZW50SW1wbC5oCkBAIC0xODgsNiArMTg4LDkgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQg
bmF2aWdhdGlvbkdlc3R1cmVEaWRFbmQoYm9vbCB3aWxsTmF2aWdhdGUsIFdlYkJhY2tGb3J3YXJk
TGlzdEl0ZW0mKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgd2lsbFJlY29yZE5hdmlnYXRp
b25TbmFwc2hvdChXZWJCYWNrRm9yd2FyZExpc3RJdGVtJikgb3ZlcnJpZGU7CiAKKyAgICB2aXJ0
dWFsIHZvaWQgYmVnaW5OYXZpZ2F0aW9uR2VzdHVyZUludGVyYWN0aW9uKCkgb3ZlcnJpZGU7Cisg
ICAgdmlydHVhbCB2b2lkIGVuZE5hdmlnYXRpb25HZXN0dXJlSW50ZXJhY3Rpb24oKSBvdmVycmlk
ZTsKKwogICAgIE5TVmlldyAqYWN0aXZlVmlldygpIGNvbnN0OwogICAgIE5TV2luZG93ICphY3Rp
dmVXaW5kb3coKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L21hYy9QYWdlQ2xpZW50SW1wbC5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFn
ZUNsaWVudEltcGwubW0KaW5kZXggYTQ0OGQ5ZTkzOTlhNTcwMmY4MDQwYWE5MjMzNTI3Y2M2YTIw
NTdkNy4uZmIwZDk0OGU2OWE2ZDdjZjE2ZTE2ZTMwZTdjNjY2YTM4N2I5MDU4NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbQorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCkBAIC03NDMsNiAr
NzQzLDE0IEBAIHZvaWQgUGFnZUNsaWVudEltcGw6Om5hdmlnYXRpb25HZXN0dXJlRGlkQmVnaW4o
KQogI2VuZGlmCiB9CiAKK3ZvaWQgUGFnZUNsaWVudEltcGw6OmJlZ2luTmF2aWdhdGlvbkdlc3R1
cmVJbnRlcmFjdGlvbigpCit7Cit9CisKK3ZvaWQgUGFnZUNsaWVudEltcGw6OmVuZE5hdmlnYXRp
b25HZXN0dXJlSW50ZXJhY3Rpb24oKQoreworfQorCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpuYXZp
Z2F0aW9uR2VzdHVyZVdpbGxFbmQoYm9vbCB3aWxsTmF2aWdhdGUsIFdlYkJhY2tGb3J3YXJkTGlz
dEl0ZW0mIGl0ZW0pCiB7CiAjaWYgV0tfQVBJX0VOQUJMRUQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255599</attachid>
            <date>2015-06-25 17:03:57 -0700</date>
            <delta_ts>2015-06-25 17:15:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146329-20150625170311.patch</filename>
            <type>text/plain</type>
            <size>15644</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1OTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTUwZGIzODBjZGJjOTg1
Yjk0ZTY4ZjZjMzViZDJhNzFhYTQzMjI1OS4uYjhlMGZiMzA2YThkMzI2NDY2MTcyMDM4ZGVlMDQ0
NWZhNmQ4NjYxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE1LTA2LTI1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1MgV0syXSBT
d2lwaW5nIGJhY2sganVzdCBhZnRlciBzY3JvbGxpbmcgY2FuIGNhdXNlIHNvbWUgdGlsZXMgdG8g
ZGlzYXBwZWFyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNDYzMjkKKyAgICAgICAgcmRhcjovL3Byb2JsZW0vMjEyMzMwMTAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBIYXZlIHRoZSBDb21wb3NpdGluZyBs
b2cgY2hhbm5lbCBkdW1wIHRoZSB2aXNpYmxlIHJlY3QgdXNlZCBmb3IgbGF5ZXIgZmx1c2hpbmcu
CisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6Zmx1c2hQZW5kaW5nTGF5ZXJDaGFu
Z2VzKToKKwogMjAxNS0wNi0yNCAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAK
ICAgICAgICAgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZXJyb3IgbWVzc2FnZSB3aGVuIGZyYW1l
IGxvYWQgaXMgYmxvY2tlZCBkb2VzIG5vdCByZWFkIHdlbGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBlMjE4OTIx
MjdiMGZiMzNkMjFjYjAyMzRhYzBkZmI2Mzk4NzZlN2MxLi4yMDgzZGJjMWRjNDMxNmQ1YjE3N2Rm
MWNiNDgzMzg4OThjZmVlNDU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTUtMDYt
MjUgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgW2lP
UyBXSzJdIFN3aXBpbmcgYmFjayBqdXN0IGFmdGVyIHNjcm9sbGluZyBjYW4gY2F1c2Ugc29tZSB0
aWxlcyB0byBkaXNhcHBlYXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0NjMyOQorICAgICAgICByZGFyOi8vcHJvYmxlbS8yMTIzMzAxMAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgV2hlbiBk
b2luZyBhIGJhY2sgc3dpcGUsIHZpZXdzIGludGVycG9zZWQgYmV0d2VlbiB0aGUgV0tXZWJWaWV3
IGFuZCB0aGUgV0tDb250ZW50VmlldworICAgICAgICBnZXQgcG9zaXRpb25zIGFuZCBhbmltYXRp
b25zIGZvciB0aGUgc3dpcGUuIFRoaXMgLV91cGRhdGVWaXNpYmxlQ29udGVudFJlY3RzIHRvCisg
ICAgICAgIGNvbXB1dGUgYmFkIHZpc2libGUgYW5kIHVub2JzY3VyZWQgcmVjdHMsIHNvIHdlIGxv
c2UgdGlsZXMuCisgICAgICAgIAorICAgICAgICBGaXggYnkgImZyZWV6aW5nIiB0aGUgdmlzaWJs
ZSBhbmQgdW5vYnNjdXJlZCBjb250ZW50IHJlY3RzIGluIHRoZSB2aWV3IGJlaW5nCisgICAgICAg
IHN3aXBlZCBmb3IgdGhlIGR1cmF0aW9uIG9mIHRoZSBuYXZpZ2F0aW9uIGdlc3R1cmUuIFdoZW4g
c3dpcGluZyB0aGUgbWFpbiB2aWV3LAorICAgICAgICB3ZSBqdXN0IHBsdW1iIHRocm91Z2ggbmF2
aWdhdGlvbkdlc3R1cmVEaWRFbmQoKS4gV2hlbiBSZWFkZXIgaXMgc2hvd2luZyBhbmQgdGhlCisg
ICAgICAgIHN3aXBlZCB2aWV3IGlzIGRpZmZlcmVudCBmcm9tIHRoZSBuYXZpZ2F0aW5nIHZpZXcs
IHVzZSB0aGUgbmV3IG5hdmlnYXRpb25HZXN0dXJlRGlkRW5kKCkKKyAgICAgICAgb3ZlcnJpZGUg
d2hpY2ggdGFrZXMgbm8gYXJndW1lbnRzLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfdXBkYXRlVmlzaWJsZUNvbnRl
bnRSZWN0c10pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX25hdmlnYXRpb25HZXN0dXJlRGlkQmVn
aW5dKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9uYXZpZ2F0aW9uR2VzdHVyZURpZEVuZF0pOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6Om5hdmlnYXRpb25HZXN0
dXJlRGlkRW5kKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAg
ICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJ
bXBsOjpuYXZpZ2F0aW9uR2VzdHVyZURpZEJlZ2luKToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNs
aWVudEltcGw6Om5hdmlnYXRpb25HZXN0dXJlRGlkRW5kKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
aW9zL1ZpZXdHZXN0dXJlQ29udHJvbGxlcklPUy5tbToKKyAgICAgICAgKFdlYktpdDo6Vmlld0dl
c3R1cmVDb250cm9sbGVyOjpiZWdpblN3aXBlR2VzdHVyZSk6CisgICAgICAgIChXZWJLaXQ6OlZp
ZXdHZXN0dXJlQ29udHJvbGxlcjo6ZW5kU3dpcGVHZXN0dXJlKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvbWFjL1BhZ2VDbGllbnRJbXBsLmg6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xp
ZW50SW1wbC5tbToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6Om5hdmlnYXRpb25H
ZXN0dXJlRGlkRW5kKToKKwogMjAxNS0wNi0yNCAgUnl1YW4gQ2hvaSAgPHJ5dWFuLmNob2lAbmF2
ZXJjb3JwLmNvbT4KIAogICAgICAgICBSZW1vdmUgc29tZSBkZWFkIGNvZGUgZnJvbSBEb3dubG9h
ZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9z
aXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9y
LmNwcAppbmRleCAwMjk1ZGQwYTNlMzY2MjIyMTcyZjczNTYwNmM2NWFjZDcwYmIyZTViLi44NGVh
NDNiYTJhNzhjYzdhYjZhYzNiNDZlZTA0MDVkY2JkMmM2MDcyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcApAQCAtNDY3LDEyICs0
NjcsMTggQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmZsdXNoUGVuZGluZ0xheWVyQ2hh
bmdlcyhib29sIGlzRmx1c2hSb290KQogCiAgICAgaWYgKEdyYXBoaWNzTGF5ZXIqIHJvb3RMYXll
ciA9IHJvb3RHcmFwaGljc0xheWVyKCkpIHsKICNpZiBQTEFURk9STShJT1MpCi0gICAgICAgIHJv
b3RMYXllci0+Zmx1c2hDb21wb3NpdGluZ1N0YXRlKGZyYW1lVmlldy5leHBvc2VkQ29udGVudFJl
Y3QoKSk7CisgICAgICAgIEZsb2F0UmVjdCBleHBvc2VkUmVjdCA9IGZyYW1lVmlldy5leHBvc2Vk
Q29udGVudFJlY3QoKTsKKyAgICAgICAgTE9HKENvbXBvc2l0aW5nLCAiUmVuZGVyTGF5ZXJDb21w
b3NpdG9yICVwIGZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcyglZCkgJS4yZiwgJS4yZiwgJS4yZngl
LjJmIiwgdGhpcywgaXNGbHVzaFJvb3QsCisgICAgICAgICAgICBleHBvc2VkUmVjdC54KCksIGV4
cG9zZWRSZWN0LnkoKSwgZXhwb3NlZFJlY3Qud2lkdGgoKSwgZXhwb3NlZFJlY3QuaGVpZ2h0KCkp
OworICAgICAgICByb290TGF5ZXItPmZsdXNoQ29tcG9zaXRpbmdTdGF0ZShleHBvc2VkUmVjdCk7
CiAjZWxzZQogICAgICAgICAvLyBIYXZpbmcgYSBtX2NsaXBMYXllciBpbmRpY2F0ZXMgdGhhdCB3
ZSdyZSBkb2luZyBzY3JvbGxpbmcgdmlhIEdyYXBoaWNzTGF5ZXJzLgogICAgICAgICBJbnRSZWN0
IHZpc2libGVSZWN0ID0gbV9jbGlwTGF5ZXIgPyBJbnRSZWN0KEludFBvaW50KCksIGZyYW1lVmll
dy51bnNjYWxlZFZpc2libGVDb250ZW50U2l6ZUluY2x1ZGluZ09ic2N1cmVkQXJlYSgpKSA6IGZy
YW1lVmlldy52aXNpYmxlQ29udGVudFJlY3QoKTsKICAgICAgICAgaWYgKCFmcmFtZVZpZXcuZXhw
b3NlZFJlY3QoKS5pc0luZmluaXRlKCkpCiAgICAgICAgICAgICB2aXNpYmxlUmVjdC5pbnRlcnNl
Y3QoSW50UmVjdChmcmFtZVZpZXcuZXhwb3NlZFJlY3QoKSkpOworCisgICAgICAgIExPRyhDb21w
b3NpdGluZywgIlJlbmRlckxheWVyQ29tcG9zaXRvciAlcCBmbHVzaFBlbmRpbmdMYXllckNoYW5n
ZXMoJWQpICVkLCAlZCwgJWR4JWQiLCB0aGlzLCBpc0ZsdXNoUm9vdCwKKyAgICAgICAgICAgIHZp
c2libGVSZWN0LngoKSwgdmlzaWJsZVJlY3QueSgpLCB2aXNpYmxlUmVjdC53aWR0aCgpLCB2aXNp
YmxlUmVjdC5oZWlnaHQoKSk7CiAgICAgICAgIHJvb3RMYXllci0+Zmx1c2hDb21wb3NpdGluZ1N0
YXRlKHZpc2libGVSZWN0KTsKICNlbmRpZgogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggM2UxNmUwY2RlNWRhMDM0MzA4Yjk3
N2RkNmQxZTMyMjFlOTdkYTU0ZS4uN2QwZjIyOGMyZmYyNWU1MTI2Mjc2NzBjM2YxNGFjOWU1YzJl
MDhkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXcubW0KQEAgLTgzLDYgKzgzLDcgQEAKICNpbXBvcnQgPHd0Zi9IYXNoTWFwLmg+CiAjaW1wb3J0
IDx3dGYvTWF0aEV4dHJhcy5oPgogI2ltcG9ydCA8d3RmL05ldmVyRGVzdHJveWVkLmg+CisjaW1w
b3J0IDx3dGYvT3B0aW9uYWwuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KIAogI2lmIFBM
QVRGT1JNKElPUykKQEAgLTE4OSw2ICsxOTAsOCBAQCBAaW1wbGVtZW50YXRpb24gV0tXZWJWaWV3
IHsKICAgICB1aW50NjRfdCBfcmVzaXplQW5pbWF0aW9uVHJhbnNmb3JtVHJhbnNhY3Rpb25JRDsK
ICAgICBSZXRhaW5QdHI8VUlWaWV3PiBfcmVzaXplQW5pbWF0aW9uVmlldzsKICAgICBDR0Zsb2F0
IF9sYXN0QWRqdXN0bWVudEZvclNjcm9sbGVyOworICAgIE9wdGlvbmFsPENHUmVjdD4gX2Zyb3pl
blZpc2libGVDb250ZW50UmVjdDsKKyAgICBPcHRpb25hbDxDR1JlY3Q+IF9mcm96ZW5Vbm9ic2N1
cmVkQ29udGVudFJlY3Q7CiAKICAgICBCT09MIF9uZWVkc1RvUmVzdG9yZUV4cG9zZWRSZWN0Owog
ICAgIFdlYkNvcmU6OkZsb2F0UmVjdCBfZXhwb3NlZFJlY3RUb1Jlc3RvcmU7CkBAIC0xNTU3LDEw
ICsxNTYwLDEwIEBAIC0gKHZvaWQpX3VwZGF0ZVZpc2libGVDb250ZW50UmVjdHMKICAgICAgICAg
cmV0dXJuOwogCiAgICAgQ0dSZWN0IGZ1bGxWaWV3UmVjdCA9IHNlbGYuYm91bmRzOwotICAgIENH
UmVjdCB2aXNpYmxlUmVjdEluQ29udGVudENvb3JkaW5hdGVzID0gW3NlbGYgY29udmVydFJlY3Q6
ZnVsbFZpZXdSZWN0IHRvVmlldzpfY29udGVudFZpZXcuZ2V0KCldOworICAgIENHUmVjdCB2aXNp
YmxlUmVjdEluQ29udGVudENvb3JkaW5hdGVzID0gX2Zyb3plblZpc2libGVDb250ZW50UmVjdCA/
IF9mcm96ZW5WaXNpYmxlQ29udGVudFJlY3QudmFsdWUoKSA6IFtzZWxmIGNvbnZlcnRSZWN0OmZ1
bGxWaWV3UmVjdCB0b1ZpZXc6X2NvbnRlbnRWaWV3LmdldCgpXTsKIAogICAgIENHUmVjdCB1bm9i
c2N1cmVkUmVjdCA9IFVJRWRnZUluc2V0c0luc2V0UmVjdChmdWxsVmlld1JlY3QsIFtzZWxmIF9j
b21wdXRlZENvbnRlbnRJbnNldF0pOwotICAgIENHUmVjdCB1bm9ic2N1cmVkUmVjdEluQ29udGVu
dENvb3JkaW5hdGVzID0gW3NlbGYgY29udmVydFJlY3Q6dW5vYnNjdXJlZFJlY3QgdG9WaWV3Ol9j
b250ZW50Vmlldy5nZXQoKV07CisgICAgQ0dSZWN0IHVub2JzY3VyZWRSZWN0SW5Db250ZW50Q29v
cmRpbmF0ZXMgPSBfZnJvemVuVW5vYnNjdXJlZENvbnRlbnRSZWN0ID8gX2Zyb3plblVub2JzY3Vy
ZWRDb250ZW50UmVjdC52YWx1ZSgpIDogW3NlbGYgY29udmVydFJlY3Q6dW5vYnNjdXJlZFJlY3Qg
dG9WaWV3Ol9jb250ZW50Vmlldy5nZXQoKV07CiAKICAgICBDR0Zsb2F0IHNjYWxlRmFjdG9yID0g
Y29udGVudFpvb21TY2FsZShzZWxmKTsKIApAQCAtMTcwOCw3ICsxNzExLDI1IEBAIC0gKEJPT0wp
YWxsb3dzQmFja0ZvcndhcmROYXZpZ2F0aW9uR2VzdHVyZXMKICAgICByZXR1cm4gX2FsbG93c0Jh
Y2tGb3J3YXJkTmF2aWdhdGlvbkdlc3R1cmVzOwogfQogCi0jZW5kaWYKKy0gKHZvaWQpX25hdmln
YXRpb25HZXN0dXJlRGlkQmVnaW4KK3sKKyAgICAvLyBEdXJpbmcgYSBiYWNrL2ZvcndhcmQgc3dp
cGUsIHRoZXJlJ3MgYSB2aWV3IGludGVycG9zZWQgYmV0d2VlbiB0aGlzIHZpZXcgYW5kIHRoZSBj
b250ZW50IHZpZXcgdGhhdCBoYXMKKyAgICAvLyBhbiBvZmZzZXQgYW5kIGFuaW1hdGlvbiBvbiBp
dCwgd2hpY2ggcmVzdWx0cyBpbiBjb21wdXRpbmcgaW5jb3JyZWN0IHJlY3RhbmdsZXMuIFdvcmsg
YXJvdW5kIGJ5IHVzaW5nCisgICAgLy8gZnJvemVuIHJlY3RzIGR1cmluZyBzd2lwZXMuCisgICAg
Q0dSZWN0IGZ1bGxWaWV3UmVjdCA9IHNlbGYuYm91bmRzOworICAgIENHUmVjdCB1bm9ic2N1cmVk
UmVjdCA9IFVJRWRnZUluc2V0c0luc2V0UmVjdChmdWxsVmlld1JlY3QsIFtzZWxmIF9jb21wdXRl
ZENvbnRlbnRJbnNldF0pOworCisgICAgX2Zyb3plblZpc2libGVDb250ZW50UmVjdCA9IFtzZWxm
IGNvbnZlcnRSZWN0OmZ1bGxWaWV3UmVjdCB0b1ZpZXc6X2NvbnRlbnRWaWV3LmdldCgpXTsKKyAg
ICBfZnJvemVuVW5vYnNjdXJlZENvbnRlbnRSZWN0ID0gW3NlbGYgY29udmVydFJlY3Q6dW5vYnNj
dXJlZFJlY3QgdG9WaWV3Ol9jb250ZW50Vmlldy5nZXQoKV07Cit9CisKKy0gKHZvaWQpX25hdmln
YXRpb25HZXN0dXJlRGlkRW5kCit7CisgICAgX2Zyb3plblZpc2libGVDb250ZW50UmVjdCA9IE51
bGxvcHQ7CisgICAgX2Zyb3plblVub2JzY3VyZWRDb250ZW50UmVjdCA9IE51bGxvcHQ7Cit9CisK
KyNlbmRpZiAvLyBQTEFURk9STShJT1MpCiAKICNwcmFnbWEgbWFyayBPUyBYLXNwZWNpZmljIG1l
dGhvZHMKIApAQCAtMTc5OCw3ICsxODE5LDcgQEAgLSAoQk9PTClwZXJmb3JtRHJhZ09wZXJhdGlv
bjooaWQgPE5TRHJhZ2dpbmdJbmZvPilzZW5kZXIKIHsKICAgICByZXR1cm4gW193a1ZpZXcgcGVy
Zm9ybURyYWdPcGVyYXRpb246c2VuZGVyXTsKIH0KLSNlbmRpZgorI2VuZGlmIC8vIFBMQVRGT1JN
KE1BQykKIAogQGVuZAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld0ludGVybmFsLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld0ludGVybmFsLmgKaW5kZXggZGYzZTdkN2ZhNGE0MjJlMDAwNjNlNDhm
ZmE4ZTQ4MTlkZDIwZGYzOS4uYTM4NDlmZmQ5YjYxYTk4OTA4YWM3ZTVmOGUxOGYyZDI0ZmM4OTNj
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXdJbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3SW50ZXJuYWwuaApAQCAtMTAzLDYgKzEwMyw5IEBAIHN0cnVjdCBQcmludEluZm87CiAK
IC0gKHZvaWQpX3VwZGF0ZVNjcm9sbFZpZXdCYWNrZ3JvdW5kOwogCistICh2b2lkKV9uYXZpZ2F0
aW9uR2VzdHVyZURpZEJlZ2luOworLSAodm9pZClfbmF2aWdhdGlvbkdlc3R1cmVEaWRFbmQ7CisK
IEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgVUlFZGdlSW5zZXRzIF9jb21wdXRlZENv
bnRlbnRJbnNldDsKICNlbHNlCiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRJZ25v
cmVzTm9uV2hlZWxFdmVudHM6KSBCT09MIF9pZ25vcmVzTm9uV2hlZWxFdmVudHM7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAppbmRleCBkZTI0ZDMwMGJlMTcxMWNiZjM5N2JlYjE0
YWZhOTIwNmE2MDg4ZjczLi5kMmFmYWNjNDJiZTk1OWMwOWFhN2M3ZGE3MDJiZTkzZDI4OTg1ZTQ0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKQEAgLTMwNyw2ICszMDcsNyBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIG5hdmlnYXRpb25HZXN0dXJlRGlkQmVnaW4oKSA9
IDA7CiAgICAgdmlydHVhbCB2b2lkIG5hdmlnYXRpb25HZXN0dXJlV2lsbEVuZChib29sIHdpbGxO
YXZpZ2F0ZSwgV2ViQmFja0ZvcndhcmRMaXN0SXRlbSYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQg
bmF2aWdhdGlvbkdlc3R1cmVEaWRFbmQoYm9vbCB3aWxsTmF2aWdhdGUsIFdlYkJhY2tGb3J3YXJk
TGlzdEl0ZW0mKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIG5hdmlnYXRpb25HZXN0dXJlRGlkRW5k
KCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCB3aWxsUmVjb3JkTmF2aWdhdGlvblNuYXBzaG90KFdl
YkJhY2tGb3J3YXJkTGlzdEl0ZW0mKSA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlkRmlyc3RW
aXN1YWxseU5vbkVtcHR5TGF5b3V0Rm9yTWFpbkZyYW1lKCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBhNTUwZTM1NzBjZGU3ZWMwMGU1ZWYyOGZj
NzkxMjM1Yzk0MTE0MWRhLi5iMDQxMWY2ZTI2ODQyZmI5NzY3Y2JkMGIwODEyM2ZkYzhhNWIxNWIw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtNTc0Niw2
ICs1NzQ2LDExIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpuYXZpZ2F0aW9uR2VzdHVyZURpZEVuZChi
b29sIHdpbGxOYXZpZ2F0ZSwgV2ViQmFja0ZvcndhcmRMaXN0CiAgICAgbV9sb2FkZXJDbGllbnQt
Pm5hdmlnYXRpb25HZXN0dXJlRGlkRW5kKCp0aGlzLCB3aWxsTmF2aWdhdGUsIGl0ZW0pOwogfQog
Cit2b2lkIFdlYlBhZ2VQcm94eTo6bmF2aWdhdGlvbkdlc3R1cmVEaWRFbmQoKQoreworICAgIG1f
cGFnZUNsaWVudC5uYXZpZ2F0aW9uR2VzdHVyZURpZEVuZCgpOworfQorCiB2b2lkIFdlYlBhZ2VQ
cm94eTo6d2lsbFJlY29yZE5hdmlnYXRpb25TbmFwc2hvdChXZWJCYWNrRm9yd2FyZExpc3RJdGVt
JiBpdGVtKQogewogICAgIG1fcGFnZUNsaWVudC53aWxsUmVjb3JkTmF2aWdhdGlvblNuYXBzaG90
KGl0ZW0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDhlOTQx
ODM5NGJlMjlmN2ZmM2Y1ZWQyZWU0Nzk5Y2JiNDY2MWYzMjYuLjJjOTUwZjQ3YzUxMWRjMWVjNDhm
NTUzMDllZTRlOWI4YTgyYmQ3YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmgKQEAgLTEwMDUsNiArMTAwNSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIG5hdmlnYXRpb25H
ZXN0dXJlRGlkQmVnaW4oKTsKICAgICB2b2lkIG5hdmlnYXRpb25HZXN0dXJlV2lsbEVuZChib29s
IHdpbGxOYXZpZ2F0ZSwgV2ViQmFja0ZvcndhcmRMaXN0SXRlbSYpOwogICAgIHZvaWQgbmF2aWdh
dGlvbkdlc3R1cmVEaWRFbmQoYm9vbCB3aWxsTmF2aWdhdGUsIFdlYkJhY2tGb3J3YXJkTGlzdEl0
ZW0mKTsKKyAgICB2b2lkIG5hdmlnYXRpb25HZXN0dXJlRGlkRW5kKCk7CiAgICAgdm9pZCBuYXZp
Z2F0aW9uR2VzdHVyZVNuYXBzaG90V2FzUmVtb3ZlZCgpOwogICAgIHZvaWQgd2lsbFJlY29yZE5h
dmlnYXRpb25TbmFwc2hvdChXZWJCYWNrRm9yd2FyZExpc3RJdGVtJik7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAppbmRleCBhMGE0NDhk
ZmE4MDFhY2EyMjI5NTgwYTU3OGEzMWEyMGRjMzM5MzkwLi42OWI4MDI2YWM5NDQyZGU3NjNmNDY2
OGQ2NTNkMWI3MTQwMDJiYmNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
aW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lv
cy9QYWdlQ2xpZW50SW1wbElPUy5oCkBAIC0xNzUsNiArMTc1LDcgQEAgcHJpdmF0ZToKICAgICB2
aXJ0dWFsIHZvaWQgbmF2aWdhdGlvbkdlc3R1cmVEaWRCZWdpbigpIG92ZXJyaWRlOwogICAgIHZp
cnR1YWwgdm9pZCBuYXZpZ2F0aW9uR2VzdHVyZVdpbGxFbmQoYm9vbCB3aWxsTmF2aWdhdGUsIFdl
YkJhY2tGb3J3YXJkTGlzdEl0ZW0mKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgbmF2aWdh
dGlvbkdlc3R1cmVEaWRFbmQoYm9vbCB3aWxsTmF2aWdhdGUsIFdlYkJhY2tGb3J3YXJkTGlzdEl0
ZW0mKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgbmF2aWdhdGlvbkdlc3R1cmVEaWRFbmQo
KSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgd2lsbFJlY29yZE5hdmlnYXRpb25TbmFwc2hv
dChXZWJCYWNrRm9yd2FyZExpc3RJdGVtJikgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIHZvaWQg
ZGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0Rm9yTWFpbkZyYW1lKCkgb3ZlcnJpZGU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9T
Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQpp
bmRleCBjYTcyYTc3MTRjNDJmNTVhNjYwYmM2M2I1M2ZkYTE0NDEwMTMxMDFiLi5jNjhjMjkwMjFm
MGQ5MjE2NzYzMGRhNWZlNGQ5OTQ3MmMwY2ZkYzE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KQEAgLTY4NSw2ICs2ODUsNyBAQCBW
ZWN0b3I8U3RyaW5nPiBQYWdlQ2xpZW50SW1wbDo6bWltZVR5cGVzV2l0aEN1c3RvbUNvbnRlbnRQ
cm92aWRlcnMoKQogCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpuYXZpZ2F0aW9uR2VzdHVyZURpZEJl
Z2luKCkKIHsKKyAgICBbbV93ZWJWaWV3IF9uYXZpZ2F0aW9uR2VzdHVyZURpZEJlZ2luXTsKICAg
ICBOYXZpZ2F0aW9uU3RhdGU6OmZyb21XZWJQYWdlKCptX3dlYlZpZXctPl9wYWdlKS5uYXZpZ2F0
aW9uR2VzdHVyZURpZEJlZ2luKCk7CiB9CiAKQEAgLTY5Niw2ICs2OTcsMTIgQEAgdm9pZCBQYWdl
Q2xpZW50SW1wbDo6bmF2aWdhdGlvbkdlc3R1cmVXaWxsRW5kKGJvb2wgd2lsbE5hdmlnYXRlLCBX
ZWJCYWNrRm9yd2FyZEwKIHZvaWQgUGFnZUNsaWVudEltcGw6Om5hdmlnYXRpb25HZXN0dXJlRGlk
RW5kKGJvb2wgd2lsbE5hdmlnYXRlLCBXZWJCYWNrRm9yd2FyZExpc3RJdGVtJiBpdGVtKQogewog
ICAgIE5hdmlnYXRpb25TdGF0ZTo6ZnJvbVdlYlBhZ2UoKm1fd2ViVmlldy0+X3BhZ2UpLm5hdmln
YXRpb25HZXN0dXJlRGlkRW5kKHdpbGxOYXZpZ2F0ZSwgaXRlbSk7CisgICAgW21fd2ViVmlldyBf
bmF2aWdhdGlvbkdlc3R1cmVEaWRFbmRdOworfQorCit2b2lkIFBhZ2VDbGllbnRJbXBsOjpuYXZp
Z2F0aW9uR2VzdHVyZURpZEVuZCgpCit7CisgICAgW21fd2ViVmlldyBfbmF2aWdhdGlvbkdlc3R1
cmVEaWRFbmRdOwogfQogCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjp3aWxsUmVjb3JkTmF2aWdhdGlv
blNuYXBzaG90KFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0mIGl0ZW0pCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1ZpZXdHZXN0dXJlQ29udHJvbGxlcklPUy5tbSBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvVmlld0dlc3R1cmVDb250cm9sbGVySU9TLm1tCmlu
ZGV4IDFhNGIzMTBlNGNjMTQ3NjQ1YzdlMTM5YmZjZmI2ZTg1ZTYwOTRjMDEuLjY0YjZkYmZlNGM5
YzE2MWJiOTE0NTAzNTQ4ZjMzYTI2YjhiZDcwNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9pb3MvVmlld0dlc3R1cmVDb250cm9sbGVySU9TLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9pb3MvVmlld0dlc3R1cmVDb250cm9sbGVySU9TLm1tCkBAIC0xODQs
NiArMTg0LDggQEAgdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmJlZ2luU3dpcGVHZXN0dXJl
KF9VSU5hdmlnYXRpb25JbnRlcmFjdGl2ZVRyYW5zaXRpb24KIAogICAgIG1fd2ViUGFnZVByb3h5
Rm9yQmFja0ZvcndhcmRMaXN0Rm9yQ3VycmVudFN3aXBlID0gbV9hbHRlcm5hdGVCYWNrRm9yd2Fy
ZExpc3RTb3VyY2VWaWV3LmdldCgpID8gbV9hbHRlcm5hdGVCYWNrRm9yd2FyZExpc3RTb3VyY2VW
aWV3LmdldCgpLT5fcGFnZSA6ICZtX3dlYlBhZ2VQcm94eTsKICAgICBtX3dlYlBhZ2VQcm94eUZv
ckJhY2tGb3J3YXJkTGlzdEZvckN1cnJlbnRTd2lwZS0+bmF2aWdhdGlvbkdlc3R1cmVEaWRCZWdp
bigpOworICAgIGlmICgmbV93ZWJQYWdlUHJveHkgIT0gbV93ZWJQYWdlUHJveHlGb3JCYWNrRm9y
d2FyZExpc3RGb3JDdXJyZW50U3dpcGUpCisgICAgICAgIG1fd2ViUGFnZVByb3h5Lm5hdmlnYXRp
b25HZXN0dXJlRGlkQmVnaW4oKTsKIAogICAgIGF1dG8mIGJhY2tGb3J3YXJkTGlzdCA9IG1fd2Vi
UGFnZVByb3h5Rm9yQmFja0ZvcndhcmRMaXN0Rm9yQ3VycmVudFN3aXBlLT5iYWNrRm9yd2FyZExp
c3QoKTsKIApAQCAtMjg1LDYgKzI4Nyw4IEBAIHZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjpl
bmRTd2lwZUdlc3R1cmUoV2ViQmFja0ZvcndhcmRMaXN0SXRlbSogdGFyZ2V0SXRlbSwKICAgICAg
ICAgUmVmUHRyPFdlYlBhZ2VQcm94eT4gd2ViUGFnZVByb3h5Rm9yQmFja0ZvcndhcmRMaXN0Rm9y
Q3VycmVudFN3aXBlID0gbV93ZWJQYWdlUHJveHlGb3JCYWNrRm9yd2FyZExpc3RGb3JDdXJyZW50
U3dpcGU7CiAgICAgICAgIHJlbW92ZVN3aXBlU25hcHNob3QoKTsKICAgICAgICAgd2ViUGFnZVBy
b3h5Rm9yQmFja0ZvcndhcmRMaXN0Rm9yQ3VycmVudFN3aXBlLT5uYXZpZ2F0aW9uR2VzdHVyZURp
ZEVuZChmYWxzZSwgKnRhcmdldEl0ZW0pOworICAgICAgICBpZiAoJm1fd2ViUGFnZVByb3h5ICE9
IHdlYlBhZ2VQcm94eUZvckJhY2tGb3J3YXJkTGlzdEZvckN1cnJlbnRTd2lwZSkKKyAgICAgICAg
ICAgIG1fd2ViUGFnZVByb3h5Lm5hdmlnYXRpb25HZXN0dXJlRGlkRW5kKCk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKQEAgLTI5Myw2ICsyOTcsOSBAQCB2b2lkIFZpZXdHZXN0dXJlQ29udHJv
bGxlcjo6ZW5kU3dpcGVHZXN0dXJlKFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0qIHRhcmdldEl0ZW0s
CiAgICAgICAgIG1fc25hcHNob3RSZW1vdmFsVGFyZ2V0UmVuZGVyVHJlZVNpemUgPSBzbmFwc2hv
dC0+cmVuZGVyVHJlZVNpemUoKSAqIHN3aXBlU25hcHNob3RSZW1vdmFsUmVuZGVyVHJlZVNpemVU
YXJnZXRGcmFjdGlvbjsKIAogICAgIG1fd2ViUGFnZVByb3h5Rm9yQmFja0ZvcndhcmRMaXN0Rm9y
Q3VycmVudFN3aXBlLT5uYXZpZ2F0aW9uR2VzdHVyZURpZEVuZCh0cnVlLCAqdGFyZ2V0SXRlbSk7
CisgICAgaWYgKCZtX3dlYlBhZ2VQcm94eSAhPSBtX3dlYlBhZ2VQcm94eUZvckJhY2tGb3J3YXJk
TGlzdEZvckN1cnJlbnRTd2lwZSkKKyAgICAgICAgbV93ZWJQYWdlUHJveHkubmF2aWdhdGlvbkdl
c3R1cmVEaWRFbmQoKTsKKwogICAgIG1fd2ViUGFnZVByb3h5Rm9yQmFja0ZvcndhcmRMaXN0Rm9y
Q3VycmVudFN3aXBlLT5nb1RvQmFja0ZvcndhcmRJdGVtKHRhcmdldEl0ZW0pOwogCiAgICAgaWYg
KGF1dG8gZHJhd2luZ0FyZWEgPSBtX3dlYlBhZ2VQcm94eS5kcmF3aW5nQXJlYSgpKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLmgKaW5kZXggYWM2NzQ5
NmJkYzZhNDEwMDVlMmZjYWM0NjFjNmFjOTk5Yzg5MzA3Ni4uZGE2NGQxZmEwNDRhNzA5YTE4MjU2
MzZkYjkwYWNlMTE1ODRiNjkxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L21hYy9QYWdlQ2xpZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMv
UGFnZUNsaWVudEltcGwuaApAQCAtMTg2LDYgKzE4Niw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVh
bCB2b2lkIG5hdmlnYXRpb25HZXN0dXJlRGlkQmVnaW4oKSBvdmVycmlkZTsKICAgICB2aXJ0dWFs
IHZvaWQgbmF2aWdhdGlvbkdlc3R1cmVXaWxsRW5kKGJvb2wgd2lsbE5hdmlnYXRlLCBXZWJCYWNr
Rm9yd2FyZExpc3RJdGVtJikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIG5hdmlnYXRpb25H
ZXN0dXJlRGlkRW5kKGJvb2wgd2lsbE5hdmlnYXRlLCBXZWJCYWNrRm9yd2FyZExpc3RJdGVtJikg
b3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIG5hdmlnYXRpb25HZXN0dXJlRGlkRW5kKCkgb3Zl
cnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxSZWNvcmROYXZpZ2F0aW9uU25hcHNob3QoV2Vi
QmFja0ZvcndhcmRMaXN0SXRlbSYpIG92ZXJyaWRlOwogCiAgICAgTlNWaWV3ICphY3RpdmVWaWV3
KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VD
bGllbnRJbXBsLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1w
bC5tbQppbmRleCBhNDQ4ZDllOTM5OWE1NzAyZjgwNDBhYTkyMzM1MjdjYzZhMjA1N2Q3Li5iNDFh
Y2E1MjhhNzBiMzE4OTU2YTYzNTA3ZmQ5ZmQzMWZkN2UwMWJjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW0KQEAgLTc2NSw2ICs3NjUsMTAgQEAg
dm9pZCBQYWdlQ2xpZW50SW1wbDo6bmF2aWdhdGlvbkdlc3R1cmVEaWRFbmQoYm9vbCB3aWxsTmF2
aWdhdGUsIFdlYkJhY2tGb3J3YXJkTGkKICNlbmRpZgogfQogCit2b2lkIFBhZ2VDbGllbnRJbXBs
OjpuYXZpZ2F0aW9uR2VzdHVyZURpZEVuZCgpCit7Cit9CisKIHZvaWQgUGFnZUNsaWVudEltcGw6
OndpbGxSZWNvcmROYXZpZ2F0aW9uU25hcHNob3QoV2ViQmFja0ZvcndhcmRMaXN0SXRlbSYgaXRl
bSkKIHsKICNpZiBXS19BUElfRU5BQkxFRAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255601</attachid>
            <date>2015-06-25 17:16:01 -0700</date>
            <delta_ts>2015-06-25 17:24:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146329-20150625171516.patch</filename>
            <type>text/plain</type>
            <size>17004</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1OTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTUwZGIzODBjZGJjOTg1
Yjk0ZTY4ZjZjMzViZDJhNzFhYTQzMjI1OS4uYjhlMGZiMzA2YThkMzI2NDY2MTcyMDM4ZGVlMDQ0
NWZhNmQ4NjYxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE1LTA2LTI1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1MgV0syXSBT
d2lwaW5nIGJhY2sganVzdCBhZnRlciBzY3JvbGxpbmcgY2FuIGNhdXNlIHNvbWUgdGlsZXMgdG8g
ZGlzYXBwZWFyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNDYzMjkKKyAgICAgICAgcmRhcjovL3Byb2JsZW0vMjEyMzMwMTAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBIYXZlIHRoZSBDb21wb3NpdGluZyBs
b2cgY2hhbm5lbCBkdW1wIHRoZSB2aXNpYmxlIHJlY3QgdXNlZCBmb3IgbGF5ZXIgZmx1c2hpbmcu
CisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6Zmx1c2hQZW5kaW5nTGF5ZXJDaGFu
Z2VzKToKKwogMjAxNS0wNi0yNCAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAK
ICAgICAgICAgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZXJyb3IgbWVzc2FnZSB3aGVuIGZyYW1l
IGxvYWQgaXMgYmxvY2tlZCBkb2VzIG5vdCByZWFkIHdlbGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBlMjE4OTIx
MjdiMGZiMzNkMjFjYjAyMzRhYzBkZmI2Mzk4NzZlN2MxLi4yMDgzZGJjMWRjNDMxNmQ1YjE3N2Rm
MWNiNDgzMzg4OThjZmVlNDU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTUtMDYt
MjUgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgW2lP
UyBXSzJdIFN3aXBpbmcgYmFjayBqdXN0IGFmdGVyIHNjcm9sbGluZyBjYW4gY2F1c2Ugc29tZSB0
aWxlcyB0byBkaXNhcHBlYXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0NjMyOQorICAgICAgICByZGFyOi8vcHJvYmxlbS8yMTIzMzAxMAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgV2hlbiBk
b2luZyBhIGJhY2sgc3dpcGUsIHZpZXdzIGludGVycG9zZWQgYmV0d2VlbiB0aGUgV0tXZWJWaWV3
IGFuZCB0aGUgV0tDb250ZW50VmlldworICAgICAgICBnZXQgcG9zaXRpb25zIGFuZCBhbmltYXRp
b25zIGZvciB0aGUgc3dpcGUuIFRoaXMgLV91cGRhdGVWaXNpYmxlQ29udGVudFJlY3RzIHRvCisg
ICAgICAgIGNvbXB1dGUgYmFkIHZpc2libGUgYW5kIHVub2JzY3VyZWQgcmVjdHMsIHNvIHdlIGxv
c2UgdGlsZXMuCisgICAgICAgIAorICAgICAgICBGaXggYnkgImZyZWV6aW5nIiB0aGUgdmlzaWJs
ZSBhbmQgdW5vYnNjdXJlZCBjb250ZW50IHJlY3RzIGluIHRoZSB2aWV3IGJlaW5nCisgICAgICAg
IHN3aXBlZCBmb3IgdGhlIGR1cmF0aW9uIG9mIHRoZSBuYXZpZ2F0aW9uIGdlc3R1cmUuIFdoZW4g
c3dpcGluZyB0aGUgbWFpbiB2aWV3LAorICAgICAgICB3ZSBqdXN0IHBsdW1iIHRocm91Z2ggbmF2
aWdhdGlvbkdlc3R1cmVEaWRFbmQoKS4gV2hlbiBSZWFkZXIgaXMgc2hvd2luZyBhbmQgdGhlCisg
ICAgICAgIHN3aXBlZCB2aWV3IGlzIGRpZmZlcmVudCBmcm9tIHRoZSBuYXZpZ2F0aW5nIHZpZXcs
IHVzZSB0aGUgbmV3IG5hdmlnYXRpb25HZXN0dXJlRGlkRW5kKCkKKyAgICAgICAgb3ZlcnJpZGUg
d2hpY2ggdGFrZXMgbm8gYXJndW1lbnRzLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfdXBkYXRlVmlzaWJsZUNvbnRl
bnRSZWN0c10pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX25hdmlnYXRpb25HZXN0dXJlRGlkQmVn
aW5dKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9uYXZpZ2F0aW9uR2VzdHVyZURpZEVuZF0pOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6Om5hdmlnYXRpb25HZXN0
dXJlRGlkRW5kKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAg
ICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJ
bXBsOjpuYXZpZ2F0aW9uR2VzdHVyZURpZEJlZ2luKToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNs
aWVudEltcGw6Om5hdmlnYXRpb25HZXN0dXJlRGlkRW5kKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
aW9zL1ZpZXdHZXN0dXJlQ29udHJvbGxlcklPUy5tbToKKyAgICAgICAgKFdlYktpdDo6Vmlld0dl
c3R1cmVDb250cm9sbGVyOjpiZWdpblN3aXBlR2VzdHVyZSk6CisgICAgICAgIChXZWJLaXQ6OlZp
ZXdHZXN0dXJlQ29udHJvbGxlcjo6ZW5kU3dpcGVHZXN0dXJlKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvbWFjL1BhZ2VDbGllbnRJbXBsLmg6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xp
ZW50SW1wbC5tbToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6Om5hdmlnYXRpb25H
ZXN0dXJlRGlkRW5kKToKKwogMjAxNS0wNi0yNCAgUnl1YW4gQ2hvaSAgPHJ5dWFuLmNob2lAbmF2
ZXJjb3JwLmNvbT4KIAogICAgICAgICBSZW1vdmUgc29tZSBkZWFkIGNvZGUgZnJvbSBEb3dubG9h
ZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9z
aXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9y
LmNwcAppbmRleCAwMjk1ZGQwYTNlMzY2MjIyMTcyZjczNTYwNmM2NWFjZDcwYmIyZTViLi44NGVh
NDNiYTJhNzhjYzdhYjZhYzNiNDZlZTA0MDVkY2JkMmM2MDcyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcApAQCAtNDY3LDEyICs0
NjcsMTggQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmZsdXNoUGVuZGluZ0xheWVyQ2hh
bmdlcyhib29sIGlzRmx1c2hSb290KQogCiAgICAgaWYgKEdyYXBoaWNzTGF5ZXIqIHJvb3RMYXll
ciA9IHJvb3RHcmFwaGljc0xheWVyKCkpIHsKICNpZiBQTEFURk9STShJT1MpCi0gICAgICAgIHJv
b3RMYXllci0+Zmx1c2hDb21wb3NpdGluZ1N0YXRlKGZyYW1lVmlldy5leHBvc2VkQ29udGVudFJl
Y3QoKSk7CisgICAgICAgIEZsb2F0UmVjdCBleHBvc2VkUmVjdCA9IGZyYW1lVmlldy5leHBvc2Vk
Q29udGVudFJlY3QoKTsKKyAgICAgICAgTE9HKENvbXBvc2l0aW5nLCAiUmVuZGVyTGF5ZXJDb21w
b3NpdG9yICVwIGZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcyglZCkgJS4yZiwgJS4yZiwgJS4yZngl
LjJmIiwgdGhpcywgaXNGbHVzaFJvb3QsCisgICAgICAgICAgICBleHBvc2VkUmVjdC54KCksIGV4
cG9zZWRSZWN0LnkoKSwgZXhwb3NlZFJlY3Qud2lkdGgoKSwgZXhwb3NlZFJlY3QuaGVpZ2h0KCkp
OworICAgICAgICByb290TGF5ZXItPmZsdXNoQ29tcG9zaXRpbmdTdGF0ZShleHBvc2VkUmVjdCk7
CiAjZWxzZQogICAgICAgICAvLyBIYXZpbmcgYSBtX2NsaXBMYXllciBpbmRpY2F0ZXMgdGhhdCB3
ZSdyZSBkb2luZyBzY3JvbGxpbmcgdmlhIEdyYXBoaWNzTGF5ZXJzLgogICAgICAgICBJbnRSZWN0
IHZpc2libGVSZWN0ID0gbV9jbGlwTGF5ZXIgPyBJbnRSZWN0KEludFBvaW50KCksIGZyYW1lVmll
dy51bnNjYWxlZFZpc2libGVDb250ZW50U2l6ZUluY2x1ZGluZ09ic2N1cmVkQXJlYSgpKSA6IGZy
YW1lVmlldy52aXNpYmxlQ29udGVudFJlY3QoKTsKICAgICAgICAgaWYgKCFmcmFtZVZpZXcuZXhw
b3NlZFJlY3QoKS5pc0luZmluaXRlKCkpCiAgICAgICAgICAgICB2aXNpYmxlUmVjdC5pbnRlcnNl
Y3QoSW50UmVjdChmcmFtZVZpZXcuZXhwb3NlZFJlY3QoKSkpOworCisgICAgICAgIExPRyhDb21w
b3NpdGluZywgIlJlbmRlckxheWVyQ29tcG9zaXRvciAlcCBmbHVzaFBlbmRpbmdMYXllckNoYW5n
ZXMoJWQpICVkLCAlZCwgJWR4JWQiLCB0aGlzLCBpc0ZsdXNoUm9vdCwKKyAgICAgICAgICAgIHZp
c2libGVSZWN0LngoKSwgdmlzaWJsZVJlY3QueSgpLCB2aXNpYmxlUmVjdC53aWR0aCgpLCB2aXNp
YmxlUmVjdC5oZWlnaHQoKSk7CiAgICAgICAgIHJvb3RMYXllci0+Zmx1c2hDb21wb3NpdGluZ1N0
YXRlKHZpc2libGVSZWN0KTsKICNlbmRpZgogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggM2UxNmUwY2RlNWRhMDM0MzA4Yjk3
N2RkNmQxZTMyMjFlOTdkYTU0ZS4uN2QwZjIyOGMyZmYyNWU1MTI2Mjc2NzBjM2YxNGFjOWU1YzJl
MDhkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXcubW0KQEAgLTgzLDYgKzgzLDcgQEAKICNpbXBvcnQgPHd0Zi9IYXNoTWFwLmg+CiAjaW1wb3J0
IDx3dGYvTWF0aEV4dHJhcy5oPgogI2ltcG9ydCA8d3RmL05ldmVyRGVzdHJveWVkLmg+CisjaW1w
b3J0IDx3dGYvT3B0aW9uYWwuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KIAogI2lmIFBM
QVRGT1JNKElPUykKQEAgLTE4OSw2ICsxOTAsOCBAQCBAaW1wbGVtZW50YXRpb24gV0tXZWJWaWV3
IHsKICAgICB1aW50NjRfdCBfcmVzaXplQW5pbWF0aW9uVHJhbnNmb3JtVHJhbnNhY3Rpb25JRDsK
ICAgICBSZXRhaW5QdHI8VUlWaWV3PiBfcmVzaXplQW5pbWF0aW9uVmlldzsKICAgICBDR0Zsb2F0
IF9sYXN0QWRqdXN0bWVudEZvclNjcm9sbGVyOworICAgIE9wdGlvbmFsPENHUmVjdD4gX2Zyb3pl
blZpc2libGVDb250ZW50UmVjdDsKKyAgICBPcHRpb25hbDxDR1JlY3Q+IF9mcm96ZW5Vbm9ic2N1
cmVkQ29udGVudFJlY3Q7CiAKICAgICBCT09MIF9uZWVkc1RvUmVzdG9yZUV4cG9zZWRSZWN0Owog
ICAgIFdlYkNvcmU6OkZsb2F0UmVjdCBfZXhwb3NlZFJlY3RUb1Jlc3RvcmU7CkBAIC0xNTU3LDEw
ICsxNTYwLDEwIEBAIC0gKHZvaWQpX3VwZGF0ZVZpc2libGVDb250ZW50UmVjdHMKICAgICAgICAg
cmV0dXJuOwogCiAgICAgQ0dSZWN0IGZ1bGxWaWV3UmVjdCA9IHNlbGYuYm91bmRzOwotICAgIENH
UmVjdCB2aXNpYmxlUmVjdEluQ29udGVudENvb3JkaW5hdGVzID0gW3NlbGYgY29udmVydFJlY3Q6
ZnVsbFZpZXdSZWN0IHRvVmlldzpfY29udGVudFZpZXcuZ2V0KCldOworICAgIENHUmVjdCB2aXNp
YmxlUmVjdEluQ29udGVudENvb3JkaW5hdGVzID0gX2Zyb3plblZpc2libGVDb250ZW50UmVjdCA/
IF9mcm96ZW5WaXNpYmxlQ29udGVudFJlY3QudmFsdWUoKSA6IFtzZWxmIGNvbnZlcnRSZWN0OmZ1
bGxWaWV3UmVjdCB0b1ZpZXc6X2NvbnRlbnRWaWV3LmdldCgpXTsKIAogICAgIENHUmVjdCB1bm9i
c2N1cmVkUmVjdCA9IFVJRWRnZUluc2V0c0luc2V0UmVjdChmdWxsVmlld1JlY3QsIFtzZWxmIF9j
b21wdXRlZENvbnRlbnRJbnNldF0pOwotICAgIENHUmVjdCB1bm9ic2N1cmVkUmVjdEluQ29udGVu
dENvb3JkaW5hdGVzID0gW3NlbGYgY29udmVydFJlY3Q6dW5vYnNjdXJlZFJlY3QgdG9WaWV3Ol9j
b250ZW50Vmlldy5nZXQoKV07CisgICAgQ0dSZWN0IHVub2JzY3VyZWRSZWN0SW5Db250ZW50Q29v
cmRpbmF0ZXMgPSBfZnJvemVuVW5vYnNjdXJlZENvbnRlbnRSZWN0ID8gX2Zyb3plblVub2JzY3Vy
ZWRDb250ZW50UmVjdC52YWx1ZSgpIDogW3NlbGYgY29udmVydFJlY3Q6dW5vYnNjdXJlZFJlY3Qg
dG9WaWV3Ol9jb250ZW50Vmlldy5nZXQoKV07CiAKICAgICBDR0Zsb2F0IHNjYWxlRmFjdG9yID0g
Y29udGVudFpvb21TY2FsZShzZWxmKTsKIApAQCAtMTcwOCw3ICsxNzExLDI1IEBAIC0gKEJPT0wp
YWxsb3dzQmFja0ZvcndhcmROYXZpZ2F0aW9uR2VzdHVyZXMKICAgICByZXR1cm4gX2FsbG93c0Jh
Y2tGb3J3YXJkTmF2aWdhdGlvbkdlc3R1cmVzOwogfQogCi0jZW5kaWYKKy0gKHZvaWQpX25hdmln
YXRpb25HZXN0dXJlRGlkQmVnaW4KK3sKKyAgICAvLyBEdXJpbmcgYSBiYWNrL2ZvcndhcmQgc3dp
cGUsIHRoZXJlJ3MgYSB2aWV3IGludGVycG9zZWQgYmV0d2VlbiB0aGlzIHZpZXcgYW5kIHRoZSBj
b250ZW50IHZpZXcgdGhhdCBoYXMKKyAgICAvLyBhbiBvZmZzZXQgYW5kIGFuaW1hdGlvbiBvbiBp
dCwgd2hpY2ggcmVzdWx0cyBpbiBjb21wdXRpbmcgaW5jb3JyZWN0IHJlY3RhbmdsZXMuIFdvcmsg
YXJvdW5kIGJ5IHVzaW5nCisgICAgLy8gZnJvemVuIHJlY3RzIGR1cmluZyBzd2lwZXMuCisgICAg
Q0dSZWN0IGZ1bGxWaWV3UmVjdCA9IHNlbGYuYm91bmRzOworICAgIENHUmVjdCB1bm9ic2N1cmVk
UmVjdCA9IFVJRWRnZUluc2V0c0luc2V0UmVjdChmdWxsVmlld1JlY3QsIFtzZWxmIF9jb21wdXRl
ZENvbnRlbnRJbnNldF0pOworCisgICAgX2Zyb3plblZpc2libGVDb250ZW50UmVjdCA9IFtzZWxm
IGNvbnZlcnRSZWN0OmZ1bGxWaWV3UmVjdCB0b1ZpZXc6X2NvbnRlbnRWaWV3LmdldCgpXTsKKyAg
ICBfZnJvemVuVW5vYnNjdXJlZENvbnRlbnRSZWN0ID0gW3NlbGYgY29udmVydFJlY3Q6dW5vYnNj
dXJlZFJlY3QgdG9WaWV3Ol9jb250ZW50Vmlldy5nZXQoKV07Cit9CisKKy0gKHZvaWQpX25hdmln
YXRpb25HZXN0dXJlRGlkRW5kCit7CisgICAgX2Zyb3plblZpc2libGVDb250ZW50UmVjdCA9IE51
bGxvcHQ7CisgICAgX2Zyb3plblVub2JzY3VyZWRDb250ZW50UmVjdCA9IE51bGxvcHQ7Cit9CisK
KyNlbmRpZiAvLyBQTEFURk9STShJT1MpCiAKICNwcmFnbWEgbWFyayBPUyBYLXNwZWNpZmljIG1l
dGhvZHMKIApAQCAtMTc5OCw3ICsxODE5LDcgQEAgLSAoQk9PTClwZXJmb3JtRHJhZ09wZXJhdGlv
bjooaWQgPE5TRHJhZ2dpbmdJbmZvPilzZW5kZXIKIHsKICAgICByZXR1cm4gW193a1ZpZXcgcGVy
Zm9ybURyYWdPcGVyYXRpb246c2VuZGVyXTsKIH0KLSNlbmRpZgorI2VuZGlmIC8vIFBMQVRGT1JN
KE1BQykKIAogQGVuZAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld0ludGVybmFsLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld0ludGVybmFsLmgKaW5kZXggZGYzZTdkN2ZhNGE0MjJlMDAwNjNlNDhm
ZmE4ZTQ4MTlkZDIwZGYzOS4uYTM4NDlmZmQ5YjYxYTk4OTA4YWM3ZTVmOGUxOGYyZDI0ZmM4OTNj
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXdJbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3SW50ZXJuYWwuaApAQCAtMTAzLDYgKzEwMyw5IEBAIHN0cnVjdCBQcmludEluZm87CiAK
IC0gKHZvaWQpX3VwZGF0ZVNjcm9sbFZpZXdCYWNrZ3JvdW5kOwogCistICh2b2lkKV9uYXZpZ2F0
aW9uR2VzdHVyZURpZEJlZ2luOworLSAodm9pZClfbmF2aWdhdGlvbkdlc3R1cmVEaWRFbmQ7CisK
IEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgVUlFZGdlSW5zZXRzIF9jb21wdXRlZENv
bnRlbnRJbnNldDsKICNlbHNlCiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRJZ25v
cmVzTm9uV2hlZWxFdmVudHM6KSBCT09MIF9pZ25vcmVzTm9uV2hlZWxFdmVudHM7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5jcHAKaW5k
ZXggMzNjZWNlNmZlNTVhNTJhNWI0NjcxMWI5YjE4YjY3MDVmNjY2NjIxZC4uYzNiYzYzZWNkMzEz
N2YzNGQ0N2Y2ODI2NTFiYWVlMDUwNjc2YjY4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmNwcApAQCAtNDEwLDYgKzQxMCwxMCBA
QCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpuYXZpZ2F0aW9uR2VzdHVyZURpZEVuZChib29sLCBXZWJC
YWNrRm9yd2FyZExpc3RJdGVtJikKIHsKIH0KIAordm9pZCBQYWdlQ2xpZW50SW1wbDo6bmF2aWdh
dGlvbkdlc3R1cmVEaWRFbmQoKQoreworfQorCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjp3aWxsUmVj
b3JkTmF2aWdhdGlvblNuYXBzaG90KFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0mKQogewogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwu
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmgKaW5k
ZXggMmFkYjk2NmY0MTE1NWNlOTRjZmQ5NDFkY2M1NjIzNjQ4OWMwY2NmNS4uNWFjNTBhMjM3ODhh
ODBjZDZmNmM4OWQ2NDJiMDJmZDI2ZTljNjNkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oCkBAIC0xMjIsNiArMTIyLDcgQEAgcHJp
dmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgbmF2aWdhdGlvbkdlc3R1cmVEaWRCZWdpbigpIG92ZXJy
aWRlOwogICAgIHZpcnR1YWwgdm9pZCBuYXZpZ2F0aW9uR2VzdHVyZVdpbGxFbmQoYm9vbCwgV2Vi
QmFja0ZvcndhcmRMaXN0SXRlbSYpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBuYXZpZ2F0
aW9uR2VzdHVyZURpZEVuZChib29sLCBXZWJCYWNrRm9yd2FyZExpc3RJdGVtJikgb3ZlcnJpZGU7
CisgICAgdmlydHVhbCB2b2lkIG5hdmlnYXRpb25HZXN0dXJlRGlkRW5kKCkgb3ZlcnJpZGU7CiAg
ICAgdmlydHVhbCB2b2lkIHdpbGxSZWNvcmROYXZpZ2F0aW9uU25hcHNob3QoV2ViQmFja0Zvcndh
cmRMaXN0SXRlbSYpIG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCB2b2lkIGRpZEZpcnN0VmlzdWFs
bHlOb25FbXB0eUxheW91dEZvck1haW5GcmFtZSgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9QYWdlQ2xpZW50LmgKaW5kZXggZGUyNGQzMDBiZTE3MTFjYmYzOTdiZWIxNGFmYTkyMDZh
NjA4OGY3My4uZDJhZmFjYzQyYmU5NTljMDlhYTdjN2RhNzAyYmU5M2QyODk4NWU0NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC0zMDcsNiArMzA3LDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCBuYXZpZ2F0aW9uR2VzdHVyZURpZEJlZ2luKCkgPSAwOwogICAg
IHZpcnR1YWwgdm9pZCBuYXZpZ2F0aW9uR2VzdHVyZVdpbGxFbmQoYm9vbCB3aWxsTmF2aWdhdGUs
IFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0mKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIG5hdmlnYXRp
b25HZXN0dXJlRGlkRW5kKGJvb2wgd2lsbE5hdmlnYXRlLCBXZWJCYWNrRm9yd2FyZExpc3RJdGVt
JikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBuYXZpZ2F0aW9uR2VzdHVyZURpZEVuZCgpID0gMDsK
ICAgICB2aXJ0dWFsIHZvaWQgd2lsbFJlY29yZE5hdmlnYXRpb25TbmFwc2hvdChXZWJCYWNrRm9y
d2FyZExpc3RJdGVtJikgPSAwOwogCiAgICAgdmlydHVhbCB2b2lkIGRpZEZpcnN0VmlzdWFsbHlO
b25FbXB0eUxheW91dEZvck1haW5GcmFtZSgpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggYTU1MGUzNTcwY2RlN2VjMDBlNWVmMjhmYzc5MTIzNWM5
NDExNDFkYS4uYjA0MTFmNmUyNjg0MmZiOTc2N2NiZDBiMDgxMjNmZGM4YTViMTViMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTU3NDYsNiArNTc0Niwx
MSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6bmF2aWdhdGlvbkdlc3R1cmVEaWRFbmQoYm9vbCB3aWxs
TmF2aWdhdGUsIFdlYkJhY2tGb3J3YXJkTGlzdAogICAgIG1fbG9hZGVyQ2xpZW50LT5uYXZpZ2F0
aW9uR2VzdHVyZURpZEVuZCgqdGhpcywgd2lsbE5hdmlnYXRlLCBpdGVtKTsKIH0KIAordm9pZCBX
ZWJQYWdlUHJveHk6Om5hdmlnYXRpb25HZXN0dXJlRGlkRW5kKCkKK3sKKyAgICBtX3BhZ2VDbGll
bnQubmF2aWdhdGlvbkdlc3R1cmVEaWRFbmQoKTsKK30KKwogdm9pZCBXZWJQYWdlUHJveHk6Ondp
bGxSZWNvcmROYXZpZ2F0aW9uU25hcHNob3QoV2ViQmFja0ZvcndhcmRMaXN0SXRlbSYgaXRlbSkK
IHsKICAgICBtX3BhZ2VDbGllbnQud2lsbFJlY29yZE5hdmlnYXRpb25TbmFwc2hvdChpdGVtKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA4ZTk0MTgzOTRiZTI5
ZjdmZjNmNWVkMmVlNDc5OWNiYjQ2NjFmMzI2Li4yYzk1MGY0N2M1MTFkYzFlYzQ4ZjU1MzA5ZWU0
ZTliOGE4MmJkN2JjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBA
IC0xMDA1LDYgKzEwMDUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBuYXZpZ2F0aW9uR2VzdHVyZURp
ZEJlZ2luKCk7CiAgICAgdm9pZCBuYXZpZ2F0aW9uR2VzdHVyZVdpbGxFbmQoYm9vbCB3aWxsTmF2
aWdhdGUsIFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0mKTsKICAgICB2b2lkIG5hdmlnYXRpb25HZXN0
dXJlRGlkRW5kKGJvb2wgd2lsbE5hdmlnYXRlLCBXZWJCYWNrRm9yd2FyZExpc3RJdGVtJik7Cisg
ICAgdm9pZCBuYXZpZ2F0aW9uR2VzdHVyZURpZEVuZCgpOwogICAgIHZvaWQgbmF2aWdhdGlvbkdl
c3R1cmVTbmFwc2hvdFdhc1JlbW92ZWQoKTsKICAgICB2b2lkIHdpbGxSZWNvcmROYXZpZ2F0aW9u
U25hcHNob3QoV2ViQmFja0ZvcndhcmRMaXN0SXRlbSYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKaW5kZXggYTBhNDQ4ZGZhODAxYWNh
MjIyOTU4MGE1NzhhMzFhMjBkYzMzOTM5MC4uNjliODAyNmFjOTQ0MmRlNzYzZjQ2NjhkNjUzZDFi
NzE0MDAyYmJjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdl
Q2xpZW50SW1wbElPUy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNs
aWVudEltcGxJT1MuaApAQCAtMTc1LDYgKzE3NSw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2
b2lkIG5hdmlnYXRpb25HZXN0dXJlRGlkQmVnaW4oKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZv
aWQgbmF2aWdhdGlvbkdlc3R1cmVXaWxsRW5kKGJvb2wgd2lsbE5hdmlnYXRlLCBXZWJCYWNrRm9y
d2FyZExpc3RJdGVtJikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIG5hdmlnYXRpb25HZXN0
dXJlRGlkRW5kKGJvb2wgd2lsbE5hdmlnYXRlLCBXZWJCYWNrRm9yd2FyZExpc3RJdGVtJikgb3Zl
cnJpZGU7CisgICAgdmlydHVhbCB2b2lkIG5hdmlnYXRpb25HZXN0dXJlRGlkRW5kKCkgb3ZlcnJp
ZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxSZWNvcmROYXZpZ2F0aW9uU25hcHNob3QoV2ViQmFj
a0ZvcndhcmRMaXN0SXRlbSYpIG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCB2b2lkIGRpZEZpcnN0
VmlzdWFsbHlOb25FbXB0eUxheW91dEZvck1haW5GcmFtZSgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbSBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KaW5kZXggY2E3
MmE3NzE0YzQyZjU1YTY2MGJjNjNiNTNmZGExNDQxMDEzMTAxYi4uYzY4YzI5MDIxZjBkOTIxNjc2
MzBkYTVmZTRkOTk0NzJjMGNmZGMxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCkBAIC02ODUsNiArNjg1LDcgQEAgVmVjdG9yPFN0
cmluZz4gUGFnZUNsaWVudEltcGw6Om1pbWVUeXBlc1dpdGhDdXN0b21Db250ZW50UHJvdmlkZXJz
KCkKIAogdm9pZCBQYWdlQ2xpZW50SW1wbDo6bmF2aWdhdGlvbkdlc3R1cmVEaWRCZWdpbigpCiB7
CisgICAgW21fd2ViVmlldyBfbmF2aWdhdGlvbkdlc3R1cmVEaWRCZWdpbl07CiAgICAgTmF2aWdh
dGlvblN0YXRlOjpmcm9tV2ViUGFnZSgqbV93ZWJWaWV3LT5fcGFnZSkubmF2aWdhdGlvbkdlc3R1
cmVEaWRCZWdpbigpOwogfQogCkBAIC02OTYsNiArNjk3LDEyIEBAIHZvaWQgUGFnZUNsaWVudElt
cGw6Om5hdmlnYXRpb25HZXN0dXJlV2lsbEVuZChib29sIHdpbGxOYXZpZ2F0ZSwgV2ViQmFja0Zv
cndhcmRMCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpuYXZpZ2F0aW9uR2VzdHVyZURpZEVuZChib29s
IHdpbGxOYXZpZ2F0ZSwgV2ViQmFja0ZvcndhcmRMaXN0SXRlbSYgaXRlbSkKIHsKICAgICBOYXZp
Z2F0aW9uU3RhdGU6OmZyb21XZWJQYWdlKCptX3dlYlZpZXctPl9wYWdlKS5uYXZpZ2F0aW9uR2Vz
dHVyZURpZEVuZCh3aWxsTmF2aWdhdGUsIGl0ZW0pOworICAgIFttX3dlYlZpZXcgX25hdmlnYXRp
b25HZXN0dXJlRGlkRW5kXTsKK30KKwordm9pZCBQYWdlQ2xpZW50SW1wbDo6bmF2aWdhdGlvbkdl
c3R1cmVEaWRFbmQoKQoreworICAgIFttX3dlYlZpZXcgX25hdmlnYXRpb25HZXN0dXJlRGlkRW5k
XTsKIH0KIAogdm9pZCBQYWdlQ2xpZW50SW1wbDo6d2lsbFJlY29yZE5hdmlnYXRpb25TbmFwc2hv
dChXZWJCYWNrRm9yd2FyZExpc3RJdGVtJiBpdGVtKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2lvcy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJJT1MubW0gYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvaW9zL1ZpZXdHZXN0dXJlQ29udHJvbGxlcklPUy5tbQppbmRleCAxYTRi
MzEwZTRjYzE0NzY0NWM3ZTEzOWJmY2ZiNmU4NWU2MDk0YzAxLi42NGI2ZGJmZTRjOWMxNjFiYjkx
NDUwMzU0OGYzM2EyNmI4YmQ3MDRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvaW9zL1ZpZXdHZXN0dXJlQ29udHJvbGxlcklPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvaW9zL1ZpZXdHZXN0dXJlQ29udHJvbGxlcklPUy5tbQpAQCAtMTg0LDYgKzE4NCw4
IEBAIHZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjpiZWdpblN3aXBlR2VzdHVyZShfVUlOYXZp
Z2F0aW9uSW50ZXJhY3RpdmVUcmFuc2l0aW9uCiAKICAgICBtX3dlYlBhZ2VQcm94eUZvckJhY2tG
b3J3YXJkTGlzdEZvckN1cnJlbnRTd2lwZSA9IG1fYWx0ZXJuYXRlQmFja0ZvcndhcmRMaXN0U291
cmNlVmlldy5nZXQoKSA/IG1fYWx0ZXJuYXRlQmFja0ZvcndhcmRMaXN0U291cmNlVmlldy5nZXQo
KS0+X3BhZ2UgOiAmbV93ZWJQYWdlUHJveHk7CiAgICAgbV93ZWJQYWdlUHJveHlGb3JCYWNrRm9y
d2FyZExpc3RGb3JDdXJyZW50U3dpcGUtPm5hdmlnYXRpb25HZXN0dXJlRGlkQmVnaW4oKTsKKyAg
ICBpZiAoJm1fd2ViUGFnZVByb3h5ICE9IG1fd2ViUGFnZVByb3h5Rm9yQmFja0ZvcndhcmRMaXN0
Rm9yQ3VycmVudFN3aXBlKQorICAgICAgICBtX3dlYlBhZ2VQcm94eS5uYXZpZ2F0aW9uR2VzdHVy
ZURpZEJlZ2luKCk7CiAKICAgICBhdXRvJiBiYWNrRm9yd2FyZExpc3QgPSBtX3dlYlBhZ2VQcm94
eUZvckJhY2tGb3J3YXJkTGlzdEZvckN1cnJlbnRTd2lwZS0+YmFja0ZvcndhcmRMaXN0KCk7CiAK
QEAgLTI4NSw2ICsyODcsOCBAQCB2b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6ZW5kU3dpcGVH
ZXN0dXJlKFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0qIHRhcmdldEl0ZW0sCiAgICAgICAgIFJlZlB0
cjxXZWJQYWdlUHJveHk+IHdlYlBhZ2VQcm94eUZvckJhY2tGb3J3YXJkTGlzdEZvckN1cnJlbnRT
d2lwZSA9IG1fd2ViUGFnZVByb3h5Rm9yQmFja0ZvcndhcmRMaXN0Rm9yQ3VycmVudFN3aXBlOwog
ICAgICAgICByZW1vdmVTd2lwZVNuYXBzaG90KCk7CiAgICAgICAgIHdlYlBhZ2VQcm94eUZvckJh
Y2tGb3J3YXJkTGlzdEZvckN1cnJlbnRTd2lwZS0+bmF2aWdhdGlvbkdlc3R1cmVEaWRFbmQoZmFs
c2UsICp0YXJnZXRJdGVtKTsKKyAgICAgICAgaWYgKCZtX3dlYlBhZ2VQcm94eSAhPSB3ZWJQYWdl
UHJveHlGb3JCYWNrRm9yd2FyZExpc3RGb3JDdXJyZW50U3dpcGUpCisgICAgICAgICAgICBtX3dl
YlBhZ2VQcm94eS5uYXZpZ2F0aW9uR2VzdHVyZURpZEVuZCgpOwogICAgICAgICByZXR1cm47CiAg
ICAgfQogCkBAIC0yOTMsNiArMjk3LDkgQEAgdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmVu
ZFN3aXBlR2VzdHVyZShXZWJCYWNrRm9yd2FyZExpc3RJdGVtKiB0YXJnZXRJdGVtLAogICAgICAg
ICBtX3NuYXBzaG90UmVtb3ZhbFRhcmdldFJlbmRlclRyZWVTaXplID0gc25hcHNob3QtPnJlbmRl
clRyZWVTaXplKCkgKiBzd2lwZVNuYXBzaG90UmVtb3ZhbFJlbmRlclRyZWVTaXplVGFyZ2V0RnJh
Y3Rpb247CiAKICAgICBtX3dlYlBhZ2VQcm94eUZvckJhY2tGb3J3YXJkTGlzdEZvckN1cnJlbnRT
d2lwZS0+bmF2aWdhdGlvbkdlc3R1cmVEaWRFbmQodHJ1ZSwgKnRhcmdldEl0ZW0pOworICAgIGlm
ICgmbV93ZWJQYWdlUHJveHkgIT0gbV93ZWJQYWdlUHJveHlGb3JCYWNrRm9yd2FyZExpc3RGb3JD
dXJyZW50U3dpcGUpCisgICAgICAgIG1fd2ViUGFnZVByb3h5Lm5hdmlnYXRpb25HZXN0dXJlRGlk
RW5kKCk7CisKICAgICBtX3dlYlBhZ2VQcm94eUZvckJhY2tGb3J3YXJkTGlzdEZvckN1cnJlbnRT
d2lwZS0+Z29Ub0JhY2tGb3J3YXJkSXRlbSh0YXJnZXRJdGVtKTsKIAogICAgIGlmIChhdXRvIGRy
YXdpbmdBcmVhID0gbV93ZWJQYWdlUHJveHkuZHJhd2luZ0FyZWEoKSkgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5oCmluZGV4IGFjNjc0OTZiZGM2YTQx
MDA1ZTJmY2FjNDYxYzZhYzk5OWM4OTMwNzYuLmRhNjRkMWZhMDQ0YTcwOWExODI1NjM2ZGI5MGFj
ZTExNTg0YjY5MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFn
ZUNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGll
bnRJbXBsLmgKQEAgLTE4Niw2ICsxODYsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBu
YXZpZ2F0aW9uR2VzdHVyZURpZEJlZ2luKCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIG5h
dmlnYXRpb25HZXN0dXJlV2lsbEVuZChib29sIHdpbGxOYXZpZ2F0ZSwgV2ViQmFja0ZvcndhcmRM
aXN0SXRlbSYpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBuYXZpZ2F0aW9uR2VzdHVyZURp
ZEVuZChib29sIHdpbGxOYXZpZ2F0ZSwgV2ViQmFja0ZvcndhcmRMaXN0SXRlbSYpIG92ZXJyaWRl
OworICAgIHZpcnR1YWwgdm9pZCBuYXZpZ2F0aW9uR2VzdHVyZURpZEVuZCgpIG92ZXJyaWRlOwog
ICAgIHZpcnR1YWwgdm9pZCB3aWxsUmVjb3JkTmF2aWdhdGlvblNuYXBzaG90KFdlYkJhY2tGb3J3
YXJkTGlzdEl0ZW0mKSBvdmVycmlkZTsKIAogICAgIE5TVmlldyAqYWN0aXZlVmlldygpIGNvbnN0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1w
bC5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW0KaW5k
ZXggYTQ0OGQ5ZTkzOTlhNTcwMmY4MDQwYWE5MjMzNTI3Y2M2YTIwNTdkNy4uYjQxYWNhNTI4YTcw
YjMxODk1NmE2MzUwN2ZkOWZkMzFmZDdlMDFiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCkBAIC03NjUsNiArNzY1LDEwIEBAIHZvaWQgUGFn
ZUNsaWVudEltcGw6Om5hdmlnYXRpb25HZXN0dXJlRGlkRW5kKGJvb2wgd2lsbE5hdmlnYXRlLCBX
ZWJCYWNrRm9yd2FyZExpCiAjZW5kaWYKIH0KIAordm9pZCBQYWdlQ2xpZW50SW1wbDo6bmF2aWdh
dGlvbkdlc3R1cmVEaWRFbmQoKQoreworfQorCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjp3aWxsUmVj
b3JkTmF2aWdhdGlvblNuYXBzaG90KFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0mIGl0ZW0pCiB7CiAj
aWYgV0tfQVBJX0VOQUJMRUQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255602</attachid>
            <date>2015-06-25 17:24:33 -0700</date>
            <delta_ts>2015-06-25 17:31:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146329-20150625172348.patch</filename>
            <type>text/plain</type>
            <size>18025</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1OTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTUwZGIzODBjZGJjOTg1
Yjk0ZTY4ZjZjMzViZDJhNzFhYTQzMjI1OS4uYjhlMGZiMzA2YThkMzI2NDY2MTcyMDM4ZGVlMDQ0
NWZhNmQ4NjYxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE1LTA2LTI1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1MgV0syXSBT
d2lwaW5nIGJhY2sganVzdCBhZnRlciBzY3JvbGxpbmcgY2FuIGNhdXNlIHNvbWUgdGlsZXMgdG8g
ZGlzYXBwZWFyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNDYzMjkKKyAgICAgICAgcmRhcjovL3Byb2JsZW0vMjEyMzMwMTAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBIYXZlIHRoZSBDb21wb3NpdGluZyBs
b2cgY2hhbm5lbCBkdW1wIHRoZSB2aXNpYmxlIHJlY3QgdXNlZCBmb3IgbGF5ZXIgZmx1c2hpbmcu
CisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6Zmx1c2hQZW5kaW5nTGF5ZXJDaGFu
Z2VzKToKKwogMjAxNS0wNi0yNCAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAK
ICAgICAgICAgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZXJyb3IgbWVzc2FnZSB3aGVuIGZyYW1l
IGxvYWQgaXMgYmxvY2tlZCBkb2VzIG5vdCByZWFkIHdlbGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBlMjE4OTIx
MjdiMGZiMzNkMjFjYjAyMzRhYzBkZmI2Mzk4NzZlN2MxLi41ZDczYjYzNWViMzA5NjgwMmI0YWIz
ZDY3YmQ1NzY1N2E3ZDZmZjNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDUgQEAKKzIwMTUtMDYt
MjUgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgW2lP
UyBXSzJdIFN3aXBpbmcgYmFjayBqdXN0IGFmdGVyIHNjcm9sbGluZyBjYW4gY2F1c2Ugc29tZSB0
aWxlcyB0byBkaXNhcHBlYXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0NjMyOQorICAgICAgICByZGFyOi8vcHJvYmxlbS8yMTIzMzAxMAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgV2hlbiBk
b2luZyBhIGJhY2sgc3dpcGUsIHZpZXdzIGludGVycG9zZWQgYmV0d2VlbiB0aGUgV0tXZWJWaWV3
IGFuZCB0aGUgV0tDb250ZW50VmlldworICAgICAgICBnZXQgcG9zaXRpb25zIGFuZCBhbmltYXRp
b25zIGZvciB0aGUgc3dpcGUuIFRoaXMgLV91cGRhdGVWaXNpYmxlQ29udGVudFJlY3RzIHRvCisg
ICAgICAgIGNvbXB1dGUgYmFkIHZpc2libGUgYW5kIHVub2JzY3VyZWQgcmVjdHMsIHNvIHdlIGxv
c2UgdGlsZXMuCisgICAgICAgIAorICAgICAgICBGaXggYnkgImZyZWV6aW5nIiB0aGUgdmlzaWJs
ZSBhbmQgdW5vYnNjdXJlZCBjb250ZW50IHJlY3RzIGluIHRoZSB2aWV3IGJlaW5nCisgICAgICAg
IHN3aXBlZCBmb3IgdGhlIGR1cmF0aW9uIG9mIHRoZSBuYXZpZ2F0aW9uIGdlc3R1cmUuIFdoZW4g
c3dpcGluZyB0aGUgbWFpbiB2aWV3LAorICAgICAgICB3ZSBqdXN0IHBsdW1iIHRocm91Z2ggbmF2
aWdhdGlvbkdlc3R1cmVEaWRFbmQoKS4gV2hlbiBSZWFkZXIgaXMgc2hvd2luZyBhbmQgdGhlCisg
ICAgICAgIHN3aXBlZCB2aWV3IGlzIGRpZmZlcmVudCBmcm9tIHRoZSBuYXZpZ2F0aW5nIHZpZXcs
IHVzZSB0aGUgbmV3IG5hdmlnYXRpb25HZXN0dXJlRGlkRW5kKCkKKyAgICAgICAgb3ZlcnJpZGUg
d2hpY2ggdGFrZXMgbm8gYXJndW1lbnRzLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfdXBkYXRlVmlzaWJsZUNvbnRl
bnRSZWN0c10pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX25hdmlnYXRpb25HZXN0dXJlRGlkQmVn
aW5dKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9uYXZpZ2F0aW9uR2VzdHVyZURpZEVuZF0pOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJL
aXQ6OlBhZ2VDbGllbnRJbXBsOjpuYXZpZ2F0aW9uR2VzdHVyZURpZEVuZCk6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
Q29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VD
bGllbnQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZVByb3h5OjpuYXZpZ2F0aW9uR2VzdHVyZURpZEVuZCk6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFn
ZUNsaWVudEltcGxJT1MuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBs
SU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6bmF2aWdhdGlvbkdlc3R1
cmVEaWRCZWdpbik6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpuYXZpZ2F0aW9u
R2VzdHVyZURpZEVuZCk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9WaWV3R2VzdHVyZUNvbnRy
b2xsZXJJT1MubW06CisgICAgICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJlQ29udHJvbGxlcjo6YmVn
aW5Td2lwZUdlc3R1cmUpOgorICAgICAgICAoV2ViS2l0OjpWaWV3R2VzdHVyZUNvbnRyb2xsZXI6
OmVuZFN3aXBlR2VzdHVyZSk6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1w
bC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW06CisgICAgICAg
IChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpuYXZpZ2F0aW9uR2VzdHVyZURpZEVuZCk6CisKIDIw
MTUtMDYtMjQgIFJ5dWFuIENob2kgIDxyeXVhbi5jaG9pQG5hdmVyY29ycC5jb20+CiAKICAgICAg
ICAgUmVtb3ZlIHNvbWUgZGVhZCBjb2RlIGZyb20gRG93bmxvYWQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKaW5kZXggMDI5NWRkMGEz
ZTM2NjIyMjE3MmY3MzU2MDZjNjVhY2Q3MGJiMmU1Yi4uODRlYTQzYmEyYTc4Y2M3YWI2YWMzYjQ2
ZWUwNDA1ZGNiZDJjNjA3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTQ2NywxMiArNDY3LDE4IEBAIHZvaWQgUmVuZGVy
TGF5ZXJDb21wb3NpdG9yOjpmbHVzaFBlbmRpbmdMYXllckNoYW5nZXMoYm9vbCBpc0ZsdXNoUm9v
dCkKIAogICAgIGlmIChHcmFwaGljc0xheWVyKiByb290TGF5ZXIgPSByb290R3JhcGhpY3NMYXll
cigpKSB7CiAjaWYgUExBVEZPUk0oSU9TKQotICAgICAgICByb290TGF5ZXItPmZsdXNoQ29tcG9z
aXRpbmdTdGF0ZShmcmFtZVZpZXcuZXhwb3NlZENvbnRlbnRSZWN0KCkpOworICAgICAgICBGbG9h
dFJlY3QgZXhwb3NlZFJlY3QgPSBmcmFtZVZpZXcuZXhwb3NlZENvbnRlbnRSZWN0KCk7CisgICAg
ICAgIExPRyhDb21wb3NpdGluZywgIlJlbmRlckxheWVyQ29tcG9zaXRvciAlcCBmbHVzaFBlbmRp
bmdMYXllckNoYW5nZXMoJWQpICUuMmYsICUuMmYsICUuMmZ4JS4yZiIsIHRoaXMsIGlzRmx1c2hS
b290LAorICAgICAgICAgICAgZXhwb3NlZFJlY3QueCgpLCBleHBvc2VkUmVjdC55KCksIGV4cG9z
ZWRSZWN0LndpZHRoKCksIGV4cG9zZWRSZWN0LmhlaWdodCgpKTsKKyAgICAgICAgcm9vdExheWVy
LT5mbHVzaENvbXBvc2l0aW5nU3RhdGUoZXhwb3NlZFJlY3QpOwogI2Vsc2UKICAgICAgICAgLy8g
SGF2aW5nIGEgbV9jbGlwTGF5ZXIgaW5kaWNhdGVzIHRoYXQgd2UncmUgZG9pbmcgc2Nyb2xsaW5n
IHZpYSBHcmFwaGljc0xheWVycy4KICAgICAgICAgSW50UmVjdCB2aXNpYmxlUmVjdCA9IG1fY2xp
cExheWVyID8gSW50UmVjdChJbnRQb2ludCgpLCBmcmFtZVZpZXcudW5zY2FsZWRWaXNpYmxlQ29u
dGVudFNpemVJbmNsdWRpbmdPYnNjdXJlZEFyZWEoKSkgOiBmcmFtZVZpZXcudmlzaWJsZUNvbnRl
bnRSZWN0KCk7CiAgICAgICAgIGlmICghZnJhbWVWaWV3LmV4cG9zZWRSZWN0KCkuaXNJbmZpbml0
ZSgpKQogICAgICAgICAgICAgdmlzaWJsZVJlY3QuaW50ZXJzZWN0KEludFJlY3QoZnJhbWVWaWV3
LmV4cG9zZWRSZWN0KCkpKTsKKworICAgICAgICBMT0coQ29tcG9zaXRpbmcsICJSZW5kZXJMYXll
ckNvbXBvc2l0b3IgJXAgZmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKCVkKSAlZCwgJWQsICVkeCVk
IiwgdGhpcywgaXNGbHVzaFJvb3QsCisgICAgICAgICAgICB2aXNpYmxlUmVjdC54KCksIHZpc2li
bGVSZWN0LnkoKSwgdmlzaWJsZVJlY3Qud2lkdGgoKSwgdmlzaWJsZVJlY3QuaGVpZ2h0KCkpOwog
ICAgICAgICByb290TGF5ZXItPmZsdXNoQ29tcG9zaXRpbmdTdGF0ZSh2aXNpYmxlUmVjdCk7CiAj
ZW5kaWYKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Lm1tCmluZGV4IDNlMTZlMGNkZTVkYTAzNDMwOGI5NzdkZDZkMWUzMjIxZTk3ZGE1NGUu
LjdkMGYyMjhjMmZmMjVlNTEyNjI3NjcwYzNmMTRhYzllNWMyZTA4ZDcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC04Myw2ICs4Myw3
IEBACiAjaW1wb3J0IDx3dGYvSGFzaE1hcC5oPgogI2ltcG9ydCA8d3RmL01hdGhFeHRyYXMuaD4K
ICNpbXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgorI2ltcG9ydCA8d3RmL09wdGlvbmFsLmg+
CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKICNpZiBQTEFURk9STShJT1MpCkBAIC0xODks
NiArMTkwLDggQEAgQGltcGxlbWVudGF0aW9uIFdLV2ViVmlldyB7CiAgICAgdWludDY0X3QgX3Jl
c2l6ZUFuaW1hdGlvblRyYW5zZm9ybVRyYW5zYWN0aW9uSUQ7CiAgICAgUmV0YWluUHRyPFVJVmll
dz4gX3Jlc2l6ZUFuaW1hdGlvblZpZXc7CiAgICAgQ0dGbG9hdCBfbGFzdEFkanVzdG1lbnRGb3JT
Y3JvbGxlcjsKKyAgICBPcHRpb25hbDxDR1JlY3Q+IF9mcm96ZW5WaXNpYmxlQ29udGVudFJlY3Q7
CisgICAgT3B0aW9uYWw8Q0dSZWN0PiBfZnJvemVuVW5vYnNjdXJlZENvbnRlbnRSZWN0OwogCiAg
ICAgQk9PTCBfbmVlZHNUb1Jlc3RvcmVFeHBvc2VkUmVjdDsKICAgICBXZWJDb3JlOjpGbG9hdFJl
Y3QgX2V4cG9zZWRSZWN0VG9SZXN0b3JlOwpAQCAtMTU1NywxMCArMTU2MCwxMCBAQCAtICh2b2lk
KV91cGRhdGVWaXNpYmxlQ29udGVudFJlY3RzCiAgICAgICAgIHJldHVybjsKIAogICAgIENHUmVj
dCBmdWxsVmlld1JlY3QgPSBzZWxmLmJvdW5kczsKLSAgICBDR1JlY3QgdmlzaWJsZVJlY3RJbkNv
bnRlbnRDb29yZGluYXRlcyA9IFtzZWxmIGNvbnZlcnRSZWN0OmZ1bGxWaWV3UmVjdCB0b1ZpZXc6
X2NvbnRlbnRWaWV3LmdldCgpXTsKKyAgICBDR1JlY3QgdmlzaWJsZVJlY3RJbkNvbnRlbnRDb29y
ZGluYXRlcyA9IF9mcm96ZW5WaXNpYmxlQ29udGVudFJlY3QgPyBfZnJvemVuVmlzaWJsZUNvbnRl
bnRSZWN0LnZhbHVlKCkgOiBbc2VsZiBjb252ZXJ0UmVjdDpmdWxsVmlld1JlY3QgdG9WaWV3Ol9j
b250ZW50Vmlldy5nZXQoKV07CiAKICAgICBDR1JlY3QgdW5vYnNjdXJlZFJlY3QgPSBVSUVkZ2VJ
bnNldHNJbnNldFJlY3QoZnVsbFZpZXdSZWN0LCBbc2VsZiBfY29tcHV0ZWRDb250ZW50SW5zZXRd
KTsKLSAgICBDR1JlY3QgdW5vYnNjdXJlZFJlY3RJbkNvbnRlbnRDb29yZGluYXRlcyA9IFtzZWxm
IGNvbnZlcnRSZWN0OnVub2JzY3VyZWRSZWN0IHRvVmlldzpfY29udGVudFZpZXcuZ2V0KCldOwor
ICAgIENHUmVjdCB1bm9ic2N1cmVkUmVjdEluQ29udGVudENvb3JkaW5hdGVzID0gX2Zyb3plblVu
b2JzY3VyZWRDb250ZW50UmVjdCA/IF9mcm96ZW5Vbm9ic2N1cmVkQ29udGVudFJlY3QudmFsdWUo
KSA6IFtzZWxmIGNvbnZlcnRSZWN0OnVub2JzY3VyZWRSZWN0IHRvVmlldzpfY29udGVudFZpZXcu
Z2V0KCldOwogCiAgICAgQ0dGbG9hdCBzY2FsZUZhY3RvciA9IGNvbnRlbnRab29tU2NhbGUoc2Vs
Zik7CiAKQEAgLTE3MDgsNyArMTcxMSwyNSBAQCAtIChCT09MKWFsbG93c0JhY2tGb3J3YXJkTmF2
aWdhdGlvbkdlc3R1cmVzCiAgICAgcmV0dXJuIF9hbGxvd3NCYWNrRm9yd2FyZE5hdmlnYXRpb25H
ZXN0dXJlczsKIH0KIAotI2VuZGlmCistICh2b2lkKV9uYXZpZ2F0aW9uR2VzdHVyZURpZEJlZ2lu
Cit7CisgICAgLy8gRHVyaW5nIGEgYmFjay9mb3J3YXJkIHN3aXBlLCB0aGVyZSdzIGEgdmlldyBp
bnRlcnBvc2VkIGJldHdlZW4gdGhpcyB2aWV3IGFuZCB0aGUgY29udGVudCB2aWV3IHRoYXQgaGFz
CisgICAgLy8gYW4gb2Zmc2V0IGFuZCBhbmltYXRpb24gb24gaXQsIHdoaWNoIHJlc3VsdHMgaW4g
Y29tcHV0aW5nIGluY29ycmVjdCByZWN0YW5nbGVzLiBXb3JrIGFyb3VuZCBieSB1c2luZworICAg
IC8vIGZyb3plbiByZWN0cyBkdXJpbmcgc3dpcGVzLgorICAgIENHUmVjdCBmdWxsVmlld1JlY3Qg
PSBzZWxmLmJvdW5kczsKKyAgICBDR1JlY3QgdW5vYnNjdXJlZFJlY3QgPSBVSUVkZ2VJbnNldHNJ
bnNldFJlY3QoZnVsbFZpZXdSZWN0LCBbc2VsZiBfY29tcHV0ZWRDb250ZW50SW5zZXRdKTsKKwor
ICAgIF9mcm96ZW5WaXNpYmxlQ29udGVudFJlY3QgPSBbc2VsZiBjb252ZXJ0UmVjdDpmdWxsVmll
d1JlY3QgdG9WaWV3Ol9jb250ZW50Vmlldy5nZXQoKV07CisgICAgX2Zyb3plblVub2JzY3VyZWRD
b250ZW50UmVjdCA9IFtzZWxmIGNvbnZlcnRSZWN0OnVub2JzY3VyZWRSZWN0IHRvVmlldzpfY29u
dGVudFZpZXcuZ2V0KCldOworfQorCistICh2b2lkKV9uYXZpZ2F0aW9uR2VzdHVyZURpZEVuZAor
eworICAgIF9mcm96ZW5WaXNpYmxlQ29udGVudFJlY3QgPSBOdWxsb3B0OworICAgIF9mcm96ZW5V
bm9ic2N1cmVkQ29udGVudFJlY3QgPSBOdWxsb3B0OworfQorCisjZW5kaWYgLy8gUExBVEZPUk0o
SU9TKQogCiAjcHJhZ21hIG1hcmsgT1MgWC1zcGVjaWZpYyBtZXRob2RzCiAKQEAgLTE3OTgsNyAr
MTgxOSw3IEBAIC0gKEJPT0wpcGVyZm9ybURyYWdPcGVyYXRpb246KGlkIDxOU0RyYWdnaW5nSW5m
bz4pc2VuZGVyCiB7CiAgICAgcmV0dXJuIFtfd2tWaWV3IHBlcmZvcm1EcmFnT3BlcmF0aW9uOnNl
bmRlcl07CiB9Ci0jZW5kaWYKKyNlbmRpZiAvLyBQTEFURk9STShNQUMpCiAKIEBlbmQKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRl
cm5hbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRl
cm5hbC5oCmluZGV4IGRmM2U3ZDdmYTRhNDIyZTAwMDYzZTQ4ZmZhOGU0ODE5ZGQyMGRmMzkuLmEz
ODQ5ZmZkOWI2MWE5ODkwOGFjN2U1ZjhlMThmMmQyNGZjODkzYzggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFsLmgKQEAg
LTEwMyw2ICsxMDMsOSBAQCBzdHJ1Y3QgUHJpbnRJbmZvOwogCiAtICh2b2lkKV91cGRhdGVTY3Jv
bGxWaWV3QmFja2dyb3VuZDsKIAorLSAodm9pZClfbmF2aWdhdGlvbkdlc3R1cmVEaWRCZWdpbjsK
Ky0gKHZvaWQpX25hdmlnYXRpb25HZXN0dXJlRGlkRW5kOworCiBAcHJvcGVydHkgKG5vbmF0b21p
YywgcmVhZG9ubHkpIFVJRWRnZUluc2V0cyBfY29tcHV0ZWRDb250ZW50SW5zZXQ7CiAjZWxzZQog
QHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0SWdub3Jlc05vbldoZWVsRXZlbnRzOikg
Qk9PTCBfaWdub3Jlc05vbldoZWVsRXZlbnRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuY3BwCmluZGV4IDMzY2VjZTZmZTU1YTUyYTVi
NDY3MTFiOWIxOGI2NzA1ZjY2NjYyMWQuLmMzYmM2M2VjZDMxMzdmMzRkNDdmNjgyNjUxYmFlZTA1
MDY3NmI2ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1Bh
Z2VDbGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9Q
YWdlQ2xpZW50SW1wbC5jcHAKQEAgLTQxMCw2ICs0MTAsMTAgQEAgdm9pZCBQYWdlQ2xpZW50SW1w
bDo6bmF2aWdhdGlvbkdlc3R1cmVEaWRFbmQoYm9vbCwgV2ViQmFja0ZvcndhcmRMaXN0SXRlbSYp
CiB7CiB9CiAKK3ZvaWQgUGFnZUNsaWVudEltcGw6Om5hdmlnYXRpb25HZXN0dXJlRGlkRW5kKCkK
K3sKK30KKwogdm9pZCBQYWdlQ2xpZW50SW1wbDo6d2lsbFJlY29yZE5hdmlnYXRpb25TbmFwc2hv
dChXZWJCYWNrRm9yd2FyZExpc3RJdGVtJikKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oCmluZGV4IDJhZGI5NjZmNDExNTVjZTk0
Y2ZkOTQxZGNjNTYyMzY0ODljMGNjZjUuLjVhYzUwYTIzNzg4YTgwY2Q2ZjZjODlkNjQyYjAyZmQy
NmU5YzYzZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1Bh
Z2VDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvUGFn
ZUNsaWVudEltcGwuaApAQCAtMTIyLDYgKzEyMiw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2
b2lkIG5hdmlnYXRpb25HZXN0dXJlRGlkQmVnaW4oKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZv
aWQgbmF2aWdhdGlvbkdlc3R1cmVXaWxsRW5kKGJvb2wsIFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0m
KSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgbmF2aWdhdGlvbkdlc3R1cmVEaWRFbmQoYm9v
bCwgV2ViQmFja0ZvcndhcmRMaXN0SXRlbSYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBu
YXZpZ2F0aW9uR2VzdHVyZURpZEVuZCgpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCB3aWxs
UmVjb3JkTmF2aWdhdGlvblNuYXBzaG90KFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0mKSBvdmVycmlk
ZTsKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRGb3JN
YWluRnJhbWUoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuaAppbmRleCAxMDg5ZDYzZDk1MDc2ZGU0OTFm
YmE0ZWM2YzA1ZDcyNTM0MWEwOGIxLi45N2Q4NzkwNzcwYTJhMDAzOTQxNzJkNThiZmYxOTgwMzU2
OWU5ZmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9XZWJWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvV2ViVmlldy5oCkBAIC0yMDMsNiArMjAzLDcgQEAgcHJvdGVjdGVkOgogICAg
IHZpcnR1YWwgdm9pZCBuYXZpZ2F0aW9uR2VzdHVyZURpZEJlZ2luKCkgb3ZlcnJpZGUgeyB9Owog
ICAgIHZpcnR1YWwgdm9pZCBuYXZpZ2F0aW9uR2VzdHVyZVdpbGxFbmQoYm9vbCwgV2ViQmFja0Zv
cndhcmRMaXN0SXRlbSYpIG92ZXJyaWRlIHsgfTsKICAgICB2aXJ0dWFsIHZvaWQgbmF2aWdhdGlv
bkdlc3R1cmVEaWRFbmQoYm9vbCwgV2ViQmFja0ZvcndhcmRMaXN0SXRlbSYpIG92ZXJyaWRlIHsg
fTsKKyAgICB2aXJ0dWFsIHZvaWQgbmF2aWdhdGlvbkdlc3R1cmVEaWRFbmQoKSBvdmVycmlkZSB7
IH07CiAgICAgdmlydHVhbCB2b2lkIHdpbGxSZWNvcmROYXZpZ2F0aW9uU25hcHNob3QoV2ViQmFj
a0ZvcndhcmRMaXN0SXRlbSYpIG92ZXJyaWRlIHsgfTsKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRD
aGFuZ2VCYWNrZ3JvdW5kQ29sb3IoKSBvdmVycmlkZSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
UGFnZUNsaWVudC5oCmluZGV4IGRlMjRkMzAwYmUxNzExY2JmMzk3YmViMTRhZmE5MjA2YTYwODhm
NzMuLmQyYWZhY2M0MmJlOTU5YzA5YWE3YzdkYTcwMmJlOTNkMjg5ODVlNDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApAQCAtMzA3LDYgKzMwNyw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgbmF2aWdhdGlvbkdlc3R1cmVEaWRCZWdpbigpID0gMDsKICAgICB2aXJ0
dWFsIHZvaWQgbmF2aWdhdGlvbkdlc3R1cmVXaWxsRW5kKGJvb2wgd2lsbE5hdmlnYXRlLCBXZWJC
YWNrRm9yd2FyZExpc3RJdGVtJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBuYXZpZ2F0aW9uR2Vz
dHVyZURpZEVuZChib29sIHdpbGxOYXZpZ2F0ZSwgV2ViQmFja0ZvcndhcmRMaXN0SXRlbSYpID0g
MDsKKyAgICB2aXJ0dWFsIHZvaWQgbmF2aWdhdGlvbkdlc3R1cmVEaWRFbmQoKSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIHdpbGxSZWNvcmROYXZpZ2F0aW9uU25hcHNob3QoV2ViQmFja0ZvcndhcmRM
aXN0SXRlbSYpID0gMDsKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRGaXJzdFZpc3VhbGx5Tm9uRW1w
dHlMYXlvdXRGb3JNYWluRnJhbWUoKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCmluZGV4IGE1NTBlMzU3MGNkZTdlYzAwZTVlZjI4ZmM3OTEyMzVjOTQxMTQx
ZGEuLmIwNDExZjZlMjY4NDJmYjk3NjdjYmQwYjA4MTIzZmRjOGE1YjE1YjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC01NzQ2LDYgKzU3NDYsMTEgQEAg
dm9pZCBXZWJQYWdlUHJveHk6Om5hdmlnYXRpb25HZXN0dXJlRGlkRW5kKGJvb2wgd2lsbE5hdmln
YXRlLCBXZWJCYWNrRm9yd2FyZExpc3QKICAgICBtX2xvYWRlckNsaWVudC0+bmF2aWdhdGlvbkdl
c3R1cmVEaWRFbmQoKnRoaXMsIHdpbGxOYXZpZ2F0ZSwgaXRlbSk7CiB9CiAKK3ZvaWQgV2ViUGFn
ZVByb3h5OjpuYXZpZ2F0aW9uR2VzdHVyZURpZEVuZCgpCit7CisgICAgbV9wYWdlQ2xpZW50Lm5h
dmlnYXRpb25HZXN0dXJlRGlkRW5kKCk7Cit9CisKIHZvaWQgV2ViUGFnZVByb3h5Ojp3aWxsUmVj
b3JkTmF2aWdhdGlvblNuYXBzaG90KFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0mIGl0ZW0pCiB7CiAg
ICAgbV9wYWdlQ2xpZW50LndpbGxSZWNvcmROYXZpZ2F0aW9uU25hcHNob3QoaXRlbSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggOGU5NDE4Mzk0YmUyOWY3ZmYz
ZjVlZDJlZTQ3OTljYmI0NjYxZjMyNi4uMmM5NTBmNDdjNTExZGMxZWM0OGY1NTMwOWVlNGU5Yjhh
ODJiZDdiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTAw
NSw2ICsxMDA1LDcgQEAgcHVibGljOgogICAgIHZvaWQgbmF2aWdhdGlvbkdlc3R1cmVEaWRCZWdp
bigpOwogICAgIHZvaWQgbmF2aWdhdGlvbkdlc3R1cmVXaWxsRW5kKGJvb2wgd2lsbE5hdmlnYXRl
LCBXZWJCYWNrRm9yd2FyZExpc3RJdGVtJik7CiAgICAgdm9pZCBuYXZpZ2F0aW9uR2VzdHVyZURp
ZEVuZChib29sIHdpbGxOYXZpZ2F0ZSwgV2ViQmFja0ZvcndhcmRMaXN0SXRlbSYpOworICAgIHZv
aWQgbmF2aWdhdGlvbkdlc3R1cmVEaWRFbmQoKTsKICAgICB2b2lkIG5hdmlnYXRpb25HZXN0dXJl
U25hcHNob3RXYXNSZW1vdmVkKCk7CiAgICAgdm9pZCB3aWxsUmVjb3JkTmF2aWdhdGlvblNuYXBz
aG90KFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0mKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCmluZGV4IGEwYTQ0OGRmYTgwMWFjYTIyMjk1
ODBhNTc4YTMxYTIwZGMzMzkzOTAuLjY5YjgwMjZhYzk0NDJkZTc2M2Y0NjY4ZDY1M2QxYjcxNDAw
MmJiY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVu
dEltcGxJT1MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJ
bXBsSU9TLmgKQEAgLTE3NSw2ICsxNzUsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBu
YXZpZ2F0aW9uR2VzdHVyZURpZEJlZ2luKCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIG5h
dmlnYXRpb25HZXN0dXJlV2lsbEVuZChib29sIHdpbGxOYXZpZ2F0ZSwgV2ViQmFja0ZvcndhcmRM
aXN0SXRlbSYpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBuYXZpZ2F0aW9uR2VzdHVyZURp
ZEVuZChib29sIHdpbGxOYXZpZ2F0ZSwgV2ViQmFja0ZvcndhcmRMaXN0SXRlbSYpIG92ZXJyaWRl
OworICAgIHZpcnR1YWwgdm9pZCBuYXZpZ2F0aW9uR2VzdHVyZURpZEVuZCgpIG92ZXJyaWRlOwog
ICAgIHZpcnR1YWwgdm9pZCB3aWxsUmVjb3JkTmF2aWdhdGlvblNuYXBzaG90KFdlYkJhY2tGb3J3
YXJkTGlzdEl0ZW0mKSBvdmVycmlkZTsKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRGaXJzdFZpc3Vh
bGx5Tm9uRW1wdHlMYXlvdXRGb3JNYWluRnJhbWUoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0gYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCmluZGV4IGNhNzJhNzcx
NGM0MmY1NWE2NjBiYzYzYjUzZmRhMTQ0MTAxMzEwMWIuLmM2OGMyOTAyMWYwZDkyMTY3NjMwZGE1
ZmU0ZDk5NDcyYzBjZmRjMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9p
b3MvUGFnZUNsaWVudEltcGxJT1MubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lv
cy9QYWdlQ2xpZW50SW1wbElPUy5tbQpAQCAtNjg1LDYgKzY4NSw3IEBAIFZlY3RvcjxTdHJpbmc+
IFBhZ2VDbGllbnRJbXBsOjptaW1lVHlwZXNXaXRoQ3VzdG9tQ29udGVudFByb3ZpZGVycygpCiAK
IHZvaWQgUGFnZUNsaWVudEltcGw6Om5hdmlnYXRpb25HZXN0dXJlRGlkQmVnaW4oKQogeworICAg
IFttX3dlYlZpZXcgX25hdmlnYXRpb25HZXN0dXJlRGlkQmVnaW5dOwogICAgIE5hdmlnYXRpb25T
dGF0ZTo6ZnJvbVdlYlBhZ2UoKm1fd2ViVmlldy0+X3BhZ2UpLm5hdmlnYXRpb25HZXN0dXJlRGlk
QmVnaW4oKTsKIH0KIApAQCAtNjk2LDYgKzY5NywxMiBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpu
YXZpZ2F0aW9uR2VzdHVyZVdpbGxFbmQoYm9vbCB3aWxsTmF2aWdhdGUsIFdlYkJhY2tGb3J3YXJk
TAogdm9pZCBQYWdlQ2xpZW50SW1wbDo6bmF2aWdhdGlvbkdlc3R1cmVEaWRFbmQoYm9vbCB3aWxs
TmF2aWdhdGUsIFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0mIGl0ZW0pCiB7CiAgICAgTmF2aWdhdGlv
blN0YXRlOjpmcm9tV2ViUGFnZSgqbV93ZWJWaWV3LT5fcGFnZSkubmF2aWdhdGlvbkdlc3R1cmVE
aWRFbmQod2lsbE5hdmlnYXRlLCBpdGVtKTsKKyAgICBbbV93ZWJWaWV3IF9uYXZpZ2F0aW9uR2Vz
dHVyZURpZEVuZF07Cit9CisKK3ZvaWQgUGFnZUNsaWVudEltcGw6Om5hdmlnYXRpb25HZXN0dXJl
RGlkRW5kKCkKK3sKKyAgICBbbV93ZWJWaWV3IF9uYXZpZ2F0aW9uR2VzdHVyZURpZEVuZF07CiB9
CiAKIHZvaWQgUGFnZUNsaWVudEltcGw6OndpbGxSZWNvcmROYXZpZ2F0aW9uU25hcHNob3QoV2Vi
QmFja0ZvcndhcmRMaXN0SXRlbSYgaXRlbSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9pb3MvVmlld0dlc3R1cmVDb250cm9sbGVySU9TLm1tIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2lvcy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJJT1MubW0KaW5kZXggMWE0YjMxMGU0
Y2MxNDc2NDVjN2UxMzliZmNmYjZlODVlNjA5NGMwMS4uNjRiNmRiZmU0YzljMTYxYmI5MTQ1MDM1
NDhmMzNhMjZiOGJkNzA0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lv
cy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJJT1MubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2lvcy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJJT1MubW0KQEAgLTE4NCw2ICsxODQsOCBAQCB2
b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6YmVnaW5Td2lwZUdlc3R1cmUoX1VJTmF2aWdhdGlv
bkludGVyYWN0aXZlVHJhbnNpdGlvbgogCiAgICAgbV93ZWJQYWdlUHJveHlGb3JCYWNrRm9yd2Fy
ZExpc3RGb3JDdXJyZW50U3dpcGUgPSBtX2FsdGVybmF0ZUJhY2tGb3J3YXJkTGlzdFNvdXJjZVZp
ZXcuZ2V0KCkgPyBtX2FsdGVybmF0ZUJhY2tGb3J3YXJkTGlzdFNvdXJjZVZpZXcuZ2V0KCktPl9w
YWdlIDogJm1fd2ViUGFnZVByb3h5OwogICAgIG1fd2ViUGFnZVByb3h5Rm9yQmFja0ZvcndhcmRM
aXN0Rm9yQ3VycmVudFN3aXBlLT5uYXZpZ2F0aW9uR2VzdHVyZURpZEJlZ2luKCk7CisgICAgaWYg
KCZtX3dlYlBhZ2VQcm94eSAhPSBtX3dlYlBhZ2VQcm94eUZvckJhY2tGb3J3YXJkTGlzdEZvckN1
cnJlbnRTd2lwZSkKKyAgICAgICAgbV93ZWJQYWdlUHJveHkubmF2aWdhdGlvbkdlc3R1cmVEaWRC
ZWdpbigpOwogCiAgICAgYXV0byYgYmFja0ZvcndhcmRMaXN0ID0gbV93ZWJQYWdlUHJveHlGb3JC
YWNrRm9yd2FyZExpc3RGb3JDdXJyZW50U3dpcGUtPmJhY2tGb3J3YXJkTGlzdCgpOwogCkBAIC0y
ODUsNiArMjg3LDggQEAgdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmVuZFN3aXBlR2VzdHVy
ZShXZWJCYWNrRm9yd2FyZExpc3RJdGVtKiB0YXJnZXRJdGVtLAogICAgICAgICBSZWZQdHI8V2Vi
UGFnZVByb3h5PiB3ZWJQYWdlUHJveHlGb3JCYWNrRm9yd2FyZExpc3RGb3JDdXJyZW50U3dpcGUg
PSBtX3dlYlBhZ2VQcm94eUZvckJhY2tGb3J3YXJkTGlzdEZvckN1cnJlbnRTd2lwZTsKICAgICAg
ICAgcmVtb3ZlU3dpcGVTbmFwc2hvdCgpOwogICAgICAgICB3ZWJQYWdlUHJveHlGb3JCYWNrRm9y
d2FyZExpc3RGb3JDdXJyZW50U3dpcGUtPm5hdmlnYXRpb25HZXN0dXJlRGlkRW5kKGZhbHNlLCAq
dGFyZ2V0SXRlbSk7CisgICAgICAgIGlmICgmbV93ZWJQYWdlUHJveHkgIT0gd2ViUGFnZVByb3h5
Rm9yQmFja0ZvcndhcmRMaXN0Rm9yQ3VycmVudFN3aXBlKQorICAgICAgICAgICAgbV93ZWJQYWdl
UHJveHkubmF2aWdhdGlvbkdlc3R1cmVEaWRFbmQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
IApAQCAtMjkzLDYgKzI5Nyw5IEBAIHZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjplbmRTd2lw
ZUdlc3R1cmUoV2ViQmFja0ZvcndhcmRMaXN0SXRlbSogdGFyZ2V0SXRlbSwKICAgICAgICAgbV9z
bmFwc2hvdFJlbW92YWxUYXJnZXRSZW5kZXJUcmVlU2l6ZSA9IHNuYXBzaG90LT5yZW5kZXJUcmVl
U2l6ZSgpICogc3dpcGVTbmFwc2hvdFJlbW92YWxSZW5kZXJUcmVlU2l6ZVRhcmdldEZyYWN0aW9u
OwogCiAgICAgbV93ZWJQYWdlUHJveHlGb3JCYWNrRm9yd2FyZExpc3RGb3JDdXJyZW50U3dpcGUt
Pm5hdmlnYXRpb25HZXN0dXJlRGlkRW5kKHRydWUsICp0YXJnZXRJdGVtKTsKKyAgICBpZiAoJm1f
d2ViUGFnZVByb3h5ICE9IG1fd2ViUGFnZVByb3h5Rm9yQmFja0ZvcndhcmRMaXN0Rm9yQ3VycmVu
dFN3aXBlKQorICAgICAgICBtX3dlYlBhZ2VQcm94eS5uYXZpZ2F0aW9uR2VzdHVyZURpZEVuZCgp
OworCiAgICAgbV93ZWJQYWdlUHJveHlGb3JCYWNrRm9yd2FyZExpc3RGb3JDdXJyZW50U3dpcGUt
PmdvVG9CYWNrRm9yd2FyZEl0ZW0odGFyZ2V0SXRlbSk7CiAKICAgICBpZiAoYXV0byBkcmF3aW5n
QXJlYSA9IG1fd2ViUGFnZVByb3h5LmRyYXdpbmdBcmVhKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwuaAppbmRleCBhYzY3NDk2YmRjNmE0MTAwNWUy
ZmNhYzQ2MWM2YWM5OTljODkzMDc2Li5kYTY0ZDFmYTA0NGE3MDlhMTgyNTYzNmRiOTBhY2UxMTU4
NGI2OTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGll
bnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1w
bC5oCkBAIC0xODYsNiArMTg2LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgbmF2aWdh
dGlvbkdlc3R1cmVEaWRCZWdpbigpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBuYXZpZ2F0
aW9uR2VzdHVyZVdpbGxFbmQoYm9vbCB3aWxsTmF2aWdhdGUsIFdlYkJhY2tGb3J3YXJkTGlzdEl0
ZW0mKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgbmF2aWdhdGlvbkdlc3R1cmVEaWRFbmQo
Ym9vbCB3aWxsTmF2aWdhdGUsIFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0mKSBvdmVycmlkZTsKKyAg
ICB2aXJ0dWFsIHZvaWQgbmF2aWdhdGlvbkdlc3R1cmVEaWRFbmQoKSBvdmVycmlkZTsKICAgICB2
aXJ0dWFsIHZvaWQgd2lsbFJlY29yZE5hdmlnYXRpb25TbmFwc2hvdChXZWJCYWNrRm9yd2FyZExp
c3RJdGVtJikgb3ZlcnJpZGU7CiAKICAgICBOU1ZpZXcgKmFjdGl2ZVZpZXcoKSBjb25zdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW0g
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCmluZGV4IGE0
NDhkOWU5Mzk5YTU3MDJmODA0MGFhOTIzMzUyN2NjNmEyMDU3ZDcuLmI0MWFjYTUyOGE3MGIzMTg5
NTZhNjM1MDdmZDlmZDMxZmQ3ZTAxYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L21hYy9QYWdlQ2xpZW50SW1wbC5tbQpAQCAtNzY1LDYgKzc2NSwxMCBAQCB2b2lkIFBhZ2VDbGll
bnRJbXBsOjpuYXZpZ2F0aW9uR2VzdHVyZURpZEVuZChib29sIHdpbGxOYXZpZ2F0ZSwgV2ViQmFj
a0ZvcndhcmRMaQogI2VuZGlmCiB9CiAKK3ZvaWQgUGFnZUNsaWVudEltcGw6Om5hdmlnYXRpb25H
ZXN0dXJlRGlkRW5kKCkKK3sKK30KKwogdm9pZCBQYWdlQ2xpZW50SW1wbDo6d2lsbFJlY29yZE5h
dmlnYXRpb25TbmFwc2hvdChXZWJCYWNrRm9yd2FyZExpc3RJdGVtJiBpdGVtKQogewogI2lmIFdL
X0FQSV9FTkFCTEVECg==
</data>
<flag name="review"
          id="280684"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>