<?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>235129</bug_id>
          
          <creation_ts>2022-01-12 12:05:56 -0800</creation_ts>
          <short_desc>Avoid redundant text analysis requests when long pressing inside an image that contains Live Text</short_desc>
          <delta_ts>2022-01-14 14:24:53 -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>Platform</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="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>akeerthi</cc>
    
    <cc>bdakin</cc>
    
    <cc>hi</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1830264</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-01-12 12:05:56 -0800</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830998</commentid>
    <comment_count>1</comment_count>
      <attachid>449197</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-01-14 12:03:09 -0800</bug_when>
    <thetext>Created attachment 449197
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831000</commentid>
    <comment_count>2</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-01-14 12:06:55 -0800</bug_when>
    <thetext>rdar://87366539</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831075</commentid>
    <comment_count>3</comment_count>
      <attachid>449197</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-01-14 14:14:07 -0800</bug_when>
    <thetext>Comment on attachment 449197
Patch

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831083</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-14 14:24:49 -0800</bug_when>
    <thetext>Committed r288032 (246058@main): &lt;https://commits.webkit.org/246058@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 449197.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449197</attachid>
            <date>2022-01-14 12:03:09 -0800</date>
            <delta_ts>2022-01-14 14:24:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235129-20220114120308.patch</filename>
            <type>text/plain</type>
            <size>20918</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3OTg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDgyYjkwOTM0YmIzNzg2NmI2
ZjdhOWZhZjhmNzk3NTdiZTIyOWYzNDguLjczZGE2NmJmZGE5NTQwMjY1NWFjZGRlZGVhMGU2MjU5
YzBmN2M1MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDggQEAKKzIwMjItMDEtMTQgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgQXZvaWQgcmVkdW5kYW50
IHRleHQgYW5hbHlzaXMgcmVxdWVzdHMgd2hlbiBsb25nIHByZXNzaW5nIGluc2lkZSBhbiBpbWFn
ZSB0aGF0IGNvbnRhaW5zIExpdmUgVGV4dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjM1MTI5CisgICAgICAgIHJkYXI6Ly84NzM2NjUzOQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gbG9uZyBwcmVz
c2luZyBvdmVyIGEgbm9uLUxpdmUtVGV4dCBwYXJ0IG9mIGFuIGltYWdlIHRoYXQgb3RoZXJ3aXNl
IGNvbnRhaW5zIExpdmUgVGV4dCwgd2UgY3VycmVudGx5IHRyaWdnZXIKKyAgICAgICAgTGl2ZSBU
ZXh0IGFuYWx5c2lzIG9uIHRoZSBpbWFnZSBhIHNlY29uZCB0aW1lIGFuZCByZS1pbmplY3QgdGhl
IHNhbWUgdGV4dCByZWNvZ25pdGlvbiByZXN1bHRzIGludG8gdGhlIGltYWdlCisgICAgICAgIGVs
ZW1lbnQuIEluIGFkZGl0aW9uIHRvIGJlaW5nIHVubmVjZXNzYXJ5LCB0aGlzIGV4dHJhIHRleHQg
YW5hbHlzaXMgb3BlcmF0aW9uIGNhdXNlcyByZWd1bGFyIExpdmUgVGV4dCByZXN1bHRzCisgICAg
ICAgIHRvIGJlIGluamVjdGVkIGludG8gaW1hZ2VzIHRoYXQgYWxyZWFkeSBjb250YWluICJibG9j
ayItc3R5bGUgcmVjb2duaXplZCB0ZXh0IHJlc3VsdHMsIHJlcGxhY2luZyB0aGUgYmxvY2tzIGlu
CisgICAgICAgIHRoZSBwcm9jZXNzLgorCisgICAgICAgIEFkZHJlc3MgdGhpcyBieSBhZGRpbmcg
YW4gb3B0aW1pemF0aW9uIHRvIGF2b2lkIHRoaXMgdW5uZWNlc3NhcnkgTGl2ZSBUZXh0IGFuYWx5
c2lzIGFuZCBpbmplY3Rpb24uIFNlZSBiZWxvdyBmb3IKKyAgICAgICAgbW9yZSBkZXRhaWxzLgor
CisgICAgICAgIFRlc3Q6IEltYWdlQW5hbHlzaXNUZXN0cy5Bdm9pZFJlZHVuZGFudFRleHRSZWNv
Z25pdGlvblJlcXVlc3RzCisKKyAgICAgICAgKiBTaGFyZWQvaW9zL0ludGVyYWN0aW9uSW5mb3Jt
YXRpb25BdFBvc2l0aW9uLmg6CisgICAgICAgICogU2hhcmVkL2lvcy9JbnRlcmFjdGlvbkluZm9y
bWF0aW9uQXRQb3NpdGlvbi5tbToKKyAgICAgICAgKFdlYktpdDo6SW50ZXJhY3Rpb25JbmZvcm1h
dGlvbkF0UG9zaXRpb246OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OkludGVyYWN0
aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uOjpkZWNvZGUpOgorCisgICAgICAgIEFkZCBhIG5ldyBg
ZWxlbWVudENvbnRhaW5zSW1hZ2VPdmVybGF5YCBiaXQgdG8gcG9zaXRpb24gaW5mb3JtYXRpb24u
CisKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToK
KyAgICAgICAgKC1bV0tDb250ZW50VmlldyBpbWFnZUFuYWx5c2lzR2VzdHVyZURpZEJlZ2luOl0p
OgorCisgICAgICAgIEluIHRoZSBjYXNlIHdoZXJlIHRoZSBpbWFnZSBhbHJlYWR5IGNvbnRhaW5z
IGFuIG92ZXJsYXksIHNob3J0LWNpcmN1aXQgbG9naWMgdG8gcGVyZm9ybSB0ZXh0IGFuYWx5c2lz
IGFuZCBpbmplY3QKKyAgICAgICAgdGhlIHJlc3VsdHMgaW50byB0aGUgaW1hZ2UsIGFuZCBpbnN0
ZWFkIGRpcmVjdGx5IGNhbGwgaW50byB0aGUgbmV3IGhlbHBlciBtZXRob2QgYmVsb3cgdG8gY29t
cHV0ZSB2aXN1YWwgbG9vayB1cAorICAgICAgICByZXN1bHRzIGFuZCBpbnZva2UgcGVuZGluZyBj
b250ZXh0IG1lbnUgY29tcGxldGlvbiBoYW5kbGVyIGJsb2Nrcy4gV2UgcGFzcyBgWUVTYCBmb3Ig
YGhhc1RleHRSZXN1bHRzYCBoZXJlCisgICAgICAgIGJlY2F1c2Ugd2Uga25vdyB0aGF0IHRoZSBp
bWFnZSBhbHJlYWR5IGNvbnRhaW5zIHJlY29nbml6ZWQgdGV4dCwgZHVlIHRvIHRoZSBgZWxlbWVu
dENvbnRhaW5zSW1hZ2VPdmVybGF5YCBiZWluZworICAgICAgICBzZXQuCisKKyAgICAgICAgKC1b
V0tDb250ZW50VmlldyBfY29tcGxldGVJbWFnZUFuYWx5c2lzUmVxdWVzdEZvckNvbnRleHRNZW51
OnJlcXVlc3RJZGVudGlmaWVyOmhhc1RleHRSZXN1bHRzOl0pOgorCisgICAgICAgIEZhY3RvciBv
dXQgbG9naWMgZm9yIHJlcXVlc3RpbmcgdmlzdWFsIGxvb2sgdXAgcmVzdWx0cyBvbiB0aGUgaW1h
Z2UgaW50byBhIHNlcGFyYXRlIGhlbHBlciBtZXRob2QuCisKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6OnZpZGVvUG9zaXRp
b25JbmZvcm1hdGlvbik6CisgICAgICAgIChXZWJLaXQ6OmltYWdlUG9zaXRpb25JbmZvcm1hdGlv
bik6CisKKyAgICAgICAgU2V0IHRoZSBgZWxlbWVudENvbnRhaW5zSW1hZ2VPdmVybGF5YCBiaXQg
KHNlZSBhYm92ZSkuCisKIDIwMjItMDEtMTMgIFBhdHJpY2sgQW5nbGUgIDxwYW5nbGVAYXBwbGUu
Y29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEltcGxlbWVudCBgZnJhbWVVUkxgIG9wdGlv
biBmb3IgYGRldnRvb2xzLmluc3BlY3RlZFdpbmRvdy5ldmFsYCBjb21tYW5kCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRp
b24uaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2lvcy9JbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQ
b3NpdGlvbi5oCmluZGV4IDg4YzI1MDA2MWY0Y2IzODQwNjVkYTAxNWQ1ZWRiN2M4MzA2NjRkMmQu
LjI4MWQ3NjU0ZjcwN2U4NGE3YThlYmJmZDUyMzFhMGVmY2FmZjE1M2EgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL2lvcy9JbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbi5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2lvcy9JbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQ
b3NpdGlvbi5oCkBAIC04MSw2ICs4MSw3IEBAIHN0cnVjdCBJbnRlcmFjdGlvbkluZm9ybWF0aW9u
QXRQb3NpdGlvbiB7CiAjaWYgRU5BQkxFKERBVEFMSVNUX0VMRU1FTlQpCiAgICAgYm9vbCBwcmV2
ZW50VGV4dEludGVyYWN0aW9uIHsgZmFsc2UgfTsKICNlbmRpZgorICAgIGJvb2wgZWxlbWVudENv
bnRhaW5zSW1hZ2VPdmVybGF5IHsgZmFsc2UgfTsKICAgICBib29sIHNob3VsZE5vdFVzZUlCZWFt
SW5FZGl0YWJsZUNvbnRlbnQgeyBmYWxzZSB9OwogICAgIGJvb2wgaXNJbWFnZU92ZXJsYXlUZXh0
IHsgZmFsc2UgfTsKICAgICBib29sIGlzVmVydGljYWxXcml0aW5nTW9kZSB7IGZhbHNlIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvSW50ZXJhY3Rpb25JbmZvcm1hdGlv
bkF0UG9zaXRpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvSW50ZXJhY3Rpb25JbmZv
cm1hdGlvbkF0UG9zaXRpb24ubW0KaW5kZXggNTE0ZGVhMzVmNjNiYTU2ZTQzYTY4NTMwMmY0NWEz
ZTdkMGFiZTA0Ny4uNjU1NGNhNzA4Y2RjMWZiNDFmMDhiYTRlMDg0MDI0N2Y0NTNiNzBlZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvaW9zL0ludGVyYWN0aW9uSW5mb3JtYXRpb25B
dFBvc2l0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2lvcy9JbnRlcmFjdGlvbklu
Zm9ybWF0aW9uQXRQb3NpdGlvbi5tbQpAQCAtODIsNiArODIsNyBAQCB2b2lkIEludGVyYWN0aW9u
SW5mb3JtYXRpb25BdFBvc2l0aW9uOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25z
dAogI2lmIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQogICAgIGVuY29kZXIgPDwgcHJldmVudFRl
eHRJbnRlcmFjdGlvbjsKICNlbmRpZgorICAgIGVuY29kZXIgPDwgZWxlbWVudENvbnRhaW5zSW1h
Z2VPdmVybGF5OwogICAgIGVuY29kZXIgPDwgc2hvdWxkTm90VXNlSUJlYW1JbkVkaXRhYmxlQ29u
dGVudDsKICAgICBlbmNvZGVyIDw8IGlzSW1hZ2VPdmVybGF5VGV4dDsKICAgICBlbmNvZGVyIDw8
IGlzVmVydGljYWxXcml0aW5nTW9kZTsKQEAgLTIxMiw2ICsyMTMsOSBAQCBib29sIEludGVyYWN0
aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBJ
bnRlcmFjdGlvbgogICAgICAgICByZXR1cm4gZmFsc2U7CiAjZW5kaWYKIAorICAgIGlmICghZGVj
b2Rlci5kZWNvZGUocmVzdWx0LmVsZW1lbnRDb250YWluc0ltYWdlT3ZlcmxheSkpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LnNob3VsZE5v
dFVzZUlCZWFtSW5FZGl0YWJsZUNvbnRlbnQpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJh
Y3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVy
YWN0aW9uLm1tCmluZGV4IDM4MDA5ZjQzNTNjZWM0YzgwZmFjOGViMjVjMTlkMjgwMjUyYThlYjYu
Ljc5ODc1NWU3YTUwMTczNmMzOTA2M2QyOWNmMWRjNjhjMWY1OGVmMzUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5t
bQpAQCAtMTAzOTUsNiArMTAzOTUsMTEgQEAgLSAodm9pZClpbWFnZUFuYWx5c2lzR2VzdHVyZURp
ZEJlZ2luOihXS0ltYWdlQW5hbHlzaXNHZXN0dXJlUmVjb2duaXplciAqKWdlc3R1cmUKICAgICAg
ICAgYXV0byByZXF1ZXN0Rm9yVGV4dFNlbGVjdGlvbiA9IFtzdHJvbmdTZWxmIGNyZWF0ZUltYWdl
QW5hbHl6ZXJSZXF1ZXN0OlZLQW5hbHlzaXNUeXBlVGV4dCBpbWFnZTpjZ0ltYWdlLmdldCgpXTsK
ICAgICAgICAgYXV0byByZXF1ZXN0Rm9yQ29udGV4dE1lbnUgPSBbc3Ryb25nU2VsZiBjcmVhdGVJ
bWFnZUFuYWx5emVyUmVxdWVzdDpWS0FuYWx5c2lzVHlwZVZpc3VhbFNlYXJjaCB8IFZLQW5hbHlz
aXNUeXBlTWFjaGluZVJlYWRhYmxlQ29kZSB8IFZLQW5hbHlzaXNUeXBlQXBwQ2xpcCBpbWFnZTpj
Z0ltYWdlLmdldCgpXTsKIAorICAgICAgICBpZiAoaW5mb3JtYXRpb24uZWxlbWVudENvbnRhaW5z
SW1hZ2VPdmVybGF5KSB7CisgICAgICAgICAgICBbc3Ryb25nU2VsZiBfY29tcGxldGVJbWFnZUFu
YWx5c2lzUmVxdWVzdEZvckNvbnRleHRNZW51OnJlcXVlc3RGb3JDb250ZXh0TWVudS5nZXQoKSBy
ZXF1ZXN0SWRlbnRpZmllcjpyZXF1ZXN0SWRlbnRpZmllciBoYXNUZXh0UmVzdWx0czpZRVNdOwor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKICAgICAgICAgYXV0byB0ZXh0QW5hbHlz
aXNTdGFydFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKICAgICAgICAgW1tzdHJvbmdTZWxm
IGltYWdlQW5hbHl6ZXJdIHByb2Nlc3NSZXF1ZXN0OnJlcXVlc3RGb3JUZXh0U2VsZWN0aW9uLmdl
dCgpIHByb2dyZXNzSGFuZGxlcjpuaWwgY29tcGxldGlvbkhhbmRsZXI6W3JlcXVlc3RJZGVudGlm
aWVyID0gV1RGTW92ZShyZXF1ZXN0SWRlbnRpZmllciksIHdlYWtTZWxmLCBlbGVtZW50Q29udGV4
dCwgcmVxdWVzdExvY2F0aW9uLCByZXF1ZXN0Rm9yQ29udGV4dE1lbnUsIGdlc3R1cmVEZWZlcnJh
bFRva2VuLCB0ZXh0QW5hbHlzaXNTdGFydFRpbWVdIChWS0ltYWdlQW5hbHlzaXMgKnJlc3VsdCwg
TlNFcnJvciAqZXJyb3IpIG11dGFibGUgewogICAgICAgICAgICAgYXV0byBzdHJvbmdTZWxmID0g
d2Vha1NlbGYuZ2V0KCk7CkBAIC0xMDQyMiwzNyArMTA0MjcsNDIgQEAgLSAodm9pZClpbWFnZUFu
YWx5c2lzR2VzdHVyZURpZEJlZ2luOihXS0ltYWdlQW5hbHlzaXNHZXN0dXJlUmVjb2duaXplciAq
KWdlc3R1cmUKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIH0K
IAotICAgICAgICAgICAgICAgIGF1dG8gdmlzdWFsU2VhcmNoQW5hbHlzaXNTdGFydFRpbWUgPSBN
b25vdG9uaWNUaW1lOjpub3coKTsKLSAgICAgICAgICAgICAgICBbW3N0cm9uZ1NlbGYgaW1hZ2VB
bmFseXplcl0gcHJvY2Vzc1JlcXVlc3Q6cmVxdWVzdEZvckNvbnRleHRNZW51LmdldCgpIHByb2dy
ZXNzSGFuZGxlcjpuaWwgY29tcGxldGlvbkhhbmRsZXI6W3JlcXVlc3RJZGVudGlmaWVyID0gV1RG
TW92ZShyZXF1ZXN0SWRlbnRpZmllciksIHdlYWtTZWxmLCBoYXNUZXh0UmVzdWx0cywgdmlzdWFs
U2VhcmNoQW5hbHlzaXNTdGFydFRpbWVdIChWS0ltYWdlQW5hbHlzaXMgKnJlc3VsdCwgTlNFcnJv
ciAqZXJyb3IpIG11dGFibGUgewotICAgICAgICAgICAgICAgICAgICBhdXRvIHN0cm9uZ1NlbGYg
PSB3ZWFrU2VsZi5nZXQoKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCFbc3Ryb25nU2VsZiB2
YWxpZGF0ZUltYWdlQW5hbHlzaXNSZXF1ZXN0SWRlbnRpZmllcjpyZXF1ZXN0SWRlbnRpZmllcl0p
Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgW3N0cm9u
Z1NlbGYgX2NvbXBsZXRlSW1hZ2VBbmFseXNpc1JlcXVlc3RGb3JDb250ZXh0TWVudTpyZXF1ZXN0
Rm9yQ29udGV4dE1lbnUuZ2V0KCkgcmVxdWVzdElkZW50aWZpZXI6cmVxdWVzdElkZW50aWZpZXIg
aGFzVGV4dFJlc3VsdHM6aGFzVGV4dFJlc3VsdHNdOworICAgICAgICAgICAgfSk7CisgICAgICAg
IH1dOworICAgIH0gZm9yUmVxdWVzdDpyZXF1ZXN0XTsKK30KKworLSAodm9pZClfY29tcGxldGVJ
bWFnZUFuYWx5c2lzUmVxdWVzdEZvckNvbnRleHRNZW51OihWS0ltYWdlQW5hbHl6ZXJSZXF1ZXN0
ICopcmVxdWVzdEZvckNvbnRleHRNZW51IHJlcXVlc3RJZGVudGlmaWVyOihXZWJLaXQ6OkltYWdl
QW5hbHlzaXNSZXF1ZXN0SWRlbnRpZmllcilyZXF1ZXN0SWRlbnRpZmllciBoYXNUZXh0UmVzdWx0
czooQk9PTCloYXNUZXh0UmVzdWx0cworeworICAgIGF1dG8gdmlzdWFsU2VhcmNoQW5hbHlzaXNT
dGFydFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKKyAgICBbc2VsZi5pbWFnZUFuYWx5emVy
IHByb2Nlc3NSZXF1ZXN0OnJlcXVlc3RGb3JDb250ZXh0TWVudSBwcm9ncmVzc0hhbmRsZXI6bmls
IGNvbXBsZXRpb25IYW5kbGVyOltyZXF1ZXN0SWRlbnRpZmllciA9IFdURk1vdmUocmVxdWVzdElk
ZW50aWZpZXIpLCB3ZWFrU2VsZiA9IFdlYWtPYmpDUHRyPFdLQ29udGVudFZpZXc+KHNlbGYpLCBo
YXNUZXh0UmVzdWx0cywgdmlzdWFsU2VhcmNoQW5hbHlzaXNTdGFydFRpbWVdIChWS0ltYWdlQW5h
bHlzaXMgKnJlc3VsdCwgTlNFcnJvciAqZXJyb3IpIG11dGFibGUgeworICAgICAgICBhdXRvIHN0
cm9uZ1NlbGYgPSB3ZWFrU2VsZi5nZXQoKTsKKyAgICAgICAgaWYgKCFbc3Ryb25nU2VsZiB2YWxp
ZGF0ZUltYWdlQW5hbHlzaXNSZXF1ZXN0SWRlbnRpZmllcjpyZXF1ZXN0SWRlbnRpZmllcl0pCisg
ICAgICAgICAgICByZXR1cm47CiAKICNpZiBVU0UoUVVJQ0tfTE9PSykKLSAgICAgICAgICAgICAg
ICAgICAgQk9PTCBoYXNWaXN1YWxTZWFyY2hSZXN1bHRzID0gW3Jlc3VsdCBoYXNSZXN1bHRzRm9y
QW5hbHlzaXNUeXBlczpWS0FuYWx5c2lzVHlwZVZpc3VhbFNlYXJjaF07Ci0gICAgICAgICAgICAg
ICAgICAgIFJFTEVBU0VfTE9HKEltYWdlcywgIkltYWdlIGFuYWx5c2lzIGNvbXBsZXRlZCBpbiAl
LjBmIG1zIChyZXF1ZXN0ICUiIFBSSXU2NCAiOyBmb3VuZCB2aXN1YWwgc2VhcmNoIHJlc3VsdHM/
ICVkKSIsIChNb25vdG9uaWNUaW1lOjpub3coKSAtIHZpc3VhbFNlYXJjaEFuYWx5c2lzU3RhcnRU
aW1lKS5taWxsaXNlY29uZHMoKSwgcmVxdWVzdElkZW50aWZpZXIudG9VSW50NjQoKSwgaGFzVmlz
dWFsU2VhcmNoUmVzdWx0cyk7CisgICAgICAgIEJPT0wgaGFzVmlzdWFsU2VhcmNoUmVzdWx0cyA9
IFtyZXN1bHQgaGFzUmVzdWx0c0ZvckFuYWx5c2lzVHlwZXM6VktBbmFseXNpc1R5cGVWaXN1YWxT
ZWFyY2hdOworICAgICAgICBSRUxFQVNFX0xPRyhJbWFnZXMsICJJbWFnZSBhbmFseXNpcyBjb21w
bGV0ZWQgaW4gJS4wZiBtcyAocmVxdWVzdCAlIiBQUkl1NjQgIjsgZm91bmQgdmlzdWFsIHNlYXJj
aCByZXN1bHRzPyAlZCkiLCAoTW9ub3RvbmljVGltZTo6bm93KCkgLSB2aXN1YWxTZWFyY2hBbmFs
eXNpc1N0YXJ0VGltZSkubWlsbGlzZWNvbmRzKCksIHJlcXVlc3RJZGVudGlmaWVyLnRvVUludDY0
KCksIGhhc1Zpc3VhbFNlYXJjaFJlc3VsdHMpOwogI2Vsc2UKLSAgICAgICAgICAgICAgICAgICAg
VU5VU0VEX1BBUkFNKHZpc3VhbFNlYXJjaEFuYWx5c2lzU3RhcnRUaW1lKTsKKyAgICAgICAgVU5V
U0VEX1BBUkFNKHZpc3VhbFNlYXJjaEFuYWx5c2lzU3RhcnRUaW1lKTsKICNlbmRpZgotICAgICAg
ICAgICAgICAgICAgICBpZiAoIXJlc3VsdCB8fCBlcnJvcikgewotICAgICAgICAgICAgICAgICAg
ICAgICAgW3N0cm9uZ1NlbGYgX2ludm9rZUFsbEFjdGlvbnNUb1BlcmZvcm1BZnRlclBlbmRpbmdJ
bWFnZUFuYWx5c2lzOldlYktpdDo6UHJvY2VlZFdpdGhUZXh0U2VsZWN0aW9uSW5JbWFnZTo6Tm9d
OwotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgICAgICAgICB9
CisgICAgICAgIGlmICghcmVzdWx0IHx8IGVycm9yKSB7CisgICAgICAgICAgICBbc3Ryb25nU2Vs
ZiBfaW52b2tlQWxsQWN0aW9uc1RvUGVyZm9ybUFmdGVyUGVuZGluZ0ltYWdlQW5hbHlzaXM6V2Vi
S2l0OjpQcm9jZWVkV2l0aFRleHRTZWxlY3Rpb25JbkltYWdlOjpOb107CisgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgIH0KIAogI2lmIFVTRShRVUlDS19MT09LKQotICAgICAgICAgICAgICAg
ICAgICBzdHJvbmdTZWxmLT5faGFzU2VsZWN0YWJsZVRleHRJbkltYWdlID0gaGFzVGV4dFJlc3Vs
dHM7Ci0gICAgICAgICAgICAgICAgICAgIHN0cm9uZ1NlbGYtPl9oYXNWaXN1YWxTZWFyY2hSZXN1
bHRzID0gaGFzVmlzdWFsU2VhcmNoUmVzdWx0czsKKyAgICAgICAgc3Ryb25nU2VsZi0+X2hhc1Nl
bGVjdGFibGVUZXh0SW5JbWFnZSA9IGhhc1RleHRSZXN1bHRzOworICAgICAgICBzdHJvbmdTZWxm
LT5faGFzVmlzdWFsU2VhcmNoUmVzdWx0cyA9IGhhc1Zpc3VhbFNlYXJjaFJlc3VsdHM7CiAjZWxz
ZQotICAgICAgICAgICAgICAgICAgICBVTlVTRURfUEFSQU0oaGFzVGV4dFJlc3VsdHMpOworICAg
ICAgICBVTlVTRURfUEFSQU0oaGFzVGV4dFJlc3VsdHMpOwogI2VuZGlmCiAjaWYgVVNFKFVJQ09O
VEVYVE1FTlUpICYmIEVOQUJMRShJTUFHRV9BTkFMWVNJU19GT1JfTUFDSElORV9SRUFEQUJMRV9D
T0RFUykKLSAgICAgICAgICAgICAgICAgICAgW3N0cm9uZ1NlbGYgX3VwZGF0ZUNvbnRleHRNZW51
Rm9yTWFjaGluZVJlYWRhYmxlQ29kZUZvckltYWdlQW5hbHlzaXM6cmVzdWx0XTsKKyAgICAgICAg
W3N0cm9uZ1NlbGYgX3VwZGF0ZUNvbnRleHRNZW51Rm9yTWFjaGluZVJlYWRhYmxlQ29kZUZvcklt
YWdlQW5hbHlzaXM6cmVzdWx0XTsKICNlbmRpZiAvLyBVU0UoVUlDT05URVhUTUVOVSkgJiYgRU5B
QkxFKElNQUdFX0FOQUxZU0lTX0ZPUl9NQUNISU5FX1JFQURBQkxFX0NPREVTKQotICAgICAgICAg
ICAgICAgICAgICBbc3Ryb25nU2VsZiBfaW52b2tlQWxsQWN0aW9uc1RvUGVyZm9ybUFmdGVyUGVu
ZGluZ0ltYWdlQW5hbHlzaXM6V2ViS2l0OjpQcm9jZWVkV2l0aFRleHRTZWxlY3Rpb25JbkltYWdl
OjpOb107Ci0gICAgICAgICAgICAgICAgfV07Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfV07
Ci0gICAgfSBmb3JSZXF1ZXN0OnJlcXVlc3RdOworICAgICAgICBbc3Ryb25nU2VsZiBfaW52b2tl
QWxsQWN0aW9uc1RvUGVyZm9ybUFmdGVyUGVuZGluZ0ltYWdlQW5hbHlzaXM6V2ViS2l0OjpQcm9j
ZWVkV2l0aFRleHRTZWxlY3Rpb25JbkltYWdlOjpOb107CisgICAgfV07CiB9CiAKIC0gKHZvaWQp
aW1hZ2VBbmFseXNpc0dlc3R1cmVEaWRGYWlsOihXS0ltYWdlQW5hbHlzaXNHZXN0dXJlUmVjb2du
aXplciAqKWdlc3R1cmVSZWNvZ25pemVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4IGFlYTQ4NGU4Yzc4OTI2OTA4ZDljNzhk
ZDVkNTBjZDdiOGUzZGNjODguLjUzZTE5M2FjMzUyNDA5OGMyOGY3ZmE4OTRmNDUyZDUzNmMxMjAz
NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQ
YWdlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQ
YWdlSU9TLm1tCkBAIC0yNzgwLDYgKzI3ODAsOCBAQCBzdGF0aWMgc3RkOjpvcHRpb25hbDxzdGQ6
OnBhaXI8UmVuZGVySW1hZ2UmLCBJbWFnZSY+PiBpbWFnZVJlbmRlcmVyQW5kSW1hZ2UoRWxlbQog
CiBzdGF0aWMgdm9pZCB2aWRlb1Bvc2l0aW9uSW5mb3JtYXRpb24oV2ViUGFnZSYgcGFnZSwgSFRN
TFZpZGVvRWxlbWVudCYgZWxlbWVudCwgY29uc3QgSW50ZXJhY3Rpb25JbmZvcm1hdGlvblJlcXVl
c3QmIHJlcXVlc3QsIEludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uJiBpbmZvKQogewor
ICAgIGluZm8uZWxlbWVudENvbnRhaW5zSW1hZ2VPdmVybGF5ID0gSW1hZ2VPdmVybGF5OjpoYXNP
dmVybGF5KGVsZW1lbnQpOworCiAgICAgaWYgKCFlbGVtZW50LnBhdXNlZCgpKQogICAgICAgICBy
ZXR1cm47CiAKQEAgLTI4MjAsNiArMjgyMiw3IEBAIHN0YXRpYyB2b2lkIGltYWdlUG9zaXRpb25J
bmZvcm1hdGlvbihXZWJQYWdlJiBwYWdlLCBFbGVtZW50JiBlbGVtZW50LCBjb25zdCBJbnRlCiAg
ICAgaW5mby5pc0ltYWdlID0gdHJ1ZTsKICAgICBpbmZvLmltYWdlVVJMID0gZWxlbWVudC5kb2N1
bWVudCgpLmNvbXBsZXRlVVJMKHJlbmRlckltYWdlLmNhY2hlZEltYWdlKCktPnVybCgpLnN0cmlu
ZygpKTsKICAgICBpbmZvLmlzQW5pbWF0ZWRJbWFnZSA9IGltYWdlLmlzQW5pbWF0ZWQoKTsKKyAg
ICBpbmZvLmVsZW1lbnRDb250YWluc0ltYWdlT3ZlcmxheSA9IGlzPEhUTUxFbGVtZW50PihlbGVt
ZW50KSAmJiBJbWFnZU92ZXJsYXk6Omhhc092ZXJsYXkoZG93bmNhc3Q8SFRNTEVsZW1lbnQ+KGVs
ZW1lbnQpKTsKIAogICAgIGlmIChyZXF1ZXN0LmluY2x1ZGVTbmFwc2hvdCB8fCByZXF1ZXN0Lmlu
Y2x1ZGVJbWFnZURhdGEpCiAgICAgICAgIGluZm8uaW1hZ2UgPSBjcmVhdGVTaGFyZWFibGVCaXRt
YXAocmVuZGVySW1hZ2UsIHsgc2NyZWVuU2l6ZSgpICogcGFnZS5jb3JlUGFnZSgpLT5kZXZpY2VT
Y2FsZUZhY3RvcigpLCBBbGxvd0FuaW1hdGVkSW1hZ2VzOjpZZXMsIFVzZVNuYXBzaG90Rm9yVHJh
bnNwYXJlbnRJbWFnZXM6OlllcyB9KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rv
b2xzL0NoYW5nZUxvZwppbmRleCBmNzVjZTI4MDhkMmZmOGNmY2Q2ZTllYmJhMzdhZmMzMmRhYzFm
YjUzLi41YmE3ZGU0YjNkMTRlZWI1OGU4NDMzYTY1NmE5NzY4NzBiMThjNmQ1IDEwMDY0NAotLS0g
YS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAK
KzIwMjItMDEtMTQgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgQXZvaWQgcmVkdW5kYW50IHRleHQgYW5hbHlzaXMgcmVxdWVzdHMgd2hlbiBsb25nIHBy
ZXNzaW5nIGluc2lkZSBhbiBpbWFnZSB0aGF0IGNvbnRhaW5zIExpdmUgVGV4dAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1MTI5CisgICAgICAgIHJk
YXI6Ly84NzM2NjUzOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBhIG5ldyBBUEkgdGVzdCBhbmQgcmVmYWN0b3Igc29tZSBleGlzdGluZyB0ZXN0
cy4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSW1hZ2VBbmFs
eXNpc1Rlc3RzLm1tOgorICAgICAgICAoc3dpenpsZWRMb2NhdGlvbkluVmlldyk6CisgICAgICAg
ICgtW1Rlc3RXS1dlYlZpZXcgc2ltdWxhdGVJbWFnZUFuYWx5c2lzR2VzdHVyZTpdKToKKworICAg
ICAgICBBZGQgYSBoZWxwZXIgbWV0aG9kIHRvIHNpbXVsYXRlIHRoZSBpbWFnZSBhbmFseXNpcyBn
ZXN0dXJlIHJlY29nbml6ZXIgYmVpbmcgYWN0aXZhdGVkIG9uIGlPUywgYW5kIHdhaXQgZm9yIGlt
YWdlCisgICAgICAgIGFuYWx5c2lzIHRvIGZpbmlzaC4KKworICAgICAgICAoVGVzdFdlYktpdEFQ
STo6c3dpenpsZWRQcm9jZXNzUmVxdWVzdFdpdGhSZXN1bHRzKToKKyAgICAgICAgKFRlc3RXZWJL
aXRBUEk6OlRFU1QpOgorCisgICAgICAgIEFkZCBhIG5ldyBBUEkgdGVzdCB0byB2ZXJpZnkgdGhh
dCB3ZSBtYWtlIGF0IG1vc3Qgb25lIGV4dHJhIFZLSW1hZ2VBbmFseXplciByZXF1ZXN0IHdoZW4g
aW52b2tpbmcgYSBub24tTGl2ZS0KKyAgICAgICAgVGV4dCBwYXJ0IG9mIHRoZSBpbWFnZSBhIHNl
Y29uZCB0aW1lLiBBZGRpdGlvbmFsbHksIGFkanVzdCBhbiBleGlzdGluZyB0ZXN0IChIYW5kbGVJ
bWFnZUFuYWx5emVyRXJyb3JzKSB0bworICAgICAgICB2ZXJpZnkgdGhhdCB3ZSBpbnZva2UgVktJ
bWFnZUFuYWx5emVyIGEgdG90YWwgb2YgdHdvIHRpbWVzIGR1cmluZyB0aGUgY291cnNlIG9mIG9u
ZSBpbWFnZSBhbmFseXNpcyBnZXN0dXJlIChvbmNlCisgICAgICAgIGZvciBMaXZlIFRleHQgcmVj
b2duaXRpb24sIGFuZCBhbm90aGVyIGZvciB2aXN1YWwgbG9vayB1cCkuIFRoaXMgdGVzdCBjdXJy
ZW50bHkgcGFzc2VzIHdpdGggb25seSBhIHNpbmdsZSBjaGVjaworICAgICAgICBiZWNhdXNlIGl0
IGVuZHMgdG9vIGVhcmx5IChpLmUuIGFmdGVyIG9ubHkgb25lIHJvdW5kIHRyaXAgdG8gdGhlIHdl
YiBwcm9jZXNzIGFuZCBiYWNrKS4KKworICAgICAgICAoVGVzdFdlYktpdEFQSTo6c3dpenpsZWRM
b2NhdGlvbkluVmlldyk6IERlbGV0ZWQuCisgICAgICAgICogVGVzdFdlYktpdEFQSS9jb2NvYS9J
bWFnZUFuYWx5c2lzVGVzdGluZ1V0aWxpdGllcy5tbToKKyAgICAgICAgKC1bVGVzdFZLSW1hZ2VB
bmFseXNpcyBoYXNSZXN1bHRzRm9yQW5hbHlzaXNUeXBlczpdKToKKworICAgICAgICBJbXBsZW1l
bnQgdGhpcyBtZXRob2Qgc3R1YiB0byBhdm9pZCBhbiB1bnJlY29nbml6ZWQgc2VsZWN0b3IgY3Jh
c2guCisKIDIwMjItMDEtMTMgIFBhdHJpY2sgQW5nbGUgIDxwYW5nbGVAYXBwbGUuY29tPgogCiAg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IEltcGxlbWVudCBgZnJhbWVVUkxgIG9wdGlvbiBmb3IgYGRl
dnRvb2xzLmluc3BlY3RlZFdpbmRvdy5ldmFsYCBjb21tYW5kCmRpZmYgLS1naXQgYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0ltYWdlQW5hbHlzaXNUZXN0cy5tbSBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSW1hZ2VBbmFseXNpc1Rlc3RzLm1t
CmluZGV4IDJjOGI1MTBiNjQ3YmVmYTY3ZDAyOGQwOTIxMTBiNWNmMWNjNDA3YWUuLmU4MDc4MGZk
ZmRjOGQyZDJkOWY1NTc1OWExYjc1OWExNDEzZTUxMmMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSW1hZ2VBbmFseXNpc1Rlc3RzLm1tCisrKyBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSW1hZ2VBbmFseXNpc1Rlc3RzLm1t
CkBAIC0zOSw4ICszOSwyNSBAQAogCiBzdGF0aWMgdW5zaWduZWQgZ0RpZFByb2Nlc3NSZXF1ZXN0
Q291bnQgPSAwOwogCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKworc3RhdGljIENHUG9pbnQg
Z1N3aXp6bGVkTG9jYXRpb25JblZpZXcgPSBDR1BvaW50WmVybzsKK3N0YXRpYyBDR1BvaW50IHN3
aXp6bGVkTG9jYXRpb25JblZpZXcoaWQsIFNFTCwgVUlWaWV3ICopCit7CisgICAgcmV0dXJuIGdT
d2l6emxlZExvY2F0aW9uSW5WaWV3OworfQorCitAaW50ZXJmYWNlIFVJVmlldyAoSW1hZ2VBbmFs
eXNpc1Rlc3RpbmcpCistICh2b2lkKWltYWdlQW5hbHlzaXNHZXN0dXJlRGlkQmVnaW46KFVJR2Vz
dHVyZVJlY29nbml6ZXIgKilnZXN0dXJlUmVjb2duaXplcjsKK0BlbmQKKworI2VuZGlmIC8vIFBM
QVRGT1JNKElPU19GQU1JTFkpCisKIEBpbnRlcmZhY2UgVGVzdFdLV2ViVmlldyAoSW1hZ2VBbmFs
eXNpc1Rlc3RzKQogLSAodm9pZCl3YWl0Rm9ySW1hZ2VBbmFseXNpc1JlcXVlc3RzOih1bnNpZ25l
ZCludW1iZXJPZlJlcXVlc3RzOworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCistICh1bnNpZ25l
ZClzaW11bGF0ZUltYWdlQW5hbHlzaXNHZXN0dXJlOihDR1BvaW50KWxvY2F0aW9uOworI2VuZGlm
CiBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBUZXN0V0tXZWJWaWV3IChJbWFnZUFuYWx5c2lzVGVz
dHMpCkBAIC01NSw2ICs3MiwyMiBAQCAtICh2b2lkKXdhaXRGb3JJbWFnZUFuYWx5c2lzUmVxdWVz
dHM6KHVuc2lnbmVkKW51bWJlck9mUmVxdWVzdHMKICAgICBFWFBFQ1RfRVEoZ0RpZFByb2Nlc3NS
ZXF1ZXN0Q291bnQsIG51bWJlck9mUmVxdWVzdHMpOwogfQogCisjaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKKworLSAodW5zaWduZWQpc2ltdWxhdGVJbWFnZUFuYWx5c2lzR2VzdHVyZTooQ0dQb2lu
dClsb2NhdGlvbgoreworICAgIGF1dG8gbnVtYmVyT2ZSZXF1ZXN0c0F0U3RhcnQgPSBnRGlkUHJv
Y2Vzc1JlcXVlc3RDb3VudDsKKyAgICBnU3dpenpsZWRMb2NhdGlvbkluVmlldyA9IGxvY2F0aW9u
OworICAgIEluc3RhbmNlTWV0aG9kU3dpenpsZXIgZ2VzdHVyZUxvY2F0aW9uU3dpenpsZXIgeyBV
SUxvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyLmNsYXNzLCBAc2VsZWN0b3IobG9jYXRpb25JblZp
ZXc6KSwgcmVpbnRlcnByZXRfY2FzdDxJTVA+KHN3aXp6bGVkTG9jYXRpb25JblZpZXcpIH07Cisg
ICAgW3NlbGYudGV4dElucHV0Q29udGVudFZpZXcgaW1hZ2VBbmFseXNpc0dlc3R1cmVEaWRCZWdp
bjpzZWxmLl9pbWFnZUFuYWx5c2lzR2VzdHVyZVJlY29nbml6ZXJdOworICAgIC8vIFRoZSBwcm9j
ZXNzIG9mIGltYWdlIGFuYWx5c2lzIGludm9sdmVzIGF0IG1vc3QgMiByb3VuZCB0cmlwcyB0byB0
aGUgd2ViIHByb2Nlc3MuCisgICAgW3NlbGYgd2FpdEZvck5leHRQcmVzZW50YXRpb25VcGRhdGVd
OworICAgIFtzZWxmIHdhaXRGb3JOZXh0UHJlc2VudGF0aW9uVXBkYXRlXTsKKyAgICByZXR1cm4g
Z0RpZFByb2Nlc3NSZXF1ZXN0Q291bnQgLSBudW1iZXJPZlJlcXVlc3RzQXRTdGFydDsKK30KKwor
I2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCisKIEBlbmQKIAogbmFtZXNwYWNlIFRlc3RX
ZWJLaXRBUEkgewpAQCAtNzQsMTggKzEwNywxMSBAQCBzdGF0aWMgUmV0YWluUHRyPFRlc3RXS1dl
YlZpZXc+IGNyZWF0ZVdlYlZpZXdXaXRoVGV4dFJlY29nbml0aW9uRW5oYW5jZW1lbnRzKCkKIHN0
YXRpYyB2b2lkIHN3aXp6bGVkUHJvY2Vzc1JlcXVlc3RXaXRoUmVzdWx0cyhpZCwgU0VMLCBWS0lt
YWdlQW5hbHl6ZXJSZXF1ZXN0ICosIHZvaWQgKF4pKGRvdWJsZSBwcm9ncmVzcyksIHZvaWQgKF5j
b21wbGV0aW9uKShWS0ltYWdlQW5hbHlzaXMgKiwgTlNFcnJvciAqKSkKIHsKICAgICBnRGlkUHJv
Y2Vzc1JlcXVlc3RDb3VudCsrOwotICAgIGF1dG8gYW5hbHlzaXMgPSBjcmVhdGVJbWFnZUFuYWx5
c2lzV2l0aFNpbXBsZUZpeGVkUmVzdWx0cygpOwotICAgIGNvbXBsZXRpb24oYW5hbHlzaXMuZ2V0
KCksIG5pbCk7CisgICAgY29tcGxldGlvbihjcmVhdGVJbWFnZUFuYWx5c2lzV2l0aFNpbXBsZUZp
eGVkUmVzdWx0cygpLmdldCgpLCBuaWwpOwogfQogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkK
IAotc3RhdGljIENHUG9pbnQgZ1N3aXp6bGVkTG9jYXRpb25JblZpZXcgPSBDR1BvaW50IHsgMTAw
LCAxMDAgfTsKLXN0YXRpYyBDR1BvaW50IHN3aXp6bGVkTG9jYXRpb25JblZpZXcoaWQsIFNFTCwg
VUlWaWV3ICopCi17Ci0gICAgcmV0dXJuIGdTd2l6emxlZExvY2F0aW9uSW5WaWV3OwotfQotCiBz
dGF0aWMgdm9pZCBzd2l6emxlZFByb2Nlc3NSZXF1ZXN0V2l0aEVycm9yKGlkLCBTRUwsIFZLSW1h
Z2VBbmFseXplclJlcXVlc3QgKiwgdm9pZCAoXikoZG91YmxlIHByb2dyZXNzKSwgdm9pZCAoXmNv
bXBsZXRpb24pKFZLSW1hZ2VBbmFseXNpcyAqYW5hbHlzaXMsIE5TRXJyb3IgKmVycm9yKSkKIHsK
ICAgICBnRGlkUHJvY2Vzc1JlcXVlc3RDb3VudCsrOwpAQCAtOTQsNDQgKzEyMCw0NiBAQCBzdGF0
aWMgdm9pZCBzd2l6emxlZFByb2Nlc3NSZXF1ZXN0V2l0aEVycm9yKGlkLCBTRUwsIFZLSW1hZ2VB
bmFseXplclJlcXVlc3QgKiwgdgogCiBURVNUKEltYWdlQW5hbHlzaXNUZXN0cywgRG9Ob3RBbmFs
eXplSW1hZ2VzSW5FZGl0YWJsZUNvbnRlbnQpCiB7Ci0gICAgSW5zdGFuY2VNZXRob2RTd2l6emxl
ciBnZXN0dXJlTG9jYXRpb25Td2l6emxlciB7IFVJTG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIu
Y2xhc3MsIEBzZWxlY3Rvcihsb2NhdGlvbkluVmlldzopLCByZWludGVycHJldF9jYXN0PElNUD4o
c3dpenpsZWRMb2NhdGlvbkluVmlldykgfTsKICAgICBJbnN0YW5jZU1ldGhvZFN3aXp6bGVyIGlt
YWdlQW5hbHlzaXNSZXF1ZXN0U3dpenpsZXIgeyBQQUw6OmdldFZLSW1hZ2VBbmFseXplckNsYXNz
KCksIEBzZWxlY3Rvcihwcm9jZXNzUmVxdWVzdDpwcm9ncmVzc0hhbmRsZXI6Y29tcGxldGlvbkhh
bmRsZXI6KSwgcmVpbnRlcnByZXRfY2FzdDxJTVA+KHN3aXp6bGVkUHJvY2Vzc1JlcXVlc3RXaXRo
RXJyb3IpIH07CiAKICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBh
bGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDQwMCwgNDAwKV0pOwogICAgIFt3
ZWJWaWV3IF9zZXRFZGl0YWJsZTpZRVNdOwogICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2Fk
VGVzdFBhZ2VOYW1lZDpAImltYWdlIl07Ci0KLSAgICBbd2ViVmlldyBfaW1hZ2VBbmFseXNpc0dl
c3R1cmVSZWNvZ25pemVyXS5zdGF0ZSA9IFVJR2VzdHVyZVJlY29nbml6ZXJTdGF0ZUJlZ2FuOwot
ICAgIFt3ZWJWaWV3IHdhaXRGb3JOZXh0UHJlc2VudGF0aW9uVXBkYXRlXTsKLSAgICBFWFBFQ1Rf
RVEoZ0RpZFByb2Nlc3NSZXF1ZXN0Q291bnQsIDBVKTsKKyAgICBFWFBFQ1RfRVEoW3dlYlZpZXcg
c2ltdWxhdGVJbWFnZUFuYWx5c2lzR2VzdHVyZTpDR1BvaW50TWFrZSgxMDAsIDEwMCldLCAwVSk7
CiB9CiAKLVRFU1QoSW1hZ2VBbmFseXNpc1Rlc3RzLCBIYW5kbGVJbWFnZUFuYWx5emVyRXJyb3Ip
CitURVNUKEltYWdlQW5hbHlzaXNUZXN0cywgSGFuZGxlSW1hZ2VBbmFseXplckVycm9ycykKIHsK
LSAgICBJbnN0YW5jZU1ldGhvZFN3aXp6bGVyIGdlc3R1cmVMb2NhdGlvblN3aXp6bGVyIHsgVUlM
b25nUHJlc3NHZXN0dXJlUmVjb2duaXplci5jbGFzcywgQHNlbGVjdG9yKGxvY2F0aW9uSW5WaWV3
OiksIHJlaW50ZXJwcmV0X2Nhc3Q8SU1QPihzd2l6emxlZExvY2F0aW9uSW5WaWV3KSB9OwogICAg
IEluc3RhbmNlTWV0aG9kU3dpenpsZXIgaW1hZ2VBbmFseXNpc1JlcXVlc3RTd2l6emxlciB7IFBB
TDo6Z2V0VktJbWFnZUFuYWx5emVyQ2xhc3MoKSwgQHNlbGVjdG9yKHByb2Nlc3NSZXF1ZXN0OnBy
b2dyZXNzSGFuZGxlcjpjb21wbGV0aW9uSGFuZGxlcjopLCByZWludGVycHJldF9jYXN0PElNUD4o
c3dpenpsZWRQcm9jZXNzUmVxdWVzdFdpdGhFcnJvcikgfTsKIAogICAgIGF1dG8gd2ViVmlldyA9
IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2Uo
MCwgMCwgNDAwLCA0MDApXSk7CiAgICAgW3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRUZXN0UGFn
ZU5hbWVkOkAiaW1hZ2UiXTsKIAotICAgIFt3ZWJWaWV3IF9pbWFnZUFuYWx5c2lzR2VzdHVyZVJl
Y29nbml6ZXJdLnN0YXRlID0gVUlHZXN0dXJlUmVjb2duaXplclN0YXRlQmVnYW47Ci0gICAgW3dl
YlZpZXcgd2FpdEZvck5leHRQcmVzZW50YXRpb25VcGRhdGVdOwotICAgIEVYUEVDVF9FUShnRGlk
UHJvY2Vzc1JlcXVlc3RDb3VudCwgMVUpOworICAgIEVYUEVDVF9FUShbd2ViVmlldyBzaW11bGF0
ZUltYWdlQW5hbHlzaXNHZXN0dXJlOkNHUG9pbnRNYWtlKDEwMCwgMTAwKV0sIDJVKTsKIH0KIAog
VEVTVChJbWFnZUFuYWx5c2lzVGVzdHMsIERvTm90Q3Jhc2hXaGVuSGl0VGVzdGluZ091dHNpZGVP
ZldlYlZpZXcpCiB7Ci0gICAgSW5zdGFuY2VNZXRob2RTd2l6emxlciBnZXN0dXJlTG9jYXRpb25T
d2l6emxlciB7IFVJTG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIuY2xhc3MsIEBzZWxlY3Rvcihs
b2NhdGlvbkluVmlldzopLCByZWludGVycHJldF9jYXN0PElNUD4oc3dpenpsZWRMb2NhdGlvbklu
VmlldykgfTsKICAgICBJbnN0YW5jZU1ldGhvZFN3aXp6bGVyIGltYWdlQW5hbHlzaXNSZXF1ZXN0
U3dpenpsZXIgeyBQQUw6OmdldFZLSW1hZ2VBbmFseXplckNsYXNzKCksIEBzZWxlY3Rvcihwcm9j
ZXNzUmVxdWVzdDpwcm9ncmVzc0hhbmRsZXI6Y29tcGxldGlvbkhhbmRsZXI6KSwgcmVpbnRlcnBy
ZXRfY2FzdDxJTVA+KHN3aXp6bGVkUHJvY2Vzc1JlcXVlc3RXaXRoRXJyb3IpIH07CiAKICAgICBh
dXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFt
ZTpDR1JlY3RNYWtlKDAsIDAsIDQwMCwgNDAwKV0pOwogICAgIFt3ZWJWaWV3IHN5bmNocm9ub3Vz
bHlMb2FkVGVzdFBhZ2VOYW1lZDpAImltYWdlIl07CiAKLSAgICBnU3dpenpsZWRMb2NhdGlvbklu
VmlldyA9IENHUG9pbnRNYWtlKDUwMCwgNTAwKTsKLSAgICBbd2ViVmlldyBfaW1hZ2VBbmFseXNp
c0dlc3R1cmVSZWNvZ25pemVyXS5zdGF0ZSA9IFVJR2VzdHVyZVJlY29nbml6ZXJTdGF0ZUJlZ2Fu
OwotICAgIFt3ZWJWaWV3IHdhaXRGb3JOZXh0UHJlc2VudGF0aW9uVXBkYXRlXTsKKyAgICBFWFBF
Q1RfRVEoW3dlYlZpZXcgc2ltdWxhdGVJbWFnZUFuYWx5c2lzR2VzdHVyZTpDR1BvaW50TWFrZSg1
MDAsIDUwMCldLCAwVSk7CiAgICAgW3dlYlZpZXcgZXhwZWN0RWxlbWVudENvdW50OjEgcXVlcnlT
ZWxlY3RvcjpAImltZyJdOwotICAgIEVYUEVDVF9FUShnRGlkUHJvY2Vzc1JlcXVlc3RDb3VudCwg
MFUpOworfQorCitURVNUKEltYWdlQW5hbHlzaXNUZXN0cywgQXZvaWRSZWR1bmRhbnRUZXh0UmVj
b2duaXRpb25SZXF1ZXN0cykKK3sKKyAgICBJbnN0YW5jZU1ldGhvZFN3aXp6bGVyIGltYWdlQW5h
bHlzaXNSZXF1ZXN0U3dpenpsZXIgeyBQQUw6OmdldFZLSW1hZ2VBbmFseXplckNsYXNzKCksIEBz
ZWxlY3Rvcihwcm9jZXNzUmVxdWVzdDpwcm9ncmVzc0hhbmRsZXI6Y29tcGxldGlvbkhhbmRsZXI6
KSwgcmVpbnRlcnByZXRfY2FzdDxJTVA+KHN3aXp6bGVkUHJvY2Vzc1JlcXVlc3RXaXRoUmVzdWx0
cykgfTsKKworICAgIGF1dG8gd2ViVmlldyA9IGNyZWF0ZVdlYlZpZXdXaXRoVGV4dFJlY29nbml0
aW9uRW5oYW5jZW1lbnRzKCk7CisgICAgW3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRUZXN0UGFn
ZU5hbWVkOkAiaW1hZ2UiXTsKKworICAgIEVYUEVDVF9FUShbd2ViVmlldyBzaW11bGF0ZUltYWdl
QW5hbHlzaXNHZXN0dXJlOkNHUG9pbnRNYWtlKDE1MCwgMTAwKV0sIDFVKTsKKworICAgIC8vIEZJ
WE1FOiBJZiB3ZSBjYWNoZSB2aXN1YWwgbG9vayB1cCByZXN1bHRzIGFzIHdlbGwgaW4gdGhlIGZ1
dHVyZSwgd2UgY2FuIGJyaW5nIHRoaXMgZG93biB0byAwICh0aGF0IGlzLCBubyBuZXcgcmVxdWVz
dHMpLgorICAgIEVYUEVDVF9MVChbd2ViVmlldyBzaW11bGF0ZUltYWdlQW5hbHlzaXNHZXN0dXJl
OkNHUG9pbnRNYWtlKDE1MCwgMjUwKV0sIDJVKTsKIH0KIAogI2VuZGlmIC8vIFBMQVRGT1JNKElP
U19GQU1JTFkpCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL0ltYWdlQW5h
bHlzaXNUZXN0aW5nVXRpbGl0aWVzLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9JbWFn
ZUFuYWx5c2lzVGVzdGluZ1V0aWxpdGllcy5tbQppbmRleCBjODU1YjdjZjdiOWQzYzIwMmIyNjNh
NTg0YjIyNDdjMWFjYjk5YjIwLi4xMmFhNmVhNWUxYjZmYThhOWQ4ZWZjMDQwNmI3ZTYxYjkxZDQx
NzgyIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL0ltYWdlQW5hbHlzaXNU
ZXN0aW5nVXRpbGl0aWVzLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvSW1hZ2VB
bmFseXNpc1Rlc3RpbmdVdGlsaXRpZXMubW0KQEAgLTExMSw2ICsxMTEsOSBAQCBAZW5kCiAKIEBp
bnRlcmZhY2UgVGVzdFZLSW1hZ2VBbmFseXNpcyA6IE5TT2JqZWN0CiAtIChpbnN0YW5jZXR5cGUp
aW5pdFdpdGhMaW5lczooTlNBcnJheTxWS1dLTGluZUluZm8gKj4gKilsaW5lczsKKyNpZiBIQVZF
KFZLX0lNQUdFX0FOQUxZU0lTX0ZPUl9NQUNISU5FX1JFQURBQkxFX0NPREVTKQorQHByb3BlcnR5
IChub25hdG9taWMsIHdlYWspIFVJVmlld0NvbnRyb2xsZXIgKnByZXNlbnRpbmdWaWV3Q29udHJv
bGxlckZvck1yY0FjdGlvbjsKKyNlbmRpZgogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gVGVzdFZL
SW1hZ2VBbmFseXNpcyB7CkBAIC0xMzEsNiArMTM0LDEyIEBAIC0gKE5TQXJyYXk8VktXS0xpbmVJ
bmZvICo+ICopYWxsTGluZXMKICAgICByZXR1cm4gX2xpbmVzLmdldCgpOwogfQogCistIChCT09M
KWhhc1Jlc3VsdHNGb3JBbmFseXNpc1R5cGVzOihWS0FuYWx5c2lzVHlwZXMpYW5hbHlzaXNUeXBl
cworeworICAgIC8vIFdlIG9ubHkgc2ltdWxhdGUgdGV4dCByZXN1bHRzIGZvciB0aGUgdGltZSBi
ZWluZy4KKyAgICByZXR1cm4gYW5hbHlzaXNUeXBlcyA9PSBWS0FuYWx5c2lzVHlwZVRleHQgJiYg
W19saW5lcyBjb3VudF07Cit9CisKIEBlbmQKIAogbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>