<?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>148012</bug_id>
          
          <creation_ts>2015-08-13 19:08:51 -0700</creation_ts>
          <short_desc>Performing a Lookup on wrapped text puts the popover arrow in the wrong place (off to the right)</short_desc>
          <delta_ts>2015-08-13 23:33:15 -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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>andersca</cc>
    
    <cc>bdakin</cc>
    
    <cc>enrica</cc>
    
    <cc>mitz</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1117520</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-08-13 19:08:51 -0700</bug_when>
    <thetext>Performing a Lookup on wrapped text puts the popover arrow in the wrong place (off to the right)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117521</commentid>
    <comment_count>1</comment_count>
      <attachid>258970</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-08-13 19:09:48 -0700</bug_when>
    <thetext>Created attachment 258970
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117522</commentid>
    <comment_count>2</comment_count>
      <attachid>258970</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-08-13 19:12:50 -0700</bug_when>
    <thetext>Comment on attachment 258970
Patch

Something is not right with WK1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117529</commentid>
    <comment_count>3</comment_count>
      <attachid>258971</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-08-13 19:31:44 -0700</bug_when>
    <thetext>Created attachment 258971
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117530</commentid>
    <comment_count>4</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-08-13 19:31:59 -0700</bug_when>
    <thetext>&lt;rdar://problem/19238094&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117579</commentid>
    <comment_count>5</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-08-13 22:49:55 -0700</bug_when>
    <thetext>The *ChangeLog*s don&apos;t apply? That&apos;s new.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117580</commentid>
    <comment_count>6</comment_count>
      <attachid>258983</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-08-13 22:53:07 -0700</bug_when>
    <thetext>Created attachment 258983
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117584</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-08-13 23:05:20 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; The *ChangeLog*s don&apos;t apply? That&apos;s new.

I keep getting that! Did someone break resolve-Changelogs? Maybe &lt;rdar://problem/22044326&gt;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117596</commentid>
    <comment_count>8</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-08-13 23:33:15 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/188443</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258970</attachid>
            <date>2015-08-13 19:09:48 -0700</date>
            <delta_ts>2015-08-13 19:31:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148012-20150813190930.patch</filename>
            <type>text/plain</type>
            <size>13432</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4NDIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTc5MWQ3YTkwZWU1Yzc5
ZDVjNmUzOWEwMDRmZTIzYWRhNDJhNzMwYi4uNTYxZDBjNGM5MjcxMWYzNDE3OGQxMWQ4ZTA3MWVi
M2M1MDQyMjExOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE2IEBACisyMDE1LTA4LTEzICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIFBlcmZvcm1pbmcg
YSBMb29rdXAgb24gd3JhcHBlZCB0ZXh0IHB1dHMgdGhlIHBvcG92ZXIgYXJyb3cgaW4gdGhlIHdy
b25nIHBsYWNlIChvZmYgdG8gdGhlIHJpZ2h0KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4MDEyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xOTIz
ODA5ND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHBsYXRmb3JtL3NwaS9tYWMvTG9va3VwU1BJLmg6CisgICAgICAgIEFkZCBzb21lIFNQSS4KKwog
MjAxNS0wOC0xMyAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZWZhY3RvciBhbmQgaW1wcm92ZSBUZXh0SW5kaWNhdG9yIHRvIHByZXBhcmUgZm9yIHRl
c3RzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDc2
MjIKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGMzNWRmYmVmYjAyMTZiY2E4ZjllNDU3ZmRlNTg3YmEx
MTk2OWI1YzYuLjVmMGRmNmM2Y2Y2NWY4NTczM2UxMDMyYjFlNGYzZWQ5MTE4YzY4OWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyMCBAQAogMjAxNS0wOC0xMyAgVGltIEhvcnRvbiAgPHRp
bW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAorICAgICAgICBQZXJmb3JtaW5nIGEgTG9va3VwIG9u
IHdyYXBwZWQgdGV4dCBwdXRzIHRoZSBwb3BvdmVyIGFycm93IGluIHRoZSB3cm9uZyBwbGFjZSAo
b2ZmIHRvIHRoZSByaWdodCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0ODAxMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTkyMzgwOTQ+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3L1dl
YlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX2FuaW1hdGlvbkNvbnRyb2xsZXJGb3JEaWN0
aW9uYXJ5TG9va3VwUG9wdXBJbmZvOl0pOgorICAgICAgICAoLVtXZWJWaWV3IF9zaG93RGljdGlv
bmFyeUxvb2t1cFBvcHVwOl0pOgorICAgICAgICBBZG9wdCB0aGUgbmV3IFNQSSwgaGFuZGluZyBp
dCB0aGUgZmlyc3QgdGV4dCByZWN0LCBpbnN0ZWFkIG9mIGhhdmluZyBpdAorICAgICAgICBndWVz
cyB3aGVyZSB0byBwdXQgdGhlIHBvcG92ZXIuCisgICAgICAgIEFsc28sIG51bGwtY2hlY2sgdGhl
IFRleHRJbmRpY2F0b3IuCisKKzIwMTUtMDgtMTMgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRv
bkBhcHBsZS5jb20+CisKICAgICAgICAgUmVmYWN0b3IgYW5kIGltcHJvdmUgVGV4dEluZGljYXRv
ciB0byBwcmVwYXJlIGZvciB0ZXN0cwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTQ3NjIyCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAyMjY1OWU2MmE3NmIxNzE0MDEw
OTY5YWZjNGJmNTU4NTNmYWU3ZjI1Li43MWJlM2Y1NmJkNjc1MzNiYzYzZGIzYTY0NjAyZTJhNWY3
ZjY1ZmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjAgQEAKIDIwMTUtMDgtMTMgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKKyAgICAgICAgUGVyZm9ybWluZyBhIExv
b2t1cCBvbiB3cmFwcGVkIHRleHQgcHV0cyB0aGUgcG9wb3ZlciBhcnJvdyBpbiB0aGUgd3Jvbmcg
cGxhY2UgKG9mZiB0byB0aGUgcmlnaHQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNDgwMTIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE5MjM4MDk0
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQ
cm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVu
dEltcGw6OmRpZFBlcmZvcm1EaWN0aW9uYXJ5TG9va3VwKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
bWFjL1dLSW1tZWRpYXRlQWN0aW9uQ29udHJvbGxlci5tbToKKyAgICAgICAgKC1bV0tJbW1lZGlh
dGVBY3Rpb25Db250cm9sbGVyIF9hbmltYXRpb25Db250cm9sbGVyRm9yVGV4dF0pOgorICAgICAg
ICBBZG9wdCB0aGUgbmV3IFNQSSwgaGFuZGluZyBpdCB0aGUgZmlyc3QgdGV4dCByZWN0LCBpbnN0
ZWFkIG9mIGhhdmluZyBpdAorICAgICAgICBndWVzcyB3aGVyZSB0byBwdXQgdGhlIHBvcG92ZXIu
CisKKzIwMTUtMDgtMTMgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
ICAgICAgICAgUmVmYWN0b3IgYW5kIGltcHJvdmUgVGV4dEluZGljYXRvciB0byBwcmVwYXJlIGZv
ciB0ZXN0cwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTQ3NjIyCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9tYWMvTG9v
a3VwU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvbWFjL0xvb2t1cFNQSS5oCmlu
ZGV4IGE0NWNlN2ZjOWMxYWY4N2M3ODY2Yzc5NDZmZTlkNDE2OThlMDAzZTcuLjY1OWYxNjMzN2Yy
YzBjMDRmNWM2NzI4ODZiZWE0NzBkNjJmMzUwMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3NwaS9tYWMvTG9va3VwU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vc3BpL21hYy9Mb29rdXBTUEkuaApAQCAtNDIsNiArNDIsNyBAQCBTT0ZUX0xJTktfQ0xBU1Nf
T1BUSU9OQUwoTG9va3VwLCBMVUxvb2t1cERlZmluaXRpb25Nb2R1bGUpCiAKICsgKE5TUmFuZ2Up
dG9rZW5SYW5nZUZvclN0cmluZzooTlNTdHJpbmcgKilzdHJpbmcgcmFuZ2U6KE5TUmFuZ2UpcmFu
Z2Ugb3B0aW9uczooTlNEaWN0aW9uYXJ5ICoqKW9wdGlvbnM7CiArICh2b2lkKXNob3dEZWZpbml0
aW9uRm9yVGVybTooTlNBdHRyaWJ1dGVkU3RyaW5nICopdGVybSBhdExvY2F0aW9uOihOU1BvaW50
KXNjcmVlblBvaW50IG9wdGlvbnM6KE5TRGljdGlvbmFyeSAqKW9wdGlvbnM7CisrICh2b2lkKXNo
b3dEZWZpbml0aW9uRm9yVGVybTooTlNBdHRyaWJ1dGVkU3RyaW5nICopdGVybSByZWxhdGl2ZVRv
UmVjdDooTlNSZWN0KXBvc2l0aW9uaW5nUmVjdCBvZlZpZXc6KE5TVmlldyAqKXBvc2l0aW9uaW5n
VmlldyBvcHRpb25zOihOU0RpY3Rpb25hcnkgKilvcHRpb25zOwogKyAodm9pZCloaWRlRGVmaW5p
dGlvbjsKIAogQGVuZApAQCAtNTAsMTAgKzUxLDEyIEBAIFNPRlRfTElOS19DTEFTU19PUFRJT05B
TChMb29rdXAsIExVTG9va3VwRGVmaW5pdGlvbk1vZHVsZSkKIAogI2lmICBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTAwMAogCi1AaW50ZXJmYWNlIExVTG9va3VwRGVmaW5p
dGlvbk1vZHVsZSAoQW5pbWF0aW9uQ29udHJvbGxlcikKK0BpbnRlcmZhY2UgTFVMb29rdXBEZWZp
bml0aW9uTW9kdWxlICgpCiAKICsgKGlkPE5TSW1tZWRpYXRlQWN0aW9uQW5pbWF0aW9uQ29udHJv
bGxlcj4pbG9va3VwQW5pbWF0aW9uQ29udHJvbGxlckZvclRlcm06KE5TQXR0cmlidXRlZFN0cmlu
ZyAqKXRlcm0gYXRMb2NhdGlvbjooTlNQb2ludClzY3JlZW5Qb2ludCBvcHRpb25zOihOU0RpY3Rp
b25hcnkgKilvcHRpb25zOwogCisrIChpZDxOU0ltbWVkaWF0ZUFjdGlvbkFuaW1hdGlvbkNvbnRy
b2xsZXI+KWxvb2t1cEFuaW1hdGlvbkNvbnRyb2xsZXJGb3JUZXJtOihOU0F0dHJpYnV0ZWRTdHJp
bmcgKil0ZXJtIHJlbGF0aXZlVG9SZWN0OihOU1JlY3QpcG9zaXRpb25pbmdSZWN0IG9mVmlldzoo
TlNWaWV3ICopcG9zaXRpb25pbmdWaWV3IG9wdGlvbnM6KE5TRGljdGlvbmFyeSAqKW9wdGlvbnM7
CisKIEBlbmQKIAogI2VuZGlmIC8vIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxMDAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0g
Yi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggNWY0NWI3M2E3M2Rm
OGQwNDEzYzAwZDk0YWJlYTE0YmQzOTFmNzVkOC4uZDJmYmYzNGM1Y2NmZmI2ZGJiZGYwMzY4NDdh
ZDEyNDk0YWI3OWM3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJW
aWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtODU1
Niw3ICs4NTU2LDcgQEAgYm9vbCBMYXllckZsdXNoQ29udHJvbGxlcjo6Zmx1c2hMYXllcnMoKQog
ICAgIC8vIENvbnZlcnQgdG8gc2NyZWVuIGNvb3JkaW5hdGVzLgogICAgIHRleHRCYXNlbGluZU9y
aWdpbiA9IFtzZWxmLndpbmRvdyBjb252ZXJ0UmVjdFRvU2NyZWVuOk5TTWFrZVJlY3QodGV4dEJh
c2VsaW5lT3JpZ2luLngsIHRleHRCYXNlbGluZU9yaWdpbi55LCAwLCAwKV0ub3JpZ2luOwogCi0g
ICAgaWYgKGNhbkxvYWRMVVRlcm1PcHRpb25EaXNhYmxlU2VhcmNoVGVybUluZGljYXRvcigpICYm
IGNhbkxvYWRMVU5vdGlmaWNhdGlvblBvcG92ZXJXaWxsQ2xvc2UoKSkgeworICAgIGlmIChjYW5M
b2FkTFVUZXJtT3B0aW9uRGlzYWJsZVNlYXJjaFRlcm1JbmRpY2F0b3IoKSAmJiBjYW5Mb2FkTFVO
b3RpZmljYXRpb25Qb3BvdmVyV2lsbENsb3NlKCkgJiYgZGljdGlvbmFyeVBvcHVwSW5mby50ZXh0
SW5kaWNhdG9yKSB7CiAgICAgICAgIGlmICghX3ByaXZhdGUtPmhhc0luaXRpYWxpemVkTG9va3Vw
T2JzZXJ2ZXIpIHsKICAgICAgICAgICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENl
bnRlcl0gYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX2RpY3Rpb25hcnlMb29r
dXBQb3BvdmVyV2lsbENsb3NlOikgbmFtZTpnZXRMVU5vdGlmaWNhdGlvblBvcG92ZXJXaWxsQ2xv
c2UoKSBvYmplY3Q6bmlsXTsKICAgICAgICAgICAgIF9wcml2YXRlLT5oYXNJbml0aWFsaXplZExv
b2t1cE9ic2VydmVyID0gWUVTOwpAQCAtODU2Nyw3ICs4NTY3LDEyIEBAIGJvb2wgTGF5ZXJGbHVz
aENvbnRyb2xsZXI6OmZsdXNoTGF5ZXJzKCkKICAgICAgICAgICAgIG11dGFibGVPcHRpb25zID0g
YWRvcHROUyhbW05TTXV0YWJsZURpY3Rpb25hcnkgYWxsb2NdIGluaXRdKTsKICAgICAgICAgW211
dGFibGVPcHRpb25zIHNldE9iamVjdDpAWUVTIGZvcktleTpnZXRMVVRlcm1PcHRpb25EaXNhYmxl
U2VhcmNoVGVybUluZGljYXRvcigpXTsKICAgICAgICAgW3NlbGYgX3NldFRleHRJbmRpY2F0b3I6
KmRpY3Rpb25hcnlQb3B1cEluZm8udGV4dEluZGljYXRvciB3aXRoTGlmZXRpbWU6VGV4dEluZGlj
YXRvcldpbmRvd0xpZmV0aW1lOjpQZXJtYW5lbnRdOwotICAgICAgICByZXR1cm4gW2dldExVTG9v
a3VwRGVmaW5pdGlvbk1vZHVsZUNsYXNzKCkgbG9va3VwQW5pbWF0aW9uQ29udHJvbGxlckZvclRl
cm06ZGljdGlvbmFyeVBvcHVwSW5mby5hdHRyaWJ1dGVkU3RyaW5nLmdldCgpIGF0TG9jYXRpb246
dGV4dEJhc2VsaW5lT3JpZ2luIG9wdGlvbnM6bXV0YWJsZU9wdGlvbnMuZ2V0KCldOworCisgICAg
ICAgIGlmIChbZ2V0TFVMb29rdXBEZWZpbml0aW9uTW9kdWxlQ2xhc3MoKSByZXNwb25kc1RvU2Vs
ZWN0b3I6QHNlbGVjdG9yKGxvb2t1cEFuaW1hdGlvbkNvbnRyb2xsZXJGb3JUZXJtOnJlbGF0aXZl
VG9SZWN0Om9mVmlldzpvcHRpb25zOildKSB7CisgICAgICAgICAgICBGbG9hdFJlY3QgZmlyc3RU
ZXh0UmVjdEluVmlld0Nvb3JkaW5hdGVzID0gZGljdGlvbmFyeVBvcHVwSW5mby50ZXh0SW5kaWNh
dG9yLT50ZXh0UmVjdHNJbkJvdW5kaW5nUmVjdENvb3JkaW5hdGVzKClbMF07CisgICAgICAgICAg
ICBmaXJzdFRleHRSZWN0SW5WaWV3Q29vcmRpbmF0ZXMubW92ZUJ5KGRpY3Rpb25hcnlQb3B1cElu
Zm8udGV4dEluZGljYXRvci0+dGV4dEJvdW5kaW5nUmVjdEluUm9vdFZpZXdDb29yZGluYXRlcygp
LmxvY2F0aW9uKCkpOworICAgICAgICAgICAgcmV0dXJuIFtnZXRMVUxvb2t1cERlZmluaXRpb25N
b2R1bGVDbGFzcygpIGxvb2t1cEFuaW1hdGlvbkNvbnRyb2xsZXJGb3JUZXJtOmRpY3Rpb25hcnlQ
b3B1cEluZm8uYXR0cmlidXRlZFN0cmluZy5nZXQoKSByZWxhdGl2ZVRvUmVjdDpmaXJzdFRleHRS
ZWN0SW5WaWV3Q29vcmRpbmF0ZXMgb2ZWaWV3OnNlbGYgb3B0aW9uczptdXRhYmxlT3B0aW9ucy5n
ZXQoKV07CisgICAgICAgIH0KICAgICB9CiAKICAgICByZXR1cm4gW2dldExVTG9va3VwRGVmaW5p
dGlvbk1vZHVsZUNsYXNzKCkgbG9va3VwQW5pbWF0aW9uQ29udHJvbGxlckZvclRlcm06ZGljdGlv
bmFyeVBvcHVwSW5mby5hdHRyaWJ1dGVkU3RyaW5nLmdldCgpIGF0TG9jYXRpb246dGV4dEJhc2Vs
aW5lT3JpZ2luIG9wdGlvbnM6ZGljdGlvbmFyeVBvcHVwSW5mby5vcHRpb25zLmdldCgpXTsKQEAg
LTg2MjIsNyArODYyNyw3IEBAIGJvb2wgTGF5ZXJGbHVzaENvbnRyb2xsZXI6OmZsdXNoTGF5ZXJz
KCkKICAgICAvLyBDb252ZXJ0IHRvIHNjcmVlbiBjb29yZGluYXRlcy4KICAgICB0ZXh0QmFzZWxp
bmVPcmlnaW4gPSBbc2VsZi53aW5kb3cgY29udmVydFJlY3RUb1NjcmVlbjpOU01ha2VSZWN0KHRl
eHRCYXNlbGluZU9yaWdpbi54LCB0ZXh0QmFzZWxpbmVPcmlnaW4ueSwgMCwgMCldLm9yaWdpbjsK
IAotICAgIGlmIChjYW5Mb2FkTFVUZXJtT3B0aW9uRGlzYWJsZVNlYXJjaFRlcm1JbmRpY2F0b3Io
KSAmJiBjYW5Mb2FkTFVOb3RpZmljYXRpb25Qb3BvdmVyV2lsbENsb3NlKCkpIHsKKyAgICBpZiAo
Y2FuTG9hZExVVGVybU9wdGlvbkRpc2FibGVTZWFyY2hUZXJtSW5kaWNhdG9yKCkgJiYgY2FuTG9h
ZExVTm90aWZpY2F0aW9uUG9wb3ZlcldpbGxDbG9zZSgpICYmIGRpY3Rpb25hcnlQb3B1cEluZm8u
dGV4dEluZGljYXRvcikgewogICAgICAgICBpZiAoIV9wcml2YXRlLT5oYXNJbml0aWFsaXplZExv
b2t1cE9ic2VydmVyKSB7CiAgICAgICAgICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1
bHRDZW50ZXJdIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF9kaWN0aW9uYXJ5
TG9va3VwUG9wb3ZlcldpbGxDbG9zZTopIG5hbWU6Z2V0TFVOb3RpZmljYXRpb25Qb3BvdmVyV2ls
bENsb3NlKCkgb2JqZWN0Om5pbF07CiAgICAgICAgICAgICBfcHJpdmF0ZS0+aGFzSW5pdGlhbGl6
ZWRMb29rdXBPYnNlcnZlciA9IFlFUzsKQEAgLTg2MzMsOSArODYzOCwxNiBAQCBib29sIExheWVy
Rmx1c2hDb250cm9sbGVyOjpmbHVzaExheWVycygpCiAgICAgICAgICAgICBtdXRhYmxlT3B0aW9u
cyA9IGFkb3B0TlMoW1tOU011dGFibGVEaWN0aW9uYXJ5IGFsbG9jXSBpbml0XSk7CiAgICAgICAg
IFttdXRhYmxlT3B0aW9ucyBzZXRPYmplY3Q6QFlFUyBmb3JLZXk6Z2V0TFVUZXJtT3B0aW9uRGlz
YWJsZVNlYXJjaFRlcm1JbmRpY2F0b3IoKV07CiAgICAgICAgIFtzZWxmIF9zZXRUZXh0SW5kaWNh
dG9yOipkaWN0aW9uYXJ5UG9wdXBJbmZvLnRleHRJbmRpY2F0b3Igd2l0aExpZmV0aW1lOlRleHRJ
bmRpY2F0b3JXaW5kb3dMaWZldGltZTo6UGVybWFuZW50XTsKLSAgICAgICAgW2dldExVTG9va3Vw
RGVmaW5pdGlvbk1vZHVsZUNsYXNzKCkgc2hvd0RlZmluaXRpb25Gb3JUZXJtOmRpY3Rpb25hcnlQ
b3B1cEluZm8uYXR0cmlidXRlZFN0cmluZy5nZXQoKSBhdExvY2F0aW9uOnRleHRCYXNlbGluZU9y
aWdpbiBvcHRpb25zOm11dGFibGVPcHRpb25zLmdldCgpXTsKLSAgICB9IGVsc2UKLSAgICAgICAg
W2dldExVTG9va3VwRGVmaW5pdGlvbk1vZHVsZUNsYXNzKCkgc2hvd0RlZmluaXRpb25Gb3JUZXJt
OmRpY3Rpb25hcnlQb3B1cEluZm8uYXR0cmlidXRlZFN0cmluZy5nZXQoKSBhdExvY2F0aW9uOnRl
eHRCYXNlbGluZU9yaWdpbiBvcHRpb25zOmRpY3Rpb25hcnlQb3B1cEluZm8ub3B0aW9ucy5nZXQo
KV07CisKKyAgICAgICAgaWYgKFtnZXRMVUxvb2t1cERlZmluaXRpb25Nb2R1bGVDbGFzcygpIHJl
c3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Ioc2hvd0RlZmluaXRpb25Gb3JUZXJtOnJlbGF0aXZl
VG9SZWN0Om9mVmlldzpvcHRpb25zOildKSB7CisgICAgICAgICAgICBGbG9hdFJlY3QgZmlyc3RU
ZXh0UmVjdEluVmlld0Nvb3JkaW5hdGVzID0gZGljdGlvbmFyeVBvcHVwSW5mby50ZXh0SW5kaWNh
dG9yLT50ZXh0UmVjdHNJbkJvdW5kaW5nUmVjdENvb3JkaW5hdGVzKClbMF07CisgICAgICAgICAg
ICBmaXJzdFRleHRSZWN0SW5WaWV3Q29vcmRpbmF0ZXMubW92ZUJ5KGRpY3Rpb25hcnlQb3B1cElu
Zm8udGV4dEluZGljYXRvci0+dGV4dEJvdW5kaW5nUmVjdEluUm9vdFZpZXdDb29yZGluYXRlcygp
LmxvY2F0aW9uKCkpOworICAgICAgICAgICAgW2dldExVTG9va3VwRGVmaW5pdGlvbk1vZHVsZUNs
YXNzKCkgc2hvd0RlZmluaXRpb25Gb3JUZXJtOmRpY3Rpb25hcnlQb3B1cEluZm8uYXR0cmlidXRl
ZFN0cmluZy5nZXQoKSByZWxhdGl2ZVRvUmVjdDpmaXJzdFRleHRSZWN0SW5WaWV3Q29vcmRpbmF0
ZXMgb2ZWaWV3OnNlbGYgb3B0aW9uczptdXRhYmxlT3B0aW9ucy5nZXQoKV07CisgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIH0KKyAgICB9CisKKyAgICBbZ2V0TFVMb29rdXBEZWZpbml0aW9u
TW9kdWxlQ2xhc3MoKSBzaG93RGVmaW5pdGlvbkZvclRlcm06ZGljdGlvbmFyeVBvcHVwSW5mby5h
dHRyaWJ1dGVkU3RyaW5nLmdldCgpIGF0TG9jYXRpb246dGV4dEJhc2VsaW5lT3JpZ2luIG9wdGlv
bnM6ZGljdGlvbmFyeVBvcHVwSW5mby5vcHRpb25zLmdldCgpXTsKIH0KIAogLSAodm9pZClfZGlj
dGlvbmFyeUxvb2t1cFBvcG92ZXJXaWxsQ2xvc2U6KE5TTm90aWZpY2F0aW9uICopbm90aWZpY2F0
aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJ
bXBsLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbQpp
bmRleCAwZjUyZDU4OTU3ZWE1NTJlZGVkNWM5ZDQ0YTI3ZDgyMDJhODRlNzMyLi45MmRhNmI5ODM2
MWQ1NDNkYmZiMDRjN2YxOGZkOWYxNDc5NGQ5MWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW0KQEAgLTYwMSw5ICs2MDEsMTYgQEAgdm9pZCBQ
YWdlQ2xpZW50SW1wbDo6ZGlkUGVyZm9ybURpY3Rpb25hcnlMb29rdXAoY29uc3QgRGljdGlvbmFy
eVBvcHVwSW5mbyYgZGljdGkKICAgICBpZiAoY2FuTG9hZExVVGVybU9wdGlvbkRpc2FibGVTZWFy
Y2hUZXJtSW5kaWNhdG9yKCkgJiYgZGljdGlvbmFyeVBvcHVwSW5mby50ZXh0SW5kaWNhdG9yLmNv
bnRlbnRJbWFnZSkgewogICAgICAgICBbbV93a1ZpZXcgX3NldFRleHRJbmRpY2F0b3I6VGV4dElu
ZGljYXRvcjo6Y3JlYXRlKGRpY3Rpb25hcnlQb3B1cEluZm8udGV4dEluZGljYXRvcikgd2l0aExp
ZmV0aW1lOlRleHRJbmRpY2F0b3JXaW5kb3dMaWZldGltZTo6UGVybWFuZW50XTsKICAgICAgICAg
W211dGFibGVPcHRpb25zIHNldE9iamVjdDpAWUVTIGZvcktleTpnZXRMVVRlcm1PcHRpb25EaXNh
YmxlU2VhcmNoVGVybUluZGljYXRvcigpXTsKLSAgICAgICAgW2dldExVTG9va3VwRGVmaW5pdGlv
bk1vZHVsZUNsYXNzKCkgc2hvd0RlZmluaXRpb25Gb3JUZXJtOmRpY3Rpb25hcnlQb3B1cEluZm8u
YXR0cmlidXRlZFN0cmluZy5zdHJpbmcuZ2V0KCkgYXRMb2NhdGlvbjp0ZXh0QmFzZWxpbmVPcmln
aW4gb3B0aW9uczptdXRhYmxlT3B0aW9ucy5nZXQoKV07Ci0gICAgfSBlbHNlCi0gICAgICAgIFtn
ZXRMVUxvb2t1cERlZmluaXRpb25Nb2R1bGVDbGFzcygpIHNob3dEZWZpbml0aW9uRm9yVGVybTpk
aWN0aW9uYXJ5UG9wdXBJbmZvLmF0dHJpYnV0ZWRTdHJpbmcuc3RyaW5nLmdldCgpIGF0TG9jYXRp
b246dGV4dEJhc2VsaW5lT3JpZ2luIG9wdGlvbnM6bXV0YWJsZU9wdGlvbnMuZ2V0KCldOworCisg
ICAgICAgIGlmIChbZ2V0TFVMb29rdXBEZWZpbml0aW9uTW9kdWxlQ2xhc3MoKSByZXNwb25kc1Rv
U2VsZWN0b3I6QHNlbGVjdG9yKHNob3dEZWZpbml0aW9uRm9yVGVybTpyZWxhdGl2ZVRvUmVjdDpv
ZlZpZXc6b3B0aW9uczopXSkgeworICAgICAgICAgICAgRmxvYXRSZWN0IGZpcnN0VGV4dFJlY3RJ
blZpZXdDb29yZGluYXRlcyA9IGRpY3Rpb25hcnlQb3B1cEluZm8udGV4dEluZGljYXRvci50ZXh0
UmVjdHNJbkJvdW5kaW5nUmVjdENvb3JkaW5hdGVzWzBdOworICAgICAgICAgICAgZmlyc3RUZXh0
UmVjdEluVmlld0Nvb3JkaW5hdGVzLm1vdmVCeShkaWN0aW9uYXJ5UG9wdXBJbmZvLnRleHRJbmRp
Y2F0b3IudGV4dEJvdW5kaW5nUmVjdEluUm9vdFZpZXdDb29yZGluYXRlcy5sb2NhdGlvbigpKTsK
KyAgICAgICAgICAgIFtnZXRMVUxvb2t1cERlZmluaXRpb25Nb2R1bGVDbGFzcygpIHNob3dEZWZp
bml0aW9uRm9yVGVybTpkaWN0aW9uYXJ5UG9wdXBJbmZvLmF0dHJpYnV0ZWRTdHJpbmcuc3RyaW5n
LmdldCgpIHJlbGF0aXZlVG9SZWN0OmZpcnN0VGV4dFJlY3RJblZpZXdDb29yZGluYXRlcyBvZlZp
ZXc6bV93a1ZpZXcgb3B0aW9uczptdXRhYmxlT3B0aW9ucy5nZXQoKV07CisgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgIH0KKyAgICB9CisKKyAgICBbZ2V0TFVMb29rdXBEZWZpbml0aW9uTW9k
dWxlQ2xhc3MoKSBzaG93RGVmaW5pdGlvbkZvclRlcm06ZGljdGlvbmFyeVBvcHVwSW5mby5hdHRy
aWJ1dGVkU3RyaW5nLnN0cmluZy5nZXQoKSBhdExvY2F0aW9uOnRleHRCYXNlbGluZU9yaWdpbiBv
cHRpb25zOm11dGFibGVPcHRpb25zLmdldCgpXTsKIH0KIAogdm9pZCBQYWdlQ2xpZW50SW1wbDo6
ZGlzbWlzc0NvbnRlbnRSZWxhdGl2ZUNoaWxkV2luZG93cyhib29sIHdpdGhBbmltYXRpb24pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dLSW1tZWRpYXRlQWN0aW9u
Q29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV0tJbW1lZGlhdGVB
Y3Rpb25Db250cm9sbGVyLm1tCmluZGV4IDRmZGI2MGQwMjdkY2RmOWY3YzFmYzFhZDUxZDdlOGE4
NDQzYWRlMDUuLjI3MTg1Y2M4MTczMGYzMzUzN2MyNjM4MDBlZDlmNTk2NGQxOWI2NTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV0tJbW1lZGlhdGVBY3Rpb25Db250
cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV0tJbW1lZGlhdGVB
Y3Rpb25Db250cm9sbGVyLm1tCkBAIC00NzcsMTEgKzQ3NywxNiBAQCB1c2luZyBuYW1lc3BhY2Ug
V2ViS2l0OwogCiAgICAgUmV0YWluUHRyPE5TTXV0YWJsZURpY3Rpb25hcnk+IG11dGFibGVPcHRp
b25zID0gYWRvcHROUyhbKE5TRGljdGlvbmFyeSAqKWRpY3Rpb25hcnlQb3B1cEluZm8ub3B0aW9u
cy5nZXQoKSBtdXRhYmxlQ29weV0pOwogICAgIGlmIChjYW5Mb2FkTFVUZXJtT3B0aW9uRGlzYWJs
ZVNlYXJjaFRlcm1JbmRpY2F0b3IoKSAmJiBkaWN0aW9uYXJ5UG9wdXBJbmZvLnRleHRJbmRpY2F0
b3IuY29udGVudEltYWdlKSB7Ci0gICAgICAgIFJlZlB0cjxUZXh0SW5kaWNhdG9yPiBpbmRpY2F0
b3IgPSBUZXh0SW5kaWNhdG9yOjpjcmVhdGUoZGljdGlvbmFyeVBvcHVwSW5mby50ZXh0SW5kaWNh
dG9yKTsKLSAgICAgICAgW193a1ZpZXcgX3NldFRleHRJbmRpY2F0b3I6KmluZGljYXRvciB3aXRo
TGlmZXRpbWU6VGV4dEluZGljYXRvcldpbmRvd0xpZmV0aW1lOjpQZXJtYW5lbnRdOworICAgICAg
ICBbX3drVmlldyBfc2V0VGV4dEluZGljYXRvcjpUZXh0SW5kaWNhdG9yOjpjcmVhdGUoZGljdGlv
bmFyeVBvcHVwSW5mby50ZXh0SW5kaWNhdG9yKSB3aXRoTGlmZXRpbWU6VGV4dEluZGljYXRvcldp
bmRvd0xpZmV0aW1lOjpQZXJtYW5lbnRdOwogICAgICAgICBbbXV0YWJsZU9wdGlvbnMgc2V0T2Jq
ZWN0OkBZRVMgZm9yS2V5OmdldExVVGVybU9wdGlvbkRpc2FibGVTZWFyY2hUZXJtSW5kaWNhdG9y
KCldOwotICAgICAgICByZXR1cm4gW2dldExVTG9va3VwRGVmaW5pdGlvbk1vZHVsZUNsYXNzKCkg
bG9va3VwQW5pbWF0aW9uQ29udHJvbGxlckZvclRlcm06ZGljdGlvbmFyeVBvcHVwSW5mby5hdHRy
aWJ1dGVkU3RyaW5nLnN0cmluZy5nZXQoKSBhdExvY2F0aW9uOnRleHRCYXNlbGluZU9yaWdpbiBv
cHRpb25zOm11dGFibGVPcHRpb25zLmdldCgpXTsKKworICAgICAgICBpZiAoW2dldExVTG9va3Vw
RGVmaW5pdGlvbk1vZHVsZUNsYXNzKCkgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihsb29r
dXBBbmltYXRpb25Db250cm9sbGVyRm9yVGVybTpyZWxhdGl2ZVRvUmVjdDpvZlZpZXc6b3B0aW9u
czopXSkgeworICAgICAgICAgICAgRmxvYXRSZWN0IGZpcnN0VGV4dFJlY3RJblZpZXdDb29yZGlu
YXRlcyA9IGRpY3Rpb25hcnlQb3B1cEluZm8udGV4dEluZGljYXRvci50ZXh0UmVjdHNJbkJvdW5k
aW5nUmVjdENvb3JkaW5hdGVzWzBdOworICAgICAgICAgICAgZmlyc3RUZXh0UmVjdEluVmlld0Nv
b3JkaW5hdGVzLm1vdmVCeShkaWN0aW9uYXJ5UG9wdXBJbmZvLnRleHRJbmRpY2F0b3IudGV4dEJv
dW5kaW5nUmVjdEluUm9vdFZpZXdDb29yZGluYXRlcy5sb2NhdGlvbigpKTsKKyAgICAgICAgICAg
IHJldHVybiBbZ2V0TFVMb29rdXBEZWZpbml0aW9uTW9kdWxlQ2xhc3MoKSBsb29rdXBBbmltYXRp
b25Db250cm9sbGVyRm9yVGVybTpkaWN0aW9uYXJ5UG9wdXBJbmZvLmF0dHJpYnV0ZWRTdHJpbmcu
c3RyaW5nLmdldCgpIHJlbGF0aXZlVG9SZWN0OmZpcnN0VGV4dFJlY3RJblZpZXdDb29yZGluYXRl
cyBvZlZpZXc6X3drVmlldyBvcHRpb25zOm11dGFibGVPcHRpb25zLmdldCgpXTsKKyAgICAgICAg
fQogICAgIH0KKwogICAgIHJldHVybiBbZ2V0TFVMb29rdXBEZWZpbml0aW9uTW9kdWxlQ2xhc3Mo
KSBsb29rdXBBbmltYXRpb25Db250cm9sbGVyRm9yVGVybTpkaWN0aW9uYXJ5UG9wdXBJbmZvLmF0
dHJpYnV0ZWRTdHJpbmcuc3RyaW5nLmdldCgpIGF0TG9jYXRpb246dGV4dEJhc2VsaW5lT3JpZ2lu
IG9wdGlvbnM6bXV0YWJsZU9wdGlvbnMuZ2V0KCldOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258971</attachid>
            <date>2015-08-13 19:31:44 -0700</date>
            <delta_ts>2015-08-13 22:53:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148012-20150813193125.patch</filename>
            <type>text/plain</type>
            <size>15894</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4NDIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTc5MWQ3YTkwZWU1Yzc5
ZDVjNmUzOWEwMDRmZTIzYWRhNDJhNzMwYi4uNTYxZDBjNGM5MjcxMWYzNDE3OGQxMWQ4ZTA3MWVi
M2M1MDQyMjExOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE2IEBACisyMDE1LTA4LTEzICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIFBlcmZvcm1pbmcg
YSBMb29rdXAgb24gd3JhcHBlZCB0ZXh0IHB1dHMgdGhlIHBvcG92ZXIgYXJyb3cgaW4gdGhlIHdy
b25nIHBsYWNlIChvZmYgdG8gdGhlIHJpZ2h0KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4MDEyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xOTIz
ODA5ND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHBsYXRmb3JtL3NwaS9tYWMvTG9va3VwU1BJLmg6CisgICAgICAgIEFkZCBzb21lIFNQSS4KKwog
MjAxNS0wOC0xMyAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZWZhY3RvciBhbmQgaW1wcm92ZSBUZXh0SW5kaWNhdG9yIHRvIHByZXBhcmUgZm9yIHRl
c3RzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDc2
MjIKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGMzNWRmYmVmYjAyMTZiY2E4ZjllNDU3ZmRlNTg3YmEx
MTk2OWI1YzYuLjVmMGRmNmM2Y2Y2NWY4NTczM2UxMDMyYjFlNGYzZWQ5MTE4YzY4OWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyMCBAQAogMjAxNS0wOC0xMyAgVGltIEhvcnRvbiAgPHRp
bW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAorICAgICAgICBQZXJmb3JtaW5nIGEgTG9va3VwIG9u
IHdyYXBwZWQgdGV4dCBwdXRzIHRoZSBwb3BvdmVyIGFycm93IGluIHRoZSB3cm9uZyBwbGFjZSAo
b2ZmIHRvIHRoZSByaWdodCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0ODAxMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTkyMzgwOTQ+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3L1dl
YlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX2FuaW1hdGlvbkNvbnRyb2xsZXJGb3JEaWN0
aW9uYXJ5TG9va3VwUG9wdXBJbmZvOl0pOgorICAgICAgICAoLVtXZWJWaWV3IF9zaG93RGljdGlv
bmFyeUxvb2t1cFBvcHVwOl0pOgorICAgICAgICBBZG9wdCB0aGUgbmV3IFNQSSwgaGFuZGluZyBp
dCB0aGUgZmlyc3QgdGV4dCByZWN0LCBpbnN0ZWFkIG9mIGhhdmluZyBpdAorICAgICAgICBndWVz
cyB3aGVyZSB0byBwdXQgdGhlIHBvcG92ZXIuCisgICAgICAgIEFsc28sIG51bGwtY2hlY2sgdGhl
IFRleHRJbmRpY2F0b3IuCisKKzIwMTUtMDgtMTMgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRv
bkBhcHBsZS5jb20+CisKICAgICAgICAgUmVmYWN0b3IgYW5kIGltcHJvdmUgVGV4dEluZGljYXRv
ciB0byBwcmVwYXJlIGZvciB0ZXN0cwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTQ3NjIyCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAyMjY1OWU2MmE3NmIxNzE0MDEw
OTY5YWZjNGJmNTU4NTNmYWU3ZjI1Li43MWJlM2Y1NmJkNjc1MzNiYzYzZGIzYTY0NjAyZTJhNWY3
ZjY1ZmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjAgQEAKIDIwMTUtMDgtMTMgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKKyAgICAgICAgUGVyZm9ybWluZyBhIExv
b2t1cCBvbiB3cmFwcGVkIHRleHQgcHV0cyB0aGUgcG9wb3ZlciBhcnJvdyBpbiB0aGUgd3Jvbmcg
cGxhY2UgKG9mZiB0byB0aGUgcmlnaHQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNDgwMTIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE5MjM4MDk0
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQ
cm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVu
dEltcGw6OmRpZFBlcmZvcm1EaWN0aW9uYXJ5TG9va3VwKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
bWFjL1dLSW1tZWRpYXRlQWN0aW9uQ29udHJvbGxlci5tbToKKyAgICAgICAgKC1bV0tJbW1lZGlh
dGVBY3Rpb25Db250cm9sbGVyIF9hbmltYXRpb25Db250cm9sbGVyRm9yVGV4dF0pOgorICAgICAg
ICBBZG9wdCB0aGUgbmV3IFNQSSwgaGFuZGluZyBpdCB0aGUgZmlyc3QgdGV4dCByZWN0LCBpbnN0
ZWFkIG9mIGhhdmluZyBpdAorICAgICAgICBndWVzcyB3aGVyZSB0byBwdXQgdGhlIHBvcG92ZXIu
CisKKzIwMTUtMDgtMTMgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
ICAgICAgICAgUmVmYWN0b3IgYW5kIGltcHJvdmUgVGV4dEluZGljYXRvciB0byBwcmVwYXJlIGZv
ciB0ZXN0cwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTQ3NjIyCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9tYWMvTG9v
a3VwU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvbWFjL0xvb2t1cFNQSS5oCmlu
ZGV4IGE0NWNlN2ZjOWMxYWY4N2M3ODY2Yzc5NDZmZTlkNDE2OThlMDAzZTcuLjY1OWYxNjMzN2Yy
YzBjMDRmNWM2NzI4ODZiZWE0NzBkNjJmMzUwMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3NwaS9tYWMvTG9va3VwU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vc3BpL21hYy9Mb29rdXBTUEkuaApAQCAtNDIsNiArNDIsNyBAQCBTT0ZUX0xJTktfQ0xBU1Nf
T1BUSU9OQUwoTG9va3VwLCBMVUxvb2t1cERlZmluaXRpb25Nb2R1bGUpCiAKICsgKE5TUmFuZ2Up
dG9rZW5SYW5nZUZvclN0cmluZzooTlNTdHJpbmcgKilzdHJpbmcgcmFuZ2U6KE5TUmFuZ2UpcmFu
Z2Ugb3B0aW9uczooTlNEaWN0aW9uYXJ5ICoqKW9wdGlvbnM7CiArICh2b2lkKXNob3dEZWZpbml0
aW9uRm9yVGVybTooTlNBdHRyaWJ1dGVkU3RyaW5nICopdGVybSBhdExvY2F0aW9uOihOU1BvaW50
KXNjcmVlblBvaW50IG9wdGlvbnM6KE5TRGljdGlvbmFyeSAqKW9wdGlvbnM7CisrICh2b2lkKXNo
b3dEZWZpbml0aW9uRm9yVGVybTooTlNBdHRyaWJ1dGVkU3RyaW5nICopdGVybSByZWxhdGl2ZVRv
UmVjdDooTlNSZWN0KXBvc2l0aW9uaW5nUmVjdCBvZlZpZXc6KE5TVmlldyAqKXBvc2l0aW9uaW5n
VmlldyBvcHRpb25zOihOU0RpY3Rpb25hcnkgKilvcHRpb25zOwogKyAodm9pZCloaWRlRGVmaW5p
dGlvbjsKIAogQGVuZApAQCAtNTAsMTAgKzUxLDEyIEBAIFNPRlRfTElOS19DTEFTU19PUFRJT05B
TChMb29rdXAsIExVTG9va3VwRGVmaW5pdGlvbk1vZHVsZSkKIAogI2lmICBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTAwMAogCi1AaW50ZXJmYWNlIExVTG9va3VwRGVmaW5p
dGlvbk1vZHVsZSAoQW5pbWF0aW9uQ29udHJvbGxlcikKK0BpbnRlcmZhY2UgTFVMb29rdXBEZWZp
bml0aW9uTW9kdWxlICgpCiAKICsgKGlkPE5TSW1tZWRpYXRlQWN0aW9uQW5pbWF0aW9uQ29udHJv
bGxlcj4pbG9va3VwQW5pbWF0aW9uQ29udHJvbGxlckZvclRlcm06KE5TQXR0cmlidXRlZFN0cmlu
ZyAqKXRlcm0gYXRMb2NhdGlvbjooTlNQb2ludClzY3JlZW5Qb2ludCBvcHRpb25zOihOU0RpY3Rp
b25hcnkgKilvcHRpb25zOwogCisrIChpZDxOU0ltbWVkaWF0ZUFjdGlvbkFuaW1hdGlvbkNvbnRy
b2xsZXI+KWxvb2t1cEFuaW1hdGlvbkNvbnRyb2xsZXJGb3JUZXJtOihOU0F0dHJpYnV0ZWRTdHJp
bmcgKil0ZXJtIHJlbGF0aXZlVG9SZWN0OihOU1JlY3QpcG9zaXRpb25pbmdSZWN0IG9mVmlldzoo
TlNWaWV3ICopcG9zaXRpb25pbmdWaWV3IG9wdGlvbnM6KE5TRGljdGlvbmFyeSAqKW9wdGlvbnM7
CisKIEBlbmQKIAogI2VuZGlmIC8vIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxMDAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0g
Yi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggNWY0NWI3M2E3M2Rm
OGQwNDEzYzAwZDk0YWJlYTE0YmQzOTFmNzVkOC4uNTEwMTUxYjVkNGJlZTJjZGE0MTMxMTdhYWIz
YWM0Mzk5YWI2OGQwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJW
aWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtODU1
MSwxMiArODU1MSw3IEBAIGJvb2wgTGF5ZXJGbHVzaENvbnRyb2xsZXI6OmZsdXNoTGF5ZXJzKCkK
ICAgICBpZiAoIWRpY3Rpb25hcnlQb3B1cEluZm8uYXR0cmlidXRlZFN0cmluZykKICAgICAgICAg
cmV0dXJuIG5pbDsKIAotICAgIE5TUG9pbnQgdGV4dEJhc2VsaW5lT3JpZ2luID0gZGljdGlvbmFy
eVBvcHVwSW5mby5vcmlnaW47Ci0KLSAgICAvLyBDb252ZXJ0IHRvIHNjcmVlbiBjb29yZGluYXRl
cy4KLSAgICB0ZXh0QmFzZWxpbmVPcmlnaW4gPSBbc2VsZi53aW5kb3cgY29udmVydFJlY3RUb1Nj
cmVlbjpOU01ha2VSZWN0KHRleHRCYXNlbGluZU9yaWdpbi54LCB0ZXh0QmFzZWxpbmVPcmlnaW4u
eSwgMCwgMCldLm9yaWdpbjsKLQotICAgIGlmIChjYW5Mb2FkTFVUZXJtT3B0aW9uRGlzYWJsZVNl
YXJjaFRlcm1JbmRpY2F0b3IoKSAmJiBjYW5Mb2FkTFVOb3RpZmljYXRpb25Qb3BvdmVyV2lsbENs
b3NlKCkpIHsKKyAgICBpZiAoY2FuTG9hZExVVGVybU9wdGlvbkRpc2FibGVTZWFyY2hUZXJtSW5k
aWNhdG9yKCkgJiYgY2FuTG9hZExVTm90aWZpY2F0aW9uUG9wb3ZlcldpbGxDbG9zZSgpICYmIGRp
Y3Rpb25hcnlQb3B1cEluZm8udGV4dEluZGljYXRvcikgewogICAgICAgICBpZiAoIV9wcml2YXRl
LT5oYXNJbml0aWFsaXplZExvb2t1cE9ic2VydmVyKSB7CiAgICAgICAgICAgICBbW05TTm90aWZp
Y2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNl
bGVjdG9yKF9kaWN0aW9uYXJ5TG9va3VwUG9wb3ZlcldpbGxDbG9zZTopIG5hbWU6Z2V0TFVOb3Rp
ZmljYXRpb25Qb3BvdmVyV2lsbENsb3NlKCkgb2JqZWN0Om5pbF07CiAgICAgICAgICAgICBfcHJp
dmF0ZS0+aGFzSW5pdGlhbGl6ZWRMb29rdXBPYnNlcnZlciA9IFlFUzsKQEAgLTg1NjcsOSArODU2
MiwxNyBAQCBib29sIExheWVyRmx1c2hDb250cm9sbGVyOjpmbHVzaExheWVycygpCiAgICAgICAg
ICAgICBtdXRhYmxlT3B0aW9ucyA9IGFkb3B0TlMoW1tOU011dGFibGVEaWN0aW9uYXJ5IGFsbG9j
XSBpbml0XSk7CiAgICAgICAgIFttdXRhYmxlT3B0aW9ucyBzZXRPYmplY3Q6QFlFUyBmb3JLZXk6
Z2V0TFVUZXJtT3B0aW9uRGlzYWJsZVNlYXJjaFRlcm1JbmRpY2F0b3IoKV07CiAgICAgICAgIFtz
ZWxmIF9zZXRUZXh0SW5kaWNhdG9yOipkaWN0aW9uYXJ5UG9wdXBJbmZvLnRleHRJbmRpY2F0b3Ig
d2l0aExpZmV0aW1lOlRleHRJbmRpY2F0b3JXaW5kb3dMaWZldGltZTo6UGVybWFuZW50XTsKLSAg
ICAgICAgcmV0dXJuIFtnZXRMVUxvb2t1cERlZmluaXRpb25Nb2R1bGVDbGFzcygpIGxvb2t1cEFu
aW1hdGlvbkNvbnRyb2xsZXJGb3JUZXJtOmRpY3Rpb25hcnlQb3B1cEluZm8uYXR0cmlidXRlZFN0
cmluZy5nZXQoKSBhdExvY2F0aW9uOnRleHRCYXNlbGluZU9yaWdpbiBvcHRpb25zOm11dGFibGVP
cHRpb25zLmdldCgpXTsKKworICAgICAgICBpZiAoW2dldExVTG9va3VwRGVmaW5pdGlvbk1vZHVs
ZUNsYXNzKCkgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihsb29rdXBBbmltYXRpb25Db250
cm9sbGVyRm9yVGVybTpyZWxhdGl2ZVRvUmVjdDpvZlZpZXc6b3B0aW9uczopXSkgeworICAgICAg
ICAgICAgRmxvYXRSZWN0IGZpcnN0VGV4dFJlY3RJblZpZXdDb29yZGluYXRlcyA9IGRpY3Rpb25h
cnlQb3B1cEluZm8udGV4dEluZGljYXRvci0+dGV4dFJlY3RzSW5Cb3VuZGluZ1JlY3RDb29yZGlu
YXRlcygpWzBdOworICAgICAgICAgICAgZmlyc3RUZXh0UmVjdEluVmlld0Nvb3JkaW5hdGVzLm1v
dmVCeShkaWN0aW9uYXJ5UG9wdXBJbmZvLnRleHRJbmRpY2F0b3ItPnRleHRCb3VuZGluZ1JlY3RJ
blJvb3RWaWV3Q29vcmRpbmF0ZXMoKS5sb2NhdGlvbigpKTsKKyAgICAgICAgICAgIHJldHVybiBb
Z2V0TFVMb29rdXBEZWZpbml0aW9uTW9kdWxlQ2xhc3MoKSBsb29rdXBBbmltYXRpb25Db250cm9s
bGVyRm9yVGVybTpkaWN0aW9uYXJ5UG9wdXBJbmZvLmF0dHJpYnV0ZWRTdHJpbmcuZ2V0KCkgcmVs
YXRpdmVUb1JlY3Q6W3NlbGYgX2NvbnZlcnRSZWN0RnJvbVJvb3RWaWV3OmZpcnN0VGV4dFJlY3RJ
blZpZXdDb29yZGluYXRlc10gb2ZWaWV3OnNlbGYgb3B0aW9uczptdXRhYmxlT3B0aW9ucy5nZXQo
KV07CisgICAgICAgIH0KICAgICB9CiAKKyAgICAvLyBDb252ZXJ0IHRvIHNjcmVlbiBjb29yZGlu
YXRlcy4KKyAgICBOU1BvaW50IHRleHRCYXNlbGluZU9yaWdpbiA9IFtzZWxmLndpbmRvdyBjb252
ZXJ0UmVjdFRvU2NyZWVuOk5TTWFrZVJlY3QoZGljdGlvbmFyeVBvcHVwSW5mby5vcmlnaW4ueCwg
ZGljdGlvbmFyeVBvcHVwSW5mby5vcmlnaW4ueSwgMCwgMCldLm9yaWdpbjsKKwogICAgIHJldHVy
biBbZ2V0TFVMb29rdXBEZWZpbml0aW9uTW9kdWxlQ2xhc3MoKSBsb29rdXBBbmltYXRpb25Db250
cm9sbGVyRm9yVGVybTpkaWN0aW9uYXJ5UG9wdXBJbmZvLmF0dHJpYnV0ZWRTdHJpbmcuZ2V0KCkg
YXRMb2NhdGlvbjp0ZXh0QmFzZWxpbmVPcmlnaW4gb3B0aW9uczpkaWN0aW9uYXJ5UG9wdXBJbmZv
Lm9wdGlvbnMuZ2V0KCldOwogfQogI2VuZGlmIC8vIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVR
VUlSRUQgPj0gMTAxMDAwCkBAIC04NjE3LDEyICs4NjIwLDcgQEAgYm9vbCBMYXllckZsdXNoQ29u
dHJvbGxlcjo6Zmx1c2hMYXllcnMoKQogICAgIGlmICghZGljdGlvbmFyeVBvcHVwSW5mby5hdHRy
aWJ1dGVkU3RyaW5nKQogICAgICAgICByZXR1cm47CiAKLSAgICBOU1BvaW50IHRleHRCYXNlbGlu
ZU9yaWdpbiA9IGRpY3Rpb25hcnlQb3B1cEluZm8ub3JpZ2luOwotCi0gICAgLy8gQ29udmVydCB0
byBzY3JlZW4gY29vcmRpbmF0ZXMuCi0gICAgdGV4dEJhc2VsaW5lT3JpZ2luID0gW3NlbGYud2lu
ZG93IGNvbnZlcnRSZWN0VG9TY3JlZW46TlNNYWtlUmVjdCh0ZXh0QmFzZWxpbmVPcmlnaW4ueCwg
dGV4dEJhc2VsaW5lT3JpZ2luLnksIDAsIDApXS5vcmlnaW47Ci0KLSAgICBpZiAoY2FuTG9hZExV
VGVybU9wdGlvbkRpc2FibGVTZWFyY2hUZXJtSW5kaWNhdG9yKCkgJiYgY2FuTG9hZExVTm90aWZp
Y2F0aW9uUG9wb3ZlcldpbGxDbG9zZSgpKSB7CisgICAgaWYgKGNhbkxvYWRMVVRlcm1PcHRpb25E
aXNhYmxlU2VhcmNoVGVybUluZGljYXRvcigpICYmIGNhbkxvYWRMVU5vdGlmaWNhdGlvblBvcG92
ZXJXaWxsQ2xvc2UoKSAmJiBkaWN0aW9uYXJ5UG9wdXBJbmZvLnRleHRJbmRpY2F0b3IpIHsKICAg
ICAgICAgaWYgKCFfcHJpdmF0ZS0+aGFzSW5pdGlhbGl6ZWRMb29rdXBPYnNlcnZlcikgewogICAg
ICAgICAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZl
cjpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihfZGljdGlvbmFyeUxvb2t1cFBvcG92ZXJXaWxsQ2xv
c2U6KSBuYW1lOmdldExVTm90aWZpY2F0aW9uUG9wb3ZlcldpbGxDbG9zZSgpIG9iamVjdDpuaWxd
OwogICAgICAgICAgICAgX3ByaXZhdGUtPmhhc0luaXRpYWxpemVkTG9va3VwT2JzZXJ2ZXIgPSBZ
RVM7CkBAIC04NjMzLDkgKzg2MzEsMTkgQEAgYm9vbCBMYXllckZsdXNoQ29udHJvbGxlcjo6Zmx1
c2hMYXllcnMoKQogICAgICAgICAgICAgbXV0YWJsZU9wdGlvbnMgPSBhZG9wdE5TKFtbTlNNdXRh
YmxlRGljdGlvbmFyeSBhbGxvY10gaW5pdF0pOwogICAgICAgICBbbXV0YWJsZU9wdGlvbnMgc2V0
T2JqZWN0OkBZRVMgZm9yS2V5OmdldExVVGVybU9wdGlvbkRpc2FibGVTZWFyY2hUZXJtSW5kaWNh
dG9yKCldOwogICAgICAgICBbc2VsZiBfc2V0VGV4dEluZGljYXRvcjoqZGljdGlvbmFyeVBvcHVw
SW5mby50ZXh0SW5kaWNhdG9yIHdpdGhMaWZldGltZTpUZXh0SW5kaWNhdG9yV2luZG93TGlmZXRp
bWU6OlBlcm1hbmVudF07Ci0gICAgICAgIFtnZXRMVUxvb2t1cERlZmluaXRpb25Nb2R1bGVDbGFz
cygpIHNob3dEZWZpbml0aW9uRm9yVGVybTpkaWN0aW9uYXJ5UG9wdXBJbmZvLmF0dHJpYnV0ZWRT
dHJpbmcuZ2V0KCkgYXRMb2NhdGlvbjp0ZXh0QmFzZWxpbmVPcmlnaW4gb3B0aW9uczptdXRhYmxl
T3B0aW9ucy5nZXQoKV07Ci0gICAgfSBlbHNlCi0gICAgICAgIFtnZXRMVUxvb2t1cERlZmluaXRp
b25Nb2R1bGVDbGFzcygpIHNob3dEZWZpbml0aW9uRm9yVGVybTpkaWN0aW9uYXJ5UG9wdXBJbmZv
LmF0dHJpYnV0ZWRTdHJpbmcuZ2V0KCkgYXRMb2NhdGlvbjp0ZXh0QmFzZWxpbmVPcmlnaW4gb3B0
aW9uczpkaWN0aW9uYXJ5UG9wdXBJbmZvLm9wdGlvbnMuZ2V0KCldOworCisgICAgICAgIGlmIChb
Z2V0TFVMb29rdXBEZWZpbml0aW9uTW9kdWxlQ2xhc3MoKSByZXNwb25kc1RvU2VsZWN0b3I6QHNl
bGVjdG9yKHNob3dEZWZpbml0aW9uRm9yVGVybTpyZWxhdGl2ZVRvUmVjdDpvZlZpZXc6b3B0aW9u
czopXSkgeworICAgICAgICAgICAgRmxvYXRSZWN0IGZpcnN0VGV4dFJlY3RJblZpZXdDb29yZGlu
YXRlcyA9IGRpY3Rpb25hcnlQb3B1cEluZm8udGV4dEluZGljYXRvci0+dGV4dFJlY3RzSW5Cb3Vu
ZGluZ1JlY3RDb29yZGluYXRlcygpWzBdOworICAgICAgICAgICAgZmlyc3RUZXh0UmVjdEluVmll
d0Nvb3JkaW5hdGVzLm1vdmVCeShkaWN0aW9uYXJ5UG9wdXBJbmZvLnRleHRJbmRpY2F0b3ItPnRl
eHRCb3VuZGluZ1JlY3RJblJvb3RWaWV3Q29vcmRpbmF0ZXMoKS5sb2NhdGlvbigpKTsKKyAgICAg
ICAgICAgIFtnZXRMVUxvb2t1cERlZmluaXRpb25Nb2R1bGVDbGFzcygpIHNob3dEZWZpbml0aW9u
Rm9yVGVybTpkaWN0aW9uYXJ5UG9wdXBJbmZvLmF0dHJpYnV0ZWRTdHJpbmcuZ2V0KCkgcmVsYXRp
dmVUb1JlY3Q6W3NlbGYgX2NvbnZlcnRSZWN0RnJvbVJvb3RWaWV3OmZpcnN0VGV4dFJlY3RJblZp
ZXdDb29yZGluYXRlc10gb2ZWaWV3OnNlbGYgb3B0aW9uczptdXRhYmxlT3B0aW9ucy5nZXQoKV07
CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvLyBDb252ZXJ0
IHRvIHNjcmVlbiBjb29yZGluYXRlcy4KKyAgICBOU1BvaW50IHRleHRCYXNlbGluZU9yaWdpbiA9
IFtzZWxmLndpbmRvdyBjb252ZXJ0UmVjdFRvU2NyZWVuOk5TTWFrZVJlY3QoZGljdGlvbmFyeVBv
cHVwSW5mby5vcmlnaW4ueCwgZGljdGlvbmFyeVBvcHVwSW5mby5vcmlnaW4ueSwgMCwgMCldLm9y
aWdpbjsKKworICAgIFtnZXRMVUxvb2t1cERlZmluaXRpb25Nb2R1bGVDbGFzcygpIHNob3dEZWZp
bml0aW9uRm9yVGVybTpkaWN0aW9uYXJ5UG9wdXBJbmZvLmF0dHJpYnV0ZWRTdHJpbmcuZ2V0KCkg
YXRMb2NhdGlvbjp0ZXh0QmFzZWxpbmVPcmlnaW4gb3B0aW9uczpkaWN0aW9uYXJ5UG9wdXBJbmZv
Lm9wdGlvbnMuZ2V0KCldOwogfQogCiAtICh2b2lkKV9kaWN0aW9uYXJ5TG9va3VwUG9wb3Zlcldp
bGxDbG9zZTooTlNOb3RpZmljYXRpb24gKilub3RpZmljYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCmluZGV4IDBmNTJkNTg5NTdlYTU1MmVk
ZWQ1YzlkNDRhMjdkODIwMmE4NGU3MzIuLmZhNzlmOWM3M2Y3YjI2NDJjZTllZjY5NGVkNDJlNWFi
MzBmYzgxMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNs
aWVudEltcGwubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50
SW1wbC5tbQpAQCAtNTg4LDEyICs1ODgsNiBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRQZXJm
b3JtRGljdGlvbmFyeUxvb2t1cChjb25zdCBEaWN0aW9uYXJ5UG9wdXBJbmZvJiBkaWN0aQogICAg
IGlmICghZ2V0TFVMb29rdXBEZWZpbml0aW9uTW9kdWxlQ2xhc3MoKSkKICAgICAgICAgcmV0dXJu
OwogCi0gICAgTlNQb2ludCB0ZXh0QmFzZWxpbmVPcmlnaW4gPSBkaWN0aW9uYXJ5UG9wdXBJbmZv
Lm9yaWdpbjsKLQotICAgIC8vIENvbnZlcnQgdG8gc2NyZWVuIGNvb3JkaW5hdGVzLgotICAgIHRl
eHRCYXNlbGluZU9yaWdpbiA9IFttX3drVmlldyBjb252ZXJ0UG9pbnQ6dGV4dEJhc2VsaW5lT3Jp
Z2luIHRvVmlldzpuaWxdOwotICAgIHRleHRCYXNlbGluZU9yaWdpbiA9IFttX3drVmlldy53aW5k
b3cgY29udmVydFJlY3RUb1NjcmVlbjpOU01ha2VSZWN0KHRleHRCYXNlbGluZU9yaWdpbi54LCB0
ZXh0QmFzZWxpbmVPcmlnaW4ueSwgMCwgMCldLm9yaWdpbjsKLQogICAgIFJldGFpblB0cjxOU011
dGFibGVEaWN0aW9uYXJ5PiBtdXRhYmxlT3B0aW9ucyA9IGFkb3B0TlMoWyhOU0RpY3Rpb25hcnkg
KilkaWN0aW9uYXJ5UG9wdXBJbmZvLm9wdGlvbnMuZ2V0KCkgbXV0YWJsZUNvcHldKTsKIAogICAg
IFttX3drVmlldyBfcHJlcGFyZUZvckRpY3Rpb25hcnlMb29rdXBdOwpAQCAtNjAxLDkgKzU5NSwy
MiBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRQZXJmb3JtRGljdGlvbmFyeUxvb2t1cChjb25z
dCBEaWN0aW9uYXJ5UG9wdXBJbmZvJiBkaWN0aQogICAgIGlmIChjYW5Mb2FkTFVUZXJtT3B0aW9u
RGlzYWJsZVNlYXJjaFRlcm1JbmRpY2F0b3IoKSAmJiBkaWN0aW9uYXJ5UG9wdXBJbmZvLnRleHRJ
bmRpY2F0b3IuY29udGVudEltYWdlKSB7CiAgICAgICAgIFttX3drVmlldyBfc2V0VGV4dEluZGlj
YXRvcjpUZXh0SW5kaWNhdG9yOjpjcmVhdGUoZGljdGlvbmFyeVBvcHVwSW5mby50ZXh0SW5kaWNh
dG9yKSB3aXRoTGlmZXRpbWU6VGV4dEluZGljYXRvcldpbmRvd0xpZmV0aW1lOjpQZXJtYW5lbnRd
OwogICAgICAgICBbbXV0YWJsZU9wdGlvbnMgc2V0T2JqZWN0OkBZRVMgZm9yS2V5OmdldExVVGVy
bU9wdGlvbkRpc2FibGVTZWFyY2hUZXJtSW5kaWNhdG9yKCldOwotICAgICAgICBbZ2V0TFVMb29r
dXBEZWZpbml0aW9uTW9kdWxlQ2xhc3MoKSBzaG93RGVmaW5pdGlvbkZvclRlcm06ZGljdGlvbmFy
eVBvcHVwSW5mby5hdHRyaWJ1dGVkU3RyaW5nLnN0cmluZy5nZXQoKSBhdExvY2F0aW9uOnRleHRC
YXNlbGluZU9yaWdpbiBvcHRpb25zOm11dGFibGVPcHRpb25zLmdldCgpXTsKLSAgICB9IGVsc2UK
LSAgICAgICAgW2dldExVTG9va3VwRGVmaW5pdGlvbk1vZHVsZUNsYXNzKCkgc2hvd0RlZmluaXRp
b25Gb3JUZXJtOmRpY3Rpb25hcnlQb3B1cEluZm8uYXR0cmlidXRlZFN0cmluZy5zdHJpbmcuZ2V0
KCkgYXRMb2NhdGlvbjp0ZXh0QmFzZWxpbmVPcmlnaW4gb3B0aW9uczptdXRhYmxlT3B0aW9ucy5n
ZXQoKV07CisKKyAgICAgICAgaWYgKFtnZXRMVUxvb2t1cERlZmluaXRpb25Nb2R1bGVDbGFzcygp
IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Ioc2hvd0RlZmluaXRpb25Gb3JUZXJtOnJlbGF0
aXZlVG9SZWN0Om9mVmlldzpvcHRpb25zOildKSB7CisgICAgICAgICAgICBGbG9hdFJlY3QgZmly
c3RUZXh0UmVjdEluVmlld0Nvb3JkaW5hdGVzID0gZGljdGlvbmFyeVBvcHVwSW5mby50ZXh0SW5k
aWNhdG9yLnRleHRSZWN0c0luQm91bmRpbmdSZWN0Q29vcmRpbmF0ZXNbMF07CisgICAgICAgICAg
ICBmaXJzdFRleHRSZWN0SW5WaWV3Q29vcmRpbmF0ZXMubW92ZUJ5KGRpY3Rpb25hcnlQb3B1cElu
Zm8udGV4dEluZGljYXRvci50ZXh0Qm91bmRpbmdSZWN0SW5Sb290Vmlld0Nvb3JkaW5hdGVzLmxv
Y2F0aW9uKCkpOworICAgICAgICAgICAgW2dldExVTG9va3VwRGVmaW5pdGlvbk1vZHVsZUNsYXNz
KCkgc2hvd0RlZmluaXRpb25Gb3JUZXJtOmRpY3Rpb25hcnlQb3B1cEluZm8uYXR0cmlidXRlZFN0
cmluZy5zdHJpbmcuZ2V0KCkgcmVsYXRpdmVUb1JlY3Q6Zmlyc3RUZXh0UmVjdEluVmlld0Nvb3Jk
aW5hdGVzIG9mVmlldzptX3drVmlldyBvcHRpb25zOm11dGFibGVPcHRpb25zLmdldCgpXTsKKyAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0KKworICAgIE5TUG9pbnQgdGV4dEJh
c2VsaW5lT3JpZ2luID0gZGljdGlvbmFyeVBvcHVwSW5mby5vcmlnaW47CisKKyAgICAvLyBDb252
ZXJ0IHRvIHNjcmVlbiBjb29yZGluYXRlcy4KKyAgICB0ZXh0QmFzZWxpbmVPcmlnaW4gPSBbbV93
a1ZpZXcgY29udmVydFBvaW50OnRleHRCYXNlbGluZU9yaWdpbiB0b1ZpZXc6bmlsXTsKKyAgICB0
ZXh0QmFzZWxpbmVPcmlnaW4gPSBbbV93a1ZpZXcud2luZG93IGNvbnZlcnRSZWN0VG9TY3JlZW46
TlNNYWtlUmVjdCh0ZXh0QmFzZWxpbmVPcmlnaW4ueCwgdGV4dEJhc2VsaW5lT3JpZ2luLnksIDAs
IDApXS5vcmlnaW47CisKKyAgICBbZ2V0TFVMb29rdXBEZWZpbml0aW9uTW9kdWxlQ2xhc3MoKSBz
aG93RGVmaW5pdGlvbkZvclRlcm06ZGljdGlvbmFyeVBvcHVwSW5mby5hdHRyaWJ1dGVkU3RyaW5n
LnN0cmluZy5nZXQoKSBhdExvY2F0aW9uOnRleHRCYXNlbGluZU9yaWdpbiBvcHRpb25zOm11dGFi
bGVPcHRpb25zLmdldCgpXTsKIH0KIAogdm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlzbWlzc0NvbnRl
bnRSZWxhdGl2ZUNoaWxkV2luZG93cyhib29sIHdpdGhBbmltYXRpb24pCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dLSW1tZWRpYXRlQWN0aW9uQ29udHJvbGxlci5t
bSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV0tJbW1lZGlhdGVBY3Rpb25Db250cm9s
bGVyLm1tCmluZGV4IDRmZGI2MGQwMjdkY2RmOWY3YzFmYzFhZDUxZDdlOGE4NDQzYWRlMDUuLjdl
NDgzMzI1YjA2OTEwZjgwNzcyNTU4OGEzZTg3MWJlZDI0ZmVkMjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV0tJbW1lZGlhdGVBY3Rpb25Db250cm9sbGVyLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV0tJbW1lZGlhdGVBY3Rpb25Db250cm9s
bGVyLm1tCkBAIC00NzAsMTggKzQ3MCwyMyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiAg
ICAgW193a1ZpZXcgX3ByZXBhcmVGb3JEaWN0aW9uYXJ5TG9va3VwXTsKIAorICAgIFJldGFpblB0
cjxOU011dGFibGVEaWN0aW9uYXJ5PiBtdXRhYmxlT3B0aW9ucyA9IGFkb3B0TlMoWyhOU0RpY3Rp
b25hcnkgKilkaWN0aW9uYXJ5UG9wdXBJbmZvLm9wdGlvbnMuZ2V0KCkgbXV0YWJsZUNvcHldKTsK
KyAgICBpZiAoY2FuTG9hZExVVGVybU9wdGlvbkRpc2FibGVTZWFyY2hUZXJtSW5kaWNhdG9yKCkg
JiYgZGljdGlvbmFyeVBvcHVwSW5mby50ZXh0SW5kaWNhdG9yLmNvbnRlbnRJbWFnZSkgeworICAg
ICAgICBbX3drVmlldyBfc2V0VGV4dEluZGljYXRvcjpUZXh0SW5kaWNhdG9yOjpjcmVhdGUoZGlj
dGlvbmFyeVBvcHVwSW5mby50ZXh0SW5kaWNhdG9yKSB3aXRoTGlmZXRpbWU6VGV4dEluZGljYXRv
cldpbmRvd0xpZmV0aW1lOjpQZXJtYW5lbnRdOworICAgICAgICBbbXV0YWJsZU9wdGlvbnMgc2V0
T2JqZWN0OkBZRVMgZm9yS2V5OmdldExVVGVybU9wdGlvbkRpc2FibGVTZWFyY2hUZXJtSW5kaWNh
dG9yKCldOworCisgICAgICAgIGlmIChbZ2V0TFVMb29rdXBEZWZpbml0aW9uTW9kdWxlQ2xhc3Mo
KSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKGxvb2t1cEFuaW1hdGlvbkNvbnRyb2xsZXJG
b3JUZXJtOnJlbGF0aXZlVG9SZWN0Om9mVmlldzpvcHRpb25zOildKSB7CisgICAgICAgICAgICBG
bG9hdFJlY3QgZmlyc3RUZXh0UmVjdEluVmlld0Nvb3JkaW5hdGVzID0gZGljdGlvbmFyeVBvcHVw
SW5mby50ZXh0SW5kaWNhdG9yLnRleHRSZWN0c0luQm91bmRpbmdSZWN0Q29vcmRpbmF0ZXNbMF07
CisgICAgICAgICAgICBmaXJzdFRleHRSZWN0SW5WaWV3Q29vcmRpbmF0ZXMubW92ZUJ5KGRpY3Rp
b25hcnlQb3B1cEluZm8udGV4dEluZGljYXRvci50ZXh0Qm91bmRpbmdSZWN0SW5Sb290Vmlld0Nv
b3JkaW5hdGVzLmxvY2F0aW9uKCkpOworICAgICAgICAgICAgcmV0dXJuIFtnZXRMVUxvb2t1cERl
ZmluaXRpb25Nb2R1bGVDbGFzcygpIGxvb2t1cEFuaW1hdGlvbkNvbnRyb2xsZXJGb3JUZXJtOmRp
Y3Rpb25hcnlQb3B1cEluZm8uYXR0cmlidXRlZFN0cmluZy5zdHJpbmcuZ2V0KCkgcmVsYXRpdmVU
b1JlY3Q6Zmlyc3RUZXh0UmVjdEluVmlld0Nvb3JkaW5hdGVzIG9mVmlldzpfd2tWaWV3IG9wdGlv
bnM6bXV0YWJsZU9wdGlvbnMuZ2V0KCldOworICAgICAgICB9CisgICAgfQorCiAgICAgLy8gQ29u
dmVydCBiYXNlbGluZSB0byBzY3JlZW4gY29vcmRpbmF0ZXMuCiAgICAgTlNQb2ludCB0ZXh0QmFz
ZWxpbmVPcmlnaW4gPSBkaWN0aW9uYXJ5UG9wdXBJbmZvLm9yaWdpbjsKICAgICB0ZXh0QmFzZWxp
bmVPcmlnaW4gPSBbX3drVmlldyBjb252ZXJ0UG9pbnQ6dGV4dEJhc2VsaW5lT3JpZ2luIHRvVmll
dzpuaWxdOwogICAgIHRleHRCYXNlbGluZU9yaWdpbiA9IFtfd2tWaWV3LndpbmRvdyBjb252ZXJ0
UmVjdFRvU2NyZWVuOk5TTWFrZVJlY3QodGV4dEJhc2VsaW5lT3JpZ2luLngsIHRleHRCYXNlbGlu
ZU9yaWdpbi55LCAwLCAwKV0ub3JpZ2luOwogCi0gICAgUmV0YWluUHRyPE5TTXV0YWJsZURpY3Rp
b25hcnk+IG11dGFibGVPcHRpb25zID0gYWRvcHROUyhbKE5TRGljdGlvbmFyeSAqKWRpY3Rpb25h
cnlQb3B1cEluZm8ub3B0aW9ucy5nZXQoKSBtdXRhYmxlQ29weV0pOwotICAgIGlmIChjYW5Mb2Fk
TFVUZXJtT3B0aW9uRGlzYWJsZVNlYXJjaFRlcm1JbmRpY2F0b3IoKSAmJiBkaWN0aW9uYXJ5UG9w
dXBJbmZvLnRleHRJbmRpY2F0b3IuY29udGVudEltYWdlKSB7Ci0gICAgICAgIFJlZlB0cjxUZXh0
SW5kaWNhdG9yPiBpbmRpY2F0b3IgPSBUZXh0SW5kaWNhdG9yOjpjcmVhdGUoZGljdGlvbmFyeVBv
cHVwSW5mby50ZXh0SW5kaWNhdG9yKTsKLSAgICAgICAgW193a1ZpZXcgX3NldFRleHRJbmRpY2F0
b3I6KmluZGljYXRvciB3aXRoTGlmZXRpbWU6VGV4dEluZGljYXRvcldpbmRvd0xpZmV0aW1lOjpQ
ZXJtYW5lbnRdOwotICAgICAgICBbbXV0YWJsZU9wdGlvbnMgc2V0T2JqZWN0OkBZRVMgZm9yS2V5
OmdldExVVGVybU9wdGlvbkRpc2FibGVTZWFyY2hUZXJtSW5kaWNhdG9yKCldOwotICAgICAgICBy
ZXR1cm4gW2dldExVTG9va3VwRGVmaW5pdGlvbk1vZHVsZUNsYXNzKCkgbG9va3VwQW5pbWF0aW9u
Q29udHJvbGxlckZvclRlcm06ZGljdGlvbmFyeVBvcHVwSW5mby5hdHRyaWJ1dGVkU3RyaW5nLnN0
cmluZy5nZXQoKSBhdExvY2F0aW9uOnRleHRCYXNlbGluZU9yaWdpbiBvcHRpb25zOm11dGFibGVP
cHRpb25zLmdldCgpXTsKLSAgICB9CiAgICAgcmV0dXJuIFtnZXRMVUxvb2t1cERlZmluaXRpb25N
b2R1bGVDbGFzcygpIGxvb2t1cEFuaW1hdGlvbkNvbnRyb2xsZXJGb3JUZXJtOmRpY3Rpb25hcnlQ
b3B1cEluZm8uYXR0cmlidXRlZFN0cmluZy5zdHJpbmcuZ2V0KCkgYXRMb2NhdGlvbjp0ZXh0QmFz
ZWxpbmVPcmlnaW4gb3B0aW9uczptdXRhYmxlT3B0aW9ucy5nZXQoKV07CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258983</attachid>
            <date>2015-08-13 22:53:07 -0700</date>
            <delta_ts>2015-08-13 23:03:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148012-20150813225249.patch</filename>
            <type>text/plain</type>
            <size>15727</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4NDM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDc4ZGYxNjhhOGFjNGVl
Y2NmNDBkNWFiN2FiMjAxYjM5ODMwZjc0MC4uYmRkZTMwMmJlNGU1ZDk3YThlMTFiMGZkYTk4N2Iz
NjJkZmI3NTc3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTA4LTEzICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIFBlcmZvcm1pbmcg
YSBMb29rdXAgb24gd3JhcHBlZCB0ZXh0IHB1dHMgdGhlIHBvcG92ZXIgYXJyb3cgaW4gdGhlIHdy
b25nIHBsYWNlIChvZmYgdG8gdGhlIHJpZ2h0KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4MDEyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xOTIz
ODA5ND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHBsYXRmb3JtL3NwaS9tYWMvTG9va3VwU1BJLmg6CisgICAgICAgIEFkZCBzb21lIFNQSS4KKwog
MjAxNS0wOC0xMyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAg
ICAgICBBbm90aGVyIFdpbmRvd3MgYnVpbGQgZml4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGMzNWRm
YmVmYjAyMTZiY2E4ZjllNDU3ZmRlNTg3YmExMTk2OWI1YzYuLjVmMGRmNmM2Y2Y2NWY4NTczM2Ux
MDMyYjFlNGYzZWQ5MTE4YzY4OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyMCBAQAog
MjAxNS0wOC0xMyAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAorICAg
ICAgICBQZXJmb3JtaW5nIGEgTG9va3VwIG9uIHdyYXBwZWQgdGV4dCBwdXRzIHRoZSBwb3BvdmVy
IGFycm93IGluIHRoZSB3cm9uZyBwbGFjZSAob2ZmIHRvIHRoZSByaWdodCkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0ODAxMgorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMTkyMzgwOTQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcg
X2FuaW1hdGlvbkNvbnRyb2xsZXJGb3JEaWN0aW9uYXJ5TG9va3VwUG9wdXBJbmZvOl0pOgorICAg
ICAgICAoLVtXZWJWaWV3IF9zaG93RGljdGlvbmFyeUxvb2t1cFBvcHVwOl0pOgorICAgICAgICBB
ZG9wdCB0aGUgbmV3IFNQSSwgaGFuZGluZyBpdCB0aGUgZmlyc3QgdGV4dCByZWN0LCBpbnN0ZWFk
IG9mIGhhdmluZyBpdAorICAgICAgICBndWVzcyB3aGVyZSB0byBwdXQgdGhlIHBvcG92ZXIuCisg
ICAgICAgIEFsc28sIG51bGwtY2hlY2sgdGhlIFRleHRJbmRpY2F0b3IuCisKKzIwMTUtMDgtMTMg
IFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKICAgICAgICAgUmVmYWN0
b3IgYW5kIGltcHJvdmUgVGV4dEluZGljYXRvciB0byBwcmVwYXJlIGZvciB0ZXN0cwogICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3NjIyCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwppbmRleCBkMTc4NGM1YmNhODU2MzM3MTBmNDgxODAyNzMwZTFhMjAxNzgzZTI0Li5kMjk2MWFh
MmQ3ZWRiOTA5MDk2ZjVhNjRjYzJkODQ1NmJiYTk4NmM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTggQEAKKzIwMTUtMDgtMTMgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+
CisKKyAgICAgICAgUGVyZm9ybWluZyBhIExvb2t1cCBvbiB3cmFwcGVkIHRleHQgcHV0cyB0aGUg
cG9wb3ZlciBhcnJvdyBpbiB0aGUgd3JvbmcgcGxhY2UgKG9mZiB0byB0aGUgcmlnaHQpCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDgwMTIKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzE5MjM4MDk0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbToK
KyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OmRpZFBlcmZvcm1EaWN0aW9uYXJ5TG9v
a3VwKToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dLSW1tZWRpYXRlQWN0aW9uQ29udHJvbGxl
ci5tbToKKyAgICAgICAgKC1bV0tJbW1lZGlhdGVBY3Rpb25Db250cm9sbGVyIF9hbmltYXRpb25D
b250cm9sbGVyRm9yVGV4dF0pOgorICAgICAgICBBZG9wdCB0aGUgbmV3IFNQSSwgaGFuZGluZyBp
dCB0aGUgZmlyc3QgdGV4dCByZWN0LCBpbnN0ZWFkIG9mIGhhdmluZyBpdAorICAgICAgICBndWVz
cyB3aGVyZSB0byBwdXQgdGhlIHBvcG92ZXIuCisKIDIwMTUtMDgtMTMgIENvbW1pdCBRdWV1ZSAg
PGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcg
b3V0IHIxODg0MDQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvbWFj
L0xvb2t1cFNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL21hYy9Mb29rdXBTUEku
aAppbmRleCBhNDVjZTdmYzljMWFmODdjNzg2NmM3OTQ2ZmU5ZDQxNjk4ZTAwM2U3Li42NTlmMTYz
MzdmMmMwYzA0ZjVjNjcyODg2YmVhNDcwZDYyZjM1MDFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9zcGkvbWFjL0xvb2t1cFNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3NwaS9tYWMvTG9va3VwU1BJLmgKQEAgLTQyLDYgKzQyLDcgQEAgU09GVF9MSU5LX0NM
QVNTX09QVElPTkFMKExvb2t1cCwgTFVMb29rdXBEZWZpbml0aW9uTW9kdWxlKQogCiArIChOU1Jh
bmdlKXRva2VuUmFuZ2VGb3JTdHJpbmc6KE5TU3RyaW5nICopc3RyaW5nIHJhbmdlOihOU1Jhbmdl
KXJhbmdlIG9wdGlvbnM6KE5TRGljdGlvbmFyeSAqKilvcHRpb25zOwogKyAodm9pZClzaG93RGVm
aW5pdGlvbkZvclRlcm06KE5TQXR0cmlidXRlZFN0cmluZyAqKXRlcm0gYXRMb2NhdGlvbjooTlNQ
b2ludClzY3JlZW5Qb2ludCBvcHRpb25zOihOU0RpY3Rpb25hcnkgKilvcHRpb25zOworKyAodm9p
ZClzaG93RGVmaW5pdGlvbkZvclRlcm06KE5TQXR0cmlidXRlZFN0cmluZyAqKXRlcm0gcmVsYXRp
dmVUb1JlY3Q6KE5TUmVjdClwb3NpdGlvbmluZ1JlY3Qgb2ZWaWV3OihOU1ZpZXcgKilwb3NpdGlv
bmluZ1ZpZXcgb3B0aW9uczooTlNEaWN0aW9uYXJ5ICopb3B0aW9uczsKICsgKHZvaWQpaGlkZURl
ZmluaXRpb247CiAKIEBlbmQKQEAgLTUwLDEwICs1MSwxMiBAQCBTT0ZUX0xJTktfQ0xBU1NfT1BU
SU9OQUwoTG9va3VwLCBMVUxvb2t1cERlZmluaXRpb25Nb2R1bGUpCiAKICNpZiAgX19NQUNfT1Nf
WF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEwMDAKIAotQGludGVyZmFjZSBMVUxvb2t1cERl
ZmluaXRpb25Nb2R1bGUgKEFuaW1hdGlvbkNvbnRyb2xsZXIpCitAaW50ZXJmYWNlIExVTG9va3Vw
RGVmaW5pdGlvbk1vZHVsZSAoKQogCiArIChpZDxOU0ltbWVkaWF0ZUFjdGlvbkFuaW1hdGlvbkNv
bnRyb2xsZXI+KWxvb2t1cEFuaW1hdGlvbkNvbnRyb2xsZXJGb3JUZXJtOihOU0F0dHJpYnV0ZWRT
dHJpbmcgKil0ZXJtIGF0TG9jYXRpb246KE5TUG9pbnQpc2NyZWVuUG9pbnQgb3B0aW9uczooTlNE
aWN0aW9uYXJ5ICopb3B0aW9uczsKIAorKyAoaWQ8TlNJbW1lZGlhdGVBY3Rpb25BbmltYXRpb25D
b250cm9sbGVyPilsb29rdXBBbmltYXRpb25Db250cm9sbGVyRm9yVGVybTooTlNBdHRyaWJ1dGVk
U3RyaW5nICopdGVybSByZWxhdGl2ZVRvUmVjdDooTlNSZWN0KXBvc2l0aW9uaW5nUmVjdCBvZlZp
ZXc6KE5TVmlldyAqKXBvc2l0aW9uaW5nVmlldyBvcHRpb25zOihOU0RpY3Rpb25hcnkgKilvcHRp
b25zOworCiBAZW5kCiAKICNlbmRpZiAvLyBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDEwMTAwMApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3
Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IDVmNDViNzNh
NzNkZjhkMDQxM2MwMGQ5NGFiZWExNGJkMzkxZjc1ZDguLjUxMDE1MWI1ZDRiZWUyY2RhNDEzMTE3
YWFiM2FjNDM5OWFiNjhkMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAg
LTg1NTEsMTIgKzg1NTEsNyBAQCBib29sIExheWVyRmx1c2hDb250cm9sbGVyOjpmbHVzaExheWVy
cygpCiAgICAgaWYgKCFkaWN0aW9uYXJ5UG9wdXBJbmZvLmF0dHJpYnV0ZWRTdHJpbmcpCiAgICAg
ICAgIHJldHVybiBuaWw7CiAKLSAgICBOU1BvaW50IHRleHRCYXNlbGluZU9yaWdpbiA9IGRpY3Rp
b25hcnlQb3B1cEluZm8ub3JpZ2luOwotCi0gICAgLy8gQ29udmVydCB0byBzY3JlZW4gY29vcmRp
bmF0ZXMuCi0gICAgdGV4dEJhc2VsaW5lT3JpZ2luID0gW3NlbGYud2luZG93IGNvbnZlcnRSZWN0
VG9TY3JlZW46TlNNYWtlUmVjdCh0ZXh0QmFzZWxpbmVPcmlnaW4ueCwgdGV4dEJhc2VsaW5lT3Jp
Z2luLnksIDAsIDApXS5vcmlnaW47Ci0KLSAgICBpZiAoY2FuTG9hZExVVGVybU9wdGlvbkRpc2Fi
bGVTZWFyY2hUZXJtSW5kaWNhdG9yKCkgJiYgY2FuTG9hZExVTm90aWZpY2F0aW9uUG9wb3Zlcldp
bGxDbG9zZSgpKSB7CisgICAgaWYgKGNhbkxvYWRMVVRlcm1PcHRpb25EaXNhYmxlU2VhcmNoVGVy
bUluZGljYXRvcigpICYmIGNhbkxvYWRMVU5vdGlmaWNhdGlvblBvcG92ZXJXaWxsQ2xvc2UoKSAm
JiBkaWN0aW9uYXJ5UG9wdXBJbmZvLnRleHRJbmRpY2F0b3IpIHsKICAgICAgICAgaWYgKCFfcHJp
dmF0ZS0+aGFzSW5pdGlhbGl6ZWRMb29rdXBPYnNlcnZlcikgewogICAgICAgICAgICAgW1tOU05v
dGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9y
OkBzZWxlY3RvcihfZGljdGlvbmFyeUxvb2t1cFBvcG92ZXJXaWxsQ2xvc2U6KSBuYW1lOmdldExV
Tm90aWZpY2F0aW9uUG9wb3ZlcldpbGxDbG9zZSgpIG9iamVjdDpuaWxdOwogICAgICAgICAgICAg
X3ByaXZhdGUtPmhhc0luaXRpYWxpemVkTG9va3VwT2JzZXJ2ZXIgPSBZRVM7CkBAIC04NTY3LDkg
Kzg1NjIsMTcgQEAgYm9vbCBMYXllckZsdXNoQ29udHJvbGxlcjo6Zmx1c2hMYXllcnMoKQogICAg
ICAgICAgICAgbXV0YWJsZU9wdGlvbnMgPSBhZG9wdE5TKFtbTlNNdXRhYmxlRGljdGlvbmFyeSBh
bGxvY10gaW5pdF0pOwogICAgICAgICBbbXV0YWJsZU9wdGlvbnMgc2V0T2JqZWN0OkBZRVMgZm9y
S2V5OmdldExVVGVybU9wdGlvbkRpc2FibGVTZWFyY2hUZXJtSW5kaWNhdG9yKCldOwogICAgICAg
ICBbc2VsZiBfc2V0VGV4dEluZGljYXRvcjoqZGljdGlvbmFyeVBvcHVwSW5mby50ZXh0SW5kaWNh
dG9yIHdpdGhMaWZldGltZTpUZXh0SW5kaWNhdG9yV2luZG93TGlmZXRpbWU6OlBlcm1hbmVudF07
Ci0gICAgICAgIHJldHVybiBbZ2V0TFVMb29rdXBEZWZpbml0aW9uTW9kdWxlQ2xhc3MoKSBsb29r
dXBBbmltYXRpb25Db250cm9sbGVyRm9yVGVybTpkaWN0aW9uYXJ5UG9wdXBJbmZvLmF0dHJpYnV0
ZWRTdHJpbmcuZ2V0KCkgYXRMb2NhdGlvbjp0ZXh0QmFzZWxpbmVPcmlnaW4gb3B0aW9uczptdXRh
YmxlT3B0aW9ucy5nZXQoKV07CisKKyAgICAgICAgaWYgKFtnZXRMVUxvb2t1cERlZmluaXRpb25N
b2R1bGVDbGFzcygpIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IobG9va3VwQW5pbWF0aW9u
Q29udHJvbGxlckZvclRlcm06cmVsYXRpdmVUb1JlY3Q6b2ZWaWV3Om9wdGlvbnM6KV0pIHsKKyAg
ICAgICAgICAgIEZsb2F0UmVjdCBmaXJzdFRleHRSZWN0SW5WaWV3Q29vcmRpbmF0ZXMgPSBkaWN0
aW9uYXJ5UG9wdXBJbmZvLnRleHRJbmRpY2F0b3ItPnRleHRSZWN0c0luQm91bmRpbmdSZWN0Q29v
cmRpbmF0ZXMoKVswXTsKKyAgICAgICAgICAgIGZpcnN0VGV4dFJlY3RJblZpZXdDb29yZGluYXRl
cy5tb3ZlQnkoZGljdGlvbmFyeVBvcHVwSW5mby50ZXh0SW5kaWNhdG9yLT50ZXh0Qm91bmRpbmdS
ZWN0SW5Sb290Vmlld0Nvb3JkaW5hdGVzKCkubG9jYXRpb24oKSk7CisgICAgICAgICAgICByZXR1
cm4gW2dldExVTG9va3VwRGVmaW5pdGlvbk1vZHVsZUNsYXNzKCkgbG9va3VwQW5pbWF0aW9uQ29u
dHJvbGxlckZvclRlcm06ZGljdGlvbmFyeVBvcHVwSW5mby5hdHRyaWJ1dGVkU3RyaW5nLmdldCgp
IHJlbGF0aXZlVG9SZWN0OltzZWxmIF9jb252ZXJ0UmVjdEZyb21Sb290VmlldzpmaXJzdFRleHRS
ZWN0SW5WaWV3Q29vcmRpbmF0ZXNdIG9mVmlldzpzZWxmIG9wdGlvbnM6bXV0YWJsZU9wdGlvbnMu
Z2V0KCldOworICAgICAgICB9CiAgICAgfQogCisgICAgLy8gQ29udmVydCB0byBzY3JlZW4gY29v
cmRpbmF0ZXMuCisgICAgTlNQb2ludCB0ZXh0QmFzZWxpbmVPcmlnaW4gPSBbc2VsZi53aW5kb3cg
Y29udmVydFJlY3RUb1NjcmVlbjpOU01ha2VSZWN0KGRpY3Rpb25hcnlQb3B1cEluZm8ub3JpZ2lu
LngsIGRpY3Rpb25hcnlQb3B1cEluZm8ub3JpZ2luLnksIDAsIDApXS5vcmlnaW47CisKICAgICBy
ZXR1cm4gW2dldExVTG9va3VwRGVmaW5pdGlvbk1vZHVsZUNsYXNzKCkgbG9va3VwQW5pbWF0aW9u
Q29udHJvbGxlckZvclRlcm06ZGljdGlvbmFyeVBvcHVwSW5mby5hdHRyaWJ1dGVkU3RyaW5nLmdl
dCgpIGF0TG9jYXRpb246dGV4dEJhc2VsaW5lT3JpZ2luIG9wdGlvbnM6ZGljdGlvbmFyeVBvcHVw
SW5mby5vcHRpb25zLmdldCgpXTsKIH0KICNlbmRpZiAvLyBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEwMTAwMApAQCAtODYxNywxMiArODYyMCw3IEBAIGJvb2wgTGF5ZXJGbHVz
aENvbnRyb2xsZXI6OmZsdXNoTGF5ZXJzKCkKICAgICBpZiAoIWRpY3Rpb25hcnlQb3B1cEluZm8u
YXR0cmlidXRlZFN0cmluZykKICAgICAgICAgcmV0dXJuOwogCi0gICAgTlNQb2ludCB0ZXh0QmFz
ZWxpbmVPcmlnaW4gPSBkaWN0aW9uYXJ5UG9wdXBJbmZvLm9yaWdpbjsKLQotICAgIC8vIENvbnZl
cnQgdG8gc2NyZWVuIGNvb3JkaW5hdGVzLgotICAgIHRleHRCYXNlbGluZU9yaWdpbiA9IFtzZWxm
LndpbmRvdyBjb252ZXJ0UmVjdFRvU2NyZWVuOk5TTWFrZVJlY3QodGV4dEJhc2VsaW5lT3JpZ2lu
LngsIHRleHRCYXNlbGluZU9yaWdpbi55LCAwLCAwKV0ub3JpZ2luOwotCi0gICAgaWYgKGNhbkxv
YWRMVVRlcm1PcHRpb25EaXNhYmxlU2VhcmNoVGVybUluZGljYXRvcigpICYmIGNhbkxvYWRMVU5v
dGlmaWNhdGlvblBvcG92ZXJXaWxsQ2xvc2UoKSkgeworICAgIGlmIChjYW5Mb2FkTFVUZXJtT3B0
aW9uRGlzYWJsZVNlYXJjaFRlcm1JbmRpY2F0b3IoKSAmJiBjYW5Mb2FkTFVOb3RpZmljYXRpb25Q
b3BvdmVyV2lsbENsb3NlKCkgJiYgZGljdGlvbmFyeVBvcHVwSW5mby50ZXh0SW5kaWNhdG9yKSB7
CiAgICAgICAgIGlmICghX3ByaXZhdGUtPmhhc0luaXRpYWxpemVkTG9va3VwT2JzZXJ2ZXIpIHsK
ICAgICAgICAgICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2Jz
ZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX2RpY3Rpb25hcnlMb29rdXBQb3BvdmVyV2ls
bENsb3NlOikgbmFtZTpnZXRMVU5vdGlmaWNhdGlvblBvcG92ZXJXaWxsQ2xvc2UoKSBvYmplY3Q6
bmlsXTsKICAgICAgICAgICAgIF9wcml2YXRlLT5oYXNJbml0aWFsaXplZExvb2t1cE9ic2VydmVy
ID0gWUVTOwpAQCAtODYzMyw5ICs4NjMxLDE5IEBAIGJvb2wgTGF5ZXJGbHVzaENvbnRyb2xsZXI6
OmZsdXNoTGF5ZXJzKCkKICAgICAgICAgICAgIG11dGFibGVPcHRpb25zID0gYWRvcHROUyhbW05T
TXV0YWJsZURpY3Rpb25hcnkgYWxsb2NdIGluaXRdKTsKICAgICAgICAgW211dGFibGVPcHRpb25z
IHNldE9iamVjdDpAWUVTIGZvcktleTpnZXRMVVRlcm1PcHRpb25EaXNhYmxlU2VhcmNoVGVybUlu
ZGljYXRvcigpXTsKICAgICAgICAgW3NlbGYgX3NldFRleHRJbmRpY2F0b3I6KmRpY3Rpb25hcnlQ
b3B1cEluZm8udGV4dEluZGljYXRvciB3aXRoTGlmZXRpbWU6VGV4dEluZGljYXRvcldpbmRvd0xp
ZmV0aW1lOjpQZXJtYW5lbnRdOwotICAgICAgICBbZ2V0TFVMb29rdXBEZWZpbml0aW9uTW9kdWxl
Q2xhc3MoKSBzaG93RGVmaW5pdGlvbkZvclRlcm06ZGljdGlvbmFyeVBvcHVwSW5mby5hdHRyaWJ1
dGVkU3RyaW5nLmdldCgpIGF0TG9jYXRpb246dGV4dEJhc2VsaW5lT3JpZ2luIG9wdGlvbnM6bXV0
YWJsZU9wdGlvbnMuZ2V0KCldOwotICAgIH0gZWxzZQotICAgICAgICBbZ2V0TFVMb29rdXBEZWZp
bml0aW9uTW9kdWxlQ2xhc3MoKSBzaG93RGVmaW5pdGlvbkZvclRlcm06ZGljdGlvbmFyeVBvcHVw
SW5mby5hdHRyaWJ1dGVkU3RyaW5nLmdldCgpIGF0TG9jYXRpb246dGV4dEJhc2VsaW5lT3JpZ2lu
IG9wdGlvbnM6ZGljdGlvbmFyeVBvcHVwSW5mby5vcHRpb25zLmdldCgpXTsKKworICAgICAgICBp
ZiAoW2dldExVTG9va3VwRGVmaW5pdGlvbk1vZHVsZUNsYXNzKCkgcmVzcG9uZHNUb1NlbGVjdG9y
OkBzZWxlY3RvcihzaG93RGVmaW5pdGlvbkZvclRlcm06cmVsYXRpdmVUb1JlY3Q6b2ZWaWV3Om9w
dGlvbnM6KV0pIHsKKyAgICAgICAgICAgIEZsb2F0UmVjdCBmaXJzdFRleHRSZWN0SW5WaWV3Q29v
cmRpbmF0ZXMgPSBkaWN0aW9uYXJ5UG9wdXBJbmZvLnRleHRJbmRpY2F0b3ItPnRleHRSZWN0c0lu
Qm91bmRpbmdSZWN0Q29vcmRpbmF0ZXMoKVswXTsKKyAgICAgICAgICAgIGZpcnN0VGV4dFJlY3RJ
blZpZXdDb29yZGluYXRlcy5tb3ZlQnkoZGljdGlvbmFyeVBvcHVwSW5mby50ZXh0SW5kaWNhdG9y
LT50ZXh0Qm91bmRpbmdSZWN0SW5Sb290Vmlld0Nvb3JkaW5hdGVzKCkubG9jYXRpb24oKSk7Cisg
ICAgICAgICAgICBbZ2V0TFVMb29rdXBEZWZpbml0aW9uTW9kdWxlQ2xhc3MoKSBzaG93RGVmaW5p
dGlvbkZvclRlcm06ZGljdGlvbmFyeVBvcHVwSW5mby5hdHRyaWJ1dGVkU3RyaW5nLmdldCgpIHJl
bGF0aXZlVG9SZWN0OltzZWxmIF9jb252ZXJ0UmVjdEZyb21Sb290VmlldzpmaXJzdFRleHRSZWN0
SW5WaWV3Q29vcmRpbmF0ZXNdIG9mVmlldzpzZWxmIG9wdGlvbnM6bXV0YWJsZU9wdGlvbnMuZ2V0
KCldOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQorCisgICAgLy8gQ29u
dmVydCB0byBzY3JlZW4gY29vcmRpbmF0ZXMuCisgICAgTlNQb2ludCB0ZXh0QmFzZWxpbmVPcmln
aW4gPSBbc2VsZi53aW5kb3cgY29udmVydFJlY3RUb1NjcmVlbjpOU01ha2VSZWN0KGRpY3Rpb25h
cnlQb3B1cEluZm8ub3JpZ2luLngsIGRpY3Rpb25hcnlQb3B1cEluZm8ub3JpZ2luLnksIDAsIDAp
XS5vcmlnaW47CisKKyAgICBbZ2V0TFVMb29rdXBEZWZpbml0aW9uTW9kdWxlQ2xhc3MoKSBzaG93
RGVmaW5pdGlvbkZvclRlcm06ZGljdGlvbmFyeVBvcHVwSW5mby5hdHRyaWJ1dGVkU3RyaW5nLmdl
dCgpIGF0TG9jYXRpb246dGV4dEJhc2VsaW5lT3JpZ2luIG9wdGlvbnM6ZGljdGlvbmFyeVBvcHVw
SW5mby5vcHRpb25zLmdldCgpXTsKIH0KIAogLSAodm9pZClfZGljdGlvbmFyeUxvb2t1cFBvcG92
ZXJXaWxsQ2xvc2U6KE5TTm90aWZpY2F0aW9uICopbm90aWZpY2F0aW9uCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbQppbmRleCAwZjUyZDU4OTU3ZWE1
NTJlZGVkNWM5ZDQ0YTI3ZDgyMDJhODRlNzMyLi5mYTc5ZjljNzNmN2IyNjQyY2U5ZWY2OTRlZDQy
ZTVhYjMwZmM4MTMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1Bh
Z2VDbGllbnRJbXBsLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNs
aWVudEltcGwubW0KQEAgLTU4OCwxMiArNTg4LDYgQEAgdm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlk
UGVyZm9ybURpY3Rpb25hcnlMb29rdXAoY29uc3QgRGljdGlvbmFyeVBvcHVwSW5mbyYgZGljdGkK
ICAgICBpZiAoIWdldExVTG9va3VwRGVmaW5pdGlvbk1vZHVsZUNsYXNzKCkpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIE5TUG9pbnQgdGV4dEJhc2VsaW5lT3JpZ2luID0gZGljdGlvbmFyeVBvcHVw
SW5mby5vcmlnaW47Ci0KLSAgICAvLyBDb252ZXJ0IHRvIHNjcmVlbiBjb29yZGluYXRlcy4KLSAg
ICB0ZXh0QmFzZWxpbmVPcmlnaW4gPSBbbV93a1ZpZXcgY29udmVydFBvaW50OnRleHRCYXNlbGlu
ZU9yaWdpbiB0b1ZpZXc6bmlsXTsKLSAgICB0ZXh0QmFzZWxpbmVPcmlnaW4gPSBbbV93a1ZpZXcu
d2luZG93IGNvbnZlcnRSZWN0VG9TY3JlZW46TlNNYWtlUmVjdCh0ZXh0QmFzZWxpbmVPcmlnaW4u
eCwgdGV4dEJhc2VsaW5lT3JpZ2luLnksIDAsIDApXS5vcmlnaW47Ci0KICAgICBSZXRhaW5QdHI8
TlNNdXRhYmxlRGljdGlvbmFyeT4gbXV0YWJsZU9wdGlvbnMgPSBhZG9wdE5TKFsoTlNEaWN0aW9u
YXJ5ICopZGljdGlvbmFyeVBvcHVwSW5mby5vcHRpb25zLmdldCgpIG11dGFibGVDb3B5XSk7CiAK
ICAgICBbbV93a1ZpZXcgX3ByZXBhcmVGb3JEaWN0aW9uYXJ5TG9va3VwXTsKQEAgLTYwMSw5ICs1
OTUsMjIgQEAgdm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlkUGVyZm9ybURpY3Rpb25hcnlMb29rdXAo
Y29uc3QgRGljdGlvbmFyeVBvcHVwSW5mbyYgZGljdGkKICAgICBpZiAoY2FuTG9hZExVVGVybU9w
dGlvbkRpc2FibGVTZWFyY2hUZXJtSW5kaWNhdG9yKCkgJiYgZGljdGlvbmFyeVBvcHVwSW5mby50
ZXh0SW5kaWNhdG9yLmNvbnRlbnRJbWFnZSkgewogICAgICAgICBbbV93a1ZpZXcgX3NldFRleHRJ
bmRpY2F0b3I6VGV4dEluZGljYXRvcjo6Y3JlYXRlKGRpY3Rpb25hcnlQb3B1cEluZm8udGV4dElu
ZGljYXRvcikgd2l0aExpZmV0aW1lOlRleHRJbmRpY2F0b3JXaW5kb3dMaWZldGltZTo6UGVybWFu
ZW50XTsKICAgICAgICAgW211dGFibGVPcHRpb25zIHNldE9iamVjdDpAWUVTIGZvcktleTpnZXRM
VVRlcm1PcHRpb25EaXNhYmxlU2VhcmNoVGVybUluZGljYXRvcigpXTsKLSAgICAgICAgW2dldExV
TG9va3VwRGVmaW5pdGlvbk1vZHVsZUNsYXNzKCkgc2hvd0RlZmluaXRpb25Gb3JUZXJtOmRpY3Rp
b25hcnlQb3B1cEluZm8uYXR0cmlidXRlZFN0cmluZy5zdHJpbmcuZ2V0KCkgYXRMb2NhdGlvbjp0
ZXh0QmFzZWxpbmVPcmlnaW4gb3B0aW9uczptdXRhYmxlT3B0aW9ucy5nZXQoKV07Ci0gICAgfSBl
bHNlCi0gICAgICAgIFtnZXRMVUxvb2t1cERlZmluaXRpb25Nb2R1bGVDbGFzcygpIHNob3dEZWZp
bml0aW9uRm9yVGVybTpkaWN0aW9uYXJ5UG9wdXBJbmZvLmF0dHJpYnV0ZWRTdHJpbmcuc3RyaW5n
LmdldCgpIGF0TG9jYXRpb246dGV4dEJhc2VsaW5lT3JpZ2luIG9wdGlvbnM6bXV0YWJsZU9wdGlv
bnMuZ2V0KCldOworCisgICAgICAgIGlmIChbZ2V0TFVMb29rdXBEZWZpbml0aW9uTW9kdWxlQ2xh
c3MoKSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNob3dEZWZpbml0aW9uRm9yVGVybTpy
ZWxhdGl2ZVRvUmVjdDpvZlZpZXc6b3B0aW9uczopXSkgeworICAgICAgICAgICAgRmxvYXRSZWN0
IGZpcnN0VGV4dFJlY3RJblZpZXdDb29yZGluYXRlcyA9IGRpY3Rpb25hcnlQb3B1cEluZm8udGV4
dEluZGljYXRvci50ZXh0UmVjdHNJbkJvdW5kaW5nUmVjdENvb3JkaW5hdGVzWzBdOworICAgICAg
ICAgICAgZmlyc3RUZXh0UmVjdEluVmlld0Nvb3JkaW5hdGVzLm1vdmVCeShkaWN0aW9uYXJ5UG9w
dXBJbmZvLnRleHRJbmRpY2F0b3IudGV4dEJvdW5kaW5nUmVjdEluUm9vdFZpZXdDb29yZGluYXRl
cy5sb2NhdGlvbigpKTsKKyAgICAgICAgICAgIFtnZXRMVUxvb2t1cERlZmluaXRpb25Nb2R1bGVD
bGFzcygpIHNob3dEZWZpbml0aW9uRm9yVGVybTpkaWN0aW9uYXJ5UG9wdXBJbmZvLmF0dHJpYnV0
ZWRTdHJpbmcuc3RyaW5nLmdldCgpIHJlbGF0aXZlVG9SZWN0OmZpcnN0VGV4dFJlY3RJblZpZXdD
b29yZGluYXRlcyBvZlZpZXc6bV93a1ZpZXcgb3B0aW9uczptdXRhYmxlT3B0aW9ucy5nZXQoKV07
CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9CisKKyAgICBOU1BvaW50IHRl
eHRCYXNlbGluZU9yaWdpbiA9IGRpY3Rpb25hcnlQb3B1cEluZm8ub3JpZ2luOworCisgICAgLy8g
Q29udmVydCB0byBzY3JlZW4gY29vcmRpbmF0ZXMuCisgICAgdGV4dEJhc2VsaW5lT3JpZ2luID0g
W21fd2tWaWV3IGNvbnZlcnRQb2ludDp0ZXh0QmFzZWxpbmVPcmlnaW4gdG9WaWV3Om5pbF07Cisg
ICAgdGV4dEJhc2VsaW5lT3JpZ2luID0gW21fd2tWaWV3LndpbmRvdyBjb252ZXJ0UmVjdFRvU2Ny
ZWVuOk5TTWFrZVJlY3QodGV4dEJhc2VsaW5lT3JpZ2luLngsIHRleHRCYXNlbGluZU9yaWdpbi55
LCAwLCAwKV0ub3JpZ2luOworCisgICAgW2dldExVTG9va3VwRGVmaW5pdGlvbk1vZHVsZUNsYXNz
KCkgc2hvd0RlZmluaXRpb25Gb3JUZXJtOmRpY3Rpb25hcnlQb3B1cEluZm8uYXR0cmlidXRlZFN0
cmluZy5zdHJpbmcuZ2V0KCkgYXRMb2NhdGlvbjp0ZXh0QmFzZWxpbmVPcmlnaW4gb3B0aW9uczpt
dXRhYmxlT3B0aW9ucy5nZXQoKV07CiB9CiAKIHZvaWQgUGFnZUNsaWVudEltcGw6OmRpc21pc3ND
b250ZW50UmVsYXRpdmVDaGlsZFdpbmRvd3MoYm9vbCB3aXRoQW5pbWF0aW9uKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XS0ltbWVkaWF0ZUFjdGlvbkNvbnRyb2xs
ZXIubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dLSW1tZWRpYXRlQWN0aW9uQ29u
dHJvbGxlci5tbQppbmRleCA0ZmRiNjBkMDI3ZGNkZjlmN2MxZmMxYWQ1MWQ3ZThhODQ0M2FkZTA1
Li43ZTQ4MzMyNWIwNjkxMGY4MDc3MjU1ODhhM2U4NzFiZWQyNGZlZDI5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dLSW1tZWRpYXRlQWN0aW9uQ29udHJvbGxlci5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dLSW1tZWRpYXRlQWN0aW9uQ29u
dHJvbGxlci5tbQpAQCAtNDcwLDE4ICs0NzAsMjMgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsK
IAogICAgIFtfd2tWaWV3IF9wcmVwYXJlRm9yRGljdGlvbmFyeUxvb2t1cF07CiAKKyAgICBSZXRh
aW5QdHI8TlNNdXRhYmxlRGljdGlvbmFyeT4gbXV0YWJsZU9wdGlvbnMgPSBhZG9wdE5TKFsoTlNE
aWN0aW9uYXJ5ICopZGljdGlvbmFyeVBvcHVwSW5mby5vcHRpb25zLmdldCgpIG11dGFibGVDb3B5
XSk7CisgICAgaWYgKGNhbkxvYWRMVVRlcm1PcHRpb25EaXNhYmxlU2VhcmNoVGVybUluZGljYXRv
cigpICYmIGRpY3Rpb25hcnlQb3B1cEluZm8udGV4dEluZGljYXRvci5jb250ZW50SW1hZ2UpIHsK
KyAgICAgICAgW193a1ZpZXcgX3NldFRleHRJbmRpY2F0b3I6VGV4dEluZGljYXRvcjo6Y3JlYXRl
KGRpY3Rpb25hcnlQb3B1cEluZm8udGV4dEluZGljYXRvcikgd2l0aExpZmV0aW1lOlRleHRJbmRp
Y2F0b3JXaW5kb3dMaWZldGltZTo6UGVybWFuZW50XTsKKyAgICAgICAgW211dGFibGVPcHRpb25z
IHNldE9iamVjdDpAWUVTIGZvcktleTpnZXRMVVRlcm1PcHRpb25EaXNhYmxlU2VhcmNoVGVybUlu
ZGljYXRvcigpXTsKKworICAgICAgICBpZiAoW2dldExVTG9va3VwRGVmaW5pdGlvbk1vZHVsZUNs
YXNzKCkgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihsb29rdXBBbmltYXRpb25Db250cm9s
bGVyRm9yVGVybTpyZWxhdGl2ZVRvUmVjdDpvZlZpZXc6b3B0aW9uczopXSkgeworICAgICAgICAg
ICAgRmxvYXRSZWN0IGZpcnN0VGV4dFJlY3RJblZpZXdDb29yZGluYXRlcyA9IGRpY3Rpb25hcnlQ
b3B1cEluZm8udGV4dEluZGljYXRvci50ZXh0UmVjdHNJbkJvdW5kaW5nUmVjdENvb3JkaW5hdGVz
WzBdOworICAgICAgICAgICAgZmlyc3RUZXh0UmVjdEluVmlld0Nvb3JkaW5hdGVzLm1vdmVCeShk
aWN0aW9uYXJ5UG9wdXBJbmZvLnRleHRJbmRpY2F0b3IudGV4dEJvdW5kaW5nUmVjdEluUm9vdFZp
ZXdDb29yZGluYXRlcy5sb2NhdGlvbigpKTsKKyAgICAgICAgICAgIHJldHVybiBbZ2V0TFVMb29r
dXBEZWZpbml0aW9uTW9kdWxlQ2xhc3MoKSBsb29rdXBBbmltYXRpb25Db250cm9sbGVyRm9yVGVy
bTpkaWN0aW9uYXJ5UG9wdXBJbmZvLmF0dHJpYnV0ZWRTdHJpbmcuc3RyaW5nLmdldCgpIHJlbGF0
aXZlVG9SZWN0OmZpcnN0VGV4dFJlY3RJblZpZXdDb29yZGluYXRlcyBvZlZpZXc6X3drVmlldyBv
cHRpb25zOm11dGFibGVPcHRpb25zLmdldCgpXTsKKyAgICAgICAgfQorICAgIH0KKwogICAgIC8v
IENvbnZlcnQgYmFzZWxpbmUgdG8gc2NyZWVuIGNvb3JkaW5hdGVzLgogICAgIE5TUG9pbnQgdGV4
dEJhc2VsaW5lT3JpZ2luID0gZGljdGlvbmFyeVBvcHVwSW5mby5vcmlnaW47CiAgICAgdGV4dEJh
c2VsaW5lT3JpZ2luID0gW193a1ZpZXcgY29udmVydFBvaW50OnRleHRCYXNlbGluZU9yaWdpbiB0
b1ZpZXc6bmlsXTsKICAgICB0ZXh0QmFzZWxpbmVPcmlnaW4gPSBbX3drVmlldy53aW5kb3cgY29u
dmVydFJlY3RUb1NjcmVlbjpOU01ha2VSZWN0KHRleHRCYXNlbGluZU9yaWdpbi54LCB0ZXh0QmFz
ZWxpbmVPcmlnaW4ueSwgMCwgMCldLm9yaWdpbjsKIAotICAgIFJldGFpblB0cjxOU011dGFibGVE
aWN0aW9uYXJ5PiBtdXRhYmxlT3B0aW9ucyA9IGFkb3B0TlMoWyhOU0RpY3Rpb25hcnkgKilkaWN0
aW9uYXJ5UG9wdXBJbmZvLm9wdGlvbnMuZ2V0KCkgbXV0YWJsZUNvcHldKTsKLSAgICBpZiAoY2Fu
TG9hZExVVGVybU9wdGlvbkRpc2FibGVTZWFyY2hUZXJtSW5kaWNhdG9yKCkgJiYgZGljdGlvbmFy
eVBvcHVwSW5mby50ZXh0SW5kaWNhdG9yLmNvbnRlbnRJbWFnZSkgewotICAgICAgICBSZWZQdHI8
VGV4dEluZGljYXRvcj4gaW5kaWNhdG9yID0gVGV4dEluZGljYXRvcjo6Y3JlYXRlKGRpY3Rpb25h
cnlQb3B1cEluZm8udGV4dEluZGljYXRvcik7Ci0gICAgICAgIFtfd2tWaWV3IF9zZXRUZXh0SW5k
aWNhdG9yOippbmRpY2F0b3Igd2l0aExpZmV0aW1lOlRleHRJbmRpY2F0b3JXaW5kb3dMaWZldGlt
ZTo6UGVybWFuZW50XTsKLSAgICAgICAgW211dGFibGVPcHRpb25zIHNldE9iamVjdDpAWUVTIGZv
cktleTpnZXRMVVRlcm1PcHRpb25EaXNhYmxlU2VhcmNoVGVybUluZGljYXRvcigpXTsKLSAgICAg
ICAgcmV0dXJuIFtnZXRMVUxvb2t1cERlZmluaXRpb25Nb2R1bGVDbGFzcygpIGxvb2t1cEFuaW1h
dGlvbkNvbnRyb2xsZXJGb3JUZXJtOmRpY3Rpb25hcnlQb3B1cEluZm8uYXR0cmlidXRlZFN0cmlu
Zy5zdHJpbmcuZ2V0KCkgYXRMb2NhdGlvbjp0ZXh0QmFzZWxpbmVPcmlnaW4gb3B0aW9uczptdXRh
YmxlT3B0aW9ucy5nZXQoKV07Ci0gICAgfQogICAgIHJldHVybiBbZ2V0TFVMb29rdXBEZWZpbml0
aW9uTW9kdWxlQ2xhc3MoKSBsb29rdXBBbmltYXRpb25Db250cm9sbGVyRm9yVGVybTpkaWN0aW9u
YXJ5UG9wdXBJbmZvLmF0dHJpYnV0ZWRTdHJpbmcuc3RyaW5nLmdldCgpIGF0TG9jYXRpb246dGV4
dEJhc2VsaW5lT3JpZ2luIG9wdGlvbnM6bXV0YWJsZU9wdGlvbnMuZ2V0KCldOwogfQogCg==
</data>
<flag name="review"
          id="284186"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>