STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
228139
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2561 · P5122

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/20334942?noj=FRM20334942-19DC" width="1" height="1"></div>

Flash Programing Tutorial.swf

This is the info page for
Flash #38381

(Click the ID number above for more basic data on this flash file.)


Text
Preloader
Loading...

Layout

1 - Newgrounds
2 - Swift 3D
3 - Flash
4 - Code Library

Hotkeys

S - Swift Section
F - Flash Section
M - Main Menu
Right - Forward
Left - Backwards
W - Fast Forwards
Q - Fast rewind

Something about the world

Done

I wrote the following story fairly quickly.  It begins pretty
quickly with a sort of prologue and then goes to the bulk
of the story.

My Fiction

Continue

Mind forever more.

ithin your

You will carry w

Person within my words that

So that I may manifest my

Feyn!  Come forth to me

From this undue suffering to my person

No meaning nor no abstinence swore it

Began to process more fully

It was just something that emerged as a machine

iverse

But there was never anything to this un

Fell imp for its wanton pulls upon my person

I lived life for its most tactile and visceral ploys

Can feel its cold hands touching me

I can see death

The emptiness of this biological form is clear

Ordos:

Back

denied.

must stop myself from movement to threaten such as you must not be

I

could experience.

greatest gift I could give to my brethren, the greatest joy a man of this Earth

in a world of finite matter would be to deny myself the

infinitely

existing

to bring life to this Earth.  To deny a force of life unto this universe by

the forces of which I was conceived, a force that would turn around quickly

disordered element of

a

Upon my death my body would become

upon me.

To deny me death would be the greatest blow the universe could impart

:

Feyn

.

And it is dear to me!

My master is my Aegis from reality;

;

I am a slave to my humanity

I am the subjective consciousness;

I do not seek to find truth;

:

visceral mote

nfines of this

he co

hin t

observe; wit

For I am a biological machine; I

I will be forced to move myself to retaliate

If you do not desist from stillness for one moment more than

Commander:

fact, and for that you will be eternally bested.

-

the

to the Earth, but you will know nothing of your victory after

you can give

everything.  You have acknowledged that your death will be the greatest gift

perception; for as a dead man you will see nothing but will exist as

y wrong in all its

eternally be a computer of flawed perfection, perfectl

this action and you will

Stand nowhere, stand a mind without an eye.  Take

:

Ordos

which is written thus:

that

of

a nature

and would come to bare

This would come to be realized,

passing there was and will never be a universe such that is observed now.

ption.  I was all there ever was and will ever be, and upon my

No perce

consciousness a fear like none felt before.  Darkness of the eyes.  No senses.

battle waiting, would encroach upon the

silence and in the stillness of pre

And then, in

machines of which it so clearly bore.

indifferent from the flesh

e to see man

.  And upon the breaking of the farce one would com

its aegis

was

machine, blooded and lifeless,

engendered by the sight of an angry flesh

meaningless corpses its guise and the blind perverted love of bloodshed

sourceless men and

cloaked masque of the farce

gilded senses wore the

The warped and tainted elements of man and all their self

breed of men.

A farce stood between the reality of death and a whimfully passionate

.

war

and waged for the sake of

a warped and weary man a state of war, fought

ragments of

bring war to the men of Earth.  And thus was wrought upon the f

of the human spirit rose from the ashes of its own destructor to once again

For seven years, the ideologies and the prejudices of a long pacified element

us with good.

reference.  Is man born good, or is it the light of God which fills

indirectly

Hypocrisy, I use the phrase to curse what I

dominion over all challenges?

ines made man supreme ruler, given him

many strengths.  Have these mach

paternal entity of all power, with a face of many promises and a guise of

Great father?  A reference to the

”, thought:

!

“Great father of the lands

emerged from the transport, looked at the sign, shocked.

Feyn

inite.

Man is God.  Knowledge is strength.  Power is inf

port read a sign:

path of the passengers.  At the road at the end of the Heli

port to shallow grass plains for the walking

the metallic surface of the Heli

d in standard procedure

to land at the door of the transport.  They terraforme

nsport, the two drones dropped from suspended positions in the air

of the tra

sentient repair drones.  At the soft and constant automated landing sequence

port flanked on both sides by two

d at the Heli

Three transports lande

Humming faded to full speech in the machine.

deep within.

Feyn entered the abandoned dwelling, heard a faint humming from

nothing, power is infinite, all existence is now in thought.

he physical is

such wasteful opulence as t

uninhabited. It was no burden,

mong one man, many dwellings, most of them

.  A

badlands war campaign

, a gift of Ordos from the

named Ajax

past so that I may receive a gift

desires my presence at his empty dwelling of

Ordos

Feyn thought:

e of the machine.

“As you wish”, went the respons

“Be gone”, spoke Feyn.

should you desire it”

“Power is infinite, desires are in the realm of the arbitrary as desire is reality,

swarmed to his unimportant presence, spoke in the automated monotone

the streets.  Machines

Feyn shook the thought off, continued through

my eyes!

his body, his images to

What an odd perspective of control, my thoughts to

stimulation can be directed by the master through direct neural translation.

and proven method.  Nearly as old as the thinking machine…  The neural

ion and overriding all other neural impulse.  An ancient

most undesirable act

feeding a powerful stimulus, positive to the desired motion, negative to the

human hybrid brain.  Capable of

-

neural stimulator deep within his machine

machine Ajax’s consciousness, controlling him was reduced to a

child

guards on the

e

had been designated as a sentient machine.  With no saf

This thing had been a gift of late from an old friend from the old wars.  It

facial guise of a child.

upon myself, this machine who bares the physical

What have I burdened

he gnomish figure, thought:

Feyn looked at t

breaching the barrier to be both”, spoke Ajax.

.  I am above you and can see all, and hold the key to

beginning and no end

am an animal and a man, a fulcrum.  A wall runs between them with no

e, animal and human, amaranth and monolith, I

“Instinct and perceptiv

thought the machine.

,

agony

as Ordos with a diseased part that must be removed through some sort of

.  His black and white animal perception sees me

an attack, however subtle

When an animal faces attack, it first sees its survival.  There will be

nature.  To entertain?  To enlighten?

my basic

This machine means to test

altered and filtered”, spoke Feyn.  He thought:

and develops a perceptual context of consciousness to which stimulus is

as they are unintelligent and inherently basic.  The complex organism learns

from past generations

The simple rely on the developments on their instinct

“Two methods for two environments, the line is clear and distinct.

fatally quick”, words betraying actions with a great and omnipotent subtlety.

ctive consciousness of evolution… fatally deadly… and

action through colle

pathological context, instinct bypasses perception level analysis and directs

“Humans apply stimulus to a grid of

The machine responded:

Feyn spoke, “What is it to be a perceptive monolithic human”

inite and be unique.

the inf

and the aristocrat was the man with identity who could isolate himself from

where the peasant was the man who was lost in the mazes of gold and glitter

house could be a palace, a new sense of craving for identity had evolved,

carcity.  But as every

Palaces of old had acquired their opulence from their s

on the unique overpowered the infinite streets of opulent gold and silver.

evolution in the architecture of the infinite.  A focus

seemed to be a counter

he streets of abundance and infinite.   There

Feyn moved through t

reclaim the body and destroy the diseased delusion known as Ajax”

upon so that the real agony will be a surprise, one which will bring Ordos to

though.  I will need something that we will transfix all thought and anxiety

ind is strong

His m

He will then be full unto me as an old friend as mine.

that be the model for his design, he will act the way those would have acted.

and should

faced in the wars of old

Ordos and I

challenge similar to that

ide a

s now clear.  The badlands will prov

ultimate victory over this machine i

The path to

so he agrees.

Feyn attempted to hide satisfaction,

“Effective”

Quite clever”

are my perception of Ordos.

You

“Old friend, you have been shaped from the values of my mind.

an would be thwarted.

the pl

agony that would kill his consciousness was an elemental part of ensuring

But knowing the

He would be replaced.

swept over Ajax at an overt level.

yed.  Fear

another, the identity which he was and had created would be destro

him would awaken, while

within

consciousness

instinctive act.  A sleeping

popular drug culture.  He would then see himself as Ordos through the

instinctively fit the role of Ordos who identified himself by refusing the

he agony would force an instinctive response, where he would

and t

Ajax realized it.  Hajj was a hallucigen, but the high was strenuous,

some level”

borders, which we all crave at

ces.  They create challenges and

experien

ambition, chemical highs are the only ways to push the frontier of

t and there is no desire, no

class, no identity… where opulence is abundan

badlands.  Drugs thrive for a reason, my friend.  In a world where there is no

.  I plan to buy Hajj from a dealer at the edge of

interpret this language

and

t designed to hear

battle tongue: “The seekers aren’

d

in the ol

Ajax

spoke to

,

the two men.  He, well being scanned at a distance by the seeker

drone, armed with drug sniffing apparatus, suspended in the air, moved past

Feyn went at a slow pace then stopped and turned around.  A seeker

seeker drones.

s to attack targets identified by the

occasionally deploying hunter drone

parties of massive hunter drone carriers slowly arced over the wall,

sloped downwards.  The stations were manned with seeker drones and

then the badlands, the border stations on the rounded metallic wall gently

elevation

with three border stations.  As the city was of a significantly higher

The metallic wall that divided the city from the badlands was lined

be there in a new form and I will not be alone.

Ordos will

he would have no anxiety, expectation, or resistance.

occur and

anxiety and expectation to a certain time.  Than before that, the agony would

inevitability.  Ajax would expect the agony of the drug and would build the

Feyn saw subtle fear on Ajax’s face.  His fate had been drawn into

Ajax bore a weak attempt to be casual: “That’s good intelligence”

and will get attention from hunters”

rug.  But I will fire off a flare which will bare the heat tag

will detect the d

source associated with it.  When we make our way down the station, seekers

primary weakness, the hunters don’t attack the contraband; they attack a heat

than attack the thermal spot which has been tagged.  Therein lies their

The hunters

source of heat, which is transferred to a hunter drone carrier.

and tags the closest

Feyn spoke: “Seekers detect the contraband item

Ajax stumbled, anxious and afraid, back from the border station.

consciousness of which he had created for himself.

self and Ajax would be forever in the hands of the identity and

thought

had so anticipated the moment, he would be able to act as his distinct

vital that Ajax go through the drug agony, and as he

for eternity.  It would be

self of Ordos

Ajax run away he would be plagued by the dormant thought

deep anxiety at the obvious end of his life possible before his eyes.  Should

self had grown to a

within him.  Such fear of death for the distinct thought

dos

self of Or

another man was what had drove Ajax to suppress the thought

The prospect of losing a distinct identity that was his own and not that of

self of Ajax.

flesh grew close to superceding that of the prominent thought

self of Ordos within his

Ajax’s intensity grew.  The dormant

would not want to confront such a foe with poor intelligence”

extremely quickly once they’ve locked onto the distinct heat pattern.  One

mechanisms and use the gravitational energy to dart themselves forwards

uspensors

of over 50 miles per hour.  They’re driven by efficient s

and when attacking at speeds

ordinance.  They travel in swarms of hundreds

quickly.  Upon that cylinder there is a tiny needle which delivers the

s in diameter filled with deadly chemicals that kill

generally a few centimeter

Feyn responded: “Each hunter is composed of a first cylinder,

incomparable.

and no person would give up a live of luxury for the public good.  It was

ted the hunters with his intuition. But it is alas not an age of men,

have direc

easily have crushed both the men.  He could have called for back up, could

One man with the machines, working at even half his wits and abilities could

A thought surfaced:

Feyn: there was the drug, no security, just machines.

ame very simple to

grenade had deactivated the tiny seeker.  All this bec

needle, an EMP pulse was emitted.  The flux wave generator in the tiny

an Electro magnetic pulse grenade at the drone.  Upon the shattering of the

e it to a facility to harvest the biomass.  Feyn threw

collect the drug and tak

not have been inefficient in its destruction, a collector drone was sent to

Because the Hunters pumping poisons into the drug itself would

A collector.

and crashed.  Feyn waited, saw another drone deploy from another carrier.

red

hunters accelerated until they crashed into the metallic floor and splinte

hunters, calculated to the size of the heat source.  Feyn watched as the

substance.  He looked up at the carrier and saw it deploy a small fleet of

d back as the seeker examined the

ground next to the flare and steppe

himself and the satchel which bore the drugs.  He set the flare down on the

to him with his arm, and then lit the flare in his hand.  He held the flare close

allowed time for a seeker to approach the party.  He drew Ajax

Feyn

was motionless.

ont of the hot springs, Feyn

Indistinct to thermal sensors, standing in fr

moved closer and a hunter squad came down from the sky.

Feyn saw a seeker encroach over the rock wall and scan the area.  It

Ajax, believing it was a distraction, ignored the comment.

oid heat detection”

may blend into it if to av

Feyn spoke: “Behind a thin layer of ice here, there is a hot spring; one

to pull out the drugs, but he remained there.

self unguarded.  He watched carefully for Feyn

leaving his current thought

n a specific time in the future,

be now, and he had focused his anxiety upo

comforted by the knowledge that the agony would not

immanent, but he was

Ajax was immersed with the terrible reality that his end was

break the ice and neutralize ones thermal trail.

ing, a small movement could

So close to the hot spr

rock wall.  Feyn thought:

The party moved until Feyn stopped them at an indistinct spot on the

hugged the rock wall as they made their way deeper into the badlands.

of the snow tundra that had defined the badlands.  Ajax and Feyn

the sides

An icy rock outcropping which jetted from the metallic wall ran along

self in impulsive decision making.

progression of the Ordos thought

guise.  The anxiety depleted within him and built up to protest any

realized the trap.  This was the true agony of test; the drug was simply a

self of Ordos within him.  And Ajax

e thought

The idea’s source was th

war.

save your old friend of

And then another option entered his mind:

quickly to save his friend.  As you are the gateway, you will stagnate.

context from the machine culture.  An animal would bypass such and act

ptual grid of

drugs pose to the race and would see damage in the perce

are the gateway between man and animal.  A man would realize the threat

You

became suddenly disturbing and ritualized as they contaminated him:

self within Ajax spoke words that

the distinct thought

A voice of

opposite direction and let the hunters devour him.

the hot springs, saving his life.  He could also choose to move Feyn in the

Ajax realized the dilemma.  He could dive at Feyn and send him into

that it will give you solace”.

claws for dominion of my flesh.  You may steal my flesh in the intention

“Friend, you have trapped me and have won.  The thought

He spoke thus:

for his loneliness.

would do such onto me as to find an elixir

He

towards Feyn at that moment was not anger, but more sadness and pity:

preservation were futile against a force so bent on his death.  The feeling

Ajax capitulated.  He became weak as all his efforts of self

he crashed into the hot springs, and the hunters left.

, and the die was cast.  Ajax was no more.  Ordos lunged at Feyn, and

done

those words in full impact and power that Ordos had

recognized

Ajax

I’ve served my time in hell”

Another soldier reporting

To saint peter he will tell

“When one goes to heaven

repeated to Ordos in the badlands campaign

d

which he ha

cost.  He spoke on impulse an old saying

being, no matter the

self of another

compulsion to not be alone and find consolation in a thought

distinctness from nothing.  He had felt though, at that moment, a disturbing

ad created a personality and

Feyn felt empathy for the creature which h

wind, spoken by the wilted amaranth.

ebbing of the silent

heretic

nimal”, went the words to the

“You’re right Ajax, I am an a

conceived.

old friend walk away, treated in a manner befitting the sin in which he was

Feyn left Ordos behind and continued to the city.  Ordos watched his

bore his name, and the cruelty he had committed.

y of death that

solace as he had expected.  Instead it held the terrible realit

looked at the blank and empty stare.  It had not given Feyn

I hope that little story distracted you long enough for
the tutorial to load.  If you didn't like my story :( than
I apologize but please don't hold it against the entire
tutorial.  Even if this really make you angry with
disgust, don't vote 0 or review 0 just because of this,
keep this little story in context.  Its there to entertain
you while the preloader works...
If you liked this immensily, I guess I wouldn't mind if
you weighed this disproportionatly in your reviews or
votes.  :p
:)

Read something fictional

Read Something about
the world

<p align="left"></p>

Visit www.armorgames.com, rollover to learn more!

Visit www.armorgames.com, rollover to learn more!

While you wait, be sure to visit Armorgames.   Visiting Armorgames is a great learning
experience for any self respecting Flash developer, you can study and see firsthand the
techniques the world's best Flash developers use.  Visit Armorgames.com!

Visit www.armorgames.com, rollover to learn more!

<p align="left"></p>

By: BigAl620 (Alex)

Universal Tutorial

<p align="left"></p>

Play

Play_

With 800+ Pages of rich, deep, and interactive content, this is the longest tutorial to ever hit Newgrounds.  Topics include ActionScript, Swift 3D, Debugging, Flash, and much more!  Even if you don't like most tutorials, there will be something here for you, I guarentee it.  Because of its length, this tutorial features a very powerful in-flash search engine.  Be sure to check it out!

No

No

3

Goto Page:

Hotkeys are disabled while Search is up

Go to Page with best search result

Go to Page with best search result

Goto Page with best result

Go

Go to Page:

Enter Search:

-

+

Hide

2

Concept Menu

1

Main Menu

Search

Music

Universal Tutorial

?

Help

?

This is the Universal Tutorial
search bar.  To use it, enter
a single word or a proper noun
composed of two words (like
Swift 3D), and hit go!  The most
relevent pages will be returned
to the right of the search bar.
To go to one of the pages, simply
click the page result.  Have fun.

Help

Goto Page:

At 800 Pages, its like a book... a free book.

Other

This covers all the
content that didn't
fit in the other
sections (such as
thematic elements
and creating good
storylines).
60+ Pages.

As Library

This is a copy and
paste style library
of useful Actionscript
codes with guides for
usage and detailed
explinations.
50+ Pages.

Flash

This section is a very
deep explination of
Adobe's Flash.   Very
deep Actionscript
explination included.
400+ pages.

Swift 3D

This covers the ins
and outs of Electric
Rain's Swift 3D.
Very detailed and
comprehensive.
270+ pages.

Hotkeys

Q Key - Fast Rewind.  Moves you backward in the tutorial quickly.
W Key - Fast Forward.  Moves you forward in the tutorial quickly.
S Key - Automatically sends you to the Swift 3D menu.
F Key - Sends you to the Flash Menu
A Key - Sends you to the Actionscript Library menu
O Key - Sends you to the Other section menu
Right Arrow Key - Sends you forward one frame
Left Arrow Key - Sends you back one frame
Up Arrow Key - Sends you back to the menu of the section you are exploring.

Hotkeys for this tutorial are:

Visit Armorgames

So why should you, a tutorial user, visit armorgames?
Well, first of all, the website has lots of high quality flash
games.  And as a Flash learner, high quality games are
very useful as learning tools.  Seeing the best techiques
in the Flash world will greatly influence and enrich your
Flash productions.
Think of Armorgames as an invaluable learning tool as
well as a tool of mass entertainment :)
So Click the button, and visit a world of wonder and
infinite enlightenment.

Visit Armorgames

Other

This section has everything I couldn't fit into
the other sections.  It includes a guide to
literary technique, making movies that convey
ideas and emotions effectivly, a guide
to submitting to Newgrounds, and more!!!

Mood!!!
Theme!!!
Dramatic
Irony!!!
Motiffs!!!
And MORE!!!

AS Library

This is a library of Actionscript codes with
instructions on use, explinations on how they
work, and guides for customizing the codes.
A conceptual AS explination is in the Flash
section.

Movement
Preloader
Hotkeys
Right-click
menu
MORE!!!!!

Flash

This is a comprehensive Flash tutorial that
covers the ins and outs of Flash.  300+ pages!
Includes one of the deepest Actionscript
tutorials on NG!

Swift 3D

This tutorial teaches the ins and outs of Erain's
Swift 3D.  200 pages!

Music

Music

Bookmark this page

Bookmark Label:

<p align="left"></p>

<p align="left"></p>

Remove all bookmarks

Remove Newest Bookmark

Remove Oldest Bookmark

Hide

Go to bookmarked page

Chapter 2: Materials

Chapter 1: Editors

Swift 3D

Exporting

Reinforcement Quiz

Animation

Custom Camera, Advanced
Viewport

Custom Lighting

Adding gallery lighting

Creating new Materials

Using preset gallery materials

Manipulating meshes

Advanced Modeler

Extrusion Editor

Lathe Editor

Scene Editor

Back to Main Menu

Chapter 4: Beyond the Basics

This chapter teachs advanced viewport and camera, Animation, exporting,
and has a reinforcement quiz that explains all the answers if you're wrong.

Chapter 4: Beyond the Basics

This chapter teachs advanced viewport and camera, Animation, exporting,
and has a reinforcement quiz that explains all the answers if you're wrong.

This chapter teachs advanced viewport and camera, Animation, exporting,
and has a reinforcement quiz that explains all the answers if you're wrong.

Chapter 3: Lighting

This covers custom as well as gallery trackball and scene lighting.
Very comprehensive.

Chapter 3: Lighting

This covers custom as well as gallery trackball and scene lighting.
Very comprehensive.

This covers custom as well as gallery trackball and scene lighting.
Very comprehensive.

Chapter 2: Materials, Textures, and Rotation

This chapter explains the process of working with the objects which
you have already made.  This includes adding custom textures and
materials, as well as rotating and setting pivot points.

Chapter 2: Materials, Textures, and Rotation

This chapter explains the process of working with the objects which
you have already made.  This includes adding custom textures and
materials, as well as rotating and setting pivot points.

This chapter explains the process of working with the objects which
you have already made.  This includes adding custom textures and
materials, as well as rotating and setting pivot points.

Chapter 1: Creating objects in the editors

This first chapter goes over creating meshes and modeling objects in
the Scene Editor, Lathe Editor, Extrusion Editor, and Advanced Modeler.

Chapter 1: Creating objects in the editors

This first chapter goes over creating meshes and modeling objects in
the Scene Editor, Lathe Editor, Extrusion Editor, and Advanced Modeler.

This first chapter goes over creating meshes and modeling objects in
the Scene Editor, Lathe Editor, Extrusion Editor, and Advanced Modeler.

Swift 3D Tutorial

1.4  Advanced Modeler

1.3  Extrusion Editor

1.2  Lathe Editor

1.1  Scene Editor

Chapter 1

2.3  Creating New Materials

2.2  Adding Materials to Objects

2.1  Manipulating Objects

Chapter 2

3.2  Custom Lighting Scheme

3.1  Adding Gallery Lighting and Environment

Chapter 3

4.4 Quiz on Swft 3D

4.3  Exporting

4.2  Animation

4.1  Custom Camera and Advanced Viewport

Chapter 4

Start From the beginning

1.4 Advanced Modeler

Chapter 1

1.1 Scene Editor

1.2 Lathe Editor

1.3 Extrusion Editor

Chapter 2

2.1 Manipulating objects

2.2 Adding materials to objects

2.3 Creating new materials

4.3 Exporting

4.2 Animation

4.1 Custom camera and
advanced viewport

Chapter 4

Chapter 3

3.1 Adding gallery lighting
and  environment

3.1 Adding gallery lighting
and environment

3.2 Custom lighting scheme

Test

Exporting

Start Tutorial from beginning

Advanced
Viewport
and camera

Lighting

Custom
Lighting

Adding
Gallery
lighting

Materials
and
Textures

Adding
materials
from gallery

Creating new
Materials

Manipulating
Shapes in
Scene Editor

Creating
meshes

Scene

Lathe

Extrusion

Advanced
Modeler

Subject Menu

Subject Menu

Main Menu

Test

Exporting

Animation

Custom camera
and view

Custom lighting

Adding preset lighting or environment

Creating new textures

Adding preset textures to shapes

Manipulating Shapes

Creating shapes with advanced Modeler

Creating shapes with extrusion editor

Creating shapes with lathe Editor

Adding objects on the scene editor
and other basics

Chapter Menu

Chapter Menu

Topic Menu

Topic Menu

Main Menu

Main Menu

Search

Advanced Modeler

Advanced Modeler

This covers the advanced modeler
from head to toe, subdivision to
edge turning.

Extrusion Editor

Extrusion Editor

This covers making static and
animated Extrusion in the
extrusion editor.  It also goes
over bevels for making your
extrusions look high-end.

Lathe Editor

Lathe Editor

This covers the use of the lathe
editor to make static and animated
lathes.  The lathe editor is a great
tool for making objects with radial
symmetry.

Scene Editor

Scene Editor

This covers making 3D text, primatives
to the scene, and other basic aspects
of Swift 3D.  A good introduction to
the Swift 3D world.

Swift 3D Chapter 1: Creating
objects in the editors

To begin, click on one of the shapes on the top.  When you click on one of
the shapes.  You'll see it will be added to both of the views below.  As a
default, you'll get two views, front and top.  The shape you added can be
seen from both views at once.  Using the scene editor you can add as many
shapes to the view as you want.

When you open a new file, click on the button on the top toolbar that says
Scene Editor(the one farthest to the left).

Adding Objects on The Scene Editor

After clicking on this(       ) icon on the top toolbar:

Before:

First click on the object you want to rescale, then click on the
scale button shown above, and then click and hold the mouse
on the aforementioned object.  Drag the mouse out to make the
object larger, drag the mouse further in to make the object smaller.

The button farthest to the left on this part of the Scene editor
toolbar can be used to rescale an object.

Wow, wasn't that easy?  Now you have an object on the stage.  You can add
a variety of diffrent basic shapes to the stage just by using the toolbar on
top.

Click on the button to the left.  That wil render the
object on screen in whatever viewport you have
selected.  When normally working with objects in
Swift, you see an non-rendered version which omits
much of the lighting and detail in the rendered version.
Rendering it lets you take a glimpse at the finished project.

Click on one of the buttons at the top left of the viewport
and select a view option.

The first is changing the view.  Remember that of your two
views on the screen, the one that is on the left is the one that
will be exported when you export your Swift.

These are two techniques that will make the rest of your
adventures in Swift much more pleasent.

In this picture, you are unable to get a good grasp of the lighting, you are
unable to see shadows or reflections, and the image lacks details.

So why render the view before you do the final rendering
(which could take over an hour)?  Well, in this case, pictures
speak stronger than words.

Below is the rendered version of what you just saw.  The ears on the top
are both reflective and show features of the environment which can be seen
later.  You can get a better feel for what textures the primatives will have and
you can start to understand what the lighting scheme will turn out like.  As a
good rule of thumb, its good to render the scene while on the scene editor so
you can see where you are and make good decisions about where you're
going.

Photorealistic look

Hard to manipulate in flash

Exports to flash as bitmap

Does better with reflections.

Can have bitmaps as texture

More export options

Raster:

Cartoon-esque look

Consumes more processing
power

Consumes less file space

Vector:

So what's a raster and what's a vector.  Let me sum
it up basically with the pros and cons of each option.

Using this button on the scene editor will always
render to a raster in the scene.

Note that there are two ways of rendering: Vector and Raster.
Later on in rendering and exporting the diffrence bettween them
will be covered in detail, but for now I'll just go over the basics,
because when you're developing you'll want to have an idea of which
you want to export to.

As you can see, the vector didn't carry the lighting qualities or textures
as well as the raster.  In the exporting section, vectors and rasters will
be covered in depth.

Raster:

Vector:

This is a visual comparison of raster and vector exports for the
same object.

When you've added only one shape to the scene,  this is
a rough idea of what your hierarchy should look like.

This section is all about adding basic shapes using the scene editor.
Once you get your first shapes up, you'll want to start thinking about
hierarchies.  Hierarchies in Swift are similar to hierarchies in flash, except
they are definitivly simpler.

With your object selected, look to the toolbar on the left that looks like the
one below.  On that toolbar, select object and you'll see a place to enter the
new name for the object.

Once you get a shape up, its a good idea to rename it.  Considering
that it will be a part of a larger object.  Give names like head or
body.

This is what your hierarchy should look like on the right
with three named shapes on the scene.  In this case, I'd
like to add eye2 and eye1 into head.  Click and hold on the
shape you want to embed, and drag it into the shape you
want to embed it into.  It should look like the picture below.

When doing hierarchies remember that you can embed objects in
other objects indefinitly.

You'll see the word text cover up the scene editor.

On the toolbar shown above, click the button shown
below

Next we're going to work with Text.  This is one of
the easiest and most broadly applicable uses of
Swift 3D.  Ok, start with an empty document.

Within that hierarchy, you can select an individual object on
the hierarchy, or you can manipulate a group that you've created.
See how useful that is?

Click on the highlighted text
option on the top, and then
below the font input are
input the text you'd like.

Obviously, text can be changed to anything you want.  But
before you start, I'd recommend reducing the size of the word
using the scale object.  And then, click on the word and look
to the toolbar on the right.  You'll see an input box where you
can retype the text.

On this toolbar, click on the large B in the bottom right, and then
drag any of the diffrent choices onto your piece of text.  This menu
at the bottom will be the heart and soul of many of your Swift
operations.

The text tool is pretty useful.  Text from Swift 3D can give
your flash movie a fresh feeling to it.  It can also make a word
standout in a long animated sequence, which is useful to anyone
interested in promoting themselves or their studio.
Right now, I'm only going to go over one feature of text, which is
the bevel.  Bevels are sorts of 3D stylings for your text.

In Swift, click and hold the button to the left, and drag
it onto the text on the bottom.  That produces an interesting
effect, doesn't it?  Experiment with it.  Dragging a new bevel
down will replace the old one.

At that point you can give it a name and put it in a category, or you can
create a new category for it.

In Swift, if you ever produce a kind of object that you like (no matter
where it was made), it can be saved to the gallery (seen at the bottom
the screen) so that it can be reused later on.  Once you have an object
selected, go to the file menu and click "save model..."

Click this!

You will notice that there are saved models that come with Swift.
Feel free to use these.  To move a model to the Scene editor,
simply drag it out of the box and onto the scene.

To access a model you have saved, go to the part of the gallery with the
models by clicking on the button seen below.

Next Lesson

To get to the Lathe Editor click on the Lathe Editor button on
the toolbar shown above.

Before we get into the exciting world of the Lathe Editor, let me go
over its purpose briefly.  In the last section you learned how to create
fairly sophisticated object through preset shapes, however frequently
there are objects needed that simply aren't a composition of basic
shapes.  This is why the Lathe Editor, the Extrusion Editor, and the
Advanced modeler are needed.  The Lathe Editor is probably the
second easiest to use behind the Extrusion editor, but that's largely
a matter of opinion.  The Lathe editor also lets you animate Lathes,
which will end up being similar to a shape tween you're used to in
Macromedia Flash.

Creating Shapes with the Lathe Editor.

Circle

For a circle, there are a theoretically infinite number of lines
of symmetry.  Object with the lathe editor will share this property.

One common think made by the Lathe Editor is a cup.  The first
key feature of the Lathe editor is radial symmetry.  Everything
produced the Lathe Editor has radial symmetry.

(This is not a cup, at least not a very good one, if
it was an effective cup the top would dip down)

The picture below is a typical product of the Lathe Editor.  As you can
somewhat see, it has radial symmetry if you're looking at it from the top.

That product was derived from this in the Lathe Editor.

This picture shows how the Lathe Editor works.  As you can
see the editor take the green line running vertical, and in a
way "rotates" your drawing around do that the green line
on the left in the Lathe Editor become the center of a 3
dimensional object.

This is another Lathe editor and scene editor comparison.  Before you move
on it would be wise to ensure that you have a solid understanding of how
what you draw in the Lathe Editor correlates to the final product.

Select the tool shown on the left.

Ok, you've seen what can be done with the Lathe Editor and
you understand the core concept, but you haven't been told how
to actually use it.  That's ok.  First of all, select the pencil tool once
in the Lathe Editor.

Click on this button on the toolbar shown above to start
plotting points being connencted by curves.

With this tool selected draw a point to the right of the green line
on the Lathe Editor.  When you plot your next point, the Lathe
Editor will draw a line bettween what your last point and your
most current one.  Using this technique, a fairly sophisticated
object can be drawn in the Lathe Editor.
But, what if you don't want the Lathe Editor to draw a straight
line bettween your points?  What if you want it to draw a curved
line bettween your points?
When you first selected the pencil, the straight line was
probably selected automatically.

Shape Tool

Now that you know how to use the pencil tool, its time
to briefly go over the other tools the Lathe Editor
leaves at your disposal.
The Lathe Editor has 2 tools other than the pencil
(technically called the add point tool).
The first I'll go over is the shape tool, which looks like
an arrow.
On the above toolbar, which you are by now probably
very familiar, the button shown below selects the
shape tool.

Before you move on in the explination of the shape tool,
you should ensure that you have some kind of basic object
drawn in the Lathe Editor.
To begin, the basic point of the shape tool is to manipulate
points already drawn in the Lathe Editor.
With the shape tool selected, click and hold on a point.  The
first thing you should notice is that you are able to drag the
point around the Lathe Editor.  Secondly you should notice
that when a point is selected, it can be manipulated on the
Point Properties Toolbar on the left.
In this menu you can change the properties of a point, such
as turning a curve point into a straight point or vice versa.

The other tool that needs to be mentioned is the zoom tool.
The zoom tool is the tool that is the farthest to the right on
the toolbar shown above.  This tool is pretty simple.
Basically, just left-click to zoom in, and right click to zoom
out.
That's basically all that needs to be covered with tools.

If you thought that the Lathe Editor could only export static pictures
into the Scene Editor, you were wrong.  The Lathe Editor can make
very sophisiticated animations.
To make a Lathe animations, start by opening the Lathe Editor.
As a first step, draw an object in the Lathe Editor as you normally
would.
You can draw anything, but you can see what I drew below.

Animation

Once you have your static 2D lathe, look above the view you're
using (called a viewport) to see the timeline.
Up to this point, you haven't used the timeline for animation.  But
soon, you will.  Now first of all, let me say that this timeline is
much simpler than the one in Macromedia Flash.  In fact, you
don't even have to add tweens.  Tweens and keyframes are
both created automatically.
Ok, start your adventure in animation by pressing on the
button shown below.
Once you click animation, the button will turn red, indicating
animation is on.  Once you have animation on, continue the
tutorial.

When you want to start animating, click on a frame (as
shown above) and use the pointer tool to relocate
the points in the Lathe.

Its time to revisit the timeline.  At this point, you already have
something in frame 1, and to have an animation, you need an
object in a diffrent frame.

As you can see the points farthest to the
right have been moved closer to the center.

This is the Lathe on frame 20:

This is the Lathe on frame 1:

Something very interesting has been done automatically.
Swift has created a tween, a shape tween.  If you look at
every point bettween 1 and 20, you'll see that Swift has
drawn in the intermediate Lathe points for all those frames.
When you take your Lathe to the Scene Editor, it will have
this animation built into it.
Note that if you were to select frame 30 on this same Lathe,
you could produce another set of points for frame 30 and
Swift would treat that as a key frame and would draw in a
second tween for that.

Look back up at your timeline.

That's all there is for working inside the Lathe Editor.  However, once
you export an object from the Lathe Editor, there are thing you can
do to edit it.  To begin this section of the lesson, in the Scene Editor
click on the Lathe you have created and on the toolbar on the left
select the Lathe option.

The first we're going to deal with is sweep angle, as it is on
top.  Using the old analogy of Swift rotating the Lathe around
the green line, there is an option of how many degrees the
Lathe should be rotated around the green line.

This Lathe section of the toolbar on the left provides you with two
key choices.

40 degree Sweep angle

180 degree Sweep angle

300 degree sweep angle

360 degree sweep angle

This is the same Lathe with four
segments, each segment isn't as
thick as when there were 3 radial
segments.

This has 3 Radial segments,
although the segments are thick
to fit the sweep angle.

I think that back there the pictures illustrated the concept of sweep
angle well.  The second major thing you can do to the scene editor
is change the number of actual 2D lathes are being stacked (you can
go as low as 3).  Think of the Lathe editor as piling a bunch of flat
objects in such a way as to create radial symmetry.
As in the last example, I'll use pictures to illustrate my point.

This is the same Lathe, but with 32 radial segments.

Of course, generally, you'll want to use 32+ Radial segments in your
Lathe, however using less Lathes can give it a drastically diffrent look.

Below where you select the number of radial segments, you can
check or uncheck radial smoothing.  Radial smoothing will blend
together the blunt edges of the segments in a Lathe, which can
give it a less rough look.

<p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.swiftdev.com/index.php?categoryid=40"><b>SwiftDev - A Wonderful Swift 3D reference source</b></a></font></p>

<p align="left"><font face="Verdana" size="14" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.tutorio.com/swift-tutorials.html"><b>Tutorio</b></a></font></p>

<p align="left"><font face="Verdana" size="14" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.oman3d.com/tutorials/swift3d/bottle_conceptoo/"><b>Oman 3D</b></a></font></p>

<p align="left"><font face="Verdana" size="14" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.kirupa.com/developer/swift/lathe.htm"><b>Kirupa Lathe Tutorial</b></a></font></p>

<p align="left"><font face="Verdana" size="14" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.erain.com/support/Tutorials/"><b>Electric Rain (makers of Swift 3D)</b></a></font></p>

This is the end of the section on the Lathe Editor.  If you want
more data on the Lathe Editor, consult the PDF guide that came
with Swift 3D, or follow one of the links below.

Put shortly, the extrusion editor is a way to save time.  The
things which it can do are far from spectacular, however
it can make objects in a fairly small amount of time.
The core idea behind the extrusion editor is giving a certain
amount of depth to a 2D shape.

Creating Shapes with the Extrusion Editor

(Object rotated to make
depth more clear)

The object on the left was what was drawn in the extrusion editor, what's
on the right was what the extrusion editor yielded.

Tangent Point

Curve Point

Corner Point

As you can see, the Extrusion editor takes a 2D image and "stacks"
them one each other multiple times as to produce a 3D object.  Later
in this tutorial you'll learn how to control how many times the 2D
image is "stacked" on top of itself, however that will come later.
First I will cover how to make an extrusion and using the extrusion
tools.
The Extrusion editor has 3 tools for adding points that are identical
to those of the Lathe Editor but for recap, the corner point yields
points that are connected by straight lines.  The curve point allows
you to create connections bettween points that are curved.
The Tangent point option allows you to produce points where
the lines comming out of the point can have seperate directions.

If this button is pressed while the add point tool is selected,
the shape currently being worked on will close by drawing a
line bettween the most recent point and the first point.  After
the initial shape is closed, a new shape can be drawn on the
extrusion editor.

Zoom Tool- When enabled, a right click zooms out and
a left click zooms in.

Shape Tool- This tool allows you to relocate points on
an extrusion by selecting a point or multiple points.

Add Point Tool- This tool will add a point if clicked to the extrusion,
a line/curve will be drawn automatically bettween the last point
and the current one.

The tools in the extrusion editor are extremely similar to those in
the Lathe Editor, so I recommned going over that tutorial for
more detailed interface descriptions.  But below I have some
basic descriptions.

This next lesson will cover how to create an extrusion with a hole in
it.  First, draw a square in the extrusion editor using the Add Point
tool, then press close point to have a closed point.  And then use
the Add Point tool to draw a circle inside of the square.  You should
have something like this (or probably better drawn).

Wow, now wasn't that interesting, because you used two
shapes, you were able to yield a hole in your extrusion,
pretty spiffy, eh.

The next lesson I'm going to go over is on adding preset 2D shapes
to the extrusion editor.  Most of this is pretty self-explanitory.  Basically
press on one of the shape options, such as the cirlce showen below to
have it added to the extrusion editor.  On the far right you have a button
that produces a polygon.  Using the scroll down menu to the right of the
button, you can select how many sides you want the create polygon
button to create.

Extrusions can be animated in the Extrusion editor similar to how
Lathes can be animated in the Lathe Editor.  The kind of animation
done in the Extrusion Editor is quite similar to a shape tween in
flash.

Once you have your static 2D extrusion, look above the view you're
using (called a viewport) to see the timeline.
Now first of all, let me say that this timeline is much simpler than
the one in Macromedia Flash.  In fact, you don't even have to add
tweens or use keyframes (its all doen automatically.).
Ok, start your adventure in animation by pressing on the
button shown below.
Once you click animation, the button will turn red, indicating
animation is on.  Once you have animation on, continue the
tutorial.

When you want to start animating, click on a frame (as
shown above) and use the pointer tool to relocate
the points in the Extrusion.

On frame 1, I put in the points on the left.  On the right, you can
see the points moven to diffrent locations on frame 20.

Wow, magical eh.  If you look to see what happened you'll
notice that Swift has automatically created a shape tween
based on your two

Below you can see the extrusion I drew in the last frame animating.
After the animated extrusion was brought to the scene editor, it was
rotated slightly as to make the extrusion more aesthetically pleasing.
I also put the second keyframe of the extrusion 80 frames away from
the first, as opposed to twenty used in the lesson.

One last rule for extrusion editing, you can only MOVE points in
a second keyframe that already existed in keyframe 1.  Basically
I'm saying that you can't create a new point in one keyframe
without it being in the other.  You have to use a constant series
of points.
That basically covers how to animate extrusions.

This lesson begins with me producing a square in the extrusion editor
and sending it to the scene editor.

The next lesson in this concept is what you can do with
Extrusions once you have them in the Scene Editor.

The left side of your screen
should look something like
this.  If you look at the top
part of the menu on the
left, you'll see an option
called "Bevels" above
an option called sizing.
Have that selected to
continue.

You should be presented with the menu seen above.

The first is called square, and it is the default.  This basically
takes your 2D extrusion and extends it out into the z dimension
in a fairly basic way.
The second style is called "Beveled"

The Bevels menu has 5 styles for the extrusion.

The one to the right
has the square style.

The one to the left is
beveled.

On the previous frame, you saw the square from before beveled.
This is another example.

The bevel style on the other hand, has the side surface meet
the front surface at a 45 degree angle.

In a way, the styles describe a relationship bettween the side
surface and the front/back surface.  The Square style has the
side surface meet the front of the surface with a 90 degree
angle, as is seen below.

Conversly, the Inner Round style has the front surface meet
the side surface with a smooth concave shape.

The Outer Round style has the front surface meet the side surface
with a smooth convex shape.

The step down style takes a slightly smaller version of your extrusion
and "attachs" it to the top/bottom of your extrusion.

This is an example of the Step Down style in use.

With extrusions you can also decide where you want to start
the styling, in an option called Depth.
You can also select whether you want the styling to be on
both sides of the extrusion of just one side, in the option
seen below.

This is an example of a polished beveled extrusion is use.  This also
had some advanced rendering options applied to give it the lines.

<p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.erain.com/support/Tutorials/"><b>Electric Rain</b></a></font></p>

<p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.swiftdev.com/index.php?categoryid=40"><b>SwiftDev - A Wonderful Swift 3D reference source</b></a></font></p>

That basically covers the Extrusion editor.  Below are some helpful
links to data and tutorials for the Extrusion editor.

Advantages:
Edit objects in full 3D
Produces models with high polygon counts
Only tool allowing you to control individual polygons
Has best controls and is able to yield the most complex models
Able to produce irregular models best.
Generally the best tool for producing a complex object.

I'll begin this section by going over the advantages and
the disadvantages of the Advanced Modeler.

Creating Shapes with the Advanced Modeler

Disadvantages:
Hard to use compared to other Modelers
Less efficant than Lathe Editor for producing objects with Radial symmetry
May be more time consuming than the Lathe Editor or the Extrusion
Editor.
High Polygon models will tend to increase lag.

As you can see, with the Advanced Modelor, the benefits greatly
outweigh the disadvantages, that's why it will be the way you
produce models for Swift most of the time.
You'll find that the advanced modleler bares more similarities
to more expensive and professional software than the rest of
Swift 3D does.
The Advanced Modeler can produce objects with higher polygon
counts.

On the toolbar above, select Advanced Modeler to enter the
advanced modeler.

Believe it or not, both those models had the same texture applied
to them, however the one in the right had a higher polygon count
and thus was more detailed.  The one on the right was made in
the advanced modeler.
So now we advanced onto the topic of actually using the advanced
modeler.

Face

Edge

Vertex

Look at your environment, you'll notice that you have a series of tools
at the top of the window as well as a toolbar on the left.  However, you
should notice that you have four viewports.  The viewports work similar
to those in the Scene Editor.  Once viewport gives you a view from the
left of the object, one from the right, perspective, etc.
The first thing you'll want to realise when entering the advanced
tutorial is that you begin with a a basic shape (called a primative)
that you can edit at the polygonal level.  If it sounds complicated,
that's because it is.  Basically, this is the arangement of the
objects in the advanced modeler.  You have a polygon, which is for
our purposes always a triangle.  You see, all 3D objects in Swift
are composed of a series of polygons (despite the name, every
polygon in a 3D modeler is a triangle).  A triangle has 3 verticies
and 3 edges.  Use the illustration below

A group of polygon arranged in a 3D space is called a mesh.  The
mesh above is of a sphere and it contains 480 polygons.

Now, think about thousands of polygons arranged in a 3D space.  This
is the essence of 3D modeling.  This illustration below shows how a
shape in Swift 3D is composed of hundreds or thousands of polygons.

Before I tell you all the actions you have at your disposal, you
need to make sure that the button at the top corner of your
screen looks like the picture on the left.  If your button looks
like the picture on the right, then you need to click the button.
If you have a mesh in the Advanced Modeler that you imported
from the Extrusion or Lathe Editor, it will ask if you really want
to turn it into an editable mesh.  If you turn it into an editable
mesh, you can change it in the advanced modeler, however if you
do that you cannot edit it in the Lathe or Extrusion Editor.  Before
you go on, ensure that the button below looks like the one on the
left and is red.

Swift allows you to do 4 things to an edge of a polygon, a group
of verticies, an entire mesh, a single edge, a single face, or one
vertext.  That's alot to take in at once, but I'll start with going
over the four things that can be done.  For the following examples
I'll speak of manipulating a single vertex, however remember that
the actions can be applied to faces, edges, etc.

In the advanced modeler, look to the top-left to see a toolbar
displaying a list of primatives.  To add a primative to work with in
the advanced modeler, select a primative from the create primative toolbar
as is seen below.

Click this option

In the advanced modeler, you begin with something called a primative,
which is a basic 3D shape.  From one or more primatives, you can
move and manipulate the polygons to form complex or organic shapes.
To add a primative, you must first be in the advanced modeler.  To enter
the advanced modeler, click the advanced modeler tab on the toolbar at
the top of your screen, similar to the screenshot below.

This is the Move Free tool.  This is probably the tool
you'll used most often to edit a mesh.  With some
part of a mesh selected, drag the cursor around to
move that part of the mesh.

Above are the four tools that can be used to edit a mesh.

Ok, now that you are able to edit a mesh, let me go over briefly
the tools at your disposal.

With the Move Free tool selected, I have selected a number of
verticies in the picture on the left.  The picture on the right shows
how I moved those verticies to the right using the Move Free tool.

The Rotate tool takes whatever part of the mesh is selected and rotates it.
*shock*
I'll use a series of pictures to try to best explain what exactly the rotate
tool does.

The second tool I'm going to go over is called the Rotate free tool.

On the left, using a cylinder, we have selected a group of vecticies.  On
the right you can see what happens if we rotate the vecticies clockwise
a few degrees.

The one key diffrence is that if you use this tool while having
verticies selected, it doesn't change the size of the verticies,
it changes the size of their faces by pushing the verticies
towards or away from each other.

Our next tool is called the scale uniform mode.  This works similar to
the other tools we've used, so it shouldn't feel that unusual.

On the left you can see how I have selected the top two rows of verticies
in a cylinder.  Using the scale uniform tool, I made that selected part
of the cylinder smaller.  But as you can see I simply made that part of the
cylinder smaller by moving the verticies together.

The next tool I'm going to go over is called the extrude along normals
tool.  This can only be used when you are using the face selection tool.
What is does is it allows you to extrude, that is to move away from the
center, a face/series of faces.

On the left you can see a series of faces selected.  On the right you can
see those faces extruded outward.  Note that the faces can also be
"anti-extruded", that is, pushed towards the center of the object.

This is just a second example of Extrusion.

This is the first option given for selecting parts of a
mesh is called the single vertex selection tool.  This
tool will select only one vertext on your mesh.
If you drag this tool over several verticies, though,
you will be able to select multiple verticies and
manipulate them.

That basically summarizes the four tools you'll use in the advanced
modeler.  The next thing that needs to be covered is the diffrent
methods of selecting parts of a mesh.  Each option is shown below.

This demonstrates how a single vertex can be moved.  Note that if you want
to move multiple verticies, select those verticies manually, and move them
all the same amount, you will want to uise the vertex selection tool.

You, as the developer, have some options for how you want the red
points to move in relationship to the green point.  To access these
options, select the Soft Selection tool and look to the toolbar
on the left, and click "selection" if it is not already up.

The second tool is called the soft selection tool.  If you click
on a vertex with the soft selection tool is use, the vertex
you selected will turn green, but a number of other
verticies will turn red.  When you drag the point you selected
(its green now), you'll notice that the red points are also
moved, but not as much as the green point.

Green vertex

Red
verticies

The above screenshot is of the options for the soft selection
tool.  The first decision you'll make is exponential.  How the
diffrent soft selection settings work is hard to explain in
words, so I'll begin by explaining the small graph to the
right.  The graph to the right reflects how the tools manipulate
verticies and reflects the options you have selected.

Then, at the bottom of the toolbar, you'll see your options.

Parabolic:

Exponential:

Below is a picture based contrast of exponential
and parabolic selection options:

On that graph, the point in the middle shows the relative position
of the green vertex.  Whilst the points farthest to the left and
right show the relative positions of the verticies farthest away
from the green vertex.

That should sum up form factor in a nutshell...

Although my pictures are a tad ambigous, I think they give
away the general idea.  Below the curve type a slider
allows you to select "form factor"  Basically, the lower
the form factor, the flatter the curve.

Yep, you can select edges!

This is one of the simpler tools.  It selects the edges of the polygons
(which are the lines composing the object).  This tool doesn't have
alot of complex option.  Basically you need to click and drag over
the mesh to select a series of edges.  And then once a series of
edges are selected, you can move them, rotate them, etc...

Edge Selection (E)

This tool selects a specific surface group.  If one does not create
surface groups, this tool will select the entire mesh, which makes
this tool useful for rescaling or rotating an entire mesh.

Surface Group Selection

This tool selects polygons or groups of polygons.  Or their faces, more
specifically.  One of its biggest specialized uses is in materials.  I find
the face selection tool to be the best tool for creating surface groups.
Creating surface groups is taught in the adding materials concept.

Face Selection

Options for advanced Modeler tools.

After you have produced an object on
screen in the advanced modeler and have
selected the soft selection tool, make
sure that your left toolbar looks like the
example seen to the left of this text.

Above is the first main set of options you're given.  The first option
is enabling mouseover.  I heavily recommend that you keep this
option selected.  Enabling mouseover allows you to see what part
of the model Swift will select when the mouse roles over a vertex.
I find it to be very convenient, however it can also be demanding
on the PC.  What you choose all depends on the needs of you and
your computer.
The second option is Ignore Backfaces.  I recommend this option
be turned on.  If ignore backfaces isn't selected, it means that you
can select a polygon that is backfacing, which is for our purposes
a polygon that is in the background.  However if you have ignore
backfaces on, it will only allow you to select polygons facing you.
Note that whether a polygon is backfaced or not is based upon
what viewport you are currently using.

The third options asks whether you want to enable multiselect.
If you enable multiselect, than Swift will automatically select
and polygons directly behind the polygons you selected
manually.  This is useful if you want to select a group of 6
polygons on both sides of a sphere at exactly the same point.
It is important to note that multiselect will only work if you
are using face selections.

This is an example of
multiselect in use.  Note
that the polygon were
selected in the left
viewport.

Up until this point, I've taught you how to manipulate all the parts of a
mesh by scaling, moving, extruding, and rotating the various parts of a
mesh.  Whilst this is the heart and soul of 3D modeling, there are other
important ways to manipulate meshes in Swift 3D.
The first set of options I will go over can be accessed by selecting a part
of a mesh and choosing an option from the right click menu.  I suggest
using the face selection tool for the next set of options.
The right click menu has a variety of ways to manipulate meshes,
as I will go over soon.

Other Advanced Modeler Actions and Tools

To begin this part of the tutorial, I created
a simple sphere, used the face selection
model to select a part of the sphere, and
right clicked.
From the start, you'll notice that there
are a wide variety of things that can be
done from the right click menu.  Some,
such as moving, rotating, scaling, and
extruding we've already gone over.
Whilst others, such as subdivision,
mirroring, and welding have not yet
been discussed.
Its important to note at this point that in
the advanced modeler there are a variety
of ways to do any one thing.  Also most
options in Swift can be accessed in
multiple places in the interface.  Several of
the right click menu options can be
accessed by goingto the transform drop
down menu at the top of the screen

The first option I'll go over is duplication.  And like the name implies,
duplication takes whatever you have selected (be it an entire mesh or
just part of one) and copies it.  The X, Y, and Z options however are
not quite so self-explanitory.  Basically, whether you duplicate along x
, y, or z doesn't affect the properties of the duplicated mesh, it rather
affects where the mesh is placed after duplication.  Choosing x places
the duplicated mesh aside the original objects x-axis.  That's a little
akward verbally, so on the next page I've shown the diffrent
options visually.

Original Mesh + mesh duplicated
along x axis:

Original Mesh:

Original Mesh + mesh duplicated
along z axis:

Original Mesh + mesh duplicated
along y axis:

The first is "Delete Selection".  This one does what is says it does, it
deletes whatever part of the mesh you have selected.
Break Out Selection takes whatever part of the mesh you have
selected, and makes it a seperate object, to be edited seperatly in
the advanced modeler or scene editor.

I hoped that summed up Duplication pretty well.  Our next two options
are pretty easy and self explanitory.

If you don't understand these options well, refer to the beggining of
the Advanced Modeler section.

The next four options we have were dicussed in great detail earlier on,
so I'm not going to reiterate them.  However, unlike when you choose
the tools from the toolbar, you can here choose to move, rotate, scale,
or extrude your object whilst constrained to a single axis.  If you enter
the Scale sub-menu you can choose to use uniform or free scaling.  Free
scaling allows you to scale the object more heavily on one axis than another,
whilst uniform scaling scales all axis equally.

The next option we have is a very, very important one.  Its called
subdivision.  Basically, once you have a number of polygons
selected, you can take those polygons and divide so that the mesh
has more polygons.  Subdividing (with the exception of subdivision
smoothing) doesn't change the shape of a mesh, rather it changes
the mesh so that it has a more, smaller polygons.
You might ask: "Why do this if it doesn't change the shape of the
mesh?"  Well, the simple fact is that having more polygons in a mesh
allows you to make more detailed edits to a mesh.  For example, the
default cube has only 2 polygons on each side.  If one wanted to model
something complex, it would be impossible to develop any complex model
from a handful of polygons!  However, with subdivision, one could produce
a very, very large number of polygons on a model.  Subdivision is integral
to the Advanced Modeler!

There are a variety of options for subdivision.  I recently explained that
subdivision is taking a polygon and dividing it into two or more polygons.
Our first option is "Balnce Mesh".  This option takes your mesh and
subdivides the polygons so as to make the mesh symmetrical.
Then we have "Flat 3 Face".  That option takes each polygon
in the model, and divides it into 3 new polygons.
"Flat 4 Face" divides each polygon into 4 new polygons.
"Smooth Exclude Border" and "Smooth Include Border" are the last
two sub-division types.  Both these types of sub-division divide each
polygon into 4 new polygons and then changes those polygons so as
to smooth the object.
If you're working with a closed object, include border and exlude border are
identical.  However on an open object (such as flat plane), one should use
exclude border, because that option doesn't subdivide the border polygons,
giving the mesh a better appearence.

After increasing roundness 4 times:

Our next option is increasing or decreasing roundness.  This is pretty
self-explanitory.  Note that roundness doesn't change the number or
size of the polygons, it simply rearranges the verticies to give the object
a rounder shape.

After front edge is divided:

Before fornt edge is divided:

The next option we have is our two edge options.  To use these options, we
must be using the edge selection tool (E).
The first edge option we have is called divide.  This is basically a type of
subdivision that works with the edges of polygons.  What it does is that it
takes the edge/edges you have selected, and divides the polygons that the
edge touches into two seperate polygons.  Look at the example below:

Now, in this case, the shape of the mesh isn't actually effected.
And thusly, turning the edge was rather pointless.  This, however,
is not always the case.

After:

The second thing we can do to an edge is turn it.

Its kinda hard to visualize.  But what I just did to the edge was that I turned
it, except this time I turned the edge so that it goes down diagnolly instead
of straight across.  In this scenario, turning the edge dynamically changes the
shape of the mesh.

Sometimes turning an edge can immensly effect the shape of a mesh.  Look
at the example below:

That basically sums up the tools in Swift 3D's advanced modeler.  By
subdividing meshes, turning edges, and moving verticies, very detailed
models can be produced.
Below I have some links that will be useful in learning about the advanced
modeler.

Creating new Materials/Textures

Creating new Materials/Textures

This teaches you to make your
own materials and textures.

Adding Preset Materials from
the Gallery

Adding Preset Materials from
the Gallery

This goes over adding materials
and textures to the objects
you modeled in the last chapter.
This doesn't go over creating
your own materials/textures,
rather it goes over using those
that came with Swift 3D.

Manipulating Shapes

This covers rotating shapes
using the trackball or manual
numeric input.  It is very
short.

Swift 3D Chapter 2: Materials,
textures, and rotation.

All the previous chapters have covered how to add objects to the
scene editor, however now you will learn how to manipulate
the orientation of objects you have added to the scene editor.
There are two ways to undergo this process.  The first way is
by clicking on the object or on the toolbar on the left.

The one on the right is lighting, which is important, but is
also a few concepts away.  The one we're concerned about
now is the trackball on the left.  That's the rotational
trackball.  To use the rotational trackball you need to have
an object selected.  As you can see, the cross I created is
in the trackball because it has been selected.

The first way of manipulating object we'll go over is by actually
touching the object or using the rotation trackball.  At the bottom
of your screen, you'll notice that you have 2 rotational trackballs.

With your object selected, click on the trackball and drag your
cursor around.  You'll see that you have the ability to rotate
your object around what is called a pivot point.  By default, the
pivot point is at the center of your object, however later in this
lesson you'll learn how to move the pivot point.  The rotations
you make on the trackball will affect the position and orientation
of the object on your main viewport.

This changes the trackball so that any dragging
done moves the object in a clockwise or
counter-clockwise fashion.

Having this option selected restricts all trackball
rotation to the y axis.

Having this option selected restricts all rotation done on
the trackball to x axis rotation.

The trackball has a few sets of options located to the left of the
trackball to make your rotation easier

In general, trackball rotation is easier then manually inputing
rotation angles, however the later is more effective when
precision is important.  To manually input rotation angles,
select the object you wish to have rotated, and select the
rotation option on the toolbar to the left.

At this point you'll see options for what degree the object should
be rotated along each axis.
At this point you can choose to set rotation values for your object
or you can use the reset button at the bottom to turn rotation
values to the default.
You can choose whether you want to rotate on the local or global
axis.  I've always prefered the use of the global axis, but the
local axis is sometimes useful if you have a large scene going
on.

<p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.swiftdev.com/index.php?categoryid=40"><b>SwiftDev - A Wonderful Swift 3D reference source</b></a></font></p>

<p align="left"><font face="Verdana" size="12" color="#0000cc" letterSpacing="0.000000" kerning="1"><a href="http://www.kirupa.com/developer/swift/transform.htm"><b>Kirupa</b></a></font></p>

<p align="left"><font face="Verdana" size="12" color="#0000cc" letterSpacing="0.000000" kerning="1"><a href="http://www.erain.com/support/Tutorials/"><b>Electric Rain (I know, I&apos;ve put this link in every section, </b></a></font></p><p align="left"><font face="Verdana" size="12" color="#0000cc" letterSpacing="0.000000" kerning="1"><a href="http://www.erain.com/support/Tutorials/"><b>forgive me!)</b></a></font></p>

That's all you need to know about rotation.  Remember to keep
rotating objects to always get the best angles :)
Play around and learn what technique suits you best!
The links below have good tutorials on rotation.

At the bottom of the screen, you've probably noticed before
the gallery of textures and colors.  Swift comes with a vast
library of nice textures to use, however sometimes you will
want to create your own and add them to the library.  Creating
new textures and putting them in the library will be taught in
the next section.  This section will focus on teaching how to take
textures from the gallery and apply them to your mesh.
The picture below shows the gallery as it appears in the scene
editor.

Adding Preset Textures/Materials to Shapes

To add a texture to an object in the scene, editor, drag a material
from the gallery onto the object where you want that material to
go.
That's pretty simple, and you might have learned that when you
first opened Swift.
However, there are many things you can do with textures in the
advanced modeler.  You can add multiple textures to an object
and have tight control over how the texture in mapped to the
mesh.
To begin, enter the advanced modeler and create a sphere.

In this mode, you'll want to create diffrent surface groups.
Each surface group can be selected individually and given
its own texture.
Once in the edit texture mode, select the "face selection"
option at the top.   Then use that tool to select the part of
your mesh that you want to give a diffrent texture.  Then
with that part of the mesh selected click the selection
option on the left toolbar.  On that toolbar click "Group
selection".  You'll notice that know you have two selection
groups.  Once you change from face selection to surface
group selection, you'll notice that you have two selection
groups.

Next, click the edit texture button(        ) on the toolbar seen below

Here I have selected a part of my mesh
to become a new surface group.
To the right you can what the toolbar
on the left should look like once I have
a certain part of my mesh selected.
The next step is to click on the
group selection button seen below
and at the bottom of my screenshot.

You'll notice that while in the advanced modeler you still have the
materials gallery at the bottom of the screen.  Now you can give
each selection group its own material by dragging it onto the
surface groups.
Below you can see what I made.  It should be noted that I added
some fills at the end to give it a cel-shaded look and make things
more interesting, but you should still be able to get the idea.
I also made it spin, for no educational reason, it just looks cooler.

What we'll work on is changing the way the Earth is mapped onto
the sphere.

The technique you just learned allows you to very effectivly
map multiple textures to an object.  Normally, however, you
have little or no control over how textures are mapped onto
the surface (how large are the textures, what part of the
bitmap is shown, etc.)  The advanced modeler can give you
precise control over how a bitmap is mapped to a mesh.
Ok, create a sphere in the advanced modeler and enter
material editing mode as was done before.  Now drag the
earth bitmap onto your sphere.

Begin by creating a cube in the advanced modeler.  Still with
only one surface group, drag the Earth bitmap material onto
the cube.  After you do so, you should get something like this:

As good as that result is, there are still reasons why you would want
to manually edit how a texture is mapped.  There are 3 things you can
do to the material once you map it.
These things are:
1. Move
2.  Rotate
3.  Scale
There are two ways to access these controls.  The first, is after you
enter edit material mode, right click on the object.  Then you will
be able to look at the right click menu and see the options.
The move, rotate, and scale options each have a small set of
suboptions.  For example, with move, you will be able to choose
movement restricted to the x dimension, movement restricted to the
y dimension, and so on.

The three options on the left can be selected and will give you
the ability to edit the material on the mesh the way you'd like
it to.  The option farthest to the left is move.  Second farthest
to the left is rotate.  And 3rd farthest to the left is scale uniform
button.

While in edit material mode, there is another way to manipulate
your material on your mesh.

Also, at the bottom of the right click menu, you'll notice the options to
reset the position, rotation, and scale.  These are pretty convenient if
you're trying to manipulate your materiak and you decide that the
default material is better than the result of your transformations.
Further down you can select four diffrent types of automaps for your
material.  I'd recommend seeing if you like the automatic material
mappings in action before trying to transform the bitmap yourself

One last thing that you should notice is that if you scale the object
to make it very small, the Earth material will be repeated multiple
times.  If you're using a pattern, this effect will not be noticable.
However, if you are using a bitmap, the repeating picture will be
very obvious.

This is just an example of a cool effect using a wide array of materials
on a single mesh.

<p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.swiftdev.com/index.php?categoryid=40"><b>SwiftDev - A Wonderful Swift 3D reference source</b></a></font></p>

<p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.3dvalley.com/phplinks/index.php?PHPSESSID=4f2776db86b01d46cba82549da756e0f&PID=53"><b>3D valley</b></a></font></p>

<p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.erain.com/blog/archives/2004/10/adding_complex_1.html"><b>Very advanced vector</b></a></font></p><p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.erain.com/blog/archives/2004/10/adding_complex_1.html"><b>mapping tutorial</b></a></font></p>

<p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.erain.com/support/Tutorials/"><b>Electric Rain</b></a></font></p>

That's all I will cover for mapping materials to meshes.
Below are some helpfull links for learning this stuff.

In the last section you learned how to take materials/textures from the
gallery and add them to your meshes.  Although Swift comes with an
extensive array of materials, you may still want to have a material
that's not in the gallery.  When you create a new material, it will be
added to the gallery and can be accessed the same way any other
material would be.  To create a material, go to the setup menu at the
top of the screen, then scroll down and select materials.

Creating New Textures/Materials

The following menu will pop-up.

You can choose to start by giving your material a name, or you
can wait until your material is done to give it an appropriate
name.

You can create a new category for your new material, or
you can create a new material in an existing category.
Either way, click "add material" to begin.

In a number of programs such as Pov-Ray, highlights are called
"Phong".

The next part you'll see is entitled Finish.  By default the ambient color
is black as is the reflection color.  The ambient color isn't as strong as
the reflection color, is sourceless, and has a subtle effect on the look
of your material.  The reflection color is what color of light your object
reflects.  If it reflects green, then your object will appear green, and so
on.  Generally, you want to choose the reflection color black.

Back in the material menu you can use the slider to select the strength and
size of your highlights.  I prefer them large and weak, but that's just me...

Highlights

The next section you'll come across is called color.  In addition
to interacting with light, your color can have a design on it.
In the drop down menu you can pick a design or on the bottom
you can choose to import a bitmap as your design.  You can
also give your design a color.  Scale is the size of your design
and noise is the effect/power of your design on the object.
Transparency and brightness are pretty obvious, generally set
a low transparency, and brightness is usually around the middle
of the slider.

Above that, the pattern you choose determines how the
elements of the gradients interact with each other.  For
example, if you pick procedural checkerboard, your first
color will be lined up diagnolly across from your second
color, like a checkerboard.

For your color, you may want to create a gradient.  If you click
directly below the color box, you can create a small arrow.
If you click on this arrow, you can give it a color.  Each arrow
can have a diffrent color, this is how a gradient is made.

Epic Masterpiece:

In the patterns scroll down menu, at the bottom, you can choose
to import a bitmap image.  If you select bitmap image than Swift
will ask you to browse your computer to select a bitmap to import.
In this example, I will import one of my most epic masterpieces in
order to superimpose it on a sphere.

The last part of the material we can modify is the texture.
The texture is the sort of shape of the material.  Is it
wrinkeled?  Is it smooth?  Is it dented?  In this section
you can choose what kind of texture you want your
material to have by using the drop down menu.  After you
select your texture, you can edit the scale of the texture.
For example, a texture with procedural dents and a high
scale will have a few large dents, while a texture with a
low scale will have many small dents.  The higher you set
noise, the more your pattern will be scattered and randomized.
The amount affects the amount of that texture.

Once you have your texture, click ok, and then you can see your
texture wherever you put it in the gallery.  Below you can see
what I made using my own texture.

Dang that's scary!

This is my masterpiece from before, superimposed onto a cube.  It looks
even better than the original...  In a Flash movie or game, well drawn
monsters like this with the subtle addition of 3D spinning cubes can add
an aura of fear and death!

<p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.swiftdev.com/index.php?categoryid=40"><b>SwiftDev - A Wonderful Swift 3D reference source</b></a></font></p>

<p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><a href="www.erain.com"><b>Electric Rain</b></a></font></p>

That covers all you need to know regarding the creation of your
own textures.  One application I can recommend is taking your
artwork and superimposing it on a mesh.  Also, don't hesistate
to edit some of the materials that came with Swift 3D, possibly
reducing the highlight strength.
I haven't been able to find alot of tutorials on this, so I can just
recommend doing some at Electric Rain, a few of the tutorials
reference this topic...

Creating Custom Lighting

Creating Custom Lighting

This teaches you how
to create your own
custom lighting scheme.

Adding Preset Lighting and
Environment from the Gallery

Adding Preset Lighting and
Environment from the Gallery

This teaches you to add
lighting schemes to your
movie that came with
Swift 3D.  It also teaches
you what the environment
is and how to add preset
environments.

Swift 3D Chapter 3: Lighting

In the gallery, you've already learned about how you can save
and access models, materials, and bevels.  But did you know
that you can also access lighting schemes and something called
an environment.
Lets start with the lighting scheme.  When you begin a project
in Swift, you began with what's called the default lighting which
places two lights at the top of the stage.  Similar to how there
are a wide array of materials that you can apply to meshes in
the gallery, there are a wide array of lighting schemes that
you can apply to your stage.
In the next section I will cover creating your own lighting scheme
and saving it in the gallery.  Right now I will cover the basic
topic of using lighting schemes from the gallery.  I will also cover
environments.

Adding Preset Lighting or Environment

Click on the flashlight button in the top right to access the
lighting gallery.  To add one of the lighting schemes to
your scene, simply click and drag the lighting scheme of
your choice onto any part of the scene.
You will notice four diffrent types of lighting: animated,
colors, mood, and stationary.
If you add an animated lighting scheme, the length of
your movie will increase to accomidate the length of
the animating light scheme.

To access the lighting schemes in the gallery, look to the bottom of
your screen.

Play around with the lighting scheme to see what you like.
Some of my recommendations are 3-point, cloudy, scary,
hollywood, Disco, Alien, and Cold.  Be sure to check those
out.

Environment

Mesh

Camera

The second part of this section covers environments.  Enviroments
are a difficult thing to explain.  The diagram below might help.

The environment is a picture that can be applied to a scene.  One
can never actually "see" the environment though.  However if one
has a reflective object on screen, one will be able to see the
environment reflecting off of it.  Below you see a stage with a single
sphere on it as a model.  The model has no design or picture on it,
rather it has a highly reflective surface and the environment picture
is of a sunset.

As a note, no matter what way the camera is turned, the environment
will NEVER be directly visible, but it will always been seen on ighly
reflective surfaces.
Creating a new environment is very, very similar to creating a new
material, as was covered in the last section, so I won't go over the
entire process of creating a new environment.

<p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.swiftdev.com/index.php?categoryid=40"><b>SwiftDev - A Wonderful Swift 3D reference source</b></a></font></p>

<p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.erain.com/support/Tutorials/"><b>Electric Rain Tutorials</b></a></font></p>

For this I can again recommend going to Electric Rain, they
have tutorials on almost everything.

That basically covers how to add preset lighting to the stage
and using environments in Swift 3D.

Although Swift's default gallery has extensive lighting options, you
may have a desire to modify a lighting scheme, or even create
your own, and maybe add that to the gallery.  To begin, add a mesh
to the screen and look towards the window like the one below.

Custom Lighting

This area is your trackball.  In the trackball, the giant white sphere
represents all of the models on your stage.  And on the trackball you
can see lights attached to the outside of your stage.  By clicking
and dragging the lights, you can change how the stage is lit.

Clicking this button allow you to set the rotation increment.  A higher
rotation increment means that when you rotate the trackball, your
rotation will occur in large chunks, or increments, a lower rotation
increment means that rotation will occur in small and fine motions.

While this option is selected movement of lights or the trackball will
be limited to clockwise or counter clockwise rotation.

While this option is selected, manipulation of the trackball or a light
on the trackball is restricted to the y axis.

If this option is selected, it restricts manipulation of the trackball
or a light to the x axis.

If you have a light on the trackball selected and then
press this button, that light will be deleted.  A better way
to delete lights is to click the light, go to the keyboard and
press the delete key.

This button adds a spot light to the trackball.  Unlike a point light, a spot
light sends a focused beam of light in a single direction.  On the trackball,
a spot light in represented by a flash light.

When this button is pressed, a point light will be added to the trackball.
A point light sends light in every directions in equal amounts.

This trackball shows your lighting scheme.

What you just learned is called Trackball lighting.  If you click on a light
on the trackball, you can edit its color by going to the menu on the left.  In
that menu you can also toggle shadows, lock the light, or a number of other
options

Remember before when you learned to take lighting schemes from
the gallery and add them to your scene?  Well, if you're working
on a project and you create a lighting scheme that you'd like to
add to the gallery, go to the file menu and click "Save Lighting..." as
can be seen below.

Click there to save
your trackball
lighting scheme.

Now you're probably thinking "This section must be over".  But you're
wrong.  YOU'RE WRONG!!!!!!
This section isn't over yet, because trackball lighting isn't the only kind
of lighting.
There's another kind of lighting that's called Stage lighting.  In this
system lights are added to the stage and can be manipulated on stage
similarly to a model.
Trackball lighting can be used along scene lighting, although I
wouldn't recommend it.  I'd recommend using either scene lighting
or trackball lighting 100%.
Trackball lighting is easier because it is faster and easier than using
Stage Lighting.  Also, when one produces a good lighting scheme using
trackball lighting, that scheme can be added to the gallery and reused
with ease, not so with scene lighting.

But I would be lying to you if I said that scene lighting didn't have
its advantages.  The first key advantage is precision.  Lets say
I have two spheres on my stage.  In order to put a light between
the two, I'd have to use stage lighting.  Also, stage lighting is helpful
if your scene includes a model that you want to appear to be
eminating light.
With trackball lighting, light originates from outside of the stage.
With Scene lighting, light originates at any point inside the stage.
Generally large projects with well developed scenes and defined
light sources would need to use scene lighting.
However, if you're making a spining logo for the banner of your
webpage, I'd stick with trackball lighting :)

Here's an example of where track lighting is advantageous...

Target Spot Light

This is probably the best type of scene lighting available.  This light
has a target as well as the actual light.  If you move the target however,
you redirect which direction the light goes.

Light

Target

Free Spot Light

Like the free point light, this light has no target.  That makes aiming this
light correctly a tedious task, and because of that, I rarely if ever use this
type of light.  As you might be able to guess, you'll have to use the
rotation trackball to guide this light.

Target Point Light

This type of light radiates light equally in all
directions.  It is diffrent than the free point
light light in that this light has a target, as
can be seen to the right.  I rarely use this
light, as I don't find the target to be useful, as
it has no baring on how light is radiated.

Actual light

Free point Light

This type of stage lighting radiates an equal amount of light
in every direction.

Should you find yourself creating a complex scene, you'll need
scene lighting, so I guess I should explain how to do it.
First of all, when you create a scene light, it will appear as
an object on the stage, just like any other shape or mesh.
So, to begin, look to the top toolbar in Swift 3D.  The four
options you'll see are displayed below, rollover them to learn!

My advice is to try and use the trackball lighting for most projects, and
save the scene lighting for the complex projects.  For scene lighting, I'd
recommend using the free point light and the target spot light the
most.
The last thing I'll teach you in this section is creating a light bulb that
radiates light onto the rest of the scene.  Because this is a lighting
tutorial and not a modeling tutorial, I will simply use the light bulb
model from the gallery.  My first step will be to take the light bulb
model and drag it onto the scene.  My second step will be to make
my light emitting part transparent, so that when lights are put
inside the model, the light will be able to escape the model and
affect the scene.
I will make my light bulb transparent by going to my material
gallery and going over to the transparent section.  If I give my model
a colored transparent material, then the light escaping it will be
made to be that color.  Yep, Swift is smart :)

My next step will be to add two free point lights to the scene.  I will then
move those lights so that they are inside the model, as is seen below.

Click on the two point lights, and drag them onto the model called
light-bulb.  To take the lights out of the model's hierarchy, click on
them, and drag them onto the symbol on top called scene.

The next step I will give isn't neccessary, but its a good idea.
Do you remember when I went over hierarchies?  Remember
how if you add multiple objects to a single hierarchy, you can
select and move them all at the same time?  Of course you don't.
But I'll keep on talking anyway.
Once you create your lights and put them inside the light bulb, you
should add the lights to the light bulb's hierarchy.  After you have
done that you will be able to move the light bulb to a diffrent
location while moving the lights with the light bulb automatically.
To do this, look to the hierarchy on the left.  Than drag the two
light symbols onto the symbol of the mesh.  The picture below
should help.

That basically sums up my lesson on scene lighting.
I apologize that I couldn't find any links for Scene lighting tutorials :(
But I feel this is a pretty shallow topic and I may have been able to
meet the bulk of your learning needs.
Below is an application of some custom lighting, its pretty :)

Reinforcement Quiz

Reinforcement Quiz

This is a comprehensive
quiz designed to help
you isolate what parts of
Swift 3D you need to study.
If you get a question wrong,
you get an explination of the
right answer :)

Exporting

This teaches you the ins
and outs of rendering and
exporting your Swift 3D
projects.  It goes over
vectors and rasters, as
well as all of your export
options.

Animation

This goes over animating
in Swift 3D, including
orient to path and using
the timeline.

Custom Camera and Viewport

Custom Camera and Viewport

This goes over creating
cameras and using viewport
options to get new and
customized perspectives
on your scenes.  It also
goes over changing viewport
options to preserve CPU.

Swift 3D Chapter 4: Beyond
the Basics

Up to this point you probably have become familiar with the
viewports.  Those are the two pictures on the left and right
of your screen which show the image from two diffrent
perspectives.  The two default perspectives are front and top.
The image on the viewport to the left is what will be rendered
and exported by swift.

Custom Camera and View

On either of your viewports, click on the button in the top left of the viewport.

One of the viewport options above is not self-explanitory.
And that is the perspective view.  The perspective view
is a dynamic viewport that allows you to click and drag
a small camera shaped object around the screen to set
the perspective.  For example, dragging the camera down
would lower the camera angle.  Once you enter the
perspective viewport, using it will be rather intuitive, I
promise :)  I personally dislike the perspective viewport, and
prefer to create a custom camera.

This part of the menu allows you to select
which perspective that viewport takes.
Most of these viewport options are
self-explanitory, however it should be
noted, that if a camera is created, it will
be added to this list.  Also remember that
the perspective your left viewport takes
is the perspective the movie will be
exported in.

You'll see a drop down menu, the top of which is shown below:

Wireframe consumes very little CPU, and should be used if good
performance is a priority.  Texture smooth shaded shows a lot of
detail, but can cause severe slow down on your PC.

This controls how objects are shown in the
viewport.   In deciding which option to use,
you will have to find a compromise between
clarity and CPU.  Using texture smooth
shaded will show your models in the viewport
with their textures showing as well as a basic
lighting display.  Smooth shaded shows
lighting, but doesn't show the material or
texture on your model.  Flat shaded takes
away the smoothing applied to your model.
And wireframe simply shows the edges
of all the polygons.

The second part of the viewport options are shown below:

Wireframe

Flat Shaded

Smooth Shaded

Texture Smooth Shaded

You can change the reference grid so it shows line running through
the x-y axis, y-z axis, and  z-x axis.  Unless you're trying to
line two objects up in some specialized scenario, I'd either turn
the reference grid off, or only use x-y axis grid.  Using all three grids
is too many lines, its very annoying.  But, play around with it yourself
and find what you like.
The show option gives you the choice to show hidden items and
something called an animation path.  I'd recommend using the show
animation path option sometimes so you can see how you moved things
throught the course of your movie.

These next two options aren't that
important in my opinion.
As you can see you are given the
ability to edit the reference grid.

Draw back faces option basically asks you whether you want Swift
to draw the part of the object that you can't see (which is the back)
I've found this to be a rather unimportant item if you're using
texture smooth shaded view.  However this can change how your
mesh looks dramatically if you're using a wirefram view.  The
wireframe view is generally clearer if you have draw back faces
set as false.
Frame all is sort of a zoom option for the stage.  If you select frame
all, the view will be resized so that all models, lights, and anything
else on the stage will fit inside the viewport.  If you select frame all
objects, the view will be resized so that all models fit (it doesn't care
about lights)  Reset view, well, resets the view size to the default.

The maximize option will make it so that you're only working
with one viewport.  The show all viewports option will reverse
that decision and give you back your two viewports.  I'd recommned
working with two viewports though.

You have two options for cameras.  The first is the free
camera (left).  I would not advise you to use this camera
as its lack of a target makes it difficult to aim.  I'd instead
recommend the target camera on the right.  This camera
is a good choice because the target allows you to easily
see what the camera will capture, and makes animating
it much nicer.  To add one of the cameras above to the
stage, look to the top toolbar on the screen and you will
see the items shown as they are above.  Click the target
camera (right).

Most of the time, a scene can be effectivly caputered through
the front, top, right, or left views.  However, sometimes, the
developer will want to create a custom view, one that he can
move around and animate during the movie, and manipulate
to his liking.

The Custom Camera

This is where I will begin the process of explaining how to use
the camera.  In my experiences, I have only used the target
camera, so that is the one I will explain (Yes, I do realize
how egocentric that is)
After you add your target camera, you may notice that its
only partially visible (or possibly not visible at all) on your
viewports.  To fix this, go to your right viewport and scroll down
the options to "Frame All", and you'll notice that the object
is visible in that viewport.
Then go to your left viewport, and scroll down that viewport's
options.  You will see options such as "left", "right", and "top",
but below them you will see an option called "Target Camera 01"
(unless you changed your camera's name).  You'll want to click
that option.
When you have your left viewport as the camera, you'll want to
set your right viewport as something complementry to that.
I'd recommend using front or top, and switching that viewport
around frequently during the development process.  Click frame all
on the right viewport to ensure that the camera is visible.

Drag this

Using your left viewport as a custom camera, and manuvering
that camera and modles using the right viewport is the most
effective technique I've found for viewing complex scenes.
The left viewport, which is showing what the camera sees, can
have the camera's target moved whilst in the camera's viewport.
What this means is that while you're in the camera viewport, you
can click on a red square at the center of the view (as seen below)
and drag that in any direction to move the target of the camera.

Camera lines.
Shows user
roughly what
will go into
the camera.

Target, center of camera's view

Camera as
object.

On your left viewport (which is the target camera), you can move
and manipulate the direction the camera points.  As well, you
can manipulate the direction your camera points on a front, top,
back, etc. viewport.
To find the camera in a secondary viewport, click in the top left
corner and select frame all as we did earlier in this tutorial.  From
your secondary viewport you can move the target of the camera
as well as the position of the camera itself.

So, you've learned how to create and manipulate the camera across
the scene, as well as using viewports effectivly.  In my opinion, creating
the camera should be a decision early on.  For most simple scenes, a
camera is rather pointless, as the viewport presets do just fine.
However, the camera is an invaluable asset for complex scenes.
Whenever using the camera, I suggest using the two viewport layout
I suggested (unless you have your own system) and remember that
whatever is in the left viewport is what will be rendered when you go
to the export editor.

This is an example of an animation made using a custom camera.  In
this animation, the objects never move, only the camera.  As of this
point, you probably don't know how to animate the camera, or any
object for that matter, but you do know how to create the camera.
Learning to animate cameras and other objects on stage is the next
lesson.

Sadly, this has been a rather short concept.  However the lessons
can be invaluable to creating a complex scene.  I cannot say
I have found many tutorials dealing specifically with this topic,
so all I can really recommend is just going back to Erain's tutorial
page.

This following section will cover animation in the scene editor.  Animating
Lathes and Extrusions are covered in their respective sections!
In this lesson I will go over using preset animations form the gallery as
well as animating using the timeline in the Scene Editor.  If you read the
section on Lathes or Extrusions, animating in the Scene Editor should be
a pretty easy transition.
Below is an example of using gallery animations to quickly make a decent
little clip:

Click Here

In all honesty, one of Swift 3D's biggest applications is making spinning
logos for Flash websites.  And that is why Swift 3D includes an animations
gallery.  Using this gallery, you can simply click and drag an animation
style onto a model on the stage, and that model with be animated.
To access the animation gallery, first look to the bottom right of the Swift
3D authoring environment.  There you will see the gallery.  Then select
the animation gallery.

Gallery Animations

As you can see here, you have 4 (unless you added more) categories
in the animation gallery.  Each category has a wide variety of preset
animations.  To test out an animation, click on the picture above the
animation's title.
To apply an animation to an object on stage.  Simply click on the animation,
and drag it onto an object on stage.  Then you will find that your timeline
has expanded to fit this animation.

Once you select the animation gallery, you'll see the gallery pop up to the
right.  It should look like the picture below (except you won't have the
"Attacks" choice, as I added that myself).

Onto this:

Drag this:

If you're familiar with the Flash timeline, you'll be both glad and frustrated
to know that Swift 3D's timeline is much simpler than the Flash timeline.
Swift 3D's timeline automates alot of processes.  For simple tasks like
animating a logo, this can be time-saving, but when animating a full
character, the timeline can be a pain.
The Swift 3D timeline is at the top

Timeline Animation

So how does the Swift 3D timeline work?
1.) It automatically creates keyframes when you edited a frame's content
2.) When you create two or more keyframes, Swift 3D will automatically
create a tween connecting the two keyframes.  Swift 3D will tween scale,
material, rotation, position, pivot, and shear automatically.  This means
that if you enter the timeline and goto frame 40, and give the shape in that
frame a diffrent material, position, and rotation, Swift 3D will automatically
fill in the 38 frames connecting the two atuomatically built keyframes.
3.) To make it possible to edit an object throughout the entire movie (instead
of on just one keyframe), you can turn animation on and off.
4.)  In the timeline, you cannot create your own layers.  Each shape/
mesh that you have on the scene has its own layers.  Each shape has
a layer for position, a layer for rotation, a layer for material, etc.
That's a lot to digest, so I'll go through it step by step.

By default, animation is turned off.  When animation is turned off,
the button is gray and says "Animate".  To turn animation on, click
this button.  Once you have animation on, the button will turn red
and will look like the button below.  To turn animation back off, simply
click the animate button again.

The first key principle of the Swift 3D timeline is that you can turn
the animation (and hence the timeline) on and off.  You need to be
able to turn animation off because of the fact that Swift 3D
automatically creates keyframes and tweens.  For example, if I had
a small animation, and wanted to apply a material to a shape on
both of the keyframes, I'd have to turn animation off.
Anyway, to turn animation on or off, there is a small button at the
top right corner of the scene editor.  (Seen Below)

That little redish-brown
thing is your keyframe.
You can drag the keyframe
right or left to add frames
or removes frames from
your animation.

This dark gray area
is your tween.  It
was created
automatically.

All right, now go up to your timeline, and click on frame 20.  Whilst in that
frame, slightly change the position of your object.  After you do that, you
should notice that your timeline has changed to be like the one below.

The second key principle of the timeline in Swift 3D is that it automatically
creates keyframes and tweens.  To demonstrate this, open up Swift 3D, and
add a mesh to the stage.  Than turn animation on.

They key here is that we have a seperate layer of the mesh for all of its
properties.  Each mesh can have its keyframes moved around to change
the start and the stop of the tween(transition).  The red frames have no
animation, the green frames do.  Thusly moving those keyframes can change
which keyframes (and how many) contain the animation.

This keyframe
starts the animation.
The red frames before
it contain no animation

The green frames are
the part of the timeline
where the animation
occurs

This keyframe ends
the animation.  The
red frames after it
contain no animation.

The third, and final, key principle I have to go over is the concept of layers.
Once you add a mesh to the scene editor, that mesh with have a series of
layers for each of its properties.  Take the example below:

Okay, that basically summed up animating in Swift 3D.  All you have to do
is select a frame on the timeline, change a property of the mesh in that
frame, and then Swift will do the rest by creating a keyframe and a tween.
Now, what can you animate with Swift 3D?  Simply put, just about anything.
Using the techniques I've explained, you can animate the camera, position
of shapes, materials of shapes, and basically anything.  Below is an example
of camera animation.

When you create an animation in Swift 3D where an object moves, Swift
3D fills in the objects position between the two keyframes.  By default, it
picks the shortest path possible for the objects motion.  This gives objects
a linear and sometimes difficult to customize motion style.
That's why we have something called Orienting to Path.  Orienting to a path
allows you to have an object that moves in a curvey or complex
trajectory.
To orient an animation to a path, begin by creating a small animation
in which an object changes its position, the steps of which are
outlined earlier in this tutorial.
To activate Animation Path mode, click on the button shown below.
In the Swift 3D authoring environment

Orient To Path

Basically, we can control how the object moves from one point to another
by editing our motion path.  And, yes, that black line is the path your
object will take.

Once you do this, click back on your object.  You should now see that
there is a small black line displaying your object's trajectory, like the
one below.

You can also move the two blue dots at opposite ends of the motion path
(black line) to change the starting and ending position of the animation.
Just remember that the black curve is that path that the object will take,
and that you use the small green squares (handles) to change the path.

So, how do I change my motion path's trajectory?  Well, that's what I'll
explain.  The small green squares connected by dotted lines to the path
are called "handles".  By clicking and dragging the handles, you can
change the trajectory of the object, making it more or less elongated.

This is the finished version of the example you just saw.  A motion
path was used to give the ball its curved trajectory.

<p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.erain.com/support/Tutorials/"><b>Electric Rain Tutorials</b></a></font></p>

<p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.swiftdev.com/index.php?categoryid=40"><b>SwiftDev - A Wonderful Swift 3D reference source</b></a></font></p>

That basically sums up animating in Swift 3D.  For more information
on animating in Swift 3D, consider the links below:

So, you know how to model, texture, and manipulate meshes.
Now you might thing that exporting is just a matter of pressing
the publish button and having a finish product spat out.  That
might've been true if Swift didn't have two diffrent rendering
engines.  Yep, two seperate rendering engines.  The first is
called Ravix and exports a vector, the other is called Electric
Motion and exports a raster.  (Although both export to
SWF).
Deciding which rendering engine is the key to your success,
maybe even the key to your survival.  If you make poor choices
in the rendering, your picture maybe too distorted to be
effective, or may be so large that your user will be disatisfied
with the wait.

Exporting

In simplest terms, vectors are small in filesize but consume alot of
processing power.  On the other hand rasters are huge in filesize
but don't require alot of processing power.
Why vectors work the way they do:
Lets say we have a circle.  A vector file stores a series of rules for
generating the circle while the program is being run.
The vector file will store the radius of the circle, and the center
of the circle, and will use the processing power to generate
the circle at runtime.  Because the vector file only stores a few
rules, the filesize is extremely small.  However, because the
images are being generated at runtime, the computer's CPU is
strained.

Vectors vs. Rasters

Rasters work quite diffrently:
In a Raster, the file doesn't store a set of rules.  Instead it stores
the locations and colors of several tiny dots composing the image.
For a detailed image, there are MANY tiny dots.  That means that
the Raster file is huge, having to carry the location of every dot.
However, when the program is being run, the raster is very light
on processing power.

Because Flash is used over the internet, size is a huge priority.
Oftentimes embedding too many raster files can make your
Flash have horribly long loading times.
For Flash, speed is usually less important than size.  Oftentimes
Flash is used to build small internet applications, where eliminating
load times is more important than eliminating lag.
That is why Flash uses primarily vector graphics.  If you draw a
circle in flash, you have created a vector, although you can
still important rasters into flash.
Because Flash Developers are looking to have very small filesizes,
vector graphics are dominant.  And that extends to Swift 3D.  No one
will wait 5 minutes so your animation from Swift 3D can load because
you exported in a raster.

What does this all mean for a Flash
developer?

In a recent exercise I performed, I took a 40 frame animation
and exported it in raster and in vector.  The raster was
over 2mb, whilst the vector was under 100kb.  This is an
enoumous diffrence!
And in terms of processing power, both the movies were able
to run at a steady frame rate even whilst the application
performed other operations.

Quantitive Diffrences

Raster

Vector

We've talked alot about vectors and rasters from a performance
standpoint.  But how do they stack up from a visual standpoint.
In the context of Swift 3D, rasters tend to produce a more
photorealistic look, whilst vectors tend to produce a more
caroonish look.  As will be gone over later, vectors have a number
of exporting options, so their look is far from uniform.  The
examples below show the diffrences between vector and raster.

Appearences

As you can see, the vector definitly captured the color of what
it was reflecting, but not all the intracicy.  What you've seen
should give you a good idea of the diverse appearences of
vectors and rasters.  Vectors are very dynamic, and their
rich looks will be covered later in this tutorial.

Vector

Raster

One thing to note is that vectors handle reflections much more
poorly than rasters do, as well they tend to have much less
detailed color.  However, vectors have their cartoony appeal.

Vector zoomed in

Raster zoomed in

Vector Normal Zoom

Raster normal zoom

When you zoom in on a raster, the image becomes pixelated, this
however does not occur in a vector.  Use the pictures below as a
reference.

Assuming you're planning to publish your Swift file in Flash, vectors
are usually the way to go, especially if you're making an animation
(because Raster animations are HUGE).
Using vectors, one could produce a rich 3D animation for a website
in well under a megabyte.
Of course, which rendering option to use depends on your needs.
If you plan to eventually turn burn your movie to a DVD
(where filesize is irrelavent), than rasters are a good idea.
Rasters are also feasible in a Flash if you're only using a
single picture (which will be large, but manageable).

Vectors, usually the way to go

As of this point I've taught you that there are two rendering engines
and I explained a little bit about them.  I've talked about how they
look, and how they perform, but I've never truly explained how they
work.
After you enter the preview and export editor, you'll be faced with
the big question: vector or raster?  In this tutorial, I'll begin by
going over how to export rasters.
Look to the left and you will see a toolbar that says "Export
Options", that is where the bulk of this tutorial will take place.
Once you have your export options in place and want to actually
render, look to the right and select render all frames or render
selected frames (rendering a single frame is useful for testing out
multiple rendering options).

Exporting options: How to get the most out of your
rendering experience!

The File Type

This box displays what file type
you raster will be rendered to.
The default filetype is SWF, as
that is the best export type for
most applications.

PNG

This file-format is ideal for if you
are interested in internet publishing.
PNGs are very small in filesize and are
relativly high-quality.  This is a good
format for web-based imagery
although bmp is better for making
DVDs.

JPEG

This is a popular Raster/image
file format.  If you are planning
to print off your movie or burn
it to DVD, this is a good choice.
JPEG does produce compression
artifacts if it is sent through
photo-editing software.

TIF

This file format is extremely poor
for internet publishing due to
compatitibility issues.  This format
is also larger in file-size than Jpeg.
However you can transfer a TIF
from program to program with no
loss of quality.  So use this if you plan
to edit your images in photoshop.

BMP

BMP produces images with a very
large filesize, however the image
quality is quite good and is best
used in an application where
file-size is not important.

TGA

This is one of the older file formats
for animations.  I've never found
a good use for TGA.  BMP always
seems to be a better choice when
file-size isn't a factor, and PNG
is always better when filesize is
a factor.

The SWF

This is probably the best choice.
The SWF is the file type that can
be uploaded to newgrounds, and
the SWF can be easily imported
into Flash.  The one problem with
this is that the SWF cannot be
easily burned to DVDs and cannot
go directly into most photo-editors.

Below you will see the option to select your file format.  Rollover the image
below to read about the diffrent file formats.

Your first option should be to look to the top of the output options and
select raster.

Export Options for Rasters

So basically, if you're looking at putting an image or series of
images on the web, I'd go with JPEG or PNG.  For making
non-internet images, I'd go with bmp.  For making something
you want to be read by the flash player, or imported into
Flash, I'd go with SWF.  SWF is very good for being distributed
over the internet, although sometimes using an image file type
is better.
The next set of options you have go over quality settings.  The
first you'll encounter is Color Depth (unless you've selected
SWF).  Color Depth basically says how many diffrent colors
the final image will be composed of.  A higher color
depth leads to a richer image, but also increases the filesize.
The next option is antialias quality.  Basically, antialias reduces
jagged edges.  High antialias (4 x 4) can virtually eliminate
jagged edges.  However, antialias increases filesize and rendering
time.  What setting you choose depends on how much quality
you're willing to give up to make a small file.

Once you have the render setting together, look to the right of the
output options, and click generate all frames to render you entire
animation, or click generate selected frames to render the frames
selected on the timeline above.  Generate selected frames is useful
because it allows you to render a single part of the animation to see
how effective your specific render settings were.

When it comes to rendering vectors, you have a variety of complex
choices.
In fact, you have three categories of options: General, Fill, and
edges.  The first I'll go over is general.

Vector Rendering Options

You can switch between diffrent option subsets by clicking on
the 3 choices at the top of the output options bar.

Basically, you have a few subsets of options for exporting in
vector format.  Those are: General option, fill options, and
edge option.

General Vector Options

The next page or so will be devouted to explaining the options seen
above.

The first major set of options we have is the General set of options which
can be seen in the screenshot below.

You can also choose to export to SWF, SVG, EPS, and AI.  If your goal
is to display your Swift file directly on the internet OR import your Swift
file into Flash, SWF is the best file format choice.  If you're looking to
integrate it with Adobe Illustrator (as might be useful in print publishing),
choose AI.  SVG is sometimes used in web-design and EPS I've seen used
in 3D modelers.  But I personally always use SWF, as I'm sure most Flash
Developers or Swift users will.

The first option you'll see is target file type.  The default you will probably
have is SWFT, which stands for Swift 3D Flash Importer.  This file format
is a little unique, so pay attention.  When you installed Swift 3D, it
probably gave you a choice as to whether you wanted to install the
Swift 3D Flash Importer.  If you did install the Swift 3D flash importer,
than SWFT files can be imported into Flash with seperate layers for diffrent
colors, and a few other nice features.
However, if you did not install Swift Flash Importer or if you don't really
like the features of the SWFT, then simply choose to export in SWF instead
of SWFT.

On the other hand, if your target type is SWFT, you'll see a checkbox
for an option that asks whether you want the file to seperate moving
and stationary objects onto layers.  If you're using SWFT instead of
SWF, it seems likely you'd want to capitalize on this feature.  However,
you're still given a choice.

As I go over the following options for exporting in vectors, I will work under
the assumption that your target file format is SWF or SWFT.
The next option below will depend on whether you're using SWF or SWFT
target file format.  If you have choosen SWF, you'll be given the option
of file level.  That option basicaly deals with what Flash Player version your
SWF will be targeted for.  Unless you're using a version of Flash older than
Flash 5 or are aiming your Swift project at very ancient users, you'll want
to keep this option at the default "Flash 5".

The next option you'll come acrossed is also a question of
file-size vs. quality.  Although the natural thing to do is to crank
up the detail level to high, the smart thing to do is to render a
single frame at low, and if that isn't of sufficient quality, increase
the quality level a notch.  Oftentimes using low detail level can
produce a sufficiently good product, but at a much smaller filesize.

The next option down is called Curve Fitting.  How you deal with this one
is all a matter of file-size vs. quality.  Because of how vectors are stored,
curves consume way less filesize than lines.  So turning that slider to the
right can cut down on filesize alot, but it also might distort your final
image somewhat.  They key here is to find the right compromise for you
own project between size and quality.

However if you don't combine edges and fills, the edges and fills in the SWF
can be breaken into seperate units rather easily.
The best advice on this option: Keep this box checked unless you have a good
reason to uncheck it.  In most cases, combining edges and fills is the clear
choice.  Combining edges and fills reduces filesize and also makes the
final SWF easier to work with unless you have a specific reason
to want to have seperate edges and fills.

The last general option asks if you want combine edges and fills.  .  Edges are
the lines surrounding your object and fills are the colors that well, fill, your
object.  The next couple of pages will explain edges and fills more effectivly.
Basically, if you import an SWF into Flash with combined edges and fills,
your Swift object is one unit where the edges and fills are hard to seperate.

The Fill is the color
that is between
the edges.  It truly
does "fill" the object.

The edge is
that thin circle that
surrounds the object.

The other two parts of vector rendering options are Edge Options and
Fill Options.  But before I explain the options for edges and fills, I must
explain what they are.  In a vector made in Swift 3D, there are two basic
components: Edges and Fills.
Edges are lines and curves that outline your object.  Fills are the colors that
permeate the bulk of an object.  This is a little akward verbally, so I've
provided a visual example below.

Edges and Fills: They compose vectors

No Fill, only edges:

No edges, only fill:

As a further example, I have shown the same shape, one where edges are
ommited, and one where fills are ommited.

Well, I hope that brief little talk explained succesfully what a fill is
and what an edge is.  Now its time to actually explain the options
you have.  To be honest, its really amazing how much variety can
be made from one scene just by changing the fill options.  To be
clear, edge and fill options don't change the actual color of your
meshes from the scene editor.  Rather the options change how the
colors of your mesh are displayed, the varities of which can be
dramatic.
Our first step in this two part process will be fill options.

Above you can see the fill options that I'll go over.  The first
option is pretty simple, you can choose whether or not you
want fills.  And unless you want to have an SWF that is just outlines,
I recommend you check this box.
The option below is the major one: The Fill Type.  This is very, very
important.  I will spend the next few pages going over the fill types
one by one.

Lowest File size, Lowest Color Detail

This is the first fill option we have.  This fill option basically boils down
every material you have to a single color.  Quite honestly, this fill option
doesn't do most 3D scenes justice.  However, this fill option is as good
as it gets when it comes to file-size.

Cartoon Single Color Fill

This is a step above Single Color fill in terms of color detail, but sadly
it is also a step above in terms of filesize.  This fill type was created
as a compromise between size and quality that would suit the needs
of most designers looking to add simple 3D animations to websites.
I personally don't think Average Color Fill is that great of a compromise,
but ultimatly what is the best compromise will depend on where you're
aiming to use your Swift application and your own aesthetics.

Cartoon Average Color Fill

This option is a dramatic visual departure from the two Fill types I just
went over.  But in many ways, that is a good thing :)  This consumes
more file-size than average color fill, but also is more detailed and very
diffrent visually.  In this scheme, the object has two distinct colors,
generally a light and dark variation of a certain color as to reflect
lighting.  This is one of my preffered methods for Swift 3D exporting.
Its not prohibitivly large, but it also packs a visual punch.

Cartoon Two Color Fill

This fill type is similar to the two color fill, except that it has four colors
on the object instead of two.  Generally the colors on an object are
diffrent shades of material on the object which reflect the lighting hitting
the model.  The use of four colors to fill instead of two makes the scene
more detailed, but it also makes the object higher file-size.  This is my
ultimate favorite of all the fill options for most applications.  Aesthetically
I love the cel-shaded look, and the file-size is pretty good for what you get.

Cartoon Four Color Fill

Our next option is the full color fill.  This option is rather diffrent
because instead of assigning every model a few colors, this
assigns each polygon a color, giving it a very detailed look.  This
fill type produces a hefty file-size, so use it cautiously.  This produces
a better image (but also a much larger image) if the models used have
a high polygon count.

Cartoon Full Color Fill

The models produced by Area Gradient Shading have a certain appeal to
them.  In this scheme a single complex gradient is applied to an entire
mesh.  In most cases, this produces objects with relativly small file-sizes,
so I'd be sure to check this one out :)

Area Gradient Shading

(I couldn't make this an animation
because it added too much to the
filesize)

This is our final fill type.  It is the most consuming in terms of
file-size and it is also the most detailed.  This Fill type basically
applies a gradient to each polygon, giving the overall SWF a
huge file-size.  I would rarely recommend recommend using this,
just for file-size reasons.  This can produce extremely detailed
images and animations.  One time I was able to produce a vector
using this file type that displayed an image near flawlessly, but the
vector file turned out to be much larger than the raster equivalent ><

Mesh Gradient Shading

Cartoon Single Color Fill                         9 kb
Cartoon Average Color Fill                    15 kb
Cartoon Two color Fill                           47 kb
Cartoon Four Color Fill                        104 kb
Cartoon Full Color Fill                         292 kb
Area Gradient Shading                          12 kb
Mesh Gradient Shading                       778 kb

Test:          Mesh with 1684 polygons

Well, in the last few pages I summed up all your diffrent fill types.
I gave you good examples of how they stacked  up visually, but I
only gave vague explinations of file-size.  Below I will explain a study
I did where I created a single mesh, exported it with diffrent fill types
and compared their file-sizes.

How do the file-sizes actually stack up?

Including specular highlights, well, includes these highlights or
glints on the objects.  The number of Specular levels you choose
changes how detailed and complex the highlights are.
I personally find this option to only be useful in the rendering of
complex scenes.

Alright then, that basically sums up your diffrent Fill Types.  The option
below fill type is called "Specular Highlights".  Basically, specular highlights
are concentrated light reflections.  They are the bright glints that come off
of shiny objects on a sunny day.

Opaque
Object

Shadow

The next two options are pretty self-explanitory.  Including reflections
includes lights reflected off of objects into the scene.  Reflection
Depths might take a second of explaining though.  The reflection depth
is the number of times a reflection can be bounced from object to object.
I've found that using a reflection depth of 2 or 3 usually does the trick, and
the benefits of higher reflection depths tend to be negligable.
Shadows are pretty self explanitory.  You should know what a
shadow is.  But if you don't I'll explain it.  A shadow is a region of
darkness which has resulted from an opaque object blocking a light
source.

Well, I've gone over the general and fill options for vectors, edge options
is going to be the conclusion of my explination of vectors.  The edge options
I will explain can be seen in the screenshot below.

Edge Options

Outlines:

Entire Mesh:

The next option we have is a little more complicated.  You are given a
drop down menu which asks if you want to have your edges be "Outlines"
or "entire mesh".  Basically, if you choose outlines, edges will be drawn
only when the object end, or when one mesh touches another part.  "Entire
mesh" draws the edge for every single edge in the mesh.

The first edge options is very simple.  It is a choice of whether or not
edges should be included in the first place.  The default is that edges are
off.  To be able to edit edge options, you must click to include edges.

Hidden edges:

No hidden edges:

The example below should help:

The next option down is including hidden edges.  Hidden edges are edges
that exist but are hidden to the user due to perspective.

Our next option: Detail Edges, is a little bit more complicated.  Before
I basically said that you can have Entire Mesh, which shows all the edges
of every polygon, and you can have Outlines, which shows only the edge
of every object.
Whilst you have those two major options, if you selected Outlines, you can
include detail edges to make the object sort of a hybrid between Entire
Mesh and Outline.  If you selected Detail Edges, you can control how many
detail edges it draws, giving you precise control over what your edges look
like.
The option on top that says include detail edges is an on/off button.
And below there is an option that allows you to choose a
"Detail Edge Angle" from 0 to 90.  If the Detail Edge angle is 0, the
mesh will have every single edge for every single polygon drawn.
If the detail edge angle is 90, no detail edges will be drawn.  If you
choose any number in between 0 and 90, you'll get a differing number and
style of edges.
That's a bit complicated so I've included some visual examples.

Setting detail edges right takes alot of experimenting to see what option
suits your needs.  Today I've shown you the two polar opposites, but there
are alot of possibilities, so keep experimenting.

Has Detail Edges
Detail Edge angle 0 degrees

Has Detail Edges
Detail Edge angle 90 degrees

Line Weight is basically the size of the edges.  Hairline is the
smallest and 10.00 pt is the largest.  My personal preference
is 2.00 pt.  Hairline is sometimes not noticable and some of
the really line weights can overpower other visual elements.
The next option is pretty simple too.  Line Color controls the color
of your edges.  I personaly find black to be much better than other
colors, but I still advice you to play with the colors to try to make
some new and original looks.

The next (and last) two options are pretty basic.

Since you've already selected the target file format and all the
export options, all you have to do when you press the button is
name your file and choose where you want the exported frames
saved.

Well that basically sums up export options.  Now that would be
the conclusion.  But there are still a few things left : )
Okay, once you render your scene, go to the top right corner and
you'll see options that say "Export All Frames" and "Export
Selected Frames".  If you want to export an entire animation,
press Export All Frames.  If you only want to export a single frame
or a group of frames, hit Export Selected Frames.

Once you've imported the animation into the library.  Press Ctrl +L to
see the library, and drag an instance of the animation movieclip onto
the stage where you want it.  The Flash section (following the Swift
tutorial) will explain, libraries, instances, and lots of other good stuff.

Since many of you are probably interested in integrating Swift 3D into
Flash, I'll go over the process by which SWFs from Swift can be brought
into a Flash FLA (its very simple).
Okay, when you import your Swfit SWF into Flash, it will enter Flash as
a series of keyframes.  Now, you first plan might be to enter flash, then
import your Swift 3D SWF to the stage.  That's not a good idea because
each keyframe will be on the maintime line, which isn't as neat and tidy
as having the entire swift animation in one MovieClip.  To do this, go to
File > Import > Import to Library.

Well, that basically sums up rendering in Swift 3D, and in fact it
sums up all the actual Swift 3D lessons I have to offer.  However,
the next topic in this tutorial is a brief quiz designed to test and
reinforce your knowledge.  I leave you with yet another reason
to question my intellectual faculties.

This section is sadly the conclusion of this Swift 3D tutorial.  *cries*
This tutorial begins with a nice little quiz that tests what you'e learned,
as well as a list of links.
A note on the quiz:
You will be given a list of choices.  Selecting the right choice will skip
the explination and send you to the next question.  Selecting the wrong
choice sends you to an explination.  No ones keeping score, the quiz
is just there to help you find out what you don't know.
Its easy to "cheat".  I realise that you can use hotkeys to skip around
the quiz at will.  But it's not really the kind of quiz where you'd want
to cheat (because there's no point).

Quiz and Knowledge Reinforcement

I don't know

Scene Editor

Extrusion Editor

Advanced Modeler

Lathe Editor

For modeling a soda bottle, which of the below tools
would be the most effective?

This question asks what is the best tool for modeling a soda bottle.
First of all, a soda bottle has radial symmetry, which makes it perfect
for the lathe editor.  Lathe editor was the correct choice.
The scene editor is wrong, because only primatives can be added.
There is no primative that accuratly represents a soda bottle.
The Extrusion editor wouldn't work, because the extrusion editor
just gives depth to 2D images.  Although one could make a 2D outline
of a cup and give in a circular bevel, that wouldn't produce a very
nice looking or precise bottle.
The advanced modeler could make a soda bottle, as it can make anything.
The easiest way to do it in my mind would be to create a cylinder and scale
certain parts of the cylinder to give it a wide and then narrowing look.
However, that would take longer than creating the same thing in the lathe
editor, which makes it a technically inferior choice.

You got it wrong.  Time to see why.

Which of the following does not have its own timeline
for animation?

Well, this is the kinda thing you just have to know.  And its
the kind of thing you'll need to know.
The Scene Editor has the main animation timeline, whilst
the Lathe Editor and the Extrusion editor have their own
timelines for objects they output to the scene editor.
The advanced modeler has no timeline, making it the correct
answer.

Why did you get it wrong?

Face

Side

Vertex

Polygon:

Which label in the diagram below is wrong?

What you just saw was a standard polygon used in 3D modelers.
The center part of the polygon is called the face, which was
labeled accuratly.  The 3 points of the polygon are called
verticies (plural for vertex).  That part was labeled correctly.
The lines composing the polygon are called edges, not sides.  That
part was not labeled correctly, and was the right answer.
But hey, labeling polygons doesn't matter, right?  Wrong!
Understanding the terminology of 3D modelers or any
science is neccessary to communicate with other workers in your
field and is needed to exploit the technology to its fullest
potential.  So learn that vocab!

You got it wrong, time to see why!

Infinite

Circular

Bilateral

Radial

A lathe editor object has which type of symmetry?

This question asks what kind of symmetry all Lathe Editor objects
have.  The correct answer is radial.  That means a theoretically
infinite number of lines of symmetry can be drawn through the
object's center.
Circular and infinite sound right, but aren't the right words.
Bilateral is wrong because bilateral means 2 lines of symmetry.

You got it wrong : ( Time to see why!

The scene is being rendered as a vector

The scene is simple

The scene is being rendered as a raster

The scene is complex

Trackball lighting is better than scene lighting when _______.

Trackball lighting is the best lighting scheme for simple scenes.
That is because it is easy to use, and gives you rather good
control for the time it takes.  Also, trackball lighting schemes can
be saved and reused.
Trackball lighting is usually bad for complex scenes because they
can't be located inside a certain object (like a lamp).
Trackball lighting and scene lighting are good for vectors and
rasters.  Although an arguement could be made that vector
animations can't reap the same benefits from scene lighting that
vectors can.  If you're making that arguement, pat yourself
on the back (metaphorically of course).

You got it wrong, time to see why :)

They can be imported into Flash

They're more detailed

They have a smaller filesize

They are easier on the CPU

Vectors are better than rasters because __________

The correct answer is that vectors consume less filespace.
The first choice is wrong, because (at least as far as Swift and
go) rasters are harder on the CPU.  The third choice is wrong.
Although vectors can be more detailed than rasters, this isn't
an inherent advantage to the file format.  The fourth choice
is wrong becuase both vectors and rasters can be imported
to Flash.

You got it wrong or didn't know... :(

Abandon his project.

Change one/both of the viewports so they show objects
in Wireframe or Flat Shaded mode.

Learn to ignore the lag.

Delete the high polygon meshes.  Anything that causes
lag isn't worth keeping.

A man is composing some objects he made using the
advanced modeler.  In the scene editor, he is noticing
lag when viewing multiple high-polygon meshes.
He should _______________.

The right answer was to change the viewing settings for
one or both of the viewports.
Deleting a good high polygon mesh isn't a smart thing to
do, because you're pouring your work down the drain.
Living with the lag is not smart, because there's a work
around.  And giving up is never the answer!!!!!!!
When experiencing lag, changing the viewport settings is
a good idea.  To do this, click at the top left of the viewport
where it says "front - Active" (or something else).  And
scroll down.  If you haven't changed it, there will be a check
next to "Texture Smooth Shaded".  This setting is very CPU
intensive.  To save CPU and prevent lag, select an option
such as Flat Shaded or Wireframe.

You got it wrong : (

False

True

Models can be stored to the gallery

Models

The lol thing is a joke.  Laughing at someone's mistake
isn't nice or appropriate.  Anywho, you can save
models to the gallery.  Just go to file, scroll down to
save model, and the rest should be pretty easy.
To retrieve your model, go down to the model, go down
to the left of the gallery, and select the model gallery

You got it wrong.  lol...

Games can be made inside
Swift 3D.

Games cannnot be made inside Swift 3D.  The reason
is because Swift 3D has no scripting language.
Swift 3D can only export raster or vector images/series
of images.
Now, one could take objects from Swift 3D
and use them to make a game in Flash, which is a fun
idea.  But that's not what the question asked.
Yep, no games in Swift :/

You got it wrong :(

Environments in Swift are like backgrounds.  They're what
is behind the visible objects on screen.

Well, evironments in Swift 3D cannot be seen directly
by the camera.  And they don't appear behind the
objects on screen.  Rather environments can only
be seen when they reflect off of objects in the scene.

Wrong I see, Time to learn from your
errors!

Which of the following is the best tool for modeling
the bulk of a detailed car?

Advanced Modeler is the correct choice.  The scene
editor can only make primatives, so it could not
make most of the car.  I can imagine the wheels
being made with the lathe editor, and well as
some other elements.  But the lathe editor couldn't
make the bulk of the car.  The extrusion editor could
make a few specific parts, but still couldn't make
the bulk of the car.
The advanced modeler could make the bulk of the car
due to its ability to manipulate specific polygons.

You got it wrong.  Time to reinforce
your knowledge!

Its phyiscally impossible

Put a series of target spot lights in the car's lights

Put a series of free spot lights in the car's lights

Put a series of free point lights in the car's lights

Change the trackball lighting scheme

The guy who modeled the car in the last question has
finished.  He now has a spiffy little car.  However, he
wants to make it so that the front lights on the car
radiate light that interacts with the rest of the scene.
How would he do this best?

The correct answer is using target spot lights.  The first
choice is wrong because trackball lighting cannot give
light a source or origin within the scene.  The last choice
is wrong because giving light an origin within the scene
is definitly possible.
So basically, we're left with free point and target spot
lights.  Which is the better choice.  Well, every car light
I've seen radiates a somewhat concentrated stream of
light in one direction.  Which is what a spot light does.
If you see a car light as radiating light equally in all
directions and thus choose free point lights, be happy
than give yourself a pat on the back, because you had
a good string of thought.

You got it wrong, or didn't know the
answer :(

How sharp or blury the material is

The standard deviation from linear forms in the pattern

The size of the patterns the material makes

The volume of the noise made when the mouse
rolls over the material

The Distortion of the material's pattern

When creating a new material, what is "noise"?

Well, when designing a pattern/texture, you can select
the noise.  The Noise levels set how much the pattern
in the material is distorted.  The third choice was correct,
noise is the amount of distortion to the pattern.
Noise isn't a standard deviation from linear forms
because a completly non-linear pattern can be distorted
and not become less linear.  Although when noise
is applied to a linear pattern, it may become less
linear.
The noise has nothing to do with the size of the patterns
in a material.

Which of the following tools is used to assign
a surface group to a mesh?

Click inside
the red circle

then...

Well, this deals with the capacities of diffrent tools in Swift.
Applying surface groups is used to seperate meshes into
selections.   The big use I've found for this is applying seperate
textures to one mesh.  Although there are other modeling uses.
The correct answer is the advanced modeler.  That is where
surface groups can be applied.
To create a surface group, use the face selection tool and
select a part of the mesh.  Then go to the toolbar and the
right and click the bar that says surface groups.  Then
look below to where it says "group selection"

You got it wrong, time to see why

If you are decomiling
this SWF.  CLOSE
your decompiler now
or else...

(Yes, I do realise this is the most lazy security device ever created)

This tutorial was submitted by
BigAl620(Alex).

If this wasn't submitted by BigAl620(Alex),
please flag it.  Thank you.

Yes, but it needed improvement

No, It was very flawed

Yes, couldn't be better

Yes, couldn't be better

Yes

Did you like this tutorial?

As a flash-producer, I cannot stress enough how useful good
reviews are.  In fact, that's a big reason why Newgrounds
is the Flash capital of the world.
So, if you didn't like something, leave a review.  And be
honest about its good qualities as well as its faults.
Thanks, I truly appreciate that you have spent your time
on this product.
I hope you have learned alot.
If you've ever wondered if Flash producers on Newgrounds read
reviews, they do.  Reviews are very important.  Honest, praising
or critical, reviews really do push Flash developers forward.
And the ideas you put into your reviews play a HUGE role in
shaping an artist's future productions.  So leave a review!  :)

Why didn't you like it?

Go back to main menu

Continue to Flash section

Sadly, the Swift section has to be concluded here. But as
Picard once said, "All good things must come to an end"

Conclusion

Chapter 3: Beyond the Basics

This chapter expands upon the topics in the first two chapters,
covering music, debugging, publishing your flash, compression,
and includes a quiz on this entire Flash tutorial to reinforce your
knowledge, that explains all the answers if you're wrong.

Chapter 3: Beyond the Basics

This chapter expands upon the topics in the first two chapters,
covering music, debugging, publishing your flash, compression,
and includes a quiz on this entire Flash tutorial to reinforce your
knowledge, that explains all the answers if you're wrong.

Chapter 2: ActionScript

This chapter covers the ins and outs of ActionScript, in a very
detailed manner.  This knowledge will allow you to do very
complex things in Flash.

Chapter 2: ActionScript

This chapter covers the ins and outs of ActionScript, in a very
detailed manner.  This knowledge will allow you to do very
complex things in Flash.

Chapter 1: The Foundation

This chapter covers creating documents, using the timeline, instance,
linkage, and other important concepts neccessary to understanding
ActionScript and more advanced topics.

Chapter 1: The Foundation

This chapter covers creating documents, using the timeline, instance,
linkage, and other important concepts neccessary to understanding
ActionScript and more advanced topics.

Flash Tutorial

ActionScript

General Flash

Foundation Flash

The sections below covers the use of Flash

Foundation Flash

300+ Pages

MAIN MENU

Reinforcement Quiz

Components

Preloader

Debuging

Properties

Filters

Publishing Flash

Using Text

Basic Actionscript

Linkage and Instance Names

XML

Music

General Structure

Toolbar

Symbols

Color Panel

Timeline

Tweening

Creating Documents

Flash

Properties

Properties

This goes over a few important
properties of the movieclip class,
such as alpha, _x, _y, and more.

Linkage and Instance Names

Linkage and Instance Names

This lesson explains linkage,
linkage identifiers, and instance
names.  It goes over assigning
them.  This is a key pre-requisite
to chapter 2.

Introduction to Computer Science

Introduction to Computer Science

This covers binary, machine
language, as well as how Flash
is a virtual machine and how
the Flash Player produces
machine code.

Toolbar

Toolbar

This covers the many tools in
Flash such as the free transform
tool, the gradient transform tool,
and the pen tool.  This is the
shortest lesson in the tutorial.

Tweening

Tweening

This covers how to create shape
and motion tweens, as well as
creating motion guides and
shape hints.

Timeline

Timeline

This teaches the user about
diffrent types of frames on
the timeline as well as layers.
It also teaches the basics of the
Flash hierarchy and how to use
it.

Basic

Basic

This is designed for people who
don't own Flash, are using it for
the first time, or don't know
what an SWF or Fla is.

Creating Documents

Flash Chapter 1: Foundation

Once you have Flash installed and activated on your PC, you're ready to
continue into this tutorial.

Also, if you're a student or a teacher, Macromedia has a nice
education discount on all their products.

Or you can try to buy flash used on Ebay.

<p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><a href="www.macromedia.com"><b>www.macromedia.com</b></a></font></p>

Before I do anything else in this tutorial, I will need to assume that
you have Flash and have the product installed.  Flash and the Flash
Player are very diffrent.  The Flash Player reads Flash.  Flash makes Flash.
The Flash Player is free, however Flash costs money.  It can be bought
through macromedia or other resellers.  The link to macromedia is below.

Basics

Before I go over creating a document in Flash, I have to explain what
a document in Flash is.  When you start up Flash and create something,
and then save it, you are saving your file in .fla format.  Files saved in
.fla format can be read by computers with Flash.  The Flash Player
cannot read the .fla, only the program for making Flash can.
So basically, the Fla is the format you use whilst editing or developing a
Flash, it cannot be used in mainstream distribution on websites.
However, inside of Flash's authoring environment, one can produce
a file called an SWF, which can be read by most internet capable PCs and
can be posted on Newgrounds.  However, the SWF cannot have its
content edited unless one uses a special program called a
decompiler to derive the Fla from the SWF.
So in conclusion, Flas are the files you use when you're developing
a flash, they can only be read by the Flash program.
Swfs can be read by virtually anyone, and are the finished product of
the Flash devlopment process.  They are published on the internet, namely
in Newgrounds.

Yep, you want
a blank Flash
Document,
which is an
FLA.

The first step in the Flash development process should be to create an
empty Fla through which to build content.  Producing an SWF from that
FLA will be covered later in this tutorial, in the "Publishing" section.
When you open Flash, you'll be given a series of options for what to start
with.  For 99% of this tutorial (the exception being the use of AS files in
some of the Actionscript section), we'll be starting with a blank, normal
Fla.  To begin your adventures in Flash, click Fla.

Well, I hope you enjoyed that beginner lesson on Flash.  For alot of your
Flash users, that was pretty redundant.  But the rest of this tutorial is alot
more advaned than that, so you'll probably learn something new, even
if you're an intermediate or even advanced Flash user.
This first lesson was aimed at people who are just starting out, or have
never even opened Flash before!
But whether you just created your first FLA or your 500th, I think you'll find
something interesting or useful in this tutorial, so stick around :)

What the timeline means to you will depend on whether you're
a programmer, an animator, or a little of both.  An animator
will see the timeline as the heart of the movie that controls
how the contents of the scene change over time.  Many
programmers opt to ignore the timeline, making their entire
game in a single frame.
Others see the timeline as an easy and convenient way to store
data, allowing the user to move around to diffrent frames of the
timeline.  One good example of this approach towards the
timeline is the tutorial you are using right now!  In this tutorial
each page is a frame.  However, unlike in a
movie, my tutorial doesn't play through all the frames, begining
to end in a linear fashion, as is done in a movie.  In this tutorial,
the user moves from frame to frame at their own pace.

Timeline

Here I've listed the concepts at the heart of the structure and function of the
Flash timeline.  Read over them briefly before continuing, as they will be
explained in great detail, clarity, and scope later on.
1.  The Flash timeline is composed of keyframes and frames.  Keyframes hold
content, whilst regular frames hold the content of the keyframes.  This would
allow me to create one keyframe from that holds my background, and then
have 100 regular frames after it.  Each frame will have the background in the
keyframe.
2.  The Flash timeline is composed of a series of layers.  At a single
point on a layer, there can be a keyframe, a plain frame, or nothing.
In order to have multiple keyframes at one point on the timeline, I have
to have multiple layers.
3.  In the Flash, the highest layers will be closer on the screen.  For example, if
I have a red circle on my top layer and a black circle on the bottom layer,  the
red circle will appear over the black circle in the Flash.

Core Timeline Concepts

4.  Each movieclip in your flash can have its own timeline, as full and
comprehensive as the main mainline.  In this way, Flash's ability to organize
data, graphics, and animation can be greatly increased.  Also, movieclips
can be indefintly embedded inside of each other.
5.  Simple Actionscript functions can be used to stop, play, or control
the timeline with no past programming/scripting experience.
Sound like a lot?  Well, it is.  So I've built this entire section to explain it.

Types of Frames

In Flash's timeline, the keyframe is marked by a black circle at the bottom
of the frame.

This is your keyframe.

The first type of frame we have is called the keyframe.  This is
the type of frame that actually holds content.  A keyframe can
hold actionscript codes, graphics, movieclips, you name it.  Every
non-keyframe after a keyframe is simply a holder of its content.

The key concept here is that every frame following the keyframe
is simply a holder of its content.  It has no content of its own.
Editing the keyframe will edit the content of every frame after it.

The plain gray rectangles after the keyframe (rectange
with circle at bottom) are plain frames.

The second type of frame I'll go over is the plain frame.  This type of frame
contains no content.  It simply holds the content of the last keyframe.

Blank keyframe
has empty circle
at bottom of
frame.

Regular Empty frames

The next type of frame is the empty keyframe.  This is the same as the
regular keyframe, except that the empty keyframe contains no content.
Every regular frame after the empty keyframe will have no content.
If one takes a keyframe with content, and removes the content, the
keyframe is converted to an empty keyframe.

The final type of frame we have to go over is the blank regular frame.
This frame is a placeholder for a blank keyframe.  If a blank keyframe
becomes a regular keyframe, the blank regular frame becomes a regular
frame.
Below I've shown what happens to the timeline when content is added to
the keyframe.

Regular Empty Frames

Regular Frames

Blank Keyframe

Keyframe

That basically sums up the types of frames we have.  Below I've shown
the appearences of the diffrent types of frames.

Each layer has its own keyframes, and frames as holder's of the keyframes
content.  Another thing to note is that whenever working in Flash, you
always have a single layer selected.  If you draw anything on the scene, it
will be put in the layer you have selected.  So be very conciouss of what layer
you have selected, its easy to put content in the wrong layer.

As of now, I've only shown you the timeline with one layer.  Now that's fine
for starters, but what if I want to have two seperate animations to occur
at the same time on the timeline?  Or what if I want to seperate my
background and my character into seperate keyframes so they are easier to
edit or animate seperatly?
Well, the answer is layers.  Each layer has its own autonomous set of
keyframes, frames, and graphics.  The example below illustrates this
effectivly:

Layers

Content in "Bottom" Layer:

Content in "Top" layer:

Another important concept of the timeline is that layers are stacked on top
of each other on the stage with the highest layers on the timeline appearing
in the foreground.  This is a little hard to explain verbally, so I'll try to make
it clearer using a visual example.
In this example, we have two layers.  One is named top and the other is
named bottom.

As you can see, the layer named "top" with the red circle was stacked
above the layer with the black circle.

Here is how the scene looks with both layers showen:

However, if we switch the two layers, moving the "top" layer to the bottom
and the "bottom" layer to the top, we will find that the foreground has
switched to the background and vice-versa.  So basically, layers on top in
your timeline window will appear "on top" of other layers in your actual
Flash.

When you create a movieclip, you might notice that the movieclip has its own
timeline.  The Movieclip's timeline is as complex and full as the main timeline.
Its important to note that button symbols and graphic symbols have timelines,
but that they function diffrently then the movieclip's timeline, so they will be
discussed later.
Its interesting to note that a Flash, and its Movieclips, are organized into
something called a hierarchy.  At the highest level, we have the main timeline,
and that is composed of Movieclips, graphics, and symbols.  And each of those
symbols can be composed of other symbols.

Each Movieclip has its own Timeline

That might be a little much to look at, but it says a lot.  In this very typical
graph of a Flash project, there are only a handful of movieclips on the main
timeline.  However each movieclip on the main timeline has 3 movieclips on
its own timeline.  When one movieclip is in another, it is said to be embedded
inside it.  I've had projects where the movieclips are embedded into 15 levels
or more.

enemy_box

enemy_gun

mountains

clouds

floor

mainChar_hitBox

mainChar_feet

mainChar_gun

environment

enemy

main_character

Main (root) Timeline

Here we have a typical Flash hierarchy shown graphically:

So, how do I travel to diffrent parts of the hierarchy, in and out of movieclips?
Well, the simple answer is that when you double click on a movieclip using the
selection tool (v), it goes inside that movieclip, lower into the hierarchy,
displaying that movieclip's timeline.
While using the selection tool, if you double click on nothing, then you go up
the hierarchy, and outside of your current movieclip.
So double click on the symbol, and you go down the hierarchy.  Double click
on nothing, and you go up the hierarchy.  This may feel very strange when you
start out, but after a few months of using Flash, this system will feel very
natural and intuitive.

Each Symbol is accompanied
by a small icon showing
whether it is a movieclip,
button, or graphic.

As you move to the right on this bar display, you move to lower
levels of the hierarchy.
Farthest to the left will always be your main timeline.  Mine is named
tutorial because I assigned my scene that name.
Farthest to the right you can see the symbol which you are currently inside
of.  It is this symbol's timeline that you will currently see in the Flash
environment.

Pressing this button
moves you up on the
hierarchy

Although that system is good for navigation, there are a few tools in Flash
which let you move around and understand where you are in the hierarchy.
At the top of you Flash interface, you should see a bar like the one
below:

If you go to test your movie, you'll notice that it automatically moves
forward along the timeline.  This is fine and dandy in some scenarios.
However in most scenarios, you'll want the movie to stop at certain frames,
and move from frame to frame dynamically (like in this tutorial).
The way that we can control the position of the playhead (the playhead is
fancy word for whatever frame the user is seeing) is by the use of
Actionscript.
Now, at this point, you might be thinking that you have to know a
lot of Actionscript to do this.  Well, you're wrong.  People with
very limited Actionscript knowledge can write codes that make the
movie stop, play, or go to a certain frame.
I must have a disclaimer that I will not teach you any Actionscript in this
section beyond the directions on how to move the playhead using functions.
What a function is and what they mean is covered thouroughly in the AS
concept.
Its important to note that you can control the playhead of a movieclip or the
playhead of the main timeline.

Controlling the playhead with Actionscript function calls

Now you might be thinking "where do I put this code".  The simplest answer
is that you can put it on any frame, anywhere.
In this timeline concept, I will for the sake of simplicity teach you to put all
code on the frame that you want it to run on the main timeline.  If you want
to learn advanced technique go to the Actionscript concept.
Anyway, to place Actionscript on a keyframe, click on that keyframe, and
press F9.
Then, you will see that the actions panel will open.
In the top right corner of that panel you'll see a button that says
"Script Assist" or an option that lets you pick beginner mode or
expert mode.  Before you begin, turn off script assist or make sure
you're in expert mode.
Another key thing to note is that the code you enter into the actions panel
will be ran on the keyframe in which it is placed.  So if you call the stop
function on frame 50, the playhead will play until it reaches frame 50, where
it will stop.  Isn't that convenient?

gotoAndStop();
This code is a little more advanced than the last two, because this
function has something called an arguement.  Basically an arguement
is something we put into the function when we use it to tell it how it
should work (that was the non-programmer explination).
In this case, our arguement is what frame we want the movie to go to and
stop at.  We can either enter in the number of the frame or the frame label,
which I will teach about later on.  Below we give gotoAndStop an arguement
of 30, which will make the playhead go to frame 30 and then stop.
gotoAndStop(30);

stop();
This code stops the movie.  Once the playhead hits a stop frame it will cease
to continue advancing.

play();
This is our first function we have for controlling the playhead.  This function
plays the movie (how shocking).

prevFrame();
This function sends the playhead to the frame preceeding the frame in which
the function is called.  Like nextFrame(), it has no arguement.

nextFrame();
This function has no arguement, so we put no value in between the
paranthesis.  This function sends the playhead to the next frame.

gotoAndPlay();
This function is exactly the same as gotoAndStop(), except that this plays
the playhead after going to the frame specified in the arguement, whilst
gotoAndStop() stops the playhead.
This function's arguement is the frame number you want the playhead to go
to and play.  The arguement's function is placed between the paranthesis:
gotoAndPlay(30); //goes to frame 30 and plays the playhead

In the Actionscript section, I'll go over hierarchies in a lot of detail, but right
now I'll explain just enough hierarchy so that you can use the play(), stop(),
and gotoAndStop() functions.
If we enter:
play();
into the actions panel, the play() function will be ran on the timeline
in which the code is placed.
If you want the code to be run on the main time, you have to place
_root. before your function.
_root.play(); //plays code on main timeline
play(); //plays code on timeline on which code is placed

Basic Hierarchy

There are a few things we can do to a layer to either change the layer's
function or to simply make the stage easier to work with.
The first thing I'll go over is locking and hiding layers.  We can lock layers
so that whilst the layer is locked, you cannot add, remove, or change content
in the layer.
Locking layers is extremely useful, mainly because it reduces error and makes
producing graphics a more streamlined process.
Lets say I want to make an animation where a man runs across
a skyscape.  The skyscape background is on the lower frame, and the
guy is on the upper frame.  If it was not possible to lock frames, this
poor Flash developer would have to struggle to always click on the guy
without accidently clicking on or drawing on his background.  Luckily,
he can lock the background while editing the guy for a more streamlined
process.

Layer Properties - Guides, masks, hiding, locking

Make objects in layer
outlines

lock layer

hide layer

The Arrows layer is locked

We can also hide a layer.  This makes all content on the layer invisible, but
still possible to edit.  I would recommend using this with the lock layer tool,
and not on its own.
Another thing we can do to a layer is make it an outline.   When a layer is
made to be an outline, every symbol on stage is coverted to an outline of its
original content.
To hide, lock, or make an outline of any layer, simpy look to the 2 dots and
square to the right of your layer's name.  Clicking the leftmost dot will hide
your layer, the center dot will lock your layer, and the square to the right
will make your layer an outline.

Masking can be accomplished both on the timeline and with Actionscript.
But because this is the timeline concept and not the Actionscript concept,
I will only go over timeline based masks.

Masking is, without a doubt, a very cool technique.  Masking is basically a
technique by which one shape or movieclip (called the mask) is used to limit
what part of another shape or movieclip (called the maskee) is visible

Masking

after you have converted mask layer to a mask...

To create a mask, we first must create a mask and then a maskee.  The
maskee will be the image we want the user to see.  The mask will be the
shape, movieclip, or image that we want to limit what part of the maskee
is visisible.
The mask and the maskee should be on seperate layers.  The mask should
be on the top layer, and the maskee should be on the bottom layer.  Once
you have done this (as is shown below), you'll want to right click on your
mask layer and scroll down to select the option that says mask.

So now you have a mask.  If you really like masks and want to do more
dynamic or complex things with them, be sure to go to the Actionscript
section and read through that.
Well it seems that this concludes the timeline concept.  Below I have some
links to sites and tutorials that deal with the timeline and should interest you.

"What is a tween?" you might ask.  Well, basically a tween is an
alternative to producing an animation by drawing one frame after
the other.
In a tween, the artist draws two frames (which we call keyframes),
and then the computer fills in the frames between the keyframes to
produce a smooth animation.
When animating in Flash, keyframes should be the staple and
tweens should be the suppliment.  Although complex motions require
one to draw everything frame by frame, in some simpler
animations, a tween can save a lot of time and get the job done
well.

Tweening

Motion Tween:

Shape Tween:

So, a tween is basically the computer trying to fill in the frames between
two keyframes.  There are two types of tweens: shape and motion.
In a shape tween, the objects at the first and second keyframe are diffrent
shapes and/or colors (and can be at diffrent locations), and the computer
trys to fill in the frames between the two.  In a motion tween, the two
objects are the same in the first and second keyframe, but in diffrent
locations, then the computer trys to fill in the motion frames.  Below i have
an example of a shape tween and a motion tween.

When Keyframe has content:

When keyframe is empty:

Once you do that, your first keyframe will turn from an empty
circle to a filled one, signifying that the keyframe now has content.

This is the first type of tween I'll go over.  Before I begin, I must warn
you that tweening requires some knowledge of the timeline.
Okay, starting with a blank timeline (either the main timeline or the
timeline of a specific MC), you'll want to draw your image in the first
frame.

Making the Tween

Our second step is to add our second keyframe.  To do this, go to
some frame after 1 on the timeline, and add a keyframe (F6).  To make
our tween meaningful, the content in the second keyframe must be
diffrent from that in the first.  For a motion tween, make the object in
the second keyframe have a diffrent location than in the first keyframe.
For a shape tween, give the object a diffrent shape of color in the second
keyframe.

At this point, you should have two keyframes, each with an object a little
diffrent (in shape, color, or location).  To create a tween between the two
keyframe, right click on a frame between the two keyframes and select
"Create Motion Tween"

If you've done everything right, you'll notice that there is now an arrow
pointing from your first to your second keyframe and then the frames have
turned to some shade of blue.  If you click on any frame between the two
keyframes, you'll see that flash has generated frames to fill in the space
between the two keyframes.
If you've done something wrong, you'll see this:
The dash line means that Flash was unable to fill in the frames
between your two keyframes, and the tween was unsucessful.
To fix this, make sure that the content in your first keyframe is the same as
in keyframe 2, just as a diffrent location.
The only reason the tween would fail is that the content in the keyframes is
diffrent.

Once second keyframe is given content:

Okay, this is the other kind of tween, the shape tween.  This tween is
similar to the motion tween in that it asks flash to fill in the frames
between two keyframes.  However in a shape tween, the two keyframes
can have diffrent locations, colors, and shapes.  To begin a shape tween,
start with an empty timeline (a Movieclip's timeline or the main timeline).
Begin by clicking on your first keyframe.  Then draw something in that
keyframe.  Then go up to your timeline, and click on the twentieh frame
and press F6 to create your second keyframe.  Then, on the second
keyframe, change the color, shape, or location of what you had in your
first keyframe.

Shape Tween

Once in the properties panel, look to where you have a drop down
menu labeled "Tween".  Click on that drop down menu and select
"Shape".  Once you choose shape, a shape tween will be created.  You'll
know you've created a shape tween once the space between your two
keyframes turns green and a line is drawn like in the picture below.

Those first couple of steps were basically identical to creating a motion
tween.  However, to create the actual shape tween, you DON'T right
click on one of the frame and click "Create Motion Tween".  Instead,
to create a shape tween, you have to click on a frame between the two
keyframes and go down to the properties panel.

Once you create a tween, there are a few basic ways you can modify it in
the properties panel.  To begin, look at your tween on the timeline, and then
select a frame that is part of the tween, then open the properties panel.
Below I've listed how you can modify the tween:
1.  Whether a motion tween scales the object
2.  Advanced and Basic easing
3.  Rotation and snapping to Motion Guide
4.  Blend Style for Shape Tween

Tween Properties

With scale turned off:

With scale turned on:

Our first option is pretty basic.  If you click on a motion tween and go
to the properties panel, you'll notice you can turn on something called
"scale".  Basically, if scale is turned on, then the motion tween will automate
the size change of an object.  If scale is turned off, a motion tween will not
rescale on object.

To use easing on your tween, click on the arrow after where is says
"ease" and move the slider up and down.  You can select an easing
number from -100 to 100.

Easing is a way to change the rate at which one part of a tween occurs
relative to the rest of the tween.  For example, I could use tweening to
make the first part of the tween lightning fast, and have the rest very
slow.  I could do the opposite.  To access easing for a shape or motion
tween, click on a frame that is part of the tween and open the properties
panel.

Basic Easing

Tween with 100 easing:

Tween with -100 easing:

Tween with 0 easing:

Another cool feature of advanced easing is that you can make the
color change at a diffrent rate than the size.  So the color can start
changing slowly and then speeed up, whilst the object's size
starts changing quickly and then slows down.  Neat, huh.
Anyways, to access the advanced easing menu, click on one of the
frames in your tween, and open the properties panel.  Then press
the edit button and a graph will pop-up, that is where you will give
your tween advanced easing.
It should look like the picture on the next page.

You just learned how to make a tween start out slow and speed up or start
fast and slow down.  Although that's good, sometimes you want want a little
bit more in terms of control.  Lets say you want a tween to start out slow and
then get faster, and then end slowly.  You can do that with advanced easing.

Advanced Easing

When we use a tween, there are several properties that can be changed,
such as color, position, and scale.
If you have the checkbox "Use one setting for all properties" selected, then
you won't be able to make your object rescale and change position at
diffrent rates.  However, if you unselect that box, the drop-down menu to
the left will allow you to select color, position, scale, filters, and rotation.
If you choose to use seperate settings for all the diffrent properties,
than you'll have 5 seperate graphs for each property.  One for
color, one for filter, one for rotation, and so on...
If you choose to have one setting for all properties, you will have a single
graph controlling every property.

Okay, lets dissect advanced easing, one option at a time.

In the last page, you made a decision as to whether you wanted to use
one graph to control all tween properties, or have seperate graphs
controlling each tween property.  But what is this graph I speak of?
Well, basically, there is a graph that allows you to control how a tween
occurs.  That graph is show below:

On that graph's x axis we have the number of frame progressed, and on
the y axis we have the percentage of the tween complete.  The default
graph has a straight line going up at a constant rate.  This graph will make
the tween occur at a constant rate.  This makes the tween progress slow
early on and then speed up at the end.

Point

Handle

When you have your graph up, you can select any part of that graph
to add a point.  Then you can move that point around or change its
slope by using the handles attached to the points.  (The handles are
small empty circles).  By adding points and manipulating them using
the handles, you can create tons of diffrent tweens.  You can even
make a tween that goes backwards!

Well, that's where motion guides come in.  Wonderful, wonderful motion
guides.  Motion Guides allow you to let an object move through a tween
in a way that you can control very precisely, which in many cases is a lot
better than the default tween which just goes from point A to point B in
a straight line.

Basically, a motion tween allows you to automate an object
moving from one point to another.
If you just use a normal tween, then the object will just go
straight from point A to point B.
That's pretty cool, but what if I want an object to take zig-zag
path from point A to point B (and back) like the animation below.

Motion Guides

Your time should look like the timeline above.  A motion guide is a seperate
layer that you add to the layer with the tween on it (its confusing, I know).
To add a motion guide layer, right-click on the layer which is holding your
tween and scroll down that menu and select "Add Motion Guide" as is done
below.

To give a tween a motion guide, begin by creating a motion tween
exactly the way you normally would (the steps for doing that are
at the begining of this lesson).

The zig-zag line is on the motion guide layer.  The motion guide should
contain the line/series of lines that determine where the object goes
during the tween.
The ball is on the layer with the motion tween.

The next step is to add something to give the Guide layer some content.
Do this by clicking on the first keyframe of the guide layer, and drawing
a series of lines that connect the positions of the object in the motion tween.
Take the example below.

After you add the motion guide layer, your timeline should look something
like this:

Make sure you attach that motion guide!

Motion Guide

Ball in
Second
Keyframe

Ball in First Keyframe

Remember that for the motion guide to , you must have the
object in BOTH keyframes of your motion tween connected to the lines
in the guide layer.

on Keyframe 1:

On keyframe 2:

The shape hint is the shape tween equivalent of the motion guide.  Shape
hints tell what part of a shape to go where during the tween.
When you start to try to do really specific or complex things with shape
tweens, you tend to run into problems.  To use shapehints, go to the first
keyframe of your tween and press Ctrl+shift+H to add a shape hint.  This
shape hint will be red.  Move your shape hint to the side of your shape.  Then
go to your second keyframe and move the shapehints to the side of the shape.

Shape Hints

Once you have your shape hint successfully placed, it will appear yellow
in the first keyframe and green in the second keyframe.  The shape hints
and the content near them on the first keyframe will move to the
position of the same shape hint on the second keyframe.
I honestly advice you not to use shape hints.  I've never really been able
to get a big benefit from them.  If I want to have really precise control,
I'd do frame by frame animation.  And using frame by frame animation is
less buggy.  I've found using shape hints to be frequently buggy and
frustrating, but I know some people who like them.
Well, that basically sums up tweening.  I hope you enjoyed it.

Quite honestly, this is the shortest lesson in this entire tutorial of over
50 lessons.  It is only 3 pages!
This lesson basically goes over using the tools on the toolbar (far left
side of your screen).
On the next page I have a component which allows you to rollover diffrent
tools and learn about them.

Toolbar

Pen Tool (P)
This is a pretty interesting but somewhat difficult drawing tool for
Flash.
Basically, this tool allows you to create what are called anchor points
and allows you to control how a curve/line is drawn between them.
If you click once on the pen tool, you'll notice a point is created.  It
should be a small circle.  If you click at another location then you
will create a second point.  Both of your points will be converted to
squares.

From that, you can click to another point, and it will
draw a connecting line.  When you want to close the
shape, click on one of the anchor points you've already made (when
you roll over the anchor point, a small circle will apear).  When you
close the shape, a fill will automatically be added based on your
fill color (On toolbar below where it says "Colors").
By clicking and dragging to create a point isntead of just clicking, you
can create a curved line connecting two anchor points.

Text Tool(T)
This tool allows you to produce text, like the text you are reading
right now.  If you want a detailed explination of text, then go to
the text lesson of the Flash section.
Okay, to create text, you can do one of two things.  The first way
you can create text is to select the text tool and simply click on
the stage.  Then you type in your text.  In this type of text-field,
the text you type isn't bound to any borders.  You have to click
enter to go to the text line down.
Or, you can click and drag the text tool to create a text
box.  In this type of text box, all text created will be
automatically confined to that box.
You can change the color, font, or size of text in the properties
panel.  More details can be found in the Text lesson of the Flash
section.

Rectangle Tool (R)
This tool is also pretty simple.  By selecting this tool, and then
clicking and dragging the cursor over the stage, you can create
a rectangle like the one below.

When you are using the rectangle tool, there are several options
that appear in the properties panel.

How object
is rescaled.

Line Style

Line width

Fill Color

Edge Color

Oval Tool (o)
This tool creates an oval (circle) shape which is a vector.
To create an oval, simply click at any point on the stage, and
then drag your mouse away from the first point to scale the
oval.
This tool is honestly pretty self explanitory.
When you draw an oval with this tool, that oval will have a fill
and an edge.  You can click on the oval's curve or edge to delete
them after you have created the oval.  Or you can choose to set
your edge or fill as empty, as will be explained if you
roll over the edge or fill options (below the word "colors")

Edge:

Fill:

Brush Tool (B)
This tool works almost identically to the pencil tool, except that
the Brush Tool draws a fill rather than a stroke.  To draw with
this tool, click at a point on the stage, and then drag around the
mouse.  Drawing with this tool is extremely intuitive.
There are a number of options relevant to this tool.

This option, if on, disables
the fill tool.

This lets you set
constraints that
limit where the
brush tool can
draw

This lets you alter the brush
size.

This lets you alter
the brush shape.

This option, if on,
will automatically
convert all drawn
brush strokes to
grouped objects.

Pencil Tool (Y)
This tool basically allows you to click and drag the mouse over the
authoring environment, freely producing strokes.  The process is
very intuitive.
For the pencil strokes you make, there are a number of options
available which allow you to modify and control the appearence
of the strokes you make.

This allows you to
set up a custom
stroke style

This controls
how the stroke
is rescaled

Lets you select
stroke style
preset

Controls stroke
width

Controls
stroke
color

Fill Tool (K)
This tool should be well known among any MS paint afficionado.
This tool takes the fill color inside the colors section of the toolbar
and assigns it to the shape you click on.
So basically, as the diagram below shows, if I have a red circle,
and then I use the fill tool, I can change the red circle to a blue one.
(This of course assumes the Fill color in the Colors part of toolbar is
set to blue).

+

Ink Bottle Tool (S)
This tool is similar to the Fill tool.  It can be used to change the
color, style, and properties of strokes.
To do this, simply have the Ink Bottle Tool selected, then go down
to the properties panel and edit them.  (Maybe by changing the
color or width.  The important thing is that these settings are
diffrent than the stroke that you are applying them to).

Then click on the stroke you want to apply the settings to.
This process is diagrammed below.

Eraser Tool (E)
This tool is pretty clear as to what it does.  It erases, it deletes parts
of shapes.  You click and drag the eraser tool over strokes and fills,
and they are eliminated.  The eraser tool does not delete instances of
symbols (like a movieclip) on the stage.  The erase tool has a few neat
options:

On the top left we have a drop down menu that allows us
to select "Erase normal", "Erase Fills", "Erase Selected Fills",
"Erase Strokes", and "Erase Inside".  Erase normal allows
you to erase both strokes and fills.  They all are pretty self
explanitory as for what they do.
The option on the top right is the faucet tool.  When using the faucet
tool, you can simply click once on a shape and it will be deleted.
(As opposed to dragging the tool around).
The option on the bottom is a drop down menu that lets you change the
size of the eraser.

Eyedropper Tool (I)
This tool allows you to click on a certain shape, and have that
shape's color become the fill color in the Colors section at the
bottom of the toolbar.
The use of this is that you could use the eyedropper on a rectangle
who's color you like and then use that color to make a new oval
or brush stroke with that color.

Zoom Tool (M, Z)
This tool is rather simple.  If you click, you zoom in or out, based
on the options section at the bottom of the toolbar.

In the options section I can choose whether I want the zoom tool
to zoom in or zoom out (As is shown Above).
Then, after I select zoom in or zoom out in the options, I
can simply click on the scene and it will zoom in or out.
Neat, eh.

Hand Tool (H)
This tool is very simple.  Once you have selected this tool, you
can click and drag on any part of the stage to move around the
view.
I find this much worse than using the arrows and scroll bars
at the side of the scene, but I suppose some people like the
hand tool.

Stroke Color
This option allows you to select the color that is given to your stroke.
The stroke color is used when you draw with the pen or pencil tool,
when you draw using the line tool, or on the outside of rectangles
or ovals you create.
To change the stroke color, you can click on the color box on the right
side of the toolbar.  You'll see a rather large color pallete with a
number of interesting options.  On the top, you can edit the alpha.
And in the top-right you can click a circle to bring you a color wheel
with more detailed colors.

In the top left where you see #000000 you can enter in a hexidecimal
color value or you can see the hexidecimal color value of what you
have selected.  This can be used to share or exchange colors with other
people (since those 6 letter/numbers represent the color you are
using).  What hexidecimal colors mean will be gone over in the Color
Mixer section.

Fill Color
This option is really, really important to creating graphics in Flash.
If you are going to use the brush tool, create rectangles/ovals, or
create shapes in Flash, you'll want to control their color.  Here is
where you can do that.
If you create a rectangle or an oval, the color in this box will be the
color that the inside of the oval will be given.
To change the fill color, you can click on the color box on the right
side of the toolbar.  You'll see a rather large color pallete with a
number of interesting options.  On the top, you can edit the
alpha.  And in the top-right you can click a circle to bring
you a color wheel with more detailed colors.

No color and Swap Colors
The option on the left is called No color.  This option will get rid
of the color for your stroke color or fill color (depending on which
is selected) and make the stroke/fill color empty.

The Swap Colors option (on the right) switches your fill
color with your stroke color.  This can be really useful
sometimes.

Black and White
When you select this option, it makes your stroke color black
and your fill color white.

This option is called "Snap to Objects".  It can either be on or
off.  If you have this option on, objects you are dragging around
will automatically snap to an object your rollover.
This option is pretty self-explanitory.  However, there are a few
cases where you really need to have Snap to Objects on:
When making a guided tween
When you're making numerous objects and you want them to
line up.

Line Tool (N)
This tool allows you to create perfectly straight lines in the Flash
authoring environment by dragging the cursor.  To draw a line,
click down at the beginning of the line, then drag the cursor to
where you want the line to end, release the mouse at that point.
After you have drawn a line, you can click and drag it to make it
a curve, or you can select a line and see several line options in
the properties panel.

Most of these options are self explanitory.  The box
farthest to the right shows a pencil next to it and is
by default black.  You can click on that and select the
color you want the line to be.  To the right, you can select the
width of your line.  And to the right of that you have a drop down
menu that allows you to select a few presets for line styles.  If
those dont' suit you, you can create a custom line style by clicking
the custom box to the right.  The next box says "Cap".  Here you
can choose how you want your line to be ended.  Then the scale
option below controls how you want the line to be rescaled.

Lasso Tool(L)
This tool allows you to select shapes, parts of shapes, or objects.
The advantage of this tool over the Selection Tool, is that you
aren't confined to selecting a single shape, or a rectangular
segment of one.  Thusly, you could select a circular segment of
an object.  The lasso tool allows you to draw pencil style the
area that you want to be selected.  For example, you could draw
a circle with the lasso tool selected, and the content inside
that circle would be selected.  As an important note, if you do not
close your shape with the lasso tool (for example if I only drew an
open curve) then the computer will close your shape by drawing
a straight line from the end to the beginning of your shape.
With this tool, you can choose to turn polygon mode
and magic wand mode on in the options section of the
toolbar.  In polygon mode, you will draw a series of lines (line too
style) as opposed to drawing a shape (pencil style) for your lasso.
I'd advise against using this option, but its really you choice.
You can also turn on/off an option called "magic wand".  If you're
working with a bitmap, this option can select certain parts of a
picture that share a similar color to group the bitmap.

This is called the gradient transform tool and its hotkey
is F.  This tool is, in my opinion, very underestimated.
This tool allows you to manipulate gradients that have
already been constructed, changing the size of the
transition gradient, changing the direction of the
gradient, and changing the center of the gradient.

This triangle sets the
center of the gradient.

The arrow elongates
the gradient

This changes the size
of the gradient

This rotates the
direction of the
gradient.

This is called the Free Transform tool, and its hotkey
is Q.  This tool can rotate, scale, skew, distort, and
envelope an object.

Click directly outside
a corner point to rotate

Click on side
point to scale

Click and drag
on the edge
to skew

This menu can be used
to manually select an
action

This tool is called the subselection tool.  Its hotkey
is A.
This tool is used for manipulating points on a shape.
When you click a point on a shape, you will be able
to move that point, or change its trajectory.
Its important to note that you cannot go inside
a movieclip by double clicking on it whilst
using this tool.

This tool is in many ways the main tool of
flash.  It is called the selection tool and
its hot key is "v".
One uses this tool to select objects on the stage.
If one double clicks a symbol or a group then
the view will shift to work with the components
of that object.  For example, if one creates
a movieclip with three shapes in it, and then
double clicks on that movieclip, the person will
be able to select and manipulate the three shapes.
Another way of saying this is that double clicking
on an object will move oneself down the
hierarchy of flash.
One can select multiple objects on stage
by dragging the selection tool.

Wow, that sure was alot of content for one page!  If you want to learn
more about any of the tools in the toolbar, the Flash help (F1) is a
wonderful resource.

Now you might be thinking: "How does this help me with Flash?!?  I just read
about the timeline, and I want to learn more Flash technique".
Well, the past two sections gave you a nice little knowledge of some basic
flash.  I think that to make the rest of this tutorial effective, you should have
some knowledge of how computers are programmed, what a computer
language really is, and how Flash fits in.
This core knowledge of computer science will be very useful as you
continue to learn about Flash.

Introduction to Computer
Science

Right now, when I talk about memory, remember that I'm talking
about RAM memory, not the hard-drive.  The memory is where variables
are stored.  On your PC, as you read this, all the data your PC is working
with is stored in memory as variables.
The Processor can access data in memory, and can change it.  The Processor
can assign new data to the ram memory.

Processor:

Memory:

Although people use computers everyday, few know what's really going on
behind the scenes.
There are two basic components of a computer, the memory and the
processor.

What is a computer?

That is basically the most basic way of expressing how a PC functions.
Memory stores variables and the processor changes them, thereby rewriting
existing variables or creating new ones.
Lets look at some pseudo-code to see an example of this.  Now, don't focus
on the code or the language, just think about what I'm doing.
I run the following code:
a = 0;
a += 1;
All this code does is it creates the variable a and adds 1 to it.  On the
next page I will represent this code graphically.

Before a location in memory is given a name (called an identifier), it is
simply a random jumble of data.

Step 2: The memory finds an unused location, and names it a.  It then clears
all the data in that location, and gives it new data (what kind of data the
memory deals with is discussed later).  What's important is that the location
named a now has the value 0.

Step 1: The Processor reads the code a = 0.  It then tells the memory to name
a location a and give it a value of 0.

Step 6: The CPU clears all the data that formerly occupied the named location
called a.  It then writes new data onto that location, giving the variable a the
value of 1.

Step 5: The CPU now has the data in the named location called a.  It takes
that data and alters it (because our code calls for 1 to be added to a).

Step 4: The CPU tells the memory to retrieve the data in the memory location
named a.  The memory takes that data and sends it back to the CPU.

Step 3: The CPU now comes to our second line of code.  This line of code adds
1 to the variable a.  To do this, the CPU retrieves a.

With the last example, I used the word data to refer to any information the
computer is dealing with.  Well, now is the time that I will get specific when
talking the data computers use.
All data on or used by a computer boils down to 1s and 0s.  Memory simply
stores a large number of 1s and 0s.  The CPU only works with 1s and 0s.
Its truly mind-boggling that every video-game, every application, and even the
tutorial you're reading now is just a bunch of 1s and 0s.
The reason computers use 1s and 0s is because a circuit can only be
on or off.  If a circuit is on we have 1, if it is off we have 0.
The way that computers can represent complex numbers and values
using only 1s and 0s is called binary.
The next few pages will go over explaining binary language and how it can
express large numbers.

Machine Language (binary) - This is the data computers use

1010 is 10
1011 is 11
1100 is 12
1101 is 13
1110 is 14
1111 is 15
10000 is 16

I'm sure you're all very familiar with the mathmatic system that is based on
ten.  There are ten diffrent numerals that you can express.  1, 2, 3, 4, 5, 6, 7
, 8, 9...
Once you get to 9, you've ran out symbols.  So, you add a one to "tens"
position.
The same thing occurs in binary.
Lets do some counting: 0, 1, 10, 11, 100, 101, 110, 1000.
We start out with 0.  Then we add one to our value.  Because we've maxed
out that position, we move to the left.
So 10 in binary is 2 in base 10 (the system you're used to).
11 is 3
100 is 4
101 is 5
110 is 6
111 is 7
1000 is 8
1001 is 9

Binary is really simple in theory, however using it is quite a challenge because
you've probably used base 10 your entire life.
To practice binary, I'd just recommend converting normal numbers to binary
over and over again.
In the beginning, computers were fed instructions in what's called machine
code.  Machine code is the exact instructions (in 1s and 0s) that the CPU
executes.  This made computers insanely hard to use.  Imagine trying to
understand what the code below does!  Imagine trying to fix it!

Then, something very big happened.  A program was written called the
assembler.  The assembler allowed the programmer to type in a human
readible code, and have the code turned into a program the computer
could use.  Note that one line of assembly code converts to exactly one
line of 1s and 0s.  So in a sense assembly code is just a diffrent way of
expressing machine code.  This is diffrent than C, AS , or C++ code where
one line of source doesn't translate to one line of machine code.
The code that is human readible and compiles to 1s and 0s is called high-level
code.  Some examples of high-level language include C, C++, Java, HTML,
and ActionScript.
C Language:
C was/is a very, very important language in computer history.  C is
frequently called the lowest high-level language.  This is because the
language allows the developer to work very closely with memory and
oftentimes forces the developers to think about the binary composition
of their variables.
A C compiler converts C code directly to machine code (1s and 0s), which
is stored in a file called a .exe (in most cases).  The machine code is executed
when the exe is called upon.

C++ Language
C++ is simply an improvement upon the C language.  C++ is used to program
the vast majority of video games and PC applications.
The main improvement of C++ over C is that C++ allows the user to create
objects and classes.
C++ code compiles to an executable file.
Actionscript is largely based off of C++.

Actionscript:
Well, being a Flash tutorial, this is the time I'm sure you've all been waiting
for.  Actionscript is a language that is somewhat similar to C++.
Now, where is Flash and Actionscript in the big picture.
Unlike C or C++, Actionscript DOES NOT compile to machine code.  *shock*.
When you compile your Actionscript and publish your FLA, an SWF is
produced.  This SWF does not contain machine code.  The SWF contains a
special kind of code that is read by the Flash Player, and converted to machine
code.  So when a user visits your Flash site, the Flash Player sends machine
code (1s and 0s) to your computer based on the code in the SWF it's
reading.
The code that Actionscript compiles to is called virtual machine code.
That's because the code isn't readible to a machine like the exe produced
by C++.  Rather, the SWF is readible by a virtual machine (The Flash Player).
The Flash Player is called a virtual machine because it has no physical
hardware, it is simply a program that reads virtual machine code, and converts
it to machine code which is readible by the real CPU.

Right now I'm going to go over the most efficient methodology for writing
computer programmers.  Note that I will NOT go over any real source code,
I will only use vague descriptions to explain the programming process.
This is very important, being able to solve problems with programming in
a methodical way is KEY.
Here is the procedure:
1.  Identify the problem and produce a mathmatical function that solves it
for multiple input values.
2.  Solve the problem with various input values.  Record each step
using mathematical symbols and brief written notes
3.  Identify and write down the data that needs to be given to solve
the problem (each variable that impacts the solution), and identify
the variable which is the solution/solutions to the problem
4.  Rewrite the steps so that they can be read by the computer
5.  Enter the code into the compiler and run the program.

The Programming Procedure

a = x distance
b = y distance
c = overall distance

a
2
+ b
2
= c
2

Over the next few pages I'll work through the programing procedure for a
program that takes an X and a Y coordinate point and spits out the distance
between the two points.  Although this is a little bit simple, I feel it will be
a good place to explain the programming principle.
1.  Identify the problem and produce a mathmatical function that solves it
for multiple input values.
Okay, our first step is quite honestly the hardest step.  Here we have to work
out the math-concept that will guide the rest of our project.
To find the distance between two points, we have to do two fundamental
things:
1.  Find the X distance and the Y distance
2.  Find the overall distance
To find the overall distance, we have to use the pythagorean theorem:

= 1 - 2
X Distance = -1

Y Distance = -5

= 5 - 10

X Distance = x
1
- x
2

Y Distance = y
1
- y
2

Test 1:
Coordinate Points: (1, 5) and (2, 10)
Find the disance on the X and Y axis:

2.  Solve the problem with various input values.  Record each step using
mathematical symbols and brief written notes.  Using the coordinate distance
example, here is me working out the problem with a series of diffrent inputs.

Figuring out all of the math equations you'll need is a big part of the first step.
In our case the only real formula we'll need is the pythagorean theorem.

Logically, b is our X distance, and a is our Y distance.  Thusly, c will
be the actual distance between the two points (a more detailed
explination of triangles is found in the Trig/Physics section).

c

b

a

Step 2:
Now that we have our X distance and our Y distacne, we'll need to computer
an overall distance.  To do this, we use the Pythogorean theorem.  The
Pythagorean theorem states that a2 + b2 = c2, given:

3.  Identify and write down the data that needs to be given to solve
the problem (each variable that impacts the solution), and identify
the variable which is the solution/solutions to the problem.
In our scenario, step 3 is quite easy.  Our input is two sets of
coordinate pairs.  And our output is the distance between them
(c).  Although this step may seem pointless and uneccessary, I find
it useful (especially in complex projects) to get a sense of all the data
I have and all the data that I need to produce.

26

c
2
= 25 + 1
c =

This is what we get with our distance values plugged in.

-5
2
+ -1
2
= c
2

4.  Rewrite the steps so that they can be read by the computer
This step is all about taking a procedure you can do on pencil and paper,
than taking that procedure and finding a way so that the computer can do it.
This step is taught in the ActionScript section.  There you will learn to take
your ideas and covert them to ActionScript code.
5.  Enter the code into the compiler and run the program.
This one is a no-brainer.  Once you've written the code just get a compiler
that turns your language into byte-code or executable, and then run that
code.  Then you're done : )

Well, that sums up the basics of programming.  Remember that that small
lesson was just designed to give you a little background before you go into
the rest of this tutorial, so you can know what Flash is and what a computer
really is.
Below I have some links to extremely useful references on this topic:

In Flash, classes have things called properties.  Properties or variables in a
class that can be set or retrieved (oftentimes both) by the user.  Some
examples of classes are Movieclip, Button, Stage, and filter.  When you create
convert a shape to a movieclip (using F8), you are making an object which is
a member of the class Movieclip.  Any movieclip you have on stage can have
certain properties set via Actionscript.  The values of these properties control
how the Movieclip functions.
One example of a property of Movieclip is "Alpha".  Alpha is basically a way of
communicating transparency. An object with an alpha of 100 is entirly opaque,
and no light goes through it.  An object with an alpha of 0 is completly
transparent.  Alpha is a property of objects that has a value between 0 and
100.
Alpha and other properties can be set manually, by going to the properties
toolbar at the bottom of the screen or they can be set using
Actionscript.  Generally, its easiest to set a property using the property toolbar.
However, using Actionscript has its advantages.  If a property is set in
actionscript, it can be manipulated in diverse and dynamic ways, giving the
developer better control.  Many properties can only be set in Actionscript.

Properties

Lets say I am making a first person shooter, and I want the enemy to
get more transparent every time I click on him.  I could do that with
actionscript.  However I could not do that by entering an alpha value
into the properties toolbar.
So if you want a property to be modified by user interaction or some
sort of variable, use Actionscript.  Below is an example of using
properties.

_visible - This is either equal to true or false.  _visible controls, the
umm, visibility of an object.  If visible is set to false, the object
cannot be seen.
_quality - In most movies you'll see a button that toggles quality.
Quality can only be set through actionscript and quality is a property
of an entire game/movie, not of a specific movieclip.
_x - This is a property of a single Movieclip or button.  This property
controls an object's location on the x cordinate plane (horizontal)
As an object moves right on the coordinate plane, its x value
increases.  This can be set through Actionscript or in the properties
toolbar.
_y - This is a property of a single movieclip or button.  _y controls the
object's location on the y (vertical) coordinate plane.  If an objects
y value is set to 0, the object will be at the TOP of the screen.  As you
increase the y value, the object goes down.  Yes, its the opposite of
geometry, don't ask me why.

Although Alpha is one of my favorite properties, its far from the only
one.  Some other properties are defined below.

_xscale - This is a property that rescales an object horizontally.
An _xscale of 100 is the default for an object, anything lower than
100 makes it thinner and anything higher than 100 makes it thicker
_yscale - This is a property that rescales an object vertically.  An
_yscale value of 100 is the default for an object.  An _yscale value
lower than 100 makes the object thinner, and a value higher than
100 makes the object thicker.
_height - This is a property of an object that tells it what size it is
on the y coordinate (hence the name height), not relative to the
size of the object before it is given a height value.  This is diffrent
than _xscale, where the _xscale value changes an object's size
relative to its size before it was given an _xscale value.  This
can me modified using Actionscript or in the properties toolbar.
_width - This is the horizontal equivalent of height.  It tells the object
its size along the x coordinate, it can be modified using Actionscript
or in the properties toolbar.

90 degree   _rotation

0 degree   _rotation

_rotation - This one's a bit complicated.  _rotation is a property of an
object that can be set with actionscrit.  Although one can also use the
free transform tool rotate an object.  _rotation should be set a value
between 0 and 360.  If _rotation is 0, then the object will not be
rotated.  If I set _rotation to 90, the object will be rotated 90 degrees
clockwise.  Use the example below as a reference.

_xmouse - This is a property of an entire movie/game or a
property of a single movieclip or button, depending on its
context.  Mostly, however, it will be used as a property of the
entire movie/game.  _xmouse is the x coordinate location of
the mouse.
One common use of this is the custom curosr.  The custom
cursor code basically takes the _xmouse and sets that as the
_x location for a certain movieclip.
_ymouse - This is the vertical/y coordinate equivelant of
_xmouse.
_alpha - This sets how translucent your object is.  If alpha is
100, an object is totally opaque and the content on layers below
the object do are not visible.  If alpha is set to zero, the object
is invisible.

Now that you know all about properties, you can start to use them.
This concept will only go over setting properties in the properties
panel.  Setting properties using Actionscript will be covered in the
actionscript section.
To enter the properties panel, click on button that says property
(highlighted red in the screenshot below).

Click on the color drop down menu and scroll down to
select Alpha.  Then set the alpha value as any number
between 0 and 100.

To set the alpha manually for a MovieClip, graphic, or button,
go into the properties menu and look to the right.

Once you select any object, go into the properties panel and
look to the bottom left.  There you can set the objects location
on the x and y coordinate planes and also set the width and
height.  You can also choose to lock those values.

112

245

10.4

12.2

In conclusion, properties are a key aspect of objects
and producing effective Flash.  Properties can be
set in actionscript or the properties panel.
The latter parts of the Actionscript tutorial should
help you to get a deeper understanding of properties
from a programmatic standpoint.

This section is a brief pre-requsite to the Actionscript section.  In flash, code is
frequently put on a frame, and uses something called a handler to deal with
specific movieclips.  Instance names are names given to  instances of
movieclips or buttons so that they may be referenced in an actionscript code.
Linkage identifiers are names you can give to a symbol (Movieclip or button)
that allow it to be accessed in Actionscript.
This will be covered in more depth as I continue.

Linkage and Instance Names

The diffrence between Instance names and Linkage

Giving an instance an identifier

The box where you
put the instance
name says "Instance
Name".

The instance of
MovieClip you
are giving an
instance name.

To give an instance of a symbol an instance name, click on its on stage
instance, and then go to the properties panel at the bottom of the screen.
And type in your instance name where it says "Instance Name".

To give a symbol a linkage identifier, begin by entering the library (Ctrl + L).
Then search through all the diffrent symbols and find the one you want to give
an identifier.

Giving a symbol linkage

Then, right-click on that symbol.  Scroll to the option that says "Linkage", and
click on it.

First make sure that Export for Actionscript is checked.  Then, type
in your identifier name.  AS 2.0 class should be left blank, unless
you're doing an OOP project and you want your symbol to be a member
of a class you've defined.
Export in first frame basically tells Flash whether or not the symbol will be
loaded in the first frame.  This will cause a conflict with the preloader (in
most cases).  So you should uncheck Export in first frame, and create an
instance of the symbol on the frame in which you want the symbol to be loaded.

You'll see a prompt come up like the one below:

I know its been a short section, but that really is all I have to say about
linkage identifiers and instance names.
Hopefully you'll be able to carry what you learned in this section onto the
Actionscript section.

Microphone and Webcam

Microphone and Webcam

In this lesson it is taught
how to get data from the
user's microphone or
webcam at runtime.

Object Oriented Programming

Object Oriented Programming

This covers classes and
objects, covering methods
and properties.  There is an
emphasis on extending the
movieclip class and creating
inheritance structures.

ActionScript Dynamic Graphics

ActionScript Dynamic Graphics

This section covers loading
bitmaps and SWFs into Flash.
As well as using bitmapData
to alter bitmaps.  This also
covers the drawing API and
using filters dynamically
in ActionScript.

ActionScript Rendering

ClipEvents, Handlers, and functions

ClipEvents, Handlers, and functions

This section covers the various
events in Flash as well as
handlers and ClipEvents.  I also
go over functions, the arguements
array, returning values from
functions, and using that power
to structure effective code.

Loops and Conditionals

Loops and Conditionals

This covers if, for, while,
else, and goes into topics
such as iteration breaking
loops, and switch case.

Hierarchies and Dot Syntax

Hierarchies and Dot Syntax

This section goes over dot
syntax and hierarchies as
well as function and variable
scope.  _root, _global, and
with() {} are explained.

Data Types

Data Types

This section covers various
data types and goes over
functions for all of them
such as indexOf(), push(),
unshift(), split(), etc.

Basic rules of ActionScript

Basic rules of ActionScript

This section goes over the
basics of ActionScript,
including operators like +=
and -=, as well as general
ActionScript structure.

Flash Chapter 2: ActionScript

Basic Rules and Conventions
of ActionScript

In Actionscript, the semi-colon comes at the end of almost
every line.  The semi-colon indicates the end of a statement.
The semi-colon is in some ways similar to a period in English.
It says that a certain idea is done.  In Actionscript, every
statement is put on a seperate line.

Bob = 4;

I remember as an Actionscript noob having trouble whilst
trying to understand why codes were built the way they were.
I never understood why brackets were placed where they were,
and I never understood what semi-colons meant.
Actionscript has a few basic rules and conventions that allow you
to communicate effectivly.
The first piece of syntax (punctuation) I'll go over is the semi-colon (;).

The next basic syntax I'll go over is the curly bracket {}.
If you've ever seen actionscript, you've probably seen these buddies.
Curly brackets basically start and end a certain a certain function, and
serve to group together statements.
For example:
onClipEvent(enterFrame) {
bob = 4;
nonagon = 12;
//other processes
}
guy = 2;
This code basically creates whats called a clipEvent.  A clipEvent
houses statements and tells all its statements how many times to run.
(The enterFrame ClipEvent tells its codes to run a certain number of times
every second).
Codes comming after the start bracket { are part of the event, code
comming after the close bracket } aren't.  So brackets are a way of grouping
statements.

The code above will give bob the value of cow.

bob = cow;

The code above will give bob the value of 4.

bob = 4;

The second piece of Actionscript syntax I will cover is the
assignment operator.  The assignment operator is =.
What the assignment operator does is it takes the value
on the left side of the variable the value of what's on the
right side.

The operator above adds the value of Car to the value of Bob.  If I said
Bob += 2;
2 would be added to the value of Bob.

Bob = 0;
Car = 2;
Bob += Car;

There are a few other major operators.  The first is the addition
assignment operator.  That operator looks like: +=

When the code above compiles, car will end up with the value
of 1.  Cow will have the value of 1.  And Bob will be equal to
2.

bob = 0;
cow = 1;
car = 1;
bob = cow + car;

At the end of this code, Bob is equal to 2.

Bob = 4;
Bob -= 2;

Another operator is called the subtraction assignment operator.
This looks like the following: -=
The subtraction operator is exactly like the addition operator except
that the subtraction operator subtracts the value on the right
from the variable on the left.

After this code is run, player will be equal to 1.

Another operator is called the multiplication assignment operator.
This operator looks like the following *=  (Yes, that is an asterik)
bob = 2;
guy = 6;
guy *= bob;
After the code above is ran, guy will be equal to 12 and bob will be
equal to 2.
The division assignment operator takes the value on the right
and has that number divided by the value on the left.
player = 10;
player /= 10;

Another two operators are called increament and decreament.
Increament looks like the following: ++
And Decreament looks like the following: --
bob = 2;
bob++;
At the end of that program, bob will be equal to three.  The
increament operator adds 1 to a variable.  It is the same as
+= 1;
Decreament is the opposite of increament, it subtracts 1 from
the variable.  It is the same as -= 1.

car = 2;
bob = 7;
guy = bob/car;
This code gives guy the value
of 7 divided by 2.

guy = 4 +2;
This codes gives
guy a value of 6

Wow, your first sentince...
Now, note that the compiler will perform the operations on the
right side of the assignment operator before assinging it.  Look
at the example below.

guy = 4;

Think of what you've just done as the first steps in learning a new
language.  Think of variables as the nouns, and the operators as
the verbs.  You've also learned that semi-colons end statements, and
brackets group statements.

You may notice that I have left out some operators, such as modulus (%).
However, modulus is rather obscure and I've only used it a few times.  What
I just gave was a brief introduction to operators, and I gave out the ones that
will be used the most often.
The next piece of syntax I will cover is the formal decleration.  A variable
always needs to be declared, that is given a value.  Before it is declared, a
variable is just an arrangement of words with no value.
As of this point in the tutorial we have so far done the following to "declare" a
variable.
guy = 4;
This is called weak typing.  Programs ran using weak-typed variables
execute slower that those used with strong typing:
guy:Number = 4;
After the variable we add a colon followed by the data type.  If we tell
flash explicitly the data type of the variable, instead of flash trying to
figure out by itself, the code executes faster.

This tells Flash that the variable to be defined is
a number.  The type of data a variable stores is
called a data type.  The data type here being used
is called a number.

T he var keyword is optional.  If it is there, the variable becomes a local
variables, which is only available in the function in which it is placed.
Without the var, it is accessable outside that function.

Lets go over for a moment what every part of the formal decleration
means.

var guy:Number
guy = 4;

As of now, you've learned how to declare and define variables.
You've learned that a variable is a way of storing data, and that
it can store many types of data.
But what are variables used for in the real world of Actionscript?
Lets use a platformer as an example.  In a typical platformer,
the velocity in the x dimension is assigned a variable, as is the
the velocity in the y dimension.  Movement in the game is
controlled by setting or manipulating those two variables.
In some platformers, if the user presses the right arrow key,
5 (or some other number) will be added to the x velocity
variable.  It would look like the statement below:
velocityX += 5;
You might be asking "How do tell it to change a variable if the
key is pressed?" or "How do I allow the user's input to manipulate
variables?"  The answer to both those questions is simple: using
conditions like if.  If and other conditions will be covered later
in the Actionscript Concept.

That wraps up my coverage of ActionScript rules and Conventions.  I have
some links to beginner ActionScript tutorials below.
If you want more then I have here on ActionScript syntax, I can really just
recommend practicing adding, subtracting, and multiplying variables just
to get a good feel for the Syntax.
There is one thing that should help you practice (and debug later on).  And
that is trace();  Trace will output to the developer the value of any variable
put into the paranthesis.  Note that using trace() won't impact how the
program functions, and it will only output values when you're running the
Flash program (so if someone is watching it on Newgrounds, trace won't do
anything).
The following code will output 10 to the screen when ran inside flash:
bob = 10;
trace(bob);

Think about a variable as a piece of data.  There are diffrent kinds of data.
There's a data type for text, a data type for numbers, a data type for lists, and
more.
These are the data types I'll go over:
Number
String
Array
Boolean
Date
For each data type I'll go over some of the functions used to control
that data type.

Data Types

Number

The Number data type is the simplest of the data types, and it stores a single
number.  If you have programming experience in C, C++, C#, or Java, you'll
be used to a few diffrent data types for numbers: like int, int16, int32, float,
and double.
Flash however, only has one data type for number.  Now you might be asking:
"Well isn't that inefficient.  Of course a decimal takes up a lot more space than
the number 3.  So does Flash use the same amount of space for both of them?"
Yes, a single data type for all numbers is wasteful.  But its also easier for
beginners, and won't make a big diffrence on non-science or graphics
intensive applications.

String

A string is a group of letters or characters.  Strings are marked
by quotes ("").
var myName:String = "Alex";
Note that the variable myName, will be given a series of words as its
value, this is called a string.
String is the data format that all text in Flash is held.  Inside of a string,
there are a few special symbols that will change how the string is
formated:
The first is the newline character: \n
Whenever the compiler hits a newline character in a string, the text
after the newline character is moved to the next line down.
\t will be converted to an indentation
\\ will be converted to \

String Functions

string.indexOf("word"); - This function searchs through a string until it finds
the string value inputted in the arguement.  Then it returns the position of
the the first character you searched for.  If it doesn't find the value inputed
in the arguement, -1 is returned.
so:
myString = "I am cool";
indexOfResult = myString.indexOf("good");
trace(indexOfResult); //Traces -1
subString = string.split("word"); - This breaks the string into substrings
based on the word inputted  into the arguement.  Whenever the
compiler encounters the string in the arguement, the string is broken
apart.  So if I have:
myString = "I am a good guy";
myStringSub = myString.split(" "); //String is split whenever a space is found
trace(myStringSub[0]);  //Traces "I"
trace(myStringSub[1]);  //Traces "am"
trace(myStringSub[2]);   //Traces "a"

String.charAt(position); - This function allows us to retrieve the character that
is at a certain position in a string value.  Note that the first character is a string
is at the 0 position, the second value is at the 1 position, and so on.
myString = "bob";
letter2 = myString.charAt(1);
//letter2 = 0
String.length; - This property of a string datum is equal to the number of
characters in the string.
myString = "alex";
stringLength = myString.length;
//stringLength is equal to 4
Note that a blank space is considered a character, and will be included
in the length.  Periods, and all other punctuation are considered character.

String.toLowerCase(); - This function is extremely useful.  Because most
things we'll do with strings (such as functions or comparisons) are case
sensitive, we'll sometimes want to make the strings we're using all upper
or lower case.  This function takes a string and doesn't modify it, rather it
returns the string with all the characters lower case.
myString = "I Am COOL";
newString = myString.toLowerCase();
//newString is equal to "i am cool";
String.toUpperCase(); - This takes a string and returns a new string
with all the letters upper case.  Its roughly the polar opposite of
String.toLowerCase()
myString = "I hate people that talk in all caps";
irony = myString.toUpperCase();
//irony is equal to "I HATE PEOPLE THAT TALK IN ALL CAPS"

string.subString(startChar, endChar); - This function allows you to break off
a part of a string and save it as a variable.  This does not modify an existing
string.
myString = "I am a clock";
stringPart = myString.subString(6, 11);
//By starting with character 6 and ending at character 11, we give stringPart
//the value of "clock".
string.substr(startChar, numChars); - This function is very similar to
subString(), the only diffrence is that with the subStr() function you don't
specify the endpoint, rather you specify the number of characters after the
start Character that should be extracted.
myString = "I am a clock";
stringPart = myString.substr(6, 5);
//By extracting 5 letters after the seventh character (because string counting
//starts with 0, stringPart is given the value "clock".

Array

In simplest words, an array is a list of values.  It is a container which holds
numerous diffrent types.  It can hold strings, numbers, objects, or even
arrays (psst... this is how you might want to make a 2D map.  Make an array
for each row containing all the columns).
var classList:Array = new Array("Alex", "Bob", "George");
The array variable stores a list of numbers, strings, or characters.
Arrays are useful for many scenarios.  For example, if I want to make a
game with mutliple levels, I could have an array which calls diffrent
functions for each level of the game.  I could make the number of
enemies an array, instead of making the number of enemies in each
level its own variable.
Also, in the lesson on loops, I will explain how to do something called iteration,
which makes arrays extremely useful.

Then if I said:
cow = numberList[0];
cow will have the value of 1.
If I said:
cow = numberList[1];
cow will have the value of 2.
0 will give it the first value, 1 will give its the second value, and so on.

var numberList:Array = new Array(1, 2, 4);

The Array is a very complex data type.  An array can be a list of numbers,
a list of characters, a list of variables, or even a list of strings.

We can add elements or changes an elements in an array like so:
list = new Array("cow", "York");
list[0] = "pig";
Here, we have directly reassigned the first element in the array.
Another neat tool we have is the length property:
list = new Array("cow", "york");
list.length;
//list.length is equal to 2.
Although an element in an array is normally given a name such
as list[0], however we can give an array a word or series of words
as a name:
list["bob"] = "cow";
This code creates an element of the array named bob, and gives it the value
of "cow".  Don't you love how I name variables?

Array Functions

Before I leave arrays, there is one last thing I have to tell you about them,
you can perform modifications on arrays using functions built into Flash.
I will explain these functions.
Push takes an array and modifies it by adding a value on to its end.
var classList = new Array("bob", "jimbo", "Al");
classList.push("Chris", "Mike");
Basically the push function takes your array and adds one or more values to
the end of the array.  At the end of this code, classList is equal to:
"bob", "jimbo", "Al", "Chris", "Mike"
Its important to note that push() returns the length of the array after the new
elements are added.  So:
list = new Array("cow", "norf");
newLength = list.push("bob, "zor");
//newLength is equal to 4

unshift() is a function very similar to push.  Unlike push, however, unshift()
adds the value passed into the function to the begginning of the array,
instead of the end.  The unshift function returns the length of the new array.
list = new Array("pop", "rock", "classical");
listLength = list.unshift("techno");
//The list array is equal to techno, pop, rock, classical
//listLength is equal to 4.
splice() is a function that can add or remove elements from any part of an
array.  The splice() function modifies an existing array and returns an array
which holds the values that have been removed.
splice(startLocation, deleteCount, item1, item2, item3)
//You can add as many items as you after the start location and
//delete location
The start location determines what location in the array the function should
start at.  The deleteCount determines how  many items should be deleted.
After that the items listed are added to the array.

Let me show you a few examples to clarify this:
music = new Array("radiohead", "strawberry clock", "Aphex Twin");
//Strawberry Clock isn't a musician, so he needs to be removed
music.splice(1, 1);
//music is now: radiohead, Aphex Twin
We set our startPosition as one, so the 2nd element of the array will be the
place function will access.  Because arrays start at 0, 1 is the second element
of the array.
Our removeCount is one, so one element (starting with the start Position) is
removed.
Lets look at another example:
music = new Array("radiohead", "strawberry clock", "b", "Aphex Twin");
notMusic = music.splice(1, 2, "Thom Yorke");
//notMusic is an array containing strawberry clock and b
//music contains "radiohead", "Thom Yorke", and "Aphex Twin"

shift() is a function that removes that last element of an array.  It returns the
value of the element that is removed.
myArray = new Array("me", "you", "bob");
removedElement = myArray.shift();
//myArray is now "me", "you" and removedElement is now "bob"
pop() is a function very similar to shift().  However, unlike shift(), pop()
removes the first element of an array and returns the value of that element.
movies = new Array("The Matrix", "gob", "bob");
removedElement = movies.pop();
//movies is now "gob", "bob";
//removedElement is now "The Matrix";
slice() is a function that retrieves a portion of an array. slice() does
not modify the existing array.   Slice accepts the start position and end
position of the retrieval.
alphabet = new Array("a", "b", "c", "d", "e", "f");
letters = alphabet.splice(2, 4)
//alphabet is now "c", "d", "e"  It has retrieved the values starting with the
//first number given and ending with second number given.

The next array function I'll go over is called concat.  This function allows
you to take two arrays and put them together to make a single array.
var oldClass = new Array("Jim", "bob", "loser");
var newStudents = newArray("Chris", "Mike");
var totalClass = oldClass.concat(newStudents);
Basically this function allows us to create a new variable and give it the
value of two arrays combined.  Sort does not modify an existing array,
it returns the value of a new one which can be assigned to a variable.
Our next major function is called sort.  This modifies an array by
alphabatizing its existing content.
var classList = new Array("Zippy", "Wuzzle", "Xavier", "klobo");
classList.sort();
The sort function will rearrange classList to make it go in alphabetical
order: Xavier, Wuzzle, Zippy, klobo
Note that sort will sort always put capitalised words before uncapitalized
words.  klobo is in the back of the list because it is uncapitalized, even
though it comes first alphabetically.

Boolean

The last basic data type I will cover is called Boolean.  A Boolean is
a value that is either true or false. For example,
var gameOver:Boolean = true;
That variable could also be given the false value:
var gameOver:Boolean = false;
Now you might be thinking: "Why not just use two numbers, or
just have strings representing true and false".  Well, you CAN, but
its going to take up more memory.  A boolean is very small, just
one 1/0, while a piece of text or number (especially a piece of text)
takes up more more space.
And to ensure good performance, minimalizing memory usage is
a must.

gotoAndLearn()

Kirupa String Data Tutorial

That's all I have to say about data types.  If you want more data, there are
some good tutorials I can recommend for you (links to them are below).
I'd also like to recommend the book "Actionscript for Flash MX: The Definitive
Guide" by Colin Moock.

_x

gun

guy

Here is that format shown graphically:

Have you ever double clicked on a movieclip, and created a
movieclip inside that movieclip?  This is where hierarchies will
probably first be experienced by a developer.  In the following
example I will have a movieclip called guy, and a movieclip
called gun will be embedded inside guy, and I will want to edit
the x coordinate position of gun (this example uses properties
which are covered in the properties section)

Hierarchies and Dot Syntax

Here is the hierarchy you just saw, except this time its in a form
that can be used in Actionscript:
_root.guy.gun._x
In an actionscript hierarchy, one moves lower on the hierarchy as
they go from left to right.  Also a period seperates each of
the objects or properties in a hierarchy.
So saying gun._x is refering to the _x property of gun, and saying
guy.gun is refering to the gun that is embedded in guy.
I can use hierarchies to say whether I want a function to be
applied to a single movieclip or to an entire movie.
_root.gotoAndStop(5); //Applies function to entire movie
_root.guy.gotoAndStop(5); // Applies function to single movieclip

_root is sometimes the root of all evil

Up to this point, you may have seen that I've began all my hierarchies
with _root.
Many experienced Flash developers have said that _root is the root of
all evil and "Avoid _root like plague".
The fact is that _root is very useful for beginners, but can be a problem
for advanced Flash developers.
_root refers to the main timeline.  So most hierarchies start with _root
and then go into movieclips, etc.
So here you have the basic hierarchy structure:
_root.mc.property;
_root.mc.function()
Experienced Flash developers dislike _root because it can change.  If I
dynamically load one flash into another, all the _root calls in the loaded
Flash will refer to the main timeline of the movie it is being loaded into,
and that is a problem.

_global, it can save a lot of time.

Now, there is a little something called _global.  If I create a variable and
put it at the global level, than the variable can be accessed from anywhere
in the movie just by using _global when I get the value of the variable.  So a
variable created on _global can be created anywhere and accessed anywhere
without worrying about hierarchies.
This is extremely useful sometimes, but can be a pain in some scenarios.
This has a few problems.  The first is that the variable gets really
chaotic when you get into functions, and it can lead to really sloppy
programming.
The next problem is that you can't strong type variables on _global.
You also can't use "var" (the significance of which is dicussed later).
And you can't specify the data type of the variable, which makes your
code slower.
You can't say: var _global.cow:Number = 4;
You have to say: _global.cow = 4;

_parent refers to the "parent clip" of the movieclip / movieclip handler in
which the code is placed.
So:
gun is embedded inside guy
_root.gun._parent //Accesses guy movieclip
_root.guy._parent //Accesses whatever guy is inside of.  If movieclip
hasn't been embedded inside another mc, its parent clip is probably
_root.
The advantage of _parent is that it is relative, so I can access the parent
clip of a movieclip no matter where the movieclip is embedded, without
changing my hierarchy.

_parent

There is one last thing I have to over for hierarchies, and that is a little
thing called this.  this (forgive the pun) is very important.
If I am putting code in a movieclip, than I can just use this to refer to
the movieclip that the code is on.
For example:
_root.guy._x = 10;
is the same as:
this._x = 10;
if both codes are placed in a movieclip's actions panel.
Note: In certain functions and something called a handler, you can
use this as a hierarchy.  So this can be used in other cases than putting
the code on a movieclip.  But that's a little advacned for now :)
Using this saves a lot of time and is also good for debugging because
there honeslty aren't alot of ways to mess up a hierarchy that is one word.

Ever have a scenario where you've wanted to apply one hierarchial reference
to multiple functions (say 50 functions).  For example:
myLine.lineTo(40, 200);
myLine.lineTo(10, 27);
Okay, we have to give each function a hierarchial reference to a movieclip, or
else the code won't work.  If you look at the code above, its very messy, and
would be a pain to type if you had 200 functions you have to give one
reference.
So we have something called with() {}
with(myLine) {
lineTo(40, 200);
}
In the code above every variable declared or function called in the brackets
following if will have the hierarchy that is placed inside in the paranthesis.
So place your hierarchy in the paranthesis, and your function calls/variable
declerations in the brackets following with().

Code with with() can be a life-saver.

Our lesson on hierarchies draws to a close here.  For more information on
hiearchies, as well as variable and function scope:

So far, we've only explained making codes that do the same thing every
time.  However, to make codes that can run diffrent ways depending on
diffrent conditions, you can use if.
The if conditional is VERY important.  A typical if conditional goes as follows:
if (gameOver == 1) {
gotoAndStop(2);
}
The first line of condition begins with the word if to signify the
following if condition.  Then after if we have in the parenthesis
something called the condition.  If the condition is true, than
the statements inside the brackets below will be done.  If not, then
the statements in the brackets below will be ignored.

Loops and Conditionals

Lets look at our condition a little closer:
if (gameOver == 1) {
If you look at gameOver ==1, you might think, "shouldn't that == be ="
Well, if you remember our first lesson, = is the assignment operator.  If
I said:
if (gameOver = 1) {
the program would set the gameOver variable to be 1, and the if statement
would always be true!  So that is why you always want to use == instead
of = in the if conditional.
== doesn't set the value of the variable on the left as the value
on the right.  Rather it sets up a comparison and sees if the variable
on the left is the same as the value on the right and returns a true
or false value.  If it returns true than the statements inside the
following brackets are played.

There are more types of comparisons than just ==.  It is important to note
that every comparison returns true or false, no matter what.  The main types
of comparisons are listed below:
!=     This returns true if the variable on the left isn't equal to the
value on the right.  It is the opposite of ==.
>       This returns true if the variable on the left is greater than
the value on the right
<       This returns true if the variable on the left is greater than
the value on the right
>
=     This returns true if the variable on the left is greater than
or equal to the value on the right.
<=     This returns true if the variable on the left is less than or
equal to the value on the right.

Its important to note that the if condition doesn't need to contain a
comparison, it simply needs to contain something that will return
true or false.  A great example of this is:
if (Key.isDown(Key.RIGHT)) {
this._x += 5;
}
Key.isDown(Key.RIGHT) is clearly not a comparison, but rather it is a
function that returns true if the user is pressing down the right arrow
key.

if (i == 0) {
gotoAndStop(1);
}
if (i != 0) {
gotoAndStop(2);
}

is the same as

In an if conditional, there in a line of code run if the condition returns
true.  Else in a modification to an if condition that allows you to fit the
content of two if conditions into one.
if (i == 0) {
gotoAndStop(1);
}else{
gotoAndStop(2);
}
Basically, the brackets after else tell flash what to do if the
condition returns false.
if (i == 0) {
gotoAndStop(1);
}else{
gotoAndStop(2);
}

Else - It saves alot of time

There are two other conditionals I have to go over.  The
first is called the ternary operator:
condition ? true : false;
For example,
i < 10 ? i++ : i--
is the same as
if(i < 10) {
i++;
}else{
i--;
}
Using the ternary operator produces code significantly slower than code
produced using the if conditional.  So my advice is to only use the ternary
operator in assignment operations such as  x = i >
10 ? 5 : 10;
So, only use the ternary operator when the statement being run if the condition
is true or false is being assigned to a variable.

The other conditional I have to go over is called Switch.  Switch is simply
a conditional that is in some cases more readible than a group of if
conditionals.  The switch operator is used to compare multiples values
to a single variable.
Lets say I have a variable named x.  If x is 5, it will be changed to zero, if it
is 10, it will be changed to 37, and if it is 15, it will be changed to 108.
Because I'm comparing multiple values to a single varialbe, this is a good
time for the switch conditional.
switch(x) {       //The variable in () will be used in comparisons
case 5             //executes the code following it if x is 5
x = 0;
break;          //Ends switch conditional, no later part of switch is ran
case 10           //Will only execute if case 5 was false.
x = 37;
break;
case 15
x = 108;
break;
default: x = 100;//Executes if none of the cases before is true

A loop is basically a method for making a segment of code run over and
over again.  There are two kinds of loops: loops that end, and loops that
don't.
Loops that end are very useful.  I could create a loop that allows me to run
a segment of code 80 times, and then stop.  That could (and is) used
to make enemies generate on-screen.
In this tutorial, a loop was used to run a search function on every page of
the tutorial.
Loops that don't end aren't very useful in Flash because they cause
Flash/your browser to crash.  (Please don't create indefinite
loops in a Flash movie that cause the user's computer to crash
because you think its funny)

For and While Loops

The for loop is used to run a series of statements a set number of times.
Some uses for this are making a code that attaches a movieclip to the
stage 10 times.  The syntax goes as follows:
for (initial; condition; next) {
//statement
}
This is a real world example:
for (i = 0; i < 10; i++) {
tree = attachMovie("tree", "tree" + i, i);
}
The for loop starts by creating a variable called i and giving it the value of
0.  It then runs the last segment of code: I++ until the middle segment of
code is true.  So it says i is 0 and increases it by one until its 10.  Each time
it goes up by one, it runs the code inside the brackets following the for loop.
So in the above program, we attach the Movieclip tree to the stage 10 times.
And, conveniently, each instance of tree we attach to the stage has an
original instance name.  Useful, eh?

For

The code above is a perfect example of iteration.  In this scenario, we have
an array called pageList.  Also, in the for loop we define a variable called i.
The first time the for loop goes through itself, i is set to zero, and the next
line is executed.  Because i is 0, the first element of the pageList array will
be called (remember that arrays start at 0).
The next time that line executes, I will be equal to 1, so the second part of the
array will execute.

for(i = 0; i < 600; i++) {
searchReturn = pageList[i].indexOf(search);
}

Iteration is extremely important.  Iteration allows you to perform a single
process upon each member of an array.  We can also use a for loop to attach
variables to an array (in preperation for our iterative for loop).
Lets say I have a series of variables named page1, page2, page3 (and on like
that until page700), and I want to search through their contents.  Obviously,
searching through each of them manually would be near impossible, and
would take lots of time to write.

Iteration - One of the for loop's biggest uses

In this scenario, we create a variable called j.  Every time the loop executes
its commands, j will be increased by 1.  Then, when j become 599, Flash will
move beyond the loop and go onto the next line of code.
What this code does is it takes the variables named page0, page1,
page2, (onto page 600), and adds them all to an array (using the
push function).
The function eval() turns whatever is its arguement into a variable name
(even if the arguement is a number or a string).
The next line is another iterative process by which each element of the
array is accessed using the j variable, and has the toLowerCase() function
applied to it.

for(j:Number = 0; j < 600; j++) {
pageList0.push(eval("page" + (j + 1)));
pageList.push(pageList0[j].toLowerCase());
}

Here is another use of iteration loop:

The while loop is kinda like the for loop, except it has no definite end.
It will run its statements forever until its condition becomes false.
A friend told me that the following code is common in Professional C++
videogames (PS2, Xbox, Gamecube, Non-Flash PC games):
while(gameOver == false) {
gameProcesses;
refreshScreen;
}
I personally have never found a use for the while loop, mainly
because of the existance of handlers and ClipEvents which can
replace while loops in many cases.
The reason to use while loops is that you can have a certain segment of
code get executed until a condition becomes true.

While

This is where my lesson on loops and conditionals draws to a close.  If you
want a good example of a for loop, rollover the search button the on the
bottom of the page.
As an exercise in for loops, try to write a program that tells you how many
movieclips are embedded in a single movieclip.  Does this program require
something diffrent than a for loop?  If you are confused, read the next
lesson on functions and try to work on it again.
You'll just have to do it to find out what happens!

Up until now, you've learned how to create and manipulate variables.  And
you've learned how to set up conditions and loops to control how variables
change in a dynamic manner.
This next lesson is very important.  This lesson allows you to take everything
you've learned and put it to practical use.   Put simply, now you will learn
how to group statements into functions and how to tell functions to be run.
If you created an if conditional in the last lesson and simply put that on the
frame and tested your movie, you'd notice that the movie only
played the if condition once.  The simple fact is, statements
and conditionals cannot just be placed on the frame and
compiled (in most cases).
Most of the time, you have to case your statements and conditionals inside
of something called a ClipEvent or a Handler.  Explaining ClipEvents and
Handlers will be my next lesson.

ClipEvents, Handlers, and Functions

This is a little tough to explain, but here I go.  Handlers and ClipEvents
do the exact same thing.  They just do it in diffrent places.  A ClipEvent
is placed onto a MovieClip, whilst a Handler is placed onto a frame.
Lets say you have an enemy.  I want that enemy to run a series of AI
commands I created.  The first option is to use a ClipEvent and put all the
codes onto the MovieClip.
The alternative is to place no codes on the movieclip and to place all the
codes inside a handler on the frame.
Which is better?  Well, each option works fine.  However, today
most developers feel the handler is a better choice because it
is more centralized.
Think about it, in a simple game you might have 3 objects each with their
own ClipEvents.  That can be managed.  However, as your game gets more
complex and has more sophisticated code, not having all the code in one
place can be very confusing, so much as to destroy a project.  So I advise
you to place all your codes on a single frame controlled by handlers.  It'll
really make it easier later on :)

How are ClipEvents and Handlers diffrent?

Okay, as I said before, a handler allows you to control how statements
are executed for movieclips.  Take the below example.
_root.guy.onEnterFrame = function() {
this._x += 10;
this._y -= 10;
}
Okay, that was a handler.  It told the movie to run the code in
between the brackets following itself on every theoretical frame.
That is, it runs according to the frame rate you set.  And it runs
on every frame per second.  That usually is between 12 and 24 times
a second.
The enterFrame event is where you want to place the codes and conditionals
that you want to be run alot!  This is really the main type of handler.

The Handler

ClipEvents - How they work diffrently

_root.guy.onEnterFrame = function() {
this._x += 10;
this._y -= 10;
}
is identical to...
onClipEvent(enterFrame) { //Type of event goes in paranthesis
this._x += 10;
this._y += 10;
}
So now it should be established that ClipEvents and Handlers do the
exact same thing, they however do it from diffrent places.  The next
lesson goes over all the diffrent kinds of events we have.
Remember how we learned about enterFrame?  Well there are other
kinds of evetns.

1.  EnterFrame
This runs every segment of code inside of it on every time the screen
is redrawn.  How many times this occcurs per second is based on the
movie's Frames Per Second, which can be established in your movies
property options.
Most of the code you want to run in a game, you want to run on every
frame.  Almost all of your code in a game will be placed in this event,
so get used to this event, cause he's never going away.
onEnterFrame = function {
_root.gotoAndStop(2);
}

In the last section we briefly went over the EnterFrame event, which is the
main type of event, because it allows you to run your code a large number of
times per second.  However there are other events which allow you to run
your code only once or only when the mouse is down.

The Events

This event is far less often used than the first two.  This runs its
code every time the you click the mouse.  This could be useful
for maybe running bullet shot code for a movieclip when the
mouse is down.  An example would be:
onMouseDown = function() {
numBullets -= 1;
aggressive(enemy); //Calls aggressive AI function for enemy so they
// change behavior when bullet is fired
}

3. MouseDown

This event runs its codes only ONCE.  And that one time is when the game
is loaded.  This is good for declaring variables and setting the game's
initial state.
onLoad = function() {
friction = .80
gravity = 2;
}

2. Load

This events runs its code every time that any key on the keyboard is
being pressed.  To be honest, I have never used this event.  But I guess
you could use it to hold all your keyboard based input functions.
onKeyDown = function() {
inputFunction();
}

This event runs the code following it whenever the mouse is moving.
The only great application I think of for this is to maybe use this event
to change the enemy's AI when you move the cursor(gun) in an FPS
game.  Obviously that action will make the enemies want to change
tactics.  But you are smart and probably can come up with something
good!
onMouseMove = function() {
respondAI(enemy);
}

5.  KeyDown

4.  MouseMove

What is a function?  Simply put, a function is a way of organizing large
chunks of code into groups called functions which can be called (used)
at will.
Believe it or not, you've already used functions.  And most beginners to
Actionscript use 100s of functions before realizing they're doing it.
You see, a MovieClip is something called a class, which in a simple sense is
just a structure which contains related functions.  More on classes later.
And the MovieClip contains tons and tons of preset functions for you to use.
play(); is a function
gotoAndStop(1); is a function
stop(); is a function
lineTo(); is a function
When you say gotoAndStop(1), you are calling a function.  Although the
functions that come with movieclip are very useful, you'll find that to make
a game you'll want to create your own functions and call them later on.  As
you'll come to see, functions are extremely useful and important.

The Function

The following code creates a function called resetPosition.
resetPosition = function() {
this._x = 225;
this._y = 225;
}
Then to call the function we just say:
resetPosition();
Assuming we have already defined the function, just calling the
function by saying resetPosition(); will run the entire function.
Now imagine the benefit developers have at having functions like
stop(); and play();
Just having to write one word every time you want the movie to stop is
much, much nicer than having to write 100s of lines of codes on every line.
So, in this way, functions build efficiency.

Creating and Calling a Simple Function

Arguements are a little hard to explain, but I'll start by going back to a
function that I'm sure is familiar to all of you:
gotoAndStop(1);
This function is fundamentally diffrent than stop(); in that when you call,
the function, you put something inside the paranthesis.
In the function gotoAndStop(), you have to put in the paranthesis the
frame number you want it to stop at.  What's inside the paranthesis is called
an arguement.  An arguement is basically a part of a function that
allows the user to give it some input when the function is called.

Arguements

In most cases, you'll simply access the value of the arguement by accessing
the variable.  For example,
attack = function(speed, agility) {
move(speed);
dodge(agility);
}
attack(1, 5);
In that example, the function can simply use the variables speed and agility,
and they will have the value the user gave them.  However, what if we want
to create a function with an arguement that can accept an indefinite number
of values?
Well, here the arguements[n] array comes in!
When an arguement is passed into a function call, the value passed
in is made part of the arguements array.

Here's a good example of the arguements array in action:
kill_kill_kill = function() { //In real life use more descriptive function names
for(i = 0; i < arguements.length; i++) {
arguements[i].removeMovieClip();
}
}
Well, this function doesn't exactly deliver on the promise of kill kill kill,
because movieclips can't die (except in Flash 9).  However, this function
does remove every movieclip that is passed into this function's arguement.
Whether I pass one arguement into this function, or one hundred,
this function removes each and every movieclip passed into the
arguement.
Herein lies the power of the arguements array, the ability to perform an
operation on any number of values passed into the arguement.
If you remember the last section, you'll know that this code is an example of
iteration.  If you're unsure about this, go back to the data types section and
read about arrays, and go back to the loop section to read about for().  Trust
me, few things are more fun than iteration.

This is an example of a function with an arguement:
enemySpawn = function(numEnemies) {
for(i = 0; i < numEnemies; i++) {
enemyMC = attachMovie("enemy", "enemy" + i, i);
}
}
To call this function, we'd say:
enemySpawn(10);
When we call the function, we place in the paranthesis the
value or the variable that we want to be the arguement for
the function.
When the function above is ran, the variable numEnemies in
the function will be set as the value inputed when the function
was called.
Now wasn't that convenient.  As a note, a function can be created
with as many arguements as you want, such as attachMovie!

Some functions, like all the functions we've dealt with up to now, don't return
a value.  They aren't equal to anything.  These functions are called "void".
Other functions however return a value based on the arguement.  Look at the
example below:
areaCalc = function(length, width) {
area = length * width;
return(area);
}
Then to call this function, I'd say
houseArea = areaCalc(5, 7);
This code will give houseArea the value of 35.  Because this begins by calling
the function and giving it an arguement of 5, 7.  That arguement is used to
return a variable called area.  The variable that is returned becomes the value
of the function, and via the assignment operator, that value is given to the
variable houseArea.  So when I create a function that returns a variable, that
function is equal to a certain number when its called.  Confusing, eh?

Functions that return values

Recursion is a very, very interesting technique.  Its a rather difficult concept to
learn, and there are few day-to-day applications of it.  So if you don't feel like
learning something hard without a good reward, you might want to skip this
and come back later.
Recursion is the act of calling a function inside itself.  For example:
recursion = function(n) {
if(n < 10) {
recursion(n + 1);
}
}
recursion(1);
This code begins when it is called.  We pass the variable n the value of 1.
Because n is less than 10, the function procedes to call itself.  This time,
however, the recursion function is passed the value of n + 1.  So the code
will eventually stop calling itself when n isn't less than 10.

Recursion - Very interesting technique

If you don't include a way for the function to STOP calling itself, you will
have infinite recursion, which is bad.  Luckily for you, Flash will automatically
stop a recursive function if a function is called inside itself 256 or more
times.
In a lot of ways, recursion is similar to looping.  Both are used to perform a
process a number of times.
The bottom line is:
Recursion consumes a ton of CPU and should thusly only be used when a for
loop can't solve the problem effectivly.
The case where you'd want to use recursion to solve a problem is
when you want the problem's solution to determine whether or not
the loop continues or does not.

Recursion Tutorial

That sums up my lesson on functions.
Sparknotes has a really good tutorial on recursive functions, and I suggest
you try it out.

One of the most exhilirating features of Flash is the ability to create graphics
dynamically.
In Flash, you can create lines and curves that go to certain points, as well as
fills to well, fill those shapes.
The advantages of creating shapes dynamically using ActionScript is that you
can make the lines and fills based on the user's input.
For example, I could draw a line to the position to the user's mouse.  I could
make a fill that works based on the user's input.

ActionScript Rendering

Before I explain making the actual graphics, I have to explain something
called hexidecimal number system.
You're used to a system of numbers with a base of ten.  When counting, you
begin in the ones position 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.  Okay, once you reach
9, you run out of numeric symbols, so you changes the tens position to one,
and reset the ones position at 0.  When you run out of symbols in the tens
position, you change the hundreds position to one, and reset the tens and
ones position.
That system, where there are ten numeric symbols, is called base 10.
In Flash Drawing API, the colors are stored using hexidecimal
numbers.
Hexidecimal numbers are just like the base 10 system you know and love,
except this system has 16 number symbols instead of 10.
So: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
And once you get to f, you just set the "tens" position as 1 and reset the
"ones" position.

Hexidecimal Number system

In Flash, colors are represented and stored as three hexidecimal numbers.
The first represents red, the second is green, and the third is blue.
color = 0xRRGGBB
In the example above, RR represents the hexidecimal color that stores
the strength of the red in the color.  GG stores the strength of the green
color, and BB stores the strength of the blue in the color.
0x comes before every hexidecimal number to make it distinguishable from
base 10 numbers.

9 is 9
A is 10
B is 11
C is 12
D is 13
E is 14
F is 15

1 is 1
2 is 2
3 is 3
4 is 4
5 is 5
6 is 6
7 is 7
8 is 8

So in hexidecimal:

The first thing I'm going to teach you about the Flash drawing API is creating
lines and curves at runtime.  One good application I can think of is drawing
a line from a gun to the enemy to simulate gunfire, or draw a line from the
mouse to an object.  Or you could draw lines and curves just because you
can let variables control how they're drawn at runtime.
Before we begin, I'd like you to remember that the lineTo() and curveTo()
functions are all methods of the movieclip class (meaning that they'll need
to be called by a movieclip).  You can either create a movieclip
programmatically, as will be demonstrated on the next page, or you can create
one using the Flash GUI.

Drawing Lines and curves at runtime

createEmptyMovieClip(myLine, 10);
This function creates an empty movieclip.  This function has two
arguements: instance name and depth.
In this scenario, I'll make my instance name myLine and I'll make
my depth 10.  Depth is basically just a number that controls how high
in the SWF stacking order the object is.  Think of depth as the Actionscript
equivalent of layers.

To make our lines and curves visible, we must call the lineStyle() function
before we call the functions to create the lines.
Note that we can call the line functions without first calling lineStyle(), but
all our lines will be invisible.
When we draw lines and fills in the flash API, we'll want to create a Movieclip
in runtime that can old these lines and fills, so that Actionscript can be applied
to that object and the object can have Movieclip methods.

After we set our lineStyle, we need to set a starting location for all the lines
we'll draw.  To do this, we use the moveTo function:
moveTo(x, y);
After we set an initial position, we'll call the line to function:
lineTo(x, y);
so:
myLine.lineStyle(2, 0xff00ff, 100);
myLine.moveTo(_xmouse, _ymouse);
myLine.lineTo(Stage.width / 2, Stage.height /2);
This code draws a line that starts at the mouse position and goes
to the center of the stage.  If we put another lineTo function after
this code, the line will start at the center of the stage and go to the
coordinates passed into the last lineTo function.

Here is our line being drawn at runtime in action:

Now, you might've noticed a problem with that.  The lines simply accumulate.
We need to have a way to delete old lines.
Assuming we drew all our lines in the myLine Movieclip, this is what we'd do
to clear everything drawn with the API:
myLine.clear();
Sometimes its useful to clear all your lines every 10 or 20 miliseconds.  To do
that we'd use:
intervalID = setInterval(myLine.clear(), 20);
//Clears drawings every 20 miliseconds.
One good example of a need to clear a drawing is when you draw
a line from say a gun to the mouse location.  Only a milisecond or two
after the line is drawn, we'll want to delete it (because a bullet
trail doesn't stay forever in the air, at least where I come from).

Now, as cool as lineTo() is, we may someday aspire to draw curves.  For that,
we use the curveTo() function.
At a fundamental level, drawing curves is the same as drawing lines.  Our
curve will start at the end point of the last line or a point established by
moveTo();
Unlike lineTo, curveTo() needs to have 4 values passed into its arguement to
work.  Like lineTo(), curveTo needs to have the two end coordinates passed
into its arguement.  In addition to the two end coordinates, curveTo requires
control coordinates.
The "hump" on the curve will face towards the control point.  The
slope on the "hump" will be higher if the control point is farther
away from the curve.
So here is our curveTo() function being called.
curveTo(controlPointX, controlPointY, endPointX, endPointY);
Remember that all these points can be set and changed dynamically at
runtime, so that the curve can change based on certain variables.

Once you have your lines and curves drawn (and you have produced a closed
shape), you can add a fill to that shape.
Lets look at the code below:
with(_root.myLine) {
beginFill(0x00ff00, 100);
lineStyle(2, 0x0000ff, 100);
moveTo(250, 250);
lineTo(0, 250);
lineTo(0, 0);
lineTo(250, 0);
lineTo(250, 250);
endFill();
}
The with() {} code just takes a certain hierarchial reference (in this case
_root.myLine) and applies it to every function/property in the brackets
following it.

Fills

Using ActionScript (Flash 8 or later), we can control many cool filters on
movieclips at runtime.
This is what I will teach
Bevel Filter
Glow Filter
Convultion Filter
Blur Filter
Color Matrix Filter
All of these diffrent filters are set up as part of the filters class. To
use this class we will have to import it manually using:
import flash.filters.*;
We can create an instance of a filter using
myFilter = new GlowFilter(color, alpha, blurX, blurY, strength, quality, inner,
knockout);

Dynamic Filters

Here is an example:
myGlow = new GlowFilter(0xFF00FF, 100, 2, 2, 50, 10, false, false);
This sets the color as purple, the alpha as 100 (opaque), and it sets the
blurs as an even 2 and 2 on both axis.  The blur arguement is a number
from 0 to 255.  The 50 is a measure of strength.  Strength is an arguement
from 0 to 255.  10 is a measure of quality, the arguement's values range
from 0 to 15.  False and False set the filter as not inner and not knockout.
To set our filter to a movieclip, we use:
mc.filters = [myGlow, filter2, filter3]; //filters holds an array of all the filters
//for that movieclip.  filter2 and filter3 are only included for
//demonstration purposes.

That sums up ActionScript rendering.  I hope you continue to use dynamic
lines and fills in your applications.

At the most basic level, the webcam and the microphone are just two more
input devices your Flash.
The webcam lets you take in video from the user's PC and the microphone
lets you take in sound from the user's PC.
What you choose to do with that sound or audio is your choice.  You can
attach the sound or video, or anything else.  You could store the data, or
you could display it back to the user.  You could even use it to make a
video/microphone chat program (but you'd need XML, which isn't in this
tutorial).

Webcam and Microphone

To get data from the microphone, we firstly create a variable to store
incoming data from the microphone.  Then we have to attach that data
from the microphone to the stage (so it plays in the flash).
Luckily for us, getting data from the microphone is summed up into one
function.  Really easy, eh?
onEnterFrame = function()
microphoneData = Microphone.get();
attachAudio(microphoneData);
}
The get() function is applied to the microphone data.  The get()
function returns the data coming from the microphone, and that
data is assigned to the microphoneData variable.  Then that data
is attached to the stage using attachAudio().
Now, that would be the end of the microphone, and we could go
on with our lives.  However, we cannot, because there are several
properties of microphone data!

Getting Microphone Data

The first function we can apply to microphone data (and modify it) is
setUseEchoSuppresion(true)
When this function is called and its arguement is "true", Flash will modify
the microphone data by suppresing the echos.
Some people prefer to leave echos on, whilst others find suppressing echos
gives the audio a cleaner sound.  Play around with it!
The second property I'll go over is microphoneData.muted
This property can be retrieved, and is true if the user has allowed
the microphone on their PC to be accessed by Flash, and is false
if the microphone has been denied.  We can use this to cancel all
microphone activity if the user has denied the mic.  We can also tell
the user that they've disabled the mic:
if(microphoneData.muted == true) {
txtField = "You have disabled the microphone.  Please enable it to continue";
}

Using Flash's support for video, you can import in video from the webcam.
You could use this to create a fun webcam game, maybe even a video chat.
You could also teach your webcam to recognize itself, that is, to become
self-aware.  You could teach it to learn about the universe, to feel human
pains and emotions.  Although that does go a little bit beyond what this
tutorial will cover ;)
The basic concept of using a webcam is similar to using a microphone, you
use:
webcam = myCamera.get();
And then you have to attach that video to a video symbol, which needs
to be created manually.
webVideo.attachVideo(webcam);

Using the webcam in Flash

Look to the top right of the library.  Click that small button (shown inside
of red square on above screenshot).  Once you click it, a small menu will
come up.  From that menu, select "New Video".

Click here, inside the red circle
(but inside your own Flash of
course)

We have to create a video symbol on stage manually.  This video symbol will
be the holder for our webcam video.
To begin, press Ctrl + L to access the library.

***Make sure the Type is set to Video(ActionScript-controlled)***

You'll see video properties pop-up.  You can give the symbol a good name to
make it easier to find in the library later, although this is NOT the identifier
we will use to access this video via ActionScript.

Your final step is to give your video symbol an instance name so that
it can be accessed via ActionScript.  Click on the video symbol and
open the properties panel (Ctrl + F3).  You can give your video
any instance name, but for this tutorial's ActionScript I will be using
the instance name webcam.

Nextly, find the video symbol in the library.  Click and drag on that symbol
to bring it on to the stage.  Once the symbol is on the stage, it should like
like the video symbol below:

That sums up use of the microphone and webcam.  I hope you enjoy it.
I didn't include any examples in this section because to use
webcam/microphone Flash will automatically pop-up a prompt
asking you if you want Flash to have access to your mic/webcam.
That would be annoying to anyone trying to casually cruise through this
tutorial : (

Object Oriented Programming (OOP) is a way of using something called
classes to store functions and variables.
Here is the real shocker, you've been using classes all along when
programming in Actionscript.  One of the major classes you've used is
the class Movieclip.  The class movieclip has functions like gotoAndStop()
and it has variables like _x and _y.
So to do basically any sort of programming in Actionscript, you have to use
classes, however this tutorial will teach you to go to the next
level by creating your very own classes!
Here is what this tutorial teaches:
How to create a class and make an instance of it
Private and Public data
Constructors and methods of Classes
Properties
Inheritance of Classes

Object Oriented Programming

The first thing to know about creating classes in Actionscript is that they can
only be created in .as files outside of your main FLA.  Creating a class will not
work if you do not have Actionscript 2.0 or higher (Flash MX 2004 or higher).
Anyway, the first step to creating the class is to create an empty AS document.
You can reach the screen where you create new documents by pressing Ctrl+N.

Creating a Class

Once you have created your AS document, you need to give it a name.  Now,
unlike an FLA, the name of an AS document is key to its function.  An AS
document MUST be given the same name as the class defined in it.  Only
one class can be defined per AS document.
Once you have your class finished, you'll have to include the AS document
inside your FLA, by using import className;
import bob;
When you're ready to import your class into the FLA, you'll have to tell
Flash where to look for the .as file, otherwise Flash will tell you that it can't
find your .as file.
To tell Flash what folders you want it to look in to find .as files, go
to File>Publish Settings>Flash>Settings (Small rectangular button
to the right of where it says "ActionScript version").
That will open a little prompt which will let you add or remove folders forF
Flash to look on.  On the top of the prompt, you'll see a little crosshairs
symbol.  If you click there you can browse through diffrent folders to select
the one you want.  Remember that you aren't looking for the .as file, you're
looking for the folder its in.

Now a lot of people might think, why don't I use #include "filePath"
Well, the simple answer is that using #include makes it the same
as if you had copied and pasted the code into the place where
the include directive is placed.  While this is okay for bringing in
functions, it won't work for classes because Flash has a rule that
you can't define classes in an FLA.
Once you have your AS document up and ready, its time to start your
wonderful adventure in OOP.

The first step we're going to want to take in creating our class is to declare
the class.  (Remember right now that we're in the .as file with the same name
as our class.  The file must have the same name)
class spaceship {
Every code between the brackets following class spaceship will be part of the
class.
Our next step is to give our class spaceship what is called a constructor
function.  The constructor function is what we'll call inside our FLA to create
an object which is a member of the class spaceship.  The constructor function
should have the same name as the class itself.
spaceship = function(x, y) {
var xPos:Number = x;
var yPos:Number = y;
}

This space should NOT be empty

In our main FLA, we can use the following code to create an object of the
class spaceship:
import spaceship;
spaceship(200, 200);
If it doesn't work, go to Publish settings and make sure you told Flash where
to look for the class file.

Now that we have a constructor function, our next step should be to give
our class methods and properties.  In the class Movieclip that you are
probably very familiar with, there are methods like gotoAndStop(), play(),
and properties such as _x, _y, _quality, _xmouse, and _ymouse.
Anyway, you can create your own methods and functions for your class.
There are two types of methods and properties: getters and setters.
An example of a getter is _xmouse.
xPos = _xmouse;
_xmouse is called a getter property because it gets a value from a
function of the class movieclip and lets the user work with it.
An example of a setter is _x.
_x = 5;
_x is called a setter because it sets properties of the class.

Its also important to note that you can make your variables or functions
either private or public.
Private variables are accessable only to the class which defined them, its
subclasses, and its friends.
Public variables are accessable to any and all classes.
Generally the rule is that you want to make a variable private unless there
is a specific reason you want it to be accessable to all classes.
To declare a variable or function as private or public, simply place the
word in front of your decleration as is done below:
private var x = 10;
public var x = 10;
private bob = function() {
//stuff
}
public bob = function() {
//stuff
}

Now back with our example of the class spaceship, we can create our own
methods and properties, which is cool, but in some cases we'll want to use
the functions or properties of the MovieClip class.
This is why there is something called inheritance integrated into Actionscript.
I can create a class which has all the properties and functions of another class.
The class which inherints the methods and properties of another class is called
a subclass.
In Actionscript, almost all the classes you create for your player, your enemy,
or some sort of object on stage will be subclasses of the class Movieclip.  This
is because the functions in movieclip are extremely useful.
To make a class a subclass of another class, simply use the code
below:
class spaceship extends MovieClip {
Here, we include "extends className" to denote what class we want our new
class to be a subclass of.
The above code creates a class which inherints all the methods and properties
of the class MovieClip.

This is the end of my lesson on OOP as well as my lesson on ActionScript
overall.  : (
However, to reward your diligence, I will reveal here to you a cookie!  Yes,
a cookie.
Simply enter pronote, trivia, or betatest into the goto Page bar to read
something fun!

This is a 26 question quiz that
reinforces everything you've
learned in the entire Flash
tutorial.  If you don't know
something, you get a full
explination of what you missed
and a place to go in the tutorial
for more information.

Publishing Flash

Publishing Flash

This section goes over optimizing
and compressing your Flash as
well as security issues for Flash.
This covers everything you need
to know to publish your Flash.

Debugging ActionScript

Debugging ActionScript

This section goes over debugging
ActionScript.  Thorough and deep,
this section goes over a diverse
range of methods for fixing errors
and writing clean code.

Music

Music

This covers adding music to
your flash and controlling it
with both ActionScript and
timeline methods.  It covers
techniques such as panning
and volume control.

Trigonometry and Physics

Trigonometry and Physics

This covers trigonometry that
enables the user to work with
angular velocity and rotation.
This also covers gravity, collision
detection, and collision physics.

Using Text

Using Text

This section covers creating
and using dynamic and input
textboxs, as well as creating
textboxes at runtime using
ActionScript.

Flash Chapter 3: Beyond the
Basics

Taking a first look at this title, you may foolishly rush to the conclusion that
this topic is going to just restate the painfully obvious, and will just cover the
basics of making text boxes.  Thankfully, this is not the case.  Text can be
dynamic, allowing it to display the values of variables (such as a health
counter in a game).  Also you can make text input text, where the data
can be inputed by the user into the text box and stored as a variable.
Also, you can generate text using the createTextField(); function.
A few other things I'll teach you is giving the user the ability to search
through a paragraph for a specific word or letter, letting the user

Using Text

Part of this tutorial will go over creating a textbox that displays a variable,
a textbox that lets the user define a variable, and using Actionscript to control
and manipulate text data.
If you read the Actionscript section, you'd know that text is stored in a data
type called a string.  String data is enclosed in quotation marks.  Below is an
example of a string.
"bob"
"This tutorial is pwnage"
"5"
Although the last one may look like a number data type, Flash treats it
as a string, because it is enclosed in quotation marks.  If I let the user
input text to define the variable health, the health data will automatically be
in string value.  To convert a string to a number, simply subtract zero from the
string.
"5" - 0; //Before subtracting 0, "5" is a string.  Afterwards, 5 is a number.

Using and Storing Text in Actionscript

Here you can select whether you want your text to be static,
dynamic, or input.
To the right you can turn your text into a hyperlink.  If you enter a url into the
hyperlink box your text becomes a link to that website.  I would advise not to
do this, however, because this does not give you the precise control you'd get
from creating a button that links to a website.  In the box shown below, enter
the url you'd like to link to:

Static text is the first type of text I'll teach you.  Static text cannot be edited
while the program is running via actionscript (hence the name static).
To create a static textbox, simply select the text tool (T) and drag the tool
over the stage to create a textbox.  If you look down at properties, you'll see
a drop down option in the top left corner.

Static Textbox

Once you create dynamic text, you'll notice that it looks diffrent than static
text.  The dynamic textbox will be surrounded by a dotted line.  This is done
because most dynamic textboxes have no text in them until the program is
run, and thusly the user needs a dotted line to locate the textbox.

The next type of text I'll go over is dynamic text.  Dynamic text displays a
variable that can be changed dynamically while the movie is being run
using actionscript.  This is useful for creating health counters in Actionscript,
displaying a datum that is set by a series of actionscript rules, etc.
The first step to working with dynamic text is creating your actual dynamic
text box.  To do this, select the text tool (T) and drag it on the stage to create
a text box.  Then select that text box and go down to the properties.  Then,
in the top left corner, click the drop down menu and select "dynamic text".

Dynamic Text

Remember that your variable name can only contain letters a through
z, numbers, dollar sign ($), and the underscore character (_).
Also, variable names are cap sensitive and the variable name can
have no spaces.
When putting a variable name into your dynamic text box's properties
panel, you can place your variable on a hierarchy via dot syntax.
For example, you can define a variable as _global.health or _root.health
I find _global to be extremely useful for dynamic textbox variables.

The next step we have is to give our dynamic textbox a variable.  That is the
variable through which the textbox's content can be accessed or edited via
Actionscript.
To give our dynamic textbox a variable, select a dynamic textobx, and look
down to the properties panel.  At the center of the properties panel you should
see a box that says "Var:   "  It is in this box that you can place your variable
name.

Creating input text is really no diffrent than creating dynamic text, so I'll
be rather brief in my explination.  Input text is diffrent than dynamic text
in that dynamic text allows the user to display the contents of a certain
variable into a textobx, whilst input text allows the user to type text (or
numbers) into an input text box and have that set as the value for a certain
variable.
To create an input textbox, first change the type of the textbox from or
dynamic to input.  This drop-down box is located on the left side of the
properties panel right next to a giant A.

Input Text

Lets just be frank, scarcely any piece of visual entertainment
would be half decent without audio.  The audio in flash can
be controlled a number of ways.  It can be placed on a timeline
so it starts and stops with the animation.  Music can also be
controlled with Actionscript.  As you may have guessed, movies
generally put music ont he timeline because it can be easily
coordinated with keyframes inthe animation.  However games
tend to use Actionscript, because of the precise control that
many programmers prefer.
In this tutorial I will first cover controlling music with
Actionscript, the first step of which is bring music into the
library.

Music

Once in the file menu, go to the file menu, scroll down to import, and
go click "Import to Library".  (The process is shown below).

Hit ctrl + L to enter the library.  Than
find your audio file.  Right click on
that audio file and scroll down to
linkage, and click that option.

Once you import your audio file, you'll have to give it a linkage identifier.
If you don't at all understand what that is, go back to instances and linkage to
refresh yourself.   If you need a quick
refresher, linkage is a way of letting AS
access objects in the library.  An
identifier can be given to an object
to let AS codes reference it.

That's what will pop up.  You'll want to give your audio a name,
and as you can see above I gave my audio the name "ots".
That'll be important later on.  In the techniques for using audio
that I will teach you, export in first frame will be unchecked.  That
is done for a key reason.  In a normal flash, your first frame is a
preloader.  If your audio is exported in the first frame, that means
your audio will be loaded before the preloader.  That's usually a bad
thing.  So for the time being, uncheck Export in First Frame.

The next thing I'll go over is scripting a button that plays music as well
as a button that stops music.
Below is the code that is used in this tutorial to start the music:

on (press) {
stopAllSounds();
_root.mus = new Sound();
_root.mus.attachSound("ots");
_root.mus.start(0, 1000);
_root.mus.volume = 70;
}
This code starts out by creating an onPress event.  That means
that the code will be ran when the mouse clicks on the button.
The next line of code calls the function stopAllSounds();
That function stops every sound that is currently running.
We run that function first to clear out any sounds that might be
playing before we play our new music.

_root.mus = new Sound();
_root.mus.attachSound("ots");
The next step is that we create a  variable called mus.  That variable
is declared as the sound datatype.
_root.mus = new Sound();
is the same principle as saying:
bob = new Array();
Our next line calls the function attachSound.  For that function we
tell it to look for the linkage identifier "ots" (that was why we
went into the library and created the idenifier earlier).

_root.mus.start(0, 1000);
_root.mus.volume = 70;
}
Our next line calls the function start for the mus variable.  The start
function has two arguements (shown in parenthesis).  The first is
how many seconds you want the music to start at.  In this script, I
want the movie to start at the very beginning, so I put in zero as
the first arguement.
The second arguement we have is how many times we want the
audio to loop.  I selected the number 1000 because I want the
music to loop indefinitly.  If you set it at 1 than your audio would
only loop once.
Our next line sets the property volume for the variable mus.  I
choose to set the volume at 70 because I found it to be the best
level after conducting numerous tests (they were more like
guesses but whatever).
That basically sums up the Actionscript used to make a button that
plays music.

Remember when you created the linkage identifier?  You had an option
of whether you wanted to export the music in the first frame or not.
If you choose not to export in the first frame, then your music won't load
at all.  If you choose to export in the first frame, then the music will load
before your preloader, which will mean the preloader won't appear for
a while.  Both of those are very undesirable scenarios.  However, I have
found an effective workaround.
What's going on at the core level is that Flash won't put a symbol in the
SWF exported unless there is an instance of it or if we choose to export
the music in the first frame.
Because the later won't work, we have to create an instance of
the music in the timeline.  Now, we can't add the music to the main
timeline, because there the music would start playing outside of our
Actionscript controls.
So, basically, we have to add our music to a movieclip's timeline.  And we
can use stop frames in front of the music so that it never plays.

Above you can see what I did with the tutorial you are using now.  Inside
of a movieclip that is loaded after the preloader, we have the audio.
However, because of the first frame being a stop frame, the music is never
actually played by the movieclip.  But because the music on the timeline,
it is loaded, which makes it accessable to AS.
So basically, to be able to use linkage and Actionscript with your
audio, you have to make sure that the audio is loaded, either with
your own tecnique or the one I just explained.

Doing audio with actionscript is a great method for if you're making a game
or some sort of interactive project.  However it isn't the best technique for
adding sounds that you don't want to be controlled dynamically.  Some
examples of times when audio should be put on the timeline instead of
controlled by AS are:
When you want to add sound effects to a movie
When you want to have charaters talk in a movie
When you have a sound that you want to play the same way every
time the movie is run (not controlled by user interaction)
Audio that is controlled by the timeline can be easily synched to
occur at the same time as an animation, so that your explosion
sound can be made to start exactly when the missle hits its target.

Timeline Audio

After you import you audio to the stage, click on the keyframe that
you want to add the audio to.  Then go down to the properties
panel.  On the right side of the properties panel, click on the drop
down menu that says sound, and select the audio you imported.

When you add music to the timeline, you must add it to a specific keyframe.
To add audio to a keyframe you must first import the audio the stage
and then you have to declare an instance of the audio on your time
To import audio to your stage, simply go to File > Import > Import to Stage.
(Or you can just press Ctrl+R).

This is an example of effective audio.  By moving around the keyframe where
the audio begins, you can make an audio clip play at the same time as an
animation.  This is invaluable for special effects, as the sound of a gun firing
can be made to occur exactly when the gun's firing animation begins.
In the above example, my audio begins to play when the animation does, this
is called synching audio to events.

One very important note is that music should generally be on its own layer
(labelled music) on your timeline.  Below is an example of a well constructed
timeline that integrates audio.

You should then find that music has been added to your timeline.  Note that
if music is added to a blank keyframe, the keyframe will still stay blank.  Only
graphics on stage will turn a blank keyframe into a regular keyframe.

Now you know how to import your audio into Flash and add it to the timeline.
However, once you add your audio to the timeline and get it into the right
position, you are not done yet.  There are a number of options which can
greatly effect how your audio functions (especially regarding your filesize).
So continue reading, to hear about the wonderful options you have for your
timeline audio.
To change your audio's property, select the keyframe with your audio in it, and
then open the properties panel (Ctrl + F3).
You'll see something resembling the screenshot below on the right
side of the properties panel:

Timeline audio properties

In this drop down menu you can select any audio you've imported to the
stage.  The audio you select from this drop down menu will be added to the
timeline on the keyframe that you selected when you entered the properties
panel.

This opens up a graph where you can control the volume of the audio on
each speaker at any given point in the song.

Here you can select from a variety of options for your
audio's volume and panning.  The option left channel
will play your audio entirely on the user's left speaker.
Right channel will play the audio entirily on the user's
right speaker.  Fade Left to right will begin by playing
the audio on the user's left speaker, and will then
gradually move to playing entirely on the users
right speaker.  Fade right to left starts playing the audio entirely on the right
speaker and gradually fades to playing the audio entirely on the left speaker.
If you select custom, a graph will open that allows you to create a custom
effect.  To read about this, rollover the "edit" button to the left of this.

This controls how many times the audio repeats (if you have repeat
selected).

This displays the settings being applied to the selected audio.
Note that these settings can be changed in the publish settings.

Here you can choose whether you want the audio to loop or repeat.
If you set the audio to loop, it will repeat itself indefinitly.  If you set
it to repeat, you can specify how many times you want the audio to be
repeated.

Here you can select how you want your audio to be ran, or rather what
type of audio you want to have.  If you select start, the audio will start
on that keyframe and will go until it reaches a keyframe with a stop
audio keyframe.  Secondly, you can select stop.  That will make your
keyframe stop audio started by audio with the start syncing.
The best option in most cases is stream.  Stream will crop your audio and
will also reduce your file-size DRAMATICALLY.  Rarely have I choosen to
use something other than stream.  Rarely...

Rollover the object below to read about all the options you have:

In a Flash, the point of sound is to immerse the viewer.  The sound of a
bullet blazing by the player is incredibly powerful in building mood.  Lets
say that bullet blazes by the right side of the character.  Using the code I
gave your earlier in this section, the sound woud come out equally on the
right and left speakers.
Suddenly the immersion is shattered.
Panning is the process by which the volume in one speaker is set to a diffrent
level than the other speaker.
We can use the setPan() function to control how much of the audio
comes out of each speaker.
The setPan function's arguement determines how the audio is distributed
amongest the speakers.
music.setPan(100);       //All sound comes out of right speaker.
music.setPan(0);           //Sound comes out of speakers equally.
music.setPan(-100);     //All sound comes out of left speaker

Panning Sound

Generally, the best way to set pan is to have the _x property of an object
passed into the setPan function's arguement.
Now, that gives us a slight dilemna.  The _x property of a movieclip is a
value that ranges from 0 to the stage's width, whilst the arguement of the
setPan function calls for a value from -100 to 100.  This is how I did the
coversion:
panLevel = (((_xmouse - Stage.width) / Stage.width) * 100 + 50) * 2;
_root.music.setPan(panLevel);
All that code does is it create a variable which will hold our pan
amount.  The panLevel variable is given a value that will be -100
when the mouse is on the left side of the SWF, and 100 when the
mouse is on the right side.
There are two ways to change this code to meet your unique needs.  The
first is that you can change _xmouse (shown in blue) to the _x property of
any movieclip or button (myMC._x), so the audio level varies based on the x
coordinate of that Movieclip.  Secondly, you can change the red number from 2
to 1 to make the audio panning less dramatic (so the sound is never 100% out
of one speaker).

Psybot's Audio Page - I recommend Madness Beep, Heaven Cries, First Level,
Focus, and The Last War.  This is my favorite audio portal artist.  His music
is characterised by fast and innovative electronic music with an array of
bass, drums, and colorful synth.

JohnFN001's Audio Page - I recommend A New Hope, Tropick,
into the white, into the sun, and Straightforward.  His music is
characterised by powerful piano contrasted with an excellent
sytrus sound.

That basically sums up my lesson on audio in Flash.  As in every other section
of this tutorial, I will provide links to build upon what I've taught you.  This
time I'm going to link to two Newgrounds Audio Portal authors that could be
good for a Flash.  All Newgrounds Audio Portal submissions can be legally used
in Flash destined for Newgrounds.

This section goes over a few of the math and physics techniques neccessary
to make games.  I'll explain what the formulas and functions mean, but some
of the topics I teach would take a full semester on the topic to get a really
deep and thorough understanding.
This section will cover the following:
Friction and velocity
Triangles, angles, and sine/cosine/arctangent ratios.
Gravity
Advanced Collision

Trigonometry and Physics

The first code you created to move an object probably directly set the _x and
_y values of an object, like the code below:
if(Key.isDown(Key.RIGHT)) {
this._x += 5;
}
Despite its convenience, there are several limitations to this model:
1.  Movement looks static, objectss stop dead when the condition is false.
This looks unatural.
2.  Having more than one force affect the object is difficult/
impossible to do.  For example, making wind move the character
would back would look strange and unatural.
3.  Implementing gravity, springs, or angular velocity is near
impossible.
So in light of that, we don't just change the _x and _y coordinate directly.

Velocity and Friction

Instead of directly working with _x and _y coordinates, its best to work with
velocity variables.  I personally use vx and vy(my friends uses xacc and yacc).
onLoad = function() {
vx = 0;
}
onEnterFrame = function() {
if(Key.isDown(Key.RIGHT)) {
vx += 5;
}
myMC._x += vx
}
The code above might not seem like a huge improvement, but it is.
Using velocity variables to control objects is really a neccessity when
it comes to doing all the things we'll work with later on in this section.
But, if you really analyze the code above, you should notice a problem.  If you
don't notice it, try plugging it into the first frame on your main timeline with
an object on stage with an instance name of myMC.

Friction

If you tried out that code, you'd notice that the object its applied to never
stops!  Yep, velocity is just raised when you press the right arrow key.  It
isn't lowered.  And that brings me to my next topic of discussion, friction.
To have friction, all we do is multiply our velocity variables by a number
lower than 1.  Generally we'd use .9 - .99
What this will do is lower the velocity variablea certain amount depending
on how high the velocity is.  This makes more sense and looks more natural
then subtracting a constant from the velocity variable.
Now, if you work for NASA or have some sort of a physics
background, you might be thinking "That's not how friction
works!!!!!"
And you'd be right.  Friction doesn't actually just multiply velocity by a
constant number.  However, in a Flash game (unless its a physics simulator),
precision is less important then processing power.  So:
vx *= .97;
is usually the way to go!

(Press Shift to
reset the ball's
position)

So now, with friction integrated, our code looks something like this:
onLoad = function() {
vx = 0;
friction = .97
}
onEnterFrame = function() {
if(Key.isDown(Key.SPACE)) {
vx += 1;
}
friction *= vx
myMC._x += vx;
}
Press the space key to see it in action below:

The Hypotenuse is simply
the longest side of the
triangle.
The adjacent side touches
our angle but isn't the
longest side.
The opposite side doesn't
touch our angle.

Hypotenuse

Opposite Side

Adjacent Side

Well, now you know how to make an object with a velocity variable.  We can
increase or decrease that variable to move our object across the screen.  This
is good for many applications, but lets say I want to move my object not left
or right, but at a certain angle.  To do that, you're going to need to learn a
little about trigonometry and triangles.
This is our friend the triangle, he has 3 sides.  In this scenario, we're looking
at the angle on the left side of the triangle.

Triangles

Think about motion.  You have an x coordinate movement, a y
coordinate movement, and the path you actually move on.
The x coordinate movement you have is like the adjacent side of
the triangle, and y coordinate movement is like the opposite side of
the triangle.  The path you actually take is the hypotenuse of the
triangle.
Right now, it should become a little bit clearer why we're thinking about
triangles.  If you know the opposite and adjacent sides, you can know the
hypotenuse.   If you know the opposite and adjacent lengths, you can figure
out the angle.

On frame 20:

On frame 1:

Now, "How does this relate to motion?", you might ask.  Well, it does.  But its
a tad bit difficult to explain, as this is a quite challenging topic.

The next thing I'll go over is angles.  Normally, you think of an angle as a
number from 0 to 360, 180 being a half circle, and 360 being a full circle.
You measure angles with degrees.
Unfortunatly, Flash does not measure angles that way.  Flash (and all the
Actionscript functions dealing with Trig) require you to use a format called
radians.
To calculate radians, simply multiply your angle degree (0-360) by Pi, and
then divide by 180:
radians = angle * Math.PI / 180
One radian is roughly equal to 57.2 degrees.  This might make
radians seem like an arbitrary unit, however there is a great
deal of logic behind it.
One circle (360 degrees) is 2 Pi radians.
180 degrees is exactly equal to Pi.
Because Pi is used to calculate the cirumfrance of a circle, it makes sense
that the unit measuring the angles of a circle is linked to Pi.

Sine:
Sine is the ratio of a triangle's opposite side to its hypotenuse.  The Sin()
function in Actionscript allows you to plug-in a triangle's angle, and the
ratio of that triangle's opposite side to its hypotenuse will be returned.  So
if we have a triangle with an opposite side of 4, and a hypotenuse of 2, the
sin() function will return 2.
To use this, begin with your angle (make sure its in radians now).  Then
pass that value into the sin() function.
radians = angle * Math.PI / 180;
Math.sin(radians);
Sine, being the ratio of the opposite side to the hypotenuse, will reflect
the y velocity of your object.  (Because the opposite side of the triangle
runs up and down the y coordinate).
In fact, that is the use of sine, deriving y coordinate velocity from an angle
measurement.

Flash has some inbuilt functions that  allow you to plug in an angle or the length
of a side, and have another aspect of that triangle returned.

Cosine:
Cosine is a lot like sine, except for this is used for deriving x coordinate velocity
from an angle measurement.  As you can guess, cosine is the ratio of the
triangle's adjacent side to the triangle's hypotenuse.  So if our adjacent side is
4 units long, and our hypotenuse is 2 units long, our cosine will be 2.
Like sine, we have to enter our angle into its arguement in radians.  So the
code would be:
Math.cos(radians);

I remember thinking a long time ago, "I want my object to go at a set speed
towards a certain angle" (which is useful for having an object balance off of
something).  But I needed to have vx and vy values, but I had no idea how
I'd get them from my angle.
Well, the answer is sin() and cos().
radians = angle * Math.PI / 180;
vx = Math.cos(radians) * speed;
vy = Math.sin(radians) * speed;
We say Math.cos and Math.sin instead of simply sin or cos because
the sin and cos functions are methods (functions) of the math
class.  This is the same principle as saying myObject.gotoAndStop(1)
instead of simply gotoAndStop(1).
Using cosine and sine, we can get axis-based velocity values from
angles.

Using Sine and Cosine to convert anglular velocity to
axis velocity.

So, it really makes a lot of sense.  The value cos returns is just the adjacent
side / hypotenuse, and the sin value is the opposite side / hypotenuse.

Opposite

Adjacent

When looking at an object moving from one point to another, think
about your y coordinate change as the opposite side of a triangle,
and the x coordinate change as the adjacent side.

velocity y

velocity x

When you remember what cosine and sine really mean, this all makes a lot
of sense.

Adjacent
2
+ Opposite
2
= Hypotenuse
2
or...
a
2
+ b
2
= c
2
So, the length of our adjacent and opposite sides (vx and vy) are
direactly proportional to the hypotenuse (the actual motion path
of our object).
In cosine the value returned isn't just the adjacent side's length, but rather
the adjacent side's length divided by the hypotenuse.  The length is divided
by the hypotenuse in sine and cosine because the x and y values need to be
relative to the overall path of the triangle.

This brings me to the Pythagorean theorem.

Now, the last triangle ratio I'll go over is arctangent.  There are others I
won't discuss like arcsine, arcosine, and tangent, but they have no
immediate Actionscript uses, so I won't explain them.  If you must learn
some more detailed trigonometry (I admit it's quite fun), then I advise
you take a class at your local community college/school you are currently
in attendance at.
Anyway, Arctangent serves the opposite role of Sine and Cosine.  Arctangent
allows you to derive an angle measurement from a triangle's opposite and
adjacent sides.
In Actionscript, the Atan function is:
angle = Math.atan2(opposite, adjacent);
Remember that the atan2() function returns its values in radians.  To convert
this to angles, simply use:
degrees = radians * 180 / Math.PI;

Arctangent

Here is an application of the arctangent function.  This function creates
an arrow that points to a moving button when you rollover the button or
arrow with the mouse.
onEnterFrame = function() {
distButtonX = button._x - arrow._x;
distButtonY = button._y - arrow._y;
radianAngle = Math.atan2(distButtonY, distButtonX);
degreeAngle = radianAngle * 180 / Math.PI;
arrow._rotation = degreeAngle;
}
Basically this code takes two objects, the arrow and the button, and
measures the distance between them into the variable distButtonX
and distButtonY.
Then that is fed into the atan2 function (the y distance being the
opposite side of the hypothetical triangle, and the x distance
being the adjacent side of the hypothetical triangle).

Here it is:

Rollover me!

Rollover me!

This is sort of a full Pi (That's a joke because traditionally one would say a
full 180 degrees, which is turning around.  In radians, a full turn is 1 Pi.
However there is also a pun because 1 Pi is phonetically equivalent to
1 Pie, which is actually 2 Pi radians).
Anyway, time to talk about gravity.
Gravity is an attraction between matter.  The strength of attraction between
the matter is determined by each of the object's masses, and the distance
between the objects.  This should all seem pretty logical.  The Sun of course
exerts more force on you then, say, your toothbrush.
The sun's gravity is much stronger than the earth, but there Earth's
gravity effects you more because it is much closer.
You have observed many times that an object's mass determines the
strength of its gravitational pull.  This is why the Earth manages to stop
you from moving more than a few feet from it (without rockets of course),
whilst something mundane, say a toothbrush, barely exerts a force on you.

Gravity

In Actionscript, we can express it like this:
gravityForce = (mass1 * mass2) / (distance * distance)

distance
2

_____________

mass1 * mass2

=

Gravitational Attraction

So, gravity gets stronger as the objects get more massive, and weaker as they
move apart.  Below is a simplified version of the gravity equation.  This is a
simplification, so it would be a bad idea to use this as a source if you work
for NASA, but this is good enough for your typical flash application.

So, now you know how to calculate the force of the gravitational attraction.
But, to make this really useful, we should write a function to control gravity.
The advantage is that by using a function, you can use a for loop to apply the
function to 100s of unique movieclip instances.
We start out the function like this:
gravity = function(thing1, thing2, mass1, mass2) {
This first line creates four arguements for our function: thing1, thing2, mass1,
and mass 2.  When the function is called, the instance names of two movieclips
will be passed into the function along with their two mass values.
Our next step is to create distance variables, which will be used later
to calculate how strong gravity will be:
distanceX = thing1._x - thing2._x;
distanceY = thing1._y - thing2._y;
Okay, now we have our distance variable.

After we have a distanceX and distanceY variable, we'll want to create an
overall distance variable by using the Pythagorearn theorem.  distanceX is
our adjacent side, distanceY is our opposite side, and we're trying to find
the hypotenuse.
distance = Math.sqrt((distanceX * distanceX) + (distanceY * distanceY));
Our next step is to create the gravity force:
gravityForce = mass1 * mass2 / (distance * distance);
Now, we want to create the angle at which our object will travel.
Note that I'm using some trig functions I explained in depth at
the beginning of this section, refer there for help.
degrees = Math.atan2(distanceY, distanceX);
radians = degrees * Math.PI / 180
Okay, now that we have a gravity force, we'll want to actually
create acceleration variables for thing1 and thing2.
xacc = Math.cos(radians) * gravityForce;
yacc = Math.sin(radians) * gravityForce;

Our final step is to take our acceleration and use it to modify the velocity
values of thing1 and thing2.  Now, this step makes the assumption that you
gave the movieclips you passed in the arguement a variable named vx and
vy.
We divide our acceleration values by the mass of our object because an
object with a greater mass requires more force to move than an object
with less mass.  (Think about the diffrence between moving a feather and
a boulder).
thing1.vx += xacc / mass1
thing1.vy += yacc / mass1
thing2.vx += xacc / mass2
thing2.vy += yacc / mass2
On the next page I have the entire function compiled.

And here is our total code:

gravity = function(thing1, thing2, mass1, mass2) {
distanceX = thing1._x - thing2._x;
distanceY = thing1._y - thing2._y;
distance = Math.sqrt((distanceX * distanceX) + (distanceY * distanceY));
gravityForce = mass1 * mass2 / (distance * distance);
degrees = Math.atan2(distanceY, distanceX);
radians = degrees * Math.PI / 180
xacc = Math.cos(radians) * gravityForce;
yacc = Math.sin(radians) *gravityForce;
thing1.vx += xacc / mass1
thing1.vy += yacc / mass1
thing2.vx += xacc / mass2
thing2.vy += yacc / mass2

Basically this code works on the assumption that we have 50
movieclips, each named mc1, mc2, mc3, etc as well as each of those
movieclips having a mass variable.
The first for loop iterates throught the i variable.  When it goes
through, it assigns a certain Movieclip (based on the value of i, so if
i = 2, it will be working with the movieclip mc2) to thing1.
Then the second for loop goes to the movieclip after the movieclip named
thing1 by the first for loop and assigns it to thing2.  (Because k starts out
as 1 whilst i starts out at 0).  Then the movieclips are passed into the gravity
function.

for(i = 0; i < 49; i++) {
thing1 = eval("mc" + i);
for(k = i + 1; k < 50; k++) {
thing2 = eval("mc" + j);
gravity(thing1, thing2, thing1.mass, thing2.mass)
}
}

And this is how we'd call the gravity function we created:

Over the course of working with Flash, you've probably thought about how
I can work with detecting collision between two objects, and making objects
react to those collisions.  Well, that's what I'll teach you now: detecting when
two objects collide, and coding objects to crash back or reverberate in a
somewhat realistic fashion.
I'll explain the diffrent methods for detecting collision between
objects.
I will go over 3 techniques:
1.  hitesting 2 movieclips
2.  hitesting a movieclip and a coordinate
3.  hitesting using shapeflags
And finally, I will go over the technique for hitesting multiple objects (using
for loops).

Advanced Collision

There is a function in flash called hitTest which detects when one movieclip
hits another.
if(movieclip1.hitTest(movieclip2)) {
//collision code
}
However, this method isn't perfect because it doesn't actually
detect when part of the shape hits another, it actually calculates the highest
x and y, and then lowest x and y values of the shape, and then draws a little
box around the oject which is actually used to determine if the two objects
are hitting.
So this works 100% perfectly if the two objects are squares, but
horribly if the two objects are circle or abstract shapes.  Below,
using hitTest method, the two objects are hitting (Because the
boxs drawn around them based on minmum and maximum
coordinates collide.

1.  Hitesting two movieclips

This technique works perfectly for circles, because every point on the circles
perimeter is an equal distance from the center.
This technique works very poorly, however, for squares.
To do distance based detection, our first step will be to calculate the distance
between the two objects.
distX = ball1._x - ball2._x;
distY = ball2._y - ball2._y;
distance = Math.sqrt((distX * distX) + (distY * distY));
if(distance <= ball1._width + ball2._width;
//collision code for two objects.
}
The first line of this code generates the distance on the  x coordinate and the
second line calculates distance on the y coordinate.  After that, we use the
pythagorean theorem to calculate the overall distance.  (There's that trig
again).  Think about distX as our adjacent side, distY as our opposite side, and
distance as the hypotenuse of our triangle.

2. Distance based detection

In ActionScript:

In Algebra:

c =     a
2
+ b
2

c
2
= a
2
+ b
2

<p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><b>distance =</b><b> </b><b>Math.sqrt(distX * distX) + (distY * distY));</b></font></p>

To calculate the length of the hypotenuse, we use a
2
+b
2
= c
2
(Pythagorean
theorem).

If the blue line is shorter than the two
black lines put together, the two objects
are hitting.

Distance

width/2

if(distance <= ball1._width / 2 + ball2._width / 2;
//collision code for two objects.
}
For our first ball, we take its width, and then divide that width by two, to give
us the ball's radius.  Then we take ball2 and calculate its radius.  The radius
of each ball is the distance from the center of the ball to the ball's perimeter.
Then we add those two distances together.  If the distance between the two
objects is less than the distance of both the object's centers to their collective
perimeters, the two objects are hitting.

Our final step is our actual conditional that checks for

Blue is box used in hitTest
Black is actual shape

This method is used to detect if a movieclip is hitting a single coordinate.
One good example of using this is detecting if a movieclip is hitting the
coordinate position of the mouse.
The syntax is:
if(mc.hitTest(X, Y) {
//collision
}
In the code above X and Y are the coordinate positions we are
hitesting the movieclip with.
Note that similar to hitesting one movieclip to another, the movieclip
used in the hitTest will have a "box" drawn around it, so that it
encompasses the entire shape.  That box is used to determine where the
two objects are hitting, not the actual shape of the object.

3.  Hitesting a Movieclip with a coordinate position

There is an option in Flash where you can hitTest with a movieclip and a
coordinate position, and have every point on the movieclip active in the
hitTest (so no drawing a box, the actual shape is used).
Note that we can not use shapeflags with two movieclips, we have to use
shapeflags to detect collision of a movieclip and a set of coordinates.
if(mc.hitTest(X, Y, true) {
//collision
}
Basically, to use shapeflags, we have to make the third arguement
after X and Y true.
If we leave that arguement blank, the point is hitested with a box drawn
around the object.
If we set that arguement as true, the point is hitested with the actual shape
of the movieclip.

4.  Hitesting with shapeflags

Now that you know the techniques for hitesting two objects, its time to move
on to hitests with more than 2 movieclips.
Because the hitTest function only accepts two movieclips (or a movieclip and
a coordinate), how do we run hitTest on 10, 20 movieclips?
Well, the simple answer is for loops.  The rough technique we're going to
use is to use a for loop to run through every movieclip we're running detection
on.
That movieclip will need to have a hitTest ran on every other movieclip.
Then we move on to the next movieclip, which runs a hitest on every
other movieclip.

Collision Detection with more than 2 objects

Lets say we're detecting a collision amongst 6 movieclips.  This is the code I'd
use, don't panic though if the code seems complicated, I'll explain it all :)
for(i = 0; i < 5; i++) {
mc1 = eval("mc" + i);
for(j = i + 1; j < 6; j++) {
mc2 = eval("mc" + j);
if(mc1.hitTest(mc2)) {
//collision
}
}
}
Our first line of code of begins by iterating through the variable i.  Then
the next line creates a variable called mc1.  Using eval, we give this
variable a unique name based on the current value of i.  Lets say i is
0, and we're going through the first movieclip.  For this movieclip, we'll
need to hitTest is against every other movieclip.

This code iterates through each of the other movieclips after the movieclip
that was named mc1.  *IMPORTANT*
In the for loop, the initial value of j is set as one more than i.  So,
the for loop only goes through every movieclip after the movieclip
currently being iterated in the first for loop.  *Complicated*

for(j = i + 1; j < 6; j++) {
mc2 = eval("mc" + j);
if(mc1.hitTest(mc2)) {
//collision
}

That is where our next for loop comes in:

Anyway, why do we do this?  Firstly, setting j as the same as i would mean
that the movieclip iterated in the first for loop will be hitested against itself,
that makes no sense.  But, why would we want the 4th movieclip to only
hitest itself against the 5th and 6th movieclip?  Why doesn't the 6th
movieclip do any hitTests?
The answer, as always, is found in the SATs.  If you've ever seen a question
that says "Bob has 6 ties and 2 hats.  How many unique combinations are
there?"
Well, here we aren't asking ourself how many combinations there are of hats
and ties, rather we're asking ourself how many unique combinations of
movieclips we have.
We only want unique combinations because running the same hitTest
twice is a total waste of CPU.  Anyway:
mc1    pairs with mc2, mc3, mc4, mc5, mc6
mc2    pairs with mc3, mc4, mc5, mc6      //mc2 isn't paired with mc1
//because that was done in the first pairing with mc1
mc3    pairs with mc4, mc5, mc6 //mc3 already paired with mc1 and mc2
mc4    pairs with mc5, mc6
mc5    pairs with mc6

Well, that basically sums up collision detection, gravity, and trig.
Ironically enough, what I've gone over constitutes quite a few SAT questions.
So believe it or not, that test isn't just academic.  What you learned in Trig
really does have a real world application : )
Well, anyway, I've taught you to use Trig, create graivty, and collect
detections.
If you can do everything taught in this section, pat yourself on the back, this
was a hard section.
Anyway, if you want to read something interesting about this tutorail,
enter "betatest", "trivia", "pronote", or "eagle" into the goto Page
bar.  It'll take you to a nice fun little cookie.  Take a break, eat a
cookie, or visit one.  Its your choice.

In my programming experience, a solid foundation in debugging and
experience with diffrent scenarios has been one of my greatest assets.
When writing a program unlike anything you've written before, you'll
probably spend more time debugging than writing the program.  You may
find that projects dealing in familiar grounds won't require any debugging.
It really all depends.  Although a great eye for debugging programs can only
be built with experience and hard work, there are some techniques I can
share with you in this tutorial that should make the process of debugging far
less painful and easier to grasp.
For most people, the real world introduction to debugging is swift
and brutal.  What happens is you've written a nice little program, but
once you go to test it, you see a white screen, or you see objects but
nothing works.   A third possibility is that you get an error message
explaining why the program couldn't compile.
The first type of debugging I'll go over is fixing a fatal error, that is
an error that stops a code from compiling.  If your code fails to compile,
you'll get a nice little error, telling you the line of the code that failed, the
reason it failed, and where that line of code is located in the movie.

Debugging

This is a rather common error that is experienced by a lot of people
on a regular basis, but luckily its easy to fix.  This error basically
means that you put code designed for a Movieclip unto a frame.
The first possibility is that you accidently selected the frame instead
of the movieclip when you entered the code, and all you need now is
a copy and paste job.
The other possibility is that you want the code on the frame, but used
a clipEvent instead of a handler, the latter of which would be proper.

Bugs that return an error message are the easiest to fix, because
Flash tells you what line failed and why it failed.
Here are some common fatal errors:

Its important to note that you can get the opposite of the error I
just showed you, where a handler is put inside a Movieclip's
actionscript.
Another common error can be seen below.  This error is where the
user places a character where it does not belong.  For example, if
one placed a semi-colon in the middle of a line, or if one had more
opening braces than closing braces or more closing braces than
opening braces.  Having an opening paranthesis without a closing
parenthesis is also a common error.
These errors are easy to fix, just look through your code to find
where you placed the extra bracket.  Rarely, if ever, will there
be a deep fault in your program behind this error, usually you
just accidently add an extra bracket or parenthesis.  .

Sometimes, a program will compile successfully and will not return an
error message, but the program will not run properly.  They are called
logic errors.  A logic error is when a program has proper syntax, so you
communicate with the computer properly, but what you communicate
doesn't do what its intended to do.  An example would be putting your
code in a load event instead of in an enterframe event.  Even though you
are expressing the load event correctly and the computer can understand
what you're telling it, you still have an error because what you're telling
the program to do doesn't give you the desired result.  These are the
difficult bugs.  These bugs can take hours to fix, or worse, ruin
an entire project.  But I have laid out a procedure for handling
difficult logic bugs thatshould minimalize debugging time.
Step 1: Look for common mistakes
Step 2: Use trace function to isolate error
Step 3: Disable chunks of code to isolate error
Step 4: Make drastic changes to program structure

Logic Errors: The difficult bugs

Whenever you have a serious bug, the first step should always be
to look for common errors.  When I say common mistakes, I mean
incorrect scripting that makes a code dysfunctional, but doesn't
return an error message.
The first common mistake is using an assignment operator instead
of a comparison operator.
That is using:
if (bob = 0) { // This gives bob the value of zero before performing
//the if statement
instead of
if (bob == 0) {//This is the correct method, as it sets up a comparison
//as you intend to do with the if statement.
Using only one = sign in an if statement does not return an error
message.  In fact, when the code compiles, bob will be given the value
of 0 and the if statement will always be true.

Using = instead of == can mess up an entire program, because it will
change the value of a certain variable in a detrimental way and it
will run the statements inside the if statement no matter what the
value of the variable is before it enters.
When you have a serious error, look through your if, for, a while
loops to ensure that you are using setting up a comparison when
you intend to do so, by using ==.

This is the insert
target path button.

The second common mistake is incorrect hierarchy use.  An
example of this is saying _root.variable as opposed to
_root.guy.variable (in this case we are assuming that
the variable is embedded in guy).
If you find your hierarchy has an error, but are confused
about how to fix it, try using the insert target path button
to get an accurate path.
So basically, after you check for the == error you should
run over your hierarchies to make sure they're correct.
Oftentimes I've spent hours debugging a program, using
complex hypothesis, only to find that the code failed because
my hierarchy referenced the wrong variable.  So check for
the common errors first!

In the eternal war between Actionscript programmers and bugs, trace is the
atomic bomb.
Basically, trace is a function that allows you to take a variable (or any sort of
value) and have it displayed in the Flash developing environment when you test
your movie.
Its essential to note that the trace function doesn't do anything to your
published SWF.  Trace is only used in the debugging process, and is not part
of the final product that your distribute via the internet or any other network.
The trace function only works when you're in the flash authoring
environment, and you go to Ctrl > Test Movie (Ctrl + enter).
Lets say I have the following code:
velocityX = 20;
trace(velocityX);
When I go to test my movie in the Flash authoring environment, 20 (or
whatever the value of velocityX is, will be outputed to the screen in a small
window.

Step 2: Using Trace Function

When you test your movie, Flash will open a little output window
like the one above, showing the value of whatever is the value
of the variable being traced.
It should be noted that you can run as many trace functions as you'd
like.  However, this isn't a smart idea because its can be confusing
which variable is being outputted to the screen.  As a note, I can also
have trace output a string (or a string and a variable):
trace("velocityX is:" + velocityX);

Anyway, I've explained what trace does and how it works, but I've never
explained how to use it to.
The way to use trace, is to determine what segment of your code isn't
functioning properly.
Lets say we have the following code:
on(press) {
numGuys++;
for(i = 0; i <numGuys; i++) {
guyMC = attachMovie("guy", "guy"  + i, i);
}
}
Okay, now when you look over this code, you have no idea what's
wrong, since the movieclip guy isn't being attached.  Now, for this code,
there are 3 potential parts of the code that could be failing.  numGuys could
have the wrong value, or could be undefined.  AttachMovie could be failing.
Or our for loop could have some sort of dysfunction.  And finally, the
on(press) event could be failing.
On the next few pages I'll explain the procedure for using trace to find the
error.

The most logical procedure for using trace to find the error is to test each part
of the code, starting with the most general handlers, then going to specific
functions, then going to conditionals and loops, and finally going into specific
statements.  We do this because if the handler or function in which all the
code is placed is broken, the statements inside those handlers will be broken
as well.  So always start general and then work you way into specific
statements!
With that in mind, we'll start our test by running the trace function to see if
on(press) is working.
on(press) {
trace("On press is working");
numGuys++;
for(i = 0; i <numGuys; i++) {
guyMC = attachMovie("guy", "guy"  + i, i);
}
}

If we go to test Movie, and the Flash output window says "on press is working",
we'll know that the trace function got run, and that the press event isn't what's
causing our error.  Our next step will be to test out the for loop to see if that's
what's causing our problem.
on(press) {
numGuys++;
for(i = 0; i < numGuys; i++) {
trace("For loop is working");
guyMC = attachMovie("guy", "guy"  + i, i);
}
}
Here, we place our trace function inside the for loop.  If the trace
function executes, we know that the for loop is working and isn't
causing an error.
If you were to run the code above, the trace function wouldn't be executed.
That's because the for loop is broken.  See how using trace can let you see
what's causing the problem?

for(i = 0; i++; i <numGuys) {
guyMC = attachMovie("guy",
"guy"  + i, i);
}

Okay, so now we know that the forloop isn't working.  And that could
be all or part of the problem (its possible that attachMovie isn't working
too for all we know).
Anyway, what we have to do now is fix what's broken.
Lets look at the variables we're using.  The variables we are using are: i
and numGuys. And also we are also calling the linkage indentifier of Guy.
Our first logical step should be to trace i and numGuy variables.  However,
we can't really trace i, because the variable is created in the for loop.  And
we can't run trace inside the for loop, because its broken.
However, we don't really need to trace i, because it only exists
in one line, and is defined exclusively in the for loop.

If you run that code, the Flash output box will display NaN.  This means
"Not a number".  The reason for this is that we never defined numGuys
or gave it a value!
And so we have it, the reason the code didn't work was because
we never declared the variable numGuys.  And we discovered this
fact using the trace function!
After you find what part of your code is failing with the trace function, you
can take steps to fix it!
Using trace should be the first thing you to do debug a code after you scan
for common errors.

on(press) {
numGuys++;
for(i = 0; i < numGuys; i++) {
trace("For loop is working");
guyMC = attachMovie("guy", "guy"  + i, i);
}
}

So that leaves us to run the trace function on numGuys.

In my experiences, most bugs can be solved by looking for a common error,
or by using the trace function.
However, sometimes, you use search for common errors and find nothing.
Then you use trace and find that your results are cryptic or don't point to
a clear source of error.
In my opinion, after you've exhausted trace and you're sure there isn't a
common error, the next step should be to disable code.
Basically, we disable most of the code, so that it doesn't work.  Then
we decomment the code line by line in such a way so that we are
individually testing every line to see if it works.

Step 3: Disabling Chunks of Code to find and
fix error

So, that brings me to my next point of lesson: How do you disable a chunk
of code???
Well, the simple answer is comments.  Anything you mark in AS as a
comment is ignored by Flash and isn't part of your final program.
Take the following code:
on(press) {
bob += 5; //This increases the variable bob by 5.
}
On any line, any code after // will be ignored by the compiler.
To create multiple line codes, we can use /* to start a comment
and */ to end a comment.  For example:
/*
This code controls the user interaction for this application.
*/
You'll know you've made a comment because everything ignored by the
compiler will turn grey.

/*if (i == 0) {
i++; //This increases i by 1
}*/

Good.  Embedding // inside of
/* */ comments is okay.

BAD!!!!!! You can't embed /* */
comments in other  /* */comments.

/*if (i == 0) {
i++; /*This increases i by 1*/
}*/

There are two general applications for comments: one is to leave brief
notes with your code that makes it easier to read.  The other use is to
disable chunks of codes.  This is an example of using comments to disable
a code:
/*
if(i == 0) {
i++;
}
*/
The general convention is that // is used for leaving short notes to make
your code easier to read and that /* and */ are used for disabling
segments of code.
This is because sometimes I might want to disable large chunks of
code that include comments:

Okay, below is an example of a case where disabling chunks of code
could be advantageous:
on (press) {
stopAllSounds();
_root.mus = new Sound();
_root.mus.attachSound("ots");
_root.mus.start(0, 1000);
_root.mus.volume = 70;
}

Hopefully it never comes to this, but sometimes after hours and hours of
debugging, you've found that your code doesn't work.  Sometimes you'll need
to try dramatically changing a code's structure to make it work.  Because
trying to fix a program is good experience, I recommend not giving up on a
program until you've spent a few days trying to debug it.
Sometimes however, you make a program which is just flawed at a
fundamental level, and needs to simply be largely retwriten.
There's not much to say about this one :)  Basically, if all else fails, you have
to rewrite the program.

Step 4: Make Drastic Changes to Program Structure

Well, I basically just went over how to remove bugs once you get them.
And that is a very useful skill, because no matter what, you'll encounter
bugs.
However, I have 5 easy things to do that reduce the number of bugs you'll
make.

5 ways to write programs that have less bugs

One day, I wrote a neat little program that calculates the area,  volume, and
height of various shapes.  It was cool, a little over 100 lines.  It worked fine,
however, the variables were named things like yoko, toko, pokgo, noklo.
The variable for what would be couted to the dos prompt was called nogo.
The program was totally worthless after it was written, because it was
impossible to read, and insanely hard to debug.
Now that might seem like an extreme example, but a lot of people don't give
their variables good names.  I see a lot of people who give variables names
like "player", "class", or "list".  If you are making a serious project that
has more than 5 or so variables, every variable should be given
a precise or specific name.
Some people try to save time by using variables like class instead
of currentClassList (which is much more descriptive) because they
think it will save time.
Let me assure you that for every second you save by typing the shorter
variable name, you'll spend another 2 debugging because you confuse
your variables.  So when it comes to variables, be precise and descriptive!
Others (not just you) should be able to know what your variables mean
without reading the entire program.

1.  Name variables descriptivly.

Remember how I talked about comments a few page ago.  Well, they've come
up again, except here we're not using them to disable chunks of code, now
we're using comments to make codes more readible to humans.  Comments
are little notes that you can add to your actionscript that make the codes
more understandible to humans.  The notes are ignored by the compiler
and do not change how you program functions.  The comments are not
included in the finished and published SWF because they're never compiled.
I'd advise that every time you define a variable, define a function, operate
on a variable, or call a function, you include a comment.
Look at the well commented code below:
mainPlayerMove = function() { //Controls main character movement
if(Key.isDown(Key.LEFT)) {
this._x -= 5; //This makes the player move to the left
this.gotoAndStop(2); //This makes the character face left
Maybe you're thinking "Well I know what my code means, after all, I wrote it".
Well, you're wrong.  Even if its just going to be you reading your code, its
important that you have human comments to read.  Its very important.

2.  Comment your code

When you program, put all your code in one frame of an otherwise empty
layer called "Actionscript".  Yes, I know, we all love the ClipEvent, but quite
frankly, you need to put all your code in one frame, not onto a bunch of
movieclips.
When you open your Flash, you want to be able to see all your code in one
place.  There is nothing more frustrating then trying to debug a program
when you're creating a variable in one movieclip and working with it in
another's actions panel.
Basically, when you create a code, you want to have it all in one
place.
However, if you're working on a big project it is okay (and probably
neccessary) to put your code into diffrent class files.  Its just fine to
keep code in diffrent files, it makes it easier to look at and sort through,
if each file represents a single class.  However, putting code into a bunch
of diffrent movieclips is still bad style.  DON'T DO IT!

3.  Centralize your code

Although this isn't feasible on a lot of really advanced projects, you should
try not to write your program all at once.  You should try to write it one
function at a time, as much as it is feasible.  And then when you write
a function, test the movie and see if the function works.  Again in some
programs that use flash API rendering and some other advanced things,
writing one function at a time might be infeasible, because every part of
the code is so inter-dependent.
At the very least, code every movieclip seperatly and test to make sure
that works before moving onto the next movieclip.

4.  Code in Chunks.  Don't write it all at once

This is a decent code, however
it would be better if we made
the part that draws the line
and the part that deletes the
line two diffrent functions.

drawline = function(x, y) {
moveTo(x, y);
lineTo(_xmouse, _ymouse);
counter = setInterval(function() {
clear();
}, 10000)

When you learned to write english, you probably were told not to make your
paragraphs too long.  Well, the same thing applies to programming.  Don't
make your functions too long.
If you have a function which is over 80 lines of code, you should consider
breaking that function into 2.
The simple reason for writing managble functions is that it makes your code
easier to comprehend and digest.
Also, if you have very large functions as opposed to small ones,
you have to call a very large and cumbersome function, even though
parts of that function may not be relevant.  For example,

5.  Don't make your functions too big

<p align="left"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><a href="http://www.actionscript.org/tutorials/beginner/Common_Errors_and_Debugging/index.shtml"><b>Actionscript.org guide to Debugging</b></a></font></p>

Well, that basically sums up my lesson on debugging.  Hopefully I have
given you a few good techniques for writing clean error-free code :)
Honestly, being an effective debugger is a huge part of being an effective
programmer.  And becoming an effective debugger takes years, its really
an acquired skill.  Below I have some links to help you debug Actionscript.

Although it may seem like a matter of pushing the "publish" button, finalizing
and publishing your Flash is immensely important and actually rather complex.
When you've finished your Flash, there are 3 things you'll want to do to make
your SWF the best it can be.
1.  Optimize your Actionscript and graphics (using techniques I'll teach you).
2.  Set publishing options to best suit your Flash.
3.  Think about the Flash security to best suit your needs
3.  Test your Flash on bandwith settings to ensure it works properly
4.  Publish your final SWF
This section will go over in a great deal of depth the ways that you can
optimize your Flash, choose export options that fit you, and make your Flash
all that it can be.

Publishing Flash

Believe it or not, there are a few simple but highly effective ways to make
your Actionscript execute more rapidly.  And we all know that lower execution
times means lower lag, and lower lag means a happier audience : )
1.  Strong-Type Variables
Believe it or not, your code executes faster when you strong type your
variables.  If you need a refreshing in your memory, strong typing variables
is explicitly stating the variable's data type.
Strong Typed:
x:Number = 10;
Weak Typed:
x = 10;
So whenever possible, include the datatype of the variable you're creating by
explicitly stating its datatype.

Optimizing Actionscript

2.  Don't use extraneous Data-types.
Each diffrent data-type uses a certain amount of memory.  For example, a
boolean:
x:Boolean = true;
takes up only 1 byte of memory (since all that needs to be stored is 1/0).
However a number takes even more memory (I'm not sure quite how many
bytes it is, but its a fairly signficant number).
So if you can get something done using a boolean data-type, use a boolean
data type.  Only use a more consuming data type if you need to store
more data.
Also, strings(text) take up even more memory.  So if you can get away
using a number/boolean instead, do it!

2.  Some Operations are fast than others
For example,
if(i == 0) {
i++;
}else{
i--;
}
is faster than:
i == 0 ? i++ : i--
although they both do the same thing.  On the next page or two,
I'll go over some of the operations which are faster than others.

In most cases for loops are faster than recursive functions.  So when you're
thinking about using one or the other, ask yourself "Is the number of times
I want my loops to iterate defined before the problem or is it part of the
problem's solution?"
If the number of iterations is determined before the problem is handled, then
a for loop will suffice.  The following is an example of that:
bob = new Array(1, 2, 3, 4);
for(i = 0; i < bob.length; i++) {
bob[i] += 1;
}
In this example, we know the length of the array before we start
iterating, so we can put in a value for the for loop.
An example where recursion is needed is a program that finds all the
factors of any number between a lower and an upper limit set by the user.
In this example we'd need recursion, because the number of times we need
to factor a number can't be set before the program is compiled.  For example,
18 needs to be factored more than once to get to 3*3*2, whilst 4 requires
only 1 factoring process to get to 2*2

Realise how every
factor tree is diffrent.
To know how many times
you'll need to factor a
number out, you have to
start factoring, which is a
great place to use recursive
functions.

2

4

3

12

8

144

16

Here is a graphic model of the last example:

Here is an example of factorial solving using recursion:
function factorial(n) {
if(n < 0) {
return 1;
}
if(n <= 1) {
return 1;
}
return factorial(n-1) * n;
}
Generally, I believe that recursion should be avoided because it
makes the job of coding difficult.  When you look at a function,
you can't just see that function in the context in which it will be
called by the program, you have to see how the function will react
when its called by itself.
If its possible, my advice would be to use for or while loops in place
of recursion whenever it is possible.
More on point, RECURSION TAKES ALOT OF RAM, AVOID LIKE PLAGUE!

Because vectors are covered extensively in the Swift 3D publishing section, I
will only provide a brief summary here.

There's a LOT you can do with your graphics to reduce the toll you flash takes
on your user's processing power.
If you draw something on screen like the cube below, it will be stored as a
vector data-type.

Optimizing Graphics

Vectors store images as a series of lines, fills, and circles.  The file only
stores the color of the object, center/radius of cirlces, and positions of
lines, and draws the actual object while the image is being viewed.
Rasters simply store the location and color of every single pixel.  As you
can imagine, this provides a lot of detail, but requires a good deal of
processing power.
Vectors are the graphics created by Flash's drawing tools.  They take up
very little file-size, but they are very consuming on processing power.
Conversly rasters take up a good bit of file-size, but they aren't drawn at
runtime, so they don't take up a lot of processing power.

The following quiz is the final part of the Flash section.  This quiz is designed
to help you find out what you know and don't know well enough regarding
Flash.  The quiz is composed of a series of questions.  If you answer wrong,
you see an explination of why you're wrong and what the right answer is.
If you get it right you go to the next question.
I realise you can cheat extremely easily using the right and left arrow keys,
however this is really futile as no one is keeping score.
The point of this quiz is to help you know what you need to study more.

Reinforcement Quiz

Variable Definition Operator

Transitive Operator

Equals Operator

Assignment Operator

Comparison Operator

In Actionscript, which of the following is the name for
the = operator?

The symbol = is called the assignment operator.  This operator takes the
value on its right side and assigns it to the variable on the left side.  Look
at the example below:
numTrees = 10;
Here the assignment operator is used to give numTrees a value of 10.
The assignment operator is diffrent from equals (==), because equals sets up
a comparison.  Look at the example below:
if (bob == 10) {
In this example, the equals comparison is used to compare two
seperate values, which is diffrent than the assignment operator which
gives the variable on the left a value.
The choices such as transitive operator, comparison operator, and variable
definition operators are incorrect terminology.  Also, a statement with the
assignment operator doesn't posses the transitive property and is not a
comparison.

You got it wrong.  Time to see why : )

0x0000FF

0xFFFFFF

0000FF

FF0000

00FF00

0x00FF00

001

b1

blue(RGB, B)

0xFF0000

Which of the following expresses blue properly using
hexidecimal numbers?

This question basically asks you how to express blue in hexidecimal colors.
Allright, first let me explain hexidecimal numbers.
The hexidecimal number scheme counts from 0 to F.
0123456789ABCDEF
In accordance with this, F = 15, E = 14, and so on...
The beginning of a hexidecimal number is denoted with 0x.  Also, colors
in Flash are measured using RGB (Red, Green, Blue).
So basically, colors are expressed like this: 0xRRGGBB
Each hexidecimal number after 0x sets how much red, green, or blue is in
a color.  For example, 0x0000FF is blue (hence the answer to our question).
0x00FF00 is Green.  0xFF0000 is red.  0xFF00FF is a mix of red and blue.
This way of expressing colors can be used to set the color of lines and fills
in the Flash drawing API, the use of which is covered in the Actionscript
section.

Sorry, you got it wrong.  :(

.gif

.as

.exe

.swf

.jsfl

.fla

Which of the following Flash file types can be easily
distributed over the internet and read by the Flash Player?

This is the kinda thing you either know or you don't.
.as is wrong because it is the file format your use to create classes to be
imported into an fla.  This file isn't read by the Flash Player.
.fla is wrong because that is the file format you use when editing or creating
your Flash.  It can only be read by the program Flash, not the Flash player.
.jsfl is wrong because it cannot be read by the Flash Player
.gif is wrong because it is not read by the Flash Player, although it can be
easily distributed over the internet.
.exe is close, however the .exe is run autonomous from the flash player
and is not distributed via the internet.
.swf is the right choice.  The swf is read by the Flash Player and is easily
distributed over the internet.  SWFs are the files distributed on sites like
Newgrounds and Armorgames.

You got it wrong.  Time for me to explain why :)

In Actionscript, the following code is proper syntax:
oldClassList + newStudents = 28;

For a little recap, the assignment operator (=) takes the value on the right
and assigns it to the variable on the left.  So for the assignment operator to
work, there must be one variable on the left side.  This code does not work
because it has two variables on the left side.
I could replace this code with
oldClassList = 28;
newStudents = 28;
or something else depending on what precisely I want to do...

oldClassList + newStudents = 28;

The statement was not legal Actionscript.

You got it wrong :(

Hypotenuse/Adjacent

Hypotenuse/Opposite

Opposite/Adjacent

Adjacent/Hypotenuse

Opposite/Hypotenuse

Sine is the Ratio of the ______ to the _______?

Sine =                Opposite/Hypotenuse
Cosine =            Adjacent/Hypotenuse
Tangent =         Opposite/Adjacent

Sine is the ratio of the length of the opposite side to the length of the
hypotenuse.

You got it wrong :( Time to see why!

Parameter

Loop

Modifier

Operator

Conditional

Arguement

Function

Class

gotoAndPlay(1) is a...

gotoAndStop() is a function.
As a recap, a function is a way of organizing code.  A function is in the
simplest sense a series of statements grouped together that can be
reused over and over again.
How we do this is we first define a function
myFunction = function() {
//statements, codes that perform operation
}
Then we can reuse all of the codes from our function, simply by
calling it:
myFunction();
When you say gotoAndStop(), you are calling the function gotoAndStop().
gotoAndStop()  is a function built into Flash, and it has already been defined
for your use :) For more information, visit the Actionscript lesson of the
Flash section.

Functions

Members

Objects

Instances

If a shape is converted to a symbol, multiple ________
of that symbol may be used without significantly increasing
the filesize.

The correct answer was instances.  When you create a symbol, each
occurence of the symbol on stage is called an instance.  You can create
as many instances of a symbol on stage as you want without significantly
inreasing your flash's filesize.  When you edit the actual symbol, you change
every instance of that symbol.
Members, objects, and functions are all wrong.  They are the wrong words,
and they are the wrong concepts.

==========

****LOL****

thing.guy

break

new

()_()

iPwn  uAll

$$$$_$$$$

Which of the following is a legal variable name?

In ActionScript, variales names can only be composed of dollar signs, letters,
numbers, and underscores.  Also variable names are caps-sensitive.  And
finally, certain words cannot be variable names because they are reserved
by the compiler.  For example, I can't name a variable "if" because the
compiler already has a use set aside for if.
Break and new are both words reserved by the compiler, which knocks off
two of the choices.  One of the choices contains a period in it, this isn't okay
because the compiler uses dot syntax for hierarchies.
Also, a variable cannot contain a space, which knocks off another choice.
And that leaves us with
$$$$_$$$$
as our only valid variable name.

t:Number = getTimer();
for (i:Number = 0; i < classList.length; i++) {
lowerCaseClassList = classList[i].toLowerCase();
toCaseEnable:Boolean = false;
searchEnable:Boolean = true;
refreshSearchInit();
time:Number = getTimer() - t
}

t = getTimer();
for (i = 0; i < classList.length; i++) {
lowerCaseClassList = classList[i].toLowerCase();
toCaseEnable = false;
searchEnable = true;
refreshSearchInit();
time = getTimer() - t
}

Which of the following codes executes faster?

When you saw that you were asked to compare 2 codes, you first step should
have been to find how the 2 codes were diffrent.  If you did this you'd find that
the only diffrent between the codes is how the variables were defined.  In one
code all variables were strong-typed, where the data type was included in the
variable definition.
The other code had all the variables weak-typed.
Strong typing variables is faster than weak typing (note that strong typing only
works in Flash MX 2004 or later).
var bob:Number = 10;
executes faster than:
bob = 10;
So when writing a program, remember that entering the data type of the
variable after the variable name (bob:Number, words:String, list:Array) makes
your code run faster!

You got it wrong.  But I can't blame you.  This question is
tough!  Well, time to explain to you the answer...

Shape Changer

Shapehint

Shape morph

Custom Shape Tween

Transform Property

Shape Guide

Motion guide is to motion tween as ______ is to shape
tween.

The correct chocie was shapehint.  The other choices were simply the
wrong terms.
Shapehints basically allow you to have more precise control over how a
shape tween is executed.
Basically, in the first keyframe of our shape tween, we press Ctrl +shift + h
to add a shape hint.  We proceed to snap the shapehint to the edge of the
shape.  Then on the second keyframe we move our shapehint to some point
on the shape.
When the shape tween is executed, it will be done in such as a way
so that the point at which the shapehint is located on the first
keyframe is moved to the point of the shapehint of the second
keyframe.
A much longer and more complete explination is available in the tween
section.

Method modifier

Class Function

Creation Function

Instance Function

Constructor Function

Main Function

The function of a class that is called when an object which
is a member of the class is created is called a:

The correct choice was constructor function.  Let me explain this from the
beginning.  When we decide we want to create an object that is a member
of a certain class, we use the code below:
objectInstance = new myClass();
But when we create an object that is a member of a class, we are calling that
class's constructor function.  Basically the constructor function is called when
the object is created.  So think of the constructor function as having all the
things that will initialize your class.  And also give it an arguement which
will give each member of the class distinct qualities upon initialization.
To create the constructor function, simply define a function in your
class with the same name as your class.  That function will automatically
become the constructor function.  This is a good example:
ship extends MovieClip {
ship = function(xPos, yPos) {
_x = xPos;
_y = yPos;
}
}

Resonance

A syntax error

Recursion

Iteration

function factorial(n) {
if(n < 10) {
factorial(n + 1);
}else{
return(0);
}
}

is an example of:

The following code:

However, recursive function are MUCH more consuming on memory
than for loops, and are usually harder to read.
Sometimes however, you do not know how many times you want a certain code
to execute.  This is where recursion comes in.  Recursion is useful when you're
not sure how many times you want the code to run, and that itself is defined by
the problem.  If possible, however, use for loops because they consume less
memory.

That code was an example of recursion.  In short, recursion is calling a function
inside itself.  In the example below, the function continuously calls itself until
the n < 10 condition evaluates to false.  Because a certain segment of code
is being ran a set number of times, recursive function is similar to a for loop.

i < 10 ? i++ : i = 0;

i < 10 ? i++ : i = 0;

if(i < 10) {
i++;
}else{
i = 0;
}

Which of the following codes is better (considering
what the two codes do)?

The correct choice was using if.  Although the conditional operator/ternary
operator (?) is an allowable way of doing the code shown, the conditional
operator was not the best choice in that scenario.
In this scenario, the if/else code was much easier to read, and thusly easier
to debug, making it a better choice.
The conditional operator should really only be used for assignment.  For
example,
i = d > 10 ? 1 : 2;

When creating classes in Flash, one must define the class
in .as file outside the main fla.  This .as file can be imported
into the main FLA by going to File > Import > Import to
Library.

The correct answer was false.  You do not include a .as file in your main FLA
by going to file > import > import to library.  Rather, you have to include a
pre-processor directive in your FLA.
A pre-processor directive is basically a line of code that isn't executed whilst
the SWF is being ran, rather it is executed while the code is compiled, and
the result of that is included in the final SWF.
To include a .as file in your main fla, simply use the #include directive:
#include "filename.as"
When Flash compiles your fla into an SWF, the compiler will take the code
inside the .as file and add it your main SWF, so that the code is included in
your SWF and can interact with all your other codes.

for(i = 0; i < 10; i++) { // Runs the code inside the
//loop 10 times
result = pageList[i].indexOf(search);
//Searches through each member of pageList array.  If
//it finds the search word it returns its location in
//the string.    If it doesn't find it, it returns -1.

for(i = 0; i < 10; i++) { /* Runs the code inside the
loop 10 times*/
result = pageList[i].indexOf(search);
/*Searches through each member of pageList array.  If
it finds the search word it returns its location in
the string.    If it doesn't find it, it returns -1. */

Which of the following codes will be easier to debug in
the future?

The correct choice was the second code (on the bottom).  If you looked
through it, the only diffrence between the two codes is that one used
// for comments, and the other used /* */ for comments.
You should use // for comments, it is better.  This is because it helps when
it comes to debugging.
In the debugging process, /* */ is used to disable code, so as to isolate an
error.  Now, here's the thing: I can't embed one of the /* */ comments
inside another.
/*
a++;
/*This adds 1 to a*/
*/
The code shown above causes an error.  So, in conclusion, whenever adding
comments to your code that make it more readible and understandable, use
//.

Delete any and all special effects.

Cache vectors as bitmaps

Don't worry about lag.  Any and all performance issues
are ALWAYS the user's fault.

Bob makes a fun game.  He notices though that it really
lags on its ideal frame rate.  Bob should do which of the
following to boost performance:

The right answer here was to cache his vectors at bitmaps.
To cache a vector as a bitmap, we simple change the cacheAsBitmap property
of any given movieclip to true.
We use the code below:
mc.cacheAsBitmap = true;
Basically, any shape you create with the Flash art tools will be in vector
format.  For vectors,  SWF only contains a small set of rules by which to draw
all the shapes.  Vectors have very low filesizes, however they are very
consuming on CPU, because the computer has to redraw every
vector graphic on every frame.  This causes lag when the vectors
in use are complex.
cacheAsBitmap is the solution to this problem.  When a shape is cached as a
bitmap, it will be converted to bitmap format in the SWF.  This reduces lag
because content in the bitmap format is not generated from a series of rules
on every frame, rather the bitmap format stores the color and location of
every pixel.  Having visuals stored as bitmaps instead of vectors can greately
reduce lag.

Bob is starting to use the cacheAsBitmap() property.
He's got this one movieclip that pulsates (by rescaling
itself) and then has these other movieclips that following
it and flash on and off.
Bob should cache the Movieclip in this scenario.

Generally caching your Movieclips as bitmaps is a good idea.  However, if the
movieclip or its shapes are being rescaled, caching them as bitmaps will
actually make them slower.  This is because rescaling a bitmap reduces its
quality (because only the coordinates of all the diffrent pixels is stored).
In light of this, Flash redraws the shape when scaled and recaching it as a
bitmap, making caching vectors as bitmaps slower if you're going to rescale
the said shape.

Sets focus to a certain object

Moves variable to a specific cache

Moves Movieclip to a set coordinate

Sets initial coordinates for lineTo() function following it.

The moveTo() function _____________

In the Flash drawing API, the moveTo() function sets the initial x and y
coordinates for the lineTo() function following it.  Take the example below:
moveTo(250, 250);
lineTo(_xmouse, _ymouse);
This code draws a line from the coordinate position 250, 250  to the position
of the mouse.

It does not matter what Actions panel I place my codes
in.  They will work the same no matter what frame or
movieclip they're placed in.

This is an important concept.  Placing my code on frame 30's actions panel
is diffrent than placing my code on frame 1's actions panel.  Placing my code
on a movieclip is diffrent than placing it on a frame.  Sometimes code that will
compile well when placed on a frame won't work when placed on a Movieclip.
For a full explination of this, read through the rest of the tutorial, as the
concept of the hierarchy is worked with everywhere (although its referenced
most heavily in the timeline and Actionscript sections).

Give Up

Look for and remove Common errors

Start disabling chunks of code

Use Trace to isolate error

Lets say Bob makes an incredibly fun and addictive game.
But the last time he tests it, he finds that nothing works.
What should his first step be in debugging the game?

The first step in debugging a program should always be to check for common
errors.  I know extremely skilled and experienced programmer who spend
hours debugging a program, only to find that the error is confusing == with =.
Its happened to me too more than a couple times, and it will probably happen
to you.
To learn more about my debugging procedure, including common errors,
consult the debugging section of my tutorial.

onEnterFrame = function() {
gameProcesses();
}

while(1 < 2) {
gameProcesses();
}

These two following codes do the exact same thing:

Those 2 codes were very diffrent.  A while loop will run the code in while loop
until the condition returns false.  That means that the code will not move onto
the next line nor will the program run any other functions until the while
loop's condition is false.  And because our while loop's condition was 1 < 2,
our while loop will never stop, and the program will never move beyond it.
This is could an infinite loop, and Flash can frequently detect it and stop the
Flash program.
The enterFrame handler is diffrent though.  The code in the enterFrame
handler will be run a certain number of times each second (determined by
your framerate).  Although this code will run indefintly, the program will still
move on to do other things, unlike in the while loop where the program will
not move beyond the while loop until the condition evaluates to
false.

Call a function within itself

Run a segment of code a set number of times

Run a segment of code an indefinite number of times

What does a for loop do?

A for loop runs a certain segment of code a set number of times.  Take
the following example:
for(i = 0; i < 10; i++) {
//this code will be ran ten times
}
For loops are useful for some things like attaching enemy movieclips to
the stage, or something called iteration.  Iteration is using a for loop so
that a certain process is applied to each member of an array a single time.
for(i = 0; i < 10; i++) {
classList[i].indexOf(search);
}
So basically this code starts out with i being 0.  That time the loop is run, the
first member of the array has the indexOf function applied to him.  The
second time i will be equal to 1, so the second element of the array will be
given the function.  This process will continue until all 10 elements of the array
have been given the function.  Very neat, eh?

The hierarchies of symbols embedded within other
symbols affects how an instance of a symbol is
referenced in Actionscript.

The hierarchy of a symbol effects how it is referenced in Actionscript.  Lets
say, for example, that I make a movieclip with an instance named gun and
I put it on the main timeline.
That movieclip can be accessed with Actionscript using the code:
_root.gun
We add the _root because the gun movieclip is inside the main timeline.  But
what if we are to change things so that gun is no longer on the main timeline,
but rather embedded in a movieclip called guy.  We'll have to change how we
reference the Movieclip in Actionscript.
_root.guy.gun
The movieclip gun is inside guy, which is inside the root timeline.  The
hierarchy starts with the entire flash on the left side, and then narrows down
to a single movieclip as it moves to the left.  Pretty neat, eh?

When using audio on the timeline, the best method is to
stream the audio.  For when the audio is streamed,
unused parts of the music are cropped, reducing file-size.

In almost all scenarios, audio should be set to stream.  When audio is set to
stream, the audio will be cropped if the entire song is not used.  This is a huge
world of advantage over start which will add the entire song to your file
whether or not you use all of it.
So, use stream.  Do it for your file-size!

Array

String

Char

Date

Object

Which of the following is not a datatype?

In Actionscript, char is not a data type.  If you want to make a single
character a variable in Actionscript, simply use the string data type.
This isn't C...    :P
Number, String, etc. are all datatypes.  So good luck and happy coding.  :)

A regular frame is simply a holder for the content of the
most previous keyframe or blank keyframe.

A regular frame has no real content of its own.  It is simply a holder of the
content in the keyframe before it.  I'm not sure if there is a lot more I can
say about this one.  To learn about frames, keyframes, and the timeline in
general, go to the timeline section of this tutorial.

I can't learn ActionScript or any Flash very well.  I am
really struggling to learn the concepts.  There are a lot
of problems that I can't solve.

www.armorgames.com - This site has some of the best games on the internet.
And no, Armorgames didn't pay me to say this.  To learn the best techniques,
you need to see the best techniques.  And the artists using those techniques
are on Armorgames.

Kirupa Forum - This is one of the best Flash forums on the web.  Its full of
Flash experts, and there is never any flaming for asking bad questions (at
least none that I've seen).  One problem you might have here is that few
users are Newgrounds users, so they probably won't be able to help you in
that respect.

Newgrounds Forum - This forum has some really skilled Flash users like
Denvish and Inglor.  However, people on the forum will flame you if you
use bad grammer or talk like a demanding n00b.  For example, "I need the
code to make a full mmorpg for this game.  K, thanks" will get you heavily
flamed and insulted.  A few people might link to a disturbing website but
have the link text say "www.adobe.com", so be wary!  But don't let me
mislead you, there are a lot of people willing to help there :)

Not learning so well, eh?  There are places to get help!

http://msdn.microsoft.com/vstudio/express/visualcsharp/

Some time ago I started thinking about other things to do beyond ActionScript
(as that was my first programming language).  I wanted to expand my horizons
in the world of programming and make applications that go beyond the
computational limits of Flash, as well as the limitations of web-based
distribution.  And I found a series of programs known collectively as Visual
Studio.
Now, for any people out there who began programming with ActionScript, I
simply must recommend Visual C#.  The syntax is quite similar to the AS we
all know and love, and also the interface is quite similar to Flash.
The advantage of C# is that it is much faster than Flash and it allows
the user to write Windows Applications which are more powerful than
the Rich web applications that Flash makes (although Flash is still
pretty cool).
Its pretty fun, and I advise Flash programmers to try it out (there is a free
"express" version as well as an expensive "Professional" version.

One final note before the conclusion...

Before I draw things to a close in the Flash section, I have something to
tell you.  There is a section of this tutorial that can only be accessed by
typing a special word into the gotoPage bar either on the main menu
or on the bottom navigation menu.
By typing in these special words, you can access a nice little tidbit about
this tutorial.  You deserve it after reading and learning so much.
trivia     -  Goes to page talking about fun misc. facts about this tutorial
pronote -  Lets you access some interesting production notes about how
this tutorial was made.
betatest -  Lets you know who read this tutorial before-hand to
point out errors.

Continue to Actionscript
Gallery

Sadly, this is where are great voyage in discovering Flash must come to a
close.  I hope that the knowledge I have given you here aids you in your
future endeavors.

Conclusion

3D Basics

Toggling Quality

Advanced Right
Click Menu

Hotkeys

Search Engine

Save/Load Variables

Scroll Wheel

Normal Preloader

Attach MovieClip

Custom Cursor

Digital clock

Movement

Intermediate

Beginner

Code Gallery

<p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1">Copy and paste this</font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1">code into a movieclip&apos;s</font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1">actions panel:</font></p>

To read more about this code,
including usage facts and a full
explination, press the right arrow
key on your keyboard or click the
arrow on the right side of this page.

<p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">onClipEvent(Load){</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">vx = 0;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">vy = 0;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">friction = .80;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">onClipEvent(enterFrame) {</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">vx *= friction;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">vy *= friction;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">this._x += vx;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">this._y += vy;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">if (Key.isDown(Key.RIGHT)) {</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">vx += 2;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">if (Key.isDown(Key.LEFT)) {</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">vx -= 2;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">if (Key.isDown(Key.UP)) {</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">vy -= 2;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">if (Key.isDown(Key.DOWN)) {</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">vy += 2;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p>

Download a sample Fla
with commented code
here.

Basic Movement

This code is a movement script that allows a movieclip to be controlled with
the arrow keys.  It is placed on a movieclip and allows that movieclip to
be movable.  Because the code incoroporates a concept of velocity, it allows
the movieclip to have leftover velocity even after the user lifts their hands
off the arrow keys.  Look at the example below.  Btw, remember that
pressing the right or left arrow keys will move you forward or backward
a frame ><

What does it do?

The next part of this code begins with an enterFrame event, which means
the following code will be run on every theoretical frame (as determined
by the frame rate).  We have two main operations occuring here.  The first
is that we multiply vx and vy by friction.  Because friction is less than one,
the value of vx and vy will drop in a manner similar to real-life friction.

onClipEvent(enterFrame) {
vx *= friction;
vy *= friction;

Basically here I tell the program to start out with 3 variables.  vx and
vy are x-axis acceleration and y-axis acceleration.  Then I have
created a friction variable.

onClipEvent(Load){
vx = 0;
vy = 0;
friction = .80;
}

This code I created begins by declaring several variables in the load
event.

How does it work?

if (Key.isDown(Key.RIGHT)) {
vx += 2;
}
if (Key.isDown(Key.LEFT)) {
vx -= 2;
}
if (Key.isDown(Key.UP)) {
vy -= 2;
}
if (Key.isDown(Key.DOWN)) {
vy += 2;
}

This is our next operation that will be performed on every theortetical
frame.  This changes the code bearing movieclip's x coordinate position
and y coordinate position by adding to them the x acceleration and the
y acceleration.
Ok, so up until this point we have a program that creates an x velocity
and y velocity variable, reduces those variables over time via friction,
and changes the x and y position of the object to reflect velocity.
The last part of this program is what
actually sets the values vx and vy.
You can see that in this program we use
arrow keys for control, each of which
has its own condition.  Basically this
code says that if a certain key is pressed
than vx or vy have their values
increased or decreased.  Because each
code has a seperate if statement, the
code can respond to right and left
key being pressed together.

<p align="justify"><font face="Courier New" size="15" color="#000000" letterSpacing="0.000000" kerning="1">this._x += vx;</font></p><p align="justify"><font face="Courier New" size="15" color="#000000" letterSpacing="0.000000" kerning="1">this._y += vy;</font></p>

If you get that error message, you put the code on the frame's
action panel instead of the MovieClip's actions panel.  You need
to delete the code from the frame's actions panel, and then move
it to the movieclip's actions panel.

This code might just be the easiest to use I'll go over.  To use this code,
simply copy and paste it onto the actions panel of any movieclip.
In the last tutorial I made, alot of people were confused when they got
the following error message.

How do I use it?

This code has a few spots where it can be
customized to meet a developers unique
needs.  The first place is where vx and
vy are defined in the load event.  If you switch
the code to say vy or vx equals something other
than zero, then the movieclip will have a velocity
when its loaded to the scene.
Friction is a big thing to edit.  If you make the
friction variable higher, the movement will
have a looser feel.  If you make friction lower, the
movement will have a tight feel with the movieclip
coming to sharp and quick stops.
Below, where the if statements are, you can increase
or decrease the effect pressing the key will have on the
velocity by changing how much is added to or subtracted
from vy or vx.  Higher values make the movieclip faster,
and lower values make the movieclip slower.

<p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">onClipEvent(Load){</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">vx = 0;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">vy = 0;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">friction = .80;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">onClipEvent(enterFrame) {</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">vx *= friction;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">vy *= friction;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">this._x += vx;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">this._y += vy;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">if (Key.isDown(Key.RIGHT)) {</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">vx += 2;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">if (Key.isDown(Key.LEFT)) {</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">vx -= 2;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">if (Key.isDown(Key.UP)) {</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">vy -= 2;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">if (Key.isDown(Key.DOWN)) {</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">vy += 2;</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p>

How do I cutomize it to meet my unique needs?

To read more about this code,
including usage facts and a full
explination, press the right arrow
key on your keyboard or click the
arrow on the right side of this page.

<p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1">Copy and paste this</font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1">code into a movieclip&apos;s</font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1">actions panel:</font></p>

Download an FLA of this with
the working MovieClip +
commented and well-formated
code here.

<p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">onClipEvent(enterFrame) {</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">thisDate = new Date();</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">pmAM = thisDate.getHours() &gt; 11 ?</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">&quot; PM&quot; : &quot; AM&quot;;</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">if(thisDate.getHours() &gt; 12) {</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">numHours = thisDate.getHours() - 12;</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">}else{</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">numHours = thisDate.getHours();</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">if(thisDate.getMinutes &lt; 10) {</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">numMinutes = &quot;0&quot; + thisDate.getMinutes();</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">}else{</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">numMinutes = thisDate.getMinutes();</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">time = </font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">numHours + &quot;:&quot; +</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">numMinutes +</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">pmAM</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p>

Digital Clock

<p align="justify"></p>

This code, when used properly with a dynamic textbox, creates a
box of text that displays the current time in a digital clock
format.  An example of this movieclip can be seen below.  Note that
in the following pages I'll include help for modifying and enhancing
this movieclip.

What does it do?

This code begins by creating a variable called thisDate.  By setting it as
new Date(); this code is declaring the variable's data type to be date.
This might sound confusing, but it is the same principle as saying:
classList = new Array();
Except for here we are creating a date instead of an array.

onClipEvent(enterFrame) {
thisDate = new Date();

How does it work?

Basically, the next segment of code we have creates two variables,
called numHours and numMinutes.  When I call getMinutes() and getHours(), it
returns the number of minutes and the number of hours respectivly according
to the pc's clock, but that doesn't return exactly what I want.  getHours()
returns a number from 1-24, which isn't what I want. So I used an if condition
so that it returns a number from 1-12.  getSeconds returns a number from
1-60.  I needed to use the if condition so that my numSecond variable displays
01 instead of 1 if getSeconds() is below 10.

if(thisDate.getHours() > 12) {
numHours = thisDate.getHours() - 12;
}else{
numHours = thisDate.getHours();
}
if(thisDate.getMinutes < 10) {
numMinutes = "0" + thisDate.getMinutes();
}else{
numMinutes = thisDate.getMinutes();
}

The next part of this code creates a second variable called pmAM.  This
code basically says that if the time is after 11, the variable pmAM will
be set to pm.  If it is before 11, then the variable will be set to am.  This
code allows the clock to display whether it is pm or am.

pmAM = thisDate.getHours() > 11 ?
" PM" : " AM";

Begin by creating a dynamic textbox.  Then, click on the textbox and
resize it so that it will fit the contents of our digital clock.  Then click
on the textbox and go to its properties and find an empty box
labeled var (seen below) and give that the value: time as you can
see has been done below.
Then convert the textbox to a movieclip (F8), and give the
movieclip the code you could have copied and pasted a few frames
ago (but if you haven't done it already I advice you to go back and do
it)

How do I use it?

You can do a few things to this code.  The way to edit this code is to edit
contents of the time variable.  You can make it so it just says 9:21 instead
of 9:21 am by deleting the pmAM variable and the last addition operator
from the statement.  You could change getHours(), getMinutes(), or pmAM
to getDays(), getMonth(), getSeconds() or many other things.  Once you know
how this code works, you can change all the diffrent values and functions for
time to make it really display any sort of time!

pmAM = thisDate.getHours() > 11 ?
" PM" : " AM";
time = thisDate.getHours() +":" +
thisDate.getMinutes() +
pmAM
}

How do I customize it to meet my unique needs?

<p align="justify"><font face="Courier New" size="13" color="#000000" letterSpacing="0.000000" kerning="1">Mouse.show();</font></p>

<p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1">Paste this on the frame where</font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1">you want the mouse to reappear</font></p>

<p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1">Copy and paste this</font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1">code into a movieclip&apos;s</font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1">actions panel:</font></p>

<p align="justify"><font face="Courier New" size="13" color="#000000" letterSpacing="0.000000" kerning="1">onClipEvent(enterFrame) {</font></p><p align="justify"><font face="Courier New" size="13" color="#000000" letterSpacing="0.000000" kerning="1">this._x = _root._xmouse;</font></p><p align="justify"><font face="Courier New" size="13" color="#000000" letterSpacing="0.000000" kerning="1">this._y = _root._ymouse;</font></p><p align="justify"><font face="Courier New" size="13" color="#000000" letterSpacing="0.000000" kerning="1">Mouse.hide();</font></p><p align="justify"><font face="Courier New" size="13" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p>

Custom Cursor

This code makes the Movieclip its placed on the cursor for the movie.  It
also makes the regular cursor invisible.
The second code:
Mouse.hide();
should be placed on the frame where you want the regular cursor to
become visible.

onClipEvent(enterFrame) {
//This makes it run the following code on every theoretical frame
this._x = _root._xmouse;
//This set's the mc's x position as the mouse's x position
this._y = _root._ymouse;
//This set's the mc's y position as the mouse's y position
Mouse.hide();
//This is a function of the Mouse object that makes it invisible
}

This code does two things.  On every theoretical frame it takes your
movieclip and gives it the same x and y position as the mouse cursor.
The second thing it does is that it makes the default cursor invisible.

<p align="justify"><font face="Courier New" size="13" color="#000000" letterSpacing="0.000000" kerning="1">Mouse.show();</font></p>

This code is very easy to use.  Begin by creating the movieclip you want
to be a cursor.  Then select that movieclip, and enter its actions panel (F9)
and paste in the main code (found on the code page a few frames back).
Then on the frame where you want the default cursor to reappear paste
the code below,

There isn't really a way you can customize this code.  There are
alternative methods for doing the same thing as this by using the
startDrag() function, but alas that is an entirily diffrent code.  Sorry :(

Paste this code into the frame where
you want the movieclips to be
attached:

<p align="justify"><font face="Courier New" size="10" color="#000000" letterSpacing="0.000000" kerning="1"><b>numThings = 100;</b></font></p><p align="justify"><font face="Courier New" size="10" color="#000000" letterSpacing="0.000000" kerning="1"><b>for(var i; i&lt; numThings; i++) {</b></font></p><p align="justify"><font face="Courier New" size="10" color="#000000" letterSpacing="0.000000" kerning="1"><b>var thing = </b></font></p><p align="justify"><font face="Courier New" size="10" color="#000000" letterSpacing="0.000000" kerning="1"><b>attachMovie(&quot;thing&quot;, &quot;thing&quot; + i, i);</b></font></p><p align="justify"><font face="Courier New" size="10" color="#000000" letterSpacing="0.000000" kerning="1"><b>thing._x = Math.random() * Stage.width;</b></font></p><p align="justify"><font face="Courier New" size="10" color="#000000" letterSpacing="0.000000" kerning="1"><b>thing._y = Math.random() * Stage.height;</b></font></p><p align="justify"><font face="Courier New" size="10" color="#000000" letterSpacing="0.000000" kerning="1"><b>thing._xscale = thing._yscale = </b></font></p><p align="justify"><font face="Courier New" size="10" color="#000000" letterSpacing="0.000000" kerning="1"><b>Math.random() * 100 + 50;</b></font></p><p align="justify"><font face="Courier New" size="10" color="#000000" letterSpacing="0.000000" kerning="1"><b>}</b></font></p>

Attach MovieClip

This code basically takes the object you've given the proper linkage
in the library and puts a certain number of instances of that object
onto the scene.  It then gives the instances each random sizes and
locations.   This code gives you alot of balls for very little processing
power and filesize.

numThings = 100;
for(var i; i< numThings; i++) {
var thing =
attachMovie("thing", "thing" + i, i);

This code starts by creating a variable called numThings.  This is how many
instrances of thing will be added to the stage.  Then we have what's called a
for loop, which basically establishes that the code inside its brackets will be
run until i =numThings.  In this way the program will attach the number of
thing movieclips equal to the variable numThings.
Then we create a variable called thing, which will hold our
attachMovie code.  The attachMovie code basically calls the movieclip
with the "thing" identifier and attachs it to the stage.  Every movieclip
it attachs to the stage is given an instance name which is "thing" + i.
If you remember the i variable from the for loop, you'll realize that this
code gives every attached movieclip a distinct instance name.  The last
part of attachMovie gives every movieclip a depth of i, which means each
movieclip will be put on a diffrent depth.  Depth is the AS equivalent of
layers.

The next part of this code is pretty simple.  The first two lines basically
say that the x and y coordinates of every generated movieclip will be
a random location on the stage.
The next part of the code scales the movieclip by a random number * 100
+ 50.  Math.random() by default produces a random number from 0 to one.
These numbers would make our movieclips a little bit too small, so I
multiplied the random number by 100.  I added 50 to that number to
ensure that no matter what Math.random() spits out, no movieclip
will be reduced in five by less than 50%.  The code than assigns the
_yscale to the _xscale, to ensure that the movieclip is rescaled the
same amount on each axis.

thing._x = Math.random() * Stage.width;
thing._y = Math.random() * Stage.height;
thing._xscale = thing._yscale =
Math.random() * 100 + 50;
}

To use this code, you must first create a movieclip with the linkage
identifier "thing".  Then you must copy and paste the code I've given
you into the frame.  Its important to note that when using this code
you do not need to place an instance of your "thing" symbol on the
stage.
To give your movieclip a linkage identifier, go to the library.  Then scroll
down and right click on your movieclip.  In that right click menu scroll
down and choose the option linkage.  Then a dialogue will pop-up
like the one below.  Where it says identifier type in "thing" and make sure
"Export for Actionscript" and "Export in first frame" are checked.

There are truly a wide variety of ways that you can edit this code.  The
first one is that you can change the value of the variable numThings,
thusly changing the number of instances of thing that will be attached.
Technically you can edit the next couple of lines, but I seriously see
no way to improve or modify them.

Okay, the first part of this code you can modify is the part where we
set the locations of the movieclips we've attached.  You could tell
thing._x and thing._y to be equal to something complex, dynamic
or changing.  For example you could make it so that the movieclips
are all loaded in a straight line on the screen, or really any arrangment
you can imagine.
You can modify the next part of the code to make thing._xscale
and thing._yscale seperate concepts.  So that each movieclip isn't
scaled equally in each axis.
Then you can take the Math.random()*100 + 50 and edit to make all the
movieclips attached smaller or larger.  For example if you multiplied
Math.random() by 10 instead of 100, then all the movieclips you attach
will be smaller.

<p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">on (press){</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">var savefile = SharedObject.getLocal(&quot;flashName&quot;);</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">savefile.data.nameThing = &nbsp;&quot;Grant&quot;;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">savefile.data.healthData = health;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">savefile.flush();</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p>

On save button:

on Load button:

<p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">on(press) {</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">saveInfo = sharedObject.getLocal(&quot;flashName&quot;);</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">health = saveInfo.data.health;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">nameThing = saveInfo.data.nameThing;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p>

To read more about this code,
including usage facts and a full
explination, press the right arrow
key on your keyboard or click the
arrow on the right side of this page.

Download an FLA of this with
the working MovieClip +
commented and well-formated
code here.

Save and Load Variables

This code creates a cookie on the user's PC. In the code on the last page, we
store 2 variables on the user's PC.  You can store numbers, arrays, strings,
etc. on the user's PC.
However, the user can choose how much data they want to allow you to save
on this PC.  To do this, the user would right-click, go down to settings, and
select local storage.  Then the user can set how much data the Flash Player
can store (the default storage amount is 100kb).
Anyway, this code stores variables on the user's PC with one button, and then
retrieves those variables with another button.
You could save the player's position or progress for a game, or you
could save detailed health data, ammo data, etc.

This is the beginning code of the save button.
Our first line of code creates an on(press) event.  This means that
our code will be placed on a button.  And that the code in the
brackets following the on(press) event will be executed every time
the button is pressed.

on (press){
var savefile = SharedObject.getLocal("flashName");
savefile.data.nameThing =  "Al";
savefile.data.healthData = health;

This code works by defining a shared object on the user's PC. Then we
create properties of the shared object's data property (which hold our
variables).  Then we save the file and retrieve it, storing the values to
new variables.  Pretty nice, eh?  : )

Our savefile object will have a property called data built into it.
Any variables we wish to save to the file will be properties of the
data property.
Here we create nameData and healthData as properties of data.  Note
that your actual code should use your own unique variables.  You can
assign an array, a number, a string, etc. to a variable of the data property.

The next line of code creates our cookie (shared object) on the user's PC.
We create a variable called savefile.  On the other side of the assignment
operator, the getLocal function is called.  That functions tries to find a file
called "flashName" (or whatever you specify as the function's arguement).
If it finds that file, it then returns the data in that file.  If it can't find the file,
it creates a file with that name (in our case flashName) and returns the value
of that file.

var savefile = SharedObject.getLocal("flashName");
savefile.data.nameThing =  "Al";
savefile.data.healthData = health;

Now, automatically Flash will save the savefile to the user's PC when the Flash
Player is closed.  And that often works fine.
However, its better to use the flush() function to force the Flash player to save
the sharedObject.  One advantage on this is that we can check to see if the
data was saved successfully to the user's PC.
if(savefile.data == undefined) {
saveResult = "The save failed";
}
This way, we can inform the user when the save failed, because the save
will be performed at a specified point.

Now that we've created properties of the data property, and given them values,
we need to think about actually saving our saveFile to the user's PC.  We do
this with the following code.

savefile.flush();
}

health = saveInfo.data.health;
nameThing = saveInfo.data.nameThing;
}

Because the code is on a button, we start with an on(press) event, which
means that the code will be ran when the button is pressed.
Our next line of code is very interesting.  The getLocal function looks for
the file called flashName.  If it finds the file, it returns the data on that
file and stores it in the safeInfo variable.  Because this is, after all, a load
button, we are ideally retrieving the data from the flashName file.
Our next line of code is retrieving the health and nameThing
variables from the saveInfo data and assigning them to the
current health and nameThing variables.  In that way, the
current health and name of the player are given the health and
name values stored on the user's PC.

This next piece of code is for our load button.

on(press) {
saveInfo = sharedObject.getLocal("flashName");

Change the blue variable to whatever you want the file saved on
the user's PC to be named.
Change the red variables to change the names of the variables you want to
save on the user's PC.
Change the green variables/values to change what values are saved to the
user's PC.

//Save Button
on (press){
var savefile = SharedObject.getLocal("flashName");
savefile.data.nameThing =  "Grant";
savefile.data.healthData = health;
savefile.flush();
}

Change the blue word to the name of the file that you want to be
stored on the user's PC.  Make sure this file name is the same as the
file name on your save button.  If it is not then your file won't be
loaded : (
Change the red word to whatever are the names of the variables
you're storing on the user's PC.  These variable names must match
the names of the data stored on the user's PC in the save button.
Change the brown variables to whatever variables you want the data
from the file to be saved to.  These are usually the same variables as
we stored on the user's PC on the save button, but they do not have
to be.

//Load Button
on(press) {
saveInfo = sharedObject.getLocal("flashName");
health = saveInfo.data.health;
nameThing = saveInfo.data.nameThing;
}

<p align="justify"><font face="Verdana" size="16" color="#000000" letterSpacing="0.000000" kerning="1"><b>Download a fully built preloader</b></font></p><p align="justify"><font face="Verdana" size="16" color="#000000" letterSpacing="0.000000" kerning="1"><b>FLA with commented codes, 100%</b></font></p><p align="justify"><font face="Verdana" size="16" color="#000000" letterSpacing="0.000000" kerning="1"><b>complete, </b><font color="#ff0000"><b>here</b></font><b>. &nbsp;</b></font></p>

<p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">_root.stop(); &nbsp;&nbsp;</font></p><p align="justify"></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">PercentLoaded = </font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">_root.getBytesLoaded()/</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">_root.getBytesTotal()*100;</font></p><p align="justify"></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">if (PercentLoaded != 100) {</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">bar._xscale = PercentLoaded * 4;</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">} else {</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">gotoAndStop(&quot;loaded&quot;);</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">var PercentDisp = </font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">Math.round(PercentLoaded*1000) /</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">(1000) + &quot;%&quot;;</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">var PercentDisp2 = </font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">Math.round(PercentLoaded) + &quot;%&quot;;</font></p><p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">percent1._x = bar._xscale - 240;</font></p>

Normal Preloader

Al's Preloader

This code is for a standard preloader, similar to the preloader newgrounds
distributes regularly.  The preloader I'm going to create allows you to display
the percentage loaded for the movie in two places, make a loading bar, and
go to a play button once the movie is loaded.
The preloader I'm going to show you is similar to the preloader on this
very tutorial.
If you just want to download the FLA of my preloader isntead of constructing
it from my description, use the link below:

This next line of code creates a variable called PercentLoaded.  This variable
is given the value of the number of bytes loaded divided by the bytes total,
multiplied by 100, hence giving us a percentage.  Its important to note that
this percentage variable is not an integer and is rather a very long decimal.

PercentLoaded = _root.getBytesLoaded()/_root.getBytesTotal()*100;

This code is placed inside the first frame of the movieclip preloader, on a layer
called Actionscript.  Our first line of code tells the entire movie to stop.  This
is done so that the movie/game does not try to start until it is later told to do
so.

<p align="justify"><font face="Courier New" size="11" color="#000000" letterSpacing="0.000000" kerning="1">_root.stop(); &nbsp;&nbsp;</font></p>

So basically, if the movie is loaded, the preloader movieclip goes
to the frame with the play button.
And if the movie isn't loaded, the _xscale property of bar is set
to be equal to the PercentLoaded variable multiplied by 4.  Because
percentLoaded variable will increase as the movie loads, the load
bar will get longer and longer due to the _xscale property being
increased.  Below you can see the loading bar used on this tutorial.

Our next line of code is an if condition.  This condition basically checks to
see if PercentLoaded is not equal to 100.  If percentloaded is not equal to
100, it sets the _xscale of the bar movieclip.  If percentLoaded is 100, then
the preloader movieclip goes to the frame with the play button on it (this
frame is named "loaded")

if (PercentLoaded != 100) {
bar._xscale = PercentLoaded * 4;
} else {
gotoAndStop("loaded");
}

The next variable we create, PercentDisp2, is identical to
PercentDisp1, except that its rounded to one decimal place, instead
of 3.
Our final line references a movieclip called percent1.  That movieclip
is the small textbox that is beneath the load bar.  This line of code changes
the x coordinate position of percent1 so that it goes to the right as the
loadbar movieclip gets bigger.

Our next part of code creates a variable called PercentDisp.  This var is based
on PercentLoaded, however we have done two things to it.  The first is that
we have rounded it to 3 decimal places.  This is because we want this display
for how much the movie is loaded to not go out as a  really long decimal.  The
second thing we do is we add the string value "%" to the end of the variable.
The variable PercentDisp applied to a dynamic textbox is shown below.

var PercentDisp = Math.round(PercentLoaded*1000) / (1000) + "%";
var PercentDisp2 = Math.round(PercentLoaded) + "%";
percent1._x = bar._xscale - 240;

Place this code anywhere where
it will be played once at the
beginning of the Flash:

<p align="justify"><font face="Courier New" size="10" color="#000000" letterSpacing="0.000000" kerning="1">mouseL = new Object();</font></p><p align="justify"><font face="Courier New" size="10" color="#000000" letterSpacing="0.000000" kerning="1">mouseL.onMouseWheel = function(scroll) {</font></p><p align="justify"><font face="Courier New" size="10" color="#000000" letterSpacing="0.000000" kerning="1">pageNum = _root._currentframe;</font></p><p align="justify"><font face="Courier New" size="10" color="#000000" letterSpacing="0.000000" kerning="1">pageNum += scroll/3;</font></p><p align="justify"><font face="Courier New" size="10" color="#000000" letterSpacing="0.000000" kerning="1">_root.gotoAndStop(pageNum);</font></p><p align="justify"><font face="Courier New" size="10" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="10" color="#000000" letterSpacing="0.000000" kerning="1">Mouse.addListener(mouseL);</font></p>

Scroll Wheel

This code moves your movie forward a frame if the user scrolls up
(using the tiny scroll wheel at the center of the mouse).  It moves
the movie backward a frame if the user scrolls down.
Note that this code can be used to allow the user to change weapons
(like in Unreal Flash) or to change the volume of the audio.  Really
anything, and I'll go over that in a few pages when I talk about
customizing the code.
I'll also go over allowing the user to make something happen when the
user clicks down the scroll wheel.
If you want to see an example of scroll wheel functionality in
action, simply scroll up or down on your own scroll wheel inside
this tutorial.  It should move you forward or backward a frame.
Warning: Not all people have a scroll wheel on their mouse.  So you
should make the scroll wheel do something non-essential or have an
alternate control mechanism for people who lack scroll functionality.

The next line of code creates a handler for the mouseL listener.  When
mouseL "hears" the mouse wheel move, it runs the onMouseWheel
handler, which is defined on our second line.
One interesting thing here is that we create an arguement of our
function called "scroll".  Basically, when the Flash Player calls this
function at runtime, it passes a value into the arguement, and that
value becomes the scroll variable.
When the user scrolls up, scroll is equal to 3, when the user scrolls down,
scroll is equal to 3.

Our first line of code creates an object called mouseL.  This object will
"listen" for when the mousewheel moves, and will react accordingly.
In other words, mouseL is an object that will run certain codes on a
certain event.

mouseL = new Object();
mouseL.onMouseWheel = function(scroll) {

Now that we have our scroll variable which increases by 3 if the user scrolls
up, and decreases by 3 when the user scrolls down, we'll want to apply that to
our unique situation.
In my scenario, I tell the root timeline to go forward one frame when the user
scrolls up.  Now, to do this what I do is:
1.  Take the current frame number
2.  Add 1 if the scroll is going up, add -1 if the scroll is going down
3.  Tell Flash to go to the new frame number
Our first line sets pageNum as the current frame.  Then, because
scroll is equal to 3 or -3 and we're looking for 1 or -1, we divide scroll
by 3.  Then we tell the root timeline to go to pageNum.
We add a close bracket to end the mouseWheel handler, and then we use
the addListener function to make the mouseL object a listener
of the Mouse object.

pageNum = _root._currentframe;
pageNum += scroll/3;
_root.gotoAndStop(pageNum);
}
Mouse.addListener(mouseL);

This code should be placed on a frame, and it should be placed in such a
position that the code is only executed once (usually at the beginning of
the movie).  Because we create a listener in this code, the mouseWheel
handler will be active the entire movie (or until removeListener() is used).
If this code is executed twice a very major bug occurs.  Instead of the page
number increasing by 1, the page number increases by a very large amount.

In the code above, you must change minimumFrame to the frame that you
don't want the user to go before, and change maxFrame to the frame that
you don't want the user to go past.  (Both shown in blue).

if(_root._currentframe > minimumFrame and _root._currentframe < maxFrame) {
_root.gotoAndStop(pageNum);
}

This code is fairly good by itself, however to make it more useful there are
a few important modifications:
1.  Set limits on how far user can scroll.
2.  Use scroll number to change weapons
The first modification is fairly simple.  To set limits on what frames the user
can scroll in, we simply have to encase the gotoAndStop() function in a
condtional:

How do I customize this code to meet my unique needs?

<p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">mouseL = new Object();</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">currentWeapon = 1;</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">mouseL.onMouseWheel = function(scroll) {</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">if(currentWeapon &gt; 0 and currentWeapon &lt; 10) {</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">currentWeapon += scroll/3;</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">if(currentWeapon &gt;= 10 and scroll &lt; 0) {</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">currentWeapon += scroll/3;</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">if(currentWeapon &lt;= 0 and scroll &gt; 0) {</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">currentWeapon += scroll/3;</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">trace(currentWeapon);</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">Mouse.addListener(mouseL);</font></p>

The next thing I'll teach you to do is use the scroll wheel to change the current
weapon.  In my opinion, this makes a lot of sense for a side-scrolling shooter.
(It frees keys for movements and mouse for aiming).
Anyway, lets say currentWeapon is a number between 0 and 10, which
specifies the current weapon, and then you use functions to change rate of
fire, bullet holes, etc.
Anyway, here is how I'd use the scroll wheel to change weapons:

This is virtually the same code as before, except now we simply increase
the currentWeapon variable by scroll/3 (so -1 or 1).
The conditional that surrounds that statement insures that the currentWeapon
variables has to be from 0-10.  That makes the scroll perform normally if the
currentWeapon value is in that range.
However, what if currentWeapon is 10 or 0?  The condition will evalutate to
false, and nothing will happen!  The variable will be stuck ><
So, we have to create two seperate conditionals to deal with both of those
scenarios.  If currentWeapon is 10, we want currentWeapon to only be able
to go down.  If currentWeapon is 0, we want to currentWeapon to only
be able to go up.
So in our conditional, if currentWeapon is greater than or equal to ten, and
our scroll value is negative, we want the scroll to change currentWeapon.
The opposite goes for 0, if the scroll value is positive, we want it to impact
the currentWeapon value.

<p align="justify"><font face="Courier New" size="8" color="#999999" letterSpacing="0.000000" kerning="1">//For this function to work you MUST have an array called pageList which</font></p><p align="justify"><font face="Courier New" size="8" color="#999999" letterSpacing="0.000000" kerning="1">//contains all the text on your diffrent pages. &nbsp;You need a dynamic textbox</font></p><p align="justify"><font face="Courier New" size="8" color="#999999" letterSpacing="0.000000" kerning="1">//called searchResult. &nbsp;You need an input textbox called search. &nbsp;This</font></p><p align="justify"><font face="Courier New" size="8" color="#999999" letterSpacing="0.000000" kerning="1">//search is NOT cap sensitive! &nbsp;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">on(press) {</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">search = search.toLowerCase();</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">_root.searchResult = &quot;Result:\n&quot;;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">for(i:Number = 0; i &lt; 600; i++) {</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1"> &nbsp;&nbsp;&nbsp;&nbsp;searchReturn = pageList[i].indexOf(search);</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1"> &nbsp;&nbsp;&nbsp;&nbsp;if (searchReturn != -1) {</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_root.searchResult += &quot;Page &quot; + (i + 1) + &quot;\n&quot;;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1"> &nbsp;&nbsp;&nbsp;&nbsp;}</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1"> &nbsp;&nbsp;&nbsp;&nbsp;if(searchResult == &quot;Result:\n&quot;) {</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;searchResult = &quot;Sorry, no pages found content relevant to your query. &nbsp;&quot; +</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\nMake sure your search terms are single words or compound proper nouns\n&quot;;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1"> &nbsp;&nbsp;&nbsp;&nbsp;}</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p>

Search Engine

<p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">hotkey = function() {</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">if (Key.isDown(82)) { &nbsp;&nbsp;//r key</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">gotoAndStop(1);</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">if (Key.isDown(Key.PGUP)) {</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">_root.mus.setVolume(_root.mus.getVolume()+10);</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">if (Key.isDown(Key.PGDN)) {</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">_root.mus.setVolume(_root.mus.getVolume()-10);</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">if (Key.isDown(81)) { //Q key</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">prevFrame();</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">if (Key.isDown(87)) { //W key</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">nextFrame();</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">onEnterFrame = function () {</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">id = setInterval(hotkey, 20);</font></p><p align="justify"><font face="Courier New" size="9" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p>

Hotkeys

This allows certain events to happen when the user presses a certain key.
Just like how pressing M will take you to the main menu in this tutorial,
pressing m down should take you to the main menu.  Pressing Q should
move you back in the tutorial quickly, whilst W should take you forward
quickly.
The code on the last page is for creating hotkeys to control your
movie/game.
Its very important to note that you need to modify this code
(I will explain how on the "Guide to customizing the code").
If you leave this code as it is, it won't meet your unique needs,
which makes it totally pointless.
So read on!

This code creates an enterFrame event which holds a series of conditionals.
These conditionals run certain statements when the user presses a key (or
something).

To use this code, simply copy and paste it into the first frame of your movie.
However, to make this code useful, you will need to customize it, which I
will go over on the next page.

There are really two things to customize in this code:
1.  What key is used in the conditional
2.  What happens when the condition evalutates to true
Now, in Flash, we don't say:
if(Key.isDown(B) {
//something
}
Instead of using the actually letter on the keyboard, we use a
number that represents the letter.  This is called a keycode.
The reasons key codes are used instead of regular letters is
that a number can be added, subtracted, divided, and changed
in a wide variety of ways.
Now, this would be very useful in C++ where I might need
to change all lower case letters to upper case letters, however
I have never found it very useful in ActionScript.

i = 73
j = 74
k = 75
l = 76
m = 77
n = 78
o = 79
p = 80
q = 81
r = 82
s = 83
t = 84
u = 85
v = 86
w = 87
x = 88
y = 89
z = 90

mouse = 1
right-click = 2
1 = 49
2 = 50
3 = 51
4 = 52
5 = 53
6 = 54
7 = 55
8 = 56
9 = 57
0 = 58
a = 65
b = 66
c = 67
d = 68
e = 69
f = 70
g = 71
h = 72

Print

Here is a list of key codes.  Because they are nice to have on a cheat sheet,
I've given you the option to print them out : )  Simply press the print button.

Rollover the keys to see their values!

Finally, any statement can be placed after the conditional.  You can use
gotoAndStop(), lineTo(), whatever.
Here is an example of using keycodes in action:
if(Key.isDown(53) {      //If user presses 5 key
_root.gotoAndStop(1);
}
That comment on the right is very important.  Giving the keyboard
equivalent of the keycode makes the code easier to read, and makes it
more accessable to people not familiar with Flash keycodes.

Copy and paste this code
into your frame:

<p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">Stage.showMenu = true;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">var myMenu = new ContextMenu();</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">myMenu.hideBuiltInItems();</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">_root.menu = myMenu;</font></p><p align="justify"></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">function itemHandler1(){</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">gotoAndStop(&quot;main&quot;);</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">function itemHandler2(){</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">gotoAndStop(&quot;swift&quot;);</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">function itemHandler3(){</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">gotoAndStop(&quot;flash&quot;);</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">function itemHandler4(){</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">gotoAndStop(&quot;code&quot;);</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">function itemHandler5(){</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">gotoAndStop(&quot;grounds&quot;);</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">myMenu.customItems.push(new ContextMenuItem(&quot;Main Menu&quot;, itemHandler1));</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">myMenu.customItems.push(new ContextMenuItem(&quot;Swift 3D&quot;, itemHandler2));</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">myMenu.customItems.push(new ContextMenuItem(&quot;Flash&quot;, itemHandler3));</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">myMenu.customItems.push(new ContextMenuItem(&quot;Code Gallery&quot;, itemHandler4));</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">myMenu.customItems.push(new ContextMenuItem(&quot;Newgrounds&quot;, itemHandler5));</font></p>

Advanced Right-click menu

This code creates a custom right click menu, where each option can display
a certain set of words or variables, and each item can perform a specific
action when clicked.
If you want a demonstration of this code, simply right click anywhere in this
tutorial, and you'll see a custom right click menu : )

Our next line of code creates a variable called myMenu.  This variable becomes
a member of the class ContextMenu, gaining access to all its methods and
properties.  This is the same principle as saying classList = new Array() or
saying gunShot = new Sound()  On the variable myMenu we will proceed to use
the methods and properties of ContextMenu() to create a Context Menu.

Stage.showMenu = true;
var myMenu = new ContextMenu();

This code works by modifying the right click menu built into Flash.  When you
think about it, it makes perfect sense that the right click menu is an array
(fancy programmer word for list).  By adding values and removing values from
this list, we can change the contents of the array, and thusly the contents of
the right-click menu.
The first statement in our code sets the value of a property called showMenu.
If showMenu is true (as is the default), Flash will display a right click menu, if
the showMenu property is false, Flash only displays settings and About Flash
Player 8.  It is essential that we set this value as true, because if we
don't then Flash will not display our right click menu array, even if
we define it.

This next line of code calls a function of the class contextMenu, called
hideBuiltInItems()  What this function does is it hides the items normally
on the right click menu such as Zoom in, Zoom Out, and rewind.
The next thing that the code does is it assigns the myMenu variable to become
the value of the movie's right click menu.  This is imporant because it means
that whatever we assign to myMenu will become the movie's right click menu.
Our next step will be to add values to myMenu that make it a useful
and functional right click menu.

myMenu.hideBuiltInItems();
_root.menu = myMenu;

Our next step is to create a series of functions that control what Flash does
when the user clicks on an option on the right click menu.
In my right click menu code, I've made 5 functions, one for each right click
menu option.  Each function has been named itemHandler 1, itemHandler 2,
etc. to make the code clearer.
Inside each of our functions, we define what we want the right click
option to do when clicked.
What we define our function of can be 100s of lines of code, so that clicking
a right click menu option does a very complex and sophisticated process.
Or our function can be empty, which will mean nothing happens when the user
clicks the option in the right click menu.

function itemHandler1(){
gotoAndStop("main");
}

Above you can see the code we're using to add options to the right click menu.
Now, one confusing thing about this code is "new ContextMenuItem".  Basically
what this code does is it creates an object which is a member of the class
ContextMenuItem.  In the paranthesis following new ContextMenuItem
we pass (input) two values into the constructor function of the object
we just created.
Now that is quite a dousy to understand for someone who doesn't have a strong
background in OOP.  In basic terms the code creates an object.  When we create
the object, we input two values into it in the paranthesis following "new
ContextMenuItem".  Then we take that object we've made and we add it to an
array of values called customItems, which is a property of our right click menu.

The next step we have is to take our function for the menu item and add it to
the right click menu.  Well, remember the object myMenu?  myMenu is an
object which is a member of the class contextMenu.  As a member of the
class, the object myMenu has a series of properties.
Right now, we'll be working with the property "customItems" of the object
myMenu.  The property customItems is an array, and to add values to an array
we use the push function.

myMenu.customItems.push(new ContextMenuItem("Main Menu", itemHandler1));

When we create our new ContextMenuItem object, we have to pass 2 values
into it.
The first value we have to pass into it is a string value (which must be encased
in quotes).  This string value is the text that will be displayed on the right click
menu option.
The second value we have to pass to the ContextMenuItem object is what we
want the option to do when clicked.  In our code, we simply use the function
itemHandler1, so that whatever is in that function will be done
when the user clicks on the option.
Make sure that the name of the function is the same as the name
of the function you defined earlier.

new ContextMenuItem("Main Menu", itemHandler1)

This code should be placed on the first frame (or wherever you want your
right click menu to appear) of your movie's main timeline.
For this code to make a right click menu relevant to your Flash, you'll have
to go to the next page and read about customizing this code for your Flash.

Before you start working with the actual code, you need to ask yourself a few
questions:
What options do I want to give my user in the menu?
What text will I display this option as in the menu?
What will happen when the user clicks on an option?
For each option, you can set the line of text that will be displayed to the viewer,
and you can also set what will occur when the user clicks the option.  You can
make the movie go to a certain frame, you can open a website, or
anything else really!
The first step is to address what we want each of our codes to do when
clicked.

So basically, define your itemHandler functions as something that is useful
and relevent in the context of your Flash.

function itemHandler1(){
getURL("http://www.mywebsite.com", "_blank")//The blank part tells
//function to open website in new window
}

Remember when I went over this code, how I talked about defining the
itemHandler functions.  Well, whatever you put in your itemHandler function
defintions will be ran when the user clicks on the right click menu option.
So, to make your code do something that is relevent to your own Flash, you'll
have to change this function's definition.  Let's say you want your
right click option to open your website:

function itemHandler1(){
gotoAndStop("main");
}

The first step is to address what we want each of our codes to do when
clicked.

That should be simply enough...
The final note I have on this code is that the menu items you add to
the array first in the code will appear on the top of the right click
menu.  Its very logic.  Play around with it.
Well, that's all I have to say.  I hope you enjoy this right click menu code :)

myMenu.customItems.push(new ContextMenuItem("Main Menu", itemHandler1));

When we add a menu item object our array, we can give it a string value that
dictates what the option says.  For example, the menu item created by the
code shown above says "Main Menu".  The code below creates an option that
says "You can make your option say anything".

myMenu.customItems.push(new ContextMenuItem("Main Menu", itemHandler1));

In addition to customizing what our option does when we click it, we can
customize what our option says.

Copy and paste this code
into any button:

<p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">on(press){</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">if(_root._quality == &quot;HIGH&quot;){</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">_root._quality = &quot;MEDIUM&quot;;</font></p><p align="justify"></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">}else if(_root._quality == &quot;MEDIUM&quot;){</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">_root._quality = &quot;LOW&quot;;</font></p><p align="justify"></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">}else if(_root._quality == &quot;LOW&quot;){</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">_root._quality = &quot;HIGH&quot;;</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="12" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p>

Toggling Quality

This script makes a button toggle the movie's quality when clicked.  The
button cycles through quality levels in the order high - medium - low - high.
This button is very useful because in many scenarios its more efficient to
produce one quality button instead of 3.
I'd love to show you an example below, but sadly that button would be the
only quality button in this Flash, which is a problem.

The first line of this code on(press) { establishes that all the code in the
brackets following it will be ran once whenever the button on which the
code is placed is pressed.  The next line of code has an if conditional.  If the
current quality level is high, the quality will be set to medium.

on(press){
if(_root._quality == "HIGH"){
_root._quality = "MEDIUM";

This code basically sets the quality property of the movie (remember that
quality controls how much smoothing is applied to the movie's graphics.
The higher the quality, the smoother lines and fills are, but the longer each
frame takes to render).
When the button is pressed, ff the current quality is high, then the quality is
set to medium.  If the current quality is medium, then the current quality
is set to low.  If the current quality is low, then the quality is reset to high.
We use the else because we only want  the quality level to be set once, as
opposed to having each if conditional executing.

How Does it work?

If the quality was medium when the button was pressed, the first
if conditional will evaluate to false, and thusly the else if follwoing
it will evaluate to true (because quality is equal to medium).  Then
quality will be set to low, and that will be the end of the story.
If the qualty was low then the button was presssed, the first two
conditionals will evaluate to false, but the last one will evaluate to
true because _root._quality == "LOW" is true.  Then the quality will
be set to high, and it will be the end of the story.

Then we run into else if.  This conditional will only run if the current quality
level wasn't high.  If the quality level was high when the button was pressed,
the else if conditional won't execute, and that will be the end of the story, and
the quality will have been changed to medium.

}else if(_root._quality == "MEDIUM"){
_root._quality = "LOW";
}else if(_root._quality == "LOW"){
_root._quality = "HIGH";
}
}

This code doesn't really require any special effort to use, simply copy
and paste the code into the button which you want to toggle quality.

How do I use it?

I have two diffrent ways to customize this code to be more dynamic.
The first is to split the code into 3 diffrent buttons.  Each button sets the
quality at a seperate level.
The second modification is quite diffrent, and sets quality not based on
button click, but based on the status of the user's PC.  Instead of letting
the Morlocs (read Jules Verne) set their own quality level to match their
PC's strength, why not set the quality automatically based on the newness
of their OS?
Changing our quality code so that we have a seperate button to set
each quality level is pretty simple.

To create a series of buttons, each of which changing quality to a diffrent
value, on should use the codes below.  The first code goes on the button that
changes the quality to high, and the second one should go on the button that
changes the quality to medium, and the third on the button that changes the
quality to low.
This code is similar to the toggling code except that instead of using toggling
to determine what the quality is set to, which button the user clicks determines
quality.

<p align="justify"><font face="Courier New" size="14" color="#000000" letterSpacing="0.000000" kerning="1">//On Button 2&apos;s actions</font></p><p align="justify"><font face="Courier New" size="14" color="#000000" letterSpacing="0.000000" kerning="1">on(press) {</font></p><p align="justify"><font face="Courier New" size="14" color="#000000" letterSpacing="0.000000" kerning="1">_root._quality = &quot;MEDIUM&quot;;</font></p><p align="justify"><font face="Courier New" size="14" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p>

<p align="justify"><font face="Courier New" size="14" color="#000000" letterSpacing="0.000000" kerning="1">//On Button 3&apos;s actions</font></p><p align="justify"><font face="Courier New" size="14" color="#000000" letterSpacing="0.000000" kerning="1">on(press) {</font></p><p align="justify"><font face="Courier New" size="14" color="#000000" letterSpacing="0.000000" kerning="1">_root._quality = &quot;LOW&quot;;</font></p><p align="justify"><font face="Courier New" size="14" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p>

<p align="justify"><font face="Courier New" size="14" color="#000000" letterSpacing="0.000000" kerning="1">//On Button 1&apos;s actions</font></p><p align="justify"><font face="Courier New" size="14" color="#000000" letterSpacing="0.000000" kerning="1">on(press) {</font></p><p align="justify"><font face="Courier New" size="14" color="#000000" letterSpacing="0.000000" kerning="1">_root._quality = &quot;HIGH&quot;;</font></p><p align="justify"><font face="Courier New" size="14" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p>

<p align="justify"><font face="Courier New" size="13" color="#000000" letterSpacing="0.000000" kerning="1">onLoad = function() {<font color="#999999">//we put all our code on the onLoad event</font></font></p><p align="justify"><font face="Courier New" size="13" color="#999999" letterSpacing="0.000000" kerning="1">//because we only need to detect the user&apos;s OS once, it won&apos;t </font></p><p align="justify"><font face="Courier New" size="13" color="#999999" letterSpacing="0.000000" kerning="1">//change at runtime</font></p><p align="justify"></p><p align="justify"><font face="Courier New" size="13" color="#000000" letterSpacing="0.000000" kerning="1">if(System.capabilities.os == &quot;Windows XP&quot;) {</font></p><p align="justify"><font face="Courier New" size="13" color="#000000" letterSpacing="0.000000" kerning="1">_root._quality = &quot;HIGH&quot;;</font></p><p align="justify"><font face="Courier New" size="13" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="13" color="#000000" letterSpacing="0.000000" kerning="1">if(System.capabilities.os == &quot;Windows 2000&quot;) {</font></p><p align="justify"><font face="Courier New" size="13" color="#000000" letterSpacing="0.000000" kerning="1">_root._quality = &quot;MEDIUM&quot;;</font></p><p align="justify"><font face="Courier New" size="13" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="13" color="#000000" letterSpacing="0.000000" kerning="1">if(System.capabilities.os == &quot;Windows 98&quot;) {</font></p><p align="justify"><font face="Courier New" size="13" color="#000000" letterSpacing="0.000000" kerning="1">_root._quality = &quot;LOW&quot;;</font></p><p align="justify"><font face="Courier New" size="13" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p>

The next modification I have is a tad bit more complicated.  This code changes
the quality based on the user's OS.
os is a property of the capability object which is equal to the operating system
the user has.
Rather clearly the method shown above is flawed because it assumes that
users with newer operating systems have faster Computers.  This however
is not always the case, so I'd advise against this method, but its good to have
this out in the open.

<p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">onLoad = function() {</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">vpX = 0;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">vpY = 0;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">vpZ = 0;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">lens = 250;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">vanishX = Stage.widht/2</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">vanishY = Stage.height/2;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">onEnterFrame = function() {</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">vpX = _root._xmouse - vanishX;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">vpY = _root._ymouse - vanishY;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">if(Key.isDown(Key.CONTROL)) {</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">vpZ += 5;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">if(Key.isDown(Key.SHIFT)) {</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">vpZ -= 5;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">scale = lens / (lens + vpZ);</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">ball._xscale = scale * 100;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">ball._yscale = ball._xscale;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">ball._x = vanishX + vpX * scale;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">ball._y = vanishY + vpY * scale;</font></p><p align="justify"><font face="Courier New" size="8" color="#000000" letterSpacing="0.000000" kerning="1">}</font></p>

3D Basics

This code itself does nothing really stunning.  Basically, it allows the mouse
to move a movieclip with the instance name of ball, and it allows the shift
and control keys to move an object forward and backward on the z dimension.
The real significance of this code is how it teaches the two core fundamentals
of 3D.  So by learning this code you're enabling yourself to go into deeper
3D concepts.
This code works by setting an object's x and y coordinate positions based on
their virtual x, virtual y, and virtual z positions.  With the virtual x, virtual y,
and virtual z positions, we set the actual scale and _x and _y
properties of our objects.
That's a little complicated, but read on and it will all get clear.  :)

When an object moves forward and backward on the third
dimension (z), two big things happen:
1.  The object moves towards a vanishing point.
2.  The object gets bigger as it gets closer to the viewer.

Our code begins by creating variables for the virtual x, virtual y, and virtual
z positions.  We have to create virtual positions because Flash has no built
in 3D, and we have to set our objects _x and _y property.  Because an
object's z position affects its _x and _y properties, we cannot simply map
our x coordinate to _x.  Rather we have to create formulas to link our
virtual 3D coordinates to the _x and _y properties we're setting.

onLoad = function() {
vpX = 0;
vpY = 0;
vpZ = 0;

This distance
is z variable

This distance
is lens variable

Eye

Object

Here we create an x and y position for our vanishing point, which happens to be
the center of the stage.
Next we create a variable that stores the distance between the lens and the
image sensing device(both of which are just metaphors though.  There is
no real lens in flash).  We'll use this variable to calculate how perspective is
applied later on.  250 makes puts our lens at a very normal distance.  A lower
number will give our image a sort of "wide angled lens" look.

lens = 250;
vanishX = Stage.widht/2
vanishY = Stage.height/2;
}

These next few lines set our virtual x and y positions based on the position
of the mouse relative to the vanishing point.
The reason to subtract our vanishing point from the position of the mouse
is because we want the object to move more dramatically as it is closer to
the screen.  Relative to your perspective, does a car a mile away or a car in
your face move faster?

onEnterFrame = function() {
vpX = _root._xmouse - vanishX;
vpY = _root._ymouse - vanishY;

With this code, as Z increases, the scale gets smaller.
When the lens position increases, the scale increases.

lens + Z

lens

=

Scale

This next line of code creates a variable called scale.  This variable controls
how the object is scaled based on its distance from the lens.  Basically, the
higher the z position is, the farther away the object is.  And based on this
formula, the object gets smaller as it gets farther away.
The two lines after that simply apply the scale coordinate to the ball movieclip.
The _xscale property is set to the scale variables times 100 (its multiplied by
100 because the _xscale and _yscale properties work around 100.  Higher than
100 makes the object larger, lower than 100 scales it down.
Then the _yscale property is set as the same as the _xscale
property.

scale = lens / (lens + vpZ);
ball._xscale = scale * 100;
ball._yscale = ball._xscale;

This code is quite easy to use.  Simply create an instance of a movieclip
named ball, and copy and paste the code into the first frame of the
main timeline's Actions panel.

You could expand this 3D code to do just about anything 3D in Flash, however
if haven't the time or the space in this tutorial to teach you all of them.
So, what I'll teach you is:
Z-Sorting
Doing 3D with more than one object
Rotating 3D
Drawing lines and Fills in 3D (I'll assume you've read the section on
AS rendering).

Choosing the right language for making things

Submitting to Newgrounds effectivly

Making a game or a movie more appealing to
Newgrounds

Making Highly Effective Storys

Making highly effective Storys

Introduction

Other

The first three sections were rather clear as to what they covered.  This
section, however, is a little diffrent.  This section is a little bit of a mixed
bag, carrying alot of the advice and ideas that didn't really fit with the
Flash section.
The first lesson in this section is my game design theory.  Its basically
a brief essay covering my theory about videogames, what they mean, why
people play them, and how they compare to more conventional mediums.
The second lesson basically goes over literary elements and
suggestions for making effective stories.
The third lesson goes over how to make your movies more appealing
to Newgrounds by doing things that I've found to increase a movie's
score.
The last lesson basically just goes over how to submit well, how to leave
good comments, and choose a good icon for your game/movie.

When I look through Newgrounds, I see that sometimes the producers
of movies and games aren't familier with literary elements used to
tell effective stories.
This brief section will focus on explaining a few of the diffrent literary
elements with you, and how you can use these techniques to communicate
ideas effectivly.

Making Highly Effective Stories

Put simply, a theme is an idea expressed by a story.  Theme is the
heart and soul of any movie.  Now, sometimes comedies or other
purely entertaining movies don't have themes, but in 99% of any
art form there is some kind of theme.  Sometimes a story's theme is
called a moral.
A simple example of a theme:
Bob goes to the store and steals because he is poor and needs the money
to save his dying brother.  This helps him in the short term, but in the
future he steals and steals until he gets killed by cops, ending a dark
and meaningless life.
The theme of the story is that stealing will make you unhappy, even if you
steal to try to help someone.
When making a Flash movie, theme is very important, unless you are making
an escapist comedy.  Some complex stories, like Frank Herbert's Dune, have
100s of themes.  In a Flash, try to give at least 5 complex (sublte and overt)
themes.

Theme

Conflict is when two diffrent ideas, people, abstract concepts, groups of
people, or natural elements meet in opposition.  A conflict usually isn't
a literal "fight" where the two forces engage each other in physical
combat.
Conflict drives a story and oftentimes defines the theme.
Some very, very common conflicts are:
Good vs. Evil (Star Wars)
Liberalism vs.  Facism (Main theme is many Disney movies)
Person's dreams vs. social expectations (Citizen Kane)
Individualism vs. Collectivism (The Wrath of Khan)
Human Society vs. Nature (Moby Dick)
Sense of Ethics vs. Personal Gain (Lord of the Rings)
In your Flash movies, make sure you have a couple conflicts.  The above
conflicts are OK for your a Flash movie.  But I personally think they've been
over-used and artists should start making more original conflicts.  As a Flash
artist, try to branch out and experiment with diffrent conflicts.

Conflict

Mood is the emotion conveyed by a Flash.  Moods can give help make the
user feel immersed in the story and give them exciting and exhilirating
emotions.  Some examples of mood are: scary, sad, happy, playful, joyful,
and depressing.  Mood is the emotional message of a movie, theme is the
intellectual message of a movie.
Mood is best conveyed by the use of backgrounds, music, and powerful
imagery.
Remember that for any specific part of a movie or game, mood needs
to be consistent.  Don't put sad music with a happy story, or vice
versa.
Although so far we've mostly focused on movies, however games tend to
put a huge emphasis on mood.  For a videogame, mood is extremely
important.  If you want to learn how to use mood effectivly, study Metroid
Prime.  In all honesty, I've never seen a game that develops stronger mood.
Remember: Mood keeps your user immersed, so always make sure you give
off strong and consistent mood.

Mood

Dramatic Irony is when the viewer knows an important fact that a
character doesn't.  If you've ever watched TV, you've see dramatic
irony.  In fact, I've never seen a sitcom that's plot doesn't revolve
around this technique.  This is because dramatic Irony is a tool that
makes a movie entertaining and can help build suspense.
An example of dramatic Irony is:
Bob goes to the store to buy a $50000 diamong ring for his wife.  To
hide it, he puts it in a completly random box.  Then, his brother,
completly clueless, takes the box and throws it out.  All the while
the viewer is thinking "Don't do it, Don't do it", and this creates
suspense which can keep a viewer interested.
The classic example of dramatic irony is Romeo stabbing himself because
he thinks Juliet is dead, whilst she's really in a temporary comatose state.
Really work on adding dramatic irony to your Flash.  People tend not to
switch off your movie when you're using this technique becuase they really
don't want the inevitable to occur.  Use dramatic irony as a way to keep the
viewer entertained whilst you go for the kill with your brilliant themes!

Dramatic Irony

Characters are in almost every kind of writing.  They are the human
forces in the story.  They usually are what drives events, and they
usually are the base from which theme is developed.
Creating interesting, deep, and thoughtful characters can be the key
to a good movie.
For every character, there needs to be a solid rationale behind the way
they act, and the events of the story should change how the character
thinks and feels.  As well, how the character thinks and feels
should shape the story.
If a character had a traumatic childhood, they should reflect that.  But
avoid simple and obvious things.  People are complex, and your characters
should reflect that.
When you create your "bad guy", I'd recommend avoiding a shallow or
purely malicious character.  Make your villians complex, shaped by a deep
history, and maybe even a little bit vunerable.

Characters

Characterization is the way by which your reveal characters to your audience.
Doing it properly can be an immense challenge.  But every moment the
character is on screen shapes your audience's view of the character.
Oftentimes, I see stories that begin with camera zooming around and the
narrator saying something like:
"John had been here for twelve years.
He didn't know who he was.
Or what he was doing.  "
Although sometimes you want to talk directly to the audience, most
of the time its better to let the characters actions speak for themselfs.
The audience will be enthralled as they struggle to decipher the
motives and histor of the characters.  And also people might come
to more complex and personal ideas about the character than if you had
just told them everything outright.

Characterization

Put simply, this guy is your main character.  He's the guy who the audience
is supposed to support.  Being the protaganist doesn't neccissarily mean
being the "good guy" though.  A protaganist can be rude or criminal, but
in this sort of a story the protaganist is usually a tragic character that
the audience can sympathize with.
One of your protaganist's key roles should be to deliver theme.  Take the
following example:
Bob is nice guy.  Bob sees an old man struggling to get around.
Bob really wants to go home to play games, but he decides instead
to sacrifice his free time helping the old man.  Bob lives happily
ever after knowing how much he has helped the world.
The theme here is that helping people is a rewarding and enriching
practice.  That theme is supported by the actions of the protaganist.

Protaganist

A foil is a character who exists to provide a context by which to judge the
behavior of the protaganist.  For example, if the protaganist is clean and
orderly, the foil is messy and disorderly.  The foil makes the protaganist's
qualities clearer and more distinct.

Foil

This is the character that opposes the protaganist.  He is sometimes
coined the "bad guy" or "villian".
Over the years, I have compiled a few diffrent types of antagonists:
1.) Purely Malicious.  This guy has no ethical thought or moral dilemna.
He simply wants to kill.  In general, this is a bad type of antagonist.
2.) Insecure and Afriad.  This guy opposes the protaganist because he's
afraid of people and because he's emotionally scarred.  When done properly,
this can be a great type of antagonist.
3.)  Choose Evil over good conciously.  This character can understand
good and evil.  But he choose to be evil for personal gain or due to
inherint maliciousness.
4.)  Rejects ethics of protaganists and doesn't see himself as evil.  This is my
favorite type of antagonist.  This guy doesn't see himself as evil, he has
diffrent ethics and values.  A wonderful example of this is the Borg from
Star Trek.

Antagonist

Metroid Prime - This videogame develops mood like no other piece of art
I've ever experienced.  This has incredible environment and sound.
Star Trek (The Original Series or Next Generation) - This TV show has
great theme and has really interesting stories.  Very innovative.
Dune - This novel is just brilliant.  It develops very interesting
characters and has hundreds of layers of theme.
The Matrix - This movie has tons of motiffs and a few interesting
themes.  Its also builds mood pretty well.
Halo - Has interesting themes, a interesting story, and develops mood nicely
Very immersive FPS.
Legend of Zelda (Wind Waker and Ocarina of Time) - Not a really deep
storyline, but the environments are immersive and the graphics powerful.

One of the best ways to learn to make interesting and thoughtful stories is
to watch and read great stories.  Below I have a list of movies, games, and
books that I  highly recommend for any aspiring artist.

Movies and Books that use literary elements Well

That's basically all I have to say about making good stories.  Remember
to hit at an intellectual level with theme, and at an emotional level with
mood.
Thanks for reading, and remember to review!

I created this section because a lot of times I see programs done in Flash
that could have done much more justice in another program, or programs
made in C++ that could have been better done in Flash.
Right here I'm going to go over some various diffrent tools for creating
applications, as well as their various advantages and disadvantages.

Choosing the right programming language
for your job

The first big advantage of Flash is its mobility.  One SWF published in Flash
can be put all over the internet, and almost all internet-capable PCs will be
able to use it without installing anything on their PC.  Also, someone will
be able to play your Flash game casually while on the internet, and the Flash
Player won't hog their PC's resources.
The other advantage of Flash is the small file-size.  Because of Flash's strong
vector support, complex Flash's can be built at less than 100kb, a small
download on almost any PC.
Another advantage of Flash is the ease through which effective
visual effects can be added.  Adding original artwork to your
buttons and making Flashy custom animations are both a
breeze with Flash.

Flash: Advantages

The biggest disadvantage to Flash is speed, and this one is a big deal.  In all
of my efforts, I haven't been able to render more than 200 polygons in Flash
without making the framerate drop too low.  Although ActionScript 3.0 looks
to be much faster than 1.0 or 2.0, Flash is quite the turtle compared to C++
(Many C++ codes can render billions of polygons at a very nice framerate).
Another big disadvantage that a lot of people don't realise is Flash's compiler.
To be honest, it's very, very bad.  The Flash compiler won't tell you if you're
referencing a non-existant object (so one little typo, everything stops working,
and you have no idea why).  Also, the Flash compiler has very few special
features that make your life as a programmer a little bit easier.
One other disadvantage to Flash is access to computer resources.  A Flash
SWF cannot move or delete fies on the users computer, and it cannot directly
work with system memory or the hard-drive.  In fact, there is only one way to
store and retrieve data on the user's computer, and this is by using a
sharedObject, which

Flash: Disadvantages :<

Assembly

Assembly is the language your computer speaks.  Basically one line of assembly
code is the same as one line of 1s and 0s.  Its very, very hard and extremely
time consuming to write, but it gives you an unrivaled level of runtime speed
and precision.

Native C++

A lot of Windows Apps are written in Visual C++, like the Flash maker or the
Flash Player.  Native C++ is quite the speed-demon, and it has tools that make
creating windows form a breeze.  The biggest disadvantage is that it is
difficult to really distribute over the internet, and viruses can be written in C++.
I personally recommend Microsoft's Visual C++ or Bloodshed's Dev-C++.

Visual C++

CLR (C#, BASIC)

CLR is a virtual machine (kinda like the Flash player) made by Microsoft.  Its a
pretty good compromise between speed and simplicity of use, so I'd definitly
recommend you give it a shot.  The CLR machine handles a lot of challenging
problems in programing like opening/writing to a file and memory management
with built in functions.

Visual Basic

Java

Java is similar to Flash in that it runs via a virtual machine on the user's
computer.  Although this makes Java relativly slow, it is still faster than Flash
(but this diffrence might be made much smaller by the release of Flash 9).
The Java virtual machine however is less well distributed than the Flash Player.

ActionScript

Flash is quite slow as it does not write code directly for your processor, it
writes code for the Flash Player.  But what it loses in speed it makes up for
in portability.  According to Adobe, over 97% of households have Flash
Player 7.  A single Flash can run on any OS that runs that version of Flash.

0

+

Portability

Speed

Assuming your creating a PC application, you have 3 real if you want good
3D performance:  DirectX, Managed DirectX, and OpenGL.
Unmanaged DirectX is what the majority of your favorite PC games use.  This
library has a lot of nice functions like loadMesh() that make your life pretty
good.  A word of caution: DirectX is built for Windows.  You can get it to work
on Linux if you have a Windows emulator, but this has performacne
rammifications.
Unmanaged DirectX is built for C++, and as such you'll have to work
with the somewhat challenging syntax of that language.
Managed DirectX is what I'm using a lot of right now.  Its built for
C# of Visual Basic, and its pretty good.  It won't give you the performance
of unmanaged DirectX, but it will still allow you to make pwnage 3D games.
OpenGL will work on all major Operating Systems, so consider this if you
want to have a really broad range beyond just the Windows Community.

The Right tool for making Graphics

My first submission to Newgrounds was blammed.  The submission
was a game called "Attack of the Blue Eagles".  It was a basic FPS
where the user had to fire to defeat an onslaught of murderous
Blue Eagles.
The game had a starting cut-scene, an instructions sheet, a kind of
fun, buggless gameplay scheme, and passable graphics.  I figured
it would do well on Newgrounds, but i was wrong.
The fact is that looking back on it, that game could've gotten a
decent score.  But there were alot of silly and easily fixable bad
decisions I made that took a huge beating on my score.
My goal in this tutorial is to help ensure that you don't let a few
bad decisions ruin weeks/months of hard work.   My recommendations
are listed from most to least important.

Making a game or movie more appealing to
Newgrounds.

When you submit a movie to Newgrounds, the first people who see it
will probably be people who have blammed and protected a lot of
movies.  They're looking to decide the fate of your submission quickly,
and if they get a bad first impression, they'll probably go ahead and vote
with-out watching the entire thing.
So that brings me to my point: Play your best cards first.  Make your first
few seconds of viewing time the most visually stunning.  Show your user
that you are delivering a product that is worth their time.
I'm not encouraging you to make awesome intros to Flash movies
and then not follow it up with a great movie.  All I'm saying is that
a movie or game with a low quality beggining or menu screen won't be
taken seriously.
The irony is that when I was making this tutorial, my friend said no one
would even read the content of the tutorial because they'd just look at
my ugly menu.  I tried to improve my menu, but if I failed then you either
have disproved me or I have made pretty menus :)

1. Don't save the best for last.  The first
Impression might be the only impression.

When an experienced Newgrounds user is looking through the Portal,
few things say "n00b" more than a preloader that doesn't work, or even
worse, the lack of a preloader entirely.
No one likes to see a white screen whilst the movie loads or start using a
movie before its fully loaded!  (Playng a partially loaded game is not a
good experience).
So, for your movie, make sure you have a  preloader, and test it out to make
sure it work (go to test movie, and then on that SWF, scroll down to simulate
download on the file menu).

2. Make sure you have a working preloader

I have very, very bad handwriting in real life too.  I've seen a lot
of submissions that leave a very bad first impression because the
author used the brush tool to do some of the words early on.  The
text tool exists for a reason :)

Don't use your own handwriting for a menu unless you are an artist and know
how to pull it off. Not many people can write words with the brush or pencil
tool and make it look professional.
In fact, one major reason my first submission was blammed was that I used
my own handwriting in the menu.  Btw, below is a sample of my "good"
handwriting.

3.  Don't use your own handwriting

On about my fifth day of doing Flash, I discovered the shape tween, and
I loved it.  Soon all of my (still very n00by) movies used shape tweens
for all major transitions.
The shape tween is very cool, and if one uses it in moderation combined
with frame by frame then it can really bring alot to a movie.
However, do not overwhelm your movie with shape tweens for a few
reasons:
1.  Experienced blammers see poor use of shape tweens as a
tell-tale sign of a n00b.  People might not judge your movie
fairly.
2.  Alot of times changing one object to another looks better (and more
artistic) if you use frame by frame.

4.  Don't abuse the Shape Tween

This problem has gotten so bad among n00bs on Newgrounds that
sometimes when I cruise the portal, I turn my speakers off.  Now,
don't get me wrong, music can add alot to your Flash, but alot of times
I just see a movie with drums n' bass music that does nothing for the
movie but ballon the file-size.
The key to adding music is to ask yourself: "What do I want music to
bring to my flash?"  Generally, music's best use is to build mood.  An
example would be a slow melodic song that builds up the emotion in
a sad movie.  Or maybe a Psybot song to build intensity and give a
sense of thrill to a swift and fast moving game.
On some occasions music can serve as an eerie and ambient
motiff.  For example, if a music piece plays in the beggining when
a man's dad saves him from an alien and losses his life.  And then when
he grows up and gives his life for mankind, the same music piece plays,
which will revoke the memory of he himself being saved in the viewer's
minds, giving the story a feeling of absolution and completion.
But, don't just use music because you think its normal.  Put it there for a
reason!

5.  Don't throw in pointless music

<p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><b>Keeping your filesize small is essential to keeping your audience</b></font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><b>happy with you and your movie. &nbsp;No one wants to wait 5 minutes to</b></font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><b>watch a movie with 200kb of vector graphics and a massive, </b></font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><b>uncompressed song. &nbsp;</b></font></p><p align="justify"></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><b>And after waiting that long, people might be a little less forgiving</b></font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><b>when voting on your movie. &nbsp;When you go to your movie&apos;s publish</b></font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><b>settings, go down to select a bitrate. &nbsp;My advice is to spend a couple</b></font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><b>days getting the audio down to the right settings by testing all</b></font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><b>of the diffrent bitrates. &nbsp;If you want a detailed explination on this, </b></font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><b>go to the Publishing lesson in the Flash section. &nbsp;</b></font></p><p align="justify"></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><b>Also, if you&apos;re making a long movie and you have alot of vectors, </b></font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><b>you might want to consider taking steps to optimize your graphics. &nbsp;</b></font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><b>All this is covered in detail in the Publishing lesson of the Flash section. &nbsp;</b></font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><b>But at the time being I advise you to look into a product called </b><a href="http://www.erain.com/products/Optimaze/"><b><i>Optimaze. </i></b></a><b>&nbsp;</b></font></p><p align="justify"><font face="Verdana" size="12" color="#000000" letterSpacing="0.000000" kerning="1"><b>Its really good if you&apos;re making movies with complex vectors. &nbsp;</b></font></p>

6.  Optimize your music and graphics

When an experienced blammer/protector sees an icon on your Flash (especially
a nice one), its an indicator this project is important enough for you to spend
5 minutes drawing an icon.
I don't think this will raise/lower your score a whole lot, however it will really
increase your views.  Think about it, when you go do a search on Newgrounds,
do you go for the Flash's with an icon to entice you, or do you go to the Flash's
where all you can see is the title and author's comments?
Also, having an icon will make it more likely for you to be entered into
a collection, which will dramatically increase your views.

7.  Submit with an icon

Nothing says lazy like a broken play button.  If something fundamental like
a play button, a stop button, or the preloader is broken, people will assume
you didn't try very hard, and will just blam it.
So that brings me to my next point, test your movie multiple times before you
upload it to Newgrounds.  This tutorial has been beta-tested by me and other
people 100s of times before I uploaded (although I didn't read the whole thing
every time I did a test).
So remember, before you upload, do beta tests.  Sometimes its hard to beta
test your own project, since you only see what you want to see, not
what's really there.  My advice is to get a few friends to run some
beta tests for you.
A few days of beta testing can change a 1.9 submission to a 2.5 submission.

8.  Make sure Everything works

And those are my 8 dos and don'ts to making Flashs that do well on
Newgrounds.  Good luck, review and vote this tutorial.  There is only
one more section left before this tutorial ends.  If you've skipped some
of this tutorial, I encourage you to go and read what you've missed, since
this tutorial is very comprehensive, and it would be a shame if you missed
some of it :(

Although it might seem that your work is done when you're finished with
your flash, in many ways the really fun part has yet to begin.
When you're filling out the submission form for Newgrounds, you can give
your submission a title, a brief summary for if it gets featured, comments
to be seen by your user, and more!  Once you've uploaded your submission,
you'll get reviews which you can respond to.
In this lesson I will give you my advice on filling out the submission
form to give your movie its best chance, writing good comments, as
well as responding to reviews.
If you followed the Universal Tutorial in a linear fashion from the beginnings
of Swift 3D to here, I commend you!  This lesson is the last lesson in this
long tutorial.  If I have helped but a single n00b to become a better Flash
maker, then the 3 months it took to write 700+ pages were all worth it :)

Submitting to Newgrounds Effectivly

If you don't know what an SWF is, I encourage you to go to the Publishing
concept in the Flash section.
Once you know the location of the SWF you'd like to upload, go to the
next page.

Before I begin to explain submitting a Flash, its important you know that you
can only submit files in the swf format that end with .swf  An Swf file looks
like this in windows explorer:

The first option you have isn't really a choice.  To submit to
Newgrounds, you have to accept Newground's legal agreement.
Basically the agreement states some of the obvious, like that you
can't expect Newgrounds to protect you in court if you make a
copyright infringement.
Also you're agreeing that you're 18 years or older.  If you're not 18 years or
older, my understanding is that you'd have to have a legal guardian or 18
year old submit for you, but I'm not really sure.  Really this agreement is all
standard legal stuff, Newgrounds isn' putting anything unreasonable in there.
So check that box and continue downward on the submission form.

Once you go to that page, you'll realise you have a whole slew of submission
options.  Luckily for you, I'll go over the options one by one.

Newgrounds Flash Submit Page

Newgrounds Flash Submit Page

The first step to submitting your Flash is to get to the Flash submit page.
The link below will take you to it:

These next options are pretty self explanitory.  The first box lets you select
what file you want to have uploaded.  The next option down lets you
type in your title.  Now what your title is all depends on the subject of
your Flash, but I'd seriously avoid things along the lines of "n00b movie",
"my first flash", or anything that doesn't really suggest what the movie is
about like "LOLWTFBBQ".  The next option down lets you select the size
of your movie.  Now, no matter what size the SWF you exported was, it'll be
rescaled to meet the dimensions of whatever numbers you enter for Movie
Width and Movie Height once its on Newgrounds.  So make sure you enter
numbers there that are the same as the size of the movie you exported.
The next options let you choose movie or game/interactive.  The rule I use
to determine which one it is in iffy scenarios is if it doesn't play the same way
every time, its game/interactive.  If its the same way every time, its a movie.

The next part lets you rate your Flash on various content scales.  You can
rank your flash in each category as "none", "mild", or "Excessive".
For Nudity, I'd check moderate if your flash includes depicitions that could
be considered mildly graphic or show a lot of skin, but doesn't include
genitalia.  If you have full nudity or some explicit graphic representation,
check excessive.  Not doing so could result in account deletion or having
your Flash marked for administrative review.

For violence, I'd say mark none for weak cartoon violence that includes
no blood or injury.  If someone punches someone else or kicks them (
but not as to cause serious injury) then none is an appropriate rating.
If you have a form of violence that involves a gun, I'd mark your violence
as moderate.  Also if you have any blood, injury, or vehicular destruction
I'd go with the moderate rating.
If you have explicit depiction of organ displacement or excessivly graphic
blood, I'd mark your flash as excessively violent.
Audible Explicit Language is a rating of the words that are expressed in
an auditory manner (vocally spoken words).  If your language
is acceptable for children's TV, I'd go with none.  If you use
words like *amn, *ss, *uck and your audio would be allowed
and predominantly unbleeped on network TV.  If your audio sounds
like an old episode of South Park (the new ones don't seem to have as
much cursing), than I'd mark your Flash as having excessive Auditory
Explicit Language.  If you use f***, s***, or excessive sexual and or
racial derrogatory language, I'd mark your Flash as having excessive
auditory explicity language.
Textual Explicity Language should follow the same rules.

For Adult themes, I'd say none if you have no drugs, no sexual innuendos,
no sexual comments direct or overt, no references to conduct of a sexual
or drug related nature, and no reference to or graphic depiction of
disturbing or grotesque events.
I'd say moderate if you have a handful of sexual innuendos, a mildly
grotesque event, or some vague/indirect reference to drug use such as
"I couldn't remember anything after 1969".
Excessive adult themes would include porn, hentai, explicit drug use,
or something very disturbing or grotesque.  If your movie has one of the
aforementioned qualities and you mark your Flash as having no adult
themes, your Flash will probably be marked for adminastrative
review and your account may be deleted.
In conclusion, be very careful when marking your Flash.  If you
mark it as more excessive in objectionable content than it really is,
some people may not see your Flash who would have really liked it.
However if you underestimate how much objectionable content your
Flash has, you could expose someone to something they would rather
not see, which is very unethical.
So be very wary when filling in those boxes.

In the collection shown below, the set of words that comes after the title
is the brief description.  Try to make you brief description a very broad
summery of what your Flash is and has to offer.  Leaving a good brief
description increases your chances of being featured on the frontpage or in
a collection.

The next option lets you leave a brief description.  If your movie is featured
in a collection or on the frontpage, users will see this brief description

What you leave as your comments can very important to how your flash
does and is received, since it is probably the first thing anyone will see.
Due to their importance, I have devoted the next few pages to explaining
how to write good comments.

The next option we have is called comments.  Usually a few paragraphs long,
your comments will be seen below your submission, underneat the words
"Author's comments:"

Whenever I see a movie on Newgrounds with no comments or simply the
word "none", I am honestly quite stunned.  I cannot see how an artist
finds no use for being able to communicate 7 lines directly to everyone who
watches the Flash.  To me this is an invaluable asset.  A comment can house
a brief note of appreciation for Newgrounds or contributors, a disclaimer, or
instructions for using the submission.  In the few following pages, I will teach
you a couple things I know about writing comments.
Below is a comment which is BAD:
"If you don't like sonic tutorials don't vote.  And don't blam because
its tutorial.  If you vote 5 I'll make more.  oooh yah and if u want to
replay the movie, use the right-click menu"
Contrast that poor comment with this stellar comment:
"Best viewed in 1024 resolution, requires Flash player 8.  Thanks to everyone
who's supported me and thanks to Newgrounds for the front page.  I hope
you enjoy playing this :)"

Writing Good comments for your submission

This one is pretty basic.  Don't tell people not to vote, becuase they don't
care if you tell them not to vote.  They'll vote anyway, and they'll most
likely vote very low because they probably saw you telling them not to
vote as insulting or threatening.
This also goes for telling people not to blam becuase your movie is
privileged in some way.  It's elitist and alienates your audience.  Some
examples sare saying: "Don't blam because I'm 10 years old" or
"Don't blam because this is a tutorial".
Rather you should remind people to give you a fair chance, a not
to have prejudice against you.  An example would be:
"Even if you're not partial to tutorials, I really hope you give
this one a try, you might just like it"

1.  Don't tell certain groups not to vote

Apart from always phrasing every statement in a kind a courteous manner,
you should thank your audience for taking the time to watch your movie/
play your game.
This is pretty self-explanitory, so there isn't a whole lot for me to say.
Basically I just want to remind you to always use kind, respectful, and
courteous comments.

2.  Always use positive Language

When I see "I was bored" or "This took me 5 days" in the comments, I'm
given a very bad first impression.
Even though I have not seen a single moment of your Flash, I still have a very
low expectation.  And quite frankly, a lot of the people who see your Flash
will be experienced blammers/protectors, who are looking to quickly give
your Flash a score, and get the blam/protect point.  Now this isn't true of
most people, but some may even vote 0 in the first couple of seconds of your
flash simply because your comments make it look very unlikely that you spent
time on the Flash.
People will think "If he spent time on the Flash, why couldn't he
spend a few minutes on the comments".  So that is why you have to
make sure your comments convey the idea that you worked hard
on your Flash, and that it has a good chance of being protected.  If
you suggest in comments that you put time into the Flash, people will
come to your Flash with an open mind and a good first impression, willing to
see what your work has to offer.  So instead of saying "I was bored", say
something like "This is a recent project of mine made for..."

3.  Make comments that suggest you spent time
on your Flash

The small picture to the left of
"Play This Game" is the icon.  If
this was featured, the icon would
appear next to the description.

To make your icon, I'd advise using fireworks or Photoshop, however
MS paint might suffice.  Just make sure your picture is 46 by 46 pixels
and is non-animated GIF or PNG.

The next option you have is to upload an icon with your Flash.  This icon
will appear by the Flash on its own page and will also appear by your
Flash if it is featured in a collection or is on the front page.
In my opinion, you always want to upload an icon.  It makes it more likely
to be featured on the front page or in a collection, and it also shows people
watching your Flash that you could spare 5 minutes to make a decent icon,
and thusly spent some time on the actual Flash.

There are a few other companies which pay to host your Flash games, but none
of them have the reputation or consistency of Armorgames.  (They seriously
didn't pay me to say that).

Most Recent Armorgames Contest

The next (and last) thing you have to do is credit your audio.  The process
for crediting your audio is pretty well explained in the form, all you have to
do is fill in the audio's ID number or for a non-audio portal artist, give the
artist's name and url.
Before I finish my topic on submitting to Newgrounds, I have to mention
one thing-sponsorship.  If you make a good Flash, you can make some decent
money at it.  There are a wide variety of sites that will pay a significant sum
to have your game link to their site, and have the right to host your game on
their site and affiliate site.
As you probably have seen, this tutorial is sponsored by Armorgames,
and they pay a rather significant sum for hosting rights and such.
Anywhere from $50 - $5000 (amounts may vary with time) is typical
payment.

If you've read this tutorial from start to finish, and have now reached the
end, I commend you for reading this entire tutorial.  If you have just
skipped around and have reached the end, I encourage you to read through
what you have skipped, since there is a lot of content here in this tutorial.
Please vote and leave reviews.
Its sad this tutorial must come to an end, but like Q said, "All good things
must come to an end".
If you enjoyed this tutorial, be sure to put it in a review or vote.  I surely
enjoyed the months spent making this!
I hope I have helped you work towards a better understanding of Flash,
Swift, 3D, and everything else I may have covered.

Well I guess this is the End...

Congrats, you found the trivia section for the Universal Tutorial by entering
a code into the goto Page bar.  Well, here's your trivia:
-This tutorial began pre-production after I submitted The Actionscript Tutorial.
Its purpose was to become equal or better than Ultimate Tutorial 2 in scope
and quality.  This goal was the result of a review I got that said my tutorial
was "good, but no ultimate tutorial 2"
-This tutorial originally did not have the four sections it has today.  It once had
General Flash, Graphics and Special Effects, FruityLoops, C++, swift 3d, and
a code gallery.
-This tutorial was put on Kirupa for showcase and critique before
hitting Newgrounds.  There it was most frequently described as
"awful", "hideous", and "horrible".
-This tutorial has taken 5 months of intense (hours a day) work to complete.

Trivia for the Universal Tutorial

741

I am king of the morlocs!

Production Notes

If you're here, its because you entered "betatest" into the goto page bar.
I created this page to acknowledge those who took many hours of their time
to read, and offer insightful critique and analysis on this tutorial.  The people
and groups are listed below:
JohnFn001(Grant)
Members of the Newgrounds Community
Members of the Kirupa Community
Members of the Trees for Lunch Community
Now you might be thinking, "Beta testing doesn't deserve recognition",
because all you're doing is playing a Flash, which many people do for fun.
Although that may be true of games, this is not a game, this is a tutorial.  You
do not play a tutorial, you read and learn.  And is all people know, learning
and reading are painful, undesirable, and torturous and should be avoided
at all costs.
So that is why I have choosen to recognize my beta-testers, for they have had
to bare the great burden of learning so that this tutorial can come to you error
free and highly refined.

First Full Movie - This has possibly the worst graphics and animation ever made,
yet I find it quite funny to this day.  Quite the testament to the fact that n00bs
love shape tweens.

First Flash - Not a whole lot to say about this.  A horribly drawn duck getting
shot at a convenience store.

If you're here, its because you entered "eagle" into the goto page bar.  Because
I pretend you care, I've decided to put here links to my very first Newgrounds
submission and my first flash, as well as my first finished flash movie.

Thief...

Use of this SWF is not authorized for this
domain. 

ActionScript [AS1/AS2]

Frame 1
stop(); bob.onEnterFrame = function () { PercentLoaded1 = (_root.getBytesLoaded() / _root.getBytesTotal()) * 100; if (PercentLoaded1 > 0.1) { _root.play(); } };
Frame 2
stop(); _root.stop(); _root._quality = "best";
Frame 3
play(); mouseL = new Object(); mouseL.onMouseWheel = function (scroll) { scrollNum = scrollNum + (scroll / 3); if ((scrollNum > 3) and (scrollNum < 800)) { _root.gotoAndStop(scrollNum); } }; Mouse.addListener(mouseL);
Frame 4
stop(); function itemHandler1() { gotoAndStop ("main"); } function itemHandler2() { gotoAndStop ("swift"); } function itemHandler3() { gotoAndStop ("flash"); } function itemHandler4() { gotoAndStop ("code"); } function itemHandler5() { gotoAndStop ("grounds"); } page1 = "main menu option"; page2 = "swift 3d swift Swift 3D swift 3d electric rain swifting swift 3D"; page3 = "creating objects editors"; page4 = "scene editor"; page5 = ""; page6 = "scaling rescale scale"; page7 = ""; page8 = ""; page9 = "prerender"; page10 = ""; page11 = ""; page12 = ""; page13 = "rename"; page14 = "hierarchy hierarchies rigging"; page15 = "text 3D"; page16 = "bevel styling b"; page17 = ""; page18 = ""; page19 = "save model saving mesh category"; page20 = "saved model"; page21 = "lathe editor"; page22 = ""; page23 = "symmetry radial linear"; page24 = "cup lathe"; page25 = ""; page26 = ""; page27 = "pencil tool"; page28 = "line drawing straight"; page29 = "add point tool shape tool"; page30 = ""; page31 = "zoom"; page32 = ""; page33 = ""; page34 = ""; page35 = ""; page36 = ""; page37 = ""; page38 = ""; page39 = "sweep angle"; page40 = "sweep"; page41 = "radial segment"; page42 = ""; page43 = ""; page44 = ""; page45 = "extrusion editor extrude"; page46 = ""; page47 = "stacks"; page48 = "add point shape zoom close"; page49 = ""; page50 = ""; page51 = ""; page52 = ""; page53 = ""; page54 = ""; page55 = ""; page56 = ""; page57 = ""; page58 = ""; page59 = ""; page60 = ""; page61 = ""; page62 = "beveled"; page63 = ""; page64 = ""; page65 = ""; page66 = ""; page67 = ""; page68 = ""; page69 = ""; page70 = ""; page71 = "advanced modeler full 3D complex irregular"; page72 = ""; page73 = ""; page74 = ""; page75 = "polygon"; page76 = "mesh model polygon"; page77 = "edit mesh"; page78 = ""; page79 = "move free tool"; page80 = ""; page81 = "rotate free"; page82 = ""; page83 = "scale uniform"; page84 = ""; page85 = "extrude normal extrusion"; page86 = ""; page87 = ""; page88 = "single vertex selection tool"; page89 = ""; page90 = "soft selection tool red"; page91 = "green vertext red vertex "; page92 = "exponential parabolic"; page93 = "form factor"; page94 = "edge slection line lines edges"; page95 = "face selection faces group of polygons surface group selection entire mesh"; page96 = "advanced modeler options"; page97 = "enable mouseover ignore backfaces enable multiselect"; page98 = ""; page99 = ""; page100 = ""; page101 = ""; page102 = "duplicate duplication copy"; page103 = ""; page104 = ""; page105 = "delete selection break out selection break apart seperate object breaking"; page106 = "move uniform rotate uniform scale uniform extrude"; page107 = "subdivide subdivision polygon count divding mesh complex subdividing"; page108 = "balance mesh flat 3 face flat 4 face smooth exclude border smooth include border"; page109 = "inreasing roundness decreasing roundness"; page110 = "edge divide edge turn edge division edge"; page111 = "edge turn edge"; page112 = ""; page113 = ""; page114 = ""; page115 = "manipulating shapes shape manipulate"; page116 = "trackball rotation rotational trackball"; page117 = "pivot point trackball"; page118 = "restrict trackball restrictions"; page119 = "manually inputing rotation angles precision rotation options"; page120 = ""; page121 = ""; page122 = "Adding preset textures to shapes materials library textures library materials gallerygallery textures adding present materials to shapes adding preset materials to meshes addingmaterials to meshes Adding materials to objects adding textures to objects"; page123 = ""; page124 = "surface group advanced material advanced texture adding two materials to objectadding two materials to mesh adding more than one material to mesh"; page125 = ""; page126 = ""; page127 = ""; page128 = ""; page129 = "texture mapping bitmap mapping material mapping"; page130 = ""; page131 = ""; page132 = ""; page133 = ""; page134 = ""; page135 = "Creating new textures creating new materials creating custom materials"; page136 = ""; page137 = ""; page138 = "highlight strength highlight size ambient reflection color"; page139 = ""; page140 = "color pattern material pattern"; page141 = "gradient pattern procedural gradient gradient color"; page142 = "epic masterpiece"; page143 = "material texture custom texture noise distortion"; page144 = "beutiful stunning genius"; page145 = "brilliant intelligent superimposed onto cube"; page146 = ""; page147 = ""; page148 = "Adding preset lighting or environemnt preset environemnt gallery lighting galleryenvironment"; page149 = "lighting scheme"; page150 = ""; page151 = "environments"; page152 = ""; page153 = ""; page154 = ""; page155 = "custom lighting"; page156 = "lighting trackball lighting"; page157 = ""; page158 = "save lighting saving lighting scheme"; page159 = "stage lighting scene lighting"; page160 = ""; page161 = ""; page162 = "scene lights scene light types"; page163 = ""; page164 = "light hierarchy light hierarchies embedding lights"; page165 = ""; page166 = ""; page167 = ""; page168 = "Custom camera and view custom viewport custom view viewport advanced viewport optionsscene camera advanced camera"; page169 = ""; page170 = "perspective viewport viewport options"; page171 = "texture smooth shaded flat shaded wireframe viewport rendering"; page172 = ""; page173 = "show reference grid show hidden items show grid"; page174 = "draw back faces reset view frame all frame all objects"; page175 = "maximize show all viewports"; page176 = "the custom camera free camera target camera"; page177 = ""; page178 = ""; page179 = ""; page180 = ""; page181 = ""; page182 = ""; page183 = "animation animating in scene editor animating objects"; page184 = "gallery animations preset animations"; page185 = ""; page186 = ""; page187 = "timeline animation"; page188 = ""; page189 = ""; page190 = ""; page191 = ""; page192 = ""; page193 = ""; page194 = "orient to path motion path"; page195 = ""; page196 = ""; page197 = ""; page198 = "exporting ravix emo electric motion"; page199 = "vectors vs. rasters raster vector"; page200 = ""; page201 = ""; page202 = ""; page203 = "raster vector appearences"; page204 = ""; page205 = ""; page206 = ""; page207 = "exporting options export options"; page208 = "file formats output options target file type tif png jpg bmp tga"; page209 = ""; page210 = ""; page211 = ""; page212 = ""; page213 = "vector rendering options ravix options"; page214 = "swft swift importer swift 3dimporter eps svg"; page215 = "filelevel"; page216 = "curve fitting detail level"; page217 = "combine edges and fills"; page218 = "edges and fills edge fill"; page219 = ""; page220 = ""; page221 = ""; page222 = "fill options"; page223 = "cartoon single color fill low color detail low file size"; page224 = "cartoon average color fill average detail"; page225 = "cartoon two color fill"; page226 = "cartoon four color fill"; page227 = "cartoon full color fill"; page228 = "area gradient shading"; page229 = "mesh gradient shading high quality high filesize"; page230 = "file size file-size diffrent fill types file size study"; page231 = "include specular highlights specular levels glints"; page232 = "include reflections include shadows what are shadows"; page233 = "edge options edge rendering"; page234 = "include edges outlines"; page235 = "include hidden edges no hidden edges"; page236 = "detail edges"; page237 = "line weight line color line size"; page238 = ""; page239 = "importing swift 3d"; page240 = ""; page241 = "quiz and knowledge reinforcement siwft 3d siwft quiz swift 3d quiz"; page242 = ""; page243 = ""; page244 = ""; page245 = ""; page246 = ""; page247 = ""; page248 = ""; page249 = ""; page250 = ""; page251 = ""; page252 = ""; page253 = ""; page254 = ""; page255 = ""; page256 = ""; page257 = ""; page258 = ""; page259 = ""; page260 = ""; page261 = ""; page262 = ""; page263 = ""; page264 = ""; page265 = ""; page266 = ""; page267 = ""; page268 = ""; page269 = ""; page270 = ""; page271 = ""; page272 = ""; page273 = ""; page274 = ""; page275 = "Flash flash menu"; page276 = ""; page277 = "basics creating documents create getting flash buying flash"; page278 = ".fla .swf"; page279 = "flash document"; page280 = ""; page281 = "flash timelines"; page282 = "core timeline concepts"; page283 = ""; page284 = "types of frames frame types keyframe holder"; page285 = "plain frame regular frame normal frame frames"; page286 = "empty keyframe blank keyframe"; page287 = "blank regular frame"; page288 = ""; page289 = "layers"; page290 = ""; page291 = ""; page292 = ""; page293 = ""; page294 = ""; page295 = ""; page296 = "playhead"; page297 = ""; page298 = "play(); stop(); gotoAndStop();"; page299 = "gotoAndPlay(); nextFrame(); prevFrame();"; page300 = ""; page301 = ""; page302 = "lock layer hide layer outlines"; page303 = "masking mask masks"; page304 = ""; page305 = ""; page306 = "tweens tweening automation"; page307 = ""; page308 = "motion tweens"; page309 = ""; page310 = ""; page311 = ""; page312 = "shape tweens"; page313 = ""; page314 = ""; page315 = "scale"; page316 = "basic easing"; page317 = ""; page318 = "advanced easing"; page319 = ""; page320 = ""; page321 = ""; page322 = ""; page323 = ""; page324 = "motion guides"; page325 = ""; page326 = ""; page327 = ""; page328 = "shape hints"; page329 = ""; page330 = ""; page331 = "toolbar flash toolbar flash tools flash toolset"; page332 = ""; page333 = "Introduction to computer science computers"; page334 = "processors memory ram"; page335 = ""; page336 = ""; page337 = ""; page338 = "binary machine language machine code"; page339 = ""; page340 = ""; page341 = ""; page342 = "assembly assembler C high level low level"; page343 = "c++"; page344 = ""; page345 = "the programming procedure"; page346 = ""; page347 = ""; page348 = "_xscale _yscale _height _width"; page349 = "_rotation"; page350 = ""; page351 = ""; page352 = "properties"; page353 = ""; page354 = "_visible _quality _x _y"; page355 = "_xscale _yscale _height _width"; page356 = "_rotation"; page357 = "_xmouse xposition yposition _ymouse _alpha transparency"; page358 = "Giving a symbol linkage linkage identifier"; page359 = ""; page360 = ""; page361 = ""; page362 = "linkage and instance names"; page363 = ""; page364 = ""; page365 = ""; page366 = ""; page367 = ""; page368 = ""; page369 = "Actionscript AS Actionscripters"; page370 = "syntax semi-colon ; statements"; page371 = "{} curly brackets"; page372 = "assign assignment operator = "; page373 = "add addition operator +="; page374 = "subtract subtraction operator -="; page375 = "multiply multiplication *= divide division operator /="; page376 = "increament and decreament ++ =="; page377 = "indexOf() substring split()"; page378 = "Arrays lists"; page379 = "declare variable decleration formal decleration formal variable decleration strong data typing"; page380 = ""; page381 = ""; page382 = "data types typing type"; page383 = "number int uint integer type"; page384 = "string type strings text data"; page385 = "split() indexof() string functions string methods"; page386 = "charAt() length"; page387 = ".toLowerCase() .toUpperCase() lower case upper case lowercase uppercase"; page388 = "subString SubString substr"; page389 = "array type array data type"; page390 = ""; page391 = "indexing"; page392 = "push() array.push() array functions array methods"; page393 = "unshift() splice() splicing"; page394 = ""; page395 = "shift() pop() slice() poping shifting slicing"; page396 = "concat() sort() concatinating concatenating sorting alphabetizing"; page397 = "boolean"; page398 = "while loop"; page399 = "hierarchies dot syntax hierarchy rigging embedding"; page400 = ""; page401 = "_root root .root ._root"; page402 = "_global global ._global global variables"; page403 = "_parent parents"; page404 = "this this. prototype"; page405 = "with with() myLine.lineTo(40, 200)"; page406 = ""; page407 = "loops looping loops and conditionals"; page408 = "== equals comparison comparing"; page409 = "!= >= <="; page410 = "key.right key.left key.isdown"; page411 = "else }else{ if... else else if"; page412 = "ternary ?"; page413 = "switch case switch() case:"; page414 = ""; page415 = "for loop repition"; page416 = "iteration iterative loop looping"; page417 = ""; page418 = "while loop"; page419 = ""; page420 = ""; page421 = ""; page422 = "handlers onEnterFrame = function() { onLoad"; page423 = ""; page424 = "events event handling"; page425 = "onload load mousedown onmousedown"; page426 = "mousemove keydown"; page427 = "function"; page428 = ""; page429 = "args arguements"; page430 = ""; page431 = ""; page432 = ""; page433 = "functions that return values eturning"; page434 = "recursion worthless junk"; page435 = ""; page436 = ""; page437 = "actionscript rendering"; page438 = "hexidecimal base 16 0x"; page439 = ""; page440 = ""; page441 = ""; page442 = ""; page443 = ""; page444 = ""; page445 = "drawing curves curveto lineto"; page446 = ""; page447 = "filters"; page448 = ""; page449 = "webcams microphones"; page450 = ""; page451 = ""; page452 = ""; page453 = ""; page454 = ""; page455 = ""; page456 = ""; page457 = ""; page458 = "OOP object oriented programming"; page459 = "creating a class"; page460 = ""; page461 = "import #include"; page462 = ""; page463 = ""; page464 = ""; page465 = ""; page466 = ""; page467 = ""; page468 = "flash beyond the basics"; page469 = "text"; page470 = ""; page471 = "static textbox"; page472 = "dynamic text"; page473 = ""; page474 = "input text"; page475 = "music audio"; page476 = ""; page477 = ""; page478 = "music linkage"; page479 = "music actionscript"; page480 = ""; page481 = ""; page482 = ""; page483 = ""; page484 = "timeline audio timeline music sound effects"; page485 = ""; page486 = ""; page487 = ""; page488 = ""; page489 = "panning sound"; page490 = ""; page491 = "psybot johnfn johnfn001 a new hope tropick into the white"; page492 = "trig trigonometry and physics"; page493 = "velocity"; page494 = ""; page495 = "friction"; page496 = ""; page497 = "triangles"; page498 = ""; page499 = "angles"; page500 = "sine sin()"; page501 = "cosine cos()"; page502 = ""; page503 = ""; page504 = ""; page505 = "arctangent atan()"; page506 = ""; page507 = ""; page508 = "gravity"; page509 = ""; page510 = ""; page511 = ""; page512 = ""; page513 = ""; page514 = ""; page515 = "hittest collision detection hitest() hittest()"; page516 = ""; page517 = ""; page518 = ""; page519 = ""; page520 = ""; page521 = ""; page522 = ""; page523 = ""; page524 = ""; page525 = ""; page526 = ""; page527 = "programming debugging scenarios greatest assets writing program unlike"; page528 = "fatal error bug common error regular movieclip"; page529 = "error handler common bracket opening open close closing brace paranthesis"; page530 = "logic error"; page531 = "common error mistake"; page532 = "confusing comparison assignment and"; page533 = "incorrect hierarchy reference referenced _root"; page534 = "trace ide flash development environment ultimate weapon output window"; page535 = ""; page528 = ""; page529 = ""; page530 = ""; page531 = ""; page532 = ""; page533 = ""; page534 = ""; page535 = ""; page536 = ""; page537 = ""; page538 = "stub functions"; page539 = ""; page540 = ""; page541 = "disabling commenting out code"; page542 = ""; page543 = ""; page544 = ""; page545 = ""; page546 = "writing better code improving code preventing bugs killing bugs n00bs"; page547 = "naming variables name variables descriptivly"; page548 = "comment your code commenting code"; page549 = "centralize code centralization"; page550 = "top-down code in chunk bottom-up"; page551 = ""; page552 = ""; page553 = "publishing publish"; page554 = "optimizing actionscript"; page555 = ""; page556 = ""; page557 = ""; page558 = ""; page559 = ""; page560 = ""; page561 = ""; page562 = ""; page563 = ""; page564 = ""; page565 = ""; page566 = ""; page567 = ""; page568 = ""; page569 = ""; page570 = ""; page571 = ""; page572 = ""; page573 = ""; page574 = ""; page575 = ""; page576 = ""; page577 = ""; page578 = ""; page579 = ""; page580 = ""; page581 = ""; page582 = ""; page583 = ""; page584 = ""; page585 = ""; page586 = ""; page587 = ""; page588 = ""; page589 = ""; page590 = ""; page591 = ""; page592 = ""; page593 = ""; page594 = ""; page595 = ""; page596 = ""; page597 = ""; page598 = ""; page599 = ""; page600 = ""; page601 = ""; page602 = ""; page603 = ""; page604 = ""; page605 = ""; page606 = ""; page607 = ""; page608 = ""; page609 = ""; page610 = ""; page611 = ""; page612 = ""; page613 = ""; page614 = ""; page615 = ""; page616 = ""; page617 = ""; page618 = ""; page619 = ""; page620 = ""; page621 = ""; page622 = ""; page623 = ""; page624 = ""; page625 = ""; page626 = ""; page627 = ""; page628 = ""; page629 = ""; page630 = ""; page631 = ""; page632 = ""; page633 = ""; page634 = ""; page635 = ""; page636 = ""; page637 = ""; page638 = ""; page639 = ""; page640 = ""; page641 = ""; page642 = ""; page643 = ""; page644 = ""; page645 = ""; page646 = ""; page647 = ""; page648 = ""; page649 = ""; page650 = ""; page651 = ""; page652 = ""; page653 = ""; page654 = ""; page655 = ""; page656 = ""; page657 = ""; page658 = ""; page659 = "scroll wheel"; page660 = ""; page661 = ""; page662 = ""; page663 = ""; page664 = ""; page665 = ""; page666 = ""; page667 = ""; page668 = ""; page669 = ""; page670 = ""; page671 = ""; page672 = ""; page673 = ""; page674 = ""; page675 = ""; page676 = ""; page677 = ""; page678 = ""; page679 = ""; page680 = ""; page681 = ""; page682 = ""; page683 = ""; page684 = ""; page685 = ""; page686 = ""; page687 = ""; page688 = ""; page689 = ""; page690 = ""; page691 = ""; page692 = ""; page693 = ""; page694 = ""; page695 = ""; page696 = ""; page697 = ""; page698 = ""; page699 = ""; page700 = ""; page701 = ""; page702 = ""; page703 = ""; page704 = ""; page705 = "making highly effective stories story writing"; page706 = "theme"; page707 = "conflict"; page708 = "mood"; page709 = "dramatic irony romeo and juliet"; page710 = "characters"; page711 = "characterization"; page712 = "protaganist"; page713 = "foil"; page714 = "antagonist"; page715 = ""; page716 = ""; page717 = "choosing the right programming language"; page718 = ""; page719 = ""; page720 = ""; page721 = ""; page722 = "making games or movies appealing to newgrounds"; page723 = ""; page724 = ""; page725 = ""; page726 = ""; page727 = ""; page728 = ""; page729 = ""; page730 = ""; page731 = ""; page732 = "submitting to newgrounds"; page733 = ""; page734 = ""; page735 = ""; page736 = ""; page737 = ""; page738 = ""; page739 = ""; page740 = ""; page741 = ""; page742 = ""; page743 = ""; page744 = ""; page745 = ""; page746 = ""; page747 = ""; page748 = ""; page749 = ""; page750 = ""; page751 = ""; page752 = ""; page753 = ""; pageList0 = new Array(); pageList = new Array(); _global.framez = new Array(); _root.searchResult = ""; j = 0; while (j < 750) { pageList0.push(eval ("page" + (j + 1))); pageList.push(pageList0[j].toLowerCase()); j++; } searchFunc = function () { k = 0; while (k < (_global.framez.length + 10)) { _global.framez.pop(); k++; } search = search0.toLowerCase(); _root.searchResult = "Result:\n"; i = 0; while (i < 748) { searchReturn = pageList[i].indexOf(search); if (searchReturn != -1) { if (((i + 1) <= 270) and ((i + 1) >= 2)) { _global.section = "Swift 3D"; } else if (((i + 1) <= 639) and ((i + 1) >= 271)) { _global.section = "Flash"; } else if (((i + 1) <= 714) and ((i + 1) >= 640)) { _global.section = "Code Gallery"; } else if (((i + 1) <= 763) and ((i + 1) >= 715)) { _global.section = "Other"; } if ((i + 1) == 1) { _global.section = "Main Menu"; } if (((i + 1) >= 1) and ((i + 1) <= 9)) { _root.searchResult = _root.searchResult + (((("Page " + (i + 1)) + "\t ") + _global.section) + newline); } else if (((i + 1) >= 10) and ((i + 1) <= 99)) { _root.searchResult = _root.searchResult + (((("Page " + (i + 1)) + "\t ") + _global.section) + newline); } else if ((i + 1) >= 100) { _root.searchResult = _root.searchResult + (((("Page " + (i + 1)) + "\t ") + _global.section) + newline); } _global.framez.push(i); } i++; } if (searchResult == "Result:\n") { searchResult = "Sorry, no pages found content relevant to your query. \nMake sure your search terms are single words or compound proper nouns\n"; } }; _root.bigmen.btn1111.onPress = function () { _root.blinanor.play(); searchFunc(); }; _root.men.back.btn.onPress = function () { _root.blinanor.play(); searchFunc(); }; stop(); Stage.showMenu = true; var myMenu = new ContextMenu(); myMenu.hideBuiltInItems(); _root.menu = myMenu; myMenu.customItems.push(new ContextMenuItem("Main Menu", itemHandler1, true)); myMenu.customItems.push(new ContextMenuItem("Swift 3D", itemHandler2)); myMenu.customItems.push(new ContextMenuItem("Flash", itemHandler3)); myMenu.customItems.push(new ContextMenuItem("Code Gallery", itemHandler4)); myMenu.customItems.push(new ContextMenuItem("Other", itemHandler5)); _root._quality = "best"; hotkey = function () { if (Key.isDown("F".charCodeAt(0))) { gotoAndStop ("flash"); } if (Key.isDown("S".charCodeAt(0))) { gotoAndStop ("swift"); } if (Key.isDown("M".charCodeAt(0))) { gotoAndStop ("main"); } if (Key.isDown("C".charCodeAt(0))) { gotoAndStop ("code"); } if (Key.isDown("O".charCodeAt(0))) { gotoAndStop ("grounds"); } if (Key.isDown(33)) { _root.mus.setVolume(_root.mus.getVolume() + 10); } if (Key.isDown(34)) { _root.mus.setVolume(_root.mus.getVolume() - 10); } if (Key.isDown("Q".charCodeAt(0))) { prevFrame(); } if (Key.isDown("W".charCodeAt(0))) { nextFrame(); } }; a = 0; rightleft = function () { a = a + 1; if (a > 10) { enable = 1; a = 0; } if (a > 100) { } if (enable == 1) { if (Key.isDown(39)) { nextFrame(); enable = 0; a = 0; } if (Key.isDown(37)) { prevFrame(); enable = 0; a = 0; } } }; onLoad = function () { if (System.capabilities.hasAccessibility) { stopAllSounds(); _root.mus = new Sound(); _root.mus.attachSound("blind"); _root.mus.start(0, 1000); _root.mus.volume = 100; } }; enable10 = true; onEnterFrame = function () { scrollNum = _root._currentframe; searchP = _root.searchResult.indexOf("\t"); if (searchP == -1) { _root.bigmen.vis1._visible = false; _root.bigmen.vis2._visible = false; _root.bigmen.vis3._visible = false; _root.bigmen.vis4._visible = false; } else { _root.bigmen.vis1._visible = true; _root.bigmen.vis2._visible = true; _root.bigmen.vis3._visible = true; _root.bigmen.vis4._visible = true; } if (_root.bigmen.hotOff.hitTest(_root._xmouse, _root._ymouse)) { _global.enabler1 = false; } else { _global.enabler1 = true; } _global.currentPage = _root._currentframe - 3; if (_root._currentframe != "bad") { if (_root.men._currentframe != 30) { if (_global.enabler1 == true) { if (_root._currentframe < 1000) { if (_root._currentframe > 3) { if (enable10 == true) { hotkey(); scrollFunc(); rightleft(); } } } } } } else { gotoAndStop (764); } };
Frame 5
stop();
Frame 6
stop();
Frame 7
stop();
Frame 8
stop();
Frame 9
stop();
Frame 10
stop();
Frame 11
stop();
Frame 12
stop();
Frame 13
stop();
Frame 14
stop();
Frame 15
stop();
Frame 16
stop();
Frame 17
stop();
Frame 18
stop();
Frame 19
stop();
Frame 20
stop();
Frame 21
stop();
Frame 22
stop();
Frame 23
stop();
Frame 24
stop();
Frame 25
stop();
Frame 26
stop();
Frame 27
stop();
Frame 28
stop();
Frame 29
stop();
Frame 30
stop();
Frame 31
stop();
Frame 32
stop();
Frame 33
stop();
Frame 34
stop();
Frame 35
stop();
Frame 36
stop();
Frame 37
stop();
Frame 38
stop();
Frame 39
stop();
Frame 40
stop();
Frame 41
stop();
Frame 42
stop();
Frame 43
stop();
Frame 44
stop();
Frame 45
stop();
Frame 46
stop();
Frame 47
stop();
Frame 48
stop();
Frame 49
stop();
Frame 50
stop();
Frame 51
stop();
Frame 52
stop();
Frame 53
stop();
Frame 54
stop();
Frame 55
stop();
Frame 56
stop();
Frame 57
stop();
Frame 58
stop();
Frame 59
stop();
Frame 60
stop();
Frame 61
stop();
Frame 62
stop();
Frame 63
stop();
Frame 64
stop();
Frame 65
stop();
Frame 66
stop();
Frame 67
stop();
Frame 68
stop();
Frame 69
stop();
Frame 70
stop();
Frame 71
stop();
Frame 72
stop();
Frame 73
stop();
Frame 74
stop();
Frame 75
stop();
Frame 76
stop();
Frame 77
stop();
Frame 78
stop();
Frame 79
stop();
Frame 80
stop();
Frame 81
stop();
Frame 82
stop();
Frame 83
stop();
Frame 84
stop();
Frame 85
stop();
Frame 86
stop();
Frame 87
stop();
Frame 88
stop();
Frame 89
stop();
Frame 90
stop();
Frame 91
stop();
Frame 92
stop();
Frame 93
stop();
Frame 94
stop();
Frame 95
stop();
Frame 96
stop();
Frame 97
stop();
Frame 98
stop();
Frame 99
stop();
Frame 100
stop();
Frame 101
stop();
Frame 102
stop();
Frame 103
stop();
Frame 104
stop();
Frame 105
stop();
Frame 106
stop();
Frame 107
stop();
Frame 108
stop();
Frame 109
stop();
Frame 110
stop();
Frame 111
stop();
Frame 112
stop();
Frame 113
stop();
Frame 114
stop();
Frame 115
stop();
Frame 116
stop();
Frame 117
stop();
Frame 118
stop();
Frame 119
stop();
Frame 120
stop();
Frame 121
stop();
Frame 122
stop();
Frame 123
stop();
Frame 124
stop();
Frame 125
stop();
Frame 126
stop();
Frame 127
stop();
Frame 128
stop();
Frame 129
stop();
Frame 130
stop();
Frame 131
stop();
Frame 132
stop();
Frame 133
stop();
Frame 134
stop();
Frame 135
stop();
Frame 136
stop();
Frame 137
stop();
Frame 138
stop();
Frame 139
stop();
Frame 140
stop();
Frame 141
stop();
Frame 142
stop();
Frame 143
stop();
Frame 144
stop();
Frame 145
stop();
Frame 146
stop();
Frame 147
stop();
Frame 148
stop();
Frame 149
stop();
Frame 150
stop();
Frame 151
stop();
Frame 152
stop();
Frame 153
stop();
Frame 154
stop();
Frame 155
stop();
Frame 156
stop();
Frame 157
stop();
Frame 158
stop();
Frame 159
stop();
Frame 160
stop();
Frame 161
stop();
Frame 162
stop();
Frame 163
stop();
Frame 164
stop();
Frame 165
stop();
Frame 166
stop();
Frame 167
stop();
Frame 168
stop();
Frame 169
stop();
Frame 170
stop();
Frame 171
stop();
Frame 172
stop();
Frame 173
stop();
Frame 174
stop();
Frame 175
stop();
Frame 176
stop();
Frame 177
stop();
Frame 178
stop();
Frame 179
stop();
Frame 180
stop();
Frame 181
stop();
Frame 182
stop();
Frame 183
stop();
Frame 184
stop();
Frame 185
stop();
Frame 186
stop();
Frame 187
stop();
Frame 188
stop();
Frame 189
stop();
Frame 190
stop();
Frame 191
stop();
Frame 192
stop();
Frame 193
stop();
Frame 194
stop();
Frame 195
stop();
Frame 196
stop();
Frame 197
stop();
Frame 198
stop();
Frame 199
stop();
Frame 200
stop();
Frame 201
stop();
Frame 202
stop();
Frame 203
stop();
Frame 204
stop();
Frame 205
stop();
Frame 206
stop();
Frame 207
stop();
Frame 208
stop();
Frame 209
stop();
Frame 210
stop();
Frame 211
stop();
Frame 212
stop();
Frame 213
stop();
Frame 214
stop();
Frame 215
stop();
Frame 216
stop();
Frame 217
stop();
Frame 218
stop();
Frame 219
stop();
Frame 220
stop();
Frame 221
stop();
Frame 222
stop();
Frame 223
stop();
Frame 224
stop();
Frame 225
stop();
Frame 226
stop();
Frame 227
stop();
Frame 228
stop();
Frame 229
stop();
Frame 230
stop();
Frame 231
stop();
Frame 232
stop();
Frame 233
stop();
Frame 234
stop();
Frame 235
stop();
Frame 236
stop();
Frame 237
stop();
Frame 238
stop();
Frame 239
stop();
Frame 240
stop();
Frame 241
stop();
Frame 242
stop();
Frame 243
stop();
Frame 244
stop();
Frame 245
stop();
Frame 246
stop();
Frame 247
stop();
Frame 248
stop();
Frame 249
stop();
Frame 250
stop();
Frame 251
stop();
Frame 252
stop();
Frame 253
stop();
Frame 254
stop();
Frame 255
stop();
Frame 256
stop();
Frame 257
stop();
Frame 258
stop();
Frame 259
stop();
Frame 260
stop();
Frame 261
stop();
Frame 262
stop();
Frame 263
stop();
Frame 264
stop();
Frame 265
stop();
Frame 266
stop();
Frame 267
stop();
Frame 268
stop();
Frame 269
stop();
Frame 270
stop();
Frame 271
stop();
Frame 272
stop();
Frame 273
stop();
Frame 274
stop();
Frame 275
stop();
Frame 276
stop();
Frame 277
stop();
Frame 278
stop();
Frame 279
stop();
Frame 280
stop();
Frame 281
stop();
Frame 282
stop();
Frame 283
stop();
Frame 284
stop();
Frame 285
stop();
Frame 286
stop();
Frame 287
stop();
Frame 288
stop();
Frame 289
stop();
Frame 290
stop();
Frame 291
stop();
Frame 292
stop();
Frame 293
stop();
Frame 294
stop();
Frame 295
stop();
Frame 296
stop();
Frame 297
stop();
Frame 298
stop();
Frame 299
stop();
Frame 300
stop();
Frame 301
stop();
Frame 302
stop();
Frame 303
stop();
Frame 304
stop();
Frame 305
stop();
Frame 306
stop();
Frame 307
stop();
Frame 308
stop();
Frame 309
stop();
Frame 310
stop();
Frame 311
stop();
Frame 312
stop();
Frame 313
stop();
Frame 314
stop();
Frame 315
stop();
Frame 316
stop();
Frame 317
stop();
Frame 318
stop();
Frame 319
stop();
Frame 320
stop();
Frame 321
stop();
Frame 322
stop();
Frame 323
stop();
Frame 324
stop();
Frame 325
stop();
Frame 326
stop();
Frame 327
stop();
Frame 328
stop();
Frame 329
stop();
Frame 330
stop();
Frame 331
stop();
Frame 332
stop();
Frame 333
stop();
Frame 334
stop();
Frame 335
stop();
Frame 336
stop();
Frame 337
stop();
Frame 338
stop();
Frame 339
stop();
Frame 340
stop();
Frame 341
stop();
Frame 342
stop();
Frame 343
stop();
Frame 344
stop();
Frame 345
stop();
Frame 346
stop();
Frame 347
stop();
Frame 348
stop();
Frame 349
stop();
Frame 350
stop();
Frame 351
stop();
Frame 352
stop();
Frame 353
stop();
Frame 354
stop();
Frame 355
stop();
Frame 356
stop();
Frame 357
stop();
Frame 358
stop();
Frame 359
stop();
Frame 360
stop();
Frame 361
stop();
Frame 362
stop();
Frame 363
stop();
Frame 364
stop();
Frame 365
stop();
Frame 366
stop();
Frame 367
stop();
Frame 368
stop();
Frame 369
stop();
Frame 370
stop();
Frame 371
stop();
Frame 372
stop();
Frame 373
stop();
Frame 374
stop();
Frame 375
stop();
Frame 376
stop();
Frame 377
stop();
Frame 378
stop();
Frame 379
stop();
Frame 380
stop();
Frame 381
stop();
Frame 382
stop();
Frame 383
stop();
Frame 384
stop();
Frame 385
stop();
Frame 386
stop();
Frame 387
stop();
Frame 388
stop();
Frame 389
stop();
Frame 390
stop();
Frame 391
stop();
Frame 392
stop();
Frame 393
stop();
Frame 394
stop();
Frame 395
stop();
Frame 396
stop();
Frame 397
stop();
Frame 398
stop();
Frame 399
stop();
Frame 400
stop();
Frame 401
stop();
Frame 402
stop();
Frame 403
stop();
Frame 404
stop();
Frame 405
stop();
Frame 406
stop();
Frame 407
stop();
Frame 408
stop();
Frame 409
stop();
Frame 410
stop();
Frame 411
stop();
Frame 412
stop();
Frame 413
stop();
Frame 414
stop();
Frame 415
stop();
Frame 416
stop();
Frame 417
stop();
Frame 418
stop();
Frame 419
stop();
Frame 420
stop();
Frame 421
stop();
Frame 422
stop();
Frame 423
stop();
Frame 424
stop();
Frame 425
stop();
Frame 426
stop();
Frame 427
stop();
Frame 428
stop();
Frame 429
stop();
Frame 430
stop();
Frame 431
stop();
Frame 432
stop();
Frame 433
stop();
Frame 434
stop();
Frame 435
stop();
Frame 436
stop();
Frame 437
stop();
Frame 438
stop();
Frame 439
stop();
Frame 440
stop();
Frame 441
stop();
Frame 442
stop();
Frame 443
stop();
Frame 444
stop();
Frame 445
stop();
Frame 446
stop();
Instance of Symbol 4560 MovieClip in Frame 446
onClipEvent (enterFrame) { this.lineStyle(2, 255, 100); this.moveTo(_root._xmouse, _root._ymouse); this.lineTo(Stage.width / 2, Stage.height / 2); }
Frame 447
stop();
Frame 448
stop();
Frame 449
stop();
Frame 450
stop();
Frame 451
stop();
Instance of Symbol 4560 MovieClip in Frame 451
onClipEvent (enterFrame) { this.lineStyle(2, 255, 100); this.moveTo(_root._xmouse, _root._ymouse); this.lineTo(Stage.width / 2, Stage.height / 2); }
Frame 452
stop();
Frame 453
stop();
Frame 454
stop();
Frame 455
stop();
Frame 456
stop();
Frame 457
stop();
Frame 458
stop();
Frame 459
stop();
Frame 460
stop();
Frame 461
stop();
Frame 462
stop();
Frame 463
stop();
Frame 464
stop();
Frame 465
stop();
Frame 466
stop();
Frame 467
stop();
Frame 468
stop();
Frame 469
stop();
Frame 470
stop();
Frame 471
stop();
Frame 472
stop();
Frame 473
stop();
Frame 474
stop();
Frame 475
stop();
Frame 476
stop();
Frame 477
stop();
Frame 478
stop();
Frame 479
stop();
Frame 480
stop();
Frame 481
stop();
Frame 482
stop();
Frame 483
stop();
Frame 484
stop();
Frame 485
stop();
Frame 486
stop();
Frame 487
stop();
Frame 488
stop();
Frame 489
stop();
Frame 490
stop();
Frame 491
stop();
Frame 492
stop();
Frame 493
stop();
Frame 494
stop();
Frame 495
stop();
Frame 496
stop();
Frame 497
stop();
Frame 498
stop();
Frame 499
stop();
Instance of Symbol 4767 MovieClip in Frame 499
onClipEvent (load) { vx = 0; friction = 0.95; } onClipEvent (enterFrame) { if (Key.isDown(32)) { vx = vx + 10; } if (Key.isDown(16)) { this._x = -101; vx = 0; } vx = vx * friction; this._x = this._x + vx; }
Frame 500
stop();
Frame 501
stop();
Frame 502
stop();
Frame 503
stop();
Frame 504
stop();
Frame 505
stop();
Frame 506
stop();
Frame 507
stop();
Frame 508
stop();
Frame 509
stop();
Frame 510
stop();
Instance of Symbol 4812 MovieClip "totalrod" in Frame 510
onClipEvent (enterFrame) { if (this.hitTest(_root._xmouse, _root._ymouse)) { distButtonX = _root.totalrod.bot._x - _root.totalrod.arrowA._x; distButtonY = _root.totalrod.bot._y - _root.totalrod.arrowA._y; radianAngle = Math.atan2(distButtonY, distButtonX); degreeAngle = (radianAngle * 180) / Math.PI; _root.totalrod.arrowA._rotation = degreeAngle + 90; } }
Frame 511
stop();
Frame 512
stop();
Frame 513
stop();
Frame 514
stop();
Frame 515
stop();
Frame 516
stop();
Frame 517
stop();
Frame 518
stop();
Frame 519
stop();
Frame 520
stop();
Frame 521
stop();
Frame 522
stop();
Frame 523
stop();
Frame 524
stop();
Frame 525
stop();
Frame 526
stop();
Frame 527
stop();
Frame 528
stop();
Frame 529
stop();
Frame 530
stop();
Frame 531
stop();
Frame 532
stop();
Frame 533
stop();
Frame 534
stop();
Frame 535
stop();
Frame 536
stop();
Frame 537
stop();
Frame 538
stop();
Frame 539
stop();
Frame 540
stop();
Frame 541
stop();
Frame 542
stop();
Frame 543
stop();
Frame 544
stop();
Frame 545
stop();
Frame 546
stop();
Frame 547
stop();
Frame 548
stop();
Frame 549
stop();
Frame 550
stop();
Frame 551
stop();
Frame 552
stop();
Frame 553
stop();
Frame 554
stop();
Frame 555
stop();
Frame 556
stop();
Frame 557
stop();
Frame 558
stop();
Frame 559
stop();
Frame 560
stop();
Frame 561
stop();
Frame 562
stop();
Frame 563
stop();
Frame 564
stop();
Frame 565
stop();
Frame 566
stop();
Frame 567
stop();
Frame 568
stop();
Frame 569
stop();
Frame 570
stop();
Frame 571
stop();
Frame 572
stop();
Frame 573
stop();
Frame 574
stop();
Frame 575
stop();
Frame 576
stop();
Frame 577
stop();
Frame 578
stop();
Frame 579
stop();
Frame 580
stop();
Frame 581
stop();
Frame 582
stop();
Frame 583
stop();
Frame 584
stop();
Frame 585
stop();
Frame 586
stop();
Frame 587
stop();
Frame 588
stop();
Frame 589
stop();
Frame 590
stop();
Frame 591
stop();
Frame 592
stop();
Frame 593
stop();
Frame 594
stop();
Frame 595
stop();
Frame 596
stop();
Frame 597
stop();
Frame 598
stop();
Frame 599
stop();
Frame 600
stop();
Frame 601
stop();
Frame 602
stop();
Frame 603
stop();
Frame 604
stop();
Frame 605
stop();
Frame 606
stop();
Frame 607
stop();
Frame 608
stop();
Frame 609
stop();
Frame 610
stop();
Frame 611
stop();
Frame 612
stop();
Frame 613
stop();
Frame 614
stop();
Frame 615
stop();
Frame 616
stop();
Frame 617
stop();
Frame 618
stop();
Frame 619
stop();
Frame 620
stop();
Frame 621
stop();
Frame 622
stop();
Frame 623
stop();
Frame 624
stop();
Frame 625
stop();
Instance of Symbol 5317 MovieClip in Frame 625
onClipEvent (load) { vx = 0; vy = 0; friction = 0.8; } onClipEvent (enterFrame) { vx = vx * friction; vy = vy * friction; this._x = this._x + vx; this._y = this._y + vy; if (Key.isDown(39)) { vx = vx + 2; } if (Key.isDown(37)) { vx = vx - 2; } if (Key.isDown(38)) { vy = vy - 2; } if (Key.isDown(40)) { vy = vy + 2; } }
Frame 626
stop();
Frame 627
stop();
Frame 628
stop();
Frame 629
stop();
Frame 630
stop();
Frame 631
stop();
Instance of Symbol 5341 MovieClip in Frame 631
onClipEvent (enterFrame) { thisDate = new Date(); pmAM = ((thisDate.getHours() > 11) ? " PM" : " AM"); if (thisDate.getHours() > 12) { numHours = thisDate.getHours() - 12; } else { numHours = thisDate.getHours(); } if (thisDate.getMinutes < 10) { numMinutes = "0" + thisDate.getMinutes(); } else { numMinutes = thisDate.getMinutes(); } time = ((numHours + ":") + numMinutes) + pmAM; }
Frame 632
stop();
Frame 633
stop();
Frame 634
stop();
Frame 635
stop();
Frame 636
stop();
Frame 637
stop();
Frame 638
stop();
Frame 639
stop();
Frame 640
stop();
Frame 641
stop();
Frame 642
stop();
Frame 643
stop();
Frame 644
stop();
Frame 645
stop();
Frame 646
stop();
Frame 647
stop();
Frame 648
stop();
Frame 649
stop();
Frame 650
stop();
Frame 651
stop();
Frame 652
stop();
Frame 653
stop();
Frame 654
stop();
Frame 655
stop();
Frame 656
stop();
Frame 657
stop();
Frame 658
stop();
Frame 659
stop();
Frame 660
stop();
Frame 661
stop();
Frame 662
stop();
Frame 663
stop();
Frame 664
stop();
Frame 665
stop();
Frame 666
stop();
Frame 667
stop();
Frame 668
stop();
Frame 669
stop();
Frame 670
stop();
Frame 671
stop();
Frame 672
stop();
Frame 673
stop();
Frame 674
stop();
Frame 675
stop();
Frame 676
stop();
Frame 677
stop();
Frame 678
stop();
Frame 679
stop();
Frame 680
stop();
Frame 681
stop();
Frame 682
stop();
Frame 683
stop();
Frame 684
stop();
Frame 685
stop();
Frame 686
stop();
Frame 687
stop();
Frame 688
stop();
Frame 689
stop();
Frame 690
stop();
Frame 691
stop();
Frame 692
stop();
Frame 693
stop();
Frame 694
stop();
Frame 695
stop();
Frame 696
stop();
Frame 697
stop();
Frame 698
stop();
Frame 699
stop();
Frame 700
stop();
Frame 701
stop();
Frame 702
stop();
Frame 703
stop();
Frame 704
stop();
Frame 705
stop();
Frame 706
stop();
Frame 707
stop();
Frame 708
stop();
Frame 709
stop();
Frame 710
stop();
Frame 711
stop();
Frame 712
stop();
Frame 713
stop();
Frame 714
stop();
Frame 715
stop();
Frame 716
stop();
Frame 717
stop();
Frame 718
stop();
Frame 719
stop();
Frame 720
stop();
Frame 721
stop();
Frame 722
stop();
Frame 723
stop();
Frame 724
stop();
Frame 725
stop();
Frame 726
stop();
Frame 727
stop();
Frame 728
stop();
Frame 729
stop();
Frame 730
stop();
Frame 731
stop();
Frame 732
stop();
Frame 733
stop();
Frame 734
stop();
Frame 735
stop();
Frame 736
stop();
Frame 737
stop();
Frame 738
stop();
Frame 739
stop();
Frame 740
stop();
Frame 741
stop();
Frame 742
stop();
Frame 743
stop();
Frame 744
stop();
Frame 745
stop();
Frame 746
stop();
Frame 747
stop();
Frame 748
stop();
Frame 749
stop();
Frame 750
stop();
Frame 751
clickHandlerL = function (evt) { if (evt.detail == mx.controls.Alert.OK) { gotoAndStop ("main"); } }; mx.controls.Alert.show("The tutorial is over. Please press okay to return to the main menu", "End of Tutorial", mx.controls.Alert.OK, this, clickHandlerL); stop();
Frame 752
gotoAndStop ("tehend"); stop();
Frame 753
gotoAndStop ("tehend"); stop();
Frame 754
stop();
Frame 755
stop();
Frame 756
stop();
Frame 757
stop();
Frame 758
stop();
Frame 759
stop();
Frame 760
stop();
Frame 761
stop();
Frame 762
gotoAndStop ("tehend"); stop();
Frame 763
gotoAndStop ("tehend"); stop();
Frame 764
stop(); onEnterFrame = function () { gotoAndStop ("bad"); };
Instance of Symbol 5813 MovieClip "musicSlider" in Frame 764
onClipEvent (enterFrame) { sliderPos = _root.musicSlider.hyperbola._xmouse; tehredbox._x = sliderpos; volSet = (sliderpos / 61) * 100; }
Symbol 12 MovieClip [BrdrShdw] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "shadowColor");
Symbol 14 MovieClip [BrdrFace] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "buttonColor");
Symbol 17 MovieClip [BrdrBlk] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "borderColor");
Symbol 19 MovieClip [BrdrHilght] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "highlightColor");
Symbol 22 MovieClip [Defaults] Frame 1
#initclip 52 Object.registerClass("Defaults", mx.skins.halo.Defaults); #endinitclip
Symbol 23 MovieClip [UIObjectExtensions] Frame 1
#initclip 53 Object.registerClass("UIObjectExtensions", mx.core.ext.UIObjectExtensions); #endinitclip
Symbol 24 MovieClip [UIObject] Frame 1
#initclip 54 Object.registerClass("UIObject", mx.core.UIObject); #endinitclip stop();
Symbol 27 Button
on (keyPress "<Tab>") { this.tabHandler(); }
Symbol 28 MovieClip Frame 1
#initclip 55 Object.registerClass("FocusManager", mx.managers.FocusManager); if (_root.focusManager == undefined) { _root.createClassObject(mx.managers.FocusManager, "focusManager", mx.managers.DepthManager.highestDepth--); } #endinitclip
Symbol 29 MovieClip [FocusRect] Frame 1
#initclip 56 Object.registerClass("FocusRect", mx.skins.halo.FocusRect); #endinitclip
Symbol 30 MovieClip [FocusManager] Frame 1
#initclip 57 Object.registerClass("FocusManager", mx.managers.FocusManager); #endinitclip stop();
Symbol 31 MovieClip [UIComponentExtensions] Frame 1
#initclip 58 Object.registerClass("UIComponentExtensions", mx.core.ext.UIComponentExtensions); #endinitclip
Symbol 32 MovieClip [UIComponent] Frame 1
#initclip 59 Object.registerClass("UIComponent", mx.core.UIComponent); #endinitclip stop();
Symbol 33 MovieClip [SimpleButton] Frame 1
#initclip 60 Object.registerClass("SimpleButton", mx.controls.SimpleButton); #endinitclip stop();
Symbol 34 MovieClip [Border] Frame 1
#initclip 61 Object.registerClass("Border", mx.skins.Border); #endinitclip stop();
Symbol 35 MovieClip [RectBorder] Frame 1
#initclip 62 mx.skins.SkinElement.registerElement(mx.skins.RectBorder.symbolName, Object(mx.skins.RectBorder)); Object.registerClass("RectBorder", mx.skins.halo.RectBorder); #endinitclip stop();
Symbol 36 MovieClip [ButtonSkin] Frame 1
#initclip 63 Object.registerClass("ButtonSkin", mx.skins.halo.ButtonSkin); #endinitclip
Symbol 37 MovieClip [Button] Frame 1
#initclip 64 Object.registerClass("Button", mx.controls.Button); #endinitclip stop();
Instance of Symbol 33 MovieClip [SimpleButton] in Symbol 37 MovieClip [Button] Frame 2
//component parameters onClipEvent (initialize) { selected = false; toggle = false; enabled = true; visible = true; minHeight = 0; minWidth = 0; }
Symbol 38 MovieClip [CustomBorder] Frame 1
#initclip 65 Object.registerClass("CustomBorder", mx.skins.CustomBorder); mx.skins.SkinElement.registerElement("CustomBorder", mx.skins.CustomBorder); #endinitclip
Symbol 50 MovieClip [ScrollThemeColor1] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "themeColor");
Symbol 52 MovieClip [ScrollThemeColor2] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "themeColor");
Symbol 63 MovieClip [ThumbThemeColor1] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "themeColor");
Symbol 65 MovieClip [ThumbThemeColor3] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "themeColor");
Symbol 72 MovieClip [ThumbThemeColor2] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "themeColor");
Symbol 93 MovieClip [BtnDownArrow] Frame 1
#initclip 66 Object.registerClass("BtnDownArrow", mx.controls.SimpleButton); #endinitclip
Symbol 94 MovieClip [BtnUpArrow] Frame 1
#initclip 67 Object.registerClass("BtnUpArrow", mx.controls.SimpleButton); #endinitclip
Symbol 96 MovieClip [VScrollBar] Frame 1
#initclip 68 Object.registerClass("VScrollBar", mx.controls.VScrollBar); #endinitclip stop();
Instance of Symbol 37 MovieClip [Button] in Symbol 96 MovieClip [VScrollBar] Frame 2
//component parameters onClipEvent (initialize) { icon = ""; label = "Button"; labelPlacement = "right"; selected = false; toggle = false; enabled = true; visible = true; minHeight = 0; minWidth = 0; }
Instance of Symbol 33 MovieClip [SimpleButton] in Symbol 96 MovieClip [VScrollBar] Frame 2
//component parameters onClipEvent (initialize) { selected = false; toggle = false; enabled = true; visible = true; minHeight = 0; minWidth = 0; }
Symbol 97 MovieClip [HScrollBar] Frame 1
#initclip 69 Object.registerClass("HScrollBar", mx.controls.HScrollBar); #endinitclip stop();
Instance of Symbol 37 MovieClip [Button] in Symbol 97 MovieClip [HScrollBar] Frame 2
//component parameters onClipEvent (initialize) { icon = ""; label = "Button"; labelPlacement = "right"; selected = false; toggle = false; enabled = true; visible = true; minHeight = 0; minWidth = 0; }
Instance of Symbol 33 MovieClip [SimpleButton] in Symbol 97 MovieClip [HScrollBar] Frame 2
//component parameters onClipEvent (initialize) { selected = false; toggle = false; enabled = true; visible = true; minHeight = 0; minWidth = 0; }
Symbol 98 MovieClip [UIScrollBar] Frame 1
#initclip 70 Object.registerClass("UIScrollBar", mx.controls.UIScrollBar); #endinitclip stop();
Instance of Symbol 96 MovieClip [VScrollBar] in Symbol 98 MovieClip [UIScrollBar] Frame 2
//component parameters onClipEvent (initialize) { enabled = true; visible = true; minHeight = 0; minWidth = 0; }
Instance of Symbol 97 MovieClip [HScrollBar] in Symbol 98 MovieClip [UIScrollBar] Frame 2
//component parameters onClipEvent (initialize) { enabled = true; visible = true; minHeight = 0; minWidth = 0; }
Symbol 126 MovieClip [MenuBarItem] Frame 1
#initclip 71 Object.registerClass("MenuBarItem", mx.controls.menuclasses.MenuBarItem); #endinitclip
Symbol 127 MovieClip [ActivatorSkin] Frame 1
#initclip 72 Object.registerClass("ActivatorSkin", mx.skins.halo.ActivatorSkin); #endinitclip
Symbol 128 MovieClip [DataProvider] Frame 1
#initclip 73 Object.registerClass("DataProvider", mx.controls.listclasses.DataProvider); #endinitclip stop();
Symbol 129 MovieClip [DataSelector] Frame 1
#initclip 74 Object.registerClass("DataSelector", mx.controls.listclasses.DataSelector); #endinitclip stop();
Symbol 130 MovieClip [SelectableRow] Frame 1
#initclip 75 Object.registerClass("SelectableRow", mx.controls.listclasses.SelectableRow); #endinitclip stop();
Symbol 131 MovieClip [View] Frame 1
#initclip 76 Object.registerClass("View", mx.core.View); #endinitclip stop();
Symbol 132 MovieClip [ScrollView] Frame 1
#initclip 77 Object.registerClass("ScrollView", mx.core.ScrollView); #endinitclip stop();
Instance of Symbol 97 MovieClip [HScrollBar] in Symbol 132 MovieClip [ScrollView] Frame 2
//component parameters onClipEvent (initialize) { enabled = true; visible = true; minHeight = 0; minWidth = 0; }
Instance of Symbol 96 MovieClip [VScrollBar] in Symbol 132 MovieClip [ScrollView] Frame 2
//component parameters onClipEvent (initialize) { enabled = true; visible = true; minHeight = 0; minWidth = 0; }
Symbol 133 MovieClip [ScrollSelectList] Frame 1
#initclip 78 Object.registerClass("ScrollSelectList", mx.controls.listclasses.ScrollSelectList); #endinitclip stop();
Symbol 149 MovieClip [MenuRow] Frame 1
#initclip 79 Object.registerClass("MenuRow", mx.controls.menuclasses.MenuRow); #endinitclip stop();
Symbol 150 MovieClip [TreeDataProvider] Frame 1
#initclip 80 Object.registerClass("TreeDataProvider", mx.controls.treeclasses.TreeDataProvider); #endinitclip
Symbol 151 MovieClip [MenuDataProvider] Frame 1
#initclip 81 Object.registerClass("MenuDataProvider", mx.controls.menuclasses.MenuDataProvider); #endinitclip stop();
Symbol 152 MovieClip [Menu] Frame 1
#initclip 82 Object.registerClass("Menu", mx.controls.Menu); #endinitclip stop();
Symbol 160 MovieClip [MenuBar] Frame 1
#initclip 83 Object.registerClass("MenuBar", mx.controls.MenuBar); #endinitclip stop();
Instance of Symbol 152 MovieClip [Menu] in Symbol 160 MovieClip [MenuBar] Frame 2
//component parameters onClipEvent (initialize) { rowHeight = 20; }
Symbol 180 MovieClip [CheckThemeColor1] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "themeColor");
Symbol 191 MovieClip [CheckBoxAssets] Frame 1
#initclip 84 mx.controls.CheckBox.prototype.adjustFocusRect = function () { var _local4 = this._parent.focus_mc; var _local2 = this.iconName; var _local3 = this.getStyle("themeColor"); if (_local3 == undefined) { _local3 = 8453965 /* 0x80FF4D */; } var _local8 = _local2._width + 4; var _local5 = _local2._height + 4; _local4.setSize(_local8, _local5, 0, 100, _local3); var _local7 = _local2._x; var _local6 = _local2._y; _local4.move((this.x - 2) + _local7, (this.y + _local6) - 2); }; #endinitclip
Symbol 192 MovieClip [CheckBox] Frame 1
#initclip 85 Object.registerClass("CheckBox", mx.controls.CheckBox); #endinitclip stop();
Instance of Symbol 37 MovieClip [Button] in Symbol 192 MovieClip [CheckBox] Frame 2
//component parameters onClipEvent (initialize) { icon = ""; label = "Button"; labelPlacement = "right"; selected = false; toggle = false; enabled = true; visible = true; minHeight = 0; minWidth = 0; }
Symbol 195 MovieClip [Modal] Frame 1
#initclip 86 mx.skins.SkinElement.registerElement("Modal"); #endinitclip
Symbol 202 MovieClip [TitleBackground] Frame 1
#initclip 87 _global.mx.skins.TitleBackground = function () { this.constructObject(); }; _global.mx.skins.TitleBackground.prototype = new mx.skins.CustomBorder(); _global.mx.skins.TitleBackground.prototype.className = "TitleBackground"; _global.mx.skins.TitleBackground.symbolName = "TitleBackground"; _global.mx.skins.TitleBackground.symbolOwner = _global.mx.skins.TitleBackground; _global.mx.skins.TitleBackground.prototype.leftSkin = "TitleLeft"; _global.mx.skins.TitleBackground.prototype.middleSkin = "TitleMiddle"; _global.mx.skins.TitleBackground.prototype.rightSkin = "TitleRight"; _global.mx.skins.SkinElement.registerElement("TitleBackground", _global.mx.skins.TitleBackground); _global.mx.skins.SkinElement.registerElement("TitleLeft"); _global.mx.skins.SkinElement.registerElement("TitleMiddle"); _global.mx.skins.SkinElement.registerElement("TitleRight"); _global.mx.skins.TitleBackground.prototype.init = function () { super.init(); }; #endinitclip
Symbol 211 MovieClip [WindowAssets] Frame 1
#initclip 88 mx.containers.Window.prototype.titleStyleDeclaration = "windowStyles"; #endinitclip
Symbol 212 MovieClip [Window] Frame 1
#initclip 89 Object.registerClass("Window", mx.containers.Window); #endinitclip stop();
Instance of Symbol 10 MovieClip [BoundingBox] "boundingBox_mc" in Symbol 212 MovieClip [Window] Frame 1
/* no clip actions */
Instance of Symbol 33 MovieClip [SimpleButton] in Symbol 212 MovieClip [Window] Frame 2
//component parameters onClipEvent (initialize) { selected = false; toggle = false; enabled = true; visible = true; minHeight = 0; minWidth = 0; }
Symbol 215 MovieClip [TextArea] Frame 1
#initclip 90 Object.registerClass("TextArea", mx.controls.TextArea); #endinitclip stop();
Symbol 216 MovieClip [AlertAssets] Frame 1
#initclip 91 mx.controls.Alert.titleStyleDeclaration = "windowStyles"; #endinitclip
Symbol 217 MovieClip [Alert] Frame 1
#initclip 92 Object.registerClass("Alert", mx.controls.Alert); #endinitclip stop();
Instance of Symbol 212 MovieClip [Window] in Symbol 217 MovieClip [Alert] Frame 2
//component parameters onClipEvent (initialize) { closeButton = false; contentPath = ""; title = ""; enabled = true; visible = true; minHeight = 0; minWidth = 0; skinCloseDisabled = "CloseButtonDisabled"; skinCloseDown = "CloseButtonDown"; skinCloseOver = "CloseButtonOver"; skinCloseUp = "CloseButtonUp"; skinTitleBackground = "TitleBackground"; titleStyleDeclaration = ""; }
Instance of Symbol 215 MovieClip [TextArea] in Symbol 217 MovieClip [Alert] Frame 2
//component parameters onClipEvent (initialize) { editable = true; html = false; text = ""; wordWrap = false; maxChars = null; restrict = "null"; enabled = true; password = false; visible = true; minHeight = 0; minWidth = 0; }
Instance of Symbol 37 MovieClip [Button] in Symbol 217 MovieClip [Alert] Frame 2
//component parameters onClipEvent (initialize) { icon = ""; label = "Button"; labelPlacement = "right"; selected = false; toggle = false; enabled = true; visible = true; minHeight = 0; minWidth = 0; }
Symbol 5 MovieClip [__Packages.mx.core.UIObject] Frame 0
class mx.core.UIObject extends MovieClip { var _width, _height, _x, _y, _parent, _minHeight, _minWidth, _visible, dispatchEvent, _xscale, _yscale, methodTable, onEnterFrame, tfList, __width, __height, moveTo, lineTo, createTextField, attachMovie, buildDepthTable, findNextAvailableDepth, idNames, childrenCreated, _name, createAccessibilityImplementation, _endInit, validateNow, hasOwnProperty, initProperties, stylecache, className, ignoreClassStyleDeclaration, _tf, fontFamily, fontSize, color, marginLeft, marginRight, fontStyle, fontWeight, textAlign, textIndent, textDecoration, embedFonts, styleName, enabled; function UIObject () { super(); constructObject(); } function get width() { return(_width); } function get height() { return(_height); } function get left() { return(_x); } function get x() { return(_x); } function get top() { return(_y); } function get y() { return(_y); } function get right() { return(_parent.width - (_x + width)); } function get bottom() { return(_parent.height - (_y + height)); } function getMinHeight(Void) { return(_minHeight); } function setMinHeight(h) { _minHeight = h; } function get minHeight() { return(getMinHeight()); } function set minHeight(h) { setMinHeight(h); //return(minHeight); } function getMinWidth(Void) { return(_minWidth); } function setMinWidth(w) { _minWidth = w; } function get minWidth() { return(getMinWidth()); } function set minWidth(w) { setMinWidth(w); //return(minWidth); } function setVisible(x, noEvent) { if (x != _visible) { _visible = x; if (noEvent != true) { dispatchEvent({type:(x ? "reveal" : "hide")}); } } } function get visible() { return(_visible); } function set visible(x) { setVisible(x, false); //return(visible); } function get scaleX() { return(_xscale); } function set scaleX(x) { _xscale = x; //return(scaleX); } function get scaleY() { return(_yscale); } function set scaleY(y) { _yscale = y; //return(scaleY); } function doLater(obj, fn) { if (methodTable == undefined) { methodTable = new Array(); } methodTable.push({obj:obj, fn:fn}); onEnterFrame = doLaterDispatcher; } function doLaterDispatcher(Void) { delete onEnterFrame; if (invalidateFlag) { redraw(); } var __methodTable = methodTable; methodTable = new Array(); if (__methodTable.length > 0) { var m; while (((m = __methodTable.shift())) != undefined) { m.obj[m.fn](); } } } function cancelAllDoLaters(Void) { delete onEnterFrame; methodTable = new Array(); } function invalidate(Void) { invalidateFlag = true; onEnterFrame = doLaterDispatcher; } function invalidateStyle(Void) { invalidate(); } function redraw(bAlways) { if (invalidateFlag || (bAlways)) { invalidateFlag = false; var i; for (i in tfList) { tfList[i].draw(); } draw(); dispatchEvent({type:"draw"}); } } function draw(Void) { } function move(x, y, noEvent) { var oldX = _x; var oldY = _y; _x = x; _y = y; if (noEvent != true) { dispatchEvent({type:"move", oldX:oldX, oldY:oldY}); } } function setSize(w, h, noEvent) { var oldWidth = __width; var oldHeight = __height; __width = w; __height = h; size(); if (noEvent != true) { dispatchEvent({type:"resize", oldWidth:oldWidth, oldHeight:oldHeight}); } } function size(Void) { _width = __width; _height = __height; } function drawRect(x1, y1, x2, y2) { moveTo(x1, y1); lineTo(x2, y1); lineTo(x2, y2); lineTo(x1, y2); lineTo(x1, y1); } function createLabel(name, depth, text) { createTextField(name, depth, 0, 0, 0, 0); var o = this[name]; o._color = textColorList; o._visible = false; o.__text = text; if (tfList == undefined) { tfList = new Object(); } tfList[name] = o; o.invalidateStyle(); invalidate(); o.styleName = this; return(o); } function createObject(linkageName, id, depth, initobj) { return(attachMovie(linkageName, id, depth, initobj)); } function createClassObject(className, id, depth, initobj) { var bSubClass = (className.symbolName == undefined); if (bSubClass) { Object.registerClass(className.symbolOwner.symbolName, className); } var o = mx.core.UIObject(createObject(className.symbolOwner.symbolName, id, depth, initobj)); if (bSubClass) { Object.registerClass(className.symbolOwner.symbolName, className.symbolOwner); } return(o); } function createEmptyObject(id, depth) { return(createClassObject(mx.core.UIObject, id, depth)); } function destroyObject(id) { var o = this[id]; if (o.getDepth() < 0) { var dt = buildDepthTable(); var i = findNextAvailableDepth(0, dt, "up"); var temp = i; o.swapDepths(temp); } o.removeMovieClip(); delete this[id]; } function getSkinIDName(tag) { return(idNames[tag]); } function setSkin(tag, linkageName, initObj) { if (_global.skinRegistry[linkageName] == undefined) { mx.skins.SkinElement.registerElement(linkageName, mx.skins.SkinElement); } return(createObject(linkageName, getSkinIDName(tag), tag, initObj)); } function createSkin(tag) { var id = getSkinIDName(tag); createEmptyObject(id, tag); return(this[id]); } function createChildren(Void) { } function _createChildren(Void) { createChildren(); childrenCreated = true; } function constructObject(Void) { if (_name == undefined) { return(undefined); } init(); _createChildren(); createAccessibilityImplementation(); _endInit(); if (validateNow) { redraw(true); } else { invalidate(); } } function initFromClipParameters(Void) { var bFound = false; var i; for (i in clipParameters) { if (hasOwnProperty(i)) { bFound = true; this["def_" + i] = this[i]; delete this[i]; } } if (bFound) { for (i in clipParameters) { var v = this["def_" + i]; if (v != undefined) { this[i] = v; } } } } function init(Void) { __width = _width; __height = _height; if (initProperties == undefined) { initFromClipParameters(); } else { initProperties(); } if (_global.cascadingStyles == true) { stylecache = new Object(); } } function getClassStyleDeclaration(Void) { var o = this; var c = className; while (c != undefined) { if (ignoreClassStyleDeclaration[c] == undefined) { if (_global.styles[c] != undefined) { return(_global.styles[c]); } } o = o.__proto__; c = o.className; } } function setColor(color) { } function __getTextFormat(tf, bAll) { var o = stylecache.tf; if (o != undefined) { var j; for (j in mx.styles.StyleManager.TextFormatStyleProps) { if (bAll || (mx.styles.StyleManager.TextFormatStyleProps[j])) { if (tf[j] == undefined) { tf[j] = o[j]; } } } return(false); } var bUndefined = false; var j; for (j in mx.styles.StyleManager.TextFormatStyleProps) { if (bAll || (mx.styles.StyleManager.TextFormatStyleProps[j])) { if (tf[j] == undefined) { var v = _tf[j]; if (v != undefined) { tf[j] = v; } else if ((j == "font") && (fontFamily != undefined)) { tf[j] = fontFamily; } else if ((j == "size") && (fontSize != undefined)) { tf[j] = fontSize; } else if ((j == "color") && (color != undefined)) { tf[j] = color; } else if ((j == "leftMargin") && (marginLeft != undefined)) { tf[j] = marginLeft; } else if ((j == "rightMargin") && (marginRight != undefined)) { tf[j] = marginRight; } else if ((j == "italic") && (fontStyle != undefined)) { tf[j] = fontStyle == j; } else if ((j == "bold") && (fontWeight != undefined)) { tf[j] = fontWeight == j; } else if ((j == "align") && (textAlign != undefined)) { tf[j] = textAlign; } else if ((j == "indent") && (textIndent != undefined)) { tf[j] = textIndent; } else if ((j == "underline") && (textDecoration != undefined)) { tf[j] = textDecoration == j; } else if ((j == "embedFonts") && (embedFonts != undefined)) { tf[j] = embedFonts; } else { bUndefined = true; } } } } if (bUndefined) { var name = styleName; if (name != undefined) { if (typeof(name) != "string") { bUndefined = name.__getTextFormat(tf, true, this); } else if (_global.styles[name] != undefined) { bUndefined = _global.styles[name].__getTextFormat(tf, true, this); } } } if (bUndefined) { var ss = getClassStyleDeclaration(); if (ss != undefined) { bUndefined = ss.__getTextFormat(tf, true, this); } } if (bUndefined) { if (_global.cascadingStyles) { if (_parent != undefined) { bUndefined = _parent.__getTextFormat(tf, false); } } } if (bUndefined) { bUndefined = _global.style.__getTextFormat(tf, true, this); } return(bUndefined); } function _getTextFormat(Void) { var tf = stylecache.tf; if (tf != undefined) { return(tf); } tf = new TextFormat(); __getTextFormat(tf, true); stylecache.tf = tf; if (enabled == false) { var c = getStyle("disabledColor"); tf.color = c; } return(tf); } function getStyleName(Void) { var name = styleName; if (name != undefined) { if (typeof(name) != "string") { return(name.getStyleName()); } return(name); } if (_parent != undefined) { return(_parent.getStyleName()); } return(undefined); } function getStyle(styleProp) { var v = undefined; _global.getStyleCounter++; if (this[styleProp] != undefined) { return(this[styleProp]); } var name = styleName; if (name != undefined) { if (typeof(name) != "string") { v = name.getStyle(styleProp); } else { var ss = _global.styles[name]; v = ss.getStyle(styleProp); } } if (v != undefined) { return(v); } var ss = getClassStyleDeclaration(); if (ss != undefined) { v = ss[styleProp]; } if (v != undefined) { return(v); } if (_global.cascadingStyles) { if (mx.styles.StyleManager.isInheritingStyle(styleProp) || (mx.styles.StyleManager.isColorStyle(styleProp))) { var b = stylecache; if (b != undefined) { if (b[styleProp] != undefined) { return(b[styleProp]); } } if (_parent != undefined) { v = _parent.getStyle(styleProp); } else { v = _global.style[styleProp]; } if (b != undefined) { b[styleProp] = v; } return(v); } } if (v == undefined) { v = _global.style[styleProp]; } return(v); } static function mergeClipParameters(o, p) { for (var i in p) { o[i] = p[i]; } return(true); } static var symbolName = "UIObject"; static var symbolOwner = mx.core.UIObject; static var version = "2.0.2.126"; static var textColorList = {color:1, disabledColor:1}; var invalidateFlag = false; var lineWidth = 1; var lineColor = 0; var tabEnabled = false; var clipParameters = {visible:1, minHeight:1, minWidth:1, maxHeight:1, maxWidth:1, preferredHeight:1, preferredWidth:1}; }
Symbol 99 MovieClip [__Packages.mx.skins.SkinElement] Frame 0
class mx.skins.SkinElement extends MovieClip { var _visible, _x, _y, _width, _height; function SkinElement () { super(); } static function registerElement(name, className) { Object.registerClass(name, ((className == undefined) ? (mx.skins.SkinElement) : (className))); _global.skinRegistry[name] = true; } function __set__visible(visible) { _visible = visible; } function move(x, y) { _x = x; _y = y; } function setSize(w, h) { _width = w; _height = h; } }
Symbol 100 MovieClip [__Packages.mx.styles.CSSTextStyles] Frame 0
class mx.styles.CSSTextStyles { function CSSTextStyles () { } static function addTextStyles(o, bColor) { o.addProperty("textAlign", function () { return(this._tf.align); }, function (x) { if (this._tf == undefined) { this._tf = new TextFormat(); } this._tf.align = x; }); o.addProperty("fontWeight", function () { return(((this._tf.bold != undefined) ? ((this._tf.bold ? "bold" : "none")) : undefined)); }, function (x) { if (this._tf == undefined) { this._tf = new TextFormat(); } this._tf.bold = x == "bold"; }); if (bColor) { o.addProperty("color", function () { return(this._tf.color); }, function (x) { if (this._tf == undefined) { this._tf = new TextFormat(); } this._tf.color = x; }); } o.addProperty("fontFamily", function () { return(this._tf.font); }, function (x) { if (this._tf == undefined) { this._tf = new TextFormat(); } this._tf.font = x; }); o.addProperty("textIndent", function () { return(this._tf.indent); }, function (x) { if (this._tf == undefined) { this._tf = new TextFormat(); } this._tf.indent = x; }); o.addProperty("fontStyle", function () { return(((this._tf.italic != undefined) ? ((this._tf.italic ? "italic" : "none")) : undefined)); }, function (x) { if (this._tf == undefined) { this._tf = new TextFormat(); } this._tf.italic = x == "italic"; }); o.addProperty("marginLeft", function () { return(this._tf.leftMargin); }, function (x) { if (this._tf == undefined) { this._tf = new TextFormat(); } this._tf.leftMargin = x; }); o.addProperty("marginRight", function () { return(this._tf.rightMargin); }, function (x) { if (this._tf == undefined) { this._tf = new TextFormat(); } this._tf.rightMargin = x; }); o.addProperty("fontSize", function () { return(this._tf.size); }, function (x) { if (this._tf == undefined) { this._tf = new TextFormat(); } this._tf.size = x; }); o.addProperty("textDecoration", function () { return(((this._tf.underline != undefined) ? ((this._tf.underline ? "underline" : "none")) : undefined)); }, function (x) { if (this._tf == undefined) { this._tf = new TextFormat(); } this._tf.underline = x == "underline"; }); o.addProperty("embedFonts", function () { return(this._tf.embedFonts); }, function (x) { if (this._tf == undefined) { this._tf = new TextFormat(); } this._tf.embedFonts = x; }); } }
Symbol 102 MovieClip [__Packages.mx.styles.CSSStyleDeclaration] Frame 0
class mx.styles.CSSStyleDeclaration { var _tf; function CSSStyleDeclaration () { } function __getTextFormat(tf, bAll) { var bUndefined = false; if (_tf != undefined) { var j; for (j in mx.styles.StyleManager.TextFormatStyleProps) { if (bAll || (mx.styles.StyleManager.TextFormatStyleProps[j])) { if (tf[j] == undefined) { var v = _tf[j]; if (v != undefined) { tf[j] = v; } else { bUndefined = true; } } } } } else { bUndefined = true; } return(bUndefined); } function getStyle(styleProp) { var val = this[styleProp]; var c = mx.styles.StyleManager.getColorName(val); return(((c == undefined) ? (val) : (c))); } static function classConstruct() { mx.styles.CSSTextStyles.addTextStyles(mx.styles.CSSStyleDeclaration.prototype, true); return(true); } static var classConstructed = classConstruct(); static var CSSTextStylesDependency = mx.styles.CSSTextStyles; }
Symbol 101 MovieClip [__Packages.mx.styles.StyleManager] Frame 0
class mx.styles.StyleManager { function StyleManager () { } static function registerInheritingStyle(styleName) { inheritingStyles[styleName] = true; } static function isInheritingStyle(styleName) { return(inheritingStyles[styleName] == true); } static function registerColorStyle(styleName) { colorStyles[styleName] = true; } static function isColorStyle(styleName) { return(colorStyles[styleName] == true); } static function registerColorName(colorName, colorValue) { colorNames[colorName] = colorValue; } static function isColorName(colorName) { return(colorNames[colorName] != undefined); } static function getColorName(colorName) { return(colorNames[colorName]); } static var inheritingStyles = {color:true, direction:true, fontFamily:true, fontSize:true, fontStyle:true, fontWeight:true, textAlign:true, textIndent:true}; static var colorStyles = {barColor:true, trackColor:true, borderColor:true, buttonColor:true, color:true, dateHeaderColor:true, dateRollOverColor:true, disabledColor:true, fillColor:true, highlightColor:true, scrollTrackColor:true, selectedDateColor:true, shadowColor:true, strokeColor:true, symbolBackgroundColor:true, symbolBackgroundDisabledColor:true, symbolBackgroundPressedColor:true, symbolColor:true, symbolDisabledColor:true, themeColor:true, todayIndicatorColor:true, shadowCapColor:true, borderCapColor:true, focusColor:true}; static var colorNames = {black:0, white:16777215, red:16711680, green:65280, blue:255, magenta:16711935, yellow:16776960, cyan:65535, haloGreen:8453965, haloBlue:2881013, haloOrange:16761344}; static var TextFormatStyleProps = {font:true, size:true, color:true, leftMargin:false, rightMargin:false, italic:true, bold:true, align:true, indent:true, underline:false, embedFonts:false}; static var TextStyleMap = {textAlign:true, fontWeight:true, color:true, fontFamily:true, textIndent:true, fontStyle:true, lineHeight:true, marginLeft:true, marginRight:true, fontSize:true, textDecoration:true, embedFonts:true}; }
Symbol 6 MovieClip [__Packages.mx.core.UIComponent] Frame 0
class mx.core.UIComponent extends mx.core.UIObject { var __width, __height, invalidate, stylecache, removeEventListener, dispatchEvent, drawFocus, addEventListener, _xscale, _yscale, _focusrect, watch, enabled; function UIComponent () { super(); } function get width() { return(__width); } function get height() { return(__height); } function setVisible(x, noEvent) { super.setVisible(x, noEvent); } function enabledChanged(id, oldValue, newValue) { setEnabled(newValue); invalidate(); delete stylecache.tf; return(newValue); } function setEnabled(enabled) { invalidate(); } function getFocus() { var selFocus = Selection.getFocus(); return(((selFocus === null) ? null : (eval (selFocus)))); } function setFocus() { Selection.setFocus(this); } function getFocusManager() { var o = this; while (o != undefined) { if (o.focusManager != undefined) { return(o.focusManager); } o = o._parent; } return(undefined); } function onKillFocus(newFocus) { removeEventListener("keyDown", this); removeEventListener("keyUp", this); dispatchEvent({type:"focusOut"}); drawFocus(false); } function onSetFocus(oldFocus) { addEventListener("keyDown", this); addEventListener("keyUp", this); dispatchEvent({type:"focusIn"}); if (getFocusManager().bDrawFocus != false) { drawFocus(true); } } function findFocusInChildren(o) { if (o.focusTextField != undefined) { return(o.focusTextField); } if (o.tabEnabled == true) { return(o); } return(undefined); } function findFocusFromObject(o) { if (o.tabEnabled != true) { if (o._parent == undefined) { return(undefined); } if (o._parent.tabEnabled == true) { o = o._parent; } else if (o._parent.tabChildren) { o = findFocusInChildren(o._parent); } else { o = findFocusFromObject(o._parent); } } return(o); } function pressFocus() { var o = findFocusFromObject(this); var p = getFocus(); if (o != p) { p.drawFocus(false); if (getFocusManager().bDrawFocus != false) { o.drawFocus(true); } } } function releaseFocus() { var o = findFocusFromObject(this); if (o != getFocus()) { o.setFocus(); } } function isParent(o) { while (o != undefined) { if (o == this) { return(true); } o = o._parent; } return(false); } function size() { } function init() { super.init(); _xscale = 100; _yscale = 100; _focusrect = _global.useFocusRect == false; watch("enabled", enabledChanged); if (enabled == false) { setEnabled(false); } } function dispatchValueChangedEvent(value) { dispatchEvent({type:"valueChanged", value:value}); } static var symbolName = "UIComponent"; static var symbolOwner = mx.core.UIComponent; static var version = "2.0.2.126"; static var kStretch = 5000; var focusEnabled = true; var tabEnabled = true; var origBorderStyles = {themeColor:16711680}; var clipParameters = {}; static var mergedClipParameters = mx.core.UIObject.mergeClipParameters(mx.core.UIComponent.prototype.clipParameters, mx.core.UIObject.prototype.clipParameters); }
Symbol 161 MovieClip [__Packages.mx.core.View] Frame 0
class mx.core.View extends mx.core.UIComponent { var tabChildren, tabEnabled, boundingBox_mc, border_mc, __get__width, __get__height, __tabIndex, depth, createObject, createClassObject, loadExternal, destroyObject, createClassChildAtDepth, doLater; function View () { super(); } function init() { super.init(); tabChildren = true; tabEnabled = false; boundingBox_mc._visible = false; boundingBox_mc._width = (boundingBox_mc._height = 0); } function size() { border_mc.move(0, 0); border_mc.setSize(__get__width(), __get__height()); doLayout(); } function draw() { size(); } function get numChildren() { var childName = childNameBase; var i = 0; while (true) { if (this[childName + i] == undefined) { return(i); } i++; } } function get tabIndex() { return((tabEnabled ? (__tabIndex) : undefined)); } function addLayoutObject(object) { } function createChild(className, instanceName, initProps) { if (depth == undefined) { depth = 1; } var newObj; if (typeof(className) == "string") { newObj = createObject(className, instanceName, depth++, initProps); } else { newObj = createClassObject(className, instanceName, depth++, initProps); } if (newObj == undefined) { newObj = loadExternal(className, _loadExternalClass, instanceName, depth++, initProps); } else { this[childNameBase + numChildren] = newObj; newObj._complete = true; childLoaded(newObj); } addLayoutObject(newObj); return(newObj); } function getChildAt(childIndex) { return(this[childNameBase + childIndex]); } function destroyChildAt(childIndex) { if (!((childIndex >= 0) && (childIndex < numChildren))) { return(undefined); } var childName = (childNameBase + childIndex); var nChildren = numChildren; var slot; for (slot in this) { if (slot == childName) { childName = ""; destroyObject(slot); break; } } var i = Number(childIndex); while (i < (nChildren - 1)) { this[childNameBase + i] = this[childNameBase + (i + 1)]; i++; } delete this[childNameBase + (nChildren - 1)]; depth--; } function initLayout() { if (!hasBeenLayedOut) { doLayout(); } } function doLayout() { hasBeenLayedOut = true; } function createChildren() { if (border_mc == undefined) { border_mc = createClassChildAtDepth(_global.styles.rectBorderClass, mx.managers.DepthManager.kBottom, {styleName:this}); } doLater(this, "initLayout"); } function convertToUIObject(obj) { } function childLoaded(obj) { convertToUIObject(obj); } static function extension() { mx.core.ExternalContent.enableExternalContent(); } static var symbolName = "View"; static var symbolOwner = mx.core.View; static var version = "2.0.2.126"; var className = "View"; static var childNameBase = "_child"; var hasBeenLayedOut = false; var _loadExternalClass = "UIComponent"; }
Symbol 103 MovieClip [__Packages.mx.skins.Border] Frame 0
class mx.skins.Border extends mx.core.UIObject { function Border () { super(); } function init(Void) { super.init(); } static var symbolName = "Border"; static var symbolOwner = mx.skins.Border; var className = "Border"; var tagBorder = 0; var idNames = new Array("border_mc"); }
Symbol 121 MovieClip [__Packages.mx.skins.RectBorder] Frame 0
class mx.skins.RectBorder extends mx.skins.Border { var __width, __height, offset, __borderMetrics; function RectBorder () { super(); } function get width() { return(__width); } function get height() { return(__height); } function init(Void) { super.init(); } function draw(Void) { size(); } function getBorderMetrics(Void) { var o = offset; if (__borderMetrics == undefined) { __borderMetrics = {left:o, top:o, right:o, bottom:o}; } else { __borderMetrics.left = o; __borderMetrics.top = o; __borderMetrics.right = o; __borderMetrics.bottom = o; } return(__borderMetrics); } function get borderMetrics() { return(getBorderMetrics()); } function drawBorder(Void) { } function size(Void) { drawBorder(); } function setColor(Void) { drawBorder(); } static var symbolName = "RectBorder"; static var symbolOwner = mx.skins.RectBorder; static var version = "2.0.2.126"; var className = "RectBorder"; var borderStyleName = "borderStyle"; var borderColorName = "borderColor"; var shadowColorName = "shadowColor"; var highlightColorName = "highlightColor"; var buttonColorName = "buttonColor"; var backgroundColorName = "backgroundColor"; }
Symbol 114 MovieClip [__Packages.mx.managers.DepthManager] Frame 0
class mx.managers.DepthManager { var _childCounter, createClassObject, createObject, _parent, swapDepths, _topmost, getDepth; function DepthManager () { MovieClip.prototype.createClassChildAtDepth = createClassChildAtDepth; MovieClip.prototype.createChildAtDepth = createChildAtDepth; MovieClip.prototype.setDepthTo = setDepthTo; MovieClip.prototype.setDepthAbove = setDepthAbove; MovieClip.prototype.setDepthBelow = setDepthBelow; MovieClip.prototype.findNextAvailableDepth = findNextAvailableDepth; MovieClip.prototype.shuffleDepths = shuffleDepths; MovieClip.prototype.getDepthByFlag = getDepthByFlag; MovieClip.prototype.buildDepthTable = buildDepthTable; _global.ASSetPropFlags(MovieClip.prototype, "createClassChildAtDepth", 1); _global.ASSetPropFlags(MovieClip.prototype, "createChildAtDepth", 1); _global.ASSetPropFlags(MovieClip.prototype, "setDepthTo", 1); _global.ASSetPropFlags(MovieClip.prototype, "setDepthAbove", 1); _global.ASSetPropFlags(MovieClip.prototype, "setDepthBelow", 1); _global.ASSetPropFlags(MovieClip.prototype, "findNextAvailableDepth", 1); _global.ASSetPropFlags(MovieClip.prototype, "shuffleDepths", 1); _global.ASSetPropFlags(MovieClip.prototype, "getDepthByFlag", 1); _global.ASSetPropFlags(MovieClip.prototype, "buildDepthTable", 1); } static function sortFunction(a, b) { if (a.getDepth() > b.getDepth()) { return(1); } return(-1); } static function test(depth) { if (depth == reservedDepth) { return(false); } return(true); } static function createClassObjectAtDepth(className, depthSpace, initObj) { var o = undefined; switch (depthSpace) { case kCursor : o = holder.createClassChildAtDepth(className, kTopmost, initObj); break; case kTooltip : o = holder.createClassChildAtDepth(className, kTop, initObj); break; } return(o); } static function createObjectAtDepth(linkageName, depthSpace, initObj) { var o = undefined; switch (depthSpace) { case kCursor : o = holder.createChildAtDepth(linkageName, kTopmost, initObj); break; case kTooltip : o = holder.createChildAtDepth(linkageName, kTop, initObj); break; } return(o); } function createClassChildAtDepth(className, depthFlag, initObj) { if (_childCounter == undefined) { _childCounter = 0; } var dt = buildDepthTable(); var depth = getDepthByFlag(depthFlag, dt); var shuffleDir = "down"; if (depthFlag == kBottom) { shuffleDir = "up"; } var desiredDepth = undefined; if (dt[depth] != undefined) { desiredDepth = depth; depth = findNextAvailableDepth(depth, dt, shuffleDir); } var o = createClassObject(className, "depthChild" + (_childCounter++), depth, initObj); if (desiredDepth != undefined) { dt[depth] = o; shuffleDepths(o, desiredDepth, dt, shuffleDir); } if (depthFlag == kTopmost) { o._topmost = true; } return(o); } function createChildAtDepth(linkageName, depthFlag, initObj) { if (_childCounter == undefined) { _childCounter = 0; } var dt = buildDepthTable(); var depth = getDepthByFlag(depthFlag, dt); var shuffleDir = "down"; if (depthFlag == kBottom) { shuffleDir = "up"; } var desiredDepth = undefined; if (dt[depth] != undefined) { desiredDepth = depth; depth = findNextAvailableDepth(depth, dt, shuffleDir); } var o = createObject(linkageName, "depthChild" + (_childCounter++), depth, initObj); if (desiredDepth != undefined) { dt[depth] = o; shuffleDepths(o, desiredDepth, dt, shuffleDir); } if (depthFlag == kTopmost) { o._topmost = true; } return(o); } function setDepthTo(depthFlag) { var dt = _parent.buildDepthTable(); var depth = _parent.getDepthByFlag(depthFlag, dt); if (dt[depth] != undefined) { shuffleDepths(MovieClip(this), depth, dt, undefined); } else { swapDepths(depth); } if (depthFlag == kTopmost) { _topmost = true; } else { delete _topmost; } } function setDepthAbove(targetInstance) { if (targetInstance._parent != _parent) { return(undefined); } var targetDepth = (targetInstance.getDepth() + 1); var dt = _parent.buildDepthTable(); if ((dt[targetDepth] != undefined) && (getDepth() < targetDepth)) { targetDepth = targetDepth - 1; } if (targetDepth > highestDepth) { targetDepth = highestDepth; } if (targetDepth == highestDepth) { _parent.shuffleDepths(this, targetDepth, dt, "down"); } else if (dt[targetDepth] != undefined) { _parent.shuffleDepths(this, targetDepth, dt, undefined); } else { swapDepths(targetDepth); } } function setDepthBelow(targetInstance) { if (targetInstance._parent != _parent) { return(undefined); } var targetDepth = (targetInstance.getDepth() - 1); var dt = _parent.buildDepthTable(); if ((dt[targetDepth] != undefined) && (getDepth() > targetDepth)) { targetDepth = targetDepth + 1; } var lowestDepth = (lowestDepth + numberOfAuthortimeLayers); var i; for (i in dt) { var x = dt[i]; if (x._parent != undefined) { lowestDepth = Math.min(lowestDepth, x.getDepth()); } } if (targetDepth < lowestDepth) { targetDepth = lowestDepth; } if (targetDepth == lowestDepth) { _parent.shuffleDepths(this, targetDepth, dt, "up"); } else if (dt[targetDepth] != undefined) { _parent.shuffleDepths(this, targetDepth, dt, undefined); } else { swapDepths(targetDepth); } } function findNextAvailableDepth(targetDepth, depthTable, direction) { var highestAuthoringDepth = (lowestDepth + numberOfAuthortimeLayers); if (targetDepth < highestAuthoringDepth) { targetDepth = highestAuthoringDepth; } if (depthTable[targetDepth] == undefined) { return(targetDepth); } var nextFreeAbove = targetDepth; var nextFreeBelow = targetDepth; if (direction == "down") { while (depthTable[nextFreeBelow] != undefined) { nextFreeBelow--; } return(nextFreeBelow); } while (depthTable[nextFreeAbove] != undefined) { nextFreeAbove++; } return(nextFreeAbove); } function shuffleDepths(subject, targetDepth, depthTable, direction) { var lowestDepth = (lowestDepth + numberOfAuthortimeLayers); var highestAuthoringDepth = lowestDepth; var i; for (i in depthTable) { var x = depthTable[i]; if (x._parent != undefined) { lowestDepth = Math.min(lowestDepth, x.getDepth()); } } if (direction == undefined) { if (subject.getDepth() > targetDepth) { direction = "up"; } else { direction = "down"; } } var dt = new Array(); for (i in depthTable) { var x = depthTable[i]; if (x._parent != undefined) { dt.push(x); } } dt.sort(sortFunction); if (direction == "up") { var a = undefined; var lastd; do { if (dt.length <= 0) { break; } a = dt.pop(); } while (a != subject); do { if (dt.length <= 0) { break; } lastd = subject.getDepth(); a = dt.pop(); var d = a.getDepth(); if (lastd > (d + 1)) { if (d >= 0) { subject.swapDepths(d + 1); } else if ((lastd > highestAuthoringDepth) && (d < highestAuthoringDepth)) { subject.swapDepths(highestAuthoringDepth); } } subject.swapDepths(a); } while (d != targetDepth); } else if (direction == "down") { var a = undefined; var lastd; do { if (dt.length <= 0) { break; } a = dt.shift(); } while (a != subject); do { if (dt.length <= 0) { break; } lastd = a.getDepth(); a = dt.shift(); var d = a.getDepth(); if ((lastd < (d - 1)) && (d > 0)) { subject.swapDepths(d - 1); } subject.swapDepths(a); } while (d != targetDepth); } } function getDepthByFlag(depthFlag, depthTable) { var depth = 0; if ((depthFlag == kTop) || (depthFlag == kNotopmost)) { var lowestTopmost = 0; var anyTopmost = false; var j; for (j in depthTable) { var i = depthTable[j]; var t = typeof(i); if ((t == "movieclip") || ((t == "object") && (i.__getTextFormat != undefined))) { if (i.getDepth() <= highestDepth) { if (!i._topmost) { depth = Math.max(depth, i.getDepth()); } else if (!anyTopmost) { lowestTopmost = i.getDepth(); anyTopmost = true; } else { lowestTopmost = Math.min(lowestTopmost, i.getDepth()); } } } } depth = depth + 20; if (anyTopmost) { if (depth >= lowestTopmost) { depth = lowestTopmost - 1; } } } else if (depthFlag == kBottom) { var j; for (j in depthTable) { var i = depthTable[j]; var t = typeof(i); if ((t == "movieclip") || ((t == "object") && (i.__getTextFormat != undefined))) { if (i.getDepth() <= highestDepth) { depth = Math.min(depth, i.getDepth()); } } } depth = depth - 20; } else if (depthFlag == kTopmost) { var j; for (j in depthTable) { var i = depthTable[j]; var t = typeof(i); if ((t == "movieclip") || ((t == "object") && (i.__getTextFormat != undefined))) { if (i.getDepth() <= highestDepth) { depth = Math.max(depth, i.getDepth()); } } } depth = depth + 100; } if (depth >= highestDepth) { depth = highestDepth; } var lowestDepth = (lowestDepth + numberOfAuthortimeLayers); var i; for (i in depthTable) { var x = depthTable[i]; if (x._parent != undefined) { lowestDepth = Math.min(lowestDepth, x.getDepth()); } } if (depth <= lowestDepth) { depth = lowestDepth; } return(depth); } function buildDepthTable(Void) { var depthTable = new Array(); var j; for (j in this) { var i = this[j]; var t = typeof(i); if ((t == "movieclip") || ((t == "object") && (i.__getTextFormat != undefined))) { if (i._parent == this) { depthTable[i.getDepth()] = i; } } } return(depthTable); } static var reservedDepth = 1048575; static var highestDepth = 1048574; static var lowestDepth = -16383; static var numberOfAuthortimeLayers = 383; static var kCursor = 101; static var kTooltip = 102; static var kTop = 201; static var kBottom = 202; static var kTopmost = 203; static var kNotopmost = 204; static var holder = _root.createEmptyMovieClip("reserved", reservedDepth); static var __depthManager = new mx.managers.DepthManager(); }
Symbol 162 MovieClip [__Packages.mx.core.ExternalContent] Frame 0
class mx.core.ExternalContent { var createObject, numChildren, prepList, doLater, loadList, dispatchEvent, loadedList, childLoaded; function ExternalContent () { } function loadExternal(url, placeholderClassName, instanceName, depth, initProps) { var newObj; newObj = createObject(placeholderClassName, instanceName, depth, initProps); this[mx.core.View.childNameBase + numChildren] = newObj; if (prepList == undefined) { prepList = new Object(); } prepList[instanceName] = {obj:newObj, url:url, complete:false, initProps:initProps}; prepareToLoadMovie(newObj); return(newObj); } function prepareToLoadMovie(obj) { obj.unloadMovie(); doLater(this, "waitForUnload"); } function waitForUnload() { var i; for (i in prepList) { var x = prepList[i]; if (x.obj.getBytesTotal() == 0) { if (loadList == undefined) { loadList = new Object(); } loadList[i] = x; x.obj.loadMovie(x.url); delete prepList[i]; doLater(this, "checkLoadProgress"); } else { doLater(this, "waitForUnload"); } } } function checkLoadProgress() { var contentLoading = false; var i; for (i in loadList) { var x = loadList[i]; x.loaded = x.obj.getBytesLoaded(); x.total = x.obj.getBytesTotal(); if (x.total > 0) { x.obj._visible = false; dispatchEvent({type:"progress", target:x.obj, current:x.loaded, total:x.total}); if (x.loaded == x.total) { if (loadedList == undefined) { loadedList = new Object(); } loadedList[i] = x; delete loadList[i]; doLater(this, "contentLoaded"); } } else if (x.total == -1) { if (x.failedOnce != undefined) { x.failedOnce++; if (x.failedOnce > 3) { dispatchEvent({type:"complete", target:x.obj, current:x.loaded, total:x.total}); delete loadList[i]; delete x; } } else { x.failedOnce = 0; } } contentLoading = true; } if (contentLoading) { doLater(this, "checkLoadProgress"); } } function contentLoaded() { var i; for (i in loadedList) { var x = loadedList[i]; x.obj._visible = true; x.obj._complete = true; var prop; for (prop in x.initProps) { x.obj[prop] = x.initProps[prop]; } childLoaded(x.obj); dispatchEvent({type:"complete", target:x.obj, current:x.loaded, total:x.total}); delete loadedList[i]; delete x; } } function convertToUIObject(obj) { if (obj.setSize == undefined) { var ui = mx.core.UIObject.prototype; obj.addProperty("width", ui.__get__width, null); obj.addProperty("height", ui.__get__height, null); obj.addProperty("left", ui.__get__left, null); obj.addProperty("x", ui.__get__x, null); obj.addProperty("top", ui.__get__top, null); obj.addProperty("y", ui.__get__y, null); obj.addProperty("right", ui.__get__right, null); obj.addProperty("bottom", ui.__get__bottom, null); obj.addProperty("visible", ui.__get__visible, ui.__set__visible); obj.move = mx.core.UIObject.prototype.move; obj.setSize = mx.core.UIObject.prototype.setSize; obj.size = mx.core.UIObject.prototype.size; mx.events.UIEventDispatcher.initialize(obj); } } static function enableExternalContent() { } static function classConstruct() { var v = mx.core.View.prototype; var p = mx.core.ExternalContent.prototype; v.loadExternal = p.loadExternal; v.prepareToLoadMovie = p.prepareToLoadMovie; v.waitForUnload = p.waitForUnload; v.checkLoadProgress = p.checkLoadProgress; v.contentLoaded = p.contentLoaded; v.convertToUIObject = p.convertToUIObject; return(true); } static var classConstructed = classConstruct(); static var ViewDependency = mx.core.View; }
Symbol 109 MovieClip [__Packages.mx.events.EventDispatcher] Frame 0
class mx.events.EventDispatcher { function EventDispatcher () { } static function _removeEventListener(queue, event, handler) { if (queue != undefined) { var l = queue.length; var i; i = 0; while (i < l) { var o = queue[i]; if (o == handler) { queue.splice(i, 1); return(undefined); } i++; } } } static function initialize(object) { if (_fEventDispatcher == undefined) { _fEventDispatcher = new mx.events.EventDispatcher(); } object.addEventListener = _fEventDispatcher.addEventListener; object.removeEventListener = _fEventDispatcher.removeEventListener; object.dispatchEvent = _fEventDispatcher.dispatchEvent; object.dispatchQueue = _fEventDispatcher.dispatchQueue; } function dispatchQueue(queueObj, eventObj) { var queueName = ("__q_" + eventObj.type); var queue = queueObj[queueName]; if (queue != undefined) { var i; for (i in queue) { var o = queue[i]; var oType = typeof(o); if ((oType == "object") || (oType == "movieclip")) { if (o.handleEvent != undefined) { o.handleEvent(eventObj); } if (o[eventObj.type] != undefined) { if (exceptions[eventObj.type] == undefined) { o[eventObj.type](eventObj); } } } else { o.apply(queueObj, [eventObj]); } } } } function dispatchEvent(eventObj) { if (eventObj.target == undefined) { eventObj.target = this; } this[eventObj.type + "Handler"](eventObj); dispatchQueue(this, eventObj); } function addEventListener(event, handler) { var queueName = ("__q_" + event); if (this[queueName] == undefined) { this[queueName] = new Array(); } _global.ASSetPropFlags(this, queueName, 1); _removeEventListener(this[queueName], event, handler); this[queueName].push(handler); } function removeEventListener(event, handler) { var queueName = ("__q_" + event); _removeEventListener(this[queueName], event, handler); } static var _fEventDispatcher = undefined; static var exceptions = {move:1, draw:1, load:1}; }
Symbol 110 MovieClip [__Packages.mx.events.UIEventDispatcher] Frame 0
class mx.events.UIEventDispatcher extends mx.events.EventDispatcher { var dispatchQueue, owner, __sentLoadEvent, __origAddEventListener; function UIEventDispatcher () { super(); } static function addKeyEvents(obj) { if (obj.keyHandler == undefined) { var o = ((obj.keyHandler = new Object())); o.owner = obj; o.onKeyDown = _fEventDispatcher.onKeyDown; o.onKeyUp = _fEventDispatcher.onKeyUp; } Key.addListener(obj.keyHandler); } static function removeKeyEvents(obj) { Key.removeListener(obj.keyHandler); } static function addLoadEvents(obj) { if (obj.onLoad == undefined) { obj.onLoad = _fEventDispatcher.onLoad; obj.onUnload = _fEventDispatcher.onUnload; if (obj.getBytesTotal() == obj.getBytesLoaded()) { obj.doLater(obj, "onLoad"); } } } static function removeLoadEvents(obj) { delete obj.onLoad; delete obj.onUnload; } static function initialize(obj) { if (_fEventDispatcher == undefined) { _fEventDispatcher = new mx.events.UIEventDispatcher(); } obj.addEventListener = _fEventDispatcher.__addEventListener; obj.__origAddEventListener = _fEventDispatcher.addEventListener; obj.removeEventListener = _fEventDispatcher.removeEventListener; obj.dispatchEvent = _fEventDispatcher.dispatchEvent; obj.dispatchQueue = _fEventDispatcher.dispatchQueue; } function dispatchEvent(eventObj) { if (eventObj.target == undefined) { eventObj.target = this; } this[eventObj.type + "Handler"](eventObj); dispatchQueue(mx.events.EventDispatcher, eventObj); dispatchQueue(this, eventObj); } function onKeyDown(Void) { owner.dispatchEvent({type:"keyDown", code:Key.getCode(), ascii:Key.getAscii(), shiftKey:Key.isDown(16), ctrlKey:Key.isDown(17)}); } function onKeyUp(Void) { owner.dispatchEvent({type:"keyUp", code:Key.getCode(), ascii:Key.getAscii(), shiftKey:Key.isDown(16), ctrlKey:Key.isDown(17)}); } function onLoad(Void) { if (__sentLoadEvent != true) { dispatchEvent({type:"load"}); } __sentLoadEvent = true; } function onUnload(Void) { dispatchEvent({type:"unload"}); } function __addEventListener(event, handler) { __origAddEventListener(event, handler); var ll = lowLevelEvents; for (var i in ll) { if (mx.events.UIEventDispatcher[i][event] != undefined) { var s = ll[i][0]; mx.events.UIEventDispatcher[s](this); } } } function removeEventListener(event, handler) { var queueName = ("__q_" + event); mx.events.EventDispatcher._removeEventListener(this[queueName], event, handler); if (this[queueName].length == 0) { var ll = lowLevelEvents; for (var i in ll) { if (mx.events.UIEventDispatcher[i][event] != undefined) { var s = ll[i][1]; mx.events.UIEventDispatcher[ll[i][1]](this); } } } } static var keyEvents = {keyDown:1, keyUp:1}; static var loadEvents = {load:1, unload:1}; static var lowLevelEvents = {keyEvents:["addKeyEvents", "removeKeyEvents"], loadEvents:["addLoadEvents", "removeLoadEvents"]}; static var _fEventDispatcher = undefined; }
Symbol 163 MovieClip [__Packages.mx.core.ScrollView] Frame 0
class mx.core.ScrollView extends mx.core.View { var __width, hScroller, vScroller, __maxHPosition, propsInited, scrollAreaChanged, specialHScrollCase, createObject, viewableColumns, __height, oldRndUp, viewableRows, __viewMetrics, owner, enabled, border_mc, __get__width, __get__height, invLayout, mask_mc, _parent, dispatchEvent; function ScrollView () { super(); } function getHScrollPolicy(Void) { return(__hScrollPolicy); } function setHScrollPolicy(policy) { __hScrollPolicy = policy.toLowerCase(); if (__width == undefined) { return(undefined); } setScrollProperties(numberOfCols, columnWidth, rowC, rowH, heightPadding, widthPadding); } function get hScrollPolicy() { return(getHScrollPolicy()); } function set hScrollPolicy(policy) { setHScrollPolicy(policy); //return(hScrollPolicy); } function getVScrollPolicy(Void) { return(__vScrollPolicy); } function setVScrollPolicy(policy) { __vScrollPolicy = policy.toLowerCase(); if (__width == undefined) { return(undefined); } setScrollProperties(numberOfCols, columnWidth, rowC, rowH, heightPadding, widthPadding); } function get vScrollPolicy() { return(getVScrollPolicy()); } function set vScrollPolicy(policy) { setVScrollPolicy(policy); //return(vScrollPolicy); } function get hPosition() { return(getHPosition()); } function set hPosition(pos) { setHPosition(pos); //return(hPosition); } function getHPosition(Void) { return(__hPosition); } function setHPosition(pos) { hScroller.__set__scrollPosition(pos); __hPosition = pos; } function get vPosition() { return(getVPosition()); } function set vPosition(pos) { setVPosition(pos); //return(vPosition); } function getVPosition(Void) { return(__vPosition); } function setVPosition(pos) { vScroller.__set__scrollPosition(pos); __vPosition = pos; } function get maxVPosition() { var m = vScroller.maxPos; return(((m == undefined) ? 0 : (m))); } function get maxHPosition() { return(getMaxHPosition()); } function set maxHPosition(pos) { setMaxHPosition(pos); //return(maxHPosition); } function getMaxHPosition(Void) { if (__maxHPosition != undefined) { return(__maxHPosition); } var m = hScroller.maxPos; return(((m == undefined) ? 0 : (m))); } function setMaxHPosition(pos) { __maxHPosition = pos; } function setScrollProperties(colCount, colWidth, rwCount, rwHeight, hPadding, wPadding) { var vM = getViewMetrics(); if (hPadding == undefined) { hPadding = 0; } if (wPadding == undefined) { wPadding = 0; } propsInited = true; delete scrollAreaChanged; heightPadding = hPadding; widthPadding = wPadding; if (colWidth == 0) { colWidth = 1; } if (rwHeight == 0) { rwHeight = 1; } var viewableCols = Math.ceil((((__width - vM.left) - vM.right) - widthPadding) / colWidth); if ((__hScrollPolicy == "on") || ((viewableCols < colCount) && (__hScrollPolicy == "auto"))) { if ((hScroller == undefined) || (specialHScrollCase)) { delete specialHScrollCase; hScroller = mx.controls.scrollClasses.ScrollBar(createObject("HScrollBar", "hSB", 1001)); hScroller.__set__lineScrollSize(20); hScroller.scrollHandler = scrollProxy; hScroller.__set__scrollPosition(__hPosition); scrollAreaChanged = true; } if ((((numberOfCols != colCount) || (columnWidth != colWidth)) || (viewableColumns != viewableCols)) || (scrollAreaChanged)) { hScroller.setScrollProperties(viewableCols, 0, colCount - viewableCols); viewableColumns = viewableCols; numberOfCols = colCount; columnWidth = colWidth; } } else if (((__hScrollPolicy == "auto") || (__hScrollPolicy == "off")) && (hScroller != undefined)) { hScroller.removeMovieClip(); delete hScroller; scrollAreaChanged = true; } if (heightPadding == undefined) { heightPadding = 0; } var viewableRws = Math.ceil((((__height - vM.top) - vM.bottom) - heightPadding) / rwHeight); var rndUp = ((((__height - vM.top) - vM.bottom) % rwHeight) != 0); if ((__vScrollPolicy == "on") || ((viewableRws < (rwCount + rndUp)) && (__vScrollPolicy == "auto"))) { if (vScroller == undefined) { vScroller = mx.controls.scrollClasses.ScrollBar(createObject("VScrollBar", "vSB", 1002)); vScroller.scrollHandler = scrollProxy; vScroller.__set__scrollPosition(__vPosition); scrollAreaChanged = true; rowH = 0; } if ((((rowC != rwCount) || (rowH != rwHeight)) || ((viewableRows + rndUp) != (viewableRws + oldRndUp))) || (scrollAreaChanged)) { vScroller.setScrollProperties(viewableRws, 0, (rwCount - viewableRws) + rndUp); viewableRows = viewableRws; rowC = rwCount; rowH = rwHeight; oldRndUp = rndUp; } } else if (((__vScrollPolicy == "auto") || (__vScrollPolicy == "off")) && (vScroller != undefined)) { vScroller.removeMovieClip(); delete vScroller; scrollAreaChanged = true; } numberOfCols = colCount; columnWidth = colWidth; if (scrollAreaChanged) { doLayout(); var o = __viewMetrics; var ownr = ((owner != undefined) ? (owner) : (this)); ownr.layoutContent(o.left, o.top, ((columnWidth * numberOfCols) - o.left) - o.right, rowC * rowH, (__width - o.left) - o.right, (__height - o.top) - o.bottom); } if (!enabled) { setEnabled(false); } } function getViewMetrics(Void) { var o = __viewMetrics; var m = border_mc.__get__borderMetrics(); o.left = m.left; o.right = m.right; if (vScroller != undefined) { o.right = o.right + vScroller.minWidth; } o.top = m.top; if ((hScroller == undefined) && ((__hScrollPolicy == "on") || (__hScrollPolicy == true))) { hScroller = mx.controls.scrollClasses.ScrollBar(createObject("FHScrollBar", "hSB", 1001)); specialHScrollCase = true; } o.bottom = m.bottom; if (hScroller != undefined) { o.bottom = o.bottom + hScroller.minHeight; } return(o); } function doLayout(Void) { var w = __get__width(); var h = __get__height(); delete invLayout; var o = ((__viewMetrics = getViewMetrics())); var lo = o.left; var ro = o.right; var to = o.top; var bo = o.bottom; var hsb = hScroller; var vsb = vScroller; hsb.setSize((w - lo) - ro, hsb.minHeight + 0); hsb.move(lo, h - bo); vsb.setSize(vsb.minWidth + 0, (h - to) - bo); vsb.move(w - ro, to); var mask = mask_mc; mask._width = (w - lo) - ro; mask._height = (h - to) - bo; mask._x = lo; mask._y = to; } function createChild(id, name, props) { var newObj = super.createChild(id, name, props); return(newObj); } function init(Void) { super.init(); __viewMetrics = new Object(); if (_global.__SVMouseWheelManager == undefined) { var s = ((_global.__SVMouseWheelManager = new Object())); s.onMouseWheel = __onMouseWheel; Mouse.addListener(s); } } function __onMouseWheel(delta, scrollTarget) { var i = scrollTarget; var sT; while (i != undefined) { if (i instanceof mx.core.ScrollView) { sT = i; delete i; } i = i._parent; } if (sT != undefined) { var i = ((delta <= 0) ? 1 : -1); var l = sT.vScroller.lineScrollSize; if (l == undefined) { l = 0; } l = Math.max(Math.abs(delta), l); var nPos = (sT.vPosition + (l * i)); sT.vPosition = Math.max(0, Math.min(nPos, sT.maxVPosition)); sT.dispatchEvent({type:"scroll", direction:"vertical", position:sT.vPosition}); } } function createChildren(Void) { super.createChildren(); if (mask_mc == undefined) { mask_mc = createObject("BoundingBox", "mask_mc", MASK_DEPTH); } mask_mc._visible = false; } function invalidate(Void) { super.invalidate(); } function draw(Void) { size(); } function size(Void) { super.size(); } function scrollProxy(docObj) { _parent.onScroll(docObj); } function onScroll(docObj) { var scroller = docObj.target; var pos = scroller.scrollPosition; if (scroller == vScroller) { var d = "vertical"; var prop = "__vPosition"; } else { var d = "horizontal"; var prop = "__hPosition"; } this[prop] = pos; dispatchEvent({type:"scroll", direction:d, position:pos}); } function setEnabled(v) { vScroller.enabled = (hScroller.enabled = v); } function childLoaded(obj) { super.childLoaded(obj); obj.setMask(mask_mc); } static var symbolName = "ScrollView"; static var symbolOwner = mx.core.ScrollView; static var version = "2.0.2.126"; var className = "ScrollView"; var __vScrollPolicy = "auto"; var __hScrollPolicy = "off"; var __vPosition = 0; var __hPosition = 0; var numberOfCols = 0; var rowC = 0; var columnWidth = 1; var rowH = 0; var heightPadding = 0; var widthPadding = 0; var MASK_DEPTH = 10000; }
Symbol 7 MovieClip [__Packages.mx.controls.scrollClasses.ScrollBar] Frame 0
class mx.controls.scrollClasses.ScrollBar extends mx.core.UIComponent { var isScrolling, scrollTrack_mc, scrollThumb_mc, __height, tabEnabled, focusEnabled, boundingBox_mc, setSkin, upArrow_mc, _minHeight, _minWidth, downArrow_mc, createObject, createClassObject, enabled, _height, dispatchEvent, minMode, maxMode, plusMode, minusMode, _parent, getStyle, scrolling, _ymouse; function ScrollBar () { super(); } function get scrollPosition() { return(_scrollPosition); } function set scrollPosition(pos) { _scrollPosition = pos; if (isScrolling != true) { pos = Math.min(pos, maxPos); pos = Math.max(pos, minPos); var y = ((((pos - minPos) * (scrollTrack_mc.height - scrollThumb_mc._height)) / (maxPos - minPos)) + scrollTrack_mc.top); scrollThumb_mc.move(0, y); } //return(scrollPosition); } function get pageScrollSize() { return(largeScroll); } function set pageScrollSize(lScroll) { largeScroll = lScroll; //return(pageScrollSize); } function set lineScrollSize(sScroll) { smallScroll = sScroll; //return(lineScrollSize); } function get lineScrollSize() { return(smallScroll); } function get virtualHeight() { return(__height); } function init(Void) { super.init(); _scrollPosition = 0; tabEnabled = false; focusEnabled = false; boundingBox_mc._visible = false; boundingBox_mc._width = (boundingBox_mc._height = 0); } function createChildren(Void) { if (scrollTrack_mc == undefined) { setSkin(skinIDTrack, scrollTrackName); } scrollTrack_mc.visible = false; var o = new Object(); o.enabled = false; o.preset = mx.controls.SimpleButton.falseDisabled; o.initProperties = 0; o.autoRepeat = true; o.tabEnabled = false; var b; if (upArrow_mc == undefined) { b = createButton(upArrowName, "upArrow_mc", skinIDUpArrow, o); } b.buttonDownHandler = onUpArrow; b.clickHandler = onScrollChanged; _minHeight = b.height; _minWidth = b.width; if (downArrow_mc == undefined) { b = createButton(downArrowName, "downArrow_mc", skinIDDownArrow, o); } b.buttonDownHandler = onDownArrow; b.clickHandler = onScrollChanged; _minHeight = _minHeight + b.height; } function createButton(linkageName, id, skinID, o) { if (skinID == skinIDUpArrow) { o.falseUpSkin = upArrowUpName; o.falseDownSkin = upArrowDownName; o.falseOverSkin = upArrowOverName; } else { o.falseUpSkin = downArrowUpName; o.falseDownSkin = downArrowDownName; o.falseOverSkin = downArrowOverName; } var b = createObject(linkageName, id, skinID, o); this[id].visible = false; this[id].useHandCursor = false; return(b); } function createThumb(Void) { var o = new Object(); o.validateNow = true; o.tabEnabled = false; o.leftSkin = thumbTopName; o.middleSkin = thumbMiddleName; o.rightSkin = thumbBottomName; o.gripSkin = thumbGripName; createClassObject(mx.controls.scrollClasses.ScrollThumb, "scrollThumb_mc", skinIDThumb, o); } function setScrollProperties(pSize, mnPos, mxPos, ls) { var thumbHeight; var o = scrollTrack_mc; pageSize = pSize; largeScroll = (((ls != undefined) && (ls > 0)) ? (ls) : (pSize)); minPos = Math.max(mnPos, 0); maxPos = Math.max(mxPos, 0); _scrollPosition = Math.max(minPos, _scrollPosition); _scrollPosition = Math.min(maxPos, _scrollPosition); if (((maxPos - minPos) > 0) && (enabled)) { var tmp = _scrollPosition; if (!initializing) { upArrow_mc.enabled = true; downArrow_mc.enabled = true; } o.onPress = (o.onDragOver = startTrackScroller); o.onRelease = releaseScrolling; o.onDragOut = (o.stopScrolling = stopScrolling); o.onReleaseOutside = releaseScrolling; o.useHandCursor = false; if (scrollThumb_mc == undefined) { createThumb(); } var st = scrollThumb_mc; if (scrollTrackOverName.length > 0) { o.onRollOver = trackOver; o.onRollOut = trackOut; } thumbHeight = (pageSize / ((maxPos - minPos) + pageSize)) * o.height; if (thumbHeight < st.minHeight) { if (o.height < st.minHeight) { st.__set__visible(false); } else { thumbHeight = st.minHeight; st.__set__visible(true); st.setSize(_minWidth, st.minHeight + 0); } } else { st.__set__visible(true); st.setSize(_minWidth, thumbHeight); } st.setRange(upArrow_mc.__get__height() + 0, (virtualHeight - downArrow_mc.__get__height()) - st.__get__height(), minPos, maxPos); tmp = Math.min(tmp, maxPos); scrollPosition = (Math.max(tmp, minPos)); } else { scrollThumb_mc.__set__visible(false); if (!initializing) { upArrow_mc.enabled = false; downArrow_mc.enabled = false; } delete o.onPress; delete o.onDragOver; delete o.onRelease; delete o.onDragOut; delete o.onRollOver; delete o.onRollOut; delete o.onReleaseOutside; } if (initializing) { scrollThumb_mc.__set__visible(false); } } function setEnabled(enabledFlag) { super.setEnabled(enabledFlag); setScrollProperties(pageSize, minPos, maxPos, largeScroll); } function draw(Void) { if (initializing) { initializing = false; scrollTrack_mc.visible = true; upArrow_mc.__set__visible(true); downArrow_mc.__set__visible(true); } size(); } function size(Void) { if (_height == 1) { return(undefined); } if (upArrow_mc == undefined) { return(undefined); } var y1 = upArrow_mc.__get__height(); var y2 = downArrow_mc.__get__height(); upArrow_mc.move(0, 0); var st = scrollTrack_mc; st._y = y1; st._height = (virtualHeight - y1) - y2; downArrow_mc.move(0, virtualHeight - y2); setScrollProperties(pageSize, minPos, maxPos, largeScroll); } function dispatchScrollEvent(detail) { dispatchEvent({type:"scroll", detail:detail}); } function isScrollBarKey(k) { if (k == 36) { if (scrollPosition != 0) { scrollPosition = (0); dispatchScrollEvent(minMode); } return(true); } if (k == 35) { if (scrollPosition < maxPos) { scrollPosition = (maxPos); dispatchScrollEvent(maxMode); } return(true); } return(false); } function scrollIt(inc, mode) { var delt = smallScroll; if (inc != "Line") { delt = ((largeScroll == 0) ? (pageSize) : (largeScroll)); } var newPos = (_scrollPosition + (mode * delt)); if (newPos > maxPos) { newPos = maxPos; } else if (newPos < minPos) { newPos = minPos; } if (scrollPosition != newPos) { scrollPosition = (newPos); var move = ((mode < 0) ? (minusMode) : (plusMode)); dispatchScrollEvent(inc + move); } } function startTrackScroller(Void) { _parent.pressFocus(); if (_parent.scrollTrackDownName.length > 0) { if (_parent.scrollTrackDown_mc == undefined) { _parent.setSkin(skinIDTrackDown, scrollTrackDownName); } else { _parent.scrollTrackDown_mc.visible = true; } } _parent.trackScroller(); _parent.scrolling = setInterval(_parent, "scrollInterval", getStyle("repeatDelay"), "Page", -1); } function scrollInterval(inc, mode) { clearInterval(scrolling); if (inc == "Page") { trackScroller(); } else { scrollIt(inc, mode); } scrolling = setInterval(this, "scrollInterval", getStyle("repeatInterval"), inc, mode); } function trackScroller(Void) { if ((scrollThumb_mc._y + scrollThumb_mc.__get__height()) < _ymouse) { scrollIt("Page", 1); } else if (scrollThumb_mc._y > _ymouse) { scrollIt("Page", -1); } } function dispatchScrollChangedEvent(Void) { dispatchEvent({type:"scrollChanged"}); } function stopScrolling(Void) { clearInterval(_parent.scrolling); _parent.scrollTrackDown_mc.visible = false; } function releaseScrolling(Void) { _parent.releaseFocus(); stopScrolling(); _parent.dispatchScrollChangedEvent(); } function trackOver(Void) { if (_parent.scrollTrackOverName.length > 0) { if (_parent.scrollTrackOver_mc == undefined) { _parent.setSkin(skinIDTrackOver, scrollTrackOverName); } else { _parent.scrollTrackOver_mc.visible = true; } } } function trackOut(Void) { _parent.scrollTrackOver_mc.visible = false; } function onUpArrow(Void) { _parent.scrollIt("Line", -1); } function onDownArrow(Void) { _parent.scrollIt("Line", 1); } function onScrollChanged(Void) { _parent.dispatchScrollChangedEvent(); } static var symbolOwner = mx.core.UIComponent; var className = "ScrollBar"; var minPos = 0; var maxPos = 0; var pageSize = 0; var largeScroll = 0; var smallScroll = 1; var _scrollPosition = 0; var scrollTrackName = "ScrollTrack"; var scrollTrackOverName = ""; var scrollTrackDownName = ""; var upArrowName = "BtnUpArrow"; var upArrowUpName = "ScrollUpArrowUp"; var upArrowOverName = "ScrollUpArrowOver"; var upArrowDownName = "ScrollUpArrowDown"; var downArrowName = "BtnDownArrow"; var downArrowUpName = "ScrollDownArrowUp"; var downArrowOverName = "ScrollDownArrowOver"; var downArrowDownName = "ScrollDownArrowDown"; var thumbTopName = "ScrollThumbTopUp"; var thumbMiddleName = "ScrollThumbMiddleUp"; var thumbBottomName = "ScrollThumbBottomUp"; var thumbGripName = "ScrollThumbGripUp"; static var skinIDTrack = 0; static var skinIDTrackOver = 1; static var skinIDTrackDown = 2; static var skinIDUpArrow = 3; static var skinIDDownArrow = 4; static var skinIDThumb = 5; var idNames = new Array("scrollTrack_mc", "scrollTrackOver_mc", "scrollTrackDown_mc", "upArrow_mc", "downArrow_mc"); var clipParameters = {minPos:1, maxPos:1, pageSize:1, scrollPosition:1, lineScrollSize:1, pageScrollSize:1, visible:1, enabled:1}; static var mergedClipParameters = mx.core.UIObject.mergeClipParameters(mx.controls.scrollClasses.ScrollBar.prototype.clipParameters, mx.core.UIComponent.prototype.clipParameters); var initializing = true; }
Symbol 104 MovieClip [__Packages.mx.skins.CustomBorder] Frame 0
class mx.skins.CustomBorder extends mx.skins.Border { var __width, __height, l_mc, setSkin, minHeight, minWidth, m_mc, r_mc; function CustomBorder () { super(); } function get width() { return(__width); } function get height() { return(__height); } function init(Void) { super.init(); } function createChildren(Void) { } function draw(Void) { if (l_mc == undefined) { var z = setSkin(tagL, leftSkin); if (horizontal) { minHeight = l_mc._height; minWidth = l_mc._width; } else { minHeight = l_mc._height; minWidth = l_mc._width; } } if (m_mc == undefined) { setSkin(tagM, middleSkin); if (horizontal) { minHeight = m_mc._height; minWidth = minWidth + m_mc._width; } else { minHeight = minHeight + m_mc._height; minWidth = m_mc._width; } } if (r_mc == undefined) { setSkin(tagR, rightSkin); if (horizontal) { minHeight = r_mc._height; minWidth = minWidth + r_mc._width; } else { minHeight = minHeight + r_mc._height; minWidth = r_mc._width; } } size(); } function size(Void) { l_mc.move(0, 0); if (horizontal) { r_mc.move(width - r_mc.width, 0); m_mc.move(l_mc.width, 0); m_mc.setSize(r_mc.x - m_mc.x, m_mc.height); } else { r_mc.move(0, height - r_mc.height, 0); m_mc.move(0, l_mc.height); m_mc.setSize(m_mc.width, r_mc.y - m_mc.y); } } static var symbolName = "CustomBorder"; static var symbolOwner = mx.skins.CustomBorder; static var version = "2.0.2.126"; var className = "CustomBorder"; static var tagL = 0; static var tagM = 1; static var tagR = 2; var idNames = new Array("l_mc", "m_mc", "r_mc"); var leftSkin = "F3PieceLeft"; var middleSkin = "F3PieceMiddle"; var rightSkin = "F3PieceRight"; var horizontal = true; }
Symbol 105 MovieClip [__Packages.mx.controls.scrollClasses.ScrollThumb] Frame 0
class mx.controls.scrollClasses.ScrollThumb extends mx.skins.CustomBorder { var useHandCursor, ymin, ymax, datamin, datamax, scrollMove, lastY, _ymouse, _y, _parent, onMouseMove, grip_mc, setSkin, gripSkin, __get__width, __get__height; function ScrollThumb () { super(); } function createChildren(Void) { super.createChildren(); useHandCursor = false; } function setRange(_ymin, _ymax, _datamin, _datamax) { ymin = _ymin; ymax = _ymax; datamin = _datamin; datamax = _datamax; } function dragThumb(Void) { scrollMove = _ymouse - lastY; scrollMove = scrollMove + _y; if (scrollMove < ymin) { scrollMove = ymin; } else if (scrollMove > ymax) { scrollMove = ymax; } _parent.isScrolling = true; _y = scrollMove; var pos = (Math.round(((datamax - datamin) * (_y - ymin)) / (ymax - ymin)) + datamin); _parent.scrollPosition = pos; _parent.dispatchScrollEvent("ThumbTrack"); updateAfterEvent(); } function stopDragThumb(Void) { _parent.isScrolling = false; _parent.dispatchScrollEvent("ThumbPosition"); _parent.dispatchScrollChangedEvent(); delete onMouseMove; } function onPress(Void) { _parent.pressFocus(); lastY = _ymouse; onMouseMove = dragThumb; super.onPress(); } function onRelease(Void) { _parent.releaseFocus(); stopDragThumb(); super.onRelease(); } function onReleaseOutside(Void) { _parent.releaseFocus(); stopDragThumb(); super.onReleaseOutside(); } function draw() { super.draw(); if (grip_mc == undefined) { setSkin(3, gripSkin); } } function size() { super.size(); grip_mc.move((__get__width() - grip_mc.width) / 2, (__get__height() - grip_mc.height) / 2); } static var symbolOwner = mx.skins.CustomBorder.symbolOwner; var className = "ScrollThumb"; var btnOffset = 0; var horizontal = false; var idNames = new Array("l_mc", "m_mc", "r_mc", "grip_mc"); }
Symbol 106 MovieClip [__Packages.mx.controls.SimpleButton] Frame 0
class mx.controls.SimpleButton extends mx.core.UIComponent { static var emphasizedStyleDeclaration; var preset, boundingBox_mc, useHandCursor, skinName, linkLength, iconName, destroyObject, __width, _width, __height, _height, __emphaticStyleName, styleName, enabled, invalidate, pressFocus, dispatchEvent, autoRepeat, interval, getStyle, releaseFocus, createLabel, invalidateStyle; function SimpleButton () { super(); } function init(Void) { super.init(); if (preset == undefined) { boundingBox_mc._visible = false; boundingBox_mc._width = (boundingBox_mc._height = 0); } useHandCursor = false; } function createChildren(Void) { if (preset != undefined) { var ref = this[idNames[preset]]; this[refNames[preset]] = ref; skinName = ref; if (falseOverSkin.length == 0) { rolloverSkin = fus; } if (falseOverIcon.length == 0) { rolloverIcon = fui; } initializing = false; } else if (__state == true) { setStateVar(true); } else { if (falseOverSkin.length == 0) { rolloverSkin = fus; } if (falseOverIcon.length == 0) { rolloverIcon = fui; } } } function setIcon(tag, linkageName) { return(setSkin(tag + 8, linkageName)); } function changeIcon(tag, linkageName) { linkLength = linkageName.length; var s = (stateNames[tag] + "Icon"); this[s] = linkageName; this[idNames[tag + 8]] = s; setStateVar(getState()); } function changeSkin(tag, linkageName) { var s = (stateNames[tag] + "Skin"); this[s] = linkageName; this[idNames[tag]] = s; setStateVar(getState()); } function viewIcon(varName) { var v = (varName + "Icon"); var ref = this[v]; if (typeof(ref) == "string") { var s = ref; if (__emphasized) { if (this[ref + "Emphasized"].length > 0) { ref = ref + "Emphasized"; } } if (this[ref].length == 0) { return(undefined); } ref = setIcon(tagMap[s], this[ref]); if ((ref == undefined) && (_global.isLivePreview)) { ref = setIcon(0, "ButtonIcon"); } this[v] = ref; } iconName._visible = false; iconName = ref; iconName._visible = true; } function removeIcons() { var t = 0; while (t < 2) { var i = 8; while (i < 16) { destroyObject(idNames[i]); this[stateNames[i - 8] + "Icon"] = ""; i++; } t++; } refresh(); } function setSkin(tag, linkageName, initobj) { var o = super.setSkin(tag, linkageName, ((initobj != undefined) ? (initobj) : ({styleName:this}))); calcSize(tag, o); return(o); } function calcSize(Void) { __width = _width; __height = _height; } function viewSkin(varName, initObj) { var v = (varName + "Skin"); var ref = this[v]; if (typeof(ref) == "string") { var s = ref; if (__emphasized) { if (this[ref + "Emphasized"].length > 0) { ref = ref + "Emphasized"; } } if (this[ref].length == 0) { return(undefined); } ref = setSkin(tagMap[s], this[ref], ((initObj != undefined) ? (initObj) : ({styleName:this}))); this[v] = ref; } skinName._visible = false; skinName = ref; skinName._visible = true; } function showEmphasized(e) { if (e && (!__emphatic)) { if (emphasizedStyleDeclaration != undefined) { __emphaticStyleName = styleName; styleName = emphasizedStyleDeclaration; } __emphatic = true; } else { if (__emphatic) { styleName = __emphaticStyleName; } __emphatic = false; } } function refresh(Void) { var offset = getState(); if (enabled == false) { viewIcon("disabled"); viewSkin("disabled"); } else { viewSkin(phase); viewIcon(phase); } setView(phase == "down"); iconName.enabled = enabled; } function setView(offset) { if (iconName == undefined) { return(undefined); } var n = (offset ? (btnOffset) : 0); iconName._x = ((__width - iconName._width) / 2) + n; iconName._y = ((__height - iconName._height) / 2) + n; } function setStateVar(state) { if (state) { if (trueOverSkin.length == 0) { rolloverSkin = tus; } else { rolloverSkin = trs; } if (trueOverIcon.length == 0) { rolloverIcon = tui; } else { rolloverIcon = tri; } upSkin = tus; downSkin = tds; disabledSkin = dts; upIcon = tui; downIcon = tdi; disabledIcon = dti; } else { if (falseOverSkin.length == 0) { rolloverSkin = fus; } else { rolloverSkin = frs; } if (falseOverIcon.length == 0) { rolloverIcon = fui; } else { rolloverIcon = fri; } upSkin = fus; downSkin = fds; disabledSkin = dfs; upIcon = fui; downIcon = fdi; disabledIcon = dfi; } __state = state; } function setState(state) { if (state != __state) { setStateVar(state); invalidate(); } } function size(Void) { refresh(); } function draw(Void) { if (initializing) { initializing = false; skinName.visible = true; iconName.visible = true; } size(); } function getState(Void) { return(__state); } function setToggle(val) { __toggle = val; if (__toggle == false) { setState(false); } } function getToggle(Void) { return(__toggle); } function set toggle(val) { setToggle(val); //return(toggle); } function get toggle() { return(getToggle()); } function set value(val) { setSelected(val); //return(value); } function get value() { return(getSelected()); } function set selected(val) { setSelected(val); //return(selected); } function get selected() { return(getSelected()); } function setSelected(val) { if (__toggle) { setState(val); } else { setState((initializing ? (val) : (__state))); } } function getSelected() { return(__state); } function setEnabled(val) { if (enabled != val) { super.setEnabled(val); invalidate(); } } function onPress(Void) { pressFocus(); phase = "down"; refresh(); dispatchEvent({type:"buttonDown"}); if (autoRepeat) { interval = setInterval(this, "onPressDelay", getStyle("repeatDelay")); } } function onPressDelay(Void) { dispatchEvent({type:"buttonDown"}); if (autoRepeat) { clearInterval(interval); interval = setInterval(this, "onPressRepeat", getStyle("repeatInterval")); } } function onPressRepeat(Void) { dispatchEvent({type:"buttonDown"}); updateAfterEvent(); } function onRelease(Void) { releaseFocus(); phase = "rollover"; if (interval != undefined) { clearInterval(interval); delete interval; } if (getToggle()) { setState(!getState()); } else { refresh(); } dispatchEvent({type:"click"}); } function onDragOut(Void) { phase = "up"; refresh(); dispatchEvent({type:"buttonDragOut"}); } function onDragOver(Void) { if (phase != "up") { onPress(); return(undefined); } phase = "down"; refresh(); } function onReleaseOutside(Void) { releaseFocus(); phase = "up"; if (interval != undefined) { clearInterval(interval); delete interval; } } function onRollOver(Void) { phase = "rollover"; refresh(); } function onRollOut(Void) { phase = "up"; refresh(); } function getLabel(Void) { return(fui.text); } function setLabel(val) { if (typeof(fui) == "string") { createLabel("fui", 8, val); fui.styleName = this; } else { fui.text = val; } var tf = fui._getTextFormat(); var extent = tf.getTextExtent2(val); fui._width = extent.width + 5; fui._height = extent.height + 5; iconName = fui; setView(__state); } function get emphasized() { return(__emphasized); } function set emphasized(val) { __emphasized = val; var i = 0; while (i < 8) { this[idNames[i]] = stateNames[i] + "Skin"; if (typeof(this[idNames[i + 8]]) == "movieclip") { this[idNames[i + 8]] = stateNames[i] + "Icon"; } i++; } showEmphasized(__emphasized); setStateVar(__state); invalidateStyle(); //return(emphasized); } function keyDown(e) { if (e.code == 32) { onPress(); } } function keyUp(e) { if (e.code == 32) { onRelease(); } } function onKillFocus(newFocus) { super.onKillFocus(); if (phase != "up") { phase = "up"; refresh(); } } static var symbolName = "SimpleButton"; static var symbolOwner = mx.controls.SimpleButton; static var version = "2.0.2.126"; var className = "SimpleButton"; var style3dInset = 4; var btnOffset = 1; var __toggle = false; var __state = false; var __emphasized = false; var __emphatic = false; static var falseUp = 0; static var falseDown = 1; static var falseOver = 2; static var falseDisabled = 3; static var trueUp = 4; static var trueDown = 5; static var trueOver = 6; static var trueDisabled = 7; var falseUpSkin = "SimpleButtonUp"; var falseDownSkin = "SimpleButtonIn"; var falseOverSkin = ""; var falseDisabledSkin = "SimpleButtonUp"; var trueUpSkin = "SimpleButtonIn"; var trueDownSkin = ""; var trueOverSkin = ""; var trueDisabledSkin = "SimpleButtonIn"; var falseUpIcon = ""; var falseDownIcon = ""; var falseOverIcon = ""; var falseDisabledIcon = ""; var trueUpIcon = ""; var trueDownIcon = ""; var trueOverIcon = ""; var trueDisabledIcon = ""; var phase = "up"; var fui = "falseUpIcon"; var fus = "falseUpSkin"; var fdi = "falseDownIcon"; var fds = "falseDownSkin"; var frs = "falseOverSkin"; var fri = "falseOverIcon"; var dfi = "falseDisabledIcon"; var dfs = "falseDisabledSkin"; var tui = "trueUpIcon"; var tus = "trueUpSkin"; var tdi = "trueDownIcon"; var tds = "trueDownSkin"; var trs = "trueOverSkin"; var tri = "trueOverIcon"; var dts = "trueDisabledSkin"; var dti = "trueDisabledIcon"; var rolloverSkin = mx.controls.SimpleButton.prototype.frs; var rolloverIcon = mx.controls.SimpleButton.prototype.fri; var upSkin = mx.controls.SimpleButton.prototype.fus; var downSkin = mx.controls.SimpleButton.prototype.fds; var disabledSkin = mx.controls.SimpleButton.prototype.dfs; var upIcon = mx.controls.SimpleButton.prototype.fui; var downIcon = mx.controls.SimpleButton.prototype.fdi; var disabledIcon = mx.controls.SimpleButton.prototype.dfi; var initializing = true; var idNames = ["fus", "fds", "frs", "dfs", "tus", "tds", "trs", "dts", "fui", "fdi", "fri", "dfi", "tui", "tdi", "tri", "dti"]; var stateNames = ["falseUp", "falseDown", "falseOver", "falseDisabled", "trueUp", "trueDown", "trueOver", "trueDisabled"]; var refNames = ["upSkin", "downSkin", "rolloverSkin", "disabledSkin"]; var tagMap = {falseUpSkin:0, falseDownSkin:1, falseOverSkin:2, falseDisabledSkin:3, trueUpSkin:4, trueDownSkin:5, trueOverSkin:6, trueDisabledSkin:7, falseUpIcon:0, falseDownIcon:1, falseOverIcon:2, falseDisabledIcon:3, trueUpIcon:4, trueDownIcon:5, trueOverIcon:6, trueDisabledIcon:7}; }
Symbol 193 MovieClip [__Packages.mx.containers.Window] Frame 0
class mx.containers.Window extends mx.core.ScrollView { var destroyChildAt, __contentPath, boundingBox_mc, _parent, modalWindow, swapDepths, regX, _xmouse, regY, _ymouse, onMouseMove, move, back_mc, createClassObject, depth, titleStyleDeclaration, button_mc, validateNow, redraw, invalidate, _title, _child0, border_mc, __get__width, __get__height, size, vScroller, hScroller, closeButton, dispatchEvent; function Window () { super(); } function set contentPath(scrollableContent) { if (!initializing) { if (scrollableContent == undefined) { destroyChildAt(0); } else { if (this[mx.core.View.childNameBase + 0] != undefined) { destroyChildAt(0); } createChild(scrollableContent, "content", {styleName:this}); } } __contentPath = scrollableContent; //return(contentPath); } function get contentPath() { return(__contentPath); } function init(Void) { super.init(); boundingBox_mc._visible = false; boundingBox_mc._width = (boundingBox_mc._height = 0); } function delegateClick(obj) { _parent.dispatchEvent({type:"click"}); } function startDragging(Void) { if (modalWindow == undefined) { var o = _parent.createChildAtDepth("BoundingBox", mx.managers.DepthManager.kTop, {_visible:false}); swapDepths(o); o.removeMovieClip(); } regX = _xmouse; regY = _ymouse; onMouseMove = dragTracking; } function stopDragging(Void) { delete onMouseMove; } function dragTracking() { var newX = (_parent._xmouse - regX); var newY = (_parent._ymouse - regY); var slop = 5; var scr = mx.managers.SystemManager.__get__screen(); if (newX < ((scr.x - regX) + slop)) { newX = (scr.x - regX) + slop; } if (newX > ((scr.width + scr.x) - (regX + slop))) { newX = (scr.width + scr.x) - (regX + slop); } if (newY < ((scr.y - regY) + slop)) { newY = (scr.y - regY) + slop; } if (newY > ((scr.height + scr.y) - (regY + slop))) { newY = (scr.height + scr.y) - (regY + slop); } move(newX, newY); updateAfterEvent(); } function createChildren(Void) { super.createChildren(); if (back_mc == undefined) { createClassObject(mx.core.UIObject, "back_mc", 1); back_mc.createObject(skinTitleBackground, "back_mc", 0); } back_mc.visible = false; depth = 3; var l = new Object(); back_mc.useHandCursor = false; back_mc.onPress = function () { if (this._parent.enabled) { this._parent.startDragging(); } }; back_mc.onDragOut = (back_mc.onRollOut = (back_mc.onReleaseOutside = (back_mc.onRelease = function () { var p = this._parent; p.stopDragging(); }))); back_mc.tabEnabled = false; if (back_mc.title_mc == undefined) { back_mc.createLabel("title_mc", 1, title); var o = back_mc.title_mc; if (titleStyleDeclaration == undefined) { o.fontSize = 10; o.color = 16777215 /* 0xFFFFFF */; o.fontWeight = "bold"; } else { o.styleName = titleStyleDeclaration; } o.invalidateStyle(); } else { back_mc.title_mc.text = title; } var initObj = new Object(); initObj.falseUpSkin = skinCloseUp; initObj.falseOverSkin = skinCloseOver; initObj.falseDownSkin = skinCloseDown; initObj.falseDisabledSkin = skinCloseDisabled; initObj.tabEnabled = false; createClassObject(mx.controls.SimpleButton, "button_mc", 2, initObj); button_mc.clickHandler = delegateClick; button_mc.__set__visible(false); if (validateNow) { redraw(true); } else { invalidate(); } } function get title() { return(_title); } function set title(s) { _title = s; back_mc.title_mc.text = s; if (!initializing) { draw(); } //return(title); } function setEnabled(enable) { super.setEnabled(enable); button_mc.enabled = enable; _child0.enabled = enable; } function getComponentCount(Void) { return(1); } function getComponentRect(container) { if (container == 1) { var m = border_mc.__get__borderMetrics(); var o = new Object(); o.x = m.left; o.y = m.top + back_mc.height; o.width = (__get__width() - o.x) - m.right; o.height = (__get__height() - o.y) - m.bottom; return(o); } return(undefined); } function draw(Void) { if (initializing) { initializing = false; if (__contentPath != undefined) { contentPath = (__contentPath); } _child0.visible = true; border_mc.__set__visible(true); back_mc.visible = true; } size(); } function getViewMetrics(Void) { var o = super.getViewMetrics(); o.top = o.top + back_mc.height; return(o); } function doLayout(Void) { super.doLayout(); var m = border_mc.__get__borderMetrics(); m.right = m.right + ((vScroller.__get__visible() == true) ? (vScroller.__get__width()) : 0); m.bottom = m.bottom + ((hScroller.__get__visible() == true) ? (hScroller.__get__height()) : 0); var x = m.left; var y = m.top; back_mc.move(x, y); back_mc.back_mc.setSize((__get__width() - x) - m.right, back_mc.height); _child0.move(x, y + back_mc.height); if (_child0.size != mx.core.UIObject.prototype.size) { _child0.setSize((__get__width() - x) - m.right, ((__get__height() - y) - back_mc.height) - m.bottom); } button_mc.__set__visible(closeButton == true); button_mc.move(((__get__width() - x) - x) - button_mc.__get__width(), ((back_mc.height - button_mc.__get__height()) / 2) + y); var h = back_mc.title_mc.textHeight; var offset = (((back_mc.height - h) - 4) / 2); back_mc.title_mc.move(offset, offset - 1); back_mc.title_mc.setSize((__get__width() - offset) - offset, h + 4); } function createChild(id, name, props) { loadingChild = true; var newObj = super.createChild(id, name, props); loadingChild = false; return(newObj); } function childLoaded(obj) { super.childLoaded(obj); if (loadingChild) { dispatchEvent({type:"complete", current:obj.getBytesLoaded(), total:obj.getBytesTotal()}); } } static var symbolName = "Window"; static var symbolOwner = mx.containers.Window; static var version = "2.0.2.126"; var className = "Window"; static var skinIDBorder = 0; static var skinIDTitleBackground = 1; static var skinIDForm = 2; var idNames = new Array("border_mc", "back_mc", "content"); var skinTitleBackground = "TitleBackground"; var skinCloseUp = "CloseButtonUp"; var skinCloseOver = "CloseButtonOver"; var skinCloseDown = "CloseButtonDown"; var skinCloseDisabled = "CloseButtonDisabled"; var clipParameters = {title:1, contentPath:1, closeButton:1}; static var mergedClipParameters = mx.core.UIObject.mergeClipParameters(mx.containers.Window.prototype.clipParameters, mx.core.ScrollView.prototype.clipParameters); var initializing = true; var loadingChild = false; }
Symbol 115 MovieClip [__Packages.mx.managers.SystemManager] Frame 0
class mx.managers.SystemManager { static var _xAddEventListener, addEventListener, __addEventListener, _xRemoveEventListener, removeEventListener, __removeEventListener, form, __screen, dispatchEvent; function SystemManager () { } static function init(Void) { if (_initialized == false) { _initialized = true; mx.events.EventDispatcher.initialize(mx.managers.SystemManager); Mouse.addListener(mx.managers.SystemManager); Stage.addListener(mx.managers.SystemManager); _xAddEventListener = addEventListener; addEventListener = __addEventListener; _xRemoveEventListener = removeEventListener; removeEventListener = __removeEventListener; } } static function addFocusManager(f) { form = f; f.focusManager.activate(); } static function removeFocusManager(f) { } static function onMouseDown(Void) { var z = form; z.focusManager._onMouseDown(); } static function onResize(Void) { var w = Stage.width; var h = Stage.height; var m = _global.origWidth; var n = _global.origHeight; var a = Stage.align; var x = ((m - w) / 2); var y = ((n - h) / 2); if (a == "T") { y = 0; } else if (a == "B") { y = n - h; } else if (a == "L") { x = 0; } else if (a == "R") { x = m - w; } else if (a == "LT") { y = 0; x = 0; } else if (a == "TR") { y = 0; x = m - w; } else if (a == "LB") { y = n - h; x = 0; } else if (a == "RB") { y = n - h; x = m - w; } if (__screen == undefined) { __screen = new Object(); } __screen.x = x; __screen.y = y; __screen.width = w; __screen.height = h; _root.focusManager.relocate(); dispatchEvent({type:"resize"}); } static function get screen() { init(); if (__screen == undefined) { onResize(); } return(__screen); } static var _initialized = false; static var idleFrames = 0; static var isMouseDown = false; static var forms = new Array(); }
Symbol 194 MovieClip [__Packages.mx.controls.Alert] Frame 0
class mx.controls.Alert extends mx.containers.Window { static var style, titleStyleDeclaration, messageStyleDeclaration; var __set__visible, styleName, __set__contentPath, initializing, parent, __get__width, __get__height, move, _child0, __width, width, __height, height, border_mc, back_mc, invalidate; function Alert () { super(); } static function show(text, title, flags, parent, listener, icon, defButton) { var o = new Object(); var modal = ((flags & NONMODAL) ? false : true); if (parent == undefined) { parent = (o.parent = _root); } else { o.parent = parent; } o.okButton = ((flags & OK) ? true : false); o.cancelButton = ((flags & CANCEL) ? true : false); o.yesButton = ((flags & YES) ? true : false); o.noButton = ((flags & NO) ? true : false); o.defButton = defButton; if ((((o.okButton == false) && (o.cancelButton == false)) && (o.yesButton == false)) && (o.noButton == false)) { o.okButton = true; o.defButton = OK; } o.title = title; o.text = text; o.icon = icon; o.style = style; o.skinTitleBackground = titleBackground; o.titleStyleDeclaration = titleStyleDeclaration; o.validateNow = true; var m = mx.managers.PopUpManager.createPopUp(parent, mx.controls.Alert, modal, o); if (m == undefined) { trace("Failed to create a new alert, probably because there is no Alert in the Library"); } m.addEventListener("click", listener); return(m); } function init(Void) { super.init(); __set__visible(false); } function createChildren(Void) { if (messageStyleDeclaration != undefined) { styleName = messageStyleDeclaration; } var tmp = mx.controls.alertClasses.AlertForm; __set__contentPath(tmp); super.createChildren(); } function getViewMetrics(Void) { var o = super.getViewMetrics(); return(o); } function doLayout(Void) { super.doLayout(); } function draw(Void) { var i = initializing; super.draw(); if (i) { var p = new Object(); p.x = parent._x; p.y = parent._y; parent.localToGlobal(p); var w = parent.width; var h = parent.height; if (((parent == _root) && (parent._parent == undefined)) || (w == undefined)) { var s = mx.managers.SystemManager.__get__screen(); w = s.width; h = s.height; p.x = s.x; p.y = s.y; } if (_global.isLivePreview) { return(undefined); } p.x = p.x + ((w - __get__width()) / 2); p.y = p.y + ((h - __get__height()) / 2); parent.globalToLocal(p); move(p.x, p.y); if (_child0.defButtonName != undefined) { _child0[_child0.defButtonName].setFocus(); } else { _child0.buttons[0].setFocus(); } } } function size(Void) { if (_global.isLivePreview) { __width = width; __height = height; } else { var s = _child0.getSize(); if (isNaN(s.width) || (s.width < 20)) { s.width = 96; } if (isNaN(s.height) || (s.height < 20)) { s.height = 66; } var m = border_mc.__get__borderMetrics(); if (!allowSize) { __width = s.width + (2 * m.left); __height = ((s.height + m.top) + m.bottom) + back_mc.height; allowSize = false; } } super.size(); } function setSize(w, h) { __width = w; __height = h; initializing = (allowSize = true); invalidate(); } static var symbolOwner = mx.containers.Window; static var version = "2.0.2.126"; static var buttonWidth = 50; static var buttonHeight = 22; static var okLabel = "OK"; static var yesLabel = "Yes"; static var noLabel = "No"; static var cancelLabel = "Cancel"; static var buttonUp = "ButtonSkin"; static var buttonDown = "ButtonSkin"; static var buttonOver = "ButtonSkin"; static var titleBackground = "TitleBackground"; static var buttonUpEmphasized = "ButtonSkin"; static var buttonOverEmphasized = "ButtonSkin"; static var buttonDownEmphasized = "ButtonSkin"; var className = "Alert"; var allowSize = false; static var NONMODAL = 32768; static var YES = 1; static var NO = 2; static var OK = 4; static var CANCEL = 8; static var P = _root; }
Symbol 169 MovieClip [__Packages.mx.managers.PopUpManager] Frame 0
class mx.managers.PopUpManager { var popUp, setSize, move, modalWindow, _parent, _name, _visible, owner; function PopUpManager () { } static function createModalWindow(parent, o, broadcastOutsideEvents) { var modalWindow = parent.createChildAtDepth("Modal", mx.managers.DepthManager.kTopmost); modalWindow.setDepthBelow(o); o.modalID = modalWindow._name; modalWindow._alpha = _global.style.modalTransparency; modalWindow.tabEnabled = false; if (broadcastOutsideEvents) { modalWindow.onPress = mixins.onPress; } else { modalWindow.onPress = mixins.nullFunction; } modalWindow.onRelease = mixins.nullFunction; modalWindow.resize = mixins.resize; mx.managers.SystemManager.init(); mx.managers.SystemManager.addEventListener("resize", modalWindow); modalWindow.resize(); modalWindow.useHandCursor = false; modalWindow.popUp = o; o.modalWindow = modalWindow; o.deletePopUp = mixins.deletePopUp; o.setVisible = mixins.setVisible; o.getVisible = mixins.getVisible; o.addProperty("visible", o.getVisible, o.setVisible); } static function createPopUp(parent, className, modal, initobj, broadcastOutsideEvents) { if (mixins == undefined) { mixins = new mx.managers.PopUpManager(); } if (broadcastOutsideEvents == undefined) { broadcastOutsideEvents = false; } var localRoot = parent._root; if (localRoot == undefined) { localRoot = _root; } while (parent != localRoot) { parent = parent._parent; } initobj.popUp = true; var o = parent.createClassChildAtDepth(className, ((broadcastOutsideEvents || (modal)) ? (mx.managers.DepthManager.kTopmost) : (mx.managers.DepthManager.kTop)), initobj); var r = _root; var useFocusManager = (r.focusManager != undefined); while (r._parent != undefined) { r = r._parent._root; if (r.focusManager != undefined) { useFocusManager = true; break; } } if (useFocusManager) { o.createObject("FocusManager", "focusManager", -1); if (o._visible == false) { mx.managers.SystemManager.deactivate(o); } } if (modal) { createModalWindow(parent, o, broadcastOutsideEvents); } else { if (broadcastOutsideEvents) { o.mouseListener = new Object(); o.mouseListener.owner = o; o.mouseListener.onMouseDown = mixins.onMouseDown; Mouse.addListener(o.mouseListener); } o.deletePopUp = mixins.deletePopUp; } return(o); } function onPress(Void) { var root = popUp._root; if (root == undefined) { root = _root; } if (popUp.hitTest(root._xmouse, root._ymouse, false)) { return(undefined); } popUp.dispatchEvent({type:"mouseDownOutside"}); } function nullFunction(Void) { } function resize(Void) { var s = mx.managers.SystemManager.__get__screen(); setSize(s.width, s.height); move(s.x, s.y); } function deletePopUp(Void) { if (modalWindow != undefined) { _parent.destroyObject(modalWindow._name); } _parent.destroyObject(_name); } function setVisible(v, noEvent) { super.setVisible(v, noEvent); modalWindow._visible = v; } function getVisible(Void) { return(_visible); } function onMouseDown(Void) { var root = owner._root; if (root == undefined) { root = _root; } var pt = new Object(); pt.x = root._xmouse; pt.y = root._ymouse; root.localToGlobal(pt); if (owner.hitTest(pt.x, pt.y, false)) { } else { owner.mouseDownOutsideHandler(owner); } } static var version = "2.0.2.126"; static var mixins = undefined; }
Symbol 219 MovieClip [__Packages.mx.controls.alertClasses.AlertForm] Frame 0
class mx.controls.alertClasses.AlertForm extends mx.core.UIComponent { var _parent, tabChildren, tabEnabled, text_mc, createClassObject, textMeasure_mc, createTextField, icon_mc, setSkin, buttons, doLater, createClassChildAtDepth, extent, __get__height, __get__width, detail; function AlertForm () { super(); } function init(Void) { super.init(); } function setDefaultButton() { _parent.focusManager.defaultPushButton = this[defButtonName]; } function createChildren(Void) { tabChildren = true; tabEnabled = false; if (text_mc == undefined) { createClassObject(mx.controls.TextArea, "text_mc", 0, {styleName:this, borderStyle:"none", readOnly:true}); } text_mc.tabEnabled = false; text_mc.tabChildren = false; text_mc.hScrollPolicy = "off"; text_mc.vScrollPolicy = "off"; text_mc.label.selectable = false; if (textMeasure_mc == undefined) { createTextField("textMeasure_mc", -1, 0, 0, 0, 0); } textMeasure_mc._visible = false; textMeasure_mc.multiline = true; textMeasure_mc.wordWrap = true; textMeasure_mc.autoSize = "left"; if ((icon_mc == undefined) && (_parent.icon != undefined)) { setSkin(1, _parent.icon); } buttons = new Array(); var defButton = _parent.defButton; if (_parent.okButton) { createButton("okButton", mx.controls.Alert.okLabel, mx.controls.Alert.OK); if (defButton == mx.controls.Alert.OK) { defButtonName = "okButton"; } } if (_parent.yesButton) { createButton("yesButton", mx.controls.Alert.yesLabel, mx.controls.Alert.YES); if (defButton == mx.controls.Alert.YES) { defButtonName = "yesButton"; } } if (_parent.noButton) { createButton("noButton", mx.controls.Alert.noLabel, mx.controls.Alert.NO); if (defButton == mx.controls.Alert.NO) { defButtonName = "noButton"; } } if (_parent.cancelButton) { createButton("cancelButton", mx.controls.Alert.cancelLabel, mx.controls.Alert.CANCEL); if (defButton == mx.controls.Alert.CANCEL) { defButtonName = "cancelButton"; } } if (defButtonName != undefined) { this[defButtonName].emphasized = true; this[defButtonName].redraw(true); doLater(this, "setDefaultButton"); } } function createButton(name, title, detail) { var ss = mx.controls.Alert.buttonStyleDeclaration; var o = mx.controls.Button(createClassChildAtDepth(mx.controls.Button, mx.managers.DepthManager.kTop, {falseUpSkin:mx.controls.Alert.buttonUp, falseDownSkin:mx.controls.Alert.buttonDown, falseOverSkin:mx.controls.Alert.buttonOver, falseOverSkinEmphasized:mx.controls.Alert.buttonOverEmphasized, falseUpSkinEmphasized:mx.controls.Alert.buttonUpEmphasized, falseDownSkinEmphasized:mx.controls.Alert.buttonDownEmphasized, styleName:((ss == undefined) ? (this) : (mx.controls.Alert.buttonStyleDeclaration)), validateNow:true})); o.setLabel(title); o.setSize(mx.controls.Alert.buttonWidth, mx.controls.Alert.buttonHeight); buttons.push(o); o.clickHandler = onClick; o.detail = detail; this[name] = o; } function getSize(Void) { var s = new Object(); s.height = buttons[0].height + 24; var tf2 = _parent.back_mc.title_mc._getTextFormat(); extent = tf2.getTextExtent2(_parent.title); s.width = Math.max(Math.max(2, buttons.length) * (buttons[0].width + 8), (extent.width + 4) + 8); var tf = text_mc._getTextFormat(); extent = tf.getTextExtent2(_parent.text); textMeasure_mc._width = 2 * s.width; textMeasure_mc.setNewTextFormat(text_mc._getTextFormat()); textMeasure_mc.text = _parent.text; s.height = s.height + (textMeasure_mc.textHeight + 8); var numlines = Math.ceil(textMeasure_mc.textHeight / extent.height); if (numlines > 1) { extent.width = 2 * s.width; text_mc.__set__wordWrap(true); } var width = Math.min((extent.width + 4) + 8, 2 * s.width); var bWidth = s.width; s.width = Math.max(width, s.width) + 8; if (icon_mc != undefined) { extent.width = extent.width + (icon_mc.width + 8); width = Math.min((extent.width + 4) + 8, 2 * bWidth); s.width = Math.max(width, s.width) + 8; var i = (icon_mc.height - (numlines * (extent.height + 4))); if (i > 0) { s.height = s.height + i; } } return(s); } function draw(Void) { size(); _parent.visible = true; } function size(Void) { var y = ((__get__height() - buttons[0].height) - 8); var x = ((buttons.length * (buttons[0].width + 8)) - 8); x = (__get__width() - x) / 2; var i = 0; while (i < buttons.length) { buttons[i].move(x, y); buttons[i].tabIndex = i + 1; x = x + (buttons[i].width + 8); i++; } y = y - 8; x = Math.max(((__get__width() - extent.width) - 4) / 2, 8); if (icon_mc != undefined) { icon_mc.move(x, ((__get__height() - buttons[0].height) - icon_mc.height) / 2); x = x + (icon_mc.width + 8); } text_mc.move(x, 8); text_mc.setSize((__get__width() - x) - 8, y - 8); if (_parent.text == undefined) { text_mc.__set__text(""); } else { text_mc.__set__text(_parent.text); } } function onClick(evt) { var mb = mx.controls.Alert(_parent._parent); mb.__set__visible(false); mb.dispatchEvent({type:"click", detail:detail}); mb.deletePopUp(); } static var symbolOwner = mx.core.UIComponent; var idNames = ["text_mc", "icon_mc"]; var defButtonName = undefined; }
Symbol 218 MovieClip [__Packages.mx.controls.TextArea] Frame 0
class mx.controls.TextArea extends mx.core.ScrollView { var label, invalidate, initText, dispatchValueChangedEvent, getHPosition, setHPosition, getVPosition, setVPosition, _color, focusTextField, tfx, tfy, tfw, tfh, doLater, _vpos, _hpos, hookedV, vScroller, hookedH, hScroller, getViewMetrics, __get__width, __get__height, hScrollPolicy, vScrollPolicy, getStyle, getFocusManager, addEventListener, removeEventListener, _getTextFormat; function TextArea () { super(); } function get maxChars() { return(label.maxChars); } function set maxChars(x) { label.maxChars = x; //return(maxChars); } function get length() { return(label.length); } function get restrict() { return(label.restrict); } function set restrict(s) { label.restrict = ((s == "") ? null : (s)); //return(restrict); } function get wordWrap() { return(label.wordWrap); } function set wordWrap(s) { label.wordWrap = s; invalidate(); //return(wordWrap); } function get editable() { return(__editable); } function set editable(x) { __editable = x; label.type = (x ? "input" : "dynamic"); //return(editable); } function get password() { return(label.password); } function set password(s) { label.password = s; //return(password); } function get html() { return(getHtml()); } function set html(value) { setHtml(value); //return(html); } function getHtml() { return(label.html); } function setHtml(value) { if (value != label.html) { label.html = value; } } function get text() { return(getText()); } function set text(t) { setText(t); //return(text); } function getText() { if (initializing) { return(initText); } var l = label; if (l.html == true) { return(l.htmlText); } return(l.text); } function setText(t) { if (initializing) { initText = t; } else { var l = label; if (l.html == true) { l.htmlText = t; } else { l.text = t; } invalidate(); } dispatchValueChangedEvent(t); } function get hPosition() { return(getHPosition()); } function set hPosition(pos) { setHPosition(pos); label.hscroll = pos; label.background = false; //return(hPosition); } function get vPosition() { return(getVPosition()); } function set vPosition(pos) { setVPosition(pos); label.scroll = pos + 1; label.background = false; //return(vPosition); } function get maxVPosition() { var m = (label.maxscroll - 1); return(((m == undefined) ? 0 : (m))); } function get maxHPosition() { var m = label.maxhscroll; return(((m == undefined) ? 0 : (m))); } function init(Void) { super.init(); label.styleName = this; _color = mx.core.UIObject.textColorList; focusTextField = label; label.owner = this; label.onSetFocus = function (x) { this._parent.onSetFocus(x); }; label.onKillFocus = function (x) { this._parent.onKillFocus(x); }; label.drawFocus = function (b) { this._parent.drawFocus(b); }; label.onChanged = function () { this.owner.adjustScrollBars(); this.owner.dispatchEvent({type:"change"}); this.owner.dispatchValueChangedEvent(this.owner.text); }; label.onScroller = function () { this.owner.hPosition = this.hscroll; this.owner.vPosition = this.scroll - 1; }; if (text == undefined) { text = (""); } } function createChildren(Void) { super.createChildren(); label.autoSize = "none"; } function layoutContent(x, y, totalW, totalH, displayW, displayH) { var l = label; if ((((tfx != x) || (tfy != y)) || (tfw != displayW)) || (tfh != displayH)) { tfx = x; tfy = y; tfw = displayW; tfh = displayH; l.move(tfx, tfy); l.setSize(tfw, tfh); doLater(this, "adjustScrollBars"); } } function scrollChanged(Void) { var currentSelection = Selection; if (currentSelection.lastBeginIndex != undefined) { restoreSelection(); } label.background = false; } function onScroll(docObj) { var l = label; super.onScroll(docObj); l.hscroll = hPosition + 0; l.scroll = vPosition + 1; _vpos = l.scroll; _hpos = l.hscroll; l.background = false; if (hookedV != true) { vScroller.addEventListener("scrollChanged", this); hookedV = true; } if (hookedH != true) { hScroller.addEventListener("scrollChanged", this); hookedH = true; } } function size(Void) { var o = getViewMetrics(); var bW = (o.left + o.right); var bH = (o.top + o.bottom); var bX = o.left; var bY = o.top; tfx = bX; tfy = bY; tfw = __get__width() - bW; tfh = __get__height() - bH; super.size(); label.move(tfx, tfy); label.setSize(tfw, tfh); if (__get__height() <= 40) { hScrollPolicy = "off"; vScrollPolicy = "off"; } doLater(this, "adjustScrollBars"); } function setEnabled(enable) { vScroller.enabled = enable; hScroller.enabled = enable; label.type = (((editable == false) || (enable == false)) ? "dynamic" : "input"); label.selectable = enable; var tmpColor = getStyle((enable ? "color" : "disabledColor")); if (tmpColor == undefined) { tmpColor = (enable ? 0 : 8947848); } setColor(tmpColor); } function setColor(col) { label.textColor = col; } function setFocus(Void) { Selection.setFocus(label); } function onSetFocus(x) { var f = Selection.getFocus(); var o = eval (f); if (o != label) { Selection.setFocus(label); return(undefined); } getFocusManager().defaultPushButtonEnabled = false; addEventListener("keyDown", this); super.onSetFocus(x); } function onKillFocus(x) { getFocusManager().defaultPushButtonEnabled = true; removeEventListener("keyDown", this); super.onKillFocus(x); } function restoreSelection(x) { var currentSelection = Selection; Selection.setSelection(currentSelection.lastBeginIndex, currentSelection.lastEndIndex); label.scroll = _vpos; label.hscroll = _hpos; } function getLineOffsets(Void) { var tf = _getTextFormat(); var tw = tf.getTextExtent2(label.text); var x = _root._getTextExtent; x.setNewTextFormat(TextFormat(tf)); var ww = label.wordWrap; var offset = 0; var w = ((label._width - 2) - 2); var r = new Array(); var z = new String(label.text); var y = z.split("\r"); var m = 0; while (m < y.length) { r.push(offset); var s = y[m]; x.text = s; var l = Math.ceil(x.textWidth / w); var a = Math.floor(s.length / l); var n; while (ww && (x.textWidth > w)) { n = s.indexOf(" ", a); var k; if (n == -1) { n = s.lastIndexOf(" "); if (n == -1) { n = a; } } k = s.substr(0, n); x.text = k; if (x.textWidth > w) { while (x.textWidth > w) { var lastN = n; n = s.lastIndexOf(" ", n - 1); if (n == -1) { n = lastN - 1; } k = s.substr(0, n); x.text = k; } } else if (x.textWidth < w) { var lastN = n; while (x.textWidth < w) { lastN = n; n = s.indexOf(" ", n + 1); if (n == -1) { if (s.indexOf(" ", 0) != -1) { break; } n = lastN + 1; } k = s.substr(0, n); x.text = k; } n = lastN; } offset = offset + n; r.push(offset + 1); s = s.substr(n); if (s.charAt(0) == " ") { s = s.substr(1, s.length - 1); offset = offset + 1; } x.text = s; } offset = offset + (s.length + 1); m++; } return(r); } function keyDown(e) { var k = e.code; if (k == 34) { var rows = ((label.bottomScroll - label.scroll) + 1); var r = getLineOffsets(); var g = Math.min(label.bottomScroll + 1, label.maxscroll); if (g == label.maxscroll) { var l = label.length; Selection.setSelection(l, l); } else { label.scroll = g; Selection.setSelection(r[g - 1], r[g - 1]); } } else if (k == 33) { var rows = ((label.bottomScroll - label.scroll) + 1); var r = getLineOffsets(); var g = (label.scroll - 1); if (g < 1) { Selection.setSelection(0, 0); } else { Selection.setSelection(r[g - 1], r[g - 1]); label.scroll = Math.max(g - rows, 1); } } } function draw(Void) { var l = label; var t = getText(); if (initializing) { initializing = false; delete initText; } var tf = _getTextFormat(); l.embedFonts = tf.embedFonts == true; if (tf != undefined) { l.setTextFormat(tf); l.setNewTextFormat(tf); } l.multiline = true; l.wordWrap = wordWrap == true; if (l.html == true) { l.setTextFormat(tf); l.htmlText = t; } else { l.text = t; } l.type = ((editable == true) ? "input" : "dynamic"); size(); l.background = false; } function adjustScrollBars() { var l = label; var visibleRows = ((l.bottomScroll - l.scroll) + 1); var rows = ((visibleRows + l.maxscroll) - 1); if (rows < 1) { rows = 1; } var hWidth = 0; if ((l.textWidth + 5) > l._width) { if (!l.wordWrap) { hWidth = l._width + l.maxhscroll; } } else { l.hscroll = 0; l.background = false; } if ((l.height / visibleRows) != Math.round(l.height / visibleRows)) { rows--; } setScrollProperties(hWidth, 1, rows, l.height / visibleRows); } function setScrollProperties(colCount, colWidth, rwCount, rwHeight, hPadding, wPadding) { super.setScrollProperties(colCount, colWidth, rwCount, rwHeight, hPadding, wPadding); if (vScroller == undefined) { hookedV = false; } if (hScroller == undefined) { hookedH = false; } } function get tabIndex() { return(label.tabIndex); } function set tabIndex(w) { label.tabIndex = w; //return(tabIndex); } function set _accProps(val) { label._accProps = val; //return(_accProps); } function get _accProps() { return(label._accProps); } function get styleSheet() { return(label.styleSheet); } function set styleSheet(v) { label.styleSheet = v; //return(styleSheet); } static var symbolName = "TextArea"; static var symbolOwner = mx.controls.TextArea; static var version = "2.0.2.126"; var className = "TextArea"; var initializing = true; var clipParameters = {text:1, wordWrap:1, editable:1, maxChars:1, restrict:1, html:1, password:1}; static var mergedClipParameters = mx.core.UIObject.mergeClipParameters(mx.controls.TextArea.prototype.clipParameters, mx.core.ScrollView.prototype.clipParameters); var __vScrollPolicy = "auto"; var __hScrollPolicy = "auto"; var __editable = true; }
Symbol 108 MovieClip [__Packages.mx.controls.Button] Frame 0
class mx.controls.Button extends mx.controls.SimpleButton { var initializing, labelPath, initIcon, getState, enabled, phase, idNames, __width, __height, setState, invalidate, iconName, refresh, createLabel, _iconLinkageName, removeIcons, hitArea_mc, createEmptyObject; function Button () { super(); } function init(Void) { super.init(); } function draw() { if (initializing) { labelPath.visible = true; } super.draw(); if (initIcon != undefined) { _setIcon(initIcon); } delete initIcon; } function onRelease(Void) { super.onRelease(); } function createChildren(Void) { super.createChildren(); } function setSkin(tag, linkageName, initobj) { return(super.setSkin(tag, linkageName, initobj)); } function viewSkin(varName) { var skinStyle = (getState() ? "true" : "false"); skinStyle = skinStyle + (enabled ? (phase) : "disabled"); super.viewSkin(varName, {styleName:this, borderStyle:skinStyle}); } function invalidateStyle(c) { labelPath.invalidateStyle(c); super.invalidateStyle(c); } function setColor(c) { var i = 0; while (i < 8) { this[idNames[i]].redraw(true); i++; } } function setEnabled(enable) { labelPath.enabled = enable; super.setEnabled(enable); } function calcSize(tag, ref) { if ((__width == undefined) || (__height == undefined)) { return(undefined); } if (tag < 7) { ref.setSize(__width, __height, true); } } function size(Void) { setState(getState()); setHitArea(__width, __height); var i = 0; while (i < 8) { var ref = idNames[i]; if (typeof(this[ref]) == "movieclip") { this[ref].setSize(__width, __height, true); } i++; } super.size(); } function set labelPlacement(val) { __labelPlacement = val; invalidate(); //return(labelPlacement); } function get labelPlacement() { return(__labelPlacement); } function getLabelPlacement(Void) { return(__labelPlacement); } function setLabelPlacement(val) { __labelPlacement = val; invalidate(); } function getBtnOffset(Void) { if (getState()) { var n = btnOffset; } else if (phase == "down") { var n = btnOffset; } else { var n = 0; } return(n); } function setView(offset) { var n = (offset ? (btnOffset) : 0); var val = getLabelPlacement(); var iconW = 0; var iconH = 0; var labelW = 0; var labelH = 0; var labelX = 0; var labelY = 0; var lp = labelPath; var ic = iconName; var textW = lp.textWidth; var textH = lp.textHeight; var viewW = ((__width - borderW) - borderW); var viewH = ((__height - borderW) - borderW); if (ic != undefined) { iconW = ic._width; iconH = ic._height; } if ((val == "left") || (val == "right")) { if (lp != undefined) { lp._width = (labelW = Math.min(viewW - iconW, textW + 5)); lp._height = (labelH = Math.min(viewH, textH + 5)); } if (val == "right") { labelX = iconW; if (centerContent) { labelX = labelX + (((viewW - labelW) - iconW) / 2); } ic._x = labelX - iconW; } else { labelX = (viewW - labelW) - iconW; if (centerContent) { labelX = labelX / 2; } ic._x = labelX + labelW; } ic._y = (labelY = 0); if (centerContent) { ic._y = (viewH - iconH) / 2; labelY = (viewH - labelH) / 2; } if (!centerContent) { ic._y = ic._y + Math.max(0, (labelH - iconH) / 2); } } else { if (lp != undefined) { lp._width = (labelW = Math.min(viewW, textW + 5)); lp._height = (labelH = Math.min(viewH - iconH, textH + 5)); } labelX = (viewW - labelW) / 2; ic._x = (viewW - iconW) / 2; if (val == "top") { labelY = (viewH - labelH) - iconH; if (centerContent) { labelY = labelY / 2; } ic._y = labelY + labelH; } else { labelY = iconH; if (centerContent) { labelY = labelY + (((viewH - labelH) - iconH) / 2); } ic._y = labelY - iconH; } } var buff = (borderW + n); lp._x = labelX + buff; lp._y = labelY + buff; ic._x = ic._x + buff; ic._y = ic._y + buff; } function set label(lbl) { setLabel(lbl); //return(label); } function setLabel(label) { if (label == "") { labelPath.removeTextField(); refresh(); return(undefined); } if (labelPath == undefined) { var lp = createLabel("labelPath", 200, label); lp._width = lp.textWidth + 5; lp._height = lp.textHeight + 5; if (initializing) { lp.visible = false; } } else { delete labelPath.__text; labelPath.text = label; refresh(); } } function getLabel(Void) { return(((labelPath.__text != undefined) ? (labelPath.__text) : (labelPath.text))); } function get label() { return(getLabel()); } function _getIcon(Void) { return(_iconLinkageName); } function get icon() { if (initializing) { return(initIcon); } return(_iconLinkageName); } function _setIcon(linkage) { if (initializing) { if (linkage == "") { return(undefined); } initIcon = linkage; } else { if (linkage == "") { removeIcons(); return(undefined); } super.changeIcon(0, linkage); super.changeIcon(1, linkage); super.changeIcon(3, linkage); super.changeIcon(4, linkage); super.changeIcon(5, linkage); _iconLinkageName = linkage; refresh(); } } function set icon(linkage) { _setIcon(linkage); //return(icon); } function setHitArea(w, h) { if (hitArea_mc == undefined) { createEmptyObject("hitArea_mc", 100); } var ha = hitArea_mc; ha.clear(); ha.beginFill(16711680); ha.drawRect(0, 0, w, h); ha.endFill(); ha.setVisible(false); } static var symbolName = "Button"; static var symbolOwner = mx.controls.Button; var className = "Button"; static var version = "2.0.2.126"; var btnOffset = 0; var _color = "buttonColor"; var __label = "default value"; var __labelPlacement = "right"; var falseUpSkin = "ButtonSkin"; var falseDownSkin = "ButtonSkin"; var falseOverSkin = "ButtonSkin"; var falseDisabledSkin = "ButtonSkin"; var trueUpSkin = "ButtonSkin"; var trueDownSkin = "ButtonSkin"; var trueOverSkin = "ButtonSkin"; var trueDisabledSkin = "ButtonSkin"; var falseUpIcon = ""; var falseDownIcon = ""; var falseOverIcon = ""; var falseDisabledIcon = ""; var trueUpIcon = ""; var trueDownIcon = ""; var trueOverIcon = ""; var trueDisabledIcon = ""; var clipParameters = {labelPlacement:1, icon:1, toggle:1, selected:1, label:1}; static var mergedClipParameters = mx.core.UIObject.mergeClipParameters(mx.controls.Button.prototype.clipParameters, mx.controls.SimpleButton.prototype.clipParameters); var centerContent = true; var borderW = 1; }
Symbol 8 MovieClip [__Packages.mx.controls.UIScrollBar] Frame 0
class mx.controls.UIScrollBar extends mx.controls.scrollClasses.ScrollBar { var textField, wasHorizontal, __width, __height, _parent, synchScroll, setScrollProperties, __set__scrollPosition, initializing, _rotation, _xscale, hScroller, vScroller, onChanged, onScroller, scrollPosition, dispatchEvent; function UIScrollBar () { super(); } function init(Void) { super.init(); textField.owner = this; horizontal = (wasHorizontal); if (horizontal) { ((textField != undefined) ? (super.setSize(textField._width, 16)) : (super.setSize(__width, __height))); } else { ((textField != undefined) ? (super.setSize(16, textField._height)) : (super.setSize(__width, __height))); } if (horizontal) { var _local3 = __width; __height = __width; width = _local3; __width = 16; } textField.onScroller = function () { this.hPosition = this.hscroll; this.vPosition = this.scroll - 1; }; if (_targetInstanceName != undefined) { setScrollTarget(_targetInstanceName); _targetInstanceName.addListener(this); } } function get _targetInstanceName() { return(textField); } function get height() { if (wasHorizontal) { return(__width); } return(__height); } function get width() { if (wasHorizontal) { return(__height); } return(__width); } function size(Void) { super.size(); onTextChanged(); } function draw() { super.draw(); } function set _targetInstanceName(t) { if (t == undefined) { textField.removeListener(this); delete textField[(horizontal ? "hScroller" : "vScroller")]; if ((textField.hScroller != undefined) && (textField.vScroller != undefined)) { textField.unwatch("text"); textField.unwatch("htmltext"); } } var _local3 = _parent[t]; textField = _parent[t]; onTextChanged(); //return(_targetInstanceName); } function setSize(w, h) { if (horizontal) { super.setSize(h, w); } else { super.setSize(w, h); } } function onTextChanged(Void) { if (textField == undefined) { return(undefined); } clearInterval(synchScroll); if (horizontal) { var _local2 = textField.hscroll; setScrollProperties(textField._width, 0, textField.maxhscroll); __set__scrollPosition(Math.min(_local2, textField.maxhscroll)); } else { var _local2 = textField.scroll; var _local3 = textField.bottomScroll - textField.scroll; setScrollProperties(_local3, 1, textField.maxscroll); __set__scrollPosition(Math.min(_local2, textField.maxscroll)); } } function get horizontal() { return(wasHorizontal); } function set horizontal(v) { wasHorizontal = v; if (v and initializing) { if (_rotation == 90) { return; } _xscale = -100; _rotation = -90; } if (!initializing) { if (v) { if (_rotation == 0) { _rotation = -90; _xscale = -100; } } else if (_rotation == -90) { _rotation = 0; _xscale = 100; } } //return(horizontal); } function callback(prop, oldval, newval) { clearInterval(hScroller.synchScroll); clearInterval(vScroller.synchScroll); hScroller.synchScroll = setInterval(hScroller, "onTextChanged", 50); vScroller.synchScroll = setInterval(vScroller, "onTextChanged", 50); return(newval); } function setScrollTarget(tF) { if (tF == undefined) { textField.removeListener(this); delete textField[(horizontal ? "hScroller" : "vScroller")]; if ((textField.hScroller != undefined) && (textField.vScroller != undefined)) { textField.unwatch("text"); textField.unwatch("htmltext"); } } textField = undefined; if (!(tF instanceof TextField)) { return(undefined); } textField = tF; if (horizontal) { textField.hScroller = this; textField.hScroller.lineScrollSize = 5; } else { textField.vScroller = this; textField.vScroller.lineScrollSize = 1; } onTextChanged(); onChanged = function (Void) { this.onTextChanged(); }; onScroller = function (Void) { if (!this.isScrolling) { if (!this.horizontal) { this.scrollPosition = this.textField.scroll; } else { this.scrollPosition = this.textField.hscroll; } } }; textField.addListener(this); textField.watch("text", callback); textField.watch("htmlText", callback); } function scrollHandler(Void) { if (horizontal) { var _local2 = textField.background; textField.hscroll = scrollPosition; textField.background = _local2; } else { textField.scroll = scrollPosition; } } function setEnabled(enable) { super.setEnabled(enable); if (enable) { textField.addListener(this); } else { textField.removeListener(); } } function dispatchScrollEvent(detail) { dispatchEvent({type:"scroll"}); } static var symbolName = "UIScrollBar"; static var symbolOwner = mx.controls.UIScrollBar; var className = "UIScrollBar"; var clipParameters = {_targetInstanceName:1, horizontal:1}; static var mergedClipParameters = mx.core.UIObject.mergeClipParameters(mx.controls.UIScrollBar.prototype.clipParameters); static var version = "2.0.2.126"; }
Symbol 107 MovieClip [__Packages.mx.controls.VScrollBar] Frame 0
class mx.controls.VScrollBar extends mx.controls.scrollClasses.ScrollBar { var scrollIt; function VScrollBar () { super(); } function init(Void) { super.init(); } function isScrollBarKey(k) { if (k == 38) { scrollIt("Line", -1); return(true); } if (k == 40) { scrollIt("Line", 1); return(true); } if (k == 33) { scrollIt("Page", -1); return(true); } if (k == 34) { scrollIt("Page", 1); return(true); } return(super.isScrollBarKey(k)); } static var symbolName = "VScrollBar"; static var symbolOwner = mx.core.UIComponent; static var version = "2.0.2.126"; var className = "VScrollBar"; var minusMode = "Up"; var plusMode = "Down"; var minMode = "AtTop"; var maxMode = "AtBottom"; }
Symbol 111 MovieClip [__Packages.mx.skins.ColoredSkinElement] Frame 0
class mx.skins.ColoredSkinElement { var getStyle, _color, onEnterFrame; function ColoredSkinElement () { } function setColor(c) { if (c != undefined) { var _local2 = new Color(this); _local2.setRGB(c); } } function draw(Void) { setColor(getStyle(_color)); onEnterFrame = undefined; } function invalidateStyle(Void) { onEnterFrame = draw; } static function setColorStyle(p, colorStyle) { if (p._color == undefined) { p._color = colorStyle; } p.setColor = mixins.setColor; p.invalidateStyle = mixins.invalidateStyle; p.draw = mixins.draw; p.setColor(p.getStyle(colorStyle)); } static var mixins = new mx.skins.ColoredSkinElement(); }
Symbol 112 MovieClip [__Packages.mx.core.ext.UIObjectExtensions] Frame 0
class mx.core.ext.UIObjectExtensions { function UIObjectExtensions () { } static function addGeometry(tf, ui) { tf.addProperty("width", ui.__get__width, null); tf.addProperty("height", ui.__get__height, null); tf.addProperty("left", ui.__get__left, null); tf.addProperty("x", ui.__get__x, null); tf.addProperty("top", ui.__get__top, null); tf.addProperty("y", ui.__get__y, null); tf.addProperty("right", ui.__get__right, null); tf.addProperty("bottom", ui.__get__bottom, null); tf.addProperty("visible", ui.__get__visible, ui.__set__visible); } static function Extensions() { if (bExtended == true) { return(true); } bExtended = true; var _local6 = mx.core.UIObject.prototype; var _local9 = mx.skins.SkinElement.prototype; addGeometry(_local9, _local6); mx.events.UIEventDispatcher.initialize(_local6); var _local13 = mx.skins.ColoredSkinElement; mx.styles.CSSTextStyles.addTextStyles(_local6); var _local5 = MovieClip.prototype; _local5.getTopLevel = _local6.getTopLevel; _local5.createLabel = _local6.createLabel; _local5.createObject = _local6.createObject; _local5.createClassObject = _local6.createClassObject; _local5.createEmptyObject = _local6.createEmptyObject; _local5.destroyObject = _local6.destroyObject; _global.ASSetPropFlags(_local5, "getTopLevel", 1); _global.ASSetPropFlags(_local5, "createLabel", 1); _global.ASSetPropFlags(_local5, "createObject", 1); _global.ASSetPropFlags(_local5, "createClassObject", 1); _global.ASSetPropFlags(_local5, "createEmptyObject", 1); _global.ASSetPropFlags(_local5, "destroyObject", 1); _local5.__getTextFormat = _local6.__getTextFormat; _local5._getTextFormat = _local6._getTextFormat; _local5.getStyleName = _local6.getStyleName; _local5.getStyle = _local6.getStyle; _global.ASSetPropFlags(_local5, "__getTextFormat", 1); _global.ASSetPropFlags(_local5, "_getTextFormat", 1); _global.ASSetPropFlags(_local5, "getStyleName", 1); _global.ASSetPropFlags(_local5, "getStyle", 1); var _local7 = TextField.prototype; addGeometry(_local7, _local6); _local7.addProperty("enabled", function () { return(this.__enabled); }, function (x) { this.__enabled = x; this.invalidateStyle(); }); _local7.move = _local9.move; _local7.setSize = _local9.setSize; _local7.invalidateStyle = function () { this.invalidateFlag = true; }; _local7.draw = function () { if (this.invalidateFlag) { this.invalidateFlag = false; var _local2 = this._getTextFormat(); this.setTextFormat(_local2); this.setNewTextFormat(_local2); this.embedFonts = _local2.embedFonts == true; if (this.__text != undefined) { if (this.text == "") { this.text = this.__text; } delete this.__text; } this._visible = true; } }; _local7.setColor = function (color) { this.textColor = color; }; _local7.getStyle = _local5.getStyle; _local7.__getTextFormat = _local6.__getTextFormat; _local7.setValue = function (v) { this.text = v; }; _local7.getValue = function () { return(this.text); }; _local7.addProperty("value", function () { return(this.getValue()); }, function (v) { this.setValue(v); }); _local7._getTextFormat = function () { var _local2 = this.stylecache.tf; if (_local2 != undefined) { return(_local2); } _local2 = new TextFormat(); this.__getTextFormat(_local2); this.stylecache.tf = _local2; if (this.__enabled == false) { if (this.enabledColor == undefined) { var _local4 = this.getTextFormat(); this.enabledColor = _local4.color; } var _local3 = this.getStyle("disabledColor"); _local2.color = _local3; } else if (this.enabledColor != undefined) { if (_local2.color == undefined) { _local2.color = this.enabledColor; } } return(_local2); }; _local7.getPreferredWidth = function () { this.draw(); return(this.textWidth + 4); }; _local7.getPreferredHeight = function () { this.draw(); return(this.textHeight + 4); }; TextFormat.prototype.getTextExtent2 = function (s) { var _local3 = _root._getTextExtent; if (_local3 == undefined) { _root.createTextField("_getTextExtent", -2, 0, 0, 1000, 100); _local3 = _root._getTextExtent; _local3._visible = false; } _root._getTextExtent.text = s; var _local4 = this.align; this.align = "left"; _root._getTextExtent.setTextFormat(this); this.align = _local4; return({width:_local3.textWidth, height:_local3.textHeight}); }; if (_global.style == undefined) { _global.style = new mx.styles.CSSStyleDeclaration(); _global.cascadingStyles = true; _global.styles = new Object(); _global.skinRegistry = new Object(); if (_global._origWidth == undefined) { _global.origWidth = Stage.width; _global.origHeight = Stage.height; } } var _local4 = _root; while (_local4._parent != undefined) { _local4 = _local4._parent; } _local4.addProperty("width", function () { return(Stage.width); }, null); _local4.addProperty("height", function () { return(Stage.height); }, null); _global.ASSetPropFlags(_local4, "width", 1); _global.ASSetPropFlags(_local4, "height", 1); return(true); } static var bExtended = false; static var UIObjectExtended = Extensions(); static var UIObjectDependency = mx.core.UIObject; static var SkinElementDependency = mx.skins.SkinElement; static var CSSTextStylesDependency = mx.styles.CSSTextStyles; static var UIEventDispatcherDependency = mx.events.UIEventDispatcher; }
Symbol 113 MovieClip [__Packages.mx.skins.halo.Defaults] Frame 0
class mx.skins.halo.Defaults { var beginGradientFill, beginFill, moveTo, lineTo, curveTo, endFill; function Defaults () { } static function setThemeDefaults() { var _local2 = _global.style; _local2.themeColor = 8453965 /* 0x80FF4D */; _local2.disabledColor = 8684164 /* 0x848284 */; _local2.modalTransparency = 0; _local2.filled = true; _local2.stroked = true; _local2.strokeWidth = 1; _local2.strokeColor = 0; _local2.fillColor = 16777215 /* 0xFFFFFF */; _local2.repeatInterval = 35; _local2.repeatDelay = 500; _local2.fontFamily = "_sans"; _local2.fontSize = 12; _local2.selectionColor = 13500353 /* 0xCDFFC1 */; _local2.rollOverColor = 14942166 /* 0xE3FFD6 */; _local2.useRollOver = true; _local2.backgroundDisabledColor = 14540253 /* 0xDDDDDD */; _local2.selectionDisabledColor = 14540253 /* 0xDDDDDD */; _local2.selectionDuration = 200; _local2.openDuration = 250; _local2.borderStyle = "inset"; _local2.color = 734012 /* 0x0B333C */; _local2.textSelectedColor = 24371; _local2.textRollOverColor = 2831164 /* 0x2B333C */; _local2.textDisabledColor = 16777215 /* 0xFFFFFF */; _local2.vGridLines = true; _local2.hGridLines = false; _local2.vGridLineColor = 6710886 /* 0x666666 */; _local2.hGridLineColor = 6710886 /* 0x666666 */; _local2.headerColor = 15395562 /* 0xEAEAEA */; _local2.indentation = 17; _local2.folderOpenIcon = "TreeFolderOpen"; _local2.folderClosedIcon = "TreeFolderClosed"; _local2.defaultLeafIcon = "TreeNodeIcon"; _local2.disclosureOpenIcon = "TreeDisclosureOpen"; _local2.disclosureClosedIcon = "TreeDisclosureClosed"; _local2.popupDuration = 150; _local2.todayColor = 6710886 /* 0x666666 */; _local2 = (_global.styles.ScrollSelectList = new mx.styles.CSSStyleDeclaration()); _local2.backgroundColor = 16777215 /* 0xFFFFFF */; _local2.borderColor = 13290186 /* 0xCACACA */; _local2.borderStyle = "inset"; _local2 = (_global.styles.ComboBox = new mx.styles.CSSStyleDeclaration()); _local2.borderStyle = "inset"; _local2 = (_global.styles.NumericStepper = new mx.styles.CSSStyleDeclaration()); _local2.textAlign = "center"; _local2 = (_global.styles.RectBorder = new mx.styles.CSSStyleDeclaration()); _local2.borderColor = 14015965 /* 0xD5DDDD */; _local2.buttonColor = 7305079 /* 0x6F7777 */; _local2.shadowColor = 15658734 /* 0xEEEEEE */; _local2.highlightColor = 12897484 /* 0xC4CCCC */; _local2.shadowCapColor = 14015965 /* 0xD5DDDD */; _local2.borderCapColor = 9542041 /* 0x919999 */; var _local4 = new Object(); _local4.borderColor = 16711680 /* 0xFF0000 */; _local4.buttonColor = 16711680 /* 0xFF0000 */; _local4.shadowColor = 16711680 /* 0xFF0000 */; _local4.highlightColor = 16711680 /* 0xFF0000 */; _local4.shadowCapColor = 16711680 /* 0xFF0000 */; _local4.borderCapColor = 16711680 /* 0xFF0000 */; mx.core.UIComponent.prototype.origBorderStyles = _local4; var _local3; _local3 = (_global.styles.TextInput = new mx.styles.CSSStyleDeclaration()); _local3.backgroundColor = 16777215 /* 0xFFFFFF */; _local3.borderStyle = "inset"; _global.styles.TextArea = _global.styles.TextInput; _local3 = (_global.styles.Window = new mx.styles.CSSStyleDeclaration()); _local3.borderStyle = "default"; _local3 = (_global.styles.windowStyles = new mx.styles.CSSStyleDeclaration()); _local3.fontWeight = "bold"; _local3 = (_global.styles.dataGridStyles = new mx.styles.CSSStyleDeclaration()); _local3.fontWeight = "bold"; _local3 = (_global.styles.Alert = new mx.styles.CSSStyleDeclaration()); _local3.borderStyle = "alert"; _local3 = (_global.styles.ScrollView = new mx.styles.CSSStyleDeclaration()); _local3.borderStyle = "inset"; _local3 = (_global.styles.View = new mx.styles.CSSStyleDeclaration()); _local3.borderStyle = "none"; _local3 = (_global.styles.ProgressBar = new mx.styles.CSSStyleDeclaration()); _local3.color = 11187123 /* 0xAAB3B3 */; _local3.fontWeight = "bold"; _local3 = (_global.styles.AccordionHeader = new mx.styles.CSSStyleDeclaration()); _local3.fontWeight = "bold"; _local3.fontSize = "11"; _local3 = (_global.styles.Accordion = new mx.styles.CSSStyleDeclaration()); _local3.borderStyle = "solid"; _local3.backgroundColor = 16777215 /* 0xFFFFFF */; _local3.borderColor = 9081738 /* 0x8A938A */; _local3.headerHeight = 22; _local3.marginLeft = (_local3.marginRight = (_local3.marginTop = (_local3.marginBottom = -1))); _local3.verticalGap = -1; _local3 = (_global.styles.DateChooser = new mx.styles.CSSStyleDeclaration()); _local3.borderColor = 9542041 /* 0x919999 */; _local3.headerColor = 16777215 /* 0xFFFFFF */; _local3 = (_global.styles.CalendarLayout = new mx.styles.CSSStyleDeclaration()); _local3.fontSize = 10; _local3.textAlign = "right"; _local3.color = 2831164 /* 0x2B333C */; _local3 = (_global.styles.WeekDayStyle = new mx.styles.CSSStyleDeclaration()); _local3.fontWeight = "bold"; _local3.fontSize = 11; _local3.textAlign = "center"; _local3.color = 2831164 /* 0x2B333C */; _local3 = (_global.styles.TodayStyle = new mx.styles.CSSStyleDeclaration()); _local3.color = 16777215 /* 0xFFFFFF */; _local3 = (_global.styles.HeaderDateText = new mx.styles.CSSStyleDeclaration()); _local3.fontSize = 12; _local3.fontWeight = "bold"; _local3.textAlign = "center"; } function drawRoundRect(x, y, w, h, r, c, alpha, rot, gradient, ratios) { if (typeof(r) == "object") { var _local18 = r.br; var _local16 = r.bl; var _local15 = r.tl; var _local10 = r.tr; } else { var _local10 = r; var _local15 = _local10; var _local16 = _local15; var _local18 = _local16; } if (typeof(c) == "object") { if (typeof(alpha) != "object") { var _local9 = [alpha, alpha]; } else { var _local9 = alpha; } if (ratios == undefined) { ratios = [0, 255]; } var _local14 = h * 0.7; if (typeof(rot) != "object") { var _local11 = {matrixType:"box", x:-_local14, y:_local14, w:w * 2, h:h * 4, r:rot * 0.0174532925199433 /* Math.PI/180 */}; } else { var _local11 = rot; } if (gradient == "radial") { beginGradientFill("radial", c, _local9, ratios, _local11); } else { beginGradientFill("linear", c, _local9, ratios, _local11); } } else if (c != undefined) { beginFill(c, alpha); } r = _local18; var _local13 = r - (r * 0.707106781186547); var _local12 = r - (r * 0.414213562373095); moveTo(x + w, (y + h) - r); lineTo(x + w, (y + h) - r); curveTo(x + w, (y + h) - _local12, (x + w) - _local13, (y + h) - _local13); curveTo((x + w) - _local12, y + h, (x + w) - r, y + h); r = _local16; _local13 = r - (r * 0.707106781186547); _local12 = r - (r * 0.414213562373095); lineTo(x + r, y + h); curveTo(x + _local12, y + h, x + _local13, (y + h) - _local13); curveTo(x, (y + h) - _local12, x, (y + h) - r); r = _local15; _local13 = r - (r * 0.707106781186547); _local12 = r - (r * 0.414213562373095); lineTo(x, y + r); curveTo(x, y + _local12, x + _local13, y + _local13); curveTo(x + _local12, y, x + r, y); r = _local10; _local13 = r - (r * 0.707106781186547); _local12 = r - (r * 0.414213562373095); lineTo((x + w) - r, y); curveTo((x + w) - _local12, y, (x + w) - _local13, y + _local13); curveTo(x + w, y + _local12, x + w, y + r); lineTo(x + w, (y + h) - r); if (c != undefined) { endFill(); } } static function classConstruct() { mx.core.ext.UIObjectExtensions.Extensions(); setThemeDefaults(); mx.core.UIObject.prototype.drawRoundRect = mx.skins.halo.Defaults.prototype.drawRoundRect; return(true); } static var classConstructed = classConstruct(); static var CSSStyleDeclarationDependency = mx.styles.CSSStyleDeclaration; static var UIObjectExtensionsDependency = mx.core.ext.UIObjectExtensions; static var UIObjectDependency = mx.core.UIObject; }
Symbol 116 MovieClip [__Packages.mx.managers.FocusManager] Frame 0
class mx.managers.FocusManager extends mx.core.UIComponent { var __defaultPushButton, defPushButton, form, move, tabEnabled, _width, _height, _x, _y, _alpha, _parent, tabCapture, watch, lastMouse, _visible, lastFocus, doLater, lastSelFocus, cancelAllDoLaters, _searchKey, _lastTarget, _firstNode, _nextIsNext, _nextNode, _lastx, _prevNode, _needPrev, _foundList, _prevObj, _nextObj, _firstObj, _lastObj, _lastNode, lastTabFocus, findFocusFromObject; function FocusManager () { super(); } function get defaultPushButton() { return(__defaultPushButton); } function set defaultPushButton(x) { if (x != __defaultPushButton) { __defaultPushButton.__set__emphasized(false); __defaultPushButton = x; defPushButton = x; x.__set__emphasized(true); } //return(defaultPushButton); } function getMaxTabIndex(o) { var _local3 = 0; var _local6; for (_local6 in o) { var _local2 = o[_local6]; if (_local2._parent == o) { if (_local2.tabIndex != undefined) { if (_local2.tabIndex > _local3) { _local3 = _local2.tabIndex; } } if (_local2.tabChildren == true) { var _local4 = getMaxTabIndex(_local2); if (_local4 > _local3) { _local3 = _local4; } } } } return(_local3); } function getNextTabIndex(Void) { return(getMaxTabIndex(form) + 1); } function get nextTabIndex() { return(getNextTabIndex()); } function relocate(Void) { var _local2 = mx.managers.SystemManager.__get__screen(); move(_local2.x - 1, _local2.y - 1); } function init(Void) { super.init(); tabEnabled = false; _width = (_height = 1); _x = (_y = -1); _alpha = 0; _parent.focusManager = this; _parent.tabChildren = true; _parent.tabEnabled = false; form = _parent; _parent.addEventListener("hide", this); _parent.addEventListener("reveal", this); mx.managers.SystemManager.init(); mx.managers.SystemManager.addFocusManager(form); tabCapture.tabIndex = 0; watch("enabled", enabledChanged); Selection.addListener(this); lastMouse = new Object(); _global.ASSetPropFlags(_parent, "focusManager", 1); _global.ASSetPropFlags(_parent, "tabChildren", 1); _global.ASSetPropFlags(_parent, "tabEnabled", 1); } function enabledChanged(id, oldValue, newValue) { _visible = newValue; return(newValue); } function activate(Void) { Key.addListener(this); activated = (_visible = true); if (lastFocus != undefined) { bNeedFocus = true; if (!mx.managers.SystemManager.isMouseDown) { doLater(this, "restoreFocus"); } } } function deactivate(Void) { Key.removeListener(this); activated = (_visible = false); var _local2 = getSelectionFocus(); var _local3 = getActualFocus(_local2); if (isOurFocus(_local3)) { lastSelFocus = _local2; lastFocus = _local3; } cancelAllDoLaters(); } function isOurFocus(o) { if (o.focusManager == this) { return(true); } while (o != undefined) { if (o.focusManager != undefined) { return(false); } if (o._parent == _parent) { return(true); } o = o._parent; } return(false); } function onSetFocus(o, n) { if (n == null) { if (activated) { bNeedFocus = true; } } else { var _local2 = getFocus(); if (isOurFocus(_local2)) { bNeedFocus = false; lastFocus = _local2; lastSelFocus = n; } } } function restoreFocus(Void) { var _local2 = lastSelFocus.hscroll; if (_local2 != undefined) { var _local5 = lastSelFocus.scroll; var _local4 = lastSelFocus.background; } lastFocus.setFocus(); var _local3 = Selection; Selection.setSelection(_local3.lastBeginIndex, _local3.lastEndIndex); if (_local2 != undefined) { lastSelFocus.scroll = _local5; lastSelFocus.hscroll = _local2; lastSelFocus.background = _local4; } } function onUnload(Void) { mx.managers.SystemManager.removeFocusManager(form); } function setFocus(o) { if (o == null) { Selection.setFocus(null); } else if (o.setFocus == undefined) { Selection.setFocus(o); } else { o.setFocus(); } } function getActualFocus(o) { var _local1 = o._parent; while (_local1 != undefined) { if (_local1.focusTextField != undefined) { while (_local1.focusTextField != undefined) { o = _local1; _local1 = _local1._parent; if (_local1 == undefined) { return(undefined); } if (_local1.focusTextField == undefined) { return(o); } } } if (_local1.tabEnabled != true) { return(o); } o = _local1; _local1 = o._parent; } return(undefined); } function getSelectionFocus() { var m = Selection.getFocus(); var o = eval (m); return(o); } function getFocus(Void) { var _local2 = getSelectionFocus(); return(getActualFocus(_local2)); } function walkTree(p, index, groupName, dir, lookup, firstChild) { var _local5 = true; var _local11; for (_local11 in p) { var _local2 = p[_local11]; if ((((_local2._parent == p) && (_local2.enabled != false)) && (_local2._visible != false)) && ((_local2.tabEnabled == true) || ((_local2.tabEnabled != false) && ((((((((_local2.onPress != undefined) || (_local2.onRelease != undefined)) || (_local2.onReleaseOutside != undefined)) || (_local2.onDragOut != undefined)) || (_local2.onDragOver != undefined)) || (_local2.onRollOver != undefined)) || (_local2.onRollOut != undefined)) || (_local2 instanceof TextField))))) { if (_local2._searchKey == _searchKey) { continue; } _local2._searchKey = _searchKey; if (_local2 != _lastTarget) { if (((_local2.groupName != undefined) || (groupName != undefined)) && (_local2.groupName == groupName)) { continue; } if ((_local2 instanceof TextField) && (_local2.selectable == false)) { continue; } if (_local5 || (((_local2.groupName != undefined) && (_local2.groupName == _firstNode.groupName)) && (_local2.selected == true))) { if (firstChild) { _firstNode = _local2; firstChild = false; } } if (_nextIsNext == true) { if ((((_local2.groupName != undefined) && (_local2.groupName == _nextNode.groupName)) && (_local2.selected == true)) || ((_nextNode == undefined) && ((_local2.groupName == undefined) || ((_local2.groupName != undefined) && (_local2.groupName != groupName))))) { _nextNode = _local2; } } if ((_local2.groupName == undefined) || (groupName != _local2.groupName)) { if (((_lastx.groupName != undefined) && (_local2.groupName == _lastx.groupName)) && (_lastx.selected == true)) { } else { _lastx = _local2; } } } else { _prevNode = _lastx; _needPrev = false; _nextIsNext = true; } if (_local2.tabIndex != undefined) { if (_local2.tabIndex == index) { if (_foundList[_local2._name] == undefined) { if (_needPrev) { _prevObj = _local2; _needPrev = false; } _nextObj = _local2; } } if (dir && (_local2.tabIndex > index)) { if (((_nextObj == undefined) || ((_nextObj.tabIndex > _local2.tabIndex) && (((_local2.groupName == undefined) || (_nextObj.groupName == undefined)) || (_local2.groupName != _nextObj.groupName)))) || ((((_nextObj.groupName != undefined) && (_nextObj.groupName == _local2.groupName)) && (_nextObj.selected != true)) && ((_local2.selected == true) || (_nextObj.tabIndex > _local2.tabIndex)))) { _nextObj = _local2; } } else if ((!dir) && (_local2.tabIndex < index)) { if (((_prevObj == undefined) || ((_prevObj.tabIndex < _local2.tabIndex) && (((_local2.groupName == undefined) || (_prevObj.groupName == undefined)) || (_local2.groupName != _prevObj.groupName)))) || ((((_prevObj.groupName != undefined) && (_prevObj.groupName == _local2.groupName)) && (_prevObj.selected != true)) && ((_local2.selected == true) || (_prevObj.tabIndex < _local2.tabIndex)))) { _prevObj = _local2; } } if (((_firstObj == undefined) || ((_local2.tabIndex < _firstObj.tabIndex) && (((_local2.groupName == undefined) || (_firstObj.groupName == undefined)) || (_local2.groupName != _firstObj.groupName)))) || ((((_firstObj.groupName != undefined) && (_firstObj.groupName == _local2.groupName)) && (_firstObj.selected != true)) && ((_local2.selected == true) || (_local2.tabIndex < _firstObj.tabIndex)))) { _firstObj = _local2; } if (((_lastObj == undefined) || ((_local2.tabIndex > _lastObj.tabIndex) && (((_local2.groupName == undefined) || (_lastObj.groupName == undefined)) || (_local2.groupName != _lastObj.groupName)))) || ((((_lastObj.groupName != undefined) && (_lastObj.groupName == _local2.groupName)) && (_lastObj.selected != true)) && ((_local2.selected == true) || (_local2.tabIndex > _lastObj.tabIndex)))) { _lastObj = _local2; } } if (_local2.tabChildren) { getTabCandidateFromChildren(_local2, index, groupName, dir, _local5 && (firstChild)); } _local5 = false; } else if (((_local2._parent == p) && (_local2.tabChildren == true)) && (_local2._visible != false)) { if (_local2 == _lastTarget) { if (_local2._searchKey == _searchKey) { continue; } _local2._searchKey = _searchKey; if (_prevNode == undefined) { var _local3 = _lastx; var _local7 = false; while (_local3 != undefined) { if (_local3 == _local2) { _local7 = true; break; } _local3 = _local3._parent; } if (_local7 == false) { _prevNode = _lastx; } } _needPrev = false; if (_nextNode == undefined) { _nextIsNext = true; } } else if (!((_local2.focusManager != undefined) && (_local2.focusManager._parent == _local2))) { if (_local2._searchKey == _searchKey) { continue; } _local2._searchKey = _searchKey; getTabCandidateFromChildren(_local2, index, groupName, dir, _local5 && (firstChild)); } _local5 = false; } } _lastNode = _lastx; if (lookup) { if (p._parent != undefined) { if (p != _parent) { if ((_prevNode == undefined) && (dir)) { _needPrev = true; } else if ((_nextNode == undefined) && (!dir)) { _nextIsNext = false; } _lastTarget = _lastTarget._parent; getTabCandidate(p._parent, index, groupName, dir, true); } } } } function getTabCandidate(o, index, groupName, dir, firstChild) { var _local2; var _local3 = true; if (o == _parent) { _local2 = o; _local3 = false; } else { _local2 = o._parent; if (_local2 == undefined) { _local2 = o; _local3 = false; } } walkTree(_local2, index, groupName, dir, _local3, firstChild); } function getTabCandidateFromChildren(o, index, groupName, dir, firstChild) { walkTree(o, index, groupName, dir, false, firstChild); } function getFocusManagerFromObject(o) { while (o != undefined) { if (o.focusManager != undefined) { return(o.focusManager); } o = o._parent; } return(undefined); } function tabHandler(Void) { bDrawFocus = true; var _local5 = getSelectionFocus(); var _local4 = getActualFocus(_local5); if (_local4 != _local5) { _local5 = _local4; } if (getFocusManagerFromObject(_local5) != this) { _local5 == undefined; } if (_local5 == undefined) { _local5 = form; } else if (_local5.tabIndex != undefined) { if ((_foundList != undefined) || (_foundList.tabIndex != _local5.tabIndex)) { _foundList = new Object(); _foundList.tabIndex = _local5.tabIndex; } _foundList[_local5._name] = _local5; } var _local3 = Key.isDown(16) != true; _searchKey = getTimer(); _needPrev = true; _nextIsNext = false; _lastx = undefined; _firstNode = undefined; _lastNode = undefined; _nextNode = undefined; _prevNode = undefined; _firstObj = undefined; _lastObj = undefined; _nextObj = undefined; _prevObj = undefined; _lastTarget = _local5; var _local6 = _local5; getTabCandidate(_local6, ((_local5.tabIndex == undefined) ? 0 : (_local5.tabIndex)), _local5.groupName, _local3, true); var _local2; if (_local3) { if (_nextObj != undefined) { _local2 = _nextObj; } else { _local2 = _firstObj; } } else if (_prevObj != undefined) { _local2 = _prevObj; } else { _local2 = _lastObj; } if (_local2.tabIndex != _local5.tabIndex) { _foundList = new Object(); _foundList.tabIndex = _local2.tabIndex; _foundList[_local2._name] = _local2; } else { if (_foundList == undefined) { _foundList = new Object(); _foundList.tabIndex = _local2.tabIndex; } _foundList[_local2._name] = _local2; } if (_local2 == undefined) { if (_local3 == false) { if (_nextNode != undefined) { _local2 = _nextNode; } else { _local2 = _firstNode; } } else if ((_prevNode == undefined) || (_local5 == form)) { _local2 = _lastNode; } else { _local2 = _prevNode; } } if (_local2 == undefined) { return(undefined); } lastTabFocus = _local2; setFocus(_local2); if (_local2.emphasized != undefined) { if (defPushButton != undefined) { _local5 = defPushButton; defPushButton = _local2; _local5.emphasized = false; _local2.emphasized = true; } } else if ((defPushButton != undefined) && (defPushButton != __defaultPushButton)) { _local5 = defPushButton; defPushButton = __defaultPushButton; _local5.emphasized = false; __defaultPushButton.__set__emphasized(true); } } function onKeyDown(Void) { mx.managers.SystemManager.idleFrames = 0; if (defaultPushButtonEnabled) { if (Key.getCode() == 13) { if (defaultPushButton != undefined) { doLater(this, "sendDefaultPushButtonEvent"); } } } } function sendDefaultPushButtonEvent(Void) { defPushButton.dispatchEvent({type:"click"}); } function getMousedComponentFromChildren(x, y, o) { for (var _local7 in o) { var _local2 = o[_local7]; if (((_local2._visible && (_local2.enabled)) && (_local2._parent == o)) && (_local2._searchKey != _searchKey)) { _local2._searchKey = _searchKey; if (_local2.hitTest(x, y, true)) { if ((_local2.onPress != undefined) || (_local2.onRelease != undefined)) { return(_local2); } var _local3 = getMousedComponentFromChildren(x, y, _local2); if (_local3 != undefined) { return(_local3); } return(_local2); } } } return(undefined); } function mouseActivate(Void) { if (!bNeedFocus) { return(undefined); } _searchKey = getTimer(); var _local2 = getMousedComponentFromChildren(lastMouse.x, lastMouse.y, form); if (_local2 instanceof mx.core.UIComponent) { return(undefined); } _local2 = findFocusFromObject(_local2); if (_local2 == lastFocus) { return(undefined); } if (_local2 == undefined) { doLater(this, "restoreFocus"); return(undefined); } var _local3 = _local2.hscroll; if (_local3 != undefined) { var _local6 = _local2.scroll; var _local5 = _local2.background; } setFocus(_local2); var _local4 = Selection; Selection.setSelection(_local4.lastBeginIndex, _local4.lastEndIndex); if (_local3 != undefined) { _local2.scroll = _local6; _local2.hscroll = _local3; _local2.background = _local5; } } function _onMouseDown(Void) { bDrawFocus = false; if (lastFocus != undefined) { lastFocus.drawFocus(false); } mx.managers.SystemManager.idleFrames = 0; var _local3 = Selection; _local3.lastBeginIndex = Selection.getBeginIndex(); _local3.lastEndIndex = Selection.getEndIndex(); lastMouse.x = _root._xmouse; lastMouse.y = _root._ymouse; _root.localToGlobal(lastMouse); } function onMouseUp(Void) { if (_visible) { doLater(this, "mouseActivate"); } } function handleEvent(e) { if (e.type == "reveal") { mx.managers.SystemManager.activate(form); } else { mx.managers.SystemManager.deactivate(form); } } static function enableFocusManagement() { if (!initialized) { initialized = true; Object.registerClass("FocusManager", mx.managers.FocusManager); if (_root.focusManager == undefined) { _root.createClassObject(mx.managers.FocusManager, "focusManager", mx.managers.DepthManager.highestDepth--); } } } static var symbolName = "FocusManager"; static var symbolOwner = mx.managers.FocusManager; static var version = "2.0.2.126"; var className = "FocusManager"; var bNeedFocus = false; var bDrawFocus = false; var defaultPushButtonEnabled = true; var activated = true; static var initialized = false; static var UIObjectExtensionsDependency = mx.core.ext.UIObjectExtensions; }
Symbol 117 MovieClip [__Packages.mx.skins.halo.FocusRect] Frame 0
class mx.skins.halo.FocusRect extends mx.skins.SkinElement { var boundingBox_mc, _xscale, _yscale, clear, beginFill, drawRoundRect, endFill, _visible; function FocusRect () { super(); boundingBox_mc._visible = false; boundingBox_mc._width = (boundingBox_mc._height = 0); } function draw(o) { o.adjustFocusRect(); } function setSize(w, h, r, a, rectCol) { _xscale = (_yscale = 100); clear(); if (typeof(r) == "object") { r.br = ((r.br > 2) ? (r.br - 2) : 0); r.bl = ((r.bl > 2) ? (r.bl - 2) : 0); r.tr = ((r.tr > 2) ? (r.tr - 2) : 0); r.tl = ((r.tl > 2) ? (r.tl - 2) : 0); beginFill(rectCol, a * 0.3); drawRoundRect(0, 0, w, h, r); drawRoundRect(2, 2, w - 4, h - 4, r); endFill(); r.br = ((r.br > 1) ? (r.br + 1) : 0); r.bl = ((r.bl > 1) ? (r.bl + 1) : 0); r.tr = ((r.tr > 1) ? (r.tr + 1) : 0); r.tl = ((r.tl > 1) ? (r.tl + 1) : 0); beginFill(rectCol, a * 0.3); drawRoundRect(1, 1, w - 2, h - 2, r); r.br = ((r.br > 1) ? (r.br - 1) : 0); r.bl = ((r.bl > 1) ? (r.bl - 1) : 0); r.tr = ((r.tr > 1) ? (r.tr - 1) : 0); r.tl = ((r.tl > 1) ? (r.tl - 1) : 0); drawRoundRect(2, 2, w - 4, h - 4, r); endFill(); } else { var _local5; if (r != 0) { _local5 = r - 2; } else { _local5 = 0; } beginFill(rectCol, a * 0.3); drawRoundRect(0, 0, w, h, r); drawRoundRect(2, 2, w - 4, h - 4, _local5); endFill(); beginFill(rectCol, a * 0.3); if (r != 0) { _local5 = r - 2; r = r - 1; } else { _local5 = 0; r = 0; } drawRoundRect(1, 1, w - 2, h - 2, r); drawRoundRect(2, 2, w - 4, h - 4, _local5); endFill(); } } function handleEvent(e) { if (e.type == "unload") { _visible = true; } else if (e.type == "resize") { e.target.adjustFocusRect(); } else if (e.type == "move") { e.target.adjustFocusRect(); } } static function classConstruct() { mx.core.UIComponent.prototype.drawFocus = function (focused) { var _local2 = this._parent.focus_mc; if (!focused) { _local2._visible = false; this.removeEventListener("unload", _local2); this.removeEventListener("move", _local2); this.removeEventListener("resize", _local2); } else { if (_local2 == undefined) { _local2 = this._parent.createChildAtDepth("FocusRect", mx.managers.DepthManager.kTop); _local2.tabEnabled = false; this._parent.focus_mc = _local2; } else { _local2._visible = true; } _local2.draw(this); if (_local2.getDepth() < this.getDepth()) { _local2.setDepthAbove(this); } this.addEventListener("unload", _local2); this.addEventListener("move", _local2); this.addEventListener("resize", _local2); } }; mx.core.UIComponent.prototype.adjustFocusRect = function () { var _local2 = this.getStyle("themeColor"); if (_local2 == undefined) { _local2 = 8453965 /* 0x80FF4D */; } var _local3 = this._parent.focus_mc; _local3.setSize(this.width + 4, this.height + 4, 0, 100, _local2); _local3.move(this.x - 2, this.y - 2); }; TextField.prototype.drawFocus = mx.core.UIComponent.prototype.drawFocus; TextField.prototype.adjustFocusRect = mx.core.UIComponent.prototype.adjustFocusRect; mx.skins.halo.FocusRect.prototype.drawRoundRect = mx.skins.halo.Defaults.prototype.drawRoundRect; return(true); } static var classConstructed = classConstruct(); static var DefaultsDependency = mx.skins.halo.Defaults; static var UIComponentDependency = mx.core.UIComponent; }
Symbol 118 MovieClip [__Packages.mx.managers.OverlappedWindows] Frame 0
class mx.managers.OverlappedWindows { function OverlappedWindows () { } static function checkIdle(Void) { if (mx.managers.SystemManager.idleFrames > 10) { mx.managers.SystemManager.dispatchEvent({type:"idle"}); } else { mx.managers.SystemManager.idleFrames++; } } static function __addEventListener(e, o, l) { if (e == "idle") { if (mx.managers.SystemManager.interval == undefined) { mx.managers.SystemManager.interval = setInterval(mx.managers.SystemManager.checkIdle, 100); } } mx.managers.SystemManager._xAddEventListener(e, o, l); } static function __removeEventListener(e, o, l) { if (e == "idle") { if (mx.managers.SystemManager._xRemoveEventListener(e, o, l) == 0) { clearInterval(mx.managers.SystemManager.interval); } } else { mx.managers.SystemManager._xRemoveEventListener(e, o, l); } } static function onMouseDown(Void) { mx.managers.SystemManager.idleFrames = 0; mx.managers.SystemManager.isMouseDown = true; var _local5 = _root; var _local3; var _local8 = _root._xmouse; var _local7 = _root._ymouse; if (mx.managers.SystemManager.form.modalWindow == undefined) { if (mx.managers.SystemManager.forms.length > 1) { var _local6 = mx.managers.SystemManager.forms.length; var _local4; _local4 = 0; while (_local4 < _local6) { var _local2 = mx.managers.SystemManager.forms[_local4]; if (_local2._visible) { if (_local2.hitTest(_local8, _local7)) { if (_local3 == undefined) { _local3 = _local2.getDepth(); _local5 = _local2; } else if (_local3 < _local2.getDepth()) { _local3 = _local2.getDepth(); _local5 = _local2; } } } _local4++; } if (_local5 != mx.managers.SystemManager.form) { mx.managers.SystemManager.activate(_local5); } } } var _local9 = mx.managers.SystemManager.form; _local9.focusManager._onMouseDown(); } static function onMouseMove(Void) { mx.managers.SystemManager.idleFrames = 0; } static function onMouseUp(Void) { mx.managers.SystemManager.isMouseDown = false; mx.managers.SystemManager.idleFrames = 0; } static function activate(f) { if (mx.managers.SystemManager.form != undefined) { if ((mx.managers.SystemManager.form != f) && (mx.managers.SystemManager.forms.length > 1)) { var _local1 = mx.managers.SystemManager.form; _local1.focusManager.deactivate(); } } mx.managers.SystemManager.form = f; f.focusManager.activate(); } static function deactivate(f) { if (mx.managers.SystemManager.form != undefined) { if ((mx.managers.SystemManager.form == f) && (mx.managers.SystemManager.forms.length > 1)) { var _local5 = mx.managers.SystemManager.form; _local5.focusManager.deactivate(); var _local3 = mx.managers.SystemManager.forms.length; var _local1; var _local2; _local1 = 0; while (_local1 < _local3) { if (mx.managers.SystemManager.forms[_local1] == f) { _local1 = _local1 + 1; while (_local1 < _local3) { if (mx.managers.SystemManager.forms[_local1]._visible == true) { _local2 = mx.managers.SystemManager.forms[_local1]; } _local1++; } mx.managers.SystemManager.form = _local2; break; } if (mx.managers.SystemManager.forms[_local1]._visible == true) { _local2 = mx.managers.SystemManager.forms[_local1]; } _local1++; } _local5 = mx.managers.SystemManager.form; _local5.focusManager.activate(); } } } static function addFocusManager(f) { mx.managers.SystemManager.forms.push(f); mx.managers.SystemManager.activate(f); } static function removeFocusManager(f) { var _local3 = mx.managers.SystemManager.forms.length; var _local1; _local1 = 0; while (_local1 < _local3) { if (mx.managers.SystemManager.forms[_local1] == f) { if (mx.managers.SystemManager.form == f) { mx.managers.SystemManager.deactivate(f); } mx.managers.SystemManager.forms.splice(_local1, 1); return(undefined); } _local1++; } } static function enableOverlappedWindows() { if (!initialized) { initialized = true; mx.managers.SystemManager.checkIdle = checkIdle; mx.managers.SystemManager.__addEventListener = __addEventListener; mx.managers.SystemManager.__removeEventListener = __removeEventListener; mx.managers.SystemManager.onMouseDown = onMouseDown; mx.managers.SystemManager.onMouseMove = onMouseMove; mx.managers.SystemManager.onMouseUp = onMouseUp; mx.managers.SystemManager.activate = activate; mx.managers.SystemManager.deactivate = deactivate; mx.managers.SystemManager.addFocusManager = addFocusManager; mx.managers.SystemManager.removeFocusManager = removeFocusManager; } } static var initialized = false; static var SystemManagerDependency = mx.managers.SystemManager; }
Symbol 119 MovieClip [__Packages.mx.styles.CSSSetStyle] Frame 0
class mx.styles.CSSSetStyle { var styleName, stylecache, _color, setColor, invalidateStyle; function CSSSetStyle () { } function _setStyle(styleProp, newValue) { this[styleProp] = newValue; if (mx.styles.StyleManager.TextStyleMap[styleProp] != undefined) { if (styleProp == "color") { if (isNaN(newValue)) { newValue = mx.styles.StyleManager.getColorName(newValue); this[styleProp] = newValue; if (newValue == undefined) { return(undefined); } } } _level0.changeTextStyleInChildren(styleProp); return(undefined); } if (mx.styles.StyleManager.isColorStyle(styleProp)) { if (isNaN(newValue)) { newValue = mx.styles.StyleManager.getColorName(newValue); this[styleProp] = newValue; if (newValue == undefined) { return(undefined); } } if (styleProp == "themeColor") { var _local7 = mx.styles.StyleManager.colorNames.haloBlue; var _local6 = mx.styles.StyleManager.colorNames.haloGreen; var _local8 = mx.styles.StyleManager.colorNames.haloOrange; var _local4 = {}; _local4[_local7] = 12188666 /* 0xB9FBFA */; _local4[_local6] = 13500353 /* 0xCDFFC1 */; _local4[_local8] = 16766319 /* 0xFFD56F */; var _local5 = {}; _local5[_local7] = 13958653 /* 0xD4FDFD */; _local5[_local6] = 14942166 /* 0xE3FFD6 */; _local5[_local8] = 16772787 /* 0xFFEEB3 */; var _local9 = _local4[newValue]; var _local10 = _local5[newValue]; if (_local9 == undefined) { _local9 = newValue; } if (_local10 == undefined) { _local10 = newValue; } setStyle("selectionColor", _local9); setStyle("rollOverColor", _local10); } _level0.changeColorStyleInChildren(styleName, styleProp, newValue); } else { if ((styleProp == "backgroundColor") && (isNaN(newValue))) { newValue = mx.styles.StyleManager.getColorName(newValue); this[styleProp] = newValue; if (newValue == undefined) { return(undefined); } } _level0.notifyStyleChangeInChildren(styleName, styleProp, newValue); } } function changeTextStyleInChildren(styleProp) { var _local4 = getTimer(); var _local5; for (_local5 in this) { var _local2 = this[_local5]; if (_local2._parent == this) { if (_local2.searchKey != _local4) { if (_local2.stylecache != undefined) { delete _local2.stylecache.tf; delete _local2.stylecache[styleProp]; } _local2.invalidateStyle(styleProp); _local2.changeTextStyleInChildren(styleProp); _local2.searchKey = _local4; } } } } function changeColorStyleInChildren(sheetName, colorStyle, newValue) { var _local6 = getTimer(); var _local7; for (_local7 in this) { var _local2 = this[_local7]; if (_local2._parent == this) { if (_local2.searchKey != _local6) { if (((_local2.getStyleName() == sheetName) || (sheetName == undefined)) || (sheetName == "_global")) { if (_local2.stylecache != undefined) { delete _local2.stylecache[colorStyle]; } if (typeof(_local2._color) == "string") { if (_local2._color == colorStyle) { var _local4 = _local2.getStyle(colorStyle); if (colorStyle == "color") { if (stylecache.tf.color != undefined) { stylecache.tf.color = _local4; } } _local2.setColor(_local4); } } else if (_local2._color[colorStyle] != undefined) { if (typeof(_local2) != "movieclip") { _local2._parent.invalidateStyle(); } else { _local2.invalidateStyle(colorStyle); } } } _local2.changeColorStyleInChildren(sheetName, colorStyle, newValue); _local2.searchKey = _local6; } } } } function notifyStyleChangeInChildren(sheetName, styleProp, newValue) { var _local5 = getTimer(); var _local6; for (_local6 in this) { var _local2 = this[_local6]; if (_local2._parent == this) { if (_local2.searchKey != _local5) { if (((_local2.styleName == sheetName) || ((_local2.styleName != undefined) && (typeof(_local2.styleName) == "movieclip"))) || (sheetName == undefined)) { if (_local2.stylecache != undefined) { delete _local2.stylecache[styleProp]; delete _local2.stylecache.tf; } delete _local2.enabledColor; _local2.invalidateStyle(styleProp); } _local2.notifyStyleChangeInChildren(sheetName, styleProp, newValue); _local2.searchKey = _local5; } } } } function setStyle(styleProp, newValue) { if (stylecache != undefined) { delete stylecache[styleProp]; delete stylecache.tf; } this[styleProp] = newValue; if (mx.styles.StyleManager.isColorStyle(styleProp)) { if (isNaN(newValue)) { newValue = mx.styles.StyleManager.getColorName(newValue); this[styleProp] = newValue; if (newValue == undefined) { return(undefined); } } if (styleProp == "themeColor") { var _local10 = mx.styles.StyleManager.colorNames.haloBlue; var _local9 = mx.styles.StyleManager.colorNames.haloGreen; var _local11 = mx.styles.StyleManager.colorNames.haloOrange; var _local6 = {}; _local6[_local10] = 12188666 /* 0xB9FBFA */; _local6[_local9] = 13500353 /* 0xCDFFC1 */; _local6[_local11] = 16766319 /* 0xFFD56F */; var _local7 = {}; _local7[_local10] = 13958653 /* 0xD4FDFD */; _local7[_local9] = 14942166 /* 0xE3FFD6 */; _local7[_local11] = 16772787 /* 0xFFEEB3 */; var _local12 = _local6[newValue]; var _local13 = _local7[newValue]; if (_local12 == undefined) { _local12 = newValue; } if (_local13 == undefined) { _local13 = newValue; } setStyle("selectionColor", _local12); setStyle("rollOverColor", _local13); } if (typeof(_color) == "string") { if (_color == styleProp) { if (styleProp == "color") { if (stylecache.tf.color != undefined) { stylecache.tf.color = newValue; } } setColor(newValue); } } else if (_color[styleProp] != undefined) { invalidateStyle(styleProp); } changeColorStyleInChildren(undefined, styleProp, newValue); } else { if ((styleProp == "backgroundColor") && (isNaN(newValue))) { newValue = mx.styles.StyleManager.getColorName(newValue); this[styleProp] = newValue; if (newValue == undefined) { return(undefined); } } invalidateStyle(styleProp); } if (mx.styles.StyleManager.isInheritingStyle(styleProp) || (styleProp == "styleName")) { var _local8; var _local5 = newValue; if (styleProp == "styleName") { _local8 = ((typeof(newValue) == "string") ? (_global.styles[newValue]) : (_local5)); _local5 = _local8.themeColor; if (_local5 != undefined) { _local8.rollOverColor = (_local8.selectionColor = _local5); } } notifyStyleChangeInChildren(undefined, styleProp, newValue); } } static function enableRunTimeCSS() { } static function classConstruct() { var _local2 = MovieClip.prototype; var _local3 = mx.styles.CSSSetStyle.prototype; mx.styles.CSSStyleDeclaration.prototype.setStyle = _local3._setStyle; _local2.changeTextStyleInChildren = _local3.changeTextStyleInChildren; _local2.changeColorStyleInChildren = _local3.changeColorStyleInChildren; _local2.notifyStyleChangeInChildren = _local3.notifyStyleChangeInChildren; _local2.setStyle = _local3.setStyle; _global.ASSetPropFlags(_local2, "changeTextStyleInChildren", 1); _global.ASSetPropFlags(_local2, "changeColorStyleInChildren", 1); _global.ASSetPropFlags(_local2, "notifyStyleChangeInChildren", 1); _global.ASSetPropFlags(_local2, "setStyle", 1); var _local4 = TextField.prototype; _local4.setStyle = _local2.setStyle; _local4.changeTextStyleInChildren = _local3.changeTextStyleInChildren; return(true); } static var classConstructed = classConstruct(); static var CSSStyleDeclarationDependency = mx.styles.CSSStyleDeclaration; }
Symbol 120 MovieClip [__Packages.mx.core.ext.UIComponentExtensions] Frame 0
class mx.core.ext.UIComponentExtensions { function UIComponentExtensions () { } static function Extensions() { if (bExtended == true) { return(true); } bExtended = true; TextField.prototype.setFocus = function () { Selection.setFocus(this); }; TextField.prototype.onSetFocus = function (oldFocus) { if (this.tabEnabled != false) { if (this.getFocusManager().bDrawFocus) { this.drawFocus(true); } } }; TextField.prototype.onKillFocus = function (oldFocus) { if (this.tabEnabled != false) { this.drawFocus(false); } }; TextField.prototype.drawFocus = mx.core.UIComponent.prototype.drawFocus; TextField.prototype.getFocusManager = mx.core.UIComponent.prototype.getFocusManager; mx.managers.OverlappedWindows.enableOverlappedWindows(); mx.styles.CSSSetStyle.enableRunTimeCSS(); mx.managers.FocusManager.enableFocusManagement(); } static var bExtended = false; static var UIComponentExtended = Extensions(); static var UIComponentDependency = mx.core.UIComponent; static var FocusManagerDependency = mx.managers.FocusManager; static var OverlappedWindowsDependency = mx.managers.OverlappedWindows; }
Symbol 122 MovieClip [__Packages.mx.skins.halo.RectBorder] Frame 0
class mx.skins.halo.RectBorder extends mx.skins.RectBorder { var offset, getStyle, borderStyleName, __borderMetrics, className, borderColorName, backgroundColorName, shadowColorName, highlightColorName, buttonColorName, __get__width, __get__height, clear, _color, drawRoundRect, beginFill, drawRect, endFill; function RectBorder () { super(); } function init(Void) { borderWidths.default = 3; super.init(); } function getBorderMetrics(Void) { if (offset == undefined) { var _local3 = getStyle(borderStyleName); offset = borderWidths[_local3]; } if ((getStyle(borderStyleName) == "default") || (getStyle(borderStyleName) == "alert")) { __borderMetrics = {left:3, top:1, right:3, bottom:3}; return(__borderMetrics); } return(super.getBorderMetrics()); } function drawBorder(Void) { var _local6 = _global.styles[className]; if (_local6 == undefined) { _local6 = _global.styles.RectBorder; } var _local5 = getStyle(borderStyleName); var _local7 = getStyle(borderColorName); if (_local7 == undefined) { _local7 = _local6[borderColorName]; } var _local8 = getStyle(backgroundColorName); if (_local8 == undefined) { _local8 = _local6[backgroundColorName]; } var _local16 = getStyle("backgroundImage"); if (_local5 != "none") { var _local14 = getStyle(shadowColorName); if (_local14 == undefined) { _local14 = _local6[shadowColorName]; } var _local13 = getStyle(highlightColorName); if (_local13 == undefined) { _local13 = _local6[highlightColorName]; } var _local12 = getStyle(buttonColorName); if (_local12 == undefined) { _local12 = _local6[buttonColorName]; } var _local11 = getStyle(borderCapColorName); if (_local11 == undefined) { _local11 = _local6[borderCapColorName]; } var _local10 = getStyle(shadowCapColorName); if (_local10 == undefined) { _local10 = _local6[shadowCapColorName]; } } offset = borderWidths[_local5]; var _local9 = offset; var _local3 = __get__width(); var _local4 = __get__height(); clear(); _color = undefined; if (_local5 == "none") { } else if (_local5 == "inset") { _color = colorList; draw3dBorder(_local11, _local12, _local7, _local13, _local14, _local10); } else if (_local5 == "outset") { _color = colorList; draw3dBorder(_local11, _local7, _local12, _local14, _local13, _local10); } else if (_local5 == "alert") { var _local15 = getStyle("themeColor"); drawRoundRect(0, 5, _local3, _local4 - 5, 5, 6184542, 10); drawRoundRect(1, 4, _local3 - 2, _local4 - 5, 4, [6184542, 6184542], 10, 0, "radial"); drawRoundRect(2, 0, _local3 - 4, _local4 - 2, 3, [0, 14342874], 100, 0, "radial"); drawRoundRect(2, 0, _local3 - 4, _local4 - 2, 3, _local15, 50); drawRoundRect(3, 1, _local3 - 6, _local4 - 4, 2, 16777215, 100); } else if (_local5 == "default") { drawRoundRect(0, 5, _local3, _local4 - 5, {tl:5, tr:5, br:0, bl:0}, 6184542, 10); drawRoundRect(1, 4, _local3 - 2, _local4 - 5, {tl:4, tr:4, br:0, bl:0}, [6184542, 6184542], 10, 0, "radial"); drawRoundRect(2, 0, _local3 - 4, _local4 - 2, {tl:3, tr:3, br:0, bl:0}, [12897484, 11844796], 100, 0, "radial"); drawRoundRect(3, 1, _local3 - 6, _local4 - 4, {tl:2, tr:2, br:0, bl:0}, 16777215, 100); } else if (_local5 == "dropDown") { drawRoundRect(0, 0, _local3 + 1, _local4, {tl:4, tr:0, br:0, bl:4}, [13290186, 7895160], 100, -10, "linear"); drawRoundRect(1, 1, _local3 - 1, _local4 - 2, {tl:3, tr:0, br:0, bl:3}, 16777215, 100); } else if (_local5 == "menuBorder") { var _local15 = getStyle("themeColor"); drawRoundRect(4, 4, _local3 - 2, _local4 - 3, 0, [6184542, 6184542], 10, 0, "radial"); drawRoundRect(4, 4, _local3 - 1, _local4 - 2, 0, 6184542, 10); drawRoundRect(0, 0, _local3 + 1, _local4, 0, [0, 14342874], 100, 250, "linear"); drawRoundRect(0, 0, _local3 + 1, _local4, 0, _local15, 50); drawRoundRect(2, 2, _local3 - 3, _local4 - 4, 0, 16777215, 100); } else if (_local5 == "comboNonEdit") { } else { beginFill(_local7); drawRect(0, 0, _local3, _local4); drawRect(1, 1, _local3 - 1, _local4 - 1); endFill(); _color = borderColorName; } if (_local8 != undefined) { beginFill(_local8); drawRect(_local9, _local9, __get__width() - _local9, __get__height() - _local9); endFill(); } } function draw3dBorder(c1, c2, c3, c4, c5, c6) { var _local3 = __get__width(); var _local2 = __get__height(); beginFill(c1); drawRect(0, 0, _local3, _local2); drawRect(1, 0, _local3 - 1, _local2); endFill(); beginFill(c2); drawRect(1, 0, _local3 - 1, 1); endFill(); beginFill(c3); drawRect(1, _local2 - 1, _local3 - 1, _local2); endFill(); beginFill(c4); drawRect(1, 1, _local3 - 1, 2); endFill(); beginFill(c5); drawRect(1, _local2 - 2, _local3 - 1, _local2 - 1); endFill(); beginFill(c6); drawRect(1, 2, _local3 - 1, _local2 - 2); drawRect(2, 2, _local3 - 2, _local2 - 2); endFill(); } static function classConstruct() { mx.core.ext.UIObjectExtensions.Extensions(); _global.styles.rectBorderClass = mx.skins.halo.RectBorder; _global.skinRegistry.RectBorder = true; return(true); } static var symbolName = "RectBorder"; static var symbolOwner = mx.skins.halo.RectBorder; static var version = "2.0.2.126"; var borderCapColorName = "borderCapColor"; var shadowCapColorName = "shadowCapColor"; var colorList = {highlightColor:0, borderColor:0, buttonColor:0, shadowColor:0, borderCapColor:0, shadowCapColor:0}; var borderWidths = {none:0, solid:1, inset:2, outset:2, alert:3, dropDown:2, menuBorder:2, comboNonEdit:2}; static var classConstructed = classConstruct(); static var UIObjectExtensionsDependency = mx.core.ext.UIObjectExtensions; }
Symbol 123 MovieClip [__Packages.mx.skins.halo.ButtonSkin] Frame 0
class mx.skins.halo.ButtonSkin extends mx.skins.RectBorder { var __get__width, __get__height, getStyle, _parent, clear, drawRoundRect, __get__x, __get__y; function ButtonSkin () { super(); } function init() { super.init(); } function size() { drawHaloRect(__get__width(), __get__height()); } function drawHaloRect(w, h) { var _local6 = getStyle("borderStyle"); var _local4 = getStyle("themeColor"); var _local5 = _parent.emphasized; clear(); switch (_local6) { case "falseup" : if (_local5) { drawRoundRect(__get__x(), __get__y(), w, h, 5, 9542041, 100); drawRoundRect(__get__x(), __get__y(), w, h, 5, _local4, 75); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, [3355443, 16777215], 85, 0, "radial"); drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, [0, 14342874], 100, 0, "radial"); drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, _local4, 75); drawRoundRect(__get__x() + 3, __get__y() + 3, w - 6, h - 6, 2, 16777215, 100); drawRoundRect(__get__x() + 3, __get__y() + 4, w - 6, h - 7, 2, 16316664, 100); } else { drawRoundRect(0, 0, w, h, 5, 9542041, 100); drawRoundRect(1, 1, w - 2, h - 2, 4, [13291985, 16250871], 100, 0, "radial"); drawRoundRect(2, 2, w - 4, h - 4, 3, [9542041, 13818586], 100, 0, "radial"); drawRoundRect(3, 3, w - 6, h - 6, 2, 16777215, 100); drawRoundRect(3, 4, w - 6, h - 7, 2, 16316664, 100); } break; case "falsedown" : drawRoundRect(__get__x(), __get__y(), w, h, 5, 9542041, 100); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, [3355443, 16579836], 100, 0, "radial"); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, _local4, 50); drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, [0, 14342874], 100, 0, "radial"); drawRoundRect(__get__x(), __get__y(), w, h, 5, _local4, 40); drawRoundRect(__get__x() + 3, __get__y() + 3, w - 6, h - 6, 2, 16777215, 100); drawRoundRect(__get__x() + 3, __get__y() + 4, w - 6, h - 7, 2, _local4, 20); break; case "falserollover" : drawRoundRect(__get__x(), __get__y(), w, h, 5, 9542041, 100); drawRoundRect(__get__x(), __get__y(), w, h, 5, _local4, 50); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, [3355443, 16777215], 100, 0, "radial"); drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, [0, 14342874], 100, 0, "radial"); drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, _local4, 50); drawRoundRect(__get__x() + 3, __get__y() + 3, w - 6, h - 6, 2, 16777215, 100); drawRoundRect(__get__x() + 3, __get__y() + 4, w - 6, h - 7, 2, 16316664, 100); break; case "falsedisabled" : drawRoundRect(0, 0, w, h, 5, 13159628, 100); drawRoundRect(1, 1, w - 2, h - 2, 4, 15921906, 100); drawRoundRect(2, 2, w - 4, h - 4, 3, 13949401, 100); drawRoundRect(3, 3, w - 6, h - 6, 2, 15921906, 100); break; case "trueup" : drawRoundRect(__get__x(), __get__y(), w, h, 5, 10066329, 100); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, [3355443, 16579836], 100, 0, "radial"); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, _local4, 50); drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, [0, 14342874], 100, 0, "radial"); drawRoundRect(__get__x(), __get__y(), w, h, 5, _local4, 40); drawRoundRect(__get__x() + 3, __get__y() + 3, w - 6, h - 6, 2, 16777215, 100); drawRoundRect(__get__x() + 3, __get__y() + 4, w - 6, h - 7, 2, 16250871, 100); break; case "truedown" : drawRoundRect(__get__x(), __get__y(), w, h, 5, 10066329, 100); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, [3355443, 16579836], 100, 0, "radial"); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, _local4, 50); drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, [0, 14342874], 100, 0, "radial"); drawRoundRect(__get__x(), __get__y(), w, h, 5, _local4, 40); drawRoundRect(__get__x() + 3, __get__y() + 3, w - 6, h - 6, 2, 16777215, 100); drawRoundRect(__get__x() + 3, __get__y() + 4, w - 6, h - 7, 2, _local4, 20); break; case "truerollover" : drawRoundRect(__get__x(), __get__y(), w, h, 5, 9542041, 100); drawRoundRect(__get__x(), __get__y(), w, h, 5, _local4, 50); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, [3355443, 16777215], 100, 0, "radial"); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, _local4, 40); drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, [0, 14342874], 100, 0, "radial"); drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, _local4, 40); drawRoundRect(__get__x() + 3, __get__y() + 3, w - 6, h - 6, 2, 16777215, 100); drawRoundRect(__get__x() + 3, __get__y() + 4, w - 6, h - 7, 2, 16316664, 100); break; case "truedisabled" : drawRoundRect(0, 0, w, h, 5, 13159628, 100); drawRoundRect(1, 1, w - 2, h - 2, 4, 15921906, 100); drawRoundRect(2, 2, w - 4, h - 4, 3, 13949401, 100); drawRoundRect(3, 3, w - 6, h - 6, 2, 15921906, 100); } } static function classConstruct() { mx.core.ext.UIObjectExtensions.Extensions(); _global.skinRegistry.ButtonSkin = true; return(true); } static var symbolName = "ButtonSkin"; static var symbolOwner = mx.skins.halo.ButtonSkin; var className = "ButtonSkin"; var backgroundColorName = "buttonColor"; static var classConstructed = classConstruct(); static var UIObjectExtensionsDependency = mx.core.ext.UIObjectExtensions; }
Symbol 124 MovieClip [__Packages.mx.controls.HScrollBar] Frame 0
class mx.controls.HScrollBar extends mx.controls.scrollClasses.ScrollBar { var _minHeight, _minWidth, _xscale, _rotation, __width, scrollIt; function HScrollBar () { super(); } function getMinWidth(Void) { return(_minHeight); } function getMinHeight(Void) { return(_minWidth); } function init(Void) { super.init(); _xscale = -100; _rotation = -90; } function get virtualHeight() { return(__width); } function isScrollBarKey(k) { if (k == 37) { scrollIt("Line", -1); return(true); } if (k == 39) { scrollIt("Line", 1); return(true); } return(super.isScrollBarKey(k)); } static var symbolName = "HScrollBar"; static var symbolOwner = mx.core.UIComponent; static var version = "2.0.2.126"; var className = "HScrollBar"; var minusMode = "Left"; var plusMode = "Right"; var minMode = "AtLeft"; var maxMode = "AtRight"; }
Symbol 125 MovieClip [__Packages.mx.controls.MenuBar] Frame 0
class mx.controls.MenuBar extends mx.core.UIComponent { var __menus, __menuBarItems, __labels, boundingBox_mc, invUpdateDisplay, invUpdateSize, openMenuIndex, dispatchEvent, getFocusManager, supposedToLoseFocus, background_mc, createEmptyMovieClip, createObject, setMask, __menuDataProvider, _parent, labelFunction, enabled, __height, invalidate, enableByPass, redraw, width, mask_mc, height, __width, isDown, pressFocus, releaseFocus; function MenuBar () { super(); } function init(Void) { super.init(); __menus = new Object(); __menuBarItems = new Array(); var _local3 = 0; while (_local3 < __labels.length) { addMenu(__labels[_local3]); _local3++; } boundingBox_mc._visible = false; boundingBox_mc._width = (boundingBox_mc._height = 0); } function draw(Void) { super.draw(); if (invUpdateDisplay) { updateDisplay(invUpdateSize); } } function handleEvent(event) { var _local2 = event.type; if (_local2 == "menuHide") { if (event.menu.menuBarIndex == openMenuIndex) { __menuBarItems[openMenuIndex].setLabelBorder("none"); delete openMenuIndex; } } if (rebroadcastEvents[_local2]) { event.target = this; dispatchEvent(event); } } function onSetFocus() { super.onSetFocus(); getFocusManager().defaultPushButtonEnabled = false; } function onKillFocus() { super.onKillFocus(); getFocusManager().defaultPushButtonEnabled = true; if (supposedToLoseFocus == undefined) { getMenuAt(openMenuIndex).hide(); } delete supposedToLoseFocus; } function createChildren(Void) { super.createChildren(); if (background_mc == undefined) { createEmptyMovieClip("background_mc", 0); background_mc.createObject(menuBarBackLeftName, "bckLeft", 1); background_mc.createObject(menuBarBackRightName, "bckRight", 2); background_mc.createObject(menuBarBackMiddleName, "bckCenter", 3); } if (!_global.isLivePreview) { var _local4 = createObject("BoundingBox", "mask_mc", 10); setMask(_local4); } updateBackgroundDisplay(); } function size(Void) { super.size(); updateDisplay(true); updateBackgroundDisplay(); } function addMenu(arg1, arg2) { var _local2 = __menuDataProvider.childNodes.length; if (_local2 == undefined) { _local2 = 0; } return(addMenuAt(_local2, arg1, arg2)); } function addMenuAt(index, arg1, arg2) { if (__menuDataProvider == undefined) { __menuDataProvider = new XML(); __menuDataProvider.addEventListener("modelChanged", this); } var _local8; var _local3; var _local4 = arg1; if (arg2 != undefined) { if (arg2 instanceof XML) { _local3 = __menuDataProvider.addMenuItemAt(index, arg1); var _local2 = arg2.childNodes; while (_local2.length != 0) { _local3.addMenuItem(_local2[0]); } _local4 = undefined; } else { arg2.attributes.label = arg1; _local4 = arg2; } } if (_local4 != undefined) { _local3 = __menuDataProvider.addMenuItemAt(index, _local4); } return(insertMenuBarItem(index, _local3)); } function insertMenuBarItem(index, mdp) { var _local2 = mx.controls.Menu.createMenu(_parent._root, mdp, {styleName:this, menuBarIndex:index}); __menus[mdp.getID()] = _local2; _local2.__menuBar = this; _local2.addEventListener("menuHide", this); _local2.addEventListener("rollOver", this); _local2.addEventListener("rollOut", this); _local2.addEventListener("menuShow", this); _local2.addEventListener("change", this); _local2.border_mc.borderStyle = "menuBorder"; _local2.labelField = labelField; _local2.labelFunction = labelFunction; var _local4 = labelFunction(mdp); if (_local4 == undefined) { _local4 = mdp.attributes[labelField]; } var _local3 = createObject("MenuBarItem", "mbItem" + (topItemDepth++), topItemDepth, {owner:this, __initText:_local4, styleName:this, _visible:false}); _local3.enabled = enabled; _local3.setSize(_local3.getPreferredWidth(), __height); _local2.__activator = _local3; __menuBarItems.splice(index, 0, _local3); invUpdateDisplay = true; invalidate(); return(_local2); } function getMenuAt(index) { return(__menus[__menuDataProvider.childNodes[index].getID()]); } function removeMenuAt(index) { var _local2 = __menuDataProvider.removeMenuItemAt(index); var _local3 = __menuBarItems[index]; __menuBarItems.splice(index, 1); _local3.removeMovieClip(); var _local5 = __menus[_local2.getID()]; delete __menus[_local2.getID()]; invUpdateDisplay = true; invalidate(); return(_local5); } function setEnabled(b) { super.setEnabled(b); var _local4 = __menuBarItems.length; enableByPass = true; var _local3 = 0; while (_local3 < _local4) { __menuBarItems[_local3].enabled = b; _local3++; } delete enableByPass; } function setMenuEnabledAt(index, enable) { if ((!enabled) && (enableByPass == undefined)) { return(undefined); } __menuBarItems[index].enabled = enable; } function getMenuEnabledAt(index) { return(__menuBarItems[index].enabled); } function setDataProvider(dp) { removeAll(); __menuDataProvider = dp; dp.isTreeRoot = true; var _local3 = dp.childNodes; var _local4 = _local3.length; var _local2 = 0; while (_local2 < _local4) { insertMenuBarItem(_local2, _local3[_local2]); _local2++; } } function get dataProvider() { return(__menuDataProvider); } function set dataProvider(dp) { setDataProvider(dp); //return(dataProvider); } function get labels() { return(__labels); } function set labels(lbls) { __labels = lbls; var _local4 = __menuBarItems.length; var _local3 = __labels.length; var _local2 = 0; while (_local2 < _local4) { removeMenuAt(0); _local2++; } _local2 = 0; while (_local2 < _local3) { addMenu(__labels[_local2]); _local2++; } redraw(true); //return(labels); } function invalidateStyle(propName) { super.invalidateStyle(propName); if ((((propName == "fontFamily") || (propName == "fontSize")) || (propName == "fontWeight")) || (propName == "styleName")) { invUpdateDisplay = true; invUpdateSize = true; invalidate(); } var _local3 = 0; while (_local3 < __menuBarItems.length) { getMenuAt(_local3).invalidateStyle(propName); _local3++; } } function changeColorStyleInChildren(sheet, styleProp, newValue) { super.changeColorStyleInChildren(sheet, styleProp, newValue); var _local3 = 0; while (_local3 < __menuBarItems.length) { getMenuAt(_local3).changeColorStyleInChildren(sheet, styleProp, newValue); _local3++; } } function notifyStyleChangeInChildren(sheet, styleProp, newValue) { super.notifyStyleChangeInChildren(sheet, styleProp, newValue); var _local3 = 0; while (_local3 < __menuBarItems.length) { getMenuAt(_local3).notifyStyleChangeInChildren(sheet, styleProp, newValue); _local3++; } } function updateDisplay(resize) { delete invUpdateDisplay; delete invUpdateSize; var _local4 = __marginWidth; var _local5 = 0; var _local6 = __menuBarItems.length; var _local3 = 0; while (_local3 < _local6) { var _local2 = __menuBarItems[_local3]; _local2._visible = true; _local2.menuBarIndex = _local3; getMenuAt(_local3).menuBarIndex = _local3; if (resize) { _local2.setSize(_local2.getPreferredWidth(), __height); } _local4 = (_local2._x = _local4 + _local5); _local5 = _local2.__width; _local3++; } } function updateBackgroundDisplay() { mask_mc._width = width; mask_mc._height = height; var _local2 = background_mc; _local2._height = __height; _local2.bckLeft._x = 0; var _local3 = _local2.bckLeft._width; _local2.bckCenter._width = __width - (_local3 + _local2.bckRight._width); _local2.bckCenter._x = _local3; _local2.bckRight._x = _local3 + _local2.bckCenter._width; } function showMenu(index) { openMenuIndex = index; var _local3 = __menuBarItems[index]; var _local6 = _local3.dP; if (__menus[_local6.getID()] == undefined) { var _local2 = mx.controls.Menu.createMenu(_parent._root, _local6, {styleName:this, menuBarIndex:index}); __menus[_local6.getID()] = _local2; _local2.__menuBar = this; _local2.addEventListener("menuHide", this); _local2.addEventListener("rollOver", this); _local2.addEventListener("rollOut", this); _local2.addEventListener("menuShow", this); _local2.addEventListener("change", this); _local2.border_mc.borderStyle = "menuBorder"; _local2.labelField = labelField; _local2.labelFunction = labelFunction; _local2.__activator = _local3; } var _local4 = {x:0, y:0}; _local3.setLabelBorder("falsedown"); _local3.localToGlobal(_local4); var _local5 = getMenuAt(index); _local5._root.globalToLocal(_local4); _local5.focusManager.lastFocus = undefined; _local5.show(_local4.x, _local4.y + (_local3._height + 1)); } function removeMenuBarItemAt(index) { var _local2 = __menuBarItems[index]; var _local3 = _local2.__menu; if (_local2 != undefined) { _local3.removeMovieClip(); _local2.removeMovieClip(); __menuBarItems.splice(index, 1); updateDisplay(false); } } function removeAll() { while (__menuBarItems.length > 0) { var _local2 = __menuBarItems[0]; var _local3 = _local2.__menu; _local3.removeMovieClip(); _local2.removeMovieClip(); __menuBarItems.splice(0, 1); } updateDisplay(false); } function onItemRollOver(index) { var _local3 = __menuBarItems[index]; if (openMenuIndex != undefined) { var _local2 = openMenuIndex; if (_local2 != index) { isDown = false; var _local4 = __menuBarItems[_local2]; onItemRelease(_local2); _local4.setLabelBorder("none"); showMenu(index); isDown = true; } } else { _local3.setLabelBorder("falserollover"); isDown = false; } } function onItemPress(index) { var _local2 = __menuBarItems[index]; if (!isDown) { showMenu(index); isDown = true; } else { _local2.setLabelBorder("falsedown"); isDown = false; } pressFocus(); } function onItemRelease(index) { var _local2 = __menuBarItems[index]; if (!isDown) { getMenuAt(index).hide(); _local2.setLabelBorder("falserollover"); } releaseFocus(); } function onItemRollOut(index) { if (openMenuIndex != index) { __menuBarItems[index].setLabelBorder("none"); } } function onItemDragOver(index) { var _local5 = __menuBarItems[index]; if (openMenuIndex != undefined) { var _local2 = openMenuIndex; if (_local2 != index) { isDown = false; var _local3 = __menuBarItems[_local2]; onItemRelease(_local2); _local3.setLabelBorder("none"); } } else { isDown = true; } onItemPress(index); } function onItemDragOut(index) { onItemRollOut(index); } function keyDown(e) { var _local3 = __menuBarItems.length; var _local8; if ((e.code == 39) || (e.code == 37)) { if (openMenuIndex == undefined) { openMenuIndex = -1; } var _local2 = openMenuIndex; var _local5 = false; var _local4 = 0; while ((!_local5) && (_local4 < _local3)) { _local4++; _local2 = ((e.code == 39) ? (_local2 + 1) : (_local2 - 1)); if (_local2 >= _local3) { _local2 = 0; } else if (_local2 < 0) { _local2 = _local3 - 1; } if (__menuBarItems[_local2].enabled) { _local5 = true; } } if (_local4 <= _local3) { onItemRollOver(_local2); } } if (Key.isDown(40)) { if (openMenuIndex != undefined) { var _local7 = getMenuAt(openMenuIndex); _local7.focusEnabled = true; _local7.moveSelBy(1); supposedToLoseFocus = true; Selection.setFocus(_local7); } } if (Key.isDown(13) || (Key.isDown(27))) { getMenuAt(openMenuIndex).hide(); } } static var symbolName = "MenuBar"; static var symbolOwner = mx.controls.MenuBar; static var version = "2.0.2.126"; var className = "MenuBar"; static var _s_MenuIndex = 0; var topItemDepth = 200; var menuBarBackLeftName = "MenuBarBackLeft"; var menuBarBackRightName = "MenuBarBackRight"; var menuBarBackMiddleName = "MenuBarBackMiddle"; var __backgroundWidth = 550; var __marginWidth = 10; var tabChildren = false; var labelField = "label"; var clipParameters = {enabled:1, visible:1, labels:1, minWidth:1, minHeight:1}; var rebroadcastEvents = {menuHide:1, menuShow:1, rollOver:1, rollOut:1, change:1}; }
Symbol 164 MovieClip [__Packages.mx.controls.listclasses.DataSelector] Frame 0
class mx.controls.listclasses.DataSelector extends Object { var __vPosition, setVPosition, __dataProvider, enabled, lastSelID, lastSelected, selected, invUpdateControl, invalidate, multipleSelection, updateControl, __rowCount, rows; function DataSelector () { super(); } static function Initialize(obj) { var _local3 = mixinProps; var _local4 = _local3.length; obj = obj.prototype; var _local1 = 0; while (_local1 < _local4) { obj[_local3[_local1]] = mixins[_local3[_local1]]; _local1++; } mixins.createProp(obj, "dataProvider", true); mixins.createProp(obj, "length", false); mixins.createProp(obj, "value", false); mixins.createProp(obj, "selectedIndex", true); mixins.createProp(obj, "selectedIndices", true); mixins.createProp(obj, "selectedItems", false); mixins.createProp(obj, "selectedItem", true); return(true); } function createProp(obj, propName, setter) { var p = (propName.charAt(0).toUpperCase() + propName.substr(1)); var _local2 = null; var _local4 = function (Void) { return(this["get" + p]()); }; if (setter) { _local2 = function (val) { this["set" + p](val); }; } obj.addProperty(propName, _local4, _local2); } function setDataProvider(dP) { if (__vPosition != 0) { setVPosition(0); } clearSelected(); __dataProvider.removeEventListener(this); __dataProvider = dP; dP.addEventListener("modelChanged", this); dP.addView(this); modelChanged({eventName:"updateAll"}); } function getDataProvider(Void) { return(__dataProvider); } function addItemAt(index, label, data) { if ((index < 0) || (!enabled)) { return(undefined); } var _local2 = __dataProvider; if (_local2 == undefined) { _local2 = (__dataProvider = new Array()); _local2.addEventListener("modelChanged", this); index = 0; } if ((typeof(label) == "object") || (typeof(_local2.getItemAt(0)) == "string")) { _local2.addItemAt(index, label); } else { _local2.addItemAt(index, {label:label, data:data}); } } function addItem(label, data) { addItemAt(__dataProvider.length, label, data); } function removeItemAt(index) { return(__dataProvider.removeItemAt(index)); } function removeAll(Void) { __dataProvider.removeAll(); } function replaceItemAt(index, newLabel, newData) { if (typeof(newLabel) == "object") { __dataProvider.replaceItemAt(index, newLabel); } else { __dataProvider.replaceItemAt(index, {label:newLabel, data:newData}); } } function sortItemsBy(fieldName, order) { lastSelID = __dataProvider.getItemID(lastSelected); __dataProvider.sortItemsBy(fieldName, order); } function sortItems(compareFunc, order) { lastSelID = __dataProvider.getItemID(lastSelected); __dataProvider.sortItems(compareFunc, order); } function getLength(Void) { return(__dataProvider.length); } function getItemAt(index) { return(__dataProvider.getItemAt(index)); } function modelChanged(eventObj) { var _local3 = eventObj.firstItem; var _local6 = eventObj.lastItem; var _local7 = eventObj.eventName; if (_local7 == undefined) { _local7 = eventObj.event; _local3 = eventObj.firstRow; _local6 = eventObj.lastRow; if (_local7 == "addRows") { _local7 = (eventObj.eventName = "addItems"); } else if (_local7 == "deleteRows") { _local7 = (eventObj.eventName = "removeItems"); } else if (_local7 == "updateRows") { _local7 = (eventObj.eventName = "updateItems"); } } if (_local7 == "addItems") { for (var _local2 in selected) { var _local5 = selected[_local2]; if ((_local5 != undefined) && (_local5 >= _local3)) { selected[_local2] = selected[_local2] + ((_local6 - _local3) + 1); } } } else if (_local7 == "removeItems") { if (__dataProvider.length == 0) { delete selected; } else { var _local9 = eventObj.removedIDs; var _local10 = _local9.length; var _local2 = 0; while (_local2 < _local10) { var _local4 = _local9[_local2]; if (selected[_local4] != undefined) { delete selected[_local4]; } _local2++; } for (_local2 in selected) { if (selected[_local2] >= _local3) { selected[_local2] = selected[_local2] - ((_local6 - _local3) + 1); } } } } else if (_local7 == "sort") { if (typeof(__dataProvider.getItemAt(0)) != "object") { delete selected; } else { var _local10 = __dataProvider.length; var _local2 = 0; while (_local2 < _local10) { if (isSelected(_local2)) { var _local4 = __dataProvider.getItemID(_local2); if (_local4 == lastSelID) { lastSelected = _local2; } selected[_local4] = _local2; } _local2++; } } } else if (_local7 == "filterModel") { setVPosition(0); } invUpdateControl = true; invalidate(); } function getValue(Void) { var _local2 = getSelectedItem(); if (typeof(_local2) != "object") { return(_local2); } return(((_local2.data == undefined) ? (_local2.label) : (_local2.data))); } function getSelectedIndex(Void) { for (var _local3 in selected) { var _local2 = selected[_local3]; if (_local2 != undefined) { return(_local2); } } } function setSelectedIndex(index) { if (((index >= 0) && (index < __dataProvider.length)) && (enabled)) { delete selected; selectItem(index, true); lastSelected = index; invUpdateControl = true; invalidate(); } else if (index == undefined) { clearSelected(); } } function getSelectedIndices(Void) { var _local2 = new Array(); for (var _local3 in selected) { _local2.push(selected[_local3]); } _local2.reverse(); return(((_local2.length > 0) ? (_local2) : undefined)); } function setSelectedIndices(indexArray) { if (multipleSelection != true) { return(undefined); } delete selected; var _local3 = 0; while (_local3 < indexArray.length) { var _local2 = indexArray[_local3]; if ((_local2 >= 0) && (_local2 < __dataProvider.length)) { selectItem(_local2, true); } _local3++; } invUpdateControl = true; updateControl(); } function getSelectedItems(Void) { var _local3 = getSelectedIndices(); var _local4 = new Array(); var _local2 = 0; while (_local2 < _local3.length) { _local4.push(getItemAt(_local3[_local2])); _local2++; } return(((_local4.length > 0) ? (_local4) : undefined)); } function getSelectedItem(Void) { return(__dataProvider.getItemAt(getSelectedIndex())); } function selectItem(index, selectedFlag) { if (selected == undefined) { selected = new Object(); } var _local2 = __dataProvider.getItemID(index); if (_local2 == undefined) { return(undefined); } if (selectedFlag && (!isSelected(index))) { selected[_local2] = index; } else if (!selectedFlag) { delete selected[_local2]; } } function isSelected(index) { var _local2 = __dataProvider.getItemID(index); if (_local2 == undefined) { return(false); } return(selected[_local2] != undefined); } function clearSelected(transition) { var _local3 = 0; for (var _local4 in selected) { var _local2 = selected[_local4]; if (((_local2 != undefined) && (__vPosition <= _local2)) && (_local2 < (__vPosition + __rowCount))) { rows[_local2 - __vPosition].drawRow(rows[_local2 - __vPosition].item, "normal", transition && ((_local3 % 3) == 0)); } _local3++; } delete selected; } static var mixins = new mx.controls.listclasses.DataSelector(); static var mixinProps = ["setDataProvider", "getDataProvider", "addItem", "addItemAt", "removeAll", "removeItemAt", "replaceItemAt", "sortItemsBy", "sortItems", "getLength", "getItemAt", "modelChanged", "calcPreferredWidthFromData", "calcPreferredHeightFromData", "getValue", "getSelectedIndex", "getSelectedItem", "getSelectedIndices", "getSelectedItems", "selectItem", "isSelected", "clearSelected", "setSelectedIndex", "setSelectedIndices"]; }
Symbol 165 MovieClip [__Packages.mx.controls.listclasses.DataProvider] Frame 0
class mx.controls.listclasses.DataProvider extends Object { var length, splice, dispatchEvent, sortOn, reverse, sort; function DataProvider (obj) { super(); } static function Initialize(obj) { var _local4 = mixinProps; var _local6 = _local4.length; obj = obj.prototype; var _local3 = 0; while (_local3 < _local6) { obj[_local4[_local3]] = mixins[_local4[_local3]]; _global.ASSetPropFlags(obj, _local4[_local3], 1); _local3++; } mx.events.EventDispatcher.initialize(obj); _global.ASSetPropFlags(obj, "addEventListener", 1); _global.ASSetPropFlags(obj, "removeEventListener", 1); _global.ASSetPropFlags(obj, "dispatchEvent", 1); _global.ASSetPropFlags(obj, "dispatchQueue", 1); Object.prototype.LargestID = 0; Object.prototype.getID = function () { if (this.__ID__ == undefined) { this.__ID__ = Object.prototype.LargestID++; _global.ASSetPropFlags(this, "__ID__", 1); } return(this.__ID__); }; _global.ASSetPropFlags(Object.prototype, "LargestID", 1); _global.ASSetPropFlags(Object.prototype, "getID", 1); return(true); } function addItemAt(index, value) { if (index < length) { splice(index, 0, value); } else if (index > length) { trace("Cannot add an item past the end of the DataProvider"); return(undefined); } this[index] = value; updateViews("addItems", index, index); } function addItem(value) { addItemAt(length, value); } function addItemsAt(index, newItems) { index = Math.min(length, index); newItems.unshift(index, 0); splice.apply(this, newItems); newItems.splice(0, 2); updateViews("addItems", index, (index + newItems.length) - 1); } function removeItemsAt(index, len) { var _local3 = new Array(); var _local2 = 0; while (_local2 < len) { _local3.push(getItemID(index + _local2)); _local2++; } var _local6 = splice(index, len); dispatchEvent({type:"modelChanged", eventName:"removeItems", firstItem:index, lastItem:(index + len) - 1, removedItems:_local6, removedIDs:_local3}); } function removeItemAt(index) { var _local2 = this[index]; removeItemsAt(index, 1); return(_local2); } function removeAll(Void) { splice(0); updateViews("removeItems", 0, length - 1); } function replaceItemAt(index, itemObj) { if ((index < 0) || (index >= length)) { return(undefined); } var _local3 = getItemID(index); this[index] = itemObj; this[index].__ID__ = _local3; updateViews("updateItems", index, index); } function getItemAt(index) { return(this[index]); } function getItemID(index) { var _local2 = this[index]; if ((typeof(_local2) != "object") && (_local2 != undefined)) { return(index); } return(_local2.getID()); } function sortItemsBy(fieldName, order) { if (typeof(order) == "string") { sortOn(fieldName); if (order.toUpperCase() == "DESC") { reverse(); } } else { sortOn(fieldName, order); } updateViews("sort"); } function sortItems(compareFunc, optionFlags) { sort(compareFunc, optionFlags); updateViews("sort"); } function editField(index, fieldName, newData) { this[index][fieldName] = newData; dispatchEvent({type:"modelChanged", eventName:"updateField", firstItem:index, lastItem:index, fieldName:fieldName}); } function getEditingData(index, fieldName) { return(this[index][fieldName]); } function updateViews(event, first, last) { dispatchEvent({type:"modelChanged", eventName:event, firstItem:first, lastItem:last}); } static var mixinProps = ["addView", "addItem", "addItemAt", "removeAll", "removeItemAt", "replaceItemAt", "getItemAt", "getItemID", "sortItemsBy", "sortItems", "updateViews", "addItemsAt", "removeItemsAt", "getEditingData", "editField"]; static var evtDipatcher = mx.events.EventDispatcher; static var mixins = new mx.controls.listclasses.DataProvider(); }
Symbol 166 MovieClip [__Packages.mx.controls.listclasses.ScrollSelectList] Frame 0
class mx.controls.listclasses.ScrollSelectList extends mx.core.ScrollView { var invLayoutContent, rows, topRowZ, listContent, __dataProvider, __vPosition, tW, layoutX, layoutY, tH, invRowHeight, invalidate, __height, invUpdateControl, __cellRenderer, __labelFunction, __iconField, __iconFunction, getLength, baseRowZ, lastPosition, propertyTable, isSelected, wasKeySelected, changeFlag, clearSelected, selectItem, lastSelected, dispatchEvent, dragScrolling, _ymouse, scrollInterval, isPressed, onMouseUp, getSelectedIndex, enabled, tabEnabled, tabChildren, createEmptyMovieClip, border_mc; function ScrollSelectList () { super(); } function layoutContent(x, y, w, h) { delete invLayoutContent; var _local4 = Math.ceil(h / __rowHeight); roundUp = (h % __rowHeight) != 0; var _local12 = _local4 - __rowCount; if (_local12 < 0) { var _local3 = _local4; while (_local3 < __rowCount) { rows[_local3].removeMovieClip(); delete rows[_local3]; _local3++; } topRowZ = topRowZ + _local12; } else if (_local12 > 0) { if (rows == undefined) { rows = new Array(); } var _local3 = __rowCount; while (_local3 < _local4) { var _local2 = (rows[_local3] = listContent.createObject(__rowRenderer, "listRow" + (topRowZ++), topRowZ, {owner:this, styleName:this, rowIndex:_local3})); _local2._x = x; _local2._y = Math.round((_local3 * __rowHeight) + y); _local2.setSize(w, __rowHeight); _local2.drawRow(__dataProvider.getItemAt(__vPosition + _local3), getStateAt(__vPosition + _local3)); _local2.lastY = _local2._y; _local3++; } } if (w != tW) { var _local11 = ((_local12 > 0) ? (__rowCount) : (_local4)); var _local3 = 0; while (_local3 < _local11) { rows[_local3].setSize(w, __rowHeight); _local3++; } } if ((layoutX != x) || (layoutY != y)) { var _local3 = 0; while (_local3 < _local4) { rows[_local3]._x = x; rows[_local3]._y = Math.round((_local3 * __rowHeight) + y); _local3++; } } __rowCount = _local4; layoutX = x; layoutY = y; tW = w; tH = h; } function getRowHeight(Void) { return(__rowHeight); } function setRowHeight(v) { __rowHeight = v; invRowHeight = true; invalidate(); } function get rowHeight() { return(getRowHeight()); } function set rowHeight(w) { setRowHeight(w); //return(rowHeight); } function setRowCount(v) { __rowCount = v; } function getRowCount(Void) { var _local2 = ((__rowCount == 0) ? (Math.ceil(__height / __rowHeight)) : (__rowCount)); return(_local2); } function get rowCount() { return(getRowCount()); } function set rowCount(w) { setRowCount(w); //return(rowCount); } function setEnabled(v) { super.setEnabled(v); invUpdateControl = true; invalidate(); } function setCellRenderer(cR) { __cellRenderer = cR; var _local2 = 0; while (_local2 < rows.length) { rows[_local2].setCellRenderer(true); _local2++; } invUpdateControl = true; invalidate(); } function set cellRenderer(cR) { setCellRenderer(cR); //return(cellRenderer); } function get cellRenderer() { return(__cellRenderer); } function set labelField(field) { setLabelField(field); //return(labelField); } function setLabelField(field) { __labelField = field; invUpdateControl = true; invalidate(); } function get labelField() { return(__labelField); } function set labelFunction(func) { setLabelFunction(func); //return(labelFunction); } function setLabelFunction(func) { __labelFunction = func; invUpdateControl = true; invalidate(); } function get labelFunction() { return(__labelFunction); } function set iconField(field) { setIconField(field); //return(iconField); } function setIconField(field) { __iconField = field; invUpdateControl = true; invalidate(); } function get iconField() { return(__iconField); } function set iconFunction(func) { setIconFunction(func); //return(iconFunction); } function setIconFunction(func) { __iconFunction = func; invUpdateControl = true; invalidate(); } function get iconFunction() { return(__iconFunction); } function setVPosition(pos) { if (pos < 0) { return(undefined); } if ((pos > 0) && (pos > ((getLength() - __rowCount) + roundUp))) { return(undefined); } var _local8 = pos - __vPosition; if (_local8 == 0) { return(undefined); } __vPosition = pos; var _local10 = _local8 > 0; _local8 = Math.abs(_local8); if (_local8 >= __rowCount) { updateControl(); } else { var _local4 = new Array(); var _local9 = __rowCount - _local8; var _local12 = _local8 * __rowHeight; var _local11 = _local9 * __rowHeight; var _local6 = (_local10 ? 1 : -1); var _local3 = 0; while (_local3 < __rowCount) { if (((_local3 < _local8) && (_local10)) || ((_local3 >= _local9) && (!_local10))) { rows[_local3]._y = rows[_local3]._y + Math.round(_local6 * _local11); var _local5 = _local3 + (_local6 * _local9); var _local7 = __vPosition + _local5; _local4[_local5] = rows[_local3]; _local4[_local5].rowIndex = _local5; _local4[_local5].drawRow(__dataProvider.getItemAt(_local7), getStateAt(_local7), false); } else { rows[_local3]._y = rows[_local3]._y - Math.round(_local6 * _local12); var _local5 = _local3 - (_local6 * _local8); _local4[_local5] = rows[_local3]; _local4[_local5].rowIndex = _local5; } _local3++; } rows = _local4; _local3 = 0; while (_local3 < __rowCount) { rows[_local3].swapDepths(baseRowZ + _local3); _local3++; } } lastPosition = pos; super.setVPosition(pos); } function setPropertiesAt(index, obj) { var _local2 = __dataProvider.getItemID(index); if (_local2 == undefined) { return(undefined); } if (propertyTable == undefined) { propertyTable = new Object(); } propertyTable[_local2] = obj; rows[index - __vPosition].drawRow(__dataProvider.getItemAt(index), getStateAt(index)); } function getPropertiesAt(index) { var _local2 = __dataProvider.getItemID(index); if (_local2 == undefined) { return(undefined); } return(propertyTable[_local2]); } function getPropertiesOf(obj) { var _local2 = obj.getID(); if (_local2 == undefined) { return(undefined); } return(propertyTable[_local2]); } function getStyle(styleProp) { var _local2 = super.getStyle(styleProp); var _local3 = mx.styles.StyleManager.colorNames[_local2]; if (_local3 != undefined) { _local2 = _local3; } return(_local2); } function updateControl(Void) { var _local2 = 0; while (_local2 < __rowCount) { rows[_local2].drawRow(__dataProvider.getItemAt(_local2 + __vPosition), getStateAt(_local2 + __vPosition)); _local2++; } delete invUpdateControl; } function getStateAt(index) { return((isSelected(index) ? "selected" : "normal")); } function selectRow(rowIndex, transition, allowChangeEvent) { if (!selectable) { return(undefined); } var _local3 = __vPosition + rowIndex; var _local8 = __dataProvider.getItemAt(_local3); var _local5 = rows[rowIndex]; if (_local8 == undefined) { return(undefined); } if (transition == undefined) { transition = true; } if (allowChangeEvent == undefined) { allowChangeEvent = wasKeySelected; } changeFlag = true; if (((!multipleSelection) && (!Key.isDown(17))) || ((!Key.isDown(16)) && (!Key.isDown(17)))) { clearSelected(transition); selectItem(_local3, true); lastSelected = _local3; _local5.drawRow(_local5.item, getStateAt(_local3), transition); } else if (Key.isDown(16) && (multipleSelection)) { if (lastSelected == undefined) { lastSelected = _local3; } var _local4 = ((lastSelected < _local3) ? 1 : -1); clearSelected(false); var _local2 = lastSelected; while (_local2 != _local3) { selectItem(_local2, true); if ((_local2 >= __vPosition) && (_local2 < (__vPosition + __rowCount))) { rows[_local2 - __vPosition].drawRow(rows[_local2 - __vPosition].item, "selected", false); } _local2 = _local2 + _local4; } selectItem(_local3, true); _local5.drawRow(_local5.item, "selected", transition); } else if (Key.isDown(17)) { var _local7 = isSelected(_local3); if ((!multipleSelection) || (wasKeySelected)) { clearSelected(transition); } if (!((!multipleSelection) && (_local7))) { selectItem(_local3, !_local7); var _local9 = ((!_local7) ? "selected" : "normal"); _local5.drawRow(_local5.item, _local9, transition); } lastSelected = _local3; } if (allowChangeEvent) { dispatchEvent({type:"change"}); } delete wasKeySelected; } function dragScroll(Void) { clearInterval(dragScrolling); if (_ymouse < 0) { setVPosition(__vPosition - 1); selectRow(0, false); var _local2 = Math.min((-_ymouse) - 30, 0); scrollInterval = (((0.593 * _local2) * _local2) + 1) + minScrollInterval; dragScrolling = setInterval(this, "dragScroll", scrollInterval); dispatchEvent({type:"scroll", direction:"vertical", position:__vPosition}); } else if (_ymouse > __height) { var _local3 = __vPosition; setVPosition(__vPosition + 1); if (_local3 != __vPosition) { selectRow((__rowCount - 1) - roundUp, false); } var _local2 = Math.min((_ymouse - __height) - 30, 0); scrollInterval = (((0.593 * _local2) * _local2) + 1) + minScrollInterval; dragScrolling = setInterval(this, "dragScroll", scrollInterval); dispatchEvent({type:"scroll", direction:"vertical", position:__vPosition}); } else { dragScrolling = setInterval(this, "dragScroll", 15); } updateAfterEvent(); } function __onMouseUp(Void) { clearInterval(dragScrolling); delete dragScrolling; delete dragScrolling; delete isPressed; delete onMouseUp; if (!selectable) { return(undefined); } if (changeFlag) { dispatchEvent({type:"change"}); } delete changeFlag; } function moveSelBy(incr) { if (!selectable) { setVPosition(__vPosition + incr); return(undefined); } var _local3 = getSelectedIndex(); if (_local3 == undefined) { _local3 = -1; } var _local2 = _local3 + incr; _local2 = Math.max(0, _local2); _local2 = Math.min(getLength() - 1, _local2); if (_local2 == _local3) { return(undefined); } if ((_local3 < __vPosition) || (_local3 >= (__vPosition + __rowCount))) { setVPosition(_local3); } if ((_local2 >= ((__vPosition + __rowCount) - roundUp)) || (_local2 < __vPosition)) { setVPosition(__vPosition + incr); } wasKeySelected = true; selectRow(_local2 - __vPosition, false); } function keyDown(e) { if (selectable) { if (findInputText()) { return(undefined); } } if (e.code == 40) { moveSelBy(1); } else if (e.code == 38) { moveSelBy(-1); } else if (e.code == 34) { if (selectable) { var _local3 = getSelectedIndex(); if (_local3 == undefined) { _local3 = 0; } setVPosition(_local3); } moveSelBy((__rowCount - 1) - roundUp); } else if (e.code == 33) { if (selectable) { var _local3 = getSelectedIndex(); if (_local3 == undefined) { _local3 = 0; } setVPosition(_local3); } moveSelBy((1 - __rowCount) + roundUp); } else if (e.code == 36) { moveSelBy(-__dataProvider.length); } else if (e.code == 35) { moveSelBy(__dataProvider.length); } } function findInputText(Void) { var _local2 = Key.getAscii(); if ((_local2 >= 33) && (_local2 <= 126)) { findString(String.fromCharCode(_local2)); return(true); } } function findString(str) { if (__dataProvider.length == 0) { return(undefined); } var _local4 = getSelectedIndex(); if (_local4 == undefined) { _local4 = 0; } var _local6 = 0; var _local3 = _local4 + 1; while (_local3 != _local4) { var _local2 = __dataProvider.getItemAt(_local3); if (_local2 instanceof XMLNode) { _local2 = _local2.attributes[__labelField]; } else if (typeof(_local2) != "string") { _local2 = String(_local2[__labelField]); } _local2 = _local2.substring(0, str.length); if ((str == _local2) || (str.toUpperCase() == _local2.toUpperCase())) { _local6 = _local3 - _local4; break; } if (_local3 >= (getLength() - 1)) { _local3 = -1; } _local3++; } if (_local6 != 0) { moveSelBy(_local6); } } function onRowPress(rowIndex) { if (!enabled) { return(undefined); } isPressed = true; dragScrolling = setInterval(this, "dragScroll", 15); onMouseUp = __onMouseUp; if (!selectable) { return(undefined); } selectRow(rowIndex); } function onRowRelease(rowIndex) { } function onRowRollOver(rowIndex) { if (!enabled) { return(undefined); } var _local2 = rows[rowIndex].item; if (getStyle("useRollOver") && (_local2 != undefined)) { rows[rowIndex].drawRow(_local2, "highlighted", false); } dispatchEvent({type:"itemRollOver", index:rowIndex + __vPosition}); } function onRowRollOut(rowIndex) { if (!enabled) { return(undefined); } if (getStyle("useRollOver")) { rows[rowIndex].drawRow(rows[rowIndex].item, getStateAt(rowIndex + __vPosition), false); } dispatchEvent({type:"itemRollOut", index:rowIndex + __vPosition}); } function onRowDragOver(rowIndex) { if (((!enabled) || (isPressed != true)) || (!selectable)) { return(undefined); } if (dropEnabled) { } else if (dragScrolling) { selectRow(rowIndex, false); } else { onMouseUp = __onMouseUp; onRowPress(rowIndex); } } function onRowDragOut(rowIndex) { if (!enabled) { return(undefined); } if (dragEnabled) { } else { onRowRollOut(rowIndex); } } function init(Void) { super.init(); tabEnabled = true; tabChildren = false; if (__dataProvider == undefined) { __dataProvider = new Array(); __dataProvider.addEventListener("modelChanged", this); } baseRowZ = (topRowZ = 10); } function createChildren(Void) { super.createChildren(); listContent = createEmptyMovieClip("content_mc", CONTENTDEPTH); invLayoutContent = true; invalidate(); } function draw(Void) { if (invRowHeight) { delete invRowHeight; __rowCount = 0; listContent.removeMovieClip(); listContent = createEmptyMovieClip("content_mc", CONTENTDEPTH); } if (invUpdateControl) { updateControl(); } border_mc.draw(); } function invalidateStyle(propName) { if (isRowStyle[propName]) { invUpdateControl = true; invalidate(); } else { var _local3 = 0; while (_local3 < __rowCount) { rows[_local3].invalidateStyle(propName); _local3++; } } super.invalidateStyle(propName); } static var mixIt1 = mx.controls.listclasses.DataSelector.Initialize(mx.controls.listclasses.ScrollSelectList); static var mixIt2 = mx.controls.listclasses.DataProvider.Initialize(Array); var CONTENTDEPTH = 100; var __hPosition = 0; var __rowRenderer = "SelectableRow"; var __rowHeight = 22; var __rowCount = 0; var __labelField = "label"; var minScrollInterval = 30; var dropEnabled = false; var dragEnabled = false; var className = "ScrollSelectList"; var isRowStyle = {styleName:true, backgroundColor:true, selectionColor:true, rollOverColor:true, selectionDisabledColor:true, backgroundDisabledColor:true, textColor:true, textSelectedColor:true, textRollOverColor:true, textDisabledColor:true, alternatingRowColors:true, defaultIcon:true}; var roundUp = 0; var selectable = true; var multipleSelection = false; }
Symbol 167 MovieClip [__Packages.mx.controls.treeclasses.TreeDataProvider] Frame 0
class mx.controls.treeclasses.TreeDataProvider extends Object { var childNodes, appendChild, insertBefore, parentNode, removeNode; function TreeDataProvider () { super(); } static function Initialize(obj) { obj = obj.prototype; if (obj.addTreeNode != undefined) { return(false); } var _local4 = mixinProps; var _local5 = _local4.length; var _local2 = 0; while (_local2 < _local5) { obj[_local4[_local2]] = mixins[_local4[_local2]]; _global.ASSetPropFlags(obj, _local4[_local2], 1); _local2++; } mx.events.EventDispatcher.initialize(obj); _global.ASSetPropFlags(obj, "addEventListener", 1); _global.ASSetPropFlags(obj, "removeEventListener", 1); _global.ASSetPropFlags(obj, "dispatchEvent", 1); _global.ASSetPropFlags(obj, "dispatchQueue", 1); _global.ASSetPropFlags(obj, "createEvent", 1); return(true); } function createProp(obj, propName, setter) { var p = (propName.charAt(0).toUpperCase() + propName.substr(1)); var _local2 = null; var _local4 = function (Void) { return(this["get" + p]()); }; if (setter) { _local2 = function (val) { this["set" + p](val); }; } obj.addProperty(propName, _local4, _local2); } static function convertToNode(tag, arg, data) { if (typeof(arg) == "string") { var _local2 = blankXML.createElement(tag); _local2.attributes.label = arg; if (data != undefined) { _local2.attributes.data = data; } return(_local2); } if (arg instanceof XML) { return(arg.firstChild.cloneNode(true)); } if (arg instanceof XMLNode) { return(arg); } if (typeof(arg) == "object") { var _local2 = blankXML.createElement(tag); for (var _local3 in arg) { _local2.attributes[_local3] = arg[_local3]; } if (data != undefined) { _local2.attributes.data = data; } return(_local2); } } function addTreeNode(arg, data) { return(addTreeNodeAt(childNodes.length, arg, data)); } function addTreeNodeAt(index, arg, data) { if (index > childNodes.length) { return(undefined); } var _local2; if (arg instanceof XMLNode) { _local2 = arg.removeTreeNode(); } else { _local2 = convertToNode("node", arg, data); } if (index >= childNodes.length) { appendChild(_local2); } else { insertBefore(_local2, childNodes[index]); } updateViews({eventName:"addNode", node:_local2, parentNode:this, index:index}); return(_local2); } function getTreeNodeAt(index) { return(childNodes[index]); } function removeTreeNodeAt(index) { var _local2 = childNodes[index]; _local2.removeNode(); updateViews({eventName:"removeNode", node:_local2, parentNode:this, index:index}); return(_local2); } function removeTreeNode() { var _local4 = parentNode; var _local6; var _local3 = 0; var _local2 = parentNode.firstChild; while (_local2 != undefined) { if (_local2 == this) { _local6 = _local3; break; } _local3++; _local2 = _local2.nextSibling; } if (_local6 != undefined) { var _local8 = getRootNode(); removeNode(); _local4.updateViews({eventName:"removeNode", node:this, parentNode:_local4, index:_local6}); } return(this); } function removeAll() { while (childNodes.length > 0) { removeTreeNodeAt(childNodes.length - 1); } var _local3 = getRootNode(); updateViews({eventName:"updateTree"}); } function getRootNode() { var _local2 = this; while ((_local2.parentNode != undefined) && (_local2.isTreeRoot == undefined)) { _local2 = _local2.parentNode; } return(_local2); } function updateViews(eventObj) { var _local2 = this; eventObj.target = this; eventObj.type = "modelChanged"; while (_local2 != undefined) { if (_local2.isTreeRoot || (_local2.parentNode == undefined)) { _local2.dispatchEvent(eventObj); } _local2 = _local2.parentNode; } } static var mixinProps = ["addTreeNode", "addTreeNodeAt", "getTreeNodeAt", "removeTreeNodeAt", "getRootNode", "getDepth", "removeAll", "removeTreeNode", "updateViews"]; static var evtDipatcher = mx.events.EventDispatcher; static var mixins = new mx.controls.treeclasses.TreeDataProvider(); static var blankXML = new XML(); static var largestID = 0; }
Symbol 168 MovieClip [__Packages.mx.controls.menuclasses.MenuDataProvider] Frame 0
class mx.controls.menuclasses.MenuDataProvider extends Object { var addTreeNode, addTreeNodeAt, removeTreeNode, getTreeNodeAt, childNodes; function MenuDataProvider () { super(); } static function Initialize(obj) { obj = obj.prototype; var _local3 = mixinProps; var _local5 = _local3.length; var _local2 = 0; while (_local2 < _local5) { obj[_local3[_local2]] = mixins[_local3[_local2]]; _global.ASSetPropFlags(obj, _local3[_local2], 1); _local2++; } return(true); } function addMenuItem(arg) { return(addTreeNode(mx.controls.treeclasses.TreeDataProvider.convertToNode("menuitem", arg))); } function addMenuItemAt(index, arg) { return(addTreeNodeAt(index, mx.controls.treeclasses.TreeDataProvider.convertToNode("menuitem", arg))); } function removeMenuItem(Void) { return(removeTreeNode()); } function removeMenuItemAt(index) { return(getTreeNodeAt(index).removeTreeNode()); } function getMenuItemAt(index) { return(getTreeNodeAt(index)); } function indexOf(item) { var _local2 = 0; while (_local2 < childNodes.length) { if (childNodes[_local2] == item) { return(_local2); } _local2++; } return(undefined); } static var mixinProps = ["addMenuItem", "addMenuItemAt", "getMenuItemAt", "removeMenuItem", "removeMenuItemAt", "normalize", "indexOf"]; static var mixins = new mx.controls.menuclasses.MenuDataProvider(); }
Symbol 170 MovieClip [__Packages.mx.effects.Tween] Frame 0
class mx.effects.Tween extends Object { static var IntervalToken; var arrayMode, listener, initVal, endVal, startTime, updateFunc, endFunc, ID; function Tween (listenerObj, init, end, dur) { super(); if (listenerObj == undefined) { return; } if (typeof(init) != "number") { arrayMode = true; } listener = listenerObj; initVal = init; endVal = end; if (dur != undefined) { duration = dur; } startTime = getTimer(); if (duration == 0) { endTween(); } else { AddTween(this); } } static function AddTween(tween) { tween.ID = ActiveTweens.length; ActiveTweens.push(tween); if (IntervalToken == undefined) { Dispatcher.DispatchTweens = DispatchTweens; IntervalToken = setInterval(Dispatcher, "DispatchTweens", Interval); } } static function RemoveTweenAt(index) { var _local2 = ActiveTweens; if (((index >= _local2.length) || (index < 0)) || (index == undefined)) { return(undefined); } _local2.splice(index, 1); var _local4 = _local2.length; var _local1 = index; while (_local1 < _local4) { _local2[_local1].ID--; _local1++; } if (_local4 == 0) { clearInterval(IntervalToken); delete IntervalToken; } } static function DispatchTweens(Void) { var _local2 = ActiveTweens; var _local3 = _local2.length; var _local1 = 0; while (_local1 < _local3) { _local2[_local1].doInterval(); _local1++; } updateAfterEvent(); } function doInterval() { var _local2 = getTimer() - startTime; var _local3 = getCurVal(_local2); if (_local2 >= duration) { endTween(); } else if (updateFunc != undefined) { listener[updateFunc](_local3); } else { listener.onTweenUpdate(_local3); } } function getCurVal(curTime) { if (arrayMode) { var _local3 = new Array(); var _local2 = 0; while (_local2 < initVal.length) { _local3[_local2] = easingEquation(curTime, initVal[_local2], endVal[_local2] - initVal[_local2], duration); _local2++; } return(_local3); } return(easingEquation(curTime, initVal, endVal - initVal, duration)); } function endTween() { if (endFunc != undefined) { listener[endFunc](endVal); } else { listener.onTweenEnd(endVal); } RemoveTweenAt(ID); } function setTweenHandlers(update, end) { updateFunc = update; endFunc = end; } function easingEquation(t, b, c, d) { return(((c / 2) * (Math.sin(Math.PI * ((t / d) - 0.5)) + 1)) + b); } static var ActiveTweens = new Array(); static var Interval = 10; static var Dispatcher = new Object(); var duration = 3000; }
Symbol 171 MovieClip [__Packages.mx.controls.Menu] Frame 0
class mx.controls.Menu extends mx.controls.listclasses.ScrollSelectList { var __set__visible, listContent, mask_mc, border_mc, __menuCache, getViewMetrics, layoutContent, __width, __height, invRowHeight, invUpdateSize, getFocusManager, __menuDataProvider, groupName, __get__visible, __menuBar, _x, _y, _width, popupMask, attachMovie, setMask, __get__width, height, getStyle, wasJustCreated, popupTween, isPressed, width, __activeChildren, __lastRowRolledOver, clearSelected, anchorRow, supposedToLoseFocus, __dataProvider, invalidate, __rowCount, getLength, setSize, rows, __namedItems, __radioGroups, _selection, _members, enabled, selectable, __anchor, __parentMenu, __anchorIndex, __vPosition, dragScrolling, __timer, __timeOut, focusManager, getSelectedIndex, wasKeySelected, selectRow, selectedIndex, selectedItem; function Menu () { super(); } static function createMenu(parent, mdp, initObj) { if (parent == undefined) { parent = _root; } var pt = new Object(); pt.x = parent._root._xmouse; pt.y = parent._root._ymouse; parent._root.localToGlobal(pt); if (mdp == undefined) { mdp = new XML(); } var _local3 = mx.managers.PopUpManager.createPopUp(parent, mx.controls.Menu, false, initObj, true); if (_local3 == undefined) { trace("Failed to create a new menu, probably because there is no Menu in the Library"); } else { _local3.isPressed = true; _local3.mouseDownOutsideHandler = function (event) { if ((!this.isMouseOverMenu()) && (!this.__activator.hitTest(pt.x, pt.y))) { this.hideAllMenus(); } }; _local3.dataProvider = mdp; } return(_local3); } static function isItemEnabled(itm) { var _local1 = itm.attributes.enabled; return((((_local1 == undefined) || (_local1 == true)) || (_local1.toLowerCase() == "true")) && (itm.attributes.type.toLowerCase() != "separator")); } static function isItemSelected(itm) { var _local1 = itm.attributes.selected; return((_local1 == true) || (_local1.toLowerCase() == "true")); } function init(Void) { super.init(); __set__visible(false); } function createChildren(Void) { super.createChildren(); listContent.setMask(mask_mc); mask_mc.removeMovieClip(); border_mc.move(0, 0); border_mc.borderStyle = "menuBorder"; } function propagateToSubMenus(prop, value) { for (var _local5 in __menuCache) { var _local2 = __menuCache[_local5]; if (_local2 != this) { _local2["set" + prop](value); } } } function setLabelField(lbl) { super.setLabelField(lbl); propagateToSubMenus("LabelField", lbl); } function setLabelFunction(lbl) { super.setLabelFunction(lbl); propagateToSubMenus("LabelFunction", lbl); } function setCellRenderer(cR) { super.setCellRenderer(cR); propagateToSubMenus("CellRenderer", cR); } function setRowHeight(v) { super.setRowHeight(v); propagateToSubMenus("RowHeight", v); } function setIconField(v) { super.setIconField(v); propagateToSubMenus("IconField", v); } function setIconFunction(v) { super.setIconFunction(v); propagateToSubMenus("IconFunction", v); } function size(Void) { super.size(); var _local3 = getViewMetrics(); layoutContent(_local3.left, _local3.top, (__width - _local3.left) - _local3.right, (__height - _local3.top) - _local3.bottom); } function draw(Void) { if (invRowHeight) { super.draw(); listContent.setMask(mask_mc); invUpdateSize = true; } super.draw(); if (invUpdateSize) { updateSize(); } } function onSetFocus() { super.onSetFocus(); getFocusManager().defaultPushButtonEnabled = false; } function setDataProvider(dP) { if (typeof(dP) == "string") { dP = new XML(dP).firstChild; } __menuDataProvider.removeEventListener("modelChanged", this); __menuDataProvider = dP; if (!(__menuDataProvider instanceof XML)) { __menuDataProvider.isTreeRoot = true; } __menuDataProvider.addEventListener("modelChanged", this); modelChanged({eventName:"updateTree"}); } function getDataProvider() { return(__menuDataProvider); } function addMenuItem(arg) { return(__menuDataProvider.addMenuItem(arg)); } function addMenuItemAt(index, arg) { return(__menuDataProvider.addMenuItemAt(index, arg)); } function removeMenuItemAt(index) { var _local2 = getMenuItemAt(index); if ((_local2 != undefined) && (_local2 != null)) { _local2.removeMenuItem(); } return(_local2); } function removeMenuItem(item) { return(removeMenuItemAt(indexOf(item))); } function removeAll(Void) { return(__menuDataProvider.removeAll()); } function getMenuItemAt(index) { return(__menuDataProvider.getMenuItemAt(index)); } function setMenuItemSelected(item, select) { if (item.attributes.type == "radio") { var _local3 = getRootMenu(); groupName = item.attributes.groupName; _local3[groupName].setGroupSelection(item); return(undefined); } if (select != item.attributes.selected) { item.attributes.selected = select; item.updateViews({eventName:"selectionChanged", node:item}); } } function setMenuItemEnabled(item, enable) { if (enable != item.attributes.enabled) { item.attributes.enabled = enable; item.updateViews({eventName:"enabledChanged", node:item}); } } function indexOf(item) { return(__menuDataProvider.indexOf(item)); } function show(x, y) { if (!__get__visible()) { var _local2 = getRootMenu(); _local2.dispatchEvent({type:"menuShow", menuBar:__menuBar, menu:this, menuItem:__menuDataProvider}); if (x != undefined) { _x = x; if (y != undefined) { _y = y; } } if (this != _local2) { var _local5 = (_x + _width) - Stage.width; if (_local5 > 0) { _x = _x - _local5; if (_x < 0) { _x = 0; } } } popupMask = attachMovie("BoundingBox", "pMask_mc", 6000); setMask(popupMask); var _local3 = __get__width(); if (_local3 < 50) { _local3 = 100; } popupMask._width = _local3; popupMask._height = height; popupMask._x = -popupMask._width; popupMask._y = -popupMask._height; var _local4 = getStyle("popupDuration"); if (wasJustCreated && (_local4 < 200)) { _local4 = 200; delete wasJustCreated; } popupTween = new mx.effects.Tween(this, [popupMask._x, popupMask._y], [0, 0], _local4); __set__visible(true); isPressed = true; if ((!__menuBar) && (_local2 == this)) { Selection.setFocus(this); } } } function onTweenUpdate(val) { popupMask._width = width; popupMask._x = val[0]; popupMask._y = val[1]; } function onTweenEnd(val) { popupMask._x = val[0]; popupMask._y = val[1]; setMask(undefined); popupMask.removeMovieClip(); } function hide(Void) { if (__get__visible()) { for (var _local2 in __activeChildren) { __activeChildren[_local2].hide(); } __lastRowRolledOver = undefined; clearSelected(); if (anchorRow != undefined) { anchorRow.highlight._visible = false; } __set__visible(false); isPressed = false; __wasVisible = false; var _local3 = getRootMenu(); _local3.dispatchEvent({type:"menuHide", menuBar:__menuBar, menu:this, menuItem:__menuDataProvider}); } } function onKillFocus() { super.onKillFocus(); getFocusManager().defaultPushButtonEnabled = true; if (supposedToLoseFocus == undefined) { hideAllMenus(); } delete supposedToLoseFocus; } function modelChanged(eventObj) { var _local3 = eventObj.eventName; if (_local3 == "updateTree") { __dataProvider.removeAll(); __dataProvider.addItemsAt(0, __menuDataProvider.childNodes); invUpdateSize = true; invalidate(); super.modelChanged({eventName:"updateAll"}); deinstallAllItems(); installItem(__menuDataProvider); if (__menuCache == undefined) { __menuCache = new Object(); } __menuCache[__menuDataProvider.getID()] = this; } else if ((_local3 == "addNode") || (_local3 == "removeNode")) { var _local5 = eventObj.node; var _local6 = eventObj.parentNode; var _local7 = __menuCache[_local6.getID()]; if (_local3 == "removeNode") { deleteDependentSubMenus(_local5); _local7.removeItemAt(eventObj.index); deinstallItem(_local5); } else { _local7.addItemAt(eventObj.index, _local5); installItem(_local5); } _local7.invUpdateSize = true; _local7.invalidate(); var _local8 = __menuCache[_local6.parentNode.getID()]; _local8.invUpdateControl = true; _local8.invalidate(); } else if ((_local3 == "selectionChanged") || (_local3 == "enabledChanged")) { var _local7 = __menuCache[eventObj.node.parentNode.getID()]; _local7.invUpdateControl = true; _local7.invalidate(); } else { super.modelChanged(eventObj); } } function updateSize() { delete invUpdateSize; var _local2 = calcHeight(); if (getLength() != __rowCount) { setSize(0, _local2); } setSize(calcWidth(), _local2); } function calcWidth() { var _local4 = -1; var _local3; var _local2 = 0; while (_local2 < rows.length) { _local3 = rows[_local2].getIdealWidth(); if (_local3 > _local4) { _local4 = _local3; } _local2++; } var _local5 = getStyle("textIndent"); if (_local5 == undefined) { _local5 = 0; } return(_local4 + _local5); } function calcHeight() { var _local2 = getViewMetrics(); return(((__dataProvider.length * __rowHeight) + _local2.top) + _local2.bottom); } function invalidateStyle(propName) { super.invalidateStyle(propName); for (var _local4 in __activeChildren) { __activeChildren[_local4].invalidateStyle(propName); } } function notifyStyleChangeInChildren(sheetName, styleProp, newValue) { super.notifyStyleChangeInChildren(sheetName, styleProp, newValue); for (var _local6 in __activeChildren) { __activeChildren[_local6].notifyStyleChangeInChildren(sheetName, styleProp, newValue); } } function deleteDependentSubMenus(menuItem) { var _local2 = menuItem.childNodes; for (var _local3 in _local2) { deleteDependentSubMenus(_local2[_local3]); } var _local4 = __menuCache[menuItem.getID()]; if (_local4 != undefined) { _local4.hide(); delete __menuCache[menuItem.getID()]; } } function installItem(item) { if (item.attributes.instanceName != undefined) { var _local6 = item.attributes.instanceName; if (this[_local6] != undefined) { trace("WARNING: Duplicate menu item instanceNames - " + _local6); } if (__namedItems == undefined) { __namedItems = new Object(); } __namedItems[_local6] = item; this[_local6] = item; } if ((item.attributes.type == "radio") && (item.attributes.groupName != undefined)) { var _local5 = item.attributes.groupName; var _local2 = this[_local5]; if (_local2 == undefined) { _local2 = new Object(); _local2.name = _local5; _local2._rootMenu = this; _local2._members = new Object(); _local2._memberCount = 0; _local2.getGroupSelection = getGroupSelection; _local2.setGroupSelection = setGroupSelection; _local2.addProperty("selection", _local2.getGroupSelection, _local2.setGroupSelection); if (__radioGroups == undefined) { __radioGroups = new Object(); } __radioGroups[_local5] = _local2; this[_local5] = _local2; } _local2._members[item.getID()] = item; _local2._memberCount++; if (isItemSelected(item)) { _local2.selection = item; } } var _local3 = item.childNodes; for (var _local7 in _local3) { installItem(_local3[_local7]); } } function deinstallItem(item) { var _local2 = item.childNodes; for (var _local5 in _local2) { deinstallItem(_local2[_local5]); } if (item.attributes.instanceName != undefined) { var _local7 = item.attributes.instanceName; delete this[_local7]; delete __namedItems[_local7]; } if ((item.attributes.type == "radio") && (item.attributes.groupName != undefined)) { var _local6 = item.attributes.groupName; var _local3 = this[_local6]; if (_local3 == undefined) { return(undefined); } delete _local3._members[item.getID()]; _local3._memberCount--; if (_local3._memberCount == 0) { delete this[_local6]; delete __radioGroups[_local6]; } else if (_local3.selection == item) { delete _local3._selection; } } } function deinstallAllItems(Void) { for (var _local2 in __namedItems) { delete this[_local2]; } delete __namedItems; for (var _local2 in __radioGroups) { delete this[_local2]; } delete __radioGroups; } function getGroupSelection() { return(_selection); } function setGroupSelection(item) { _selection = item; for (var _local4 in _members) { var _local2 = _members[_local4]; _local2.attributes.selected = _local2 == item; } item.updateViews({eventName:"selectionChanged", node:item}); } function onRowRelease(rowIndex) { if (((!enabled) || (!selectable)) || (!__get__visible())) { return(undefined); } var _local5 = rows[rowIndex]; var _local2 = _local5.item; if ((_local2 != undefined) && (isItemEnabled(_local2))) { var _local10 = _local2.attributes.type; var _local4 = (!_local2.hasChildNodes()) && (_local10 != "separator"); if (_local4) { hideAllMenus(); } var _local6; var _local3 = getRootMenu(); if ((_local10 == "check") || (_local10 == "radio")) { setMenuItemSelected(_local2, !isItemSelected(_local2)); } if (_local4) { _local3.dispatchEvent({type:"change", menuBar:__menuBar, menu:_local3, menuItem:_local2, groupName:_local2.attributes.groupName}); } } } function onRowPress(rowIndex) { var _local3 = rows[rowIndex].item; if (isItemEnabled(_local3) && (!_local3.hasChildNodes())) { super.onRowPress(rowIndex); } } function onRowRollOut(rowIndex) { if (((!enabled) || (!selectable)) || (!__get__visible())) { return(undefined); } super.onRowRollOut(rowIndex); var _local4 = rows[rowIndex].item; if (_local4 != undefined) { var _local5 = getRootMenu(); _local5.dispatchEvent({type:"rollOut", menuBar:__menuBar, menu:this, menuItem:_local4}); } var _local3 = __activeChildren[_local4.getID()]; if (_local4.hasChildNodes() > 0) { if (_local3.isOpening || (_local3.isOpening == undefined)) { cancelMenuDelay(); _local3.isOpening = false; } if (_local3.visible) { rows[rowIndex].drawRow(_local4, "selected", false); } } else if (_local3.isClosing || (_local3.isClosing == undefined)) { cancelMenuDelay(); _local3.isClosing = false; } setTimeOut(__closeDelay, _local4.getID()); } function onRowRollOver(rowIndex) { if (((!enabled) || (!selectable)) || (!__get__visible())) { return(undefined); } var _local2 = rows[rowIndex]; var _local8 = _local2.item; var _local6 = _local8.getID(); var _local4 = __activeChildren[__anchor]; var _local5 = __activeChildren[_local6]; clearSelected(); clearTimeOut(); __lastRowRolledOver = rowIndex; if (anchorRow != undefined) { anchorRow.drawRow(anchorRow.item, "normal", false); delete anchorRow; } if (__parentMenu) { var _local3 = __parentMenu.rows[__anchorIndex]; _local3.drawRow(_local3.item, "selected", false); __parentMenu.anchorRow = _local3; } if (_local5.__activeChildren[_local5.__anchor].visible) { _local5.__activeChildren[_local5.__anchor].hide(); } if (_local4.visible && (__anchor != _local6)) { _local4.isClosing = true; setMenuDelay(__closeDelay, "closeSubMenu", {id:__anchor}); } if ((_local8 != undefined) && (isItemEnabled(_local8))) { var _local7 = getRootMenu(); _local7.dispatchEvent({type:"rollOver", menuBar:__menuBar, menu:this, menuItem:_local8}); if (_local8.hasChildNodes() > 0) { anchorRow = _local2; _local2.drawRow(_local8, "selected", false); if (!_local5.visible) { _local5.isOpening = true; setMenuDelay(__openDelay, "openSubMenu", {item:_local8, rowIndex:rowIndex}); } } else { _local2.drawRow(_local8, "highlighted", false); } } } function onRowDragOver(rowIndex) { var _local4 = __dataProvider.getItemAt(rowIndex + __vPosition); if (isItemEnabled(_local4)) { super.onRowDragOver(rowIndex); onRowRollOver(rowIndex); } } function __onMouseUp() { clearInterval(dragScrolling); delete dragScrolling; delete isPressed; if (!selectable) { return(undefined); } if (__wasVisible) { hide(); } __wasVisible = false; } function setMenuDelay(delay, request, args) { if (__timer == null) { __timer = setInterval(this, "callMenuDelay", delay, request, args); } else { __delayQueue.push({delay:delay, request:request, args:args}); } } function callMenuDelay(request, args) { this[request](args); clearMenuDelay(); } function clearMenuDelay(Void) { clearInterval(__timer); __timer = null; runDelayQueue(); } function cancelMenuDelay(Void) { var _local2 = __delayQueue.pop(); clearMenuDelay(); } function runDelayQueue(Void) { if (__delayQueue.length == 0) { return(undefined); } var _local2 = __delayQueue.shift(); var _local4 = _local2.delay; var _local5 = _local2.request; var _local3 = _local2.args; setMenuDelay(_local4, _local5, _local3); } function setTimeOut(delay, id) { clearTimeOut(); __timeOut = setInterval(this, "callTimeOut", delay, id); } function clearTimeOut(Void) { clearInterval(__timeOut); __timeOut = null; } function callTimeOut(Void) { var _local2 = __activeChildren[__anchor]; clearTimeOut(); if ((!isMouseOverMenu()) && (_local2)) { var _local3 = _local2.__anchorIndex; var _local5 = __dataProvider.getItemAt(_local3 + __vPosition); var _local4 = rows[_local3]; _local4.drawRow(_local5, "normal", false); _local2.hide(); __delayQueue.length = 0; } } function openSubMenu(o) { var _local3 = getRootMenu(); var _local5 = rows[o.rowIndex]; var _local7 = o.item; var _local6 = (__anchor = _local7.getID()); var _local2 = _local3.__menuCache[_local6]; if (_local2 == undefined) { _local2 = mx.managers.PopUpManager.createPopUp(_local3, mx.controls.Menu, false, {__parentMenu:this, __anchorIndex:o.rowIndex, styleName:_local3}, true); _local2.labelField = _local3.__labelField; _local2.labelFunction = _local3.__labelFunction; _local2.iconField = _local3.__iconField; _local2.iconFunction = _local3.__iconFunction; _local2.wasJustCreated = true; _local2.cellRenderer = _local3.__cellRenderer; _local2.rowHeight = _local3.__rowHeight; if (_local3.__menuCache == undefined) { _local3.__menuCache = new Object(); _local3.__menuCache[_local3.__menuDataProvider.getID()] = _local3; } if (__activeChildren == undefined) { __activeChildren = new Object(); } _local3.__menuCache[_local6] = _local2; __activeChildren[_local6] = _local2; _local2.__dataProvider.addItemsAt(0, _local7.childNodes); _local2.invUpdateSize = true; _local2.invalidate(); } _local2.__menuBar = __menuBar; var _local4 = {x:0, y:0}; _local5.localToGlobal(_local4); _local5._root.globalToLocal(_local4); _local2.focusManager.lastFocus = undefined; _local2.show(_local4.x + _local5.__width, _local4.y); focusManager.lastFocus = undefined; _local2.isOpening = false; } function closeSubMenu(o) { var _local2 = __activeChildren[o.id]; _local2.hide(); _local2.isClosing = false; } function moveSelBy(incr) { var _local3 = getSelectedIndex(); if (_local3 == undefined) { _local3 = -1; } var _local2 = _local3 + incr; if (_local2 > (__dataProvider.length - 1)) { _local2 = 0; } else if (_local2 < 0) { _local2 = __dataProvider.length - 1; } wasKeySelected = true; selectRow(_local2 - __vPosition, false, false); var _local4 = __dataProvider.getItemAt(_local2 + __vPosition); if (_local4.attributes.type == "separator") { moveSelBy(incr); } } function keyDown(e) { if (__lastRowRolledOver != undefined) { selectedIndex = __lastRowRolledOver; __lastRowRolledOver = undefined; } var _local2 = selectedItem; if (Key.isDown(38)) { var _local4 = getRootMenu(); var _local3 = _local4.__menuCache[_local2.getID()]; if (_local2.hasChildNodes() && (_local3.visible)) { supposedToLoseFocus = true; Selection.setFocus(_local3); _local3.selectedIndex = _local3.rows.length - 1; } else { moveSelBy(-1); } } if (Key.isDown(40)) { var _local4 = getRootMenu(); var _local3 = _local4.__menuCache[_local2.getID()]; if (_local2.hasChildNodes() && (_local3.visible)) { supposedToLoseFocus = true; Selection.setFocus(_local3); _local3.selectedIndex = 0; } else { moveSelBy(1); } } if (Key.isDown(39)) { if (isItemEnabled(_local2) && (_local2.hasChildNodes())) { openSubMenu({item:_local2, rowIndex:selectedIndex}); var _local4 = getRootMenu(); var _local3 = _local4.__menuCache[_local2.getID()]; supposedToLoseFocus = true; Selection.setFocus(_local3); _local3.selectedIndex = 0; } else if (__menuBar) { supposedToLoseFocus = true; Selection.setFocus(__menuBar); __menuBar.keyDown(e); } } if (Key.isDown(37)) { if (__parentMenu) { supposedToLoseFocus = true; hide(); Selection.setFocus(__parentMenu); } else if (__menuBar) { supposedToLoseFocus = true; Selection.setFocus(__menuBar); __menuBar.keyDown(e); } } if (Key.isDown(13) || (Key.isDown(32))) { if (isItemEnabled(_local2) && (_local2.hasChildNodes())) { openSubMenu({item:_local2, rowIndex:selectedIndex}); var _local4 = getRootMenu(); var _local3 = _local4.__menuCache[_local2.getID()]; supposedToLoseFocus = true; Selection.setFocus(_local3); _local3.selectedIndex = 0; } else { onRowRelease(selectedIndex); } } if (Key.isDown(27) || (Key.isDown(9))) { hideAllMenus(); } } function hideAllMenus(Void) { getRootMenu().hide(); } function isMouseOverMenu(Void) { var _local4 = new Object(); _local4.x = _root._xmouse; _local4.y = _root._ymouse; _root.localToGlobal(_local4); if (border_mc.hitTest(_local4.x, _local4.y)) { return(true); } var _local5 = getRootMenu(); for (var _local6 in _local5.__menuCache) { var _local3 = _local5.__menuCache[_local6]; if (_local3.visible && (_local3.border_mc.hitTest(_local4.x, _local4.y))) { return(true); } } return(false); } function getRootMenu(Void) { var _local2 = this; while (_local2.__parentMenu != undefined) { _local2 = _local2.__parentMenu; } return(_local2); } static var symbolName = "Menu"; static var symbolOwner = mx.controls.Menu; var className = "Menu"; static var version = "2.0.2.126"; static var mixit = mx.controls.treeclasses.TreeDataProvider.Initialize(XMLNode); static var mixit2 = mx.controls.menuclasses.MenuDataProvider.Initialize(XMLNode); var __hScrollPolicy = "off"; var __vScrollPolicy = "off"; var __rowRenderer = "MenuRow"; var __rowHeight = 19; var __wasVisible = false; var __enabled = true; var __openDelay = 250; var __closeDelay = 250; var __delayQueue = new Array(); var __iconField = "icon"; }
Symbol 172 MovieClip [__Packages.mx.skins.halo.ActivatorSkin] Frame 0
class mx.skins.halo.ActivatorSkin extends mx.skins.RectBorder { var __get__width, __get__height, getStyle, clear, drawRoundRect, __get__x, __get__y; function ActivatorSkin () { super(); } function init() { super.init(); } function size() { drawHaloRect(__get__width(), __get__height()); } function drawHaloRect(w, h) { var _local5 = getStyle("borderStyle"); var _local4 = getStyle("themeColor"); clear(); switch (_local5) { case "none" : drawRoundRect(__get__x(), __get__y(), w, h, 0, 16777215, 0); break; case "falsedown" : drawRoundRect(__get__x(), __get__y(), w, h, 0, 9542041, 100); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 0, [3355443, 16579836], 100, -90, "radial"); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 0, _local4, 50); drawRoundRect(__get__x() + 3, __get__y() + 3, w - 6, h - 6, 0, 16777215, 100); drawRoundRect(__get__x() + 3, __get__y() + 4, w - 6, h - 7, 0, _local4, 20); break; case "falserollover" : drawRoundRect(__get__x(), __get__y(), w, h, 0, 9542041, 100); drawRoundRect(__get__x(), __get__y(), w, h, 0, _local4, 50); drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 0, [3355443, 16777215], 100, 0, "radial"); drawRoundRect(__get__x() + 3, __get__y() + 3, w - 6, h - 6, 0, 16777215, 100); drawRoundRect(__get__x() + 3, __get__y() + 4, w - 6, h - 7, 0, 16316664, 100); } } static function classConstruct() { mx.core.ext.UIObjectExtensions.Extensions(); _global.skinRegistry.ActivatorSkin = true; return(true); } static var symbolName = "ActivatorSkin"; static var symbolOwner = mx.skins.halo.ActivatorSkin; var className = "ActivatorSkin"; var backgroundColorName = "buttonColor"; static var classConstructed = classConstruct(); static var UIObjectExtensionsDependency = mx.core.ext.UIObjectExtensions; }
Symbol 173 MovieClip [__Packages.mx.controls.menuclasses.MenuBarItem] Frame 0
class mx.controls.menuclasses.MenuBarItem extends mx.core.UIComponent { var createLabel, cell, __initText, createClassObject, owner, useHandCursor, trackAsMenu, border_mc, __width, __height, enabled, menuBarIndex; function MenuBarItem () { super(); } function createChildren(Void) { super.createChildren(); createLabel("cell", 20); cell.setValue(__initText); createClassObject(mx.skins.halo.ActivatorSkin, "border_mc", 0, {styleName:owner, borderStyle:"none"}); useHandCursor = false; trackAsMenu = true; } function size(Void) { super.size(); border_mc.setSize(__width, __height); cell.setSize(__width - __cellWidthBuffer, cell.getPreferredHeight()); cell._x = __cellWidthBuffer / 2; cell._y = (__height - cell._height) / 2; } function getPreferredWidth(Void) { return(cell.getPreferredWidth() + __cellWidthBuffer); } function setLabelBorder(style) { border_mc.borderStyle = style; border_mc.draw(); } function setEnabled(state) { cell.enabled = state; if (!enabled) { setLabelBorder("none"); } } function onPress(Void) { owner.onItemPress(menuBarIndex); } function onRelease(Void) { owner.onItemRelease(menuBarIndex); } function onRollOver(Void) { owner.onItemRollOver(menuBarIndex); } function onRollOut(Void) { owner.onItemRollOut(menuBarIndex); } function onDragOver(Void) { owner.onItemDragOver(menuBarIndex); } function onDragOut(Void) { owner.onItemDragOut(menuBarIndex); } var __cellHeightBuffer = 3; var __cellWidthBuffer = 20; var __isDown = false; var __isClosing = false; }
Symbol 174 MovieClip [__Packages.mx.controls.listclasses.SelectableRow] Frame 0
class mx.controls.listclasses.SelectableRow extends mx.core.UIComponent { var __height, cell, owner, rowIndex, icon_mc, createObject, __width, backGround, highlight, highlightColor, createLabel, createClassObject, listOwner, tabEnabled, item, createEmptyMovieClip, drawRect, isChangedToSelected, bGTween, grandOwner; function SelectableRow () { super(); } function setValue(itmObj, state) { var _local7 = __height; var _local2 = cell; var _local5 = owner; var _local8 = itemToString(itmObj); if (_local2.getValue() != _local8) { _local2.setValue(_local8, itmObj, state); } var _local4 = _local5.getPropertiesAt(rowIndex + _local5.__vPosition).icon; if (_local4 == undefined) { _local4 = _local5.__iconFunction(itmObj); if (_local4 == undefined) { _local4 = itmObj[_local5.__iconField]; if (_local4 == undefined) { _local4 = _local5.getStyle("defaultIcon"); } } } var _local3 = icon_mc; if ((_local4 != undefined) && (itmObj != undefined)) { _local3 = createObject(_local4, "icon_mc", 20); _local3._x = 2; _local3._y = (_local7 - _local3._height) / 2; _local2._x = 4 + _local3._width; } else { _local3.removeMovieClip(); _local2._x = 2; } var _local9 = ((_local3 == undefined) ? 0 : (_local3._width)); _local2.setSize(__width - _local9, Math.min(_local7, _local2.getPreferredHeight())); _local2._y = (_local7 - _local2._height) / 2; } function size(Void) { var _local3 = backGround; var _local2 = cell; var _local4 = __height; var _local5 = __width; var _local6 = ((icon_mc == undefined) ? 0 : (icon_mc._width)); _local2.setSize(_local5 - _local6, Math.min(_local4, _local2.getPreferredHeight())); _local2._y = (_local4 - _local2._height) / 2; icon_mc._y = (_local4 - icon_mc._height) / 2; _local3._x = 0; _local3._width = _local5; _local3._height = _local4; drawRowFill(_local3, normalColor); drawRowFill(highlight, highlightColor); } function setCellRenderer(forceSizing) { var _local3 = owner.__cellRenderer; var _local4; if (cell != undefined) { _local4 = cell._x; cell.removeMovieClip(); cell.removeTextField(); } var _local2; if (_local3 == undefined) { _local2 = (cell = createLabel("cll", 0, {styleName:this})); _local2.styleName = owner; _local2.selectable = false; _local2.tabEnabled = false; _local2.background = false; _local2.border = false; } else if (typeof(_local3) == "string") { _local2 = (cell = createObject(_local3, "cll", 0, {styleName:this})); } else { _local2 = (cell = createClassObject(_local3, "cll", 0, {styleName:this})); } _local2.owner = this; _local2.listOwner = owner; _local2.getCellIndex = getCellIndex; _local2.getDataLabel = getDataLabel; if (_local4 != undefined) { _local2._x = _local4; } if (forceSizing) { size(); } } function getCellIndex(Void) { return({columnIndex:0, itemIndex:owner.rowIndex + listOwner.__vPosition}); } function getDataLabel() { return(listOwner.labelField); } function init(Void) { super.init(); tabEnabled = false; } function createChildren(Void) { setCellRenderer(false); setupBG(); setState(state, false); } function drawRow(itmObj, state, transition) { item = itmObj; setState(state, transition); setValue(itmObj, state, transition); } function itemToString(itmObj) { if (itmObj == undefined) { return(" "); } var _local2 = owner.__labelFunction(itmObj); if (_local2 == undefined) { _local2 = ((itmObj instanceof XMLNode) ? (itmObj.attributes[owner.__labelField]) : (itmObj[owner.__labelField])); if (_local2 == undefined) { _local2 = " "; if (typeof(itmObj) == "object") { for (var _local4 in itmObj) { if (_local4 != "__ID__") { _local2 = (itmObj[_local4] + ", ") + _local2; } } _local2 = _local2.substring(0, _local2.length - 2); } else { _local2 = itmObj; } } } return(_local2); } function setupBG(Void) { var _local2 = (backGround = createEmptyMovieClip("bG_mc", LOWEST_DEPTH)); drawRowFill(_local2, normalColor); highlight = createEmptyMovieClip("tran_mc", LOWEST_DEPTH + 10); _local2.owner = this; _local2.grandOwner = owner; _local2.onPress = bGOnPress; _local2.onRelease = bGOnRelease; _local2.onRollOver = bGOnRollOver; _local2.onRollOut = bGOnRollOut; _local2.onDragOver = bGOnDragOver; _local2.onDragOut = bGOnDragOut; _local2.useHandCursor = false; _local2.trackAsMenu = true; _local2.drawRect = drawRect; highlight.drawRect = drawRect; } function drawRowFill(mc, newClr) { mc.clear(); mc.beginFill(newClr); mc.drawRect(1, 0, __width, __height); mc.endFill(); mc._width = __width; mc._height = __height; } function setState(newState, transition) { var _local2 = highlight; var _local8 = backGround; var _local4 = __height; var _local3 = owner; if (!_local3.enabled) { if ((newState == "selected") || (state == "selected")) { highlightColor = _local3.getStyle("selectionDisabledColor"); drawRowFill(_local2, highlightColor); _local2._visible = true; _local2._y = 0; _local2._height = _local4; } else { _local2._visible = false; normalColor = _local3.getStyle("backgroundDisabledColor"); drawRowFill(_local8, normalColor); } cell.__enabled = false; cell.setColor(_local3.getStyle("disabledColor")); } else { cell.__enabled = true; if (transition && ((newState == state) || ((newState == "highlighted") && (state == "selected")))) { isChangedToSelected = true; return(undefined); } var _local6 = _local3.getStyle("selectionDuration"); var _local7 = 0; if (isChangedToSelected && (newState == "selected")) { transition = false; } var _local10 = transition && (_local6 != 0); if (newState == "normal") { _local7 = _local3.getStyle("color"); normalColor = getNormalColor(); drawRowFill(_local8, normalColor); if (_local10) { _local6 = _local6 / 2; _local2._height = _local4; _local2._width = __width; _local2._y = 0; bGTween = new mx.effects.Tween(this, _local4 + 2, _local4 * 0.2, _local6, 5); } else { _local2._visible = false; } delete isChangedToSelected; } else { highlightColor = _local3.getStyle(((newState == "highlighted") ? "rollOverColor" : "selectionColor")); drawRowFill(_local2, highlightColor); _local2._visible = true; _local7 = _local3.getStyle(((newState == "highlighted") ? "textRollOverColor" : "textSelectedColor")); if (_local10) { _local2._height = _local4 * 0.5; _local2._y = (_local4 - _local2._height) / 2; bGTween = new mx.effects.Tween(this, _local2._height, _local4 + 2, _local6, 5); var _local9 = _local3.getStyle("selectionEasing"); if (_local9 != undefined) { bGTween.easingEquation = _local9; } } else { _local2._y = 0; _local2._height = _local4; } } cell.setColor(_local7); } state = newState; } function onTweenUpdate(val) { highlight._height = val; highlight._y = (__height - val) / 2; } function onTweenEnd(val) { onTweenUpdate(val); highlight._visible = state != "normal"; } function getNormalColor(Void) { var _local3; var _local2 = owner; if (!owner.enabled) { _local3 = _local2.getStyle("backgroundDisabledColor"); } else { var _local5 = rowIndex + _local2.__vPosition; if (rowIndex == undefined) { _local3 = _local2.getPropertiesOf(item).backgroundColor; } else { _local3 = _local2.getPropertiesAt(_local5).backgroundColor; } if (_local3 == undefined) { var _local4 = _local2.getStyle("alternatingRowColors"); if (_local4 == undefined) { _local3 = _local2.getStyle("backgroundColor"); } else { _local3 = _local4[_local5 % _local4.length]; } } } return(_local3); } function invalidateStyle(propName) { cell.invalidateStyle(propName); super.invalidateStyle(propName); } function bGOnPress(Void) { grandOwner.pressFocus(); grandOwner.onRowPress(owner.rowIndex); } function bGOnRelease(Void) { grandOwner.releaseFocus(); grandOwner.onRowRelease(owner.rowIndex); } function bGOnRollOver(Void) { grandOwner.onRowRollOver(owner.rowIndex); } function bGOnRollOut(Void) { grandOwner.onRowRollOut(owner.rowIndex); } function bGOnDragOver(Void) { grandOwner.onRowDragOver(owner.rowIndex); } function bGOnDragOut(Void) { grandOwner.onRowDragOut(owner.rowIndex); } static var LOWEST_DEPTH = -16384; var state = "normal"; var disabledColor = 15263976; var normalColor = 16777215; }
Symbol 175 MovieClip [__Packages.mx.controls.menuclasses.MenuRow] Frame 0
class mx.controls.menuclasses.MenuRow extends mx.controls.listclasses.SelectableRow { var cell, state, owner, icon_branch, branch, type, iconID, icon_mc, icon_sep, createObject, __width, __height, idealWidth; function MenuRow () { super(); } function setValue(itemObj, sel) { var _local7 = cell; var _local6 = itemToString(itemObj); if (_local7.getValue() != _local6) { _local7.setValue(_local6, itemObj, state); } var _local8 = itemObj.hasChildNodes(); var _local5 = mx.controls.Menu.isItemEnabled(itemObj); var _local4 = itemObj.attributes.type; if (_local4 == undefined) { _local4 = "normal"; } var _local9 = mx.controls.Menu.isItemSelected(itemObj); var _local3 = owner.__iconFunction(itemObj); if (_local3 == undefined) { _local3 = itemObj.attributes[owner.__iconField]; } if (_local3 == undefined) { _local3 = owner.getStyle("defaultIcon"); } if (icon_branch && (((_local8 != branch) || (_local5 != isEnabled)) || (type == "separator"))) { icon_branch.removeMovieClip(); delete icon_branch; } if ((((_local9 != selected) || (_local3 != iconID)) || (_local4 != type)) || ((_local5 != isEnabled) && (_local4 != "normal"))) { icon_mc.removeMovieClip(); icon_sep.removeMovieClip(); delete icon_sep; delete icon_mc; } branch = _local8; isEnabled = _local5; type = _local4; selected = _local9; iconID = _local3; cell.__enabled = isEnabled; cell.setColor((isEnabled ? (owner.getStyle("color")) : (owner.getStyle("disabledColor")))); if (sel == "highlighted") { if (isEnabled) { cell.setColor(owner.getStyle("textRollOverColor")); } } else if (sel == "selected") { if (isEnabled) { cell.setColor(owner.getStyle("textSelectedColor")); } } if (branch && (icon_branch == undefined)) { icon_branch = createObject("MenuBranch" + (isEnabled ? "Enabled" : "Disabled"), "icon_branch", 20); } if (type == "separator") { if (icon_sep == undefined) { var _local10 = createObject("MenuSeparator", "icon_sep", 21); } } else if (icon_mc == undefined) { if (type != "normal") { if (selected) { iconID = ((type == "check") ? "MenuCheck" : "MenuRadio") + (isEnabled ? "Enabled" : "Disabled"); } else { iconID = undefined; } } if (iconID != undefined) { icon_mc = createObject(iconID, "icon_mc", 21); } } size(); } function itemToString(itmObj) { if (itmObj.attributes.type == "separator") { return(" "); } return(super.itemToString(itmObj)); } function size(Void) { super.size(); cell._x = lBuffer; cell.setSize((__width - rBuffer) - lBuffer, Math.min(__height, cell.getPreferredHeight())); if (icon_branch) { icon_branch._x = __width - (rBuffer / 2); icon_branch._y = (__height - icon_branch._height) / 2; } if (icon_sep) { icon_sep._x = 4; icon_sep._y = (__height - icon_sep._height) / 2; icon_sep._width = __width - 8; } else if (icon_mc) { icon_mc._x = Math.max(0, (lBuffer - icon_mc._width) / 2); icon_mc._y = (__height - icon_mc._height) / 2; } } function getIdealWidth(Void) { cell.draw(); idealWidth = ((cell.getPreferredWidth() + 4) + lBuffer) + rBuffer; return(idealWidth); } var isEnabled = true; var selected = false; var lBuffer = 18; var rBuffer = 15; }
Symbol 176 MovieClip [__Packages.mx.controls.CheckBox] Frame 0
class mx.controls.CheckBox extends mx.controls.Button { var _getTextFormat, labelPath, iconName; function CheckBox () { super(); } function onRelease() { super.onRelease(); } function init() { super.init(); } function size() { super.size(); } function get emphasized() { return(undefined); } function calcPreferredHeight() { var _local5 = _getTextFormat(); var _local3 = _local5.getTextExtent2(labelPath.text).height; var _local4 = iconName._height; var _local2 = 0; if ((__labelPlacement == "left") || (__labelPlacement == "right")) { _local2 = Math.max(_local3, _local4); } else { _local2 = _local3 + _local4; } return(Math.max(14, _local2)); } function set toggle(v) { //return(toggle); } function get toggle() { } function set icon(v) { //return(icon); } function get icon() { } static var symbolName = "CheckBox"; static var symbolOwner = mx.controls.CheckBox; static var version = "2.0.2.126"; var className = "CheckBox"; var ignoreClassStyleDeclaration = {Button:1}; var btnOffset = 0; var __toggle = true; var __selected = false; var __labelPlacement = "right"; var __label = "CheckBox"; var falseUpSkin = ""; var falseDownSkin = ""; var falseOverSkin = ""; var falseDisabledSkin = ""; var trueUpSkin = ""; var trueDownSkin = ""; var trueOverSkin = ""; var trueDisabledSkin = ""; var falseUpIcon = "CheckFalseUp"; var falseDownIcon = "CheckFalseDown"; var falseOverIcon = "CheckFalseOver"; var falseDisabledIcon = "CheckFalseDisabled"; var trueUpIcon = "CheckTrueUp"; var trueDownIcon = "CheckTrueDown"; var trueOverIcon = "CheckTrueOver"; var trueDisabledIcon = "CheckTrueDisabled"; var clipParameters = {label:1, labelPlacement:1, selected:1}; static var mergedClipParameters = mx.core.UIObject.mergeClipParameters(mx.controls.CheckBox.prototype.clipParameters, mx.controls.Button.prototype.clipParameters); var centerContent = false; var borderW = 0; }
Symbol 227 Button
on (rollOver) { Mouse.hide(); } on (rollOut) { Mouse.show(); }
Symbol 232 Button
on (rollOver) { Mouse.hide(); } on (rollOut) { Mouse.show(); }
Symbol 235 MovieClip Frame 1
stop();
Symbol 235 MovieClip Frame 2
play();
Symbol 235 MovieClip Frame 3
stop();
Symbol 239 Button
on (press) { _root.yoko.gotoAndStop(1); _root.pre.btn11._visible = true; _root.men1._visible = true; _root.men2._visible = true; _root.hotkey._visible = true; _root.layout._visible = true; _root.sphere._visible = true; _root.bar._visible = true; _root.armor._visible = true; }
Symbol 245 Button
on (press) { nextFrame(); }
Symbol 270 Button
on (press) { prevFrame(); }
Symbol 713 MovieClip Frame 1
stop();
Symbol 713 MovieClip Frame 2
stop();
Symbol 718 Button
on (release) { _root.yoko.gotoAndStop(3); _root.pre.btn11._visible = false; _root.men1._visible = false; _root.men2._visible = false; _root.hotkey._visible = false; _root.layout._visible = false; _root.bar._visible = false; _root.armor._visible = false; }
Symbol 723 Button
on (release) { _root.yoko.gotoAndStop(2); _root.pre.btn11._visible = false; _root.men1._visible = false; _root.men2._visible = false; _root.hotkey._visible = false; _root.layout._visible = false; _root.bar._visible = false; _root.armor._visible = false; }
Symbol 734 Button
on (press) { getURL ("http://www.armorgames.com", "_blank"); }
Symbol 750 MovieClip Frame 40
stop();
Symbol 754 Button
on (press) { _root.play(); }
Symbol 755 MovieClip Frame 1
function itemHandler1() { } function itemHandler2() { } function itemHandler3() { } function itemHandler4() { } function itemHandler5() { } function itemHandler6() { } function itemHandler7() { } function itemHandler8() { } _root.stop(); _global.PercentLoaded = (_root.getBytesLoaded() / _root.getBytesTotal()) * 100; if (_global.PercentLoaded < 100) { bar._xscale = _global.PercentLoaded * 4; } else { _root.soundLoaded.play(); gotoAndStop ("loaded"); } var PercentDisp = ((Math.round(_global.PercentLoaded * 1000) / 1000) + "%"); var PercentDisp2 = (Math.round(_global.PercentLoaded) + "%"); percent1._x = bar._xscale - 240; Stage.showMenu = true; var initialMenu = new ContextMenu(); initialMenu.hideBuiltInItems(); _root.menu = initialMenu; percentisLoaded = Math.round((_root.getBytesLoaded() / _root.getBytesTotal()) * 100); initialMenu.customItems.push(new ContextMenuItem(("Universal Tutorial is " + percentisLoaded) + "% Loaded", itemHandler1)); initialMenu.customItems.push(new ContextMenuItem("A right-click menu interface will appear once you begin the tutorial", itemHandler2)); initialMenu.customItems.push(new ContextMenuItem("\n\n Tired of waiting, eh? I know how terrible waiting is, but the\n ", itemHandler3)); initialMenu.customItems.push(new ContextMenuItem("wait is really worth it. Trust me, this tutorial is worth your time. \n\n", itemHandler4)); initialMenu.customItems.push(new ContextMenuItem("Some things to look forward to in this tutorial are:\n\n", itemHandler5)); initialMenu.customItems.push(new ContextMenuItem("Advanced Search engine finds most relevant results fast", itemHandler6)); initialMenu.customItems.push(new ContextMenuItem("800 pages of text, pictures, and interactive elements", itemHandler7)); initialMenu.customItems.push(new ContextMenuItem("Diverse and expansive tutorial on Actionscript for n00bs and experienced users alike", itemHandler8));
Symbol 755 MovieClip Frame 2
gotoAndPlay (1);
Symbol 766 Button
on (press) { stopAllSounds(); }
Symbol 770 Button
on (press) { _root.gotoAndStop(_global.framez[3] + 4); }
Symbol 771 Button
on (press) { _root.gotoAndStop(_global.framez[0] + 4); }
Symbol 772 Button
on (press) { _root.gotoAndStop(_global.framez[1] + 4); }
Symbol 773 Button
on (press) { _root.gotoAndStop(_global.framez[2] + 4); }
Symbol 778 Button
on (press) { _global.firstValue = _global.framez.shift(); _root.gotoAndStop(_global.firstValue + 4); firstValue0 = firstValue; if (firstValue == undefined) { _root.searchResult = "Please enter a valid search before you ask to go to the most relevant result"; } _global.framez.unshift(firstValue0); }
Symbol 782 Button
on (press) { _root.blinanor.play(); frameNumber = ((_root.frameNum * 10) / 10) + 3; Math.round(frameNumber); if (frameNumber < 751) { _root.gotoAndStop(frameNumber); } else { searchResult = "You cannot go to that frame, ACCESS DENIED\n(No seriously there is nothing on that page"; } if (_root.frameNum == "trivia") { _root.gotoAndStop("trivia"); } if (_root.frameNum == "betatest") { _root.gotoAndStop("betatest"); } if (_root.frameNum == "pronote") { _root.gotoAndStop("pronote"); } if (_root.frameNum == "eagle") { _root.gotoAndStop("eagle"); } }
Symbol 792 Button
on (press) { _root.mus.setVolume(_root.mus.getVolume() - 10); }
Symbol 795 Button
on (press) { _root.mus.setVolume(_root.mus.getVolume() + 10); }
Symbol 798 Button
on (rollOver) { _root.men.gotoAndPlay(30); _root.menutxt._visible = true; }
Symbol 799 Button
on (press) { getURL ("www.newgrounds.com"); _root.back.menutxt._visible = true; }
Symbol 802 Button
on (press) { if ((_root._currentframe <= 302) and (_root._currentframe >= 2)) { _root.gotoAndStop("swift"); } if ((_root._currentframe <= 910) and (_root._currentframe >= 302)) { _root.gotoAndStop("flash"); } if (_root._currentframe == 1) { _root.gotoAndStop("main"); } this.back.menutxt._visible = true; }
Symbol 805 Button
on (press) { _root.gotoAndStop("main"); _root.back.menutxt._visible = true; }
Symbol 806 Button
on (press) { stopAllSounds(); _root.mus = new Sound(); _root.mus.attachSound("yay"); _root.mus.start(0, 1000); }
Symbol 807 Button
on (press) { stopAllSounds(); _root.mus = new Sound(); _root.mus.attachSound("ots"); _root.mus.start(0, 1000); _root.mus.volume = 70; }
Symbol 812 MovieClip Frame 1
stop();
Symbol 812 MovieClip Frame 30
stop();
Symbol 812 MovieClip Frame 45
stop(); _root.menutxt._visible = true;
Symbol 818 Button
on (press) { if (_root.mus.getVolume() > 10) { _root.mus.setVolume(_root.mus.getVolume() - 10); } }
Symbol 819 Button
on (press) { if (_root.mus.getVolume() < 90) { _root.mus.setVolume(_root.mus.getVolume() + 10); } }
Symbol 820 Button
on (press) { _root.mus.stop(); _root.musar = new Sound(); _root.musar.attachSound("yay"); _root.musar.start(6, 1000); _root.musar.setVolume(70); }
Symbol 821 Button
on (press) { stopAllSounds(); _root.musar.stop(); _root.mus = new Sound(); _root.mus.attachSound("ots"); _root.mus.start(0, 1000); _root.mus.volume = 50; }
Symbol 822 Button
on (press) { _global.firstValue = _global.framez.shift(); firstValue0 = firstValue; if (firstValue == undefined) { _root.searchResult = "Please enter a valid search before you ask to go to the most relevant result"; } _global.framez.unshift(firstValue0); _root.gotoAndStop(_global.firstValue + 4); }
Symbol 830 Button
on (press) { this.useHandCursor = false; }
Symbol 833 Button
on (press) { _root.blinanor.play(); frameNumber = ((_root.frameNum * 10) / 10) + 3; Math.round(frameNumber); if (frameNumber < 1000) { _root.gotoAndStop(frameNumber); _root.frameNum == ""; } else { _root.searchResult = "The page number you entered isn't valid"; } if (_root.frameNum == "trivia") { _root.gotoAndStop("trivia"); } if (_root.frameNum == "eagle") { _root.gotoAndStop("eagle"); } if (_root.frameNum == "pronote") { _root.gotoAndStop("pronote"); } if (_root.frameNum == "betatest") { _root.gotoAndStop("betatest"); } }
Symbol 841 MovieClip Frame 1
stop();
Symbol 841 MovieClip Frame 2
stop();
Symbol 857 MovieClip Frame 1
stop();
Symbol 857 MovieClip Frame 30
stop();
Symbol 857 MovieClip Frame 59
gotoAndStop (1);
Symbol 860 MovieClip Frame 1
stop();
Instance of Symbol 844 MovieClip in Symbol 860 MovieClip Frame 1
onClipEvent (enterFrame) { if ((_root.bigmen.otherbtn._currentframe = 1)) { if (this.hitTest(_root._xmouse, _root._ymouse)) { _root.blinanor2.play(); _root.bigmen.otherbtn.gotoAndStop(2); _root.bigmen.otherbtn.holdin.play(); } else { _root.bigmen.otherbtn.gotoAndStop(1); if (_root.bigmen.otherbtn.holdin._currentframe == 30) { _root.bigmen.otherbtn.holdin.play(); } if (_root.bigmen.otherbtn.holdin._currentframe < 20) { _root.bigmen.otherbtn.holdin.gotoAndStop(1); } } } }
Instance of Symbol 847 MovieClip in Symbol 860 MovieClip Frame 1
onClipEvent (mouseDown) { if (this.hitTest(_root._xmouse, _root._ymouse)) { _root.gotoAndStop("grounds"); } }
Symbol 860 MovieClip Frame 2
stop();
Instance of Symbol 859 MovieClip in Symbol 860 MovieClip Frame 2
onClipEvent (enterFrame) { if ((_root.bigmen.otherbtn._currentframe = 2)) { if (this.hitTest(_root._xmouse, _root._ymouse)) { _root.bigmen.otherbtn.gotoAndStop(2); if (_root.bigmen.otherbtn.holdin._currentframe == 1) { _root.bigmen.otherbtn.holdin.play(); } } else { _root.bigmen.otherbtn.gotoAndStop(1); if (_root.bigmen.otherbtn.holdin._currentframe == 30) { _root.bigmen.otherbtn.holdin.play(); } if (_root.bigmen.otherbtn.holdin._currentframe < 20) { _root.bigmen.otherbtn.holdin.gotoAndStop(1); } } } }
Symbol 875 MovieClip Frame 1
stop();
Symbol 875 MovieClip Frame 30
stop();
Symbol 875 MovieClip Frame 60
gotoAndStop (1);
Symbol 878 MovieClip Frame 1
stop();
Instance of Symbol 863 MovieClip in Symbol 878 MovieClip Frame 1
onClipEvent (enterFrame) { if (_root.bigmen.asbtn._currentframe == 1) { if (this.hitTest(_root._xmouse, _root._ymouse)) { _root.blinanor2.play(); _root.bigmen.asbtn.gotoAndStop(2); _root.bigmen.asbtn.movein3.play(); } else { _root.bigmen.asbtn.gotoAndStop(1); if (_root.bigmen.asbtn.movein3._currentframe == 30) { _root.bigmen.asbtn.movein3.play(); } if (_root.bigmen.asbtn.movein3._currentframe < 20) { _root.bigmen.asbtn.movein3.gotoAndStop(1); } } } }
Instance of Symbol 847 MovieClip in Symbol 878 MovieClip Frame 1
onClipEvent (mouseDown) { if (this.hitTest(_root._xmouse, _root._ymouse)) { _root.gotoAndStop("code"); } }
Symbol 878 MovieClip Frame 2
stop();
Instance of Symbol 877 MovieClip in Symbol 878 MovieClip Frame 2
onClipEvent (enterFrame) { if ((_root.bigmen.asbtn._currentframe = 2)) { if (this.hitTest(_root._xmouse, _root._ymouse)) { _root.bigmen.asbtn.gotoAndStop(2); if (_root.bigmen.asbtn.movein3._currentframe == 1) { _root.bigmen.asbtn.movein3.play(); } } else { _root.bigmen.asbtn.gotoAndStop(1); if (_root.bigmen.asbtn.movein3._currentframe == 30) { _root.bigmen.asbtn.movein3.play(); } if (_root.bigmen.asbtn.movein3._currentframe < 20) { _root.bigmen.asbtn.movein3.gotoAndStop(1); } } } }
Symbol 893 MovieClip Frame 1
stop();
Symbol 893 MovieClip Frame 30
stop();
Symbol 893 MovieClip Frame 60
gotoAndStop (1);
Symbol 896 MovieClip Frame 1
stop();
Instance of Symbol 881 MovieClip in Symbol 896 MovieClip Frame 1
onClipEvent (enterFrame) { if (_root.bigmen.flashbtn._currentframe == 1) { if (this.hitTest(_root._xmouse, _root._ymouse)) { _root.blinanor2.play(); _root.bigmen.flashbtn.gotoAndStop(2); _root.bigmen.flashbtn.movein2.play(); } else { _root.bigmen.flashbtn.gotoAndStop(1); if (_root.bigmen.flashbtn.movein2._currentframe == 30) { _root.bigmen.flashbtn.movein2.play(); } if (_root.bigmen.flashbtn.movein2._currentframe < 20) { _root.bigmen.flashbtn.movein2.gotoAndStop(1); } } } }
Instance of Symbol 847 MovieClip in Symbol 896 MovieClip Frame 1
onClipEvent (mouseDown) { if (this.hitTest(_root._xmouse, _root._ymouse)) { _root.gotoAndStop("flash"); } }
Symbol 896 MovieClip Frame 2
stop();
Instance of Symbol 895 MovieClip in Symbol 896 MovieClip Frame 2
onClipEvent (enterFrame) { if ((_root.bigmen.flashbtn._currentframe = 2)) { if (this.hitTest(_root._xmouse, _root._ymouse)) { _root.bigmen.flashbtn.gotoAndStop(2); if (_root.bigmen.flashbtn.movein2._currentframe == 1) { _root.bigmen.flashbtn.movein2.play(); } } else { _root.bigmen.flashbtn.gotoAndStop(1); if (_root.bigmen.flashbtn.movein2._currentframe == 30) { _root.bigmen.flashbtn.movein2.play(); trace("its at frame 30"); } if (_root.bigmen.flashbtn.movein2._currentframe < 20) { _root.bigmen.flashbtn.movein2.gotoAndStop(10); } } } }
Symbol 945 MovieClip Frame 1
stop();
Symbol 945 MovieClip Frame 30
stop();
Symbol 945 MovieClip Frame 60
gotoAndStop (1);
Symbol 948 MovieClip Frame 1
stop();
Instance of Symbol 899 MovieClip "swiftbtn1" in Symbol 948 MovieClip Frame 1
onClipEvent (enterFrame) { if ((_root.bigmen.swiftbtn._currentframe = 1)) { if (this.hitTest(_root._xmouse, _root._ymouse)) { _root.blinanor2.play(); _root.bigmen.swiftbtn.gotoAndStop(2); _root.bigmen.swiftbtn.movein1.play(); } else { _root.bigmen.swiftbtn.gotoAndStop(1); if (_root.bigmen.swiftbtn.movein1._currentframe == 30) { _root.bigmen.swiftbtn.movein1.play(); } if (_root.bigmen.swiftbtn.movein1._currentframe < 20) { _root.bigmen.swiftbtn.movein1.gotoAndStop(1); } } } }
Instance of Symbol 847 MovieClip in Symbol 948 MovieClip Frame 1
onClipEvent (mouseDown) { if (this.hitTest(_root._xmouse, _root._ymouse)) { _root.gotoAndStop("swift"); } }
Symbol 948 MovieClip Frame 2
stop();
Instance of Symbol 947 MovieClip "swiftbtn2" in Symbol 948 MovieClip Frame 2
onClipEvent (enterFrame) { if ((_root.bigmen.swiftbtn._currentframe = 2)) { if (this.hitTest(_root._xmouse, _root._ymouse)) { _root.bigmen.swiftbtn.gotoAndStop(2); if (_root.bigmen.swiftbtn.movein1._currentframe == 1) { _root.bigmen.swiftbtn.movein1.play(); } } else { _root.bigmen.swiftbtn.gotoAndStop(1); if (_root.bigmen.swiftbtn.movein1._currentframe == 30) { _root.bigmen.swiftbtn.movein1.play(); } if (_root.bigmen.swiftbtn.movein1._currentframe < 20) { _root.bigmen.swiftbtn.movein1.gotoAndStop(1); } } } }
Symbol 955 MovieClip Frame 1
stop();
Instance of Symbol 841 MovieClip "slider" in Symbol 955 MovieClip Frame 1
onClipEvent (enterFrame) { this._x = _root.bigmen._xmouse; if (this._x <= -157) { this._x = -156; } if (this._x >= 200) { this._x = 219; } }
Instance of Symbol 954 MovieClip in Symbol 955 MovieClip Frame 1
onClipEvent (enterFrame) { if (this.hitTest(_root._xmouse, _root._ymouse)) { _root.bigmen.slider.gotoAndStop(2); } else { _root.bigmen.slider.gotoAndStop(1); } }
Symbol 967 Button
on (press) { getURL ("http://www.armorgames.com", "blank"); }
Symbol 974 Button
on (release) { gotoAndStop ("grounds"); }
Symbol 981 Button
on (press) { gotoAndStop ("code"); }
Symbol 987 Button
on (release) { gotoAndStop ("flash"); }
Symbol 1071 Button
on (release) { gotoAndStop ("swift"); }
Symbol 1076 MovieClip Frame 1
stop();
Symbol 1077 Button
on (press) { stopAllSounds(); _root.mus = new Sound(); _root.mus.attachSound("ots"); _root.mus.start(0, 1000); }
Symbol 1083 MovieClip Frame 1
_root.blinanor2.stop();
Symbol 1083 MovieClip Frame 3
_root.blinanor2.gotoAndStop(1);
Symbol 1086 MovieClip Frame 1
_root.blinanor.stop();
Symbol 1086 MovieClip Frame 2
play();
Symbol 1086 MovieClip Frame 3
_root.blinanor.gotoAndStop(1);
Symbol 1088 Button
on (press) { _global.bookmarks.push(_root._currentframe); _global.bookmarkLabels.push(_global.blabel); }
Symbol 1099 MovieClip Frame 1
stop();
Symbol 1099 MovieClip Frame 30
stop();
Symbol 1099 MovieClip Frame 45
stop();
Symbol 1107 Button
on (press) { gotoAndStop ("swift12"); }
Symbol 1110 Button
on (press) { gotoAndStop ("swift13"); }
Symbol 1113 Button
on (press) { gotoAndStop ("swift11"); }
Symbol 1116 Button
on (press) { gotoAndStop ("swift10"); }
Symbol 1119 Button
on (press) { gotoAndStop ("swift9"); }
Symbol 1122 Button
on (press) { gotoAndStop ("swift8"); }
Symbol 1125 Button
on (press) { gotoAndStop ("swift7"); }
Symbol 1128 Button
on (press) { gotoAndStop ("swift6"); }
Symbol 1131 Button
on (press) { gotoAndStop ("swift5"); }
Symbol 1134 Button
on (press) { gotoAndStop ("swift4"); }
Symbol 1137 Button
on (press) { gotoAndStop ("swift3"); }
Symbol 1140 Button
on (press) { gotoAndStop ("swift2"); }
Symbol 1143 Button
on (press) { gotoAndStop ("swift1"); }
Symbol 1149 Button
on (press) { _root.gotoAndStop("main"); }
Symbol 1156 Button
on (release) { _root.gotoAndStop("sm4"); }
Symbol 1163 Button
on (release) { _root.gotoAndStop("sm3"); }
Symbol 1170 Button
on (release) { _root.gotoAndStop("sm2"); }
Symbol 1177 Button
on (release) { _root.gotoAndStop("sm1"); }
Symbol 1249 Button
on (press) { _root.gotoAndStop("swift4"); }
Symbol 1252 Button
on (press) { _root.gotoAndStop("swift3"); }
Symbol 1255 Button
on (press) { _root.gotoAndStop("swift2"); }
Symbol 1258 Button
on (press) { _root.gotoAndStop("swift1"); }
Symbol 1262 Button
on (press) { _root.gotoAndStop("swift7"); }
Symbol 1265 Button
on (press) { _root.gotoAndStop("swift6"); }
Symbol 1268 Button
on (press) { _root.gotoAndStop("swift5"); }
Symbol 1272 Button
on (press) { _root.gotoAndStop("swift9"); }
Symbol 1275 Button
on (press) { _root.gotoAndStop("swift8"); }
Symbol 1279 Button
on (press) { _root.gotoAndStop("swift13"); }
Symbol 1282 Button
on (press) { _root.gotoAndStop("swift12"); }
Symbol 1285 Button
on (press) { _root.gotoAndStop("swift11"); }
Symbol 1288 Button
on (press) { _root.gotoAndStop("swift10"); }
Symbol 1290 MovieClip Frame 1
stop();
Symbol 1290 MovieClip Frame 2
stop();
Symbol 1290 MovieClip Frame 3
stop();
Symbol 1290 MovieClip Frame 4
stop();
Symbol 1290 MovieClip Frame 5
stop();
Symbol 1358 MovieClip Frame 1
stop();
Symbol 1458 MovieClip Frame 1
play();
Symbol 1460 Button
on (press) { gotoAndStop ("swift11"); }
Symbol 1462 Button
on (press) { gotoAndStop ("swift13"); }
Symbol 1464 Button
on (press) { gotoAndStop ("swift12"); }
Symbol 1466 Button
on (press) { nextFrame(); }
Symbol 1470 Button
on (press) { gotoAndStop ("swift10"); } on (rollOver) { _root.btn01.gotoAndStop(1); }
Symbol 1473 Button
on (rollOver) { gotoAndStop (20); } on (rollOver) { _root.btn11.gotoAndStop(1); _root.btn00.gotoAndStop(1); }
Symbol 1475 Button
on (rollOver) { gotoAndStop (1); }
Symbol 1479 Button
on (press) { gotoAndStop ("swift9"); }
Symbol 1483 Button
on (press) { gotoAndStop ("swift8"); }
Symbol 1487 MovieClip Frame 1
stop();
Symbol 1487 MovieClip Frame 20
stop();
Symbol 1491 Button
on (rollOver) { gotoAndStop (20); }
Symbol 1493 Button
on (rollOver) { gotoAndStop (1); }
Symbol 1498 Button
on (press) { _root.gotoAndStop("swift6"); }
Symbol 1502 Button
on (press) { _root.gotoAndStop("swift7"); }
Symbol 1505 Button
on (rollOut) { gotoAndStop (1); }
Symbol 1507 MovieClip Frame 1
stop();
Symbol 1511 Button
on (press) { gotoAndStop ("swift5"); } on (rollOver) { _root.btn11.gotoAndStop("closed2"); _root.btn00.gotoAndStop("closed"); }
Symbol 1514 Button
on (rollOver) { gotoAndStop ("open"); }
Symbol 1516 Button
on (rollOver) { gotoAndStop ("closed"); }
Symbol 1521 Button
on (press) { _root.gotoAndStop("swift1"); }
Symbol 1525 Button
on (press) { _root.gotoAndStop("swift2"); }
Symbol 1530 Button
on (press) { _root.gotoAndStop("swift3"); }
Symbol 1534 Button
on (press) { _root.gotoAndStop("swift4"); }
Symbol 1542 MovieClip Frame 1
stop();
Symbol 1542 MovieClip Frame 20
stop();
Symbol 1548 Button
on (press) { gotoAndStop ("main"); }
Symbol 1551 Button
on (press) { gotoAndStop ("swift13"); }
Symbol 1554 Button
on (press) { gotoAndStop (1); }
Symbol 1556 Button
on (press) { gotoAndStop ("swift12"); }
Symbol 1558 Button
on (press) { gotoAndStop (1); }
Symbol 1559 Button
on (press) { gotoAndStop ("swift11"); }
Symbol 1561 Button
on (press) { gotoAndStop ("swift10"); }
Symbol 1563 Button
on (press) { gotoAndStop (1); }
Symbol 1564 Button
on (press) { gotoAndStop ("swift9"); }
Symbol 1566 Button
on (press) { gotoAndStop (1); }
Symbol 1567 Button
on (press) { gotoAndStop ("swift8"); }
Symbol 1569 Button
on (press) { gotoAndStop (1); }
Symbol 1570 Button
on (press) { gotoAndStop ("swift7"); }
Symbol 1572 Button
on (press) { gotoAndStop (1); }
Symbol 1573 Button
on (press) { gotoAndStop ("swift6"); }
Symbol 1575 Button
on (press) { gotoAndStop ("swift5"); }
Symbol 1577 Button
on (press) { gotoAndStop ("swift4"); }
Symbol 1579 Button
on (press) { gotoAndStop ("swift3"); }
Symbol 1583 Button
on (press) { gotoAndStop ("swift2"); }
Symbol 1585 Button
on (press) { gotoAndStop ("swift1"); }
Symbol 1589 Button
on (press) { if ((_root._currentframe >= 3) and (_root._currentframe <= 113)) { _root.gotoAndStop("sm1"); } if ((_root._currentframe >= 114) and (_root._currentframe <= 146)) { _root.gotoAndStop("sm2"); } if ((_root._currentframe >= 147) and (_root._currentframe <= 166)) { _root.gotoAndStop("sm3"); } if ((_root._currentframe >= 167) and (_root._currentframe <= 274)) { _root.gotoAndStop("sm4"); } if ((_root._currentframe >= 276) and (_root._currentframe <= 362)) { _root.gotoAndStop("fm1"); } if ((_root._currentframe >= 363) and (_root._currentframe <= 471)) { _root.gotoAndStop("fm2"); } if ((_root._currentframe >= 472) and (_root._currentframe <= 661)) { _root.gotoAndStop("fm3"); } if ((_root._currentframe <= 736) and (_root._currentframe >= 662)) { _root.gotoAndStop("code"); } if ((_root._currentframe <= 776) and (_root._currentframe >= 737)) { _root.gotoAndStop("grounds"); } if (_root._currentframe == 1) { _root.gotoAndStop("main"); } }
Symbol 1593 Button
on (press) { if ((_root._currentframe <= 274) and (_root._currentframe >= 2)) { _root.gotoAndStop("swift"); } if ((_root._currentframe <= 639) and (_root._currentframe >= 275)) { _root.gotoAndStop("flash"); } if ((_root._currentframe <= 714) and (_root._currentframe >= 640)) { _root.gotoAndStop("code"); } if ((_root._currentframe <= 763) and (_root._currentframe >= 715)) { _root.gotoAndStop("grounds"); } if (_root._currentframe == 1) { _root.gotoAndStop("main"); } }
Symbol 1597 Button
on (press) { _root.gotoAndStop("main"); }
Symbol 1599 Button
on (rollOver) { _root.men.gotoAndPlay(2); _root.menutxt._visible = false; }
Symbol 1607 Button
on (release) { _root.gotoAndStop("swift4"); }
Symbol 1612 Button
on (release) { _root.gotoAndStop("swift3"); }
Symbol 1617 Button
on (release) { _root.gotoAndStop("swift2"); }
Symbol 1622 Button
on (release) { _root.gotoAndStop("swift1"); }
Symbol 1632 Button
on (press) { play(); }
Symbol 1643 Button
on (press) { prevFrame(); }
Symbol 1738 Button
on (press) { _root.play(); }
Symbol 1739 Button
on (press) { gotoAndStop ("swift"); }
Symbol 2290 Button
on (release) { _root.gotoAndStop("swift7"); }
Symbol 2295 Button
on (release) { _root.gotoAndStop("swift6"); }
Symbol 2299 Button
on (release) { _root.gotoAndStop("swift5"); }
Symbol 2466 Button
on (release) { _root.gotoAndStop("swift9"); }
Symbol 2471 Button
on (release) { _root.gotoAndStop("swift8"); }
Symbol 2661 Button
on (release) { _root.gotoAndStop("swift13"); }
Symbol 2665 Button
on (release) { _root.gotoAndStop("swift12"); }
Symbol 2669 Button
on (release) { _root.gotoAndStop("swift11"); }
Symbol 2674 Button
on (release) { _root.gotoAndStop("swift10"); }
Symbol 3461 Button
on (press) { nextFrame(); }
Symbol 3465 Button
on (release) { nextFrame(); }
Symbol 3470 Button
on (release) { nextFrame(); }
Symbol 3475 Button
on (release) { nextFrame(); }
Symbol 3478 Button
on (release) { gotoAndStop ("aa"); }
Symbol 3483 Button
on (release) { gotoAndStop ("ab"); }
Symbol 3484 Button
on (release) { nextFrame(); }
Symbol 3490 Button
on (press) { nextFrame(); }
Symbol 3493 Button
on (press) { gotoAndStop ("ac"); }
Symbol 3496 Button
on (press) { nextFrame(); }
Symbol 3503 Button
on (press) { nextFrame(); }
Symbol 3506 Button
on (press) { nextFrame(); }
Symbol 3509 Button
on (press) { nextFrame(); }
Symbol 3512 Button
on (press) { gotoAndStop ("a1"); }
Symbol 3518 Button
on (press) { nextFrame(); }
Symbol 3521 Button
on (press) { gotoAndStop ("a2"); }
Symbol 3524 Button
on (press) { nextFrame(); }
Symbol 3527 Button
on (press) { nextFrame(); }
Symbol 3533 Button
on (press) { nextFrame(); }
Symbol 3536 Button
on (press) { nextFrame(); }
Symbol 3539 Button
on (press) { gotoAndStop ("a3"); }
Symbol 3542 Button
on (press) { nextFrame(); }
Symbol 3548 Button
on (press) { nextFrame(); }
Symbol 3551 Button
on (press) { gotoAndStop ("a4"); }
Symbol 3554 Button
on (press) { nextFrame(); }
Symbol 3557 Button
on (press) { nextFrame(); }
Symbol 3563 Button
on (press) { nextFrame(); }
Symbol 3566 Button
on (press) { gotoAndStop ("a5"); }
Symbol 3574 Button
on (press) { gotoAndStop ("a6"); }
Symbol 3575 Button
on (press) { nextFrame(); }
Symbol 3579 Button
on (press) { gotoAndStop ("a7"); }
Symbol 3583 Button
on (release) { gotoAndStop ("a8"); }
Symbol 3589 Button
on (press) { nextFrame(); }
Symbol 3593 Button
on (press) { gotoAndStop ("a9"); }
Symbol 3596 Button
on (press) { nextFrame(); }
Symbol 3599 Button
on (press) { nextFrame(); }
Symbol 3605 Button
on (press) { nextFrame(); }
Symbol 3608 Button
on (press) { nextFrame(); }
Symbol 3611 Button
on (press) { nextFrame(); }
Symbol 3614 Button
on (press) { nextFrame(); }
Symbol 3617 Button
on (press) { gotoAndStop ("a10"); }
Symbol 3620 Button
on (release) { gotoAndStop ("a11"); }
Symbol 3634 Button
on (press) { gotoAndStop ("a12"); }
Symbol 3640 Button
on (press) { nextFrame(); }
Symbol 3643 Button
on (press) { nextFrame(); }
Symbol 3648 Button
on (press) { gotoAndStop ("the end"); }
Symbol 3654 Button
on (press) { gotoAndStop ("main"); }
Symbol 3657 Button
on (press) { gotoAndStop ("flash"); }
Symbol 3665 Button
on (release) { _root.gotoAndStop("fm3"); }
Symbol 3670 Button
on (release) { _root.gotoAndStop("fm2"); }
Symbol 3675 Button
on (release) { _root.gotoAndStop("fm1"); }
Symbol 3692 MovieClip Frame 1
stop();
Symbol 3692 MovieClip Frame 30
stop(); _root.yigmen.ffbtn.moveina.stop();
Symbol 3692 MovieClip Frame 60
gotoAndStop (1);
Symbol 3695 MovieClip Frame 1
stop(); _root.yigmen.ffbtn.stop();
Instance of Symbol 3687 MovieClip in Symbol 3695 MovieClip Frame 1
onClipEvent (enterFrame) { if ((_root.yigmen.ffbtn._currentframe = 1)) { if (this.hitTest(_root._xmouse, _root._ymouse)) { _global.enableMove1 = 1; } else { _global.enableMove1 = 0; } if (_root.yigmen.ffbtn.moveina.hitTest(_root._xmouse, _root._ymouse)) { _global.enableMove2 = 1; } else { _global.enableMove2 = 0; } if ((_global.enableMove1 == 1) or (_global.enableMove2 == 1)) { _root.yigmen.ffbtn.gotoAndStop(2); if (_root.yigmen.ffbtn.moveina._currentframe != 30) { _root.yigmen.ffbtn.moveina.play(); } } else { if (_root.yigmen.ffbtn.moveina._currentframe >= 20) { _root.yigmen.ffbtn.moveina.play(); } if (_root.yigmen.ffbtn.moveina._currentframe < 20) { _root.yigmen.ffbtn.moveina.gotoAndStop(1); } } } }
Symbol 3695 MovieClip Frame 2
stop(); _root.yigmen.ffbtn.stop();
Instance of Symbol 3694 MovieClip in Symbol 3695 MovieClip Frame 2
onClipEvent (enterFrame) { if (_root.yigmen.ffbtn._currentframe == 2) { if (this.hitTest(_root._xmouse, _root._ymouse)) { _global.enableMove1 = 1; } else { _global.enableMove1 = 0; } if (_root.yigmen.ffbtn.moveina.hitTest(_root._xmouse, _root._ymouse)) { _global.enableMove2 = 1; } else { _global.enableMove2 = 0; } if ((_global.enableMove1 == 1) or (_global.enableMove2 == 1)) { if (_root.yigmen.ffbtn.moveina._currentframe == 1) { if (_root.yigmen.ffbtn.moveina._currentframe != 30) { _root.yigmen.ffbtn.moveina.play(); } } else { _root.yigmen.ffbtn.gotoAndStop(1); if (_root.yigmen.ffbtn.moveina._currentframe >= 20) { _root.yigmen.ffbtn.moveina.play(); } if (_root.yigmen.ffbtn.moveina._currentframe < 20) { _root.yigmen.ffbtn.moveina.gotoAndStop(1); } } } } }
Symbol 3700 MovieClip Frame 1
stop();
Symbol 3705 Button
on (release) { gotoAndStop ("main"); }
Symbol 3708 Button
on (press) { gotoAndStop ("flash19"); }
Symbol 3710 Button
on (press) { gotoAndStop ("flash11"); }
Symbol 3712 Button
on (press) { gotoAndStop ("flash16"); }
Symbol 3714 Button
on (press) { gotoAndStop ("flash17"); }
Symbol 3716 Button
on (press) { gotoAndStop ("flash7"); }
Symbol 3718 Button
on (press) { gotoAndStop ("flash12"); }
Symbol 3720 Button
on (press) { gotoAndStop ("flash18"); }
Symbol 3722 Button
on (press) { gotoAndStop ("flash10"); }
Symbol 3724 Button
on (press) { gotoAndStop ("flash9"); }
Symbol 3726 Button
on (press) { gotoAndStop ("flash8"); }
Symbol 3728 Button
on (press) { gotoAndStop ("flash14"); }
Symbol 3730 Button
on (press) { gotoAndStop ("flash15"); }
Symbol 3732 Button
on (press) { gotoAndStop ("flash13"); }
Symbol 3734 Button
on (press) { gotoAndStop ("flash5"); }
Symbol 3736 Button
on (press) { gotoAndStop ("flash6"); }
Symbol 3738 Button
on (press) { gotoAndStop ("flash4"); }
Symbol 3741 Button
on (press) { gotoAndStop ("flash3"); }
Symbol 3743 Button
on (press) { gotoAndStop ("flash2"); }
Symbol 3745 Button
on (press) { gotoAndStop ("flash1"); }
Symbol 3751 Button
on (release) { _root.gotoAndStop("flash7"); }
Symbol 3756 Button
on (release) { _root.gotoAndStop("flash8"); }
Symbol 3761 Button
on (release) { _root.gotoAndStop("flash4"); }
Symbol 3766 Button
on (release) { _root.gotoAndStop("flash5"); }
Symbol 3771 Button
on (release) { _root.gotoAndStop("flash2"); }
Symbol 3776 Button
on (release) { _root.gotoAndStop("flash3"); }
Symbol 3782 Button
on (release) { _root.gotoAndStop("flash1"); }
Symbol 3799 Button
on (press) { gotoAndStop ("flash"); }
Symbol 4312 Button
on (press) { _root.btn01._alpha = _root.btn01._alpha - 10; }
Symbol 4369 Button
on (release) { _root.gotoAndStop("action8"); }
Symbol 4373 Button
on (release) { _root.gotoAndStop("action9"); }
Symbol 4378 Button
on (release) { _root.gotoAndStop("action7"); }
Symbol 4382 Button
on (release) { _root.gotoAndStop("action5"); }
Symbol 4386 Button
on (release) { _root.gotoAndStop("action4"); }
Symbol 4390 Button
on (release) { _root.gotoAndStop("action3"); }
Symbol 4394 Button
on (release) { _root.gotoAndStop("action2"); }
Symbol 4398 Button
on (release) { _root.gotoAndStop("action1"); }
Symbol 4462 Button
on (press) { getURL ("http://www.gotoandlearn.com/", "_blank"); }
Symbol 4464 Button
on (press) { getURL ("http://www.kirupa.com/developer/actionscript/string.htm", "_blank"); }
Symbol 4544 Button
on (press) { getURL ("http://www.sparknotes.com/cs/recursion/whatisrecursion/summary.html", "_blank"); }
Symbol 4615 Button
on (release) { _root.gotoAndStop("flash19"); }
Symbol 4619 Button
on (release) { _root.gotoAndStop("flash18"); }
Symbol 4623 Button
on (release) { _root.gotoAndStop("flash17"); }
Symbol 4627 Button
on (release) { _root.gotoAndStop("flash15"); }
Symbol 4632 Button
on (release) { _root.gotoAndStop("flash16"); }
Symbol 4637 Button
on (release) { _root.gotoAndStop("flash10"); }
Symbol 4754 Button
on (press) { getURL ("http://www.newgrounds.com/audio/view.php?id=1099589&sub=33305", "_blank"); }
Symbol 4757 Button
on (press) { getURL ("http://www.newgrounds.com/audio/view.php?id=596074&sub=16915", "_blank"); }
Symbol 4954 Button
on (press) { nextFrame(); }
Symbol 4957 Button
on (press) { nextFrame(); }
Symbol 4960 Button
on (press) { nextFrame(); }
Symbol 4963 Button
on (press) { gotoAndStop ("quiz1"); }
Symbol 4966 Button
on (press) { nextFrame(); }
Symbol 4972 Button
on (press) { gotoAndStop ("quiz2"); }
Symbol 4975 Button
on (press) { nextFrame(); }
Symbol 4978 Button
on (press) { nextFrame(); }
Symbol 4981 Button
on (press) { nextFrame(); }
Symbol 4984 Button
on (press) { nextFrame(); }
Symbol 4987 Button
on (press) { nextFrame(); }
Symbol 4990 Button
on (press) { nextFrame(); }
Symbol 4993 Button
on (press) { nextFrame(); }
Symbol 4996 Button
on (press) { nextFrame(); }
Symbol 4999 Button
on (press) { nextFrame(); }
Symbol 5005 Button
on (press) { nextFrame(); }
Symbol 5008 Button
on (press) { nextFrame(); }
Symbol 5011 Button
on (press) { nextFrame(); }
Symbol 5014 Button
on (press) { gotoAndStop ("quiz3"); }
Symbol 5017 Button
on (press) { nextFrame(); }
Symbol 5020 Button
on (press) { nextFrame(); }
Symbol 5024 Button
on (press) { gotoAndStop ("quiz4"); }
Symbol 5032 Button
on (press) { nextFrame(); }
Symbol 5035 Button
on (press) { nextFrame(); }
Symbol 5038 Button
on (press) { nextFrame(); }
Symbol 5041 Button
on (press) { nextFrame(); }
Symbol 5044 Button
on (press) { gotoAndStop ("quiz5"); }
Symbol 5052 Button
on (press) { nextFrame(); }
Symbol 5055 Button
on (press) { nextFrame(); }
Symbol 5058 Button
on (press) { nextFrame(); }
Symbol 5061 Button
on (press) { nextFrame(); }
Symbol 5064 Button
on (press) { nextFrame(); }
Symbol 5066 Button
on (press) { nextFrame(); }
Symbol 5069 Button
on (press) { gotoAndStop ("quiz6"); }
Symbol 5072 Button
on (press) { nextFrame(); }
Symbol 5077 Button
on (press) { nextFrame(); }
Symbol 5080 Button
on (press) { nextFrame(); }
Symbol 5083 Button
on (press) { nextFrame(); }
Symbol 5086 Button
on (press) { gotoAndStop ("quiz7"); }
Symbol 5091 Button
on (press) { nextFrame(); }
Symbol 5094 Button
on (press) { nextFrame(); }
Symbol 5097 Button
on (press) { nextFrame(); }
Symbol 5100 Button
on (press) { nextFrame(); }
Symbol 5103 Button
on (press) { nextFrame(); }
Symbol 5106 Button
on (press) { nextFrame(); }
Symbol 5109 Button
on (press) { nextFrame(); }
Symbol 5112 Button
on (press) { gotoAndStop ("quiz8"); }
Symbol 5117 Button
on (press) { gotoAndStop ("quiz9"); }
Symbol 5119 Button
on (press) { nextFrame(); }
Symbol 5124 Button
on (press) { nextFrame(); }
Symbol 5126 Button
on (press) { gotoAndStop ("quiz10"); }
Symbol 5128 Button
on (press) { nextFrame(); }
Symbol 5130 Button
on (press) { nextFrame(); }
Symbol 5132 Button
on (press) { nextFrame(); }
Symbol 5135 Button
on (press) { nextFrame(); }
Symbol 5139 Button
on (press) { nextFrame(); }
Symbol 5141 Button
on (press) { nextFrame(); }
Symbol 5143 Button
on (press) { nextFrame(); }
Symbol 5145 Button
on (press) { nextFrame(); }
Symbol 5147 Button
on (press) { gotoAndStop ("quiz11"); }
Symbol 5149 Button
on (press) { nextFrame(); }
Symbol 5154 Button
on (press) { nextFrame(); }
Symbol 5156 Button
on (press) { nextFrame(); }
Symbol 5158 Button
on (press) { gotoAndStop ("quiz12"); }
Symbol 5160 Button
on (press) { nextFrame(); }
Symbol 5168 Button
on (press) { nextFrame(); }
Symbol 5170 Button
on (press) { gotoAndStop ("quiz13"); }
Symbol 5173 Button
on (press) { gotoAndStop ("quiz14"); }
Symbol 5177 Button
on (press) { gotoAndStop ("quiz15"); }
Symbol 5179 Button
on (press) { nextFrame(); }
Symbol 5183 Button
on (press) { nextFrame(); }
Symbol 5185 Button
on (press) { gotoAndStop ("quiz16"); }
Symbol 5187 Button
on (press) { nextFrame(); }
Symbol 5190 Button
on (press) { gotoAndStop ("quiz17"); }
Symbol 5194 Button
on (press) { nextFrame(); }
Symbol 5196 Button
on (press) { nextFrame(); }
Symbol 5198 Button
on (press) { nextFrame(); }
Symbol 5200 Button
on (press) { gotoAndStop ("quiz18"); }
Symbol 5203 Button
on (press) { gotoAndStop ("quiz19"); }
Symbol 5207 Button
on (press) { nextFrame(); }
Symbol 5209 Button
on (press) { gotoAndStop ("quiz20"); }
Symbol 5211 Button
on (press) { nextFrame(); }
Symbol 5213 Button
on (press) { nextFrame(); }
Symbol 5216 Button
on (press) { gotoAndStop ("quiz21"); }
Symbol 5222 Button
on (press) { nextFrame(); }
Symbol 5224 Button
on (press) { gotoAndStop ("quiz22"); }
Symbol 5226 Button
on (press) { nextFrame(); }
Symbol 5229 Button
on (press) { gotoAndStop ("quiz23"); }
Symbol 5232 Button
on (press) { gotoAndStop ("quiz24"); }
Symbol 5236 Button
on (press) { nextFrame(); }
Symbol 5238 Button
on (press) { nextFrame(); }
Symbol 5239 Button
on (press) { nextFrame(); }
Symbol 5241 Button
on (press) { gotoAndStop ("quiz25"); }
Symbol 5243 Button
on (press) { nextFrame(); }
Symbol 5245 Button
on (press) { nextFrame(); }
Symbol 5248 Button
on (press) { gotoAndStop ("quiz26"); }
Symbol 5251 Button
on (press) { gotoAndStop ("quiz27"); }
Symbol 5254 Button
on (press) { getURL ("http://www.armorgames.com", "_blank"); }
Symbol 5256 Button
on (press) { getURL ("http://www.kirupa.com/forum/", "_blank"); }
Symbol 5258 Button
on (press) { getURL ("http://www.newgrounds.com/bbs/", "_blank"); }
Symbol 5262 Button
on (press) { getURL ("http://msdn.microsoft.com/vstudio/express/visualcsharp/", "_blank"); }
Symbol 5268 Button
on (press) { nextFrame(); }
Symbol 5274 Button
on (press) { gotoAndStop ("code12"); }
Symbol 5277 Button
on (press) { gotoAndStop ("code11"); }
Symbol 5280 Button
on (press) { gotoAndStop ("code10"); }
Symbol 5283 Button
on (press) { gotoAndStop ("code9"); }
Symbol 5286 Button
on (press) { gotoAndStop ("code8"); }
Symbol 5289 Button
on (press) { gotoAndStop ("code5"); }
Symbol 5292 Button
on (press) { gotoAndStop ("code7"); }
Symbol 5295 Button
on (press) { gotoAndStop ("code6"); }
Symbol 5298 Button
on (press) { gotoAndStop ("code4"); }
Symbol 5301 Button
on (press) { gotoAndStop ("code3"); }
Symbol 5304 Button
on (press) { gotoAndStop ("code2"); }
Symbol 5307 Button
on (press) { gotoAndStop ("code1"); }
Symbol 5410 Button
on (press) { getURL ("www.denvish.net/ulf/1152120297_s Preloader.fla", "_blank"); }
Symbol 5415 Button
on (press) { getURL ("http://www.denvish.net/ulf/1152120297_s Preloader.fla", "_blank"); }
Symbol 5462 Button
on (press) { print (_root.codekey, "bmovie"); }
Symbol 5624 Button
on (press) { _root.gotoAndStop("grounds7"); }
Symbol 5627 Button
on (press) { _root.gotoAndStop("grounds5"); }
Symbol 5630 Button
on (press) { _root.gotoAndStop("grounds4"); }
Symbol 5634 Button
on (press) { _root.gotoAndStop("grounds3"); }
Symbol 5637 Button
on (press) { _root.gotoAndStop("grounds1"); }
Symbol 5639 Button
on (press) { gotoAndStop ("grounds"); }
Symbol 5747 Button
on (press) { getURL ("http://www.newgrounds.com/portal/submit.php", "_blank"); }
Symbol 5793 Button
on (press) { getURL ("http://www.armorgames.com/contest4.html", "_blank"); }
Symbol 5804 Button
on (press) { getURL ("http://denvish.net/ulf/1155477208_dude.php", "_blank"); }
Symbol 5806 Button
on (press) { getURL ("http://denvish.net/ulf/1155477169_duckie.php", "_blank"); }
Symbol 5815 MovieClip Frame 1
play();
Symbol 5815 MovieClip Frame 40
play();

Library Items

Symbol 1 Sound [s2]
Symbol 2 Sound [s1]
Symbol 3 GraphicUsed by:4
Symbol 4 MovieClip [snow]Uses:3
Symbol 9 GraphicUsed by:10
Symbol 10 MovieClip [BoundingBox]Uses:9Used by:29 33 37 96 97 98 130 131 132 133 152 160 192 212 217
Symbol 11 GraphicUsed by:12
Symbol 12 MovieClip [BrdrShdw]Uses:11Used by:15 20 21
Symbol 13 GraphicUsed by:14
Symbol 14 MovieClip [BrdrFace]Uses:13Used by:15 20 21
Symbol 15 MovieClip [SimpleButtonDown]Uses:12 14Used by:33
Symbol 16 GraphicUsed by:17
Symbol 17 MovieClip [BrdrBlk]Uses:16Used by:20 21
Symbol 18 GraphicUsed by:19 195
Symbol 19 MovieClip [BrdrHilght]Uses:18Used by:20 21
Symbol 20 MovieClip [SimpleButtonIn]Uses:17 19 12 14Used by:33
Symbol 21 MovieClip [SimpleButtonUp]Uses:17 14 12 19Used by:33
Symbol 22 MovieClip [Defaults]Used by:24
Symbol 23 MovieClip [UIObjectExtensions]Used by:24
Symbol 24 MovieClip [UIObject]Uses:22 23Used by:30 32 34
Symbol 25 GraphicUsed by:27
Symbol 26 GraphicUsed by:27
Symbol 27 ButtonUses:25 26Used by:30
Symbol 28 MovieClipUsed by:30
Symbol 29 MovieClip [FocusRect]Uses:10Used by:30
Symbol 30 MovieClip [FocusManager]Uses:27 28 29 24Used by:32
Symbol 31 MovieClip [UIComponentExtensions]Used by:32
Symbol 32 MovieClip [UIComponent]Uses:24 30 31Used by:33 130 131
Symbol 33 MovieClip [SimpleButton]Uses:10 15 20 21 32Used by:37 96 97 212
Symbol 34 MovieClip [Border]Uses:24Used by:35 37
Symbol 35 MovieClip [RectBorder]Uses:34Used by:37 131
Symbol 36 MovieClip [ButtonSkin]Used by:37
Symbol 37 MovieClip [Button]Uses:10 33 34 35 36Used by:96 97 192 217
Symbol 38 MovieClip [CustomBorder]Used by:96 97
Symbol 39 GraphicUsed by:41 77 78 79 82 83 88
Symbol 40 GraphicUsed by:41 77 78 82 83 88
Symbol 41 MovieClip [ScrollTrack]Uses:39 40Used by:48 53 54 55 89 90 91 92 93 94
Symbol 42 GraphicUsed by:48 53 54 55 89 90 91 92
Symbol 43 GraphicUsed by:48 53 54 55 89 90 91 92
Symbol 44 GraphicUsed by:48 53 54 55 89 90 91 92
Symbol 45 GraphicUsed by:48 53 54 55 89 90 91 92
Symbol 46 GraphicUsed by:48 53 54 55 89 90 91 92
Symbol 47 GraphicUsed by:48 53 54 55
Symbol 48 MovieClip [ScrollDownArrowDisabled]Uses:41 42 43 44 45 46 47Used by:95
Symbol 49 GraphicUsed by:50
Symbol 50 MovieClip [ScrollThemeColor1]Uses:49Used by:53 54 90 91
Symbol 51 GraphicUsed by:52
Symbol 52 MovieClip [ScrollThemeColor2]Uses:51Used by:53 90
Symbol 53 MovieClip [ScrollDownArrowDown]Uses:41 42 50 43 44 45 46 52 47Used by:95
Symbol 54 MovieClip [ScrollDownArrowOver]Uses:41 42 50 43 44 45 46 47Used by:95
Symbol 55 MovieClip [ScrollDownArrowUp]Uses:41 42 43 44 45 46 47Used by:95
Symbol 56 GraphicUsed by:61 66 67 68 84 85 86 87
Symbol 57 GraphicUsed by:61 66 67 68 84 85 86 87
Symbol 58 GraphicUsed by:61 66 67 68 84 85 86 87
Symbol 59 GraphicUsed by:61 66 67 68 84 85 86 87
Symbol 60 GraphicUsed by:61 66 67 68 84 85 86 87
Symbol 61 MovieClip [ScrollThumbBottomDisabled]Uses:56 57 58 59 60Used by:95
Symbol 62 GraphicUsed by:63
Symbol 63 MovieClip [ThumbThemeColor1]Uses:62Used by:66 67 85 86
Symbol 64 GraphicUsed by:65
Symbol 65 MovieClip [ThumbThemeColor3]Uses:64Used by:66 85
Symbol 66 MovieClip [ScrollThumbBottomDown]Uses:56 63 57 58 59 65 60Used by:95
Symbol 67 MovieClip [ScrollThumbBottomOver]Uses:56 63 57 58 59 60Used by:95
Symbol 68 MovieClip [ScrollThumbBottomUp]Uses:56 57 58 59 60Used by:95
Symbol 69 GraphicUsed by:70 73 74 75
Symbol 70 MovieClip [ScrollThumbGripDisabled]Uses:69Used by:95
Symbol 71 GraphicUsed by:72
Symbol 72 MovieClip [ThumbThemeColor2]Uses:71Used by:73 74 77 78 82
Symbol 73 MovieClip [ScrollThumbGripDown]Uses:72 69Used by:95
Symbol 74 MovieClip [ScrollThumbGripOver]Uses:72 69Used by:95
Symbol 75 MovieClip [ScrollThumbGripUp]Uses:69Used by:95
Symbol 76 GraphicUsed by:77 78 82 83
Symbol 77 MovieClip [ScrollThumbMiddleDisabled]Uses:39 76 72 40Used by:95
Symbol 78 MovieClip [ScrollThumbMiddleDown]Uses:39 72 76 40Used by:95
Symbol 79 MovieClipUses:39Used by:82
Symbol 80 GraphicUsed by:81 89 90 91 92
Symbol 81 MovieClipUses:80Used by:82
Symbol 82 MovieClip [ScrollThumbMiddleOver]Uses:39 72 76 79 81 40Used by:95
Symbol 83 MovieClip [ScrollThumbMiddleUp]Uses:39 76 40Used by:95
Symbol 84 MovieClip [ScrollThumbTopDisabled]Uses:56 57 58 59 60Used by:95
Symbol 85 MovieClip [ScrollThumbTopDown]Uses:56 63 57 58 59 65 60Used by:95
Symbol 86 MovieClip [ScrollThumbTopOver]Uses:56 63 57 58 59 60Used by:95
Symbol 87 MovieClip [ScrollThumbTopUp]Uses:56 57 58 59 60Used by:95
Symbol 88 MovieClip [ScrollTrackDisabled]Uses:39 40Used by:95
Symbol 89 MovieClip [ScrollUpArrowDisabled]Uses:41 42 43 44 45 46 80Used by:95
Symbol 90 MovieClip [ScrollUpArrowDown]Uses:41 42 50 43 44 45 46 52 80Used by:95
Symbol 91 MovieClip [ScrollUpArrowOver]Uses:41 42 50 43 44 80 45 46Used by:95
Symbol 92 MovieClip [ScrollUpArrowUp]Uses:41 42 43 44 45 46 80Used by:95
Symbol 93 MovieClip [BtnDownArrow]Uses:41Used by:95
Symbol 94 MovieClip [BtnUpArrow]Uses:41Used by:95
Symbol 95 MovieClip [ScrollBarAssets]Uses:48 53 54 55 61 66 67 68 70 73 74 75 77 78 82 83 84 85 86 87 88 89 90 91 92 93 94Used by:96 97
Symbol 96 MovieClip [VScrollBar]Uses:10 37 33 38 95Used by:98 132
Symbol 97 MovieClip [HScrollBar]Uses:10 37 33 38 95Used by:98 132
Symbol 98 MovieClip [UIScrollBar]Uses:10 96 97
Symbol 126 MovieClip [MenuBarItem]Used by:160
Symbol 127 MovieClip [ActivatorSkin]Used by:160
Symbol 128 MovieClip [DataProvider]Used by:133
Symbol 129 MovieClip [DataSelector]Used by:133
Symbol 130 MovieClip [SelectableRow]Uses:32 10Used by:133
Symbol 131 MovieClip [View]Uses:10 32 35Used by:132
Symbol 132 MovieClip [ScrollView]Uses:10 97 96 131Used by:133 212 215
Symbol 133 MovieClip [ScrollSelectList]Uses:10 128 129 130 132Used by:152
Symbol 134 GraphicUsed by:135
Symbol 135 MovieClip [MenuBranchDisabled]Uses:134Used by:148
Symbol 136 GraphicUsed by:137
Symbol 137 MovieClip [MenuBranchEnabled]Uses:136Used by:148
Symbol 138 GraphicUsed by:139
Symbol 139 MovieClip [MenuCheckDisabled]Uses:138Used by:148
Symbol 140 GraphicUsed by:141
Symbol 141 MovieClip [MenuCheckEnabled]Uses:140Used by:148
Symbol 142 GraphicUsed by:143
Symbol 143 MovieClip [MenuRadioDisabled]Uses:142Used by:148
Symbol 144 GraphicUsed by:145
Symbol 145 MovieClip [MenuRadioEnabled]Uses:144Used by:148
Symbol 146 GraphicUsed by:147
Symbol 147 MovieClip [MenuSeparator]Uses:146Used by:148
Symbol 148 MovieClip [MenuAssets]Uses:135 137 139 141 143 145 147Used by:149
Symbol 149 MovieClip [MenuRow]Uses:148Used by:152
Symbol 150 MovieClip [TreeDataProvider]Used by:151
Symbol 151 MovieClip [MenuDataProvider]Uses:150Used by:152
Symbol 152 MovieClip [Menu]Uses:10 133 149 151Used by:160
Symbol 153 GraphicUsed by:154
Symbol 154 MovieClip [MenuBarBackLeft]Uses:153Used by:159
Symbol 155 GraphicUsed by:156
Symbol 156 MovieClip [MenuBarBackMiddle]Uses:155Used by:159
Symbol 157 GraphicUsed by:158
Symbol 158 MovieClip [MenuBarBackRight]Uses:157Used by:159
Symbol 159 MovieClip [MenuBarAssets]Uses:154 156 158Used by:160
Symbol 160 MovieClip [MenuBar]Uses:10 126 127 152 159
Symbol 177 GraphicUsed by:178 182 183 185 187 188 189 190
Symbol 178 MovieClip [CheckFalseDisabled]Uses:177Used by:191
Symbol 179 GraphicUsed by:180
Symbol 180 MovieClip [CheckThemeColor1]Uses:179Used by:182 183 188 189 190
Symbol 181 GraphicUsed by:182 188
Symbol 182 MovieClip [CheckFalseDown]Uses:177 180 181Used by:191
Symbol 183 MovieClip [CheckFalseOver]Uses:177 180Used by:191
Symbol 184 GraphicUsed by:185
Symbol 185 MovieClip [CheckFalseUp]Uses:177 184Used by:191
Symbol 186 GraphicUsed by:187 188 189 190
Symbol 187 MovieClip [CheckTrueDisabled]Uses:177 186Used by:191
Symbol 188 MovieClip [CheckTrueDown]Uses:177 181 186 180Used by:191
Symbol 189 MovieClip [CheckTrueOver]Uses:177 180 186Used by:191
Symbol 190 MovieClip [CheckTrueUp]Uses:177 180 186Used by:191
Symbol 191 MovieClip [CheckBoxAssets]Uses:178 182 183 185 187 188 189 190Used by:192
Symbol 192 MovieClip [CheckBox]Uses:10 191 37
Symbol 195 MovieClip [Modal]Uses:18Used by:211
Symbol 196 GraphicUsed by:197
Symbol 197 MovieClip [TitleLeft]Uses:196Used by:202
Symbol 198 GraphicUsed by:199
Symbol 199 MovieClip [TitleMiddle]Uses:198Used by:202
Symbol 200 GraphicUsed by:201
Symbol 201 MovieClip [TitleRight]Uses:200Used by:202
Symbol 202 MovieClip [TitleBackground]Uses:197 199 201Used by:211
Symbol 203 GraphicUsed by:204
Symbol 204 MovieClip [CloseButtonDisabled]Uses:203Used by:211
Symbol 205 GraphicUsed by:206
Symbol 206 MovieClip [CloseButtonDown]Uses:205Used by:211
Symbol 207 GraphicUsed by:208
Symbol 208 MovieClip [CloseButtonOver]Uses:207Used by:211
Symbol 209 GraphicUsed by:210
Symbol 210 MovieClip [CloseButtonUp]Uses:209Used by:211
Symbol 211 MovieClip [WindowAssets]Uses:195 202 204 206 208 210Used by:212
Symbol 212 MovieClip [Window]Uses:10 132 33 211Used by:217
Symbol 213 FontUsed by:214
Symbol 214 EditableTextUses:213Used by:215
Symbol 215 MovieClip [TextArea]Uses:214 132Used by:217
Symbol 216 MovieClip [AlertAssets]Used by:217
Symbol 217 MovieClip [Alert]Uses:10 212 215 37 216Used by:Timeline
Symbol 220 FontUsed by:221 223 225 228 230 236 238 241 242 244 269 712 715 720 726 743 761 763 765 767 774 775 777 780 783 784 785 786 787 789 793 796 800 801 803 804 808 809 813 824 825 827 829 831 832 834 835 842 861 879 897 956 959 960 962 965 966 968 972 975 979 982 988 1072 1073 1087 1089 1090 1091 1092 1093 1094 1095 1096 1100 1101 1102 1105 1108 1111 1114 1117 1120 1123 1126 1129 1132 1135 1138 1141 1147 1150 1152 1157 1159 1164 1166 1171 1173 1247 1250 1253 1256 1259 1260 1263 1266 1269 1270 1273 1276 1277 1280 1283 1286 1289 1292 1297 1301 1305 1310 1315 1322 1326 1331 1336 1342 1346 1350 1354 1363 1368 1369 1373 1461 1463 1465 1468 1472 1477 1481 1489 1496 1500 1509 1513 1519 1523 1528 1532 1544 1546 1547 1549 1553 1557 1560 1562 1565 1568 1571 1574 1576 1578 1581 1584 1586 1587 1590 1591 1594 1595 1598 1603 1604 1605 1608 1609 1610 1613 1614 1615 1618 1619 1620 1625 1626 1627 1636 1639 1644 1647 1650 1651 1655 1659 1660 1661 1664 1665 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1683 1684 1687 1688 1691 1692 1695 1696 1699 1702 1705 1706 1709 1712 1713 1714 1717 1718 1721 1722 1726 1729 1730 1731 1735 1737 1741 1744 1745 1746 1747 1748 1750 1751 1756 1757 1761 1765 1769 1770 1774 1777 1780 1781 1784 1787 1788 1792 1793 1796 1797 1800 1803 1804 1807 1808 1811 1814 1817 1818 1822 1825 1826 1829 1832 1833 1836 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1852 1855 1856 1859 1862 1863 1869 1870 1871 1872 1875 1876 1879 1882 1884 1885 1889 1890 1971 1972 1973 1976 1977 1980 1985 1986 1987 1988 1992 1996 1997 2001 2004 2008 2012 2013 2014 2035 2036 2037 2038 2039 2040 2041 2045 2049 2052 2053 2054 2055 2056 2058 2059 2064 2067 2068 2069 2073 2075 2078 2081 2084 2093 2096 2099 2102 2105 2106 2110 2111 2120 2121 2125 2126 2133 2134 2137 2139 2143 2147 2154 2155 2163 2164 2165 2172 2173 2177 2178 2182 2183 2187 2188 2192 2193 2199 2200 2201 2204 2205 2206 2210 2217 2218 2228 2229 2230 2234 2235 2236 2240 2247 2251 2255 2262 2263 2264 2268 2269 2276 2277 2284 2285 2286 2287 2288 2291 2292 2293 2296 2297 2303 2306 2307 2310 2311 2314 2317 2320 2323 2324 2325 2326 2327 2328 2331 2332 2333 2334 2338 2342 2365 2366 2369 2372 2373 2374 2377 2380 2381 2382 2403 2404 2405 2406 2407 2410 2411 2415 2422 2423 2427 2428 2429 2430 2436 2440 2441 2444 2445 2449 2454 2455 2456 2459 2460 2461 2462 2463 2464 2467 2468 2469 2474 2475 2476 2479 2480 2481 2482 2483 2484 2488 2489 2490 2491 2492 2493 2496 2497 2499 2503 2507 2511 2515 2519 2523 2527 2532 2535 2536 2537 2544 2545 2586 2589 2590 2595 2596 2599 2600 2610 2611 2613 2619 2620 2624 2626 2627 2631 2635 2656 2657 2658 2659 2662 2663 2666 2667 2670 2671 2672 2677 2678 2679 2682 2683 2687 2688 2689 2693 2694 2698 2702 2706 2710 2711 2715 2719 2723 2727 2728 2729 2730 2736 2737 2738 2739 2743 2744 2745 2789 2829 2830 2834 2835 2836 2837 2844 2845 2853 2854 2855 2859 2863 2864 2865 2869 2873 2874 2875 2876 2878 2882 2953 2957 2958 2959 2963 2964 2965 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3020 3021 3025 3026 3027 3028 3032 3036 3049 3050 3051 3052 3053 3054 3055 3056 3057 3060 3061 3065 3066 3070 3071 3075 3076 3080 3081 3084 3085 3089 3090 3096 3097 3101 3102 3103 3110 3111 3112 3116 3117 3118 3122 3123 3124 3126 3127 3129 3133 3137 3138 3142 3143 3147 3148 3155 3156 3157 3158 3159 3202 3203 3207 3261 3262 3266 3315 3316 3317 3321 3327 3331 3371 3372 3373 3379 3380 3381 3382 3383 3385 3389 3390 3391 3392 3400 3401 3408 3409 3410 3414 3418 3419 3423 3427 3431 3432 3439 3440 3441 3445 3446 3450 3451 3455 3456 3457 3458 3459 3462 3466 3471 3476 3480 3481 3482 3485 3486 3487 3488 3491 3494 3497 3498 3499 3500 3501 3504 3507 3510 3513 3514 3515 3516 3519 3522 3525 3528 3529 3530 3531 3534 3537 3540 3543 3544 3545 3546 3549 3552 3555 3558 3559 3560 3561 3564 3567 3568 3572 3573 3576 3577 3578 3580 3581 3582 3584 3585 3586 3587 3590 3592 3594 3597 3600 3601 3602 3603 3606 3609 3612 3615 3618 3619 3621 3622 3626 3630 3631 3632 3633 3635 3637 3638 3641 3644 3645 3647 3649 3650 3651 3652 3655 3658 3659 3661 3663 3666 3668 3671 3673 3679 3682 3685 3688 3689 3701 3706 3709 3711 3713 3715 3717 3719 3721 3723 3725 3727 3729 3731 3733 3735 3737 3739 3742 3744 3746 3747 3748 3749 3752 3753 3754 3757 3758 3759 3762 3763 3764 3767 3768 3769 3772 3773 3774 3777 3778 3779 3781 3785 3786 3787 3788 3789 3790 3791 3792 3796 3798 3800 3801 3802 3803 3804 3805 3806 3807 3811 3813 3814 3815 3817 3818 3822 3827 3829 3830 3831 3835 3839 3841 3845 3846 3847 3848 3852 3854 3855 3860 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3879 3880 3881 3882 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3907 3908 3915 3916 3920 3924 3925 3926 3934 3935 3936 3937 3938 3942 3946 3947 3948 3955 3959 3963 3967 3968 3969 3976 3977 3978 3981 3982 3986 3987 3991 3992 3996 3997 3998 3999 4000 4004 4008 4012 4016 4020 4021 4022 4026 4027 4029 4030 4034 4038 4039 4043 4047 4048 4049 4050 4051 4055 4056 4057 4067 4068 4070 4071 4078 4082 4086 4091 4092 4093 4094 4095 4096 4097 4105 4106 4107 4110 4111 4112 4113 4114 4115 4122 4123 4124 4125 4126 4127 4134 4141 4145 4149 4158 4162 4169 4178 4182 4185 4188 4192 4195 4198 4202 4205 4208 4212 4213 4217 4220 4223 4224 4225 4226 4231 4232 4233 4234 4237 4242 4247 4252 4253 4255 4256 4257 4258 4259 4263 4264 4265 4266 4268 4269 4270 4271 4273 4274 4275 4276 4277 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4302 4303 4304 4305 4306 4308 4309 4310 4313 4314 4315 4316 4317 4320 4323 4324 4328 4329 4332 4333 4340 4341 4343 4344 4345 4346 4350 4354 4355 4356 4360 4364 4365 4366 4367 4368 4370 4371 4372 4374 4375 4376 4377 4379 4380 4381 4383 4384 4385 4387 4388 4389 4391 4392 4393 4395 4396 4397 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4434 4435 4436 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4463 4465 4466 4467 4468 4469 4470 4471 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4502 4503 4504 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4581 4582 4583 4590 4594 4595 4596 4597 4601 4602 4603 4604 4605 4606 4609 4610 4611 4612 4613 4614 4616 4617 4618 4620 4621 4622 4624 4625 4626 4628 4629 4630 4633 4634 4635 4640 4641 4642 4643 4647 4651 4652 4656 4660 4661 4662 4666 4667 4668 4669 4670 4674 4678 4679 4683 4684 4685 4686 4687 4688 4689 4693 4694 4698 4699 4703 4707 4708 4715 4716 4718 4722 4726 4734 4738 4742 4746 4748 4749 4750 4751 4752 4755 4758 4759 4760 4761 4762 4763 4764 4765 4766 4768 4769 4770 4771 4772 4773 4774 4776 4777 4778 4781 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4797 4798 4799 4800 4801 4802 4808 4810 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4827 4829 4830 4831 4832 4833 4835 4836 4837 4838 4839 4840 4841 4842 4844 4845 4846 4847 4848 4850 4851 4852 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4870 4874 4875 4876 4877 4878 4879 4883 4884 4885 4886 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4944 4945 4946 4947 4949 4950 4951 4952 4955 4958 4961 4964 4967 4968 4969 4970 4973 4976 4979 4982 4985 4988 4991 4994 4997 5000 5001 5002 5003 5006 5009 5012 5015 5018 5021 5022 5023 5025 5026 5027 5028 5029 5030 5033 5036 5039 5042 5045 5046 5047 5048 5050 5053 5056 5059 5062 5065 5067 5070 5073 5074 5075 5078 5081 5084 5087 5088 5089 5092 5095 5098 5101 5104 5107 5110 5113 5114 5120 5121 5122 5123 5125 5127 5129 5131 5133 5136 5137 5138 5140 5142 5144 5146 5148 5150 5152 5153 5155 5157 5159 5162 5163 5164 5165 5171 5172 5174 5175 5180 5181 5182 5184 5186 5188 5189 5191 5192 5193 5195 5197 5199 5201 5202 5204 5205 5206 5208 5210 5212 5214 5215 5219 5220 5221 5223 5225 5227 5228 5230 5231 5233 5234 5235 5237 5240 5242 5244 5246 5247 5249 5250 5252 5253 5255 5257 5259 5260 5263 5264 5265 5266 5269 5270 5272 5275 5278 5281 5284 5287 5290 5293 5296 5299 5302 5305 5308 5309 5310 5311 5312 5314 5315 5318 5319 5320 5322 5324 5325 5327 5329 5330 5331 5334 5335 5336 5337 5339 5340 5342 5343 5344 5346 5347 5349 5354 5355 5356 5358 5360 5361 5363 5364 5366 5368 5369 5372 5373 5375 5376 5381 5382 5383 5388 5389 5390 5391 5392 5394 5395 5396 5398 5399 5402 5403 5405 5407 5409 5412 5413 5416 5417 5419 5424 5425 5427 5431 5435 5436 5437 5438 5440 5442 5443 5445 5446 5448 5449 5451 5453 5454 5455 5456 5457 5458 5459 5461 5463 5547 5549 5550 5552 5553 5554 5556 5557 5559 5561 5562 5564 5566 5567 5568 5570 5572 5573 5575 5577 5578 5580 5581 5582 5584 5585 5586 5587 5589 5590 5591 5592 5597 5599 5600 5601 5602 5604 5605 5606 5607 5608 5611 5613 5614 5615 5616 5617 5618 5621 5622 5623 5625 5628 5631 5633 5635 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 5667 5668 5669 5670 5672 5673 5678 5679 5682 5684 5687 5690 5693 5694 5699 5701 5704 5705 5706 5707 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 5738 5739 5743 5744 5746 5748 5749 5753 5757 5758 5759 5763 5767 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5784 5788 5790 5791 5794 5795 5796 5797 5798 5799 5800 5801 5802 5803 5805 5807 5816 5817
Symbol 221 TextUses:220Used by:222
Symbol 222 MovieClipUses:221Used by:Timeline
Symbol 5 MovieClip [__Packages.mx.core.UIObject]
Symbol 99 MovieClip [__Packages.mx.skins.SkinElement]
Symbol 100 MovieClip [__Packages.mx.styles.CSSTextStyles]
Symbol 102 MovieClip [__Packages.mx.styles.CSSStyleDeclaration]
Symbol 101 MovieClip [__Packages.mx.styles.StyleManager]
Symbol 6 MovieClip [__Packages.mx.core.UIComponent]
Symbol 161 MovieClip [__Packages.mx.core.View]
Symbol 103 MovieClip [__Packages.mx.skins.Border]
Symbol 121 MovieClip [__Packages.mx.skins.RectBorder]
Symbol 114 MovieClip [__Packages.mx.managers.DepthManager]
Symbol 162 MovieClip [__Packages.mx.core.ExternalContent]
Symbol 109 MovieClip [__Packages.mx.events.EventDispatcher]
Symbol 110 MovieClip [__Packages.mx.events.UIEventDispatcher]
Symbol 163 MovieClip [__Packages.mx.core.ScrollView]
Symbol 7 MovieClip [__Packages.mx.controls.scrollClasses.ScrollBar]
Symbol 104 MovieClip [__Packages.mx.skins.CustomBorder]
Symbol 105 MovieClip [__Packages.mx.controls.scrollClasses.ScrollThumb]
Symbol 106 MovieClip [__Packages.mx.controls.SimpleButton]
Symbol 193 MovieClip [__Packages.mx.containers.Window]
Symbol 115 MovieClip [__Packages.mx.managers.SystemManager]
Symbol 194 MovieClip [__Packages.mx.controls.Alert]
Symbol 169 MovieClip [__Packages.mx.managers.PopUpManager]
Symbol 219 MovieClip [__Packages.mx.controls.alertClasses.AlertForm]
Symbol 218 MovieClip [__Packages.mx.controls.TextArea]
Symbol 108 MovieClip [__Packages.mx.controls.Button]
Symbol 8 MovieClip [__Packages.mx.controls.UIScrollBar]
Symbol 107 MovieClip [__Packages.mx.controls.VScrollBar]
Symbol 111 MovieClip [__Packages.mx.skins.ColoredSkinElement]
Symbol 112 MovieClip [__Packages.mx.core.ext.UIObjectExtensions]
Symbol 113 MovieClip [__Packages.mx.skins.halo.Defaults]
Symbol 116 MovieClip [__Packages.mx.managers.FocusManager]
Symbol 117 MovieClip [__Packages.mx.skins.halo.FocusRect]
Symbol 118 MovieClip [__Packages.mx.managers.OverlappedWindows]
Symbol 119 MovieClip [__Packages.mx.styles.CSSSetStyle]
Symbol 120 MovieClip [__Packages.mx.core.ext.UIComponentExtensions]
Symbol 122 MovieClip [__Packages.mx.skins.halo.RectBorder]
Symbol 123 MovieClip [__Packages.mx.skins.halo.ButtonSkin]
Symbol 124 MovieClip [__Packages.mx.controls.HScrollBar]
Symbol 125 MovieClip [__Packages.mx.controls.MenuBar]
Symbol 164 MovieClip [__Packages.mx.controls.listclasses.DataSelector]
Symbol 165 MovieClip [__Packages.mx.controls.listclasses.DataProvider]
Symbol 166 MovieClip [__Packages.mx.controls.listclasses.ScrollSelectList]
Symbol 167 MovieClip [__Packages.mx.controls.treeclasses.TreeDataProvider]
Symbol 168 MovieClip [__Packages.mx.controls.menuclasses.MenuDataProvider]
Symbol 170 MovieClip [__Packages.mx.effects.Tween]
Symbol 171 MovieClip [__Packages.mx.controls.Menu]
Symbol 172 MovieClip [__Packages.mx.skins.halo.ActivatorSkin]
Symbol 173 MovieClip [__Packages.mx.controls.menuclasses.MenuBarItem]
Symbol 174 MovieClip [__Packages.mx.controls.listclasses.SelectableRow]
Symbol 175 MovieClip [__Packages.mx.controls.menuclasses.MenuRow]
Symbol 176 MovieClip [__Packages.mx.controls.CheckBox]
Symbol 223 TextUses:220Used by:227
Symbol 224 GraphicUsed by:227
Symbol 225 TextUses:220Used by:227
Symbol 226 GraphicUsed by:227
Symbol 227 ButtonUses:223 224 225 226Used by:Timeline
Symbol 228 TextUses:220Used by:232
Symbol 229 GraphicUsed by:232
Symbol 230 TextUses:220Used by:232
Symbol 231 GraphicUsed by:232
Symbol 232 ButtonUses:228 229 230 231Used by:Timeline
Symbol 233 GraphicUsed by:235
Symbol 234 SoundUsed by:235
Symbol 235 MovieClipUses:233 234Used by:Timeline
Symbol 236 TextUses:220Used by:713
Symbol 237 GraphicUsed by:239
Symbol 238 TextUses:220Used by:239
Symbol 239 ButtonUses:237 238Used by:713
Symbol 240 GraphicUsed by:713
Symbol 241 TextUses:220Used by:713
Symbol 242 TextUses:220Used by:713
Symbol 243 GraphicUsed by:245
Symbol 244 TextUses:220Used by:245
Symbol 245 ButtonUses:243 244Used by:713
Symbol 246 FontUsed by:247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 305 306 307 308 309 310 311 312 313 314 315 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 366 367 368 369 370 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 401 402 403 404 405 406 407 408 409 431 432 433 434 435 436 437 438 439 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 490 491 492 493 494 495 496 497 498 499 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 598 599 600 601 602 603 604 605 606 607 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 640 641 642 643 644 645 646 647 648 649 650 651 652 653 656 663 664 665 666 667 668 669 670 671 672 673 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711
Symbol 247 TextUses:246Used by:713
Symbol 248 TextUses:246Used by:713
Symbol 249 TextUses:246Used by:713
Symbol 250 TextUses:246Used by:713
Symbol 251 TextUses:246Used by:713
Symbol 252 TextUses:246Used by:713
Symbol 253 TextUses:246Used by:713
Symbol 254 TextUses:246Used by:713
Symbol 255 TextUses:246Used by:713
Symbol 256 TextUses:246Used by:713
Symbol 257 TextUses:246Used by:713
Symbol 258 TextUses:246Used by:713
Symbol 259 TextUses:246Used by:713
Symbol 260 TextUses:246Used by:713
Symbol 261 TextUses:246Used by:713
Symbol 262 TextUses:246Used by:713
Symbol 263 TextUses:246Used by:713
Symbol 264 TextUses:246Used by:713
Symbol 265 FontUsed by:266 267 286 287 304 316 317
Symbol 266 TextUses:265Used by:713
Symbol 267 TextUses:265Used by:713
Symbol 268 GraphicUsed by:270
Symbol 269 TextUses:220Used by:270
Symbol 270 ButtonUses:268 269Used by:713
Symbol 271 TextUses:246Used by:713
Symbol 272 TextUses:246Used by:713
Symbol 273 TextUses:246Used by:713
Symbol 274 TextUses:246Used by:713
Symbol 275 TextUses:246Used by:713
Symbol 276 TextUses:246Used by:713
Symbol 277 TextUses:246Used by:713
Symbol 278 TextUses:246Used by:713
Symbol 279 TextUses:246Used by:713
Symbol 280 TextUses:246Used by:713
Symbol 281 TextUses:246Used by:713
Symbol 282 TextUses:246Used by:713
Symbol 283 TextUses:246Used by:713
Symbol 284 TextUses:246Used by:713
Symbol 285 TextUses:246Used by:713
Symbol 286 TextUses:265Used by:713
Symbol 287 TextUses:265Used by:713
Symbol 288 TextUses:246Used by:713
Symbol 289 TextUses:246Used by:713
Symbol 290 TextUses:246Used by:713
Symbol 291 TextUses:246Used by:713
Symbol 292 TextUses:246Used by:713
Symbol 293 TextUses:246Used by:713
Symbol 294 TextUses:246Used by:713
Symbol 295 TextUses:246Used by:713
Symbol 296 TextUses:246Used by:713
Symbol 297 TextUses:246Used by:713
Symbol 298 TextUses:246Used by:713
Symbol 299 TextUses:246Used by:713
Symbol 300 TextUses:246Used by:713
Symbol 301 TextUses:246Used by:713
Symbol 302 TextUses:246Used by:713
Symbol 303 TextUses:246Used by:713
Symbol 304 TextUses:265Used by:713
Symbol 305 TextUses:246Used by:713
Symbol 306 TextUses:246Used by:713
Symbol 307 TextUses:246Used by:713
Symbol 308 TextUses:246Used by:713
Symbol 309 TextUses:246Used by:713
Symbol 310 TextUses:246Used by:713
Symbol 311 TextUses:246Used by:713
Symbol 312 TextUses:246Used by:713
Symbol 313 TextUses:246Used by:713
Symbol 314 TextUses:246Used by:713
Symbol 315 TextUses:246Used by:713
Symbol 316 TextUses:265Used by:713
Symbol 317 TextUses:265Used by:713
Symbol 318 TextUses:246Used by:713
Symbol 319 TextUses:246Used by:713
Symbol 320 TextUses:246Used by:713
Symbol 321 TextUses:246Used by:713
Symbol 322 TextUses:246Used by:713
Symbol 323 TextUses:246Used by:713
Symbol 324 TextUses:246Used by:713
Symbol 325 TextUses:246Used by:713
Symbol 326 TextUses:246Used by:713
Symbol 327 TextUses:246Used by:713
Symbol 328 TextUses:246Used by:713
Symbol 329 TextUses:246Used by:713
Symbol 330 TextUses:246Used by:713
Symbol 331 TextUses:246Used by:713
Symbol 332 TextUses:246Used by:713
Symbol 333 TextUses:246Used by:713
Symbol 334 TextUses:246Used by:713
Symbol 335 TextUses:246Used by:713
Symbol 336 TextUses:246Used by:713
Symbol 337 TextUses:246Used by:713
Symbol 338 TextUses:246Used by:713
Symbol 339 TextUses:246Used by:713
Symbol 340 TextUses:246Used by:713
Symbol 341 TextUses:246Used by:713
Symbol 342 TextUses:246Used by:713
Symbol 343 TextUses:246Used by:713
Symbol 344 TextUses:246Used by:713
Symbol 345 TextUses:246Used by:713
Symbol 346 TextUses:246Used by:713
Symbol 347 TextUses:246Used by:713
Symbol 348 TextUses:246Used by:713
Symbol 349 TextUses:246Used by:713
Symbol 350 TextUses:246Used by:713
Symbol 351 TextUses:246Used by:713
Symbol 352 TextUses:246Used by:713
Symbol 353 TextUses:246Used by:713
Symbol 354 TextUses:246Used by:713
Symbol 355 FontUsed by:356 357 358 359 360 361 362 363 364 365 371 372 373 389 390 391 392 393 394 395 396 397 398 399 400 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 440 441 442 443 444 445 446 447 448 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 500 543 544 592 593 594 595 596 597 608 637 638 639 654 655 657 658 659 660 661 662 674 675 676
Symbol 356 TextUses:355Used by:713
Symbol 357 TextUses:355Used by:713
Symbol 358 TextUses:355Used by:713
Symbol 359 TextUses:355Used by:713
Symbol 360 TextUses:355Used by:713
Symbol 361 TextUses:355Used by:713
Symbol 362 TextUses:355Used by:713
Symbol 363 TextUses:355Used by:713
Symbol 364 TextUses:355Used by:713
Symbol 365 TextUses:355Used by:713
Symbol 366 TextUses:246Used by:713
Symbol 367 TextUses:246Used by:713
Symbol 368 TextUses:246Used by:713
Symbol 369 TextUses:246Used by:713
Symbol 370 TextUses:246Used by:713
Symbol 371 TextUses:355Used by:713
Symbol 372 TextUses:355Used by:713
Symbol 373 TextUses:355Used by:713
Symbol 374 TextUses:246Used by:713
Symbol 375 TextUses:246Used by:713
Symbol 376 TextUses:246Used by:713
Symbol 377 TextUses:246Used by:713
Symbol 378 TextUses:246Used by:713
Symbol 379 TextUses:246Used by:713
Symbol 380 TextUses:246Used by:713
Symbol 381 TextUses:246Used by:713
Symbol 382 TextUses:246Used by:713
Symbol 383 TextUses:246Used by:713
Symbol 384 TextUses:246Used by:713
Symbol 385 TextUses:246Used by:713
Symbol 386 TextUses:246Used by:713
Symbol 387 TextUses:246Used by:713
Symbol 388 TextUses:246Used by:713
Symbol 389 TextUses:355Used by:713
Symbol 390 TextUses:355Used by:713
Symbol 391 TextUses:355Used by:713
Symbol 392 TextUses:355Used by:713
Symbol 393 TextUses:355Used by:713
Symbol 394 TextUses:355Used by:713
Symbol 395 TextUses:355Used by:713
Symbol 396 TextUses:355Used by:713
Symbol 397 TextUses:355Used by:713
Symbol 398 TextUses:355Used by:713
Symbol 399 TextUses:355Used by:713
Symbol 400 TextUses:355Used by:713
Symbol 401 TextUses:246Used by:713
Symbol 402 TextUses:246Used by:713
Symbol 403 TextUses:246Used by:713
Symbol 404 TextUses:246Used by:713
Symbol 405 TextUses:246Used by:713
Symbol 406 TextUses:246Used by:713
Symbol 407 TextUses:246Used by:713
Symbol 408 TextUses:246Used by:713
Symbol 409 TextUses:246Used by:713
Symbol 410 TextUses:355Used by:713
Symbol 411 TextUses:355Used by:713
Symbol 412 TextUses:355Used by:713
Symbol 413 TextUses:355Used by:713
Symbol 414 TextUses:355Used by:713
Symbol 415 TextUses:355Used by:713
Symbol 416 TextUses:355Used by:713
Symbol 417 TextUses:355Used by:713
Symbol 418 TextUses:355Used by:713
Symbol 419 TextUses:355Used by:713
Symbol 420 TextUses:355Used by:713
Symbol 421 TextUses:355Used by:713
Symbol 422 TextUses:355Used by:713
Symbol 423 TextUses:355Used by:713
Symbol 424 TextUses:355Used by:713
Symbol 425 TextUses:355Used by:713
Symbol 426 TextUses:355Used by:713
Symbol 427 TextUses:355Used by:713
Symbol 428 TextUses:355Used by:713
Symbol 429 TextUses:355Used by:713
Symbol 430 TextUses:355Used by:713
Symbol 431 TextUses:246Used by:713
Symbol 432 TextUses:246Used by:713
Symbol 433 TextUses:246Used by:713
Symbol 434 TextUses:246Used by:713
Symbol 435 TextUses:246Used by:713
Symbol 436 TextUses:246Used by:713
Symbol 437 TextUses:246Used by:713
Symbol 438 TextUses:246Used by:713
Symbol 439 TextUses:246Used by:713
Symbol 440 TextUses:355Used by:713
Symbol 441 TextUses:355Used by:713
Symbol 442 TextUses:355Used by:713
Symbol 443 TextUses:355Used by:713
Symbol 444 TextUses:355Used by:713
Symbol 445 TextUses:355Used by:713
Symbol 446 TextUses:355Used by:713
Symbol 447 TextUses:355Used by:713
Symbol 448 TextUses:355Used by:713
Symbol 449 TextUses:246Used by:713
Symbol 450 TextUses:246Used by:713
Symbol 451 TextUses:246Used by:713
Symbol 452 TextUses:246Used by:713
Symbol 453 TextUses:246Used by:713
Symbol 454 TextUses:246Used by:713
Symbol 455 TextUses:246Used by:713
Symbol 456 TextUses:246Used by:713
Symbol 457 TextUses:246Used by:713
Symbol 458 TextUses:246Used by:713
Symbol 459 TextUses:246Used by:713
Symbol 460 TextUses:246Used by:713
Symbol 461 TextUses:246Used by:713
Symbol 462 TextUses:246Used by:713
Symbol 463 TextUses:246Used by:713
Symbol 464 TextUses:246Used by:713
Symbol 465 TextUses:246Used by:713
Symbol 466 TextUses:246Used by:713
Symbol 467 TextUses:246Used by:713
Symbol 468 TextUses:246Used by:713
Symbol 469 TextUses:246Used by:713
Symbol 470 TextUses:246Used by:713
Symbol 471 TextUses:246Used by:713
Symbol 472 TextUses:246Used by:713
Symbol 473 TextUses:246Used by:713
Symbol 474 TextUses:355Used by:713
Symbol 475 TextUses:355Used by:713
Symbol 476 TextUses:355Used by:713
Symbol 477 TextUses:355Used by:713
Symbol 478 TextUses:355Used by:713
Symbol 479 TextUses:355Used by:713
Symbol 480 TextUses:355Used by:713
Symbol 481 TextUses:355Used by:713
Symbol 482 TextUses:355Used by:713
Symbol 483 TextUses:355Used by:713
Symbol 484 TextUses:355Used by:713
Symbol 485 TextUses:355Used by:713
Symbol 486 TextUses:355Used by:713
Symbol 487 TextUses:355Used by:713
Symbol 488 TextUses:355Used by:713
Symbol 489 TextUses:355Used by:713
Symbol 490 TextUses:246Used by:713
Symbol 491 TextUses:246Used by:713
Symbol 492 TextUses:246Used by:713
Symbol 493 TextUses:246Used by:713
Symbol 494 TextUses:246Used by:713
Symbol 495 TextUses:246Used by:713
Symbol 496 TextUses:246Used by:713
Symbol 497 TextUses:246Used by:713
Symbol 498 TextUses:246Used by:713
Symbol 499 TextUses:246Used by:713
Symbol 500 TextUses:355Used by:713
Symbol 501 TextUses:246Used by:713
Symbol 502 TextUses:246Used by:713
Symbol 503 TextUses:246Used by:713
Symbol 504 TextUses:246Used by:713
Symbol 505 TextUses:246Used by:713
Symbol 506 TextUses:246Used by:713
Symbol 507 TextUses:246Used by:713
Symbol 508 TextUses:246Used by:713
Symbol 509 TextUses:246Used by:713
Symbol 510 TextUses:246Used by:713
Symbol 511 TextUses:246Used by:713
Symbol 512 TextUses:246Used by:713
Symbol 513 TextUses:246Used by:713
Symbol 514 TextUses:246Used by:713
Symbol 515 TextUses:246Used by:713
Symbol 516 TextUses:246Used by:713
Symbol 517 TextUses:246Used by:713
Symbol 518 TextUses:246Used by:713
Symbol 519 TextUses:246Used by:713
Symbol 520 TextUses:246Used by:713
Symbol 521 TextUses:246Used by:713
Symbol 522 TextUses:246Used by:713
Symbol 523 TextUses:246Used by:713
Symbol 524 TextUses:246Used by:713
Symbol 525 TextUses:246Used by:713
Symbol 526 TextUses:246Used by:713
Symbol 527 TextUses:246Used by:713
Symbol 528 TextUses:246Used by:713
Symbol 529 TextUses:246Used by:713
Symbol 530 TextUses:246Used by:713
Symbol 531 TextUses:246Used by:713
Symbol 532 TextUses:246Used by:713
Symbol 533 TextUses:246Used by:713
Symbol 534 TextUses:246Used by:713
Symbol 535 TextUses:246Used by:713
Symbol 536 TextUses:246Used by:713
Symbol 537 TextUses:246Used by:713
Symbol 538 TextUses:246Used by:713
Symbol 539 TextUses:246Used by:713
Symbol 540 TextUses:246Used by:713
Symbol 541 TextUses:246Used by:713
Symbol 542 TextUses:246Used by:713
Symbol 543 TextUses:355Used by:713
Symbol 544 TextUses:355Used by:713
Symbol 545 TextUses:246Used by:713
Symbol 546 TextUses:246Used by:713
Symbol 547 TextUses:246Used by:713
Symbol 548 TextUses:246Used by:713
Symbol 549 TextUses:246Used by:713
Symbol 550 TextUses:246Used by:713
Symbol 551 TextUses:246Used by:713
Symbol 552 TextUses:246Used by:713
Symbol 553 TextUses:246Used by:713
Symbol 554 TextUses:246Used by:713
Symbol 555 TextUses:246Used by:713
Symbol 556 TextUses:246Used by:713
Symbol 557 TextUses:246Used by:713
Symbol 558 TextUses:246Used by:713
Symbol 559 TextUses:246Used by:713
Symbol 560 TextUses:246Used by:713
Symbol 561 TextUses:246Used by:713
Symbol 562 TextUses:246Used by:713
Symbol 563 TextUses:246Used by:713
Symbol 564 TextUses:246Used by:713
Symbol 565 TextUses:246Used by:713
Symbol 566 TextUses:246Used by:713
Symbol 567 TextUses:246Used by:713
Symbol 568 TextUses:246Used by:713
Symbol 569 TextUses:246Used by:713
Symbol 570 TextUses:246Used by:713
Symbol 571 TextUses:246Used by:713
Symbol 572 TextUses:246Used by:713
Symbol 573 TextUses:246Used by:713
Symbol 574 TextUses:246Used by:713
Symbol 575 TextUses:246Used by:713
Symbol 576 TextUses:246Used by:713
Symbol 577 TextUses:246Used by:713
Symbol 578 TextUses:246Used by:713
Symbol 579 TextUses:246Used by:713
Symbol 580 TextUses:246Used by:713
Symbol 581 TextUses:246Used by:713
Symbol 582 TextUses:246Used by:713
Symbol 583 TextUses:246Used by:713
Symbol 584 TextUses:246Used by:713
Symbol 585 TextUses:246Used by:713
Symbol 586 TextUses:246Used by:713
Symbol 587 TextUses:246Used by:713
Symbol 588 TextUses:246Used by:713
Symbol 589 TextUses:246Used by:713
Symbol 590 TextUses:246Used by:713
Symbol 591 TextUses:246Used by:713
Symbol 592 TextUses:355Used by:713
Symbol 593 TextUses:355Used by:713
Symbol 594 TextUses:355Used by:713
Symbol 595 TextUses:355Used by:713
Symbol 596 TextUses:355Used by:713
Symbol 597 TextUses:355Used by:713
Symbol 598 TextUses:246Used by:713
Symbol 599 TextUses:246Used by:713
Symbol 600 TextUses:246Used by:713
Symbol 601 TextUses:246Used by:713
Symbol 602 TextUses:246Used by:713
Symbol 603 TextUses:246Used by:713
Symbol 604 TextUses:246Used by:713
Symbol 605 TextUses:246Used by:713
Symbol 606 TextUses:246Used by:713
Symbol 607 TextUses:246Used by:713
Symbol 608 TextUses:355Used by:713
Symbol 609 TextUses:246Used by:713
Symbol 610 TextUses:246Used by:713
Symbol 611 TextUses:246Used by:713
Symbol 612 TextUses:246Used by:713
Symbol 613 TextUses:246Used by:713
Symbol 614 TextUses:246Used by:713
Symbol 615 TextUses:246Used by:713
Symbol 616 TextUses:246Used by:713
Symbol 617 TextUses:246Used by:713
Symbol 618 TextUses:246Used by:713
Symbol 619 TextUses:246Used by:713
Symbol 620 TextUses:246Used by:713
Symbol 621 TextUses:246Used by:713
Symbol 622 TextUses:246Used by:713
Symbol 623 TextUses:246Used by:713
Symbol 624 TextUses:246Used by:713
Symbol 625 TextUses:246Used by:713
Symbol 626 TextUses:246Used by:713
Symbol 627 TextUses:246Used by:713
Symbol 628 TextUses:246Used by:713
Symbol 629 TextUses:246Used by:713
Symbol 630 TextUses:246Used by:713
Symbol 631 TextUses:246Used by:713
Symbol 632 TextUses:246Used by:713
Symbol 633 TextUses:246Used by:713
Symbol 634 TextUses:246Used by:713
Symbol 635 TextUses:246Used by:713
Symbol 636 TextUses:246Used by:713
Symbol 637 TextUses:355Used by:713
Symbol 638 TextUses:355Used by:713
Symbol 639 TextUses:355Used by:713
Symbol 640 TextUses:246Used by:713
Symbol 641 TextUses:246Used by:713
Symbol 642 TextUses:246Used by:713
Symbol 643 TextUses:246Used by:713
Symbol 644 TextUses:246Used by:713
Symbol 645 TextUses:246Used by:713
Symbol 646 TextUses:246Used by:713
Symbol 647 TextUses:246Used by:713
Symbol 648 TextUses:246Used by:713
Symbol 649 TextUses:246Used by:713
Symbol 650 TextUses:246Used by:713
Symbol 651 TextUses:246Used by:713
Symbol 652 TextUses:246Used by:713
Symbol 653 TextUses:246Used by:713
Symbol 654 TextUses:355Used by:713
Symbol 655 TextUses:355Used by:713
Symbol 656 TextUses:246Used by:713
Symbol 657 TextUses:355Used by:713
Symbol 658 TextUses:355Used by:713
Symbol 659 TextUses:355Used by:713
Symbol 660 TextUses:355Used by:713
Symbol 661 TextUses:355Used by:713
Symbol 662 TextUses:355Used by:713
Symbol 663 TextUses:246Used by:713
Symbol 664 TextUses:246Used by:713
Symbol 665 TextUses:246Used by:713
Symbol 666 TextUses:246Used by:713
Symbol 667 TextUses:246Used by:713
Symbol 668 TextUses:246Used by:713
Symbol 669 TextUses:246Used by:713
Symbol 670 TextUses:246Used by:713
Symbol 671 TextUses:246Used by:713
Symbol 672 TextUses:246Used by:713
Symbol 673 TextUses:246Used by:713
Symbol 674 TextUses:355Used by:713
Symbol 675 TextUses:355Used by:713
Symbol 676 TextUses:355Used by:713
Symbol 677 TextUses:246Used by:713
Symbol 678 TextUses:246Used by:713
Symbol 679 TextUses:246Used by:713
Symbol 680 TextUses:246Used by:713
Symbol 681 TextUses:246Used by:713
Symbol 682 TextUses:246Used by:713
Symbol 683 TextUses:246Used by:713
Symbol 684 TextUses:246Used by:713
Symbol 685 TextUses:246Used by:713
Symbol 686 TextUses:246Used by:713
Symbol 687 TextUses:246Used by:713
Symbol 688 TextUses:246Used by:713
Symbol 689 TextUses:246Used by:713
Symbol 690 TextUses:246Used by:713
Symbol 691 TextUses:246Used by:713
Symbol 692 TextUses:246Used by:713
Symbol 693 TextUses:246Used by:713
Symbol 694 TextUses:246Used by:713
Symbol 695 TextUses:246Used by:713
Symbol 696 TextUses:246Used by:713
Symbol 697 TextUses:246Used by:713
Symbol 698 TextUses:246Used by:713
Symbol 699 TextUses:246Used by:713
Symbol 700 TextUses:246Used by:713
Symbol 701 TextUses:246Used by:713
Symbol 702 TextUses:246Used by:713
Symbol 703 TextUses:246Used by:713
Symbol 704 TextUses:246Used by:713
Symbol 705 TextUses:246Used by:713
Symbol 706 TextUses:246Used by:713
Symbol 707 TextUses:246Used by:713
Symbol 708 TextUses:246Used by:713
Symbol 709 TextUses:246Used by:713
Symbol 710 TextUses:246Used by:713
Symbol 711 TextUses:246Used by:713
Symbol 712 TextUses:220Used by:713
Symbol 713 MovieClipUses:236 239 240 241 242 245 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 266 267 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712Used by:Timeline
Symbol 714 GraphicUsed by:718
Symbol 715 TextUses:220Used by:718
Symbol 716 GraphicUsed by:718
Symbol 717 GraphicUsed by:718
Symbol 718 ButtonUses:714 715 716 717Used by:Timeline
Symbol 719 GraphicUsed by:723
Symbol 720 TextUses:220Used by:723
Symbol 721 GraphicUsed by:723
Symbol 722 GraphicUsed by:723
Symbol 723 ButtonUses:719 720 721 722Used by:Timeline
Symbol 724 GraphicUsed by:725
Symbol 725 MovieClipUses:724Used by:755
Symbol 726 EditableTextUses:220Used by:755
Symbol 727 FontUsed by:728 730 731 733 740 836 1151 1153 1155 1158 1160 1162 1165 1167 1169 1172 1174 1176 3676 3783 3927 4342 4399 4638
Symbol 728 EditableTextUses:727Used by:734
Symbol 729 GraphicUsed by:734
Symbol 730 EditableTextUses:727Used by:734
Symbol 731 EditableTextUses:727Used by:734
Symbol 732 GraphicUsed by:734
Symbol 733 EditableTextUses:727Used by:734
Symbol 734 ButtonUses:728 729 730 731 732 733Used by:755
Symbol 735 GraphicUsed by:755
Symbol 736 FontUsed by:737 768 828 854 873 891 943 971 978 985 1069 1840 1841 1842 1843 1844 2035 2036 2325 2326 2327 2403 2404 2405 2406 2459 2460 2490 2491 3005 3006 3662 3664 3667 3669 3672 3674 3696 3788 4334 4335 4336 4337 4841 4925 5311 5332 5336 5360 5361 5370 5385 5386 5409 5433 5725
Symbol 737 EditableTextUses:736Used by:755
Symbol 738 GraphicUsed by:739
Symbol 739 MovieClipUses:738Used by:755
Symbol 740 EditableTextUses:727Used by:755
Symbol 741 FontUsed by:742
Symbol 742 TextUses:741Used by:755
Symbol 743 EditableTextUses:220Used by:755
Symbol 744 GraphicUsed by:749 754 961 967 1462 1464 1466 3643 4394 4398 4615 4619 4623 4627 5624
Symbol 745 FontUsed by:746 751 756 4254 4437
Symbol 746 TextUses:745Used by:752 754
Symbol 747 GraphicUsed by:748 754
Symbol 748 MovieClipUses:747Used by:750
Symbol 749 MovieClipUses:744Used by:750
Symbol 750 MovieClipUses:748 749Used by:754
Symbol 751 TextUses:745Used by:752 754
Symbol 752 MovieClipUses:751 746Used by:753
Symbol 753 MovieClipUses:752Used by:754
Symbol 754 ButtonUses:744 746 750 753 747 751Used by:755
Symbol 755 MovieClipUses:725 726 734 735 737 739 740 742 743 754Used by:Timeline
Symbol 756 TextUses:745Used by:757
Symbol 757 MovieClipUses:756Used by:759
Symbol 758 GraphicUsed by:759
Symbol 759 MovieClipUses:757 758Used by:Timeline
Symbol 760 GraphicUsed by:766
Symbol 761 TextUses:220Used by:766
Symbol 762 GraphicUsed by:766
Symbol 763 TextUses:220Used by:766
Symbol 764 GraphicUsed by:766 799 806 820
Symbol 765 TextUses:220Used by:766 799 806 820
Symbol 766 ButtonUses:760 761 762 763 764 765Used by:811 955  Timeline
Symbol 767 TextUses:220Used by:811
Symbol 768 TextUses:736Used by:811
Symbol 769 GraphicUsed by:770 771 772 773 950 3708 3710 3712 3714 3716 3718 3720 3722 3724 3726 3728 3730 3732 3734 3736 3738 3741 3743 3745
Symbol 770 ButtonUses:769Used by:811 955
Symbol 771 ButtonUses:769Used by:811 955
Symbol 772 ButtonUses:769Used by:811 955
Symbol 773 ButtonUses:769Used by:811 955
Symbol 774 TextUses:220Used by:778 822
Symbol 775 TextUses:220Used by:778 822
Symbol 776 GraphicUsed by:778 822
Symbol 777 TextUses:220Used by:778 822
Symbol 778 ButtonUses:774 775 776 777Used by:811
Symbol 779 GraphicUsed by:781 782 833  Timeline
Symbol 780 TextUses:220Used by:781 782 833
Symbol 781 ButtonUses:779 780Used by:811 955
Symbol 782 ButtonUses:779 780Used by:811
Symbol 783 EditableTextUses:220Used by:811
Symbol 784 EditableTextUses:220Used by:811
Symbol 785 TextUses:220Used by:811
Symbol 786 EditableTextUses:220Used by:811
Symbol 787 TextUses:220Used by:811 955
Symbol 788 GraphicUsed by:792 795 799 802 805 806 807 818 819 820 821 1077
Symbol 789 TextUses:220Used by:790
Symbol 790 ButtonUses:789Used by:792 818
Symbol 791 GraphicUsed by:792 799 802 805 806 807 818 820 821 1077
Symbol 792 ButtonUses:788 790 791Used by:811
Symbol 793 TextUses:220Used by:795 819
Symbol 794 GraphicUsed by:795 819
Symbol 795 ButtonUses:788 793 794Used by:811
Symbol 796 TextUses:220Used by:798
Symbol 797 GraphicUsed by:798
Symbol 798 ButtonUses:796 797Used by:811
Symbol 799 ButtonUses:788 765 791 764Used by:811
Symbol 800 TextUses:220Used by:802 806 820
Symbol 801 TextUses:220Used by:802
Symbol 802 ButtonUses:788 800 791 801Used by:811
Symbol 803 TextUses:220Used by:805 807 821 1077
Symbol 804 TextUses:220Used by:805
Symbol 805 ButtonUses:788 803 791 804Used by:811
Symbol 806 ButtonUses:788 800 791 764 765Used by:811  Timeline
Symbol 807 ButtonUses:788 803 791Used by:811
Symbol 808 TextUses:220Used by:811
Symbol 809 TextUses:220Used by:811 955
Symbol 810 GraphicUsed by:811
Symbol 811 MovieClipUses:767 768 770 771 772 773 778 781 782 783 784 785 786 787 792 795 766 798 799 802 805 806 807 808 809 810Used by:812
Symbol 812 MovieClipUses:811Used by:Timeline
Symbol 813 TextUses:220Used by:814
Symbol 814 MovieClipUses:813Used by:817
Symbol 815 GraphicUsed by:816
Symbol 816 MovieClipUses:815Used by:817
Symbol 817 MovieClipUses:816 814Used by:Timeline
Symbol 818 ButtonUses:788 790 791Used by:955
Symbol 819 ButtonUses:788 793 794Used by:955
Symbol 820 ButtonUses:788 800 791 764 765Used by:955
Symbol 821 ButtonUses:788 803 791Used by:955
Symbol 822 ButtonUses:774 775 776 777Used by:955
Symbol 823 GraphicUsed by:830
Symbol 824 TextUses:220Used by:830
Symbol 825 TextUses:220Used by:830
Symbol 826 GraphicUsed by:830
Symbol 827 TextUses:220Used by:830
Symbol 828 TextUses:736Used by:830
Symbol 829 TextUses:220Used by:830
Symbol 830 ButtonUses:823 824 825 826 827 828 829Used by:955
Symbol 831 EditableTextUses:220Used by:955
Symbol 832 EditableTextUses:220Used by:955
Symbol 833 ButtonUses:779 780Used by:955
Symbol 834 EditableTextUses:220Used by:955
Symbol 835 TextUses:220Used by:955
Symbol 836 EditableTextUses:727Used by:955
Symbol 837 GraphicUsed by:840 841
Symbol 838 ShapeTweeningUsed by:840
Symbol 839 ShapeTweeningUsed by:840
Symbol 840 MovieClipUses:838 839 837Used by:841
Symbol 841 MovieClipUses:837 840Used by:955
Symbol 842 TextUses:220Used by:844 859
Symbol 843 GraphicUsed by:844
Symbol 844 MovieClipUses:842 843Used by:860
Symbol 845 GraphicUsed by:846
Symbol 846 MovieClipUses:845Used by:847
Symbol 847 MovieClipUses:846Used by:860 878 896 948
Symbol 848 BitmapUsed by:849
Symbol 849 GraphicUses:848Used by:850
Symbol 850 MovieClipUses:849Used by:856 974
Symbol 851 BitmapUsed by:852
Symbol 852 GraphicUses:851Used by:853
Symbol 853 MovieClipUses:852Used by:856 974
Symbol 854 TextUses:736Used by:856
Symbol 855 GraphicUsed by:856 874 892 896 944 948 3690
Symbol 856 MovieClipUses:850 853 854 855Used by:857
Symbol 857 MovieClipUses:856Used by:860
Symbol 858 GraphicUsed by:859
Symbol 859 MovieClipUses:842 858Used by:860
Symbol 860 MovieClipUses:844 847 857 859Used by:955
Symbol 861 TextUses:220Used by:863 877
Symbol 862 GraphicUsed by:863
Symbol 863 MovieClipUses:861 862Used by:878
Symbol 864 BitmapUsed by:865
Symbol 865 GraphicUses:864Used by:866
Symbol 866 MovieClipUses:865Used by:874 981
Symbol 867 BitmapUsed by:868
Symbol 868 GraphicUses:867Used by:869
Symbol 869 MovieClipUses:868Used by:874 981
Symbol 870 BitmapUsed by:871
Symbol 871 GraphicUses:870Used by:872
Symbol 872 MovieClipUses:871Used by:874 981
Symbol 873 TextUses:736Used by:874
Symbol 874 MovieClipUses:866 869 872 873 855Used by:875
Symbol 875 MovieClipUses:874Used by:878
Symbol 876 GraphicUsed by:877
Symbol 877 MovieClipUses:861 876Used by:878
Symbol 878 MovieClipUses:863 847 875 877Used by:955
Symbol 879 TextUses:220Used by:881 895
Symbol 880 GraphicUsed by:881
Symbol 881 MovieClipUses:879 880Used by:896
Symbol 882 BitmapUsed by:883
Symbol 883 GraphicUses:882Used by:884
Symbol 884 MovieClipUses:883Used by:892 987
Symbol 885 BitmapUsed by:886
Symbol 886 GraphicUses:885Used by:887
Symbol 887 MovieClipUses:886Used by:892 987
Symbol 888 BitmapUsed by:889
Symbol 889 GraphicUses:888Used by:890
Symbol 890 MovieClipUses:889Used by:892 987
Symbol 891 TextUses:736Used by:892
Symbol 892 MovieClipUses:884 887 890 891 855Used by:893
Symbol 893 MovieClipUses:892Used by:896
Symbol 894 GraphicUsed by:895
Symbol 895 MovieClipUses:879 894Used by:896
Symbol 896 MovieClipUses:881 847 893 895 855Used by:955
Symbol 897 TextUses:220Used by:899 947
Symbol 898 GraphicUsed by:899
Symbol 899 MovieClipUses:897 898Used by:948
Symbol 900 GraphicUsed by:939
Symbol 901 GraphicUsed by:939
Symbol 902 GraphicUsed by:939
Symbol 903 GraphicUsed by:939
Symbol 904 GraphicUsed by:939
Symbol 905 GraphicUsed by:939
Symbol 906 GraphicUsed by:939
Symbol 907 GraphicUsed by:939
Symbol 908 GraphicUsed by:939
Symbol 909 GraphicUsed by:939
Symbol 910 GraphicUsed by:939
Symbol 911 GraphicUsed by:939
Symbol 912 GraphicUsed by:939
Symbol 913 GraphicUsed by:939
Symbol 914 GraphicUsed by:939
Symbol 915 GraphicUsed by:939
Symbol 916 GraphicUsed by:939
Symbol 917 GraphicUsed by:939
Symbol 918 GraphicUsed by:939
Symbol 919 GraphicUsed by:939
Symbol 920 GraphicUsed by:939
Symbol 921 GraphicUsed by:939
Symbol 922 GraphicUsed by:939
Symbol 923 GraphicUsed by:939
Symbol 924 GraphicUsed by:939
Symbol 925 GraphicUsed by:939
Symbol 926 GraphicUsed by:939
Symbol 927 GraphicUsed by:939
Symbol 928 GraphicUsed by:939
Symbol 929 GraphicUsed by:939
Symbol 930 GraphicUsed by:939
Symbol 931 GraphicUsed by:939
Symbol 932 GraphicUsed by:939
Symbol 933 GraphicUsed by:939
Symbol 934 GraphicUsed by:939
Symbol 935 GraphicUsed by:939
Symbol 936 GraphicUsed by:939
Symbol 937 GraphicUsed by:939
Symbol 938 GraphicUsed by:939
Symbol 939 MovieClipUses:900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938Used by:944 1071
Symbol 940 BitmapUsed by:941
Symbol 941 GraphicUses:940Used by:942
Symbol 942 MovieClipUses:941Used by:944 1071
Symbol 943 TextUses:736Used by:944
Symbol 944 MovieClipUses:939 942 943 855Used by:945
Symbol 945 MovieClipUses:944Used by:948
Symbol 946 GraphicUsed by:947
Symbol 947 MovieClipUses:897 946Used by:948
Symbol 948 MovieClipUses:899 847 945 947 855Used by:955
Symbol 949 GraphicUsed by:955
Symbol 950 MovieClipUses:769Used by:955
Symbol 951 GraphicUsed by:952
Symbol 952 MovieClipUses:951Used by:955
Symbol 953 GraphicUsed by:954
Symbol 954 MovieClipUses:953Used by:955
Symbol 955 MovieClipUses:818 819 766 820 821 809 770 771 772 773 822 830 781 831 832 787 833 834 835 836 841 860 878 896 948 949 950 952 954Used by:Timeline
Symbol 956 TextUses:220Used by:961
Symbol 957 GraphicUsed by:958 961
Symbol 958 MovieClipUses:957Used by:961
Symbol 959 TextUses:220Used by:961
Symbol 960 TextUses:220Used by:961
Symbol 961 ButtonUses:956 958 959 960 957 744Used by:Timeline
Symbol 962 TextUses:220Used by:967
Symbol 963 GraphicUsed by:964
Symbol 964 MovieClipUses:963Used by:967
Symbol 965 TextUses:220Used by:967
Symbol 966 TextUses:220Used by:967
Symbol 967 ButtonUses:962 964 965 744 966Used by:Timeline
Symbol 968 TextUses:220Used by:974
Symbol 969 GraphicUsed by:970
Symbol 970 MovieClipUses:969Used by:974
Symbol 971 TextUses:736Used by:974
Symbol 972 TextUses:220Used by:974
Symbol 973 GraphicUsed by:974
Symbol 974 ButtonUses:968 970 853 971 972 850 973Used by:Timeline
Symbol 975 TextUses:220Used by:981
Symbol 976 GraphicUsed by:977
Symbol 977 MovieClipUses:976Used by:981
Symbol 978 TextUses:736Used by:981
Symbol 979 TextUses:220Used by:981
Symbol 980 GraphicUsed by:981
Symbol 981 ButtonUses:975 977 978 872 869 866 979 980Used by:Timeline
Symbol 982 TextUses:220Used by:987 3700
Symbol 983 GraphicUsed by:984
Symbol 984 MovieClipUses:983Used by:987
Symbol 985 TextUses:736Used by:987
Symbol 986 GraphicUsed by:987
Symbol 987 ButtonUses:982 984 985 890 887 884 986Used by:Timeline
Symbol 988 TextUses:220Used by:1071
Symbol 989 GraphicUsed by:990
Symbol 990 MovieClipUses:989Used by:1071
Symbol 991 GraphicUsed by:1068
Symbol 992 GraphicUsed by:1068
Symbol 993 GraphicUsed by:1068
Symbol 994 GraphicUsed by:1068
Symbol 995 GraphicUsed by:1068
Symbol 996 GraphicUsed by:1068
Symbol 997 GraphicUsed by:1068
Symbol 998 GraphicUsed by:1068
Symbol 999 GraphicUsed by:1068
Symbol 1000 GraphicUsed by:1068
Symbol 1001 GraphicUsed by:1068
Symbol 1002 GraphicUsed by:1068
Symbol 1003 GraphicUsed by:1068
Symbol 1004 GraphicUsed by:1068
Symbol 1005 GraphicUsed by:1068
Symbol 1006 GraphicUsed by:1068
Symbol 1007 GraphicUsed by:1068
Symbol 1008 GraphicUsed by:1068
Symbol 1009 GraphicUsed by:1068
Symbol 1010 GraphicUsed by:1068
Symbol 1011 GraphicUsed by:1068
Symbol 1012 GraphicUsed by:1068
Symbol 1013 GraphicUsed by:1068
Symbol 1014 GraphicUsed by:1068
Symbol 1015 GraphicUsed by:1068
Symbol 1016 GraphicUsed by:1068
Symbol 1017 GraphicUsed by:1068
Symbol 1018 GraphicUsed by:1068
Symbol 1019 GraphicUsed by:1068
Symbol 1020 GraphicUsed by:1068
Symbol 1021 GraphicUsed by:1068
Symbol 1022 GraphicUsed by:1068
Symbol 1023 GraphicUsed by:1068
Symbol 1024 GraphicUsed by:1068
Symbol 1025 GraphicUsed by:1068
Symbol 1026 GraphicUsed by:1068
Symbol 1027 GraphicUsed by:1068
Symbol 1028 GraphicUsed by:1068
Symbol 1029 GraphicUsed by:1068
Symbol 1030 GraphicUsed by:1068
Symbol 1031 GraphicUsed by:1068
Symbol 1032 GraphicUsed by:1068
Symbol 1033 GraphicUsed by:1068
Symbol 1034 GraphicUsed by:1068
Symbol 1035 GraphicUsed by:1068
Symbol 1036 GraphicUsed by:1068
Symbol 1037 GraphicUsed by:1068
Symbol 1038 GraphicUsed by:1068
Symbol 1039 GraphicUsed by:1068
Symbol 1040 GraphicUsed by:1068
Symbol 1041 GraphicUsed by:1068
Symbol 1042 GraphicUsed by:1068
Symbol 1043 GraphicUsed by:1068
Symbol 1044 GraphicUsed by:1068
Symbol 1045 GraphicUsed by:1068
Symbol 1046 GraphicUsed by:1068
Symbol 1047 GraphicUsed by:1068
Symbol 1048 GraphicUsed by:1068
Symbol 1049 GraphicUsed by:1068
Symbol 1050 GraphicUsed by:1068
Symbol 1051 GraphicUsed by:1068
Symbol 1052 GraphicUsed by:1068
Symbol 1053 GraphicUsed by:1068
Symbol 1054 GraphicUsed by:1068
Symbol 1055 GraphicUsed by:1068
Symbol 1056 GraphicUsed by:1068
Symbol 1057 GraphicUsed by:1068
Symbol 1058 GraphicUsed by:1068
Symbol 1059 GraphicUsed by:1068
Symbol 1060 GraphicUsed by:1068
Symbol 1061 GraphicUsed by:1068
Symbol 1062 GraphicUsed by:1068
Symbol 1063 GraphicUsed by:1068
Symbol 1064 GraphicUsed by:1068
Symbol 1065 GraphicUsed by:1068
Symbol 1066 GraphicUsed by:1068
Symbol 1067 GraphicUsed by:1068
Symbol 1068 MovieClipUses:991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067Used by:1071
Symbol 1069 TextUses:736Used by:1071
Symbol 1070 GraphicUsed by:1071
Symbol 1071 ButtonUses:988 942 990 1068 939 1069 1070Used by:Timeline
Symbol 1072 TextUses:220Used by:1076
Symbol 1073 TextUses:220Used by:1076
Symbol 1074 Sound [ots]Used by:1076
Symbol 1075 Sound [yay]Used by:1076
Symbol 1076 MovieClipUses:1072 1073 1074 1075Used by:Timeline
Symbol 1077 ButtonUses:788 803 791Used by:Timeline
Symbol 1078 GraphicUsed by:Timeline
Symbol 1079 MovieClipUsed by:1080
Symbol 1080 MovieClipUses:1079Used by:Timeline
Symbol 1081 GraphicUsed by:1083
Symbol 1082 SoundUsed by:1083
Symbol 1083 MovieClipUses:1081 1082Used by:Timeline
Symbol 1084 GraphicUsed by:1086
Symbol 1085 Sound [bleep]Used by:1086
Symbol 1086 MovieClipUses:1084 1085Used by:Timeline
Symbol 1087 TextUses:220Used by:1088
Symbol 1088 ButtonUses:1087Used by:1098
Symbol 1089 TextUses:220Used by:1098
Symbol 1090 EditableTextUses:220Used by:1098
Symbol 1091 EditableTextUses:220Used by:1098
Symbol 1092 TextUses:220Used by:1098
Symbol 1093 TextUses:220Used by:1098
Symbol 1094 TextUses:220Used by:1098
Symbol 1095 TextUses:220Used by:1098
Symbol 1096 TextUses:220Used by:1098
Symbol 1097 GraphicUsed by:1098
Symbol 1098 MovieClipUses:1088 1089 1090 1091 1092 1093 1094 1095 1096 1097Used by:1099
Symbol 1099 MovieClipUses:1098Used by:Timeline
Symbol 1100 TextUses:220Used by:1104
Symbol 1101 TextUses:220Used by:1104
Symbol 1102 TextUses:220Used by:1104
Symbol 1103 GraphicUsed by:1104
Symbol 1104 MovieClipUses:1100 1101 1102 1103Used by:Timeline
Symbol 1105 TextUses:220Used by:1107
Symbol 1106 GraphicUsed by:1107
Symbol 1107 ButtonUses:1105 1106Used by:1146
Symbol 1108 TextUses:220Used by:1110
Symbol 1109 GraphicUsed by:1110
Symbol 1110 ButtonUses:1108 1109Used by:1146
Symbol 1111 TextUses:220Used by:1113
Symbol 1112 GraphicUsed by:1113
Symbol 1113 ButtonUses:1111 1112Used by:1146
Symbol 1114 TextUses:220Used by:1116
Symbol 1115 GraphicUsed by:1116
Symbol 1116 ButtonUses:1114 1115Used by:1146
Symbol 1117 TextUses:220Used by:1119
Symbol 1118 GraphicUsed by:1119
Symbol 1119 ButtonUses:1117 1118Used by:1146
Symbol 1120 TextUses:220Used by:1122
Symbol 1121 GraphicUsed by:1122
Symbol 1122 ButtonUses:1120 1121Used by:1146
Symbol 1123 TextUses:220Used by:1125
Symbol 1124 GraphicUsed by:1125
Symbol 1125 ButtonUses:1123 1124Used by:1146
Symbol 1126 TextUses:220Used by:1128
Symbol 1127 GraphicUsed by:1128
Symbol 1128 ButtonUses:1126 1127Used by:1146
Symbol 1129 TextUses:220Used by:1131
Symbol 1130 GraphicUsed by:1131
Symbol 1131 ButtonUses:1129 1130Used by:1146
Symbol 1132 TextUses:220Used by:1134
Symbol 1133 GraphicUsed by:1134
Symbol 1134 ButtonUses:1132 1133Used by:1146
Symbol 1135 TextUses:220Used by:1137
Symbol 1136 GraphicUsed by:1137
Symbol 1137 ButtonUses:1135 1136Used by:1146
Symbol 1138 TextUses:220Used by:1140
Symbol 1139 GraphicUsed by:1140
Symbol 1140 ButtonUses:1138 1139Used by:1146
Symbol 1141 TextUses:220Used by:1143
Symbol 1142 GraphicUsed by:1143
Symbol 1143 ButtonUses:1141 1142Used by:1146
Symbol 1144 GraphicUsed by:1145
Symbol 1145 MovieClipUses:1144Used by:1146
Symbol 1146 MovieClipUses:1107 1110 1113 1116 1119 1122 1125 1128 1131 1134 1137 1140 1143 1145Used by:Timeline
Symbol 1147 TextUses:220Used by:1149
Symbol 1148 GraphicUsed by:1149
Symbol 1149 ButtonUses:1147 1148Used by:Timeline
Symbol 1150 TextUses:220Used by:1156
Symbol 1151 EditableTextUses:727Used by:1156
Symbol 1152 TextUses:220Used by:1156
Symbol 1153 EditableTextUses:727Used by:1156
Symbol 1154 GraphicUsed by:1156
Symbol 1155 EditableTextUses:727Used by:1156
Symbol 1156 ButtonUses:1150 1151 1152 1153 1154 1155Used by:1290
Symbol 1157 TextUses:220Used by:1163
Symbol 1158 EditableTextUses:727Used by:1163
Symbol 1159 TextUses:220Used by:1163
Symbol 1160 EditableTextUses:727Used by:1163
Symbol 1161 GraphicUsed by:1163
Symbol 1162 EditableTextUses:727Used by:1163
Symbol 1163 ButtonUses:1157 1158 1159 1160 1161 1162Used by:1290
Symbol 1164 TextUses:220Used by:1170
Symbol 1165 EditableTextUses:727Used by:1170
Symbol 1166 TextUses:220Used by:1170
Symbol 1167 EditableTextUses:727Used by:1170
Symbol 1168 GraphicUsed by:1170
Symbol 1169 EditableTextUses:727Used by:1170
Symbol 1170 ButtonUses:1164 1165 1166 1167 1168 1169Used by:1290
Symbol 1171 TextUses:220Used by:1177
Symbol 1172 EditableTextUses:727Used by:1177
Symbol 1173 TextUses:220Used by:1177
Symbol 1174 EditableTextUses:727Used by:1177
Symbol 1175 GraphicUsed by:1177
Symbol 1176 EditableTextUses:727Used by:1177
Symbol 1177 ButtonUses:1171 1172 1173 1174 1175 1176Used by:1290
Symbol 1178 FontUsed by:1179 1623 2300 2472 2675 4311 5638
Symbol 1179 EditableTextUses:1178Used by:1290
Symbol 1180 GraphicUsed by:1245
Symbol 1181 GraphicUsed by:1245
Symbol 1182 GraphicUsed by:1245
Symbol 1183 GraphicUsed by:1245
Symbol 1184 GraphicUsed by:1245
Symbol 1185 GraphicUsed by:1245
Symbol 1186 GraphicUsed by:1245
Symbol 1187 GraphicUsed by:1245
Symbol 1188 GraphicUsed by:1245
Symbol 1189 GraphicUsed by:1245
Symbol 1190 GraphicUsed by:1245
Symbol 1191 GraphicUsed by:1245
Symbol 1192 GraphicUsed by:1245
Symbol 1193 GraphicUsed by:1245
Symbol 1194 GraphicUsed by:1245
Symbol 1195 GraphicUsed by:1245
Symbol 1196 GraphicUsed by:1245
Symbol 1197 GraphicUsed by:1245
Symbol 1198 GraphicUsed by:1245
Symbol 1199 GraphicUsed by:1245
Symbol 1200 GraphicUsed by:1245
Symbol 1201 GraphicUsed by:1245
Symbol 1202 GraphicUsed by:1245
Symbol 1203 GraphicUsed by:1245
Symbol 1204 GraphicUsed by:1245
Symbol 1205 GraphicUsed by:1245
Symbol 1206 GraphicUsed by:1245
Symbol 1207 GraphicUsed by:1245
Symbol 1208 GraphicUsed by:1245
Symbol 1209 GraphicUsed by:1245
Symbol 1210 GraphicUsed by:1245
Symbol 1211 GraphicUsed by:1245
Symbol 1212 GraphicUsed by:1245
Symbol 1213 GraphicUsed by:1245
Symbol 1214 GraphicUsed by:1245
Symbol 1215 GraphicUsed by:1245
Symbol 1216 GraphicUsed by:1245
Symbol 1217 GraphicUsed by:1245
Symbol 1218 GraphicUsed by:1245
Symbol 1219 GraphicUsed by:1245
Symbol 1220 GraphicUsed by:1245
Symbol 1221 GraphicUsed by:1245
Symbol 1222 GraphicUsed by:1245
Symbol 1223 GraphicUsed by:1245
Symbol 1224 GraphicUsed by:1245
Symbol 1225 GraphicUsed by:1245
Symbol 1226 GraphicUsed by:1245
Symbol 1227 GraphicUsed by:1245
Symbol 1228 GraphicUsed by:1245
Symbol 1229 GraphicUsed by:1245
Symbol 1230 GraphicUsed by:1245
Symbol 1231 GraphicUsed by:1245
Symbol 1232 GraphicUsed by:1245
Symbol 1233 GraphicUsed by:1245
Symbol 1234 GraphicUsed by:1245
Symbol 1235 GraphicUsed by:1245
Symbol 1236 GraphicUsed by:1245
Symbol 1237 GraphicUsed by:1245
Symbol 1238 GraphicUsed by:1245
Symbol 1239 GraphicUsed by:1245
Symbol 1240 GraphicUsed by:1245
Symbol 1241 GraphicUsed by:1245
Symbol 1242 GraphicUsed by:1245
Symbol 1243 GraphicUsed by:1245
Symbol 1244 GraphicUsed by:1245
Symbol 1245 MovieClipUses:1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244Used by:1290  Timeline
Symbol 1246 GraphicUsed by:1290 1624 2473 2676
Symbol 1247 TextUses:220Used by:1249
Symbol 1248 GraphicUsed by:1249
Symbol 1249 ButtonUses:1247 1248Used by:1290
Symbol 1250 TextUses:220Used by:1252
Symbol 1251 GraphicUsed by:1252
Symbol 1252 ButtonUses:1250 1251Used by:1290
Symbol 1253 TextUses:220Used by:1255
Symbol 1254 GraphicUsed by:1255
Symbol 1255 ButtonUses:1253 1254Used by:1290
Symbol 1256 TextUses:220Used by:1258
Symbol 1257 GraphicUsed by:1258
Symbol 1258 ButtonUses:1256 1257Used by:1290
Symbol 1259 TextUses:220Used by:1290
Symbol 1260 TextUses:220Used by:1262
Symbol 1261 GraphicUsed by:1262
Symbol 1262 ButtonUses:1260 1261Used by:1290
Symbol 1263 TextUses:220Used by:1265
Symbol 1264 GraphicUsed by:1265
Symbol 1265 ButtonUses:1263 1264Used by:1290
Symbol 1266 TextUses:220Used by:1268
Symbol 1267 GraphicUsed by:1268
Symbol 1268 ButtonUses:1266 1267Used by:1290
Symbol 1269 TextUses:220Used by:1290
Symbol 1270 TextUses:220Used by:1272
Symbol 1271 GraphicUsed by:1272
Symbol 1272 ButtonUses:1270 1271Used by:1290
Symbol 1273 TextUses:220Used by:1275
Symbol 1274 GraphicUsed by:1275
Symbol 1275 ButtonUses:1273 1274Used by:1290
Symbol 1276 TextUses:220Used by:1290
Symbol 1277 TextUses:220Used by:1279
Symbol 1278 GraphicUsed by:1279
Symbol 1279 ButtonUses:1277 1278Used by:1290
Symbol 1280 TextUses:220Used by:1282
Symbol 1281 GraphicUsed by:1282
Symbol 1282 ButtonUses:1280 1281Used by:1290
Symbol 1283 TextUses:220Used by:1285
Symbol 1284 GraphicUsed by:1285
Symbol 1285 ButtonUses:1283 1284Used by:1290
Symbol 1286 TextUses:220Used by:1288
Symbol 1287 GraphicUsed by:1288
Symbol 1288 ButtonUses:1286 1287Used by:1290
Symbol 1289 TextUses:220Used by:1290
Symbol 1290 MovieClipUses:1156 1163 1170 1177 1179 1245 1246 1249 1252 1255 1258 1259 1262 1265 1268 1269 1272 1275 1276 1279 1282 1285 1288 1289Used by:Timeline
Symbol 1291 GraphicUsed by:1293 1294
Symbol 1292 TextUses:220Used by:1294
Symbol 1293 MovieClipUses:1291Used by:1294
Symbol 1294 ButtonUses:1291 1292 1293Used by:Timeline
Symbol 1295 GraphicUsed by:1318
Symbol 1296 GraphicUsed by:1298 1299
Symbol 1297 TextUses:220Used by:1298 1299
Symbol 1298 MovieClipUses:1297 1296Used by:1299
Symbol 1299 ButtonUses:1296 1297 1298Used by:1318
Symbol 1300 GraphicUsed by:1302 1303
Symbol 1301 TextUses:220Used by:1302 1303
Symbol 1302 MovieClipUses:1301 1300Used by:1303
Symbol 1303 ButtonUses:1300 1301 1302Used by:1318
Symbol 1304 GraphicUsed by:1308
Symbol 1305 TextUses:220Used by:1307 1308
Symbol 1306 GraphicUsed by:1307 1308
Symbol 1307 MovieClipUses:1305 1306Used by:1308
Symbol 1308 ButtonUses:1304 1305 1307 1306Used by:1318
Symbol 1309 GraphicUsed by:1313
Symbol 1310 TextUses:220Used by:1312 1313
Symbol 1311 GraphicUsed by:1312 1313
Symbol 1312 MovieClipUses:1310 1311Used by:1313
Symbol 1313 ButtonUses:1309 1310 1312 1311Used by:1318
Symbol 1314 GraphicUsed by:1316 1317
Symbol 1315 TextUses:220Used by:1316 1317
Symbol 1316 MovieClipUses:1315 1314Used by:1317
Symbol 1317 ButtonUses:1314 1315 1316Used by:1318
Symbol 1318 ButtonUses:1295 1299 1303 1308 1313 1317Used by:1319
Symbol 1319 MovieClipUses:1318Used by:Timeline
Symbol 1320 GraphicUsed by:1339
Symbol 1321 GraphicUsed by:1323 1324
Symbol 1322 TextUses:220Used by:1323 1324
Symbol 1323 MovieClipUses:1322 1321Used by:1324
Symbol 1324 ButtonUses:1321 1322 1323Used by:1339
Symbol 1325 GraphicUsed by:1329
Symbol 1326 TextUses:220Used by:1328 1329
Symbol 1327 GraphicUsed by:1328 1329
Symbol 1328 MovieClipUses:1326 1327Used by:1329
Symbol 1329 ButtonUses:1325 1326 1328 1327Used by:1339
Symbol 1330 GraphicUsed by:1334
Symbol 1331 TextUses:220Used by:1333 1334
Symbol 1332 GraphicUsed by:1333 1334
Symbol 1333 MovieClipUses:1331 1332Used by:1334
Symbol 1334 ButtonUses:1330 1331 1333 1332Used by:1339
Symbol 1335 GraphicUsed by:1337 1338
Symbol 1336 TextUses:220Used by:1337 1338
Symbol 1337 MovieClipUses:1336 1335Used by:1338
Symbol 1338 ButtonUses:1335 1336 1337Used by:1339
Symbol 1339 ButtonUses:1320 1324 1329 1334 1338Used by:1340
Symbol 1340 MovieClipUses:1339Used by:Timeline
Symbol 1341 GraphicUsed by:1343 1344
Symbol 1342 TextUses:220Used by:1343 1344
Symbol 1343 MovieClipUses:1342 1341Used by:1344
Symbol 1344 ButtonUses:1341 1342 1343Used by:1358 1359
Symbol 1345 GraphicUsed by:1347 1348
Symbol 1346 TextUses:220Used by:1347 1348
Symbol 1347 MovieClipUses:1346 1345Used by:1348
Symbol 1348 ButtonUses:1345 1346 1347Used by:1358 1359
Symbol 1349 GraphicUsed by:1351 1352
Symbol 1350 TextUses:220Used by:1351 1352
Symbol 1351 MovieClipUses:1350 1349Used by:1352
Symbol 1352 ButtonUses:1349 1350 1351Used by:1358 1359
Symbol 1353 GraphicUsed by:1355 1356
Symbol 1354 TextUses:220Used by:1355 1356
Symbol 1355 MovieClipUses:1354 1353Used by:1356
Symbol 1356 ButtonUses:1353 1354 1355Used by:1358 1359
Symbol 1357 GraphicUsed by:1358 1359
Symbol 1358 MovieClipUses:1344 1348 1352 1356 1357Used by:1359
Symbol 1359 ButtonUses:1358 1357 1356 1352 1348 1344Used by:1360
Symbol 1360 MovieClipUses:1359Used by:Timeline
Symbol 1361 GraphicUsed by:1376
Symbol 1362 GraphicUsed by:1366
Symbol 1363 TextUses:220Used by:1365 1366
Symbol 1364 GraphicUsed by:1365 1366
Symbol 1365 MovieClipUses:1363 1364Used by:1366
Symbol 1366 ButtonUses:1362 1363 1365 1364Used by:1376
Symbol 1367 GraphicUsed by:1370 1371
Symbol 1368 TextUses:220Used by:1371
Symbol 1369 TextUses:220Used by:1370 1371
Symbol 1370 MovieClipUses:1369 1367Used by:1371
Symbol 1371 ButtonUses:1367 1368 1370 1369Used by:1376
Symbol 1372 GraphicUsed by:1374 1375
Symbol 1373 TextUses:220Used by:1374 1375
Symbol 1374 MovieClipUses:1373 1372Used by:1375
Symbol 1375 ButtonUses:1372 1373 1374Used by:1376
Symbol 1376 ButtonUses:1361 1366 1371 1375Used by:1377
Symbol 1377 MovieClipUses:1376Used by:Timeline
Symbol 1378 GraphicUsed by:1460
Symbol 1379 GraphicUsed by:1458
Symbol 1380 GraphicUsed by:1458
Symbol 1381 GraphicUsed by:1458
Symbol 1382 GraphicUsed by:1458
Symbol 1383 GraphicUsed by:1458
Symbol 1384 GraphicUsed by:1458
Symbol 1385 GraphicUsed by:1458
Symbol 1386 GraphicUsed by:1458
Symbol 1387 GraphicUsed by:1458
Symbol 1388 GraphicUsed by:1458
Symbol 1389 GraphicUsed by:1458
Symbol 1390 GraphicUsed by:1458
Symbol 1391 GraphicUsed by:1458
Symbol 1392 GraphicUsed by:1458
Symbol 1393 GraphicUsed by:1458
Symbol 1394 GraphicUsed by:1458
Symbol 1395 GraphicUsed by:1458
Symbol 1396 GraphicUsed by:1458
Symbol 1397 GraphicUsed by:1458
Symbol 1398 GraphicUsed by:1458
Symbol 1399 GraphicUsed by:1458
Symbol 1400 GraphicUsed by:1458
Symbol 1401 GraphicUsed by:1458
Symbol 1402 GraphicUsed by:1458
Symbol 1403 GraphicUsed by:1458
Symbol 1404 GraphicUsed by:1458
Symbol 1405 GraphicUsed by:1458
Symbol 1406 GraphicUsed by:1458
Symbol 1407 GraphicUsed by:1458
Symbol 1408 GraphicUsed by:1458
Symbol 1409 GraphicUsed by:1458
Symbol 1410 GraphicUsed by:1458
Symbol 1411 GraphicUsed by:1458
Symbol 1412 GraphicUsed by:1458
Symbol 1413 GraphicUsed by:1458
Symbol 1414 GraphicUsed by:1458
Symbol 1415 GraphicUsed by:1458
Symbol 1416 GraphicUsed by:1458
Symbol 1417 GraphicUsed by:1458
Symbol 1418 GraphicUsed by:1458
Symbol 1419 GraphicUsed by:1458
Symbol 1420 GraphicUsed by:1458
Symbol 1421 GraphicUsed by:1458
Symbol 1422 GraphicUsed by:1458
Symbol 1423 GraphicUsed by:1458
Symbol 1424 GraphicUsed by:1458
Symbol 1425 GraphicUsed by:1458
Symbol 1426 GraphicUsed by:1458
Symbol 1427 GraphicUsed by:1458
Symbol 1428 GraphicUsed by:1458
Symbol 1429 GraphicUsed by:1458
Symbol 1430 GraphicUsed by:1458
Symbol 1431 GraphicUsed by:1458
Symbol 1432 GraphicUsed by:1458
Symbol 1433 GraphicUsed by:1458
Symbol 1434 GraphicUsed by:1458
Symbol 1435 GraphicUsed by:1458
Symbol 1436 GraphicUsed by:1458
Symbol 1437 GraphicUsed by:1458
Symbol 1438 GraphicUsed by:1458
Symbol 1439 GraphicUsed by:1458
Symbol 1440 GraphicUsed by:1458
Symbol 1441 GraphicUsed by:1458
Symbol 1442 GraphicUsed by:1458
Symbol 1443 GraphicUsed by:1458
Symbol 1444 GraphicUsed by:1458
Symbol 1445 GraphicUsed by:1458
Symbol 1446 GraphicUsed by:1458
Symbol 1447 GraphicUsed by:1458
Symbol 1448 GraphicUsed by:1458
Symbol 1449 GraphicUsed by:1458
Symbol 1450 GraphicUsed by:1458
Symbol 1451 GraphicUsed by:1458
Symbol 1452 GraphicUsed by:1458
Symbol 1453 GraphicUsed by:1458
Symbol 1454 GraphicUsed by:1458
Symbol 1455 GraphicUsed by:1458
Symbol 1456 GraphicUsed by:1458
Symbol 1457 GraphicUsed by:1458
Symbol 1458 MovieClipUses:1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457Used by:1460  Timeline
Symbol 1459 GraphicUsed by:1460
Symbol 1460 ButtonUses:1378 1458 1459Used by:Timeline
Symbol 1461 TextUses:220Used by:1462
Symbol 1462 ButtonUses:1461 744Used by:Timeline
Symbol 1463 TextUses:220Used by:1464
Symbol 1464 ButtonUses:1463 744Used by:Timeline
Symbol 1465 TextUses:220Used by:1466
Symbol 1466 ButtonUses:1465 744Used by:Timeline
Symbol 1467 GraphicUsed by:1470
Symbol 1468 TextUses:220Used by:1470
Symbol 1469 GraphicUsed by:1470
Symbol 1470 ButtonUses:1467 1468 1469Used by:Timeline
Symbol 1471 GraphicUsed by:1473
Symbol 1472 TextUses:220Used by:1473 1485
Symbol 1473 ButtonUses:1471 1472Used by:1487
Symbol 1474 GraphicUsed by:1475
Symbol 1475 ButtonUses:1474Used by:1487
Symbol 1476 GraphicUsed by:1479
Symbol 1477 TextUses:220Used by:1479
Symbol 1478 GraphicUsed by:1479
Symbol 1479 ButtonUses:1476 1477 1478Used by:1487
Symbol 1480 GraphicUsed by:1483
Symbol 1481 TextUses:220Used by:1483
Symbol 1482 GraphicUsed by:1483
Symbol 1483 ButtonUses:1480 1481 1482Used by:1487
Symbol 1484 GraphicUsed by:1485
Symbol 1485 ButtonUses:1484 1472Used by:1487
Symbol 1486 GraphicUsed by:1487
Symbol 1487 MovieClipUses:1473 1475 1479 1483 1485 1486Used by:Timeline
Symbol 1488 GraphicUsed by:1491
Symbol 1489 TextUses:220Used by:1491 1504
Symbol 1490 GraphicUsed by:1491
Symbol 1491 ButtonUses:1488 1489 1490Used by:1507
Symbol 1492 GraphicUsed by:1493
Symbol 1493 ButtonUses:1492Used by:1507
Symbol 1494 GraphicUsed by:1505
Symbol 1495 GraphicUsed by:1498
Symbol 1496 TextUses:220Used by:1498
Symbol 1497 GraphicUsed by:1498
Symbol 1498 ButtonUses:1495 1496 1497Used by:1505
Symbol 1499 GraphicUsed by:1502
Symbol 1500 TextUses:220Used by:1502
Symbol 1501 GraphicUsed by:1502
Symbol 1502 ButtonUses:1499 1500 1501Used by:1505
Symbol 1503 GraphicUsed by:1504
Symbol 1504 ButtonUses:1503 1489Used by:1505
Symbol 1505 ButtonUses:1494 1498 1502 1504Used by:1507
Symbol 1506 GraphicUsed by:1507
Symbol 1507 MovieClipUses:1491 1493 1505 1506Used by:Timeline
Symbol 1508 GraphicUsed by:1511
Symbol 1509 TextUses:220Used by:1511
Symbol 1510 GraphicUsed by:1511
Symbol 1511 ButtonUses:1508 1509 1510Used by:Timeline
Symbol 1512 GraphicUsed by:1514
Symbol 1513 TextUses:220Used by:1514 1536 1541
Symbol 1514 ButtonUses:1512 1513Used by:1542
Symbol 1515 GraphicUsed by:1516
Symbol 1516 ButtonUses:1515Used by:1542
Symbol 1517 GraphicUsed by:1536
Symbol 1518 GraphicUsed by:1521 1538
Symbol 1519 TextUses:220Used by:1521 1538
Symbol 1520 GraphicUsed by:1521 1538
Symbol 1521 ButtonUses:1518 1519 1520Used by:1536
Symbol 1522 GraphicUsed by:1525 1539
Symbol 1523 TextUses:220Used by:1525 1539
Symbol 1524 GraphicUsed by:1525 1539
Symbol 1525 ButtonUses:1522 1523 1524Used by:1536
Symbol 1526 GraphicUsed by:1535
Symbol 1527 GraphicUsed by:1530 1540
Symbol 1528 TextUses:220Used by:1530 1540
Symbol 1529 GraphicUsed by:1530 1540
Symbol 1530 ButtonUses:1527 1528 1529Used by:1535
Symbol 1531 GraphicUsed by:1534
Symbol 1532 TextUses:220Used by:1534
Symbol 1533 GraphicUsed by:1534
Symbol 1534 ButtonUses:1531 1532 1533Used by:1535
Symbol 1535 ButtonUses:1526 1530 1534Used by:1536
Symbol 1536 ButtonUses:1517 1521 1525 1513 1535Used by:1541
Symbol 1537 GraphicUsed by:1541
Symbol 1538 ButtonUses:1518 1519 1520Used by:1541
Symbol 1539 ButtonUses:1522 1523 1524Used by:1541
Symbol 1540 ButtonUses:1527 1528 1529Used by:1541
Symbol 1541 ButtonUses:1536 1537 1538 1539 1540 1513Used by:1542
Symbol 1542 MovieClipUses:1514 1516 1541Used by:Timeline
Symbol 1543 GraphicUsed by:1548 1739 3799 5639
Symbol 1544 TextUses:220Used by:1548 1739 3799 5639
Symbol 1545 GraphicUsed by:1548 1738 1739 3799 5639
Symbol 1546 TextUses:220Used by:1548 1739 3799 5639
Symbol 1547 TextUses:220Used by:1548 1739 3799 5639
Symbol 1548 ButtonUses:1543 1544 1545 1546 1547Used by:Timeline
Symbol 1549 TextUses:220Used by:1551
Symbol 1550 GraphicUsed by:1551
Symbol 1551 ButtonUses:1549 1550Used by:Timeline
Symbol 1552 GraphicUsed by:1556 1559 1561 1564 1567 1570 1573 1575 1577 1579 1585
Symbol 1553 TextUses:220Used by:1554 2665
Symbol 1554 ButtonUses:1553Used by:1556
Symbol 1555 GraphicUsed by:1556 1559 1561 1564 1567 1570 1573 1575 1577 1579 1585
Symbol 1556 ButtonUses:1552 1554 1555Used by:Timeline
Symbol 1557 TextUses:220Used by:1558 2669
Symbol 1558 ButtonUses:1557Used by:1559
Symbol 1559 ButtonUses:1552 1558 1555Used by:Timeline
Symbol 1560 TextUses:220Used by:1561
Symbol 1561 ButtonUses:1552 1560 1555Used by:Timeline
Symbol 1562 TextUses:220Used by:1563
Symbol 1563 ButtonUses:1562Used by:1564
Symbol 1564 ButtonUses:1552 1563 1555Used by:Timeline
Symbol 1565 TextUses:220Used by:1566
Symbol 1566 ButtonUses:1565Used by:1567
Symbol 1567 ButtonUses:1552 1566 1555Used by:Timeline
Symbol 1568 TextUses:220Used by:1569
Symbol 1569 ButtonUses:1568Used by:1570
Symbol 1570 ButtonUses:1552 1569 1555Used by:Timeline
Symbol 1571 TextUses:220Used by:1572
Symbol 1572 ButtonUses:1571Used by:1573
Symbol 1573 ButtonUses:1552 1572 1555Used by:Timeline
Symbol 1574 TextUses:220Used by:1575 2299  Timeline
Symbol 1575 ButtonUses:1552 1574 1555Used by:Timeline
Symbol 1576 TextUses:220Used by:1577
Symbol 1577 ButtonUses:1552 1576 1555Used by:Timeline
Symbol 1578 TextUses:220Used by:1579
Symbol 1579 ButtonUses:1552 1578 1555Used by:Timeline
Symbol 1580 GraphicUsed by:1583
Symbol 1581 TextUses:220Used by:1583
Symbol 1582 GraphicUsed by:1583
Symbol 1583 ButtonUses:1580 1581 1582Used by:Timeline
Symbol 1584 TextUses:220Used by:1585
Symbol 1585 ButtonUses:1552 1584 1555Used by:Timeline
Symbol 1586 TextUses:220Used by:1589
Symbol 1587 TextUses:220Used by:1589
Symbol 1588 GraphicUsed by:1589 5124 5126 5128 5130 5132 5139 5141 5143 5145 5147 5149 5183 5185 5187 5207 5209 5211 5213 5222 5224 5226 5236 5238 5239 5241 5243 5245
Symbol 1589 ButtonUses:1586 1587 1588Used by:Timeline
Symbol 1590 TextUses:220Used by:1593
Symbol 1591 TextUses:220Used by:1593
Symbol 1592 GraphicUsed by:1593 1599 3665 3670 3675 4369 4373 4378 4382 4386 4390 5154 5156 5158 5160 5168 5170 5177 5179 5194 5196 5198 5200
Symbol 1593 ButtonUses:1590 1591 1592Used by:Timeline
Symbol 1594 TextUses:220Used by:1597
Symbol 1595 TextUses:220Used by:1597
Symbol 1596 GraphicUsed by:1597
Symbol 1597 ButtonUses:1594 1595 1596Used by:Timeline
Symbol 1598 TextUses:220Used by:1599
Symbol 1599 ButtonUses:1598 1592Used by:Timeline
Symbol 1600 GraphicUsed by:1601
Symbol 1601 MovieClipUses:1600Used by:1602
Symbol 1602 MovieClipUses:1601Used by:Timeline
Symbol 1603 TextUses:220Used by:1607
Symbol 1604 TextUses:220Used by:1607
Symbol 1605 TextUses:220Used by:1607
Symbol 1606 GraphicUsed by:1607
Symbol 1607 ButtonUses:1603 1604 1605 1606Used by:1624
Symbol 1608 TextUses:220Used by:1612
Symbol 1609 TextUses:220Used by:1612
Symbol 1610 TextUses:220Used by:1612
Symbol 1611 GraphicUsed by:1612
Symbol 1612 ButtonUses:1608 1609 1610 1611Used by:1624
Symbol 1613 TextUses:220Used by:1617
Symbol 1614 TextUses:220Used by:1617
Symbol 1615 TextUses:220Used by:1617
Symbol 1616 GraphicUsed by:1617
Symbol 1617 ButtonUses:1613 1614 1615 1616Used by:1624
Symbol 1618 TextUses:220Used by:1622
Symbol 1619 TextUses:220Used by:1622
Symbol 1620 TextUses:220Used by:1622
Symbol 1621 GraphicUsed by:1622
Symbol 1622 ButtonUses:1618 1619 1620 1621Used by:1624
Symbol 1623 EditableTextUses:1178Used by:1624
Symbol 1624 MovieClipUses:1607 1612 1617 1622 1623 1246Used by:Timeline
Symbol 1625 TextUses:220Used by:Timeline
Symbol 1626 TextUses:220Used by:Timeline
Symbol 1627 TextUses:220Used by:Timeline
Symbol 1628 BitmapUsed by:1629
Symbol 1629 GraphicUses:1628Used by:Timeline
Symbol 1630 GraphicUsed by:1632
Symbol 1631 GraphicUsed by:1632
Symbol 1632 ButtonUses:1630 1631Used by:Timeline
Symbol 1633 BitmapUsed by:1635
Symbol 1634 BitmapUsed by:1635
Symbol 1635 GraphicUses:1633 1634Used by:Timeline
Symbol 1636 TextUses:220Used by:Timeline
Symbol 1637 BitmapUsed by:1638
Symbol 1638 GraphicUses:1637Used by:Timeline
Symbol 1639 TextUses:220Used by:4203  Timeline
Symbol 1640 GraphicUsed by:1643
Symbol 1641 GraphicUsed by:1642 1643
Symbol 1642 MovieClipUses:1641Used by:1643
Symbol 1643 ButtonUses:1640 1641 1642Used by:Timeline
Symbol 1644 TextUses:220Used by:Timeline
Symbol 1645 BitmapUsed by:1646
Symbol 1646 GraphicUses:1645Used by:Timeline
Symbol 1647 TextUses:220Used by:Timeline
Symbol 1648 BitmapUsed by:1649
Symbol 1649 GraphicUses:1648Used by:Timeline
Symbol 1650 TextUses:220Used by:Timeline
Symbol 1651 TextUses:220Used by:Timeline
Symbol 1652 BitmapUsed by:1654
Symbol 1653 BitmapUsed by:1654
Symbol 1654 GraphicUses:1652 1653Used by:Timeline
Symbol 1655 TextUses:220Used by:Timeline
Symbol 1656 BitmapUsed by:1658
Symbol 1657 BitmapUsed by:1658
Symbol 1658 GraphicUses:1656 1657Used by:Timeline
Symbol 1659 TextUses:220Used by:Timeline
Symbol 1660 TextUses:220Used by:Timeline
Symbol 1661 TextUses:220Used by:Timeline
Symbol 1662 BitmapUsed by:1663
Symbol 1663 GraphicUses:1662Used by:Timeline
Symbol 1664 TextUses:220Used by:Timeline
Symbol 1665 TextUses:220Used by:Timeline
Symbol 1666 BitmapUsed by:1667
Symbol 1667 GraphicUses:1666Used by:Timeline
Symbol 1668 TextUses:220Used by:Timeline
Symbol 1669 TextUses:220Used by:Timeline
Symbol 1670 TextUses:220Used by:Timeline
Symbol 1671 TextUses:220Used by:Timeline
Symbol 1672 TextUses:220Used by:Timeline
Symbol 1673 TextUses:220Used by:Timeline
Symbol 1674 TextUses:220Used by:Timeline
Symbol 1675 TextUses:220Used by:Timeline
Symbol 1676 TextUses:220Used by:Timeline
Symbol 1677 TextUses:220Used by:Timeline
Symbol 1678 TextUses:220Used by:Timeline
Symbol 1679 TextUses:220Used by:Timeline
Symbol 1680 TextUses:220Used by:Timeline
Symbol 1681 BitmapUsed by:1682
Symbol 1682 GraphicUses:1681Used by:Timeline
Symbol 1683 TextUses:220Used by:Timeline
Symbol 1684 TextUses:220Used by:Timeline
Symbol 1685 BitmapUsed by:1686
Symbol 1686 GraphicUses:1685Used by:Timeline
Symbol 1687 TextUses:220Used by:Timeline
Symbol 1688 TextUses:220Used by:Timeline
Symbol 1689 BitmapUsed by:1690
Symbol 1690 GraphicUses:1689Used by:Timeline
Symbol 1691 TextUses:220Used by:Timeline
Symbol 1692 TextUses:220Used by:Timeline
Symbol 1693 BitmapUsed by:1694
Symbol 1694 GraphicUses:1693Used by:Timeline
Symbol 1695 TextUses:220Used by:Timeline
Symbol 1696 TextUses:220Used by:Timeline
Symbol 1697 BitmapUsed by:1698
Symbol 1698 GraphicUses:1697Used by:Timeline
Symbol 1699 TextUses:220Used by:Timeline
Symbol 1700 BitmapUsed by:1701
Symbol 1701 GraphicUses:1700Used by:Timeline
Symbol 1702 TextUses:220Used by:Timeline
Symbol 1703 BitmapUsed by:1704
Symbol 1704 GraphicUses:1703Used by:Timeline
Symbol 1705 TextUses:220Used by:Timeline
Symbol 1706 TextUses:220Used by:Timeline
Symbol 1707 BitmapUsed by:1708
Symbol 1708 GraphicUses:1707Used by:Timeline
Symbol 1709 TextUses:220Used by:Timeline
Symbol 1710 BitmapUsed by:1711
Symbol 1711 GraphicUses:1710Used by:Timeline
Symbol 1712 TextUses:220Used by:Timeline
Symbol 1713 TextUses:220Used by:Timeline
Symbol 1714 TextUses:220Used by:Timeline
Symbol 1715 BitmapUsed by:1716
Symbol 1716 GraphicUses:1715Used by:Timeline
Symbol 1717 TextUses:220Used by:Timeline
Symbol 1718 TextUses:220Used by:Timeline
Symbol 1719 BitmapUsed by:1720
Symbol 1720 GraphicUses:1719Used by:Timeline
Symbol 1721 TextUses:220Used by:Timeline
Symbol 1722 TextUses:220Used by:Timeline
Symbol 1723 BitmapUsed by:1725
Symbol 1724 BitmapUsed by:1725
Symbol 1725 GraphicUses:1723 1724Used by:Timeline
Symbol 1726 TextUses:220Used by:Timeline
Symbol 1727 BitmapUsed by:1728
Symbol 1728 GraphicUses:1727Used by:Timeline
Symbol 1729 TextUses:220Used by:Timeline
Symbol 1730 TextUses:220Used by:Timeline
Symbol 1731 TextUses:220Used by:Timeline
Symbol 1732 BitmapUsed by:1734
Symbol 1733 BitmapUsed by:1734
Symbol 1734 GraphicUses:1732 1733Used by:Timeline
Symbol 1735 TextUses:220Used by:Timeline
Symbol 1736 GraphicUsed by:1738
Symbol 1737 TextUses:220Used by:1738
Symbol 1738 ButtonUses:1736 1737 1545Used by:Timeline
Symbol 1739 ButtonUses:1543 1544 1545 1546 1547Used by:Timeline
Symbol 1740 GraphicUsed by:Timeline
Symbol 1741 TextUses:220Used by:Timeline
Symbol 1742 BitmapUsed by:1743
Symbol 1743 GraphicUses:1742Used by:Timeline
Symbol 1744 TextUses:220Used by:Timeline
Symbol 1745 TextUses:220Used by:Timeline
Symbol 1746 TextUses:220Used by:Timeline
Symbol 1747 TextUses:220Used by:Timeline
Symbol 1748 TextUses:220Used by:Timeline
Symbol 1749 GraphicUsed by:3979 3980 3993 3994 3995 4028 4312 4767  Timeline
Symbol 1750 TextUses:220Used by:Timeline
Symbol 1751 TextUses:220Used by:Timeline
Symbol 1752 BitmapUsed by:1753
Symbol 1753 GraphicUses:1752Used by:Timeline
Symbol 1754 BitmapUsed by:1755
Symbol 1755 GraphicUses:1754Used by:Timeline
Symbol 1756 TextUses:220Used by:Timeline
Symbol 1757 TextUses:220Used by:Timeline
Symbol 1758 BitmapUsed by:1760
Symbol 1759 BitmapUsed by:1760
Symbol 1760 GraphicUses:1758 1759Used by:Timeline
Symbol 1761 TextUses:220Used by:Timeline
Symbol 1762 BitmapUsed by:1764
Symbol 1763 BitmapUsed by:1764
Symbol 1764 GraphicUses:1762 1763Used by:Timeline
Symbol 1765 TextUses:220Used by:Timeline
Symbol 1766 BitmapUsed by:1768
Symbol 1767 BitmapUsed by:1768
Symbol 1768 GraphicUses:1766 1767Used by:Timeline
Symbol 1769 TextUses:220Used by:Timeline
Symbol 1770 TextUses:220Used by:Timeline
Symbol 1771 BitmapUsed by:1773
Symbol 1772 BitmapUsed by:1773
Symbol 1773 GraphicUses:1771 1772Used by:Timeline
Symbol 1774 TextUses:220Used by:Timeline
Symbol 1775 BitmapUsed by:1776
Symbol 1776 GraphicUses:1775Used by:Timeline
Symbol 1777 TextUses:220Used by:Timeline
Symbol 1778 BitmapUsed by:1779
Symbol 1779 GraphicUses:1778Used by:Timeline
Symbol 1780 TextUses:220Used by:Timeline
Symbol 1781 TextUses:220Used by:Timeline
Symbol 1782 BitmapUsed by:1783
Symbol 1783 GraphicUses:1782Used by:Timeline
Symbol 1784 TextUses:220Used by:Timeline
Symbol 1785 BitmapUsed by:1786
Symbol 1786 GraphicUses:1785Used by:Timeline
Symbol 1787 TextUses:220Used by:Timeline
Symbol 1788 TextUses:220Used by:Timeline
Symbol 1789 BitmapUsed by:1791 1883
Symbol 1790 BitmapUsed by:1791 1883
Symbol 1791 GraphicUses:1789 1790Used by:Timeline
Symbol 1792 TextUses:220Used by:Timeline
Symbol 1793 TextUses:220Used by:Timeline
Symbol 1794 BitmapUsed by:1795
Symbol 1795 GraphicUses:1794Used by:Timeline
Symbol 1796 TextUses:220Used by:Timeline
Symbol 1797 TextUses:220Used by:Timeline
Symbol 1798 BitmapUsed by:1799
Symbol 1799 GraphicUses:1798Used by:Timeline
Symbol 1800 TextUses:220Used by:Timeline
Symbol 1801 BitmapUsed by:1802
Symbol 1802 GraphicUses:1801Used by:Timeline
Symbol 1803 TextUses:220Used by:Timeline
Symbol 1804 TextUses:220Used by:Timeline
Symbol 1805 BitmapUsed by:1806
Symbol 1806 GraphicUses:1805Used by:Timeline
Symbol 1807 TextUses:220Used by:Timeline
Symbol 1808 TextUses:220Used by:Timeline
Symbol 1809 BitmapUsed by:1810
Symbol 1810 GraphicUses:1809Used by:Timeline
Symbol 1811 TextUses:220Used by:Timeline
Symbol 1812 BitmapUsed by:1813
Symbol 1813 GraphicUses:1812Used by:Timeline
Symbol 1814 TextUses:220Used by:Timeline
Symbol 1815 BitmapUsed by:1816
Symbol 1816 GraphicUses:1815Used by:Timeline
Symbol 1817 TextUses:220Used by:Timeline
Symbol 1818 TextUses:220Used by:Timeline
Symbol 1819 BitmapUsed by:1821
Symbol 1820 BitmapUsed by:1821
Symbol 1821 GraphicUses:1819 1820Used by:Timeline
Symbol 1822 TextUses:220Used by:Timeline
Symbol 1823 BitmapUsed by:1824
Symbol 1824 GraphicUses:1823Used by:Timeline
Symbol 1825 TextUses:220Used by:Timeline
Symbol 1826 TextUses:220Used by:Timeline
Symbol 1827 BitmapUsed by:1828
Symbol 1828 GraphicUses:1827Used by:Timeline
Symbol 1829 TextUses:220Used by:Timeline
Symbol 1830 BitmapUsed by:1831
Symbol 1831 GraphicUses:1830Used by:Timeline
Symbol 1832 TextUses:220Used by:Timeline
Symbol 1833 TextUses:220Used by:Timeline
Symbol 1834 BitmapUsed by:1835
Symbol 1835 GraphicUses:1834Used by:Timeline
Symbol 1836 TextUses:220Used by:Timeline
Symbol 1837 BitmapUsed by:1838
Symbol 1838 GraphicUses:1837Used by:Timeline
Symbol 1839 TextUses:220Used by:Timeline
Symbol 1840 EditableTextUses:220 736 3479Used by:Timeline
Symbol 1841 EditableTextUses:220 736 3479Used by:Timeline
Symbol 1842 EditableTextUses:220 736 3479Used by:Timeline
Symbol 1843 EditableTextUses:220 736 3479Used by:Timeline
Symbol 1844 EditableTextUses:220 736 3479Used by:Timeline
Symbol 1845 TextUses:220Used by:Timeline
Symbol 1846 TextUses:220Used by:Timeline
Symbol 1847 TextUses:220Used by:Timeline
Symbol 1848 TextUses:220Used by:Timeline
Symbol 1849 BitmapUsed by:1851
Symbol 1850 BitmapUsed by:1851
Symbol 1851 GraphicUses:1849 1850Used by:Timeline
Symbol 1852 TextUses:220Used by:Timeline
Symbol 1853 BitmapUsed by:1854
Symbol 1854 GraphicUses:1853Used by:Timeline
Symbol 1855 TextUses:220Used by:Timeline
Symbol 1856 TextUses:220Used by:Timeline
Symbol 1857 BitmapUsed by:1858
Symbol 1858 GraphicUses:1857Used by:Timeline
Symbol 1859 TextUses:220Used by:Timeline
Symbol 1860 BitmapUsed by:1861
Symbol 1861 GraphicUses:1860Used by:Timeline
Symbol 1862 TextUses:220Used by:Timeline
Symbol 1863 TextUses:220Used by:Timeline
Symbol 1864 BitmapUsed by:1868
Symbol 1865 BitmapUsed by:1868
Symbol 1866 BitmapUsed by:1868
Symbol 1867 BitmapUsed by:1868
Symbol 1868 GraphicUses:1864 1865 1866 1867Used by:Timeline
Symbol 1869 TextUses:220Used by:Timeline
Symbol 1870 TextUses:220Used by:Timeline
Symbol 1871 TextUses:220Used by:Timeline
Symbol 1872 TextUses:220Used by:Timeline
Symbol 1873 BitmapUsed by:1874
Symbol 1874 GraphicUses:1873Used by:Timeline
Symbol 1875 TextUses:220Used by:Timeline
Symbol 1876 TextUses:220Used by:Timeline
Symbol 1877 BitmapUsed by:1878
Symbol 1878 GraphicUses:1877Used by:Timeline
Symbol 1879 TextUses:220Used by:Timeline
Symbol 1880 BitmapUsed by:1881
Symbol 1881 GraphicUses:1880Used by:Timeline
Symbol 1882 TextUses:220Used by:Timeline
Symbol 1883 GraphicUses:1789 1790Used by:Timeline
Symbol 1884 TextUses:220Used by:Timeline
Symbol 1885 TextUses:220Used by:Timeline
Symbol 1886 BitmapUsed by:1888
Symbol 1887 BitmapUsed by:1888
Symbol 1888 GraphicUses:1886 1887Used by:Timeline
Symbol 1889 TextUses:220Used by:Timeline
Symbol 1890 TextUses:220Used by:Timeline
Symbol 1891 GraphicUsed by:1970
Symbol 1892 GraphicUsed by:1970
Symbol 1893 GraphicUsed by:1970
Symbol 1894 GraphicUsed by:1970
Symbol 1895 GraphicUsed by:1970
Symbol 1896 GraphicUsed by:1970
Symbol 1897 GraphicUsed by:1970
Symbol 1898 GraphicUsed by:1970
Symbol 1899 GraphicUsed by:1970
Symbol 1900 GraphicUsed by:1970
Symbol 1901 GraphicUsed by:1970
Symbol 1902 GraphicUsed by:1970
Symbol 1903 GraphicUsed by:1970
Symbol 1904 GraphicUsed by:1970
Symbol 1905 GraphicUsed by:1970
Symbol 1906 GraphicUsed by:1970
Symbol 1907 GraphicUsed by:1970
Symbol 1908 GraphicUsed by:1970
Symbol 1909 GraphicUsed by:1970
Symbol 1910 GraphicUsed by:1970
Symbol 1911 GraphicUsed by:1970
Symbol 1912 GraphicUsed by:1970
Symbol 1913 GraphicUsed by:1970
Symbol 1914 GraphicUsed by:1970
Symbol 1915 GraphicUsed by:1970
Symbol 1916 GraphicUsed by:1970
Symbol 1917 GraphicUsed by:1970
Symbol 1918 GraphicUsed by:1970
Symbol 1919 GraphicUsed by:1970
Symbol 1920 GraphicUsed by:1970
Symbol 1921 GraphicUsed by:1970
Symbol 1922 GraphicUsed by:1970
Symbol 1923 GraphicUsed by:1970
Symbol 1924 GraphicUsed by:1970
Symbol 1925 GraphicUsed by:1970
Symbol 1926 GraphicUsed by:1970
Symbol 1927 GraphicUsed by:1970
Symbol 1928 GraphicUsed by:1970
Symbol 1929 GraphicUsed by:1970
Symbol 1930 GraphicUsed by:1970
Symbol 1931 GraphicUsed by:1970
Symbol 1932 GraphicUsed by:1970
Symbol 1933 GraphicUsed by:1970
Symbol 1934 GraphicUsed by:1970
Symbol 1935 GraphicUsed by:1970
Symbol 1936 GraphicUsed by:1970
Symbol 1937 GraphicUsed by:1970
Symbol 1938 GraphicUsed by:1970
Symbol 1939 GraphicUsed by:1970
Symbol 1940 GraphicUsed by:1970
Symbol 1941 GraphicUsed by:1970
Symbol 1942 GraphicUsed by:1970
Symbol 1943 GraphicUsed by:1970
Symbol 1944 GraphicUsed by:1970
Symbol 1945 GraphicUsed by:1970
Symbol 1946 GraphicUsed by:1970
Symbol 1947 GraphicUsed by:1970
Symbol 1948 GraphicUsed by:1970
Symbol 1949 GraphicUsed by:1970
Symbol 1950 GraphicUsed by:1970
Symbol 1951 GraphicUsed by:1970
Symbol 1952 GraphicUsed by:1970
Symbol 1953 GraphicUsed by:1970
Symbol 1954 GraphicUsed by:1970
Symbol 1955 GraphicUsed by:1970
Symbol 1956 GraphicUsed by:1970
Symbol 1957 GraphicUsed by:1970
Symbol 1958 GraphicUsed by:1970
Symbol 1959 GraphicUsed by:1970
Symbol 1960 GraphicUsed by:1970
Symbol 1961 GraphicUsed by:1970
Symbol 1962 GraphicUsed by:1970
Symbol 1963 GraphicUsed by:1970
Symbol 1964 GraphicUsed by:1970
Symbol 1965 GraphicUsed by:1970
Symbol 1966 GraphicUsed by:1970
Symbol 1967 GraphicUsed by:1970
Symbol 1968 GraphicUsed by:1970
Symbol 1969 GraphicUsed by:1970
Symbol 1970 MovieClipUses:1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969Used by:Timeline
Symbol 1971 TextUses:220Used by:Timeline
Symbol 1972 TextUses:220Used by:Timeline
Symbol 1973 TextUses:220Used by:Timeline
Symbol 1974 BitmapUsed by:1975
Symbol 1975 GraphicUses:1974Used by:Timeline
Symbol 1976 TextUses:220Used by:Timeline
Symbol 1977 TextUses:220Used by:Timeline
Symbol 1978 BitmapUsed by:1979
Symbol 1979 GraphicUses:1978Used by:Timeline
Symbol 1980 TextUses:220Used by:Timeline
Symbol 1981 BitmapUsed by:1982
Symbol 1982 GraphicUses:1981Used by:Timeline
Symbol 1983 BitmapUsed by:1984
Symbol 1984 GraphicUses:1983Used by:Timeline
Symbol 1985 TextUses:220Used by:Timeline
Symbol 1986 TextUses:220Used by:Timeline
Symbol 1987 TextUses:220Used by:Timeline
Symbol 1988 TextUses:220Used by:Timeline
Symbol 1989 BitmapUsed by:1991
Symbol 1990 BitmapUsed by:1991
Symbol 1991 GraphicUses:1989 1990Used by:Timeline
Symbol 1992 TextUses:220Used by:Timeline
Symbol 1993 BitmapUsed by:1995
Symbol 1994 BitmapUsed by:1995
Symbol 1995 GraphicUses:1993 1994Used by:Timeline
Symbol 1996 TextUses:220Used by:Timeline
Symbol 1997 TextUses:220Used by:Timeline
Symbol 1998 GraphicUsed by:Timeline
Symbol 1999 BitmapUsed by:2000
Symbol 2000 GraphicUses:1999Used by:Timeline
Symbol 2001 TextUses:220Used by:Timeline
Symbol 2002 BitmapUsed by:2003
Symbol 2003 GraphicUses:2002Used by:Timeline
Symbol 2004 TextUses:220Used by:Timeline
Symbol 2005 GraphicUsed by:Timeline
Symbol 2006 BitmapUsed by:2007
Symbol 2007 GraphicUses:2006Used by:Timeline
Symbol 2008 TextUses:220Used by:Timeline
Symbol 2009 GraphicUsed by:Timeline
Symbol 2010 BitmapUsed by:2011
Symbol 2011 GraphicUses:2010Used by:Timeline
Symbol 2012 TextUses:220Used by:Timeline
Symbol 2013 TextUses:220Used by:Timeline
Symbol 2014 TextUses:220Used by:Timeline
Symbol 2015 GraphicUsed by:2034
Symbol 2016 GraphicUsed by:2034
Symbol 2017 GraphicUsed by:2034
Symbol 2018 GraphicUsed by:2034
Symbol 2019 GraphicUsed by:2034
Symbol 2020 GraphicUsed by:2034
Symbol 2021 GraphicUsed by:2034
Symbol 2022 GraphicUsed by:2034
Symbol 2023 GraphicUsed by:2034
Symbol 2024 GraphicUsed by:2034
Symbol 2025 GraphicUsed by:2034
Symbol 2026 GraphicUsed by:2034
Symbol 2027 GraphicUsed by:2034
Symbol 2028 GraphicUsed by:2034
Symbol 2029 GraphicUsed by:2034
Symbol 2030 GraphicUsed by:2034
Symbol 2031 GraphicUsed by:2034
Symbol 2032 GraphicUsed by:2034
Symbol 2033 GraphicUsed by:2034
Symbol 2034 MovieClipUses:2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033Used by:Timeline
Symbol 2035 EditableTextUses:220 736 3479Used by:Timeline
Symbol 2036 EditableTextUses:220 736 3479Used by:Timeline
Symbol 2037 TextUses:220Used by:Timeline
Symbol 2038 TextUses:220Used by:Timeline
Symbol 2039 TextUses:220Used by:Timeline
Symbol 2040 TextUses:220Used by:Timeline
Symbol 2041 TextUses:220Used by:Timeline
Symbol 2042 BitmapUsed by:2044
Symbol 2043 BitmapUsed by:2044
Symbol 2044 GraphicUses:2042 2043Used by:Timeline
Symbol 2045 TextUses:220Used by:Timeline
Symbol 2046 BitmapUsed by:2047
Symbol 2047 GraphicUses:2046Used by:2048
Symbol 2048 MovieClipUses:2047Used by:Timeline
Symbol 2049 TextUses:220Used by:Timeline
Symbol 2050 BitmapUsed by:2051
Symbol 2051 GraphicUses:2050Used by:Timeline
Symbol 2052 TextUses:220Used by:Timeline
Symbol 2053 TextUses:220Used by:Timeline
Symbol 2054 TextUses:220Used by:Timeline
Symbol 2055 TextUses:220Used by:Timeline
Symbol 2056 TextUses:220Used by:Timeline
Symbol 2057 GraphicUsed by:Timeline
Symbol 2058 TextUses:220Used by:Timeline
Symbol 2059 TextUses:220Used by:Timeline
Symbol 2060 BitmapUsed by:2061
Symbol 2061 GraphicUses:2060Used by:Timeline
Symbol 2062 BitmapUsed by:2063
Symbol 2063 GraphicUses:2062Used by:Timeline
Symbol 2064 TextUses:220Used by:Timeline
Symbol 2065 BitmapUsed by:2066
Symbol 2066 GraphicUses:2065Used by:Timeline
Symbol 2067 TextUses:220Used by:Timeline
Symbol 2068 TextUses:220Used by:Timeline
Symbol 2069 TextUses:220Used by:Timeline
Symbol 2070 BitmapUsed by:2071
Symbol 2071 GraphicUses:2070Used by:2072
Symbol 2072 MovieClipUses:2071Used by:Timeline
Symbol 2073 TextUses:220Used by:Timeline
Symbol 2074 GraphicUsed by:Timeline
Symbol 2075 TextUses:220Used by:Timeline
Symbol 2076 BitmapUsed by:2077
Symbol 2077 GraphicUses:2076Used by:Timeline
Symbol 2078 TextUses:220Used by:Timeline
Symbol 2079 BitmapUsed by:2080
Symbol 2080 GraphicUses:2079Used by:Timeline
Symbol 2081 TextUses:220Used by:Timeline
Symbol 2082 BitmapUsed by:2083
Symbol 2083 GraphicUses:2082Used by:Timeline
Symbol 2084 TextUses:220Used by:Timeline
Symbol 2085 BitmapUsed by:2086
Symbol 2086 GraphicUses:2085Used by:Timeline
Symbol 2087 BitmapUsed by:2088
Symbol 2088 GraphicUses:2087Used by:2089
Symbol 2089 MovieClipUses:2088Used by:Timeline
Symbol 2090 BitmapUsed by:2091
Symbol 2091 GraphicUses:2090Used by:2092
Symbol 2092 MovieClipUses:2091Used by:Timeline
Symbol 2093 TextUses:220Used by:Timeline
Symbol 2094 BitmapUsed by:2095
Symbol 2095 GraphicUses:2094Used by:Timeline
Symbol 2096 TextUses:220Used by:Timeline
Symbol 2097 BitmapUsed by:2098
Symbol 2098 GraphicUses:2097Used by:Timeline
Symbol 2099 TextUses:220Used by:Timeline
Symbol 2100 BitmapUsed by:2101
Symbol 2101 GraphicUses:2100Used by:Timeline
Symbol 2102 TextUses:220Used by:Timeline
Symbol 2103 BitmapUsed by:2104
Symbol 2104 GraphicUses:2103Used by:Timeline
Symbol 2105 TextUses:220Used by:Timeline
Symbol 2106 TextUses:220Used by:Timeline
Symbol 2107 BitmapUsed by:2109
Symbol 2108 BitmapUsed by:2109
Symbol 2109 GraphicUses:2107 2108Used by:Timeline
Symbol 2110 TextUses:220Used by:Timeline
Symbol 2111 TextUses:220Used by:Timeline
Symbol 2112 BitmapUsed by:2114
Symbol 2113 BitmapUsed by:2114
Symbol 2114 GraphicUses:2112 2113Used by:Timeline
Symbol 2115 BitmapUsed by:2119
Symbol 2116 BitmapUsed by:2119
Symbol 2117 BitmapUsed by:2119
Symbol 2118 BitmapUsed by:2119
Symbol 2119 GraphicUses:2115 2116 2117 2118Used by:Timeline
Symbol 2120 TextUses:220Used by:Timeline
Symbol 2121 TextUses:220Used by:Timeline
Symbol 2122 BitmapUsed by:2124
Symbol 2123 BitmapUsed by:2124
Symbol 2124 GraphicUses:2122 2123Used by:Timeline
Symbol 2125 TextUses:220Used by:Timeline
Symbol 2126 TextUses:220Used by:Timeline
Symbol 2127 BitmapUsed by:2129
Symbol 2128 BitmapUsed by:2129
Symbol 2129 GraphicUses:2127 2128Used by:Timeline
Symbol 2130 BitmapUsed by:2131
Symbol 2131 GraphicUses:2130Used by:2132
Symbol 2132 MovieClipUses:2131Used by:Timeline
Symbol 2133 TextUses:220Used by:Timeline
Symbol 2134 TextUses:220Used by:Timeline
Symbol 2135 BitmapUsed by:2136
Symbol 2136 GraphicUses:2135Used by:Timeline
Symbol 2137 TextUses:220Used by:2142
Symbol 2138 GraphicUsed by:2142
Symbol 2139 TextUses:220Used by:2142
Symbol 2140 BitmapUsed by:2141
Symbol 2141 GraphicUses:2140Used by:2142
Symbol 2142 MovieClipUses:2137 2138 2139 2141Used by:Timeline
Symbol 2143 TextUses:220Used by:Timeline
Symbol 2144 BitmapUsed by:2145
Symbol 2145 GraphicUses:2144Used by:2146
Symbol 2146 MovieClipUses:2145Used by:Timeline
Symbol 2147 TextUses:220Used by:Timeline
Symbol 2148 BitmapUsed by:2149
Symbol 2149 GraphicUses:2148Used by:2150
Symbol 2150 MovieClipUses:2149Used by:Timeline
Symbol 2151 BitmapUsed by:2152
Symbol 2152 GraphicUses:2151Used by:2153
Symbol 2153 MovieClipUses:2152Used by:Timeline
Symbol 2154 TextUses:220Used by:Timeline
Symbol 2155 TextUses:220Used by:Timeline
Symbol 2156 TextUsed by:Timeline
Symbol 2157 BitmapUsed by:2158
Symbol 2158 GraphicUses:2157Used by:2159
Symbol 2159 MovieClipUses:2158Used by:Timeline
Symbol 2160 BitmapUsed by:2161
Symbol 2161 GraphicUses:2160Used by:2162
Symbol 2162 MovieClipUses:2161Used by:Timeline
Symbol 2163 TextUses:220Used by:Timeline
Symbol 2164 TextUses:220Used by:Timeline
Symbol 2165 TextUses:220Used by:Timeline
Symbol 2166 BitmapUsed by:2167
Symbol 2167 GraphicUses:2166Used by:2168
Symbol 2168 MovieClipUses:2167Used by:Timeline
Symbol 2169 BitmapUsed by:2170
Symbol 2170 GraphicUses:2169Used by:2171
Symbol 2171 MovieClipUses:2170Used by:Timeline
Symbol 2172 TextUses:220Used by:Timeline
Symbol 2173 TextUses:220Used by:Timeline
Symbol 2174 BitmapUsed by:2175
Symbol 2175 GraphicUses:2174Used by:2176
Symbol 2176 MovieClipUses:2175Used by:Timeline
Symbol 2177 TextUses:220Used by:Timeline
Symbol 2178 TextUses:220Used by:Timeline
Symbol 2179 BitmapUsed by:2180
Symbol 2180 GraphicUses:2179Used by:2181
Symbol 2181 MovieClipUses:2180Used by:Timeline
Symbol 2182 TextUses:220Used by:Timeline
Symbol 2183 TextUses:220Used by:Timeline
Symbol 2184 BitmapUsed by:2185
Symbol 2185 GraphicUses:2184Used by:2186
Symbol 2186 MovieClipUses:2185Used by:Timeline
Symbol 2187 TextUses:220Used by:Timeline
Symbol 2188 TextUses:220Used by:Timeline
Symbol 2189 BitmapUsed by:2190
Symbol 2190 GraphicUses:2189Used by:2191
Symbol 2191 MovieClipUses:2190Used by:Timeline
Symbol 2192 TextUses:220Used by:Timeline
Symbol 2193 TextUses:220Used by:Timeline
Symbol 2194 BitmapUsed by:2195
Symbol 2195 GraphicUses:2194Used by:Timeline
Symbol 2196 BitmapUsed by:2197
Symbol 2197 GraphicUses:2196Used by:2198
Symbol 2198 MovieClipUses:2197Used by:Timeline
Symbol 2199 TextUses:220Used by:Timeline
Symbol 2200 TextUses:220Used by:Timeline
Symbol 2201 TextUses:220Used by:Timeline
Symbol 2202 BitmapUsed by:2203
Symbol 2203 GraphicUses:2202Used by:Timeline
Symbol 2204 TextUses:220Used by:Timeline
Symbol 2205 TextUses:220Used by:Timeline
Symbol 2206 TextUses:220Used by:Timeline
Symbol 2207 BitmapUsed by:2208
Symbol 2208 GraphicUses:2207Used by:2209
Symbol 2209 MovieClipUses:2208Used by:Timeline
Symbol 2210 TextUses:220Used by:Timeline
Symbol 2211 BitmapUsed by:2212
Symbol 2212 GraphicUses:2211Used by:2213
Symbol 2213 MovieClipUses:2212Used by:Timeline
Symbol 2214 BitmapUsed by:2215
Symbol 2215 GraphicUses:2214Used by:2216
Symbol 2216 MovieClipUses:2215Used by:Timeline
Symbol 2217 TextUses:220Used by:Timeline
Symbol 2218 TextUses:220Used by:Timeline
Symbol 2219 BitmapUsed by:2220
Symbol 2220 GraphicUses:2219Used by:2221
Symbol 2221 MovieClipUses:2220Used by:Timeline
Symbol 2222 BitmapUsed by:2223
Symbol 2223 GraphicUses:2222Used by:2224
Symbol 2224 MovieClipUses:2223Used by:Timeline
Symbol 2225 BitmapUsed by:2226
Symbol 2226 GraphicUses:2225Used by:2227
Symbol 2227 MovieClipUses:2226Used by:Timeline
Symbol 2228 TextUses:220Used by:Timeline
Symbol 2229 TextUses:220Used by:Timeline
Symbol 2230 TextUses:220Used by:Timeline
Symbol 2231 BitmapUsed by:2232
Symbol 2232 GraphicUses:2231Used by:2233
Symbol 2233 MovieClipUses:2232Used by:Timeline
Symbol 2234 TextUses:220Used by:Timeline
Symbol 2235 TextUses:220Used by:Timeline
Symbol 2236 TextUses:220Used by:Timeline
Symbol 2237 BitmapUsed by:2238
Symbol 2238 GraphicUses:2237Used by:2239
Symbol 2239 MovieClipUses:2238Used by:Timeline
Symbol 2240 TextUses:220Used by:Timeline
Symbol 2241 BitmapUsed by:2242
Symbol 2242 GraphicUses:2241Used by:2243
Symbol 2243 MovieClipUses:2242Used by:Timeline
Symbol 2244 BitmapUsed by:2245
Symbol 2245 GraphicUses:2244Used by:2246
Symbol 2246 MovieClipUses:2245Used by:Timeline
Symbol 2247 TextUses:220Used by:Timeline
Symbol 2248 BitmapUsed by:2249
Symbol 2249 GraphicUses:2248Used by:2250
Symbol 2250 MovieClipUses:2249Used by:Timeline
Symbol 2251 TextUses:220Used by:Timeline
Symbol 2252 BitmapUsed by:2253
Symbol 2253 GraphicUses:2252Used by:2254
Symbol 2254 MovieClipUses:2253Used by:Timeline
Symbol 2255 TextUses:220Used by:Timeline
Symbol 2256 BitmapUsed by:2257
Symbol 2257 GraphicUses:2256Used by:2258
Symbol 2258 MovieClipUses:2257Used by:Timeline
Symbol 2259 BitmapUsed by:2260
Symbol 2260 GraphicUses:2259Used by:2261
Symbol 2261 MovieClipUses:2260Used by:Timeline
Symbol 2262 TextUses:220Used by:Timeline
Symbol 2263 TextUses:220Used by:Timeline
Symbol 2264 TextUses:220Used by:Timeline
Symbol 2265 BitmapUsed by:2266
Symbol 2266 GraphicUses:2265Used by:2267
Symbol 2267 MovieClipUses:2266Used by:Timeline
Symbol 2268 TextUses:220Used by:Timeline
Symbol 2269 TextUses:220Used by:4203  Timeline
Symbol 2270 BitmapUsed by:2271
Symbol 2271 GraphicUses:2270Used by:2272
Symbol 2272 MovieClipUses:2271Used by:Timeline
Symbol 2273 BitmapUsed by:2274
Symbol 2274 GraphicUses:2273Used by:2275
Symbol 2275 MovieClipUses:2274Used by:Timeline
Symbol 2276 TextUses:220Used by:Timeline
Symbol 2277 TextUses:220Used by:Timeline
Symbol 2278 BitmapUsed by:2279
Symbol 2279 GraphicUses:2278Used by:2280
Symbol 2280 MovieClipUses:2279Used by:Timeline
Symbol 2281 BitmapUsed by:2282
Symbol 2282 GraphicUses:2281Used by:2283
Symbol 2283 MovieClipUses:2282Used by:Timeline
Symbol 2284 TextUses:220Used by:Timeline
Symbol 2285 TextUses:220Used by:Timeline
Symbol 2286 TextUses:220Used by:2290
Symbol 2287 TextUses:220Used by:2290
Symbol 2288 TextUses:220Used by:2290
Symbol 2289 GraphicUsed by:2290
Symbol 2290 ButtonUses:2286 2287 2288 2289Used by:2302
Symbol 2291 TextUses:220Used by:2295
Symbol 2292 TextUses:220Used by:2295
Symbol 2293 TextUses:220Used by:2295
Symbol 2294 GraphicUsed by:2295
Symbol 2295 ButtonUses:2291 2292 2293 2294Used by:2302
Symbol 2296 TextUses:220Used by:2299
Symbol 2297 TextUses:220Used by:2299
Symbol 2298 GraphicUsed by:2299
Symbol 2299 ButtonUses:1574 2296 2297 2298Used by:2302
Symbol 2300 EditableTextUses:1178Used by:2302
Symbol 2301 GraphicUsed by:2302
Symbol 2302 MovieClipUses:2290 2295 2299 2300 2301Used by:Timeline
Symbol 2303 TextUses:220Used by:Timeline
Symbol 2304 BitmapUsed by:2305
Symbol 2305 GraphicUses:2304Used by:Timeline
Symbol 2306 TextUses:220Used by:Timeline
Symbol 2307 TextUses:220Used by:Timeline
Symbol 2308 BitmapUsed by:2309
Symbol 2309 GraphicUses:2308Used by:Timeline
Symbol 2310 TextUses:220Used by:Timeline
Symbol 2311 TextUses:220Used by:Timeline
Symbol 2312 BitmapUsed by:2313
Symbol 2313 GraphicUses:2312Used by:Timeline
Symbol 2314 TextUses:220Used by:Timeline
Symbol 2315 BitmapUsed by:2316
Symbol 2316 GraphicUses:2315Used by:Timeline
Symbol 2317 TextUses:220Used by:Timeline
Symbol 2318 BitmapUsed by:2319
Symbol 2319 GraphicUses:2318Used by:Timeline
Symbol 2320 TextUses:220Used by:Timeline
Symbol 2321 BitmapUsed by:2322
Symbol 2322 GraphicUses:2321Used by:Timeline
Symbol 2323 TextUses:220Used by:Timeline
Symbol 2324 TextUses:220Used by:Timeline
Symbol 2325 EditableTextUses:220 736 3479Used by:Timeline
Symbol 2326 EditableTextUses:220 736 3479Used by:Timeline
Symbol 2327 EditableTextUses:220 736 3479Used by:Timeline
Symbol 2328 TextUses:220Used by:Timeline
Symbol 2329 BitmapUsed by:2330
Symbol 2330 GraphicUses:2329Used by:Timeline
Symbol 2331 TextUses:220Used by:Timeline
Symbol 2332 TextUses:220Used by:Timeline
Symbol 2333 TextUses:220Used by:Timeline
Symbol 2334 TextUses:220Used by:Timeline
Symbol 2335 BitmapUsed by:2337
Symbol 2336 BitmapUsed by:2337
Symbol 2337 GraphicUses:2335 2336Used by:Timeline
Symbol 2338 TextUses:220Used by:Timeline
Symbol 2339 BitmapUsed by:2341
Symbol 2340 BitmapUsed by:2341
Symbol 2341 GraphicUses:2339 2340Used by:Timeline
Symbol 2342 TextUses:220Used by:Timeline
Symbol 2343 BitmapUsed by:2344
Symbol 2344 GraphicUses:2343Used by:Timeline
Symbol 2345 GraphicUsed by:2364
Symbol 2346 GraphicUsed by:2364
Symbol 2347 GraphicUsed by:2364
Symbol 2348 GraphicUsed by:2364
Symbol 2349 GraphicUsed by:2364
Symbol 2350 GraphicUsed by:2364
Symbol 2351 GraphicUsed by:2364
Symbol 2352 GraphicUsed by:2364
Symbol 2353 GraphicUsed by:2364
Symbol 2354 GraphicUsed by:2364
Symbol 2355 GraphicUsed by:2364
Symbol 2356 GraphicUsed by:2364
Symbol 2357 GraphicUsed by:2364
Symbol 2358 GraphicUsed by:2364
Symbol 2359 GraphicUsed by:2364
Symbol 2360 GraphicUsed by:2364
Symbol 2361 GraphicUsed by:2364
Symbol 2362 GraphicUsed by:2364
Symbol 2363 GraphicUsed by:2364
Symbol 2364 MovieClipUses:2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363Used by:Timeline
Symbol 2365 TextUses:220Used by:Timeline
Symbol 2366 TextUses:220Used by:Timeline
Symbol 2367 BitmapUsed by:2368
Symbol 2368 GraphicUses:2367Used by:Timeline
Symbol 2369 TextUses:220Used by:Timeline
Symbol 2370 BitmapUsed by:2371
Symbol 2371 GraphicUses:2370Used by:Timeline
Symbol 2372 TextUses:220Used by:Timeline
Symbol 2373 TextUses:220Used by:Timeline
Symbol 2374 TextUses:220Used by:Timeline
Symbol 2375 BitmapUsed by:2376
Symbol 2376 GraphicUses:2375Used by:Timeline
Symbol 2377 TextUses:220Used by:Timeline
Symbol 2378 BitmapUsed by:2379
Symbol 2379 GraphicUses:2378Used by:Timeline
Symbol 2380 TextUses:220Used by:Timeline
Symbol 2381 TextUses:220Used by:Timeline
Symbol 2382 TextUses:220Used by:Timeline
Symbol 2383 GraphicUsed by:2402
Symbol 2384 GraphicUsed by:2402
Symbol 2385 GraphicUsed by:2402
Symbol 2386 GraphicUsed by:2402
Symbol 2387 GraphicUsed by:2402
Symbol 2388 GraphicUsed by:2402
Symbol 2389 GraphicUsed by:2402
Symbol 2390 GraphicUsed by:2402
Symbol 2391 GraphicUsed by:2402
Symbol 2392 GraphicUsed by:2402
Symbol 2393 GraphicUsed by:2402
Symbol 2394 GraphicUsed by:2402
Symbol 2395 GraphicUsed by:2402
Symbol 2396 GraphicUsed by:2402
Symbol 2397 GraphicUsed by:2402
Symbol 2398 GraphicUsed by:2402
Symbol 2399 GraphicUsed by:2402
Symbol 2400 GraphicUsed by:2402
Symbol 2401 GraphicUsed by:2402
Symbol 2402 MovieClipUses:2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401Used by:Timeline
Symbol 2403 EditableTextUses:220 736 3479Used by:Timeline
Symbol 2404 EditableTextUses:220 736 3479Used by:Timeline
Symbol 2405 EditableTextUses:220 736 3479Used by:Timeline
Symbol 2406 EditableTextUses:220 736 3479Used by:Timeline
Symbol 2407 TextUses:220Used by:Timeline
Symbol 2408 BitmapUsed by:2409
Symbol 2409 GraphicUses:2408Used by:Timeline
Symbol 2410 TextUses:220Used by:Timeline
Symbol 2411 TextUses:220Used by:Timeline
Symbol 2412 BitmapUsed by:2413
Symbol 2413 GraphicUses:2412Used by:2414
Symbol 2414 MovieClipUses:2413Used by:Timeline
Symbol 2415 TextUses:220Used by:Timeline
Symbol 2416 BitmapUsed by:2417
Symbol 2417 GraphicUses:2416Used by:2418
Symbol 2418 MovieClipUses:2417Used by:Timeline
Symbol 2419 BitmapUsed by:2420
Symbol 2420 GraphicUses:2419Used by:2421
Symbol 2421 MovieClipUses:2420Used by:Timeline
Symbol 2422 TextUses:220Used by:Timeline
Symbol 2423 TextUses:220Used by:Timeline
Symbol 2424 BitmapUsed by:2425
Symbol 2425 GraphicUses:2424Used by:2426
Symbol 2426 MovieClipUses:2425Used by:Timeline
Symbol 2427 TextUses:220Used by:Timeline
Symbol 2428 TextUses:220Used by:Timeline
Symbol 2429 TextUses:220Used by:Timeline
Symbol 2430 TextUses:220Used by:Timeline
Symbol 2431 BitmapUsed by:2432
Symbol 2432 GraphicUses:2431Used by:Timeline
Symbol 2433 BitmapUsed by:2434
Symbol 2434 GraphicUses:2433Used by:2435
Symbol 2435 MovieClipUses:2434Used by:Timeline
Symbol 2436 TextUses:220Used by:Timeline
Symbol 2437 BitmapUsed by:2438
Symbol 2438 GraphicUses:2437Used by:2439
Symbol 2439 MovieClipUses:2438Used by:Timeline
Symbol 2440 TextUses:220Used by:Timeline
Symbol 2441 TextUses:220Used by:Timeline
Symbol 2442 BitmapUsed by:2443
Symbol 2443 GraphicUses:2442Used by:Timeline
Symbol 2444 TextUses:220Used by:Timeline
Symbol 2445 TextUses:220Used by:Timeline
Symbol 2446 BitmapUsed by:2447
Symbol 2447 GraphicUses:2446Used by:2448
Symbol 2448 MovieClipUses:2447Used by:Timeline
Symbol 2449 TextUses:220Used by:Timeline
Symbol 2450 BitmapUsed by:2451
Symbol 2451 GraphicUses:2450Used by:2452
Symbol 2452 MovieClipUses:2451Used by:2453
Symbol 2453 MovieClipUses:2452Used by:Timeline
Symbol 2454 TextUses:220Used by:Timeline
Symbol 2455 TextUses:220Used by:Timeline
Symbol 2456 TextUses:220Used by:Timeline
Symbol 2457 BitmapUsed by:2458
Symbol 2458 GraphicUses:2457Used by:Timeline
Symbol 2459 EditableTextUses:220 736 3479Used by:Timeline
Symbol 2460 EditableTextUses:220 736 3479Used by:Timeline
Symbol 2461 TextUses:220Used by:Timeline
Symbol 2462 TextUses:220Used by:2466
Symbol 2463 TextUses:220Used by:2466
Symbol 2464 TextUses:220Used by:2466
Symbol 2465 GraphicUsed by:2466
Symbol 2466 ButtonUses:2462 2463 2464 2465Used by:2473
Symbol 2467 TextUses:220Used by:2471
Symbol 2468 TextUses:220Used by:2471
Symbol 2469 TextUses:220Used by:2471
Symbol 2470 GraphicUsed by:2471
Symbol 2471 ButtonUses:2467 2468 2469 2470Used by:2473
Symbol 2472 EditableTextUses:1178Used by:2473
Symbol 2473 MovieClipUses:2466 2471 2472 1246Used by:Timeline
Symbol 2474 TextUses:220Used by:Timeline
Symbol 2475 TextUses:220Used by:Timeline
Symbol 2476 TextUses:220Used by:Timeline
Symbol 2477 BitmapUsed by:2478
Symbol 2478 GraphicUses:2477Used by:Timeline
Symbol 2479 TextUses:220Used by:Timeline
Symbol 2480 TextUses:220Used by:Timeline
Symbol 2481 TextUses:220Used by:Timeline
Symbol 2482 TextUses:220Used by:Timeline
Symbol 2483 TextUses:220Used by:Timeline
Symbol 2484 TextUses:220Used by:Timeline
Symbol 2485 GraphicUsed by:Timeline
Symbol 2486 BitmapUsed by:2487
Symbol 2487 GraphicUses:2486Used by:Timeline
Symbol 2488 TextUses:220Used by:Timeline
Symbol 2489 TextUses:220Used by:Timeline
Symbol 2490 EditableTextUses:220 736 3479Used by:Timeline
Symbol 2491 EditableTextUses:220 736 3479Used by:Timeline
Symbol 2492 TextUses:220Used by:Timeline
Symbol 2493 TextUses:220Used by:Timeline
Symbol 2494 BitmapUsed by:2495 2498 2502 2506 2510 2514 2518 2522 2526 2530
Symbol 2495 GraphicUses:2494Used by:Timeline
Symbol 2496 TextUses:220Used by:Timeline
Symbol 2497 TextUses:220Used by:Timeline
Symbol 2498 GraphicUses:2494Used by:2501
Symbol 2499 TextUses:220Used by:2501
Symbol 2500 GraphicUsed by:2501
Symbol 2501 ButtonUses:2498 2499 2500Used by:2531
Symbol 2502 GraphicUses:2494Used by:2505
Symbol 2503 TextUses:220Used by:2505
Symbol 2504 GraphicUsed by:2505
Symbol 2505 ButtonUses:2502 2503 2504Used by:2531
Symbol 2506 GraphicUses:2494Used by:2509
Symbol 2507 TextUses:220Used by:2509
Symbol 2508 GraphicUsed by:2509
Symbol 2509 ButtonUses:2506 2507 2508Used by:2531
Symbol 2510 GraphicUses:2494Used by:2513
Symbol 2511 TextUses:220Used by:2513
Symbol 2512 GraphicUsed by:2513
Symbol 2513 ButtonUses:2510 2511 2512Used by:2531
Symbol 2514 GraphicUses:2494Used by:2517
Symbol 2515 TextUses:220Used by:2517
Symbol 2516 GraphicUsed by:2517
Symbol 2517 ButtonUses:2514 2515 2516Used by:2531
Symbol 2518 GraphicUses:2494Used by:2521
Symbol 2519 TextUses:220Used by:2521
Symbol 2520 GraphicUsed by:2521
Symbol 2521 ButtonUses:2518 2519 2520Used by:2531
Symbol 2522 GraphicUses:2494Used by:2525
Symbol 2523 TextUses:220Used by:2525
Symbol 2524 GraphicUsed by:2525
Symbol 2525 ButtonUses:2522 2523 2524Used by:2531
Symbol 2526 GraphicUses:2494Used by:2529
Symbol 2527 TextUses:220Used by:2529
Symbol 2528 GraphicUsed by:2529
Symbol 2529 ButtonUses:2526 2527 2528Used by:2531
Symbol 2530 GraphicUses:2494Used by:2531
Symbol 2531 MovieClipUses:2501 2505 2509 2513 2517 2521 2525 2529 2530Used by:Timeline
Symbol 2532 TextUses:220Used by:Timeline
Symbol 2533 BitmapUsed by:2534
Symbol 2534 GraphicUses:2533Used by:Timeline
Symbol 2535 TextUses:220Used by:Timeline
Symbol 2536 TextUses:220Used by:Timeline
Symbol 2537 TextUses:220Used by:Timeline
Symbol 2538 GraphicUsed by:2539
Symbol 2539 MovieClipUses:2538Used by:Timeline
Symbol 2540 BitmapUsed by:2541
Symbol 2541 GraphicUses:2540Used by:2542
Symbol 2542 MovieClipUses:2541Used by:Timeline
Symbol 2543 GraphicUsed by:Timeline
Symbol 2544 TextUses:220Used by:Timeline
Symbol 2545 TextUses:220Used by:Timeline
Symbol 2546 GraphicUsed by:2585
Symbol 2547 GraphicUsed by:2585
Symbol 2548 GraphicUsed by:2585
Symbol 2549 GraphicUsed by:2585
Symbol 2550 GraphicUsed by:2585
Symbol 2551 GraphicUsed by:2585
Symbol 2552 GraphicUsed by:2585
Symbol 2553 GraphicUsed by:2585
Symbol 2554 GraphicUsed by:2585
Symbol 2555 GraphicUsed by:2585
Symbol 2556 GraphicUsed by:2585
Symbol 2557 GraphicUsed by:2585
Symbol 2558 GraphicUsed by:2585
Symbol 2559 GraphicUsed by:2585
Symbol 2560 GraphicUsed by:2585
Symbol 2561 GraphicUsed by:2585
Symbol 2562 GraphicUsed by:2585
Symbol 2563 GraphicUsed by:2585
Symbol 2564 GraphicUsed by:2585
Symbol 2565 GraphicUsed by:2585
Symbol 2566 GraphicUsed by:2585
Symbol 2567 GraphicUsed by:2585
Symbol 2568 GraphicUsed by:2585
Symbol 2569 GraphicUsed by:2585
Symbol 2570 GraphicUsed by:2585
Symbol 2571 GraphicUsed by:2585
Symbol 2572 GraphicUsed by:2585
Symbol 2573 GraphicUsed by:2585
Symbol 2574 GraphicUsed by:2585
Symbol 2575 GraphicUsed by:2585
Symbol 2576 GraphicUsed by:2585
Symbol 2577 GraphicUsed by:2585
Symbol 2578 GraphicUsed by:2585
Symbol 2579 GraphicUsed by:2585
Symbol 2580 GraphicUsed by:2585
Symbol 2581 GraphicUsed by:2585
Symbol 2582 GraphicUsed by:2585
Symbol 2583 GraphicUsed by:2585
Symbol 2584 GraphicUsed by:2585
Symbol 2585 MovieClipUses:2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584Used by:Timeline
Symbol 2586 TextUses:220Used by:Timeline
Symbol 2587 BitmapUsed by:2588 2598 2606 2615 2622 2625
Symbol 2588 GraphicUses:2587Used by:2597
Symbol 2589 TextUses:220Used by:2597
Symbol 2590 TextUses:220Used by:2597
Symbol 2591 BitmapUsed by:2592
Symbol 2592 GraphicUses:2591Used by:2593
Symbol 2593 MovieClipUses:2592Used by:2597
Symbol 2594 GraphicUsed by:2597
Symbol 2595 TextUses:220Used by:2597  Timeline
Symbol 2596 TextUses:220Used by:2597 2614
Symbol 2597 ButtonUses:2588 2589 2590 2593 2594 2595 2596Used by:Timeline
Symbol 2598 GraphicUses:2587Used by:2605
Symbol 2599 TextUses:220Used by:2605
Symbol 2600 TextUses:220Used by:2605
Symbol 2601 BitmapUsed by:2602
Symbol 2602 GraphicUses:2601Used by:2603
Symbol 2603 MovieClipUses:2602Used by:2605
Symbol 2604 GraphicUsed by:2605
Symbol 2605 ButtonUses:2598 2599 2600 2603 2604Used by:Timeline
Symbol 2606 GraphicUses:2587Used by:2614
Symbol 2607 BitmapUsed by:2608
Symbol 2608 GraphicUses:2607Used by:2609
Symbol 2609 MovieClipUses:2608Used by:2614
Symbol 2610 TextUses:220Used by:2614
Symbol 2611 TextUses:220Used by:2614
Symbol 2612 GraphicUsed by:2614
Symbol 2613 TextUses:220Used by:2614
Symbol 2614 ButtonUses:2606 2609 2610 2611 2612 2596 2613Used by:Timeline
Symbol 2615 GraphicUses:2587Used by:2623
Symbol 2616 BitmapUsed by:2617
Symbol 2617 GraphicUses:2616Used by:2618
Symbol 2618 MovieClipUses:2617Used by:2623
Symbol 2619 TextUses:220Used by:2623
Symbol 2620 TextUses:220Used by:2623
Symbol 2621 GraphicUsed by:2623
Symbol 2622 GraphicUses:2587Used by:2623
Symbol 2623 ButtonUses:2615 2618 2619 2620 2621 2622Used by:Timeline
Symbol 2624 TextUses:220Used by:Timeline
Symbol 2625 GraphicUses:2587Used by:Timeline
Symbol 2626 TextUses:220Used by:Timeline
Symbol 2627 TextUses:220Used by:Timeline
Symbol 2628 BitmapUsed by:2629
Symbol 2629 GraphicUses:2628Used by:2630
Symbol 2630 MovieClipUses:2629Used by:Timeline
Symbol 2631 TextUses:220Used by:Timeline
Symbol 2632 BitmapUsed by:2633
Symbol 2633 GraphicUses:2632Used by:2634
Symbol 2634 MovieClipUses:2633Used by:Timeline
Symbol 2635 TextUses:220Used by:Timeline
Symbol 2636 GraphicUsed by:2655
Symbol 2637 GraphicUsed by:2655
Symbol 2638 GraphicUsed by:2655
Symbol 2639 GraphicUsed by:2655
Symbol 2640 GraphicUsed by:2655
Symbol 2641 GraphicUsed by:2655
Symbol 2642 GraphicUsed by:2655
Symbol 2643 GraphicUsed by:2655
Symbol 2644 GraphicUsed by:2655
Symbol 2645 GraphicUsed by:2655
Symbol 2646 GraphicUsed by:2655
Symbol 2647 GraphicUsed by:2655
Symbol 2648 GraphicUsed by:2655
Symbol 2649 GraphicUsed by:2655
Symbol 2650 GraphicUsed by:2655
Symbol 2651 GraphicUsed by:2655
Symbol 2652 GraphicUsed by:2655
Symbol 2653 GraphicUsed by:2655
Symbol 2654 GraphicUsed by:2655
Symbol 2655 MovieClipUses:2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654Used by:Timeline
Symbol 2656 TextUses:220Used by:Timeline
Symbol 2657 TextUses:220Used by:2661 4615
Symbol 2658 TextUses:220Used by:2661 4615
Symbol 2659 TextUses:220Used by:2661
Symbol 2660 GraphicUsed by:2661
Symbol 2661 ButtonUses:2657 2658 2659 2660Used by:2676
Symbol 2662 TextUses:220Used by:2665
Symbol 2663 TextUses:220Used by:2665
Symbol 2664 GraphicUsed by:2665
Symbol 2665 ButtonUses:1553 2662 2663 2664Used by:2676
Symbol 2666 TextUses:220Used by:2669
Symbol 2667 TextUses:220Used by:2669
Symbol 2668 GraphicUsed by:2669
Symbol 2669 ButtonUses:1557 2666 2667 2668Used by:2676
Symbol 2670 TextUses:220Used by:2674
Symbol 2671 TextUses:220Used by:2674
Symbol 2672 TextUses:220Used by:2674
Symbol 2673 GraphicUsed by:2674
Symbol 2674 ButtonUses:2670 2671 2672 2673Used by:2676
Symbol 2675 EditableTextUses:1178Used by:2676
Symbol 2676 MovieClipUses:2661 2665 2669 2674 2675 1246Used by:Timeline
Symbol 2677 TextUses:220Used by:Timeline
Symbol 2678 TextUses:220Used by:Timeline
Symbol 2679 TextUses:220Used by:Timeline
Symbol 2680 BitmapUsed by:2681
Symbol 2681 GraphicUses:2680Used by:Timeline
Symbol 2682 TextUses:220Used by:Timeline
Symbol 2683 TextUses:220Used by:Timeline
Symbol 2684 BitmapUsed by:2685
Symbol 2685 GraphicUses:2684Used by:2686
Symbol 2686 MovieClipUses:2685Used by:Timeline
Symbol 2687 TextUses:220Used by:Timeline
Symbol 2688 TextUses:220Used by:Timeline
Symbol 2689 TextUses:220Used by:Timeline
Symbol 2690 BitmapUsed by:2691
Symbol 2691 GraphicUses:2690Used by:2692
Symbol 2692 MovieClipUses:2691Used by:Timeline
Symbol 2693 TextUses:220Used by:Timeline
Symbol 2694 TextUses:220Used by:Timeline
Symbol 2695 BitmapUsed by:2696
Symbol 2696 GraphicUses:2695Used by:2697
Symbol 2697 MovieClipUses:2696Used by:Timeline
Symbol 2698 TextUses:220Used by:Timeline
Symbol 2699 BitmapUsed by:2700
Symbol 2700 GraphicUses:2699Used by:2701
Symbol 2701 MovieClipUses:2700Used by:Timeline
Symbol 2702 TextUses:220Used by:Timeline
Symbol 2703 BitmapUsed by:2704
Symbol 2704 GraphicUses:2703Used by:2705
Symbol 2705 MovieClipUses:2704Used by:Timeline
Symbol 2706 TextUses:220Used by:Timeline
Symbol 2707 BitmapUsed by:2708
Symbol 2708 GraphicUses:2707Used by:2709
Symbol 2709 MovieClipUses:2708Used by:Timeline
Symbol 2710 TextUses:220Used by:Timeline
Symbol 2711 TextUses:220Used by:Timeline
Symbol 2712 BitmapUsed by:2713
Symbol 2713 GraphicUses:2712Used by:2714
Symbol 2714 MovieClipUses:2713Used by:Timeline
Symbol 2715 TextUses:220Used by:Timeline
Symbol 2716 BitmapUsed by:2717
Symbol 2717 GraphicUses:2716Used by:2718
Symbol 2718 MovieClipUses:2717Used by:Timeline
Symbol 2719 TextUses:220Used by:Timeline
Symbol 2720 BitmapUsed by:2721
Symbol 2721 GraphicUses:2720Used by:2722
Symbol 2722 MovieClipUses:2721Used by:Timeline
Symbol 2723 TextUses:220Used by:Timeline
Symbol 2724 BitmapUsed by:2725
Symbol 2725 GraphicUses:2724Used by:2726
Symbol 2726 MovieClipUses:2725Used by:Timeline
Symbol 2727 TextUses:220Used by:Timeline
Symbol 2728 TextUses:220Used by:Timeline
Symbol 2729 TextUses:220Used by:Timeline
Symbol 2730 TextUses:220Used by:2735
Symbol 2731 GraphicUsed by:2735
Symbol 2732 BitmapUsed by:2733
Symbol 2733 GraphicUses:2732Used by:2734
Symbol 2734 MovieClipUses:2733Used by:2735
Symbol 2735 MovieClipUses:2730 2731 2734Used by:Timeline
Symbol 2736 TextUses:220Used by:Timeline
Symbol 2737 TextUses:220Used by:2742
Symbol 2738 TextUses:220Used by:2742
Symbol 2739 TextUses:220Used by:2742
Symbol 2740 BitmapUsed by:2741
Symbol 2741 GraphicUses:2740Used by:2742
Symbol 2742 MovieClipUses:2737 2738 2739 2741Used by:Timeline
Symbol 2743 TextUses:220Used by:Timeline
Symbol 2744 TextUses:220Used by:Timeline
Symbol 2745 TextUses:220Used by:Timeline
Symbol 2746 GraphicUsed by:2785
Symbol 2747 GraphicUsed by:2785
Symbol 2748 GraphicUsed by:2785
Symbol 2749 GraphicUsed by:2785
Symbol 2750 GraphicUsed by:2785
Symbol 2751 GraphicUsed by:2785
Symbol 2752 GraphicUsed by:2785
Symbol 2753 GraphicUsed by:2785
Symbol 2754 GraphicUsed by:2785
Symbol 2755 GraphicUsed by:2785
Symbol 2756 GraphicUsed by:2785
Symbol 2757 GraphicUsed by:2785
Symbol 2758 GraphicUsed by:2785
Symbol 2759 GraphicUsed by:2785
Symbol 2760 GraphicUsed by:2785
Symbol 2761 GraphicUsed by:2785
Symbol 2762 GraphicUsed by:2785
Symbol 2763 GraphicUsed by:2785
Symbol 2764 GraphicUsed by:2785
Symbol 2765 GraphicUsed by:2785
Symbol 2766 GraphicUsed by:2785
Symbol 2767 GraphicUsed by:2785
Symbol 2768 GraphicUsed by:2785
Symbol 2769 GraphicUsed by:2785
Symbol 2770 GraphicUsed by:2785
Symbol 2771 GraphicUsed by:2785
Symbol 2772 GraphicUsed by:2785
Symbol 2773 GraphicUsed by:2785
Symbol 2774 GraphicUsed by:2785
Symbol 2775 GraphicUsed by:2785
Symbol 2776 GraphicUsed by:2785
Symbol 2777 GraphicUsed by:2785
Symbol 2778 GraphicUsed by:2785
Symbol 2779 GraphicUsed by:2785
Symbol 2780 GraphicUsed by:2785
Symbol 2781 GraphicUsed by:2785
Symbol 2782 GraphicUsed by:2785
Symbol 2783 GraphicUsed by:2785
Symbol 2784 GraphicUsed by:2785
Symbol 2785 MovieClipUses:2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784Used by:Timeline
Symbol 2786 BitmapUsed by:2787
Symbol 2787 GraphicUses:2786Used by:2788
Symbol 2788 MovieClipUses:2787Used by:Timeline
Symbol 2789 TextUses:220Used by:Timeline
Symbol 2790 GraphicUsed by:2828
Symbol 2791 GraphicUsed by:2828
Symbol 2792 GraphicUsed by:2828
Symbol 2793 GraphicUsed by:2828
Symbol 2794 GraphicUsed by:2828
Symbol 2795 GraphicUsed by:2828
Symbol 2796 GraphicUsed by:2828
Symbol 2797 GraphicUsed by:2828
Symbol 2798 GraphicUsed by:2828
Symbol 2799 GraphicUsed by:2828
Symbol 2800 GraphicUsed by:2828
Symbol 2801 GraphicUsed by:2828
Symbol 2802 GraphicUsed by:2828
Symbol 2803 GraphicUsed by:2828
Symbol 2804 GraphicUsed by:2828
Symbol 2805 GraphicUsed by:2828
Symbol 2806 GraphicUsed by:2828
Symbol 2807 GraphicUsed by:2828
Symbol 2808 GraphicUsed by:2828
Symbol 2809 GraphicUsed by:2828
Symbol 2810 GraphicUsed by:2828
Symbol 2811 GraphicUsed by:2828
Symbol 2812 GraphicUsed by:2828
Symbol 2813 GraphicUsed by:2828
Symbol 2814 GraphicUsed by:2828
Symbol 2815 GraphicUsed by:2828
Symbol 2816 GraphicUsed by:2828
Symbol 2817 GraphicUsed by:2828
Symbol 2818 GraphicUsed by:2828
Symbol 2819 GraphicUsed by:2828
Symbol 2820 GraphicUsed by:2828
Symbol 2821 GraphicUsed by:2828
Symbol 2822 GraphicUsed by:2828
Symbol 2823 GraphicUsed by:2828
Symbol 2824 GraphicUsed by:2828
Symbol 2825 GraphicUsed by:2828
Symbol 2826 GraphicUsed by:2828
Symbol 2827 GraphicUsed by:2828
Symbol 2828 MovieClipUses:2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827Used by:Timeline
Symbol 2829 TextUses:220Used by:Timeline
Symbol 2830 TextUses:220Used by:2833
Symbol 2831 BitmapUsed by:2832
Symbol 2832 GraphicUses:2831Used by:2833
Symbol 2833 MovieClipUses:2830 2832Used by:Timeline
Symbol 2834 TextUses:220Used by:Timeline
Symbol 2835 TextUses:220Used by:Timeline
Symbol 2836 TextUses:220Used by:Timeline
Symbol 2837 TextUses:220Used by:Timeline
Symbol 2838 BitmapUsed by:2839
Symbol 2839 GraphicUses:2838Used by:2840
Symbol 2840 MovieClipUses:2839Used by:Timeline
Symbol 2841 BitmapUsed by:2842
Symbol 2842 GraphicUses:2841Used by:2843
Symbol 2843 MovieClipUses:2842Used by:Timeline
Symbol 2844 TextUses:220Used by:Timeline
Symbol 2845 TextUses:220Used by:Timeline
Symbol 2846 BitmapUsed by:2847
Symbol 2847 GraphicUses:2846Used by:2848
Symbol 2848 MovieClipUses:2847Used by:Timeline
Symbol 2849 GraphicUsed by:Timeline
Symbol 2850 BitmapUsed by:2851
Symbol 2851 GraphicUses:2850Used by:2852
Symbol 2852 MovieClipUses:2851Used by:Timeline
Symbol 2853 TextUses:220Used by:Timeline
Symbol 2854 TextUses:220Used by:Timeline
Symbol 2855 TextUses:220Used by:Timeline
Symbol 2856 BitmapUsed by:2857
Symbol 2857 GraphicUses:2856Used by:2858
Symbol 2858 MovieClipUses:2857Used by:Timeline
Symbol 2859 TextUses:220Used by:Timeline
Symbol 2860 BitmapUsed by:2861
Symbol 2861 GraphicUses:2860Used by:2862
Symbol 2862 MovieClipUses:2861Used by:Timeline
Symbol 2863 TextUses:220Used by:Timeline
Symbol 2864 TextUses:220Used by:2868
Symbol 2865 TextUses:220Used by:2868
Symbol 2866 BitmapUsed by:2867
Symbol 2867 GraphicUses:2866Used by:2868
Symbol 2868 MovieClipUses:2864 2865 2867Used by:Timeline
Symbol 2869 TextUses:220Used by:Timeline
Symbol 2870 BitmapUsed by:2871
Symbol 2871 GraphicUses:2870Used by:2872
Symbol 2872 MovieClipUses:2871Used by:Timeline
Symbol 2873 TextUses:220Used by:Timeline
Symbol 2874 TextUses:220Used by:Timeline
Symbol 2875 TextUses:220Used by:2881
Symbol 2876 TextUses:220Used by:2881
Symbol 2877 GraphicUsed by:2881
Symbol 2878 TextUses:220Used by:2881
Symbol 2879 BitmapUsed by:2880
Symbol 2880 GraphicUses:2879Used by:2881
Symbol 2881 MovieClipUses:2875 2876 2877 2878 2880Used by:Timeline
Symbol 2882 TextUses:220Used by:Timeline
Symbol 2883 GraphicUsed by:2952
Symbol 2884 GraphicUsed by:2952
Symbol 2885 GraphicUsed by:2952
Symbol 2886 GraphicUsed by:2952
Symbol 2887 GraphicUsed by:2952
Symbol 2888 GraphicUsed by:2952
Symbol 2889 GraphicUsed by:2952
Symbol 2890 GraphicUsed by:2952
Symbol 2891 GraphicUsed by:2952
Symbol 2892 GraphicUsed by:2952
Symbol 2893 GraphicUsed by:2952
Symbol 2894 GraphicUsed by:2952
Symbol 2895 GraphicUsed by:2952
Symbol 2896 GraphicUsed by:2952
Symbol 2897 GraphicUsed by:2952
Symbol 2898 GraphicUsed by:2952
Symbol 2899 GraphicUsed by:2952
Symbol 2900 GraphicUsed by:2952
Symbol 2901 GraphicUsed by:2952
Symbol 2902 GraphicUsed by:2952
Symbol 2903 GraphicUsed by:2952
Symbol 2904 GraphicUsed by:2952
Symbol 2905 GraphicUsed by:2952
Symbol 2906 GraphicUsed by:2952
Symbol 2907 GraphicUsed by:2952
Symbol 2908 GraphicUsed by:2952
Symbol 2909 GraphicUsed by:2952
Symbol 2910 GraphicUsed by:2952
Symbol 2911 GraphicUsed by:2952
Symbol 2912 GraphicUsed by:2952
Symbol 2913 GraphicUsed by:2952
Symbol 2914 GraphicUsed by:2952
Symbol 2915 GraphicUsed by:2952
Symbol 2916 GraphicUsed by:2952
Symbol 2917 GraphicUsed by:2952
Symbol 2918 GraphicUsed by:2952
Symbol 2919 GraphicUsed by:2952
Symbol 2920 GraphicUsed by:2952
Symbol 2921 GraphicUsed by:2952
Symbol 2922 GraphicUsed by:2952
Symbol 2923 GraphicUsed by:2952
Symbol 2924 GraphicUsed by:2952
Symbol 2925 GraphicUsed by:2952
Symbol 2926 GraphicUsed by:2952
Symbol 2927 GraphicUsed by:2952
Symbol 2928 GraphicUsed by:2952
Symbol 2929 GraphicUsed by:2952
Symbol 2930 GraphicUsed by:2952
Symbol 2931 GraphicUsed by:2952
Symbol 2932 GraphicUsed by:2952
Symbol 2933 GraphicUsed by:2952
Symbol 2934 GraphicUsed by:2952
Symbol 2935 GraphicUsed by:2952
Symbol 2936 GraphicUsed by:2952
Symbol 2937 GraphicUsed by:2952
Symbol 2938 GraphicUsed by:2952
Symbol 2939 GraphicUsed by:2952
Symbol 2940 GraphicUsed by:2952
Symbol 2941 GraphicUsed by:2952
Symbol 2942 GraphicUsed by:2952
Symbol 2943 GraphicUsed by:2952
Symbol 2944 GraphicUsed by:2952
Symbol 2945 GraphicUsed by:2952
Symbol 2946 GraphicUsed by:2952
Symbol 2947 GraphicUsed by:2952
Symbol 2948 GraphicUsed by:2952
Symbol 2949 GraphicUsed by:2952
Symbol 2950 GraphicUsed by:2952
Symbol 2951 GraphicUsed by:2952
Symbol 2952 MovieClipUses:2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951Used by:Timeline
Symbol 2953 TextUses:220Used by:Timeline
Symbol 2954 BitmapUsed by:2955
Symbol 2955 GraphicUses:2954Used by:2956
Symbol 2956 MovieClipUses:2955Used by:Timeline
Symbol 2957 TextUses:220Used by:Timeline
Symbol 2958 TextUses:220Used by:Timeline
Symbol 2959 TextUses:220Used by:Timeline
Symbol 2960 BitmapUsed by:2961
Symbol 2961 GraphicUses:2960Used by:2962
Symbol 2962 MovieClipUses:2961Used by:Timeline
Symbol 2963 TextUses:220Used by:Timeline
Symbol 2964 TextUses:220Used by:Timeline
Symbol 2965 TextUses:220Used by:Timeline
Symbol 2966 GraphicUsed by:3003
Symbol 2967 GraphicUsed by:3003
Symbol 2968 GraphicUsed by:3003
Symbol 2969 GraphicUsed by:3003
Symbol 2970 GraphicUsed by:3003
Symbol 2971 GraphicUsed by:3003
Symbol 2972 GraphicUsed by:3003
Symbol 2973 GraphicUsed by:3003
Symbol 2974 GraphicUsed by:3003
Symbol 2975 GraphicUsed by:3003
Symbol 2976 GraphicUsed by:3003
Symbol 2977 GraphicUsed by:3003
Symbol 2978 GraphicUsed by:3003
Symbol 2979 GraphicUsed by:3003
Symbol 2980 GraphicUsed by:3003
Symbol 2981 GraphicUsed by:3003
Symbol 2982 GraphicUsed by:3003
Symbol 2983 GraphicUsed by:3003
Symbol 2984 GraphicUsed by:3003
Symbol 2985 GraphicUsed by:3003
Symbol 2986 GraphicUsed by:3003
Symbol 2987 GraphicUsed by:3003
Symbol 2988 GraphicUsed by:3003
Symbol 2989 GraphicUsed by:3003
Symbol 2990 GraphicUsed by:3003
Symbol 2991 GraphicUsed by:3003
Symbol 2992 GraphicUsed by:3003
Symbol 2993 GraphicUsed by:3003
Symbol 2994 GraphicUsed by:3003
Symbol 2995 GraphicUsed by:3003
Symbol 2996 GraphicUsed by:3003
Symbol 2997 GraphicUsed by:3003
Symbol 2998 GraphicUsed by:3003
Symbol 2999 GraphicUsed by:3003
Symbol 3000 GraphicUsed by:3003
Symbol 3001 GraphicUsed by:3003
Symbol 3002 GraphicUsed by:3003
Symbol 3003 MovieClipUses:2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002Used by:Timeline
Symbol 3004 TextUses:220Used by:Timeline
Symbol 3005 EditableTextUses:220 736 3479Used by:Timeline
Symbol 3006 EditableTextUses:220 736 3479Used by:Timeline
Symbol 3007 TextUses:220Used by:Timeline
Symbol 3008 TextUses:220Used by:Timeline
Symbol 3009 TextUses:220Used by:Timeline
Symbol 3010 TextUses:220Used by:Timeline
Symbol 3011 TextUses:220Used by:Timeline
Symbol 3012 TextUses:220Used by:Timeline
Symbol 3013 TextUses:220Used by:Timeline
Symbol 3014 TextUses:220Used by:Timeline
Symbol 3015 TextUses:220Used by:Timeline
Symbol 3016 TextUses:220Used by:Timeline
Symbol 3017 BitmapUsed by:3018
Symbol 3018 GraphicUses:3017Used by:3019
Symbol 3019 MovieClipUses:3018Used by:Timeline
Symbol 3020 TextUses:220Used by:Timeline
Symbol 3021 TextUses:220Used by:Timeline
Symbol 3022 BitmapUsed by:3023
Symbol 3023 GraphicUses:3022Used by:3024
Symbol 3024 MovieClipUses:3023Used by:Timeline
Symbol 3025 TextUses:220Used by:Timeline
Symbol 3026 TextUses:220Used by:Timeline
Symbol 3027 TextUses:220Used by:Timeline
Symbol 3028 TextUses:220Used by:Timeline
Symbol 3029 BitmapUsed by:3030
Symbol 3030 GraphicUses:3029Used by:3031
Symbol 3031 MovieClipUses:3030Used by:Timeline
Symbol 3032 TextUses:220Used by:Timeline
Symbol 3033 BitmapUsed by:3034
Symbol 3034 GraphicUses:3033Used by:3035
Symbol 3035 MovieClipUses:3034Used by:Timeline
Symbol 3036 TextUses:220Used by:Timeline
Symbol 3037 BitmapUsed by:3038
Symbol 3038 GraphicUses:3037Used by:3039
Symbol 3039 MovieClipUses:3038Used by:Timeline
Symbol 3040 BitmapUsed by:3041
Symbol 3041 GraphicUses:3040Used by:3042
Symbol 3042 MovieClipUses:3041Used by:Timeline
Symbol 3043 BitmapUsed by:3044
Symbol 3044 GraphicUses:3043Used by:3045
Symbol 3045 MovieClipUses:3044Used by:Timeline
Symbol 3046 BitmapUsed by:3047
Symbol 3047 GraphicUses:3046Used by:3048
Symbol 3048 MovieClipUses:3047Used by:Timeline
Symbol 3049 TextUses:220Used by:Timeline
Symbol 3050 TextUses:220Used by:Timeline
Symbol 3051 TextUses:220Used by:Timeline
Symbol 3052 TextUses:220Used by:Timeline
Symbol 3053 TextUses:220Used by:Timeline
Symbol 3054 TextUses:220Used by:Timeline
Symbol 3055 TextUses:220Used by:Timeline
Symbol 3056 TextUses:220Used by:Timeline
Symbol 3057 TextUses:220Used by:Timeline
Symbol 3058 BitmapUsed by:3059 3064 3069 3074 3079 3083 3088 3093
Symbol 3059 GraphicUses:3058Used by:3063
Symbol 3060 TextUses:220Used by:3063
Symbol 3061 TextUses:220Used by:3063
Symbol 3062 GraphicUsed by:3063
Symbol 3063 ButtonUses:3059 3060 3061 3062Used by:3094 3095
Symbol 3064 GraphicUses:3058Used by:3068
Symbol 3065 TextUses:220Used by:3068
Symbol 3066 TextUses:220Used by:3068
Symbol 3067 GraphicUsed by:3068
Symbol 3068 ButtonUses:3064 3065 3066 3067Used by:3094 3095
Symbol 3069 GraphicUses:3058Used by:3073
Symbol 3070 TextUses:220Used by:3073
Symbol 3071 TextUses:220Used by:3073
Symbol 3072 GraphicUsed by:3073 3082
Symbol 3073 ButtonUses:3069 3070 3071 3072Used by:3094 3095
Symbol 3074 GraphicUses:3058Used by:3078
Symbol 3075 TextUses:220Used by:3078
Symbol 3076 TextUses:220Used by:3078
Symbol 3077 GraphicUsed by:3078
Symbol 3078 ButtonUses:3074 3075 3076 3077Used by:3094 3095
Symbol 3079 GraphicUses:3058Used by:3082
Symbol 3080 TextUses:220Used by:3082
Symbol 3081 TextUses:220Used by:3082
Symbol 3082 ButtonUses:3079 3080 3081 3072Used by:3094 3095
Symbol 3083 GraphicUses:3058Used by:3087
Symbol 3084 TextUses:220Used by:3087
Symbol 3085 TextUses:220Used by:3087
Symbol 3086 GraphicUsed by:3087
Symbol 3087 ButtonUses:3083 3084 3085 3086Used by:3094 3095
Symbol 3088 GraphicUses:3058Used by:3092
Symbol 3089 TextUses:220Used by:3092
Symbol 3090 TextUses:220Used by:3092
Symbol 3091 GraphicUsed by:3092
Symbol 3092 ButtonUses:3088 3089 3090 3091Used by:3094 3095
Symbol 3093 GraphicUses:3058Used by:3094 3095
Symbol 3094 MovieClipUses:3063 3068 3073 3078 3082 3087 3092 3093Used by:3095
Symbol 3095 ButtonUses:3094 3093 3092 3087 3082 3078 3073 3068 3063Used by:Timeline
Symbol 3096 TextUses:220Used by:Timeline
Symbol 3097 TextUses:220Used by:Timeline
Symbol 3098 BitmapUsed by:3099
Symbol 3099 GraphicUses:3098Used by:3100
Symbol 3100 MovieClipUses:3099Used by:Timeline
Symbol 3101 TextUses:220Used by:Timeline
Symbol 3102 TextUses:220Used by:Timeline
Symbol 3103 TextUses:220Used by:Timeline
Symbol 3104 BitmapUsed by:3105
Symbol 3105 GraphicUses:3104Used by:3106
Symbol 3106 MovieClipUses:3105Used by:Timeline
Symbol 3107 BitmapUsed by:3108
Symbol 3108 GraphicUses:3107Used by:3109
Symbol 3109 MovieClipUses:3108Used by:Timeline
Symbol 3110 TextUses:220Used by:Timeline
Symbol 3111 TextUses:220Used by:Timeline
Symbol 3112 TextUses:220Used by:Timeline
Symbol 3113 BitmapUsed by:3114
Symbol 3114 GraphicUses:3113Used by:3115
Symbol 3115 MovieClipUses:3114Used by:Timeline
Symbol 3116 TextUses:220Used by:Timeline
Symbol 3117 TextUses:220Used by:Timeline
Symbol 3118 TextUses:220Used by:Timeline
Symbol 3119 BitmapUsed by:3120 3125 3128
Symbol 3120 GraphicUses:3119Used by:3121
Symbol 3121 MovieClipUses:3120Used by:Timeline
Symbol 3122 TextUses:220Used by:Timeline
Symbol 3123 TextUses:220Used by:Timeline
Symbol 3124 TextUses:220Used by:Timeline
Symbol 3125 GraphicUses:3119Used by:Timeline
Symbol 3126 TextUses:220Used by:Timeline
Symbol 3127 TextUses:220Used by:Timeline
Symbol 3128 GraphicUses:3119Used by:Timeline
Symbol 3129 TextUses:220Used by:Timeline
Symbol 3130 BitmapUsed by:3131
Symbol 3131 GraphicUses:3130Used by:3132
Symbol 3132 MovieClipUses:3131Used by:Timeline
Symbol 3133 TextUses:220Used by:Timeline
Symbol 3134 BitmapUsed by:3135
Symbol 3135 GraphicUses:3134Used by:3136
Symbol 3136 MovieClipUses:3135Used by:Timeline
Symbol 3137 TextUses:220Used by:Timeline
Symbol 3138 TextUses:220Used by:Timeline
Symbol 3139 BitmapUsed by:3140
Symbol 3140 GraphicUses:3139Used by:3141
Symbol 3141 MovieClipUses:3140Used by:Timeline
Symbol 3142 TextUses:220Used by:3146
Symbol 3143 TextUses:220Used by:3146
Symbol 3144 BitmapUsed by:3145
Symbol 3145 GraphicUses:3144Used by:3146
Symbol 3146 MovieClipUses:3142 3143 3145Used by:Timeline
Symbol 3147 TextUses:220Used by:Timeline
Symbol 3148 TextUses:220Used by:Timeline
Symbol 3149 BitmapUsed by:3150
Symbol 3150 GraphicUses:3149Used by:3151
Symbol 3151 MovieClipUses:3150Used by:Timeline
Symbol 3152 BitmapUsed by:3153
Symbol 3153 GraphicUses:3152Used by:3154
Symbol 3154 MovieClipUses:3153Used by:Timeline
Symbol 3155 TextUses:220Used by:Timeline
Symbol 3156 TextUses:220Used by:Timeline
Symbol 3157 TextUses:220Used by:Timeline
Symbol 3158 TextUses:220Used by:Timeline
Symbol 3159 TextUses:220Used by:Timeline
Symbol 3160 BitmapUsed by:3161
Symbol 3161 GraphicUses:3160Used by:3162
Symbol 3162 MovieClipUses:3161Used by:Timeline
Symbol 3163 GraphicUsed by:3201
Symbol 3164 GraphicUsed by:3201
Symbol 3165 GraphicUsed by:3201
Symbol 3166 GraphicUsed by:3201
Symbol 3167 GraphicUsed by:3201
Symbol 3168 GraphicUsed by:3201
Symbol 3169 GraphicUsed by:3201
Symbol 3170 GraphicUsed by:3201
Symbol 3171 GraphicUsed by:3201
Symbol 3172 GraphicUsed by:3201
Symbol 3173 GraphicUsed by:3201
Symbol 3174 GraphicUsed by:3201
Symbol 3175 GraphicUsed by:3201
Symbol 3176 GraphicUsed by:3201
Symbol 3177 GraphicUsed by:3201
Symbol 3178 GraphicUsed by:3201
Symbol 3179 GraphicUsed by:3201
Symbol 3180 GraphicUsed by:3201
Symbol 3181 GraphicUsed by:3201
Symbol 3182 GraphicUsed by:3201
Symbol 3183 GraphicUsed by:3201
Symbol 3184 GraphicUsed by:3201
Symbol 3185 GraphicUsed by:3201
Symbol 3186 GraphicUsed by:3201
Symbol 3187 GraphicUsed by:3201
Symbol 3188 GraphicUsed by:3201
Symbol 3189 GraphicUsed by:3201
Symbol 3190 GraphicUsed by:3201
Symbol 3191 GraphicUsed by:3201
Symbol 3192 GraphicUsed by:3201
Symbol 3193 GraphicUsed by:3201
Symbol 3194 GraphicUsed by:3201
Symbol 3195 GraphicUsed by:3201
Symbol 3196 GraphicUsed by:3201
Symbol 3197 GraphicUsed by:3201
Symbol 3198 GraphicUsed by:3201
Symbol 3199 GraphicUsed by:3201
Symbol 3200 GraphicUsed by:3201
Symbol 3201 MovieClipUses:3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200Used by:Timeline
Symbol 3202 TextUses:220Used by:Timeline
Symbol 3203 TextUses:220Used by:Timeline
Symbol 3204 BitmapUsed by:3205
Symbol 3205 GraphicUses:3204Used by:3206
Symbol 3206 MovieClipUses:3205Used by:Timeline
Symbol 3207 TextUses:220Used by:Timeline
Symbol 3208 GraphicUsed by:3257
Symbol 3209 GraphicUsed by:3257
Symbol 3210 GraphicUsed by:3257
Symbol 3211 GraphicUsed by:3257
Symbol 3212 GraphicUsed by:3257
Symbol 3213 GraphicUsed by:3257
Symbol 3214 GraphicUsed by:3257
Symbol 3215 GraphicUsed by:3257
Symbol 3216 GraphicUsed by:3257
Symbol 3217 GraphicUsed by:3257
Symbol 3218 GraphicUsed by:3257
Symbol 3219 GraphicUsed by:3257
Symbol 3220 GraphicUsed by:3257
Symbol 3221 GraphicUsed by:3257
Symbol 3222 GraphicUsed by:3257
Symbol 3223 GraphicUsed by:3257
Symbol 3224 GraphicUsed by:3257
Symbol 3225 GraphicUsed by:3257
Symbol 3226 GraphicUsed by:3257
Symbol 3227 GraphicUsed by:3257
Symbol 3228 GraphicUsed by:3257
Symbol 3229 GraphicUsed by:3257
Symbol 3230 GraphicUsed by:3257
Symbol 3231 GraphicUsed by:3257
Symbol 3232 GraphicUsed by:3257
Symbol 3233 GraphicUsed by:3257
Symbol 3234 GraphicUsed by:3257
Symbol 3235 GraphicUsed by:3257
Symbol 3236 GraphicUsed by:3257
Symbol 3237 GraphicUsed by:3257
Symbol 3238 GraphicUsed by:3257
Symbol 3239 GraphicUsed by:3257
Symbol 3240 GraphicUsed by:3257
Symbol 3241 GraphicUsed by:3257
Symbol 3242 GraphicUsed by:3257
Symbol 3243 GraphicUsed by:3257
Symbol 3244 GraphicUsed by:3257
Symbol 3245 GraphicUsed by:3257
Symbol 3246 GraphicUsed by:3257
Symbol 3247 GraphicUsed by:3257
Symbol 3248 GraphicUsed by:3257
Symbol 3249 GraphicUsed by:3257
Symbol 3250 GraphicUsed by:3257
Symbol 3251 GraphicUsed by:3257
Symbol 3252 GraphicUsed by:3257
Symbol 3253 GraphicUsed by:3257
Symbol 3254 GraphicUsed by:3257
Symbol 3255 GraphicUsed by:3257
Symbol 3256 GraphicUsed by:3257
Symbol 3257 MovieClipUses:3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256Used by:Timeline
Symbol 3258 BitmapUsed by:3259
Symbol 3259 GraphicUses:3258Used by:3260
Symbol 3260 MovieClipUses:3259Used by:Timeline
Symbol 3261 TextUses:220Used by:Timeline
Symbol 3262 TextUses:220Used by:Timeline
Symbol 3263 BitmapUsed by:3264
Symbol 3264 GraphicUses:3263Used by:3265
Symbol 3265 MovieClipUses:3264Used by:Timeline
Symbol 3266 TextUses:220Used by:Timeline
Symbol 3267 GraphicUsed by:3314
Symbol 3268 GraphicUsed by:3314
Symbol 3269 GraphicUsed by:3314
Symbol 3270 GraphicUsed by:3314
Symbol 3271 GraphicUsed by:3314
Symbol 3272 GraphicUsed by:3314
Symbol 3273 GraphicUsed by:3314
Symbol 3274 GraphicUsed by:3314
Symbol 3275 GraphicUsed by:3314
Symbol 3276 GraphicUsed by:3314
Symbol 3277 GraphicUsed by:3314
Symbol 3278 GraphicUsed by:3314
Symbol 3279 GraphicUsed by:3314
Symbol 3280 GraphicUsed by:3314
Symbol 3281 GraphicUsed by:3314
Symbol 3282 GraphicUsed by:3314
Symbol 3283 GraphicUsed by:3314
Symbol 3284 GraphicUsed by:3314
Symbol 3285 GraphicUsed by:3314
Symbol 3286 GraphicUsed by:3314
Symbol 3287 GraphicUsed by:3314
Symbol 3288 GraphicUsed by:3314
Symbol 3289 GraphicUsed by:3314
Symbol 3290 GraphicUsed by:3314
Symbol 3291 GraphicUsed by:3314
Symbol 3292 GraphicUsed by:3314
Symbol 3293 GraphicUsed by:3314
Symbol 3294 GraphicUsed by:3314
Symbol 3295 GraphicUsed by:3314
Symbol 3296 GraphicUsed by:3314
Symbol 3297 GraphicUsed by:3314
Symbol 3298 GraphicUsed by:3314
Symbol 3299 GraphicUsed by:3314
Symbol 3300 GraphicUsed by:3314
Symbol 3301 GraphicUsed by:3314
Symbol 3302 GraphicUsed by:3314
Symbol 3303 GraphicUsed by:3314
Symbol 3304 GraphicUsed by:3314
Symbol 3305 GraphicUsed by:3314
Symbol 3306 GraphicUsed by:3314
Symbol 3307 GraphicUsed by:3314
Symbol 3308 GraphicUsed by:3314
Symbol 3309 GraphicUsed by:3314
Symbol 3310 GraphicUsed by:3314
Symbol 3311 GraphicUsed by:3314
Symbol 3312 GraphicUsed by:3314
Symbol 3313 GraphicUsed by:3314
Symbol 3314 MovieClipUses:3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313Used by:Timeline
Symbol 3315 TextUses:220Used by:Timeline
Symbol 3316 TextUses:220Used by:Timeline
Symbol 3317 TextUses:220Used by:Timeline
Symbol 3318 BitmapUsed by:3319
Symbol 3319 GraphicUses:3318Used by:3320
Symbol 3320 MovieClipUses:3319Used by:Timeline
Symbol 3321 TextUses:220Used by:Timeline
Symbol 3322 GraphicUsed by:3323
Symbol 3323 MovieClipUses:3322Used by:Timeline
Symbol 3324 BitmapUsed by:3325
Symbol 3325 GraphicUses:3324Used by:3326
Symbol 3326 MovieClipUses:3325Used by:Timeline
Symbol 3327 TextUses:220Used by:Timeline
Symbol 3328 BitmapUsed by:3329
Symbol 3329 GraphicUses:3328Used by:3330
Symbol 3330 MovieClipUses:3329Used by:Timeline
Symbol 3331 TextUses:220Used by:Timeline
Symbol 3332 GraphicUsed by:3370
Symbol 3333 GraphicUsed by:3370
Symbol 3334 GraphicUsed by:3370
Symbol 3335 GraphicUsed by:3370
Symbol 3336 GraphicUsed by:3370
Symbol 3337 GraphicUsed by:3370
Symbol 3338 GraphicUsed by:3370
Symbol 3339 GraphicUsed by:3370
Symbol 3340 GraphicUsed by:3370
Symbol 3341 GraphicUsed by:3370
Symbol 3342 GraphicUsed by:3370
Symbol 3343 GraphicUsed by:3370
Symbol 3344 GraphicUsed by:3370
Symbol 3345 GraphicUsed by:3370
Symbol 3346 GraphicUsed by:3370
Symbol 3347 GraphicUsed by:3370
Symbol 3348 GraphicUsed by:3370
Symbol 3349 GraphicUsed by:3370
Symbol 3350 GraphicUsed by:3370
Symbol 3351 GraphicUsed by:3370
Symbol 3352 GraphicUsed by:3370
Symbol 3353 GraphicUsed by:3370
Symbol 3354 GraphicUsed by:3370
Symbol 3355 GraphicUsed by:3370
Symbol 3356 GraphicUsed by:3370
Symbol 3357 GraphicUsed by:3370
Symbol 3358 GraphicUsed by:3370
Symbol 3359 GraphicUsed by:3370
Symbol 3360 GraphicUsed by:3370
Symbol 3361 GraphicUsed by:3370
Symbol 3362 GraphicUsed by:3370
Symbol 3363 GraphicUsed by:3370
Symbol 3364 GraphicUsed by:3370
Symbol 3365 GraphicUsed by:3370
Symbol 3366 GraphicUsed by:3370
Symbol 3367 GraphicUsed by:3370
Symbol 3368 GraphicUsed by:3370
Symbol 3369 GraphicUsed by:3370
Symbol 3370 MovieClipUses:3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369Used by:Timeline
Symbol 3371 TextUses:220Used by:Timeline
Symbol 3372 TextUses:220Used by:Timeline
Symbol 3373 TextUses:220Used by:Timeline
Symbol 3374 BitmapUsed by:3375
Symbol 3375 GraphicUses:3374Used by:3376
Symbol 3376 MovieClipUses:3375Used by:Timeline
Symbol 3377 GraphicUsed by:3378
Symbol 3378 MovieClipUses:3377Used by:Timeline
Symbol 3379 TextUses:220Used by:Timeline
Symbol 3380 TextUses:220Used by:Timeline
Symbol 3381 TextUses:220Used by:Timeline
Symbol 3382 TextUses:220Used by:Timeline
Symbol 3383 TextUses:220Used by:Timeline
Symbol 3384 GraphicUsed by:Timeline
Symbol 3385 TextUses:220Used by:Timeline
Symbol 3386 BitmapUsed by:3387
Symbol 3387 GraphicUses:3386Used by:3388
Symbol 3388 MovieClipUses:3387Used by:Timeline
Symbol 3389 TextUses:220Used by:Timeline
Symbol 3390 TextUses:220Used by:Timeline
Symbol 3391 TextUses:220Used by:Timeline
Symbol 3392 TextUses:220Used by:Timeline
Symbol 3393 BitmapUsed by:3394
Symbol 3394 GraphicUses:3393Used by:3395
Symbol 3395 MovieClipUses:3394Used by:Timeline
Symbol 3396 GraphicUsed by:Timeline
Symbol 3397 BitmapUsed by:3398
Symbol 3398 GraphicUses:3397Used by:3399
Symbol 3399 MovieClipUses:3398Used by:Timeline
Symbol 3400 TextUses:220Used by:Timeline
Symbol 3401 TextUses:220Used by:Timeline
Symbol 3402 BitmapUsed by:3403
Symbol 3403 GraphicUses:3402Used by:3404
Symbol 3404 MovieClipUses:3403Used by:Timeline
Symbol 3405 BitmapUsed by:3406
Symbol 3406 GraphicUses:3405Used by:3407
Symbol 3407 MovieClipUses:3406Used by:Timeline
Symbol 3408 TextUses:220Used by:Timeline
Symbol 3409 TextUses:220Used by:Timeline
Symbol 3410 TextUses:220Used by:Timeline
Symbol 3411 BitmapUsed by:3412
Symbol 3412 GraphicUses:3411Used by:3413
Symbol 3413 MovieClipUses:3412Used by:Timeline
Symbol 3414 TextUses:220Used by:Timeline
Symbol 3415 BitmapUsed by:3416
Symbol 3416 GraphicUses:3415Used by:3417
Symbol 3417 MovieClipUses:3416Used by:Timeline
Symbol 3418 TextUses:220Used by:Timeline
Symbol 3419 TextUses:220Used by:Timeline
Symbol 3420 BitmapUsed by:3421
Symbol 3421 GraphicUses:3420Used by:3422
Symbol 3422 MovieClipUses:3421Used by:Timeline
Symbol 3423 TextUses:220Used by:Timeline
Symbol 3424 BitmapUsed by:3425
Symbol 3425 GraphicUses:3424Used by:3426
Symbol 3426 MovieClipUses:3425Used by:Timeline
Symbol 3427 TextUses:220Used by:Timeline
Symbol 3428 BitmapUsed by:3429
Symbol 3429 GraphicUses:3428Used by:3430
Symbol 3430 MovieClipUses:3429Used by:Timeline
Symbol 3431 TextUses:220Used by:Timeline
Symbol 3432 TextUses:220Used by:Timeline
Symbol 3433 BitmapUsed by:3434
Symbol 3434 GraphicUses:3433Used by:3435
Symbol 3435 MovieClipUses:3434Used by:Timeline
Symbol 3436 BitmapUsed by:3437
Symbol 3437 GraphicUses:3436Used by:3438
Symbol 3438 MovieClipUses:3437Used by:Timeline
Symbol 3439 TextUses:220Used by:Timeline
Symbol 3440 TextUses:220Used by:Timeline
Symbol 3441 TextUses:220Used by:Timeline
Symbol 3442 BitmapUsed by:3443
Symbol 3443 GraphicUses:3442Used by:3444
Symbol 3444 MovieClipUses:3443Used by:Timeline
Symbol 3445 TextUses:220Used by:Timeline
Symbol 3446 TextUses:220Used by:Timeline
Symbol 3447 BitmapUsed by:3448
Symbol 3448 GraphicUses:3447Used by:3449
Symbol 3449 MovieClipUses:3448Used by:Timeline
Symbol 3450 TextUses:220Used by:Timeline
Symbol 3451 TextUses:220Used by:Timeline
Symbol 3452 BitmapUsed by:3453
Symbol 3453 GraphicUses:3452Used by:3454
Symbol 3454 MovieClipUses:3453Used by:Timeline
Symbol 3455 TextUses:220Used by:Timeline
Symbol 3456 TextUses:220Used by:Timeline
Symbol 3457 TextUses:220Used by:Timeline
Symbol 3458 TextUses:220Used by:Timeline
Symbol 3459 TextUses:220Used by:3461
Symbol 3460 GraphicUsed by:3461
Symbol 3461 ButtonUses:3459 3460Used by:Timeline
Symbol 3462 TextUses:220Used by:3465
Symbol 3463 GraphicUsed by:3465 3478 3484
Symbol 3464 GraphicUsed by:3465
Symbol 3465 ButtonUses:3462 3463 3464Used by:Timeline
Symbol 3466 TextUses:220Used by:3470
Symbol 3467 GraphicUsed by:3470
Symbol 3468 GraphicUsed by:3470
Symbol 3469 GraphicUsed by:3470
Symbol 3470 ButtonUses:3466 3467 3468 3469Used by:Timeline
Symbol 3471 TextUses:220Used by:3475 3483 3583 3620
Symbol 3472 GraphicUsed by:3475 3483 3583 3620
Symbol 3473 GraphicUsed by:3475 3483 3583 3620
Symbol 3474 GraphicUsed by:3475 3483 3583 3620
Symbol 3475 ButtonUses:3471 3472 3473 3474Used by:Timeline
Symbol 3476 TextUses:220Used by:3478 3484
Symbol 3477 GraphicUsed by:3478 3484
Symbol 3478 ButtonUses:3476 3463 3477Used by:Timeline
Symbol 3479 FontUsed by:1840 1841 1842 1843 1844 2035 2036 2325 2326 2327 2403 2404 2405 2406 2459 2460 2490 2491 3005 3006 3480 3486 3559 3585 3600 3788 3791 4841 4859 4925 5205 5311 5336 5360 5361 5409 5454 5725
Symbol 3480 TextUses:220 3479Used by:Timeline
Symbol 3481 TextUses:220Used by:Timeline
Symbol 3482 TextUses:220Used by:Timeline
Symbol 3483 ButtonUses:3471 3472 3473 3474Used by:Timeline
Symbol 3484 ButtonUses:3476 3463 3477Used by:Timeline
Symbol 3485 TextUses:220Used by:Timeline
Symbol 3486 TextUses:220 3479Used by:Timeline
Symbol 3487 TextUses:220Used by:Timeline
Symbol 3488 TextUses:220Used by:3490  Timeline
Symbol 3489 GraphicUsed by:3490
Symbol 3490 ButtonUses:3488 3489Used by:Timeline
Symbol 3491 TextUses:220Used by:3493  Timeline
Symbol 3492 GraphicUsed by:3493
Symbol 3493 ButtonUses:3491 3492Used by:Timeline
Symbol 3494 TextUses:220Used by:3496  Timeline
Symbol 3495 GraphicUsed by:3496
Symbol 3496 ButtonUses:3494 3495Used by:Timeline
Symbol 3497 TextUses:220Used by:Timeline
Symbol 3498 TextUses:220Used by:Timeline
Symbol 3499 TextUses:220Used by:Timeline
Symbol 3500 TextUses:220Used by:Timeline
Symbol 3501 TextUses:220Used by:3503
Symbol 3502 GraphicUsed by:3503
Symbol 3503 ButtonUses:3501 3502Used by:Timeline
Symbol 3504 TextUses:220Used by:3506
Symbol 3505 GraphicUsed by:3506
Symbol 3506 ButtonUses:3504 3505Used by:Timeline
Symbol 3507 TextUses:220Used by:3509
Symbol 3508 GraphicUsed by:3509
Symbol 3509 ButtonUses:3507 3508Used by:Timeline
Symbol 3510 TextUses:220Used by:3512
Symbol 3511 GraphicUsed by:3512
Symbol 3512 ButtonUses:3510 3511Used by:Timeline
Symbol 3513 TextUses:220Used by:Timeline
Symbol 3514 TextUses:220Used by:Timeline
Symbol 3515 TextUses:220Used by:Timeline
Symbol 3516 TextUses:220Used by:3518
Symbol 3517 GraphicUsed by:3518
Symbol 3518 ButtonUses:3516 3517Used by:Timeline
Symbol 3519 TextUses:220Used by:3521
Symbol 3520 GraphicUsed by:3521
Symbol 3521 ButtonUses:3519 3520Used by:Timeline
Symbol 3522 TextUses:220Used by:3524
Symbol 3523 GraphicUsed by:3524
Symbol 3524 ButtonUses:3522 3523Used by:Timeline
Symbol 3525 TextUses:220Used by:3527
Symbol 3526 GraphicUsed by:3527
Symbol 3527 ButtonUses:3525 3526Used by:Timeline
Symbol 3528 TextUses:220Used by:Timeline
Symbol 3529 TextUses:220Used by:Timeline
Symbol 3530 TextUses:220Used by:Timeline
Symbol 3531 TextUses:220Used by:3533
Symbol 3532 GraphicUsed by:3533
Symbol 3533 ButtonUses:3531 3532Used by:Timeline
Symbol 3534 TextUses:220Used by:3536
Symbol 3535 GraphicUsed by:3536
Symbol 3536 ButtonUses:3534 3535Used by:Timeline
Symbol 3537 TextUses:220Used by:3539
Symbol 3538 GraphicUsed by:3539
Symbol 3539 ButtonUses:3537 3538Used by:Timeline
Symbol 3540 TextUses:220Used by:3542
Symbol 3541 GraphicUsed by:3542
Symbol 3542 ButtonUses:3540 3541Used by:Timeline
Symbol 3543 TextUses:220Used by:Timeline
Symbol 3544 TextUses:220Used by:Timeline
Symbol 3545 TextUses:220Used by:Timeline
Symbol 3546 TextUses:220Used by:3548
Symbol 3547 GraphicUsed by:3548
Symbol 3548 ButtonUses:3546 3547Used by:Timeline
Symbol 3549 TextUses:220Used by:3551
Symbol 3550 GraphicUsed by:3551
Symbol 3551 ButtonUses:3549 3550Used by:Timeline
Symbol 3552 TextUses:220Used by:3554
Symbol 3553 GraphicUsed by:3554
Symbol 3554 ButtonUses:3552 3553Used by:Timeline
Symbol 3555 TextUses:220Used by:3557
Symbol 3556 GraphicUsed by:3557
Symbol 3557 ButtonUses:3555 3556Used by:Timeline
Symbol 3558 TextUses:220Used by:Timeline
Symbol 3559 TextUses:220 3479Used by:Timeline
Symbol 3560 TextUses:220Used by:Timeline
Symbol 3561 TextUses:220Used by:3563 3574 3579 5024 5173 5190 5203 5216 5251
Symbol 3562 GraphicUsed by:3563 3574 3579 5024 5173 5190 5203 5216 5251
Symbol 3563 ButtonUses:3561 3562Used by:Timeline
Symbol 3564 TextUses:220Used by:3566 3575 3634 5229 5232 5248
Symbol 3565 GraphicUsed by:3566 3575 3634 5229 5232 5248
Symbol 3566 ButtonUses:3564 3565Used by:Timeline
Symbol 3567 TextUses:220Used by:Timeline
Symbol 3568 TextUses:220Used by:3571
Symbol 3569 BitmapUsed by:3570
Symbol 3570 GraphicUses:3569Used by:3571
Symbol 3571 MovieClipUses:3568 3570Used by:Timeline
Symbol 3572 TextUses:220Used by:Timeline
Symbol 3573 TextUses:220Used by:Timeline
Symbol 3574 ButtonUses:3561 3562Used by:Timeline
Symbol 3575 ButtonUses:3564 3565Used by:Timeline
Symbol 3576 TextUses:220Used by:Timeline
Symbol 3577 TextUses:220Used by:Timeline
Symbol 3578 TextUses:220Used by:Timeline
Symbol 3579 ButtonUses:3561 3562Used by:Timeline
Symbol 3580 TextUses:220Used by:Timeline
Symbol 3581 TextUses:220Used by:Timeline
Symbol 3582 TextUses:220Used by:Timeline
Symbol 3583 ButtonUses:3471 3472 3473 3474Used by:Timeline
Symbol 3584 TextUses:220Used by:Timeline
Symbol 3585 TextUses:220 3479Used by:Timeline
Symbol 3586 TextUses:220Used by:Timeline
Symbol 3587 TextUses:220Used by:3589
Symbol 3588 GraphicUsed by:3589
Symbol 3589 ButtonUses:3587 3588Used by:Timeline
Symbol 3590 TextUses:220Used by:3593
Symbol 3591 GraphicUsed by:3593
Symbol 3592 TextUses:220Used by:3593
Symbol 3593 ButtonUses:3590 3591 3592Used by:Timeline
Symbol 3594 TextUses:220Used by:3596
Symbol 3595 GraphicUsed by:3596
Symbol 3596 ButtonUses:3594 3595Used by:Timeline
Symbol 3597 TextUses:220Used by:3599
Symbol 3598 GraphicUsed by:3599
Symbol 3599 ButtonUses:3597 3598Used by:Timeline
Symbol 3600 TextUses:220 3479Used by:Timeline
Symbol 3601 TextUses:220Used by:Timeline
Symbol 3602 TextUses:220Used by:Timeline
Symbol 3603 TextUses:220Used by:3605
Symbol 3604 GraphicUsed by:3605
Symbol 3605 ButtonUses:3603 3604Used by:Timeline
Symbol 3606 TextUses:220Used by:3608
Symbol 3607 GraphicUsed by:3608
Symbol 3608 ButtonUses:3606 3607Used by:Timeline
Symbol 3609 TextUses:220Used by:3611
Symbol 3610 GraphicUsed by:3611
Symbol 3611 ButtonUses:3609 3610Used by:Timeline
Symbol 3612 TextUses:220Used by:3614
Symbol 3613 GraphicUsed by:3614
Symbol 3614 ButtonUses:3612 3613Used by:Timeline
Symbol 3615 TextUses:220Used by:3617
Symbol 3616 GraphicUsed by:3617
Symbol 3617 ButtonUses:3615 3616Used by:Timeline
Symbol 3618 TextUses:220Used by:Timeline
Symbol 3619 TextUses:220Used by:Timeline
Symbol 3620 ButtonUses:3471 3472 3473 3474Used by:Timeline
Symbol 3621 TextUses:220Used by:Timeline
Symbol 3622 TextUses:220Used by:3625
Symbol 3623 BitmapUsed by:3624
Symbol 3624 GraphicUses:3623Used by:3625
Symbol 3625 MovieClipUses:3622 3624Used by:Timeline
Symbol 3626 TextUses:220Used by:Timeline
Symbol 3627 BitmapUsed by:3628
Symbol 3628 GraphicUses:3627Used by:3629
Symbol 3629 MovieClipUses:3628Used by:Timeline
Symbol 3630 TextUses:220Used by:Timeline
Symbol 3631 TextUses:220Used by:Timeline
Symbol 3632 TextUses:220Used by:Timeline
Symbol 3633 TextUses:220Used by:Timeline
Symbol 3634 ButtonUses:3564 3565Used by:Timeline
Symbol 3635 TextUses:220Used by:Timeline
Symbol 3636 GraphicUsed by:Timeline
Symbol 3637 TextUses:220Used by:Timeline
Symbol 3638 TextUses:220Used by:3640
Symbol 3639 GraphicUsed by:3640
Symbol 3640 ButtonUses:3638 3639Used by:Timeline
Symbol 3641 TextUses:220Used by:3642
Symbol 3642 ButtonUses:3641Used by:3643
Symbol 3643 ButtonUses:3642 744Used by:Timeline
Symbol 3644 TextUses:220Used by:3648
Symbol 3645 TextUses:220Used by:3648
Symbol 3646 GraphicUsed by:3648
Symbol 3647 TextUses:220Used by:3648
Symbol 3648 ButtonUses:3644 3645 3646 3647Used by:Timeline
Symbol 3649 TextUses:220Used by:Timeline
Symbol 3650 TextUses:220Used by:Timeline
Symbol 3651 TextUses:220Used by:Timeline
Symbol 3652 TextUses:220Used by:3654
Symbol 3653 GraphicUsed by:3654
Symbol 3654 ButtonUses:3652 3653Used by:Timeline
Symbol 3655 TextUses:220Used by:3657
Symbol 3656 GraphicUsed by:3657
Symbol 3657 ButtonUses:3655 3656Used by:Timeline
Symbol 3658 TextUses:220Used by:Timeline
Symbol 3659 TextUses:220Used by:Timeline
Symbol 3660 GraphicUsed by:Timeline
Symbol 3661 TextUses:220Used by:3665
Symbol 3662 TextUses:736Used by:3665
Symbol 3663 TextUses:220Used by:3665
Symbol 3664 TextUses:736Used by:3665
Symbol 3665 ButtonUses:3661 3662 3663 3664 1592Used by:3678
Symbol 3666 TextUses:220Used by:3670
Symbol 3667 TextUses:736Used by:3670
Symbol 3668 TextUses:220Used by:3670
Symbol 3669 TextUses:736Used by:3670
Symbol 3670 ButtonUses:3666 3667 3668 3669 1592Used by:3678
Symbol 3671 TextUses:220Used by:3675
Symbol 3672 TextUses:736Used by:3675
Symbol 3673 TextUses:220Used by:3675
Symbol 3674 TextUses:736Used by:3675
Symbol 3675 ButtonUses:3671 3672 3673 3674 1592Used by:3678
Symbol 3676 EditableTextUses:727Used by:3678
Symbol 3677 GraphicUsed by:3678 3784 4400 4639
Symbol 3678 MovieClipUses:3665 3670 3675 3676 3677Used by:Timeline
Symbol 3679 TextUses:220Used by:3681
Symbol 3680 GraphicUsed by:3681
Symbol 3681 MovieClipUses:3679 3680Used by:3700
Symbol 3682 TextUses:220Used by:3684
Symbol 3683 GraphicUsed by:3684
Symbol 3684 MovieClipUses:3682 3683Used by:3700
Symbol 3685 TextUses:220Used by:3687 3694
Symbol 3686 GraphicUsed by:3687
Symbol 3687 MovieClipUses:3685 3686Used by:3695
Symbol 3688 TextUses:220Used by:3691
Symbol 3689 TextUses:220Used by:3691
Symbol 3690 MovieClipUses:855Used by:3691
Symbol 3691 MovieClipUses:3688 3689 3690Used by:3692
Symbol 3692 MovieClipUses:3691Used by:3695
Symbol 3693 GraphicUsed by:3694
Symbol 3694 MovieClipUses:3685 3693Used by:3695
Symbol 3695 MovieClipUses:3687 3692 3694Used by:3700
Symbol 3696 TextUses:736Used by:3700
Symbol 3697 GraphicUsed by:3700
Symbol 3698 GraphicUsed by:3699
Symbol 3699 MovieClipUses:3698Used by:3700
Symbol 3700 MovieClipUses:3681 3684 3695 3696 982 3697 3699Used by:Timeline
Symbol 3701 TextUses:220Used by:3703 3705
Symbol 3702 GraphicUsed by:3705
Symbol 3703 MovieClipUses:3701Used by:3705
Symbol 3704 GraphicUsed by:3705
Symbol 3705 ButtonUses:3701 3702 3703 3704Used by:Timeline
Symbol 3706 TextUses:220Used by:3708
Symbol 3707 GraphicUsed by:3708 3710 3712 3714 3716 3718 3720 3722 3724 3726 3728 3730 3732 3734 3736 3738 3745
Symbol 3708 ButtonUses:769 3706 3707Used by:Timeline
Symbol 3709 TextUses:220Used by:3710
Symbol 3710 ButtonUses:769 3709 3707Used by:Timeline
Symbol 3711 TextUses:220Used by:3712
Symbol 3712 ButtonUses:769 3711 3707Used by:Timeline
Symbol 3713 TextUses:220Used by:3714
Symbol 3714 ButtonUses:769 3713 3707Used by:Timeline
Symbol 3715 TextUses:220Used by:3716
Symbol 3716 ButtonUses:769 3715 3707Used by:Timeline
Symbol 3717 TextUses:220Used by:3718
Symbol 3718 ButtonUses:769 3717 3707Used by:Timeline
Symbol 3719 TextUses:220Used by:3720
Symbol 3720 ButtonUses:769 3719 3707Used by:Timeline
Symbol 3721 TextUses:220Used by:3722
Symbol 3722 ButtonUses:769 3721 3707Used by:Timeline
Symbol 3723 TextUses:220Used by:3724
Symbol 3724 ButtonUses:769 3723 3707Used by:Timeline
Symbol 3725 TextUses:220Used by:3726
Symbol 3726 ButtonUses:769 3725 3707Used by:Timeline
Symbol 3727 TextUses:220Used by:3728
Symbol 3728 ButtonUses:769 3727 3707Used by:Timeline
Symbol 3729 TextUses:220Used by:3730
Symbol 3730 ButtonUses:769 3729 3707Used by:Timeline
Symbol 3731 TextUses:220Used by:3732
Symbol 3732 ButtonUses:769 3731 3707Used by:Timeline
Symbol 3733 TextUses:220Used by:3734
Symbol 3734 ButtonUses:769 3733 3707Used by:Timeline
Symbol 3735 TextUses:220Used by:3736
Symbol 3736 ButtonUses:769 3735 3707Used by:Timeline
Symbol 3737 TextUses:220Used by:3738
Symbol 3738 ButtonUses:769 3737 3707Used by:Timeline
Symbol 3739 TextUses:220Used by:3741
Symbol 3740 GraphicUsed by:3741 3743
Symbol 3741 ButtonUses:769 3739 3740Used by:Timeline
Symbol 3742 TextUses:220Used by:3743
Symbol 3743 ButtonUses:769 3742 3740Used by:Timeline
Symbol 3744 TextUses:220Used by:3745
Symbol 3745 ButtonUses:769 3744 3707Used by:Timeline
Symbol 3746 TextUses:220Used by:Timeline
Symbol 3747 TextUses:220Used by:3751
Symbol 3748 TextUses:220Used by:3751
Symbol 3749 TextUses:220Used by:3751
Symbol 3750 GraphicUsed by:3751
Symbol 3751 ButtonUses:3747 3748 3749 3750Used by:3784
Symbol 3752 TextUses:220Used by:3756
Symbol 3753 TextUses:220Used by:3756
Symbol 3754 TextUses:220Used by:3756
Symbol 3755 GraphicUsed by:3756
Symbol 3756 ButtonUses:3752 3753 3754 3755Used by:3784
Symbol 3757 TextUses:220Used by:3761
Symbol 3758 TextUses:220Used by:3761
Symbol 3759 TextUses:220Used by:3761
Symbol 3760 GraphicUsed by:3761
Symbol 3761 ButtonUses:3757 3758 3759 3760Used by:3784
Symbol 3762 TextUses:220Used by:3766
Symbol 3763 TextUses:220Used by:3766
Symbol 3764 TextUses:220Used by:3766
Symbol 3765 GraphicUsed by:3766
Symbol 3766 ButtonUses:3762 3763 3764 3765Used by:3784
Symbol 3767 TextUses:220Used by:3771
Symbol 3768 TextUses:220Used by:3771
Symbol 3769 TextUses:220Used by:3771
Symbol 3770 GraphicUsed by:3771
Symbol 3771 ButtonUses:3767 3768 3769 3770Used by:3784
Symbol 3772 TextUses:220Used by:3776
Symbol 3773 TextUses:220Used by:3776
Symbol 3774 TextUses:220Used by:3776
Symbol 3775 GraphicUsed by:3776
Symbol 3776 ButtonUses:3772 3773 3774 3775Used by:3784
Symbol 3777 TextUses:220Used by:3782
Symbol 3778 TextUses:220Used by:3782
Symbol 3779 TextUses:220Used by:3782
Symbol 3780 GraphicUsed by:3782
Symbol 3781 TextUses:220Used by:3782
Symbol 3782 ButtonUses:3777 3778 3779 3780 3781Used by:3784
Symbol 3783 EditableTextUses:727Used by:3784
Symbol 3784 MovieClipUses:3751 3756 3761 3766 3771 3776 3782 3783 3677Used by:Timeline
Symbol 3785 TextUses:220Used by:Timeline
Symbol 3786 TextUses:220Used by:Timeline
Symbol 3787 TextUses:220Used by:Timeline
Symbol 3788 EditableTextUses:220 736 3479Used by:Timeline
Symbol 3789 TextUses:220Used by:Timeline
Symbol 3790 TextUses:220Used by:Timeline
Symbol 3791 TextUses:220 3479Used by:Timeline
Symbol 3792 TextUses:220Used by:Timeline
Symbol 3793 BitmapUsed by:3794
Symbol 3794 GraphicUses:3793Used by:3795
Symbol 3795 MovieClipUses:3794Used by:Timeline
Symbol 3796 TextUses:220Used by:Timeline
Symbol 3797 GraphicUsed by:Timeline
Symbol 3798 TextUses:220Used by:Timeline
Symbol 3799 ButtonUses:1543 1544 1545 1546 1547Used by:Timeline
Symbol 3800 TextUses:220Used by:Timeline
Symbol 3801 TextUses:220Used by:Timeline
Symbol 3802 TextUses:220Used by:Timeline
Symbol 3803 TextUses:220Used by:Timeline
Symbol 3804 TextUses:220Used by:Timeline
Symbol 3805 TextUses:220Used by:Timeline
Symbol 3806 TextUses:220Used by:Timeline
Symbol 3807 TextUses:220Used by:Timeline
Symbol 3808 BitmapUsed by:3809
Symbol 3809 GraphicUses:3808Used by:3810
Symbol 3810 MovieClipUses:3809Used by:Timeline
Symbol 3811 TextUses:220Used by:Timeline
Symbol 3812 GraphicUsed by:Timeline
Symbol 3813 TextUses:220Used by:Timeline
Symbol 3814 TextUses:220Used by:Timeline
Symbol 3815 TextUses:220Used by:Timeline
Symbol 3816 GraphicUsed by:Timeline
Symbol 3817 TextUses:220Used by:3821
Symbol 3818 TextUses:220Used by:3821
Symbol 3819 BitmapUsed by:3820 3826 3840
Symbol 3820 GraphicUses:3819Used by:3821
Symbol 3821 MovieClipUses:3817 3818 3820Used by:Timeline
Symbol 3822 TextUses:220Used by:Timeline
Symbol 3823 BitmapUsed by:3824 3840
Symbol 3824 GraphicUses:3823Used by:3825
Symbol 3825 MovieClipUses:3824Used by:Timeline
Symbol 3826 GraphicUses:3819Used by:Timeline
Symbol 3827 TextUses:220Used by:Timeline
Symbol 3828 GraphicUsed by:Timeline
Symbol 3829 TextUses:220Used by:Timeline
Symbol 3830 TextUses:220Used by:Timeline
Symbol 3831 TextUses:220Used by:Timeline
Symbol 3832 BitmapUsed by:3833
Symbol 3833 GraphicUses:3832Used by:3834
Symbol 3834 MovieClipUses:3833Used by:Timeline
Symbol 3835 TextUses:220Used by:Timeline
Symbol 3836 BitmapUsed by:3837
Symbol 3837 GraphicUses:3836Used by:3838
Symbol 3838 MovieClipUses:3837Used by:Timeline
Symbol 3839 TextUses:220Used by:Timeline
Symbol 3840 GraphicUses:3819 3823Used by:Timeline
Symbol 3841 TextUses:220Used by:Timeline
Symbol 3842 BitmapUsed by:3843
Symbol 3843 GraphicUses:3842Used by:3844
Symbol 3844 MovieClipUses:3843Used by:Timeline
Symbol 3845 TextUses:220Used by:Timeline
Symbol 3846 TextUses:220Used by:Timeline
Symbol 3847 TextUses:220Used by:Timeline
Symbol 3848 TextUses:220Used by:Timeline
Symbol 3849 BitmapUsed by:3850
Symbol 3850 GraphicUses:3849Used by:3851
Symbol 3851 MovieClipUses:3850Used by:Timeline
Symbol 3852 TextUses:220Used by:Timeline
Symbol 3853 GraphicUsed by:Timeline
Symbol 3854 TextUses:220Used by:Timeline
Symbol 3855 TextUses:220Used by:Timeline
Symbol 3856 GraphicUsed by:Timeline
Symbol 3857 BitmapUsed by:3858
Symbol 3858 GraphicUses:3857Used by:3859
Symbol 3859 MovieClipUses:3858Used by:Timeline
Symbol 3860 TextUses:220Used by:Timeline
Symbol 3861 GraphicUsed by:Timeline
Symbol 3862 TextUses:220Used by:Timeline
Symbol 3863 TextUses:220Used by:Timeline
Symbol 3864 TextUses:220Used by:Timeline
Symbol 3865 TextUses:220Used by:Timeline
Symbol 3866 TextUses:220Used by:Timeline
Symbol 3867 TextUses:220Used by:Timeline
Symbol 3868 TextUses:220Used by:Timeline
Symbol 3869 TextUses:220Used by:Timeline
Symbol 3870 TextUses:220Used by:Timeline
Symbol 3871 TextUses:220Used by:Timeline
Symbol 3872 TextUses:220Used by:Timeline
Symbol 3873 TextUses:220Used by:Timeline
Symbol 3874 TextUses:220Used by:Timeline
Symbol 3875 TextUses:220Used by:Timeline
Symbol 3876 TextUses:220Used by:Timeline
Symbol 3877 TextUses:220Used by:Timeline
Symbol 3878 GraphicUsed by:Timeline
Symbol 3879 TextUses:220Used by:Timeline
Symbol 3880 TextUses:220Used by:3885
Symbol 3881 TextUses:220Used by:3885
Symbol 3882 TextUses:220Used by:3885
Symbol 3883 BitmapUsed by:3884
Symbol 3884 GraphicUses:3883Used by:3885
Symbol 3885 MovieClipUses:3880 3881 3882 3884Used by:Timeline
Symbol 3886 TextUses:220Used by:Timeline
Symbol 3887 TextUses:220Used by:Timeline
Symbol 3888 TextUses:220Used by:Timeline
Symbol 3889 TextUses:220Used by:Timeline
Symbol 3890 TextUses:220Used by:Timeline
Symbol 3891 TextUses:220Used by:Timeline
Symbol 3892 TextUses:220Used by:Timeline
Symbol 3893 TextUses:220Used by:Timeline
Symbol 3894 TextUses:220Used by:Timeline
Symbol 3895 TextUses:220Used by:Timeline
Symbol 3896 TextUses:220Used by:Timeline
Symbol 3897 TextUses:220Used by:Timeline
Symbol 3898 TextUses:220Used by:Timeline
Symbol 3899 TextUses:220Used by:Timeline
Symbol 3900 TextUses:220Used by:3906
Symbol 3901 TextUses:220Used by:3906
Symbol 3902 TextUses:220Used by:3906
Symbol 3903 TextUses:220Used by:3906
Symbol 3904 BitmapUsed by:3905
Symbol 3905 GraphicUses:3904Used by:3906
Symbol 3906 MovieClipUses:3900 3901 3902 3903 3905Used by:Timeline
Symbol 3907 TextUses:220Used by:Timeline
Symbol 3908 TextUses:220Used by:Timeline
Symbol 3909 GraphicUsed by:3910
Symbol 3910 MovieClipUses:3909Used by:3914
Symbol 3911 BitmapUsed by:3912
Symbol 3912 GraphicUses:3911Used by:3913
Symbol 3913 MovieClipUses:3912Used by:3914
Symbol 3914 MovieClipUses:3913 3910Used by:Timeline
Symbol 3915 TextUses:220Used by:Timeline
Symbol 3916 TextUses:220Used by:Timeline
Symbol 3917 BitmapUsed by:3918
Symbol 3918 GraphicUses:3917Used by:3919
Symbol 3919 MovieClipUses:3918Used by:Timeline
Symbol 3920 TextUses:220Used by:Timeline
Symbol 3921 BitmapUsed by:3922
Symbol 3922 GraphicUses:3921Used by:3923
Symbol 3923 MovieClipUses:3922Used by:Timeline
Symbol 3924 TextUses:220Used by:Timeline
Symbol 3925 TextUses:220Used by:Timeline
Symbol 3926 TextUses:220Used by:Timeline
Symbol 3927 EditableTextUses:727Used by:Timeline
Symbol 3928 GraphicUsed by:3929
Symbol 3929 MovieClipUses:3928Used by:Timeline
Symbol 3930 ShapeTweeningUsed by:3933
Symbol 3931 ShapeTweeningUsed by:3933
Symbol 3932 GraphicUsed by:3933
Symbol 3933 MovieClipUses:3930 3931 3932Used by:Timeline
Symbol 3934 TextUses:220Used by:Timeline
Symbol 3935 TextUses:220Used by:Timeline
Symbol 3936 TextUses:220Used by:Timeline
Symbol 3937 TextUses:220Used by:Timeline
Symbol 3938 TextUses:220Used by:Timeline
Symbol 3939 BitmapUsed by:3940
Symbol 3940 GraphicUses:3939Used by:3941
Symbol 3941 MovieClipUses:3940Used by:Timeline
Symbol 3942 TextUses:220Used by:Timeline
Symbol 3943 BitmapUsed by:3944
Symbol 3944 GraphicUses:3943Used by:3945
Symbol 3945 MovieClipUses:3944Used by:Timeline
Symbol 3946 TextUses:220Used by:Timeline
Symbol 3947 TextUses:220Used by:Timeline
Symbol 3948 TextUses:220Used by:Timeline
Symbol 3949 BitmapUsed by:3950
Symbol 3950 GraphicUses:3949Used by:3951
Symbol 3951 MovieClipUses:3950Used by:Timeline
Symbol 3952 BitmapUsed by:3953
Symbol 3953 GraphicUses:3952Used by:3954
Symbol 3954 MovieClipUses:3953Used by:Timeline
Symbol 3955 TextUses:220Used by:Timeline
Symbol 3956 BitmapUsed by:3957
Symbol 3957 GraphicUses:3956Used by:3958
Symbol 3958 MovieClipUses:3957Used by:Timeline
Symbol 3959 TextUses:220Used by:Timeline
Symbol 3960 BitmapUsed by:3961
Symbol 3961 GraphicUses:3960Used by:3962
Symbol 3962 MovieClipUses:3961Used by:Timeline
Symbol 3963 TextUses:220Used by:Timeline
Symbol 3964 BitmapUsed by:3965
Symbol 3965 GraphicUses:3964Used by:3966
Symbol 3966 MovieClipUses:3965Used by:Timeline
Symbol 3967 TextUses:220Used by:Timeline
Symbol 3968 TextUses:220Used by:Timeline
Symbol 3969 TextUses:220Used by:Timeline
Symbol 3970 BitmapUsed by:3971
Symbol 3971 GraphicUses:3970Used by:3972
Symbol 3972 MovieClipUses:3971Used by:Timeline
Symbol 3973 BitmapUsed by:3974
Symbol 3974 GraphicUses:3973Used by:3975
Symbol 3975 MovieClipUses:3974Used by:Timeline
Symbol 3976 TextUses:220Used by:Timeline
Symbol 3977 TextUses:220Used by:Timeline
Symbol 3978 TextUses:220Used by:Timeline
Symbol 3979 MovieClipUses:1749Used by:Timeline
Symbol 3980 MovieClipUses:1749Used by:Timeline
Symbol 3981 TextUses:220Used by:Timeline
Symbol 3982 TextUses:220Used by:Timeline
Symbol 3983 BitmapUsed by:3984
Symbol 3984 GraphicUses:3983Used by:3985
Symbol 3985 MovieClipUses:3984Used by:Timeline
Symbol 3986 TextUses:220Used by:Timeline
Symbol 3987 TextUses:220Used by:Timeline
Symbol 3988 BitmapUsed by:3989
Symbol 3989 GraphicUses:3988Used by:3990
Symbol 3990 MovieClipUses:3989Used by:Timeline
Symbol 3991 TextUses:220Used by:Timeline
Symbol 3992 TextUses:220Used by:Timeline
Symbol 3993 MovieClipUses:1749Used by:Timeline
Symbol 3994 MovieClipUses:1749Used by:Timeline
Symbol 3995 MovieClipUses:1749Used by:Timeline
Symbol 3996 TextUses:220Used by:Timeline
Symbol 3997 TextUses:220Used by:Timeline
Symbol 3998 TextUses:220Used by:Timeline
Symbol 3999 TextUses:220Used by:Timeline
Symbol 4000 TextUses:220Used by:Timeline
Symbol 4001 BitmapUsed by:4002
Symbol 4002 GraphicUses:4001Used by:4003
Symbol 4003 MovieClipUses:4002Used by:Timeline
Symbol 4004 TextUses:220Used by:Timeline
Symbol 4005 BitmapUsed by:4006
Symbol 4006 GraphicUses:4005Used by:4007
Symbol 4007 MovieClipUses:4006Used by:Timeline
Symbol 4008 TextUses:220Used by:Timeline
Symbol 4009 BitmapUsed by:4010
Symbol 4010 GraphicUses:4009Used by:4011
Symbol 4011 MovieClipUses:4010Used by:Timeline
Symbol 4012 TextUses:220Used by:Timeline
Symbol 4013 BitmapUsed by:4014
Symbol 4014 GraphicUses:4013Used by:4015
Symbol 4015 MovieClipUses:4014Used by:Timeline
Symbol 4016 TextUses:220Used by:Timeline
Symbol 4017 BitmapUsed by:4018
Symbol 4018 GraphicUses:4017Used by:4019
Symbol 4019 MovieClipUses:4018Used by:Timeline
Symbol 4020 TextUses:220Used by:Timeline
Symbol 4021 TextUses:220Used by:4025
Symbol 4022 TextUses:220Used by:4025
Symbol 4023 BitmapUsed by:4024
Symbol 4024 GraphicUses:4023Used by:4025
Symbol 4025 MovieClipUses:4021 4022 4024Used by:Timeline
Symbol 4026 TextUses:220Used by:Timeline
Symbol 4027 TextUses:220Used by:Timeline
Symbol 4028 MovieClipUses:1749Used by:Timeline
Symbol 4029 TextUses:220Used by:Timeline
Symbol 4030 TextUses:220Used by:Timeline
Symbol 4031 BitmapUsed by:4032
Symbol 4032 GraphicUses:4031Used by:4033
Symbol 4033 MovieClipUses:4032Used by:Timeline
Symbol 4034 TextUses:220Used by:Timeline
Symbol 4035 BitmapUsed by:4036
Symbol 4036 GraphicUses:4035Used by:4037
Symbol 4037 MovieClipUses:4036Used by:Timeline
Symbol 4038 TextUses:220Used by:Timeline
Symbol 4039 TextUses:220Used by:Timeline
Symbol 4040 BitmapUsed by:4041
Symbol 4041 GraphicUses:4040Used by:4042
Symbol 4042 MovieClipUses:4041Used by:Timeline
Symbol 4043 TextUses:220Used by:Timeline
Symbol 4044 BitmapUsed by:4045
Symbol 4045 GraphicUses:4044Used by:4046
Symbol 4046 MovieClipUses:4045Used by:Timeline
Symbol 4047 TextUses:220Used by:Timeline
Symbol 4048 TextUses:220Used by:Timeline
Symbol 4049 TextUses:220Used by:4054
Symbol 4050 TextUses:220Used by:4054
Symbol 4051 TextUses:220Used by:4054
Symbol 4052 BitmapUsed by:4053
Symbol 4053 GraphicUses:4052Used by:4054
Symbol 4054 MovieClipUses:4049 4050 4051 4053Used by:Timeline
Symbol 4055 TextUses:220Used by:Timeline
Symbol 4056 TextUses:220Used by:Timeline
Symbol 4057 TextUses:220Used by:Timeline
Symbol 4058 BitmapUsed by:4059
Symbol 4059 GraphicUses:4058Used by:4060
Symbol 4060 MovieClipUses:4059Used by:Timeline
Symbol 4061 BitmapUsed by:4062
Symbol 4062 GraphicUses:4061Used by:4063
Symbol 4063 MovieClipUses:4062Used by:Timeline
Symbol 4064 BitmapUsed by:4065
Symbol 4065 GraphicUses:4064Used by:4066
Symbol 4066 MovieClipUses:4065Used by:Timeline
Symbol 4067 TextUses:220Used by:Timeline
Symbol 4068 TextUses:220Used by:Timeline
Symbol 4069 GraphicUsed by:Timeline
Symbol 4070 TextUses:220Used by:Timeline
Symbol 4071 TextUses:220Used by:Timeline
Symbol 4072 FontUsed by:4073
Symbol 4073 TextUses:4072Used by:Timeline
Symbol 4074 BitmapUsed by:4075 4077 4085 4089 4090 4103 4104 4109 4121 4132 4133 4143 4144 4157 4164 4165 4177 4184 4187 4194 4197 4204 4207 4211 4216 4219 4228 4241 4245 4246 4249 4251
Symbol 4075 GraphicUses:4074Used by:4076
Symbol 4076 ButtonUses:4075Used by:Timeline
Symbol 4077 GraphicUses:4074Used by:4084
Symbol 4078 TextUses:220Used by:4084
Symbol 4079 BitmapUsed by:4080
Symbol 4080 GraphicUses:4079Used by:4081
Symbol 4081 MovieClipUses:4080Used by:4084
Symbol 4082 TextUses:220Used by:4084
Symbol 4083 GraphicUsed by:4084 4108
Symbol 4084 ButtonUses:4077 4078 4081 4082 4083Used by:Timeline
Symbol 4085 GraphicUses:4074Used by:4088
Symbol 4086 TextUses:220Used by:4088
Symbol 4087 GraphicUsed by:4088 4218
Symbol 4088 ButtonUses:4085 4086 4087Used by:Timeline
Symbol 4089 GraphicUses:4074Used by:4102
Symbol 4090 GraphicUses:4074Used by:4102
Symbol 4091 TextUses:220Used by:4102
Symbol 4092 TextUses:220Used by:4102
Symbol 4093 TextUses:220Used by:4100
Symbol 4094 TextUses:220Used by:4100
Symbol 4095 TextUses:220Used by:4100
Symbol 4096 TextUses:220Used by:4100
Symbol 4097 TextUses:220Used by:4100
Symbol 4098 BitmapUsed by:4099
Symbol 4099 GraphicUses:4098Used by:4100
Symbol 4100 MovieClipUses:4093 4094 4095 4096 4097 4099Used by:4102
Symbol 4101 GraphicUsed by:4102
Symbol 4102 ButtonUses:4089 4090 4091 4092 4100 4101Used by:Timeline
Symbol 4103 GraphicUses:4074Used by:4108
Symbol 4104 GraphicUses:4074Used by:4108
Symbol 4105 TextUses:220Used by:4108
Symbol 4106 TextUses:220Used by:4108
Symbol 4107 TextUses:220Used by:4108
Symbol 4108 ButtonUses:4103 4104 4105 4106 4107 4083Used by:Timeline
Symbol 4109 GraphicUses:4074Used by:4120
Symbol 4110 TextUses:220Used by:4120
Symbol 4111 TextUses:220Used by:4118
Symbol 4112 TextUses:220Used by:4118
Symbol 4113 TextUses:220Used by:4118
Symbol 4114 TextUses:220Used by:4118
Symbol 4115 TextUses:220Used by:4118
Symbol 4116 BitmapUsed by:4117
Symbol 4117 GraphicUses:4116Used by:4118
Symbol 4118 MovieClipUses:4111 4112 4113 4114 4115 4117Used by:4120
Symbol 4119 GraphicUsed by:4120 4131 4142 4156 4163 4176 4183 4186 4193 4196 4203 4206
Symbol 4120 ButtonUses:4109 4110 4118 4119Used by:Timeline
Symbol 4121 GraphicUses:4074Used by:4131
Symbol 4122 TextUses:220Used by:4131
Symbol 4123 TextUses:220Used by:4130
Symbol 4124 TextUses:220Used by:4130
Symbol 4125 TextUses:220Used by:4130
Symbol 4126 TextUses:220Used by:4130
Symbol 4127 TextUses:220Used by:4130
Symbol 4128 BitmapUsed by:4129
Symbol 4129 GraphicUses:4128Used by:4130
Symbol 4130 MovieClipUses:4123 4124 4125 4126 4127 4129Used by:4131 4215
Symbol 4131 ButtonUses:4121 4122 4130 4119Used by:Timeline
Symbol 4132 GraphicUses:4074Used by:4142
Symbol 4133 GraphicUses:4074Used by:4142
Symbol 4134 TextUses:220Used by:4142
Symbol 4135 BitmapUsed by:4136
Symbol 4136 GraphicUses:4135Used by:4137
Symbol 4137 MovieClipUses:4136Used by:4142
Symbol 4138 BitmapUsed by:4139
Symbol 4139 GraphicUses:4138Used by:4140
Symbol 4140 MovieClipUses:4139Used by:4142
Symbol 4141 TextUses:220Used by:4142 4156 4176
Symbol 4142 ButtonUses:4132 4133 4134 4137 4140 4141 4119Used by:Timeline
Symbol 4143 GraphicUses:4074Used by:4156
Symbol 4144 GraphicUses:4074Used by:4156
Symbol 4145 TextUses:220Used by:4156
Symbol 4146 BitmapUsed by:4147
Symbol 4147 GraphicUses:4146Used by:4148
Symbol 4148 MovieClipUses:4147Used by:4156
Symbol 4149 TextUses:220Used by:4156
Symbol 4150 BitmapUsed by:4151
Symbol 4151 GraphicUses:4150Used by:4152
Symbol 4152 MovieClipUses:4151Used by:4156
Symbol 4153 BitmapUsed by:4154
Symbol 4154 GraphicUses:4153Used by:4155
Symbol 4155 MovieClipUses:4154Used by:4156
Symbol 4156 ButtonUses:4143 4144 4145 4148 4149 4152 4141 4155 4119Used by:Timeline
Symbol 4157 GraphicUses:4074Used by:4163
Symbol 4158 TextUses:220Used by:4163
Symbol 4159 BitmapUsed by:4160
Symbol 4160 GraphicUses:4159Used by:4161
Symbol 4161 MovieClipUses:4160Used by:4163
Symbol 4162 TextUses:220Used by:4163
Symbol 4163 ButtonUses:4157 4158 4161 4162 4119Used by:Timeline
Symbol 4164 GraphicUses:4074Used by:4176
Symbol 4165 GraphicUses:4074Used by:4176
Symbol 4166 BitmapUsed by:4167
Symbol 4167 GraphicUses:4166Used by:4168
Symbol 4168 MovieClipUses:4167Used by:4176 4203
Symbol 4169 TextUses:220Used by:4176
Symbol 4170 BitmapUsed by:4171
Symbol 4171 GraphicUses:4170Used by:4172
Symbol 4172 MovieClipUses:4171Used by:4176
Symbol 4173 BitmapUsed by:4174
Symbol 4174 GraphicUses:4173Used by:4175
Symbol 4175 MovieClipUses:4174Used by:4176
Symbol 4176 ButtonUses:4164 4165 4168 4169 4172 4175 4141 4119Used by:Timeline
Symbol 4177 GraphicUses:4074Used by:4183
Symbol 4178 TextUses:220Used by:4183
Symbol 4179 BitmapUsed by:4180
Symbol 4180 GraphicUses:4179Used by:4181
Symbol 4181 MovieClipUses:4180Used by:4183
Symbol 4182 TextUses:220Used by:4183
Symbol 4183 ButtonUses:4177 4178 4181 4182 4119Used by:Timeline
Symbol 4184 GraphicUses:4074Used by:4186
Symbol 4185 TextUses:220Used by:4186
Symbol 4186 ButtonUses:4184 4185 4119Used by:Timeline
Symbol 4187 GraphicUses:4074Used by:4193
Symbol 4188 TextUses:220Used by:4193
Symbol 4189 BitmapUsed by:4190
Symbol 4190 GraphicUses:4189Used by:4191
Symbol 4191 MovieClipUses:4190Used by:4193 4196
Symbol 4192 TextUses:220Used by:4193 4196
Symbol 4193 ButtonUses:4187 4188 4191 4192 4119Used by:Timeline
Symbol 4194 GraphicUses:4074Used by:4196
Symbol 4195 TextUses:220Used by:4196
Symbol 4196 ButtonUses:4194 4195 4191 4192 4119Used by:Timeline
Symbol 4197 GraphicUses:4074Used by:4203
Symbol 4198 TextUses:220Used by:4203
Symbol 4199 BitmapUsed by:4200
Symbol 4200 GraphicUses:4199Used by:4201
Symbol 4201 MovieClipUses:4200Used by:4203
Symbol 4202 TextUses:220Used by:4203
Symbol 4203 ButtonUses:4197 4198 1639 2269 4168 4201 4202 4119Used by:Timeline
Symbol 4204 GraphicUses:4074Used by:4206
Symbol 4205 TextUses:220Used by:4206
Symbol 4206 ButtonUses:4204 4205 4119Used by:Timeline
Symbol 4207 GraphicUses:4074Used by:4210
Symbol 4208 TextUses:220Used by:4210
Symbol 4209 GraphicUsed by:4210
Symbol 4210 ButtonUses:4207 4208 4209Used by:Timeline
Symbol 4211 GraphicUses:4074Used by:4215
Symbol 4212 TextUses:220Used by:4215
Symbol 4213 TextUses:220Used by:4215
Symbol 4214 GraphicUsed by:4215
Symbol 4215 ButtonUses:4211 4212 4130 4213 4214Used by:Timeline
Symbol 4216 GraphicUses:4074Used by:4218
Symbol 4217 TextUses:220Used by:4218
Symbol 4218 ButtonUses:4216 4217 4087Used by:Timeline
Symbol 4219 GraphicUses:4074Used by:4227
Symbol 4220 TextUses:220Used by:4227
Symbol 4221 BitmapUsed by:4222
Symbol 4222 GraphicUses:4221Used by:4227
Symbol 4223 TextUses:220Used by:4227
Symbol 4224 TextUses:220Used by:4227
Symbol 4225 TextUses:220Used by:4227
Symbol 4226 TextUses:220Used by:4227
Symbol 4227 ButtonUses:4219 4220 4222 4223 4224 4225 4226Used by:Timeline
Symbol 4228 GraphicUses:4074Used by:4238 4240
Symbol 4229 BitmapUsed by:4230
Symbol 4230 GraphicUses:4229Used by:4240
Symbol 4231 TextUses:220Used by:4240
Symbol 4232 TextUses:220Used by:4240
Symbol 4233 TextUses:220Used by:4240
Symbol 4234 TextUses:220Used by:4240
Symbol 4235 BitmapUsed by:4236
Symbol 4236 GraphicUses:4235Used by:4240
Symbol 4237 TextUses:220Used by:4240
Symbol 4238 MovieClipUses:4228Used by:4240
Symbol 4239 GraphicUsed by:4240
Symbol 4240 ButtonUses:4228 4230 4231 4232 4233 4234 4236 4237 4238 4239Used by:Timeline
Symbol 4241 GraphicUses:4074Used by:4244
Symbol 4242 TextUses:220Used by:4244
Symbol 4243 GraphicUsed by:4244
Symbol 4244 ButtonUses:4241 4242 4243Used by:Timeline
Symbol 4245 GraphicUses:4074Used by:4250
Symbol 4246 GraphicUses:4074Used by:4250
Symbol 4247 TextUses:220Used by:4250
Symbol 4248 GraphicUsed by:4250
Symbol 4249 GraphicUses:4074Used by:4250
Symbol 4250 ButtonUses:4245 4246 4247 4248 4249Used by:Timeline
Symbol 4251 GraphicUses:4074Used by:Timeline
Symbol 4252 TextUses:220Used by:Timeline
Symbol 4253 TextUses:220Used by:Timeline
Symbol 4254 TextUses:745Used by:Timeline
Symbol 4255 TextUses:220Used by:Timeline
Symbol 4256 TextUses:220Used by:Timeline
Symbol 4257 TextUses:220Used by:Timeline
Symbol 4258 TextUses:220Used by:Timeline
Symbol 4259 TextUses:220Used by:Timeline
Symbol 4260 BitmapUsed by:4262 4267 4272
Symbol 4261 BitmapUsed by:4262 4267 4272
Symbol 4262 GraphicUses:4260 4261Used by:Timeline
Symbol 4263 TextUses:220Used by:Timeline
Symbol 4264 TextUses:220Used by:Timeline
Symbol 4265 TextUses:220Used by:Timeline
Symbol 4266 TextUses:220Used by:Timeline
Symbol 4267 GraphicUses:4261 4260Used by:Timeline
Symbol 4268 TextUses:220Used by:Timeline
Symbol 4269 TextUses:220Used by:Timeline
Symbol 4270 TextUses:220Used by:Timeline
Symbol 4271 TextUses:220Used by:Timeline
Symbol 4272 GraphicUses:4260 4261Used by:Timeline
Symbol 4273 TextUses:220Used by:Timeline
Symbol 4274 TextUses:220Used by:Timeline
Symbol 4275 TextUses:220Used by:Timeline
Symbol 4276 TextUses:220Used by:Timeline
Symbol 4277 TextUses:220Used by:Timeline
Symbol 4278 BitmapUsed by:4279
Symbol 4279 GraphicUses:4278Used by:Timeline
Symbol 4280 TextUses:220Used by:Timeline
Symbol 4281 TextUses:220Used by:Timeline
Symbol 4282 TextUses:220Used by:Timeline
Symbol 4283 TextUses:220Used by:Timeline
Symbol 4284 TextUses:220Used by:Timeline
Symbol 4285 TextUses:220Used by:Timeline
Symbol 4286 TextUses:220Used by:Timeline
Symbol 4287 TextUses:220Used by:Timeline
Symbol 4288 TextUses:220Used by:Timeline
Symbol 4289 TextUses:220Used by:Timeline
Symbol 4290 TextUses:220Used by:Timeline
Symbol 4291 TextUses:220Used by:Timeline
Symbol 4292 TextUses:220Used by:Timeline
Symbol 4293 TextUses:220Used by:Timeline
Symbol 4294 TextUses:220Used by:Timeline
Symbol 4295 TextUses:220Used by:Timeline
Symbol 4296 TextUses:220Used by:Timeline
Symbol 4297 TextUses:220Used by:Timeline
Symbol 4298 TextUses:220Used by:Timeline
Symbol 4299 TextUses:220Used by:Timeline
Symbol 4300 TextUses:220Used by:Timeline
Symbol 4301 GraphicUsed by:Timeline
Symbol 4302 TextUses:220Used by:Timeline
Symbol 4303 TextUses:220Used by:Timeline
Symbol 4304 TextUses:220Used by:Timeline
Symbol 4305 TextUses:220Used by:Timeline
Symbol 4306 TextUses:220Used by:Timeline
Symbol 4307 GraphicUsed by:Timeline
Symbol 4308 TextUses:220Used by:Timeline
Symbol 4309 TextUses:220Used by:Timeline
Symbol 4310 TextUses:220Used by:Timeline
Symbol 4311 EditableTextUses:1178Used by:Timeline
Symbol 4312 ButtonUses:1749Used by:Timeline
Symbol 4313 TextUses:220Used by:Timeline
Symbol 4314 TextUses:220Used by:Timeline
Symbol 4315 TextUses:220Used by:Timeline
Symbol 4316 TextUses:220Used by:Timeline
Symbol 4317 TextUses:220Used by:Timeline
Symbol 4318 BitmapUsed by:4319
Symbol 4319 GraphicUses:4318Used by:Timeline
Symbol 4320 TextUses:220Used by:Timeline
Symbol 4321 BitmapUsed by:4322
Symbol 4322 GraphicUses:4321Used by:Timeline
Symbol 4323 TextUses:220Used by:Timeline
Symbol 4324 TextUses:220Used by:Timeline
Symbol 4325 BitmapUsed by:4326
Symbol 4326 GraphicUses:4325Used by:4327
Symbol 4327 MovieClipUses:4326Used by:Timeline
Symbol 4328 TextUses:220Used by:Timeline
Symbol 4329 TextUses:220Used by:Timeline
Symbol 4330 BitmapUsed by:4331
Symbol 4331 GraphicUses:4330Used by:Timeline
Symbol 4332 TextUses:220Used by:Timeline
Symbol 4333 TextUses:220Used by:Timeline
Symbol 4334 TextUses:736Used by:Timeline
Symbol 4335 TextUses:736Used by:Timeline
Symbol 4336 TextUses:736Used by:Timeline
Symbol 4337 TextUses:736Used by:Timeline
Symbol 4338 BitmapUsed by:4339
Symbol 4339 GraphicUses:4338Used by:Timeline
Symbol 4340 TextUses:220Used by:Timeline
Symbol 4341 TextUses:220Used by:Timeline
Symbol 4342 EditableTextUses:727Used by:Timeline
Symbol 4343 TextUses:220Used by:Timeline
Symbol 4344 TextUses:220Used by:Timeline
Symbol 4345 TextUses:220Used by:4349
Symbol 4346 TextUses:220Used by:4349
Symbol 4347 BitmapUsed by:4348
Symbol 4348 GraphicUses:4347Used by:4349
Symbol 4349 MovieClipUses:4345 4346 4348Used by:Timeline
Symbol 4350 TextUses:220Used by:Timeline
Symbol 4351 BitmapUsed by:4352
Symbol 4352 GraphicUses:4351Used by:4353
Symbol 4353 MovieClipUses:4352Used by:Timeline
Symbol 4354 TextUses:220Used by:Timeline
Symbol 4355 TextUses:220Used by:Timeline
Symbol 4356 TextUses:220Used by:Timeline
Symbol 4357 BitmapUsed by:4358
Symbol 4358 GraphicUses:4357Used by:4359
Symbol 4359 MovieClipUses:4358Used by:Timeline
Symbol 4360 TextUses:220Used by:Timeline
Symbol 4361 BitmapUsed by:4362
Symbol 4362 GraphicUses:4361Used by:4363
Symbol 4363 MovieClipUses:4362Used by:Timeline
Symbol 4364 TextUses:220Used by:Timeline
Symbol 4365 TextUses:220Used by:Timeline
Symbol 4366 TextUses:220Used by:4369
Symbol 4367 TextUses:220Used by:4369
Symbol 4368 TextUses:220Used by:4369
Symbol 4369 ButtonUses:4366 4367 4368 1592Used by:4400
Symbol 4370 TextUses:220Used by:4373
Symbol 4371 TextUses:220Used by:4373
Symbol 4372 TextUses:220Used by:4373
Symbol 4373 ButtonUses:4370 4371 4372 1592Used by:4400
Symbol 4374 TextUses:220Used by:4378
Symbol 4375 TextUses:220Used by:4378
Symbol 4376 TextUses:220Used by:4378
Symbol 4377 TextUses:220Used by:4378
Symbol 4378 ButtonUses:4374 4375 4376 1592 4377Used by:4400
Symbol 4379 TextUses:220Used by:4382
Symbol 4380 TextUses:220Used by:4382
Symbol 4381 TextUses:220Used by:4382
Symbol 4382 ButtonUses:4379 4380 4381 1592Used by:4400
Symbol 4383 TextUses:220Used by:4386
Symbol 4384 TextUses:220Used by:4386
Symbol 4385 TextUses:220Used by:4386
Symbol 4386 ButtonUses:4383 4384 4385 1592Used by:4400
Symbol 4387 TextUses:220Used by:4390
Symbol 4388 TextUses:220Used by:4390
Symbol 4389 TextUses:220Used by:4390
Symbol 4390 ButtonUses:4387 4388 4389 1592Used by:4400
Symbol 4391 TextUses:220Used by:4394
Symbol 4392 TextUses:220Used by:4394
Symbol 4393 TextUses:220Used by:4394
Symbol 4394 ButtonUses:4391 4392 4393 744Used by:4400
Symbol 4395 TextUses:220Used by:4398
Symbol 4396 TextUses:220Used by:4398
Symbol 4397 TextUses:220Used by:4398
Symbol 4398 ButtonUses:4395 4396 4397 744Used by:4400
Symbol 4399 EditableTextUses:727Used by:4400
Symbol 4400 MovieClipUses:4369 4373 4378 4382 4386 4390 4394 4398 4399 3677Used by:Timeline
Symbol 4401 FontUsed by:4402
Symbol 4402 TextUses:4401Used by:Timeline
Symbol 4403 TextUses:220Used by:Timeline
Symbol 4404 TextUses:220Used by:Timeline
Symbol 4405 TextUses:220Used by:Timeline
Symbol 4406 TextUses:220Used by:Timeline
Symbol 4407 TextUses:220Used by:Timeline
Symbol 4408 TextUses:220Used by:Timeline
Symbol 4409 TextUses:220Used by:Timeline
Symbol 4410 TextUses:220Used by:Timeline
Symbol 4411 TextUses:220Used by:Timeline
Symbol 4412 TextUses:220Used by:Timeline
Symbol 4413 TextUses:220Used by:Timeline
Symbol 4414 TextUses:220Used by:Timeline
Symbol 4415 TextUses:220Used by:Timeline
Symbol 4416 TextUses:220Used by:Timeline
Symbol 4417 TextUses:220Used by:Timeline
Symbol 4418 TextUses:220Used by:Timeline
Symbol 4419 TextUses:220Used by:Timeline
Symbol 4420 TextUses:220Used by:Timeline
Symbol 4421 TextUses:220Used by:Timeline
Symbol 4422 TextUses:220Used by:Timeline
Symbol 4423 TextUses:220Used by:Timeline
Symbol 4424 TextUses:220Used by:Timeline
Symbol 4425 TextUses:220Used by:Timeline
Symbol 4426 TextUses:220Used by:Timeline
Symbol 4427 TextUses:220Used by:Timeline
Symbol 4428 TextUses:220Used by:Timeline
Symbol 4429 TextUses:220Used by:Timeline
Symbol 4430 TextUses:220Used by:Timeline
Symbol 4431 TextUses:220Used by:Timeline
Symbol 4432 TextUses:220Used by:Timeline
Symbol 4433 GraphicUsed by:Timeline
Symbol 4434 TextUses:220Used by:Timeline
Symbol 4435 TextUses:220Used by:Timeline
Symbol 4436 TextUses:220Used by:Timeline
Symbol 4437 TextUses:745Used by:Timeline
Symbol 4438 TextUses:220Used by:5239  Timeline
Symbol 4439 TextUses:220Used by:Timeline
Symbol 4440 TextUses:220Used by:Timeline
Symbol 4441 TextUses:220Used by:Timeline
Symbol 4442 TextUses:220Used by:Timeline
Symbol 4443 TextUses:220Used by:Timeline
Symbol 4444 TextUses:220Used by:Timeline
Symbol 4445 TextUses:220Used by:Timeline
Symbol 4446 TextUses:220Used by:Timeline
Symbol 4447 TextUses:220Used by:Timeline
Symbol 4448 TextUses:220Used by:Timeline
Symbol 4449 TextUses:220Used by:Timeline
Symbol 4450 TextUses:220Used by:Timeline
Symbol 4451 TextUses:220Used by:Timeline
Symbol 4452 TextUses:220Used by:Timeline
Symbol 4453 TextUses:220Used by:Timeline
Symbol 4454 TextUses:220Used by:Timeline
Symbol 4455 TextUses:220Used by:Timeline
Symbol 4456 TextUses:220Used by:Timeline
Symbol 4457 TextUses:220Used by:Timeline
Symbol 4458 TextUses:220Used by:Timeline
Symbol 4459 TextUses:220Used by:Timeline
Symbol 4460 TextUses:220Used by:Timeline
Symbol 4461 TextUses:220Used by:4462
Symbol 4462 ButtonUses:4461Used by:Timeline
Symbol 4463 TextUses:220Used by:4464
Symbol 4464 ButtonUses:4463Used by:Timeline
Symbol 4465 TextUses:220Used by:Timeline
Symbol 4466 TextUses:220Used by:Timeline
Symbol 4467 TextUses:220Used by:Timeline
Symbol 4468 TextUses:220Used by:Timeline
Symbol 4469 TextUses:220Used by:Timeline
Symbol 4470 TextUses:220Used by:Timeline
Symbol 4471 TextUses:220Used by:Timeline
Symbol 4472 GraphicUsed by:Timeline
Symbol 4473 TextUses:220Used by:Timeline
Symbol 4474 TextUses:220Used by:Timeline
Symbol 4475 TextUses:220Used by:Timeline
Symbol 4476 TextUses:220Used by:Timeline
Symbol 4477 TextUses:220Used by:Timeline
Symbol 4478 TextUses:220Used by:Timeline
Symbol 4479 TextUses:220Used by:Timeline
Symbol 4480 TextUses:220Used by:Timeline
Symbol 4481 TextUses:220Used by:Timeline
Symbol 4482 TextUses:220Used by:Timeline
Symbol 4483 TextUses:220Used by:Timeline
Symbol 4484 TextUses:220Used by:Timeline
Symbol 4485 TextUses:220Used by:Timeline
Symbol 4486 TextUses:220Used by:Timeline
Symbol 4487 TextUses:220Used by:Timeline
Symbol 4488 TextUses:220Used by:Timeline
Symbol 4489 TextUses:220Used by:Timeline
Symbol 4490 TextUses:220Used by:Timeline
Symbol 4491 TextUses:220Used by:Timeline
Symbol 4492 TextUses:220Used by:Timeline
Symbol 4493 TextUses:220Used by:Timeline
Symbol 4494 TextUses:220Used by:Timeline
Symbol 4495 TextUses:220Used by:Timeline
Symbol 4496 TextUses:220Used by:Timeline
Symbol 4497 TextUses:220Used by:Timeline
Symbol 4498 TextUses:220Used by:Timeline
Symbol 4499 TextUses:220Used by:Timeline
Symbol 4500 FontUsed by:4501 4505 4826 4828 5115 5118 5161 5166 5167 5169 5176 5178 5217 5218 5313 5321 5323 5326 5328 5333 5338 5345 5348 5350 5357 5359 5362 5367 5371 5384 5387 5393 5397 5400 5401 5404 5406 5408 5411 5418 5420 5426 5432 5434 5439 5441 5444 5447 5450 5452 5551 5555 5558 5560 5563 5565 5569 5571 5574 5576 5579 5583 5588 5593 5594 5595 5596 5598 5603 5609 5612 5619
Symbol 4501 TextUses:4500Used by:Timeline
Symbol 4502 TextUses:220Used by:Timeline
Symbol 4503 TextUses:220Used by:Timeline
Symbol 4504 TextUses:220Used by:Timeline
Symbol 4505 TextUses:4500Used by:Timeline
Symbol 4506 TextUses:220Used by:Timeline
Symbol 4507 TextUses:220Used by:Timeline
Symbol 4508 TextUses:220Used by:Timeline
Symbol 4509 TextUses:220Used by:Timeline
Symbol 4510 TextUses:220Used by:Timeline
Symbol 4511 TextUses:220Used by:Timeline
Symbol 4512 TextUses:220Used by:Timeline
Symbol 4513 TextUses:220Used by:Timeline
Symbol 4514 TextUses:220Used by:Timeline
Symbol 4515 TextUses:220Used by:Timeline
Symbol 4516 TextUses:220Used by:Timeline
Symbol 4517 TextUses:220Used by:Timeline
Symbol 4518 TextUses:220Used by:Timeline
Symbol 4519 TextUses:220Used by:Timeline
Symbol 4520 TextUses:220Used by:Timeline
Symbol 4521 TextUses:220Used by:Timeline
Symbol 4522 TextUses:220Used by:Timeline
Symbol 4523 TextUses:220Used by:Timeline
Symbol 4524 TextUses:220Used by:Timeline
Symbol 4525 TextUses:220Used by:Timeline
Symbol 4526 TextUses:220Used by:Timeline
Symbol 4527 TextUses:220Used by:Timeline
Symbol 4528 TextUses:220Used by:Timeline
Symbol 4529 TextUses:220Used by:Timeline
Symbol 4530 TextUses:220Used by:Timeline
Symbol 4531 TextUses:220Used by:Timeline
Symbol 4532 TextUses:220Used by:Timeline
Symbol 4533 TextUses:220Used by:Timeline
Symbol 4534 TextUses:220Used by:Timeline
Symbol 4535 TextUses:220Used by:Timeline
Symbol 4536 TextUses:220Used by:Timeline
Symbol 4537 TextUses:220Used by:Timeline
Symbol 4538 TextUses:220Used by:Timeline
Symbol 4539 TextUses:220Used by:Timeline
Symbol 4540 TextUses:220Used by:Timeline
Symbol 4541 TextUses:220Used by:Timeline
Symbol 4542 TextUses:220Used by:Timeline
Symbol 4543 TextUses:220Used by:4544
Symbol 4544 ButtonUses:4543Used by:Timeline
Symbol 4545 TextUses:220Used by:Timeline
Symbol 4546 TextUses:220Used by:Timeline
Symbol 4547 TextUses:220Used by:Timeline
Symbol 4548 TextUses:220Used by:Timeline
Symbol 4549 TextUses:220Used by:Timeline
Symbol 4550 TextUses:220Used by:Timeline
Symbol 4551 TextUses:220Used by:Timeline
Symbol 4552 TextUses:220Used by:Timeline
Symbol 4553 TextUses:220Used by:Timeline
Symbol 4554 TextUses:220Used by:Timeline
Symbol 4555 TextUses:220Used by:Timeline
Symbol 4556 TextUses:220Used by:Timeline
Symbol 4557 TextUses:220Used by:Timeline
Symbol 4558 TextUses:220Used by:Timeline
Symbol 4559 TextUses:220Used by:Timeline
Symbol 4560 MovieClipUsed by:Timeline
Symbol 4561 TextUses:220Used by:Timeline
Symbol 4562 TextUses:220Used by:Timeline
Symbol 4563 TextUses:220Used by:Timeline
Symbol 4564 TextUses:220Used by:Timeline
Symbol 4565 TextUses:220Used by:Timeline
Symbol 4566 TextUses:220Used by:Timeline
Symbol 4567 TextUses:220Used by:Timeline
Symbol 4568 TextUses:220Used by:Timeline
Symbol 4569 TextUses:220Used by:Timeline
Symbol 4570 TextUses:220Used by:Timeline
Symbol 4571 TextUses:220Used by:Timeline
Symbol 4572 TextUses:220Used by:Timeline
Symbol 4573 TextUses:220Used by:Timeline
Symbol 4574 TextUses:220Used by:Timeline
Symbol 4575 TextUses:220Used by:Timeline
Symbol 4576 TextUses:220Used by:Timeline
Symbol 4577 TextUses:220Used by:4580
Symbol 4578 BitmapUsed by:4579
Symbol 4579 GraphicUses:4578Used by:4580
Symbol 4580 MovieClipUses:4577 4579Used by:Timeline
Symbol 4581 TextUses:220Used by:Timeline
Symbol 4582 TextUses:220Used by:Timeline
Symbol 4583 TextUses:220Used by:Timeline
Symbol 4584 BitmapUsed by:4585
Symbol 4585 GraphicUses:4584Used by:4586
Symbol 4586 MovieClipUses:4585Used by:Timeline
Symbol 4587 BitmapUsed by:4588
Symbol 4588 GraphicUses:4587Used by:4589
Symbol 4589 MovieClipUses:4588Used by:Timeline
Symbol 4590 TextUses:220Used by:Timeline
Symbol 4591 BitmapUsed by:4592
Symbol 4592 GraphicUses:4591Used by:4593
Symbol 4593 MovieClipUses:4592Used by:Timeline
Symbol 4594 TextUses:220Used by:Timeline
Symbol 4595 TextUses:220Used by:Timeline
Symbol 4596 TextUses:220Used by:Timeline
Symbol 4597 TextUses:220Used by:Timeline
Symbol 4598 BitmapUsed by:4599
Symbol 4599 GraphicUses:4598Used by:4600
Symbol 4600 MovieClipUses:4599Used by:Timeline
Symbol 4601 TextUses:220Used by:Timeline
Symbol 4602 TextUses:220Used by:Timeline
Symbol 4603 TextUses:220Used by:Timeline
Symbol 4604 TextUses:220Used by:Timeline
Symbol 4605 TextUses:220Used by:Timeline
Symbol 4606 TextUses:220Used by:Timeline
Symbol 4607 BitmapUsed by:4608
Symbol 4608 GraphicUses:4607Used by:Timeline
Symbol 4609 TextUses:220Used by:Timeline
Symbol 4610 TextUses:220Used by:Timeline
Symbol 4611 TextUses:220Used by:Timeline
Symbol 4612 TextUses:220Used by:Timeline
Symbol 4613 TextUses:220Used by:Timeline
Symbol 4614 TextUses:220Used by:4615
Symbol 4615 ButtonUses:2657 2658 4614 744Used by:4639
Symbol 4616 TextUses:220Used by:4619
Symbol 4617 TextUses:220Used by:4619
Symbol 4618 TextUses:220Used by:4619
Symbol 4619 ButtonUses:4616 4617 4618 744Used by:4639
Symbol 4620 TextUses:220Used by:4623
Symbol 4621 TextUses:220Used by:4623
Symbol 4622 TextUses:220Used by:4623
Symbol 4623 ButtonUses:4620 4621 4622 744Used by:4639
Symbol 4624 TextUses:220Used by:4627
Symbol 4625 TextUses:220Used by:4627
Symbol 4626 TextUses:220Used by:4627
Symbol 4627 ButtonUses:4624 4625 4626 744Used by:4639
Symbol 4628 TextUses:220Used by:4632
Symbol 4629 TextUses:220Used by:4632
Symbol 4630 TextUses:220Used by:4632
Symbol 4631 GraphicUsed by:4632
Symbol 4632 ButtonUses:4628 4629 4630 4631Used by:4639
Symbol 4633 TextUses:220Used by:4637
Symbol 4634 TextUses:220Used by:4637
Symbol 4635 TextUses:220Used by:4637
Symbol 4636 GraphicUsed by:4637
Symbol 4637 ButtonUses:4633 4634 4635 4636Used by:4639
Symbol 4638 EditableTextUses:727Used by:4639
Symbol 4639 MovieClipUses:4615 4619 4623 4627 4632 4637 4638 3677Used by:Timeline
Symbol 4640 TextUses:220Used by:Timeline
Symbol 4641 TextUses:220Used by:Timeline
Symbol 4642 TextUses:220Used by:Timeline
Symbol 4643 TextUses:220Used by:Timeline
Symbol 4644 BitmapUsed by:4645
Symbol 4645 GraphicUses:4644Used by:4646
Symbol 4646 MovieClipUses:4645Used by:Timeline
Symbol 4647 TextUses:220Used by:Timeline
Symbol 4648 BitmapUsed by:4649
Symbol 4649 GraphicUses:4648Used by:4650
Symbol 4650 MovieClipUses:4649Used by:Timeline
Symbol 4651 TextUses:220Used by:Timeline
Symbol 4652 TextUses:220Used by:Timeline
Symbol 4653 BitmapUsed by:4654
Symbol 4654 GraphicUses:4653Used by:4655
Symbol 4655 MovieClipUses:4654Used by:Timeline
Symbol 4656 TextUses:220Used by:Timeline
Symbol 4657 BitmapUsed by:4658
Symbol 4658 GraphicUses:4657Used by:4659
Symbol 4659 MovieClipUses:4658Used by:Timeline
Symbol 4660 TextUses:220Used by:Timeline
Symbol 4661 TextUses:220Used by:Timeline
Symbol 4662 TextUses:220Used by:Timeline
Symbol 4663 BitmapUsed by:4664
Symbol 4664 GraphicUses:4663Used by:4665
Symbol 4665 MovieClipUses:4664Used by:Timeline
Symbol 4666 TextUses:220Used by:Timeline
Symbol 4667 TextUses:220Used by:Timeline
Symbol 4668 TextUses:220Used by:Timeline
Symbol 4669 TextUses:220Used by:Timeline
Symbol 4670 TextUses:220Used by:Timeline
Symbol 4671 BitmapUsed by:4672
Symbol 4672 GraphicUses:4671Used by:4673
Symbol 4673 MovieClipUses:4672Used by:Timeline
Symbol 4674 TextUses:220Used by:Timeline
Symbol 4675 BitmapUsed by:4676
Symbol 4676 GraphicUses:4675Used by:4677
Symbol 4677 MovieClipUses:4676Used by:Timeline
Symbol 4678 TextUses:220Used by:Timeline
Symbol 4679 TextUses:220Used by:Timeline
Symbol 4680 BitmapUsed by:4681
Symbol 4681 GraphicUses:4680Used by:4682
Symbol 4682 MovieClipUses:4681Used by:Timeline
Symbol 4683 TextUses:220Used by:Timeline
Symbol 4684 TextUses:220Used by:Timeline
Symbol 4685 TextUses:220Used by:Timeline
Symbol 4686 TextUses:220Used by:Timeline
Symbol 4687 TextUses:220Used by:Timeline
Symbol 4688 TextUses:220Used by:Timeline
Symbol 4689 TextUses:220Used by:Timeline
Symbol 4690 BitmapUsed by:4691
Symbol 4691 GraphicUses:4690Used by:4692
Symbol 4692 MovieClipUses:4691Used by:Timeline
Symbol 4693 TextUses:220Used by:Timeline
Symbol 4694 TextUses:220Used by:Timeline
Symbol 4695 BitmapUsed by:4696
Symbol 4696 GraphicUses:4695Used by:4697
Symbol 4697 MovieClipUses:4696Used by:Timeline
Symbol 4698 TextUses:220Used by:Timeline
Symbol 4699 TextUses:220Used by:Timeline
Symbol 4700 BitmapUsed by:4701
Symbol 4701 GraphicUses:4700Used by:4702
Symbol 4702 MovieClipUses:4701Used by:Timeline
Symbol 4703 TextUses:220Used by:Timeline
Symbol 4704 BitmapUsed by:4705
Symbol 4705 GraphicUses:4704Used by:4706
Symbol 4706 MovieClipUses:4705Used by:Timeline
Symbol 4707 TextUses:220Used by:Timeline
Symbol 4708 TextUses:220Used by:Timeline
Symbol 4709 BitmapUsed by:4710
Symbol 4710 GraphicUses:4709Used by:4711
Symbol 4711 MovieClipUses:4710Used by:Timeline
Symbol 4712 BitmapUsed by:4713 4717 4721 4725 4731 4733 4735 4737 4740 4741 4745
Symbol 4713 GraphicUses:4712Used by:4714
Symbol 4714 MovieClipUses:4713Used by:Timeline
Symbol 4715 TextUses:220Used by:Timeline
Symbol 4716 TextUses:220Used by:Timeline
Symbol 4717 GraphicUses:4712Used by:4720
Symbol 4718 TextUses:220Used by:4720
Symbol 4719 GraphicUsed by:4720
Symbol 4720 ButtonUses:4717 4718 4719Used by:4747
Symbol 4721 GraphicUses:4712Used by:4724
Symbol 4722 TextUses:220Used by:4724
Symbol 4723 GraphicUsed by:4724 4730 4732 4736 4739 4743
Symbol 4724 ButtonUses:4721 4722 4723Used by:4747
Symbol 4725 GraphicUses:4712Used by:4730
Symbol 4726 TextUses:220Used by:4730
Symbol 4727 BitmapUsed by:4728
Symbol 4728 GraphicUses:4727Used by:4729
Symbol 4729 MovieClipUses:4728Used by:4730
Symbol 4730 ButtonUses:4725 4726 4729 4723Used by:4747
Symbol 4731 GraphicUses:4712Used by:4732
Symbol 4732 ButtonUses:4731 4723Used by:4747
Symbol 4733 GraphicUses:4712Used by:4736
Symbol 4734 TextUses:220Used by:4736
Symbol 4735 GraphicUses:4712Used by:4736
Symbol 4736 ButtonUses:4733 4723 4734 4735Used by:4747
Symbol 4737 GraphicUses:4712Used by:4739
Symbol 4738 TextUses:220Used by:4739
Symbol 4739 ButtonUses:4737 4723 4738Used by:4747
Symbol 4740 GraphicUses:4712Used by:4747
Symbol 4741 GraphicUses:4712Used by:4743
Symbol 4742 TextUses:220Used by:4743
Symbol 4743 ButtonUses:4741 4723 4742Used by:4747
Symbol 4744 GraphicUsed by:4747
Symbol 4745 GraphicUses:4712Used by:4747
Symbol 4746 TextUses:220Used by:4747
Symbol 4747 ButtonUses:4720 4724 4730 4732 4736 4739 4740 4743 4744 4745 4746Used by:Timeline
Symbol 4748 TextUses:220Used by:Timeline
Symbol 4749 TextUses:220Used by:Timeline
Symbol 4750 TextUses:220Used by:Timeline
Symbol 4751 TextUses:220Used by:Timeline
Symbol 4752 TextUses:220Used by:4754
Symbol 4753 GraphicUsed by:4754
Symbol 4754 ButtonUses:4752 4753Used by:Timeline
Symbol 4755 TextUses:220Used by:4757
Symbol 4756 GraphicUsed by:4757
Symbol 4757 ButtonUses:4755 4756Used by:Timeline
Symbol 4758 TextUses:220Used by:Timeline
Symbol 4759 TextUses:220Used by:Timeline
Symbol 4760 TextUses:220Used by:Timeline
Symbol 4761 TextUses:220Used by:Timeline
Symbol 4762 TextUses:220Used by:Timeline
Symbol 4763 TextUses:220Used by:Timeline
Symbol 4764 TextUses:220Used by:Timeline
Symbol 4765 TextUses:220Used by:Timeline
Symbol 4766 TextUses:220Used by:Timeline
Symbol 4767 MovieClipUses:1749Used by:Timeline
Symbol 4768 TextUses:220Used by:Timeline
Symbol 4769 TextUses:220Used by:Timeline
Symbol 4770 TextUses:220Used by:Timeline
Symbol 4771 TextUses:220Used by:Timeline
Symbol 4772 TextUses:220Used by:Timeline
Symbol 4773 TextUses:220Used by:Timeline
Symbol 4774 TextUses:220Used by:Timeline
Symbol 4775 GraphicUsed by:Timeline
Symbol 4776 TextUses:220Used by:Timeline
Symbol 4777 TextUses:220Used by:Timeline
Symbol 4778 TextUses:220Used by:Timeline
Symbol 4779 GraphicUsed by:4780
Symbol 4780 MovieClipUses:4779Used by:Timeline
Symbol 4781 TextUses:220Used by:Timeline
Symbol 4782 GraphicUsed by:Timeline
Symbol 4783 TextUses:220Used by:Timeline
Symbol 4784 TextUses:220Used by:Timeline
Symbol 4785 TextUses:220Used by:Timeline
Symbol 4786 TextUses:220Used by:Timeline
Symbol 4787 TextUses:220Used by:Timeline
Symbol 4788 TextUses:220Used by:Timeline
Symbol 4789 TextUses:220Used by:Timeline
Symbol 4790 TextUses:220Used by:Timeline
Symbol 4791 TextUses:220Used by:Timeline
Symbol 4792 TextUses:220Used by:Timeline
Symbol 4793 TextUses:220Used by:Timeline
Symbol 4794 TextUses:220Used by:Timeline
Symbol 4795 TextUses:220Used by:Timeline
Symbol 4796 GraphicUsed by:Timeline
Symbol 4797 TextUses:220Used by:Timeline
Symbol 4798 TextUses:220Used by:Timeline
Symbol 4799 TextUses:220Used by:Timeline
Symbol 4800 TextUses:220Used by:Timeline
Symbol 4801 TextUses:220Used by:Timeline
Symbol 4802 TextUses:220Used by:Timeline
Symbol 4803 GraphicUsed by:4804
Symbol 4804 MovieClipUses:4803Used by:4812
Symbol 4805 GraphicUsed by:4806 4811
Symbol 4806 MovieClipUses:4805Used by:4811
Symbol 4807 GraphicUsed by:4811
Symbol 4808 TextUses:220Used by:4811
Symbol 4809 GraphicUsed by:4811
Symbol 4810 TextUses:220Used by:4811
Symbol 4811 ButtonUses:4806 4807 4808 4809 4810 4805Used by:4812
Symbol 4812 MovieClipUses:4804 4811Used by:Timeline
Symbol 4813 TextUses:220Used by:Timeline
Symbol 4814 TextUses:220Used by:Timeline
Symbol 4815 TextUses:220Used by:Timeline
Symbol 4816 TextUses:220Used by:Timeline
Symbol 4817 TextUses:220Used by:Timeline
Symbol 4818 TextUses:220Used by:Timeline
Symbol 4819 TextUses:220Used by:Timeline
Symbol 4820 TextUses:220Used by:Timeline
Symbol 4821 TextUses:220Used by:Timeline
Symbol 4822 TextUses:220Used by:Timeline
Symbol 4823 TextUses:220Used by:Timeline
Symbol 4824 TextUses:220Used by:Timeline
Symbol 4825 TextUses:220Used by:Timeline
Symbol 4826 TextUses:4500Used by:Timeline
Symbol 4827 TextUses:220Used by:Timeline
Symbol 4828 TextUses:4500Used by:Timeline
Symbol 4829 TextUses:220Used by:Timeline
Symbol 4830 TextUses:220Used by:Timeline
Symbol 4831 TextUses:220Used by:Timeline
Symbol 4832 TextUses:220Used by:Timeline
Symbol 4833 TextUses:220Used by:Timeline
Symbol 4834 GraphicUsed by:Timeline
Symbol 4835 TextUses:220Used by:Timeline
Symbol 4836 TextUses:220Used by:Timeline
Symbol 4837 TextUses:220Used by:Timeline
Symbol 4838 TextUses:220Used by:Timeline
Symbol 4839 TextUses:220Used by:Timeline
Symbol 4840 TextUses:220Used by:Timeline
Symbol 4841 EditableTextUses:220 736 3479Used by:Timeline
Symbol 4842 TextUses:220Used by:Timeline
Symbol 4843 GraphicUsed by:Timeline
Symbol 4844 TextUses:220Used by:Timeline
Symbol 4845 TextUses:220Used by:Timeline
Symbol 4846 TextUses:220Used by:Timeline
Symbol 4847 TextUses:220Used by:Timeline
Symbol 4848 TextUses:220Used by:Timeline
Symbol 4849 GraphicUsed by:Timeline
Symbol 4850 TextUses:220Used by:Timeline
Symbol 4851 TextUses:220Used by:Timeline
Symbol 4852 TextUses:220Used by:Timeline
Symbol 4853 GraphicUsed by:Timeline
Symbol 4854 TextUses:220Used by:Timeline
Symbol 4855 TextUses:220Used by:Timeline
Symbol 4856 TextUses:220Used by:Timeline
Symbol 4857 TextUses:220Used by:Timeline
Symbol 4858 TextUses:220Used by:Timeline
Symbol 4859 TextUses:220 3479Used by:Timeline
Symbol 4860 TextUses:220Used by:Timeline
Symbol 4861 TextUses:220Used by:Timeline
Symbol 4862 TextUses:220Used by:Timeline
Symbol 4863 TextUses:220Used by:Timeline
Symbol 4864 TextUses:220Used by:Timeline
Symbol 4865 TextUses:220Used by:Timeline
Symbol 4866 TextUses:220Used by:Timeline
Symbol 4867 BitmapUsed by:4868
Symbol 4868 GraphicUses:4867Used by:4869
Symbol 4869 MovieClipUses:4868Used by:Timeline
Symbol 4870 TextUses:220Used by:Timeline
Symbol 4871 BitmapUsed by:4872
Symbol 4872 GraphicUses:4871Used by:4873
Symbol 4873 MovieClipUses:4872Used by:Timeline
Symbol 4874 TextUses:220Used by:Timeline
Symbol 4875 TextUses:220Used by:Timeline
Symbol 4876 TextUses:220Used by:Timeline
Symbol 4877 TextUses:220Used by:Timeline
Symbol 4878 TextUses:220Used by:Timeline
Symbol 4879 TextUses:220Used by:4882
Symbol 4880 BitmapUsed by:4881
Symbol 4881 GraphicUses:4880Used by:4882
Symbol 4882 MovieClipUses:4879 4881Used by:Timeline
Symbol 4883 TextUses:220Used by:Timeline
Symbol 4884 TextUses:220Used by:Timeline
Symbol 4885 TextUses:220Used by:Timeline
Symbol 4886 TextUses:220Used by:Timeline
Symbol 4887 BitmapUsed by:4888
Symbol 4888 GraphicUses:4887Used by:4889
Symbol 4889 MovieClipUses:4888Used by:Timeline
Symbol 4890 TextUses:220Used by:Timeline
Symbol 4891 TextUses:220Used by:Timeline
Symbol 4892 TextUses:220Used by:Timeline
Symbol 4893 TextUses:220Used by:Timeline
Symbol 4894 TextUses:220Used by:Timeline
Symbol 4895 TextUses:220Used by:Timeline
Symbol 4896 TextUses:220Used by:Timeline
Symbol 4897 TextUses:220Used by:Timeline
Symbol 4898 TextUses:220Used by:Timeline
Symbol 4899 TextUses:220Used by:Timeline
Symbol 4900 TextUses:220Used by:Timeline
Symbol 4901 TextUses:220Used by:Timeline
Symbol 4902 TextUses:220Used by:Timeline
Symbol 4903 TextUses:220Used by:Timeline
Symbol 4904 TextUses:220Used by:Timeline
Symbol 4905 TextUses:220Used by:Timeline
Symbol 4906 GraphicUsed by:Timeline
Symbol 4907 TextUses:220Used by:Timeline
Symbol 4908 TextUses:220Used by:Timeline
Symbol 4909 TextUses:220Used by:Timeline
Symbol 4910 TextUses:220Used by:Timeline
Symbol 4911 TextUses:220Used by:Timeline
Symbol 4912 TextUses:220Used by:Timeline
Symbol 4913 TextUses:220Used by:Timeline
Symbol 4914 TextUses:220Used by:Timeline
Symbol 4915 TextUses:220Used by:Timeline
Symbol 4916 TextUses:220Used by:Timeline
Symbol 4917 TextUses:220Used by:Timeline
Symbol 4918 TextUses:220Used by:Timeline
Symbol 4919 TextUses:220Used by:Timeline
Symbol 4920 TextUses:220Used by:Timeline
Symbol 4921 TextUses:220Used by:Timeline
Symbol 4922 TextUses:220Used by:Timeline
Symbol 4923 TextUses:220Used by:Timeline
Symbol 4924 GraphicUsed by:Timeline
Symbol 4925 EditableTextUses:220 736 3479Used by:Timeline
Symbol 4926 TextUses:220Used by:Timeline
Symbol 4927 TextUses:220Used by:Timeline
Symbol 4928 TextUses:220Used by:Timeline
Symbol 4929 TextUses:220Used by:Timeline
Symbol 4930 TextUses:220Used by:Timeline
Symbol 4931 TextUses:220Used by:Timeline
Symbol 4932 TextUses:220Used by:Timeline
Symbol 4933 TextUses:220Used by:Timeline
Symbol 4934 TextUses:220Used by:Timeline
Symbol 4935 TextUses:220Used by:Timeline
Symbol 4936 TextUses:220Used by:Timeline
Symbol 4937 TextUses:220Used by:Timeline
Symbol 4938 TextUses:220Used by:Timeline
Symbol 4939 TextUses:220Used by:Timeline
Symbol 4940 TextUses:220Used by:Timeline
Symbol 4941 TextUses:220Used by:Timeline
Symbol 4942 TextUses:220Used by:Timeline
Symbol 4943 GraphicUsed by:Timeline
Symbol 4944 TextUses:220Used by:Timeline
Symbol 4945 TextUses:220Used by:Timeline
Symbol 4946 TextUses:220Used by:Timeline
Symbol 4947 TextUses:220Used by:Timeline
Symbol 4948 GraphicUsed by:Timeline
Symbol 4949 TextUses:220Used by:Timeline
Symbol 4950 TextUses:220Used by:Timeline
Symbol 4951 TextUses:220Used by:Timeline
Symbol 4952 TextUses:220Used by:4954
Symbol 4953 GraphicUsed by:4954
Symbol 4954 ButtonUses:4952 4953Used by:Timeline
Symbol 4955 TextUses:220Used by:4957
Symbol 4956 GraphicUsed by:4957
Symbol 4957 ButtonUses:4955 4956Used by:Timeline
Symbol 4958 TextUses:220Used by:4960
Symbol 4959 GraphicUsed by:4960
Symbol 4960 ButtonUses:4958 4959Used by:Timeline
Symbol 4961 TextUses:220Used by:4963
Symbol 4962 GraphicUsed by:4963
Symbol 4963 ButtonUses:4961 4962Used by:Timeline
Symbol 4964 TextUses:220Used by:4966
Symbol 4965 GraphicUsed by:4966
Symbol 4966 ButtonUses:4964 4965Used by:Timeline
Symbol 4967 TextUses:220Used by:Timeline
Symbol 4968 TextUses:220Used by:Timeline
Symbol 4969 TextUses:220Used by:Timeline
Symbol 4970 TextUses:220Used by:4972
Symbol 4971 GraphicUsed by:4972
Symbol 4972 ButtonUses:4970 4971Used by:Timeline
Symbol 4973 TextUses:220Used by:4975
Symbol 4974 GraphicUsed by:4975
Symbol 4975 ButtonUses:4973 4974Used by:Timeline
Symbol 4976 TextUses:220Used by:4978
Symbol 4977 GraphicUsed by:4978
Symbol 4978 ButtonUses:4976 4977Used by:Timeline
Symbol 4979 TextUses:220Used by:4981
Symbol 4980 GraphicUsed by:4981
Symbol 4981 ButtonUses:4979 4980Used by:Timeline
Symbol 4982 TextUses:220Used by:4984
Symbol 4983 GraphicUsed by:4984
Symbol 4984 ButtonUses:4982 4983Used by:Timeline
Symbol 4985 TextUses:220Used by:4987
Symbol 4986 GraphicUsed by:4987
Symbol 4987 ButtonUses:4985 4986Used by:Timeline
Symbol 4988 TextUses:220Used by:4990
Symbol 4989 GraphicUsed by:4990
Symbol 4990 ButtonUses:4988 4989Used by:Timeline
Symbol 4991 TextUses:220Used by:4993
Symbol 4992 GraphicUsed by:4993
Symbol 4993 ButtonUses:4991 4992Used by:Timeline
Symbol 4994 TextUses:220Used by:4996
Symbol 4995 GraphicUsed by:4996
Symbol 4996 ButtonUses:4994 4995Used by:Timeline
Symbol 4997 TextUses:220Used by:4999
Symbol 4998 GraphicUsed by:4999
Symbol 4999 ButtonUses:4997 4998Used by:Timeline
Symbol 5000 TextUses:220Used by:Timeline
Symbol 5001 TextUses:220Used by:Timeline
Symbol 5002 TextUses:220Used by:Timeline
Symbol 5003 TextUses:220Used by:5005
Symbol 5004 GraphicUsed by:5005
Symbol 5005 ButtonUses:5003 5004Used by:Timeline
Symbol 5006 TextUses:220Used by:5008
Symbol 5007 GraphicUsed by:5008
Symbol 5008 ButtonUses:5006 5007Used by:Timeline
Symbol 5009 TextUses:220Used by:5011
Symbol 5010 GraphicUsed by:5011
Symbol 5011 ButtonUses:5009 5010Used by:Timeline
Symbol 5012 TextUses:220Used by:5014
Symbol 5013 GraphicUsed by:5014
Symbol 5014 ButtonUses:5012 5013Used by:Timeline
Symbol 5015 TextUses:220Used by:5017
Symbol 5016 GraphicUsed by:5017
Symbol 5017 ButtonUses:5015 5016Used by:Timeline
Symbol 5018 TextUses:220Used by:5020
Symbol 5019 GraphicUsed by:5020
Symbol 5020 ButtonUses:5018 5019Used by:Timeline
Symbol 5021 TextUses:220Used by:Timeline
Symbol 5022 TextUses:220Used by:Timeline
Symbol 5023 TextUses:220Used by:Timeline
Symbol 5024 ButtonUses:3561 3562Used by:Timeline
Symbol 5025 TextUses:220Used by:Timeline
Symbol 5026 TextUses:220Used by:Timeline
Symbol 5027 TextUses:220Used by:Timeline
Symbol 5028 TextUses:220Used by:Timeline
Symbol 5029 TextUses:220Used by:Timeline
Symbol 5030 TextUses:220Used by:5032
Symbol 5031 GraphicUsed by:5032
Symbol 5032 ButtonUses:5030 5031Used by:Timeline
Symbol 5033 TextUses:220Used by:5035
Symbol 5034 GraphicUsed by:5035
Symbol 5035 ButtonUses:5033 5034Used by:Timeline
Symbol 5036 TextUses:220Used by:5038
Symbol 5037 GraphicUsed by:5038
Symbol 5038 ButtonUses:5036 5037Used by:Timeline
Symbol 5039 TextUses:220Used by:5041
Symbol 5040 GraphicUsed by:5041
Symbol 5041 ButtonUses:5039 5040Used by:Timeline
Symbol 5042 TextUses:220Used by:5044
Symbol 5043 GraphicUsed by:5044
Symbol 5044 ButtonUses:5042 5043Used by:Timeline
Symbol 5045 TextUses:220Used by:Timeline
Symbol 5046 TextUses:220Used by:Timeline
Symbol 5047 TextUses:220Used by:Timeline
Symbol 5048 TextUses:220Used by:Timeline
Symbol 5049 GraphicUsed by:Timeline
Symbol 5050 TextUses:220Used by:5052
Symbol 5051 GraphicUsed by:5052
Symbol 5052 ButtonUses:5050 5051Used by:Timeline
Symbol 5053 TextUses:220Used by:5055
Symbol 5054 GraphicUsed by:5055 5066
Symbol 5055 ButtonUses:5053 5054Used by:Timeline
Symbol 5056 TextUses:220Used by:5058
Symbol 5057 GraphicUsed by:5058
Symbol 5058 ButtonUses:5056 5057Used by:Timeline
Symbol 5059 TextUses:220Used by:5061
Symbol 5060 GraphicUsed by:5061
Symbol 5061 ButtonUses:5059 5060Used by:Timeline
Symbol 5062 TextUses:220Used by:5064
Symbol 5063 GraphicUsed by:5064
Symbol 5064 ButtonUses:5062 5063Used by:Timeline
Symbol 5065 TextUses:220Used by:5066
Symbol 5066 ButtonUses:5065 5054Used by:Timeline
Symbol 5067 TextUses:220Used by:5069
Symbol 5068 GraphicUsed by:5069
Symbol 5069 ButtonUses:5067 5068Used by:Timeline
Symbol 5070 TextUses:220Used by:5072
Symbol 5071 GraphicUsed by:5072
Symbol 5072 ButtonUses:5070 5071Used by:Timeline
Symbol 5073 TextUses:220Used by:Timeline
Symbol 5074 TextUses:220Used by:Timeline
Symbol 5075 TextUses:220Used by:5077
Symbol 5076 GraphicUsed by:5077
Symbol 5077 ButtonUses:5075 5076Used by:Timeline
Symbol 5078 TextUses:220Used by:5080
Symbol 5079 GraphicUsed by:5080
Symbol 5080 ButtonUses:5078 5079Used by:Timeline
Symbol 5081 TextUses:220Used by:5083
Symbol 5082 GraphicUsed by:5083
Symbol 5083 ButtonUses:5081 5082Used by:Timeline
Symbol 5084 TextUses:220Used by:5086
Symbol 5085 GraphicUsed by:5086
Symbol 5086 ButtonUses:5084 5085Used by:Timeline
Symbol 5087 TextUses:220Used by:Timeline
Symbol 5088 TextUses:220Used by:Timeline
Symbol 5089 TextUses:220Used by:5091
Symbol 5090 GraphicUsed by:5091
Symbol 5091 ButtonUses:5089 5090Used by:Timeline
Symbol 5092 TextUses:220Used by:5094
Symbol 5093 GraphicUsed by:5094
Symbol 5094 ButtonUses:5092 5093Used by:Timeline
Symbol 5095 TextUses:220Used by:5097
Symbol 5096 GraphicUsed by:5097
Symbol 5097 ButtonUses:5095 5096Used by:Timeline
Symbol 5098 TextUses:220Used by:5100
Symbol 5099 GraphicUsed by:5100
Symbol 5100 ButtonUses:5098 5099Used by:Timeline
Symbol 5101 TextUses:220Used by:5103
Symbol 5102 GraphicUsed by:5103
Symbol 5103 ButtonUses:5101 5102Used by:Timeline
Symbol 5104 TextUses:220Used by:5106
Symbol 5105 GraphicUsed by:5106
Symbol 5106 ButtonUses:5104 5105Used by:Timeline
Symbol 5107 TextUses:220Used by:5109
Symbol 5108 GraphicUsed by:5109
Symbol 5109 ButtonUses:5107 5108Used by:Timeline
Symbol 5110 TextUses:220Used by:5112
Symbol 5111 GraphicUsed by:5112
Symbol 5112 ButtonUses:5110 5111Used by:Timeline
Symbol 5113 TextUses:220Used by:Timeline
Symbol 5114 TextUses:220Used by:Timeline
Symbol 5115 TextUses:4500Used by:5117
Symbol 5116 GraphicUsed by:5117 5119
Symbol 5117 ButtonUses:5115 5116Used by:Timeline
Symbol 5118 TextUses:4500Used by:5119
Symbol 5119 ButtonUses:5118 5116Used by:Timeline
Symbol 5120 TextUses:220Used by:Timeline
Symbol 5121 TextUses:220Used by:Timeline
Symbol 5122 TextUses:220Used by:Timeline
Symbol 5123 TextUses:220Used by:5124
Symbol 5124 ButtonUses:5123 1588Used by:Timeline
Symbol 5125 TextUses:220Used by:5126
Symbol 5126 ButtonUses:5125 1588Used by:Timeline
Symbol 5127 TextUses:220Used by:5128
Symbol 5128 ButtonUses:5127 1588Used by:Timeline
Symbol 5129 TextUses:220Used by:5130
Symbol 5130 ButtonUses:5129 1588Used by:Timeline
Symbol 5131 TextUses:220Used by:5132
Symbol 5132 ButtonUses:5131 1588Used by:Timeline
Symbol 5133 TextUses:220Used by:5135
Symbol 5134 GraphicUsed by:5135
Symbol 5135 ButtonUses:5133 5134Used by:Timeline
Symbol 5136 TextUses:220Used by:Timeline
Symbol 5137 TextUses:220Used by:Timeline
Symbol 5138 TextUses:220Used by:5139
Symbol 5139 ButtonUses:5138 1588Used by:Timeline
Symbol 5140 TextUses:220Used by:5141
Symbol 5141 ButtonUses:5140 1588Used by:Timeline
Symbol 5142 TextUses:220Used by:5143
Symbol 5143 ButtonUses:5142 1588Used by:Timeline
Symbol 5144 TextUses:220Used by:5145
Symbol 5145 ButtonUses:5144 1588Used by:Timeline
Symbol 5146 TextUses:220Used by:5147
Symbol 5147 ButtonUses:5146 1588Used by:Timeline
Symbol 5148 TextUses:220Used by:5149
Symbol 5149 ButtonUses:5148 1588Used by:Timeline
Symbol 5150 TextUses:220Used by:Timeline
Symbol 5151 FontUsed by:5152 5313 5328 5333 5338 5359 5362 5365 5367 5371 5374 5377 5384 5387 5411 5420 5434 5447 5450 5452 5551 5579 5593 5594 5595 5596 5598
Symbol 5152 TextUses:220 5151Used by:Timeline
Symbol 5153 TextUses:220Used by:5154
Symbol 5154 ButtonUses:5153 1592Used by:Timeline
Symbol 5155 TextUses:220Used by:5156
Symbol 5156 ButtonUses:5155 1592Used by:Timeline
Symbol 5157 TextUses:220Used by:5158
Symbol 5158 ButtonUses:5157 1592Used by:Timeline
Symbol 5159 TextUses:220Used by:5160
Symbol 5160 ButtonUses:5159 1592Used by:Timeline
Symbol 5161 TextUses:4500Used by:Timeline
Symbol 5162 TextUses:220Used by:Timeline
Symbol 5163 TextUses:220Used by:Timeline
Symbol 5164 TextUses:220Used by:Timeline
Symbol 5165 TextUses:220Used by:Timeline
Symbol 5166 TextUses:4500Used by:5168
Symbol 5167 TextUses:4500Used by:5168
Symbol 5168 ButtonUses:5166 5167 1592Used by:Timeline
Symbol 5169 TextUses:4500Used by:5170
Symbol 5170 ButtonUses:5169 1592Used by:Timeline
Symbol 5171 TextUses:220Used by:Timeline
Symbol 5172 TextUses:220Used by:Timeline
Symbol 5173 ButtonUses:3561 3562Used by:Timeline
Symbol 5174 TextUses:220Used by:Timeline
Symbol 5175 TextUses:220Used by:Timeline
Symbol 5176 TextUses:4500Used by:5177
Symbol 5177 ButtonUses:5176 1592Used by:Timeline
Symbol 5178 TextUses:4500Used by:5179
Symbol 5179 ButtonUses:5178 1592Used by:Timeline
Symbol 5180 TextUses:220Used by:Timeline
Symbol 5181 TextUses:220Used by:Timeline
Symbol 5182 TextUses:220Used by:5183
Symbol 5183 ButtonUses:5182 1588Used by:Timeline
Symbol 5184 TextUses:220Used by:5185
Symbol 5185 ButtonUses:5184 1588Used by:Timeline
Symbol 5186 TextUses:220Used by:5187
Symbol 5187 ButtonUses:5186 1588Used by:Timeline
Symbol 5188 TextUses:220Used by:Timeline
Symbol 5189 TextUses:220Used by:Timeline
Symbol 5190 ButtonUses:3561 3562Used by:Timeline
Symbol 5191 TextUses:220Used by:Timeline
Symbol 5192 TextUses:220Used by:Timeline
Symbol 5193 TextUses:220Used by:5194
Symbol 5194 ButtonUses:5193 1592Used by:Timeline
Symbol 5195 TextUses:220Used by:5196
Symbol 5196 ButtonUses:5195 1592Used by:Timeline
Symbol 5197 TextUses:220Used by:5198
Symbol 5198 ButtonUses:5197 1592Used by:Timeline
Symbol 5199 TextUses:220Used by:5200
Symbol 5200 ButtonUses:5199 1592Used by:Timeline
Symbol 5201 TextUses:220Used by:Timeline
Symbol 5202 TextUses:220Used by:Timeline
Symbol 5203 ButtonUses:3561 3562Used by:Timeline
Symbol 5204 TextUses:220Used by:Timeline
Symbol 5205 TextUses:220 3479Used by:Timeline
Symbol 5206 TextUses:220Used by:5207
Symbol 5207 ButtonUses:5206 1588Used by:Timeline
Symbol 5208 TextUses:220Used by:5209
Symbol 5209 ButtonUses:5208 1588Used by:Timeline
Symbol 5210 TextUses:220Used by:5211
Symbol 5211 ButtonUses:5210 1588Used by:Timeline
Symbol 5212 TextUses:220Used by:5213
Symbol 5213 ButtonUses:5212 1588Used by:Timeline
Symbol 5214 TextUses:220Used by:Timeline
Symbol 5215 TextUses:220Used by:Timeline
Symbol 5216 ButtonUses:3561 3562Used by:Timeline
Symbol 5217 TextUses:4500Used by:Timeline
Symbol 5218 TextUses:4500Used by:Timeline
Symbol 5219 TextUses:220Used by:Timeline
Symbol 5220 TextUses:220Used by:Timeline
Symbol 5221 TextUses:220Used by:5222
Symbol 5222 ButtonUses:5221 1588Used by:Timeline
Symbol 5223 TextUses:220Used by:5224
Symbol 5224 ButtonUses:5223 1588Used by:Timeline
Symbol 5225 TextUses:220Used by:5226
Symbol 5226 ButtonUses:5225 1588Used by:Timeline
Symbol 5227 TextUses:220Used by:Timeline
Symbol 5228 TextUses:220Used by:Timeline
Symbol 5229 ButtonUses:3564 3565Used by:Timeline
Symbol 5230 TextUses:220Used by:Timeline
Symbol 5231 TextUses:220Used by:Timeline
Symbol 5232 ButtonUses:3564 3565Used by:Timeline
Symbol 5233 TextUses:220Used by:Timeline
Symbol 5234 TextUses:220Used by:Timeline
Symbol 5235 TextUses:220Used by:5236
Symbol 5236 ButtonUses:5235 1588Used by:Timeline
Symbol 5237 TextUses:220Used by:5238
Symbol 5238 ButtonUses:5237 1588Used by:Timeline
Symbol 5239 ButtonUses:4438 1588Used by:Timeline
Symbol 5240 TextUses:220Used by:5241
Symbol 5241 ButtonUses:5240 1588Used by:Timeline
Symbol 5242 TextUses:220Used by:5243
Symbol 5243 ButtonUses:5242 1588Used by:Timeline
Symbol 5244 TextUses:220Used by:5245
Symbol 5245 ButtonUses:5244 1588Used by:Timeline
Symbol 5246 TextUses:220Used by:Timeline
Symbol 5247 TextUses:220Used by:Timeline
Symbol 5248 ButtonUses:3564 3565Used by:Timeline
Symbol 5249 TextUses:220Used by:Timeline
Symbol 5250 TextUses:220Used by:Timeline
Symbol 5251 ButtonUses:3561 3562Used by:Timeline
Symbol 5252 TextUses:220Used by:Timeline
Symbol 5253 TextUses:220Used by:5254
Symbol 5254 ButtonUses:5253Used by:Timeline
Symbol 5255 TextUses:220Used by:5256
Symbol 5256 ButtonUses:5255Used by:Timeline
Symbol 5257 TextUses:220Used by:5258
Symbol 5258 ButtonUses:5257Used by:Timeline
Symbol 5259 TextUses:220Used by:Timeline
Symbol 5260 TextUses:220Used by:5262
Symbol 5261 GraphicUsed by:5262
Symbol 5262 ButtonUses:5260 5261Used by:Timeline
Symbol 5263 TextUses:220Used by:Timeline
Symbol 5264 TextUses:220Used by:Timeline
Symbol 5265 TextUses:220Used by:Timeline
Symbol 5266 TextUses:220Used by:5268
Symbol 5267 GraphicUsed by:5268
Symbol 5268 ButtonUses:5266 5267Used by:Timeline
Symbol 5269 TextUses:220Used by:Timeline
Symbol 5270 TextUses:220Used by:Timeline
Symbol 5271 GraphicUsed by:Timeline
Symbol 5272 TextUses:220Used by:5274
Symbol 5273 GraphicUsed by:5274
Symbol 5274 ButtonUses:5272 5273Used by:Timeline
Symbol 5275 TextUses:220Used by:5277
Symbol 5276 GraphicUsed by:5277
Symbol 5277 ButtonUses:5275 5276Used by:Timeline
Symbol 5278 TextUses:220Used by:5280
Symbol 5279 GraphicUsed by:5280
Symbol 5280 ButtonUses:5278 5279Used by:Timeline
Symbol 5281 TextUses:220Used by:5283
Symbol 5282 GraphicUsed by:5283
Symbol 5283 ButtonUses:5281 5282Used by:Timeline
Symbol 5284 TextUses:220Used by:5286
Symbol 5285 GraphicUsed by:5286
Symbol 5286 ButtonUses:5284 5285Used by:Timeline
Symbol 5287 TextUses:220Used by:5289
Symbol 5288 GraphicUsed by:5289
Symbol 5289 ButtonUses:5287 5288Used by:Timeline
Symbol 5290 TextUses:220Used by:5292
Symbol 5291 GraphicUsed by:5292
Symbol 5292 ButtonUses:5290 5291Used by:Timeline
Symbol 5293 TextUses:220Used by:5295
Symbol 5294 GraphicUsed by:5295
Symbol 5295 ButtonUses:5293 5294Used by:Timeline
Symbol 5296 TextUses:220Used by:5298
Symbol 5297 GraphicUsed by:5298
Symbol 5298 ButtonUses:5296 5297Used by:Timeline
Symbol 5299 TextUses:220Used by:5301
Symbol 5300 GraphicUsed by:5301
Symbol 5301 ButtonUses:5299 5300Used by:Timeline
Symbol 5302 TextUses:220Used by:5304
Symbol 5303 GraphicUsed by:5304
Symbol 5304 ButtonUses:5302 5303Used by:Timeline
Symbol 5305 TextUses:220Used by:5307
Symbol 5306 GraphicUsed by:5307
Symbol 5307 ButtonUses:5305 5306Used by:Timeline
Symbol 5308 TextUses:220Used by:Timeline
Symbol 5309 TextUses:220Used by:Timeline
Symbol 5310 TextUses:220Used by:Timeline
Symbol 5311 EditableTextUses:220 736 3479Used by:Timeline
Symbol 5312 TextUses:220Used by:Timeline
Symbol 5313 EditableTextUses:4500 5151Used by:Timeline
Symbol 5314 TextUses:220Used by:Timeline
Symbol 5315 TextUses:220Used by:Timeline
Symbol 5316 GraphicUsed by:5317
Symbol 5317 MovieClipUses:5316Used by:Timeline
Symbol 5318 TextUses:220Used by:Timeline
Symbol 5319 TextUses:220Used by:Timeline
Symbol 5320 TextUses:220Used by:Timeline
Symbol 5321 TextUses:4500Used by:Timeline
Symbol 5322 TextUses:220Used by:Timeline
Symbol 5323 TextUses:4500Used by:Timeline
Symbol 5324 TextUses:220Used by:Timeline
Symbol 5325 TextUses:220Used by:Timeline
Symbol 5326 TextUses:4500Used by:Timeline
Symbol 5327 TextUses:220Used by:Timeline
Symbol 5328 EditableTextUses:4500 5151Used by:Timeline
Symbol 5329 TextUses:220Used by:Timeline
Symbol 5330 TextUses:220Used by:Timeline
Symbol 5331 TextUses:220Used by:Timeline
Symbol 5332 TextUses:736Used by:Timeline
Symbol 5333 EditableTextUses:4500 5151Used by:Timeline
Symbol 5334 TextUses:220Used by:Timeline
Symbol 5335 TextUses:220Used by:Timeline
Symbol 5336 EditableTextUses:220 736 3479Used by:Timeline
Symbol 5337 TextUses:220Used by:Timeline
Symbol 5338 EditableTextUses:4500 5151Used by:Timeline
Symbol 5339 TextUses:220Used by:Timeline
Symbol 5340 EditableTextUses:220Used by:5341
Symbol 5341 MovieClipUses:5340Used by:Timeline
Symbol 5342 TextUses:220Used by:Timeline
Symbol 5343 TextUses:220Used by:Timeline
Symbol 5344 TextUses:220Used by:Timeline
Symbol 5345 TextUses:4500Used by:Timeline
Symbol 5346 TextUses:220Used by:Timeline
Symbol 5347 TextUses:220Used by:Timeline
Symbol 5348 TextUses:4500Used by:Timeline
Symbol 5349 TextUses:220Used by:Timeline
Symbol 5350 TextUses:4500Used by:Timeline
Symbol 5351 BitmapUsed by:5352
Symbol 5352 GraphicUses:5351Used by:5353
Symbol 5353 MovieClipUses:5352Used by:Timeline
Symbol 5354 TextUses:220Used by:Timeline
Symbol 5355 TextUses:220Used by:Timeline
Symbol 5356 TextUses:220Used by:Timeline
Symbol 5357 TextUses:4500Used by:Timeline
Symbol 5358 TextUses:220Used by:Timeline
Symbol 5359 EditableTextUses:4500 5151Used by:Timeline
Symbol 5360 EditableTextUses:220 736 3479Used by:Timeline
Symbol 5361 EditableTextUses:220 736 3479Used by:Timeline
Symbol 5362 EditableTextUses:4500 5151Used by:Timeline
Symbol 5363 TextUses:220Used by:Timeline
Symbol 5364 TextUses:220Used by:Timeline
Symbol 5365 TextUses:5151Used by:Timeline
Symbol 5366 TextUses:220Used by:Timeline
Symbol 5367 EditableTextUses:4500 5151Used by:Timeline
Symbol 5368 TextUses:220Used by:Timeline
Symbol 5369 TextUses:220Used by:Timeline
Symbol 5370 TextUses:736Used by:Timeline
Symbol 5371 EditableTextUses:4500 5151Used by:Timeline
Symbol 5372 TextUses:220Used by:Timeline
Symbol 5373 TextUses:220Used by:Timeline
Symbol 5374 TextUses:5151Used by:Timeline
Symbol 5375 TextUses:220Used by:Timeline
Symbol 5376 TextUses:220Used by:Timeline
Symbol 5377 TextUses:5151Used by:Timeline
Symbol 5378 BitmapUsed by:5379
Symbol 5379 GraphicUses:5378Used by:5380
Symbol 5380 MovieClipUses:5379Used by:Timeline
Symbol 5381 TextUses:220Used by:Timeline
Symbol 5382 TextUses:220Used by:Timeline
Symbol 5383 TextUses:220Used by:Timeline
Symbol 5384 EditableTextUses:4500 5151Used by:Timeline
Symbol 5385 TextUses:736Used by:Timeline
Symbol 5386 TextUses:736Used by:Timeline
Symbol 5387 EditableTextUses:4500 5151Used by:Timeline
Symbol 5388 TextUses:220Used by:Timeline
Symbol 5389 TextUses:220Used by:Timeline
Symbol 5390 TextUses:220Used by:Timeline
Symbol 5391 TextUses:220Used by:Timeline
Symbol 5392 TextUses:220Used by:Timeline
Symbol 5393 TextUses:4500Used by:Timeline
Symbol 5394 TextUses:220Used by:Timeline
Symbol 5395 TextUses:220Used by:Timeline
Symbol 5396 TextUses:220Used by:Timeline
Symbol 5397 TextUses:4500Used by:Timeline
Symbol 5398 TextUses:220Used by:Timeline
Symbol 5399 TextUses:220Used by:Timeline
Symbol 5400 TextUses:4500Used by:Timeline
Symbol 5401 TextUses:4500Used by:Timeline
Symbol 5402 TextUses:220Used by:Timeline
Symbol 5403 TextUses:220Used by:Timeline
Symbol 5404 TextUses:4500Used by:Timeline
Symbol 5405 TextUses:220Used by:Timeline
Symbol 5406 TextUses:4500Used by:Timeline
Symbol 5407 TextUses:220Used by:Timeline
Symbol 5408 TextUses:4500Used by:Timeline
Symbol 5409 EditableTextUses:220 736 3479Used by:5410
Symbol 5410 ButtonUses:5409Used by:Timeline
Symbol 5411 EditableTextUses:4500 5151Used by:Timeline
Symbol 5412 TextUses:220Used by:Timeline
Symbol 5413 TextUses:220Used by:5415
Symbol 5414 GraphicUsed by:5415
Symbol 5415 ButtonUses:5413 5414Used by:Timeline
Symbol 5416 TextUses:220Used by:Timeline
Symbol 5417 TextUses:220Used by:Timeline
Symbol 5418 TextUses:4500Used by:Timeline
Symbol 5419 TextUses:220Used by:Timeline
Symbol 5420 EditableTextUses:4500 5151Used by:Timeline
Symbol 5421 BitmapUsed by:5422
Symbol 5422 GraphicUses:5421Used by:5423
Symbol 5423 MovieClipUses:5422Used by:Timeline
Symbol 5424 TextUses:220Used by:Timeline
Symbol 5425 TextUses:220Used by:Timeline
Symbol 5426 TextUses:4500Used by:Timeline
Symbol 5427 TextUses:220Used by:Timeline
Symbol 5428 BitmapUsed by:5429
Symbol 5429 GraphicUses:5428Used by:5430
Symbol 5430 MovieClipUses:5429Used by:Timeline
Symbol 5431 TextUses:220Used by:Timeline
Symbol 5432 TextUses:4500Used by:Timeline
Symbol 5433 TextUses:736Used by:Timeline
Symbol 5434 EditableTextUses:4500 5151Used by:Timeline
Symbol 5435 TextUses:220Used by:Timeline
Symbol 5436 TextUses:220Used by:Timeline
Symbol 5437 TextUses:220Used by:Timeline
Symbol 5438 TextUses:220Used by:Timeline
Symbol 5439 TextUses:4500Used by:Timeline
Symbol 5440 TextUses:220Used by:Timeline
Symbol 5441 TextUses:4500Used by:Timeline
Symbol 5442 TextUses:220Used by:Timeline
Symbol 5443 TextUses:220Used by:Timeline
Symbol 5444 TextUses:4500Used by:Timeline
Symbol 5445 TextUses:220Used by:Timeline
Symbol 5446 TextUses:220Used by:Timeline
Symbol 5447 EditableTextUses:4500 5151Used by:Timeline
Symbol 5448 TextUses:220Used by:Timeline
Symbol 5449 TextUses:220Used by:Timeline
Symbol 5450 EditableTextUses:4500 5151Used by:Timeline
Symbol 5451 TextUses:220Used by:Timeline
Symbol 5452 EditableTextUses:4500 5151Used by:Timeline
Symbol 5453 TextUses:220Used by:Timeline
Symbol 5454 TextUses:220 3479Used by:Timeline
Symbol 5455 TextUses:220Used by:Timeline
Symbol 5456 TextUses:220Used by:Timeline
Symbol 5457 TextUses:220Used by:Timeline
Symbol 5458 TextUses:220Used by:5460
Symbol 5459 TextUses:220Used by:5460
Symbol 5460 MovieClipUses:5458 5459Used by:Timeline
Symbol 5461 TextUses:220Used by:5462
Symbol 5462 ButtonUses:5461Used by:Timeline
Symbol 5463 TextUses:220Used by:Timeline
Symbol 5464 BitmapUsed by:5465 5467 5469 5471 5473 5475 5477 5479 5481 5483 5485 5487 5489 5491 5493 5495 5497 5499 5501 5503 5505 5507 5509 5511 5513 5515 5517 5519 5521 5523 5525 5527 5529 5531 5533 5535 5537 5539 5541 5543 5545 5548
Symbol 5465 GraphicUses:5464Used by:5466
Symbol 5466 ButtonUses:5465Used by:Timeline
Symbol 5467 GraphicUses:5464Used by:5468
Symbol 5468 ButtonUses:5467Used by:Timeline
Symbol 5469 GraphicUses:5464Used by:5470
Symbol 5470 ButtonUses:5469Used by:Timeline
Symbol 5471 GraphicUses:5464Used by:5472
Symbol 5472 ButtonUses:5471Used by:Timeline
Symbol 5473 GraphicUses:5464Used by:5474
Symbol 5474 ButtonUses:5473Used by:Timeline
Symbol 5475 GraphicUses:5464Used by:5476
Symbol 5476 ButtonUses:5475Used by:Timeline
Symbol 5477 GraphicUses:5464Used by:5478
Symbol 5478 ButtonUses:5477Used by:Timeline
Symbol 5479 GraphicUses:5464Used by:5480
Symbol 5480 ButtonUses:5479Used by:Timeline
Symbol 5481 GraphicUses:5464Used by:5482
Symbol 5482 ButtonUses:5481Used by:Timeline
Symbol 5483 GraphicUses:5464Used by:5484
Symbol 5484 ButtonUses:5483Used by:Timeline
Symbol 5485 GraphicUses:5464Used by:5486
Symbol 5486 ButtonUses:5485Used by:Timeline
Symbol 5487 GraphicUses:5464Used by:5488
Symbol 5488 ButtonUses:5487Used by:Timeline
Symbol 5489 GraphicUses:5464Used by:5490
Symbol 5490 ButtonUses:5489Used by:Timeline
Symbol 5491 GraphicUses:5464Used by:5492
Symbol 5492 ButtonUses:5491Used by:Timeline
Symbol 5493 GraphicUses:5464Used by:5494
Symbol 5494 ButtonUses:5493Used by:Timeline
Symbol 5495 GraphicUses:5464Used by:5496
Symbol 5496 ButtonUses:5495Used by:Timeline
Symbol 5497 GraphicUses:5464Used by:5498
Symbol 5498 ButtonUses:5497Used by:Timeline
Symbol 5499 GraphicUses:5464Used by:5500
Symbol 5500 ButtonUses:5499Used by:Timeline
Symbol 5501 GraphicUses:5464Used by:5502
Symbol 5502 ButtonUses:5501Used by:Timeline
Symbol 5503 GraphicUses:5464Used by:5504
Symbol 5504 ButtonUses:5503Used by:Timeline
Symbol 5505 GraphicUses:5464Used by:5506
Symbol 5506 ButtonUses:5505Used by:Timeline
Symbol 5507 GraphicUses:5464Used by:5508
Symbol 5508 ButtonUses:5507Used by:Timeline
Symbol 5509 GraphicUses:5464Used by:5510
Symbol 5510 ButtonUses:5509Used by:Timeline
Symbol 5511 GraphicUses:5464Used by:5512
Symbol 5512 ButtonUses:5511Used by:Timeline
Symbol 5513 GraphicUses:5464Used by:5514
Symbol 5514 ButtonUses:5513Used by:Timeline
Symbol 5515 GraphicUses:5464Used by:5516
Symbol 5516 ButtonUses:5515Used by:Timeline
Symbol 5517 GraphicUses:5464Used by:5518
Symbol 5518 ButtonUses:5517Used by:Timeline
Symbol 5519 GraphicUses:5464Used by:5520
Symbol 5520 ButtonUses:5519Used by:Timeline
Symbol 5521 GraphicUses:5464Used by:5522
Symbol 5522 ButtonUses:5521Used by:Timeline
Symbol 5523 GraphicUses:5464Used by:5524
Symbol 5524 ButtonUses:5523Used by:Timeline
Symbol 5525 GraphicUses:5464Used by:5526
Symbol 5526 ButtonUses:5525Used by:Timeline
Symbol 5527 GraphicUses:5464Used by:5528
Symbol 5528 ButtonUses:5527Used by:Timeline
Symbol 5529 GraphicUses:5464Used by:5530
Symbol 5530 ButtonUses:5529Used by:Timeline
Symbol 5531 GraphicUses:5464Used by:5532
Symbol 5532 ButtonUses:5531Used by:Timeline
Symbol 5533 GraphicUses:5464Used by:5534
Symbol 5534 ButtonUses:5533Used by:Timeline
Symbol 5535 GraphicUses:5464Used by:5536
Symbol 5536 ButtonUses:5535Used by:Timeline
Symbol 5537 GraphicUses:5464Used by:5538
Symbol 5538 ButtonUses:5537Used by:Timeline
Symbol 5539 GraphicUses:5464Used by:5540
Symbol 5540 ButtonUses:5539Used by:Timeline
Symbol 5541 GraphicUses:5464Used by:5542
Symbol 5542 ButtonUses:5541Used by:Timeline
Symbol 5543 GraphicUses:5464Used by:5544
Symbol 5544 ButtonUses:5543Used by:Timeline
Symbol 5545 GraphicUses:5464Used by:5546
Symbol 5546 ButtonUses:5545Used by:Timeline
Symbol 5547 TextUses:220Used by:Timeline
Symbol 5548 GraphicUses:5464Used by:Timeline
Symbol 5549 TextUses:220Used by:Timeline
Symbol 5550 TextUses:220Used by:Timeline
Symbol 5551 EditableTextUses:4500 5151Used by:Timeline
Symbol 5552 TextUses:220Used by:Timeline
Symbol 5553 TextUses:220Used by:Timeline
Symbol 5554 TextUses:220Used by:Timeline
Symbol 5555 TextUses:4500Used by:Timeline
Symbol 5556 TextUses:220Used by:Timeline
Symbol 5557 TextUses:220Used by:Timeline
Symbol 5558 TextUses:4500Used by:Timeline
Symbol 5559 TextUses:220Used by:Timeline
Symbol 5560 TextUses:4500Used by:Timeline
Symbol 5561 TextUses:220Used by:Timeline
Symbol 5562 TextUses:220Used by:Timeline
Symbol 5563 TextUses:4500Used by:Timeline
Symbol 5564 TextUses:220Used by:Timeline
Symbol 5565 TextUses:4500Used by:Timeline
Symbol 5566 TextUses:220Used by:Timeline
Symbol 5567 TextUses:220Used by:Timeline
Symbol 5568 TextUses:220Used by:Timeline
Symbol 5569 TextUses:4500Used by:Timeline
Symbol 5570 TextUses:220Used by:Timeline
Symbol 5571 TextUses:4500Used by:Timeline
Symbol 5572 TextUses:220Used by:Timeline
Symbol 5573 TextUses:220Used by:Timeline
Symbol 5574 TextUses:4500Used by:Timeline
Symbol 5575 TextUses:220Used by:Timeline
Symbol 5576 TextUses:4500Used by:Timeline
Symbol 5577 TextUses:220Used by:Timeline
Symbol 5578 TextUses:220Used by:Timeline
Symbol 5579 EditableTextUses:4500 5151Used by:Timeline
Symbol 5580 TextUses:220Used by:Timeline
Symbol 5581 TextUses:220Used by:Timeline
Symbol 5582 TextUses:220Used by:Timeline
Symbol 5583 TextUses:4500Used by:Timeline
Symbol 5584 TextUses:220Used by:Timeline
Symbol 5585 TextUses:220Used by:Timeline
Symbol 5586 TextUses:220Used by:Timeline
Symbol 5587 TextUses:220Used by:Timeline
Symbol 5588 TextUses:4500Used by:Timeline
Symbol 5589 TextUses:220Used by:Timeline
Symbol 5590 TextUses:220Used by:Timeline
Symbol 5591 TextUses:220Used by:Timeline
Symbol 5592 TextUses:220Used by:Timeline
Symbol 5593 EditableTextUses:4500 5151Used by:Timeline
Symbol 5594 EditableTextUses:4500 5151Used by:Timeline
Symbol 5595 EditableTextUses:4500 5151Used by:Timeline
Symbol 5596 EditableTextUses:4500 5151Used by:Timeline
Symbol 5597 TextUses:220Used by:Timeline
Symbol 5598 EditableTextUses:4500 5151Used by:Timeline
Symbol 5599 TextUses:220Used by:Timeline
Symbol 5600 TextUses:220Used by:Timeline
Symbol 5601 TextUses:220Used by:Timeline
Symbol 5602 TextUses:220Used by:Timeline
Symbol 5603 TextUses:4500Used by:Timeline
Symbol 5604 TextUses:220Used by:Timeline
Symbol 5605 TextUses:220Used by:Timeline
Symbol 5606 TextUses:220Used by:Timeline
Symbol 5607 TextUses:220Used by:Timeline
Symbol 5608 TextUses:220Used by:Timeline
Symbol 5609 TextUses:4500Used by:Timeline
Symbol 5610 GraphicUsed by:Timeline
Symbol 5611 TextUses:220Used by:Timeline
Symbol 5612 TextUses:4500Used by:Timeline
Symbol 5613 TextUses:220Used by:Timeline
Symbol 5614 TextUses:220Used by:Timeline
Symbol 5615 TextUses:220Used by:Timeline
Symbol 5616 TextUses:220Used by:Timeline
Symbol 5617 TextUses:220Used by:Timeline
Symbol 5618 TextUses:220Used by:Timeline
Symbol 5619 TextUses:4500Used by:Timeline
Symbol 5620 GraphicUsed by:Timeline
Symbol 5621 TextUses:220Used by:Timeline
Symbol 5622 TextUses:220Used by:Timeline
Symbol 5623 TextUses:220Used by:5624
Symbol 5624 ButtonUses:5623 744Used by:Timeline
Symbol 5625 TextUses:220Used by:5627
Symbol 5626 GraphicUsed by:5627
Symbol 5627 ButtonUses:5625 5626Used by:Timeline
Symbol 5628 TextUses:220Used by:5630
Symbol 5629 GraphicUsed by:5630
Symbol 5630 ButtonUses:5628 5629Used by:Timeline
Symbol 5631 TextUses:220Used by:5634
Symbol 5632 GraphicUsed by:5634
Symbol 5633 TextUses:220Used by:5634
Symbol 5634 ButtonUses:5631 5632 5633Used by:Timeline
Symbol 5635 TextUses:220Used by:5637  Timeline
Symbol 5636 GraphicUsed by:5637
Symbol 5637 ButtonUses:5635 5636Used by:Timeline
Symbol 5638 EditableTextUses:1178Used by:Timeline
Symbol 5639 ButtonUses:1543 1544 1545 1546 1547Used by:Timeline
Symbol 5640 TextUses:220Used by:Timeline
Symbol 5641 TextUses:220Used by:Timeline
Symbol 5642 TextUses:220Used by:Timeline
Symbol 5643 TextUses:220Used by:Timeline
Symbol 5644 TextUses:220Used by:Timeline
Symbol 5645 TextUses:220Used by:Timeline
Symbol 5646 TextUses:220Used by:Timeline
Symbol 5647 TextUses:220Used by:Timeline
Symbol 5648 TextUses:220Used by:Timeline
Symbol 5649 TextUses:220Used by:Timeline
Symbol 5650 TextUses:220Used by:Timeline
Symbol 5651 TextUses:220Used by:Timeline
Symbol 5652 TextUses:220Used by:Timeline
Symbol 5653 TextUses:220Used by:Timeline
Symbol 5654 TextUses:220Used by:Timeline
Symbol 5655 TextUses:220Used by:Timeline
Symbol 5656 TextUses:220Used by:Timeline
Symbol 5657 TextUses:220Used by:Timeline
Symbol 5658 TextUses:220Used by:Timeline
Symbol 5659 TextUses:220Used by:Timeline
Symbol 5660 TextUses:220Used by:Timeline
Symbol 5661 TextUses:220Used by:Timeline
Symbol 5662 TextUses:220Used by:Timeline
Symbol 5663 TextUses:220Used by:Timeline
Symbol 5664 TextUses:220Used by:Timeline
Symbol 5665 TextUses:220Used by:Timeline
Symbol 5666 TextUses:220Used by:Timeline
Symbol 5667 TextUses:220Used by:Timeline
Symbol 5668 TextUses:220Used by:Timeline
Symbol 5669 TextUses:220Used by:Timeline
Symbol 5670 TextUses:220Used by:Timeline
Symbol 5671 GraphicUsed by:5674 5676
Symbol 5672 TextUses:220Used by:5674 5676
Symbol 5673 TextUses:220Used by:5676
Symbol 5674 MovieClipUses:5672 5671Used by:5676
Symbol 5675 GraphicUsed by:5676
Symbol 5676 ButtonUses:5671 5672 5673 5674 5675Used by:Timeline
Symbol 5677 GraphicUsed by:5680 5683
Symbol 5678 TextUses:220Used by:5680 5683
Symbol 5679 TextUses:220Used by:5683
Symbol 5680 MovieClipUses:5678 5677Used by:5683
Symbol 5681 GraphicUsed by:5683
Symbol 5682 TextUses:220Used by:5683
Symbol 5683 ButtonUses:5677 5678 5679 5680 5681 5682Used by:Timeline
Symbol 5684 TextUses:220Used by:5686 5688
Symbol 5685 GraphicUsed by:5686 5688
Symbol 5686 MovieClipUses:5684 5685Used by:5691
Symbol 5687 TextUses:220Used by:5691
Symbol 5688 MovieClipUses:5684 5685Used by:5691
Symbol 5689 GraphicUsed by:5691
Symbol 5690 TextUses:220Used by:5691
Symbol 5691 ButtonUses:5686 5687 5688 5689 5690Used by:Timeline
Symbol 5692 GraphicUsed by:5695 5697
Symbol 5693 TextUses:220Used by:5695 5697
Symbol 5694 TextUses:220Used by:5697
Symbol 5695 MovieClipUses:5693 5692Used by:5697
Symbol 5696 GraphicUsed by:5697
Symbol 5697 ButtonUses:5692 5693 5694 5695 5696Used by:Timeline
Symbol 5698 GraphicUsed by:5700 5703
Symbol 5699 TextUses:220Used by:5703
Symbol 5700 MovieClipUses:5698Used by:5703
Symbol 5701 TextUses:220Used by:5703
Symbol 5702 GraphicUsed by:5703
Symbol 5703 ButtonUses:5698 5699 5700 5701 5702Used by:Timeline
Symbol 5704 TextUses:220Used by:Timeline
Symbol 5705 TextUses:220Used by:Timeline
Symbol 5706 TextUses:220Used by:Timeline
Symbol 5707 TextUses:220Used by:Timeline
Symbol 5708 GraphicUsed by:Timeline
Symbol 5709 TextUses:220Used by:Timeline
Symbol 5710 TextUses:220Used by:Timeline
Symbol 5711 TextUses:220Used by:Timeline
Symbol 5712 TextUses:220Used by:Timeline
Symbol 5713 TextUses:220Used by:Timeline
Symbol 5714 TextUses:220Used by:Timeline
Symbol 5715 TextUses:220Used by:Timeline
Symbol 5716 TextUses:220Used by:Timeline
Symbol 5717 TextUses:220Used by:Timeline
Symbol 5718 TextUses:220Used by:Timeline
Symbol 5719 TextUses:220Used by:Timeline
Symbol 5720 GraphicUsed by:Timeline
Symbol 5721 TextUses:220Used by:Timeline
Symbol 5722 TextUses:220Used by:Timeline
Symbol 5723 TextUses:220Used by:Timeline
Symbol 5724 TextUses:220Used by:Timeline
Symbol 5725 EditableTextUses:220 736 3479Used by:Timeline
Symbol 5726 TextUses:220Used by:Timeline
Symbol 5727 TextUses:220Used by:Timeline
Symbol 5728 TextUses:220Used by:Timeline
Symbol 5729 TextUses:220Used by:Timeline
Symbol 5730 TextUses:220Used by:Timeline
Symbol 5731 TextUses:220Used by:Timeline
Symbol 5732 TextUses:220Used by:Timeline
Symbol 5733 TextUses:220Used by:Timeline
Symbol 5734 TextUses:220Used by:Timeline
Symbol 5735 BitmapUsed by:5736
Symbol 5736 GraphicUses:5735Used by:5737
Symbol 5737 MovieClipUses:5736Used by:Timeline
Symbol 5738 TextUses:220Used by:Timeline
Symbol 5739 TextUses:220Used by:Timeline
Symbol 5740 BitmapUsed by:5741
Symbol 5741 GraphicUses:5740Used by:5742
Symbol 5742 MovieClipUses:5741Used by:Timeline
Symbol 5743 TextUses:220Used by:Timeline
Symbol 5744 TextUses:220Used by:5747
Symbol 5745 GraphicUsed by:5747
Symbol 5746 TextUses:220Used by:5747
Symbol 5747 ButtonUses:5744 5745 5746Used by:Timeline
Symbol 5748 TextUses:220Used by:Timeline
Symbol 5749 TextUses:220Used by:Timeline
Symbol 5750 BitmapUsed by:5751
Symbol 5751 GraphicUses:5750Used by:5752
Symbol 5752 MovieClipUses:5751Used by:Timeline
Symbol 5753 TextUses:220Used by:Timeline
Symbol 5754 BitmapUsed by:5755
Symbol 5755 GraphicUses:5754Used by:5756
Symbol 5756 MovieClipUses:5755Used by:Timeline
Symbol 5757 TextUses:220Used by:Timeline
Symbol 5758 TextUses:220Used by:Timeline
Symbol 5759 TextUses:220Used by:Timeline
Symbol 5760 BitmapUsed by:5761
Symbol 5761 GraphicUses:5760Used by:5762
Symbol 5762 MovieClipUses:5761Used by:Timeline
Symbol 5763 TextUses:220Used by:Timeline
Symbol 5764 BitmapUsed by:5765
Symbol 5765 GraphicUses:5764Used by:5766
Symbol 5766 MovieClipUses:5765Used by:Timeline
Symbol 5767 TextUses:220Used by:Timeline
Symbol 5768 BitmapUsed by:5769
Symbol 5769 GraphicUses:5768Used by:5770
Symbol 5770 MovieClipUses:5769Used by:Timeline
Symbol 5771 TextUses:220Used by:Timeline
Symbol 5772 TextUses:220Used by:Timeline
Symbol 5773 TextUses:220Used by:Timeline
Symbol 5774 TextUses:220Used by:Timeline
Symbol 5775 TextUses:220Used by:Timeline
Symbol 5776 TextUses:220Used by:Timeline
Symbol 5777 TextUses:220Used by:Timeline
Symbol 5778 TextUses:220Used by:Timeline
Symbol 5779 TextUses:220Used by:Timeline
Symbol 5780 TextUses:220Used by:Timeline
Symbol 5781 BitmapUsed by:5782
Symbol 5782 GraphicUses:5781Used by:5783
Symbol 5783 MovieClipUses:5782Used by:Timeline
Symbol 5784 TextUses:220Used by:Timeline
Symbol 5785 BitmapUsed by:5786
Symbol 5786 GraphicUses:5785Used by:5787
Symbol 5787 MovieClipUses:5786Used by:Timeline
Symbol 5788 TextUses:220Used by:Timeline
Symbol 5789 GraphicUsed by:Timeline
Symbol 5790 TextUses:220Used by:Timeline
Symbol 5791 TextUses:220Used by:5793
Symbol 5792 GraphicUsed by:5793
Symbol 5793 ButtonUses:5791 5792Used by:Timeline
Symbol 5794 TextUses:220Used by:Timeline
Symbol 5795 TextUses:220Used by:Timeline
Symbol 5796 TextUses:220Used by:Timeline
Symbol 5797 TextUses:220Used by:Timeline
Symbol 5798 TextUses:220Used by:Timeline
Symbol 5799 TextUses:220Used by:Timeline
Symbol 5800 TextUses:220Used by:Timeline
Symbol 5801 TextUses:220Used by:Timeline
Symbol 5802 TextUses:220Used by:Timeline
Symbol 5803 TextUses:220Used by:5804
Symbol 5804 ButtonUses:5803Used by:Timeline
Symbol 5805 TextUses:220Used by:5806
Symbol 5806 ButtonUses:5805Used by:Timeline
Symbol 5807 TextUses:220Used by:Timeline
Symbol 5808 GraphicUsed by:5809
Symbol 5809 MovieClipUses:5808Used by:5813
Symbol 5810 GraphicUsed by:5811
Symbol 5811 MovieClipUses:5810Used by:5813
Symbol 5812 GraphicUsed by:5813
Symbol 5813 MovieClipUses:5811 5812 5809Used by:Timeline
Symbol 5814 GraphicUsed by:5815
Symbol 5815 MovieClipUses:5814 SS1Used by:Timeline
Symbol 5816 TextUses:220Used by:Timeline
Symbol 5817 TextUses:220Used by:Timeline
Streaming Sound 1Used by:Symbol 5815 MovieClip

Instance Names

"bob"Frame 1Symbol 222 MovieClip
"layout"Frame 2Symbol 227 Button
"hotkey"Frame 2Symbol 232 Button
"soundLoaded"Frame 2Symbol 235 MovieClip
"yoko"Frame 2Symbol 713 MovieClip
"men2"Frame 2Symbol 718 Button
"men1"Frame 2Symbol 723 Button
"pre"Frame 2Symbol 755 MovieClip
"men"Frame 4Symbol 812 MovieClip
"bigmen"Frame 4Symbol 955 MovieClip
"blinanor2"Frame 4Symbol 1083 MovieClip
"blinanor"Frame 4Symbol 1086 MovieClip
"menlim"Frame 5Symbol 1099 MovieClip
"btn01"Frame 5Symbol 1487 MovieClip
"btn11"Frame 5Symbol 1507 MovieClip
"btn00"Frame 5Symbol 1542 MovieClip
"menutxt"Frame 5Symbol 1599 Button
"back"Frame 5Symbol 1602 MovieClip
"arrowb"Frame 8Symbol 1643 Button
"yigmen"Frame 278Symbol 3700 MovieClip
"btn01"Frame 356Symbol 4312 Button
"totalrod"Frame 510Symbol 4812 MovieClip
"codekey"Frame 676Symbol 5460 MovieClip
"musicSlider"Frame 764Symbol 5813 MovieClip
"b"Symbol 15 MovieClip [SimpleButtonDown] Frame 1Symbol 12 MovieClip [BrdrShdw]
"face"Symbol 15 MovieClip [SimpleButtonDown] Frame 1Symbol 14 MovieClip [BrdrFace]
"b"Symbol 20 MovieClip [SimpleButtonIn] Frame 1Symbol 17 MovieClip [BrdrBlk]
"it"Symbol 20 MovieClip [SimpleButtonIn] Frame 1Symbol 19 MovieClip [BrdrHilght]
"g"Symbol 20 MovieClip [SimpleButtonIn] Frame 1Symbol 12 MovieClip [BrdrShdw]
"face"Symbol 20 MovieClip [SimpleButtonIn] Frame 1Symbol 14 MovieClip [BrdrFace]
"ob"Symbol 21 MovieClip [SimpleButtonUp] Frame 1Symbol 17 MovieClip [BrdrBlk]
"ol"Symbol 21 MovieClip [SimpleButtonUp] Frame 1Symbol 14 MovieClip [BrdrFace]
"ib"Symbol 21 MovieClip [SimpleButtonUp] Frame 1Symbol 12 MovieClip [BrdrShdw]
"il"Symbol 21 MovieClip [SimpleButtonUp] Frame 1Symbol 19 MovieClip [BrdrHilght]
"face"Symbol 21 MovieClip [SimpleButtonUp] Frame 1Symbol 14 MovieClip [BrdrFace]
"boundingBox_mc"Symbol 29 MovieClip [FocusRect] Frame 1Symbol 10 MovieClip [BoundingBox]
"tabCapture"Symbol 30 MovieClip [FocusManager] Frame 1Symbol 27 Button
"boundingBox_mc"Symbol 33 MovieClip [SimpleButton] Frame 1Symbol 10 MovieClip [BoundingBox]
"boundingBox_mc"Symbol 37 MovieClip [Button] Frame 1Symbol 10 MovieClip [BoundingBox]
"dfs"Symbol 93 MovieClip [BtnDownArrow] Frame 1Symbol 41 MovieClip [ScrollTrack]
"dfs"Symbol 94 MovieClip [BtnUpArrow] Frame 1Symbol 41 MovieClip [ScrollTrack]
"boundingBox_mc"Symbol 96 MovieClip [VScrollBar] Frame 1Symbol 10 MovieClip [BoundingBox]
"boundingBox_mc"Symbol 97 MovieClip [HScrollBar] Frame 1Symbol 10 MovieClip [BoundingBox]
"boundingBox_mc"Symbol 98 MovieClip [UIScrollBar] Frame 1Symbol 10 MovieClip [BoundingBox]
"boundingBox_mc"Symbol 131 MovieClip [View] Frame 1Symbol 10 MovieClip [BoundingBox]
"boundingBox_mc"Symbol 132 MovieClip [ScrollView] Frame 1Symbol 10 MovieClip [BoundingBox]
"boundingBox_mc"Symbol 152 MovieClip [Menu] Frame 1Symbol 10 MovieClip [BoundingBox]
"boundingBox_mc"Symbol 160 MovieClip [MenuBar] Frame 1Symbol 10 MovieClip [BoundingBox]
"boundingBox_mc"Symbol 192 MovieClip [CheckBox] Frame 1Symbol 10 MovieClip [BoundingBox]
"l_mc"Symbol 202 MovieClip [TitleBackground] Frame 1Symbol 197 MovieClip [TitleLeft]
"m_mc"Symbol 202 MovieClip [TitleBackground] Frame 1Symbol 199 MovieClip [TitleMiddle]
"r_mc"Symbol 202 MovieClip [TitleBackground] Frame 1Symbol 201 MovieClip [TitleRight]
"boundingBox_mc"Symbol 212 MovieClip [Window] Frame 1Symbol 10 MovieClip [BoundingBox]
"label"Symbol 215 MovieClip [TextArea] Frame 1Symbol 214 EditableText
"boundingBox_mc"Symbol 217 MovieClip [Alert] Frame 1Symbol 10 MovieClip [BoundingBox]
"lineso"Symbol 755 MovieClip Frame 1Symbol 725 MovieClip
"percent1"Symbol 755 MovieClip Frame 1Symbol 737 EditableText
"bar"Symbol 755 MovieClip Frame 1Symbol 739 MovieClip
"btn11"Symbol 755 MovieClip Frame 3Symbol 754 Button
"vis4"Symbol 811 MovieClip Frame 1Symbol 770 Button
"vis1"Symbol 811 MovieClip Frame 1Symbol 771 Button
"vis2"Symbol 811 MovieClip Frame 1Symbol 772 Button
"vis3"Symbol 811 MovieClip Frame 1Symbol 773 Button
"btn"Symbol 811 MovieClip Frame 1Symbol 781 Button
"InstanceName_0"Symbol 811 MovieClip Frame 1Symbol 783 EditableText
"hide"Symbol 811 MovieClip Frame 1Symbol 798 Button
"back"Symbol 812 MovieClip Frame 1Symbol 811 MovieClip
"holdin"Symbol 860 MovieClip Frame 1Symbol 857 MovieClip
"movein3"Symbol 878 MovieClip Frame 1Symbol 875 MovieClip
"movein2"Symbol 896 MovieClip Frame 1Symbol 893 MovieClip
"swiftbtn1"Symbol 948 MovieClip Frame 1Symbol 899 MovieClip
"movein1"Symbol 948 MovieClip Frame 1Symbol 945 MovieClip
"swiftbtn2"Symbol 948 MovieClip Frame 2Symbol 947 MovieClip
"vis4"Symbol 955 MovieClip Frame 1Symbol 770 Button
"vis1"Symbol 955 MovieClip Frame 1Symbol 771 Button
"vis2"Symbol 955 MovieClip Frame 1Symbol 772 Button
"vis3"Symbol 955 MovieClip Frame 1Symbol 773 Button
"questiontbtn"Symbol 955 MovieClip Frame 1Symbol 830 Button
"btn1111"Symbol 955 MovieClip Frame 1Symbol 781 Button
"InstanceName_0"Symbol 955 MovieClip Frame 1Symbol 831 EditableText
"input1"Symbol 955 MovieClip Frame 1Symbol 832 EditableText
"input2"Symbol 955 MovieClip Frame 1Symbol 834 EditableText
"slider"Symbol 955 MovieClip Frame 1Symbol 841 MovieClip
"otherbtn"Symbol 955 MovieClip Frame 1Symbol 860 MovieClip
"asbtn"Symbol 955 MovieClip Frame 1Symbol 878 MovieClip
"flashbtn"Symbol 955 MovieClip Frame 1Symbol 896 MovieClip
"swiftbtn"Symbol 955 MovieClip Frame 1Symbol 948 MovieClip
"hotOff"Symbol 955 MovieClip Frame 1Symbol 950 MovieClip
"nord"Symbol 1507 MovieClip Frame 20Symbol 1493 Button
"moveinaa"Symbol 3692 MovieClip Frame 1Symbol 3691 MovieClip
"moveina"Symbol 3695 MovieClip Frame 1Symbol 3692 MovieClip
"assbtn"Symbol 3700 MovieClip Frame 1Symbol 3681 MovieClip
"gfbtn"Symbol 3700 MovieClip Frame 1Symbol 3684 MovieClip
"ffbtn"Symbol 3700 MovieClip Frame 1Symbol 3695 MovieClip
"mask"Symbol 3914 MovieClip Frame 1Symbol 3910 MovieClip
"arrowA"Symbol 4812 MovieClip Frame 1Symbol 4804 MovieClip
"bot"Symbol 4812 MovieClip Frame 1Symbol 4811 Button
"tehredbox"Symbol 5813 MovieClip Frame 1Symbol 5811 MovieClip
"hyperbola"Symbol 5813 MovieClip Frame 1Symbol 5809 MovieClip

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata present, AS1/AS2.
SWFMetaData (77)Timeline Frame 1448 bytes "<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><rdf:Description rdf:about="" xmlns ..."
Protect (24)Timeline Frame 131 bytes "..$1$DF$EU0t6vBXxudkxdqxibSlM/."
ExportAssets (56)Timeline Frame 1Symbol 1 as "s2"
ExportAssets (56)Timeline Frame 1Symbol 2 as "s1"
ExportAssets (56)Timeline Frame 1Symbol 4 as "snow"
ExportAssets (56)Timeline Frame 1Symbol 10 as "BoundingBox"
ExportAssets (56)Timeline Frame 1Symbol 12 as "BrdrShdw"
ExportAssets (56)Timeline Frame 1Symbol 14 as "BrdrFace"
ExportAssets (56)Timeline Frame 1Symbol 15 as "SimpleButtonDown"
ExportAssets (56)Timeline Frame 1Symbol 17 as "BrdrBlk"
ExportAssets (56)Timeline Frame 1Symbol 19 as "BrdrHilght"
ExportAssets (56)Timeline Frame 1Symbol 20 as "SimpleButtonIn"
ExportAssets (56)Timeline Frame 1Symbol 21 as "SimpleButtonUp"
ExportAssets (56)Timeline Frame 1Symbol 22 as "Defaults"
ExportAssets (56)Timeline Frame 1Symbol 23 as "UIObjectExtensions"
ExportAssets (56)Timeline Frame 1Symbol 24 as "UIObject"
ExportAssets (56)Timeline Frame 1Symbol 29 as "FocusRect"
ExportAssets (56)Timeline Frame 1Symbol 30 as "FocusManager"
ExportAssets (56)Timeline Frame 1Symbol 31 as "UIComponentExtensions"
ExportAssets (56)Timeline Frame 1Symbol 32 as "UIComponent"
ExportAssets (56)Timeline Frame 1Symbol 33 as "SimpleButton"
ExportAssets (56)Timeline Frame 1Symbol 34 as "Border"
ExportAssets (56)Timeline Frame 1Symbol 35 as "RectBorder"
ExportAssets (56)Timeline Frame 1Symbol 36 as "ButtonSkin"
ExportAssets (56)Timeline Frame 1Symbol 37 as "Button"
ExportAssets (56)Timeline Frame 1Symbol 38 as "CustomBorder"
ExportAssets (56)Timeline Frame 1Symbol 41 as "ScrollTrack"
ExportAssets (56)Timeline Frame 1Symbol 48 as "ScrollDownArrowDisabled"
ExportAssets (56)Timeline Frame 1Symbol 50 as "ScrollThemeColor1"
ExportAssets (56)Timeline Frame 1Symbol 52 as "ScrollThemeColor2"
ExportAssets (56)Timeline Frame 1Symbol 53 as "ScrollDownArrowDown"
ExportAssets (56)Timeline Frame 1Symbol 54 as "ScrollDownArrowOver"
ExportAssets (56)Timeline Frame 1Symbol 55 as "ScrollDownArrowUp"
ExportAssets (56)Timeline Frame 1Symbol 61 as "ScrollThumbBottomDisabled"
ExportAssets (56)Timeline Frame 1Symbol 63 as "ThumbThemeColor1"
ExportAssets (56)Timeline Frame 1Symbol 65 as "ThumbThemeColor3"
ExportAssets (56)Timeline Frame 1Symbol 66 as "ScrollThumbBottomDown"
ExportAssets (56)Timeline Frame 1Symbol 67 as "ScrollThumbBottomOver"
ExportAssets (56)Timeline Frame 1Symbol 68 as "ScrollThumbBottomUp"
ExportAssets (56)Timeline Frame 1Symbol 70 as "ScrollThumbGripDisabled"
ExportAssets (56)Timeline Frame 1Symbol 72 as "ThumbThemeColor2"
ExportAssets (56)Timeline Frame 1Symbol 73 as "ScrollThumbGripDown"
ExportAssets (56)Timeline Frame 1Symbol 74 as "ScrollThumbGripOver"
ExportAssets (56)Timeline Frame 1Symbol 75 as "ScrollThumbGripUp"
ExportAssets (56)Timeline Frame 1Symbol 77 as "ScrollThumbMiddleDisabled"
ExportAssets (56)Timeline Frame 1Symbol 78 as "ScrollThumbMiddleDown"
ExportAssets (56)Timeline Frame 1Symbol 82 as "ScrollThumbMiddleOver"
ExportAssets (56)Timeline Frame 1Symbol 83 as "ScrollThumbMiddleUp"
ExportAssets (56)Timeline Frame 1Symbol 84 as "ScrollThumbTopDisabled"
ExportAssets (56)Timeline Frame 1Symbol 85 as "ScrollThumbTopDown"
ExportAssets (56)Timeline Frame 1Symbol 86 as "ScrollThumbTopOver"
ExportAssets (56)Timeline Frame 1Symbol 87 as "ScrollThumbTopUp"
ExportAssets (56)Timeline Frame 1Symbol 88 as "ScrollTrackDisabled"
ExportAssets (56)Timeline Frame 1Symbol 89 as "ScrollUpArrowDisabled"
ExportAssets (56)Timeline Frame 1Symbol 90 as "ScrollUpArrowDown"
ExportAssets (56)Timeline Frame 1Symbol 91 as "ScrollUpArrowOver"
ExportAssets (56)Timeline Frame 1Symbol 92 as "ScrollUpArrowUp"
ExportAssets (56)Timeline Frame 1Symbol 93 as "BtnDownArrow"
ExportAssets (56)Timeline Frame 1Symbol 94 as "BtnUpArrow"
ExportAssets (56)Timeline Frame 1Symbol 95 as "ScrollBarAssets"
ExportAssets (56)Timeline Frame 1Symbol 96 as "VScrollBar"
ExportAssets (56)Timeline Frame 1Symbol 97 as "HScrollBar"
ExportAssets (56)Timeline Frame 1Symbol 98 as "UIScrollBar"
ExportAssets (56)Timeline Frame 1Symbol 126 as "MenuBarItem"
ExportAssets (56)Timeline Frame 1Symbol 127 as "ActivatorSkin"
ExportAssets (56)Timeline Frame 1Symbol 128 as "DataProvider"
ExportAssets (56)Timeline Frame 1Symbol 129 as "DataSelector"
ExportAssets (56)Timeline Frame 1Symbol 130 as "SelectableRow"
ExportAssets (56)Timeline Frame 1Symbol 131 as "View"
ExportAssets (56)Timeline Frame 1Symbol 132 as "ScrollView"
ExportAssets (56)Timeline Frame 1Symbol 133 as "ScrollSelectList"
ExportAssets (56)Timeline Frame 1Symbol 135 as "MenuBranchDisabled"
ExportAssets (56)Timeline Frame 1Symbol 137 as "MenuBranchEnabled"
ExportAssets (56)Timeline Frame 1Symbol 139 as "MenuCheckDisabled"
ExportAssets (56)Timeline Frame 1Symbol 141 as "MenuCheckEnabled"
ExportAssets (56)Timeline Frame 1Symbol 143 as "MenuRadioDisabled"
ExportAssets (56)Timeline Frame 1Symbol 145 as "MenuRadioEnabled"
ExportAssets (56)Timeline Frame 1Symbol 147 as "MenuSeparator"
ExportAssets (56)Timeline Frame 1Symbol 148 as "MenuAssets"
ExportAssets (56)Timeline Frame 1Symbol 149 as "MenuRow"
ExportAssets (56)Timeline Frame 1Symbol 150 as "TreeDataProvider"
ExportAssets (56)Timeline Frame 1Symbol 151 as "MenuDataProvider"
ExportAssets (56)Timeline Frame 1Symbol 152 as "Menu"
ExportAssets (56)Timeline Frame 1Symbol 154 as "MenuBarBackLeft"
ExportAssets (56)Timeline Frame 1Symbol 156 as "MenuBarBackMiddle"
ExportAssets (56)Timeline Frame 1Symbol 158 as "MenuBarBackRight"
ExportAssets (56)Timeline Frame 1Symbol 159 as "MenuBarAssets"
ExportAssets (56)Timeline Frame 1Symbol 160 as "MenuBar"
ExportAssets (56)Timeline Frame 1Symbol 178 as "CheckFalseDisabled"
ExportAssets (56)Timeline Frame 1Symbol 180 as "CheckThemeColor1"
ExportAssets (56)Timeline Frame 1Symbol 182 as "CheckFalseDown"
ExportAssets (56)Timeline Frame 1Symbol 183 as "CheckFalseOver"
ExportAssets (56)Timeline Frame 1Symbol 185 as "CheckFalseUp"
ExportAssets (56)Timeline Frame 1Symbol 187 as "CheckTrueDisabled"
ExportAssets (56)Timeline Frame 1Symbol 188 as "CheckTrueDown"
ExportAssets (56)Timeline Frame 1Symbol 189 as "CheckTrueOver"
ExportAssets (56)Timeline Frame 1Symbol 190 as "CheckTrueUp"
ExportAssets (56)Timeline Frame 1Symbol 191 as "CheckBoxAssets"
ExportAssets (56)Timeline Frame 1Symbol 192 as "CheckBox"
ExportAssets (56)Timeline Frame 1Symbol 195 as "Modal"
ExportAssets (56)Timeline Frame 1Symbol 197 as "TitleLeft"
ExportAssets (56)Timeline Frame 1Symbol 199 as "TitleMiddle"
ExportAssets (56)Timeline Frame 1Symbol 201 as "TitleRight"
ExportAssets (56)Timeline Frame 1Symbol 202 as "TitleBackground"
ExportAssets (56)Timeline Frame 1Symbol 204 as "CloseButtonDisabled"
ExportAssets (56)Timeline Frame 1Symbol 206 as "CloseButtonDown"
ExportAssets (56)Timeline Frame 1Symbol 208 as "CloseButtonOver"
ExportAssets (56)Timeline Frame 1Symbol 210 as "CloseButtonUp"
ExportAssets (56)Timeline Frame 1Symbol 211 as "WindowAssets"
ExportAssets (56)Timeline Frame 1Symbol 212 as "Window"
ExportAssets (56)Timeline Frame 1Symbol 215 as "TextArea"
ExportAssets (56)Timeline Frame 1Symbol 216 as "AlertAssets"
ExportAssets (56)Timeline Frame 1Symbol 217 as "Alert"
ExportAssets (56)Timeline Frame 1Symbol 5 as "__Packages.mx.core.UIObject"
ExportAssets (56)Timeline Frame 1Symbol 99 as "__Packages.mx.skins.SkinElement"
ExportAssets (56)Timeline Frame 1Symbol 100 as "__Packages.mx.styles.CSSTextStyles"
ExportAssets (56)Timeline Frame 1Symbol 102 as "__Packages.mx.styles.CSSStyleDeclaration"
ExportAssets (56)Timeline Frame 1Symbol 101 as "__Packages.mx.styles.StyleManager"
ExportAssets (56)Timeline Frame 1Symbol 6 as "__Packages.mx.core.UIComponent"
ExportAssets (56)Timeline Frame 1Symbol 161 as "__Packages.mx.core.View"
ExportAssets (56)Timeline Frame 1Symbol 103 as "__Packages.mx.skins.Border"
ExportAssets (56)Timeline Frame 1Symbol 121 as "__Packages.mx.skins.RectBorder"
ExportAssets (56)Timeline Frame 1Symbol 114 as "__Packages.mx.managers.DepthManager"
ExportAssets (56)Timeline Frame 1Symbol 162 as "__Packages.mx.core.ExternalContent"
ExportAssets (56)Timeline Frame 1Symbol 109 as "__Packages.mx.events.EventDispatcher"
ExportAssets (56)Timeline Frame 1Symbol 110 as "__Packages.mx.events.UIEventDispatcher"
ExportAssets (56)Timeline Frame 1Symbol 163 as "__Packages.mx.core.ScrollView"
ExportAssets (56)Timeline Frame 1Symbol 7 as "__Packages.mx.controls.scrollClasses.ScrollBar"
ExportAssets (56)Timeline Frame 1Symbol 104 as "__Packages.mx.skins.CustomBorder"
ExportAssets (56)Timeline Frame 1Symbol 105 as "__Packages.mx.controls.scrollClasses.ScrollThumb"
ExportAssets (56)Timeline Frame 1Symbol 106 as "__Packages.mx.controls.SimpleButton"
ExportAssets (56)Timeline Frame 1Symbol 193 as "__Packages.mx.containers.Window"
ExportAssets (56)Timeline Frame 1Symbol 115 as "__Packages.mx.managers.SystemManager"
ExportAssets (56)Timeline Frame 1Symbol 194 as "__Packages.mx.controls.Alert"
ExportAssets (56)Timeline Frame 1Symbol 169 as "__Packages.mx.managers.PopUpManager"
ExportAssets (56)Timeline Frame 1Symbol 219 as "__Packages.mx.controls.alertClasses.AlertForm"
ExportAssets (56)Timeline Frame 1Symbol 218 as "__Packages.mx.controls.TextArea"
ExportAssets (56)Timeline Frame 1Symbol 108 as "__Packages.mx.controls.Button"
ExportAssets (56)Timeline Frame 1Symbol 8 as "__Packages.mx.controls.UIScrollBar"
ExportAssets (56)Timeline Frame 1Symbol 107 as "__Packages.mx.controls.VScrollBar"
ExportAssets (56)Timeline Frame 1Symbol 111 as "__Packages.mx.skins.ColoredSkinElement"
ExportAssets (56)Timeline Frame 1Symbol 112 as "__Packages.mx.core.ext.UIObjectExtensions"
ExportAssets (56)Timeline Frame 1Symbol 113 as "__Packages.mx.skins.halo.Defaults"
ExportAssets (56)Timeline Frame 1Symbol 116 as "__Packages.mx.managers.FocusManager"
ExportAssets (56)Timeline Frame 1Symbol 117 as "__Packages.mx.skins.halo.FocusRect"
ExportAssets (56)Timeline Frame 1Symbol 118 as "__Packages.mx.managers.OverlappedWindows"
ExportAssets (56)Timeline Frame 1Symbol 119 as "__Packages.mx.styles.CSSSetStyle"
ExportAssets (56)Timeline Frame 1Symbol 120 as "__Packages.mx.core.ext.UIComponentExtensions"
ExportAssets (56)Timeline Frame 1Symbol 122 as "__Packages.mx.skins.halo.RectBorder"
ExportAssets (56)Timeline Frame 1Symbol 123 as "__Packages.mx.skins.halo.ButtonSkin"
ExportAssets (56)Timeline Frame 1Symbol 124 as "__Packages.mx.controls.HScrollBar"
ExportAssets (56)Timeline Frame 1Symbol 125 as "__Packages.mx.controls.MenuBar"
ExportAssets (56)Timeline Frame 1Symbol 164 as "__Packages.mx.controls.listclasses.DataSelector"
ExportAssets (56)Timeline Frame 1Symbol 165 as "__Packages.mx.controls.listclasses.DataProvider"
ExportAssets (56)Timeline Frame 1Symbol 166 as "__Packages.mx.controls.listclasses.ScrollSelectList"
ExportAssets (56)Timeline Frame 1Symbol 167 as "__Packages.mx.controls.treeclasses.TreeDataProvider"
ExportAssets (56)Timeline Frame 1Symbol 168 as "__Packages.mx.controls.menuclasses.MenuDataProvider"
ExportAssets (56)Timeline Frame 1Symbol 170 as "__Packages.mx.effects.Tween"
ExportAssets (56)Timeline Frame 1Symbol 171 as "__Packages.mx.controls.Menu"
ExportAssets (56)Timeline Frame 1Symbol 172 as "__Packages.mx.skins.halo.ActivatorSkin"
ExportAssets (56)Timeline Frame 1Symbol 173 as "__Packages.mx.controls.menuclasses.MenuBarItem"
ExportAssets (56)Timeline Frame 1Symbol 174 as "__Packages.mx.controls.listclasses.SelectableRow"
ExportAssets (56)Timeline Frame 1Symbol 175 as "__Packages.mx.controls.menuclasses.MenuRow"
ExportAssets (56)Timeline Frame 1Symbol 176 as "__Packages.mx.controls.CheckBox"
ExportAssets (56)Timeline Frame 4Symbol 1074 as "ots"
ExportAssets (56)Timeline Frame 4Symbol 1075 as "yay"
ExportAssets (56)Timeline Frame 4Symbol 1085 as "bleep"
EnableDebugger2 (64)Timeline Frame 131 bytes "..$1$wP$GbLsEomsX/n8Z3io7p8sC/."
DebugMX1 (63)Timeline Frame 1

Labels

"main"Frame 4
"swift"Frame 5
"sm1"Frame 6
"swift1"Frame 7
"swift2"Frame 24
"swift3"Frame 48
"swift4"Frame 74
"sm2"Frame 117
"swift5"Frame 118
"swift6"Frame 125
"swift7"Frame 138
"sm3"Frame 150
"swift8"Frame 151
"swift9"Frame 158
"sm4"Frame 170
"swift10"Frame 171
"swift11"Frame 186
"swift12"Frame 201
"swift13"Frame 244
"aa"Frame 247
"ab"Frame 249
"ac"Frame 251
"a1"Frame 253
"a2"Frame 255
"a3"Frame 257
"a4"Frame 259
"a5"Frame 261
"a6"Frame 263
"a7"Frame 265
"a8"Frame 267
"a9"Frame 269
"a10"Frame 271
"a11"Frame 273
"a12"Frame 275
"the end"Frame 277
"flash"Frame 278
"fm1"Frame 279
"flash1"Frame 280
"flash3"Frame 284
"flash2"Frame 310
"flash5"Frame 334
"flash4"Frame 337
"flash7"Frame 355
"flash8"Frame 365
"fm2"Frame 372
"action1"Frame 373
"action2"Frame 385
"action3"Frame 402
"action4"Frame 410
"action5"Frame 423
"action7"Frame 440
"action8"Frame 452
"action9"Frame 461
"fm3"Frame 471
"flash10"Frame 472
"flash15"Frame 478
"flash16"Frame 495
"flash17"Frame 530
"flash18"Frame 556
"flash19"Frame 565
"quiz1"Frame 568
"quiz2"Frame 570
"quiz3"Frame 572
"quiz4"Frame 574
"quiz5"Frame 576
"quiz6"Frame 578
"quiz7"Frame 580
"quiz8"Frame 582
"quiz9"Frame 584
"quiz10"Frame 586
"quiz11"Frame 588
"quiz12"Frame 590
"quiz13"Frame 592
"quiz14"Frame 594
"quiz15"Frame 596
"quiz16"Frame 598
"quiz17"Frame 600
"quiz18"Frame 602
"quiz19"Frame 604
"quiz20"Frame 606
"quiz21"Frame 608
"quiz22"Frame 610
"quiz23"Frame 612
"quiz24"Frame 614
"quiz25"Frame 616
"quiz26"Frame 618
"quiz27"Frame 620
"quiz28"Frame 622
"code"Frame 623
"code1"Frame 624
"code2"Frame 630
"code3"Frame 636
"code4"Frame 641
"code5"Frame 648
"code6"Frame 657
"code7"Frame 662
"code8"Frame 670
"code9"Frame 671
"code10"Frame 679
"code11"Frame 690
"code12"Frame 698
"grounds"Frame 706
"grounds1"Frame 707
"grounds3"Frame 708
"grounds7"Frame 720
"grounds4"Frame 725
"grounds5"Frame 735
"tehend"Frame 751
"trivia"Frame 754
"pronote"Frame 755
"betatest"Frame 756
"eagle"Frame 757
"AS3"Frame 758
"bad"Frame 764
"loaded"Symbol 755 MovieClip Frame 3
"closeda"Symbol 1487 MovieClip Frame 1
"opena"Symbol 1487 MovieClip Frame 20
"closed2"Symbol 1507 MovieClip Frame 1
"open2"Symbol 1507 MovieClip Frame 20
"closed"Symbol 1542 MovieClip Frame 1
"open"Symbol 1542 MovieClip Frame 20

Dynamic Text Variables

PercentDispSymbol 726 EditableText"<p align="left"></p>"
PercentDisp2Symbol 737 EditableText"<p align="left"></p>"
PercentDispSymbol 743 EditableText"<p align="left"></p>"
_root.searchResultSymbol 783 EditableText""
_root.frameNumSymbol 784 EditableText""
_root.search0Symbol 786 EditableText""
_root.searchResultSymbol 831 EditableText""
_root.search0Symbol 832 EditableText""
_root.frameNumSymbol 834 EditableText""
_global.blabelSymbol 1090 EditableText"<p align="left"></p>"
bmarksSymbol 1091 EditableText"<p align="left"></p>"
timeSymbol 5340 EditableText"<p align="justify"></p>"




http://swfchan.com/8/38381/info.shtml
Created: 13/5 -2019 08:06:08 Last modified: 13/5 -2019 08:06:08 Server time: 19/05 -2024 01:19:21