<?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>68062</bug_id>
          
          <creation_ts>2011-09-14 00:42:03 -0700</creation_ts>
          <short_desc>[GTK] WebProcess shouldn&apos;t use the GTK+ API</short_desc>
          <delta_ts>2011-09-20 01:58:04 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>466894</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-09-14 00:42:03 -0700</bug_when>
    <thetext>In WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp the GTK+ API is used to create errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>466897</commentid>
    <comment_count>1</comment_count>
      <attachid>107302</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-09-14 00:49:12 -0700</bug_when>
    <thetext>Created attachment 107302
Patch

Move common code to webcore so that it can be shared between wk1 and wk2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467037</commentid>
    <comment_count>2</comment_count>
      <attachid>107302</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-09-14 08:29:13 -0700</bug_when>
    <thetext>Comment on attachment 107302
Patch

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

Looks good, but we need to guard the duplicated enum.

&gt; Source/WebCore/platform/gtk/ErrorsGtk.h:57
&gt; +enum NetworkError {
&gt; +    NetworkErrorFailed                            = 399,
&gt; +    NetworkErrorTransport                         = 300,
&gt; +    NetworkErrorUnknownProtocol                   = 301,
&gt; +    NetworkErrorCancelled                         = 302,
&gt; +    NetworkErrorFileDoesNotExist                  = 303
&gt; +};
&gt; +
&gt; +// Sync&apos;d with Mac&apos;s WebKit Errors.
&gt; +enum PolicyError {
&gt; +    PolicyErrorFailed                             = 199,
&gt; +    PolicyErrorCannotShowMimeType                 = 100,
&gt; +    PolicyErrorCannotShowURL                      = 101,
&gt; +    PolicyErrorFrameLoadInterruptedByPolicyChange = 102,
&gt; +    PolicyErrorCannotUseRestrictedPort            = 103
&gt; +};
&gt; +
&gt; +enum PluginError {
&gt; +    PluginErrorFailed                             = 299,
&gt; +    PluginErrorCannotFindPlugin                   = 200,
&gt; +    PluginErrorCannotLoadPlugin                   = 201,
&gt; +    PluginErrorJavaUnavailable                    = 202,
&gt; +    PluginErrorConnectionCancelled                = 203,
&gt; +    PluginErrorWillHandleLoad                     = 204
&gt; +};

Since you are duplicating this enum from WebKit you shoud use the approach in Source/WebKit/WebCoreSupport/AssertMatchingEnums.cpp to sure they stay in sync.

Because some of these lines are so long, it&apos;s my opinion that it helps readability to not line them up. Please consider unaligning them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469330</commentid>
    <comment_count>3</comment_count>
      <attachid>107833</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-09-19 04:56:23 -0700</bug_when>
    <thetext>Created attachment 107833
Updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469331</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-19 04:58:29 -0700</bug_when>
    <thetext>Attachment 107833 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebKit/gtk/WebCoreSupport/AssertMatchingEnums.cpp:33:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 12 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469336</commentid>
    <comment_count>5</comment_count>
      <attachid>107835</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-09-19 05:14:56 -0700</bug_when>
    <thetext>Created attachment 107835
Fix coding style issues</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469461</commentid>
    <comment_count>6</comment_count>
      <attachid>107835</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-09-19 09:54:14 -0700</bug_when>
    <thetext>Comment on attachment 107835
Fix coding style issues

Nice cleanup!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469957</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-09-20 01:58:04 -0700</bug_when>
    <thetext>Committed r95521: &lt;http://trac.webkit.org/changeset/95521&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107302</attachid>
            <date>2011-09-14 00:49:12 -0700</date>
            <delta_ts>2011-09-19 04:56:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>web-errors.diff</filename>
            <type>text/plain</type>
            <size>18855</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiMTY3ZjM3Li44MDc4MTgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQg
QEAKKzIwMTEtMDktMTQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHVEtdIFdlYlByb2Nlc3Mgc2hvdWxkbid0IHVzZSB0aGUgR1RLKyBBUEkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDYyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSBlcnJv
cnMgY29kZSB0aGF0IGlzIGNvbW1vbiBiZXR3ZWVuIHdlYmtpMSBhbmQgd2Via2l0MiB0bworICAg
ICAgICBXZWJDb3JlIHNvIHRoYXQgaXQgY2FuIGJlIHNoYXJlZC4KKworICAgICAgICAqIEdOVW1h
a2VmaWxlLmxpc3QuYW06IEFkZCBuZXcgZmlsZXMgdG8gY29tcGlsYXRpb24uCisgICAgICAgICog
cGxhdGZvcm0vZ3RrL0Vycm9yc0d0ay5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Y2Fu
Y2VsbGVkRXJyb3IpOgorICAgICAgICAoV2ViQ29yZTo6YmxvY2tlZEVycm9yKToKKyAgICAgICAg
KFdlYkNvcmU6OmNhbm5vdFNob3dVUkxFcnJvcik6CisgICAgICAgIChXZWJDb3JlOjppbnRlcnJ1
cHRlZEZvclBvbGljeUNoYW5nZUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OmNhbm5vdFNob3dN
SU1FVHlwZUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OmZpbGVEb2VzTm90RXhpc3RFcnJvcik6
CisgICAgICAgIChXZWJDb3JlOjpwbHVnaW5XaWxsSGFuZGxlTG9hZEVycm9yKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ndGsvRXJyb3JzR3RrLmg6IEFkZGVkLgorCiAyMDExLTA5LTEyICBTaGlueWEg
S2F3YW5ha2EgIDxzaGlueWFrQGdvb2dsZS5jb20+CiAKICAgICAgICAgQ2hhcmFjdGVycyBiZXlv
bmQgVSsxMDAwMCBzaG91bGQgYmUgZGVsZXRlZCBieSBvbmUgcHJlc3NpbmcgZGVsZXRlIGtleS4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Z3RrL0NoYW5nZUxvZwppbmRleCBiZGNhY2I3Li5iOGU4OWEwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMTEtMDktMTQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNp
YUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIFdlYlByb2Nlc3Mgc2hvdWxkbid0IHVzZSB0
aGUgR1RLKyBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTY4MDYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVXNlIFdlYkNvcmUgQVBJIHRvIGNyZWF0ZSBlcnJvcnMgaW4gZnJhbWUgbG9hZGVyLgorCisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpGcmFtZUxvYWRlckNsaWVudDo6Y2FuY2VsbGVkRXJyb3IpOgorICAgICAgICAo
V2ViS2l0OjpGcmFtZUxvYWRlckNsaWVudDo6YmxvY2tlZEVycm9yKToKKyAgICAgICAgKFdlYktp
dDo6RnJhbWVMb2FkZXJDbGllbnQ6OmNhbm5vdFNob3dVUkxFcnJvcik6CisgICAgICAgIChXZWJL
aXQ6OkZyYW1lTG9hZGVyQ2xpZW50OjppbnRlcnJ1cHRlZEZvclBvbGljeUNoYW5nZUVycm9yKToK
KyAgICAgICAgKFdlYktpdDo6RnJhbWVMb2FkZXJDbGllbnQ6OmNhbm5vdFNob3dNSU1FVHlwZUVy
cm9yKToKKyAgICAgICAgKFdlYktpdDo6RnJhbWVMb2FkZXJDbGllbnQ6OmZpbGVEb2VzTm90RXhp
c3RFcnJvcik6CisgICAgICAgIChXZWJLaXQ6OkZyYW1lTG9hZGVyQ2xpZW50OjpwbHVnaW5XaWxs
SGFuZGxlTG9hZEVycm9yKToKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0ZXJyb3IuY3BwOgorICAg
ICAgICAod2Via2l0X25ldHdvcmtfZXJyb3JfcXVhcmspOgorICAgICAgICAod2Via2l0X3BvbGlj
eV9lcnJvcl9xdWFyayk6CisgICAgICAgICh3ZWJraXRfcGx1Z2luX2Vycm9yX3F1YXJrKToKKwog
MjAxMS0wOS0xMiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgW0dUS10gUmVvcmdhbml6ZSBoZWFkZXIgZmlsZXMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvZ3RrL3BvL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZ3RrL3BvL0NoYW5nZUxv
ZwppbmRleCA4ZWFjZmEzLi5lMmQzODk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9w
by9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ndGsvcG8vQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTIgQEAKKzIwMTEtMDktMTQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFtHVEtdIFdlYlByb2Nlc3Mgc2hvdWxkbid0IHVzZSB0aGUgR1RL
KyBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4
MDYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBQ
T1RGSUxFUzogUmVtb3ZlIEZyYW1lTG9hZGVyR3RrLmNwcCBhbmQgYWRkIEVycm9yc0d0ay5jcHAu
CisKIDIwMTEtMDktMDkgIFRpZmZhbnkgQW50b3BvbHNraSAgPHRpZmZhbnlAYW50b3BvbHNraS5j
b20+CiAKICAgICAgICAgQ2FuYWRpYW4gRW5nbGlzaCB0cmFuc2xhdGlvbi4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRl
eCA3NDljZDk4Li41MzBiYzQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMDkt
MTQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisgICAgICAg
IFtHVEtdIFdlYlByb2Nlc3Mgc2hvdWxkbid0IHVzZSB0aGUgR1RLKyBBUEkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDYyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIFdlYkNvcmUgQVBJIHRvIGNy
ZWF0ZSBlcnJvcnMgaW4gV2ViUHJvY2Vzcy4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOiBE
b24ndCB1c2Ugd2Via2l0L3dlYmtpZXJyb3IuaC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L2d0ay9XZWJFcnJvcnNHdGsuY3BwOgorICAgICAgICAoV2ViS2l0OjpjYW5jZWxs
ZWRFcnJvcik6CisgICAgICAgIChXZWJLaXQ6OmJsb2NrZWRFcnJvcik6CisgICAgICAgIChXZWJL
aXQ6OmNhbm5vdFNob3dVUkxFcnJvcik6CisgICAgICAgIChXZWJLaXQ6OmludGVycnVwdGVkRm9y
UG9saWN5Q2hhbmdlRXJyb3IpOgorICAgICAgICAoV2ViS2l0OjpjYW5ub3RTaG93TUlNRVR5cGVF
cnJvcik6CisgICAgICAgIChXZWJLaXQ6OmZpbGVEb2VzTm90RXhpc3RFcnJvcik6CisgICAgICAg
IChXZWJLaXQ6OnBsdWdpbldpbGxIYW5kbGVMb2FkRXJyb3IpOgorCiAyMDExLTA5LTExICBNYXJr
IFJvd2UgIDxtcm93ZUBhcHBsZS5jb20+CiAKICAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzk4Nzgy
Njg+IFByZXNzaW5nIGNhcHMgbG9jayBhZnRlciBjbG9zaW5nIGEgc2hvd01vZGFsRGlhbG9nIHdp
bmRvdyByZXN1bHRzIGluIFdlYlByb2Nlc3MgZXhpdGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0KaW5kZXggOWU1ZTNhOS4uNjgyNWIxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
R05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtCkBAIC0yNjIzLDYgKzI2MjMsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpbmRSdWxlLmggXAogCVNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1dPRkZGaWxlRm9ybWF0LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvV09GRkZpbGVGb3JtYXQuaCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3RrL0Vycm9yc0d0ay5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9FcnJv
cnNHdGsuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0tVUkxHdGsuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvTGFuZ3VhZ2VHdGsuY3BwIFwKIAlTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ndGsvTG9nZ2luZ0d0ay5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3RrL0Vycm9yc0d0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ndGsvRXJyb3JzR3RrLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4w
MmY5YjYzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0Vy
cm9yc0d0ay5jcHAKQEAgLTAsMCArMSw3MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBJ
Z2FsaWEgUy5MLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2Vp
dmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICog
YWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5v
dCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVT
QS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRXJyb3JzR3RrLmgiCisK
KyNpbmNsdWRlICJSZXNvdXJjZUVycm9yLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0Lmgi
CisjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgorI2luY2x1ZGUgPGdsaWIvZ2kxOG4tbGli
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUmVzb3VyY2VFcnJvciBjYW5jZWxsZWRFcnJv
cihjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCit7CisgICAgcmV0dXJuIFJlc291cmNl
RXJyb3IoZXJyb3JEb21haW5OZXR3b3JrLCBOZXR3b3JrRXJyb3JDYW5jZWxsZWQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgcmVxdWVzdC51cmwoKS5zdHJpbmcoKSwgXygiTG9hZCByZXF1ZXN0
IGNhbmNlbGxlZCIpKTsKK30KKworUmVzb3VyY2VFcnJvciBibG9ja2VkRXJyb3IoY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQoreworICAgIHJldHVybiBSZXNvdXJjZUVycm9yKGVycm9y
RG9tYWluUG9saWN5LCBQb2xpY3lFcnJvckNhbm5vdFVzZVJlc3RyaWN0ZWRQb3J0LAorICAgICAg
ICAgICAgICAgICAgICAgICAgIHJlcXVlc3QudXJsKCkuc3RyaW5nKCksIF8oIk5vdCBhbGxvd2Vk
IHRvIHVzZSByZXN0cmljdGVkIG5ldHdvcmsgcG9ydCIpKTsKK30KKworUmVzb3VyY2VFcnJvciBj
YW5ub3RTaG93VVJMRXJyb3IoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQoreworICAg
IHJldHVybiBSZXNvdXJjZUVycm9yKGVycm9yRG9tYWluUG9saWN5LCBQb2xpY3lFcnJvckNhbm5v
dFNob3dVUkwsCisgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC51cmwoKS5zdHJpbmco
KSwgXygiVVJMIGNhbm5vdCBiZSBzaG93biIpKTsKK30KKworUmVzb3VyY2VFcnJvciBpbnRlcnJ1
cHRlZEZvclBvbGljeUNoYW5nZUVycm9yKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkK
K3sKKyAgICByZXR1cm4gUmVzb3VyY2VFcnJvcihlcnJvckRvbWFpblBvbGljeSwgUG9saWN5RXJy
b3JGcmFtZUxvYWRJbnRlcnJ1cHRlZEJ5UG9saWN5Q2hhbmdlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgIHJlcXVlc3QudXJsKCkuc3RyaW5nKCksIF8oIkZyYW1lIGxvYWQgd2FzIGludGVycnVw
dGVkIikpOworfQorCitSZXNvdXJjZUVycm9yIGNhbm5vdFNob3dNSU1FVHlwZUVycm9yKGNvbnN0
IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQoreworICAgIHJldHVybiBSZXNvdXJjZUVycm9y
KGVycm9yRG9tYWluUG9saWN5LCBQb2xpY3lFcnJvckNhbm5vdFNob3dNaW1lVHlwZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICByZXNwb25zZS51cmwoKS5zdHJpbmcoKSwgXygiQ29udGVudCB3
aXRoIHRoZSBzcGVjaWZpZWQgTUlNRSB0eXBlIGNhbm5vdCBiZSBzaG93biIpKTsKK30KKworUmVz
b3VyY2VFcnJvciBmaWxlRG9lc05vdEV4aXN0RXJyb3IoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYg
cmVzcG9uc2UpCit7CisgICAgcmV0dXJuIFJlc291cmNlRXJyb3IoZXJyb3JEb21haW5OZXR3b3Jr
LCBOZXR3b3JrRXJyb3JGaWxlRG9lc05vdEV4aXN0LAorICAgICAgICAgICAgICAgICAgICAgICAg
IHJlc3BvbnNlLnVybCgpLnN0cmluZygpLCBfKCJGaWxlIGRvZXMgbm90IGV4aXN0IikpOworfQor
CitSZXNvdXJjZUVycm9yIHBsdWdpbldpbGxIYW5kbGVMb2FkRXJyb3IoY29uc3QgUmVzb3VyY2VS
ZXNwb25zZSYgcmVzcG9uc2UpCit7CisgICAgcmV0dXJuIFJlc291cmNlRXJyb3IoZXJyb3JEb21h
aW5QbHVnaW4sIFBsdWdpbkVycm9yV2lsbEhhbmRsZUxvYWQsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgcmVzcG9uc2UudXJsKCkuc3RyaW5nKCksIF8oIlBsdWdpbiB3aWxsIGhhbmRsZSBsb2Fk
IikpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ndGsvRXJyb3JzR3RrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
dGsvRXJyb3JzR3RrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTFjZmU5
ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9FcnJvcnNH
dGsuaApAQCAtMCwwICsxLDY5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIElnYWxpYSBT
LkwuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0
ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4g
U3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICov
CisKKyNpZm5kZWYgRXJyb3JzR3RrX2gKKyNkZWZpbmUgRXJyb3JzR3RrX2gKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBSZXNvdXJjZUVycm9yOworY2xhc3MgUmVzb3VyY2VSZXF1ZXN0
OworY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKKworY29uc3QgY2hhciogY29uc3QgZXJyb3JEb21h
aW5OZXR3b3JrID0gIldlYktpdE5ldHdvcmtFcnJvciI7Citjb25zdCBjaGFyKiBjb25zdCBlcnJv
ckRvbWFpblBvbGljeSA9ICJXZWJLaXRQb2xpY3lFcnJvciI7Citjb25zdCBjaGFyKiBjb25zdCBl
cnJvckRvbWFpblBsdWdpbiA9ICJXZWJLaXRQbHVnaW5FcnJvciI7CisKK2VudW0gTmV0d29ya0Vy
cm9yIHsKKyAgICBOZXR3b3JrRXJyb3JGYWlsZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAg
PSAzOTksCisgICAgTmV0d29ya0Vycm9yVHJhbnNwb3J0ICAgICAgICAgICAgICAgICAgICAgICAg
ID0gMzAwLAorICAgIE5ldHdvcmtFcnJvclVua25vd25Qcm90b2NvbCAgICAgICAgICAgICAgICAg
ICA9IDMwMSwKKyAgICBOZXR3b3JrRXJyb3JDYW5jZWxsZWQgICAgICAgICAgICAgICAgICAgICAg
ICAgPSAzMDIsCisgICAgTmV0d29ya0Vycm9yRmlsZURvZXNOb3RFeGlzdCAgICAgICAgICAgICAg
ICAgID0gMzAzCit9OworCisvLyBTeW5jJ2Qgd2l0aCBNYWMncyBXZWJLaXQgRXJyb3JzLgorZW51
bSBQb2xpY3lFcnJvciB7CisgICAgUG9saWN5RXJyb3JGYWlsZWQgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgID0gMTk5LAorICAgIFBvbGljeUVycm9yQ2Fubm90U2hvd01pbWVUeXBlICAgICAg
ICAgICAgICAgICA9IDEwMCwKKyAgICBQb2xpY3lFcnJvckNhbm5vdFNob3dVUkwgICAgICAgICAg
ICAgICAgICAgICAgPSAxMDEsCisgICAgUG9saWN5RXJyb3JGcmFtZUxvYWRJbnRlcnJ1cHRlZEJ5
UG9saWN5Q2hhbmdlID0gMTAyLAorICAgIFBvbGljeUVycm9yQ2Fubm90VXNlUmVzdHJpY3RlZFBv
cnQgICAgICAgICAgICA9IDEwMworfTsKKworZW51bSBQbHVnaW5FcnJvciB7CisgICAgUGx1Z2lu
RXJyb3JGYWlsZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjk5LAorICAgIFBsdWdp
bkVycm9yQ2Fubm90RmluZFBsdWdpbiAgICAgICAgICAgICAgICAgICA9IDIwMCwKKyAgICBQbHVn
aW5FcnJvckNhbm5vdExvYWRQbHVnaW4gICAgICAgICAgICAgICAgICAgPSAyMDEsCisgICAgUGx1
Z2luRXJyb3JKYXZhVW5hdmFpbGFibGUgICAgICAgICAgICAgICAgICAgID0gMjAyLAorICAgIFBs
dWdpbkVycm9yQ29ubmVjdGlvbkNhbmNlbGxlZCAgICAgICAgICAgICAgICA9IDIwMywKKyAgICBQ
bHVnaW5FcnJvcldpbGxIYW5kbGVMb2FkICAgICAgICAgICAgICAgICAgICAgPSAyMDQKK307CisK
K1Jlc291cmNlRXJyb3IgY2FuY2VsbGVkRXJyb3IoY29uc3QgUmVzb3VyY2VSZXF1ZXN0Jik7CitS
ZXNvdXJjZUVycm9yIGJsb2NrZWRFcnJvcihjb25zdCBSZXNvdXJjZVJlcXVlc3QmKTsKK1Jlc291
cmNlRXJyb3IgY2Fubm90U2hvd1VSTEVycm9yKGNvbnN0IFJlc291cmNlUmVxdWVzdCYpOworUmVz
b3VyY2VFcnJvciBpbnRlcnJ1cHRlZEZvclBvbGljeUNoYW5nZUVycm9yKGNvbnN0IFJlc291cmNl
UmVxdWVzdCYpOworUmVzb3VyY2VFcnJvciBjYW5ub3RTaG93TUlNRVR5cGVFcnJvcihjb25zdCBS
ZXNvdXJjZVJlc3BvbnNlJik7CitSZXNvdXJjZUVycm9yIGZpbGVEb2VzTm90RXhpc3RFcnJvcihj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CitSZXNvdXJjZUVycm9yIHBsdWdpbldpbGxIYW5kbGVM
b2FkRXJyb3IoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpOworCit9CisKKyNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRH
dGsuY3BwIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGll
bnRHdGsuY3BwCmluZGV4IGM5NDg2MDIuLmJhYWExMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5jcHAKQEAg
LTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJET01PYmplY3RDYWNoZS5oIgogI2luY2x1ZGUgIkRv
Y3VtZW50TG9hZGVyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXJHdGsuaCIKKyNpbmNsdWRl
ICJFcnJvcnNHdGsuaCIKICNpbmNsdWRlICJGb3JtU3RhdGUuaCIKICNpbmNsdWRlICJGcmFtZUxv
YWRlci5oIgogI2luY2x1ZGUgIkZyYW1lTmV0d29ya2luZ0NvbnRleHRHdGsuaCIKQEAgLTExNDQs
NDQgKzExNDUsMzcgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudDo6ZG93bmxvYWQoUmVzb3VyY2VI
YW5kbGUqIGhhbmRsZSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JgogCiBSZXNvdXJjZUVycm9yIEZy
YW1lTG9hZGVyQ2xpZW50OjpjYW5jZWxsZWRFcnJvcihjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJl
cXVlc3QpCiB7Ci0gICAgcmV0dXJuIFJlc291cmNlRXJyb3IoZ19xdWFya190b19zdHJpbmcoV0VC
S0lUX05FVFdPUktfRVJST1IpLCBXRUJLSVRfTkVUV09SS19FUlJPUl9DQU5DRUxMRUQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC51cmwoKS5zdHJpbmcoKSwgXygiTG9hZCByZXF1
ZXN0IGNhbmNlbGxlZCIpKTsKKyAgICByZXR1cm4gV2ViQ29yZTo6Y2FuY2VsbGVkRXJyb3IocmVx
dWVzdCk7CiB9CiAKIFJlc291cmNlRXJyb3IgRnJhbWVMb2FkZXJDbGllbnQ6OmJsb2NrZWRFcnJv
cihjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCiB7Ci0gICAgcmV0dXJuIFJlc291cmNl
RXJyb3IoZ19xdWFya190b19zdHJpbmcoV0VCS0lUX1BPTElDWV9FUlJPUiksIFdFQktJVF9QT0xJ
Q1lfRVJST1JfQ0FOTk9UX1VTRV9SRVNUUklDVEVEX1BPUlQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgcmVxdWVzdC51cmwoKS5zdHJpbmcoKSwgXygiTm90IGFsbG93ZWQgdG8gdXNlIHJlc3Ry
aWN0ZWQgbmV0d29yayBwb3J0IikpOworICAgIHJldHVybiBXZWJDb3JlOjpibG9ja2VkRXJyb3Io
cmVxdWVzdCk7CiB9CiAKIFJlc291cmNlRXJyb3IgRnJhbWVMb2FkZXJDbGllbnQ6OmNhbm5vdFNo
b3dVUkxFcnJvcihjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCiB7Ci0gICAgcmV0dXJu
IFJlc291cmNlRXJyb3IoZ19xdWFya190b19zdHJpbmcoV0VCS0lUX1BPTElDWV9FUlJPUiksIFdF
QktJVF9QT0xJQ1lfRVJST1JfQ0FOTk9UX1NIT1dfVVJMLAotICAgICAgICAgICAgICAgICAgICAg
ICAgIHJlcXVlc3QudXJsKCkuc3RyaW5nKCksIF8oIlVSTCBjYW5ub3QgYmUgc2hvd24iKSk7Cisg
ICAgcmV0dXJuIFdlYkNvcmU6OmNhbm5vdFNob3dVUkxFcnJvcihyZXF1ZXN0KTsKIH0KIAogUmVz
b3VyY2VFcnJvciBGcmFtZUxvYWRlckNsaWVudDo6aW50ZXJydXB0ZWRGb3JQb2xpY3lDaGFuZ2VF
cnJvcihjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCiB7Ci0gICAgcmV0dXJuIFJlc291
cmNlRXJyb3IoZ19xdWFya190b19zdHJpbmcoV0VCS0lUX1BPTElDWV9FUlJPUiksIFdFQktJVF9Q
T0xJQ1lfRVJST1JfRlJBTUVfTE9BRF9JTlRFUlJVUFRFRF9CWV9QT0xJQ1lfQ0hBTkdFLAotICAg
ICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3QudXJsKCkuc3RyaW5nKCksIF8oIkZyYW1lIGxv
YWQgd2FzIGludGVycnVwdGVkIikpOworICAgIHJldHVybiBXZWJDb3JlOjppbnRlcnJ1cHRlZEZv
clBvbGljeUNoYW5nZUVycm9yKHJlcXVlc3QpOwogfQogCiBSZXNvdXJjZUVycm9yIEZyYW1lTG9h
ZGVyQ2xpZW50OjpjYW5ub3RTaG93TUlNRVR5cGVFcnJvcihjb25zdCBSZXNvdXJjZVJlc3BvbnNl
JiByZXNwb25zZSkKIHsKLSAgICByZXR1cm4gUmVzb3VyY2VFcnJvcihnX3F1YXJrX3RvX3N0cmlu
ZyhXRUJLSVRfUE9MSUNZX0VSUk9SKSwgV0VCS0lUX1BPTElDWV9FUlJPUl9DQU5OT1RfU0hPV19N
SU1FX1RZUEUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UudXJsKCkuc3RyaW5n
KCksIF8oIkNvbnRlbnQgd2l0aCB0aGUgc3BlY2lmaWVkIE1JTUUgdHlwZSBjYW5ub3QgYmUgc2hv
d24iKSk7CisgICAgcmV0dXJuIFdlYkNvcmU6OmNhbm5vdFNob3dNSU1FVHlwZUVycm9yKHJlc3Bv
bnNlKTsKIH0KIAogUmVzb3VyY2VFcnJvciBGcmFtZUxvYWRlckNsaWVudDo6ZmlsZURvZXNOb3RF
eGlzdEVycm9yKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogewotICAgIHJldHVy
biBSZXNvdXJjZUVycm9yKGdfcXVhcmtfdG9fc3RyaW5nKFdFQktJVF9ORVRXT1JLX0VSUk9SKSwg
V0VCS0lUX05FVFdPUktfRVJST1JfRklMRV9ET0VTX05PVF9FWElTVCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICByZXNwb25zZS51cmwoKS5zdHJpbmcoKSwgXygiRmlsZSBkb2VzIG5vdCBleGlz
dCIpKTsKKyAgICByZXR1cm4gV2ViQ29yZTo6ZmlsZURvZXNOb3RFeGlzdEVycm9yKHJlc3BvbnNl
KTsKIH0KIAogUmVzb3VyY2VFcnJvciBGcmFtZUxvYWRlckNsaWVudDo6cGx1Z2luV2lsbEhhbmRs
ZUxvYWRFcnJvcihjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKIHsKLSAgICByZXR1
cm4gUmVzb3VyY2VFcnJvcihnX3F1YXJrX3RvX3N0cmluZyhXRUJLSVRfUExVR0lOX0VSUk9SKSwg
V0VCS0lUX1BMVUdJTl9FUlJPUl9XSUxMX0hBTkRMRV9MT0FELAotICAgICAgICAgICAgICAgICAg
ICAgICAgIHJlc3BvbnNlLnVybCgpLnN0cmluZygpLCBfKCJQbHVnaW4gd2lsbCBoYW5kbGUgbG9h
ZCIpKTsKKyAgICByZXR1cm4gV2ViQ29yZTo6cGx1Z2luV2lsbEhhbmRsZUxvYWRFcnJvcihyZXNw
b25zZSk7CiB9CiAKIGJvb2wgRnJhbWVMb2FkZXJDbGllbnQ6OnNob3VsZEZhbGxCYWNrKGNvbnN0
IFJlc291cmNlRXJyb3ImIGVycm9yKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvcG8v
UE9URklMRVMgYi9Tb3VyY2UvV2ViS2l0L2d0ay9wby9QT1RGSUxFUwppbmRleCA1NDMzMmI1Li5i
NGFjNWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9wby9QT1RGSUxFUworKysgYi9T
b3VyY2UvV2ViS2l0L2d0ay9wby9QT1RGSUxFUwpAQCAtMSw3ICsxLDYgQEAKICMgTGlzdCBvZiBz
b3VyY2UgZmlsZXMgd2hpY2ggY29udGFpbiB0cmFuc2xhdGFibGUgc3RyaW5ncy4KIFNvdXJjZS9X
ZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAKIFNvdXJjZS9XZWJL
aXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0NvbnRleHRNZW51Q2xpZW50R3RrLmNwcAotU291cmNlL1dl
YktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwCiBTb3VyY2Uv
V2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcAog
U291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGRvd25sb2FkLmNwcAogU291cmNlL1dlYktp
dC9ndGsvd2Via2l0L3dlYmtpdHNvdXBhdXRoZGlhbG9nLmNwcApAQCAtMTEsNCArMTAsNSBAQCBT
b3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViaW5zcGVjdG9yLmNwcAogU291cmNlL1dl
YktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYm5hdmlnYXRpb25hY3Rpb24uY3BwCiBTb3VyY2UvV2Vi
S2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwCiBTb3VyY2UvV2ViS2l0L2d0ay93
ZWJraXQvd2Via2l0d2Vidmlldy5jcHAKK1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9FcnJv
cnNHdGsuY3BwCiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvTG9jYWxpemVkU3RyaW5nc0d0
ay5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRlcnJvci5j
cHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZXJyb3IuY3BwCmluZGV4IGU5M2E1
ZDUuLjllMmFmZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRl
cnJvci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGVycm9yLmNwcApA
QCAtMTgsMjAgKzE4LDIxIEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotCiAjaW5jbHVk
ZSAid2Via2l0ZXJyb3IuaCIKIAorI2luY2x1ZGUgIkVycm9yc0d0ay5oIgorCiBHUXVhcmsgd2Vi
a2l0X25ldHdvcmtfZXJyb3JfcXVhcmsodm9pZCkKIHsKLSAgICByZXR1cm4gZ19xdWFya19mcm9t
X3N0YXRpY19zdHJpbmcoIndlYmtpdC1uZXR3b3JrLWVycm9yLXF1YXJrIik7CisgICAgcmV0dXJu
IGdfcXVhcmtfZnJvbV9zdGF0aWNfc3RyaW5nKFdlYkNvcmU6OmVycm9yRG9tYWluTmV0d29yayk7
CiB9CiAKIEdRdWFyayB3ZWJraXRfcG9saWN5X2Vycm9yX3F1YXJrKHZvaWQpCiB7Ci0gICAgcmV0
dXJuIGdfcXVhcmtfZnJvbV9zdGF0aWNfc3RyaW5nKCJ3ZWJraXQtcG9saWN5LWVycm9yLXF1YXJr
Iik7CisgICAgcmV0dXJuIGdfcXVhcmtfZnJvbV9zdGF0aWNfc3RyaW5nKFdlYkNvcmU6OmVycm9y
RG9tYWluUG9saWN5KTsKIH0KIAogR1F1YXJrIHdlYmtpdF9wbHVnaW5fZXJyb3JfcXVhcmsodm9p
ZCkKIHsKLSAgICByZXR1cm4gZ19xdWFya19mcm9tX3N0YXRpY19zdHJpbmcoIndlYmtpdC1wbHVn
aW4tZXJyb3ItcXVhcmsiKTsKKyAgICByZXR1cm4gZ19xdWFya19mcm9tX3N0YXRpY19zdHJpbmco
V2ViQ29yZTo6ZXJyb3JEb21haW5QbHVnaW4pOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQppbmRleCBh
NTM0NGE3Li41NTcwNGIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5h
bQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQpAQCAtMTUyLDggKzE1Miw2IEBA
IEJVSUxUX1NPVVJDRVMgKz0gJCh3ZWJraXQyX2J1aWx0X3NvdXJjZXMpCiBub2Rpc3RfbGlid2Vi
a2l0Mmd0a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5P
Ul9WRVJTSU9OQF9sYV9TT1VSQ0VTID0kKHdlYmtpdDJfYnVpbHRfc291cmNlcykKIAogbGlid2Vi
a2l0Mmd0a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5P
Ul9WRVJTSU9OQF9sYV9TT1VSQ0VTID0gXAotCVNvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJr
aXRlcnJvci5oIFwKLQlTb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZXJyb3IuY3BwIFwK
IAlTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50Q29kZXIuaCBcCiAJU291
cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudENvZGVycy5jcHAgXAogCVNvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRDb2RlcnMuaCBcCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2d0ay9XZWJFcnJvcnNH
dGsuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9ndGsvV2Vi
RXJyb3JzR3RrLmNwcAppbmRleCA3NmQ5YWMyLi44Mzc1ZDA2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2d0ay9XZWJFcnJvcnNHdGsuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvZ3RrL1dlYkVycm9y
c0d0ay5jcHAKQEAgLTI4LDExICsyOCwxMCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIldlYkVycm9ycy5oIgogCisjaW5jbHVkZSA8V2ViQ29yZS9FcnJvcnNHdGsuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNl
UmVxdWVzdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgotI2luY2x1
ZGUgPGdsaWIvZ2kxOG4tbGliLmg+Ci0jaW5jbHVkZSA8d2Via2l0L3dlYmtpdGVycm9yLmg+CiAK
IHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCkBAIC00MCw0NCArMzksMzcgQEAgbmFtZXNwYWNl
IFdlYktpdCB7CiAKIFJlc291cmNlRXJyb3IgY2FuY2VsbGVkRXJyb3IoY29uc3QgUmVzb3VyY2VS
ZXF1ZXN0JiByZXF1ZXN0KQogewotICAgIHJldHVybiBSZXNvdXJjZUVycm9yKGdfcXVhcmtfdG9f
c3RyaW5nKFdFQktJVF9ORVRXT1JLX0VSUk9SKSwgV0VCS0lUX05FVFdPUktfRVJST1JfQ0FOQ0VM
TEVELAotICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3QudXJsKCkuc3RyaW5nKCksIF8o
IkxvYWQgcmVxdWVzdCBjYW5jZWxsZWQiKSk7CisgICAgcmV0dXJuIFdlYkNvcmU6OmNhbmNlbGxl
ZEVycm9yKHJlcXVlc3QpOwogfQogCiBSZXNvdXJjZUVycm9yIGJsb2NrZWRFcnJvcihjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCiB7Ci0gICAgcmV0dXJuIFJlc291cmNlRXJyb3IoZ19x
dWFya190b19zdHJpbmcoV0VCS0lUX1BPTElDWV9FUlJPUiksIFdFQktJVF9QT0xJQ1lfRVJST1Jf
Q0FOTk9UX1VTRV9SRVNUUklDVEVEX1BPUlQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgcmVx
dWVzdC51cmwoKS5zdHJpbmcoKSwgXygiTm90IGFsbG93ZWQgdG8gdXNlIHJlc3RyaWN0ZWQgbmV0
d29yayBwb3J0IikpOworICAgIHJldHVybiBXZWJDb3JlOjpibG9ja2VkRXJyb3IocmVxdWVzdCk7
CiB9CiAKIFJlc291cmNlRXJyb3IgY2Fubm90U2hvd1VSTEVycm9yKGNvbnN0IFJlc291cmNlUmVx
dWVzdCYgcmVxdWVzdCkKIHsKLSAgICByZXR1cm4gUmVzb3VyY2VFcnJvcihnX3F1YXJrX3RvX3N0
cmluZyhXRUJLSVRfUE9MSUNZX0VSUk9SKSwgV0VCS0lUX1BPTElDWV9FUlJPUl9DQU5OT1RfU0hP
V19VUkwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC51cmwoKS5zdHJpbmcoKSwg
XygiVVJMIGNhbm5vdCBiZSBzaG93biIpKTsKKyAgICByZXR1cm4gV2ViQ29yZTo6Y2Fubm90U2hv
d1VSTEVycm9yKHJlcXVlc3QpOwogfQogCiBSZXNvdXJjZUVycm9yIGludGVycnVwdGVkRm9yUG9s
aWN5Q2hhbmdlRXJyb3IoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogewotICAgIHJl
dHVybiBSZXNvdXJjZUVycm9yKGdfcXVhcmtfdG9fc3RyaW5nKFdFQktJVF9QT0xJQ1lfRVJST1Ip
LCBXRUJLSVRfUE9MSUNZX0VSUk9SX0ZSQU1FX0xPQURfSU5URVJSVVBURURfQllfUE9MSUNZX0NI
QU5HRSwKLSAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0LnVybCgpLnN0cmluZygpLCBf
KCJGcmFtZSBsb2FkIHdhcyBpbnRlcnJ1cHRlZCIpKTsKKyAgICByZXR1cm4gV2ViQ29yZTo6aW50
ZXJydXB0ZWRGb3JQb2xpY3lDaGFuZ2VFcnJvcihyZXF1ZXN0KTsKIH0KIAogUmVzb3VyY2VFcnJv
ciBjYW5ub3RTaG93TUlNRVR5cGVFcnJvcihjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25z
ZSkKIHsKLSAgICByZXR1cm4gUmVzb3VyY2VFcnJvcihnX3F1YXJrX3RvX3N0cmluZyhXRUJLSVRf
UE9MSUNZX0VSUk9SKSwgV0VCS0lUX1BPTElDWV9FUlJPUl9DQU5OT1RfU0hPV19NSU1FX1RZUEUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UudXJsKCkuc3RyaW5nKCksIF8oIkNv
bnRlbnQgd2l0aCB0aGUgc3BlY2lmaWVkIE1JTUUgdHlwZSBjYW5ub3QgYmUgc2hvd24iKSk7Cisg
ICAgcmV0dXJuIFdlYkNvcmU6OmNhbm5vdFNob3dNSU1FVHlwZUVycm9yKHJlc3BvbnNlKTsKIH0K
IAogUmVzb3VyY2VFcnJvciBmaWxlRG9lc05vdEV4aXN0RXJyb3IoY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYgcmVzcG9uc2UpCiB7Ci0gICAgcmV0dXJuIFJlc291cmNlRXJyb3IoZ19xdWFya190b19z
dHJpbmcoV0VCS0lUX05FVFdPUktfRVJST1IpLCBXRUJLSVRfTkVUV09SS19FUlJPUl9GSUxFX0RP
RVNfTk9UX0VYSVNULAotICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnVybCgpLnN0
cmluZygpLCBfKCJGaWxlIGRvZXMgbm90IGV4aXN0IikpOworICAgIHJldHVybiBXZWJDb3JlOjpm
aWxlRG9lc05vdEV4aXN0RXJyb3IocmVzcG9uc2UpOwogfQogCiBSZXNvdXJjZUVycm9yIHBsdWdp
bldpbGxIYW5kbGVMb2FkRXJyb3IoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiB7
Ci0gICAgcmV0dXJuIFJlc291cmNlRXJyb3IoZ19xdWFya190b19zdHJpbmcoV0VCS0lUX1BMVUdJ
Tl9FUlJPUiksIFdFQktJVF9QTFVHSU5fRVJST1JfV0lMTF9IQU5ETEVfTE9BRCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICByZXNwb25zZS51cmwoKS5zdHJpbmcoKSwgXygiUGx1Z2luIHdpbGwg
aGFuZGxlIGxvYWQiKSk7CisgICAgcmV0dXJuIFdlYkNvcmU6OnBsdWdpbldpbGxIYW5kbGVMb2Fk
RXJyb3IocmVzcG9uc2UpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
</data>
<flag name="review"
          id="103964"
          type_id="1"
          status="-"
          setter="mrobinson"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107833</attachid>
            <date>2011-09-19 04:56:23 -0700</date>
            <delta_ts>2011-09-19 05:14:56 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>gtk-errors2.diff</filename>
            <type>text/plain</type>
            <size>21305</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2MDkwNzVlLi4zZTQ3MTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQg
QEAKKzIwMTEtMDktMTkgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHVEtdIFdlYlByb2Nlc3Mgc2hvdWxkbid0IHVzZSB0aGUgR1RLKyBBUEkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDYyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSBlcnJv
cnMgY29kZSB0aGF0IGlzIGNvbW1vbiBiZXR3ZWVuIHdlYmtpMSBhbmQgd2Via2l0MiB0bworICAg
ICAgICBXZWJDb3JlIHNvIHRoYXQgaXQgY2FuIGJlIHNoYXJlZC4KKworICAgICAgICAqIEdOVW1h
a2VmaWxlLmxpc3QuYW06IEFkZCBuZXcgZmlsZXMgdG8gY29tcGlsYXRpb24uCisgICAgICAgICog
cGxhdGZvcm0vZ3RrL0Vycm9yc0d0ay5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Y2Fu
Y2VsbGVkRXJyb3IpOgorICAgICAgICAoV2ViQ29yZTo6YmxvY2tlZEVycm9yKToKKyAgICAgICAg
KFdlYkNvcmU6OmNhbm5vdFNob3dVUkxFcnJvcik6CisgICAgICAgIChXZWJDb3JlOjppbnRlcnJ1
cHRlZEZvclBvbGljeUNoYW5nZUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OmNhbm5vdFNob3dN
SU1FVHlwZUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OmZpbGVEb2VzTm90RXhpc3RFcnJvcik6
CisgICAgICAgIChXZWJDb3JlOjpwbHVnaW5XaWxsSGFuZGxlTG9hZEVycm9yKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ndGsvRXJyb3JzR3RrLmg6IEFkZGVkLgorCiAyMDExLTA5LTE5ICBTaGF3biBT
aW5naCAgPHNoYXduc2luZ2hAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlLW5hbWUgTGF5ZXJD
aHJvbWl1bSBib3JkZXIgZnVuY3Rpb25zIHRvIHJlZmxlY3QgdGhhdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmlu
ZGV4IDljZGVjZmIuLjgzNzQ4YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAor
MjAxMS0wOS0xOSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisK
KyAgICAgICAgW0dUS10gV2ViUHJvY2VzcyBzaG91bGRuJ3QgdXNlIHRoZSBHVEsrIEFQSQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNjIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgV2ViQ29yZSBB
UEkgdG8gY3JlYXRlIGVycm9ycyBpbiBmcmFtZSBsb2FkZXIuCisKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9GcmFtZUxvYWRlckNsaWVudEd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OkZyYW1lTG9hZGVy
Q2xpZW50OjpjYW5jZWxsZWRFcnJvcik6CisgICAgICAgIChXZWJLaXQ6OkZyYW1lTG9hZGVyQ2xp
ZW50OjpibG9ja2VkRXJyb3IpOgorICAgICAgICAoV2ViS2l0OjpGcmFtZUxvYWRlckNsaWVudDo6
Y2Fubm90U2hvd1VSTEVycm9yKToKKyAgICAgICAgKFdlYktpdDo6RnJhbWVMb2FkZXJDbGllbnQ6
OmludGVycnVwdGVkRm9yUG9saWN5Q2hhbmdlRXJyb3IpOgorICAgICAgICAoV2ViS2l0OjpGcmFt
ZUxvYWRlckNsaWVudDo6Y2Fubm90U2hvd01JTUVUeXBlRXJyb3IpOgorICAgICAgICAoV2ViS2l0
OjpGcmFtZUxvYWRlckNsaWVudDo6ZmlsZURvZXNOb3RFeGlzdEVycm9yKToKKyAgICAgICAgKFdl
YktpdDo6RnJhbWVMb2FkZXJDbGllbnQ6OnBsdWdpbldpbGxIYW5kbGVMb2FkRXJyb3IpOgorICAg
ICAgICAqIHdlYmtpdC93ZWJraXRlcnJvci5jcHA6CisgICAgICAgICh3ZWJraXRfbmV0d29ya19l
cnJvcl9xdWFyayk6CisgICAgICAgICh3ZWJraXRfcG9saWN5X2Vycm9yX3F1YXJrKToKKyAgICAg
ICAgKHdlYmtpdF9wbHVnaW5fZXJyb3JfcXVhcmspOgorCiAyMDExLTA5LTEyICBDYXJsb3MgR2Fy
Y2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBSZW9yZ2Fu
aXplIGhlYWRlciBmaWxlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvcG8vQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9ndGsvcG8vQ2hhbmdlTG9nCmluZGV4IGRiOTk0MzcuLjJiZjQ1
ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL3BvL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L2d0ay9wby9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMS0wOS0xOSAg
Q2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dU
S10gV2ViUHJvY2VzcyBzaG91bGRuJ3QgdXNlIHRoZSBHVEsrIEFQSQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNjIKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFBPVEZJTEVTOiBSZW1vdmUgRnJhbWVM
b2FkZXJHdGsuY3BwIGFuZCBhZGQgRXJyb3JzR3RrLmNwcC4KKwogMjAxMS0wOS0xMiAgR3VzdGF2
byBOb3JvbmhhIFNpbHZhICA8Z25zQGdub21lLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiBS
ZW5hbWUgR3JlZWsgdHJhbnNsYXRpb24gZmlsZSwgdGhlIGNvcnJlY3QgY29kZSBpcyBlbApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCmluZGV4IDE0MjI5YTguLjJiZGUzMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyNCBAQAog
MjAxMS0wOS0xOSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAK
KyAgICAgICAgW0dUS10gV2ViUHJvY2VzcyBzaG91bGRuJ3QgdXNlIHRoZSBHVEsrIEFQSQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNjIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgV2ViQ29yZSBB
UEkgdG8gY3JlYXRlIGVycm9ycyBpbiBXZWJQcm9jZXNzLgorCisgICAgICAgICogR05VbWFrZWZp
bGUuYW06IERvbid0IHVzZSB3ZWJraXQvd2Via2llcnJvci5oLgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvZ3RrL1dlYkVycm9yc0d0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6
OmNhbmNlbGxlZEVycm9yKToKKyAgICAgICAgKFdlYktpdDo6YmxvY2tlZEVycm9yKToKKyAgICAg
ICAgKFdlYktpdDo6Y2Fubm90U2hvd1VSTEVycm9yKToKKyAgICAgICAgKFdlYktpdDo6aW50ZXJy
dXB0ZWRGb3JQb2xpY3lDaGFuZ2VFcnJvcik6CisgICAgICAgIChXZWJLaXQ6OmNhbm5vdFNob3dN
SU1FVHlwZUVycm9yKToKKyAgICAgICAgKFdlYktpdDo6ZmlsZURvZXNOb3RFeGlzdEVycm9yKToK
KyAgICAgICAgKFdlYktpdDo6cGx1Z2luV2lsbEhhbmRsZUxvYWRFcnJvcik6CisKKzIwMTEtMDkt
MTkgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCiAgICAgICAg
IFtHVEtdIEZpeCBkaXN0Y2hlY2sgYnVpbGQKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY4MjQxCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmlu
ZGV4IGFlNTA3ZTkuLmJhZjlkMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAt
MjYyMCw2ICsyNjIwLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9XaW5kUnVsZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9XT0ZGRmlsZUZvcm1hdC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1dPRkZGaWxlRm9ybWF0LmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9F
cnJvcnNHdGsuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvRXJyb3JzR3RrLmgg
XAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9LVVJMR3RrLmNwcCBcCiAJU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3RrL0xhbmd1YWdlR3RrLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3RrL0xvZ2dpbmdHdGsuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2d0ay9FcnJvcnNHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0Vy
cm9yc0d0ay5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDJmOWI2Mwot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9FcnJvcnNHdGsu
Y3BwCkBAIC0wLDAgKzEsNzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgSWdhbGlhIFMu
TC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBs
aWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
CisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdp
dGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRl
IHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBT
dHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkVycm9yc0d0ay5oIgorCisjaW5jbHVk
ZSAiUmVzb3VyY2VFcnJvci5oIgorI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgorI2luY2x1
ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKKyNpbmNsdWRlIDxnbGliL2dpMThuLWxpYi5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK1Jlc291cmNlRXJyb3IgY2FuY2VsbGVkRXJyb3IoY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQoreworICAgIHJldHVybiBSZXNvdXJjZUVycm9yKGVy
cm9yRG9tYWluTmV0d29yaywgTmV0d29ya0Vycm9yQ2FuY2VsbGVkLAorICAgICAgICAgICAgICAg
ICAgICAgICAgIHJlcXVlc3QudXJsKCkuc3RyaW5nKCksIF8oIkxvYWQgcmVxdWVzdCBjYW5jZWxs
ZWQiKSk7Cit9CisKK1Jlc291cmNlRXJyb3IgYmxvY2tlZEVycm9yKGNvbnN0IFJlc291cmNlUmVx
dWVzdCYgcmVxdWVzdCkKK3sKKyAgICByZXR1cm4gUmVzb3VyY2VFcnJvcihlcnJvckRvbWFpblBv
bGljeSwgUG9saWN5RXJyb3JDYW5ub3RVc2VSZXN0cmljdGVkUG9ydCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICByZXF1ZXN0LnVybCgpLnN0cmluZygpLCBfKCJOb3QgYWxsb3dlZCB0byB1c2Ug
cmVzdHJpY3RlZCBuZXR3b3JrIHBvcnQiKSk7Cit9CisKK1Jlc291cmNlRXJyb3IgY2Fubm90U2hv
d1VSTEVycm9yKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKK3sKKyAgICByZXR1cm4g
UmVzb3VyY2VFcnJvcihlcnJvckRvbWFpblBvbGljeSwgUG9saWN5RXJyb3JDYW5ub3RTaG93VVJM
LAorICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3QudXJsKCkuc3RyaW5nKCksIF8oIlVS
TCBjYW5ub3QgYmUgc2hvd24iKSk7Cit9CisKK1Jlc291cmNlRXJyb3IgaW50ZXJydXB0ZWRGb3JQ
b2xpY3lDaGFuZ2VFcnJvcihjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCit7CisgICAg
cmV0dXJuIFJlc291cmNlRXJyb3IoZXJyb3JEb21haW5Qb2xpY3ksIFBvbGljeUVycm9yRnJhbWVM
b2FkSW50ZXJydXB0ZWRCeVBvbGljeUNoYW5nZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBy
ZXF1ZXN0LnVybCgpLnN0cmluZygpLCBfKCJGcmFtZSBsb2FkIHdhcyBpbnRlcnJ1cHRlZCIpKTsK
K30KKworUmVzb3VyY2VFcnJvciBjYW5ub3RTaG93TUlNRVR5cGVFcnJvcihjb25zdCBSZXNvdXJj
ZVJlc3BvbnNlJiByZXNwb25zZSkKK3sKKyAgICByZXR1cm4gUmVzb3VyY2VFcnJvcihlcnJvckRv
bWFpblBvbGljeSwgUG9saWN5RXJyb3JDYW5ub3RTaG93TWltZVR5cGUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgcmVzcG9uc2UudXJsKCkuc3RyaW5nKCksIF8oIkNvbnRlbnQgd2l0aCB0aGUg
c3BlY2lmaWVkIE1JTUUgdHlwZSBjYW5ub3QgYmUgc2hvd24iKSk7Cit9CisKK1Jlc291cmNlRXJy
b3IgZmlsZURvZXNOb3RFeGlzdEVycm9yKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNl
KQoreworICAgIHJldHVybiBSZXNvdXJjZUVycm9yKGVycm9yRG9tYWluTmV0d29yaywgTmV0d29y
a0Vycm9yRmlsZURvZXNOb3RFeGlzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25z
ZS51cmwoKS5zdHJpbmcoKSwgXygiRmlsZSBkb2VzIG5vdCBleGlzdCIpKTsKK30KKworUmVzb3Vy
Y2VFcnJvciBwbHVnaW5XaWxsSGFuZGxlTG9hZEVycm9yKGNvbnN0IFJlc291cmNlUmVzcG9uc2Um
IHJlc3BvbnNlKQoreworICAgIHJldHVybiBSZXNvdXJjZUVycm9yKGVycm9yRG9tYWluUGx1Z2lu
LCBQbHVnaW5FcnJvcldpbGxIYW5kbGVMb2FkLAorICAgICAgICAgICAgICAgICAgICAgICAgIHJl
c3BvbnNlLnVybCgpLnN0cmluZygpLCBfKCJQbHVnaW4gd2lsbCBoYW5kbGUgbG9hZCIpKTsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3RrL0Vycm9yc0d0ay5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0Vycm9y
c0d0ay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwMGE3NzAKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvRXJyb3JzR3RrLmgKQEAg
LTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBJZ2FsaWEgUy5MLgorICoK
KyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3Ig
KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkg
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1
dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5
IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt
b3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlz
IGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAq
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwg
RmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZu
ZGVmIEVycm9yc0d0a19oCisjZGVmaW5lIEVycm9yc0d0a19oCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgUmVzb3VyY2VFcnJvcjsKK2NsYXNzIFJlc291cmNlUmVxdWVzdDsKK2NsYXNz
IFJlc291cmNlUmVzcG9uc2U7CisKK2NvbnN0IGNoYXIqIGNvbnN0IGVycm9yRG9tYWluTmV0d29y
ayA9ICJXZWJLaXROZXR3b3JrRXJyb3IiOworY29uc3QgY2hhciogY29uc3QgZXJyb3JEb21haW5Q
b2xpY3kgPSAiV2ViS2l0UG9saWN5RXJyb3IiOworY29uc3QgY2hhciogY29uc3QgZXJyb3JEb21h
aW5QbHVnaW4gPSAiV2ViS2l0UGx1Z2luRXJyb3IiOworCitlbnVtIE5ldHdvcmtFcnJvciB7Cisg
ICAgTmV0d29ya0Vycm9yRmFpbGVkID0gMzk5LAorICAgIE5ldHdvcmtFcnJvclRyYW5zcG9ydCA9
IDMwMCwKKyAgICBOZXR3b3JrRXJyb3JVbmtub3duUHJvdG9jb2wgPSAzMDEsCisgICAgTmV0d29y
a0Vycm9yQ2FuY2VsbGVkID0gMzAyLAorICAgIE5ldHdvcmtFcnJvckZpbGVEb2VzTm90RXhpc3Qg
PSAzMDMKK307CisKKy8vIFN5bmMnZCB3aXRoIE1hYydzIFdlYktpdCBFcnJvcnMuCitlbnVtIFBv
bGljeUVycm9yIHsKKyAgICBQb2xpY3lFcnJvckZhaWxlZCA9IDE5OSwKKyAgICBQb2xpY3lFcnJv
ckNhbm5vdFNob3dNaW1lVHlwZSA9IDEwMCwKKyAgICBQb2xpY3lFcnJvckNhbm5vdFNob3dVUkwg
PSAxMDEsCisgICAgUG9saWN5RXJyb3JGcmFtZUxvYWRJbnRlcnJ1cHRlZEJ5UG9saWN5Q2hhbmdl
ID0gMTAyLAorICAgIFBvbGljeUVycm9yQ2Fubm90VXNlUmVzdHJpY3RlZFBvcnQgPSAxMDMKK307
CisKK2VudW0gUGx1Z2luRXJyb3IgeworICAgIFBsdWdpbkVycm9yRmFpbGVkID0gMjk5LAorICAg
IFBsdWdpbkVycm9yQ2Fubm90RmluZFBsdWdpbiA9IDIwMCwKKyAgICBQbHVnaW5FcnJvckNhbm5v
dExvYWRQbHVnaW4gPSAyMDEsCisgICAgUGx1Z2luRXJyb3JKYXZhVW5hdmFpbGFibGUgPSAyMDIs
CisgICAgUGx1Z2luRXJyb3JDb25uZWN0aW9uQ2FuY2VsbGVkID0gMjAzLAorICAgIFBsdWdpbkVy
cm9yV2lsbEhhbmRsZUxvYWQgPSAyMDQKK307CisKK1Jlc291cmNlRXJyb3IgY2FuY2VsbGVkRXJy
b3IoY29uc3QgUmVzb3VyY2VSZXF1ZXN0Jik7CitSZXNvdXJjZUVycm9yIGJsb2NrZWRFcnJvcihj
b25zdCBSZXNvdXJjZVJlcXVlc3QmKTsKK1Jlc291cmNlRXJyb3IgY2Fubm90U2hvd1VSTEVycm9y
KGNvbnN0IFJlc291cmNlUmVxdWVzdCYpOworUmVzb3VyY2VFcnJvciBpbnRlcnJ1cHRlZEZvclBv
bGljeUNoYW5nZUVycm9yKGNvbnN0IFJlc291cmNlUmVxdWVzdCYpOworUmVzb3VyY2VFcnJvciBj
YW5ub3RTaG93TUlNRVR5cGVFcnJvcihjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CitSZXNvdXJj
ZUVycm9yIGZpbGVEb2VzTm90RXhpc3RFcnJvcihjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CitS
ZXNvdXJjZUVycm9yIHBsdWdpbldpbGxIYW5kbGVMb2FkRXJyb3IoY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYpOworCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay9X
ZWJDb3JlU3VwcG9ydC9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcAppbmRleCA4MTk3YTM1Li5lMjc4
MjcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9Bc3NlcnRN
YXRjaGluZ0VudW1zLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9B
c3NlcnRNYXRjaGluZ0VudW1zLmNwcApAQCAtMjMsMTIgKzIzLDE0IEBACiAKICNpbmNsdWRlICJE
dW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuaCIKICNpbmNsdWRlICJFZGl0aW5nQmVoYXZpb3JUeXBl
cy5oIgorI2luY2x1ZGUgIkVycm9yc0d0ay5oIgogI2luY2x1ZGUgIkZpbmRPcHRpb25zLmgiCiAj
aW5jbHVkZSAiRnJhbWVMb2FkZXJUeXBlcy5oIgogI2luY2x1ZGUgIlBhc3RlYm9hcmRIZWxwZXIu
aCIKICNpbmNsdWRlICJ3ZWJraXR3ZWJuYXZpZ2F0aW9uYWN0aW9uLmgiCiAjaW5jbHVkZSAid2Vi
a2l0d2Vic2V0dGluZ3MuaCIKICNpbmNsdWRlICJ3ZWJraXR3ZWJ2aWV3LmgiCisjaW5jbHVkZSAi
d2Via2l0ZXJyb3IuaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogCiAjZGVmaW5lIENP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0od2Via2l0X25hbWUsIHdlYmNvcmVfbmFtZSkgXApA
QCAtNTYsMyArNTgsMjIgQEAgQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXRUJLSVRfV0VC
X1ZJRVdfVEFSR0VUX0lORk9fVEVYVCwgUGFzdGVib2FyZEhlbHBlcjoKIENPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oV0VCS0lUX1dFQl9WSUVXX1RBUkdFVF9JTkZPX0lNQUdFLCBQYXN0ZWJv
YXJkSGVscGVyOjpUYXJnZXRUeXBlSW1hZ2UpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShXRUJLSVRfV0VCX1ZJRVdfVEFSR0VUX0lORk9fVVJJX0xJU1QsIFBhc3RlYm9hcmRIZWxwZXI6
OlRhcmdldFR5cGVVUklMaXN0KTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV0VCS0lU
X1dFQl9WSUVXX1RBUkdFVF9JTkZPX05FVFNDQVBFX1VSTCwgUGFzdGVib2FyZEhlbHBlcjo6VGFy
Z2V0VHlwZU5ldHNjYXBlVVJMKTsKKworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXRUJL
SVRfTkVUV09SS19FUlJPUl9GQUlMRUQsIE5ldHdvcmtFcnJvckZhaWxlZCk7CitDT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKFdFQktJVF9ORVRXT1JLX0VSUk9SX1RSQU5TUE9SVCwgTmV0d29y
a0Vycm9yVHJhbnNwb3J0KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV0VCS0lUX05F
VFdPUktfRVJST1JfVU5LTk9XTl9QUk9UT0NPTCwgTmV0d29ya0Vycm9yVW5rbm93blByb3RvY29s
KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV0VCS0lUX05FVFdPUktfRVJST1JfQ0FO
Q0VMTEVELCBOZXR3b3JrRXJyb3JDYW5jZWxsZWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShXRUJLSVRfTkVUV09SS19FUlJPUl9GSUxFX0RPRVNfTk9UX0VYSVNULCBOZXR3b3JrRXJy
b3JGaWxlRG9lc05vdEV4aXN0KTsKKworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXRUJL
SVRfUE9MSUNZX0VSUk9SX0ZBSUxFRCwgUG9saWN5RXJyb3JGYWlsZWQpOworQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShXRUJLSVRfUE9MSUNZX0VSUk9SX0NBTk5PVF9TSE9XX01JTUVfVFlQ
RSwgUG9saWN5RXJyb3JDYW5ub3RTaG93TWltZVR5cGUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJ
TkdfRU5VTShXRUJLSVRfUE9MSUNZX0VSUk9SX0NBTk5PVF9TSE9XX1VSTCwgUG9saWN5RXJyb3JD
YW5ub3RTaG93VVJMKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV0VCS0lUX1BPTElD
WV9FUlJPUl9GUkFNRV9MT0FEX0lOVEVSUlVQVEVEX0JZX1BPTElDWV9DSEFOR0UsIFBvbGljeUVy
cm9yRnJhbWVMb2FkSW50ZXJydXB0ZWRCeVBvbGljeUNoYW5nZSk7CitDT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKFdFQktJVF9QT0xJQ1lfRVJST1JfQ0FOTk9UX1VTRV9SRVNUUklDVEVEX1BP
UlQsIFBvbGljeUVycm9yQ2Fubm90VXNlUmVzdHJpY3RlZFBvcnQpOworCitDT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKFdFQktJVF9QTFVHSU5fRVJST1JfRkFJTEVELCBQbHVnaW5FcnJvckZh
aWxlZCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdFQktJVF9QTFVHSU5fRVJST1Jf
Q0FOTk9UX0ZJTkRfUExVR0lOLCBQbHVnaW5FcnJvckNhbm5vdEZpbmRQbHVnaW4pOworQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXRUJLSVRfUExVR0lOX0VSUk9SX0NBTk5PVF9MT0FEX1BM
VUdJTiwgUGx1Z2luRXJyb3JDYW5ub3RMb2FkUGx1Z2luKTsKK0NPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oV0VCS0lUX1BMVUdJTl9FUlJPUl9KQVZBX1VOQVZBSUxBQkxFLCBQbHVnaW5FcnJv
ckphdmFVbmF2YWlsYWJsZSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdFQktJVF9Q
TFVHSU5fRVJST1JfQ09OTkVDVElPTl9DQU5DRUxMRUQsIFBsdWdpbkVycm9yQ29ubmVjdGlvbkNh
bmNlbGxlZCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdFQktJVF9QTFVHSU5fRVJS
T1JfV0lMTF9IQU5ETEVfTE9BRCwgUGx1Z2luRXJyb3JXaWxsSGFuZGxlTG9hZCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0
ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVu
dEd0ay5jcHAKaW5kZXggYWRjNTExOC4uZTlkYzEyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcApAQCAt
MzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIkRPTU9iamVjdENhY2hlLmgiCiAjaW5jbHVkZSAiRG9j
dW1lbnRMb2FkZXIuaCIKICNpbmNsdWRlICJEb2N1bWVudExvYWRlckd0ay5oIgorI2luY2x1ZGUg
IkVycm9yc0d0ay5oIgogI2luY2x1ZGUgIkZvcm1TdGF0ZS5oIgogI2luY2x1ZGUgIkZyYW1lTG9h
ZGVyLmgiCiAjaW5jbHVkZSAiRnJhbWVOZXR3b3JraW5nQ29udGV4dEd0ay5oIgpAQCAtMTEzMiw0
NCArMTEzMywzNyBAQCB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50Ojpkb3dubG9hZChSZXNvdXJjZUhh
bmRsZSogaGFuZGxlLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmCiAKIFJlc291cmNlRXJyb3IgRnJh
bWVMb2FkZXJDbGllbnQ6OmNhbmNlbGxlZEVycm9yKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVx
dWVzdCkKIHsKLSAgICByZXR1cm4gUmVzb3VyY2VFcnJvcihnX3F1YXJrX3RvX3N0cmluZyhXRUJL
SVRfTkVUV09SS19FUlJPUiksIFdFQktJVF9ORVRXT1JLX0VSUk9SX0NBTkNFTExFRCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICByZXF1ZXN0LnVybCgpLnN0cmluZygpLCBfKCJMb2FkIHJlcXVl
c3QgY2FuY2VsbGVkIikpOworICAgIHJldHVybiBXZWJDb3JlOjpjYW5jZWxsZWRFcnJvcihyZXF1
ZXN0KTsKIH0KIAogUmVzb3VyY2VFcnJvciBGcmFtZUxvYWRlckNsaWVudDo6YmxvY2tlZEVycm9y
KGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKIHsKLSAgICByZXR1cm4gUmVzb3VyY2VF
cnJvcihnX3F1YXJrX3RvX3N0cmluZyhXRUJLSVRfUE9MSUNZX0VSUk9SKSwgV0VCS0lUX1BPTElD
WV9FUlJPUl9DQU5OT1RfVVNFX1JFU1RSSUNURURfUE9SVCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICByZXF1ZXN0LnVybCgpLnN0cmluZygpLCBfKCJOb3QgYWxsb3dlZCB0byB1c2UgcmVzdHJp
Y3RlZCBuZXR3b3JrIHBvcnQiKSk7CisgICAgcmV0dXJuIFdlYkNvcmU6OmJsb2NrZWRFcnJvcihy
ZXF1ZXN0KTsKIH0KIAogUmVzb3VyY2VFcnJvciBGcmFtZUxvYWRlckNsaWVudDo6Y2Fubm90U2hv
d1VSTEVycm9yKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKIHsKLSAgICByZXR1cm4g
UmVzb3VyY2VFcnJvcihnX3F1YXJrX3RvX3N0cmluZyhXRUJLSVRfUE9MSUNZX0VSUk9SKSwgV0VC
S0lUX1BPTElDWV9FUlJPUl9DQU5OT1RfU0hPV19VUkwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgcmVxdWVzdC51cmwoKS5zdHJpbmcoKSwgXygiVVJMIGNhbm5vdCBiZSBzaG93biIpKTsKKyAg
ICByZXR1cm4gV2ViQ29yZTo6Y2Fubm90U2hvd1VSTEVycm9yKHJlcXVlc3QpOwogfQogCiBSZXNv
dXJjZUVycm9yIEZyYW1lTG9hZGVyQ2xpZW50OjppbnRlcnJ1cHRlZEZvclBvbGljeUNoYW5nZUVy
cm9yKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKIHsKLSAgICByZXR1cm4gUmVzb3Vy
Y2VFcnJvcihnX3F1YXJrX3RvX3N0cmluZyhXRUJLSVRfUE9MSUNZX0VSUk9SKSwgV0VCS0lUX1BP
TElDWV9FUlJPUl9GUkFNRV9MT0FEX0lOVEVSUlVQVEVEX0JZX1BPTElDWV9DSEFOR0UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC51cmwoKS5zdHJpbmcoKSwgXygiRnJhbWUgbG9h
ZCB3YXMgaW50ZXJydXB0ZWQiKSk7CisgICAgcmV0dXJuIFdlYkNvcmU6OmludGVycnVwdGVkRm9y
UG9saWN5Q2hhbmdlRXJyb3IocmVxdWVzdCk7CiB9CiAKIFJlc291cmNlRXJyb3IgRnJhbWVMb2Fk
ZXJDbGllbnQ6OmNhbm5vdFNob3dNSU1FVHlwZUVycm9yKGNvbnN0IFJlc291cmNlUmVzcG9uc2Um
IHJlc3BvbnNlKQogewotICAgIHJldHVybiBSZXNvdXJjZUVycm9yKGdfcXVhcmtfdG9fc3RyaW5n
KFdFQktJVF9QT0xJQ1lfRVJST1IpLCBXRUJLSVRfUE9MSUNZX0VSUk9SX0NBTk5PVF9TSE9XX01J
TUVfVFlQRSwKLSAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZS51cmwoKS5zdHJpbmco
KSwgXygiQ29udGVudCB3aXRoIHRoZSBzcGVjaWZpZWQgTUlNRSB0eXBlIGNhbm5vdCBiZSBzaG93
biIpKTsKKyAgICByZXR1cm4gV2ViQ29yZTo6Y2Fubm90U2hvd01JTUVUeXBlRXJyb3IocmVzcG9u
c2UpOwogfQogCiBSZXNvdXJjZUVycm9yIEZyYW1lTG9hZGVyQ2xpZW50OjpmaWxlRG9lc05vdEV4
aXN0RXJyb3IoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiB7Ci0gICAgcmV0dXJu
IFJlc291cmNlRXJyb3IoZ19xdWFya190b19zdHJpbmcoV0VCS0lUX05FVFdPUktfRVJST1IpLCBX
RUJLSVRfTkVUV09SS19FUlJPUl9GSUxFX0RPRVNfTk9UX0VYSVNULAotICAgICAgICAgICAgICAg
ICAgICAgICAgIHJlc3BvbnNlLnVybCgpLnN0cmluZygpLCBfKCJGaWxlIGRvZXMgbm90IGV4aXN0
IikpOworICAgIHJldHVybiBXZWJDb3JlOjpmaWxlRG9lc05vdEV4aXN0RXJyb3IocmVzcG9uc2Up
OwogfQogCiBSZXNvdXJjZUVycm9yIEZyYW1lTG9hZGVyQ2xpZW50OjpwbHVnaW5XaWxsSGFuZGxl
TG9hZEVycm9yKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogewotICAgIHJldHVy
biBSZXNvdXJjZUVycm9yKGdfcXVhcmtfdG9fc3RyaW5nKFdFQktJVF9QTFVHSU5fRVJST1IpLCBX
RUJLSVRfUExVR0lOX0VSUk9SX1dJTExfSEFORExFX0xPQUQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgcmVzcG9uc2UudXJsKCkuc3RyaW5nKCksIF8oIlBsdWdpbiB3aWxsIGhhbmRsZSBsb2Fk
IikpOworICAgIHJldHVybiBXZWJDb3JlOjpwbHVnaW5XaWxsSGFuZGxlTG9hZEVycm9yKHJlc3Bv
bnNlKTsKIH0KIAogYm9vbCBGcmFtZUxvYWRlckNsaWVudDo6c2hvdWxkRmFsbEJhY2soY29uc3Qg
UmVzb3VyY2VFcnJvciYgZXJyb3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9wby9Q
T1RGSUxFUyBiL1NvdXJjZS9XZWJLaXQvZ3RrL3BvL1BPVEZJTEVTCmluZGV4IDU0MzMyYjUuLmI0
YWM1YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL3BvL1BPVEZJTEVTCisrKyBiL1Nv
dXJjZS9XZWJLaXQvZ3RrL3BvL1BPVEZJTEVTCkBAIC0xLDcgKzEsNiBAQAogIyBMaXN0IG9mIHNv
dXJjZSBmaWxlcyB3aGljaCBjb250YWluIHRyYW5zbGF0YWJsZSBzdHJpbmdzLgogU291cmNlL1dl
YktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcAogU291cmNlL1dlYktp
dC9ndGsvV2ViQ29yZVN1cHBvcnQvQ29udGV4dE1lbnVDbGllbnRHdGsuY3BwCi1Tb3VyY2UvV2Vi
S2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5jcHAKIFNvdXJjZS9X
ZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwCiBT
b3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwCiBTb3VyY2UvV2ViS2l0
L2d0ay93ZWJraXQvd2Via2l0c291cGF1dGhkaWFsb2cuY3BwCkBAIC0xMSw0ICsxMCw1IEBAIFNv
dXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJpbnNwZWN0b3IuY3BwCiBTb3VyY2UvV2Vi
S2l0L2d0ay93ZWJraXQvd2Via2l0d2VibmF2aWdhdGlvbmFjdGlvbi5jcHAKIFNvdXJjZS9XZWJL
aXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5ncy5jcHAKIFNvdXJjZS9XZWJLaXQvZ3RrL3dl
YmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAorU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0Vycm9y
c0d0ay5jcHAKIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Mb2NhbGl6ZWRTdHJpbmdzR3Rr
LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGVycm9yLmNw
cCBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRlcnJvci5jcHAKaW5kZXggZTkzYTVk
NS4uOWUyYWZkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGVy
cm9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZXJyb3IuY3BwCkBA
IC0xOCwyMCArMTgsMjEgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0KICNpbmNsdWRl
ICJ3ZWJraXRlcnJvci5oIgogCisjaW5jbHVkZSAiRXJyb3JzR3RrLmgiCisKIEdRdWFyayB3ZWJr
aXRfbmV0d29ya19lcnJvcl9xdWFyayh2b2lkKQogewotICAgIHJldHVybiBnX3F1YXJrX2Zyb21f
c3RhdGljX3N0cmluZygid2Via2l0LW5ldHdvcmstZXJyb3ItcXVhcmsiKTsKKyAgICByZXR1cm4g
Z19xdWFya19mcm9tX3N0YXRpY19zdHJpbmcoV2ViQ29yZTo6ZXJyb3JEb21haW5OZXR3b3JrKTsK
IH0KIAogR1F1YXJrIHdlYmtpdF9wb2xpY3lfZXJyb3JfcXVhcmsodm9pZCkKIHsKLSAgICByZXR1
cm4gZ19xdWFya19mcm9tX3N0YXRpY19zdHJpbmcoIndlYmtpdC1wb2xpY3ktZXJyb3ItcXVhcmsi
KTsKKyAgICByZXR1cm4gZ19xdWFya19mcm9tX3N0YXRpY19zdHJpbmcoV2ViQ29yZTo6ZXJyb3JE
b21haW5Qb2xpY3kpOwogfQogCiBHUXVhcmsgd2Via2l0X3BsdWdpbl9lcnJvcl9xdWFyayh2b2lk
KQogewotICAgIHJldHVybiBnX3F1YXJrX2Zyb21fc3RhdGljX3N0cmluZygid2Via2l0LXBsdWdp
bi1lcnJvci1xdWFyayIpOworICAgIHJldHVybiBnX3F1YXJrX2Zyb21fc3RhdGljX3N0cmluZyhX
ZWJDb3JlOjplcnJvckRvbWFpblBsdWdpbik7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtCmluZGV4IDJm
ZmZjYzQuLjBmMTdmYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFt
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtCkBAIC0xNTIsOCArMTUyLDYgQEAg
QlVJTFRfU09VUkNFUyArPSAkKHdlYmtpdDJfYnVpbHRfc291cmNlcykKIG5vZGlzdF9saWJ3ZWJr
aXQyZ3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9S
X1ZFUlNJT05AX2xhX1NPVVJDRVMgPSQod2Via2l0Ml9idWlsdF9zb3VyY2VzKQogCiBsaWJ3ZWJr
aXQyZ3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9S
X1ZFUlNJT05AX2xhX1NPVVJDRVMgPSBcCi0JU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtp
dGVycm9yLmggXAotCVNvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRlcnJvci5jcHAgXAog
CVNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRDb2Rlci5oIFwKIAlTb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50Q29kZXJzLmNwcCBcCiAJU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudENvZGVycy5oIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvZ3RrL1dlYkVycm9yc0d0
ay5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2d0ay9XZWJF
cnJvcnNHdGsuY3BwCmluZGV4IDc2ZDlhYzIuLjgzNzVkMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvZ3RrL1dlYkVycm9yc0d0ay5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9ndGsvV2ViRXJyb3Jz
R3RrLmNwcApAQCAtMjgsMTEgKzI4LDEwIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiV2ViRXJyb3JzLmgiCiAKKyNpbmNsdWRlIDxXZWJDb3JlL0Vycm9yc0d0ay5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VS
ZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+Ci0jaW5jbHVk
ZSA8Z2xpYi9naTE4bi1saWIuaD4KLSNpbmNsdWRlIDx3ZWJraXQvd2Via2l0ZXJyb3IuaD4KIAog
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKQEAgLTQwLDQ0ICszOSwzNyBAQCBuYW1lc3BhY2Ug
V2ViS2l0IHsKIAogUmVzb3VyY2VFcnJvciBjYW5jZWxsZWRFcnJvcihjb25zdCBSZXNvdXJjZVJl
cXVlc3QmIHJlcXVlc3QpCiB7Ci0gICAgcmV0dXJuIFJlc291cmNlRXJyb3IoZ19xdWFya190b19z
dHJpbmcoV0VCS0lUX05FVFdPUktfRVJST1IpLCBXRUJLSVRfTkVUV09SS19FUlJPUl9DQU5DRUxM
RUQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC51cmwoKS5zdHJpbmcoKSwgXygi
TG9hZCByZXF1ZXN0IGNhbmNlbGxlZCIpKTsKKyAgICByZXR1cm4gV2ViQ29yZTo6Y2FuY2VsbGVk
RXJyb3IocmVxdWVzdCk7CiB9CiAKIFJlc291cmNlRXJyb3IgYmxvY2tlZEVycm9yKGNvbnN0IFJl
c291cmNlUmVxdWVzdCYgcmVxdWVzdCkKIHsKLSAgICByZXR1cm4gUmVzb3VyY2VFcnJvcihnX3F1
YXJrX3RvX3N0cmluZyhXRUJLSVRfUE9MSUNZX0VSUk9SKSwgV0VCS0lUX1BPTElDWV9FUlJPUl9D
QU5OT1RfVVNFX1JFU1RSSUNURURfUE9SVCwKLSAgICAgICAgICAgICAgICAgICAgICAgICByZXF1
ZXN0LnVybCgpLnN0cmluZygpLCBfKCJOb3QgYWxsb3dlZCB0byB1c2UgcmVzdHJpY3RlZCBuZXR3
b3JrIHBvcnQiKSk7CisgICAgcmV0dXJuIFdlYkNvcmU6OmJsb2NrZWRFcnJvcihyZXF1ZXN0KTsK
IH0KIAogUmVzb3VyY2VFcnJvciBjYW5ub3RTaG93VVJMRXJyb3IoY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JiByZXF1ZXN0KQogewotICAgIHJldHVybiBSZXNvdXJjZUVycm9yKGdfcXVhcmtfdG9fc3Ry
aW5nKFdFQktJVF9QT0xJQ1lfRVJST1IpLCBXRUJLSVRfUE9MSUNZX0VSUk9SX0NBTk5PVF9TSE9X
X1VSTCwKLSAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0LnVybCgpLnN0cmluZygpLCBf
KCJVUkwgY2Fubm90IGJlIHNob3duIikpOworICAgIHJldHVybiBXZWJDb3JlOjpjYW5ub3RTaG93
VVJMRXJyb3IocmVxdWVzdCk7CiB9CiAKIFJlc291cmNlRXJyb3IgaW50ZXJydXB0ZWRGb3JQb2xp
Y3lDaGFuZ2VFcnJvcihjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCiB7Ci0gICAgcmV0
dXJuIFJlc291cmNlRXJyb3IoZ19xdWFya190b19zdHJpbmcoV0VCS0lUX1BPTElDWV9FUlJPUiks
IFdFQktJVF9QT0xJQ1lfRVJST1JfRlJBTUVfTE9BRF9JTlRFUlJVUFRFRF9CWV9QT0xJQ1lfQ0hB
TkdFLAotICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3QudXJsKCkuc3RyaW5nKCksIF8o
IkZyYW1lIGxvYWQgd2FzIGludGVycnVwdGVkIikpOworICAgIHJldHVybiBXZWJDb3JlOjppbnRl
cnJ1cHRlZEZvclBvbGljeUNoYW5nZUVycm9yKHJlcXVlc3QpOwogfQogCiBSZXNvdXJjZUVycm9y
IGNhbm5vdFNob3dNSU1FVHlwZUVycm9yKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNl
KQogewotICAgIHJldHVybiBSZXNvdXJjZUVycm9yKGdfcXVhcmtfdG9fc3RyaW5nKFdFQktJVF9Q
T0xJQ1lfRVJST1IpLCBXRUJLSVRfUE9MSUNZX0VSUk9SX0NBTk5PVF9TSE9XX01JTUVfVFlQRSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZS51cmwoKS5zdHJpbmcoKSwgXygiQ29u
dGVudCB3aXRoIHRoZSBzcGVjaWZpZWQgTUlNRSB0eXBlIGNhbm5vdCBiZSBzaG93biIpKTsKKyAg
ICByZXR1cm4gV2ViQ29yZTo6Y2Fubm90U2hvd01JTUVUeXBlRXJyb3IocmVzcG9uc2UpOwogfQog
CiBSZXNvdXJjZUVycm9yIGZpbGVEb2VzTm90RXhpc3RFcnJvcihjb25zdCBSZXNvdXJjZVJlc3Bv
bnNlJiByZXNwb25zZSkKIHsKLSAgICByZXR1cm4gUmVzb3VyY2VFcnJvcihnX3F1YXJrX3RvX3N0
cmluZyhXRUJLSVRfTkVUV09SS19FUlJPUiksIFdFQktJVF9ORVRXT1JLX0VSUk9SX0ZJTEVfRE9F
U19OT1RfRVhJU1QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UudXJsKCkuc3Ry
aW5nKCksIF8oIkZpbGUgZG9lcyBub3QgZXhpc3QiKSk7CisgICAgcmV0dXJuIFdlYkNvcmU6OmZp
bGVEb2VzTm90RXhpc3RFcnJvcihyZXNwb25zZSk7CiB9CiAKIFJlc291cmNlRXJyb3IgcGx1Z2lu
V2lsbEhhbmRsZUxvYWRFcnJvcihjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKIHsK
LSAgICByZXR1cm4gUmVzb3VyY2VFcnJvcihnX3F1YXJrX3RvX3N0cmluZyhXRUJLSVRfUExVR0lO
X0VSUk9SKSwgV0VCS0lUX1BMVUdJTl9FUlJPUl9XSUxMX0hBTkRMRV9MT0FELAotICAgICAgICAg
ICAgICAgICAgICAgICAgIHJlc3BvbnNlLnVybCgpLnN0cmluZygpLCBfKCJQbHVnaW4gd2lsbCBo
YW5kbGUgbG9hZCIpKTsKKyAgICByZXR1cm4gV2ViQ29yZTo6cGx1Z2luV2lsbEhhbmRsZUxvYWRF
cnJvcihyZXNwb25zZSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107835</attachid>
            <date>2011-09-19 05:14:56 -0700</date>
            <delta_ts>2011-09-19 09:54:14 -0700</delta_ts>
            <desc>Fix coding style issues</desc>
            <filename>gtk-errors3.diff</filename>
            <type>text/plain</type>
            <size>21206</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2MDkwNzVlLi4zZTQ3MTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQg
QEAKKzIwMTEtMDktMTkgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHVEtdIFdlYlByb2Nlc3Mgc2hvdWxkbid0IHVzZSB0aGUgR1RLKyBBUEkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDYyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSBlcnJv
cnMgY29kZSB0aGF0IGlzIGNvbW1vbiBiZXR3ZWVuIHdlYmtpMSBhbmQgd2Via2l0MiB0bworICAg
ICAgICBXZWJDb3JlIHNvIHRoYXQgaXQgY2FuIGJlIHNoYXJlZC4KKworICAgICAgICAqIEdOVW1h
a2VmaWxlLmxpc3QuYW06IEFkZCBuZXcgZmlsZXMgdG8gY29tcGlsYXRpb24uCisgICAgICAgICog
cGxhdGZvcm0vZ3RrL0Vycm9yc0d0ay5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Y2Fu
Y2VsbGVkRXJyb3IpOgorICAgICAgICAoV2ViQ29yZTo6YmxvY2tlZEVycm9yKToKKyAgICAgICAg
KFdlYkNvcmU6OmNhbm5vdFNob3dVUkxFcnJvcik6CisgICAgICAgIChXZWJDb3JlOjppbnRlcnJ1
cHRlZEZvclBvbGljeUNoYW5nZUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OmNhbm5vdFNob3dN
SU1FVHlwZUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OmZpbGVEb2VzTm90RXhpc3RFcnJvcik6
CisgICAgICAgIChXZWJDb3JlOjpwbHVnaW5XaWxsSGFuZGxlTG9hZEVycm9yKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ndGsvRXJyb3JzR3RrLmg6IEFkZGVkLgorCiAyMDExLTA5LTE5ICBTaGF3biBT
aW5naCAgPHNoYXduc2luZ2hAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlLW5hbWUgTGF5ZXJD
aHJvbWl1bSBib3JkZXIgZnVuY3Rpb25zIHRvIHJlZmxlY3QgdGhhdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmlu
ZGV4IDljZGVjZmIuLjgzNzQ4YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAor
MjAxMS0wOS0xOSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisK
KyAgICAgICAgW0dUS10gV2ViUHJvY2VzcyBzaG91bGRuJ3QgdXNlIHRoZSBHVEsrIEFQSQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNjIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgV2ViQ29yZSBB
UEkgdG8gY3JlYXRlIGVycm9ycyBpbiBmcmFtZSBsb2FkZXIuCisKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9GcmFtZUxvYWRlckNsaWVudEd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OkZyYW1lTG9hZGVy
Q2xpZW50OjpjYW5jZWxsZWRFcnJvcik6CisgICAgICAgIChXZWJLaXQ6OkZyYW1lTG9hZGVyQ2xp
ZW50OjpibG9ja2VkRXJyb3IpOgorICAgICAgICAoV2ViS2l0OjpGcmFtZUxvYWRlckNsaWVudDo6
Y2Fubm90U2hvd1VSTEVycm9yKToKKyAgICAgICAgKFdlYktpdDo6RnJhbWVMb2FkZXJDbGllbnQ6
OmludGVycnVwdGVkRm9yUG9saWN5Q2hhbmdlRXJyb3IpOgorICAgICAgICAoV2ViS2l0OjpGcmFt
ZUxvYWRlckNsaWVudDo6Y2Fubm90U2hvd01JTUVUeXBlRXJyb3IpOgorICAgICAgICAoV2ViS2l0
OjpGcmFtZUxvYWRlckNsaWVudDo6ZmlsZURvZXNOb3RFeGlzdEVycm9yKToKKyAgICAgICAgKFdl
YktpdDo6RnJhbWVMb2FkZXJDbGllbnQ6OnBsdWdpbldpbGxIYW5kbGVMb2FkRXJyb3IpOgorICAg
ICAgICAqIHdlYmtpdC93ZWJraXRlcnJvci5jcHA6CisgICAgICAgICh3ZWJraXRfbmV0d29ya19l
cnJvcl9xdWFyayk6CisgICAgICAgICh3ZWJraXRfcG9saWN5X2Vycm9yX3F1YXJrKToKKyAgICAg
ICAgKHdlYmtpdF9wbHVnaW5fZXJyb3JfcXVhcmspOgorCiAyMDExLTA5LTEyICBDYXJsb3MgR2Fy
Y2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBSZW9yZ2Fu
aXplIGhlYWRlciBmaWxlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvcG8vQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9ndGsvcG8vQ2hhbmdlTG9nCmluZGV4IGRiOTk0MzcuLjJiZjQ1
ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL3BvL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L2d0ay9wby9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMS0wOS0xOSAg
Q2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dU
S10gV2ViUHJvY2VzcyBzaG91bGRuJ3QgdXNlIHRoZSBHVEsrIEFQSQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNjIKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFBPVEZJTEVTOiBSZW1vdmUgRnJhbWVM
b2FkZXJHdGsuY3BwIGFuZCBhZGQgRXJyb3JzR3RrLmNwcC4KKwogMjAxMS0wOS0xMiAgR3VzdGF2
byBOb3JvbmhhIFNpbHZhICA8Z25zQGdub21lLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiBS
ZW5hbWUgR3JlZWsgdHJhbnNsYXRpb24gZmlsZSwgdGhlIGNvcnJlY3QgY29kZSBpcyBlbApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCmluZGV4IDE0MjI5YTguLjJiZGUzMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyNCBAQAog
MjAxMS0wOS0xOSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAK
KyAgICAgICAgW0dUS10gV2ViUHJvY2VzcyBzaG91bGRuJ3QgdXNlIHRoZSBHVEsrIEFQSQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNjIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgV2ViQ29yZSBB
UEkgdG8gY3JlYXRlIGVycm9ycyBpbiBXZWJQcm9jZXNzLgorCisgICAgICAgICogR05VbWFrZWZp
bGUuYW06IERvbid0IHVzZSB3ZWJraXQvd2Via2llcnJvci5oLgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvZ3RrL1dlYkVycm9yc0d0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6
OmNhbmNlbGxlZEVycm9yKToKKyAgICAgICAgKFdlYktpdDo6YmxvY2tlZEVycm9yKToKKyAgICAg
ICAgKFdlYktpdDo6Y2Fubm90U2hvd1VSTEVycm9yKToKKyAgICAgICAgKFdlYktpdDo6aW50ZXJy
dXB0ZWRGb3JQb2xpY3lDaGFuZ2VFcnJvcik6CisgICAgICAgIChXZWJLaXQ6OmNhbm5vdFNob3dN
SU1FVHlwZUVycm9yKToKKyAgICAgICAgKFdlYktpdDo6ZmlsZURvZXNOb3RFeGlzdEVycm9yKToK
KyAgICAgICAgKFdlYktpdDo6cGx1Z2luV2lsbEhhbmRsZUxvYWRFcnJvcik6CisKKzIwMTEtMDkt
MTkgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCiAgICAgICAg
IFtHVEtdIEZpeCBkaXN0Y2hlY2sgYnVpbGQKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY4MjQxCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmlu
ZGV4IGFlNTA3ZTkuLmJhZjlkMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAt
MjYyMCw2ICsyNjIwLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9XaW5kUnVsZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9XT0ZGRmlsZUZvcm1hdC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1dPRkZGaWxlRm9ybWF0LmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9F
cnJvcnNHdGsuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvRXJyb3JzR3RrLmgg
XAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9LVVJMR3RrLmNwcCBcCiAJU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3RrL0xhbmd1YWdlR3RrLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3RrL0xvZ2dpbmdHdGsuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2d0ay9FcnJvcnNHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0Vy
cm9yc0d0ay5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDJmOWI2Mwot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9FcnJvcnNHdGsu
Y3BwCkBAIC0wLDAgKzEsNzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgSWdhbGlhIFMu
TC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBs
aWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
CisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdp
dGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRl
IHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBT
dHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkVycm9yc0d0ay5oIgorCisjaW5jbHVk
ZSAiUmVzb3VyY2VFcnJvci5oIgorI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgorI2luY2x1
ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKKyNpbmNsdWRlIDxnbGliL2dpMThuLWxpYi5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK1Jlc291cmNlRXJyb3IgY2FuY2VsbGVkRXJyb3IoY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQoreworICAgIHJldHVybiBSZXNvdXJjZUVycm9yKGVy
cm9yRG9tYWluTmV0d29yaywgTmV0d29ya0Vycm9yQ2FuY2VsbGVkLAorICAgICAgICAgICAgICAg
ICAgICAgICAgIHJlcXVlc3QudXJsKCkuc3RyaW5nKCksIF8oIkxvYWQgcmVxdWVzdCBjYW5jZWxs
ZWQiKSk7Cit9CisKK1Jlc291cmNlRXJyb3IgYmxvY2tlZEVycm9yKGNvbnN0IFJlc291cmNlUmVx
dWVzdCYgcmVxdWVzdCkKK3sKKyAgICByZXR1cm4gUmVzb3VyY2VFcnJvcihlcnJvckRvbWFpblBv
bGljeSwgUG9saWN5RXJyb3JDYW5ub3RVc2VSZXN0cmljdGVkUG9ydCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICByZXF1ZXN0LnVybCgpLnN0cmluZygpLCBfKCJOb3QgYWxsb3dlZCB0byB1c2Ug
cmVzdHJpY3RlZCBuZXR3b3JrIHBvcnQiKSk7Cit9CisKK1Jlc291cmNlRXJyb3IgY2Fubm90U2hv
d1VSTEVycm9yKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKK3sKKyAgICByZXR1cm4g
UmVzb3VyY2VFcnJvcihlcnJvckRvbWFpblBvbGljeSwgUG9saWN5RXJyb3JDYW5ub3RTaG93VVJM
LAorICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3QudXJsKCkuc3RyaW5nKCksIF8oIlVS
TCBjYW5ub3QgYmUgc2hvd24iKSk7Cit9CisKK1Jlc291cmNlRXJyb3IgaW50ZXJydXB0ZWRGb3JQ
b2xpY3lDaGFuZ2VFcnJvcihjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCit7CisgICAg
cmV0dXJuIFJlc291cmNlRXJyb3IoZXJyb3JEb21haW5Qb2xpY3ksIFBvbGljeUVycm9yRnJhbWVM
b2FkSW50ZXJydXB0ZWRCeVBvbGljeUNoYW5nZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBy
ZXF1ZXN0LnVybCgpLnN0cmluZygpLCBfKCJGcmFtZSBsb2FkIHdhcyBpbnRlcnJ1cHRlZCIpKTsK
K30KKworUmVzb3VyY2VFcnJvciBjYW5ub3RTaG93TUlNRVR5cGVFcnJvcihjb25zdCBSZXNvdXJj
ZVJlc3BvbnNlJiByZXNwb25zZSkKK3sKKyAgICByZXR1cm4gUmVzb3VyY2VFcnJvcihlcnJvckRv
bWFpblBvbGljeSwgUG9saWN5RXJyb3JDYW5ub3RTaG93TWltZVR5cGUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgcmVzcG9uc2UudXJsKCkuc3RyaW5nKCksIF8oIkNvbnRlbnQgd2l0aCB0aGUg
c3BlY2lmaWVkIE1JTUUgdHlwZSBjYW5ub3QgYmUgc2hvd24iKSk7Cit9CisKK1Jlc291cmNlRXJy
b3IgZmlsZURvZXNOb3RFeGlzdEVycm9yKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNl
KQoreworICAgIHJldHVybiBSZXNvdXJjZUVycm9yKGVycm9yRG9tYWluTmV0d29yaywgTmV0d29y
a0Vycm9yRmlsZURvZXNOb3RFeGlzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25z
ZS51cmwoKS5zdHJpbmcoKSwgXygiRmlsZSBkb2VzIG5vdCBleGlzdCIpKTsKK30KKworUmVzb3Vy
Y2VFcnJvciBwbHVnaW5XaWxsSGFuZGxlTG9hZEVycm9yKGNvbnN0IFJlc291cmNlUmVzcG9uc2Um
IHJlc3BvbnNlKQoreworICAgIHJldHVybiBSZXNvdXJjZUVycm9yKGVycm9yRG9tYWluUGx1Z2lu
LCBQbHVnaW5FcnJvcldpbGxIYW5kbGVMb2FkLAorICAgICAgICAgICAgICAgICAgICAgICAgIHJl
c3BvbnNlLnVybCgpLnN0cmluZygpLCBfKCJQbHVnaW4gd2lsbCBoYW5kbGUgbG9hZCIpKTsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3RrL0Vycm9yc0d0ay5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0Vycm9y
c0d0ay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwMGE3NzAKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvRXJyb3JzR3RrLmgKQEAg
LTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBJZ2FsaWEgUy5MLgorICoK
KyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3Ig
KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkg
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1
dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5
IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt
b3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlz
IGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAq
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwg
RmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZu
ZGVmIEVycm9yc0d0a19oCisjZGVmaW5lIEVycm9yc0d0a19oCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgUmVzb3VyY2VFcnJvcjsKK2NsYXNzIFJlc291cmNlUmVxdWVzdDsKK2NsYXNz
IFJlc291cmNlUmVzcG9uc2U7CisKK2NvbnN0IGNoYXIqIGNvbnN0IGVycm9yRG9tYWluTmV0d29y
ayA9ICJXZWJLaXROZXR3b3JrRXJyb3IiOworY29uc3QgY2hhciogY29uc3QgZXJyb3JEb21haW5Q
b2xpY3kgPSAiV2ViS2l0UG9saWN5RXJyb3IiOworY29uc3QgY2hhciogY29uc3QgZXJyb3JEb21h
aW5QbHVnaW4gPSAiV2ViS2l0UGx1Z2luRXJyb3IiOworCitlbnVtIE5ldHdvcmtFcnJvciB7Cisg
ICAgTmV0d29ya0Vycm9yRmFpbGVkID0gMzk5LAorICAgIE5ldHdvcmtFcnJvclRyYW5zcG9ydCA9
IDMwMCwKKyAgICBOZXR3b3JrRXJyb3JVbmtub3duUHJvdG9jb2wgPSAzMDEsCisgICAgTmV0d29y
a0Vycm9yQ2FuY2VsbGVkID0gMzAyLAorICAgIE5ldHdvcmtFcnJvckZpbGVEb2VzTm90RXhpc3Qg
PSAzMDMKK307CisKKy8vIFN5bmMnZCB3aXRoIE1hYydzIFdlYktpdCBFcnJvcnMuCitlbnVtIFBv
bGljeUVycm9yIHsKKyAgICBQb2xpY3lFcnJvckZhaWxlZCA9IDE5OSwKKyAgICBQb2xpY3lFcnJv
ckNhbm5vdFNob3dNaW1lVHlwZSA9IDEwMCwKKyAgICBQb2xpY3lFcnJvckNhbm5vdFNob3dVUkwg
PSAxMDEsCisgICAgUG9saWN5RXJyb3JGcmFtZUxvYWRJbnRlcnJ1cHRlZEJ5UG9saWN5Q2hhbmdl
ID0gMTAyLAorICAgIFBvbGljeUVycm9yQ2Fubm90VXNlUmVzdHJpY3RlZFBvcnQgPSAxMDMKK307
CisKK2VudW0gUGx1Z2luRXJyb3IgeworICAgIFBsdWdpbkVycm9yRmFpbGVkID0gMjk5LAorICAg
IFBsdWdpbkVycm9yQ2Fubm90RmluZFBsdWdpbiA9IDIwMCwKKyAgICBQbHVnaW5FcnJvckNhbm5v
dExvYWRQbHVnaW4gPSAyMDEsCisgICAgUGx1Z2luRXJyb3JKYXZhVW5hdmFpbGFibGUgPSAyMDIs
CisgICAgUGx1Z2luRXJyb3JDb25uZWN0aW9uQ2FuY2VsbGVkID0gMjAzLAorICAgIFBsdWdpbkVy
cm9yV2lsbEhhbmRsZUxvYWQgPSAyMDQKK307CisKK1Jlc291cmNlRXJyb3IgY2FuY2VsbGVkRXJy
b3IoY29uc3QgUmVzb3VyY2VSZXF1ZXN0Jik7CitSZXNvdXJjZUVycm9yIGJsb2NrZWRFcnJvcihj
b25zdCBSZXNvdXJjZVJlcXVlc3QmKTsKK1Jlc291cmNlRXJyb3IgY2Fubm90U2hvd1VSTEVycm9y
KGNvbnN0IFJlc291cmNlUmVxdWVzdCYpOworUmVzb3VyY2VFcnJvciBpbnRlcnJ1cHRlZEZvclBv
bGljeUNoYW5nZUVycm9yKGNvbnN0IFJlc291cmNlUmVxdWVzdCYpOworUmVzb3VyY2VFcnJvciBj
YW5ub3RTaG93TUlNRVR5cGVFcnJvcihjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CitSZXNvdXJj
ZUVycm9yIGZpbGVEb2VzTm90RXhpc3RFcnJvcihjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CitS
ZXNvdXJjZUVycm9yIHBsdWdpbldpbGxIYW5kbGVMb2FkRXJyb3IoY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYpOworCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay9X
ZWJDb3JlU3VwcG9ydC9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcAppbmRleCA4MTk3YTM1Li5jMmZl
ODA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9Bc3NlcnRN
YXRjaGluZ0VudW1zLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9B
c3NlcnRNYXRjaGluZ0VudW1zLmNwcApAQCAtMjMsOSArMjMsMTEgQEAKIAogI2luY2x1ZGUgIkR1
bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5oIgogI2luY2x1ZGUgIkVkaXRpbmdCZWhhdmlvclR5cGVz
LmgiCisjaW5jbHVkZSAiRXJyb3JzR3RrLmgiCiAjaW5jbHVkZSAiRmluZE9wdGlvbnMuaCIKICNp
bmNsdWRlICJGcmFtZUxvYWRlclR5cGVzLmgiCiAjaW5jbHVkZSAiUGFzdGVib2FyZEhlbHBlci5o
IgorI2luY2x1ZGUgIndlYmtpdGVycm9yLmgiCiAjaW5jbHVkZSAid2Via2l0d2VibmF2aWdhdGlv
bmFjdGlvbi5oIgogI2luY2x1ZGUgIndlYmtpdHdlYnNldHRpbmdzLmgiCiAjaW5jbHVkZSAid2Vi
a2l0d2Vidmlldy5oIgpAQCAtNTYsMyArNTgsMjIgQEAgQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShXRUJLSVRfV0VCX1ZJRVdfVEFSR0VUX0lORk9fVEVYVCwgUGFzdGVib2FyZEhlbHBlcjoK
IENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV0VCS0lUX1dFQl9WSUVXX1RBUkdFVF9JTkZP
X0lNQUdFLCBQYXN0ZWJvYXJkSGVscGVyOjpUYXJnZXRUeXBlSW1hZ2UpOwogQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShXRUJLSVRfV0VCX1ZJRVdfVEFSR0VUX0lORk9fVVJJX0xJU1QsIFBh
c3RlYm9hcmRIZWxwZXI6OlRhcmdldFR5cGVVUklMaXN0KTsKIENPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oV0VCS0lUX1dFQl9WSUVXX1RBUkdFVF9JTkZPX05FVFNDQVBFX1VSTCwgUGFzdGVi
b2FyZEhlbHBlcjo6VGFyZ2V0VHlwZU5ldHNjYXBlVVJMKTsKKworQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShXRUJLSVRfTkVUV09SS19FUlJPUl9GQUlMRUQsIE5ldHdvcmtFcnJvckZhaWxl
ZCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdFQktJVF9ORVRXT1JLX0VSUk9SX1RS
QU5TUE9SVCwgTmV0d29ya0Vycm9yVHJhbnNwb3J0KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oV0VCS0lUX05FVFdPUktfRVJST1JfVU5LTk9XTl9QUk9UT0NPTCwgTmV0d29ya0Vycm9y
VW5rbm93blByb3RvY29sKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV0VCS0lUX05F
VFdPUktfRVJST1JfQ0FOQ0VMTEVELCBOZXR3b3JrRXJyb3JDYW5jZWxsZWQpOworQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShXRUJLSVRfTkVUV09SS19FUlJPUl9GSUxFX0RPRVNfTk9UX0VY
SVNULCBOZXR3b3JrRXJyb3JGaWxlRG9lc05vdEV4aXN0KTsKKworQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShXRUJLSVRfUE9MSUNZX0VSUk9SX0ZBSUxFRCwgUG9saWN5RXJyb3JGYWlsZWQp
OworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXRUJLSVRfUE9MSUNZX0VSUk9SX0NBTk5P
VF9TSE9XX01JTUVfVFlQRSwgUG9saWN5RXJyb3JDYW5ub3RTaG93TWltZVR5cGUpOworQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXRUJLSVRfUE9MSUNZX0VSUk9SX0NBTk5PVF9TSE9XX1VS
TCwgUG9saWN5RXJyb3JDYW5ub3RTaG93VVJMKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oV0VCS0lUX1BPTElDWV9FUlJPUl9GUkFNRV9MT0FEX0lOVEVSUlVQVEVEX0JZX1BPTElDWV9D
SEFOR0UsIFBvbGljeUVycm9yRnJhbWVMb2FkSW50ZXJydXB0ZWRCeVBvbGljeUNoYW5nZSk7CitD
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdFQktJVF9QT0xJQ1lfRVJST1JfQ0FOTk9UX1VT
RV9SRVNUUklDVEVEX1BPUlQsIFBvbGljeUVycm9yQ2Fubm90VXNlUmVzdHJpY3RlZFBvcnQpOwor
CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdFQktJVF9QTFVHSU5fRVJST1JfRkFJTEVE
LCBQbHVnaW5FcnJvckZhaWxlZCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdFQktJ
VF9QTFVHSU5fRVJST1JfQ0FOTk9UX0ZJTkRfUExVR0lOLCBQbHVnaW5FcnJvckNhbm5vdEZpbmRQ
bHVnaW4pOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXRUJLSVRfUExVR0lOX0VSUk9S
X0NBTk5PVF9MT0FEX1BMVUdJTiwgUGx1Z2luRXJyb3JDYW5ub3RMb2FkUGx1Z2luKTsKK0NPTVBJ
TEVfQVNTRVJUX01BVENISU5HX0VOVU0oV0VCS0lUX1BMVUdJTl9FUlJPUl9KQVZBX1VOQVZBSUxB
QkxFLCBQbHVnaW5FcnJvckphdmFVbmF2YWlsYWJsZSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKFdFQktJVF9QTFVHSU5fRVJST1JfQ09OTkVDVElPTl9DQU5DRUxMRUQsIFBsdWdpbkVy
cm9yQ29ubmVjdGlvbkNhbmNlbGxlZCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdF
QktJVF9QTFVHSU5fRVJST1JfV0lMTF9IQU5ETEVfTE9BRCwgUGx1Z2luRXJyb3JXaWxsSGFuZGxl
TG9hZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFt
ZUxvYWRlckNsaWVudEd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9G
cmFtZUxvYWRlckNsaWVudEd0ay5jcHAKaW5kZXggYWRjNTExOC4uZTlkYzEyMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xp
ZW50R3RrLmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIkRPTU9iamVjdENhY2hlLmgi
CiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRlICJEb2N1bWVudExvYWRlckd0
ay5oIgorI2luY2x1ZGUgIkVycm9yc0d0ay5oIgogI2luY2x1ZGUgIkZvcm1TdGF0ZS5oIgogI2lu
Y2x1ZGUgIkZyYW1lTG9hZGVyLmgiCiAjaW5jbHVkZSAiRnJhbWVOZXR3b3JraW5nQ29udGV4dEd0
ay5oIgpAQCAtMTEzMiw0NCArMTEzMywzNyBAQCB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50Ojpkb3du
bG9hZChSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmCiAKIFJl
c291cmNlRXJyb3IgRnJhbWVMb2FkZXJDbGllbnQ6OmNhbmNlbGxlZEVycm9yKGNvbnN0IFJlc291
cmNlUmVxdWVzdCYgcmVxdWVzdCkKIHsKLSAgICByZXR1cm4gUmVzb3VyY2VFcnJvcihnX3F1YXJr
X3RvX3N0cmluZyhXRUJLSVRfTkVUV09SS19FUlJPUiksIFdFQktJVF9ORVRXT1JLX0VSUk9SX0NB
TkNFTExFRCwKLSAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0LnVybCgpLnN0cmluZygp
LCBfKCJMb2FkIHJlcXVlc3QgY2FuY2VsbGVkIikpOworICAgIHJldHVybiBXZWJDb3JlOjpjYW5j
ZWxsZWRFcnJvcihyZXF1ZXN0KTsKIH0KIAogUmVzb3VyY2VFcnJvciBGcmFtZUxvYWRlckNsaWVu
dDo6YmxvY2tlZEVycm9yKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKIHsKLSAgICBy
ZXR1cm4gUmVzb3VyY2VFcnJvcihnX3F1YXJrX3RvX3N0cmluZyhXRUJLSVRfUE9MSUNZX0VSUk9S
KSwgV0VCS0lUX1BPTElDWV9FUlJPUl9DQU5OT1RfVVNFX1JFU1RSSUNURURfUE9SVCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICByZXF1ZXN0LnVybCgpLnN0cmluZygpLCBfKCJOb3QgYWxsb3dl
ZCB0byB1c2UgcmVzdHJpY3RlZCBuZXR3b3JrIHBvcnQiKSk7CisgICAgcmV0dXJuIFdlYkNvcmU6
OmJsb2NrZWRFcnJvcihyZXF1ZXN0KTsKIH0KIAogUmVzb3VyY2VFcnJvciBGcmFtZUxvYWRlckNs
aWVudDo6Y2Fubm90U2hvd1VSTEVycm9yKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkK
IHsKLSAgICByZXR1cm4gUmVzb3VyY2VFcnJvcihnX3F1YXJrX3RvX3N0cmluZyhXRUJLSVRfUE9M
SUNZX0VSUk9SKSwgV0VCS0lUX1BPTElDWV9FUlJPUl9DQU5OT1RfU0hPV19VUkwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgcmVxdWVzdC51cmwoKS5zdHJpbmcoKSwgXygiVVJMIGNhbm5vdCBi
ZSBzaG93biIpKTsKKyAgICByZXR1cm4gV2ViQ29yZTo6Y2Fubm90U2hvd1VSTEVycm9yKHJlcXVl
c3QpOwogfQogCiBSZXNvdXJjZUVycm9yIEZyYW1lTG9hZGVyQ2xpZW50OjppbnRlcnJ1cHRlZEZv
clBvbGljeUNoYW5nZUVycm9yKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKIHsKLSAg
ICByZXR1cm4gUmVzb3VyY2VFcnJvcihnX3F1YXJrX3RvX3N0cmluZyhXRUJLSVRfUE9MSUNZX0VS
Uk9SKSwgV0VCS0lUX1BPTElDWV9FUlJPUl9GUkFNRV9MT0FEX0lOVEVSUlVQVEVEX0JZX1BPTElD
WV9DSEFOR0UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC51cmwoKS5zdHJpbmco
KSwgXygiRnJhbWUgbG9hZCB3YXMgaW50ZXJydXB0ZWQiKSk7CisgICAgcmV0dXJuIFdlYkNvcmU6
OmludGVycnVwdGVkRm9yUG9saWN5Q2hhbmdlRXJyb3IocmVxdWVzdCk7CiB9CiAKIFJlc291cmNl
RXJyb3IgRnJhbWVMb2FkZXJDbGllbnQ6OmNhbm5vdFNob3dNSU1FVHlwZUVycm9yKGNvbnN0IFJl
c291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogewotICAgIHJldHVybiBSZXNvdXJjZUVycm9yKGdf
cXVhcmtfdG9fc3RyaW5nKFdFQktJVF9QT0xJQ1lfRVJST1IpLCBXRUJLSVRfUE9MSUNZX0VSUk9S
X0NBTk5PVF9TSE9XX01JTUVfVFlQRSwKLSAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25z
ZS51cmwoKS5zdHJpbmcoKSwgXygiQ29udGVudCB3aXRoIHRoZSBzcGVjaWZpZWQgTUlNRSB0eXBl
IGNhbm5vdCBiZSBzaG93biIpKTsKKyAgICByZXR1cm4gV2ViQ29yZTo6Y2Fubm90U2hvd01JTUVU
eXBlRXJyb3IocmVzcG9uc2UpOwogfQogCiBSZXNvdXJjZUVycm9yIEZyYW1lTG9hZGVyQ2xpZW50
OjpmaWxlRG9lc05vdEV4aXN0RXJyb3IoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2Up
CiB7Ci0gICAgcmV0dXJuIFJlc291cmNlRXJyb3IoZ19xdWFya190b19zdHJpbmcoV0VCS0lUX05F
VFdPUktfRVJST1IpLCBXRUJLSVRfTkVUV09SS19FUlJPUl9GSUxFX0RPRVNfTk9UX0VYSVNULAot
ICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnVybCgpLnN0cmluZygpLCBfKCJGaWxl
IGRvZXMgbm90IGV4aXN0IikpOworICAgIHJldHVybiBXZWJDb3JlOjpmaWxlRG9lc05vdEV4aXN0
RXJyb3IocmVzcG9uc2UpOwogfQogCiBSZXNvdXJjZUVycm9yIEZyYW1lTG9hZGVyQ2xpZW50Ojpw
bHVnaW5XaWxsSGFuZGxlTG9hZEVycm9yKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNl
KQogewotICAgIHJldHVybiBSZXNvdXJjZUVycm9yKGdfcXVhcmtfdG9fc3RyaW5nKFdFQktJVF9Q
TFVHSU5fRVJST1IpLCBXRUJLSVRfUExVR0lOX0VSUk9SX1dJTExfSEFORExFX0xPQUQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UudXJsKCkuc3RyaW5nKCksIF8oIlBsdWdpbiB3
aWxsIGhhbmRsZSBsb2FkIikpOworICAgIHJldHVybiBXZWJDb3JlOjpwbHVnaW5XaWxsSGFuZGxl
TG9hZEVycm9yKHJlc3BvbnNlKTsKIH0KIAogYm9vbCBGcmFtZUxvYWRlckNsaWVudDo6c2hvdWxk
RmFsbEJhY2soY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2d0ay9wby9QT1RGSUxFUyBiL1NvdXJjZS9XZWJLaXQvZ3RrL3BvL1BPVEZJTEVTCmlu
ZGV4IDU0MzMyYjUuLmI0YWM1YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL3BvL1BP
VEZJTEVTCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL3BvL1BPVEZJTEVTCkBAIC0xLDcgKzEsNiBA
QAogIyBMaXN0IG9mIHNvdXJjZSBmaWxlcyB3aGljaCBjb250YWluIHRyYW5zbGF0YWJsZSBzdHJp
bmdzLgogU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNw
cAogU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ29udGV4dE1lbnVDbGllbnRHdGsu
Y3BwCi1Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0
ay5jcHAKIFNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0Nv
bnRyb2xsZXIuY3BwCiBTb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3Bw
CiBTb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0c291cGF1dGhkaWFsb2cuY3BwCkBAIC0x
MSw0ICsxMCw1IEBAIFNvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJpbnNwZWN0b3Iu
Y3BwCiBTb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2VibmF2aWdhdGlvbmFjdGlvbi5j
cHAKIFNvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5ncy5jcHAKIFNvdXJj
ZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAorU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3RrL0Vycm9yc0d0ay5jcHAKIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Mb2Nh
bGl6ZWRTdHJpbmdzR3RrLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0
L3dlYmtpdGVycm9yLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRlcnJvci5j
cHAKaW5kZXggZTkzYTVkNS4uOWUyYWZkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsv
d2Via2l0L3dlYmtpdGVycm9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Vi
a2l0ZXJyb3IuY3BwCkBAIC0xOCwyMCArMTgsMjEgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmln
LmgiCi0KICNpbmNsdWRlICJ3ZWJraXRlcnJvci5oIgogCisjaW5jbHVkZSAiRXJyb3JzR3RrLmgi
CisKIEdRdWFyayB3ZWJraXRfbmV0d29ya19lcnJvcl9xdWFyayh2b2lkKQogewotICAgIHJldHVy
biBnX3F1YXJrX2Zyb21fc3RhdGljX3N0cmluZygid2Via2l0LW5ldHdvcmstZXJyb3ItcXVhcmsi
KTsKKyAgICByZXR1cm4gZ19xdWFya19mcm9tX3N0YXRpY19zdHJpbmcoV2ViQ29yZTo6ZXJyb3JE
b21haW5OZXR3b3JrKTsKIH0KIAogR1F1YXJrIHdlYmtpdF9wb2xpY3lfZXJyb3JfcXVhcmsodm9p
ZCkKIHsKLSAgICByZXR1cm4gZ19xdWFya19mcm9tX3N0YXRpY19zdHJpbmcoIndlYmtpdC1wb2xp
Y3ktZXJyb3ItcXVhcmsiKTsKKyAgICByZXR1cm4gZ19xdWFya19mcm9tX3N0YXRpY19zdHJpbmco
V2ViQ29yZTo6ZXJyb3JEb21haW5Qb2xpY3kpOwogfQogCiBHUXVhcmsgd2Via2l0X3BsdWdpbl9l
cnJvcl9xdWFyayh2b2lkKQogewotICAgIHJldHVybiBnX3F1YXJrX2Zyb21fc3RhdGljX3N0cmlu
Zygid2Via2l0LXBsdWdpbi1lcnJvci1xdWFyayIpOworICAgIHJldHVybiBnX3F1YXJrX2Zyb21f
c3RhdGljX3N0cmluZyhXZWJDb3JlOjplcnJvckRvbWFpblBsdWdpbik7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2Vm
aWxlLmFtCmluZGV4IDJmZmZjYzQuLjBmMTdmYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L0dOVW1ha2VmaWxlLmFtCisrKyBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtCkBAIC0x
NTIsOCArMTUyLDYgQEAgQlVJTFRfU09VUkNFUyArPSAkKHdlYmtpdDJfYnVpbHRfc291cmNlcykK
IG5vZGlzdF9saWJ3ZWJraXQyZ3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJL
SVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX1NPVVJDRVMgPSQod2Via2l0Ml9idWlsdF9zb3Vy
Y2VzKQogCiBsaWJ3ZWJraXQyZ3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJL
SVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX1NPVVJDRVMgPSBcCi0JU291cmNlL1dlYktpdC9n
dGsvd2Via2l0L3dlYmtpdGVycm9yLmggXAotCVNvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJr
aXRlcnJvci5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRD
b2Rlci5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50Q29kZXJz
LmNwcCBcCiAJU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudENvZGVycy5o
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
Z3RrL1dlYkVycm9yc0d0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L2d0ay9XZWJFcnJvcnNHdGsuY3BwCmluZGV4IDc2ZDlhYzIuLjgzNzVkMDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvZ3RrL1dlYkVy
cm9yc0d0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9ndGsvV2ViRXJyb3JzR3RrLmNwcApAQCAtMjgsMTEgKzI4LDEwIEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiV2ViRXJyb3JzLmgiCiAKKyNpbmNsdWRlIDxXZWJDb3JlL0Vycm9y
c0d0ay5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3Bv
bnNlLmg+Ci0jaW5jbHVkZSA8Z2xpYi9naTE4bi1saWIuaD4KLSNpbmNsdWRlIDx3ZWJraXQvd2Vi
a2l0ZXJyb3IuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKQEAgLTQwLDQ0ICszOSwz
NyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogUmVzb3VyY2VFcnJvciBjYW5jZWxsZWRFcnJvcihj
b25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCiB7Ci0gICAgcmV0dXJuIFJlc291cmNlRXJy
b3IoZ19xdWFya190b19zdHJpbmcoV0VCS0lUX05FVFdPUktfRVJST1IpLCBXRUJLSVRfTkVUV09S
S19FUlJPUl9DQU5DRUxMRUQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC51cmwo
KS5zdHJpbmcoKSwgXygiTG9hZCByZXF1ZXN0IGNhbmNlbGxlZCIpKTsKKyAgICByZXR1cm4gV2Vi
Q29yZTo6Y2FuY2VsbGVkRXJyb3IocmVxdWVzdCk7CiB9CiAKIFJlc291cmNlRXJyb3IgYmxvY2tl
ZEVycm9yKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKIHsKLSAgICByZXR1cm4gUmVz
b3VyY2VFcnJvcihnX3F1YXJrX3RvX3N0cmluZyhXRUJLSVRfUE9MSUNZX0VSUk9SKSwgV0VCS0lU
X1BPTElDWV9FUlJPUl9DQU5OT1RfVVNFX1JFU1RSSUNURURfUE9SVCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICByZXF1ZXN0LnVybCgpLnN0cmluZygpLCBfKCJOb3QgYWxsb3dlZCB0byB1c2Ug
cmVzdHJpY3RlZCBuZXR3b3JrIHBvcnQiKSk7CisgICAgcmV0dXJuIFdlYkNvcmU6OmJsb2NrZWRF
cnJvcihyZXF1ZXN0KTsKIH0KIAogUmVzb3VyY2VFcnJvciBjYW5ub3RTaG93VVJMRXJyb3IoY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogewotICAgIHJldHVybiBSZXNvdXJjZUVycm9y
KGdfcXVhcmtfdG9fc3RyaW5nKFdFQktJVF9QT0xJQ1lfRVJST1IpLCBXRUJLSVRfUE9MSUNZX0VS
Uk9SX0NBTk5PVF9TSE9XX1VSTCwKLSAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0LnVy
bCgpLnN0cmluZygpLCBfKCJVUkwgY2Fubm90IGJlIHNob3duIikpOworICAgIHJldHVybiBXZWJD
b3JlOjpjYW5ub3RTaG93VVJMRXJyb3IocmVxdWVzdCk7CiB9CiAKIFJlc291cmNlRXJyb3IgaW50
ZXJydXB0ZWRGb3JQb2xpY3lDaGFuZ2VFcnJvcihjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
c3QpCiB7Ci0gICAgcmV0dXJuIFJlc291cmNlRXJyb3IoZ19xdWFya190b19zdHJpbmcoV0VCS0lU
X1BPTElDWV9FUlJPUiksIFdFQktJVF9QT0xJQ1lfRVJST1JfRlJBTUVfTE9BRF9JTlRFUlJVUFRF
RF9CWV9QT0xJQ1lfQ0hBTkdFLAotICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3QudXJs
KCkuc3RyaW5nKCksIF8oIkZyYW1lIGxvYWQgd2FzIGludGVycnVwdGVkIikpOworICAgIHJldHVy
biBXZWJDb3JlOjppbnRlcnJ1cHRlZEZvclBvbGljeUNoYW5nZUVycm9yKHJlcXVlc3QpOwogfQog
CiBSZXNvdXJjZUVycm9yIGNhbm5vdFNob3dNSU1FVHlwZUVycm9yKGNvbnN0IFJlc291cmNlUmVz
cG9uc2UmIHJlc3BvbnNlKQogewotICAgIHJldHVybiBSZXNvdXJjZUVycm9yKGdfcXVhcmtfdG9f
c3RyaW5nKFdFQktJVF9QT0xJQ1lfRVJST1IpLCBXRUJLSVRfUE9MSUNZX0VSUk9SX0NBTk5PVF9T
SE9XX01JTUVfVFlQRSwKLSAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZS51cmwoKS5z
dHJpbmcoKSwgXygiQ29udGVudCB3aXRoIHRoZSBzcGVjaWZpZWQgTUlNRSB0eXBlIGNhbm5vdCBi
ZSBzaG93biIpKTsKKyAgICByZXR1cm4gV2ViQ29yZTo6Y2Fubm90U2hvd01JTUVUeXBlRXJyb3Io
cmVzcG9uc2UpOwogfQogCiBSZXNvdXJjZUVycm9yIGZpbGVEb2VzTm90RXhpc3RFcnJvcihjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKIHsKLSAgICByZXR1cm4gUmVzb3VyY2VFcnJv
cihnX3F1YXJrX3RvX3N0cmluZyhXRUJLSVRfTkVUV09SS19FUlJPUiksIFdFQktJVF9ORVRXT1JL
X0VSUk9SX0ZJTEVfRE9FU19OT1RfRVhJU1QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgcmVz
cG9uc2UudXJsKCkuc3RyaW5nKCksIF8oIkZpbGUgZG9lcyBub3QgZXhpc3QiKSk7CisgICAgcmV0
dXJuIFdlYkNvcmU6OmZpbGVEb2VzTm90RXhpc3RFcnJvcihyZXNwb25zZSk7CiB9CiAKIFJlc291
cmNlRXJyb3IgcGx1Z2luV2lsbEhhbmRsZUxvYWRFcnJvcihjb25zdCBSZXNvdXJjZVJlc3BvbnNl
JiByZXNwb25zZSkKIHsKLSAgICByZXR1cm4gUmVzb3VyY2VFcnJvcihnX3F1YXJrX3RvX3N0cmlu
ZyhXRUJLSVRfUExVR0lOX0VSUk9SKSwgV0VCS0lUX1BMVUdJTl9FUlJPUl9XSUxMX0hBTkRMRV9M
T0FELAotICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnVybCgpLnN0cmluZygpLCBf
KCJQbHVnaW4gd2lsbCBoYW5kbGUgbG9hZCIpKTsKKyAgICByZXR1cm4gV2ViQ29yZTo6cGx1Z2lu
V2lsbEhhbmRsZUxvYWRFcnJvcihyZXNwb25zZSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dAo=
</data>
<flag name="review"
          id="104618"
          type_id="1"
          status="+"
          setter="mrobinson"
    />
          </attachment>
      

    </bug>

</bugzilla>