PageSourceSearch

https://www.flipline.com/app_feature.js?1501531462640

js flipline.com collected 2026-10-01 11:42:00 UTC 20,357 bytes, 792 lines download raw bytes

1(function (cjs, an) {
2
3var p; // shortcut to reference prototypes
4var lib={};var ss={};var img={};
5lib.webFontTxtInst = {}; 
6var loadedTypekitCount = 0;
7var loadedGoogleCount = 0;
8var gFontsUpdateCacheList = [];
9var tFontsUpdateCacheList = [];
10lib.ssMetadata = [];
11
12
13
14lib.updateListCache = function (cacheList) {		
15	for(var i = 0; i < cacheList.length; i++) {		
16		if(cacheList[i].cacheCanvas)		
17			cacheList[i].updateCache();		
18	}		
19};		
20
21lib.addElementsToCache = function (textInst, cacheList) {		
22	var cur = textInst;		
23	while(cur != null && cur != app_exportRoot) {		
24		if(cacheList.indexOf(cur) != -1)		
25			break;		
26		cur = cur.parent;		
27	}		
28	if(cur != app_exportRoot) {		
29		var cur2 = textInst;		
30		var index = cacheList.indexOf(cur);		
31		while(cur2 != null && cur2 != cur) {		
32			cacheList.splice(index, 0, cur2);		
33			cur2 = cur2.parent;		
34			index++;		
35		}		
36	}		
37	else {		
38		cur = textInst;		
39		while(cur != null && cur != app_exportRoot) {		
40			cacheList.push(cur);		
41			cur = cur.parent;		
42		}		
43	}		
44};		
45
46lib.gfontAvailable = function(family, totalGoogleCount) {		
47	lib.properties.webfonts[family] = true;		
48	var txtInst = lib.webFontTxtInst && lib.webFontTxtInst[family] || [];		
49	for(var f = 0; f < txtInst.length; ++f)		
50		lib.addElementsToCache(txtInst[f], gFontsUpdateCacheList);		
51
52	loadedGoogleCount++;		
53	if(loadedGoogleCount == totalGoogleCount) {		
54		lib.updateListCache(gFontsUpdateCacheList);		
55	}		
56};		
57
58lib.tfontAvailable = function(family, totalTypekitCount) {		
59	lib.properties.webfonts[family] = true;		
60	var txtInst = lib.webFontTxtInst && lib.webFontTxtInst[family] || [];		
61	for(var f = 0; f < txtInst.length; ++f)		
62		lib.addElementsToCache(txtInst[f], tFontsUpdateCacheList);		
63
64	loadedTypekitCount++;		
65	if(loadedTypekitCount == totalTypekitCount) {		
66		lib.updateListCache(tFontsUpdateCacheList);		
67	}		
68};
69// symbols:
70
71
72
73(lib.appfeature_borders = function() {
74	this.initialize(img.appfeature_borders);
75}).prototype = p = new cjs.Bitmap();
76p.nominalBounds = new cjs.Rectangle(0,0,262,242);
77
78
79(lib.appfeature_loading_image = function() {
80	this.initialize(img.appfeature_loading_image);
81}).prototype = p = new cjs.Bitmap();
82p.nominalBounds = new cjs.Rectangle(0,0,262,242);// helper functions:
83
84function mc_symbol_clone() {
85	var clone = this._cloneProps(new this.constructor(this.mode, this.startPosition, this.loop));
86	clone.gotoAndStop(this.currentFrame);
87	clone.paused = this.paused;
88	clone.framerate = this.framerate;
89	return clone;
90}
91
92function getMCSymbolPrototype(symbol, nominalBounds, frameBounds) {
93	var prototype = cjs.extend(symbol, cjs.MovieClip);
94	prototype.clone = mc_symbol_clone;
95	prototype.nominalBounds = nominalBounds;
96	prototype.frameBounds = frameBounds;
97	return prototype;
98	}
99
100
101(lib.thumb2_fade = function(mode,startPosition,loop) {
102	this.initialize(mode,startPosition,loop,{});
103
104	// Layer 1
105	this.shape = new cjs.Shape();
106	this.shape.graphics.lf(["#000000","rgba(0,0,0,0.498)"],[0,1],131,0,-131,0).s().p("A0dS6MAAAglzMAo7AAAMAAAAlzg");
107	this.shape.setTransform(131,121);
108
109	this.timeline.addTween(cjs.Tween.get(this.shape).wait(1));
110
111}).prototype = getMCSymbolPrototype(lib.thumb2_fade, new cjs.Rectangle(0,0,262.1,242), null);
112
113
114(lib.thumb1_fade = function(mode,startPosition,loop) {
115	this.initialize(mode,startPosition,loop,{});
116
117	// Layer 1
118	this.shape = new cjs.Shape();
119	this.shape.graphics.lf(["#000000","rgba(0,0,0,0.498)"],[0,1],-131,0,131,0).s().p("A0dS6MAAAglzMAo7AAAMAAAAlzg");
120	this.shape.setTransform(131,121);
121
122	this.timeline.addTween(cjs.Tween.get(this.shape).wait(1));
123
124}).prototype = getMCSymbolPrototype(lib.thumb1_fade, new cjs.Rectangle(0,0,262.1,242), null);
125
126
127(lib.textbox = function(mode,startPosition,loop) {
128	this.initialize(mode,startPosition,loop,{});
129
130	// gametitle
131	this.gametitle = new cjs.Text("Get it now!", "normal 400 12px 'Archivo Black'");
132	this.gametitle.name = "gametitle";
133	this.gametitle.lineHeight = 17;
134	this.gametitle.lineWidth = 248;
135	this.gametitle.parent = this;
136	this.gametitle.setTransform(3,2);
137	if(!lib.properties.webfonts['Archivo Black']) {
138		lib.webFontTxtInst['Archivo Black'] = lib.webFontTxtInst['Archivo Black'] || [];
139		lib.webFontTxtInst['Archivo Black'].push(this.gametitle);
140	}
141
142	this.timeline.addTween(cjs.Tween.get(this.gametitle).wait(1));
143
144	// Layer 3
145	this.shape = new cjs.Shape();
146	this.shape.graphics.f("rgba(255,255,255,0.706)").s().p("AyvBkQghAAgYgYQgXgXAAghIAAgnIAAgDIAAhNMAn/AAAIAAB3QAAAhgYAXQgXAYghAAg");
147	this.shape.setTransform(128,10);
148
149	this.timeline.addTween(cjs.Tween.get(this.shape).wait(1));
150
151}).prototype = getMCSymbolPrototype(lib.textbox, new cjs.Rectangle(0,0,256,20.9), null);
152
153
154(lib.loading = function(mode,startPosition,loop) {
155	this.initialize(mode,startPosition,loop,{});
156
157	// Layer 1
158	this.instance = new lib.appfeature_loading_image();
159	this.instance.parent = this;
160
161	this.timeline.addTween(cjs.Tween.get(this.instance).wait(1));
162
163}).prototype = getMCSymbolPrototype(lib.loading, new cjs.Rectangle(0,0,262,242), null);
164
165
166(lib.hiliter = function(mode,startPosition,loop) {
167	this.initialize(mode,startPosition,loop,{flash:1});
168
169	// timeline functions:
170	this.frame_0 = function() {
171		this.stop();
172	}
173	this.frame_8 = function() {
174		this.stop();
175	}
176
177	// actions tween:
178	this.timeline.addTween(cjs.Tween.get(this).call(this.frame_0).wait(8).call(this.frame_8).wait(1));
179
180	// Layer 1
181	this.shape = new cjs.Shape();
182	this.shape.graphics.f("rgba(255,255,255,0)").s().p("Egk8AR0MAAAgjnMBJ5AAAMAAAAjng");
183	this.shape.setTransform(236.5,114);
184
185	this.shape_1 = new cjs.Shape();
186	this.shape_1.graphics.f("rgba(255,255,255,0.118)").s().p("Egk8AR0MAAAgjnMBJ5AAAMAAAAjng");
187	this.shape_1.setTransform(236.5,114);
188
189	this.shape_2 = new cjs.Shape();
190	this.shape_2.graphics.f("rgba(255,255,255,0.165)").s().p("Egk8AR0MAAAgjnMBJ5AAAMAAAAjng");
191	this.shape_2.setTransform(236.5,114);
192
193	this.shape_3 = new cjs.Shape();
194	this.shape_3.graphics.f("rgba(255,255,255,0.212)").s().p("Egk8AR0MAAAgjnMBJ5AAAMAAAAjng");
195	this.shape_3.setTransform(236.5,114);
196
197	this.shape_4 = new cjs.Shape();
198	this.shape_4.graphics.f("rgba(255,255,255,0.169)").s().p("Egk8AR0MAAAgjnMBJ5AAAMAAAAjng");
199	this.shape_4.setTransform(236.5,114);
200
201	this.shape_5 = new cjs.Shape();
202	this.shape_5.graphics.f("rgba(255,255,255,0.125)").s().p("Egk8AR0MAAAgjnMBJ5AAAMAAAAjng");
203	this.shape_5.setTransform(236.5,114);
204
205	this.shape_6 = new cjs.Shape();
206	this.shape_6.graphics.f("rgba(255,255,255,0.086)").s().p("Egk8AR0MAAAgjnMBJ5AAAMAAAAjng");
207	this.shape_6.setTransform(236.5,114);
208
209	this.shape_7 = new cjs.Shape();
210	this.shape_7.graphics.f("rgba(255,255,255,0.043)").s().p("Egk8AR0MAAAgjnMBJ5AAAMAAAAjng");
211	this.shape_7.setTransform(236.5,114);
212
213	this.timeline.addTween(cjs.Tween.get({}).to({state:[{t:this.shape}]}).to({state:[{t:this.shape_1}]},1).to({state:[{t:this.shape_2}]},1).to({state:[{t:this.shape_3}]},1).to({state:[{t:this.shape_4}]},1).to({state:[{t:this.shape_5}]},1).to({state:[{t:this.shape_6}]},1).to({state:[{t:this.shape_7}]}
213,1).to({state:[{t:this.shape}]},1).wait(1));
214
215}).prototype = p = new cjs.MovieClip();
216p.nominalBounds = new cjs.Rectangle(0,0,473,228);
217
218
219(lib.gamethumb = function(mode,startPosition,loop) {
220	this.initialize(mode,startPosition,loop,{});
221
222	// Layer 2
223	this.shape = new cjs.Shape();
224	this.shape.graphics.f("rgba(255,0,0,0)").s().p("A0dS6MAAAglzMAo7AAAMAAAAlzg");
225	this.shape.setTransform(131,121);
226
227	this.timeline.addTween(cjs.Tween.get(this.shape).wait(1));
228
229}).prototype = getMCSymbolPrototype(lib.gamethumb, new cjs.Rectangle(0,0,262,242), null);
230
231
232(lib.corners = function(mode,startPosition,loop) {
233	this.initialize(mode,startPosition,loop,{});
234
235	// Layer 1
236	this.instance = new lib.appfeature_borders();
237	this.instance.parent = this;
238
239	this.timeline.addTween(cjs.Tween.get(this.instance).wait(1));
240
241}).prototype = getMCSymbolPrototype(lib.corners, new cjs.Rectangle(-401.8,-85.9,1063.6,393.8), null);
242
243
244(lib.gamethumb2 = function(mode,startPosition,loop) {
245	this.initialize(mode,startPosition,loop,{});
246
247	// Layer 3
248	this.loadingbg = new lib.loading();
249	this.loadingbg.parent = this;
250
251	this.timeline.addTween(cjs.Tween.get(this.loadingbg).wait(1));
252
253	// Layer 2
254	this.shape = new cjs.Shape();
255	this.shape.graphics.f("rgba(255,0,0,0)").s().p("A0dS6MAAAglzMAo7AAAMAAAAlzg");
256	this.shape.setTransform(131,121);
257
258	this.timeline.addTween(cjs.Tween.get(this.shape).wait(1));
259
260}).prototype = getMCSymbolPrototype(lib.gamethumb2, new cjs.Rectangle(0,0,262,242), null);
261
262
263(lib.mainclip = function(mode,startPosition,loop) {
264	this.initialize(mode,startPosition,loop,{});
265
266	// title
267	this.title = new lib.textbox();
268	this.title.parent = this;
269	this.title.setTransform(143.5,229.5,1,1,0,0,0,140.5,10.5);
270
271	this.timeline.addTween(cjs.Tween.get(this.title).wait(1));
272
273	// hiliter
274	this.hiliter = new lib.hiliter();
275	this.hiliter.parent = this;
276	this.hiliter.setTransform(0,0,0.554,1.06);
277
278	this.timeline.addTween(cjs.Tween.get(this.hiliter).wait(1));
279
280	// fadeleft
281	this.fadeleft = new lib.thumb2_fade();
282	this.fadeleft.parent = this;
283
284	this.timeline.addTween(cjs.Tween.get(this.fadeleft).wait(1));
285
286	// faderight
287	this.faderight = new lib.thumb1_fade();
288	this.faderight.parent = this;
289	this.faderight.setTransform(0.9,0,1,1,0,0,0,1,0);
290
291	this.timeline.addTween(cjs.Tween.get(this.faderight).wait(1));
292
293	// thumb2
294	this.thumb2 = new lib.gamethumb2();
295	this.thumb2.parent = this;
296
297	this.timeline.addTween(cjs.Tween.get(this.thumb2).wait(1));
298
299	// thumb1
300	this.thumb1 = new lib.gamethumb();
301	this.thumb1.parent = this;
302
303	this.timeline.addTween(cjs.Tween.get(this.thumb1).wait(1));
304
305}).prototype = getMCSymbolPrototype(lib.mainclip, new cjs.Rectangle(-0.1,0,262.2,242), null);
306
307
308// stage content:
309(lib.app_feature = function(mode,startPosition,loop) {
310	this.initialize(mode,startPosition,loop,{});
311
312	// timeline functions:
313	this.frame_0 = function() {
314		/**
315		Replace the Flash Document Class with JS Code
316		*/
317		
318		this.stop();
319		this.clip.gotoAndStop(0);
320		
321		console.log(this);
322		
323		
324		//enable mouse cursors:
325		app_stage.enableMouseOver(20);
326		
327		
328		var baseLinkURL = "https://www.flipline.com";
329		var flipline_linkpath = "/games/";
330		var flipline_imagepath = "https://i.flipline.com/gamefiles/";
331		var othergames_linkpath = "/othergames/";
332		var othergames_imagepath = "https://i.flipline.com/othergamefiles/";
333		
334		var whichIndex = -1;
335		var totalGames = 0;
336		
337		var whichMain = 2;
338		
339		var duration = 210; //7 secs
340		var transitionDuration = 667;
341		
342		var isTransitioning = false;
343		var transitionTimer = 0;
344		var currTimer = 0;
345		
346		var panelWidth = 262;
347		
348		var isRollingOver = false;
349		
350		var hasRemovedLoading = false;
351		
352		var wasLoadError = false;
353		
354		var loadQueue = null;
355		var loadManifest = [];
356		
357		var mainTimeline = this;
358		
359		
360		//store data from XML:
361		var app_image_urls = [];
362		var app_link_urls = [];
363		var app_images = [];
364		
365		var latestLoadedIndex = -1;
366		
367		//setup the banner:
368		setupBanner(this);
369		
370		
371		//load the XML:
372		
373		var d = new Date();
374		var bannerURL = "/banner_apps.xml?timecode="+d.getTime();
375		
376		var xhttp;
377		
378		if (window.XMLHttpRequest) {
379			xhttp = new XMLHttpRequest();
380		} else {
381			// code for older browsers
382			xhttp = new ActiveXObject("Microsoft.XMLHTTP");
383		}
384		  
385		xhttp.onreadystatechange = function() {
386		    if (this.readyState == 4 && this.status == 200) {
387				xmlReady(this.responseXML);
388		    }
389		};
390		
391		
392		xhttp.open("GET", bannerURL, true);
393		xhttp.send();
394		
395		
396		
397		
398		function xmlReady(responseXML){
399			
400		
401			if (responseXML == null){
402				console.log("ERROR LOADING XML.  Make sure XML is valid, and all ampersands are replaced.");
403				return;
404			}
405			
406			
407			var i;
408			
409			console.log("XML READY:");
410			//console.log(responseText);
411			
412			
413			var mainHolder = responseXML.getElementsByTagName("main");
414			var mainSKUs = mainHolder[0].getElementsByTagName("game");
415			
416			console.log("Main SKUs: "+mainSKUs.length);
417			
418			
419			totalGames = mainSKUs.length;
420			
421			
422			for (i=0; i<mainSKUs.length; i++){
423				
424				app_image_urls.push(mainSKUs[i].getAttribute("image"));
425				app_link_urls.push(mainSKUs[i].getAttribute("link"));
426				
427			}
428			
429			
430			//load first image:
431			loadMainImage(app_image_urls[0], 0);
432			
433			
434			
435		}
436		
437		
438		
439		
440		
441		function setupBanner(ob) {
442			
443			
444			console.log("SETUP APP BANNER");
445			
446			ob.corners.mouseEnabled = false;
447			ob.corners.mouseChildren = false;
448			
449			//stop all frames:
450			ob.clip.thumb1.gotoAndStop(0);
451			ob.clip.thumb2.gotoAndStop(0);
452			ob.corners.gotoAndStop(0);
453			
454			ob.clip.mouseChildren = false;
455			ob.clip.title.visible = false;
456			
457			ob.clip.fadeleft.alpha = 0;
458			ob.clip.faderight.alpha = 0;
459			ob.clip.thumb1.x = panelWidth;
460			ob.clip.thumb2.x = 0;
461			
462			ob.clip.cursor = "pointer";
463		
464			
465			//listeners:
466			ob.clip.addEventListener("click", clickThumb.bind(ob));
467			ob.clip.addEventListener("mouseover", rolloverThumb.bind(ob));
468			ob.clip.addEventListener("mouseout", rolloutThumb.bind(ob));
469			
470			
471			//enterframe equivalent:
472			ob.addEventListener("tick", updateBanner.bind(ob));
473			
474			//move the loading screen to thumb2:
475			//var loadingScreen = ob.clip.loadingbg;
476			//ob.clip.removeChild(loadingScreen);
477			//ob.clip.thumb2.addChild(loadingScreen);
478			
479			
480		}
481		
482		
483		function updateBanner(){
484			var ob = mainTimeline;
485			
486			if (isTransitioning){
487				
488				//this is handled with a separate Tween class now.
489				
490			} else {
491				if (isRollingOver == false){
492					currTimer ++;
493					
494					if (currTimer >= duration && wasLoadError == false){
495						showNextImage();
496					}
497				}
498			}
499			
500		}
501		
502		
503		function showNextImage(){
504			var ob = mainTimeline;
505			
506			console.log("SHOW NEXT IMAGE");
507			
508			var useIndex = whichIndex + 1;
509			
510			if (useIndex >= totalGames){
511				useIndex = 0;
512			}
513			
514			if (app_image_urls.length > useIndex && app_images.length > useIndex && !wasLoadError){
515				
516				console.log("Which Image is now "+useIndex);
517				whichIndex = useIndex;
518				
519				var holder;
520				var otherPanel;
521				
522				if (whichMain == 2){
523					whichMain = 1;
524					holder = ob.clip.thumb1;
525					otherPanel = ob.clip.thumb2;
526				} else {
527					whichMain = 2;
528					holder = ob.clip.thumb2;
529					otherPanel = ob.clip.thumb1;
530				}
531				
532				//remove any image(s) here:
533				holder.removeAllChildren();
534				
535				//attach the image into the correct clip:
536				holder.addChild(app_images[whichIndex]);
537				
538				
539				//start the transitions
540				holder.x = panelWidth;
541				holder.scaleX = 0;
542				createjs.Tween.get(holder).to({x:0, scaleX:1}, transitionDuration, createjs.Ease.quadInOut).call(tweenComplete);
543				otherPanel.scaleX = 1;
544				createjs.Tween.get(otherPanel).to({x:0, scaleX:0}, transitionDuration, createjs.Ease.quadInOut);
545				ob.clip.faderight.x = panelWidth;
546				ob.clip.faderight.scaleX = 0;
547				ob.clip.faderight.alpha = 1;
548				createjs.Tween.get(ob.clip.faderight).to({scaleX:1, x:0, alpha:0}, transitionDuration, createjs.Ease.quadInOut);
549				ob.clip.fadeleft.scaleX = 1;
550				ob.clip.fadeleft.alpha = 0;
551				ob.clip.fadeleft.x = 0;
552				createjs.Tween.get(ob.clip.fadeleft).to({scaleX:0, x:0, alpha:1}, transitionDuration, createjs.Ease.quadInOut);
553				
554				
555				isTransitioning = true;
556				transitionTimer = 0;
557				currTimer = 0;
558				ob.clip.mouseEnabled = false;
559				
560			} else {
561				console.log("NO LOADED IMAGE FOR "+useIndex);
562			}
563			
564			
565			
566			
567		}
568		
569		
570		function tweenComplete(){
571			isTransitioning = false;
572			currTimer = 0;
573			
574			mainTimeline.clip.mouseEnabled = true;
575			
576			//load the next image:
577			loadNextImage();
578			
579			
580		}
581		
582		
583		
584		function loadNextImage(){
585			
586			if ((whichIndex+1) < app_image_urls.length){
587				if ((whichIndex+1) >= (app_images.length-1)){
588					loadMainImage(app_image_urls[whichIndex+1], (whichIndex+1));	
589				} else {
590					console.log("(Already have image "+(whichIndex+1)+" loaded.)");
591				}
592			}
593			
594		}
595		
596		
597		function loadMainImage(imageURL, imageIndex){
598			
599			
600			console.log("LOAD IMAGE "+imageIndex+": "+imageURL);
601			
602			latestLoadedIndex = imageIndex;
603			
604			loadQueue = new createjs.LoadQueue(false);
605			loadQueue.addEventListener("complete", handleImagesLoaded.bind(this));
606			loadQueue.addEventListener("error", handleLoadError.bind(this));
607			loadQueue.addEventListener("fileerror", handleLoadFileError.bind(this));
608			
609			loadQueue.loadFile({id:imageIndex, src:imageURL});
610			
611			
612			
613		}
614		
615		
616		function handleLoadError(event){
617			console.log("LOAD ERROR: "+event);
618			wasLoadError = true;
619		}
620		
621		function handleLoadFileError(event){
622			console.log("LOAD FILE ERROR: "+event);
623			wasLoadError = true;
624		}
625		
626		function handleImagesLoaded(event) {
627			console.log("LOAD IMAGE COMPLETE");
628			
629			//create a bitmap:
630			var newBitmap = new createjs.Bitmap(getImagePath(latestLoadedIndex));
631			
632			newBitmap.image.onload = function(){
633				var s = newBitmap.hitArea = new createjs.Shape();
634				s.graphics.beginFill("red").drawRect(0,0,newBitmap.image.width, newBitmap.image.height);
635			}
636			
637			app_images.push(newBitmap);
638			
639		
640			if (whichIndex == -1){
641				showNextImage();
642			}
643			
644			
645		}
646		
647		
648		function getImagePath(checkIndex){
649			var i;
650			var returnValue = null;
651			
652			if (checkIndex > -1 && checkIndex < app_image_urls.length){
653				returnValue = app_image_urls[checkIndex];
654			}
655			
656			return returnValue;
657		}
658		
659		
660		
661		
662		
663		function clickThumb(){
664			var ob = mainTimeline;
665			
666			if (!isTransitioning){
667				
668				if (app_link_urls.length > whichIndex){
669					
670					window.open(app_link_urls[whichIndex], "_blank");
671					
672					isRollingOver = false;
673					
674				}
675			}
676		
677		}
678		
679		
680		function rolloverThumb(){
681			var ob = mainTimeline;
682			
683			
684			ob.clip.hiliter.gotoAndPlay(1);
685			ob.clip.title.visible = true;
686			ob.clip.title.gametitle.text = "Get it now!";
687			
688			isRollingOver = true;
689			
690		}
691		
692		
693		function rolloutThumb(){
694			var ob = mainTimeline;
695			
696			ob.clip.title.visible = false;
697			
698			isRollingOver = false;
699			
700		}
701	}
702
703	// actions tween:
704	this.timeline.addTween(cjs.Tween.get(this).call(this.frame_0).wait(1));
705
706	// Layer 3
707	this.corners = new lib.corners();
708	this.corners.parent = this;
709	this.corners.setTransform(131,121,1,1,0,0,0,131,121);
710
711	this.timeline.addTween(cjs.Tween.get(this.corners).wait(1));
712
713	// Layer 1
714	this.clip = new lib.mainclip();
715	this.clip.parent = this;
716	this.clip.setTransform(41,43.5,1,1,0,0,0,41,43.5);
717
718	this.timeline.addTween(cjs.Tween.get(this.clip).wait(1));
719
720}).prototype = p = new cjs.MovieClip();
721p.nominalBounds = new cjs.Rectangle(130.9,121,262.2,242);
722// library properties:
723lib.properties = {
724	id: '6E222E9391CC404AA28555179AA1CDA1',
725	width: 262,
726	height: 242,
727	fps: 30,
728	color: "#FFFFFF",
729	opacity: 1.00,
730	webfonts: {},
731	manifest: [
732		{src:"/images/appfeature_borders.png?1501597154120", id:"appfeature_borders"},
733		{src:"/images/appfeature_loading_image.png?1501597154120", id:"appfeature_loading_image"}
734	],
735	preloads: []
736};
737
738
739
740// bootstrap callback support:
741
742(lib.Stage = function(canvas) {
743	createjs.Stage.call(this, canvas);
744}).prototype = p = new createjs.Stage();
745
746p.setAutoPlay = function(autoPlay) {
747	this.tickEnabled = autoPlay;
748}
749p.play = function() { this.tickEnabled = true; this.getChildAt(0).gotoAndPlay(this.getTimelinePosition()) }
750p.stop = function(ms) { if(ms) this.seek(ms); this.tickEnabled = false; }
751p.seek = function(ms) { this.tickEnabled = true; this.getChildAt(0).gotoAndStop(lib.properties.fps * ms / 1000); }
752p.getDuration = function() { return this.getChildAt(0).totalFrames / lib.properties.fps * 1000; }
753
754p.getTimelinePosition = function() { return this.getChildAt(0).currentFrame / lib.properties.fps * 1000; }
755
756an.bootcompsLoaded = an.bootcompsLoaded || [];
757if(!an.bootstrapListeners) {
758	an.bootstrapListeners=[];
759}
760
761an.bootstrapCallback=function(fnCallback) {
762	an.bootstrapListeners.push(fnCallback);
763	if(an.bootcompsLoaded.length > 0) {
764		for(var i=0; i<an.bootcompsLoaded.length; ++i) {
765			fnCallback(an.bootcompsLoaded[i]);
766		}
767	}
768};
769
770an.compositions = an.compositions || {};
771an.compositions['6E222E9391CC404AA28555179AA1CDA1'] = {
772	getStage: function() { return app_exportRoot.getStage(); },
773	getLibrary: function() { return lib; },
774	getSpriteSheet: function() { return ss; },
775	getImages: function() { return img; }
776};
777
778an.compositionLoaded = function(id) {
779	an.bootcompsLoaded.push(id);
780	for(var j=0; j<an.bootstrapListeners.length; j++) {
781		an.bootstrapListeners[j](id);
782	}
783}
784
785an.getComposition = function(id) {
786	return an.compositions[id];
787}
788
789
790
791})(createjs = createjs||{}, AdobeAn = AdobeAn||{});
792var createjs, AdobeAn;

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.