Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » M2M (model-to-model transformation) » [ATL] Launch a transformation from a java application
[ATL] Launch a transformation from a java application [message #52858] Tue, 17 July 2007 22:52 Go to next message
Eclipse UserFriend
Originally posted by: atl_apprentice.yahoo.com

Hi,

I created an ATL transformation and it works.
Now I want to launch this ATL transformation from a java application.

- I've got the following files:
* Input.xmi
* UML1.4.xmi which is the metamodel of Input.xmi and also the metamodel
of my output.
* The output should be written in Output.xmi
* Tranformation.atl
* Transformation.asm

- I looked at the ATL wiki on the eclipse website:
http://wiki.eclipse.org/ATL_Howtos#How_do_I_launch_transform ations_programmatically.3F
From there I downloaded:
* The AtlLauncher class
* Milan Milanovic's ATL template bundle


Q1: Is this all I need?



- I changed to the java perspective in eclipse and created a new project
with a:
* src folder in which put the ATLTransformations.java and the
AtlLauncher.java files
* lib folder with all the jar files from the bundle. I added these jar
files to the build path.
* metamodels folder with the TCS folder and xml folder from the bundle and
the uml1.4.xmi metamodel (from omg.org)
* models folder with input.xmi
* transformations folder with my atl and asm file in it

- I started editing the ATLTransformations.java file, but there are a few
things I don't understand. Here's what I did:
* According to eclipse some imports were unused, so I chose "organize
imports"
* I changed the name of the asm file to my .asm file's name
* I commented away some EMF things (EMF related variables and the method
initEMF() and the invokation of this method), because I used MDR as the
handler for my models.
* I changed oneMM.xmi to UML1.4.xmi and did the same for otherMM.xmi,
since my input model and output models are both UML models.
* I changed the model names in the last line of main to my model names

Q2: Is everything above correct and is this all I have to do?
Q3: What is that TCS specific stuff for? What does it have to do with ATL?
I didn't need anything with TCS when I used the ATL perspective to
run my transformation.
* I noticed a line in ATLTransformations.java:
private URL MM_tcs =
ATLTransformations.class.getResource(transformationsMetamode ls +
"MM/MM-TCS.xmi");
What is that MM-TCS.xmi for? That file does not even exist.
Q4: In the method getMMFromFile(String file) there is a line:
EBNFInjector2 ebnfi = new EBNFInjector2();
Eclipse says local variable ebnfi is never read.. what is it for?

Hopefully someone can answer my questions.

Regards
Re: [ATL] Launch a transformation from a java application [message #53156 is a reply to message #52858] Wed, 18 July 2007 15:33 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: atl_apprentice.yahoo.com

anyone?

"ATL_Apprentice" <atl_apprentice@yahoo.com> schreef in bericht
news:f7jh61$qmd$1@build.eclipse.org...
> Hi,
>
> I created an ATL transformation and it works.
> Now I want to launch this ATL transformation from a java application.
>
> - I've got the following files:
> * Input.xmi
> * UML1.4.xmi which is the metamodel of Input.xmi and also the metamodel
> of my output.
> * The output should be written in Output.xmi
> * Tranformation.atl
> * Transformation.asm
>
> - I looked at the ATL wiki on the eclipse website:
>
> http://wiki.eclipse.org/ATL_Howtos#How_do_I_launch_transform ations_programmatically.3F
> From there I downloaded:
> * The AtlLauncher class
> * Milan Milanovic's ATL template bundle
>
>
> Q1: Is this all I need?
>
>
>
> - I changed to the java perspective in eclipse and created a new project
> with a:
> * src folder in which put the ATLTransformations.java and the
> AtlLauncher.java files
> * lib folder with all the jar files from the bundle. I added these jar
> files to the build path.
> * metamodels folder with the TCS folder and xml folder from the bundle
> and
> the uml1.4.xmi metamodel (from omg.org)
> * models folder with input.xmi
> * transformations folder with my atl and asm file in it
>
> - I started editing the ATLTransformations.java file, but there are a few
> things I don't understand. Here's what I did:
> * According to eclipse some imports were unused, so I chose "organize
> imports"
> * I changed the name of the asm file to my .asm file's name
> * I commented away some EMF things (EMF related variables and the method
> initEMF() and the invokation of this method), because I used MDR as
> the
> handler for my models.
> * I changed oneMM.xmi to UML1.4.xmi and did the same for otherMM.xmi,
> since my input model and output models are both UML models.
> * I changed the model names in the last line of main to my model names
>
> Q2: Is everything above correct and is this all I have to do?
> Q3: What is that TCS specific stuff for? What does it have to do with ATL?
> I didn't need anything with TCS when I used the ATL perspective to
> run my transformation.
> * I noticed a line in ATLTransformations.java:
> private URL MM_tcs =
> ATLTransformations.class.getResource(transformationsMetamode ls +
> "MM/MM-TCS.xmi");
> What is that MM-TCS.xmi for? That file does not even exist.
> Q4: In the method getMMFromFile(String file) there is a line:
> EBNFInjector2 ebnfi = new EBNFInjector2();
> Eclipse says local variable ebnfi is never read.. what is it for?
>
> Hopefully someone can answer my questions.
>
> Regards
>
>
>
>
Re: [ATL] Launch a transformation from a java application [message #53462 is a reply to message #52858] Thu, 19 July 2007 13:54 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: milan.milanovic.org

Hi,

ATL_Apprentice wrote:

> Hi,

> I created an ATL transformation and it works.
> Now I want to launch this ATL transformation from a java application.

> - I've got the following files:
> * Input.xmi
> * UML1.4.xmi which is the metamodel of Input.xmi and also the metamodel
> of my output.
> * The output should be written in Output.xmi
> * Tranformation.atl
> * Transformation.asm

> - I looked at the ATL wiki on the eclipse website:
>
http://wiki.eclipse.org/ATL_Howtos#How_do_I_launch_transform ations_programmatically.3F
> From there I downloaded:
> * The AtlLauncher class
> * Milan Milanovic's ATL template bundle


> Q1: Is this all I need?

Yes, it is all you need. Of course, with ATLTransformations class and
libraries.

> - I changed to the java perspective in eclipse and created a new project
> with a:
> * src folder in which put the ATLTransformations.java and the
> AtlLauncher.java files
> * lib folder with all the jar files from the bundle. I added these jar
> files to the build path.
> * metamodels folder with the TCS folder and xml folder from the bundle and
> the uml1.4.xmi metamodel (from omg.org)
> * models folder with input.xmi
> * transformations folder with my atl and asm file in it

O.K.

> - I started editing the ATLTransformations.java file, but there are a few
> things I don't understand. Here's what I did:
> * According to eclipse some imports were unused, so I chose "organize
> imports"

O.K.

> * I changed the name of the asm file to my .asm file's name

O.K.

> * I commented away some EMF things (EMF related variables and the method
> initEMF() and the invokation of this method), because I used MDR as the
> handler for my models.

O.K.

> * I changed oneMM.xmi to UML1.4.xmi and did the same for otherMM.xmi,
> since my input model and output models are both UML models.

O.K.

> * I changed the model names in the last line of main to my model names

O.K.

> Q2: Is everything above correct and is this all I have to do?

Well, actually it is all you got to do. Just one notice, you should see if
these ATL and Eclipse libs are in the CLASSPATH, and that you are using
the same versions. It is possible that Eclipse environment takes its own
libraries into CLASSPATH. And, of course, you need to use JDK 1.5.0, IT
DOES NOT WORK with JDK 1.6.0.

> Q3: What is that TCS specific stuff for? What does it have to do with ATL?
> I didn't need anything with TCS when I used the ATL perspective to
> run my transformation.
> * I noticed a line in ATLTransformations.java:
> private URL MM_tcs =
> ATLTransformations.class.getResource(transformationsMetamode ls +
> "MM/MM-TCS.xmi");
> What is that MM-TCS.xmi for? That file does not even exist.

If you are not using ATL's TCS for creating model-to-text transformations,
then you don't need to use this. MM-TCS.xmi is a model of user defined
textual concrete syntax. You can read about TCS here:
http://wiki.eclipse.org/ATL_Howtos#Using_TCS.

> Q4: In the method getMMFromFile(String file) there is a line:
> EBNFInjector2 ebnfi = new EBNFInjector2();
> Eclipse says local variable ebnfi is never read.. what is it for?

It is again for using TCS, if you don't use it you can delete this method.

--
Regards, Milan Milanovic

> Hopefully someone can answer my questions.

> Regards
Re: [ATL] Launch a transformation from a java application [message #53833 is a reply to message #53462] Fri, 20 July 2007 10:09 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: atl_apprentice.yahoo.com

Thank you for taking the time to answer my post.

> Well, actually it is all you got to do. Just one notice, you should see if
> these ATL and Eclipse libs are in the CLASSPATH, and that you are using
> the same versions.

I used the jars in the libs folder of the bundle you created.
I right-clicked these jars in the libs folder and clicked "Build Path >> Add
to build path"
I think this is sufficient. Isn't it?

> It is possible that Eclipse environment takes its own libraries into
> CLASSPATH. And, of course, you need to use JDK 1.5.0, IT DOES NOT WORK
> with JDK 1.6.0.

I assume that if ATL works correctly in the ATL perspective, then everything
is ok?
I'm using JDK 1.4.2.

The transformation I created works fine in the ATL perspective, but when I
switch to the java perspective and run the modified ATLTransformation.java
as a Java application, then I get the following output in my console:
Initializing MDR...

java.lang.NullPointerException

at ATLTransformations.initMDR(ATLTransformations.java:141)

at ATLTransformations.<init>(ATLTransformations.java:115)

at ATLTransformations.getATLTransformations(ATLTransformations. java:223)

at ATLTransformations.main(ATLTransformations.java:622)

Exception in thread "main"



line 141 in my modified file is:
oneMM_MDR = mdramh.loadModel("OneMM", mdramh.getMof(),
onemmurl.openStream());

I attached my ATLTransformations.java file to this post.

I really don't know where the problem is. Because I thought I modified
everything correctly.

Could you please help me out?

Thanks


"Milan Milanovic" <milan@milanovic.org> schreef in bericht
news:9d89c44d20b0b3476bfbab6302dea8af$1@www.eclipse.org...
> Hi,
>
> ATL_Apprentice wrote:
>
>> Hi,
>
>> I created an ATL transformation and it works.
>> Now I want to launch this ATL transformation from a java application.
>
>> - I've got the following files:
>> * Input.xmi
>> * UML1.4.xmi which is the metamodel of Input.xmi and also the
>> metamodel
>> of my output.
>> * The output should be written in Output.xmi
>> * Tranformation.atl
>> * Transformation.asm
>
>> - I looked at the ATL wiki on the eclipse website:
>>
> http://wiki.eclipse.org/ATL_Howtos#How_do_I_launch_transform ations_programmatically.3F
>> From there I downloaded:
>> * The AtlLauncher class
>> * Milan Milanovic's ATL template bundle
>
>
>> Q1: Is this all I need?
>
> Yes, it is all you need. Of course, with ATLTransformations class and
> libraries.
>
>> - I changed to the java perspective in eclipse and created a new project
>> with a:
>> * src folder in which put the ATLTransformations.java and the
>> AtlLauncher.java files
>> * lib folder with all the jar files from the bundle. I added these jar
>> files to the build path.
>> * metamodels folder with the TCS folder and xml folder from the bundle
>> and
>> the uml1.4.xmi metamodel (from omg.org)
>> * models folder with input.xmi
>> * transformations folder with my atl and asm file in it
>
> O.K.
>
>> - I started editing the ATLTransformations.java file, but there are a few
>> things I don't understand. Here's what I did:
>> * According to eclipse some imports were unused, so I chose "organize
>> imports"
>
> O.K.
>
>> * I changed the name of the asm file to my .asm file's name
>
> O.K.
>
>> * I commented away some EMF things (EMF related variables and the
>> method
>> initEMF() and the invokation of this method), because I used MDR as
>> the
>> handler for my models.
>
> O.K.
>
>> * I changed oneMM.xmi to UML1.4.xmi and did the same for otherMM.xmi,
>> since my input model and output models are both UML models.
>
> O.K.
>
>> * I changed the model names in the last line of main to my model names
>
> O.K.
>
>> Q2: Is everything above correct and is this all I have to do?
>
> Well, actually it is all you got to do. Just one notice, you should see if
> these ATL and Eclipse libs are in the CLASSPATH, and that you are using
> the same versions. It is possible that Eclipse environment takes its own
> libraries into CLASSPATH. And, of course, you need to use JDK 1.5.0, IT
> DOES NOT WORK with JDK 1.6.0.
>> Q3: What is that TCS specific stuff for? What does it have to do with
>> ATL?
>> I didn't need anything with TCS when I used the ATL perspective to
>> run my transformation.
>> * I noticed a line in ATLTransformations.java:
>> private URL MM_tcs =
>> ATLTransformations.class.getResource(transformationsMetamode ls +
>> "MM/MM-TCS.xmi");
>> What is that MM-TCS.xmi for? That file does not even exist.
>
> If you are not using ATL's TCS for creating model-to-text transformations,
> then you don't need to use this. MM-TCS.xmi is a model of user defined
> textual concrete syntax. You can read about TCS here:
> http://wiki.eclipse.org/ATL_Howtos#Using_TCS.
>
>> Q4: In the method getMMFromFile(String file) there is a line:
>> EBNFInjector2 ebnfi = new EBNFInjector2();
>> Eclipse says local variable ebnfi is never read.. what is it for?
>
> It is again for using TCS, if you don't use it you can delete this method.
>
> --
> Regards, Milan Milanovic
>
>> Hopefully someone can answer my questions.
>
>> Regards
>
>
Re: [ATL] Launch a transformation from a java application [message #53858 is a reply to message #53833] Fri, 20 July 2007 10:52 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: milan.milanovic.org

Hi,

ATL_Apprentice wrote:

> Thank you for taking the time to answer my post.

>> Well, actually it is all you got to do. Just one notice, you should see if
>> these ATL and Eclipse libs are in the CLASSPATH, and that you are using
>> the same versions.

> I used the jars in the libs folder of the bundle you created.
> I right-clicked these jars in the libs folder and clicked "Build Path >> Add
> to build path"
> I think this is sufficient. Isn't it?

Well, it should be.

>> It is possible that Eclipse environment takes its own libraries into
>> CLASSPATH. And, of course, you need to use JDK 1.5.0, IT DOES NOT WORK
>> with JDK 1.6.0.

> I assume that if ATL works correctly in the ATL perspective, then everything
> is ok?
> I'm using JDK 1.4.2.

O.K.

> The transformation I created works fine in the ATL perspective, but when I
> switch to the java perspective and run the modified ATLTransformation.java
> as a Java application, then I get the following output in my console:
> Initializing MDR...

> java.lang.NullPointerException

> at ATLTransformations.initMDR(ATLTransformations.java:141)

> at ATLTransformations.<init>(ATLTransformations.java:115)

> at ATLTransformations.getATLTransformations(ATLTransformations. java:223)

> at ATLTransformations.main(ATLTransformations.java:622)

> Exception in thread "main"

It looks like MDR is not initialized.

> line 141 in my modified file is:
> oneMM_MDR = mdramh.loadModel("OneMM", mdramh.getMof(),
> onemmurl.openStream());

> I attached my ATLTransformations.java file to this post.

I don't see any attachment to this post.

--
Regards, Milan Milanovic

> I really don't know where the problem is. Because I thought I modified
> everything correctly.

> Could you please help me out?

> Thanks


> "Milan Milanovic" <milan@milanovic.org> schreef in bericht
> news:9d89c44d20b0b3476bfbab6302dea8af$1@www.eclipse.org...
>> Hi,
>>
>> ATL_Apprentice wrote:
>>
>>> Hi,
>>
>>> I created an ATL transformation and it works.
>>> Now I want to launch this ATL transformation from a java application.
>>
>>> - I've got the following files:
>>> * Input.xmi
>>> * UML1.4.xmi which is the metamodel of Input.xmi and also the
>>> metamodel
>>> of my output.
>>> * The output should be written in Output.xmi
>>> * Tranformation.atl
>>> * Transformation.asm
>>
>>> - I looked at the ATL wiki on the eclipse website:
>>>
>>
http://wiki.eclipse.org/ATL_Howtos#How_do_I_launch_transform ations_programmatically.3F
>>> From there I downloaded:
>>> * The AtlLauncher class
>>> * Milan Milanovic's ATL template bundle
>>
>>
>>> Q1: Is this all I need?
>>
>> Yes, it is all you need. Of course, with ATLTransformations class and
>> libraries.
>>
>>> - I changed to the java perspective in eclipse and created a new project
>>> with a:
>>> * src folder in which put the ATLTransformations.java and the
>>> AtlLauncher.java files
>>> * lib folder with all the jar files from the bundle. I added these jar
>>> files to the build path.
>>> * metamodels folder with the TCS folder and xml folder from the bundle
>>> and
>>> the uml1.4.xmi metamodel (from omg.org)
>>> * models folder with input.xmi
>>> * transformations folder with my atl and asm file in it
>>
>> O.K.
>>
>>> - I started editing the ATLTransformations.java file, but there are a few
>>> things I don't understand. Here's what I did:
>>> * According to eclipse some imports were unused, so I chose "organize
>>> imports"
>>
>> O.K.
>>
>>> * I changed the name of the asm file to my .asm file's name
>>
>> O.K.
>>
>>> * I commented away some EMF things (EMF related variables and the
>>> method
>>> initEMF() and the invokation of this method), because I used MDR as
>>> the
>>> handler for my models.
>>
>> O.K.
>>
>>> * I changed oneMM.xmi to UML1.4.xmi and did the same for otherMM.xmi,
>>> since my input model and output models are both UML models.
>>
>> O.K.
>>
>>> * I changed the model names in the last line of main to my model names
>>
>> O.K.
>>
>>> Q2: Is everything above correct and is this all I have to do?
>>
>> Well, actually it is all you got to do. Just one notice, you should see if
>> these ATL and Eclipse libs are in the CLASSPATH, and that you are using
>> the same versions. It is possible that Eclipse environment takes its own
>> libraries into CLASSPATH. And, of course, you need to use JDK 1.5.0, IT
>> DOES NOT WORK with JDK 1.6.0.
>>> Q3: What is that TCS specific stuff for? What does it have to do with
>>> ATL?
>>> I didn't need anything with TCS when I used the ATL perspective to
>>> run my transformation.
>>> * I noticed a line in ATLTransformations.java:
>>> private URL MM_tcs =
>>> ATLTransformations.class.getResource(transformationsMetamode ls +
>>> "MM/MM-TCS.xmi");
>>> What is that MM-TCS.xmi for? That file does not even exist.
>>
>> If you are not using ATL's TCS for creating model-to-text transformations,
>> then you don't need to use this. MM-TCS.xmi is a model of user defined
>> textual concrete syntax. You can read about TCS here:
>> http://wiki.eclipse.org/ATL_Howtos#Using_TCS.
>>
>>> Q4: In the method getMMFromFile(String file) there is a line:
>>> EBNFInjector2 ebnfi = new EBNFInjector2();
>>> Eclipse says local variable ebnfi is never read.. what is it for?
>>
>> It is again for using TCS, if you don't use it you can delete this method.
>>
>> --
>> Regards, Milan Milanovic
>>
>>> Hopefully someone can answer my questions.
>>
>>> Regards
>>
>>
Re: [ATL] Launch a transformation from a java application [message #53883 is a reply to message #53858] Fri, 20 July 2007 11:12 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: atl_apprentice.yahoo.com

Whoops.. stupid me..
Forgot to attach..



"Milan Milanovic" <milan@milanovic.org> schreef in bericht
news:5944a4d3058186dad8e12e3d11d64d3f$1@www.eclipse.org...
> Hi,
>
> ATL_Apprentice wrote:
>
>> Thank you for taking the time to answer my post.
>
>>> Well, actually it is all you got to do. Just one notice, you should see
>>> if
>>> these ATL and Eclipse libs are in the CLASSPATH, and that you are using
>>> the same versions.
>
>> I used the jars in the libs folder of the bundle you created.
>> I right-clicked these jars in the libs folder and clicked "Build Path >>
>> Add
>> to build path"
>> I think this is sufficient. Isn't it?
>
> Well, it should be.
>
>>> It is possible that Eclipse environment takes its own libraries into
>>> CLASSPATH. And, of course, you need to use JDK 1.5.0, IT DOES NOT WORK
>>> with JDK 1.6.0.
>
>> I assume that if ATL works correctly in the ATL perspective, then
>> everything
>> is ok?
>> I'm using JDK 1.4.2.
>
> O.K.
>
>> The transformation I created works fine in the ATL perspective, but when
>> I
>> switch to the java perspective and run the modified
>> ATLTransformation.java
>> as a Java application, then I get the following output in my console:
>> Initializing MDR...
>
>> java.lang.NullPointerException
>
>> at ATLTransformations.initMDR(ATLTransformations.java:141)
>
>> at ATLTransformations.<init>(ATLTransformations.java:115)
>
>> at
>> ATLTransformations.getATLTransformations(ATLTransformations. java:223)
>
>> at ATLTransformations.main(ATLTransformations.java:622)
>
>> Exception in thread "main"
>
> It looks like MDR is not initialized.
>
>> line 141 in my modified file is:
>> oneMM_MDR = mdramh.loadModel("OneMM", mdramh.getMof(),
>> onemmurl.openStream());
>
>> I attached my ATLTransformations.java file to this post.
>
> I don't see any attachment to this post.
>
> --
> Regards, Milan Milanovic
>
>> I really don't know where the problem is. Because I thought I modified
>> everything correctly.
>
>> Could you please help me out?
>
>> Thanks
>
>
>> "Milan Milanovic" <milan@milanovic.org> schreef in bericht
>> news:9d89c44d20b0b3476bfbab6302dea8af$1@www.eclipse.org...
>>> Hi,
>>>
>>> ATL_Apprentice wrote:
>>>
>>>> Hi,
>>>
>>>> I created an ATL transformation and it works.
>>>> Now I want to launch this ATL transformation from a java application.
>>>
>>>> - I've got the following files:
>>>> * Input.xmi
>>>> * UML1.4.xmi which is the metamodel of Input.xmi and also the
>>>> metamodel
>>>> of my output.
>>>> * The output should be written in Output.xmi
>>>> * Tranformation.atl
>>>> * Transformation.asm
>>>
>>>> - I looked at the ATL wiki on the eclipse website:
>>>>
>>>
> http://wiki.eclipse.org/ATL_Howtos#How_do_I_launch_transform ations_programmatically.3F
>>>> From there I downloaded:
>>>> * The AtlLauncher class
>>>> * Milan Milanovic's ATL template bundle
>>>
>>>
>>>> Q1: Is this all I need?
>>>
>>> Yes, it is all you need. Of course, with ATLTransformations class and
>>> libraries.
>>>
>>>> - I changed to the java perspective in eclipse and created a new
>>>> project
>>>> with a:
>>>> * src folder in which put the ATLTransformations.java and the
>>>> AtlLauncher.java files
>>>> * lib folder with all the jar files from the bundle. I added these
>>>> jar
>>>> files to the build path.
>>>> * metamodels folder with the TCS folder and xml folder from the
>>>> bundle
>>>> and
>>>> the uml1.4.xmi metamodel (from omg.org)
>>>> * models folder with input.xmi
>>>> * transformations folder with my atl and asm file in it
>>>
>>> O.K.
>>>
>>>> - I started editing the ATLTransformations.java file, but there are a
>>>> few
>>>> things I don't understand. Here's what I did:
>>>> * According to eclipse some imports were unused, so I chose "organize
>>>> imports"
>>>
>>> O.K.
>>>
>>>> * I changed the name of the asm file to my .asm file's name
>>>
>>> O.K.
>>>
>>>> * I commented away some EMF things (EMF related variables and the
>>>> method
>>>> initEMF() and the invokation of this method), because I used MDR
>>>> as
>>>> the
>>>> handler for my models.
>>>
>>> O.K.
>>>
>>>> * I changed oneMM.xmi to UML1.4.xmi and did the same for otherMM.xmi,
>>>> since my input model and output models are both UML models.
>>>
>>> O.K.
>>>
>>>> * I changed the model names in the last line of main to my model
>>>> names
>>>
>>> O.K.
>>>
>>>> Q2: Is everything above correct and is this all I have to do?
>>>
>>> Well, actually it is all you got to do. Just one notice, you should see
>>> if
>>> these ATL and Eclipse libs are in the CLASSPATH, and that you are using
>>> the same versions. It is possible that Eclipse environment takes its own
>>> libraries into CLASSPATH. And, of course, you need to use JDK 1.5.0, IT
>>> DOES NOT WORK with JDK 1.6.0.
>>>> Q3: What is that TCS specific stuff for? What does it have to do with
>>>> ATL?
>>>> I didn't need anything with TCS when I used the ATL perspective
>>>> to
>>>> run my transformation.
>>>> * I noticed a line in ATLTransformations.java:
>>>> private URL MM_tcs =
>>>> ATLTransformations.class.getResource(transformationsMetamode ls
>>>> +
>>>> "MM/MM-TCS.xmi");
>>>> What is that MM-TCS.xmi for? That file does not even exist.
>>>
>>> If you are not using ATL's TCS for creating model-to-text
>>> transformations,
>>> then you don't need to use this. MM-TCS.xmi is a model of user defined
>>> textual concrete syntax. You can read about TCS here:
>>> http://wiki.eclipse.org/ATL_Howtos#Using_TCS.
>>>
>>>> Q4: In the method getMMFromFile(String file) there is a line:
>>>> EBNFInjector2 ebnfi = new EBNFInjector2();
>>>> Eclipse says local variable ebnfi is never read.. what is it
>>>> for?
>>>
>>> It is again for using TCS, if you don't use it you can delete this
>>> method.
>>>
>>> --
>>> Regards, Milan Milanovic
>>>
>>>> Hopefully someone can answer my questions.
>>>
>>>> Regards
>>>
>>>
>
>


Re: [ATL] Launch a transformation from a java application [message #53911 is a reply to message #53883] Fri, 20 July 2007 11:27 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: milan.milanovic.org

ATL_Apprentice wrote:

> Whoops.. stupid me..
> Forgot to attach..

Well, as you can see I cannot download file. Could you try to zip it ?

--
Regards, Milan Milanovic


> "Milan Milanovic" <milan@milanovic.org> schreef in bericht
> news:5944a4d3058186dad8e12e3d11d64d3f$1@www.eclipse.org...
>> Hi,
>>
>> ATL_Apprentice wrote:
>>
>>> Thank you for taking the time to answer my post.
>>
>>>> Well, actually it is all you got to do. Just one notice, you should see
>>>> if
>>>> these ATL and Eclipse libs are in the CLASSPATH, and that you are using
>>>> the same versions.
>>
>>> I used the jars in the libs folder of the bundle you created.
>>> I right-clicked these jars in the libs folder and clicked "Build Path >>
>>> Add
>>> to build path"
>>> I think this is sufficient. Isn't it?
>>
>> Well, it should be.
>>
>>>> It is possible that Eclipse environment takes its own libraries into
>>>> CLASSPATH. And, of course, you need to use JDK 1.5.0, IT DOES NOT WORK
>>>> with JDK 1.6.0.
>>
>>> I assume that if ATL works correctly in the ATL perspective, then
>>> everything
>>> is ok?
>>> I'm using JDK 1.4.2.
>>
>> O.K.
>>
>>> The transformation I created works fine in the ATL perspective, but when
>>> I
>>> switch to the java perspective and run the modified
>>> ATLTransformation.java
>>> as a Java application, then I get the following output in my console:
>>> Initializing MDR...
>>
>>> java.lang.NullPointerException
>>
>>> at ATLTransformations.initMDR(ATLTransformations.java:141)
>>
>>> at ATLTransformations.<init>(ATLTransformations.java:115)
>>
>>> at
>>> ATLTransformations.getATLTransformations(ATLTransformations. java:223)
>>
>>> at ATLTransformations.main(ATLTransformations.java:622)
>>
>>> Exception in thread "main"
>>
>> It looks like MDR is not initialized.
>>
>>> line 141 in my modified file is:
>>> oneMM_MDR = mdramh.loadModel("OneMM", mdramh.getMof(),
>>> onemmurl.openStream());
>>
>>> I attached my ATLTransformations.java file to this post.
>>
>> I don't see any attachment to this post.
>>
>> --
>> Regards, Milan Milanovic
>>
>>> I really don't know where the problem is. Because I thought I modified
>>> everything correctly.
>>
>>> Could you please help me out?
>>
>>> Thanks
>>
>>
>>> "Milan Milanovic" <milan@milanovic.org> schreef in bericht
>>> news:9d89c44d20b0b3476bfbab6302dea8af$1@www.eclipse.org...
>>>> Hi,
>>>>
>>>> ATL_Apprentice wrote:
>>>>
>>>>> Hi,
>>>>
>>>>> I created an ATL transformation and it works.
>>>>> Now I want to launch this ATL transformation from a java application.
>>>>
>>>>> - I've got the following files:
>>>>> * Input.xmi
>>>>> * UML1.4.xmi which is the metamodel of Input.xmi and also the
>>>>> metamodel
>>>>> of my output.
>>>>> * The output should be written in Output.xmi
>>>>> * Tranformation.atl
>>>>> * Transformation.asm
>>>>
>>>>> - I looked at the ATL wiki on the eclipse website:
>>>>>
>>>>
>>
http://wiki.eclipse.org/ATL_Howtos#How_do_I_launch_transform ations_programmatically.3F
>>>>> From there I downloaded:
>>>>> * The AtlLauncher class
>>>>> * Milan Milanovic's ATL template bundle
>>>>
>>>>
>>>>> Q1: Is this all I need?
>>>>
>>>> Yes, it is all you need. Of course, with ATLTransformations class and
>>>> libraries.
>>>>
>>>>> - I changed to the java perspective in eclipse and created a new
>>>>> project
>>>>> with a:
>>>>> * src folder in which put the ATLTransformations.java and the
>>>>> AtlLauncher.java files
>>>>> * lib folder with all the jar files from the bundle. I added these
>>>>> jar
>>>>> files to the build path.
>>>>> * metamodels folder with the TCS folder and xml folder from the
>>>>> bundle
>>>>> and
>>>>> the uml1.4.xmi metamodel (from omg.org)
>>>>> * models folder with input.xmi
>>>>> * transformations folder with my atl and asm file in it
>>>>
>>>> O.K.
>>>>
>>>>> - I started editing the ATLTransformations.java file, but there are a
>>>>> few
>>>>> things I don't understand. Here's what I did:
>>>>> * According to eclipse some imports were unused, so I chose "organize
>>>>> imports"
>>>>
>>>> O.K.
>>>>
>>>>> * I changed the name of the asm file to my .asm file's name
>>>>
>>>> O.K.
>>>>
>>>>> * I commented away some EMF things (EMF related variables and the
>>>>> method
>>>>> initEMF() and the invokation of this method), because I used MDR
>>>>> as
>>>>> the
>>>>> handler for my models.
>>>>
>>>> O.K.
>>>>
>>>>> * I changed oneMM.xmi to UML1.4.xmi and did the same for otherMM.xmi,
>>>>> since my input model and output models are both UML models.
>>>>
>>>> O.K.
>>>>
>>>>> * I changed the model names in the last line of main to my model
>>>>> names
>>>>
>>>> O.K.
>>>>
>>>>> Q2: Is everything above correct and is this all I have to do?
>>>>
>>>> Well, actually it is all you got to do. Just one notice, you should see
>>>> if
>>>> these ATL and Eclipse libs are in the CLASSPATH, and that you are using
>>>> the same versions. It is possible that Eclipse environment takes its own
>>>> libraries into CLASSPATH. And, of course, you need to use JDK 1.5.0, IT
>>>> DOES NOT WORK with JDK 1.6.0.
>>>>> Q3: What is that TCS specific stuff for? What does it have to do with
>>>>> ATL?
>>>>> I didn't need anything with TCS when I used the ATL perspective
>>>>> to
>>>>> run my transformation.
>>>>> * I noticed a line in ATLTransformations.java:
>>>>> private URL MM_tcs =
>>>>> ATLTransformations.class.getResource(transformationsMetamode ls
>>>>> +
>>>>> "MM/MM-TCS.xmi");
>>>>> What is that MM-TCS.xmi for? That file does not even exist.
>>>>
>>>> If you are not using ATL's TCS for creating model-to-text
>>>> transformations,
>>>> then you don't need to use this. MM-TCS.xmi is a model of user defined
>>>> textual concrete syntax. You can read about TCS here:
>>>> http://wiki.eclipse.org/ATL_Howtos#Using_TCS.
>>>>
>>>>> Q4: In the method getMMFromFile(String file) there is a line:
>>>>> EBNFInjector2 ebnfi = new EBNFInjector2();
>>>>> Eclipse says local variable ebnfi is never read.. what is it
>>>>> for?
>>>>
>>>> It is again for using TCS, if you don't use it you can delete this
>>>> method.
>>>>
>>>> --
>>>> Regards, Milan Milanovic
>>>>
>>>>> Hopefully someone can answer my questions.
>>>>
>>>>> Regards
>>>>
>>>>
>>
>>


> begin 666 ATLTransformations.java
> M+RH-"B J($-R96%T960@;VX@,38N.2XR,# V+B M(&QA<W0@<F5V:7-I;VXZ
> M(#(N-"XR,# W+@T*("H@*$,I(#(P,#<N($UI;&%N($UI;&%N;W9I8RP@1T]/
> M1"!/3$0@04D>@3&%B;W)A=&]R>2P@1F%C=6QT>2!O9B!/<F=A;FEZ871I;VYA
> M;"!38VEE;F-E<RP@56YI=F5R<VET>2!O9B!"96QG<F%D92X-"B J#0H@*B @
> M5&AI<R!P<F]G<F%M(&ES(&9R964@<V]F='=A<F4[('EO=2!C86X@ <F5D:7-T
> M<FEB=71E(&ET(&%N9"]O<B!M;V1I9GD-"B J("!I="!U;F1E<B!T:&4@=&5R
> M;7,@;V8@=&AE($=.52!'96YE<F%L(%!U8FQI8R!,:6-E;G-E+"!V97)S:6]N
> M(#(@87,-"B J("!P=6)L:7-H960@8GD@=&AE($9R964@4V]F='=A<F4@1F]U
> M;F1A=&EO;BX-"B J#0H@*B @5&AI<R!P<F]G<F%M(&ES(&1I<W1R:6)U=&5D
> M(&EN('1H92!H;W!E('1H870@:70@=VEL;"!B92!U<V5F=6PL#0H@*B @8G5T
> M(%=)5$A/550@04Y9(%=!4E)!3E19.R!W:71H;W5T(&5V96X@=&AE(&EM<&QI
> M960@=V%R<F%N='D@;V8-"B J("!-15)#2$%.5$%"24Q)5%D@;W(@1DE43D53
> M4R!&3U(@02!005)424-53$%2(%!54E!/4T4N("!3964@=&AE#0H@*B @1TY5
> M($=E;F5R86P@4'5B;&EC($QI8V5N<V4@9F]R(&UO<F4@9&5T86EL<RX-"B J
> M#0H@*B @66]U('-H;W5L9"!H879E(')E8V5I=F5D(&$@8V]P>2!O9B!T:&4@
> M1TY5($=E;F5R86P@4'5B;&EC($QI8V5N<V4-"B J("!A;&]N9R!W:71H('1H
> M:7,@<')O9W)A;3L@:68@;F]T+"!W<FET92!T;R!T:&4@1G)E92!3;V9T=V%R
> M90T*("H@($9O=6YD871I;VXL($EN8RXL(#8W-2!-87-S($%V92P@0V%M8G)I
> M9&=E+"!-02 P,C$S.2P@55-!+@T*("H-"B J(" H4V5E('1H92!F:6QE(")#
> M3U!924Y'(B!T:&%T(&ES(&EN8VQU9&5D('=I=&@ @=&AI <R!S;W5R8V4@9&ES
> M=')I8G5T:6]N+BD-"B J+PT*#0II;7!O<G0@:F%V82YI;RY">71E07)R87E)
> M;G!U=%-T<F5A;3L-"FEM<&]R="!J879A+FEO+D)Y=&5!<G)A >4]U='!U=%-T
> M<F5A;3L-"FEM<&]R="!J879A+FEO+D9I;&5);G!U=%-T<F5A;3L- "FEM<&]R
> M="!J879A+FEO+D9I;&5.;W1&;W5N9$5X8V5P=&EO;CL-"FEM <&]R="!J879A
> M+FEO+D9I;&5/=71P=713=')E86T[#0II;7!O<G0@:F%V82YI;RY)3T5X8V5P
> M=&EO;CL-"FEM<&]R="!J879A+FEO+DEN<'5T4W1R96%M.PT*:6UP;W)T(&IA
> M=F$N:6N3W5T<'5T4W1R96%M.PT*:6UP;W)T(&IA=F$N;F5T+E523#L- "FEM
> M<&]R="!J879A+G5T:6PN0V]L;&5C=&EO;G,[#0II;7!O<G0@:F%V82YU=&EL
> M+DAA<VA-87 [#0II;7!O<G0@:F%V82YU=&EL+DUA<#L-"@T*:6UP;W)T(&IA
> M=F%X+GAM;"YP87)S97)S+E-!6%!A<G-E<CL-"FEM<&]R="!J879A >"YX;6PN
> M<&%R<V5R<RY305A087)S97)&86-T;W)Y.PT*#0II;7!O<G0@;W)G+F%T; "YE
> M8VQI<'-E+F5N9VEN92Y!=&Q-;V1E;$AA;F1L97([#0II;7!O<G0@;W)G+F%T
> M;"YE;F=I;F4N97AT<F%C=&]R<RY%>'1R86-T;W([#0II;7!O<G0@;W)G+F%T
> M;"YE;F=I;F4N97AT<F%C=&]R<RYE8FYF+D5"3D9%>'1R86-T;W([#0II;7!O
> M<G0@;W)G+F%T;"YE;F=I;F4N97AT<F%C=&]R<RYX;6PN6$U,17AT <F%C=&]R
> M.PT*+R]I;7!O<G0@;W)G+F%T;"YE;F=I;F4N:6YJ96-T;W)S+F5B;F8N14).
> M1DEN:F5C=&]R,CL-"FEM<&]R="!O<F<N871L+F5N9VEN92YI;FIE8W1O <G,N
> M> &UL+EA-3$EN:F5C=&]R.PT*:6UP;W)T(&]R9RYA=&PN9 6YG:6YE+G)E <&]S
> M:71O<FEE< RYM9'(T871L+D%334U$4DUO9&5L.PT*:6UP;W)T(&]R9RYA=& ;PN
> M96YG:6YE+G)E<&]S:71O<FEE<RYM9'(T871L+D%T;$U$4DUO9&5L2&%N9&QE
> M<CL-"FEM<&]R="!O<F<N871L+F5N9VEN92YV;2YN871I=F5L:6(N05--36]D
> M96P[#0II;7!O<G0@;W)G+GAM;"YS87@N4T%817AC97!T:6]N.PT*:6UP;W)T
> M(&]R9RYX;6PN<V%X+E-!6%!A<G-E17AC97!T:6]N.PT*:6UP;W)T(&]R9RYX
> M;6PN<V%X+FAE;'!E<G,N1&5F875L=$AA;F1L97([#0H-"BJ*@T*( "H@36%I
> M;B!C;&%S<R!F;W(@<G5N;FEN9R!!5$P@=')A;G-F;W)M871I;VYS('!R;V=R
> M86UA=&EC86QL>2 H=&5M<&QA=&4I#0H@*B!43T1/.B!!9&0@<W5P<&]R= "!F
> M;W(@<G5N;FEN9R!!33,@06YT('1A<VMS#0H@*B! 875T:&]R($UI;&%N($UI
> M;&%N;W9I8R H;6EL86X@6V%T72!M:6QA;F]V:6,N;W)G*0T*("H@0'9E<G-I
> M;VX@,BXS#0H@*B-"G!U8FQI8R!C;&%S<R!!5$Q4<F%N<V9O<FUA=&EO;G,@
> M>PT*#0H)+R@4W1O<"!O;B!E<G)O<B!I;B!%0DY&($EN:F5C=&EO;@T*"2O
> M<')I=F%T92!F:6YA;"!S=&%T:6,@8F]O;&5A;B!S=&]P3VY% <G)O<B ]("%F
> M86QS93L-"@T*"2O(%)E;&%T:79E(&QO8V%T:6]N(&]F('1R86YS9F]R;6%T
> M:6]N<PT*"5-T<FEN9R!T<F%N<V9O<FUA=&EO;G-,;V-A=&EO;B ](")T<F%N
> M<V9O<FUA=&EO;G,O(CL-"@T*"2O(%)E;&%T:79E(&QO8V%T:6]N(&]F(&UE
> M=&%M;V1E;',-"@E3=')I;F<@=')A;G-F;W)M871I;VYS365T86UO9&5L <R ]
> M(")M971A;6]D96PO(CL-"@T*"2O(%523"=S('1O(&-O;7!I;&5D($%43 "!T
> M<F%N<V9O<FUA=&EO;G,@*&%N(&5X86UP;&4@;V8@3VYE34T@=&@3W1H97)-
> M32!T<F%N<V9O<FUA=&EO;BD-"@EP<FEV871E(%523"!/;F5-33)/=&AE <DU-
> M=7)L(#T@051,5')A;G-F;W)M871I;VYS+F-L87-S+F=E=%)E<V]U<F-E*'1R
> M86YS9F]R;6%T:6]N<TQO8V%T:6]N("L@(E1R86YS9F]R;6%T:6]N+F%S;2(I
> M.PT*"2O($%D9"!H97)E(%523"=S('1O('EO=7(@;W1H97(@8V]M<&EL960@
> M=')A;G-F;W)M871I;VYS+BXN#0H-"@DO+R!40U,@<W!E8VEF:6,@*$U-(&ES
> M('!S975D;VYA;64@9F]R('-O;64@>6]U<B!M971A;6]D96P@=VAI8V@@:7,@
> M=7-E9"!F;W(@5$-3(&EN:F5C=&EO;B]E>'1R86-T:6]N*0T*"2O <')I=F%T
> M92!54DP@34U?=&-S(#T@051,5')A;G-F;W)M871I;VYS+F-L87-S+F=E=%)E
> M<V]U<F-E*'1R86YS9F]R;6%T:6]N<TUE=&%M;V1E;',@*R B34TO34TM5$-3
> M+GAM:2(I.PT*"2O<')I=F%T92!54DP@5$-3(#T@051,5')A;G-F;W)M871I
> M;VYS+F-L87-S+F=E=%)E<V]U<F-E*'1R86YS9F]R;6%T:6]N<TUE=&%M;V1E
> M;',@*R B5$-3+U1#4RYX;6DB*3L@+R@=7-E<R!-1%(@*&-H86YG92!T;R N
> M96-O<F4@9F]R($5-1BD-"@T*"2O($U$4B!M;V1E;"!H86YD;&5R#0H)<')I
> M=F%T92!!=&Q-;V1E;$AA;F1L97(@;61R86UH(#T@;G5L;#L-"@T*"2O($5-
> M1B!M;V1E;"!H86YD;&5R#0H)+R]P<FEV871E($%T;$UO9&5L2&%N9&QE <B!E
> M;69A;6@@/2!N=6QL.PT*#0H)+R@3412(&UE=&$M;65T86UO9&5L<PT*"7!R
> M:79A=&4@05--36]D96P@;VYE34U?3412(#T@;G5L;#L-"@EP<FEV871E($%3
> M34UO9&5L(&]T:&5R34U?3412(#T@;G5L;#L-"@EP<FEV871E($%334UO9&5L
> M('AM;$U$4FUM(#T@;G5L;#L@+R@6$U,(&UE=&%M;V1E;"!I<R!N965D960@
> M8F5C875S92!O9B!834P@:6YJ96-T:6]N+V5X=')A8W1I;VX-"@DO+R!!9&0@
> M:&5R92!O8FIE8W1S(&9O<B!Y;W4@;65T86UO9&5L<R H3412("T@34]&+3$N
> M-"DN+BX-"@T*"2O($9O<B!40U,@*$U$4BD@<W5P<&]R= T*"7!R:79A=&4@
> M05--36]D96P@=&-S3412;6T@/2!N=6QL.PT*"7!R:79A=&4@05--36]D96P@
> M;6U48W--1%)M;2 ](&YU;&P[#0H-"@DO+R!5<V5D(&9O<B!K965P:6YG(&UE
> M=&%M;V1E;"!N86UE<PT*"4UA<"!-1%)-971A36]D96QS(#T@;F5W($AA <VA-
> M87 H*3L-"@T*"2O($5-1B!M971A+6UE=&%M;V1E;',-"@DO+W!R:79A=&4@
> M05--36]D96P@;VYE34U?14U&(#T@;G5L;#L-"@DO+W!R:79A=&4@05--36]D
> M96P@;W1H97)-35]%348@/2!N=6QL.PT*"2O<')I=F%T92!!4TU-;V1E;"!X
> M;6Q%349M;2 ](&YU;&P[#0H)+R@061D(&AE<F4@;V)J96-T<R!F;W(@>6]U
> M(&UE=&%M;V1E;',@*$5-1B M($5C;W)E*0T*#0H)+R@1F]R(%1#4R H14U&
> M*2!S=7!P;W)T#0H)+R]P<FEV871E($%334UO9&5L('1C<T5-1FUM(#T@;G5L
> M;#L-"@DO+W!R:79A=&4@05--36]D96P@;6U48W-%349M;2 ](&YU;&P[#0H-
> M"@DO+R!'96YE<F%L(&UE=&$M;6]D96QS#0H)+R]P<FEV871E($%334UO9&5L
> M('!B;6T@/2!N=6QL.PT*#0H)+R@26YS=&%N8V4@;V8@051,5')A;G-F;W)M
> M871I;VYS(&-L87-S("A3:6YG;&5T;VXI#0H@(" @<')I=F%T92!S=&%T:6,@
> M051,5')A;G-F;W)M871I;VYS(&%T;%1R86YS9F]R;6%T:6]N<R ](&YU;&P[
> M#0H-"@DO+R!-87)K97)S(&9O<B!0<F]B;&5M(&UE=&%M;V1E; T*"2O<')I
> M=F%T92!-87)K97)-86ME<B!M87)K97)-86ME<CL-"@T*"2O($-O;G-T <G5C
> M=&]R#0H)<'5B;&EC($%43%1R86YS9F]R;6%T:6]N<R@I('L-"@D):6YI=$U$
> M4B@I.R O+R!);FET:6%L:7IE($U$4B!B87-E9"!M971A;6]D96QS#0H)(" @
> M("O:6YI=$5-1B@I.R O+R!);FET:6%L:7IE($5-1B!B87-E9"!M971A;6]D
> M96QS("T@:68@;F5E9&5D#0H)?2 O+R M+2!E;F0@;V8@8V]N<W1R=6-T;W(-
> M"@T*"2O+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO
> M+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO
> M+RO+RO+PT*"2O+R@1V5N97)A;"!!5$P@=')A;G-F;W)M871I;VX@:6YI
> M=&EA;&EZ871I;VX@=VET:"!D;VUA:6X@;65T86UO9&5L<R!S <&5C:69I8R!I
> M;FET:6%L:7IA=&EO;@T*"2O+RO+RO+RO+RO+RO+RO+RO+RO+RO
> M+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO
> M+RO+RO+RO+RO+RO+RO+PT*#0H)+RHJ#0H)("H@26YI=&EA;&EZ92!-
> M1%(@;6]D96P@:&%N9&QE<B!A;F0@34]&(&)A<V5D(&UE=&%M;V1E;',-"B @
> M(" @*B-"@EP<FEV871E('9O:60@:6YI=$U$4B@I('L-"@T*"0EI9BAM9')A
> M;6@@/3T@;G5L;"D@>R O+R!I9B!-1%(@:7,@;F]T(&EN:71I86QI>F5D#0H-
> M"@D)"2O($EN:71I86QI>F4@3412(&UO9&5L(&AA;F1L97(-"@D)"6UD<F%M
> M:" ](&=E=$1E9F%U;'1(86YD;&5R*")-1%(B*3L-"@T*"0D)+R@55),)W,@
> M=&@34]&+3$N-" H6$U)*2!M971A;6]D96QS#0H)"0E54DP@;VYE;6UU<FP@
> M/2!!5$Q4<F%N<V9O<FUA=&EO;G,N8VQA<W,N9V5T4F5S;W5R8V4H=')A;G-F
> M;W)M871I;VYS365T86UO9&5L<R K(")534PQ+C0N>&UI(BD[#0H)"0E54DP@
> M>&UL;6UU<FP@/2!!5$Q4<F%N<V9O<FUA=&EO;G,N8VQA<W,N9V5T4F5S;W5R
> M8V4H=')A;G-F;W)M871I;VYS365T86UO9&5L<R K(")X;6PO>&UL+GAM:2(I
> M.PT*"0D)55),(&]T:&5R;6UU<FP@/2!!5$Q4<F%N<V9O<FUA=&EO;G,N8VQA
> M<W,N9V5T4F5S;W5R8V4H=')A;G-F;W)M871I;VYS365T86UO9&5L<R K(")5
> M34PQ+C0N>&UI(BD[#0H)"0DO+R!!9&0@:&5R92!54DPG<R!T;R!Y;W5R(&UE
> M=&%M;V1E;',@*$U$4B M($U/1BTQ+C0I+BXN#0H-"@D)"71R>2![#0H)"0D)
> M+R@1V5T(&UE=&%M;V1E;',-"@D)"0EO;F5-35]-1%(@/2!M9')A;6@N;&]A
> M9$UO9&5L*")/;F5-32(L(&UD<F%M:"YG971-;V8H*2P@;VYE;6UU <FPN;W!E
> M;E-T<F5A;2@I*3L@"0D)+R@3TY%($U-#0H)"0D)>&UL3412;6T@/2!M9')A
> M;6@N;&]A9$UO9&5L*")834PB+"!M9')A;6@N9V5T36]F*"DL('AM;&UM=7)L
> M+F]P96Y3=')E86TH*2D[( D)"2O(%A-3"!-30T*"0D)"6]T:&5R34U?3412
> M(#T@;61R86UH+FQO861-;V1E;"@B3W1H97)-32(L(&UD<F%M:"YG971-;V8H
> M*2P@;W1H97)M;75R;"YO<&5N4W1R96%M*"DI.R )+R@3W1H97(@34T-"@D)
> M"0DO+R!,;V%D('EO=7(@;65T86UO9&5L<R!H97)E+BXN#0H-"@D) "0DO+R!/
> M;FQY(&9O<B!40U,@;W5T<'5T(2$-"@D)"0DO+W1C<TU$4FUM(#T@;61R86UH
> M+FQO861-;V1E;"@B5$-3(BP@;61R86UH+F=E=$UO9B@I+"!40U,N;W!E;E-T
> M<F5A;2@I*3L@"0D)+R@5$-3($U-#0H)"0D)+R]M;51C<TU$4FUM(#T@;61R
> M86UH+FQO861-;V1E;"@B34TN=&-S(BP@=&-S3412;6TL($U-7W1C <RYO<&5N
> M4W1R96%M*"DI.R )"2O($U-+51#4R!-30T*#0H)"0D)+R@4'5T(&UE=&%M
> M;V1E;',@:6X@;6%P(&9O<B!E87-Y(&QO;VMU< T*"0D)"4U$4DUE=&%-;V1E
> M;',N<'5T*")/;F5-32(L(&]N94U-7TU$4BD[#0H)"0D)3412365T84UO9&5L
> M<RYP=70H(EA-3"(L('AM;$U$4FUM*3L-"@D)"0E-1%)-971A36]D96QS+G!U
> M="@B3W1H97)-32(L(&]T:&5R34U?3412*3L-"@D)"0DO+TU$4DUE=&%-;V1E
> M;',N<'5T*")40U,B+"!T8W--1%)M;2D[#0H)"0D)+R]-1%)-971A36]D96QS
> M+G!U="@B34TM5$-3(BP@;6U48W--1%)M;2D[#0H)"0E](&-A=&-H( "A)3T5X
> M8V5P=&EO;B!E*2![#0H)"0D)92YP<FEN=%-T86-K5')A8V4H*3L-"@D) "7T-
> M"@D)?0T*"7T@+R@+2T@96YD(&]F(&EN:71-1%(-"@T*"2J*@T*"2 J($EN
> M:71I86QI>F4@14U&(&UO9&5L(&AA;F1L97(@86YD($5C;W)E(&)A<V5D(&UE
> M=&%M;V1E;',-"B @(" @*B-"BJ"7!R:79A=&4@=F]I9"!I;FET14U&*"D@
> M>PT*#0H)"6EF*&5M9F%M:" ]/2!N=6QL*2![("O(&EF($5-1B!I<R!N;W0@
> M:6YI=&EA;&EZ960-"@T*"0D)+R@26YI=&EA;&EZ92!%348@;6]D96P@:&%N
> M9&QE<@T*"0D)96UF86UH(#T@071L36]D96Q(86YD;&5R+F=E=$1E9F%U;'0H
> M071L36]D96Q(86YD;&5R+D%-2%]%348I.PT*#0H)"0DO+R!54DPG<R!T;R!%
> M8V]R92 H6$U)*2!M971A;6]D96QS#0H)"0E54DP@;VYE;6UU<FP@/2!!5$Q4
> M<F%N<V9O<FUA=&EO;G,N8VQA<W,N9V5T4F5S;W5R8V4H=')A;G-F;W)M871I
> M;VYS365T86UO9&5L<R K(")O;F5-32]O;F5-32YE8V]R92(I.PT*"0D)55),
> M('AM;&UM=7)L(#T@051,5')A;G-F;W)M871I;VYS+F-L87-S+F=E=%)E<V]U
> M<F-E*'1R86YS9F]R;6%T:6]N<TUE=&%M;V1E;',@*R B>&UL+WAM;"YE8V]R
> M92(I.PT*"0D)55),(&]T:&5R;6UU<FP@/2!!5$Q4<F%N<V9O <FUA=&EO;G,N
> M8VQA<W,N9V5T4F5S;W5R8V4H=')A;G-F;W)M871I;VYS365T86UO9&5L <R K
> M(")O=&AE<DU-+V]T:&5R34TN96-O<F4B*3L-"@D)"2O($%D9 "!H97)E(%52
> M3"=S('1O('EO=7(@;65T86UO9&5L<R H14U&("T@16-O<F4I+BXN#0H-"@D)
> M"71R>2![#0H)"0D)+R@1V5T(&UE=&%M;V1E;',-"@D)"0EO;F5-35]%348@
> M/2!E;69A;6@N;&]A9$UO9&5L*")/;F5-32(L(&5M9F%M:"YG971-;V8H*2P@
> M;VYE;6UU<FPN;W!E;E-T<F5A;2@I*3L-"@D)"0EX;6Q%349M;2 ](&5M9F%M
> M:"YL;V%D36]D96PH(EA-3"(L(&5M9F%M:"YG971-;V8H*2P@>&UL;6UU <FPN
> M;W!E;E-T<F5A;2@I*3L-"@D)"0EO=&AE<DU-7T5-1B ](&5M9F%M:"YL;V%D
> M36]D96PH(D]T:&5R34TB+"!E;69A;6@N9V5T36]F*"DL(&]T:&5R;6UU<FPN
> M;W!E;E-T<F5A;2@I*3L-"@D)"0DO+R!,;V%D('EO=7(@;65T86UO9&5L<R!H
> M97)E+BXN#0H-"@D)"0DO+R!/;FQY(&9O<B!40U,@;W5T<'5T(2$- "@D)"0DO
> M+W1C<T5-1FUM(#T@96UF86UH+FQO861-;V1E;"@B5$-3(BP@96UF86UH+F=E
> M=$UO9B@I+"!40U,N;W!E;E-T<F5A;2@I*3L@"0DO+R!40U,@34T-"@D)"0DO
> M+VUM5&-S14U&;6T@/2!E;69A;6@N;&]A9$UO9&5L*")-32YT8W,B+"!T8W-%
> M349M;2P@34U?=&-S+F]P96Y3=')E86TH*2D[( D)+R@34TM5$-3($U-#0H-
> M"@D)"7T@8V%T8V@@*$E/17AC97!T:6]N(&4I('L-"@D)"0EE+G!R:6YT4W1A
> M8VM4<F%C92@I.PT*"0D)?0T*"0E]#0H)"7!B;6T@/2!E;69A;6@N9V5T0G5I
> M;'1);DUE=&%-;V1E;"@B4')O8FQE;2(I.PT*"0EM87)K97)-86ME<B ](&YE
> M=R!-87)K97)-86ME<B@I.PT*"7T@+R@+2T@96YD(&]F(&EN:71%348-"BHO
> M#0H@(" O*BH-"B @(" J(%)E='5R;G,@9&5F875L="!M;V1E;"!H86YD;&5R
> M("AC=7)R96YT;'D@<W5P<&]R=&5D($U$4B!A;F0@14U&*0T*(" @("H@0'!A
> M<F%M(')E<&]S:71O<GD@4W1R:6YG('=H:6-H(')E<')E<V5N=',@;6]D96P@
> M:&%N9&QE<@T*(" @("H@0')E='5R;B!D969A=6QT(')E<&]S:71O<GD@9F]R
> M(&EN<'5T("A%348@;W(@3412*0T*(" @("HO#0H)<')I=F%T92!!=&Q-;V1E
> M;$AA;F1L97(@9V5T1&5F875L=$AA;F1L97(H4W1R:6YG(')E<&]S:71O <GDI
> M('L-"@D@(" @071L36]D96Q(86YD;&5R(&%M:" ](&YU;&P[#0H)(" @('1R
> M>2![#0H)(" @(" @(" @86UH(#T@071L36]D96Q(86YD;&5R+F=E=$1E9F%U
> M;'0H<F5P;W-I=&]R>2D[#0H)(" @('T@8V%T8V@@*%1H<F]W86)L92!E*2![
> M#0H)(" @(" @(" @:68@*")-1%(B+F5Q=6%L<RAR97!O<VET;W)Y*2D@>PT*
> M"2 @(" @(" @(" @("!!=&Q-;V1E;$AA;F1L97(N<F5G:7-T97)$969A=6QT
> M2&%N9&QE<B@B3412(BP@;F5W($%T;$U$4DUO9&5L2&%N9&QE<B@I*3L@+R@
> M<F5G:7-T97(-"@D@(" @(" @(" @(" @86UH(#T@071L36]D96Q(86YD;&5R
> M+F=E=$1E9F%U;'0H<F5P;W-I=&]R>2D[#0H)(" @(" @(" @?2!E;'-E('L-
> M"@D@(" @(" @(" @(" @=&AR;W<@;F5W(%)U;G1I;65%>&-E<'1I;VXH92D[
> M#0H)(" @(" @(" @?0T*"2 @(" @?0T*"2 @(" @<F5T=7)N(&%M:#L-"B @
> M("!]("O("TM(&5N9"!O9B!G971$969A=6QT2&%N9&QE <@T*#0H@(" O*BH-
> M"@D@*B!2971U<FYS('-T871I8R!I;G-T86YC92!O9B!!5$Q4<F%N<V9O <FUA
> M=&EO;G,@8VQA<W,@*%-I;F=L971O;BD-"@D@*B! <F5T=7)N(&1E9F%U;'0@
> M<F5P;W-I=&]R>2!F;W(@:6YP=70@*$5-1B!O<B!-1%(I#0H)("HO#0H@( " @
> M<'5B;&EC('-T871I8R!!5$Q4<F%N<V9O<FUA=&EO;G,@9V5T051,5')A;G-F
> M;W)M871I;VYS*"D@>PT*"0EI9BAA=&Q4<F%N<V9O<FUA=&EO;G,@(#T](&YU
> M;&PI#0H)"0EA=&Q4<F%N<V9O<FUA=&EO;G,@/2!N97<@051,5')A;G-F;W)M
> M871I;VYS*"D[#0H-"@D)<F5T=7)N(&%T;%1R86YS9F]R;6%T:6]N <SL-"@E]
> M#0H-"B @(" O*BH-"B @(" @*B!#:&5C:R!I9B!I;G!U="!834P@9FEL92!I
> M<R!W96QL+69O<FUE9" M(&AE;'!E<B!M971H;V0-"B @(" @*B! <&%R86T@
> M9FEL92!P871H('1O(&EN<'5T(%A-3"!F:6QE(&]R(%A-3"!C;V1E#0H@( " @
> M("H@0'!A<F%M(&ES1FEL92!I9B!I="!I<R!T<G5E('1H96X@:70@:7,@<&%T
> M:"!T;R!F:6QE+"!O=&AE<G=I<V4@:70@:7,@4W1R:6YG('1H870@8V]N=&%I
> M;G,@6$U,(&-O9&4-"B @(" @*B! <F5T=7)N('1R=64@:68@:6YP=70@6$U,
> M(&9I;&4@:7,@=V5L;"!F;W)M960L(&]T:&5R=VES92!I <R!F86QS90T*(" @
> M(" J+PT*(" @('!R:79A=&4@8F]O;&5A;B!C:&5C:T9O<E=E;&Q&;W)M961N
> M97-S*%-T<FEN9R!F:6QE+"!B;V]L96%N(&ES1FEL92D-"@E[#0H) "5-!6%!A
> M<G-E<B!S87A087)S97(@/2!N=6QL.PT*"0E$969A=6QT2&%N9&QE <B!D:" ]
> M(&YU;&P[#0H)"4EN<'5T4W1R96%M(&EN(#T@;G5L;#L-"@T* "0DO+R!I;FET
> M('!A<G-E<@T*"0ET<GD@>PT*"0D)4T%84&%R<V5R1F%C=&]R >2!S<&9A8W1O
> M<GD@/2!305A087)S97)&86-T;W)Y+FYE=TEN<W1A;F-E*"D[#0H) "0ES87A0
> M87)S97(@/2!S<&9A8W1O<GDN;F5W4T%84&%R<V5R*"D[#0H) "0ED:" ](&YE
> M=R!$969A=6QT2&%N9&QE<B@I.PT*"0E]#0H)"6-A=&-H*$5X8V5P=&EO;B!E
> M*2![#0H)"0E3>7-T96TN;W5T+G!R:6YT;&XH(D-A;FYO="!I;FET:6%L:7IE
> M(%-!6"!P87)S97(N(BD[#0H)"0EE+G!R:6YT4W1A8VM4<F%C92@I.PT*"0D)
> M<F5T=7)N(&9A;'-E.PT*"0E]#0H-"@D)+R@<&%R<V4@=&AE(%A-3 "!D;V-U
> M;65N="!U<VEN9R!305@@<&%R<V5R#0H)"71R>2![#0H)"0EI9B H:7-&:6QE
> M(#T]('1R=64I('L@+R@:70@:7,@9FEL90T*"0D)"6EN(#T@;F5W($9I;&5)
> M;G!U=%-T<F5A;2AF:6QE*3L-"@D)"7T-"@D)"65L<V4@>R O+R!I="!I<R!3
> M=')I;F<@=&AA="!C;VYT86EN<R!834P@8V]D90T*"0D)"6)Y=&4@8W5R<F5N
> M=%A-3$)Y=&5S6UT@/2!F:6QE+F=E=$)Y=&5S*"D[("O($=E="!B >71E<R!F
> M<F]M(&EN<'5T(%-T<FEN9PT*"0D)"6EN(#T@;F5W($)Y=&5! <G)A>4EN<'5T
> M4W1R96%M*&-U<G)E;G1834Q">71E<RD[#0H)"0E]#0H)"0ES87A087)S97(N
> M<&%R<V4H:6XL(&1H*3L@+R@4T%817AC97!T:6]N+"!)3T5X8V5P=&EO;@T*
> M"0E]#0H)"6-A=&-H*%-!6%!A<G-E17AC97!T:6]N('-P92D@>R O+R!$;V-U
> M;65N="!I<R!N;W0@=V5L;"UF;W)M960Z($5R<F]R#0H)"0E3>7-T96TN;W5T
> M+G!R:6YT;&XH(D1O8W5M96YT(&ES(&YO="!W96QL+69O<FUE9 "XB*3L-"@D)
> M"7)E='5R;B!F86QS93L-"@D)?0T*"0EC871C:"A305A%>&-E<'1I;VX@ <V4I
> M('L@+R@*"HI#0H)"0E3>7-T96TN;W5T+G!R:6YT;&XH(D5R<F]R('=H:6QE
> M('!A<G-I;F<@:6YP=70@6$U,(&9I;&4Z("(@*R!F:6QE*3L-"@D)"7-E+G!R
> M:6YT4W1A8VM4<F%C92@I.PT*"0D)<F5T=7)N(&9A;'-E.PT*"0E]#0H)"6-A
> M=&-H*$9I;&5.;W1&;W5N9$5X8V5P=&EO;B!F*2![#0H ) "0E3>7-T96TN;W5T
> M+G!R:6YT;&XH(D5R<F]R.B!&:6QE(&ES(&YO="!F;W5N9 "(I.PT*"0D)<F5T
> M=7)N(&9A;'-E.PT*"0E]#0H)"6-A=&-H*$E/17AC97!T:6]N(&EO92D@ >PT*
> M"0D)4WES=&5M+F]U="YP<FEN=&QN*")#86YN;W0@<F5A9"!F:6QE+B(I.PT*
> M"0D)<F5T=7)N(&9A;'-E.PT*"0E]#0H)"7)E='5R;B!T<G5E.PT* "7T@+R@
> M+2T@96YD(&]F(&-H96-K1F]R5V5L;$9O<FUE9&YE<W,-"@T*(" @("J*@T*
> M(" @(" J($EN:F5C="!I;G!U="!834P@9FEL92!T;R!834P@;6]D96P@*&EN
> M<W1A;F-E(&]F(%A-3"!M971A;6]D96P@+2!-3T8@,2XT*0T*(" @(" J($YO
> M=&4Z(&EF('EO=2!W86YT('1O('5S92!%348L(&IU<W0@8VAA;F=E("=M9')A
> M;6@G('1O("=E;69A;6@G(&%N9" G>&UL3412;6TG('1O("=X;6Q%349M;2<-
> M"B @(" @*B @(" @("!I;B!T:&ES(&UE=&AO9"P@86YD(&%L<V@:6X@;W1H
> M97(@;65T:&]D<R!I9B!N965D960N#0H@(" @("H@0'!A<F%M(&9I;&4@;F%M
> M92!O9B!F:6QE(&9R;VT@=VAI8V@@6$U,(&UO9&5L('=I;&P@8F4>@8W)E871E
> M9 T*(" @(" J($!R971U<FX@8W)E871E9"!834P@;6]D96P@9G)O;2!I;G!U
> M="!F:6QE#0H@(" @("HO#0H)<'5B;&EC($%334UO9&5L(&EN:F5C=%A-3$UO
> M9&5L1G)O;49I;&4H4W1R:6YG(&9I;&4I('L-"@D):6YI=$U$4B@I.R O+R!I
> M9B!-1%(@:7,@;F]T(&EN:71I86QI>F5D+"!D;R!I="!N;W<@(0T*#0H) "4%3
> M34UO9&5L(')E=" ](&UD<F%M:"YN97=-;V1E;"@B24XB+"!X;6Q-1%)M;2D[
> M("O(&-R96%T92!N97<@;W5T<'5T(&UO9&5L('=I=&@@6$U,(&UE=&%M;V1E
> M;" H34]&+3$N-"D-"@T*"0E834Q);FIE8W1O<B!X;6QI(#T@;F5W(%A-3$EN
> M:F5C=&]R*"D[("O(&-R96%T92!834P@:6YJ96-T;W(-"@T*"0E-87 @<&%R
> M86UE=&5R<R ]($-O;&QE8W1I;VYS+D5-4%197TU!4#L@+R@;F@<&%R86UE
> M=&5R<PT*#0H)"4EN<'5T4W1R96%M(&EN(#T@;G5L;#L-"@T* "0ET<GD@>PT*
> M"0D):6X@/2!N97<@1FEL94EN<'5T4W1R96%M*&9I;&4I.PT*#0H) "0EX;6QI
> M+FEN:F5C="AR970L(&EN+"!P87)A;65T97)S*3L@+R@1&@:6YJ96-T:6]N
> M("$-"@T*" 0E](&-A=&-H*$9I;&5.;W1&;W5N9$5X8V5P=&EO; B!F*2![#0H)
> M"0E3>7-T96TN;W5T+G!R:6YT;&XH(D5R<F]R.B!&:6QE(&ES(&YO= "!F;W5N
> M9"(I.PT*"0E](&-A=&-H*$E/17AC97!T:6]N(&EO*2![#0H) "0E3>7-T96TN
> M;W5T+G!R:6YT;&XH(D5R<F]R.B!I;B!I;FIE8W1I;VX@;V8@6$U,(&9I;&4B
> M*3L-"@D)?0T*#0H)"7)E='5R;B!R970[#0H)?2 O+R M+2!E;F0@;V8@:6YJ
> M96-T6$U,36]D96Q&<F]M1FEL90T*#0H@(" @+RHJ#0H@(" @("H@0V]N=F5R
> M="!I;G!U="!3=')I;F<@=VAI8V@@8V]N=&%I;G,@6$U,(&-O9&4@=&@6$U,
> M(&UO9&5L("AI;G-T86YC92!O9B!834P@;65T86UO9&5L("T@34]&(#$N-"D-
> M"B @(" @*B! <&%R86T@:6YP=713=')I;F<@4W1R:6YG('=H:6-H(&-O;G1A
> M:6YS(%A-3 T*(" @(" J($!R971U<FX@8W)E871E9"!834P@;6]D96P@9G)O
> M;2!I;B!834P@8V]D90T*(" @(" J+PT*"7!U8FQI8R!!4TU-;V1E;"!I;FIE
> M8W1834Q-;V1E;$9R;VU3=')I;F<H4W1R:6YG(&EN<'5T4W1R:6YG*2![#0H)
> M"6EN:71-1%(H*3L@+R@:68@3412(&ES(&YO="!I;FET:6%L:7IE9"P@9&@
> M:70@;F]W("$-"@T*"0DO+R!'970@8GET97,@9G)O;2!I;G!U="!3=')I;F<-
> M"@D)8GET92!C=7)R96YT6$U,0GET97-;72 ](&EN<'5T4W1R:6YG+F=E=$)Y
> M=&5S*"D[#0H-"@D)26YP=713=')E86T@:6X@/2!N97<@0GET94%R <F%Y26YP
> M=713=')E86TH8W5R<F5N=%A-3$)Y=&5S*3L-"@T*"0E!4TU-;V1E; "!R970@
> M/2!M9')A;6@N;F5W36]D96PH(DE.(BP@>&UL3412;6TI.R O+R!C<F5A=&4@
> M;F5W(&]U='!U="!M;V1E;"!W:71H(%A-3"!M971A;6]D96P@*$U/1BTQ+C0I
> M#0H-"@D)6$U,26YJ96-T;W(@>&UL:2 ](&YE=R!834Q);FIE8W1O<B@I.R O
> M+R!C<F5A=&4@6$U,(&EN:F5C=&]R#0H-"@D)36%P('!A<F%M971E<G,@/2!#
> M;VQL96-T:6]N<RY%35!465]-05 [("O(&YO('!A<F%M971E<G,-"@T*"0ET
> M<GD@>PT*"0D)>&UL:2YI;FIE8W0H<F5T+"!I;BP@<&%R86UE=&5R <RD[("O
> M($1O(&EN:F5C=&EO;B A#0H)"7T@8V%T8V@H24]%>&-E<'1I;VX@:6I>PT*
> M"0D):6N<')I;G13=&%C:U1R86-E*"D[#0H)"7T-"@T*"0ER971U <FX@<F5T
> M.PT*"7T@+R@+2T@96YD(&]F(&EN:F5C=%A-3$UO9&5L1G)O;49I;&4-"@T*
> M(" @("J*@T*(" @(" J($5X=')A8W0@:6YP=70@6$U,(&UO9&5L("AI;G-T
> M86YC92!O9B!834P@;65T86UO9&5L("T@34]&(#$N-"D@=&@6$U,(&9I;&4-
> M"B @(" @*B! <&%R86T@;6]D96P@:6YP=70@6$U,(&UO9&5L('=H:6-H('=I
> M;&P@8F4>@97AT<F%C=&5D('1O(%A-3"!F:6QE#0H@(" @("H@0'!A<F%M(&9I
> M;&4@;W5T<'5T(%A-3"!F:6QE(&EN('=H:6-H(&EN<'5T(%A-3 "!M;V1E;"!W
> M:6QL(&)E(&5X=')A8W1E9 T*(" @(" J+PT*"7!U8FQI8R!V;VED(&5X=')A
> M8W1834Q-;V1E;%1O1FEL92A!4TU-;V1E;"!M;V1E;"P@4W1R:6YG(&9I;&4I
> M('L-"@D):6YI=$U$4B@I.PT*#0H)"4]U='!U=%-T<F5A;2!O=70@/2!N=6QL
> M.PT*#0H)"4UA<"!P87)A;65T97)S(#T@0V]L;&5C=&EO;G,N14U05%E?34%0
> M.PT*#0H)"5A-3$5X=')A8W1O<B!X;6QE(#T@;F5W(%A-3$5X=')A8W1O<B@I
> M.PT*#0H)"71R>2![#0H)"0EO=70@/2!N97<@1FEL94]U='!U=%-T<F5A;2AF
> M:6QE*3L-"@T*"0D)>&UL92YE>'1R86-T*&UO9&5L+"!O=70L('!A <F%M971E
> M<G,I.R O+R!$;R!E>'1R86-T:6]N("$-"@T*"0D);W5T+F9L=7-H*"D[(&]U
> M="YC;&]S92@I.R O+R!C;&]S92!S=')E86T-"@D)?2!C871C:"A&:6QE3F]T
> M1F]U;F1%>&-E<'1I;VX@9BD@>PT*"0D)4WES=&5M+F]U="YP<FEN=&QN*")%
> M<G)O<CH@1FEL92!I<R!N;W0@9F]U;F0B*3L-"@D)?2!C871C:"A)3T5X8V5P
> M=&EO;B!I;RD@>PT*"0D)4WES=&5M+F]U="YP<FEN=&QN* ")%<G)O<CH@:6X@
> M97AT< F%C=&EO;B!O9B!834P@;6]D96P@=&@6$U,(&9I;&4B*3 L- "@D)?0T*
> M"7T@+R@+2T@96YD(&]F(&5X=')A8W1834Q-;V1E;%1O1FEL90T*#0H@(" @
> M+RHJ#0H@(" @("H@17AT<F%C="!I;G!U="!834P@;6]D96P@*&EN<W1A;F-E
> M(&]F(%A-3"!M971A;6]D96P@+2!-3T8@,2XT*2!T;R!3=')I;F<-"B @(" @
> M*B! <&%R86T@;6]D96P@:6YP=70@6$U,(&UO9&5L('=H:6-H('=I;&P@8F4@
> M97AT<F%C=&5D('1O(%A-3"!F:6QE#0H@(" @("H@0')E='5R;B!I;G!U="!M
> M;V1E;"!R971U<FYE9"!A<R!3=')I;F<-"B @(" @*B-"@EP=6)L:6,@4W1R
> M:6YG(&5X=')A8W1834Q-;V1E;%1O4W1R:6YG*$%334UO9&5L(&a mp;UO9&5L*2![
> M#0H)"6EN:71-1%(H*3L-"@T*"0E/=71P=713=')E86T@;W5T(#T@;G5L;#L@
> M4W1R:6YG(')E=" ](&YU;&P[#0H-"@D)36%P('!A<F%M971E<G,@/2!#;VQL
> M96-T:6]N<RY%35!465]-05 [#0H-"@D)6$U,17AT<F%C=&]R('AM;&4@/2!N
> M97<@6$U,17AT<F%C=&]R*"D[#0H-"@D)=')Y('L-"@D)"6]U= " ](&YE=R!"
> M>71E07)R87E/=71P=713=')E86TH*3L-"@T*"0D)>&UL92YE>'1R86-T*&UO
> M9&5L+"!O=70L('!A<F%M971E<G,I.R O+R!$;R!E>'1R86-T:6]N("$-"@T*
> M"0D)<F5T(#T@;W5T+G1O4W1R:6YG*"D[#0H-"@D)"6]U="YF;'5S: "@I.R!O
> M=70N8VQO<V4H*3L@+R@8VQO<V4@<W1R96%M#0H)"7T@8V%T8V@H1FEL94YO
> M=$9O=6YD17AC97!T:6]N(&8I('L-"@D)"5-Y<W1E;2YO=70N<')I;G1L;B@B
> M17)R;W(Z($9I;&4@:7,@;F]T(&9O=6YD(BD[#0H)"7T@8V%T8V@H24]%>&-E
> M<'1I;VX@:6I('L-"@D)"5-Y<W1E;2YO=70N<')I;G1L;B@B17)R;W(Z(&EN
> M(&5X=')A8W1I;VX@;V8@6$U,(&UO9&5L('1O(%A-3"!F:6QE(BD[#0H)"7T-
> M"@D)<F5T=7)N(')E=#L-"@E]("O("TM(&5N9"!O9B!E>'1R86-T6$U,36]D
> M96Q4;T9I;&4-"@T*"2O+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO
> M+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO
> M+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+R-"@DO+R!!;B!E>&%M
> M<&QE($5"3D8@:6YJ96-T+V5X=')A8W0@;65T:&]D<R!F;W(@ <V]M92!-32!M
> M971A;6]D96P@*'1H:7,@<VAO=6QD(&)E(&-H86YG960@9F]R(&5V97)Y(&UE
> M=&%M;V1E;"D-"@DO+R!.;W1E.B!Y;W4@<VAO=6QD(&AA=F4@9V5N97)A=&5D
> M($U-+65B;F9I;FIE8W1O<BYJ87(@86YD('!U='1E9 T*"2O(" @(" @(&EN
> M(&EN=&@8VQA<W-P871H('=I=&@@;W1H97(@;&EB<PT* "2O+RO+RO+RO
> M+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO
> M+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO
> M+RO+RO+R-"@T*"2J*@T*(" @(" J($5X=')A8W0@:6YP=70@34T@;6]D
> M96P@*&EN<W1A;F-E(&]F('-O;64@34T@;65T86UO9&5L("T@34]&(#$N-"D@
> M=&@1FEL90T*"2 J($!P87)A;2!-34UO9&5L(&EN<'5T($U-(&UO9&5L('=H
> M:6-H('=I;&P@8F4>@97AT<F%C=&5D('1O($9I;&4-"@D@*B! <&%R86T@9FEL
> M92!P871H('1O('1H92!F:6QE(&EN('=H:6-H('=I;&P@8F4>@97AT<F%C=&5D
> M(&EN<'5T($U-(&UO9&5L#0H)("HO#0H@(" @<'5B;&EC('9O:60@<V%V94U-
> M36]D96Q4;T9I;&4H05--36]D96P@34U-;V1E;"P@4W1R:6YG(&9I;&4I('L-
> M"@D):6YI=$U$4B@I.PT*#0H)"4]U='!U=%-T<F5A;2!O=70@/2!N=6QL.PT*
> M#0H)"45X=')A8W1O<B!E>'0@/2!N97<@14).1D5X=')A8W1O<B@I.PT*"0E-
> M87 @<&%R86US(#T@;F5W($AA<VA-87 H*3L-"@D)<&%R86US+G!U="@B9F]R
> M;6%T(BP@3412365T84UO9&5L<RYG970H(DU-+51#4R(I*3L-"@D)<&%R86US
> M+G!U="@B:6YD96YT4W1R:6YG(BP@(EQT(BD[#0H-"@D)=')Y('L-"@D) "6]U
> M=" ](&YE=R!&:6QE3W5T<'5T4W1R96%M*&9I;&4I.PT*"0D)97AT+F5X=')A
> M8W0H34U-;V1E;"P@;W5T+"!P87)A;7,I.R O+R!D;R!I="$-"@T*"0E](&-A
> M=&-H*$5X8V5P=&EO;B!E*2![#0H)"0EE+G!R:6YT4W1A8VM4<F%C92@I.PT*
> M"0E]#0H)?2 O+R M+2!E;F0@;V8@<V%V94U-36]D96Q4;T9I;&4-"@T*"2J
> M*@T*"2 J($1E<V5R:6%L:7IE<R!A($U-(&UO9&5L(&9R;VT@82!&:6QE+B H
> M=V]R:W,@=VET:"!-1%(L(&)U="!I9B!I="!I<R!N965D960L(&IU <W0@8VAA
> M;F=E('1O($5-1BD-"@D@*B! <&%R86T@9FEL92!I<R!T:&4@34T>@9FEL92X-
> M"@D@*B! <F5T=7)N('1H92!-32!M;V1E;"!T:&%T(&ES(&EN:F5C=&5D(&9R
> M;VT@:6YP=70@34T>@8V]D92X-"@D@*B-"@D@<'5B;&EC($%334UO9&5L(&=E
> M=$U-1G)O;49I;&4H4W1R:6YG(&9I;&4I('L-"@D):6YI=$U$4B@I.R O+R!I
> M9B!-1%(@*&%N9"!%348I(&ES(&YO="!I;FET:6%L:7IE9 "P@9&@:70@;F]W
> M("$-"@T*"0E!4TU-;V1E;"!R970@/2!M9')A;6@N;F5W36]D96PH(DE.(BP@
> M;VYE34U?3412*3L@+R@8W)E871E(&YE=R!O=71P=70@;6]D96P@=VET:"!/
> M;F5-32 H;W(@<V]M92!Y;W5R($U-*2!M971A;6]D96P-"@T*"0DO+T5"3D9)
> M;FIE8W1O<C(@96)N9FD@/2!N97<@14).1DEN:F5C=&]R,B@I.PT*"0E);G!U
> M=%-T<F5A;2!I;B ](&YU;&P[#0H-"@D)=')Y('L-"@D)"6EN(#T@;F5W($9I
> M;&5);G!U=%-T<F5A;2AF:6QE*3L-"@T*"0D)+R]#;&%S<R!L97AE <B ]($U-
> M3&5X97(N8VQA<W,[("O(%1H:7,@87)E('EO=7(@9V5N97)A=&5D(&-L87-S
> M97,-"@D)"2O0VQA<W,@<&%R<V5R(#T@34U087)S97(N8VQA<W,[#0H-"@D)
> M"2O96)N9FDN<&5R9F]R;4EM<&]R=&%T:6]N*&]N94U-7TU$4BP@ <F5T+"!I
> M;BP@(DU-(BP@;&5X97(L('!A<G-E<BD[#0H-"@D)"6EN+F-L;W-E* "D[#0H-
> M"@D)"7T@8V%T8V@H1FEL94YO=$9O=6YD17AC97!T:6]N(&8I('L-"@D)"0E3
> M>7-T96TN;W5T+G!R:6YT;&XH(D5R<F]R.B!&:6QE(&ES(&YO= "!F;W5N9"(I
> M.PT*"0D)?2!C871C:"A)3T5X8V5P=&EO;B!I;RD@>PT*"0D)"5-Y <W1E;2YO
> M=70N<')I;G1L;B@B17)R;W(Z(&EN(&EN:F5C=&EO;B!O9B!-32!F:6QE(BD[
> M#0H)"0E](&-A=&-H*$5X8V5P=&EO;B!E*2![#0H)"0D)92YP <FEN=%-T86-K
> M5')A8V4H*3L-"@D)"7T-"@T*"0D)+R@5$]$3SH@0VAE8VL>@9F]R('!R;V)L
> M96US('=I=&@Z(&EN="!N8E!B<R ](&UA<FME<DUA:V5R+F%P<&QY36%R:V5R
> M<RAF:6QE+"!P8G,I.R N+BX-"@T*"0D)<F5T=7)N(')E=#L-"@E]("O("TM
> M(&5N9"!O9B!G971-349R;VU&:6QE#0H-"B @("J*@T*(" @(" J($QA=6YC
> M:"!!5$P@=')A;G-F;W)M871I;VX-"B @(" @*B! <&%R86T@;6]D96Q(86YD
> M;&5R(&UO9&5L(&AA;F1L97(@=VAI8V@@:7,@=7-E9"!F;W(@8W)E871I;F <@
> M;W5T<'5T(&UO9&5L#0H@(" @("H@0'!A<F%M('1R86YS9F]R;6%T:6]N(%52
> M3"!T;R!C;VUP:6QE9"!!5$P@=')A;G-F;W)M871I;VX-"B @(" @*B! <&%R
> M86T@:6YP=71-;V1E;"!I;G!U="!M;V1E;"!F;W(@=')A;G-F;W)M871I;VX-
> M"B @(" @*B! <&%R86T@:6YP=71-971A;6]D96P@:6YP=70@;65T86UO9&5L
> M(&9O<B!T<F%N<V9O<FUA=&EO;@T*(" @(" J($!P87)A;2!O=71P=71-971A
> M;6]D96P@;W5T<'5T(&UE=&%M;V1E;"!F;W(@=')A;G-F;W)M871I;VX- "B @
> M(" @*B! <&%R86T@:6Y087)A;7,@861D:71I;VYA;"!P87)A;65T97)S(&9O
> M<B!T<F%N<V9O<FUA=&EO;@T*(" @(" J($!P87)A;2!I;DQI8G,@861D:71I
> M;VYA;"!L:6)R87)I97,@9F]R('1R86YS9F]R;6%T:6]N#0H@(" @("HO#0H)
> M< '5B;&EC($%334UO9&5L(')U;D%43%1R86YS9F]R;6%T:6]N*$%T; $UO9&5L
> M2&%N9&QE<B!M;V1E;$AA;F1L97(L(%523"!T<F%N<V9O<FUA=&EO;BP@05--
> M36]D96P@:6YP=71-;V1E;"P-"@D)"0D)"0D)"2 @(" @05--36]D96P@:6YP
> M=71-971A;6]D96PL($%334UO9&5L(&]U='!U=$UE=&%M;V1 E; "P@36%P(&EN
> M4&%R86US+"!-87 @:6Y,:6)S*2![#0H)"6EN:71-1%(H*3L@+R@26YI=&EA
> M;&EZ92!-1%(@;6]D96P@:&%N9&QE<@T*#0H)"4%334UO9&5L(')E= " ](&YU
> M;&P[("O(')E='5R;B!M;V1E; T*#0H)"2O(%-E="!L875N8V@@8V]N9FEG
> M=7)A=&EO;@T*"0E-87 @;6]D96QS(#T@;F5W($AA<VA-87 H*3L-"@D);6]D
> M96QS+G!U="AI;G!U=$UE=&%M;V1E;"YG971.86UE*"DL(&EN <'5T365T86UO
> M9&5L*3L@+R@:6YP=70@;65T86UO9&5L#0H)"6UO9&5L<RYP=70H;W5T <'5T
> M365T86UO9&5L+F=E=$YA;64H*2P@;W5T<'5T365T86UO9&5L*3L@+R@;W5T
> M<'5T(&UE=&%M;V1E; T*"0EM;V1E;',N<'5T*"))3B(L(&EN<'5T36]D96PI
> M.R O+R!I;G!U="!M;V1E; T*"0ER970@/2!M;V1E;$AA;F1L97(N;F5W36]D
> M96PH(D]55"(L(&]U='!U=$UE=&%M;V1E;"D[("O(&]U='!U= "!M;V1E; T*
> M"0EM;V1E;',N<'5T*")/550B+"!R970I.PT*#0H)"4UA<"!P87)A;7,@/2!I
> M;E!A<F%M<SL@+R@4&%R86UE=&5R<PT*"0E-87 @;&EB<R ](&EN3&EB<SL@
> M"2 @("O($QI8G)A<FEE<PT*#0H)"2O($QA=6YC:"!!5$P@=')A;G-F;W)M
> M871I;VX-"@D)071L3&%U;F-H97(N9V5T1&5F875L="@I+FQA=6YC: "AT<F%N
> M<V9O<FUA=&EO;BP@;&EB<RP@;6]D96QS+"!P87)A;7,I.PT*#0H) "7)E='5R
> M;B!R970[#0H)?2 O+R M+2!E;F0@;V8@<G5N051,5')A;G-F;W)M871I;VX-
> M"@T*(" @("J*@T*(" @(" J($QO860@;6]D96P@9G)O;2!F:6QE("A834DI
> M(&%S($U/1BTQ+C0-"B @(" @*B! <&%R86T@9FEL92!N86UE(&]F(&9I;&4@
> M=VAI8V@@8V]N=&%I;G1S(&EN<'5T(&UO9&5L#0H@(" @("H@0'!A<F%M(&EN
> M<'5T365T86UO9&5L(&EN<'5T(&UE=&%M;V1E;" H87,@4W1R:6YG*0T*(" @
> M(" J($!R971U<FX@;6]D96P@=VAI8V@@:7,@8V]N<W1R=6-T960@9G)O;2!I
> M;G!U="!F:6QE#0H@(" @("HO#0H)<'5B;&EC($%334UO9&5L(&QO861-1%)-
> M;V1E;$9R;VU&:6QE*%-T<FEN9R!F:6QE+"!3=')I;F<@:6YP=71-971A;6]D
> M96PI('L-"@D)+R@26YI=&EA;&EZ92!-1%(-"@D):6YI=$U$4B@I.PT*#0H)
> M"2O($=E="!M971A;6]D96P@9G)O;2!M87 -"@D)05--36]D96P@;65T86UO
> M9&5L(#T@*$%334UO9&5L*4U$4DUE=&%-;V1E;',N9V5T*&a mp;EN <'5T365T86UO
> M9&5L*3L-"@T*"0E);G!U=%-T<F5A;2!I;B ](&YU;&P[#0H-"@D)=')Y('L-
> M"@D)"2O($-R96%T92!I;G!U="!S=')E86T@9G)O;2!F:6QE#0H)"0EI;B ]
> M(&YE=R!&:6QE26YP=713=')E86TH9FEL92D[#0H-"@D)?2!C871C: "A&:6QE
> M3F]T1F]U;F1%>&-E<'1I;VX@92D@>PT*"0D)4WES=&5M+F]U="YP<FEN=&QN
> M*")%<G)O<CH@26YP=70@9FEL92!I<R!N;W0@9F]U;F0A(BD[#0H)"0ER971U
> M<FX@;G5L;#L-"@D)?0T*#0H)"7)E='5R;B!M9')A;6@N;&]A9$UO9&5L*&9I
> M;&4L(&UE=&%M;V1E;"P@:6XI.PT*"7T@+R@+2T@96YD(&]F(&QO861-1%)-
> M;V1E;$9R;VU&:6QE#0H-"B @("J*@T*(" @(" J(%-A=F4@;6]D96P@=&@
> M9FEL92 H6$U)*2!A<R!-3T8M,2XT#0H@(" @("H@0'!A<F%M(&EN<'5T36]D
> M96P@:6YP=70@;6]D96P@9F]R('-A=FEN9R!T;R!F:6QE#0H@(" @("H@0'!A
> M< F%M(&9I;&4@;F%M92!O9B!F:6QE(&EN('=H:6-H(&UO9 &5L('=I;&P@8F4@
> M<V%V960-"B @(" @*B-"@EP=6)L:6,@=F]I9"!S879E341236]D96Q4;T9I
> M;&4H05--36]D96P@:6YP=71-;V1E;"P@4W1R:6YG(&9I;&4I('L-"@D)+R@
> M0G)I9&=E(&%C='5A;"!P<F]B;&5M(&]F('-A=FEN9R!M;V1E; "!O=71S:61E
> M(&]F($5C;&EP<V4@96YV:7)O;FUE;G0-"@D)05--341236]D96P@;6]D96P@
> M/2 H05--341236]D96PI:6YP=71-;V1E;#L-"@T*"0E/=71P=713=')E86T@
> M;W5T(#T@;G5L;#L-"@D)=')Y('L-"@D)"2O($-R96%T92!O=71P=70@<W1R
> M96%M#0H)"0EO=70@/2!N97<@1FEL94]U='!U=%-T<F5A;2AF:6QE*3L- "@T*
> M"0D)+R@4V%V92!M;V1E; T*"0D);6]D96PN<V%V92AO=70I.PT*#0H)"0EO
> M=70N9FQU<V@H*3L@;W5T+F-L;W-E*"D[#0H-"@D)?2!C871C:"A&:6QE3F]T
> M1F]U;F1%>&-E<'1I;VX@9BD@>PT*"0D)4WES=&5M+F]U="YP<FEN=&QN*")%
> M<G)O<CH@;W5T<'5T(&9I;&4@8V%N)W0@8F4>@8W)E871E9"(I.PT*"0E](&-A
> M=&-H*$E/17AC97!T:6]N(&EO*2![#0H)"0E3>7-T96TN;W5T+G!R:6YT;&XH
> M(D5R<F]R.B!M;V1E;"!C86XG="!B92!S879E9"!T;R!F:6QE(BD[#0H) "7T-
> M"@E]("O("TM(&5N9"!O9B!S879E341236]D96Q4;T9I;&4- "@T*(" @+RHJ
> M#0H@(" @("H@0V]N=F5R=',@3412($%334UO9&5L('1O(%-T<FEN9PT*(" @
> M(" J($!P87)A;2!-3T9M;V1E;"!I;G!U="!M;V1E;"!F;W(@8V]N=F5R=&EN
> M9R!T;R!S=')I;F<
Re: [ATL] Launch a transformation from a java application [message #53940 is a reply to message #53911] Fri, 20 July 2007 11:30 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: milan.milanovic.org

Hi,

well, I actually mean that it is not possible to attach a file here. You
could try to copy-paste, but your post eariler contained only not
understandible text.

--
Regards, Milan Milanovic

Milan Milanovic wrote:

> ATL_Apprentice wrote:

>> Whoops.. stupid me..
>> Forgot to attach..

> Well, as you can see I cannot download file. Could you try to zip it ?

> --
> Regards, Milan Milanovic


>> "Milan Milanovic" <milan@milanovic.org> schreef in bericht
>> news:5944a4d3058186dad8e12e3d11d64d3f$1@www.eclipse.org...
>>> Hi,
>>>
>>> ATL_Apprentice wrote:
>>>
>>>> Thank you for taking the time to answer my post.
>>>
>>>>> Well, actually it is all you got to do. Just one notice, you should see
>>>>> if
>>>>> these ATL and Eclipse libs are in the CLASSPATH, and that you are using
>>>>> the same versions.
>>>
>>>> I used the jars in the libs folder of the bundle you created.
>>>> I right-clicked these jars in the libs folder and clicked "Build Path >>
>>>> Add
>>>> to build path"
>>>> I think this is sufficient. Isn't it?
>>>
>>> Well, it should be.
>>>
>>>>> It is possible that Eclipse environment takes its own libraries into
>>>>> CLASSPATH. And, of course, you need to use JDK 1.5.0, IT DOES NOT WORK
>>>>> with JDK 1.6.0.
>>>
>>>> I assume that if ATL works correctly in the ATL perspective, then
>>>> everything
>>>> is ok?
>>>> I'm using JDK 1.4.2.
>>>
>>> O.K.
>>>
>>>> The transformation I created works fine in the ATL perspective, but when
>>>> I
>>>> switch to the java perspective and run the modified
>>>> ATLTransformation.java
>>>> as a Java application, then I get the following output in my console:
>>>> Initializing MDR...
>>>
>>>> java.lang.NullPointerException
>>>
>>>> at ATLTransformations.initMDR(ATLTransformations.java:141)
>>>
>>>> at ATLTransformations.<init>(ATLTransformations.java:115)
>>>
>>>> at
>>>> ATLTransformations.getATLTransformations(ATLTransformations. java:223)
>>>
>>>> at ATLTransformations.main(ATLTransformations.java:622)
>>>
>>>> Exception in thread "main"
>>>
>>> It looks like MDR is not initialized.
>>>
>>>> line 141 in my modified file is:
>>>> oneMM_MDR = mdramh.loadModel("OneMM", mdramh.getMof(),
>>>> onemmurl.openStream());
>>>
>>>> I attached my ATLTransformations.java file to this post.
>>>
>>> I don't see any attachment to this post.
>>>
>>> --
>>> Regards, Milan Milanovic
>>>
>>>> I really don't know where the problem is. Because I thought I modified
>>>> everything correctly.
>>>
>>>> Could you please help me out?
>>>
>>>> Thanks
>>>
>>>
>>>> "Milan Milanovic" <milan@milanovic.org> schreef in bericht
>>>> news:9d89c44d20b0b3476bfbab6302dea8af$1@www.eclipse.org...
>>>>> Hi,
>>>>>
>>>>> ATL_Apprentice wrote:
>>>>>
>>>>>> Hi,
>>>>>
>>>>>> I created an ATL transformation and it works.
>>>>>> Now I want to launch this ATL transformation from a java application.
>>>>>
>>>>>> - I've got the following files:
>>>>>> * Input.xmi
>>>>>> * UML1.4.xmi which is the metamodel of Input.xmi and also the
>>>>>> metamodel
>>>>>> of my output.
>>>>>> * The output should be written in Output.xmi
>>>>>> * Tranformation.atl
>>>>>> * Transformation.asm
>>>>>
>>>>>> - I looked at the ATL wiki on the eclipse website:
>>>>>>
>>>>>
>>>
>
http://wiki.eclipse.org/ATL_Howtos#How_do_I_launch_transform ations_programmatically.3F
>>>>>> From there I downloaded:
>>>>>> * The AtlLauncher class
>>>>>> * Milan Milanovic's ATL template bundle
>>>>>
>>>>>
>>>>>> Q1: Is this all I need?
>>>>>
>>>>> Yes, it is all you need. Of course, with ATLTransformations class and
>>>>> libraries.
>>>>>
>>>>>> - I changed to the java perspective in eclipse and created a new
>>>>>> project
>>>>>> with a:
>>>>>> * src folder in which put the ATLTransformations.java and the
>>>>>> AtlLauncher.java files
>>>>>> * lib folder with all the jar files from the bundle. I added these
>>>>>> jar
>>>>>> files to the build path.
>>>>>> * metamodels folder with the TCS folder and xml folder from the
>>>>>> bundle
>>>>>> and
>>>>>> the uml1.4.xmi metamodel (from omg.org)
>>>>>> * models folder with input.xmi
>>>>>> * transformations folder with my atl and asm file in it
>>>>>
>>>>> O.K.
>>>>>
>>>>>> - I started editing the ATLTransformations.java file, but there are a
>>>>>> few
>>>>>> things I don't understand. Here's what I did:
>>>>>> * According to eclipse some imports were unused, so I chose "organize
>>>>>> imports"
>>>>>
>>>>> O.K.
>>>>>
>>>>>> * I changed the name of the asm file to my .asm file's name
>>>>>
>>>>> O.K.
>>>>>
>>>>>> * I commented away some EMF things (EMF related variables and the
>>>>>> method
>>>>>> initEMF() and the invokation of this method), because I used MDR
>>>>>> as
>>>>>> the
>>>>>> handler for my models.
>>>>>
>>>>> O.K.
>>>>>
>>>>>> * I changed oneMM.xmi to UML1.4.xmi and did the same for otherMM.xmi,
>>>>>> since my input model and output models are both UML models.
>>>>>
>>>>> O.K.
>>>>>
>>>>>> * I changed the model names in the last line of main to my model
>>>>>> names
>>>>>
>>>>> O.K.
>>>>>
>>>>>> Q2: Is everything above correct and is this all I have to do?
>>>>>
>>>>> Well, actually it is all you got to do. Just one notice, you should see
>>>>> if
>>>>> these ATL and Eclipse libs are in the CLASSPATH, and that you are using
>>>>> the same versions. It is possible that Eclipse environment takes its own
>>>>> libraries into CLASSPATH. And, of course, you need to use JDK 1.5.0, IT
>>>>> DOES NOT WORK with JDK 1.6.0.
>>>>>> Q3: What is that TCS specific stuff for? What does it have to do with
>>>>>> ATL?
>>>>>> I didn't need anything with TCS when I used the ATL perspective
>>>>>> to
>>>>>> run my transformation.
>>>>>> * I noticed a line in ATLTransformations.java:
>>>>>> private URL MM_tcs =
>>>>>> ATLTransformations.class.getResource(transformationsMetamode ls
>>>>>> +
>>>>>> "MM/MM-TCS.xmi");
>>>>>> What is that MM-TCS.xmi for? That file does not even exist.
>>>>>
>>>>> If you are not using ATL's TCS for creating model-to-text
>>>>> transformations,
>>>>> then you don't need to use this. MM-TCS.xmi is a model of user defined
>>>>> textual concrete syntax. You can read about TCS here:
>>>>> http://wiki.eclipse.org/ATL_Howtos#Using_TCS.
>>>>>
>>>>>> Q4: In the method getMMFromFile(String file) there is a line:
>>>>>> EBNFInjector2 ebnfi = new EBNFInjector2();
>>>>>> Eclipse says local variable ebnfi is never read.. what is it
>>>>>> for?
>>>>>
>>>>> It is again for using TCS, if you don't use it you can delete this
>>>>> method.
>>>>>
>>>>> --
>>>>> Regards, Milan Milanovic
>>>>>
>>>>>> Hopefully someone can answer my questions.
>>>>>
>>>>>> Regards
>>>>>
>>>>>
>>>
>>>


>> begin 666 ATLTransformations.java
>> M+RH-"B J($-R96%T960@;VX@,38N.2XR,# V+B M(&QA<W0@<F5V:7-I;VXZ
>> M(#(N-"XR,# W+@T*("H@*$,I(#(P,#<N($UI;&%N($UI;&%N;W9I8RP@1T]/
>> M1"!/3$0@04D>@3&%B;W)A=&]R>2P@1F%C=6QT>2!O9B!/<F=A;FEZ871I;VYA
>> M;"!38VEE;F-E<RP@56YI=F5R<VET>2!O9B!"96QG<F%D92X-"B J#0H@*B @
>> M5&AI<R!P<F]G<F%M(&ES(&9R964@<V]F='=A<F4[('EO=2!C86X@ <F5D:7-T
>> M<FEB=71E(&ET(&%N9"]O<B!M;V1I9GD-"B J("!I="!U;F1E<B!T:&4@=&5R
>> M;7,@;V8@=&AE($=.52!'96YE<F%L(%!U8FQI8R!,:6-E;G-E+"!V97)S:6]N
>> M(#(@87,-"B J("!P=6)L:7-H960@8GD@=&AE($9R964@4V]F='=A<F4@1F]U
>> M;F1A=&EO;BX-"B J#0H@*B @5&AI<R!P<F]G<F%M(&ES(&1I<W1R:6)U=&5D
>> M(&EN('1H92!H;W!E('1H870@:70@=VEL;"!B92!U<V5F=6PL#0H@*B @8G5T
>> M(%=)5$A/550@04Y9(%=!4E)!3E19.R!W:71H;W5T(&5V96X@=&AE(&EM<&QI
>> M960@=V%R<F%N='D@;V8-"B J("!-15)#2$%.5$%"24Q)5%D@;W(@1DE43D53
>> M4R!&3U(@02!005)424-53$%2(%!54E!/4T4N("!3964@=&AE#0H@*B @1TY5
>> M($=E;F5R86P@4'5B;&EC($QI8V5N<V4@9F]R(&UO<F4@9&5T86EL<RX-"B J
>> M#0H@*B @66]U('-H;W5L9"!H879E(')E8V5I=F5D(&$@8V]P>2!O9B!T:&4@
>> M1TY5($=E;F5R86P@4'5B;&EC($QI8V5N<V4-"B J("!A;&]N9R!W:71H('1H
>> M:7,@<')O9W)A;3L@:68@;F]T+"!W<FET92!T;R!T:&4@1G)E92!3;V9T=V%R
>> M90T*("H@($9O=6YD871I;VXL($EN8RXL(#8W-2!-87-S($%V92P@0V%M8G)I
>> M9&=E+"!-02 P,C$S.2P@55-!+@T*("H-"B J(" H4V5E('1H92!F:6QE(")#
>> M3U!924Y'(B!T:&%T(&ES(&EN8VQU9&5D('=I=&@ @=&AI <R!S;W5R8V4@9&ES
>> M=')I8G5T:6]N+BD-"B J+PT*#0II;7!O<G0@:F%V82YI;RY">71E07)R87E)
>> M;G!U=%-T<F5A;3L-"FEM<&]R="!J879A+FEO+D)Y=&5!<G)A >4]U='!U=%-T
>> M<F5A;3L-"FEM<&]R="!J879A+FEO+D9I;&5);G!U=%-T<F5A;3L- "FEM<&]R
>> M="!J879A+FEO+D9I;&5.;W1&;W5N9$5X8V5P=&EO;CL-"FEM <&]R="!J879A
>> M+FEO+D9I;&5/=71P=713=')E86T[#0II;7!O<G0@:F%V82YI;RY)3T5X8V5P
>> M=&EO;CL-"FEM<&]R="!J879A+FEO+DEN<'5T4W1R96%M.PT*:6UP;W)T(&IA
>> M=F$N:6N3W5T<'5T4W1R96%M.PT*:6UP;W)T(&IA=F$N;F5T+E523#L- "FEM
>> M<&]R="!J879A+G5T:6PN0V]L;&5C=&EO;G,[#0II;7!O<G0@:F%V82YU=&EL
>> M+DAA<VA-87 [#0II;7!O<G0@:F%V82YU=&EL+DUA<#L-"@T*:6UP;W)T(&IA
>> M=F%X+GAM;"YP87)S97)S+E-!6%!A<G-E<CL-"FEM<&]R="!J879A >"YX;6PN
>> M<&%R<V5R<RY305A087)S97)&86-T;W)Y.PT*#0II;7!O<G0@;W)G+F%T; "YE
>> M8VQI<'-E+F5N9VEN92Y!=&Q-;V1E;$AA;F1L97([#0II;7!O<G0@;W)G+F%T
>> M;"YE;F=I;F4N97AT<F%C=&]R<RY%>'1R86-T;W([#0II;7!O<G0@;W)G+F%T
>> M;"YE;F=I;F4N97AT<F%C=&]R<RYE8FYF+D5"3D9%>'1R86-T;W([#0II;7!O
>> M<G0@;W)G+F%T;"YE;F=I;F4N97AT<F%C=&]R<RYX;6PN6$U,17AT <F%C=&]R
>> M.PT*+R]I;7!O<G0@;W)G+F%T;"YE;F=I;F4N:6YJ96-T;W)S+F5B;F8N14).
>> M1DEN:F5C=&]R,CL-"FEM<&]R="!O<F<N871L+F5N9VEN92YI;FIE8W1O <G,N
>> M> &UL+EA-3$EN:F5C=&]R.PT*:6UP;W)T(&]R9RYA=&PN9 6YG:6YE+G)E <&]S
>> M:71O<FEE< RYM9'(T871L+D%334U$4DUO9&5L.PT*:6UP;W)T(&]R9RYA=& ;PN
>> M96YG:6YE+G)E<&]S:71O<FEE<RYM9'(T871L+D%T;$U$4DUO9&5L2&%N9&QE
>> M<CL-"FEM<&]R="!O<F<N871L+F5N9VEN92YV;2YN871I=F5L:6(N05--36]D
>> M96P[#0II;7!O<G0@;W)G+GAM;"YS87@N4T%817AC97!T:6]N.PT*:6UP;W)T
>> M(&]R9RYX;6PN<V%X+E-!6%!A<G-E17AC97!T:6]N.PT*:6UP;W)T(&]R9RYX
>> M;6PN<V%X+FAE;'!E<G,N1&5F875L=$AA;F1L97([#0H-"BJ*@T*( "H@36%I
>> M;B!C;&%S<R!F;W(@<G5N;FEN9R!!5$P@=')A;G-F;W)M871I;VYS('!R;V=R
>> M86UA=&EC86QL>2 H=&5M<&QA=&4I#0H@*B!43T1/.B!!9&0@<W5P<&]R= "!F
>> M;W(@<G5N;FEN9R!!33,@06YT('1A<VMS#0H@*B! 875T:&]R($UI;&%N($UI
>> M;&%N;W9I8R H;6EL86X@6V%T72!M:6QA;F]V:6,N;W)G*0T*("H@0'9E<G-I
>> M;VX@,BXS#0H@*B-"G!U8FQI8R!C;&%S<R!!5$Q4<F%N<V9O<FUA=&EO;G,@
>> M>PT*#0H)+R@4W1O<"!O;B!E<G)O<B!I;B!%0DY&($EN:F5C=&EO;@T*"2O
>> M<')I=F%T92!F:6YA;"!S=&%T:6,@8F]O;&5A;B!S=&]P3VY% <G)O<B ]("%F
>> M86QS93L-"@T*"2O(%)E;&%T:79E(&QO8V%T:6]N(&]F('1R86YS9F]R;6%T
>> M:6]N<PT*"5-T<FEN9R!T<F%N<V9O<FUA=&EO;G-,;V-A=&EO;B ](")T<F%N
>> M<V9O<FUA=&EO;G,O(CL-"@T*"2O(%)E;&%T:79E(&QO8V%T:6]N(&]F(&UE
>> M=&%M;V1E;',-"@E3=')I;F<@=')A;G-F;W)M871I;VYS365T86UO9&5L <R ]
>> M(")M971A;6]D96PO(CL-"@T*"2O(%523"=S('1O(&-O;7!I;&5D($%43 "!T
>> M<F%N<V9O<FUA=&EO;G,@*&%N(&5X86UP;&4@;V8@3VYE34T@=&@3W1H97)-
>> M32!T<F%N<V9O<FUA=&EO;BD-"@EP<FEV871E(%523"!/;F5-33)/=&AE <DU-
>> M=7)L(#T@051,5')A;G-F;W)M871I;VYS+F-L87-S+F=E=%)E<V]U<F-E*'1R
>> M86YS9F]R;6%T:6]N<TQO8V%T:6]N("L@(E1R86YS9F]R;6%T:6]N+F%S;2(I
>> M.PT*"2O($%D9"!H97)E(%523"=S('1O('EO=7(@;W1H97(@8V]M<&EL960@
>> M=')A;G-F;W)M871I;VYS+BXN#0H-"@DO+R!40U,@<W!E8VEF:6,@*$U-(&ES
>> M('!S975D;VYA;64@9F]R('-O;64@>6]U<B!M971A;6]D96P@=VAI8V@@:7,@
>> M=7-E9"!F;W(@5$-3(&EN:F5C=&EO;B]E>'1R86-T:6]N*0T*"2O <')I=F%T
>> M92!54DP@34U?=&-S(#T@051,5')A;G-F;W)M871I;VYS+F-L87-S+F=E=%)E
>> M<V]U<F-E*'1R86YS9F]R;6%T:6]N<TUE=&%M;V1E;',@*R B34TO34TM5$-3
>> M+GAM:2(I.PT*"2O<')I=F%T92!54DP@5$-3(#T@051,5')A;G-F;W)M871I
>> M;VYS+F-L87-S+F=E=%)E<V]U<F-E*'1R86YS9F]R;6%T:6]N<TUE=&%M;V1E
>> M;',@*R B5$-3+U1#4RYX;6DB*3L@+R@=7-E<R!-1%(@*&-H86YG92!T;R N
>> M96-O<F4@9F]R($5-1BD-"@T*"2O($U$4B!M;V1E;"!H86YD;&5R#0H)<')I
>> M=F%T92!!=&Q-;V1E;$AA;F1L97(@;61R86UH(#T@;G5L;#L-"@T*"2O($5-
>> M1B!M;V1E;"!H86YD;&5R#0H)+R]P<FEV871E($%T;$UO9&5L2&%N9&QE <B!E
>> M;69A;6@@/2!N=6QL.PT*#0H)+R@3412(&UE=&$M;65T86UO9&5L<PT*"7!R
>> M:79A=&4@05--36]D96P@;VYE34U?3412(#T@;G5L;#L-"@EP<FEV871E($%3
>> M34UO9&5L(&]T:&5R34U?3412(#T@;G5L;#L-"@EP<FEV871E($%334UO9&5L
>> M('AM;$U$4FUM(#T@;G5L;#L@+R@6$U,(&UE=&%M;V1E;"!I<R!N965D960@
>> M8F5C875S92!O9B!834P@:6YJ96-T:6]N+V5X=')A8W1I;VX-"@DO+R!!9&0@
>> M:&5R92!O8FIE8W1S(&9O<B!Y;W4@;65T86UO9&5L<R H3412("T@34]&+3$N
>> M-"DN+BX-"@T*"2O($9O<B!40U,@*$U$4BD@<W5P<&]R= T*"7!R:79A=&4@
>> M05--36]D96P@=&-S3412;6T@/2!N=6QL.PT*"7!R:79A=&4@05--36]D96P@
>> M;6U48W--1%)M;2 ](&YU;&P[#0H-"@DO+R!5<V5D(&9O<B!K965P:6YG(&UE
>> M=&%M;V1E;"!N86UE<PT*"4UA<"!-1%)-971A36]D96QS(#T@;F5W($AA <VA-
>> M87 H*3L-"@T*"2O($5-1B!M971A+6UE=&%M;V1E;',-"@DO+W!R:79A=&4@
>> M05--36]D96P@;VYE34U?14U&(#T@;G5L;#L-"@DO+W!R:79A=&4@05--36]D
>> M96P@;W1H97)-35]%348@/2!N=6QL.PT*"2O<')I=F%T92!!4TU-;V1E;"!X
>> M;6Q%349M;2 ](&YU;&P[#0H)+R@061D(&AE<F4@;V)J96-T<R!F;W(@>6]U
>> M(&UE=&%M;V1E;',@*$5-1B M($5C;W)E*0T*#0H)+R@1F]R(%1#4R H14U&
>> M*2!S=7!P;W)T#0H)+R]P<FEV871E($%334UO9&5L('1C<T5-1FUM(#T@;G5L
>> M;#L-"@DO+W!R:79A=&4@05--36]D96P@;6U48W-%349M;2 ](&YU;&P[#0H-
>> M"@DO+R!'96YE<F%L(&UE=&$M;6]D96QS#0H)+R]P<FEV871E($%334UO9&5L
>> M('!B;6T@/2!N=6QL.PT*#0H)+R@26YS=&%N8V4@;V8@051,5')A;G-F;W)M
>> M871I;VYS(&-L87-S("A3:6YG;&5T;VXI#0H@(" @<')I=F%T92!S=&%T:6,@
>> M051,5')A;G-F;W)M871I;VYS(&%T;%1R86YS9F]R;6%T:6]N<R ](&YU;&P[
>> M#0H-"@DO+R!-87)K97)S(&9O<B!0<F]B;&5M(&UE=&%M;V1E; T*"2O<')I
>> M=F%T92!-87)K97)-86ME<B!M87)K97)-86ME<CL-"@T*"2O($-O;G-T <G5C
>> M=&]R#0H)<'5B;&EC($%43%1R86YS9F]R;6%T:6]N<R@I('L-"@D):6YI=$U$
>> M4B@I.R O+R!);FET:6%L:7IE($U$4B!B87-E9"!M971A;6]D96QS#0H)(" @
>> M("O:6YI=$5-1B@I.R O+R!);FET:6%L:7IE($5-1B!B87-E9"!M971A;6]D
>> M96QS("T@:68@;F5E9&5D#0H)?2 O+R M+2!E;F0@;V8@8V]N<W1R=6-T;W(-
>> M"@T*"2O+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO
>> M+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO
>> M+RO+RO+PT*"2O+R@1V5N97)A;"!!5$P@=')A;G-F;W)M871I;VX@:6YI
>> M=&EA;&EZ871I;VX@=VET:"!D;VUA:6X@;65T86UO9&5L<R!S <&5C:69I8R!I
>> M;FET:6%L:7IA=&EO;@T*"2O+RO+RO+RO+RO+RO+RO+RO+RO+RO
>> M+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO
>> M+RO+RO+RO+RO+RO+RO+PT*#0H)+RHJ#0H)("H@26YI=&EA;&EZ92!-
>> M1%(@;6]D96P@:&%N9&QE<B!A;F0@34]&(&)A<V5D(&UE=&%M;V1E;',-"B @
>> M(" @*B-"@EP<FEV871E('9O:60@:6YI=$U$4B@I('L-"@T*"0EI9BAM9')A
>> M;6@@/3T@;G5L;"D@>R O+R!I9B!-1%(@:7,@;F]T(&EN:71I86QI>F5D#0H-
>> M"@D)"2O($EN:71I86QI>F4@3412(&UO9&5L(&AA;F1L97(-"@D)"6UD<F%M
>> M:" ](&=E=$1E9F%U;'1(86YD;&5R*")-1%(B*3L-"@T*"0D)+R@55),)W,@
>> M=&@34]&+3$N-" H6$U)*2!M971A;6]D96QS#0H)"0E54DP@;VYE;6UU<FP@
>> M/2!!5$Q4<F%N<V9O<FUA=&EO;G,N8VQA<W,N9V5T4F5S;W5R8V4H=')A;G-F
>> M;W)M871I;VYS365T86UO9&5L<R K(")534PQ+C0N>&UI(BD[#0H)"0E54DP@
>> M>&UL;6UU<FP@/2!!5$Q4<F%N<V9O<FUA=&EO;G,N8VQA<W,N9V5T4F5S;W5R
>> M8V4H=')A;G-F;W)M871I;VYS365T86UO9&5L<R K(")X;6PO>&UL+GAM:2(I
>> M.PT*"0D)55),(&]T:&5R;6UU<FP@/2!!5$Q4<F%N<V9O<FUA=&EO;G,N8VQA
>> M<W,N9V5T4F5S;W5R8V4H=')A;G-F;W)M871I;VYS365T86UO9&5L<R K(")5
>> M34PQ+C0N>&UI(BD[#0H)"0DO+R!!9&0@:&5R92!54DPG<R!T;R!Y;W5R(&UE
>> M=&%M;V1E;',@*$U$4B M($U/1BTQ+C0I+BXN#0H-"@D)"71R>2![#0H)"0D)
>> M+R@1V5T(&UE=&%M;V1E;',-"@D)"0EO;F5-35]-1%(@/2!M9')A;6@N;&]A
>> M9$UO9&5L*")/;F5-32(L(&UD<F%M:"YG971-;V8H*2P@;VYE;6UU <FPN;W!E
>> M;E-T<F5A;2@I*3L@"0D)+R@3TY%($U-#0H)"0D)>&UL3412;6T@/2!M9')A
>> M;6@N;&]A9$UO9&5L*")834PB+"!M9')A;6@N9V5T36]F*"DL('AM;&UM=7)L
>> M+F]P96Y3=')E86TH*2D[( D)"2O(%A-3"!-30T*"0D)"6]T:&5R34U?3412
>> M(#T@;61R86UH+FQO861-;V1E;"@B3W1H97)-32(L(&UD<F%M:"YG971-;V8H
>> M*2P@;W1H97)M;75R;"YO<&5N4W1R96%M*"DI.R )+R@3W1H97(@34T-"@D)
>> M"0DO+R!,;V%D('EO=7(@;65T86UO9&5L<R!H97)E+BXN#0H-"@D) "0DO+R!/
>> M;FQY(&9O<B!40U,@;W5T<'5T(2$-"@D)"0DO+W1C<TU$4FUM(#T@;61R86UH
>> M+FQO861-;V1E;"@B5$-3(BP@;61R86UH+F=E=$UO9B@I+"!40U,N;W!E;E-T
>> M<F5A;2@I*3L@"0D)+R@5$-3($U-#0H)"0D)+R]M;51C<TU$4FUM(#T@;61R
>> M86UH+FQO861-;V1E;"@B34TN=&-S(BP@=&-S3412;6TL($U-7W1C <RYO<&5N
>> M4W1R96%M*"DI.R )"2O($U-+51#4R!-30T*#0H)"0D)+R@4'5T(&UE=&%M
>> M;V1E;',@:6X@;6%P(&9O<B!E87-Y(&QO;VMU< T*"0D)"4U$4DUE=&%-;V1E
>> M;',N<'5T*")/;F5-32(L(&]N94U-7TU$4BD[#0H)"0D)3412365T84UO9&5L
>> M<RYP=70H(EA-3"(L('AM;$U$4FUM*3L-"@D)"0E-1%)-971A36]D96QS+G!U
>> M="@B3W1H97)-32(L(&]T:&5R34U?3412*3L-"@D)"0DO+TU$4DUE=&%-;V1E
>> M;',N<'5T*")40U,B+"!T8W--1%)M;2D[#0H)"0D)+R]-1%)-971A36]D96QS
>> M+G!U="@B34TM5$-3(BP@;6U48W--1%)M;2D[#0H)"0E](&-A=&-H( "A)3T5X
>> M8V5P=&EO;B!E*2![#0H)"0D)92YP<FEN=%-T86-K5')A8V4H*3L-"@D) "7T-
>> M"@D)?0T*"7T@+R@+2T@96YD(&]F(&EN:71-1%(-"@T*"2J*@T*"2 J($EN
>> M:71I86QI>F4@14U&(&UO9&5L(&AA;F1L97(@86YD($5C;W)E(&)A<V5D(&UE
>> M=&%M;V1E;',-"B @(" @*B-"BJ"7!R:79A=&4@=F]I9"!I;FET14U&*"D@
>> M>PT*#0H)"6EF*&5M9F%M:" ]/2!N=6QL*2![("O(&EF($5-1B!I<R!N;W0@
>> M:6YI=&EA;&EZ960-"@T*"0D)+R@26YI=&EA;&EZ92!%348@;6]D96P@:&%N
>> M9&QE<@T*"0D)96UF86UH(#T@071L36]D96Q(86YD;&5R+F=E=$1E9F%U;'0H
>> M071L36]D96Q(86YD;&5R+D%-2%]%348I.PT*#0H)"0DO+R!54DPG<R!T;R!%
>> M8V]R92 H6$U)*2!M971A;6]D96QS#0H)"0E54DP@;VYE;6UU<FP@/2!!5$Q4
>> M<F%N<V9O<FUA=&EO;G,N8VQA<W,N9V5T4F5S;W5R8V4H=')A;G-F;W)M871I
>> M;VYS365T86UO9&5L<R K(")O;F5-32]O;F5-32YE8V]R92(I.PT*"0D)55),
>> M('AM;&UM=7)L(#T@051,5')A;G-F;W)M871I;VYS+F-L87-S+F=E=%)E<V]U
>> M<F-E*'1R86YS9F]R;6%T:6]N<TUE=&%M;V1E;',@*R B>&UL+WAM;"YE8V]R
>> M92(I.PT*"0D)55),(&]T:&5R;6UU<FP@/2!!5$Q4<F%N<V9O <FUA=&EO;G,N
>> M8VQA<W,N9V5T4F5S;W5R8V4H=')A;G-F;W)M871I;VYS365T86UO9&5L <R K
>> M(")O=&AE<DU-+V]T:&5R34TN96-O<F4B*3L-"@D)"2O($%D9 "!H97)E(%52
>> M3"=S('1O('EO=7(@;65T86UO9&5L<R H14U&("T@16-O<F4I+BXN#0H-"@D)
>> M"71R>2![#0H)"0D)+R@1V5T(&UE=&%M;V1E;',-"@D)"0EO;F5-35]%348@
>> M/2!E;69A;6@N;&]A9$UO9&5L*")/;F5-32(L(&5M9F%M:"YG971-;V8H*2P@
>> M;VYE;6UU<FPN;W!E;E-T<F5A;2@I*3L-"@D)"0EX;6Q%349M;2 ](&5M9F%M
>> M:"YL;V%D36]D96PH(EA-3"(L(&5M9F%M:"YG971-;V8H*2P@>&UL;6UU <FPN
>> M;W!E;E-T<F5A;2@I*3L-"@D)"0EO=&AE<DU-7T5-1B ](&5M9F%M:"YL;V%D
>> M36]D96PH(D]T:&5R34TB+"!E;69A;6@N9V5T36]F*"DL(&]T:&5R;6UU<FPN
>> M;W!E;E-T<F5A;2@I*3L-"@D)"0DO+R!,;V%D('EO=7(@;65T86UO9&5L<R!H
>> M97)E+BXN#0H-"@D)"0DO+R!/;FQY(&9O<B!40U,@;W5T<'5T(2$- "@D)"0DO
>> M+W1C<T5-1FUM(#T@96UF86UH+FQO861-;V1E;"@B5$-3(BP@96UF86UH+F=E
>> M=$UO9B@I+"!40U,N;W!E;E-T<F5A;2@I*3L@"0DO+R!40U,@34T-"@D)"0DO
>> M+VUM5&-S14U&;6T@/2!E;69A;6@N;&]A9$UO9&5L*")-32YT8W,B+"!T8W-%
>> M349M;2P@34U?=&-S+F]P96Y3=')E86TH*2D[( D)+R@34TM5$-3($U-#0H-
>> M"@D)"7T@8V%T8V@@*$E/17AC97!T:6]N(&4I('L-"@D)"0EE+G!R:6YT4W1A
>> M8VM4<F%C92@I.PT*"0D)?0T*"0E]#0H)"7!B;6T@/2!E;69A;6@N9V5T0G5I
>> M;'1);DUE=&%-;V1E;"@B4')O8FQE;2(I.PT*"0EM87)K97)-86ME<B ](&YE
>> M=R!-87)K97)-86ME<B@I.PT*"7T@+R@+2T@96YD(&]F(&EN:71%348-"BHO
>> M#0H@(" O*BH-"B @(" J(%)E='5R;G,@9&5F875L="!M;V1E;"!H86YD;&5R
>> M("AC=7)R96YT;'D@<W5P<&]R=&5D($U$4B!A;F0@14U&*0T*(" @("H@0'!A
>> M<F%M(')E<&]S:71O<GD@4W1R:6YG('=H:6-H(')E<')E<V5N=',@;6]D96P@
>> M:&%N9&QE<@T*(" @("H@0')E='5R;B!D969A=6QT(')E<&]S:71O<GD@9F]R
>> M(&EN<'5T("A%348@;W(@3412*0T*(" @("HO#0H)<')I=F%T92!!=&Q-;V1E
>> M;$AA;F1L97(@9V5T1&5F875L=$AA;F1L97(H4W1R:6YG(')E<&]S:71O <GDI
>> M('L-"@D@(" @071L36]D96Q(86YD;&5R(&%M:" ](&YU;&P[#0H)(" @('1R
>> M>2![#0H)(" @(" @(" @86UH(#T@071L36]D96Q(86YD;&5R+F=E=$1E9F%U
>> M;'0H<F5P;W-I=&]R>2D[#0H)(" @('T@8V%T8V@@*%1H<F]W86)L92!E*2![
>> M#0H)(" @(" @(" @:68@*")-1%(B+F5Q=6%L<RAR97!O<VET;W)Y*2D@>PT*
>> M"2 @(" @(" @(" @("!!=&Q-;V1E;$AA;F1L97(N<F5G:7-T97)$969A=6QT
>> M2&%N9&QE<B@B3412(BP@;F5W($%T;$U$4DUO9&5L2&%N9&QE<B@I*3L@+R@
>> M<F5G:7-T97(-"@D@(" @(" @(" @(" @86UH(#T@071L36]D96Q(86YD;&5R
>> M+F=E=$1E9F%U;'0H<F5P;W-I=&]R>2D[#0H)(" @(" @(" @?2!E;'-E('L-
>> M"@D@(" @(" @(" @(" @=&AR;W<@;F5W(%)U;G1I;65%>&-E<'1I;VXH92D[
>> M#0H)(" @(" @(" @?0T*"2 @(" @?0T*"2 @(" @<F5T=7)N(&%M:#L-"B @
>> M("!]("O("TM(&5N9"!O9B!G971$969A=6QT2&%N9&QE <@T*#0H@(" O*BH-
>> M"@D@*B!2971U<FYS('-T871I8R!I;G-T86YC92!O9B!!5$Q4<F%N<V9O <FUA
>> M=&EO;G,@8VQA<W,@*%-I;F=L971O;BD-"@D@*B! <F5T=7)N(&1E9F%U;'0@
>> M<F5P;W-I=&]R>2!F;W(@:6YP=70@*$5-1B!O<B!-1%(I#0H)("HO#0H@( " @
>> M<'5B;&EC('-T871I8R!!5$Q4<F%N<V9O<FUA=&EO;G,@9V5T051,5')A;G-F
>> M;W)M871I;VYS*"D@>PT*"0EI9BAA=&Q4<F%N<V9O<FUA=&EO;G,@(#T](&YU
>> M;&PI#0H)"0EA=&Q4<F%N<V9O<FUA=&EO;G,@/2!N97<@051,5')A;G-F;W)M
>> M871I;VYS*"D[#0H-"@D)<F5T=7)N(&%T;%1R86YS9F]R;6%T:6]N <SL-"@E]
>> M#0H-"B @(" O*BH-"B @(" @*B!#:&5C:R!I9B!I;G!U="!834P@9FEL92!I
>> M<R!W96QL+69O<FUE9" M(&AE;'!E<B!M971H;V0-"B @(" @*B! <&%R86T@
>> M9FEL92!P871H('1O(&EN<'5T(%A-3"!F:6QE(&]R(%A-3"!C;V1E#0H@( " @
>> M("H@0'!A<F%M(&ES1FEL92!I9B!I="!I<R!T<G5E('1H96X@:70@:7,@<&%T
>> M:"!T;R!F:6QE+"!O=&AE<G=I<V4@:70@:7,@4W1R:6YG('1H870@8V]N=&%I
>> M;G,@6$U,(&-O9&4-"B @(" @*B! <F5T=7)N('1R=64@:68@:6YP=70@6$U,
>> M(&9I;&4@:7,@=V5L;"!F;W)M960L(&]T:&5R=VES92!I <R!F86QS90T*(" @
>> M(" J+PT*(" @('!R:79A=&4@8F]O;&5A;B!C:&5C:T9O<E=E;&Q&;W)M961N
>> M97-S*%-T<FEN9R!F:6QE+"!B;V]L96%N(&ES1FEL92D-"@E[#0H) "5-!6%!A
>> M<G-E<B!S87A087)S97(@/2!N=6QL.PT*"0E$969A=6QT2&%N9&QE <B!D:" ]
>> M(&YU;&P[#0H)"4EN<'5T4W1R96%M(&EN(#T@;G5L;#L-"@T* "0DO+R!I;FET
>> M('!A<G-E<@T*"0ET<GD@>PT*"0D)4T%84&%R<V5R1F%C=&]R >2!S<&9A8W1O
>> M<GD@/2!305A087)S97)&86-T;W)Y+FYE=TEN<W1A;F-E*"D[#0H) "0ES87A0
>> M87)S97(@/2!S<&9A8W1O<GDN;F5W4T%84&%R<V5R*"D[#0H) "0ED:" ](&YE
>> M=R!$969A=6QT2&%N9&QE<B@I.PT*"0E]#0H)"6-A=&-H*$5X8V5P=&EO;B!E
>> M*2![#0H)"0E3>7-T96TN;W5T+G!R:6YT;&XH(D-A;FYO="!I;FET:6%L:7IE
>> M(%-!6"!P87)S97(N(BD[#0H)"0EE+G!R:6YT4W1A8VM4<F%C92@I.PT*"0D)
>> M<F5T=7)N(&9A;'-E.PT*"0E]#0H-"@D)+R@<&%R<V4@=&AE(%A-3 "!D;V-U
>> M;65N="!U<VEN9R!305@@<&%R<V5R#0H)"71R>2![#0H)"0EI9B H:7-&:6QE
>> M(#T]('1R=64I('L@+R@:70@:7,@9FEL90T*"0D)"6EN(#T@;F5W($9I;&5)
>> M;G!U=%-T<F5A;2AF:6QE*3L-"@D)"7T-"@D)"65L<V4@>R O+R!I="!I<R!3
>> M=')I;F<@=&AA="!C;VYT86EN<R!834P@8V]D90T*"0D)"6)Y=&4@8W5R<F5N
>> M=%A-3$)Y=&5S6UT@/2!F:6QE+F=E=$)Y=&5S*"D[("O($=E="!B >71E<R!F
>> M<F]M(&EN<'5T(%-T<FEN9PT*"0D)"6EN(#T@;F5W($)Y=&5! <G)A>4EN<'5T
>> M4W1R96%M*&-U<G)E;G1834Q">71E<RD[#0H)"0E]#0H)"0ES87A087)S97(N
>> M<&%R<V4H:6XL(&1H*3L@+R@4T%817AC97!T:6]N+"!)3T5X8V5P=&EO;@T*
>> M"0E]#0H)"6-A=&-H*%-!6%!A<G-E17AC97!T:6]N('-P92D@>R O+R!$;V-U
>> M;65N="!I<R!N;W0@=V5L;"UF;W)M960Z($5R<F]R#0H)"0E3>7-T96TN;W5T
>> M+G!R:6YT;&XH(D1O8W5M96YT(&ES(&YO="!W96QL+69O<FUE9 "XB*3L-"@D)
>> M"7)E='5R;B!F86QS93L-"@D)?0T*"0EC871C:"A305A%>&-E<'1I;VX@ <V4I
>> M('L@+R@*"HI#0H)"0E3>7-T96TN;W5T+G!R:6YT;&XH(D5R<F]R('=H:6QE
>> M('!A<G-I;F<@:6YP=70@6$U,(&9I;&4Z("(@*R!F:6QE*3L-"@D)"7-E+G!R
>> M:6YT4W1A8VM4<F%C92@I.PT*"0D)<F5T=7)N(&9A;'-E.PT*"0E]#0H)"6-A
>> M=&-H*$9I;&5.;W1&;W5N9$5X8V5P=&EO;B!F*2![#0H ) "0E3>7-T96TN;W5T
>> M+G!R:6YT;&XH(D5R<F]R.B!&:6QE(&ES(&YO="!F;W5N9 "(I.PT*"0D)<F5T
>> M=7)N(&9A;'-E.PT*"0E]#0H)"6-A=&-H*$E/17AC97!T:6]N(&EO92D@ >PT*
>> M"0D)4WES=&5M+F]U="YP<FEN=&QN*")#86YN;W0@<F5A9"!F:6QE+B(I.PT*
>> M"0D)<F5T=7)N(&9A;'-E.PT*"0E]#0H)"7)E='5R;B!T<G5E.PT* "7T@+R@
>> M+2T@96YD(&]F(&-H96-K1F]R5V5L;$9O<FUE9&YE<W,-"@T*(" @("J*@T*
>> M(" @(" J($EN:F5C="!I;G!U="!834P@9FEL92!T;R!834P@;6]D96P@*&EN
>> M<W1A;F-E(&]F(%A-3"!M971A;6]D96P@+2!-3T8@,2XT*0T*(" @(" J($YO
>> M=&4Z(&EF('EO=2!W86YT('1O('5S92!%348L(&IU<W0@8VAA;F=E("=M9')A
>> M;6@G('1O("=E;69A;6@G(&%N9" G>&UL3412;6TG('1O("=X;6Q%349M;2<-
>> M"B @(" @*B @(" @("!I;B!T:&ES(&UE=&AO9"P@86YD(&%L<V@:6X@;W1H
>> M97(@;65T:&]D<R!I9B!N965D960N#0H@(" @("H@0'!A<F%M(&9I;&4@;F%M
>> M92!O9B!F:6QE(&9R;VT@=VAI8V@@6$U,(&UO9&5L('=I;&P@8F4>@8W)E871E
>> M9 T*(" @(" J($!R971U<FX@8W)E871E9"!834P@;6]D96P@9G)O;2!I;G!U
>> M="!F:6QE#0H@(" @("HO#0H)<'5B;&EC($%334UO9&5L(&EN:F5C=%A-3$UO
>> M9&5L1G)O;49I;&4H4W1R:6YG(&9I;&4I('L-"@D):6YI=$U$4B@I.R O+R!I
>> M9B!-1%(@:7,@;F]T(&EN:71I86QI>F5D+"!D;R!I="!N;W<@(0T*#0H) "4%3
>> M34UO9&5L(')E=" ](&UD<F%M:"YN97=-;V1E;"@B24XB+"!X;6Q-1%)M;2D[
>> M("O(&-R96%T92!N97<@;W5T<'5T(&UO9&5L('=I=&@@6$U,(&UE=&%M;V1E
>> M;" H34]&+3$N-"D-"@T*"0E834Q);FIE8W1O<B!X;6QI(#T@;F5W(%A-3$EN
>> M:F5C=&]R*"D[("O(&-R96%T92!834P@:6YJ96-T;W(-"@T*"0E-87 @<&%R
>> M86UE=&5R<R ]($-O;&QE8W1I;VYS+D5-4%197TU!4#L@+R@;F@<&%R86UE
>> M=&5R<PT*#0H)"4EN<'5T4W1R96%M(&EN(#T@;G5L;#L-"@T* "0ET<GD@>PT*
>> M"0D):6X@/2!N97<@1FEL94EN<'5T4W1R96%M*&9I;&4I.PT*#0H) "0EX;6QI
>> M+FEN:F5C="AR970L(&EN+"!P87)A;65T97)S*3L@+R@1&@:6YJ96-T:6]N
>> M("$-"@T*" 0E](&-A=&-H*$9I;&5.;W1&;W5N9$5X8V5P=&EO; B!F*2![#0H)
>> M"0E3>7-T96TN;W5T+G!R:6YT;&XH(D5R<F]R.B!&:6QE(&ES(&YO= "!F;W5N
>> M9"(I.PT*"0E](&-A=&-H*$E/17AC97!T:6]N(&EO*2![#0H) "0E3>7-T96TN
>> M;W5T+G!R:6YT;&XH(D5R<F]R.B!I;B!I;FIE8W1I;VX@;V8@6$U,(&9I;&4B
>> M*3L-"@D)?0T*#0H)"7)E='5R;B!R970[#0H)?2 O+R M+2!E;F0@;V8@:6YJ
>> M96-T6$U,36]D96Q&<F]M1FEL90T*#0H@(" @+RHJ#0H@(" @("H@0V]N=F5R
>> M="!I;G!U="!3=')I;F<@=VAI8V@@8V]N=&%I;G,@6$U,(&-O9&4@=&@6$U,
>> M(&UO9&5L("AI;G-T86YC92!O9B!834P@;65T86UO9&5L("T@34]&(#$N-"D-
>> M"B @(" @*B! <&%R86T@:6YP=713=')I;F<@4W1R:6YG('=H:6-H(&-O;G1A
>> M:6YS(%A-3 T*(" @(" J($!R971U<FX@8W)E871E9"!834P@;6]D96P@9G)O
>> M;2!I;B!834P@8V]D90T*(" @(" J+PT*"7!U8FQI8R!!4TU-;V1E;"!I;FIE
>> M8W1834Q-;V1E;$9R;VU3=')I;F<H4W1R:6YG(&EN<'5T4W1R:6YG*2![#0H)
>> M"6EN:71-1%(H*3L@+R@:68@3412(&ES(&YO="!I;FET:6%L:7IE9"P@9&@
>> M:70@;F]W("$-"@T*"0DO+R!'970@8GET97,@9G)O;2!I;G!U="!3=')I;F<-
>> M"@D)8GET92!C=7)R96YT6$U,0GET97-;72 ](&EN<'5T4W1R:6YG+F=E=$)Y
>> M=&5S*"D[#0H-"@D)26YP=713=')E86T@:6X@/2!N97<@0GET94%R <F%Y26YP
>> M=713=')E86TH8W5R<F5N=%A-3$)Y=&5S*3L-"@T*"0E!4TU-;V1E; "!R970@
>> M/2!M9')A;6@N;F5W36]D96PH(DE.(BP@>&UL3412;6TI.R O+R!C<F5A=&4@
>> M;F5W(&]U='!U="!M;V1E;"!W:71H(%A-3"!M971A;6]D96P@*$U/1BTQ+C0I
>> M#0H-"@D)6$U,26YJ96-T;W(@>&UL:2 ](&YE=R!834Q);FIE8W1O<B@I.R O
>> M+R!C<F5A=&4@6$U,(&EN:F5C=&]R#0H-"@D)36%P('!A<F%M971E<G,@/2!#
>> M;VQL96-T:6]N<RY%35!465]-05 [("O(&YO('!A<F%M971E<G,-"@T*"0ET
>> M<GD@>PT*"0D)>&UL:2YI;FIE8W0H<F5T+"!I;BP@<&%R86UE=&5R <RD[("O
>> M($1O(&EN:F5C=&EO;B A#0H)"7T@8V%T8V@H24]%>&-E<'1I;VX@:6I>PT*
>> M"0D):6N<')I;G13=&%C:U1R86-E*"D[#0H)"7T-"@T*"0ER971U <FX@<F5T
>> M.PT*"7T@+R@+2T@96YD(&]F(&EN:F5C=%A-3$UO9&5L1G)O;49I;&4-"@T*
>> M(" @("J*@T*(" @(" J($5X=')A8W0@:6YP=70@6$U,(&UO9&5L("AI;G-T
>> M86YC92!O9B!834P@;65T86UO9&5L("T@34]&(#$N-"D@=&@6$U,(&9I;&4-
>> M"B @(" @*B! <&%R86T@;6]D96P@:6YP=70@6$U,(&UO9&5L('=H:6-H('=I
>> M;&P@8F4>@97AT<F%C=&5D('1O(%A-3"!F:6QE#0H@(" @("H@0'!A<F%M(&9I
>> M;&4@;W5T<'5T(%A-3"!F:6QE(&EN('=H:6-H(&EN<'5T(%A-3 "!M;V1E;"!W
>> M:6QL(&)E(&5X=')A8W1E9 T*(" @(" J+PT*"7!U8FQI8R!V;VED(&5X=')A
>> M8W1834Q-;V1E;%1O1FEL92A!4TU-;V1E;"!M;V1E;"P@4W1R:6YG(&9I;&4I
>> M('L-"@D):6YI=$U$4B@I.PT*#0H)"4]U='!U=%-T<F5A;2!O=70@/2!N=6QL
>> M.PT*#0H)"4UA<"!P87)A;65T97)S(#T@0V]L;&5C=&EO;G,N14U05%E?34%0
>> M.PT*#0H)"5A-3$5X=')A8W1O<B!X;6QE(#T@;F5W(%A-3$5X=')A8W1O<B@I
>> M.PT*#0H)"71R>2![#0H)"0EO=70@/2!N97<@1FEL94]U='!U=%-T<F5A;2AF
>> M:6QE*3L-"@T*"0D)>&UL92YE>'1R86-T*&UO9&5L+"!O=70L('!A <F%M971E
>> M<G,I.R O+R!$;R!E>'1R86-T:6]N("$-"@T*"0D);W5T+F9L=7-H*"D[(&]U
>> M="YC;&]S92@I.R O+R!C;&]S92!S=')E86T-"@D)?2!C871C:"A&:6QE3F]T
>> M1F]U;F1%>&-E<'1I;VX@9BD@>PT*"0D)4WES=&5M+F]U="YP<FEN=&QN*")%
>> M<G)O<CH@1FEL92!I<R!N;W0@9F]U;F0B*3L-"@D)?2!C871C:"A)3T5X8V5P
>> M=&EO;B!I;RD@>PT*"0D)4WES=&5M+F]U="YP<FEN=&QN* ")%<G)O<CH@:6X@
>> M97AT< F%C=&EO;B!O9B!834P@;6]D96P@=&@6$U,(&9I;&4B*3 L- "@D)?0T*
>> M"7T@+R@+2T@96YD(&]F(&5X=')A8W1834Q-;V1E;%1O1FEL90T*#0H@(" @
>> M+RHJ#0H@(" @("H@17AT<F%C="!I;G!U="!834P@;6]D96P@*&EN<W1A;F-E
>> M(&]F(%A-3"!M971A;6]D96P@+2!-3T8@,2XT*2!T;R!3=')I;F<-"B @(" @
>> M*B! <&%R86T@;6]D96P@:6YP=70@6$U,(&UO9&5L('=H:6-H('=I;&P@8F4@
>> M97AT<F%C=&5D('1O(%A-3"!F:6QE#0H@(" @("H@0')E='5R;B!I;G!U="!M
>> M;V1E;"!R971U<FYE9"!A<R!3=')I;F<-"B @(" @*B-"@EP=6)L:6,@4W1R
>> M:6YG(&5X=')A8W1834Q-;V1E;%1O4W1R:6YG*$%334UO9&5L(&a mp;UO9&5L*2![
>> M#0H)"6EN:71-1%(H*3L-"@T*"0E/=71P=713=')E86T@;W5T(#T@;G5L;#L@
>> M4W1R:6YG(')E=" ](&YU;&P[#0H-"@D)36%P('!A<F%M971E<G,@/2!#;VQL
>> M96-T:6]N<RY%35!465]-05 [#0H-"@D)6$U,17AT<F%C=&]R('AM;&4@/2!N
>> M97<@6$U,17AT<F%C=&]R*"D[#0H-"@D)=')Y('L-"@D)"6]U= " ](&YE=R!"
>> M>71E07)R87E/=71P=713=')E86TH*3L-"@T*"0D)>&UL92YE>'1R86-T*&UO
>> M9&5L+"!O=70L('!A<F%M971E<G,I.R O+R!$;R!E>'1R86-T:6]N("$-"@T*
>> M"0D)<F5T(#T@;W5T+G1O4W1R:6YG*"D[#0H-"@D)"6]U="YF;'5S: "@I.R!O
>> M=70N8VQO<V4H*3L@+R@8VQO<V4@<W1R96%M#0H)"7T@8V%T8V@H1FEL94YO
>> M=$9O=6YD17AC97!T:6]N(&8I('L-"@D)"5-Y<W1E;2YO=70N<')I;G1L;B@B
>> M17)R;W(Z($9I;&4@:7,@;F]T(&9O=6YD(BD[#0H)"7T@8V%T8V@H24]%>&-E
>> M<'1I;VX@:6I('L-"@D)"5-Y<W1E;2YO=70N<')I;G1L;B@B17)R;W(Z(&EN
>> M(&5X=')A8W1I;VX@;V8@6$U,(&UO9&5L('1O(%A-3"!F:6QE(BD[#0H)"7T-
>> M"@D)<F5T=7)N(')E=#L-"@E]("O("TM(&5N9"!O9B!E>'1R86-T6$U,36]D
>> M96Q4;T9I;&4-"@T*"2O+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO
>> M+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO
>> M+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+R-"@DO+R!!;B!E>&%M
>> M<&QE($5"3D8@:6YJ96-T+V5X=')A8W0@;65T:&]D<R!F;W(@ <V]M92!-32!M
>> M971A;6]D96P@*'1H:7,@<VAO=6QD(&)E(&-H86YG960@9F]R(&5V97)Y(&UE
>> M=&%M;V1E;"D-"@DO+R!.;W1E.B!Y;W4@<VAO=6QD(&AA=F4@9V5N97)A=&5D
>> M($U-+65B;F9I;FIE8W1O<BYJ87(@86YD('!U='1E9 T*"2O(" @(" @(&EN
>> M(&EN=&@8VQA<W-P871H('=I=&@@;W1H97(@;&EB<PT* "2O+RO+RO+RO
>> M+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO
>> M+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO
>> M+RO+RO+R-"@T*"2J*@T*(" @(" J($5X=')A8W0@:6YP=70@34T@;6]D
>> M96P@*&EN<W1A;F-E(&]F('-O;64@34T@;65T86UO9&5L("T@34]&(#$N-"D@
>> M=&@1FEL90T*"2 J($!P87)A;2!-34UO9&5L(&EN<'5T($U-(&UO9&5L('=H
>> M:6-H('=I;&P@8F4>@97AT<F%C=&5D('1O($9I;&4-"@D@*B! <&%R86T@9FEL
>> M92!P871H('1O('1H92!F:6QE(&EN('=H:6-H('=I;&P@8F4>@97AT<F%C=&5D
>> M(&EN<'5T($U-(&UO9&5L#0H)("HO#0H@(" @<'5B;&EC('9O:60@<V%V94U-
>> M36]D96Q4;T9I;&4H05--36]D96P@34U-;V1E;"P@4W1R:6YG(&9I;&4I('L-
>> M"@D):6YI=$U$4B@I.PT*#0H)"4]U='!U=%-T<F5A;2!O=70@/2!N=6QL.PT*
>> M#0H)"45X=')A8W1O<B!E>'0@/2!N97<@14).1D5X=')A8W1O<B@I.PT*"0E-
>> M87 @<&%R86US(#T@;F5W($AA<VA-87 H*3L-"@D)<&%R86US+G!U="@B9F]R
>> M;6%T(BP@3412365T84UO9&5L<RYG970H(DU-+51#4R(I*3L-"@D)<&%R86US
>> M+G!U="@B:6YD96YT4W1R:6YG(BP@(EQT(BD[#0H-"@D)=')Y('L-"@D) "6]U
>> M=" ](&YE=R!&:6QE3W5T<'5T4W1R96%M*&9I;&4I.PT*"0D)97AT+F5X=')A
>> M8W0H34U-;V1E;"P@;W5T+"!P87)A;7,I.R O+R!D;R!I="$-"@T*"0E](&-A
>> M=&-H*$5X8V5P=&EO;B!E*2![#0H)"0EE+G!R:6YT4W1A8VM4<F%C92@I.PT*
>> M"0E]#0H)?2 O+R M+2!E;F0@;V8@<V%V94U-36]D96Q4;T9I;&4-"@T*"2J
>> M*@T*"2 J($1E<V5R:6%L:7IE<R!A($U-(&UO9&5L(&9R;VT@82!&:6QE+B H
>> M=V]R:W,@=VET:"!-1%(L(&)U="!I9B!I="!I<R!N965D960L(&IU <W0@8VAA
>> M;F=E('1O($5-1BD-"@D@*B! <&%R86T@9FEL92!I<R!T:&4@34T>@9FEL92X-
>> M"@D@*B! <F5T=7)N('1H92!-32!M;V1E;"!T:&%T(&ES(&EN:F5C=&5D(&9R
>> M;VT@:6YP=70@34T>@8V]D92X-"@D@*B-"@D@<'5B;&EC($%334UO9&5L(&=E
>> M=$U-1G)O;49I;&4H4W1R:6YG(&9I;&4I('L-"@D):6YI=$U$4B@I.R O+R!I
>> M9B!-1%(@*&%N9"!%348I(&ES(&YO="!I;FET:6%L:7IE9 "P@9&@:70@;F]W
>> M("$-"@T*"0E!4TU-;V1E;"!R970@/2!M9')A;6@N;F5W36]D96PH(DE.(BP@
>> M;VYE34U?3412*3L@+R@8W)E871E(&YE=R!O=71P=70@;6]D96P@=VET:"!/
>> M;F5-32 H;W(@<V]M92!Y;W5R($U-*2!M971A;6]D96P-"@T*"0DO+T5"3D9)
>> M;FIE8W1O<C(@96)N9FD@/2!N97<@14).1DEN:F5C=&]R,B@I.PT*"0E);G!U
>> M=%-T<F5A;2!I;B ](&YU;&P[#0H-"@D)=')Y('L-"@D)"6EN(#T@;F5W($9I
>> M;&5);G!U=%-T<F5A;2AF:6QE*3L-"@T*"0D)+R]#;&%S<R!L97AE <B ]($U-
>> M3&5X97(N8VQA<W,[("O(%1H:7,@87)E('EO=7(@9V5N97)A=&5D(&-L87-S
>> M97,-"@D)"2O0VQA<W,@<&%R<V5R(#T@34U087)S97(N8VQA<W,[#0H-"@D)
>> M"2O96)N9FDN<&5R9F]R;4EM<&]R=&%T:6]N*&]N94U-7TU$4BP@ <F5T+"!I
>> M;BP@(DU-(BP@;&5X97(L('!A<G-E<BD[#0H-"@D)"6EN+F-L;W-E* "D[#0H-
>> M"@D)"7T@8V%T8V@H1FEL94YO=$9O=6YD17AC97!T:6]N(&8I('L-"@D)"0E3
>> M>7-T96TN;W5T+G!R:6YT;&XH(D5R<F]R.B!&:6QE(&ES(&YO= "!F;W5N9"(I
>> M.PT*"0D)?2!C871C:"A)3T5X8V5P=&EO;B!I;RD@>PT*"0D)"5-Y <W1E;2YO
>> M=70N<')I;G1L;B@B17)R;W(Z(&EN(&EN:F5C=&EO;B!O9B!-32!F:6QE(BD[
>> M#0H)"0E](&-A=&-H*$5X8V5P=&EO;B!E*2![#0H)"0D)92YP <FEN=%-T86-K
>> M5')A8V4H*3L-"@D)"7T-"@T*"0D)+R@5$]$3SH@0VAE8VL>@9F]R('!R;V)L
>> M96US('=I=&@Z(&EN="!N8E!B<R ](&UA<FME<DUA:V5R+F%P<&QY36%R:V5R
>> M<RAF:6QE+"!P8G,I.R N+BX-"@T*"0D)<F5T=7)N(')E=#L-"@E]("O("TM
>> M(&5N9"!O9B!G971-349R;VU&:6QE#0H-"B @("J*@T*(" @(" J($QA=6YC
>> M:"!!5$P@=')A;G-F;W)M871I;VX-"B @(" @*B! <&%R86T@;6]D96Q(86YD
>> M;&5R(&UO9&5L(&AA;F1L97(@=VAI8V@@:7,@=7-E9"!F;W(@8W)E871I;F <@
>> M;W5T<'5T(&UO9&5L#0H@(" @("H@0'!A<F%M('1R86YS9F]R;6%T:6]N(%52
>> M3"!T;R!C;VUP:6QE9"!!5$P@=')A;G-F;W)M871I;VX-"B @(" @*B! <&%R
>> M86T@:6YP=71-;V1E;"!I;G!U="!M;V1E;"!F;W(@=')A;G-F;W)M871I;VX-
>> M"B @(" @*B! <&%R86T@:6YP=71-971A;6]D96P@:6YP=70@;65T86UO9&5L
>> M(&9O<B!T<F%N<V9O<FUA=&EO;@T*(" @(" J($!P87)A;2!O=71P=71-971A
>> M;6]D96P@;W5T<'5T(&UE=&%M;V1E;"!F;W(@=')A;G-F;W)M871I;VX- "B @
>> M(" @*B! <&%R86T@:6Y087)A;7,@861D:71I;VYA;"!P87)A;65T97)S(&9O
>> M<B!T<F%N<V9O<FUA=&EO;@T*(" @(" J($!P87)A;2!I;DQI8G,@861D:71I
>> M;VYA;"!L:6)R87)I97,@9F]R('1R86YS9F]R;6%T:6]N#0H@(" @("HO#0H)
>> M< '5B;&EC($%334UO9&5L(')U;D%43%1R86YS9F]R;6%T:6]N*$%T; $UO9&5L
>> M2&%N9&QE<B!M;V1E;$AA;F1L97(L(%523"!T<F%N<V9O<FUA=&EO;BP@05--
>> M36]D96P@:6YP=71-;V1E;"P-"@D)"0D)"0D)"2 @(" @05--36]D96P@:6YP
>> M=71-971A;6]D96PL($%334UO9&5L(&]U='!U=$UE=&%M;V1 E; "P@36%P(&EN
>> M4&%R86US+"!-87 @:6Y,:6)S*2![#0H)"6EN:71-1%(H*3L@+R@26YI=&EA
>> M;&EZ92!-1%(@;6]D96P@:&%N9&QE<@T*#0H)"4%334UO9&5L(')E= " ](&YU
>> M;&P[("O(')E='5R;B!M;V1E; T*#0H)"2O(%-E="!L875N8V@@8V]N9FEG
>> M=7)A=&EO;@T*"0E-87 @;6]D96QS(#T@;F5W($AA<VA-87 H*3L-"@D);6]D
>> M96QS+G!U="AI;G!U=$UE=&%M;V1E;"YG971.86UE*"DL(&EN <'5T365T86UO
>> M9&5L*3L@+R@:6YP=70@;65T86UO9&5L#0H)"6UO9&5L<RYP=70H;W5T <'5T
>> M365T86UO9&5L+F=E=$YA;64H*2P@;W5T<'5T365T86UO9&5L*3L@+R@;W5T
>> M<'5T(&UE=&%M;V1E; T*"0EM;V1E;',N<'5T*"))3B(L(&EN<'5T36]D96PI
>> M.R O+R!I;G!U="!M;V1E; T*"0ER970@/2!M;V1E;$AA;F1L97(N;F5W36]D
>> M96PH(D]55"(L(&]U='!U=$UE=&%M;V1E;"D[("O(&]U='!U= "!M;V1E; T*
>> M"0EM;V1E;',N<'5T*")/550B+"!R970I.PT*#0H)"4UA<"!P87)A;7,@/2!I
>> M;E!A<F%M<SL@+R@4&%R86UE=&5R<PT*"0E-87 @;&EB<R ](&EN3&EB<SL@
>> M"2 @("O($QI8G)A<FEE<PT*#0H)"2O($QA=6YC:"!!5$P@=')A;G-F;W)M
>> M871I;VX-"@D)071L3&%U;F-H97(N9V5T1&5F875L="@I+FQA=6YC: "AT<F%N
>> M<V9O<FUA=&EO;BP@;&EB<RP@;6]D96QS+"!P87)A;7,I.PT*#0H) "7)E='5R
>> M;B!R970[#0H)?2 O+R M+2!E;F0@;V8@<G5N051,5')A;G-F;W)M871I;VX-
>> M"@T*(" @("J*@T*(" @(" J($QO860@;6]D96P@9G)O;2!F:6QE("A834DI
>> M(&%S($U/1BTQ+C0-"B @(" @*B! <&%R86T@9FEL92!N86UE(&]F(&9I;&4@
>> M=VAI8V@@8V]N=&%I;G1S(&EN<'5T(&UO9&5L#0H@(" @("H@0'!A<F%M(&EN
>> M<'5T365T86UO9&5L(&EN<'5T(&UE=&%M;V1E;" H87,@4W1R:6YG*0T*(" @
>> M(" J($!R971U<FX@;6]D96P@=VAI8V@@:7,@8V]N<W1R=6-T960@9G)O;2!I
>> M;G!U="!F:6QE#0H@(" @("HO#0H)<'5B;&EC($%334UO9&5L(&QO861-1%)-
>> M;V1E;$9R;VU&:6QE*%-T<FEN9R!F:6QE+"!3=')I;F<@:6YP=71-971A;6]D
>> M96PI('L-"@D)+R@26YI=&EA;&EZ92!-1%(-"@D):6YI=$U$4B@I.PT*#0H)
>> M"2O($=E="!M971A;6]D96P@9G)O;2!M87 -"@D)05--36]D96P@;65T86UO
>> M9&5L(#T@*$%334UO9&5L*4U$4DUE=&%-;V1E;',N9V5T*&a mp;EN <'5T365T86UO
>> M9&5L*3L-"@T*"0E);G!U=%-T<F5A;2!I;B ](&YU;&P[#0H-"@D)=')Y('L-
>> M"@D)"2O($-R96%T92!I;G!U="!S=')E86T@9G)O;2!F:6QE#0H)"0EI;B ]
>> M(&YE=R!&:6QE26YP=713=')E86TH9FEL92D[#0H-"@D)?2!C871C: "A&:6QE
>> M3F]T1F]U;F1%>&-E<'1I;VX@92D@>PT*"0D)4WES=&5M+F]U="YP<FEN=&QN
>> M*")%<G)O<CH@26YP=70@9FEL92!I<R!N;W0@9F]U;F0A(BD[#0H)"0ER971U
>> M<FX@;G5L;#L-"@D)?0T*#0H)"7)E='5R;B!M9')A;6@N;&]A9
Re: [ATL] Launch a transformation from a java application [message #53957 is a reply to message #53911] Fri, 20 July 2007 11:32 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: atl_apprentice.yahoo.com

Hmm.. that's weird. I can download the java file from my previous post.
This time I zipped it. Hopefully you can download it now.


"Milan Milanovic" <milan@milanovic.org> schreef in bericht
news:4a3c1f79ae2bc560b14124692b1b0d0c$1@www.eclipse.org...
> ATL_Apprentice wrote:
>
>> Whoops.. stupid me..
>> Forgot to attach..
>
> Well, as you can see I cannot download file. Could you try to zip it ?
>
> --
> Regards, Milan Milanovic
>
>
>> "Milan Milanovic" <milan@milanovic.org> schreef in bericht
>> news:5944a4d3058186dad8e12e3d11d64d3f$1@www.eclipse.org...
>>> Hi,
>>>
>>> ATL_Apprentice wrote:
>>>
>>>> Thank you for taking the time to answer my post.
>>>
>>>>> Well, actually it is all you got to do. Just one notice, you should
>>>>> see
>>>>> if
>>>>> these ATL and Eclipse libs are in the CLASSPATH, and that you are
>>>>> using
>>>>> the same versions.
>>>
>>>> I used the jars in the libs folder of the bundle you created.
>>>> I right-clicked these jars in the libs folder and clicked "Build Path
>>>> >>
>>>> Add
>>>> to build path"
>>>> I think this is sufficient. Isn't it?
>>>
>>> Well, it should be.
>>>
>>>>> It is possible that Eclipse environment takes its own libraries into
>>>>> CLASSPATH. And, of course, you need to use JDK 1.5.0, IT DOES NOT WORK
>>>>> with JDK 1.6.0.
>>>
>>>> I assume that if ATL works correctly in the ATL perspective, then
>>>> everything
>>>> is ok?
>>>> I'm using JDK 1.4.2.
>>>
>>> O.K.
>>>
>>>> The transformation I created works fine in the ATL perspective, but
>>>> when
>>>> I
>>>> switch to the java perspective and run the modified
>>>> ATLTransformation.java
>>>> as a Java application, then I get the following output in my console:
>>>> Initializing MDR...
>>>
>>>> java.lang.NullPointerException
>>>
>>>> at ATLTransformations.initMDR(ATLTransformations.java:141)
>>>
>>>> at ATLTransformations.<init>(ATLTransformations.java:115)
>>>
>>>> at
>>>> ATLTransformations.getATLTransformations(ATLTransformations. java:223)
>>>
>>>> at ATLTransformations.main(ATLTransformations.java:622)
>>>
>>>> Exception in thread "main"
>>>
>>> It looks like MDR is not initialized.
>>>
>>>> line 141 in my modified file is:
>>>> oneMM_MDR = mdramh.loadModel("OneMM", mdramh.getMof(),
>>>> onemmurl.openStream());
>>>
>>>> I attached my ATLTransformations.java file to this post.
>>>
>>> I don't see any attachment to this post.
>>>
>>> --
>>> Regards, Milan Milanovic
>>>
>>>> I really don't know where the problem is. Because I thought I modified
>>>> everything correctly.
>>>
>>>> Could you please help me out?
>>>
>>>> Thanks
>>>
>>>
>>>> "Milan Milanovic" <milan@milanovic.org> schreef in bericht
>>>> news:9d89c44d20b0b3476bfbab6302dea8af$1@www.eclipse.org...
>>>>> Hi,
>>>>>
>>>>> ATL_Apprentice wrote:
>>>>>
>>>>>> Hi,
>>>>>
>>>>>> I created an ATL transformation and it works.
>>>>>> Now I want to launch this ATL transformation from a java application.
>>>>>
>>>>>> - I've got the following files:
>>>>>> * Input.xmi
>>>>>> * UML1.4.xmi which is the metamodel of Input.xmi and also the
>>>>>> metamodel
>>>>>> of my output.
>>>>>> * The output should be written in Output.xmi
>>>>>> * Tranformation.atl
>>>>>> * Transformation.asm
>>>>>
>>>>>> - I looked at the ATL wiki on the eclipse website:
>>>>>>
>>>>>
>>>
> http://wiki.eclipse.org/ATL_Howtos#How_do_I_launch_transform ations_programmatically.3F
>>>>>> From there I downloaded:
>>>>>> * The AtlLauncher class
>>>>>> * Milan Milanovic's ATL template bundle
>>>>>
>>>>>
>>>>>> Q1: Is this all I need?
>>>>>
>>>>> Yes, it is all you need. Of course, with ATLTransformations class and
>>>>> libraries.
>>>>>
>>>>>> - I changed to the java perspective in eclipse and created a new
>>>>>> project
>>>>>> with a:
>>>>>> * src folder in which put the ATLTransformations.java and the
>>>>>> AtlLauncher.java files
>>>>>> * lib folder with all the jar files from the bundle. I added these
>>>>>> jar
>>>>>> files to the build path.
>>>>>> * metamodels folder with the TCS folder and xml folder from the
>>>>>> bundle
>>>>>> and
>>>>>> the uml1.4.xmi metamodel (from omg.org)
>>>>>> * models folder with input.xmi
>>>>>> * transformations folder with my atl and asm file in it
>>>>>
>>>>> O.K.
>>>>>
>>>>>> - I started editing the ATLTransformations.java file, but there are a
>>>>>> few
>>>>>> things I don't understand. Here's what I did:
>>>>>> * According to eclipse some imports were unused, so I chose
>>>>>> "organize
>>>>>> imports"
>>>>>
>>>>> O.K.
>>>>>
>>>>>> * I changed the name of the asm file to my .asm file's name
>>>>>
>>>>> O.K.
>>>>>
>>>>>> * I commented away some EMF things (EMF related variables and the
>>>>>> method
>>>>>> initEMF() and the invokation of this method), because I used MDR
>>>>>> as
>>>>>> the
>>>>>> handler for my models.
>>>>>
>>>>> O.K.
>>>>>
>>>>>> * I changed oneMM.xmi to UML1.4.xmi and did the same for
>>>>>> otherMM.xmi,
>>>>>> since my input model and output models are both UML models.
>>>>>
>>>>> O.K.
>>>>>
>>>>>> * I changed the model names in the last line of main to my model
>>>>>> names
>>>>>
>>>>> O.K.
>>>>>
>>>>>> Q2: Is everything above correct and is this all I have to do?
>>>>>
>>>>> Well, actually it is all you got to do. Just one notice, you should
>>>>> see
>>>>> if
>>>>> these ATL and Eclipse libs are in the CLASSPATH, and that you are
>>>>> using
>>>>> the same versions. It is possible that Eclipse environment takes its
>>>>> own
>>>>> libraries into CLASSPATH. And, of course, you need to use JDK 1.5.0,
>>>>> IT
>>>>> DOES NOT WORK with JDK 1.6.0.
>>>>>> Q3: What is that TCS specific stuff for? What does it have to do with
>>>>>> ATL?
>>>>>> I didn't need anything with TCS when I used the ATL
>>>>>> perspective
>>>>>> to
>>>>>> run my transformation.
>>>>>> * I noticed a line in ATLTransformations.java:
>>>>>> private URL MM_tcs =
>>>>>>
>>>>>> ATLTransformations.class.getResource(transformationsMetamode ls
>>>>>> +
>>>>>> "MM/MM-TCS.xmi");
>>>>>> What is that MM-TCS.xmi for? That file does not even exist.
>>>>>
>>>>> If you are not using ATL's TCS for creating model-to-text
>>>>> transformations,
>>>>> then you don't need to use this. MM-TCS.xmi is a model of user defined
>>>>> textual concrete syntax. You can read about TCS here:
>>>>> http://wiki.eclipse.org/ATL_Howtos#Using_TCS.
>>>>>
>>>>>> Q4: In the method getMMFromFile(String file) there is a line:
>>>>>> EBNFInjector2 ebnfi = new EBNFInjector2();
>>>>>> Eclipse says local variable ebnfi is never read.. what is it
>>>>>> for?
>>>>>
>>>>> It is again for using TCS, if you don't use it you can delete this
>>>>> method.
>>>>>
>>>>> --
>>>>> Regards, Milan Milanovic
>>>>>
>>>>>> Hopefully someone can answer my questions.
>>>>>
>>>>>> Regards
>>>>>
>>>>>
>>>
>>>
>
>
>> begin 666 ATLTransformations.java
>> M+RH-"B J($-R96%T960@;VX@,38N.2XR,# V+B M(&QA<W0@<F5V:7-I;VXZ
>> M(#(N-"XR,# W+@T*("H@*$,I(#(P,#<N($UI;&%N($UI;&%N;W9I8RP@1T]/
>> M1"!/3$0@04D>@3&%B;W)A=&]R>2P@1F%C=6QT>2!O9B!/<F=A;FEZ871I;VYA
>> M;"!38VEE;F-E<RP@56YI=F5R<VET>2!O9B!"96QG<F%D92X-"B J#0H@*B @
>> M5&AI<R!P<F]G<F%M(&ES(&9R964@<V]F='=A<F4[('EO=2!C86X@ <F5D:7-T
>> M<FEB=71E(&ET(&%N9"]O<B!M;V1I9GD-"B J("!I="!U;F1E<B!T:&4@=&5R
>> M;7,@;V8@=&AE($=.52!'96YE<F%L(%!U8FQI8R!,:6-E;G-E+"!V97)S:6]N
>> M(#(@87,-"B J("!P=6)L:7-H960@8GD@=&AE($9R964@4V]F='=A<F4@1F]U
>> M;F1A=&EO;BX-"B J#0H@*B @5&AI<R!P<F]G<F%M(&ES(&1I<W1R:6)U=&5D
>> M(&EN('1H92!H;W!E('1H870@:70@=VEL;"!B92!U<V5F=6PL#0H@*B @8G5T
>> M(%=)5$A/550@04Y9(%=!4E)!3E19.R!W:71H;W5T(&5V96X@=&AE(&EM<&QI
>> M960@=V%R<F%N='D@;V8-"B J("!-15)#2$%.5$%"24Q)5%D@;W(@1DE43D53
>> M4R!&3U(@02!005)424-53$%2(%!54E!/4T4N("!3964@=&AE#0H@*B @1TY5
>> M($=E;F5R86P@4'5B;&EC($QI8V5N<V4@9F]R(&UO<F4@9&5T86EL<RX-"B J
>> M#0H@*B @66]U('-H;W5L9"!H879E(')E8V5I=F5D(&$@8V]P>2!O9B!T:&4@
>> M1TY5($=E;F5R86P@4'5B;&EC($QI8V5N<V4-"B J("!A;&]N9R!W:71H('1H
>> M:7,@<')O9W)A;3L@:68@;F]T+"!W<FET92!T;R!T:&4@1G)E92!3;V9T=V%R
>> M90T*("H@($9O=6YD871I;VXL($EN8RXL(#8W-2!-87-S($%V92P@0V%M8G)I
>> M9&=E+"!-02 P,C$S.2P@55-!+@T*("H-"B J(" H4V5E('1H92!F:6QE(")#
>> M3U!924Y'(B!T:&%T(&ES(&EN8VQU9&5D('=I=&@ @=&AI <R!S;W5R8V4@9&ES
>> M=')I8G5T:6]N+BD-"B J+PT*#0II;7!O<G0@:F%V82YI;RY">71E07)R87E)
>> M;G!U=%-T<F5A;3L-"FEM<&]R="!J879A+FEO+D)Y=&5!<G)A >4]U='!U=%-T
>> M<F5A;3L-"FEM<&]R="!J879A+FEO+D9I;&5);G!U=%-T<F5A;3L- "FEM<&]R
>> M="!J879A+FEO+D9I;&5.;W1&;W5N9$5X8V5P=&EO;CL-"FEM <&]R="!J879A
>> M+FEO+D9I;&5/=71P=713=')E86T[#0II;7!O<G0@:F%V82YI;RY)3T5X8V5P
>> M=&EO;CL-"FEM<&]R="!J879A+FEO+DEN<'5T4W1R96%M.PT*:6UP;W)T(&IA
>> M=F$N:6N3W5T<'5T4W1R96%M.PT*:6UP;W)T(&IA=F$N;F5T+E523#L- "FEM
>> M<&]R="!J879A+G5T:6PN0V]L;&5C=&EO;G,[#0II;7!O<G0@:F%V82YU=&EL
>> M+DAA<VA-87 [#0II;7!O<G0@:F%V82YU=&EL+DUA<#L-"@T*:6UP;W)T(&IA
>> M=F%X+GAM;"YP87)S97)S+E-!6%!A<G-E<CL-"FEM<&]R="!J879A >"YX;6PN
>> M<&%R<V5R<RY305A087)S97)&86-T;W)Y.PT*#0II;7!O<G0@;W)G+F%T; "YE
>> M8VQI<'-E+F5N9VEN92Y!=&Q-;V1E;$AA;F1L97([#0II;7!O<G0@;W)G+F%T
>> M;"YE;F=I;F4N97AT<F%C=&]R<RY%>'1R86-T;W([#0II;7!O<G0@;W)G+F%T
>> M;"YE;F=I;F4N97AT<F%C=&]R<RYE8FYF+D5"3D9%>'1R86-T;W([#0II;7!O
>> M<G0@;W)G+F%T;"YE;F=I;F4N97AT<F%C=&]R<RYX;6PN6$U,17AT <F%C=&]R
>> M.PT*+R]I;7!O<G0@;W)G+F%T;"YE;F=I;F4N:6YJ96-T;W)S+F5B;F8N14).
>> M1DEN:F5C=&]R,CL-"FEM<&]R="!O<F<N871L+F5N9VEN92YI;FIE8W1O <G,N
>> M> &UL+EA-3$EN:F5C=&]R.PT*:6UP;W)T(&]R9RYA=&PN9 6YG:6YE+G)E <&]S
>> M:71O<FEE< RYM9'(T871L+D%334U$4DUO9&5L.PT*:6UP;W)T(&]R9RYA=& ;PN
>> M96YG:6YE+G)E<&]S:71O<FEE<RYM9'(T871L+D%T;$U$4DUO9&5L2&%N9&QE
>> M<CL-"FEM<&]R="!O<F<N871L+F5N9VEN92YV;2YN871I=F5L:6(N05--36]D
>> M96P[#0II;7!O<G0@;W)G+GAM;"YS87@N4T%817AC97!T:6]N.PT*:6UP;W)T
>> M(&]R9RYX;6PN<V%X+E-!6%!A<G-E17AC97!T:6]N.PT*:6UP;W)T(&]R9RYX
>> M;6PN<V%X+FAE;'!E<G,N1&5F875L=$AA;F1L97([#0H-"BJ*@T*( "H@36%I
>> M;B!C;&%S<R!F;W(@<G5N;FEN9R!!5$P@=')A;G-F;W)M871I;VYS('!R;V=R
>> M86UA=&EC86QL>2 H=&5M<&QA=&4I#0H@*B!43T1/.B!!9&0@<W5P<&]R= "!F
>> M;W(@<G5N;FEN9R!!33,@06YT('1A<VMS#0H@*B! 875T:&]R($UI;&%N($UI
>> M;&%N;W9I8R H;6EL86X@6V%T72!M:6QA;F]V:6,N;W)G*0T*("H@0'9E<G-I
>> M;VX@,BXS#0H@*B-"G!U8FQI8R!C;&%S<R!!5$Q4<F%N<V9O<FUA=&EO;G,@
>> M>PT*#0H)+R@4W1O<"!O;B!E<G)O<B!I;B!%0DY&($EN:F5C=&EO;@T*"2O
>> M<')I=F%T92!F:6YA;"!S=&%T:6,@8F]O;&5A;B!S=&]P3VY% <G)O<B ]("%F
>> M86QS93L-"@T*"2O(%)E;&%T:79E(&QO8V%T:6]N(&]F('1R86YS9F]R;6%T
>> M:6]N<PT*"5-T<FEN9R!T<F%N<V9O<FUA=&EO;G-,;V-A=&EO;B ](")T<F%N
>> M<V9O<FUA=&EO;G,O(CL-"@T*"2O(%)E;&%T:79E(&QO8V%T:6]N(&]F(&UE
>> M=&%M;V1E;',-"@E3=')I;F<@=')A;G-F;W)M871I;VYS365T86UO9&5L <R ]
>> M(")M971A;6]D96PO(CL-"@T*"2O(%523"=S('1O(&-O;7!I;&5D($%43 "!T
>> M<F%N<V9O<FUA=&EO;G,@*&%N(&5X86UP;&4@;V8@3VYE34T@=&@3W1H97)-
>> M32!T<F%N<V9O<FUA=&EO;BD-"@EP<FEV871E(%523"!/;F5-33)/=&AE <DU-
>> M=7)L(#T@051,5')A;G-F;W)M871I;VYS+F-L87-S+F=E=%)E<V]U<F-E*'1R
>> M86YS9F]R;6%T:6]N<TQO8V%T:6]N("L@(E1R86YS9F]R;6%T:6]N+F%S;2(I
>> M.PT*"2O($%D9"!H97)E(%523"=S('1O('EO=7(@;W1H97(@8V]M<&EL960@
>> M=')A;G-F;W)M871I;VYS+BXN#0H-"@DO+R!40U,@<W!E8VEF:6,@*$U-(&ES
>> M('!S975D;VYA;64@9F]R('-O;64@>6]U<B!M971A;6]D96P@=VAI8V@@:7,@
>> M=7-E9"!F;W(@5$-3(&EN:F5C=&EO;B]E>'1R86-T:6]N*0T*"2O <')I=F%T
>> M92!54DP@34U?=&-S(#T@051,5')A;G-F;W)M871I;VYS+F-L87-S+F=E=%)E
>> M<V]U<F-E*'1R86YS9F]R;6%T:6]N<TUE=&%M;V1E;',@*R B34TO34TM5$-3
>> M+GAM:2(I.PT*"2O<')I=F%T92!54DP@5$-3(#T@051,5')A;G-F;W)M871I
>> M;VYS+F-L87-S+F=E=%)E<V]U<F-E*'1R86YS9F]R;6%T:6]N<TUE=&%M;V1E
>> M;',@*R B5$-3+U1#4RYX;6DB*3L@+R@=7-E<R!-1%(@*&-H86YG92!T;R N
>> M96-O<F4@9F]R($5-1BD-"@T*"2O($U$4B!M;V1E;"!H86YD;&5R#0H)<')I
>> M=F%T92!!=&Q-;V1E;$AA;F1L97(@;61R86UH(#T@;G5L;#L-"@T*"2O($5-
>> M1B!M;V1E;"!H86YD;&5R#0H)+R]P<FEV871E($%T;$UO9&5L2&%N9&QE <B!E
>> M;69A;6@@/2!N=6QL.PT*#0H)+R@3412(&UE=&$M;65T86UO9&5L<PT*"7!R
>> M:79A=&4@05--36]D96P@;VYE34U?3412(#T@;G5L;#L-"@EP<FEV871E($%3
>> M34UO9&5L(&]T:&5R34U?3412(#T@;G5L;#L-"@EP<FEV871E($%334UO9&5L
>> M('AM;$U$4FUM(#T@;G5L;#L@+R@6$U,(&UE=&%M;V1E;"!I<R!N965D960@
>> M8F5C875S92!O9B!834P@:6YJ96-T:6]N+V5X=')A8W1I;VX-"@DO+R!!9&0@
>> M:&5R92!O8FIE8W1S(&9O<B!Y;W4@;65T86UO9&5L<R H3412("T@34]&+3$N
>> M-"DN+BX-"@T*"2O($9O<B!40U,@*$U$4BD@<W5P<&]R= T*"7!R:79A=&4@
>> M05--36]D96P@=&-S3412;6T@/2!N=6QL.PT*"7!R:79A=&4@05--36]D96P@
>> M;6U48W--1%)M;2 ](&YU;&P[#0H-"@DO+R!5<V5D(&9O<B!K965P:6YG(&UE
>> M=&%M;V1E;"!N86UE<PT*"4UA<"!-1%)-971A36]D96QS(#T@;F5W($AA <VA-
>> M87 H*3L-"@T*"2O($5-1B!M971A+6UE=&%M;V1E;',-"@DO+W!R:79A=&4@
>> M05--36]D96P@;VYE34U?14U&(#T@;G5L;#L-"@DO+W!R:79A=&4@05--36]D
>> M96P@;W1H97)-35]%348@/2!N=6QL.PT*"2O<')I=F%T92!!4TU-;V1E;"!X
>> M;6Q%349M;2 ](&YU;&P[#0H)+R@061D(&AE<F4@;V)J96-T<R!F;W(@>6]U
>> M(&UE=&%M;V1E;',@*$5-1B M($5C;W)E*0T*#0H)+R@1F]R(%1#4R H14U&
>> M*2!S=7!P;W)T#0H)+R]P<FEV871E($%334UO9&5L('1C<T5-1FUM(#T@;G5L
>> M;#L-"@DO+W!R:79A=&4@05--36]D96P@;6U48W-%349M;2 ](&YU;&P[#0H-
>> M"@DO+R!'96YE<F%L(&UE=&$M;6]D96QS#0H)+R]P<FEV871E($%334UO9&5L
>> M('!B;6T@/2!N=6QL.PT*#0H)+R@26YS=&%N8V4@;V8@051,5')A;G-F;W)M
>> M871I;VYS(&-L87-S("A3:6YG;&5T;VXI#0H@(" @<')I=F%T92!S=&%T:6,@
>> M051,5')A;G-F;W)M871I;VYS(&%T;%1R86YS9F]R;6%T:6]N<R ](&YU;&P[
>> M#0H-"@DO+R!-87)K97)S(&9O<B!0<F]B;&5M(&UE=&%M;V1E; T*"2O<')I
>> M=F%T92!-87)K97)-86ME<B!M87)K97)-86ME<CL-"@T*"2O($-O;G-T <G5C
>> M=&]R#0H)<'5B;&EC($%43%1R86YS9F]R;6%T:6]N<R@I('L-"@D):6YI=$U$
>> M4B@I.R O+R!);FET:6%L:7IE($U$4B!B87-E9"!M971A;6]D96QS#0H)(" @
>> M("O:6YI=$5-1B@I.R O+R!);FET:6%L:7IE($5-1B!B87-E9"!M971A;6]D
>> M96QS("T@:68@;F5E9&5D#0H)?2 O+R M+2!E;F0@;V8@8V]N<W1R=6-T;W(-
>> M"@T*"2O+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO
>> M+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO
>> M+RO+RO+PT*"2O+R@1V5N97)A;"!!5$P@=')A;G-F;W)M871I;VX@:6YI
>> M=&EA;&EZ871I;VX@=VET:"!D;VUA:6X@;65T86UO9&5L<R!S <&5C:69I8R!I
>> M;FET:6%L:7IA=&EO;@T*"2O+RO+RO+RO+RO+RO+RO+RO+RO+RO
>> M+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO
>> M+RO+RO+RO+RO+RO+RO+PT*#0H)+RHJ#0H)("H@26YI=&EA;&EZ92!-
>> M1%(@;6]D96P@:&%N9&QE<B!A;F0@34]&(&)A<V5D(&UE=&%M;V1E;',-"B @
>> M(" @*B-"@EP<FEV871E('9O:60@:6YI=$U$4B@I('L-"@T*"0EI9BAM9')A
>> M;6@@/3T@;G5L;"D@>R O+R!I9B!-1%(@:7,@;F]T(&EN:71I86QI>F5D#0H-
>> M"@D)"2O($EN:71I86QI>F4@3412(&UO9&5L(&AA;F1L97(-"@D)"6UD<F%M
>> M:" ](&=E=$1E9F%U;'1(86YD;&5R*")-1%(B*3L-"@T*"0D)+R@55),)W,@
>> M=&@34]&+3$N-" H6$U)*2!M971A;6]D96QS#0H)"0E54DP@;VYE;6UU<FP@
>> M/2!!5$Q4<F%N<V9O<FUA=&EO;G,N8VQA<W,N9V5T4F5S;W5R8V4H=')A;G-F
>> M;W)M871I;VYS365T86UO9&5L<R K(")534PQ+C0N>&UI(BD[#0H)"0E54DP@
>> M>&UL;6UU<FP@/2!!5$Q4<F%N<V9O<FUA=&EO;G,N8VQA<W,N9V5T4F5S;W5R
>> M8V4H=')A;G-F;W)M871I;VYS365T86UO9&5L<R K(")X;6PO>&UL+GAM:2(I
>> M.PT*"0D)55),(&]T:&5R;6UU<FP@/2!!5$Q4<F%N<V9O<FUA=&EO;G,N8VQA
>> M<W,N9V5T4F5S;W5R8V4H=')A;G-F;W)M871I;VYS365T86UO9&5L<R K(")5
>> M34PQ+C0N>&UI(BD[#0H)"0DO+R!!9&0@:&5R92!54DPG<R!T;R!Y;W5R(&UE
>> M=&%M;V1E;',@*$U$4B M($U/1BTQ+C0I+BXN#0H-"@D)"71R>2![#0H)"0D)
>> M+R@1V5T(&UE=&%M;V1E;',-"@D)"0EO;F5-35]-1%(@/2!M9')A;6@N;&]A
>> M9$UO9&5L*")/;F5-32(L(&UD<F%M:"YG971-;V8H*2P@;VYE;6UU <FPN;W!E
>> M;E-T<F5A;2@I*3L@"0D)+R@3TY%($U-#0H)"0D)>&UL3412;6T@/2!M9')A
>> M;6@N;&]A9$UO9&5L*")834PB+"!M9')A;6@N9V5T36]F*"DL('AM;&UM=7)L
>> M+F]P96Y3=')E86TH*2D[( D)"2O(%A-3"!-30T*"0D)"6]T:&5R34U?3412
>> M(#T@;61R86UH+FQO861-;V1E;"@B3W1H97)-32(L(&UD<F%M:"YG971-;V8H
>> M*2P@;W1H97)M;75R;"YO<&5N4W1R96%M*"DI.R )+R@3W1H97(@34T-"@D)
>> M"0DO+R!,;V%D('EO=7(@;65T86UO9&5L<R!H97)E+BXN#0H-"@D) "0DO+R!/
>> M;FQY(&9O<B!40U,@;W5T<'5T(2$-"@D)"0DO+W1C<TU$4FUM(#T@;61R86UH
>> M+FQO861-;V1E;"@B5$-3(BP@;61R86UH+F=E=$UO9B@I+"!40U,N;W!E;E-T
>> M<F5A;2@I*3L@"0D)+R@5$-3($U-#0H)"0D)+R]M;51C<TU$4FUM(#T@;61R
>> M86UH+FQO861-;V1E;"@B34TN=&-S(BP@=&-S3412;6TL($U-7W1C <RYO<&5N
>> M4W1R96%M*"DI.R )"2O($U-+51#4R!-30T*#0H)"0D)+R@4'5T(&UE=&%M
>> M;V1E;',@:6X@;6%P(&9O<B!E87-Y(&QO;VMU< T*"0D)"4U$4DUE=&%-;V1E
>> M;',N<'5T*")/;F5-32(L(&]N94U-7TU$4BD[#0H)"0D)3412365T84UO9&5L
>> M<RYP=70H(EA-3"(L('AM;$U$4FUM*3L-"@D)"0E-1%)-971A36]D96QS+G!U
>> M="@B3W1H97)-32(L(&]T:&5R34U?3412*3L-"@D)"0DO+TU$4DUE=&%-;V1E
>> M;',N<'5T*")40U,B+"!T8W--1%)M;2D[#0H)"0D)+R]-1%)-971A36]D96QS
>> M+G!U="@B34TM5$-3(BP@;6U48W--1%)M;2D[#0H)"0E](&-A=&-H( "A)3T5X
>> M8V5P=&EO;B!E*2![#0H)"0D)92YP<FEN=%-T86-K5')A8V4H*3L-"@D) "7T-
>> M"@D)?0T*"7T@+R@+2T@96YD(&]F(&EN:71-1%(-"@T*"2J*@T*"2 J($EN
>> M:71I86QI>F4@14U&(&UO9&5L(&AA;F1L97(@86YD($5C;W)E(&)A<V5D(&UE
>> M=&%M;V1E;',-"B @(" @*B-"BJ"7!R:79A=&4@=F]I9"!I;FET14U&*"D@
>> M>PT*#0H)"6EF*&5M9F%M:" ]/2!N=6QL*2![("O(&EF($5-1B!I<R!N;W0@
>> M:6YI=&EA;&EZ960-"@T*"0D)+R@26YI=&EA;&EZ92!%348@;6]D96P@:&%N
>> M9&QE<@T*"0D)96UF86UH(#T@071L36]D96Q(86YD;&5R+F=E=$1E9F%U;'0H
>> M071L36]D96Q(86YD;&5R+D%-2%]%348I.PT*#0H)"0DO+R!54DPG<R!T;R!%
>> M8V]R92 H6$U)*2!M971A;6]D96QS#0H)"0E54DP@;VYE;6UU<FP@/2!!5$Q4
>> M<F%N<V9O<FUA=&EO;G,N8VQA<W,N9V5T4F5S;W5R8V4H=')A;G-F;W)M871I
>> M;VYS365T86UO9&5L<R K(")O;F5-32]O;F5-32YE8V]R92(I.PT*"0D)55),
>> M('AM;&UM=7)L(#T@051,5')A;G-F;W)M871I;VYS+F-L87-S+F=E=%)E<V]U
>> M<F-E*'1R86YS9F]R;6%T:6]N<TUE=&%M;V1E;',@*R B>&UL+WAM;"YE8V]R
>> M92(I.PT*"0D)55),(&]T:&5R;6UU<FP@/2!!5$Q4<F%N<V9O <FUA=&EO;G,N
>> M8VQA<W,N9V5T4F5S;W5R8V4H=')A;G-F;W)M871I;VYS365T86UO9&5L <R K
>> M(")O=&AE<DU-+V]T:&5R34TN96-O<F4B*3L-"@D)"2O($%D9 "!H97)E(%52
>> M3"=S('1O('EO=7(@;65T86UO9&5L<R H14U&("T@16-O<F4I+BXN#0H-"@D)
>> M"71R>2![#0H)"0D)+R@1V5T(&UE=&%M;V1E;',-"@D)"0EO;F5-35]%348@
>> M/2!E;69A;6@N;&]A9$UO9&5L*")/;F5-32(L(&5M9F%M:"YG971-;V8H*2P@
>> M;VYE;6UU<FPN;W!E;E-T<F5A;2@I*3L-"@D)"0EX;6Q%349M;2 ](&5M9F%M
>> M:"YL;V%D36]D96PH(EA-3"(L(&5M9F%M:"YG971-;V8H*2P@>&UL;6UU <FPN
>> M;W!E;E-T<F5A;2@I*3L-"@D)"0EO=&AE<DU-7T5-1B ](&5M9F%M:"YL;V%D
>> M36]D96PH(D]T:&5R34TB+"!E;69A;6@N9V5T36]F*"DL(&]T:&5R;6UU<FPN
>> M;W!E;E-T<F5A;2@I*3L-"@D)"0DO+R!,;V%D('EO=7(@;65T86UO9&5L<R!H
>> M97)E+BXN#0H-"@D)"0DO+R!/;FQY(&9O<B!40U,@;W5T<'5T(2$- "@D)"0DO
>> M+W1C<T5-1FUM(#T@96UF86UH+FQO861-;V1E;"@B5$-3(BP@96UF86UH+F=E
>> M=$UO9B@I+"!40U,N;W!E;E-T<F5A;2@I*3L@"0DO+R!40U,@34T-"@D)"0DO
>> M+VUM5&-S14U&;6T@/2!E;69A;6@N;&]A9$UO9&5L*")-32YT8W,B+"!T8W-%
>> M349M;2P@34U?=&-S+F]P96Y3=')E86TH*2D[( D)+R@34TM5$-3($U-#0H-
>> M"@D)"7T@8V%T8V@@*$E/17AC97!T:6]N(&4I('L-"@D)"0EE+G!R:6YT4W1A
>> M8VM4<F%C92@I.PT*"0D)?0T*"0E]#0H)"7!B;6T@/2!E;69A;6@N9V5T0G5I
>> M;'1);DUE=&%-;V1E;"@B4')O8FQE;2(I.PT*"0EM87)K97)-86ME<B ](&YE
>> M=R!-87)K97)-86ME<B@I.PT*"7T@+R@+2T@96YD(&]F(&EN:71%348-"BHO
>> M#0H@(" O*BH-"B @(" J(%)E='5R;G,@9&5F875L="!M;V1E;"!H86YD;&5R
>> M("AC=7)R96YT;'D@<W5P<&]R=&5D($U$4B!A;F0@14U&*0T*(" @("H@0'!A
>> M<F%M(')E<&]S:71O<GD@4W1R:6YG('=H:6-H(')E<')E<V5N=',@;6]D96P@
>> M:&%N9&QE<@T*(" @("H@0')E='5R;B!D969A=6QT(')E<&]S:71O<GD@9F]R
>> M(&EN<'5T("A%348@;W(@3412*0T*(" @("HO#0H)<')I=F%T92!!=&Q-;V1E
>> M;$AA;F1L97(@9V5T1&5F875L=$AA;F1L97(H4W1R:6YG(')E<&]S:71O <GDI
>> M('L-"@D@(" @071L36]D96Q(86YD;&5R(&%M:" ](&YU;&P[#0H)(" @('1R
>> M>2![#0H)(" @(" @(" @86UH(#T@071L36]D96Q(86YD;&5R+F=E=$1E9F%U
>> M;'0H<F5P;W-I=&]R>2D[#0H)(" @('T@8V%T8V@@*%1H<F]W86)L92!E*2![
>> M#0H)(" @(" @(" @:68@*")-1%(B+F5Q=6%L<RAR97!O<VET;W)Y*2D@>PT*
>> M"2 @(" @(" @(" @("!!=&Q-;V1E;$AA;F1L97(N<F5G:7-T97)$969A=6QT
>> M2&%N9&QE<B@B3412(BP@;F5W($%T;$U$4DUO9&5L2&%N9&QE<B@I*3L@+R@
>> M<F5G:7-T97(-"@D@(" @(" @(" @(" @86UH(#T@071L36]D96Q(86YD;&5R
>> M+F=E=$1E9F%U;'0H<F5P;W-I=&]R>2D[#0H)(" @(" @(" @?2!E;'-E('L-
>> M"@D@(" @(" @(" @(" @=&AR;W<@;F5W(%)U;G1I;65%>&-E<'1I;VXH92D[
>> M#0H)(" @(" @(" @?0T*"2 @(" @?0T*"2 @(" @<F5T=7)N(&%M:#L-"B @
>> M("!]("O("TM(&5N9"!O9B!G971$969A=6QT2&%N9&QE <@T*#0H@(" O*BH-
>> M"@D@*B!2971U<FYS('-T871I8R!I;G-T86YC92!O9B!!5$Q4<F%N<V9O <FUA
>> M=&EO;G,@8VQA<W,@*%-I;F=L971O;BD-"@D@*B! <F5T=7)N(&1E9F%U;'0@
>> M<F5P;W-I=&]R>2!F;W(@:6YP=70@*$5-1B!O<B!-1%(I#0H)("HO#0H@( " @
>> M<'5B;&EC('-T871I8R!!5$Q4<F%N<V9O<FUA=&EO;G,@9V5T051,5')A;G-F
>> M;W)M871I;VYS*"D@>PT*"0EI9BAA=&Q4<F%N<V9O<FUA=&EO;G,@(#T](&YU
>> M;&PI#0H)"0EA=&Q4<F%N<V9O<FUA=&EO;G,@/2!N97<@051,5')A;G-F;W)M
>> M871I;VYS*"D[#0H-"@D)<F5T=7)N(&%T;%1R86YS9F]R;6%T:6]N <SL-"@E]
>> M#0H-"B @(" O*BH-"B @(" @*B!#:&5C:R!I9B!I;G!U="!834P@9FEL92!I
>> M<R!W96QL+69O<FUE9" M(&AE;'!E<B!M971H;V0-"B @(" @*B! <&%R86T@
>> M9FEL92!P871H('1O(&EN<'5T(%A-3"!F:6QE(&]R(%A-3"!C;V1E#0H@( " @
>> M("H@0'!A<F%M(&ES1FEL92!I9B!I="!I<R!T<G5E('1H96X@:70@:7,@<&%T
>> M:"!T;R!F:6QE+"!O=&AE<G=I<V4@:70@:7,@4W1R:6YG('1H870@8V]N=&%I
>> M;G,@6$U,(&-O9&4-"B @(" @*B! <F5T=7)N('1R=64@:68@:6YP=70@6$U,
>> M(&9I;&4@:7,@=V5L;"!F;W)M960L(&]T:&5R=VES92!I <R!F86QS90T*(" @
>> M(" J+PT*(" @('!R:79A=&4@8F]O;&5A;B!C:&5C:T9O<E=E;&Q&;W)M961N
>> M97-S*%-T<FEN9R!F:6QE+"!B;V]L96%N(&ES1FEL92D-"@E[#0H) "5-!6%!A
>> M<G-E<B!S87A087)S97(@/2!N=6QL.PT*"0E$969A=6QT2&%N9&QE <B!D:" ]
>> M(&YU;&P[#0H)"4EN<'5T4W1R96%M(&EN(#T@;G5L;#L-"@T* "0DO+R!I;FET
>> M('!A<G-E<@T*"0ET<GD@>PT*"0D)4T%84&%R<V5R1F%C=&]R >2!S<&9A8W1O
>> M<GD@/2!305A087)S97)&86-T;W)Y+FYE=TEN<W1A;F-E*"D[#0H) "0ES87A0
>> M87)S97(@/2!S<&9A8W1O<GDN;F5W4T%84&%R<V5R*"D[#0H) "0ED:" ](&YE
>> M=R!$969A=6QT2&%N9&QE<B@I.PT*"0E]#0H)"6-A=&-H*$5X8V5P=&EO;B!E
>> M*2![#0H)"0E3>7-T96TN;W5T+G!R:6YT;&XH(D-A;FYO="!I;FET:6%L:7IE
>> M(%-!6"!P87)S97(N(BD[#0H)"0EE+G!R:6YT4W1A8VM4<F%C92@I.PT*"0D)
>> M<F5T=7)N(&9A;'-E.PT*"0E]#0H-"@D)+R@<&%R<V4@=&AE(%A-3 "!D;V-U
>> M;65N="!U<VEN9R!305@@<&%R<V5R#0H)"71R>2![#0H)"0EI9B H:7-&:6QE
>> M(#T]('1R=64I('L@+R@:70@:7,@9FEL90T*"0D)"6EN(#T@;F5W($9I;&5)
>> M;G!U=%-T<F5A;2AF:6QE*3L-"@D)"7T-"@D)"65L<V4@>R O+R!I="!I<R!3
>> M=')I;F<@=&AA="!C;VYT86EN<R!834P@8V]D90T*"0D)"6)Y=&4@8W5R<F5N
>> M=%A-3$)Y=&5S6UT@/2!F:6QE+F=E=$)Y=&5S*"D[("O($=E="!B >71E<R!F
>> M<F]M(&EN<'5T(%-T<FEN9PT*"0D)"6EN(#T@;F5W($)Y=&5! <G)A>4EN<'5T
>> M4W1R96%M*&-U<G)E;G1834Q">71E<RD[#0H)"0E]#0H)"0ES87A087)S97(N
>> M<&%R<V4H:6XL(&1H*3L@+R@4T%817AC97!T:6]N+"!)3T5X8V5P=&EO;@T*
>> M"0E]#0H)"6-A=&-H*%-!6%!A<G-E17AC97!T:6]N('-P92D@>R O+R!$;V-U
>> M;65N="!I<R!N;W0@=V5L;"UF;W)M960Z($5R<F]R#0H)"0E3>7-T96TN;W5T
>> M+G!R:6YT;&XH(D1O8W5M96YT(&ES(&YO="!W96QL+69O<FUE9 "XB*3L-"@D)
>> M"7)E='5R;B!F86QS93L-"@D)?0T*"0EC871C:"A305A%>&-E<'1I;VX@ <V4I
>> M('L@+R@*"HI#0H)"0E3>7-T96TN;W5T+G!R:6YT;&XH(D5R<F]R('=H:6QE
>> M('!A<G-I;F<@:6YP=70@6$U,(&9I;&4Z("(@*R!F:6QE*3L-"@D)"7-E+G!R
>> M:6YT4W1A8VM4<F%C92@I.PT*"0D)<F5T=7)N(&9A;'-E.PT*"0E]#0H)"6-A
>> M=&-H*$9I;&5.;W1&;W5N9$5X8V5P=&EO;B!F*2![#0H ) "0E3>7-T96TN;W5T
>> M+G!R:6YT;&XH(D5R<F]R.B!&:6QE(&ES(&YO="!F;W5N9 "(I.PT*"0D)<F5T
>> M=7)N(&9A;'-E.PT*"0E]#0H)"6-A=&-H*$E/17AC97!T:6]N(&EO92D@ >PT*
>> M"0D)4WES=&5M+F]U="YP<FEN=&QN*")#86YN;W0@<F5A9"!F:6QE+B(I.PT*
>> M"0D)<F5T=7)N(&9A;'-E.PT*"0E]#0H)"7)E='5R;B!T<G5E.PT* "7T@+R@
>> M+2T@96YD(&]F(&-H96-K1F]R5V5L;$9O<FUE9&YE<W,-"@T*(" @("J*@T*
>> M(" @(" J($EN:F5C="!I;G!U="!834P@9FEL92!T;R!834P@;6]D96P@*&EN
>> M<W1A;F-E(&]F(%A-3"!M971A;6]D96P@+2!-3T8@,2XT*0T*(" @(" J($YO
>> M=&4Z(&EF('EO=2!W86YT('1O('5S92!%348L(&IU<W0@8VAA;F=E("=M9')A
>> M;6@G('1O("=E;69A;6@G(&%N9" G>&UL3412;6TG('1O("=X;6Q%349M;2<-
>> M"B @(" @*B @(" @("!I;B!T:&ES(&UE=&AO9"P@86YD(&%L<V@:6X@;W1H
>> M97(@;65T:&]D<R!I9B!N965D960N#0H@(" @("H@0'!A<F%M(&9I;&4@;F%M
>> M92!O9B!F:6QE(&9R;VT@=VAI8V@@6$U,(&UO9&5L('=I;&P@8F4>@8W)E871E
>> M9 T*(" @(" J($!R971U<FX@8W)E871E9"!834P@;6]D96P@9G)O;2!I;G!U
>> M="!F:6QE#0H@(" @("HO#0H)<'5B;&EC($%334UO9&5L(&EN:F5C=%A-3$UO
>> M9&5L1G)O;49I;&4H4W1R:6YG(&9I;&4I('L-"@D):6YI=$U$4B@I.R O+R!I
>> M9B!-1%(@:7,@;F]T(&EN:71I86QI>F5D+"!D;R!I="!N;W<@(0T*#0H) "4%3
>> M34UO9&5L(')E=" ](&UD<F%M:"YN97=-;V1E;"@B24XB+"!X;6Q-1%)M;2D[
>> M("O(&-R96%T92!N97<@;W5T<'5T(&UO9&5L('=I=&@@6$U,(&UE=&%M;V1E
>> M;" H34]&+3$N-"D-"@T*"0E834Q);FIE8W1O<B!X;6QI(#T@;F5W(%A-3$EN
>> M:F5C=&]R*"D[("O(&-R96%T92!834P@:6YJ96-T;W(-"@T*"0E-87 @<&%R
>> M86UE=&5R<R ]($-O;&QE8W1I;VYS+D5-4%197TU!4#L@+R@;F@<&%R86UE
>> M=&5R<PT*#0H)"4EN<'5T4W1R96%M(&EN(#T@;G5L;#L-"@T* "0ET<GD@>PT*
>> M"0D):6X@/2!N97<@1FEL94EN<'5T4W1R96%M*&9I;&4I.PT*#0H) "0EX;6QI
>> M+FEN:F5C="AR970L(&EN+"!P87)A;65T97)S*3L@+R@1&@:6YJ96-T:6]N
>> M("$-"@T*" 0E](&-A=&-H*$9I;&5.;W1&;W5N9$5X8V5P=&EO; B!F*2![#0H)
>> M"0E3>7-T96TN;W5T+G!R:6YT;&XH(D5R<F]R.B!&:6QE(&ES(&YO= "!F;W5N
>> M9"(I.PT*"0E](&-A=&-H*$E/17AC97!T:6]N(&EO*2![#0H) "0E3>7-T96TN
>> M;W5T+G!R:6YT;&XH(D5R<F]R.B!I;B!I;FIE8W1I;VX@;V8@6$U,(&9I;&4B
>> M*3L-"@D)?0T*#0H)"7)E='5R;B!R970[#0H)?2 O+R M+2!E;F0@;V8@:6YJ
>> M96-T6$U,36]D96Q&<F]M1FEL90T*#0H@(" @+RHJ#0H@(" @("H@0V]N=F5R
>> M="!I;G!U="!3=')I;F<@=VAI8V@@8V]N=&%I;G,@6$U,(&-O9&4@=&@6$U,
>> M(&UO9&5L("AI;G-T86YC92!O9B!834P@;65T86UO9&5L("T@34]&(#$N-"D-
>> M"B @(" @*B! <&%R86T@:6YP=713=')I;F<@4W1R:6YG('=H:6-H(&-O;G1A
>> M:6YS(%A-3 T*(" @(" J($!R971U<FX@8W)E871E9"!834P@;6]D96P@9G)O
>> M;2!I;B!834P@8V]D90T*(" @(" J+PT*"7!U8FQI8R!!4TU-;V1E;"!I;FIE
>> M8W1834Q-;V1E;$9R;VU3=')I;F<H4W1R:6YG(&EN<'5T4W1R:6YG*2![#0H)
>> M"6EN:71-1%(H*3L@+R@:68@3412(&ES(&YO="!I;FET:6%L:7IE9"P@9&@
>> M:70@;F]W("$-"@T*"0DO+R!'970@8GET97,@9G)O;2!I;G!U="!3=')I;F<-
>> M"@D)8GET92!C=7)R96YT6$U,0GET97-;72 ](&EN<'5T4W1R:6YG+F=E=$)Y
>> M=&5S*"D[#0H-"@D)26YP=713=')E86T@:6X@/2!N97<@0GET94%R <F%Y26YP
>> M=713=')E86TH8W5R<F5N=%A-3$)Y=&5S*3L-"@T*"0E!4TU-;V1E; "!R970@
>> M/2!M9')A;6@N;F5W36]D96PH(DE.(BP@>&UL3412;6TI.R O+R!C<F5A=&4@
>> M;F5W(&]U='!U="!M;V1E;"!W:71H(%A-3"!M971A;6]D96P@*$U/1BTQ+C0I
>> M#0H-"@D)6$U,26YJ96-T;W(@>&UL:2 ](&YE=R!834Q);FIE8W1O<B@I.R O
>> M+R!C<F5A=&4@6$U,(&EN:F5C=&]R#0H-"@D)36%P('!A<F%M971E<G,@/2!#
>> M;VQL96-T:6]N<RY%35!465]-05 [("O(&YO('!A<F%M971E<G,-"@T*"0ET
>> M<GD@>PT*"0D)>&UL:2YI;FIE8W0H<F5T+"!I;BP@<&%R86UE=&5R <RD[("O
>> M($1O(&EN:F5C=&EO;B A#0H)"7T@8V%T8V@H24]%>&-E<'1I;VX@:6I>PT*
>> M"0D):6N<')I;G13=&%C:U1R86-E*"D[#0H)"7T-"@T*"0ER971U <FX@<F5T
>> M.PT*"7T@+R@+2T@96YD(&]F(&EN:F5C=%A-3$UO9&5L1G)O;49I;&4-"@T*
>> M(" @("J*@T*(" @(" J($5X=')A8W0@:6YP=70@6$U,(&UO9&5L("AI;G-T
>> M86YC92!O9B!834P@;65T86UO9&5L("T@34]&(#$N-"D@=&@6$U,(&9I;&4-
>> M"B @(" @*B! <&%R86T@;6]D96P@:6YP=70@6$U,(&UO9&5L('=H:6-H('=I
>> M;&P@8F4>@97AT<F%C=&5D('1O(%A-3"!F:6QE#0H@(" @("H@0'!A<F%M(&9I
>> M;&4@;W5T<'5T(%A-3"!F:6QE(&EN('=H:6-H(&EN<'5T(%A-3 "!M;V1E;"!W
>> M:6QL(&)E(&5X=')A8W1E9 T*(" @(" J+PT*"7!U8FQI8R!V;VED(&5X=')A
>> M8W1834Q-;V1E;%1O1FEL92A!4TU-;V1E;"!M;V1E;"P@4W1R:6YG(&9I;&4I
>> M('L-"@D):6YI=$U$4B@I.PT*#0H)"4]U='!U=%-T<F5A;2!O=70@/2!N=6QL
>> M.PT*#0H)"4UA<"!P87)A;65T97)S(#T@0V]L;&5C=&EO;G,N14U05%E?34%0
>> M.PT*#0H)"5A-3$5X=')A8W1O<B!X;6QE(#T@;F5W(%A-3$5X=')A8W1O<B@I
>> M.PT*#0H)"71R>2![#0H)"0EO=70@/2!N97<@1FEL94]U='!U=%-T<F5A;2AF
>> M:6QE*3L-"@T*"0D)>&UL92YE>'1R86-T*&UO9&5L+"!O=70L('!A <F%M971E
>> M<G,I.R O+R!$;R!E>'1R86-T:6]N("$-"@T*"0D);W5T+F9L=7-H*"D[(&]U
>> M="YC;&]S92@I.R O+R!C;&]S92!S=')E86T-"@D)?2!C871C:"A&:6QE3F]T
>> M1F]U;F1%>&-E<'1I;VX@9BD@>PT*"0D)4WES=&5M+F]U="YP<FEN=&QN*")%
>> M<G)O<CH@1FEL92!I<R!N;W0@9F]U;F0B*3L-"@D)?2!C871C:"A)3T5X8V5P
>> M=&EO;B!I;RD@>PT*"0D)4WES=&5M+F]U="YP<FEN=&QN* ")%<G)O<CH@:6X@
>> M97AT< F%C=&EO;B!O9B!834P@;6]D96P@=&@6$U,(&9I;&4B*3 L- "@D)?0T*
>> M"7T@+R@+2T@96YD(&]F(&5X=')A8W1834Q-;V1E;%1O1FEL90T*#0H@(" @
>> M+RHJ#0H@(" @("H@17AT<F%C="!I;G!U="!834P@;6]D96P@*&EN<W1A;F-E
>> M(&]F(%A-3"!M971A;6]D96P@+2!-3T8@,2XT*2!T;R!3=')I;F<-"B @(" @
>> M*B! <&%R86T@;6]D96P@:6YP=70@6$U,(&UO9&5L('=H:6-H('=I;&P@8F4@
>> M97AT<F%C=&5D('1O(%A-3"!F:6QE#0H@(" @("H@0')E='5R;B!I;G!U="!M
>> M;V1E;"!R971U<FYE9"!A<R!3=')I;F<-"B @(" @*B-"@EP=6)L:6,@4W1R
>> M:6YG(&5X=')A8W1834Q-;V1E;%1O4W1R:6YG*$%334UO9&5L(&a mp;UO9&5L*2![
>> M#0H)"6EN:71-1%(H*3L-"@T*"0E/=71P=713=')E86T@;W5T(#T@;G5L;#L@
>> M4W1R:6YG(')E=" ](&YU;&P[#0H-"@D)36%P('!A<F%M971E<G,@/2!#;VQL
>> M96-T:6]N<RY%35!465]-05 [#0H-"@D)6$U,17AT<F%C=&]R('AM;&4@/2!N
>> M97<@6$U,17AT<F%C=&]R*"D[#0H-"@D)=')Y('L-"@D)"6]U= " ](&YE=R!"
>> M>71E07)R87E/=71P=713=')E86TH*3L-"@T*"0D)>&UL92YE>'1R86-T*&UO
>> M9&5L+"!O=70L('!A<F%M971E<G,I.R O+R!$;R!E>'1R86-T:6]N("$-"@T*
>> M"0D)<F5T(#T@;W5T+G1O4W1R:6YG*"D[#0H-"@D)"6]U="YF;'5S: "@I.R!O
>> M=70N8VQO<V4H*3L@+R@8VQO<V4@<W1R96%M#0H)"7T@8V%T8V@H1FEL94YO
>> M=$9O=6YD17AC97!T:6]N(&8I('L-"@D)"5-Y<W1E;2YO=70N<')I;G1L;B@B
>> M17)R;W(Z($9I;&4@:7,@;F]T(&9O=6YD(BD[#0H)"7T@8V%T8V@H24]%>&-E
>> M<'1I;VX@:6I('L-"@D)"5-Y<W1E;2YO=70N<')I;G1L;B@B17)R;W(Z(&EN
>> M(&5X=')A8W1I;VX@;V8@6$U,(&UO9&5L('1O(%A-3"!F:6QE(BD[#0H)"7T-
>> M"@D)<F5T=7)N(')E=#L-"@E]("O("TM(&5N9"!O9B!E>'1R86-T6$U,36]D
>> M96Q4;T9I;&4-"@T*"2O+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO
>> M+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO
>> M+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+R-"@DO+R!!;B!E>&%M
>> M<&QE($5"3D8@:6YJ96-T+V5X=')A8W0@;65T:&]D<R!F;W(@ <V]M92!-32!M
>> M971A;6]D96P@*'1H:7,@<VAO=6QD(&)E(&-H86YG960@9F]R(&5V97)Y(&UE
>> M=&%M;V1E;"D-"@DO+R!.;W1E.B!Y;W4@<VAO=6QD(&AA=F4@9V5N97)A=&5D
>> M($U-+65B;F9I;FIE8W1O<BYJ87(@86YD('!U='1E9 T*"2O(" @(" @(&EN
>> M(&EN=&@8VQA<W-P871H('=I=&@@;W1H97(@;&EB<PT* "2O+RO+RO+RO
>> M+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO
>> M+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO+RO
>> M+RO+RO+R-"@T*"2J*@T*(" @(" J($5X=')A8W0@:6YP=70@34T@;6]D
>> M96P@*&EN<W1A;F-E(&]F('-O;64@34T@;65T86UO9&5L("T@34]&(#$N-"D@
>> M=&@1FEL90T*"2 J($!P87)A;2!-34UO9&5L(&EN<'5T($U-(&UO9&5L('=H
>> M:6-H('=I;&P@8F4>@97AT<F%C=&5D('1O($9I;&4-"@D@*B! <&%R86T@9FEL
>> M92!P871H('1O('1H92!F:6QE(&EN('=H:6-H('=I;&P@8F4>@97AT<F%C=&5D
>> M(&EN<'5T($U-(&UO9&5L#0H)("HO#0H@(" @<'5B;&EC('9O:60@<V%V94U-
>> M36]D96Q4;T9I;&4H05--36]D96P@34U-;V1E;"P@4W1R:6YG(&9I;&4I('L-
>> M"@D):6YI=$U$4B@I.PT*#0H)"4]U='!U=%-T<F5A;2!O=70@/2!N=6QL.PT*
>> M#0H)"45X=')A8W1O<B!E>'0@/2!N97<@14).1D5X=')A8W1O<B@I.PT*"0E-
>> M87 @<&%R86US(#T@;F5W($AA<VA-87 H*3L-"@D)<&%R86US+G!U="@B9F]R
>> M;6%T(BP@3412365T84UO9&5L<RYG970H(DU-+51#4R(I*3L-"@D)<&%R86US
>> M+G!U="@B:6YD96YT4W1R:6YG(BP@(EQT(BD[#0H-"@D)=')Y('L-"@D) "6]U
>> M=" ](&YE=R!&:6QE3W5T<'5T4W1R96%M*&9I;&4I.PT*"0D)97AT+F5X=')A
>> M8W0H34U-;V1E;"P@;W5T+"!P87)A;7,I.R O+R!D;R!I="$-"@T*"0E](&-A
>> M=&-H*$5X8V5P=&EO;B!E*2![#0H)"0EE+G!R:6YT4W1A8VM4<F%C92@I.PT*
>> M"0E]#0H)?2 O+R M+2!E;F0@;V8@<V%V94U-36]D96Q4;T9I;&4-"@T*"2J
>> M*@T*"2 J($1E<V5R:6%L:7IE<R!A($U-(&UO9&5L(&9R;VT@82!&:6QE+B H
>> M=V]R:W,@=VET:"!-1%(L(&)U="!I9B!I="!I<R!N965D960L(&IU <W0@8VAA
>> M;F=E('1O($5-1BD-"@D@*B! <&%R86T@9FEL92!I<R!T:&4@34T>@9FEL92X-
>> M"@D@*B! <F5T=7)N('1H92!-32!M;V1E;"!T:&%T(&ES(&EN:F5C=&5D(&9R
>> M;VT@:6YP=70@34T>@8V]D92X-"@D@*B-"@D@<'5B;&EC($%334UO9&5L(&=E
>> M=$U-1G)O;49I;&4H4W1R:6YG(&9I;&4I('L-"@D):6YI=$U$4B@I.R O+R!I
>> M9B!-1%(@*&%N9"!%348I(&ES(&YO="!I;FET:6%L:7IE9 "P@9&@:70@;F]W
>> M("$-"@T*"0E!4TU-;V1E;"!R970@/2!M9')A;6@N;F5W36]D96PH(DE.(BP@
>> M;VYE34U?3412*3L@+R@8W)E871E(&YE=R!O=71P=70@;6]D96P@=VET:"!/
>> M;F5-32 H;W(@<V]M92!Y;W5R($U-*2!M971A;6]D96P-"@T*"0DO+T5"3D9)
>> M;FIE8W1O<C(@96)N9FD@/2!N97<@14).1DEN:F5C=&]R,B@I.PT*"0E);G!U
>> M=%-T<F5A;2!I;B ](&YU;&P[#0H-"@D)=')Y('L-"@D)"6EN(#T@;F5W($9I
>> M;&5);G!U=%-T<F5A;2AF:6QE*3L-"@T*"0D)+R]#;&%S<R!L97AE <B ]($U-
>> M3&5X97(N8VQA<W,[("O(%1H:7,@87)E('EO=7(@9V5N97)A=&5D(&-L87-S
>> M97,-"@D)"2O0VQA<W,@<&%R<V5R(#T@34U087)S97(N8VQA<W,[#0H-"@D)
>> M"2O96)N9FDN<&5R9F]R;4EM<&]R=&%T:6]N*&]N94U-7TU$4BP@ <F5T+"!I
>> M;BP@(DU-(BP@;&5X97(L('!A<G-E<BD[#0H-"@D)"6EN+F-L;W-E* "D[#0H-
>> M"@D)"7T@8V%T8V@H1FEL94YO=$9O=6YD17AC97!T:6]N(&8I('L-"@D)"0E3
>> M>7-T96TN;W5T+G!R:6YT;&XH(D5R<F]R.B!&:6QE(&ES(&YO= "!F;W5N9"(I
>> M.PT*"0D)?2!C871C:"A)3T5X8V5P=&EO;B!I;RD@>PT*"0D)"5-Y <W1E;2YO
>> M=70N<')I;G1L;B@B17)R;W(Z(&EN(&EN:F5C=&EO;B!O9B!-32!F:6QE(BD[
>> M#0H)"0E](&-A=&-H*$5X8V5P=&EO;B!E*2![#0H)"0D)92YP <FEN=%-T86-K
>> M5')A8V4H*3L-"@D)"7T-"@T*"0D)+R@5$]$3SH@0VAE8VL>@9F]R('!R;V)L
>> M96US('=I=&@Z(&EN="!N8E!B<R ](&UA<FME<DUA:V5R+F%P<&QY36%R:V5R
>> M<RAF:6QE+"!P8G,I.R N+BX-"@T*"0D)<F5T=7)N(')E=#L-"@E]("O("TM
>> M(&5N9"!O9B!G971-349R;VU&:6QE#0H-"B @("J*@T*(" @(" J($QA=6YC
>> M:"!!5$P@=')A;G-F;W)M871I;VX-"B @(" @*B! <&%R86T@;6]D96Q(86YD
>> M;&5R(&UO9&5L(&AA;F1L97(@=VAI8V@@:7,@=7-E9"!F;W(@8W)E871I;F <@
>> M;W5T<'5T(&UO9&5L#0H@(" @("H@0'!A<F%M('1R86YS9F]R;6%T:6]N(%52
>> M3"!T;R!C;VUP:6QE9"!!5$P@=')A;G-F;W)M871I;VX-"B @(" @*B! <&%R
>> M86T@:6YP=71-;V1E;"!I;G!U="!M;V1E;"!F;W(@=')A;G-F;W)M871I;VX-
>> M"B @(" @*B! <&%R86T@:6YP=71-971A;6]D96P@:6YP=70@;65T86UO9&5L
>> M(&9O<B!T<F%N<V9O<FUA=&EO;@T*(" @(" J($!P87)A;2!O=71P=71-971A
>> M;6]D96P@;W5T<'5T(&UE=&%M;V1E;"!F;W(@=')A;G-F;W)M871I;VX- "B @
>> M(" @*B! <&%R86T@:6Y087)A;7,@861D:71I;VYA;"!P87)A;65T97)S(&9O
>> M<B!T<F%N<V9O<FUA=&EO;@T*(" @(" J($!P87)A;2!I;DQI8G,@861D:71I
>> M;VYA;"!L:6)R87)I97,@9F]R('1R86YS9F]R;6%T:6]N#0H@(" @("HO#0H)
>> M< '5B;&EC($%334UO9&5L(')U;D%43%1R86YS9F]R;6%T:6]N*$%T; $UO9&5L
>> M2&%N9&QE<B!M;V1E;$AA;F1L97(L(%523"!T<F%N<V9O<FUA=&EO;BP@05--
>> M36]D96P@:6YP=71-;V1E;"P-"@D)"0D)"0D)"2 @(" @05--36]D96P@:6YP
>> M=71-971A;6]D96PL($%334UO9&5L(&]U='!U=$UE=&%M;V1 E; "P@36%P(&EN
>> M4&%R86US+"!-87 @:6Y,:6)S*2![#0H)"6EN:71-1%(H*3L@+R@26YI=&EA
>> M;&EZ92!-1%(@;6]D96P@:&%N9&QE<@T*#0H)"4%334UO9&5L(')E= " ](&YU
>> M;&P[("O(')E='5R;B!M;V1E; T*#0H)"2O(%-E="!L875N8V@@8V]N9FEG
>> M=7)A=&EO;@T*"0E-87 @;6]D96QS(#T@;F5W($AA<VA-87 H*3L-"@D);6]D
>> M96QS+G!U="AI;G!U=$UE=&%M;V1E;"YG971.86UE*"DL(&EN <'5T365T86UO
>> M9&5L*3L@+R@:6YP=70@;65T86UO9&5L#0H)"6UO9&5L<RYP=70H;W5T <'5T
>> M365T86UO9&5L+F=E=$YA;64H*2P@;W5T<'5T365T86UO9&5L*3L@+R@;W5T
>> M<'5T(&UE=&%M;V1E; T*"0EM;V1E;',N<'5T*"))3B(L(&EN<'5T36]D96PI
>> M.R O+R!I;G!U="!M;V1E; T*"0ER970@/2!M;V1E;$AA;F1L97(N;F5W36]D
>> M96PH(D]55"(L(&]U='!U=$UE=&%M;V1E;"D[("O(&]U='!U= "!M;V1E; T*
>> M"0EM;V1E;',N<'5T*")/550B+"!R970I.PT*#0H)"4UA<"!P87)A;7,@/2!I
>> M;E!A<F%M<SL@+R@4&%R86UE=&5R<PT*"0E-87 @;&EB<R ](&EN3&EB<SL@
>> M"2 @("O($QI8G)A<FEE<PT*#0H)"2O($QA=6YC:"!!5$P@=')A;G-F;W)M
>> M871I;VX-"@D)071L3&%U;F-H97(N9V5T1&5F875L="@I+FQA=6YC: "AT<F%N
>> M<V9O<FUA=&EO;BP@;&EB<RP@;6]D96QS+"!P87)A;7,I.PT*#0H) "7)E='5R
>> M;B!R970[#0H)?2 O+R M+2!E;F0@;V8@<G5N051,5')A;G-F;W)M871I;VX-
>> M"@T*(" @("J*@T*(" @(" J($QO860@;6]D96P@9G)O;2!F:6QE("A834DI
>> M(&%S($U/1BTQ+C0-"B @(" @*B! <&%R86T@9FEL92!N86UE(&]F(&9I;&4@
>> M=VAI8V@@8V]N=&%I;G1S(&EN<'5T(&UO9&5L#0H@(" @("H@0'!A<F%M(&EN
>> M<'5T365T86UO9&5L(&EN<'5T(&UE=&%M;V1E;" H87,@4W1R:6YG*0T*(" @
>> M(" J($!R971U<FX@;6]D96P@=VAI8V@@:7,@8V]N<W1R=6-T960@9G)O;2!I
>> M;G!U="!F:6QE#0H@(" @("HO#0H)<'5B;&EC($%334UO9&5L(&QO861-1%)-
>> M;V1E;$9R;VU&:6QE*%-T<FEN9R!F:6QE+"!3=')I;F<@:6YP=71-971A;6]D
>> M96PI('L-"@D)+R@26YI=&EA;&EZ92!-1%(-"@D):6YI=$U$4B@I.PT*#0H)
>> M"2O($=E="!M971A;6]D96P@9G)O;2!M87 -"@D)05--36]D96P@;65T86UO
>> M9&5L(#T@*$%334UO9&5L*4U$4DUE=&%-;V1E;',N9V5T*&a mp;EN <'5T365T86UO
>> M9&5L*3L-"@T*"0E);G!U=%-T<F5A;2!I;B ](&YU;&P[#0H-"@D)=')Y('L-
>> M"@D)"2O($-R96%T92!I;G!U="!S=')E86T@9G)O;2!F:6QE#0H)"0EI;B ]
>> M(&YE=R!&:6QE26YP=713=')E86TH9FEL92D[#0H-"@D)?2!C871C: "A&:6QE
>> M3F]T1F]U;F1%>&-E<'1I;
  • Attachment: ATLTransformations.zip
    (Size: 5.55KB, Downloaded 121 times)
  • Re: [ATL] Launch a transformation from a java application [message #53989 is a reply to message #53957] Fri, 20 July 2007 11:35 Go to previous messageGo to next message
    Eclipse UserFriend
    Originally posted by: milan.milanovic.org

    Hi,

    no, I cannot download anything. I only see a bunch of text like this:

    Re: [ATL] Launch a transformation from a java application [message #53997 is a reply to message #53989] Fri, 20 July 2007 11:38 Go to previous messageGo to next message
    Eclipse UserFriend
    Originally posted by: atl_apprentice.yahoo.com

    Actually.. I see my own attachment in your post..
    I'm using outlook express to read this group, and it shows
    ATLTransformations.zip as an attachment to your last post.

    You know what, I'll try to e-mail the zip file to you e-mail address.


    "Milan Milanovic" <milan@milanovic.org> schreef in bericht
    news:0669622994deeabcff60be25d3d93aaa$1@www.eclipse.org...
    > Hi,
    >
    > no, I cannot download anything. I only see a bunch of text like this:
    >
    >
    Re: [ATL] Launch a transformation from a java application [message #54003 is a reply to message #53997] Fri, 20 July 2007 11:45 Go to previous messageGo to next message
    Eclipse UserFriend
    Originally posted by: milan.milanovic.org

    Hi,

    I managed to download it with Outlook. I'm using web interface for this
    list, and it seems that it doesn't support attachments.

    --
    Regards, Milan Milanovic

    ATL_Apprentice wrote:

    > Actually.. I see my own attachment in your post..
    > I'm using outlook express to read this group, and it shows
    > ATLTransformations.zip as an attachment to your last post.

    > You know what, I'll try to e-mail the zip file to you e-mail address.


    > "Milan Milanovic" <milan@milanovic.org> schreef in bericht
    > news:0669622994deeabcff60be25d3d93aaa$1@www.eclipse.org...
    >> Hi,
    >>
    >> no, I cannot download anything. I only see a bunch of text like this:
    >>
    >>
    Re: [ATL] Launch a transformation from a java application [message #54011 is a reply to message #54003] Fri, 20 July 2007 11:55 Go to previous messageGo to next message
    Eclipse UserFriend
    Originally posted by: milan.milanovic.org

    Hi,

    first, you should change OneMM (which is acutally just template name) to
    name of your metamodel. This is related to name of metamodel in your
    transformation,
    for example:

    you should have here: mdramh.loadModel("UML", mdramh.getMof(),
    onemmurl.openStream());

    if UML is your metamodel in transformation.

    You should check before this line if mdramh is initialized, for example
    ask:
    if(mdramh == null)

    and you should also check do you have open stream with your .asm
    transformation:

    onemmurl.openStream() is this null.

    --
    Regards, Milan Milanovic

    Milan Milanovic wrote:

    > Hi,

    > I managed to download it with Outlook. I'm using web interface for this
    > list, and it seems that it doesn't support attachments.

    > --
    > Regards, Milan Milanovic

    > ATL_Apprentice wrote:

    >> Actually.. I see my own attachment in your post..
    >> I'm using outlook express to read this group, and it shows
    >> ATLTransformations.zip as an attachment to your last post.

    >> You know what, I'll try to e-mail the zip file to you e-mail address.


    >> "Milan Milanovic" <milan@milanovic.org> schreef in bericht
    >> news:0669622994deeabcff60be25d3d93aaa$1@www.eclipse.org...
    >>> Hi,
    >>>
    >>> no, I cannot download anything. I only see a bunch of text like this:
    >>>
    >>>
    Re: [ATL] Launch a transformation from a java application [message #54030 is a reply to message #54011] Fri, 20 July 2007 14:10 Go to previous messageGo to next message
    Eclipse UserFriend
    Originally posted by: atl_apprentice.yahoo.com

    Ok, I didn't know it really mattered.
    I thought OneMM was just a name to identify the input metamodel.

    I'll modify the ATLTransformations.java again and I will let you know if it
    works.

    Regards


    "Milan Milanovic" <milan@milanovic.org> schreef in bericht
    news:ea4704d8c8bc26cbeb8f2d1205a1431e$1@www.eclipse.org...
    > Hi,
    >
    > first, you should change OneMM (which is acutally just template name) to
    > name of your metamodel. This is related to name of metamodel in your
    > transformation,
    > for example:
    >
    > you should have here: mdramh.loadModel("UML", mdramh.getMof(),
    > onemmurl.openStream());
    > if UML is your metamodel in transformation.
    >
    > You should check before this line if mdramh is initialized, for example
    > ask:
    > if(mdramh == null)
    >
    > and you should also check do you have open stream with your .asm
    > transformation:
    >
    > onemmurl.openStream() is this null.
    >
    > --
    > Regards, Milan Milanovic
    >
    > Milan Milanovic wrote:
    >
    >> Hi,
    >
    >> I managed to download it with Outlook. I'm using web interface for this
    >> list, and it seems that it doesn't support attachments.
    >
    >> --
    >> Regards, Milan Milanovic
    >
    >> ATL_Apprentice wrote:
    >
    >>> Actually.. I see my own attachment in your post..
    >>> I'm using outlook express to read this group, and it shows
    >>> ATLTransformations.zip as an attachment to your last post.
    >
    >>> You know what, I'll try to e-mail the zip file to you e-mail address.
    >
    >
    >>> "Milan Milanovic" <milan@milanovic.org> schreef in bericht
    >>> news:0669622994deeabcff60be25d3d93aaa$1@www.eclipse.org...
    >>>> Hi,
    >>>>
    >>>> no, I cannot download anything. I only see a bunch of text like this:
    >>>>
    >>>>
    >
    >
    Re: [ATL] Launch a transformation from a java application [message #54217 is a reply to message #54011] Sun, 22 July 2007 23:09 Go to previous messageGo to next message
    Eclipse UserFriend
    Originally posted by: atl_apprentice.yahoo.com

    Hi,

    I started checking whether every line does what it's supposed to do.

    I found a problem.

    What used to be this line:
    URL onemmurl =
    ATLTransformations.class.getResource(transformationsMetamode ls +
    "oneMM/oneMM.xmi");

    I changed to:
    URL umlurl = ATLTransformations.class.getResource(transformationsMetamode ls
    + "UML.xmi");

    In the java API I found that getResource returns null if the resource can't
    be found

    So I added a few lines:
    if(umlurl==null){
    System.out.println("url = null");
    System.exit(0);
    }

    When I run the application it prints url=null
    I double checked the file name and the folder name it is in and it is
    correct.
    How can that happen?


    "Milan Milanovic" <milan@milanovic.org> schreef in bericht
    news:ea4704d8c8bc26cbeb8f2d1205a1431e$1@www.eclipse.org...
    > Hi,
    >
    > first, you should change OneMM (which is acutally just template name) to
    > name of your metamodel. This is related to name of metamodel in your
    > transformation,
    > for example:
    >
    > you should have here: mdramh.loadModel("UML", mdramh.getMof(),
    > onemmurl.openStream());
    > if UML is your metamodel in transformation.
    >
    > You should check before this line if mdramh is initialized, for example
    > ask:
    > if(mdramh == null)
    >
    > and you should also check do you have open stream with your .asm
    > transformation:
    >
    > onemmurl.openStream() is this null.
    >
    > --
    > Regards, Milan Milanovic
    >
    > Milan Milanovic wrote:
    >
    >> Hi,
    >
    >> I managed to download it with Outlook. I'm using web interface for this
    >> list, and it seems that it doesn't support attachments.
    >
    >> --
    >> Regards, Milan Milanovic
    >
    >> ATL_Apprentice wrote:
    >
    >>> Actually.. I see my own attachment in your post..
    >>> I'm using outlook express to read this group, and it shows
    >>> ATLTransformations.zip as an attachment to your last post.
    >
    >>> You know what, I'll try to e-mail the zip file to you e-mail address.
    >
    >
    >>> "Milan Milanovic" <milan@milanovic.org> schreef in bericht
    >>> news:0669622994deeabcff60be25d3d93aaa$1@www.eclipse.org...
    >>>> Hi,
    >>>>
    >>>> no, I cannot download anything. I only see a bunch of text like this:
    >>>>
    >>>>
    >
    >
    Re: [ATL] Launch a transformation from a java application [message #54377 is a reply to message #54217] Mon, 23 July 2007 10:13 Go to previous messageGo to next message
    Eclipse UserFriend
    Originally posted by: milan.milanovic.org

    Hi,
    ATL_Apprentice wro
    te:

    > Hi,

    > I started checking whether every line does what it's supposed to do.

    > I found a problem.

    > What used to be this line:
    > URL onemmurl =
    > ATLTransformations.class.getResource(transformationsMetamode ls +
    > "oneMM/oneMM.xmi");

    > I changed to:
    > URL umlurl = ATLTransformations.class.getResource(transformationsMetamode ls
    > + "UML.xmi");

    > In the java API I found that getResource returns null if the resource can't
    > be found

    > So I added a few lines:
    > if(umlurl==null){
    > System.out.println("url = null");
    > System.exit(0);
    > }

    > When I run the application it prints url=null
    > I double checked the file name and the folder name it is in and it is
    > correct.
    > How can that happen?

    Probably this path to your metamodel is not correct.

    --
    Regards, Milan Milanovic

    > "Milan Milanovic" <milan@milanovic.org> schreef in bericht
    > news:ea4704d8c8bc26cbeb8f2d1205a1431e$1@www.eclipse.org...
    >> Hi,
    >>
    >> first, you should change OneMM (which is acutally just template name) to
    >> name of your metamodel. This is related to name of metamodel in your
    >> transformation,
    >> for example:
    >>
    >> you should have here: mdramh.loadModel("UML", mdramh.getMof(),
    >> onemmurl.openStream());
    >> if UML is your metamodel in transformation.
    >>
    >> You should check before this line if mdramh is initialized, for example
    >> ask:
    >> if(mdramh == null)
    >>
    >> and you should also check do you have open stream with your .asm
    >> transformation:
    >>
    >> onemmurl.openStream() is this null.
    >>
    >> --
    >> Regards, Milan Milanovic
    >>
    >> Milan Milanovic wrote:
    >>
    >>> Hi,
    >>
    >>> I managed to download it with Outlook. I'm using web interface for this
    >>> list, and it seems that it doesn't support attachments.
    >>
    >>> --
    >>> Regards, Milan Milanovic
    >>
    >>> ATL_Apprentice wrote:
    >>
    >>>> Actually.. I see my own attachment in your post..
    >>>> I'm using outlook express to read this group, and it shows
    >>>> ATLTransformations.zip as an attachment to your last post.
    >>
    >>>> You know what, I'll try to e-mail the zip file to you e-mail address.
    >>
    >>
    >>>> "Milan Milanovic" <milan@milanovic.org> schreef in bericht
    >>>> news:0669622994deeabcff60be25d3d93aaa$1@www.eclipse.org...
    >>>>> Hi,
    >>>>>
    >>>>> no, I cannot download anything. I only see a bunch of text like this:
    >>>>>
    >>>>>
    >>
    >>
    Re: [ATL] Launch a transformation from a java application [message #54513 is a reply to message #54377] Mon, 23 July 2007 23:23 Go to previous messageGo to next message
    Eclipse UserFriend
    Originally posted by: atl_apprentice.yahoo.com

    > Probably this path to your metamodel is not correct.

    Actually, I double checked the path and it is correct.

    I replaced this line:

    URL umlurl = ATLTransformations.class.getResource(transformationsMetamode ls
    + "UML.xmi");

    with:

    URL umlurl = new
    URL("file:/c:/eclipse/workspace/TransApp/metamodel/UML.xmi");

    * the URL is created correctly.
    * the InputStream opens correctly
    * the input file passes the wellformedness check

    Now comes the part where the method injectXMLModelFromFile is invoked.

    On executing this line:
    ASMModel ret = mdramh.newModel("IN", xmlMDRmm);

    the following message appears in the console window:
    [org.netbeans.mdr.Logger] Metamodel specific JMI class
    modelmanagement.ModelManagementPackage not found. Using bytecode generation
    to create it.

    What does this mean?
    How can I solve this?
    Re: [ATL] Launch a transformation from a java application [message #54562 is a reply to message #54513] Tue, 24 July 2007 11:16 Go to previous messageGo to next message
    Eclipse UserFriend
    Originally posted by: milan.milanovic.org

    Hi,

    ATL_Apprentice wrote:

    >> Probably this path to your metamodel is not correct.

    > Actually, I double checked the path and it is correct.

    > I replaced this line:

    > URL umlurl = ATLTransformations.class.getResource(transformationsMetamode ls
    > + "UML.xmi");

    > with:

    > URL umlurl = new
    > URL("file:/c:/eclipse/workspace/TransApp/metamodel/UML.xmi");

    > * the URL is created correctly.
    > * the InputStream opens correctly
    > * the input file passes the wellformedness check

    > Now comes the part where the method injectXMLModelFromFile is invoked.

    > On executing this line:
    > ASMModel ret = mdramh.newModel("IN", xmlMDRmm);

    > the following message appears in the console window:
    > [org.netbeans.mdr.Logger] Metamodel specific JMI class
    > modelmanagement.ModelManagementPackage not found. Using bytecode generation
    > to create it.

    > What does this mean?
    > How can I solve this?

    This mean that MDR model repository is using bytecode to generate this
    package, and this message is O.K.

    --
    Regards, Milan Milanovic
    Re: [ATL] Launch a transformation from a java application [message #55344 is a reply to message #54562] Mon, 30 July 2007 15:06 Go to previous message
    Eclipse UserFriend
    Originally posted by: atl_apprentice.yahoo.com

    Hi,

    Sorry for the late response.
    I was held up by a move and at the moment I'm in the middle of a
    redecoration.

    My problem is not yet solved.
    In a nutshell, this is where I'm stuck:
    On invoking the method xmli.inject(ret, in, parameters) I get a seemingly
    endless list of messages saying that some type does not exist in metamodel
    'XML' and NullPointerExceptions.

    I don't know yet what causes the problem.

    But I didn't have much time to look at the problem myself, so I'll get back
    to it soon.

    Regards
    Previous Topic:resolve duplicate elements of the target model
    Next Topic:[ATL]IllegalStateException: Workspace is closed
    Goto Forum:
      


    Current Time: Sat Apr 20 03:35:29 GMT 2024

    Powered by FUDForum. Page generated in 0.04430 seconds
    .:: Contact :: Home ::.

    Powered by: FUDforum 3.0.2.
    Copyright ©2001-2010 FUDforum Bulletin Board Software

    Back to the top