<?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>138534</bug_id>
          
          <creation_ts>2014-11-07 22:01:42 -0800</creation_ts>
          <short_desc>Implement action menu support for videos</short_desc>
          <delta_ts>2014-11-08 11:08:27 -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>WebKit2</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="Beth Dakin">bdakin</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1047270</commentid>
    <comment_count>0</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2014-11-07 22:01:42 -0800</bug_when>
    <thetext>Implement action menu support for videos

rdar://problem/18742164</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047271</commentid>
    <comment_count>1</comment_count>
      <attachid>241226</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2014-11-07 22:14:54 -0800</bug_when>
    <thetext>Created attachment 241226
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047274</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-07 23:29:59 -0800</bug_when>
    <thetext>Attachment 241226 did not pass style-queue:


ERROR: Source/WebCore/WebCore.exp.in:0:  Source/WebCore/WebCore.exp.in should be sorted, use Tools/Scripts/sort-export-file script  [list/order] [5]
Total errors found: 1 in 11 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047275</commentid>
    <comment_count>3</comment_count>
      <attachid>241226</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-11-07 23:33:14 -0800</bug_when>
    <thetext>Comment on attachment 241226
Patch

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

&gt; Source/WebCore/rendering/HitTestResult.cpp:508
&gt; +bool HitTestResult::isMediaThatCanBeDownloaded() const

isDownloadableMedia?

&gt; Source/WebKit2/UIProcess/mac/WKActionMenuController.mm:401
&gt; +    RefPtr&lt;WebHitTestResult&gt; hitTestResult = WebHitTestResult::create(_hitTestResult.hitTestResult);

Shouldn&apos;t we just use hitTestResultForStage?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047290</commentid>
    <comment_count>4</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2014-11-08 10:40:55 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 241226 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=241226&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/HitTestResult.cpp:508
&gt; &gt; +bool HitTestResult::isMediaThatCanBeDownloaded() const
&gt; 
&gt; isDownloadableMedia?
&gt; 

I like that better! Will use.

&gt; &gt; Source/WebKit2/UIProcess/mac/WKActionMenuController.mm:401
&gt; &gt; +    RefPtr&lt;WebHitTestResult&gt; hitTestResult = WebHitTestResult::create(_hitTestResult.hitTestResult);
&gt; 
&gt; Shouldn&apos;t we just use hitTestResultForStage?

UGH, I hate that enum. We should use that, except we don&apos;t know the stage here unless we pass it in, and doing that would be ridiculous. Because really, you just want the hitTestResultForStage method NOT to take an enum, and to return whichever hitTestResult it can access, favoring the new one. We have a lot of spots in this file that still choose the wrong hit test result (like all of the URL methods which all favor the old one!), I think I will fix this everywhere in a follow-up patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047293</commentid>
    <comment_count>5</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2014-11-08 11:08:27 -0800</bug_when>
    <thetext>Thanks! http://trac.webkit.org/changeset/175779</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241226</attachid>
            <date>2014-11-07 22:14:54 -0800</date>
            <delta_ts>2014-11-07 23:33:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>for-review.txt</filename>
            <type>text/plain</type>
            <size>14712</size>
            <attacher name="Beth Dakin">bdakin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3NTc3MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE0LTExLTA3ICBCZXRoIERh
a2luICA8YmRha2luQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgYWN0aW9uIG1lbnUg
c3VwcG9ydCBmb3IgdmlkZW9zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMzg1MzQKKyAgICAgICAgLWFuZCBjb3JyZXNwb25kaW5nLQorICAgICAgICBy
ZGFyOi8vcHJvYmxlbS8xODc0MjE2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEV4cG9ydCBuZWVkZWQgc3ltYm9scyBhbmQgYWRkZWQgbm90LXlldC1p
bXBsZW1lbnRlZCAKKyAgICAgICAgSGl0VGVzdFJlc3VsdDo6aXNNZWRpYVRoYXRDYW5CZURvd25s
b2FkZWQoKSBzbyB0aGF0IGFjdGlvbiBtZW51cyB3aWxsIHdvcmsgYXMgCisgICAgICAgIGV4cGVj
dGVkIG9uY2UgaXQgaXMgaW1wbGVtZW50ZWQuCisgICAgICAgICogV2ViQ29yZS5leHAuaW46Cisg
ICAgICAgICogcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SGl0VGVzdFJlc3VsdDo6aXNNZWRpYVRoYXRDYW5CZURvd25sb2FkZWQpOgorICAgICAgICAqIHJl
bmRlcmluZy9IaXRUZXN0UmVzdWx0Lmg6CisKIDIwMTQtMTEtMDcgIEJlbmphbWluIFBvdWxhaW4g
IDxicG91bGFpbkBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IHRoZSBidWlsZCBhZnRlciByMTc1
NzcyCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkocmV2aXNpb24gMTc1NzczKQorKysgU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5leHAuaW4JKHdvcmtpbmcgY29weSkKQEAgLTMxMSw2ICszMTEsNyBA
QCBfX1pON1dlYkNvcmUxM0hUVFBIZWFkZXJNYXAzc2V0RVJLTjNXVEY2CiBfX1pON1dlYkNvcmUx
M0hUVFBIZWFkZXJNYXA2cmVtb3ZlRU5TXzE0SFRUUEhlYWRlck5hbWVFCiBfX1pON1dlYkNvcmUx
M0hUVFBIZWFkZXJNYXBDMUV2CiBfX1pON1dlYkNvcmUxM0hUVFBIZWFkZXJNYXBEMUV2CitfX1pO
N1dlYkNvcmUxM0hpdFRlc3RSZXN1bHQyMnNldFRvTm9uU2hhZG93QW5jZXN0b3JFdgogX19aTjdX
ZWJDb3JlMTNIaXRUZXN0UmVzdWx0QzFFUktOU18xMUxheW91dFBvaW50RQogX19aTjdXZWJDb3Jl
MTNIaXRUZXN0UmVzdWx0QzFFUktOU18xMUxheW91dFBvaW50RWpqamoKIF9fWk43V2ViQ29yZTEz
SGl0VGVzdFJlc3VsdEMxRVJLTlNfMTVIaXRUZXN0TG9jYXRpb25FCkBAIC0xNjkzLDYgKzE2OTQs
NyBAQCBfX1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTh0aXRsZURpc3BsCiBfX1pOSzdXZWJD
b3JlMTNIaXRUZXN0UmVzdWx0MTltZWRpYUlzSW5GdWxsc2NyZWVuRXYKIF9fWk5LN1dlYkNvcmUx
M0hpdFRlc3RSZXN1bHQxOXJlY3RCYXNlZFRlc3RSZXN1bHRFdgogX19aTks3V2ViQ29yZTEzSGl0
VGVzdFJlc3VsdDIxaW5uZXJOb25TaGFyZWRFbGVtZW50RXYKK19fWk5LN1dlYkNvcmUxM0hpdFRl
c3RSZXN1bHQyNmlzTWVkaWFUaGF0Q2FuQmVEb3dubG9hZGVkRXYKIF9fWk5LN1dlYkNvcmUxM0hp
dFRlc3RSZXN1bHQ1aW1hZ2VFdgogX19aTks3V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDV0aXRsZUVS
TlNfMTNUZXh0RGlyZWN0aW9uRQogX19aTks3V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDlpbWFnZVJl
Y3RFdgpAQCAtMTkzMSw2ICsxOTMzLDcgQEAgX19aTks3V2ViQ29yZTNVUkxjdlA1TlNVUkxFdgog
X19aTks3V2ViQ29yZTRGb250NXdpZHRoRVJLTlNfN1RleHRSdW5FUE4zV1RGN0hhc2hTZXRJUEtO
U18xNFNpbXBsZUZvbnREYXRhRU5TNF83UHRySGFzaElTOF9FRU5TNF8xMEhhc2hUcmFpdHNJUzhf
RUVFRVBOU18xM0dseXBoT3ZlcmZsb3dFCiBfX1pOSzdXZWJDb3JlNEZvbnQ4ZHJhd1RleHRFUE5T
XzE1R3JhcGhpY3NDb250ZXh0RVJLTlNfN1RleHRSdW5FUktOU18xMEZsb2F0UG9pbnRFaWlOUzBf
MjRDdXN0b21Gb250Tm90UmVhZHlBY3Rpb25FCiBfX1pOSzdXZWJDb3JlNEZvbnRlcUVSS1MwXwor
X19aTks3V2ViQ29yZTROb2RlMTBzaGFkb3dIb3N0RXYKIF9fWk5LN1dlYkNvcmU0Tm9kZTExdGV4
dENvbnRlbnRFYgogX19aTks3V2ViQ29yZTROb2RlMTNvd25lckRvY3VtZW50RXYKIF9fWk5LN1dl
YkNvcmU0Tm9kZTE0aXNEZXNjZW5kYW50T2ZFUEtTMF8KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAJKHJldmlzaW9uIDE3NTc3MykKKysrIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTA1
LDYgKzUwNSwxMyBAQCB2b2lkIEhpdFRlc3RSZXN1bHQ6OnRvZ2dsZU1lZGlhTXV0ZVN0YXRlCiAj
ZW5kaWYKIH0KIAorYm9vbCBIaXRUZXN0UmVzdWx0Ojppc01lZGlhVGhhdENhbkJlRG93bmxvYWRl
ZCgpIGNvbnN0Cit7CisgICAgLy8gRklYTUU6IFdlIHNob3VsZCBhY3R1YWxseSBhbnN3ZXIgaW5z
dGVhZCBvZiBhbHdheXMgcmV0dXJuaW5nIHRydWUgZm9yIG1lZGlhIGVsZW1lbnRzLgorICAgIC8v
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzg1MzAKKyAgICByZXR1
cm4gbWVkaWFFbGVtZW50KCkgPyB0cnVlIDogZmFsc2U7Cit9CisKIFVSTCBIaXRUZXN0UmVzdWx0
OjphYnNvbHV0ZUxpbmtVUkwoKSBjb25zdAogewogICAgIGlmIChtX2lubmVyVVJMRWxlbWVudCkK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaAkocmV2aXNpb24g
MTc1NzczKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaAkod29y
a2luZyBjb3B5KQpAQCAtMTI0LDYgKzEyNCw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9S
VCBib29sIG1lZGlhSXNWaWRlbygpIGNvbnN0OwogICAgIGJvb2wgbWVkaWFNdXRlZCgpIGNvbnN0
OwogICAgIHZvaWQgdG9nZ2xlTWVkaWFNdXRlU3RhdGUoKSBjb25zdDsKKyAgICBib29sIGlzTWVk
aWFUaGF0Q2FuQmVEb3dubG9hZGVkKCkgY29uc3Q7CiAKICAgICAvLyBSZXR1cm5zIHRydWUgaWYg
aXQgaXMgcmVjdC1iYXNlZCBoaXQgdGVzdCBhbmQgbmVlZHMgdG8gY29udGludWUgdW50aWwgdGhl
IHJlY3QgaXMgZnVsbHkKICAgICAvLyBlbmNsb3NlZCBieSB0aGUgYm91bmRhcmllcyBvZiBhIG5v
ZGUuCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNzU3NzMpCisrKyBTb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0NCBAQAorMjAxNC0xMS0wNyAgQmV0
aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IGFjdGlvbiBt
ZW51IHN1cHBvcnQgZm9yIHZpZGVvcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTM4NTM0CisgICAgICAgIC1hbmQgY29ycmVzcG9uZGluZy0KKyAgICAg
ICAgcmRhcjovL3Byb2JsZW0vMTg3NDIxNjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBOZXcgbWVudSB0eXBlIGFuZCBpdGVtcyB0eXBlcy4KKyAgICAg
ICAgKiBTaGFyZWQvQVBJL2MvV0tBY3Rpb25NZW51SXRlbVR5cGVzLmg6CisgICAgICAgICogU2hh
cmVkL0FQSS9jL1dLQWN0aW9uTWVudVR5cGVzLmg6CisKKyAgICAgICAgUGx1bWIgaXNNZWRpYVRo
YXRDYW5CZURvd25sb2FkZWQoKSB1cCB0byBXZWJIaXRUZXN0UmVzdWx0LgorICAgICAgICAqIFNo
YXJlZC9XZWJIaXRUZXN0UmVzdWx0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViSGl0VGVzdFJl
c3VsdDo6RGF0YTo6RGF0YSk6CisgICAgICAgIChXZWJLaXQ6OldlYkhpdFRlc3RSZXN1bHQ6OkRh
dGE6OmVuY29kZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkhpdFRlc3RSZXN1bHQ6OkRhdGE6OmRl
Y29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYkhpdFRlc3RSZXN1bHQuaDoKKyAgICAgICAgKFdl
YktpdDo6V2ViSGl0VGVzdFJlc3VsdDo6aXNNZWRpYVRoYXRDYW5CZURvd25sb2FkZWQpOgorCisg
ICAgICAgIFJlLW5hbWUgX2NhbkFkZEltYWdlVG9QaG90b3MgdG8gX2NhbkFkZE1lZGlhVG9QaG90
b3MsIHdoaWNoIGlzIG1vcmUgYWNjdXJhdGUuIFdlIAorICAgICAgICBtaWdodCB1c2UgdGhpcyBt
ZXRob2QgZm9yIHZpZGVvcyBzb21lIGRheSwgc28gbm93IGl0IGhhcyBhbiBhY2N1cmF0ZSBuYW1l
LgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV0tBY3Rpb25NZW51Q29udHJvbGxlci5tbToKKwor
ICAgICAgICBEZWZhdWx0IGl0ZW1zIGFuZCB0aGVpciBhY3Rpb25zLgorICAgICAgICAoLVtXS0Fj
dGlvbk1lbnVDb250cm9sbGVyIF9kZWZhdWx0TWVudUl0ZW1zRm9yVmlkZW9dKToKKyAgICAgICAg
KC1bV0tBY3Rpb25NZW51Q29udHJvbGxlciBfY29weVZpZGVvVVJMOl0pOgorICAgICAgICAoLVtX
S0FjdGlvbk1lbnVDb250cm9sbGVyIF9zYXZlVmlkZW9Ub0Rvd25sb2FkczpdKToKKyAgICAgICAg
KC1bV0tBY3Rpb25NZW51Q29udHJvbGxlciBfZGVmYXVsdE1lbnVJdGVtc0ZvckltYWdlXSk6Cisg
ICAgICAgICgtW1dLQWN0aW9uTWVudUNvbnRyb2xsZXIgX2NhbkFkZE1lZGlhVG9QaG90b3NdKToK
KyAgICAgICAgKC1bV0tBY3Rpb25NZW51Q29udHJvbGxlciBfYWRkSW1hZ2VUb1Bob3RvczpdKToK
KyAgICAgICAgKC1bV0tBY3Rpb25NZW51Q29udHJvbGxlciBfY3JlYXRlQWN0aW9uTWVudUl0ZW1G
b3JUYWc6XSk6CisgICAgICAgICgtW1dLQWN0aW9uTWVudUNvbnRyb2xsZXIgX2RlZmF1bHRNZW51
SXRlbXM6XSk6CisgICAgICAgICgtW1dLQWN0aW9uTWVudUNvbnRyb2xsZXIgX2NhbkFkZEltYWdl
VG9QaG90b3NdKTogRGVsZXRlZC4KKworICAgICAgICBXZSBoaXQgdGVzdCBpbmNsdWRpbmcgc2hh
ZG93IGNvbnRlbnQgdG8gZ2V0IHRoZSBkZXNpcmVkIHJlc3VsdCBmb3IgZWRpdGFibGUgdGV4dCAK
KyAgICAgICAgcmVnaW9ucy4gQnV0IGZvciBtZWRpYSwgd2Ugd2FudCB0byByZS1zZXQgdG8gdGhl
IHNoYWRvdyByb290LgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1h
Yy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cGVyZm9ybUFjdGlvbk1lbnVIaXRUZXN0
QXRMb2NhdGlvbik6CisKIDIwMTQtMTEtMDcgIENvbnJhZCBTaHVsdHogIDxjb25yYWRfc2h1bHR6
QGFwcGxlLmNvbT4KIAogICAgICAgICAiTG9va3VwIiBhY3Rpb24gbWVudSBzaG91bGQgcmVhZCAi
TG9vayB1cCIKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJIaXRUZXN0UmVzdWx0LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViSGl0VGVzdFJlc3VsdC5j
cHAJKHJldmlzaW9uIDE3NTc3MykKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJIaXRUZXN0
UmVzdWx0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQsNiArNTQsNyBAQCBXZWJIaXRUZXN0UmVz
dWx0OjpEYXRhOjpEYXRhKGNvbnN0IEhpdFRlCiAgICAgLCBpc1Njcm9sbGJhcihoaXRUZXN0UmVz
dWx0LnNjcm9sbGJhcigpKQogICAgICwgaXNTZWxlY3RlZChoaXRUZXN0UmVzdWx0LmlzU2VsZWN0
ZWQoKSkKICAgICAsIGlzVGV4dE5vZGUoaGl0VGVzdFJlc3VsdC5pbm5lck5vZGUoKSAmJiBoaXRU
ZXN0UmVzdWx0LmlubmVyTm9kZSgpLT5pc1RleHROb2RlKCkpCisgICAgLCBpc01lZGlhVGhhdENh
bkJlRG93bmxvYWRlZChoaXRUZXN0UmVzdWx0LmlzTWVkaWFUaGF0Q2FuQmVEb3dubG9hZGVkKCkp
CiB7CiB9CiAKQEAgLTc0LDYgKzc1LDcgQEAgdm9pZCBXZWJIaXRUZXN0UmVzdWx0OjpEYXRhOjpl
bmNvZGUoSVBDOgogICAgIGVuY29kZXIgPDwgaXNTY3JvbGxiYXI7CiAgICAgZW5jb2RlciA8PCBp
c1NlbGVjdGVkOwogICAgIGVuY29kZXIgPDwgaXNUZXh0Tm9kZTsKKyAgICBlbmNvZGVyIDw8IGlz
TWVkaWFUaGF0Q2FuQmVEb3dubG9hZGVkOwogfQogCiBib29sIFdlYkhpdFRlc3RSZXN1bHQ6OkRh
dGE6OmRlY29kZShJUEM6OkFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgV2ViSGl0VGVzdFJlc3Vs
dDo6RGF0YSYgaGl0VGVzdFJlc3VsdERhdGEpCkBAIC04OCw3ICs5MCw4IEBAIGJvb2wgV2ViSGl0
VGVzdFJlc3VsdDo6RGF0YTo6ZGVjb2RlKElQQzoKICAgICAgICAgfHwgIWRlY29kZXIuZGVjb2Rl
KGhpdFRlc3RSZXN1bHREYXRhLmVsZW1lbnRCb3VuZGluZ0JveCkKICAgICAgICAgfHwgIWRlY29k
ZXIuZGVjb2RlKGhpdFRlc3RSZXN1bHREYXRhLmlzU2Nyb2xsYmFyKQogICAgICAgICB8fCAhZGVj
b2Rlci5kZWNvZGUoaGl0VGVzdFJlc3VsdERhdGEuaXNTZWxlY3RlZCkKLSAgICAgICAgfHwgIWRl
Y29kZXIuZGVjb2RlKGhpdFRlc3RSZXN1bHREYXRhLmlzVGV4dE5vZGUpKQorICAgICAgICB8fCAh
ZGVjb2Rlci5kZWNvZGUoaGl0VGVzdFJlc3VsdERhdGEuaXNUZXh0Tm9kZSkKKyAgICAgICAgfHwg
IWRlY29kZXIuZGVjb2RlKGhpdFRlc3RSZXN1bHREYXRhLmlzTWVkaWFUaGF0Q2FuQmVEb3dubG9h
ZGVkKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgcmV0dXJuIHRydWU7CkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViSGl0VGVzdFJlc3VsdC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJIaXRUZXN0UmVzdWx0LmgJKHJldmlzaW9uIDE3NTc3MykK
KysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJIaXRUZXN0UmVzdWx0LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTU0LDYgKzU0LDcgQEAgcHVibGljOgogICAgICAgICBib29sIGlzU2Nyb2xsYmFyOwog
ICAgICAgICBib29sIGlzU2VsZWN0ZWQ7CiAgICAgICAgIGJvb2wgaXNUZXh0Tm9kZTsKKyAgICAg
ICAgYm9vbCBpc01lZGlhVGhhdENhbkJlRG93bmxvYWRlZDsKIAogICAgICAgICBEYXRhKCk7CiAg
ICAgICAgIGV4cGxpY2l0IERhdGEoY29uc3QgV2ViQ29yZTo6SGl0VGVzdFJlc3VsdCYpOwpAQCAt
ODUsNiArODYsOCBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzVGV4dE5vZGUoKSBjb25zdCB7IHJl
dHVybiBtX2RhdGEuaXNUZXh0Tm9kZTsgfQogCisgICAgYm9vbCBpc01lZGlhVGhhdENhbkJlRG93
bmxvYWRlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YS5pc01lZGlhVGhhdENhbkJlRG93bmxvYWRl
ZDsgfQorCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IFdlYkhpdFRlc3RSZXN1bHQoY29uc3QgV2Vi
SGl0VGVzdFJlc3VsdDo6RGF0YSYgaGl0VGVzdFJlc3VsdERhdGEpCiAgICAgICAgIDogbV9kYXRh
KGhpdFRlc3RSZXN1bHREYXRhKQpJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dL
QWN0aW9uTWVudUl0ZW1UeXBlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9BUEkvYy9XS0FjdGlvbk1lbnVJdGVtVHlwZXMuaAkocmV2aXNpb24gMTc1NzczKQorKysgU291
cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLQWN0aW9uTWVudUl0ZW1UeXBlcy5oCSh3b3JraW5n
IGNvcHkpCkBAIC00NCw3ICs0NCwxMCBAQCBlbnVtIHsKICAgICBrV0tDb250ZXh0QWN0aW9uSXRl
bVRhZ0NvcHlUZXh0LAogICAgIGtXS0NvbnRleHRBY3Rpb25JdGVtVGFnTG9va3VwVGV4dCwKICAg
ICBrV0tDb250ZXh0QWN0aW9uSXRlbVRhZ1Bhc3RlLAotICAgIGtXS0NvbnRleHRBY3Rpb25JdGVt
VGFnVGV4dFN1Z2dlc3Rpb25zCisgICAga1dLQ29udGV4dEFjdGlvbkl0ZW1UYWdUZXh0U3VnZ2Vz
dGlvbnMsCisgICAga1dLQ29udGV4dEFjdGlvbkl0ZW1UYWdDb3B5VmlkZW9VUkwsCisgICAga1dL
Q29udGV4dEFjdGlvbkl0ZW1UYWdTYXZlVmlkZW9Ub0Rvd25sb2FkcywKKyAgICBrV0tDb250ZXh0
QWN0aW9uSXRlbVRhZ1NoYXJlVmlkZW8KIH07CiAKICNpZmRlZiBfX2NwbHVzcGx1cwpJbmRleDog
U291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLQWN0aW9uTWVudVR5cGVzLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLQWN0aW9uTWVudVR5cGVzLmgJKHJl
dmlzaW9uIDE3NTc3MykKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0FjdGlvbk1l
bnVUeXBlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw4IEBAIGVudW0gewogICAgIGtX
S0FjdGlvbk1lbnVSZWFkT25seVRleHQsCiAgICAga1dLQWN0aW9uTWVudUVkaXRhYmxlVGV4dCwK
ICAgICBrV0tBY3Rpb25NZW51RWRpdGFibGVUZXh0V2l0aFN1Z2dlc3Rpb25zLAotICAgIGtXS0Fj
dGlvbk1lbnVXaGl0ZXNwYWNlSW5FZGl0YWJsZUFyZWEKKyAgICBrV0tBY3Rpb25NZW51V2hpdGVz
cGFjZUluRWRpdGFibGVBcmVhLAorICAgIGtXS0FjdGlvbk1lbnVWaWRlbwogfTsKIHR5cGVkZWYg
dWludDMyX3QgX1dLQWN0aW9uTWVudVR5cGU7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9tYWMvV0tBY3Rpb25NZW51Q29udHJvbGxlci5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dLQWN0aW9uTWVudUNvbnRyb2xsZXIubW0JKHJldmlzaW9u
IDE3NTc3MykKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV0tBY3Rpb25NZW51Q29u
dHJvbGxlci5tbQkod29ya2luZyBjb3B5KQpAQCAtNjMsNyArNjMsNyBAQCB1c2luZyBuYW1lc3Bh
Y2UgV2ViS2l0OwogCiBAaW50ZXJmYWNlIFdLQWN0aW9uTWVudUNvbnRyb2xsZXIgKCkgPE5TU2hh
cmluZ1NlcnZpY2VEZWxlZ2F0ZSwgTlNTaGFyaW5nU2VydmljZVBpY2tlckRlbGVnYXRlLCBOU1Bv
cG92ZXJEZWxlZ2F0ZT4KIC0gKHZvaWQpX3VwZGF0ZUFjdGlvbk1lbnVJdGVtc0ZvclN0YWdlOihN
ZW51VXBkYXRlU3RhZ2Upc3RhZ2U7Ci0tIChCT09MKV9jYW5BZGRJbWFnZVRvUGhvdG9zOworLSAo
Qk9PTClfY2FuQWRkTWVkaWFUb1Bob3RvczsKIC0gKHZvaWQpX3Nob3dUZXh0SW5kaWNhdG9yOwog
LSAodm9pZClfaGlkZVRleHRJbmRpY2F0b3I7CiBAZW5kCkBAIC0zOTEsMTMgKzM5MSw1MSBAQCAt
ICh2b2lkKV9jbGVhclByZXZpZXdQb3BvdmVyCiAgICAgX3ByZXZpZXdQb3BvdmVyID0gbmlsOwog
fQogCisjcHJhZ21hIG1hcmsgVmlkZW8gYWN0aW9ucworCistIChOU0FycmF5ICopX2RlZmF1bHRN
ZW51SXRlbXNGb3JWaWRlbworeworICAgIFJldGFpblB0cjxOU01lbnVJdGVtPiBjb3B5VmlkZW9V
UkxJdGVtID0gW3NlbGYgX2NyZWF0ZUFjdGlvbk1lbnVJdGVtRm9yVGFnOmtXS0NvbnRleHRBY3Rp
b25JdGVtVGFnQ29weVZpZGVvVVJMXTsKKworICAgIFJldGFpblB0cjxOU01lbnVJdGVtPiBzYXZl
VG9Eb3dubG9hZHNJdGVtOworICAgIFJlZlB0cjxXZWJIaXRUZXN0UmVzdWx0PiBoaXRUZXN0UmVz
dWx0ID0gV2ViSGl0VGVzdFJlc3VsdDo6Y3JlYXRlKF9oaXRUZXN0UmVzdWx0LmhpdFRlc3RSZXN1
bHQpOworICAgIGlmIChoaXRUZXN0UmVzdWx0LT5pc01lZGlhVGhhdENhbkJlRG93bmxvYWRlZCgp
KQorICAgICAgICBzYXZlVG9Eb3dubG9hZHNJdGVtID0gW3NlbGYgX2NyZWF0ZUFjdGlvbk1lbnVJ
dGVtRm9yVGFnOmtXS0NvbnRleHRBY3Rpb25JdGVtVGFnU2F2ZVZpZGVvVG9Eb3dubG9hZHNdOwor
ICAgIGVsc2UKKyAgICAgICAgc2F2ZVRvRG93bmxvYWRzSXRlbSA9IFtOU01lbnVJdGVtIHNlcGFy
YXRvckl0ZW1dOworCisgICAgUmV0YWluUHRyPE5TTWVudUl0ZW0+IHNoYXJlSXRlbSA9IFtzZWxm
IF9jcmVhdGVBY3Rpb25NZW51SXRlbUZvclRhZzprV0tDb250ZXh0QWN0aW9uSXRlbVRhZ1NoYXJl
VmlkZW9dOworICAgIFN0cmluZyB2aWRlb1VSTCA9IGhpdFRlc3RSZXN1bHQtPmFic29sdXRlTWVk
aWFVUkwoKTsKKyAgICBpZiAoIXZpZGVvVVJMLmlzRW1wdHkoKSkgeworICAgICAgICBfc2hhcmlu
Z1NlcnZpY2VQaWNrZXIgPSBhZG9wdE5TKFtbTlNTaGFyaW5nU2VydmljZVBpY2tlciBhbGxvY10g
aW5pdFdpdGhJdGVtczpAWyB2aWRlb1VSTCBdXSk7CisgICAgICAgIFtfc2hhcmluZ1NlcnZpY2VQ
aWNrZXIgc2V0RGVsZWdhdGU6c2VsZl07CisgICAgICAgIFtzaGFyZUl0ZW0gc2V0U3VibWVudTpb
X3NoYXJpbmdTZXJ2aWNlUGlja2VyIG1lbnVdXTsKKyAgICB9CisKKyAgICByZXR1cm4gQFsgY29w
eVZpZGVvVVJMSXRlbS5nZXQoKSwgW05TTWVudUl0ZW0gc2VwYXJhdG9ySXRlbV0sIHNhdmVUb0Rv
d25sb2Fkc0l0ZW0uZ2V0KCksIHNoYXJlSXRlbS5nZXQoKSBdOworfQorCistICh2b2lkKV9jb3B5
VmlkZW9VUkw6KGlkKXNlbmRlcgoreworICAgIFJlZlB0cjxXZWJIaXRUZXN0UmVzdWx0PiBoaXRU
ZXN0UmVzdWx0ID0gV2ViSGl0VGVzdFJlc3VsdDo6Y3JlYXRlKF9oaXRUZXN0UmVzdWx0LmhpdFRl
c3RSZXN1bHQpOworCisgICAgW1tOU1Bhc3RlYm9hcmQgZ2VuZXJhbFBhc3RlYm9hcmRdIGNsZWFy
Q29udGVudHNdOworICAgIFtbTlNQYXN0ZWJvYXJkIGdlbmVyYWxQYXN0ZWJvYXJkXSB3cml0ZU9i
amVjdHM6QFsgaGl0VGVzdFJlc3VsdC0+YWJzb2x1dGVNZWRpYVVSTCgpIF1dOworfQorCistICh2
b2lkKV9zYXZlVmlkZW9Ub0Rvd25sb2FkczooaWQpc2VuZGVyCit7CisgICAgUmVmUHRyPFdlYkhp
dFRlc3RSZXN1bHQ+IGhpdFRlc3RSZXN1bHQgPSBXZWJIaXRUZXN0UmVzdWx0OjpjcmVhdGUoX2hp
dFRlc3RSZXN1bHQuaGl0VGVzdFJlc3VsdCk7CisgICAgX3BhZ2UtPnByb2Nlc3MoKS5jb250ZXh0
KCkuZG93bmxvYWQoX3BhZ2UsIGhpdFRlc3RSZXN1bHQtPmFic29sdXRlTWVkaWFVUkwoKSk7Cit9
CisKICNwcmFnbWEgbWFyayBJbWFnZSBhY3Rpb25zCiAKIC0gKE5TQXJyYXkgKilfZGVmYXVsdE1l
bnVJdGVtc0ZvckltYWdlCiB7CiAgICAgUmV0YWluUHRyPE5TTWVudUl0ZW0+IGNvcHlJbWFnZUl0
ZW0gPSBbc2VsZiBfY3JlYXRlQWN0aW9uTWVudUl0ZW1Gb3JUYWc6a1dLQ29udGV4dEFjdGlvbkl0
ZW1UYWdDb3B5SW1hZ2VdOwogICAgIFJldGFpblB0cjxOU01lbnVJdGVtPiBhZGRUb1Bob3Rvc0l0
ZW07Ci0gICAgaWYgKFtzZWxmIF9jYW5BZGRJbWFnZVRvUGhvdG9zXSkKKyAgICBpZiAoW3NlbGYg
X2NhbkFkZE1lZGlhVG9QaG90b3NdKQogICAgICAgICBhZGRUb1Bob3Rvc0l0ZW0gPSBbc2VsZiBf
Y3JlYXRlQWN0aW9uTWVudUl0ZW1Gb3JUYWc6a1dLQ29udGV4dEFjdGlvbkl0ZW1UYWdBZGRJbWFn
ZVRvUGhvdG9zXTsKICAgICBlbHNlCiAgICAgICAgIGFkZFRvUGhvdG9zSXRlbSA9IFtOU01lbnVJ
dGVtIHNlcGFyYXRvckl0ZW1dOwpAQCAtNDc4LDE0ICs1MTYsMTQgQEAgc3RhdGljIE5TU3RyaW5n
ICpwYXRoVG9QaG90b09uRGlzayhOU1N0cgogICAgIHJldHVybiBwYXRoOwogfQogCi0tIChCT09M
KV9jYW5BZGRJbWFnZVRvUGhvdG9zCistIChCT09MKV9jYW5BZGRNZWRpYVRvUGhvdG9zCiB7CiAg
ICAgcmV0dXJuIFtnZXRJS1NsaWRlc2hvd0NsYXNzKCkgY2FuRXhwb3J0VG9BcHBsaWNhdGlvbjpA
ImNvbS5hcHBsZS5QaG90b3MiXTsKIH0KIAogLSAodm9pZClfYWRkSW1hZ2VUb1Bob3RvczooaWQp
c2VuZGVyCiB7Ci0gICAgaWYgKCFbc2VsZiBfY2FuQWRkSW1hZ2VUb1Bob3Rvc10pCisgICAgaWYg
KCFbc2VsZiBfY2FuQWRkTWVkaWFUb1Bob3Rvc10pCiAgICAgICAgIHJldHVybjsKIAogICAgIFJl
ZlB0cjxTaGFyZWFibGVCaXRtYXA+IGJpdG1hcCA9IF9oaXRUZXN0UmVzdWx0LmltYWdlOwpAQCAt
NzUzLDYgKzc5MSwyMyBAQCAtIChSZXRhaW5QdHI8TlNNZW51SXRlbT4pX2NyZWF0ZUFjdGlvbk1l
CiAgICAgICAgIGltYWdlID0gW05TSW1hZ2UgaW1hZ2VOYW1lZDpAIk5TQWN0aW9uTWVudVNwZWxs
aW5nIl07CiAgICAgICAgIGJyZWFrOwogCisgICAgY2FzZSBrV0tDb250ZXh0QWN0aW9uSXRlbVRh
Z0NvcHlWaWRlb1VSTDoKKyAgICAgICAgc2VsZWN0b3IgPSBAc2VsZWN0b3IoX2NvcHlWaWRlb1VS
TDopOworICAgICAgICB0aXRsZSA9IEAiQ29weSI7CisgICAgICAgIGltYWdlID0gW05TSW1hZ2Ug
aW1hZ2VOYW1lZDpAIk5TQWN0aW9uTWVudUNvcHkiXTsKKyAgICAgICAgYnJlYWs7CisKKyAgICBj
YXNlIGtXS0NvbnRleHRBY3Rpb25JdGVtVGFnU2F2ZVZpZGVvVG9Eb3dubG9hZHM6CisgICAgICAg
IHNlbGVjdG9yID0gQHNlbGVjdG9yKF9zYXZlVmlkZW9Ub0Rvd25sb2FkczopOworICAgICAgICB0
aXRsZSA9IEAiU2F2ZSB0byBEb3dubG9hZHMiOworICAgICAgICBpbWFnZSA9IFtOU0ltYWdlIGlt
YWdlTmFtZWQ6QCJOU0FjdGlvbk1lbnVTYXZlVG9Eb3dubG9hZHMiXTsKKyAgICAgICAgYnJlYWs7
CisKKyAgICBjYXNlIGtXS0NvbnRleHRBY3Rpb25JdGVtVGFnU2hhcmVWaWRlbzoKKyAgICAgICAg
dGl0bGUgPSBAIlNoYXJlIjsKKyAgICAgICAgaW1hZ2UgPSBbTlNJbWFnZSBpbWFnZU5hbWVkOkAi
TlNBY3Rpb25NZW51U2hhcmUiXTsKKyAgICAgICAgYnJlYWs7CisKICAgICBkZWZhdWx0OgogICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgcmV0dXJuIG5pbDsKQEAgLTgwMiw2
ICs4NTcsMTEgQEAgLSAoTlNBcnJheSAqKV9kZWZhdWx0TWVudUl0ZW1zOihNZW51VXBkYQogICAg
ICAgICByZXR1cm4gW3NlbGYgX2RlZmF1bHRNZW51SXRlbXNGb3JMaW5rXTsKICAgICB9CiAKKyAg
ICBpZiAoIWhpdFRlc3RSZXN1bHQtPmFic29sdXRlTWVkaWFVUkwoKS5pc0VtcHR5KCkpIHsKKyAg
ICAgICAgX3R5cGUgPSBrV0tBY3Rpb25NZW51VmlkZW87CisgICAgICAgIHJldHVybiBbc2VsZiBf
ZGVmYXVsdE1lbnVJdGVtc0ZvclZpZGVvXTsKKyAgICB9CisKICAgICBpZiAoIWhpdFRlc3RSZXN1
bHQtPmFic29sdXRlSW1hZ2VVUkwoKS5pc0VtcHR5KCkgJiYgX2hpdFRlc3RSZXN1bHQuaW1hZ2Up
IHsKICAgICAgICAgX3R5cGUgPSBrV0tBY3Rpb25NZW51SW1hZ2U7CiAgICAgICAgIHJldHVybiBb
c2VsZiBfZGVmYXVsdE1lbnVJdGVtc0ZvckltYWdlXTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0JKHJldmlzaW9uIDE3
NTc3MykKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1h
Yy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTE4MSw2ICsxMTgxLDE1IEBAIHZvaWQgV2ViUGFnZTo6
cGVyZm9ybUFjdGlvbk1lbnVIaXRUZXN0QXQKICAgICBIaXRUZXN0UmVzdWx0IGhpdFRlc3RSZXN1
bHQobG9jYXRpb25JbkNvbnRlbnRDb29yZGluYXRlcyk7CiAgICAgbWFpblJlbmRlclZpZXcuaGl0
VGVzdChyZXF1ZXN0LCBoaXRUZXN0UmVzdWx0KTsKIAorICAgIC8vIFdlIGhpdCB0ZXN0IGluY2x1
ZGluZyBzaGFkb3cgY29udGVudCB0byBnZXQgdGhlIGRlc2lyZWQgcmVzdWx0IGZvciBlZGl0YWJs
ZSB0ZXh0IHJlZ2lvbnMuCisgICAgLy8gQnV0IGZvciBtZWRpYSwgd2Ugd2FudCB0byByZS1zZXQg
dG8gdGhlIHNoYWRvdyByb290LgorICAgIGlmIChOb2RlKiBub2RlID0gaGl0VGVzdFJlc3VsdC5p
bm5lck5vZGUoKSkgeworICAgICAgICBpZiAoRWxlbWVudCogc2hhZG93SG9zdCA9IG5vZGUtPnNo
YWRvd0hvc3QoKSkgeworICAgICAgICAgICAgaWYgKHNoYWRvd0hvc3QtPmlzTWVkaWFFbGVtZW50
KCkpCisgICAgICAgICAgICAgICAgaGl0VGVzdFJlc3VsdC5zZXRUb05vblNoYWRvd0FuY2VzdG9y
KCk7CisgICAgICAgIH0KKyAgICB9CisKICAgICBBY3Rpb25NZW51SGl0VGVzdFJlc3VsdCBhY3Rp
b25NZW51UmVzdWx0OwogICAgIGFjdGlvbk1lbnVSZXN1bHQuaGl0VGVzdExvY2F0aW9uSW5WaWV3
Q29vb3JkaW5hdGVzID0gbG9jYXRpb25JblZpZXdDb29vcmRpbmF0ZXM7CiAgICAgYWN0aW9uTWVu
dVJlc3VsdC5oaXRUZXN0UmVzdWx0ID0gV2ViSGl0VGVzdFJlc3VsdDo6RGF0YShoaXRUZXN0UmVz
dWx0KTsK
</data>
<flag name="review"
          id="266058"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>