PageSourceSearch

https://www.kaiserdom-virtuell.de/web/js/custom/MongoozPanoPlayer.js?v=1635430966

js kaiserdom-virtuell.de collected 2026-10-03 18:00:01 UTC 136,019 bytes, 3,864 lines download raw bytes

1// Generated by Haxe 4.1.5
2(function ($hx_exports, $global) { "use strict";
3var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_;
4function $extend(from, fields) {
5	var proto = Object.create(from);
6	for (var name in fields) proto[name] = fields[name];
7	if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString;
8	return proto;
9}
10var ReadonlyArray = function() { };
11ReadonlyArray.__name__ = true;
12var Partial = function() { };
13Partial.__name__ = true;
14var PromiseLike = function() { };
15PromiseLike.__name__ = true;
16var ArrayLike = function() { };
17ArrayLike.__name__ = true;
18var GamepadButton = function() { };
19GamepadButton.__name__ = true;
20GamepadButton.__isInterface__ = true;
21var BABYLON_Window = function() { };
22BABYLON_Window.__name__ = true;
23BABYLON_Window.__isInterface__ = true;
24BABYLON_Window.prototype = {
25	__class__: BABYLON_Window
26};
27var BABYLON_WebGLRenderingContext = function() { };
28BABYLON_WebGLRenderingContext.__name__ = true;
29BABYLON_WebGLRenderingContext.__isInterface__ = true;
30BABYLON_WebGLRenderingContext.prototype = {
31	__class__: BABYLON_WebGLRenderingContext
32};
33var BABYLON_Document = function() { };
34BABYLON_Document.__name__ = true;
35BABYLON_Document.__isInterface__ = true;
36BABYLON_Document.prototype = {
37	__class__: BABYLON_Document
38};
39var BABYLON_HTMLCanvasElement = function() { };
40BABYLON_HTMLCanvasElement.__name__ = true;
41BABYLON_HTMLCanvasElement.__isInterface__ = true;
42BABYLON_HTMLCanvasElement.prototype = {
43	__class__: BABYLON_HTMLCanvasElement
44};
45var BABYLON_CanvasRenderingContext2D = function() { };
46BABYLON_CanvasRenderingContext2D.__name__ = true;
47BABYLON_CanvasRenderingContext2D.__isInterface__ = true;
48BABYLON_CanvasRenderingContext2D.prototype = {
49	__class__: BABYLON_CanvasRenderingContext2D
50};
51var BABYLON_WebGLBuffer = function() { };
52BABYLON_WebGLBuffer.__name__ = true;
53BABYLON_WebGLBuffer.__isInterface__ = true;
54BABYLON_WebGLBuffer.prototype = {
55	__class__: BABYLON_WebGLBuffer
56};
57var BABYLON_WebGLProgram = function() { };
58BABYLON_WebGLProgram.__name__ = true;
59BABYLON_WebGLProgram.__isInterface__ = true;
60BABYLON_WebGLProgram.prototype = {
61	__class__: BABYLON_WebGLProgram
62};
63var BABYLON_MouseEvent = function() { };
64BABYLON_MouseEvent.__name__ = true;
65BABYLON_MouseEvent.__isInterface__ = true;
66BABYLON_MouseEvent.prototype = {
67	__class__: BABYLON_MouseEvent
68};
69var BABYLON_Navigator = function() { };
70BABYLON_Navigator.__name__ = true;
71BABYLON_Navigator.__isInterface__ = true;
72BABYLON_Navigator.prototype = {
73	__class__: BABYLON_Navigator
74};
75var BABYLON_HTMLVideoElement = function() { };
76BABYLON_HTMLVideoElement.__name__ = true;
77BABYLON_HTMLVideoElement.__isInterface__ = true;
78BABYLON_HTMLVideoElement.prototype = {
79	__class__: BABYLON_HTMLVideoElement
80};
81var BABYLON_Screen = function() { };
82BABYLON_Screen.__name__ = true;
83BABYLON_Screen.__isInterface__ = true;
84BABYLON_Screen.prototype = {
85	__class__: BABYLON_Screen
86};
87var BABYLON_EXT_$disjoint_$timer_$query = function() { };
88BABYLON_EXT_$disjoint_$timer_$query.__name__ = true;
89BABYLON_EXT_$disjoint_$timer_$query.__isInterface__ = true;
90BABYLON_EXT_$disjoint_$timer_$query.prototype = {
91	__class__: BABYLON_EXT_$disjoint_$timer_$query
92};
93var BABYLON_WebGLUniformLocation = function() { };
94BABYLON_WebGLUniformLocation.__name__ = true;
95BABYLON_WebGLUniformLocation.__isInterface__ = true;
96BABYLON_WebGLUniformLocation.prototype = {
97	__class__: BABYLON_WebGLUniformLocation
98};
99var BABYLON_IDisposable = function() { };
100BABYLON_IDisposable.__name__ = true;
101BABYLON_IDisposable.__isInterface__ = true;
102BABYLON_IDisposable.prototype = {
103	__class__: BABYLON_IDisposable
104};
105var BABYLON_IActiveMeshCandidateProvider = function() { };
106BABYLON_IActiveMeshCandidateProvider.__name__ = true;
107BABYLON_IActiveMeshCandidateProvider.__isInterface__ = true;
108BABYLON_IActiveMeshCandidateProvider.prototype = {
109	__class__: BABYLON_IActiveMeshCandidateProvider
110};
111var BABYLON_IAnimatable = function() { };
112BABYLON_IAnimatable.__name__ = true;
113BABYLON_IAnimatable.__isInterface__ = true;
114BABYLON_IAnimatable.prototype = {
115	__class__: BABYLON_IAnimatable
116};
117var BABYLON_IAnimationKey = function() { };
118BABYLON_IAnimationKey.__name__ = true;
119BABYLON_IAnimationKey.__isInterface__ = true;
120BABYLON_IAnimationKey.prototype = {
121	__class__: BABYLON_IAnimationKey
122};
123var BABYLON_IEasingFunction = function() { };
124BABYLON_IEasingFunction.__name__ = true;
125BABYLON_IEasingFunction.__isInterface__ = true;
126BABYLON_IEasingFunction.prototype = {
127	__class__: BABYLON_IEasingFunction
128};
129var BABYLON_Behavior = function() { };
130BABYLON_Behavior.__name__ = true;
131BABYLON_Behavior.__isInterface__ = true;
132BABYLON_Behavior.prototype = {
133	__class__: BABYLON_Behavior
134};
135var BABYLON_ICollisionCoordinator = function() { };
136BABYLON_ICollisionCoordinator.__name__ = true;
137BABYLON_ICollisionCoordinator.__isInterface__ = true;
138BABYLON_ICollisionCoordinator.prototype = {
139	__class__: BABYLON_ICollisionCoordinator
140};
141var BABYLON_SerializedMesh = function() { };
142BABYLON_SerializedMesh.__name__ = true;
143BABYLON_SerializedMesh.__isInterface__ = true;
144BABYLON_SerializedMesh.prototype = {
145	__class__: BABYLON_SerializedMesh
146};
147var BABYLON_SerializedSubMesh = function() { };
148BABYLON_SerializedSubMesh.__name__ = true;
149BABYLON_SerializedSubMesh.__isInterface__ = true;
150BABYLON_SerializedSubMesh.prototype = {
151	__class__: BABYLON_SerializedSubMesh
152};
153var BABYLON_SerializedGeometry = function() { };
154BABYLON_SerializedGeometry.__name__ = true;
155BABYLON_SerializedGeometry.__isInterface__ = true;
156BABYLON_SerializedGeometry.prototype = {
157	__class__: BABYLON_SerializedGeometry
158};
159var BABYLON_BabylonMessage = function() { };
160BABYLON_BabylonMessage.__name__ = true;
161BABYLON_BabylonMessage.__isInterface__ = true;
162BABYLON_BabylonMessage.prototype = {
163	__class__: BABYLON_BabylonMessage
164};
165var BABYLON_SerializedColliderToWorker = function() { };
166BABYLON_SerializedColliderToWorker.__name__ = true;
167BABYLON_SerializedColliderToWorker.__isInterface__ = true;
168BABYLON_SerializedColliderToWorker.prototype = {
169	__class__: BABYLON_SerializedColliderToWorker
170};
171var BABYLON_WorkerReply = function() { };
172BABYLON_WorkerReply.__name__ = true;
173BABYLON_WorkerReply.__isInterface__ = true;
174BABYLON_WorkerReply.prototype = {
175	__class__: BABYLON_WorkerReply
176};
177var BABYLON_CollisionReplyPayload = function() { };
178BABYLON_CollisionReplyPayload.__name__ = true;
179BABYLON_CollisionReplyPayload.__isInterface__ = true;
180BABYLON_CollisionReplyPayload.prototype = {
181	__class__: BABYLON_CollisionReplyPayload
182};
183var BABYLON_InitPayload = function() { };
184BABYLON_InitPayload.__name__ = true;
185BABYLON_InitPayload.__isInterface__ = true;
186var BABYLON_CollidePayload = function() { };
187BABYLON_CollidePayload.__name__ = true;
188BABYLON_CollidePayload.__isInterface__ = true;
189BABYLON_CollidePayload.prototype = {
190	__class__: BABYLON_CollidePayload
191};
192var BABYLON_UpdatePayload = function() { };
193BABYLON_UpdatePayload.__name__ = true;
194BABYLON_UpdatePayload.__isInterface__ = true;
195BABYLON_UpdatePayload.prototype = {
196	__class__: BABYLON_UpdatePayload
197};
198var BABYLON_ICollisionDetector = function() { };
199BABYLON_ICollisionDetector.__name__ = true;
200BABYLON_ICollisionDetector.__isInterface__ = true;
201BABYLON_ICollisionDetector.prototype = {
202	__class__: BABYLON_ICollisionDetector
203};
204var BABYLON_ICameraInput = function() { };
205BABYLON_ICameraInput.__name__ = true;
206BABYLON_ICameraInput.__isInterface__ = true;
207BABYLON_ICameraInput.prototype = {
208	__class__: BABYLON_ICameraInput
209};
210var BABYLON_CameraInputsMap = function() { };
211BABYLON_CameraInputsMap.__name__ = true;
212BABYLON_CameraInputsMap.__isInterface__ = true;
213var BABYLON_VRDisplay = function() { };
214BABYLON_VRDisplay.__name__ = true;
215BABYLON_VRDisplay.__isInterface__ = true;
216BABYLON_VRDisplay.prototype = {
217	__class__: BABYLON_VRDisplay
218};
219var BABYLON_VRLayer = function() { };
220BABYLON_VRLayer.__name__ = true;
221BABYLON_VRLayer.__isInterface__ = true;
222BABYLON_VRLayer.prototype = {
223	__class__: BABYLON_VRLayer
224};
225var BABYLON_VRDisplayCapabilities = function() { };
226BABYLON_VRDisplayCapabilities.__name__ = true;
227BABYLON_VRDisplayCapabilities.__isInterface__ = true;
228BABYLON_VRDisplayCapabilities.prototype = {
229	__class__: BABYLON_VRDisplayCapabilities
230};
231var BABYLON_VREyeParameters = function() { };
232BABYLON_VREyeParameters.__name__ = true;
233BABYLON_VREyeParameters.__isInterface__ = true;
234BABYLON_VREyeParameters.prototype = {
235	__class__: BABYLON_VREyeParameters
236};
237var BABYLON_VRFieldOfView = function() { };
238BABYLON_VRFieldOfView.__name__ = true;
239BABYLON_VRFieldOfView.__isInterface__ = true;
240BABYLON_VRFieldOfView.prototype = {
241	__class__: BABYLON_VRFieldOfView
242};
243var BABYLON_VRFrameData = function() { };
244BABYLON_VRFrameData.__name__ = true;
245BABYLON_VRFrameData.__isInterface__ = true;
246BABYLON_VRFrameData.prototype = {
247	__class__: BABYLON_VRFrameData
248};
249var BABYLON_VRPose = function() { };
250BABYLON_VRPose.__name__ = true;
251BABYLON_VRPose.__isInterface__ = true;
252BABYLON_VRPose.prototype = {
253	__class__: BABYLON_VRPose
254};
255var BABYLON_VRStageParameters = function() { };
256BABYLON_VRStageParameters.__name__ = true;
257BABYLON_VRStageParameters.__isInterface__ = true;
258BABYLON_VRStageParameters.prototype = {
259	__class__: BABYLON_VRStageParameters
260};
261var BABYLON_EngineOptions = function() { };
262BABYLON_EngineOptions.__name__ = true;
263BABYLON_EngineOptions.__isInterface__ = true;
264BABYLON_EngineOptions.prototype = {
265	__class__: BABYLON_EngineOptions
266};
267var BABYLON_IDisplayChangedEventArgs = function() { };
268BABYLON_IDisplayChangedEventArgs.__name__ = true;
269BABYLON_IDisplayChangedEventArgs.__isInterface__ = true;
270BABYLON_IDisplayChangedEventArgs.prototype = {
271	__class__: BABYLON_IDisplayChangedEventArgs
272};
273var BABYLON_ImageBitmap = function() { };
274BABYLON_ImageBitmap.__name__ = true;
275BABYLON_ImageBitmap.__isInterface__ = true;
276BABYLON_ImageBitmap.prototype = {
277	__class__: BABYLON_ImageBitmap
278};
279var BABYLON_WebGLQuery = function() { };
280BABYLON_WebGLQuery.__name__ = true;
281BABYLON_WebGLQuery.__isInterface__ = true;
282var BABYLON_WebGLSampler = function() { };
283BABYLON_WebGLSampler.__name__ = true;
284BABYLON_WebGLSampler.__isInterface__ = true;
285var BABYLON_WebGLSync = function() { };
286BABYLON_WebGLSync.__name__ = true;
287BABYLON_WebGLSync.__isInterface__ = true;
288var BABYLON_WebGLTransformFeedback = function() { };
289BABYLON_WebGLTransformFeedback.__name__ = true;
290BABYLON_WebGLTransformFeedback.__isInterface__ = true;
291var BABYLON_WebGLVertexArrayObject = function() { };
292BABYLON_WebGLVertexArrayObject.__name__ = true;
293BABYLON_WebGLVertexArrayObject.__isInterface__ = true;
294var BABYLON_ICullable = function() { };
295BABYLON_ICullable.__name__ = true;
296BABYLON_ICullable.__isInterface__ = true;
297BABYLON_ICullable.prototype = {
298	__class__: BABYLON_ICullable
299};
300var BABYLON_GamepadButtonChanges = function() { };
301BABYLON_GamepadButtonChanges.__name__ = true;
302BABYLON_GamepadButtonChanges.__isInterface__ = true;
303BABYLON_GamepadButtonChanges.prototype = {
304	__class__: BABYLON_GamepadButtonChanges
305};
306var BABYLON_IEnvironmentHelperOptions = function() { };
307BABYLON_IEnvironmentHelperOptions.__name__ = true;
308BABYLON_IEnvironmentHelperOptions.__isInterface__ = true;
309BABYLON_IEnvironmentHelperOptions.prototype = {
310	__class__: BABYLON_IEnvironmentHelperOptions
311};
312var BABYLON_IEffectLayerOptions = function() { };
313BABYLON_IEffectLayerOptions.__name__ = true;
314BABYLON_IEffectLayerOptions.__isInterface__ = true;
315BABYLON_IEffectLayerOptions.prototype = {
316	__class__: BABYLON_IEffectLayerOptions
317};
318var BABYLON_IGlowLayerOptions = function() { };
319BABYLON_IGlowLayerOptions.__name__ = true;
320BABYLON_IGlowLayerOptions.__isInterface__ = true;
321BABYLON_IGlowLayerOptions.prototype = {
322	__class__: BABYLON_IGlowLayerOptions
323};
324var BABYLON_IHighlightLayerOptions = function() { };
325BABYLON_IHighlightLayerOptions.__name__ = true;
326BABYLON_IHighlightLayerOptions.__isInterface__ = true;
327BABYLON_IHighlightLayerOptions.prototype = {
328	__class__: BABYLON_IHighlightLayerOptions
329};
330var BABYLON_IShadowLight = function() { };
331BABYLON_IShadowLight.__name__ = true;
332BABYLON_IShadowLight.__isInterface__ = true;
333BABYLON_IShadowLight.prototype = {
334	__class__: BABYLON_IShadowLight
335};
336var BABYLON_ILoadingScreen = function() { };
337BABYLON_ILoadingScreen.__name__ = true;
338BABYLON_ILoadingScreen.__isInterface__ = true;
339BABYLON_ILoadingScreen.prototype = {
340	__class__: BABYLON_ILoadingScreen
341};
342var BABYLON_ISceneLoaderPluginExtensions = function() { };
343BABYLON_ISceneLoaderPluginExtensions.__name__ = true;
344BABYLON_ISceneLoaderPluginExtensions.__isInterface__ = true;
345var BABYLON_ISceneLoaderPluginFactory = function() { };
346BABYLON_ISceneLoaderPluginFactory.__name__ = true;
347BABYLON_ISceneLoaderPluginFactory.__isInterface__ = true;
348BABYLON_ISceneLoaderPluginFactory.prototype = {
349	__class__: BABYLON_ISceneLoaderPluginFactory
350};
351var BABYLON_ISceneLoaderPlugin = function() { };
352BABYLON_ISceneLoaderPlugin.__name__ = true;
353BABYLON_ISceneLoaderPlugin.__isInterface__ = true;
354BABYLON_ISceneLoaderPlugin.prototype = {
355	__class__: BABYLON_ISceneLoaderPlugin
356};
357var BABYLON_ISceneLoaderPluginAsync = function() { };
358BABYLON_ISceneLoaderPluginAsync.__name__ = true;
359BABYLON_ISceneLoaderPluginAsync.__isInterface__ = true;
360BABYLON_ISceneLoaderPluginAsync.prototype = {
361	__class__: BABYLON_ISceneLoaderPluginAsync
362};
363var BABYLON_IImageProcessingConfigurationDefines = function() { };
364BABYLON_IImageProcessingConfigurationDefines.__name__ = true;
365BABYLON_IImageProcessingConfigurationDefines.__isInterface__ = true;
366BABYLON_IImageProcessingConfigurationDefines.prototype = {
367	__class__: BABYLON_IImageProcessingConfigurationDefines
368};
369var BABYLON_ISize = function() { };
370BABYLON_ISize.__name__ = true;
371BABYLON_ISize.__isInterface__ = true;
372BABYLON_ISize.prototype = {
373	__class__: BABYLON_ISize
374};
375var BABYLON_IGetSetVerticesData = function() { };
376BABYLON_IGetSetVerticesData.__name__ = true;
377BABYLON_IGetSetVerticesData.__isInterface__ = true;
378BABYLON_IGetSetVerticesData.prototype = {
379	__class__: BABYLON_IGetSetVerticesData
380};
381var BABYLON_ISimplifier = function() { };
382BABYLON_ISimplifier.__name__ = true;
383BABYLON_ISimplifier.__isInterface__ = true;
384BABYLON_ISimplifier.prototype = {
385	__class__: BABYLON_ISimplifier
386};
387var BABYLON_ISimplificationSettings = function() { };
388BABYLON_ISimplificationSettings.__name__ = true;
389BABYLON_ISimplificationSettings.__isInterface__ = true;
390BABYLON_ISimplificationSettings.prototype = {
391	__class__: BABYLON_ISimplificationSettings
392};
393var BABYLON_ISimplificationTask = function() { };
394BABYLON_ISimplificationTask.__name__ = true;
395BABYLON_ISimplificationTask.__isInterface__ = true;
396BABYLON_ISimplificationTask.prototype = {
397	__class__: BABYLON_ISimplificationTask
398};
399var BABYLON_IParticleSystem = function() { };
400BABYLON_IParticleSystem.__name__ = true;
401BABYLON_IParticleSystem.__isInterface__ = true;
402BABYLON_IParticleSystem.prototype = {
403	__class__: BABYLON_IParticleSystem
404};
405var BABYLON_PhysicsImpostorJoint = function() { };
406BABYLON_PhysicsImpostorJoint.__name__ = true;
407BABYLON_PhysicsImpostorJoint.__isInterface__ = true;
408BABYLON_PhysicsImpostorJoint.prototype = {
409	__class__: BABYLON_PhysicsImpostorJoint
410};
411var BABYLON_IPhysicsEnginePlugin = function() { };
412BABYLON_IPhysicsEnginePlugin.__name__ = true;
413BABYLON_IPhysicsEnginePlugin.__isInterface__ = true;
414BABYLON_IPhysicsEnginePlugin.prototype = {
415	__class__: BABYLON_IPhysicsEnginePlugin
416};
417var BABYLON_PhysicsForceAndContactPoint = function() { };
418BABYLON_PhysicsForceAndContactPoint.__name__ = true;
419BABYLON_PhysicsForceAndContactPoint.__isInterface__ = true;
420BABYLON_PhysicsForceAndContactPoint.prototype = {
421	__class__: BABYLON_PhysicsForceAndContactPoint
422};
423var BABYLON_PhysicsRadialExplosionEventData = function() { };
424BABYLON_PhysicsRadialExplosionEventData.__name__ = true;
425BABYLON_PhysicsRadialExplosionEventData.__isInterface__ = true;
426BABYLON_PhysicsRadialExplosionEventData.prototype = {
427	__class__: BABYLON_PhysicsRadialExplosionEventData
428};
429var BABYLON_PhysicsGravitationalFieldEventData = function() { };
430BABYLON_PhysicsGravitationalFieldEventData.__name__ = true;
431BABYLON_PhysicsGravitationalFieldEventData.__isInterface__ = true;
432BABYLON_PhysicsGravitationalFieldEventData.prototype = {
433	__class__: BABYLON_PhysicsGravitationalFieldEventData
434};
435var BABYLON_PhysicsUpdraftEventData = function() { };
436BABYLON_PhysicsUpdraftEventData.__name__ = true;
437BABYLON_PhysicsUpdraftEventData.__isInterface__ = true;
438BABYLON_PhysicsUpdraftEventData.prototype = {
439	__clas
439s__: BABYLON_PhysicsUpdraftEventData
440};
441var BABYLON_PhysicsVortexEventData = function() { };
442BABYLON_PhysicsVortexEventData.__name__ = true;
443BABYLON_PhysicsVortexEventData.__isInterface__ = true;
444BABYLON_PhysicsVortexEventData.prototype = {
445	__class__: BABYLON_PhysicsVortexEventData
446};
447var BABYLON_PhysicsImpostorParameters = function() { };
448BABYLON_PhysicsImpostorParameters.__name__ = true;
449BABYLON_PhysicsImpostorParameters.__isInterface__ = true;
450BABYLON_PhysicsImpostorParameters.prototype = {
451	__class__: BABYLON_PhysicsImpostorParameters
452};
453var BABYLON_IPhysicsEnabledObject = function() { };
454BABYLON_IPhysicsEnabledObject.__name__ = true;
455BABYLON_IPhysicsEnabledObject.__isInterface__ = true;
456BABYLON_IPhysicsEnabledObject.prototype = {
457	__class__: BABYLON_IPhysicsEnabledObject
458};
459var BABYLON_PhysicsJointData = function() { };
460BABYLON_PhysicsJointData.__name__ = true;
461BABYLON_PhysicsJointData.__isInterface__ = true;
462BABYLON_PhysicsJointData.prototype = {
463	__class__: BABYLON_PhysicsJointData
464};
465var BABYLON_IMotorEnabledJoint = function() { };
466BABYLON_IMotorEnabledJoint.__name__ = true;
467BABYLON_IMotorEnabledJoint.__isInterface__ = true;
468BABYLON_IMotorEnabledJoint.prototype = {
469	__class__: BABYLON_IMotorEnabledJoint
470};
471var BABYLON_DistanceJointData = function() { };
472BABYLON_DistanceJointData.__name__ = true;
473BABYLON_DistanceJointData.__isInterface__ = true;
474BABYLON_DistanceJointData.__interfaces__ = [BABYLON_PhysicsJointData];
475BABYLON_DistanceJointData.prototype = {
476	__class__: BABYLON_DistanceJointData
477};
478var BABYLON_SpringJointData = function() { };
479BABYLON_SpringJointData.__name__ = true;
480BABYLON_SpringJointData.__isInterface__ = true;
481BABYLON_SpringJointData.__interfaces__ = [BABYLON_PhysicsJointData];
482BABYLON_SpringJointData.prototype = {
483	__class__: BABYLON_SpringJointData
484};
485var BABYLON_IAssetsProgressEvent = function() { };
486BABYLON_IAssetsProgressEvent.__name__ = true;
487BABYLON_IAssetsProgressEvent.__isInterface__ = true;
488BABYLON_IAssetsProgressEvent.prototype = {
489	__class__: BABYLON_IAssetsProgressEvent
490};
491var BABYLON_ITextureAssetTask = function() { };
492BABYLON_ITextureAssetTask.__name__ = true;
493BABYLON_ITextureAssetTask.__isInterface__ = true;
494BABYLON_ITextureAssetTask.prototype = {
495	__class__: BABYLON_ITextureAssetTask
496};
497var BABYLON_DDSInfo = function() { };
498BABYLON_DDSInfo.__name__ = true;
499BABYLON_DDSInfo.__isInterface__ = true;
500BABYLON_DDSInfo.prototype = {
501	__class__: BABYLON_DDSInfo
502};
503var BABYLON_IFileRequest = function() { };
504BABYLON_IFileRequest.__name__ = true;
505BABYLON_IFileRequest.__isInterface__ = true;
506BABYLON_IFileRequest.prototype = {
507	__class__: BABYLON_IFileRequest
508};
509var BABYLON_VRTeleportationOptions = function() { };
510BABYLON_VRTeleportationOptions.__name__ = true;
511BABYLON_VRTeleportationOptions.__isInterface__ = true;
512BABYLON_VRTeleportationOptions.prototype = {
513	__class__: BABYLON_VRTeleportationOptions
514};
515var BABYLON_WebVROptions = function() { };
516BABYLON_WebVROptions.__name__ = true;
517BABYLON_WebVROptions.__isInterface__ = true;
518BABYLON_WebVROptions.prototype = {
519	__class__: BABYLON_WebVROptions
520};
521var BABYLON_VRExperienceHelperOptions = function() { };
522BABYLON_VRExperienceHelperOptions.__name__ = true;
523BABYLON_VRExperienceHelperOptions.__isInterface__ = true;
524BABYLON_VRExperienceHelperOptions.__interfaces__ = [BABYLON_WebVROptions];
525BABYLON_VRExperienceHelperOptions.prototype = {
526	__class__: BABYLON_VRExperienceHelperOptions
527};
528var BABYLON_DevicePose = function() { };
529BABYLON_DevicePose.__name__ = true;
530BABYLON_DevicePose.__isInterface__ = true;
531BABYLON_DevicePose.prototype = {
532	__class__: BABYLON_DevicePose
533};
534var BABYLON_PoseControlled = function() { };
535BABYLON_PoseControlled.__name__ = true;
536BABYLON_PoseControlled.__isInterface__ = true;
537BABYLON_PoseControlled.prototype = {
538	__class__: BABYLON_PoseControlled
539};
540var BABYLON_IOctreeContainer = function() { };
541BABYLON_IOctreeContainer.__name__ = true;
542BABYLON_IOctreeContainer.__isInterface__ = true;
543BABYLON_IOctreeContainer.prototype = {
544	__class__: BABYLON_IOctreeContainer
545};
546var BABYLON_MutableGamepadButton = function() { };
547BABYLON_MutableGamepadButton.__name__ = true;
548BABYLON_MutableGamepadButton.__isInterface__ = true;
549BABYLON_MutableGamepadButton.prototype = {
550	__class__: BABYLON_MutableGamepadButton
551};
552var BABYLON_ExtendedGamepadButton = function() { };
553BABYLON_ExtendedGamepadButton.__name__ = true;
554BABYLON_ExtendedGamepadButton.__isInterface__ = true;
555BABYLON_ExtendedGamepadButton.prototype = {
556	__class__: BABYLON_ExtendedGamepadButton
557};
558var BABYLON_IShadowGenerator = function() { };
559BABYLON_IShadowGenerator.__name__ = true;
560BABYLON_IShadowGenerator.__isInterface__ = true;
561BABYLON_IShadowGenerator.prototype = {
562	__class__: BABYLON_IShadowGenerator
563};
564var BABYLON_IInternalTextureTracker = function() { };
565BABYLON_IInternalTextureTracker.__name__ = true;
566BABYLON_IInternalTextureTracker.__isInterface__ = true;
567BABYLON_IInternalTextureTracker.prototype = {
568	__class__: BABYLON_IInternalTextureTracker
569};
570var BABYLON_IMultiRenderTargetOptions = function() { };
571BABYLON_IMultiRenderTargetOptions.__name__ = true;
572BABYLON_IMultiRenderTargetOptions.__isInterface__ = true;
573BABYLON_IMultiRenderTargetOptions.prototype = {
574	__class__: BABYLON_IMultiRenderTargetOptions
575};
576var BABYLON_VideoTextureSettings = function() { };
577BABYLON_VideoTextureSettings.__name__ = true;
578BABYLON_VideoTextureSettings.__isInterface__ = true;
579BABYLON_VideoTextureSettings.prototype = {
580	__class__: BABYLON_VideoTextureSettings
581};
582var BABYLON_IDracoCompressionConfiguration = function() { };
583BABYLON_IDracoCompressionConfiguration.__name__ = true;
584BABYLON_IDracoCompressionConfiguration.__isInterface__ = true;
585BABYLON_IDracoCompressionConfiguration.prototype = {
586	__class__: BABYLON_IDracoCompressionConfiguration
587};
588var BABYLON_IParticleEmitterType = function() { };
589BABYLON_IParticleEmitterType.__name__ = true;
590BABYLON_IParticleEmitterType.__isInterface__ = true;
591BABYLON_IParticleEmitterType.prototype = {
592	__class__: BABYLON_IParticleEmitterType
593};
594var BABYLON_HDRInfo = function() { };
595BABYLON_HDRInfo.__name__ = true;
596BABYLON_HDRInfo.__isInterface__ = true;
597BABYLON_HDRInfo.prototype = {
598	__class__: BABYLON_HDRInfo
599};
600var BABYLON_CubeMapInfo = function() { };
601BABYLON_CubeMapInfo.__name__ = true;
602BABYLON_CubeMapInfo.__isInterface__ = true;
603BABYLON_CubeMapInfo.prototype = {
604	__class__: BABYLON_CubeMapInfo
605};
606var HxOverrides = function() { };
607HxOverrides.__name__ = true;
608HxOverrides.remove = function(a,obj) {
609	var i = a.indexOf(obj);
610	if(i == -1) {
611		return false;
612	}
613	a.splice(i,1);
614	return true;
615};
616HxOverrides.now = function() {
617	return Date.now();
618};
619Math.__name__ = true;
620var MongoozPanoPlayer = $hx_exports["MongoozPanoPlayer"] = function() { };
621MongoozPanoPlayer.__name__ = true;
622MongoozPanoPlayer.__properties__ = {set_allowRender:"set_allowRender",get_allowRender:"get_allowRender"};
623MongoozPanoPlayer.main = function() {
624	haxe_Log.trace("hrda",{ fileName : "src/MongoozPanoPlayer.hx", lineNumber : 21, className : "MongoozPanoPlayer", methodName : "main"});
625};
626MongoozPanoPlayer.get_allowRender = function() {
627	return MongoozPanoPlayer._allowRender;
628};
629MongoozPanoPlayer.set_allowRender = function(p_val) {
630	MongoozPanoPlayer._allowRender = p_val;
631	return p_val;
632};
633MongoozPanoPlayer.prototype = {
634	initPano: function() {
635		if(MongoozPanoPlayer.isAdmin) {
636			this.pano360 = new pano_AdminPano();
637		} else {
638			this.pano360 = new pano_Pano();
639		}
640	}
641	,goToNode: function(p_linkedNodeID,p_transitionType) {
642		if(p_transitionType == null) {
643			p_transitionType = "alphaFade";
644		}
645		this.pano360.goToNode(p_linkedNodeID,p_transitionType);
646	}
647	,addSceneData: function(p_data) {
648		this.pano360.initPano(p_data);
649	}
650	,rotateToObject: function(p_objID) {
651		this.pano360.rotateToObject(p_objID);
652	}
653	,createSprite3D: function() {
654		return this.pano360.createSprite3D();
655	}
656	,addPositionGizmo: function() {
657		this.pano360.addPositionGizmo();
658	}
659	,__class__: MongoozPanoPlayer
660};
661var Reflect = function() { };
662Reflect.__name__ = true;
663Reflect.field = function(o,field) {
664	try {
665		return o[field];
666	} catch( _g ) {
667		return null;
668	}
669};
670Reflect.getProperty = function(o,field) {
671	var tmp;
672	if(o == null) {
673		return null;
674	} else {
675		var tmp1;
676		if(o.__properties__) {
677			tmp = o.__properties__["get_" + field];
678			tmp1 = tmp;
679		} else {
680			tmp1 = false;
681		}
682		if(tmp1) {
683			return o[tmp]();
684		} else {
685			return o[field];
686		}
687	}
688};
689Reflect.setProperty = function(o,field,value) {
690	var tmp;
691	var tmp1;
692	if(o.__properties__) {
693		tmp = o.__properties__["set_" + field];
694		tmp1 = tmp;
695	} else {
696		tmp1 = false;
697	}
698	if(tmp1) {
699		o[tmp](value);
700	} else {
701		o[field] = value;
702	}
703};
704Reflect.fields = function(o) {
705	var a = [];
706	if(o != null) {
707		var hasOwnProperty = Object.prototype.hasOwnProperty;
708		for( var f in o ) {
709		if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) {
710			a.push(f);
711		}
712		}
713	}
714	return a;
715};
716var Std = function() { };
717Std.__name__ = true;
718Std.string = function(s) {
719	return js_Boot.__string_rec(s,"");
720};
721Std.parseInt = function(x) {
722	if(x != null) {
723		var _g = 0;
724		var _g1 = x.length;
725		while(_g < _g1) {
726			var i = _g++;
727			var c = x.charCodeAt(i);
728			if(c <= 8 || c >= 14 && c != 32 && c != 45) {
729				var nc = x.charCodeAt(i + 1);
730				var v = parseInt(x,nc == 120 || nc == 88 ? 16 : 10);
731				if(isNaN(v)) {
732					return null;
733				} else {
734					return v;
735				}
736			}
737		}
738	}
739	return null;
740};
741var Type = function() { };
742Type.__name__ = true;
743Type.createInstance = function(cl,args) {
744	var ctor = Function.prototype.bind.apply(cl,[null].concat(args));
745	return new (ctor);
746};
747var haxe_IMap = function() { };
748haxe_IMap.__name__ = true;
749haxe_IMap.__isInterface__ = true;
750haxe_IMap.prototype = {
751	__class__: haxe_IMap
752};
753var haxe_Exception = function(message,previous,native) {
754	Error.call(this,message);
755	this.message = message;
756	this.__previousException = previous;
757	this.__nativeException = native != null ? native : this;
758};
759haxe_Exception.__name__ = true;
760haxe_Exception.thrown = function(value) {
761	if(((value) instanceof haxe_Exception)) {
762		return value.get_native();
763	} else if(((value) instanceof Error)) {
764		return value;
765	} else {
766		var e = new haxe_ValueException(value);
767		return e;
768	}
769};
770haxe_Exception.__super__ = Error;
771haxe_Exception.prototype = $extend(Error.prototype,{
772	get_native: function() {
773		return this.__nativeException;
774	}
775	,__class__: haxe_Exception
776	,__properties__: {get_native:"get_native"}
777});
778var haxe_Log = function() { };
779haxe_Log.__name__ = true;
780haxe_Log.formatOutput = function(v,infos) {
781	var str = Std.string(v);
782	if(infos == null) {
783		return str;
784	}
785	var pstr = infos.fileName + ":" + infos.lineNumber;
786	if(infos.customParams != null) {
787		var _g = 0;
788		var _g1 = infos.customParams;
789		while(_g < _g1.length) {
790			var v = _g1[_g];
791			++_g;
792			str += ", " + Std.string(v);
793		}
794	}
795	return pstr + ": " + str;
796};
797haxe_Log.trace = function(v,infos) {
798	var str = haxe_Log.formatOutput(v,infos);
799	if(typeof(console) != "undefined" && console.log != null) {
800		console.log(str);
801	}
802};
803var haxe_ValueException = function(value,previous,native) {
804	haxe_Exception.call(this,String(value),previous,native);
805	this.value = value;
806};
807haxe_ValueException.__name__ = true;
808haxe_ValueException.__super__ = haxe_Exception;
809haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{
810	__class__: haxe_ValueException
811});
812var haxe_ds_Either = $hxEnums["haxe.ds.Either"] = { __ename__ : true, __constructs__ : ["Left","Right"]
813	,Left: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe.ds.Either",toString:$estr}; },$_.__params__ = ["v"],$_)
814	,Right: ($_=function(v) { return {_hx_index:1,v:v,__enum__:"haxe.ds.Either",toString:$estr}; },$_.__params__ = ["v"],$_)
815};
816var haxe_ds_ObjectMap = function() {
817	this.h = { __keys__ : { }};
818};
819haxe_ds_ObjectMap.__name__ = true;
820haxe_ds_ObjectMap.__interfaces__ = [haxe_IMap];
821haxe_ds_ObjectMap.prototype = {
822	set: function(key,value) {
823		var id = key.__id__;
824		if(id == null) {
825			id = (key.__id__ = $global.$haxeUID++);
826		}
827		this.h[id] = value;
828		this.h.__keys__[id] = key;
829	}
830	,get: function(key) {
831		return this.h[key.__id__];
832	}
833	,remove: function(key) {
834		var id = key.__id__;
835		if(this.h.__keys__[id] == null) {
836			return false;
837		}
838		delete(this.h[id]);
839		delete(this.h.__keys__[id]);
840		return true;
841	}
842	,keys: function() {
843		var a = [];
844		for( var key in this.h.__keys__ ) {
845		if(this.h.hasOwnProperty(key)) {
846			a.push(this.h.__keys__[key]);
847		}
848		}
849		return new haxe_iterators_ArrayIterator(a);
850	}
851	,iterator: function() {
852		return { ref : this.h, it : this.keys(), hasNext : function() {
853			return this.it.hasNext();
854		}, next : function() {
855			var i = this.it.next();
856			return this.ref[i.__id__];
857		}};
858	}
859	,__class__: haxe_ds_ObjectMap
860};
861var haxe_iterators_ArrayIterator = function(array) {
862	this.current = 0;
863	this.array = array;
864};
865haxe_iterators_ArrayIterator.__name__ = true;
866haxe_iterators_ArrayIterator.prototype = {
867	hasNext: function() {
868		return this.current < this.array.length;
869	}
870	,next: function() {
871		return this.array[this.current++];
872	}
873	,__class__: haxe_iterators_ArrayIterator
874};
875var js_Boot = function() { };
876js_Boot.__name__ = true;
877js_Boot.getClass = function(o) {
878	if(o == null) {
879		return null;
880	} else if(((o) instanceof Array)) {
881		return Array;
882	} else {
883		var cl = o.__class__;
884		if(cl != null) {
885			return cl;
886		}
887		var name = js_Boot.__nativeClassName(o);
888		if(name != null) {
889			return js_Boot.__resolveNativeClass(name);
890		}
891		return null;
892	}
893};
894js_Boot.__string_rec = function(o,s) {
895	if(o == null) {
896		return "null";
897	}
898	if(s.length >= 5) {
899		return "<...>";
900	}
901	var t = typeof(o);
902	if(t == "function" && (o.__name__ || o.__ename__)) {
903		t = "object";
904	}
905	switch(t) {
906	case "function":
907		return "<function>";
908	case "object":
909		if(o.__enum__) {
910			var e = $hxEnums[o.__enum__];
911			var n = e.__constructs__[o._hx_index];
912			var con = e[n];
913			if(con.__params__) {
914				s = s + "\t";
915				return n + "(" + ((function($this) {
916					var $r;
917					var _g = [];
918					{
919						var _g1 = 0;
920						var _g2 = con.__params__;
921						while(true) {
922							if(!(_g1 < _g2.length)) {
923								break;
924							}
925							var p = _g2[_g1];
926							_g1 = _g1 + 1;
927							_g.push(js_Boot.__string_rec(o[p],s));
928						}
929					}
930					$r = _g;
931					return $r;
932				}(this))).join(",") + ")";
933			} else {
934				return n;
935			}
936		}
937		if(((o) instanceof Array)) {
938			var str = "[";
939			s += "\t";
940			var _g = 0;
941			var _g1 = o.length;
942			while(_g < _g1) {
943				var i = _g++;
944				str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s);
945			}
946			str += "]";
947			return str;
948		}
949		var tostr;
950		try {
951			tostr = o.toString;
952		} catch( _g ) {
953			return "???";
954		}
955		if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") {
956			var s2 = o.toString();
957			if(s2 != "[object Object]") {
958				return s2;
959			}
960		}
961		var str = "{\n";
962		s += "\t";
963		var hasp = o.hasOwnProperty != null;
964		var k = null;
965		for( k in o ) {
966		if(hasp && !o.hasOwnProperty(k)) {
967			continue;
968		}
969		if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") {
970			continue;
971		}
972		if(str.length != 2) {
973			str += ", \n";
974		}
975		str += s + k + " : " + js_Boot.__string_rec(o[k],s);
976		}
977		s = s.substring(1);
978		str += "\n" + s + "}";
979		return str;
980	case "string":
981		return o;
982	default:
983		return String(o);
984	}
985};
986js_Boot.__interfLoop = function(cc,cl) {
987	if(cc == null) {
988		return false;
989	}
990	if(cc == cl) {
991		return true;
992	}
993	var intf = cc.__interfaces__;
994	if(intf != null) {
995		var _g = 0;
996		var _g1 = intf.length;
997		while(_g < _g1) {
998			var i = _g++;
999			var i1 = intf[i];
1000			if(i1 == cl || js_Boot.__interfLoop(i1,cl)) {
1001				return true;
1002			}
1003		}
1004	}
1005	return js_Boot.__interfLoop(cc.__super__,cl);
1006};
1007js_Boot.__instanceof = function(o,cl) {
1008	if(cl == null) {
1009		return false;
1010	}
1011	switch(cl) {
1012	case Array:
1013		return ((o) instanceof Array);
1014	case Bool:
1015		return typeof(o) == "boolean";
1016	case Dynamic:
1017		return o != null;
1018	case Float:
1019		return typeof(o) == "number";
1020	case Int:
1021		if(typeof(o) == "number") {
1022			return ((o | 0) === o);
1023		} else {
1024			return false;
1025		}
1026		break;
1027	case String:
1028		return typeof(o) == "string";
1029	default:
1030		if(o != null) {
1031			if(typeof(cl) == "function") {
1032				if(js_Boot.__downcastCheck(o,cl)) {
1033					return true;
1034				}
1035			} else if(typeof(cl) == "object" && js_Boot.__isNativeObj(cl)) {
1036				if(((o) instanceof cl)) {
1037					return true;
1038				}
1039			}
1040		} else {
1041			return false;
1042		}
1043		if(cl == Class ? o.__name__ != null : false) {
1044			return true;
1045		}
1046		if(cl == Enum ? o.__ename__ != null : false) {
1047			return true;
1048		}
1049		return o.__enum__ != null ? $hxEnums[o.__enum__] == cl : false;
1050	}
1051};
1052js_Boot.__downcastCheck = function(o,cl) {
1053	if(!((o) instanceof cl)) {
1054		if(cl.__isInterface__) {
1055			return js_Boot.__interfLoop(js_Boot.getClass(o),cl);
1056		} else {
1057			return false;
1058		}
1059	} else {
1060		return true;
1061	}
1062};
1063js_Boot.__implements = function(o,iface) {
1064	return js_Boot.__interfLoop(js_Boot.getClass(o),iface);
1065};
1066js_Boot.__cast = function(o,t) {
1067	if(o == null || js_Boot.__instanceof(o,t)) {
1068		return o;
1069	} else {
1070		throw haxe_Exception.thrown("Cannot cast " + Std.string(o) + " to " + Std.string(t));
1071	}
1072};
1073js_Boot.__nativeClassName = function(o) {
1074	var name = js_Boot.__toStr.call(o).slice(8,-1);
1075	if(name == "Object" || name == "Function" || name == "Math" || name == "JSON") {
1076		return null;
1077	}
1078	return name;
1079};
1080js_Boot.__isNativeObj = function(o) {
1081	return js_Boot.__nativeClassName(o) != null;
1082};
1083js_Boot.__resolveNativeClass = function(name) {
1084	return $global[name];
1085};
1086var js_jquery_JqEltsIterator = function(j) {
1087	this.i = 0;
1088	this.j = j;
1089};
1090js_jquery_JqEltsIterator.__name__ = true;
1091js_jquery_JqEltsIterator.prototype = {
1092	hasNext: function() {
1093		return this.i < this.j.length;
1094	}
1095	,next: function() {
1096		return $(this.j[this.i++]);
1097	}
1098	,__class__: js_jquery_JqEltsIterator
1099};
1100var js_jquery_JqIterator = function(j) {
1101	this.i = 0;
1102	this.j = j;
1103};
1104js_jquery_JqIterator.__name__ = true;
1105js_jquery_JqIterator.prototype = {
1106	hasNext: function() {
1107		return this.i < this.j.length;
1108	}
1109	,next: function() {
1110		return this.j[this.i++];
1111	}
1112	,__class__: js_jquery_JqIterator
1113};
1114var libs_src_utils_Init = function(init) {
1115	this.init = init;
1116};
1117libs_src_utils_Init.__name__ = true;
1118libs_src_utils_Init.parse = function(init) {
1119	if(init == null) {
1120		return new libs_src_utils_Init(null);
1121	}
1122	if(((init) instanceof libs_src_utils_Init)) {
1123		return init;
1124	}
1125	libs_src_utils_Init.inits.push(init);
1126	return new libs_src_utils_Init(init);
1127};
1128libs_src_utils_Init.prototype = {
1129	getInt: function(name,def,bounds) {
1130		if(this.init == null) {
1131			return def;
1132		}
1133		if(Reflect.field(this.init,name) == null) {
1134			return def;
1135		}
1136		var result = Reflect.field(this.init,name);
1137		if(bounds != null) {
1138			if(bounds.get("min") != null) {
1139				var min = bounds.get("min");
1140				if(result < min) {
1141					result = min;
1142				}
1143			}
1144			if(bounds.get("max") != null) {
1145				var max = bounds.get("max");
1146				if(result > max) {
1147					result = max;
1148				}
1149			}
1150		}
1151		this.init.name = null;
1152		return result;
1153	}
1154	,getNumber: function(name,def,bounds) {
1155		if(this.init == null) {
1156			return def;
1157		}
1158		if(Reflect.field(this.init,name) == null) {
1159			return def;
1160		}
1161		var result = Reflect.field(this.init,name);
1162		if(bounds != null) {
1163			if(bounds.get("min") != null) {
1164				var min = bounds.get("min");
1165				if(result < min) {
1166					result = min;
1167				}
1168			}
1169			if(bounds.get("max") != null) {
1170				var max = bounds.get("max");
1171				if(result > max) {
1172					result = max;
1173				}
1174			}
1175		}
1176		this.init.name = null;
1177		return result;
1178	}
1179	,getString: function(name,def) {
1180		if(this.init == null) {
1181			return def;
1182		}
1183		if(Reflect.field(this.init,name) == null) {
1184			return def;
1185		}
1186		var result = Reflect.field(this.init,name);
1187		this.init.name = null;
1188		return result;
1189	}
1190	,getBool: function(name,def) {
1191		if(this.init == null) {
1192			return def;
1193		}
1194		if(Reflect.field(this.init,name) == null) {
1195			return def;
1196		}
1197		var result = Reflect.field(this.init,name);
1198		this.init.name = null;
1199		return result;
1200	}
1201	,getDynamic: function(name,def) {
1202		if(this.init == null) {
1203			return def;
1204		}
1205		if(Reflect.field(this.init,name) == null) {
1206			return def;
1207		}
1208		var result = Reflect.field(this.init,name);
1209		this.init.name = null;
1210		return result;
1211	}
1212	,getObjectOrInit: function(name,type) {
1213		if(this.init == null) {
1214			return null;
1215		}
1216		var result = this.init.name;
1217		this.init.name = null;
1218		if(result == null) {
1219			return null;
1220		}
1221		return result;
1222	}
1223	,getIntArray: function(name,def) {
1224		if(this.init == null) {
1225			return def;
1226		}
1227		if(Reflect.field(this.init,name) == null) {
1228			return def;
1229		}
1230		var result = Reflect.field(this.init,name);
1231		this.init.name = null;
1232		return result;
1233	}
1234	,getStringArray: function(name,def) {
1235		if(this.init == null) {
1236			return def;
1237		}
1238		if(Reflect.field(this.init,name) == null) {
1239			return def;
1240		}
1241		var result = Reflect.field(this.init,name);
1242		this.init.name = null;
1243		return result;
1244	}
1245	,getArray: function(name,def) {
1246		if(this.init == null) {
1247			return [];
1248		}
1249		if(this.init == null) {
1250			return def;
1251		}
1252		if(Reflect.field(this.init,name) == null) {
1253			return def;
1254		}
1255		var result = Reflect.field(this.init,name);
1256		this.init.name = null;
1257		return result;
1258	}
1259	,getInit: function(name) {
1260		if(this.init == null) {
1261			return new libs_src_utils_Init(null);
1262		}
1263		var result = libs_src_utils_Init.parse(this.init.name);
1264		this.init.name = null;
1265		return result;
1266	}
1267	,removeFromCheck: function() {
1268		if(this.init == null) {
1269			return;
1270		}
1271		this.init.dontCheckUnused = true;
1272	}
1273	,addForCheck: function() {
1274		if(this.init == null) {
1275			return;
1276		}
1277		this.init.dontCheckUnused = false;
1278		libs_src_utils_Init.inits.push(this.init);
1279	}
1280	,__class__: libs_src_utils_Init
1281};
1282var motion_actuators_IGenericActuator = function() { };
1283motion_actuators_IGenericActuator.__name__ = true;
1284motion_actuators_IGenericActuator.__isInterface__ = true;
1285motion_actuators_IGenericActuator.prototype = {
1286	__class__: motion_actuators_IGenericActuator
1287};
1288var motion_actuators_GenericActuator = function(target,duration,properties) {
1289	this._autoVisible = true;
1290	this._delay = 0;
1291	this._reflect = false;
1292	this._repeat = 0;
1293	this._reverse = false;
1294	this._smartRotation = false;
1295	this._snapping = false;
1296	this.special = false;
1297	this.target = target;
1298	this.properties = properties;
1299	this.duration = duration;
1300	this._ease = motion_Actuate.defaultEase;
1301};
1302motion_actuators_GenericActuator.__name__ = true;
1303motion_actuators_GenericActuator.__interfaces__ = [motion_actuators_IGenericActuator];
1304motion_actuators_GenericActuator.prototype = {
1305	apply: function() {
1306		var _g = 0;
1307		var _g1 = Reflect.fields(this.properties);
1308		while(_g < _g1.length) {
1309			var i = _g1[_g];
1310			++_g;
1311			if(Object.prototype.hasOwnProperty.call(this.target,i)) {
1312				this.target[i] = Reflect.field(this.properties,i);
1313			} else {
1314				Reflect.setProperty(this.target,i,Reflect.field(this.properties,i));
1315			}
1316		}
1317	}
1318	,autoVisible: function(value) {
1319		if(value == null) {
1320			value = true;
1321		}
1322		this._autoVisible = value;
1323		return this;
1324	}
1325	,callMethod: function(method,params) {
1326		if(params == null) {
1327			params = [];
1328		}
1329		return method.apply(method,params);
1330	}
1331	,change: function() {
1332		if(this._onUpdate != null) {
1333			var method = this._onUpdate;
1334			var params = this._onUpdateParams;
1335			if(params == null) {
1336				params = [];
1337			}
1338			method.apply(method,params);
1339		}
1340	}
1341	,complete: function(sendEvent) {
1342		if(sendEvent == null) {
1343			sendEvent = true;
1344		}
1345		if(sendEvent) {
1346			this.change();
1347			if(this._onComplete != null) {
1348				var method = this._onComplete;
1349				var params = this._onCompleteParams;
1350				if(params == null) {
1351					params = [];
1352				}
1353				method.apply(method,params);
1354			}
1355		}
1356		motion_Actuate.unload(this);
1357	}
1358	,delay: function(duration) {
1359		this._delay = duration;
1360		return this;
1361	}
1362	,ease: function(easing) {
1363		this._ease = easing;
1364		return this;
1365	}
1366	,move: function() {
1367	}
1368	,onComplete: function(handler,parameters) {
1369		this._onComplete = handler;
1370		if(parameters == null) {
1371			this._onCompleteParams = [];
1372		} else {
1373			this._onCompleteParams = parameters;
1374		}
1375		if(this.duration == 0) {
1376			this.complete();
1377		}
1378		return this;
1379	}
1380	,onRepeat: function(handler,parameters) {
1381		this._onRepeat = handler;
1382		if(parameters == null) {
1383			this._onRepeatParams = [];
1384		} else {
1385			this._onRepeatParams = parameters;
1386		}
1387		return this;
1388	}
1389	,onUpdate: function(handler,parameters) {
1390		this._onUpdate = handler;
1391		if(parameters == null) {
1392			this._onUpdateParams = [];
1393		} else {
1394			this._onUpdateParams = parameters;
1395		}
1396		return this;
1397	}
1398	,onPause: function(handler,parameters) {
1399		this._onPause = handler;
1400		if(parameters == null) {
1401			this._onPauseParams = [];
1402		} else {
1403			this._onPauseParams = parameters;
1404		}
1405		return this;
1406	}
1407	,onResume: function(handler,parameters) {
1408		this._onResume = handler;
1409		if(parameters == null) {
1410			this._onResumeParams = [];
1411		} else {
1412			this._onResumeParams = parameters;
1413		}
1414		return this;
1415	}
1416	,pause: function() {
1417		if(this._onPause != null) {
1418			var method = this._onPause;
1419			var params = this._onPauseParams;
1420			if(params == null) {
1421				params = [];
1422			}
1423			method.apply(method,params);
1424		}
1425	}
1426	,reflect: function(value) {
1427		if(value == null) {
1428			value = true;
1429		}
1430		this._reflect = value;
1431		this.special = true;
1432		return this;
1433	}
1434	,repeat: function(times) {
1435		if(times == null) {
1436			times = -1;
1437		}
1438		this._repeat = times;
1439		return this;
1440	}
1441	,resume: function() {
1442		if(this._onResume != null) {
1443			var method = this._onResume;
1444			var params = this._onResumeParams;
1445			if(params == null) {
1446				params = [];
1447			}
1448			method.apply(method,params);
1449		}
1450	}
1451	,reverse: function(value) {
1452		if(value == null) {
1453			value = true;
1454		}
1455		this._reverse = value;
1456		this.special = true;
1457		return this;
1458	}
1459	,smartRotation: function(value) {
1460		if(value == null) {
1461			value = true;
1462		}
1463		this._smartRotation = value;
1464		this.special = true;
1465		return this;
1466	}
1467	,snapping: function(value) {
1468		if(value == null) {
1469			value = true;
1470		}
1471		this._snapping = value;
1472		this.special = true;
1473		return this;
1474	}
1475	,stop: function(properties,complete,sendEvent) {
1476	}
1477	,__class__: motion_actuators_GenericActuator
1478};
1479var motion_actuators_SimpleActuator = function(target,duration,properties) {
1480	this.active = true;
1481	this.propertyDetails = [];
1482	this.sendChange = false;
1483	this.paused = false;
1484	this.cacheVisible = false;
1485	this.initialized = false;
1486	this.setVisible = false;
1487	this.toggleVisible = false;
1488	this.startTime = window.performance.now() / 1000;
1489	motion_actuators_GenericActuator.call(this,target,duration,properties);
1490	if(!motion_actuators_SimpleActuator.addedEvent) {
1491		motion_actuators_SimpleActuator.addedEvent = true;
1492		window.requestAnimationFrame(motion_actuators_SimpleActuator.stage_onEnterFrame);
1493	}
1494};
1495motion_actuators_SimpleActuator.__name__ = true;
1496motion_actuators_SimpleActuator.stage_onEnterFrame = function(deltaTime) {
1497	var currentTime = deltaTime / 1000;
1498	var actuator;
1499	var j = 0;
1500	var cleanup = false;
1501	var _g = 0;
1502	var _g1 = motion_actuators_SimpleActuator.actuatorsLength;
1503	while(_g < _g1) {
1504		var i = _g++;
1505		actuator = motion_actuators_SimpleActuator.actuators[j];
1506		if(actuator != null && actuator.active) {
1507			if(currentTime >= actuator.timeOffset) {
1508				actuator.update(currentTime);
1509			}
1510			++j;
1511		} else {
1512			motion_actuators_SimpleActuator.actuators.splice(j,1);
1513			--motion_actuators_SimpleActuator.actuatorsLength;
1514		}
1515	}
1516	window.requestAnimationFrame(motion_actuators_SimpleActuator.stage_onEnterFrame);
1517};
1518motion_actuators_SimpleActuator.__super__ = motion_actuators_GenericActuator;
1519motion_actuators_SimpleActuator.prototype = $extend(motion_actuators_GenericActuator.prototype,{
1520	apply: function() {
1521		motion_actuators_GenericActuator.prototype.apply.call(this);
1522		if(this.toggleVisible && Object.prototype.hasOwnProperty.call(this.properties,"alpha")) {
1523			var target = this.target;
1524			var value = null;
1525			if(Object.prototype.hasOwnProperty.call(target,"visible")) {
1526				value = Reflect.field(target,"visible");
1527			} else {
1528				value = Reflect.getProperty(target,"visible");
1529			}
1530			if(value != null) {
1531				var target = this.target;
1532				var value = Reflect.field(this.properties,"alpha") > 0;
1533				if(Object.prototype.hasOwnProperty.call(target,"visible")) {
1534					target["visible"] = value;
1535				} else {
1536					Reflect.setProperty(target,"visible",value);
1537				}
1538			}
1539		}
1540	}
1541	,autoVisible: function(value) {
1542		if(value == null) {
1543			value = true;
1544		}
1545		this._autoVisible = value;
1546		if(!value) {
1547			this.toggleVisible = false;
1548			if(this.setVisible) {
1549				var target = this.target;
1550				var value = this.cacheVisible;
1551				if(Object.prototype.hasOwnProperty.call(target,"visible")) {
1552					target["visible"] = value;
1553				} else {
1554					Reflect.setProperty(target,"visible",value);
1555				}
1556			}
1557		}
1558		return this;
1559	}
1560	,delay: function(duration) {
1561		this._delay = duration;
1562		this.timeOffset = this.startTime + duration;
1563		return this;
1564	}
1565	,getField: function(target,propertyName) {
1566		var value = null;
1567		if(Object.prototype.hasOwnProperty.call(target,propertyName)) {
1568			value = Reflect.field(target,propertyName);
1569		} else {
1570			value = Reflect.getProperty(target,propertyName);
1571		}
1572		return value;
1573	}
1574	,initialize: function() {
1575		var details;
1576		var start;
1577		var _g = 0;
1578		var _g1 = Reflect.fields(this.properties);
1579		while(_g < _g1.length) {
1580			var i = _g1[_g];
1581			++_g;
1582			var isField = true;
1583			if(Object.prototype.hasOwnProperty.call(this.target,i)) {
1584				start = Reflect.field(this.target,i);
1585			} else {
1586				isField = false;
1587				start = Reflect.getProperty(this.target,i);
1588			}
1589			if(typeof(start) == "number") {
1590				var target = this.properties;
1591				var value = null;
1592				if(Object.prototype.hasOwnProperty.call(target,i)) {
1593					value = Reflect.field(target,i);
1594				} else {
1595					value = Reflect.getProperty(target,i);
1596				}
1597				var value1 = value;
1598				if(start == null) {
1599					start = 0;
1600				}
1601				if(value1 == null) {
1602					value1 = 0;
1603				}
1604				details = new motion_actuators_PropertyDetails(this.target,i,start,value1 - start,isField);
1605				this.propertyDetails.push(details);
1606			}
1607		}
1608		this.detailsLength = this.propertyDetails.length;
1609		this.initialized = true;
1610	}
1611	,move: function() {
1612		this.toggleVisible = Object.prototype.hasOwnProperty.call(this.properties,"alpha") && Object.prototype.hasOwnProperty.call(this.properties,"visible");
1613		var tmp;
1614		if(this.toggleVisible && this.properties.alpha != 0) {
1615			var target = this.target;
1616			var value = null;
1617			if(Object.prototype.hasOwnProperty.call(target,"visible")) {
1618				value = Reflect.field(target,"visible");
1619			} else {
1620				value = Reflect.getProperty(target,"visible");
1621			}
1622			tmp = !value;
1623		} else {
1624			tmp = false;
1625		}
1626		if(tmp) {
1627			this.setVisible = true;
1628			var target = this.target;
1629			var value = null;
1630			if(Object.prototype.hasOwnProperty.call(target,"visible")) {
1631				value = Reflect.field(target,"visible");
1632			} else {
1633				value = Reflect.getProperty(target,"visible");
1634			}
1635			this.cacheVisible = value;
1636			var target = this.target;
1637			var value = true;
1638			if(Object.prototype.hasOwnProperty.call(target,"visible")) {
1639				target["visible"] = value;
1640			} else {
1641				Reflect.setProperty(target,"visible",value);
1642			}
1643		}
1644		this.timeOffset = this.startTime;
1645		motion_actuators_SimpleActuator.actuators.push(this);
1646		++motion_actuators_SimpleActuator.actuatorsLength;
1647	}
1648	,onUpdate: function(handler,parameters) {
1649		this._onUpdate = handler;
1650		if(parameters == null) {
1651			this._onUpdateParams = [];
1652		} else {
1653			this._onUpdateParams = parameters;
1654		}
1655		this.sendChange = true;
1656		return this;
1657	}
1658	,pause: function() {
1659		if(!this.paused) {
1660			this.paused = true;
1661			motion_actuators_GenericActuator.prototype.pause.call(this);
1662			this.pauseTime = window.performance.now() / 1000;
1663		}
1664	}
1665	,resume: function() {
1666		if(this.paused) {
1667			this.paused = false;
1668			this.timeOffset += (window.performance.now() - this.pauseTime) / 1000;
1669			motion_actuators_GenericActuator.prototype.resume.call(this);
1670		}
1671	}
1672	,setField: function(target,propertyName,value) {
1673		if(Object.prototype.hasOwnProperty.call(target,propertyName)) {
1674			target[propertyName] = value;
1675		} else {
1676			Reflect.setProperty(target,propertyName,value);
1677		}
1678	}
1679	,setProperty: function(details,value) {
1680		if(details.isField) {
1681			details.target[details.propertyName] = value;
1682		} else {
1683			Reflect.setProperty(details.target,details.propertyName,value);
1684		}
1685	}
1686	,stop: function(properties,complete,sendEvent) {
1687		if(this.active) {
1688			if(properties == null) {
1689				this.active = false;
1690				if(complete) {
1691					this.apply();
1692				}
1693				this.complete(sendEvent);
1694				return;
1695			}
1696			var _g = 0;
1697			var _g1 = Reflect.fields(properties);
1698			while(_g < _g1.length) {
1699				var i = _g1[_g];
1700				++_g;
1701				if(Object.prototype.hasOwnProperty.call(this.properties,i)) {
1702					this.active = false;
1703					if(complete) {
1704						this.apply();
1705					}
1706					this.complete(sendEvent);
1707					return;
1708				}
1709			}
1710		}
1711	}
1712	,update: function(currentTime) {
1713		if(!this.paused) {
1714			var details;
1715			var easing;
1716			var i;
1717			var tweenPosition = (currentTime - this.timeOffset) / this.duration;
1718			if(tweenPosition > 1) {
1719				tweenPosition = 1;
1720			}
1721			if(!this.initialized) {
1722				this.initialize();
1723			}
1724			if(!this.special) {
1725				easing = this._ease.calculate(tweenPosition);
1726				var _g = 0;
1727				var _g1 = this.detailsLength;
1728				while(_g < _g1) {
1729					var i = _g++;
1730					details = this.propertyDetails[i];
1731					var value = details.start + details.change * easing;
1732					if(details.isField) {
1733						details.target[details.propertyName] = value;
1734					} else {
1735						Reflect.setProperty(details.target,details.propertyName,value);
1736					}
1737				}
1738			} else {
1739				if(!this._reverse) {
1740					easing = this._ease.calculate(tweenPosition);
1741				} else {
1742					easing = this._ease.calculate(1 - tweenPosition);
1743				}
1744				var endValue;
1745				var _g = 0;
1746				var _g1 = this.detailsLength;
1747				while(_g < _g1) {
1748					var i = _g++;
1749					details = this.propertyDetails[i];
1750					if(this._smartRotation && (details.propertyName == "rotation" || details.propertyName == "rotationX" || details.propertyName == "rotationY" || details.propertyName == "rotationZ")) {
1751						var rotation = details.change % 360;
1752						if(rotation > 180) {
1753							rotation -= 360;
1754						} else if(rotation < -180) {
1755							rotation += 360;
1756						}
1757						endValue = details.start + rotation * easing;
1758					} else {
1759						endValue = details.start + details.change * easing;
1760					}
1761					if(!this._snapping) {
1762						var value = endValue;
1763						if(details.isField) {
1764							details.target[details.propertyName] = value;
1765						} else {
1766							Reflect.setProperty(details.target,details.propertyName,value);
1767						}
1768					} else {
1769						var value1 = Math.round(endValue);
1770						if(details.isField) {
1771							details.target[details.propertyName] = value1;
1772						} else {
1773							Reflect.setProperty(details.target,details.propertyName,value1);
1774						}
1775					}
1776				}
1777			}
1778			if(tweenPosition == 1) {
1779				if(this._repeat == 0) {
1780					this.active = false;
1781					var tmp;
1782					if(this.toggleVisible) {
1783						var target = this.target;
1784						var value = null;
1785						if(Object.prototype.hasOwnProperty.call(target,"alpha")) {
1786							value = Reflect.field(target,"alpha");
1787						} else {
1788							value = Reflect.getProperty(target,"alpha");
1789						}
1790						tmp = value == 0;
1791					} else {
1792						tmp = false;
1793					}
1794					if(tmp) {
1795						var target = this.target;
1796						var value = false;
1797						if(Object.prototype.hasOwnProperty.call(target,"visible")) {
1798							target["visible"] = value;
1799						} else {
1800							Reflect.setProperty(target,"visible",value);
1801						}
1802					}
1803					this.complete(true);
1804					return;
1805				} else {
1806					if(this._onRepeat != null) {
1807						var method = this._onRepeat;
1808						var params = this._onRepeatParams;
1809						if(params == null) {
1810							params = [];
1811						}
1812						method.apply(method,params);
1813					}
1814					if(this._reflect) {
1815						this._reverse = !this._reverse;
1816					}
1817					this.startTime = currentTime;
1818					this.timeOffset = this.startTime + this._delay;
1819					if(this._repeat > 0) {
1820						this._repeat--;
1821					}
1822				}
1823			}
1824			if(this.sendChange) {
1825				this.change();
1826			}
1827		}
1828	}
1829	,__class__: motion_actuators_SimpleActuator
1830});
1831var motion_easing_IEasing = function() { };
1832motion_easing_IEasing.__name__ = true;
1833motion_easing_IEasing.__isInterface__ = true;
1834motion_easing_IEasing.prototype = {
1835	__class__: motion_easing_IEasing
1836};
1837var motion_easing__$Expo_ExpoEaseIn = function() {
1838};
1839motion_easing__$Expo_ExpoEaseIn.__name__ = true;
1840motion_easing__$Expo_ExpoEaseIn.__interfaces__ = [motion_easing_IEasing];
1841motion_easing__$Expo_ExpoEaseIn.prototype = {
1842	calculate: function(k) {
1843		if(k == 0) {
1844			return 0;
1845		} else {
1846			return Math.exp(6.931471805599453 * (k - 1));
1847		}
1848	}
1849	,ease: function(t,b,c,d) {
1850		if(t == 0) {
1851			return b;
1852		} else {
1853			return c * Math.exp(6.931471805599453 * (t / d - 1)) + b;
1854		}
1855	}
1856	,__class__: motion_easing__$Expo_ExpoEaseIn
1857};
1858var motion_easing__$Expo_ExpoEaseInOut = function() {
1859};
1860motion_easing__$Expo_ExpoEaseInOut.__name__ = true;
1861motion_easing__$Expo_ExpoEaseInOut.__interfaces__ = [motion_easing_IEasing];
1862motion_easing__$Expo_ExpoEaseInOut.prototype = {
1863	calculate: function(k) {
1864		if(k == 0) {
1865			return 0;
1866		}
1867		if(k == 1) {
1868			return 1;
1869		}
1870		if((k /= 0.5) < 1.0) {
1871			return 0.5 * Math.exp(6.931471805599453 * (k - 1));
1872		}
1873		return 0.5 * (2 - Math.exp(-6.931471805599453 * --k));
1874	}
1875	,ease: function(t,b,c,d) {
1876		if(t == 0) {
1877			return b;
1878		}
1879		if(t == d) {
1880			return b + c;
1881		}
1882		if((t /= d / 2.0) < 1.0) {
1883			return c / 2 * Math.exp(6.931471805599453 * (t - 1)) + b;
1884		}
1885		return c / 2 * (2 - Math.exp(-6.931471805599453 * --t)) + b;
1886	}
1887	,__class__: motion_easing__$Expo_ExpoEaseInOut
1888};
1889var motion_easing__$Expo_ExpoEaseOut = function() {
1890};
1891motion_easing__$Expo_ExpoEaseOut.__name__ = true;
1892motion_easing__$Expo_ExpoEaseOut.__interfaces__ = [motion_easing_IEasing];
1893motion_easing__$Expo_ExpoEaseOut.prototype = {
1894	calculate: function(k) {
1895		if(k == 1) {
1896			return 1;
1897		} else {
1898			return 1 - Math.exp(-6.931471805599453 * k);
1899		}
1900	}
1901	,ease: function(t,b,c,d) {
1902		if(t == d) {
1903			return b + c;
1904		} else {
1905			return c * (1 - Math.exp(-6.931471805599453 * t / d)) + b;
1906		}
1907	}
1908	,__class__: motion_easing__$Expo_ExpoEaseOut
1909};
1910var motion_easing_Expo = function() { };
1911motion_easing_Expo.__name__ = true;
1912var motion_Actuate = function() { };
1913motion_Actuate.__name__ = true;
1914motion_Actuate.apply = function(target,properties,customActuator) {
1915	motion_Actuate.stop(target,properties);
1916	if(customActuator == null) {
1917		customActuator = motion_Actuate.defaultActuator;
1918	}
1919	var actuator = Type.createInstance(customActuator,[target,0,properties]);
1920	actuator.apply();
1921	return actuator;
1922};
1923motion_Actuate.getLibrary = function(target,allowCreation) {
1924	if(allowCreation == null) {
1925		allowCreation = true;
1926	}
1927	if(motion_Actuate.targetLibraries.h.__keys__[target.__id__] == null && allowCreation) {
1928		motion_Actuate.targetLibraries.set(target,[]);
1929	}
1930	return motion_Actuate.targetLibraries.h[target.__id__];
1931};
1932motion_Actuate.isActive = function() {
1933	var result = false;
1934	var library = motion_Actuate.targetLibraries.iterator();
1935	while(library.hasNext()) {
1936		var library1 = library.next();
1937		result = true;
1938		break;
1939	}
1940	return result;
1941};
1942motion_Actuate.motionPath = function(target,duration,properties,overwrite) {
1943	if(overwrite == null) {
1944		overwrite = true;
1945	}
1946	return motion_Actuate.tween(target,duration,properties,overwrite,motion_actuators_MotionPathActuator);
1947};
1948motion_Actuate.pause = function(target) {
1949	if(js_Boot.__implements(target,motion_actuators_IGenericActuator)) {
1950		var actuator = target;
1951		actuator.pause();
1952	} else {
1953		var library = motion_Actuate.getLibrary(target,false);
1954		if(library != null) {
1955			var _g = 0;
1956			while(_g < library.length) {
1957				var actuator = library[_g];
1958				++_g;
1959				actuator.pause();
1960			}
1961		}
1962	}
1963};
1964motion_Actuate.pauseAll = function() {
1965	var library = motion_Actuate.targetLibraries.iterator();
1966	while(library.hasNext()) {
1967		var library1 = library.next();
1968		var _g = 0;
1969		while(_g < library1.length) {
1970			var actuator = library1[_g];
1971			++_g;
1972			actuator.pause();
1973		}
1974	}
1975};
1976motion_Actuate.reset = function() {
1977	var library = motion_Actuate.targetLibraries.iterator();
1978	while(library.hasNext()) {
1979		var library1 = library.next();
1980		var i = library1.length - 1;
1981		while(i >= 0) {
1982			library1[i].stop(null,false,false);
1983			--i;
1984		}
1985	}
1986	motion_Actuate.targetLibraries = new haxe_ds_ObjectMap();
1987};
1988motion_Actuate.resume = function(target) {
1989	if(js_Boot.__implements(target,motion_actuators_IGenericActuator)) {
1990		var actuator = target;
1991		actuator.resume();
1992	} else {
1993		var library = motion_Actuate.getLibrary(target,false);
1994		if(library != null) {
1995			var _g = 0;
1996			while(_g < library.length) {
1997				var actuator = library[_g];
1998				++_g;
1999				actuator.resume();
2000			}
2001		}
2002	}
2003};
2004motion_Actuate.resumeAll = function() {
2005	var library = motion_Actuate.targetLibraries.iterator();
2006	while(library.hasNext()) {
2007		var library1 = library.next();
2008		var _g = 0;
2009		while(_g < library1.length) {
2010			var actuator = library1[_g];
2011			++_g;
2012			actuator.resume();
2013		}
2014	}
2015};
2016motion_Actuate.stop = function(target,properties,complete,sendEvent) {
2017	if(sendEvent == null) {
2018		sendEvent = true;
2019	}
2020	if(complete == null) {
2021		complete = false;
2022	}
2023	if(target != null) {
2024		if(js_Boot.__implements(target,motion_actuators_IGenericActuator)) {
2025			var actuator = target;
2026			actuator.stop(null,complete,sendEvent);
2027		} else {
2028			var library = motion_Actuate.getLibrary(target,false);
2029			if(library != null) {
2030				if(typeof(properties) == "string") {
2031					var temp = { };
2032					temp[properties] = null;
2033					properties = temp;
2034				} else if(((properties) instanceof Array)) {
2035					var temp = { };
2036					var _g = 0;
2037					var _g1 = js_Boot.__cast(properties , Array);
2038					while(_g < _g1.length) {
2039						var property = _g1[_g];
2040						++_g;
2041						temp[property] = null;
2042					}
2043					properties = temp;
2044				}
2045				var i = library.length - 1;
2046				while(i >= 0) {
2047					library[i].stop(properties,complete,sendEvent);
2048					--i;
2049				}
2050			}
2051		}
2052	}
2053};
2054motion_Actuate.timer = function(duration,customActuator) {
2055	return motion_Actuate.tween(new motion__$Actuate_TweenTimer(0),duration,new motion__$Actuate_TweenTimer(1),false,customActuator);
2056};
2057motion_Actuate.tween = function(target,duration,properties,overwrite,customActuator) {
2058	if(overwrite == null) {
2059		overwrite = true;
2060	}
2061	if(target != null) {
2062		if(duration > 0) {
2063			if(customActuator == null) {
2064				customActuator = motion_Actuate.defaultActuator;
2065			}
2066			var actuator = Type.createInstance(customActuator,[target,duration,properties]);
2067			var library = motion_Actuate.getLibrary(actuator.target);
2068			if(overwrite) {
2069				var i = library.length - 1;
2070				while(i >= 0) {
2071					library[i].stop(actuator.properties,false,false);
2072					--i;
2073				}
2074				library = motion_Actuate.getLibrary(actuator.target);
2075			}
2076			library.push(actuator);
2077			actuator.move();
2078			return actuator;
2079		} else {
2080			return motion_Actuate.apply(target,properties,customActuator);
2081		}
2082	}
2083	return null;
2084};
2085motion_Actuate.unload = function(actuator) {
2086	var target = actuator.target;
2087	if(motion_Actuate.targetLibraries.h.__keys__[target.__id__] != null) {
2088		HxOverrides.remove(motion_Actuate.targetLibraries.h[target.__id__],actuator);
2089		if(motion_Actuate.targetLibraries.h[target.__id__].length == 0) {
2090			motion_Actuate.targetLibraries.remove(target);
2091		}
2092	}
2093};
2094motion_Actuate.update = function(target,duration,start,end,overwrite) {
2095	if(overwrite == null) {
2096		overwrite = true;
2097	}
2098	var properties = { start : start, end : end};
2099	return motion_Actuate.tween(target,duration,properties,overwrite,motion_actuators_MethodActuator);
2100};
2101var motion__$Actuate_TweenTimer = function(progress) {
2102	this.progress = progress;
2103};
2104motion__$Actuate_TweenTimer.__name__ = true;
2105motion__$Actuate_TweenTimer.prototype = {
2106	__class__: motion__$Actuate_TweenTimer
2107};
2108var motion_MotionPath = function() {
2109	this._x = new motion__$MotionPath_ComponentPath();
2110	this._y = new motion__$MotionPath_ComponentPath();
2111	this._rotation = null;
2112};
2113motion_MotionPath.__name__ = true;
2114motion_MotionPath.prototype = {
2115	bezier: function(x,y,controlX,controlY,strength) {
2116		if(strength == null) {
2117			strength = 1;
2118		}
2119		return this.bezierN(x,y,[controlX],[controlY],strength);
2120	}
2121	,bezierN: function(x,y,controlX,controlY,strength) {
2122		if(strength == null) {
2123			strength = 1;
2124		}
2125		this._x.addPath(new motion__$MotionPath_BezierPath(x,controlX,strength));
2126		this._y.addPath(new motion__$MotionPath_BezierPath(y,controlY,strength));
2127		return this;
2128	}
2129	,bezierSpline: function(x,y,strength) {
2130		if(strength == null) {
2131			strength = 1;
2132		}
2133		this._x.addPath(new motion__$MotionPath_BezierSplinePath(x,strength));
2134		this._y.addPath(new motion__$MotionPath_BezierSplinePath(y,strength));
2135		return this;
2136	}
2137	,line: function(x,y,strength) {
2138		if(strength == null) {
2139			strength = 1;
2140		}
2141		return this.bezierN(x,y,[],[],strength);
2142	}
2143	,get_rotation: function() {
2144		if(this._rotation == null) {
2145			this._rotation = new motion__$MotionPath_RotationPath(this._x,this._y);
2146		}
2147		return this._rotation;
2148	}
2149	,get_x: function() {
2150		return this._x;
2151	}
2152	,get_y: function() {
2153		return this._y;
2154	}
2155	,__class__: motion_MotionPath
2156	,__properties__: {get_y:"get_y",get_x:"get_x",get_rotation:"get_rotation"}
2157};
2158var motion_IComponentPath = function() { };
2159motion_IComponentPath.__name__ = true;
2160motion_IComponentPath.__isInterface__ = true;
2161motion_IComponentPath.prototype = {
2162	__class__: motion_IComponentPath
2163	,__properties__: {get_end:"get_end",set_start:"set_start",get_start:"get_start"}
2164};
2165var motion__$MotionPath_ComponentPath = function() {
2166	this.paths = [];
2167	this.strength = 0;
2168};
2169motion__$MotionPath_ComponentPath.__name__ = true;
2170motion__$MotionPath_ComponentPath.__interfaces__ = [motion_IComponentPath];
2171motion__$MotionPath_ComponentPath.prototype = {
2172	addPath: function(path) {
2173		if(this.paths.length > 0) {
2174			path.set_start(this.paths[this.paths.length - 1].get_end());
2175		}
2176		this.paths.push(path);
2177		this.strength += path.strength;
2178	}
2179	,calculate: function(k) {
2180		if(this.paths.length == 1) {
2181			return this.paths[0].calculate(k);
2182		} else {
2183			var ratio = k * this.strength;
2184			var _g = 0;
2185			var _g1 = this.paths;
2186			while(_g < _g1.length) {
2187				var path = _g1[_g];
2188				++_g;
2189				if(ratio > path.strength) {
2190					ratio -= path.strength;
2191				} else {
2192					return path.calculate(ratio / path.strength);
2193				}
2194			}
2195		}
2196		return 0;
2197	}
2198	,get_start: function() {
2199		if(this.paths.length > 0) {
2200			return this.paths[0].get_start();
2201		} else {
2202			return 0;
2203		}
2204	}
2205	,set_start: function(value) {
2206		if(this.paths.length > 0) {
2207			return this.paths[0].set_start(value);
2208		} else {
2209			return 0;
2210		}
2211	}
2212	,get_end: function() {
2213		if(this.paths.length > 0) {
2214			var path = this.paths[this.paths.length - 1];
2215			return path.get_end();
2216		} else {
2217			return this.get_start();
2218		}
2219	}
2220	,__class__: motion__$MotionPath_ComponentPath
2221	,__properties__: {get_end:"get_end",set_start:"set_start",get_start:"get_start"}
2222};
2223var motion__$MotionPath_BezierPath = function(end,control,strength) {
2224	this._end = end;
2225	this.control = control;
2226	this.strength = strength;
2227};
2228motion__$MotionPath_BezierPath.__name__ = true;
2229motion__$MotionPath_BezierPath.__interfaces__ = [motion_IComponentPath];
2230motion__$MotionPath_BezierPath.prototype = {
2231	calculate: function(k) {
2232		var l = 1 - k;
2233		switch(this.control.length) {
2234		case 0:
2235			return l * this._start + k * this._end;
2236		case 1:
2237			return l * l * this._start + 2 * l * k * this.control[0] + k * k * this._end;
2238		case 2:
2239			return l * l * l * this._start + 3 * l * l * k * this.control[0] + 3 * l * k * k * this.control[1] + k * k * k * this._end;
2240		default:
2241			if(l < 1e-7) {
2242				return this._end;
2243			}
2244			var r = k / l;
2245			var n = this.control.length + 1;
2246			var coeff = Math.pow(l,n);
2247			var res = coeff * this._start;
2248			var _g = 1;
2249			var _g1 = n;
2250			while(_g < _g1) {
2251				var i = _g++;
2252				coeff *= r * (n + 1 - i) / i;
2253				res += coeff * this.control[i - 1];
2254			}
2255			coeff *= r / n;
2256			return res + coeff * this._end;
2257		}
2258	}
2259	,get_start: function() {
2260		return this._start;
2261	}
2262	,set_start: function(value) {
2263		return this._start = value;
2264	}
2265	,get_end: function() {
2266		return this._end;
2267	}
2268	,__class__: motion__$MotionPath_BezierPath
2269	,__properties__: {get_end:"get_end",set_start:"set_start",get_start:"get_start"}
2270};
2271var motion__$MotionPath_BezierSplinePath = function(through,strength) {
2272	motion__$MotionPath_ComponentPath.call(this);
2273	this.through = through;
2274	this.strength = strength;
2275};
2276motion__$MotionPath_BezierSplinePath.__name__ = true;
2277motion__$MotionPath_BezierSplinePath.__super__ = motion__$MotionPath_ComponentPath;
2278motion__$MotionPath_BezierSplinePath.prototype = $extend(motion__$MotionPath_ComponentPath.prototype,{
2279	computeControlPoints: function(start) {
2280		var K = [start].concat(this.through);
2281		var n = K.length;
2282		var _g = [];
2283		var _g1 = 0;
2284		var _g2 = n;
2285		while(_g1 < _g2) {
2286			var _ = _g1++;
2287			_g.push([0.0,0.0]);
2288		}
2289		var control = _g;
2290		var a = [];
2291		var b = [];
2292		var c = [];
2293		var r = [];
2294		a[0] = 0;
2295		b[0] = 2;
2296		c[0] = 1;
2297		r[0] = K[0] + 2 * K[1];
2298		var _g = 1;
2299		var _g1 = n - 1;
2300		while(_g < _g1) {
2301			var i = _g++;
2302			a[i] = 1;
2303			b[i] = 4;
2304			c[i] = 1;
2305			r[i] = 4 * K[i] + 2 * K[i + 1];
2306		}
2307		a[n - 1] = 1;
2308		b[n - 1] = 2;
2309		c[n - 1] = 0;
2310		r[n - 1] = 3 * K[n - 1];
2311		var _g = 1;
2312		var _g1 = n;
2313		while(_g < _g1) {
2314			var i = _g++;
2315			var m = a[i] / b[i - 1];
2316			b[i] -= m * c[i - 1];
2317			r[i] -= m * r[i - 1];
2318		}
2319		control[n - 1][0] = r[n - 1] / b[n - 1];
2320		var i = n - 2;
2321		while(i >= 0) {
2322			control[i][0] = (r[i] - c[i] * control[i + 1][0]) / b[i];
2323			--i;
2324		}
2325		var _g = 0;
2326		var _g1 = n - 1;
2327		while(_g < _g1) {
2328			var i = _g++;
2329			control[i][1] = 2 * K[i + 1] - control[i + 1][0];
2330		}
2331		control[n - 1][1] = 0.5 * (K[n] + control[n - 1][0]);
2332		control.pop();
2333		return control;
2334	}
2335	,set_start: function(value) {
2336		if(this.paths.length == 0 || Math.abs(value - this.get_start()) > 1e-7) {
2337			var control = this.computeControlPoints(value);
2338			var pathStrength = this.strength / control.length;
2339			this.strength = 0;
2340			this.paths.splice(0,this.paths.length);
2341			var _g = 0;
2342			var _g1 = control.length;
2343			while(_g < _g1) {
2344				var i = _g++;
2345				this.addPath(new motion__$MotionPath_BezierPath(this.through[i],control[i],pathStrength));
2346			}
2347		}
2348		return motion__$MotionPath_ComponentPath.prototype.set_start.call(this,value);
2349	}
2350	,get_end: function() {
2351		return this.through[this.through.length - 1];
2352	}
2353	,__class__: motion__$MotionPath_BezierSplinePath
2354});
2355var motion__$MotionPath_RotationPath = function(x,y) {
2356	this.step = 0.01;
2357	this._x = x;
2358	this._y = y;
2359	this.offset = 0;
2360	this.set_start(this.calculate(0.0));
2361};
2362motion__$MotionPath_RotationPath.__name__ = true;
2363motion__$MotionPath_RotationPath.__interfaces__ = [motion_IComponentPath];
2364motion__$MotionPath_RotationPath.prototype = {
2365	calculate: function(k) {
2366		var dX = this._x.calculate(k) - this._x.calculate(k + this.step);
2367		var dY = this._y.calculate(k) - this._y.calculate(k + this.step);
2368		var angle = Math.atan2(dY,dX) * (180 / Math.PI);
2369		angle = (angle + this.offset) % 360;
2370		return angle;
2371	}
2372	,get_start: function() {
2373		return this._start;
2374	}
2375	,set_start: function(value) {
2376		return this._start;
2377	}
2378	,get_end: function() {
2379		return this.calculate(1.0);
2380	}
2381	,__class__: motion__$MotionPath_RotationPath
2382	,__properties__: {set_start:"set_start",get_start:"get_start",get_end:"get_end"}
2383};
2384var motion_actuators_MethodActuator = function(target,duration,properties) {
2385	this.currentParameters = [];
2386	this.tweenProperties = { };
2387	motion_actuators_SimpleActuator.call(this,target,duration,properties);
2388	if(!Object.prototype.hasOwnProperty.call(properties,"start")) {
2389		this.properties.start = [];
2390	}
2391	if(!Object.prototype.hasOwnProperty.call(properties,"end")) {
2392		this.properties.end = this.properties.start;
2393	}
2394	var _g = 0;
2395	var _g1 = this.properties.start.length;
2396	while(_g < _g1) {
2397		var i = _g++;
2398		this.currentParameters.push(this.properties.start[i]);
2399	}
2400};
2401motion_actuators_MethodActuator.__name__ = true;
2402motion_actuators_MethodActuator.__super__ = motion_actuators_SimpleActuator;
2403motion_actuators_MethodActuator.prototype = $extend(motion_actuators_SimpleActuator.prototype,{
2404	apply: function() {
2405		var method = this.target;
2406		var params = this.properties.end;
2407		if(params == null) {
2408			params = [];
2409		}
2410		method.apply(method,params);
2411	}
2412	,complete: function(sendEvent) {
2413		if(sendEvent == null) {
2414			sendEvent = true;
2415		}
2416		var _g = 0;
2417		var _g1 = this.properties.start.length;
2418		while(_g < _g1) {
2419			var i = _g++;
2420			this.currentParameters[i] = Reflect.field(this.tweenProperties,"param" + i);
2421		}
2422		var method = this.target;
2423		var params = this.currentParameters;
2424		if(params == null) {
2425			params = [];
2426		}
2427		method.apply(method,params);
2428		motion_actuators_SimpleActuator.prototype.complete.call(this,sendEvent);
2429	}
2430	,initialize: function() {
2431		var details;
2432		var propertyName;
2433		var start;
2434		var _g = 0;
2435		var _g1 = this.properties.start.length;
2436		while(_g < _g1) {
2437			var i = _g++;
2438			propertyName = "param" + i;
2439			start = this.properties.start[i];
2440			this.tweenProperties[propertyName] = start;
2441			if(typeof(start) == "number" || typeof(start) == "number" && ((start | 0) === start)) {
2442				details = new motion_actuators_PropertyDetails(this.tweenProperties,propertyName,start,this.properties.end[i] - start);
2443				this.propertyDetails.push(details);
2444			}
2445		}
2446		this.detailsLength = this.propertyDetails.length;
2447		this.initialized = true;
2448	}
2449	,update: function(currentTime) {
2450		motion_actuators_SimpleActuator.prototype.update.call(this,currentTime);
2451		if(this.active && !this.paused) {
2452			var _g = 0;
2453			var _g1 = this.properties.start.length;
2454			while(_g < _g1) {
2455				var i = _g++;
2456				this.currentParameters[i] = Reflect.field(this.tweenProperties,"param" + i);
2457			}
2458			var method = this.target;
2459			var params = this.currentParameters;
2460			if(params == null) {
2461				params = [];
2462			}
2463			method.apply(method,params);
2464		}
2465	}
2466	,__class__: motion_actuators_MethodActuator
2467});
2468var motion_actuators_MotionPathActuator = function(target,duration,properties) {
2469	motion_actuators_SimpleActuator.call(this,target,duration,properties);
2470};
2471motion_actuators_MotionPathActuator.__name__ = true;
2472motion_actuators_MotionPathActuator.__super__ = motion_actuators_SimpleActuator;
2473motion_actuators_MotionPathActuator.prototype = $extend(motion_actuators_SimpleActuator.prototype,{
2474	apply: function() {
2475		var _g = 0;
2476		var _g1 = Reflect.fields(this.properties);
2477		while(_g < _g1.length) {
2478			var propertyName = _g1[_g];
2479			++_g;
2480			if(Object.prototype.hasOwnProperty.call(this.target,propertyName)) {
2481				this.target[propertyName] = (js_Boot.__cast(Reflect.field(this.properties,propertyName) , motion_IComponentPath)).get_end();
2482			} else {
2483				Reflect.setProperty(this.target,propertyName,(js_Boot.__cast(Reflect.field(this.properties,propertyName) , motion_IComponentPath)).get_end());
2484			}
2485		}
2486	}
2487	,initialize: function() {
2488		var details;
2489		var path;
2490		var _g = 0;
2491		var _g1 = Reflect.fields(this.properties);
2492		while(_g < _g1.length) {
2493			var propertyName = _g1[_g];
2494			++_g;
2495			path = js_Boot.__cast(Reflect.field(this.properties,propertyName) , motion_IComponentPath);
2496			if(path != null) {
2497				var isField = true;
2498				if(Object.prototype.hasOwnProperty.call(this.target,propertyName)) {
2499					path.set_start(Reflect.field(this.target,propertyName));
2500				} else {
2501					isField = false;
2502					path.set_start(Reflect.getProperty(this.target,propertyName));
2503				}
2504				details = new motion_actuators_PropertyPathDetails(this.target,propertyName,path,isField);
2505				this.propertyDetails.push(details);
2506			}
2507		}
2508		this.detailsLength = this.propertyDetails.length;
2509		this.initialized = true;
2510	}
2511	,update: function(currentTime) {
2512		if(!this.paused) {
2513			var details;
2514			var easing;
2515			var tweenPosition = (currentTime - this.timeOffset) / this.duration;
2516			if(tweenPosition > 1) {
2517				tweenPosition = 1;
2518			}
2519			if(!this.initialized) {
2520				this.initialize();
2521			}
2522			if(!this.special) {
2523				easing = this._ease.calculate(tweenPosition);
2524				var _g = 0;
2525				var _g1 = this.propertyDetails;
2526				while(_g < _g1.length) {
2527					var details = _g1[_g];
2528					++_g;
2529					if(details.isField) {
2530						details.target[details.propertyName] = (js_Boot.__cast(details , motion_actuators_PropertyPathDetails)).path.calculate(easing);
2531					} else {
2532						Reflect.setProperty(details.target,details.propertyName,(js_Boot.__cast(details , motion_actuators_PropertyPathDetails)).path.calculate(easing));
2533					}
2534				}
2535			} else {
2536				if(!this._reverse) {
2537					easing = this._ease.calculate(tweenPosition);
2538				} else {
2539					easing = this._ease.calculate(1 - tweenPosition);
2540				}
2541				var endValue;
2542				var _g = 0;
2543				var _g1 = this.propertyDetails;
2544				while(_g < _g1.length) {
2545					var details = _g1[_g];
2546					++_g;
2547					if(!this._snapping) {
2548						if(details.isField) {
2549							details.target[details.propertyName] = (js_Boot.__cast(details , motion_actuators_PropertyPathDetails)).path.calculate(easing);
2550						} else {
2551							Reflect.setProperty(details.target,details.propertyName,(js_Boot.__cast(details , motion_actuators_PropertyPathDetails)).path.calculate(easing));
2552						}
2553					} else if(details.isField) {
2554						details.target[details.propertyName] = Math.round((js_Boot.__cast(details , motion_actuators_PropertyPathDetails)).path.calculate(easing));
2555					} else {
2556						Reflect.setProperty(details.target,details.propertyName,Math.round((js_Boot.__cast(details , motion_actuators_PropertyPathDetails)).path.calculate(easing)));
2557					}
2558				}
2559			}
2560			if(tweenPosition == 1) {
2561				if(this._repeat == 0) {
2562					this.active = false;
2563					var tmp;
2564					if(this.toggleVisible) {
2565						var target = this.target;
2566						var value = null;
2567						if(Object.prototype.hasOwnProperty.call(target,"alpha")) {
2568							value = Reflect.field(target,"alpha");
2569						} else {
2570							value = Reflect.getProperty(target,"alpha");
2571						}
2572						tmp = value == 0;
2573					} else {
2574						tmp = false;
2575					}
2576					if(tmp) {
2577						var target = this.target;
2578						var value = false;
2579						if(Object.prototype.hasOwnProperty.call(target,"visible")) {
2580							target["visible"] = value;
2581						} else {
2582							Reflect.setProperty(target,"visible",value);
2583						}
2584					}
2585					this.complete(true);
2586					return;
2587				} else {
2588					if(this._onRepeat != null) {
2589						var method = this._onRepeat;
2590						var params = this._onRepeatParams;
2591						if(params == null) {
2592							params = [];
2593						}
2594						method.apply(method,params);
2595					}
2596					if(this._reflect) {
2597						this._reverse = !this._reverse;
2598					}
2599					this.startTime = currentTime;
2600					this.timeOffset = this.startTime + this._delay;
2601					if(this._repeat > 0) {
2602						this._repeat--;
2603					}
2604				}
2605			}
2606			if(this.sendChange) {
2607				this.change();
2608			}
2609		}
2610	}
2611	,__class__: motion_actuators_MotionPathActuator
2612});
2613var motion_actuators_PropertyDetails = function(target,propertyName,start,change,isField) {
2614	if(isField == null) {
2615		isField = true;
2616	}
2617	this.target = target;
2618	this.propertyName = propertyName;
2619	this.start = start;
2620	this.change = change;
2621	this.isField = isField;
2622};
2623motion_actuators_PropertyDetails.__name__ = true;
2624motion_actuators_PropertyDetails.prototype = {
2625	__class__: motion_actuators_PropertyDetails
2626};
2627var motion_actuators_PropertyPathDetails = function(target,propertyName,path,isField) {
2628	if(isField == null) {
2629		isField = true;
2630	}
2631	motion_actuators_PropertyDetails.call(this,target,propertyName,0,0,isField);
2632	this.path = path;
2633};
2634motion_actuators_PropertyPathDetails.__name__ = true;
2635motion_actuators_PropertyPathDetails.__super__ = motion_actuators_PropertyDetails;
2636motion_actuators_PropertyPathDetails.prototype = $extend(motion_actuators_PropertyDetails.prototype,{
2637	__class__: motion_actuators_PropertyPathDetails
2638});
2639var motion_easing_Linear = function() { };
2640motion_easing_Linear.__name__ = true;
2641motion_easing_Linear.__properties__ = {get_easeNone:"get_easeNone"};
2642motion_easing_Linear.get_easeNone = function() {
2643	return new motion_easing_LinearEaseNone();
2644};
2645var motion_easing_LinearEaseNone = function() {
2646};
2647motion_easing_LinearEaseNone.__name__ = true;
2648motion_easing_LinearEaseNone.__interfaces__ = [motion_easing_IEasing];
2649motion_easing_LinearEaseNone.prototype = {
2650	calculate: function(k) {
2651		return k;
2652	}
2653	,ease: function(t,b,c,d) {
2654		return c * t / d + b;
2655	}
2656	,__class__: motion_easing_LinearEaseNone
2657};
2658var motion_easing__$Quad_QuadEaseIn = function() {
2659};
2660motion_easing__$Quad_QuadEaseIn.__name__ = true;
2661motion_easing__$Quad_QuadEaseIn.__interfaces__ = [motion_easing_IEasing];
2662motion_easing__$Quad_QuadEaseIn.prototype = {
2663	calculate: function(k) {
2664		return k * k;
2665	}
2666	,ease: function(t,b,c,d) {
2667		return c * (t /= d) * t + b;
2668	}
2669	,__class__: motion_easing__$Quad_QuadEaseIn
2670};
2671var motion_easing__$Quad_QuadEaseInOut = function() {
2672};
2673motion_easing__$Quad_QuadEaseInOut.__name__ = true;
2674motion_easing__$Quad_QuadEaseInOut.__interfaces__ = [motion_easing_IEasing];
2675motion_easing__$Quad_QuadEaseInOut.prototype = {
2676	calculate: function(k) {
2677		if((k *= 2) < 1) {
2678			return 0.5 * k * k;
2679		}
2680		return -0.5 * ((k - 1) * (k - 3) - 1);
2681	}
2682	,ease: function(t,b,c,d) {
2683		if((t /= d / 2) < 1) {
2684			return c / 2 * t * t + b;
2685		}
2686		return -c / 2 * ((t - 1) * (t - 3) - 1) + b;
2687	}
2688	,__class__: motion_easing__$Quad_QuadEaseInOut
2689};
2690var motion_easing__$Quad_QuadEaseOut = function() {
2691};
2692motion_easing__$Quad_QuadEaseOut.__name__ = true;
2693motion_easing__$Quad_QuadEaseOut.__interfaces__ = [motion_easing_IEasing];
2694motion_easing__$Quad_QuadEaseOut.prototype = {
2695	calculate: function(k) {
2696		return -k * (k - 2);
2697	}
2698	,ease: function(t,b,c,d) {
2699		return -c * (t /= d) * (t - 2) + b;
2700	}
2701	,__class__: motion_easing__$Quad_QuadEaseOut
2702};
2703var motion_easing_Quad = function() { };
2704motion_easing_Quad.__name__ = true;
2705var motion_easing__$Sine_SineEaseIn = function() {
2706};
2707motion_easing__$Sine_SineEaseIn.__name__ = true;
2708motion_easing__$Sine_SineEaseIn.__interfaces__ = [motion_easing_IEasing];
2709motion_easing__$Sine_SineEaseIn.prototype = {
2710	calculate: function(k) {
2711		return 1 - Math.cos(k * (Math.PI / 2));
2712	}
2713	,ease: function(t,b,c,d) {
2714		return -c * Math.cos(t / d * (Math.PI / 2)) + c + b;
2715	}
2716	,__class__: motion_easing__$Sine_SineEaseIn
2717};
2718var motion_easing__$Sine_SineEaseInOut = function() {
2719};
2720motion_easing__$Sine_SineEaseInOut.__name__ = true;
2721motion_easing__$Sine_SineEaseInOut.__interfaces__ = [motion_easing_IEasing];
2722motion_easing__$Sine_SineEaseInOut.prototype = {
2723	calculate: function(k) {
2724		return -(Math.cos(Math.PI * k) - 1) / 2;
2725	}
2726	,ease: function(t,b,c,d) {
2727		return -c / 2 * (Math.cos(Math.PI * t / d) - 1) + b;
2728	}
2729	,__class__: motion_easing__$Sine_SineEaseInOut
2730};
2731var motion_easing__$Sine_SineEaseOut = function() {
2732};
2733motion_easing__$Sine_SineEaseOut.__name__ = true;
2734motion_easing__$Sine_SineEaseOut.__interfaces__ = [motion_easing_IEasing];
2735motion_easing__$Sine_SineEaseOut.prototype = {
2736	calculate: function(k) {
2737		return Math.sin(k * (Math.PI / 2));
2738	}
2739	,ease: function(t,b,c,d) {
2740		return c * Math.sin(t / d * (Math.PI / 2)) + b;
2741	}
2742	,__class__: motion_easing__$Sine_SineEaseOut
2743};
2744var motion_easing_Sine = function() { };
2745motion_easing_Sine.__name__ = true;
2746var pano_Pano = function() {
2747	this.allowCheckFrustum = false;
2748	this.allowRenderTooltipps = true;
2749	this.jumpsStartSize = 25;
2750	this.hotspotsStartSize = 12;
2751	this.isTouchDevice = false;
2752	this.alwaysShowTooltipps = false;
2753	this.canvasClicked = false;
2754	this.prevCameraFov = 0;
2755	this.prevCameraBeta = 0;
2756	this.prevCameraAlpha = 361;
2757	this.mixerSettings = "";
2758	this.currentNodeParentName = "";
2759	this.currentNodeName = "";
2760	this.currentNodeParentID = 0;
2761	this.currentNodeID = 0;
2762	this.touchDiff = 0;
2763	this.maxFov = 2;
2764	this.minFov = 0.4;
2765	this.startFov = 1.5;
2766	this.checkFrameCount = 0;
2767	var _gthis = this;
2768	this.canvas = document.getElementById("renderCanvas");
2769	this.isTouchDevice = $("body").hasClass("touch-device");
2770	this.alwaysShowTooltipps = this.isTouchDevice;
2771	if(this.isTouchDevice) {
2772		this.jumpsStartSize = 35;
2773		this.hotspotsStartSize = 18;
2774	}
2775	this.engine = new BABYLON.Engine(this.canvas,true,{ preserveDrawingBuffer : true, stencil : true});
2776	var createScene = function() {
2777		var scene = new BABYLON.Scene(_gthis.engine);
2778		scene.clearColor = new BABYLON.Color4(1,1,1,0);
2779		_gthis.addCameraToScene(scene,true);
2780		_gthis.skybox = BABYLON.MeshBuilder.CreateBox("skyBox",{ size : 10000000.0},scene);
2781		_gthis.skybox.isPickable = false;
2782		_gthis.skyboxMaterial = new BABYLON.StandardMaterial("skyBox",scene);
2783		scene.autoClear = false;
2784		return scene;
2785	};
2786	this.scene = createScene();
2787	this.scene.onPointerObservable.add(function(pointerInfo,eventState) {
2788	},BABYLON.PointerEventTypes.POINTERWHEEL,true);
2789	this.scene.onPointerObservable.add(function(pointerInfo,eventState) {
2790		var fac = 0.00007;
2791		var delta = pointerInfo.event.wheelDelta * fac;
2792		if(_gthis.camera.get_fov() + delta >= _gthis.minFov && _gthis.camera.get_fov() + delta <= _gthis.maxFov) {
2793			var _g = _gthis.camera;
2794			_g.set_fov(_g.get_fov() + delta);
2795		}
2796		_gthis.resizeHotspots(_gthis.camera.get_fov());
2797	},BABYLON.PointerEventTypes.POINTERWHEEL,true);
2798	this.spriteManagerHotspots = new BABYLON.SpriteManager("hotspotManager","web/img/icon-info.png",2000,{ width : 48, height : 48},this.scene);
2799	this.spriteManagerHotspots.isPickable = true;
2800	this.spriteManagerHotspots.renderingGroupId = 1;
2801	if(!this.isTouchDevice) {
2802		this.spriteManagerJumpsHover = new BABYLON.SpriteManager("hotspotManager","web/img/jump-hover.png",2000,{ width : 74, height : 74},this.scene);
2803		this.spriteManagerJumpsHover.isPickable = false;
2804		this.spriteManagerJumpsHover.renderingGroupId = 1;
2805		this.spriteManagerJumps = new BABYLON.SpriteManager("hotspotManager","web/img/jump.png",2000,{ width : 74, height : 74},this.scene);
2806	} else {
2807		this.spriteManagerJumps = new BABYLON.SpriteManager("hotspotManager","web/img/jump-hover.png",2000,{ width : 74, height : 74},this.scene);
2808	}
2809	this.spriteManagerJumps.isPickable = true;
2810	this.spriteManagerJumps.renderingGroupId = 1;
2811	this.objects = [];
2812	this.assetsManager = new BABYLON.AssetsManager(this.scene);
2813	this.assetsManager.useDefaultLoadingScreen = false;
2814	this.engine.runRenderLoop(function() {
2815		if(!MongoozPanoPlayer.get_allowRender()) {
2816			return;
2817		}
2818		_gthis.scene.render();
2819		if(_gthis.checkFrameCount == 1) {
2820			_gthis.checkNextFrame = false;
2821			_gthis.checkFrameCount = 0;
2822			_gthis.nextFrameRenderCompleteCallback();
2823		}
2824		if(_gthis.checkNextFrame) {
2825			_gthis.checkFrameCount++;
2826		}
2827		if(_gthis.camera.get_alpha() < 0) {
2828			var _g = _gthis.camera;
2829			_g.set_alpha(_g.get_alpha() + 2 * Math.PI);
2830		} else if(_gthis.camera.get_alpha() > 2 * Math.PI) {
2831			var _g = _gthis.camera;
2832			_g.set_alpha(_g.get_alpha() - 2 * Math.PI);
2833		}
2834		if(_gthis.allowRenderTooltipps) {
2835			if(Math.abs(_gthis.prevCameraAlpha - _gthis.camera.get_alpha()) > 0 || Math.abs(_gthis.prevCameraBeta - _gthis.camera.get_beta()) > 0 || Math.abs(_gthis.prevCameraFov - _gthis.camera.get_fov()) > 0) {
2836				var len = _gthis.objects.length;
2837				var _g = 0;
2838				var _g1 = len;
2839				while(_g < _g1) {
2840					var i = _g++;
2841					if(_gthis.objects[i].tooltipp != null) {
2842						if((_gthis.objects[i].type == "hotspot" || _gthis.objects[i].type == "jump") && _gthis.objects[i].tooltipp.is(":visible")) {
2843							_gthis.renderTooltippPos(_gthis.objects[i]);
2844						}
2845						if(_gthis.alwaysShowTooltipps && _gthis.objects[i].tooltipp.is(":visible")) {
2846							clearTimeout(_gthis.fadeInTooltippTimeOut);
2847							_gthis.fadeOutHsTooltipp(_gthis.objects[i].tooltipp);
2848						}
2849					}
2850				}
2851			} else {
2852				var len = _gthis.objects.length;
2853				var _g = 0;
2854				var _g1 = len;
2855				while(_g < _g1) {
2856					var i = [_g++];
2857					if(_gthis.objects[i[0]] != null) {
2858						if(_gthis.objects[i[0]].tooltipp != null) {
2859							if((_gthis.objects[i[0]].type == "hotspot" || _gthis.objects[i[0]].type == "jump") && _gthis.alwaysShowTooltipps) {
2860								if(_gthis.isPointInFrustum(_gthis.scene.frustumPlanes,_gthis.objects[i[0]].position)) {
2861									if(!_gthis.objects[i[0]].tooltipp.is(":visible")) {
2862										var tmp = (function(i) {
2863											return function() {
2864												if(_gthis.objects[i[0]] != null) {
2865													_gthis.renderTooltippPos(_gthis.objects[i[0]]);
2866													_gthis.fadeInHsTooltipp(_gthis.objects[i[0]].tooltipp);
2867												}
2868											};
2869										})(i);
2870										_gthis.fadeInTooltippTimeOut = window.setTimeout(tmp,300);
2871									}
2872								} else if(_gthis.objects[i[0]].tooltipp.is(":visible")) {
2873									_gthis.fadeOutHsTooltipp(_gthis.objects[i[0]].tooltipp);
2874								}
2875							}
2876						}
2877					}
2878				}
2879			}
2880		}
2881		_gthis.prevCameraAlpha = _gthis.camera.get_alpha();
2882		_gthis.prevCameraBeta = _gthis.camera.get_beta();
2883		_gthis.prevCameraFov = _gthis.camera.get_fov();
2884	});
2885	window.addEventListener("resize",function() {
2886		_gthis.engine.resize();
2887	});
2888	window.addEventListener("gesturestart",function(e) {
2889		e.preventDefault();
2890		_gthis.pinchScaleStart = e.scale;
2891		console.log("gesturestart",e);
2892	});
2893	window.addEventListener("gesturechange",function(e) {
2894		e.preventDefault();
2895		var fac = 0.04;
2896		var delta = (e.scale - _gthis.pinchScaleStart) * fac;
2897		if(_gthis.camera.get_fov() - delta >= _gthis.minFov && _gthis.camera.get_fov() - delta <= _gthis.maxFov) {
2898			var _g = _gthis.camera;
2899			_g.set_fov(_g.get_fov() - delta);
2900		}
2901		_gthis.resizeHotspots(_gthis.camera.get_fov());
2902	});
2903	window.addEventListener("gestureend",function(e) {
2904		e.preventDefault();
2905		console.log("gestureend",e);
2906	});
2907	var prevY = 0;
2908	$("#renderCanvas").on("touchstart",null,function(event) {
2909		prevY = event.originalEvent.pageY;
2910	});
2911	$("#renderCanvas").on("touchmove",null,function(event) {
2912		var currentY = parseFloat(event.originalEvent.pageY);
2913		_gthis.touchDiff = Math.abs(prevY - currentY);
2914	});
2915	$("#renderCanvas").on("touchend",null,function(event) {
2916		_gthis.touchDiff = 0;
2917	});
2918};
2919pano_Pano.__name__ = true;
2920pano_Pano.prototype = {
2921	resizeHotspots: function(p_fov) {
2922		var len = this.objects.length;
2923		var _g = 0;
2924		var _g1 = len;
2925		while(_g < _g1) {
2926			var i = _g++;
2927			if(this.objects[i].type == "hotspot") {
2928				this.objects[i].size = p_fov * this.hotspotsStartSize / this.startFov;
2929			} else if(this.objects[i].type == "jump") {
2930				this.objects[i].size = p_fov * this.jumpsStartSize / this.startFov;
2931				if(this.objects[i].hoverSprite != null) {
2932					this.objects[i].hoverSprite.size = this.objects[i].size;
2933				}
2934			}
2935		}
2936	}
2937	,isPointInFrustum: function(frustumPlanes,point) {
2938		if(this.allowCheckFrustum == true) {
2939			if(frustumPlanes[0].dotCoordinate(point) < 0) {
2940				return false;
2941			}
2942			if(frustumPlanes[1].dotCoordinate(point) < 0) {
2943				return false;
2944			}
2945			if(frustumPlanes[2].dotCoordinate(point) < 0) {
2946				return false;
2947			}
2948			if(frustumPlanes[3].dotCoordinate(point) < 0) {
2949				return false;
2950			}
2951			if(frustumPlanes[4].dotCoordinate(point) < 0) {
2952				return false;
2953			}
2954			if(frustumPlanes[5].dotCoordinate(point) < 0) {
2955				return false;
2956			}
2957		}
2958		return true;
2959	}
2960	,initPano: function(p_data) {
2961		this.sceneData = p_data;
2962		this.loadCubePics("web/media/nodes/" + Std.string(p_data.contentHolderID));
2963	}
2964	,addSceneData: function() {
2965		var object3ds = this.sceneData.object3ds;
2966		var len = object3ds.length;
2967		var _g = 0;
2968		var _g1 = len;
2969		while(_g < _g1) {
2970			var i = _g++;
2971			switch(object3ds[i].type) {
2972			case "plane":
2973				this.addPlane3D(new BABYLON.Vector3(0,0,0),object3ds[i]);
2974				break;
2975			case "sprite":
2976				this.addHotSpot(new BABYLON.Vector3(0,0,0),object3ds[i]);
2977				break;
2978			}
2979		}
2980		this.resizeHotspots(this.camera.get_fov());
2981	}
2982	,addCameraToScene: function(p_scene,p_normalMode) {
2983		var cameraOptions = { angularSensibilityX : -4, angularSensibilityY : -4};
2984		if(this.isTouchDevice) {
2985			cameraOptions.angularSensibilityX = cameraOptions.angularSensibilityY = -1;
2986		}
2987		this.camera = new pano_MongoozCamera("Camera",new BABYLON.Vector3(0,0,0),p_scene,cameraOptions);
2988		this.camera.set_alpha(1.5 * Math.PI);
2989		this.camera.set_fov(this.startFov);
2990		this.camera.attachControl(this.canvas,true,p_scene);
2991		this.camera.set_maxZ(20000000);
2992	}
2993	,resizeScene: function() {
2994		this.engine.resize();
2995	}
2996	,nextFrameRenderComplete: function(p_callback) {
2997		this.nextFrameRenderCompleteCallback = p_callback;
2998		this.checkNextFrame = true;
2999		this.checkFrameCount = 0;
3000	}
3001	,doScreenshot: function(p_callBack) {
3002		BABYLON.Tools.CreateScreenshot(this.engine,this.camera.get_camera(),{ width : this.engine.getRenderWidth(), height : this.engine.getRenderHeight()},function(data) {
3003			p_callBack(data);
3004		});
3005	}
3006	,addHsTooltipp: function(p_object3D,p_objData) {
3007		if(p_object3D.type == "hotspot") {
3008			$("#tooltipp-container").append("<div id=\"hs-" + Std.string(p_objData.contentholder_id) + "\" class=\"hs-tooltipp\" data-chid=\"" + Std.string(p_objData.contentholder_id) + "\" data-spritepos-x=\"" + Std.string(p_objData.x) + "\" data-spritepos-y=\"" + Std.string(p_objData.y) + "\" data-spritepos-z=\"" + Std.string(p_objData.z) + "\">" + Std.string(p_objData.title) + "</div>");
3009		} else if(p_object3D.type == "jump") {
3010			$("#tooltipp-container").append("<div id=\"hs-" + Std.string(p_objData.contentholder_id) + "\" class=\"hs-tooltipp hs-jump-tooltipp\" data-chid=\"" + Std.string(p_objData.contentholder_id) + "\" data-spritepos-x=\"" + Std.string(p_objData.x) + "\" data-spritepos-y=\"" + Std.string(p_objData.y) + "\" data-spritepos-z=\"" + Std.string(p_objData.z) + "\">" + Std.string(p_objData.title) + "</div>");
3011		}
3012		var coordinates = this.getTooltippPosition(p_object3D,p_objData.contentholder_id);
3013		$("#hs-" + Std.string(p_objData.contentholder_id)).css("left",coordinates.x);
3014		$("#hs-" + Std.string(p_objData.contentholder_id)).css("top",coordinates.y);
3015		if(this.alwaysShowTooltipps) {
3016			$("#hs-" + Std.string(p_objData.contentholder_id)).css("opacity",1);
3017		} else {
3018			$("#hs-" + Std.string(p_objData.contentholder_id)).css("opacity",0);
3019		}
3020		if(!this.isPointInFrustum(this.scene.frustumPlanes,p_object3D.position)) {
3021			$("#hs-" + Std.string(p_objData.contentholder_id)).hide();
3022		}
3023		return $("#hs-" + Std.string(p_objData.contentholder_id));
3024	}
3025	,addSprite3D: function(p_pos,p_objData) {
3026		return null;
3027	}
3028	,removeSprites3D: function() {
3029		var len = this.objects.length;
3030		var _g = 0;
3031		var _g1 = len;
3032		while(_g < _g1) {
3033			var i = _g++;
3034			var object3d = this.objects.shift();
3035			object3d.actionManager.unregisterAction(new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnLeftPickTrigger,$bind(this,this.onMouseDownObject)));
3036			object3d.actionManager.unregisterAction(new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPointerOverTrigger,$bind(this,this.onMouseOverObject)));
3037			object3d.actionManager.unregisterAction(new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPointerOutTr
3037igger,$bind(this,this.onMouseOutObject)));
3038			object3d.actionManager.unregisterAction(new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPickTrigger,$bind(this,this.onMouseUpObject)));
3039			if(object3d.hoverSprite != null) {
3040				object3d.hoverSprite.dispose();
3041			}
3042			object3d.dispose();
3043		}
3044	}
3045	,addHotSpot: function(p_pos,p_objData) {
3046		var linkedNodeID = 0;
3047		var currentSlot = this.objects.length;
3048		if(p_objData.templateName == "hotspotDetail") {
3049			this.objects.push(new BABYLON.Sprite("hotspot",this.spriteManagerHotspots));
3050			this.objects[currentSlot].type = "hotspot";
3051			this.objects[currentSlot].title = p_objData.title;
3052			this.objects[currentSlot].size = this.hotspotsStartSize;
3053		} else if(p_objData.templateName == "node") {
3054			linkedNodeID = Std.parseInt(p_objData.linked.is_alias_of_id);
3055			this.objects.push(new BABYLON.Sprite("jump",this.spriteManagerJumps));
3056			this.objects[currentSlot].type = "jump";
3057			this.objects[currentSlot].title = p_objData.linked.name;
3058			this.objects[currentSlot].size = this.jumpsStartSize;
3059			this.objects[currentSlot].color.a = 1;
3060			if(!this.isTouchDevice) {
3061				this.objects[currentSlot].hoverSprite = new BABYLON.Sprite("jump",this.spriteManagerJumpsHover);
3062				this.objects[currentSlot].hoverSprite.size = this.objects[currentSlot].size;
3063				this.objects[currentSlot].hoverSprite.position = this.objects[currentSlot].position;
3064				this.objects[currentSlot].hoverSprite.color.a = 0;
3065			}
3066		}
3067		this.objects[currentSlot].idle = true;
3068		if(p_objData == null) {
3069			this.objects[currentSlot].position.x = p_pos.x;
3070			this.objects[currentSlot].position.y = p_pos.y;
3071			this.objects[currentSlot].position.z = p_pos.z;
3072		} else {
3073			this.objects[currentSlot].id = p_objData.id;
3074			this.objects[currentSlot].contentholder_id = p_objData.contentholder_id;
3075			this.objects[currentSlot].linkedNodeID = linkedNodeID;
3076			this.objects[currentSlot].position.x = p_objData.x / 100;
3077			this.objects[currentSlot].position.y = p_objData.y / 100;
3078			this.objects[currentSlot].position.z = p_objData.z / 100;
3079		}
3080		var distance = Math.sqrt(Math.pow(this.objects[currentSlot].position.x,2) + Math.pow(this.objects[currentSlot].position.y,2) + Math.pow(this.objects[currentSlot].position.z,2));
3081		var fac = 250 / distance;
3082		this.objects[currentSlot].position = this.objects[currentSlot].position.scale(fac);
3083		if(this.objects[currentSlot].hoverSprite != null) {
3084			this.objects[currentSlot].hoverSprite.position = this.objects[currentSlot].position;
3085		}
3086		this.objects[currentSlot].isPickable = true;
3087		this.objects[currentSlot].actionManager = new BABYLON.ActionManager(this.scene);
3088		if(MongoozPanoPlayer.isAdmin) {
3089			this.objects[currentSlot].actionManager.registerAction(new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnLeftPickTrigger,$bind(this,this.onMouseDownObject)));
3090		} else {
3091			this.objects[currentSlot].actionManager.registerAction(new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPointerOverTrigger,$bind(this,this.onMouseOverObject)));
3092			this.objects[currentSlot].actionManager.registerAction(new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPointerOutTrigger,$bind(this,this.onMouseOutObject)));
3093		}
3094		this.objects[currentSlot].actionManager.registerAction(new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPickTrigger,$bind(this,this.onMouseUpObject)));
3095		this.objects[currentSlot].tooltipp = this.addHsTooltipp(this.objects[currentSlot],p_objData);
3096		this.objects[currentSlot].tooltipp.hide();
3097		return this.objects[currentSlot];
3098	}
3099	,addPlane3D: function(p_pos,p_objData) {
3100		this.objects.push(BABYLON.MeshBuilder.CreatePlane("plane",{ width : 50, height : 50, sideOrientation : BABYLON.Mesh.DOUBLESIDE},this.scene));
3101		var currentSlot = this.objects.length - 1;
3102		this.objects[currentSlot].position.x = p_pos.x;
3103		this.objects[currentSlot].position.y = p_pos.y;
3104		this.objects[currentSlot].position.z = p_pos.z;
3105		return this.objects[currentSlot];
3106	}
3107	,removeObjects: function() {
3108		this.removeSprites3D();
3109	}
3110	,addLenseFlare: function() {
3111		var light = new BABYLON.PointLight("pointLight",new BABYLON.Vector3(1,10,1),this.scene);
3112		var lensFlareSystem = new BABYLON.LensFlareSystem("lensFlareSystem",light,this.scene);
3113		var flare00 = new BABYLON.LensFlare(0.1,0,new BABYLON.Color3(1,1,1),"textures/flare.png",lensFlareSystem);
3114		var flare01 = new BABYLON.LensFlare(0.075,0.5,new BABYLON.Color3(0.8,0.56,0.72),"textures/flare3.png",lensFlareSystem);
3115		var flare02 = new BABYLON.LensFlare(0.1,-0.15,new BABYLON.Color3(0.71,0.8,0.95),"textures/Flare2.png",lensFlareSystem);
3116		var flare03 = new BABYLON.LensFlare(0.15,0.25,new BABYLON.Color3(0.95,0.89,0.71),"textures/flare.png",lensFlareSystem);
3117	}
3118	,centerObject: function(p_obj,p_animDuration,p_onCenterObjComplete) {
3119		if(p_animDuration == null) {
3120			p_animDuration = 1;
3121		}
3122		var rad = p_obj.position.length();
3123		var alpha = Math.atan2(p_obj.position.x,p_obj.position.z);
3124		var beta = Math.acos(p_obj.position.y / rad);
3125		var goalAlpha = -Math.PI / 2 - alpha;
3126		var goalBeta = Math.PI - beta;
3127		if(Math.abs(goalAlpha - this.camera.get_alpha()) > Math.PI / 2) {
3128			if(goalAlpha < 0) {
3129				goalAlpha += Math.PI * 2;
3130			} else {
3131				goalAlpha -= Math.PI * 2;
3132			}
3133		}
3134		if(p_animDuration > 0) {
3135			if(p_obj.type == "hotspot") {
3136				motion_Actuate.tween(this.camera,p_animDuration,{ alpha : goalAlpha, beta : goalBeta}).onComplete(p_onCenterObjComplete).ease(motion_easing_Quad.easeInOut);
3137			} else if(p_obj.type == "jump") {
3138				motion_Actuate.tween(this.camera,p_animDuration,{ alpha : goalAlpha, beta : Math.PI / 2}).onComplete(p_onCenterObjComplete).ease(motion_easing_Quad.easeInOut);
3139			}
3140		} else {
3141			this.camera.set_alpha(goalAlpha);
3142			this.camera.set_beta(goalBeta);
3143		}
3144	}
3145	,goToNode: function(p_linkedNodeID,p_transitionType) {
3146		if(p_transitionType == null) {
3147			p_transitionType = "alphaFade";
3148		}
3149		var _gthis = this;
3150		var url = "/object3d/read-scene";
3151		if(MongoozPanoPlayer.isAdmin) {
3152			url = "/mongooz/contentscene3d/read";
3153		}
3154		$.ajax({ url : url, method : "POST", data : { contentholder_id : p_linkedNodeID, ignorePublishStatus : false}}).done(function(p_data) {
3155			_gthis.sceneData = p_data;
3156			_gthis.currentNodeID = p_data.contentHolderID;
3157			_gthis.currentNodeParentID = p_data.parentContentHolderID;
3158			_gthis.currentNodeName = p_data.currentNodeName;
3159			_gthis.currentNodeParentName = p_data.currentNodeParentName;
3160			_gthis.mixerSettings = p_data.mixerSettings;
3161			_gthis.loadCubePics("web/media/nodes/" + p_linkedNodeID,function(p_texture) {
3162				if(p_transitionType == "warp") {
3163					var transition = new pano_WarpTransition(_gthis,_gthis.scene,_gthis.engine,_gthis.camera,p_texture);
3164				} else {
3165					var transition = new pano_AlphaFadeTransition(_gthis,_gthis.scene,_gthis.engine,_gthis.camera,p_texture);
3166				}
3167				_gthis.removeSprites3D();
3168				_gthis.addSceneData();
3169			});
3170		});
3171	}
3172	,onMouseOverObject: function(p_evt) {
3173		if(this.alwaysShowTooltipps) {
3174			return;
3175		}
3176		if(p_evt.source.hoverSprite != null) {
3177			TweenLite.to(p_evt.source.hoverSprite.color,{ duration : 0.3, a : 1, ease : motion_easing_Linear.easeIn});
3178		}
3179		if(p_evt.source.hoverSprite != null) {
3180			TweenLite.to(p_evt.source.color,{ duration : 0.3, a : 0, ease : motion_easing_Linear.easeIn});
3181		}
3182		this.renderTooltippPos(p_evt.source);
3183		this.fadeInHsTooltipp(p_evt.source.tooltipp);
3184	}
3185	,renderTooltippPos: function(p_hotSpot) {
3186		if(p_hotSpot == null) {
3187			return;
3188		}
3189		var coordinates = this.getTooltippPosition(p_hotSpot,p_hotSpot.contentholder_id);
3190		p_hotSpot.tooltipp.css("left",coordinates.x);
3191		p_hotSpot.tooltipp.css("top",coordinates.y);
3192	}
3193	,onMouseOutObject: function(p_evt) {
3194		if(this.alwaysShowTooltipps) {
3195			return;
3196		}
3197		if(p_evt.source.hoverSprite != null) {
3198			TweenLite.to(p_evt.source.hoverSprite.color,{ duration : 0.2, a : 0, ease : motion_easing_Linear.easeIn});
3199			TweenLite.to(p_evt.source.color,{ duration : 0.2, a : 1, ease : motion_easing_Linear.easeIn});
3200		}
3201		this.fadeOutHsTooltipp(p_evt.source.tooltipp);
3202	}
3203	,onMouseUpObject: function(p_evt) {
3204		var _gthis = this;
3205		if(this.touchDiff > 1) {
3206			return;
3207		}
3208		TweenLite.to($(".hs-tooltipp"),{ duration : 0.2, opacity : 0, onComplete : function() {
3209			$(".hs-tooltipp").hide();
3210		}});
3211		$("#renderCanvas").trigger("onHsMouseUp",[p_evt.source.contentholder_id]);
3212		this.centerObject(p_evt.source,0.75,function() {
3213			if(p_evt.source.type == "jump") {
3214				_gthis.allowRenderTooltipps = false;
3215			}
3216			if(p_evt.source.type == "hotspot") {
3217				$("#renderCanvas").trigger("onHsCenterComplete",[p_evt.source.contentholder_id]);
3218			} else if(p_evt.source.type == "jump") {
3219				$("#renderCanvas").trigger("onLoadCubePicsStart");
3220				_gthis.goToNode(p_evt.source.linkedNodeID,"warp");
3221			}
3222		});
3223	}
3224	,onMouseDownObject: function(p_evt) {
3225	}
3226	,fadeInHsTooltipp: function(p_tooltipp) {
3227		p_tooltipp.show();
3228		TweenLite.killTweensOf(p_tooltipp);
3229		TweenLite.to(p_tooltipp,{ duration : 0.3, opacity : 1});
3230	}
3231	,fadeOutHsTooltipp: function(p_tooltipp) {
3232		TweenLite.killTweensOf(p_tooltipp);
3233		TweenLite.to(p_tooltipp,{ duration : 0.2, opacity : 0, onComplete : function() {
3234			p_tooltipp.hide();
3235		}});
3236	}
3237	,getTooltippPosition: function(p_sprite,p_contentHolderID) {
3238		var currentsHsWidth = $("#hs-" + p_contentHolderID).width();
3239		var coordinates = this.getScreenPosition(p_sprite.position);
3240		var someY = 0;
3241		if(this.isTouchDevice) {
3242			someY = 30;
3243		}
3244		if(p_sprite.type == "hotspot") {
3245			coordinates.x -= currentsHsWidth / 2 + 5;
3246			coordinates.y -= -this.hotspotsStartSize * 2 + someY / 2;
3247		} else if(p_sprite.type == "jump") {
3248			coordinates.x -= currentsHsWidth / 2;
3249			coordinates.y -= -this.jumpsStartSize * 2 + someY;
3250		}
3251		return coordinates;
3252	}
3253	,getScreenPosition: function(p_worldPosition) {
3254		var coordinates = BABYLON.Vector3.Project(p_worldPosition,BABYLON.Matrix.Identity(),this.scene.getTransformMatrix(),this.scene.activeCamera.viewport.toGlobal(this.engine.getRenderWidth(),this.engine.getRenderHeight()));
3255		return coordinates;
3256	}
3257	,loadCubePics: function(p_path,p_callBack) {
3258		var _gthis = this;
3259		$("#renderCanvas").trigger("onLoadCubePicsStart");
3260		var cubeTextureTask = this.assetsManager.addCubeTextureTask("image task","/" + p_path + "/",["_r.jpg","_u.jpg","_f.jpg","_l.jpg","_d.jpg","_b.jpg"]);
3261		cubeTextureTask.onSuccess = function(task) {
3262			_gthis.addSceneData();
3263			$("#renderCanvas").trigger("onLoadCubePicsComplete",[_gthis.currentNodeID,_gthis.currentNodeParentID,_gthis.currentNodeName,_gthis.currentNodeParentName,_gthis.mixerSettings]);
3264			if(p_callBack != null) {
3265				p_callBack(task.texture);
3266			} else {
3267				_gthis.applyCubePics(task.texture);
3268			}
3269			if(!_gthis.allowCheckFrustum) {
3270				_gthis.allowCheckFrustum = true;
3271			}
3272		};
3273		this.assetsManager.onProgress = function(remainingCount,totalCount,lastFinishedTask) {
3274			haxe_Log.trace("We are loading the scene. " + remainingCount + " out of " + totalCount + " items still need to be loaded.",{ fileName : "src/pano/Pano.hx", lineNumber : 745, className : "pano.Pano", methodName : "loadCubePics"});
3275		};
3276		this.assetsManager.onTaskErrorObservable.add(function(task) {
3277			haxe_Log.trace("task failed",{ fileName : "src/pano/Pano.hx", lineNumber : 748, className : "pano.Pano", methodName : "loadCubePics", customParams : [task.errorObject.message,task.errorObject.exception]});
3278		});
3279		this.assetsManager.load();
3280	}
3281	,applyCubePics: function(p_texture) {
3282		if(this.skyboxMaterial.reflectionTexture != null) {
3283			this.skyboxMaterial.reflectionTexture.dispose();
3284		}
3285		this.skyboxMaterial.dispose();
3286		this.skyboxMaterial.reflectionTexture = p_texture;
3287		this.skyboxMaterial.backFaceCulling = false;
3288		this.skyboxMaterial.reflectionTexture.coordinatesMode = BABYLON.Texture.SKYBOX_MODE;
3289		this.skyboxMaterial.diffuseColor = new BABYLON.Color3(0,0,0);
3290		this.skyboxMaterial.specularColor = new BABYLON.Color3(0,0,0);
3291		this.skybox.material = this.skyboxMaterial;
3292	}
3293	,rotateToObject: function(p_objID) {
3294	}
3295	,transitionComplete: function() {
3296		this.allowRenderTooltipps = true;
3297		$("#renderCanvas").trigger("onTransitionComplete");
3298	}
3299	,createSprite3D: function() {
3300		return null;
3301	}
3302	,addPositionGizmo: function() {
3303	}
3304	,__class__: pano_Pano
3305};
3306var pano_AdminPano = function() {
3307	pano_Pano.call(this);
3308	var scene = this.scene;
3309	this.gizmoManager = new BABYLON.GizmoManager(scene);
3310};
3311pano_AdminPano.__name__ = true;
3312pano_AdminPano.__super__ = pano_Pano;
3313pano_AdminPano.prototype = $extend(pano_Pano.prototype,{
3314	onMouseDownSkybox: function(p_evt) {
3315	}
3316	,addOnSceneChangeCallback: function(p_onSceneChangeCallback) {
3317		this.onSceneChangeCallback = p_onSceneChangeCallback;
3318	}
3319	,createSprite3D: function() {
3320		var camDistance = this.engine.getRenderHeight() / 2 / Math.tan(this.camera.get_fov() / 2);
3321		var alpha = Math.PI + this.camera.get_alpha();
3322		var beta = Math.PI - this.camera.get_beta();
3323		var x = camDistance * Math.sin(beta) * Math.cos(alpha);
3324		var z = camDistance * Math.sin(beta) * Math.sin(alpha);
3325		var y = camDistance * Math.cos(beta);
3326		this.currentObject = this.addSprite3D(new BABYLON.Vector3(x,y,z));
3327		var objData = { type : "sprite", x : x, y : y, z : z, rotX : 0, rotY : 0, rotZ : 0, scaleX : 1, scaleY : 1, scaleZ : 1};
3328		return objData;
3329	}
3330	,createPlane3D: function() {
3331		var camDistance = this.engine.getRenderHeight() / 2 / Math.tan(this.camera.get_fov() / 2);
3332		var alpha = Math.PI + this.camera.get_alpha();
3333		var beta = Math.PI - this.camera.get_beta();
3334		var x = camDistance * Math.sin(beta) * Math.cos(alpha);
3335		var z = camDistance * Math.sin(beta) * Math.sin(alpha);
3336		var y = camDistance * Math.cos(beta);
3337		this.currentObject = this.addPlane3D(new BABYLON.Vector3(x,y,z));
3338		var objData = { type : "plane", x : x, y : y, z : z, rotX : this.currentObject.rotation.x, rotY : this.currentObject.rotation.y, rotZ : this.currentObject.rotation.z, scaleX : this.currentObject.scaling.x, scaleY : this.currentObject.scaling.y, scaleZ : this.currentObject.scaling.z};
3339		return objData;
3340	}
3341	,createCornerPinablePlane: function() {
3342		var plane = BABYLON.MeshBuilder.CreatePlane("plane",{ width : 50, height : 50, sideOrientation : BABYLON.Mesh.DOUBLESIDE},this.scene);
3343		var camDistance = 70;
3344		var alpha = Math.PI + this.camera.get_alpha();
3345		var beta = Math.PI - this.camera.get_beta();
3346		var x = camDistance * Math.sin(beta) * Math.cos(alpha);
3347		var z = camDistance * Math.sin(beta) * Math.sin(alpha);
3348		var y = camDistance * Math.cos(beta);
3349		var myMaterial = new BABYLON.StandardMaterial("myMaterial",this.scene);
3350		myMaterial.emissiveTexture = new BABYLON.Texture("http://i.imgur.com/JbvoYlB.png",this.scene);
3351		plane.material = myMaterial;
3352		plane.position = new BABYLON.Vector3(x,y,z);
3353		var verts = plane.getVerticesData(BABYLON.VertexBuffer.PositionKind);
3354		var indices = plane.getIndices();
3355		var normals = plane.getVerticesData(BABYLON.VertexBuffer.NormalKind);
3356		var uvs = plane.getVerticesData(BABYLON.VertexBuffer.UVKind);
3357		haxe_Log.trace("indices",{ fileName : "src/pano/AdminPano.hx", lineNumber : 135, className : "pano.AdminPano", methodName : "createCornerPinablePlane", customParams : [indices,verts]});
3358		var len = verts.length;
3359		var _g = 0;
3360		var _g1 = len;
3361		while(_g < _g1) {
3362			var i = _g++;
3363		}
3364		verts[0] = -40;
3365		verts[12] = -40;
3366		haxe_Log.trace("uv",{ fileName : "src/pano/AdminPano.hx", lineNumber : 143, className : "pano.AdminPano", methodName : "createCornerPinablePlane", customParams : [uvs[0],uvs[8]]});
3367		uvs[0] = -0.2;
3368		uvs[8] = -0.2;
3369		var vertexData = null;
3370		vertexData = new BABYLON.VertexData();
3371		vertexData.positions = verts;
3372		vertexData.indices = indices;
3373		vertexData.normals = normals;
3374		vertexData.uvs = uvs;
3375		vertexData.applyToMesh(plane);
3376	}
3377	,addPlane3D: function(p_pos,p_objData) {
3378		this.objects.push(BABYLON.MeshBuilder.CreatePlane("plane",{ width : 50, height : 50, sideOrientation : BABYLON.Mesh.DOUBLESIDE},this.scene));
3379		var currentSlot = this.objects.length - 1;
3380		this.objects[currentSlot].idle = true;
3381		var myMaterial = new BABYLON.StandardMaterial("myMaterial",this.scene);
3382		myMaterial.emissiveColor = new BABYLON.Color3(255,255,255);
3383		this.objects[currentSlot].material = myMaterial;
3384		this.objects[currentSlot].actionManager = new BABYLON.ActionManager(this.scene);
3385		this.objects[currentSlot].actionManager.registerAction(new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPickUpTrigger,$bind(this,this.onMouseDownObject)));
3386		if(p_objData == null) {
3387			this.objects[currentSlot].position.x = p_pos.x;
3388			this.objects[currentSlot].position.y = p_pos.y;
3389			this.objects[currentSlot].position.z = p_pos.z;
3390			var phi = Math.PI / 2 - this.camera.get_alpha();
3391			var theta = this.camera.get_beta();
3392			this.objects[currentSlot].rotation.x = theta + Math.PI / 2;
3393			this.objects[currentSlot].rotation.y = Math.PI + phi;
3394		} else {
3395			this.objects[currentSlot].id = p_objData.id;
3396			this.objects[currentSlot].contentholder_id = p_objData.contentholder_id;
3397			this.objects[currentSlot].position.x = p_objData.x;
3398			this.objects[currentSlot].position.y = p_objData.y;
3399			this.objects[currentSlot].position.z = p_objData.z;
3400			this.objects[currentSlot].rotation.x = p_objData.rotX;
3401			this.objects[currentSlot].rotation.y = p_objData.rotY;
3402			this.objects[currentSlot].rotation.z = p_objData.rotZ;
3403			this.objects[currentSlot].scaling.x = p_objData.scaleX;
3404			this.objects[currentSlot].scaling.y = p_objData.scaleX;
3405			this.objects[currentSlot].scaling.z = p_objData.scaleX;
3406		}
3407		return this.objects[currentSlot];
3408	}
3409	,onMouseDownObject: function(p_evt) {
3410		this.currentObject = p_evt.source;
3411		this.camera.get_camera().lowerAlphaLimit = this.camera.get_camera().upperAlphaLimit = this.camera.get_camera().alpha;
3412		this.camera.get_camera().lowerBetaLimit = this.camera.get_camera().upperBetaLimit = this.camera.get_camera().beta;
3413		this.camera.get_camera().speed = 0;
3414		var pickinfo = this.scene.pickSprite(this.scene.pointerX,this.scene.pointerY);
3415		if(pickinfo.hit) {
3416			this.canvas.addEventListener("pointermove",$bind(this,this.onPointerMove),false);
3417			this.canvas.addEventListener("pointerup",$bind(this,this.onPointerUp),false);
3418			this.camera.disableCameraMove();
3419		}
3420	}
3421	,onPointerMove: function(e) {
3422		var distance = Math.sqrt(Math.pow(this.currentObject.position.x,2) + Math.pow(this.currentObject.position.y,2) + Math.pow(this.currentObject.position.z,2));
3423		var pickResult = this.scene.pick(this.scene.pointerX,this.scene.pointerY);
3424		var ray = new BABYLON.Ray(pickResult.ray.origin,pickResult.ray.direction,distance);
3425		var ray1 = ray.direction;
3426		var tmp = distance / ray.direction.length();
3427		this.currentObject.position = ray1.scale(tmp);
3428	}
3429	,onPointerUp: function(e) {
3430		var _gthis = this;
3431		this.canvas.removeEventListener("pointermove",$bind(this,this.onPointerMove),false);
3432		setTimeout(function() {
3433			_gthis.camera.get_camera().lowerAlphaLimit = _gthis.camera.get_camera().upperAlphaLimit = null;
3434			_gthis.camera.get_camera().lowerBetaLimit = _gthis.camera.get_camera().upperBetaLimit = null;
3435		},100);
3436	}
3437	,onMouseUpObject: function(p_evt) {
3438		var pickinfo = this.scene.pickSprite(this.scene.pointerX,this.scene.pointerY);
3439		if(pickinfo.pickedPoint == null) {
3440			return;
3441		}
3442		this.currentObject.position = pickinfo.pickedPoint;
3443		var distance = Math.sqrt(Math.pow(this.currentObject.position.x,2) + Math.pow(this.currentObject.position.y,2) + Math.pow(this.currentObject.position.z,2));
3444		var fac = 250 / distance;
3445		this.currentObject.position = this.currentObject.position.scale(fac);
3446		haxe_Log.trace("onMouseUpObject objects position:",{ fileName : "src/pano/AdminPano.hx", lineNumber : 244, className : "pano.AdminPano", methodName : "onMouseUpObject", customParams : [fac,this.currentObject.position.scale(100)]});
3447	}
3448	,getCurrentObjData: function() {
3449		return { };
3450	}
3451	,addPositionGizmo: function() {
3452		haxe_Log.trace("addPositionGizmo",{ fileName : "src/pano/AdminPano.hx", lineNumber : 252, className : "pano.AdminPano", methodName : "addPositionGizmo"});
3453		if(this.currentObject.type != "hotspot" && this.currentObject.type != "jump") {
3454			this.gizmoManager.attachToNode(this.currentObject);
3455			this.gizmoManager.positionGizmoEnabled = true;
3456		}
3457	}
3458	,addRotGizmo: function() {
3459		if(this.gizmo != null) {
3460			this.gizmo.dispose();
3461		}
3462		haxe_Log.trace("addRotGizmo",{ fileName : "src/pano/AdminPano.hx", lineNumber : 276, className : "pano.AdminPano", methodName : "addRotGizmo"});
3463		var scene = this.scene;
3464		var utilL = new BABYLON.UtilityLayerRenderer(scene);
3465		var utilLayer = utilL;
3466		var giz = new BABYLON.RotationGizmo(utilLayer);
3467		this.gizmo = giz;
3468		this.gizmo.xGizmo.dragBehavior.onDragEndObservable.add($bind(this,this.onDragGizmoEnd));
3469		this.gizmo.yGizmo.dragBehavior.onDragEndObservable.add($bind(this,this.onDragGizmoEnd));
3470		this.gizmo.zGizmo.dragBehavior.onDragEndObservable.add($bind(this,this.onDragGizmoEnd));
3471		this.gizmo.scaleRatio = 2;
3472		this.gizmo.attachedMesh = this.currentObject;
3473	}
3474	,addScaleGizmo: function() {
3475		if(this.gizmo != null) {
3476			this.gizmo.dispose();
3477		}
3478		var scene = this.scene;
3479		var utilL = new BABYLON.UtilityLayerRenderer(scene);
3480		var utilLayer = utilL;
3481		var giz = new BABYLON.ScaleGizmo(utilLayer);
3482		this.gizmo = giz;
3483		this.gizmo.attachedMesh = this.currentObject;
3484	}
3485	,rotateToObject: function(p_objID) {
3486		var len = this.objects.length;
3487		var _g = 0;
3488		var _g1 = len;
3489		while(_g < _g1) {
3490			var i = _g++;
3491			haxe_Log.trace("objects[i].id == p_objID",{ fileName : "src/pano/AdminPano.hx", lineNumber : 311, className : "pano.AdminPano", methodName : "rotateToObject", customParams : [this.objects[i].id,p_objID]});
3492			if(this.objects[i].contentholder_id == p_objID) {
3493				this.centerObject(this.objects[i].position);
3494				break;
3495			}
3496		}
3497	}
3498	,deleteObject: function(p_objID) {
3499		haxe_Log.trace("deleteObject):Void {",{ fileName : "src/pano/AdminPano.hx", lineNumber : 320, className : "pano.AdminPano", methodName : "deleteObject"});
3500	}
3501	,onDragGizmoEnd: function() {
3502		this.onSceneChangeCallback();
3503	}
3504	,saveNewSprite: function() {
3505	}
3506	,onCreateSpriteComplete: function(p_response) {
3507		haxe_Log.trace("pr",{ fileName : "src/pano/AdminPano.hx", lineNumber : 337, className : "pano.AdminPano", methodName : "onCreateSpriteComplete", customParams : [p_response]});
3508	}
3509	,__class__: pano_AdminPano
3510});
3511var pano_AlphaFadeTransition = function(p_pano,p_scene,p_engine,p_camera,p_texture) {
3512	this.pano = p_pano;
3513	this.scene = p_scene;
3514	this.engine = p_engine;
3515	this.camera = p_camera;
3516	this.nextCubeTexture = p_texture;
3517	this.prepareTransition();
3518};
3519pano_AlphaFadeTransition.__name__ = true;
3520pano_AlphaFadeTransition.prototype = {
3521	prepareTransition: function() {
3522		var _gthis = this;
3523		this.meshOfNodeToLeaveScreenshot = BABYLON.MeshBuilder.CreatePlane("plane",{ },this.scene);
3524		this.meshOfNodeToLeaveScreenshot.renderingGroupId = 2;
3525		this.scene.meshes.pop();
3526		this.pano.doScreenshot(function(p_data) {
3527			haxe_Log.trace("screenshot done",{ fileName : "src/pano/AlphaFadeTransition.hx", lineNumber : 44, className : "pano.AlphaFadeTransition", methodName : "prepareTransition"});
3528			_gthis.firstMeshMat = new BABYLON.StandardMaterial("mat",_gthis.scene);
3529			_gthis.firstMeshMat.emissiveTexture = new BABYLON.Texture(p_data,_gthis.scene);
3530			_gthis.meshOfNodeToLeaveScreenshot.material = _gthis.firstMeshMat;
3531			_gthis.firstMeshMat.backFaceCulling = false;
3532			_gthis.overlayImgEl = document.getElementById("screenshot");
3533			_gthis.overlayImgEl.style.zIndex = 9999999999;
3534			_gthis.overlayImgEl.style.opacity = 1;
3535			_gthis.overlayImgEl.src = p_data;
3536			_gthis.overlayImgEl.width = _gthis.engine.getRenderWidth();
3537			_gthis.overlayImgEl.height = _gthis.engine.getRenderHeight();
3538			_gthis.pano.applyCubePics(_gthis.nextCubeTexture);
3539			_gthis.pano.nextFrameRenderComplete($bind(_gthis,_gthis.startTransition));
3540		});
3541		this.camDistance = this.engine.getRenderHeight() / 2 / Math.tan(this.camera.get_fov() / 2);
3542		this.alignFXConToVP(this.meshOfNodeToLeaveScreenshot);
3543	}
3544	,startTransition: function() {
3545		this.animObj1 = { };
3546		this.animObj1.fac = 1;
3547		this.camera.set_beta(Math.PI / 2);
3548		motion_Actuate.tween(this.animObj1,1,{ fac : 0}).onUpdate($bind(this,this.updateAnimationFrame)).onComplete($bind(this,this.onTransitionComplete)).ease(motion_easing_Sine.easeIn);
3549	}
3550	,onTransitionComplete: function() {
3551		this.firstMeshMat.dispose();
3552		this.meshOfNodeToLeaveScreenshot.dispose();
3553		this.overlayImgEl.style.zIndex = -1;
3554		this.pano.transitionComplete();
3555	}
3556	,updateAnimationFrame: function() {
3557		this.overlayImgEl.style.opacity = this.animObj1.fac;
3558	}
3559	,alignFXConToVP: function(p_conToAlign) {
3560		var phi = Math.PI / 2 - this.camera.get_alpha();
3561		var theta = this.camera.get_beta();
3562		p_conToAlign.position.x = -this.camDistance * Math.sin(theta) * Math.sin(phi);
3563		p_conToAlign.position.y = -this.camDistance * Math.cos(theta);
3564		p_conToAlign.position.z = -this.camDistance * Math.sin(theta) * Math.cos(phi);
3565		p_conToAlign.rotation.x = Math.PI / 2 - theta + 3 * Math.PI / 2;
3566		p_conToAlign.rotation.y = Math.PI + phi;
3567		p_conToAlign.scaling.z = -1;
3568		this.meshOfNodeToLeaveScreenshot.setPivotPoint(new BABYLON.Vector3(0,0,0));
3569	}
3570	,__class__: pano_AlphaFadeTransition
3571};
3572var pano_IMongoozCamerable = function() { };
3573pano_IMongoozCamerable.__name__ = true;
3574pano_IMongoozCamerable.__isInterface__ = true;
3575pano_IMongoozCamerable.prototype = {
3576	__class__: pano_IMongoozCamerable
3577	,__properties__: {get_camera:"get_camera",set_maxZ:"set_maxZ",get_maxZ:"get_maxZ",set_minZ:"set_minZ",get_minZ:"get_minZ",set_fov:"set_fov",get_fov:"get_fov",set_beta:"set_beta",get_beta:"get_beta",set_alpha:"set_alpha",get_alpha:"get_alpha"}
3578};
3579var pano_MongoozCamera = function(p_name,p_vector3,p_scene,p_cameraOptions) {
3580	var initObj = libs_src_utils_Init.parse(p_cameraOptions);
3581	this._camera = new BABYLON.ArcRotateCamera(p_name,Math.PI / 2,Math.PI / 2,2,p_vector3,p_scene);
3582	this._camera.angularSensibilityX *= initObj.getNumber("angularSensibilityX",-4);
3583	this._camera.angularSensibilityY *= initObj.getNumber("angularSensibilityY",-4);
3584	this._camera.keysDown = [38];
3585	this._camera.keysUp = [40];
3586	this._camera.keysLeft = [39];
3587	this._camera.keysRight = [37];
3588	this._camera.panningSensibility = 0;
3589	this._camera.lowerRadiusLimit = this._camera.upperRadiusLimit = this._camera.radius;
3590};
3591pano_MongoozCamera.__name__ = true;
3592pano_MongoozCamera.__interfaces__ = [pano_IMongoozCamerable];
3593pano_MongoozCamera.prototype = {
3594	disableCameraMove: function() {
3595		this.panningSensibility = this._camera.panningSensibility;
3596		this._camera.panningSensibility = 0;
3597	}
3598	,enableCameraMove: function() {
3599		this._camera.panningSensibility = this.panningSensibility;
3600	}
3601	,getTarget: function() {
3602		return this._camera.getDirection(BABYLON.Vector3.Forward());
3603	}
3604	,attachControl: function(p_canvas,p_val,p_scene) {
3605		this._camera.attachControl(p_canvas,p_val);
3606	}
3607	,get_alpha: function() {
3608		return this._camera.alpha;
3609	}
3610	,set_alpha: function(p_angle) {
3611		this._camera.alpha = p_angle;
3612		return p_angle;
3613	}
3614	,get_beta: function() {
3615		return this._camera.beta;
3616	}
3617	,set_beta: function(p_angle) {
3618		this._camera.beta = p_angle;
3619		return p_angle;
3620	}
3621	,get_fov: function() {
3622		return this._camera.fov;
3623	}
3624	,set_fov: function(p_angle) {
3625		this._camera.fov = p_angle;
3626		return p_angle;
3627	}
3628	,get_radius: function() {
3629		return this._camera.radius;
3630	}
3631	,set_radius: function(p_val) {
3632		this._camera.radius = p_val;
3633		return p_val;
3634	}
3635	,get_position: function() {
3636		return this._camera.position;
3637	}
3638	,set_position: function(p_val) {
3639		this._camera.position = p_val;
3640		return p_val;
3641	}
3642	,get_minZ: function() {
3643		return this._camera.minZ;
3644	}
3645	,set_minZ: function(p_val) {
3646		this._camera.minZ = p_val;
3647		return p_val;
3648	}
3649	,get_maxZ: function() {
3650		return this._camera.maxZ;
3651	}
3652	,set_maxZ: function(p_val) {
3653		this._camera.maxZ = p_val;
3654		return p_val;
3655	}
3656	,get_camera: function() {
3657		return this._camera;
3658	}
3659	,__class__: pano_MongoozCamera
3660	,__properties__: {get_camera:"get_camera",set_maxZ:"set_maxZ",get_maxZ:"get_maxZ",set_minZ:"set_minZ",get_minZ:"get_minZ",set_position:"set_position",get_position:"get_position",set_radius:"set_radius",get_radius:"get_radius",set_fov:"set_fov",get_fov:"get_fov",set_beta:"set_beta",get_beta:"get_beta",set_alpha:"set_alpha",get_alpha:"get_alpha"}
3661};
3662var pano_WarpTransition = function(p_pano,p_scene,p_engine,p_camera,p_texture) {
3663	this.warpFac = 40;
3664	this.pano = p_pano;
3665	this.scene = p_scene;
3666	this.engine = p_engine;
3667	this.camera = p_camera;
3668	this.nextCubeTexture = p_texture;
3669	this.prepareTransition();
3670};
3671pano_WarpTransition.__name__ = true;
3672pano_WarpTransition.prototype = {
3673	prepareTransition: function() {
3674		var _gthis = this;
3675		this.meshOfNodeToLeaveScreenshot = new BABYLON.Mesh("custom",this.scene);
3676		this.meshOfNodeToLeaveScreenshot.renderingGroupId = 2;
3677		this.scene.meshes.pop();
3678		this.meshOfNodeToGoScreenshot = new BABYLON.Mesh("customTwo",this.scene);
3679		this.meshOfNodeToGoScreenshot.renderingGroupId = 3;
3680		this.scene.meshes.pop();
3681		this.positions = [-1400.398364,-18372.115052,-254.809526,-1472.465978,-18372.115052,0,-2663.715978,-15628.25452,-484.67652,-2800.796727,-15628.25452,0,-1191.25,-18372.115052,-484.67652,-2265.89215,-15628.25452,-921.909526,-865.493786,-18372.115052,-667.1,-1646.267011,-15628.25452,-1268.899604,-455.017011,-18372.115052,-784.223084,-988.376104,-15628.25452,-1514.023187,0,-18372.115052,-824.580948,0,-15628.25452,-1568.446167,-1437.014635,-11354.591547,1997.267089,0,-11354.591547,2158.780948,-1836.072035,-5969.462042,2335.392635,0,-5969.462042,2537.799208,-2310.576629,-11354.591547,1657.121516,-2920.651733,-5969.462042,1952.58261,-3118.732989,-11354.591547,1268.899604,-3666.290514,-5969.462042,1491.680948,-3666.290514,-11354.591547,667.1,-4309.982989,-5969.462042,784.223084,-3854.965978,-11354.591547,0,-4531.7843,-5969.462042,0,-4309.982989,-5969.462042,-784.223084,-5000,0,-840,-5000,0,0,-3666.290514,-5969.462042,-1491.680948,-5000,0,-1960,-2987.678452,-5969.462042,-1997.267089,-5000,0,-2800,-1858.414275,-5969.462042,-2324.221516,-2500,0,-2800,0,-5969.462042,-2537.799208,0,0,-2800,-455.017011,-18372.115052,784.223084,0,-18372.115052,824.580948,-977.204984,-15628.25452,1491.680948,0,-15628.25452,1568.446167,-865.493786,-18372.115052,667.1,-1646.267011,-15628.25452,1268.899604,-1191.25,-18372.115052,484.67652,-2265.89215,-15628.25452,921.909526,-1400.398364,-18372.115052,254.809526,-2663.715978,-15628.25452,484.67652,-3666.290514,-11354.591547,-667.1,-3118.732989,-11354.591547,-1268.899604,-2444.630067,-11354.591547,-1712.977115,-1448.185755,-11354.591547,-2019.609328,0,-11354.591547,-2158.780948,-2500,0,2800,0,0,2800,-5000,0,2800,-5000,0,1960,-5000,0,840,0,-19317.584956,0,2800.796727,-15628.25452,0,1472.465978,-18372.115052,0,2663.715978,-15628.25452,-484.67652,1400.398364,-18372.115052,-254.809526,2265.89215,-15628.25452,-921.909526,1191.25,-18372.115052,-484.67652,1646.267011,-15628.25452,-1268.899604,865.493786,-18372.115052,-667.1,988.376104,-15628.25452,-1514.023187,455.017011,-18372.115052,-784.223084,1836.072035,-5969.462042,2335.392635,1437.014635,-11354.591547,1997.267089,2920.651733,-5969.462042,1952.58261,2310.576629,-11354.591547,1657.121516,3666.290514,-5969.462042,1491.680948,3118.732989,-11354.591547,1268.899604,4309.982989,-5969.462042,784.223084,3666.290514,-11354.591547,667.1,4531.7843,-5969.462042,0,3854.965978,-11354.591547,0,5000,0,0,5000,0,-840,4309.982989,-5969.462042,-784.223084,5000,0,-1960,3666.290514,-5969.462042,-1491.680948,5000,0,-2800,2987.678452,-5969.462042,-1997.267089,2500,0,-2800,1858.414275,-5969.462042,-2324.221516,977.204984,-15628.25452,1491.680948,455.017011,-18372.115052,784.223084,1646.267011,-15628.25452,1268.899604,865.493786,-18372.115052,667.1,2265.89215,-15628.25452,921.909526,1191.25,-18372.115052,484.67652,2663.715978,-15628.25452,484.67652,1400.398364,-18372.115052,254.809526,3666.290514,-11354.591547,-667.1,3118.732989,-11354.591547,-1268.899604,2444.630067,-11354.591547,-1712.977115,1448.185755,-11354.591547,-2019.609328,2500,0,2800,5000,0,2800,5000,0,1960,5000,0,840];
3682		var uvs = [0.35996016360000005,0.5455017010714286,0.35275340219999995,0.5,0.23362840219999997,0.5865493785714285,0.2199203273,0.5,0.380875,0.5865493785714285,0.273410785,0.6646267010714285,0.4134506214,0.6191249999999999,0.3353732989,0.7265892150000001,0.4544982989,0.6400398364285714,0.4011623896,0.7703612833928571,0.5,0.6472465978571428,0.5,0.7800796726785715,0.3562985365,0.14334516267857145,0.5,0.11450340214285715,0.31639279649999996,0.0829656008928572,0.5,0.04682156999999998,0.2689423371,0.20408544357142855,0.2079348267,0.15132453392857148,0.1881267011,0.27341078500000005,0.1333709486,0.23362840214285718,0.1333709486,0.3808750000000001,0.06900170109999999,0.35996016357142857,0.11450340219999998,0.5,0.04682156999999997,0.5,0.06900170109999999,0.6400398364285714,0,0.65,0,0.5,0.1333709486,0.7663715978571429,0,0.85,0.2012321548,0.8566548373214286,0,1,0.3141585725,0.9150395564285714,0.25,1,0.5,0.95317843,0.5,1,0.4544982989,0.35996016357142857,0.5,0.3527534021428571,0.4022795016,0.23362840214285718,0.5,0.21992032732142852,0.4134506214,0.3808750000000001,0.3353732989,0.27341078500000005,0.380875,0.41345062142857136,0.273410785,0.3353732989285714,0.35996016360000005,0.4544982989285714,0.23362840219999997,0.41345062142857136,0.1333709486,0.6191249999999999,0.1881267011,0.7265892150000001,0.2555369933,0.8058887705357143,0.3551814245,0.860644522857143,0.5,0.8854965978571427,0.25,0,0.5,0,0,0,0,0.15000000000000002,0,0.35,0.5,0.5,0.7800796727,0.5,0.6472465978,0.5,0.7663715978,0.5865493785714285,0.6400398364,0.5455017010714286,0.726589215,0.6646267010714285,0.619125,0.5865493785714285,0.6646267011,0.7265892150000001,0.5865493786,0.6191249999999999,0.5988376103999999,0.7703612833928571,0.5455017011,0.6400398364285714,0.6836072035,0.0829656008928572,0.6437014634999999,0.14334516267857145,0.7920651733,0.15132453392857148,0.7310576629,0.20408544357142855,0.8666290514,0.23362840214285718,0.8118732989,0.27341078500000005,0.9309982989,0.35996016357142857,0.8666290514,0.3808750000000001,0.95317843,0.5,0.8854965978,0.5,1,0.5,1,0.65,0.9309982989,0.6400398364285714,1,0.85,0.8666290514,0.7663715978571429,1,1,0.7987678452,0.8566548373214286,0.75,1,0.6858414275,0.9150395564285714,0.5977204984,0.23362840214285718,0.5455017011,0.35996016357142857,0.6646267011,0.27341078500000005,0.5865493786,0.3808750000000001,0.726589215,0.3353732989285714,0.619125,0.41345062142857136,0.7663715978,0.41345062142857136,0.6400398364,0.4544982989285714,0.8666290514,0.6191249999999999,0.8118732989,0.7265892150000001,0.7444630067,0.8058887705357143,0.6448185755,0.860644522857143,0.75,0,1,0,1,0.15000000000000002,1,0.35];
3683		var indices = [0,1,2,2,1,3,4,0,5,5,0,2,6,4,7,7,4,5,8,6,9,9,6,7,10,8,11,11,8,9,12,13,14,14,13,15,16,12,17,17,12,14,18,16,19,19,16,17,20,18,21,21,18,19,22,20,23,23,20,21,24,23,25,25,23,26,27,24,28,28,24,25,29,27,30,30,27,28,31,29,32,32,29,30,33,31,34,34,31,32,35,36,37,37,36,38,39,35,40,40,35,37,41,39,42,42,39,40,43,41,44,44,41,42,1,43,3,3,43,44,2,3,45,45,3,22,5,2,46,46,2,45,7,5,47,47,5,46,9,7,48,48,7,47,11,9,49,49,9,48,14,15,50,50,
368315,51,17,14,52,52,14,50,19,17,53,53,17,52,21,19,54,54,19,53,23,21,26,26,21,54,1,0,55,0,4,55,4,6,55,6,8,55,8,10,55,37,38,12,12,38,13,40,37,16,16,37,12,42,40,18,18,40,16,44,42,20,20,42,18,3,44,22,22,44,20,45,22,24,24,22,23,46,45,27,27,45,24,47,46,29,29,46,27,48,47,31,31,47,29,49,48,33,33,48,31,36,35,55,35,39,55,39,41,55,41,43,55,43,1,55,56,57,58,58,57,59,58,59,60,60,59,61,60,61,62,62,61,63,62,63,64,64,63,65,64,65,11,11,65,10,15,13,66,66,13,67,66,67,68,68,67,69,68,69,70,70,69,71,70,71,72,72,71,73,72,73,74,74,73,75,76,74,77,77,74,78,77,78,79,79,78,80,79,80,81,81,80,82,81,82,83,83,82,84,83,84,34,34,84,33,38,36,85,85,36,86,85,86,87,87,86,88,87,88,89,89,88,90,89,90,91,91,90,92,91,92,56,56,92,57,75,56,93,93,56,58,93,58,94,94,58,60,94,60,95,95,60,62,95,62,96,96,62,64,96,64,49,49,64,11,51,15,97,97,15,66,97,66,98,98,66,68,98,68,99,99,68,70,99,70,100,100,70,72,100,72,76,76,72,74,59,57,55,61,59,55,63,61,55,65,63,55,10,65,55,13,38,67,67,38,85,67,85,69,69,85,87,69,87,71,71,87,89,71,89,73,73,89,91,73,91,75,75,91,56,74,75,78,78,75,93,78,93,80,80,93,94,80,94,82,82,94,95,82,95,84,84,95,96,84,96,33,33,96,49,86,36,55,88,86,55,90,88,55,92,90,55,57,92,55];
3684		var normals = [];
3685		var len = Math.round(this.positions.length / 3);
3686		var biggestZ = -10000000.0;
3687		var smallestZ = 10000000.0;
3688		var modifiedPositions = [];
3689		var _g = 0;
3690		var _g1 = len;
3691		while(_g < _g1) {
3692			var i = _g++;
3693			this.positions[i * 3] = this.positions[i * 3] * this.engine.getRenderWidth() / 10000;
3694			this.positions[i * 3 + 1] = this.positions[i * 3 + 1] * this.engine.getRenderWidth() / 10000;
3695			this.positions[i * 3 + 2] = this.positions[i * 3 + 2] * this.engine.getRenderHeight() / 5600;
3696			modifiedPositions[i * 3] = this.positions[i * 3];
3697			modifiedPositions[i * 3 + 1] = 0;
3698			modifiedPositions[i * 3 + 2] = this.positions[i * 3 + 2];
3699			if(this.positions[i * 3 + 1] > biggestZ) {
3700				biggestZ = this.positions[i * 3 + 1];
3701			}
3702			if(this.positions[i * 3 + 2] < smallestZ) {
3703				smallestZ = this.positions[i * 3 + 1];
3704			}
3705		}
3706		this.goThrougLength = -smallestZ * this.warpFac;
3707		var vertexData = null;
3708		vertexData = new BABYLON.VertexData();
3709		BABYLON.VertexData.ComputeNormals(modifiedPositions,indices,normals);
3710		vertexData.positions = modifiedPositions;
3711		vertexData.indices = indices;
3712		vertexData.normals = normals;
3713		vertexData.uvs = uvs;
3714		this.meshOfNodeToLeaveScreenshot.position.z = 200;
3715		this.meshOfNodeToLeaveScreenshot.rotation.x = Math.PI * 3 / 2;
3716		this.meshOfNodeToGoScreenshot.position.z = 200;
3717		this.meshOfNodeToGoScreenshot.rotation.x = Math.PI * 3 / 2;
3718		vertexData.applyToMesh(this.meshOfNodeToLeaveScreenshot,true);
3719		vertexData.applyToMesh(this.meshOfNodeToGoScreenshot,true);
3720		this.pano.doScreenshot(function(p_data) {
3721			haxe_Log.trace("screenshot done",{ fileName : "src/pano/WarpTransition.hx", lineNumber : 97, className : "pano.WarpTransition", methodName : "prepareTransition"});
3722			_gthis.firstMeshMat = new BABYLON.StandardMaterial("mat",_gthis.scene);
3723			_gthis.firstMeshMat.emissiveTexture = new BABYLON.Texture(p_data,_gthis.scene);
3724			_gthis.meshOfNodeToLeaveScreenshot.material = _gthis.firstMeshMat;
3725			_gthis.firstMeshMat.backFaceCulling = false;
3726			_gthis.overlayImgEl = document.getElementById("screenshot");
3727			_gthis.overlayImgEl.style.zIndex = 99999999999;
3728			_gthis.overlayImgEl.style.opacity = 1;
3729			_gthis.overlayImgEl.src = p_data;
3730			_gthis.overlayImgEl.width = _gthis.engine.getRenderWidth();
3731			_gthis.overlayImgEl.height = _gthis.engine.getRenderHeight();
3732			_gthis.pano.applyCubePics(_gthis.nextCubeTexture);
3733			_gthis.pano.nextFrameRenderComplete($bind(_gthis,_gthis.doScreenshotofNextCube));
3734		});
3735		this.camDistance = this.engine.getRenderHeight() / 2 / Math.tan(this.camera.get_fov() / 2);
3736		this.alignFXConToVP(this.meshOfNodeToLeaveScreenshot);
3737		this.alignFXConToVP(this.meshOfNodeToGoScreenshot);
3738	}
3739	,doScreenshotofNextCube: function() {
3740		var _gthis = this;
3741		this.pano.doScreenshot(function(p_data) {
3742			_gthis.secondMeshMat = new BABYLON.StandardMaterial("mat",_gthis.scene);
3743			_gthis.secondMeshMat.emissiveTexture = new BABYLON.Texture(p_data,_gthis.scene);
3744			_gthis.secondMeshMat.emissiveTexture.hasAlpha = true;
3745			_gthis.meshOfNodeToGoScreenshot.material = _gthis.secondMeshMat;
3746			_gthis.secondMeshMat.backFaceCulling = false;
3747			_gthis.secondMeshMat.alpha = 0.0;
3748			_gthis.scene.meshes.push(_gthis.meshOfNodeToLeaveScreenshot);
3749			_gthis.scene.meshes.push(_gthis.meshOfNodeToGoScreenshot);
3750			_gthis.pano.nextFrameRenderComplete($bind(_gthis,_gthis.startTransition));
3751		});
3752	}
3753	,startTransition: function() {
3754		this.overlayImgEl.style.zIndex = -1;
3755		this.animObj1 = { };
3756		this.animObj1.fac = 0;
3757		this.animObj2 = { };
3758		this.animObj2.camDistance = 0;
3759		this.animObj3 = { };
3760		this.animObj3.firstAnimMeshAlpha = 1;
3761		this.animObj3.secondMeshAnimAlpha = 0;
3762		this.animObj4 = { };
3763		this.animObj4.fac = this.warpFac / 2;
3764		motion_Actuate.tween(this.animObj1,1,{ fac : this.warpFac}).onUpdate($bind(this,this.updateAnimationFrame)).ease(motion_easing_Sine.easeIn);
3765		motion_Actuate.tween(this.animObj2,1,{ camDistance : -this.goThrougLength}).onUpdate($bind(this,this.updateAnimationFrame)).ease(motion_easing_Expo.easeIn).delay(0.1);
3766		motion_Actuate.tween(this.animObj3,0.25,{ firstAnimMeshAlpha : 1, secondMeshAnimAlpha : 1}).onUpdate($bind(this,this.updateAnimationFrameTwo)).ease(motion_easing_Sine.easeOut).delay(1);
3767		motion_Actuate.tween(this.animObj4,0.35,{ fac : 0}).onComplete($bind(this,this.onTransitionComplete)).onUpdate($bind(this,this.updateAnimationFrameTwo)).onComplete($bind(this,this.onTransitionComplete)).ease(motion_easing_Expo.easeOut).delay(.75);
3768	}
3769	,onTransitionComplete: function() {
3770		this.firstMeshMat.dispose();
3771		this.secondMeshMat.dispose();
3772		this.meshOfNodeToLeaveScreenshot.dispose();
3773		this.meshOfNodeToGoScreenshot.dispose();
3774		this.pano.transitionComplete();
3775	}
3776	,updateAnimationFrame: function() {
3777		var modifiedPositions = [];
3778		var len = Math.round(this.positions.length / 3);
3779		var _g = 0;
3780		var _g1 = len;
3781		while(_g < _g1) {
3782			var i = _g++;
3783			modifiedPositions[i * 3] = this.positions[i * 3];
3784			modifiedPositions[i * 3 + 1] = this.positions[i * 3 + 1] * this.animObj1.fac - this.animObj2.camDistance;
3785			modifiedPositions[i * 3 + 2] = this.positions[i * 3 + 2];
3786		}
3787		this.meshOfNodeToLeaveScreenshot.updateVerticesData(BABYLON.VertexBuffer.PositionKind,modifiedPositions);
3788	}
3789	,updateAnimationFrameTwo: function() {
3790		var modifiedPositions = [];
3791		var len = Math.round(this.positions.length / 3);
3792		var _g = 0;
3793		var _g1 = len;
3794		while(_g < _g1) {
3795			var i = _g++;
3796			modifiedPositions[i * 3] = this.positions[i * 3];
3797			modifiedPositions[i * 3 + 1] = this.positions[i * 3 + 1] * this.animObj4.fac;
3798			modifiedPositions[i * 3 + 2] = this.positions[i * 3 + 2];
3799		}
3800		this.firstMeshMat.alpha = this.animObj3.firstAnimMeshAlpha;
3801		this.secondMeshMat.alpha = this.animObj3.secondMeshAnimAlpha;
3802		this.meshOfNodeToGoScreenshot.updateVerticesData(BABYLON.VertexBuffer.PositionKind,modifiedPositions);
3803	}
3804	,alignFXConToVP: function(p_conToAlign) {
3805		var phi = Math.PI / 2 - this.camera.get_alpha();
3806		var theta = this.camera.get_beta();
3807		p_conToAlign.position.x = -this.camDistance * Math.sin(theta) * Math.sin(phi);
3808		p_conToAlign.position.y = -this.camDistance * Math.cos(theta);
3809		p_conToAlign.position.z = -this.camDistance * Math.sin(theta) * Math.cos(phi);
3810		p_conToAlign.rotation.x = Math.PI / 2 - theta + 3 * Math.PI / 2;
3811		p_conToAlign.rotation.y = Math.PI + phi;
3812		p_conToAlign.scaling.z = -1;
3813		this.meshOfNodeToLeaveScreenshot.setPivotPoint(new BABYLON.Vector3(0,0,0));
3814	}
3815	,__class__: pano_WarpTransition
3816};
3817function $iterator(o) { if( o instanceof Array ) return function() { return new haxe_iterators_ArrayIterator(o); }; return typeof(o.iterator) == 'function' ? $bind(o,o.iterator) : o.iterator; }
3818function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; }
3819$global.$haxeUID |= 0;
3820if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) {
3821	HxOverrides.now = performance.now.bind(performance);
3822}
3823String.prototype.__class__ = String;
3824String.__name__ = true;
3825Array.__name__ = true;
3826var Int = { };
3827var Dynamic = { };
3828var Float = Number;
3829var Bool = Boolean;
3830var Class = { };
3831var Enum = { };
3832haxe_ds_ObjectMap.count = 0;
3833js_Boot.__toStr = ({ }).toString;
3834var typeofJQuery = typeof($);
3835if(typeofJQuery != "undefined" && $.fn != null) {
3836	$.fn.elements = function() {
3837		return new js_jquery_JqEltsIterator(this);
3838	};
3839}
3840var typeofJQuery = typeof($);
3841if(typeofJQuery != "undefined" && $.fn != null) {
3842	$.fn.iterator = function() {
3843		return new js_jquery_JqIterator(this);
3844	};
3845}
3846MongoozPanoPlayer.isAdmin = false;
3847MongoozPanoPlayer._allowRender = true;
3848libs_src_utils_Init.inits = [];
3849motion_actuators_SimpleActuator.actuators = [];
3850motion_actuators_SimpleActuator.actuatorsLength = 0;
3851motion_actuators_SimpleActuator.addedEvent = false;
3852motion_easing_Expo.easeIn = new motion_easing__$Expo_ExpoEaseIn();
3853motion_easing_Expo.easeInOut = new motion_easing__$Expo_ExpoEaseInOut();
3854motion_easing_Expo.easeOut = new motion_easing__$Expo_ExpoEaseOut();
3855motion_Actuate.defaultActuator = motion_actuators_SimpleActuator;
3856motion_Actuate.defaultEase = motion_easing_Expo.easeOut;
3857motion_Actuate.targetLibraries = new haxe_ds_ObjectMap();
3858motion_easing_Quad.easeIn = new motion_easing__$Quad_QuadEaseIn();
3859motion_easing_Quad.easeInOut = new motion_easing__$Quad_QuadEaseInOut();
3860motion_easing_Quad.easeOut = new motion_easing__$Quad_QuadEaseOut();
3861motion_easing_Sine.easeIn = new motion_easing__$Sine_SineEaseIn();
3862motion_easing_Sine.easeInOut = new motion_easing__$Sine_SineEaseInOut();
3863motion_easing_Sine.easeOut = new motion_easing__$Sine_SineEaseOut();
3864})(typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this, typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this);

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.