Return-Path: Delivered-To: apmail-incubator-jsecurity-user-archive@minotaur.apache.org Received: (qmail 24821 invoked from network); 13 May 2009 17:54:35 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 13 May 2009 17:54:35 -0000 Received: (qmail 12370 invoked by uid 500); 13 May 2009 17:54:35 -0000 Delivered-To: apmail-incubator-jsecurity-user-archive@incubator.apache.org Received: (qmail 12340 invoked by uid 500); 13 May 2009 17:54:34 -0000 Mailing-List: contact jsecurity-user-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: jsecurity-user@incubator.apache.org Delivered-To: mailing list jsecurity-user@incubator.apache.org Received: (qmail 12331 invoked by uid 99); 13 May 2009 17:54:34 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 13 May 2009 17:54:34 +0000 X-ASF-Spam-Status: No, hits=2.2 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of mbosteels.dns@gmail.com designates 209.85.128.190 as permitted sender) Received: from [209.85.128.190] (HELO fk-out-0910.google.com) (209.85.128.190) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 13 May 2009 17:54:26 +0000 Received: by fk-out-0910.google.com with SMTP id z22so356740fkz.12 for ; Wed, 13 May 2009 10:54:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type; bh=Eh1a5p49I5MqYsK+KMWYZmH+MsvipD0usbhlkkZn0c0=; b=FwXyv21pwWekEOrYiqi+wmVsvopM8j8PzcPvE7yg9YH8MFJX/H2w/sjRQfrORXpztC 2tlZXqkNWJDnC18r7K6/wN4ZIJ2FKObElnXn3w2EbovYjXxM9Yyi+YyD7TAUW4/l5uXx ts+h9y09NfK+HEi//QKyJN4uzulXGPSOwyweI= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=K7Emxy91juGI22RVzNIvZX7zVj9UlUKBkfcZDySbVNzf2iUnZoewKHXK3w6gXM0yC6 fF+kkagRh+0kXRJ5ZsN9p6CmikJTsSCYMmTQEczNnl4ch9M7M/Go5ssaWEbHA1hX4a2l 7DGkmI1JTOmsFBpnfRNGfYz35X0dNZz+7dbyU= MIME-Version: 1.0 Received: by 10.204.31.78 with SMTP id x14mr1180226bkc.3.1242237243820; Wed, 13 May 2009 10:54:03 -0700 (PDT) In-Reply-To: References: <44b57a610905130652i3bbaed81k76cc05a6533f6509@mail.gmail.com> Date: Wed, 13 May 2009 19:54:03 +0200 Message-ID: <5e87acee0905131054t3f475f3ap40f170c24a239a0e@mail.gmail.com> Subject: Re: web.xml configuration error From: Maarten Bosteels To: jsecurity-user@incubator.apache.org Content-Type: multipart/alternative; boundary=001485f04092a510030469cee5ed X-Virus-Checked: Checked by ClamAV on apache.org --001485f04092a510030469cee5ed Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hello Altu=C4=9F, You can find some samples and other useful code here: https://wicket-stuff.svn.sourceforge.net/svnroot/wicket-stuff/trunk/wickets= tuff-core/ki-security/ regards Maarten On Wed, May 13, 2009 at 7:21 PM, Altu=C4=9F B. Alt=C4=B1nta=C5=9F wrote: > I think I found the problem. > I replaced the filters order. > > First order - Apache Ki filter > Second order - Wicket Filter > > now It works ! > > Great. > > > > 2009/5/13 Altu=C4=9F B. Alt=C4=B1nta=C5=9F > > Hi Les; >> Yes i 've already defined the filter, my complete web.xml file : >> >> >> >> > PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" >> "http://java.sun.com/dtd/web-app_2_3.dtd"> >> >> >> Dodod >> >> DododUrl >> >> org.apache.wicket.protocol.http.WicketFilter >> >> applicationClassName >> com.dodod.web.DododUygulamasi >> >> >> >> >> KiFilter >> org.apache.ki.web.servlet.KiFilter >> >> config >> >> >> # The KiFilter configuration is very powerful and >> flexible, while still remaining succinct. >> # Please read the comprehensive example, with full >> comments and explanations, in the JavaDoc: >> # >> # >> http://ki.apache.org/api/org/apache/ki/web/servlet/KiFilter.html >> >> [main] >> >> myRealm =3D com.dodod.security.MyRealm >> >> [filters] >> ki.loginUrl =3D /login >> authc.successUrl =3D / >> >> [urls] >> # The /login.jsp is not restricted to authenticated user= s >> (otherwise no one could log in!), but >> # the 'authc' filter must still be specified for it so i= t >> can process that url's >> # login submissions. It is 'smart' enough to allow those >> requests through as specified by the >> # ki.loginUrl above. >> /login =3D authcBasic >> >> >> >> >> >> >> >> >> >> DodoUrl >> /* >> >> >> >> KiFilter >> /* >> >> >> >> >> >> >> >> >> >> >> The same exception occurs : >> >> Caused by: java.lang.IllegalStateException: No SecurityManager accessibl= e >> to this method, either bound to the org.apache.ki.util.ThreadContext or = as a >> vm static singleton. See the org.apache.ki.SecurityUtils.getSubject() >> method JavaDoc for an explanation of expected environment configuration. >> at org.apache.ki.SecurityUtils.getSubject(SecurityUtils.java:79) >> >> jar files that i am using >> >> ki-core-1.0-incubating-SNAPSHOT.jar >> ki-web-1.0-incubating-SNAPSHOT.jar >> commons-logging-1.0.3.jar >> commons-beanutils-1.7.0.jar >> >> Thanks. >> >> 2009/5/13 Les Hazlewood >> >> Hi Altu=C4=9F, >>> >>> You don't need the two lines defining the SecurityManager - that is don= e >>> by default. >>> >>> Other than that, this looks ok. Did you ensure that you set up a filte= r >>> mapping to ensure the Filter intercepts that url (or set of urls)? >>> >>> For example: >>> >>> >>> KiFilter >>> /* >>> >>> >>> Cheers, >>> >>> Les >>> >>> >>> On Wed, May 13, 2009 at 7:09 AM, Altu=C4=9F B. Alt=C4=B1nta=C5=9F wrote: >>> >>>> Hi all; >>>> I am using wicket and i need a security framework at that point Apach= e >>>> ki seems ok to me. >>>> >>>> First i am getting this error message : >>>> >>>> No SecurityManager accessible to this method, either bound to the >>>> org.apache.ki.util.ThreadContext or as a vm static singleton. See the >>>> org.apache.ki.SecurityUtils.getSubject() method JavaDoc for an explana= tion >>>> of expected environment configuration. >>>> >>>> When i do this : >>>> >>>> UsernamePasswordToken token =3D new UsernamePasswordToken(email , >>>> password); >>>> token.setRememberMe(true); >>>> >>>> Subject currentUser =3D SecurityUtils.getSubject(); >>>> try { >>>> currentUser.login(token); // throws above exception >>>> catch(....) { >>>> ..... >>>> } >>>> >>>> Here is my web.xml >>>> >>>> >>>> KiFilter >>>> org.apache.ki.web.servlet.KiFilter >>>> >>>> config >>>> >>>> securityManager =3D >>>> org.apache.ki.web.DefaultWebSecurityManager >>>> >>>> securityManager.sessionMode =3D http >>>> # The KiFilter configuration is very powerful and >>>> flexible, while still remaining succinct. >>>> # Please read the comprehensive example, with full >>>> comments and explanations, in the JavaDoc: >>>> # >>>> # >>>> http://ki.apache.org/api/org/apache/ki/web/servlet/KiFilter.html >>>> >>>> [main] >>>> >>>> myRealm =3D com.dodod.security.MyRealm >>>> >>>> [filters] >>>> ki.loginUrl =3D /login >>>> authc.successUrl =3D / >>>> >>>> [urls] >>>> # The /login.jsp is not restricted to authenticated >>>> users (otherwise no one could log in!), but >>>> # the 'authc' filter must still be specified for it so >>>> it can process that url's >>>> # login submissions. It is 'smart' enough to allow tho= se >>>> requests through as specified by the >>>> # ki.loginUrl above. >>>> /login=3D authcBasic >>>> >>>> >>>> >>>> >>>> >>>> >>>> I wrote my own com.dodod.security.MyRealm class which >>>> extends AuthorizingRealm and overrides doGetAuthenticationInfo >>>> and doGetAuthorizationInfo methods. >>>> >>>> What is wrong ? >>>> >>>> Thanks. >>>> >>>> -- >>>> Altu=C4=9F. >>>> >>> >>> >> >> >> -- >> Altu=C4=9F. >> > > > > -- > Altu=C4=9F. > --001485f04092a510030469cee5ed Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hello Altu=C4=9F,

You can find some samples and other useful code he= re:
https://wicket-stuff.svn.sourcefo= rge.net/svnroot/wicket-stuff/trunk/wicketstuff-core/ki-security/

regards
Maarten

On Wed, May 13, 20= 09 at 7:21 PM, Altu=C4=9F B. Alt=C4=B1nta=C5=9F <altuga@gmail.com> wrote:
I think I found the problem.=C2=A0

I replaced the filter= s order.=C2=A0

First =C2=A0order - Apache Ki filte= r
Second order - Wicket Filter

now It wo= rks !=C2=A0

Great.=C2=A0



2009/5/13 Altu=C4=9F B. Alt=C4=B1nta=C5=9F <altuga@gmail.= com>

Hi Les;=C2=A0

Yes i 've already defined the filter, = my complete web.xml file :=C2=A0


<?xml version=3D"1.0" encoding=3D"UTF-8"?>
<!DOCTYPE web-app
=C2=A0=C2=A0 =C2=A0 =C2=A0PUBLIC "-//Sun Microsystems, Inc.//DTD = Web Application 2.3//EN"
=C2=A0=C2=A0 =C2=A0 =C2=A0"http://j= ava.sun.com/dtd/web-app_2_3.dtd">

<web-app>
=C2=A0=C2=A0 =C2=A0<display-nam= e>Dodod</display-name>
=C2=A0=C2=A0 =C2=A0<filter>=
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0<filter-name>DododUrl<= /filter-name>
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0<filter-clas= s>org.apache.wicket.protocol.http.WicketFilter</filter-class>
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0<init-param>
=C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<param-name>applicationClass= Name</param-name>
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0<param-value>com.dodod.web.DododUygulamasi</param-value><= /div>
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0</init-param>
=C2=A0=C2=A0 =C2=A0</filter>

=C2= =A0=C2=A0 =C2=A0<filter>
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0&= lt;filter-name>KiFilter</filter-name>
=C2=A0=C2=A0 =C2= =A0 =C2=A0 =C2=A0<filter-class>org.apache.ki.web.servlet.KiFilter<= /filter-class>
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0<init-param>
=C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<param-name>config</param= -name>
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<para= m-value>
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0=C2=A0
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0# The KiFilter configuration is very powerful and flexible= , while still remaining succinct.
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0# Please = read the comprehensive example, with full comments and explanations, in the= JavaDoc:
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0#
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0# http://ki.apache.org/api/org/apache/ki/web/serv= let/KiFilter.html

=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0[main]

=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0myRealm =C2=A0=3D com.dodod.security.MyRealm
<= div>
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0[filters]
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0ki.loginUrl =3D /login
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0authc.suc= cessUrl =3D /

=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0[urls]
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0# The /login.jsp is not restricted to authen= ticated users (otherwise no one could log in!), but
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0# the 'aut= hc' filter must still be specified for it so it can process that url= 9;s
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= # login submissions. It is 'smart' enough to allow those requests t= hrough as specified by the
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0# ki.logi= nUrl above.
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0/login =3D authcBasic
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0

=C2=A0=C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0</param-value>
=C2=A0=C2=A0 =C2= =A0 =C2=A0 =C2=A0</init-param>
=C2=A0=C2=A0 =C2=A0</filter>

=C2=A0=C2=A0 = =C2=A0

=C2=A0=C2=A0 =C2=A0<filter-mapping= >
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0<filter-name>DodoUrl&= lt;/filter-name>
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0<url= -pattern>/*</url-pattern>
=C2=A0=C2=A0 =C2=A0</filter-mapping>

= =C2=A0=C2=A0 <filter-mapping>
=C2=A0=C2=A0 =C2=A0 =C2=A0 = =C2=A0<filter-name>KiFilter</filter-name>
=C2=A0=C2= =A0 =C2=A0 =C2=A0 =C2=A0<url-pattern>/*</url-pattern>
=C2=A0=C2=A0 =C2=A0</filter-mapping>


</web-app>





<= br>
The same exception occurs :=C2=A0

Caused by: java.lang.IllegalStateException: No SecurityManager accessible t= o this method, either bound to the org.apache.ki.util.ThreadContext or as a= vm static singleton. =C2=A0See the org.apache.ki.SecurityUtils.getSubject(= ) method JavaDoc for an explanation of expected environment configuration.<= /div>
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0at org.apache.ki.SecurityUtils.getSub= ject(SecurityUtils.java:79)

jar files that i am us= ing=C2=A0

ki-core-1.0-incubating-SNAPSHOT.jar
<= /div>
ki-web-1.0-incubating-SNAPSHOT.jar
commons-logging-1.0.3.jar
commons-beanutils-1.7.0.= jar

Thanks.

2009/5/13 Les Hazlewood <lhazlewood@apache.org>

Hi Altu=C4=9F,
You don't need the two lines defining the SecurityManager - that i= s done by default.

Other than that, this looks ok.=C2=A0 Did you ensure that you set up a = filter mapping to ensure the Filter intercepts that url (or set of urls)? <= br>
For example:

<filter-mapping>

=C2=A0=C2=A0=C2=A0 &= lt;filter-name>KiFilter</filter-name>
=C2=A0=C2=A0=C2=A0 = <url-pattern>/*</url-pattern>
</filter-mapping>
Cheers,

Les


On Wed, May 13, 2009 at 7:09 AM, Altu=C4=9F B. Alt=C4=B1nta=C5=9F <altuga@g= mail.com> wrote:
Hi all;=C2=A0

I am using wicket and i need a security fr= amework at that point =C2=A0Apache ki seems ok to me.=C2=A0

<= /div>
First i am getting this error message :=C2=A0

No SecurityManager accessible to this method, either bound to th= e org.apache.ki.util.ThreadContext or as a vm static singleton. =C2=A0See t= he org.apache.ki.SecurityUtils.getSubject() method JavaDoc for an explanati= on of expected environment configuration.

When i do this :=C2=A0

= =C2=A0UsernamePasswordToken token =3D new UsernamePasswordToken(email , pas= sword);
=C2=A0=C2=A0token.setRememberMe(true);

=C2=A0=C2=A0Subject currentUser =3D SecurityUtils.getSubject();
=C2=A0=C2=A0try {
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0currentUser.login(token); // throw= s above exception
=C2=A0=C2=A0catch(....) {
=C2= =A0=C2=A0 .....
=C2=A0=C2=A0 }=C2=A0

Here is my web.xml=C2=A0

=
=C2=A0<filter>
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0&= lt;filter-name>KiFilter</filter-name>
=C2=A0=C2=A0 =C2= =A0 =C2=A0 =C2=A0<filter-class>org.apache.ki.web.servlet.KiFilter<= /filter-class>
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0<init-param>
=C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<param-name>config</param= -name>
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<para= m-value>
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0securityManager =3D org.apache.ki.web.DefaultWebSecurityManager

=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0securityManager.sessionMode =3D http
=C2=A0=C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0# The KiFilter configuration is ve= ry powerful and flexible, while still remaining succinct.
=C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0# Please read the co= mprehensive example, with full comments and explanations, in the JavaDoc:
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0#
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0# http://ki.apache.org/api/org/apache/ki/web/servlet/KiFilter.ht= ml

=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0[main]

=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0myRealm =C2=A0=3D com.dodod.security.MyRealm

=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0[filters]
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0ki.logi= nUrl =3D /login
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0authc.successUrl =3D /

=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0[urls]
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0# The /login.jsp is not restricted to authenticated users (otherw= ise no one could log in!), but
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0# the 'authc' filter must still be speci= fied for it so it can process that url's
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0# login s= ubmissions. It is 'smart' enough to allow those requests through as= specified by the
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0# ki.loginUrl above.
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/login=3D authcBasic
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0</param-value= >
=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0</init-param>
=C2=A0=C2=A0 =C2=A0</filter>

I =C2=A0wrote my own=C2=A0com.dodod.security.MyRealm class which exte= nds=C2=A0AuthorizingRealm and overrides=C2=A0doGetAuthenticationInfo and=C2= =A0doGetAuthorizationInfo methods.=C2=A0

What is wrong ?=C2=A0

Thanks.<= br clear=3D"all">
--
Altu=C4=9F.




-- Altu=C4=9F.



--
Altu=C4=9F.=

--001485f04092a510030469cee5ed--