<?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>147364</bug_id>
          
          <creation_ts>2015-07-28 10:38:57 -0700</creation_ts>
          <short_desc>Web Inspector: Convert NavigationItem subclasses to ES6</short_desc>
          <delta_ts>2015-07-28 14:54:41 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Brian Burg">burg</reporter>
          <assigned_to name="Brian Burg">burg</assigned_to>
          <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>jonowells</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1112753</commentid>
    <comment_count>0</comment_count>
    <who name="Brian Burg">burg</who>
    <bug_when>2015-07-28 10:38:57 -0700</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112754</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-07-28 10:39:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/22033042&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112756</commentid>
    <comment_count>2</comment_count>
      <attachid>257658</attachid>
    <who name="Brian Burg">burg</who>
    <bug_when>2015-07-28 10:43:17 -0700</bug_when>
    <thetext>Created attachment 257658
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112803</commentid>
    <comment_count>3</comment_count>
      <attachid>257658</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-07-28 12:19:14 -0700</bug_when>
    <thetext>Comment on attachment 257658
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Views/NavigationItem.js:93
&gt;          var classNames = [WebInspector.NavigationItem.StyleClassName];

Could inline this and remove the global.

&gt; Source/WebInspectorUI/UserInterface/Views/NavigationItem.js:103
&gt; +WebInspector.NavigationItem.HiddenStyleClassName = &quot;hidden&quot;;

Could be inlined in get hidden(), and use classList.toggle(&quot;hidden&quot;, flag) there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112886</commentid>
    <comment_count>4</comment_count>
      <attachid>257658</attachid>
    <who name="Brian Burg">burg</who>
    <bug_when>2015-07-28 14:52:54 -0700</bug_when>
    <thetext>Comment on attachment 257658
Patch

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/NavigationItem.js:103
&gt;&gt; +WebInspector.NavigationItem.HiddenStyleClassName = &quot;hidden&quot;;
&gt; 
&gt; Could be inlined in get hidden(), and use classList.toggle(&quot;hidden&quot;, flag) there.

OK, fixed this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112887</commentid>
    <comment_count>5</comment_count>
    <who name="Brian Burg">burg</who>
    <bug_when>2015-07-28 14:54:41 -0700</bug_when>
    <thetext>Committed r187519: &lt;http://trac.webkit.org/changeset/187519&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257658</attachid>
            <date>2015-07-28 10:43:17 -0700</date>
            <delta_ts>2015-07-28 12:19:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147364-20150728104155.patch</filename>
            <type>text/plain</type>
            <size>38424</size>
            <attacher name="Brian Burg">burg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3NDcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBj
YjQ4Y2RhZTA3MjQzOGExZDgxNTllNmQ3NTMxYmE0ODNlNDM5YTg5Li4yODFjNDdkYjVlMjMyMDA0
NDhkMGZjN2Q1NzI2NWVlZjU3NjYwYWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1MiBAQAorMjAxNS0wNy0yOCAgQnJpYW4gSi4gQnVyZyAgPGJ1cmdAY3Mud2FzaGluZ3Rv
bi5lZHU+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ29udmVydCBOYXZpZ2F0aW9uSXRlbSBz
dWJjbGFzc2VzIHRvIEVTNgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTQ3MzY0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQ29udmVydCByZW1haW5pbmcgTmF2aWdhdGlvbkl0ZW0gc3ViY2xhc3NlcyB0byB1
c2UgRVM2IGNsYXNzLgorCisgICAgICAgIEFsc28gcHJvbW90ZSB0aGUgX2FkZGl0aW9uYWxDbGFz
c05hbWVzIHRvIGJlIGEgcHJvdGVjdGVkIGdldHRlciwKKyAgICAgICAgYW5kIGlubGluZSB0aGUg
c3R5bGUgY2xhc3MgbmFtZXMgdGhhdCBhcmUgb25seSB1c2VkIGluIG9uZSBwbGFjZS4KKworICAg
ICAgICBNZWNoYW5pY2FsIGNoYW5nZXMgYXJlIGVsaWRlZCBmcm9tIHRoZSBjaGFuZ2Vsb2cuCisK
KyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0FjdGl2YXRlQnV0dG9uTmF2aWdhdGlvbkl0
ZW0uanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQWN0aXZhdGVCdXR0b25OYXZpZ2F0aW9uSXRl
bSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQWN0aXZhdGVCdXR0b25OYXZpZ2F0aW9uSXRlbS5w
cm90b3R5cGUuZ2V0IGFkZGl0aW9uYWxDbGFzc05hbWVzKToKKyAgICAgICAgKiBVc2VySW50ZXJm
YWNlL1ZpZXdzL0FjdGl2YXRlQnV0dG9uVG9vbGJhckl0ZW0uanM6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuQWN0aXZhdGVCdXR0b25Ub29sYmFySXRlbSk6CisgICAgICAgICogVXNlckludGVyZmFj
ZS9WaWV3cy9CdXR0b25OYXZpZ2F0aW9uSXRlbS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5C
dXR0b25OYXZpZ2F0aW9uSXRlbSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQnV0dG9uTmF2aWdh
dGlvbkl0ZW0ucHJvdG90eXBlLmdldCBhZGRpdGlvbmFsQ2xhc3NOYW1lcyk6CisgICAgICAgICog
VXNlckludGVyZmFjZS9WaWV3cy9CdXR0b25Ub29sYmFySXRlbS5qczoKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5CdXR0b25Ub29sYmFySXRlbSk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3
cy9Db250cm9sVG9vbGJhckl0ZW0uanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29udHJvbFRv
b2xiYXJJdGVtKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db250cm9sVG9vbGJhckl0ZW0ucHJv
dG90eXBlLmdldCBhZGRpdGlvbmFsQ2xhc3NOYW1lcyk6CisgICAgICAgICogVXNlckludGVyZmFj
ZS9WaWV3cy9EaXZpZGVyTmF2aWdhdGlvbkl0ZW0uanM6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
RGl2aWRlck5hdmlnYXRpb25JdGVtKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EaXZpZGVyTmF2
aWdhdGlvbkl0ZW0ucHJvdG90eXBlLmdldCBhZGRpdGlvbmFsQ2xhc3NOYW1lcyk6CisgICAgICAg
ICogVXNlckludGVyZmFjZS9WaWV3cy9GbGV4aWJsZVNwYWNlTmF2aWdhdGlvbkl0ZW0uanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuRmxleGlibGVTcGFjZU5hdmlnYXRpb25JdGVtKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5GbGV4aWJsZVNwYWNlTmF2aWdhdGlvbkl0ZW0ucHJvdG90eXBlLmdl
dCBhZGRpdGlvbmFsQ2xhc3NOYW1lcyk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9I
aWVyYXJjaGljYWxQYXRoTmF2aWdhdGlvbkl0ZW0uanM6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
SGllcmFyY2hpY2FsUGF0aE5hdmlnYXRpb25JdGVtLnByb3RvdHlwZS5nZXQgYWRkaXRpb25hbENs
YXNzTmFtZXMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkhpZXJhcmNoaWNhbFBhdGhOYXZpZ2F0
aW9uSXRlbS5wcm90b3R5cGUuZ2V0IF9hZGRpdGlvbmFsQ2xhc3NOYW1lcyk6IERlbGV0ZWQuCisg
ICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9OYXZpZ2F0aW9uSXRlbS5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5OYXZpZ2F0aW9uSXRlbSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmF2
aWdhdGlvbkl0ZW0ucHJvdG90eXBlLmdldCBfY2xhc3NOYW1lcyk6CisgICAgICAgICogVXNlcklu
dGVyZmFjZS9WaWV3cy9SYWRpb0J1dHRvbk5hdmlnYXRpb25JdGVtLmpzOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlJhZGlvQnV0dG9uTmF2aWdhdGlvbkl0ZW0pOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlJhZGlvQnV0dG9uTmF2aWdhdGlvbkl0ZW0ucHJvdG90eXBlLmdldCBhZGRpdGlvbmFsQ2xh
c3NOYW1lcyk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9Ub2dnbGVCdXR0b25OYXZp
Z2F0aW9uSXRlbS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Ub2dnbGVCdXR0b25OYXZpZ2F0
aW9uSXRlbSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVG9nZ2xlQnV0dG9uTmF2aWdhdGlvbkl0
ZW0ucHJvdG90eXBlLmdldCBhZGRpdGlvbmFsQ2xhc3NOYW1lcyk6CisgICAgICAgICogVXNlcklu
dGVyZmFjZS9WaWV3cy9Ub2dnbGVDb250cm9sVG9vbGJhckl0ZW0uanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuVG9nZ2xlQ29udHJvbFRvb2xiYXJJdGVtKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5Ub2dnbGVDb250cm9sVG9vbGJhckl0ZW0ucHJvdG90eXBlLmdldCBhZGRpdGlvbmFsQ2xhc3NO
YW1lcyk6CisKIDIwMTUtMDctMjcgIE1hdHQgQmFrZXIgIDxtYXR0YmFrZXJAYXBwbGUuY29tPgog
CiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IENsaWNraW5nIGEgZnJhbWUgaW4gdGhlIFJlbmRlcmlu
ZyBGcmFtZXMgdGltZWxpbmUgc2hvdWxkIHNlbGVjdCB0aGUgY29ycmVzcG9uZGluZyBncmlkIHJv
dwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
QWN0aXZhdGVCdXR0b25OYXZpZ2F0aW9uSXRlbS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0FjdGl2YXRlQnV0dG9uTmF2aWdhdGlvbkl0ZW0uanMKaW5kZXgg
N2Y3OGMzN2NhMDY1ODRhNzhhY2RiMWFkMzI1OGU2MDY3MWFjNmRlMy4uMWZmM2NiOTEzYmI5MTg5
NGZkYjY2ZmRiMzVjOGJiNzM3ZDQ1ZmFhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQWN0aXZhdGVCdXR0b25OYXZpZ2F0aW9uSXRlbS5qcwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9BY3RpdmF0ZUJ1
dHRvbk5hdmlnYXRpb25JdGVtLmpzCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTMsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC0yMywzNyArMjMsMzMgQEAKICAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi1XZWJJbnNwZWN0b3IuQWN0aXZhdGVCdXR0b25OYXZp
Z2F0aW9uSXRlbSA9IGZ1bmN0aW9uKGlkZW50aWZpZXIsIGRlZmF1bHRUb29sVGlwLCBhY3RpdmF0
ZWRUb29sVGlwLCBpbWFnZSwgaW1hZ2VXaWR0aCwgaW1hZ2VIZWlnaHQsIHN1cHByZXNzRW1ib3Nz
LCByb2xlKQorV2ViSW5zcGVjdG9yLkFjdGl2YXRlQnV0dG9uTmF2aWdhdGlvbkl0ZW0gPSBjbGFz
cyBBY3RpdmF0ZUJ1dHRvbk5hdmlnYXRpb25JdGVtIGV4dGVuZHMgV2ViSW5zcGVjdG9yLkJ1dHRv
bk5hdmlnYXRpb25JdGVtCiB7Ci0gICAgV2ViSW5zcGVjdG9yLkJ1dHRvbk5hdmlnYXRpb25JdGVt
LmNhbGwodGhpcywgaWRlbnRpZmllciwgZGVmYXVsdFRvb2xUaXAsIGltYWdlLCBpbWFnZVdpZHRo
LCBpbWFnZUhlaWdodCwgc3VwcHJlc3NFbWJvc3MsIHJvbGUpOwotCi0gICAgdGhpcy5fZGVmYXVs
dFRvb2xUaXAgPSBkZWZhdWx0VG9vbFRpcDsKLSAgICB0aGlzLl9hY3RpdmF0ZWRUb29sVGlwID0g
YWN0aXZhdGVkVG9vbFRpcCB8fCBkZWZhdWx0VG9vbFRpcDsKLSAgICB0aGlzLl9yb2xlID0gcm9s
ZTsKLX07Ci0KLVdlYkluc3BlY3Rvci5BY3RpdmF0ZUJ1dHRvbk5hdmlnYXRpb25JdGVtLlN0eWxl
Q2xhc3NOYW1lID0gImFjdGl2YXRlIjsKLVdlYkluc3BlY3Rvci5BY3RpdmF0ZUJ1dHRvbk5hdmln
YXRpb25JdGVtLkFjdGl2YXRlZFN0eWxlQ2xhc3NOYW1lID0gImFjdGl2YXRlZCI7CisgICAgY29u
c3RydWN0b3IoaWRlbnRpZmllciwgZGVmYXVsdFRvb2xUaXAsIGFjdGl2YXRlZFRvb2xUaXAsIGlt
YWdlLCBpbWFnZVdpZHRoLCBpbWFnZUhlaWdodCwgc3VwcHJlc3NFbWJvc3MsIHJvbGUpCisgICAg
eworICAgICAgICBzdXBlcihpZGVudGlmaWVyLCBkZWZhdWx0VG9vbFRpcCwgaW1hZ2UsIGltYWdl
V2lkdGgsIGltYWdlSGVpZ2h0LCBzdXBwcmVzc0VtYm9zcywgcm9sZSk7CiAKLVdlYkluc3BlY3Rv
ci5BY3RpdmF0ZUJ1dHRvbk5hdmlnYXRpb25JdGVtLnByb3RvdHlwZSA9IHsKLSAgICBjb25zdHJ1
Y3RvcjogV2ViSW5zcGVjdG9yLkFjdGl2YXRlQnV0dG9uTmF2aWdhdGlvbkl0ZW0sCisgICAgICAg
IHRoaXMuX2RlZmF1bHRUb29sVGlwID0gZGVmYXVsdFRvb2xUaXA7CisgICAgICAgIHRoaXMuX2Fj
dGl2YXRlZFRvb2xUaXAgPSBhY3RpdmF0ZWRUb29sVGlwIHx8IGRlZmF1bHRUb29sVGlwOworICAg
ICAgICB0aGlzLl9yb2xlID0gcm9sZTsKKyAgICB9CiAKICAgICAvLyBQdWJsaWMKIAogICAgIGdl
dCBkZWZhdWx0VG9vbFRpcCgpCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5fZGVmYXVsdFRv
b2xUaXA7Ci0gICAgfSwKKyAgICB9CiAKICAgICBnZXQgYWN0aXZhdGVkVG9vbFRpcCgpCiAgICAg
ewogICAgICAgICByZXR1cm4gdGhpcy5fYWN0aXZhdGVkVG9vbFRpcDsKLSAgICB9LAorICAgIH0K
IAogICAgIGdldCBhY3RpdmF0ZWQoKQogICAgIHsKICAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVu
dC5jbGFzc0xpc3QuY29udGFpbnMoV2ViSW5zcGVjdG9yLkFjdGl2YXRlQnV0dG9uTmF2aWdhdGlv
bkl0ZW0uQWN0aXZhdGVkU3R5bGVDbGFzc05hbWUpOwotICAgIH0sCisgICAgfQogCiAgICAgc2V0
IGFjdGl2YXRlZChmbGFnKQogICAgIHsKQEAgLTY4LDkgKzY0LDkgQEAgV2ViSW5zcGVjdG9yLkFj
dGl2YXRlQnV0dG9uTmF2aWdhdGlvbkl0ZW0ucHJvdG90eXBlID0gewogICAgICAgICAgICAgaWYg
KHRoaXMuX3JvbGUgPT09ICJ0YWIiKQogICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5yZW1v
dmVBdHRyaWJ1dGUoImFyaWEtc2VsZWN0ZWQiKTsKICAgICAgICAgfQotICAgIH0sCisgICAgfQog
Ci0gICAgZ2VuZXJhdGVTdHlsZVRleHQ6IGZ1bmN0aW9uKHBhcmVudFNlbGVjdG9yKQorICAgIGdl
bmVyYXRlU3R5bGVUZXh0KHBhcmVudFNlbGVjdG9yKQogICAgIHsKICAgICAgICAgdmFyIGNsYXNz
TmFtZXMgPSB0aGlzLl9jbGFzc05hbWVzLmpvaW4oIi4iKTsKIApAQCAtOTMsMTEgKzg5LDE0IEBA
IFdlYkluc3BlY3Rvci5BY3RpdmF0ZUJ1dHRvbk5hdmlnYXRpb25JdGVtLnByb3RvdHlwZSA9IHsK
ICAgICAgICAgfQogCiAgICAgICAgIHJldHVybiBzdHlsZVRleHQ7Ci0gICAgfSwKKyAgICB9CiAK
LSAgICAvLyBQcml2YXRlCisgICAgLy8gUHJvdGVjdGVkCiAKLSAgICBfYWRkaXRpb25hbENsYXNz
TmFtZXM6IFtXZWJJbnNwZWN0b3IuQWN0aXZhdGVCdXR0b25OYXZpZ2F0aW9uSXRlbS5TdHlsZUNs
YXNzTmFtZSwgV2ViSW5zcGVjdG9yLkJ1dHRvbk5hdmlnYXRpb25JdGVtLlN0eWxlQ2xhc3NOYW1l
XQorICAgIGdldCBhZGRpdGlvbmFsQ2xhc3NOYW1lcygpCisgICAgeworICAgICAgICByZXR1cm4g
WyJhY3RpdmF0ZSIsICJidXR0b24iXTsKKyAgICB9CiB9OwogCi1XZWJJbnNwZWN0b3IuQWN0aXZh
dGVCdXR0b25OYXZpZ2F0aW9uSXRlbS5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9y
LkJ1dHRvbk5hdmlnYXRpb25JdGVtLnByb3RvdHlwZTsKK1dlYkluc3BlY3Rvci5BY3RpdmF0ZUJ1
dHRvbk5hdmlnYXRpb25JdGVtLkFjdGl2YXRlZFN0eWxlQ2xhc3NOYW1lID0gImFjdGl2YXRlZCI7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9B
Y3RpdmF0ZUJ1dHRvblRvb2xiYXJJdGVtLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvQWN0aXZhdGVCdXR0b25Ub29sYmFySXRlbS5qcwppbmRleCAyMzNhNmFk
MzkyNzYwYzE4MTdlZDdmNjZkNmY2MDQzYjNjZDc2MTYxLi4xOTRkNDExZmRmYmM0MDEwMWRmNjc4
OGNlNzM1MDIzZDcyYjBkNzlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9BY3RpdmF0ZUJ1dHRvblRvb2xiYXJJdGVtLmpzCisrKyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0FjdGl2YXRlQnV0dG9uVG9vbGJh
ckl0ZW0uanMKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTIzLDI4ICsyMywyNyBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgogICovCiAKLVdlYkluc3BlY3Rvci5BY3RpdmF0ZUJ1dHRvblRvb2xiYXJJdGVtID0gZnVu
Y3Rpb24oaWRlbnRpZmllciwgZGVmYXVsdFRvb2xUaXAsIGFjdGl2YXRlZFRvb2xUaXAsIGxhYmVs
LCBpbWFnZSwgc3VwcHJlc3NFbWJvc3MsIHJvbGUpCitXZWJJbnNwZWN0b3IuQWN0aXZhdGVCdXR0
b25Ub29sYmFySXRlbSA9IGNsYXNzIEFjdGl2YXRlQnV0dG9uVG9vbGJhckl0ZW0gZXh0ZW5kcyBX
ZWJJbnNwZWN0b3IuQWN0aXZhdGVCdXR0b25OYXZpZ2F0aW9uSXRlbQogewotICAgIFdlYkluc3Bl
Y3Rvci5BY3RpdmF0ZUJ1dHRvbk5hdmlnYXRpb25JdGVtLmNhbGwodGhpcywgaWRlbnRpZmllciwg
ZGVmYXVsdFRvb2xUaXAsIGFjdGl2YXRlZFRvb2xUaXAsIGltYWdlLCAzMiwgMzIsIHN1cHByZXNz
RW1ib3NzLCByb2xlKTsKKyAgICBjb25zdHJ1Y3RvcihpZGVudGlmaWVyLCBkZWZhdWx0VG9vbFRp
cCwgYWN0aXZhdGVkVG9vbFRpcCwgbGFiZWwsIGltYWdlLCBzdXBwcmVzc0VtYm9zcywgcm9sZSkK
KyAgICB7CisgICAgICAgIHN1cGVyKGlkZW50aWZpZXIsIGRlZmF1bHRUb29sVGlwLCBhY3RpdmF0
ZWRUb29sVGlwLCBpbWFnZSwgMzIsIDMyLCBzdXBwcmVzc0VtYm9zcywgcm9sZSk7CiAKLSAgICBp
ZiAodHlwZW9mIGxhYmVsID09PSAic3RyaW5nIikgewotICAgICAgICB0aGlzLl9sYWJlbEVsZW1l
bnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICAgICAgdGhpcy5fbGFiZWxF
bGVtZW50LmNsYXNzTmFtZSA9IFdlYkluc3BlY3Rvci5CdXR0b25Ub29sYmFySXRlbS5MYWJlbFN0
eWxlQ2xhc3NOYW1lOwotICAgICAgICB0aGlzLl9lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX2xh
YmVsRWxlbWVudCk7CisgICAgICAgIGlmICh0eXBlb2YgbGFiZWwgPT09ICJzdHJpbmciKSB7Cisg
ICAgICAgICAgICB0aGlzLl9sYWJlbEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJk
aXYiKTsKKyAgICAgICAgICAgIHRoaXMuX2xhYmVsRWxlbWVudC5jbGFzc05hbWUgPSBXZWJJbnNw
ZWN0b3IuQnV0dG9uVG9vbGJhckl0ZW0uTGFiZWxTdHlsZUNsYXNzTmFtZTsKKyAgICAgICAgICAg
IHRoaXMuX2VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fbGFiZWxFbGVtZW50KTsKIAotICAgICAg
ICB0aGlzLmxhYmVsID0gbGFiZWw7CisgICAgICAgICAgICB0aGlzLmxhYmVsID0gbGFiZWw7Cisg
ICAgICAgIH0KICAgICB9Ci19OwotCi1XZWJJbnNwZWN0b3IuQWN0aXZhdGVCdXR0b25Ub29sYmFy
SXRlbS5wcm90b3R5cGUgPSB7Ci0gICAgY29uc3RydWN0b3I6IFdlYkluc3BlY3Rvci5BY3RpdmF0
ZUJ1dHRvblRvb2xiYXJJdGVtLAogCiAgICAgLy8gUHVibGljCiAKICAgICBnZXQgbGFiZWwoKQog
ICAgIHsKICAgICAgICAgcmV0dXJuIHRoaXMuX2xhYmVsRWxlbWVudC50ZXh0Q29udGVudDsKLSAg
ICB9LAorICAgIH0KIAogICAgIHNldCBsYWJlbChuZXdMYWJlbCkKICAgICB7CkBAIC01NSw1ICs1
NCwzIEBAIFdlYkluc3BlY3Rvci5BY3RpdmF0ZUJ1dHRvblRvb2xiYXJJdGVtLnByb3RvdHlwZSA9
IHsKICAgICAgICAgdGhpcy5fbGFiZWxFbGVtZW50LnRleHRDb250ZW50ID0gbmV3TGFiZWw7CiAg
ICAgfQogfTsKLQotV2ViSW5zcGVjdG9yLkFjdGl2YXRlQnV0dG9uVG9vbGJhckl0ZW0ucHJvdG90
eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5BY3RpdmF0ZUJ1dHRvbk5hdmlnYXRpb25JdGVt
LnByb3RvdHlwZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0J1dHRvbk5hdmlnYXRpb25JdGVtLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvQnV0dG9uTmF2aWdhdGlvbkl0ZW0uanMKaW5kZXggNDlmYjEy
NjU3NDg2MDBjNGMzMjgyMDJhZGY3MjQ4YTUwYWQ5MjBmYi4uOTZmYmEyNDJlNDQ3ZDMzZTkwNjI3
ZWZkNTI5NTE0YmE1YmRkNTg5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvQnV0dG9uTmF2aWdhdGlvbkl0ZW0uanMKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQnV0dG9uTmF2aWdhdGlvbkl0ZW0uanMK
QEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTIzLDU5ICsyMyw0NiBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICov
CiAKLVdlYkluc3BlY3Rvci5CdXR0b25OYXZpZ2F0aW9uSXRlbSA9IGZ1bmN0aW9uKGlkZW50aWZp
ZXIsIHRvb2xUaXBPckxhYmVsLCBpbWFnZSwgaW1hZ2VXaWR0aCwgaW1hZ2VIZWlnaHQsIHN1cHBy
ZXNzRW1ib3NzLCByb2xlLCBsYWJlbCkgewotICAgIFdlYkluc3BlY3Rvci5OYXZpZ2F0aW9uSXRl
bS5jYWxsKHRoaXMsIGlkZW50aWZpZXIpOwotCi0gICAgY29uc29sZS5hc3NlcnQoaWRlbnRpZmll
cik7Ci0gICAgY29uc29sZS5hc3NlcnQodG9vbFRpcE9yTGFiZWwpOwotCi0gICAgdGhpcy50b29s
VGlwID0gdG9vbFRpcE9yTGFiZWw7CitXZWJJbnNwZWN0b3IuQnV0dG9uTmF2aWdhdGlvbkl0ZW0g
PSBjbGFzcyBCdXR0b25OYXZpZ2F0aW9uSXRlbSBleHRlbmRzIFdlYkluc3BlY3Rvci5OYXZpZ2F0
aW9uSXRlbQoreworICAgIGNvbnN0cnVjdG9yKGlkZW50aWZpZXIsIHRvb2xUaXBPckxhYmVsLCBp
bWFnZSwgaW1hZ2VXaWR0aCwgaW1hZ2VIZWlnaHQsIHN1cHByZXNzRW1ib3NzLCByb2xlLCBsYWJl
bCkKKyAgICB7CisgICAgICAgIHN1cGVyKGlkZW50aWZpZXIpOwogCi0gICAgdGhpcy5fZWxlbWVu
dC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHRoaXMuX21vdXNlQ2xpY2tlZC5iaW5kKHRoaXMp
KTsKKyAgICAgICAgdGhpcy5fZW1ib3NzZWRJbWFnZVN0YXRlcyA9IFdlYkluc3BlY3Rvci5CdXR0
b25OYXZpZ2F0aW9uSXRlbS5TdGF0ZXM7CisgICAgICAgIHRoaXMuX2ltYWdlQ2FjaGVhYmxlID0g
dHJ1ZTsKIAotICAgIHRoaXMuX2VsZW1lbnQuc2V0QXR0cmlidXRlKCJyb2xlIiwgcm9sZSB8fCAi
YnV0dG9uIik7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGlkZW50aWZpZXIpOworICAgICAgICBj
b25zb2xlLmFzc2VydCh0b29sVGlwT3JMYWJlbCk7CiAKLSAgICBpZiAobGFiZWwpCi0gICAgICAg
IHRoaXMuX2VsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIiwgbGFiZWwpOworICAgICAg
ICB0aGlzLnRvb2xUaXAgPSB0b29sVGlwT3JMYWJlbDsKIAotICAgIHRoaXMuX2ltYWdlV2lkdGgg
PSBpbWFnZVdpZHRoIHx8IDE2OwotICAgIHRoaXMuX2ltYWdlSGVpZ2h0ID0gaW1hZ2VIZWlnaHQg
fHwgMTY7Ci0gICAgdGhpcy5fc3VwcHJlc3NFbWJvc3MgPSBzdXBwcmVzc0VtYm9zcyB8fCBmYWxz
ZTsKKyAgICAgICAgdGhpcy5fZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHRoaXMu
X21vdXNlQ2xpY2tlZC5iaW5kKHRoaXMpKTsKIAotICAgIGlmIChzdXBwcmVzc0VtYm9zcykKLSAg
ICAgICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKFdlYkluc3BlY3Rvci5CdXR0b25OYXZp
Z2F0aW9uSXRlbS5TdXBwcmVzc0VtYm9zc1N0eWxlQ2xhc3NOYW1lKTsKKyAgICAgICAgdGhpcy5f
ZWxlbWVudC5zZXRBdHRyaWJ1dGUoInJvbGUiLCByb2xlIHx8ICJidXR0b24iKTsKIAotICAgIGlm
IChpbWFnZSkKLSAgICAgICAgdGhpcy5pbWFnZSA9IGltYWdlOwotICAgIGVsc2UKLSAgICAgICAg
dGhpcy5sYWJlbCA9IHRvb2xUaXBPckxhYmVsOwotfTsKKyAgICAgICAgaWYgKGxhYmVsKQorICAg
ICAgICAgICAgdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLCBsYWJlbCk7
CiAKLVdlYkluc3BlY3Rvci5CdXR0b25OYXZpZ2F0aW9uSXRlbS5TdHlsZUNsYXNzTmFtZSA9ICJi
dXR0b24iOwotV2ViSW5zcGVjdG9yLkJ1dHRvbk5hdmlnYXRpb25JdGVtLkRpc2FibGVkU3R5bGVD
bGFzc05hbWUgPSAiZGlzYWJsZWQiOwotV2ViSW5zcGVjdG9yLkJ1dHRvbk5hdmlnYXRpb25JdGVt
LlN1cHByZXNzQmV6ZWxTdHlsZUNsYXNzTmFtZSA9ICJzdXBwcmVzcy1iZXplbCI7Ci1XZWJJbnNw
ZWN0b3IuQnV0dG9uTmF2aWdhdGlvbkl0ZW0uU3VwcHJlc3NFbWJvc3NTdHlsZUNsYXNzTmFtZSA9
ICJzdXBwcmVzcy1lbWJvc3MiOwotV2ViSW5zcGVjdG9yLkJ1dHRvbk5hdmlnYXRpb25JdGVtLlRl
eHRPbmx5Q2xhc3NOYW1lID0gInRleHQtb25seSI7CisgICAgICAgIHRoaXMuX2ltYWdlV2lkdGgg
PSBpbWFnZVdpZHRoIHx8IDE2OworICAgICAgICB0aGlzLl9pbWFnZUhlaWdodCA9IGltYWdlSGVp
Z2h0IHx8IDE2OworICAgICAgICB0aGlzLl9zdXBwcmVzc0VtYm9zcyA9IHN1cHByZXNzRW1ib3Nz
IHx8IGZhbHNlOwogCi1XZWJJbnNwZWN0b3IuQnV0dG9uTmF2aWdhdGlvbkl0ZW0uU3RhdGVzID0g
e307Ci1XZWJJbnNwZWN0b3IuQnV0dG9uTmF2aWdhdGlvbkl0ZW0uU3RhdGVzLk5vcm1hbCA9ICJu
b3JtYWwiOwotV2ViSW5zcGVjdG9yLkJ1dHRvbk5hdmlnYXRpb25JdGVtLlN0YXRlcy5BY3RpdmUg
PSAiYWN0aXZlIjsKLVdlYkluc3BlY3Rvci5CdXR0b25OYXZpZ2F0aW9uSXRlbS5TdGF0ZXMuRm9j
dXMgPSAiZm9jdXMiOwotV2ViSW5zcGVjdG9yLkJ1dHRvbk5hdmlnYXRpb25JdGVtLlN0YXRlcy5B
Y3RpdmVGb2N1cyA9ICJhY3RpdmUtZm9jdXMiOworICAgICAgICBpZiAoc3VwcHJlc3NFbWJvc3Mp
CisgICAgICAgICAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQoV2ViSW5zcGVjdG9yLkJ1
dHRvbk5hdmlnYXRpb25JdGVtLlN1cHByZXNzRW1ib3NzU3R5bGVDbGFzc05hbWUpOwogCi1XZWJJ
bnNwZWN0b3IuQnV0dG9uTmF2aWdhdGlvbkl0ZW0uRXZlbnQgPSB7Ci0gICAgQ2xpY2tlZDogImJ1
dHRvbi1uYXZpZ2F0aW9uLWl0ZW0tY2xpY2tlZCIKLX07Ci0KLVdlYkluc3BlY3Rvci5CdXR0b25O
YXZpZ2F0aW9uSXRlbS5wcm90b3R5cGUgPSB7Ci0gICAgY29uc3RydWN0b3I6IFdlYkluc3BlY3Rv
ci5CdXR0b25OYXZpZ2F0aW9uSXRlbSwKKyAgICAgICAgaWYgKGltYWdlKQorICAgICAgICAgICAg
dGhpcy5pbWFnZSA9IGltYWdlOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0aGlzLmxhYmVs
ID0gdG9vbFRpcE9yTGFiZWw7CisgICAgfQogCiAgICAgLy8gUHVibGljCiAKICAgICBnZXQgdG9v
bFRpcCgpCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudC50aXRsZTsKLSAgICB9
LAorICAgIH0KIAogICAgIHNldCB0b29sVGlwKG5ld1Rvb2xUaXApCiAgICAgewpAQCAtODQsMTIg
KzcxLDEyIEBAIFdlYkluc3BlY3Rvci5CdXR0b25OYXZpZ2F0aW9uSXRlbS5wcm90b3R5cGUgPSB7
CiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgdGhpcy5fZWxlbWVudC50aXRsZSA9IG5l
d1Rvb2xUaXA7Ci0gICAgfSwKKyAgICB9CiAKICAgICBnZXQgbGFiZWwoKQogICAgIHsKICAgICAg
ICAgcmV0dXJuIHRoaXMuX2VsZW1lbnQudGV4dENvbnRlbnQ7Ci0gICAgfSwKKyAgICB9CiAKICAg
ICBzZXQgbGFiZWwobmV3TGFiZWwpCiAgICAgewpAQCAtOTcsMTIgKzg0LDEyIEBAIFdlYkluc3Bl
Y3Rvci5CdXR0b25OYXZpZ2F0aW9uSXRlbS5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX2Vs
ZW1lbnQudGV4dENvbnRlbnQgPSBuZXdMYWJlbCB8fCAiIjsKICAgICAgICAgaWYgKHRoaXMucGFy
ZW50TmF2aWdhdGlvbkJhcikKICAgICAgICAgICAgIHRoaXMucGFyZW50TmF2aWdhdGlvbkJhci51
cGRhdGVMYXlvdXQoKTsKLSAgICB9LAorICAgIH0KIAogICAgIGdldCBpbWFnZSgpCiAgICAgewog
ICAgICAgICByZXR1cm4gdGhpcy5faW1hZ2U7Ci0gICAgfSwKKyAgICB9CiAKICAgICBzZXQgaW1h
Z2UobmV3SW1hZ2UpCiAgICAgewpAQCAtMTIxLDEyICsxMDgsMTIgQEAgV2ViSW5zcGVjdG9yLkJ1
dHRvbk5hdmlnYXRpb25JdGVtLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fZWxlbWVudC5h
cHBlbmRDaGlsZCh0aGlzLl9nbHlwaEVsZW1lbnQpOwogCiAgICAgICAgIHRoaXMuX3VwZGF0ZUlt
YWdlKCk7Ci0gICAgfSwKKyAgICB9CiAKICAgICBnZXQgZW5hYmxlZCgpCiAgICAgewogICAgICAg
ICByZXR1cm4gIXRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKFdlYkluc3BlY3Rvci5C
dXR0b25OYXZpZ2F0aW9uSXRlbS5EaXNhYmxlZFN0eWxlQ2xhc3NOYW1lKTsKLSAgICB9LAorICAg
IH0KIAogICAgIHNldCBlbmFibGVkKGZsYWcpCiAgICAgewpAQCAtMTM0LDEyICsxMjEsMTIgQEAg
V2ViSW5zcGVjdG9yLkJ1dHRvbk5hdmlnYXRpb25JdGVtLnByb3RvdHlwZSA9IHsKICAgICAgICAg
ICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShXZWJJbnNwZWN0b3IuQnV0dG9uTmF2
aWdhdGlvbkl0ZW0uRGlzYWJsZWRTdHlsZUNsYXNzTmFtZSk7CiAgICAgICAgIGVsc2UKICAgICAg
ICAgICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZChXZWJJbnNwZWN0b3IuQnV0dG9uTmF2
aWdhdGlvbkl0ZW0uRGlzYWJsZWRTdHlsZUNsYXNzTmFtZSk7Ci0gICAgfSwKKyAgICB9CiAKICAg
ICBnZXQgc3VwcHJlc3NCZXplbCgpCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVu
dC5jbGFzc0xpc3QuY29udGFpbnMoV2ViSW5zcGVjdG9yLkJ1dHRvbk5hdmlnYXRpb25JdGVtLlN1
cHByZXNzQmV6ZWxTdHlsZUNsYXNzTmFtZSk7Ci0gICAgfSwKKyAgICB9CiAKICAgICBzZXQgc3Vw
cHJlc3NCZXplbChmbGFnKQogICAgIHsKQEAgLTE0Nyw5ICsxMzQsOSBAQCBXZWJJbnNwZWN0b3Iu
QnV0dG9uTmF2aWdhdGlvbkl0ZW0ucHJvdG90eXBlID0gewogICAgICAgICAgICAgdGhpcy5fZWxl
bWVudC5jbGFzc0xpc3QuYWRkKFdlYkluc3BlY3Rvci5CdXR0b25OYXZpZ2F0aW9uSXRlbS5TdXBw
cmVzc0JlemVsU3R5bGVDbGFzc05hbWUpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICB0aGlz
Ll9lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoV2ViSW5zcGVjdG9yLkJ1dHRvbk5hdmlnYXRpb25J
dGVtLlN1cHByZXNzQmV6ZWxTdHlsZUNsYXNzTmFtZSk7Ci0gICAgfSwKKyAgICB9CiAKLSAgICBn
ZW5lcmF0ZVN0eWxlVGV4dDogZnVuY3Rpb24ocGFyZW50U2VsZWN0b3IpCisgICAgZ2VuZXJhdGVT
dHlsZVRleHQocGFyZW50U2VsZWN0b3IpCiAgICAgewogICAgICAgICB2YXIgY2xhc3NOYW1lcyA9
IHRoaXMuX2NsYXNzTmFtZXMuam9pbigiLiIpOwogCkBAIC0xNjcsNDIgKzE1NCw1OCBAQCBXZWJJ
bnNwZWN0b3IuQnV0dG9uTmF2aWdhdGlvbkl0ZW0ucHJvdG90eXBlID0gewogICAgICAgICB9CiAK
ICAgICAgICAgcmV0dXJuIHN0eWxlVGV4dDsKLSAgICB9LAorICAgIH0KIAotICAgIC8vIFByaXZh
dGUKKyAgICAvLyBQcm90ZWN0ZWQKIAotICAgIF9hZGRpdGlvbmFsQ2xhc3NOYW1lczogW1dlYklu
c3BlY3Rvci5CdXR0b25OYXZpZ2F0aW9uSXRlbS5TdHlsZUNsYXNzTmFtZV0sCi0gICAgX2VtYm9z
c2VkSW1hZ2VTdGF0ZXM6IFdlYkluc3BlY3Rvci5CdXR0b25OYXZpZ2F0aW9uSXRlbS5TdGF0ZXMs
Ci0gICAgX2ltYWdlQ2FjaGVhYmxlOiB0cnVlLAorICAgIGdldCBhZGRpdGlvbmFsQ2xhc3NOYW1l
cygpCisgICAgeworICAgICAgICByZXR1cm4gWyJidXR0b24iXTsKKyAgICB9CiAKLSAgICBfbW91
c2VDbGlja2VkOiBmdW5jdGlvbihldmVudCkKKyAgICAvLyBQcml2YXRlCisKKyAgICBfbW91c2VD
bGlja2VkKGV2ZW50KQogICAgIHsKICAgICAgICAgaWYgKCF0aGlzLmVuYWJsZWQpCiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYklu
c3BlY3Rvci5CdXR0b25OYXZpZ2F0aW9uSXRlbS5FdmVudC5DbGlja2VkKTsKLSAgICB9LAorICAg
IH0KIAotICAgIF9jYW52YXNJZGVudGlmaWVyOiBmdW5jdGlvbihzdGF0ZSkKKyAgICBfY2FudmFz
SWRlbnRpZmllcihzdGF0ZSkKICAgICB7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KCF0aGlzLl9z
dXBwcmVzc0VtYm9zcyk7CiAgICAgICAgIHJldHVybiAibmF2aWdhdGlvbi1pdGVtLSIgKyB0aGlz
Ll9pZGVudGlmaWVyICsgIi0iICsgKHN0YXRlIHx8IFdlYkluc3BlY3Rvci5CdXR0b25OYXZpZ2F0
aW9uSXRlbS5TdGF0ZXMuTm9ybWFsKTsKLSAgICB9LAorICAgIH0KIAotICAgIF91cGRhdGVJbWFn
ZTogZnVuY3Rpb24oKQorICAgIF91cGRhdGVJbWFnZSgpCiAgICAgewogICAgICAgICBpZiAodGhp
cy5fc3VwcHJlc3NFbWJvc3MpCiAgICAgICAgICAgICB0aGlzLl9nbHlwaEVsZW1lbnQuc3R5bGUu
d2Via2l0TWFzayA9ICJ1cmwoIiArIHRoaXMuX2ltYWdlICsgIikiOwogICAgICAgICBlbHNlCiAg
ICAgICAgICAgICB0aGlzLl9nZW5lcmF0ZUltYWdlcygpOwotICAgIH0sCisgICAgfQogCi0gICAg
X2dlbmVyYXRlSW1hZ2VzOiBmdW5jdGlvbigpCisgICAgX2dlbmVyYXRlSW1hZ2VzKCkKICAgICB7
CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KCF0aGlzLl9zdXBwcmVzc0VtYm9zcyk7CiAgICAgICAg
IGlmICh0aGlzLl9zdXBwcmVzc0VtYm9zcykKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
Z2VuZXJhdGVFbWJvc3NlZEltYWdlcyh0aGlzLmltYWdlLCB0aGlzLl9pbWFnZVdpZHRoLCB0aGlz
Ll9pbWFnZUhlaWdodCwgdGhpcy5fZW1ib3NzZWRJbWFnZVN0YXRlcywgdGhpcy5fY2FudmFzSWRl
bnRpZmllci5iaW5kKHRoaXMpLCAhdGhpcy5faW1hZ2VDYWNoZWFibGUpOwogICAgIH0KLX07Cit9
CisKK1dlYkluc3BlY3Rvci5CdXR0b25OYXZpZ2F0aW9uSXRlbS5EaXNhYmxlZFN0eWxlQ2xhc3NO
YW1lID0gImRpc2FibGVkIjsKK1dlYkluc3BlY3Rvci5CdXR0b25OYXZpZ2F0aW9uSXRlbS5TdXBw
cmVzc0JlemVsU3R5bGVDbGFzc05hbWUgPSAic3VwcHJlc3MtYmV6ZWwiOworV2ViSW5zcGVjdG9y
LkJ1dHRvbk5hdmlnYXRpb25JdGVtLlN1cHByZXNzRW1ib3NzU3R5bGVDbGFzc05hbWUgPSAic3Vw
cHJlc3MtZW1ib3NzIjsKK1dlYkluc3BlY3Rvci5CdXR0b25OYXZpZ2F0aW9uSXRlbS5UZXh0T25s
eUNsYXNzTmFtZSA9ICJ0ZXh0LW9ubHkiOwogCi1XZWJJbnNwZWN0b3IuQnV0dG9uTmF2aWdhdGlv
bkl0ZW0ucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5OYXZpZ2F0aW9uSXRlbS5w
cm90b3R5cGU7CitXZWJJbnNwZWN0b3IuQnV0dG9uTmF2aWdhdGlvbkl0ZW0uU3RhdGVzID0ge307
CitXZWJJbnNwZWN0b3IuQnV0dG9uTmF2aWdhdGlvbkl0ZW0uU3RhdGVzLk5vcm1hbCA9ICJub3Jt
YWwiOworV2ViSW5zcGVjdG9yLkJ1dHRvbk5hdmlnYXRpb25JdGVtLlN0YXRlcy5BY3RpdmUgPSAi
YWN0aXZlIjsKK1dlYkluc3BlY3Rvci5CdXR0b25OYXZpZ2F0aW9uSXRlbS5TdGF0ZXMuRm9jdXMg
PSAiZm9jdXMiOworV2ViSW5zcGVjdG9yLkJ1dHRvbk5hdmlnYXRpb25JdGVtLlN0YXRlcy5BY3Rp
dmVGb2N1cyA9ICJhY3RpdmUtZm9jdXMiOworCitXZWJJbnNwZWN0b3IuQnV0dG9uTmF2aWdhdGlv
bkl0ZW0uRXZlbnQgPSB7CisgICAgQ2xpY2tlZDogImJ1dHRvbi1uYXZpZ2F0aW9uLWl0ZW0tY2xp
Y2tlZCIKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9CdXR0b25Ub29sYmFySXRlbS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0J1dHRvblRvb2xiYXJJdGVtLmpzCmluZGV4IDBlYTViYTM5YzI0ODZk
MDRhYzU4ZTllODY5ZjkzMzJlYTk0ZDhjNGYuLjExYTYyOWViMzIwMGU5ZTkyY2VmMTVkNGE5MDY2
NDQwMWNiOTkyMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0J1dHRvblRvb2xiYXJJdGVtLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0J1dHRvblRvb2xiYXJJdGVtLmpzCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yMywzMCArMjMsMjcg
QEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi1XZWJJbnNwZWN0
b3IuQnV0dG9uVG9vbGJhckl0ZW0gPSBmdW5jdGlvbihpZGVudGlmaWVyLCB0b29sVGlwLCBsYWJl
bCwgaW1hZ2UsIHN1cHByZXNzRW1ib3NzLCByb2xlKQorV2ViSW5zcGVjdG9yLkJ1dHRvblRvb2xi
YXJJdGVtID0gY2xhc3MgQnV0dG9uVG9vbGJhckl0ZW0gZXh0ZW5kcyBXZWJJbnNwZWN0b3IuQnV0
dG9uTmF2aWdhdGlvbkl0ZW0KIHsKLSAgICBXZWJJbnNwZWN0b3IuQnV0dG9uTmF2aWdhdGlvbkl0
ZW0uY2FsbCh0aGlzLCBpZGVudGlmaWVyLCB0b29sVGlwLCBpbWFnZSwgMTYsIDE2LCBzdXBwcmVz
c0VtYm9zcywgcm9sZSk7CisgICAgY29uc3RydWN0b3IoaWRlbnRpZmllciwgdG9vbFRpcCwgbGFi
ZWwsIGltYWdlLCBzdXBwcmVzc0VtYm9zcywgcm9sZSkKKyAgICB7CisgICAgICAgIHN1cGVyKGlk
ZW50aWZpZXIsIHRvb2xUaXAsIGltYWdlLCAxNiwgMTYsIHN1cHByZXNzRW1ib3NzLCByb2xlKTsK
IAotICAgIGlmICh0eXBlb2YgbGFiZWwgPT09ICJzdHJpbmciKSB7Ci0gICAgICAgIHRoaXMuX2xh
YmVsRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwotICAgICAgICB0aGlz
Ll9sYWJlbEVsZW1lbnQuY2xhc3NOYW1lID0gV2ViSW5zcGVjdG9yLkJ1dHRvblRvb2xiYXJJdGVt
LkxhYmVsU3R5bGVDbGFzc05hbWU7Ci0gICAgICAgIHRoaXMuX2VsZW1lbnQuYXBwZW5kQ2hpbGQo
dGhpcy5fbGFiZWxFbGVtZW50KTsKKyAgICAgICAgaWYgKHR5cGVvZiBsYWJlbCA9PT0gInN0cmlu
ZyIpIHsKKyAgICAgICAgICAgIHRoaXMuX2xhYmVsRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImRpdiIpOworICAgICAgICAgICAgdGhpcy5fbGFiZWxFbGVtZW50LmNsYXNzTmFtZSA9
IFdlYkluc3BlY3Rvci5CdXR0b25Ub29sYmFySXRlbS5MYWJlbFN0eWxlQ2xhc3NOYW1lOworICAg
ICAgICAgICAgdGhpcy5fZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9sYWJlbEVsZW1lbnQpOwog
Ci0gICAgICAgIHRoaXMubGFiZWwgPSBsYWJlbDsKKyAgICAgICAgICAgIHRoaXMubGFiZWwgPSBs
YWJlbDsKKyAgICAgICAgfQogICAgIH0KLX07Ci0KLVdlYkluc3BlY3Rvci5CdXR0b25Ub29sYmFy
SXRlbS5MYWJlbFN0eWxlQ2xhc3NOYW1lID0gImxhYmVsIjsKLQotV2ViSW5zcGVjdG9yLkJ1dHRv
blRvb2xiYXJJdGVtLnByb3RvdHlwZSA9IHsKLSAgICBjb25zdHJ1Y3RvcjogV2ViSW5zcGVjdG9y
LkJ1dHRvblRvb2xiYXJJdGVtLAogCiAgICAgLy8gUHVibGljCiAKICAgICBnZXQgbGFiZWwoKQog
ICAgIHsKICAgICAgICAgcmV0dXJuIHRoaXMuX2xhYmVsRWxlbWVudC50ZXh0Q29udGVudDsKLSAg
ICB9LAorICAgIH0KIAogICAgIHNldCBsYWJlbChuZXdMYWJlbCkKICAgICB7CkBAIC01OCw0ICs1
NSw0IEBAIFdlYkluc3BlY3Rvci5CdXR0b25Ub29sYmFySXRlbS5wcm90b3R5cGUgPSB7CiAgICAg
fQogfTsKIAotV2ViSW5zcGVjdG9yLkJ1dHRvblRvb2xiYXJJdGVtLnByb3RvdHlwZS5fX3Byb3Rv
X18gPSBXZWJJbnNwZWN0b3IuQnV0dG9uTmF2aWdhdGlvbkl0ZW0ucHJvdG90eXBlOworV2ViSW5z
cGVjdG9yLkJ1dHRvblRvb2xiYXJJdGVtLkxhYmVsU3R5bGVDbGFzc05hbWUgPSAibGFiZWwiOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29u
dHJvbFRvb2xiYXJJdGVtLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvQ29udHJvbFRvb2xiYXJJdGVtLmpzCmluZGV4IDE0OTdjMmJkY2FiYjhlMDQwZTQ5ZDQx
MGFhYTU1OGYzYWFhZGI0YjQuLjU2NWQ5ZDNiMTI0ZmEyNGQyZWMxOTkwNDIwMzVmNzdlNzc1ZDk2
NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0NvbnRyb2xUb29sYmFySXRlbS5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9Db250cm9sVG9vbGJhckl0ZW0uanMKQEAgLTEsNSArMSw1IEBACiAvKgot
ICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxMywgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTIzLDE5ICsyMywxNyBAQAogICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLVdlYkluc3BlY3Rvci5Db250
cm9sVG9vbGJhckl0ZW0gPSBmdW5jdGlvbihpZGVudGlmaWVyLCB0b29sVGlwLCBpbWFnZSwgaW1h
Z2VXaWR0aCwgaW1hZ2VIZWlnaHQpCitXZWJJbnNwZWN0b3IuQ29udHJvbFRvb2xiYXJJdGVtID0g
Y2xhc3MgQ29udHJvbFRvb2xiYXJJdGVtIGV4dGVuZHMgV2ViSW5zcGVjdG9yLkJ1dHRvbk5hdmln
YXRpb25JdGVtCiB7Ci0gICAgV2ViSW5zcGVjdG9yLkJ1dHRvbk5hdmlnYXRpb25JdGVtLmNhbGwo
dGhpcywgaWRlbnRpZmllciwgdG9vbFRpcCwgaW1hZ2UsIGltYWdlV2lkdGgsIGltYWdlSGVpZ2h0
LCBmYWxzZSk7Ci19OwotCi1XZWJJbnNwZWN0b3IuQ29udHJvbFRvb2xiYXJJdGVtLlN0eWxlQ2xh
c3NOYW1lID0gImNvbnRyb2wiOworICAgIGNvbnN0cnVjdG9yKGlkZW50aWZpZXIsIHRvb2xUaXAs
IGltYWdlLCBpbWFnZVdpZHRoLCBpbWFnZUhlaWdodCkKKyAgICB7CisgICAgICAgIHN1cGVyKGlk
ZW50aWZpZXIsIHRvb2xUaXAsIGltYWdlLCBpbWFnZVdpZHRoLCBpbWFnZUhlaWdodCwgZmFsc2Up
OworICAgIH0KIAotV2ViSW5zcGVjdG9yLkNvbnRyb2xUb29sYmFySXRlbS5wcm90b3R5cGUgPSB7
Ci0gICAgY29uc3RydWN0b3I6IFdlYkluc3BlY3Rvci5Db250cm9sVG9vbGJhckl0ZW0sCisgICAg
Ly8gUHJvdGVjdGVkCiAKLSAgICAvLyBQcml2YXRlCi0KLSAgICBfYWRkaXRpb25hbENsYXNzTmFt
ZXM6IFtXZWJJbnNwZWN0b3IuQ29udHJvbFRvb2xiYXJJdGVtLlN0eWxlQ2xhc3NOYW1lXSwKKyAg
ICBnZXQgYWRkaXRpb25hbENsYXNzTmFtZXMoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFsiY29u
dHJvbCJdOworICAgIH0KIH07Ci0KLVdlYkluc3BlY3Rvci5Db250cm9sVG9vbGJhckl0ZW0ucHJv
dG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5CdXR0b25OYXZpZ2F0aW9uSXRlbS5wcm90
b3R5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9EaXZpZGVyTmF2aWdhdGlvbkl0ZW0uanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9EaXZpZGVyTmF2aWdhdGlvbkl0ZW0uanMKaW5kZXggNWU5NzY3YTAy
M2U4M2E3MjkzMWU5N2RmYWYyNDYzNTk0ZjkzMmZmYS4uOTEwYzA0NDhhMTIwMzBkNzdhMTU0ODkw
MThhYmFmOGNjMzRhM2U0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvRGl2aWRlck5hdmlnYXRpb25JdGVtLmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RpdmlkZXJOYXZpZ2F0aW9uSXRlbS5qcwpA
QCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLCAyMDE1IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAt
MjMsMTggKzIzLDE3IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8K
IAotV2ViSW5zcGVjdG9yLkRpdmlkZXJOYXZpZ2F0aW9uSXRlbSA9IGZ1bmN0aW9uKGlkZW50aWZp
ZXIpIHsKLSAgICBXZWJJbnNwZWN0b3IuTmF2aWdhdGlvbkl0ZW0uY2FsbCh0aGlzLCBpZGVudGlm
aWVyKTsKLX07Ci0KLVdlYkluc3BlY3Rvci5EaXZpZGVyTmF2aWdhdGlvbkl0ZW0uU3R5bGVDbGFz
c05hbWUgPSAiZGl2aWRlciI7CitXZWJJbnNwZWN0b3IuRGl2aWRlck5hdmlnYXRpb25JdGVtID0g
Y2xhc3MgRGl2aWRlck5hdmlnYXRpb25JdGVtIGV4dGVuZHMgV2ViSW5zcGVjdG9yLk5hdmlnYXRp
b25JdGVtCit7CisgICAgY29uc3RydWN0b3IoaWRlbnRpZmllcikKKyAgICB7CisgICAgICAgIHN1
cGVyKGlkZW50aWZpZXIpOworICAgIH0KIAotV2ViSW5zcGVjdG9yLkRpdmlkZXJOYXZpZ2F0aW9u
SXRlbS5wcm90b3R5cGUgPSB7Ci0gICAgY29uc3RydWN0b3I6IFdlYkluc3BlY3Rvci5EaXZpZGVy
TmF2aWdhdGlvbkl0ZW0sCisgICAgLy8gUHJvdGVjdGVkCiAKLSAgICAvLyBQcml2YXRlCi0KLSAg
ICBfYWRkaXRpb25hbENsYXNzTmFtZXM6IFtXZWJJbnNwZWN0b3IuRGl2aWRlck5hdmlnYXRpb25J
dGVtLlN0eWxlQ2xhc3NOYW1lXSwKKyAgICBnZXQgYWRkaXRpb25hbENsYXNzTmFtZXMoKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIFsiZGl2aWRlciJdOworICAgIH0KIH07Ci0KLVdlYkluc3BlY3Rv
ci5EaXZpZGVyTmF2aWdhdGlvbkl0ZW0ucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rv
ci5OYXZpZ2F0aW9uSXRlbS5wcm90b3R5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9GbGV4aWJsZVNwYWNlTmF2aWdhdGlvbkl0ZW0uanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9GbGV4aWJsZVNwYWNl
TmF2aWdhdGlvbkl0ZW0uanMKaW5kZXggYWU1NzZmZjZjYzQwZTM4MGM0OWNjMDVhYzRiY2Q1NzFl
MGU0YzJlMS4uODVjOWYwOTcxN2ZlN2FkYzJiYWE1MWFhMzAyMjdlYmZkZmY1NjA0NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRmxleGlibGVT
cGFjZU5hdmlnYXRpb25JdGVtLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0ZsZXhpYmxlU3BhY2VOYXZpZ2F0aW9uSXRlbS5qcwpAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjMsMTggKzIzLDE3
IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotV2ViSW5zcGVj
dG9yLkZsZXhpYmxlU3BhY2VOYXZpZ2F0aW9uSXRlbSA9IGZ1bmN0aW9uKGlkZW50aWZpZXIpIHsK
LSAgICBXZWJJbnNwZWN0b3IuTmF2aWdhdGlvbkl0ZW0uY2FsbCh0aGlzLCBpZGVudGlmaWVyKTsK
LX07Ci0KLVdlYkluc3BlY3Rvci5GbGV4aWJsZVNwYWNlTmF2aWdhdGlvbkl0ZW0uU3R5bGVDbGFz
c05hbWUgPSAiZmxleGlibGUtc3BhY2UiOworV2ViSW5zcGVjdG9yLkZsZXhpYmxlU3BhY2VOYXZp
Z2F0aW9uSXRlbSA9IGNsYXNzIEZsZXhpYmxlU3BhY2VOYXZpZ2F0aW9uSXRlbSBleHRlbmRzIFdl
Ykluc3BlY3Rvci5OYXZpZ2F0aW9uSXRlbQoreworICAgIGNvbnN0cnVjdG9yKGlkZW50aWZpZXIp
CisgICAgeworICAgICAgICBzdXBlcihpZGVudGlmaWVyKTsKKyAgICB9CiAKLVdlYkluc3BlY3Rv
ci5GbGV4aWJsZVNwYWNlTmF2aWdhdGlvbkl0ZW0ucHJvdG90eXBlID0gewotICAgIGNvbnN0cnVj
dG9yOiBXZWJJbnNwZWN0b3IuRmxleGlibGVTcGFjZU5hdmlnYXRpb25JdGVtLAorICAgIC8vIFBy
b3RlY3RlZAogCi0gICAgLy8gUHJpdmF0ZQotCi0gICAgX2FkZGl0aW9uYWxDbGFzc05hbWVzOiBb
V2ViSW5zcGVjdG9yLkZsZXhpYmxlU3BhY2VOYXZpZ2F0aW9uSXRlbS5TdHlsZUNsYXNzTmFtZV0s
CisgICAgZ2V0IGFkZGl0aW9uYWxDbGFzc05hbWVzKCkKKyAgICB7CisgICAgICAgIHJldHVybiBb
ImZsZXhpYmxlLXNwYWNlIl07CisgICAgfQogfTsKLQotV2ViSW5zcGVjdG9yLkZsZXhpYmxlU3Bh
Y2VOYXZpZ2F0aW9uSXRlbS5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLk5hdmln
YXRpb25JdGVtLnByb3RvdHlwZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0hpZXJhcmNoaWNhbFBhdGhOYXZpZ2F0aW9uSXRlbS5qcyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0hpZXJhcmNoaWNhbFBhdGhO
YXZpZ2F0aW9uSXRlbS5qcwppbmRleCBhODMyNGQxY2QzMDg4ZGQ3ZGRmYjkwMjU3Y2I2ZmM4ZTAw
Mjg5ZmViLi4yZGJhMjBiYWRlNGVjNWZhZTM5YTQwMjhjMmY3N2NhZjVlYTAxMTg4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9IaWVyYXJjaGlj
YWxQYXRoTmF2aWdhdGlvbkl0ZW0uanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvSGllcmFyY2hpY2FsUGF0aE5hdmlnYXRpb25JdGVtLmpzCkBAIC0yMTks
OCArMjE5LDcgQEAgV2ViSW5zcGVjdG9yLkhpZXJhcmNoaWNhbFBhdGhOYXZpZ2F0aW9uSXRlbSA9
IGNsYXNzIEhpZXJhcmNoaWNhbFBhdGhOYXZpZ2F0aW9uSXQKIAogICAgIC8vIFByb3RlY3RlZAog
Ci0gICAgLy8gRklYTUU6IFNob3VsZCBub3QgYmUgcHJlZml4ZWQgd2l0aCBhbiB1bmRlcnNjb3Jl
LgotICAgIGdldCBfYWRkaXRpb25hbENsYXNzTmFtZXMoKQorICAgIGdldCBhZGRpdGlvbmFsQ2xh
c3NOYW1lcygpCiAgICAgewogICAgICAgICByZXR1cm4gWyJoaWVyYXJjaGljYWwtcGF0aCJdOwog
ICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL05hdmlnYXRpb25JdGVtLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvTmF2aWdhdGlvbkl0ZW0uanMKaW5kZXggMzk4OGNhZmJmZjMzZGJjZmM0ODYzNWE0
MDJmYjU3YzE0MjY0NzUxMC4uOWE4OTEwODBiZDNjNDVmYTBjZTQ2YmY0MDkyMDYxOTFhOWNmMjcw
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
TmF2aWdhdGlvbkl0ZW0uanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvTmF2aWdhdGlvbkl0ZW0uanMKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMywgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTIzLDU3ICsyMyw1MiBAQAogICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLVdlYkluc3BlY3Rvci5OYXZpZ2F0aW9uSXRl
bSA9IGZ1bmN0aW9uKGlkZW50aWZpZXIsIHJvbGUsIGxhYmVsKSB7Ci0gICAgLy8gRklYTUU6IENv
bnZlcnQgdGhpcyB0byBhIFdlYkluc3BlY3Rvci5PYmplY3Qgc3ViY2xhc3MsIGFuZCBjYWxsIHN1
cGVyKCkuCi0gICAgLy8gV2ViSW5zcGVjdG9yLk9iamVjdC5jYWxsKHRoaXMpOwotCi0gICAgdGhp
cy5faWRlbnRpZmllciA9IGlkZW50aWZpZXIgfHwgbnVsbDsKLQotICAgIHRoaXMuX2VsZW1lbnQg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICB0aGlzLl9oaWRkZW4gPSBmYWxz
ZTsKLQotICAgIGlmIChyb2xlKQotICAgICAgICB0aGlzLl9lbGVtZW50LnNldEF0dHJpYnV0ZSgi
cm9sZSIsIHJvbGUpOwotICAgIGlmIChsYWJlbCkKLSAgICAgICAgdGhpcy5fZWxlbWVudC5zZXRB
dHRyaWJ1dGUoImFyaWEtbGFiZWwiLCBsYWJlbCk7CitXZWJJbnNwZWN0b3IuTmF2aWdhdGlvbkl0
ZW0gPSBjbGFzcyBOYXZpZ2F0aW9uSXRlbSBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplY3QKK3sK
KyAgICBjb25zdHJ1Y3RvcihpZGVudGlmaWVyLCByb2xlLCBsYWJlbCkKKyAgICB7CisgICAgICAg
IHN1cGVyKCk7CiAKLSAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQoLi4udGhpcy5fY2xh
c3NOYW1lcyk7Ci0gICAgdGhpcy5fZWxlbWVudC5uYXZpZ2F0aW9uSXRlbSA9IHRoaXM7Ci19Owor
ICAgICAgICB0aGlzLl9pZGVudGlmaWVyID0gaWRlbnRpZmllciB8fCBudWxsOwogCi1XZWJJbnNw
ZWN0b3IuTmF2aWdhdGlvbkl0ZW0uU3R5bGVDbGFzc05hbWUgPSAiaXRlbSI7Ci1XZWJJbnNwZWN0
b3IuTmF2aWdhdGlvbkl0ZW0uSGlkZGVuU3R5bGVDbGFzc05hbWUgPSAiaGlkZGVuIjsKKyAgICAg
ICAgdGhpcy5fZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgICAg
ICB0aGlzLl9oaWRkZW4gPSBmYWxzZTsKIAorICAgICAgICBpZiAocm9sZSkKKyAgICAgICAgICAg
IHRoaXMuX2VsZW1lbnQuc2V0QXR0cmlidXRlKCJyb2xlIiwgcm9sZSk7CisgICAgICAgIGlmIChs
YWJlbCkKKyAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVs
IiwgbGFiZWwpOwogCi1XZWJJbnNwZWN0b3IuTmF2aWdhdGlvbkl0ZW0ucHJvdG90eXBlID0gewot
ICAgIGNvbnN0cnVjdG9yOiBXZWJJbnNwZWN0b3IuTmF2aWdhdGlvbkl0ZW0sCisgICAgICAgIHRo
aXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZCguLi50aGlzLl9jbGFzc05hbWVzKTsKKyAgICAgICAg
dGhpcy5fZWxlbWVudC5uYXZpZ2F0aW9uSXRlbSA9IHRoaXM7CisgICAgfQogCiAgICAgLy8gUHVi
bGljCiAKICAgICBnZXQgaWRlbnRpZmllcigpCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5f
aWRlbnRpZmllcjsKLSAgICB9LAorICAgIH0KIAogICAgIGdldCBlbGVtZW50KCkKICAgICB7CiAg
ICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50OwotICAgIH0sCisgICAgfQogCiAgICAgZ2V0IHBh
cmVudE5hdmlnYXRpb25CYXIoKQogICAgIHsKICAgICAgICAgcmV0dXJuIHRoaXMuX3BhcmVudE5h
dmlnYXRpb25CYXI7Ci0gICAgfSwKKyAgICB9CiAKLSAgICB1cGRhdGVMYXlvdXQ6IGZ1bmN0aW9u
KGV4cGFuZE9ubHkpCisgICAgdXBkYXRlTGF5b3V0KGV4cGFuZE9ubHkpCiAgICAgewogICAgICAg
ICAvLyBJbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzLgotICAgIH0sCisgICAgfQogCiAgICAgZ2V0
IGhpZGRlbigpCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5faGlkZGVuOwotICAgIH0sCisg
ICAgfQogCiAgICAgc2V0IGhpZGRlbihmbGFnKQogICAgIHsKQEAgLTg5LDcgKzg0LDcgQEAgV2Vi
SW5zcGVjdG9yLk5hdmlnYXRpb25JdGVtLnByb3RvdHlwZSA9IHsKIAogICAgICAgICBpZiAodGhp
cy5fcGFyZW50TmF2aWdhdGlvbkJhcikKICAgICAgICAgICAgIHRoaXMuX3BhcmVudE5hdmlnYXRp
b25CYXIudXBkYXRlTGF5b3V0U29vbigpOwotICAgIH0sCisgICAgfQogCiAgICAgLy8gUHJpdmF0
ZQogCkBAIC05OCwxMCArOTMsMTEgQEAgV2ViSW5zcGVjdG9yLk5hdmlnYXRpb25JdGVtLnByb3Rv
dHlwZSA9IHsKICAgICAgICAgdmFyIGNsYXNzTmFtZXMgPSBbV2ViSW5zcGVjdG9yLk5hdmlnYXRp
b25JdGVtLlN0eWxlQ2xhc3NOYW1lXTsKICAgICAgICAgaWYgKHRoaXMuX2lkZW50aWZpZXIpCiAg
ICAgICAgICAgICBjbGFzc05hbWVzLnB1c2godGhpcy5faWRlbnRpZmllcik7Ci0gICAgICAgIGlm
ICh0aGlzLl9hZGRpdGlvbmFsQ2xhc3NOYW1lcyBpbnN0YW5jZW9mIEFycmF5KQotICAgICAgICAg
ICAgY2xhc3NOYW1lcyA9IGNsYXNzTmFtZXMuY29uY2F0KHRoaXMuX2FkZGl0aW9uYWxDbGFzc05h
bWVzKTsKKyAgICAgICAgaWYgKHRoaXMuYWRkaXRpb25hbENsYXNzTmFtZXMgaW5zdGFuY2VvZiBB
cnJheSkKKyAgICAgICAgICAgIGNsYXNzTmFtZXMgPSBjbGFzc05hbWVzLmNvbmNhdCh0aGlzLmFk
ZGl0aW9uYWxDbGFzc05hbWVzKTsKICAgICAgICAgcmV0dXJuIGNsYXNzTmFtZXM7CiAgICAgfQog
fTsKIAotV2ViSW5zcGVjdG9yLk5hdmlnYXRpb25JdGVtLnByb3RvdHlwZS5fX3Byb3RvX18gPSBX
ZWJJbnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZTsKK1dlYkluc3BlY3Rvci5OYXZpZ2F0aW9uSXRl
bS5TdHlsZUNsYXNzTmFtZSA9ICJpdGVtIjsKK1dlYkluc3BlY3Rvci5OYXZpZ2F0aW9uSXRlbS5I
aWRkZW5TdHlsZUNsYXNzTmFtZSA9ICJoaWRkZW4iOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmFkaW9CdXR0b25OYXZpZ2F0aW9uSXRlbS5q
cyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JhZGlvQnV0dG9u
TmF2aWdhdGlvbkl0ZW0uanMKaW5kZXggMjM4NzE1NzdkYmI0YjBlOGI1OGU3YmI1ZDMzMGQ4ZGZi
ZDRjYzNmYS4uY2FlYTljM2FhNWVkNGM3YzFlZjkzM2MwNDgwMzA1Nzk0ZmMxNjBhMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmFkaW9CdXR0
b25OYXZpZ2F0aW9uSXRlbS5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9SYWRpb0J1dHRvbk5hdmlnYXRpb25JdGVtLmpzCkBAIC0xLDUgKzEsNSBAQAog
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTMsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yMywyMyArMjMsMTkgQEAK
ICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi1XZWJJbnNwZWN0b3Iu
UmFkaW9CdXR0b25OYXZpZ2F0aW9uSXRlbSA9IGZ1bmN0aW9uKGlkZW50aWZpZXIsIHRvb2xUaXAs
IGltYWdlLCBpbWFnZVdpZHRoLCBpbWFnZUhlaWdodCkgewotICAgIFdlYkluc3BlY3Rvci5CdXR0
b25OYXZpZ2F0aW9uSXRlbS5jYWxsKHRoaXMsIGlkZW50aWZpZXIsIHRvb2xUaXAsIGltYWdlLCBp
bWFnZVdpZHRoLCBpbWFnZUhlaWdodCwgbnVsbCwgInRhYiIpOwotfTsKLQotV2ViSW5zcGVjdG9y
LlJhZGlvQnV0dG9uTmF2aWdhdGlvbkl0ZW0uU3R5bGVDbGFzc05hbWUgPSAicmFkaW8iOwotV2Vi
SW5zcGVjdG9yLlJhZGlvQnV0dG9uTmF2aWdhdGlvbkl0ZW0uQWN0aXZlU3R5bGVDbGFzc05hbWUg
PSAiYWN0aXZlIjsKLVdlYkluc3BlY3Rvci5SYWRpb0J1dHRvbk5hdmlnYXRpb25JdGVtLlNlbGVj
dGVkU3R5bGVDbGFzc05hbWUgPSAic2VsZWN0ZWQiOwotCi1XZWJJbnNwZWN0b3IuUmFkaW9CdXR0
b25OYXZpZ2F0aW9uSXRlbS5wcm90b3R5cGUgPSB7Ci0gICAgY29uc3RydWN0b3I6IFdlYkluc3Bl
Y3Rvci5SYWRpb0J1dHRvbk5hdmlnYXRpb25JdGVtLAorV2ViSW5zcGVjdG9yLlJhZGlvQnV0dG9u
TmF2aWdhdGlvbkl0ZW0gPSBjbGFzcyBSYWRpb0J1dHRvbk5hdmlnYXRpb25JdGVtIGV4dGVuZHMg
V2ViSW5zcGVjdG9yLkJ1dHRvbk5hdmlnYXRpb25JdGVtCit7CisgICAgY29uc3RydWN0b3IoaWRl
bnRpZmllciwgdG9vbFRpcCwgaW1hZ2UsIGltYWdlV2lkdGgsIGltYWdlSGVpZ2h0KQorICAgIHsK
KyAgICAgICAgc3VwZXIoaWRlbnRpZmllciwgdG9vbFRpcCwgaW1hZ2UsIGltYWdlV2lkdGgsIGlt
YWdlSGVpZ2h0LCBudWxsLCAidGFiIik7CisgICAgfQogCiAgICAgLy8gUHVibGljCiAKICAgICBn
ZXQgc2VsZWN0ZWQoKQogICAgIHsKICAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudC5jbGFzc0xp
c3QuY29udGFpbnMoV2ViSW5zcGVjdG9yLlJhZGlvQnV0dG9uTmF2aWdhdGlvbkl0ZW0uU2VsZWN0
ZWRTdHlsZUNsYXNzTmFtZSk7Ci0gICAgfSwKKyAgICB9CiAKICAgICBzZXQgc2VsZWN0ZWQoZmxh
ZykKICAgICB7CkBAIC01MCwxMiArNDYsMTIgQEAgV2ViSW5zcGVjdG9yLlJhZGlvQnV0dG9uTmF2
aWdhdGlvbkl0ZW0ucHJvdG90eXBlID0gewogICAgICAgICAgICAgdGhpcy5lbGVtZW50LmNsYXNz
TGlzdC5yZW1vdmUoV2ViSW5zcGVjdG9yLlJhZGlvQnV0dG9uTmF2aWdhdGlvbkl0ZW0uU2VsZWN0
ZWRTdHlsZUNsYXNzTmFtZSk7CiAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRl
KCJhcmlhLXNlbGVjdGVkIiwgImZhbHNlIik7CiAgICAgICAgIH0KLSAgICB9LAorICAgIH0KIAog
ICAgIGdldCBhY3RpdmUoKQogICAgIHsKICAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudC5jbGFz
c0xpc3QuY29udGFpbnMoV2ViSW5zcGVjdG9yLlJhZGlvQnV0dG9uTmF2aWdhdGlvbkl0ZW0uQWN0
aXZlU3R5bGVDbGFzc05hbWUpOwotICAgIH0sCisgICAgfQogCiAgICAgc2V0IGFjdGl2ZShmbGFn
KQogICAgIHsKQEAgLTYzLDkgKzU5LDkgQEAgV2ViSW5zcGVjdG9yLlJhZGlvQnV0dG9uTmF2aWdh
dGlvbkl0ZW0ucHJvdG90eXBlID0gewogICAgICAgICAgICAgdGhpcy5lbGVtZW50LmNsYXNzTGlz
dC5hZGQoV2ViSW5zcGVjdG9yLlJhZGlvQnV0dG9uTmF2aWdhdGlvbkl0ZW0uQWN0aXZlU3R5bGVD
bGFzc05hbWUpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NM
aXN0LnJlbW92ZShXZWJJbnNwZWN0b3IuUmFkaW9CdXR0b25OYXZpZ2F0aW9uSXRlbS5BY3RpdmVT
dHlsZUNsYXNzTmFtZSk7Ci0gICAgfSwKKyAgICB9CiAKLSAgICBnZW5lcmF0ZVN0eWxlVGV4dDog
ZnVuY3Rpb24ocGFyZW50U2VsZWN0b3IpCisgICAgZ2VuZXJhdGVTdHlsZVRleHQocGFyZW50U2Vs
ZWN0b3IpCiAgICAgewogICAgICAgICB2YXIgY2xhc3NOYW1lcyA9IHRoaXMuX2NsYXNzTmFtZXMu
am9pbigiLiIpOwogCkBAIC03OSw5ICs3NSw5IEBAIFdlYkluc3BlY3Rvci5SYWRpb0J1dHRvbk5h
dmlnYXRpb25JdGVtLnByb3RvdHlwZSA9IHsKICAgICAgICAgc3R5bGVUZXh0ICs9IHBhcmVudFNl
bGVjdG9yICsgIiAuIiArIGNsYXNzTmFtZXMgKyAiLnNlbGVjdGVkOm5vdCguZGlzYWJsZWQpOmFj
dGl2ZSA+IC5nbHlwaCB7IGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtY2FudmFzKCIgKyB0aGlz
Ll9jYW52YXNJZGVudGlmaWVyKFdlYkluc3BlY3Rvci5CdXR0b25OYXZpZ2F0aW9uSXRlbS5TdGF0
ZXMuQWN0aXZlRm9jdXMpICsgIik7IH1cbiI7CiAKICAgICAgICAgcmV0dXJuIHN0eWxlVGV4dDsK
LSAgICB9LAorICAgIH0KIAotICAgIHVwZGF0ZUxheW91dDogZnVuY3Rpb24oZXhwYW5kT25seSkK
KyAgICB1cGRhdGVMYXlvdXQoZXhwYW5kT25seSkKICAgICB7CiAgICAgICAgIGlmIChleHBhbmRP
bmx5KQogICAgICAgICAgICAgcmV0dXJuOwpAQCAtMTAxLDExICs5NywxNiBAQCBXZWJJbnNwZWN0
b3IuUmFkaW9CdXR0b25OYXZpZ2F0aW9uSXRlbS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB0
aGlzLmVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShXZWJJbnNwZWN0b3IuUmFkaW9CdXR0b25OYXZp
Z2F0aW9uSXRlbS5TZWxlY3RlZFN0eWxlQ2xhc3NOYW1lKTsKICAgICAgICAgICAgIHRoaXMuZWxl
bWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtc2VsZWN0ZWQiLCAiZmFsc2UiKTsKICAgICAgICAgfQot
ICAgIH0sCisgICAgfQogCi0gICAgLy8gUHJpdmF0ZQorICAgIC8vIFByb3RlY3RlZAogCi0gICAg
X2FkZGl0aW9uYWxDbGFzc05hbWVzOiBbV2ViSW5zcGVjdG9yLlJhZGlvQnV0dG9uTmF2aWdhdGlv
bkl0ZW0uU3R5bGVDbGFzc05hbWUsIFdlYkluc3BlY3Rvci5CdXR0b25OYXZpZ2F0aW9uSXRlbS5T
dHlsZUNsYXNzTmFtZV0sCisgICAgZ2V0IGFkZGl0aW9uYWxDbGFzc05hbWVzKCkKKyAgICB7Cisg
ICAgICAgIHJldHVybiBbInJhZGlvIiwgImJ1dHRvbiJdOworICAgIH0KIH07CiAKLVdlYkluc3Bl
Y3Rvci5SYWRpb0J1dHRvbk5hdmlnYXRpb25JdGVtLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJ
bnNwZWN0b3IuQnV0dG9uTmF2aWdhdGlvbkl0ZW0ucHJvdG90eXBlOworV2ViSW5zcGVjdG9yLlJh
ZGlvQnV0dG9uTmF2aWdhdGlvbkl0ZW0uU3R5bGVDbGFzc05hbWUgPSAicmFkaW8iOworV2ViSW5z
cGVjdG9yLlJhZGlvQnV0dG9uTmF2aWdhdGlvbkl0ZW0uQWN0aXZlU3R5bGVDbGFzc05hbWUgPSAi
YWN0aXZlIjsKK1dlYkluc3BlY3Rvci5SYWRpb0J1dHRvbk5hdmlnYXRpb25JdGVtLlNlbGVjdGVk
U3R5bGVDbGFzc05hbWUgPSAic2VsZWN0ZWQiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVG9nZ2xlQnV0dG9uTmF2aWdhdGlvbkl0ZW0uanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Ub2dnbGVCdXR0b25O
YXZpZ2F0aW9uSXRlbS5qcwppbmRleCBmZDQ0YTZlN2FkNjIxZTNhNjAyY2U3MTE0MjUyYmFmNTFk
OThlYzAzLi5iY2I0NWQ4ZDBmNGRkNzlhODQ2NTFkZTNkYWM1ZDcxNmFiNTJmZTc2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Ub2dnbGVCdXR0
b25OYXZpZ2F0aW9uSXRlbS5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9Ub2dnbGVCdXR0b25OYXZpZ2F0aW9uSXRlbS5qcwpAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDEzLCAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjMsMzIgKzIzLDM1IEBA
CiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotV2ViSW5zcGVjdG9y
LlRvZ2dsZUJ1dHRvbk5hdmlnYXRpb25JdGVtID0gZnVuY3Rpb24oaWRlbnRpZmllciwgZGVmYXVs
dFRvb2xUaXAsIGFsdGVybmF0ZVRvb2xUaXAsIGRlZmF1bHRJbWFnZSwgYWx0ZXJuYXRlSW1hZ2Us
IGltYWdlV2lkdGgsIGltYWdlSGVpZ2h0LCBzdXBwcmVzc0VtYm9zcykgewotICAgIFdlYkluc3Bl
Y3Rvci5CdXR0b25OYXZpZ2F0aW9uSXRlbS5jYWxsKHRoaXMsIGlkZW50aWZpZXIsIGRlZmF1bHRU
b29sVGlwLCBkZWZhdWx0SW1hZ2UsIGltYWdlV2lkdGgsIGltYWdlSGVpZ2h0LCBzdXBwcmVzc0Vt
Ym9zcyk7Ci0KLSAgICB0aGlzLl90b2dnbGVkID0gZmFsc2U7Ci0gICAgdGhpcy5fZGVmYXVsdElt
YWdlID0gZGVmYXVsdEltYWdlOwotICAgIHRoaXMuX2FsdGVybmF0ZUltYWdlID0gYWx0ZXJuYXRl
SW1hZ2U7Ci0gICAgdGhpcy5fZGVmYXVsdFRvb2xUaXAgPSBkZWZhdWx0VG9vbFRpcDsKLSAgICB0
aGlzLl9hbHRlcm5hdGVUb29sVGlwID0gYWx0ZXJuYXRlVG9vbFRpcCB8fCBkZWZhdWx0VG9vbFRp
cDsKLX07CitXZWJJbnNwZWN0b3IuVG9nZ2xlQnV0dG9uTmF2aWdhdGlvbkl0ZW0gPSBjbGFzcyBU
b2dnbGVCdXR0b25OYXZpZ2F0aW9uSXRlbSBleHRlbmRzIFdlYkluc3BlY3Rvci5CdXR0b25OYXZp
Z2F0aW9uSXRlbQoreworICAgIGNvbnN0cnVjdG9yKGlkZW50aWZpZXIsIGRlZmF1bHRUb29sVGlw
LCBhbHRlcm5hdGVUb29sVGlwLCBkZWZhdWx0SW1hZ2UsIGFsdGVybmF0ZUltYWdlLCBpbWFnZVdp
ZHRoLCBpbWFnZUhlaWdodCwgc3VwcHJlc3NFbWJvc3MpCisgICAgeworICAgICAgICBzdXBlcihp
ZGVudGlmaWVyLCBkZWZhdWx0VG9vbFRpcCwgZGVmYXVsdEltYWdlLCBpbWFnZVdpZHRoLCBpbWFn
ZUhlaWdodCwgc3VwcHJlc3NFbWJvc3MpOwogCi1XZWJJbnNwZWN0b3IuVG9nZ2xlQnV0dG9uTmF2
aWdhdGlvbkl0ZW0uU3R5bGVDbGFzc05hbWUgPSAidG9nZ2xlIjsKKyAgICAgICAgLy8gVGhlIGlt
YWdlIGlzbid0IGNhY2hlYWJsZSBiZWNhdXNlIGl0IGR5bmFtaWNhbGx5IGNoYW5nZXMgYW5kIHRo
ZSBzYW1lIGNhbnZhcyBpZGVudGlmaWVyIGlzIHJldXNlZC4KKyAgICAgICAgLy8gRklYTUU6IFdl
IGNvdWxkIHRyeSBvdmVycmlkaW5nIF9jYW52YXNJZGVudGlmaWVyKCkgdG8gcmV0dXJuIGRpZmZl
cmVudCBpZGVudGlmaWVycy4gSWYgd2UgZGlkIHRoYXQKKyAgICAgICAgLy8gd2Ugd291bGQgYWxz
byBuZWVkIHRvIG92ZXJyaWRlIGdlbmVyYXRlU3R5bGVUZXh0KCkgdG8gdXNlIHRoZSBkaWZmZXJl
bnQgaWRlbnRpZmllcnMuCisgICAgICAgIHRoaXMuX2ltYWdlQ2FjaGVhYmxlID0gZmFsc2U7CiAK
LVdlYkluc3BlY3Rvci5Ub2dnbGVCdXR0b25OYXZpZ2F0aW9uSXRlbS5wcm90b3R5cGUgPSB7Ci0g
ICAgY29uc3RydWN0b3I6IFdlYkluc3BlY3Rvci5Ub2dnbGVCdXR0b25OYXZpZ2F0aW9uSXRlbSwK
KyAgICAgICAgdGhpcy5fdG9nZ2xlZCA9IGZhbHNlOworICAgICAgICB0aGlzLl9kZWZhdWx0SW1h
Z2UgPSBkZWZhdWx0SW1hZ2U7CisgICAgICAgIHRoaXMuX2FsdGVybmF0ZUltYWdlID0gYWx0ZXJu
YXRlSW1hZ2U7CisgICAgICAgIHRoaXMuX2RlZmF1bHRUb29sVGlwID0gZGVmYXVsdFRvb2xUaXA7
CisgICAgICAgIHRoaXMuX2FsdGVybmF0ZVRvb2xUaXAgPSBhbHRlcm5hdGVUb29sVGlwIHx8IGRl
ZmF1bHRUb29sVGlwOworICAgIH0KIAogICAgIC8vIFB1YmxpYwogCiAgICAgZ2V0IGRlZmF1bHRU
b29sVGlwKCkKICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLl9kZWZhdWx0VG9vbFRpcDsKLSAg
ICB9LAorICAgIH0KIAogICAgIGdldCBhbHRlcm5hdGVUb29sVGlwKCkKICAgICB7CiAgICAgICAg
IHJldHVybiB0aGlzLl9hbHRlcm5hdGVUb29sVGlwOwotICAgIH0sCisgICAgfQogCiAgICAgc2V0
IGFsdGVybmF0ZVRvb2xUaXAodG9vbFRpcCkKICAgICB7CkBAIC01NiwxNyArNTksMTcgQEAgV2Vi
SW5zcGVjdG9yLlRvZ2dsZUJ1dHRvbk5hdmlnYXRpb25JdGVtLnByb3RvdHlwZSA9IHsKIAogICAg
ICAgICBpZiAodGhpcy5fdG9nZ2xlZCkKICAgICAgICAgICAgIHRoaXMudG9vbFRpcCA9IHRoaXMu
X2FsdGVybmF0ZVRvb2xUaXA7Ci0gICAgfSwKKyAgICB9CiAKICAgICBnZXQgZGVmYXVsdEltYWdl
KCkKICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLl9kZWZhdWx0SW1hZ2U7Ci0gICAgfSwKKyAg
ICB9CiAKICAgICBnZXQgYWx0ZXJuYXRlSW1hZ2UoKQogICAgIHsKICAgICAgICAgcmV0dXJuIHRo
aXMuX2FsdGVybmF0ZUltYWdlOwotICAgIH0sCisgICAgfQogCiAgICAgc2V0IGFsdGVybmF0ZUlt
YWdlKGltYWdlKQogICAgIHsKQEAgLTc0LDEyICs3NywxMiBAQCBXZWJJbnNwZWN0b3IuVG9nZ2xl
QnV0dG9uTmF2aWdhdGlvbkl0ZW0ucHJvdG90eXBlID0gewogCiAgICAgICAgIGlmICh0aGlzLl90
b2dnbGVkKQogICAgICAgICAgICAgdGhpcy5pbWFnZSA9IHRoaXMuX2FsdGVybmF0ZUltYWdlOwot
ICAgIH0sCisgICAgfQogCiAgICAgZ2V0IHRvZ2dsZWQoKQogICAgIHsKICAgICAgICAgcmV0dXJu
IHRoaXMuX3RvZ2dsZWQ7Ci0gICAgfSwKKyAgICB9CiAKICAgICBzZXQgdG9nZ2xlZChmbGFnKQog
ICAgIHsKQEAgLTk3LDE2ICsxMDAsMTIgQEAgV2ViSW5zcGVjdG9yLlRvZ2dsZUJ1dHRvbk5hdmln
YXRpb25JdGVtLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHRoaXMudG9vbFRpcCA9IHRoaXMu
X2RlZmF1bHRUb29sVGlwOwogICAgICAgICAgICAgdGhpcy5pbWFnZSA9IHRoaXMuX2RlZmF1bHRJ
bWFnZTsKICAgICAgICAgfQotICAgIH0sCisgICAgfQogCi0gICAgLy8gUHJpdmF0ZQorICAgIC8v
IFByb3RlY3RlZAogCi0gICAgX2FkZGl0aW9uYWxDbGFzc05hbWVzOiBbV2ViSW5zcGVjdG9yLlRv
Z2dsZUJ1dHRvbk5hdmlnYXRpb25JdGVtLlN0eWxlQ2xhc3NOYW1lLCBXZWJJbnNwZWN0b3IuQnV0
dG9uTmF2aWdhdGlvbkl0ZW0uU3R5bGVDbGFzc05hbWVdLAotCi0gICAgLy8gVGhlIGltYWdlIGlz
bid0IGNhY2hlYWJsZSBiZWNhdXNlIGl0IGR5bmFtaWNhbGx5IGNoYW5nZXMgYW5kIHRoZSBzYW1l
IGNhbnZhcyBpZGVudGlmaWVyIGlzIHJldXNlZC4KLSAgICAvLyBGSVhNRTogV2UgY291bGQgdHJ5
IG92ZXJyaWRpbmcgX2NhbnZhc0lkZW50aWZpZXIoKSB0byByZXR1cm4gZGlmZmVyZW50IGlkZW50
aWZpZXJzLiBJZiB3ZSBkaWQgdGhhdAotICAgIC8vIHdlIHdvdWxkIGFsc28gbmVlZCB0byBvdmVy
cmlkZSBnZW5lcmF0ZVN0eWxlVGV4dCgpIHRvIHVzZSB0aGUgZGlmZmVyZW50IGlkZW50aWZpZXJz
LgotICAgIF9pbWFnZUNhY2hlYWJsZTogZmFsc2UKKyAgICBnZXQgYWRkaXRpb25hbENsYXNzTmFt
ZXMoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFsidG9nZ2xlIiwgImJ1dHRvbiJdOworICAgIH0K
IH07Ci0KLVdlYkluc3BlY3Rvci5Ub2dnbGVCdXR0b25OYXZpZ2F0aW9uSXRlbS5wcm90b3R5cGUu
X19wcm90b19fID0gV2ViSW5zcGVjdG9yLkJ1dHRvbk5hdmlnYXRpb25JdGVtLnByb3RvdHlwZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Rv
Z2dsZUNvbnRyb2xUb29sYmFySXRlbS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL1RvZ2dsZUNvbnRyb2xUb29sYmFySXRlbS5qcwppbmRleCBiOWEzYmRiOGY3
YTY5YzdmNjA3OTc0YWRlNTdmM2RjNjkwYmMzOGJlLi43YTY4ZjYxNmY0MDg1ZGMzMjc4YTJlODQz
MzE2OWVjYzU5OGRlNGE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9Ub2dnbGVDb250cm9sVG9vbGJhckl0ZW0uanMKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVG9nZ2xlQ29udHJvbFRvb2xiYXJJdGVt
LmpzCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMsIDIwMTUgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0yMywxOCArMjMsMTcgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
ICAqLwogCi1XZWJJbnNwZWN0b3IuVG9nZ2xlQ29udHJvbFRvb2xiYXJJdGVtID0gZnVuY3Rpb24o
aWRlbnRpZmllciwgZGVmYXVsdFRvb2xUaXAsIGFsdGVybmF0ZVRvb2xUaXAsIGRlZmF1bHRJbWFn
ZSwgYWx0ZXJuYXRlSW1hZ2UsIGltYWdlV2lkdGgsIGltYWdlSGVpZ2h0KSB7Ci0gICAgV2ViSW5z
cGVjdG9yLlRvZ2dsZUJ1dHRvbk5hdmlnYXRpb25JdGVtLmNhbGwodGhpcywgaWRlbnRpZmllciwg
ZGVmYXVsdFRvb2xUaXAsIGFsdGVybmF0ZVRvb2xUaXAsIGRlZmF1bHRJbWFnZSwgYWx0ZXJuYXRl
SW1hZ2UsIGltYWdlV2lkdGgsIGltYWdlSGVpZ2h0LCBmYWxzZSk7Ci19OwotCi1XZWJJbnNwZWN0
b3IuVG9nZ2xlQ29udHJvbFRvb2xiYXJJdGVtLlN0eWxlQ2xhc3NOYW1lID0gInRvZ2dsZSI7CitX
ZWJJbnNwZWN0b3IuVG9nZ2xlQ29udHJvbFRvb2xiYXJJdGVtID0gY2xhc3MgVG9nZ2xlQ29udHJv
bFRvb2xiYXJJdGVtIGV4dGVuZHMgV2ViSW5zcGVjdG9yLlRvZ2dsZUJ1dHRvbk5hdmlnYXRpb25J
dGVtCit7CisgICAgY29uc3RydWN0b3IoaWRlbnRpZmllciwgZGVmYXVsdFRvb2xUaXAsIGFsdGVy
bmF0ZVRvb2xUaXAsIGRlZmF1bHRJbWFnZSwgYWx0ZXJuYXRlSW1hZ2UsIGltYWdlV2lkdGgsIGlt
YWdlSGVpZ2h0KQorICAgIHsKKyAgICAgICAgc3VwZXIoaWRlbnRpZmllciwgZGVmYXVsdFRvb2xU
aXAsIGFsdGVybmF0ZVRvb2xUaXAsIGRlZmF1bHRJbWFnZSwgYWx0ZXJuYXRlSW1hZ2UsIGltYWdl
V2lkdGgsIGltYWdlSGVpZ2h0LCBmYWxzZSk7CisgICAgfQogCi1XZWJJbnNwZWN0b3IuVG9nZ2xl
Q29udHJvbFRvb2xiYXJJdGVtLnByb3RvdHlwZSA9IHsKLSAgICBjb25zdHJ1Y3RvcjogV2ViSW5z
cGVjdG9yLlRvZ2dsZUNvbnRyb2xUb29sYmFySXRlbSwKKyAgICAvLyBQcm90ZWN0ZWQKIAotICAg
IC8vIFByaXZhdGUKLQotICAgIF9hZGRpdGlvbmFsQ2xhc3NOYW1lczogW1dlYkluc3BlY3Rvci5U
b2dnbGVDb250cm9sVG9vbGJhckl0ZW0uU3R5bGVDbGFzc05hbWUsIFdlYkluc3BlY3Rvci5Db250
cm9sVG9vbGJhckl0ZW0uU3R5bGVDbGFzc05hbWVdCisgICAgZ2V0IGFkZGl0aW9uYWxDbGFzc05h
bWVzKCkKKyAgICB7CisgICAgICAgIHJldHVybiBbInRvZ2dsZSIsICJjb250cm9sIl07CisgICAg
fQogfTsKLQotV2ViSW5zcGVjdG9yLlRvZ2dsZUNvbnRyb2xUb29sYmFySXRlbS5wcm90b3R5cGUu
X19wcm90b19fID0gV2ViSW5zcGVjdG9yLlRvZ2dsZUJ1dHRvbk5hdmlnYXRpb25JdGVtLnByb3Rv
dHlwZTsK
</data>
<flag name="review"
          id="282830"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>