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

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

20100208-lifecycleCrime.swf

This is the info page for
Flash #81898

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


Text
<p align="left"><font face="Arial" size="12" color="#cc6633" letterSpacing="0.000000" kerning="1">Arial</font></p>

<p align="left"><font face="Arial Bold" size="12" color="#cc6633" letterSpacing="0.000000" kerning="1"><b>Arial</b></font></p>

<p align="left"><font face="SymantecSans" size="12" color="#cc6633" letterSpacing="0.000000" kerning="1">Symantec Sans</font></p>

<p align="left"><font face="SymantecSans-Bold" size="12" color="#cc6633" letterSpacing="0.000000" kerning="1">Symantec Sans</font></p>

<p align="left"><font face="Gotham Light" size="12" color="#cc6633" letterSpacing="0.000000" kerning="1">Gotham</font></p>

<p align="left"><font face="Gotham Bold" size="12" color="#cc6633" letterSpacing="0.000000" kerning="1">Gotham Bold</font></p>

ActionScript [AS3]

Section 1
//Button (com.domani.components.ui.Button) package com.domani.components.ui { import flash.events.*; import com.domani.components.*; public class Button extends Component { private static const className:String = "Button"; public function Button(){ super(); this.addEventListener(MouseEvent.ROLL_OVER, onRollOver); this.addEventListener(MouseEvent.ROLL_OUT, onRollOut); this.addEventListener(MouseEvent.CLICK, onClick); this.mouseChildren = false; enabled = true; } protected function onRollOver(e:MouseEvent):void{ } protected function onRollOut(e:MouseEvent):void{ } override public function set enabled(b:Boolean):void{ __enabled = b; this.useHandCursor = __enabled; this.buttonMode = __enabled; this.mouseEnabled = __enabled; } protected function onClick(e:MouseEvent):void{ } } }//package com.domani.components.ui
Section 2
//Component (com.domani.components.Component) package com.domani.components { import flash.events.*; import flash.display.*; import com.domani.utils.*; public class Component extends Sprite { protected var __enabled:Boolean;// = true protected var __width:Number; protected var __height:Number; protected var __value; protected var __selected:Boolean;// = false public function Component(){ super(); } public function move(x:Number, y:Number):void{ this.x = x; this.y = y; } public function setSize(w:Number, h:Number):void{ __width = w; __height = h; draw(); } public function set enabled(b:Boolean):void{ __enabled = b; if (((__selected) && (__enabled))){ __enabled = false; }; } public function get enabled():Boolean{ return (__enabled); } public function get selected():Boolean{ return (__selected); } protected function log(str:String):void{ LogManager.log(str, this); } public function reset():void{ } public function get value(){ return (__value); } public function set value(o):void{ __value = o; } protected function draw():void{ } public function set selected(b:Boolean):void{ if (__enabled){ __selected = b; if (__selected){ dispatchEvent(new Event(Event.SELECT)); }; }; } } }//package com.domani.components
Section 3
//Boundary (com.domani.controls.Boundary) package com.domani.controls { public class Boundary { public static const MIDDLE:String = "middle"; public static const LEFT:String = "left"; public static const RIGHT:String = "right"; public function Boundary(){ super(); } } }//package com.domani.controls
Section 4
//AutoSpacer (com.domani.display.AutoSpacer) package com.domani.display { import flash.display.*; public class AutoSpacer extends Sprite { protected var __mode:String; protected var __padding:Number;// = 0 public function AutoSpacer(mode:String="horizontal"){ super(); if (mode != AutoSpacerMode.HORIZONTAL){ mode = AutoSpacerMode.VERTICAL; }; __mode = mode; } public function set mode(mode:String):void{ __mode = mode; redraw(); } public function set padding(value:Number):void{ __padding = value; redraw(); } public function get mode():String{ return (__mode); } public function get padding():Number{ return (__padding); } public function redraw():void{ var child:DisplayObject; var i:uint; var lastPos:Number = 0; if (__mode == AutoSpacerMode.HORIZONTAL){ i = 0; while (i < this.numChildren) { child = this.getChildAt(i); child.x = lastPos; lastPos = (lastPos + (child.width + __padding)); i++; }; } else { i = 0; while (i < this.numChildren) { child = this.getChildAt(i); child.y = lastPos; lastPos = (lastPos + (child.height + __padding)); i++; }; }; } public function destroy():void{ while (this.numChildren > 0) { this.removeChildAt(0); }; } override public function addChild(child:DisplayObject):DisplayObject{ super.addChild(child); redraw(); return (child); } override public function removeChild(child:DisplayObject):DisplayObject{ super.removeChild(child); redraw(); return (child); } } }//package com.domani.display
Section 5
//AutoSpacerMode (com.domani.display.AutoSpacerMode) package com.domani.display { public class AutoSpacerMode { public static var HORIZONTAL:String = "horizontal"; public static var VERTICAL:String = "vertical"; public function AutoSpacerMode(){ super(); } } }//package com.domani.display
Section 6
//Resizer (com.domani.display.Resizer) package com.domani.display { import flash.display.*; public class Resizer extends Sprite { protected var __width:Number;// = NAN protected var __height:Number;// = NAN public function Resizer(){ super(); } protected function draw():void{ } override public function set height(value:Number):void{ __height = value; draw(); } override public function set width(value:Number):void{ __width = value; draw(); } override public function get width():Number{ return ((isNaN(__width)) ? super.width : __width); } override public function get height():Number{ return ((isNaN(__height)) ? super.height : __height); } } }//package com.domani.display
Section 7
//AnimationEvent (com.domani.events.AnimationEvent) package com.domani.events { import flash.events.*; public class AnimationEvent extends Event { public static const TRANSITION_COMPLETE:String = "onTransitionComplete"; public static const COLLAPSED:String = "onCollapsed"; public static const EXPANDED:String = "onExpanded"; public static const EXPAND:String = "onExpand"; public static const COLLAPSE:String = "onCollapse"; public function AnimationEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false){ super(type, bubbles, cancelable); } } }//package com.domani.events
Section 8
//ListBoundaryEvent (com.domani.events.ListBoundaryEvent) package com.domani.events { import flash.events.*; public class ListBoundaryEvent extends Event { public var boundary:String; public var atBoundary:Boolean;// = false public static const BOUNDARY_CHANGE:String = "onBoundaryChange"; public function ListBoundaryEvent(type:String, boundary:String, atBoundary:Boolean){ this.boundary = boundary; this.atBoundary = atBoundary; super(type, true, true); } } }//package com.domani.events
Section 9
//DateFormatter (com.domani.utils.DateFormatter) package com.domani.utils { public class DateFormatter { private static const months_days:Array = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); private static const days_long:Array = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"); private static const months_long:Array = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"); private static const months:Array = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"); private static const days:Array = new Array("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"); public function DateFormatter(){ super(); } private static function dayNumber(date:Date):int{ var days:int; var n:int; var m:int = date.getMonth(); var i:int; while (i < m) { days = months_days[i]; n = (n + ((((days < 30)) && (isLeapYear(date)))) ? 29 : days); i++; }; n = (n + date.getDate()); return (n); } private static function addZeros(n:int, digits:uint=2):String{ if (n < 10){ return (("0" + String(n))); }; return (String(n)); } private static function getElement(character:String, date:Date):String{ var _local3:int; var _local4:int; var _local5:Number; var _local6:int; switch (character){ case "d": return (addZeros(int(date.getDate()))); case "D": return (DateFormatter.days[date.getDay()]); case "j": return (String(date.getDate())); case "l": trace(date.getDay()); return (days_long[date.getDay()]); case "N": return (String((date.getDay() + 1))); case "S": _local3 = (date.getDate() % 10); switch (_local3){ case 1: return ("st"); case 2: return ("nd"); case 3: return ("rd"); default: return ("th"); }; case "w": return (String(date.getDay())); case "z": return (String(dayNumber(date))); case "W": return (String(Math.ceil((dayNumber(date) / 7)))); case "F": return (months_long[date.getMonth()]); case "m": return (addZeros((date.getMonth() + 1))); case "M": return (months[date.getMonth()]); case "n": return (String((date.getMonth() + 1))); case "t": _local4 = months_days[date.getMonth()]; return (String(((((_local4 < 30)) && (isLeapYear(date)))) ? 29 : _local4)); case "L": return ((isLeapYear(date)) ? "1" : "0"); case "o": _local5 = (dayNumber(date) / 7); if (_local5 < 1){ return (String((date.getFullYear() - 1))); }; if (_local5 > 52){ return (String((date.getFullYear() + 1))); }; return (String(date.getFullYear())); case "Y": return (String(date.getFullYear())); case "y": return (addZeros((date.getFullYear() % 100))); case "a": return (((date.getHours())>11) ? "pm" : "am"); case "A": return (((date.getHours())>11) ? "PM" : "AM"); case "B": _local6 = (((date.getHours() + 1) * 60) * 60); _local6 = (_local6 + (date.getMinutes() * 60)); _local6 = (_local6 + date.getSeconds()); return (String(Math.floor((_local6 / 86.4)))); case "g": return (String(((date.getHours() % 12) + 1))); case "G": return (String(date.getHours())); case "h": return (addZeros(((date.getHours() % 12) + 1))); case "H": return (addZeros(date.getHours())); case "i": return (addZeros(date.getMinutes())); case "s": return (addZeros(date.getSeconds())); case "u": return (addZeros(date.getMilliseconds())); default: return (character); }; } private static function isLeapYear(date:Date):Boolean{ if ((date.getFullYear() % 4) == 0){ return (true); }; return (false); } public static function format(str:String=null, date:Date=null):String{ if (str == null){ str = ""; }; if (date == null){ date = new Date(); }; var formatted_str:String = ""; var i:int; while (i < str.length) { formatted_str = (formatted_str + getElement(str.charAt(i), date)); i++; }; return (formatted_str); } } }//package com.domani.utils
Section 10
//LogManager (com.domani.utils.LogManager) package com.domani.utils { public class LogManager { public static var showTimestamp:Boolean = true; public static var status:int = 0; public function LogManager(){ super(); } public static function log(str:String, sender:Object, type:int=0):void{ if (type < status){ return; }; var log_str:String = ""; if (showTimestamp){ log_str = (log_str + DateFormatter.format("[m/d-h:i:s] ")); }; log_str = (log_str + sender.toString()); log_str = (log_str + (" -> " + str)); trace(log_str); } } }//package com.domani.utils
Section 11
//LogType (com.domani.utils.LogType) package com.domani.utils { public class LogType { public static const DEBUG:int = 1; public static const WARNING:int = 2; public static const INFO:int = 0; public static const ERROR:int = 3; public function LogType(){ super(); } } }//package com.domani.utils
Section 12
//VarReplacer (com.domani.utils.VarReplacer) package com.domani.utils { public class VarReplacer { public var scope:Object; public function VarReplacer(scope:Object){ super(); this.scope = scope; } private function varReplace2(... _args):String{ var propString:String; var prop:*; var rest = _args; propString = String(rest[0]).substr(2, (String(rest[0]).length - 3)); prop = scope[propString]; //unresolved jump var _slot1 = e; return (prop); } public function replace(string:String):String{ var string2:String; var reg:RegExp; reg = /\$\{\w*\}/gi; string2 = string.replace(reg, varReplace2); return (string2); } } }//package com.domani.utils
Section 13
//AppBase (com.norton.app.AppBase) package com.norton.app { import flash.events.*; import com.norton.managers.*; import flash.display.*; import com.norton.settings.*; import flash.text.*; import flash.net.*; import com.domani.utils.*; public class AppBase extends Sprite { protected var styles:Styles; protected var settings:AppSettings; protected var loader:URLLoader; protected var xml:XML; protected static const APP_HEIGHT:Number = 462; private static const CSS_FILE:String = "flashStyles.css"; protected static const APP_WIDTH:Number = 965; protected static var manTrack:TrackingManager; public function AppBase(){ super(); loader = new URLLoader(); loader.addEventListener(Event.COMPLETE, onLoaderComplete, false, 0, true); initStage(); initPrereqs(); } protected function trackPageLoad():void{ trace("TRACK PAGE LOAD"); manTrack.track(); } private function initPrereqs():void{ var fonts:LibFonts; var arr:Array; fonts = new LibFonts(); arr = Font.enumerateFonts(); var i:uint; while (i < arr.length) { i++; }; settings = AppSettings.getInstance(); if (!settings.isLoaded){ settings.addEventListener(Event.COMPLETE, onAppSettingsLoaded, false, 0, true); } else { loadFlashStyles(); }; if (!manTrack){ manTrack = TrackingManager.getInstance(); }; if (!manTrack.isInit){ manTrack.init(stage); }; if (!settings.isInitialized){ settings.init("/xml/conf.xml"); }; } private function onAppSettingsLoaded(event:Event):void{ LogManager.log("AppSettings loaded", this, LogType.INFO); loadFlashStyles(); } protected function parseXML():void{ throw (new Error("child class must override function parseXML")); } private function loadFlashStyles():void{ styles = Styles.getInstance(); if (!styles.isLoaded){ styles.addEventListener(Event.COMPLETE, onStylesLoaded, false, 0, true); } else { init(); }; if (!styles.isInitialized){ styles.load((settings.CSS + CSS_FILE)); }; } private function initStage():void{ if (stage){ stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; }; } protected function init():void{ } private function onLoaderComplete(event:Event):void{ xml = new XML(loader.data); trackPageLoad(); parseXML(); } private function onStylesLoaded(event:Event):void{ LogManager.log("FlashStyles loaded", this, LogType.INFO); init(); } } }//package com.norton.app
Section 14
//CybercrimeLifeCycle (com.norton.app.CybercrimeLifeCycle) package com.norton.app { import flash.events.*; import com.domani.events.*; import com.norton.events.*; import flash.display.*; import com.norton.settings.*; import flash.text.*; import gs.*; import com.domani.components.ui.*; import com.norton.models.*; import com.norton.display.buttons.*; import flash.net.*; import com.norton.display.*; import flash.utils.*; import com.domani.utils.*; import com.norton.controls.*; import com.domani.controls.*; import gs.easing.*; public class CybercrimeLifeCycle extends AppBase { private var definitions:Object; private var tfInfection:TextField; private var winDefinitions:DefinitionWindow; private var infectionMap:InfectionMap; private var arrScriptItems:Array; private var choices2:ChoicesPanel; private var btnActions:Dictionary; private var pageMask:Sprite; private var dictSiteLinks:Dictionary; private var hldr:Sprite; private var firstChoices:InitialMapChoices; private var runningTime:Number; private var btnPrev:Button; private var vars:VarReplacer; private var startTime:Number; private var map:LibMapAnim; private var control:CybercrimeLifeCycleControl; private var objMapScripts:Object; private var btnNext:Button; private var dictKillList:Dictionary; private var infoPanel:MapInfoPanel; private static const INFECTION_TEXT_Y:int = 90; private static const DISABLE_ALPHA:Number = 0.5; private static const FILE:String = "cybercrimeLifeCycle.xml"; public function CybercrimeLifeCycle(){ super(); } private function onAnythingClick(event:MouseEvent):void{ } override protected function init():void{ OverwriteManager.init(); this.addEventListener(MouseEvent.CLICK, onAnythingClick, true); hldr = new Sprite(); addChild(hldr); arrScriptItems = []; dictKillList = new Dictionary(); objMapScripts = {}; map = new LibMapAnim(); map.y = -65; infectionMap = new InfectionMap(); infectionMap.x = -46; infectionMap.y = 22; infectionMap.centerOffsetX = -46; infectionMap.centerOffsetY = 22; hldr.addChild(infectionMap); tfInfection = new TextField(); tfInfection.width = (APP_WIDTH - 300); tfInfection.condenseWhite = true; tfInfection.autoSize = TextFieldAutoSize.CENTER; tfInfection.embedFonts = true; tfInfection.wordWrap = true; tfInfection.styleSheet = Styles.getInstance().getStyleSheet(); tfInfection.backgroundColor = 0xFF0000; tfInfection.y = 90; hldr.addChild(tfInfection); infoPanel = new MapInfoPanel(); infoPanel.x = 175; infoPanel.y = 316; btnPrev = new LibCriminalLifeCyclePrevButton(); btnPrev.x = 8; btnPrev.y = 40; btnPrev.addEventListener(MouseEvent.CLICK, onPrevClick, false, 0, true); infoPanel.hldrCrimeInfo.addChild(btnPrev); btnNext = new LibCriminalLifeCycleNextButton(); btnNext.x = 578; btnNext.y = 40; btnNext.addEventListener(MouseEvent.CLICK, onNextClick, false, 0, true); infoPanel.hldrCrimeInfo.addChild(btnNext); loader.load(new URLRequest((settings.XML_DIR + FILE))); pageMask = new Sprite(); pageMask.graphics.beginFill(0); pageMask.graphics.drawRect(0, 0, APP_WIDTH, APP_HEIGHT); pageMask.graphics.endFill(); hldr.mask = pageMask; addChild(pageMask); winDefinitions = new DefinitionWindow(); winDefinitions.addEventListener(Event.CLOSE, onDefinitionClosed, false, 0, true); definitions = {}; this.addEventListener(TextEvent.LINK, onTextLink); } private function onSiteLinkClick(event:MouseEvent):void{ var url:String; url = dictSiteLinks[event.target]; navigateToURL(new URLRequest(url), "_self"); } private function showChoices2():void{ if (!contains(choices2)){ addChild(choices2); }; TweenMax.to(choices2, 0.4, {alpha:1, ease:Linear.easeNone}); } private function onInfectionScript(event:Event):void{ var item:TimecodeObject; var text:PositionedText; var key:*; runningTime = (new Date().valueOf() - startTime); if (arrScriptItems.length > 0){ item = TimecodeObject(arrScriptItems[0]); while (item.startTime < runningTime) { if (item.expires){ dictKillList[item] = true; }; arrScriptItems.shift(); if ((item.data is PositionedText)){ text = PositionedText(item.data); setInfectionText(text.copy, text.x, text.y); } else { if ((item.data is Event)){ dispatchEvent(Event(item.data)); }; }; if (arrScriptItems.length <= 0){ break; }; item = TimecodeObject(arrScriptItems[0]); }; }; for (key in dictKillList) { item = key; if (item.endTime < runningTime){ if ((item.data is String)){ }; delete dictKillList[key]; }; }; } private function onDefinitionClosed(event:Event):void{ winDefinitions.removeEventListener(Event.CLOSE, onDefinitionClosed); TweenLite.to(winDefinitions, 0.5, {alpha:0, ease:Linear.easeNone, onComplete:onDefinitionCollapsed}); } private function showInfoPanel():void{ TweenMax.to(infoPanel, 0.4, {alpha:1, ease:Linear.easeNone}); } private function playInfectionScript():void{ startTime = new Date().valueOf(); this.addEventListener(Event.ENTER_FRAME, onInfectionScript, false, 0, true); } private function showChoices():void{ firstChoices.x = ((APP_WIDTH / 2) - (firstChoices.width / 2)); firstChoices.y = 146; addChild(firstChoices); firstChoices.expand(); } private function showDefineWindow(term:String):void{ var data:WordDefinitonData; data = WordDefinitonData(definitions[term]); if (!contains(winDefinitions)){ addChild(winDefinitions); }; winDefinitions.title = data.word; winDefinitions.body = data.definition; winDefinitions.y = (infoPanel.y + 20); winDefinitions.x = infoPanel.x; winDefinitions.addEventListener(Event.CLOSE, onDefinitionClosed); winDefinitions.visible = true; infoPanel.addEventListener(AnimationEvent.COLLAPSED, onInfoPanelCollapsed); infoPanel.hideContent(); } private function onBoundaryChange(event:ListBoundaryEvent=null):void{ if (event.boundary == Boundary.LEFT){ btnPrev.enabled = !(event.atBoundary); if (event.atBoundary){ btnPrev.alpha = DISABLE_ALPHA; } else { btnPrev.alpha = 1; }; } else { if (event.boundary == Boundary.RIGHT){ btnNext.enabled = !(event.atBoundary); if (event.atBoundary){ btnNext.alpha = DISABLE_ALPHA; hideInfoPanel(); showChoices2(); } else { btnNext.alpha = 1; }; }; }; } private function onNextClick(event:MouseEvent):void{ control.nextStory(); } private function onAnimationChosen(event:MouseEvent):void{ var data:AnimationChoice; data = AnimationChoice(btnActions[event.target]); control.data = CybercrimeLifeCycleData(objMapScripts[data.animationId]); if (data.trackingId){ manTrack.track(data.trackingId); }; setVisitedButtons(data.animationId); onStoryUpdate(); onFrameUpdate(); hideChoices2Panel(); showInfoPanel(); control.refresh(); } private function onInfoPanelCollapsed(event:AnimationEvent):void{ infoPanel.removeEventListener(AnimationEvent.COLLAPSED, onInfoPanelCollapsed); TweenLite.to(winDefinitions, 0.5, {alpha:1, ease:Linear.easeNone}); } private function hideChoices2Panel():void{ infoPanel.mouseEnabled = true; infoPanel.mouseChildren = true; choices2.mouseEnabled = false; choices2.mouseChildren = false; TweenMax.to(choices2, 0.4, {alpha:0, ease:Linear.easeNone}); } private function onFirstAnimationChosen(event:MouseEvent):void{ var data:AnimationChoice; data = btnActions[event.target]; if (data.trackingId){ manTrack.track(data.trackingId); }; control.data = CybercrimeLifeCycleData(objMapScripts[data.animationId]); setVisitedButtons(data.animationId); firstChoices.addEventListener(AnimationEvent.COLLAPSED, onInitialMapChoicesCollapsed); firstChoices.collapse(); } private function onTextLink(event:TextEvent):void{ showDefineWindow(event.text); } private function onStoryUpdate(event:CybercrimeLifeCycleEvent=null):void{ infoPanel.crimeText = control.story; } private function hideInfoPanel():void{ infoPanel.mouseEnabled = false; infoPanel.mouseChildren = false; choices2.mouseChildren = true; choices2.mouseEnabled = true; TweenMax.to(infoPanel, 0.4, {alpha:0, ease:Linear.easeNone}); } private function onFrameUpdate(event:CybercrimeLifeCycleEvent=null):void{ map.map.gotoAndPlay(control.frameLabel); } public function setInfectionText(value:String, x:Number=NaN, y:Number=NaN):void{ tfInfection.htmlText = value; if (y != 0){ tfInfection.y = y; } else { tfInfection.y = INFECTION_TEXT_Y; }; if (x != 0){ tfInfection.x = x; } else { tfInfection.x = ((APP_WIDTH / 2) - (tfInfection.width / 2)); }; TweenLite.to(tfInfection, 0.5, {alpha:1}); } override protected function parseXML():void{ var node:XML; var scriptItem:TimecodeObject; var definitionData:WordDefinitonData; var btn:LongYellowButton; var btn2:Button; var cnt:int; var data:AnimationChoice; var btnLink:SiteLinkButton; var mapScriptData:CybercrimeLifeCycleData; var frameData:FrameData; var scriptText:PositionedText; var slideNode:XML; var copyNode:XML; var iAnim:uint; for each (node in xml.infectionScript.*) { scriptItem = new TimecodeObject(); if (node.name() == "script"){ scriptItem.setStartTime(node.@start); scriptItem.setEndTime(node.@start); scriptText = new PositionedText(); scriptText.copy = node.toString(); scriptItem.data = scriptText; scriptText.x = node.@x; scriptText.y = node.@y; if (scriptItem.endTime > scriptItem.startTime){ LogManager.log("script item has endtime before starttime", this, LogType.ERROR); }; } else { if (node.name() == "event"){ scriptItem.setStartTime(node.@start); scriptItem.data = new Event(node.toString()); }; }; arrScriptItems.push(scriptItem); }; for each (node in xml.definitions.*) { definitionData = new WordDefinitonData(); definitionData.word = node.word.toString(); definitionData.definition = node.definition.toString(); definitions[node.@id] = definitionData; }; this.addEventListener("zoomToUserLocation", zoomToUserLocation, false, 0, true); this.addEventListener("zoomOut", zoomOut, false, 0, true); this.addEventListener("scriptEnd", onScriptEnd, false, 0, true); firstChoices = new InitialMapChoices(); cnt = 1; btnActions = new Dictionary(true); for each (node in xml.choicesDialog.*) { btn = new LongYellowButton(); btn.label = node.label.toString(); data = new AnimationChoice(); data.animationId = node.animationId.toString(); data.trackingId = node.trackingId.toString(); btnActions[btn] = data; btn.addEventListener(MouseEvent.CLICK, onFirstAnimationChosen, false, 0, true); firstChoices.addButton(btn); btn2 = (firstChoices.laptops[("btn" + cnt)] as Button); cnt++; if (btn2){ btnActions[btn2] = node.animationId.toString(); btn2.addEventListener(MouseEvent.CLICK, onFirstAnimationChosen, false, 0, true); }; }; choices2 = new ChoicesPanel(); choices2.y = 308; choices2.x = ((APP_WIDTH / 2) - (choices2.width / 2)); choices2.title = xml.choicesDialog2.title.toString(); for each (node in xml.choicesDialog2.choice) { btn = new LongYellowButton(); btn.label = node.label.toString(); data = new AnimationChoice(); data.animationId = node.animationId.toString(); data.trackingId = node.trackingId.toString(); btnActions[btn] = data; btn.addEventListener(MouseEvent.CLICK, onAnimationChosen, false, 0, true); choices2.addButton(btn); }; dictSiteLinks = new Dictionary(true); node = XML(xml.choicesDialog2.leftButton); btnLink = new SiteLinkButton(); btnLink.label = node.label.toString(); dictSiteLinks[btnLink] = node.url.toString(); btnLink.addEventListener(MouseEvent.CLICK, onSiteLinkClick, false, 0, true); choices2.addLeftButton(btnLink); node = XML(xml.choicesDialog2.rightButton); btnLink = new SiteLinkButton(); btnLink.label = node.label.toString(); dictSiteLinks[btnLink] = node.url.toString(); btnLink.addEventListener(MouseEvent.CLICK, onSiteLinkClick, false, 0, true); choices2.addRightButton(btnLink); for each (node in xml..mapScript) { mapScriptData = new CybercrimeLifeCycleData(); iAnim = 0; for each (slideNode in node.slide) { frameData = new FrameData(); frameData.frameLabel = slideNode.@label; for each (copyNode in slideNode.*) { frameData.copy.push(copyNode.toString()); }; mapScriptData.addFrame(frameData); }; objMapScripts[node.@id] = mapScriptData; }; winDefinitions.closeText = xml.closeButton.toString(); control = new CybercrimeLifeCycleControl(); control.addEventListener(CybercrimeLifeCycleEvent.FRAME_UPDATE, onFrameUpdate); control.addEventListener(CybercrimeLifeCycleEvent.STORY_UPDATE, onStoryUpdate); control.addEventListener(ListBoundaryEvent.BOUNDARY_CHANGE, onBoundaryChange, false, 0, true); vars = new VarReplacer(control); playInfectionScript(); } private function zoomToUserLocation(event:Event=null):void{ infectionMap.zoomToUsersLocation(); } private function onScriptEnd(event:Event=null):void{ showChoices(); } private function onDefinitionCollapsed(event:Event=null):void{ winDefinitions.visible = false; infoPanel.showContent(); } private function setVisitedButtons(scriptId:String):void{ var key:*; for (key in btnActions) { if ((((btnActions[key] == scriptId)) && ((key is LongYellowButton)))){ LongYellowButton(key).visited = true; }; }; } private function zoomOut(event:Event=null):void{ infectionMap.zoomOut(); } private function onPrevClick(event:MouseEvent):void{ control.previousStory(); } private function onInitialMapChoicesCollapsed(event:Event):void{ firstChoices.removeEventListener(AnimationEvent.COLLAPSED, onInitialMapChoicesCollapsed); removeChild(firstChoices); if (((map) && (!(contains(map))))){ addChild(map); }; addChild(infoPanel); onFrameUpdate(); onStoryUpdate(); } } }//package com.norton.app
Section 15
//CybercrimeLifeCycleControl (com.norton.controls.CybercrimeLifeCycleControl) package com.norton.controls { import flash.events.*; import com.domani.events.*; import com.norton.events.*; import com.norton.models.*; import com.domani.controls.*; public class CybercrimeLifeCycleControl extends EventDispatcher { private var _enabled:Boolean; private var _atLeftBoundary:Boolean;// = false private var _data:CybercrimeLifeCycleData; private var _iFrame:int; private var _iStory:int; private var _atRightBoundary:Boolean;// = false public function CybercrimeLifeCycleControl(){ super(); } public function get enabled():Boolean{ return (_enabled); } public function get frameLabel():String{ return (_data.getFrame(_iFrame).frameLabel); } public function set enabled(value:Boolean):void{ var type:String; _enabled = value; type = (_enabled) ? CybercrimeLifeCycleEvent.ENABLED : CybercrimeLifeCycleEvent.DISABLED; dispatchEvent(new CybercrimeLifeCycleEvent(type)); } public function set data(value:CybercrimeLifeCycleData):void{ _data = value; _iFrame = 0; _iStory = 0; checkFrameBounds(); } public function get title():String{ return (_data.title); } public function get frameNum():int{ return (_iFrame); } private function checkFrameBounds():void{ if (_iFrame >= _data.numFrames){ _iFrame = (_data.numFrames - 1); }; if ((((_iFrame == (_data.numFrames - 1))) && ((_iStory == (_data.getFrame(_iFrame).length - 1))))){ _atRightBoundary = true; dispatchEvent(new ListBoundaryEvent(ListBoundaryEvent.BOUNDARY_CHANGE, Boundary.RIGHT, true)); } else { if (_atRightBoundary){ _atRightBoundary = false; dispatchEvent(new ListBoundaryEvent(ListBoundaryEvent.BOUNDARY_CHANGE, Boundary.RIGHT, false)); }; }; if (_iFrame < 0){ _iFrame = 0; }; if ((((_iFrame == 0)) && ((_iStory == 0)))){ _atLeftBoundary = true; dispatchEvent(new ListBoundaryEvent(ListBoundaryEvent.BOUNDARY_CHANGE, Boundary.LEFT, true)); } else { if (_atLeftBoundary){ _atLeftBoundary = false; dispatchEvent(new ListBoundaryEvent(ListBoundaryEvent.BOUNDARY_CHANGE, Boundary.LEFT, false)); }; }; } public function refresh():void{ checkFrameBounds(); } public function nextStory():void{ if ((_iStory + 1) >= _data.getFrame(_iFrame).length){ if (_atRightBoundary){ return; }; _iFrame++; _iStory = 0; dispatchEvent(new CybercrimeLifeCycleEvent(CybercrimeLifeCycleEvent.FRAME_UPDATE)); dispatchEvent(new CybercrimeLifeCycleEvent(CybercrimeLifeCycleEvent.STORY_UPDATE)); } else { _iStory++; dispatchEvent(new CybercrimeLifeCycleEvent(CybercrimeLifeCycleEvent.STORY_UPDATE)); }; checkFrameBounds(); } public function get frame():FrameData{ return (FrameData(_data.getFrame(_iFrame))); } public function get story():String{ return (_data.getFrame(_iFrame).copy[_iStory]); } public function previousFrame():void{ } public function nextFrame():void{ } public function previousStory():void{ if (_iStory <= 0){ if (_atLeftBoundary){ return; }; _iFrame--; _iStory = (_data.getFrame(_iFrame).length - 1); dispatchEvent(new CybercrimeLifeCycleEvent(CybercrimeLifeCycleEvent.FRAME_UPDATE)); dispatchEvent(new CybercrimeLifeCycleEvent(CybercrimeLifeCycleEvent.STORY_UPDATE)); } else { _iStory--; dispatchEvent(new CybercrimeLifeCycleEvent(CybercrimeLifeCycleEvent.STORY_UPDATE)); }; checkFrameBounds(); } } }//package com.norton.controls
Section 16
//CloseButton (com.norton.display.buttons.CloseButton) package com.norton.display.buttons { import com.norton.settings.*; import flash.text.*; import com.domani.components.ui.*; public class CloseButton extends Button { private var xIcon:LibXIcon; private var tf:TextField; public function CloseButton(){ super(); tf = new TextField(); tf.styleSheet = Styles.getInstance().getStyleSheet(); tf.embedFonts = true; tf.wordWrap = false; tf.multiline = false; tf.autoSize = TextFieldAutoSize.LEFT; tf.y = -4; addChild(tf); xIcon = new LibXIcon(); addChild(xIcon); } public function set label(value:String):void{ tf.htmlText = value; xIcon.x = ((tf.x + tf.width) + 4); } } }//package com.norton.display.buttons
Section 17
//LongYellowButton (com.norton.display.buttons.LongYellowButton) package com.norton.display.buttons { import flash.events.*; import gs.*; import gs.easing.*; public class LongYellowButton extends NortonPillButton { private var disabledBg:LibLongYellowButtonDisabledBg; private var _visited:Boolean; private var activeBg:LibLongYellowButtonBg; public function LongYellowButton(){ disabledBg = new LibLongYellowButtonDisabledBg(); disabledBg.visible = false; addChild(disabledBg); activeBg = new LibLongYellowButtonBg(); addChild(activeBg); w = 153; h = 25; super(); this.useHandCursor = true; this.buttonMode = true; this.mouseChildren = false; OverwriteManager.init(); } private function delayedVisited():void{ disabledBg.visible = true; TweenMax.to(activeBg, 0.5, {alpha:0, ease:Linear.easeNone}); TweenMax.to(tf, 0.5, {tint:0xFFFFFF}); } override public function set enabled(value:Boolean):void{ } public function get visited():Boolean{ return (_visited); } override protected function onRollOver(event:MouseEvent):void{ TweenMax.to(this, 0.2, {glowFilter:{alpha:1, color:16777154, blurX:12, blurY:12}}); } override protected function onRollOut(event:MouseEvent):void{ TweenMax.to(this, 0.2, {glowFilter:{alpha:0, color:16777154, alpha:1, blurX:0, blurY:0}}); } public function set visited(value:Boolean):void{ _visited = value; TweenMax.delayedCall(1, delayedVisited); } } }//package com.norton.display.buttons
Section 18
//NortonPillButton (com.norton.display.buttons.NortonPillButton) package com.norton.display.buttons { import com.norton.settings.*; import flash.text.*; import com.domani.components.ui.*; public class NortonPillButton extends Button { protected var tf:TextField; protected var __label:String; protected var w:Number;// = 0 protected var h:Number;// = 0 public function NortonPillButton(){ tf = new TextField(); tf.embedFonts = true; tf.styleSheet = Styles.getInstance().getStyleSheet(); tf.autoSize = TextFieldAutoSize.LEFT; tf.multiline = false; tf.wordWrap = false; addChild(tf); super(); } public function set label(value:String):void{ __label = value; tf.htmlText = value; tf.x = ((w / 2) - (tf.width / 2)); tf.y = ((h / 2) - (tf.height / 2)); } public function get label():String{ return (__label); } } }//package com.norton.display.buttons
Section 19
//SiteLinkButton (com.norton.display.buttons.SiteLinkButton) package com.norton.display.buttons { import com.norton.settings.*; import flash.text.*; import com.domani.components.ui.*; public class SiteLinkButton extends Button { private var tf:TextField; private var icon:LibSiteLinkButtonArrow; public function SiteLinkButton(){ super(); tf = new TextField(); tf.embedFonts = true; tf.styleSheet = Styles.getInstance().getStyleSheet(); tf.wordWrap = false; tf.multiline = false; tf.autoSize = TextFieldAutoSize.LEFT; addChild(tf); icon = new LibSiteLinkButtonArrow(); addChild(icon); } public function set label(value:String):void{ tf.htmlText = value; icon.x = (tf.width + 8); icon.y = ((tf.height / 2) - (icon.height / 2)); } } }//package com.norton.display.buttons
Section 20
//ChoicesPanel (com.norton.display.ChoicesPanel) package com.norton.display { import flash.display.*; import com.norton.settings.*; import flash.text.*; import com.domani.components.ui.*; import flash.geom.*; import flash.filters.*; import com.domani.display.*; public class ChoicesPanel extends Resizer { public var btnRight:Button; public var btnLeft:Button; private var bg:Sprite; public var btnSpacer:AutoSpacer; private var tfTitle:TextField; private var bgGlowy:Sprite; private static const FADE_END_COLOR:uint = 0x333333; private static const WIDTH:Number = 615; private static const HEIGHT:Number = 132; private static const FADE_START_COLOR:uint = 0; private static const FOOTER_HEIGHT:uint = 40; private static const MARGIN:int = 11; private static const BORDER_COLOR:uint = 0x333333; private static const ROUNDING:uint = 4; public function ChoicesPanel(){ var g:Graphics; var m:Matrix; var c:Array; var a:Array; var r:Array; super(); bgGlowy = new Sprite(); g = bgGlowy.graphics; g.beginFill(0); g.drawRoundRect(0, 0, WIDTH, HEIGHT, ROUNDING); g.endFill(); bgGlowy.filters = [new GlowFilter(0xFFFFFF, 0.1, 12, 12, 2, 1, false, true)]; addChild(bgGlowy); bg = new Sprite(); bg.alpha = 0.9; addChild(bg); a = [1, 1]; c = [FADE_START_COLOR, FADE_END_COLOR]; r = [0, 0xFF]; m = new Matrix(); m.createGradientBox(615, 120); m.rotate((Math.PI / 2)); g = bg.graphics; g.clear(); g.lineStyle(1, BORDER_COLOR); g.beginGradientFill(GradientType.LINEAR, c, a, r, m); g.drawRoundRect(0, 0, WIDTH, HEIGHT, ROUNDING); g.endFill(); g.moveTo(0, 92); g.lineTo(WIDTH, 92); g.moveTo((WIDTH / 2), 92); g.lineTo((WIDTH / 2), (92 + FOOTER_HEIGHT)); tfTitle = new TextField(); tfTitle.styleSheet = Styles.getInstance().getStyleSheet(); tfTitle.embedFonts = true; tfTitle.autoSize = TextFieldAutoSize.LEFT; tfTitle.wordWrap = false; tfTitle.multiline = false; tfTitle.y = MARGIN; addChild(tfTitle); btnSpacer = new AutoSpacer(); btnSpacer.padding = 46; btnSpacer.y = 44; addChild(btnSpacer); } public function addLeftButton(btn:Button):void{ if (((btnLeft) && (contains(btnLeft)))){ removeChild(btnLeft); }; btnLeft = btn; btnLeft.y = (((FOOTER_HEIGHT / 2) - (btnLeft.height / 2)) + 92); btnLeft.x = ((WIDTH / 4) - (btnLeft.width / 2)); addChild(btnLeft); } public function addRightButton(btn:Button):void{ if (((btnRight) && (contains(btnRight)))){ removeChild(btnRight); }; btnRight = btn; btnRight.y = ((92 + (FOOTER_HEIGHT / 2)) - (btnRight.height / 2)); btnRight.x = (((WIDTH / 2) + (WIDTH / 4)) - (btnRight.width / 2)); addChild(btnRight); } public function set title(value:String):void{ tfTitle.htmlText = value; tfTitle.x = ((WIDTH / 2) - (tfTitle.width / 2)); } public function addButton(btn:Button):void{ btnSpacer.addChild(btn); btnSpacer.x = ((WIDTH / 2) - (btnSpacer.width / 2)); } } }//package com.norton.display
Section 21
//DefinitionWindow (com.norton.display.DefinitionWindow) package com.norton.display { import flash.events.*; import flash.display.*; import com.norton.settings.*; import flash.text.*; import com.norton.display.buttons.*; public class DefinitionWindow extends Sprite { private var tfTitle:TextField; private var tfBody:TextField; private var btnClose:CloseButton; private static const MARGIN:int = 22; private static const WIDTH:int = 615; public function DefinitionWindow(){ super(); tfTitle = makeTextField(); tfTitle.x = MARGIN; addChild(tfTitle); tfBody = makeTextField(); tfBody.x = MARGIN; addChild(tfBody); btnClose = new CloseButton(); btnClose.addEventListener(MouseEvent.CLICK, onCloseClick); addChild(btnClose); this.alpha = 0; this.blendMode = BlendMode.LAYER; } private function draw():void{ } public function set closeText(value:String):void{ btnClose.label = value; btnClose.x = Math.round(((WIDTH - btnClose.width) - MARGIN)); } public function set body(value:String):void{ tfBody.htmlText = value; tfBody.y = ((tfTitle.y + tfTitle.height) + 8); draw(); } public function collapse():void{ } private function onCloseClick(event:MouseEvent):void{ dispatchEvent(new Event(Event.CLOSE)); } public function set title(value:String):void{ tfTitle.htmlText = value; tfBody.y = ((tfTitle.y + tfTitle.height) + 8); draw(); } public function expand():void{ } private function makeTextField():TextField{ var tf:TextField; tf = new TextField(); tf.autoSize = TextFieldAutoSize.LEFT; tf.embedFonts = true; tf.wordWrap = true; tf.multiline = true; tf.condenseWhite = true; tf.width = (WIDTH - (MARGIN * 2)); tf.styleSheet = Styles.getInstance().getStyleSheet(); return (tf); } } }//package com.norton.display
Section 22
//InfectionMap (com.norton.display.InfectionMap) package com.norton.display { import flash.events.*; import com.norton.managers.*; import flash.display.*; import gs.*; import flash.geom.*; import flash.net.*; import gs.easing.*; import flash.external.*; public class InfectionMap extends Sprite { private var ldrLongLat:URLLoader; private var fLong:Number; private var _centerOffsetX:Number;// = 0 private var _centerOffsetY:Number;// = 0 private var pOffsetX:Number;// = 220 private var pOffsetY:Number;// = 240 private var arrInfectionPositions:Array; private var fLat:Number; private var _long:Number;// = -73.9906 private var map:LibInfectionMap; private var _lat:Number;// = 40.6944 private var pin:LibPin; private var mapShading:LibMapShading; private var ptPin:Point; private var unshaded:Sprite; private static const NUM_SPAWNED:Number = 5; private static const MAP_WIDTH:Number = 1040; private static const MAP_HEIGHT:Number = 530; private static const LAT_LONG_SERVICE:String = "ip2LatLon.php"; public function InfectionMap(){ var child:MovieClip; var p:Point; super(); OverwriteManager.init(); fLong = (MAP_WIDTH / (180 * 2)); fLat = (MAP_HEIGHT / (90 * 2)); arrInfectionPositions = []; map = new LibInfectionMap(); addChild(map); mapShading = new LibMapShading(); mapShading.scaleX = 1.3; addChild(mapShading); unshaded = new Sprite(); addChild(unshaded); pOffsetX = map.infection.x; pOffsetY = map.infection.y; while (map.infection.numChildren > 0) { child = MovieClip(map.infection.getChildAt(0)); p = new Point(); p.x = child.x; p.y = child.y; arrInfectionPositions.push(p); map.infection.removeChild(child); }; ldrLongLat = new URLLoader(); ldrLongLat.addEventListener(Event.COMPLETE, onGetLongLat, false, 0, true); ldrLongLat.load(new URLRequest((AppSettings.getInstance().APP_ROOT + LAT_LONG_SERVICE))); this.addEventListener(Event.ENTER_FRAME, onEnterFrame, false, 0, true); } private function addPin():void{ pin = new LibPin(); pin.scaleX = 0.12; pin.scaleY = 0.12; pin.x = ptPin.x; pin.y = ptPin.y; unshaded.addChild(pin); } private function removePin():void{ if (((pin) && (unshaded.contains(pin)))){ unshaded.removeChild(pin); }; } private function onEnterFrame(event:Event):void{ var p:Point; var i:uint; var blip:LibInfection; var s:Number; var j:int; while (j < NUM_SPAWNED) { i = Math.round((Math.random() * arrInfectionPositions.length)); p = Point(arrInfectionPositions[i]); if (!p){ return; }; blip = new LibInfection(); blip.x = p.x; blip.y = p.y; blip.alpha = 0; blip.scaleX = 0; blip.scaleY = 0; blip.gotoAndPlay((Math.round(Math.random()) * 15)); s = (Math.random() + 0.2); map.infection.addChild(blip); TweenLite.to(blip, 1, {alpha:1, ease:Linear.easeNone}); TweenLite.to(blip, 1.5, {scaleX:s, scaleY:s, ease:Sine.easeOut}); TweenLite.to(blip, 1.5, {scaleX:(s - 0.4), scaleY:(s - 0.4), delay:1.5, ease:Sine.easeIn}); TweenLite.to(blip, 1, {alpha:0, delay:2, onComplete:removeBlip, onCompleteParams:[blip]}); j++; }; } private function removeBlip(clip:DisplayObject):void{ map.infection.removeChild(clip); } public function zoomToUsersLocation():void{ var curURL:String; var chunk:Array; var urlVars:URLVariables; curURL = ExternalInterface.call("window.location.href.toString"); chunk = curURL.split("?"); urlVars = new URLVariables(chunk[1]); if (urlVars.lat){ _lat = urlVars.lat; }; if (urlVars.long){ _long = urlVars.long; }; zoomToLatLong(_lat, _long); } private function onGetLongLat(event:Event):void{ var vars:URLVariables; vars = new URLVariables(); vars.decode(ldrLongLat.data); _long = vars.lon; _lat = vars.lat; } public function set centerOffsetX(value:Number):void{ mapShading.x = -(value); _centerOffsetX = value; } public function zoomToLatLong(lat:Number, long:Number):void{ var x:Number; var y:Number; trace("long: ", long); trace("lat: ", lat); long = (long + 180); lat = (lat + 90); ptPin = new Point(); ptPin.x = (long * fLong); ptPin.y = (MAP_HEIGHT - (lat * fLat)); x = (((-(ptPin.x) * 4) + (MAP_WIDTH / 2)) - _centerOffsetX); y = (((-(ptPin.y) * 4) + (MAP_HEIGHT / 2)) - _centerOffsetY); zoomTo(x, y, 4, 4); } public function zoomTo(x:Number, y:Number, scaleX:Number, scaleY:Number):void{ TweenLite.delayedCall(2, addPin); TweenLite.to(map, 4, {x:x, y:y, scaleX:scaleX, scaleY:scaleY}); TweenLite.to(unshaded, 4, {x:x, y:y, scaleX:scaleX, scaleY:scaleY}); } public function set centerOffsetY(value:Number):void{ mapShading.y = -(value); _centerOffsetY = value; } public function zoomOut():void{ TweenLite.to(pin, 0.4, {alpha:0, onComplete:removePin}); TweenLite.to(map, 4, {x:0, y:0, scaleX:1, scaleY:1}); TweenLite.to(unshaded, 4, {x:0, y:0, scaleX:1, scaleY:1}); } } }//package com.norton.display
Section 23
//InitialMapChoices (com.norton.display.InitialMapChoices) package com.norton.display { import flash.events.*; import com.domani.events.*; import flash.display.*; import com.norton.display.buttons.*; import com.domani.display.*; public class InitialMapChoices extends Sprite { public var laptops:LibLaptops; private var spacer:AutoSpacer; public function InitialMapChoices(){ super(); laptops = new LibLaptops(); laptops.addEventListener(AnimationEvent.EXPANDED, repeatEvent); laptops.addEventListener(AnimationEvent.COLLAPSED, repeatEvent); addChild(laptops); spacer = new AutoSpacer(); spacer.padding = 72; spacer.y = laptops.height; addChild(spacer); } public function expand():void{ laptops.gotoAndPlay("expand"); } public function addButton(btn:NortonPillButton):void{ spacer.addChild(btn); spacer.x = ((laptops.width / 2) - (spacer.width / 2)); } public function collapse():void{ laptops.gotoAndPlay("collapse"); } private function repeatEvent(event:Event):void{ dispatchEvent(event); } } }//package com.norton.display
Section 24
//MapInfoPanel (com.norton.display.MapInfoPanel) package com.norton.display { import flash.events.*; import com.domani.events.*; import flash.display.*; import com.norton.settings.*; import flash.text.*; import gs.*; import flash.geom.*; import flash.filters.*; import gs.easing.*; public class MapInfoPanel extends Sprite { private var bg:Shape; private var bgGlowy:Shape; public var hldrCrimeInfo:Sprite; private var txtInfo:TextField; private static const FADE_START_COLOR:uint = 0; private static const HEIGHT:int = 120; private static const MARGIN:int = 11; private static const BORDER_COLOR:uint = 0x333333; private static const ROUNDING:uint = 6; private static const FADE_END_COLOR:uint = 0x333333; public function MapInfoPanel(){ var g:Graphics; var m:Matrix; var c:Array; var a:Array; var r:Array; super(); bgGlowy = new Shape(); g = bgGlowy.graphics; g.clear(); g.beginFill(0); g.drawRoundRect(0, 0, 615, 120, ROUNDING); g.endFill(); bgGlowy.filters = [new GlowFilter(0xFFFFFF, 0.1, 12, 12, 2, 1, false, true)]; addChild(bgGlowy); bg = new Shape(); bg.alpha = 0.9; addChild(bg); a = [1, 1]; c = [FADE_START_COLOR, FADE_END_COLOR]; r = [0, 0xFF]; m = new Matrix(); m.createGradientBox(615, 120); m.rotate((Math.PI / 2)); g = bg.graphics; g.clear(); g.lineStyle(1, BORDER_COLOR); g.beginGradientFill(GradientType.LINEAR, c, a, r, m); g.drawRoundRect(0, 0, 615, 120, ROUNDING); g.endFill(); hldrCrimeInfo = new Sprite(); txtInfo = makeTextField(); hldrCrimeInfo.addChild(txtInfo); addChild(hldrCrimeInfo); onOut(); } public function showContent():void{ TweenLite.to(hldrCrimeInfo, 0.5, {alpha:1, ease:Linear.easeNone}); } public function set crimeText(txt:String):void{ TweenLite.to(txtInfo, 0.25, {alpha:0, onComplete:fadeInText, onCompleteParams:[txt]}); } private function onOut(event:MouseEvent=null):void{ hldrCrimeInfo.visible = true; } public function hideContent():void{ TweenLite.to(hldrCrimeInfo, 0.5, {alpha:0, ease:Linear.easeNone, onComplete:onHideComplete}); } private function onHideComplete(event:Event=null):void{ dispatchEvent(new AnimationEvent(AnimationEvent.COLLAPSED)); } private function fadeInText(txt:String):void{ txtInfo.htmlText = txt; txtInfo.y = ((HEIGHT / 2) - (txtInfo.height / 2)); TweenLite.to(txtInfo, 0.25, {alpha:1}); } private function makeTextField():TextField{ var tf:TextField; tf = new TextField(); tf.x = 70; tf.y = MARGIN; tf.condenseWhite = true; tf.width = 480; tf.wordWrap = true; tf.embedFonts = true; tf.styleSheet = Styles.getInstance().getStyleSheet(); tf.autoSize = TextFieldAutoSize.LEFT; return (tf); } } }//package com.norton.display
Section 25
//CybercrimeLifeCycleEvent (com.norton.events.CybercrimeLifeCycleEvent) package com.norton.events { import flash.events.*; public class CybercrimeLifeCycleEvent extends Event { public static const ENABLED:String = "enabled"; public static const STORY_UPDATE:String = "stoyUpdate"; public static const FRAME_UPDATE:String = "frameUpdate"; public static const DISABLED:String = "disabled"; public function CybercrimeLifeCycleEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false){ super(type, bubbles, cancelable); } } }//package com.norton.events
Section 26
//AppSettings (com.norton.managers.AppSettings) package com.norton.managers { import flash.events.*; import flash.net.*; import com.domani.utils.*; public class AppSettings extends EventDispatcher { public var MEDIA_HOST:String; public var STREAMING_APP:String; public var STREAMING_HOST:String; public var UPLOADED_IMAGES:String; public var SWF_DIR:String; public var VIDEO:String; public var APP_ROOT:String; public var CSS:String; public var XML_DIR:String; public var APP_STATUS:int; public var IMAGES:String; private static var _isInit:Boolean = false; protected static var _thisInstance:AppSettings; private static var _isLoaded:Boolean = false; public function AppSettings(caller:Function){ super(); if (caller != getInstance){ throw (new Error("AppSettings is a singleton. Use getInstance instead of new constructor")); }; if (_thisInstance != null){ throw (new Error("AppSettings is a singleton. Only one instance can exist!")); }; } public function init(url:String="conf/conf.xml"):void{ var url = url; var request:URLRequest = new URLRequest(url); var loader:URLLoader = new URLLoader(); loader.addEventListener(Event.COMPLETE, onLoadComplete, false, 0, true); _isInit = true; loader.load(request); //unresolved jump var _slot1 = e; new Error(_slot1.message); } public function get isLoaded():Boolean{ return (_isLoaded); } public function get isInitialized():Boolean{ return (_isInit); } protected function onLoadComplete(e:Event):void{ var loader:URLLoader = (e.target as URLLoader); var xml:XML = XML(loader.data); APP_ROOT = xml.APP_ROOT; APP_STATUS = xml.APP_STATUS; IMAGES = xml.IMAGES; VIDEO = xml.VIDEO; MEDIA_HOST = xml.MEDIA_HOST; STREAMING_HOST = xml.STREAMING_HOST; STREAMING_APP = xml.STREAMING_APP; UPLOADED_IMAGES = xml.UPLOADED_IMAGES; XML_DIR = xml.XML; CSS = xml.CSS; SWF_DIR = xml.SWF; LogManager.status = APP_STATUS; _isLoaded = true; dispatchEvent(new Event(Event.COMPLETE)); } public static function getInstance():AppSettings{ if (!_thisInstance){ _thisInstance = new AppSettings(arguments.callee); }; return (_thisInstance); } } }//package com.norton.managers
Section 27
//TrackingManager (com.norton.managers.TrackingManager) package com.norton.managers { import flash.events.*; import flash.display.*; import com.domani.utils.*; import com.omniture.*; import flash.external.*; public class TrackingManager extends EventDispatcher { public var product:String; public var trackingId:String; private var _omniture:ActionSource; public var country:String; public var campaign:String; public var language:String; private var _isInit:Boolean;// = false private var _stage:Stage; private static const NOT_INIT_ERROR:String = "TrackingManager must be initialized first"; private static const EVAR_VIDEO:String = "Norton Microsite Videos Viewed"; private static var __thisInstance:TrackingManager; public function TrackingManager(caller:Function){ super(); if (__thisInstance){ throw (new Error("TrackingManager is a singleton, only one instance can exist")); }; if (caller != TrackingManager.getInstance){ throw (new Error("TrackingManager is a singleton, use getInstance() instead")); }; } public function trackMediaOpen(name:String):void{ var pageName:String; if (!_isInit){ throw (new Error(NOT_INIT_ERROR)); }; pageName = ExternalInterface.call("getPageMeta"); if (pageName.length > 100){ throw (new Error("Omniture page name has limit of 100 characters")); }; LogManager.log(("Track: " + pageName), this, LogType.INFO); _omniture.pageName = pageName; _omniture.events = "event44"; _omniture.eVar49 = pageName; _omniture.track(); } public function init(stage:Stage):void{ if (!_isInit){ _stage = stage; initActionSource(); _isInit = true; }; } public function get isInit():Boolean{ return (_isInit); } public function track(... _args):void{ var i:int; var additionalInfo:String; var pageName:String; if (!_isInit){ throw (new Error(NOT_INIT_ERROR)); }; additionalInfo = ""; i = 0; while (i < _args.length) { additionalInfo = (additionalInfo + (": " + _args[i].toString())); i++; }; pageName = ExternalInterface.call("getPageMeta"); if (additionalInfo){ pageName = (pageName + additionalInfo); }; if (pageName.length > 100){ throw (new Error("Omniture page name has limit of 100 characters")); }; _omniture.events = ""; _omniture.eVar49 = ""; LogManager.log(("Track: " + pageName), this, LogType.INFO); _omniture.pageName = pageName; _omniture.track(); } private function initActionSource():void{ var siteSection:String; _omniture = new ActionSource(); _omniture.account = "symanteccom,symantechho"; _omniture.prop33 = ""; _omniture.eVar44 = ""; _omniture.referrer = ""; _omniture.channel = ""; _omniture.eVar29 = ""; _omniture.prop27 = ExternalInterface.call("getVisitorSegment"); _omniture.eVar50 = ""; _omniture.prop46 = "flash"; _omniture.prop2 = "us"; _omniture.eVar27 = "us"; _omniture.prop3 = "en"; _omniture.eVar28 = "en"; siteSection = ExternalInterface.call("getSiteSection"); _omniture.prop41 = siteSection; _omniture.eVar41 = siteSection; _omniture.prop42 = ""; _omniture.eVar42 = ""; _omniture.prop43 = ""; _omniture.eVar43 = ""; _omniture.prop44 = ""; _omniture.prop45 = ""; _omniture.prop47 = ""; _omniture.prop48 = ""; _omniture.prop49 = ""; _omniture.prop50 = ""; _omniture.product = ""; _omniture.debugTracking = true; _omniture.trackLocal = true; _omniture.trackingServer = "om.symantec.com"; _omniture.trackingServerSecure = "oms.symantec.com"; _omniture.charSet = "UTF-8"; _omniture.dc = "112"; _stage.addChild(_omniture); } private function _track():void{ } public static function getInstance():TrackingManager{ if (!__thisInstance){ __thisInstance = new TrackingManager(arguments.callee); }; return (__thisInstance); } } }//package com.norton.managers
Section 28
//AnimationChoice (com.norton.models.AnimationChoice) package com.norton.models { public class AnimationChoice { public var trackingId:String; public var animationId:String; public function AnimationChoice(){ super(); } } }//package com.norton.models
Section 29
//CybercrimeLifeCycleData (com.norton.models.CybercrimeLifeCycleData) package com.norton.models { public class CybercrimeLifeCycleData { private var frames:Array; public var title:String; public function CybercrimeLifeCycleData(){ super(); frames = []; } public function get numFrames():uint{ return (frames.length); } public function getFrame(i:uint):FrameData{ return (FrameData(frames[i])); } public function addFrame(data:FrameData):void{ frames.push(data); } } }//package com.norton.models
Section 30
//FrameData (com.norton.models.FrameData) package com.norton.models { public class FrameData { public var copy:Array; public var frameLabel:String; public function FrameData(){ super(); copy = []; } public function get length():uint{ return (copy.length); } } }//package com.norton.models
Section 31
//PositionedText (com.norton.models.PositionedText) package com.norton.models { public class PositionedText { public var copy:String; public var x:Number;// = NAN public var y:Number;// = NAN public function PositionedText(){ super(); } } }//package com.norton.models
Section 32
//TimecodeObject (com.norton.models.TimecodeObject) package com.norton.models { public class TimecodeObject { public var data; private var __startTime:uint;// = 0 private var __endTime:uint;// = 0 public function TimecodeObject(){ super(); } public function setEndTime(timecode:String):void{ __endTime = parseTimecode(timecode); } public function get endTime():uint{ return (__endTime); } public function setStartTime(timecode:String):void{ __startTime = parseTimecode(timecode); } public function get startTime():uint{ return (__startTime); } public function get expires():Boolean{ return ((__endTime > 0)); } private static function parseTimecode(timecode:String):Number{ var d:uint; var arr:Array; var n:uint; arr = timecode.split(":"); d = 0; n = Math.min(arr.length, 4); var i:uint; while (i < n) { switch (i){ case 0: d = (d + (((uint(arr[i]) * 1000) * 60) * 60)); break; case 1: d = (d + ((uint(arr[i]) * 1000) * 60)); break; case 2: d = (d + (uint(arr[i]) * 1000)); break; case 3: d = (d + uint(arr[i])); break; }; i++; }; return (d); } } }//package com.norton.models
Section 33
//WordDefinitonData (com.norton.models.WordDefinitonData) package com.norton.models { public class WordDefinitonData { public var word:String; public var definition:String; public function WordDefinitonData(){ super(); } } }//package com.norton.models
Section 34
//Styles (com.norton.settings.Styles) package com.norton.settings { import flash.events.*; import flash.text.*; import flash.net.*; public class Styles extends EventDispatcher { private var _isLoaded:Boolean; private var loader:URLLoader; private var styleSheet:StyleSheet; private var _isInit:Boolean; protected static var _thisInstance:Styles; public function Styles(caller:Function){ super(); if (caller != getInstance){ throw (new Error("AppSettings is a singleton. Use getInstance instead of new constructor")); }; if (_thisInstance != null){ throw (new Error("AppSettings is a singleton. Only one instance can exist!")); }; } public function getStyleSheet():StyleSheet{ return (styleSheet); } public function get isInitialized():Boolean{ return (_isInit); } private function onLoaderComplete(event:Event):void{ _isLoaded = true; styleSheet = new StyleSheet(); styleSheet.parseCSS(loader.data); var i:int; while (i < styleSheet.styleNames.length) { i++; }; dispatchEvent(new Event(Event.COMPLETE)); } public function load(path:String):void{ if (_isInit){ trace("Warning, this has been initialized"); return; }; _isInit = true; loader = new URLLoader(); loader.addEventListener(Event.COMPLETE, onLoaderComplete, false, 0, true); loader.load(new URLRequest(path)); } public function get isLoaded():Boolean{ return (_isLoaded); } public static function getInstance():Styles{ if (!_thisInstance){ _thisInstance = new Styles(arguments.callee); }; return (_thisInstance); } } }//package com.norton.settings
Section 35
//ActionSource (com.omniture.ActionSource) package com.omniture { import flash.events.*; import flash.display.*; import flash.net.*; import flash.utils.*; import flash.external.*; import flash.system.*; public dynamic class ActionSource extends Sprite { private var _useExternalVariables:Boolean;// = false private var onLoadTracked:Boolean;// = false public var ssl:Boolean; public var account:String; public var _movie:Object; private var delayTrackingInterval:Number; public var movieID:String; public var debugTracking:Boolean;// = false public var flashASVersion:Number;// = 3 private var _moduleMediaVariables:Object; public var pageURL:String; public var otherVariables:Object; private var requestNum:Number; public var dc:String; public var visitorNamespace:String; private var trackCalled:Boolean;// = false public var mobile:Boolean; public var flashVersion:Number; public var trackingServerBase:String; private var bufferTrackInterval:Number;// = 0 private var _trackOnLoad:Boolean;// = false public var version:String; public var trackingServer:String; public var ClickMap:ActionSource_Module_ClickMap; public var autoTrack:Boolean; public var trackLocal:Boolean;// = true private var bufferTrackQueue:Array; public var trackingServerSecure:String; private var flashRoot:Object; private var accountConfigList:Array; public var lastRequest:String; public var trackClickMap:Boolean; private var flashLivePreview:Boolean;// = false public var charSet:String; private var _configURL:String; public var delayTracking:Number; private var configXML:ActionSource_XML; private var accountVarList:Array; private var trackOnLoadInterval:Number; public var pageName:String; private var _root:Object; private var requiredVarList:Array; private var delayTrackingStage:Number; public var requestList:Array; public var Media:ActionSource_Module_Media; private var externalVariables:Object; public function ActionSource(){ var _local1:Object; var _local2:Number; var _local3:String; var _local4:Array; flashASVersion = 3; flashLivePreview = false; trackLocal = true; debugTracking = false; _useExternalVariables = false; _trackOnLoad = false; onLoadTracked = false; bufferTrackInterval = 0; trackCalled = false; super(); _local1 = this; _local1.version = "FAS-2.8"; _local3 = getVersion(); _local4 = _local3.split(" "); _local1.flashVersion = parseInt(_local4[1].substr(0, 1)); _local1.initPre(); _local1.requestNum = 0; _local1.requestList = new Array(); _local1.lastRequest = ""; _local1.requiredVarList = ["dynamicVariablePrefix", "visitorID", "vmk", "visitorMigrationKey", "visitorMigrationServer", "visitorMigrationServerSecure", "charSet", "visitorNamespace", "cookieDomainPeriods", "cookieLifetime", "pageName", "pageURL", "referrer", "currencyCode"]; _local1.accountVarList = ["purchaseID", "variableProvider", "channel", "server", "pageType", "transactionID", "campaign", "state", "zip", "events", "products", "tnt"]; _local2 = (_local1.requiredVarList.length - 1); while (_local2 >= 0) { _local1.accountVarList.unshift(_local1.requiredVarList[_local2]); _local2--; }; _local2 = 1; while (_local2 <= 50) { _local1.accountVarList.push(("prop" + _local2)); _local1.accountVarList.push(("eVar" + _local2)); _local1.accountVarList.push(("hier" + _local2)); _local1.accountVarList.push(("list" + _local2)); _local2++; }; _local1.accountVarList.push("pe"); _local1.accountVarList.push("pev1"); _local1.accountVarList.push("pev2"); _local1.accountVarList.push("pev3"); _local1.requiredVarList.push("pe"); _local1.requiredVarList.push("pev1"); _local1.requiredVarList.push("pev2"); _local1.requiredVarList.push("pev3"); _local1.accountConfigList = ["account", "configURL", "linkObject", "linkURL", "linkName", "linkType", "trackDownloadLinks", "trackExternalLinks", "trackClickMap", "linkLeaveQueryString", "linkTrackVars", "linkTrackEvents", "trackingServer", "trackingServerSecure", "dc", "movieID", "autoTrack", "delayTracking", "trackLocal", "debugTracking"]; _local1.modulesInit(); _local1.setupInterval(_local1, "setVariableCallHandler", 1000, null); _local1.initPost(); } public function clearVars(){ var _local1:Object; var _local2:Number; var _local3:String; _local1 = this; _local2 = 0; while (_local2 < accountVarList.length) { _local3 = _local1.accountVarList[_local2]; if ((((((((((((((((((((((((_local3.substr(0, 4) == "prop")) || ((_local3.substr(0, 4) == "eVar")))) || ((_local3.substr(0, 4) == "hier")))) || ((_local3.substr(0, 4) == "list")))) || ((_local3 == "channel")))) || ((_local3 == "events")))) || ((_local3 == "purchaseID")))) || ((_local3 == "transactionID")))) || ((_local3 == "products")))) || ((_local3 == "state")))) || ((_local3 == "zip")))) || ((_local3 == "campaign")))){ _local1[_local3] = undefined; }; _local2++; }; } private function updateExternalVariables(){ var _local1:Object; var _local2:String; var _local3:Array; var _local4:Number; var _local5:Array; var _local6:String; var _local7:Object; var _local8:String; var _local9:String; var _local10:Object; _local1 = this; _local6 = ""; _local1.externalVariables = new Object(); _local2 = _local1.getMovieClipURL(_local1); if (_local1.isSet(_local2)){ _local3 = _local2.split("?"); _local6 = (_local6 + ("&" + _local3[1])); }; if (_local1.isSet(_local1, "parent")){ _local2 = _local1.getMovieClipURL(_local1.parent); if (_local1.isSet(_local2)){ _local3 = _local2.split("?"); _local6 = (_local6 + ("&" + _local3[1])); }; } else { if (_local1.isSet(_local1, "_parent")){ _local2 = _local1.getMovieClipURL(_local1._parent); if (_local1.isSet(_local2)){ _local3 = _local2.split("?"); _local6 = (_local6 + ("&" + _local3[1])); }; }; }; if (_local1.isSet(_local1.movie)){ _local2 = _local1.getMovieClipURL(_local1.movie); if (_local1.isSet(_local2)){ _local3 = _local2.split("?"); _local6 = (_local6 + ("&" + _local3[1])); }; }; if (_local1.isSet(_local6)){ _local3 = _local6.split("&"); _local4 = 0; while (_local4 < _local3.length) { _local5 = _local3[_local4].split("="); _local8 = _local5[0]; if ((((_local8.substr(0, 2) == "s_")) || ((_local8.substr(0, 2) == "s.")))){ _local8 = _local8.substr(2); _local9 = unescape(_local5[1]); _local1.externalVariables[_local8] = _local9; }; _local4++; }; }; if (_local1.isSet(_local1.movie)){ _local7 = _local1.movie; if (_local1.flashASVersion >= 3){ if (((_local1.isSet(_local1.movie, "loaderInfo")) && (_local1.isSet(_local1.movie.loaderInfo, "parameters")))){ _local7 = _local1.movie.loaderInfo.parameters; }; }; for (_local8 in _local7) { if ((((((_local8.substr(0, 2) == "s_")) || ((_local8.substr(0, 2) == "s.")))) && ((((typeof(_local7[_local8]) == "string")) || ((typeof(_local7[_local8]) == "boolean")))))){ _local9 = _local7[_local8]; _local8 = _local8.substr(2); _local1.externalVariables[_local8] = _local9; }; }; }; if (_local1.isSet(_local1.useExternalVariables)){ _local1.variableOverridesApply(_local1.externalVariables); }; } private function flushRequestList(){ var _local1:Object; var _local2:String; var _local3:Array; var _local4:Number; _local1 = this; while (_local1.requestNum < _local1.requestList.length) { if (_local1.isSet(_local1.debugTracking)){ _local2 = ("ActionSource Debug: " + _local1.requestList[_local1.requestNum]); _local3 = _local1.requestList[_local1.requestNum].split("&"); _local4 = 0; while (_local4 < _local3.length) { _local2 = (_local2 + ("\n\t" + unescape(_local3[_local4]))); _local4++; }; _local1.logDebug(_local2); }; _local1.requestURL(_local1.requestList[_local1.requestNum]); _local1.lastRequest = _local1.requestList[_local1.requestNum]; _local1.requestNum++; }; } private function bufferRequest(_arg1:String, _arg2:String, _arg3:String){ var _local4:Object; var _local5:Object; var _local6:Object; var _local7:Number; var _local8:Number; _local4 = this; _local5 = _local4.getBufferedRequests(); if (_local4.isSet(_local5)){ if (!_local4.isSet(_local5.data)){ _local5.data = new Object(); }; if (!_local4.isSet(_local5.data.list)){ _local5.data.list = new Array(); }; _local8 = -1; _local7 = 0; while (_local7 < _local5.data.list.length) { if (_local5.data.list[_local7].id == _arg2){ _local5.data.list[_local7].request = _arg3; _arg3 = ""; } else { if (!_local4.isSet(_local5.data.list[_local7].id)){ _local8 = _local7; }; }; _local7++; }; if (_local4.isSet(_arg3)){ _local6 = new Object(); _local6.account = _arg1; _local6.id = _arg2; _local6.request = _arg3; if (_local8 >= 0){ _local5.data.list[_local8] = _local6; } else { _local5.data.list.push(_local6); }; }; _local5.flush(); }; } private function variableOverridesBuild(_arg1:Object, _arg2:Boolean){ var _local3:Object; var _local4:Number; var _local5:String; _local3 = this; _local4 = 0; while (_local4 < _local3.accountVarList.length) { _local5 = _local3.accountVarList[_local4]; if (!_local3.isSet(_arg1[_local5])){ _arg1[_local5] = _local3[_local5]; if (((!(_arg2)) && (!(_local3.isSet(_arg1[_local5]))))){ _arg1[("!" + _local5)] = 1; }; }; _local4++; }; _local4 = 0; while (_local4 < _local3.accountConfigList.length) { _local5 = _local3.accountConfigList[_local4]; if (!_local3.isSet(_arg1[_local5])){ _arg1[_local5] = _local3[_local5]; if (((!(_arg2)) && (!(_local3.isSet(_arg1[_local5]))))){ _arg1[("!" + _local5)] = 1; }; }; _local4++; }; } public function set useExternalVariables(_arg1:Boolean){ this._useExternalVariables = _arg1; if (this.isSet(this._useExternalVariables)){ this.updateExternalVariables(); }; } private function requestURL(_arg1){ var _local2:URLRequest; _local2 = new URLRequest(_arg1); sendToURL(_local2); } public function setupInterval(_arg1:Object, _arg2:String, _arg3:Number, _arg4){ if (_arg4 != null){ return (setInterval(_arg1[_arg2], _arg3, _arg4)); }; return (setInterval(_arg1[_arg2], _arg3)); } private function _trackLink(_arg1, _arg2:String, _arg3:String, _arg4:Object){ var _local5:Object; var _local6:String; _local5 = this; if (((_local5.isSet(_arg1)) && ((typeof(_arg1) == "string")))){ _local6 = _arg1; _arg1 = new Object(); _arg1.url = _local6; }; _local5.linkObject = _arg1; _local5.linkType = _arg2; _local5.linkName = _arg3; _local5.track(_arg4); } public function set movie(_arg1:Object){ var _local2:Object; var _local3:String; _local2 = this; _local2._movie = _arg1; if (!_local2.flashLivePreview){ _local3 = _local2.getMovieURL(); _local2.ssl = (_local3.toLowerCase().substr(0, 6) == "https:"); if (_local2.isSet(_local2._movie)){ if (_local2.flashASVersion < 3){ _local2._movie.s_s = this; }; _local2.updateExternalVariables(); _local2.modulesUpdate(); }; }; } private function queryStringLinkTracking():String{ var _local1:Object; var _local2:String; var _local3:String; var _local4:String; var _local5:Number; var _local6:Number; var _local7:String; var _local8:String; var _local9:Number; _local1 = this; _local2 = _local1.linkType; _local3 = _local1.linkURL; _local4 = _local1.linkName; _local8 = ""; if (((!(_local1.isSet(_local3))) && (_local1.isSet(_local1.linkObject)))){ if (_local1.isSet(_local1.linkObject, "url")){ _local3 = _local1.linkObject.url; } else { if (_local1.isSet(_local1.linkObject, "URL")){ _local3 = _local1.linkObject.URL; } else { if (_local1.isSet(_local1.linkObject, "href")){ _local3 = _local1.linkObject.href; } else { if (_local1.isSet(_local1.linkObject, "HREF")){ _local3 = _local1.linkObject.HREF; } else { if (_local1.isSet(_local1.linkObject, "htmlText")){ _local5 = _local1.linkObject.htmlText.toLowerCase().indexOf("href="); if (_local5 >= 0){ _local5 = (_local5 + 5); _local7 = _local1.linkObject.htmlText.substr(_local5, 1); if ((((_local7 == "\"")) || ((_local7 == "'")))){ _local5++; _local6 = _local1.linkObject.htmlText.toLowerCase().indexOf(_local7, _local5); if (_local6 >= 0){ --_local6; if (_local6 > _local5){ _local3 = _local1.linkObject.htmlText.substr(_local5, ((_local6 - _local5) + 1)); }; }; }; }; }; }; }; }; }; }; if (((_local1.isSet(_local2)) && (((_local1.isSet(_local3)) || (_local1.isSet(_local4)))))){ _local2 = _local2.toLowerCase(); if (((!((_local2 == "d"))) && (!((_local2 == "e"))))){ _local2 = "o"; }; if (((_local1.isSet(_local3)) && (!(_local1.isSet(_local1.linkLeaveQueryString))))){ _local9 = _local3.indexOf("?"); if (_local9 >= 0){ _local3 = _local3.substr(0, _local9); }; }; _local8 = (_local8 + ("&pe=lnk_" + escape(_local2))); _local8 = (_local8 + (_local1.isSet(_local3)) ? ("&pev1=" + escape(_local3)) : ""); _local8 = (_local8 + (_local1.isSet(_local4)) ? ("&pev2=" + escape(_local4)) : ""); }; return (_local8); } private function _track(_arg1:Object, _arg2:String){ var _local3:Object; var _local4:Boolean; var _local5:Object; var _local6:Date; var _local7:Number; var _local8:String; var _local9:String; var _local10:String; var _local11:Number; var _local12:String; _local3 = this; _local6 = new Date(); _local7 = Math.floor((Math.random() * 10000000000000)); _local8 = (("s" + (Math.floor((_local6.getTime() / 10800000)) % 10)) + _local7); _local9 = ((((((((((((((("" + _local6.getDate()) + "/") + _local6.getMonth()) + "/") + _local6.getFullYear()) + " ") + _local6.getHours()) + ":") + _local6.getMinutes()) + ":") + _local6.getSeconds()) + " ") + _local6.getDay()) + " ") + _local6.getTimezoneOffset()); _local10 = ("t=" + escape(_local9)); if (_local3.isSet(_local3.flashLivePreview)){ return; }; if (_local3.isSet(_local3.otherVariables)){ _local11 = 0; while (_local11 < _local3.accountVarList.length) { _local12 = _local3.accountVarList[_local11]; if (_local3.isSet(_local3.otherVariables[_local12])){ _local3[_local12] = _local3.otherVariables[_local12]; }; _local11++; }; _local11 = 0; while (_local11 < _local3.accountConfigList.length) { _local12 = _local3.accountConfigList[_local11]; if (_local3.isSet(_local3.otherVariables[_local12])){ _local3[_local12] = _local3.otherVariables[_local12]; }; _local11++; }; }; _local4 = _local3.bufferTrack(_arg1, _arg2); if (!_local4){ if (_local3.isSet(_arg1)){ _local5 = new Object(); _local3.variableOverridesBuild(_local5, false); _local3.variableOverridesApply(_arg1); }; if (((_local3.isSet(_local3.usePlugins)) && (_local3.isSet(_local3.doPlugins)))){ _local3.doPlugins(_local3); }; if (_local3.isSet(_local3.account)){ if (!_local3.isSet(_local3.pageURL)){ _local3.pageURL = _local3.getMovieURL(); }; if (((!(_local3.isSet(_local3.referrer))) && (!(_local3.isSet(_local3._1_referrer))))){ _local3.referrer = _local3.getMovieReferrer(); _local3._1_referrer = 1; }; _local10 = (_local10 + _local3.queryStringAccountVariables()); _local10 = (_local10 + _local3.queryStringLinkTracking()); _local10 = (_local10 + _local3.queryStringClickMap()); _local10 = (_local10 + _local3.queryStringTechnology()); _local3.makeRequest(_local8, _local10, "", _arg2); }; if (_local3.isSet(_arg1)){ _local3.variableOverridesApply(_local5); }; }; _local3.referrer = undefined; _local3.pe = undefined; _local3.pev1 = undefined; _local3.pev2 = undefined; _local3.pev3 = undefined; _local3.linkObject = undefined; _local3.linkURL = undefined; _local3.linkName = undefined; _local3.linkType = undefined; _local3.objectID = undefined; if (((!(_local4)) && (_local3.isSet(_local3.account)))){ if (((!(_local3.isSet(_arg2))) && (!(_local3.isSet(_local3.trackCalled))))){ _local3.trackCalled = true; _local3.flushBufferedRequests(); }; }; } public function get trackOnLoad():Boolean{ return (this._trackOnLoad); } private function callJavaScript(_arg1:String){ var s:Object; var e:Object; var script = _arg1; s = this; try { if (((((s.isSet(ExternalInterface)) && (s.isSet(ExternalInterface.available)))) && (s.isSet(ExternalInterface.call)))){ return (ExternalInterface.call(script)); }; } catch(e) { }; return (null); } private function getSharedObject(_arg1:String){ var o:Object; var encoding:Number; var tryNum:Number; var e:Object; var key = _arg1; o = null; tryNum = 0; while (((!(this.isSet(o))) && ((tryNum < 2)))) { try { encoding = SharedObject.defaultObjectEncoding; SharedObject.defaultObjectEncoding = ObjectEncoding.AMF0; o = SharedObject.getLocal(key, "/"); SharedObject.defaultObjectEncoding = encoding; o.objectEncoding = ObjectEncoding.AMF0; } catch(e) { }; tryNum = (tryNum + 1); }; return (o); } private function getVersion():String{ return (Capabilities.version); } private function makeRequest(_arg1:String, _arg2:String, _arg3:String, _arg4:String){ var _local5:Object; var _local6:*; var _local7:String; var _local8:String; var _local9:String; var _local10:String; var _local11:String; var _local12:Number; _local5 = this; _local6 = _local5.getMovieURL(); _local7 = _local5.trackingServer; _local8 = _local5.trackingServerBase; _local9 = _local5.dc; _local10 = "sc."; if (!_local5.isSet(_arg3)){ if (_local5.isSet(_local7)){ if (((_local5.isSet(_local5.trackingServerSecure)) && (_local5.isSet(_local5.ssl)))){ _local7 = _local5.trackingServerSecure; }; } else { _local11 = _local5.visitorNamespace; if (!_local5.isSet(_local11)){ _local11 = _local5.account; _local12 = _local11.indexOf(","); if (_local12 >= 0){ _local11 = _local11.substr(0, _local12); }; _local11 = _local11.split("_").join("-"); }; if (!_local5.isSet(_local8)){ _local8 = "2o7.net"; }; if (_local5.isSet(_local9)){ _local9 = _local9.toLowerCase(); } else { _local9 = "d1"; }; if (_local8 == "2o7.net"){ if (_local9 == "d1"){ _local9 = "112"; } else { if (_local9 == "d2"){ _local9 = "122"; }; }; _local10 = ""; }; _local7 = (((((_local11 + ".") + _local9) + ".") + _local10) + _local8); }; if (_local5.isSet(_local5.ssl)){ _arg3 = "https://"; } else { _arg3 = "http://"; }; _arg3 = (_arg3 + (((((((((((((_local7 + "/b/ss/") + _local5.account) + "/") + (_local5.mobile) ? "5.0" : "0") + "/") + _local5.version) + "-AS") + _local5.flashASVersion) + "/") + _arg1) + "?AQB=1&ndh=1&") + _arg2) + "&AQE=1")); if (_local5.isSet(_arg4)){ _local5.bufferRequest(_local5.account, _arg4, _arg3); return; }; }; if (((_local5.isSet(_local5.ssl)) && ((_arg3.toLowerCase().substr(0, 5) == "http:")))){ _arg3 = ("https:" + _arg3.substr(5)); }; if (((((((_local5.isSet(_local5.trackLocal)) || ((_local5.flashVersion < 8)))) || (!(_local5.isSet(_local6))))) || ((_local6.toLowerCase().substr(0, 4) == "http")))){ _local5.requestList.push(_arg3); if (((!(_local5.isSet(_local5.delayTracking))) || (((_local5.isSet(_local5.delayTrackingStage)) && ((_local5.delayTrackingStage == 2)))))){ _local5.flushRequestList(); } else { if (((_local5.isSet(_local5.delayTracking)) && (!(_local5.isSet(_local5.delayTrackingStage))))){ _local5.delayTrackingStage = 1; _local5.delayTrackingInterval = _local5.setupInterval(_local5, "delayTrackingDone", _local5.delayTracking, null); }; }; }; } public function replace(_arg1:String, _arg2:String, _arg3:String):String{ if (this.isSet(_arg1)){ if (_arg1.indexOf(_arg2) >= 0){ return (_arg1.split(_arg2).join(_arg3)); }; }; return (_arg1); } public function get configURL():String{ return (this._configURL); } private function queryStringClickMap():String{ var _local1:Object; var _local2:String; var _local3:String; var _local4:Number; var _local5:String; var _local6:Number; var _local7:String; _local1 = this; _local2 = ""; _local3 = _local1.pageName; _local4 = 1; _local5 = _local1.objectID; _local6 = 1; _local7 = "FLASH"; if (((((!(_local1.isSet(_local5))) && (_local1.isSet(_local1.linkObject)))) && (((_local1.isSet(_local1.linkObject, "name")) || (_local1.isSet(_local1.linkObject, "_name")))))){ _local5 = _local1.ClickMap.getObjectID(_local1.linkObject); }; if (!_local1.isSet(_local3)){ _local3 = _local1.pageURL; _local4 = 0; }; if (((((((_local1.isSet(_local1.trackClickMap)) && (_local1.isSet(_local3)))) && (_local1.isSet(_local5)))) && (_local1.isSet(_local7)))){ _local2 = (_local2 + ("&pid=" + escape(_local3))); _local2 = (_local2 + (_local1.isSet(_local4)) ? ("&pidt=" + escape(("" + _local4))) : ""); _local2 = (_local2 + ("&oid=" + escape(_local5.substr(0, 100)))); _local2 = (_local2 + (_local1.isSet(_local6)) ? ("&oidt=" + escape(("" + _local6))) : ""); _local2 = (_local2 + ("&ot=" + escape(_local7))); }; return (_local2); } private function bufferTrackCheck(){ var _local1:Object; var _local2:Number; var _local3:Object; _local1 = this; if (((((((!(_local1.isSet(_local1.bufferTrackQueue))) || ((_local1.bufferTrackQueue.length <= 0)))) || (!(_local1.isSet(_local1.configXML))))) || (_local1.isSet(_local1.configXML.loaded)))){ clearInterval(_local1.bufferTrackInterval); _local1.bufferTrackInterval = 0; if (_local1.isSet(_local1.bufferTrackQueue)){ _local2 = 0; while (_local2 < _local1.bufferTrackQueue.length) { _local3 = _local1.bufferTrackQueue[_local2]; if (_local1.isSet(_local3)){ _local1.variableOverridesApply(_local3.setVariables); _local1.track(_local3.variableOverrides, _local3.bufferedRequestID); }; _local2++; }; }; _local1.bufferTrackQueue = undefined; }; } private function queryStringTechnology():String{ var _local1:Object; var _local2:String; var _local3:Object; _local1 = this; _local2 = ""; _local3 = Capabilities; if (((((_local1.isSet(_local3)) && (_local1.isSet(_local3.screenResolutionX)))) && (_local1.isSet(_local3.screenResolutionY)))){ _local2 = (_local2 + ((("&s=" + _local3.screenResolutionX) + "x") + _local3.screenResolutionY)); }; return (_local2); } public function isSet(_arg1, _arg2:String=null):Boolean{ var e:Object; var val = _arg1; var mbr = _arg2; try { if (mbr != null){ val = val[mbr]; }; return (((((((((((!((val == null))) && (!((val == undefined))))) && (!((("" + val) == "NaN"))))) && (!((val == false))))) && (!((val == ""))))) && (!((val == 0))))); } catch(e) { }; return (false); } public function flushBufferedRequests(){ var _local1:*; _local1 = this; if (_local1.isSet(_local1.account)){ _local1._flushBufferedRequests(_local1.account); }; } public function setInterface(_arg1:Object){ var s:Object; var subInter:Object; var interReady:Function; var inter = _arg1; s = this; if (s.isSet(inter)){ if (s.isSet(inter, "root")){ s.movie = inter.root; } else { if (s.isSet(inter, "_root")){ s.movie = inter._root; } else { if (((s.isSet(inter, "getModule")) && (s.isSet(inter, "addEventListener")))){ subInter = inter.getModule("experience"); if (((s.isSet(subInter)) && (s.isSet(subInter, "getStage")))){ inter = subInter.getStage(); if (s.isSet(inter)){ s.movie = inter; }; } else { interReady = function (_arg1:Object){ s.setInterface(inter); }; inter.addEventListener("complete", subInter); }; } else { s.movie = inter; }; }; }; }; } private function bufferTrack(_arg1:Object, _arg2:String){ var _local3:Object; var _local4:Object; var _local5:Object; _local3 = this; if (((_local3.isSet(_local3.configXML)) && (!(_local3.isSet(_local3.configXML.loaded))))){ if (!_local3.isSet(_local3.bufferTrackQueue)){ _local3.bufferTrackQueue = new Array(); }; _local5 = new Object(); _local5.setVariables = new Object(); _local3.variableOverridesBuild(_local5.setVariables, true); if (_local3.isSet(_arg1)){ _local5.variableOverrides = new Object(); for (_local4 in _arg1) { _local5.variableOverrides[_local4] = _arg1[_local4]; }; }; _local5.bufferedRequestID = _arg2; _local3.bufferTrackQueue.push(_local5); if (!_local3.isSet(_local3.bufferTrackInterval)){ _local3.bufferTrackInterval = _local3.setupInterval(_local3, "bufferTrackCheck", 100, null); }; return (true); }; return (false); } private function queryStringAccountVariables():String{ var _local1:Object; var _local2:String; var _local3:Number; var _local4:Number; var _local5:String; var _local6:String; var _local7:*; var _local8:String; var _local9:String; var _local10:*; var _local11:*; var _local12:*; _local1 = this; _local2 = ""; _local10 = ""; _local11 = ""; _local12 = ""; if (((_local1.isSet(_local1.pe)) || (_local1.isSet(_local1.linkType)))){ _local10 = _local1.linkTrackVars; _local11 = _local1.linkTrackEvents; if (_local1.isSet(_local1.pe)){ _local12 = (_local1.pe.substr(0, 1).toUpperCase() + _local1.pe.substr(1)); if (_local1.isSet(_local1[_local12])){ _local10 = _local1[_local12].trackVars; _local11 = _local1[_local12].trackEvents; }; }; }; if (_local1.isSet(_local10)){ _local10 = (((("," + _local10) + ",") + _local1.requiredVarList.join(",")) + ","); }; if (_local1.isSet(_local11)){ _local11 = (("," + _local11) + ","); }; _local3 = 0; while (_local3 < _local1.accountVarList.length) { _local5 = _local1.accountVarList[_local3]; _local6 = _local1[_local5]; _local8 = _local5.substr(0, 4); _local9 = _local5.substr(4); if (((_local1.isSet(_local6)) && (((!(_local1.isSet(_local10))) || ((_local10.indexOf((("," + _local5) + ",")) >= 0)))))){ switch (_local5){ case "dynamicVariablePrefix": _local5 = "D"; break; case "visitorID": _local5 = "vid"; break; case "pageURL": _local5 = "g"; break; case "referrer": _local5 = "r"; break; case "vmk": case "visitorMigrationKey": _local5 = "vmt"; break; case "visitorMigrationServer": _local5 = "vmf"; if (((_local1.isSet(_local1.ssl)) && (_local1.isSet(_local1.visitorMigrationServerSecure)))){ _local6 = ""; }; break; case "visitorMigrationServerSecure": _local5 = "vmf"; if (((!(_local1.isSet(_local1.ssl))) && (_local1.isSet(_local1.visitorMigrationServer)))){ _local6 = ""; }; break; case "charSet": _local5 = "ce"; break; case "visitorNamespace": _local5 = "ns"; break; case "cookieDomainPeriods": _local5 = "cdp"; break; case "cookieLifetime": _local5 = "cl"; break; case "currencyCode": _local5 = "cc"; break; case "channel": _local5 = "ch"; break; case "transactionID": _local5 = "xact"; break; case "campaign": _local5 = "v0"; break; case "events": if (_local1.isSet(_local11)){ _local7 = _local6.split(","); _local6 = ""; _local4 = 0; while (_local4 < _local7.length) { if (_local11.indexOf((("," + _local7[_local4]) + ",")) >= 0){ _local6 = (_local6 + ((_local1.isSet(_local6)) ? "," : "" + _local7[_local4])); }; _local4++; }; }; break; default: if (_local1.isNumber(_local9)){ if (_local8 == "prop"){ _local5 = ("c" + _local9); } else { if (_local8 == "eVar"){ _local5 = ("v" + _local9); } else { if (_local8 == "list"){ _local5 = ("l" + _local9); } else { if (_local8 == "hier"){ _local5 = ("h" + _local9); _local6 = _local6.substr(0, 0xFF); }; }; }; }; }; break; }; if (_local1.isSet(_local6)){ _local2 = (_local2 + ((("&" + escape(_local5)) + "=") + ((_local5.substr(0, 3))!="pev") ? escape(_local6) : _local6)); }; }; _local3++; }; return (_local2); } public function isNumber(_arg1):Boolean{ return (!(isNaN(parseInt(_arg1)))); } private function doTrackOnLoad(){ var _local1:Object; _local1 = this; if (((!(_local1.isSet(_local1.account))) || (!(_local1.isSet(_local1.movie))))){ return; }; clearInterval(_local1.trackOnLoadInterval); if (((_local1._trackOnLoad) && (!(_local1.onLoadTracked)))){ _local1.onLoadTracked = true; _local1.track(); }; } public function flushBufferedRequest(_arg1:String, _arg2:String){ var _local3:Object; var _local4:Object; var _local5:Object; var _local6:Number; var _local7:String; _local3 = this; _local4 = _local3.getBufferedRequests(); if (((((_local3.isSet(_local4)) && (_local3.isSet(_local4.data)))) && (_local3.isSet(_local4.data.list)))){ _local6 = 0; while (_local6 < _local4.data.list.length) { _local5 = _local4.data.list[_local6]; if ((((_local5.account == _arg1)) && ((_local5.id == _arg2)))){ _local7 = _local4.data.list[_local6].request; _local4.data.list[_local6].account = ""; _local4.data.list[_local6].id = ""; _local4.data.list[_local6].request = ""; _local4.flush(); _local3.makeRequest("", "", _local7, ""); }; _local6++; }; }; } public function set trackOnLoad(_arg1:Boolean){ this._trackOnLoad = _arg1; if (this._trackOnLoad){ this.trackOnLoadInterval = this.setupInterval(this, "doTrackOnLoad", 100, null); }; } public function variableOverridesApply(_arg1:Object){ var _local2:Object; var _local3:Number; var _local4:String; var _local5:Array; _local2 = this; _local3 = 0; while (_local3 < _local2.accountVarList.length) { _local4 = _local2.accountVarList[_local3]; if (((_local2.isSet(_arg1[_local4])) || (_local2.isSet(_arg1[("!" + _local4)])))){ _local2[_local4] = _arg1[_local4]; }; _local3++; }; _local3 = 0; while (_local3 < _local2.accountConfigList.length) { _local4 = _local2.accountConfigList[_local3]; if (((_local2.isSet(_arg1[_local4])) || (_local2.isSet(_arg1[("!" + _local4)])))){ if ((((((((((((((_local4 == "trackDownloadLinks")) || ((_local4 == "trackExternalLinks")))) || ((_local4 == "trackClickMap")))) || ((_local4 == "linkLeaveQueryString")))) || ((_local4 == "autoTrack")))) || ((_local4 == "trackLocal")))) || ((_local4 == "debugTracking")))){ if (typeof(_arg1[_local4]) == "string"){ if (_arg1[_local4].toLowerCase() == "true"){ _arg1[_local4] = true; } else { _arg1[_local4] = false; }; } else { _arg1[_local4] = _local2.isSet(_arg1[_local4]); }; } else { if (_local4 == "delayTracking"){ if (typeof(_arg1[_local4]) == "string"){ _arg1[_local4] = parseInt(_arg1[_local4]); } else { if (typeof(_arg1[_local4]) != "number"){ _arg1[_local4] = 0; }; }; }; }; _local2[_local4] = _arg1[_local4]; }; _local3++; }; for (_local4 in _arg1) { if (_local4.indexOf(".") >= 0){ _local5 = _local4.split("."); if (_local5.length == 2){ if (((!(_local2.isSet(_arg1[_local5[0]]))) || (!((typeof(_arg1[_local5[0]]) == "object"))))){ _arg1[_local5[0]] = new Object(); }; _arg1[_local4][_local5[1]] = _arg1[_local4]; _local4 = _local5[0]; } else { _local4 = ""; }; }; }; for (_local4 in _arg1) { if (typeof(_arg1[_local4]) == "object"){ if (_local4 == "config"){ _local2.variableOverridesApply(_arg1[_local4]); } else { if ((((((((_local4.substr(0, 1) == _local4.substr(0, 1).toUpperCase())) && (_local2.isSet(_local2[_local4])))) && ("boolean"))) && (_local2.isSet(_local2[_local4].variableOverridesApply)))){ _local2[_local4].variableOverridesApply(_arg1[_local4]); }; }; }; }; } public function get useExternalVariables():Boolean{ return (this._useExternalVariables); } public function set moduleMediaVariables(_arg1:Object){ this._moduleMediaVariables = _arg1; this.modulesUpdate(); } private function setVariableCallHandler(){ var _local1:Object; var _local2:Object; var _local3:String; var _local4:String; var _local5:Array; var _local6:Number; var _local7:Array; var _local8:Object; var _local9:Number; _local1 = this; for (_local3 in _local1) { if (_local3.substr(0, 5) == "_svc_"){ _local5 = _local3.split("_"); if (((_local1.isSet(_local5)) && ((_local5.length >= 4)))){ if ((((_local5[3] == "dot")) && ((_local5.length > 4)))){ _local5[2] = (_local5[2] + ("_dot_" + _local5[4])); _local6 = 5; while (_local6 < _local5.length) { _local5[(_local6 - 2)] = _local5[_local6]; _local6++; }; }; _local8 = null; if (_local1.isSet(_local7)){ _local9 = 0; while (_local9 < _local7.length) { if (_local7[_local9].methodName == _local5[2]){ _local8 = _local7[_local9]; }; _local9++; }; }; if (!_local1.isSet(_local8)){ _local7 = new Array(); _local8 = new Object(); _local8.methodName = _local5[2]; _local7[0] = _local8; }; if (_local5[3] == "call"){ if (_local1.isSet(_local1[_local3])){ _local8.call = true; }; _local1[_local3] = null; } else { if ((((((_local5[3] == "param")) && ((_local5.length > 4)))) && (_local1.isSet(_local5[4])))){ if (!_local1.isSet(_local8.paramList)){ _local8.paramList = new Array(); }; _local8.paramList[_local5[4]] = _local1[_local3]; }; }; }; }; }; if (((_local1.isSet(_local7)) && ((_local7.length > 0)))){ _local9 = 0; while (_local9 < _local7.length) { _local8 = _local7[_local9]; if (((_local1.isSet(_local8.methodName)) && (_local1.isSet(_local8.call)))){ _local5 = _local8.methodName.split("_dot_"); if (_local5.length > 1){ _local2 = _local1[_local5[0]]; _local4 = _local5[1]; } else { _local2 = _local1; _local4 = _local8.methodName; }; if (_local1.isSet(_local2[_local4])){ if (((_local1.isSet(_local8.paramList)) && ((_local8.paramList.length > 0)))){ if (_local8.paramList.length == 1){ _local1[("_svc_result_" + _local8.methodName)] = _local2[_local4](_local8.paramList[0]); } else { if (_local8.paramList.length == 2){ _local1[("_svc_result_" + _local8.methodName)] = _local2[_local4](_local8.paramList[0], _local8.paramList[1]); } else { if (_local8.paramList.length == 3){ _local1[("_svc_result_" + _local8.methodName)] = _local2[_local4](_local8.paramList[0], _local8.paramList[1], _local8.paramList[2]); }; }; }; } else { _local1[(("_svc_" + _local8.methodName) + "_result")] = _local2[_local4](); }; }; }; _local9++; }; }; } private function getMovieClipURL(_arg1:Object):String{ var _local2:Object; _local2 = this; if (_local2.isSet(_arg1)){ if ((((((_local2.flashASVersion > 2)) && (_local2.isSet(_arg1, "loaderInfo")))) && (_local2.isSet(_arg1.loaderInfo, "loaderURL")))){ return (_arg1.loaderInfo.loaderURL); }; if (_local2.isSet(_arg1, "_url")){ return (_arg1._url); }; }; return (""); } public function get movie():Object{ return (this._movie); } private function getBufferedRequests(){ var s:Object; var bufferedRequests:Object; s = this; if (!s.isSet(s.disableBufferedRequests)){ bufferedRequests = s.getSharedObject("s_br"); }; if (!s.isSet(bufferedRequests)){ bufferedRequests = s.bufferedRequests; if (!s.isSet(bufferedRequests)){ s.bufferedRequests = new Object(); s.bufferedRequests.flush = function (){ }; bufferedRequests = s.bufferedRequests; }; }; return (bufferedRequests); } private function modulesInit(){ var _local1:Object; _local1 = this; _local1.ClickMap = new ActionSource_Module_ClickMap(_local1); _local1.Media = new ActionSource_Module_Media(_local1); _local1.modulesUpdate(); } private function modulesUpdate(){ var _local1:Object; var _local2:String; _local1 = this; if (_local1.isSet(_local1.Media)){ if (_local1.isSet(_local1._moduleMediaVariables)){ for (_local2 in _local1._moduleMediaVariables) { if (_local1.isSet(_local1._moduleMediaVariables[_local2])){ if ((((_local2 == "trackWhilePlaying")) || ((_local2 == "autoTrack")))){ if (("" + _local1._moduleMediaVariables[_local2]).toLowerCase() == "true"){ _local1._moduleMediaVariables[_local2] = true; } else { _local1._moduleMediaVariables[_local2] = false; }; }; _local1.Media[_local2] = _local1._moduleMediaVariables[_local2]; }; }; }; _local1.Media.autoTrack = _local1.Media.autoTrack; }; } public function track(_arg1:Object=null, _arg2:String=""){ this._track(_arg1, _arg2); } public function logDebug(_arg1:String){ trace(_arg1); this.callJavaScript((("function s_logDebug(){var e;try{console.log(\"" + this.replace(this.replace(_arg1, "\n", "\\n"), "\"", "\\\"")) + "\");}catch(e){}}")); } private function initPre(){ this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage); } public function get moduleMediaVariables():Object{ return (this._moduleMediaVariables); } public function getMovieURL():String{ var _local1:Object; var _local2:String; _local1 = this; _local2 = _local1.callJavaScript("function s_ActionSource_wl(){return window.location.href;}"); if (_local1.isSet(_local2)){ return (_local2); }; if (_local1.isSet(_local1.movie)){ return (_local1.getMovieClipURL(_local1.movie)); }; return (""); } public function set configURL(_arg1:String){ var _local2:Object; _local2 = this; if (_arg1 != _local2._configURL){ _local2._configURL = _arg1; if (_local2.isSet(_local2._configURL)){ if (!_local2.isSet(_local2.configXML)){ _local2.configXML = new ActionSource_XML(_local2); _local2.configXML.onDataReady = "variableOverridesApply"; }; _local2.configXML.url = _local2._configURL; }; }; } private function onAddedToStage(_arg1:Event){ if ((((parent == null)) || (!((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent"))))){ this.visible = false; this.movie = root; } else { this.flashLivePreview = true; }; } private function getMovieReferrer():String{ var _local1:Object; _local1 = this; return (_local1.callJavaScript((((((((((((((((((((((((("" + "function s_ActionSource_r(){") + "\tvar ") + "\t\tr = '',") + "\t\tw = window,") + "\t\te,") + "\t\tp,") + "\t\tl,") + "\t\te;") + "\tif ((w) && (w.document)) {") + "\t\tr = w.document.referrer;") + "\t\ttry {") + "\t\t\tp = w.parent;") + "\t\t\tl = w.location;") + "\t\t\twhile ((p) && (p.location) && (l) && (''+p.location != ''+l) && (w.location) && (''+p.location != ''+w.location) && (p.location.host == l.host)) {") + "\t\t\t\tw = p;") + "\t\t\t\tp = w.parent;") + "\t\t\t}") + "\t\t} catch (e) {}") + "\t\tif ((w) && (w.document)) {") + "\t\t\tr = w.document.referrer;") + "\t\t}") + "\t}") + "\treturn r;") + "}"))); } private function initPost(){ } public function trackLink(_arg1, _arg2:String, _arg3:String, _arg4:Object=null){ this._trackLink(_arg1, _arg2, _arg3, _arg4); } private function _flushBufferedRequests(_arg1:String){ var _local2:Object; var _local3:Object; var _local4:Object; var _local5:Number; _local2 = this; _local3 = _local2.getBufferedRequests(); if (((((_local2.isSet(_local3)) && (_local2.isSet(_local3.data)))) && (_local2.isSet(_local3.data.list)))){ _local5 = 0; while (_local5 < _local3.data.list.length) { _local4 = _local3.data.list[_local5]; if (_local4.account == _arg1){ _local2.flushBufferedRequest(_arg1, _local4.id); }; _local5++; }; }; } private function delayTrackingDone(){ var _local1:Object; _local1 = this; clearInterval(_local1.delayTrackingInterval); _local1.delayTrackingStage = 2; _local1.flushRequestList(); } } }//package com.omniture
Section 36
//ActionSource_Module_ClickMap (com.omniture.ActionSource_Module_ClickMap) package com.omniture { import flash.events.*; import flash.display.*; import flash.geom.*; import flash.external.*; public dynamic class ActionSource_Module_ClickMap { private var s:Object; private static var isExternalSet:Boolean = false; public function ActionSource_Module_ClickMap(_arg1:Object){ var m:Object; var e:Object; var s = _arg1; super(); m = this; m.s = s; m.s.addEventListener(Event.ADDED_TO_STAGE, m.onAddedToStage, false, 0, true); if (((ExternalInterface.available) && (!(m.isExternalSet)))){ m.isExternalSet = true; try { ExternalInterface.addCallback("s_getDOMIndex", m.getDOMIndex); ExternalInterface.addCallback("s_getTrackClickMap", m.getTrackClickMap); ExternalInterface.addCallback("s_getAccount", m.getAccount); ExternalInterface.addCallback("s_getPageName", m.getPageName); ExternalInterface.addCallback("s_getPageURL", m.getPageURL); ExternalInterface.addCallback("s_getMovieID", m.getMovieID); ExternalInterface.addCallback("s_getVersion", m.getVersion); ExternalInterface.addCallback("s_getCharSet", m.getCharSet); ExternalInterface.addCallback("s_getSWFURL", m.getSWFURL); } catch(e) { }; }; } public function getSWFURL(){ var _local1:Object; _local1 = this; if (_local1.s.isSet(s.movie)){ if (((_local1.s.isSet(_local1.s.movie.loaderInfo)) && (_local1.s.isSet(_local1.s.movie.loaderInfo.loaderURL)))){ return (_local1.s.movie.loaderInfo.loaderURL); }; if (_local1.s.isSet(_local1.s.movie._url)){ return (_local1.s.movie._url); }; }; return (""); } public function getVersion(){ var _local1:Object; _local1 = this; return (_local1.s.version); } private function parentLocalToGlobal(_arg1:DisplayObject, _arg2:Object){ var _local3:*; _local3 = new Point(_arg2.x, _arg2.y); _arg1.parent.localToGlobal(_local3); _arg2.x = _local3.x; _arg2.y = _local3.y; } private function getFullPath(_arg1:DisplayObject){ var _local2:String; var _local3:String; var _local4:Array; _local4 = new Array(); do { _local4.splice(0, 0, _arg1.name); _arg1 = _arg1.parent; } while (_arg1.parent != null); _local2 = _local4.join("."); _local3 = _local2.substr((_local2.length - 4), 4); if ((((_local3 == ".frs")) || ((_local3 == ".fds")))){ _local2 = _local2.substr(0, (_local2.length - 4)); }; return (_local2); } public function getObjectID(_arg1:Object){ var _local2:Object; var _local3:String; var _local4:String; _local2 = this; _local3 = _local2.getMovieID(); _local4 = ""; _local4 = _local2.getFullPath(_arg1); if (_local2.s.isSet(_local4)){ _local4 = (((_local2.s.isSet(_local3)) ? _local3 : "" + ":") + _local4); }; return (_local4); } public function getMovieID(){ var _local1:Object; var _local2:String; var _local3:String; var _local4:Number; var _local5:Number; _local1 = this; _local2 = _local1.getSWFURL(); _local3 = s.movieID; if (((!(_local1.s.isSet(_local3))) && (_local1.s.isSet(_local2)))){ _local4 = _local2.lastIndexOf("/"); _local5 = _local2.lastIndexOf("."); if (_local4 >= 0){ _local4++; } else { _local4 = 0; }; if (_local5 >= 0){ _local5 = (_local5 - _local4); } else { _local5 = _local2.length; }; _local3 = _local2.substr(_local4, _local5); }; if (!_local1.s.isSet(_local3)){ _local3 = "movieID undefined"; }; return (_local3); } public function getIndex(){ var _local1:Object; var _local2:String; _local1 = this; if (_local1.s.isSet(_local1.s.movie)){ _local2 = (((_local1.s.movie.stage.stageWidth + ",") + _local1.s.movie.stage.stageHeight) + _local1.indexChildren(_local1.s.movie)); return (_local2); }; return (""); } private function sendClickMapEvent(_arg1:Object){ var _local2:Object; var _local3:String; var _local4:String; var _local5:String; var _local6:Number; _local2 = this; _local3 = _local2.s.getMovieURL(); _local4 = _local2.getMovieID(); if (_local2.s.isSet(_local2.s.trackClickMap)){ _local2.s.objectID = _local2.getObjectID(_arg1); }; if (_local2.s.autoTrack){ _local5 = _local3; _local6 = _local5.indexOf("?"); if (_local6 >= 0){ _local5 = _local5.substr(0, _local6); }; if (_local5.length > (100 - 23)){ _local5 = _local5.substr(-((100 - 23))); }; _local2.s.trackLink(_local3, "o", ("ActionSource.AutoTrack:" + _local5)); }; } private function nodeShift(_arg1:DisplayObject, _arg2:Number, _arg3:Number){ _arg1.x = _arg2; _arg1.y = _arg3; } private function parentGetBounds(_arg1:DisplayObject){ var _local2:*; var _local3:*; _local2 = _arg1.parent.getBounds(_arg1.parent); _local3 = new Object(); _local3.xMin = _local2.x; _local3.yMin = _local2.y; _local3.xMax = (_local2.x + _local2.width); _local3.yMax = (_local2.y + _local2.height); return (_local3); } private function onAddedToStage(_arg1:Event):void{ var _local2:Object; _local2 = this; _local2.s.root.addEventListener(MouseEvent.CLICK, _local2.onMouseClick, true, 0, true); } private function getDOMID(_arg1:Object){ var _local2:Object; var _local3:Object; _local2 = this; if (_local2.s.isSet(_arg1)){ _local3 = _local2.getGeom(_arg1); return (((((((((_local2.getFullPath(_arg1) + ",") + _local3.x) + ",") + _local3.y) + ",") + _local3.w) + ",") + _local3.h)); }; return (""); } private function onMouseClick(_arg1:MouseEvent):void{ var m:Object; var e:Object; var event = _arg1; m = this; try { m.sendClickMapEvent(InteractiveObject(event.target)); } catch(e) { }; } public function getPageURL(){ var _local1:Object; _local1 = this; return (_local1.s.pageURL); } public function getDOMIndex(){ var _local1:Object; _local1 = this; return (_local1.getIndex()); } public function getTrackClickMap(){ var _local1:Object; _local1 = this; return (_local1.s.trackClickMap.toString()); } private function indexChildren(_arg1:DisplayObjectContainer):String{ var _local2:Object; var _local3:String; var _local4:Number; var _local5:DisplayObject; _local2 = this; _local3 = new String(); _local4 = 0; while (_local4 < _arg1.numChildren) { _local5 = _arg1.getChildAt(_local4); if (_local2.s.isSet(_local5)){ _local3 = (_local3 + ("|" + _local2.getDOMID(_local5))); if ((_local5 is DisplayObjectContainer)){ _local3 = (_local3 + _local2.indexChildren(DisplayObjectContainer(_local5))); }; }; _local4++; }; return (_local3); } private function nodePos(_arg1:DisplayObject){ var _local2:*; _local2 = new Object(); _local2.x = _arg1.x; _local2.y = _arg1.y; return (_local2); } public function getCharSet(){ var _local1:Object; _local1 = this; return (_local1.s.charSet); } public function getAccount(){ var _local1:Object; _local1 = this; return (_local1.s.account); } private function getGeom(_arg1:Object){ var _local2:Object; var _local3:Object; var _local4:Object; var _local5:Object; var _local6:Object; var _local7:Object; var _local8:Object; var _local9:Object; _local2 = this; _local3 = new Object(); _local4 = null; _local3.x = 0; _local3.y = 0; _local3.w = 0; _local3.h = 0; if (((_local2.s.isSet(_arg1)) && (((_local2.s.isSet(_arg1, "_parent")) || (_local2.s.isSet(_arg1, "parent")))))){ if (s.isSet(_arg1, "_parent")){ _local4 = _local2.getGeom(_arg1._parent); } else { if (s.isSet(_arg1, "parent")){ _local4 = _local2.getGeom(_arg1.parent); }; }; if (((((((((((_local2.s.isSet(_arg1, "size")) && ((typeof(_arg1.size) == "function")))) && (_local2.s.isSet(_arg1, "__width")))) && (_local2.s.isSet(_arg1, "__height")))) && (!((_arg1.__width == _arg1._width))))) && (!((_arg1.__height == _arg1._height))))){ _arg1.size(); }; if (((_local2.s.isSet(_arg1, "width")) && (_local2.s.isSet(_arg1, "height")))){ _local3.x = _arg1.x; _local3.y = _arg1.y; _local2.parentLocalToGlobal(_arg1, _local3); _local3.w = _arg1.width; _local3.h = _arg1.height; } else { _local7 = _local2.parentGetBounds(_arg1); _local5 = _local2.nodePos(_arg1); _local6 = _local2.nodePos(_arg1); _local2.nodeShift(_arg1, _local7.xMin, _local7.yMin); _local8 = _local2.parentGetBounds(_arg1); _local2.nodeShift(_arg1, _local7.xMax, _local7.yMax); _local9 = _local2.parentGetBounds(_arg1); _local2.nodeShift(_arg1, _local5.x, _local5.y); _local5.x = (_local5.x + (_local8.xMin - _local7.xMin)); _local5.y = (_local5.y + (_local8.yMin - _local7.yMin)); _local6.x = (_local6.x + (_local9.xMax - _local7.xMax)); _local6.y = (_local6.y + (_local9.yMax - _local7.yMax)); _local2.parentLocalToGlobal(_arg1, _local5); _local2.parentLocalToGlobal(_arg1, _local6); _local3.x = _local5.x; _local3.y = _local5.y; _local3.w = (_local6.x - _local5.x); _local3.h = (_local6.y - _local5.y); }; if (((((_local2.s.isSet(_local4)) && (_local2.s.isSet(_local4.x)))) && (_local2.s.isSet(_local4.y)))){ _local3.x = (_local3.x + _local4.x); _local3.y = (_local3.y + _local4.y); }; _local3.x = Math.round(_local3.x); _local3.y = Math.round(_local3.y); _local3.w = Math.ceil(_local3.w); _local3.h = Math.ceil(_local3.h); }; return (_local3); } public function getPageName(){ var _local1:Object; _local1 = this; return (_local1.s.pageName); } } }//package com.omniture
Section 37
//ActionSource_Module_Media (com.omniture.ActionSource_Module_Media) package com.omniture { import flash.utils.*; public dynamic class ActionSource_Module_Media { private var autoTrackDone:Boolean;// = false public var playerName:String; public var trackVars:String; private var list:Object; private var monitorList:Array; public var trackWhilePlaying:Boolean;// = false public var trackMilestones:String;// = "" public var trackSeconds:Number;// = 0 private var autoTrackInterval:Number; public var trackEvents:String; private var _autoTrack:Boolean;// = false private var s:Object; public function ActionSource_Module_Media(_arg1:Object){ var _local2:Object; trackWhilePlaying = false; trackSeconds = 0; trackMilestones = ""; _autoTrack = false; autoTrackDone = false; super(); _local2 = this; _local2.s = _arg1; _local2.monitorList = null; } public function listenerMedia_scrubbing(_arg1){ this.listenerMedia.scrubbing(_arg1); } public function stop(_arg1:String, _arg2:Number){ this.event(_arg1, 2, _arg2); } public function listenerBrightcove_seek(_arg1){ this.listenerBrightcove.seek(_arg1); } public function doAutoTrack(){ var _local1:Object; _local1 = this; if (((!(_local1.s.isSet(_local1.s.account))) || (!(_local1.s.isSet(_local1.s.movie))))){ return; }; clearInterval(_local1.autoTrackInterval); if (((_local1._autoTrack) && (!(_local1.autoTrackDone)))){ if (_local1.attach(_local1.s.movie)){ _local1.autoTrackDone = true; } else { _local1.autoTrackInterval = _local1.s.setupInterval(this, "doAutoTrack", 1000, null); }; }; } public function listenerMedia_click(_arg1){ this.listenerMedia.click(_arg1); } private function event(_arg1:String, _arg2:Number, _arg3:Number){ var _local4:Object; var _local5:Object; var _local6:Date; var _local7:Number; var _local8:Number; var _local9:String; var _local10:Array; var _local11:Number; var _local12:String; var _local13:Boolean; var _local14:String; var _local15:String; var _local16:String; var _local17:String; var _local18:String; var _local19:Object; _local4 = this; _local6 = new Date(); _local7 = Math.floor((_local6.getTime() / 1000)); _local8 = _local4.trackSeconds; _local9 = _local4.trackMilestones; _local12 = "--**--"; _local13 = true; _local14 = null; _local15 = _local4.trackVars; _local16 = _local4.trackEvents; _local17 = "media"; _local19 = new Object(); _arg1 = _local4.cleanName(_arg1); _local5 = (((((_local4.s.isSet(_arg1)) && (_local4.s.isSet(_local4.list)))) && (_local4.s.isSet(_local4.list[_arg1])))) ? _local4.list[_arg1] : null; if (_local4.s.isSet(_local5)){ _local19.name = _arg1; _local19.length = _local5.length; _local19.playerName = _local5.playerName; if (_local5.lastTrackOffset < 0){ _local19.event = "OPEN"; } else { _local19.event = ((_arg2 == 1)) ? "PLAY" : ((_arg2 == 2)) ? "STOP" : ((_arg2 == 3)) ? "MONITOR" : "CLOSE"; }; _local19.openTime = new Date(); _local19.openTime.setTime((_local5.timestamp * 1000)); if ((((_arg2 > 2)) || (((!((_arg2 == _local5.lastEventType))) && (((!((_arg2 == 2))) || ((_local5.lastEventType == 1)))))))){ _local14 = ("Media." + _arg1); _local18 = (((((("" + escape(_local5.name)) + _local12) + _local5.length) + _local12) + escape(_local5.playerName)) + _local12); if (_local4.s.isSet(_arg2)){ if ((((_arg3 < 0)) && ((_local5.lastEventTimestamp > 0)))){ _arg3 = ((_local7 - _local5.lastEventTimestamp) + _local5.lastEventOffset); _arg3 = ((_arg3 < _local5.length)) ? _arg3 : (_local5.length - 1); }; _arg3 = Math.floor(_arg3); if ((((_arg2 >= 2)) && ((_local5.lastEventOffset < _arg3)))){ _local5.timePlayed = (_local5.timePlayed + (_arg3 - _local5.lastEventOffset)); _local5.timePlayedSinseTrack = (_local5.timePlayedSinseTrack + (_arg3 - _local5.lastEventOffset)); }; if (_arg2 <= 2){ _local5.session = (_local5.session + (((_arg2 == 1)) ? "S" : "E" + _arg3)); _local5.lastEventType = _arg2; } else { if (_local5.lastEventType != 1){ _local4.event(_arg1, 1, _arg3); }; }; _local5.lastEventTimestamp = _local7; _local5.lastEventOffset = _arg3; _local18 = (_local18 + ((((((("" + _local5.timePlayed) + _local12) + _local5.timestamp) + _local12) + (((_local4.s.isSet(_local4.trackWhilePlaying)) && ((_local5.lastTrackOffset >= 0)))) ? ("L" + _local5.lastTrackOffset) : "") + _local5.session) + ((_arg2)!=2) ? ((_local4.s.isSet(_local4.trackWhilePlaying)) ? "L" : "E" + _arg3) : "")); if (_local4.s.isSet(_local4.trackWhilePlaying)){ _local14 = null; _local17 = "m_o"; if (_arg2 != 4){ _local19.offset = _arg3; _local19.percent = (((_local19.offset + 1) / _local19.length) * 100); _local19.percent = ((_local19.percent > 100)) ? 100 : Math.floor(_local19.percent); _local19.timePlayed = _local5.timePlayed; if (_local4.s.isSet(_local4.monitor)){ _local4.monitor(_local4.s, _local19); }; }; if (_local5.lastTrackOffset < 0){ _local17 = "m_s"; } else { if (_arg2 == 4){ _local17 = "m_i"; } else { _local13 = false; _local16 = "None"; _local15 = _local16; _local8 = (_local4.s.isSet(_local8)) ? parseInt(("" + _local8)) : 0; _local10 = (_local4.s.isSet(_local9)) ? _local9.split(",") : null; if (((_local4.s.isSet(_local8)) && ((_local5.timePlayedSinseTrack >= _local8)))){ _local13 = true; } else { if (_local4.s.isSet(_local10)){ if (_arg3 < _local5.lastTrackOffset){ _local5.lastTrackOffset = _arg3; } else { _local11 = 0; while (_local11 < _local10.length) { _local8 = (_local4.s.isSet(_local10[_local11])) ? parseInt(("" + _local10[_local11])) : 0; if (((((_local4.s.isSet(_local8)) && ((((_local5.lastTrackOffset + 1) / _local5.length) < (_local8 / 100))))) && ((((_arg3 + 1) / _local5.length) >= (_local8 / 100))))){ _local13 = true; _local11 = _local10.length; }; _local11++; }; }; }; }; }; }; }; } else { _local4.event(_arg1, 2, -1); if (_local4.s.isSet(_local4.trackWhilePlaying)){ _local19.offset = _local5.lastEventOffset; _local19.percent = (((_local19.offset + 1) / _local19.length) * 100); _local19.percent = ((_local19.percent > 100)) ? 100 : Math.floor(_local19.percent); _local19.timePlayed = _local5.timePlayed; if (_local4.s.isSet(_local4.monitor)){ _local4.monitor(_local4.s, _local19); }; }; _local4.list[_arg1] = 0; if (_local4.s.isSet(_local5.session)){ _local18 = (_local18 + (((((("" + _local5.timePlayed) + _local12) + _local5.timestamp) + _local12) + (((_local4.s.isSet(_local4.trackWhilePlaying)) && ((_local5.lastTrackOffset >= 0)))) ? ("L" + _local5.lastTrackOffset) : "") + _local5.session)); if (_local4.s.isSet(_local4.trackWhilePlaying)){ _local16 = "None"; _local15 = _local16; _local17 = "m_o"; } else { _local13 = false; _local4.s.flushBufferedRequest(_local4.s.account, _local14); }; } else { _local13 = false; }; _local14 = null; }; if (_local13){ _local4.s.track({linkTrackVars:_local15, linkTrackEvents:_local16, pe:_local17, pev3:_local18}, _local14); if (_local4.s.isSet(_local4.trackWhilePlaying)){ _local5.timePlayedSinseTrack = 0; _local5.lastTrackOffset = _arg3; _local5.session = ""; }; }; }; }; } public function listenerMedia_complete(_arg1){ this.listenerMedia.complete(_arg1); } public function listenerFLVPlayback_complete(_arg1){ this.listenerFLVPlayback.complete(_arg1); } public function variableOverridesApply(_arg1:Object){ var _local2:Object; var _local3:String; _local2 = this; for (_local3 in _arg1) { if ((((_local3 == "autoTrack")) || ((_local3 == "trackWhilePlaying")))){ if (typeof(_arg1[_local3]) == "string"){ if (_arg1[_local3].toLowerCase() == "true"){ _arg1[_local3] = true; } else { _arg1[_local3] = false; }; } else { if (typeof(_arg1[_local3]) != "boolean"){ _arg1[_local3] = false; }; }; } else { if (_local3 == "trackSeconds"){ if (typeof(_arg1[_local3]) == "string"){ (_arg1[_local3] == parseInt(_arg1[_local3])); } else { if (typeof(_arg1[_local3]) != "number"){ (_arg1[_local3] == 0); }; }; }; }; if ((((((((typeof(_arg1[_local3]) == "string")) || ((typeof(_arg1[_local3]) == "number")))) || ((typeof(_arg1[_local3]) == "boolean")))) && ((((((((((((((_local3 == "autoTrack")) || ((_local3 == "trackWhilePlaying")))) || ((_local3 == "trackSeconds")))) || ((_local3 == "trackMilestones")))) || ((_local3 == "playerName")))) || ((_local3 == "trackVars")))) || ((_local3 == "trackEvents")))))){ _local2[_local3] = _arg1[_local3]; }; }; } private function startMonitor(_arg1:Object){ var m:Object; var monitorNum:Number; var nextMonitorNum:Number; var monitor = _arg1; m = this; nextMonitorNum = 0; if (m.s.isSet(m.monitorList)){ nextMonitorNum = -1; monitorNum = 0; while (monitorNum < m.monitorList.length) { if (m.s.isSet(m.monitorList[monitorNum])){ if (((((((m.s.isSet(m.monitorList[monitorNum].node)) && (m.s.isSet(monitor)))) && (m.s.isSet(monitor.node)))) && ((m.monitorList[monitorNum].node == monitor.node)))){ return; }; } else { if (nextMonitorNum < 0){ nextMonitorNum = monitorNum; }; }; monitorNum = (monitorNum + 1); }; if (nextMonitorNum < 0){ nextMonitorNum = m.monitorList.length; }; } else { m.monitorList = new Array(); }; monitor.update = function (_arg1:Object){ if ((((((((((((_arg1.m == null)) || ((_arg1.m == undefined)))) || ((_arg1.m.s == null)))) || ((_arg1.m.s == undefined)))) || ((_arg1.node == null)))) || ((_arg1.node == undefined)))){ clearInterval(_arg1.interval); _arg1.m.monitorList[_arg1.num] = null; } else { _arg1.monitor(); }; }; monitor.interval = m.s.setupInterval(monitor, "update", 5000, monitor); monitor.num = nextMonitorNum; m.monitorList[monitor.num] = monitor; } private function _open(_arg1:String, _arg2:Number, _arg3:String, _arg4:Object){ var _local5:Object; var _local6:Object; var _local7:Date; var _local8:String; var _local9:String; _local5 = this; _local6 = new Object(); _local7 = new Date(); _local8 = ""; _arg1 = _local5.cleanName(_arg1); _arg2 = Math.floor(_arg2); if (!_local5.s.isSet(_arg2)){ _arg2 = 1; }; if (((_local5.s.isSet(_arg1)) && (_local5.s.isSet(_arg3)))){ if (!_local5.s.isSet(_local5.list)){ _local5.list = new Object(); }; if (_local5.s.isSet(_local5.list[_arg1])){ _local5.close(_arg1); }; if (_local5.s.isSet(_arg4)){ _local8 = ("" + _arg4); }; for (_local9 in _local5.list) { if (((_local5.s.isSet(_local5.list[_local9])) && ((_local5.list[_local9].playerID == _local8)))){ _local5.close(_local5.list[_local9].name); }; }; _local6.name = _arg1; _local6.length = _arg2; _local6.playerName = _local5.cleanName((_local5.s.isSet(_local5.playerName)) ? _local5.playerName : _arg3); _local6.playerID = _local8; _local6.timePlayed = 0; _local6.timePlayedSinseTrack = 0; _local6.timestamp = Math.floor((_local7.getTime() / 1000)); _local6.lastEventType = 0; _local6.lastEventTimestamp = _local6.timestamp; _local6.lastEventOffset = 0; _local6.session = ""; _local6.lastTrackOffset = -1; _local5.list[_arg1] = _local6; }; } private function autoEvent(_arg1:String, _arg2:Number, _arg3:String, _arg4:Number, _arg5:Number, _arg6:Object){ var _local7:Object; _local7 = this; _arg1 = _local7.cleanName(_arg1); if (((((_local7.s.isSet(_arg1)) && (_local7.s.isSet(_arg2)))) && (_local7.s.isSet(_arg3)))){ if (((!(_local7.s.isSet(_local7.list))) || (!(_local7.s.isSet(_local7.list[_arg1]))))){ _local7.open(_arg1, _arg2, _arg3, _arg6); }; _local7.event(_arg1, _arg4, _arg5); }; } public function play(_arg1:String, _arg2:Number){ var m:Object; var media:Object; var monitor:Object; var name = _arg1; var offset = _arg2; m = this; m.event(name, 1, offset); monitor = new Object(); monitor.m = m; monitor.node = m.cleanName(name); monitor.monitor = function (){ var _local1:Object; var _local2:Object; var _local3:Object; _local1 = this.m; _local2 = this.node; _local3 = (((((_local1.s.isSet(_local2)) && (_local1.s.isSet(_local1.list)))) && (_local1.s.isSet(_local1.list[_local2])))) ? _local1.list[_local2] : null; if (_local1.s.isSet(_local3)){ if (_local3.lastEventType == 1){ _local1.event(_local3.name, 3, -1); }; } else { this.node = null; }; }; m.startMonitor(monitor); } public function set autoTrack(_arg1:Boolean){ this._autoTrack = _arg1; if (this._autoTrack){ this.autoTrackInterval = this.s.setupInterval(this, "doAutoTrack", 100, null); }; } public function listenerFLVPlayback_stateChange(_arg1){ this.listenerFLVPlayback.stateChange(_arg1); } public function listenerBrightcove_videoStart(_arg1){ this.listenerBrightcove.videoStart(_arg1); } public function listenerMedia_change(_arg1){ this.listenerMedia.change(_arg1); } private function attach(_arg1:Object):Boolean{ var m:Object; var member:String; var childNum:Number; var player:Object; var monitor:Object; var attached:Boolean; var subAttached:Boolean; var node = _arg1; m = this; attached = false; if (m.s.isSet(node)){ if (((m.s.isSet(node, "getModule")) || (m.s.isSet(node, "showBrightcoveMenu")))){ player = node; if ((((m.s.flashASVersion > 2)) && (m.s.isSet(node, "getModule")))){ player = node.getModule("experience"); if (((((m.s.isSet(player)) && (m.s.isSet(player, "getReady")))) && (player.getReady()))){ player = node.getModule("videoPlayer"); } else { player = undefined; }; }; if (((s.isSet(player)) && (s.isSet(player, "addEventListener")))){ if (!m.s.isSet(m.listenerBrightcove)){ m.listenerBrightcove = new Object(); m.listenerBrightcove.m = m; m.listenerBrightcove.playerName = "Brightcove"; if (m.s.flashASVersion > 2){ m.listenerBrightcove.playerName = (m.listenerBrightcove.playerName + " 3"); } else { m.listenerBrightcove.playerName = (m.listenerBrightcove.playerName + " 2"); }; m.listenerBrightcove.handleEvent = function (_arg1:Object, _arg2:Number, _arg3:Number){ var _local4:Object; var _local5:String; var _local6:Number; var _local7:Object; _local4 = this.m; if (((_local4.s.isSet(_local4.autoTrack)) && (_local4.s.isSet(_arg1)))){ if (_local4.s.flashASVersion > 2){ _local7 = _arg1.getCurrentVideo(); } else { _local7 = _arg1.getCurrentTitle(); }; if (((_local4.s.isSet(_local7)) && (_local4.s.isSet(_local7.id)))){ _local5 = ((this.playerName + ":") + _local7.id); _local6 = (_local7.length / 1000); if (_arg3 < 0){ _arg3 = _arg1.getVideoPosition(); }; if (!_local4.s.isSet(_arg3)){ _arg3 = 0; }; _local4.autoEvent(_local5, _local6, this.playerName, _arg2, _arg3, _arg1); }; }; }; m.listenerBrightcove.videoProgress = (m.listenerBrightcove.videoStart = (m.listenerBrightcove.progress = (m.listenerBrightcove.play = function (_arg1){ if (((((((this.m.s.isSet(_arg1)) && (this.m.s.isSet(_arg1.target)))) && (this.m.s.isSet(_arg1.target.isPlaying)))) && (_arg1.target.isPlaying()))){ this.handleEvent(_arg1.target, 1, ((typeof(_arg1.position) == "number")) ? _arg1.position : -1); }; }))); m.listenerBrightcove.videoStop = (m.listenerBrightcove.startBuffering = (m.listenerBrightcove.pause = (m.listenerBrightcove.buffering = (m.listenerBrightcove.scrubber = (m.listenerBrightcove.seek = function (_arg1){ if (this.m.s.isSet(_arg1)){ this.handleEvent(_arg1.target, 2, -1); }; }))))); m.listenerBrightcove.videoComplete = (m.listenerBrightcove.mediaComplete = function (_arg1){ if (this.m.s.isSet(_arg1)){ this.handleEvent(_arg1.target, 0, -1); }; }); }; if (m.s.flashASVersion > 2){ player.addEventListener("videoProgress", m.listenerBrightcove_videoProgress); player.addEventListener("videoStart", m.listenerBrightcove_videoStart); player.addEventListener("videoStop", m.listenerBrightcove_videoStop); player.addEventListener("startBuffering", m.listenerBrightcove_startBuffering); player.addEventListener("seek", m.listenerBrightcove_seek); player.addEventListener("videoComplete", m.listenerBrightcove_videoComplete); } else { player.addEventListener("progress", m.listenerBrightcove, "progress"); player.addEventListener("play", m.listenerBrightcove, "play"); player.addEventListener("pause", m.listenerBrightcove, "pause"); player.addEventListener("buffering", m.listenerBrightcove, "buffering"); player.addEventListener("scrubber", m.listenerBrightcove, "scrubber"); player.addEventListener("seek", m.listenerBrightcove, "seek"); player.addEventListener("mediaComplete", m.listenerBrightcove, "mediaComplete"); }; monitor = new Object(); monitor.m = m; monitor.node = player; monitor.monitor = function (){ var _local1:Object; var _local2:Object; _local1 = this.m; _local2 = this.node; if (((_local1.s.isSet(_local2.isPlaying)) && (_local2.isPlaying()))){ this.m.listenerBrightcove.handleEvent(_local2, 3, -1); }; }; m.startMonitor(monitor); attached = true; return (attached); }; }; if (((((((((0) && (m.s.isSet(node, "flvVideo")))) && (m.s.isSet(node.flvVideo, "mBandwidthDetector")))) && (m.s.isSet(node.flvVideo.mBandwidthDetector, "mVideoPlayer")))) && (m.s.isSet(node.flvVideo.mBandwidthDetector.mVideoPlayer, "addEventListener")))){ node = node.flvVideo.mBandwidthDetector.mVideoPlayer; if (!m.s.isSet(m.listenerMaven)){ m.listenerMaven = new Object(); m.listenerMaven.m = m; m.listenerMaven.playerName = "Maven Networks"; m.listenerMaven.handleEvent = function (_arg1:Object, _arg2:Number){ var _local3:Object; var _local4:String; var _local5:Number; var _local6:Number; _local3 = this.m; if (((_local3.s.isSet(_local3.autoTrack)) && (_local3.s.isSet(_arg1)))){ if (_local3.s.flashASVersion > 2){ _local4 = _arg1.source; } else { _local4 = _arg1.contentPath; }; _local5 = _arg1.totalTime; _local6 = _arg1.playheadTime; _local3.autoEvent(_local4, _local5, this.playerName, _arg2, _local6, _arg1); }; }; m.listenerMaven.stateChange = function (_arg1){ var _local2:Object; var _local3:Number; var _local4:Object; _local2 = this.m; _local3 = -1; if (((_local2.s.isSet(_arg1)) && (_local2.s.isSet(_arg1.target)))){ _local4 = _arg1.target; if (_local2.s.isSet(_local4, "state")){ if (_local4.state == "playing"){ _local3 = 1; } else { if ((((((((((_local4.state == "stopped")) || ((_local4.state == "paused")))) || ((_local4.state == "buffering")))) || ((_local4.state == "rewinding")))) || ((_local4.state == "seeking")))){ _local3 = 2; }; }; if (_local3 >= 0){ this.handleEvent(_arg1.target, _local3); }; }; }; }; m.listenerMaven.complete = function (_arg1){ if (this.m.s.isSet(_arg1)){ this.handleEvent(_arg1.target, 0); }; }; }; if (m.s.flashASVersion > 2){ node.addEventListener("complete", m.listenerMaven_complete); node.addEventListener("stateChange", m.listenerMaven_stateChange); } else { node.addEventListener("complete", m.listenerMaven); node.addEventListener("stateChange", m.listenerMaven); }; monitor = new Object(); monitor.m = m; monitor.node = node; monitor.monitor = function (){ var _local1:Object; var _local2:Object; _local1 = this.m; _local2 = this.node; if (((_local1.s.isSet(_local2.state)) && ((_local2.state == "playing")))){ this.m.listenerMaven.handleEvent(_local2, 3); }; }; m.startMonitor(monitor); attached = true; return (attached); }; if (((m.s.isSet(node, "addEventListener")) && (m.s.isSet(node, "isFLVCuePointEnabled")))){ if (!m.s.isSet(m.listenerFLVPlayback)){ m.listenerFLVPlayback = new Object(); m.listenerFLVPlayback.m = m; m.listenerFLVPlayback.playerName = "Flash FLVPlayback"; m.listenerFLVPlayback.handleEvent = function (_arg1:Object, _arg2:Number){ var _local3:Object; var _local4:String; var _local5:Number; var _local6:Number; _local3 = this.m; if (((_local3.s.isSet(_local3.autoTrack)) && (_local3.s.isSet(_arg1)))){ if (_local3.s.flashASVersion > 2){ _local4 = _arg1.source; } else { _local4 = _arg1.contentPath; }; _local5 = _arg1.totalTime; _local6 = _arg1.playheadTime; _local3.autoEvent(_local4, _local5, this.playerName, _arg2, _local6, _arg1); }; }; m.listenerFLVPlayback.stateChange = function (_arg1){ var _local2:Object; var _local3:Number; var _local4:Object; _local2 = this.m; _local3 = -1; if (((_local2.s.isSet(_arg1)) && (_local2.s.isSet(_arg1.target)))){ _local4 = _arg1.target; if (_local2.s.isSet(_local4, "state")){ if (_local4.state == "playing"){ _local3 = 1; } else { if ((((((((((_local4.state == "stopped")) || ((_local4.state == "paused")))) || ((_local4.state == "buffering")))) || ((_local4.state == "rewinding")))) || ((_local4.state == "seeking")))){ _local3 = 2; }; }; if (_local3 >= 0){ this.handleEvent(_arg1.target, _local3); }; }; }; }; m.listenerFLVPlayback.complete = function (_arg1){ if (this.m.s.isSet(_arg1)){ this.handleEvent(_arg1.target, 0); }; }; }; if (m.s.flashASVersion > 2){ node.addEventListener("complete", m.listenerFLVPlayback_complete); node.addEventListener("stateChange", m.listenerFLVPlayback_stateChange); } else { node.addEventListener("complete", m.listenerFLVPlayback); node.addEventListener("stateChange", m.listenerFLVPlayback); }; monitor = new Object(); monitor.m = m; monitor.node = node; monitor.monitor = function (){ var _local1:Object; var _local2:Object; _local1 = this.m; _local2 = this.node; if (((_local1.s.isSet(_local2.state)) && ((_local2.state == "playing")))){ this.m.listenerFLVPlayback.handleEvent(_local2, 3); }; }; m.startMonitor(monitor); attached = true; return (attached); }; if (((m.s.isSet(node, "addEventListener")) && (m.s.isSet(node, "addCuePoint")))){ if (!m.s.isSet(m.listenerMedia)){ m.listenerMedia = new Object(); m.listenerMedia.m = m; m.listenerMedia.playerName = "Flash Media"; m.listenerMedia.handleEvent = function (_arg1:Object, _arg2:Number){ var _local3:Object; var _local4:String; var _local5:Number; var _local6:Number; _local3 = this.m; if (((_local3.s.isSet(_local3.autoTrack)) && (_local3.s.isSet(_arg1)))){ _local4 = _arg1.contentPath; _local5 = _arg1.totalTime; _local6 = _arg1.playheadTime; _local3.autoEvent(_local4, _local5, this.playerName, _arg2, _local6, _arg1); }; }; m.listenerMedia.complete = function (_arg1){ if (this.m.s.isSet(_arg1)){ this.handleEvent(_arg1.target, 0); }; }; m.listenerMedia.click = function (_arg1){ if (((this.m.s.isSet(_arg1)) && (this.m.s.isSet(_arg1.target)))){ this.handleEvent(_arg1.target, (this.m.s.isSet(_arg1.target.playing)) ? 1 : 2); }; }; m.listenerMedia.change = function (_arg1){ if (((this.m.s.isSet(_arg1)) && (this.m.s.isSet(_arg1.target)))){ this.handleEvent(_arg1.target, (this.m.s.isSet(_arg1.target.playing)) ? 1 : 2); }; }; m.listenerMedia.scrubbing = function (_arg1){ if (this.m.s.isSet(_arg1)){ this.handleEvent(_arg1.target, 2); }; }; }; if (m.s.flashASVersion > 2){ node.addEventListener("complete", m.listenerMedia_complete); node.addEventListener("click", m.listenerMedia_click); node.addEventListener("change", m.listenerMedia_change); node.addEventListener("scrubbing", m.listenerMedia_scrubbing); } else { node.addEventListener("complete", m.listenerMedia); node.addEventListener("click", m.listenerMedia); node.addEventListener("change", m.listenerMedia); node.addEventListener("scrubbing", m.listenerMedia); }; monitor = new Object(); monitor.m = m; monitor.node = node; monitor.monitor = function (){ var _local1:Object; var _local2:Object; _local1 = this.m; _local2 = this.node; if (_local1.s.isSet(_local2.playing)){ this.m.listenerMedia.handleEvent(_local2, 3); }; }; m.startMonitor(monitor); attached = true; return (attached); }; if (m.s.flashASVersion > 2){ if (((m.s.isSet(node, "numChildren")) && (m.s.isSet(node, "getChildAt")))){ childNum = 0; while (childNum < node.numChildren) { subAttached = m.attach(node.getChildAt(childNum)); if (m.s.isSet(subAttached)){ attached = subAttached; }; childNum = (childNum + 1); }; }; } else { for (member in node) { if (((((((m.s.isSet(node[member])) && (m.s.isSet(node[member]._name)))) && ((node[member]._name == member)))) && ((((("" + node) + ".") + member) == ("" + node[member]))))){ subAttached = m.attach(node[member]); if (m.s.isSet(subAttached)){ attached = subAttached; }; }; }; }; }; return (attached); } public function listenerBrightcove_videoStop(_arg1){ this.listenerBrightcove.videoStop(_arg1); } public function open(_arg1:String, _arg2:Number, _arg3:String, _arg4:Object=null){ this._open(_arg1, _arg2, _arg3, _arg4); } public function track(_arg1:String){ var _local2:Object; _local2 = this; if (_local2.s.isSet(_local2.trackWhilePlaying)){ _local2.event(_arg1, 4, -1); }; } public function get autoTrack():Boolean{ return (this._autoTrack); } public function listenerBrightcove_videoProgress(_arg1){ this.listenerBrightcove.videoProgress(_arg1); } private function cleanName(_arg1:String):String{ var _local2:Object; _local2 = this; return (_local2.s.replace(_local2.s.replace(_local2.s.replace(_arg1, "\n", ""), "\r", ""), "--**--", "")); } public function listenerBrightcove_startBuffering(_arg1){ this.listenerBrightcove.startBuffering(_arg1); } public function close(_arg1:String){ this.event(_arg1, 0, -1); } public function listenerBrightcove_videoComplete(_arg1){ this.listenerBrightcove.videoComplete(_arg1); } } }//package com.omniture
Section 38
//ActionSource_XML (com.omniture.ActionSource_XML) package com.omniture { import flash.events.*; import flash.net.*; public dynamic class ActionSource_XML { public var data:Object; public var loaded:Boolean;// = true public var onDataReady:String;// = "" private var _url:String; private var loader:URLLoader; public function ActionSource_XML(_arg1:Object){ loaded = true; onDataReady = ""; super(); this.s = _arg1; this.loader = new URLLoader(); this.loader.addEventListener(Event.COMPLETE, this.onComplete); } private function handleNode(_arg1:XML, _arg2:Object){ var _local3:String; var _local4:XMLList; var _local5:Number; _local3 = _arg1.name(); if (((this.s.isSet(_local3)) && ((_arg1.nodeKind() == "element")))){ _local4 = _arg1.children(); if (((this.s.isSet(_local4)) && ((_local4.length() > 0)))){ if (_local4[0].nodeKind() == "text"){ _arg2[_local3] = ("" + _local4[0]); } else { _arg2[_local3] = new Object(); _local5 = 0; while (_local5 < _local4.length()) { this.handleNode(_local4[_local5], _arg2[_local3]); _local5++; }; }; }; }; } public function get url():String{ return (this._url); } private function loadXML(){ this.loaded = false; this.loader.load(new URLRequest(this._url)); } private function onComplete(_arg1:Event){ var _local2:Object; var _local3:XML; _local2 = XML.settings(); XML.ignoreWhitespace = true; XML.ignoreProcessingInstructions = true; XML.ignoreComments = true; _local3 = new XML(this.loader.data); this.data = new Object(); if ((((_local3.name() == "config")) && ((_local3.nodeKind() == "element")))){ this.handleNode(_local3, this.data); }; XML.setSettings(_local2); if (this.s.isSet(this.onDataReady)){ var _local4 = this.s; _local4[onDataReady](this.data); }; this.loaded = true; } public function set url(_arg1:String){ var _local2:String; this._url = _arg1; if (this.s.isSet(this._url)){ _local2 = this._url.toLowerCase(); if (this.s.isSet(this.s.ssl)){ if (_local2.substr(0, 7) == "http://"){ this._url = this._url.substr(7); _local2 = this._url.toLowerCase(); }; if (_local2.substr(0, 8) != "https://"){ this._url = ("https://" + this._url); }; } else { if (((!((_local2.substr(0, 7) == "http://"))) && (!((_local2.substr(0, 8) == "https://"))))){ this._url = ("http://" + this._url); }; }; this.loadXML(); }; } } }//package com.omniture
Section 39
//Linear (gs.easing.Linear) package gs.easing { public class Linear { public function Linear(){ super(); } public static function easeOut(t:Number, b:Number, c:Number, d:Number):Number{ return ((((c * t) / d) + b)); } public static function easeIn(t:Number, b:Number, c:Number, d:Number):Number{ return ((((c * t) / d) + b)); } public static function easeInOut(t:Number, b:Number, c:Number, d:Number):Number{ return ((((c * t) / d) + b)); } public static function easeNone(t:Number, b:Number, c:Number, d:Number):Number{ return ((((c * t) / d) + b)); } } }//package gs.easing
Section 40
//Sine (gs.easing.Sine) package gs.easing { public class Sine { private static const _HALF_PI:Number = 1.5707963267949; public function Sine(){ super(); } public static function easeOut(t:Number, b:Number, c:Number, d:Number):Number{ return (((c * Math.sin(((t / d) * _HALF_PI))) + b)); } public static function easeIn(t:Number, b:Number, c:Number, d:Number):Number{ return ((((-(c) * Math.cos(((t / d) * _HALF_PI))) + c) + b)); } public static function easeInOut(t:Number, b:Number, c:Number, d:Number):Number{ return ((((-(c) / 2) * (Math.cos(((Math.PI * t) / d)) - 1)) + b)); } } }//package gs.easing
Section 41
//TweenEvent (gs.events.TweenEvent) package gs.events { import flash.events.*; public class TweenEvent extends Event { public var info:Object; public static const UPDATE:String = "update"; public static const START:String = "start"; public static const version:Number = 0.9; public static const COMPLETE:String = "complete"; public function TweenEvent($type:String, $info:Object=null, $bubbles:Boolean=false, $cancelable:Boolean=false){ super($type, $bubbles, $cancelable); this.info = $info; } override public function clone():Event{ return (new TweenEvent(this.type, this.info, this.bubbles, this.cancelable)); } } }//package gs.events
Section 42
//AutoAlphaPlugin (gs.plugins.AutoAlphaPlugin) package gs.plugins { import flash.display.*; import gs.*; public class AutoAlphaPlugin extends TweenPlugin { protected var _tweenVisible:Boolean; protected var _target:Object; protected var _visible:Boolean; protected var _tween:TweenLite; public static const VERSION:Number = 1; public static const API:Number = 1; public function AutoAlphaPlugin(){ super(); this.propName = "autoAlpha"; this.overwriteProps = ["alpha", "visible"]; this.onComplete = onCompleteTween; } override public function killProps($lookup:Object):void{ super.killProps($lookup); _tweenVisible = !(Boolean(("visible" in $lookup))); } public function onCompleteTween():void{ if (((((_tweenVisible) && (!((_tween.vars.runBackwards == true))))) && ((_tween.ease == _tween.vars.ease)))){ _target.visible = _visible; }; } override public function onInitTween($target:Object, $value, $tween:TweenLite):Boolean{ _target = $target; _tween = $tween; _visible = Boolean(!(($value == 0))); _tweenVisible = true; addTween($target, "alpha", $target.alpha, $value, "alpha"); return (true); } override public function set changeFactor($n:Number):void{ updateTweens($n); if (((!((_target.visible == true))) && (_tweenVisible))){ _target.visible = true; }; } } }//package gs.plugins
Section 43
//BevelFilterPlugin (gs.plugins.BevelFilterPlugin) package gs.plugins { import flash.display.*; import gs.*; import flash.filters.*; public class BevelFilterPlugin extends FilterPlugin { public static const VERSION:Number = 1; public static const API:Number = 1; public function BevelFilterPlugin(){ super(); this.propName = "bevelFilter"; this.overwriteProps = ["bevelFilter"]; } override public function onInitTween($target:Object, $value, $tween:TweenLite):Boolean{ _target = $target; _type = BevelFilter; initFilter($value, new BevelFilter(0, 0, 0xFFFFFF, 0.5, 0, 0.5, 2, 2, 0, (($value.quality) || (2)))); return (true); } } }//package gs.plugins
Section 44
//BezierPlugin (gs.plugins.BezierPlugin) package gs.plugins { import gs.*; import gs.utils.tween.*; public class BezierPlugin extends TweenPlugin { protected var _future:Object; protected var _orient:Boolean; protected var _orientData:Array; protected var _target:Object; protected var _beziers:Object; protected static const _RAD2DEG:Number = 57.2957795130823; public static const VERSION:Number = 1.01; public static const API:Number = 1; public function BezierPlugin(){ _future = {}; super(); this.propName = "bezier"; this.overwriteProps = []; } override public function killProps($lookup:Object):void{ var p:String; for (p in _beziers) { if ((p in $lookup)){ delete _beziers[p]; }; }; super.killProps($lookup); } protected function init($tween:TweenLite, $beziers:Array, $through:Boolean):void{ var i:int; var p:String; _target = $tween.target; if ($tween.exposedVars.orientToBezier == true){ _orientData = [["x", "y", "rotation", 0]]; _orient = true; } else { if (($tween.exposedVars.orientToBezier is Array)){ _orientData = $tween.exposedVars.orientToBezier; _orient = true; }; }; var props:Object = {}; i = 0; while (i < $beziers.length) { for (p in $beziers[i]) { if (props[p] == undefined){ props[p] = [$tween.target[p]]; }; if (typeof($beziers[i][p]) == "number"){ props[p].push($beziers[i][p]); } else { props[p].push(($tween.target[p] + Number($beziers[i][p]))); }; }; i++; }; for (p in props) { this.overwriteProps[this.overwriteProps.length] = p; if ($tween.exposedVars[p] != undefined){ if (typeof($tween.exposedVars[p]) == "number"){ props[p].push($tween.exposedVars[p]); } else { props[p].push(($tween.target[p] + Number($tween.exposedVars[p]))); }; delete $tween.exposedVars[p]; i = ($tween.tweens.length - 1); while (i > -1) { if ($tween.tweens[i].name == p){ $tween.tweens.splice(i, 1); }; i--; }; }; }; _beziers = parseBeziers(props, $through); } override public function onInitTween($target:Object, $value, $tween:TweenLite):Boolean{ if (!($value is Array)){ return (false); }; init($tween, ($value as Array), false); return (true); } override public function set changeFactor($n:Number):void{ var i:int; var p:String; var b:Object; var t:Number; var segments:uint; var val:Number; var neg:int; var oldTarget:Object; var oldRound:Boolean; var dx:Number; var dy:Number; var cotb:Array; var toAdd:Number; if ($n == 1){ for (p in _beziers) { i = (_beziers[p].length - 1); _target[p] = _beziers[p][i][2]; }; } else { for (p in _beziers) { segments = _beziers[p].length; if ($n < 0){ i = 0; } else { if ($n >= 1){ i = (segments - 1); } else { i = int((segments * $n)); }; }; t = (($n - (i * (1 / segments))) * segments); b = _beziers[p][i]; if (this.round){ val = (b[0] + (t * (((2 * (1 - t)) * (b[1] - b[0])) + (t * (b[2] - b[0]))))); neg = ((val)<0) ? -1 : 1; _target[p] = ((((val % 1) * neg))>0.5) ? (int(val) + neg) : int(val); } else { _target[p] = (b[0] + (t * (((2 * (1 - t)) * (b[1] - b[0])) + (t * (b[2] - b[0]))))); }; }; }; if (_orient){ oldTarget = _target; oldRound = this.round; _target = _future; this.round = false; _orient = false; this.changeFactor = ($n + 0.01); _target = oldTarget; this.round = oldRound; _orient = true; i = 0; while (i < _orientData.length) { cotb = _orientData[i]; toAdd = ((cotb[3]) || (0)); dx = (_future[cotb[0]] - _target[cotb[0]]); dy = (_future[cotb[1]] - _target[cotb[1]]); _target[cotb[2]] = ((Math.atan2(dy, dx) * _RAD2DEG) + toAdd); i++; }; }; } public static function parseBeziers($props:Object, $through:Boolean=false):Object{ var i:int; var a:Array; var b:Object; var p:String; var all:Object = {}; if ($through){ for (p in $props) { a = $props[p]; b = []; all[p] = b; if (a.length > 2){ b[b.length] = [a[0], (a[1] - ((a[2] - a[0]) / 4)), a[1]]; i = 1; while (i < (a.length - 1)) { b[b.length] = [a[i], (a[i] + (a[i] - b[(i - 1)][1])), a[(i + 1)]]; i++; }; } else { b[b.length] = [a[0], ((a[0] + a[1]) / 2), a[1]]; }; }; } else { for (p in $props) { a = $props[p]; b = []; all[p] = b; if (a.length > 3){ b[b.length] = [a[0], a[1], ((a[1] + a[2]) / 2)]; i = 2; while (i < (a.length - 2)) { b[b.length] = [b[(i - 2)][2], a[i], ((a[i] + a[(i + 1)]) / 2)]; i++; }; b[b.length] = [b[(b.length - 1)][2], a[(a.length - 2)], a[(a.length - 1)]]; } else { if (a.length == 3){ b[b.length] = [a[0], a[1], a[2]]; } else { if (a.length == 2){ b[b.length] = [a[0], ((a[0] + a[1]) / 2), a[1]]; }; }; }; }; }; return (all); } } }//package gs.plugins
Section 45
//BezierThroughPlugin (gs.plugins.BezierThroughPlugin) package gs.plugins { import gs.*; public class BezierThroughPlugin extends BezierPlugin { public static const VERSION:Number = 1; public static const API:Number = 1; public function BezierThroughPlugin(){ super(); this.propName = "bezierThrough"; } override public function onInitTween($target:Object, $value, $tween:TweenLite):Boolean{ if (!($value is Array)){ return (false); }; init($tween, ($value as Array), true); return (true); } } }//package gs.plugins
Section 46
//BlurFilterPlugin (gs.plugins.BlurFilterPlugin) package gs.plugins { import flash.display.*; import gs.*; import flash.filters.*; public class BlurFilterPlugin extends FilterPlugin { public static const VERSION:Number = 1; public static const API:Number = 1; public function BlurFilterPlugin(){ super(); this.propName = "blurFilter"; this.overwriteProps = ["blurFilter"]; } override public function onInitTween($target:Object, $value, $tween:TweenLite):Boolean{ _target = $target; _type = BlurFilter; initFilter($value, new BlurFilter(0, 0, (($value.quality) || (2)))); return (true); } } }//package gs.plugins
Section 47
//ColorMatrixFilterPlugin (gs.plugins.ColorMatrixFilterPlugin) package gs.plugins { import flash.display.*; import gs.*; import flash.filters.*; public class ColorMatrixFilterPlugin extends FilterPlugin { protected var _matrix:Array; protected var _matrixTween:EndArrayPlugin; public static const API:Number = 1; public static const VERSION:Number = 1.1; protected static var _lumG:Number = 0.71516; protected static var _lumR:Number = 0.212671; protected static var _idMatrix:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0]; protected static var _lumB:Number = 0.072169; public function ColorMatrixFilterPlugin(){ super(); this.propName = "colorMatrixFilter"; this.overwriteProps = ["colorMatrixFilter"]; } override public function onInitTween($target:Object, $value, $tween:TweenLite):Boolean{ _target = $target; _type = ColorMatrixFilter; var cmf:Object = $value; initFilter({remove:$value.remove, index:$value.index, addFilter:$value.addFilter}, new ColorMatrixFilter(_idMatrix.slice())); _matrix = ColorMatrixFilter(_filter).matrix; var endMatrix:Array = []; if (((!((cmf.matrix == null))) && ((cmf.matrix is Array)))){ endMatrix = cmf.matrix; } else { if (cmf.relative == true){ endMatrix = _matrix.slice(); } else { endMatrix = _idMatrix.slice(); }; endMatrix = setBrightness(endMatrix, cmf.brightness); endMatrix = setContrast(endMatrix, cmf.contrast); endMatrix = setHue(endMatrix, cmf.hue); endMatrix = setSaturation(endMatrix, cmf.saturation); endMatrix = setThreshold(endMatrix, cmf.threshold); if (!isNaN(cmf.colorize)){ endMatrix = colorize(endMatrix, cmf.colorize, cmf.amount); }; }; _matrixTween = new EndArrayPlugin(); _matrixTween.init(_matrix, endMatrix); return (true); } override public function set changeFactor($n:Number):void{ _matrixTween.changeFactor = $n; ColorMatrixFilter(_filter).matrix = _matrix; super.changeFactor = $n; } public static function setSaturation($m:Array, $n:Number):Array{ if (isNaN($n)){ return ($m); }; var inv:Number = (1 - $n); var r:Number = (inv * _lumR); var g:Number = (inv * _lumG); var b:Number = (inv * _lumB); var temp:Array = [(r + $n), g, b, 0, 0, r, (g + $n), b, 0, 0, r, g, (b + $n), 0, 0, 0, 0, 0, 1, 0]; return (applyMatrix(temp, $m)); } public static function setHue($m:Array, $n:Number):Array{ if (isNaN($n)){ return ($m); }; $n = ($n * (Math.PI / 180)); var c:Number = Math.cos($n); var s:Number = Math.sin($n); var temp:Array = [((_lumR + (c * (1 - _lumR))) + (s * -(_lumR))), ((_lumG + (c * -(_lumG))) + (s * -(_lumG))), ((_lumB + (c * -(_lumB))) + (s * (1 - _lumB))), 0, 0, ((_lumR + (c * -(_lumR))) + (s * 0.143)), ((_lumG + (c * (1 - _lumG))) + (s * 0.14)), ((_lumB + (c * -(_lumB))) + (s * -0.283)), 0, 0, ((_lumR + (c * -(_lumR))) + (s * -((1 - _lumR)))), ((_lumG + (c * -(_lumG))) + (s * _lumG)), ((_lumB + (c * (1 - _lumB))) + (s * _lumB)), 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]; return (applyMatrix(temp, $m)); } public static function setThreshold($m:Array, $n:Number):Array{ if (isNaN($n)){ return ($m); }; var temp:Array = [(_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * $n), (_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * $n), (_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * $n), 0, 0, 0, 1, 0]; return (applyMatrix(temp, $m)); } public static function applyMatrix($m:Array, $m2:Array):Array{ var y:int; var x:int; if (((!(($m is Array))) || (!(($m2 is Array))))){ return ($m2); }; var temp:Array = []; var i:int; var z:int; y = 0; while (y < 4) { x = 0; while (x < 5) { if (x == 4){ z = $m[(i + 4)]; } else { z = 0; }; temp[(i + x)] = ((((($m[i] * $m2[x]) + ($m[(i + 1)] * $m2[(x + 5)])) + ($m[(i + 2)] * $m2[(x + 10)])) + ($m[(i + 3)] * $m2[(x + 15)])) + z); x++; }; i = (i + 5); y++; }; return (temp); } public static function colorize($m:Array, $color:Number, $amount:Number=1):Array{ if (isNaN($color)){ return ($m); }; if (isNaN($amount)){ $amount = 1; }; var r:Number = ((($color >> 16) & 0xFF) / 0xFF); var g:Number = ((($color >> 8) & 0xFF) / 0xFF); var b:Number = (($color & 0xFF) / 0xFF); var inv:Number = (1 - $amount); var temp:Array = [(inv + (($amount * r) * _lumR)), (($amount * r) * _lumG), (($amount * r) * _lumB), 0, 0, (($amount * g) * _lumR), (inv + (($amount * g) * _lumG)), (($amount * g) * _lumB), 0, 0, (($amount * b) * _lumR), (($amount * b) * _lumG), (inv + (($amount * b) * _lumB)), 0, 0, 0, 0, 0, 1, 0]; return (applyMatrix(temp, $m)); } public static function setBrightness($m:Array, $n:Number):Array{ if (isNaN($n)){ return ($m); }; $n = (($n * 100) - 100); return (applyMatrix([1, 0, 0, 0, $n, 0, 1, 0, 0, $n, 0, 0, 1, 0, $n, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1], $m)); } public static function setContrast($m:Array, $n:Number):Array{ if (isNaN($n)){ return ($m); }; $n = ($n + 0.01); var temp:Array = [$n, 0, 0, 0, (128 * (1 - $n)), 0, $n, 0, 0, (128 * (1 - $n)), 0, 0, $n, 0, (128 * (1 - $n)), 0, 0, 0, 1, 0]; return (applyMatrix(temp, $m)); } } }//package gs.plugins
Section 48
//DropShadowFilterPlugin (gs.plugins.DropShadowFilterPlugin) package gs.plugins { import flash.display.*; import gs.*; import flash.filters.*; public class DropShadowFilterPlugin extends FilterPlugin { public static const VERSION:Number = 1; public static const API:Number = 1; public function DropShadowFilterPlugin(){ super(); this.propName = "dropShadowFilter"; this.overwriteProps = ["dropShadowFilter"]; } override public function onInitTween($target:Object, $value, $tween:TweenLite):Boolean{ _target = $target; _type = DropShadowFilter; initFilter($value, new DropShadowFilter(0, 45, 0, 0, 0, 0, 1, (($value.quality) || (2)), $value.inner, $value.knockout, $value.hideObject)); return (true); } } }//package gs.plugins
Section 49
//EndArrayPlugin (gs.plugins.EndArrayPlugin) package gs.plugins { import flash.display.*; import gs.*; import gs.utils.tween.*; public class EndArrayPlugin extends TweenPlugin { protected var _a:Array; protected var _info:Array; public static const VERSION:Number = 1.01; public static const API:Number = 1; public function EndArrayPlugin(){ _info = []; super(); this.propName = "endArray"; this.overwriteProps = ["endArray"]; } public function init($start:Array, $end:Array):void{ _a = $start; var i:int = ($end.length - 1); while (i > -1) { if (((!(($start[i] == $end[i]))) && (!(($start[i] == null))))){ _info[_info.length] = new ArrayTweenInfo(i, _a[i], ($end[i] - _a[i])); }; i--; }; } override public function onInitTween($target:Object, $value, $tween:TweenLite):Boolean{ if (((!(($target is Array))) || (!(($value is Array))))){ return (false); }; init(($target as Array), $value); return (true); } override public function set changeFactor($n:Number):void{ var i:int; var ti:ArrayTweenInfo; var val:Number; var neg:int; if (this.round){ i = (_info.length - 1); while (i > -1) { ti = _info[i]; val = (ti.start + (ti.change * $n)); neg = ((val)<0) ? -1 : 1; _a[ti.index] = ((((val % 1) * neg))>0.5) ? (int(val) + neg) : int(val); i--; }; } else { i = (_info.length - 1); while (i > -1) { ti = _info[i]; _a[ti.index] = (ti.start + (ti.change * $n)); i--; }; }; } } }//package gs.plugins
Section 50
//FilterPlugin (gs.plugins.FilterPlugin) package gs.plugins { import flash.display.*; import gs.*; import flash.filters.*; import gs.utils.tween.*; public class FilterPlugin extends TweenPlugin { protected var _remove:Boolean; protected var _target:Object; protected var _index:int; protected var _filter:BitmapFilter; protected var _type:Class; public static const VERSION:Number = 1.03; public static const API:Number = 1; public function FilterPlugin(){ super(); } public function onCompleteTween():void{ var i:int; var filters:Array; if (_remove){ filters = _target.filters; if (!(filters[_index] is _type)){ i = (filters.length - 1); while (i > -1) { if ((filters[i] is _type)){ filters.splice(i, 1); break; }; i--; }; } else { filters.splice(_index, 1); }; _target.filters = filters; }; } protected function initFilter($props:Object, $default:BitmapFilter):void{ var p:String; var i:int; var colorTween:HexColorsPlugin; var filters:Array = _target.filters; _index = -1; if ($props.index != null){ _index = $props.index; } else { i = (filters.length - 1); while (i > -1) { if ((filters[i] is _type)){ _index = i; break; }; i--; }; }; if ((((((_index == -1)) || ((filters[_index] == null)))) || (($props.addFilter == true)))){ _index = (($props.index)!=null) ? $props.index : filters.length; filters[_index] = $default; _target.filters = filters; }; _filter = filters[_index]; _remove = Boolean(($props.remove == true)); if (_remove){ this.onComplete = onCompleteTween; }; var props:Object = (($props.isTV)==true) ? $props.exposedVars : $props; for (p in props) { if (((((((((!((p in _filter))) || ((_filter[p] == props[p])))) || ((p == "remove")))) || ((p == "index")))) || ((p == "addFilter")))){ } else { if ((((((p == "color")) || ((p == "highlightColor")))) || ((p == "shadowColor")))){ colorTween = new HexColorsPlugin(); colorTween.initColor(_filter, p, _filter[p], props[p]); _tweens[_tweens.length] = new TweenInfo(colorTween, "changeFactor", 0, 1, p, false); } else { if ((((((((p == "quality")) || ((p == "inner")))) || ((p == "knockout")))) || ((p == "hideObject")))){ _filter[p] = props[p]; } else { addTween(_filter, p, _filter[p], props[p], p); }; }; }; }; } override public function set changeFactor($n:Number):void{ var i:int; var ti:TweenInfo; var filters:Array = _target.filters; i = (_tweens.length - 1); while (i > -1) { ti = _tweens[i]; ti.target[ti.property] = (ti.start + (ti.change * $n)); i--; }; if (!(filters[_index] is _type)){ _index = (filters.length - 1); i = (filters.length - 1); while (i > -1) { if ((filters[i] is _type)){ _index = i; break; }; i--; }; }; filters[_index] = _filter; _target.filters = filters; } } }//package gs.plugins
Section 51
//FramePlugin (gs.plugins.FramePlugin) package gs.plugins { import flash.display.*; import gs.*; public class FramePlugin extends TweenPlugin { protected var _target:MovieClip; public var frame:int; public static const VERSION:Number = 1.01; public static const API:Number = 1; public function FramePlugin(){ super(); this.propName = "frame"; this.overwriteProps = ["frame"]; this.round = true; } override public function onInitTween($target:Object, $value, $tween:TweenLite):Boolean{ if (((!(($target is MovieClip))) || (isNaN($value)))){ return (false); }; _target = ($target as MovieClip); this.frame = _target.currentFrame; addTween(this, "frame", this.frame, $value, "frame"); return (true); } override public function set changeFactor($n:Number):void{ updateTweens($n); _target.gotoAndStop(this.frame); } } }//package gs.plugins
Section 52
//GlowFilterPlugin (gs.plugins.GlowFilterPlugin) package gs.plugins { import flash.display.*; import gs.*; import flash.filters.*; public class GlowFilterPlugin extends FilterPlugin { public static const VERSION:Number = 1; public static const API:Number = 1; public function GlowFilterPlugin(){ super(); this.propName = "glowFilter"; this.overwriteProps = ["glowFilter"]; } override public function onInitTween($target:Object, $value, $tween:TweenLite):Boolean{ _target = $target; _type = GlowFilter; initFilter($value, new GlowFilter(0xFFFFFF, 0, 0, 0, (($value.strength) || (1)), (($value.quality) || (2)), $value.inner, $value.knockout)); return (true); } } }//package gs.plugins
Section 53
//HexColorsPlugin (gs.plugins.HexColorsPlugin) package gs.plugins { import flash.display.*; import gs.*; public class HexColorsPlugin extends TweenPlugin { protected var _colors:Array; public static const VERSION:Number = 1.01; public static const API:Number = 1; public function HexColorsPlugin(){ super(); this.propName = "hexColors"; this.overwriteProps = []; _colors = []; } override public function killProps($lookup:Object):void{ var i:int = (_colors.length - 1); while (i > -1) { if ($lookup[_colors[i][1]] != undefined){ _colors.splice(i, 1); }; i--; }; super.killProps($lookup); } public function initColor($target:Object, $propName:String, $start:uint, $end:uint):void{ var r:Number; var g:Number; var b:Number; if ($start != $end){ r = ($start >> 16); g = (($start >> 8) & 0xFF); b = ($start & 0xFF); _colors[_colors.length] = [$target, $propName, r, (($end >> 16) - r), g, ((($end >> 8) & 0xFF) - g), b, (($end & 0xFF) - b)]; this.overwriteProps[this.overwriteProps.length] = $propName; }; } override public function set changeFactor($n:Number):void{ var i:int; var a:Array; i = (_colors.length - 1); while (i > -1) { a = _colors[i]; a[0][a[1]] = ((((a[2] + ($n * a[3])) << 16) | ((a[4] + ($n * a[5])) << 8)) | (a[6] + ($n * a[7]))); i--; }; } override public function onInitTween($target:Object, $value, $tween:TweenLite):Boolean{ var p:String; for (p in $value) { initColor($target, p, uint($target[p]), uint($value[p])); }; return (true); } } }//package gs.plugins
Section 54
//RemoveTintPlugin (gs.plugins.RemoveTintPlugin) package gs.plugins { public class RemoveTintPlugin extends TintPlugin { public static const VERSION:Number = 1.01; public static const API:Number = 1; public function RemoveTintPlugin(){ super(); this.propName = "removeTint"; } } }//package gs.plugins
Section 55
//RoundPropsPlugin (gs.plugins.RoundPropsPlugin) package gs.plugins { import flash.display.*; import gs.*; public class RoundPropsPlugin extends TweenPlugin { public static const VERSION:Number = 1; public static const API:Number = 1; public function RoundPropsPlugin(){ super(); this.propName = "roundProps"; this.overwriteProps = []; this.round = true; } public function add($object:Object, $propName:String, $start:Number, $change:Number):void{ addTween($object, $propName, $start, ($start + $change), $propName); this.overwriteProps[this.overwriteProps.length] = $propName; } } }//package gs.plugins
Section 56
//ShortRotationPlugin (gs.plugins.ShortRotationPlugin) package gs.plugins { import flash.display.*; import gs.*; public class ShortRotationPlugin extends TweenPlugin { public static const VERSION:Number = 1; public static const API:Number = 1; public function ShortRotationPlugin(){ super(); this.propName = "shortRotation"; this.overwriteProps = []; } override public function onInitTween($target:Object, $value, $tween:TweenLite):Boolean{ var p:String; if (typeof($value) == "number"){ trace("WARNING: You appear to be using the old shortRotation syntax. Instead of passing a number, please pass an object with properties that correspond to the rotations values For example, TweenMax.to(mc, 2, {shortRotation:{rotationX:-170, rotationY:25}})"); return (false); }; for (p in $value) { initRotation($target, p, $target[p], $value[p]); }; return (true); } public function initRotation($target:Object, $propName:String, $start:Number, $end:Number):void{ var dif:Number = (($end - $start) % 360); if (dif != (dif % 180)){ dif = ((dif)<0) ? (dif + 360) : (dif - 360); }; addTween($target, $propName, $start, ($start + dif), $propName); this.overwriteProps[this.overwriteProps.length] = $propName; } } }//package gs.plugins
Section 57
//TintPlugin (gs.plugins.TintPlugin) package gs.plugins { import flash.display.*; import gs.*; import flash.geom.*; import gs.utils.tween.*; public class TintPlugin extends TweenPlugin { protected var _target:DisplayObject; protected var _ct:ColorTransform; protected var _ignoreAlpha:Boolean; public static const VERSION:Number = 1.1; public static const API:Number = 1; protected static var _props:Array = ["redMultiplier", "greenMultiplier", "blueMultiplier", "alphaMultiplier", "redOffset", "greenOffset", "blueOffset", "alphaOffset"]; public function TintPlugin(){ super(); this.propName = "tint"; this.overwriteProps = ["tint"]; } public function init($target:DisplayObject, $end:ColorTransform):void{ var i:int; var p:String; _target = $target; _ct = _target.transform.colorTransform; i = (_props.length - 1); while (i > -1) { p = _props[i]; if (_ct[p] != $end[p]){ _tweens[_tweens.length] = new TweenInfo(_ct, p, _ct[p], ($end[p] - _ct[p]), "tint", false); }; i--; }; } override public function onInitTween($target:Object, $value, $tween:TweenLite):Boolean{ if (!($target is DisplayObject)){ return (false); }; var end:ColorTransform = new ColorTransform(); if (((!(($value == null))) && (!(($tween.exposedVars.removeTint == true))))){ end.color = uint($value); }; _ignoreAlpha = true; init(($target as DisplayObject), end); return (true); } override public function set changeFactor($n:Number):void{ var ct:ColorTransform; updateTweens($n); if (_ignoreAlpha){ ct = _target.transform.colorTransform; _ct.alphaMultiplier = ct.alphaMultiplier; _ct.alphaOffset = ct.alphaOffset; }; _target.transform.colorTransform = _ct; } } }//package gs.plugins
Section 58
//TweenPlugin (gs.plugins.TweenPlugin) package gs.plugins { import gs.*; import gs.utils.tween.*; public class TweenPlugin { public var overwriteProps:Array; protected var _tweens:Array; public var propName:String; public var onComplete:Function; public var round:Boolean; protected var _changeFactor:Number;// = 0 public static const VERSION:Number = 1.03; public static const API:Number = 1; public function TweenPlugin(){ _tweens = []; super(); } protected function updateTweens($changeFactor:Number):void{ var i:int; var ti:TweenInfo; var val:Number; var neg:int; if (this.round){ i = (_tweens.length - 1); while (i > -1) { ti = _tweens[i]; val = (ti.start + (ti.change * $changeFactor)); neg = ((val)<0) ? -1 : 1; ti.target[ti.property] = ((((val % 1) * neg))>0.5) ? (int(val) + neg) : int(val); i--; }; } else { i = (_tweens.length - 1); while (i > -1) { ti = _tweens[i]; ti.target[ti.property] = (ti.start + (ti.change * $changeFactor)); i--; }; }; } public function set changeFactor($n:Number):void{ updateTweens($n); _changeFactor = $n; } protected function addTween($object:Object, $propName:String, $start:Number, $end, $overwriteProp:String=null):void{ var change:Number; if ($end != null){ change = ((typeof($end))=="number") ? ($end - $start) : Number($end); if (change != 0){ _tweens[_tweens.length] = new TweenInfo($object, $propName, $start, change, (($overwriteProp) || ($propName)), false); }; }; } public function killProps($lookup:Object):void{ var i:int; i = (this.overwriteProps.length - 1); while (i > -1) { if ((this.overwriteProps[i] in $lookup)){ this.overwriteProps.splice(i, 1); }; i--; }; i = (_tweens.length - 1); while (i > -1) { if ((_tweens[i].name in $lookup)){ _tweens.splice(i, 1); }; i--; }; } public function onInitTween($target:Object, $value, $tween:TweenLite):Boolean{ addTween($target, this.propName, $target[this.propName], $value, this.propName); return (true); } public function get changeFactor():Number{ return (_changeFactor); } public static function activate($plugins:Array):Boolean{ var i:int; var instance:Object; i = ($plugins.length - 1); while (i > -1) { instance = new ($plugins[i]); TweenLite.plugins[instance.propName] = $plugins[i]; i--; }; return (true); } } }//package gs.plugins
Section 59
//VisiblePlugin (gs.plugins.VisiblePlugin) package gs.plugins { import flash.display.*; import gs.*; public class VisiblePlugin extends TweenPlugin { protected var _target:Object; protected var _visible:Boolean; protected var _tween:TweenLite; public static const VERSION:Number = 1; public static const API:Number = 1; public function VisiblePlugin(){ super(); this.propName = "visible"; this.overwriteProps = ["visible"]; this.onComplete = onCompleteTween; } public function onCompleteTween():void{ if (((!((_tween.vars.runBackwards == true))) && ((_tween.ease == _tween.vars.ease)))){ _target.visible = _visible; }; } override public function onInitTween($target:Object, $value, $tween:TweenLite):Boolean{ _target = $target; _tween = $tween; _visible = Boolean($value); return (true); } override public function set changeFactor($n:Number):void{ if (_target.visible != true){ _target.visible = true; }; } } }//package gs.plugins
Section 60
//VolumePlugin (gs.plugins.VolumePlugin) package gs.plugins { import flash.display.*; import gs.*; import flash.media.*; public class VolumePlugin extends TweenPlugin { protected var _target:Object; protected var _st:SoundTransform; public static const VERSION:Number = 1.01; public static const API:Number = 1; public function VolumePlugin(){ super(); this.propName = "volume"; this.overwriteProps = ["volume"]; } override public function onInitTween($target:Object, $value, $tween:TweenLite):Boolean{ if (((isNaN($value)) || (!($target.hasOwnProperty("soundTransform"))))){ return (false); }; _target = $target; _st = _target.soundTransform; addTween(_st, "volume", _st.volume, $value, "volume"); return (true); } override public function set changeFactor($n:Number):void{ updateTweens($n); _target.soundTransform = _st; } } }//package gs.plugins
Section 61
//ArrayTweenInfo (gs.utils.tween.ArrayTweenInfo) package gs.utils.tween { public class ArrayTweenInfo { public var change:Number; public var start:Number; public var index:uint; public function ArrayTweenInfo($index:uint, $start:Number, $change:Number){ super(); this.index = $index; this.start = $start; this.change = $change; } } }//package gs.utils.tween
Section 62
//TweenInfo (gs.utils.tween.TweenInfo) package gs.utils.tween { public class TweenInfo { public var start:Number; public var name:String; public var change:Number; public var target:Object; public var property:String; public var isPlugin:Boolean; public function TweenInfo($target:Object, $property:String, $start:Number, $change:Number, $name:String, $isPlugin:Boolean){ super(); this.target = $target; this.property = $property; this.start = $start; this.change = $change; this.name = $name; this.isPlugin = $isPlugin; } } }//package gs.utils.tween
Section 63
//OverwriteManager (gs.OverwriteManager) package gs { import flash.utils.*; import gs.utils.tween.*; import flash.errors.*; public class OverwriteManager { public static const ALL:int = 1; public static const NONE:int = 0; public static const AUTO:int = 2; public static const CONCURRENT:int = 3; public static const version:Number = 3.12; public static var mode:int; public static var enabled:Boolean; public function OverwriteManager(){ super(); } public static function killVars($killVars:Object, $vars:Object, $tweens:Array):void{ var i:int; var p:String; var ti:TweenInfo; i = ($tweens.length - 1); while (i > -1) { ti = $tweens[i]; if ((ti.name in $killVars)){ $tweens.splice(i, 1); } else { if (((ti.isPlugin) && ((ti.name == "_MULTIPLE_")))){ ti.target.killProps($killVars); if (ti.target.overwriteProps.length == 0){ $tweens.splice(i, 1); }; }; }; i--; }; for (p in $killVars) { delete $vars[p]; }; } public static function manageOverwrites($tween:TweenLite, $targetTweens:Array):void{ var i:int; var tween:TweenLite; var tweens:Array; var v:Object; var j:int; var ti:TweenInfo; var overwriteProps:Array; var vars:Object = $tween.vars; var m:int = ((vars.overwrite)==undefined) ? mode : int(vars.overwrite); if ((((m < 2)) || (($targetTweens == null)))){ return; }; var startTime:Number = $tween.startTime; var a:Array = []; var index = -1; i = ($targetTweens.length - 1); while (i > -1) { tween = $targetTweens[i]; if (tween == $tween){ index = i; } else { if ((((((i < index)) && ((tween.startTime <= startTime)))) && (((tween.startTime + ((tween.duration * 1000) / tween.combinedTimeScale)) > startTime)))){ a[a.length] = tween; }; }; i--; }; if ((((a.length == 0)) || (($tween.tweens.length == 0)))){ return; }; if (m == AUTO){ tweens = $tween.tweens; v = {}; i = (tweens.length - 1); while (i > -1) { ti = tweens[i]; if (ti.isPlugin){ if (ti.name == "_MULTIPLE_"){ overwriteProps = ti.target.overwriteProps; j = (overwriteProps.length - 1); while (j > -1) { v[overwriteProps[j]] = true; j--; }; } else { v[ti.name] = true; }; v[ti.target.propName] = true; } else { v[ti.name] = true; }; i--; }; i = (a.length - 1); while (i > -1) { killVars(v, a[i].exposedVars, a[i].tweens); i--; }; } else { i = (a.length - 1); while (i > -1) { a[i].enabled = false; i--; }; }; } public static function init($mode:int=2):int{ if (TweenLite.version < 10.09){ trace("TweenLite warning: Your TweenLite class needs to be updated to work with OverwriteManager (or you may need to clear your ASO files). Please download and install the latest version from http://www.tweenlite.com."); }; TweenLite.overwriteManager = OverwriteManager; mode = $mode; enabled = true; return (mode); } } }//package gs
Section 64
//TweenLite (gs.TweenLite) package gs { import flash.events.*; import flash.display.*; import flash.utils.*; import gs.plugins.*; import gs.utils.tween.*; public class TweenLite { public var started:Boolean; public var delay:Number; protected var _hasUpdate:Boolean; protected var _hasPlugins:Boolean; public var initted:Boolean; public var active:Boolean; public var startTime:Number; public var target:Object; public var duration:Number; public var gc:Boolean; public var tweens:Array; public var vars:Object; public var ease:Function; public var exposedVars:Object; public var initTime:Number; public var combinedTimeScale:Number; public static const version:Number = 10.091; private static var _timer:Timer = new Timer(2000); public static var defaultEase:Function = TweenLite.easeOut; public static var plugins:Object = {}; public static var currentTime:uint; public static var masterList:Dictionary = new Dictionary(false); protected static var _reservedProps:Object = {ease:1, delay:1, overwrite:1, onComplete:1, onCompleteParams:1, runBackwards:1, startAt:1, onUpdate:1, onUpdateParams:1, roundProps:1, onStart:1, onStartParams:1, persist:1, renderOnStart:1, proxiedEase:1, easeParams:1, yoyo:1, loop:1, onCompleteListener:1, onUpdateListener:1, onStartListener:1, orientToBezier:1, timeScale:1}; public static var killDelayedCallsTo:Function = TweenLite.killTweensOf; public static var timingSprite:Sprite = new Sprite(); public static var overwriteManager:Object; private static var _tlInitted:Boolean; public function TweenLite($target:Object, $duration:Number, $vars:Object){ super(); if ($target == null){ return; }; if (!_tlInitted){ TweenPlugin.activate([TintPlugin, RemoveTintPlugin, FramePlugin, AutoAlphaPlugin, VisiblePlugin, VolumePlugin, EndArrayPlugin]); currentTime = getTimer(); timingSprite.addEventListener(Event.ENTER_FRAME, updateAll, false, 0, true); if (overwriteManager == null){ overwriteManager = {mode:1, enabled:false}; }; _timer.addEventListener("timer", killGarbage, false, 0, true); _timer.start(); _tlInitted = true; }; this.vars = $vars; this.duration = (($duration) || (0.001)); this.delay = (($vars.delay) || (0)); this.combinedTimeScale = (($vars.timeScale) || (1)); this.active = Boolean(((($duration == 0)) && ((this.delay == 0)))); this.target = $target; if (typeof(this.vars.ease) != "function"){ this.vars.ease = defaultEase; }; if (this.vars.easeParams != null){ this.vars.proxiedEase = this.vars.ease; this.vars.ease = easeProxy; }; this.ease = this.vars.ease; this.exposedVars = ((this.vars.isTV)==true) ? this.vars.exposedVars : this.vars; this.tweens = []; this.initTime = currentTime; this.startTime = (this.initTime + (this.delay * 1000)); var mode:int = (((($vars.overwrite == undefined)) || (((!(overwriteManager.enabled)) && (($vars.overwrite > 1)))))) ? overwriteManager.mode : int($vars.overwrite); if (((!(($target in masterList))) || ((mode == 1)))){ masterList[$target] = [this]; } else { masterList[$target].push(this); }; if ((((((this.vars.runBackwards == true)) && (!((this.vars.renderOnStart == true))))) || (this.active))){ initTweenVals(); if (this.active){ render((this.startTime + 1)); } else { render(this.startTime); }; if (((((!((this.exposedVars.visible == null))) && ((this.vars.runBackwards == true)))) && ((this.target is DisplayObject)))){ this.target.visible = this.exposedVars.visible; }; }; } public function get enabled():Boolean{ return ((this.gc) ? false : true); } public function set enabled($b:Boolean):void{ var a:Array; var found:Boolean; var i:int; if ($b){ if (!(this.target in masterList)){ masterList[this.target] = [this]; } else { a = masterList[this.target]; i = (a.length - 1); while (i > -1) { if (a[i] == this){ found = true; break; }; i--; }; if (!found){ a[a.length] = this; }; }; }; this.gc = ($b) ? false : true; if (this.gc){ this.active = false; } else { this.active = this.started; }; } public function clear():void{ this.tweens = []; this.vars = (this.exposedVars = {ease:this.vars.ease}); _hasUpdate = false; } public function render($t:uint):void{ var factor:Number; var ti:TweenInfo; var i:int; var time:Number = (($t - this.startTime) * 0.001); if (time >= this.duration){ time = this.duration; factor = ((((this.ease == this.vars.ease)) || ((this.duration == 0.001)))) ? 1 : 0; } else { factor = this.ease(time, 0, 1, this.duration); }; i = (this.tweens.length - 1); while (i > -1) { ti = this.tweens[i]; ti.target[ti.property] = (ti.start + (factor * ti.change)); i--; }; if (_hasUpdate){ this.vars.onUpdate.apply(null, this.vars.onUpdateParams); }; if (time == this.duration){ complete(true); }; } public function activate():void{ this.started = (this.active = true); if (!this.initted){ initTweenVals(); }; if (this.vars.onStart != null){ this.vars.onStart.apply(null, this.vars.onStartParams); }; if (this.duration == 0.001){ this.startTime = (this.startTime - 1); }; } public function initTweenVals():void{ var p:String; var i:int; var plugin:*; var ti:TweenInfo; if (((!((this.exposedVars.timeScale == undefined))) && (this.target.hasOwnProperty("timeScale")))){ this.tweens[this.tweens.length] = new TweenInfo(this.target, "timeScale", this.target.timeScale, (this.exposedVars.timeScale - this.target.timeScale), "timeScale", false); }; for (p in this.exposedVars) { if ((p in _reservedProps)){ } else { if ((p in plugins)){ plugin = new (plugins[p]); if (plugin.onInitTween(this.target, this.exposedVars[p], this) == false){ this.tweens[this.tweens.length] = new TweenInfo(this.target, p, this.target[p], ((typeof(this.exposedVars[p]))=="number") ? (this.exposedVars[p] - this.target[p]) : Number(this.exposedVars[p]), p, false); } else { this.tweens[this.tweens.length] = new TweenInfo(plugin, "changeFactor", 0, 1, ((plugin.overwriteProps.length)==1) ? plugin.overwriteProps[0] : "_MULTIPLE_", true); _hasPlugins = true; }; } else { this.tweens[this.tweens.length] = new TweenInfo(this.target, p, this.target[p], ((typeof(this.exposedVars[p]))=="number") ? (this.exposedVars[p] - this.target[p]) : Number(this.exposedVars[p]), p, false); }; }; }; if (this.vars.runBackwards == true){ i = (this.tweens.length - 1); while (i > -1) { ti = this.tweens[i]; ti.start = (ti.start + ti.change); ti.change = -(ti.change); i--; }; }; if (this.vars.onUpdate != null){ _hasUpdate = true; }; if (((TweenLite.overwriteManager.enabled) && ((this.target in masterList)))){ overwriteManager.manageOverwrites(this, masterList[this.target]); }; this.initted = true; } protected function easeProxy($t:Number, $b:Number, $c:Number, $d:Number):Number{ return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams))); } public function killVars($vars:Object):void{ if (overwriteManager.enabled){ overwriteManager.killVars($vars, this.exposedVars, this.tweens); }; } public function complete($skipRender:Boolean=false):void{ var i:int; if (!$skipRender){ if (!this.initted){ initTweenVals(); }; this.startTime = (currentTime - ((this.duration * 1000) / this.combinedTimeScale)); render(currentTime); return; }; if (_hasPlugins){ i = (this.tweens.length - 1); while (i > -1) { if (((this.tweens[i].isPlugin) && (!((this.tweens[i].target.onComplete == null))))){ this.tweens[i].target.onComplete(); }; i--; }; }; if (this.vars.persist != true){ this.enabled = false; }; if (this.vars.onComplete != null){ this.vars.onComplete.apply(null, this.vars.onCompleteParams); }; } public static function updateAll($e:Event=null):void{ var a:Array; var i:int; var tween:TweenLite; var time:uint = (currentTime = getTimer()); var ml:Dictionary = masterList; for each (a in ml) { i = (a.length - 1); while (i > -1) { tween = a[i]; if (tween.active){ tween.render(time); } else { if (tween.gc){ a.splice(i, 1); } else { if (time >= tween.startTime){ tween.activate(); tween.render(time); }; }; }; i--; }; }; } public static function removeTween($tween:TweenLite, $clear:Boolean=true):void{ if ($tween != null){ if ($clear){ $tween.clear(); }; $tween.enabled = false; }; } public static function killTweensOf($target:Object=null, $complete:Boolean=false):void{ var a:Array; var i:int; var tween:TweenLite; if (((!(($target == null))) && (($target in masterList)))){ a = masterList[$target]; i = (a.length - 1); while (i > -1) { tween = a[i]; if ((($complete) && (!(tween.gc)))){ tween.complete(false); }; tween.clear(); i--; }; delete masterList[$target]; }; } public static function from($target:Object, $duration:Number, $vars:Object):TweenLite{ $vars.runBackwards = true; return (new TweenLite($target, $duration, $vars)); } public static function easeOut($t:Number, $b:Number, $c:Number, $d:Number):Number{ $t = ($t / $d); return ((((-($c) * $t) * ($t - 2)) + $b)); } protected static function killGarbage($e:TimerEvent):void{ var tgt:Object; var ml:Dictionary = masterList; for (tgt in ml) { if (ml[tgt].length == 0){ delete ml[tgt]; }; }; } public static function delayedCall($delay:Number, $onComplete:Function, $onCompleteParams:Array=null):TweenLite{ return (new TweenLite($onComplete, 0, {delay:$delay, onComplete:$onComplete, onCompleteParams:$onCompleteParams, overwrite:0})); } public static function to($target:Object, $duration:Number, $vars:Object):TweenLite{ return (new TweenLite($target, $duration, $vars)); } } }//package gs
Section 65
//TweenMax (gs.TweenMax) package gs { import flash.events.*; import flash.utils.*; import gs.plugins.*; import gs.utils.tween.*; import gs.events.*; public class TweenMax extends TweenLite implements IEventDispatcher { protected var _dispatcher:EventDispatcher; protected var _callbacks:Object; public var pauseTime:Number; protected var _repeatCount:Number; protected var _timeScale:Number; public static const version:Number = 10.1; public static var removeTween:Function = TweenLite.removeTween; private static var _overwriteMode:int = (OverwriteManager.enabled) ? OverwriteManager.mode : OverwriteManager.init(); ; protected static var _pausedTweens:Dictionary = new Dictionary(false); protected static var _globalTimeScale:Number = 1; public static var killTweensOf:Function = TweenLite.killTweensOf; public static var killDelayedCallsTo:Function = TweenLite.killTweensOf; private static var _activatedPlugins:Boolean = TweenPlugin.activate([TintPlugin, RemoveTintPlugin, FramePlugin, AutoAlphaPlugin, VisiblePlugin, VolumePlugin, EndArrayPlugin, HexColorsPlugin, BlurFilterPlugin, ColorMatrixFilterPlugin, BevelFilterPlugin, DropShadowFilterPlugin, GlowFilterPlugin, RoundPropsPlugin, BezierPlugin, BezierThroughPlugin, ShortRotationPlugin]); public function TweenMax($target:Object, $duration:Number, $vars:Object){ super($target, $duration, $vars); if (TweenLite.version < 10.09){ trace("TweenMax error! Please update your TweenLite class or try deleting your ASO files. TweenMax requires a more recent version. Download updates at http://www.TweenMax.com."); }; if (((!((this.combinedTimeScale == 1))) && ((this.target is TweenMax)))){ _timeScale = 1; this.combinedTimeScale = _globalTimeScale; } else { _timeScale = this.combinedTimeScale; this.combinedTimeScale = (this.combinedTimeScale * _globalTimeScale); }; if (((!((this.combinedTimeScale == 1))) && (!((this.delay == 0))))){ this.startTime = (this.initTime + (this.delay * (1000 / this.combinedTimeScale))); }; if (((((!((this.vars.onCompleteListener == null))) || (!((this.vars.onUpdateListener == null))))) || (!((this.vars.onStartListener == null))))){ initDispatcher(); if (((($duration == 0)) && ((this.delay == 0)))){ onUpdateDispatcher(); onCompleteDispatcher(); }; }; _repeatCount = 0; if (((!(isNaN(this.vars.yoyo))) || (!(isNaN(this.vars.loop))))){ this.vars.persist = true; }; if ((((this.delay == 0)) && (!((this.exposedVars.startAt == null))))){ this.exposedVars.startAt.overwrite = 0; new TweenMax(this.target, 0, this.exposedVars.startAt); }; } public function dispatchEvent($e:Event):Boolean{ if (_dispatcher == null){ return (false); }; return (_dispatcher.dispatchEvent($e)); } public function get reversed():Boolean{ return ((this.ease == reverseEase)); } public function set reversed($b:Boolean):void{ if (this.reversed != $b){ reverse(); }; } public function get progress():Number{ var t:Number = (isNaN(this.pauseTime)) ? currentTime : this.pauseTime; var p:Number = (((((t - this.initTime) * 0.001) - (this.delay / this.combinedTimeScale)) / this.duration) * this.combinedTimeScale); if (p > 1){ return (1); }; if (p < 0){ return (0); }; return (p); } override public function set enabled($b:Boolean):void{ if (!$b){ _pausedTweens[this] = null; delete _pausedTweens[this]; }; super.enabled = $b; if ($b){ this.combinedTimeScale = (_timeScale * _globalTimeScale); }; } protected function onStartDispatcher(... _args):void{ if (_callbacks.onStart != null){ _callbacks.onStart.apply(null, this.vars.onStartParams); }; _dispatcher.dispatchEvent(new TweenEvent(TweenEvent.START)); } public function setDestination($property:String, $value, $adjustStartValues:Boolean=true):void{ var i:int; var ti:TweenInfo; var varsOld:Object; var exposedVarsOld:Object; var tweensOld:Array; var hadPlugins:Boolean; var addedTweens:Array; var killVars:Object; var p:Number = this.progress; if (this.initted){ if (!$adjustStartValues){ i = (this.tweens.length - 1); while (i > -1) { ti = this.tweens[i]; if (ti.name == $property){ ti.target[ti.property] = ti.start; }; i--; }; }; varsOld = this.vars; exposedVarsOld = this.exposedVars; tweensOld = this.tweens; hadPlugins = _hasPlugins; this.tweens = []; this.vars = (this.exposedVars = {}); this.vars[$property] = $value; initTweenVals(); if (((!((this.ease == reverseEase))) && ((varsOld.ease is Function)))){ this.ease = varsOld.ease; }; if ((($adjustStartValues) && (!((p == 0))))){ adjustStartValues(); }; addedTweens = this.tweens; this.vars = varsOld; this.exposedVars = exposedVarsOld; this.tweens = tweensOld; killVars = {}; killVars[$property] = true; i = (this.tweens.length - 1); while (i > -1) { ti = this.tweens[i]; if (ti.name == $property){ this.tweens.splice(i, 1); } else { if (((ti.isPlugin) && ((ti.name == "_MULTIPLE_")))){ ti.target.killProps(killVars); if (ti.target.overwriteProps.length == 0){ this.tweens.splice(i, 1); }; }; }; i--; }; this.tweens = this.tweens.concat(addedTweens); _hasPlugins = Boolean(((hadPlugins) || (_hasPlugins))); }; this.vars[$property] = (this.exposedVars[$property] = $value); } override public function initTweenVals():void{ var i:int; var j:int; var prop:String; var multiProps:String; var rp:Array; var plugin:Object; var ti:TweenInfo; if (((!((this.exposedVars.startAt == null))) && (!((this.delay == 0))))){ this.exposedVars.startAt.overwrite = 0; new TweenMax(this.target, 0, this.exposedVars.startAt); }; super.initTweenVals(); if ((((this.exposedVars.roundProps is Array)) && (!((TweenLite.plugins.roundProps == null))))){ rp = this.exposedVars.roundProps; i = (rp.length - 1); while (i > -1) { prop = rp[i]; j = (this.tweens.length - 1); while (j > -1) { ti = this.tweens[j]; if (ti.name == prop){ if (ti.isPlugin){ ti.target.round = true; } else { if (plugin == null){ plugin = new TweenLite.plugins.roundProps(); plugin.add(ti.target, prop, ti.start, ti.change); _hasPlugins = true; this.tweens[j] = new TweenInfo(plugin, "changeFactor", 0, 1, prop, true); } else { plugin.add(ti.target, prop, ti.start, ti.change); this.tweens.splice(j, 1); }; }; } else { if (((((ti.isPlugin) && ((ti.name == "_MULTIPLE_")))) && (!(ti.target.round)))){ multiProps = ((" " + ti.target.overwriteProps.join(" ")) + " "); if (multiProps.indexOf(((" " + prop) + " ")) != -1){ ti.target.round = true; }; }; }; j--; }; i--; }; }; } public function restart($includeDelay:Boolean=false):void{ if ($includeDelay){ this.initTime = currentTime; this.startTime = (currentTime + (this.delay * (1000 / this.combinedTimeScale))); } else { this.startTime = currentTime; this.initTime = (currentTime - (this.delay * (1000 / this.combinedTimeScale))); }; _repeatCount = 0; if (this.target != this.vars.onComplete){ render(this.startTime); }; this.pauseTime = NaN; _pausedTweens[this] = null; delete _pausedTweens[this]; this.enabled = true; } public function removeEventListener($type:String, $listener:Function, $useCapture:Boolean=false):void{ if (_dispatcher != null){ _dispatcher.removeEventListener($type, $listener, $useCapture); }; } public function addEventListener($type:String, $listener:Function, $useCapture:Boolean=false, $priority:int=0, $useWeakReference:Boolean=false):void{ if (_dispatcher == null){ initDispatcher(); }; if (((($type == TweenEvent.UPDATE)) && (!((this.vars.onUpdate == onUpdateDispatcher))))){ this.vars.onUpdate = onUpdateDispatcher; _hasUpdate = true; }; _dispatcher.addEventListener($type, $listener, $useCapture, $priority, $useWeakReference); } protected function adjustStartValues():void{ var factor:Number; var inv:Number; var endValue:Number; var ti:TweenInfo; var i:int; var p:Number = this.progress; if (p != 0){ factor = this.ease(p, 0, 1, 1); inv = (1 / (1 - factor)); i = (this.tweens.length - 1); while (i > -1) { ti = this.tweens[i]; endValue = (ti.start + ti.change); if (ti.isPlugin){ ti.change = ((endValue - factor) * inv); } else { ti.change = ((endValue - ti.target[ti.property]) * inv); }; ti.start = (endValue - ti.change); i--; }; }; } override public function render($t:uint):void{ var factor:Number; var ti:TweenInfo; var i:int; var time:Number = ((($t - this.startTime) * 0.001) * this.combinedTimeScale); if (time >= this.duration){ time = this.duration; factor = ((((this.ease == this.vars.ease)) || ((this.duration == 0.001)))) ? 1 : 0; } else { factor = this.ease(time, 0, 1, this.duration); }; i = (this.tweens.length - 1); while (i > -1) { ti = this.tweens[i]; ti.target[ti.property] = (ti.start + (factor * ti.change)); i--; }; if (_hasUpdate){ this.vars.onUpdate.apply(null, this.vars.onUpdateParams); }; if (time == this.duration){ complete(true); }; } protected function initDispatcher():void{ var v:Object; var p:String; if (_dispatcher == null){ _dispatcher = new EventDispatcher(this); _callbacks = {onStart:this.vars.onStart, onUpdate:this.vars.onUpdate, onComplete:this.vars.onComplete}; if (this.vars.isTV == true){ this.vars = this.vars.clone(); } else { v = {}; for (p in this.vars) { v[p] = this.vars[p]; }; this.vars = v; }; this.vars.onStart = onStartDispatcher; this.vars.onComplete = onCompleteDispatcher; if ((this.vars.onStartListener is Function)){ _dispatcher.addEventListener(TweenEvent.START, this.vars.onStartListener, false, 0, true); }; if ((this.vars.onUpdateListener is Function)){ _dispatcher.addEventListener(TweenEvent.UPDATE, this.vars.onUpdateListener, false, 0, true); this.vars.onUpdate = onUpdateDispatcher; _hasUpdate = true; }; if ((this.vars.onCompleteListener is Function)){ _dispatcher.addEventListener(TweenEvent.COMPLETE, this.vars.onCompleteListener, false, 0, true); }; }; } public function willTrigger($type:String):Boolean{ if (_dispatcher == null){ return (false); }; return (_dispatcher.willTrigger($type)); } public function set progress($n:Number):void{ this.startTime = (currentTime - ((this.duration * $n) * 1000)); this.initTime = (this.startTime - (this.delay * (1000 / this.combinedTimeScale))); if (!this.started){ activate(); }; render(currentTime); if (!isNaN(this.pauseTime)){ this.pauseTime = currentTime; this.startTime = 999999999999999; this.active = false; }; } public function reverse($adjustDuration:Boolean=true, $forcePlay:Boolean=true):void{ this.ease = ((this.vars.ease)==this.ease) ? reverseEase : this.vars.ease; var p:Number = this.progress; if ((($adjustDuration) && ((p > 0)))){ this.startTime = (currentTime - ((((1 - p) * this.duration) * 1000) / this.combinedTimeScale)); this.initTime = (this.startTime - (this.delay * (1000 / this.combinedTimeScale))); }; if ($forcePlay != false){ if (p < 1){ resume(); } else { restart(); }; }; } protected function onUpdateDispatcher(... _args):void{ if (_callbacks.onUpdate != null){ _callbacks.onUpdate.apply(null, this.vars.onUpdateParams); }; _dispatcher.dispatchEvent(new TweenEvent(TweenEvent.UPDATE)); } public function set paused($b:Boolean):void{ if ($b){ pause(); } else { resume(); }; } public function resume():void{ this.enabled = true; if (!isNaN(this.pauseTime)){ this.initTime = (this.initTime + (currentTime - this.pauseTime)); this.startTime = (this.initTime + (this.delay * (1000 / this.combinedTimeScale))); this.pauseTime = NaN; if (((!(this.started)) && ((currentTime >= this.startTime)))){ activate(); } else { this.active = this.started; }; _pausedTweens[this] = null; delete _pausedTweens[this]; }; } public function get paused():Boolean{ return (!(isNaN(this.pauseTime))); } public function reverseEase($t:Number, $b:Number, $c:Number, $d:Number):Number{ return (this.vars.ease(($d - $t), $b, $c, $d)); } public function killProperties($names:Array):void{ var i:int; var v:Object = {}; i = ($names.length - 1); while (i > -1) { v[$names[i]] = true; i--; }; killVars(v); } public function hasEventListener($type:String):Boolean{ if (_dispatcher == null){ return (false); }; return (_dispatcher.hasEventListener($type)); } public function pause():void{ if (isNaN(this.pauseTime)){ this.pauseTime = currentTime; this.startTime = 999999999999999; this.enabled = false; _pausedTweens[this] = this; }; } override public function complete($skipRender:Boolean=false):void{ if (((((!(isNaN(this.vars.yoyo))) && ((((_repeatCount < this.vars.yoyo)) || ((this.vars.yoyo == 0)))))) || (((!(isNaN(this.vars.loop))) && ((((_repeatCount < this.vars.loop)) || ((this.vars.loop == 0)))))))){ _repeatCount++; if (!isNaN(this.vars.yoyo)){ this.ease = ((this.vars.ease)==this.ease) ? reverseEase : this.vars.ease; }; this.startTime = ($skipRender) ? (this.startTime + (this.duration * (1000 / this.combinedTimeScale))) : currentTime; this.initTime = (this.startTime - (this.delay * (1000 / this.combinedTimeScale))); } else { if (this.vars.persist == true){ pause(); }; }; super.complete($skipRender); } public function set timeScale($n:Number):void{ if ($n < 1E-5){ $n = (_timeScale = 1E-5); } else { _timeScale = $n; $n = ($n * _globalTimeScale); }; this.initTime = ((currentTime - ((((currentTime - this.initTime) - (this.delay * (1000 / this.combinedTimeScale))) * this.combinedTimeScale) * (1 / $n))) - (this.delay * (1000 / $n))); if (this.startTime != 999999999999999){ this.startTime = (this.initTime + (this.delay * (1000 / $n))); }; this.combinedTimeScale = $n; } public function invalidate($adjustStartValues:Boolean=true):void{ var p:Number; if (this.initted){ p = this.progress; if (((!($adjustStartValues)) && (!((p == 0))))){ this.progress = 0; }; this.tweens = []; _hasPlugins = false; this.exposedVars = ((this.vars.isTV)==true) ? this.vars.exposedProps : this.vars; initTweenVals(); _timeScale = ((this.vars.timeScale) || (1)); this.combinedTimeScale = (_timeScale * _globalTimeScale); this.delay = ((this.vars.delay) || (0)); if (isNaN(this.pauseTime)){ this.startTime = (this.initTime + ((this.delay * 1000) / this.combinedTimeScale)); }; if (((((!((this.vars.onCompleteListener == null))) || (!((this.vars.onUpdateListener == null))))) || (!((this.vars.onStartListener == null))))){ if (_dispatcher != null){ this.vars.onStart = _callbacks.onStart; this.vars.onUpdate = _callbacks.onUpdate; this.vars.onComplete = _callbacks.onComplete; _dispatcher = null; }; initDispatcher(); }; if (p != 0){ if ($adjustStartValues){ adjustStartValues(); } else { this.progress = p; }; }; }; } public function get timeScale():Number{ return (_timeScale); } protected function onCompleteDispatcher(... _args):void{ if (_callbacks.onComplete != null){ _callbacks.onComplete.apply(null, this.vars.onCompleteParams); }; _dispatcher.dispatchEvent(new TweenEvent(TweenEvent.COMPLETE)); } public static function set globalTimeScale($n:Number):void{ setGlobalTimeScale($n); } public static function pauseAll($tweens:Boolean=true, $delayedCalls:Boolean=false):void{ changePause(true, $tweens, $delayedCalls); } public static function killAllDelayedCalls($complete:Boolean=false):void{ killAll($complete, false, true); } public static function setGlobalTimeScale($scale:Number):void{ var i:int; var a:Array; if ($scale < 1E-5){ $scale = 1E-5; }; var ml:Dictionary = masterList; _globalTimeScale = $scale; for each (a in ml) { i = (a.length - 1); while (i > -1) { if ((a[i] is TweenMax)){ a[i].timeScale = (a[i].timeScale * 1); }; i--; }; }; } public static function get globalTimeScale():Number{ return (_globalTimeScale); } public static function getTweensOf($target:Object):Array{ var tween:TweenLite; var i:int; var a:Array = masterList[$target]; var toReturn:Array = []; if (a != null){ i = (a.length - 1); while (i > -1) { if (!a[i].gc){ toReturn[toReturn.length] = a[i]; }; i--; }; }; for each (tween in _pausedTweens) { if (tween.target == $target){ toReturn[toReturn.length] = tween; }; }; return (toReturn); } public static function delayedCall($delay:Number, $onComplete:Function, $onCompleteParams:Array=null, $persist:Boolean=false):TweenMax{ return (new TweenMax($onComplete, 0, {delay:$delay, onComplete:$onComplete, onCompleteParams:$onCompleteParams, persist:$persist, overwrite:0})); } public static function isTweening($target:Object):Boolean{ var a:Array = getTweensOf($target); var i:int = (a.length - 1); while (i > -1) { if (((((a[i].active) || ((a[i].startTime == currentTime)))) && (!(a[i].gc)))){ return (true); }; i--; }; return (false); } public static function changePause($pause:Boolean, $tweens:Boolean=true, $delayedCalls:Boolean=false):void{ var isDC:Boolean; var a:Array = getAllTweens(); var i:int = (a.length - 1); while (i > -1) { isDC = (a[i].target == a[i].vars.onComplete); if ((((a[i] is TweenMax)) && ((((isDC == $delayedCalls)) || (!((isDC == $tweens))))))){ a[i].paused = $pause; }; i--; }; } public static function killAllTweens($complete:Boolean=false):void{ killAll($complete, true, false); } public static function from($target:Object, $duration:Number, $vars:Object):TweenMax{ $vars.runBackwards = true; return (new TweenMax($target, $duration, $vars)); } public static function killAll($complete:Boolean=false, $tweens:Boolean=true, $delayedCalls:Boolean=true):void{ var isDC:Boolean; var i:int; var a:Array = getAllTweens(); i = (a.length - 1); while (i > -1) { isDC = (a[i].target == a[i].vars.onComplete); if ((((isDC == $delayedCalls)) || (!((isDC == $tweens))))){ if ($complete){ a[i].complete(false); a[i].clear(); } else { TweenLite.removeTween(a[i], true); }; }; i--; }; } public static function getAllTweens():Array{ var a:Array; var i:int; var tween:TweenLite; var ml:Dictionary = masterList; var toReturn:Array = []; for each (a in ml) { i = (a.length - 1); while (i > -1) { if (!a[i].gc){ toReturn[toReturn.length] = a[i]; }; i--; }; }; for each (tween in _pausedTweens) { toReturn[toReturn.length] = tween; }; return (toReturn); } public static function resumeAll($tweens:Boolean=true, $delayedCalls:Boolean=false):void{ changePause(false, $tweens, $delayedCalls); } public static function to($target:Object, $duration:Number, $vars:Object):TweenMax{ return (new TweenMax($target, $duration, $vars)); } } }//package gs
Section 66
//attack_animation_50 (library_fla.attack_animation_50) package library_fla { import flash.display.*; public dynamic class attack_animation_50 extends MovieClip { public function attack_animation_50(){ addFrameScript(0, this.frame1, 65, this.frame66, 88, this.frame89, 148, this.frame149, 203, this.frame204, 238, this.frame239, 262, this.frame263, 350, this.frame351, 374, this.frame375, 392, this.frame393, 418, this.frame419, 439, this.frame440, 476, this.frame477, 541, this.frame542, 565, this.frame566, 601, this.frame602); } function frame393(){ stop(); } function frame351(){ stop(); } function frame440(){ stop(); } function frame375(){ stop(); } function frame542(){ stop(); } function frame477(){ stop(); } function frame566(){ stop(); } function frame149(){ stop(); } function frame1(){ } function frame66(){ stop(); } function frame89(){ stop(); } function frame419(){ stop(); } function frame204(){ stop(); } function frame263(){ stop(); } function frame239(){ stop(); } function frame602(){ stop(); } } }//package library_fla
Section 67
//line1_54 (library_fla.line1_54) package library_fla { import flash.display.*; public dynamic class line1_54 extends MovieClip { public function line1_54(){ addFrameScript(61, this.frame62); } function frame62(){ gotoAndPlay("loop"); } } }//package library_fla
Section 68
//line3_bottom_92 (library_fla.line3_bottom_92) package library_fla { import flash.display.*; public dynamic class line3_bottom_92 extends MovieClip { public function line3_bottom_92(){ addFrameScript(56, this.frame57); } function frame57(){ gotoAndPlay("loop"); } } }//package library_fla
Section 69
//lines_2_69 (library_fla.lines_2_69) package library_fla { import flash.display.*; public dynamic class lines_2_69 extends MovieClip { public function lines_2_69(){ addFrameScript(93, this.frame94); } function frame94(){ gotoAndPlay("loop"); } } }//package library_fla
Section 70
//lines_2_right_70 (library_fla.lines_2_right_70) package library_fla { import flash.display.*; public dynamic class lines_2_right_70 extends MovieClip { public function lines_2_right_70(){ addFrameScript(79, this.frame80); } function frame80(){ gotoAndPlay("loop"); } } }//package library_fla
Section 71
//lines_download_left_107 (library_fla.lines_download_left_107) package library_fla { import flash.display.*; public dynamic class lines_download_left_107 extends MovieClip { public function lines_download_left_107(){ addFrameScript(78, this.frame79); } function frame79(){ gotoAndPlay("loop"); } } }//package library_fla
Section 72
//lines_download_right_109 (library_fla.lines_download_right_109) package library_fla { import flash.display.*; public dynamic class lines_download_right_109 extends MovieClip { public function lines_download_right_109(){ addFrameScript(73, this.frame74); } function frame74(){ gotoAndPlay("loop"); } } }//package library_fla
Section 73
//lines_upload_left_111 (library_fla.lines_upload_left_111) package library_fla { import flash.display.*; public dynamic class lines_upload_left_111 extends MovieClip { public function lines_upload_left_111(){ addFrameScript(78, this.frame79); } function frame79(){ gotoAndPlay("loop"); } } }//package library_fla
Section 74
//lines_upload_right_113 (library_fla.lines_upload_right_113) package library_fla { import flash.display.*; public dynamic class lines_upload_right_113 extends MovieClip { public function lines_upload_right_113(){ addFrameScript(73, this.frame74); } function frame74(){ gotoAndPlay("loop"); } } }//package library_fla
Section 75
//story1_frame1_enter_52 (library_fla.story1_frame1_enter_52) package library_fla { import flash.display.*; public dynamic class story1_frame1_enter_52 extends MovieClip { public function story1_frame1_enter_52(){ addFrameScript(149, this.frame150); } function frame150(){ stop(); } } }//package library_fla
Section 76
//story1_frame3_enter_65 (library_fla.story1_frame3_enter_65) package library_fla { import flash.display.*; public dynamic class story1_frame3_enter_65 extends MovieClip { public function story1_frame3_enter_65(){ addFrameScript(298, this.frame299); } function frame299(){ stop(); } } }//package library_fla
Section 77
//story1_frame3_exit_66 (library_fla.story1_frame3_exit_66) package library_fla { import flash.display.*; public dynamic class story1_frame3_exit_66 extends MovieClip { public function story1_frame3_exit_66(){ addFrameScript(24, this.frame25); } function frame25(){ stop(); } } }//package library_fla
Section 78
//story1_frame4_exit_85 (library_fla.story1_frame4_exit_85) package library_fla { import flash.display.*; public dynamic class story1_frame4_exit_85 extends MovieClip { public function story1_frame4_exit_85(){ addFrameScript(25, this.frame26); } function frame26(){ stop(); } } }//package library_fla
Section 79
//story1_frame4_exitflv_78 (library_fla.story1_frame4_exitflv_78) package library_fla { import flash.display.*; public dynamic class story1_frame4_exitflv_78 extends MovieClip { public function story1_frame4_exitflv_78(){ addFrameScript(103, this.frame104); } function frame104(){ stop(); } } }//package library_fla
Section 80
//story1_step2_line_64 (library_fla.story1_step2_line_64) package library_fla { import flash.display.*; public dynamic class story1_step2_line_64 extends MovieClip { public function story1_step2_line_64(){ addFrameScript(82, this.frame83); } function frame83(){ gotoAndPlay("loop"); } } }//package library_fla
Section 81
//story2_exit_99 (library_fla.story2_exit_99) package library_fla { import flash.display.*; public dynamic class story2_exit_99 extends MovieClip { public function story2_exit_99(){ addFrameScript(18, this.frame19, 268, this.frame269); } function frame269(){ stop(); } function frame19(){ stop(); } } }//package library_fla
Section 82
//story2_frame1_enter_86 (library_fla.story2_frame1_enter_86) package library_fla { import flash.display.*; public dynamic class story2_frame1_enter_86 extends MovieClip { public function story2_frame1_enter_86(){ addFrameScript(104, this.frame105); } function frame105(){ stop(); } } }//package library_fla
Section 83
//story2_frame2_transition_98 (library_fla.story2_frame2_transition_98) package library_fla { import flash.display.*; public dynamic class story2_frame2_transition_98 extends MovieClip { public function story2_frame2_transition_98(){ addFrameScript(266, this.frame267); } function frame267(){ stop(); } } }//package library_fla
Section 84
//story2_step2_left_lines_94 (library_fla.story2_step2_left_lines_94) package library_fla { import flash.display.*; public dynamic class story2_step2_left_lines_94 extends MovieClip { public function story2_step2_left_lines_94(){ addFrameScript(64, this.frame65); } function frame65(){ gotoAndPlay("loop"); } } }//package library_fla
Section 85
//story2_step2_lines_right_90 (library_fla.story2_step2_lines_right_90) package library_fla { import flash.display.*; public dynamic class story2_step2_lines_right_90 extends MovieClip { public function story2_step2_lines_right_90(){ addFrameScript(78, this.frame79); } function frame79(){ gotoAndPlay("loop"); } } }//package library_fla
Section 86
//story3_frame1_enter_100 (library_fla.story3_frame1_enter_100) package library_fla { import flash.display.*; public dynamic class story3_frame1_enter_100 extends MovieClip { public function story3_frame1_enter_100(){ addFrameScript(180, this.frame181); } function frame181(){ stop(); } } }//package library_fla
Section 87
//story3_frame1_exit_1_101 (library_fla.story3_frame1_exit_1_101) package library_fla { import flash.display.*; public dynamic class story3_frame1_exit_1_101 extends MovieClip { public function story3_frame1_exit_1_101(){ addFrameScript(20, this.frame21); } function frame21(){ stop(); } } }//package library_fla
Section 88
//story3_frame2_enter_102 (library_fla.story3_frame2_enter_102) package library_fla { import flash.display.*; public dynamic class story3_frame2_enter_102 extends MovieClip { public function story3_frame2_enter_102(){ addFrameScript(44, this.frame45); } function frame45(){ stop(); } } }//package library_fla
Section 89
//story3_frame2_exit_106 (library_fla.story3_frame2_exit_106) package library_fla { import flash.display.*; public dynamic class story3_frame2_exit_106 extends MovieClip { public function story3_frame2_exit_106(){ addFrameScript(19, this.frame20); } function frame20(){ stop(); } } }//package library_fla
Section 90
//story3_step3_bottom_line_104 (library_fla.story3_step3_bottom_line_104) package library_fla { import flash.display.*; public dynamic class story3_step3_bottom_line_104 extends MovieClip { public function story3_step3_bottom_line_104(){ addFrameScript(56, this.frame57); } function frame57(){ gotoAndPlay("loop"); } } }//package library_fla
Section 91
//story3_step3_left_lines_105 (library_fla.story3_step3_left_lines_105) package library_fla { import flash.display.*; public dynamic class story3_step3_left_lines_105 extends MovieClip { public function story3_step3_left_lines_105(){ addFrameScript(71, this.frame72); } function frame72(){ gotoAndPlay("loop"); } } }//package library_fla
Section 92
//story3_step3_lines_rightcopy_103 (library_fla.story3_step3_lines_rightcopy_103) package library_fla { import flash.display.*; public dynamic class story3_step3_lines_rightcopy_103 extends MovieClip { public function story3_step3_lines_rightcopy_103(){ addFrameScript(78, this.frame79); } function frame79(){ gotoAndPlay("loop"); } } }//package library_fla
Section 93
//invisibutton (invisibutton) package { import com.domani.components.ui.*; public dynamic class invisibutton extends Button { } }//package
Section 94
//LibCriminalLifeCycleNextButton (LibCriminalLifeCycleNextButton) package { import com.domani.components.ui.*; public dynamic class LibCriminalLifeCycleNextButton extends Button { } }//package
Section 95
//LibCriminalLifeCyclePrevButton (LibCriminalLifeCyclePrevButton) package { import com.domani.components.ui.*; public dynamic class LibCriminalLifeCyclePrevButton extends Button { } }//package
Section 96
//LibFonts (LibFonts) package { import flash.display.*; public dynamic class LibFonts extends MovieClip { } }//package
Section 97
//LibInfection (LibInfection) package { import flash.display.*; public dynamic class LibInfection extends MovieClip { } }//package
Section 98
//LibInfectionMap (LibInfectionMap) package { import flash.display.*; public dynamic class LibInfectionMap extends MovieClip { public var infection:MovieClip; } }//package
Section 99
//LibLaptops (LibLaptops) package { import flash.events.*; import flash.display.*; public dynamic class LibLaptops extends MovieClip { public var btn1:invisibutton; public var btn2:invisibutton; public var btn3:invisibutton; public function LibLaptops(){ addFrameScript(0, this.frame1, 19, this.frame20, 137, this.frame138, 153, this.frame154); } function frame154(){ dispatchEvent(new Event("onCollapsed")); stop(); } function frame1(){ stop(); } function frame138(){ stop(); } function frame20(){ dispatchEvent(new Event("onExpanded")); } } }//package
Section 100
//LibLongYellowButtonBg (LibLongYellowButtonBg) package { import flash.display.*; public dynamic class LibLongYellowButtonBg extends MovieClip { } }//package
Section 101
//LibLongYellowButtonDisabledBg (LibLongYellowButtonDisabledBg) package { import flash.display.*; public dynamic class LibLongYellowButtonDisabledBg extends MovieClip { } }//package
Section 102
//LibMapAnim (LibMapAnim) package { import flash.display.*; public dynamic class LibMapAnim extends MovieClip { public var map:MovieClip; public function LibMapAnim(){ addFrameScript(0, this.frame1, 35, this.frame36, 67, this.frame68, 86, this.frame87, 101, this.frame102); } function frame36(){ stop(); } function frame1(){ stop(); } function frame102(){ stop(); } function frame87(){ stop(); } function frame68(){ stop(); } } }//package
Section 103
//LibMapShading (LibMapShading) package { import flash.display.*; public dynamic class LibMapShading extends MovieClip { } }//package
Section 104
//LibPin (LibPin) package { import flash.display.*; public dynamic class LibPin extends MovieClip { public function LibPin(){ addFrameScript(12, this.frame13); } function frame13(){ stop(); } } }//package
Section 105
//LibSiteLinkButtonArrow (LibSiteLinkButtonArrow) package { import flash.display.*; public dynamic class LibSiteLinkButtonArrow extends MovieClip { } }//package
Section 106
//LibXIcon (LibXIcon) package { import flash.display.*; public dynamic class LibXIcon extends MovieClip { } }//package

Library Items

Symbol 1 FontUsed by:2
Symbol 2 EditableTextUses:1Used by:13
Symbol 3 FontUsed by:4
Symbol 4 EditableTextUses:3Used by:13
Symbol 5 FontUsed by:6
Symbol 6 EditableTextUses:5Used by:13
Symbol 7 FontUsed by:8
Symbol 8 EditableTextUses:7Used by:13
Symbol 9 FontUsed by:10
Symbol 10 EditableTextUses:9Used by:13
Symbol 11 FontUsed by:12
Symbol 12 EditableTextUses:11Used by:13
Symbol 13 MovieClip {LibFonts} [LibFonts]Uses:2 4 6 8 10 12
Symbol 14 GraphicUsed by:143
Symbol 15 BitmapUsed by:16
Symbol 16 GraphicUses:15Used by:17
Symbol 17 MovieClipUses:16Used by:142
Symbol 18 GraphicUsed by:142
Symbol 19 VideoUsed by:20 120
Symbol 20 MovieClip {library_fla.story1_frame1_enter_52} [library_fla.story1_frame1_enter_52]Uses:19Used by:142
Symbol 21 GraphicUsed by:22
Symbol 22 MovieClipUses:21Used by:142
Symbol 23 GraphicUsed by:26
Symbol 24 GraphicUsed by:25
Symbol 25 MovieClipUses:24Used by:26 46 55 58 98 104 122 125 132 135 138 141
Symbol 26 MovieClip {library_fla.line1_54} [library_fla.line1_54]Uses:23 25Used by:142
Symbol 27 GraphicUsed by:32 36 43 62 66 70 76 80 84
Symbol 28 BitmapUsed by:29
Symbol 29 GraphicUses:28Used by:30
Symbol 30 MovieClipUses:29Used by:32
Symbol 31 GraphicUsed by:32 36 43 62 66 70 76 80 84
Symbol 32 MovieClipUses:27 30 31Used by:142
Symbol 33 BitmapUsed by:34
Symbol 34 GraphicUses:33Used by:35
Symbol 35 MovieClipUses:34Used by:36
Symbol 36 MovieClipUses:27 35 31Used by:142
Symbol 37 GraphicUsed by:38
Symbol 38 MovieClipUses:37Used by:39
Symbol 39 MovieClipUses:38Used by:142
Symbol 40 BitmapUsed by:41
Symbol 41 GraphicUses:40Used by:42
Symbol 42 MovieClipUses:41Used by:43
Symbol 43 MovieClipUses:27 42 31Used by:142
Symbol 44 VideoUsed by:142
Symbol 45 GraphicUsed by:46
Symbol 46 MovieClip {library_fla.story1_step2_line_64} [library_fla.story1_step2_line_64]Uses:45 25Used by:142
Symbol 47 VideoUsed by:48
Symbol 48 MovieClip {library_fla.story1_frame3_enter_65} [library_fla.story1_frame3_enter_65]Uses:47Used by:142
Symbol 49 VideoUsed by:50
Symbol 50 MovieClip {library_fla.story1_frame3_exit_66} [library_fla.story1_frame3_exit_66]Uses:49Used by:142
Symbol 51 GraphicUsed by:52
Symbol 52 MovieClipUses:51Used by:53
Symbol 53 MovieClipUses:52Used by:142
Symbol 54 GraphicUsed by:55
Symbol 55 MovieClip {library_fla.lines_2_69} [library_fla.lines_2_69]Uses:54 25Used by:142
Symbol 56 GraphicUsed by:57
Symbol 57 MovieClipUses:56Used by:58
Symbol 58 MovieClip {library_fla.lines_2_right_70} [library_fla.lines_2_right_70]Uses:57 25Used by:142
Symbol 59 BitmapUsed by:60
Symbol 60 GraphicUses:59Used by:61
Symbol 61 MovieClipUses:60Used by:62
Symbol 62 MovieClipUses:27 61 31Used by:142
Symbol 63 BitmapUsed by:64
Symbol 64 GraphicUses:63Used by:65
Symbol 65 MovieClipUses:64Used by:66
Symbol 66 MovieClipUses:27 65 31Used by:142
Symbol 67 BitmapUsed by:68
Symbol 68 GraphicUses:67Used by:69
Symbol 69 MovieClipUses:68Used by:70
Symbol 70 MovieClipUses:27 69 31Used by:142
Symbol 71 VideoUsed by:72
Symbol 72 MovieClip {library_fla.story1_frame4_exitflv_78} [library_fla.story1_frame4_exitflv_78]Uses:71Used by:142
Symbol 73 BitmapUsed by:74
Symbol 74 GraphicUses:73Used by:75
Symbol 75 MovieClipUses:74Used by:76
Symbol 76 MovieClipUses:27 75 31Used by:142
Symbol 77 BitmapUsed by:78
Symbol 78 GraphicUses:77Used by:79
Symbol 79 MovieClipUses:78Used by:80
Symbol 80 MovieClipUses:27 79 31Used by:142
Symbol 81 BitmapUsed by:82
Symbol 82 GraphicUses:81Used by:83
Symbol 83 MovieClipUses:82Used by:84
Symbol 84 MovieClipUses:27 83 31Used by:142
Symbol 85 VideoUsed by:86
Symbol 86 MovieClip {library_fla.story1_frame4_exit_85} [library_fla.story1_frame4_exit_85]Uses:85Used by:142
Symbol 87 VideoUsed by:88
Symbol 88 MovieClip {library_fla.story2_frame1_enter_86} [library_fla.story2_frame1_enter_86]Uses:87Used by:142
Symbol 89 GraphicUsed by:92
Symbol 90 BitmapUsed by:91
Symbol 91 GraphicUses:90Used by:92
Symbol 92 MovieClipUses:89 91Used by:95
Symbol 93 GraphicUsed by:94
Symbol 94 MovieClipUses:93Used by:95
Symbol 95 MovieClipUses:92 94Used by:142
Symbol 96 GraphicUsed by:97
Symbol 97 MovieClipUses:96Used by:98
Symbol 98 MovieClip {library_fla.story2_step2_lines_right_90} [library_fla.story2_step2_lines_right_90]Uses:97 25Used by:142
Symbol 99 GraphicUsed by:102 123
Symbol 100 GraphicUsed by:101
Symbol 101 MovieClipUses:100Used by:102 123
Symbol 102 MovieClip {library_fla.line3_bottom_92} [library_fla.line3_bottom_92]Uses:99 101Used by:142
Symbol 103 GraphicUsed by:104
Symbol 104 MovieClip {library_fla.story2_step2_left_lines_94} [library_fla.story2_step2_left_lines_94]Uses:103 25Used by:142
Symbol 105 BitmapUsed by:106
Symbol 106 GraphicUses:105Used by:107
Symbol 107 MovieClipUses:106Used by:142
Symbol 108 BitmapUsed by:109
Symbol 109 GraphicUses:108Used by:110
Symbol 110 MovieClipUses:109Used by:111
Symbol 111 MovieClipUses:110Used by:142
Symbol 112 VideoUsed by:113
Symbol 113 MovieClip {library_fla.story2_frame2_transition_98} [library_fla.story2_frame2_transition_98]Uses:112Used by:142
Symbol 114 VideoUsed by:115
Symbol 115 MovieClip {library_fla.story2_exit_99} [library_fla.story2_exit_99]Uses:114Used by:142
Symbol 116 VideoUsed by:117
Symbol 117 MovieClip {library_fla.story3_frame1_enter_100} [library_fla.story3_frame1_enter_100]Uses:116Used by:142
Symbol 118 VideoUsed by:119
Symbol 119 MovieClip {library_fla.story3_frame1_exit_1_101} [library_fla.story3_frame1_exit_1_101]Uses:118Used by:142
Symbol 120 MovieClip {library_fla.story3_frame2_enter_102} [library_fla.story3_frame2_enter_102]Uses:19Used by:142
Symbol 121 GraphicUsed by:122
Symbol 122 MovieClip {library_fla.story3_step3_lines_rightcopy_103} [library_fla.story3_step3_lines_rightcopy_103]Uses:121 25Used by:142
Symbol 123 MovieClip {library_fla.story3_step3_bottom_line_104} [library_fla.story3_step3_bottom_line_104]Uses:99 101Used by:142
Symbol 124 GraphicUsed by:125
Symbol 125 MovieClip {library_fla.story3_step3_left_lines_105} [library_fla.story3_step3_left_lines_105]Uses:124 25Used by:142
Symbol 126 VideoUsed by:127
Symbol 127 MovieClip {library_fla.story3_frame2_exit_106} [library_fla.story3_frame2_exit_106]Uses:126Used by:142
Symbol 128 GraphicUsed by:142
Symbol 129 GraphicUsed by:142
Symbol 130 GraphicUsed by:131
Symbol 131 MovieClipUses:130Used by:132
Symbol 132 MovieClip {library_fla.lines_download_left_107} [library_fla.lines_download_left_107]Uses:131 25Used by:142
Symbol 133 GraphicUsed by:134
Symbol 134 MovieClipUses:133Used by:135
Symbol 135 MovieClip {library_fla.lines_download_right_109} [library_fla.lines_download_right_109]Uses:134 25Used by:142
Symbol 136 GraphicUsed by:137
Symbol 137 MovieClipUses:136Used by:138
Symbol 138 MovieClip {library_fla.lines_upload_left_111} [library_fla.lines_upload_left_111]Uses:137 25Used by:142
Symbol 139 GraphicUsed by:140
Symbol 140 MovieClipUses:139Used by:141
Symbol 141 MovieClip {library_fla.lines_upload_right_113} [library_fla.lines_upload_right_113]Uses:140 25Used by:142
Symbol 142 MovieClip {library_fla.attack_animation_50} [library_fla.attack_animation_50]Uses:17 18 20 22 26 32 36 39 43 44 46 48 50 53 55 58 62 66 70 72 76 80 84 86 88 95 98 102 104 107 111 113 115 117 119 120 122 123 125 127 128 129 132 135 138 141Used by:143
Symbol 143 MovieClip {LibMapAnim} [LibMapAnim]Uses:14 142
Symbol 144 GraphicUsed by:145
Symbol 145 MovieClipUses:144Used by:148 149
Symbol 146 GraphicUsed by:147
Symbol 147 MovieClipUses:146Used by:148 149
Symbol 148 MovieClip {LibCriminalLifeCyclePrevButton} [LibCriminalLifeCyclePrevButton]Uses:145 147
Symbol 149 MovieClip {LibCriminalLifeCycleNextButton} [LibCriminalLifeCycleNextButton]Uses:145 147
Symbol 150 GraphicUsed by:151
Symbol 151 MovieClip {com.omniture.ActionSource} [com.omniture.ActionSource]Uses:150
Symbol 152 BitmapUsed by:153
Symbol 153 GraphicUses:152Used by:154
Symbol 154 MovieClip {LibSiteLinkButtonArrow} [LibSiteLinkButtonArrow]Uses:153
Symbol 155 BitmapUsed by:156
Symbol 156 GraphicUses:155Used by:185
Symbol 157 BitmapUsed by:158
Symbol 158 GraphicUses:157Used by:185
Symbol 159 BitmapUsed by:160
Symbol 160 GraphicUses:159Used by:185
Symbol 161 BitmapUsed by:162
Symbol 162 GraphicUses:161Used by:185
Symbol 163 BitmapUsed by:164
Symbol 164 GraphicUses:163Used by:185
Symbol 165 BitmapUsed by:166
Symbol 166 GraphicUses:165Used by:185
Symbol 167 BitmapUsed by:168
Symbol 168 GraphicUses:167Used by:185
Symbol 169 BitmapUsed by:170
Symbol 170 GraphicUses:169Used by:185
Symbol 171 BitmapUsed by:172
Symbol 172 GraphicUses:171Used by:185
Symbol 173 BitmapUsed by:174
Symbol 174 GraphicUses:173Used by:185
Symbol 175 BitmapUsed by:176
Symbol 176 GraphicUses:175Used by:185
Symbol 177 BitmapUsed by:178
Symbol 178 GraphicUses:177Used by:185
Symbol 179 BitmapUsed by:180
Symbol 180 GraphicUses:179Used by:185
Symbol 181 BitmapUsed by:182
Symbol 182 GraphicUses:181Used by:185
Symbol 183 BitmapUsed by:184
Symbol 184 GraphicUses:183Used by:185
Symbol 185 MovieClip {LibInfection} [LibInfection]Uses:156 158 160 162 164 166 168 170 172 174 176 178 180 182 184
Symbol 186 BitmapUsed by:187
Symbol 187 GraphicUses:186Used by:188
Symbol 188 MovieClipUses:187Used by:192
Symbol 189 MovieClipUsed by:191
Symbol 190 MovieClipUsed by:191
Symbol 191 MovieClipUses:189 190Used by:192
Symbol 192 MovieClip {LibInfectionMap} [LibInfectionMap]Uses:188 191
Symbol 193 GraphicUsed by:194
Symbol 194 MovieClip {LibMapShading} [LibMapShading]Uses:193
Symbol 195 GraphicUsed by:196
Symbol 196 MovieClipUses:195Used by:199
Symbol 197 GraphicUsed by:198
Symbol 198 MovieClipUses:197Used by:199
Symbol 199 MovieClip {LibPin} [LibPin]Uses:196 198
Symbol 200 GraphicUsed by:205
Symbol 201 GraphicUsed by:202
Symbol 202 MovieClip {invisibutton} [invisibutton]Uses:201Used by:205
Symbol 203 VideoUsed by:205
Symbol 204 VideoUsed by:205
Symbol 205 MovieClip {LibLaptops} [LibLaptops]Uses:200 202 203 204
Symbol 206 BitmapUsed by:207
Symbol 207 GraphicUses:206Used by:208
Symbol 208 MovieClip {LibLongYellowButtonDisabledBg} [LibLongYellowButtonDisabledBg]Uses:207
Symbol 209 BitmapUsed by:210
Symbol 210 GraphicUses:209Used by:211
Symbol 211 MovieClip {LibLongYellowButtonBg} [LibLongYellowButtonBg]Uses:210
Symbol 212 BitmapUsed by:213
Symbol 213 GraphicUses:212Used by:214
Symbol 214 MovieClip {LibXIcon} [LibXIcon]Uses:213

Instance Names

"map"Symbol 143 MovieClip {LibMapAnim} [LibMapAnim] Frame 1Symbol 142 MovieClip {library_fla.attack_animation_50} [library_fla.attack_animation_50]
"infection"Symbol 192 MovieClip {LibInfectionMap} [LibInfectionMap] Frame 1Symbol 191 MovieClip
"btn1"Symbol 205 MovieClip {LibLaptops} [LibLaptops] Frame 1Symbol 202 MovieClip {invisibutton} [invisibutton]
"btn2"Symbol 205 MovieClip {LibLaptops} [LibLaptops] Frame 1Symbol 202 MovieClip {invisibutton} [invisibutton]
"btn3"Symbol 205 MovieClip {LibLaptops} [LibLaptops] Frame 1Symbol 202 MovieClip {invisibutton} [invisibutton]

Special Tags

FileAttributes (69)Timeline Frame 1Access network only, Metadata present, AS3.
SWFMetaData (77)Timeline Frame 1458 bytes "<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'><rdf:Description rdf:about='' xmlns ..."
ScriptLimits (65)Timeline Frame 1MaxRecursionDepth: 1000, ScriptTimeout: 60 seconds
ExportAssets (56)Timeline Frame 1Symbol 13 as "LibFonts"
ExportAssets (56)Timeline Frame 1Symbol 143 as "LibMapAnim"
ExportAssets (56)Timeline Frame 1Symbol 148 as "LibCriminalLifeCyclePrevButton"
ExportAssets (56)Timeline Frame 1Symbol 149 as "LibCriminalLifeCycleNextButton"
ExportAssets (56)Timeline Frame 1Symbol 151 as "com.omniture.ActionSource"
ExportAssets (56)Timeline Frame 1Symbol 142 as "library_fla.attack_animation_50"
ExportAssets (56)Timeline Frame 1Symbol 154 as "LibSiteLinkButtonArrow"
ExportAssets (56)Timeline Frame 1Symbol 185 as "LibInfection"
ExportAssets (56)Timeline Frame 1Symbol 192 as "LibInfectionMap"
ExportAssets (56)Timeline Frame 1Symbol 194 as "LibMapShading"
ExportAssets (56)Timeline Frame 1Symbol 199 as "LibPin"
ExportAssets (56)Timeline Frame 1Symbol 205 as "LibLaptops"
ExportAssets (56)Timeline Frame 1Symbol 208 as "LibLongYellowButtonDisabledBg"
ExportAssets (56)Timeline Frame 1Symbol 211 as "LibLongYellowButtonBg"
ExportAssets (56)Timeline Frame 1Symbol 127 as "library_fla.story3_frame2_exit_106"
ExportAssets (56)Timeline Frame 1Symbol 55 as "library_fla.lines_2_69"
ExportAssets (56)Timeline Frame 1Symbol 72 as "library_fla.story1_frame4_exitflv_78"
ExportAssets (56)Timeline Frame 1Symbol 138 as "library_fla.lines_upload_left_111"
ExportAssets (56)Timeline Frame 1Symbol 20 as "library_fla.story1_frame1_enter_52"
ExportAssets (56)Timeline Frame 1Symbol 48 as "library_fla.story1_frame3_enter_65"
ExportAssets (56)Timeline Frame 1Symbol 125 as "library_fla.story3_step3_left_lines_105"
ExportAssets (56)Timeline Frame 1Symbol 135 as "library_fla.lines_download_right_109"
ExportAssets (56)Timeline Frame 1Symbol 119 as "library_fla.story3_frame1_exit_1_101"
ExportAssets (56)Timeline Frame 1Symbol 115 as "library_fla.story2_exit_99"
ExportAssets (56)Timeline Frame 1Symbol 117 as "library_fla.story3_frame1_enter_100"
ExportAssets (56)Timeline Frame 1Symbol 88 as "library_fla.story2_frame1_enter_86"
ExportAssets (56)Timeline Frame 1Symbol 86 as "library_fla.story1_frame4_exit_85"
ExportAssets (56)Timeline Frame 1Symbol 102 as "library_fla.line3_bottom_92"
ExportAssets (56)Timeline Frame 1Symbol 113 as "library_fla.story2_frame2_transition_98"
ExportAssets (56)Timeline Frame 1Symbol 122 as "library_fla.story3_step3_lines_rightcopy_103"
ExportAssets (56)Timeline Frame 1Symbol 141 as "library_fla.lines_upload_right_113"
ExportAssets (56)Timeline Frame 1Symbol 123 as "library_fla.story3_step3_bottom_line_104"
ExportAssets (56)Timeline Frame 1Symbol 46 as "library_fla.story1_step2_line_64"
ExportAssets (56)Timeline Frame 1Symbol 50 as "library_fla.story1_frame3_exit_66"
ExportAssets (56)Timeline Frame 1Symbol 104 as "library_fla.story2_step2_left_lines_94"
ExportAssets (56)Timeline Frame 1Symbol 120 as "library_fla.story3_frame2_enter_102"
ExportAssets (56)Timeline Frame 1Symbol 26 as "library_fla.line1_54"
ExportAssets (56)Timeline Frame 1Symbol 58 as "library_fla.lines_2_right_70"
ExportAssets (56)Timeline Frame 1Symbol 132 as "library_fla.lines_download_left_107"
ExportAssets (56)Timeline Frame 1Symbol 98 as "library_fla.story2_step2_lines_right_90"
ExportAssets (56)Timeline Frame 1Symbol 202 as "invisibutton"
ExportAssets (56)Timeline Frame 1Symbol 214 as "LibXIcon"
EnableDebugger2 (64)Timeline Frame 131 bytes "u.$1$XJ$CyzrvlrWHmgFjGdYoeWAg0."
DebugMX1 (63)Timeline Frame 1
SerialNumber (41)Timeline Frame 1

Labels

"com_norton_app_CybercrimeLifeCycle"Frame 1
"loop"Symbol 26 MovieClip {library_fla.line1_54} [library_fla.line1_54] Frame 18
"loop"Symbol 46 MovieClip {library_fla.story1_step2_line_64} [library_fla.story1_step2_line_64] Frame 39
"loop"Symbol 55 MovieClip {library_fla.lines_2_69} [library_fla.lines_2_69] Frame 45
"loop"Symbol 58 MovieClip {library_fla.lines_2_right_70} [library_fla.lines_2_right_70] Frame 34
"loop"Symbol 98 MovieClip {library_fla.story2_step2_lines_right_90} [library_fla.story2_step2_lines_right_90] Frame 30
"loop"Symbol 102 MovieClip {library_fla.line3_bottom_92} [library_fla.line3_bottom_92] Frame 19
"loop"Symbol 104 MovieClip {library_fla.story2_step2_left_lines_94} [library_fla.story2_step2_left_lines_94] Frame 19
"loop"Symbol 122 MovieClip {library_fla.story3_step3_lines_rightcopy_103} [library_fla.story3_step3_lines_rightcopy_103] Frame 30
"loop"Symbol 123 MovieClip {library_fla.story3_step3_bottom_line_104} [library_fla.story3_step3_bottom_line_104] Frame 19
"loop"Symbol 125 MovieClip {library_fla.story3_step3_left_lines_105} [library_fla.story3_step3_left_lines_105] Frame 26
"loop"Symbol 132 MovieClip {library_fla.lines_download_left_107} [library_fla.lines_download_left_107] Frame 30
"loop"Symbol 135 MovieClip {library_fla.lines_download_right_109} [library_fla.lines_download_right_109] Frame 25
"loop"Symbol 138 MovieClip {library_fla.lines_upload_left_111} [library_fla.lines_upload_left_111] Frame 30
"loop"Symbol 141 MovieClip {library_fla.lines_upload_right_113} [library_fla.lines_upload_right_113] Frame 25
"story1_step1"Symbol 142 MovieClip {library_fla.attack_animation_50} [library_fla.attack_animation_50] Frame 1
"story1_step2"Symbol 142 MovieClip {library_fla.attack_animation_50} [library_fla.attack_animation_50] Frame 67
"story1_step3"Symbol 142 MovieClip {library_fla.attack_animation_50} [library_fla.attack_animation_50] Frame 90
"story1_step4"Symbol 142 MovieClip {library_fla.attack_animation_50} [library_fla.attack_animation_50] Frame 150
"story1_exit"Symbol 142 MovieClip {library_fla.attack_animation_50} [library_fla.attack_animation_50] Frame 205
"story2_step1"Symbol 142 MovieClip {library_fla.attack_animation_50} [library_fla.attack_animation_50] Frame 253
"story2_step2"Symbol 142 MovieClip {library_fla.attack_animation_50} [library_fla.attack_animation_50] Frame 264
"story2_step3"Symbol 142 MovieClip {library_fla.attack_animation_50} [library_fla.attack_animation_50] Frame 352
"story2_step4"Symbol 142 MovieClip {library_fla.attack_animation_50} [library_fla.attack_animation_50] Frame 376
"story2_exit"Symbol 142 MovieClip {library_fla.attack_animation_50} [library_fla.attack_animation_50] Frame 394
"story3_step1"Symbol 142 MovieClip {library_fla.attack_animation_50} [library_fla.attack_animation_50] Frame 420
"story3_step2"Symbol 142 MovieClip {library_fla.attack_animation_50} [library_fla.attack_animation_50] Frame 441
"story3_step3"Symbol 142 MovieClip {library_fla.attack_animation_50} [library_fla.attack_animation_50] Frame 478
"story3_exit"Symbol 142 MovieClip {library_fla.attack_animation_50} [library_fla.attack_animation_50] Frame 543
"expand"Symbol 205 MovieClip {LibLaptops} [LibLaptops] Frame 2
"collapse"Symbol 205 MovieClip {LibLaptops} [LibLaptops] Frame 139




http://swfchan.com/17/81898/info.shtml
Created: 1/4 -2019 16:29:54 Last modified: 1/4 -2019 16:29:54 Server time: 08/05 -2024 19:54:56