<?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>179646</bug_id>
          
          <creation_ts>2017-11-13 17:39:39 -0800</creation_ts>
          <short_desc>Long pressing a phone number with spaces in it results in a link sheet instead of a data detectors sheet</short_desc>
          <delta_ts>2017-11-14 09:44:22 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</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>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>enrica</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1371185</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-11-13 17:39:39 -0800</bug_when>
    <thetext>Long pressing a phone number with spaces in it results in a link sheet instead of a data detectors sheet</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371187</commentid>
    <comment_count>1</comment_count>
      <attachid>326832</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-11-13 17:40:08 -0800</bug_when>
    <thetext>Created attachment 326832
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371188</commentid>
    <comment_count>2</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-11-13 17:40:30 -0800</bug_when>
    <thetext>&lt;rdar://problem/35337288&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371200</commentid>
    <comment_count>3</comment_count>
      <attachid>326832</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-11-13 18:32:28 -0800</bug_when>
    <thetext>Comment on attachment 326832
Patch

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

&gt; Source/WebCore/editing/cocoa/DataDetection.h:65
&gt; +    WEBCORE_EXPORT static bool URLCanBePresentedByDataDetectors(const URL&amp;);

I don’t think this function needs the word “URL” in its name. Either linkCanBePresentefdByDataDetectors or canBePresentedByDataDetectors seems fine to me.

&gt; Source/WebKit/UIProcess/ios/WKActionSheetAssistant.mm:559
&gt; +    NSURL *targetURL = [NSURL _web_URLWithWTFString:_positionInformation-&gt;url];

Why isn’t this just:

    NSURL *targetURL = _positionInformation-&gt;url;

Does the _web_URLWithWTFString method do something special that the NSURL operator from WebCore::URL does not?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371201</commentid>
    <comment_count>4</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-11-13 18:37:03 -0800</bug_when>
    <thetext>I think writing a test for this wouldn&apos;t be too bad — you can find similar tests in ActionSheetTests. Checking that the resulting _WKActivatedElementInfo&apos;s type is not a link, image or attachment after simulating a long press would cover this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371257</commentid>
    <comment_count>5</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-11-13 21:18:01 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #3)
&gt; Comment on attachment 326832 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=326832&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/editing/cocoa/DataDetection.h:65
&gt; &gt; +    WEBCORE_EXPORT static bool URLCanBePresentedByDataDetectors(const URL&amp;);
&gt; 
&gt; I don’t think this function needs the word “URL” in its name. Either
&gt; linkCanBePresentefdByDataDetectors or canBePresentedByDataDetectors seems
&gt; fine to me.

Sure!

&gt; &gt; Source/WebKit/UIProcess/ios/WKActionSheetAssistant.mm:559
&gt; &gt; +    NSURL *targetURL = [NSURL _web_URLWithWTFString:_positionInformation-&gt;url];
&gt; 
&gt; Why isn’t this just:
&gt; 
&gt;     NSURL *targetURL = _positionInformation-&gt;url;
&gt; 
&gt; Does the _web_URLWithWTFString method do something special that the NSURL
&gt; operator from WebCore::URL does not?

I think somebody got confused and thought _positionInformation-&gt;url was a string. I’ll fix it.

(In reply to Wenson Hsieh from comment #4)
&gt; I think writing a test for this wouldn&apos;t be too bad — you can find similar
&gt; tests in ActionSheetTests. Checking that the resulting
&gt; _WKActivatedElementInfo&apos;s type is not a link, image or attachment after
&gt; simulating a long press would cover this.

Good idea!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371260</commentid>
    <comment_count>6</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-11-13 21:26:20 -0800</bug_when>
    <thetext>&gt; &gt; &gt; Source/WebKit/UIProcess/ios/WKActionSheetAssistant.mm:559
&gt; &gt; &gt; +    NSURL *targetURL = [NSURL _web_URLWithWTFString:_positionInformation-&gt;url];
&gt; &gt; 
&gt; &gt; Why isn’t this just:
&gt; &gt; 
&gt; &gt;     NSURL *targetURL = _positionInformation-&gt;url;
&gt; &gt; 
&gt; &gt; Does the _web_URLWithWTFString method do something special that the NSURL
&gt; &gt; operator from WebCore::URL does not?
&gt; 
&gt; I think somebody got confused and thought _positionInformation-&gt;url was a
&gt; string. I’ll fix it.

Actually, it *used to be* a string, until https://trac.webkit.org/changeset/216152/webkit, but I missed some cleanup!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371285</commentid>
    <comment_count>7</comment_count>
      <attachid>326857</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-11-13 22:37:30 -0800</bug_when>
    <thetext>Created attachment 326857
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371286</commentid>
    <comment_count>8</comment_count>
      <attachid>326858</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-11-13 22:38:15 -0800</bug_when>
    <thetext>Created attachment 326858
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371406</commentid>
    <comment_count>9</comment_count>
      <attachid>326858</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-14 09:44:21 -0800</bug_when>
    <thetext>Comment on attachment 326858
Patch

Clearing flags on attachment: 326858

Committed r224819: &lt;https://trac.webkit.org/changeset/224819&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371407</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-14 09:44:22 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326832</attachid>
            <date>2017-11-13 17:40:08 -0800</date>
            <delta_ts>2017-11-13 22:37:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179646-20171113174008.patch</filename>
            <type>text/plain</type>
            <size>7072</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0NzU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzhmZDJmYWIzNmMyMWNm
Mjk1OTczMzMzMjNmYTY2YWE3ZTc0NDRmOC4uZGZmZmVmYTc3MjU2NjM3OWJhNDgzZWRjODhiNTAz
ZmUwYmQ4ZTc2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE3LTExLTEzICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIExvbmcgcHJlc3Np
bmcgYSBwaG9uZSBudW1iZXIgd2l0aCBzcGFjZXMgaW4gaXQgcmVzdWx0cyBpbiBhIGxpbmsgc2hl
ZXQgaW5zdGVhZCBvZiBhIGRhdGEgZGV0ZWN0b3JzIHNoZWV0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk2NDYKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzM1MzM3Mjg4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogZWRpdGluZy9jb2NvYS9EYXRhRGV0ZWN0aW9uLmg6CisgICAgICAgICogZWRpdGlu
Zy9jb2NvYS9EYXRhRGV0ZWN0aW9uLm1tOgorICAgICAgICAoV2ViQ29yZTo6RGF0YURldGVjdGlv
bjo6VVJMQ2FuQmVQcmVzZW50ZWRCeURhdGFEZXRlY3RvcnMpOgorICAgICAgICAoV2ViQ29yZTo6
RGF0YURldGVjdGlvbjo6aXNEYXRhRGV0ZWN0b3JMaW5rKToKKyAgICAgICAgRXhwb3NlIFVSTENh
bkJlUHJlc2VudGVkQnlEYXRhRGV0ZWN0b3JzLCB3aGljaCB0ZXN0cyBpZiB0aGUgVVJMJ3MKKyAg
ICAgICAgc2NoZW1lIGlzIG9uZSBvZiBEYXRhIERldGVjdG9ycycga25vd24gbG9uZy1wcmVzcyBz
Y2hlbWVzLgorCiAyMDE3LTExLTEzICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgTWFrZSBEb2N1bWVudExvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0
IGFzeW5jaHJvbm91cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAyNDc3Y2U3ZTNjNjMxZWE1MzQ4YTBhMjhiMjliZDA2
MWQ1ZmNhY2NlLi4xYmE3ZDdmN2U5ZTIzNDU2YzE5ZWYyYjg5NzQ4OGE1Y2FjY2JmOGRmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE3LTExLTEzICBUaW0gSG9ydG9uICA8dGltb3RoeV9o
b3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIExvbmcgcHJlc3NpbmcgYSBwaG9uZSBudW1iZXIg
d2l0aCBzcGFjZXMgaW4gaXQgcmVzdWx0cyBpbiBhIGxpbmsgc2hlZXQgaW5zdGVhZCBvZiBhIGRh
dGEgZGV0ZWN0b3JzIHNoZWV0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzk2NDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM1MzM3Mjg4PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNz
L2lvcy9XS0FjdGlvblNoZWV0QXNzaXN0YW50Lm1tOgorICAgICAgICAoLVtXS0FjdGlvblNoZWV0
QXNzaXN0YW50IHNob3dEYXRhRGV0ZWN0b3JzU2hlZXRdKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tDb250ZW50Vmll
dyBfYWN0aW9uRm9yTG9uZ1ByZXNzRnJvbVBvc2l0aW9uSW5mb3JtYXRpb246XSk6CisgICAgICAg
ICgtW1dLQ29udGVudFZpZXcgX2ludGVyYWN0aW9uU2hvdWxkQmVnaW5Gcm9tUHJldmlld0l0ZW1D
b250cm9sbGVyOmZvclBvc2l0aW9uOl0pOgorICAgICAgICBNYWtlIHVzZSBvZiBVUkxDYW5CZVBy
ZXNlbnRlZEJ5RGF0YURldGVjdG9ycyB3aXRoIG91ciBXZWJDb3JlIFVSTCBpbnN0ZWFkCisgICAg
ICAgIG9mIChzb21ldGltZXMgdW5zdWNlc3NmdWxseSkgcm91bmQgdHJpcHBpbmcgdGhlIFVSTCB0
aHJvdWdoIE5TVVJMJ3MgcGFyc2VyLgorCiAyMDE3LTExLTEzICBXZW5zb24gSHNpZWggIDx3ZW5z
b25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtBdHRhY2htZW50IFN1cHBvcnRdIEltcGxl
bWVudCBTUEkgZm9yIGNsaWVudHMgdG8gcmVxdWVzdCBkYXRhIGZvciBhIGdpdmVuIGF0dGFjaG1l
bnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRGF0YURldGVjdGlv
bi5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9EYXRhRGV0ZWN0aW9uLmgKaW5kZXgg
MjFkZTA2MjMwNDBmZGM2ZjgwZmJiMjZmNjU4N2IzMTE4YzM4OTJjMS4uYWRjZTc2YTM4N2M4NDEx
ZGQ3YjViNzRmM2I3Y2JhYWNjYTE1MTAyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9jb2NvYS9EYXRhRGV0ZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9j
b2NvYS9EYXRhRGV0ZWN0aW9uLmgKQEAgLTYyLDYgKzYyLDcgQEAgcHVibGljOgogI2VuZGlmCiAg
ICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIE5TQXJyYXkgKmRldGVjdENvbnRlbnRJblJhbmdlKFJl
ZlB0cjxSYW5nZT4mIGNvbnRleHRSYW5nZSwgRGF0YURldGVjdG9yVHlwZXMsIE5TRGljdGlvbmFy
eSAqY29udGV4dCk7CiAjaWYgUExBVEZPUk0oSU9TKQorICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRp
YyBib29sIFVSTENhbkJlUHJlc2VudGVkQnlEYXRhRGV0ZWN0b3JzKGNvbnN0IFVSTCYpOwogICAg
IFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBib29sIGlzRGF0YURldGVjdG9yTGluayhFbGVtZW50Jik7
CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFN0cmluZyBkYXRhRGV0ZWN0b3JJZGVudGlmaWVy
KEVsZW1lbnQmKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgYm9vbCBzaG91bGRDYW5jZWxE
ZWZhdWx0QWN0aW9uKEVsZW1lbnQmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvY29jb2EvRGF0YURldGVjdGlvbi5tbSBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2Ev
RGF0YURldGVjdGlvbi5tbQppbmRleCA4ZjVlYzkzNTA4ZTE1ZTc5YjFjOGZhNDQyMDk3ODJjMjdj
OTY2ODdmLi5iM2Q1NGJhOGZmYmI2MDIyZTcyN2JjYWUyNWQzNzk3YjJjMTZhMjJlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0RhdGFEZXRlY3Rpb24ubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9EYXRhRGV0ZWN0aW9uLm1tCkBAIC0xNTIsMTIg
KzE1MiwxOCBAQCBSZXRhaW5QdHI8RERBY3Rpb25Db250ZXh0PiBEYXRhRGV0ZWN0aW9uOjpkZXRl
Y3RJdGVtQXJvdW5kSGl0VGVzdFJlc3VsdChjb25zdCBIaQogI2VuZGlmIC8vIFBMQVRGT1JNKE1B
QykKIAogI2lmIFBMQVRGT1JNKElPUykKKworYm9vbCBEYXRhRGV0ZWN0aW9uOjpVUkxDYW5CZVBy
ZXNlbnRlZEJ5RGF0YURldGVjdG9ycyhjb25zdCBVUkwmIHVybCkKK3sKKyAgICByZXR1cm4gW3Nv
ZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3JlX0REVVJMVGFwQW5kSG9sZFNjaGVtZXMoKSBjb250YWlu
c09iamVjdDooTlNTdHJpbmcgKil1cmwucHJvdG9jb2woKS50b1N0cmluZ1dpdGhvdXRDb3B5aW5n
KCkuY29udmVydFRvQVNDSUlMb3dlcmNhc2UoKV07Cit9CisKIGJvb2wgRGF0YURldGVjdGlvbjo6
aXNEYXRhRGV0ZWN0b3JMaW5rKEVsZW1lbnQmIGVsZW1lbnQpCiB7CiAgICAgaWYgKCFpczxIVE1M
QW5jaG9yRWxlbWVudD4oZWxlbWVudCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIHJl
dHVybiBbc29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERVUkxUYXBBbmRIb2xkU2NoZW1lcygp
IGNvbnRhaW5zT2JqZWN0OihOU1N0cmluZyAqKWRvd25jYXN0PEhUTUxBbmNob3JFbGVtZW50Pihl
bGVtZW50KS5ocmVmKCkucHJvdG9jb2woKS50b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCkuY29udmVy
dFRvQVNDSUlMb3dlcmNhc2UoKV07CisgICAgcmV0dXJuIFVSTENhbkJlUHJlc2VudGVkQnlEYXRh
RGV0ZWN0b3JzKGRvd25jYXN0PEhUTUxBbmNob3JFbGVtZW50PihlbGVtZW50KS5ocmVmKCkpOwog
fQogCiBib29sIERhdGFEZXRlY3Rpb246OnJlcXVpcmVzRXh0ZW5kZWRDb250ZXh0KEVsZW1lbnQm
IGVsZW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tBY3Rp
b25TaGVldEFzc2lzdGFudC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0FjdGlv
blNoZWV0QXNzaXN0YW50Lm1tCmluZGV4IDljZTg0MTcxMzViZTRmMzgyYTljNWJiMmViNjA1Zjli
NWFkMzVjZDQuLjAwYjQ0NTg1NDE2OTY4ZWQ0MWVmZWJhMDI1ZGY1ZjAyZTE0MTczZTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0FjdGlvblNoZWV0QXNzaXN0YW50
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0FjdGlvblNoZWV0QXNzaXN0
YW50Lm1tCkBAIC00MCw2ICs0MCw3IEBACiAjaW1wb3J0ICJfV0tBY3RpdmF0ZWRFbGVtZW50SW5m
b0ludGVybmFsLmgiCiAjaW1wb3J0ICJfV0tFbGVtZW50QWN0aW9uSW50ZXJuYWwuaCIKICNpbXBv
cnQgPFVJS2l0L1VJVmlldy5oPgorI2ltcG9ydCA8V2ViQ29yZS9EYXRhRGV0ZWN0aW9uLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL0xvY2FsaXplZFN0cmluZ3MuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGF0
aFV0aWxpdGllcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9XZWJDb3JlTlNVUkxFeHRyYXMuaD4KQEAg
LTU1MiwxMSArNTUzLDExIEBAIC0gKHZvaWQpc2hvd0RhdGFEZXRlY3RvcnNTaGVldAogICAgIGlm
ICghW3NlbGYgc3luY2hyb25vdXNseVJldHJpZXZlUG9zaXRpb25JbmZvcm1hdGlvbl0pCiAgICAg
ICAgIHJldHVybjsKIAotICAgIE5TVVJMICp0YXJnZXRVUkwgPSBbTlNVUkwgX3dlYl9VUkxXaXRo
V1RGU3RyaW5nOl9wb3NpdGlvbkluZm9ybWF0aW9uLT51cmxdOwotICAgIGlmICghdGFyZ2V0VVJM
KQorICAgIGlmICghV2ViQ29yZTo6RGF0YURldGVjdGlvbjo6VVJMQ2FuQmVQcmVzZW50ZWRCeURh
dGFEZXRlY3RvcnMoX3Bvc2l0aW9uSW5mb3JtYXRpb24tPnVybCkpCiAgICAgICAgIHJldHVybjsK
IAotICAgIGlmICghW1tnZXRERERldGVjdGlvbkNvbnRyb2xsZXJDbGFzcygpIHRhcEFuZEhvbGRT
Y2hlbWVzXSBjb250YWluc09iamVjdDpbdGFyZ2V0VVJMIHNjaGVtZV1dKQorICAgIE5TVVJMICp0
YXJnZXRVUkwgPSBbTlNVUkwgX3dlYl9VUkxXaXRoV1RGU3RyaW5nOl9wb3NpdGlvbkluZm9ybWF0
aW9uLT51cmxdOworICAgIGlmICghdGFyZ2V0VVJMKQogICAgICAgICByZXR1cm47CiAKICAgICBE
RERldGVjdGlvbkNvbnRyb2xsZXIgKmNvbnRyb2xsZXIgPSBbZ2V0REREZXRlY3Rpb25Db250cm9s
bGVyQ2xhc3MoKSBzaGFyZWRDb250cm9sbGVyXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IGUzNjIxY2E5
Nzk4NGYzN2EyNzdiNTFmZTVmZGM5OWY5ZmE0NTg0MTkuLjQwODZkYTViZmRhMWM5ZDE0NTEwOTM0
NzcwZjRkZjgwMzFkMmVlNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAtNjYsNiArNjYsNyBAQAogI2lt
cG9ydCA8Q29yZVRleHQvQ1RGb250RGVzY3JpcHRvci5oPgogI2ltcG9ydCA8TW9iaWxlQ29yZVNl
cnZpY2VzL1VUQ29yZVR5cGVzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0NvbG9yLmg+CisjaW1wb3J0
IDxXZWJDb3JlL0RhdGFEZXRlY3Rpb24uaD4KICNpbXBvcnQgPFdlYkNvcmUvRmxvYXRRdWFkLmg+
CiAjaW1wb3J0IDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Bh
c3RlYm9hcmQuaD4KQEAgLTEyNTIsOCArMTI1Myw3IEBAIC0gKFNFTClfYWN0aW9uRm9yTG9uZ1By
ZXNzRnJvbVBvc2l0aW9uSW5mb3JtYXRpb246KGNvbnN0IEludGVyYWN0aW9uSW5mb3JtYXRpb25B
CiAKICAgICBpZiAocG9zaXRpb25JbmZvcm1hdGlvbi5pc0xpbmspIHsKICNpZiBFTkFCTEUoREFU
QV9ERVRFQ1RJT04pCi0gICAgICAgIE5TVVJMICp0YXJnZXRVUkwgPSBbTlNVUkwgVVJMV2l0aFN0
cmluZzpwb3NpdGlvbkluZm9ybWF0aW9uLnVybF07Ci0gICAgICAgIGlmIChbW2dldERERGV0ZWN0
aW9uQ29udHJvbGxlckNsYXNzKCkgdGFwQW5kSG9sZFNjaGVtZXNdIGNvbnRhaW5zT2JqZWN0OnRh
cmdldFVSTC5zY2hlbWUubG93ZXJjYXNlU3RyaW5nXSkKKyAgICAgICAgaWYgKERhdGFEZXRlY3Rp
b246OlVSTENhbkJlUHJlc2VudGVkQnlEYXRhRGV0ZWN0b3JzKHBvc2l0aW9uSW5mb3JtYXRpb24u
dXJsKSkKICAgICAgICAgICAgIHJldHVybiBAc2VsZWN0b3IoX3Nob3dEYXRhRGV0ZWN0b3JzU2hl
ZXQpOwogI2VuZGlmCiAgICAgICAgIHJldHVybiBAc2VsZWN0b3IoX3Nob3dMaW5rU2hlZXQpOwpA
QCAtNDkxNSw3ICs0OTE1LDcgQEAgLSAoQk9PTClfaW50ZXJhY3Rpb25TaG91bGRCZWdpbkZyb21Q
cmV2aWV3SXRlbUNvbnRyb2xsZXI6KFVJUHJldmlld0l0ZW1Db250cm9sbGUKICAgICAgICAgICAg
IHJldHVybiBOTzsKICAgICAgICAgaWYgKGxpbmtVUkwucHJvdG9jb2xJc0luSFRUUEZhbWlseSgp
KQogICAgICAgICAgICAgcmV0dXJuIFlFUzsKLSAgICAgICAgaWYgKFtbZ2V0REREZXRlY3Rpb25D
b250cm9sbGVyQ2xhc3MoKSB0YXBBbmRIb2xkU2NoZW1lc10gY29udGFpbnNPYmplY3Q6bGlua1VS
TC5wcm90b2NvbCgpLnRvU3RyaW5nKCkuY29udmVydFRvQVNDSUlMb3dlcmNhc2UoKV0pCisgICAg
ICAgIGlmIChEYXRhRGV0ZWN0aW9uOjpVUkxDYW5CZVByZXNlbnRlZEJ5RGF0YURldGVjdG9ycyhs
aW5rVVJMKSkKICAgICAgICAgICAgIHJldHVybiBZRVM7CiAgICAgICAgIHJldHVybiBOTzsKICAg
ICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326857</attachid>
            <date>2017-11-13 22:37:30 -0800</date>
            <delta_ts>2017-11-13 22:38:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179646-20171113223729.patch</filename>
            <type>text/plain</type>
            <size>12565</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0NzU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzhmZDJmYWIzNmMyMWNm
Mjk1OTczMzMzMjNmYTY2YWE3ZTc0NDRmOC4uNDAxNDg2N2Y4YTgzNmUxODRhZTUzYWU3ZTZmNTAx
NmUwZDI4MTM2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE3LTExLTEzICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIExvbmcgcHJlc3Np
bmcgYSBwaG9uZSBudW1iZXIgd2l0aCBzcGFjZXMgaW4gaXQgcmVzdWx0cyBpbiBhIGxpbmsgc2hl
ZXQgaW5zdGVhZCBvZiBhIGRhdGEgZGV0ZWN0b3JzIHNoZWV0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk2NDYKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzM1MzM3Mjg4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogZWRpdGluZy9jb2NvYS9EYXRhRGV0ZWN0aW9uLmg6CisgICAgICAgICogZWRpdGlu
Zy9jb2NvYS9EYXRhRGV0ZWN0aW9uLm1tOgorICAgICAgICAoV2ViQ29yZTo6RGF0YURldGVjdGlv
bjo6Y2FuQmVQcmVzZW50ZWRCeURhdGFEZXRlY3RvcnMpOgorICAgICAgICAoV2ViQ29yZTo6RGF0
YURldGVjdGlvbjo6aXNEYXRhRGV0ZWN0b3JMaW5rKToKKyAgICAgICAgRXhwb3NlIGNhbkJlUHJl
c2VudGVkQnlEYXRhRGV0ZWN0b3JzLCB3aGljaCB0ZXN0cyBpZiB0aGUgVVJMJ3MKKyAgICAgICAg
c2NoZW1lIGlzIG9uZSBvZiBEYXRhIERldGVjdG9ycycga25vd24gbG9uZy1wcmVzcyBzY2hlbWVz
LgorCiAyMDE3LTExLTEzICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgTWFrZSBEb2N1bWVudExvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0IGFzeW5j
aHJvbm91cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwppbmRleCAyNDc3Y2U3ZTNjNjMxZWE1MzQ4YTBhMjhiMjliZDA2MWQ1ZmNh
Y2NlLi45NzFmZTJhZWQ4ODY2OWFhZjdkYWMxMTMzMjc0MGRkYzRiZWE5NmM2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIzIEBACisyMDE3LTExLTEzICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25A
YXBwbGUuY29tPgorCisgICAgICAgIExvbmcgcHJlc3NpbmcgYSBwaG9uZSBudW1iZXIgd2l0aCBz
cGFjZXMgaW4gaXQgcmVzdWx0cyBpbiBhIGxpbmsgc2hlZXQgaW5zdGVhZCBvZiBhIGRhdGEgZGV0
ZWN0b3JzIHNoZWV0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNzk2NDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM1MzM3Mjg4PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9X
S0FjdGlvblNoZWV0QXNzaXN0YW50Lm1tOgorICAgICAgICAoLVtXS0FjdGlvblNoZWV0QXNzaXN0
YW50IHNob3dJbWFnZVNoZWV0XSk6CisgICAgICAgICgtW1dLQWN0aW9uU2hlZXRBc3Npc3RhbnQg
c2hvd0xpbmtTaGVldF0pOgorICAgICAgICAoLVtXS0FjdGlvblNoZWV0QXNzaXN0YW50IHNob3dE
YXRhRGV0ZWN0b3JzU2hlZXRdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZp
ZXdJbnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfYWN0aW9uRm9yTG9u
Z1ByZXNzRnJvbVBvc2l0aW9uSW5mb3JtYXRpb246XSk6CisgICAgICAgICgtW1dLQ29udGVudFZp
ZXcgX2ludGVyYWN0aW9uU2hvdWxkQmVnaW5Gcm9tUHJldmlld0l0ZW1Db250cm9sbGVyOmZvclBv
c2l0aW9uOl0pOgorICAgICAgICBNYWtlIHVzZSBvZiBVUkxDYW5CZVByZXNlbnRlZEJ5RGF0YURl
dGVjdG9ycyB3aXRoIG91ciBXZWJDb3JlIFVSTCBpbnN0ZWFkCisgICAgICAgIG9mIChzb21ldGlt
ZXMgdW5zdWNlc3NmdWxseSkgcmVwYXJzaW5nIHRoZSBVUkwgd2l0aCBOU1VSTCdzIHBhcnNlci4K
KyAgICAgICAgQWxzbywgYXZvaWQgYSBmZXcgdW5uZWNlc3Nhcnkgcm91bmQtdHJpcHMgdGhyb3Vn
aCBTdHJpbmcgd2hlbiBjb252ZXJ0aW5nCisgICAgICAgIGZyb20gVVJMIHRvIE5TVVJMLgorCiAy
MDE3LTExLTEzICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtBdHRhY2htZW50IFN1cHBvcnRdIEltcGxlbWVudCBTUEkgZm9yIGNsaWVudHMgdG8gcmVx
dWVzdCBkYXRhIGZvciBhIGdpdmVuIGF0dGFjaG1lbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvY29jb2EvRGF0YURldGVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9jb2NvYS9EYXRhRGV0ZWN0aW9uLmgKaW5kZXggMjFkZTA2MjMwNDBmZGM2ZjgwZmJiMjZmNjU4
N2IzMTE4YzM4OTJjMS4uZjI1ZmFhZTM3NTcwNjExZTdkZjIyOWVlOGFmMTMzZjQ1ZGFhZjdmNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9EYXRhRGV0ZWN0aW9uLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9EYXRhRGV0ZWN0aW9uLmgKQEAgLTYy
LDYgKzYyLDcgQEAgcHVibGljOgogI2VuZGlmCiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIE5T
QXJyYXkgKmRldGVjdENvbnRlbnRJblJhbmdlKFJlZlB0cjxSYW5nZT4mIGNvbnRleHRSYW5nZSwg
RGF0YURldGVjdG9yVHlwZXMsIE5TRGljdGlvbmFyeSAqY29udGV4dCk7CiAjaWYgUExBVEZPUk0o
SU9TKQorICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBib29sIGNhbkJlUHJlc2VudGVkQnlEYXRh
RGV0ZWN0b3JzKGNvbnN0IFVSTCYpOwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBib29sIGlz
RGF0YURldGVjdG9yTGluayhFbGVtZW50Jik7CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFN0
cmluZyBkYXRhRGV0ZWN0b3JJZGVudGlmaWVyKEVsZW1lbnQmKTsKICAgICBXRUJDT1JFX0VYUE9S
VCBzdGF0aWMgYm9vbCBzaG91bGRDYW5jZWxEZWZhdWx0QWN0aW9uKEVsZW1lbnQmKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRGF0YURldGVjdGlvbi5tbSBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRGF0YURldGVjdGlvbi5tbQppbmRleCA4ZjVlYzkz
NTA4ZTE1ZTc5YjFjOGZhNDQyMDk3ODJjMjdjOTY2ODdmLi5mM2U2N2U1ODlkMWIwMDg5MGFjY2Fi
YjBmYTU5Yzk3ZjQxNTYyMGFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2Nv
Y29hL0RhdGFEZXRlY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9E
YXRhRGV0ZWN0aW9uLm1tCkBAIC0xNTIsMTIgKzE1MiwxOCBAQCBSZXRhaW5QdHI8RERBY3Rpb25D
b250ZXh0PiBEYXRhRGV0ZWN0aW9uOjpkZXRlY3RJdGVtQXJvdW5kSGl0VGVzdFJlc3VsdChjb25z
dCBIaQogI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKIAogI2lmIFBMQVRGT1JNKElPUykKKworYm9v
bCBEYXRhRGV0ZWN0aW9uOjpjYW5CZVByZXNlbnRlZEJ5RGF0YURldGVjdG9ycyhjb25zdCBVUkwm
IHVybCkKK3sKKyAgICByZXR1cm4gW3NvZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3JlX0REVVJMVGFw
QW5kSG9sZFNjaGVtZXMoKSBjb250YWluc09iamVjdDooTlNTdHJpbmcgKil1cmwucHJvdG9jb2wo
KS50b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCkuY29udmVydFRvQVNDSUlMb3dlcmNhc2UoKV07Cit9
CisKIGJvb2wgRGF0YURldGVjdGlvbjo6aXNEYXRhRGV0ZWN0b3JMaW5rKEVsZW1lbnQmIGVsZW1l
bnQpCiB7CiAgICAgaWYgKCFpczxIVE1MQW5jaG9yRWxlbWVudD4oZWxlbWVudCkpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKIAotICAgIHJldHVybiBbc29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVf
RERVUkxUYXBBbmRIb2xkU2NoZW1lcygpIGNvbnRhaW5zT2JqZWN0OihOU1N0cmluZyAqKWRvd25j
YXN0PEhUTUxBbmNob3JFbGVtZW50PihlbGVtZW50KS5ocmVmKCkucHJvdG9jb2woKS50b1N0cmlu
Z1dpdGhvdXRDb3B5aW5nKCkuY29udmVydFRvQVNDSUlMb3dlcmNhc2UoKV07CisgICAgcmV0dXJu
IGNhbkJlUHJlc2VudGVkQnlEYXRhRGV0ZWN0b3JzKGRvd25jYXN0PEhUTUxBbmNob3JFbGVtZW50
PihlbGVtZW50KS5ocmVmKCkpOwogfQogCiBib29sIERhdGFEZXRlY3Rpb246OnJlcXVpcmVzRXh0
ZW5kZWRDb250ZXh0KEVsZW1lbnQmIGVsZW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVldEFzc2lzdGFudC5tbSBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9XS0FjdGlvblNoZWV0QXNzaXN0YW50Lm1tCmluZGV4IDljZTg0MTcxMzVi
ZTRmMzgyYTljNWJiMmViNjA1ZjliNWFkMzVjZDQuLjgxZTE0MTJkYTM4MGVlYTFkMjAzY2JiMzZj
MzAzMzdkMTAzZDM4ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9X
S0FjdGlvblNoZWV0QXNzaXN0YW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XS0FjdGlvblNoZWV0QXNzaXN0YW50Lm1tCkBAIC00MCw2ICs0MCw3IEBACiAjaW1wb3J0ICJf
V0tBY3RpdmF0ZWRFbGVtZW50SW5mb0ludGVybmFsLmgiCiAjaW1wb3J0ICJfV0tFbGVtZW50QWN0
aW9uSW50ZXJuYWwuaCIKICNpbXBvcnQgPFVJS2l0L1VJVmlldy5oPgorI2ltcG9ydCA8V2ViQ29y
ZS9EYXRhRGV0ZWN0aW9uLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0xvY2FsaXplZFN0cmluZ3MuaD4K
ICNpbXBvcnQgPFdlYkNvcmUvUGF0aFV0aWxpdGllcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9XZWJD
b3JlTlNVUkxFeHRyYXMuaD4KQEAgLTM0OCw3ICszNDksOSBAQCAtICh2b2lkKXNob3dJbWFnZVNo
ZWV0CiAgICAgICAgIHJldHVybjsKIAogICAgIHZvaWQgKF5zaG93SW1hZ2VTaGVldFdpdGhBbHRl
cm5hdGVVUkxCbG9jaykoTlNVUkwqLCBOU0RpY3Rpb25hcnkgKnVzZXJJbmZvKSA9IF4oTlNVUkwg
KmFsdGVybmF0ZVVSTCwgTlNEaWN0aW9uYXJ5ICp1c2VySW5mbykgewotICAgICAgICBOU1VSTCAq
dGFyZ2V0VVJMID0gW05TVVJMIF93ZWJfVVJMV2l0aFdURlN0cmluZzpfcG9zaXRpb25JbmZvcm1h
dGlvbi0+dXJsXSA/OiBhbHRlcm5hdGVVUkw7CisgICAgICAgIE5TVVJMICp0YXJnZXRVUkwgPSBf
cG9zaXRpb25JbmZvcm1hdGlvbi0+dXJsOworICAgICAgICBpZiAoIXRhcmdldFVSTCkKKyAgICAg
ICAgICAgIHRhcmdldFVSTCA9IGFsdGVybmF0ZVVSTDsKICAgICAgICAgYXV0byBlbGVtZW50Qm91
bmRzID0gX3Bvc2l0aW9uSW5mb3JtYXRpb24tPmJvdW5kczsKICAgICAgICAgYXV0byBlbGVtZW50
SW5mbyA9IGFkb3B0TlMoW1tfV0tBY3RpdmF0ZWRFbGVtZW50SW5mbyBhbGxvY10gX2luaXRXaXRo
VHlwZTpfV0tBY3RpdmF0ZWRFbGVtZW50VHlwZUltYWdlIFVSTDp0YXJnZXRVUkwgbG9jYXRpb246
X3Bvc2l0aW9uSW5mb3JtYXRpb24tPnJlcXVlc3QucG9pbnQgdGl0bGU6X3Bvc2l0aW9uSW5mb3Jt
YXRpb24tPnRpdGxlIElEOl9wb3NpdGlvbkluZm9ybWF0aW9uLT5pZEF0dHJpYnV0ZSByZWN0OmVs
ZW1lbnRCb3VuZHMgaW1hZ2U6X3Bvc2l0aW9uSW5mb3JtYXRpb24tPmltYWdlLmdldCgpIHVzZXJJ
bmZvOnVzZXJJbmZvXSk7CiAgICAgICAgIGlmIChbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9y
OkBzZWxlY3RvcihhY3Rpb25TaGVldEFzc2lzdGFudDpzaG93Q3VzdG9tU2hlZXRGb3JFbGVtZW50
OildICYmIFtkZWxlZ2F0ZSBhY3Rpb25TaGVldEFzc2lzdGFudDpzZWxmIHNob3dDdXN0b21TaGVl
dEZvckVsZW1lbnQ6ZWxlbWVudEluZm8uZ2V0KCldKQpAQCAtNTA5LDcgKzUxMiw3IEBAIC0gKHZv
aWQpc2hvd0xpbmtTaGVldAogICAgIGlmICghW3NlbGYgc3luY2hyb25vdXNseVJldHJpZXZlUG9z
aXRpb25JbmZvcm1hdGlvbl0pCiAgICAgICAgIHJldHVybjsKIAotICAgIE5TVVJMICp0YXJnZXRV
UkwgPSBbTlNVUkwgX3dlYl9VUkxXaXRoV1RGU3RyaW5nOl9wb3NpdGlvbkluZm9ybWF0aW9uLT51
cmxdOworICAgIE5TVVJMICp0YXJnZXRVUkwgPSBfcG9zaXRpb25JbmZvcm1hdGlvbi0+dXJsOwog
ICAgIGlmICghdGFyZ2V0VVJMKSB7CiAgICAgICAgIF9uZWVkc0xpbmtJbmRpY2F0b3IgPSBOTzsK
ICAgICAgICAgcmV0dXJuOwpAQCAtNTUyLDExICs1NTUsMTEgQEAgLSAodm9pZClzaG93RGF0YURl
dGVjdG9yc1NoZWV0CiAgICAgaWYgKCFbc2VsZiBzeW5jaHJvbm91c2x5UmV0cmlldmVQb3NpdGlv
bkluZm9ybWF0aW9uXSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgTlNVUkwgKnRhcmdldFVSTCA9
IFtOU1VSTCBfd2ViX1VSTFdpdGhXVEZTdHJpbmc6X3Bvc2l0aW9uSW5mb3JtYXRpb24tPnVybF07
Ci0gICAgaWYgKCF0YXJnZXRVUkwpCisgICAgaWYgKCFXZWJDb3JlOjpEYXRhRGV0ZWN0aW9uOjpj
YW5CZVByZXNlbnRlZEJ5RGF0YURldGVjdG9ycyhfcG9zaXRpb25JbmZvcm1hdGlvbi0+dXJsKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCFbW2dldERERGV0ZWN0aW9uQ29udHJvbGxlckNs
YXNzKCkgdGFwQW5kSG9sZFNjaGVtZXNdIGNvbnRhaW5zT2JqZWN0Olt0YXJnZXRVUkwgc2NoZW1l
XV0pCisgICAgTlNVUkwgKnRhcmdldFVSTCA9IF9wb3NpdGlvbkluZm9ybWF0aW9uLT51cmw7Cisg
ICAgaWYgKCF0YXJnZXRVUkwpCiAgICAgICAgIHJldHVybjsKIAogICAgIERERGV0ZWN0aW9uQ29u
dHJvbGxlciAqY29udHJvbGxlciA9IFtnZXRERERldGVjdGlvbkNvbnRyb2xsZXJDbGFzcygpIHNo
YXJlZENvbnRyb2xsZXJdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KaW5kZXggZTM2MjFjYTk3OTg0ZjM3YTI3N2I1
MWZlNWZkYzk5ZjlmYTQ1ODQxOS4uODhiNWMwNmRhNDA5NTE3ZmU2MjZlMTdiOGU3OTBlZmJmYzcx
YzIyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZp
ZXdJbnRlcmFjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250
ZW50Vmlld0ludGVyYWN0aW9uLm1tCkBAIC02Niw2ICs2Niw3IEBACiAjaW1wb3J0IDxDb3JlVGV4
dC9DVEZvbnREZXNjcmlwdG9yLmg+CiAjaW1wb3J0IDxNb2JpbGVDb3JlU2VydmljZXMvVVRDb3Jl
VHlwZXMuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ29sb3IuaD4KKyNpbXBvcnQgPFdlYkNvcmUvRGF0
YURldGVjdGlvbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9GbG9hdFF1YWQuaD4KICNpbXBvcnQgPFdl
YkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGFzdGVib2FyZC5oPgpA
QCAtMTI1Miw4ICsxMjUzLDcgQEAgLSAoU0VMKV9hY3Rpb25Gb3JMb25nUHJlc3NGcm9tUG9zaXRp
b25JbmZvcm1hdGlvbjooY29uc3QgSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkEKIAogICAgIGlmIChw
b3NpdGlvbkluZm9ybWF0aW9uLmlzTGluaykgewogI2lmIEVOQUJMRShEQVRBX0RFVEVDVElPTikK
LSAgICAgICAgTlNVUkwgKnRhcmdldFVSTCA9IFtOU1VSTCBVUkxXaXRoU3RyaW5nOnBvc2l0aW9u
SW5mb3JtYXRpb24udXJsXTsKLSAgICAgICAgaWYgKFtbZ2V0REREZXRlY3Rpb25Db250cm9sbGVy
Q2xhc3MoKSB0YXBBbmRIb2xkU2NoZW1lc10gY29udGFpbnNPYmplY3Q6dGFyZ2V0VVJMLnNjaGVt
ZS5sb3dlcmNhc2VTdHJpbmddKQorICAgICAgICBpZiAoRGF0YURldGVjdGlvbjo6Y2FuQmVQcmVz
ZW50ZWRCeURhdGFEZXRlY3RvcnMocG9zaXRpb25JbmZvcm1hdGlvbi51cmwpKQogICAgICAgICAg
ICAgcmV0dXJuIEBzZWxlY3Rvcihfc2hvd0RhdGFEZXRlY3RvcnNTaGVldCk7CiAjZW5kaWYKICAg
ICAgICAgcmV0dXJuIEBzZWxlY3Rvcihfc2hvd0xpbmtTaGVldCk7CkBAIC00OTE1LDcgKzQ5MTUs
NyBAQCAtIChCT09MKV9pbnRlcmFjdGlvblNob3VsZEJlZ2luRnJvbVByZXZpZXdJdGVtQ29udHJv
bGxlcjooVUlQcmV2aWV3SXRlbUNvbnRyb2xsZQogICAgICAgICAgICAgcmV0dXJuIE5POwogICAg
ICAgICBpZiAobGlua1VSTC5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkpCiAgICAgICAgICAgICBy
ZXR1cm4gWUVTOwotICAgICAgICBpZiAoW1tnZXRERERldGVjdGlvbkNvbnRyb2xsZXJDbGFzcygp
IHRhcEFuZEhvbGRTY2hlbWVzXSBjb250YWluc09iamVjdDpsaW5rVVJMLnByb3RvY29sKCkudG9T
dHJpbmcoKS5jb252ZXJ0VG9BU0NJSUxvd2VyY2FzZSgpXSkKKyAgICAgICAgaWYgKERhdGFEZXRl
Y3Rpb246OmNhbkJlUHJlc2VudGVkQnlEYXRhRGV0ZWN0b3JzKGxpbmtVUkwpKQogICAgICAgICAg
ICAgcmV0dXJuIFlFUzsKICAgICAgICAgcmV0dXJuIE5POwogICAgIH0KZGlmZiAtLWdpdCBhL1Rv
b2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA2MDc3Nzk0ODEyODdlZjYzNWI2
YjhlMmE2Yjk0MDcyMmY0YjNhMmZkLi5lNWQ4YzdhOGYyZjc0ZGQ0NzIxZmIxYzgzNzNjMTBmYzM3
YWJkNDNiIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMTctMTEtMTMgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRv
bkBhcHBsZS5jb20+CisKKyAgICAgICAgTG9uZyBwcmVzc2luZyBhIHBob25lIG51bWJlciB3aXRo
IHNwYWNlcyBpbiBpdCByZXN1bHRzIGluIGEgbGluayBzaGVldCBpbnN0ZWFkIG9mIGEgZGF0YSBk
ZXRlY3RvcnMgc2hlZXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE3OTY0NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzUzMzcyODg+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJ
L1Rlc3RzL2lvcy9BY3Rpb25TaGVldFRlc3RzLm1tOgorICAgICAgICAoLVtBY3Rpb25TaGVldE9i
c2VydmVyIF9kYXRhRGV0ZWN0aW9uQ29udGV4dEZvcldlYlZpZXc6XSk6CisgICAgICAgIChUZXN0
V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgQWRkIGEgdGVzdCB0aGF0IGVuc3VyZXMgdGhhdCBh
IHBob25lIG51bWJlciB3aXRoIHNwYWNlcyBpbiBpdAorICAgICAgICBpbnZva2VzIGEgZGF0YSBk
ZXRlY3RvcnMgc2hlZXQsIG5vdCBhIG5vcm1hbCBsaW5rIHNoZWV0LgorCiAyMDE3LTExLTEzICBC
YXN1a2UgU3V6dWtpICA8QmFzdWtlLlN1enVraUBzb255LmNvbT4KIAogICAgICAgICBbV2luZG93
c10gTWFrZSB0aGUgcG9ydCdzIG5vcm1hbGl6ZV90ZXN0X25hbWUoKSBtZXRob2QgcGxhdGZvcm0g
aW5kZXBlbmRlbnQuCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9B
Y3Rpb25TaGVldFRlc3RzLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvQWN0aW9u
U2hlZXRUZXN0cy5tbQppbmRleCAwN2QxZDA3NjllZDIwZjQzY2MzYzRhZjRhODVjNWYyYjM4MGUw
MjNjLi42NDNlODI0NTdmNGRiMzFmMTdlMzE4ZjYyMmEyY2NkZGVmMzJlYzFjIDEwMDY0NAotLS0g
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9BY3Rpb25TaGVldFRlc3RzLm1tCisrKyBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvaW9zL0FjdGlvblNoZWV0VGVzdHMubW0KQEAgLTQy
LDYgKzQyLDcgQEAKIAogQGludGVyZmFjZSBBY3Rpb25TaGVldE9ic2VydmVyIDogTlNPYmplY3Q8
V0tVSURlbGVnYXRlUHJpdmF0ZT4KIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCbG9ja1B0cjxOU0Fy
cmF5ICooX1dLQWN0aXZhdGVkRWxlbWVudEluZm8gKiwgTlNBcnJheSAqKT4gcHJlc2VudGF0aW9u
SGFuZGxlcjsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBCbG9ja1B0cjxOU0RpY3Rpb25hcnkgKih2
b2lkKT4gZGF0YURldGVjdGlvbkNvbnRleHRIYW5kbGVyOwogQGVuZAogCiBAaW1wbGVtZW50YXRp
b24gQWN0aW9uU2hlZXRPYnNlcnZlcgpAQCAtNTEsNiArNTIsMTEgQEAgLSAoTlNBcnJheSAqKV93
ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGFjdGlvbnNGb3JFbGVtZW50OihfV0tBY3RpdmF0
ZWRFbGVtZW4KICAgICByZXR1cm4gX3ByZXNlbnRhdGlvbkhhbmRsZXIgPyBfcHJlc2VudGF0aW9u
SGFuZGxlcihlbGVtZW50LCBkZWZhdWx0QWN0aW9ucykgOiBkZWZhdWx0QWN0aW9uczsKIH0KIAor
LSAoTlNEaWN0aW9uYXJ5ICopX2RhdGFEZXRlY3Rpb25Db250ZXh0Rm9yV2ViVmlldzooV0tXZWJW
aWV3ICopV2ViVmlldworeworICAgIHJldHVybiBfZGF0YURldGVjdGlvbkNvbnRleHRIYW5kbGVy
ID8gX2RhdGFEZXRlY3Rpb25Db250ZXh0SGFuZGxlcigpIDogQHsgfTsKK30KKwogQGVuZAogCiBu
YW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CkBAIC05Miw2ICs5OCw0OCBAQCBURVNUKEFjdGlvblNo
ZWV0VGVzdHMsIEltYWdlTWFwRG9lc05vdERlc3Ryb3lTZWxlY3Rpb24pCiAgICAgRVhQRUNUX1dL
X1NUUkVRKCJIZWxsbyB3b3JsZCIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3Jp
cHQ6QCJnZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIl0pOwogfQogCitURVNUKEFjdGlvblNoZWV0
VGVzdHMsIERhdGFEZXRlY3RvcnNMaW5rSXNOb3RQcmVzZW50ZWRBc0FMaW5rKQoreworICAgIElQ
YWRVc2VySW50ZXJmYWNlU3dpenpsZXIgaVBhZFVzZXJJbnRlcmZhY2U7CisKKyAgICBhdXRvIHdl
YlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1Jl
Y3RNYWtlKDAsIDAsIDEwMjQsIDc2OCldKTsKKyAgICBhdXRvIG9ic2VydmVyID0gYWRvcHROUyhb
W0FjdGlvblNoZWV0T2JzZXJ2ZXIgYWxsb2NdIGluaXRdKTsKKyAgICBbd2ViVmlldyBzZXRVSURl
bGVnYXRlOm9ic2VydmVyLmdldCgpXTsKKworICAgIGF1dG8gcnVuVGVzdCA9IF4oTlNTdHJpbmcg
KnBob25lTnVtYmVyKSB7CisgICAgICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkSFRNTFN0
cmluZzpbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIjxhIHN0eWxlPSdwb3NpdGlvbjogYWJz
b2x1dGU7IHRvcDogMDsgbGVmdDogMDsnIGhyZWY9J3RlbDolQCc+dGVsZXBob25lIG51bWJlcjwv
YT4iLCBwaG9uZU51bWJlcl1dOworCisgICAgICAgIF9fYmxvY2sgYm9vbCBkb25lID0gZmFsc2U7
CisgICAgICAgIF9fYmxvY2sgYm9vbCBzdWNjZWVkZWQgPSB0cnVlOworCisgICAgICAgIC8vIFdl
IHNob3VsZG4ndCBwcmVzZW50IGEgbm9ybWFsIGFjdGlvbiBzaGVldCwgYnV0IGluc3RlYWQgYSBk
YXRhIGRldGVjdG9ycyBzaGVldC4KKyAgICAgICAgW29ic2VydmVyIHNldERhdGFEZXRlY3Rpb25D
b250ZXh0SGFuZGxlcjpeeworICAgICAgICAgICAgZG9uZSA9IHRydWU7CisgICAgICAgICAgICBy
ZXR1cm4gQHsgfTsKKyAgICAgICAgfV07CisgICAgICAgIFtvYnNlcnZlciBzZXRQcmVzZW50YXRp
b25IYW5kbGVyOl4oX1dLQWN0aXZhdGVkRWxlbWVudEluZm8gKiwgTlNBcnJheSAqKSB7CisgICAg
ICAgICAgICBkb25lID0gdHJ1ZTsKKyAgICAgICAgICAgIHN1Y2NlZWRlZCA9IGZhbHNlOworICAg
ICAgICAgICAgcmV0dXJuIEBbIF07CisgICAgICAgIH1dOworICAgICAgICBbd2ViVmlldyBfc2lt
dWxhdGVMb25nUHJlc3NBY3Rpb25BdExvY2F0aW9uOkNHUG9pbnRNYWtlKDUsIDUpXTsKKyAgICAg
ICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKKworICAgICAgICByZXR1cm4gc3Vj
Y2VlZGVkOworICAgIH07CisKKyAgICBFWFBFQ1RfVFJVRShydW5UZXN0KEAiNDA4OTk2MTAxMCIp
KTsKKyAgICBFWFBFQ1RfVFJVRShydW5UZXN0KEAiNDA4IDk5NiAxMDEwIikpOworICAgIEVYUEVD
VF9UUlVFKHJ1blRlc3QoQCIxLTg2Ni1NWS1BUFBMRSIpKTsKKyAgICBFWFBFQ1RfVFJVRShydW5U
ZXN0KEAiKDEyMykgNDU2IC0gNzg5MCIpKTsKKyAgICBFWFBFQ1RfVFJVRShydW5UZXN0KEAiMDEg
MjMgNDUgNjcgMDAiKSk7CisgICAgRVhQRUNUX1RSVUUocnVuVGVzdChAIiszMyAoMCkxIDIzIDM0
IDQ1IDU2IikpOworICAgIEVYUEVDVF9UUlVFKHJ1blRlc3QoQCIoMCkxIDEyIDIzIDM0IDU2Iikp
OworICAgIEVYUEVDVF9UUlVFKHJ1blRlc3QoQCIwMTAtMS04MDAtTVktQVBQTEUiKSk7CisgICAg
RVhQRUNUX1RSVUUocnVuVGVzdChAIisxLTQwOC0xMjM0NTY3IikpOworICAgIEVYUEVDVF9UUlVF
KHJ1blRlc3QoQCLvvJDvvJjvvJDvvJjvvJDvvJjvvJDvvJjvvJDvvJjvvJAiKSk7Cit9CisKICNp
ZiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDAKIAogc3RhdGljIHZv
aWQgcHJlc2VudEFjdGlvblNoZWV0QW5kQ2hvb3NlQWN0aW9uKFdLV2ViVmlldyAqd2ViVmlldywg
QWN0aW9uU2hlZXRPYnNlcnZlciAqb2JzZXJ2ZXIsIENHUG9pbnQgbG9jYXRpb24sIF9XS0VsZW1l
bnRBY3Rpb25UeXBlIGFjdGlvblR5cGUpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326858</attachid>
            <date>2017-11-13 22:38:15 -0800</date>
            <delta_ts>2017-11-14 09:44:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179646-20171113223815.patch</filename>
            <type>text/plain</type>
            <size>12562</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0NzU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzhmZDJmYWIzNmMyMWNm
Mjk1OTczMzMzMjNmYTY2YWE3ZTc0NDRmOC4uNDAxNDg2N2Y4YTgzNmUxODRhZTUzYWU3ZTZmNTAx
NmUwZDI4MTM2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE3LTExLTEzICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIExvbmcgcHJlc3Np
bmcgYSBwaG9uZSBudW1iZXIgd2l0aCBzcGFjZXMgaW4gaXQgcmVzdWx0cyBpbiBhIGxpbmsgc2hl
ZXQgaW5zdGVhZCBvZiBhIGRhdGEgZGV0ZWN0b3JzIHNoZWV0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk2NDYKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzM1MzM3Mjg4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogZWRpdGluZy9jb2NvYS9EYXRhRGV0ZWN0aW9uLmg6CisgICAgICAgICogZWRpdGlu
Zy9jb2NvYS9EYXRhRGV0ZWN0aW9uLm1tOgorICAgICAgICAoV2ViQ29yZTo6RGF0YURldGVjdGlv
bjo6Y2FuQmVQcmVzZW50ZWRCeURhdGFEZXRlY3RvcnMpOgorICAgICAgICAoV2ViQ29yZTo6RGF0
YURldGVjdGlvbjo6aXNEYXRhRGV0ZWN0b3JMaW5rKToKKyAgICAgICAgRXhwb3NlIGNhbkJlUHJl
c2VudGVkQnlEYXRhRGV0ZWN0b3JzLCB3aGljaCB0ZXN0cyBpZiB0aGUgVVJMJ3MKKyAgICAgICAg
c2NoZW1lIGlzIG9uZSBvZiBEYXRhIERldGVjdG9ycycga25vd24gbG9uZy1wcmVzcyBzY2hlbWVz
LgorCiAyMDE3LTExLTEzICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgTWFrZSBEb2N1bWVudExvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0IGFzeW5j
aHJvbm91cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwppbmRleCAyNDc3Y2U3ZTNjNjMxZWE1MzQ4YTBhMjhiMjliZDA2MWQ1ZmNh
Y2NlLi5mNzI5OTIxYmJjZTQ3YzU1MTAzMGVmZTc5ZWNiZGZjNzkxOWQ4MjM2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIzIEBACisyMDE3LTExLTEzICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25A
YXBwbGUuY29tPgorCisgICAgICAgIExvbmcgcHJlc3NpbmcgYSBwaG9uZSBudW1iZXIgd2l0aCBz
cGFjZXMgaW4gaXQgcmVzdWx0cyBpbiBhIGxpbmsgc2hlZXQgaW5zdGVhZCBvZiBhIGRhdGEgZGV0
ZWN0b3JzIHNoZWV0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNzk2NDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM1MzM3Mjg4PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9X
S0FjdGlvblNoZWV0QXNzaXN0YW50Lm1tOgorICAgICAgICAoLVtXS0FjdGlvblNoZWV0QXNzaXN0
YW50IHNob3dJbWFnZVNoZWV0XSk6CisgICAgICAgICgtW1dLQWN0aW9uU2hlZXRBc3Npc3RhbnQg
c2hvd0xpbmtTaGVldF0pOgorICAgICAgICAoLVtXS0FjdGlvblNoZWV0QXNzaXN0YW50IHNob3dE
YXRhRGV0ZWN0b3JzU2hlZXRdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZp
ZXdJbnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfYWN0aW9uRm9yTG9u
Z1ByZXNzRnJvbVBvc2l0aW9uSW5mb3JtYXRpb246XSk6CisgICAgICAgICgtW1dLQ29udGVudFZp
ZXcgX2ludGVyYWN0aW9uU2hvdWxkQmVnaW5Gcm9tUHJldmlld0l0ZW1Db250cm9sbGVyOmZvclBv
c2l0aW9uOl0pOgorICAgICAgICBNYWtlIHVzZSBvZiBjYW5CZVByZXNlbnRlZEJ5RGF0YURldGVj
dG9ycyB3aXRoIG91ciBXZWJDb3JlIFVSTCBpbnN0ZWFkCisgICAgICAgIG9mIChzb21ldGltZXMg
dW5zdWNlc3NmdWxseSkgcmVwYXJzaW5nIHRoZSBVUkwgd2l0aCBOU1VSTCdzIHBhcnNlci4KKyAg
ICAgICAgQWxzbywgYXZvaWQgYSBmZXcgdW5uZWNlc3Nhcnkgcm91bmQtdHJpcHMgdGhyb3VnaCBT
dHJpbmcgd2hlbiBjb252ZXJ0aW5nCisgICAgICAgIGZyb20gVVJMIHRvIE5TVVJMLgorCiAyMDE3
LTExLTEzICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAg
IFtBdHRhY2htZW50IFN1cHBvcnRdIEltcGxlbWVudCBTUEkgZm9yIGNsaWVudHMgdG8gcmVxdWVz
dCBkYXRhIGZvciBhIGdpdmVuIGF0dGFjaG1lbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvY29jb2EvRGF0YURldGVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9j
b2NvYS9EYXRhRGV0ZWN0aW9uLmgKaW5kZXggMjFkZTA2MjMwNDBmZGM2ZjgwZmJiMjZmNjU4N2Iz
MTE4YzM4OTJjMS4uZjI1ZmFhZTM3NTcwNjExZTdkZjIyOWVlOGFmMTMzZjQ1ZGFhZjdmNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9EYXRhRGV0ZWN0aW9uLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9EYXRhRGV0ZWN0aW9uLmgKQEAgLTYyLDYg
KzYyLDcgQEAgcHVibGljOgogI2VuZGlmCiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIE5TQXJy
YXkgKmRldGVjdENvbnRlbnRJblJhbmdlKFJlZlB0cjxSYW5nZT4mIGNvbnRleHRSYW5nZSwgRGF0
YURldGVjdG9yVHlwZXMsIE5TRGljdGlvbmFyeSAqY29udGV4dCk7CiAjaWYgUExBVEZPUk0oSU9T
KQorICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBib29sIGNhbkJlUHJlc2VudGVkQnlEYXRhRGV0
ZWN0b3JzKGNvbnN0IFVSTCYpOwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBib29sIGlzRGF0
YURldGVjdG9yTGluayhFbGVtZW50Jik7CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFN0cmlu
ZyBkYXRhRGV0ZWN0b3JJZGVudGlmaWVyKEVsZW1lbnQmKTsKICAgICBXRUJDT1JFX0VYUE9SVCBz
dGF0aWMgYm9vbCBzaG91bGRDYW5jZWxEZWZhdWx0QWN0aW9uKEVsZW1lbnQmKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRGF0YURldGVjdGlvbi5tbSBiL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRGF0YURldGVjdGlvbi5tbQppbmRleCA4ZjVlYzkzNTA4
ZTE1ZTc5YjFjOGZhNDQyMDk3ODJjMjdjOTY2ODdmLi5mM2U2N2U1ODlkMWIwMDg5MGFjY2FiYjBm
YTU5Yzk3ZjQxNTYyMGFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29h
L0RhdGFEZXRlY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9EYXRh
RGV0ZWN0aW9uLm1tCkBAIC0xNTIsMTIgKzE1MiwxOCBAQCBSZXRhaW5QdHI8RERBY3Rpb25Db250
ZXh0PiBEYXRhRGV0ZWN0aW9uOjpkZXRlY3RJdGVtQXJvdW5kSGl0VGVzdFJlc3VsdChjb25zdCBI
aQogI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKIAogI2lmIFBMQVRGT1JNKElPUykKKworYm9vbCBE
YXRhRGV0ZWN0aW9uOjpjYW5CZVByZXNlbnRlZEJ5RGF0YURldGVjdG9ycyhjb25zdCBVUkwmIHVy
bCkKK3sKKyAgICByZXR1cm4gW3NvZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3JlX0REVVJMVGFwQW5k
SG9sZFNjaGVtZXMoKSBjb250YWluc09iamVjdDooTlNTdHJpbmcgKil1cmwucHJvdG9jb2woKS50
b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCkuY29udmVydFRvQVNDSUlMb3dlcmNhc2UoKV07Cit9CisK
IGJvb2wgRGF0YURldGVjdGlvbjo6aXNEYXRhRGV0ZWN0b3JMaW5rKEVsZW1lbnQmIGVsZW1lbnQp
CiB7CiAgICAgaWYgKCFpczxIVE1MQW5jaG9yRWxlbWVudD4oZWxlbWVudCkpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAotICAgIHJldHVybiBbc29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERV
UkxUYXBBbmRIb2xkU2NoZW1lcygpIGNvbnRhaW5zT2JqZWN0OihOU1N0cmluZyAqKWRvd25jYXN0
PEhUTUxBbmNob3JFbGVtZW50PihlbGVtZW50KS5ocmVmKCkucHJvdG9jb2woKS50b1N0cmluZ1dp
dGhvdXRDb3B5aW5nKCkuY29udmVydFRvQVNDSUlMb3dlcmNhc2UoKV07CisgICAgcmV0dXJuIGNh
bkJlUHJlc2VudGVkQnlEYXRhRGV0ZWN0b3JzKGRvd25jYXN0PEhUTUxBbmNob3JFbGVtZW50Pihl
bGVtZW50KS5ocmVmKCkpOwogfQogCiBib29sIERhdGFEZXRlY3Rpb246OnJlcXVpcmVzRXh0ZW5k
ZWRDb250ZXh0KEVsZW1lbnQmIGVsZW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVldEFzc2lzdGFudC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9XS0FjdGlvblNoZWV0QXNzaXN0YW50Lm1tCmluZGV4IDljZTg0MTcxMzViZTRm
MzgyYTljNWJiMmViNjA1ZjliNWFkMzVjZDQuLjgxZTE0MTJkYTM4MGVlYTFkMjAzY2JiMzZjMzAz
MzdkMTAzZDM4ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0Fj
dGlvblNoZWV0QXNzaXN0YW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9X
S0FjdGlvblNoZWV0QXNzaXN0YW50Lm1tCkBAIC00MCw2ICs0MCw3IEBACiAjaW1wb3J0ICJfV0tB
Y3RpdmF0ZWRFbGVtZW50SW5mb0ludGVybmFsLmgiCiAjaW1wb3J0ICJfV0tFbGVtZW50QWN0aW9u
SW50ZXJuYWwuaCIKICNpbXBvcnQgPFVJS2l0L1VJVmlldy5oPgorI2ltcG9ydCA8V2ViQ29yZS9E
YXRhRGV0ZWN0aW9uLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0xvY2FsaXplZFN0cmluZ3MuaD4KICNp
bXBvcnQgPFdlYkNvcmUvUGF0aFV0aWxpdGllcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9XZWJDb3Jl
TlNVUkxFeHRyYXMuaD4KQEAgLTM0OCw3ICszNDksOSBAQCAtICh2b2lkKXNob3dJbWFnZVNoZWV0
CiAgICAgICAgIHJldHVybjsKIAogICAgIHZvaWQgKF5zaG93SW1hZ2VTaGVldFdpdGhBbHRlcm5h
dGVVUkxCbG9jaykoTlNVUkwqLCBOU0RpY3Rpb25hcnkgKnVzZXJJbmZvKSA9IF4oTlNVUkwgKmFs
dGVybmF0ZVVSTCwgTlNEaWN0aW9uYXJ5ICp1c2VySW5mbykgewotICAgICAgICBOU1VSTCAqdGFy
Z2V0VVJMID0gW05TVVJMIF93ZWJfVVJMV2l0aFdURlN0cmluZzpfcG9zaXRpb25JbmZvcm1hdGlv
bi0+dXJsXSA/OiBhbHRlcm5hdGVVUkw7CisgICAgICAgIE5TVVJMICp0YXJnZXRVUkwgPSBfcG9z
aXRpb25JbmZvcm1hdGlvbi0+dXJsOworICAgICAgICBpZiAoIXRhcmdldFVSTCkKKyAgICAgICAg
ICAgIHRhcmdldFVSTCA9IGFsdGVybmF0ZVVSTDsKICAgICAgICAgYXV0byBlbGVtZW50Qm91bmRz
ID0gX3Bvc2l0aW9uSW5mb3JtYXRpb24tPmJvdW5kczsKICAgICAgICAgYXV0byBlbGVtZW50SW5m
byA9IGFkb3B0TlMoW1tfV0tBY3RpdmF0ZWRFbGVtZW50SW5mbyBhbGxvY10gX2luaXRXaXRoVHlw
ZTpfV0tBY3RpdmF0ZWRFbGVtZW50VHlwZUltYWdlIFVSTDp0YXJnZXRVUkwgbG9jYXRpb246X3Bv
c2l0aW9uSW5mb3JtYXRpb24tPnJlcXVlc3QucG9pbnQgdGl0bGU6X3Bvc2l0aW9uSW5mb3JtYXRp
b24tPnRpdGxlIElEOl9wb3NpdGlvbkluZm9ybWF0aW9uLT5pZEF0dHJpYnV0ZSByZWN0OmVsZW1l
bnRCb3VuZHMgaW1hZ2U6X3Bvc2l0aW9uSW5mb3JtYXRpb24tPmltYWdlLmdldCgpIHVzZXJJbmZv
OnVzZXJJbmZvXSk7CiAgICAgICAgIGlmIChbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBz
ZWxlY3RvcihhY3Rpb25TaGVldEFzc2lzdGFudDpzaG93Q3VzdG9tU2hlZXRGb3JFbGVtZW50Oild
ICYmIFtkZWxlZ2F0ZSBhY3Rpb25TaGVldEFzc2lzdGFudDpzZWxmIHNob3dDdXN0b21TaGVldEZv
ckVsZW1lbnQ6ZWxlbWVudEluZm8uZ2V0KCldKQpAQCAtNTA5LDcgKzUxMiw3IEBAIC0gKHZvaWQp
c2hvd0xpbmtTaGVldAogICAgIGlmICghW3NlbGYgc3luY2hyb25vdXNseVJldHJpZXZlUG9zaXRp
b25JbmZvcm1hdGlvbl0pCiAgICAgICAgIHJldHVybjsKIAotICAgIE5TVVJMICp0YXJnZXRVUkwg
PSBbTlNVUkwgX3dlYl9VUkxXaXRoV1RGU3RyaW5nOl9wb3NpdGlvbkluZm9ybWF0aW9uLT51cmxd
OworICAgIE5TVVJMICp0YXJnZXRVUkwgPSBfcG9zaXRpb25JbmZvcm1hdGlvbi0+dXJsOwogICAg
IGlmICghdGFyZ2V0VVJMKSB7CiAgICAgICAgIF9uZWVkc0xpbmtJbmRpY2F0b3IgPSBOTzsKICAg
ICAgICAgcmV0dXJuOwpAQCAtNTUyLDExICs1NTUsMTEgQEAgLSAodm9pZClzaG93RGF0YURldGVj
dG9yc1NoZWV0CiAgICAgaWYgKCFbc2VsZiBzeW5jaHJvbm91c2x5UmV0cmlldmVQb3NpdGlvbklu
Zm9ybWF0aW9uXSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgTlNVUkwgKnRhcmdldFVSTCA9IFtO
U1VSTCBfd2ViX1VSTFdpdGhXVEZTdHJpbmc6X3Bvc2l0aW9uSW5mb3JtYXRpb24tPnVybF07Ci0g
ICAgaWYgKCF0YXJnZXRVUkwpCisgICAgaWYgKCFXZWJDb3JlOjpEYXRhRGV0ZWN0aW9uOjpjYW5C
ZVByZXNlbnRlZEJ5RGF0YURldGVjdG9ycyhfcG9zaXRpb25JbmZvcm1hdGlvbi0+dXJsKSkKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCFbW2dldERERGV0ZWN0aW9uQ29udHJvbGxlckNsYXNz
KCkgdGFwQW5kSG9sZFNjaGVtZXNdIGNvbnRhaW5zT2JqZWN0Olt0YXJnZXRVUkwgc2NoZW1lXV0p
CisgICAgTlNVUkwgKnRhcmdldFVSTCA9IF9wb3NpdGlvbkluZm9ybWF0aW9uLT51cmw7CisgICAg
aWYgKCF0YXJnZXRVUkwpCiAgICAgICAgIHJldHVybjsKIAogICAgIERERGV0ZWN0aW9uQ29udHJv
bGxlciAqY29udHJvbGxlciA9IFtnZXRERERldGVjdGlvbkNvbnRyb2xsZXJDbGFzcygpIHNoYXJl
ZENvbnRyb2xsZXJdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dL
Q29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9X
S0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KaW5kZXggZTM2MjFjYTk3OTg0ZjM3YTI3N2I1MWZl
NWZkYzk5ZjlmYTQ1ODQxOS4uODhiNWMwNmRhNDA5NTE3ZmU2MjZlMTdiOGU3OTBlZmJmYzcxYzIy
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJ
bnRlcmFjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlld0ludGVyYWN0aW9uLm1tCkBAIC02Niw2ICs2Niw3IEBACiAjaW1wb3J0IDxDb3JlVGV4dC9D
VEZvbnREZXNjcmlwdG9yLmg+CiAjaW1wb3J0IDxNb2JpbGVDb3JlU2VydmljZXMvVVRDb3JlVHlw
ZXMuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ29sb3IuaD4KKyNpbXBvcnQgPFdlYkNvcmUvRGF0YURl
dGVjdGlvbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9GbG9hdFF1YWQuaD4KICNpbXBvcnQgPFdlYkNv
cmUvTm90SW1wbGVtZW50ZWQuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGFzdGVib2FyZC5oPgpAQCAt
MTI1Miw4ICsxMjUzLDcgQEAgLSAoU0VMKV9hY3Rpb25Gb3JMb25nUHJlc3NGcm9tUG9zaXRpb25J
bmZvcm1hdGlvbjooY29uc3QgSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkEKIAogICAgIGlmIChwb3Np
dGlvbkluZm9ybWF0aW9uLmlzTGluaykgewogI2lmIEVOQUJMRShEQVRBX0RFVEVDVElPTikKLSAg
ICAgICAgTlNVUkwgKnRhcmdldFVSTCA9IFtOU1VSTCBVUkxXaXRoU3RyaW5nOnBvc2l0aW9uSW5m
b3JtYXRpb24udXJsXTsKLSAgICAgICAgaWYgKFtbZ2V0REREZXRlY3Rpb25Db250cm9sbGVyQ2xh
c3MoKSB0YXBBbmRIb2xkU2NoZW1lc10gY29udGFpbnNPYmplY3Q6dGFyZ2V0VVJMLnNjaGVtZS5s
b3dlcmNhc2VTdHJpbmddKQorICAgICAgICBpZiAoRGF0YURldGVjdGlvbjo6Y2FuQmVQcmVzZW50
ZWRCeURhdGFEZXRlY3RvcnMocG9zaXRpb25JbmZvcm1hdGlvbi51cmwpKQogICAgICAgICAgICAg
cmV0dXJuIEBzZWxlY3Rvcihfc2hvd0RhdGFEZXRlY3RvcnNTaGVldCk7CiAjZW5kaWYKICAgICAg
ICAgcmV0dXJuIEBzZWxlY3Rvcihfc2hvd0xpbmtTaGVldCk7CkBAIC00OTE1LDcgKzQ5MTUsNyBA
QCAtIChCT09MKV9pbnRlcmFjdGlvblNob3VsZEJlZ2luRnJvbVByZXZpZXdJdGVtQ29udHJvbGxl
cjooVUlQcmV2aWV3SXRlbUNvbnRyb2xsZQogICAgICAgICAgICAgcmV0dXJuIE5POwogICAgICAg
ICBpZiAobGlua1VSTC5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkpCiAgICAgICAgICAgICByZXR1
cm4gWUVTOwotICAgICAgICBpZiAoW1tnZXRERERldGVjdGlvbkNvbnRyb2xsZXJDbGFzcygpIHRh
cEFuZEhvbGRTY2hlbWVzXSBjb250YWluc09iamVjdDpsaW5rVVJMLnByb3RvY29sKCkudG9TdHJp
bmcoKS5jb252ZXJ0VG9BU0NJSUxvd2VyY2FzZSgpXSkKKyAgICAgICAgaWYgKERhdGFEZXRlY3Rp
b246OmNhbkJlUHJlc2VudGVkQnlEYXRhRGV0ZWN0b3JzKGxpbmtVUkwpKQogICAgICAgICAgICAg
cmV0dXJuIFlFUzsKICAgICAgICAgcmV0dXJuIE5POwogICAgIH0KZGlmZiAtLWdpdCBhL1Rvb2xz
L0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA2MDc3Nzk0ODEyODdlZjYzNWI2Yjhl
MmE2Yjk0MDcyMmY0YjNhMmZkLi5lNWQ4YzdhOGYyZjc0ZGQ0NzIxZmIxYzgzNzNjMTBmYzM3YWJk
NDNiIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTctMTEtMTMgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBh
cHBsZS5jb20+CisKKyAgICAgICAgTG9uZyBwcmVzc2luZyBhIHBob25lIG51bWJlciB3aXRoIHNw
YWNlcyBpbiBpdCByZXN1bHRzIGluIGEgbGluayBzaGVldCBpbnN0ZWFkIG9mIGEgZGF0YSBkZXRl
Y3RvcnMgc2hlZXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3OTY0NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzUzMzcyODg+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rl
c3RzL2lvcy9BY3Rpb25TaGVldFRlc3RzLm1tOgorICAgICAgICAoLVtBY3Rpb25TaGVldE9ic2Vy
dmVyIF9kYXRhRGV0ZWN0aW9uQ29udGV4dEZvcldlYlZpZXc6XSk6CisgICAgICAgIChUZXN0V2Vi
S2l0QVBJOjpURVNUKToKKyAgICAgICAgQWRkIGEgdGVzdCB0aGF0IGVuc3VyZXMgdGhhdCBhIHBo
b25lIG51bWJlciB3aXRoIHNwYWNlcyBpbiBpdAorICAgICAgICBpbnZva2VzIGEgZGF0YSBkZXRl
Y3RvcnMgc2hlZXQsIG5vdCBhIG5vcm1hbCBsaW5rIHNoZWV0LgorCiAyMDE3LTExLTEzICBCYXN1
a2UgU3V6dWtpICA8QmFzdWtlLlN1enVraUBzb255LmNvbT4KIAogICAgICAgICBbV2luZG93c10g
TWFrZSB0aGUgcG9ydCdzIG5vcm1hbGl6ZV90ZXN0X25hbWUoKSBtZXRob2QgcGxhdGZvcm0gaW5k
ZXBlbmRlbnQuCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9BY3Rp
b25TaGVldFRlc3RzLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvQWN0aW9uU2hl
ZXRUZXN0cy5tbQppbmRleCAwN2QxZDA3NjllZDIwZjQzY2MzYzRhZjRhODVjNWYyYjM4MGUwMjNj
Li42NDNlODI0NTdmNGRiMzFmMTdlMzE4ZjYyMmEyY2NkZGVmMzJlYzFjIDEwMDY0NAotLS0gYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9BY3Rpb25TaGVldFRlc3RzLm1tCisrKyBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvaW9zL0FjdGlvblNoZWV0VGVzdHMubW0KQEAgLTQyLDYg
KzQyLDcgQEAKIAogQGludGVyZmFjZSBBY3Rpb25TaGVldE9ic2VydmVyIDogTlNPYmplY3Q8V0tV
SURlbGVnYXRlUHJpdmF0ZT4KIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCbG9ja1B0cjxOU0FycmF5
ICooX1dLQWN0aXZhdGVkRWxlbWVudEluZm8gKiwgTlNBcnJheSAqKT4gcHJlc2VudGF0aW9uSGFu
ZGxlcjsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBCbG9ja1B0cjxOU0RpY3Rpb25hcnkgKih2b2lk
KT4gZGF0YURldGVjdGlvbkNvbnRleHRIYW5kbGVyOwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24g
QWN0aW9uU2hlZXRPYnNlcnZlcgpAQCAtNTEsNiArNTIsMTEgQEAgLSAoTlNBcnJheSAqKV93ZWJW
aWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGFjdGlvbnNGb3JFbGVtZW50OihfV0tBY3RpdmF0ZWRF
bGVtZW4KICAgICByZXR1cm4gX3ByZXNlbnRhdGlvbkhhbmRsZXIgPyBfcHJlc2VudGF0aW9uSGFu
ZGxlcihlbGVtZW50LCBkZWZhdWx0QWN0aW9ucykgOiBkZWZhdWx0QWN0aW9uczsKIH0KIAorLSAo
TlNEaWN0aW9uYXJ5ICopX2RhdGFEZXRlY3Rpb25Db250ZXh0Rm9yV2ViVmlldzooV0tXZWJWaWV3
ICopV2ViVmlldworeworICAgIHJldHVybiBfZGF0YURldGVjdGlvbkNvbnRleHRIYW5kbGVyID8g
X2RhdGFEZXRlY3Rpb25Db250ZXh0SGFuZGxlcigpIDogQHsgfTsKK30KKwogQGVuZAogCiBuYW1l
c3BhY2UgVGVzdFdlYktpdEFQSSB7CkBAIC05Miw2ICs5OCw0OCBAQCBURVNUKEFjdGlvblNoZWV0
VGVzdHMsIEltYWdlTWFwRG9lc05vdERlc3Ryb3lTZWxlY3Rpb24pCiAgICAgRVhQRUNUX1dLX1NU
UkVRKCJIZWxsbyB3b3JsZCIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6
QCJnZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIl0pOwogfQogCitURVNUKEFjdGlvblNoZWV0VGVz
dHMsIERhdGFEZXRlY3RvcnNMaW5rSXNOb3RQcmVzZW50ZWRBc0FMaW5rKQoreworICAgIElQYWRV
c2VySW50ZXJmYWNlU3dpenpsZXIgaVBhZFVzZXJJbnRlcmZhY2U7CisKKyAgICBhdXRvIHdlYlZp
ZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RN
YWtlKDAsIDAsIDEwMjQsIDc2OCldKTsKKyAgICBhdXRvIG9ic2VydmVyID0gYWRvcHROUyhbW0Fj
dGlvblNoZWV0T2JzZXJ2ZXIgYWxsb2NdIGluaXRdKTsKKyAgICBbd2ViVmlldyBzZXRVSURlbGVn
YXRlOm9ic2VydmVyLmdldCgpXTsKKworICAgIGF1dG8gcnVuVGVzdCA9IF4oTlNTdHJpbmcgKnBo
b25lTnVtYmVyKSB7CisgICAgICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkSFRNTFN0cmlu
ZzpbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIjxhIHN0eWxlPSdwb3NpdGlvbjogYWJzb2x1
dGU7IHRvcDogMDsgbGVmdDogMDsnIGhyZWY9J3RlbDolQCc+dGVsZXBob25lIG51bWJlcjwvYT4i
LCBwaG9uZU51bWJlcl1dOworCisgICAgICAgIF9fYmxvY2sgYm9vbCBkb25lID0gZmFsc2U7Cisg
ICAgICAgIF9fYmxvY2sgYm9vbCBzdWNjZWVkZWQgPSB0cnVlOworCisgICAgICAgIC8vIFdlIHNo
b3VsZG4ndCBwcmVzZW50IGEgbm9ybWFsIGFjdGlvbiBzaGVldCwgYnV0IGluc3RlYWQgYSBkYXRh
IGRldGVjdG9ycyBzaGVldC4KKyAgICAgICAgW29ic2VydmVyIHNldERhdGFEZXRlY3Rpb25Db250
ZXh0SGFuZGxlcjpeeworICAgICAgICAgICAgZG9uZSA9IHRydWU7CisgICAgICAgICAgICByZXR1
cm4gQHsgfTsKKyAgICAgICAgfV07CisgICAgICAgIFtvYnNlcnZlciBzZXRQcmVzZW50YXRpb25I
YW5kbGVyOl4oX1dLQWN0aXZhdGVkRWxlbWVudEluZm8gKiwgTlNBcnJheSAqKSB7CisgICAgICAg
ICAgICBkb25lID0gdHJ1ZTsKKyAgICAgICAgICAgIHN1Y2NlZWRlZCA9IGZhbHNlOworICAgICAg
ICAgICAgcmV0dXJuIEBbIF07CisgICAgICAgIH1dOworICAgICAgICBbd2ViVmlldyBfc2ltdWxh
dGVMb25nUHJlc3NBY3Rpb25BdExvY2F0aW9uOkNHUG9pbnRNYWtlKDUsIDUpXTsKKyAgICAgICAg
VGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKKworICAgICAgICByZXR1cm4gc3VjY2Vl
ZGVkOworICAgIH07CisKKyAgICBFWFBFQ1RfVFJVRShydW5UZXN0KEAiNDA4OTk2MTAxMCIpKTsK
KyAgICBFWFBFQ1RfVFJVRShydW5UZXN0KEAiNDA4IDk5NiAxMDEwIikpOworICAgIEVYUEVDVF9U
UlVFKHJ1blRlc3QoQCIxLTg2Ni1NWS1BUFBMRSIpKTsKKyAgICBFWFBFQ1RfVFJVRShydW5UZXN0
KEAiKDEyMykgNDU2IC0gNzg5MCIpKTsKKyAgICBFWFBFQ1RfVFJVRShydW5UZXN0KEAiMDEgMjMg
NDUgNjcgMDAiKSk7CisgICAgRVhQRUNUX1RSVUUocnVuVGVzdChAIiszMyAoMCkxIDIzIDM0IDQ1
IDU2IikpOworICAgIEVYUEVDVF9UUlVFKHJ1blRlc3QoQCIoMCkxIDEyIDIzIDM0IDU2IikpOwor
ICAgIEVYUEVDVF9UUlVFKHJ1blRlc3QoQCIwMTAtMS04MDAtTVktQVBQTEUiKSk7CisgICAgRVhQ
RUNUX1RSVUUocnVuVGVzdChAIisxLTQwOC0xMjM0NTY3IikpOworICAgIEVYUEVDVF9UUlVFKHJ1
blRlc3QoQCLvvJDvvJjvvJDvvJjvvJDvvJjvvJDvvJjvvJDvvJjvvJAiKSk7Cit9CisKICNpZiBf
X0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDAKIAogc3RhdGljIHZvaWQg
cHJlc2VudEFjdGlvblNoZWV0QW5kQ2hvb3NlQWN0aW9uKFdLV2ViVmlldyAqd2ViVmlldywgQWN0
aW9uU2hlZXRPYnNlcnZlciAqb2JzZXJ2ZXIsIENHUG9pbnQgbG9jYXRpb24sIF9XS0VsZW1lbnRB
Y3Rpb25UeXBlIGFjdGlvblR5cGUpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>