<?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>195630</bug_id>
          
          <creation_ts>2019-03-12 10:53:11 -0700</creation_ts>
          <short_desc>Web Inspector: Sources: allow image collections to be filtered by type</short_desc>
          <delta_ts>2019-03-15 12:07:21 -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>WebKit 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>
          <dependson>145906</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>mattbaker</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1515514</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-03-12 10:53:11 -0700</bug_when>
    <thetext>&lt;https://bugs.webkit.org/show_bug.cgi?id=145906#c8&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515613</commentid>
    <comment_count>1</comment_count>
      <attachid>364428</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-03-12 12:44:37 -0700</bug_when>
    <thetext>Created attachment 364428
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515641</commentid>
    <comment_count>2</comment_count>
      <attachid>364428</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2019-03-12 13:28:58 -0700</bug_when>
    <thetext>Comment on attachment 364428
Patch

Could we avoid creating UIStrings for extensions? Extensions aren&apos;t localizable, and are commonly shown in both all uppercase/all lowercase, so I don&apos;t think we need to map &quot;web&quot; to &quot;WebP&quot;, for example.

Instead of updating the hidden state of ScopeBarItems as resources change, could we rebuild the bar based on the available resources?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515642</commentid>
    <comment_count>3</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2019-03-12 13:29:36 -0700</bug_when>
    <thetext>(In reply to Matt Baker from comment #2)
&gt; Comment on attachment 364428 [details]
&gt; Patch
&gt; 
&gt; Could we avoid creating UIStrings for extensions? Extensions aren&apos;t
&gt; localizable, and are commonly shown in both all uppercase/all lowercase, so
&gt; I don&apos;t think we need to map &quot;web&quot; to &quot;WebP&quot;, for example.

&quot;webp&quot; to &quot;WebP&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515650</commentid>
    <comment_count>4</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-03-12 13:42:30 -0700</bug_when>
    <thetext>(In reply to Matt Baker from comment #2)

&gt; Could we avoid creating UIStrings for extensions? Extensions aren&apos;t localizable, and are commonly shown in both all uppercase/all lowercase, so I don&apos;t think we need to map &quot;web&quot; to &quot;WebP&quot;, for example.
I would tend to agree, but @rniwa pointed out to me a few weeks ago that it&apos;s still necessary to make things like this a localized string so that languages that rarely (if ever) use English (like Japanese) would be able to transliterate.  In this case &quot;WebP&quot; isn&apos;t referring to the file extension, but rather the MIME &quot;type&quot;, such as how 
JPG&quot; holds both *.jpg and *.jpeg.

&gt; Instead of updating the hidden state of ScopeBarItems as resources change, could we rebuild the bar based on the available resources?
I chose the hidden state approach because it was less of a major change given the current capabilities of `WI.ScopeBar`.  If we wanted to rebuild the bar, we&apos;d need to support the ability to set a new list of `WI.ScopeBarItem`, which is probably harder to do considering that this is a `WI.NavigationItem` subclass (e.g. we&apos;d have to update the `WI.ContentView`&apos;s list of `navigationItems`, and fire an event to re-render).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515675</commentid>
    <comment_count>5</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2019-03-12 14:04:07 -0700</bug_when>
    <thetext>(In reply to Devin Rousso from comment #4)
&gt; (In reply to Matt Baker from comment #2)
&gt; 
&gt; &gt; Could we avoid creating UIStrings for extensions? Extensions aren&apos;t localizable, and are commonly shown in both all uppercase/all lowercase, so I don&apos;t think we need to map &quot;web&quot; to &quot;WebP&quot;, for example.
&gt; I would tend to agree, but @rniwa pointed out to me a few weeks ago that
&gt; it&apos;s still necessary to make things like this a localized string so that
&gt; languages that rarely (if ever) use English (like Japanese) would be able to
&gt; transliterate.  In this case &quot;WebP&quot; isn&apos;t referring to the file extension,
&gt; but rather the MIME &quot;type&quot;, such as how 
&gt; JPG&quot; holds both *.jpg and *.jpeg.

To the last point, if this is a list of &quot;types&quot; rather than extensions, should we use JPEG instead of JPG? After all, when going the other direction WI.mimeTypeForFileExtension maps &quot;jpg&quot; and &quot;jpeg&quot; to &quot;image/jpeg&quot;. I&apos;ll leave it up to you.

&gt; &gt; Instead of updating the hidden state of ScopeBarItems as resources change, could we rebuild the bar based on the available resources?
&gt; I chose the hidden state approach because it was less of a major change
&gt; given the current capabilities of `WI.ScopeBar`.  If we wanted to rebuild
&gt; the bar, we&apos;d need to support the ability to set a new list of
&gt; `WI.ScopeBarItem`, which is probably harder to do considering that this is a
&gt; `WI.NavigationItem` subclass (e.g. we&apos;d have to update the
&gt; `WI.ContentView`&apos;s list of `navigationItems`, and fire an event to
&gt; re-render).

In the interest of treading lightly, that makes sense. It would still be nice to build the list of extensions/ScopeBarItems dynamically, so it isn&apos;t possible to skip an image type. Since the list looks like it was based on the mappings in WI.mimeTypeForFileExtension, I think it&apos;s fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515677</commentid>
    <comment_count>6</comment_count>
      <attachid>364428</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2019-03-12 14:04:41 -0700</bug_when>
    <thetext>Comment on attachment 364428
Patch

r=me, nice enhancement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515680</commentid>
    <comment_count>7</comment_count>
      <attachid>364444</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-03-12 14:08:59 -0700</bug_when>
    <thetext>Created attachment 364444
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515689</commentid>
    <comment_count>8</comment_count>
      <attachid>364444</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-12 14:47:44 -0700</bug_when>
    <thetext>Comment on attachment 364444
Patch

Clearing flags on attachment: 364444

Committed r242829: &lt;https://trac.webkit.org/changeset/242829&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515690</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-12 14:47:45 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515691</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-03-12 14:48:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/48824542&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517038</commentid>
    <comment_count>11</comment_count>
      <attachid>364444</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-03-15 11:41:34 -0700</bug_when>
    <thetext>Comment on attachment 364444
Patch

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

&gt; Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js:729
&gt; +localizedStrings[&quot;PDF&quot;] = &quot;PDF&quot;;
&gt; +localizedStrings[&quot;PNG&quot;] = &quot;PNG&quot;;

Is there any reason these file extensions should be localized? These seem like the perfect thing to not localize.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517063</commentid>
    <comment_count>12</comment_count>
      <attachid>364444</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2019-03-15 12:03:47 -0700</bug_when>
    <thetext>Comment on attachment 364444
Patch

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

&gt;&gt; Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js:729
&gt;&gt; +localizedStrings[&quot;PNG&quot;] = &quot;PNG&quot;;
&gt; 
&gt; Is there any reason these file extensions should be localized? These seem like the perfect thing to not localize.

See Devin&apos;s comment regarding this: https://bugs.webkit.org/show_bug.cgi?id=195630#c4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517067</commentid>
    <comment_count>13</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-03-15 12:07:21 -0700</bug_when>
    <thetext>(In reply to Matt Baker from comment #12)
&gt; Comment on attachment 364444 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=364444&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js:729
&gt; &gt;&gt; +localizedStrings[&quot;PNG&quot;] = &quot;PNG&quot;;
&gt; &gt; 
&gt; &gt; Is there any reason these file extensions should be localized? These seem like the perfect thing to not localize.
&gt; 
&gt; See Devin&apos;s comment regarding this:
&gt; https://bugs.webkit.org/show_bug.cgi?id=195630#c4

Okay, sounds good.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364428</attachid>
            <date>2019-03-12 12:44:37 -0700</date>
            <delta_ts>2019-03-12 14:08:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>ImageCollectionTypeFilter.diff</filename>
            <type>text/plain</type>
            <size>17172</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDljMDI5MTQ4NjRlLi41ODAwODQ2N2FkNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTktMDMtMTIgIERldmlu
IFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFNv
dXJjZXM6IGFsbG93IGltYWdlIGNvbGxlY3Rpb25zIHRvIGJlIGZpbHRlcmVkIGJ5IHR5cGUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTYzMAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVXNlckludGVy
ZmFjZS9WaWV3cy9SZXNvdXJjZUNvbGxlY3Rpb25Db250ZW50Vmlldy5qczoKKyAgICAgICAgKFdJ
LlJlc291cmNlQ29sbGVjdGlvbkNvbnRlbnRWaWV3KToKKyAgICAgICAgKFdJLlJlc291cmNlQ29s
bGVjdGlvbkNvbnRlbnRWaWV3LnByb3RvdHlwZS5nZXQgbmF2aWdhdGlvbkl0ZW1zKTogQWRkZWQu
CisgICAgICAgIChXSS5SZXNvdXJjZUNvbGxlY3Rpb25Db250ZW50Vmlldy5wcm90b3R5cGUuY29u
dGVudFZpZXdBZGRlZCk6CisgICAgICAgIChXSS5SZXNvdXJjZUNvbGxlY3Rpb25Db250ZW50Vmll
dy5wcm90b3R5cGUuY29udGVudFZpZXdSZW1vdmVkKTogQWRkZWQuCisgICAgICAgIChXSS5SZXNv
dXJjZUNvbGxlY3Rpb25Db250ZW50Vmlldy5wcm90b3R5cGUuX3VwZGF0ZUltYWdlVHlwZVNjb3Bl
QmFyKTogQWRkZWQuCisgICAgICAgIChXSS5SZXNvdXJjZUNvbGxlY3Rpb25Db250ZW50Vmlldy5w
cm90b3R5cGUuX2hhbmRsZUltYWdlVHlwZVNlbGVjdGlvbkNoYW5nZWQpOiBBZGRlZC4KKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlQ29sbGVjdGlvbkNvbnRlbnRWaWV3LmNz
czogQXNkZGVkLgorICAgICAgICAoLnJlc291cmNlLWNvbGxlY3Rpb24taW1hZ2UtdHlwZS1zY29w
ZS1iYXIuZGVmYXVsdC1pdGVtLXNlbGVjdGVkKToKKworICAgICAgICAqIFVzZXJJbnRlcmZhY2Uv
Vmlld3MvQ29sbGVjdGlvbkNvbnRlbnRWaWV3LmNzczoKKyAgICAgICAgKC5jb250ZW50LXZpZXcu
Y29sbGVjdGlvbiA+IC5jb250ZW50LXZpZXdbaGlkZGVuXSk6IEFkZGVkLgorCisgICAgICAgICog
VXNlckludGVyZmFjZS9WaWV3cy9TY29wZUJhckl0ZW0uanM6CisgICAgICAgIChXSS5TY29wZUJh
ckl0ZW0ucHJvdG90eXBlLnNldCBoaWRkZW4pOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmll
d3MvTXVsdGlwbGVTY29wZUJhckl0ZW0uanM6CisgICAgICAgIChXSS5NdWx0aXBsZVNjb3BlQmFy
SXRlbS5wcm90b3R5cGUuc2V0IHNjb3BlQmFySXRlbXMpOgorICAgICAgICAoV0kuTXVsdGlwbGVT
Y29wZUJhckl0ZW0ucHJvdG90eXBlLnNldCBzZWxlY3RlZFNjb3BlQmFySXRlbSk6CisgICAgICAg
IChXSS5NdWx0aXBsZVNjb3BlQmFySXRlbS5wcm90b3R5cGUuZ2V0IF92aXNpYmxlU2NvcGVCYXJJ
dGVtcyk6IEFkZGVkLgorICAgICAgICAoV0kuTXVsdGlwbGVTY29wZUJhckl0ZW0ucHJvdG90eXBl
Ll9zZWxlY3RFbGVtZW50U2VsZWN0aW9uQ2hhbmdlZCk6CisgICAgICAgIChXSS5NdWx0aXBsZVNj
b3BlQmFySXRlbS5wcm90b3R5cGUuX2hhbmRsZUl0ZW1IaWRkZW5DaGFuZ2VkKTogQWRkZWQuCisg
ICAgICAgIERpc3BhdGNoIGFuIGV2ZW50IHdoZW4gYW4gaXRlbSBpcyBoaWRkZW4gc28gdGhhdCBh
bnkgb3duZXIgYFdJLk11bHRpcGxlU2NvcGVCYXJJdGVtYCBjYW4KKyAgICAgICAgcmVyZW5kZXIg
aXQncyA8c2VsZWN0PiB3aXRob3V0IHRoYXQgaXRlbS4KKworICAgICAgICAqIExvY2FsaXphdGlv
bnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L01haW4uaHRtbDoKKwogMjAxOS0wMy0wNyAgTmlraXRhIFZhc2lseWV2ICA8bnZhc2lseWV2QGFw
cGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBTdHlsZXM6IG92ZXJyaWRkZW4gQ1NT
IHByb3BlcnR5IHNob3VsZCBoYXZlIGdvLXRvIGJ1dHRvbiB0byBqdW1wIHRvIGVmZmVjdGl2ZSBw
cm9wZXJ0eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMv
ZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2Nh
bGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKaW5kZXggMzY1ZmFkZWY0YzEu
LmYzYjgzYWY1MTYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0
aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKQEAgLTE0OCw2
ICsxNDgsNyBAQCBsb2NhbGl6ZWRTdHJpbmdzWyJBdmFpbGFibGUgU3R5bGUgU2hlZXRzIl0gPSAi
QXZhaWxhYmxlIFN0eWxlIFNoZWV0cyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJBdmVyYWdlIENQVTog
JXMiXSA9ICJBdmVyYWdlIENQVTogJXMiOwogbG9jYWxpemVkU3RyaW5nc1siQXZlcmFnZSBUaW1l
Il0gPSAiQXZlcmFnZSBUaW1lIjsKIGxvY2FsaXplZFN0cmluZ3NbIkF2ZXJhZ2U6ICVzIl0gPSAi
QXZlcmFnZTogJXMiOworbG9jYWxpemVkU3RyaW5nc1siQk1QIl0gPSAiQk1QIjsKIGxvY2FsaXpl
ZFN0cmluZ3NbIkJhY2sgKCVzKSJdID0gIkJhY2sgKCVzKSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJC
YWNrdHJhY2UiXSA9ICJCYWNrdHJhY2UiOwogbG9jYWxpemVkU3RyaW5nc1siQmFzaWMiXSA9ICJC
YXNpYyI7CkBAIC00OTcsNiArNDk4LDcgQEAgbG9jYWxpemVkU3RyaW5nc1siRnVsbC1TY3JlZW4i
XSA9ICJGdWxsLVNjcmVlbiI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJGdWxsLVNjcmVlbiBmcm9tIFx1
MjAxQyVzXHUyMDFEIl0gPSAiRnVsbC1TY3JlZW4gZnJvbSBcdTIwMUMlc1x1MjAxRCI7CiBsb2Nh
bGl6ZWRTdHJpbmdzWyJGdW5jdGlvbiJdID0gIkZ1bmN0aW9uIjsKIGxvY2FsaXplZFN0cmluZ3Nb
IkZ1bmN0aW9uIE5hbWUgVmFyaWFibGUiXSA9ICJGdW5jdGlvbiBOYW1lIFZhcmlhYmxlIjsKK2xv
Y2FsaXplZFN0cmluZ3NbIkdJRiJdID0gIkdJRiI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJHYXJiYWdl
IENvbGxlY3Rpb24iXSA9ICJHYXJiYWdlIENvbGxlY3Rpb24iOwogbG9jYWxpemVkU3RyaW5nc1si
R2VuZXJhbCJdID0gIkdlbmVyYWwiOwogbG9jYWxpemVkU3RyaW5nc1siR2V0dGVyIl0gPSAiR2V0
dGVyIjsKQEAgLTUzMyw2ICs1MzUsNyBAQCBsb2NhbGl6ZWRTdHJpbmdzWyJIaWVyYXJjaHkgTGV2
ZWwiXSA9ICJIaWVyYXJjaHkgTGV2ZWwiOwogbG9jYWxpemVkU3RyaW5nc1siSGlnaCJdID0gIkhp
Z2giOwogbG9jYWxpemVkU3RyaW5nc1siSGlnaGVzdDogJXMiXSA9ICJIaWdoZXN0OiAlcyI7CiBs
b2NhbGl6ZWRTdHJpbmdzWyJIb3N0Il0gPSAiSG9zdCI7Citsb2NhbGl6ZWRTdHJpbmdzWyJJQ08i
XSA9ICJJQ08iOwogbG9jYWxpemVkU3RyaW5nc1siSVAiXSA9ICJJUCI7CiBsb2NhbGl6ZWRTdHJp
bmdzWyJJUCBBZGRyZXNzIl0gPSAiSVAgQWRkcmVzcyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJJZGVu
dGl0eSJdID0gIklkZW50aXR5IjsKQEAgLTU2Nyw2ICs1NzAsOCBAQCBsb2NhbGl6ZWRTdHJpbmdz
WyJJbnZhbGlkIl0gPSAiSW52YWxpZCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJJbnZhbGlkIGNoYXJh
Y3RlcnMiXSA9ICJJbnZhbGlkIGNoYXJhY3RlcnMiOwogbG9jYWxpemVkU3RyaW5nc1siSW52ZXJ0
ZWQiXSA9ICJJbnZlcnRlZCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJJbnZva2UgZ2V0dGVyIl0gPSAi
SW52b2tlIGdldHRlciI7Citsb2NhbGl6ZWRTdHJpbmdzWyJKUDIiXSA9ICJKUDIiOworbG9jYWxp
emVkU3RyaW5nc1siSlBHIl0gPSAiSlBHIjsKIGxvY2FsaXplZFN0cmluZ3NbIkpTT04iXSA9ICJK
U09OIjsKIGxvY2FsaXplZFN0cmluZ3NbIkphdmFTY3JpcHQiXSA9ICJKYXZhU2NyaXB0IjsKIGxv
Y2FsaXplZFN0cmluZ3NbIkphdmFTY3JpcHQgJiBFdmVudHMiXSA9ICJKYXZhU2NyaXB0ICYgRXZl
bnRzIjsKQEAgLTcxNyw2ICs3MjIsOCBAQCBsb2NhbGl6ZWRTdHJpbmdzWyJPdmVyIDEgbXMiXSA9
ICJPdmVyIDEgbXMiOwogbG9jYWxpemVkU3RyaW5nc1siT3ZlciAxNSBtcyJdID0gIk92ZXIgMTUg
bXMiOwogbG9jYWxpemVkU3RyaW5nc1siT3ZlcnZpZXciXSA9ICJPdmVydmlldyI7CiBsb2NhbGl6
ZWRTdHJpbmdzWyJPd25zIl0gPSAiT3ducyI7Citsb2NhbGl6ZWRTdHJpbmdzWyJQREYiXSA9ICJQ
REYiOworbG9jYWxpemVkU3RyaW5nc1siUE5HIl0gPSAiUE5HIjsKIGxvY2FsaXplZFN0cmluZ3Nb
IlBhZ2UiXSA9ICJQYWdlIjsKIGxvY2FsaXplZFN0cmluZ3NbIlBhZ2UgSXNzdWUiXSA9ICJQYWdl
IElzc3VlIjsKIGxvY2FsaXplZFN0cmluZ3NbIlBhZ2UgbmF2aWdhdGVkIGF0ICVzIl0gPSAiUGFn
ZSBuYXZpZ2F0ZWQgYXQgJXMiOwpAQCAtODQ4LDYgKzg1NSw3IEBAIGxvY2FsaXplZFN0cmluZ3Nb
IlJvbGUiXSA9ICJSb2xlIjsKIGxvY2FsaXplZFN0cmluZ3NbIlJ1biAlZCJdID0gIlJ1biAlZCI7
CiBsb2NhbGl6ZWRTdHJpbmdzWyJSdW4gY29uc29sZSBjb21tYW5kcyBhcyBpZiBpbnNpZGUgYSB1
c2VyIGdlc3R1cmUiXSA9ICJSdW4gY29uc29sZSBjb21tYW5kcyBhcyBpZiBpbnNpZGUgYSB1c2Vy
IGdlc3R1cmUiOwogbG9jYWxpemVkU3RyaW5nc1siUnVubmluZyB0aGUgXHUyMDFDJXNcdTIwMUQg
YXVkaXQiXSA9ICJSdW5uaW5nIHRoZSBcdTIwMUMlc1x1MjAxRCBhdWRpdCI7Citsb2NhbGl6ZWRT
dHJpbmdzWyJTVkciXSA9ICJTVkciOwogbG9jYWxpemVkU3RyaW5nc1siU2FtcGxlcyJdID0gIlNh
bXBsZXMiOwogbG9jYWxpemVkU3RyaW5nc1siU2F2ZSAlZCJdID0gIlNhdmUgJWQiOwogbG9jYWxp
emVkU3RyaW5nc1siU2F2ZSBGaWxlIl0gPSAiU2F2ZSBGaWxlIjsKQEAgLTk5OCw2ICsxMDA2LDcg
QEAgbG9jYWxpemVkU3RyaW5nc1siU3ViamVjdCJdID0gIlN1YmplY3QiOwogbG9jYWxpemVkU3Ry
aW5nc1siU3VidHJlZSBNb2RpZmllZCJdID0gIlN1YnRyZWUgTW9kaWZpZWQiOwogbG9jYWxpemVk
U3RyaW5nc1siU3VtbWFyeSJdID0gIlN1bW1hcnkiOwogbG9jYWxpemVkU3RyaW5nc1siVENQIl0g
PSAiVENQIjsKK2xvY2FsaXplZFN0cmluZ3NbIlRJRkYiXSA9ICJUSUZGIjsKIGxvY2FsaXplZFN0
cmluZ3NbIlRhYiB3aWR0aDoiXSA9ICJUYWIgd2lkdGg6IjsKIGxvY2FsaXplZFN0cmluZ3NbIlRh
YnMiXSA9ICJUYWJzIjsKIGxvY2FsaXplZFN0cmluZ3NbIlRhZyJdID0gIlRhZyI7CkBAIC0xMTEz
LDYgKzExMjIsNyBAQCBsb2NhbGl6ZWRTdHJpbmdzWyJXYXRjaCBFeHByZXNzaW9ucyJdID0gIldh
dGNoIEV4cHJlc3Npb25zIjsKIGxvY2FsaXplZFN0cmluZ3NbIldhdGVyZmFsbCJdID0gIldhdGVy
ZmFsbCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJXZWIgSW5zcGVjdG9yIl0gPSAiV2ViIEluc3BlY3Rv
ciI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJXZWJLaXQgVGhyZWFkcyJdID0gIldlYktpdCBUaHJlYWRz
IjsKK2xvY2FsaXplZFN0cmluZ3NbIldlYlAiXSA9ICJXZWJQIjsKIGxvY2FsaXplZFN0cmluZ3Nb
IldlYlJUQyJdID0gIldlYlJUQyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJXZWJSVEMgTG9nZ2luZzoi
XSA9ICJXZWJSVEMgTG9nZ2luZzoiOwogbG9jYWxpemVkU3RyaW5nc1siV2ViU29ja2V0IENvbm5l
Y3Rpb24gRXN0YWJsaXNoZWQiXSA9ICJXZWJTb2NrZXQgQ29ubmVjdGlvbiBFc3RhYmxpc2hlZCI7
CkBAIC0xMTI0LDYgKzExMzQsNyBAQCBsb2NhbGl6ZWRTdHJpbmdzWyJXb3JrZXIgVGhyZWFkIl0g
PSAiV29ya2VyIFRocmVhZCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJXb3JrZXIgXHUyMDE0ICVzIl0g
PSAiV29ya2VyIFx1MjAxNCAlcyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJXb3JraW5nIENvcHkiXSA9
ICJXb3JraW5nIENvcHkiOwogbG9jYWxpemVkU3RyaW5nc1siV3JhcCBsaW5lcyB0byBlZGl0b3Ig
d2lkdGgiXSA9ICJXcmFwIGxpbmVzIHRvIGVkaXRvciB3aWR0aCI7Citsb2NhbGl6ZWRTdHJpbmdz
WyJYQk0iXSA9ICJYQk0iOwogbG9jYWxpemVkU3RyaW5nc1siWEhSIl0gPSAiWEhSIjsKIGxvY2Fs
aXplZFN0cmluZ3NbIlhIUiBCcmVha3BvaW50XHUyMDI2Il0gPSAiWEhSIEJyZWFrcG9pbnRcdTIw
MjYiOwogbG9jYWxpemVkU3RyaW5nc1siWEhScyJdID0gIlhIUnMiOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sCmluZGV4IGI3YWIyNDM4NzZhLi4xYmFj
MjRjYjk0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
TWFpbi5odG1sCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4u
aHRtbApAQCAtMTcwLDYgKzE3MCw3IEBACiAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSJWaWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5jc3MiPgogICAgIDxs
aW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZVZp
ZXcuY3NzIj4KICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9IlZpZXdzL1Jlc2l6ZXIu
Y3NzIj4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9IlZpZXdzL1Jlc291cmNlQ29s
bGVjdGlvbkNvbnRlbnRWaWV3LmNzcyI+CiAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSJWaWV3cy9SZXNvdXJjZUNvb2tpZXNDb250ZW50Vmlldy5jc3MiPgogICAgIDxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iVmlld3MvUmVzb3VyY2VEZXRhaWxzU2VjdGlvbi5jc3MiPgogICAg
IDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iVmlld3MvUmVzb3VyY2VEZXRhaWxzU2lkZWJh
clBhbmVsLmNzcyI+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9Db2xsZWN0aW9uQ29udGVudFZpZXcuY3NzIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29sbGVjdGlvbkNvbnRlbnRWaWV3LmNzcwppbmRleCA4
N2JiOTI0ZDlhNS4uNzA3ZWU2ODZmNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbGxlY3Rpb25Db250ZW50Vmlldy5jc3MKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29sbGVjdGlvbkNvbnRlbnRW
aWV3LmNzcwpAQCAtMzIsMyArMzIsNyBAQAogLmNvbnRlbnQtdmlldy5jb2xsZWN0aW9uID4gLmNv
bnRlbnQtdmlldyB7CiAgICAgZmxleC1ncm93OiAxOwogfQorCisuY29udGVudC12aWV3LmNvbGxl
Y3Rpb24gPiAuY29udGVudC12aWV3W2hpZGRlbl0geworICAgIGRpc3BsYXk6IG5vbmU7Cit9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9NdWx0
aXBsZVNjb3BlQmFySXRlbS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL011bHRpcGxlU2NvcGVCYXJJdGVtLmpzCmluZGV4IDA1NzYyMmU1ZGQ4Li4wNGE4YjFl
ZDY0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvTXVsdGlwbGVTY29wZUJhckl0ZW0uanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvTXVsdGlwbGVTY29wZUJhckl0ZW0uanMKQEAgLTgyLDcgKzgyLDcg
QEAgV0kuTXVsdGlwbGVTY29wZUJhckl0ZW0gPSBjbGFzcyBNdWx0aXBsZVNjb3BlQmFySXRlbSBl
eHRlbmRzIFdJLk9iamVjdAogICAgICAgICAgICAgcmV0dXJuIG9wdGlvbkVsZW1lbnQ7CiAgICAg
ICAgIH0KIAotICAgICAgICBmb3IgKHZhciBzY29wZUJhckl0ZW0gb2YgdGhpcy5fc2NvcGVCYXJJ
dGVtcykgeworICAgICAgICBmb3IgKHZhciBzY29wZUJhckl0ZW0gb2YgdGhpcy5fdmlzaWJsZVNj
b3BlQmFySXRlbXMpIHsKICAgICAgICAgICAgIGlmIChzY29wZUJhckl0ZW0uc2VsZWN0ZWQgJiYg
IXRoaXMuX3NlbGVjdGVkU2NvcGVCYXJJdGVtKQogICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVj
dGVkU2NvcGVCYXJJdGVtID0gc2NvcGVCYXJJdGVtOwogICAgICAgICAgICAgZWxzZSBpZiAoc2Nv
cGVCYXJJdGVtLnNlbGVjdGVkKSB7CkBAIC05Miw2ICs5Miw3IEBAIFdJLk11bHRpcGxlU2NvcGVC
YXJJdGVtID0gY2xhc3MgTXVsdGlwbGVTY29wZUJhckl0ZW0gZXh0ZW5kcyBXSS5PYmplY3QKICAg
ICAgICAgICAgIH0KIAogICAgICAgICAgICAgc2NvcGVCYXJJdGVtLmFkZEV2ZW50TGlzdGVuZXIo
V0kuU2NvcGVCYXJJdGVtLkV2ZW50LlNlbGVjdGlvbkNoYW5nZWQsIHRoaXMuX2l0ZW1TZWxlY3Rp
b25EaWRDaGFuZ2UsIHRoaXMpOworICAgICAgICAgICAgc2NvcGVCYXJJdGVtLmFkZEV2ZW50TGlz
dGVuZXIoV0kuU2NvcGVCYXJJdGVtLkV2ZW50LkhpZGRlbkNoYW5nZWQsIHRoaXMuX2hhbmRsZUl0
ZW1IaWRkZW5DaGFuZ2VkLCB0aGlzKTsKIAogICAgICAgICAgICAgdGhpcy5fc2VsZWN0RWxlbWVu
dC5hcHBlbmRDaGlsZChjcmVhdGVPcHRpb24oc2NvcGVCYXJJdGVtKSk7CiAgICAgICAgIH0KQEAg
LTEzMCw3ICsxMzEsMTEgQEAgV0kuTXVsdGlwbGVTY29wZUJhckl0ZW0gPSBjbGFzcyBNdWx0aXBs
ZVNjb3BlQmFySXRlbSBleHRlbmRzIFdJLk9iamVjdAogCiAgICAgICAgIHRoaXMuX2VsZW1lbnQu
Y2xhc3NMaXN0LnRvZ2dsZSgic2VsZWN0ZWQiLCAhIXNlbGVjdGVkU2NvcGVCYXJJdGVtKTsKICAg
ICAgICAgdGhpcy5fc2VsZWN0ZWRTY29wZUJhckl0ZW0gPSBzZWxlY3RlZFNjb3BlQmFySXRlbSB8
fCBudWxsOwotICAgICAgICB0aGlzLl9zZWxlY3RFbGVtZW50LnNlbGVjdGVkSW5kZXggPSB0aGlz
Ll9zY29wZUJhckl0ZW1zLmluZGV4T2YodGhpcy5fc2VsZWN0ZWRTY29wZUJhckl0ZW0pOworCisg
ICAgICAgIGxldCBzZWxlY3RlZEluZGV4ID0gdGhpcy5fdmlzaWJsZVNjb3BlQmFySXRlbXMuaW5k
ZXhPZih0aGlzLl9zZWxlY3RlZFNjb3BlQmFySXRlbSk7CisgICAgICAgIGlmIChzZWxlY3RlZElu
ZGV4IDwgMCkKKyAgICAgICAgICAgIHNlbGVjdGVkSW5kZXggPSAwOworICAgICAgICB0aGlzLl9z
ZWxlY3RFbGVtZW50LnNlbGVjdGVkSW5kZXggPSBzZWxlY3RlZEluZGV4OwogCiAgICAgICAgIGlm
ICh0aGlzLl9zZWxlY3RlZFNjb3BlQmFySXRlbSkgewogICAgICAgICAgICAgdGhpcy5kaXNwbGF5
U2VsZWN0ZWRJdGVtKCk7CkBAIC0xNjUsNiArMTcwLDExIEBAIFdJLk11bHRpcGxlU2NvcGVCYXJJ
dGVtID0gY2xhc3MgTXVsdGlwbGVTY29wZUJhckl0ZW0gZXh0ZW5kcyBXSS5PYmplY3QKIAogICAg
IC8vIFByaXZhdGUKIAorICAgIGdldCBfdmlzaWJsZVNjb3BlQmFySXRlbXMoKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIHRoaXMuX3Njb3BlQmFySXRlbXMuZmlsdGVyKChpdGVtKSA9PiAhaXRlbS5o
aWRkZW4pOworICAgIH0KKwogICAgIF9oYW5kbGVNb3VzZURvd24oZXZlbnQpCiAgICAgewogICAg
ICAgICAvLyBPbmx5IGhhbmRsZSBsZWZ0IG1vdXNlIGNsaWNrcy4KQEAgLTE5MSw3ICsyMDEsNyBA
QCBXSS5NdWx0aXBsZVNjb3BlQmFySXRlbSA9IGNsYXNzIE11bHRpcGxlU2NvcGVCYXJJdGVtIGV4
dGVuZHMgV0kuT2JqZWN0CiAKICAgICBfc2VsZWN0RWxlbWVudFNlbGVjdGlvbkNoYW5nZWQoZXZl
bnQpCiAgICAgewotICAgICAgICB0aGlzLnNlbGVjdGVkU2NvcGVCYXJJdGVtID0gdGhpcy5fc2Nv
cGVCYXJJdGVtc1t0aGlzLl9zZWxlY3RFbGVtZW50LnNlbGVjdGVkSW5kZXhdOworICAgICAgICB0
aGlzLnNlbGVjdGVkU2NvcGVCYXJJdGVtID0gdGhpcy5fdmlzaWJsZVNjb3BlQmFySXRlbXNbdGhp
cy5fc2VsZWN0RWxlbWVudC5zZWxlY3RlZEluZGV4XTsKICAgICB9CiAKICAgICBfaXRlbVNlbGVj
dGlvbkRpZENoYW5nZShldmVudCkKQEAgLTIwMCw0ICsyMTAsMTAgQEAgV0kuTXVsdGlwbGVTY29w
ZUJhckl0ZW0gPSBjbGFzcyBNdWx0aXBsZVNjb3BlQmFySXRlbSBleHRlbmRzIFdJLk9iamVjdAog
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB0aGlzLnNlbGVjdGVkU2NvcGVCYXJJdGVtID0g
ZXZlbnQudGFyZ2V0LnNlbGVjdGVkID8gZXZlbnQudGFyZ2V0IDogbnVsbDsKICAgICB9CisKKyAg
ICBfaGFuZGxlSXRlbUhpZGRlbkNoYW5nZWQoZXZlbnQpCisgICAgeworICAgICAgICAvLyBSZWdl
bmVyYXRlIHRoZSA8c2VsZWN0PiB3aXRoIHRoZSBuZXcgb3B0aW9ucy4KKyAgICAgICAgdGhpcy5z
Y29wZUJhckl0ZW1zID0gdGhpcy5fc2NvcGVCYXJJdGVtczsKKyAgICB9CiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VDb2xs
ZWN0aW9uQ29udGVudFZpZXcuY3NzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvUmVzb3VyY2VDb2xsZWN0aW9uQ29udGVudFZpZXcuY3NzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4zYTlhOWFlZmYyOQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlQ29sbGVj
dGlvbkNvbnRlbnRWaWV3LmNzcwpAQCAtMCwwICsxLDMwIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLnJlc291
cmNlLWNvbGxlY3Rpb24taW1hZ2UtdHlwZS1zY29wZS1iYXIuZGVmYXVsdC1pdGVtLXNlbGVjdGVk
IHsKKyAgICAtLXNjb3BlLWJhci10ZXh0LWNvbG9yLW92ZXJyaWRlOiB2YXIoLS10ZXh0LWNvbG9y
KTsKKyAgICAtLXNjb3BlLWJhci1iYWNrZ3JvdW5kLWNvbG9yLW92ZXJyaWRlOiB0cmFuc3BhcmVu
dDsKKyAgICAtLXNjb3BlLWJhci1ib3JkZXItY29sb3Itb3ZlcnJpZGU6IHRyYW5zcGFyZW50Owor
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
UmVzb3VyY2VDb2xsZWN0aW9uQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZUNvbGxlY3Rpb25Db250ZW50Vmlldy5qcwppbmRl
eCA5ZjgzNzE5NmRlNy4uNjlkMmU2ZjcwZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlQ29sbGVjdGlvbkNvbnRlbnRWaWV3Lmpz
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNl
Q29sbGVjdGlvbkNvbnRlbnRWaWV3LmpzCkBAIC0zNCw2ICszNCw0NCBAQCBXSS5SZXNvdXJjZUNv
bGxlY3Rpb25Db250ZW50VmlldyA9IGNsYXNzIFJlc291cmNlQ29sbGVjdGlvbkNvbnRlbnRWaWV3
IGV4dGVuZHMgVwogICAgICAgICAgICAgY29udGVudFZpZXdDb25zdHJ1Y3RvciA9IFdJLkltYWdl
UmVzb3VyY2VDb250ZW50VmlldzsKIAogICAgICAgICBzdXBlcihjb2xsZWN0aW9uLCBjb250ZW50
Vmlld0NvbnN0cnVjdG9yKTsKKworICAgICAgICBpZiAoY29sbGVjdGlvbi5yZXNvdXJjZVR5cGUg
PT09IFdJLlJlc291cmNlLlR5cGUuSW1hZ2UpIHsKKyAgICAgICAgICAgIGxldCBhbGxJdGVtID0g
bmV3IFdJLlNjb3BlQmFySXRlbSgiYWxsIiwgV0kuVUlTdHJpbmcoIkFsbCIpKTsKKworICAgICAg
ICAgICAgbGV0IGl0ZW1zID0gW2FsbEl0ZW1dOworICAgICAgICAgICAgdGhpcy5fc2NvcGVCYXJJ
dGVtVHlwZU1hcCA9IHt9OworCisgICAgICAgICAgICBsZXQgYWRkSXRlbSA9IChrZXksIGxhYmVs
KSA9PiB7CisgICAgICAgICAgICAgICAgbGV0IGl0ZW0gPSBuZXcgV0kuU2NvcGVCYXJJdGVtKGtl
eSwgbGFiZWwpOworICAgICAgICAgICAgICAgIGl0ZW1zLnB1c2goaXRlbSk7CisgICAgICAgICAg
ICAgICAgdGhpcy5fc2NvcGVCYXJJdGVtVHlwZU1hcFtrZXldID0gaXRlbTsKKyAgICAgICAgICAg
IH07CisgICAgICAgICAgICBhZGRJdGVtKCJibXAiLCBXSS5VSVN0cmluZygiQk1QIikpOworICAg
ICAgICAgICAgYWRkSXRlbSgiZ2lmIiwgV0kuVUlTdHJpbmcoIkdJRiIpKTsKKyAgICAgICAgICAg
IGFkZEl0ZW0oImljbyIsIFdJLlVJU3RyaW5nKCJJQ08iKSk7CisgICAgICAgICAgICBhZGRJdGVt
KCJqcDIiLCBXSS5VSVN0cmluZygiSlAyIikpOworICAgICAgICAgICAgYWRkSXRlbSgianBnIiwg
V0kuVUlTdHJpbmcoIkpQRyIpKTsKKyAgICAgICAgICAgIGFkZEl0ZW0oInBkZiIsIFdJLlVJU3Ry
aW5nKCJQREYiKSk7CisgICAgICAgICAgICBhZGRJdGVtKCJwbmciLCBXSS5VSVN0cmluZygiUE5H
IikpOworICAgICAgICAgICAgYWRkSXRlbSgic3ZnIiwgV0kuVUlTdHJpbmcoIlNWRyIpKTsKKyAg
ICAgICAgICAgIGFkZEl0ZW0oInRpZmYiLCBXSS5VSVN0cmluZygiVElGRiIpKTsKKyAgICAgICAg
ICAgIGFkZEl0ZW0oIndlYnAiLCBXSS5VSVN0cmluZygiV2ViUCIpKTsKKyAgICAgICAgICAgIGFk
ZEl0ZW0oInhibSIsIFdJLlVJU3RyaW5nKCJYQk0iKSk7CisKKyAgICAgICAgICAgIGNvbnN0IHNo
b3VsZEdyb3VwTm9uRXhjbHVzaXZlSXRlbXMgPSB0cnVlOworICAgICAgICAgICAgdGhpcy5faW1h
Z2VUeXBlU2NvcGVCYXIgPSBuZXcgV0kuU2NvcGVCYXIoInJlc291cmNlLWNvbGxlY3Rpb24taW1h
Z2UtdHlwZS1zY29wZS1iYXIiLCBpdGVtcywgYWxsSXRlbSwgc2hvdWxkR3JvdXBOb25FeGNsdXNp
dmVJdGVtcyk7CisgICAgICAgICAgICB0aGlzLl9pbWFnZVR5cGVTY29wZUJhci5hZGRFdmVudExp
c3RlbmVyKFdJLlNjb3BlQmFyLkV2ZW50LlNlbGVjdGlvbkNoYW5nZWQsIHRoaXMuX2hhbmRsZUlt
YWdlVHlwZVNlbGVjdGlvbkNoYW5nZWQsIHRoaXMpOworICAgICAgICB9CisgICAgfQorCisgICAg
Ly8gUHVibGljCisKKyAgICBnZXQgbmF2aWdhdGlvbkl0ZW1zKCkKKyAgICB7CisgICAgICAgIGxl
dCBuYXZpZ2F0aW9uSXRlbXMgPSBzdXBlci5uYXZpZ2F0aW9uSXRlbXM7CisgICAgICAgIGlmICh0
aGlzLl9pbWFnZVR5cGVTY29wZUJhcikKKyAgICAgICAgICAgIG5hdmlnYXRpb25JdGVtcy51bnNo
aWZ0KHRoaXMuX2ltYWdlVHlwZVNjb3BlQmFyKTsKKyAgICAgICAgcmV0dXJuIG5hdmlnYXRpb25J
dGVtczsKICAgICB9CiAKICAgICAvLyBQcm90ZWN0ZWQKQEAgLTQ1LDEyICs4Myw0NiBAQCBXSS5S
ZXNvdXJjZUNvbGxlY3Rpb25Db250ZW50VmlldyA9IGNsYXNzIFJlc291cmNlQ29sbGVjdGlvbkNv
bnRlbnRWaWV3IGV4dGVuZHMgVwogICAgICAgICBsZXQgcmVzb3VyY2UgPSBjb250ZW50Vmlldy5y
ZXByZXNlbnRlZE9iamVjdDsKICAgICAgICAgY29uc29sZS5hc3NlcnQocmVzb3VyY2UgaW5zdGFu
Y2VvZiBXSS5SZXNvdXJjZSk7CiAKKyAgICAgICAgdGhpcy5fdXBkYXRlSW1hZ2VUeXBlU2NvcGVC
YXIoKTsKKwogICAgICAgICBjb250ZW50Vmlldy5hZGRFdmVudExpc3RlbmVyKFdJLlJlc291cmNl
Q29udGVudFZpZXcuRXZlbnQuQ29udGVudEVycm9yLCB0aGlzLl9oYW5kbGVDb250ZW50RXJyb3Is
IHRoaXMpOwogICAgICAgICBjb250ZW50Vmlldy5lbGVtZW50LnRpdGxlID0gV0kuZGlzcGxheU5h
bWVGb3JVUkwocmVzb3VyY2UudXJsLCByZXNvdXJjZS51cmxDb21wb25lbnRzKTsKICAgICB9CiAK
KyAgICBjb250ZW50Vmlld1JlbW92ZWQoY29udGVudFZpZXcpCisgICAgeworICAgICAgICB0aGlz
Ll91cGRhdGVJbWFnZVR5cGVTY29wZUJhcigpOworICAgIH0KKwogICAgIC8vIFByaXZhdGUKIAor
ICAgIF91cGRhdGVJbWFnZVR5cGVTY29wZUJhcigpCisgICAgeworICAgICAgICBsZXQgZXh0ZW5z
aW9ucyA9IG5ldyBTZXQ7CisKKyAgICAgICAgZm9yIChsZXQgcmVzb3VyY2Ugb2YgdGhpcy5yZXBy
ZXNlbnRlZE9iamVjdCkKKyAgICAgICAgICAgIGV4dGVuc2lvbnMuYWRkKFdJLmZpbGVFeHRlbnNp
b25Gb3JNSU1FVHlwZShyZXNvdXJjZS5taW1lVHlwZSkpOworCisgICAgICAgIGZvciAobGV0IFtr
ZXksIGl0ZW1dIG9mIE9iamVjdC5lbnRyaWVzKHRoaXMuX3Njb3BlQmFySXRlbVR5cGVNYXApKSB7
CisgICAgICAgICAgICBsZXQgaGlkZGVuID0gIWV4dGVuc2lvbnMuaGFzKGtleSk7CisgICAgICAg
ICAgICBpdGVtLmhpZGRlbiA9IGhpZGRlbjsKKyAgICAgICAgICAgIGlmIChoaWRkZW4gJiYgaXRl
bS5zZWxlY3RlZCkKKyAgICAgICAgICAgICAgICBpdGVtLnNlbGVjdGVkID0gZmFsc2U7CisgICAg
ICAgIH0KKyAgICB9CisKKyAgICBfaGFuZGxlSW1hZ2VUeXBlU2VsZWN0aW9uQ2hhbmdlZCgpCisg
ICAgeworICAgICAgICBsZXQgc2VsZWN0ZWRUeXBlcyA9IHRoaXMuX2ltYWdlVHlwZVNjb3BlQmFy
LnNlbGVjdGVkSXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLmlkKTsKKyAgICAgICAgbGV0IGFsbFR5
cGVzQWxsb3dlZCA9IHNlbGVjdGVkVHlwZXMubGVuZ3RoID09PSAxICYmIHNlbGVjdGVkVHlwZXNb
MF0gPT09ICJhbGwiOworICAgICAgICBmb3IgKGxldCB2aWV3IG9mIHRoaXMuc3Vidmlld3MpIHsK
KyAgICAgICAgICAgIGxldCBoaWRkZW4gPSAhYWxsVHlwZXNBbGxvd2VkOworICAgICAgICAgICAg
aWYgKGhpZGRlbiAmJiB2aWV3IGluc3RhbmNlb2YgV0kuUmVzb3VyY2VDb250ZW50VmlldykKKyAg
ICAgICAgICAgICAgICBoaWRkZW4gPSAhc2VsZWN0ZWRUeXBlcy5pbmNsdWRlcyhXSS5maWxlRXh0
ZW5zaW9uRm9yTUlNRVR5cGUodmlldy5yZXByZXNlbnRlZE9iamVjdC5taW1lVHlwZSkpOworICAg
ICAgICAgICAgdmlldy5lbGVtZW50LmhpZGRlbiA9IGhpZGRlbjsKKyAgICAgICAgfQorICAgIH0K
KwogICAgIF9oYW5kbGVDb250ZW50RXJyb3IoZXZlbnQpCiAgICAgewogICAgICAgICBpZiAoZXZl
bnQgJiYgZXZlbnQudGFyZ2V0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvU2NvcGVCYXJJdGVtLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvU2NvcGVCYXJJdGVtLmpzCmluZGV4IDY0Y2ViOWQ5YzJjLi5i
MzhiZmQ1OTI2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvU2NvcGVCYXJJdGVtLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1Njb3BlQmFySXRlbS5qcwpAQCAtMTAxLDYgKzEwMSw4IEBAIFdJLlNj
b3BlQmFySXRlbSA9IGNsYXNzIFNjb3BlQmFySXRlbSBleHRlbmRzIFdJLk9iamVjdAogICAgICAg
ICB0aGlzLl9oaWRkZW4gPSBmbGFnOwogCiAgICAgICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0
LnRvZ2dsZSgiaGlkZGVuIiwgZmxhZyk7CisKKyAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9M
aXN0ZW5lcnMoV0kuU2NvcGVCYXJJdGVtLkV2ZW50LkhpZGRlbkNoYW5nZWQpOwogICAgIH0KIAog
ICAgIC8vIFByaXZhdGUKQEAgLTExNiw1ICsxMTgsNiBAQCBXSS5TY29wZUJhckl0ZW0gPSBjbGFz
cyBTY29wZUJhckl0ZW0gZXh0ZW5kcyBXSS5PYmplY3QKIH07CiAKIFdJLlNjb3BlQmFySXRlbS5F
dmVudCA9IHsKLSAgICBTZWxlY3Rpb25DaGFuZ2VkOiAic2NvcGUtYmFyLWl0ZW0tc2VsZWN0aW9u
LWRpZC1jaGFuZ2UiCisgICAgU2VsZWN0aW9uQ2hhbmdlZDogInNjb3BlLWJhci1pdGVtLXNlbGVj
dGlvbi1jaGFuZ2VkIiwKKyAgICBIaWRkZW5DaGFuZ2VkOiAic2NvcGUtYmFyLWl0ZW0taGlkZGVu
LWNoYW5nZWQiLAogfTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364444</attachid>
            <date>2019-03-12 14:08:59 -0700</date>
            <delta_ts>2019-03-12 14:47:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195630-20190312140858.patch</filename>
            <type>text/plain</type>
            <size>17609</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGM2ZDg5ZTYwN2UyOWE1ZDhiOTc4Y2EyNTM2ZjE3
NTAyMGQ5N2E5MmUuLmM3OGRmNjk4YjAxZmJlYzY2ZGI5Y2VlZmIwODUzNTMxNjU3ZmVhNTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE5LTAzLTEyICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBT
b3VyY2VzOiBhbGxvdyBpbWFnZSBjb2xsZWN0aW9ucyB0byBiZSBmaWx0ZXJlZCBieSB0eXBlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU2MzAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBNYXR0IEJha2VyLgorCisgICAgICAgICogVXNlckludGVyZmFj
ZS9WaWV3cy9SZXNvdXJjZUNvbGxlY3Rpb25Db250ZW50Vmlldy5qczoKKyAgICAgICAgKFdJLlJl
c291cmNlQ29sbGVjdGlvbkNvbnRlbnRWaWV3KToKKyAgICAgICAgKFdJLlJlc291cmNlQ29sbGVj
dGlvbkNvbnRlbnRWaWV3LnByb3RvdHlwZS5nZXQgbmF2aWdhdGlvbkl0ZW1zKTogQWRkZWQuCisg
ICAgICAgIChXSS5SZXNvdXJjZUNvbGxlY3Rpb25Db250ZW50Vmlldy5wcm90b3R5cGUuY29udGVu
dFZpZXdBZGRlZCk6CisgICAgICAgIChXSS5SZXNvdXJjZUNvbGxlY3Rpb25Db250ZW50Vmlldy5w
cm90b3R5cGUuY29udGVudFZpZXdSZW1vdmVkKTogQWRkZWQuCisgICAgICAgIChXSS5SZXNvdXJj
ZUNvbGxlY3Rpb25Db250ZW50Vmlldy5wcm90b3R5cGUuX3VwZGF0ZUltYWdlVHlwZVNjb3BlQmFy
KTogQWRkZWQuCisgICAgICAgIChXSS5SZXNvdXJjZUNvbGxlY3Rpb25Db250ZW50Vmlldy5wcm90
b3R5cGUuX2hhbmRsZUltYWdlVHlwZVNlbGVjdGlvbkNoYW5nZWQpOiBBZGRlZC4KKyAgICAgICAg
KiBVc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlQ29sbGVjdGlvbkNvbnRlbnRWaWV3LmNzczog
QXNkZGVkLgorICAgICAgICAoLnJlc291cmNlLWNvbGxlY3Rpb24taW1hZ2UtdHlwZS1zY29wZS1i
YXIuZGVmYXVsdC1pdGVtLXNlbGVjdGVkKToKKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmll
d3MvQ29sbGVjdGlvbkNvbnRlbnRWaWV3LmNzczoKKyAgICAgICAgKC5jb250ZW50LXZpZXcuY29s
bGVjdGlvbiA+IC5jb250ZW50LXZpZXdbaGlkZGVuXSk6IEFkZGVkLgorCisgICAgICAgICogVXNl
ckludGVyZmFjZS9WaWV3cy9TY29wZUJhckl0ZW0uanM6CisgICAgICAgIChXSS5TY29wZUJhckl0
ZW0ucHJvdG90eXBlLnNldCBoaWRkZW4pOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
TXVsdGlwbGVTY29wZUJhckl0ZW0uanM6CisgICAgICAgIChXSS5NdWx0aXBsZVNjb3BlQmFySXRl
bS5wcm90b3R5cGUuc2V0IHNjb3BlQmFySXRlbXMpOgorICAgICAgICAoV0kuTXVsdGlwbGVTY29w
ZUJhckl0ZW0ucHJvdG90eXBlLnNldCBzZWxlY3RlZFNjb3BlQmFySXRlbSk6CisgICAgICAgIChX
SS5NdWx0aXBsZVNjb3BlQmFySXRlbS5wcm90b3R5cGUuZ2V0IF92aXNpYmxlU2NvcGVCYXJJdGVt
cyk6IEFkZGVkLgorICAgICAgICAoV0kuTXVsdGlwbGVTY29wZUJhckl0ZW0ucHJvdG90eXBlLl9z
ZWxlY3RFbGVtZW50U2VsZWN0aW9uQ2hhbmdlZCk6CisgICAgICAgIChXSS5NdWx0aXBsZVNjb3Bl
QmFySXRlbS5wcm90b3R5cGUuX2hhbmRsZUl0ZW1IaWRkZW5DaGFuZ2VkKTogQWRkZWQuCisgICAg
ICAgIERpc3BhdGNoIGFuIGV2ZW50IHdoZW4gYW4gaXRlbSBpcyBoaWRkZW4gc28gdGhhdCBhbnkg
b3duZXIgYFdJLk11bHRpcGxlU2NvcGVCYXJJdGVtYCBjYW4KKyAgICAgICAgcmVyZW5kZXIgaXQn
cyA8c2VsZWN0PiB3aXRob3V0IHRoYXQgaXRlbS4KKworICAgICAgICAqIExvY2FsaXphdGlvbnMv
ZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01h
aW4uaHRtbDoKKwogMjAxOS0wMy0xMiAgTmlraXRhIFZhc2lseWV2ICA8bnZhc2lseWV2QGFwcGxl
LmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBLZXlib2FyZCBzaG9ydGN1dCBmb3Igc2V0
dGluZ3MgdGFiIHRvbyBncmVlZHkgb24gbm9uLVVTIGtleWJvYXJkcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5n
cy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2Fs
aXplZFN0cmluZ3MuanMKaW5kZXggYzE1NWMzZjhkYzEwNzljNTFmZDVhNjExM2NmMGIwMjI1NTEz
MzlmNS4uNjA0NTQ5NjFjNjRmZTU5ZjljMDNjYmY5ZjExMTNiYTJiNzhjZDg4MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVk
U3RyaW5ncy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5s
cHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCkBAIC0xNDgsNiArMTQ4LDcgQEAgbG9jYWxpemVkU3Ry
aW5nc1siQXZhaWxhYmxlIFN0eWxlIFNoZWV0cyJdID0gIkF2YWlsYWJsZSBTdHlsZSBTaGVldHMi
OwogbG9jYWxpemVkU3RyaW5nc1siQXZlcmFnZSBDUFU6ICVzIl0gPSAiQXZlcmFnZSBDUFU6ICVz
IjsKIGxvY2FsaXplZFN0cmluZ3NbIkF2ZXJhZ2UgVGltZSJdID0gIkF2ZXJhZ2UgVGltZSI7CiBs
b2NhbGl6ZWRTdHJpbmdzWyJBdmVyYWdlOiAlcyJdID0gIkF2ZXJhZ2U6ICVzIjsKK2xvY2FsaXpl
ZFN0cmluZ3NbIkJNUCJdID0gIkJNUCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJCYWNrICglcykiXSA9
ICJCYWNrICglcykiOwogbG9jYWxpemVkU3RyaW5nc1siQmFja3RyYWNlIl0gPSAiQmFja3RyYWNl
IjsKIGxvY2FsaXplZFN0cmluZ3NbIkJhc2ljIl0gPSAiQmFzaWMiOwpAQCAtNDk4LDYgKzQ5OSw3
IEBAIGxvY2FsaXplZFN0cmluZ3NbIkZ1bGwtU2NyZWVuIl0gPSAiRnVsbC1TY3JlZW4iOwogbG9j
YWxpemVkU3RyaW5nc1siRnVsbC1TY3JlZW4gZnJvbSBcdTIwMUMlc1x1MjAxRCJdID0gIkZ1bGwt
U2NyZWVuIGZyb20gXHUyMDFDJXNcdTIwMUQiOwogbG9jYWxpemVkU3RyaW5nc1siRnVuY3Rpb24i
XSA9ICJGdW5jdGlvbiI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJGdW5jdGlvbiBOYW1lIFZhcmlhYmxl
Il0gPSAiRnVuY3Rpb24gTmFtZSBWYXJpYWJsZSI7Citsb2NhbGl6ZWRTdHJpbmdzWyJHSUYiXSA9
ICJHSUYiOwogbG9jYWxpemVkU3RyaW5nc1siR2FyYmFnZSBDb2xsZWN0aW9uIl0gPSAiR2FyYmFn
ZSBDb2xsZWN0aW9uIjsKIGxvY2FsaXplZFN0cmluZ3NbIkdlbmVyYWwiXSA9ICJHZW5lcmFsIjsK
IGxvY2FsaXplZFN0cmluZ3NbIkdldHRlciJdID0gIkdldHRlciI7CkBAIC01MzQsNiArNTM2LDcg
QEAgbG9jYWxpemVkU3RyaW5nc1siSGllcmFyY2h5IExldmVsIl0gPSAiSGllcmFyY2h5IExldmVs
IjsKIGxvY2FsaXplZFN0cmluZ3NbIkhpZ2giXSA9ICJIaWdoIjsKIGxvY2FsaXplZFN0cmluZ3Nb
IkhpZ2hlc3Q6ICVzIl0gPSAiSGlnaGVzdDogJXMiOwogbG9jYWxpemVkU3RyaW5nc1siSG9zdCJd
ID0gIkhvc3QiOworbG9jYWxpemVkU3RyaW5nc1siSUNPIl0gPSAiSUNPIjsKIGxvY2FsaXplZFN0
cmluZ3NbIklQIl0gPSAiSVAiOwogbG9jYWxpemVkU3RyaW5nc1siSVAgQWRkcmVzcyJdID0gIklQ
IEFkZHJlc3MiOwogbG9jYWxpemVkU3RyaW5nc1siSWRlbnRpdHkiXSA9ICJJZGVudGl0eSI7CkBA
IC01NjgsNiArNTcxLDggQEAgbG9jYWxpemVkU3RyaW5nc1siSW52YWxpZCJdID0gIkludmFsaWQi
OwogbG9jYWxpemVkU3RyaW5nc1siSW52YWxpZCBjaGFyYWN0ZXJzIl0gPSAiSW52YWxpZCBjaGFy
YWN0ZXJzIjsKIGxvY2FsaXplZFN0cmluZ3NbIkludmVydGVkIl0gPSAiSW52ZXJ0ZWQiOwogbG9j
YWxpemVkU3RyaW5nc1siSW52b2tlIGdldHRlciJdID0gIkludm9rZSBnZXR0ZXIiOworbG9jYWxp
emVkU3RyaW5nc1siSlAyIl0gPSAiSlAyIjsKK2xvY2FsaXplZFN0cmluZ3NbIkpQRUciXSA9ICJK
UEVHIjsKIGxvY2FsaXplZFN0cmluZ3NbIkpTT04iXSA9ICJKU09OIjsKIGxvY2FsaXplZFN0cmlu
Z3NbIkphdmFTY3JpcHQiXSA9ICJKYXZhU2NyaXB0IjsKIGxvY2FsaXplZFN0cmluZ3NbIkphdmFT
Y3JpcHQgJiBFdmVudHMiXSA9ICJKYXZhU2NyaXB0ICYgRXZlbnRzIjsKQEAgLTcyMCw2ICs3MjUs
OCBAQCBsb2NhbGl6ZWRTdHJpbmdzWyJPdmVyIDEgbXMiXSA9ICJPdmVyIDEgbXMiOwogbG9jYWxp
emVkU3RyaW5nc1siT3ZlciAxNSBtcyJdID0gIk92ZXIgMTUgbXMiOwogbG9jYWxpemVkU3RyaW5n
c1siT3ZlcnZpZXciXSA9ICJPdmVydmlldyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJPd25zIl0gPSAi
T3ducyI7Citsb2NhbGl6ZWRTdHJpbmdzWyJQREYiXSA9ICJQREYiOworbG9jYWxpemVkU3RyaW5n
c1siUE5HIl0gPSAiUE5HIjsKIGxvY2FsaXplZFN0cmluZ3NbIlBhZ2UiXSA9ICJQYWdlIjsKIGxv
Y2FsaXplZFN0cmluZ3NbIlBhZ2UgSXNzdWUiXSA9ICJQYWdlIElzc3VlIjsKIGxvY2FsaXplZFN0
cmluZ3NbIlBhZ2UgbmF2aWdhdGVkIGF0ICVzIl0gPSAiUGFnZSBuYXZpZ2F0ZWQgYXQgJXMiOwpA
QCAtODUxLDYgKzg1OCw3IEBAIGxvY2FsaXplZFN0cmluZ3NbIlJvbGUiXSA9ICJSb2xlIjsKIGxv
Y2FsaXplZFN0cmluZ3NbIlJ1biAlZCJdID0gIlJ1biAlZCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJS
dW4gY29uc29sZSBjb21tYW5kcyBhcyBpZiBpbnNpZGUgYSB1c2VyIGdlc3R1cmUiXSA9ICJSdW4g
Y29uc29sZSBjb21tYW5kcyBhcyBpZiBpbnNpZGUgYSB1c2VyIGdlc3R1cmUiOwogbG9jYWxpemVk
U3RyaW5nc1siUnVubmluZyB0aGUgXHUyMDFDJXNcdTIwMUQgYXVkaXQiXSA9ICJSdW5uaW5nIHRo
ZSBcdTIwMUMlc1x1MjAxRCBhdWRpdCI7Citsb2NhbGl6ZWRTdHJpbmdzWyJTVkciXSA9ICJTVkci
OwogbG9jYWxpemVkU3RyaW5nc1siU2FtcGxlcyJdID0gIlNhbXBsZXMiOwogbG9jYWxpemVkU3Ry
aW5nc1siU2F2ZSAlZCJdID0gIlNhdmUgJWQiOwogbG9jYWxpemVkU3RyaW5nc1siU2F2ZSBGaWxl
Il0gPSAiU2F2ZSBGaWxlIjsKQEAgLTEwMDEsNiArMTAwOSw3IEBAIGxvY2FsaXplZFN0cmluZ3Nb
IlN1YmplY3QiXSA9ICJTdWJqZWN0IjsKIGxvY2FsaXplZFN0cmluZ3NbIlN1YnRyZWUgTW9kaWZp
ZWQiXSA9ICJTdWJ0cmVlIE1vZGlmaWVkIjsKIGxvY2FsaXplZFN0cmluZ3NbIlN1bW1hcnkiXSA9
ICJTdW1tYXJ5IjsKIGxvY2FsaXplZFN0cmluZ3NbIlRDUCJdID0gIlRDUCI7Citsb2NhbGl6ZWRT
dHJpbmdzWyJUSUZGIl0gPSAiVElGRiI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJUYWIgd2lkdGg6Il0g
PSAiVGFiIHdpZHRoOiI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJUYWJzIl0gPSAiVGFicyI7CiBsb2Nh
bGl6ZWRTdHJpbmdzWyJUYWciXSA9ICJUYWciOwpAQCAtMTExOCw2ICsxMTI3LDcgQEAgbG9jYWxp
emVkU3RyaW5nc1siV2F0Y2ggRXhwcmVzc2lvbnMiXSA9ICJXYXRjaCBFeHByZXNzaW9ucyI7CiBs
b2NhbGl6ZWRTdHJpbmdzWyJXYXRlcmZhbGwiXSA9ICJXYXRlcmZhbGwiOwogbG9jYWxpemVkU3Ry
aW5nc1siV2ViIEluc3BlY3RvciJdID0gIldlYiBJbnNwZWN0b3IiOwogbG9jYWxpemVkU3RyaW5n
c1siV2ViS2l0IFRocmVhZHMiXSA9ICJXZWJLaXQgVGhyZWFkcyI7Citsb2NhbGl6ZWRTdHJpbmdz
WyJXZWJQIl0gPSAiV2ViUCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJXZWJSVEMiXSA9ICJXZWJSVEMi
OwogbG9jYWxpemVkU3RyaW5nc1siV2ViUlRDIExvZ2dpbmc6Il0gPSAiV2ViUlRDIExvZ2dpbmc6
IjsKIGxvY2FsaXplZFN0cmluZ3NbIldlYlNvY2tldCBDb25uZWN0aW9uIEVzdGFibGlzaGVkIl0g
PSAiV2ViU29ja2V0IENvbm5lY3Rpb24gRXN0YWJsaXNoZWQiOwpAQCAtMTEzMSw2ICsxMTQxLDcg
QEAgbG9jYWxpemVkU3RyaW5nc1siV29ya2VyIFx1MjAxNCAlcyJdID0gIldvcmtlciBcdTIwMTQg
JXMiOwogbG9jYWxpemVkU3RyaW5nc1siV29ya2VyOiAlcyJdID0gIldvcmtlcjogJXMiOwogbG9j
YWxpemVkU3RyaW5nc1siV29ya2luZyBDb3B5Il0gPSAiV29ya2luZyBDb3B5IjsKIGxvY2FsaXpl
ZFN0cmluZ3NbIldyYXAgbGluZXMgdG8gZWRpdG9yIHdpZHRoIl0gPSAiV3JhcCBsaW5lcyB0byBl
ZGl0b3Igd2lkdGgiOworbG9jYWxpemVkU3RyaW5nc1siWEJNIl0gPSAiWEJNIjsKIGxvY2FsaXpl
ZFN0cmluZ3NbIlhIUiJdID0gIlhIUiI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJYSFIgQnJlYWtwb2lu
dFx1MjAyNiJdID0gIlhIUiBCcmVha3BvaW50XHUyMDI2IjsKIGxvY2FsaXplZFN0cmluZ3NbIlhI
UnMiXSA9ICJYSFJzIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL01haW4uaHRtbCBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01h
aW4uaHRtbAppbmRleCBiZGY4YWY2ZWJhMTdhYjFmYWJlMTQyYTczYjkxMjI1NDUyMWNlNWE1Li40
NjEzMWEyNzhkZGY4N2I3MDAyZTVlOTRlOTRhNTFhMzlhOTY1ZTRhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sCkBAIC0xNjgsNiArMTY4LDcgQEAK
ICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9IlZpZXdzL1JlbmRlcmluZ0ZyYW1lVGlt
ZWxpbmVPdmVydmlld0dyYXBoLmNzcyI+CiAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSJWaWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lVmlldy5jc3MiPgogICAgIDxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iVmlld3MvUmVzaXplci5jc3MiPgorICAgIDxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iVmlld3MvUmVzb3VyY2VDb2xsZWN0aW9uQ29udGVudFZpZXcuY3NzIj4K
ICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9IlZpZXdzL1Jlc291cmNlQ29va2llc0Nv
bnRlbnRWaWV3LmNzcyI+CiAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJWaWV3cy9S
ZXNvdXJjZURldGFpbHNTZWN0aW9uLmNzcyI+CiAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSJWaWV3cy9SZXNvdXJjZURldGFpbHNTaWRlYmFyUGFuZWwuY3NzIj4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbGxlY3Rpb25Db250
ZW50Vmlldy5jc3MgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9D
b2xsZWN0aW9uQ29udGVudFZpZXcuY3NzCmluZGV4IDg3YmI5MjRkOWE1MGY4MzkxZTVlNTNlNWQ2
MWQ5NmQwYWFlYTNlMzguLjcwN2VlNjg2ZjRlYzIyOWMxOTE4YWM4NDA5MzNlNGNjYjI5ZjRhYzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0Nv
bGxlY3Rpb25Db250ZW50Vmlldy5jc3MKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvQ29sbGVjdGlvbkNvbnRlbnRWaWV3LmNzcwpAQCAtMzIsMyArMzIsNyBA
QAogLmNvbnRlbnQtdmlldy5jb2xsZWN0aW9uID4gLmNvbnRlbnQtdmlldyB7CiAgICAgZmxleC1n
cm93OiAxOwogfQorCisuY29udGVudC12aWV3LmNvbGxlY3Rpb24gPiAuY29udGVudC12aWV3W2hp
ZGRlbl0geworICAgIGRpc3BsYXk6IG5vbmU7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9NdWx0aXBsZVNjb3BlQmFySXRlbS5qcyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL011bHRpcGxlU2NvcGVCYXJJ
dGVtLmpzCmluZGV4IDA1NzYyMmU1ZGQ4ZTM4MTE2YmIxOWNkYmZjMWEwM2UwZTdlYThmYzIuLjA0
YThiMWVkNjQxZjY1YzU5ZTMyMGIxMmExOTUyMDcyYjYwZjQxYWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL011bHRpcGxlU2NvcGVCYXJJdGVt
LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL011bHRp
cGxlU2NvcGVCYXJJdGVtLmpzCkBAIC04Miw3ICs4Miw3IEBAIFdJLk11bHRpcGxlU2NvcGVCYXJJ
dGVtID0gY2xhc3MgTXVsdGlwbGVTY29wZUJhckl0ZW0gZXh0ZW5kcyBXSS5PYmplY3QKICAgICAg
ICAgICAgIHJldHVybiBvcHRpb25FbGVtZW50OwogICAgICAgICB9CiAKLSAgICAgICAgZm9yICh2
YXIgc2NvcGVCYXJJdGVtIG9mIHRoaXMuX3Njb3BlQmFySXRlbXMpIHsKKyAgICAgICAgZm9yICh2
YXIgc2NvcGVCYXJJdGVtIG9mIHRoaXMuX3Zpc2libGVTY29wZUJhckl0ZW1zKSB7CiAgICAgICAg
ICAgICBpZiAoc2NvcGVCYXJJdGVtLnNlbGVjdGVkICYmICF0aGlzLl9zZWxlY3RlZFNjb3BlQmFy
SXRlbSkKICAgICAgICAgICAgICAgICB0aGlzLl9zZWxlY3RlZFNjb3BlQmFySXRlbSA9IHNjb3Bl
QmFySXRlbTsKICAgICAgICAgICAgIGVsc2UgaWYgKHNjb3BlQmFySXRlbS5zZWxlY3RlZCkgewpA
QCAtOTIsNiArOTIsNyBAQCBXSS5NdWx0aXBsZVNjb3BlQmFySXRlbSA9IGNsYXNzIE11bHRpcGxl
U2NvcGVCYXJJdGVtIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgICAgICB9CiAKICAgICAgICAg
ICAgIHNjb3BlQmFySXRlbS5hZGRFdmVudExpc3RlbmVyKFdJLlNjb3BlQmFySXRlbS5FdmVudC5T
ZWxlY3Rpb25DaGFuZ2VkLCB0aGlzLl9pdGVtU2VsZWN0aW9uRGlkQ2hhbmdlLCB0aGlzKTsKKyAg
ICAgICAgICAgIHNjb3BlQmFySXRlbS5hZGRFdmVudExpc3RlbmVyKFdJLlNjb3BlQmFySXRlbS5F
dmVudC5IaWRkZW5DaGFuZ2VkLCB0aGlzLl9oYW5kbGVJdGVtSGlkZGVuQ2hhbmdlZCwgdGhpcyk7
CiAKICAgICAgICAgICAgIHRoaXMuX3NlbGVjdEVsZW1lbnQuYXBwZW5kQ2hpbGQoY3JlYXRlT3B0
aW9uKHNjb3BlQmFySXRlbSkpOwogICAgICAgICB9CkBAIC0xMzAsNyArMTMxLDExIEBAIFdJLk11
bHRpcGxlU2NvcGVCYXJJdGVtID0gY2xhc3MgTXVsdGlwbGVTY29wZUJhckl0ZW0gZXh0ZW5kcyBX
SS5PYmplY3QKIAogICAgICAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoInNlbGVj
dGVkIiwgISFzZWxlY3RlZFNjb3BlQmFySXRlbSk7CiAgICAgICAgIHRoaXMuX3NlbGVjdGVkU2Nv
cGVCYXJJdGVtID0gc2VsZWN0ZWRTY29wZUJhckl0ZW0gfHwgbnVsbDsKLSAgICAgICAgdGhpcy5f
c2VsZWN0RWxlbWVudC5zZWxlY3RlZEluZGV4ID0gdGhpcy5fc2NvcGVCYXJJdGVtcy5pbmRleE9m
KHRoaXMuX3NlbGVjdGVkU2NvcGVCYXJJdGVtKTsKKworICAgICAgICBsZXQgc2VsZWN0ZWRJbmRl
eCA9IHRoaXMuX3Zpc2libGVTY29wZUJhckl0ZW1zLmluZGV4T2YodGhpcy5fc2VsZWN0ZWRTY29w
ZUJhckl0ZW0pOworICAgICAgICBpZiAoc2VsZWN0ZWRJbmRleCA8IDApCisgICAgICAgICAgICBz
ZWxlY3RlZEluZGV4ID0gMDsKKyAgICAgICAgdGhpcy5fc2VsZWN0RWxlbWVudC5zZWxlY3RlZElu
ZGV4ID0gc2VsZWN0ZWRJbmRleDsKIAogICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWRTY29wZUJh
ckl0ZW0pIHsKICAgICAgICAgICAgIHRoaXMuZGlzcGxheVNlbGVjdGVkSXRlbSgpOwpAQCAtMTY1
LDYgKzE3MCwxMSBAQCBXSS5NdWx0aXBsZVNjb3BlQmFySXRlbSA9IGNsYXNzIE11bHRpcGxlU2Nv
cGVCYXJJdGVtIGV4dGVuZHMgV0kuT2JqZWN0CiAKICAgICAvLyBQcml2YXRlCiAKKyAgICBnZXQg
X3Zpc2libGVTY29wZUJhckl0ZW1zKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9zY29w
ZUJhckl0ZW1zLmZpbHRlcigoaXRlbSkgPT4gIWl0ZW0uaGlkZGVuKTsKKyAgICB9CisKICAgICBf
aGFuZGxlTW91c2VEb3duKGV2ZW50KQogICAgIHsKICAgICAgICAgLy8gT25seSBoYW5kbGUgbGVm
dCBtb3VzZSBjbGlja3MuCkBAIC0xOTEsNyArMjAxLDcgQEAgV0kuTXVsdGlwbGVTY29wZUJhckl0
ZW0gPSBjbGFzcyBNdWx0aXBsZVNjb3BlQmFySXRlbSBleHRlbmRzIFdJLk9iamVjdAogCiAgICAg
X3NlbGVjdEVsZW1lbnRTZWxlY3Rpb25DaGFuZ2VkKGV2ZW50KQogICAgIHsKLSAgICAgICAgdGhp
cy5zZWxlY3RlZFNjb3BlQmFySXRlbSA9IHRoaXMuX3Njb3BlQmFySXRlbXNbdGhpcy5fc2VsZWN0
RWxlbWVudC5zZWxlY3RlZEluZGV4XTsKKyAgICAgICAgdGhpcy5zZWxlY3RlZFNjb3BlQmFySXRl
bSA9IHRoaXMuX3Zpc2libGVTY29wZUJhckl0ZW1zW3RoaXMuX3NlbGVjdEVsZW1lbnQuc2VsZWN0
ZWRJbmRleF07CiAgICAgfQogCiAgICAgX2l0ZW1TZWxlY3Rpb25EaWRDaGFuZ2UoZXZlbnQpCkBA
IC0yMDAsNCArMjEwLDEwIEBAIFdJLk11bHRpcGxlU2NvcGVCYXJJdGVtID0gY2xhc3MgTXVsdGlw
bGVTY29wZUJhckl0ZW0gZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgdGhpcy5zZWxlY3RlZFNjb3BlQmFySXRlbSA9IGV2ZW50LnRhcmdldC5zZWxlY3RlZCA/
IGV2ZW50LnRhcmdldCA6IG51bGw7CiAgICAgfQorCisgICAgX2hhbmRsZUl0ZW1IaWRkZW5DaGFu
Z2VkKGV2ZW50KQorICAgIHsKKyAgICAgICAgLy8gUmVnZW5lcmF0ZSB0aGUgPHNlbGVjdD4gd2l0
aCB0aGUgbmV3IG9wdGlvbnMuCisgICAgICAgIHRoaXMuc2NvcGVCYXJJdGVtcyA9IHRoaXMuX3Nj
b3BlQmFySXRlbXM7CisgICAgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlQ29sbGVjdGlvbkNvbnRlbnRWaWV3LmNzcyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlQ29sbGVj
dGlvbkNvbnRlbnRWaWV3LmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYTlhOWFlZmYyOWM1ZWZjZDc3OWJiNGQy
OTA0MGFhZDg5ZGJmMWQ0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VDb2xsZWN0aW9uQ29udGVudFZpZXcuY3NzCkBA
IC0wLDAgKzEsMzAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisucmVzb3VyY2UtY29sbGVjdGlvbi1pbWFnZS10
eXBlLXNjb3BlLWJhci5kZWZhdWx0LWl0ZW0tc2VsZWN0ZWQgeworICAgIC0tc2NvcGUtYmFyLXRl
eHQtY29sb3Itb3ZlcnJpZGU6IHZhcigtLXRleHQtY29sb3IpOworICAgIC0tc2NvcGUtYmFyLWJh
Y2tncm91bmQtY29sb3Itb3ZlcnJpZGU6IHRyYW5zcGFyZW50OworICAgIC0tc2NvcGUtYmFyLWJv
cmRlci1jb2xvci1vdmVycmlkZTogdHJhbnNwYXJlbnQ7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZUNvbGxlY3Rpb25Db250
ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jl
c291cmNlQ29sbGVjdGlvbkNvbnRlbnRWaWV3LmpzCmluZGV4IDlmODM3MTk2ZGU3YTI5ODViN2Zi
MWZkNjNiMTM4N2U0M2Y4YTE1MjEuLjRjNTQ2YWU2OTAyNjYzZTVkY2Q4MDc5ODY3YmZhNTJmNDUz
YmU4M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1Jlc291cmNlQ29sbGVjdGlvbkNvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlQ29sbGVjdGlvbkNvbnRlbnRWaWV3
LmpzCkBAIC0zNCw2ICszNCw0NCBAQCBXSS5SZXNvdXJjZUNvbGxlY3Rpb25Db250ZW50VmlldyA9
IGNsYXNzIFJlc291cmNlQ29sbGVjdGlvbkNvbnRlbnRWaWV3IGV4dGVuZHMgVwogICAgICAgICAg
ICAgY29udGVudFZpZXdDb25zdHJ1Y3RvciA9IFdJLkltYWdlUmVzb3VyY2VDb250ZW50VmlldzsK
IAogICAgICAgICBzdXBlcihjb2xsZWN0aW9uLCBjb250ZW50Vmlld0NvbnN0cnVjdG9yKTsKKwor
ICAgICAgICBpZiAoY29sbGVjdGlvbi5yZXNvdXJjZVR5cGUgPT09IFdJLlJlc291cmNlLlR5cGUu
SW1hZ2UpIHsKKyAgICAgICAgICAgIGxldCBhbGxJdGVtID0gbmV3IFdJLlNjb3BlQmFySXRlbSgi
YWxsIiwgV0kuVUlTdHJpbmcoIkFsbCIpKTsKKworICAgICAgICAgICAgbGV0IGl0ZW1zID0gW2Fs
bEl0ZW1dOworICAgICAgICAgICAgdGhpcy5fc2NvcGVCYXJJdGVtVHlwZU1hcCA9IHt9OworCisg
ICAgICAgICAgICBsZXQgYWRkSXRlbSA9IChrZXksIGxhYmVsKSA9PiB7CisgICAgICAgICAgICAg
ICAgbGV0IGl0ZW0gPSBuZXcgV0kuU2NvcGVCYXJJdGVtKGtleSwgbGFiZWwpOworICAgICAgICAg
ICAgICAgIGl0ZW1zLnB1c2goaXRlbSk7CisgICAgICAgICAgICAgICAgdGhpcy5fc2NvcGVCYXJJ
dGVtVHlwZU1hcFtrZXldID0gaXRlbTsKKyAgICAgICAgICAgIH07CisgICAgICAgICAgICBhZGRJ
dGVtKCJibXAiLCBXSS5VSVN0cmluZygiQk1QIikpOworICAgICAgICAgICAgYWRkSXRlbSgiZ2lm
IiwgV0kuVUlTdHJpbmcoIkdJRiIpKTsKKyAgICAgICAgICAgIGFkZEl0ZW0oImljbyIsIFdJLlVJ
U3RyaW5nKCJJQ08iKSk7CisgICAgICAgICAgICBhZGRJdGVtKCJqcDIiLCBXSS5VSVN0cmluZygi
SlAyIikpOworICAgICAgICAgICAgYWRkSXRlbSgianBnIiwgV0kuVUlTdHJpbmcoIkpQRUciKSk7
CisgICAgICAgICAgICBhZGRJdGVtKCJwZGYiLCBXSS5VSVN0cmluZygiUERGIikpOworICAgICAg
ICAgICAgYWRkSXRlbSgicG5nIiwgV0kuVUlTdHJpbmcoIlBORyIpKTsKKyAgICAgICAgICAgIGFk
ZEl0ZW0oInN2ZyIsIFdJLlVJU3RyaW5nKCJTVkciKSk7CisgICAgICAgICAgICBhZGRJdGVtKCJ0
aWZmIiwgV0kuVUlTdHJpbmcoIlRJRkYiKSk7CisgICAgICAgICAgICBhZGRJdGVtKCJ3ZWJwIiwg
V0kuVUlTdHJpbmcoIldlYlAiKSk7CisgICAgICAgICAgICBhZGRJdGVtKCJ4Ym0iLCBXSS5VSVN0
cmluZygiWEJNIikpOworCisgICAgICAgICAgICBjb25zdCBzaG91bGRHcm91cE5vbkV4Y2x1c2l2
ZUl0ZW1zID0gdHJ1ZTsKKyAgICAgICAgICAgIHRoaXMuX2ltYWdlVHlwZVNjb3BlQmFyID0gbmV3
IFdJLlNjb3BlQmFyKCJyZXNvdXJjZS1jb2xsZWN0aW9uLWltYWdlLXR5cGUtc2NvcGUtYmFyIiwg
aXRlbXMsIGFsbEl0ZW0sIHNob3VsZEdyb3VwTm9uRXhjbHVzaXZlSXRlbXMpOworICAgICAgICAg
ICAgdGhpcy5faW1hZ2VUeXBlU2NvcGVCYXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5TY29wZUJhci5F
dmVudC5TZWxlY3Rpb25DaGFuZ2VkLCB0aGlzLl9oYW5kbGVJbWFnZVR5cGVTZWxlY3Rpb25DaGFu
Z2VkLCB0aGlzKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8vIFB1YmxpYworCisgICAgZ2V0
IG5hdmlnYXRpb25JdGVtcygpCisgICAgeworICAgICAgICBsZXQgbmF2aWdhdGlvbkl0ZW1zID0g
c3VwZXIubmF2aWdhdGlvbkl0ZW1zOworICAgICAgICBpZiAodGhpcy5faW1hZ2VUeXBlU2NvcGVC
YXIpCisgICAgICAgICAgICBuYXZpZ2F0aW9uSXRlbXMudW5zaGlmdCh0aGlzLl9pbWFnZVR5cGVT
Y29wZUJhcik7CisgICAgICAgIHJldHVybiBuYXZpZ2F0aW9uSXRlbXM7CiAgICAgfQogCiAgICAg
Ly8gUHJvdGVjdGVkCkBAIC00NSwxMiArODMsNDYgQEAgV0kuUmVzb3VyY2VDb2xsZWN0aW9uQ29u
dGVudFZpZXcgPSBjbGFzcyBSZXNvdXJjZUNvbGxlY3Rpb25Db250ZW50VmlldyBleHRlbmRzIFcK
ICAgICAgICAgbGV0IHJlc291cmNlID0gY29udGVudFZpZXcucmVwcmVzZW50ZWRPYmplY3Q7CiAg
ICAgICAgIGNvbnNvbGUuYXNzZXJ0KHJlc291cmNlIGluc3RhbmNlb2YgV0kuUmVzb3VyY2UpOwog
CisgICAgICAgIHRoaXMuX3VwZGF0ZUltYWdlVHlwZVNjb3BlQmFyKCk7CisKICAgICAgICAgY29u
dGVudFZpZXcuYWRkRXZlbnRMaXN0ZW5lcihXSS5SZXNvdXJjZUNvbnRlbnRWaWV3LkV2ZW50LkNv
bnRlbnRFcnJvciwgdGhpcy5faGFuZGxlQ29udGVudEVycm9yLCB0aGlzKTsKICAgICAgICAgY29u
dGVudFZpZXcuZWxlbWVudC50aXRsZSA9IFdJLmRpc3BsYXlOYW1lRm9yVVJMKHJlc291cmNlLnVy
bCwgcmVzb3VyY2UudXJsQ29tcG9uZW50cyk7CiAgICAgfQogCisgICAgY29udGVudFZpZXdSZW1v
dmVkKGNvbnRlbnRWaWV3KQorICAgIHsKKyAgICAgICAgdGhpcy5fdXBkYXRlSW1hZ2VUeXBlU2Nv
cGVCYXIoKTsKKyAgICB9CisKICAgICAvLyBQcml2YXRlCiAKKyAgICBfdXBkYXRlSW1hZ2VUeXBl
U2NvcGVCYXIoKQorICAgIHsKKyAgICAgICAgbGV0IGV4dGVuc2lvbnMgPSBuZXcgU2V0OworCisg
ICAgICAgIGZvciAobGV0IHJlc291cmNlIG9mIHRoaXMucmVwcmVzZW50ZWRPYmplY3QpCisgICAg
ICAgICAgICBleHRlbnNpb25zLmFkZChXSS5maWxlRXh0ZW5zaW9uRm9yTUlNRVR5cGUocmVzb3Vy
Y2UubWltZVR5cGUpKTsKKworICAgICAgICBmb3IgKGxldCBba2V5LCBpdGVtXSBvZiBPYmplY3Qu
ZW50cmllcyh0aGlzLl9zY29wZUJhckl0ZW1UeXBlTWFwKSkgeworICAgICAgICAgICAgbGV0IGhp
ZGRlbiA9ICFleHRlbnNpb25zLmhhcyhrZXkpOworICAgICAgICAgICAgaXRlbS5oaWRkZW4gPSBo
aWRkZW47CisgICAgICAgICAgICBpZiAoaGlkZGVuICYmIGl0ZW0uc2VsZWN0ZWQpCisgICAgICAg
ICAgICAgICAgaXRlbS5zZWxlY3RlZCA9IGZhbHNlOworICAgICAgICB9CisgICAgfQorCisgICAg
X2hhbmRsZUltYWdlVHlwZVNlbGVjdGlvbkNoYW5nZWQoKQorICAgIHsKKyAgICAgICAgbGV0IHNl
bGVjdGVkVHlwZXMgPSB0aGlzLl9pbWFnZVR5cGVTY29wZUJhci5zZWxlY3RlZEl0ZW1zLm1hcCgo
aXRlbSkgPT4gaXRlbS5pZCk7CisgICAgICAgIGxldCBhbGxUeXBlc0FsbG93ZWQgPSBzZWxlY3Rl
ZFR5cGVzLmxlbmd0aCA9PT0gMSAmJiBzZWxlY3RlZFR5cGVzWzBdID09PSAiYWxsIjsKKyAgICAg
ICAgZm9yIChsZXQgdmlldyBvZiB0aGlzLnN1YnZpZXdzKSB7CisgICAgICAgICAgICBsZXQgaGlk
ZGVuID0gIWFsbFR5cGVzQWxsb3dlZDsKKyAgICAgICAgICAgIGlmIChoaWRkZW4gJiYgdmlldyBp
bnN0YW5jZW9mIFdJLlJlc291cmNlQ29udGVudFZpZXcpCisgICAgICAgICAgICAgICAgaGlkZGVu
ID0gIXNlbGVjdGVkVHlwZXMuaW5jbHVkZXMoV0kuZmlsZUV4dGVuc2lvbkZvck1JTUVUeXBlKHZp
ZXcucmVwcmVzZW50ZWRPYmplY3QubWltZVR5cGUpKTsKKyAgICAgICAgICAgIHZpZXcuZWxlbWVu
dC5oaWRkZW4gPSBoaWRkZW47CisgICAgICAgIH0KKyAgICB9CisKICAgICBfaGFuZGxlQ29udGVu
dEVycm9yKGV2ZW50KQogICAgIHsKICAgICAgICAgaWYgKGV2ZW50ICYmIGV2ZW50LnRhcmdldCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Nj
b3BlQmFySXRlbS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1Njb3BlQmFySXRlbS5qcwppbmRleCA2NGNlYjlkOWMyYzM5ZjJhYWRkMThiYTJjYTlmNDU4MDYw
NWI1YjlmLi5iMzhiZmQ1OTI2YTU1OGNjNTIxM2EwMzI5MTVlN2VkMDkyYTA0Yjk0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY29wZUJhckl0
ZW0uanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2Nv
cGVCYXJJdGVtLmpzCkBAIC0xMDEsNiArMTAxLDggQEAgV0kuU2NvcGVCYXJJdGVtID0gY2xhc3Mg
U2NvcGVCYXJJdGVtIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIHRoaXMuX2hpZGRlbiA9IGZs
YWc7CiAKICAgICAgICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCJoaWRkZW4iLCBm
bGFnKTsKKworICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXSS5TY29wZUJh
ckl0ZW0uRXZlbnQuSGlkZGVuQ2hhbmdlZCk7CiAgICAgfQogCiAgICAgLy8gUHJpdmF0ZQpAQCAt
MTE2LDUgKzExOCw2IEBAIFdJLlNjb3BlQmFySXRlbSA9IGNsYXNzIFNjb3BlQmFySXRlbSBleHRl
bmRzIFdJLk9iamVjdAogfTsKIAogV0kuU2NvcGVCYXJJdGVtLkV2ZW50ID0gewotICAgIFNlbGVj
dGlvbkNoYW5nZWQ6ICJzY29wZS1iYXItaXRlbS1zZWxlY3Rpb24tZGlkLWNoYW5nZSIKKyAgICBT
ZWxlY3Rpb25DaGFuZ2VkOiAic2NvcGUtYmFyLWl0ZW0tc2VsZWN0aW9uLWNoYW5nZWQiLAorICAg
IEhpZGRlbkNoYW5nZWQ6ICJzY29wZS1iYXItaXRlbS1oaWRkZW4tY2hhbmdlZCIsCiB9Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>