<?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>165785</bug_id>
          
          <creation_ts>2016-12-12 17:11:09 -0800</creation_ts>
          <short_desc>[Cocoa] Implement -shouldInsertText: on WKWebProcessPlugInEditingDelegate</short_desc>
          <delta_ts>2016-12-13 14:09:28 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>mitz</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1259282</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2016-12-12 17:11:09 -0800</bug_when>
    <thetext>[Cocoa] Implement -shouldInsertText: on WKWebProcessPlugInEditingDelegate</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1259292</commentid>
    <comment_count>1</comment_count>
      <attachid>296973</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2016-12-12 17:37:03 -0800</bug_when>
    <thetext>Created attachment 296973
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1259293</commentid>
    <comment_count>2</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2016-12-12 17:37:53 -0800</bug_when>
    <thetext>rdar://problem/26929398</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1259294</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-12 17:39:17 -0800</bug_when>
    <thetext>Attachment 296973 did not pass style-queue:


ERROR: Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:589:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:640:  Missing spaces around :  [whitespace/init] [4]
Total errors found: 2 in 7 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>1259296</commentid>
    <comment_count>4</comment_count>
      <attachid>296974</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2016-12-12 17:48:19 -0800</bug_when>
    <thetext>Created attachment 296974
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1259297</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-12 17:50:08 -0800</bug_when>
    <thetext>Attachment 296974 did not pass style-queue:


ERROR: Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:590:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:641:  Missing spaces around :  [whitespace/init] [4]
Total errors found: 2 in 7 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>1259335</commentid>
    <comment_count>6</comment_count>
      <attachid>296974</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-12-12 20:22:04 -0800</bug_when>
    <thetext>Comment on attachment 296974
Patch

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

&gt; Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:605
&gt; +            WKEditorInsertAction wkAction;
&gt; +            switch (action) {
&gt; +            case EditorInsertActionTyped:
&gt; +                wkAction = WKEditorInsertActionTyped;
&gt; +                break;
&gt; +            case EditorInsertActionPasted:
&gt; +                wkAction = WKEditorInsertActionPasted;
&gt; +                break;
&gt; +            case EditorInsertActionDropped:
&gt; +                wkAction = WKEditorInsertActionDropped;
&gt; +                break;
&gt; +            }

Would like this mapping to be a separate helper function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1259463</commentid>
    <comment_count>7</comment_count>
      <attachid>297027</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2016-12-13 11:30:49 -0800</bug_when>
    <thetext>Created attachment 297027
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1259531</commentid>
    <comment_count>8</comment_count>
      <attachid>297027</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-13 14:09:23 -0800</bug_when>
    <thetext>Comment on attachment 297027
Patch

Clearing flags on attachment: 297027

Committed r209775: &lt;http://trac.webkit.org/changeset/209775&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1259532</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-13 14:09:28 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>296973</attachid>
            <date>2016-12-12 17:37:03 -0800</date>
            <delta_ts>2016-12-12 17:48:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165785-20161212173616.patch</filename>
            <type>text/plain</type>
            <size>15422</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5Njc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNTYzNTZhN2U2N2M4ZTRl
NGI1NGZiZjM3Nzc0N2M3NDI0N2Q5YjQ2ZS4uM2IwNzhjNWVmODc4ZmI5YmU1MjQ0ZTcxZjNhOTE2
M2IxN2ZjY2RhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE2LTEyLTEyICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIEltcGxlbWVudCAt
c2hvdWxkSW5zZXJ0VGV4dDogb24gV0tXZWJQcm9jZXNzUGx1Z0luRWRpdGluZ0RlbGVnYXRlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjU3ODUKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI2OTI5Mzk4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Q29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luRWRpdGluZ0RlbGVnYXRlLmg6IERlZmluZWQKKyAgICAg
ICAgV0tFZGl0b3JJbnNlcnRBY3Rpb24gYW5kCisgICAgICAgIC1fd2ViUHJvY2Vzc1BsdWdJbkJy
b3dzZXJDb250ZXh0Q29udHJvbGxlcjpzaG91bGRJbnNlcnRUZXh0OnJlcGxhY2luZ1JhbmdlOmdp
dmVuQWN0aW9uOi4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMv
V0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLm1tOgorICAgICAgICAo
LVtXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgX3NldEVkaXRpbmdE
ZWxlZ2F0ZTpdKTogSW1wbGVtZW50ZWQKKyAgICAgICAgRWRpdG9yQ2xpZW50OjpzaG91bGRJbnNl
cnRUZXh0KCkgYnkgbWFwcGluZyB0aGUgRWRpdG9ySW5zZXJ0QWN0aW9uIHBhcmFtZXRlciB0byBh
CisgICAgICAgIFdLRWRpdG9ySW5zZXJ0QWN0aW9uIGFuZCBjYWxsaW5nCisgICAgICAgIC1fd2Vi
UHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpzaG91bGRJbnNlcnRUZXh0OnJl
cGxhY2luZ1JhbmdlOmdpdmVuQWN0aW9uOiB3aXRoCisgICAgICAgIHRoZSB0ZXh0LCB3cmFwcGVk
IHJhbmdlIGhhbmRsZSwgYW5kIGFjdGlvbi4KKwogMjAxNi0xMi0xMCAgS29uc3RhbnRpbiBUb2th
cmV2ICA8YW5udWxlbkB5YW5kZXgucnU+CiAKICAgICAgICAgW2NtYWtlXSBJbmNsdWRlIFdURiwg
SlNDLCBhbmQgV2ViQ29yZSBoZWFkZXJzIGF1dG9tYXRpY2FsbHkgdG8gdGFyZ2VycyB1c2luZyB0
aGVtCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5FZGl0aW5nRGVsZWdhdGUuaCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1Bs
dWdJbkVkaXRpbmdEZWxlZ2F0ZS5oCmluZGV4IGQ1MzI1MDVhZjBlNjA3ZTQ2ZWMwNDE2ZmZhYTA5
MzkxYjJiYTdkYTUuLjA0NzY3NTZkZjhhYWZhODhjZTk4ZDdkZTIwZDdmY2E3YTRjYWNmNzEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0Nv
Y29hL1dLV2ViUHJvY2Vzc1BsdWdJbkVkaXRpbmdEZWxlZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJ
bkVkaXRpbmdEZWxlZ2F0ZS5oCkBAIC0zMiwxMSArMzIsMTggQEAKIAogTlNfQVNTVU1FX05PTk5V
TExfQkVHSU4KIAordHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgV0tFZGl0b3JJbnNlcnRBY3Rp
b24pIHsKKyAgICBXS0VkaXRvckluc2VydEFjdGlvblR5cGVkLAorICAgIFdLRWRpdG9ySW5zZXJ0
QWN0aW9uUGFzdGVkLAorICAgIFdLRWRpdG9ySW5zZXJ0QWN0aW9uRHJvcHBlZCwKK30gV0tfQVBJ
X0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpCiBAcHJvdG9j
b2wgV0tXZWJQcm9jZXNzUGx1Z0luRWRpdGluZ0RlbGVnYXRlIDxOU09iamVjdD4KIAogQG9wdGlv
bmFsCiAKKy0gKEJPT0wpX3dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6
KFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlciAqKWNvbnRyb2xsZXIg
c2hvdWxkSW5zZXJ0VGV4dDooTlNTdHJpbmcgKil0ZXh0IHJlcGxhY2luZ1JhbmdlOihXS1dlYlBy
b2Nlc3NQbHVnSW5SYW5nZUhhbmRsZSAqKXJhbmdlIGdpdmVuQWN0aW9uOihXS0VkaXRvckluc2Vy
dEFjdGlvbilhY3Rpb247CiAtICh2b2lkKV93ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRD
b250cm9sbGVyOihXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgKilj
b250cm9sbGVyIHdpbGxXcml0ZVJhbmdlVG9QYXN0ZWJvYXJkOihXS1dlYlByb2Nlc3NQbHVnSW5S
YW5nZUhhbmRsZSAqKXJhbmdlOwogLSAoTlNEaWN0aW9uYXJ5PE5TU3RyaW5nICosIE5TRGF0YSAq
PiAqKV93ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOihXS1dlYlByb2Nl
c3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgKiljb250cm9sbGVyIHBhc3RlYm9hcmRE
YXRhRm9yUmFuZ2U6KFdLV2ViUHJvY2Vzc1BsdWdJblJhbmdlSGFuZGxlICopcmFuZ2U7CiAtICh2
b2lkKV93ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyRGlkV3JpdGVUb1Bh
c3RlYm9hcmQ6KFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlciAqKWNv
bnRyb2xsZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVy
Lm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dL
V2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlci5tbQppbmRleCAwZjgwNTk2
MzcxMTEwMmMyODZhNTgwNDg2MjVhYmRlMDg0YzViNTYwLi4wMmYxMjRjZDE2Mzc2OWQwMjNhMTQ1
OWNhNzUyMmFiMjk3ZDIyMTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRD
b250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIubW0K
QEAgLTU4NCw4ICs1ODQsMjggQEAgLSAodm9pZClfc2V0RWRpdGluZ0RlbGVnYXRlOihpZCA8V0tX
ZWJQcm9jZXNzUGx1Z0luRWRpdGluZ0RlbGVnYXRlPillZGl0aW5nRGVsZWcKICAgICAgICAgICAg
ICwgbV9kZWxlZ2F0ZU1ldGhvZHMgeyBtX2NvbnRyb2xsZXItPl9lZGl0aW5nRGVsZWdhdGUuZ2V0
KCkgfQogICAgICAgICB7CiAgICAgICAgIH0KLQogICAgIHByaXZhdGU6CisgICAgICAgIGJvb2wg
c2hvdWxkSW5zZXJ0VGV4dChXZWJQYWdlJiwgU3RyaW5nSW1wbCogdGV4dCwgUmFuZ2UqIHJhbmdl
VG9SZXBsYWNlLCBFZGl0b3JJbnNlcnRBY3Rpb24gYWN0aW9uKSBmaW5hbAorICAgICAgICB7Cisg
ICAgICAgICAgICBpZiAoIW1fZGVsZWdhdGVNZXRob2RzLnNob3VsZEluc2VydFRleHQpCisgICAg
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAgICAgICAgIFdLRWRpdG9ySW5zZXJ0QWN0
aW9uIGFwaUFjdGlvbjsKKyAgICAgICAgICAgIHN3aXRjaCAoYWN0aW9uKSB7CisgICAgICAgICAg
ICBjYXNlIEVkaXRvckluc2VydEFjdGlvblR5cGVkOgorICAgICAgICAgICAgICAgIGFwaUFjdGlv
biA9IFdLRWRpdG9ySW5zZXJ0QWN0aW9uVHlwZWQ7CisgICAgICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgICAgICBjYXNlIEVkaXRvckluc2VydEFjdGlvblBhc3RlZDoKKyAgICAgICAgICAgICAg
ICBhcGlBY3Rpb24gPSBXS0VkaXRvckluc2VydEFjdGlvblBhc3RlZDsKKyAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgRWRpdG9ySW5zZXJ0QWN0aW9uRHJvcHBlZDoKKyAg
ICAgICAgICAgICAgICBhcGlBY3Rpb24gPSBXS0VkaXRvckluc2VydEFjdGlvbkRyb3BwZWQ7Cisg
ICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHJldHVy
biBbbV9jb250cm9sbGVyLT5fZWRpdGluZ0RlbGVnYXRlLmdldCgpIF93ZWJQcm9jZXNzUGx1Z0lu
QnJvd3NlckNvbnRleHRDb250cm9sbGVyOm1fY29udHJvbGxlciBzaG91bGRJbnNlcnRUZXh0OlN0
cmluZyh0ZXh0KSByZXBsYWNpbmdSYW5nZTp3cmFwcGVyKCpJbmplY3RlZEJ1bmRsZVJhbmdlSGFu
ZGxlOjpnZXRPckNyZWF0ZShyYW5nZVRvUmVwbGFjZSkuZ2V0KCkpIGdpdmVuQWN0aW9uOmFwaUFj
dGlvbl07CisgICAgICAgIH0KKwogICAgICAgICB2b2lkIHdpbGxXcml0ZVRvUGFzdGVib2FyZChX
ZWJLaXQ6OldlYlBhZ2UmLCBXZWJDb3JlOjpSYW5nZSogcmFuZ2UpIGZpbmFsCiAgICAgICAgIHsK
ICAgICAgICAgICAgIGlmICghbV9kZWxlZ2F0ZU1ldGhvZHMud2lsbFdyaXRlVG9QYXN0ZWJvYXJk
KQpAQCAtNjE3LDEyICs2MzcsMTQgQEAgLSAodm9pZClfc2V0RWRpdGluZ0RlbGVnYXRlOihpZCA8
V0tXZWJQcm9jZXNzUGx1Z0luRWRpdGluZ0RlbGVnYXRlPillZGl0aW5nRGVsZWcKICAgICAgICAg
V0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyICptX2NvbnRyb2xsZXI7
CiAgICAgICAgIGNvbnN0IHN0cnVjdCBEZWxlZ2F0ZU1ldGhvZHMgewogICAgICAgICAgICAgRGVs
ZWdhdGVNZXRob2RzKFJldGFpblB0cjxpZCA8V0tXZWJQcm9jZXNzUGx1Z0luRWRpdGluZ0RlbGVn
YXRlPj4gZGVsZWdhdGUpCi0gICAgICAgICAgICAgICAgOiB3aWxsV3JpdGVUb1Bhc3RlYm9hcmQo
W2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlByb2Nlc3NQbHVnSW5C
cm93c2VyQ29udGV4dENvbnRyb2xsZXI6d2lsbFdyaXRlUmFuZ2VUb1Bhc3RlYm9hcmQ6KV0pCisg
ICAgICAgICAgICAgICAgOiBzaG91bGRJbnNlcnRUZXh0KFtkZWxlZ2F0ZSByZXNwb25kc1RvU2Vs
ZWN0b3I6QHNlbGVjdG9yKF93ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVy
OnNob3VsZEluc2VydFRleHQ6cmVwbGFjaW5nUmFuZ2U6Z2l2ZW5BY3Rpb246KV0pCisgICAgICAg
ICAgICAgICAgLCB3aWxsV3JpdGVUb1Bhc3RlYm9hcmQoW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxl
Y3RvcjpAc2VsZWN0b3IoX3dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6
d2lsbFdyaXRlUmFuZ2VUb1Bhc3RlYm9hcmQ6KV0pCiAgICAgICAgICAgICAgICAgLCBnZXRQYXN0
ZWJvYXJkRGF0YUZvclJhbmdlKFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9y
KF93ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOnBhc3RlYm9hcmREYXRh
Rm9yUmFuZ2U6KV0pCiAgICAgICAgICAgICAgICAgLCBkaWRXcml0ZVRvUGFzdGVib2FyZChbZGVs
ZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViUHJvY2Vzc1BsdWdJbkJyb3dz
ZXJDb250ZXh0Q29udHJvbGxlckRpZFdyaXRlVG9QYXN0ZWJvYXJkOildKQogICAgICAgICAgICAg
ewogICAgICAgICAgICAgfQogCisgICAgICAgICAgICBib29sIHNob3VsZEluc2VydFRleHQ7CiAg
ICAgICAgICAgICBib29sIHdpbGxXcml0ZVRvUGFzdGVib2FyZDsKICAgICAgICAgICAgIGJvb2wg
Z2V0UGFzdGVib2FyZERhdGFGb3JSYW5nZTsKICAgICAgICAgICAgIGJvb2wgZGlkV3JpdGVUb1Bh
c3RlYm9hcmQ7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cK
aW5kZXggMTFjYjM2YzI4ODQyMThiNDY0MjM2Y2MyZmNkY2YzYTk0MjJmZmNlZC4uMmI4ZGUxM2Zk
NDYzYTdiZDdkNTkwMWJiY2MxNjAzMDQ0ODFhNDY1MiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdl
TG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE2LTEyLTEyICBB
bmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIEltcGxlbWVu
dCAtc2hvdWxkSW5zZXJ0VGV4dDogb24gV0tXZWJQcm9jZXNzUGx1Z0luRWRpdGluZ0RlbGVnYXRl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjU3ODUK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI2OTI5Mzk4PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQy
Q29jb2EvQnVuZGxlRWRpdGluZ0RlbGVnYXRlLm1tOgorICAgICAgICAoLVtCdW5kbGVFZGl0aW5n
RGVsZWdhdGVSZW1vdGVPYmplY3Qgc2hvdWxkSW5zZXJ0VGV4dDpyZXBsYWNpbmdSYW5nZTpnaXZl
bkFjdGlvbjpdKTogQWRkZWQKKyAgICAgICAgZXhwZWN0YXRpb25zIGZvciB0aGUgdGV4dCwgcmFu
Z2UsIGFuZCBhY3Rpb24uCisgICAgICAgIChURVNUKTogU2V0IHRoZSAiRWRpdGluZ0RlbGVnYXRl
U2hvdWxkSW5zZXJ0VGV4dCIgYnVuZGxlIHBhcmFtZXRlciB0byBOTyBzbyB0aGF0IHRoZSBwbHVn
LWluCisgICAgICAgIHdpbGwgcmV0dXJuIE5PIGluIC1fd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJD
b250ZXh0Q29udHJvbGxlcjp3aWxsSW5zZXJ0VGV4dDouIEFkZGVkIGEKKyAgICAgICAgcGxhaW4t
dGV4dCBzdHJpbmcgdG8gdGhlIHBhc3RlYm9hcmQsIGV4ZWN1dGVkIGEgcGFzdGUgYWN0aW9uLCBh
bmQgdmVyaWZpZWQgdGhhdCB0aGUgc2VsZWN0ZWQKKyAgICAgICAgdGV4dCBpbiB0aGUgd2ViIHZp
ZXcgZGlkIG5vdCBjaGFuZ2UuCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQy
Q29jb2EvQnVuZGxlRWRpdGluZ0RlbGVnYXRlUGx1Z0luLm1tOgorICAgICAgICAoLVtCdW5kbGVF
ZGl0aW5nRGVsZWdhdGVQbHVnSW4gd2ViUHJvY2Vzc1BsdWdJbjpkaWRDcmVhdGVCcm93c2VyQ29u
dGV4dENvbnRyb2xsZXI6XSk6IFNldAorICAgICAgICBfZWRpdGluZ0RlbGVnYXRlU2hvdWxkSW5z
ZXJ0VGV4dCBhY2NvcmRpbmcgdG8gdGhlICJFZGl0aW5nRGVsZWdhdGVTaG91bGRJbnNlcnRUZXh0
IiBidW5kbGUKKyAgICAgICAgcGFyYW1ldGVyLgorICAgICAgICAoLVtCdW5kbGVFZGl0aW5nRGVs
ZWdhdGVQbHVnSW4gX3dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6c2hv
dWxkSW5zZXJ0VGV4dDpyZXBsYWNpbmdSYW5nZTpnaXZlbkFjdGlvbjpdKToKKyAgICAgICAgQWRk
ZWQuIENhbGxlZCAtc2hvdWxkSW5zZXJ0VGV4dDpyZXBsYWNpbmdSYW5nZTpnaXZlbkFjdGlvbjog
b24gdGhlIHJlbW90ZSBvYmplY3QgcHJveHkKKyAgICAgICAgYW5kIHJldHVybmVkIHRoZSB2YWx1
ZSBvZiBfZWRpdGluZ0RlbGVnYXRlU2hvdWxkSW5zZXJ0VGV4dC4KKyAgICAgICAgKiBUZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9CdW5kbGVFZGl0aW5nRGVsZWdhdGVQcm90b2NvbC5o
OiBEZWNsYXJlZAorICAgICAgICAtc2hvdWxkSW5zZXJ0VGV4dDpyZXBsYWNpbmdSYW5nZTpnaXZl
bkFjdGlvbjouCisKIDIwMTYtMTItMDggIERhdmUgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAK
ICAgICAgICAgW0NTUyBQYXJzZXJdIFJlbW92ZSB0aGUgb2xkIENTUyBQYXJzZXIKZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0J1bmRsZUVkaXRpbmdE
ZWxlZ2F0ZS5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0J1bmRs
ZUVkaXRpbmdEZWxlZ2F0ZS5tbQppbmRleCAyMmExZGM4YTNjMjgwZTVmMWYyZmNlMjg4ZmMwYmEy
YTg2NzUxYTk4Li45YzQwOTkyMDU2MDM2YzljOGM2YjA0NzYyYmFmOTk1NzY0Y2ZiZjc1IDEwMDY0
NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9CdW5kbGVFZGl0
aW5nRGVsZWdhdGUubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29j
b2EvQnVuZGxlRWRpdGluZ0RlbGVnYXRlLm1tCkBAIC0zNSwxMSArMzUsMTMgQEAKICNpbXBvcnQg
IlRlc3QuaCIKICNpbXBvcnQgIlRlc3ROYXZpZ2F0aW9uRGVsZWdhdGUuaCIKICNpbXBvcnQgIldL
V2ViVmlld0NvbmZpZ3VyYXRpb25FeHRyYXMuaCIKKyNpbXBvcnQgPFdlYktpdC9XS1Byb2Nlc3NQ
b29sUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGUuaD4KICNpbXBv
cnQgPFdlYktpdC9fV0tSZW1vdGVPYmplY3RJbnRlcmZhY2UuaD4KICNpbXBvcnQgPFdlYktpdC9f
V0tSZW1vdGVPYmplY3RSZWdpc3RyeS5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCitz
dGF0aWMgYm9vbCBzaG91bGRJbnNlcnRUZXh0Q2FsbGVkOwogc3RhdGljIGJvb2wgd2lsbFdyaXRl
VG9QYXN0ZWJvYXJkOwogc3RhdGljIGJvb2wgZGlkV3JpdGVUb1Bhc3RlYm9hcmQ7CiAKQEAgLTQ4
LDYgKzUwLDE0IEBAIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIEJ1bmRsZUVkaXRpbmdEZWxlZ2F0
ZVJlbW90ZU9iamVjdAogCistICh2b2lkKXNob3VsZEluc2VydFRleHQ6KE5TU3RyaW5nICopdGV4
dCByZXBsYWNpbmdSYW5nZTooTlNTdHJpbmcgKilyYW5nZUFzU3RyaW5nIGdpdmVuQWN0aW9uOihX
S0VkaXRvckluc2VydEFjdGlvbilhY3Rpb24KK3sKKyAgICBFWFBFQ1RfV0tfU1RSRVEoImhlbGxv
IiwgdGV4dCk7CisgICAgRVhQRUNUX1dLX1NUUkVRKCJzb21ldGhpbmciLCByYW5nZUFzU3RyaW5n
KTsKKyAgICBFWFBFQ1RfRVEoV0tFZGl0b3JJbnNlcnRBY3Rpb25QYXN0ZWQsIGFjdGlvbik7Cisg
ICAgc2hvdWxkSW5zZXJ0VGV4dENhbGxlZCA9IHRydWU7Cit9CisKIC0gKHZvaWQpd2lsbFdyaXRl
VG9QYXN0ZWJvYXJkOihOU1N0cmluZyAqKXJhbmdlQXNTdHJpbmcKIHsKICAgICB3aWxsV3JpdGVU
b1Bhc3RlYm9hcmQgPSB0cnVlOwpAQCAtNjQsMTAgKzc0LDExIEBAIEBlbmQKIFRFU1QoV2ViS2l0
MiwgV0tXZWJQcm9jZXNzUGx1Z0luRWRpdGluZ0RlbGVnYXRlKQogewogICAgIFJldGFpblB0cjxX
S1dlYlZpZXdDb25maWd1cmF0aW9uPiBjb25maWd1cmF0aW9uID0gcmV0YWluUHRyKFtXS1dlYlZp
ZXdDb25maWd1cmF0aW9uIHRlc3R3ZWJraXRhcGlfY29uZmlndXJhdGlvbldpdGhUZXN0UGx1Z0lu
Q2xhc3NOYW1lOkAiQnVuZGxlRWRpdGluZ0RlbGVnYXRlUGx1Z0luIl0pOworICAgIFtbY29uZmln
dXJhdGlvbiBwcm9jZXNzUG9vbF0gX3NldE9iamVjdDpbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6
Tk9dIGZvckJ1bmRsZVBhcmFtZXRlcjpAIkVkaXRpbmdEZWxlZ2F0ZVNob3VsZEluc2VydFRleHQi
XTsKICAgICAKICAgICBSZXRhaW5QdHI8V0tXZWJWaWV3PiB3ZWJWaWV3ID0gYWRvcHROUyhbW1dL
V2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBj
b25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCldKTsKIAotICAgIFt3ZWJWaWV3IGxvYWRI
VE1MU3RyaW5nOkAiSnVzdCBzb21ldGhpbmcgdG8gY29weSA8c2NyaXB0PiB2YXIgdGV4dE5vZGUg
PSBkb2N1bWVudC5ib2R5LmZpcnN0Q2hpbGQ7IGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnNldEJh
c2VBbmRFeHRlbnQodGV4dE5vZGUsIDUsIHRleHROb2RlLCAxNCkgPC9zY3JpcHQ+IiBiYXNlVVJM
Om5pbF07CisgICAgW3dlYlZpZXcgbG9hZEhUTUxTdHJpbmc6QCI8Ym9keSBzdHlsZT0nLXdlYmtp
dC11c2VyLW1vZGlmeTogcmVhZC13cml0ZS1wbGFpbnRleHQtb25seSc+SnVzdCBzb21ldGhpbmcg
dG8gY29weSA8c2NyaXB0PiB2YXIgdGV4dE5vZGUgPSBkb2N1bWVudC5ib2R5LmZpcnN0Q2hpbGQ7
IGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQodGV4dE5vZGUsIDUsIHRl
eHROb2RlLCAxNCkgPC9zY3JpcHQ+IiBiYXNlVVJMOm5pbF07CiAgICAgW3dlYlZpZXcgX3Rlc3Rf
d2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOwogCiAgICAgUmV0YWluUHRyPEJ1bmRsZUVkaXRp
bmdEZWxlZ2F0ZVJlbW90ZU9iamVjdD4gb2JqZWN0ID0gYWRvcHROUyhbW0J1bmRsZUVkaXRpbmdE
ZWxlZ2F0ZVJlbW90ZU9iamVjdCBhbGxvY10gaW5pdF0pOwpAQCAtNzcsMTEgKzg4LDMzIEBAIFRF
U1QoV2ViS2l0MiwgV0tXZWJQcm9jZXNzUGx1Z0luRWRpdGluZ0RlbGVnYXRlKQogICAgIFt3ZWJW
aWV3IHBlcmZvcm1TZWxlY3RvcjpAc2VsZWN0b3IoY29weTopIHdpdGhPYmplY3Q6bmlsXTsKIAog
ICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZGlkV3JpdGVUb1Bhc3RlYm9hcmQpOworCisg
ICAgTlNTdHJpbmcgKmNvcGllZFN0cmluZyA9IG5pbDsKICNpZiBQTEFURk9STShNQUMpCi0gICAg
RVhQRUNUX1NUUkVRKCJoZWxsbyIsIFtbTlNQYXN0ZWJvYXJkIGdlbmVyYWxQYXN0ZWJvYXJkXSBz
dHJpbmdGb3JUeXBlOkAib3JnLndlYmtpdC5kYXRhIl0uVVRGOFN0cmluZyk7CisgICAgY29waWVk
U3RyaW5nID0gW1tOU1Bhc3RlYm9hcmQgZ2VuZXJhbFBhc3RlYm9hcmRdIHN0cmluZ0ZvclR5cGU6
QCJvcmcud2Via2l0LmRhdGEiXTsKICNlbGlmIFBMQVRGT1JNKElPUykKLSAgICBFWFBFQ1RfVFJV
RShbW1tVSVBhc3RlYm9hcmQgZ2VuZXJhbFBhc3RlYm9hcmRdIGRhdGFGb3JQYXN0ZWJvYXJkVHlw
ZTpAIm9yZy53ZWJraXQuZGF0YSJdIGlzRXF1YWw6W0AiaGVsbG8iIGRhdGFVc2luZ0VuY29kaW5n
Ok5TVVRGOFN0cmluZ0VuY29kaW5nXV0pOworICAgIGNvcGllZFN0cmluZyA9IFtbW05TU3RyaW5n
IGFsbG9jXSBpbml0V2l0aERhdGE6W1tVSVBhc3RlYm9hcmQgZ2VuZXJhbFBhc3RlYm9hcmRdIGRh
dGFGb3JQYXN0ZWJvYXJkVHlwZTpAIm9yZy53ZWJraXQuZGF0YSJdIGVuY29kaW5nOk5TVVRGOFN0
cmluZ0VuY29kaW5nXSBhdXRvcmVsZWFzZV07CiAjZW5kaWYKKyAgICBFWFBFQ1RfV0tfU1RSRVEo
ImhlbGxvIiwgY29waWVkU3RyaW5nKTsKKworI2lmIFBMQVRGT1JNKE1BQykKKyAgICBbW05TUGFz
dGVib2FyZCBnZW5lcmFsUGFzdGVib2FyZF0gc2V0U3RyaW5nOmNvcGllZFN0cmluZyBmb3JUeXBl
OkAicHVibGljLnV0ZjgtcGxhaW4tdGV4dCJdOworI2VsaWYgUExBVEZPUk0oSU9TKQorICAgIFtb
VUlQYXN0ZWJvYXJkIGdlbmVyYWxQYXN0ZWJvYXJkXSBzZXRWYWx1ZTpjb3BpZWRTdHJpbmcgZm9y
UGFzdGVib2FyZFR5cGU6QCJwdWJsaWMudXRmOC1wbGFpbi10ZXh0Il07CisjZW5kaWYKKyAgICBb
d2ViVmlldyBwZXJmb3JtU2VsZWN0b3I6QHNlbGVjdG9yKHBhc3RlOikgd2l0aE9iamVjdDpuaWxd
OworCisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZzaG91bGRJbnNlcnRUZXh0Q2FsbGVk
KTsKKworICAgIF9fYmxvY2sgYm9vbCBkb25lRXZhbHVhdGluZ0phdmFTY3JpcHQgPSBmYWxzZTsK
KyAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJkb2N1bWVudC5ib2R5LmZpcnN0Q2hp
bGQudGV4dENvbnRlbnQiIGNvbXBsZXRpb25IYW5kbGVyOl4oaWQgX051bGxhYmxlIHZhbHVlLCBO
U0Vycm9yICogX051bGxhYmxlIGVycm9yKSB7CisgICAgICAgIEVYUEVDVF9OVUxMKGVycm9yKTsK
KyAgICAgICAgRVhQRUNUX1RSVUUoW3ZhbHVlIGlzS2luZE9mQ2xhc3M6W05TU3RyaW5nIGNsYXNz
XV0pOworICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoIkp1c3Qgc29tZXRoaW5nIHRvIGNvcHkgIiwg
KE5TU3RyaW5nICopdmFsdWUpOworICAgICAgICBkb25lRXZhbHVhdGluZ0phdmFTY3JpcHQgPSB0
cnVlOworICAgIH1dOworCisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lRXZhbHVh
dGluZ0phdmFTY3JpcHQpOwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0J1bmRsZUVkaXRpbmdEZWxlZ2F0ZVBsdWdJbi5tbSBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0J1bmRsZUVkaXRpbmdEZWxl
Z2F0ZVBsdWdJbi5tbQppbmRleCA1NWQxMWViOWJkNGYxYWQ1MTY3MGE3NjRhOTQ5YjA3Y2U3ZTZk
NDFiLi5mMzc5OTkxYjU0OThmYmUxZjFhMWY5Yjg0ZTJjYmRmOWM5ZWVhZTk2IDEwMDY0NAotLS0g
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9CdW5kbGVFZGl0aW5nRGVs
ZWdhdGVQbHVnSW4ubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29j
b2EvQnVuZGxlRWRpdGluZ0RlbGVnYXRlUGx1Z0luLm1tCkBAIC00NSw2ICs0NSw3IEBAIEBpbXBs
ZW1lbnRhdGlvbiBCdW5kbGVFZGl0aW5nRGVsZWdhdGVQbHVnSW4gewogICAgIFJldGFpblB0cjxX
S1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI+IF9icm93c2VyQ29udGV4
dENvbnRyb2xsZXI7CiAgICAgUmV0YWluUHRyPFdLV2ViUHJvY2Vzc1BsdWdJbkNvbnRyb2xsZXI+
IF9wbHVnSW5Db250cm9sbGVyOwogICAgIFJldGFpblB0cjxpZCA8QnVuZGxlRWRpdGluZ0RlbGVn
YXRlUHJvdG9jb2w+PiBfcmVtb3RlT2JqZWN0OworICAgIEJPT0wgX2VkaXRpbmdEZWxlZ2F0ZVNo
b3VsZEluc2VydFRleHQ7CiB9CiAKIC0gKHZvaWQpd2ViUHJvY2Vzc1BsdWdJbjooV0tXZWJQcm9j
ZXNzUGx1Z0luQ29udHJvbGxlciAqKXBsdWdJbkNvbnRyb2xsZXIgZGlkQ3JlYXRlQnJvd3NlckNv
bnRleHRDb250cm9sbGVyOihXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xs
ZXIgKilicm93c2VyQ29udGV4dENvbnRyb2xsZXIKQEAgLTU0LDEyICs1NSwyNSBAQCAtICh2b2lk
KXdlYlByb2Nlc3NQbHVnSW46KFdLV2ViUHJvY2Vzc1BsdWdJbkNvbnRyb2xsZXIgKilwbHVnSW5D
b250cm9sbGVyIGRpZENyZQogICAgIF9icm93c2VyQ29udGV4dENvbnRyb2xsZXIgPSBicm93c2Vy
Q29udGV4dENvbnRyb2xsZXI7CiAgICAgX3BsdWdJbkNvbnRyb2xsZXIgPSBwbHVnSW5Db250cm9s
bGVyOwogCisgICAgaWYgKGlkIHNob3VsZEluc2VydFRleHQgPSBbcGx1Z0luQ29udHJvbGxlci5w
YXJhbWV0ZXJzIHZhbHVlRm9yS2V5OkAiRWRpdGluZ0RlbGVnYXRlU2hvdWxkSW5zZXJ0VGV4dCJd
KSB7CisgICAgICAgIEFTU0VSVChbc2hvdWxkSW5zZXJ0VGV4dCBpc0tpbmRPZkNsYXNzOltOU051
bWJlciBjbGFzc11dKTsKKyAgICAgICAgX2VkaXRpbmdEZWxlZ2F0ZVNob3VsZEluc2VydFRleHQg
PSBbKE5TTnVtYmVyICopc2hvdWxkSW5zZXJ0VGV4dCBib29sVmFsdWVdOworICAgIH0gZWxzZQor
ICAgICAgICBfZWRpdGluZ0RlbGVnYXRlU2hvdWxkSW5zZXJ0VGV4dCA9IFlFUzsKKwogICAgIF9X
S1JlbW90ZU9iamVjdEludGVyZmFjZSAqaW50ZXJmYWNlID0gW19XS1JlbW90ZU9iamVjdEludGVy
ZmFjZSByZW1vdGVPYmplY3RJbnRlcmZhY2VXaXRoUHJvdG9jb2w6QHByb3RvY29sKEJ1bmRsZUVk
aXRpbmdEZWxlZ2F0ZVByb3RvY29sKV07CiAgICAgX3JlbW90ZU9iamVjdCA9IFticm93c2VyQ29u
dGV4dENvbnRyb2xsZXIuX3JlbW90ZU9iamVjdFJlZ2lzdHJ5IHJlbW90ZU9iamVjdFByb3h5V2l0
aEludGVyZmFjZTppbnRlcmZhY2VdOwogCiAgICAgW19icm93c2VyQ29udGV4dENvbnRyb2xsZXIg
X3NldEVkaXRpbmdEZWxlZ2F0ZTpzZWxmXTsKIH0KIAorLSAoQk9PTClfd2ViUHJvY2Vzc1BsdWdJ
bkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjooV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRl
eHRDb250cm9sbGVyICopY29udHJvbGxlciBzaG91bGRJbnNlcnRUZXh0Oihub25udWxsIE5TU3Ry
aW5nICopdGV4dCByZXBsYWNpbmdSYW5nZToobm9ubnVsbCBXS1dlYlByb2Nlc3NQbHVnSW5SYW5n
ZUhhbmRsZSAqKXJhbmdlIGdpdmVuQWN0aW9uOihXS0VkaXRvckluc2VydEFjdGlvbilhY3Rpb24K
K3sKKyAgICBKU1ZhbHVlICpqc1JhbmdlID0gW3JhbmdlLmZyYW1lIGpzUmFuZ2VGb3JSYW5nZUhh
bmRsZTpyYW5nZSBpbldvcmxkOltXS1dlYlByb2Nlc3NQbHVnSW5TY3JpcHRXb3JsZCBub3JtYWxX
b3JsZF1dOworICAgIFtfcmVtb3RlT2JqZWN0IHNob3VsZEluc2VydFRleHQ6dGV4dCByZXBsYWNp
bmdSYW5nZTpbanNSYW5nZSB0b1N0cmluZ10gZ2l2ZW5BY3Rpb246YWN0aW9uXTsKKyAgICByZXR1
cm4gX2VkaXRpbmdEZWxlZ2F0ZVNob3VsZEluc2VydFRleHQ7Cit9CisKIC0gKHZvaWQpX3dlYlBy
b2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6KFdLV2ViUHJvY2Vzc1BsdWdJbkJy
b3dzZXJDb250ZXh0Q29udHJvbGxlciAqKWNvbnRyb2xsZXIgd2lsbFdyaXRlUmFuZ2VUb1Bhc3Rl
Ym9hcmQ6KFdLV2ViUHJvY2Vzc1BsdWdJblJhbmdlSGFuZGxlICopcmFuZ2UKIHsKICAgICBKU1Zh
bHVlICpqc1JhbmdlID0gW3JhbmdlLmZyYW1lIGpzUmFuZ2VGb3JSYW5nZUhhbmRsZTpyYW5nZSBp
bldvcmxkOltXS1dlYlByb2Nlc3NQbHVnSW5TY3JpcHRXb3JsZCBub3JtYWxXb3JsZF1dOwpkaWZm
IC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvQnVuZGxlRWRp
dGluZ0RlbGVnYXRlUHJvdG9jb2wuaCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
MkNvY29hL0J1bmRsZUVkaXRpbmdEZWxlZ2F0ZVByb3RvY29sLmgKaW5kZXggZWQ3ODk4ZDliZDA3
ZmRlMjhhYTFjODdlNmQzOGQ5Zjk4NWM4NDFlYS4uNTI4YWZhMGU5NWQ0ZjdmMDlmODBhYTBiZGEw
YTc3MWNkYWE5MGQxYSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQyQ29jb2EvQnVuZGxlRWRpdGluZ0RlbGVnYXRlUHJvdG9jb2wuaAorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9CdW5kbGVFZGl0aW5nRGVsZWdhdGVQcm90b2Nv
bC5oCkBAIC0yNyw4ICsyNywxMSBAQAogCiAjaWYgV0tfQVBJX0VOQUJMRUQKIAorI2ltcG9ydCA8
V2ViS2l0L1dLV2ViUHJvY2Vzc1BsdWdJbkVkaXRpbmdEZWxlZ2F0ZS5oPgorCiBAcHJvdG9jb2wg
QnVuZGxlRWRpdGluZ0RlbGVnYXRlUHJvdG9jb2wgPE5TT2JqZWN0PgogCistICh2b2lkKXNob3Vs
ZEluc2VydFRleHQ6KE5TU3RyaW5nICopdGV4dCByZXBsYWNpbmdSYW5nZTooTlNTdHJpbmcgKily
YW5nZUFzU3RyaW5nIGdpdmVuQWN0aW9uOihXS0VkaXRvckluc2VydEFjdGlvbilhY3Rpb247CiAt
ICh2b2lkKXdpbGxXcml0ZVRvUGFzdGVib2FyZDooTlNTdHJpbmcgKilyYW5nZUFzU3RyaW5nOwog
LSAodm9pZClkaWRXcml0ZVRvUGFzdGVib2FyZDsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>296974</attachid>
            <date>2016-12-12 17:48:19 -0800</date>
            <delta_ts>2016-12-13 11:30:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165785-20161212174731.patch</filename>
            <type>text/plain</type>
            <size>15326</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5Njc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNTYzNTZhN2U2N2M4ZTRl
NGI1NGZiZjM3Nzc0N2M3NDI0N2Q5YjQ2ZS4uM2IwNzhjNWVmODc4ZmI5YmU1MjQ0ZTcxZjNhOTE2
M2IxN2ZjY2RhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE2LTEyLTEyICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIEltcGxlbWVudCAt
c2hvdWxkSW5zZXJ0VGV4dDogb24gV0tXZWJQcm9jZXNzUGx1Z0luRWRpdGluZ0RlbGVnYXRlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjU3ODUKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI2OTI5Mzk4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Q29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luRWRpdGluZ0RlbGVnYXRlLmg6IERlZmluZWQKKyAgICAg
ICAgV0tFZGl0b3JJbnNlcnRBY3Rpb24gYW5kCisgICAgICAgIC1fd2ViUHJvY2Vzc1BsdWdJbkJy
b3dzZXJDb250ZXh0Q29udHJvbGxlcjpzaG91bGRJbnNlcnRUZXh0OnJlcGxhY2luZ1JhbmdlOmdp
dmVuQWN0aW9uOi4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMv
V0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLm1tOgorICAgICAgICAo
LVtXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgX3NldEVkaXRpbmdE
ZWxlZ2F0ZTpdKTogSW1wbGVtZW50ZWQKKyAgICAgICAgRWRpdG9yQ2xpZW50OjpzaG91bGRJbnNl
cnRUZXh0KCkgYnkgbWFwcGluZyB0aGUgRWRpdG9ySW5zZXJ0QWN0aW9uIHBhcmFtZXRlciB0byBh
CisgICAgICAgIFdLRWRpdG9ySW5zZXJ0QWN0aW9uIGFuZCBjYWxsaW5nCisgICAgICAgIC1fd2Vi
UHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpzaG91bGRJbnNlcnRUZXh0OnJl
cGxhY2luZ1JhbmdlOmdpdmVuQWN0aW9uOiB3aXRoCisgICAgICAgIHRoZSB0ZXh0LCB3cmFwcGVk
IHJhbmdlIGhhbmRsZSwgYW5kIGFjdGlvbi4KKwogMjAxNi0xMi0xMCAgS29uc3RhbnRpbiBUb2th
cmV2ICA8YW5udWxlbkB5YW5kZXgucnU+CiAKICAgICAgICAgW2NtYWtlXSBJbmNsdWRlIFdURiwg
SlNDLCBhbmQgV2ViQ29yZSBoZWFkZXJzIGF1dG9tYXRpY2FsbHkgdG8gdGFyZ2VycyB1c2luZyB0
aGVtCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5FZGl0aW5nRGVsZWdhdGUuaCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1Bs
dWdJbkVkaXRpbmdEZWxlZ2F0ZS5oCmluZGV4IGQ1MzI1MDVhZjBlNjA3ZTQ2ZWMwNDE2ZmZhYTA5
MzkxYjJiYTdkYTUuLjA0NzY3NTZkZjhhYWZhODhjZTk4ZDdkZTIwZDdmY2E3YTRjYWNmNzEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0Nv
Y29hL1dLV2ViUHJvY2Vzc1BsdWdJbkVkaXRpbmdEZWxlZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJ
bkVkaXRpbmdEZWxlZ2F0ZS5oCkBAIC0zMiwxMSArMzIsMTggQEAKIAogTlNfQVNTVU1FX05PTk5V
TExfQkVHSU4KIAordHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgV0tFZGl0b3JJbnNlcnRBY3Rp
b24pIHsKKyAgICBXS0VkaXRvckluc2VydEFjdGlvblR5cGVkLAorICAgIFdLRWRpdG9ySW5zZXJ0
QWN0aW9uUGFzdGVkLAorICAgIFdLRWRpdG9ySW5zZXJ0QWN0aW9uRHJvcHBlZCwKK30gV0tfQVBJ
X0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpCiBAcHJvdG9j
b2wgV0tXZWJQcm9jZXNzUGx1Z0luRWRpdGluZ0RlbGVnYXRlIDxOU09iamVjdD4KIAogQG9wdGlv
bmFsCiAKKy0gKEJPT0wpX3dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6
KFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlciAqKWNvbnRyb2xsZXIg
c2hvdWxkSW5zZXJ0VGV4dDooTlNTdHJpbmcgKil0ZXh0IHJlcGxhY2luZ1JhbmdlOihXS1dlYlBy
b2Nlc3NQbHVnSW5SYW5nZUhhbmRsZSAqKXJhbmdlIGdpdmVuQWN0aW9uOihXS0VkaXRvckluc2Vy
dEFjdGlvbilhY3Rpb247CiAtICh2b2lkKV93ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRD
b250cm9sbGVyOihXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgKilj
b250cm9sbGVyIHdpbGxXcml0ZVJhbmdlVG9QYXN0ZWJvYXJkOihXS1dlYlByb2Nlc3NQbHVnSW5S
YW5nZUhhbmRsZSAqKXJhbmdlOwogLSAoTlNEaWN0aW9uYXJ5PE5TU3RyaW5nICosIE5TRGF0YSAq
PiAqKV93ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOihXS1dlYlByb2Nl
c3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgKiljb250cm9sbGVyIHBhc3RlYm9hcmRE
YXRhRm9yUmFuZ2U6KFdLV2ViUHJvY2Vzc1BsdWdJblJhbmdlSGFuZGxlICopcmFuZ2U7CiAtICh2
b2lkKV93ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyRGlkV3JpdGVUb1Bh
c3RlYm9hcmQ6KFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlciAqKWNv
bnRyb2xsZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVy
Lm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dL
V2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlci5tbQppbmRleCAwZjgwNTk2
MzcxMTEwMmMyODZhNTgwNDg2MjVhYmRlMDg0YzViNTYwLi4yOTlmZGJmZjBkOGJhMzM2MDM1OWEx
OTJlMjdlN2FmNGRjYzdjMzlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRD
b250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIubW0K
QEAgLTU4Niw2ICs1ODYsMjcgQEAgLSAodm9pZClfc2V0RWRpdGluZ0RlbGVnYXRlOihpZCA8V0tX
ZWJQcm9jZXNzUGx1Z0luRWRpdGluZ0RlbGVnYXRlPillZGl0aW5nRGVsZWcKICAgICAgICAgfQog
CiAgICAgcHJpdmF0ZToKKyAgICAgICAgYm9vbCBzaG91bGRJbnNlcnRUZXh0KFdlYlBhZ2UmLCBT
dHJpbmdJbXBsKiB0ZXh0LCBSYW5nZSogcmFuZ2VUb1JlcGxhY2UsIEVkaXRvckluc2VydEFjdGlv
biBhY3Rpb24pIGZpbmFsCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICghbV9kZWxlZ2F0ZU1l
dGhvZHMuc2hvdWxkSW5zZXJ0VGV4dCkKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKwor
ICAgICAgICAgICAgV0tFZGl0b3JJbnNlcnRBY3Rpb24gd2tBY3Rpb247CisgICAgICAgICAgICBz
d2l0Y2ggKGFjdGlvbikgeworICAgICAgICAgICAgY2FzZSBFZGl0b3JJbnNlcnRBY3Rpb25UeXBl
ZDoKKyAgICAgICAgICAgICAgICB3a0FjdGlvbiA9IFdLRWRpdG9ySW5zZXJ0QWN0aW9uVHlwZWQ7
CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIEVkaXRvckluc2VydEFj
dGlvblBhc3RlZDoKKyAgICAgICAgICAgICAgICB3a0FjdGlvbiA9IFdLRWRpdG9ySW5zZXJ0QWN0
aW9uUGFzdGVkOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBFZGl0
b3JJbnNlcnRBY3Rpb25Ecm9wcGVkOgorICAgICAgICAgICAgICAgIHdrQWN0aW9uID0gV0tFZGl0
b3JJbnNlcnRBY3Rpb25Ecm9wcGVkOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICByZXR1cm4gW21fY29udHJvbGxlci0+X2VkaXRpbmdEZWxlZ2F0
ZS5nZXQoKSBfd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjptX2NvbnRy
b2xsZXIgc2hvdWxkSW5zZXJ0VGV4dDpTdHJpbmcodGV4dCkgcmVwbGFjaW5nUmFuZ2U6d3JhcHBl
cigqSW5qZWN0ZWRCdW5kbGVSYW5nZUhhbmRsZTo6Z2V0T3JDcmVhdGUocmFuZ2VUb1JlcGxhY2Up
KSBnaXZlbkFjdGlvbjp3a0FjdGlvbl07CisgICAgICAgIH0KKwogICAgICAgICB2b2lkIHdpbGxX
cml0ZVRvUGFzdGVib2FyZChXZWJLaXQ6OldlYlBhZ2UmLCBXZWJDb3JlOjpSYW5nZSogcmFuZ2Up
IGZpbmFsCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmICghbV9kZWxlZ2F0ZU1ldGhvZHMud2ls
bFdyaXRlVG9QYXN0ZWJvYXJkKQpAQCAtNjE3LDEyICs2MzgsMTQgQEAgLSAodm9pZClfc2V0RWRp
dGluZ0RlbGVnYXRlOihpZCA8V0tXZWJQcm9jZXNzUGx1Z0luRWRpdGluZ0RlbGVnYXRlPillZGl0
aW5nRGVsZWcKICAgICAgICAgV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9s
bGVyICptX2NvbnRyb2xsZXI7CiAgICAgICAgIGNvbnN0IHN0cnVjdCBEZWxlZ2F0ZU1ldGhvZHMg
ewogICAgICAgICAgICAgRGVsZWdhdGVNZXRob2RzKFJldGFpblB0cjxpZCA8V0tXZWJQcm9jZXNz
UGx1Z0luRWRpdGluZ0RlbGVnYXRlPj4gZGVsZWdhdGUpCi0gICAgICAgICAgICAgICAgOiB3aWxs
V3JpdGVUb1Bhc3RlYm9hcmQoW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Io
X3dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6d2lsbFdyaXRlUmFuZ2VU
b1Bhc3RlYm9hcmQ6KV0pCisgICAgICAgICAgICAgICAgOiBzaG91bGRJbnNlcnRUZXh0KFtkZWxl
Z2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJQcm9jZXNzUGx1Z0luQnJvd3Nl
ckNvbnRleHRDb250cm9sbGVyOnNob3VsZEluc2VydFRleHQ6cmVwbGFjaW5nUmFuZ2U6Z2l2ZW5B
Y3Rpb246KV0pCisgICAgICAgICAgICAgICAgLCB3aWxsV3JpdGVUb1Bhc3RlYm9hcmQoW2RlbGVn
YXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlByb2Nlc3NQbHVnSW5Ccm93c2Vy
Q29udGV4dENvbnRyb2xsZXI6d2lsbFdyaXRlUmFuZ2VUb1Bhc3RlYm9hcmQ6KV0pCiAgICAgICAg
ICAgICAgICAgLCBnZXRQYXN0ZWJvYXJkRGF0YUZvclJhbmdlKFtkZWxlZ2F0ZSByZXNwb25kc1Rv
U2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9s
bGVyOnBhc3RlYm9hcmREYXRhRm9yUmFuZ2U6KV0pCiAgICAgICAgICAgICAgICAgLCBkaWRXcml0
ZVRvUGFzdGVib2FyZChbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2Vi
UHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlckRpZFdyaXRlVG9QYXN0ZWJvYXJk
OildKQogICAgICAgICAgICAgewogICAgICAgICAgICAgfQogCisgICAgICAgICAgICBib29sIHNo
b3VsZEluc2VydFRleHQ7CiAgICAgICAgICAgICBib29sIHdpbGxXcml0ZVRvUGFzdGVib2FyZDsK
ICAgICAgICAgICAgIGJvb2wgZ2V0UGFzdGVib2FyZERhdGFGb3JSYW5nZTsKICAgICAgICAgICAg
IGJvb2wgZGlkV3JpdGVUb1Bhc3RlYm9hcmQ7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMTFjYjM2YzI4ODQyMThiNDY0MjM2Y2MyZmNkY2YzYTk0
MjJmZmNlZC4uMmI4ZGUxM2ZkNDYzYTdiZDdkNTkwMWJiY2MxNjAzMDQ0ODFhNDY1MiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4
IEBACisyMDE2LTEyLTEyICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAg
ICBbQ29jb2FdIEltcGxlbWVudCAtc2hvdWxkSW5zZXJ0VGV4dDogb24gV0tXZWJQcm9jZXNzUGx1
Z0luRWRpdGluZ0RlbGVnYXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjU3ODUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI2OTI5Mzk4PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvQnVuZGxlRWRpdGluZ0RlbGVnYXRlLm1tOgorICAgICAg
ICAoLVtCdW5kbGVFZGl0aW5nRGVsZWdhdGVSZW1vdGVPYmplY3Qgc2hvdWxkSW5zZXJ0VGV4dDpy
ZXBsYWNpbmdSYW5nZTpnaXZlbkFjdGlvbjpdKTogQWRkZWQKKyAgICAgICAgZXhwZWN0YXRpb25z
IGZvciB0aGUgdGV4dCwgcmFuZ2UsIGFuZCBhY3Rpb24uCisgICAgICAgIChURVNUKTogU2V0IHRo
ZSAiRWRpdGluZ0RlbGVnYXRlU2hvdWxkSW5zZXJ0VGV4dCIgYnVuZGxlIHBhcmFtZXRlciB0byBO
TyBzbyB0aGF0IHRoZSBwbHVnLWluCisgICAgICAgIHdpbGwgcmV0dXJuIE5PIGluIC1fd2ViUHJv
Y2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjp3aWxsSW5zZXJ0VGV4dDouIEFkZGVk
IGEKKyAgICAgICAgcGxhaW4tdGV4dCBzdHJpbmcgdG8gdGhlIHBhc3RlYm9hcmQsIGV4ZWN1dGVk
IGEgcGFzdGUgYWN0aW9uLCBhbmQgdmVyaWZpZWQgdGhhdCB0aGUgc2VsZWN0ZWQKKyAgICAgICAg
dGV4dCBpbiB0aGUgd2ViIHZpZXcgZGlkIG5vdCBjaGFuZ2UuCisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvQnVuZGxlRWRpdGluZ0RlbGVnYXRlUGx1Z0luLm1tOgor
ICAgICAgICAoLVtCdW5kbGVFZGl0aW5nRGVsZWdhdGVQbHVnSW4gd2ViUHJvY2Vzc1BsdWdJbjpk
aWRDcmVhdGVCcm93c2VyQ29udGV4dENvbnRyb2xsZXI6XSk6IFNldAorICAgICAgICBfZWRpdGlu
Z0RlbGVnYXRlU2hvdWxkSW5zZXJ0VGV4dCBhY2NvcmRpbmcgdG8gdGhlICJFZGl0aW5nRGVsZWdh
dGVTaG91bGRJbnNlcnRUZXh0IiBidW5kbGUKKyAgICAgICAgcGFyYW1ldGVyLgorICAgICAgICAo
LVtCdW5kbGVFZGl0aW5nRGVsZWdhdGVQbHVnSW4gX3dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29u
dGV4dENvbnRyb2xsZXI6c2hvdWxkSW5zZXJ0VGV4dDpyZXBsYWNpbmdSYW5nZTpnaXZlbkFjdGlv
bjpdKToKKyAgICAgICAgQWRkZWQuIENhbGxlZCAtc2hvdWxkSW5zZXJ0VGV4dDpyZXBsYWNpbmdS
YW5nZTpnaXZlbkFjdGlvbjogb24gdGhlIHJlbW90ZSBvYmplY3QgcHJveHkKKyAgICAgICAgYW5k
IHJldHVybmVkIHRoZSB2YWx1ZSBvZiBfZWRpdGluZ0RlbGVnYXRlU2hvdWxkSW5zZXJ0VGV4dC4K
KyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9CdW5kbGVFZGl0aW5n
RGVsZWdhdGVQcm90b2NvbC5oOiBEZWNsYXJlZAorICAgICAgICAtc2hvdWxkSW5zZXJ0VGV4dDpy
ZXBsYWNpbmdSYW5nZTpnaXZlbkFjdGlvbjouCisKIDIwMTYtMTItMDggIERhdmUgSHlhdHQgIDxo
eWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgW0NTUyBQYXJzZXJdIFJlbW92ZSB0aGUgb2xkIENT
UyBQYXJzZXIKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNv
Y29hL0J1bmRsZUVkaXRpbmdEZWxlZ2F0ZS5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0MkNvY29hL0J1bmRsZUVkaXRpbmdEZWxlZ2F0ZS5tbQppbmRleCAyMmExZGM4YTNjMjgw
ZTVmMWYyZmNlMjg4ZmMwYmEyYTg2NzUxYTk4Li45YzQwOTkyMDU2MDM2YzljOGM2YjA0NzYyYmFm
OTk1NzY0Y2ZiZjc1IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dDJDb2NvYS9CdW5kbGVFZGl0aW5nRGVsZWdhdGUubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQyQ29jb2EvQnVuZGxlRWRpdGluZ0RlbGVnYXRlLm1tCkBAIC0zNSwxMSAr
MzUsMTMgQEAKICNpbXBvcnQgIlRlc3QuaCIKICNpbXBvcnQgIlRlc3ROYXZpZ2F0aW9uRGVsZWdh
dGUuaCIKICNpbXBvcnQgIldLV2ViVmlld0NvbmZpZ3VyYXRpb25FeHRyYXMuaCIKKyNpbXBvcnQg
PFdlYktpdC9XS1Byb2Nlc3NQb29sUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmll
d1ByaXZhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9fV0tSZW1vdGVPYmplY3RJbnRlcmZhY2UuaD4K
ICNpbXBvcnQgPFdlYktpdC9fV0tSZW1vdGVPYmplY3RSZWdpc3RyeS5oPgogI2ltcG9ydCA8d3Rm
L1JldGFpblB0ci5oPgogCitzdGF0aWMgYm9vbCBzaG91bGRJbnNlcnRUZXh0Q2FsbGVkOwogc3Rh
dGljIGJvb2wgd2lsbFdyaXRlVG9QYXN0ZWJvYXJkOwogc3RhdGljIGJvb2wgZGlkV3JpdGVUb1Bh
c3RlYm9hcmQ7CiAKQEAgLTQ4LDYgKzUwLDE0IEBAIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIEJ1
bmRsZUVkaXRpbmdEZWxlZ2F0ZVJlbW90ZU9iamVjdAogCistICh2b2lkKXNob3VsZEluc2VydFRl
eHQ6KE5TU3RyaW5nICopdGV4dCByZXBsYWNpbmdSYW5nZTooTlNTdHJpbmcgKilyYW5nZUFzU3Ry
aW5nIGdpdmVuQWN0aW9uOihXS0VkaXRvckluc2VydEFjdGlvbilhY3Rpb24KK3sKKyAgICBFWFBF
Q1RfV0tfU1RSRVEoImhlbGxvIiwgdGV4dCk7CisgICAgRVhQRUNUX1dLX1NUUkVRKCJzb21ldGhp
bmciLCByYW5nZUFzU3RyaW5nKTsKKyAgICBFWFBFQ1RfRVEoV0tFZGl0b3JJbnNlcnRBY3Rpb25Q
YXN0ZWQsIGFjdGlvbik7CisgICAgc2hvdWxkSW5zZXJ0VGV4dENhbGxlZCA9IHRydWU7Cit9CisK
IC0gKHZvaWQpd2lsbFdyaXRlVG9QYXN0ZWJvYXJkOihOU1N0cmluZyAqKXJhbmdlQXNTdHJpbmcK
IHsKICAgICB3aWxsV3JpdGVUb1Bhc3RlYm9hcmQgPSB0cnVlOwpAQCAtNjQsMTAgKzc0LDExIEBA
IEBlbmQKIFRFU1QoV2ViS2l0MiwgV0tXZWJQcm9jZXNzUGx1Z0luRWRpdGluZ0RlbGVnYXRlKQog
ewogICAgIFJldGFpblB0cjxXS1dlYlZpZXdDb25maWd1cmF0aW9uPiBjb25maWd1cmF0aW9uID0g
cmV0YWluUHRyKFtXS1dlYlZpZXdDb25maWd1cmF0aW9uIHRlc3R3ZWJraXRhcGlfY29uZmlndXJh
dGlvbldpdGhUZXN0UGx1Z0luQ2xhc3NOYW1lOkAiQnVuZGxlRWRpdGluZ0RlbGVnYXRlUGx1Z0lu
Il0pOworICAgIFtbY29uZmlndXJhdGlvbiBwcm9jZXNzUG9vbF0gX3NldE9iamVjdDpbTlNOdW1i
ZXIgbnVtYmVyV2l0aEJvb2w6Tk9dIGZvckJ1bmRsZVBhcmFtZXRlcjpAIkVkaXRpbmdEZWxlZ2F0
ZVNob3VsZEluc2VydFRleHQiXTsKICAgICAKICAgICBSZXRhaW5QdHI8V0tXZWJWaWV3PiB3ZWJW
aWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0
KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCldKTsKIAot
ICAgIFt3ZWJWaWV3IGxvYWRIVE1MU3RyaW5nOkAiSnVzdCBzb21ldGhpbmcgdG8gY29weSA8c2Ny
aXB0PiB2YXIgdGV4dE5vZGUgPSBkb2N1bWVudC5ib2R5LmZpcnN0Q2hpbGQ7IGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQodGV4dE5vZGUsIDUsIHRleHROb2RlLCAxNCkg
PC9zY3JpcHQ+IiBiYXNlVVJMOm5pbF07CisgICAgW3dlYlZpZXcgbG9hZEhUTUxTdHJpbmc6QCI8
Ym9keSBzdHlsZT0nLXdlYmtpdC11c2VyLW1vZGlmeTogcmVhZC13cml0ZS1wbGFpbnRleHQtb25s
eSc+SnVzdCBzb21ldGhpbmcgdG8gY29weSA8c2NyaXB0PiB2YXIgdGV4dE5vZGUgPSBkb2N1bWVu
dC5ib2R5LmZpcnN0Q2hpbGQ7IGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRl
bnQodGV4dE5vZGUsIDUsIHRleHROb2RlLCAxNCkgPC9zY3JpcHQ+IiBiYXNlVVJMOm5pbF07CiAg
ICAgW3dlYlZpZXcgX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOwogCiAgICAgUmV0
YWluUHRyPEJ1bmRsZUVkaXRpbmdEZWxlZ2F0ZVJlbW90ZU9iamVjdD4gb2JqZWN0ID0gYWRvcHRO
UyhbW0J1bmRsZUVkaXRpbmdEZWxlZ2F0ZVJlbW90ZU9iamVjdCBhbGxvY10gaW5pdF0pOwpAQCAt
NzcsMTEgKzg4LDMzIEBAIFRFU1QoV2ViS2l0MiwgV0tXZWJQcm9jZXNzUGx1Z0luRWRpdGluZ0Rl
bGVnYXRlKQogICAgIFt3ZWJWaWV3IHBlcmZvcm1TZWxlY3RvcjpAc2VsZWN0b3IoY29weTopIHdp
dGhPYmplY3Q6bmlsXTsKIAogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZGlkV3JpdGVU
b1Bhc3RlYm9hcmQpOworCisgICAgTlNTdHJpbmcgKmNvcGllZFN0cmluZyA9IG5pbDsKICNpZiBQ
TEFURk9STShNQUMpCi0gICAgRVhQRUNUX1NUUkVRKCJoZWxsbyIsIFtbTlNQYXN0ZWJvYXJkIGdl
bmVyYWxQYXN0ZWJvYXJkXSBzdHJpbmdGb3JUeXBlOkAib3JnLndlYmtpdC5kYXRhIl0uVVRGOFN0
cmluZyk7CisgICAgY29waWVkU3RyaW5nID0gW1tOU1Bhc3RlYm9hcmQgZ2VuZXJhbFBhc3RlYm9h
cmRdIHN0cmluZ0ZvclR5cGU6QCJvcmcud2Via2l0LmRhdGEiXTsKICNlbGlmIFBMQVRGT1JNKElP
UykKLSAgICBFWFBFQ1RfVFJVRShbW1tVSVBhc3RlYm9hcmQgZ2VuZXJhbFBhc3RlYm9hcmRdIGRh
dGFGb3JQYXN0ZWJvYXJkVHlwZTpAIm9yZy53ZWJraXQuZGF0YSJdIGlzRXF1YWw6W0AiaGVsbG8i
IGRhdGFVc2luZ0VuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nXV0pOworICAgIGNvcGllZFN0
cmluZyA9IFtbW05TU3RyaW5nIGFsbG9jXSBpbml0V2l0aERhdGE6W1tVSVBhc3RlYm9hcmQgZ2Vu
ZXJhbFBhc3RlYm9hcmRdIGRhdGFGb3JQYXN0ZWJvYXJkVHlwZTpAIm9yZy53ZWJraXQuZGF0YSJd
IGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nXSBhdXRvcmVsZWFzZV07CiAjZW5kaWYKKyAg
ICBFWFBFQ1RfV0tfU1RSRVEoImhlbGxvIiwgY29waWVkU3RyaW5nKTsKKworI2lmIFBMQVRGT1JN
KE1BQykKKyAgICBbW05TUGFzdGVib2FyZCBnZW5lcmFsUGFzdGVib2FyZF0gc2V0U3RyaW5nOmNv
cGllZFN0cmluZyBmb3JUeXBlOkAicHVibGljLnV0ZjgtcGxhaW4tdGV4dCJdOworI2VsaWYgUExB
VEZPUk0oSU9TKQorICAgIFtbVUlQYXN0ZWJvYXJkIGdlbmVyYWxQYXN0ZWJvYXJkXSBzZXRWYWx1
ZTpjb3BpZWRTdHJpbmcgZm9yUGFzdGVib2FyZFR5cGU6QCJwdWJsaWMudXRmOC1wbGFpbi10ZXh0
Il07CisjZW5kaWYKKyAgICBbd2ViVmlldyBwZXJmb3JtU2VsZWN0b3I6QHNlbGVjdG9yKHBhc3Rl
Oikgd2l0aE9iamVjdDpuaWxdOworCisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZzaG91
bGRJbnNlcnRUZXh0Q2FsbGVkKTsKKworICAgIF9fYmxvY2sgYm9vbCBkb25lRXZhbHVhdGluZ0ph
dmFTY3JpcHQgPSBmYWxzZTsKKyAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJkb2N1
bWVudC5ib2R5LmZpcnN0Q2hpbGQudGV4dENvbnRlbnQiIGNvbXBsZXRpb25IYW5kbGVyOl4oaWQg
X051bGxhYmxlIHZhbHVlLCBOU0Vycm9yICogX051bGxhYmxlIGVycm9yKSB7CisgICAgICAgIEVY
UEVDVF9OVUxMKGVycm9yKTsKKyAgICAgICAgRVhQRUNUX1RSVUUoW3ZhbHVlIGlzS2luZE9mQ2xh
c3M6W05TU3RyaW5nIGNsYXNzXV0pOworICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoIkp1c3Qgc29t
ZXRoaW5nIHRvIGNvcHkgIiwgKE5TU3RyaW5nICopdmFsdWUpOworICAgICAgICBkb25lRXZhbHVh
dGluZ0phdmFTY3JpcHQgPSB0cnVlOworICAgIH1dOworCisgICAgVGVzdFdlYktpdEFQSTo6VXRp
bDo6cnVuKCZkb25lRXZhbHVhdGluZ0phdmFTY3JpcHQpOwogfQogCiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0J1bmRsZUVkaXRpbmdE
ZWxlZ2F0ZVBsdWdJbi5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29h
L0J1bmRsZUVkaXRpbmdEZWxlZ2F0ZVBsdWdJbi5tbQppbmRleCA1NWQxMWViOWJkNGYxYWQ1MTY3
MGE3NjRhOTQ5YjA3Y2U3ZTZkNDFiLi5mMzc5OTkxYjU0OThmYmUxZjFhMWY5Yjg0ZTJjYmRmOWM5
ZWVhZTk2IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2Nv
YS9CdW5kbGVFZGl0aW5nRGVsZWdhdGVQbHVnSW4ubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQyQ29jb2EvQnVuZGxlRWRpdGluZ0RlbGVnYXRlUGx1Z0luLm1tCkBAIC00
NSw2ICs0NSw3IEBAIEBpbXBsZW1lbnRhdGlvbiBCdW5kbGVFZGl0aW5nRGVsZWdhdGVQbHVnSW4g
ewogICAgIFJldGFpblB0cjxXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xs
ZXI+IF9icm93c2VyQ29udGV4dENvbnRyb2xsZXI7CiAgICAgUmV0YWluUHRyPFdLV2ViUHJvY2Vz
c1BsdWdJbkNvbnRyb2xsZXI+IF9wbHVnSW5Db250cm9sbGVyOwogICAgIFJldGFpblB0cjxpZCA8
QnVuZGxlRWRpdGluZ0RlbGVnYXRlUHJvdG9jb2w+PiBfcmVtb3RlT2JqZWN0OworICAgIEJPT0wg
X2VkaXRpbmdEZWxlZ2F0ZVNob3VsZEluc2VydFRleHQ7CiB9CiAKIC0gKHZvaWQpd2ViUHJvY2Vz
c1BsdWdJbjooV0tXZWJQcm9jZXNzUGx1Z0luQ29udHJvbGxlciAqKXBsdWdJbkNvbnRyb2xsZXIg
ZGlkQ3JlYXRlQnJvd3NlckNvbnRleHRDb250cm9sbGVyOihXS1dlYlByb2Nlc3NQbHVnSW5Ccm93
c2VyQ29udGV4dENvbnRyb2xsZXIgKilicm93c2VyQ29udGV4dENvbnRyb2xsZXIKQEAgLTU0LDEy
ICs1NSwyNSBAQCAtICh2b2lkKXdlYlByb2Nlc3NQbHVnSW46KFdLV2ViUHJvY2Vzc1BsdWdJbkNv
bnRyb2xsZXIgKilwbHVnSW5Db250cm9sbGVyIGRpZENyZQogICAgIF9icm93c2VyQ29udGV4dENv
bnRyb2xsZXIgPSBicm93c2VyQ29udGV4dENvbnRyb2xsZXI7CiAgICAgX3BsdWdJbkNvbnRyb2xs
ZXIgPSBwbHVnSW5Db250cm9sbGVyOwogCisgICAgaWYgKGlkIHNob3VsZEluc2VydFRleHQgPSBb
cGx1Z0luQ29udHJvbGxlci5wYXJhbWV0ZXJzIHZhbHVlRm9yS2V5OkAiRWRpdGluZ0RlbGVnYXRl
U2hvdWxkSW5zZXJ0VGV4dCJdKSB7CisgICAgICAgIEFTU0VSVChbc2hvdWxkSW5zZXJ0VGV4dCBp
c0tpbmRPZkNsYXNzOltOU051bWJlciBjbGFzc11dKTsKKyAgICAgICAgX2VkaXRpbmdEZWxlZ2F0
ZVNob3VsZEluc2VydFRleHQgPSBbKE5TTnVtYmVyICopc2hvdWxkSW5zZXJ0VGV4dCBib29sVmFs
dWVdOworICAgIH0gZWxzZQorICAgICAgICBfZWRpdGluZ0RlbGVnYXRlU2hvdWxkSW5zZXJ0VGV4
dCA9IFlFUzsKKwogICAgIF9XS1JlbW90ZU9iamVjdEludGVyZmFjZSAqaW50ZXJmYWNlID0gW19X
S1JlbW90ZU9iamVjdEludGVyZmFjZSByZW1vdGVPYmplY3RJbnRlcmZhY2VXaXRoUHJvdG9jb2w6
QHByb3RvY29sKEJ1bmRsZUVkaXRpbmdEZWxlZ2F0ZVByb3RvY29sKV07CiAgICAgX3JlbW90ZU9i
amVjdCA9IFticm93c2VyQ29udGV4dENvbnRyb2xsZXIuX3JlbW90ZU9iamVjdFJlZ2lzdHJ5IHJl
bW90ZU9iamVjdFByb3h5V2l0aEludGVyZmFjZTppbnRlcmZhY2VdOwogCiAgICAgW19icm93c2Vy
Q29udGV4dENvbnRyb2xsZXIgX3NldEVkaXRpbmdEZWxlZ2F0ZTpzZWxmXTsKIH0KIAorLSAoQk9P
TClfd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjooV0tXZWJQcm9jZXNz
UGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyICopY29udHJvbGxlciBzaG91bGRJbnNlcnRU
ZXh0Oihub25udWxsIE5TU3RyaW5nICopdGV4dCByZXBsYWNpbmdSYW5nZToobm9ubnVsbCBXS1dl
YlByb2Nlc3NQbHVnSW5SYW5nZUhhbmRsZSAqKXJhbmdlIGdpdmVuQWN0aW9uOihXS0VkaXRvcklu
c2VydEFjdGlvbilhY3Rpb24KK3sKKyAgICBKU1ZhbHVlICpqc1JhbmdlID0gW3JhbmdlLmZyYW1l
IGpzUmFuZ2VGb3JSYW5nZUhhbmRsZTpyYW5nZSBpbldvcmxkOltXS1dlYlByb2Nlc3NQbHVnSW5T
Y3JpcHRXb3JsZCBub3JtYWxXb3JsZF1dOworICAgIFtfcmVtb3RlT2JqZWN0IHNob3VsZEluc2Vy
dFRleHQ6dGV4dCByZXBsYWNpbmdSYW5nZTpbanNSYW5nZSB0b1N0cmluZ10gZ2l2ZW5BY3Rpb246
YWN0aW9uXTsKKyAgICByZXR1cm4gX2VkaXRpbmdEZWxlZ2F0ZVNob3VsZEluc2VydFRleHQ7Cit9
CisKIC0gKHZvaWQpX3dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6KFdL
V2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlciAqKWNvbnRyb2xsZXIgd2ls
bFdyaXRlUmFuZ2VUb1Bhc3RlYm9hcmQ6KFdLV2ViUHJvY2Vzc1BsdWdJblJhbmdlSGFuZGxlICop
cmFuZ2UKIHsKICAgICBKU1ZhbHVlICpqc1JhbmdlID0gW3JhbmdlLmZyYW1lIGpzUmFuZ2VGb3JS
YW5nZUhhbmRsZTpyYW5nZSBpbldvcmxkOltXS1dlYlByb2Nlc3NQbHVnSW5TY3JpcHRXb3JsZCBu
b3JtYWxXb3JsZF1dOwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQyQ29jb2EvQnVuZGxlRWRpdGluZ0RlbGVnYXRlUHJvdG9jb2wuaCBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0J1bmRsZUVkaXRpbmdEZWxlZ2F0ZVByb3RvY29sLmgK
aW5kZXggZWQ3ODk4ZDliZDA3ZmRlMjhhYTFjODdlNmQzOGQ5Zjk4NWM4NDFlYS4uNTI4YWZhMGU5
NWQ0ZjdmMDlmODBhYTBiZGEwYTc3MWNkYWE5MGQxYSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvQnVuZGxlRWRpdGluZ0RlbGVnYXRlUHJvdG9jb2wu
aAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9CdW5kbGVFZGl0
aW5nRGVsZWdhdGVQcm90b2NvbC5oCkBAIC0yNyw4ICsyNywxMSBAQAogCiAjaWYgV0tfQVBJX0VO
QUJMRUQKIAorI2ltcG9ydCA8V2ViS2l0L1dLV2ViUHJvY2Vzc1BsdWdJbkVkaXRpbmdEZWxlZ2F0
ZS5oPgorCiBAcHJvdG9jb2wgQnVuZGxlRWRpdGluZ0RlbGVnYXRlUHJvdG9jb2wgPE5TT2JqZWN0
PgogCistICh2b2lkKXNob3VsZEluc2VydFRleHQ6KE5TU3RyaW5nICopdGV4dCByZXBsYWNpbmdS
YW5nZTooTlNTdHJpbmcgKilyYW5nZUFzU3RyaW5nIGdpdmVuQWN0aW9uOihXS0VkaXRvckluc2Vy
dEFjdGlvbilhY3Rpb247CiAtICh2b2lkKXdpbGxXcml0ZVRvUGFzdGVib2FyZDooTlNTdHJpbmcg
KilyYW5nZUFzU3RyaW5nOwogLSAodm9pZClkaWRXcml0ZVRvUGFzdGVib2FyZDsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297027</attachid>
            <date>2016-12-13 11:30:49 -0800</date>
            <delta_ts>2016-12-13 14:09:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165785-20161213113000.patch</filename>
            <type>text/plain</type>
            <size>15620</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5Njc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNTYzNTZhN2U2N2M4ZTRl
NGI1NGZiZjM3Nzc0N2M3NDI0N2Q5YjQ2ZS4uMjU3MzA5OTE4ZmRiNzM2MzVlMGI4MGI0NzBlODgx
NWFhOGMyOTRkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE2LTEyLTEyICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIEltcGxlbWVudCAt
c2hvdWxkSW5zZXJ0VGV4dDogb24gV0tXZWJQcm9jZXNzUGx1Z0luRWRpdGluZ0RlbGVnYXRlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjU3ODUKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI2OTI5Mzk4PgorCisgICAgICAgIFJldmlld2VkIGJ5IERh
cmluIEFkbGVyLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29j
b2EvV0tXZWJQcm9jZXNzUGx1Z0luRWRpdGluZ0RlbGVnYXRlLmg6IERlZmluZWQKKyAgICAgICAg
V0tFZGl0b3JJbnNlcnRBY3Rpb24gYW5kIGRlY2xhcmVkCisgICAgICAgIC1fd2ViUHJvY2Vzc1Bs
dWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjpzaG91bGRJbnNlcnRUZXh0OnJlcGxhY2luZ1Jh
bmdlOmdpdmVuQWN0aW9uOi4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLm1tOgorICAg
ICAgICAodG9XSyk6IEFkZGVkLiBNYXBwZWQgYSBXZWJDb3JlOjpFZGl0b3JJbnNlcnRBY3Rpb24g
dG8gYSBXS0VkaXRvckluc2VydEFjdGlvbi4KKyAgICAgICAgKC1bV0tXZWJQcm9jZXNzUGx1Z0lu
QnJvd3NlckNvbnRleHRDb250cm9sbGVyIF9zZXRFZGl0aW5nRGVsZWdhdGU6XSk6IEltcGxlbWVu
dGVkCisgICAgICAgIEVkaXRvckNsaWVudDo6c2hvdWxkSW5zZXJ0VGV4dCgpIGJ5IGNhbGxpbmcK
KyAgICAgICAgLV93ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOnNob3Vs
ZEluc2VydFRleHQ6cmVwbGFjaW5nUmFuZ2U6Z2l2ZW5BY3Rpb246IHdpdGgKKyAgICAgICAgdGhl
IHRleHQsIHdyYXBwZWQgcmFuZ2UgaGFuZGxlLCBhbmQgYWN0aW9uLiBBZGRlZCBzaG91bGRJbnNl
cnRUZXh0IHRvIERlbGVnYXRlTWV0aG9kcyBhbmQKKyAgICAgICAgaW5pdGlhbGl6ZWQgaXQgYWNj
b3JkaW5nIHRvIHdoZXRoZXIgdGhlIGRlbGVnYXRlIHJlc3BvbmRzIHRvIHNob3VsZEluc2VydFRl
eHQ6LgorCiAyMDE2LTEyLTEwICBLb25zdGFudGluIFRva2FyZXYgIDxhbm51bGVuQHlhbmRleC5y
dT4KIAogICAgICAgICBbY21ha2VdIEluY2x1ZGUgV1RGLCBKU0MsIGFuZCBXZWJDb3JlIGhlYWRl
cnMgYXV0b21hdGljYWxseSB0byB0YXJnZXJzIHVzaW5nIHRoZW0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vz
c1BsdWdJbkVkaXRpbmdEZWxlZ2F0ZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luRWRpdGluZ0RlbGVnYXRlLmgK
aW5kZXggZDUzMjUwNWFmMGU2MDdlNDZlYzA0MTZmZmFhMDkzOTFiMmJhN2RhNS4uMDQ3Njc1NmRm
OGFhZmE4OGNlOThkN2RlMjBkN2ZjYTdhNGNhY2Y3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0lu
RWRpdGluZ0RlbGVnYXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luRWRpdGluZ0RlbGVnYXRlLmgKQEAg
LTMyLDExICszMiwxOCBAQAogCiBOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgogCit0eXBlZGVmIE5T
X0VOVU0oTlNJbnRlZ2VyLCBXS0VkaXRvckluc2VydEFjdGlvbikgeworICAgIFdLRWRpdG9ySW5z
ZXJ0QWN0aW9uVHlwZWQsCisgICAgV0tFZGl0b3JJbnNlcnRBY3Rpb25QYXN0ZWQsCisgICAgV0tF
ZGl0b3JJbnNlcnRBY3Rpb25Ecm9wcGVkLAorfSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19N
QUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKwogV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tf
TUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSkKIEBwcm90b2NvbCBXS1dlYlByb2Nlc3NQbHVnSW5F
ZGl0aW5nRGVsZWdhdGUgPE5TT2JqZWN0PgogCiBAb3B0aW9uYWwKIAorLSAoQk9PTClfd2ViUHJv
Y2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjooV0tXZWJQcm9jZXNzUGx1Z0luQnJv
d3NlckNvbnRleHRDb250cm9sbGVyICopY29udHJvbGxlciBzaG91bGRJbnNlcnRUZXh0OihOU1N0
cmluZyAqKXRleHQgcmVwbGFjaW5nUmFuZ2U6KFdLV2ViUHJvY2Vzc1BsdWdJblJhbmdlSGFuZGxl
ICopcmFuZ2UgZ2l2ZW5BY3Rpb246KFdLRWRpdG9ySW5zZXJ0QWN0aW9uKWFjdGlvbjsKIC0gKHZv
aWQpX3dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6KFdLV2ViUHJvY2Vz
c1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlciAqKWNvbnRyb2xsZXIgd2lsbFdyaXRlUmFu
Z2VUb1Bhc3RlYm9hcmQ6KFdLV2ViUHJvY2Vzc1BsdWdJblJhbmdlSGFuZGxlICopcmFuZ2U7CiAt
IChOU0RpY3Rpb25hcnk8TlNTdHJpbmcgKiwgTlNEYXRhICo+ICopX3dlYlByb2Nlc3NQbHVnSW5C
cm93c2VyQ29udGV4dENvbnRyb2xsZXI6KFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0
Q29udHJvbGxlciAqKWNvbnRyb2xsZXIgcGFzdGVib2FyZERhdGFGb3JSYW5nZTooV0tXZWJQcm9j
ZXNzUGx1Z0luUmFuZ2VIYW5kbGUgKilyYW5nZTsKIC0gKHZvaWQpX3dlYlByb2Nlc3NQbHVnSW5C
cm93c2VyQ29udGV4dENvbnRyb2xsZXJEaWRXcml0ZVRvUGFzdGVib2FyZDooV0tXZWJQcm9jZXNz
UGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyICopY29udHJvbGxlcjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dlYlBy
b2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3Nl
ckNvbnRleHRDb250cm9sbGVyLm1tCmluZGV4IDBmODA1OTYzNzExMTAyYzI4NmE1ODA0ODYyNWFi
ZGUwODRjNWI1NjAuLjVjNTQ4Y2FkNTdjYTY4NmNkN2NlYjU1M2IxZTkyNTVjYTAwMGU0MzMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21h
Yy9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIubW0KKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLV2ViUHJvY2Vz
c1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlci5tbQpAQCAtNTczLDYgKzU3MywxOCBAQCAt
IChpZCA8V0tXZWJQcm9jZXNzUGx1Z0luRWRpdGluZ0RlbGVnYXRlPilfZWRpdGluZ0RlbGVnYXRl
CiAgICAgcmV0dXJuIF9lZGl0aW5nRGVsZWdhdGUuZ2V0QXV0b3JlbGVhc2VkKCk7CiB9CiAKK3N0
YXRpYyBpbmxpbmUgV0tFZGl0b3JJbnNlcnRBY3Rpb24gdG9XSyhFZGl0b3JJbnNlcnRBY3Rpb24g
YWN0aW9uKQoreworICAgIHN3aXRjaCAoYWN0aW9uKSB7CisgICAgY2FzZSBFZGl0b3JJbnNlcnRB
Y3Rpb25UeXBlZDoKKyAgICAgICAgcmV0dXJuIFdLRWRpdG9ySW5zZXJ0QWN0aW9uVHlwZWQ7Cisg
ICAgY2FzZSBFZGl0b3JJbnNlcnRBY3Rpb25QYXN0ZWQ6CisgICAgICAgIHJldHVybiBXS0VkaXRv
ckluc2VydEFjdGlvblBhc3RlZDsKKyAgICBjYXNlIEVkaXRvckluc2VydEFjdGlvbkRyb3BwZWQ6
CisgICAgICAgIHJldHVybiBXS0VkaXRvckluc2VydEFjdGlvbkRyb3BwZWQ7CisgICAgfQorfQor
CiAtICh2b2lkKV9zZXRFZGl0aW5nRGVsZWdhdGU6KGlkIDxXS1dlYlByb2Nlc3NQbHVnSW5FZGl0
aW5nRGVsZWdhdGU+KWVkaXRpbmdEZWxlZ2F0ZQogewogICAgIF9lZGl0aW5nRGVsZWdhdGUgPSBl
ZGl0aW5nRGVsZWdhdGU7CkBAIC01ODYsNiArNTk4LDE0IEBAIC0gKHZvaWQpX3NldEVkaXRpbmdE
ZWxlZ2F0ZTooaWQgPFdLV2ViUHJvY2Vzc1BsdWdJbkVkaXRpbmdEZWxlZ2F0ZT4pZWRpdGluZ0Rl
bGVnCiAgICAgICAgIH0KIAogICAgIHByaXZhdGU6CisgICAgICAgIGJvb2wgc2hvdWxkSW5zZXJ0
VGV4dChXZWJQYWdlJiwgU3RyaW5nSW1wbCogdGV4dCwgUmFuZ2UqIHJhbmdlVG9SZXBsYWNlLCBF
ZGl0b3JJbnNlcnRBY3Rpb24gYWN0aW9uKSBmaW5hbAorICAgICAgICB7CisgICAgICAgICAgICBp
ZiAoIW1fZGVsZWdhdGVNZXRob2RzLnNob3VsZEluc2VydFRleHQpCisgICAgICAgICAgICAgICAg
cmV0dXJuIHRydWU7CisKKyAgICAgICAgICAgIHJldHVybiBbbV9jb250cm9sbGVyLT5fZWRpdGlu
Z0RlbGVnYXRlLmdldCgpIF93ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVy
Om1fY29udHJvbGxlciBzaG91bGRJbnNlcnRUZXh0OlN0cmluZyh0ZXh0KSByZXBsYWNpbmdSYW5n
ZTp3cmFwcGVyKCpJbmplY3RlZEJ1bmRsZVJhbmdlSGFuZGxlOjpnZXRPckNyZWF0ZShyYW5nZVRv
UmVwbGFjZSkpIGdpdmVuQWN0aW9uOnRvV0soYWN0aW9uKV07CisgICAgICAgIH0KKwogICAgICAg
ICB2b2lkIHdpbGxXcml0ZVRvUGFzdGVib2FyZChXZWJLaXQ6OldlYlBhZ2UmLCBXZWJDb3JlOjpS
YW5nZSogcmFuZ2UpIGZpbmFsCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmICghbV9kZWxlZ2F0
ZU1ldGhvZHMud2lsbFdyaXRlVG9QYXN0ZWJvYXJkKQpAQCAtNjE3LDEyICs2MzcsMTQgQEAgLSAo
dm9pZClfc2V0RWRpdGluZ0RlbGVnYXRlOihpZCA8V0tXZWJQcm9jZXNzUGx1Z0luRWRpdGluZ0Rl
bGVnYXRlPillZGl0aW5nRGVsZWcKICAgICAgICAgV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNv
bnRleHRDb250cm9sbGVyICptX2NvbnRyb2xsZXI7CiAgICAgICAgIGNvbnN0IHN0cnVjdCBEZWxl
Z2F0ZU1ldGhvZHMgewogICAgICAgICAgICAgRGVsZWdhdGVNZXRob2RzKFJldGFpblB0cjxpZCA8
V0tXZWJQcm9jZXNzUGx1Z0luRWRpdGluZ0RlbGVnYXRlPj4gZGVsZWdhdGUpCi0gICAgICAgICAg
ICAgICAgOiB3aWxsV3JpdGVUb1Bhc3RlYm9hcmQoW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3Rv
cjpAc2VsZWN0b3IoX3dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6d2ls
bFdyaXRlUmFuZ2VUb1Bhc3RlYm9hcmQ6KV0pCisgICAgICAgICAgICAgICAgOiBzaG91bGRJbnNl
cnRUZXh0KFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJQcm9jZXNz
UGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOnNob3VsZEluc2VydFRleHQ6cmVwbGFjaW5n
UmFuZ2U6Z2l2ZW5BY3Rpb246KV0pCisgICAgICAgICAgICAgICAgLCB3aWxsV3JpdGVUb1Bhc3Rl
Ym9hcmQoW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlByb2Nlc3NQ
bHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXI6d2lsbFdyaXRlUmFuZ2VUb1Bhc3RlYm9hcmQ6
KV0pCiAgICAgICAgICAgICAgICAgLCBnZXRQYXN0ZWJvYXJkRGF0YUZvclJhbmdlKFtkZWxlZ2F0
ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNv
bnRleHRDb250cm9sbGVyOnBhc3RlYm9hcmREYXRhRm9yUmFuZ2U6KV0pCiAgICAgICAgICAgICAg
ICAgLCBkaWRXcml0ZVRvUGFzdGVib2FyZChbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBz
ZWxlY3Rvcihfd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlckRpZFdyaXRl
VG9QYXN0ZWJvYXJkOildKQogICAgICAgICAgICAgewogICAgICAgICAgICAgfQogCisgICAgICAg
ICAgICBib29sIHNob3VsZEluc2VydFRleHQ7CiAgICAgICAgICAgICBib29sIHdpbGxXcml0ZVRv
UGFzdGVib2FyZDsKICAgICAgICAgICAgIGJvb2wgZ2V0UGFzdGVib2FyZERhdGFGb3JSYW5nZTsK
ICAgICAgICAgICAgIGJvb2wgZGlkV3JpdGVUb1Bhc3RlYm9hcmQ7CmRpZmYgLS1naXQgYS9Ub29s
cy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMTFjYjM2YzI4ODQyMThiNDY0MjM2
Y2MyZmNkY2YzYTk0MjJmZmNlZC4uNjkxZDdjN2QyZTQ0NWEzNGZhYTk1YmE1MWIxNDJkM2YyNDQx
MmM0YiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDI4IEBACisyMDE2LTEyLTEyICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNv
bT4KKworICAgICAgICBbQ29jb2FdIEltcGxlbWVudCAtc2hvdWxkSW5zZXJ0VGV4dDogb24gV0tX
ZWJQcm9jZXNzUGx1Z0luRWRpdGluZ0RlbGVnYXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjU3ODUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI2
OTI5Mzk4PgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvQnVuZGxlRWRpdGluZ0RlbGVnYXRlLm1t
OgorICAgICAgICAoLVtCdW5kbGVFZGl0aW5nRGVsZWdhdGVSZW1vdGVPYmplY3Qgc2hvdWxkSW5z
ZXJ0VGV4dDpyZXBsYWNpbmdSYW5nZTpnaXZlbkFjdGlvbjpdKTogQWRkZWQKKyAgICAgICAgZXhw
ZWN0YXRpb25zIGZvciB0aGUgdGV4dCwgcmFuZ2UsIGFuZCBhY3Rpb24uCisgICAgICAgIChURVNU
KTogU2V0IHRoZSAiRWRpdGluZ0RlbGVnYXRlU2hvdWxkSW5zZXJ0VGV4dCIgYnVuZGxlIHBhcmFt
ZXRlciB0byBOTyBzbyB0aGF0IHRoZSBwbHVnLWluCisgICAgICAgIHdpbGwgcmV0dXJuIE5PIGlu
IC1fd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjp3aWxsSW5zZXJ0VGV4
dDouIEFkZGVkIGEKKyAgICAgICAgcGxhaW4tdGV4dCBzdHJpbmcgdG8gdGhlIHBhc3RlYm9hcmQs
IGV4ZWN1dGVkIGEgcGFzdGUgYWN0aW9uLCBhbmQgdmVyaWZpZWQgdGhhdCB0aGUgc2VsZWN0ZWQK
KyAgICAgICAgdGV4dCBpbiB0aGUgd2ViIHZpZXcgZGlkIG5vdCBjaGFuZ2UuCisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvQnVuZGxlRWRpdGluZ0RlbGVnYXRlUGx1
Z0luLm1tOgorICAgICAgICAoLVtCdW5kbGVFZGl0aW5nRGVsZWdhdGVQbHVnSW4gd2ViUHJvY2Vz
c1BsdWdJbjpkaWRDcmVhdGVCcm93c2VyQ29udGV4dENvbnRyb2xsZXI6XSk6IFNldAorICAgICAg
ICBfZWRpdGluZ0RlbGVnYXRlU2hvdWxkSW5zZXJ0VGV4dCBhY2NvcmRpbmcgdG8gdGhlICJFZGl0
aW5nRGVsZWdhdGVTaG91bGRJbnNlcnRUZXh0IiBidW5kbGUKKyAgICAgICAgcGFyYW1ldGVyLgor
ICAgICAgICAoLVtCdW5kbGVFZGl0aW5nRGVsZWdhdGVQbHVnSW4gX3dlYlByb2Nlc3NQbHVnSW5C
cm93c2VyQ29udGV4dENvbnRyb2xsZXI6c2hvdWxkSW5zZXJ0VGV4dDpyZXBsYWNpbmdSYW5nZTpn
aXZlbkFjdGlvbjpdKToKKyAgICAgICAgQWRkZWQuIENhbGxlZCAtc2hvdWxkSW5zZXJ0VGV4dDpy
ZXBsYWNpbmdSYW5nZTpnaXZlbkFjdGlvbjogb24gdGhlIHJlbW90ZSBvYmplY3QgcHJveHkKKyAg
ICAgICAgYW5kIHJldHVybmVkIHRoZSB2YWx1ZSBvZiBfZWRpdGluZ0RlbGVnYXRlU2hvdWxkSW5z
ZXJ0VGV4dC4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9CdW5k
bGVFZGl0aW5nRGVsZWdhdGVQcm90b2NvbC5oOiBEZWNsYXJlZAorICAgICAgICAtc2hvdWxkSW5z
ZXJ0VGV4dDpyZXBsYWNpbmdSYW5nZTpnaXZlbkFjdGlvbjouCisKIDIwMTYtMTItMDggIERhdmUg
SHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgW0NTUyBQYXJzZXJdIFJlbW92ZSB0
aGUgb2xkIENTUyBQYXJzZXIKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0MkNvY29hL0J1bmRsZUVkaXRpbmdEZWxlZ2F0ZS5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0MkNvY29hL0J1bmRsZUVkaXRpbmdEZWxlZ2F0ZS5tbQppbmRleCAyMmEx
ZGM4YTNjMjgwZTVmMWYyZmNlMjg4ZmMwYmEyYTg2NzUxYTk4Li45YzQwOTkyMDU2MDM2YzljOGM2
YjA0NzYyYmFmOTk1NzY0Y2ZiZjc1IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdDJDb2NvYS9CdW5kbGVFZGl0aW5nRGVsZWdhdGUubW0KKysrIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvQnVuZGxlRWRpdGluZ0RlbGVnYXRlLm1tCkBA
IC0zNSwxMSArMzUsMTMgQEAKICNpbXBvcnQgIlRlc3QuaCIKICNpbXBvcnQgIlRlc3ROYXZpZ2F0
aW9uRGVsZWdhdGUuaCIKICNpbXBvcnQgIldLV2ViVmlld0NvbmZpZ3VyYXRpb25FeHRyYXMuaCIK
KyNpbXBvcnQgPFdlYktpdC9XS1Byb2Nlc3NQb29sUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0
L1dLV2ViVmlld1ByaXZhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9fV0tSZW1vdGVPYmplY3RJbnRl
cmZhY2UuaD4KICNpbXBvcnQgPFdlYktpdC9fV0tSZW1vdGVPYmplY3RSZWdpc3RyeS5oPgogI2lt
cG9ydCA8d3RmL1JldGFpblB0ci5oPgogCitzdGF0aWMgYm9vbCBzaG91bGRJbnNlcnRUZXh0Q2Fs
bGVkOwogc3RhdGljIGJvb2wgd2lsbFdyaXRlVG9QYXN0ZWJvYXJkOwogc3RhdGljIGJvb2wgZGlk
V3JpdGVUb1Bhc3RlYm9hcmQ7CiAKQEAgLTQ4LDYgKzUwLDE0IEBAIEBlbmQKIAogQGltcGxlbWVu
dGF0aW9uIEJ1bmRsZUVkaXRpbmdEZWxlZ2F0ZVJlbW90ZU9iamVjdAogCistICh2b2lkKXNob3Vs
ZEluc2VydFRleHQ6KE5TU3RyaW5nICopdGV4dCByZXBsYWNpbmdSYW5nZTooTlNTdHJpbmcgKily
YW5nZUFzU3RyaW5nIGdpdmVuQWN0aW9uOihXS0VkaXRvckluc2VydEFjdGlvbilhY3Rpb24KK3sK
KyAgICBFWFBFQ1RfV0tfU1RSRVEoImhlbGxvIiwgdGV4dCk7CisgICAgRVhQRUNUX1dLX1NUUkVR
KCJzb21ldGhpbmciLCByYW5nZUFzU3RyaW5nKTsKKyAgICBFWFBFQ1RfRVEoV0tFZGl0b3JJbnNl
cnRBY3Rpb25QYXN0ZWQsIGFjdGlvbik7CisgICAgc2hvdWxkSW5zZXJ0VGV4dENhbGxlZCA9IHRy
dWU7Cit9CisKIC0gKHZvaWQpd2lsbFdyaXRlVG9QYXN0ZWJvYXJkOihOU1N0cmluZyAqKXJhbmdl
QXNTdHJpbmcKIHsKICAgICB3aWxsV3JpdGVUb1Bhc3RlYm9hcmQgPSB0cnVlOwpAQCAtNjQsMTAg
Kzc0LDExIEBAIEBlbmQKIFRFU1QoV2ViS2l0MiwgV0tXZWJQcm9jZXNzUGx1Z0luRWRpdGluZ0Rl
bGVnYXRlKQogewogICAgIFJldGFpblB0cjxXS1dlYlZpZXdDb25maWd1cmF0aW9uPiBjb25maWd1
cmF0aW9uID0gcmV0YWluUHRyKFtXS1dlYlZpZXdDb25maWd1cmF0aW9uIHRlc3R3ZWJraXRhcGlf
Y29uZmlndXJhdGlvbldpdGhUZXN0UGx1Z0luQ2xhc3NOYW1lOkAiQnVuZGxlRWRpdGluZ0RlbGVn
YXRlUGx1Z0luIl0pOworICAgIFtbY29uZmlndXJhdGlvbiBwcm9jZXNzUG9vbF0gX3NldE9iamVj
dDpbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dIGZvckJ1bmRsZVBhcmFtZXRlcjpAIkVkaXRp
bmdEZWxlZ2F0ZVNob3VsZEluc2VydFRleHQiXTsKICAgICAKICAgICBSZXRhaW5QdHI8V0tXZWJW
aWV3PiB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpO
U01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0
KCldKTsKIAotICAgIFt3ZWJWaWV3IGxvYWRIVE1MU3RyaW5nOkAiSnVzdCBzb21ldGhpbmcgdG8g
Y29weSA8c2NyaXB0PiB2YXIgdGV4dE5vZGUgPSBkb2N1bWVudC5ib2R5LmZpcnN0Q2hpbGQ7IGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQodGV4dE5vZGUsIDUsIHRleHRO
b2RlLCAxNCkgPC9zY3JpcHQ+IiBiYXNlVVJMOm5pbF07CisgICAgW3dlYlZpZXcgbG9hZEhUTUxT
dHJpbmc6QCI8Ym9keSBzdHlsZT0nLXdlYmtpdC11c2VyLW1vZGlmeTogcmVhZC13cml0ZS1wbGFp
bnRleHQtb25seSc+SnVzdCBzb21ldGhpbmcgdG8gY29weSA8c2NyaXB0PiB2YXIgdGV4dE5vZGUg
PSBkb2N1bWVudC5ib2R5LmZpcnN0Q2hpbGQ7IGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnNldEJh
c2VBbmRFeHRlbnQodGV4dE5vZGUsIDUsIHRleHROb2RlLCAxNCkgPC9zY3JpcHQ+IiBiYXNlVVJM
Om5pbF07CiAgICAgW3dlYlZpZXcgX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOwog
CiAgICAgUmV0YWluUHRyPEJ1bmRsZUVkaXRpbmdEZWxlZ2F0ZVJlbW90ZU9iamVjdD4gb2JqZWN0
ID0gYWRvcHROUyhbW0J1bmRsZUVkaXRpbmdEZWxlZ2F0ZVJlbW90ZU9iamVjdCBhbGxvY10gaW5p
dF0pOwpAQCAtNzcsMTEgKzg4LDMzIEBAIFRFU1QoV2ViS2l0MiwgV0tXZWJQcm9jZXNzUGx1Z0lu
RWRpdGluZ0RlbGVnYXRlKQogICAgIFt3ZWJWaWV3IHBlcmZvcm1TZWxlY3RvcjpAc2VsZWN0b3Io
Y29weTopIHdpdGhPYmplY3Q6bmlsXTsKIAogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigm
ZGlkV3JpdGVUb1Bhc3RlYm9hcmQpOworCisgICAgTlNTdHJpbmcgKmNvcGllZFN0cmluZyA9IG5p
bDsKICNpZiBQTEFURk9STShNQUMpCi0gICAgRVhQRUNUX1NUUkVRKCJoZWxsbyIsIFtbTlNQYXN0
ZWJvYXJkIGdlbmVyYWxQYXN0ZWJvYXJkXSBzdHJpbmdGb3JUeXBlOkAib3JnLndlYmtpdC5kYXRh
Il0uVVRGOFN0cmluZyk7CisgICAgY29waWVkU3RyaW5nID0gW1tOU1Bhc3RlYm9hcmQgZ2VuZXJh
bFBhc3RlYm9hcmRdIHN0cmluZ0ZvclR5cGU6QCJvcmcud2Via2l0LmRhdGEiXTsKICNlbGlmIFBM
QVRGT1JNKElPUykKLSAgICBFWFBFQ1RfVFJVRShbW1tVSVBhc3RlYm9hcmQgZ2VuZXJhbFBhc3Rl
Ym9hcmRdIGRhdGFGb3JQYXN0ZWJvYXJkVHlwZTpAIm9yZy53ZWJraXQuZGF0YSJdIGlzRXF1YWw6
W0AiaGVsbG8iIGRhdGFVc2luZ0VuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nXV0pOworICAg
IGNvcGllZFN0cmluZyA9IFtbW05TU3RyaW5nIGFsbG9jXSBpbml0V2l0aERhdGE6W1tVSVBhc3Rl
Ym9hcmQgZ2VuZXJhbFBhc3RlYm9hcmRdIGRhdGFGb3JQYXN0ZWJvYXJkVHlwZTpAIm9yZy53ZWJr
aXQuZGF0YSJdIGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nXSBhdXRvcmVsZWFzZV07CiAj
ZW5kaWYKKyAgICBFWFBFQ1RfV0tfU1RSRVEoImhlbGxvIiwgY29waWVkU3RyaW5nKTsKKworI2lm
IFBMQVRGT1JNKE1BQykKKyAgICBbW05TUGFzdGVib2FyZCBnZW5lcmFsUGFzdGVib2FyZF0gc2V0
U3RyaW5nOmNvcGllZFN0cmluZyBmb3JUeXBlOkAicHVibGljLnV0ZjgtcGxhaW4tdGV4dCJdOwor
I2VsaWYgUExBVEZPUk0oSU9TKQorICAgIFtbVUlQYXN0ZWJvYXJkIGdlbmVyYWxQYXN0ZWJvYXJk
XSBzZXRWYWx1ZTpjb3BpZWRTdHJpbmcgZm9yUGFzdGVib2FyZFR5cGU6QCJwdWJsaWMudXRmOC1w
bGFpbi10ZXh0Il07CisjZW5kaWYKKyAgICBbd2ViVmlldyBwZXJmb3JtU2VsZWN0b3I6QHNlbGVj
dG9yKHBhc3RlOikgd2l0aE9iamVjdDpuaWxdOworCisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6
cnVuKCZzaG91bGRJbnNlcnRUZXh0Q2FsbGVkKTsKKworICAgIF9fYmxvY2sgYm9vbCBkb25lRXZh
bHVhdGluZ0phdmFTY3JpcHQgPSBmYWxzZTsKKyAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3Jp
cHQ6QCJkb2N1bWVudC5ib2R5LmZpcnN0Q2hpbGQudGV4dENvbnRlbnQiIGNvbXBsZXRpb25IYW5k
bGVyOl4oaWQgX051bGxhYmxlIHZhbHVlLCBOU0Vycm9yICogX051bGxhYmxlIGVycm9yKSB7Cisg
ICAgICAgIEVYUEVDVF9OVUxMKGVycm9yKTsKKyAgICAgICAgRVhQRUNUX1RSVUUoW3ZhbHVlIGlz
S2luZE9mQ2xhc3M6W05TU3RyaW5nIGNsYXNzXV0pOworICAgICAgICBFWFBFQ1RfV0tfU1RSRVEo
Ikp1c3Qgc29tZXRoaW5nIHRvIGNvcHkgIiwgKE5TU3RyaW5nICopdmFsdWUpOworICAgICAgICBk
b25lRXZhbHVhdGluZ0phdmFTY3JpcHQgPSB0cnVlOworICAgIH1dOworCisgICAgVGVzdFdlYktp
dEFQSTo6VXRpbDo6cnVuKCZkb25lRXZhbHVhdGluZ0phdmFTY3JpcHQpOwogfQogCiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0J1bmRs
ZUVkaXRpbmdEZWxlZ2F0ZVBsdWdJbi5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0MkNvY29hL0J1bmRsZUVkaXRpbmdEZWxlZ2F0ZVBsdWdJbi5tbQppbmRleCA1NWQxMWViOWJk
NGYxYWQ1MTY3MGE3NjRhOTQ5YjA3Y2U3ZTZkNDFiLi5mMzc5OTkxYjU0OThmYmUxZjFhMWY5Yjg0
ZTJjYmRmOWM5ZWVhZTk2IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdDJDb2NvYS9CdW5kbGVFZGl0aW5nRGVsZWdhdGVQbHVnSW4ubW0KKysrIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvQnVuZGxlRWRpdGluZ0RlbGVnYXRlUGx1Z0lu
Lm1tCkBAIC00NSw2ICs0NSw3IEBAIEBpbXBsZW1lbnRhdGlvbiBCdW5kbGVFZGl0aW5nRGVsZWdh
dGVQbHVnSW4gewogICAgIFJldGFpblB0cjxXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4
dENvbnRyb2xsZXI+IF9icm93c2VyQ29udGV4dENvbnRyb2xsZXI7CiAgICAgUmV0YWluUHRyPFdL
V2ViUHJvY2Vzc1BsdWdJbkNvbnRyb2xsZXI+IF9wbHVnSW5Db250cm9sbGVyOwogICAgIFJldGFp
blB0cjxpZCA8QnVuZGxlRWRpdGluZ0RlbGVnYXRlUHJvdG9jb2w+PiBfcmVtb3RlT2JqZWN0Owor
ICAgIEJPT0wgX2VkaXRpbmdEZWxlZ2F0ZVNob3VsZEluc2VydFRleHQ7CiB9CiAKIC0gKHZvaWQp
d2ViUHJvY2Vzc1BsdWdJbjooV0tXZWJQcm9jZXNzUGx1Z0luQ29udHJvbGxlciAqKXBsdWdJbkNv
bnRyb2xsZXIgZGlkQ3JlYXRlQnJvd3NlckNvbnRleHRDb250cm9sbGVyOihXS1dlYlByb2Nlc3NQ
bHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIgKilicm93c2VyQ29udGV4dENvbnRyb2xsZXIK
QEAgLTU0LDEyICs1NSwyNSBAQCAtICh2b2lkKXdlYlByb2Nlc3NQbHVnSW46KFdLV2ViUHJvY2Vz
c1BsdWdJbkNvbnRyb2xsZXIgKilwbHVnSW5Db250cm9sbGVyIGRpZENyZQogICAgIF9icm93c2Vy
Q29udGV4dENvbnRyb2xsZXIgPSBicm93c2VyQ29udGV4dENvbnRyb2xsZXI7CiAgICAgX3BsdWdJ
bkNvbnRyb2xsZXIgPSBwbHVnSW5Db250cm9sbGVyOwogCisgICAgaWYgKGlkIHNob3VsZEluc2Vy
dFRleHQgPSBbcGx1Z0luQ29udHJvbGxlci5wYXJhbWV0ZXJzIHZhbHVlRm9yS2V5OkAiRWRpdGlu
Z0RlbGVnYXRlU2hvdWxkSW5zZXJ0VGV4dCJdKSB7CisgICAgICAgIEFTU0VSVChbc2hvdWxkSW5z
ZXJ0VGV4dCBpc0tpbmRPZkNsYXNzOltOU051bWJlciBjbGFzc11dKTsKKyAgICAgICAgX2VkaXRp
bmdEZWxlZ2F0ZVNob3VsZEluc2VydFRleHQgPSBbKE5TTnVtYmVyICopc2hvdWxkSW5zZXJ0VGV4
dCBib29sVmFsdWVdOworICAgIH0gZWxzZQorICAgICAgICBfZWRpdGluZ0RlbGVnYXRlU2hvdWxk
SW5zZXJ0VGV4dCA9IFlFUzsKKwogICAgIF9XS1JlbW90ZU9iamVjdEludGVyZmFjZSAqaW50ZXJm
YWNlID0gW19XS1JlbW90ZU9iamVjdEludGVyZmFjZSByZW1vdGVPYmplY3RJbnRlcmZhY2VXaXRo
UHJvdG9jb2w6QHByb3RvY29sKEJ1bmRsZUVkaXRpbmdEZWxlZ2F0ZVByb3RvY29sKV07CiAgICAg
X3JlbW90ZU9iamVjdCA9IFticm93c2VyQ29udGV4dENvbnRyb2xsZXIuX3JlbW90ZU9iamVjdFJl
Z2lzdHJ5IHJlbW90ZU9iamVjdFByb3h5V2l0aEludGVyZmFjZTppbnRlcmZhY2VdOwogCiAgICAg
W19icm93c2VyQ29udGV4dENvbnRyb2xsZXIgX3NldEVkaXRpbmdEZWxlZ2F0ZTpzZWxmXTsKIH0K
IAorLSAoQk9PTClfd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjooV0tX
ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyICopY29udHJvbGxlciBzaG91
bGRJbnNlcnRUZXh0Oihub25udWxsIE5TU3RyaW5nICopdGV4dCByZXBsYWNpbmdSYW5nZToobm9u
bnVsbCBXS1dlYlByb2Nlc3NQbHVnSW5SYW5nZUhhbmRsZSAqKXJhbmdlIGdpdmVuQWN0aW9uOihX
S0VkaXRvckluc2VydEFjdGlvbilhY3Rpb24KK3sKKyAgICBKU1ZhbHVlICpqc1JhbmdlID0gW3Jh
bmdlLmZyYW1lIGpzUmFuZ2VGb3JSYW5nZUhhbmRsZTpyYW5nZSBpbldvcmxkOltXS1dlYlByb2Nl
c3NQbHVnSW5TY3JpcHRXb3JsZCBub3JtYWxXb3JsZF1dOworICAgIFtfcmVtb3RlT2JqZWN0IHNo
b3VsZEluc2VydFRleHQ6dGV4dCByZXBsYWNpbmdSYW5nZTpbanNSYW5nZSB0b1N0cmluZ10gZ2l2
ZW5BY3Rpb246YWN0aW9uXTsKKyAgICByZXR1cm4gX2VkaXRpbmdEZWxlZ2F0ZVNob3VsZEluc2Vy
dFRleHQ7Cit9CisKIC0gKHZvaWQpX3dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRy
b2xsZXI6KFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlciAqKWNvbnRy
b2xsZXIgd2lsbFdyaXRlUmFuZ2VUb1Bhc3RlYm9hcmQ6KFdLV2ViUHJvY2Vzc1BsdWdJblJhbmdl
SGFuZGxlICopcmFuZ2UKIHsKICAgICBKU1ZhbHVlICpqc1JhbmdlID0gW3JhbmdlLmZyYW1lIGpz
UmFuZ2VGb3JSYW5nZUhhbmRsZTpyYW5nZSBpbldvcmxkOltXS1dlYlByb2Nlc3NQbHVnSW5TY3Jp
cHRXb3JsZCBub3JtYWxXb3JsZF1dOwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQyQ29jb2EvQnVuZGxlRWRpdGluZ0RlbGVnYXRlUHJvdG9jb2wuaCBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0J1bmRsZUVkaXRpbmdEZWxlZ2F0ZVBy
b3RvY29sLmgKaW5kZXggZWQ3ODk4ZDliZDA3ZmRlMjhhYTFjODdlNmQzOGQ5Zjk4NWM4NDFlYS4u
NTI4YWZhMGU5NWQ0ZjdmMDlmODBhYTBiZGEwYTc3MWNkYWE5MGQxYSAxMDA2NDQKLS0tIGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvQnVuZGxlRWRpdGluZ0RlbGVnYXRl
UHJvdG9jb2wuaAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9C
dW5kbGVFZGl0aW5nRGVsZWdhdGVQcm90b2NvbC5oCkBAIC0yNyw4ICsyNywxMSBAQAogCiAjaWYg
V0tfQVBJX0VOQUJMRUQKIAorI2ltcG9ydCA8V2ViS2l0L1dLV2ViUHJvY2Vzc1BsdWdJbkVkaXRp
bmdEZWxlZ2F0ZS5oPgorCiBAcHJvdG9jb2wgQnVuZGxlRWRpdGluZ0RlbGVnYXRlUHJvdG9jb2wg
PE5TT2JqZWN0PgogCistICh2b2lkKXNob3VsZEluc2VydFRleHQ6KE5TU3RyaW5nICopdGV4dCBy
ZXBsYWNpbmdSYW5nZTooTlNTdHJpbmcgKilyYW5nZUFzU3RyaW5nIGdpdmVuQWN0aW9uOihXS0Vk
aXRvckluc2VydEFjdGlvbilhY3Rpb247CiAtICh2b2lkKXdpbGxXcml0ZVRvUGFzdGVib2FyZDoo
TlNTdHJpbmcgKilyYW5nZUFzU3RyaW5nOwogLSAodm9pZClkaWRXcml0ZVRvUGFzdGVib2FyZDsK
IAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>