<?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>111139</bug_id>
          
          <creation_ts>2013-02-28 21:59:06 -0800</creation_ts>
          <short_desc>[WK2] Create a port independent test view for Coordinated Graphics</short_desc>
          <delta_ts>2013-07-17 19:15:55 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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>
          <dependson>110323</dependson>
          <blocked>111140</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Luiz Agostini">luiz</reporter>
          <assigned_to name="Luiz Agostini">luiz</assigned_to>
          <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>eflews.bot</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>helder.correia</cc>
    
    <cc>kenneth</cc>
    
    <cc>mikhail.pozdnyakov</cc>
    
    <cc>noam</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zeno</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>844808</commentid>
    <comment_count>0</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2013-02-28 21:59:06 -0800</bug_when>
    <thetext>It would be nice to have a very simple Coordinated Graphics view that is independent from Qt or Efl.
That view would be used on port independent API tests for Coordinated Graphics.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844931</commentid>
    <comment_count>1</comment_count>
      <attachid>190910</attachid>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2013-03-01 01:51:42 -0800</bug_when>
    <thetext>Created attachment 190910
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844933</commentid>
    <comment_count>2</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2013-03-01 01:57:02 -0800</bug_when>
    <thetext>the patch is not expected to build without bug #110323.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844934</commentid>
    <comment_count>3</comment_count>
      <attachid>190910</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-03-01 01:58:02 -0800</bug_when>
    <thetext>Comment on attachment 190910
patch

Attachment 190910 did not pass efl-ews (efl):
Output: http://webkit-commit-queue.appspot.com/results/16795388</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848713</commentid>
    <comment_count>4</comment_count>
      <attachid>191714</attachid>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2013-03-06 04:21:04 -0800</bug_when>
    <thetext>Created attachment 191714
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848717</commentid>
    <comment_count>5</comment_count>
      <attachid>191714</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2013-03-06 04:29:48 -0800</bug_when>
    <thetext>Comment on attachment 191714
patch

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

&gt; Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedView.cpp:47
&gt; +class CoordinatedPageClient : public WebKit::PageClient {

I dont see how this will work together with the EFL WKView. Can&apos;t you not just test it using EFL for now and we turn our WKView cross platform later

&gt; Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedView.cpp:60
&gt; +    virtual void didReceiveMessageFromNavigatorQtObject(const String&amp;) { notImplemented(); }

doesnt look so port independent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849078</commentid>
    <comment_count>6</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2013-03-06 10:59:27 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 191714 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=191714&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedView.cpp:47
&gt; &gt; +class CoordinatedPageClient : public WebKit::PageClient {
&gt; 
&gt; I dont see how this will work together with the EFL WKView. Can&apos;t you not just test it using EFL for now and we turn our WKView cross platform later

It would be just a simple view for tests. Just want to be less intrusive. For example, having this view, WKView does not need to expose its WKCoordinatedScene for us to be able to test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>880203</commentid>
    <comment_count>7</comment_count>
      <attachid>191714</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-04-23 17:44:37 -0700</bug_when>
    <thetext>Comment on attachment 191714
patch

Attachment 191714 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/183121</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>909558</commentid>
    <comment_count>8</comment_count>
      <attachid>191714</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-07-17 19:15:55 -0700</bug_when>
    <thetext>Comment on attachment 191714
patch

Doesn&apos;t seem relevant anymore :)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190910</attachid>
            <date>2013-03-01 01:51:42 -0800</date>
            <delta_ts>2013-03-06 04:21:04 -0800</delta_ts>
            <desc>patch</desc>
            <filename>0001-Create-a-port-independent-test-view-for-Coordinated-.patch</filename>
            <type>text/plain</type>
            <size>15386</size>
            <attacher name="Luiz Agostini">luiz</attacher>
            
              <data encoding="base64">RnJvbSA5Mjc1NjhjNTMwZTk2MmJmNTAxNGYxZWU3ZjZlMjEyOGI4MTE3ZjIwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMdWl6IEFnb3N0aW5pIDxsdWl6LmFnb3N0aW5pQG5va2lhLmNv
bT4KRGF0ZTogRnJpLCAxIE1hciAyMDEzIDAxOjQ3OjAwIC0wODAwClN1YmplY3Q6IFtQQVRDSF0g
Q3JlYXRlIGEgcG9ydCBpbmRlcGVuZGVudCB0ZXN0IHZpZXcgZm9yIENvb3JkaW5hdGVkIEdyYXBo
aWNzCiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExMTM5CgpSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCkEgdmVyeSBzaW1wbGUgdmlldyB0byBiZSB1c2VkIGZv
ciBwb3J0IGluZGVwZW5kZW50IHRlc3RzLgoKKiBDTWFrZUxpc3RzLnR4dDoKKiBVSVByb2Nlc3Mv
Q29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZFZpZXcuY3BwOiBBZGRlZC4KKiBVSVByb2Nl
c3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZFZpZXcuaDogQWRkZWQuCi0tLQogU291
cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQgICAgICAgICAgICAgICAgICAgICAgfCAgICAyICsK
IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAx
MyArKwogLi4uL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRWaWV3LmNwcCAgICAgICAg
fCAgMjAxICsrKysrKysrKysrKysrKysrKysrCiAuLi4vQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29y
ZGluYXRlZFZpZXcuaCAgICAgICAgICB8ICAgNjEgKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDI3
NyBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRWaWV3LmNwcAogY3JlYXRlIG1vZGUg
MTAwNjQ0IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3Jk
aW5hdGVkVmlldy5oCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQg
Yi9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dAppbmRleCBlMTFiZDc4Li42NzJlOGNmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9DTWFrZUxpc3RzLnR4dApAQCAtMzAxLDYgKzMwMSw4IEBAIHNldChXZWJLaXQyX1NPVVJD
RVMKICAgICBVSVByb2Nlc3MvV2ViVmlicmF0aW9uUHJvdmlkZXIuY3BwCiAgICAgVUlQcm9jZXNz
L1dlYlZpYnJhdGlvblByb3h5LmNwcAogCisgICAgVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvQ29vcmRpbmF0ZWRWaWV3LmNwcAorCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQXBwbGljYXRp
b25DYWNoZU1hbmFnZXIuY3BwCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQXV0aGVudGljYXRpb25D
aGFsbGVuZ2UuY3BwCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLQXV0aGVudGljYXRpb25EZWNpc2lv
bkxpc3RlbmVyLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDJlNmJlODUuLjhlNDJkZWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNiBAQAorMjAxMy0wMy0wMSAgTHVpeiBBZ29zdGluaSAgPGx1aXouYWdvc3Rp
bmlAbm9raWEuY29tPgorCisgICAgICAgIENyZWF0ZSBhIHBvcnQgaW5kZXBlbmRlbnQgdGVzdCB2
aWV3IGZvciBDb29yZGluYXRlZCBHcmFwaGljcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExMTM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQSB2ZXJ5IHNpbXBsZSB2aWV3IHRvIGJlIHVzZWQgZm9yIHBv
cnQgaW5kZXBlbmRlbnQgdGVzdHMuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZFZpZXcuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRl
ZFZpZXcuaDogQWRkZWQuCisKIDIwMTMtMDItMjggIEx1aXogQWdvc3RpbmkgIDxsdWl6LmFnb3N0
aW5pQG5va2lhLmNvbT4KIAogICAgICAgICBBY2NlbGVyYXRlZCBvdmVyZmxvdyBzY3JvbGxpbmcg
Zm9yIENvb3JkaW5hdGVkIEdyYXBoaWNzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRWaWV3LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkVmlldy5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWQxYjhjZgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3Jk
aW5hdGVkVmlldy5jcHAKQEAgLTAsMCArMSwyMDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTMgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNvb3JkaW5hdGVkVmlldy5oIgorCisj
aW5jbHVkZSAiQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaCIKKyNpbmNsdWRlICJEcmF3
aW5nQXJlYVByb3h5SW1wbC5oIgorI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCisjaW5jbHVkZSAi
TmF0aXZlV2ViVG91Y2hFdmVudC5oIgorI2VuZGlmCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQu
aCIKKyNpbmNsdWRlICJQYWdlQ2xpZW50LmgiCisjaW5jbHVkZSAiV0tDb29yZGluYXRlZFNjZW5l
QVBJQ2FzdC5oIgorI2luY2x1ZGUgIldlYkNvbnRleHQuaCIKKyNpbmNsdWRlICJXZWJDb250ZXh0
TWVudVByb3h5LmgiCisjaW5jbHVkZSAiV2ViUGFnZUdyb3VwLmgiCisjaW5jbHVkZSAiV2ViUG9w
dXBNZW51UHJveHkuaCIKKyNpbmNsdWRlICJXZWJQcmVmZXJlbmNlcy5oIgorI2luY2x1ZGUgPFdl
YkNvcmUvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmg+CisKKworCitjbGFzcyBDb29yZGluYXRl
ZFBhZ2VDbGllbnQgOiBwdWJsaWMgV2ViS2l0OjpQYWdlQ2xpZW50IHsKK3B1YmxpYzoKKyAgICBX
ZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUqIGNvb3JkaW5hdGVkR3JhcGhpY3NTY2Vu
ZSgpIGNvbnN0OworCisgICAgdmlydHVhbCB2b2lkIHBhZ2VDbG9zZWQoKSB7IH0KKyAgICB2aXJ0
dWFsIHZvaWQgc2V0RmluZEluZGljYXRvcihQYXNzUmVmUHRyPFdlYktpdDo6RmluZEluZGljYXRv
cj4sIGJvb2wsIGJvb2wpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaWRDb21taXRMb2FkRm9yTWFp
bkZyYW1lKGJvb2wpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkaW5nRGF0YUZv
ckN1c3RvbVJlcHJlc2VudGF0aW9uKGNvbnN0IFN0cmluZyYsIGNvbnN0IENvcmVJUEM6OkRhdGFS
ZWZlcmVuY2UmKSB7IH0KKyAgICB2aXJ0dWFsIGRvdWJsZSBjdXN0b21SZXByZXNlbnRhdGlvblpv
b21GYWN0b3IoKSB7IHJldHVybiAxOyB9CisgICAgdmlydHVhbCB2b2lkIHNldEN1c3RvbVJlcHJl
c2VudGF0aW9uWm9vbUZhY3Rvcihkb3VibGUpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBmaW5kU3Ry
aW5nSW5DdXN0b21SZXByZXNlbnRhdGlvbihjb25zdCBTdHJpbmcmLCBXZWJLaXQ6OkZpbmRPcHRp
b25zLCB1bnNpZ25lZCkgeyB9CisgICAgdmlydHVhbCB2b2lkIGNvdW50U3RyaW5nTWF0Y2hlc0lu
Q3VzdG9tUmVwcmVzZW50YXRpb24oY29uc3QgU3RyaW5nJiwgV2ViS2l0OjpGaW5kT3B0aW9ucywg
dW5zaWduZWQpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBjbGVhckFsbEVkaXRDb21tYW5kcygpIHsg
fQorICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZUZyb21OYXZpZ2F0b3JRdE9iamVj
dChjb25zdCBTdHJpbmcmKSB7IG5vdEltcGxlbWVudGVkKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQg
ZGlkQ2hhbmdlVmlld3BvcnRQcm9wZXJ0aWVzKGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0QXR0cmli
dXRlcyYpIHsgbm90SW1wbGVtZW50ZWQoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVEb3du
bG9hZFJlcXVlc3QoV2ViS2l0OjpEb3dubG9hZFByb3h5KikgeyBub3RJbXBsZW1lbnRlZCgpOyB9
CisgICAgdmlydHVhbCB2b2lkIGhhbmRsZUF1dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0KGNv
bnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIFN0cmluZyYsIFN0cmlu
ZyYpIHsgbm90SW1wbGVtZW50ZWQoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVDZXJ0aWZp
Y2F0ZVZlcmlmaWNhdGlvblJlcXVlc3QoY29uc3QgU3RyaW5nJiwgYm9vbCYpIHsgbm90SW1wbGVt
ZW50ZWQoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVQcm94eUF1dGhlbnRpY2F0aW9uUmVx
dWlyZWRSZXF1ZXN0KGNvbnN0IFN0cmluZyYsIHVpbnQxNl90LCBjb25zdCBTdHJpbmcmLCBTdHJp
bmcmLCBTdHJpbmcmKSB7IG5vdEltcGxlbWVudGVkKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgcmVn
aXN0ZXJFZGl0Q29tbWFuZChQYXNzUmVmUHRyPFdlYktpdDo6V2ViRWRpdENvbW1hbmRQcm94eT4s
IFdlYktpdDo6V2ViUGFnZVByb3h5OjpVbmRvT3JSZWRvKSB7IG5vdEltcGxlbWVudGVkKCk7IH0K
KyAgICB2aXJ0dWFsIGJvb2wgY2FuVW5kb1JlZG8oV2ViS2l0OjpXZWJQYWdlUHJveHk6OlVuZG9P
clJlZG8pIHsgbm90SW1wbGVtZW50ZWQoKTsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCB2
b2lkIGV4ZWN1dGVVbmRvUmVkbyhXZWJLaXQ6OldlYlBhZ2VQcm94eTo6VW5kb09yUmVkbykgeyBu
b3RJbXBsZW1lbnRlZCgpOyB9CisgICAgdmlydHVhbCBXZWJDb3JlOjpGbG9hdFJlY3QgY29udmVy
dFRvRGV2aWNlU3BhY2UoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiByZWN0KSB7IG5vdEltcGxl
bWVudGVkKCk7IHJldHVybiByZWN0OyB9CisgICAgdmlydHVhbCBXZWJDb3JlOjpGbG9hdFJlY3Qg
Y29udmVydFRvVXNlclNwYWNlKGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgcmVjdCkgeyBub3RJ
bXBsZW1lbnRlZCgpOyByZXR1cm4gcmVjdDsgfQorICAgIHZpcnR1YWwgV2ViQ29yZTo6SW50UG9p
bnQgc2NyZWVuVG9XaW5kb3coY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvaW50KSB7IG5vdElt
cGxlbWVudGVkKCk7IHJldHVybiBwb2ludDsgfQorICAgIHZpcnR1YWwgV2ViQ29yZTo6SW50UmVj
dCB3aW5kb3dUb1NjcmVlbihjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiByZWN0KSB7IG5vdEltcGxl
bWVudGVkKCk7IHJldHVybiByZWN0OyB9CisKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJ
TkcpCisgICAgdmlydHVhbCB2b2lkIGVudGVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUoY29u
c3QgV2ViS2l0OjpMYXllclRyZWVDb250ZXh0JikgeyBub3RJbXBsZW1lbnRlZCgpOyB9CisgICAg
dmlydHVhbCB2b2lkIGV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSgpIHsgbm90SW1wbGVt
ZW50ZWQoKTsgfQorICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVBY2NlbGVyYXRlZENvbXBvc2l0aW5n
TW9kZShjb25zdCBXZWJLaXQ6OkxheWVyVHJlZUNvbnRleHQmKSB7IG5vdEltcGxlbWVudGVkKCk7
IH0KKyNlbmRpZiAvLyBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisKKyAgICB2aXJ0dWFs
IHZvaWQgdXBkYXRlVGV4dElucHV0U3RhdGUoKSB7IG5vdEltcGxlbWVudGVkKCk7IH0KKyAgICB2
aXJ0dWFsIHZvaWQgaGFuZGxlV2lsbFNldElucHV0TWV0aG9kU3RhdGUoKSB7IG5vdEltcGxlbWVu
dGVkKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlzcGxheVZpZXcoKSB7IG5vdEltcGxlbWVudGVk
KCk7IH0KKyAgICB2aXJ0dWFsIGJvb2wgY2FuU2Nyb2xsVmlldygpIHsgcmV0dXJuIGZhbHNlOyB9
CisgICAgdmlydHVhbCB2b2lkIHNjcm9sbFZpZXcoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGNv
bnN0IFdlYkNvcmU6OkludFNpemUmKSB7IG5vdEltcGxlbWVudGVkKCk7IH0KKyAgICB2aXJ0dWFs
IHZvaWQgZmxhc2hCYWNraW5nU3RvcmVVcGRhdGVzKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpJbnRS
ZWN0PiYpIHsgbm90SW1wbGVtZW50ZWQoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5kWm9v
bWFibGVBcmVhKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiwgY29uc3QgV2ViQ29yZTo6SW50UmVj
dCYpIHsgbm90SW1wbGVtZW50ZWQoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBzZXRDdXJzb3JIaWRk
ZW5VbnRpbE1vdXNlTW92ZXMoYm9vbCkgeyBub3RJbXBsZW1lbnRlZCgpOyB9CisgICAgdmlydHVh
bCB2b2lkIHRvb2xUaXBDaGFuZ2VkKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpIHsgbm90
SW1wbGVtZW50ZWQoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBwYWdlVHJhbnNpdGlvblZpZXdwb3J0
UmVhZHkoKSB7IG1fd2ViUGFnZVByb3h5LT5jb21taXRQYWdlVHJhbnNpdGlvblZpZXdwb3J0KCk7
IH0KKyAgICB2aXJ0dWFsIHZvaWQgc3RhcnREcmFnKGNvbnN0IFdlYkNvcmU6OkRyYWdEYXRhJiwg
UGFzc1JlZlB0cjxXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcD4pIHsgbm90SW1wbGVtZW50ZWQoKTsg
fQorICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxXZWJLaXQ6OldlYlBvcHVwTWVudVByb3h5PiBjcmVh
dGVQb3B1cE1lbnVQcm94eShXZWJLaXQ6OldlYlBhZ2VQcm94eSopIHsgbm90SW1wbGVtZW50ZWQo
KTsgcmV0dXJuIFBhc3NSZWZQdHI8V2ViS2l0OjpXZWJQb3B1cE1lbnVQcm94eT4oKTsgfQorICAg
IHZpcnR1YWwgUGFzc1JlZlB0cjxXZWJLaXQ6OldlYkNvbnRleHRNZW51UHJveHk+IGNyZWF0ZUNv
bnRleHRNZW51UHJveHkoV2ViS2l0OjpXZWJQYWdlUHJveHkqKSB7IG5vdEltcGxlbWVudGVkKCk7
IHJldHVybiBQYXNzUmVmUHRyPFdlYktpdDo6V2ViQ29udGV4dE1lbnVQcm94eT4oKTsgfQorCisj
aWYgRU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCisgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdlYktp
dDo6V2ViQ29sb3JDaG9vc2VyUHJveHk+IGNyZWF0ZUNvbG9yQ2hvb3NlclByb3h5KFdlYktpdDo6
V2ViUGFnZVByb3h5KiwgY29uc3QgV2ViQ29yZTo6Q29sb3ImIGludGlhbENvbG9yLCBjb25zdCBX
ZWJDb3JlOjpJbnRSZWN0JikgeyBub3RJbXBsZW1lbnRlZCgpOyByZXR1cm4gUGFzc1JlZlB0cjxX
ZWJLaXQ6OldlYkNvbG9yQ2hvb3NlclByb3h5PigpOyB9CisjZW5kaWYKKworICAgIENvb3JkaW5h
dGVkUGFnZUNsaWVudChXZWJLaXQ6OldlYkNvbnRleHQqLCBXZWJLaXQ6OldlYlBhZ2VHcm91cCos
IENvb3JkaW5hdGVkVmlld0NsaWVudCopOworCisgICAgLy8gUGFnZUNsaWVudAorCisgICAgdmly
dHVhbCBQYXNzT3duUHRyPFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eT4gY3JlYXRlRHJhd2luZ0Fy
ZWFQcm94eSgpIHsgcmV0dXJuIFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OmNyZWF0ZSht
X3dlYlBhZ2VQcm94eS5nZXQoKSk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgcGFnZURpZFJlcXVlc3RT
Y3JvbGwoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgcHJv
Y2Vzc0RpZENyYXNoKCkgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpZFJlbGF1bmNoUHJvY2Vzcygp
IHsgfQorICAgIHZpcnR1YWwgdm9pZCBzZXRWaWV3TmVlZHNEaXNwbGF5KGNvbnN0IFdlYkNvcmU6
OkludFJlY3QmIHJlY3QpIHsgbV9jbGllbnQtPnZpZXdOZWVkc0Rpc3BsYXkocmVjdCk7IH0KKyAg
ICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQ29udGVudHNTaXplKGNvbnN0IFdlYkNvcmU6OkludFNp
emUmKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVuZGVyRnJhbWUoY29uc3QgV2ViQ29yZTo6
SW50U2l6ZSYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQg
c2V0Q3Vyc29yKGNvbnN0IFdlYkNvcmU6OkN1cnNvciYpIHsgfQorICAgIHZpcnR1YWwgYm9vbCBp
c1ZpZXdGb2N1c2VkKCkgeyByZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwgYm9vbCBpc1ZpZXdW
aXNpYmxlKCkgeyByZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwgYm9vbCBpc1ZpZXdXaW5kb3dB
Y3RpdmUoKSB7IHJldHVybiB0cnVlOyB9CisgICAgdmlydHVhbCBib29sIGlzVmlld0luV2luZG93
KCkgeyByZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwgV2ViQ29yZTo6SW50U2l6ZSB2aWV3U2l6
ZSgpIHsgcmV0dXJuIG1fc2l6ZTsgfQorICAgIHZpcnR1YWwgdm9pZCBkb25lV2l0aEtleUV2ZW50
KGNvbnN0IFdlYktpdDo6TmF0aXZlV2ViS2V5Ym9hcmRFdmVudCYsIGJvb2wpIHsgfQorI2lmIEVO
QUJMRShUT1VDSF9FVkVOVFMpCisgICAgdmlydHVhbCB2b2lkIGRvbmVXaXRoVG91Y2hFdmVudChj
b25zdCBXZWJLaXQ6Ok5hdGl2ZVdlYlRvdWNoRXZlbnQmICwgYm9vbCkgeyBub3RJbXBsZW1lbnRl
ZCgpOyB9CisjZW5kaWYKKyNpZiBFTkFCTEUoR0VTVFVSRV9FVkVOVFMpCisgICAgdmlydHVhbCB2
b2lkIGRvbmVXaXRoR2VzdHVyZUV2ZW50KGNvbnN0IFdlYktpdDo6TmF0aXZlV2ViR2VzdHVyZUV2
ZW50JiwgYm9vbCkgeyBub3RJbXBsZW1lbnRlZCgpOyB9CisjZW5kaWYKKyAgICBXZWJDb3JlOjpJ
bnRTaXplIG1fc2l6ZTsKKworICAgIENvb3JkaW5hdGVkVmlld0NsaWVudCogbV9jbGllbnQ7Cisg
ICAgV1RGOjpSZWZQdHI8V2ViS2l0OjpXZWJQYWdlUHJveHk+IG1fd2ViUGFnZVByb3h5OworCit9
OworCitDb29yZGluYXRlZFBhZ2VDbGllbnQ6OkNvb3JkaW5hdGVkUGFnZUNsaWVudChXZWJLaXQ6
OldlYkNvbnRleHQqIGNvbnRleHQsIFdlYktpdDo6V2ViUGFnZUdyb3VwKiBwYWdlR3JvdXAsIENv
b3JkaW5hdGVkVmlld0NsaWVudCogY2xpZW50KQorICAgIDogbV9jbGllbnQoY2xpZW50KQorICAg
ICwgbV93ZWJQYWdlUHJveHkoY29udGV4dC0+Y3JlYXRlV2ViUGFnZSh0aGlzLCBwYWdlR3JvdXAp
KQoreworICAgIG1fd2ViUGFnZVByb3h5LT5wYWdlR3JvdXAoKS0+cHJlZmVyZW5jZXMoKS0+c2V0
Rm9yY2VDb21wb3NpdGluZ01vZGUodHJ1ZSk7CisgICAgbV93ZWJQYWdlUHJveHktPnBhZ2VHcm91
cCgpLT5wcmVmZXJlbmNlcygpLT5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yT3ZlcmZsb3dT
Y3JvbGxFbmFibGVkKHRydWUpOworfQorCitXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzU2Nl
bmUqIENvb3JkaW5hdGVkUGFnZUNsaWVudDo6Y29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lKCkgY29u
c3QKK3sKKyAgICBXZWJLaXQ6OkRyYXdpbmdBcmVhUHJveHkqIGRyYXdpbmdBcmVhID0gbV93ZWJQ
YWdlUHJveHktPmRyYXdpbmdBcmVhKCk7CisgICAgaWYgKCFkcmF3aW5nQXJlYSkKKyAgICAgICAg
cmV0dXJuIDA7CisgICAgV2ViS2l0OjpDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eSogY29v
cmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkgPSBkcmF3aW5nQXJlYS0+Y29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0UHJveHkoKTsKKyAgICBpZiAoIWNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5
KQorICAgICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gY29vcmRpbmF0ZWRMYXllclRyZWVIb3N0
UHJveHktPmNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSgpOworfQorCitDb29yZGluYXRlZFZpZXc6
OkNvb3JkaW5hdGVkVmlldyhXS0NvbnRleHRSZWYgY29udGV4dFJlZiwgV0tQYWdlR3JvdXBSZWYg
cGFnZUdyb3VwUmVmLCBDb29yZGluYXRlZFZpZXdDbGllbnQqIGNsaWVudCkKKyAgICA6IG1fcGFn
ZUNsaWVudChhZG9wdFB0cihuZXcgQ29vcmRpbmF0ZWRQYWdlQ2xpZW50KFdlYktpdDo6dG9JbXBs
KGNvbnRleHRSZWYpLCBXZWJLaXQ6OnRvSW1wbChwYWdlR3JvdXBSZWYpLCBjbGllbnQpKSkKK3sK
K30KKworQ29vcmRpbmF0ZWRWaWV3Ojp+Q29vcmRpbmF0ZWRWaWV3KCkKK3sKK30KKwordm9pZCBD
b29yZGluYXRlZFZpZXc6OmNyZWF0ZSgpCit7CisgICAgbV9wYWdlQ2xpZW50LT5tX3dlYlBhZ2VQ
cm94eS0+aW5pdGlhbGl6ZVdlYlBhZ2UoKTsKKyAgICBtX3BhZ2VDbGllbnQtPmNvb3JkaW5hdGVk
R3JhcGhpY3NTY2VuZSgpLT5zZXRBY3RpdmUodHJ1ZSk7Cit9CisKK1dlYkNvcmU6OkludFNpemUg
Q29vcmRpbmF0ZWRWaWV3OjpzaXplKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9wYWdlQ2xpZW50
LT5tX3NpemU7Cit9CisKK3ZvaWQgQ29vcmRpbmF0ZWRWaWV3OjpzZXRTaXplKGNvbnN0IFdlYkNv
cmU6OkludFNpemUmIHNpemUpCit7CisgICAgV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5KiBkcmF3
aW5nQXJlYSA9IG1fcGFnZUNsaWVudC0+bV93ZWJQYWdlUHJveHktPmRyYXdpbmdBcmVhKCk7Cisg
ICAgaWYgKCFkcmF3aW5nQXJlYSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKG1fcGFnZUNs
aWVudC0+bV93ZWJQYWdlUHJveHktPnVzZUZpeGVkTGF5b3V0KCkpCisgICAgICAgIGRyYXdpbmdB
cmVhLT5zZXRTaXplKHNpemUsIFdlYkNvcmU6OkludFNpemUoKSk7CisKKyAgICBtX3BhZ2VDbGll
bnQtPm1fc2l6ZSA9IHNpemU7CisKKyAgICBkcmF3aW5nQXJlYS0+c2V0U2l6ZShtX3BhZ2VDbGll
bnQtPm1fc2l6ZSwgV2ViQ29yZTo6SW50U2l6ZSgpKTsKKyAgICBkcmF3aW5nQXJlYS0+c2V0Vmlz
aWJsZUNvbnRlbnRzUmVjdChXZWJDb3JlOjpJbnRSZWN0KFdlYkNvcmU6OkludFBvaW50KCksIG1f
cGFnZUNsaWVudC0+bV9zaXplKSwgV2ViQ29yZTo6RmxvYXRQb2ludCgpKTsKK30KKworV0tQYWdl
UmVmIENvb3JkaW5hdGVkVmlldzo6cGFnZVJlZigpCit7CisgICAgcmV0dXJuIHRvQVBJKG1fcGFn
ZUNsaWVudC0+bV93ZWJQYWdlUHJveHkuZ2V0KCkpOworfQorCitXS0Nvb3JkaW5hdGVkU2NlbmUg
Q29vcmRpbmF0ZWRWaWV3OjpzY2VuZSgpCit7CisgICAgcmV0dXJuIHRvQVBJKG1fcGFnZUNsaWVu
dC0+Y29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lKCkpOworfQorCit2b2lkIENvb3JkaW5hdGVkVmll
dzo6cGFpbnQoY29uc3QgV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXgmIHRyYW5zZm9ybSwg
ZmxvYXQgb3BhY2l0eSwgdW5zaWduZWQgcGFpbnRGbGFncykKK3sKKyAgICBXZWJDb3JlOjpDb29y
ZGluYXRlZEdyYXBoaWNzU2NlbmUqIHNjZW5lID0gbV9wYWdlQ2xpZW50LT5jb29yZGluYXRlZEdy
YXBoaWNzU2NlbmUoKTsKKyAgICBpZiAoIXNjZW5lKQorICAgICAgICByZXR1cm47CisKKyAgICBz
Y2VuZS0+c2V0QWN0aXZlKHRydWUpOworICAgIFdlYkNvcmU6OkZsb2F0UmVjdCByZWN0KDAsIDAs
IG1fcGFnZUNsaWVudC0+bV9zaXplLndpZHRoKCksIG1fcGFnZUNsaWVudC0+bV9zaXplLmhlaWdo
dCgpKTsKKyAgICBzY2VuZS0+cGFpbnRUb0N1cnJlbnRHTENvbnRleHQodHJhbnNmb3JtLCBvcGFj
aXR5LCB0cmFuc2Zvcm0ubWFwUmVjdChyZWN0KSwgcGFpbnRGbGFncyk7Cit9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRl
ZFZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkVmlldy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3MGY5
NTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0
ZWRHcmFwaGljcy9Db29yZGluYXRlZFZpZXcuaApAQCAtMCwwICsxLDYxIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEzIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgt
aWVzKS4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpZm5kZWYgQ29vcmRpbmF0ZWRWaWV3X2gKKyNkZWZpbmUgQ29vcmRp
bmF0ZWRWaWV3X2gKKworI2luY2x1ZGUgPFdlYkNvcmUvSW50UmVjdC5oPgorI2luY2x1ZGUgPFdl
YkNvcmUvVHJhbnNmb3JtYXRpb25NYXRyaXguaD4KKyNpbmNsdWRlIDxXZWJLaXQyL1dLQ29udGV4
dC5oPgorI2luY2x1ZGUgPFdlYktpdDIvV0tDb29yZGluYXRlZFNjZW5lLmg+CisjaW5jbHVkZSA8
V2ViS2l0Mi9XS1BhZ2UuaD4KKyNpbmNsdWRlIDxXZWJLaXQyL1dLUGFnZUdyb3VwLmg+CisKKwor
Y2xhc3MgQ29vcmRpbmF0ZWRWaWV3Q2xpZW50IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5Db29y
ZGluYXRlZFZpZXdDbGllbnQoKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgdmlld05lZWRzRGlzcGxh
eShjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgPSAwOworfTsKKworY2xhc3MgQ29vcmRpbmF0ZWRQ
YWdlQ2xpZW50OworCitjbGFzcyBDb29yZGluYXRlZFZpZXcgeworcHVibGljOgorICAgIENvb3Jk
aW5hdGVkVmlldyhXS0NvbnRleHRSZWYsIFdLUGFnZUdyb3VwUmVmLCBDb29yZGluYXRlZFZpZXdD
bGllbnQqKTsKKyAgICB+Q29vcmRpbmF0ZWRWaWV3KCk7CisKKyAgICB2b2lkIGNyZWF0ZSgpOwor
ICAgIHZvaWQgc2V0U2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJik7CisgICAgV2ViQ29yZTo6
SW50U2l6ZSBzaXplKCkgY29uc3Q7CisgICAgdm9pZCBwYWludChjb25zdCBXZWJDb3JlOjpUcmFu
c2Zvcm1hdGlvbk1hdHJpeCYsIGZsb2F0IG9wYWNpdHksIHVuc2lnbmVkIHBhaW50RmxhZ3MpOwor
ICAgIFdLUGFnZVJlZiBwYWdlUmVmKCk7CisgICAgV0tDb29yZGluYXRlZFNjZW5lIHNjZW5lKCk7
CisKK3ByaXZhdGU6CisgICAgT3duUHRyPENvb3JkaW5hdGVkUGFnZUNsaWVudD4gbV9wYWdlQ2xp
ZW50OworfTsKKworI2VuZGlmIC8vIENvb3JkaW5hdGVkVmlld19oCi0tIAoxLjcuOS41Cgo=
</data>
<flag name="commit-queue"
          id="211733"
          type_id="3"
          status="-"
          setter="eflews.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191714</attachid>
            <date>2013-03-06 04:21:04 -0800</date>
            <delta_ts>2013-07-17 19:15:54 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-Create-a-port-independent-test-view-for-Coordinated-.patch</filename>
            <type>text/plain</type>
            <size>16650</size>
            <attacher name="Luiz Agostini">luiz</attacher>
            
              <data encoding="base64">RnJvbSA5YzJlMDE1MmE2OTA2NWE4YTE0Y2Q0M2NmNjYyOGU3ZmFmMzRhNzkyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMdWl6IEFnb3N0aW5pIDxsdWl6LmFnb3N0aW5pQG5va2lhLmNv
bT4KRGF0ZTogV2VkLCA2IE1hciAyMDEzIDA0OjE2OjAwIC0wODAwClN1YmplY3Q6IFtQQVRDSF0g
Q3JlYXRlIGEgcG9ydCBpbmRlcGVuZGVudCB0ZXN0IHZpZXcgZm9yIENvb3JkaW5hdGVkIEdyYXBo
aWNzCiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExMTM5CgpSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCkEgdmVyeSBzaW1wbGUgdmlldyB0byBiZSB1c2VkIGZv
ciBwb3J0IGluZGVwZW5kZW50IHRlc3RzLgoKKiBDTWFrZUxpc3RzLnR4dDoKKiBVSVByb2Nlc3Mv
Q29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZFZpZXcuY3BwOiBBZGRlZC4KKiBVSVByb2Nl
c3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZFZpZXcuaDogQWRkZWQuCi0tLQogU291
cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQgICAgICAgICAgICAgICAgICAgICAgfCAgICAyICsK
IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAx
MyArKwogLi4uL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRWaWV3LmNwcCAgICAgICAg
fCAgMjQ2ICsrKysrKysrKysrKysrKysrKysrCiAuLi4vQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29y
ZGluYXRlZFZpZXcuaCAgICAgICAgICB8ICAgNjIgKysrKysKIDQgZmlsZXMgY2hhbmdlZCwgMzIz
IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZFZpZXcuY3BwCiBjcmVhdGUgbW9kZSAx
MDA2NDQgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRp
bmF0ZWRWaWV3LmgKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dCBi
L1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0CmluZGV4IDQyZmE3N2QuLjRkZDVhMzIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJL
aXQyL0NNYWtlTGlzdHMudHh0CkBAIC0zMDIsNiArMzAyLDggQEAgc2V0KFdlYktpdDJfU09VUkNF
UwogICAgIFVJUHJvY2Vzcy9XZWJWaWJyYXRpb25Qcm92aWRlci5jcHAKICAgICBVSVByb2Nlc3Mv
V2ViVmlicmF0aW9uUHJveHkuY3BwCiAKKyAgICBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9Db29yZGluYXRlZFZpZXcuY3BwCisKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tBcHBsaWNhdGlv
bkNhY2hlTWFuYWdlci5jcHAKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZS5jcHAKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tBdXRoZW50aWNhdGlvbkRlY2lzaW9u
TGlzdGVuZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggN2I0OTJmMy4uYTNhZWJkMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE2IEBACisyMDEzLTAzLTA2ICBMdWl6IEFnb3N0aW5pICA8bHVpei5hZ29zdGlu
aUBub2tpYS5jb20+CisKKyAgICAgICAgQ3JlYXRlIGEgcG9ydCBpbmRlcGVuZGVudCB0ZXN0IHZp
ZXcgZm9yIENvb3JkaW5hdGVkIEdyYXBoaWNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMTExMzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBIHZlcnkgc2ltcGxlIHZpZXcgdG8gYmUgdXNlZCBmb3IgcG9y
dCBpbmRlcGVuZGVudCB0ZXN0cy4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAg
ICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkVmlldy5jcHA6IEFk
ZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVk
Vmlldy5oOiBBZGRlZC4KKwogMjAxMy0wMy0wNSAgTHVpeiBBZ29zdGluaSAgPGx1aXouYWdvc3Rp
bmlAbm9raWEuY29tPgogCiAgICAgICAgIEFjY2VsZXJhdGVkIG92ZXJmbG93IHNjcm9sbGluZyBm
b3IgQ29vcmRpbmF0ZWQgR3JhcGhpY3MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZFZpZXcuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRWaWV3LmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NTBlNGEyCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRp
bmF0ZWRWaWV3LmNwcApAQCAtMCwwICsxLDI0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MyBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ29vcmRpbmF0ZWRWaWV3LmgiCisKKyNp
bmNsdWRlICJDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oIgorI2luY2x1ZGUgIkRyYXdp
bmdBcmVhUHJveHlJbXBsLmgiCisjaW5jbHVkZSAiSW50U2l6ZS5oIgorI2lmIEVOQUJMRShUT1VD
SF9FVkVOVFMpCisjaW5jbHVkZSAiTmF0aXZlV2ViVG91Y2hFdmVudC5oIgorI2VuZGlmCisjaW5j
bHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKyNpbmNsdWRlICJQYWdlQ2xpZW50LmgiCisjaW5jbHVk
ZSAiVHJhbnNmb3JtYXRpb25NYXRyaXguaCIKKyNpbmNsdWRlICJXS0Nvb3JkaW5hdGVkU2NlbmVB
UElDYXN0LmgiCisjaW5jbHVkZSAiV2ViQ29udGV4dC5oIgorI2luY2x1ZGUgIldlYkNvbnRleHRN
ZW51UHJveHkuaCIKKyNpbmNsdWRlICJXZWJQYWdlR3JvdXAuaCIKKyNpbmNsdWRlICJXZWJQb3B1
cE1lbnVQcm94eS5oIgorI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzLmgiCisjaW5jbHVkZSA8V2Vi
Q29yZS9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuaD4KKworCitjbGFzcyBDb29yZGluYXRlZFBh
Z2VDbGllbnQgOiBwdWJsaWMgV2ViS2l0OjpQYWdlQ2xpZW50IHsKK3B1YmxpYzoKKyAgICBXZWJD
b3JlOjpDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUqIGNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSgp
IGNvbnN0OworCisgICAgdmlydHVhbCB2b2lkIHBhZ2VDbG9zZWQoKSB7IH0KKyAgICB2aXJ0dWFs
IHZvaWQgc2V0RmluZEluZGljYXRvcihQYXNzUmVmUHRyPFdlYktpdDo6RmluZEluZGljYXRvcj4s
IGJvb2wsIGJvb2wpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaWRDb21taXRMb2FkRm9yTWFpbkZy
YW1lKGJvb2wpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkaW5nRGF0YUZvckN1
c3RvbVJlcHJlc2VudGF0aW9uKGNvbnN0IFN0cmluZyYsIGNvbnN0IENvcmVJUEM6OkRhdGFSZWZl
cmVuY2UmKSB7IH0KKyAgICB2aXJ0dWFsIGRvdWJsZSBjdXN0b21SZXByZXNlbnRhdGlvblpvb21G
YWN0b3IoKSB7IHJldHVybiAxOyB9CisgICAgdmlydHVhbCB2b2lkIHNldEN1c3RvbVJlcHJlc2Vu
dGF0aW9uWm9vbUZhY3Rvcihkb3VibGUpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBmaW5kU3RyaW5n
SW5DdXN0b21SZXByZXNlbnRhdGlvbihjb25zdCBTdHJpbmcmLCBXZWJLaXQ6OkZpbmRPcHRpb25z
LCB1bnNpZ25lZCkgeyB9CisgICAgdmlydHVhbCB2b2lkIGNvdW50U3RyaW5nTWF0Y2hlc0luQ3Vz
dG9tUmVwcmVzZW50YXRpb24oY29uc3QgU3RyaW5nJiwgV2ViS2l0OjpGaW5kT3B0aW9ucywgdW5z
aWduZWQpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBjbGVhckFsbEVkaXRDb21tYW5kcygpIHsgfQor
ICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZUZyb21OYXZpZ2F0b3JRdE9iamVjdChj
b25zdCBTdHJpbmcmKSB7IG5vdEltcGxlbWVudGVkKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlk
Q2hhbmdlVmlld3BvcnRQcm9wZXJ0aWVzKGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0QXR0cmlidXRl
cyYpIHsgbm90SW1wbGVtZW50ZWQoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVEb3dubG9h
ZFJlcXVlc3QoV2ViS2l0OjpEb3dubG9hZFByb3h5KikgeyBub3RJbXBsZW1lbnRlZCgpOyB9Cisg
ICAgdmlydHVhbCB2b2lkIGhhbmRsZUF1dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0KGNvbnN0
IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIFN0cmluZyYsIFN0cmluZyYp
IHsgbm90SW1wbGVtZW50ZWQoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVDZXJ0aWZpY2F0
ZVZlcmlmaWNhdGlvblJlcXVlc3QoY29uc3QgU3RyaW5nJiwgYm9vbCYpIHsgbm90SW1wbGVtZW50
ZWQoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVQcm94eUF1dGhlbnRpY2F0aW9uUmVxdWly
ZWRSZXF1ZXN0KGNvbnN0IFN0cmluZyYsIHVpbnQxNl90LCBjb25zdCBTdHJpbmcmLCBTdHJpbmcm
LCBTdHJpbmcmKSB7IG5vdEltcGxlbWVudGVkKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0
ZXJFZGl0Q29tbWFuZChQYXNzUmVmUHRyPFdlYktpdDo6V2ViRWRpdENvbW1hbmRQcm94eT4sIFdl
YktpdDo6V2ViUGFnZVByb3h5OjpVbmRvT3JSZWRvKSB7IG5vdEltcGxlbWVudGVkKCk7IH0KKyAg
ICB2aXJ0dWFsIGJvb2wgY2FuVW5kb1JlZG8oV2ViS2l0OjpXZWJQYWdlUHJveHk6OlVuZG9PclJl
ZG8pIHsgbm90SW1wbGVtZW50ZWQoKTsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCB2b2lk
IGV4ZWN1dGVVbmRvUmVkbyhXZWJLaXQ6OldlYlBhZ2VQcm94eTo6VW5kb09yUmVkbykgeyBub3RJ
bXBsZW1lbnRlZCgpOyB9CisgICAgdmlydHVhbCBXZWJDb3JlOjpGbG9hdFJlY3QgY29udmVydFRv
RGV2aWNlU3BhY2UoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiByZWN0KSB7IG5vdEltcGxlbWVu
dGVkKCk7IHJldHVybiByZWN0OyB9CisgICAgdmlydHVhbCBXZWJDb3JlOjpGbG9hdFJlY3QgY29u
dmVydFRvVXNlclNwYWNlKGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgcmVjdCkgeyBub3RJbXBs
ZW1lbnRlZCgpOyByZXR1cm4gcmVjdDsgfQorICAgIHZpcnR1YWwgV2ViQ29yZTo6SW50UG9pbnQg
c2NyZWVuVG9XaW5kb3coY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvaW50KSB7IG5vdEltcGxl
bWVudGVkKCk7IHJldHVybiBwb2ludDsgfQorICAgIHZpcnR1YWwgV2ViQ29yZTo6SW50UmVjdCB3
aW5kb3dUb1NjcmVlbihjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiByZWN0KSB7IG5vdEltcGxlbWVu
dGVkKCk7IHJldHVybiByZWN0OyB9CisKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcp
CisgICAgdmlydHVhbCB2b2lkIGVudGVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUoY29uc3Qg
V2ViS2l0OjpMYXllclRyZWVDb250ZXh0JikgeyBub3RJbXBsZW1lbnRlZCgpOyB9CisgICAgdmly
dHVhbCB2b2lkIGV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSgpIHsgbm90SW1wbGVtZW50
ZWQoKTsgfQorICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9k
ZShjb25zdCBXZWJLaXQ6OkxheWVyVHJlZUNvbnRleHQmKSB7IG5vdEltcGxlbWVudGVkKCk7IH0K
KyNlbmRpZiAvLyBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisKKyAgICB2aXJ0dWFsIHZv
aWQgdXBkYXRlVGV4dElucHV0U3RhdGUoKSB7IG5vdEltcGxlbWVudGVkKCk7IH0KKyAgICB2aXJ0
dWFsIHZvaWQgaGFuZGxlV2lsbFNldElucHV0TWV0aG9kU3RhdGUoKSB7IG5vdEltcGxlbWVudGVk
KCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlzcGxheVZpZXcoKSB7IG5vdEltcGxlbWVudGVkKCk7
IH0KKyAgICB2aXJ0dWFsIGJvb2wgY2FuU2Nyb2xsVmlldygpIHsgcmV0dXJuIGZhbHNlOyB9Cisg
ICAgdmlydHVhbCB2b2lkIHNjcm9sbFZpZXcoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGNvbnN0
IFdlYkNvcmU6OkludFNpemUmKSB7IG5vdEltcGxlbWVudGVkKCk7IH0KKyAgICB2aXJ0dWFsIHZv
aWQgZmxhc2hCYWNraW5nU3RvcmVVcGRhdGVzKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpJbnRSZWN0
PiYpIHsgbm90SW1wbGVtZW50ZWQoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5kWm9vbWFi
bGVBcmVhKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYp
IHsgbm90SW1wbGVtZW50ZWQoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBzZXRDdXJzb3JIaWRkZW5V
bnRpbE1vdXNlTW92ZXMoYm9vbCkgeyBub3RJbXBsZW1lbnRlZCgpOyB9CisgICAgdmlydHVhbCB2
b2lkIHRvb2xUaXBDaGFuZ2VkKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpIHsgbm90SW1w
bGVtZW50ZWQoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBwYWdlVHJhbnNpdGlvblZpZXdwb3J0UmVh
ZHkoKSB7IG1fd2ViUGFnZVByb3h5LT5jb21taXRQYWdlVHJhbnNpdGlvblZpZXdwb3J0KCk7IH0K
KyAgICB2aXJ0dWFsIHZvaWQgc3RhcnREcmFnKGNvbnN0IFdlYkNvcmU6OkRyYWdEYXRhJiwgUGFz
c1JlZlB0cjxXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcD4pIHsgbm90SW1wbGVtZW50ZWQoKTsgfQor
ICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxXZWJLaXQ6OldlYlBvcHVwTWVudVByb3h5PiBjcmVhdGVQ
b3B1cE1lbnVQcm94eShXZWJLaXQ6OldlYlBhZ2VQcm94eSopIHsgbm90SW1wbGVtZW50ZWQoKTsg
cmV0dXJuIFBhc3NSZWZQdHI8V2ViS2l0OjpXZWJQb3B1cE1lbnVQcm94eT4oKTsgfQorICAgIHZp
cnR1YWwgUGFzc1JlZlB0cjxXZWJLaXQ6OldlYkNvbnRleHRNZW51UHJveHk+IGNyZWF0ZUNvbnRl
eHRNZW51UHJveHkoV2ViS2l0OjpXZWJQYWdlUHJveHkqKSB7IG5vdEltcGxlbWVudGVkKCk7IHJl
dHVybiBQYXNzUmVmUHRyPFdlYktpdDo6V2ViQ29udGV4dE1lbnVQcm94eT4oKTsgfQorCisjaWYg
RU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCisgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdlYktpdDo6
V2ViQ29sb3JDaG9vc2VyUHJveHk+IGNyZWF0ZUNvbG9yQ2hvb3NlclByb3h5KFdlYktpdDo6V2Vi
UGFnZVByb3h5KiwgY29uc3QgV2ViQ29yZTo6Q29sb3ImIGludGlhbENvbG9yLCBjb25zdCBXZWJD
b3JlOjpJbnRSZWN0JikgeyBub3RJbXBsZW1lbnRlZCgpOyByZXR1cm4gUGFzc1JlZlB0cjxXZWJL
aXQ6OldlYkNvbG9yQ2hvb3NlclByb3h5PigpOyB9CisjZW5kaWYKKworICAgIENvb3JkaW5hdGVk
UGFnZUNsaWVudChXZWJLaXQ6OldlYkNvbnRleHQqLCBXZWJLaXQ6OldlYlBhZ2VHcm91cCosIENv
b3JkaW5hdGVkVmlld0NsaWVudCopOworCisgICAgLy8gUGFnZUNsaWVudAorCisgICAgdmlydHVh
bCBQYXNzT3duUHRyPFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eT4gY3JlYXRlRHJhd2luZ0FyZWFQ
cm94eSgpIHsgcmV0dXJuIFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OmNyZWF0ZShtX3dl
YlBhZ2VQcm94eS5nZXQoKSk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgcGFnZURpZFJlcXVlc3RTY3Jv
bGwoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgcHJvY2Vz
c0RpZENyYXNoKCkgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpZFJlbGF1bmNoUHJvY2VzcygpIHsg
fQorICAgIHZpcnR1YWwgdm9pZCBzZXRWaWV3TmVlZHNEaXNwbGF5KGNvbnN0IFdlYkNvcmU6Oklu
dFJlY3QmIHJlY3QpIHsgbV9jbGllbnQtPnZpZXdOZWVkc0Rpc3BsYXkoV0tSZWN0TWFrZShyZWN0
LngoKSwgcmVjdC55KCksIHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSkpOyB9CisgICAgdmly
dHVhbCB2b2lkIGRpZENoYW5nZUNvbnRlbnRzU2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJik7
CisgICAgdmlydHVhbCB2b2lkIGRpZFJlbmRlckZyYW1lKGNvbnN0IFdlYkNvcmU6OkludFNpemUm
LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgeyB9CisgICAgdmlydHVhbCB2b2lkIHNldEN1cnNv
cihjb25zdCBXZWJDb3JlOjpDdXJzb3ImKSB7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNWaWV3Rm9j
dXNlZCgpIHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNWaWV3VmlzaWJsZSgp
IHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNWaWV3V2luZG93QWN0aXZlKCkg
eyByZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwgYm9vbCBpc1ZpZXdJbldpbmRvdygpIHsgcmV0
dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIFdlYkNvcmU6OkludFNpemUgdmlld1NpemUoKSB7IHJl
dHVybiBtX3NpemU7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZG9uZVdpdGhLZXlFdmVudChjb25zdCBX
ZWJLaXQ6Ok5hdGl2ZVdlYktleWJvYXJkRXZlbnQmLCBib29sKSB7IH0KKyNpZiBFTkFCTEUoVE9V
Q0hfRVZFTlRTKQorICAgIHZpcnR1YWwgdm9pZCBkb25lV2l0aFRvdWNoRXZlbnQoY29uc3QgV2Vi
S2l0OjpOYXRpdmVXZWJUb3VjaEV2ZW50JiAsIGJvb2wpIHsgbm90SW1wbGVtZW50ZWQoKTsgfQor
I2VuZGlmCisjaWYgRU5BQkxFKEdFU1RVUkVfRVZFTlRTKQorICAgIHZpcnR1YWwgdm9pZCBkb25l
V2l0aEdlc3R1cmVFdmVudChjb25zdCBXZWJLaXQ6Ok5hdGl2ZVdlYkdlc3R1cmVFdmVudCYsIGJv
b2wpIHsgbm90SW1wbGVtZW50ZWQoKTsgfQorI2VuZGlmCisKKworICAgIHZvaWQgY29tbWl0Vmll
d3BvcnRDaGFuZ2VzKCk7CisgICAgV2ViQ29yZTo6RmxvYXRSZWN0IHZpc2libGVSZWN0KCkgY29u
c3Q7CisgICAgV2ViQ29yZTo6RmxvYXRTaXplIHZpc2libGVDb250ZW50c1NpemUoKSBjb25zdCB7
IHJldHVybiBXZWJDb3JlOjpGbG9hdFNpemUobV9zaXplLndpZHRoKCkgLyBtX3NjYWxlLCBtX3Np
emUuaGVpZ2h0KCkgLyBtX3NjYWxlKTsgfQorCisKKyAgICBDb29yZGluYXRlZFZpZXdDbGllbnQq
IG1fY2xpZW50OworICAgIFdURjo6UmVmUHRyPFdlYktpdDo6V2ViUGFnZVByb3h5PiBtX3dlYlBh
Z2VQcm94eTsKKyAgICBXZWJDb3JlOjpJbnRTaXplIG1fc2l6ZTsKKyAgICBXZWJDb3JlOjpJbnRT
aXplIG1fY29udGVudHNTaXplOworICAgIGZsb2F0IG1fc2NhbGU7Cit9OworCitDb29yZGluYXRl
ZFBhZ2VDbGllbnQ6OkNvb3JkaW5hdGVkUGFnZUNsaWVudChXZWJLaXQ6OldlYkNvbnRleHQqIGNv
bnRleHQsIFdlYktpdDo6V2ViUGFnZUdyb3VwKiBwYWdlR3JvdXAsIENvb3JkaW5hdGVkVmlld0Ns
aWVudCogY2xpZW50KQorICAgIDogbV9jbGllbnQoY2xpZW50KQorICAgICwgbV93ZWJQYWdlUHJv
eHkoY29udGV4dC0+Y3JlYXRlV2ViUGFnZSh0aGlzLCBwYWdlR3JvdXApKQorICAgICwgbV9zY2Fs
ZSgxLjBmKQoreworICAgIG1fd2ViUGFnZVByb3h5LT5wYWdlR3JvdXAoKS0+cHJlZmVyZW5jZXMo
KS0+c2V0Rm9yY2VDb21wb3NpdGluZ01vZGUodHJ1ZSk7CisgICAgbV93ZWJQYWdlUHJveHktPnBh
Z2VHcm91cCgpLT5wcmVmZXJlbmNlcygpLT5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yT3Zl
cmZsb3dTY3JvbGxFbmFibGVkKHRydWUpOworfQorCitXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBo
aWNzU2NlbmUqIENvb3JkaW5hdGVkUGFnZUNsaWVudDo6Y29vcmRpbmF0ZWRHcmFwaGljc1NjZW5l
KCkgY29uc3QKK3sKKyAgICBXZWJLaXQ6OkRyYXdpbmdBcmVhUHJveHkqIGRyYXdpbmdBcmVhID0g
bV93ZWJQYWdlUHJveHktPmRyYXdpbmdBcmVhKCk7CisgICAgaWYgKCFkcmF3aW5nQXJlYSkKKyAg
ICAgICAgcmV0dXJuIDA7CisgICAgV2ViS2l0OjpDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94
eSogY29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkgPSBkcmF3aW5nQXJlYS0+Y29vcmRpbmF0
ZWRMYXllclRyZWVIb3N0UHJveHkoKTsKKyAgICBpZiAoIWNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dFByb3h5KQorICAgICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gY29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0UHJveHktPmNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSgpOworfQorCitXZWJDb3JlOjpG
bG9hdFJlY3QgQ29vcmRpbmF0ZWRQYWdlQ2xpZW50Ojp2aXNpYmxlUmVjdCgpIGNvbnN0Cit7Cisg
ICAgV2ViQ29yZTo6RmxvYXRTaXplIHZjU2l6ZSA9IHZpc2libGVDb250ZW50c1NpemUoKTsKKyAg
ICBXZWJDb3JlOjpGbG9hdFJlY3Qgdmlld3BvcnQoV2ViQ29yZTo6RmxvYXRQb2ludCgpLCB2Y1Np
emUpOworICAgIFdlYkNvcmU6OkZsb2F0UmVjdCB2aXNpYmxlUmVjdCgwLCAwLCBtX2NvbnRlbnRz
U2l6ZS53aWR0aCgpLCBtX2NvbnRlbnRzU2l6ZS5oZWlnaHQoKSk7CisgICAgdmlzaWJsZVJlY3Qu
aW50ZXJzZWN0KHZpZXdwb3J0KTsKKyAgICByZXR1cm4gdmlzaWJsZVJlY3Q7Cit9CisKK3ZvaWQg
Q29vcmRpbmF0ZWRQYWdlQ2xpZW50Ojpjb21taXRWaWV3cG9ydENoYW5nZXMoKQoreworICAgIFdl
YktpdDo6RHJhd2luZ0FyZWFQcm94eSogZHJhd2luZ0FyZWEgPSBtX3dlYlBhZ2VQcm94eS0+ZHJh
d2luZ0FyZWEoKTsKKyAgICBpZiAoIWRyYXdpbmdBcmVhKQorICAgICAgICByZXR1cm47CisKKyAg
ICBkcmF3aW5nQXJlYS0+c2V0U2l6ZShtX3NpemUsIFdlYkNvcmU6OkludFNpemUoKSk7CisgICAg
ZHJhd2luZ0FyZWEtPnNldFZpc2libGVDb250ZW50c1JlY3QodmlzaWJsZVJlY3QoKSwgV2ViQ29y
ZTo6RmxvYXRQb2ludCgpKTsKK30KKwordm9pZCBDb29yZGluYXRlZFBhZ2VDbGllbnQ6OmRpZENo
YW5nZUNvbnRlbnRzU2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzaXplKQoreworICAgIG1f
Y29udGVudHNTaXplID0gc2l6ZTsKKyAgICBjb21taXRWaWV3cG9ydENoYW5nZXMoKTsKK30KKwor
Q29vcmRpbmF0ZWRWaWV3OjpDb29yZGluYXRlZFZpZXcoV0tDb250ZXh0UmVmIGNvbnRleHRSZWYs
IFdLUGFnZUdyb3VwUmVmIHBhZ2VHcm91cFJlZiwgQ29vcmRpbmF0ZWRWaWV3Q2xpZW50KiBjbGll
bnQpCisgICAgOiBtX3BhZ2VDbGllbnQobmV3IENvb3JkaW5hdGVkUGFnZUNsaWVudChXZWJLaXQ6
OnRvSW1wbChjb250ZXh0UmVmKSwgV2ViS2l0Ojp0b0ltcGwocGFnZUdyb3VwUmVmKSwgY2xpZW50
KSkKK3sKK30KKworQ29vcmRpbmF0ZWRWaWV3Ojp+Q29vcmRpbmF0ZWRWaWV3KCkKK3sKKyAgICBk
ZWxldGUgbV9wYWdlQ2xpZW50OworfQorCit2b2lkIENvb3JkaW5hdGVkVmlldzo6Y3JlYXRlKCkK
K3sKKyAgICBtX3BhZ2VDbGllbnQtPm1fd2ViUGFnZVByb3h5LT5pbml0aWFsaXplV2ViUGFnZSgp
OworICAgIG1fcGFnZUNsaWVudC0+Y29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lKCktPnNldEFjdGl2
ZSh0cnVlKTsKK30KKworV0tTaXplIENvb3JkaW5hdGVkVmlldzo6c2l6ZSgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIFdLU2l6ZU1ha2UobV9wYWdlQ2xpZW50LT5tX3NpemUud2lkdGgoKSwgbV9wYWdl
Q2xpZW50LT5tX3NpemUuaGVpZ2h0KCkpOworfQorCit2b2lkIENvb3JkaW5hdGVkVmlldzo6c2V0
U2l6ZShjb25zdCBXS1NpemUmIHNpemUpCit7CisgICAgV2ViQ29yZTo6SW50U2l6ZSBuZXdTaXpl
KHNpemUud2lkdGgsIHNpemUuaGVpZ2h0KTsKKyAgICBpZiAobV9wYWdlQ2xpZW50LT5tX3NpemUg
PT0gbmV3U2l6ZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9wYWdlQ2xpZW50LT5tX3NpemUg
PSBuZXdTaXplOworICAgIG1fcGFnZUNsaWVudC0+Y29tbWl0Vmlld3BvcnRDaGFuZ2VzKCk7Cit9
CisKK1dLUGFnZVJlZiBDb29yZGluYXRlZFZpZXc6OnBhZ2VSZWYoKQoreworICAgIHJldHVybiB0
b0FQSShtX3BhZ2VDbGllbnQtPm1fd2ViUGFnZVByb3h5LmdldCgpKTsKK30KKworV0tDb29yZGlu
YXRlZFNjZW5lIENvb3JkaW5hdGVkVmlldzo6c2NlbmUoKQoreworICAgIHJldHVybiB0b0FQSSht
X3BhZ2VDbGllbnQtPmNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSgpKTsKK30KKwordm9pZCBDb29y
ZGluYXRlZFZpZXc6OnNldFNjYWxlKGZsb2F0IHNjYWxlKQoreworICAgIGlmIChtX3BhZ2VDbGll
bnQtPm1fc2NhbGUgPT0gc2NhbGUpCisgICAgICAgIHJldHVybjsKKworICAgIG1fcGFnZUNsaWVu
dC0+bV9zY2FsZSA9IHNjYWxlOworICAgIG1fcGFnZUNsaWVudC0+bV93ZWJQYWdlUHJveHktPnNj
YWxlUGFnZShzY2FsZSwgV2ViQ29yZTo6SW50UG9pbnQoMCwgMCkpOworICAgIG1fcGFnZUNsaWVu
dC0+Y29tbWl0Vmlld3BvcnRDaGFuZ2VzKCk7Cit9CisKK2Zsb2F0IENvb3JkaW5hdGVkVmlldzo6
c2NhbGUoKSBjb25zdAoreworICAgIHJldHVybiBtX3BhZ2VDbGllbnQtPm1fc2NhbGU7Cit9CisK
K3ZvaWQgQ29vcmRpbmF0ZWRWaWV3OjpwYWludChmbG9hdCBvcGFjaXR5KQoreworICAgIFdlYkNv
cmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSogc2NlbmUgPSBtX3BhZ2VDbGllbnQtPmNvb3Jk
aW5hdGVkR3JhcGhpY3NTY2VuZSgpOworICAgIGlmICghc2NlbmUpCisgICAgICAgIHJldHVybjsK
KworICAgIFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4IHRyYW5zZm9ybSA9IFdlYkNvcmU6
OlRyYW5zZm9ybWF0aW9uTWF0cml4KCkuc2NhbGUobV9wYWdlQ2xpZW50LT5tX3NjYWxlKTsKKyAg
ICBXZWJDb3JlOjpGbG9hdFJlY3Qgdmlld3BvcnQgPSB0cmFuc2Zvcm0ubWFwUmVjdChXZWJDb3Jl
OjpGbG9hdFJlY3QoV2ViQ29yZTo6RmxvYXRQb2ludCgpLCBtX3BhZ2VDbGllbnQtPm1fc2l6ZSkp
OworICAgIHNjZW5lLT5wYWludFRvQ3VycmVudEdMQ29udGV4dCh0cmFuc2Zvcm0sIG9wYWNpdHks
IHZpZXdwb3J0KTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkVmlldy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRWaWV3LmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uM2YzYzJkZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkVmlldy5oCkBA
IC0wLDAgKzEsNjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgTm9raWEgQ29ycG9yYXRp
b24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVJTIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBDb29yZGlu
YXRlZFZpZXdfaAorI2RlZmluZSBDb29yZGluYXRlZFZpZXdfaAorCisjaW5jbHVkZSA8V2ViS2l0
Mi9XS0NvbnRleHQuaD4KKyNpbmNsdWRlIDxXZWJLaXQyL1dLQ29vcmRpbmF0ZWRTY2VuZS5oPgor
I2luY2x1ZGUgPFdlYktpdDIvV0tHZW9tZXRyeS5oPgorI2luY2x1ZGUgPFdlYktpdDIvV0tQYWdl
Lmg+CisjaW5jbHVkZSA8V2ViS2l0Mi9XS1BhZ2VHcm91cC5oPgorCisKK2NsYXNzIENvb3JkaW5h
dGVkVmlld0NsaWVudCB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+Q29vcmRpbmF0ZWRWaWV3Q2xp
ZW50KCkgeyB9CisgICAgdmlydHVhbCB2b2lkIHZpZXdOZWVkc0Rpc3BsYXkoY29uc3QgV0tSZWN0
JikgPSAwOworfTsKKworY2xhc3MgQ29vcmRpbmF0ZWRQYWdlQ2xpZW50OworCitjbGFzcyBXS19F
WFBPUlQgQ29vcmRpbmF0ZWRWaWV3IHsKK3B1YmxpYzoKKyAgICBDb29yZGluYXRlZFZpZXcoV0tD
b250ZXh0UmVmLCBXS1BhZ2VHcm91cFJlZiwgQ29vcmRpbmF0ZWRWaWV3Q2xpZW50Kik7CisgICAg
fkNvb3JkaW5hdGVkVmlldygpOworCisgICAgdm9pZCBjcmVhdGUoKTsKKyAgICB2b2lkIHNldFNp
emUoY29uc3QgV0tTaXplJik7CisgICAgV0tTaXplIHNpemUoKSBjb25zdDsKKyAgICB2b2lkIHNl
dFNjYWxlKGZsb2F0KTsKKyAgICBmbG9hdCBzY2FsZSgpIGNvbnN0OworICAgIHZvaWQgcGFpbnQo
ZmxvYXQgb3BhY2l0eSk7CisgICAgV0tQYWdlUmVmIHBhZ2VSZWYoKTsKKyAgICBXS0Nvb3JkaW5h
dGVkU2NlbmUgc2NlbmUoKTsKKworcHJpdmF0ZToKKyAgICBDb29yZGluYXRlZFBhZ2VDbGllbnQq
IG1fcGFnZUNsaWVudDsKK307CisKKyNlbmRpZiAvLyBDb29yZGluYXRlZFZpZXdfaAotLSAKMS43
LjkuNQoK
</data>
<flag name="review"
          id="212747"
          type_id="1"
          status="-"
          setter="noam"
    />
    <flag name="commit-queue"
          id="220943"
          type_id="3"
          status="-"
          setter="eflews.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>