From 787fd44a917f31d52b35cf168f2821d23d8be694 Mon Sep 17 00:00:00 2001 From: Damian Jansen Date: Tue, 23 Nov 2010 12:04:23 +1000 Subject: Prevent crash when calling reload() from within a .qml Task-number: QTBUG-15493 --- tools/qml/qmlruntime.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/qml/qmlruntime.cpp b/tools/qml/qmlruntime.cpp index 78bc409..7ea77d1 100644 --- a/tools/qml/qmlruntime.cpp +++ b/tools/qml/qmlruntime.cpp @@ -1012,7 +1012,7 @@ void QDeclarativeViewer::addPluginPath(const QString& plugin) void QDeclarativeViewer::reload() { - open(currentFileOrUrl); + launch(currentFileOrUrl); } void QDeclarativeViewer::openFile() -- cgit v0.12 From 52068f57f9c32098a90cc217730a530f85590f65 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Tue, 23 Nov 2010 13:44:39 +1000 Subject: Ensure WebView press delay timer is cancelled when grab is taken. Flickable steals the grab, but the timer was not stopped and the keepGrab flag is set and the mouse grabbed. This means that the WebView now has the grab and subsequent clicks on another element are ignored. Task-number: QTBUG-15529 Reviewed-by: Joona Petrell --- .../WebKit/qt/declarative/qdeclarativewebview.cpp | 10 + .../WebKit/qt/declarative/qdeclarativewebview_p.h | 2 + .../webview/flickable/data/flickweb.0.png | Bin 0 -> 2812 bytes .../webview/flickable/data/flickweb.1.png | Bin 0 -> 2812 bytes .../webview/flickable/data/flickweb.10.png | Bin 0 -> 2829 bytes .../webview/flickable/data/flickweb.2.png | Bin 0 -> 3466 bytes .../webview/flickable/data/flickweb.3.png | Bin 0 -> 2812 bytes .../webview/flickable/data/flickweb.4.png | Bin 0 -> 2829 bytes .../webview/flickable/data/flickweb.5.png | Bin 0 -> 2829 bytes .../webview/flickable/data/flickweb.6.png | Bin 0 -> 2768 bytes .../webview/flickable/data/flickweb.7.png | Bin 0 -> 2829 bytes .../webview/flickable/data/flickweb.8.png | Bin 0 -> 2829 bytes .../webview/flickable/data/flickweb.9.png | Bin 0 -> 2829 bytes .../qmlvisual/webview/flickable/data/flickweb.qml | 6083 ++++++++++++++++++++ .../qmlvisual/webview/flickable/flickweb.qml | 35 + .../qmlvisual/webview/flickable/qtlogo.png | Bin 0 -> 2738 bytes .../qmlvisual/webview/flickable/test.html | 3 + 17 files changed, 6133 insertions(+) create mode 100644 tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.0.png create mode 100644 tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.1.png create mode 100644 tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.10.png create mode 100644 tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.2.png create mode 100644 tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.3.png create mode 100644 tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.4.png create mode 100644 tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.5.png create mode 100644 tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.6.png create mode 100644 tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.7.png create mode 100644 tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.8.png create mode 100644 tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.9.png create mode 100644 tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.qml create mode 100644 tests/auto/declarative/qmlvisual/webview/flickable/flickweb.qml create mode 100644 tests/auto/declarative/qmlvisual/webview/flickable/qtlogo.png create mode 100644 tests/auto/declarative/qmlvisual/webview/flickable/test.html diff --git a/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview.cpp b/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview.cpp index e4f70de..7a8aae7 100644 --- a/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview.cpp +++ b/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview.cpp @@ -141,6 +141,16 @@ void GraphicsWebView::mouseMoveEvent(QGraphicsSceneMouseEvent* event) QGraphicsWebView::mouseMoveEvent(event); } +bool GraphicsWebView::sceneEvent(QEvent *event) +{ + bool rv = QGraphicsWebView::sceneEvent(event); + if (event->type() == QEvent::UngrabMouse) { + pressTimer.stop(); + parent->setKeepMouseGrab(false); + } + return rv; +} + /*! \qmlclass WebView QDeclarativeWebView \ingroup qml-view-elements diff --git a/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview_p.h b/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview_p.h index b2055bf..ca15a1e 100644 --- a/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview_p.h +++ b/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview_p.h @@ -70,6 +70,8 @@ protected: void mouseMoveEvent(QGraphicsSceneMouseEvent* event); void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event); void timerEvent(QTimerEvent* event); + bool sceneEvent(QEvent *event); + Q_SIGNALS: void doubleClick(int clickX, int clickY); private: diff --git a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.0.png b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.0.png new file mode 100644 index 0000000..513aab6 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.0.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.1.png b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.1.png new file mode 100644 index 0000000..513aab6 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.1.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.10.png b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.10.png new file mode 100644 index 0000000..bb22d01 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.10.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.2.png b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.2.png new file mode 100644 index 0000000..1357551 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.2.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.3.png b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.3.png new file mode 100644 index 0000000..513aab6 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.3.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.4.png b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.4.png new file mode 100644 index 0000000..bb22d01 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.4.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.5.png b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.5.png new file mode 100644 index 0000000..bb22d01 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.5.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.6.png b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.6.png new file mode 100644 index 0000000..c61ae3f Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.6.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.7.png b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.7.png new file mode 100644 index 0000000..bb22d01 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.7.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.8.png b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.8.png new file mode 100644 index 0000000..bb22d01 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.8.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.9.png b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.9.png new file mode 100644 index 0000000..bb22d01 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.9.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.qml b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.qml new file mode 100644 index 0000000..c248167 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.qml @@ -0,0 +1,6083 @@ +import Qt.VisualTest 4.7 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + image: "flickweb.0.png" + } + Frame { + msec: 32 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 48 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 64 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 80 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 96 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 112 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 128 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 144 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 160 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 176 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 192 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 208 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 224 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 240 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 256 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 272 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 288 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 304 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 320 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 336 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 352 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 368 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 384 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 400 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 416 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 432 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 448 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 464 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 480 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 496 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 512 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 528 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 544 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 0; y: 7 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 0; y: 7 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 560 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 12; y: 10 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 576 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 15; y: 11 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 592 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 608 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 624 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 640 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 12; y: 10 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 11; y: 10 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 656 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 9; y: 10 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 672 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 688 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 9; y: 11 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 704 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 9; y: 12 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 9; y: 15 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 720 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 9; y: 18 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 12; y: 24 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 736 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 14; y: 28 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 18; y: 35 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 752 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 19; y: 39 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 22; y: 43 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 768 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 22; y: 44 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 23; y: 44 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 784 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 800 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 23; y: 43 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 816 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 24; y: 45 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 832 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 26; y: 47 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 28; y: 49 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 848 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 29; y: 51 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 32; y: 55 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 864 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 34; y: 57 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 36; y: 61 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 880 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 38; y: 62 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 41; y: 66 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 896 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 43; y: 68 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 48; y: 73 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 912 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 50; y: 76 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 57; y: 80 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 928 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 63; y: 85 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 66; y: 87 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 944 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 72; y: 91 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 74; y: 93 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 960 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 80; y: 97 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 82; y: 99 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 976 + image: "flickweb.1.png" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 86; y: 102 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 88; y: 103 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 992 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 91; y: 103 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 92; y: 104 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1008 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 1024 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 1040 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 92; y: 105 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1056 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 92; y: 106 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1072 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 92; y: 107 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 92; y: 108 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1088 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 92; y: 109 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1104 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 92; y: 110 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 92; y: 111 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1120 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 92; y: 112 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1136 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 92; y: 113 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 92; y: 114 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1152 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 92; y: 115 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 92; y: 116 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1168 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 92; y: 117 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1184 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 1200 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 92; y: 117 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1216 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 92; y: 116 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 92; y: 115 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1232 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 91; y: 112 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 91; y: 111 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1248 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 90; y: 107 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 90; y: 104 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1264 + hash: "e891b00cd44578b4a8e635ffe4c6d3fd" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 90; y: 101 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 89; y: 96 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1280 + hash: "61a543282ffb5e751ea1d97f0c95b208" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 89; y: 93 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 89; y: 85 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1296 + hash: "102e4b664bade46ab3bbb611acee22c9" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 89; y: 81 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 87; y: 70 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1312 + hash: "6bf42ac28a14db681442aeb7ed0c7610" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 85; y: 60 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 85; y: 60 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 84; y: 56 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1328 + hash: "ef531060d6b75cec8a6e3c01b3f69cc0" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 84; y: 51 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 84; y: 49 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1344 + hash: "e839af9d67f6214f0901977b3aa96d1a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 84; y: 46 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 84; y: 43 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1360 + hash: "b2d6b68f1f7229e8e65bb37e4c418a1b" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 84; y: 41 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 85; y: 39 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1376 + hash: "e4a562aa35aa532d15c9b129e22797bb" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 83; y: 38 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1392 + hash: "029d347e9c99dd4a9cec5120ac7fc25e" + } + Frame { + msec: 1408 + hash: "3c16a74e18a59630f35511ab5514c769" + } + Frame { + msec: 1424 + hash: "5dc472d6c5198d5a628510bd45a61a11" + } + Frame { + msec: 1440 + hash: "430d60127ed59dbc5904647424ead40d" + } + Frame { + msec: 1456 + hash: "cb27cfcfbbb77b55c2a8bf7e51c0af07" + } + Frame { + msec: 1472 + hash: "46f2eb33b0e8316c4123ddbee2f60ae2" + } + Frame { + msec: 1488 + hash: "1df306111ca012c9f405018778c0a12b" + } + Frame { + msec: 1504 + hash: "1eafab8fd457ad9acda068344178b4a8" + } + Frame { + msec: 1520 + hash: "286656898100e53d6d7728b51ce93df5" + } + Frame { + msec: 1536 + hash: "e2a88f0ba3030a430028147930989bbb" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 84; y: 38 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1552 + hash: "fb23cf265c4d253470c2515043bc5dd8" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 83; y: 38 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1568 + hash: "1dba4f0e5e5948b7133725ea8bbef3e7" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 83; y: 37 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 84; y: 38 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1584 + hash: "8578965c5ad012284e4e0a14a42da25e" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 84; y: 34 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1600 + hash: "3ef187decae08baa2ec92998c2cbb7f7" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 83; y: 31 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1616 + hash: "4e0491128eac0bbfa7a131b1f18f243c" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 83; y: 26 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1632 + hash: "c2d0799526e908204efbd3aa980e086c" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 83; y: 23 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1648 + hash: "cc87e09a6784d61680f8c6ab0d6a38fa" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 84; y: 22 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 85; y: 16 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1664 + hash: "13dec7e835b4f26970f98b66533f84f1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 85; y: 14 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1680 + hash: "e5d2862bee024b64326b7d85e5e45399" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 85; y: 12 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1696 + hash: "0b1401ce4a91811ac9c3eec5f94b380d" + } + Frame { + msec: 1712 + hash: "0de290542c9d3e03ed78f51423011c16" + } + Frame { + msec: 1728 + hash: "4c9aa06ad1e246b4b026742fc8cf37bc" + } + Frame { + msec: 1744 + hash: "c33003a8262c2ba25510ece181e61bc9" + } + Frame { + msec: 1760 + hash: "c33003a8262c2ba25510ece181e61bc9" + } + Frame { + msec: 1776 + hash: "ad184fa88c4299b8911c9b7ada5b3736" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 85; y: 12 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 85; y: 13 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 85; y: 15 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1792 + hash: "ad184fa88c4299b8911c9b7ada5b3736" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 85; y: 17 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 85; y: 23 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1808 + hash: "c2d0799526e908204efbd3aa980e086c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 85; y: 30 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 85; y: 34 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1824 + hash: "b343a9ed7e9740ec1725837fad766745" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 85; y: 41 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 85; y: 44 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1840 + hash: "b33260ad955474452f204ed5d468ef78" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 85; y: 51 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 86; y: 55 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1856 + hash: "9a647c54e378bd0ee35ef4164892722c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 87; y: 61 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 88; y: 67 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 88; y: 67 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 89; y: 73 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1872 + hash: "dc553d1a7b678dffea41147fc6b841f6" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 89; y: 74 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 89; y: 78 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1888 + hash: "2d61b4fb1e5a8beb6e3c3cb53c21db42" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 89; y: 79 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 89; y: 82 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1904 + hash: "209faf0b20fd53d9a1c261c8cae9666f" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 90; y: 82 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 91; y: 83 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1920 + hash: "3497258aa07c76f0e31b5a492ee7e7cb" + } + Frame { + msec: 1936 + image: "flickweb.2.png" + } + Frame { + msec: 1952 + hash: "64c677ac4fea0e525279e86bf831d5d3" + } + Frame { + msec: 1968 + hash: "76c6c887fea94288e9fd975655e5181c" + } + Frame { + msec: 1984 + hash: "71b85e596c88b84a851a52aa3389e63a" + } + Frame { + msec: 2000 + hash: "e4a562aa35aa532d15c9b129e22797bb" + } + Frame { + msec: 2016 + hash: "148484dd95c88720cc5ef196334cb9a8" + } + Frame { + msec: 2032 + hash: "924c6254ffa1707b69174f49e4e95213" + } + Frame { + msec: 2048 + hash: "9e61907acedb27941d8be2befa364cfb" + } + Frame { + msec: 2064 + hash: "9e61907acedb27941d8be2befa364cfb" + } + Frame { + msec: 2080 + hash: "f2c4e99db1bb087a40b277ce8ce628f6" + } + Frame { + msec: 2096 + hash: "f2c4e99db1bb087a40b277ce8ce628f6" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 91; y: 82 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2112 + hash: "b2d6b68f1f7229e8e65bb37e4c418a1b" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 90; y: 82 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2128 + hash: "b2d6b68f1f7229e8e65bb37e4c418a1b" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 89; y: 81 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 88; y: 80 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2144 + hash: "b2d6b68f1f7229e8e65bb37e4c418a1b" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 87; y: 79 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 86; y: 77 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2160 + hash: "b2d6b68f1f7229e8e65bb37e4c418a1b" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 86; y: 76 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 86; y: 75 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2176 + hash: "b2d6b68f1f7229e8e65bb37e4c418a1b" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 85; y: 73 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 84; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2192 + hash: "b2d6b68f1f7229e8e65bb37e4c418a1b" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 82; y: 68 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 81; y: 67 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2208 + hash: "b2d6b68f1f7229e8e65bb37e4c418a1b" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 76; y: 61 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 75; y: 59 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2224 + hash: "b2d6b68f1f7229e8e65bb37e4c418a1b" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 71; y: 54 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 70; y: 51 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2240 + hash: "b2d6b68f1f7229e8e65bb37e4c418a1b" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 70; y: 50 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 70; y: 49 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2256 + hash: "b2d6b68f1f7229e8e65bb37e4c418a1b" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 70; y: 47 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 69; y: 46 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2272 + hash: "b2d6b68f1f7229e8e65bb37e4c418a1b" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 68; y: 45 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 67; y: 43 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2288 + hash: "b2d6b68f1f7229e8e65bb37e4c418a1b" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 66; y: 43 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 65; y: 41 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2304 + hash: "b2d6b68f1f7229e8e65bb37e4c418a1b" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 64; y: 40 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 64; y: 39 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2320 + hash: "b2d6b68f1f7229e8e65bb37e4c418a1b" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 63; y: 38 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 63; y: 37 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2336 + hash: "b2d6b68f1f7229e8e65bb37e4c418a1b" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 63; y: 35 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 63; y: 34 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2352 + hash: "b2d6b68f1f7229e8e65bb37e4c418a1b" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 63; y: 33 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2368 + hash: "b2d6b68f1f7229e8e65bb37e4c418a1b" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 64; y: 32 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2384 + hash: "b2d6b68f1f7229e8e65bb37e4c418a1b" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 65; y: 32 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 65; y: 31 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2400 + hash: "b2d6b68f1f7229e8e65bb37e4c418a1b" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 66; y: 31 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 68; y: 31 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2416 + hash: "b2d6b68f1f7229e8e65bb37e4c418a1b" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 69; y: 30 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 71; y: 29 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2432 + hash: "b2d6b68f1f7229e8e65bb37e4c418a1b" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 73; y: 27 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 73; y: 26 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2448 + hash: "b2d6b68f1f7229e8e65bb37e4c418a1b" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 74; y: 24 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 74; y: 22 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2464 + hash: "b2d6b68f1f7229e8e65bb37e4c418a1b" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 74; y: 21 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 74; y: 20 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2480 + hash: "b2d6b68f1f7229e8e65bb37e4c418a1b" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 74; y: 18 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 74; y: 17 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2496 + hash: "b2d6b68f1f7229e8e65bb37e4c418a1b" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 74; y: 16 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 73; y: 15 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2512 + hash: "b2d6b68f1f7229e8e65bb37e4c418a1b" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 73; y: 14 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2528 + hash: "b2d6b68f1f7229e8e65bb37e4c418a1b" + } + Frame { + msec: 2544 + hash: "b2d6b68f1f7229e8e65bb37e4c418a1b" + } + Frame { + msec: 2560 + hash: "b2d6b68f1f7229e8e65bb37e4c418a1b" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 73; y: 14 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2576 + hash: "b2d6b68f1f7229e8e65bb37e4c418a1b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 73; y: 15 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 72; y: 17 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2592 + hash: "b2d6b68f1f7229e8e65bb37e4c418a1b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 72; y: 24 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 72; y: 29 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2608 + hash: "b2d6b68f1f7229e8e65bb37e4c418a1b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 72; y: 40 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 71; y: 47 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2624 + hash: "c4dd48fca556c2760c8f81db7fea6938" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 70; y: 60 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 70; y: 78 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2640 + hash: "9dbad8cb2692807d67f74e7ac4a4a70e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 70; y: 88 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 70; y: 96 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 70; y: 96 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2656 + hash: "152648affe4045a81f0d6ff9150889f1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 70; y: 99 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 70; y: 102 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2672 + hash: "152648affe4045a81f0d6ff9150889f1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 73; y: 103 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 74; y: 103 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2688 + hash: "152648affe4045a81f0d6ff9150889f1" + } + Frame { + msec: 2704 + hash: "152648affe4045a81f0d6ff9150889f1" + } + Frame { + msec: 2720 + hash: "152648affe4045a81f0d6ff9150889f1" + } + Frame { + msec: 2736 + hash: "152648affe4045a81f0d6ff9150889f1" + } + Frame { + msec: 2752 + hash: "152648affe4045a81f0d6ff9150889f1" + } + Frame { + msec: 2768 + hash: "c9eee2b7529b07a17151e7140444c099" + } + Frame { + msec: 2784 + hash: "c9eee2b7529b07a17151e7140444c099" + } + Frame { + msec: 2800 + hash: "c9eee2b7529b07a17151e7140444c099" + } + Frame { + msec: 2816 + hash: "c9eee2b7529b07a17151e7140444c099" + } + Frame { + msec: 2832 + hash: "c9eee2b7529b07a17151e7140444c099" + } + Frame { + msec: 2848 + hash: "c9eee2b7529b07a17151e7140444c099" + } + Frame { + msec: 2864 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 2880 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 2896 + image: "flickweb.3.png" + } + Frame { + msec: 2912 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 2928 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 74; y: 102 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2944 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 74; y: 101 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 73; y: 98 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2960 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 69; y: 93 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 67; y: 91 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2976 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 62; y: 85 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 60; y: 83 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2992 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 56; y: 77 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 55; y: 75 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3008 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 52; y: 70 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 49; y: 67 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3024 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 49; y: 65 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 48; y: 61 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3040 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 48; y: 60 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 46; y: 56 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3056 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 45; y: 54 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 42; y: 50 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3072 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 39; y: 47 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 38; y: 45 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3088 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 37; y: 44 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 36; y: 43 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3104 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 35; y: 41 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 35; y: 40 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3120 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 33; y: 39 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 33; y: 38 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3136 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 32; y: 37 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3152 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 32; y: 36 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 31; y: 36 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3168 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 31; y: 35 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3184 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 30; y: 35 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 30; y: 33 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3200 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 28; y: 32 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 28; y: 31 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3216 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 26; y: 29 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 26; y: 28 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3232 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 25; y: 27 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3248 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 25; y: 26 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3264 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 3280 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 3296 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 3312 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 25; y: 26 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3328 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 3344 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 3360 + hash: "d045839439e4091210c745f0ea173e52" + } + Frame { + msec: 3376 + hash: "d045839439e4091210c745f0ea173e52" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 25; y: 26 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3392 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 25; y: 27 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3408 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 26; y: 27 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 26; y: 28 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3424 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 27; y: 28 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 27; y: 29 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3440 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 3456 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 3472 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 3488 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 3504 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 27; y: 30 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3520 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 28; y: 31 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 29; y: 34 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3536 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 31; y: 36 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 37; y: 43 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3552 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 40; y: 48 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 50; y: 59 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3568 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 55; y: 64 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 65; y: 73 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3584 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 69; y: 77 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 75; y: 83 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3600 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 78; y: 85 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 80; y: 86 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3616 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 82; y: 88 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 83; y: 89 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3632 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 85; y: 90 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3648 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 3664 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 3680 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 3696 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 3712 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 3728 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 3744 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 3760 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 85; y: 89 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3776 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 3792 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 84; y: 88 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 84; y: 87 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3808 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 85; y: 85 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 84; y: 83 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3824 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 3840 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 3856 + image: "flickweb.4.png" + } + Frame { + msec: 3872 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 3888 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 3904 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 3920 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 3936 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 3952 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 3968 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 3984 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 4000 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 4016 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 84; y: 84 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4032 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 84; y: 87 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4048 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 83; y: 88 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4064 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 4080 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 4096 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 4112 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 4128 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 83; y: 89 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4144 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 82; y: 90 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4160 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 82; y: 91 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 82; y: 92 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4176 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 82; y: 93 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 82; y: 95 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4192 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 82; y: 97 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 83; y: 100 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4208 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 83; y: 101 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 83; y: 105 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4224 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 83; y: 107 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 83; y: 110 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4240 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 83; y: 113 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 83; y: 114 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4256 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 83; y: 115 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 83; y: 116 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4272 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 83; y: 117 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4288 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 4304 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 4320 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 4336 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 4352 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 4368 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 4384 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 4400 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 4416 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 4432 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 4448 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 4464 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 4480 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 83; y: 116 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4496 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 4512 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 4528 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 4544 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 4560 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 4576 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 4592 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 4608 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 82; y: 116 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4624 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 4640 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 82; y: 117 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4656 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 4672 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 4688 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 82; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4704 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 4720 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 4736 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 4752 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 4768 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 4784 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 83; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4800 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 4816 + image: "flickweb.5.png" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 83; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4832 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 4848 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 84; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4864 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 85; y: 118 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 85; y: 117 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4880 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 86; y: 113 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 87; y: 111 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4896 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 89; y: 107 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 90; y: 104 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4912 + hash: "f10fa114e248809ed280788d03a3e234" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 92; y: 99 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 93; y: 95 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4928 + hash: "442357340d9690811d582f548f933d92" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 95; y: 88 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 98; y: 81 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 98; y: 81 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4944 + hash: "188b8f78b2a2180a8e96a8a05bb20fe2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 98; y: 77 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 99; y: 69 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4960 + hash: "2b8ee42c5660f4f938cf10507690abbe" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 100; y: 66 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 101; y: 60 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4976 + hash: "3d4aab388f62e64c5f72c631fb8584aa" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 103; y: 59 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 104; y: 56 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4992 + hash: "439364cea3330411f526093d58ece463" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 104; y: 55 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 104; y: 53 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5008 + hash: "27653ec59651e6b3cb2ebf2bc81a975a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 104; y: 52 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 104; y: 51 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5024 + hash: "d9c0fb2cbf968e0524291ae2570ca585" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 105; y: 50 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 105; y: 49 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5040 + hash: "ef75df694a972985f410e21182dbb12b" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 105; y: 48 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5056 + hash: "adda6aa851c1587c1bb2605809348725" + } + Frame { + msec: 5072 + hash: "196c12052069f0f8c775aa38d3291bef" + } + Frame { + msec: 5088 + hash: "eaa025b6aee87edf95643cc46880d0db" + } + Frame { + msec: 5104 + hash: "edeab897b82df47ae6deb858eca3087e" + } + Frame { + msec: 5120 + hash: "46e3b5da149cfc40036a860e74e0cd78" + } + Frame { + msec: 5136 + hash: "46e3b5da149cfc40036a860e74e0cd78" + } + Frame { + msec: 5152 + hash: "0fe9b13b9b0752ab4ad74f4e43f94d86" + } + Frame { + msec: 5168 + hash: "0fe9b13b9b0752ab4ad74f4e43f94d86" + } + Frame { + msec: 5184 + hash: "695e9c7292475cad011ca76799452042" + } + Frame { + msec: 5200 + hash: "695e9c7292475cad011ca76799452042" + } + Frame { + msec: 5216 + hash: "695e9c7292475cad011ca76799452042" + } + Frame { + msec: 5232 + hash: "695e9c7292475cad011ca76799452042" + } + Frame { + msec: 5248 + hash: "695e9c7292475cad011ca76799452042" + } + Frame { + msec: 5264 + hash: "695e9c7292475cad011ca76799452042" + } + Frame { + msec: 5280 + hash: "695e9c7292475cad011ca76799452042" + } + Frame { + msec: 5296 + hash: "695e9c7292475cad011ca76799452042" + } + Frame { + msec: 5312 + hash: "695e9c7292475cad011ca76799452042" + } + Frame { + msec: 5328 + hash: "695e9c7292475cad011ca76799452042" + } + Frame { + msec: 5344 + hash: "695e9c7292475cad011ca76799452042" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 105; y: 47 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 104; y: 46 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5360 + hash: "695e9c7292475cad011ca76799452042" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 103; y: 45 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 102; y: 45 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5376 + hash: "695e9c7292475cad011ca76799452042" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 102; y: 44 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5392 + hash: "695e9c7292475cad011ca76799452042" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 101; y: 43 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5408 + hash: "695e9c7292475cad011ca76799452042" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 101; y: 42 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 100; y: 42 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5424 + hash: "695e9c7292475cad011ca76799452042" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 99; y: 41 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 98; y: 40 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5440 + hash: "695e9c7292475cad011ca76799452042" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 98; y: 39 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5456 + hash: "695e9c7292475cad011ca76799452042" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 98; y: 38 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 98; y: 37 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5472 + hash: "695e9c7292475cad011ca76799452042" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 98; y: 36 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 98; y: 35 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5488 + hash: "695e9c7292475cad011ca76799452042" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 98; y: 33 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 98; y: 30 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5504 + hash: "695e9c7292475cad011ca76799452042" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 98; y: 29 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 98; y: 28 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5520 + hash: "695e9c7292475cad011ca76799452042" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 98; y: 26 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 98; y: 25 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5536 + hash: "695e9c7292475cad011ca76799452042" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 98; y: 24 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 98; y: 23 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5552 + hash: "695e9c7292475cad011ca76799452042" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 97; y: 23 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 97; y: 22 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5568 + hash: "695e9c7292475cad011ca76799452042" + } + Frame { + msec: 5584 + hash: "695e9c7292475cad011ca76799452042" + } + Frame { + msec: 5600 + hash: "695e9c7292475cad011ca76799452042" + } + Frame { + msec: 5616 + hash: "695e9c7292475cad011ca76799452042" + } + Frame { + msec: 5632 + hash: "695e9c7292475cad011ca76799452042" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 97; y: 22 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5648 + hash: "695e9c7292475cad011ca76799452042" + } + Frame { + msec: 5664 + hash: "695e9c7292475cad011ca76799452042" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 97; y: 24 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 97; y: 26 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5680 + hash: "695e9c7292475cad011ca76799452042" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 97; y: 28 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 97; y: 31 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5696 + hash: "695e9c7292475cad011ca76799452042" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 97; y: 37 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 97; y: 42 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5712 + hash: "27653ec59651e6b3cb2ebf2bc81a975a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 97; y: 50 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 97; y: 58 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5728 + hash: "f2a68c3a60002a796b0cd595ae89e477" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 97; y: 63 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 97; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5744 + hash: "2628ffe66f06c997d9c9b66febc04ce8" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 97; y: 75 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 98; y: 83 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5760 + hash: "9b68c76d622f7b883a13927a112179f0" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 99; y: 86 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 101; y: 91 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 101; y: 91 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5776 + image: "flickweb.6.png" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 103; y: 95 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 104; y: 95 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5792 + hash: "6d6d87355037ec4a15b2a81c8d48b74d" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 107; y: 95 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 107; y: 94 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5808 + hash: "6d6d87355037ec4a15b2a81c8d48b74d" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 107; y: 93 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5824 + hash: "6d6d87355037ec4a15b2a81c8d48b74d" + } + Frame { + msec: 5840 + hash: "6d6d87355037ec4a15b2a81c8d48b74d" + } + Frame { + msec: 5856 + hash: "34c3edc4500a268a326b5c2156c12f09" + } + Frame { + msec: 5872 + hash: "34c3edc4500a268a326b5c2156c12f09" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 106; y: 92 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 105; y: 91 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5888 + hash: "34c3edc4500a268a326b5c2156c12f09" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 104; y: 91 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 103; y: 90 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5904 + hash: "ac600900160ab37ec8a3e67eb82d0259" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 101; y: 89 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 100; y: 88 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5920 + hash: "ac600900160ab37ec8a3e67eb82d0259" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 99; y: 86 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 98; y: 86 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5936 + hash: "dc3cef419e3b7d59f450d3307aeebefa" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 97; y: 85 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 96; y: 85 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5952 + hash: "dc3cef419e3b7d59f450d3307aeebefa" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 94; y: 84 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 93; y: 83 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5968 + hash: "9b68c76d622f7b883a13927a112179f0" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 90; y: 82 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 86; y: 81 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5984 + hash: "9b68c76d622f7b883a13927a112179f0" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 85; y: 80 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 81; y: 79 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6000 + hash: "9b68c76d622f7b883a13927a112179f0" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 79; y: 78 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 76; y: 76 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6016 + hash: "9b68c76d622f7b883a13927a112179f0" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 75; y: 76 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 72; y: 73 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6032 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 68; y: 70 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 66; y: 68 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6048 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 63; y: 65 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 61; y: 63 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6064 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 58; y: 60 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 57; y: 59 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6080 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 54; y: 56 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 53; y: 54 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6096 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 51; y: 50 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 48; y: 46 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6112 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 48; y: 45 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 46; y: 41 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6128 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 45; y: 39 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 43; y: 36 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6144 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 43; y: 35 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 41; y: 32 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6160 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 40; y: 30 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 38; y: 28 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6176 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 36; y: 26 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 35; y: 24 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6192 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 33; y: 22 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 32; y: 21 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6208 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 31; y: 20 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 30; y: 19 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6224 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 29; y: 19 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 28; y: 18 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6240 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 27; y: 18 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 26; y: 17 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6256 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 25; y: 17 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6272 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 24; y: 17 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6288 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 6304 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 6320 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 6336 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 6352 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 24; y: 17 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6368 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 6384 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 6400 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 6416 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 24; y: 17 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6432 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 24; y: 18 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6448 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 25; y: 18 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 25; y: 19 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6464 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 26; y: 19 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 27; y: 20 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6480 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 28; y: 21 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6496 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 6512 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 6528 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 29; y: 22 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6544 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 30; y: 23 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 31; y: 24 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6560 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 32; y: 25 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 33; y: 25 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6576 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 34; y: 26 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 34; y: 27 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6592 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 37; y: 30 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 38; y: 31 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6608 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 41; y: 35 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 42; y: 37 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6624 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 45; y: 42 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 50; y: 46 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6640 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 52; y: 49 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 57; y: 53 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6656 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 60; y: 55 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 65; y: 58 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6672 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 66; y: 59 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 71; y: 61 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6688 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 75; y: 62 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 77; y: 63 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6704 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 80; y: 64 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 81; y: 64 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6720 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 83; y: 64 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 84; y: 64 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6736 + image: "flickweb.7.png" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 85; y: 64 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 86; y: 64 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6752 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 87; y: 64 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 88; y: 64 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6768 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 90; y: 64 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 93; y: 64 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6784 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 94; y: 64 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 99; y: 63 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6800 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 102; y: 63 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 106; y: 62 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6816 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 110; y: 62 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 116; y: 62 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6832 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 122; y: 62 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 124; y: 62 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6848 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 125; y: 62 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6864 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 6880 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 6896 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 6912 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 6928 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 6944 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 6960 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 6976 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 6992 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7008 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7024 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7040 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7056 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7072 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7088 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 126; y: 62 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7104 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 127; y: 62 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 129; y: 64 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7120 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 132; y: 65 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 134; y: 66 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7136 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 139; y: 68 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 144; y: 69 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7152 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 148; y: 69 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 154; y: 69 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7168 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 158; y: 68 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 162; y: 66 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7184 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 164; y: 65 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 165; y: 62 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7200 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 165; y: 60 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 165; y: 54 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7216 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 162; y: 45 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 159; y: 39 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7232 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 151; y: 27 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 146; y: 22 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7248 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 129; y: 3 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7264 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7280 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7296 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7312 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7328 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7344 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7360 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7376 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7392 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7408 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7424 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7440 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7456 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7472 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7488 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7504 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7520 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7536 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7552 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7568 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7584 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7600 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7616 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7632 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7648 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7664 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7680 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7696 + image: "flickweb.8.png" + } + Frame { + msec: 7712 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7728 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7744 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7760 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7776 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7792 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7808 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7824 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7840 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7856 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7872 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7888 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7904 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7920 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7936 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7952 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7968 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 7984 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8000 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8016 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8032 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8048 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8064 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8080 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8096 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8112 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8128 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8144 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8160 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8176 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8192 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8208 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8224 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8240 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8256 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8272 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8288 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8304 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8320 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8336 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8352 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8368 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8384 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8400 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8416 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8432 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8448 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8464 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8480 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8496 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8512 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8528 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8544 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8560 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8576 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8592 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8608 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8624 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8640 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8656 + image: "flickweb.9.png" + } + Frame { + msec: 8672 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8688 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8704 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8720 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8736 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8752 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8768 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8784 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8800 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8816 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8832 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8848 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8864 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8880 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8896 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8912 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8928 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8944 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8960 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8976 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 8992 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9008 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9024 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9040 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9056 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9072 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9088 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9104 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9120 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9136 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9152 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9168 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9184 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9200 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9216 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9232 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9248 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9264 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9280 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9296 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9312 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9328 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9344 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9360 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9376 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9392 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9408 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9424 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9440 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9456 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9472 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9488 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9504 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9520 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9536 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9552 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9568 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9584 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9600 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9616 + image: "flickweb.10.png" + } + Frame { + msec: 9632 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9648 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9664 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9680 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9696 + hash: "98990f624351f88347b2eb010bb5cd13" + } + Frame { + msec: 9712 + hash: "98990f624351f88347b2eb010bb5cd13" + } +} diff --git a/tests/auto/declarative/qmlvisual/webview/flickable/flickweb.qml b/tests/auto/declarative/qmlvisual/webview/flickable/flickweb.qml new file mode 100644 index 0000000..6063226 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/flickable/flickweb.qml @@ -0,0 +1,35 @@ +import QtQuick 1.0 +import QtWebKit 1.0 + +Flickable { + id: flickable + width: 320 + height: 200 + contentWidth: Math.max(flickable.width,webView.width) + contentHeight: Math.max(flickable.height,webView.height) + pressDelay: 100 + + WebView { + id: webView + transformOrigin: Item.TopLeft + smooth: false // We don't want smooth scaling, since we only scale during (fast) transitions + url: "test.html" + preferredWidth: flickable.width + preferredHeight: flickable.height + contentsScale: 1 + onContentsSizeChanged: { + // zoom out + contentsScale = Math.min(1,flickable.width / contentsSize.width) + } + } + + Rectangle { + id: button + width: 50; height: 50; color: "red" + MouseArea { + anchors.fill: parent + onPressed: button.color = "blue" + onReleased: button.color = "green" + } + } +} diff --git a/tests/auto/declarative/qmlvisual/webview/flickable/qtlogo.png b/tests/auto/declarative/qmlvisual/webview/flickable/qtlogo.png new file mode 100644 index 0000000..399bd0b Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/flickable/qtlogo.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/flickable/test.html b/tests/auto/declarative/qmlvisual/webview/flickable/test.html new file mode 100644 index 0000000..35eb718 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/flickable/test.html @@ -0,0 +1,3 @@ + + + -- cgit v0.12 From cd7e76b2ac2894c7c18a3806f8074b03f581d5d2 Mon Sep 17 00:00:00 2001 From: Petri Latvala Date: Wed, 13 Oct 2010 10:25:14 +0300 Subject: Ignore .pc/ Reviewed-By: Rohan McGovern (cherry picked from commit 561a72c2568768f9adf34aa1077717f9311ce56d) --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index af52197..f9a4454 100644 --- a/.gitignore +++ b/.gitignore @@ -235,3 +235,5 @@ qtc-debugging-helper src/corelib/lib src/network/lib src/xml/lib/ + +.pc/ -- cgit v0.12 From ea41bb4f6e097ee641e5fbee3242ccc5aa7e77b1 Mon Sep 17 00:00:00 2001 From: Joona Petrell Date: Tue, 23 Nov 2010 20:13:09 +1000 Subject: Update QtGui emulator def file for bug QT-3971 --- src/s60installs/bwins/QtGuiu.def | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/s60installs/bwins/QtGuiu.def b/src/s60installs/bwins/QtGuiu.def index dc8a865..6a33fc3 100644 --- a/src/s60installs/bwins/QtGuiu.def +++ b/src/s60installs/bwins/QtGuiu.def @@ -12852,7 +12852,7 @@ EXPORTS ?drawStaticText@QPainter@@QAEXABVQPointF@@ABVQStaticText@@@Z @ 12851 NONAME ; void QPainter::drawStaticText(class QPointF const &, class QStaticText const &) ?updateAll@QGraphicsViewPrivate@@QAEXXZ @ 12852 NONAME ; void QGraphicsViewPrivate::updateAll(void) ?updateMicroFocus@QGraphicsItem@@IAEXXZ @ 12853 NONAME ; void QGraphicsItem::updateMicroFocus(void) - ?populate@QTextureGlyphCache@@QAEXPAVQFontEngine@@HPBIPBUQFixedPoint@@@Z @ 12854 NONAME ; void QTextureGlyphCache::populate(class QFontEngine *, int, unsigned int const *, struct QFixedPoint const *) + ?populate@QTextureGlyphCache@@QAEXPAVQFontEngine@@HPBIPBUQFixedPoint@@@Z @ 12854 NONAME ABSENT ; void QTextureGlyphCache::populate(class QFontEngine *, int, unsigned int const *, struct QFixedPoint const *) ?hasPartialUpdateSupport@QWindowSurface@@QBE_NXZ @ 12855 NONAME ; bool QWindowSurface::hasPartialUpdateSupport(void) const ?scroll@QRuntimePixmapData@@UAE_NHHABVQRect@@@Z @ 12856 NONAME ; bool QRuntimePixmapData::scroll(int, int, class QRect const &) ?qt_draw_glyphs@@YAXPAVQPainter@@PBIPBVQPointF@@H@Z @ 12857 NONAME ; void qt_draw_glyphs(class QPainter *, unsigned int const *, class QPointF const *, int) @@ -12904,4 +12904,5 @@ EXPORTS ?fontEngine@QStaticTextItem@@QBEPAVQFontEngine@@XZ @ 12903 NONAME ; class QFontEngine * QStaticTextItem::fontEngine(void) const ?reactivateDeferredActiveObjects@QEventDispatcherS60@@UAEXXZ @ 12904 NONAME ; void QEventDispatcherS60::reactivateDeferredActiveObjects(void) ?userData@QStaticTextItem@@QBEPAVQStaticTextUserData@@XZ @ 12905 NONAME ; class QStaticTextUserData * QStaticTextItem::userData(void) const + ?populate@QTextureGlyphCache@@QAE_NPAVQFontEngine@@HPBIPBUQFixedPoint@@@Z @ 12906 NONAME ; bool QTextureGlyphCache::populate(class QFontEngine *, int, unsigned int const *, struct QFixedPoint const *) -- cgit v0.12 From 5d0be38c15acf28969bd8bf984ab23a29fa8e354 Mon Sep 17 00:00:00 2001 From: Damian Jansen Date: Wed, 24 Nov 2010 10:51:29 +1000 Subject: Fix asynchronous reload call in test, broken by previous submit Task-number: QTBUG-15493 --- tests/auto/declarative/qdeclarativeviewer/tst_qdeclarativeviewer.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/auto/declarative/qdeclarativeviewer/tst_qdeclarativeviewer.cpp b/tests/auto/declarative/qdeclarativeviewer/tst_qdeclarativeviewer.cpp index 1c1c04b..21c7197 100644 --- a/tests/auto/declarative/qdeclarativeviewer/tst_qdeclarativeviewer.cpp +++ b/tests/auto/declarative/qdeclarativeviewer/tst_qdeclarativeviewer.cpp @@ -45,6 +45,7 @@ #include #include #include +#include #include "../../../shared/util.h" #include "qmlruntime.h" #include "deviceorientation.h" @@ -194,7 +195,9 @@ void tst_QDeclarativeViewer::loading() QCOMPARE(viewer->size(), QSize(250, 350)); QCOMPARE(viewer->size(), viewer->sizeHint()); + QSignalSpy statusSpy(viewer->view(), SIGNAL(statusChanged(QDeclarativeView::Status))); viewer->reload(); + QTRY_VERIFY(statusSpy.count() == 1); rootItem = qobject_cast(viewer->view()->rootObject()); QVERIFY(rootItem); -- cgit v0.12 From d32360bb33e830f8c17a6db1a31f529436c2915e Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Wed, 24 Nov 2010 11:25:07 +1000 Subject: Avoid lockup in ListView when animating delegates. Animating delegates results in the content height changing, which may result in fixup being called if at the ends of the view, which may in turn cause refill to be called, which will change the content height, which repeats. Prevent this recusion from happening. Task-number: QTBUG-14821 Reviewed-by: Bea Lam --- .../graphicsitems/qdeclarativelistview.cpp | 8 ++++++ .../qdeclarativelistview/data/qtbug14821.qml | 31 ++++++++++++++++++++++ .../tst_qdeclarativelistview.cpp | 21 +++++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 tests/auto/declarative/qdeclarativelistview/data/qtbug14821.qml diff --git a/src/declarative/graphicsitems/qdeclarativelistview.cpp b/src/declarative/graphicsitems/qdeclarativelistview.cpp index 6be49ba..450b6af 100644 --- a/src/declarative/graphicsitems/qdeclarativelistview.cpp +++ b/src/declarative/graphicsitems/qdeclarativelistview.cpp @@ -183,6 +183,7 @@ public: , ownModel(false), wrap(false), autoHighlight(true), haveHighlightRange(false) , correctFlick(false), inFlickCorrection(false), lazyRelease(false) , deferredRelease(false), layoutScheduled(false), currentIndexCleared(false) + , inViewportMoved(false) , minExtentDirty(true), maxExtentDirty(true) {} @@ -503,6 +504,7 @@ public: bool deferredRelease : 1; bool layoutScheduled : 1; bool currentIndexCleared : 1; + bool inViewportMoved : 1; mutable bool minExtentDirty : 1; mutable bool maxExtentDirty : 1; }; @@ -2281,6 +2283,10 @@ void QDeclarativeListView::viewportMoved() QDeclarativeFlickable::viewportMoved(); if (!d->itemCount) return; + // Recursion can occur due to refill changing the content size. + if (d->inViewportMoved) + return; + d->inViewportMoved = true; d->lazyRelease = true; refill(); if (d->flickingHorizontally || d->flickingVertically || d->movingHorizontally || d->movingVertically) @@ -2294,6 +2300,7 @@ void QDeclarativeListView::viewportMoved() pos = viewPos + d->highlightRangeEnd - d->highlight->size(); if (pos < viewPos + d->highlightRangeStart) pos = viewPos + d->highlightRangeStart; + d->highlightPosAnimator->stop(); d->highlight->setPosition(qRound(pos)); // update current index @@ -2341,6 +2348,7 @@ void QDeclarativeListView::viewportMoved() } d->inFlickCorrection = false; } + d->inViewportMoved = false; } qreal QDeclarativeListView::minYExtent() const diff --git a/tests/auto/declarative/qdeclarativelistview/data/qtbug14821.qml b/tests/auto/declarative/qdeclarativelistview/data/qtbug14821.qml new file mode 100644 index 0000000..e0303ec --- /dev/null +++ b/tests/auto/declarative/qdeclarativelistview/data/qtbug14821.qml @@ -0,0 +1,31 @@ +import QtQuick 1.0 + +ListView { + id: view + width: 300; height: 200 + focus: true + keyNavigationWraps: true + + model: 100 + + preferredHighlightBegin: 90 + preferredHighlightEnd: 110 + + highlightRangeMode: ListView.StrictlyEnforceRange + highlight: Component { + Rectangle { + border.color: "blue" + border.width: 3 + color: "transparent" + width: 300; height: 15 + } + } + + delegate: Component { + Item { + height: 15 + (view.currentIndex == index ? 20 : 0) + width: 200 + Text { text: 'Index: ' + index; anchors.verticalCenter: parent.verticalCenter } + } + } +} diff --git a/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp b/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp index a4b4f21..37d836d 100644 --- a/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp +++ b/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp @@ -101,6 +101,7 @@ private slots: void footer(); void resizeView(); void sizeLessThan1(); + void QTBUG_14821(); private: template void items(); @@ -1768,6 +1769,26 @@ void tst_QDeclarativeListView::sizeLessThan1() delete canvas; } +void tst_QDeclarativeListView::QTBUG_14821() +{ + QDeclarativeView *canvas = createView(); + + canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/qtbug14821.qml")); + qApp->processEvents(); + + QDeclarativeListView *listview = qobject_cast(canvas->rootObject()); + QVERIFY(listview != 0); + + QDeclarativeItem *contentItem = listview->contentItem(); + QVERIFY(contentItem != 0); + + listview->decrementCurrentIndex(); + QCOMPARE(listview->currentIndex(), 99); + + listview->incrementCurrentIndex(); + QCOMPARE(listview->currentIndex(), 0); +} + void tst_QDeclarativeListView::qListModelInterface_items() { items(); -- cgit v0.12 From e3da9407ad85a65abce72f8a32230ec4f2f95369 Mon Sep 17 00:00:00 2001 From: Bea Lam Date: Wed, 24 Nov 2010 13:50:27 +1000 Subject: Allow javascript date and regexp objects in WorkerScript messages Task-number: QTBUG-14666 Reviewed-by: Aaron Kennedy --- src/declarative/qml/qdeclarativeworkerscript.cpp | 13 +++++++++++++ .../tst_qdeclarativeworkerscript.cpp | 5 +++++ 2 files changed, 18 insertions(+) diff --git a/src/declarative/qml/qdeclarativeworkerscript.cpp b/src/declarative/qml/qdeclarativeworkerscript.cpp index be7ea0e..4b78020 100644 --- a/src/declarative/qml/qdeclarativeworkerscript.cpp +++ b/src/declarative/qml/qdeclarativeworkerscript.cpp @@ -52,6 +52,7 @@ #include #include #include +#include #include #include #include "qdeclarativenetworkaccessmanagerfactory.h" @@ -314,6 +315,12 @@ QVariant QDeclarativeWorkerScriptEnginePrivate::scriptValueToVariant(const QScri return QVariant(value.toString()); } else if (value.isNumber()) { return QVariant((qreal)value.toNumber()); + } else if (value.isDate()) { + return QVariant(value.toDateTime()); +#ifndef QT_NO_REGEXP + } else if (value.isRegExp()) { + return QVariant(value.toRegExp()); +#endif } else if (value.isArray()) { QVariantList list; @@ -364,6 +371,12 @@ QScriptValue QDeclarativeWorkerScriptEnginePrivate::variantToScriptValue(const Q return QScriptValue(value.toString()); } else if (value.userType() == QMetaType::QReal) { return QScriptValue(value.toReal()); + } else if (value.userType() == QVariant::DateTime) { + return engine->newDate(value.toDateTime()); +#ifndef QT_NO_REGEXP + } else if (value.userType() == QVariant::RegExp) { + return engine->newRegExp(value.toRegExp()); +#endif } else if (value.userType() == qMetaTypeId()) { QDeclarativeListModelWorkerAgent::VariantRef vr = qvariant_cast(value); if (vr.a->scriptEngine() == 0) diff --git a/tests/auto/declarative/qdeclarativeworkerscript/tst_qdeclarativeworkerscript.cpp b/tests/auto/declarative/qdeclarativeworkerscript/tst_qdeclarativeworkerscript.cpp index 3140265..5a6cf3c 100644 --- a/tests/auto/declarative/qdeclarativeworkerscript/tst_qdeclarativeworkerscript.cpp +++ b/tests/auto/declarative/qdeclarativeworkerscript/tst_qdeclarativeworkerscript.cpp @@ -137,6 +137,11 @@ void tst_QDeclarativeWorkerScript::messaging_data() QTest::newRow("real") << qVariantFromValue(10334.375); QTest::newRow("string") << qVariantFromValue(QString("More cheeeese, Gromit!")); QTest::newRow("variant list") << qVariantFromValue((QVariantList() << "a" << "b" << "c")); + QTest::newRow("date time") << qVariantFromValue(QDateTime::currentDateTime()); +#ifndef QT_NO_REGEXP + // QtScript's QScriptValue -> QRegExp uses RegExp2 pattern syntax + QTest::newRow("regexp") << qVariantFromValue(QRegExp("^\\d\\d?$", Qt::CaseInsensitive, QRegExp::RegExp2)); +#endif } void tst_QDeclarativeWorkerScript::messaging_sendQObjectList() -- cgit v0.12 From 810e21d9e404aa2fcb602cb68bfd892387b234e7 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Wed, 24 Nov 2010 14:28:18 +1000 Subject: Flickable and MouseArea were too eager to take/keep mouse grab. This meant that they would sometimes act upon a drag immediately, rather than waiting for a nested area to take the grab. This resulted in a short jump before future events were handled by the nested item. Task-number: QTBUG-15568 Reviewed-by: Bea Lam --- .../graphicsitems/qdeclarativeflickable.cpp | 16 +- .../graphicsitems/qdeclarativemousearea.cpp | 37 +- .../tst_qdeclarativemousearea.cpp | 7 + .../qdeclarativemousearea/data/nested.0.png | Bin 0 -> 1360 bytes .../qdeclarativemousearea/data/nested.1.png | Bin 0 -> 1367 bytes .../qdeclarativemousearea/data/nested.2.png | Bin 0 -> 1367 bytes .../qdeclarativemousearea/data/nested.3.png | Bin 0 -> 1372 bytes .../qdeclarativemousearea/data/nested.4.png | Bin 0 -> 1382 bytes .../qdeclarativemousearea/data/nested.5.png | Bin 0 -> 1379 bytes .../qdeclarativemousearea/data/nested.6.png | Bin 0 -> 1390 bytes .../qdeclarativemousearea/data/nested.7.png | Bin 0 -> 1379 bytes .../qdeclarativemousearea/data/nested.8.png | Bin 0 -> 1380 bytes .../qdeclarativemousearea/data/nested.9.png | Bin 0 -> 1379 bytes .../qdeclarativemousearea/data/nested.qml | 5039 ++++++++++++++++++++ .../qmlvisual/qdeclarativemousearea/nested.qml | 62 + 15 files changed, 5142 insertions(+), 19 deletions(-) create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.1.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.2.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.3.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.4.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.5.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.6.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.7.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.8.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.9.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemousearea/nested.qml diff --git a/src/declarative/graphicsitems/qdeclarativeflickable.cpp b/src/declarative/graphicsitems/qdeclarativeflickable.cpp index 1870647..377f3b5 100644 --- a/src/declarative/graphicsitems/qdeclarativeflickable.cpp +++ b/src/declarative/graphicsitems/qdeclarativeflickable.cpp @@ -281,7 +281,6 @@ void QDeclarativeFlickablePrivate::fixupY() void QDeclarativeFlickablePrivate::fixup(AxisData &data, qreal minExtent, qreal maxExtent) { - Q_Q(QDeclarativeFlickable); if (data.move.value() > minExtent || maxExtent > minExtent) { timeline.reset(data.move); if (data.move.value() != minExtent) { @@ -290,8 +289,7 @@ void QDeclarativeFlickablePrivate::fixup(AxisData &data, qreal minExtent, qreal timeline.move(data.move, minExtent - dist/2, QEasingCurve(QEasingCurve::InQuad), fixupDuration/4); timeline.move(data.move, minExtent, QEasingCurve(QEasingCurve::OutExpo), 3*fixupDuration/4); } else { - data.move.setValue(minExtent); - q->viewportMoved(); + timeline.set(data.move, minExtent); } } } else if (data.move.value() < maxExtent) { @@ -301,8 +299,7 @@ void QDeclarativeFlickablePrivate::fixup(AxisData &data, qreal minExtent, qreal timeline.move(data.move, maxExtent - dist/2, QEasingCurve(QEasingCurve::InQuad), fixupDuration/4); timeline.move(data.move, maxExtent, QEasingCurve(QEasingCurve::OutExpo), 3*fixupDuration/4); } else { - data.move.setValue(maxExtent); - q->viewportMoved(); + timeline.set(data.move, minExtent); } } vTime = timeline.time(); @@ -703,6 +700,9 @@ void QDeclarativeFlickablePrivate::handleMouseMoveEvent(QGraphicsSceneMouseEvent bool rejectY = false; bool rejectX = false; + bool stealY = false; + bool stealX = false; + if (q->yflick()) { int dy = int(event->pos().y() - pressPos.y()); if (qAbs(dy) > QApplication::startDragDistance() || QDeclarativeItemPrivate::elapsed(pressTime) > 200) { @@ -731,7 +731,7 @@ void QDeclarativeFlickablePrivate::handleMouseMoveEvent(QGraphicsSceneMouseEvent vMoved = true; } if (qAbs(dy) > QApplication::startDragDistance()) - stealMouse = true; + stealY = true; } } @@ -764,10 +764,12 @@ void QDeclarativeFlickablePrivate::handleMouseMoveEvent(QGraphicsSceneMouseEvent } if (qAbs(dx) > QApplication::startDragDistance()) - stealMouse = true; + stealX = true; } } + stealMouse = stealX || stealY; + if (!lastPos.isNull()) { qreal elapsed = qreal(QDeclarativeItemPrivate::restart(lastPosTime)) / 1000.; if (elapsed <= 0) diff --git a/src/declarative/graphicsitems/qdeclarativemousearea.cpp b/src/declarative/graphicsitems/qdeclarativemousearea.cpp index d9edd11..0a043a7 100644 --- a/src/declarative/graphicsitems/qdeclarativemousearea.cpp +++ b/src/declarative/graphicsitems/qdeclarativemousearea.cpp @@ -500,17 +500,9 @@ void QDeclarativeMouseArea::mouseMoveEvent(QGraphicsSceneMouseEvent *event) const int dragThreshold = QApplication::startDragDistance(); qreal dx = qAbs(curLocalPos.x() - startLocalPos.x()); qreal dy = qAbs(curLocalPos.y() - startLocalPos.y()); - if ((d->dragX && !(dx < dragThreshold)) || (d->dragY && !(dy < dragThreshold))) { + + if (keepMouseGrab() && d->stealMouse) d->drag->setActive(true); - d->stealMouse = true; - } - if (!keepMouseGrab()) { - if ((!d->dragY && dy < dragThreshold && d->dragX && dx > dragThreshold) - || (!d->dragX && dx < dragThreshold && d->dragY && dy > dragThreshold) - || (d->dragX && d->dragY)) { - setKeepMouseGrab(true); - } - } if (d->dragX && d->drag->active()) { qreal x = (curLocalPos.x() - startLocalPos.x()) + d->startX; @@ -528,6 +520,16 @@ void QDeclarativeMouseArea::mouseMoveEvent(QGraphicsSceneMouseEvent *event) y = drag()->ymax(); drag()->target()->setY(y); } + + if (!keepMouseGrab()) { + if ((!d->dragY && dy < dragThreshold && d->dragX && dx > dragThreshold) + || (!d->dragX && dx < dragThreshold && d->dragY && dy > dragThreshold) + || (d->dragX && d->dragY && (dx > dragThreshold || dy > dragThreshold))) { + setKeepMouseGrab(true); + d->stealMouse = true; + } + } + d->moved = true; } QDeclarativeMouseEvent me(d->lastPos.x(), d->lastPos.y(), d->lastButton, d->lastButtons, d->lastModifiers, false, d->longPress); @@ -618,6 +620,7 @@ bool QDeclarativeMouseArea::sceneEvent(QEvent *event) // if our mouse grab has been removed (probably by Flickable), fix our // state d->pressed = false; + d->stealMouse = false; setKeepMouseGrab(false); emit canceled(); emit pressedChanged(); @@ -672,8 +675,18 @@ bool QDeclarativeMouseArea::sendMouseEvent(QGraphicsSceneMouseEvent *event) return stealThisEvent; } if (mouseEvent.type() == QEvent::GraphicsSceneMouseRelease) { - d->stealMouse = false; - ungrabMouse(); + if (d->pressed) { + d->pressed = false; + d->stealMouse = false; + if (s && s->mouseGrabberItem() == this) + ungrabMouse(); + emit canceled(); + emit pressedChanged(); + if (d->hovered) { + d->hovered = false; + emit hoveredChanged(); + } + } } return false; } diff --git a/tests/auto/declarative/qdeclarativemousearea/tst_qdeclarativemousearea.cpp b/tests/auto/declarative/qdeclarativemousearea/tst_qdeclarativemousearea.cpp index 57a58e9..9d7cc05 100644 --- a/tests/auto/declarative/qdeclarativemousearea/tst_qdeclarativemousearea.cpp +++ b/tests/auto/declarative/qdeclarativemousearea/tst_qdeclarativemousearea.cpp @@ -216,7 +216,14 @@ void tst_QDeclarativeMouseArea::dragging() QCOMPARE(blackRect->x(), 50.0); QCOMPARE(blackRect->y(), 50.0); + // First move event triggers drag, second is acted upon. + // This is due to possibility of higher stacked area taking precedence. QGraphicsSceneMouseEvent moveEvent(QEvent::GraphicsSceneMouseMove); + moveEvent.setScenePos(QPointF(106, 106)); + moveEvent.setButton(Qt::LeftButton); + moveEvent.setButtons(Qt::LeftButton); + QApplication::sendEvent(scene, &moveEvent); + moveEvent.setScenePos(QPointF(110, 110)); moveEvent.setButton(Qt::LeftButton); moveEvent.setButtons(Qt::LeftButton); diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.0.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.0.png new file mode 100644 index 0000000..793fb0f Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.1.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.1.png new file mode 100644 index 0000000..5935b45 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.1.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.2.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.2.png new file mode 100644 index 0000000..a205266 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.2.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.3.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.3.png new file mode 100644 index 0000000..3d81ff2 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.3.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.4.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.4.png new file mode 100644 index 0000000..ee2076e Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.4.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.5.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.5.png new file mode 100644 index 0000000..9017124 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.5.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.6.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.6.png new file mode 100644 index 0000000..216dd7e Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.6.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.7.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.7.png new file mode 100644 index 0000000..27e8480 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.7.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.8.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.8.png new file mode 100644 index 0000000..6b911c5 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.8.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.9.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.9.png new file mode 100644 index 0000000..01858a5 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.9.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.qml b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.qml new file mode 100644 index 0000000..cec1558 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.qml @@ -0,0 +1,5039 @@ +import Qt.VisualTest 4.7 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + image: "nested.0.png" + } + Frame { + msec: 32 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 48 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 64 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 80 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 96 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 112 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 128 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 144 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 160 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 176 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 192 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 208 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 224 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 240 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 256 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 272 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 288 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 304 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 320 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 336 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 352 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 368 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 384 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 400 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 416 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 432 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 448 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 464 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 480 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 496 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 512 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 528 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 544 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 560 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 576 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 592 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 608 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 624 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 640 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 656 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 672 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 688 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 704 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 720 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 736 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 752 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 768 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 784 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 800 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 816 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 832 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 848 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Frame { + msec: 864 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 25; y: 62 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 880 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 26; y: 62 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 896 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 27; y: 62 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 912 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 28; y: 62 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 29; y: 62 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 928 + hash: "2400cadaaa467cbfb0c7d2ace8137179" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 30; y: 62 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 33; y: 63 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 944 + hash: "f5aa6257fd80c1e383bc2db84e41c354" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 35; y: 63 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 40; y: 63 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 960 + hash: "e96076794d3efc62a8fe2d2e543e97c7" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 42; y: 63 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 48; y: 63 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 976 + image: "nested.1.png" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 51; y: 63 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 58; y: 63 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 992 + hash: "ab955f6c6b210b66b27e244dc2150860" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 66; y: 64 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 70; y: 64 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1008 + hash: "b655247e73b0b8357dc9d355ba6f49a0" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 79; y: 64 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 83; y: 64 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1024 + hash: "08b67b7e28990cac8c9bd354b7d87698" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 91; y: 64 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 95; y: 64 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1040 + hash: "69cecfb41899e13c0bc5acb6f9bc666d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 104; y: 64 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 107; y: 64 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1056 + hash: "8d1f0cd85fd3f2654f7c30a6d9ec2b99" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 115; y: 64 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 122; y: 64 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1072 + hash: "f8ddda87cfcf5dc9d8c6e940fbd295f3" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 126; y: 64 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 133; y: 64 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1088 + hash: "ab9d942c47a2cca5531f7b67df034161" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 136; y: 64 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 143; y: 64 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1104 + hash: "7ca5a03fdfac44c389315c3928631a2a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 146; y: 64 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 151; y: 64 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1120 + hash: "ade955ed9d85fbbe72cf18bbc541c8bf" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 153; y: 64 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 158; y: 64 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1136 + hash: "6ad4afa3e3fcb578946fccbf4896761c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 162; y: 64 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 163; y: 64 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1152 + hash: "3ebe78e37c1c66d0b8fc86c8191e39de" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 165; y: 64 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 166; y: 64 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1168 + hash: "6450917cc89a553cf509265eaf318efb" + } + Frame { + msec: 1184 + hash: "6450917cc89a553cf509265eaf318efb" + } + Frame { + msec: 1200 + hash: "6450917cc89a553cf509265eaf318efb" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 166; y: 63 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1216 + hash: "6450917cc89a553cf509265eaf318efb" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 164; y: 63 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 161; y: 63 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1232 + hash: "adfe54d5d28f7caf9ace117fd3573444" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 159; y: 63 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 156; y: 63 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1248 + hash: "f4963636cc4fbd8bfe6baf10540ed7e7" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 154; y: 63 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 149; y: 63 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1264 + hash: "1c2d2edb9214cc3857aa221330ee28ba" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 143; y: 63 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 139; y: 63 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1280 + hash: "750226c90e6c6cd0b3bdd3c3dc8da18f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 131; y: 63 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 126; y: 63 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1296 + hash: "b6b5d177ab531460dc125afa82489a1d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 115; y: 63 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 111; y: 63 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1312 + hash: "62d411a7b6c404393e4bfafab9c638a3" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 100; y: 63 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 91; y: 63 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1328 + hash: "e355997b3decd4deb686fece59c33c7c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 86; y: 63 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 76; y: 63 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1344 + hash: "2ab73c8aac6a0e321686e97c9bb28f28" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 71; y: 63 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 61; y: 63 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1360 + hash: "55a887f9f45f71beb6b723191eb60a2f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 56; y: 63 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 50; y: 63 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1376 + hash: "b2d49e34362994739d14fb8231ff82d6" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 47; y: 63 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 43; y: 64 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1392 + hash: "3964796876870035794b41501991b527" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 41; y: 64 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 40; y: 64 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1408 + hash: "e96076794d3efc62a8fe2d2e543e97c7" + } + Frame { + msec: 1424 + hash: "e96076794d3efc62a8fe2d2e543e97c7" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 41; y: 64 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1440 + hash: "7e524b3c43a987503ef102bdb9f11701" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 42; y: 64 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1456 + hash: "2a7c13e97c21e298541bb5ab8169ff13" + } + Frame { + msec: 1472 + hash: "2a7c13e97c21e298541bb5ab8169ff13" + } + Frame { + msec: 1488 + hash: "2a7c13e97c21e298541bb5ab8169ff13" + } + Frame { + msec: 1504 + hash: "2a7c13e97c21e298541bb5ab8169ff13" + } + Frame { + msec: 1520 + hash: "2a7c13e97c21e298541bb5ab8169ff13" + } + Frame { + msec: 1536 + hash: "2a7c13e97c21e298541bb5ab8169ff13" + } + Frame { + msec: 1552 + hash: "2a7c13e97c21e298541bb5ab8169ff13" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 42; y: 64 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1568 + hash: "2a7c13e97c21e298541bb5ab8169ff13" + } + Frame { + msec: 1584 + hash: "2a7c13e97c21e298541bb5ab8169ff13" + } + Frame { + msec: 1600 + hash: "2a7c13e97c21e298541bb5ab8169ff13" + } + Frame { + msec: 1616 + hash: "2a7c13e97c21e298541bb5ab8169ff13" + } + Frame { + msec: 1632 + hash: "2a7c13e97c21e298541bb5ab8169ff13" + } + Frame { + msec: 1648 + hash: "2a7c13e97c21e298541bb5ab8169ff13" + } + Frame { + msec: 1664 + hash: "2a7c13e97c21e298541bb5ab8169ff13" + } + Frame { + msec: 1680 + hash: "2a7c13e97c21e298541bb5ab8169ff13" + } + Frame { + msec: 1696 + hash: "2a7c13e97c21e298541bb5ab8169ff13" + } + Frame { + msec: 1712 + hash: "2a7c13e97c21e298541bb5ab8169ff13" + } + Frame { + msec: 1728 + hash: "2a7c13e97c21e298541bb5ab8169ff13" + } + Frame { + msec: 1744 + hash: "2a7c13e97c21e298541bb5ab8169ff13" + } + Frame { + msec: 1760 + hash: "2a7c13e97c21e298541bb5ab8169ff13" + } + Frame { + msec: 1776 + hash: "2a7c13e97c21e298541bb5ab8169ff13" + } + Frame { + msec: 1792 + hash: "2a7c13e97c21e298541bb5ab8169ff13" + } + Frame { + msec: 1808 + hash: "2a7c13e97c21e298541bb5ab8169ff13" + } + Frame { + msec: 1824 + hash: "2a7c13e97c21e298541bb5ab8169ff13" + } + Frame { + msec: 1840 + hash: "2a7c13e97c21e298541bb5ab8169ff13" + } + Frame { + msec: 1856 + hash: "2a7c13e97c21e298541bb5ab8169ff13" + } + Frame { + msec: 1872 + hash: "2a7c13e97c21e298541bb5ab8169ff13" + } + Frame { + msec: 1888 + hash: "2a7c13e97c21e298541bb5ab8169ff13" + } + Frame { + msec: 1904 + hash: "2a7c13e97c21e298541bb5ab8169ff13" + } + Frame { + msec: 1920 + hash: "2a7c13e97c21e298541bb5ab8169ff13" + } + Frame { + msec: 1936 + image: "nested.2.png" + } + Frame { + msec: 1952 + hash: "2a7c13e97c21e298541bb5ab8169ff13" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 38; y: 56 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1968 + hash: "2a7c13e97c21e298541bb5ab8169ff13" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 39; y: 57 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1984 + hash: "2a7c13e97c21e298541bb5ab8169ff13" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 39; y: 59 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 39; y: 60 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2000 + hash: "2a7c13e97c21e298541bb5ab8169ff13" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 40; y: 63 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 40; y: 65 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2016 + hash: "9178754b825d60b2174ed9431ea80586" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 41; y: 68 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 41; y: 70 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 45; y: 79 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2032 + hash: "89eff8fa9f8710d7cbc50b8d4b751148" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 47; y: 84 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 48; y: 86 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2048 + hash: "cdae8b46ecfc2b0c90264c120156cc46" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 50; y: 91 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 51; y: 93 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2064 + hash: "cf35919630eab647a28eb91d8a441704" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 53; y: 99 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 53; y: 102 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2080 + hash: "283256d50da8c855c50d5f8813d37afd" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 54; y: 107 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 54; y: 109 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2096 + hash: "2560cd67d507bc24c1000187f645531c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 54; y: 113 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 54; y: 117 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2112 + hash: "6f6f7c299c4516c5231f5bfcd39b6db3" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 54; y: 119 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 54; y: 122 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2128 + hash: "e7989524238996cf59f420f4edf8f982" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 54; y: 124 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 54; y: 126 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2144 + hash: "34d8d456848807e854bcb25ffbde37d4" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 54; y: 127 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 54; y: 130 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2160 + hash: "433bd3983804b07484d38af2723f519e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 53; y: 132 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 53; y: 134 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2176 + hash: "510e534a8a7b88041f7544e7e4992b8f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 53; y: 137 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 52; y: 139 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2192 + hash: "25f43c457a5bf2b70a66ce91685ad4dc" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 51; y: 141 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 51; y: 142 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2208 + hash: "4119ab90627359420e25220618b76a69" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 51; y: 145 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 50; y: 146 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2224 + hash: "8a3cc888e96cf3e26e369723b442baf1" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 49; y: 147 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 49; y: 150 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2240 + hash: "980552e8ff9d87ccb40127b06b0f846f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 48; y: 151 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 48; y: 153 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2256 + hash: "9ee23fc7cbca4467f984073d2af7cdf6" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 48; y: 154 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 48; y: 155 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2272 + hash: "032d65792ac867c9b9acef05bd993c54" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 48; y: 156 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2288 + hash: "be2f8d5a64034e75e23527c486e33029" + } + Frame { + msec: 2304 + hash: "be2f8d5a64034e75e23527c486e33029" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 49; y: 155 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2320 + hash: "3f65505e4d1f8534c9123b3dea15d43e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 49; y: 154 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 49; y: 152 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2336 + hash: "e8b1799cf1926cb3b6cbf3adee80cffe" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 49; y: 149 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 49; y: 147 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2352 + hash: "31155b14cc0d3d47bbef4e199fdfcb46" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 51; y: 140 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 52; y: 132 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2368 + hash: "b89745a9a60a7ebeb1de0a7f96ad2ac3" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 53; y: 128 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 57; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2384 + hash: "7e99fa1eba369d45f10778fe02356f09" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 59; y: 114 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 64; y: 103 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2400 + hash: "cd123f6b332f38f43abbf01469a41301" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 67; y: 98 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 71; y: 90 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2416 + hash: "353c0602dd2b670e19988117172855fc" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 76; y: 81 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 78; y: 78 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2432 + hash: "20df9d19fd2113fa8f8023d5b4328dc5" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 81; y: 70 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 82; y: 67 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2448 + hash: "10b34a758d5b3790dd36c9d95c47b157" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 84; y: 62 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 85; y: 60 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2464 + hash: "98a483e1eaa9145fd277fd85a9b0cf03" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 87; y: 57 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 88; y: 55 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2480 + hash: "e92edd52ff1ee78456fa1947a46e6570" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 89; y: 53 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 91; y: 52 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2496 + hash: "877384496d967f5f0ab1c817a2b316d6" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 92; y: 51 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 93; y: 51 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2512 + hash: "15673570ffe9a391f9214601ac9dc86c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 94; y: 50 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 95; y: 50 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2528 + hash: "4b7f0094b19a4495bf913d2994889497" + } + Frame { + msec: 2544 + hash: "4b7f0094b19a4495bf913d2994889497" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 95; y: 49 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2560 + hash: "4b7f0094b19a4495bf913d2994889497" + } + Frame { + msec: 2576 + hash: "4b7f0094b19a4495bf913d2994889497" + } + Frame { + msec: 2592 + hash: "4b7f0094b19a4495bf913d2994889497" + } + Frame { + msec: 2608 + hash: "4b7f0094b19a4495bf913d2994889497" + } + Frame { + msec: 2624 + hash: "4b7f0094b19a4495bf913d2994889497" + } + Frame { + msec: 2640 + hash: "4b7f0094b19a4495bf913d2994889497" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 95; y: 49 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2656 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 2672 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 2688 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 2704 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 2720 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 2736 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 2752 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 2768 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 2784 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 2800 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 2816 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 2832 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 2848 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 2864 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 2880 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 2896 + image: "nested.3.png" + } + Frame { + msec: 2912 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 2928 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 2944 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 2960 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 2976 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 2992 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 3008 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 3024 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 3040 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 3056 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 3072 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 3088 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 3104 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 3120 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 3136 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 3152 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 3168 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 3184 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 3200 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 3216 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 3232 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 156; y: 74 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3248 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Frame { + msec: 3264 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 156; y: 73 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 157; y: 73 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3280 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 158; y: 73 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 160; y: 73 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3296 + hash: "2994e98b8ea9a6883a7324e7e848345c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 161; y: 73 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 163; y: 73 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3312 + hash: "df6cf21e99177a436e356f818996070c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 166; y: 73 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 171; y: 74 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3328 + hash: "86f5e3fee147f47edd4a6d042aff0301" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 178; y: 75 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 181; y: 75 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3344 + hash: "589c1418a9179c868d904b1a5169a11b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 189; y: 75 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 193; y: 75 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3360 + hash: "3141ad77d193e145b749759070e1e6ef" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 200; y: 75 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 204; y: 75 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3376 + hash: "5e34d4deeb6d80b336cacea39797e0ca" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 211; y: 75 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 217; y: 75 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3392 + hash: "b8795d844982bcf60a6713f91717648f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 220; y: 75 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 224; y: 75 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3408 + hash: "857c63b24057ee0186c5136eddb71cb1" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 226; y: 75 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 227; y: 76 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3424 + hash: "49222ed0d1ebc8759d0a1dc65c3beec6" + } + Frame { + msec: 3440 + hash: "49222ed0d1ebc8759d0a1dc65c3beec6" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 227; y: 77 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 226; y: 77 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3456 + hash: "751847708a468f4f3e64e7cb5ebd1351" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 225; y: 78 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 224; y: 78 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3472 + hash: "4016f80a5219fcba6480645f71998d71" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 221; y: 80 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 220; y: 80 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3488 + hash: "beef05cd2a3d20bc66978fa4f0ac1d12" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 216; y: 82 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 214; y: 84 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3504 + hash: "e50a2661e93d34b55c8d2d39abc77e5a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 209; y: 86 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 206; y: 86 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3520 + hash: "7beccbc2f091350bb5d9de1e2443021d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 200; y: 88 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 192; y: 89 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3536 + hash: "1d39570bf07392f56b6dd24b0bf9e7bc" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 188; y: 90 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 180; y: 91 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3552 + hash: "62565b3e5aad3979b408207bbf36e615" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 176; y: 92 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 167; y: 92 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3568 + hash: "d9c6004921847fef16bb8c2f5d6b3b7d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 162; y: 92 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 152; y: 92 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3584 + hash: "53da27301ad97ae52c65928615ec0cd7" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 142; y: 92 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 137; y: 90 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3600 + hash: "9772a776e84515984b4eec70dbd1c5a7" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 125; y: 88 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 119; y: 88 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3616 + hash: "9caa6583a716443c13e8fef3f2923d6e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 109; y: 86 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 104; y: 85 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3632 + hash: "f162a18b2d3f0d5f6f01fc373c016f68" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 98; y: 84 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 96; y: 84 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3648 + hash: "58976e8e31beddf881c7cfa3ede54c09" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 94; y: 84 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 92; y: 83 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3664 + hash: "6625f7adb097bc170024083c42d74b4b" + } + Frame { + msec: 3680 + hash: "6625f7adb097bc170024083c42d74b4b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 92; y: 82 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3696 + hash: "1d63f09ca27e9d70c3c0ea923a6cfba4" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 93; y: 82 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3712 + hash: "1d63f09ca27e9d70c3c0ea923a6cfba4" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 94; y: 81 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 96; y: 81 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3728 + hash: "a23c75fcaa0a28adb944bf192af65bff" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 98; y: 81 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 100; y: 81 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3744 + hash: "2b90fe8937dcc39d1d6add305cf36043" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 107; y: 81 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 111; y: 81 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3760 + hash: "7da82cfaf0f826ca9a41128278b6b09c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 118; y: 81 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 122; y: 81 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3776 + hash: "a3f69d13d38b336fda33a86899564996" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 129; y: 80 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 135; y: 79 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3792 + hash: "dc562319e1d332ba34ac94bfc0c39c5e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 138; y: 79 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 140; y: 78 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3808 + hash: "756482bee292668f56d813847b0ccd53" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 141; y: 77 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 142; y: 76 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3824 + hash: "06d250c4d18a70f8f7b1c10e22a1bc4c" + } + Frame { + msec: 3840 + hash: "06d250c4d18a70f8f7b1c10e22a1bc4c" + } + Frame { + msec: 3856 + image: "nested.4.png" + } + Frame { + msec: 3872 + hash: "06d250c4d18a70f8f7b1c10e22a1bc4c" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 142; y: 76 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3888 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 3904 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 3920 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 3936 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 3952 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 3968 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 3984 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4000 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4016 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4032 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4048 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4064 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4080 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4096 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4112 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4128 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4144 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4160 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4176 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4192 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4208 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4224 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4240 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4256 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4272 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4288 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4304 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4320 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4336 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4352 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4368 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4384 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4400 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4416 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4432 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4448 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4464 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4480 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4496 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4512 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4528 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4544 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 16; y: 46 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4560 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 4576 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 16; y: 47 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 16; y: 48 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4592 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 16; y: 49 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 17; y: 50 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4608 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 17; y: 55 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 18; y: 56 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4624 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 20; y: 61 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 20; y: 64 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4640 + hash: "ff1f86b47e0d1db5db7d939df8349931" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 22; y: 70 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 23; y: 73 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4656 + hash: "f13393a4556e9e73c33f2bb74d8f7794" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 26; y: 80 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 28; y: 84 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4672 + hash: "8c9aa01516437184eb17d89348cca004" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 33; y: 91 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 40; y: 99 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4688 + hash: "8b6848cb722ff5ec02d957da1ee687e5" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 44; y: 102 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 53; y: 109 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4704 + hash: "552fde584d128f511788670031d79dd2" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 58; y: 112 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 64; y: 117 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4720 + hash: "55dc3a4242b46e602f823c0305e67ad2" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 68; y: 118 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 71; y: 120 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4736 + hash: "603b9b2ed6ff4273c3ab1cbe32afb19e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 73; y: 120 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 73; y: 120 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4752 + hash: "157eda24ea8452a208aa7a6a22639c73" + } + Frame { + msec: 4768 + hash: "157eda24ea8452a208aa7a6a22639c73" + } + Frame { + msec: 4784 + hash: "c5005b83816c18b67448dfbccd0ab0b2" + } + Frame { + msec: 4800 + hash: "878512df863e5d60437b85fbd2a32eb1" + } + Frame { + msec: 4816 + image: "nested.5.png" + } + Frame { + msec: 4832 + hash: "02ab69b67b746ec0021295992a03ada1" + } + Frame { + msec: 4848 + hash: "c621382766d7bacab87055a73623a8ce" + } + Frame { + msec: 4864 + hash: "a8d1be78741d9afd88363bd19f1cbc6b" + } + Frame { + msec: 4880 + hash: "5a70275ff656766d73638d4dd4db4492" + } + Frame { + msec: 4896 + hash: "892ea0a00553524b79889d437eac9b6f" + } + Frame { + msec: 4912 + hash: "d818258bffc065430902ffa8f5668f86" + } + Frame { + msec: 4928 + hash: "6b844523522ace7545705ffb8ffe1da3" + } + Frame { + msec: 4944 + hash: "3906097bc49bad199b52c99dbf87f98f" + } + Frame { + msec: 4960 + hash: "a2bd859b5ca7f4fac8d62b1c9ab76aad" + } + Frame { + msec: 4976 + hash: "f374673e3511b1df8b50ff7ef6002b3a" + } + Frame { + msec: 4992 + hash: "c2eecfadd19418f469b1ab53a3ecae70" + } + Frame { + msec: 5008 + hash: "2b481965ece0f2e1795ef56aa5d6a752" + } + Frame { + msec: 5024 + hash: "c294f28000348365a2c37265132efdb5" + } + Frame { + msec: 5040 + hash: "c294f28000348365a2c37265132efdb5" + } + Frame { + msec: 5056 + hash: "4e9c18eab469b2da0cb92526d3d54501" + } + Frame { + msec: 5072 + hash: "4e9c18eab469b2da0cb92526d3d54501" + } + Frame { + msec: 5088 + hash: "4e9c18eab469b2da0cb92526d3d54501" + } + Frame { + msec: 5104 + hash: "4e9c18eab469b2da0cb92526d3d54501" + } + Frame { + msec: 5120 + hash: "3836449b99d88e2dea9a0eb9417faca5" + } + Frame { + msec: 5136 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 5152 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 5168 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 5184 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 5200 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 5216 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 5232 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 5248 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 5264 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 5280 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 5296 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 5312 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 5328 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 5344 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 5360 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 5376 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 5392 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 5408 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 5424 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 5440 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 5456 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 5472 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 5488 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 5504 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 5520 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 5536 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 5552 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 5568 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 5584 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 5600 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 5616 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Frame { + msec: 5632 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 20; y: 238 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 21; y: 238 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5648 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 22; y: 239 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 23; y: 239 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5664 + hash: "42dc501eb5a34843ef0a8977ff029054" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 27; y: 240 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 29; y: 240 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5680 + hash: "b56d132ac881e27d308009fb9a9d2d50" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 33; y: 241 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 36; y: 241 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5696 + hash: "6c65fca03ea127d554f15c80da76f21f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 42; y: 242 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 45; y: 243 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5712 + hash: "e5d8939135d0e964609a09a437af58bc" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 53; y: 243 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 61; y: 243 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5728 + hash: "ab60a45ac475ef8d1177d831a6572d1f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 66; y: 243 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 75; y: 243 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5744 + hash: "78b2e0c7dd8b8bcbd573dac79ff815e4" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 79; y: 243 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 89; y: 243 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5760 + hash: "ef9e89650d8e3d572285e2a2e2b09166" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 95; y: 243 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 106; y: 243 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5776 + image: "nested.6.png" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 118; y: 243 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 126; y: 243 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5792 + hash: "b83136fa3769e30ea47097b489e8f1dc" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 137; y: 241 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 143; y: 240 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5808 + hash: "fb892905b790a061ce5985c927db3cf5" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 154; y: 238 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 159; y: 237 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5824 + hash: "bc4358e21d2d31942e776adfd32ef1c6" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 170; y: 235 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 184; y: 234 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5840 + hash: "b42380a7fcf5e2fbfe4dddbe86ad7287" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 191; y: 232 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 201; y: 231 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5856 + hash: "4b3c12beb43a77ebaf458804b03c7b52" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 205; y: 231 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 208; y: 230 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5872 + hash: "a18be4d4ab28c0fd0c16696c4ecc03ef" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 209; y: 230 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 209; y: 229 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5888 + hash: "c5f100bc4b14e958c7d9bbff84e0a934" + } + Frame { + msec: 5904 + hash: "c5f100bc4b14e958c7d9bbff84e0a934" + } + Frame { + msec: 5920 + hash: "c5f100bc4b14e958c7d9bbff84e0a934" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 208; y: 229 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5936 + hash: "a18be4d4ab28c0fd0c16696c4ecc03ef" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 207; y: 229 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 207; y: 230 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5952 + hash: "a8b23e7dad1bdbaa3452335be0f07658" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 206; y: 230 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 204; y: 231 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5968 + hash: "4c1feb559a11912b06ed521bebba43d0" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 200; y: 232 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 194; y: 232 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5984 + hash: "ffb97bcedf72e02616272c1cad5c38d7" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 190; y: 232 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 181; y: 231 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6000 + hash: "99498ed9b4d519a2f842d407abdef90a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 175; y: 230 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 163; y: 229 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6016 + hash: "1ca3f012adab899eba1dcb63d048345f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 158; y: 228 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 145; y: 227 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6032 + hash: "8a81d49de887f314f67976a65f469169" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 132; y: 227 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 126; y: 227 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6048 + hash: "b83136fa3769e30ea47097b489e8f1dc" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 116; y: 227 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 112; y: 227 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6064 + hash: "12cdd297407257ae4bb13c87e24537fb" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 103; y: 227 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 99; y: 227 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6080 + hash: "a51ac0a1e9432671c88f7649c38d265d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 90; y: 227 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 86; y: 227 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6096 + hash: "4ba4f854659161c765395cdee35594f2" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 77; y: 226 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 70; y: 225 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6112 + hash: "9907add9e28b4a8976f3727f99a4b6d4" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 66; y: 224 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 60; y: 223 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6128 + hash: "c2cb865c4a766b9c08328b374e940f29" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 59; y: 223 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 56; y: 223 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6144 + hash: "c97981263572ded23b328da45cf88012" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 55; y: 223 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 53; y: 223 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6160 + hash: "f4bae51c866ba1158f44529208514d6f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 52; y: 222 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 50; y: 222 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6176 + hash: "35b4f1f9bb343f2b22bd7cdad6f28249" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 49; y: 223 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 48; y: 223 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6192 + hash: "84eba4cb400e5622463f5a1fa79be72b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 47; y: 223 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 46; y: 223 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6208 + hash: "d38e882728c7efc906befe69b416082a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 45; y: 223 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6224 + hash: "e5d8939135d0e964609a09a437af58bc" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 44; y: 223 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 43; y: 223 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6240 + hash: "6b6e06e8473d5703e217accd824b08d5" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 42; y: 223 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 40; y: 223 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6256 + hash: "8e38bc5b00e33e24f931b181dc77d3c1" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 39; y: 223 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 38; y: 223 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6272 + hash: "a173708b5380f42a2bdbf6ae69cdca20" + } + Frame { + msec: 6288 + hash: "a173708b5380f42a2bdbf6ae69cdca20" + } + Frame { + msec: 6304 + hash: "a173708b5380f42a2bdbf6ae69cdca20" + } + Frame { + msec: 6320 + hash: "a173708b5380f42a2bdbf6ae69cdca20" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 38; y: 223 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6336 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6352 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6368 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6384 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6400 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6416 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6432 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6448 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6464 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6480 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6496 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6512 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6528 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6544 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6560 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6576 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6592 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6608 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6624 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6640 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6656 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6672 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6688 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6704 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6720 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6736 + image: "nested.7.png" + } + Frame { + msec: 6752 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6768 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6784 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6800 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6816 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6832 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6848 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6864 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6880 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6896 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6912 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6928 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6944 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6960 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6976 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 6992 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 7008 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 7024 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 7040 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 7056 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 7072 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 46; y: 225 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7088 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 7104 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 46; y: 226 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 46; y: 227 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7120 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 46; y: 228 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 46; y: 231 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7136 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 46; y: 233 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 46; y: 238 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7152 + hash: "35dd0f784c356be0050936ff75b0cdf7" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 47; y: 240 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 48; y: 245 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7168 + hash: "9ac066a700eae45edf9b2f1ba12f0324" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 48; y: 248 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 49; y: 255 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7184 + hash: "22a2a8bf257918820b0ab55ecb14b479" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 50; y: 259 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 51; y: 266 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7200 + hash: "eb98237e06cde8ed2f18040ce9197d16" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 52; y: 272 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 52; y: 276 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7216 + hash: "f0c7afe1bd25b9b573cbc69154c25862" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 53; y: 282 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 54; y: 285 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7232 + hash: "d6a681b6de867db47f889e6f1ec03dcf" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 54; y: 291 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 54; y: 293 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7248 + hash: "0ee281281c7654567a1debae7a13abe0" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 54; y: 299 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 54; y: 304 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7264 + hash: "9d5f1c8cb0953c14bdd49aa88d2b225f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 54; y: 306 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 54; y: 310 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7280 + hash: "ae1c2a3ed67c5c10fc9d19de4de7b7eb" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 54; y: 312 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 53; y: 315 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7296 + hash: "8505f9d060fc17fef2e91eb2add206bb" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 53; y: 316 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 53; y: 318 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7312 + hash: "c32a6d546a3e4f2ee5349a7dad4b30af" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 53; y: 319 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 52; y: 320 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7328 + hash: "222f6e8e8deab567f1e7d0aaf7035b60" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 51; y: 321 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 51; y: 322 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7344 + hash: "f7011629f44015187849daad6a53cebf" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 51; y: 323 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 51; y: 324 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7360 + hash: "56b00d9116a51c041483dd00db0aca90" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 50; y: 325 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 50; y: 326 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7376 + hash: "93232fbcafe8e279b37781f51dfb923a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 49; y: 328 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 48; y: 329 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7392 + hash: "9fcf62eaacfc3477a4550c31f03c4782" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 48; y: 330 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 48; y: 331 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7408 + hash: "dd669865fd36e42eec1d69860b29e7ce" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 47; y: 331 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7424 + hash: "9247af334483b219ca9bbe98d8fc362e" + } + Frame { + msec: 7440 + hash: "9247af334483b219ca9bbe98d8fc362e" + } + Frame { + msec: 7456 + hash: "9247af334483b219ca9bbe98d8fc362e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 47; y: 330 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7472 + hash: "9247af334483b219ca9bbe98d8fc362e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 47; y: 329 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 47; y: 328 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7488 + hash: "69ef9255a29d65f26e5441594ea1bad9" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 48; y: 325 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 48; y: 323 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7504 + hash: "055f73dd085d2f65a055ba4d9a8a7539" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 49; y: 318 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 49; y: 316 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7520 + hash: "384da5b6a948a52d0519935a8e33f014" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 51; y: 309 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 54; y: 303 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7536 + hash: "1caa0049be4033db45f0d2debb25268f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 55; y: 299 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 55; y: 299 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7552 + hash: "76b8d00b3a2a68fec277050a442c18ca" + } + Frame { + msec: 7568 + hash: "0ee281281c7654567a1debae7a13abe0" + } + Frame { + msec: 7584 + hash: "df1dbb027a8542aa6120cce7b69724a7" + } + Frame { + msec: 7600 + hash: "06a4d9b1d73362b3e29c6cf52fdb515c" + } + Frame { + msec: 7616 + hash: "876c0dc8a68a4c1253b7aed6316cb892" + } + Frame { + msec: 7632 + hash: "b46c74b1a2535099f0cdb8093bd49a4e" + } + Frame { + msec: 7648 + hash: "0ad09a7638aa6f2affe47db2a810196f" + } + Frame { + msec: 7664 + hash: "3710dde54d7e4a10a2c3ca2f891da7f5" + } + Frame { + msec: 7680 + hash: "8426a607c92fbfa508e81c620d90e919" + } + Frame { + msec: 7696 + image: "nested.8.png" + } + Frame { + msec: 7712 + hash: "1f38e34787c909d93d567f983a425257" + } + Frame { + msec: 7728 + hash: "7b09913793d4c79d948fdff1b72c7124" + } + Frame { + msec: 7744 + hash: "8a0d1484c073d8107b4bf9949edcdb18" + } + Frame { + msec: 7760 + hash: "4bad25465dfdcc41995216b0f6a5191b" + } + Frame { + msec: 7776 + hash: "6d39bbeb5f74273c1ed0231ac34fe094" + } + Frame { + msec: 7792 + hash: "8ccc2e33b8d6c67162326d229e9c17ab" + } + Frame { + msec: 7808 + hash: "3561eaa9124b96b2a0afa022bc0fe581" + } + Frame { + msec: 7824 + hash: "b87d739e49f0427d9da577ac5147fd21" + } + Frame { + msec: 7840 + hash: "7d0efbfceec35e591f9fae650288809b" + } + Frame { + msec: 7856 + hash: "7d0efbfceec35e591f9fae650288809b" + } + Frame { + msec: 7872 + hash: "ff5d2037d3cc7bb6930cabc3d53f0196" + } + Frame { + msec: 7888 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 7904 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 7920 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 7936 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 7952 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 7968 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 7984 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8000 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8016 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8032 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8048 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8064 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8080 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8096 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8112 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8128 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8144 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8160 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8176 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8192 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8208 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8224 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8240 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8256 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8272 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8288 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8304 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8320 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8336 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8352 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8368 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8384 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8400 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8416 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8432 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8448 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8464 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8480 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8496 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8512 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8528 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8544 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8560 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8576 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8592 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8608 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8624 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8640 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8656 + image: "nested.9.png" + } + Frame { + msec: 8672 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8688 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8704 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8720 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8736 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8752 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8768 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8784 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8800 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8816 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8832 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8848 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8864 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8880 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8896 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8912 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8928 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8944 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8960 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8976 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 8992 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 9008 + hash: "76624c57195c25b8abd4297e11c55980" + } + Frame { + msec: 9024 + hash: "76624c57195c25b8abd4297e11c55980" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/nested.qml b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/nested.qml new file mode 100644 index 0000000..b2d88d2 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/nested.qml @@ -0,0 +1,62 @@ +import QtQuick 1.0 + +/* + Test nested MouseArea with different drag axes. +*/ + +Rectangle{ + width:400 + height:360 + color: "white" + Flickable { + anchors.fill: parent + contentWidth: 600 + contentHeight: 600 + Rectangle{ + id: draggable + width:200; height:200; color: "lightsteelblue" + opacity: ma1.drag.active ? 0.5 : 1.0 + y:20 + MouseArea{ + id: ma1 + objectName: "one" + anchors.fill: parent + drag.target: draggable + drag.axis: "XandYAxis" + drag.filterChildren: true + drag.minimumX: 0 + drag.maximumX: 200 + drag.minimumY: 20 + drag.maximumY: 220 + Rectangle{ + id: draggable_inner + width:40; height:40; color: "red" + y:20 + MouseArea{ + objectName: "two" + anchors.fill: parent + drag.target: draggable_inner + drag.axis: "XAxis" + drag.minimumX: 0 + drag.maximumX: 360 + } + } + } + } + Rectangle{ + id: draggable3 + width:40; height:40; color: "green" + opacity: ma3.drag.active ? 0.5 : 1.0 + y:210 + MouseArea{ + id: ma3 + objectName: "three" + anchors.fill: parent + drag.target: draggable3 + drag.axis: "XAxis" + drag.minimumX: 0 + drag.maximumX: 360 + } + } + } +} -- cgit v0.12 From 5149da5a564c883209566f3baaeea15932eee1c2 Mon Sep 17 00:00:00 2001 From: Bea Lam Date: Wed, 24 Nov 2010 15:42:35 +1000 Subject: Fix incorrect example for Qt.rgba() --- doc/src/declarative/basictypes.qdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/declarative/basictypes.qdoc b/doc/src/declarative/basictypes.qdoc index 8ab06ab..71192bf 100644 --- a/doc/src/declarative/basictypes.qdoc +++ b/doc/src/declarative/basictypes.qdoc @@ -166,7 +166,7 @@ \l{QML:Qt::lighter()}{Qt.lighter()} or \l{QML:Qt::tint()}{Qt.tint()} functions: \qml - Rectangle { color: Qt.rgba(255, 0, 0, 1) } + Rectangle { color: Qt.rgba(0.5, 0.5, 0, 1) } \endqml \sa {QML Basic Types} -- cgit v0.12