Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 79CFD20049C for ; Fri, 11 Aug 2017 09:51:17 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 782D216CEAA; Fri, 11 Aug 2017 07:51:17 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id C47C516CE9C for ; Fri, 11 Aug 2017 09:51:15 +0200 (CEST) Received: (qmail 36210 invoked by uid 500); 11 Aug 2017 07:51:14 -0000 Mailing-List: contact user-help@ignite.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@ignite.apache.org Delivered-To: mailing list user@ignite.apache.org Received: (qmail 36194 invoked by uid 99); 11 Aug 2017 07:51:14 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 11 Aug 2017 07:51:14 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 4B56C1A0873 for ; Fri, 11 Aug 2017 07:51:13 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 2.59 X-Spam-Level: ** X-Spam-Status: No, score=2.59 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, HTML_MESSAGE=2, HTML_OBFUSCATE_05_10=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_SORBS_SPAM=0.5, SPF_PASS=-0.001, T_DKIM_INVALID=0.01] autolearn=disabled Authentication-Results: spamd2-us-west.apache.org (amavisd-new); dkim=neutral reason="invalid (public key: not available)" header.d=eisgroup.com Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id JAQ6Tr2Luor1 for ; Fri, 11 Aug 2017 07:51:09 +0000 (UTC) Received: from mail-it0-f51.google.com (mail-it0-f51.google.com [209.85.214.51]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id 9FAED60D17 for ; Fri, 11 Aug 2017 07:51:08 +0000 (UTC) Received: by mail-it0-f51.google.com with SMTP id 76so24331947ith.0 for ; Fri, 11 Aug 2017 00:51:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eisgroup.com; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=AbtXGUu3x1IHYe9hcorfkQE4Thdf4eDlycN4c7uAH1A=; b=Tdf9rGE1bCyLeH/qZdzrVu9Y7L9w1AdxIb/Q36BXlWgVpD30YKB2e+ruw6Ajr4SJo4 QhJ3q2kpwn0ewisNk81Ym/DtnJGnsM4A/E+aWB8zXPWxooRzGHf91Xx6ak2pRngUxbYh iFRTJlvUkHNbxf1x9ItF7cIz3AGxqVx7bcg/I= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=AbtXGUu3x1IHYe9hcorfkQE4Thdf4eDlycN4c7uAH1A=; b=Tc8qQ0aIF4CvcocGZK468WCCbnD5YMuJbcOky6/sSoc7KzhbWSYognUmTu9dNNrlJi FQDv4ZQhgvWlBgyCrNVgT4064XjkDGdpFpGNTPgeowqPX/Xn3WOc1VGTj+oC1c20OaRB zDRMGGmMG3G3h9/cnSj9ReBGlxvj5WXZgrJYxY0506skqKIfTkD3sEPK+xe+cnxcraTk jiIzGbvZfEZeNxid+dF7fwqN+h+e/q/H9s5vp+O11i1KW31yMHqfXaVvnvwNL21zhspy w4AXWA/H4UOM3MpgNuiXmdKsNDI94dlM86DuxD7OZ6vDLHBr33FPj+4DH9r8XgOff0vk dLHg== X-Gm-Message-State: AHYfb5hpBoXUEhAdJAqqbhX1FSnyTNIn/ITwpl8hrLYDiE77nMfZn/Yp N86091zZkbIdSU7avUcQezGE14BKpiuoryI= X-Received: by 10.36.98.139 with SMTP id d133mr12663420itc.115.1502437866815; Fri, 11 Aug 2017 00:51:06 -0700 (PDT) MIME-Version: 1.0 Received: by 10.79.142.131 with HTTP; Fri, 11 Aug 2017 00:51:06 -0700 (PDT) In-Reply-To: References: <1502380737740-16101.post@n6.nabble.com> From: Siarhei Mironchyk Date: Fri, 11 Aug 2017 10:51:06 +0300 Message-ID: Subject: Re: [MSG Uncertified] Re: Ignite fails to allocate more memory then initially allocated when maxSize property provided in MemoryPolicyConfiguration To: user@ignite.apache.org Content-Type: multipart/mixed; boundary="001a1145b6c65a0c5b05567593aa" archived-at: Fri, 11 Aug 2017 07:51:17 -0000 --001a1145b6c65a0c5b05567593aa Content-Type: multipart/alternative; boundary="001a1145b6c65a0c5705567593a8" --001a1145b6c65a0c5705567593a8 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Thanks for response. Yes, I tried to reproduce in latest Ignite 2.1 and all works good. Sorry, forgot to specify version. If that an issue it is in ver. 2.0.0#20170430-sha1:d4eef3c6 Other system information: Config URL: file:/C:/work/apache-ignite/apache-ignite-fabric-2.0.0-bin/examples/config/= my-client-example-memory-policies.xml OS: Windows 7 6.1 amd64 Language runtime: Java Platform API Specification ver. 1.8 VM information: Java(TM) SE Runtime Environment 1.8.0_121-b13 Oracle Corporation Java HotSpot(TM) 64-Bit Server VM 25.121-b13 VM total memory: 5.3GB On Thu, Aug 10, 2017 at 8:47 PM, afedotov wrote: > Hi, > > Provided configuration works as expected on Ignite version 2.1. > On my side, in this configuration, I got 3 memory segment allocations. > > Have you tried requesting cache.size() after populating the cache? > Please provide the full configuration files so as I could check them. > > Kind regards, > Alex. > > On Thu, Aug 10, 2017 at 6:58 PM, smironchyk [via Apache Ignite Users] <[h= idden > email] > wrote= : > >> Hi! I am trying to configure and test my custom memory policy for the >> simple 1 client - 1 server node topology. >> >> In order to do this I added memory configuration for my server node like >> this with 1GB_Region_Eviction memory policy configured. >> >> >> > guration.MemoryConfiguration"> >> >> >> >> >> >> > guration.MemoryPolicyConfiguration"> >> > value=3D"1GB_Region_Eviction"/> >> > /> >> > 1024 * 1024}"/> >> > 1024 * 1024}"/> >> > value=3D"RANDOM_2_LRU"/> >> >> >> >> >> >> >> >> My client node connects to server and starts putting new entries with >> size ~ 2MB to cache with interval in 1 sec. See client config below. >> >> >> >> >> >> >> >> > guration.CacheConfiguration"> >> >> >> >> > value=3D"1GB_Region_Eviction"/> >> >> > value=3D"FULL_SYNC"/> >> >> >> >> > factory-method=3D"factoryOf"> >> >> >> >> >> >> >> ... >> >> >> I've got message in server node log like this >> [12:34:16,622][INFO][sys-stripe-1-#2%null%][PageMemoryNoStoreImpl] >> Allocated next memory segment [plcName=3D1GB_Region_Eviction, chunkSize= =3D268.4 >> MB] >> And after this no more memory chunks allocated by node. And my maxSize >> ignored by cache. >> What am I doing wrong here. Please advise. >> >> my-client-example-memory-policies.xml >> >> my-example-memory-policies.xml >> >> MyMemoryPoliciesExample.java >> >> >> ------------------------------ >> If you reply to this email, your message will be added to the discussion >> below: >> http://apache-ignite-users.70518.x6.nabble.com/Ignite-fails- >> to-allocate-more-memory-then-initially-allocated-when-maxSi >> ze-property-provided-in-Memon-tp16101.html >> To start a new topic under Apache Ignite Users, email [hidden email] >> >> To unsubscribe from Apache Ignite Users, click here. >> NAML >> >> > > > ------------------------------ > View this message in context: Re: Ignite fails to allocate more memory > then initially allocated when maxSize property provided in > MemoryPolicyConfiguration > > > Sent from the Apache Ignite Users mailing list archive > at Nabble.com. > --=20 *Siarhei Mironchyk* *Developer* o: +375.17.228.25.92 m: +375.29.568.19.01 e: smironchyk@eisgroup.com skype: mironchik.sergei.olegovich *EIS Group Powering Insurance Innovation* *=C2=AE *visit us: www.eisgroup.com --001a1145b6c65a0c5705567593a8 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Thanks for response. Yes, I tried to reproduce in latest I= gnite 2.1 and all works good.

Sorry, forgot to specify version. If = that an issue it is in ver. 2.0.0#20170430-sha1:d4eef3c6
Other system in= formation:
Config URL: file:/C:/work/apache-ignite/apache-ignite-fabric-= 2.0.0-bin/examples/config/my-client-example-memory-policies.xml
OS: Wind= ows 7 6.1 amd64
Language runtime: Java Platform API Specification ver. 1= .8
VM information: Java(TM) SE Runtime Environment 1.8.0_121-b13 Oracle = Corporation Java HotSpot(TM) 64-Bit Server VM 25.121-b13
VM total memory= : 5.3GB



On Thu, Aug 10, 2017 at 8:47 PM, afedotov <alexander.fe= dotoff@gmail.com> wrote:
Hi,

Provided configuration works as expected on Ignit= e version 2.1.
On my side, in this configuration, I got 3 memory segment= allocations.

Have you tried requesting cache.size() after populatin= g the cache?
Please provide the full configuration files so as I could c= heck them.

Kind regards,
Alex.

On Thu, Aug 10, 2017 = at 6:58 PM, smironchyk [via Apache Ignite Users] <[hidden email]><= /span> wrote:
Hi! I am trying to configure and test my custom memory policy for the simp= le 1 client - 1 server node topology.

In order to do this I added memory configuration for my server node= like this with 1GB_Region_Eviction memory policy configured.

=C2=A0 =C2=A0 =C2=A0 =C2=A0 <property name=3D"memoryConfigu= ration">
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <bean clas= s=3D"org.apache.ignite.configuration.MemoryConfiguration">= ;
=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 <property name=3D"pag= eSize" value=3D"#{16 * 1024}"/>

=C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <property name=3D"memoryPoli= cies">
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 <list>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <bean class=3D"org.apache.ig= nite.configuration.MemoryPolicyConfiguration">
=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 <property name=3D"name" value=3D"1GB_Re= gion_Eviction"/>
=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 <property name=3D&q= uot;metricsEnabled" value=3D"true" />
=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 <property name=3D"initialSize" value=3D"#{250 = * 1024 * 1024}"/>
=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 <property name=3D&q= uot;maxSize" value=3D"#{1l * 1024 * 1024 * 1024}"/>
= =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 <property name=3D"pageEvictionMode" v= alue=3D"RANDOM_2_LRU"/>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 </bean>

=C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 </lis= t>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 </prope= rty>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 </bean>
=C2= =A0 =C2=A0 =C2=A0 =C2=A0 </property>

My client node connects t= o server and starts putting new entries with size ~ 2MB to cache with inter= val in 1 sec. See client config below.
<bean class=3D"org.apache.ignite.configuration.IgniteConfi= guration">
=C2=A0 =C2=A0 =C2=A0 =C2=A0 <property name=3D"= ;clientMode" value=3D"true"/>
=C2=A0 =C2=A0 =C2=A0 =C2= =A0
=C2=A0 =C2=A0 =C2=A0 =C2=A0 <property name=3D"peerClassLoad= ingEnabled" value=3D"true"/>

=C2=A0 =C2=A0 =C2=A0 = =C2=A0 <property name=3D"cacheConfiguration">
=C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <list>
=C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 <bean class=3D"org.apache.ignite.confi= guration.CacheConfiguration">
=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <property name=3D"name&qu= ot; value=3D"MyCache1"/>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <property name=3D"statisticsEna= bled" value=3D"true" />
=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <property name=3D"rebalan= ceMode" value=3D"SYNC"/>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <property name=3D"memoryP= olicyName" value=3D"1GB_Region_Eviction"/>

=C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <property= name=3D"writeSynchronizationMode" value=3D"FULL_SYNC&q= uot;/>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 <property name=3D"backups" value=3D"0"/><= br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 &l= t;property name=3D"eagerTtl" value=3D"false"/>
= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <p= roperty name=3D"expiryPolicyFactory">
=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <bean cla= ss=3D"javax.cache.expiry.CreatedExpiryPolicy" factory-method= =3D"factoryOf">
=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 <constructor-arg= value=3D"THIRTY_MINUTES"/>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 </bean>
=C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 </pro= perty>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 </b= ean>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 </list>
=C2= =A0 =C2=A0 =C2=A0 =C2=A0 </property>
...
=C2=A0 =C2=A0 </bean>=C2=A0

I've got message in server node log like this
[12:34:16,622][INFO][sys-stripe-1-#2%null%][PageMemoryNoStore= Impl] Allocated next memory segment [plcName=3D1GB_Region_Eviction, chunkSi= ze=3D268.4 MB]
And after this no more memory chunks allocated by node. And my maxSize = ignored by cache.
What am I doing wrong here. Please advise.

my-client-example-memory-policies.xml<= /a>my-example-memory-policies.xmlMyMemoryPoliciesExample.java =09 =09 =09


To start a new topic under Apache Ignite Users, email [hidden email]
To unsubscribe from Apache Ignite Users, click here.
NAML

=09 =09 =09

View this message in context: Re: Ignite fails to allocate more memory then initially allocated when m= axSize property provided in MemoryPolicyConfiguration

Sent from the Apache Ignite Users mailing list archive at Nabble.com= .



--
<= /span>Siarhei Mironchyk
Developer
o:=C2=A0=C2=A0 +375.17.228.25.92
m:=C2= =A0 +375.29.568.19.01
e:=C2=A0=C2=A0 smironchyk@eisgroup.com

skype:=C2=A0=C2=A0 mi= ronchik.sergei.olegovich

EIS Group
Powering Insurance Innovation
=C2=AE
visit us:=C2=A0 w= ww.eisgroup.com

--001a1145b6c65a0c5705567593a8-- --001a1145b6c65a0c5b05567593aa Content-Type: text/xml; charset="US-ASCII"; name="my-client-example-memory-policies.xml" Content-Disposition: attachment; filename="my-client-example-memory-policies.xml" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j67koqqv0 PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGJlYW5zIHhtbG5zPSJodHRw Oi8vd3d3LnNwcmluZ2ZyYW1ld29yay5vcmcvc2NoZW1hL2JlYW5zIgogICAgICAgeG1sbnM6eHNp PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIKICAgICAgIHhtbG5z OnV0aWw9Imh0dHA6Ly93d3cuc3ByaW5nZnJhbWV3b3JrLm9yZy9zY2hlbWEvdXRpbCIKICAgICAg IHhzaTpzY2hlbWFMb2NhdGlvbj0iCiAgICAgICAgaHR0cDovL3d3dy5zcHJpbmdmcmFtZXdvcmsu b3JnL3NjaGVtYS9iZWFucwogICAgICAgIGh0dHA6Ly93d3cuc3ByaW5nZnJhbWV3b3JrLm9yZy9z Y2hlbWEvYmVhbnMvc3ByaW5nLWJlYW5zLnhzZAogICAgICAgIGh0dHA6Ly93d3cuc3ByaW5nZnJh bWV3b3JrLm9yZy9zY2hlbWEvdXRpbAogICAgICAgIGh0dHA6Ly93d3cuc3ByaW5nZnJhbWV3b3Jr Lm9yZy9zY2hlbWEvdXRpbC9zcHJpbmctdXRpbC54c2QiPgogICAgPGJlYW4gY2xhc3M9Im9yZy5h cGFjaGUuaWduaXRlLmNvbmZpZ3VyYXRpb24uSWduaXRlQ29uZmlndXJhdGlvbiI+CiAgICAgICAg PHByb3BlcnR5IG5hbWU9ImNsaWVudE1vZGUiIHZhbHVlPSJ0cnVlIi8+CiAgICAgICAgPCEtLSBT ZXQgdG8gdHJ1ZSB0byBlbmFibGUgZGlzdHJpYnV0ZWQgY2xhc3MgbG9hZGluZyBmb3IgZXhhbXBs ZXMsIGRlZmF1bHQgaXMgZmFsc2UuIC0tPgogICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJwZWVyQ2xh c3NMb2FkaW5nRW5hYmxlZCIgdmFsdWU9InRydWUiLz4KCiAgICAgICAgPHByb3BlcnR5IG5hbWU9 ImNhY2hlQ29uZmlndXJhdGlvbiI+CiAgICAgICAgICAgIDxsaXN0PgogICAgICAgICAgICAgICAg PGJlYW4gY2xhc3M9Im9yZy5hcGFjaGUuaWduaXRlLmNvbmZpZ3VyYXRpb24uQ2FjaGVDb25maWd1 cmF0aW9uIj4KICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibmFtZSIgdmFsdWU9 Ik15Q2FjaGUxIi8+CiAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InN0YXRpc3Rp Y3NFbmFibGVkIiB2YWx1ZT0idHJ1ZSIgLz4KICAgICAgICAgICAgICAgICAgICA8IS0tPHByb3Bl cnR5IG5hbWU9Im9uaGVhcENhY2hlRW5hYmxlZCIgdmFsdWU9InRydWUiLz4tLT4KICAgICAgICAg ICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0icmViYWxhbmNlTW9kZSIgdmFsdWU9IlNZTkMiLz4K ICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibWVtb3J5UG9saWN5TmFtZSIgdmFs dWU9IjFHQl9SZWdpb25fRXZpY3Rpb24iLz4KCiAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5 IG5hbWU9IndyaXRlU3luY2hyb25pemF0aW9uTW9kZSIgdmFsdWU9IkZVTExfU1lOQyIvPgogICAg ICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJiYWNrdXBzIiB2YWx1ZT0iMCIvPgogICAg ICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJlYWdlclR0bCIgdmFsdWU9ImZhbHNlIi8+ CiAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImV4cGlyeVBvbGljeUZhY3Rvcnki PgogICAgICAgICAgICAgICAgICAgICAgICA8YmVhbiBjbGFzcz0iamF2YXguY2FjaGUuZXhwaXJ5 LkNyZWF0ZWRFeHBpcnlQb2xpY3kiIGZhY3RvcnktbWV0aG9kPSJmYWN0b3J5T2YiPgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgPGNvbnN0cnVjdG9yLWFyZyB2YWx1ZT0iVEhJUlRZX01JTlVU RVMiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9iZWFuPgogICAgICAgICAgICAgICAgICAg IDwvcHJvcGVydHk+CgogICAgICAgICAgICAgICAgICAgIDwhLS08cHJvcGVydHkgbmFtZT0iZXZp Y3Rpb25Qb2xpY3kiPi0tPgogICAgICAgICAgICAgICAgICAgICAgICA8IS0tJmx0OyEmbmRhc2g7 IExSVSBldmljdGlvbiBwb2xpY3kuICZuZGFzaDsmZ3Q7LS0+CiAgICAgICAgICAgICAgICAgICAg ICAgIDwhLS08YmVhbiBjbGFzcz0ib3JnLmFwYWNoZS5pZ25pdGUuY2FjaGUuZXZpY3Rpb24ubHJ1 LkxydUV2aWN0aW9uUG9saWN5Ij4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS08 cHJvcGVydHkgbmFtZT0ibWF4U2l6ZSIgdmFsdWU9IjEwMDAiLz4tLT4KICAgICAgICAgICAgICAg ICAgICAgICAgPCEtLTwvYmVhbj4tLT4KICAgICAgICAgICAgICAgICAgICA8IS0tPC9wcm9wZXJ0 eT4tLT4KICAgICAgICAgICAgICAgIDwvYmVhbj4KICAgICAgICAgICAgPC9saXN0PgogICAgICAg IDwvcHJvcGVydHk+CgogICAgICAgIDwhLS0gRXhwbGljaXRseSBjb25maWd1cmUgVENQIGRpc2Nv dmVyeSBTUEkgdG8gcHJvdmlkZSBsaXN0IG9mIGluaXRpYWwgbm9kZXMuIC0tPgogICAgICAgIDxw cm9wZXJ0eSBuYW1lPSJkaXNjb3ZlcnlTcGkiPgogICAgICAgICAgICA8YmVhbiBjbGFzcz0ib3Jn LmFwYWNoZS5pZ25pdGUuc3BpLmRpc2NvdmVyeS50Y3AuVGNwRGlzY292ZXJ5U3BpIj4KICAgICAg ICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJpcEZpbmRlciI+CiAgICAgICAgICAgICAgICAgICAg PCEtLQogICAgICAgICAgICAgICAgICAgICAgICBJZ25pdGUgcHJvdmlkZXMgc2V2ZXJhbCBvcHRp b25zIGZvciBhdXRvbWF0aWMgZGlzY292ZXJ5IHRoYXQgY2FuIGJlIHVzZWQKICAgICAgICAgICAg ICAgICAgICAgICAgaW5zdGVhZCBvcyBzdGF0aWMgSVAgYmFzZWQgZGlzY292ZXJ5LiBGb3IgaW5m b3JtYXRpb24gb24gYWxsIG9wdGlvbnMgcmVmZXIKICAgICAgICAgICAgICAgICAgICAgICAgdG8g b3VyIGRvY3VtZW50YXRpb246IGh0dHA6Ly9hcGFjaGVpZ25pdGUucmVhZG1lLmlvL2RvY3MvY2x1 c3Rlci1jb25maWcKICAgICAgICAgICAgICAgICAgICAtLT4KICAgICAgICAgICAgICAgICAgICA8 IS0tIFVuY29tbWVudCBzdGF0aWMgSVAgZmluZGVyIHRvIGVuYWJsZSBzdGF0aWMtYmFzZWQgZGlz Y292ZXJ5IG9mIGluaXRpYWwgbm9kZXMuIC0tPgogICAgICAgICAgICAgICAgICAgIDwhLS08YmVh biBjbGFzcz0ib3JnLmFwYWNoZS5pZ25pdGUuc3BpLmRpc2NvdmVyeS50Y3AuaXBmaW5kZXIudm0u VGNwRGlzY292ZXJ5Vm1JcEZpbmRlciI+LS0+CiAgICAgICAgICAgICAgICAgICAgPGJlYW4gY2xh c3M9Im9yZy5hcGFjaGUuaWduaXRlLnNwaS5kaXNjb3ZlcnkudGNwLmlwZmluZGVyLm11bHRpY2Fz dC5UY3BEaXNjb3ZlcnlNdWx0aWNhc3RJcEZpbmRlciI+CiAgICAgICAgICAgICAgICAgICAgICAg IDxwcm9wZXJ0eSBuYW1lPSJhZGRyZXNzZXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAg PGxpc3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBJbiBkaXN0cmlidXRl ZCBlbnZpcm9ubWVudCwgcmVwbGFjZSB3aXRoIGFjdHVhbCBob3N0IElQIGFkZHJlc3MuIC0tPgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZT4xMjcuMC4wLjE6NDc1MDAuLjQ3 NTA5PC92YWx1ZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGlzdD4KICAgICAgICAg ICAgICAgICAgICAgICAgPC9wcm9wZXJ0eT4KICAgICAgICAgICAgICAgICAgICA8L2JlYW4+CiAg ICAgICAgICAgICAgICA8L3Byb3BlcnR5PgogICAgICAgICAgICA8L2JlYW4+CiAgICAgICAgPC9w cm9wZXJ0eT4KICAgIDwvYmVhbj4KPC9iZWFucz4K --001a1145b6c65a0c5b05567593aa Content-Type: text/xml; charset="US-ASCII"; name="my-example-memory-policies.xml" Content-Disposition: attachment; filename="my-example-memory-policies.xml" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j67koqrc1 PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGJlYW5zIHhtbG5zPSJodHRw Oi8vd3d3LnNwcmluZ2ZyYW1ld29yay5vcmcvc2NoZW1hL2JlYW5zIgogICAgICAgeG1sbnM6eHNp PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIKICAgICAgIHhtbG5z OnV0aWw9Imh0dHA6Ly93d3cuc3ByaW5nZnJhbWV3b3JrLm9yZy9zY2hlbWEvdXRpbCIKICAgICAg IHhzaTpzY2hlbWFMb2NhdGlvbj0iCiAgICAgICAgaHR0cDovL3d3dy5zcHJpbmdmcmFtZXdvcmsu b3JnL3NjaGVtYS9iZWFucwogICAgICAgIGh0dHA6Ly93d3cuc3ByaW5nZnJhbWV3b3JrLm9yZy9z Y2hlbWEvYmVhbnMvc3ByaW5nLWJlYW5zLnhzZAogICAgICAgIGh0dHA6Ly93d3cuc3ByaW5nZnJh bWV3b3JrLm9yZy9zY2hlbWEvdXRpbAogICAgICAgIGh0dHA6Ly93d3cuc3ByaW5nZnJhbWV3b3Jr Lm9yZy9zY2hlbWEvdXRpbC9zcHJpbmctdXRpbC54c2QiPgogICAgPGJlYW4gY2xhc3M9Im9yZy5h cGFjaGUuaWduaXRlLmNvbmZpZ3VyYXRpb24uSWduaXRlQ29uZmlndXJhdGlvbiI+CiAgICAgICAg PCEtLSBTZXQgdG8gdHJ1ZSB0byBlbmFibGUgZGlzdHJpYnV0ZWQgY2xhc3MgbG9hZGluZyBmb3Ig ZXhhbXBsZXMsIGRlZmF1bHQgaXMgZmFsc2UuIC0tPgogICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJw ZWVyQ2xhc3NMb2FkaW5nRW5hYmxlZCIgdmFsdWU9InRydWUiLz4KCiAgICAgICAgPCEtLSBNZW1v cnkgY29uZmlndXJhdGlvbiBmb3IgT0ZGLUhFQVAgbWVtb3J5LiBFbnRyeSBzdXBwb3NlZGx5IGdv IGhlcmUgYWZ0ZXIgaXQncyBldmljdGVkIGZyb20gSEVBUCAtLT4KICAgICAgICA8cHJvcGVydHkg bmFtZT0ibWVtb3J5Q29uZmlndXJhdGlvbiI+CiAgICAgICAgICAgIDxiZWFuIGNsYXNzPSJvcmcu YXBhY2hlLmlnbml0ZS5jb25maWd1cmF0aW9uLk1lbW9yeUNvbmZpZ3VyYXRpb24iPgogICAgICAg ICAgICAgICAgPCEtLSBTZXR0aW5nIHRoZSBwYWdlIHNpemUgdG8gMTYga0IsIG5vdCBlbm91Z2gg dG8gaG9sZCBhdmVyYWdlIHBvbGljeSwgYnV0IG1heCBhY2NlcHRhYmxlIHZhbHVlIC0tPgogICAg ICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InBhZ2VTaXplIiB2YWx1ZT0iI3sxNiAqIDEwMjR9 Ii8+CiAgICAgICAgICAgICAgICA8IS0tPHByb3BlcnR5IG5hbWU9ImRlZmF1bHRNZW1vcnlQb2xp Y3lTaXplIiB2YWx1ZT0iI3s0TCAqIDEwMjQgKiAxMDI0ICogMTAyNH0iLz4tLT4KICAgICAgICAg ICAgICAgIDwhLS08cHJvcGVydHkgbmFtZT0ic3lzdGVtQ2FjaGVJbml0aWFsU2l6ZSIgdmFsdWU9 IiN7MTAwICogMTAyNCAqIDEwMjR9Ii8+LS0+CiAgICAgICAgICAgICAgICA8IS0tPHByb3BlcnR5 IG5hbWU9InN5c3RlbUNhY2hlTWF4U2l6ZSIgdmFsdWU9IiN7MTAwICogMTAyNCAqIDEwMjR9Ii8+ LS0+CgogICAgICAgICAgICAgICAgPCEtLSBTZXR0aW5nIGEgbmFtZSBvZiB0aGUgZGVmYXVsdCBt ZW1vcnkgcG9saWN5LiBSZXF1aXJlZCB0byBzZXQgb25seSBpZiB0aGUgZGVmYXVsdCBwb2xpY3kn cwogICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnMgYXJlIG92ZXJyaWRkZW4gbGlrZSBpdCdz IGRvbmUgYmVsb3cuIC0tPgogICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImRlZmF1bHRN ZW1vcnlQb2xpY3lOYW1lIiB2YWx1ZT0iRGVmYXVsdF9SZWdpb24iLz4KCiAgICAgICAgICAgICAg ICA8IS0tIERlZmluaW5nIHNldmVyYWwgbWVtb3J5IHBvbGljaWVzIGZvciBkaWZmZXJlbnQgbWVt b3J5IHJlZ2lvbnMgLS0+CiAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibWVtb3J5UG9s aWNpZXMiPgogICAgICAgICAgICAgICAgICAgIDxsaXN0PgogICAgICAgICAgICAgICAgICAgICAg ICA8IS0tCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWZhdWx0IG1lbW9yeSByZWdpb24g dGhhdCBncm93cyBlbmRsZXNzbHkuIEEgY2FjaGUgaXMgYm91bmQgdG8gdGhpcyBtZW1vcnkgcmVn aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmxlc3MgaXQgc2V0cyBhbm90aGVyIG9u ZSBpbiBpdHMgQ2FjaGVDb25maWd1cmF0aW9uLgogICAgICAgICAgICAgICAgICAgICAgICAtLT4K ICAgICAgICAgICAgICAgICAgICAgICAgPGJlYW4gY2xhc3M9Im9yZy5hcGFjaGUuaWduaXRlLmNv bmZpZ3VyYXRpb24uTWVtb3J5UG9saWN5Q29uZmlndXJhdGlvbiI+CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibmFtZSIgdmFsdWU9IkRlZmF1bHRfUmVnaW9uIi8+ CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iaW5pdGlhbFNpemUi IHZhbHVlPSIjezMyMCAqIDEwMjQgKiAxMDI0fSIvPgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgPHByb3BlcnR5IG5hbWU9Im1heFNpemUiIHZhbHVlPSIjezMyMCAqIDEwMjQgKiAxMDI0fSIv PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InBhZ2VFdmljdGlv bk1vZGUiIHZhbHVlPSJSQU5ET01fMl9MUlUiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9i ZWFuPgoKICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBJZiB0aGUgb3ZlcmFsbCBtZW1vcnkg dXNhZ2UgZ29lcyBiZXlvbmQgdGhlIG1heGltdW0gc2l6ZSwgdGhlbiBhbiBvdXQgb2YgbWVtb3J5 IGV4Y2VwdGlvbiB3aWxsIGJlIHRocm93bi0tPgogICAgICAgICAgICAgICAgICAgICAgICA8YmVh biBjbGFzcz0ib3JnLmFwYWNoZS5pZ25pdGUuY29uZmlndXJhdGlvbi5NZW1vcnlQb2xpY3lDb25m aWd1cmF0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJu YW1lIiB2YWx1ZT0iMUdCX1JlZ2lvbl9FdmljdGlvbiIvPgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgPHByb3BlcnR5IG5hbWU9Im1ldHJpY3NFbmFibGVkIiB2YWx1ZT0idHJ1ZSIgLz4KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJpbml0aWFsU2l6ZSIgdmFs dWU9IiN7MjUwICogMTAyNCAqIDEwMjR9Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8 cHJvcGVydHkgbmFtZT0ibWF4U2l6ZSIgdmFsdWU9IiN7MWwgKiAxMDI0ICogMTAyNCAqIDEwMjR9 Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0icGFnZUV2aWN0 aW9uTW9kZSIgdmFsdWU9IlJBTkRPTV8yX0xSVSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8 L2JlYW4+CgogICAgICAgICAgICAgICAgICAgIDwvbGlzdD4KICAgICAgICAgICAgICAgIDwvcHJv cGVydHk+CiAgICAgICAgICAgIDwvYmVhbj4KICAgICAgICA8L3Byb3BlcnR5PgoKICAgICAgICA8 IS0tIEV4cGxpY2l0bHkgY29uZmlndXJlIFRDUCBkaXNjb3ZlcnkgU1BJIHRvIHByb3ZpZGUgbGlz dCBvZiBpbml0aWFsIG5vZGVzLiAtLT4KICAgICAgICA8cHJvcGVydHkgbmFtZT0iZGlzY292ZXJ5 U3BpIj4KICAgICAgICAgICAgPGJlYW4gY2xhc3M9Im9yZy5hcGFjaGUuaWduaXRlLnNwaS5kaXNj b3ZlcnkudGNwLlRjcERpc2NvdmVyeVNwaSI+CiAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFt ZT0iaXBGaW5kZXIiPgogICAgICAgICAgICAgICAgICAgIDwhLS0KICAgICAgICAgICAgICAgICAg ICAgICAgSWduaXRlIHByb3ZpZGVzIHNldmVyYWwgb3B0aW9ucyBmb3IgYXV0b21hdGljIGRpc2Nv dmVyeSB0aGF0IGNhbiBiZSB1c2VkCiAgICAgICAgICAgICAgICAgICAgICAgIGluc3RlYWQgb3Mg c3RhdGljIElQIGJhc2VkIGRpc2NvdmVyeS4gRm9yIGluZm9ybWF0aW9uIG9uIGFsbCBvcHRpb25z IHJlZmVyCiAgICAgICAgICAgICAgICAgICAgICAgIHRvIG91ciBkb2N1bWVudGF0aW9uOiBodHRw Oi8vYXBhY2hlaWduaXRlLnJlYWRtZS5pby9kb2NzL2NsdXN0ZXItY29uZmlnCiAgICAgICAgICAg ICAgICAgICAgLS0+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBVbmNvbW1lbnQgc3RhdGljIElQ IGZpbmRlciB0byBlbmFibGUgc3RhdGljLWJhc2VkIGRpc2NvdmVyeSBvZiBpbml0aWFsIG5vZGVz LiAtLT4KICAgICAgICAgICAgICAgICAgICA8IS0tPGJlYW4gY2xhc3M9Im9yZy5hcGFjaGUuaWdu aXRlLnNwaS5kaXNjb3ZlcnkudGNwLmlwZmluZGVyLnZtLlRjcERpc2NvdmVyeVZtSXBGaW5kZXIi Pi0tPgogICAgICAgICAgICAgICAgICAgIDxiZWFuIGNsYXNzPSJvcmcuYXBhY2hlLmlnbml0ZS5z cGkuZGlzY292ZXJ5LnRjcC5pcGZpbmRlci5tdWx0aWNhc3QuVGNwRGlzY292ZXJ5TXVsdGljYXN0 SXBGaW5kZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iYWRkcmVz c2VzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaXN0PgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDwhLS0gSW4gZGlzdHJpYnV0ZWQgZW52aXJvbm1lbnQsIHJlcGxhY2Ug d2l0aCBhY3R1YWwgaG9zdCBJUCBhZGRyZXNzLiAtLT4KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA8dmFsdWU+MTI3LjAuMC4xOjQ3NTAwLi40NzUwOTwvdmFsdWU+CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICA8L2xpc3Q+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvcHJvcGVy dHk+CiAgICAgICAgICAgICAgICAgICAgPC9iZWFuPgogICAgICAgICAgICAgICAgPC9wcm9wZXJ0 eT4KICAgICAgICAgICAgPC9iZWFuPgogICAgICAgIDwvcHJvcGVydHk+CiAgICA8L2JlYW4+Cjwv YmVhbnM+Cg== --001a1145b6c65a0c5b05567593aa Content-Type: application/octet-stream; name="MyMemoryPoliciesExample.java" Content-Disposition: attachment; filename="MyMemoryPoliciesExample.java" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j67kpb5i2 LyoKICogTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVu ZGVyIG9uZSBvciBtb3JlCiAqIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0 aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAogKiB0aGlzIHdvcmsgZm9yIGFkZGl0aW9u YWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCiAqIFRoZSBBU0Yg bGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNp b24gMi4wCiAqICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNl cHQgaW4gY29tcGxpYW5jZSB3aXRoCiAqIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBj b3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqCiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xp Y2Vuc2VzL0xJQ0VOU0UtMi4wCiAqCiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxh dyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKICogZGlzdHJpYnV0ZWQgdW5kZXIg dGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKICogV0lUSE9V VCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9y IGltcGxpZWQuCiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdv dmVybmluZyBwZXJtaXNzaW9ucyBhbmQKICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2Uu CiAqLwoKcGFja2FnZSBvcmcuYXBhY2hlLmlnbml0ZS5leGFtcGxlcy5kYXRhZ3JpZDsKCmltcG9y dCBvcmcuYXBhY2hlLmlnbml0ZS5JZ25pdGU7CmltcG9ydCBvcmcuYXBhY2hlLmlnbml0ZS5JZ25p dGVDYWNoZTsKaW1wb3J0IG9yZy5hcGFjaGUuaWduaXRlLklnbml0ZUV4Y2VwdGlvbjsKaW1wb3J0 IG9yZy5hcGFjaGUuaWduaXRlLklnbml0aW9uOwppbXBvcnQgb3JnLmFwYWNoZS5pZ25pdGUuY2Fj aGUuQ2FjaGVNZXRyaWNzOwppbXBvcnQgb3JnLmFwYWNoZS5pZ25pdGUuY2FjaGUuQ2FjaGVQZWVr TW9kZTsKaW1wb3J0IG9yZy5hcGFjaGUuaWduaXRlLmNvbmZpZ3VyYXRpb24uTWVtb3J5Q29uZmln dXJhdGlvbjsKaW1wb3J0IG9yZy5hcGFjaGUuaWduaXRlLmNvbmZpZ3VyYXRpb24uTWVtb3J5UG9s aWN5Q29uZmlndXJhdGlvbjsKaW1wb3J0IG9yZy5hcGFjaGUuaWduaXRlLmV4YW1wbGVzLkV4YW1w bGVOb2RlU3RhcnR1cDsKCmltcG9ydCBqYXZhLmlvLklPRXhjZXB0aW9uOwppbXBvcnQgamF2YS5u aW8uZmlsZS5GaWxlczsKaW1wb3J0IGphdmEubmlvLmZpbGUuUGF0aDsKaW1wb3J0IGphdmEubmlv LmZpbGUuUGF0aHM7CgovKioKICogVGhpcyBleGFtcGxlIGRlbW9uc3RyYXRlcyBob3cgdG8gdHdl YWsgcGFydGljdWxhciBzZXR0aW5ncyBvZiBBcGFjaGUgSWduaXRlIHBhZ2UgbWVtb3J5IHVzaW5n CiAqIHtAbGluayBNZW1vcnlDb25maWd1cmF0aW9ufSBhbmQgc2V0IHVwIHNldmVyYWwgbWVtb3J5 IHBvbGljaWVzIGZvciBkaWZmZXJlbnQgY2FjaGVzIHdpdGgKICoge0BsaW5rIE1lbW9yeVBvbGlj eUNvbmZpZ3VyYXRpb259LgogKiA8cD4KICogQWRkaXRpb25hbCByZW1vdGUgbm9kZXMgY2FuIGJl IHN0YXJ0ZWQgd2l0aCBzcGVjaWFsIGNvbmZpZ3VyYXRpb24gZmlsZSB3aGljaAogKiBlbmFibGVz IFAyUCBjbGFzcyBsb2FkaW5nOiB7QGNvZGUgJ2lnbml0ZS57c2h8YmF0fSBleGFtcGxlLW1lbW9y eS1wb2xpY2llcy54bWwnfS4KICogPHA+CiAqIEFsdGVybmF0aXZlbHkgeW91IGNhbiBydW4ge0Bs aW5rIEV4YW1wbGVOb2RlU3RhcnR1cH0gaW4gYW5vdGhlciBKVk0gd2hpY2ggcGFzc2luZwogKiB7 QGNvZGUgZXhhbXBsZXMvY29uZmlnL2V4YW1wbGUtbWVtb3J5LXBvbGljaWVzLnhtbH0gY29uZmln dXJhdGlvbiB0byBpdC4KICovCnB1YmxpYyBjbGFzcyBNeU1lbW9yeVBvbGljaWVzRXhhbXBsZSB7 CgogICAgLyoqCiAgICAgKiBFeGVjdXRlcyBleGFtcGxlLgogICAgICoKICAgICAqIEBwYXJhbSBh cmdzIENvbW1hbmQgbGluZSBhcmd1bWVudHMsIG5vbmUgcmVxdWlyZWQuCiAgICAgKiBAdGhyb3dz IElnbml0ZUV4Y2VwdGlvbiBJZiBleGFtcGxlIGV4ZWN1dGlvbiBmYWlsZWQuCiAgICAgKi8KICAg IHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBJZ25pdGVFeGNl cHRpb24gewogICAgICAgIHRyeSAoSWduaXRlIGlnbml0ZSA9IElnbml0aW9uLnN0YXJ0KCJleGFt cGxlcy9jb25maWcvbXktY2xpZW50LWV4YW1wbGUtbWVtb3J5LXBvbGljaWVzLnhtbCIpKSB7CiAg ICAgICAgICAgIC8vd2lsbCBzdG9yZSBib29rIGFzIGVudHJ5CiAgICAgICAgICAgIGJ5dGVbXSBk YXRhID0gcmVhZEZpbGVUb0J5dGVBcnJheSgpOwogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50 bG4oIlZhbHVlIHNpemUgIiArIGRhdGEubGVuZ3RoICsgIiBieXRlcyIpOwoKICAgICAgICAgICAg U3lzdGVtLm91dC5wcmludGxuKCk7CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiPj4+ IE1lbW9yeSBwb2xpY2llcyBleGFtcGxlIHN0YXJ0ZWQuIik7CiAgICAgICAgICAgIElnbml0ZUNh Y2hlIGNhY2hlID0gaWduaXRlLmdldE9yQ3JlYXRlQ2FjaGUoIk15Q2FjaGUxIik7CiAgICAgICAg ICAgIGludCBjb3VudCA9IDA7CiAgICAgICAgICAgIGludCBrZXkgPSAxOwogICAgICAgICAgICB3 aGlsZSAodHJ1ZSkgewogICAgICAgICAgICAgICAgY2FjaGUucHV0KGtleSwgbmV3IE15RmlsZShk YXRhLCBrZXkpKTsKICAgICAgICAgICAgICAgIFRocmVhZC5zbGVlcCgxMDAwbCk7Ly8xIHNlYyBp bnRlcnZhbAogICAgICAgICAgICAgICAgY291bnQrKzsKICAgICAgICAgICAgICAgIGtleSsrOwog ICAgICAgICAgICAgICAgaWYgKGNvdW50ID09IDEwKSB7Ly9ldmVyeSAxMCBzZWMKICAgICAgICAg ICAgICAgICAgICBjb3VudCA9IDA7CiAgICAgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmlu dGxuKCI8LS0tLS0tLS0tLT4gZW50cmllcyAiICsga2V5ICsgIjsgdG90YWwgc2l6ZSAiICsgKGRh dGEubGVuZ3RoICoga2V5KSAvICgxMDI0bCAqIDEwMjQpICsgIiBNQiIpOwogICAgICAgICAgICAg ICAgICAgIHByaW50TWV0cmljcyhjYWNoZSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg IH0KICAgICAgICB9IGNhdGNoIChJbnRlcnJ1cHRlZEV4Y2VwdGlvbiBlKSB7CiAgICAgICAgICAg IGUucHJpbnRTdGFja1RyYWNlKCk7CiAgICAgICAgfQogICAgfQoKICAgIHByaXZhdGUgc3RhdGlj IGJ5dGVbXSByZWFkRmlsZVRvQnl0ZUFycmF5KCkgewogICAgICAgIFBhdGggcGF0aCA9IFBhdGhz LmdldCgiYm9vay5wZGYiKTsKICAgICAgICBieXRlW10gZGF0YSA9IG5ldyBieXRlWzBdOwogICAg ICAgIHRyeSB7CiAgICAgICAgICAgIGRhdGEgPSBGaWxlcy5yZWFkQWxsQnl0ZXMocGF0aCk7CiAg ICAgICAgfSBjYXRjaCAoSU9FeGNlcHRpb24gZSkgewogICAgICAgICAgICBlLnByaW50U3RhY2tU cmFjZSgpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZGF0YTsKICAgIH0KCiAgICBwcml2YXRl IHN0YXRpYyB2b2lkIHByaW50TWV0cmljcyhJZ25pdGVDYWNoZSBjYWNoZSkgewogICAgICAgIENh Y2hlTWV0cmljcyBtZXRyaWNzID0gY2FjaGUubWV0cmljcygpOwogICAgICAgIFN5c3RlbS5vdXQu cHJpbnRsbigiQUxMID0gIiArIGNhY2hlLnNpemUoQ2FjaGVQZWVrTW9kZS5BTEwpKTsKICAgICAg ICBTeXN0ZW0ub3V0LnByaW50bG4oIk9OSEVBUCA9ICIgKyBjYWNoZS5zaXplKENhY2hlUGVla01v ZGUuT05IRUFQKSk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJPRkhFQVAgPSAiICsgY2Fj aGUuc2l6ZShDYWNoZVBlZWtNb2RlLk9GRkhFQVApKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50 bG4oIlBSSU1BUlkgPSAiICsgY2FjaGUuc2l6ZShDYWNoZVBlZWtNb2RlLlBSSU1BUlkpKTsKICAg ICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkJBQ0tVUCA9ICIgKyBjYWNoZS5zaXplKENhY2hlUGVl a01vZGUuQkFDS1VQKSk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJORUFSID0gIiArIGNh Y2hlLnNpemUoQ2FjaGVQZWVrTW9kZS5ORUFSKSk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxu KCJFdmljdGlvbnMgPSAiICsgbWV0cmljcy5nZXRDYWNoZUV2aWN0aW9ucygpKTsKICAgIH0KCgp9 CgpjbGFzcyBNeUZpbGUgewogICAgYnl0ZVtdIGFycjsKICAgIGludCBrZXk7CgogICAgcHVibGlj IE15RmlsZShieXRlW10gYXJyLCBpbnQga2V5KSB7CiAgICAgICAgdGhpcy5hcnIgPSBhcnI7CiAg ICAgICAgdGhpcy5rZXkgPSBrZXk7CiAgICB9Cn0= --001a1145b6c65a0c5b05567593aa--