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

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

proper_ending.swf

This is the info page for
Flash #44153

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


ActionScript [AS1/AS2]
Frame 1
if (_root._framesloaded == _root._totalframes) { stopAllSounds(); swfcontainer.StartIt(); } loadbar._xscale = 100 * (_root.getBytesLoaded() / _root.getBytesTotal());
Frame 2
gotoAndPlay (1);
Frame 3
bash = 0; gone = false; texten.onRelease = function (e) { if (gone == false) { gone = true; ttt = new mx.transitions.Tween(this, "_alpha", mx.transitions.easing.Strong.easeOut, 100, 0, 1, true); ttt.onMotionFinished = function () { _root.texten._x = -1550; _root.texten._y = -1400; _root.texten._alpha = 100; }; } }; texten.useHandCursor = false;
Instance of Symbol 8 MovieClip "texten" in Frame 3
on (keyPress "<Space>") { _root.swfcontainer.popTime = 12; _root.bash++; if (_root.bash > 10) { _root.swfcontainer.popTime = 20; _root.swfcontainer.prepare(_root.swfcontainer.antal, _root.swfcontainer.antal + 50); _root.swfcontainer.antal = _root.swfcontainer.antal + 50; _root.bash = 0; } }
Frame 5
stop(); SND = new Sound(this); SND.setVolume(100); SND.attachSound("Riverside-Before_1"); SND.onSoundComplete = function () { SND.attachSound("Riverside-Before_2"); SND.start(0, 9999); }; SND.start(0, 1);
Symbol 6 MovieClip Frame 1
function prepare(betweenStart, betweenEnd) { i = betweenStart; while (i < betweenEnd) { if (i > 0) { duplicateMovieClip (swf0, "swf" + i, i); } xxxArray[i] = -999; yyyArray[i] = -999; rotArray[i] = 0; sizeArray[i] = 1; modyArray[i] = 1; modxArray[i] = 1; initArray[i] = i >= 10; i++; } } function StartIt() { showthese = 10; _parent.gotoAndPlay(3); } da = getTimer(); tid = 10; tid2 = 0; antal = 100; showthese = 1; popTime = 2280; xxxArray = new Array(); yyyArray = new Array(); rotArray = new Array(); ydirArray = new Array(); xdirArray = new Array(); rdirArray = new Array(); sizeArray = new Array(); modyArray = new Array(); modxArray = new Array(); initArray = new Array(); prepare(0, antal); onEnterFrame = function () { nu = getTimer(); tid = tid + (nu - da); da = nu; while (tid >= 10) { if ((showthese < antal) && (_parent._currentframe > 2)) { tid2 = tid2 + 10; if (tid2 > popTime) { showthese++; tid2 = tid2 - popTime; } } i = 0; while (i < showthese) { if ((((xxxArray[i] > 622) || (xxxArray[i] < -72)) || (yyyArray[i] > 454)) || (yyyArray[i] < -54)) { if (Math.random() < 0.5) { xxxArray[i] = (Math.random() * 694) - 72; if (Math.random() < 0.5) { ydir = 1; yyyArray[i] = -54; } else { ydir = -1; yyyArray[i] = 454; } if (Math.random() < 0.5) { xdir = 1; } else { xdir = -1; } } else { if (Math.random() < 0.5) { xdir = 1; xxxArray[i] = -72; } else { xdir = -1; xxxArray[i] = 622; } yyyArray[i] = (Math.random() * 508) - 54; if (Math.random() < 0.5) { ydir = 1; } else { ydir = -1; } } if (Math.random() < 0.5) { rdir = 1; } else { rdir = -1; } ydirArray[i] = ydir; xdirArray[i] = xdir; rdirArray[i] = rdir; skala = 40 + (60 * Math.random()); this["swf" + i]._xscale = skala; this["swf" + i]._yscale = skala; sizeArray[i] = skala / 100; modyArray[i] = 1 - (0.5 * Math.random()); modxArray[i] = 1 - (0.5 * Math.random()); rotArray[i] = 360 * Math.random(); if (!initArray[i]) { xxxArray[i] = (Math.random() * 500) + 25; yyyArray[i] = (Math.random() * 350) + 25; initArray[i] = true; } } xxxArray[i] = xxxArray[i] + ((xdirArray[i] * (3 * modxArray[i])) * sizeArray[i]); yyyArray[i] = yyyArray[i] + ((ydirArray[i] * (3 * modyArray[i])) * sizeArray[i]); rotArray[i] = rotArray[i] + ((rdirArray[i] * 3) * sizeArray[i]); i++; } tid = tid - 10; } i = 0; while (i < showthese) { this["swf" + i]._x = xxxArray[i]; this["swf" + i]._y = yyyArray[i]; this["swf" + i]._rotation = rotArray[i]; i++; } };
Symbol 18 MovieClip [__Packages.mx.transitions.OnEnterFrameBeacon] Frame 0
class mx.transitions.OnEnterFrameBeacon { function OnEnterFrameBeacon () { } static function init() { var _local4 = _global.MovieClip; if (!_root.__OnEnterFrameBeacon) { mx.transitions.BroadcasterMX.initialize(_local4); var _local3 = _root.createEmptyMovieClip("__OnEnterFrameBeacon", 9876); _local3.onEnterFrame = function () { _global.MovieClip.broadcastMessage("onEnterFrame"); }; } } static var version = "1.1.0.52"; }
Symbol 19 MovieClip [__Packages.mx.transitions.BroadcasterMX] Frame 0
class mx.transitions.BroadcasterMX { var _listeners; function BroadcasterMX () { } static function initialize(o, dontCreateArray) { if (o.broadcastMessage != undefined) { delete o.broadcastMessage; } o.addListener = mx.transitions.BroadcasterMX.prototype.addListener; o.removeListener = mx.transitions.BroadcasterMX.prototype.removeListener; if (!dontCreateArray) { o._listeners = new Array(); } } function addListener(o) { removeListener(o); if (broadcastMessage == undefined) { broadcastMessage = mx.transitions.BroadcasterMX.prototype.broadcastMessage; } return(_listeners.push(o)); } function removeListener(o) { var _local2 = _listeners; var _local3 = _local2.length; while (_local3--) { if (_local2[_local3] == o) { _local2.splice(_local3, 1); if (!_local2.length) { broadcastMessage = undefined; } return(true); } } return(false); } function broadcastMessage() { var _local5 = String(arguments.shift()); var _local4 = _listeners.concat(); var _local6 = _local4.length; var _local3 = 0; while (_local3 < _local6) { _local4[_local3][_local5].apply(_local4[_local3], arguments); _local3++; } } static var version = "1.1.0.52"; }
Symbol 20 MovieClip [__Packages.mx.transitions.Tween] Frame 0
class mx.transitions.Tween { var obj, prop, begin, useSeconds, _listeners, addListener, prevTime, _time, looping, _duration, broadcastMessage, isPlaying, _fps, prevPos, _pos, change, _intervalID, _startTime; function Tween (obj, prop, func, begin, finish, duration, useSeconds) { mx.transitions.OnEnterFrameBeacon.init(); if (!arguments.length) { return; } this.obj = obj; this.prop = prop; this.begin = begin; position = (begin); this.duration = (duration); this.useSeconds = useSeconds; if (func) { this.func = func; } this.finish = (finish); _listeners = []; addListener(this); start(); } function set time(t) { prevTime = _time; if (t > duration) { if (looping) { rewind(t - _duration); update(); broadcastMessage("onMotionLooped", this); } else { if (useSeconds) { _time = _duration; update(); } stop(); broadcastMessage("onMotionFinished", this); } } else if (t < 0) { rewind(); update(); } else { _time = t; update(); } //return(time); } function get time() { return(_time); } function set duration(d) { _duration = (((d == null) || (d <= 0)) ? (_global.Infinity) : (d)); //return(duration); } function get duration() { return(_duration); } function set FPS(fps) { var _local2 = isPlaying; stopEnterFrame(); _fps = fps; if (_local2) { startEnterFrame(); } //return(FPS); } function get FPS() { return(_fps); } function set position(p) { setPosition(p); //return(position); } function setPosition(p) { prevPos = _pos; obj[prop] = (_pos = p); broadcastMessage("onMotionChanged", this, _pos); updateAfterEvent(); } function get position() { return(getPosition()); } function getPosition(t) { if (t == undefined) { t = _time; } return(func(t, begin, change, _duration)); } function set finish(f) { change = f - begin; //return(finish); } function get finish() { return(begin + change); } function continueTo(finish, duration) { begin = position; this.finish = (finish); if (duration != undefined) { this.duration = (duration); } start(); } function yoyo() { continueTo(begin, time); } function startEnterFrame() { if (_fps == undefined) { _global.MovieClip.addListener(this); } else { _intervalID = setInterval(this, "onEnterFrame", 1000 / _fps); } isPlaying = true; } function stopEnterFrame() { if (_fps == undefined) { _global.MovieClip.removeListener(this); } else { clearInterval(_intervalID); } isPlaying = false; } function start() { rewind(); startEnterFrame(); broadcastMessage("onMotionStarted", this); } function stop() { stopEnterFrame(); broadcastMessage("onMotionStopped", this); } function resume() { fixTime(); startEnterFrame(); broadcastMessage("onMotionResumed", this); } function rewind(t) { _time = ((t == undefined) ? 0 : (t)); fixTime(); update(); } function fforward() { time = (_duration); fixTime(); } function nextFrame() { if (useSeconds) { time = ((getTimer() - _startTime) / 1000); } else { time = (_time + 1); } } function onEnterFrame() { nextFrame(); } function prevFrame() { if (!useSeconds) { time = (_time - 1); } } function toString() { return("[Tween]"); } function fixTime() { if (useSeconds) { _startTime = getTimer() - (_time * 1000); } } function update() { position = (getPosition(_time)); } static var version = "1.1.0.52"; static var __initBeacon = mx.transitions.OnEnterFrameBeacon.init(); static var __initBroadcaster = mx.transitions.BroadcasterMX.initialize(mx.transitions.Tween.prototype, true); function func(t, b, c, d) { return(((c * t) / d) + b); } }
Symbol 21 MovieClip [__Packages.mx.transitions.easing.Strong] Frame 0
class mx.transitions.easing.Strong { function Strong () { } static function easeIn(t, b, c, d) { t = t / d; return((((((c * t) * t) * t) * t) * t) + b); } static function easeOut(t, b, c, d) { t = (t / d) - 1; return((c * (((((t * t) * t) * t) * t) + 1)) + b); } static function easeInOut(t, b, c, d) { t = t / (d / 2); if (t < 1) { return(((((((c / 2) * t) * t) * t) * t) * t) + b); } t = t - 2; return(((c / 2) * (((((t * t) * t) * t) * t) + 2)) + b); } static var version = "1.1.0.52"; }
Symbol 22 MovieClip [__Packages.mx.transitions.easing.Elastic] Frame 0
class mx.transitions.easing.Elastic { function Elastic () { } static function easeIn(t, b, c, d, a, p) { if (t == 0) { return(b); } t = t / d; if (t == 1) { return(b + c); } if (!p) { p = d * 0.3; } if ((!a) || (a < Math.abs(c))) { a = c; var _local7 = p / 4; } else { var _local7 = (p / (Math.PI*2)) * Math.asin(c / a); } t = t - 1; return((-((a * Math.pow(2, 10 * t)) * Math.sin((((t * d) - _local7) * (Math.PI*2)) / p))) + b); } static function easeOut(t, b, c, d, a, p) { if (t == 0) { return(b); } t = t / d; if (t == 1) { return(b + c); } if (!p) { p = d * 0.3; } if ((!a) || (a < Math.abs(c))) { a = c; var _local7 = p / 4; } else { var _local7 = (p / (Math.PI*2)) * Math.asin(c / a); } return((((a * Math.pow(2, -10 * t)) * Math.sin((((t * d) - _local7) * (Math.PI*2)) / p)) + c) + b); } static function easeInOut(t, b, c, d, a, p) { if (t == 0) { return(b); } t = t / (d / 2); if (t == 2) { return(b + c); } if (!p) { p = d * 0.45; } if ((!a) || (a < Math.abs(c))) { a = c; var _local7 = p / 4; } else { var _local7 = (p / (Math.PI*2)) * Math.asin(c / a); } if (t < 1) { t = t - 1; return((-0.5 * ((a * Math.pow(2, 10 * t)) * Math.sin((((t * d) - _local7) * (Math.PI*2)) / p))) + b); } t = t - 1; return(((((a * Math.pow(2, -10 * t)) * Math.sin((((t * d) - _local7) * (Math.PI*2)) / p)) * 0.5) + c) + b); } static var version = "1.1.0.52"; }
Symbol 23 MovieClip [__Packages.mx.transitions.easing.Regular] Frame 0
class mx.transitions.easing.Regular { function Regular () { } static function easeIn(t, b, c, d) { t = t / d; return(((c * t) * t) + b); } static function easeOut(t, b, c, d) { t = t / d; return((((-c) * t) * (t - 2)) + b); } static function easeInOut(t, b, c, d) { t = t / (d / 2); if (t < 1) { return((((c / 2) * t) * t) + b); } t--; return((((-c) / 2) * ((t * (t - 2)) - 1)) + b); } static var version = "1.1.0.52"; }
Symbol 24 MovieClip [__Packages.mx.transitions.easing.None] Frame 0
class mx.transitions.easing.None { function None () { } static function easeNone(t, b, c, d) { return(((c * t) / d) + b); } static function easeIn(t, b, c, d) { return(((c * t) / d) + b); } static function easeOut(t, b, c, d) { return(((c * t) / d) + b); } static function easeInOut(t, b, c, d) { return(((c * t) / d) + b); } static var version = "1.1.0.52"; }
Symbol 10 MovieClip Frame 1
stop(); onEnterFrame = function () { if (init) { stegg = _parent.steg; if (stegg > 1) { stegg = stegg + modifier; } till = _currentframe + stegg; gotoAndStop(((till < 65) ? (till) : 65)); } };
Symbol 10 MovieClip Frame 65
removeMovieClip(this);
Symbol 11 MovieClip Frame 1
stop(); onEnterFrame = function () { if (init) { till = _currentframe + _parent.steg; gotoAndStop(((till < 195) ? (till) : 195)); } };
Symbol 11 MovieClip Frame 195
removeMovieClip(this);
Symbol 15 MovieClip Frame 1
function Twist() { fadeIn = new mx.transitions.Tween(symbol, "_rotation", mx.transitions.easing.Elastic.easeOut, 0, ((Math.random() < 0.5) ? 360 : -360), 2 + Math.random(), true); fadeIn.onMotionFinished = function () { fadeIn = new mx.transitions.Tween(symbol, "_rotation", mx.transitions.easing.None.easeOut, 0, 0, 1.5 * Math.random(), true); fadeIn.onMotionFinished = function () { Twist(); }; }; } function ChangeA() { atests = 0; do { atests++; nyaA = 175 + random(101); } while ((atests < 5) && ((Math.abs(nyaA - stegAdivider) < 30) || (Math.abs(nyaA - stegBdivider) < 30))); changea = new mx.transitions.Tween(this, "stegAdivider", mx.transitions.easing.None.easeIn, stegAdivider, nyaA, 3 + (3 * Math.random()), true); changea.onMotionFinished = function () { ChangeA(); }; } function ChangeB() { btests = 0; do { btests++; nyaB = 150 + random(101); } while ((btests < 5) && ((Math.abs(nyaB - stegAdivider) < 30) || (Math.abs(nyaB - stegBdivider) < 30))); changeb = new mx.transitions.Tween(this, "stegBdivider", mx.transitions.easing.None.easeIn, stegBdivider, nyaB, 3 + (3 * Math.random()), true); changeb.onMotionFinished = function () { ChangeB(); }; } function Gas(denna) { Gas[denna] = new mx.transitions.Tween(this, "dotSpeed" + denna, mx.transitions.easing.None.easeIn, this["dotSpeed" + denna], 1 + (3 * Math.random()), 2 + Math.random(), true); Gas[denna].onMotionFinished = function () { Gas[denna] = new mx.transitions.Tween(this, "dotSpeed" + denna, mx.transitions.easing.None.easeOut, this["dotSpeed" + denna], this["dotSpeed" + denna], 4 * Math.random(), true); Gas[denna].onMotionFinished = function () { Gas(denna); }; }; } da = getTimer(); tid = 10; targetX = 0; targetY = 0; stegA = 100 * Math.random(); stegB = 100 * Math.random(); stegAdivider = 175 + random(101); stegBdivider = 150 + random(101); symbol.swapDepths(16000); fadeIn = new mx.transitions.Tween(symbol, "_alpha", mx.transitions.easing.Regular.easeIn, 0, 100, 1, true); fadeIn.onMotionFinished = function () { Twist(); }; ChangeA(); ChangeB(); dotXarray = new Array(); dotYarray = new Array(); dotLineXarray = new Array(); dotLineYarray = new Array(); dotDirArray = new Array(); dotTurnArray = new Array(); dotSpeed0 = 2; dotSpeed1 = 2; dotSpeed2 = 2; dotSpeed3 = 2; lines = 0; dotHitArray = new Array(); i = 0; while (i < 4) { dotXarray[i] = (((i == 0) || (i == 2)) ? -10 : 560); dotYarray[i] = ((i < 2) ? -10 : 410); dotLineXarray[i] = dotXarray[i] - 0.1; dotLineYarray[i] = dotYarray[i] - 0.1; dotDirArray[i] = ((i == 0) ? 135 : (((i == 1) ? 225 : (((i == 3) ? 315 : 45))))); dotTurnArray[i] = 1; dotHitArray[i] = false; i++; } gas = new Array(); Gas(0); Gas(1); Gas(2); Gas(3); onEnterFrame = function () { haveMoved = false; nu = getTimer(); tid = tid + (nu - da); da = nu; steg = 0; while (tid >= 10) { steg++; stegA = stegA + (Math.PI / stegAdivider); stegB = stegB + (Math.PI / stegBdivider); targetX = (225 * Math.sin(stegA)) + 275; targetY = (150 * Math.cos(stegB)) + 200; i = 0; while (i < 4) { XDISTANCE = targetX - dotXarray[i]; YDISTANCE = targetY - dotYarray[i]; thedistance = Math.sqrt((XDISTANCE * XDISTANCE) + (YDISTANCE * YDISTANCE)); rad = Math.asin(YDISTANCE / thedistance); WantedDirection = (rad * 57.29578) + 90; if (XDISTANCE <= 0) { WantedDirection = 360 - WantedDirection; } rotationen = Math.abs(WantedDirection - dotDirArray[i]); if (rotationen > dotTurnArray[i]) { rotationen = dotTurnArray[i]; } zrot = dotDirArray[i] - WantedDirection; if (zrot <= 0) { zrot = zrot + 360; } if (zrot <= 180) { dotDirArray[i] = dotDirArray[i] - rotationen; } else { dotDirArray[i] = dotDirArray[i] + rotationen; } if (dotDirArray[i] <= 0) { dotDirArray[i] = dotDirArray[i] + 360; } if (dotDirArray[i] > 360) { dotDirArray[i] = dotDirArray[i] - 360; } nrot = dotDirArray[i] * 0.01745329; dotXarray[i] = dotXarray[i] + (Math.sin(nrot) * this["dotSpeed" + i]); dotYarray[i] = dotYarray[i] - (Math.cos(nrot) * this["dotSpeed" + i]); if (symbol.hitTest(dotXarray[i], dotYarray[i])) { if ((!dotHitArray[i]) && (thedistance <= 24)) { dotHitArray[i] = true; j = 0; while (j < 6) { lines++; duplicateMovieClip (splode, "splode" + lines, 16000 - lines); sploden = this["splode" + lines]; sploden._x = dotXarray[i]; sploden._y = dotYarray[i]; sploden._rotation = 360 * Math.random(); sploden._yscale = 50 * Math.random(); sploden.modifier = ((Math.random() < 0.3) ? 0 : -1); sploden.init = true; j++; } } } else { dotHitArray[i] = false; } haveMoved = true; i++; } tid = tid - 10; } if (haveMoved) { symbol._x = targetX; symbol._y = targetY; i = 0; while (i < 4) { XDISTANCE = dotXarray[i] - dotLineXarray[i]; YDISTANCE = dotYarray[i] - dotLineYarray[i]; thedistance = Math.sqrt((XDISTANCE * XDISTANCE) + (YDISTANCE * YDISTANCE)); if (thedistance > 1.5) { rad = Math.asin(YDISTANCE / thedistance); WantedDirection = (rad * 57.29578) + 90; if (XDISTANCE <= 0) { WantedDirection = 360 - WantedDirection; } lines++; duplicateMovieClip (line, "line" + lines, 16000 - lines); linjen = this["line" + lines]; linjen._x = dotXarray[i]; linjen._y = dotYarray[i]; linjen._rotation = WantedDirection; linjen._yscale = 100 * (thedistance / 100); linjen.init = true; dotLineXarray[i] = dotXarray[i]; dotLineYarray[i] = dotYarray[i]; if (lines > 15000) { lines = 0; } } i++; } } };

Library Items

Symbol 1 GraphicUsed by:Timeline
Symbol 2 GraphicUsed by:3 11
Symbol 3 MovieClipUses:2Used by:Timeline
Symbol 4 GraphicUsed by:5
Symbol 5 MovieClipUses:4Used by:6
Symbol 6 MovieClipUses:5Used by:Timeline
Symbol 18 MovieClip [__Packages.mx.transitions.OnEnterFrameBeacon]
Symbol 19 MovieClip [__Packages.mx.transitions.BroadcasterMX]
Symbol 20 MovieClip [__Packages.mx.transitions.Tween]
Symbol 21 MovieClip [__Packages.mx.transitions.easing.Strong]
Symbol 22 MovieClip [__Packages.mx.transitions.easing.Elastic]
Symbol 23 MovieClip [__Packages.mx.transitions.easing.Regular]
Symbol 24 MovieClip [__Packages.mx.transitions.easing.None]
Symbol 7 GraphicUsed by:8
Symbol 8 MovieClipUses:7Used by:Timeline
Symbol 9 GraphicUsed by:10
Symbol 10 MovieClipUses:9Used by:15
Symbol 11 MovieClipUses:2Used by:15
Symbol 12 BitmapUsed by:13
Symbol 13 GraphicUses:12Used by:14
Symbol 14 MovieClipUses:13Used by:15
Symbol 15 MovieClipUses:10 11 14Used by:Timeline
Symbol 16 Sound [Riverside-Before_1]Used by:Timeline
Symbol 17 Sound [Riverside-Before_2]Used by:Timeline

Instance Names

"loadbar"Frame 1Symbol 3 MovieClip
"swfcontainer"Frame 1Symbol 6 MovieClip
"texten"Frame 3Symbol 8 MovieClip
"swf0"Symbol 6 MovieClip Frame 1Symbol 5 MovieClip
"splode"Symbol 15 MovieClip Frame 1Symbol 10 MovieClip
"line"Symbol 15 MovieClip Frame 1Symbol 11 MovieClip
"symbol"Symbol 15 MovieClip Frame 1Symbol 14 MovieClip

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata present, AS1/AS2.
SWFMetaData (77)Timeline Frame 1295 bytes "<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><rdf:Description rdf:about="" xmlns ..."
ExportAssets (56)Timeline Frame 1Symbol 18 as "__Packages.mx.transitions.OnEnterFrameBeacon"
ExportAssets (56)Timeline Frame 1Symbol 19 as "__Packages.mx.transitions.BroadcasterMX"
ExportAssets (56)Timeline Frame 1Symbol 20 as "__Packages.mx.transitions.Tween"
ExportAssets (56)Timeline Frame 1Symbol 21 as "__Packages.mx.transitions.easing.Strong"
ExportAssets (56)Timeline Frame 1Symbol 22 as "__Packages.mx.transitions.easing.Elastic"
ExportAssets (56)Timeline Frame 1Symbol 23 as "__Packages.mx.transitions.easing.Regular"
ExportAssets (56)Timeline Frame 1Symbol 24 as "__Packages.mx.transitions.easing.None"
ExportAssets (56)Timeline Frame 3Symbol 16 as "Riverside-Before_1"
ExportAssets (56)Timeline Frame 4Symbol 17 as "Riverside-Before_2"




http://swfchan.com/9/44153/info.shtml
Created: 11/8 -2019 08:59:13 Last modified: 11/8 -2019 08:59:13 Server time: 22/12 -2024 09:17:32