diff options
author | Yann Bodson <yann.bodson@nokia.com> | 2009-11-13 06:43:47 (GMT) |
---|---|---|
committer | Yann Bodson <yann.bodson@nokia.com> | 2009-11-13 06:43:47 (GMT) |
commit | 543c9ab8f423297601def9344b2847f283d87169 (patch) | |
tree | 7ae09176a376ac9cc67985124bc8b2e27a9b32b3 | |
parent | ba6180ee3fa07590f0de419ae7f41e20b4a7504e (diff) | |
parent | 6ee194e7a032ddf3cc175fc7adc44a43de00371d (diff) | |
download | Qt-543c9ab8f423297601def9344b2847f283d87169.zip Qt-543c9ab8f423297601def9344b2847f283d87169.tar.gz Qt-543c9ab8f423297601def9344b2847f283d87169.tar.bz2 |
Merge branch 'kinetic-declarativeui' of scm.dev.nokia.troll.no:qt/kinetic into kinetic-declarativeui
46 files changed, 8238 insertions, 518 deletions
diff --git a/src/declarative/qml/qmlenginedebug.cpp b/src/declarative/qml/qmlenginedebug.cpp index 78b166e..6871236 100644 --- a/src/declarative/qml/qmlenginedebug.cpp +++ b/src/declarative/qml/qmlenginedebug.cpp @@ -358,7 +358,7 @@ void QmlEngineDebugServer::messageReceived(const QByteArray &message) QByteArray reply; QDataStream rs(&reply, QIODevice::WriteOnly); - rs << QByteArray("WATCH_OBJECT_R") << queryId << objectId << ok; + rs << QByteArray("WATCH_OBJECT_R") << queryId << ok; sendMessage(reply); } else if (type == "WATCH_PROPERTY") { diff --git a/tests/auto/declarative/debugger/debugger.pro b/tests/auto/declarative/debugger/debugger.pro index f4a4476..a341ca9 100644 --- a/tests/auto/declarative/debugger/debugger.pro +++ b/tests/auto/declarative/debugger/debugger.pro @@ -1,4 +1,5 @@ TEMPLATE = subdirs SUBDIRS += qmldebug \ qmldebugclient \ - qmldebugservice + qmldebugservice \ + qpacketprotocol diff --git a/tests/auto/declarative/debugger/debuggerutil.cpp b/tests/auto/declarative/debugger/debuggerutil.cpp deleted file mode 100644 index 761105e..0000000 --- a/tests/auto/declarative/debugger/debuggerutil.cpp +++ /dev/null @@ -1,103 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -#include <QSignalSpy> -#include <QEventLoop> -#include <QTimer> - -#include <private/qmldebugclient_p.h> -#include <private/qmldebugservice_p.h> - -#include "debuggerutil_p.h" - -namespace QmlDebuggerTest { - - bool waitForSignal(QObject *receiver, const char *member, int timeout) { - QEventLoop loop; - QTimer timer; - QObject::connect(&timer, SIGNAL(timeout()), &loop, SLOT(quit())); - QObject::connect(receiver, member, &loop, SLOT(quit())); - timer.start(timeout); - loop.exec(); - return timer.isActive(); - } - -} - - -QmlDebuggerTestService::QmlDebuggerTestService(const QString &s, QObject *parent) - : QmlDebugService(s, parent), enabled(false) -{ -} - -void QmlDebuggerTestService::messageReceived(const QByteArray &ba) -{ - sendMessage(ba); -} - -void QmlDebuggerTestService::enabledChanged(bool e) -{ - emit enabledStateChanged(); - enabled = e; -} - - -QmlDebuggerTestClient::QmlDebuggerTestClient(const QString &s, QmlDebugConnection *c) - : QmlDebugClient(s, c) -{ -} - -QByteArray QmlDebuggerTestClient::waitForResponse() -{ - QSignalSpy spy(this, SIGNAL(serverMessage(QByteArray))); - QmlDebuggerTest::waitForSignal(this, SIGNAL(serverMessage(QByteArray))); - if (spy.count() == 0) { - qWarning() << "tst_QmlDebugClient: no response from server!"; - return QByteArray(); - } - return spy.at(0).at(0).value<QByteArray>(); -} - -void QmlDebuggerTestClient::messageReceived(const QByteArray &ba) -{ - emit serverMessage(ba); -} - - diff --git a/tests/auto/declarative/debugger/debugutil.cpp b/tests/auto/declarative/debugger/debugutil.cpp new file mode 100644 index 0000000..7008529 --- /dev/null +++ b/tests/auto/declarative/debugger/debugutil.cpp @@ -0,0 +1,173 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#include <QSignalSpy> +#include <QEventLoop> +#include <QTimer> + +#include <private/qmldebugclient_p.h> +#include <private/qmldebugservice_p.h> + +#include "debugutil_p.h" + +bool QmlDebugTest::waitForSignal(QObject *receiver, const char *member, int timeout) { + QEventLoop loop; + QTimer timer; + QObject::connect(&timer, SIGNAL(timeout()), &loop, SLOT(quit())); + QObject::connect(receiver, member, &loop, SLOT(quit())); + timer.start(timeout); + loop.exec(); + return timer.isActive(); +} + + +QmlDebugTestData::QmlDebugTestData(QEventLoop *el) + : exitCode(-1), loop(el) +{ +} + +QmlDebugTestData::~QmlDebugTestData() +{ + qDeleteAll(items); +} + +void QmlDebugTestData::testsFinished(int code) +{ + exitCode = code; + loop->quit(); +} + + + +QmlDebugTestService::QmlDebugTestService(const QString &s, QObject *parent) + : QmlDebugService(s, parent), enabled(false) +{ +} + +void QmlDebugTestService::messageReceived(const QByteArray &ba) +{ + sendMessage(ba); +} + +void QmlDebugTestService::enabledChanged(bool e) +{ + emit enabledStateChanged(); + enabled = e; +} + + +QmlDebugTestClient::QmlDebugTestClient(const QString &s, QmlDebugConnection *c) + : QmlDebugClient(s, c) +{ +} + +QByteArray QmlDebugTestClient::waitForResponse() +{ + QSignalSpy spy(this, SIGNAL(serverMessage(QByteArray))); + QmlDebugTest::waitForSignal(this, SIGNAL(serverMessage(QByteArray))); + if (spy.count() == 0) { + qWarning() << "tst_QmlDebugClient: no response from server!"; + return QByteArray(); + } + return spy.at(0).at(0).value<QByteArray>(); +} + +void QmlDebugTestClient::messageReceived(const QByteArray &ba) +{ + emit serverMessage(ba); +} + + +tst_QmlDebug_Thread::tst_QmlDebug_Thread(QmlDebugTestData *data, QmlTestFactory *factory) + : m_ready(false), m_data(data), m_factory(factory) +{ +} + +void tst_QmlDebug_Thread::run() +{ + QTest::qWait(1000); + + QmlDebugConnection conn; + conn.connectToHost("127.0.0.1", 3768); + bool ok = conn.waitForConnected(5000); + Q_ASSERT(ok); + + while (!m_ready) + QTest::qWait(100); + + m_data->conn = &conn; + + Q_ASSERT(m_factory); + QObject *test = m_factory->createTest(m_data); + Q_ASSERT(test); + int code = QTest::qExec(test); + emit testsFinished(code); +} + + +int QmlDebugTest::runTests(QmlTestFactory *factory, const QList<QByteArray> &qml) +{ + qputenv("QML_DEBUG_SERVER_PORT", "3768"); + + QEventLoop loop; + QmlDebugTestData data(&loop); + + tst_QmlDebug_Thread thread(&data, factory); + QObject::connect(&thread, SIGNAL(testsFinished(int)), &data, SLOT(testsFinished(int))); + thread.start(); + + QmlEngine engine; // blocks until client connects + + foreach (const QByteArray &code, qml) { + QmlComponent c(&engine, code, QUrl("file://")); + Q_ASSERT(c.isReady()); // fails if bad syntax + data.items << qobject_cast<QmlGraphicsItem*>(c.create()); + } + + // start the test + data.engine = &engine; + thread.m_ready = true; + + loop.exec(); + + return data.exitCode; +} + + diff --git a/tests/auto/declarative/debugger/debuggerutil_p.h b/tests/auto/declarative/debugger/debugutil_p.h index 5e27a7a..665aeda 100644 --- a/tests/auto/declarative/debugger/debuggerutil_p.h +++ b/tests/auto/declarative/debugger/debugutil_p.h @@ -40,21 +40,61 @@ ****************************************************************************/ #include <QSignalSpy> #include <QEventLoop> +#include <QPointer> #include <QTimer> +#include <QThread> +#include <QTest> + +#include <QtDeclarative/qmlengine.h> #include <private/qmldebugclient_p.h> #include <private/qmldebugservice_p.h> +#include <private/qmlgraphicsitem_p.h> + + +class QmlDebugTestData : public QObject +{ + Q_OBJECT +public: + QmlDebugTestData(QEventLoop *el); + + ~QmlDebugTestData(); + + QmlEngine *engine; + QmlDebugConnection *conn; + + int exitCode; + QEventLoop *loop; + + QList<QmlGraphicsItem *> items; + +public slots: + void testsFinished(int code); +}; + + +class QmlTestFactory +{ +public: + QmlTestFactory() {} + virtual ~QmlTestFactory() {} + + virtual QObject *createTest(QmlDebugTestData *data) = 0; +}; + -namespace QmlDebuggerTest { +namespace QmlDebugTest { bool waitForSignal(QObject *receiver, const char *member, int timeout = 5000); + + int runTests(QmlTestFactory *factory, const QList<QByteArray> &qml = QList<QByteArray>()); } -class QmlDebuggerTestService : public QmlDebugService +class QmlDebugTestService : public QmlDebugService { Q_OBJECT public: - QmlDebuggerTestService(const QString &s, QObject *parent = 0); + QmlDebugTestService(const QString &s, QObject *parent = 0); bool enabled; signals: @@ -66,11 +106,11 @@ protected: virtual void enabledChanged(bool e); }; -class QmlDebuggerTestClient : public QmlDebugClient +class QmlDebugTestClient : public QmlDebugClient { Q_OBJECT public: - QmlDebuggerTestClient(const QString &s, QmlDebugConnection *c); + QmlDebugTestClient(const QString &s, QmlDebugConnection *c); QByteArray waitForResponse(); @@ -81,4 +121,22 @@ protected: virtual void messageReceived(const QByteArray &ba); }; +class tst_QmlDebug_Thread : public QThread +{ + Q_OBJECT +public: + tst_QmlDebug_Thread(QmlDebugTestData *data, QmlTestFactory *factory); + + void run(); + + bool m_ready; + +signals: + void testsFinished(int); + +private: + QmlDebugTestData *m_data; + QmlTestFactory *m_factory; +}; + diff --git a/tests/auto/declarative/debugger/qmldebug/qmldebug.pro b/tests/auto/declarative/debugger/qmldebug/qmldebug.pro index c1ac125..0af30e1 100644 --- a/tests/auto/declarative/debugger/qmldebug/qmldebug.pro +++ b/tests/auto/declarative/debugger/qmldebug/qmldebug.pro @@ -2,6 +2,6 @@ load(qttest_p4) contains(QT_CONFIG,declarative): QT += network declarative macx:CONFIG -= app_bundle -HEADERS += ../debuggerutil_p.h +HEADERS += ../debugutil_p.h SOURCES += tst_qmldebug.cpp \ - ../debuggerutil.cpp + ../debugutil.cpp diff --git a/tests/auto/declarative/debugger/qmldebug/tst_qmldebug.cpp b/tests/auto/declarative/debugger/qmldebug/tst_qmldebug.cpp index bfb8aee..70404f6 100644 --- a/tests/auto/declarative/debugger/qmldebug/tst_qmldebug.cpp +++ b/tests/auto/declarative/debugger/qmldebug/tst_qmldebug.cpp @@ -59,7 +59,7 @@ #include <private/qmldebugservice_p.h> #include <private/qmlgraphicsrectangle_p.h> -#include "../debuggerutil_p.h" +#include "../debugutil_p.h" Q_DECLARE_METATYPE(QmlDebugWatch::State) @@ -69,13 +69,16 @@ class tst_QmlDebug : public QObject Q_OBJECT public: - tst_QmlDebug(QmlDebugConnection *conn, QmlEngine *engine, QmlGraphicsItem *rootItem) - : m_conn(conn), m_dbg(0), m_engine(engine), m_rootItem(rootItem) {} + tst_QmlDebug(QmlDebugTestData *data) + { + m_conn = data->conn; + m_engine = data->engine; + m_rootItem = data->items[0]; + } private: QmlDebugObjectReference findRootObject(); QmlDebugPropertyReference findProperty(const QList<QmlDebugPropertyReference> &props, const QString &name) const; - QObject *findObjectWithId(const QObjectList &objects, int id) const; void waitForQuery(QmlDebugQuery *query); void recursiveObjectTest(QObject *o, const QmlDebugObjectReference &oref, bool recursive) const; @@ -146,21 +149,12 @@ QmlDebugPropertyReference tst_QmlDebug::findProperty(const QList<QmlDebugPropert return QmlDebugPropertyReference(); } -QObject *tst_QmlDebug::findObjectWithId(const QObjectList &objects, int id) const -{ - foreach (QObject *o, objects) { - if (id == QmlDebugService::idForObject(o)) - return o; - } - return 0; -} - void tst_QmlDebug::waitForQuery(QmlDebugQuery *query) { QVERIFY(query); QCOMPARE(query->parent(), this); QVERIFY(query->state() == QmlDebugQuery::Waiting); - if (!QmlDebuggerTest::waitForSignal(query, SIGNAL(stateChanged(QmlDebugQuery::State)))) + if (!QmlDebugTest::waitForSignal(query, SIGNAL(stateChanged(QmlDebugQuery::State)))) QFAIL("query timed out"); } @@ -177,21 +171,40 @@ void tst_QmlDebug::recursiveObjectTest(QObject *o, const QmlDebugObjectReference QCOMPARE(oref.className(), className); QCOMPARE(oref.contextDebugId(), QmlDebugService::idForObject(qmlContext(o))); - foreach (const QmlDebugObjectReference &cref, oref.children()) { - // ignore children with no context - if (cref.contextDebugId() < 0) + const QObjectList &children = o->children(); + for (int i=0; i<children.count(); i++) { + QObject *child = children[i]; + if (!qmlContext(child)) continue; - - QObject *childObject = findObjectWithId(o->children(), cref.debugId()); - QVERIFY2(childObject, qPrintable(QString("Can't find QObject* for %1").arg(cref.className()))); + int debugId = QmlDebugService::idForObject(child); + QVERIFY(debugId >= 0); + + QmlDebugObjectReference cref; + foreach (const QmlDebugObjectReference &ref, oref.children()) { + if (ref.debugId() == debugId) { + cref = ref; + break; + } + } + QVERIFY(cref.debugId() >= 0); if (recursive) - recursiveObjectTest(childObject, cref, true); + recursiveObjectTest(child, cref, true); } foreach (const QmlDebugPropertyReference &p, oref.properties()) { + QCOMPARE(p.objectDebugId(), QmlDebugService::idForObject(o)); + + // signal properties are fake - they are generated from QmlBoundSignal children + if (p.name().startsWith("on") && p.name().length() > 2 && p.name()[2].isUpper()) { + QVERIFY(p.value().toString().startsWith('{') && p.value().toString().endsWith('}')); + QVERIFY(p.valueTypeName().isEmpty()); + QVERIFY(p.binding().isEmpty()); + QVERIFY(!p.hasNotifySignal()); + continue; + } + QMetaProperty pmeta = meta->property(meta->indexOfProperty(p.name().toUtf8().constData())); - QVERIFY(pmeta.isValid()); QCOMPARE(p.name(), QString::fromUtf8(pmeta.name())); @@ -208,6 +221,8 @@ void tst_QmlDebug::recursiveObjectTest(QObject *o, const QmlDebugObjectReference QCOMPARE(binding->expression(), p.binding()); QCOMPARE(p.hasNotifySignal(), pmeta.hasNotifySignal()); + + QVERIFY(pmeta.isValid()); } } @@ -277,6 +292,11 @@ void tst_QmlDebug::watch_property() watch = unconnected.addWatch(prop, this); QCOMPARE(watch->state(), QmlDebugWatch::Dead); delete watch; + + watch = m_dbg->addWatch(QmlDebugPropertyReference(), this); + QVERIFY(QmlDebugTest::waitForSignal(watch, SIGNAL(stateChanged(QmlDebugWatch::State)))); + QCOMPARE(watch->state(), QmlDebugWatch::Inactive); + delete watch; watch = m_dbg->addWatch(prop, this); QCOMPARE(watch->state(), QmlDebugWatch::Waiting); @@ -289,7 +309,8 @@ void tst_QmlDebug::watch_property() m_rootItem->setProperty("width", origWidth*2); // stateChanged() is received before valueChanged() - QVERIFY(QmlDebuggerTest::waitForSignal(watch, SIGNAL(stateChanged(QmlDebugWatch::State)))); + QVERIFY(QmlDebugTest::waitForSignal(watch, SIGNAL(stateChanged(QmlDebugWatch::State)))); + QCOMPARE(watch->state(), QmlDebugWatch::Active); QCOMPARE(spy.count(), 1); m_dbg->removeWatch(watch); @@ -328,6 +349,11 @@ void tst_QmlDebug::watch_object() QCOMPARE(watch->state(), QmlDebugWatch::Dead); delete watch; + watch = m_dbg->addWatch(QmlDebugObjectReference(), this); + QVERIFY(QmlDebugTest::waitForSignal(watch, SIGNAL(stateChanged(QmlDebugWatch::State)))); + QCOMPARE(watch->state(), QmlDebugWatch::Inactive); + delete watch; + watch = m_dbg->addWatch(obj, this); QCOMPARE(watch->state(), QmlDebugWatch::Waiting); QCOMPARE(watch->objectDebugId(), obj.debugId()); @@ -340,7 +366,8 @@ void tst_QmlDebug::watch_object() m_rootItem->setProperty("height", origHeight*2); // stateChanged() is received before any valueChanged() signals - QVERIFY(QmlDebuggerTest::waitForSignal(watch, SIGNAL(stateChanged(QmlDebugWatch::State)))); + QVERIFY(QmlDebugTest::waitForSignal(watch, SIGNAL(stateChanged(QmlDebugWatch::State)))); + QCOMPARE(watch->state(), QmlDebugWatch::Active); QVERIFY(spy.count() > 0); int newWidth = -1; @@ -385,6 +412,11 @@ void tst_QmlDebug::watch_expression() QCOMPARE(watch->state(), QmlDebugWatch::Dead); delete watch; + watch = m_dbg->addWatch(QmlDebugObjectReference(), expr, this); + QVERIFY(QmlDebugTest::waitForSignal(watch, SIGNAL(stateChanged(QmlDebugWatch::State)))); + QCOMPARE(watch->state(), QmlDebugWatch::Inactive); + delete watch; + watch = m_dbg->addWatch(obj, expr, this); QCOMPARE(watch->state(), QmlDebugWatch::Waiting); QCOMPARE(watch->objectDebugId(), obj.debugId()); @@ -401,13 +433,14 @@ void tst_QmlDebug::watch_expression() width += increment; m_rootItem->setProperty("width", width); } - if (!QmlDebuggerTest::waitForSignal(watch, SIGNAL(valueChanged(QByteArray,QVariant)))) + if (!QmlDebugTest::waitForSignal(watch, SIGNAL(valueChanged(QByteArray,QVariant)))) QFAIL("Did not receive valueChanged() for expression"); } if (spyState.count() == 0) - QVERIFY(QmlDebuggerTest::waitForSignal(watch, SIGNAL(stateChanged(QmlDebugWatch::State)))); + QVERIFY(QmlDebugTest::waitForSignal(watch, SIGNAL(stateChanged(QmlDebugWatch::State)))); QCOMPARE(spyState.count(), 1); + QCOMPARE(watch->state(), QmlDebugWatch::Active); m_dbg->removeWatch(watch); delete watch; @@ -500,15 +533,16 @@ void tst_QmlDebug::queryRootContexts() QCOMPARE(context.debugId(), QmlDebugService::idForObject(actualContext)); QCOMPARE(context.name(), actualContext->objectName()); - QCOMPARE(context.objects().count(), 2); // 2 objects created for engine in main() + QCOMPARE(context.objects().count(), 2); // 2 qml component objects created for context in main() // root context query sends only root object data - it doesn't fill in // the children or property info QCOMPARE(context.objects()[0].properties().count(), 0); QCOMPARE(context.objects()[0].children().count(), 0); - // TODO have multiple contexts - QCOMPARE(context.contexts().count(), 0); + QCOMPARE(context.contexts().count(), 1); + QVERIFY(context.contexts()[0].debugId() >= 0); + QCOMPARE(context.contexts()[0].name(), QString("tst_QmlDebug_childContext")); delete q_engines; delete q_context; @@ -593,7 +627,7 @@ void tst_QmlDebug::queryExpressionResult() QFETCH(QVariant, result); QmlDebugEnginesQuery *q_engines = m_dbg->queryAvailableEngines(this); - waitForQuery(q_engines); + waitForQuery(q_engines); // check immediate deletion is ok QmlDebugRootContextQuery *q_context = m_dbg->queryRootContexts(q_engines->engines()[0].debugId(), this); waitForQuery(q_context); @@ -759,72 +793,37 @@ void tst_QmlDebug::tst_QmlDebugPropertyReference() compareProperties(r, ref); } -class TestRunnerThread : public QThread + +class tst_QmlDebug_Factory : public QmlTestFactory { - Q_OBJECT public: - void run() { - QTest::qWait(1000); - connectToEngine(); - } - - QPointer<QmlEngine> m_engine; - QPointer<QmlGraphicsItem> m_item; - -signals: - void testsFinished(); - -public slots: - - void connectToEngine() + QObject *createTest(QmlDebugTestData *data) { - QmlDebugConnection conn; - conn.connectToHost("127.0.0.1", 3768); - bool ok = conn.waitForConnected(5000); - Q_ASSERT(ok); - while (!m_engine && !m_item) - QTest::qWait(50); - - tst_QmlDebug test(&conn, m_engine, m_item); - QTest::qExec(&test); - emit testsFinished(); + QmlContext *c = new QmlContext(data->engine->rootContext()); + c->setObjectName("tst_QmlDebug_childContext"); + return new tst_QmlDebug(data); } }; - int main(int argc, char *argv[]) { QApplication app(argc, argv); - qputenv("QML_DEBUG_SERVER_PORT", "3768"); - - TestRunnerThread thread; - QObject::connect(&thread, SIGNAL(testsFinished()), qApp, SLOT(quit())); - thread.start(); - - QmlEngine engine; // blocks until client connects - - QmlComponent component(&engine, - "import Qt 4.6\n" - "Item {\n" - "width: 10; height: 20; scale: blueRect.scale;\n" - "Rectangle { id: blueRect; width: 500; height: 600; color: \"blue\"; }" - "Text { color: blueRect.color; }" - "}\n", - QUrl("file://")); - Q_ASSERT(component.isReady()); - QObject *o = component.create(); - QObject::connect(&thread, SIGNAL(testsFinished()), o, SLOT(deleteLater())); - - // allows us to test that multiple contexts can be detected - QObject *o2 = component.create(); - QObject::connect(&thread, SIGNAL(testsFinished()), o2, SLOT(deleteLater())); - - // start the test - thread.m_engine = &engine; - thread.m_item = qobject_cast<QmlGraphicsItem*>(o); - - return app.exec(); + QList<QByteArray> qml; + qml << "import Qt 4.6\n" + "Item {" + "width: 10; height: 20; scale: blueRect.scale;" + "Rectangle { id: blueRect; width: 500; height: 600; color: \"blue\"; }" + "Text { color: blueRect.color; }" + "MouseRegion {" + "onEntered: { print('hello') }" + "}" + "}"; + // add second component to test multiple root contexts + qml << "import Qt 4.6\n" + "Item {}"; + tst_QmlDebug_Factory factory; + return QmlDebugTest::runTests(&factory, qml); } //QTEST_MAIN(tst_QmlDebug) diff --git a/tests/auto/declarative/debugger/qmldebugclient/qmldebugclient.pro b/tests/auto/declarative/debugger/qmldebugclient/qmldebugclient.pro index 6e68cd5..c0aa7b2 100644 --- a/tests/auto/declarative/debugger/qmldebugclient/qmldebugclient.pro +++ b/tests/auto/declarative/debugger/qmldebugclient/qmldebugclient.pro @@ -2,6 +2,6 @@ load(qttest_p4) contains(QT_CONFIG,declarative): QT += network declarative macx:CONFIG -= app_bundle -HEADERS += ../debuggerutil_p.h +HEADERS += ../debugutil_p.h SOURCES += tst_qmldebugclient.cpp \ - ../debuggerutil.cpp + ../debugutil.cpp diff --git a/tests/auto/declarative/debugger/qmldebugclient/tst_qmldebugclient.cpp b/tests/auto/declarative/debugger/qmldebugclient/tst_qmldebugclient.cpp index 0a768a5..6c4a1a3 100644 --- a/tests/auto/declarative/debugger/qmldebugclient/tst_qmldebugclient.cpp +++ b/tests/auto/declarative/debugger/qmldebugclient/tst_qmldebugclient.cpp @@ -52,15 +52,18 @@ #include <private/qmldebugclient_p.h> #include <private/qmldebugservice_p.h> -#include "../debuggerutil_p.h" +#include "../debugutil_p.h" class tst_QmlDebugClient : public QObject { Q_OBJECT public: - tst_QmlDebugClient(QmlDebugConnection *conn, QmlEngine *engine) - : m_conn(conn), m_engine(engine) {} + tst_QmlDebugClient(QmlDebugTestData *data) + { + m_conn = data->conn; + m_engine = data->engine; + } QmlDebugConnection *m_conn; QmlEngine *m_engine; @@ -89,19 +92,19 @@ void tst_QmlDebugClient::isEnabled() void tst_QmlDebugClient::setEnabled() { - QmlDebuggerTestService service("tst_QmlDebugClient::setEnabled()"); - QmlDebuggerTestClient client("tst_QmlDebugClient::setEnabled()", m_conn); + QmlDebugTestService service("tst_QmlDebugClient::setEnabled()"); + QmlDebugTestClient client("tst_QmlDebugClient::setEnabled()", m_conn); QCOMPARE(service.isEnabled(), false); client.setEnabled(true); QCOMPARE(client.isEnabled(), true); - QmlDebuggerTest::waitForSignal(&service, SIGNAL(enabledStateChanged())); + QmlDebugTest::waitForSignal(&service, SIGNAL(enabledStateChanged())); QCOMPARE(service.isEnabled(), true); client.setEnabled(false); QCOMPARE(client.isEnabled(), false); - QmlDebuggerTest::waitForSignal(&service, SIGNAL(enabledStateChanged())); + QmlDebugTest::waitForSignal(&service, SIGNAL(enabledStateChanged())); QCOMPARE(service.isEnabled(), false); } @@ -125,8 +128,8 @@ void tst_QmlDebugClient::isConnected() void tst_QmlDebugClient::sendMessage() { - QmlDebuggerTestService service("tst_QmlDebugClient::sendMessage()"); - QmlDebuggerTestClient client("tst_QmlDebugClient::sendMessage()", m_conn); + QmlDebugTestService service("tst_QmlDebugClient::sendMessage()"); + QmlDebugTestClient client("tst_QmlDebugClient::sendMessage()", m_conn); QByteArray msg = "hello!"; @@ -136,55 +139,18 @@ void tst_QmlDebugClient::sendMessage() } - -class tst_QmlDebugClient_Thread : public QThread +class tst_QmlDebugClient_Factory : public QmlTestFactory { - Q_OBJECT public: - void run() { - QTest::qWait(1000); - connectToEngine(); - } - - QPointer<QmlEngine> m_engine; - -signals: - void testsFinished(); - -public slots: - - void connectToEngine() - { - QmlDebugConnection conn; - conn.connectToHost("127.0.0.1", 3768); - bool ok = conn.waitForConnected(5000); - Q_ASSERT(ok); - while (!m_engine) - QTest::qWait(50); - - tst_QmlDebugClient test(&conn, m_engine); - QTest::qExec(&test); - emit testsFinished(); - } + QObject *createTest(QmlDebugTestData *data) { return new tst_QmlDebugClient(data); } }; - int main(int argc, char *argv[]) { QApplication app(argc, argv); - qputenv("QML_DEBUG_SERVER_PORT", "3768"); - - tst_QmlDebugClient_Thread thread; - QObject::connect(&thread, SIGNAL(testsFinished()), qApp, SLOT(quit())); - thread.start(); - - QmlEngine engine; // blocks until client connects - - // start the test - thread.m_engine = &engine; - - return app.exec(); + tst_QmlDebugClient_Factory factory; + return QmlDebugTest::runTests(&factory); } #include "tst_qmldebugclient.moc" diff --git a/tests/auto/declarative/debugger/qmldebugservice/qmldebugservice.pro b/tests/auto/declarative/debugger/qmldebugservice/qmldebugservice.pro index 1b6762c..cce277a 100644 --- a/tests/auto/declarative/debugger/qmldebugservice/qmldebugservice.pro +++ b/tests/auto/declarative/debugger/qmldebugservice/qmldebugservice.pro @@ -2,6 +2,6 @@ load(qttest_p4) contains(QT_CONFIG,declarative): QT += network declarative macx:CONFIG -= app_bundle -HEADERS += ../debuggerutil_p.h +HEADERS += ../debugutil_p.h SOURCES += tst_qmldebugservice.cpp \ - ../debuggerutil.cpp + ../debugutil.cpp diff --git a/tests/auto/declarative/debugger/qmldebugservice/tst_qmldebugservice.cpp b/tests/auto/declarative/debugger/qmldebugservice/tst_qmldebugservice.cpp index 2cd8607..0c02929 100644 --- a/tests/auto/declarative/debugger/qmldebugservice/tst_qmldebugservice.cpp +++ b/tests/auto/declarative/debugger/qmldebugservice/tst_qmldebugservice.cpp @@ -52,15 +52,18 @@ #include <private/qmldebugclient_p.h> #include <private/qmldebugservice_p.h> -#include "../debuggerutil_p.h" +#include "../debugutil_p.h" class tst_QmlDebugService : public QObject { Q_OBJECT public: - tst_QmlDebugService(QmlDebugConnection *conn, QmlEngine *engine) - : m_conn(conn), m_engine(engine) {} + tst_QmlDebugService(QmlDebugTestData *data) + { + m_conn = data->conn; + m_engine = data->engine; + } QmlDebugConnection *m_conn; QmlEngine *m_engine; @@ -85,12 +88,12 @@ void tst_QmlDebugService::name() void tst_QmlDebugService::isEnabled() { - QmlDebuggerTestService service("tst_QmlDebugService::isEnabled()", m_conn); + QmlDebugTestService service("tst_QmlDebugService::isEnabled()", m_conn); QCOMPARE(service.isEnabled(), false); - QmlDebuggerTestClient client("tst_QmlDebugService::isEnabled()", m_conn); + QmlDebugTestClient client("tst_QmlDebugService::isEnabled()", m_conn); client.setEnabled(true); - QmlDebuggerTest::waitForSignal(&service, SIGNAL(enabledStateChanged())); + QmlDebugTest::waitForSignal(&service, SIGNAL(enabledStateChanged())); QCOMPARE(service.isEnabled(), true); QTest::ignoreMessage(QtWarningMsg, "QmlDebugService: Conflicting plugin name \"tst_QmlDebugService::isEnabled()\" "); @@ -100,20 +103,20 @@ void tst_QmlDebugService::isEnabled() void tst_QmlDebugService::enabledChanged() { - QmlDebuggerTestService service("tst_QmlDebugService::enabledChanged()"); - QmlDebuggerTestClient client("tst_QmlDebugService::enabledChanged()", m_conn); + QmlDebugTestService service("tst_QmlDebugService::enabledChanged()"); + QmlDebugTestClient client("tst_QmlDebugService::enabledChanged()", m_conn); QCOMPARE(service.enabled, false); client.setEnabled(true); - QmlDebuggerTest::waitForSignal(&service, SIGNAL(enabledStateChanged())); + QmlDebugTest::waitForSignal(&service, SIGNAL(enabledStateChanged())); QCOMPARE(service.enabled, true); } void tst_QmlDebugService::sendMessage() { - QmlDebuggerTestService service("tst_QmlDebugService::sendMessage()"); - QmlDebuggerTestClient client("tst_QmlDebugService::sendMessage()", m_conn); + QmlDebugTestService service("tst_QmlDebugService::sendMessage()"); + QmlDebugTestClient client("tst_QmlDebugService::sendMessage()", m_conn); QByteArray msg = "hello!"; @@ -169,54 +172,18 @@ void tst_QmlDebugService::objectToString() } -class tst_QmlDebugService_Thread : public QThread +class tst_QmlDebugService_Factory : public QmlTestFactory { - Q_OBJECT public: - void run() { - QTest::qWait(1000); - connectToEngine(); - } - - QPointer<QmlEngine> m_engine; - -signals: - void testsFinished(); - -public slots: - - void connectToEngine() - { - QmlDebugConnection conn; - conn.connectToHost("127.0.0.1", 3768); - bool ok = conn.waitForConnected(5000); - Q_ASSERT(ok); - while (!m_engine) - QTest::qWait(50); - - tst_QmlDebugService test(&conn, m_engine); - QTest::qExec(&test); - emit testsFinished(); - } + QObject *createTest(QmlDebugTestData *data) { return new tst_QmlDebugService(data); } }; - int main(int argc, char *argv[]) { QApplication app(argc, argv); - qputenv("QML_DEBUG_SERVER_PORT", "3768"); - - tst_QmlDebugService_Thread thread; - QObject::connect(&thread, SIGNAL(testsFinished()), qApp, SLOT(quit())); - thread.start(); - - QmlEngine engine; // blocks until client connects - - // start the test - thread.m_engine = &engine; - - return app.exec(); + tst_QmlDebugService_Factory factory; + return QmlDebugTest::runTests(&factory); } #include "tst_qmldebugservice.moc" diff --git a/tests/auto/declarative/debugger/qpacketprotocol/qpacketprotocol.pro b/tests/auto/declarative/debugger/qpacketprotocol/qpacketprotocol.pro new file mode 100644 index 0000000..800e5e0 --- /dev/null +++ b/tests/auto/declarative/debugger/qpacketprotocol/qpacketprotocol.pro @@ -0,0 +1,7 @@ +load(qttest_p4) +contains(QT_CONFIG,declarative): QT += network declarative +macx:CONFIG -= app_bundle + +HEADERS += ../debugutil_p.h +SOURCES += tst_qpacketprotocol.cpp \ + ../debugutil.cpp diff --git a/tests/auto/declarative/debugger/qpacketprotocol/tst_qpacketprotocol.cpp b/tests/auto/declarative/debugger/qpacketprotocol/tst_qpacketprotocol.cpp new file mode 100644 index 0000000..36b6317 --- /dev/null +++ b/tests/auto/declarative/debugger/qpacketprotocol/tst_qpacketprotocol.cpp @@ -0,0 +1,270 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#include <qtest.h> +#include <QSignalSpy> +#include <QTimer> +#include <QTcpSocket> +#include <QTcpServer> +#include <QDebug> +#include <QBuffer> + +#include <private/qpacketprotocol_p.h> + +#include "../debugutil_p.h" + +class tst_QPacketProtocol : public QObject +{ + Q_OBJECT + +private: + QTcpServer *m_server; + QTcpSocket *m_client; + QTcpSocket *m_serverConn; + +private slots: + void init(); + void cleanup(); + + void maximumPacketSize(); + void setMaximumPacketSize(); + void setMaximumPacketSize_data(); + void send(); + void send_data(); + void packetsAvailable(); + void packetsAvailable_data(); + void clear(); + void read(); + void device(); + + void tst_QPacket_clear(); +}; + +void tst_QPacketProtocol::init() +{ + m_server = new QTcpServer(this); + QVERIFY(m_server->listen()); + + m_client = new QTcpSocket(this); + m_client->connectToHost(m_server->serverAddress(), m_server->serverPort()); + + QVERIFY(m_client->waitForConnected()); + QVERIFY(m_server->waitForNewConnection()); + m_serverConn = m_server->nextPendingConnection(); +} + +void tst_QPacketProtocol::cleanup() +{ + delete m_client; + delete m_serverConn; + delete m_server; +} + +void tst_QPacketProtocol::maximumPacketSize() +{ + QPacketProtocol p(m_client); + QCOMPARE(p.maximumPacketSize(), 0x7FFFFFFF); +} + +void tst_QPacketProtocol::setMaximumPacketSize() +{ + QFETCH(qint32, size); + QFETCH(qint32, expected); + + QPacketProtocol out(m_serverConn); + QCOMPARE(out.setMaximumPacketSize(size), expected); + + if (size == expected) { + QPacketProtocol in(m_client); + QByteArray b; + b.fill('a', size + 1); + out.send() << b.constData(); + QVERIFY(QmlDebugTest::waitForSignal(&in, SIGNAL(invalidPacket()))); + } +} + +void tst_QPacketProtocol::setMaximumPacketSize_data() +{ + QTest::addColumn<int>("size"); + QTest::addColumn<int>("expected"); + + QTest::newRow("invalid") << qint32(sizeof(qint32) - 1) << qint32(0x7FFFFFFF); + QTest::newRow("still invalid") << qint32(sizeof(qint32)) << qint32(0x7FFFFFFF); + QTest::newRow("valid") << qint32(sizeof(qint32) + 1) << qint32(sizeof(qint32) + 1); +} + +void tst_QPacketProtocol::send() +{ + QFETCH(bool, useAutoSend); + + QPacketProtocol in(m_client); + QPacketProtocol out(m_serverConn); + + QByteArray ba; + int num; + + if (useAutoSend) { + out.send() << "Hello world" << 123; + } else { + QPacket packet; + packet << "Hello world" << 123; + out.send(packet); + } + + QVERIFY(QmlDebugTest::waitForSignal(&in, SIGNAL(readyRead()))); + + QPacket p = in.read(); + p >> ba >> num; + QCOMPARE(ba, QByteArray("Hello world") + '\0'); + QCOMPARE(num, 123); +} + +void tst_QPacketProtocol::send_data() +{ + QTest::addColumn<bool>("useAutoSend"); + + QTest::newRow("auto send") << true; + QTest::newRow("no auto send") << false; +} + +void tst_QPacketProtocol::packetsAvailable() +{ + QFETCH(int, packetCount); + + QPacketProtocol out(m_client); + QPacketProtocol in(m_serverConn); + + QCOMPARE(out.packetsAvailable(), qint64(0)); + QCOMPARE(in.packetsAvailable(), qint64(0)); + + for (int i=0; i<packetCount; i++) + out.send() << "Hello"; + + QVERIFY(QmlDebugTest::waitForSignal(&in, SIGNAL(readyRead()))); + QCOMPARE(in.packetsAvailable(), qint64(packetCount)); +} + +void tst_QPacketProtocol::packetsAvailable_data() +{ + QTest::addColumn<int>("packetCount"); + + QTest::newRow("1") << 1; + QTest::newRow("2") << 2; + QTest::newRow("10") << 10; +} + +void tst_QPacketProtocol::clear() +{ + QPacketProtocol in(m_client); + QPacketProtocol out(m_serverConn); + + out.send() << 123; + out.send() << 456; + QVERIFY(QmlDebugTest::waitForSignal(&in, SIGNAL(readyRead()))); + + in.clear(); + QVERIFY(in.read().isEmpty()); +} + +void tst_QPacketProtocol::read() +{ + QPacketProtocol in(m_client); + QPacketProtocol out(m_serverConn); + + QVERIFY(in.read().isEmpty()); + + out.send() << 123; + out.send() << 456; + QVERIFY(QmlDebugTest::waitForSignal(&in, SIGNAL(readyRead()))); + + int num; + + QPacket p1 = in.read(); + QVERIFY(!p1.isEmpty()); + p1 >> num; + QCOMPARE(num, 123); + + QPacket p2 = in.read(); + QVERIFY(!p2.isEmpty()); + p2 >> num; + QCOMPARE(num, 456); + + QVERIFY(in.read().isEmpty()); +} + +void tst_QPacketProtocol::device() +{ + QPacketProtocol p(m_client); + QCOMPARE(p.device(), m_client); +} + +void tst_QPacketProtocol::tst_QPacket_clear() +{ + QPacketProtocol protocol(m_client); + + QPacket packet; + + packet << "Hello world!" << 123; + protocol.send(packet); + + packet.clear(); + QVERIFY(packet.isEmpty()); + packet << "Goodbyte world!" << 789; + protocol.send(packet); + + QByteArray ba; + int num; + QPacketProtocol in(m_serverConn); + QVERIFY(QmlDebugTest::waitForSignal(&in, SIGNAL(readyRead()))); + + QPacket p1 = in.read(); + p1 >> ba >> num; + QCOMPARE(ba, QByteArray("Hello world!") + '\0'); + QCOMPARE(num, 123); + + QPacket p2 = in.read(); + p2 >> ba >> num; + QCOMPARE(ba, QByteArray("Goodbyte world!") + '\0'); + QCOMPARE(num, 789); +} + +QTEST_MAIN(tst_QPacketProtocol) + +#include "tst_qpacketprotocol.moc" diff --git a/tests/auto/declarative/qmlgraphicslistview/data/listview.qml b/tests/auto/declarative/qmlgraphicslistview/data/listview.qml index 280173b..ccefeba 100644 --- a/tests/auto/declarative/qmlgraphicslistview/data/listview.qml +++ b/tests/auto/declarative/qmlgraphicslistview/data/listview.qml @@ -81,5 +81,6 @@ Rectangle { model: testModel delegate: testAnimate ? myDelegate : animatedDelegate highlightMoveSpeed: 1000 + highlightResizeSpeed: 1000 } } diff --git a/tests/auto/declarative/qmlgraphicslistview/tst_qmlgraphicslistview.cpp b/tests/auto/declarative/qmlgraphicslistview/tst_qmlgraphicslistview.cpp index 83b8d79..25e6996 100644 --- a/tests/auto/declarative/qmlgraphicslistview/tst_qmlgraphicslistview.cpp +++ b/tests/auto/declarative/qmlgraphicslistview/tst_qmlgraphicslistview.cpp @@ -75,6 +75,7 @@ private slots: void enforceRange(); void spacing(); void sections(); + void cacheBuffer(); private: template <class T> void items(); @@ -275,6 +276,9 @@ void tst_QmlGraphicsListView::items() int itemCount = findItems<QmlGraphicsItem>(viewport, "wrapper").count(); QVERIFY(itemCount == 0); + QCOMPARE(listview->highlightResizeSpeed(), 1000.0); + QCOMPARE(listview->highlightMoveSpeed(), 1000.0); + delete canvas; } @@ -727,6 +731,8 @@ void tst_QmlGraphicsListView::sections() QmlGraphicsItem *viewport = listview->viewport(); QVERIFY(viewport != 0); + QCOMPARE(listview->sectionExpression(), QLatin1String("Math.floor(number/5)")); + // Confirm items positioned correctly int itemCount = findItems<QmlGraphicsItem>(viewport, "wrapper").count(); for (int i = 0; i < model.count() && i < itemCount; ++i) { @@ -770,6 +776,13 @@ void tst_QmlGraphicsListView::sections() listview->setViewportY(140); QVERIFY(listview->currentSection() == "1"); + listview->setViewportY(20); + QVERIFY(listview->currentSection() == "0"); + + item = findItem<QmlGraphicsItem>(viewport, "wrapper", 1); + QVERIFY(item); + QCOMPARE(item->height(), 20.0); + delete canvas; } @@ -903,6 +916,52 @@ void tst_QmlGraphicsListView::itemList() delete canvas; } +void tst_QmlGraphicsListView::cacheBuffer() +{ + QmlView *canvas = createView(SRCDIR "/data/listview.qml"); + + TestModel model; + for (int i = 0; i < 30; i++) + model.addItem("Item" + QString::number(i), ""); + + QmlContext *ctxt = canvas->rootContext(); + ctxt->setContextProperty("testModel", &model); + ctxt->setContextProperty("testAnimate", QVariant(false)); + + canvas->execute(); + qApp->processEvents(); + + QmlGraphicsListView *listview = findItem<QmlGraphicsListView>(canvas->root(), "list"); + QVERIFY(listview != 0); + + QmlGraphicsItem *viewport = listview->viewport(); + QVERIFY(viewport != 0); + + // Confirm items positioned correctly + int itemCount = findItems<QmlGraphicsItem>(viewport, "wrapper").count(); + for (int i = 0; i < model.count() && i < itemCount; ++i) { + QmlGraphicsItem *item = findItem<QmlGraphicsItem>(viewport, "wrapper", i); + if (!item) qWarning() << "Item" << i << "not found"; + QVERIFY(item); + QVERIFY(item->y() == i*20); + } + + listview->setCacheBuffer(400); + + int newItemCount = findItems<QmlGraphicsItem>(viewport, "wrapper").count(); + QVERIFY(newItemCount > itemCount); + + // Confirm items positioned correctly + for (int i = 0; i < model.count() && i < newItemCount; ++i) { + QmlGraphicsItem *item = findItem<QmlGraphicsItem>(viewport, "wrapper", i); + if (!item) qWarning() << "Item" << i << "not found"; + QVERIFY(item); + QVERIFY(item->y() == i*20); + } + + delete canvas; +} + void tst_QmlGraphicsListView::qListModelInterface_items() { items<TestModel>(); diff --git a/tests/auto/declarative/visual/Package_Views/data/packageviews.11.png b/tests/auto/declarative/visual/Package_Views/data/packageviews.11.png Binary files differindex 75acd3f..276e6c8 100644 --- a/tests/auto/declarative/visual/Package_Views/data/packageviews.11.png +++ b/tests/auto/declarative/visual/Package_Views/data/packageviews.11.png diff --git a/tests/auto/declarative/visual/Package_Views/data/packageviews.12.png b/tests/auto/declarative/visual/Package_Views/data/packageviews.12.png Binary files differindex 258c8b3..276e6c8 100644 --- a/tests/auto/declarative/visual/Package_Views/data/packageviews.12.png +++ b/tests/auto/declarative/visual/Package_Views/data/packageviews.12.png diff --git a/tests/auto/declarative/visual/Package_Views/data/packageviews.13.png b/tests/auto/declarative/visual/Package_Views/data/packageviews.13.png Binary files differindex c6fec5b..1c1f438 100644 --- a/tests/auto/declarative/visual/Package_Views/data/packageviews.13.png +++ b/tests/auto/declarative/visual/Package_Views/data/packageviews.13.png diff --git a/tests/auto/declarative/visual/Package_Views/data/packageviews.14.png b/tests/auto/declarative/visual/Package_Views/data/packageviews.14.png Binary files differindex c6fec5b..1c1f438 100644 --- a/tests/auto/declarative/visual/Package_Views/data/packageviews.14.png +++ b/tests/auto/declarative/visual/Package_Views/data/packageviews.14.png diff --git a/tests/auto/declarative/visual/Package_Views/data/packageviews.qml b/tests/auto/declarative/visual/Package_Views/data/packageviews.qml index 45921d9..e2323a6 100644 --- a/tests/auto/declarative/visual/Package_Views/data/packageviews.qml +++ b/tests/auto/declarative/visual/Package_Views/data/packageviews.qml @@ -3042,123 +3042,123 @@ VisualTest { } Frame { msec: 11040 - hash: "93ce707a06141bfe27ebd922934f1aed" + hash: "27b4322efdced9061d32f476086231c1" } Frame { msec: 11056 - hash: "49e8a33a1955ee8f267eba98532124bc" + hash: "8492670b7505eb5c6b9acf39ba2b96e8" } Frame { msec: 11072 - hash: "1f4e4f815c0ad7a5edf01f4dc493ec1d" + hash: "9f9578af5ec2d369ffbcb00b8092f816" } Frame { msec: 11088 - hash: "058ad87d035643f027e0469d54e35f2a" + hash: "edb2ed0102298e92709e3f675e5d6f8b" } Frame { msec: 11104 - hash: "822cf2c6da969a99f6413a659845a333" + hash: "c54b45e02ce8ecc579060f49c5d1b715" } Frame { msec: 11120 - hash: "a4e8d8093c1876af6669d8df92b515b5" + hash: "83bbe328ab7d39f413f6fdfc2e0eef81" } Frame { msec: 11136 - hash: "236f7f1a0c3b25ad7f33fa1700f3f947" + hash: "17596f573f81638c65da199cc0928bd9" } Frame { msec: 11152 - hash: "dec16d1e0edd3befa2d31972da2b57a6" + hash: "53a28dea1aa35151f6c14cf035fb0952" } Frame { msec: 11168 - hash: "ae85e93afa88929f15fc668bab619ab8" + hash: "3067ef8ee153feb13003208a8c77418d" } Frame { msec: 11184 - hash: "3f2ef5ecc13e0ef10c72dc3e05305c81" + hash: "e799a252b5c293969b4c361e1c63131b" } Frame { msec: 11200 - hash: "0611193af6fc504048a06a7423172768" + hash: "348df3e3d388361a10339dd42507b4da" } Frame { msec: 11216 - hash: "82e4e806158be1a812d9b6a175c11b4a" + hash: "915373dd891ef82d4c84177e6e7d395b" } Frame { msec: 11232 - hash: "b7e8ae87deffc9ccbacce9b132ceeeed" + hash: "426ff6e7e067fc009df9110c703dfcf3" } Frame { msec: 11248 - hash: "ae511e7358aaecc6a368dacd8a3f4b40" + hash: "c5aa16682be21fa95a7873f2538d5a86" } Frame { msec: 11264 - hash: "b67b59b182ea950e830b85c393bc2bd1" + hash: "53a8b0560be8f94f6ae37f49e8a05d5a" } Frame { msec: 11280 - hash: "cfc6eccff56498ff38e98ff3252de1db" + hash: "a867d7a0640771dc72f5c3de2c715f6c" } Frame { msec: 11296 - hash: "542c54779a40b56091e6741c447dc223" + hash: "7393b53dfe72a957d98151ab7437fc3b" } Frame { msec: 11312 - hash: "38a4fcbf35f24c9be706f238003a70f4" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11328 - hash: "38a4fcbf35f24c9be706f238003a70f4" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11344 - hash: "38a4fcbf35f24c9be706f238003a70f4" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11360 - hash: "542c54779a40b56091e6741c447dc223" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11376 - hash: "b67b59b182ea950e830b85c393bc2bd1" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11392 - hash: "79b8823ac67f6cc612f1b6aea743c413" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11408 - hash: "3f2ef5ecc13e0ef10c72dc3e05305c81" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11424 - hash: "dec16d1e0edd3befa2d31972da2b57a6" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11440 - hash: "cf7217bb1ceea9d3bf9f5ca604c15056" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11456 - hash: "8ad3c6a174f0876905db889a2d772c8a" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11472 - hash: "c45588ccc0aa28fc9b3414251c9689e3" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11488 - hash: "6cc42773631600d1eff92f3ba05a49f3" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11504 - hash: "51c4ad052c4c74cfc05ccd5de87418aa" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11520 @@ -3166,239 +3166,239 @@ VisualTest { } Frame { msec: 11536 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11552 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11568 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11584 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11600 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11616 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11632 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11648 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11664 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11680 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11696 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11712 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11728 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11744 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11760 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11776 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11792 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11808 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11824 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11840 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11856 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11872 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11888 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11904 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11920 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11936 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11952 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11968 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 11984 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12000 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12016 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12032 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12048 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12064 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12080 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12096 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12112 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12128 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12144 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12160 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12176 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12192 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12208 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12224 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12240 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12256 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12272 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12288 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12304 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12320 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12336 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12352 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12368 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12384 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12400 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12416 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12432 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12448 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12464 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12480 @@ -3406,131 +3406,131 @@ VisualTest { } Frame { msec: 12496 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12512 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12528 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12544 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12560 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12576 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12592 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12608 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12624 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12640 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12656 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12672 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12688 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12704 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12720 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12736 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12752 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12768 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12784 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12800 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12816 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12832 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12848 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12864 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12880 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12896 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12912 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12928 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12944 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12960 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12976 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 12992 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Mouse { type: 2 @@ -3542,23 +3542,23 @@ VisualTest { } Frame { msec: 13008 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 13024 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 13040 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 13056 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Frame { msec: 13072 - hash: "a4fc0dbc0ebe550f5aa3a91350bbbf3f" + hash: "c7379955d31f2585fa4a10e3777f9554" } Mouse { type: 3 @@ -3570,91 +3570,91 @@ VisualTest { } Frame { msec: 13088 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13104 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13120 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13136 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13152 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13168 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13184 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13200 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13216 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13232 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13248 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13264 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13280 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13296 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13312 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13328 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13344 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13360 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13376 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13392 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13408 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13424 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13440 @@ -3662,239 +3662,239 @@ VisualTest { } Frame { msec: 13456 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13472 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13488 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13504 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13520 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13536 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13552 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13568 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13584 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13600 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13616 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13632 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13648 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13664 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13680 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13696 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13712 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13728 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13744 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13760 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13776 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13792 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13808 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13824 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13840 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13856 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13872 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13888 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13904 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13920 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13936 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13952 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13968 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 13984 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 14000 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 14016 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 14032 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 14048 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 14064 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 14080 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 14096 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 14112 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 14128 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 14144 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 14160 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 14176 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 14192 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 14208 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 14224 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 14240 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 14256 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 14272 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 14288 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 14304 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 14320 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 14336 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 14352 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 14368 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 14384 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 14400 @@ -3902,34 +3902,34 @@ VisualTest { } Frame { msec: 14416 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 14432 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 14448 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 14464 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 14480 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 14496 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 14512 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } Frame { msec: 14528 - hash: "dbca3bbd626c61d30731f84693bc939b" + hash: "4e2bea533c32eb60ce28494b71fa7fea" } } diff --git a/tests/auto/declarative/visual/Package_Views/packageviews.qml b/tests/auto/declarative/visual/Package_Views/packageviews.qml index a9719ca..ece6b88 100644 --- a/tests/auto/declarative/visual/Package_Views/packageviews.qml +++ b/tests/auto/declarative/visual/Package_Views/packageviews.qml @@ -17,6 +17,14 @@ Rectangle { ListElement { itemColor: "yellow" } ListElement { itemColor: "slategrey" } ListElement { itemColor: "cyan" } + ListElement { itemColor: "red" } + ListElement { itemColor: "green" } + ListElement { itemColor: "blue" } + ListElement { itemColor: "orange" } + ListElement { itemColor: "purple" } + ListElement { itemColor: "yellow" } + ListElement { itemColor: "slategrey" } + ListElement { itemColor: "cyan" } } delegate: Package { Rectangle { diff --git a/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.0.png b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.0.png Binary files differnew file mode 100644 index 0000000..c249c21 --- /dev/null +++ b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.0.png diff --git a/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.1.png b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.1.png Binary files differnew file mode 100644 index 0000000..c249c21 --- /dev/null +++ b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.1.png diff --git a/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.10.png b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.10.png Binary files differnew file mode 100644 index 0000000..ca98574 --- /dev/null +++ b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.10.png diff --git a/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.11.png b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.11.png Binary files differnew file mode 100644 index 0000000..7420ca7 --- /dev/null +++ b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.11.png diff --git a/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.12.png b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.12.png Binary files differnew file mode 100644 index 0000000..e797cc9 --- /dev/null +++ b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.12.png diff --git a/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.13.png b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.13.png Binary files differnew file mode 100644 index 0000000..96392e3 --- /dev/null +++ b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.13.png diff --git a/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.14.png b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.14.png Binary files differnew file mode 100644 index 0000000..e797cc9 --- /dev/null +++ b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.14.png diff --git a/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.15.png b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.15.png Binary files differnew file mode 100644 index 0000000..e797cc9 --- /dev/null +++ b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.15.png diff --git a/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.16.png b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.16.png Binary files differnew file mode 100644 index 0000000..7951309 --- /dev/null +++ b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.16.png diff --git a/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.17.png b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.17.png Binary files differnew file mode 100644 index 0000000..7951309 --- /dev/null +++ b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.17.png diff --git a/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.18.png b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.18.png Binary files differnew file mode 100644 index 0000000..7951309 --- /dev/null +++ b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.18.png diff --git a/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.19.png b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.19.png Binary files differnew file mode 100644 index 0000000..7951309 --- /dev/null +++ b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.19.png diff --git a/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.2.png b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.2.png Binary files differnew file mode 100644 index 0000000..c249c21 --- /dev/null +++ b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.2.png diff --git a/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.20.png b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.20.png Binary files differnew file mode 100644 index 0000000..7951309 --- /dev/null +++ b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.20.png diff --git a/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.21.png b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.21.png Binary files differnew file mode 100644 index 0000000..7951309 --- /dev/null +++ b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.21.png diff --git a/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.22.png b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.22.png Binary files differnew file mode 100644 index 0000000..7951309 --- /dev/null +++ b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.22.png diff --git a/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.3.png b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.3.png Binary files differnew file mode 100644 index 0000000..c249c21 --- /dev/null +++ b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.3.png diff --git a/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.4.png b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.4.png Binary files differnew file mode 100644 index 0000000..0801e57 --- /dev/null +++ b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.4.png diff --git a/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.5.png b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.5.png Binary files differnew file mode 100644 index 0000000..0801e57 --- /dev/null +++ b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.5.png diff --git a/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.6.png b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.6.png Binary files differnew file mode 100644 index 0000000..0801e57 --- /dev/null +++ b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.6.png diff --git a/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.7.png b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.7.png Binary files differnew file mode 100644 index 0000000..50ae966 --- /dev/null +++ b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.7.png diff --git a/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.8.png b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.8.png Binary files differnew file mode 100644 index 0000000..50ae966 --- /dev/null +++ b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.8.png diff --git a/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.9.png b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.9.png Binary files differnew file mode 100644 index 0000000..50ae966 --- /dev/null +++ b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.9.png diff --git a/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.qml b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.qml new file mode 100644 index 0000000..9b62da2 --- /dev/null +++ b/tests/auto/declarative/visual/qmlmouseregion/data/mouseregion.qml @@ -0,0 +1,7207 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 32 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 48 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 64 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 80 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 96 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 112 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 128 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 144 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 160 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 176 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 192 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 208 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 224 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 240 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 256 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 272 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 288 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 304 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 320 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 336 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 352 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 368 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 384 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 400 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 416 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 432 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 448 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 464 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 480 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 496 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 512 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 528 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 544 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 560 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 576 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 592 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 608 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 624 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 640 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 656 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 672 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 688 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 704 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 720 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 736 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 752 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 768 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 784 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 800 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 816 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 832 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 848 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 864 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 880 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 896 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 912 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 928 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 944 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 960 + image: "mouseregion.0.png" + } + Frame { + msec: 976 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 992 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1008 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1024 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1040 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1056 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1072 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1088 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1104 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1120 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1136 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1152 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1168 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1184 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1200 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1216 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1232 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1248 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1264 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1280 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1296 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1312 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1328 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1344 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1360 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1376 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1392 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1408 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1424 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1440 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1456 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1472 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1488 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1504 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1520 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1536 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1552 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1568 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1584 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1600 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1616 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 52; y: 1 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1632 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 50; y: 3 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1648 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 47; y: 5 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 46; y: 7 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 44; y: 9 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1664 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 43; y: 11 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1680 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 41; y: 13 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 40; y: 14 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1696 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 39; y: 15 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1712 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 38; y: 16 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1728 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1744 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1760 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1776 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1792 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1808 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1824 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 38; y: 16 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1840 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1856 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1872 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1888 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1904 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1920 + image: "mouseregion.1.png" + } + Frame { + msec: 1936 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1952 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1968 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 38; y: 16 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1984 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2000 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2016 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2032 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2048 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2064 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2080 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2096 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2112 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2128 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2144 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2160 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2176 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2192 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2208 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2224 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2240 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2256 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2272 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2288 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2304 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2320 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2336 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 2 + button: 2 + buttons: 2 + x: 38; y: 16 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2352 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2368 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2384 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2400 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2416 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2432 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2448 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2464 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2480 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2496 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 3 + button: 2 + buttons: 0 + x: 38; y: 16 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2512 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2528 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2544 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2560 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2576 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2592 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2608 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2624 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2640 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2656 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2672 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2688 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2704 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 38; y: 16 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2720 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2736 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2752 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2768 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2784 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2800 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2816 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2832 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 38; y: 16 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2848 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2864 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2880 + image: "mouseregion.2.png" + } + Frame { + msec: 2896 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2912 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2928 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2944 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2960 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2976 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 2992 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3008 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3024 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3040 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 41; y: 15 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 42; y: 15 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3056 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 44; y: 14 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 46; y: 14 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3072 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 49; y: 13 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3088 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 52; y: 13 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 55; y: 13 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3104 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 59; y: 12 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 65; y: 11 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3120 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 70; y: 11 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 76; y: 11 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3136 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 81; y: 11 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 86; y: 11 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3152 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 91; y: 11 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3168 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 95; y: 11 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 99; y: 12 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3184 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 103; y: 12 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 106; y: 12 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3200 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 110; y: 12 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3216 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 112; y: 12 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 116; y: 12 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 119; y: 12 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3232 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 121; y: 12 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 122; y: 12 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3248 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 123; y: 12 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3264 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3280 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3296 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3312 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 124; y: 12 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3328 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 125; y: 12 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 128; y: 13 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3344 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 130; y: 13 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3360 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 133; y: 14 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 136; y: 14 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 138; y: 15 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3376 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 140; y: 15 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3392 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 141; y: 15 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3408 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3424 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3440 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3456 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3472 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3488 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3504 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3520 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3536 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3552 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3568 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3584 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3600 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3616 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3632 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3648 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3664 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3680 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3696 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3712 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 141; y: 15 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3728 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3744 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3760 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3776 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3792 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3808 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 141; y: 15 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3824 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3840 + image: "mouseregion.3.png" + } + Frame { + msec: 3856 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3872 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3888 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3904 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3920 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3936 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3952 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3968 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 3984 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4000 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4016 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4032 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4048 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4064 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4080 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4096 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4112 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4128 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4144 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4160 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4176 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4192 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4208 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4224 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4240 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4256 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4272 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4288 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4304 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4320 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4336 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4352 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4368 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4384 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4400 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4416 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4432 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4448 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4464 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4480 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4496 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 2 + button: 2 + buttons: 2 + x: 141; y: 15 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4512 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4528 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4544 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4560 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4576 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 4592 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 3 + button: 2 + buttons: 0 + x: 141; y: 15 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4608 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 4624 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 4640 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 4656 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 4672 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 4688 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 4704 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 4720 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 4736 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 4752 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 4768 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 4784 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 4800 + image: "mouseregion.4.png" + } + Frame { + msec: 4816 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 4832 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 4848 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 4864 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 4880 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 4896 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 4912 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 4928 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 4944 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 4960 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 4976 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 4992 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 5008 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 5024 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 142; y: 15 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5040 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 145; y: 15 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 146; y: 15 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5056 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 148; y: 15 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 150; y: 15 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5072 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 153; y: 15 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 157; y: 15 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5088 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 160; y: 16 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 162; y: 16 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5104 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 165; y: 16 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 167; y: 16 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5120 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 170; y: 16 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5136 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 172; y: 16 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 174; y: 16 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5152 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 177; y: 16 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 179; y: 16 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5168 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 183; y: 16 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 185; y: 16 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5184 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 188; y: 16 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 190; y: 16 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5200 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 192; y: 16 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 194; y: 16 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5216 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 195; y: 15 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5232 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 196; y: 15 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 197; y: 15 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5248 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 198; y: 15 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 199; y: 15 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5264 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 201; y: 15 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 203; y: 14 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5280 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 205; y: 14 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 207; y: 14 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5296 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 209; y: 14 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5312 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 212; y: 14 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 215; y: 14 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 219; y: 14 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5328 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 222; y: 14 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5344 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 225; y: 14 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 228; y: 14 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5360 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 231; y: 14 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 232; y: 14 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5376 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 234; y: 15 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 235; y: 15 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5392 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 236; y: 15 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5408 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 237; y: 15 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5424 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 5440 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 5456 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 5472 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 5488 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 5504 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 238; y: 15 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5520 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 239; y: 15 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 239; y: 16 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5536 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 240; y: 16 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5552 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 5568 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 5584 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 5600 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 5616 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 5632 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 5648 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 5664 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 5680 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 5696 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 5712 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 5728 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 5744 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 5760 + image: "mouseregion.5.png" + } + Frame { + msec: 5776 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 5792 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 5808 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 5824 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 240; y: 16 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5840 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 5856 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 5872 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 5888 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 5904 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 240; y: 16 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5920 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 5936 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 5952 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 5968 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 5984 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6000 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6016 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6032 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6048 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6064 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6080 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6096 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6112 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6128 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6144 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6160 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6176 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6192 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6208 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6224 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6240 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6256 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6272 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6288 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6304 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6320 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6336 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6352 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 240; y: 16 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6368 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6384 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6400 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6416 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6432 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6448 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6464 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6480 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6496 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6512 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6528 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6544 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6560 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6576 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6592 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6608 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6624 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6640 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6656 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6672 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6688 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6704 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6720 + image: "mouseregion.6.png" + } + Frame { + msec: 6736 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6752 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6768 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6784 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6800 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6816 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6832 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6848 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6864 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6880 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6896 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6912 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6928 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6944 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6960 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6976 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 6992 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 7008 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 7024 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 7040 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 7056 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 7072 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 7088 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 7104 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 7120 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 7136 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 7152 + hash: "601dffcd1937164bd33eec3bcc09c5f6" + } + Frame { + msec: 7168 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7184 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7200 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7216 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7232 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7248 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7264 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7280 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7296 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7312 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7328 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7344 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7360 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7376 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7392 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7408 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7424 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7440 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7456 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7472 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7488 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 240; y: 16 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7504 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7520 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7536 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7552 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7568 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7584 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7600 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7616 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7632 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7648 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7664 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7680 + image: "mouseregion.7.png" + } + Frame { + msec: 7696 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7712 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7728 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7744 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7760 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7776 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7792 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7808 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 7824 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 240; y: 17 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 242; y: 19 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7840 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 246; y: 19 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7856 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 250; y: 19 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 252; y: 19 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7872 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 255; y: 19 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 257; y: 19 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7888 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 259; y: 19 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 261; y: 19 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7904 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 263; y: 19 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 265; y: 19 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7920 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 268; y: 19 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 270; y: 19 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7936 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 272; y: 19 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7952 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 275; y: 19 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 277; y: 19 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7968 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 280; y: 19 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 282; y: 19 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7984 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 284; y: 19 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 286; y: 19 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8000 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 289; y: 19 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 292; y: 19 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8016 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 295; y: 19 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 298; y: 19 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8032 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 303; y: 19 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8048 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 307; y: 19 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 311; y: 19 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 314; y: 19 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8064 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 317; y: 19 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8080 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 320; y: 19 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 322; y: 19 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8096 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 324; y: 19 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 326; y: 19 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8112 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 327; y: 19 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 328; y: 20 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8128 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 330; y: 20 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8144 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 332; y: 20 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 335; y: 20 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8160 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 337; y: 20 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 338; y: 20 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8176 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 339; y: 20 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8192 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8208 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8224 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8240 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8256 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8272 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8288 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8304 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8320 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8336 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8352 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8368 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8384 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8400 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8416 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8432 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 339; y: 20 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8448 + hash: "28c4b317215bd47c7bb52be8bd36de2e" + } + Frame { + msec: 8464 + hash: "28c4b317215bd47c7bb52be8bd36de2e" + } + Frame { + msec: 8480 + hash: "28c4b317215bd47c7bb52be8bd36de2e" + } + Frame { + msec: 8496 + hash: "28c4b317215bd47c7bb52be8bd36de2e" + } + Frame { + msec: 8512 + hash: "28c4b317215bd47c7bb52be8bd36de2e" + } + Frame { + msec: 8528 + hash: "28c4b317215bd47c7bb52be8bd36de2e" + } + Frame { + msec: 8544 + hash: "28c4b317215bd47c7bb52be8bd36de2e" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 339; y: 20 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8560 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8576 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8592 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8608 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8624 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8640 + image: "mouseregion.8.png" + } + Frame { + msec: 8656 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8672 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8688 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8704 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8720 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8736 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8752 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8768 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8784 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8800 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8816 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8832 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8848 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8864 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8880 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8896 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8912 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8928 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8944 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8960 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8976 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 8992 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 9008 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 9024 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 9040 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 9056 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 9072 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 9088 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 9104 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 9120 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 9136 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 9152 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 9168 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 9184 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 9200 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 9216 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 9232 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Frame { + msec: 9248 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 343; y: 20 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 341; y: 20 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9264 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 338; y: 20 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 332; y: 20 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9280 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 326; y: 20 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 319; y: 19 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9296 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 311; y: 19 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 304; y: 19 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9312 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 297; y: 19 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9328 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 292; y: 19 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 286; y: 19 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9344 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 281; y: 19 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 276; y: 19 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9360 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 272; y: 19 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9376 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 267; y: 19 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 264; y: 19 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 260; y: 19 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9392 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 256; y: 19 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9408 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 253; y: 19 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 251; y: 20 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9424 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 249; y: 20 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9440 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 247; y: 21 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 245; y: 21 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 242; y: 21 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9456 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 240; y: 22 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9472 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 237; y: 22 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 233; y: 23 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9488 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 230; y: 23 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 226; y: 24 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9504 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 222; y: 24 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 219; y: 24 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9520 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 215; y: 24 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 212; y: 24 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9536 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 208; y: 24 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9552 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 204; y: 24 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 200; y: 23 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9568 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 197; y: 23 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 194; y: 23 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9584 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 191; y: 23 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 188; y: 23 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9600 + image: "mouseregion.9.png" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 184; y: 23 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9616 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 181; y: 23 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 177; y: 23 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9632 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 173; y: 23 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 170; y: 23 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9648 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 168; y: 23 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 166; y: 23 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9664 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 165; y: 23 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9680 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 163; y: 23 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 161; y: 23 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9696 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 160; y: 23 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9712 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 158; y: 23 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 156; y: 23 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9728 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 154; y: 23 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 152; y: 23 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9744 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 149; y: 24 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 146; y: 24 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9760 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 144; y: 26 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 142; y: 26 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9776 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 140; y: 27 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9792 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 138; y: 28 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 136; y: 30 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9808 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 134; y: 31 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9824 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 133; y: 32 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 132; y: 33 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 131; y: 34 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9840 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 130; y: 35 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9856 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 128; y: 36 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 126; y: 37 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9872 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 124; y: 37 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 122; y: 38 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9888 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 119; y: 38 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 117; y: 39 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9904 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 114; y: 40 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9920 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 112; y: 41 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 109; y: 42 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9936 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 107; y: 43 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 104; y: 44 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9952 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 102; y: 44 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 99; y: 45 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9968 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 97; y: 46 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 95; y: 46 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9984 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 93; y: 47 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10000 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 92; y: 47 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 91; y: 47 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10016 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 90; y: 47 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10032 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 88; y: 48 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 87; y: 48 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 86; y: 48 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10048 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 85; y: 49 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10064 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 84; y: 49 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 82; y: 49 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10080 + hash: "8f117fb26412886b9b6e37b152dd05b2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 82; y: 50 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 81; y: 50 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10096 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 79; y: 51 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 77; y: 51 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10112 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 76; y: 52 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10128 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 74; y: 53 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 73; y: 54 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10144 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 72; y: 54 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 71; y: 55 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10160 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 70; y: 55 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 69; y: 56 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10176 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 68; y: 57 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10192 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 67; y: 58 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 66; y: 58 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10208 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 65; y: 59 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 64; y: 60 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10224 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 63; y: 60 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10240 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 62; y: 61 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 60; y: 62 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10256 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 59; y: 63 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10272 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 58; y: 64 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 57; y: 64 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 57; y: 65 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10288 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 56; y: 66 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10304 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 55; y: 66 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 54; y: 67 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10320 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Frame { + msec: 10336 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 53; y: 68 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 52; y: 69 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10352 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Frame { + msec: 10368 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Frame { + msec: 10384 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Frame { + msec: 10400 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Frame { + msec: 10416 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Frame { + msec: 10432 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Frame { + msec: 10448 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Frame { + msec: 10464 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Frame { + msec: 10480 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Frame { + msec: 10496 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Frame { + msec: 10512 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Frame { + msec: 10528 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Frame { + msec: 10544 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Frame { + msec: 10560 + image: "mouseregion.10.png" + } + Frame { + msec: 10576 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 51; y: 69 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 51; y: 68 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10592 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 51; y: 67 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10608 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 51; y: 66 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 51; y: 65 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10624 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 51; y: 64 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 51; y: 62 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10640 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 51; y: 60 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 51; y: 59 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10656 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 51; y: 57 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 51; y: 55 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10672 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 51; y: 54 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10688 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 51; y: 53 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 51; y: 51 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10704 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 51; y: 50 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 51; y: 48 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10720 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 51; y: 46 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 51; y: 44 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10736 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 51; y: 43 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 51; y: 42 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10752 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 51; y: 40 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10768 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 51; y: 39 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10784 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 51; y: 38 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10800 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 51; y: 37 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10816 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 10832 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 51; y: 36 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 51; y: 35 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10848 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 51; y: 34 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10864 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 51; y: 33 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10880 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 10896 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 10912 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 10928 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 10944 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 10960 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 10976 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 10992 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11008 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11024 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11040 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11056 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 51; y: 32 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11072 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11088 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11104 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11120 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11136 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11152 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 52; y: 32 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 53; y: 31 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11168 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 55; y: 31 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11184 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 57; y: 31 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 59; y: 31 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11200 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 62; y: 31 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 66; y: 31 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11216 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 70; y: 31 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 74; y: 31 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11232 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 78; y: 31 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11248 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 80; y: 31 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 83; y: 31 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 85; y: 31 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11264 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 87; y: 31 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 88; y: 31 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11280 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 90; y: 31 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11296 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 92; y: 31 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 94; y: 31 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11312 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 97; y: 31 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 100; y: 31 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11328 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 104; y: 31 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 108; y: 31 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11344 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 111; y: 31 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 115; y: 31 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11360 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 117; y: 32 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11376 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 120; y: 33 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 122; y: 33 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11392 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 124; y: 34 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 125; y: 34 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11408 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 126; y: 34 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11424 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 128; y: 34 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 128; y: 35 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 129; y: 35 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11440 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 130; y: 36 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11456 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 132; y: 36 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 134; y: 37 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11472 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 135; y: 38 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11488 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 136; y: 39 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 138; y: 40 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 139; y: 41 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11504 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 141; y: 43 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11520 + image: "mouseregion.11.png" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 142; y: 44 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 143; y: 46 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11536 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 144; y: 48 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 146; y: 49 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11552 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 147; y: 52 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 148; y: 54 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11568 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 149; y: 57 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 149; y: 59 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11584 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 150; y: 61 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11600 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 151; y: 62 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 151; y: 64 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11616 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 151; y: 65 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11632 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 151; y: 66 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11648 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 151; y: 67 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11664 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11680 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 151; y: 68 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11696 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11712 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11728 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11744 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11760 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11776 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11792 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11808 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11824 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11840 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11856 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11872 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11888 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11904 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11920 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11936 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11952 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11968 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11984 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12000 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12016 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 151; y: 68 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 12032 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12048 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12064 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12080 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12096 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 151; y: 68 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 12112 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12128 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12144 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12160 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12176 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12192 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12208 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12224 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12240 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12256 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12272 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12288 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12304 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12320 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12336 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12352 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12368 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12384 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12400 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12416 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12432 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12448 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12464 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12480 + image: "mouseregion.12.png" + } + Frame { + msec: 12496 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12512 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12528 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12544 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12560 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12576 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12592 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12608 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12624 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12640 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12656 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12672 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12688 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12704 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12720 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12736 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12752 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12768 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12784 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12800 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12816 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12832 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12848 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12864 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12880 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12896 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12912 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12928 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12944 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12960 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12976 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 12992 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13008 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13024 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13040 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13056 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13072 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13088 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13104 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13120 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13136 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13152 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13168 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13184 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13200 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13216 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13232 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 151; y: 68 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 13248 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13264 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13280 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 151; y: 68 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 13296 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13312 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13328 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13344 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13360 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13376 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Mouse { + type: 4 + button: 1 + buttons: 1 + x: 151; y: 68 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 13392 + hash: "484e280fc550de3c4de0a5f664031e21" + } + Frame { + msec: 13408 + hash: "484e280fc550de3c4de0a5f664031e21" + } + Frame { + msec: 13424 + hash: "484e280fc550de3c4de0a5f664031e21" + } + Frame { + msec: 13440 + image: "mouseregion.13.png" + } + Frame { + msec: 13456 + hash: "484e280fc550de3c4de0a5f664031e21" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 151; y: 68 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 13472 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13488 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13504 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13520 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13536 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13552 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13568 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13584 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13600 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13616 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13632 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13648 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13664 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13680 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13696 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13712 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13728 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13744 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13760 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13776 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13792 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13808 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13824 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13840 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13856 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13872 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13888 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13904 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13920 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13936 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13952 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13968 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 13984 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 14000 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 14016 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 14032 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 14048 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 14064 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 14080 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 14096 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 14112 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 14128 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 14144 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 14160 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 14176 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 14192 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 14208 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 14224 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 14240 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 14256 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 14272 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 14288 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 14304 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 14320 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 14336 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 14352 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 152; y: 68 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14368 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 155; y: 67 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 158; y: 66 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14384 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 162; y: 64 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 166; y: 63 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14400 + image: "mouseregion.14.png" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 171; y: 61 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 177; y: 59 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14416 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 182; y: 58 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 186; y: 58 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14432 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 191; y: 57 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 197; y: 56 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14448 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 202; y: 55 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14464 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 206; y: 54 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 211; y: 53 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14480 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 215; y: 52 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14496 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 218; y: 51 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 222; y: 50 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 226; y: 48 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14512 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 229; y: 47 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14528 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 233; y: 45 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 237; y: 44 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14544 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 242; y: 42 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 247; y: 40 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14560 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 252; y: 39 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14576 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 257; y: 37 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 261; y: 35 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 265; y: 34 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14592 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 269; y: 32 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 272; y: 31 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14608 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 275; y: 30 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 279; y: 29 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14624 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 281; y: 28 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14640 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 285; y: 28 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 287; y: 27 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14656 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 291; y: 27 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 294; y: 26 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14672 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 299; y: 25 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14688 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 303; y: 25 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 306; y: 24 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14704 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 310; y: 23 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 314; y: 21 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14720 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 318; y: 19 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 321; y: 17 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14736 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 323; y: 15 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 326; y: 14 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14752 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 328; y: 12 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 331; y: 11 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14768 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 334; y: 10 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14784 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 337; y: 9 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 340; y: 8 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14800 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 342; y: 7 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 345; y: 5 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14816 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 348; y: 3 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 351; y: 0 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14832 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 14848 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 14864 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 14880 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 14896 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 14912 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 14928 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 14944 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 14960 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 14976 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 14992 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 15008 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 15024 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 15040 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 15056 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 15072 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 15088 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 15104 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 15120 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 15136 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 15152 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 15168 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 15184 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 15200 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 15216 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 15232 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 15248 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 15264 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 15280 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 15296 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 15312 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 15328 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 15344 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 15360 + image: "mouseregion.15.png" + } + Frame { + msec: 15376 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 15392 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 15408 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 15424 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 15440 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 15456 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 15472 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 15488 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 15504 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 15520 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 15536 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } + Frame { + msec: 15552 + hash: "32b1a05d3c6a7c219cc36bbf0c7d3da8" + } +} diff --git a/tests/auto/declarative/visual/qmlmouseregion/mouseregion.qml b/tests/auto/declarative/visual/qmlmouseregion/mouseregion.qml new file mode 100644 index 0000000..3bd1812 --- /dev/null +++ b/tests/auto/declarative/visual/qmlmouseregion/mouseregion.qml @@ -0,0 +1,107 @@ +import Qt 4.6 + +Rectangle { + id: root + width: 400 + height: 100 + + // Left click on me + Rectangle { + width: 98; height: 48 + color: "red" + MouseRegion { + id: mr1 + anchors.fill: parent + enabled: false + onClicked: { parent.color = "blue"; root.error = "mr1 should ignore presses"; } + } + } + + // Left click, then right click + Rectangle { + x: 100 + width: 98; height: 48 + color: "red" + MouseRegion { + id: mr2 + anchors.fill: parent + acceptedButtons: Qt.RightButton + onClicked: { + if (mouse.button == Qt.RightButton) { + parent.color = "blue"; + } else { + parent.color = "green"; + root.error = "mr1 should ignore presses"; + } + } + } + } + + // press and hold me + Rectangle { + x: 200 + width: 98; height: 48 + color: "red" + MouseRegion { + id: mr3 + anchors.fill: parent + onPressAndHold: { + parent.color = "blue"; + } + } + } + + // click me + Rectangle { + x: 300 + width: 98; height: 48 + color: "red" + MouseRegion { + id: mr4 + anchors.fill: parent + onPressed: { + parent.color = "blue"; + } + onReleased: { + parent.color = "red"; + } + } + } + + // move into and out of me + Rectangle { + x: 0 + y: 50 + width: 98; height: 48 + color: "red" + MouseRegion { + id: mr5 + anchors.fill: parent + hoverEnabled: true + onEntered: { + parent.color = "blue"; + } + onExited: { + parent.color = "green"; + } + } + } + + // click, then double click me + Rectangle { + x: 100 + y: 50 + width: 98; height: 48 + color: "red" + MouseRegion { + id: mr6 + anchors.fill: parent + onClicked: { + parent.color = "blue"; + } + onDoubleClicked: { + parent.color = "green"; + } + } + } +} |