<?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>102149</bug_id>
          
          <creation_ts>2012-11-13 16:18:27 -0800</creation_ts>
          <short_desc>Change visual look of placeholder</short_desc>
          <delta_ts>2012-11-16 14:43:59 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.8</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>
          
          <blocked>98318</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jon Lee">jonlee</reporter>
          <assigned_to name="Jon Lee">jonlee</assigned_to>
          <cc>andersca</cc>
    
    <cc>beidson</cc>
    
    <cc>bweinstein</cc>
    
    <cc>eric</cc>
    
    <cc>mjs</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>766154</commentid>
    <comment_count>0</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-11-13 16:18:27 -0800</bug_when>
    <thetext>Remove the gradient and move the button.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766155</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2012-11-13 16:18:50 -0800</bug_when>
    <thetext>&lt;rdar://problem/12695566&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767729</commentid>
    <comment_count>2</comment_count>
      <attachid>174349</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-11-14 22:22:12 -0800</bug_when>
    <thetext>Created attachment 174349
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768982</commentid>
    <comment_count>3</comment_count>
      <attachid>174619</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-11-16 00:11:20 -0800</bug_when>
    <thetext>Created attachment 174619
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768988</commentid>
    <comment_count>4</comment_count>
      <attachid>174619</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-11-16 00:20:53 -0800</bug_when>
    <thetext>Comment on attachment 174619
Patch

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

&gt; Source/WebCore/rendering/RenderSnapshottedPlugIn.cpp:142
&gt; +    LayoutUnit cWidth = contentWidth();
&gt; +    LayoutUnit cHeight = contentHeight();
&gt; +    if (!cWidth || !cHeight)
&gt; +        return;

Could we put this in a LayoutSize right from the start and use some function that checks if it’s empty in either dimension instead of doing it by hand like this? Would also eliminate the unpleasantly abbreviated cHeight and cWidth names.

&gt; Source/WebCore/rendering/RenderSnapshottedPlugIn.cpp:152
&gt; +    GraphicsContext* context = paintInfo.context;
&gt; +    GraphicsContextStateSaver saver(*context);

I’d put these lines of code next to the call to drawImage rather than putting them before all the coordinate math. Also I do not think we need to save and restore the graphics context state since we are only calling drawImage. So it could all just be a one liner without these two local variables.

&gt; Source/WebCore/rendering/RenderSnapshottedPlugIn.cpp:154
&gt; +    LayoutSize borderAndPadding(borderLeft() + paddingLeft(), borderTop() + paddingTop());

Is there really no way to get this more directly?

&gt; Source/WebCore/rendering/RenderSnapshottedPlugIn.cpp:186
&gt; +        repaint();

Really unpleasant to repaint the entire thing just to make a small image appear and disappear. I think you should call a repaintButton function even if it has a FIXME and a call to repaint in it.

Also, this is OK for a temporary solution, but wrong longer term. The repaint needs to be specifically when the hovered or active state changes. It’s not right to do a repaint directly based on the mouse events, when the actual drawing code uses the image’s hovered and active state. That assumes the two are connected in a way that’s not right.

&gt; Source/WebCore/rendering/RenderSnapshottedPlugIn.cpp:189
&gt; +        m_isMouseInButtonRect = m_buttonRect.contains(IntPoint(mouseEvent-&gt;offsetX(), mouseEvent-&gt;offsetY()));
&gt; +        repaint();

Should not repaint here unless m_isMouseInButtonRect is changing, is that right?

&gt; Source/WebCore/rendering/RenderSnapshottedPlugIn.h:56
&gt; +    void paintStart(PaintInfo&amp;, const LayoutPoint&amp;);

This should be called paintButton or perhaps paintStartButton, given the names of the data members.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769039</commentid>
    <comment_count>5</comment_count>
      <attachid>174619</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-11-16 01:44:54 -0800</bug_when>
    <thetext>Comment on attachment 174619
Patch

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

&gt;&gt; Source/WebCore/rendering/RenderSnapshottedPlugIn.cpp:142
&gt;&gt; +        return;
&gt; 
&gt; Could we put this in a LayoutSize right from the start and use some function that checks if it’s empty in either dimension instead of doing it by hand like this? Would also eliminate the unpleasantly abbreviated cHeight and cWidth names.

There is a LayoutSize.isEmpty() which I will use.

&gt;&gt; Source/WebCore/rendering/RenderSnapshottedPlugIn.cpp:152
&gt;&gt; +    GraphicsContextStateSaver saver(*context);
&gt; 
&gt; I’d put these lines of code next to the call to drawImage rather than putting them before all the coordinate math. Also I do not think we need to save and restore the graphics context state since we are only calling drawImage. So it could all just be a one liner without these two local variables.

Done.

&gt;&gt; Source/WebCore/rendering/RenderSnapshottedPlugIn.cpp:154
&gt;&gt; +    LayoutSize borderAndPadding(borderLeft() + paddingLeft(), borderTop() + paddingTop());
&gt; 
&gt; Is there really no way to get this more directly?

Actually, combined with the content size above, I can just use contentBoxRect().

&gt;&gt; Source/WebCore/rendering/RenderSnapshottedPlugIn.cpp:186
&gt;&gt; +        repaint();
&gt; 
&gt; Really unpleasant to repaint the entire thing just to make a small image appear and disappear. I think you should call a repaintButton function even if it has a FIXME and a call to repaint in it.
&gt; 
&gt; Also, this is OK for a temporary solution, but wrong longer term. The repaint needs to be specifically when the hovered or active state changes. It’s not right to do a repaint directly based on the mouse events, when the actual drawing code uses the image’s hovered and active state. That assumes the two are connected in a way that’s not right.

I&apos;ll add a repaintButton function and a FIXME.

&gt;&gt; Source/WebCore/rendering/RenderSnapshottedPlugIn.cpp:189
&gt;&gt; +        repaint();
&gt; 
&gt; Should not repaint here unless m_isMouseInButtonRect is changing, is that right?

Yes.

&gt;&gt; Source/WebCore/rendering/RenderSnapshottedPlugIn.h:56
&gt;&gt; +    void paintStart(PaintInfo&amp;, const LayoutPoint&amp;);
&gt; 
&gt; This should be called paintButton or perhaps paintStartButton, given the names of the data members.

Renamed to paintButton.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769686</commentid>
    <comment_count>6</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-11-16 14:43:59 -0800</bug_when>
    <thetext>Committed r135003: &lt;http://trac.webkit.org/changeset/135003&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174349</attachid>
            <date>2012-11-14 22:22:12 -0800</date>
            <delta_ts>2012-11-16 00:11:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102149-20121114222010.patch</filename>
            <type>text/plain</type>
            <size>24098</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0NjU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODc3MjM4YzFmNTYzNmYx
ZDcxNjc0YzkwMmNhMzhjNDQ2MjRhODMzYy4uYmUxZjYzMWI5NDVkYWU1MjNlZWU5MzgzNmFmMTAz
MjQzYzdmNGFiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTExLTE0ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBDaGFuZ2UgdmlzdWFsIGxvb2sgb2Yg
cGxhY2Vob2xkZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwMjE0OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTI2OTU1NjY+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSB0aGUgYnV0dG9uIHRv
IHRoZSBsb3dlci1yaWdodCBjb3JuZXIuIE1vdmUgdGhlIHRoZW1pbmcgaW50bworICAgICAgICBS
ZW5kZXJTbmFwc2hvdHRlZFBsdWdpbiBmb3Igbm93LiBFdmVudHVhbGx5IHdlIHdpbGwgd2FudCB0
byBtaWdyYXRlCisgICAgICAgIHRvIHVzaW5nIHRoZSBzaGFkb3cgRE9NIGluc3RlYWQsIGFuZCB0
aGUgbWV0cmljcyBvZiB0aGUgYnV0dG9uIGFyZQorICAgICAgICBuZWVkZWQgZm9yIGNsaWNrIHBh
c3N0aHJvdWdoLgorCisgICAgICAgICogUmVzb3VyY2VzL3N0YXJ0QnV0dG9uLnBuZzogQWRkZWQu
CisgICAgICAgICogUmVzb3VyY2VzL3N0YXJ0QnV0dG9uQDJ4LnBuZzogQWRkZWQuCisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBBZGQgYnV0dG9uIGltYWdlcy4K
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU25hcHNob3R0ZWRQbHVnSW4uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyU25hcHNob3R0ZWRQbHVnSW46OnBhaW50UmVwbGFjZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU25hcHNob3R0ZWRQbHVnSW46OnN0YXJ0QnV0dG9uKTogUmVm
ZXIgdG8gYnV0dG9uIGltYWdlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU25hcHNob3R0ZWRQ
bHVnSW46OnBhaW50U3RhcnQpOiBEcmF3IHRoZSBidXR0b24gaW1hZ2UKKyAgICAgICAgaW4gdGhl
IGxvd2VyIHJpZ2h0IGhhbmQgY29ybmVyLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTbmFw
c2hvdHRlZFBsdWdJbi5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5oOiBSZW1v
dmUgdGhlbWluZyBmdW5jdGlvbi4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWNT
aGFyZWQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWNTaGFyZWQubW06CisK
IDIwMTItMTEtMTQgIEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBVcGRhdGUgRE9NRXhjZXB0aW9uIG5hbWU6IFdyb25nRG9jdW1lbnRFcnJvcgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvUmVzb3VyY2VzL3N0YXJ0QnV0dG9uLnBuZyBiL1NvdXJjZS9XZWJD
b3JlL1Jlc291cmNlcy9zdGFydEJ1dHRvbi5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGVlNzg0OTRkZjFhNmI1
MTVlMDMyODkxOGY4OTExODg3OTlmOGZkOApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMjMwMwp6
Y21WPGIybXRxcVApPGg7M0t8TGswMDBlMU5KTFRxMDAyP3wwMDFRajFeQHM2KEY/eGYwMDBRYU5r
bDxaWGEoKEIKelMhaCQrOGN5MlN2PkRvXz4xMTBLYVVPflRzNXFqPjwyKWhpZ0xvPjZgaypMP0FS
Wk87S35YT18md19aQVRnMy13Cno2bytDUiEzan5VUmRHYVloN01gZCtCNytCKHd5KHh5MDwmS1gt
I3IxN21yIStjZHhiZnpsUXktZV9WfilAQXM8fAp6Qj9zLV9LKUUwQEM+fDZvRHdQS3lJNnlfOUxR
bn12RHJ5OyE4dWIxRjhVcz5HOU1NV0oxU293NHBuUTsqMz9oJk8KekBsUX1zYzFCQ2MybyFfIUtP
az8rKkNCYSRNblVgdk1pYEc/OzNha3swIWY/ckl+IXY4YDA9QV8qc3gpQ2dUZGZkCnp0SlNJfnNh
Mz4rbT1HSGdyPns/OW1xWFFfaV5fUU1CXmtTUj9XKEQtdWgpdXcoZFJiPTteWDclVSVoKE8oNGoq
SQp6e2tMQSM2LXAkJXZzQzhIbmUjYWNxNjl+aWlwUyVMQlN3bEJ4cz1HaSY/IWtETWNDelhCYDZy
OU8mSjF1ejIwNDAKelRQdyV0WiVVKkRCNipgQSRgRVUmOFUhUCk9KFU+fV44TjFxe3JpXzVLNzgy
ejtLMmlEUmFJNUotRVF8PnprYzFaCnpacndWbyhQKnN3e3RXKlA0eXlKRWBLUW9CaGY7SnBvJXs2
Wikye0wzJEVQO080X24pfllTayorJlllNTZse2BJcgp6X0FDY0F1PmJBYngwPEk8cFFiQiRUQytX
TT5Rcmw3VCU1NFAmNl90MzYlYGVVO2pBWjFXUTFXNjE5fFM7eCQ8ZSMKenJscDBsYDBVeFVFaGtU
JjM7PVYtanZjbjslYV56MV9AaFVVbWQ+OSlLTz5hNmVpVG8yYiMrNXhWcXpRNEgpNnlICnorbnFh
aWd1UjQxellAclpSRDBtU2ZwJDVGVGVmVm1ybHFDVFhmenJocDRFXzJ0SGFePVRpakhCZXRzNjVt
QEB0bgp6VTtpdGY1ZG4kNylGKiFaP2MyOTJTRmN7M01iK142ZTZlXllVQT1sV1l0VyFVbDZ7UGdq
YUJGNzx8OyE1YWY8SWcKekcyV00lbmQkN195P2MzVFlIQnN4LXlJfWxLPHd3fih4cG9VcFIoQElZ
P3kzN09WeDtnPzlybktiOTE0VG16TjdrCnp5Vnc/PUA3fSNMWns1MXB3dHhTQUoxSGpTJVRtTEs1
NFhXNHgpdjswQWVuXyh2dTJzdWNqKFplUWdKKz1TeUA/NQp6SXgqUFZTZXduM3tQTnw/R18wMmRy
ez4/aWQkKX5ZaEA3OSE0VHFAYDJ7eTJQPkMmWVpzQnpydSpSTkJOWHcrflYKeipNZiNmLSpEPkdz
VEI1Jjl6RUo3cEQmIWNHKzgpPDl6QTtHVGV4dGNGbDc0bD5GRzxCRVVfRnJifVU2MTdPWSZrCnp2
V2VZK1VHako4KUpkS2RyfnJydGVId2hNMVdleillTTxwaThvKzNCKlpAcWtZfXZCNVc1JGc2K149
NmgjSzwxJAp6cyF1I0haVnE8MGU5eFhlMGsqaylgfVNOYlZFeSM7YlMpXzxEWEJVZjlPUyRhSVVB
fThQZ3AoPz55SUJsYzMhd30KenEzK3RYWWNiRUJKeGkqcXRDSSg8MCgqOUxjR2FYd2xpV0I2LUdC
aURsRyN+UVI4K0hmQDdgS1NNTkRCflZKNz5FCnppO0YrUXN+Y0hvK1BaJUlkV0tpKFFLTHF3TUpM
NX5CUygoMy1NViM0STUwfE5PLStxfntWV1gpNGdOTjUrREl6Zwp6ciUjX1VsZ1pAayl+JVojMEI0
R2FMfXojSi1hWCZ0JWFgTG5lZnBJMFdwdkFibUNoejJBaTJjaSNmdlJhKj9gbFEKekZXdVBLc0pl
VWlacT5HSit1Um9+VWQlKjBLKGdkc2BeYj9hckJIUnJZZVBjb2tVOGtZYEpqPiZae0VDLTRofGwr
Cno1X1ZlbjtJKFZsU35xUmxsdG9AOGtuRSEpI1FicXF0NXdoUmomX3s9UDxKbzFMKHNfb283ZCg+
NGplZDtqU2JsRQp6LUBqa1F3ejUjZ0BaTk8oe1BgPz1jIzk0fnU4eTM/P1JJTlpRY2BMfjU8IUhN
QGx4ZWBfd0ZyN0R0ViFmbEVrcXMKekY5IzFFdzleckNKazU+PnFNWVlQKWRRcD8rKGBqWT1IUzdE
TyklVmJXNTxyUShZZF5NQHVHPSQ5eGBOelkyKEk/CnowZ2duejdOdThTKDJqKX44dnRCbVVTM2Bg
Vl4qa344JXteXzxqSXFhPG02LV97KiNYaFIpXmdWKjQtKzd7fVlobgp6aiZSeiNmYFdwIWJTfU1t
XkA0Xk9VR3dKNnZwfSs+RmxFdUFNUGB2LWBCWHxJLV95R3otOEFtbndKViEzWWZlczEKejB7S2N4
TzU3eW45S3FVXm02YV95KDxjOXszTn1abWVKdzUyPj5NanJ0Z3M7WDdGNm9lckFyeihoSmZAQV9E
djZJCnomX2paKENyK0ZZPzNkWVcqMyRNN2JtaGNLaURiLXA8SG42bE5UamReNCN9fjNeWDdVdUJ8
WU8rTiteTDwmWkJIWQp6bTc3KDJAWEZ1Rz4mal9EWURXWWx5ciF2THlMSkt+RiM2QGxUWjFrSkFm
IWBnLWM4I1ZqOFEzKHUmczMlRHxtRm8KenFxV0dDT21iKDFzNmgmTWczVDlWcFJfbWQlaitReTRg
aG8td1EqUz8jYW1PUk9pNSFMMmB+Wi1VQmB8YzlrN2M2Cno3K210PCEtdihoZVN5bj1YPSUwRTBF
dktra2t9WikkVSgjYlJ3OF9uTEw3LVB7RUQ8REdNP345REBIXkY8YzE5IQp6NDA4TG9ae05PYnJf
PFRVRUNpdVcxIUtWWEA4NnJuPnYqVmBBS3tIO0ZTIVNkbSRvdV9eNW01NStxY19pJllXcHcKekNz
YkheaHFUYlJYM1pLYXkqMkV0MTxwbjxzeXZ5Kjh5c21zaCF1b0YodGRDfFd4ekxDODZTckB5YWAq
eGFVYFVzCno0RUsoUzg1dFFaOXcke0FTTXpxSFZTPXBgY1E5XztJT34td1J8NUpGNUxabGBJNUN3
dUByTXJ8Uklyc3o9QkQ/NAp6e2B8UlghaHtKelRxJXk+eXZqSlRiTFkrdXJtRXRhQCtiQ0ZIZTwk
JjBOYWtYXn57K3cwZWd+PGs9SzwwY3w8bW4KejZWa3l6JkFoeEtMcnxPcVJvMlYxaHw8emgmKUt0
UW9zY0YyTFlYRjshXks4aFpYRVpPSV5AKF5naXhfJVdvM2V0CnpGeSV1UTs+NHtIXkl0UDxDez4m
cDI8JnFiO3olI1J1SC0mdzdNTHdyRUVXXnZMXnZzLXBZUHo8Znw/UyhuPiUtfAp6NXhLaCs1ckZ7
KnJzVyNvbSgtbSs7Z3BDYVFuPzU9OylocHVCX3QkeDBofHNXe15pekckcnhyRWh2Tm12WmxyIz8K
eikob2hfKz9HbHlrdnxOYGE1d1VeXkRCWCp2eW09ZmBFaWh7WihpVk18SnFqQ2UtTW0zMVR3JT0h
OD1OIU8pS3I9CnpyPUs8bU1oKmhgRSFJSGVgMD9YTGdjSmMlYHFPezs1QnZaKXhxNCF4bjZpakte
MCQ2Y1dZNT9TY2E3ZW1MeDxYZgp6aF9HVih1aFMkSiMzYWJpUmZ0XzdvZWp+TDU5MDQ0cWF9Tzwz
TllqXk4raXBGTEImRVhgWD9MJmgjOWV5ZXJVPSUKemdZIUpsQDFUZVNRO2h1OzNlfWpCbT02bTAj
amdEMGBGcUxWSz5VPiYpM0JnN0h0N0c9M0xQKmI5NkQkRWxAZ0Z0Clp7c0ZfKylUPHB5RGFIVCow
MDJvdlBESExrVjFpYEZhdW9tbwoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvUmVzb3VyY2VzL3N0YXJ0QnV0dG9uQDJ4LnBuZyBiL1NvdXJjZS9XZWJD
b3JlL1Jlc291cmNlcy9zdGFydEJ1dHRvbkAyeC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTA4YjlkYjZjNzYx
YWEzYzVkYWRiZDc5YjFlY2Q4MzEzYTU4MzJiMQpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgNDMz
Ngp6Y21WPE01RClLKFApPGg7M0t8TGswMDBlMU5KTFRxMDA1KV8wMDJxfDFeQHM2SFQoYXcwMDBv
VE5rbDxaY21lSFEKemNhUmp0OV5Tbml4eEt1MWk+UmQtej5LaiNPQjQpK0NHdGNxdnBmVGEoa2Y3
JmYwKG5QTFkxS3UxRXJRP3NSKktDCnoweUM3TTxjU0ZiU2VBSVZkdlB5d2FjfCVFLU1pVkUtUisq
NE8+PXdMVUc9LTI9YD1tUmBLSjRxZGQ/WFAxfDFldAp6N1YxcF9PI0A4P3hqPzAkSmRqRj8wfiFi
VmFMQCo3MmkxVyNnU0xXKEsmSHVRMGd3ZFZKa1NoS3pHO3VEZzVwM2wKejJZUWpVNXdyJEdwaH1Z
d0FoWGVHRUAlIVlTSzVPclAjbXolZnFxbjcyVS1nbjZnODZwbEMkQz4mfTJ+fm04VXE2CnpBUDJV
Z3tXNEowWSQqY2RCdmt3bHMwXmYlO3l8aTY7NzcreEtzKXBvJGszblFtQH1nU1YrMiN3WC1ZVzIz
NkVHSwp6PTBac2lOWG0/aEwyNzBVdX0yLUdtOz1OYkYtUG87QnQwT2ghMGJKbXVZTUU8P0JXMTFO
OT5JeDRVbjhSc1pFPXYKekA0eEBQPEUqcEpAPlcoPmNJNCNiM182YG9oYSR4VDRGa2prdXxiUndF
MmU8QGUrNlExV2Etd0ZudHZsPm1RbXdACnpmcX4oMyZOLSp5JXtTa3lLfFFCWVR+KCR5RnZAfTg4
RTJmfmQtY148LTJrZEtgTl4yRzBSPH12JFNmUXoyVDZfSQp6MW1pJm05bnx7VVpAKlFfZFE8c3wx
MlBXbXlZSWZ1S203MVJ4ZHx2fkpZUHVFUDZiSzkkY3UxaFJBM30wUkVtY0sKeiMxMWlKKHZ9I1Uk
e0JKMjRyYT9MUXd9KWZrVjdWKlRySlp3Q2FIV1k5MCtkTnZaZUZqZ0FYbi1zSnh5dEJtKlUrCno+
N0lNOz18UTBhcW0pQ2N6IzwybnFnWFBrSzlQVmRITENJSHI9SiFZbTgmd3Ywam5JYWZUZERYS3o0
TD1DX3F9fQp6eFQ8SCEwU2owZjBpPENoJiowITd3USFYYjJOTEZoMXVXJXFoRXojJEFaPDkxN1BE
VndYNkRlTGhhVEVHVzUkZjMKelMraSM0P3ohaWx4I2l7TSpgPWtXSXNOX3AhK3lXTnpyTWJIO055
PSE/Z2NxRlpRNGBAK288OHBvO0RtLTFCcjxQCnpIMmJWSFlDKUchcyMwTkw7bSZLWHl8KD92OCpp
KkFEPVcqZmRZI19oLW9XelolYlZgS191aGgqbUtHeTNnNEhmbgp6SikxYVN3bkpnZTBEMHQqTT5m
M3M/el5SITNGRHNXPXN+KnZgczttOUtLWjBPNUN+LTIjOFkqZDFVUWhFZklSIWAKenYrTHBDXmR4
WCFWTkt0QUA0YzN9YkxXO29YYnkhamc7bWc8PzdzVyV0KUcxSWlPQDVKZlBuN0puPlNiS3NfJH0j
CnpVd3JYfS17YktfWk9tSntjNVRPXk1UOzF4a2tWdVpOWlZ6fD5DPmsteXo8SGBOZHFJZmNqfkY5
UiYzYT8hOVIyNgp6T3hOKTZ1JVYpc28wfVZpajlNViNkTzwtIXJ6bjN7JUcrYSlKQE98YG9FWV4m
MDtKdlBhRyE8YEZXQ2N4Ykc7dkwKelZyZlEzQC1LVmJhbVNUaWUpOzlUV1JGPyhYRDxobWp8X3dI
VXc3U2dFay1pcXVmUDc8I1c9ZCVjSDdNbGd7SyRWCnpfaSN+QihhdVNlQ2kkPHReMisrKGZCKVVe
RXE/VVRNe0EwVWl3KX0tM3tNck0wU0R7YHF8e0EkXlVYSlZfdXFnMgp6cUUpTF8pejtQM21GP1dR
R29RPEVQZnQoNS0rJXZJMkNkcUlAJmFoJl4pa0xPeWxMTE5jfipsJFchPFIhRzMwPTQKemZPTmF2
P1U/ejV2ZkcrOVludCE3QDRpfl8hTytHO2ZJal4yIXllM3AoeHYmRFlwemtRJk1eZDNxTDtRIXNl
dkhQCnpQMiQ0entQV0tYSDtvR2BCbEVWflpZdWB4OTlZdCRzKkh4cEAldTFfO0VybVRVYDl6dk5q
SStEMT82RDRxTjJoOQp6eVEmayR7TlJvcUpOVFJCXj9MSlI7NGU8X0dTY1NSKzFXJDs/NlolNV41
bkB3UT5JTER6PTRxUSltTEErcjQ3PXcKenomMWN1UzYyc1FKaXg8Pk13WUJIXjVMV30rT308NV9r
UjJCUn1AKXwlUW9jQnA2PjRNJmBrTnpMbDV+NUpuK0J+CnohI2x0dHoyXyZNYyVsR2ZZMVI2Qzxk
SGBQKX57YkxISDgyS2dCTStOUTRfPXM3Y19Ue0MyQmxjVTtLcWhzZVMzdgp6cjlFJUdeX0VMTks3
QWVpRn5IVUclUCtyRj08fkU9YyhKOz55MUlEMTtHOCpnZHswMDliWktwRVpPQ01HPWJkLUAKejA3
d1V8OG5AbmhZc2Vme1JhR1N2bkAlfDRncCY4KWU/TjVaZkJ5T0I7OGo7JFdqbW15NEBiTjRXY0At
V2wrSVd1CnpvcGUmKitpJDsoPX5BYmhhIU5tRHJKYlRpYTVza1NeQFRZb2Y3LU5aVlJAbzwwUE9A
JnMwZ0JqUjk/al8pUW5sRQp6NyUhUy02QmZ0dF4yO3h+VjhqcEphPzM1PUJ9PGw2TGt1eHw4QVlv
PVhuKzdDZlk9REAwPnZGK2c1NVE2XjJzTmcKejAqbEhmPlY9I1hXKHVWNlZvQXVmNFVrUHVPO1gw
K2UqNWlpSmx1dkBtWUJjKGBsfnolX2E5ZG1TZWhIWntgJWBtCnpsUllCUno1ejFse3JCSHJkJXl0
KUcrdURRMT1aNHVDSXZVI2FEeHxNd0VSTXRiZTkmendrYjZMUCQ2YW07WjVfdwp6QjRFUCg7KV5k
Zih4cGd3TkxWb3FHQzRMWlo2KSE3UUdXflBwTVFTIT9BZiFXM1l4eGQ8VDImZDJPZkFwSXh8TXIK
ekExfiomMGdeSikjKkd7S0pyYGwzdkhaZGRGUmFHUTwzYDwjND9wfns2KjVkYzxpekg1MF9ZYHxU
KyliVEk/REI/CnotNHZKT0ttUGNtb0E9NlBrTiRTOE8hUnh4TyplJj5ObTAyaDU4Xn1fWElmZUxj
K0l5cHhaPkRqa00oezJgUjd0NAp6TEI+UypzRGw3JTg8Y19HazNSWSs+IStXN2E+V35kMjJIZER5
V29WMTA9enY5QGJ3elhUTSN8XnVAT0VCTTRiSmgKekpiMGwlUnB8cCFGX1I5JGNpOzVGM29tIz85
eEFyVyVnWTxteDYkfU9yM1JvRGojYUI4YD13SEkjfnBWPkBmdFNXCnpVWGtuWV8xOWwtIVo8QHBr
KndjRF5WNzxnamZZK0gjdjUtbXBMeW4pRzQxY2g0Q3pGeVdFcDZMQURvNC0jUVJzUQp6U2tiJEJe
PWNRaSY1JVomRDhyMX0oK2RQSjNOPmpjREJlKzlZRkhPfGFrNWB9PV9MPGQjPk9rSXhGU2trQnVI
VHUKej14dTlqaWB5Z3dgTVZWblB5SmlCWnEwNlFaX2hAXlU9U2dDdyh1bkVXfE1HWSttZnd+XzF0
c01FcVZMeHdfQ0xICnpjeihINShSVTV8cjNWa1AwMXU7cVd7YE9MaWxxJV5FYmhQKnJwRiQ4RUds
M0BVbENSV3NheTt8IyQ8PXBgc0s8Mgp6M3gpNSo2SGhGc2hZTnRMZ3hTZ2t5SnNuRXA0X0BUP3Zt
fCoxUVQ9Y2Q1eUJHdWZEcFRmd3FacWpOcFd5K2x7M3QKemsyYmVOYCFpfH0raC05cDwwY1VTMnR4
WkZgQDx8YWVCT0VJTmRiIzslTzg1emp9SUVRKlRfeil1UkM2alozaVM3CnoxR3k7IXZ6aUNxajNJ
b3twI0diMHpHK1hDVkY8Pl5gc31tTXMqZ0c1bjNSRSVxUVRFVXw2QzteIVQ1dT96Yj8jUAp6ekF3
TjB2aCg9a2s1QjRuNHlpMXlUKThxUChNS0BHdzlCJjE0a14weHpQYFRQKklzK2cxOURKNCEhcTE/
K0coZHsKemZKI0p5eDJPKyY5JW9CTHBfanBaKlVSN3hlT1VeUmdZYlRJT3IxS2w3Y1dFYj0lYkkk
Izx5KHA1cURTc2dAJHNXCno3MT1PbVpUVylfSzRgXmlxWDN6ejJUTTJEeF4/U0Y0dyFvIV5iTysh
U0tUdmImS3k0ZF53U0hsM0N0elpRWHxMWAp6YT1DSjdGdXY9cXlIV35CekNhZ1dkfnBaTkhmNEJ1
PW1qJE0xVnhUamNPTFZTNFM3KjJsamB+JWNaWHhMV0x4MTkKentuYSRWMDlkdCRBQVl6QzBPLVJF
Pk8rOFV2c3J0e1IjSkordGdWJURfPlIzV3xLdmxGQHgoS2VUZSpmPTliRGhnCnp6Rz5EelVDWXhK
a2RYfC01fVplfjVmcXxJN15kNWVlNjBpdDxoUFY7TV85MDZmJWx6di1sPkp7UTBmWlJrRFpGIQp6
USVebkIwSSFOeXBQJVM0dFAzJE9eTkMqNWpgcF82a2xnWXJ4Z2pUbGFBUjZ0Rip+PnJzTCtHb0t6
QEZ7NUV1disKejc9WTxSYT5AOXo1dmJzUT05eT1yakxySnFfQFkzTD9aUVR+QWlmLXppKHEzMFFA
Q083Ti03e19aZG08VCNeYlNWCnpmVyg4enFJPygwQnBTSF5EeHMkJHZhYkd8dTFJe21zRCZINl4h
ZUhgbWlVQkNOP0twcUZUJV9RV2JRaEttTFhidwp6bjk9UjFBN3duSnYwQ2Qje21NQ0QrbWExQ1VC
NzQ7ZTg3OXt3TzU7eyVxJE54cGNIZ2kodnRlSlZWblUoPF9OVn4KejFkakI7aTxDRENNJlltI0Yp
eiRsbmMqQzs0VWg7bDx0S1pFMzBrb2ZTaSVPI3FfRylGaj9eMjBGSXEoVG5gTTFqCnokIUZ9UE9n
ekIwLVZUX3NxeVpQfnxGRlhqT1g+P15XejZIVGolfFFNWHFuVlphcHxSKHk3OW1vVl9fZ25FPFd0
aAp6NXozeDBpTkswOTU9fFhUbWp0PFZTJXFzLUlLJVMtKmV4ay0kOHkqc2AoZTVvdi1uTXAhN1Nu
NCg/VXRJNFVtWV4KekRXJmdLI3V4PFdSeE1uKHVwU1JAS3Zzd08rI1ktUC1GSkh0U1JvQmUjYTR2
NEc7OVA7TlhHfXloP0d9UXUldS1pCnpHbEZzYmtaSUY7aE9EV24zMmslV244enlGI3cyUmUtMEYm
YDctM0s7QllJI1NAaG5AbUVQJntoN1FfPHtHJlZLewp6dV5xdHlXeWtAQklxX3cqezNESnkhVWNJ
dyphdyppJkFUNjk3MFAtbkh3dTVrd3R+WCMrcVhCT2p+b0NuNlEtdFkKeiZFb0BrUlg3ezdQeHtn
eWZCZjtOUCUtUnI7VTFhK3hKTH4mXlE8aH05c309Ul98aEc5KUtNanYjbDdFc19neC1MCnpSaGlK
QG9uc044VlFWfWoxOG90QCpvVDxKQ0BxdV5IVz4rPG0zJU97TkM4MHFhJSpkPTY/WXppUj9xJDUr
UEhyRgp6QHlBWENSdFYpKm5xZCQkK2t9flo1SEMqI2pRUDJjYVZgMDs7Y0FRbUdwfWhCNH5hbHdG
SmRnRUZRenU7JFkwb1UKentTNCljJSNTPiRgM21Eb2BnNC1KNTI0RSZFO1hUQU5qa3Vpb3JNU0dV
X15EMngod14pdmRiPjNIdiVJb0JWTXIzCnpOT1RENkZ5YUlPeFlCWGN0JSozI0RnQHx5N0I2MDA2
QTRCbUxxMWpqc2VCelZnb0lEPXw2Jlk5cUolR3lVPGJBVwp6bDRHVF4wbCV+cFZOPE9Nank9P3pr
dVF1SWRoV1VCTGJGK0BGeWVyYk0pKz80YXFWTTQjSlU/RndUZ00laH5EPHsKek1VKkElcHRRe20y
Iy0tdEl2ZHEoMlA3V35LdntedShzRCVnY3dzUD9udUJCeVBAaGo9TCktM1QpUX4+az1vbV55Cnox
OzNWSVI3WEBzRnZFe3NXV31HKF9BbXRuNyhrMXkxaHNxLTh5WHQ9TUV3Rz13ZnNiKHM0VXJldzNY
NnA2ej9qTAp6P0QwaFFYUjhidWRHWFFuQWE+OS1Beit1JCYmNj1oOEhWMlQ/TTZJZTdYYTBUbjky
ZT88aFl9M3hXNUtGe3t8Mj8Kekh1NCMxRHBwWEtHTjh4PXBvOWdXZyFTT3RsUmBOU1FBb1pBQUFF
MmAkJT8kTT1IfSlCRVp4bnxLS3R3aHtuaUJUCnpGdlJMMFI0TmNOPjc9aC0teHM2YzVoeDxHN35y
TUlQVU9GPEZgOD1ye1BgVWlRI0x+OUA/WnRQdCFITEhpNDVUVwp6aHExS3hDYkM2V2U7QGl8R1pg
YCswSTQ2WjFLKCl1THZUYmw8dGl7TzJ1MX1seUV5UytHZURWbSF6VztnaiZlYlUKemJ6PFgqZSFQ
JVJ2akUwQ3tgKDhPSUI4K212eWx+K0U7YTR8WTNaKDFyRSR2dkdlQ31zM157Sk9zUm97TTRrJHBU
CnpvVzwkX3YyY0taNmwjODJDcDJiaiRMZCNjQVEyNyNPTUBvdWB2XiRHOWUrP1BkUTNWfCNmayUj
SUtZVDBsWngjRwp6cSt1KX53cj9zeG5zOEFTVGpQS1FFVlU3a2J3PUdXLX5pPTkrbkdeMlJpLSEp
ITJ4fn4pNm05QGBnSHs0ZTxLPSgKem8kXjF4VmBFaVp1Q31tXylYNmBaMUg9JXFXV3QyYUc+a0wk
WCpvejVVUFdJcV9ESHVUO3UkYSpoJGBOTkllQDY0CnpXX1coZTUkbm5jUD9xUklVZFJnNnFCcUhF
RmBwZj1MIWd7SD1oWDZUIzRKXiY9UmxCe3U+ZU40QXFJeXUjSUQ5awp6S1hZWT9wb0lVcGNGVUc2
byQhSHJAJHZXJDN1P1RxSkMoblNhKTZqMUhpIXtvZ190cCE4T2FHXmp+SH10JD51TjkKemU5KnJ9
aj9eRTswZWQrPkZzfFl5d0hjRGZZZUN6MnBweFElalR8ODZoYG9gZDJQQ2NOT0Z7bnM3cGNGQjEx
YVlLCnp1fH57PUpVRHRsXjZLPjNFQ0RHe2t7Yz9la157c1R1QD5lailYUnxpaSE8blRGPSVnbnJh
RCN9TkQ+Rk9wYFRALQp6RmZnKWo4NmE4NGVZJGYmYjNqU2AzSXpJNz43VTV+WVNaZ0xsbz48SXc0
TjE0ZllqPTd3eHNxdzlWOWlMWW45Y24KejsoJmt5Rzx0Nll0cFA+Tml1KEZpMElBaWRNYHNGWDhm
WVNqOXxhez80Wm1yRmErVXNCOUFHI2pMRHZTVjE4b0x2CmUxPD9VeG4qSWsyQE5vMkRHV0NUMzAw
MDA8TU5VTW5MU1RZWEtUb1V4CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNmM0YTIyN2U3
Zjc5MDYyYzYxZmZmYjk0ZTVkNzM3ZDBkYjNmNWYyOS4uMDBlMzJhZDI4MGY1ZGM4YWI0ZDE4YmQy
ZjIxNmZlMzg4OWIwMzU4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtODYzLDYgKzg2Myw3IEBACiAJCTJFRjFCRkVBMTIxQzlG
NDIwMEMyNzYyNyAvKiBGaWxlU3RyZWFtLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDJFRjFCRkU4MTIxQzlGNDIwMEMyNzYyNyAvKiBGaWxlU3RyZWFt
LmNwcCAqLzsgfTsKIAkJMkVGMUJGRUIxMjFDOUY0MjAwQzI3NjI3IC8qIEZpbGVTdHJlYW0uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFRjFCRkU5MTIx
QzlGNDIwMEMyNzYyNyAvKiBGaWxlU3RyZWFtLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMkVGMUJGRjkxMjFDQjBDRTAwQzI3NjI3IC8qIEZpbGVT
dHJlYW1DbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDJFRjFCRkY4MTIxQ0IwQ0UwMEMyNzYyNyAvKiBGaWxlU3RyZWFtQ2xpZW50LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMzEwNUMzRUExNjU0
QjRCMjAwOUMzMTEzIC8qIHN0YXJ0QnV0dG9uQDJ4LnBuZyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzEwNUMzRTkxNjU0QjRCMjAwOUMzMTEzIC8qIHN0
YXJ0QnV0dG9uQDJ4LnBuZyAqLzsgfTsKIAkJMzEwNjAzNkYxNDMyN0QyRTAwQUJGNEJBIC8qIFdl
YktpdENTU0ZpbHRlclZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDMxMDYwMzZDMTQzMjdEMkUwMEFCRjRCQSAvKiBXZWJLaXRDU1NGaWx0ZXJW
YWx1ZS5jcHAgKi87IH07CiAJCTMxMDYwMzcwMTQzMjdEMkUwMEFCRjRCQSAvKiBXZWJLaXRDU1NG
aWx0ZXJWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMzEwNjAzNkQxNDMyN0QyRTAwQUJGNEJBIC8qIFdlYktpdENTU0ZpbHRlclZhbHVlLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMzEwNjAzNzQx
NDMyODE5QzAwQUJGNEJBIC8qIEpTV2ViS2l0Q1NTRmlsdGVyVmFsdWUuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzEwNjAzNzIxNDMyODE5QzAwQUJG
NEJBIC8qIEpTV2ViS2l0Q1NTRmlsdGVyVmFsdWUuY3BwICovOyB9OwpAQCAtOTE5LDYgKzkyMCw3
IEBACiAJCTMxOTQ2MjMyMTMwMjJGNjUwMDRCQjNGOCAvKiBKU1dlYktpdEFuaW1hdGlvbkxpc3RD
dXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MzE5NDYyMzExMzAyMkY2NTAwNEJCM0Y4IC8qIEpTV2ViS2l0QW5pbWF0aW9uTGlzdEN1c3RvbS5j
cHAgKi87IH07CiAJCTMxOTU1QTg2MTYwRDE5OTAwMDg1ODAyNSAvKiBSZW5kZXJTbmFwc2hvdHRl
ZFBsdWdJbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAzMUU4RDhCQTE2MEJDOTRCMDA0Q0U4RjUgLyogUmVuZGVyU25hcHNob3R0ZWRQbHVnSW4uY3Bw
ICovOyB9OwogCQkzMTk1NUE4ODE2MEQxOTkyMDA4NTgwMjUgLyogUmVuZGVyU25hcHNob3R0ZWRQ
bHVnSW4uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMx
RThEOEJCMTYwQkM5NEMwMDRDRThGNSAvKiBSZW5kZXJTbmFwc2hvdHRlZFBsdWdJbi5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTMxOThGNzBGMTY1
NDYyODcwMDk2OTQ3MSAvKiBzdGFydEJ1dHRvbi5wbmcgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxOThGNzBFMTY1NDYyODcwMDk2OTQ3MSAvKiBzdGFy
dEJ1dHRvbi5wbmcgKi87IH07CiAJCTMxOUFFMDYzMTQyRDZCMjQwMDY1NjNBMSAvKiBTdHlsZUZp
bHRlckRhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMzE5QUUwNjExNDJENkIyNDAwNjU2M0ExIC8qIFN0eWxlRmlsdGVyRGF0YS5jcHAgKi87IH07
CiAJCTMxOUFFMDY0MTQyRDZCMjQwMDY1NjNBMSAvKiBTdHlsZUZpbHRlckRhdGEuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxOUFFMDYyMTQyRDZCMjQw
MDY1NjNBMSAvKiBTdHlsZUZpbHRlckRhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQkzMTlFNjg4NzEzMjdDOTExMDA0QUM5MUEgLyogSlNXZWJL
aXRBbmltYXRpb25DdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMzE5RTY4ODYxMzI3QzkxMTAwNEFDOTFBIC8qIEpTV2ViS2l0QW5pbWF0aW9u
Q3VzdG9tLmNwcCAqLzsgfTsKQEAgLTgwMDgsNiArODAxMCw3IEBACiAJCTJFRjFCRkU4MTIxQzlG
NDIwMEMyNzYyNyAvKiBGaWxlU3RyZWFtLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEZpbGVTdHJlYW0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQky
RUYxQkZFOTEyMUM5RjQyMDBDMjc2MjcgLyogRmlsZVN0cmVhbS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBGaWxlU3RyZWFtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTJFRjFCRkY4MTIxQ0IwQ0UwMEMyNzYyNyAvKiBGaWxlU3RyZWFtQ2xpZW50LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZpbGVTdHJlYW1DbGllbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzEwNUMzRTkxNjU0QjRCMjAwOUMzMTEzIC8qIHN0YXJ0QnV0
dG9uQDJ4LnBuZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IGltYWdlLnBuZzsgcGF0aCA9ICJzdGFydEJ1dHRvbkAyeC5wbmciOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkzMTA2MDM2QzE0MzI3RDJFMDBBQkY0QkEgLyogV2ViS2l0Q1NTRmls
dGVyVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViS2l0
Q1NTRmlsdGVyVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTA2MDM2
RDE0MzI3RDJFMDBBQkY0QkEgLyogV2ViS2l0Q1NTRmlsdGVyVmFsdWUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViS2l0Q1NTRmlsdGVyVmFsdWUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMzEwNjAzNkUxNDMyN0QyRTAwQUJGNEJBIC8qIFdlYktpdENTU0Zp
bHRlclZhbHVlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJLaXRDU1NGaWx0ZXJWYWx1
ZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04MDY1LDYgKzgwNjgsNyBAQAog
CQkzMTk0NjIwMjEzMDIyQkYxMDA0QkIzRjggLyogRE9NV2ViS2l0QW5pbWF0aW9uTGlzdC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01XZWJLaXRBbmltYXRpb25MaXN0Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxOTQ2MjAzMTMwMjJCRjEwMDRCQjNGOCAv
KiBET01XZWJLaXRBbmltYXRpb25MaXN0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gRE9NV2ViS2l0QW5pbWF0aW9uTGlzdC5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMzE5NDYyMzExMzAyMkY2NTAwNEJCM0Y4IC8qIEpTV2ViS2l0QW5pbWF0aW9u
TGlzdEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1dl
YktpdEFuaW1hdGlvbkxpc3RDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkzMTk4RjcwRTE2NTQ2Mjg3MDA5Njk0NzEgLyogc3RhcnRCdXR0b24ucG5nICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gaW1hZ2UucG5nOyBwYXRoID0g
c3RhcnRCdXR0b24ucG5nOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTlBRTA2MTE0
MkQ2QjI0MDA2NTYzQTEgLyogU3R5bGVGaWx0ZXJEYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgbmFtZSA9IFN0eWxlRmlsdGVyRGF0YS5jcHA7IHBhdGggPSBzdHlsZS9TdHls
ZUZpbHRlckRhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTlBRTA2MjE0
MkQ2QjI0MDA2NTYzQTEgLyogU3R5bGVGaWx0ZXJEYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IFN0eWxlRmlsdGVyRGF0YS5oOyBwYXRoID0gc3R5bGUvU3R5bGVGaWx0ZXJE
YXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxOUU2ODg2MTMyN0M5MTEwMDRB
QzkxQSAvKiBKU1dlYktpdEFuaW1hdGlvbkN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU1dlYktpdEFuaW1hdGlvbkN1c3RvbS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0xNDQzNSw2ICsxNDQzOSw4IEBACiAJCQkJODUxMzZDOTQwQUVE
NjY1OTAwRjkwQTNEIC8qIHNvdXRoRWFzdFJlc2l6ZUN1cnNvci5wbmcgKi8sCiAJCQkJODUxMzZD
OTUwQUVENjY1OTAwRjkwQTNEIC8qIHNvdXRoUmVzaXplQ3Vyc29yLnBuZyAqLywKIAkJCQk4NTEz
NkM5NjBBRUQ2NjU5MDBGOTBBM0QgLyogc291dGhXZXN0UmVzaXplQ3Vyc29yLnBuZyAqLywKKwkJ
CQkzMTk4RjcwRTE2NTQ2Mjg3MDA5Njk0NzEgLyogc3RhcnRCdXR0b24ucG5nICovLAorCQkJCTMx
MDVDM0U5MTY1NEI0QjIwMDlDMzExMyAvKiBzdGFydEJ1dHRvbkAyeC5wbmcgKi8sCiAJCQkJOTMx
NTNCREIxNDE5NTlCQjAwRkNGNUJFIC8qIHRleHRBcmVhUmVzaXplQ29ybmVyLnBuZyAqLywKIAkJ
CQk5MzcwOTE4QzE0MTZEODZCMDA0NzczMzMgLyogdGV4dEFyZWFSZXNpemVDb3JuZXJAMngucG5n
ICovLAogCQkJCTQ2RDRGMjQ4MEFGOTdFODEwMDM1Mzg1QSAvKiB2ZXJ0aWNhbFRleHRDdXJzb3Iu
cG5nICovLApAQCAtMjU4NzEsNiArMjU4NzcsOCBAQAogCQkJCTg1MTM2Q0E4MEFFRDY2NTkwMEY5
MEEzRCAvKiB3ZXN0UmVzaXplQ3Vyc29yLnBuZyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJMUFCMUFF
N0EwQzA1MUZERTAwMTM5RjRGIC8qIHpvb21JbkN1cnNvci5wbmcgaW4gUmVzb3VyY2VzICovLAog
CQkJCTFBQjFBRTdCMEMwNTFGREUwMDEzOUY0RiAvKiB6b29tT3V0Q3Vyc29yLnBuZyBpbiBSZXNv
dXJjZXMgKi8sCisJCQkJMzE5OEY3MEYxNjU0NjI4NzAwOTY5NDcxIC8qIHN0YXJ0QnV0dG9uLnBu
ZyBpbiBSZXNvdXJjZXMgKi8sCisJCQkJMzEwNUMzRUExNjU0QjRCMjAwOUMzMTEzIC8qIHN0YXJ0
QnV0dG9uQDJ4LnBuZyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxv
eW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyU25hcHNob3R0ZWRQbHVnSW4uY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclNuYXBzaG90dGVkUGx1Z0luLmNwcAppbmRleCA1YTY3ZWI2YTI4M2Ni
NmMzMTUwNGM4MGYyYWY1NTZlZDczNjkyODk4Li4zZWFlOWM0MzcwMDJlNzYxNWQ1MDc4NjM5ZDc2
NjJkNDgxODU1MjAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
U25hcHNob3R0ZWRQbHVnSW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJTbmFwc2hvdHRlZFBsdWdJbi5jcHAKQEAgLTM5LDYgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBzdGF0aWMgY29uc3QgaW50IGF1dG9TdGFydFBsdWdJblNpemVUaHJlc2hvbGRXaWR0
aCA9IDE7CiBzdGF0aWMgY29uc3QgaW50IGF1dG9TdGFydFBsdWdJblNpemVUaHJlc2hvbGRIZWln
aHQgPSAxOworc3RhdGljIGNvbnN0IGludCBzdGFydEJ1dHRvblBhZGRpbmcgPSA1OwogCiBSZW5k
ZXJTbmFwc2hvdHRlZFBsdWdJbjo6UmVuZGVyU25hcHNob3R0ZWRQbHVnSW4oSFRNTFBsdWdJbklt
YWdlRWxlbWVudCogZWxlbWVudCkKICAgICA6IFJlbmRlckVtYmVkZGVkT2JqZWN0KGVsZW1lbnQp
CkBAIC04Miw3ICs4Myw3IEBAIHZvaWQgUmVuZGVyU25hcHNob3R0ZWRQbHVnSW46OnBhaW50UmVw
bGFjZWQoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBvCiB7CiAgICAgaWYgKHBs
dWdJbkltYWdlRWxlbWVudCgpLT5kaXNwbGF5U3RhdGUoKSA8IEhUTUxQbHVnSW5FbGVtZW50OjpQ
bGF5aW5nKSB7CiAgICAgICAgIHBhaW50UmVwbGFjZWRTbmFwc2hvdChwYWludEluZm8sIHBhaW50
T2Zmc2V0KTsKLSAgICAgICAgdGhlbWUoKS0+cGFpbnRQbHVnSW5TbmFwc2hvdE92ZXJsYXkodGhp
cywgcGFpbnRJbmZvLCBwYWludE9mZnNldCk7CisgICAgICAgIHBhaW50U3RhcnQocGFpbnRJbmZv
LCBwYWludE9mZnNldCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTEyMCw2ICsxMjEs
MjkgQEAgdm9pZCBSZW5kZXJTbmFwc2hvdHRlZFBsdWdJbjo6cGFpbnRSZXBsYWNlZFNuYXBzaG90
KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdAogICAgIGNvbnRleHQtPmRyYXdJbWFnZShpbWFn
ZS5nZXQoKSwgc3R5bGUoKS0+Y29sb3JTcGFjZSgpLCBhbGlnbmVkUmVjdCwgQ29tcG9zaXRlU291
cmNlT3Zlciwgc2hvdWxkUmVzcGVjdEltYWdlT3JpZW50YXRpb24oKSwgdXNlTG93UXVhbGl0eVNj
YWxpbmcpOwogfQogCitJbWFnZSogUmVuZGVyU25hcHNob3R0ZWRQbHVnSW46OnN0YXJ0QnV0dG9u
KCkgY29uc3QKK3sKKyAgICBzdGF0aWMgSW1hZ2UqIGJ1dHRvbkltYWdlID0gSW1hZ2U6OmxvYWRQ
bGF0Zm9ybVJlc291cmNlKCJzdGFydEJ1dHRvbiIpLmxlYWtSZWYoKTsKKyAgICByZXR1cm4gYnV0
dG9uSW1hZ2U7Cit9CisKK3ZvaWQgUmVuZGVyU25hcHNob3R0ZWRQbHVnSW46OnBhaW50U3RhcnQo
UGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNldCkKK3sK
KyAgICBMYXlvdXRVbml0IGNXaWR0aCA9IGNvbnRlbnRXaWR0aCgpOworICAgIExheW91dFVuaXQg
Y0hlaWdodCA9IGNvbnRlbnRIZWlnaHQoKTsKKyAgICBpZiAoIWNXaWR0aCB8fCAhY0hlaWdodCkK
KyAgICAgICAgcmV0dXJuOworICAgIAorICAgIEdyYXBoaWNzQ29udGV4dCogY29udGV4dCA9IHBh
aW50SW5mby5jb250ZXh0OworICAgIEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgc2F2ZXIoKmNv
bnRleHQpOworICAgIAorICAgIExheW91dFNpemUgYm9yZGVyQW5kUGFkZGluZyhib3JkZXJMZWZ0
KCkgKyBwYWRkaW5nTGVmdCgpLCBib3JkZXJUb3AoKSArIHBhZGRpbmdUb3AoKSk7CisgICAgCisg
ICAgTGF5b3V0U2l6ZSBjb250ZW50U2l6ZShjV2lkdGgsIGNIZWlnaHQpOworICAgIExheW91dFBv
aW50IGNvbnRlbnRMb2NhdGlvbiA9IHBhaW50T2Zmc2V0ICsgYm9yZGVyQW5kUGFkZGluZyArIGNv
bnRlbnRTaXplIC0gc3RhcnRCdXR0b24oKS0+c2l6ZSgpIC0gTGF5b3V0U2l6ZShzdGFydEJ1dHRv
blBhZGRpbmcsIHN0YXJ0QnV0dG9uUGFkZGluZyk7CisgICAgY29udGV4dC0+ZHJhd0ltYWdlKHN0
YXJ0QnV0dG9uKCksIENvbG9yU3BhY2VEZXZpY2VSR0IsIHJvdW5kZWRJbnRQb2ludChjb250ZW50
TG9jYXRpb24pLCBzdGFydEJ1dHRvbigpLT5yZWN0KCkpOworfQorCiBDdXJzb3JEaXJlY3RpdmUg
UmVuZGVyU25hcHNob3R0ZWRQbHVnSW46OmdldEN1cnNvcihjb25zdCBMYXlvdXRQb2ludCYgcG9p
bnQsIEN1cnNvciYgb3ZlcnJpZGVDdXJzb3IpIGNvbnN0CiB7CiAgICAgaWYgKHBsdWdJbkltYWdl
RWxlbWVudCgpLT5kaXNwbGF5U3RhdGUoKSA8IEhUTUxQbHVnSW5FbGVtZW50OjpQbGF5aW5nKSB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU25hcHNob3R0ZWRQ
bHVnSW4uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbmFwc2hvdHRlZFBsdWdJ
bi5oCmluZGV4IDFhNDJjMGQzYmFkM2RlMTQyYzE5YjQwMjU0OTMwM2UyNTFmNjUyMWMuLjRlMTFh
YzZmMjkwNmU3OTY2ZGRlNjRlOTBjOGM1ODk1MTQ0MTlmOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbmFwc2hvdHRlZFBsdWdJbi5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbmFwc2hvdHRlZFBsdWdJbi5oCkBAIC01Myw2ICs1Myw4
IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHBhaW50KFBhaW50SW5mbyYsIGNvbnN0IExh
eW91dFBvaW50JikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHBhaW50UmVwbGFjZWQoUGFp
bnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmKSBPVkVSUklERTsKICAgICB2b2lkIHBhaW50UmVw
bGFjZWRTbmFwc2hvdChQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYpOworICAgIHZvaWQg
cGFpbnRTdGFydChQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYpOworICAgIEltYWdlKiBz
dGFydEJ1dHRvbigpIGNvbnN0OwogCiAgICAgdmlydHVhbCB2b2lkIGxheW91dCgpIE9WRVJSSURF
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCmluZGV4IDY3N2M1NjNiZmQ0
MDExYmI0OWI3OGJmMzliN2Q3ZmJjZmU4MTA3NzguLmJiYjg2ZTE5MmUwMDljMjA1MjlhY2ExMDk2
NGU0NzU3Y2M5ZGNjZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCkBA
IC0yNDMsOCArMjQzLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgU3RyaW5nIGZpbGVMaXN0RGVm
YXVsdExhYmVsKGJvb2wgbXVsdGlwbGVGaWxlc0FsbG93ZWQpIGNvbnN0OwogICAgIHZpcnR1YWwg
U3RyaW5nIGZpbGVMaXN0TmFtZUZvcldpZHRoKGNvbnN0IEZpbGVMaXN0KiwgY29uc3QgRm9udCYs
IGludCB3aWR0aCwgYm9vbCBtdWx0aXBsZUZpbGVzQWxsb3dlZCkgY29uc3Q7CiAKLSAgICB2aXJ0
dWFsIHZvaWQgcGFpbnRQbHVnSW5TbmFwc2hvdE92ZXJsYXkoUmVuZGVyU25hcHNob3R0ZWRQbHVn
SW4qLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYpIGNvbnN0IHsgfQotCiAg
ICAgdmlydHVhbCBib29sIHNob3VsZE9wZW5QaWNrZXJXaXRoRjRLZXkoKSBjb25zdDsKIAogcHJv
dGVjdGVkOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
TWFjU2hhcmVkLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWNTaGFy
ZWQuaAppbmRleCAxMzM5MWRmZTdiZjY5MDUyMGQ4YjFhOGQ1ZTkwZDNjY2M4MWNkMDkxLi41Mjgz
Y2I4ZGJiOWUxOGJiODk5NzJhNTlhNGYyMTRkNWQ3NDFlMzhiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWNTaGFyZWQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWNTaGFyZWQuaApAQCAtOTgsOCArOTgsNiBAQCBw
dWJsaWM6CiAgICAgLy8gQSB2aWV3IGFzc29jaWF0ZWQgdG8gdGhlIGNvbnRhaW5lZCBkb2N1bWVu
dC4gU3ViY2xhc3NlcyBtYXkgbm90IGhhdmUgc3VjaCBhIHZpZXcgYW5kIHJldHVybiBhIGZha2Uu
CiAgICAgdmlydHVhbCBOU1ZpZXcqIGRvY3VtZW50Vmlld0ZvcihSZW5kZXJPYmplY3QqKSBjb25z
dCA9IDA7CiAKLSAgICB2aXJ0dWFsIHZvaWQgcGFpbnRQbHVnSW5TbmFwc2hvdE92ZXJsYXkoUmVu
ZGVyU25hcHNob3R0ZWRQbHVnSW4qLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2lu
dCYpIGNvbnN0IE9WRVJSSURFOwotCiBwcm90ZWN0ZWQ6CiAgICAgUmVuZGVyVGhlbWVNYWNTaGFy
ZWQoKTsKICAgICB2aXJ0dWFsIH5SZW5kZXJUaGVtZU1hY1NoYXJlZCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjU2hhcmVkLm1tIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjU2hhcmVkLm1tCmluZGV4IDhlOTAyZmNj
NTM4ODRiNTZjZGE2MDhjMTIxZWU4NDEzYjJmMTE2MWIuLmU2MDc0Y2MyNjRkYzQ2NzU3ZDVjMmZm
ZDRlNTU5ODY4MTFhNGU0NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZU1hY1NoYXJlZC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVNYWNTaGFyZWQubW0KQEAgLTE4MzIsNDMgKzE4MzIsNCBAQCBTdHJpbmcgUmVuZGVy
VGhlbWVNYWNTaGFyZWQ6OmZpbGVMaXN0TmFtZUZvcldpZHRoKGNvbnN0IEZpbGVMaXN0KiBmaWxl
TGlzdCwgY29ucwogICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKHN0
clRvVHJ1bmNhdGUsIHdpZHRoLCBmb250LCBTdHJpbmdUcnVuY2F0b3I6OkVuYWJsZVJvdW5kaW5n
SGFja3MpOwogfQogCi12b2lkIFJlbmRlclRoZW1lTWFjU2hhcmVkOjpwYWludFBsdWdJblNuYXBz
aG90T3ZlcmxheShSZW5kZXJTbmFwc2hvdHRlZFBsdWdJbiogcmVuZGVyZXIsIGNvbnN0IFBhaW50
SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpIGNvbnN0Ci17
Ci0gICAgTGF5b3V0VW5pdCBjV2lkdGggPSByZW5kZXJlci0+Y29udGVudFdpZHRoKCk7Ci0gICAg
TGF5b3V0VW5pdCBjSGVpZ2h0ID0gcmVuZGVyZXItPmNvbnRlbnRIZWlnaHQoKTsKLSAgICBpZiAo
IWNXaWR0aCB8fCAhY0hlaWdodCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgR3JhcGhpY3NDb250
ZXh0KiBjb250ZXh0ID0gcGFpbnRJbmZvLmNvbnRleHQ7Ci0gICAgR3JhcGhpY3NDb250ZXh0U3Rh
dGVTYXZlciBzYXZlcigqY29udGV4dCk7Ci0KLSAgICBMYXlvdXRTaXplIGJvcmRlckFuZFBhZGRp
bmcocmVuZGVyZXItPmJvcmRlckxlZnQoKSArIHJlbmRlcmVyLT5wYWRkaW5nTGVmdCgpLCByZW5k
ZXJlci0+Ym9yZGVyVG9wKCkgKyByZW5kZXJlci0+cGFkZGluZ1RvcCgpKTsKLQotICAgIExheW91
dFNpemUgY29udGVudFNpemUoY1dpZHRoLCBjSGVpZ2h0KTsKLSAgICBMYXlvdXRQb2ludCBjb250
ZW50TG9jYXRpb24gPSBwYWludE9mZnNldDsKLSAgICBjb250ZW50TG9jYXRpb24ubW92ZShib3Jk
ZXJBbmRQYWRkaW5nKTsKLQotICAgIFJlZlB0cjxHcmFkaWVudD4gZyA9IEdyYWRpZW50OjpjcmVh
dGUoY29udGVudExvY2F0aW9uLCBGbG9hdFBvaW50KGNvbnRlbnRMb2NhdGlvbi54KCksIGNvbnRl
bnRMb2NhdGlvbi55KCkgKyBjSGVpZ2h0KSk7Ci0gICAgZy0+YWRkQ29sb3JTdG9wKDAsICBDb2xv
ciguNWYsIC41LCAuNSwgLjcpKTsKLSAgICBnLT5hZGRDb2xvclN0b3AoLjIsIENvbG9yKC41NGYs
IC41NCwgLjU0LCAuMykpOwotICAgIGctPmFkZENvbG9yU3RvcCguNiwgQ29sb3IoLjYyZiwgLjYy
LCAuNjIsIC4zKSk7Ci0gICAgZy0+YWRkQ29sb3JTdG9wKDEsICBDb2xvciguN2YsIC43LCAuNywg
Ljk1KSk7Ci0gICAgY29udGV4dC0+c2V0RmlsbEdyYWRpZW50KGcucmVsZWFzZSgpKTsKLSAgICBj
b250ZXh0LT5maWxsUmVjdChwaXhlbFNuYXBwZWRJbnRSZWN0KExheW91dFJlY3QoY29udGVudExv
Y2F0aW9uLCBjb250ZW50U2l6ZSkpKTsKLQotICAgIHN0YXRpYyBjb25zdCBmbG9hdCBkaWFtZXRl
ciA9IDUwLCB0cmlhbmdsZVJhZGl1cyA9IDEyOwotICAgIExheW91dFBvaW50IGNlbnRlciA9IGNv
bnRlbnRMb2NhdGlvbjsKLSAgICBjZW50ZXIubW92ZShjV2lkdGggLyAyLCBjSGVpZ2h0IC8gMik7
Ci0gICAgY29udGV4dC0+c2V0RmlsbENvbG9yKENvbG9yKC40ZiwgLjQsIC40LCAuNyksIENvbG9y
U3BhY2VTUkdCKTsKLSAgICBjb250ZXh0LT5maWxsRWxsaXBzZShGbG9hdFJlY3QoY2VudGVyLngo
KSAtIGRpYW1ldGVyIC8gMiwgY2VudGVyLnkoKSAtIGRpYW1ldGVyIC8gMiwgZGlhbWV0ZXIsIGRp
YW1ldGVyKSk7Ci0KLSAgICBQYXRoIHA7Ci0gICAgcC5tb3ZlVG8oRmxvYXRQb2ludChjZW50ZXIu
eCgpIC0gdHJpYW5nbGVSYWRpdXMgKiAzIC8gNCwgY2VudGVyLnkoKSAtIHRyaWFuZ2xlUmFkaXVz
KSk7Ci0gICAgcC5hZGRMaW5lVG8oRmxvYXRQb2ludChjZW50ZXIueCgpICsgdHJpYW5nbGVSYWRp
dXMgKiA1IC8gNCwgY2VudGVyLnkoKSkpOwotICAgIHAuYWRkTGluZVRvKEZsb2F0UG9pbnQoY2Vu
dGVyLngoKSAtIHRyaWFuZ2xlUmFkaXVzICogMyAvIDQsIGNlbnRlci55KCkgKyB0cmlhbmdsZVJh
ZGl1cykpOwotICAgIHAuY2xvc2VTdWJwYXRoKCk7Ci0gICAgY29udGV4dC0+c2V0RmlsbENvbG9y
KENvbG9yKDEuZiwgMS5mLCAxLmYsIC45ZiksIENvbG9yU3BhY2VTUkdCKTsKLSAgICBjb250ZXh0
LT5maWxsUGF0aChwKTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174619</attachid>
            <date>2012-11-16 00:11:20 -0800</date>
            <delta_ts>2012-11-16 01:44:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102149-20121116000916.patch</filename>
            <type>text/plain</type>
            <size>38039</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0OTA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzZlOGRlMWVhMWJmZDBl
Mjc1OWVlMDRjYjYxMzc5MDYxNTdlZjVlNy4uZDA3YTliZTk4OTQ1NGRhNTZkMmY5OTM2MjBjMGIx
ZGU4NTFkYWY3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDEyLTExLTE1ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBDaGFuZ2UgdmlzdWFsIGxvb2sgb2Yg
cGxhY2Vob2xkZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwMjE0OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTI2OTU1NjY+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSB0aGUgYnV0dG9uIHRv
IHRoZSBsb3dlci1yaWdodCBjb3JuZXIuIE1vdmUgdGhlIHRoZW1pbmcgaW50bworICAgICAgICBS
ZW5kZXJTbmFwc2hvdHRlZFBsdWdpbiBmb3Igbm93LiBFdmVudHVhbGx5IHdlIHdpbGwgd2FudCB0
byBtaWdyYXRlIHRvIHVzaW5nIHRoZQorICAgICAgICBzaGFkb3cgRE9NIGluc3RlYWQsIGFuZCB0
aGUgbWV0cmljcyBvZiB0aGUgYnV0dG9uIGFyZSBuZWVkZWQgZm9yIGNsaWNrIHBhc3N0aHJvdWdo
LgorCisgICAgICAgICogUmVzb3VyY2VzL3N0YXJ0QnV0dG9uLnBuZzogQWRkZWQuCisgICAgICAg
ICogUmVzb3VyY2VzL3N0YXJ0QnV0dG9uQDJ4LnBuZzogQWRkZWQuCisgICAgICAgICogUmVzb3Vy
Y2VzL3N0YXJ0QnV0dG9uUHJlc3NlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIFJlc291cmNlcy9z
dGFydEJ1dHRvblByZXNzZWRAMngucG5nOiBBZGRlZC4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6IEFkZCBidXR0b24gaW1hZ2VzLgorCisgICAgICAgIE1haW50
YWluIHZhcmlhYmxlcyB0byB0cmFjayB3aGV0aGVyIHRoZSBtb3VzZSBpcyBvdmVyIHRoZSBidXR0
b24sIGFuZCB0aGUgcmVjdAorICAgICAgICBmb3IgdGhlIGJ1dHRvbi4gSWYgdGhlIHVzZXIgY2xp
Y2tzIGluIHRoZSByZWN0LCB3ZSByZW5kZXIgYSBwcmVzc2VkIGJ1dHRvbi4KKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyU25hcHNob3R0ZWRQbHVnSW4uY3BwOgorICAgICAgICAoV2ViQ29yZSk6
IEFkZCBuYW1lZCBjb25zdGFudCBmb3IgYm90dG9tIGFuZCByaWdodCBwYWRkaW5nIG9mIHRoZSBi
dXR0b24uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTbmFwc2hvdHRlZFBsdWdJbjo6UmVuZGVy
U25hcHNob3R0ZWRQbHVnSW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU25hcHNob3R0ZWRQ
bHVnSW46OnBhaW50UmVwbGFjZWQpOgorICAgICAgICAoV2ViQ29yZTo6c3RhcnRCdXR0b25JbWFn
ZSk6IFJldHVybnMgYnV0dG9uIGltYWdlLgorICAgICAgICAoV2ViQ29yZTo6c3RhcnRCdXR0b25Q
cmVzc2VkSW1hZ2UpOiBSZXR1cm5zIHByZXNzZWQgYnV0dG9uIGltYWdlLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyU25hcHNob3R0ZWRQbHVnSW46OnBhaW50U3RhcnQpOiBEcmF3IHRoZSBidXR0
b24gaW1hZ2UgaW4gdGhlCisgICAgICAgIGxvd2VyIHJpZ2h0IGhhbmQgY29ybmVyLCBidXQgb25s
eSBpZiB3ZSBhcmUgYWN0aXZlIG9yIGhvdmVyZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJT
bmFwc2hvdHRlZFBsdWdJbjo6aGFuZGxlRXZlbnQpOiBSZXBhaW50IHRoZSBwbGFjZWhvbGRlciBp
ZiB3ZSBhcmUKKyAgICAgICAgaG92ZXJpbmcgb3ZlciB0aGUgcGx1Z2luIHJlY3QuIFdpdGggYSBt
b3VzZSBkb3duIGV2ZW50LCBjYWxjdWxhdGUgd2hldGhlciB0aGUKKyAgICAgICAgbW91c2UgcG9z
aXRpb24gaXMgd2l0aGluIHRoZSBidXR0b24gcmVjdC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clNuYXBzaG90dGVkUGx1Z0luOjpsYXlvdXQpOiBDYWNoZSB0aGUgcmVjdCByZXByZXNlbnRpbmcg
dGhlIGJ1dHRvbgorICAgICAgICBjb250ZW50cy4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
U25hcHNob3R0ZWRQbHVnSW4uaDoKKworICAgICAgICBSZW1vdmUgdGhlbWluZyBmdW5jdGlvbiBm
b3Igbm93LgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5oOgorICAgICAgICAoUmVu
ZGVyVGhlbWUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZU1hY1NoYXJlZC5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZU1hY1NoYXJlZC5tbToKKwogMjAxMi0xMS0x
NSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBDcmFzaCBhdCBX
ZWJDb3JlOjpQbHVnaW5EYXRhOjpwbHVnaW5GaWxlRm9yTWltZVR5cGUgY29uc3QgKyAzOApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUmVzb3VyY2VzL3N0YXJ0QnV0dG9uLnBuZyBiL1NvdXJj
ZS9XZWJDb3JlL1Jlc291cmNlcy9zdGFydEJ1dHRvbi5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjc0OGMxOGY1
ZGFjYjE1Njk1N2RkNGNkZjM5MjRlYjM1MjQxMGEyMApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwg
MjAxNwp6Y21WPDcyT2p1fFApPGg7M0t8TGswMDBlMU5KTFRxMDAxWmUwMDFabTFeQHM2alErVDcw
MDBONU5rbDxaU1A4WTYKeiZ1ZGchN1JUI1ZEd14xRmo1VllvbFFBe15oLWktc2pmI3RHMClxPVRM
UjMpUElLciN+O3pCcHdxOHFXKF95PVN1CnpDYHtzcihqY18hTWhMPyZxUC1ZckYoRD99bGdNUCtr
UEs9UGxUYEtoXllYc01lYjFgMkhhJUJmbyU3RTlwNkB5RAp6KyNtMWU4QzVFa1QtWGpBSUl3Qmt3
cnpiNDRHcTBmNm1fVi1DRzd2RGI7V29zJmRLSEY8IV8lb2QtbkNDTX5+KmgKejc/QmVjRnpWfjtK
S2ZhT15tJGByVl5MUjVydVlnU0xMRlopPF9QPUgtR2AqciFlaXJGVDNYNX0kKGM4QS1WRUhvCnpl
fTcxfXhOPm9WQjhYMCRJQmBrSV57LXBFRXw8XmVXNVZuWUpgUEhzYj51SjYlSD93SS1NZT9XZ0B1
S3x5TGF6aQp6QmdxMjlNfkB5b3k/KmBySTVgS2M3Y2hDU3haQXBBSilhTT82UHA1d3VVfFFoJWtS
KDh7ezh6bT9ieHduTUFhKjUKei1sZSNsdFNkdyF3eHhpe2pyJT9ucFhJUFdsfmZnSE1uXnxgQD57
bFM+MHsyMzkzMzx5N1lTTHFOfHdmMThmT3skCnpWJmdKNFJgZTZ2Jnt0TWdzPHVMKlAkVzBXTE45
WUoxbEo8NEVpM1ZSYH1TP3Q5TiV4KXUlWEl9cDxHX2taPEkoWgp6KjU5QVE8VjA9LUohdUVmdXJs
MCNPdjg2QGFQWXF4Zz9RenU1PmJERGVfTChOYTlndShuVHw/c0ItcjlQbGtSXjEKemopMHlnVks0
UyN2QUU+YkA2aVlgPT1KPUtHZEQ4UFRqRXVXPEEpTHU5T3N7RTtOVyNxPF9+Mzw1TyNCaTUxMnxZ
CnpiVmtvTTJYJj5+Pys1Z35yUnxuWnp6PUE8QzRRbUtlSmE4MTY5S2pqYXhNTGU/I3RTZThYVGsr
c2NtNX1ib3NBSAp6PTlgPEZCT1dzMyRFUXxIeSlzT1E0MFY9MiQoPWZOPmdtQ1EybWkpeXxGSTFw
ZUJxZCVwUmVlKDdFP0cqSi0hMEwKeipKQE81YWRFTTc9RkZMPStURHg3d0BNJEN0JjNmc1J4YiM0
RGxJSDtofCFBfEZMcjlCPWs/WmxkaF9QWi0pa2h8CnpPNGZAe1pnQi02cyZfJVlja2tZUmt7bTw/
NyNKOU1DK0Y4QlUjfmY3ZmBHKmJVK3szajMzdDc/X1JwXmNVfDk1KQp6blluUGAhc2FsTSsxYzRR
eD9kKFomMUNVU0A/JX53KHc3c1REZztpciF8N3JrYHkkdHpnT0h5KmQyKSgzZzRAKjgKeilES3Mj
VDxLQ1pURDgtcy1XMH0hNXt3ZFEjUnAmYSEzajVXRi0kMWIhS055UjBSU3l8XjJILVpqe0dfe0J0
TXJnCnpVdFUmbm4rYUBlKmwqb3xtPEdhZ1pON0JyKCgxfWNLeVZBVT1wLT9Sb2FsQXVBV2t+dmpB
PXF3LSRQSEhKUTwmdgp6bmR2NT02Uj5uKnA+IX1MSntzbjNJRTtiMnRFKzN3MzdYM2lUd0ZuJkhS
Njk1Jn1lfTY/YzB9bjteRT1waVpeTDAKejt8cHhJVlQpUDghS3FUPEpOJWQ3NmorT2V5KWt6OHE2
PkxmSHxtdkR6KUdZXkZCUTM+bFpURXd0TlRiMmVQVXZ3CnolXk5IeFp7a1YhYEApTW5rPkRxdU98
KnI7JmQkejhDeHFRZThrMHtNe0Fga3lhd1hUJShlYTZhTk51cEs7a308Ngp6c2JQdjcydEJUI3Ml
Sj9iM0Y+SDs7dmZjbiMjeCQrKEBmaytWOW8kazhfOGcrckI9RF8xQH18WHoxa288Y0k7VFkKej8/
Vn5sKE1kQVg7cy1PJTUpNjgzNl8tXnRqN1lgSU87MW0hUE5MY197enR6cmxqei09PEk8YTxEJCRK
I3I4clc1CnpSd35CND1RVEtVVEYrSn0ySm5OXml4KTJ6c3xHM0N3e1FPcylwRTEkO2xPVTJGYDtE
WmYrTXMhaDcrO2BnSTslPQp6VkpKcE1NJmQ8ZUxUIylPSjNvJEd0NWFmQ2hQd04rbER+YzdGZHZj
XyNMOG0xcj4kQVJ2OVlsZGR6NzJMSSY5TykKemBIXmkyaHNhbXdFOyFybFZ+RyNHYUQrQn1PKD1Q
WVo0WUl0Zl48fGYqQVI9ZWBRRSpJdiFUUUY+KD5qaVBiWTdoCnp4VTFJRm4rRkxOQU5lK2hUPjln
RGp1QF5XZWZCZGhSWTcrbXhqMFR+Yk4tRF45bzFvSloqVHdmPmVaYGJ2UTNNOAp6JXtqKz4xT3Ba
eWBCd0twSUIoeSstTDZJQlQmbEBBSnt8RXNYaFQtIWJ2aERKPiVkbjdzVmE3TmNiOUo1eEd+a3oK
eigoLXA1V2FHfmpSTFA0NG93LVVNNy0zKUhRX1YhbXdRSlhBZz1yMGttLXNhMjBiaGZAV2NeOCVp
WkBSPiFnQkxnCnpmI0NWYD1XUk0xZTd8U1VvfkQ+VktOfmwwe04odVk8RzxSeWQtciFRVSVuaUZf
M0c3djB4cWR5dVo1bDV4cFVffgp6Jll3VTN7a2UxSk4/YDRXUk9NekxKYjNVSylxfiMmSVgwM2V6
UGFlfDtscUVgKElAcUVhaiQteWFQc0E4YFJ2KVYKenxJKDI/XihIWChMKj54VyhDbj5Td3w0M3dY
ZWw/eEwoPXItZGFlcD9KdGczJERQLW0qOEhXN2gkQil+enZqMlZQCnooNHBwVj9xdUxLWnh0LWtK
ZT5SSCE4ZX4zOFZkUHJhIzwmbVIwU3MrTn5QY1pLfVZ0T0VeNyEzT0hQdjlZaCFLRwp6JH1VVSlW
YmB1KiVeYWlGWU5+Izg9Z3lydW9nPDYje1ZqPnJeOWtjSXxDSGMmUUV6WVdBTjUtTHZRfFhea3Iq
OzsKekVDTWR8RW9jdEU9O2BUTUR3UnM+d012YDhYLT57LS1ZI2tyWnF6PjRzY0pObFJKTGthZSNi
Jkd0K2RGI2gha01jCnopfiNEZHZgfnQ0ZGB1JCU3c0tIVGU9NlklJlkjMXA+ZGxPZ2tONHk/cns8
TEhmY0c+OUxlZVpsLTU4UV5XZiVkUwp6a21KM1J7Z1pxOE5ZNDE1bEVtUEY4NjkjV3g0Mnt2QTNo
d0NWVVYoQkQteDIxTnJybGVTeFhPbkxmdCt8Vmhyc2QKekllfCVpTUF1dzh0KjRKYXFJKzFWKCpM
dU85RjQtTEs+UWd4cHQrbT1oI25ATzxJcENaYXtIODZ1UChrRio4T2g/CnprfCUmNCFuJVdveXRW
WWl8RiFVd3kxdCM5b2N4KyQ0WTVCMDYlc3ZwUG52QWswMDAwME5rdlhYdTBtamZTdGE/PgoKbGl0
ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUmVzb3VyY2Vz
L3N0YXJ0QnV0dG9uQDJ4LnBuZyBiL1NvdXJjZS9XZWJDb3JlL1Jlc291cmNlcy9zdGFydEJ1dHRv
bkAyeC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMGRhNDQyMWJlOTEyNTA2MDRjMGUwMDcwOTUzNDczYTgzOGZl
ZTM5YgpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgNTMzNQp6Y21WO3w2ZSNQN1ApPGg7M0t8TGsw
MDBlMU5KTFRxMDAyK2AwMDItMzFeQHM2anVHOyQwMDAhOE5rbDxaY21kVSYKelheZDZYbWRDNT03
RlktPFZrNXtYNHd4djlqdFc3dlpBKjxxNk9EMDUkN3VBVXYoZHokd29ePExwTjFHP2pLPXVVCno9
a1I8Vm8qel5rSSE+P1NmU15nK0szaT5sRCMpWDBYeWg+I1AoJU5KPWlkS2ktT1Z9WS1kaHlpe1dk
d1opPihWNAp6e35GSFRgfE53cHQpZz5pWHNEeD0pflAxRm8obkkkYU4kNyo5VyttO2xYTzEwdEUr
M2dGekVaTVlzejcwYUJ5JnwKemEjJWt3RnRCMFF1M2NaZV9TJFBKbHRgYSlZTjtAdCZHaDc/dlV1
XzBgUXlmb3lTbDU9KW0hUFJPZFJUe1ZNOGNnCnpPUmsjTm11b35rUEA0SD5GKlprVFR8KSlrKVpn
RiN7KzJDVWUpSU8qWj9CVD9maW1tRDB4RjVsdig3cWUmY3VsbQp6bXk4fWdkTkNsblFyU19kUk8m
byhDayk/Q09BNz4hVyRvWTs9XjZgfipZS3g7V25KaX5hTT9MQiZVZiRMeT9vUUEKelAwUVlVQDRh
dHpvKHF5Jktta2BTeTZCPlI5Nk5VR1FXZFItIWx7VEk2Yj45MCV6T2NNcmVfX1pHO2pVMVV9PUF2
CnpeaG9RY2M9a3NESEp2KiZ0O3dOcD4oO0lKeSF6Xl56Ziprc2pLK05tRDElWCNUeW5gal80TT55
UHZKKDU4cjlMPQp6LUVIaHIlRk4/QiluO0l3JiVicyNQK2t0SUdxfTFtU2VCIUhwaGIreEokdj9L
cXE0OEJAMG5MI2RGOXRDOy0yV1kKenApeDk3Ql5GT05pfjRBYk0mfGImRzFWenBUXk9xKTRqdyZQ
KEd7PWI0T1UwQGtaOFJISG5tVXZyflAkfDhxLVdhCno/ZjFaO2tQSWwqaDgmaGt1UmFwJTF5bn5U
KF5mXmhvfmNVbFhiITN0ISMpSjNac3R2XkJhKSgySElRM29uQEhebwp6Tn5gTWN5I1BAK2tHRWdi
UkhxcSFVT3o9LUNOaWF8amNXOEMoKStEXldRb19PQFkhZGRlZiR3ZTlQeCZWKk9SVnkKejRrJmV5
MjYmKilpTmk3QSVSSUR8KX48Y2pYRlgmKFljJSQ0KnMkUnItaEtEb1p9OGQwNCtUJjs/NkFYQGFL
bThECnpWKzdYWmJzQj5PSVBYOWljfk5zOy1CJGFiakVDMHRMWiVWUmBZe0Y8JWB7SXglOEZ0dGxO
JWUjTmFTRkVRN2clXgp6QjR0emZ5enxiUnVnPThgUmZefENeVDE7dHo/fEVXYEtYZyhIMXhVRkhS
fEctVmpLMCVvMko7VT10bz1ncmc/WiMKek1nYlgjKVFYeV5aJCsxcUA2PmtYWUtuKEtKSSMpdmsj
N2clSzxhdnIyYVd2eF9AcVlFaWtlWTdEJUstbUZRQU0qCno5SEJyblp8QkdAJWo/Z0tOYDVyNlpg
Tk18byFfTjJ2ZT5LWFJDTk9IVHcyWUtfKkFwKCgwIXM7ZklYY1RUeVIwfQp6QSVgNkRBfiVrOU1f
XylgITt8alZ2NztAK2dBWUVxc3M0eXhrZVd4ZkhUc20mcF50bDRjSWw9dTQ+XkA+KjVXa3YKency
YyZkPnFPbzxRM2xfdjhMUDs/U153WipiLU09VEs7SmFsSGpCZ2t3JjVJfStJNEglQD5DQCZBVkxa
bTczcXR1Cnp0U3s9cGA9WGVaO2spbV8yT3IkNW5jJis/MUVqOGU9ZV9zZEpFMWBzUDheJFF3V3w/
SURIYi16Jn1pU05aWEtsNQp6dTNMaTEoSUUxVHJwP2M2WW5vP0spO0JtYiptMlpSTkExKmRsQUVU
YzRieC0tN3spUXBeVkxqZFRUfUVTVXR9SyEKeiNOO2tqYVhnQX48Tjt6SlEqX0sxXmBvPDJFd15t
TmgkOV9PR2QlWWI1aj9mKSkqWXltI256cHNkMTFUcXJzJjRQCno9aD9JPkdnZFF3JENweTxAP18y
TSh0Y3k0YT9ZSk1sIU14cFp1fEB1WClJVWBxejtfdHY+bG9Ldn0wNEkzdG8magp6KXBaezx1UXtH
YlpCeVUrPFFaQlA0UCE4WDd8NHxWXlo+XmdrKyl1eXI5OV8odHNPaktxZDh2bG5YclcpX1RfazsK
ellzQVkmcGNWMms0TUx4Sig8cDxGNCVgPVlFclpoQjJqIyVObTFnfmo1JjRMbFYhQUkrS2hKbE96
VTV0SlFiNWExCnolZlFofDR+RG9OTFN+MmlxS2BhMFBtOD1oJVZJcHteWURAM3BUfCY5Jm9RSmol
VDRxODlmSyk0LTV4Y1puRDxxUwp6Rzg7dSZxKSNDbkkyaTJPZEE/WU49ZX4mRkUpTkNgaWh0dHBm
cSZtRGl9RVlWJEc5O2IkMisxVTVDO1V6bTR8OVcKenlqd3dTPEQoQTtFaWFnP3FlLTgycGtOcnNI
MV9rdnIxbX56bj81YjxqeG0rbDg+PDw8ZVdCTHtfKChNWGNrYk1vCnpDOHROPSt3Wl5ze2BGVH1h
bUJ4YT8tNE9sektVPiYwYmV3SC0qP31BPnhtYENSJUZ8Km9aNXdGNllaS2U+TmBOQgp6YGs9cGcq
fEtHU0lwS3M4RHdraD1gUnItYXJtYU5vWCRebE04Wmp7WFk1MnRWaTZAPnxBckBqbiZJS04rTEJv
PFQKekFfYV9yPnRvcFZyQXdGWW1eeVZUQG4tR2VoYWFBKD5IS0goY3IxUlA4cmI7MjdlNEtXU2Ny
Kyg9cFUmSVNzI0liCnphP25nOC0+bCEkUXkqPmlKbitCK25gWHxPblBLXmR6U1NgMSZPN2cxRTFa
NmtXUEt7YXdAbmRzRVJORkAldnU1YQp6QDRELSp3Zkt3fSM2KWFiNlpjQGxqbUBedSRsRVQ7QkpY
fV4hdzhIQGsmZ3hgPyokd0FSYWFmTD1KP319dWY5LTgKejZpK18rPFl9aiRlKT1iZlUydTUmTnFO
cTVUaTdidm1YUUReNElkfCtia2VqdVRWbEtOJH04N2skNCFtY2plKSotCnpYeW8mLUVOaSQ2VFVi
T1JENyp1UXBFR0M5PldlU0Z4VG5ZI2BFOXF8YzljZk8qWFRScEdYMT4xX3xEa3pfXnY7Rwp6e1A/
ZiZrIU5RYUYlbTFiaktYJS1MO0hqSkM+Pz1URzk/SWpIP0tMRzdKWnRjKWZkVWAlJUtXKW0pNTdQ
YmIlQTYKemE+VUlzRWZpNHoraUQ1ZmlqUDkmU19pUWJHamA8UVcqbGhWZnU0MTJsTkhkKWM/d3BI
ZWR2NFkhc30pOEk9JCt2Cnp6cGFscDx+MyNkdUQkbCF8Tjc7WlVsdChhNkBvWG0pPTdpMkpmJCZT
SG90Nj1wPHY2JGRWSGxlQHRqelJJbjR1fAp6dktaVkt7Zztsd0dDPFo0ZmJAM2lGV1BVRlBGP0Jr
eTVXVyEpQHxPcmQ2NSZRYz5DTCY1U1NXS1NyTyZxRzxATisKejQ0O15aOVNtfXo4NG51eUdNeEhH
eD5XLV5eN1BhRChUeGd6QDRVfE9fVzB3RWY0eTx6Iz8kRj9xN0txRCRFO0xACno5ZmRSMShvbzA3
N2UzMVhpMjItZSYpdFgpMUB1fTdVYUprOChxVWpRRDJMWUBGVFFNQkYxX145YWIqc0ZSe1ArQwp6
NUI/NHZybWJ3cylaNk15O3slJXVNOGhZKCVLJElDPzZQcz5mUjBDRClLQnI5emJVJDwxJm08dVR5
WXd9QFcmbEAKeit8Um5KN09zOEw4YDdSXksrfD02d3JqNlZUa0pXRWxgJUQzXkZgRWxecVlAKF9K
aHk2QDRrQ0xlVDc0Yyp0TkNFCnppY0M/T0hSbGdDcEIyeW5xJTtPOzl2JHpXXm82OS07cT1pKkFB
UGxiYH1SZkhGdlgwS0c1VWVyR0kkNSZ7JnVQSAp6QENDMjt3dT9VZ19+VTtzIXxDbnF0KUxya2lr
dXRFKU56X3hVT0VEOzFVMnVXdH04cnIrRyhlYUUoYDlabXRNKygKemlfXkMzTnwqSVRLYU5LYXRG
cE1Ee0cma2BnfXpgZnpXOEVral5zY3RuUWJ4KG93Tk8rVjtNWkg2eDwweDt7bktfCnpoYVMzN2Nk
XjI4dVI/RUl2dTRlJig0fk1SMSVfJEZ1NzxMQWlTVChJWkFpZjBwXj9gcWUkWFdiViMmaW9NaEBm
eAp6LSstPDI3LVAmSS1uIVcqNWwmS3RYYmlaVTRmTyMlK1lub3gobF82SF5HfWpaQWB6eCQ5JHAr
WjhzcWgjUW1wamMKekBnZ15Gc15nMCQtOy0qd3EkPjR1YXhyR0MwfTRnPkhaQzIzUipLWEcpRDZW
ZkphKlVsND9wfWNuLSZ6JSY5PX50Cno3bExXKz53IzdzNzlGVTRsPl5GPWpkczFQY1B2R3EmYypR
Kz43e2JrUDJMTTxVdjZYc1dKeiROdCotNTxlIzEhOAp6XlMwOVVQZ0FHIzJEMS0xWmRLVDM0SVNU
WCV0eU57an5ZbShDcklzUE5ASk5pWkt9UXNRUU19dTRtcDg8WFA8TykKemZ2VUkwOU9YUWIxQkdl
fVAtP3F2K3FROWJXOy16UmN3fHdZPWk0JFRWU1E4Zz1UWkhkTGdgKzB7SjhPQHhmcypGCnpwZDFY
byV5NGkocWNENiF6VVRAZ1hWX0FDRXhlNHQtM0N2b14hfjs7WGBqeXQhVVo4MWFKNU1mNTNIPE5y
U3YpUQp6WGp8bVJhJDsjallDT3xab1lCKyh8RT5jWChGZjtfKXdzd1NEdnRycEgwODYteSp+O1FN
TVh9c3teJT9YMikqY3cKemJBM2pnTEx6ejFNYjdJKG1XTi1uRFVEVkJ2VkxAcGxRQV8rXkxlelBm
TyFnMD00NWZDTz17dWohJHUkNXcpaTwrCnpFUW0yOHU2Wlk1WUkmcncmc2U3RE1jJXJecU9QJEtD
LVRqNXY5N1Y5IyU/R2U5Z0crJitSIXdQQ2FvKHghWUV2dgp6Xnt2KyhlISprPWx0ekRnYjV7M2xL
UD5GfSg0P1EkblBERTxQOXY1d3thUCt7bTlxUkR2ejQ+Q2czdn4kUiFGSHcKeih+bSM/U1VMaEhP
YDViNUVVdUxDUXxnTmFqbEFgOzg9XjM+YGF4PVp5PGZwKXZSYVZsLUVaSC1sSTlXNSRwc3M3CnpH
ZSt6JDt+TiRtOCNAM0RFaT47I2ZCTmFDMkhWdCQ5Jj0/NjhNeF5iSERlZH5FMyZpUCgrQz1RX3VL
ZFI9YnZBPwp6WEg5YntpWUc3TGg3c3VFY3RqOGdkfjY8cCtVSTNvJSMzfUpAOXBoOVNgSWh4KipR
OCEje3M2KWVhNEEpc1Y/VmYKenlpbz5eWnh3ZEtuUDs5aytuOU5qVCtydiFpIXEkSFhgVVVyNEtJ
fXQoNGErIWdWeWlTOS0rbXphMUImMjxFS29TCnpAPDtHSUleZkclPmZnU2dQUTxoZmhkeihLJCYp
QWxreXdpSyQkP3p4SCtFNihzVGBacVheMkFGPl9oPCRlKXtSQgp6KW8wPFVRdGUhaSlfSlR4JE9H
NnxvQzVXSSNMKmA1UipiVTkoX2VkOEc8ZWZaSDxkb3hDa0p4RCM8e19fK1VpcmQKelJSaT9BKmUr
a2J5bSowPS1odUBTZXgoO1V8SDI1MlpAPTJ7SDVeQGg7WndoRHt8OTB5IXlwSFdAMT8wc0h9PzYw
CnpXZCZAdkBfdylKLUZNJGoqR0lPKFheZ3slOShzc0h3MiEzaEd6SyEjSmNhQTstPWwoYl55eWI3
TkBwMGNsTFB0dAp6UlkwcnB4TXJteiY8UjUkWih8anU+LXAhT0ZNV2tMZC1tKk8mcEdGdUh3ZXQl
KylEOVU0WjR7Z3hWKjN6PXtXMUcKemJLYnlybkdMYSUxM0p6cj5jXlpUa0ItbWxSfHI5Uk04JVol
a2s9SExyZE5yanF3eDBJWihsSEQjKkRZWFV+X0hmCnpvWDJMbDxEayM3JGgkdk1NcWFnZUxtbHxT
WFQobDxWa1VPdiZMIWc2dVBKKXdPKjMxNTQ1eFg+Pms0KjFfMCZfUAp6cWZsNDM+Kj1TVG9+Xkgj
ZVMmajsjQig2ZiRVQn1XaUBmX3lEVntPJGZpSFp6S2FVYkt2RDQ+Vl43Tlg/PmhGYjcKemo2dVN1
TjdQfSsrcCU4VSUreGN0KHQhMWpWJSpDd3pkVWpKXnl6UGNPVHZDVj5MQTxran0zKGIhPW9CKGVC
akhOCnpkNlphKm5MaFNAPFUodUxLUV5VRnFZenVfeihaZGYqM0wmQ2VSUjxNKEkpYUZfVXlDSSZl
YVI7LXooXnlZOz43Kwp6djUqbk5pOXNXZWomMGZSPjNwWncrMjRjUnRhI1d5XjJqNFkjMDtrTlZ+
Q31eVn1vKlYwVl91emVlfnI1biQtQEYKenkkfUVnTm9YQFZVZilnbVcjUGh3cjU4b3xvcTd7Q1VC
fHpEXjJzTkUoeXpKQlIzS2R4Z24mNUdXO3JeVmNHLWJYCnp3U21KQUttN2cyOSghel57dl80a2Z9
UHI/PVRBUVFXZERqNEUyYmw3MjYrJnFkZDwjPk1NZUNucTVNPnA3QCMhcwp6V3BPYkRJN21uQFop
UDJQPzZJciRyPW0pNERxIW92OXJ3WnVGTFpxVmBSRClxIzFsXyt1VW9mbnVFYk81c30lPH0Kengy
ZDUyZEV9OHRldEdNeXhBeUNNaHVOPnw8fC15YV9JJClCQHNRKD1EI09YWVEkem9eOGh3OTFYM1V0
WmE0czZhCno9M1QobGZ0QDR3cndzK3h1a1IjcChEJFJPU0hWaDZzRVcyI1UmcnxGXzE5blQpTCtG
SXFtTmh6WWktTmNHQ2tfcgp6I3Y+e0hSZ3Blam9JIW9JSnl3MVNLYzN+ZWBzJUIlSStyWTJHRCZ7
MlUrc3dCNGxCeTlFUHZLcmpsd19GMyZgYGgKentie2o/ZEBFaVg9cSs+UyZUWHJSYHtUZE5fUkJC
NzxvQXBaUVBOezYzZE04TCVJd1BlVHRMPDw8dnpTXjFhPnIyCnpyVWtxPCV3ekFrPEJtejFHVyN4
UW5aXkkhNGBMdHxWIXxzaXhfRktvOGhKKy1Xc3dqNExseTFUJih9Z2EyakkzRgp6T0V4dXg+Z2R3
ZXRGeGp0UjQ9SHNQSWF3WngkO25iKW9lMzI3Njt3N2s2e3srdXg9T3dgbWB9cXlpKGx6Mmg8fHUK
emFOK2Arbn4yXiRmNXw+QEolSFRsK0hSaHBQI3dDQzlUb2pPbihvb3Y5aTRobEJnfj1ZWiFEajJe
VVhKUnUzbykqCno3KzB3NmgleTZ3LUZWfVRvbXgrNERBXiYzIzJwdChAOyo/OFpAME50OFl0YGVt
SCFPfTA/YlpZMGt0a1BZc0E3eAp6KVc3YkV7endofmJhJlBWXzlMJm0/eilhc1BkIzxARXd8aiNx
bypYTGtISzI7b3V7TCVSSlRUNXBTREwrTnNAZSsKelMpTl5LdkN7WmsmRU1Gdi1fV1V+ZGk3clBN
VnpwPjhpV0FOcjtoVzJGT3A/TFR9M3A4TW5iPEh2SCRzK1lweXdICnohaHtLPmtIZDtFUSNxZSZw
TF8xUFUybmJoKT5NQnlxZDRxcyQ7JWhHU3c1ezZsKVdlZUxvY0pRV2F5MDFSJVdIdgp6aD42Xlpz
Vj9oOVVVTUltaE1yfTRgaigtQ0xrPjMqSkxaXlVlJTEhS09LVzdlbypUOWBEeiNfdClgcXhXZkFl
KGsKemB8clA+NHo+I2ZIbkJtPTsmVUlBKStgX0VhfGFmYD43OTRwUy0/aVJQdE08JEB1aUZ3dTM4
Wnc0KHRlT3ojQEozCnpxZjBVekUrcTd1WkAhdVM/WUgwMy1LN0hsdz80fm0oTUBlPSl+czJod0Qw
VEkqR0lETj4qfjRQOV88VkpfM34lVwp6ND9xMFN4cHdXXkxzWT1TZytKJn4wfD5GWmFHY1d8R3Ja
JTAoJikye2JNcjwwPW8yQE1udSt2ZlV6SiQyWHdnRF8KelB3b3tHXmFCRXY0cGR7TDVUdVYqe2tU
fGhOKWp7WUJ4aVo2YypEezJed2w/U0ZWTz51NzFAeHxxUHQyUiVoUUNzCnpaYjJoSTlMTGR5TTE4
U1hjZSFYREpzdlRzS05rbChiZkRObUlvdSFwcTxxQVRlNSZYM3J+Xi1aNz1oR15ueFU1IQp6UEBN
eiVQYF55SGs3O1p9Mkw8SW9aVkkwczBOTkhsWlNJUzk9enZMNFR1NlIjaFZfXk5uYkozRWJvRmw9
Uj1RUWgKek5eUWl8SFVRd0hfKSFNbVpYKyg1RFdneFZQZDY9VW1DZmIpLUQxX01Sb3wrSl9mUzkt
c2Roez4xX3Vod3opJWkhCnpPakZ4RGB6cCVicEhWMEJicSNPWHBnSjwwOHFMIz52ZDl9UiVIV0Yq
WUMlbUhlYm5mU0ZUVGhZWmdBPWFsPHw8fQp6XnpUJV9YRTJCKChHRjlKTHoqMyUmeEhSRWV2Q3dY
VXtIJSVPYGY0Zmwyc0V8al9LcDkwZ2EkdnBLLTwrdFYhMm4KeiNNRUlfKExCMCo0dnVBK0xYI2lY
RXdzbENwP08tR3VaUD5qS344dGJiKVZpZXt4bSlocX1yQH1NcWRAPyZtaXlKCnppeEZ5YDB8OFpa
WFhZPlpFKjBPeUJKRC1xUEttflI5PnpZPXt2UWFeZzB2YmhkSzhUKkU1MSlwJkZgcz15b1RiRAp6
UWY+alc0dGJ3OVp7OGczJENqdmdpd1RDN2o+dD97YF9VfW12X0lQQkBvQj1UZVk1QCl2cSZGM2Ba
eT5XQk0pOWgKelQoMTQrR1MpbnU9Z3h6fDBAfUhQdUFGa3BEZjlLZl8zR3xYYGN0N3A5VFNWRFNl
bD9RT29fb2RtUFA3NUNAdDBCCnotflErZXo1czhOWlchPERAei14WWB8UHZmfDdRZF8mZDkxfntg
fm4xd1lBX2VgWG1KflMoR1FrVWJWI2pSVyhLeApwemF6cEVzU1d5d19Kd3ZNWlQpdWB7e3lpTipX
bHJfU0dORUYwMDJvdlBESExrVjFsaGgoblNDTwoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUmVzb3VyY2VzL3N0YXJ0QnV0dG9uUHJlc3NlZC5wbmcg
Yi9Tb3VyY2UvV2ViQ29yZS9SZXNvdXJjZXMvc3RhcnRCdXR0b25QcmVzc2VkLnBuZwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5kNTgyZWFmY2Y3YmQzZWE3MWE3YzcwZTgzNjc5MWJiMThiZmNhY2VjCkdJVCBiaW5hcnkg
cGF0Y2gKbGl0ZXJhbCAyMjgwCnpjbVY8RTJwOUs+UCk8aDszS3xMazAwMGUxTkpMVHEwMDFaZTAw
MVptMV5AczZqUStUNzAwMFFETmtsPFpTUDhZNQp6K2l6OVg3Ukp9VV5zLUFeMyNvO0kwJT9VdjFP
aWZzN3NPTmgyWTQoUGc5UlJ9I14/aG9OQ2FRUjJPZi0pczFNP1cKeitGLSp1SVM9cGBOSDlrTzQ8
dE41MHR2UTt3djtMcWx3TjV8X2pkZnxUSG9zMnlSR2A1dnpkRiRKO3hafF9+d3tuCnomYjQrRXht
KyZyVFhsOHlsOWVsMD96SChRbEY4KSNycHgmSGVfJVhqdjJHZ2ZuSlpWV2JQTm0oXiFZSW9CQTdA
ZAp6a19gPEZkckx9NlRGYzdIRHBSUmNLc1M9VXtvZ3Z5WDBya0RrQHhRMTMmeklBMkNjVzlLWSN3
UCYxVlZiMnRzYi0KeiMqTHFybXpPdFpHTVMqWHdBN0o8cHl+Y3JRaVdnO29TSz8pe3FFaG5rUEw+
MGhma2g2Y1d5VCUoPlFGe3V3Zjc2CnpEaz5AaCViQEVKUX0rSFRsOH5iKmxPIWFhYzlmY3AoXlhT
X2wmMG9adHk9WjZaTDc7JWFkRU5CLWZSUWBXTTA2NAp6YCVPQTY9K0VyJmcmZjROVyNAIXBUbUdf
ZmApX0tebmwtT2lSI3JZZVp7OXFZSWdEdS0oZzlGRnJ8PkA1OFg4aHIKekQzazxORlR9JV5UfCUj
PkAxYHJVcT5XaWQofnEmT01NWHQzd2lFIUdxKEZSMGFhK3lJdXB5OUBPfXJaKzRodiRACno7bGlm
SlZLVDc2azZrMzJhNylgbjRmfkVsJjBtcWBXfEkmbmRsZEhae35TKiRgXj5leCpwbFZJa3VASlgy
JlNfJgp6SkApNTlrYGJxeHcye2RHRnhOS3YjMn04SDdKd3YhNkI4M2JSYUk0MUw/RiZRTDx5dTs9
JnlONlZRVyFscFBCWUgKekR9Vl9pMCYrd085MilAV254RC1jZzRtKy15SENPJmdOMXp8clgjMlRh
JlQ3T2h4N3p4T2piMDkpWXgtekwoTUJOCnp7PjBGIW1BJmxyOVVDPmFJOXtPJCUwUTBEQCR2RCVF
PmF1anZVYSpzNmZ6QVJ5fDhJc0k/QkxtbUQ3PjUrRHZkVAp6KEo3fHlAQjc5bEx6NVY0akFacDNm
fXg/SSs+UllQZGVeVUNlYCNjN0IpblJ9cjsoMzZWKztuaGh8anVwPm4/I1kKekk1P09hOVVYUHAl
SSp4dVhkPHIkZUl0PSU8cCFRPmVXa1Q7K3R6Sk13PmBmdHlSfl8xanxFdCZFY2t4QDchMDxSCnpO
MD9uPkpxTz1FXz13ZWJHTVA/Wll4fUJnaUgjRTQzR0V2R19eRylKaWNGeWRvUnpPI3lTQiYzSiVB
SlZBMEdaTgp6VisyUTRsTDlOMDs3dnxXMkg0XypGRShJLTNBUWlfV0FtTXNvSn5SNndRXmg4O0Ns
eihUazVRJWtBYSY1IXhuZ28Kej48WS0mWVlZeEgpfkUyJUpRN1Q+JHU0JXtmbGd5JlQhVF9iUWEz
cDcrTz0hWTRuPSZkSXkqYzJfcT9eSStEPnU+CnpyfTxCNyRaVHZJRThnRHdiflYxPik0KiltKn4w
NzlqNGIrP0Yrb2l0PjE1RElQQ1diWFhXaUNAdXREKFY4KmgjZgp6UF9KYU9va0REZCRGNVNWRUNe
cldBZSowU2V0O08xMFNRcyZlNDgwSDJyJE42RD1TdjQ9bSVXdytmKDJFYzwwV1kKemhpdnVrZDh4
dCVjJi1MUDRneDstZisxVjU/ZGBwdlNpfmZATkQ0Q35Yd09JZlhqIXtEUD9FdC1uPk5LO2k+fjlG
CnpqdFJFYWYzYVlHJks3d21RXn15SHhYNH1iOVVVREx6SjBeU2hOS1JQdk0hUj9nI0AhayYtIz9U
V2tebTtQNlE3dwp6ZUs3QyROS2JjOUM5Q0YxSz0kVV4tazUtYCsxYzN9T2dmY3pUaXRXRHIhdjt0
VkEtLXxyRUlhdE55XjVaVnR2dHoKejF8O2NxYiMtfVFie2Ztc3ZnbyNPblp7UWMyYmB7cTZ4SjFm
d3c+ajFKUjE7MGVuX3k4QD1aJkwhYV93c2s/eTQrCnpLMTJ+eyZhYj1CQyk4fHlhJnpQeFd7cGZr
MnBlVHZHUXg3ZzxgTj50Z3BiTDVkPUh8YFRHblYmUT4tS2lkYXZ+awp6eHsydCtZSHRKcGIqMmYq
aXomWm5lOTBSK0ktMlp9aExMdzRUOHRzdElwZ1I5VFV1ZDtCNlMkSl5UKkQrQHFgV1AKej5nI0Aw
Pk5RVjJhIVBxUWdfTllPQT13ZC10cGBKTU5XfnlxRyFmR3tKUzFMTFdXZUAoY2x4Xzw4T304YlQz
VDkpCnp4ZV9SOUhDQTYjbCh0diZAWWk0X1F8YnVvQWp1OU5vK0BCeTRvTThacmlyaFBLTDMhfDFP
YWclZlpoQnhXSzZCOAp6c3AoPCtmcHdXY2BJJSVaXiU1SU9mN2BJZDJWWEZSJDl6eztSfUhhNTU/
dmxhTyg/fWt6fVlxZkQ3TCVyeCZWPE0KemZBYUJ0XzZXUjlDYjFSUlRvTXg0OyR5eTVKe0gpLTs5
Z1kmTX4haF80TjNfP0koNXxFLWhMa2UpYStWVmVDV2BqCnowZWVCWSNqeyNoJTRgSkRWU19DYD0z
NlRxRnV+U29DeGVQRmlFVnN9NitpJHU2cWdqVWBnc1Q1SiNiQykkandofQp6VWZGKUVlY1pCcShP
eTI/M29RWXVHZGcybDA/PVZ8P0FXbiFlMCtAa2B9ZztPJX15Mjh0R0ZPandZOWFjK1VZQ2oKejVr
QDAoRDRkTTA5WG5+MnNkVEZVKGU7bTNEOUhTKGA0IXVAWihuRnh4IWx7KytrTlpTdHg/Tz9xeS0o
WmZJbHheCnp6V2tAJVp8dUhmTD57cVVlNmIoP1pDfChicEZEQUxHMCRmKlNRcn17TzJnaDRodlBU
dW17ZGQjQmVEbnAjLUQlbwp6ZDV1bD14NHpVR1p4YzNLd3JwOHRvdVNfcmBkfEY8KFc2S0V6eD85
TThwPW84dENDWHY2QXdQTClTXldUY1Y7cVcKel5aaXFWTEkjWVpgYmVIVmJHRzhyPHg3Mnl8N3h0
JXM/cTxJTWxKNSF4M0JOU2k0JSlVT0deM1M8VDN7fjFsNVIzCnprMX18fVlCMEQjRn5pPEpse254
YD1hbElKS0omd3dDQ0BaSUd0emRuP2ZUQHM+SEFPdDNNRHEhO2A5Q2d6aDY/OAp6M0FZdFl1K0B8
aGFYP3pUa3l5UVlfMSo7dzdWTT1TM2gkJUhDPz9OQnhYKk1URVFeISVfNFBMIW47TFdWYkBkczAK
ekdqWC1uLVE3TFpeOzZmXz1+SmZAY0YpfiFlI1dRQi0zbEJFdk0rTVBSMj01VzlOK0VhMmUpdEVL
QWJST3dlfXliCnpRfSEmYTB6fnpvbF84YU9ySmo9dDVKVXdpOHw7TmFLblBINE5iciU7YCY7WUIw
cEVWK3smdy09I2lxMktsenQ8NAp6IzghMWNmQ0xrVyNzSlc/ZFdkUUR0UWIyUTUqK3pzcXBtcTs3
fUAkYF54I3NqI19JXiY7KHIwI2tMbk5YeEBwbD8KejxBe1NWOFQmKlMoP3QrX3pXWVFWciZmc1BW
X2AhSE1nSnI/ZSZORH1jVEF0bmB6TnwoQC0tdil4P0tWRCokeSY2Cnp8RCZjTGJKPlgwVHpWRXFY
SW18RXpncTJtVz9PcCVhYD9tcTF6XylWMyQ1Xjl1KTJCTiRTdHpAYXRrdjNmUnJLNQp6VWRFVil0
bVp0a0lmcko7JWomVDhwUkp6SCtKWDk/e1dKNnote0UlQFl5KlVtLUNyUjkwMDAwPE1OVU1uTFNU
WkUKQ1EpN1BzCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9SZXNvdXJjZXMvc3RhcnRCdXR0b25QcmVzc2VkQDJ4LnBuZyBiL1NvdXJjZS9XZWJDb3Jl
L1Jlc291cmNlcy9zdGFydEJ1dHRvblByZXNzZWRAMngucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMxNmNkNjgz
ZTkxNTM5MTdmZGVmYjVhMGQ1NjUxMTE1ZGE1Yzc1ODAKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFs
IDYyMDIKemNtVi1BN3sldl9QKTxoOzNLfExrMDAwZTFOSkxUcTAwMitgMDAyLTMxXkBzNmp1Rzsk
MDAwO1BOa2w8WmNtZFUmCnpYXl5FPWRCPU8zPjdJdF5vKCsleiVtNmB7MXdKNHVJeF8/X0Q1UWNa
JG1sM2FDMDI+fjVMeDBVdHFNIT5nfmQ9Ngp6NWgtS2Y4JCVKY04tPlp+ckVtJE9CJGc+OTB6bmFt
cCMlfF9lZUlkdl44RFZ1emRLSyNlKCZ3ZVFlfURJK34reVoKemREajBxP3tlUkpaJV9CKzxZWlNU
dC1ISXNDLWhFdS19flA4JDQ0SzFedmJZWDlJXz1MSkYySUxzbyYyd0YpXl99CnpHVCM8YGBAVmhx
b18rckw9ZjQ7SHQ1TSVYQ2x6KGkyNEh8UjdAKy1HZmNCfEBjPn1CWmRpJjtnO2BzTWZYS1pZMgp6
QDQ8cnlwVl9sIyZqVDtNX35ORig9Um10IVNefig5Sk5lfDNGSWMjNjtndkBuYjx7YUE/eE4zYEdw
Q0NrPU5SWDIKemNMJWF+XztDXkNxMz1kM3tuejxLJE4xeXA8NldicHF0ekpNe3s4I15YWG5uSC0r
YnclbW1aSUM/VClNa0ZiV3R2Cnp7cSlubmU5U1MmZEA7YjgrdVBnUUhGeGdaRS0xeEdOdktgWDxz
MztWdEZ0WlYlWXdDcSgleS1GWTBIPW5oO2RrVgp6OVhmUEt7X3ZZYHpJbz5fZkJET1FqUUpWNnY5
Qmh7TVE1RkwpLTRNYkVjakNyOVQqdHM+ZygmUEt4MyFuLURlXkMKenBzdlV2SyQ/PXNMcHk1TnEx
Jik7QH0xZ3U2bEE4Nzs2ZDNPMDBAbzR4b2MhKFdiU2R0OXJ2YUZ7e0NmQT9eaS0rCnpOQUByY3op
JTx6SmI7PXZaKGFvKzA1Wm1AeUFTWFBoI1gyJjJCamZhIyNyOFlXVngwNGNARG1gRlpJaiQoIU5k
fgp6dShYNHgxRHkzVCQ4S2FwMXZjbmo2TW1YSXU/YipJXmVrViN7TDNoRW8oc2dRXlBTKkhhWShu
SUdSWnRmNFF3MGcKek99Pkc1Ujtfc2FTfGtFX0N+ZGErTn56NkRveE04X0dkQmFaMC1gYC03ZHg+
NkYpLVIxPENgTDw+WVVnRkBUOE1ZCnp4P3N0WUMwRjFDQEhwcWVkKG5XVzg+bkpCY285NVE8KXdB
ekJ4e3FHMHdnJklzSndZOypOVjJYMlNnaDRiYW8raQp6KD5OIUIxdWRANVUwQFZne1VuQ31mdmZe
QjUqJDN8b09BdjxYZ312WDN8SXg2O0c2XzRCQ2krQFhjbUFEMzgqX1kKemQqc3pRWHd8Pzl3dC1w
Zj9IR29BTHMwNiFSc1dAYT41bSkkJWxzV0BJezsqPz83KUVve2Mlbk5zfj84SDB+TFUkCnpvX2d2
aDFfdVd9MnlwSF4wMGI8SnAkMElaUE14YnV1cmYrNz1ybyZiZzkwOCtUSmNGPVRXT19TeXlRN35Z
M1l4Iwp6d1pIPT0mM2QzPGZJVnx5IShrb21nSjJmKXpNZkYoODUkYjs2dzImNGZYbTwhSyFALS1w
b3V7PFBsUWV5TnRLLXkKelpgVnRHIzt1eGorTXVWYiZMLURLJkRJV3g7c1FwQEg4QVU4MlFIMT53
K2FRJGVONGhAJW91UT5HIWhVKmBGMlRGCnpNdldLanZXPFNUSi1vNDtjWDRwVG9ieXItdm1DNDk8
Q0k8YiZoSW82cEwwUksldWdCZEokMTFRNDxBMDw2Pmx6OQp6I3IpRX54TTRtJkNXa344TUg3UXMx
a05sfW5xfX5fSFNNNSswI0E9fk9DP2pAJGA/NyZXNl8oNyspNmkmbSMqKzAKenVUIVdJTjA3OFpX
fE5tSENtd2NvdSE/c3FMdHhoemlMQV5EMCpJX15nNHdEX1l9Q1A0VWo0ZHhsNFR5c1BJNnBsCnpQ
WFJPdiZfKV5aKCpNTjdJTVZQNUJfQjR5Y3RzaFBgcERgVWRVT0dGNDBlNFhUKjNzMHR4N3M2MFlF
TW8+YT9UeQp6cWUtKHJjc3N5eFNPREpiLUBKV0o8bF5PSm4pXjZgY1ZCaG9SaWc7ZSZFTyQzSHp+
NF5QTGFrZEFodjRRayEhWmsKekpuQClNU1N7JWIhNkY8b0w2Xl84NV9hJW5GbG43aG9gYWB6V2Rv
NFd2QyohJCN+UzU0UWBaMndhVFRvSV5yS2U/CnpXU3dvRCV2X31DV1MlallBUUs7YEtuQX1rX0Az
JXs5enEpaUkrOExjLSlkZ193P2cjPTVNIWcmRWthdiEhTnZ8Nwp6bm0qKCE7b0VxQGszS1Q1RGBX
elI0RDkrO004SVViPURidmcqKylEM0paSkc3elN1TUYjMURHdj5aOG5+NkYpaFoKeiUodF47bGk5
Z2VweGI7YUNuITImdGd9cUI5RylVZFRZZGJsRFM3OTclWTIrYG1BYGRrMmNIK3V4aDg8NmJCenFi
CnpTbCluajNGXjMmSn1hMVkoMGV6VXhzKGY8VzVLX2JgMTtnYGJ4WDtjaSU2QmZOKjNjLWlkPGZy
VyFnZFVpSDwkYgp6PHBUOW5yPFpMP0tJXzk8MUhOaGNXZWl9c3dUaHAwR093Plg4RjhuYjE2N3Ne
Z2I4TFJAYVU9STk1T3FQZloleVIKektfVTc8X0hIISZOYncwejlEdzVLMzJ9WGcjZUJ8SktJZiRA
PnBHN3RIKTImZ2tZRU9lVDVPaE9MLWB5RzhUdkdDCnpIfFVKJTAxMWZieUNhO0ZsRVhWfiolI24o
ZnVlRWM9OVkoIWopMkhSWTFVSVd1V3pZNHgkTz9ic218ZmNtZ2pUfgp6YTZHfX4hPGwlOzVWPztY
aWhkTUh1QGVYXmheNDx5JEsmeUNWeHNYRzU0NU5II0MwbEhAKnFBditXeHJkP0dMYHMKelAyeFJm
MkZiWUFCU2tKPlFzO1chJDsjdUR8THtRdkpsQGtuQmhpQzUtRWBDOCZ3bG9eVGk2TmcyI1VoU1Zr
LU5fCno+UlV1N0c7YUJ1JmtUS3xwPGk8I0NiNGg0QHk1Z0NxOHdfemczd1hTKlp8YTg/YjM+eXMt
cnI/VDFjanlJPCl8SAp6OU4+fDc5SXBHbl4tdGZMdnRzM24hT3ZhKHhpZ1BIe2Btam5GeWNfbzl+
JTxTQjgpdi1UeTM8MjNKNVZnYmNzcHEKem04KF9ga18kUEo4IyRULWNHKnVnWHpAWl5tUTQhSmt1
PzFoKXh4K0dUZGF2XkBaeWpleCRVO3c9MCpYe1Rjb2V3CnpfVnMxNGEmSiV8SkFndDJMUiFYWEgj
VUJ6X3syOWNoKCUwJmtQQTdIOH1vbiYpZ0haMEA9IS1SPllvOWlPNCtGZgp6JG52VmVsUT1zSThn
MTtCdWlZfkYtYW1ObilDVVNrcTc0clo0XzxyU3dmaDMtRiVEd0AqT3ZKbGxYMUpJdTlVZD0KeiFl
Xyh4Km1jKW13fnZfRjQ+XiVyPzN5dWImPW99TnR4PjwmJH4lezNga25AMENrN2ZxUDI4Mmc7KSpO
d3RYUSNQCnpVZT1MY3Z1NGRIKFdedDUhXzRJQ1Zyby1NPEY+VzUhSXdVWHYzbTlEUXxmSFY/RihQ
eyFYRVRwJGl+N34+Wk08Vgp6JUlmP2ZuKzlNakNGS0F7Z09ZQGExS19HdnRLTUF5JEBTSGY5cmE2
ayF7NlBvRHhSVGpDMjRsOHt6fD1lPEg/QzUKel9tQzhhNTVkRFhHMX1SYUJle3xASVp5LW4yJFp6
V044UXtzMDlBbjJiKTA1N3Q0USM7JThsT2VfY3Q2ezdjfFF2Cno+NTtITVZBOWErRllDXzZZZSMl
fiFgQV5+JXd+SzI0Yzh3XyZlJjBkek0hLWAmYilKI1FzYm9wUCRndW9jNy19bgp6bGpnaWItPl9s
Qj9naGdPaiU8d19wfXxMQDJpTzFrYG1NV24/X1BscW9AUV9yQmMzc2xjaGI8cTJGaCYoND4pUH4K
enteYV5rekNeNWNlJlAjTGxqTG12KWBMSExvcWYmfEo9KE0jc0ZCR3JSI0JjZ3gpK1coU3MlRmtG
RH5iTWYtVCRGCnpffUVCKndgSkZeVGBOJEUpdm98LVkwJSs+eGQ5P1JZMV9BTlVyOCl0d3NTK3k8
UExiQVBUJlBsLV9sbVRYNihRXgp6Z0Rpc3dLbkB2SkBaeVV2LWFuXnIrQ19JcHRnbjlNdDUwdit3
eXBaP2cra3h5SX1yb3VodXV0ZlZUZVVjXzM5YCYKemxZOEVVKWBvdHJ4ejFpJD9HQUtPQ3J+PHww
VXFaS1BRdmxsWjJVOHFlV3ZaWEA0NHJtK3EoSVEmOHNZczR9PmgzCnpva00+bzRTUnMzPDY5N2tO
JGhzTSQoPFY5NEEhWWx1SFBlJUlkPnwyVEw0azg7ZWR1eTltRSVIdyNEYjhFbCpzYgp6SjkraDBT
QzIkLV5ES0ArSWNMPkBYVHJ2O3FvdDAxQFFINSNCbztCUngld0l8U31wUzxfcWVzJDxgSVB8LUNF
MXwKekU7ZXkmTyU1WCtOS3R+ZnAjeWwwRF8rK3tleyN7Wm5ecENzbjt6Y3V6d3kxfUd1KFlwM1dl
cSopSGd4TG9sdEQ+CnptM19NbDw3PktTSmlPYFFwU1NhSztZQWs/UVhANWFnZlNNeFQpKF8/Xy16
N003ZXElR1hrO0soYE1tU2E4PitLWQp6Y0sxRFpjVCpnPzdSY0NMQlVSclJqJVRHRnttfCZ1IXRf
bjthQVIpVnhVc0RwWUN4QnwqYz4jMCU0MjB4b3dmemcKemZ9biF3O1R6djArI05Uck40QlJQOCNK
ekxkdGQkYXRJR2glOVJZWChzQ3JIYS1QdX4hX2QhUFcjeSVjdFZjIT91CnpSdmB2NDhJdUZLd0RM
PDApUGk0WUx6bDYhdFk0WE9ebS1pUk5xRTY0PVV0VChQQkB8TVpOZmJwP3xEQV80fH5YWgp6Kmsr
SS1NUktTZjRwbFZiY0dffVkrUEZaKmdobUB+PGY3VVBZQXdgOC0yI1Q5SUx0Nj0yLUB6eihudyZU
QHRDTnMKej9kSHYhJDAtUWwwTGA3MzByY15aSkVARzwkeWszLTdOaT1kTHo8SG14d1B7fEV4RVJL
eF9KKDhuQF4rKGoqfXtoCnojJmEpfUQ7ZUBlPVVmNFE7KXk1clhKO2s8JH02dypRakVMOExRQjFP
R0EwaWplNj03XjBaKnVfJkh7RyNjRD8lUQp6dDVhVj1Sa0AlYFBoOHMxbFdsOVcpPFVmcz05cER8
YnhOZzdoaSt9P3tHc2A2MGdTOGZKT1JXWGQ8bWstTlh4a0cKeiNAYX5MSElBe05kLXZ8R2VMfCRv
QFgmQlNlJn0la0gjZHYoUWUkT1dvZ153X3BLYEZNamRRdCpJSCt7ZWlaNVFZCnp4R2pKSUB7cS1O
Xz9pZ3ZSPShxJTBudnxhRXNjVVlTTFQ5Ql82ZVZOS0RpX31HdVRCNzd4aDw5ZDE5WVZqSyUkSwp6
VzR7dGR6dmU1JjJeKjtvI0JFTVdrIVJqPEwpTmxUXnkxdUNFa2d6bXlTanZzKio8I3lNPVM4a3hE
QjAyWmFIWSMKek1xNiM5I3hmVzZOKmEzSTBZO2NqdCh6M1IlJEloSWAzN1JnTz1sbjxIPnVVZlVh
Z0dkSGk5NFZITHF5ZU8wXlJSCnpDPl85UWotfCs0M31tX0NRQD5LPyRyRHwzJHVebXZ0KEwze3BX
e3RFMlduXi1UJCtgJDRFZkdvSX1abmB7fmxVUQp6I0UlbjQ7QHBGMyVaNShAOyZXcWVCUnJBVTgz
Nzx5YiM2fXR2cmV5K2t4TURkPEZYZD1EKGlKRCl4S0twRVg9JTAKem5ZI0wwVWY5ejFuY0k4Yl5Q
V1RhXjQ/MG5QYGtkb1p2en18ZkhfUUNiIyQ8KzEyRCY2X1lvVHp4I1N2My1kZ2FoCnprNVpAQWMt
cC1qTDJZJTh2Z312Q2BxZEYtalN+SVhnJihWYSRqRlhyKkdRVFVoeXZMVEphbWBgSz1YbGB5RTA8
Qgp6bj9IV3gkRVZkPD0yTzshNUIqNTdzcEZeWno/PjlDbD9AcD53NT9tV3chSm1EXnBaPFlpeWcy
dD8qdFEmPlItUEMKej1QcVFvQShPJWJwdTVqcF5hSTcwRiZsS31DNmA/Q2hncWxPdHduJE1wd3B6
S2pwSiE2PDA+KnFrITdMQ2FZJiV9CnozRnZ+aipQRHFsTzN+c3UraT82YGJ9SyRTbHY/QElDbHMq
bzQrVGk2eVZMbnJnXypaOCQkP3ledllQb3k0Yih6Ugp6ZTNwTG9oYjZvaVM8NXM0WFMkeSRwJTdY
O1BAUT00JHRTQlQ/TSRzSCR1LXdwNlkoWXtjPSpiYlV4SiZFMnwhSnAKekI2N3pJVzFHREMlQkE9
czI4UyomaUFAZzkqSExQcTdVcnoyUE9wYCQkfVNmcnVLe0Q0Tm1CJjdmY0RANjQ+b2BICnpTcVh9
bGJyLUNBZT5+fVUlQShqNkBWUypNVU4+aUs9SVpwIyoqRXxRQUQ/O3JqMnlEaGxEN3RHJTVraGE+
bmslSgp6YkpkJlpZKj8zfFBNcV5GaWJ2KjQ7JUQoSzRgYn0mM3I2IXxfcjwzR1F5K252MWlzfDt8
OH1UOHJzJmteZj4+aT8KenFsYSQzYFIyOXtlOTRefSshVyM8KWktJjtueyVGQHdnWGtQNUZKNDIx
ajNsRDRrZ2pNPyEwVGVgZ1Fjb3YoOCs7CnpfUG4ofVc9SFM9SUVPTWpneHlGaGNWd045UjxmS1Fl
aHdjVlpHT1ZHWDZAUF42VDZpeWEmbzdKVCQ4NT49Q2drPgp6UTBgcHcxZnhKaiN+OUVFVmp+RHdN
QX0wU0p2MUQ1QDwlM0JOO0chRG4pciQ2ZStpPHU3c2U9S0k+dj1NbmEyO0UKekllOFl3azZNWEUl
I158bW1ZbTYqMzJNb31BO1VLeypUdjdXQ1Yme1ZZZEU5MzNxNmN1U01gNEZtYXAtNVM2YTVQCno+
KUNrRSMrN2tae2tiND1sSmBuVUxVIWhEQ2g4b3RvTSgoTGJ+cFpyS2BkaEdyO2Ree3hsQG5sS1du
NFRQVFJDRQp6U2tAKCtsaC1rVVNUJH1sa1VqcVI8QlF8QFUrb2hWNk55YGlwLTJEaShQaTxBPzxY
bkxGSmhLZ1hZPkszdH18eW8KeiV3cjM5ZWxIUTwjMl47QnRzMSRLR3IzYm8taHMlQlFCd1JOJWRQ
RHlXa3E8NTFyaDNzMG15YU5VUlFtdFB9PH0lCnpnKzFgIzFMditAdi0kXk5HczNSbjk3R3BMZkg4
NG4+TyhvRjBCbz9RaHdhRlJTQVh+aV8/YF9zZHxkbXQqWHx9fgp6Y2J8MXdvQUZBREV6TGEwd2ZF
UiNrRyh2MChzQXIyOU13Nn51fmYmN0RkX2RyVW11OWAlQzdpbyo/e3dQRztGJXAKenR5e1AzK3oq
fW1kXn5GMzYxKFU0dTx2MGZrcjspUXlBSyZMPTsoMi1ZWENrVHc8PHNSI3k3cms7SWhqdWB2QVZ7
CnpWckpRYHg4QXp6YGBgUWkwI3RjYExFV0I/SmUxTHxiNDdtVU1qcHskWn5IVWBDbTNhQ0BOYCM/
RD42eW9AUFlkdQp6U2gpTyo8JEV2dyNLbE1GcjBlK2pgdE9RT2s4SjlDO3k8NE5mYnJLfWQrcFRG
SXxmfjJXSUk8S1MlQ0x1ZUN6YloKenRGT01nX3E7ems/P1lMeTlzbFNma00xTUtASU9oOzxTdXhg
dj1OSmp0Z0slaFg/SntBP3k+cHY9YnNnaWRANSgwCno0PWtXYDBRJChGPjxWYFZ5TWFUQWFVP2N6
PVVzUEJ0WCNRcitUc3xuNl4jWWh7biVyVkpAPWh8fElUUmE9RDlxRQp6NTEtWmg/ZkNtTzJQNE9X
QGw8NnJLRnNnQz0lUzAzTjFUPiMmKzF9NGB8UHUwVSVjWHI/RFFUJDw4Ul5zQjBTeDkKekE9R0Vm
XiNkZUYwSlQjdWtMdXorXjUrJFJAZkMtJkJFamEwOzRuTVZwKF9Jd0w+PU5CNUUrTkJMLUQpYy1k
TFFzCnoxZnBAP1pUaWVKJnkyPElqS2B6c2V2VGFmcHBYfDI+aDt0YD57aGtzTyhUSCgoVFR3MCRi
JG54IWpaaTVjfHtFOQp6cCR2QF5jb2pVKGg1ZkFkQmJ5JUNobzllTkJMe0xKQy1Oc3BjTn1CI1px
Pl5BT0ZnamJqaShpdCMjVE93KSRrbiMKemp5cjBeaj8rYlZQdzI9MDFTR2t9cTIydyY2SG9OLStQ
UTFqTV49QWlwa3RwTTEpZzFyVHlGaGBUWClAWSN+czZ3CnpQeFRjT0UqakttdCQ9NkVkVGZeYE07
Q3JNZ2dOSSYtdlJ7SFRRTWYrdiRZJWB1RyFVJmlfMXpeezlWRFctWkBqfQp6bG0zREp1QWJpTitv
ek5Gez4hfSFLTDN9Vy19VENgK3V0WTc3V2J7cDZOe01sLWgxellzQS1aIzF3M35pbCRMOSQKejgm
XnVqT00lbiZvPi1tajBfVVhYSF4oSyNDcHREKGw0U1ReTzB+S0g9ME57YyFocmtxKEAhczB6a1lw
QmVDY3NWCnplRSFoLW45PD9lcjEmTlZ2NTFLcSExQXojSCZebmRUTCpsSmdMUUw2eCUtcXMhTEIj
e2ZYdU9SUW9SdThUJE59OQp6cTA/fCYqOUBOTDtwcnlnTjtpVWF6M3s+ZF5YfFh6e18hMDxja0Rq
JSVyb2F2KnRea3FVbUxlVnlXKGJrJk0kdVAKemkkUkpkZjlmR2RLNVdVIUprMzIqYSY/fkU7RjBD
ZEF4d3tsdjNHO2MoekRNI2BAMGNuKmpwSl9OZjBnNCM5VEd6CnpTKURRbl5UQHNJIXhOQ1BpQTIy
YV9gNTRSSGhnLSt6fWh1eTJaeDQtVzxQKEpOWUZqSV9qR1VtO3BQTGVBUzNhfAp6NWZ7WmZsZ2dm
KTBMaytseHhwaXxFJihESjxoZFNlT3JlXikmJDxGUS1VO3BnPX0mKlVqQHlqaSNeN2ZXPGF+PE0K
ekE7R2ReOTNzbjxkR3JCQENYZ25JT257a1ZDdmZ0YEY2aVZfUGQmOVRJeTxGakAjNGpNbXp9KXE7
Mz1uXih0WC0jCnpyd3puLSZkfmchPlg2djhjaEJNWV43dkAlO0YwKmRyanN2a2VSPHhGOVhzYTdK
Q2I9M2kramFNe2dWJVhrcHJFVwp6JGU1PXxHa0VDSCRPfUgjWlR7JWYrIVNDSSF7MWgpb0dufG4/
OSNYei1AKk02OVZZfWJuNiZjSDs+Nz89IWBuJUsKelBFdk4wYTFJLWpoTm9xSmpCXmc9aFlrUVNy
ZX5mcHp6SlRpcn1XM1R1OTxfaWtSJGlIXiFPYSpPSXg+WXtuelM3Cnpfdk0jZ2VreyZ+S1o9IUcl
YFc4Skt8bDxwMWR4Wjgle2xkKXc8di1PN3slZFI4SSozS1FoWHBzLTxhfUAwWXspMQp6RF50IUsl
e2w4cUNORCkrSHNfJF4wWDdeI3ZITn1tWDZSUHtoUWgoNk9QQWdyeVlLeT5HKGdiPyloWGxiUDxm
ezQKejVKKzJYJUEoelkkbSNmeykxPmhEJUI9fVYrO2AlZXVkbz9RVXd9dHIlcDZUQnBKUC1DSDgx
RjNyIUV4bWZ7dyhgCnpDfmdtMGVYKmVWUng5NGp8MWQ1aHg1Y2tgekpmbXZXczw+QU1eZldDaFNK
YjIwbS1gZjB+RjN0PSZ+YkFlZFBLUQp6NDkzUkQ2clBUckpwUmdONGUwMH05ZUpzQ2otfSt1VmFw
RFRLWnxARFNnRzN0RnE5YEV6XztXNT4mY1BPMXxBdUMKel5ORkp6OUcrJFhYX2pUMyV2JkhmODlh
VHM+bHt+czt6YnxZR2NKM25UZ0VeaW5aREdRPTl1ejs9U0t6Yz08V1hhCno3UT9xPXU2YnhRMG1N
bTZqRCsqKzt+czQ/eklePkBvQ3U7cEdHKUcxR05tNWx4Jmk+QzJeIXhuV2UzSWo7SmY7awp6QVpy
ekRqdzRARVZeKzIpcDdOM3MqUE5La0ptWWxFPEheZj9Aa0hsX0BJQ0V8TzBFNzdfZHdqRXtaJX15
e0ZedSoKelJfODx4SX1iZSp1TTNMbz9LRiQtKUhkaFAlMEB1Y0M1RXkoOCp8X3M0UzNNI0JrPzF+
dWdBVVNLYlBSKXFaWXR3CnpCMGlMZjMoTDlqI1FNcyg9ez9gOERkIXV7UDMjdHZZdUhSWE05UEZz
S0hGZnxzPH1nKUZZVnV8fDJsblFBZzZoOAp6PEZKS350TCtjb2M7ayg0e15tRW9gUn53YTk9N0hL
WjMmPUNrI3Y5RCteJmxZJSFhdElkPzNKRSRSUzJDe0t4OyoKenBAeT4jJk4xcmZLVTMkUnc3UDxv
eWBBfldYP2lpOXpWSUYzP1RpYj9QdllJaXthZHpkYEVKUENlbD4xWjBGNCpICnpzQV9UaSVNTlF9
TjNNKituVit+VzNHcT11cnolJFlfbEV7UGxocj9tNXJeIXkqbTMtRzdASCR+OTxXU3AlVU5wcQpZ
ZS0jKX5uUW1LTmc4JT5rMDcqcW9NNk48JGY8ZnRLb2Q1czsKCmxpdGVyYWwgMApIY21WP2QwMDAw
MQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCA2NDIzNjJjYzg1NDMxY2Q0OTdmOTA0ZjliNmIyNDliOWU1Y2Q4MWU4Li43NDdmNjc4
ODA3MTY4ZjZhMjQxNzY4MjRlZGI0ZjEyMDU1ZDUyMjk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05MjcsNiArOTI3LDEwIEBA
CiAJCTMxOUU2OUI1MTMyOTlCQkQwMDRBQzkxQSAvKiBXZWJLaXRBbmltYXRpb25MaXN0LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxOUU2OUFGMTMy
OTlCQkQwMDRBQzkxQSAvKiBXZWJLaXRBbmltYXRpb25MaXN0LmNwcCAqLzsgfTsKIAkJMzE5RTY5
QjYxMzI5OUJCRDAwNEFDOTFBIC8qIFdlYktpdEFuaW1hdGlvbkxpc3QuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxOUU2OUIwMTMyOTlCQkQwMDRBQzkx
QSAvKiBXZWJLaXRBbmltYXRpb25MaXN0LmggKi87IH07CiAJCTMxOUZCRDVGMTVEMkY0NjQwMDk2
NDBBNiAvKiBDYWNoZWRJbWFnZUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMzE5RkJENUQxNUQyRjQ0NDAwOTY0MEE2IC8qIENhY2hlZEltYWdl
Q2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJMzFBOTYzQTUxNjU1RDQyNjAwMEQ0NjQ1IC8qIHN0YXJ0QnV0dG9uLnBuZyBpbiBSZXNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFBOTYzQTExNjU1RDQyNjAw
MEQ0NjQ1IC8qIHN0YXJ0QnV0dG9uLnBuZyAqLzsgfTsKKwkJMzFBOTYzQTYxNjU1RDQyNjAwMEQ0
NjQ1IC8qIHN0YXJ0QnV0dG9uQDJ4LnBuZyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMzFBOTYzQTIxNjU1RDQyNjAwMEQ0NjQ1IC8qIHN0YXJ0QnV0dG9u
QDJ4LnBuZyAqLzsgfTsKKwkJMzFBOTYzQTcxNjU1RDQyNjAwMEQ0NjQ1IC8qIHN0YXJ0QnV0dG9u
UHJlc3NlZC5wbmcgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDMxQTk2M0EzMTY1NUQ0MjYwMDBENDY0NSAvKiBzdGFydEJ1dHRvblByZXNzZWQucG5nICov
OyB9OworCQkzMUE5NjNBODE2NTVENDI2MDAwRDQ2NDUgLyogc3RhcnRCdXR0b25QcmVzc2VkQDJ4
LnBuZyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFB
OTYzQTQxNjU1RDQyNjAwMEQ0NjQ1IC8qIHN0YXJ0QnV0dG9uUHJlc3NlZEAyeC5wbmcgKi87IH07
CiAJCTMxQzBGRjIxMEU0Q0VCNkUwMDdENkZFNSAvKiBXZWJLaXRBbmltYXRpb25FdmVudC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUMwRkYxQjBF
NENFQjZFMDA3RDZGRTUgLyogV2ViS2l0QW5pbWF0aW9uRXZlbnQuY3BwICovOyB9OwogCQkzMUMw
RkYyMjBFNENFQjZFMDA3RDZGRTUgLyogV2ViS2l0QW5pbWF0aW9uRXZlbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQzBGRjFDMEU0Q0VCNkUwMDdE
NkZFNSAvKiBXZWJLaXRBbmltYXRpb25FdmVudC5oICovOyB9OwogCQkzMUMwRkYyNDBFNENFQjZF
MDA3RDZGRTUgLyogV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQzBGRjFFMEU0Q0VCNkUwMDdENkZFNSAvKiBX
ZWJLaXRUcmFuc2l0aW9uRXZlbnQuY3BwICovOyB9OwpAQCAtODA3Niw2ICs4MDgwLDEwIEBACiAJ
CTMxOUU2OUIwMTMyOTlCQkQwMDRBQzkxQSAvKiBXZWJLaXRBbmltYXRpb25MaXN0LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYktpdEFuaW1hdGlvbkxpc3QuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE5RTY5QjExMzI5OUJCRDAwNEFDOTFBIC8qIFdlYktp
dEFuaW1hdGlvbkxpc3QuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYktpdEFuaW1hdGlv
bkxpc3QuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTlGQkQ1RDE1RDJGNDQ0
MDA5NjQwQTYgLyogQ2FjaGVkSW1hZ2VDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQ2FjaGVkSW1hZ2VDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMzFBOTYzQTExNjU1RDQyNjAwMEQ0NjQ1IC8qIHN0YXJ0QnV0dG9uLnBuZyAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGltYWdlLnBuZzsgcGF0aCA9
IHN0YXJ0QnV0dG9uLnBuZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFBOTYzQTIx
NjU1RDQyNjAwMEQ0NjQ1IC8qIHN0YXJ0QnV0dG9uQDJ4LnBuZyAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGltYWdlLnBuZzsgcGF0aCA9ICJzdGFydEJ1
dHRvbkAyeC5wbmciOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUE5NjNBMzE2NTVE
NDI2MDAwRDQ2NDUgLyogc3RhcnRCdXR0b25QcmVzc2VkLnBuZyAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGltYWdlLnBuZzsgcGF0aCA9IHN0YXJ0QnV0
dG9uUHJlc3NlZC5wbmc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxQTk2M0E0MTY1
NUQ0MjYwMDBENDY0NSAvKiBzdGFydEJ1dHRvblByZXNzZWRAMngucG5nICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gaW1hZ2UucG5nOyBwYXRoID0gInN0
YXJ0QnV0dG9uUHJlc3NlZEAyeC5wbmciOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkz
MUMwRkYxQjBFNENFQjZFMDA3RDZGRTUgLyogV2ViS2l0QW5pbWF0aW9uRXZlbnQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViS2l0QW5pbWF0aW9uRXZlbnQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUMwRkYxQzBFNENFQjZFMDA3RDZGRTUg
LyogV2ViS2l0QW5pbWF0aW9uRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gV2ViS2l0QW5pbWF0aW9uRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MzFDMEZGMUQwRTRDRUI2RTAwN0Q2RkU1IC8qIFdlYktpdEFuaW1hdGlvbkV2ZW50LmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBXZWJLaXRBbmltYXRpb25FdmVudC5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0xNDQ0MCw2ICsxNDQ0OCwxMCBAQAogCQkJCTg1MTM2Qzk0MEFF
RDY2NTkwMEY5MEEzRCAvKiBzb3V0aEVhc3RSZXNpemVDdXJzb3IucG5nICovLAogCQkJCTg1MTM2
Qzk1MEFFRDY2NTkwMEY5MEEzRCAvKiBzb3V0aFJlc2l6ZUN1cnNvci5wbmcgKi8sCiAJCQkJODUx
MzZDOTYwQUVENjY1OTAwRjkwQTNEIC8qIHNvdXRoV2VzdFJlc2l6ZUN1cnNvci5wbmcgKi8sCisJ
CQkJMzFBOTYzQTExNjU1RDQyNjAwMEQ0NjQ1IC8qIHN0YXJ0QnV0dG9uLnBuZyAqLywKKwkJCQkz
MUE5NjNBMjE2NTVENDI2MDAwRDQ2NDUgLyogc3RhcnRCdXR0b25AMngucG5nICovLAorCQkJCTMx
QTk2M0EzMTY1NUQ0MjYwMDBENDY0NSAvKiBzdGFydEJ1dHRvblByZXNzZWQucG5nICovLAorCQkJ
CTMxQTk2M0E0MTY1NUQ0MjYwMDBENDY0NSAvKiBzdGFydEJ1dHRvblByZXNzZWRAMngucG5nICov
LAogCQkJCTkzMTUzQkRCMTQxOTU5QkIwMEZDRjVCRSAvKiB0ZXh0QXJlYVJlc2l6ZUNvcm5lci5w
bmcgKi8sCiAJCQkJOTM3MDkxOEMxNDE2RDg2QjAwNDc3MzMzIC8qIHRleHRBcmVhUmVzaXplQ29y
bmVyQDJ4LnBuZyAqLywKIAkJCQk0NkQ0RjI0ODBBRjk3RTgxMDAzNTM4NUEgLyogdmVydGljYWxU
ZXh0Q3Vyc29yLnBuZyAqLywKQEAgLTI1ODc4LDYgKzI1ODkwLDEwIEBACiAJCQkJODUxMzZDQTgw
QUVENjY1OTAwRjkwQTNEIC8qIHdlc3RSZXNpemVDdXJzb3IucG5nIGluIFJlc291cmNlcyAqLywK
IAkJCQkxQUIxQUU3QTBDMDUxRkRFMDAxMzlGNEYgLyogem9vbUluQ3Vyc29yLnBuZyBpbiBSZXNv
dXJjZXMgKi8sCiAJCQkJMUFCMUFFN0IwQzA1MUZERTAwMTM5RjRGIC8qIHpvb21PdXRDdXJzb3Iu
cG5nIGluIFJlc291cmNlcyAqLywKKwkJCQkzMUE5NjNBNTE2NTVENDI2MDAwRDQ2NDUgLyogc3Rh
cnRCdXR0b24ucG5nIGluIFJlc291cmNlcyAqLywKKwkJCQkzMUE5NjNBNjE2NTVENDI2MDAwRDQ2
NDUgLyogc3RhcnRCdXR0b25AMngucG5nIGluIFJlc291cmNlcyAqLywKKwkJCQkzMUE5NjNBNzE2
NTVENDI2MDAwRDQ2NDUgLyogc3RhcnRCdXR0b25QcmVzc2VkLnBuZyBpbiBSZXNvdXJjZXMgKi8s
CisJCQkJMzFBOTYzQTgxNjU1RDQyNjAwMEQ0NjQ1IC8qIHN0YXJ0QnV0dG9uUHJlc3NlZEAyeC5w
bmcgaW4gUmVzb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHBy
b2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclNuYXBzaG90dGVkUGx1Z0luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJTbmFwc2hvdHRlZFBsdWdJbi5jcHAKaW5kZXggNWE2N2ViNmEyODNjYjZjMzE1MDRjODBm
MmFmNTU2ZWQ3MzY5Mjg5OC4uOTJjOTAxMjI5ZmI4NjQxZjIwMDcyNDJlODAyYzhmZTEzYTBmMzI5
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNuYXBzaG90dGVk
UGx1Z0luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU25hcHNob3R0
ZWRQbHVnSW4uY3BwCkBAIC0zOSwxMCArMzksMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBz
dGF0aWMgY29uc3QgaW50IGF1dG9TdGFydFBsdWdJblNpemVUaHJlc2hvbGRXaWR0aCA9IDE7CiBz
dGF0aWMgY29uc3QgaW50IGF1dG9TdGFydFBsdWdJblNpemVUaHJlc2hvbGRIZWlnaHQgPSAxOwor
c3RhdGljIGNvbnN0IGludCBzdGFydEJ1dHRvblBhZGRpbmcgPSAxMDsKIAogUmVuZGVyU25hcHNo
b3R0ZWRQbHVnSW46OlJlbmRlclNuYXBzaG90dGVkUGx1Z0luKEhUTUxQbHVnSW5JbWFnZUVsZW1l
bnQqIGVsZW1lbnQpCiAgICAgOiBSZW5kZXJFbWJlZGRlZE9iamVjdChlbGVtZW50KQogICAgICwg
bV9zbmFwc2hvdFJlc291cmNlKFJlbmRlckltYWdlUmVzb3VyY2U6OmNyZWF0ZSgpKQorICAgICwg
bV9pc01vdXNlSW5CdXR0b25SZWN0KGZhbHNlKQogewogICAgIG1fc25hcHNob3RSZXNvdXJjZS0+
aW5pdGlhbGl6ZSh0aGlzKTsKIH0KQEAgLTgyLDcgKzg0LDcgQEAgdm9pZCBSZW5kZXJTbmFwc2hv
dHRlZFBsdWdJbjo6cGFpbnRSZXBsYWNlZChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5
b3V0UG8KIHsKICAgICBpZiAocGx1Z0luSW1hZ2VFbGVtZW50KCktPmRpc3BsYXlTdGF0ZSgpIDwg
SFRNTFBsdWdJbkVsZW1lbnQ6OlBsYXlpbmcpIHsKICAgICAgICAgcGFpbnRSZXBsYWNlZFNuYXBz
aG90KHBhaW50SW5mbywgcGFpbnRPZmZzZXQpOwotICAgICAgICB0aGVtZSgpLT5wYWludFBsdWdJ
blNuYXBzaG90T3ZlcmxheSh0aGlzLCBwYWludEluZm8sIHBhaW50T2Zmc2V0KTsKKyAgICAgICAg
cGFpbnRTdGFydChwYWludEluZm8sIHBhaW50T2Zmc2V0KTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIApAQCAtMTIwLDYgKzEyMiw0MiBAQCB2b2lkIFJlbmRlclNuYXBzaG90dGVkUGx1Z0luOjpw
YWludFJlcGxhY2VkU25hcHNob3QoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0CiAgICAgY29u
dGV4dC0+ZHJhd0ltYWdlKGltYWdlLmdldCgpLCBzdHlsZSgpLT5jb2xvclNwYWNlKCksIGFsaWdu
ZWRSZWN0LCBDb21wb3NpdGVTb3VyY2VPdmVyLCBzaG91bGRSZXNwZWN0SW1hZ2VPcmllbnRhdGlv
bigpLCB1c2VMb3dRdWFsaXR5U2NhbGluZyk7CiB9CiAKK3N0YXRpYyBJbWFnZSogc3RhcnRCdXR0
b25JbWFnZSgpCit7CisgICAgc3RhdGljIEltYWdlKiBidXR0b25JbWFnZSA9IEltYWdlOjpsb2Fk
UGxhdGZvcm1SZXNvdXJjZSgic3RhcnRCdXR0b24iKS5sZWFrUmVmKCk7CisgICAgcmV0dXJuIGJ1
dHRvbkltYWdlOworfQorCitzdGF0aWMgSW1hZ2UqIHN0YXJ0QnV0dG9uUHJlc3NlZEltYWdlKCkK
K3sKKyAgICBzdGF0aWMgSW1hZ2UqIGJ1dHRvbkltYWdlID0gSW1hZ2U6OmxvYWRQbGF0Zm9ybVJl
c291cmNlKCJzdGFydEJ1dHRvblByZXNzZWQiKS5sZWFrUmVmKCk7CisgICAgcmV0dXJuIGJ1dHRv
bkltYWdlOworfQorCit2b2lkIFJlbmRlclNuYXBzaG90dGVkUGx1Z0luOjpwYWludFN0YXJ0KFBh
aW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpCit7Cisg
ICAgTGF5b3V0VW5pdCBjV2lkdGggPSBjb250ZW50V2lkdGgoKTsKKyAgICBMYXlvdXRVbml0IGNI
ZWlnaHQgPSBjb250ZW50SGVpZ2h0KCk7CisgICAgaWYgKCFjV2lkdGggfHwgIWNIZWlnaHQpCisg
ICAgICAgIHJldHVybjsKKworICAgIEltYWdlKiBidXR0b25JbWFnZSA9IHN0YXJ0QnV0dG9uSW1h
Z2UoKTsKKyAgICBpZiAocGx1Z0luSW1hZ2VFbGVtZW50KCktPmFjdGl2ZSgpKSB7CisgICAgICAg
IGlmIChtX2lzTW91c2VJbkJ1dHRvblJlY3QpCisgICAgICAgICAgICBidXR0b25JbWFnZSA9IHN0
YXJ0QnV0dG9uUHJlc3NlZEltYWdlKCk7CisgICAgfSBlbHNlIGlmICghcGx1Z0luSW1hZ2VFbGVt
ZW50KCktPmhvdmVyZWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgR3JhcGhpY3NDb250ZXh0
KiBjb250ZXh0ID0gcGFpbnRJbmZvLmNvbnRleHQ7CisgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVT
YXZlciBzYXZlcigqY29udGV4dCk7CisKKyAgICBMYXlvdXRTaXplIGJvcmRlckFuZFBhZGRpbmco
Ym9yZGVyTGVmdCgpICsgcGFkZGluZ0xlZnQoKSwgYm9yZGVyVG9wKCkgKyBwYWRkaW5nVG9wKCkp
OworCisgICAgTGF5b3V0U2l6ZSBjb250ZW50U2l6ZShjV2lkdGgsIGNIZWlnaHQpOworICAgIExh
eW91dFBvaW50IGNvbnRlbnRMb2NhdGlvbiA9IHBhaW50T2Zmc2V0ICsgYm9yZGVyQW5kUGFkZGlu
ZyArIGNvbnRlbnRTaXplIC0gYnV0dG9uSW1hZ2UtPnNpemUoKSAtIExheW91dFNpemUoc3RhcnRC
dXR0b25QYWRkaW5nLCBzdGFydEJ1dHRvblBhZGRpbmcpOworICAgIGNvbnRleHQtPmRyYXdJbWFn
ZShidXR0b25JbWFnZSwgQ29sb3JTcGFjZURldmljZVJHQiwgcm91bmRlZEludFBvaW50KGNvbnRl
bnRMb2NhdGlvbiksIGJ1dHRvbkltYWdlLT5yZWN0KCkpOworfQorCiBDdXJzb3JEaXJlY3RpdmUg
UmVuZGVyU25hcHNob3R0ZWRQbHVnSW46OmdldEN1cnNvcihjb25zdCBMYXlvdXRQb2ludCYgcG9p
bnQsIEN1cnNvciYgb3ZlcnJpZGVDdXJzb3IpIGNvbnN0CiB7CiAgICAgaWYgKHBsdWdJbkltYWdl
RWxlbWVudCgpLT5kaXNwbGF5U3RhdGUoKSA8IEhUTUxQbHVnSW5FbGVtZW50OjpQbGF5aW5nKSB7
CkBAIC0xMzUsNiArMTczLDcgQEAgdm9pZCBSZW5kZXJTbmFwc2hvdHRlZFBsdWdJbjo6aGFuZGxl
RXZlbnQoRXZlbnQqIGV2ZW50KQogICAgICAgICByZXR1cm47CiAKICAgICBNb3VzZUV2ZW50KiBt
b3VzZUV2ZW50ID0gc3RhdGljX2Nhc3Q8TW91c2VFdmVudCo+KGV2ZW50KTsKKwogICAgIGlmIChl
dmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5jbGlja0V2ZW50ICYmIG1vdXNlRXZlbnQtPmJ1
dHRvbigpID09IExlZnRCdXR0b24pIHsKICAgICAgICAgcGx1Z0luSW1hZ2VFbGVtZW50KCktPnNl
dERpc3BsYXlTdGF0ZShIVE1MUGx1Z0luRWxlbWVudDo6UGxheWluZyk7CiAgICAgICAgIGlmICh3
aWRnZXQoKSkgewpAQCAtMTQzLDYgKzE4MiwxMSBAQCB2b2lkIFJlbmRlclNuYXBzaG90dGVkUGx1
Z0luOjpoYW5kbGVFdmVudChFdmVudCogZXZlbnQpCiAgICAgICAgICAgICByZXBhaW50KCk7CiAg
ICAgICAgIH0KICAgICAgICAgZXZlbnQtPnNldERlZmF1bHRIYW5kbGVkKCk7CisgICAgfSBlbHNl
IGlmIChldmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5tb3VzZW92ZXJFdmVudCB8fCBldmVu
dC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5tb3VzZW91dEV2ZW50KQorICAgICAgICByZXBhaW50
KCk7CisgICAgZWxzZSBpZiAoZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkubW91c2Vkb3du
RXZlbnQpIHsKKyAgICAgICAgbV9pc01vdXNlSW5CdXR0b25SZWN0ID0gbV9idXR0b25SZWN0LmNv
bnRhaW5zKEludFBvaW50KG1vdXNlRXZlbnQtPm9mZnNldFgoKSwgbW91c2VFdmVudC0+b2Zmc2V0
WSgpKSk7CisgICAgICAgIHJlcGFpbnQoKTsKICAgICB9CiB9CiAKQEAgLTE1Niw2ICsyMDAsOSBA
QCB2b2lkIFJlbmRlclNuYXBzaG90dGVkUGx1Z0luOjpsYXlvdXQoKQogICAgICAgICBpZiAoIXdp
ZHRoIHx8ICFoZWlnaHQgfHwgKHdpZHRoIDw9IGF1dG9TdGFydFBsdWdJblNpemVUaHJlc2hvbGRX
aWR0aCAmJiBoZWlnaHQgPD0gYXV0b1N0YXJ0UGx1Z0luU2l6ZVRocmVzaG9sZEhlaWdodCkpCiAg
ICAgICAgICAgICBwbHVnSW5JbWFnZUVsZW1lbnQoKS0+c2V0RGlzcGxheVN0YXRlKEhUTUxQbHVn
SW5FbGVtZW50OjpQbGF5aW5nKTsKICAgICB9CisKKyAgICBMYXlvdXRTaXplIGJ1dHRvblNpemUg
PSBzdGFydEJ1dHRvbkltYWdlKCktPnNpemUoKTsKKyAgICBtX2J1dHRvblJlY3QgPSBMYXlvdXRS
ZWN0KGNvbnRlbnRCb3hSZWN0KCkubWF4WE1heFlDb3JuZXIoKSAtIExheW91dFNpemUoc3RhcnRC
dXR0b25QYWRkaW5nLCBzdGFydEJ1dHRvblBhZGRpbmcpIC0gYnV0dG9uU2l6ZSwgYnV0dG9uU2l6
ZSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJTbmFwc2hvdHRlZFBsdWdJbi5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclNuYXBzaG90dGVkUGx1Z0luLmgKaW5kZXggMWE0MmMwZDNiYWQzZGUx
NDJjMTliNDAyNTQ5MzAzZTI1MWY2NTIxYy4uOTkzZWQ5ZTBhYTczMGVlY2ViMjhjYjI1N2Y2MjEy
NGM5MDQ5OGUzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNu
YXBzaG90dGVkUGx1Z0luLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNu
YXBzaG90dGVkUGx1Z0luLmgKQEAgLTUzLDEwICs1MywxMyBAQCBwcml2YXRlOgogICAgIHZpcnR1
YWwgdm9pZCBwYWludChQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYpIE9WRVJSSURFOwog
ICAgIHZpcnR1YWwgdm9pZCBwYWludFJlcGxhY2VkKFBhaW50SW5mbyYsIGNvbnN0IExheW91dFBv
aW50JikgT1ZFUlJJREU7CiAgICAgdm9pZCBwYWludFJlcGxhY2VkU25hcHNob3QoUGFpbnRJbmZv
JiwgY29uc3QgTGF5b3V0UG9pbnQmKTsKKyAgICB2b2lkIHBhaW50U3RhcnQoUGFpbnRJbmZvJiwg
Y29uc3QgTGF5b3V0UG9pbnQmKTsKIAogICAgIHZpcnR1YWwgdm9pZCBsYXlvdXQoKSBPVkVSUklE
RTsKIAogICAgIE93blB0cjxSZW5kZXJJbWFnZVJlc291cmNlPiBtX3NuYXBzaG90UmVzb3VyY2U7
CisgICAgTGF5b3V0UmVjdCBtX2J1dHRvblJlY3Q7CisgICAgYm9vbCBtX2lzTW91c2VJbkJ1dHRv
blJlY3Q7CiB9OwogCiBpbmxpbmUgUmVuZGVyU25hcHNob3R0ZWRQbHVnSW4qIHRvUmVuZGVyU25h
cHNob3R0ZWRQbHVnSW4oUmVuZGVyT2JqZWN0KiBvYmplY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZS5oCmluZGV4IDY3N2M1NjNiZmQ0MDExYmI0OWI3OGJmMzliN2Q3ZmJjZmU4
MTA3NzguLmJiYjg2ZTE5MmUwMDljMjA1MjlhY2ExMDk2NGU0NzU3Y2M5ZGNjZDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCkBAIC0yNDMsOCArMjQzLDYgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgU3RyaW5nIGZpbGVMaXN0RGVmYXVsdExhYmVsKGJvb2wgbXVsdGlwbGVG
aWxlc0FsbG93ZWQpIGNvbnN0OwogICAgIHZpcnR1YWwgU3RyaW5nIGZpbGVMaXN0TmFtZUZvcldp
ZHRoKGNvbnN0IEZpbGVMaXN0KiwgY29uc3QgRm9udCYsIGludCB3aWR0aCwgYm9vbCBtdWx0aXBs
ZUZpbGVzQWxsb3dlZCkgY29uc3Q7CiAKLSAgICB2aXJ0dWFsIHZvaWQgcGFpbnRQbHVnSW5TbmFw
c2hvdE92ZXJsYXkoUmVuZGVyU25hcHNob3R0ZWRQbHVnSW4qLCBjb25zdCBQYWludEluZm8mLCBj
b25zdCBMYXlvdXRQb2ludCYpIGNvbnN0IHsgfQotCiAgICAgdmlydHVhbCBib29sIHNob3VsZE9w
ZW5QaWNrZXJXaXRoRjRLZXkoKSBjb25zdDsKIAogcHJvdGVjdGVkOgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjU2hhcmVkLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWNTaGFyZWQuaAppbmRleCAxMzM5MWRmZTdiZjY5
MDUyMGQ4YjFhOGQ1ZTkwZDNjY2M4MWNkMDkxLi41MjgzY2I4ZGJiOWUxOGJiODk5NzJhNTlhNGYy
MTRkNWQ3NDFlMzhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVNYWNTaGFyZWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVNYWNTaGFyZWQuaApAQCAtOTgsOCArOTgsNiBAQCBwdWJsaWM6CiAgICAgLy8gQSB2aWV3IGFz
c29jaWF0ZWQgdG8gdGhlIGNvbnRhaW5lZCBkb2N1bWVudC4gU3ViY2xhc3NlcyBtYXkgbm90IGhh
dmUgc3VjaCBhIHZpZXcgYW5kIHJldHVybiBhIGZha2UuCiAgICAgdmlydHVhbCBOU1ZpZXcqIGRv
Y3VtZW50Vmlld0ZvcihSZW5kZXJPYmplY3QqKSBjb25zdCA9IDA7CiAKLSAgICB2aXJ0dWFsIHZv
aWQgcGFpbnRQbHVnSW5TbmFwc2hvdE92ZXJsYXkoUmVuZGVyU25hcHNob3R0ZWRQbHVnSW4qLCBj
b25zdCBQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYpIGNvbnN0IE9WRVJSSURFOwotCiBw
cm90ZWN0ZWQ6CiAgICAgUmVuZGVyVGhlbWVNYWNTaGFyZWQoKTsKICAgICB2aXJ0dWFsIH5SZW5k
ZXJUaGVtZU1hY1NoYXJlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRoZW1lTWFjU2hhcmVkLm1tIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lTWFjU2hhcmVkLm1tCmluZGV4IDhlOTAyZmNjNTM4ODRiNTZjZGE2MDhjMTIxZWU4NDEz
YjJmMTE2MWIuLmU2MDc0Y2MyNjRkYzQ2NzU3ZDVjMmZmZDRlNTU5ODY4MTFhNGU0NTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hY1NoYXJlZC5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWNTaGFyZWQubW0KQEAg
LTE4MzIsNDMgKzE4MzIsNCBAQCBTdHJpbmcgUmVuZGVyVGhlbWVNYWNTaGFyZWQ6OmZpbGVMaXN0
TmFtZUZvcldpZHRoKGNvbnN0IEZpbGVMaXN0KiBmaWxlTGlzdCwgY29ucwogICAgIHJldHVybiBT
dHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKHN0clRvVHJ1bmNhdGUsIHdpZHRoLCBmb250
LCBTdHJpbmdUcnVuY2F0b3I6OkVuYWJsZVJvdW5kaW5nSGFja3MpOwogfQogCi12b2lkIFJlbmRl
clRoZW1lTWFjU2hhcmVkOjpwYWludFBsdWdJblNuYXBzaG90T3ZlcmxheShSZW5kZXJTbmFwc2hv
dHRlZFBsdWdJbiogcmVuZGVyZXIsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBM
YXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpIGNvbnN0Ci17Ci0gICAgTGF5b3V0VW5pdCBjV2lkdGgg
PSByZW5kZXJlci0+Y29udGVudFdpZHRoKCk7Ci0gICAgTGF5b3V0VW5pdCBjSGVpZ2h0ID0gcmVu
ZGVyZXItPmNvbnRlbnRIZWlnaHQoKTsKLSAgICBpZiAoIWNXaWR0aCB8fCAhY0hlaWdodCkKLSAg
ICAgICAgcmV0dXJuOwotCi0gICAgR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0ID0gcGFpbnRJbmZv
LmNvbnRleHQ7Ci0gICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzYXZlcigqY29udGV4dCk7
Ci0KLSAgICBMYXlvdXRTaXplIGJvcmRlckFuZFBhZGRpbmcocmVuZGVyZXItPmJvcmRlckxlZnQo
KSArIHJlbmRlcmVyLT5wYWRkaW5nTGVmdCgpLCByZW5kZXJlci0+Ym9yZGVyVG9wKCkgKyByZW5k
ZXJlci0+cGFkZGluZ1RvcCgpKTsKLQotICAgIExheW91dFNpemUgY29udGVudFNpemUoY1dpZHRo
LCBjSGVpZ2h0KTsKLSAgICBMYXlvdXRQb2ludCBjb250ZW50TG9jYXRpb24gPSBwYWludE9mZnNl
dDsKLSAgICBjb250ZW50TG9jYXRpb24ubW92ZShib3JkZXJBbmRQYWRkaW5nKTsKLQotICAgIFJl
ZlB0cjxHcmFkaWVudD4gZyA9IEdyYWRpZW50OjpjcmVhdGUoY29udGVudExvY2F0aW9uLCBGbG9h
dFBvaW50KGNvbnRlbnRMb2NhdGlvbi54KCksIGNvbnRlbnRMb2NhdGlvbi55KCkgKyBjSGVpZ2h0
KSk7Ci0gICAgZy0+YWRkQ29sb3JTdG9wKDAsICBDb2xvciguNWYsIC41LCAuNSwgLjcpKTsKLSAg
ICBnLT5hZGRDb2xvclN0b3AoLjIsIENvbG9yKC41NGYsIC41NCwgLjU0LCAuMykpOwotICAgIGct
PmFkZENvbG9yU3RvcCguNiwgQ29sb3IoLjYyZiwgLjYyLCAuNjIsIC4zKSk7Ci0gICAgZy0+YWRk
Q29sb3JTdG9wKDEsICBDb2xvciguN2YsIC43LCAuNywgLjk1KSk7Ci0gICAgY29udGV4dC0+c2V0
RmlsbEdyYWRpZW50KGcucmVsZWFzZSgpKTsKLSAgICBjb250ZXh0LT5maWxsUmVjdChwaXhlbFNu
YXBwZWRJbnRSZWN0KExheW91dFJlY3QoY29udGVudExvY2F0aW9uLCBjb250ZW50U2l6ZSkpKTsK
LQotICAgIHN0YXRpYyBjb25zdCBmbG9hdCBkaWFtZXRlciA9IDUwLCB0cmlhbmdsZVJhZGl1cyA9
IDEyOwotICAgIExheW91dFBvaW50IGNlbnRlciA9IGNvbnRlbnRMb2NhdGlvbjsKLSAgICBjZW50
ZXIubW92ZShjV2lkdGggLyAyLCBjSGVpZ2h0IC8gMik7Ci0gICAgY29udGV4dC0+c2V0RmlsbENv
bG9yKENvbG9yKC40ZiwgLjQsIC40LCAuNyksIENvbG9yU3BhY2VTUkdCKTsKLSAgICBjb250ZXh0
LT5maWxsRWxsaXBzZShGbG9hdFJlY3QoY2VudGVyLngoKSAtIGRpYW1ldGVyIC8gMiwgY2VudGVy
LnkoKSAtIGRpYW1ldGVyIC8gMiwgZGlhbWV0ZXIsIGRpYW1ldGVyKSk7Ci0KLSAgICBQYXRoIHA7
Ci0gICAgcC5tb3ZlVG8oRmxvYXRQb2ludChjZW50ZXIueCgpIC0gdHJpYW5nbGVSYWRpdXMgKiAz
IC8gNCwgY2VudGVyLnkoKSAtIHRyaWFuZ2xlUmFkaXVzKSk7Ci0gICAgcC5hZGRMaW5lVG8oRmxv
YXRQb2ludChjZW50ZXIueCgpICsgdHJpYW5nbGVSYWRpdXMgKiA1IC8gNCwgY2VudGVyLnkoKSkp
OwotICAgIHAuYWRkTGluZVRvKEZsb2F0UG9pbnQoY2VudGVyLngoKSAtIHRyaWFuZ2xlUmFkaXVz
ICogMyAvIDQsIGNlbnRlci55KCkgKyB0cmlhbmdsZVJhZGl1cykpOwotICAgIHAuY2xvc2VTdWJw
YXRoKCk7Ci0gICAgY29udGV4dC0+c2V0RmlsbENvbG9yKENvbG9yKDEuZiwgMS5mLCAxLmYsIC45
ZiksIENvbG9yU3BhY2VTUkdCKTsKLSAgICBjb250ZXh0LT5maWxsUGF0aChwKTsKLX0KLQogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>
<flag name="review"
          id="189751"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>