summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Jones <martin.jones@nokia.com>2009-11-13 03:44:29 (GMT)
committerMartin Jones <martin.jones@nokia.com>2009-11-13 03:44:29 (GMT)
commitee4278059939902482c7f457089aaf484358113b (patch)
tree0f15840254e76805f54c9229510949247a8bf6c4
parente8a762a61f380b2e27c14ac363767759c34064cf (diff)
parenta5563a8636b871def972f20083b11247caa6cb5a (diff)
downloadQt-ee4278059939902482c7f457089aaf484358113b.zip
Qt-ee4278059939902482c7f457089aaf484358113b.tar.gz
Qt-ee4278059939902482c7f457089aaf484358113b.tar.bz2
Merge branch 'kinetic-declarativeui' of git@scm.dev.nokia.troll.no:qt/kinetic into kinetic-declarativeui
-rw-r--r--doc/src/declarative/extending.qdoc1
-rw-r--r--doc/src/declarative/globalobject.qdoc1
-rw-r--r--doc/src/snippets/declarative/border-image.qml31
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsborderimage.cpp2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsitem.cpp64
-rw-r--r--src/declarative/graphicsitems/qmlgraphicswebview.cpp20
-rw-r--r--src/declarative/qml/qmlcomponent.cpp16
-rw-r--r--src/declarative/qml/qmlinfo.cpp2
-rw-r--r--src/declarative/util/qmlstategroup.cpp2
-rw-r--r--src/declarative/util/qmltimer.cpp2
-rw-r--r--src/declarative/util/qmltransition.cpp3
-rw-r--r--src/declarative/util/qmlview.cpp38
-rw-r--r--src/declarative/util/qmlview.h2
-rw-r--r--src/declarative/util/qmlxmllistmodel.cpp26
-rw-r--r--src/declarative/widgets/graphicslayouts.cpp13
-rw-r--r--src/declarative/widgets/graphicslayouts_p.h13
-rw-r--r--src/declarative/widgets/graphicswidgets.cpp26
-rw-r--r--src/qbase.pri2
-rw-r--r--tests/auto/declarative/qmlxmllistmodel/data/unique.qml8
-rw-r--r--tests/auto/declarative/qmlxmllistmodel/tst_qmlxmllistmodel.cpp15
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.0.pngbin0 -> 1303 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.1.pngbin0 -> 1317 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.2.pngbin0 -> 1318 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.3.pngbin0 -> 1306 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.4.pngbin0 -> 1308 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.5.pngbin0 -> 1303 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.6.pngbin0 -> 1323 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.7.pngbin0 -> 1325 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.8.pngbin0 -> 1346 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.9.pngbin0 -> 1303 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.qml2859
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.0.pngbin0 -> 1310 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.1.pngbin0 -> 1335 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.10.pngbin0 -> 1313 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.2.pngbin0 -> 1319 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.3.pngbin0 -> 1335 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.4.pngbin0 -> 1375 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.5.pngbin0 -> 1335 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.6.pngbin0 -> 1348 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.7.pngbin0 -> 1311 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.8.pngbin0 -> 1352 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.9.pngbin0 -> 1354 bytes
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.qml3071
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsgridview/gridview.qml51
-rw-r--r--tests/auto/declarative/visual/qmlgraphicsgridview/gridview2.qml57
45 files changed, 6195 insertions, 130 deletions
diff --git a/doc/src/declarative/extending.qdoc b/doc/src/declarative/extending.qdoc
index 7a4e51c..7a9de60 100644
--- a/doc/src/declarative/extending.qdoc
+++ b/doc/src/declarative/extending.qdoc
@@ -849,6 +849,7 @@ Item {
\endcode
\section1 Defining new Components
+\target components
A component is a reusable type with a well-defined interface built entirely in
QML. Components appear as regular QML elements, and can be used interchangably
diff --git a/doc/src/declarative/globalobject.qdoc b/doc/src/declarative/globalobject.qdoc
index 06f6bdc..a39d858 100644
--- a/doc/src/declarative/globalobject.qdoc
+++ b/doc/src/declarative/globalobject.qdoc
@@ -122,7 +122,6 @@ This function plays the audio file located at \c soundLocation. Only .wav files
\section3 Qt.openUrlExternally(url target)
This function attempts to open the specified \c target url in an external application, based on the user's desktop preferences. It will return true if it succeeds, and false otherwise.
-\endlist
\section1 Dynamic Object Creation
The following functions on the global object allow you to dynamically create QML
diff --git a/doc/src/snippets/declarative/border-image.qml b/doc/src/snippets/declarative/border-image.qml
new file mode 100644
index 0000000..c4215cd
--- /dev/null
+++ b/doc/src/snippets/declarative/border-image.qml
@@ -0,0 +1,31 @@
+import Qt 4.6
+
+Rectangle {
+ id: page
+ color: "white"
+ width: 520; height: 280
+
+ Row {
+ anchors.centerIn: parent
+ spacing: 50
+//! [0]
+ BorderImage {
+ width: 180; height: 180
+ border.left: 30; border.top: 30
+ border.right: 30; border.bottom: 30
+ horizontalTileMode: BorderImage.Stretch
+ verticalTileMode: BorderImage.Stretch
+ source: "content/colors.png"
+ }
+
+ BorderImage {
+ width: 180; height: 180
+ border.left: 30; border.top: 30
+ border.right: 30; border.bottom: 30
+ horizontalTileMode: BorderImage.Round
+ verticalTileMode: BorderImage.Round
+ source: "content/colors.png"
+ }
+//! [0]
+ }
+}
diff --git a/src/declarative/graphicsitems/qmlgraphicsborderimage.cpp b/src/declarative/graphicsitems/qmlgraphicsborderimage.cpp
index 634215e..04e79f9 100644
--- a/src/declarative/graphicsitems/qmlgraphicsborderimage.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsborderimage.cpp
@@ -55,7 +55,7 @@ QML_DEFINE_TYPE(Qt,4,6,BorderImage,QmlGraphicsBorderImage)
\brief The BorderImage element provides an image that can be used as a border.
\inherits Item
- \snippet examples/declarative/border-image/example.qml 0
+ \snippet snippets/declarative/border-image.qml 0
\image BorderImage.png
diff --git a/src/declarative/graphicsitems/qmlgraphicsitem.cpp b/src/declarative/graphicsitems/qmlgraphicsitem.cpp
index 69564c4..ca45f62 100644
--- a/src/declarative/graphicsitems/qmlgraphicsitem.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsitem.cpp
@@ -1325,6 +1325,24 @@ QmlGraphicsKeysAttached *QmlGraphicsKeysAttached::qmlAttachedProperties(QObject
}
\endqml
+ \section1 Identity
+
+ Each item has an "id" - the identifier of the Item.
+
+ The identifier can be used in bindings and other expressions to
+ refer to the item. For example:
+
+ \qml
+ Text { id: myText; ... }
+ Text { text: myText.text }
+ \endqml
+
+ The identifier is available throughout to the \l {components}{component}
+ where it is declared. The identifier must be unique in the component.
+
+ The id should not be thought of as a "property" - it makes no sense
+ to write \c myText.id, for example.
+
\section1 Key Handling
Key handling is available to all Item-based visual elements via the \l {Keys}{Keys}
@@ -1510,6 +1528,14 @@ void QmlGraphicsItem::setParentItem(QmlGraphicsItem *parent)
}
/*!
+ \fn void QmlGraphicsItem::setParent(QmlGraphicsItem *parent)
+ \overload
+ Sets both the parent object and parent item to \a parent. This
+ function avoids the programming error of calling setParent()
+ when you mean setParentItem().
+*/
+
+/*!
Returns the QmlGraphicsItem parent of this item.
*/
QmlGraphicsItem *QmlGraphicsItem::parentItem() const
@@ -1994,22 +2020,6 @@ QVariant QmlGraphicsItem::inputMethodQuery(Qt::InputMethodQuery query) const
}
/*!
- \qmlproperty string Item::id
- This property holds the identifier for the item.
-
- The identifier can be used in bindings and other expressions to
- refer to the item. For example:
-
- \qml
- Text { id: myText; ... }
- Text { text: myText.text }
- \endqml
-
- The identifier is available throughout to the \l {components}{component}
- where it is declared. The identifier must be unique in thecomponent.
-*/
-
-/*!
\internal
*/
QmlGraphicsAnchorLine QmlGraphicsItem::left() const
@@ -2357,7 +2367,7 @@ bool QmlGraphicsItem::keepMouseGrab() const
to steal a mouse grab if it detects that the user has begun to
move the viewport.
- \sa keepMouseGrab
+ \sa keepMouseGrab()
*/
void QmlGraphicsItem::setKeepMouseGrab(bool keep)
{
@@ -2801,12 +2811,19 @@ void QmlGraphicsItem::resetWidth()
setImplicitWidth(implicitWidth());
}
+/*!
+ Returns the width of the item that is implied by other properties that determine the content.
+*/
qreal QmlGraphicsItem::implicitWidth() const
{
Q_D(const QmlGraphicsItem);
return d->implicitWidth;
}
+/*!
+ Sets the implied width of the item to \a w.
+ This is the width implied by other properties that determine the content.
+*/
void QmlGraphicsItem::setImplicitWidth(qreal w)
{
Q_D(QmlGraphicsItem);
@@ -2824,6 +2841,9 @@ void QmlGraphicsItem::setImplicitWidth(qreal w)
QRectF(x(), y(), oldWidth, height()));
}
+/*!
+ Returns whether the width property has been set explicitly.
+*/
bool QmlGraphicsItem::widthValid() const
{
Q_D(const QmlGraphicsItem);
@@ -2860,12 +2880,19 @@ void QmlGraphicsItem::resetHeight()
setImplicitHeight(implicitHeight());
}
+/*!
+ Returns the height of the item that is implied by other properties that determine the content.
+*/
qreal QmlGraphicsItem::implicitHeight() const
{
Q_D(const QmlGraphicsItem);
return d->implicitHeight;
}
+/*!
+ Sets the implied height of the item to \a h.
+ This is the height implied by other properties that determine the content.
+*/
void QmlGraphicsItem::setImplicitHeight(qreal h)
{
Q_D(QmlGraphicsItem);
@@ -2883,6 +2910,9 @@ void QmlGraphicsItem::setImplicitHeight(qreal h)
QRectF(x(), y(), width(), oldHeight));
}
+/*!
+ Returns whether the height property has been set explicitly.
+*/
bool QmlGraphicsItem::heightValid() const
{
Q_D(const QmlGraphicsItem);
diff --git a/src/declarative/graphicsitems/qmlgraphicswebview.cpp b/src/declarative/graphicsitems/qmlgraphicswebview.cpp
index 14c4352..6dbf053 100644
--- a/src/declarative/graphicsitems/qmlgraphicswebview.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicswebview.cpp
@@ -309,7 +309,8 @@ QmlGraphicsWebView::Status QmlGraphicsWebView::status() const
\qmlproperty real WebView::progress
This property holds the progress of loading the current URL, from 0 to 1.
- \sa onLoadFinished() onLoadFailed()
+ If you just want to know when progress gets to 1, use
+ WebView::onLoadFinished() or WebView::onLoadFailed() instead.
*/
qreal QmlGraphicsWebView::progress() const
{
@@ -1057,27 +1058,26 @@ void QmlGraphicsWebView::setPage(QWebPage *page)
\qmlsignal WebView::onLoadStarted()
This handler is called when the web engine begins loading
- a page.
-
- \sa progress onLoadFinished() onLoadFailed()
+ a page. Later, WebView::onLoadFinished() or WebView::onLoadFailed()
+ will be emitted.
*/
/*!
\qmlsignal WebView::onLoadFinished()
- This handler is called when the web engine finishes loading
- a page, including any component content.
+ This handler is called when the web engine \e successfully
+ finishes loading a page, including any component content
+ (WebView::onLoadFailed() will be emitted otherwise).
- \sa progress onLoadFailed()
+ \sa progress
*/
/*!
\qmlsignal WebView::onLoadFailed()
This handler is called when the web engine fails loading
- a page or any component content.
-
- \sa progress onLoadFinished()
+ a page or any component content
+ (WebView::onLoadFinished() will be emitted on success).
*/
void QmlGraphicsWebView::load(const QNetworkRequest &request,
diff --git a/src/declarative/qml/qmlcomponent.cpp b/src/declarative/qml/qmlcomponent.cpp
index 3c142a7..e31a1b5 100644
--- a/src/declarative/qml/qmlcomponent.cpp
+++ b/src/declarative/qml/qmlcomponent.cpp
@@ -236,7 +236,9 @@ QmlComponent::Status QmlComponent::status() const
}
/*!
- Returns true if the component is in the Null state, false otherwise.
+ \property QmlComponent::isNull
+
+ Is true if the component is in the Null state, false otherwise.
Equivalent to status() == QmlComponent::Null.
*/
@@ -246,7 +248,9 @@ bool QmlComponent::isNull() const
}
/*!
- Returns true if the component is in the Ready state, false otherwise.
+ \property QmlComponent::isReady
+
+ Is true if the component is in the Ready state, false otherwise.
Equivalent to status() == QmlComponent::Ready.
*/
@@ -256,7 +260,9 @@ bool QmlComponent::isReady() const
}
/*!
- Returns true if the component is in the Error state, false otherwise.
+ \property QmlComponent::isError
+
+ Is true if the component is in the Error state, false otherwise.
Equivalent to status() == QmlComponent::Error.
*/
@@ -266,7 +272,9 @@ bool QmlComponent::isError() const
}
/*!
- Returns true if the component is in the Loading state, false otherwise.
+ \property QmlComponent::isLoading
+
+ Is true if the component is in the Loading state, false otherwise.
Equivalent to status() == QmlComponent::Loading.
*/
diff --git a/src/declarative/qml/qmlinfo.cpp b/src/declarative/qml/qmlinfo.cpp
index 7a194e0..bbd6022 100644
--- a/src/declarative/qml/qmlinfo.cpp
+++ b/src/declarative/qml/qmlinfo.cpp
@@ -47,7 +47,7 @@
QT_BEGIN_NAMESPACE
/*!
- \fn void qmlInfo(const QString& message, const QObject *object)
+ \fn QmlInfo qmlInfo(const QObject *object)
\brief Prints warnings messages that include the file and line number for QML types.
diff --git a/src/declarative/util/qmlstategroup.cpp b/src/declarative/util/qmlstategroup.cpp
index 2d3ca4c..506ab82 100644
--- a/src/declarative/util/qmlstategroup.cpp
+++ b/src/declarative/util/qmlstategroup.cpp
@@ -109,7 +109,7 @@ public:
}
\endqml
- \sa {qmlstate}{States} and {state-transitions}{Transitions}
+ \sa {qmlstate}{States} {state-transitions}{Transitions}
*/
QmlStateGroup::QmlStateGroup(QObject *parent)
diff --git a/src/declarative/util/qmltimer.cpp b/src/declarative/util/qmltimer.cpp
index c1b3504..0be62f4 100644
--- a/src/declarative/util/qmltimer.cpp
+++ b/src/declarative/util/qmltimer.cpp
@@ -260,7 +260,7 @@ void QmlTimer::componentComplete()
}
/*!
- \qmlsignal Timer::onTriggered
+ \qmlsignal Timer::onTriggered()
This handler is called when the Timer is triggered.
*/
diff --git a/src/declarative/util/qmltransition.cpp b/src/declarative/util/qmltransition.cpp
index 7eb9e53..204887c 100644
--- a/src/declarative/util/qmltransition.cpp
+++ b/src/declarative/util/qmltransition.cpp
@@ -111,7 +111,7 @@ public:
public:
AnimationList() : parent(0) {}
virtual void append(QmlAbstractAnimation *a);
- virtual void clear() { QmlConcreteList<QmlAbstractAnimation *>::clear(); } //XXX
+ virtual void clear() { QmlConcreteList<QmlAbstractAnimation *>::clear(); } //###
QmlTransitionPrivate *parent;
};
@@ -127,7 +127,6 @@ void QmlTransitionPrivate::AnimationList::append(QmlAbstractAnimation *a)
void ParallelAnimationWrapper::updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState)
{
QParallelAnimationGroup::updateState(newState, oldState);
- //XXX not 100% guaranteed to be at end (if there are many zero duration animations at the end)?
if (newState == Stopped &&
((direction() == QAbstractAnimation::Forward && currentLoopTime() == duration()) ||
(direction() == QAbstractAnimation::Backward && currentLoopTime() == 0)))
diff --git a/src/declarative/util/qmlview.cpp b/src/declarative/util/qmlview.cpp
index f294d65..63115bb 100644
--- a/src/declarative/util/qmlview.cpp
+++ b/src/declarative/util/qmlview.cpp
@@ -124,12 +124,6 @@ void FrameBreakAnimation::updateCurrentTime(int msecs)
server->frameBreak();
}
-
-static QVariant stringToKeySequence(const QString &str)
-{
- return QVariant::fromValue(QKeySequence(str));
-}
-
class QmlViewPrivate
{
public:
@@ -190,13 +184,12 @@ QmlView::QmlView(QWidget *parent)
void QmlViewPrivate::init()
{
- // XXX: These need to be put in a central location for this kind of thing
- QmlMetaType::registerCustomStringConverter(QVariant::KeySequence, &stringToKeySequence);
-
#ifdef Q_ENABLE_PERFORMANCE_LOG
- QmlPerfTimer<QmlPerf::FontDatabase> perf;
+ {
+ QmlPerfTimer<QmlPerf::FontDatabase> perf;
+ QFontDatabase database;
+ }
#endif
- QFontDatabase database;
q->setScene(&scene);
@@ -520,7 +513,7 @@ QmlGraphicsItem* QmlView::addItem(const QString &qml, QmlGraphicsItem* parent)
}
/*!
- Deletes the view's \l {QmlGraphicsItem} {items} and the \l {QmlEngine}
+ Deletes the view's \l {QmlGraphicsItem} {items} and clears the \l {QmlEngine}
{QML engine's} Component cache.
*/
void QmlView::reset()
@@ -582,25 +575,4 @@ void QmlView::paintEvent(QPaintEvent *event)
qDebug() << "paintEvent:" << d->frameTimer.elapsed() << "time since last frame:" << time;
}
-/*! \fn void QmlView::focusInEvent(QFocusEvent *e)
- This virtual function does nothing with the event \a e
- in this class.
- */
-void QmlView::focusInEvent(QFocusEvent *e)
-{
- // Do nothing (do not call QWidget::update())
- QGraphicsView::focusInEvent(e);
-}
-
-
-/*! \fn void QmlView::focusOutEvent(QFocusEvent *e)
- This virtual function does nothing with the event \a e
- in this class.
- */
-void QmlView::focusOutEvent(QFocusEvent *e)
-{
- // Do nothing (do not call QWidget::update())
- QGraphicsView::focusOutEvent(e);
-}
-
QT_END_NAMESPACE
diff --git a/src/declarative/util/qmlview.h b/src/declarative/util/qmlview.h
index 08d69bc..83c4f97 100644
--- a/src/declarative/util/qmlview.h
+++ b/src/declarative/util/qmlview.h
@@ -98,8 +98,6 @@ private Q_SLOTS:
protected:
virtual void resizeEvent(QResizeEvent *);
virtual void paintEvent(QPaintEvent *event);
- void focusInEvent(QFocusEvent *);
- void focusOutEvent(QFocusEvent *);
void timerEvent(QTimerEvent*);
private:
diff --git a/src/declarative/util/qmlxmllistmodel.cpp b/src/declarative/util/qmlxmllistmodel.cpp
index 43be9b9..2dfffbf 100644
--- a/src/declarative/util/qmlxmllistmodel.cpp
+++ b/src/declarative/util/qmlxmllistmodel.cpp
@@ -132,8 +132,6 @@ struct QmlXmlRoleList : public QmlConcreteList<QmlXmlListModelRole *>
QmlXmlRoleList(QmlXmlListModelPrivate *p)
: model(p) {}
virtual void append(QmlXmlListModelRole *role);
- //XXX clear, removeAt, and insert need to invalidate any cached data (in data table) as well
- // (and the model should emit the appropriate signals)
virtual void clear();
virtual void removeAt(int i);
virtual void insert(int i, QmlXmlListModelRole *role);
@@ -309,7 +307,7 @@ void QmlXmlQuery::doSubQueryJob()
b.seek(0);
}
- //XXX this method is much slower, but would work better for incremental loading
+ //this method is much slower, but works better for incremental loading
/*for (int j = 0; j < m_size; ++j) {
QList<QVariant> resultList;
for (int i = 0; i < m_roleObjects->size(); ++i) {
@@ -338,13 +336,6 @@ void QmlXmlQuery::doSubQueryJob()
}*/
}
-
-//TODO: error handling (currently quite fragile)
-// profile doQuery and doSubquery
-// support complex/nested objects?
-// how do we handle data updates (like rss feed -- usually items inserted at beginning)
-
-
class QmlXmlListModelPrivate : public QObjectPrivate
{
Q_DECLARE_PUBLIC(QmlXmlListModel)
@@ -373,14 +364,12 @@ public:
};
-void QmlXmlRoleList::append(QmlXmlListModelRole *role) {
- QmlConcreteList<QmlXmlListModelRole *>::append(role);
- model->roles << model->highestRole;
- model->roleNames << role->name();
- ++model->highestRole;
+void QmlXmlRoleList::append(QmlXmlListModelRole *role)
+{
+ insert(size(), role);
}
-//XXX clear, removeAt, and insert need to invalidate any cached data (in data table) as well
+//### clear, removeAt, and insert need to invalidate any cached data (in data table) as well
// (and the model should emit the appropriate signals)
void QmlXmlRoleList::clear()
{
@@ -396,10 +385,13 @@ void QmlXmlRoleList::removeAt(int i)
QmlConcreteList<QmlXmlListModelRole *>::removeAt(i);
}
-//### we should enforce unique role names
void QmlXmlRoleList::insert(int i, QmlXmlListModelRole *role)
{
QmlConcreteList<QmlXmlListModelRole *>::insert(i, role);
+ if (model->roleNames.contains(role->name())) {
+ qmlInfo(role) << QObject::tr("\"%1\" duplicates a previous role name and will be disabled.").arg(role->name());
+ return;
+ }
model->roles.insert(i, model->highestRole);
model->roleNames.insert(i, role->name());
++model->highestRole;
diff --git a/src/declarative/widgets/graphicslayouts.cpp b/src/declarative/widgets/graphicslayouts.cpp
index 9658049..0721102 100644
--- a/src/declarative/widgets/graphicslayouts.cpp
+++ b/src/declarative/widgets/graphicslayouts.cpp
@@ -128,11 +128,11 @@ void QGraphicsLinearLayoutObject::insertLayoutItem(int index, QGraphicsLayoutIte
this, SLOT(updateStretch(QGraphicsLayoutItem*,int)));
QObject::connect(obj, SIGNAL(alignmentChanged(QGraphicsLayoutItem*,Qt::Alignment)),
this, SLOT(updateAlignment(QGraphicsLayoutItem*,Qt::Alignment)));
- //XXX need to disconnect when widget is removed?
+ //### need to disconnect when widget is removed?
}
}
-//XXX is there a better way to do this?
+//### is there a better way to do this?
void QGraphicsLinearLayoutObject::clearChildren()
{
for (int i = 0; i < count(); ++i)
@@ -156,11 +156,6 @@ LinearLayoutAttached *QGraphicsLinearLayoutObject::qmlAttachedProperties(QObject
if (!qobject_cast<QGraphicsLayoutItem*>(obj))
return 0;
LinearLayoutAttached *rv = new LinearLayoutAttached(obj);
- /*if (QGraphicsLinearLayoutObject *lo = qobject_cast<QGraphicsLinearLayoutObject*>(obj->parent()))
- QObject::connect(rv, SIGNAL(stretchChanged(QGraphicsLayoutItem*,int)),
- lo, SLOT(updateStretch(QGraphicsLayoutItem*,int)));
- QObject::connect(rv, SIGNAL(alignmentChanged(QGraphicsLayoutItem*,Qt::Alignment)),
- lo, SLOT(updateAlignment(QGraphicsLayoutItem*,Qt::Alignment)));*/
attachedProperties.insert(qobject_cast<QGraphicsLayoutItem*>(obj), rv);
return rv;
}
@@ -293,7 +288,7 @@ void QGraphicsGridLayoutObject::addLayoutItem(QGraphicsLayoutItem *item)
}
}
-//XXX is there a better way to do this?
+//### is there a better way to do this?
void QGraphicsGridLayoutObject::clearChildren()
{
for (int i = 0; i < count(); ++i)
@@ -304,7 +299,7 @@ qreal QGraphicsGridLayoutObject::spacing() const
{
if (verticalSpacing() == horizontalSpacing())
return verticalSpacing();
- return -1; //XXX
+ return -1; //###
}
QHash<QGraphicsLayoutItem*, GridLayoutAttached*> QGraphicsGridLayoutObject::attachedProperties;
diff --git a/src/declarative/widgets/graphicslayouts_p.h b/src/declarative/widgets/graphicslayouts_p.h
index 5358e2b..c44cb79 100644
--- a/src/declarative/widgets/graphicslayouts_p.h
+++ b/src/declarative/widgets/graphicslayouts_p.h
@@ -62,10 +62,6 @@ public:
virtual QSizeF sizeHint(Qt::SizeHint, const QSizeF &) const;
};
-//TODO:
-// -content margins
-// -per-item spacing (does this need to be exposed?)
-// -per-item alignment
class LinearLayoutAttached;
class QGraphicsLinearLayoutObject : public QObject, public QGraphicsLinearLayout
{
@@ -117,13 +113,6 @@ private:
ChildList _children;
};
-//TODO:
-// -content margins
-// -column and row specific settings:
-// -alignment
-// -fixed/min/max/preferred width
-// -spacing
-// -stretch
class GridLayoutAttached;
class QGraphicsGridLayoutObject : public QObject, public QGraphicsGridLayout
{
@@ -166,7 +155,7 @@ private:
virtual int count() const { return obj->count(); }
virtual void removeAt(int i) { obj->removeAt(i); }
virtual QGraphicsLayoutItem *at(int i) const { return obj->itemAt(i); }
- //XXX GridLayout doesn't have an insert, so for now we treat it as an append.
+ //### GridLayout doesn't have an insert, so for now we treat it as an append.
// this is obviously potenitally dangerous -- perhaps should be a concrete
// list with no relation to layout index, etc at all.
virtual void insert(int, QGraphicsLayoutItem *item) { append(item); }
diff --git a/src/declarative/widgets/graphicswidgets.cpp b/src/declarative/widgets/graphicswidgets.cpp
index 5678520..40ba93e 100644
--- a/src/declarative/widgets/graphicswidgets.cpp
+++ b/src/declarative/widgets/graphicswidgets.cpp
@@ -43,7 +43,6 @@
QT_BEGIN_NAMESPACE
-//### the single (default) property could alternatively be added to graphics view directly
class QGraphicsViewDeclarativeUI : public QObject
{
Q_OBJECT
@@ -83,27 +82,23 @@ private:
virtual void clear()
{
for (int i = 0; i < count(); ++i)
- if (QGraphicsWidget *w = qobject_cast<QGraphicsWidget *>(at(i)))
- static_cast<QGraphicsScene *>(q)->removeItem(w);
+ if (QGraphicsObject *go = qobject_cast<QGraphicsObject *>(at(i)))
+ static_cast<QGraphicsScene *>(q)->removeItem(go);
QmlConcreteList<QObject *>::clear();
}
virtual void removeAt(int i)
{
- if (QGraphicsWidget *w = qobject_cast<QGraphicsWidget *>(at(i)))
- static_cast<QGraphicsScene *>(q)->removeItem(w);
+ if (QGraphicsObject *go = qobject_cast<QGraphicsObject *>(at(i)))
+ static_cast<QGraphicsScene *>(q)->removeItem(go);
QmlConcreteList<QObject *>::removeAt(i);
}
virtual void insert(int i, QObject *o)
{
QmlConcreteList<QObject *>::insert(i, o);
-
- //XXX are there any cases when insertion should be different from appension?
- if (QGraphicsWidget *w = qobject_cast<QGraphicsWidget *>(o))
- static_cast<QGraphicsScene *>(q)->addItem(w);
+ if (QGraphicsObject *go = qobject_cast<QGraphicsObject *>(o))
+ static_cast<QGraphicsScene *>(q)->addItem(go);
//else if (QWidget *w = qobject_cast<QWidget *>(o))
// static_cast<QGraphicsScene *>(q)->addWidget(w);
- //else
- // qWarning() << "Can't add" << o << "to a QGraphicsScene";
}
private:
QObject *q;
@@ -139,11 +134,6 @@ private:
wid->setParentItem(static_cast<QGraphicsWidget *>(parent()));
}
- //###
- void clearWidget()
- {
- }
-
class WidgetList : public QmlConcreteList<QGraphicsItem *>
{
public:
@@ -151,8 +141,8 @@ private:
: obj(o) {}
virtual void append(QGraphicsItem *w) { QmlConcreteList<QGraphicsItem *>::append(w); obj->setItemParent(w); }
- virtual void clear() { QmlConcreteList<QGraphicsItem *>::clear(); obj->clearWidget(); }
- virtual void removeAt(int i) { QmlConcreteList<QGraphicsItem *>::removeAt(i); } //XXX
+ virtual void clear() { QmlConcreteList<QGraphicsItem *>::clear(); } //###
+ virtual void removeAt(int i) { QmlConcreteList<QGraphicsItem *>::removeAt(i); } //###
virtual void insert(int i, QGraphicsItem *item) { QmlConcreteList<QGraphicsItem *>::insert(i, item); obj->setItemParent(item); }
private:
diff --git a/src/qbase.pri b/src/qbase.pri
index b9c8c06..052bded 100644
--- a/src/qbase.pri
+++ b/src/qbase.pri
@@ -1,5 +1,5 @@
isEmpty(TARGET):error(You must set TARGET before include()'ing $${_FILE_})
-!equals(TARGET, QtDeclarative): contains():INCLUDEPATH *= $$QMAKE_INCDIR_QT/$$TARGET #just for today to have some compat
+!equals(TARGET, QtDeclarative): INCLUDEPATH *= $$QMAKE_INCDIR_QT/$$TARGET #just for today to have some compat
!isEmpty(RCC_DIR): INCLUDEPATH += $$RCC_DIR
isEmpty(QT_ARCH):!isEmpty(ARCH):QT_ARCH=$$ARCH #another compat that will rot for change #215700
TEMPLATE = lib
diff --git a/tests/auto/declarative/qmlxmllistmodel/data/unique.qml b/tests/auto/declarative/qmlxmllistmodel/data/unique.qml
new file mode 100644
index 0000000..ed0f293
--- /dev/null
+++ b/tests/auto/declarative/qmlxmllistmodel/data/unique.qml
@@ -0,0 +1,8 @@
+import Qt 4.6
+
+XmlListModel {
+ source: "model.xml"
+ query: "/Pets/Pet"
+ XmlRole { name: "name"; query: "name/string()" }
+ XmlRole { name: "name"; query: "type/string()" }
+}
diff --git a/tests/auto/declarative/qmlxmllistmodel/tst_qmlxmllistmodel.cpp b/tests/auto/declarative/qmlxmllistmodel/tst_qmlxmllistmodel.cpp
index 71bc4f9..a68006d 100644
--- a/tests/auto/declarative/qmlxmllistmodel/tst_qmlxmllistmodel.cpp
+++ b/tests/auto/declarative/qmlxmllistmodel/tst_qmlxmllistmodel.cpp
@@ -58,6 +58,7 @@ private slots:
void attributes();
void roles();
void roleErrors();
+ void uniqueRoleNames();
private:
QmlEngine engine;
@@ -175,6 +176,20 @@ void tst_qmlxmllistmodel::roleErrors()
delete listModel;
}
+void tst_qmlxmllistmodel::uniqueRoleNames()
+{
+ QmlComponent component(&engine, QUrl("file://" SRCDIR "/data/unique.qml"));
+ QTest::ignoreMessage(QtWarningMsg, "QML QmlXmlListModelRole (file://" SRCDIR "/data/unique.qml:7:5) \"name\" duplicates a previous role name and will be disabled.");
+ QmlXmlListModel *listModel = qobject_cast<QmlXmlListModel*>(component.create());
+ QVERIFY(listModel != 0);
+ QTRY_COMPARE(listModel->count(), 9);
+
+ QList<int> roles = listModel->roles();
+ QCOMPARE(roles.count(), 1);
+
+ delete listModel;
+}
+
QTEST_MAIN(tst_qmlxmllistmodel)
#include "tst_qmlxmllistmodel.moc"
diff --git a/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.0.png b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.0.png
new file mode 100644
index 0000000..6c82777
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.1.png b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.1.png
new file mode 100644
index 0000000..07b1f7c
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.1.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.2.png b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.2.png
new file mode 100644
index 0000000..f2f08c0
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.2.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.3.png b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.3.png
new file mode 100644
index 0000000..08649f9
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.3.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.4.png b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.4.png
new file mode 100644
index 0000000..f9c2f17
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.4.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.5.png b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.5.png
new file mode 100644
index 0000000..52ec0bd
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.5.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.6.png b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.6.png
new file mode 100644
index 0000000..3fe25be
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.6.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.7.png b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.7.png
new file mode 100644
index 0000000..4cc12a6
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.7.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.8.png b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.8.png
new file mode 100644
index 0000000..2267f23
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.8.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.9.png b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.9.png
new file mode 100644
index 0000000..6c82777
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.9.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.qml b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.qml
new file mode 100644
index 0000000..c7ac52d
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview.qml
@@ -0,0 +1,2859 @@
+import Qt.VisualTest 4.6
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ hash: "c33447c78ea64452ec3cd1696fb502eb"
+ }
+ Frame {
+ msec: 32
+ hash: "c33447c78ea64452ec3cd1696fb502eb"
+ }
+ Frame {
+ msec: 48
+ hash: "c33447c78ea64452ec3cd1696fb502eb"
+ }
+ Frame {
+ msec: 64
+ hash: "c33447c78ea64452ec3cd1696fb502eb"
+ }
+ Frame {
+ msec: 80
+ hash: "c33447c78ea64452ec3cd1696fb502eb"
+ }
+ Frame {
+ msec: 96
+ hash: "c33447c78ea64452ec3cd1696fb502eb"
+ }
+ Frame {
+ msec: 112
+ hash: "c33447c78ea64452ec3cd1696fb502eb"
+ }
+ Frame {
+ msec: 128
+ hash: "c33447c78ea64452ec3cd1696fb502eb"
+ }
+ Frame {
+ msec: 144
+ hash: "c33447c78ea64452ec3cd1696fb502eb"
+ }
+ Frame {
+ msec: 160
+ hash: "c33447c78ea64452ec3cd1696fb502eb"
+ }
+ Frame {
+ msec: 176
+ hash: "c33447c78ea64452ec3cd1696fb502eb"
+ }
+ Frame {
+ msec: 192
+ hash: "c33447c78ea64452ec3cd1696fb502eb"
+ }
+ Frame {
+ msec: 208
+ hash: "c33447c78ea64452ec3cd1696fb502eb"
+ }
+ Frame {
+ msec: 224
+ hash: "c33447c78ea64452ec3cd1696fb502eb"
+ }
+ Frame {
+ msec: 240
+ hash: "c33447c78ea64452ec3cd1696fb502eb"
+ }
+ Frame {
+ msec: 256
+ hash: "c33447c78ea64452ec3cd1696fb502eb"
+ }
+ Frame {
+ msec: 272
+ hash: "c33447c78ea64452ec3cd1696fb502eb"
+ }
+ Frame {
+ msec: 288
+ hash: "c33447c78ea64452ec3cd1696fb502eb"
+ }
+ Frame {
+ msec: 304
+ hash: "c33447c78ea64452ec3cd1696fb502eb"
+ }
+ Frame {
+ msec: 320
+ hash: "c33447c78ea64452ec3cd1696fb502eb"
+ }
+ Frame {
+ msec: 336
+ hash: "c33447c78ea64452ec3cd1696fb502eb"
+ }
+ Frame {
+ msec: 352
+ hash: "c33447c78ea64452ec3cd1696fb502eb"
+ }
+ Frame {
+ msec: 368
+ hash: "c33447c78ea64452ec3cd1696fb502eb"
+ }
+ Frame {
+ msec: 384
+ hash: "c33447c78ea64452ec3cd1696fb502eb"
+ }
+ Frame {
+ msec: 400
+ hash: "c33447c78ea64452ec3cd1696fb502eb"
+ }
+ Frame {
+ msec: 416
+ hash: "c33447c78ea64452ec3cd1696fb502eb"
+ }
+ Frame {
+ msec: 432
+ hash: "c33447c78ea64452ec3cd1696fb502eb"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 448
+ hash: "96ad89eafa7f99269518a192573af91b"
+ }
+ Frame {
+ msec: 464
+ hash: "735b00b968d0e2ea1f34cc0bdc028a8e"
+ }
+ Frame {
+ msec: 480
+ hash: "ce37c8e15fbb1aea72aff9629683fa96"
+ }
+ Frame {
+ msec: 496
+ hash: "a3f2471ef4ceac77a1c20ac327550d8d"
+ }
+ Frame {
+ msec: 512
+ hash: "28f120bd3bda9552dbc8cc908409c67d"
+ }
+ Frame {
+ msec: 528
+ hash: "f21cf0ed746fa48e67dc90c70c5bbae8"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 544
+ hash: "485d55730366b68e01582879f6970fa1"
+ }
+ Frame {
+ msec: 560
+ hash: "700e53c78b28993dce5dafb4035f4760"
+ }
+ Frame {
+ msec: 576
+ hash: "1e538e175a5e402e2334cf354392e8a7"
+ }
+ Frame {
+ msec: 592
+ hash: "0fbfba93eebaf05ae60067b365b6b4bc"
+ }
+ Frame {
+ msec: 608
+ hash: "7b1893397b76b0c95094eeca1dd21446"
+ }
+ Frame {
+ msec: 624
+ hash: "7b1893397b76b0c95094eeca1dd21446"
+ }
+ Frame {
+ msec: 640
+ hash: "7b1893397b76b0c95094eeca1dd21446"
+ }
+ Frame {
+ msec: 656
+ hash: "7b1893397b76b0c95094eeca1dd21446"
+ }
+ Frame {
+ msec: 672
+ hash: "7b1893397b76b0c95094eeca1dd21446"
+ }
+ Frame {
+ msec: 688
+ hash: "7b1893397b76b0c95094eeca1dd21446"
+ }
+ Frame {
+ msec: 704
+ hash: "7b1893397b76b0c95094eeca1dd21446"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 720
+ hash: "25e48099a8194ed2674651818d854c61"
+ }
+ Frame {
+ msec: 736
+ hash: "b75d02dfc238ba2292306ca1421279c3"
+ }
+ Frame {
+ msec: 752
+ hash: "7e48b7d9c1291b4e438c81f44228d8ad"
+ }
+ Frame {
+ msec: 768
+ hash: "fe4b009abe081a6eaeab6ef9e996f3fd"
+ }
+ Frame {
+ msec: 784
+ hash: "edea8c305fe88708dbafc03e427caa09"
+ }
+ Frame {
+ msec: 800
+ hash: "7b58803f12d0ab893acf539799d79e31"
+ }
+ Frame {
+ msec: 816
+ hash: "9b56c3d1d140114dcc57d0a8568e9b95"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 832
+ hash: "35e38e273dbc8e565917b21d00fc1530"
+ }
+ Frame {
+ msec: 848
+ hash: "116e294391333e8780daeca54c3d51ea"
+ }
+ Frame {
+ msec: 864
+ hash: "6219676215f82540d7a53b2a8aa60279"
+ }
+ Frame {
+ msec: 880
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 896
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 912
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 928
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 944
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 960
+ image: "gridview.0.png"
+ }
+ Frame {
+ msec: 976
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 992
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 1008
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 1024
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 1040
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 1056
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 1072
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 1088
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 1104
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 1120
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 1136
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 1152
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 1168
+ hash: "2667c2596de97dc15353158eba03495f"
+ }
+ Frame {
+ msec: 1184
+ hash: "6a7b64e1427dcb7e438aa09a739cbc7b"
+ }
+ Frame {
+ msec: 1200
+ hash: "5bad6dc745958f5827403ea593c78752"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 1216
+ hash: "b393401219ada7d094a451dba8af3f1a"
+ }
+ Frame {
+ msec: 1232
+ hash: "ba656452f8adf3d1ca7db9286274c37f"
+ }
+ Frame {
+ msec: 1248
+ hash: "1e9725c8c364a491f34035fad1f77c63"
+ }
+ Frame {
+ msec: 1264
+ hash: "a0aef0b65446dec0673b5cec3a260390"
+ }
+ Frame {
+ msec: 1280
+ hash: "d60c11a5d376af0831d6f05f2a839a92"
+ }
+ Frame {
+ msec: 1296
+ hash: "1dd2c456c6ee9cc8f9be0e9f3617d44b"
+ }
+ Frame {
+ msec: 1312
+ hash: "56208e6551e2f4202bab2d62a1cf46a2"
+ }
+ Frame {
+ msec: 1328
+ hash: "caa3c1a106d549e6bb94a1746bd7a53c"
+ }
+ Frame {
+ msec: 1344
+ hash: "caa3c1a106d549e6bb94a1746bd7a53c"
+ }
+ Frame {
+ msec: 1360
+ hash: "caa3c1a106d549e6bb94a1746bd7a53c"
+ }
+ Frame {
+ msec: 1376
+ hash: "caa3c1a106d549e6bb94a1746bd7a53c"
+ }
+ Frame {
+ msec: 1392
+ hash: "caa3c1a106d549e6bb94a1746bd7a53c"
+ }
+ Frame {
+ msec: 1408
+ hash: "caa3c1a106d549e6bb94a1746bd7a53c"
+ }
+ Frame {
+ msec: 1424
+ hash: "caa3c1a106d549e6bb94a1746bd7a53c"
+ }
+ Frame {
+ msec: 1440
+ hash: "caa3c1a106d549e6bb94a1746bd7a53c"
+ }
+ Frame {
+ msec: 1456
+ hash: "caa3c1a106d549e6bb94a1746bd7a53c"
+ }
+ Frame {
+ msec: 1472
+ hash: "caa3c1a106d549e6bb94a1746bd7a53c"
+ }
+ Frame {
+ msec: 1488
+ hash: "caa3c1a106d549e6bb94a1746bd7a53c"
+ }
+ Frame {
+ msec: 1504
+ hash: "caa3c1a106d549e6bb94a1746bd7a53c"
+ }
+ Frame {
+ msec: 1520
+ hash: "caa3c1a106d549e6bb94a1746bd7a53c"
+ }
+ Frame {
+ msec: 1536
+ hash: "caa3c1a106d549e6bb94a1746bd7a53c"
+ }
+ Frame {
+ msec: 1552
+ hash: "caa3c1a106d549e6bb94a1746bd7a53c"
+ }
+ Frame {
+ msec: 1568
+ hash: "caa3c1a106d549e6bb94a1746bd7a53c"
+ }
+ Frame {
+ msec: 1584
+ hash: "caa3c1a106d549e6bb94a1746bd7a53c"
+ }
+ Frame {
+ msec: 1600
+ hash: "caa3c1a106d549e6bb94a1746bd7a53c"
+ }
+ Frame {
+ msec: 1616
+ hash: "caa3c1a106d549e6bb94a1746bd7a53c"
+ }
+ Frame {
+ msec: 1632
+ hash: "caa3c1a106d549e6bb94a1746bd7a53c"
+ }
+ Frame {
+ msec: 1648
+ hash: "caa3c1a106d549e6bb94a1746bd7a53c"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 1664
+ hash: "f0f00d22d15ed9828db7b5f3a3669fe9"
+ }
+ Frame {
+ msec: 1680
+ hash: "153e7984089530bbd052c9e4f62eb14c"
+ }
+ Frame {
+ msec: 1696
+ hash: "0525d40cc58d054a3abd7ee2486576f8"
+ }
+ Frame {
+ msec: 1712
+ hash: "8c23d5245774ab5252c98c19c33f8171"
+ }
+ Frame {
+ msec: 1728
+ hash: "5ca243794d1350f04cf973d4bfc8ab89"
+ }
+ Frame {
+ msec: 1744
+ hash: "d19b7f4c0897aba498e122d83b4cbbf1"
+ }
+ Frame {
+ msec: 1760
+ hash: "99e41460dd8efc6e5c3faf54b14c3d43"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 1776
+ hash: "703469f8b133156ed3aabe02762d66c3"
+ }
+ Frame {
+ msec: 1792
+ hash: "1cc2c383e988048db76a80d8d7f5a0e2"
+ }
+ Frame {
+ msec: 1808
+ hash: "8e87117c19eb9d6e600c44e0f3869ae1"
+ }
+ Frame {
+ msec: 1824
+ hash: "8304d2432168a2ea8a887d9a135b40b4"
+ }
+ Frame {
+ msec: 1840
+ hash: "8304d2432168a2ea8a887d9a135b40b4"
+ }
+ Frame {
+ msec: 1856
+ hash: "8304d2432168a2ea8a887d9a135b40b4"
+ }
+ Frame {
+ msec: 1872
+ hash: "8304d2432168a2ea8a887d9a135b40b4"
+ }
+ Frame {
+ msec: 1888
+ hash: "8304d2432168a2ea8a887d9a135b40b4"
+ }
+ Frame {
+ msec: 1904
+ hash: "8304d2432168a2ea8a887d9a135b40b4"
+ }
+ Frame {
+ msec: 1920
+ image: "gridview.1.png"
+ }
+ Frame {
+ msec: 1936
+ hash: "8304d2432168a2ea8a887d9a135b40b4"
+ }
+ Frame {
+ msec: 1952
+ hash: "8304d2432168a2ea8a887d9a135b40b4"
+ }
+ Frame {
+ msec: 1968
+ hash: "8304d2432168a2ea8a887d9a135b40b4"
+ }
+ Frame {
+ msec: 1984
+ hash: "8304d2432168a2ea8a887d9a135b40b4"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 2000
+ hash: "4924037ce643d0748b8b2c666e61fd62"
+ }
+ Frame {
+ msec: 2016
+ hash: "ef9750584e669a8b2d415d13854e12a6"
+ }
+ Frame {
+ msec: 2032
+ hash: "69937eacef6e6b11ad1d5741c69a1faa"
+ }
+ Frame {
+ msec: 2048
+ hash: "a1bd870fffd95a0604dd8e170e571632"
+ }
+ Frame {
+ msec: 2064
+ hash: "a3a72386594aacc88977cdaa6441df48"
+ }
+ Frame {
+ msec: 2080
+ hash: "6d8e89de38d52f0f0f871dfa18361cb5"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 2096
+ hash: "96cfb1eb6893fac86c9434d1ffb82fcb"
+ }
+ Frame {
+ msec: 2112
+ hash: "5e11df1660634ff317be474118174ec5"
+ }
+ Frame {
+ msec: 2128
+ hash: "2eb75858b50c3a9a80673ab89014ed63"
+ }
+ Frame {
+ msec: 2144
+ hash: "3ff5d66f7902af92d49ebebf04d16c26"
+ }
+ Frame {
+ msec: 2160
+ hash: "570da61e2d48acd11474fe005110ab4b"
+ }
+ Frame {
+ msec: 2176
+ hash: "570da61e2d48acd11474fe005110ab4b"
+ }
+ Frame {
+ msec: 2192
+ hash: "570da61e2d48acd11474fe005110ab4b"
+ }
+ Frame {
+ msec: 2208
+ hash: "570da61e2d48acd11474fe005110ab4b"
+ }
+ Frame {
+ msec: 2224
+ hash: "570da61e2d48acd11474fe005110ab4b"
+ }
+ Frame {
+ msec: 2240
+ hash: "570da61e2d48acd11474fe005110ab4b"
+ }
+ Frame {
+ msec: 2256
+ hash: "570da61e2d48acd11474fe005110ab4b"
+ }
+ Frame {
+ msec: 2272
+ hash: "570da61e2d48acd11474fe005110ab4b"
+ }
+ Frame {
+ msec: 2288
+ hash: "570da61e2d48acd11474fe005110ab4b"
+ }
+ Frame {
+ msec: 2304
+ hash: "570da61e2d48acd11474fe005110ab4b"
+ }
+ Frame {
+ msec: 2320
+ hash: "570da61e2d48acd11474fe005110ab4b"
+ }
+ Frame {
+ msec: 2336
+ hash: "570da61e2d48acd11474fe005110ab4b"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 2352
+ hash: "efeda5b2d97e1b7c22e2308250501cb7"
+ }
+ Frame {
+ msec: 2368
+ hash: "d6158379b699279f66b94a8418e53af1"
+ }
+ Frame {
+ msec: 2384
+ hash: "ab960b0669fa594e0552df623a9136ea"
+ }
+ Frame {
+ msec: 2400
+ hash: "0ebf6be1305ee1eb8740f4d0365ef4c5"
+ }
+ Frame {
+ msec: 2416
+ hash: "46cde47dffc6f2687c8c643eca09b95d"
+ }
+ Frame {
+ msec: 2432
+ hash: "2b8698ce02a6964115d960ae19f40c37"
+ }
+ Frame {
+ msec: 2448
+ hash: "ff1e7d800bb27b41710c50554adc1091"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 2464
+ hash: "5837b3aca09038cae23dcb149acc8b0b"
+ }
+ Frame {
+ msec: 2480
+ hash: "dbe7c571cdbdb9de4fd01faa6d5374cf"
+ }
+ Frame {
+ msec: 2496
+ hash: "f431abcaf05f49ead909296d7649f8a9"
+ }
+ Frame {
+ msec: 2512
+ hash: "043583b19c921740dbc990afd4f508ed"
+ }
+ Frame {
+ msec: 2528
+ hash: "043583b19c921740dbc990afd4f508ed"
+ }
+ Frame {
+ msec: 2544
+ hash: "043583b19c921740dbc990afd4f508ed"
+ }
+ Frame {
+ msec: 2560
+ hash: "043583b19c921740dbc990afd4f508ed"
+ }
+ Frame {
+ msec: 2576
+ hash: "043583b19c921740dbc990afd4f508ed"
+ }
+ Frame {
+ msec: 2592
+ hash: "043583b19c921740dbc990afd4f508ed"
+ }
+ Frame {
+ msec: 2608
+ hash: "043583b19c921740dbc990afd4f508ed"
+ }
+ Frame {
+ msec: 2624
+ hash: "043583b19c921740dbc990afd4f508ed"
+ }
+ Frame {
+ msec: 2640
+ hash: "043583b19c921740dbc990afd4f508ed"
+ }
+ Frame {
+ msec: 2656
+ hash: "043583b19c921740dbc990afd4f508ed"
+ }
+ Frame {
+ msec: 2672
+ hash: "043583b19c921740dbc990afd4f508ed"
+ }
+ Frame {
+ msec: 2688
+ hash: "043583b19c921740dbc990afd4f508ed"
+ }
+ Frame {
+ msec: 2704
+ hash: "043583b19c921740dbc990afd4f508ed"
+ }
+ Frame {
+ msec: 2720
+ hash: "043583b19c921740dbc990afd4f508ed"
+ }
+ Frame {
+ msec: 2736
+ hash: "043583b19c921740dbc990afd4f508ed"
+ }
+ Frame {
+ msec: 2752
+ hash: "043583b19c921740dbc990afd4f508ed"
+ }
+ Frame {
+ msec: 2768
+ hash: "043583b19c921740dbc990afd4f508ed"
+ }
+ Frame {
+ msec: 2784
+ hash: "043583b19c921740dbc990afd4f508ed"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 2800
+ hash: "4f2fafdb59db544352e3067d67c0a714"
+ }
+ Frame {
+ msec: 2816
+ hash: "4dcd4cdf6f4e305732185ec52cd2f2f6"
+ }
+ Frame {
+ msec: 2832
+ hash: "dfd3c29b0520edbbee57dfacfa7e2b30"
+ }
+ Frame {
+ msec: 2848
+ hash: "257d3d8bcf78671d35a898befec091cb"
+ }
+ Frame {
+ msec: 2864
+ hash: "20e89c544284603943396694abe86756"
+ }
+ Frame {
+ msec: 2880
+ image: "gridview.2.png"
+ }
+ Frame {
+ msec: 2896
+ hash: "b88c6af89423b32b3a4413035711df03"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 2912
+ hash: "e34de13af44c449c9ecc86e06ce01ed2"
+ }
+ Frame {
+ msec: 2928
+ hash: "98ffe81129aa7cc7325764221f1dae59"
+ }
+ Frame {
+ msec: 2944
+ hash: "db2d545de9879362738e71a02a3d1d26"
+ }
+ Frame {
+ msec: 2960
+ hash: "e67ae32a47213b360c1a445bf645dde2"
+ }
+ Frame {
+ msec: 2976
+ hash: "e67ae32a47213b360c1a445bf645dde2"
+ }
+ Frame {
+ msec: 2992
+ hash: "e67ae32a47213b360c1a445bf645dde2"
+ }
+ Frame {
+ msec: 3008
+ hash: "e67ae32a47213b360c1a445bf645dde2"
+ }
+ Frame {
+ msec: 3024
+ hash: "e67ae32a47213b360c1a445bf645dde2"
+ }
+ Frame {
+ msec: 3040
+ hash: "e67ae32a47213b360c1a445bf645dde2"
+ }
+ Frame {
+ msec: 3056
+ hash: "e67ae32a47213b360c1a445bf645dde2"
+ }
+ Frame {
+ msec: 3072
+ hash: "e67ae32a47213b360c1a445bf645dde2"
+ }
+ Frame {
+ msec: 3088
+ hash: "e67ae32a47213b360c1a445bf645dde2"
+ }
+ Frame {
+ msec: 3104
+ hash: "e67ae32a47213b360c1a445bf645dde2"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 3120
+ hash: "02d8c90faf56c65252e4f938944bda7b"
+ }
+ Frame {
+ msec: 3136
+ hash: "a32994e2320e357241f63b956b6db236"
+ }
+ Frame {
+ msec: 3152
+ hash: "9ada466c26c217adbcd7a93df264ed75"
+ }
+ Frame {
+ msec: 3168
+ hash: "79d1a3489be95d113e8c611a2ba63456"
+ }
+ Frame {
+ msec: 3184
+ hash: "d3aa82455c4ae3ac25097354e132a30f"
+ }
+ Frame {
+ msec: 3200
+ hash: "62d12e5933ed4ed048ccafd229f4b2b7"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 3216
+ hash: "5bc4ac94ae20e425084d0811dee1ba08"
+ }
+ Frame {
+ msec: 3232
+ hash: "6d5113e3732dc7a9172eea3667a01f7b"
+ }
+ Frame {
+ msec: 3248
+ hash: "e435a2588b25d3336f290331931f5981"
+ }
+ Frame {
+ msec: 3264
+ hash: "bce201adbeb319b181cce139f179d7f0"
+ }
+ Frame {
+ msec: 3280
+ hash: "5fa3ec31176bed2de8cb076b87e0be74"
+ }
+ Frame {
+ msec: 3296
+ hash: "5fa3ec31176bed2de8cb076b87e0be74"
+ }
+ Frame {
+ msec: 3312
+ hash: "5fa3ec31176bed2de8cb076b87e0be74"
+ }
+ Frame {
+ msec: 3328
+ hash: "5fa3ec31176bed2de8cb076b87e0be74"
+ }
+ Frame {
+ msec: 3344
+ hash: "5fa3ec31176bed2de8cb076b87e0be74"
+ }
+ Frame {
+ msec: 3360
+ hash: "5fa3ec31176bed2de8cb076b87e0be74"
+ }
+ Frame {
+ msec: 3376
+ hash: "5fa3ec31176bed2de8cb076b87e0be74"
+ }
+ Frame {
+ msec: 3392
+ hash: "5fa3ec31176bed2de8cb076b87e0be74"
+ }
+ Frame {
+ msec: 3408
+ hash: "5fa3ec31176bed2de8cb076b87e0be74"
+ }
+ Frame {
+ msec: 3424
+ hash: "5fa3ec31176bed2de8cb076b87e0be74"
+ }
+ Frame {
+ msec: 3440
+ hash: "5fa3ec31176bed2de8cb076b87e0be74"
+ }
+ Frame {
+ msec: 3456
+ hash: "5fa3ec31176bed2de8cb076b87e0be74"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 3472
+ hash: "8f0f3cd35ae92047f23084f447046eb8"
+ }
+ Frame {
+ msec: 3488
+ hash: "ceb12e6c5e9f0566039040d9f3ff587f"
+ }
+ Frame {
+ msec: 3504
+ hash: "dfd0c89c3ea73aceefcdafa71609c720"
+ }
+ Frame {
+ msec: 3520
+ hash: "8d8ed1a9dc6a9f74dfc81b79f02af4c5"
+ }
+ Frame {
+ msec: 3536
+ hash: "d450bd62e03e1e4c7cb66e98ece05f97"
+ }
+ Frame {
+ msec: 3552
+ hash: "d1ece2210cd24eedd5361e5c3a162236"
+ }
+ Frame {
+ msec: 3568
+ hash: "77589e48b9db95e702055753046319e5"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 3584
+ hash: "7793263ecb831a1e63fbd76c8addde03"
+ }
+ Frame {
+ msec: 3600
+ hash: "bfa9675f981c37fed27dea100226f61a"
+ }
+ Frame {
+ msec: 3616
+ hash: "9780849fe8abd22c32ccafcdd46b0d65"
+ }
+ Frame {
+ msec: 3632
+ hash: "e63d987ba303a42046827f14941b444a"
+ }
+ Frame {
+ msec: 3648
+ hash: "e63d987ba303a42046827f14941b444a"
+ }
+ Frame {
+ msec: 3664
+ hash: "e63d987ba303a42046827f14941b444a"
+ }
+ Frame {
+ msec: 3680
+ hash: "e63d987ba303a42046827f14941b444a"
+ }
+ Frame {
+ msec: 3696
+ hash: "e63d987ba303a42046827f14941b444a"
+ }
+ Frame {
+ msec: 3712
+ hash: "e63d987ba303a42046827f14941b444a"
+ }
+ Frame {
+ msec: 3728
+ hash: "e63d987ba303a42046827f14941b444a"
+ }
+ Frame {
+ msec: 3744
+ hash: "e63d987ba303a42046827f14941b444a"
+ }
+ Frame {
+ msec: 3760
+ hash: "e63d987ba303a42046827f14941b444a"
+ }
+ Frame {
+ msec: 3776
+ hash: "e63d987ba303a42046827f14941b444a"
+ }
+ Frame {
+ msec: 3792
+ hash: "e63d987ba303a42046827f14941b444a"
+ }
+ Frame {
+ msec: 3808
+ hash: "e63d987ba303a42046827f14941b444a"
+ }
+ Frame {
+ msec: 3824
+ hash: "e63d987ba303a42046827f14941b444a"
+ }
+ Frame {
+ msec: 3840
+ image: "gridview.3.png"
+ }
+ Frame {
+ msec: 3856
+ hash: "e63d987ba303a42046827f14941b444a"
+ }
+ Frame {
+ msec: 3872
+ hash: "e63d987ba303a42046827f14941b444a"
+ }
+ Frame {
+ msec: 3888
+ hash: "e63d987ba303a42046827f14941b444a"
+ }
+ Frame {
+ msec: 3904
+ hash: "e63d987ba303a42046827f14941b444a"
+ }
+ Frame {
+ msec: 3920
+ hash: "e63d987ba303a42046827f14941b444a"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 3936
+ hash: "a61dbcb7d914afe34009085bf37fb8e2"
+ }
+ Frame {
+ msec: 3952
+ hash: "89175b83b4f7ee4b5d99219cdc97aa59"
+ }
+ Frame {
+ msec: 3968
+ hash: "f524421286503f6175e4ad71dd89145f"
+ }
+ Frame {
+ msec: 3984
+ hash: "ca5af7d98a008eccba1e21be0da61f3c"
+ }
+ Frame {
+ msec: 4000
+ hash: "77c19e7e17e00787ff0d7a4e7bad7bc8"
+ }
+ Frame {
+ msec: 4016
+ hash: "04c8db761e324101ad92e0ac9ceed7d4"
+ }
+ Frame {
+ msec: 4032
+ hash: "97a3dcb81349efab6b44d458e83ce5c4"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 4048
+ hash: "e86ebc276b88705c97cc9efb66ccc6b2"
+ }
+ Frame {
+ msec: 4064
+ hash: "a134bbfd14879f13b288a04d23382348"
+ }
+ Frame {
+ msec: 4080
+ hash: "9530ad3f58ad1c66401572869f7d91bc"
+ }
+ Frame {
+ msec: 4096
+ hash: "db3d030de94b19ea1db5c60be7c7ca5c"
+ }
+ Frame {
+ msec: 4112
+ hash: "db3d030de94b19ea1db5c60be7c7ca5c"
+ }
+ Frame {
+ msec: 4128
+ hash: "db3d030de94b19ea1db5c60be7c7ca5c"
+ }
+ Frame {
+ msec: 4144
+ hash: "db3d030de94b19ea1db5c60be7c7ca5c"
+ }
+ Frame {
+ msec: 4160
+ hash: "db3d030de94b19ea1db5c60be7c7ca5c"
+ }
+ Frame {
+ msec: 4176
+ hash: "db3d030de94b19ea1db5c60be7c7ca5c"
+ }
+ Frame {
+ msec: 4192
+ hash: "db3d030de94b19ea1db5c60be7c7ca5c"
+ }
+ Frame {
+ msec: 4208
+ hash: "db3d030de94b19ea1db5c60be7c7ca5c"
+ }
+ Frame {
+ msec: 4224
+ hash: "db3d030de94b19ea1db5c60be7c7ca5c"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 4240
+ hash: "980e0fa84fd3bab496623936f5f220a2"
+ }
+ Frame {
+ msec: 4256
+ hash: "ed3268911723d664699bbc31317befc1"
+ }
+ Frame {
+ msec: 4272
+ hash: "3bfda4b3b0b2d2a97ec1c0b5b3f4da63"
+ }
+ Frame {
+ msec: 4288
+ hash: "1616c6def28659d51905564ff83cc112"
+ }
+ Frame {
+ msec: 4304
+ hash: "68342f34c18956d3a093f8eeeae6977e"
+ }
+ Frame {
+ msec: 4320
+ hash: "ac1b12959e9055a28fe2bda0a12b75bc"
+ }
+ Frame {
+ msec: 4336
+ hash: "009b85ff6b86e418c78ed33a5e88d3f1"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 4352
+ hash: "59753bc7dc69767fe2109fdc41f20dae"
+ }
+ Frame {
+ msec: 4368
+ hash: "1c87d3d8c8d564d4d95a26f57fd28f38"
+ }
+ Frame {
+ msec: 4384
+ hash: "4e43b7b6787002c9013010dd74c83f49"
+ }
+ Frame {
+ msec: 4400
+ hash: "2476aa1a7191b485a76c76e98c9be2b0"
+ }
+ Frame {
+ msec: 4416
+ hash: "2476aa1a7191b485a76c76e98c9be2b0"
+ }
+ Frame {
+ msec: 4432
+ hash: "2476aa1a7191b485a76c76e98c9be2b0"
+ }
+ Frame {
+ msec: 4448
+ hash: "2476aa1a7191b485a76c76e98c9be2b0"
+ }
+ Frame {
+ msec: 4464
+ hash: "2476aa1a7191b485a76c76e98c9be2b0"
+ }
+ Frame {
+ msec: 4480
+ hash: "2476aa1a7191b485a76c76e98c9be2b0"
+ }
+ Frame {
+ msec: 4496
+ hash: "2476aa1a7191b485a76c76e98c9be2b0"
+ }
+ Frame {
+ msec: 4512
+ hash: "2476aa1a7191b485a76c76e98c9be2b0"
+ }
+ Frame {
+ msec: 4528
+ hash: "2476aa1a7191b485a76c76e98c9be2b0"
+ }
+ Frame {
+ msec: 4544
+ hash: "2476aa1a7191b485a76c76e98c9be2b0"
+ }
+ Frame {
+ msec: 4560
+ hash: "2476aa1a7191b485a76c76e98c9be2b0"
+ }
+ Frame {
+ msec: 4576
+ hash: "2476aa1a7191b485a76c76e98c9be2b0"
+ }
+ Frame {
+ msec: 4592
+ hash: "2476aa1a7191b485a76c76e98c9be2b0"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 4608
+ hash: "84de5b5e8b0fba190a783c72967661c7"
+ }
+ Frame {
+ msec: 4624
+ hash: "60b696f4913379d28f300fd1b531c6cb"
+ }
+ Frame {
+ msec: 4640
+ hash: "d01e651d9094332fd82ad1cea3e93e9d"
+ }
+ Frame {
+ msec: 4656
+ hash: "87be4cd7c894b03b2b64c996e915d71f"
+ }
+ Frame {
+ msec: 4672
+ hash: "b07fccb0c5565d2feed5a9fcdf8acead"
+ }
+ Frame {
+ msec: 4688
+ hash: "3dca3165fd34be549d21fb6c414c67d8"
+ }
+ Frame {
+ msec: 4704
+ hash: "5f69f3298f8ca73fa9b3b6e630c60186"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 4720
+ hash: "d7f41e9a29d550a7d9a41bb947569abe"
+ }
+ Frame {
+ msec: 4736
+ hash: "4ede2e90ad216a2d44580c50a25dea23"
+ }
+ Frame {
+ msec: 4752
+ hash: "9b339845ee588b789dc9095c272e0bdf"
+ }
+ Frame {
+ msec: 4768
+ hash: "9cdea4790972efaecabd52b435107e69"
+ }
+ Frame {
+ msec: 4784
+ hash: "9cdea4790972efaecabd52b435107e69"
+ }
+ Frame {
+ msec: 4800
+ image: "gridview.4.png"
+ }
+ Frame {
+ msec: 4816
+ hash: "9cdea4790972efaecabd52b435107e69"
+ }
+ Frame {
+ msec: 4832
+ hash: "9cdea4790972efaecabd52b435107e69"
+ }
+ Frame {
+ msec: 4848
+ hash: "9cdea4790972efaecabd52b435107e69"
+ }
+ Frame {
+ msec: 4864
+ hash: "9cdea4790972efaecabd52b435107e69"
+ }
+ Frame {
+ msec: 4880
+ hash: "9cdea4790972efaecabd52b435107e69"
+ }
+ Frame {
+ msec: 4896
+ hash: "9cdea4790972efaecabd52b435107e69"
+ }
+ Frame {
+ msec: 4912
+ hash: "9cdea4790972efaecabd52b435107e69"
+ }
+ Frame {
+ msec: 4928
+ hash: "9cdea4790972efaecabd52b435107e69"
+ }
+ Frame {
+ msec: 4944
+ hash: "9cdea4790972efaecabd52b435107e69"
+ }
+ Frame {
+ msec: 4960
+ hash: "9cdea4790972efaecabd52b435107e69"
+ }
+ Frame {
+ msec: 4976
+ hash: "9cdea4790972efaecabd52b435107e69"
+ }
+ Frame {
+ msec: 4992
+ hash: "9cdea4790972efaecabd52b435107e69"
+ }
+ Frame {
+ msec: 5008
+ hash: "9cdea4790972efaecabd52b435107e69"
+ }
+ Frame {
+ msec: 5024
+ hash: "9cdea4790972efaecabd52b435107e69"
+ }
+ Frame {
+ msec: 5040
+ hash: "9cdea4790972efaecabd52b435107e69"
+ }
+ Frame {
+ msec: 5056
+ hash: "9cdea4790972efaecabd52b435107e69"
+ }
+ Frame {
+ msec: 5072
+ hash: "9cdea4790972efaecabd52b435107e69"
+ }
+ Frame {
+ msec: 5088
+ hash: "9cdea4790972efaecabd52b435107e69"
+ }
+ Frame {
+ msec: 5104
+ hash: "9cdea4790972efaecabd52b435107e69"
+ }
+ Frame {
+ msec: 5120
+ hash: "9cdea4790972efaecabd52b435107e69"
+ }
+ Frame {
+ msec: 5136
+ hash: "9cdea4790972efaecabd52b435107e69"
+ }
+ Frame {
+ msec: 5152
+ hash: "9cdea4790972efaecabd52b435107e69"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 5168
+ hash: "d6f0a6d7604bad811eeba13fd7c45368"
+ }
+ Frame {
+ msec: 5184
+ hash: "5f92e1531a3f6c21ec82e3c908167fc7"
+ }
+ Frame {
+ msec: 5200
+ hash: "5214e99ff052dcdc8f85bad29de92e03"
+ }
+ Frame {
+ msec: 5216
+ hash: "d4abed9f0f1115c9a45b0b9b4f54754e"
+ }
+ Frame {
+ msec: 5232
+ hash: "cfae8a0281e704b0e62f6bf31b32800f"
+ }
+ Frame {
+ msec: 5248
+ hash: "c203f0674596ae690bf19f2d49be62ac"
+ }
+ Frame {
+ msec: 5264
+ hash: "2e2c7e05aade104bdc4f6c489b6f0601"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 5280
+ hash: "b4b2148b0557dcab3a441165e5e4de5f"
+ }
+ Frame {
+ msec: 5296
+ hash: "c5e791d27a42a63d25cdbd492b4af29a"
+ }
+ Frame {
+ msec: 5312
+ hash: "0f94ebcb407f8e6ae263bd954f2c8177"
+ }
+ Frame {
+ msec: 5328
+ hash: "d9b56b817a411812789881697a28fe4c"
+ }
+ Frame {
+ msec: 5344
+ hash: "d9b56b817a411812789881697a28fe4c"
+ }
+ Frame {
+ msec: 5360
+ hash: "d9b56b817a411812789881697a28fe4c"
+ }
+ Frame {
+ msec: 5376
+ hash: "d9b56b817a411812789881697a28fe4c"
+ }
+ Frame {
+ msec: 5392
+ hash: "d9b56b817a411812789881697a28fe4c"
+ }
+ Frame {
+ msec: 5408
+ hash: "d9b56b817a411812789881697a28fe4c"
+ }
+ Frame {
+ msec: 5424
+ hash: "d9b56b817a411812789881697a28fe4c"
+ }
+ Frame {
+ msec: 5440
+ hash: "d9b56b817a411812789881697a28fe4c"
+ }
+ Frame {
+ msec: 5456
+ hash: "d9b56b817a411812789881697a28fe4c"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 5472
+ hash: "6fdfe69e377da72e04dc130f5677ed2c"
+ }
+ Frame {
+ msec: 5488
+ hash: "c041d26d43766fa1735f2ada2a43225b"
+ }
+ Frame {
+ msec: 5504
+ hash: "aa62dbd6c6256665ee1b4ef468607978"
+ }
+ Frame {
+ msec: 5520
+ hash: "987fcdf6483a83b1242053f4e7fb7a26"
+ }
+ Frame {
+ msec: 5536
+ hash: "fbde70c34709b68eb22f5460a8815fba"
+ }
+ Frame {
+ msec: 5552
+ hash: "911ddc838ebaf5ade1bb026dff2741ba"
+ }
+ Frame {
+ msec: 5568
+ hash: "120bbf35b2a3b756bdeaea0df43e49b2"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 5584
+ hash: "ea93e33c079d6dc5fb18c69fb4fed441"
+ }
+ Frame {
+ msec: 5600
+ hash: "b9ac8ab01cb59b1fee11967bdb6d2dd6"
+ }
+ Frame {
+ msec: 5616
+ hash: "3ff266bf29cbcaa30bc1e7af5dd9866b"
+ }
+ Frame {
+ msec: 5632
+ hash: "edd6c3a9493a63674e2d7af5f3e8467e"
+ }
+ Frame {
+ msec: 5648
+ hash: "edd6c3a9493a63674e2d7af5f3e8467e"
+ }
+ Frame {
+ msec: 5664
+ hash: "edd6c3a9493a63674e2d7af5f3e8467e"
+ }
+ Frame {
+ msec: 5680
+ hash: "edd6c3a9493a63674e2d7af5f3e8467e"
+ }
+ Frame {
+ msec: 5696
+ hash: "edd6c3a9493a63674e2d7af5f3e8467e"
+ }
+ Frame {
+ msec: 5712
+ hash: "edd6c3a9493a63674e2d7af5f3e8467e"
+ }
+ Frame {
+ msec: 5728
+ hash: "edd6c3a9493a63674e2d7af5f3e8467e"
+ }
+ Frame {
+ msec: 5744
+ hash: "edd6c3a9493a63674e2d7af5f3e8467e"
+ }
+ Frame {
+ msec: 5760
+ image: "gridview.5.png"
+ }
+ Frame {
+ msec: 5776
+ hash: "edd6c3a9493a63674e2d7af5f3e8467e"
+ }
+ Frame {
+ msec: 5792
+ hash: "edd6c3a9493a63674e2d7af5f3e8467e"
+ }
+ Frame {
+ msec: 5808
+ hash: "edd6c3a9493a63674e2d7af5f3e8467e"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 5824
+ hash: "de1f83d25751639dff42f1755a6534c3"
+ }
+ Frame {
+ msec: 5840
+ hash: "edefdea8b2461d03fb97cf5ed66e9b6d"
+ }
+ Frame {
+ msec: 5856
+ hash: "cef1886397e3932a511f37571b5011f4"
+ }
+ Frame {
+ msec: 5872
+ hash: "05589ad354314d9e04ef90c1addd99f5"
+ }
+ Frame {
+ msec: 5888
+ hash: "ff88b52e3755b9b4785d2719ddd4f090"
+ }
+ Frame {
+ msec: 5904
+ hash: "f59edc3016b177a2e8faa6612d718b17"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 5920
+ hash: "dc673a7cdd927f70b28ebcfe51cd3d89"
+ }
+ Frame {
+ msec: 5936
+ hash: "3abec0da85fb663e63ab22188e092827"
+ }
+ Frame {
+ msec: 5952
+ hash: "50c2c8ac68cafad7c47b576cd8f4a037"
+ }
+ Frame {
+ msec: 5968
+ hash: "06c31b861e2b96e6595b2244d7b3f4d5"
+ }
+ Frame {
+ msec: 5984
+ hash: "0aa7ce5ba9c875619a6e4629a0eb4065"
+ }
+ Frame {
+ msec: 6000
+ hash: "0aa7ce5ba9c875619a6e4629a0eb4065"
+ }
+ Frame {
+ msec: 6016
+ hash: "0aa7ce5ba9c875619a6e4629a0eb4065"
+ }
+ Frame {
+ msec: 6032
+ hash: "0aa7ce5ba9c875619a6e4629a0eb4065"
+ }
+ Frame {
+ msec: 6048
+ hash: "0aa7ce5ba9c875619a6e4629a0eb4065"
+ }
+ Frame {
+ msec: 6064
+ hash: "0aa7ce5ba9c875619a6e4629a0eb4065"
+ }
+ Frame {
+ msec: 6080
+ hash: "0aa7ce5ba9c875619a6e4629a0eb4065"
+ }
+ Frame {
+ msec: 6096
+ hash: "0aa7ce5ba9c875619a6e4629a0eb4065"
+ }
+ Frame {
+ msec: 6112
+ hash: "0aa7ce5ba9c875619a6e4629a0eb4065"
+ }
+ Frame {
+ msec: 6128
+ hash: "0aa7ce5ba9c875619a6e4629a0eb4065"
+ }
+ Frame {
+ msec: 6144
+ hash: "0aa7ce5ba9c875619a6e4629a0eb4065"
+ }
+ Frame {
+ msec: 6160
+ hash: "0aa7ce5ba9c875619a6e4629a0eb4065"
+ }
+ Frame {
+ msec: 6176
+ hash: "0aa7ce5ba9c875619a6e4629a0eb4065"
+ }
+ Frame {
+ msec: 6192
+ hash: "0aa7ce5ba9c875619a6e4629a0eb4065"
+ }
+ Frame {
+ msec: 6208
+ hash: "0aa7ce5ba9c875619a6e4629a0eb4065"
+ }
+ Frame {
+ msec: 6224
+ hash: "0aa7ce5ba9c875619a6e4629a0eb4065"
+ }
+ Frame {
+ msec: 6240
+ hash: "0aa7ce5ba9c875619a6e4629a0eb4065"
+ }
+ Frame {
+ msec: 6256
+ hash: "0aa7ce5ba9c875619a6e4629a0eb4065"
+ }
+ Frame {
+ msec: 6272
+ hash: "0aa7ce5ba9c875619a6e4629a0eb4065"
+ }
+ Frame {
+ msec: 6288
+ hash: "0aa7ce5ba9c875619a6e4629a0eb4065"
+ }
+ Frame {
+ msec: 6304
+ hash: "0aa7ce5ba9c875619a6e4629a0eb4065"
+ }
+ Frame {
+ msec: 6320
+ hash: "0aa7ce5ba9c875619a6e4629a0eb4065"
+ }
+ Frame {
+ msec: 6336
+ hash: "0aa7ce5ba9c875619a6e4629a0eb4065"
+ }
+ Frame {
+ msec: 6352
+ hash: "0aa7ce5ba9c875619a6e4629a0eb4065"
+ }
+ Frame {
+ msec: 6368
+ hash: "0aa7ce5ba9c875619a6e4629a0eb4065"
+ }
+ Frame {
+ msec: 6384
+ hash: "0aa7ce5ba9c875619a6e4629a0eb4065"
+ }
+ Frame {
+ msec: 6400
+ hash: "0aa7ce5ba9c875619a6e4629a0eb4065"
+ }
+ Frame {
+ msec: 6416
+ hash: "0aa7ce5ba9c875619a6e4629a0eb4065"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 6432
+ hash: "7f52a770775c19e10784b4c5f7874210"
+ }
+ Frame {
+ msec: 6448
+ hash: "827cfb74286a2a80aca8b6c5277d6cfd"
+ }
+ Frame {
+ msec: 6464
+ hash: "8399231eda9b66821d43a3d8c4c7d645"
+ }
+ Frame {
+ msec: 6480
+ hash: "fc163583671f3c4023361460b436c895"
+ }
+ Frame {
+ msec: 6496
+ hash: "893dea6496c95c32095ad1d673e500c2"
+ }
+ Frame {
+ msec: 6512
+ hash: "808c7403b2cdcc882059da56a2f806fe"
+ }
+ Frame {
+ msec: 6528
+ hash: "7466b2e5b86ba8ad46be75818659786c"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 6544
+ hash: "dd2561cd780e24401130305d47757a53"
+ }
+ Frame {
+ msec: 6560
+ hash: "bee89299532d43fc3e6c3e69c343b381"
+ }
+ Frame {
+ msec: 6576
+ hash: "94f8474aedee94098592c05d8fc7d868"
+ }
+ Frame {
+ msec: 6592
+ hash: "b6ee51bfa4d4ab7a83cca5c18453f0b8"
+ }
+ Frame {
+ msec: 6608
+ hash: "b6ee51bfa4d4ab7a83cca5c18453f0b8"
+ }
+ Frame {
+ msec: 6624
+ hash: "b6ee51bfa4d4ab7a83cca5c18453f0b8"
+ }
+ Frame {
+ msec: 6640
+ hash: "b6ee51bfa4d4ab7a83cca5c18453f0b8"
+ }
+ Frame {
+ msec: 6656
+ hash: "b6ee51bfa4d4ab7a83cca5c18453f0b8"
+ }
+ Frame {
+ msec: 6672
+ hash: "b6ee51bfa4d4ab7a83cca5c18453f0b8"
+ }
+ Frame {
+ msec: 6688
+ hash: "b6ee51bfa4d4ab7a83cca5c18453f0b8"
+ }
+ Frame {
+ msec: 6704
+ hash: "b6ee51bfa4d4ab7a83cca5c18453f0b8"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 6720
+ image: "gridview.6.png"
+ }
+ Frame {
+ msec: 6736
+ hash: "ccd58be20d47422121d6ef799b927a7a"
+ }
+ Frame {
+ msec: 6752
+ hash: "e090c7f39649786a1796870e25bd0f0d"
+ }
+ Frame {
+ msec: 6768
+ hash: "acf3dcd9f4a869169dbc1ae7fe60e9d0"
+ }
+ Frame {
+ msec: 6784
+ hash: "51795e9a720845e8305d23507785e1ca"
+ }
+ Frame {
+ msec: 6800
+ hash: "0d34a43e177e6b73e2ff9155747d0385"
+ }
+ Frame {
+ msec: 6816
+ hash: "1876c3cdffc1af01da1aaa0ac636d0a8"
+ }
+ Frame {
+ msec: 6832
+ hash: "3131296b6edf4190520e2cdb3f8b936e"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 6848
+ hash: "ee92f0a764e5081b130e205a5c362b07"
+ }
+ Frame {
+ msec: 6864
+ hash: "8737ea2c60aeb215228c00a7fddd1baa"
+ }
+ Frame {
+ msec: 6880
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 6896
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 6912
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 6928
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 6944
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 6960
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 6976
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 6992
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7008
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7024
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 7040
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7056
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7072
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7088
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7104
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7120
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7136
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7152
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 7168
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7184
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7200
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7216
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7232
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7248
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7264
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7280
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7296
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7312
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7328
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7344
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7360
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7376
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7392
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7408
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7424
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7440
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7456
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7472
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7488
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7504
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7520
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7536
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7552
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7568
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7584
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Key {
+ type: 6
+ key: 16777235
+ modifiers: 536870912
+ text: "1e"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 7600
+ hash: "ac036f1f5c5ae23ddfca3060dff83f15"
+ }
+ Frame {
+ msec: 7616
+ hash: "eb0d1be15f63af6eaf6634b02e5f240a"
+ }
+ Frame {
+ msec: 7632
+ hash: "2423c305bebb3449e87c78e8fb447c88"
+ }
+ Frame {
+ msec: 7648
+ hash: "f0ede6ea85647728db80878b3e525edc"
+ }
+ Frame {
+ msec: 7664
+ hash: "387d127b2b000dc344ee4768cf2d29b2"
+ }
+ Frame {
+ msec: 7680
+ image: "gridview.7.png"
+ }
+ Frame {
+ msec: 7696
+ hash: "1d0d8100e994c16d7973ad9a97b0068f"
+ }
+ Key {
+ type: 7
+ key: 16777235
+ modifiers: 536870912
+ text: "1e"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 7712
+ hash: "95fb4a6d0331ffc4773e39ec8c3e6511"
+ }
+ Frame {
+ msec: 7728
+ hash: "34738f16150228d971972833d4bd5c8f"
+ }
+ Frame {
+ msec: 7744
+ hash: "9b71c8dacc530f32d7c6f409928caf5c"
+ }
+ Frame {
+ msec: 7760
+ hash: "831efd0970c5c29fbe10b3be7707f915"
+ }
+ Frame {
+ msec: 7776
+ hash: "831efd0970c5c29fbe10b3be7707f915"
+ }
+ Frame {
+ msec: 7792
+ hash: "831efd0970c5c29fbe10b3be7707f915"
+ }
+ Frame {
+ msec: 7808
+ hash: "831efd0970c5c29fbe10b3be7707f915"
+ }
+ Frame {
+ msec: 7824
+ hash: "831efd0970c5c29fbe10b3be7707f915"
+ }
+ Frame {
+ msec: 7840
+ hash: "831efd0970c5c29fbe10b3be7707f915"
+ }
+ Frame {
+ msec: 7856
+ hash: "831efd0970c5c29fbe10b3be7707f915"
+ }
+ Frame {
+ msec: 7872
+ hash: "831efd0970c5c29fbe10b3be7707f915"
+ }
+ Frame {
+ msec: 7888
+ hash: "831efd0970c5c29fbe10b3be7707f915"
+ }
+ Frame {
+ msec: 7904
+ hash: "831efd0970c5c29fbe10b3be7707f915"
+ }
+ Frame {
+ msec: 7920
+ hash: "831efd0970c5c29fbe10b3be7707f915"
+ }
+ Frame {
+ msec: 7936
+ hash: "831efd0970c5c29fbe10b3be7707f915"
+ }
+ Frame {
+ msec: 7952
+ hash: "831efd0970c5c29fbe10b3be7707f915"
+ }
+ Frame {
+ msec: 7968
+ hash: "831efd0970c5c29fbe10b3be7707f915"
+ }
+ Key {
+ type: 6
+ key: 16777235
+ modifiers: 536870912
+ text: "1e"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 7984
+ hash: "831efd0970c5c29fbe10b3be7707f915"
+ }
+ Frame {
+ msec: 8000
+ hash: "0587fc809c38c3bbe1fbac2960596974"
+ }
+ Frame {
+ msec: 8016
+ hash: "d20eba806cf4730a850db4c095fa36f9"
+ }
+ Key {
+ type: 7
+ key: 16777235
+ modifiers: 536870912
+ text: "1e"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 8032
+ hash: "c1663e75ba05b341e1e970a451958ea0"
+ }
+ Frame {
+ msec: 8048
+ hash: "ea40cc33b689d6b42fc5a69fa30178e4"
+ }
+ Frame {
+ msec: 8064
+ hash: "a07a1c61de1813158ff743cd326ee427"
+ }
+ Frame {
+ msec: 8080
+ hash: "6dfddaa340df8999ca77f6a6e4c6c3ce"
+ }
+ Frame {
+ msec: 8096
+ hash: "76ca40bb169c1ddc291847d4be2d38d7"
+ }
+ Frame {
+ msec: 8112
+ hash: "e44778541b76208981a3944a64235cac"
+ }
+ Frame {
+ msec: 8128
+ hash: "fdf45ea650d31957cc675c3bec8bf53e"
+ }
+ Frame {
+ msec: 8144
+ hash: "b78cdb727535ab7e567af08abf25e64c"
+ }
+ Frame {
+ msec: 8160
+ hash: "b78cdb727535ab7e567af08abf25e64c"
+ }
+ Frame {
+ msec: 8176
+ hash: "b78cdb727535ab7e567af08abf25e64c"
+ }
+ Frame {
+ msec: 8192
+ hash: "b78cdb727535ab7e567af08abf25e64c"
+ }
+ Frame {
+ msec: 8208
+ hash: "b78cdb727535ab7e567af08abf25e64c"
+ }
+ Frame {
+ msec: 8224
+ hash: "b78cdb727535ab7e567af08abf25e64c"
+ }
+ Frame {
+ msec: 8240
+ hash: "b78cdb727535ab7e567af08abf25e64c"
+ }
+ Key {
+ type: 6
+ key: 16777235
+ modifiers: 536870912
+ text: "1e"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 8256
+ hash: "b78cdb727535ab7e567af08abf25e64c"
+ }
+ Frame {
+ msec: 8272
+ hash: "338481e6390f2a61e975084c16427584"
+ }
+ Frame {
+ msec: 8288
+ hash: "8923c45c23b1f4250b7d1e483b07a4da"
+ }
+ Frame {
+ msec: 8304
+ hash: "b21de834906d0eecea985561e2e41e4f"
+ }
+ Frame {
+ msec: 8320
+ hash: "a8c9761cfb20631520ed890cd2648c4b"
+ }
+ Frame {
+ msec: 8336
+ hash: "abf96a042ef12190bc48ff49732ef55a"
+ }
+ Key {
+ type: 7
+ key: 16777235
+ modifiers: 536870912
+ text: "1e"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 8352
+ hash: "5b9506dfb038cd26dfc81ecd2406ada9"
+ }
+ Frame {
+ msec: 8368
+ hash: "be75b8d39f81b2fdaff01469bfc67d4a"
+ }
+ Frame {
+ msec: 8384
+ hash: "488aa2977f349df82b5f6ae5e3619d35"
+ }
+ Frame {
+ msec: 8400
+ hash: "d69f17f0ce8537511353d20b59d20de0"
+ }
+ Frame {
+ msec: 8416
+ hash: "7647efcc0152cc3d6544106f969ace26"
+ }
+ Frame {
+ msec: 8432
+ hash: "7647efcc0152cc3d6544106f969ace26"
+ }
+ Frame {
+ msec: 8448
+ hash: "7647efcc0152cc3d6544106f969ace26"
+ }
+ Frame {
+ msec: 8464
+ hash: "7647efcc0152cc3d6544106f969ace26"
+ }
+ Frame {
+ msec: 8480
+ hash: "7647efcc0152cc3d6544106f969ace26"
+ }
+ Frame {
+ msec: 8496
+ hash: "7647efcc0152cc3d6544106f969ace26"
+ }
+ Frame {
+ msec: 8512
+ hash: "7647efcc0152cc3d6544106f969ace26"
+ }
+ Frame {
+ msec: 8528
+ hash: "7647efcc0152cc3d6544106f969ace26"
+ }
+ Frame {
+ msec: 8544
+ hash: "7647efcc0152cc3d6544106f969ace26"
+ }
+ Key {
+ type: 6
+ key: 16777235
+ modifiers: 536870912
+ text: "1e"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 8560
+ hash: "7647efcc0152cc3d6544106f969ace26"
+ }
+ Frame {
+ msec: 8576
+ hash: "8f74d33bf95cbf37fdb4521c69373a64"
+ }
+ Frame {
+ msec: 8592
+ hash: "e33bb4cd12790c9d9992efdd3e23bee9"
+ }
+ Frame {
+ msec: 8608
+ hash: "36f32e34b4093091c4707f26c52896ad"
+ }
+ Frame {
+ msec: 8624
+ hash: "5ab5e142f8dc883287c116cedbacfd55"
+ }
+ Frame {
+ msec: 8640
+ image: "gridview.8.png"
+ }
+ Key {
+ type: 7
+ key: 16777235
+ modifiers: 536870912
+ text: "1e"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 8656
+ hash: "c74212e45a6c4b6a18caeb6a22350609"
+ }
+ Frame {
+ msec: 8672
+ hash: "8919643a7d13677dd902941860093209"
+ }
+ Frame {
+ msec: 8688
+ hash: "6f2ab4400fadf51b994351f0975e31fc"
+ }
+ Frame {
+ msec: 8704
+ hash: "4798559ce6f9bd7455ed5385d0030763"
+ }
+ Frame {
+ msec: 8720
+ hash: "72759bd1e2618c61c42bbe4de3ad3a96"
+ }
+ Frame {
+ msec: 8736
+ hash: "72759bd1e2618c61c42bbe4de3ad3a96"
+ }
+ Frame {
+ msec: 8752
+ hash: "72759bd1e2618c61c42bbe4de3ad3a96"
+ }
+ Frame {
+ msec: 8768
+ hash: "72759bd1e2618c61c42bbe4de3ad3a96"
+ }
+ Frame {
+ msec: 8784
+ hash: "72759bd1e2618c61c42bbe4de3ad3a96"
+ }
+ Frame {
+ msec: 8800
+ hash: "72759bd1e2618c61c42bbe4de3ad3a96"
+ }
+ Frame {
+ msec: 8816
+ hash: "72759bd1e2618c61c42bbe4de3ad3a96"
+ }
+ Frame {
+ msec: 8832
+ hash: "72759bd1e2618c61c42bbe4de3ad3a96"
+ }
+ Frame {
+ msec: 8848
+ hash: "72759bd1e2618c61c42bbe4de3ad3a96"
+ }
+ Frame {
+ msec: 8864
+ hash: "72759bd1e2618c61c42bbe4de3ad3a96"
+ }
+ Key {
+ type: 6
+ key: 16777235
+ modifiers: 536870912
+ text: "1e"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 8880
+ hash: "72759bd1e2618c61c42bbe4de3ad3a96"
+ }
+ Frame {
+ msec: 8896
+ hash: "fac81cf6f45cb47abc1fa36d23e39d34"
+ }
+ Frame {
+ msec: 8912
+ hash: "862f4deee01183fd38b094da59048b23"
+ }
+ Frame {
+ msec: 8928
+ hash: "2f3b147221da30d8857d25fc788b3eac"
+ }
+ Frame {
+ msec: 8944
+ hash: "5b295b187c6cfc6aefa51e5efc2c27e3"
+ }
+ Frame {
+ msec: 8960
+ hash: "fe3139ddc8fdbc1b0c25bd641f83e833"
+ }
+ Key {
+ type: 7
+ key: 16777235
+ modifiers: 536870912
+ text: "1e"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 8976
+ hash: "8f2a9585dc6248a403aafd0f151d6ba0"
+ }
+ Frame {
+ msec: 8992
+ hash: "39eca8cc6bb8ea30cc452dc24f8e46dc"
+ }
+ Frame {
+ msec: 9008
+ hash: "8dbbc6026942cb6e572f1cb7e2675713"
+ }
+ Frame {
+ msec: 9024
+ hash: "62dfa07b96dd18c6be89822654bf09f3"
+ }
+ Frame {
+ msec: 9040
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9056
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9072
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9088
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9104
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9120
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9136
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9152
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9168
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9184
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9200
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9216
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9232
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9248
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9264
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Key {
+ type: 6
+ key: 16777235
+ modifiers: 536870912
+ text: "1e"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 9280
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9296
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9312
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9328
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9344
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9360
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9376
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Key {
+ type: 7
+ key: 16777235
+ modifiers: 536870912
+ text: "1e"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 9392
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9408
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9424
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9440
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9456
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9472
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9488
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9504
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9520
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9536
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9552
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9568
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9584
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9600
+ image: "gridview.9.png"
+ }
+ Frame {
+ msec: 9616
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9632
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9648
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9664
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9680
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9696
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9712
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9728
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9744
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9760
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Key {
+ type: 6
+ key: 16777249
+ modifiers: 67108864
+ text: ""
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 9776
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9792
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9808
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9824
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+ Frame {
+ msec: 9840
+ hash: "02c632713d0dc64bff9d8e58f745df95"
+ }
+}
diff --git a/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.0.png b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.0.png
new file mode 100644
index 0000000..fe81eef
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.0.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.1.png b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.1.png
new file mode 100644
index 0000000..9670674
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.1.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.10.png b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.10.png
new file mode 100644
index 0000000..b0486e5
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.10.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.2.png b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.2.png
new file mode 100644
index 0000000..e44eba1
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.2.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.3.png b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.3.png
new file mode 100644
index 0000000..78fce9d
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.3.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.4.png b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.4.png
new file mode 100644
index 0000000..c86fdbb
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.4.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.5.png b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.5.png
new file mode 100644
index 0000000..96ef090
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.5.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.6.png b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.6.png
new file mode 100644
index 0000000..e0aab58
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.6.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.7.png b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.7.png
new file mode 100644
index 0000000..b36ea46
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.7.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.8.png b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.8.png
new file mode 100644
index 0000000..366cf46
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.8.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.9.png b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.9.png
new file mode 100644
index 0000000..2f2f5b9
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.9.png
Binary files differ
diff --git a/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.qml b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.qml
new file mode 100644
index 0000000..e3a04ee
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsgridview/data/gridview2.qml
@@ -0,0 +1,3071 @@
+import Qt.VisualTest 4.6
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ hash: "dba2f6f1c773bd4cd9523108fca861c4"
+ }
+ Frame {
+ msec: 32
+ hash: "33d81c39d16c6a326012499796e50e03"
+ }
+ Frame {
+ msec: 48
+ hash: "33d81c39d16c6a326012499796e50e03"
+ }
+ Frame {
+ msec: 64
+ hash: "33d81c39d16c6a326012499796e50e03"
+ }
+ Frame {
+ msec: 80
+ hash: "33d81c39d16c6a326012499796e50e03"
+ }
+ Frame {
+ msec: 96
+ hash: "33d81c39d16c6a326012499796e50e03"
+ }
+ Frame {
+ msec: 112
+ hash: "33d81c39d16c6a326012499796e50e03"
+ }
+ Frame {
+ msec: 128
+ hash: "33d81c39d16c6a326012499796e50e03"
+ }
+ Frame {
+ msec: 144
+ hash: "33d81c39d16c6a326012499796e50e03"
+ }
+ Frame {
+ msec: 160
+ hash: "33d81c39d16c6a326012499796e50e03"
+ }
+ Frame {
+ msec: 176
+ hash: "33d81c39d16c6a326012499796e50e03"
+ }
+ Frame {
+ msec: 192
+ hash: "33d81c39d16c6a326012499796e50e03"
+ }
+ Frame {
+ msec: 208
+ hash: "33d81c39d16c6a326012499796e50e03"
+ }
+ Frame {
+ msec: 224
+ hash: "33d81c39d16c6a326012499796e50e03"
+ }
+ Frame {
+ msec: 240
+ hash: "33d81c39d16c6a326012499796e50e03"
+ }
+ Frame {
+ msec: 256
+ hash: "33d81c39d16c6a326012499796e50e03"
+ }
+ Frame {
+ msec: 272
+ hash: "33d81c39d16c6a326012499796e50e03"
+ }
+ Frame {
+ msec: 288
+ hash: "33d81c39d16c6a326012499796e50e03"
+ }
+ Frame {
+ msec: 304
+ hash: "33d81c39d16c6a326012499796e50e03"
+ }
+ Frame {
+ msec: 320
+ hash: "33d81c39d16c6a326012499796e50e03"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 336
+ hash: "33d81c39d16c6a326012499796e50e03"
+ }
+ Frame {
+ msec: 352
+ hash: "aaec7184a27e6700d96ffff376b8fa53"
+ }
+ Frame {
+ msec: 368
+ hash: "3fa3a890a4ff4a59336a9a2d478d0dde"
+ }
+ Frame {
+ msec: 384
+ hash: "3711c6c2f4f9aba7f2c72bd1f1d85016"
+ }
+ Frame {
+ msec: 400
+ hash: "23da2f9a800b805ce7b77ff08218907d"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 416
+ hash: "12e4bc953b06cdaad0720f87fb96a37e"
+ }
+ Frame {
+ msec: 432
+ hash: "46e69658bda69bab202a2790a76ba1cd"
+ }
+ Frame {
+ msec: 448
+ hash: "44608e67c69b92ccbb45e119e1158fe3"
+ }
+ Frame {
+ msec: 464
+ hash: "97a309b47017d38294644a486a7ce68e"
+ }
+ Frame {
+ msec: 480
+ hash: "41f42b50b22e0496c8aca5019b24b9cb"
+ }
+ Frame {
+ msec: 496
+ hash: "8603ea1cb60c804563f50bc41c0180fe"
+ }
+ Frame {
+ msec: 512
+ hash: "e29777fa70daafe9640c6e9bb7bd63d6"
+ }
+ Frame {
+ msec: 528
+ hash: "2c4c360320f527e99fee799e68c2c0aa"
+ }
+ Frame {
+ msec: 544
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 560
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 576
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 592
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 608
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 624
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 640
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 656
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 672
+ hash: "7c2ab6be73f21b82ca99503464ec214b"
+ }
+ Frame {
+ msec: 688
+ hash: "d481669ee8d30716aff5321dbc2199bb"
+ }
+ Frame {
+ msec: 704
+ hash: "11cc48f29948e054af9c61e02c1a77c8"
+ }
+ Frame {
+ msec: 720
+ hash: "26f3f27f601739090c260cf3674b726a"
+ }
+ Frame {
+ msec: 736
+ hash: "bb676e48336cf88fb785b8d2d3f92886"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 752
+ hash: "2a220616f82b393c106567c2dbd8fdae"
+ }
+ Frame {
+ msec: 768
+ hash: "12c16f3219a0c2c0955038e748706a58"
+ }
+ Frame {
+ msec: 784
+ hash: "e2a522b7362bfc75744912cb27438017"
+ }
+ Frame {
+ msec: 800
+ hash: "b2826fa90fe5a64f53135f542a1f11b8"
+ }
+ Frame {
+ msec: 816
+ hash: "046d8f44e9b3c982788ff016f61c919b"
+ }
+ Frame {
+ msec: 832
+ hash: "b30c2fa8698819cb6c48b447a35dd0bc"
+ }
+ Frame {
+ msec: 848
+ hash: "02b39d806f6f11738e00d51c2918d2e5"
+ }
+ Frame {
+ msec: 864
+ hash: "0199fee9ba18ebe4288415daf0900962"
+ }
+ Frame {
+ msec: 880
+ hash: "0199fee9ba18ebe4288415daf0900962"
+ }
+ Frame {
+ msec: 896
+ hash: "0199fee9ba18ebe4288415daf0900962"
+ }
+ Frame {
+ msec: 912
+ hash: "0199fee9ba18ebe4288415daf0900962"
+ }
+ Frame {
+ msec: 928
+ hash: "0199fee9ba18ebe4288415daf0900962"
+ }
+ Frame {
+ msec: 944
+ hash: "0199fee9ba18ebe4288415daf0900962"
+ }
+ Frame {
+ msec: 960
+ image: "gridview2.0.png"
+ }
+ Frame {
+ msec: 976
+ hash: "0199fee9ba18ebe4288415daf0900962"
+ }
+ Frame {
+ msec: 992
+ hash: "0199fee9ba18ebe4288415daf0900962"
+ }
+ Frame {
+ msec: 1008
+ hash: "0199fee9ba18ebe4288415daf0900962"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 1024
+ hash: "0199fee9ba18ebe4288415daf0900962"
+ }
+ Frame {
+ msec: 1040
+ hash: "8109dd7307290cf1322ee3a36759b491"
+ }
+ Frame {
+ msec: 1056
+ hash: "035225d5881b29d9ccd97a24997b760b"
+ }
+ Frame {
+ msec: 1072
+ hash: "a312bc0741af4eea147a4fe6453907df"
+ }
+ Frame {
+ msec: 1088
+ hash: "bb4228997710bae15708bd9cd78358de"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 1104
+ hash: "08116c8357f93cb6074cebd5a811cf1d"
+ }
+ Frame {
+ msec: 1120
+ hash: "a1cb30e98ab2e805d05b904f765bb844"
+ }
+ Frame {
+ msec: 1136
+ hash: "547502f1c738cf0cbfaff2c64a3a5c55"
+ }
+ Frame {
+ msec: 1152
+ hash: "019ce6a2812563842d98aa3f67a0562a"
+ }
+ Frame {
+ msec: 1168
+ hash: "d8809cd87b068cc6b22e34c82eced2e1"
+ }
+ Frame {
+ msec: 1184
+ hash: "7b14f17ed6bc8adf291f1a02df6d7868"
+ }
+ Frame {
+ msec: 1200
+ hash: "17bd866b076c37218fd34502bd1ba533"
+ }
+ Frame {
+ msec: 1216
+ hash: "515987a2a440977d54e766253a251788"
+ }
+ Frame {
+ msec: 1232
+ hash: "592f34925c9505c5bd6d30e194bdb732"
+ }
+ Frame {
+ msec: 1248
+ hash: "f85950afce4786c22392cd53cbfc0a21"
+ }
+ Frame {
+ msec: 1264
+ hash: "e1d64ba993fc788ed99869e167578c3c"
+ }
+ Frame {
+ msec: 1280
+ hash: "7b83968aa2f9526df3d69fa8cf2307e3"
+ }
+ Frame {
+ msec: 1296
+ hash: "19b9d0493823862f52b9a1dd4ee4ebed"
+ }
+ Frame {
+ msec: 1312
+ hash: "f7a2ec0ee9ad8a2ee4c621b42b3dc068"
+ }
+ Frame {
+ msec: 1328
+ hash: "aaea6fba5aa361b5aa40ee5cb6c98bb1"
+ }
+ Frame {
+ msec: 1344
+ hash: "e263be3561491c41fe62ef94a760d305"
+ }
+ Frame {
+ msec: 1360
+ hash: "d9650a680ac028679ec2d347a2f679cb"
+ }
+ Frame {
+ msec: 1376
+ hash: "28a049b2e7077a6276a6924854c34f1e"
+ }
+ Frame {
+ msec: 1392
+ hash: "6761dfcf62280d8f77e22f48e83f2779"
+ }
+ Frame {
+ msec: 1408
+ hash: "724feb5f2a577b25e53ea504deca5255"
+ }
+ Frame {
+ msec: 1424
+ hash: "1829f839426920fbd34ebc1af92a44f5"
+ }
+ Frame {
+ msec: 1440
+ hash: "1829f839426920fbd34ebc1af92a44f5"
+ }
+ Frame {
+ msec: 1456
+ hash: "1829f839426920fbd34ebc1af92a44f5"
+ }
+ Frame {
+ msec: 1472
+ hash: "1829f839426920fbd34ebc1af92a44f5"
+ }
+ Frame {
+ msec: 1488
+ hash: "1829f839426920fbd34ebc1af92a44f5"
+ }
+ Frame {
+ msec: 1504
+ hash: "1829f839426920fbd34ebc1af92a44f5"
+ }
+ Frame {
+ msec: 1520
+ hash: "1829f839426920fbd34ebc1af92a44f5"
+ }
+ Frame {
+ msec: 1536
+ hash: "1829f839426920fbd34ebc1af92a44f5"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 1552
+ hash: "1829f839426920fbd34ebc1af92a44f5"
+ }
+ Frame {
+ msec: 1568
+ hash: "724feb5f2a577b25e53ea504deca5255"
+ }
+ Frame {
+ msec: 1584
+ hash: "6761dfcf62280d8f77e22f48e83f2779"
+ }
+ Frame {
+ msec: 1600
+ hash: "28a049b2e7077a6276a6924854c34f1e"
+ }
+ Frame {
+ msec: 1616
+ hash: "d9650a680ac028679ec2d347a2f679cb"
+ }
+ Frame {
+ msec: 1632
+ hash: "e263be3561491c41fe62ef94a760d305"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 1648
+ hash: "aaea6fba5aa361b5aa40ee5cb6c98bb1"
+ }
+ Frame {
+ msec: 1664
+ hash: "f7a2ec0ee9ad8a2ee4c621b42b3dc068"
+ }
+ Frame {
+ msec: 1680
+ hash: "19b9d0493823862f52b9a1dd4ee4ebed"
+ }
+ Frame {
+ msec: 1696
+ hash: "7b83968aa2f9526df3d69fa8cf2307e3"
+ }
+ Frame {
+ msec: 1712
+ hash: "e1d64ba993fc788ed99869e167578c3c"
+ }
+ Frame {
+ msec: 1728
+ hash: "f85950afce4786c22392cd53cbfc0a21"
+ }
+ Frame {
+ msec: 1744
+ hash: "592f34925c9505c5bd6d30e194bdb732"
+ }
+ Frame {
+ msec: 1760
+ hash: "77d5193bc5f53fe5cb98a236c55f841e"
+ }
+ Frame {
+ msec: 1776
+ hash: "77d5193bc5f53fe5cb98a236c55f841e"
+ }
+ Frame {
+ msec: 1792
+ hash: "77d5193bc5f53fe5cb98a236c55f841e"
+ }
+ Frame {
+ msec: 1808
+ hash: "77d5193bc5f53fe5cb98a236c55f841e"
+ }
+ Frame {
+ msec: 1824
+ hash: "77d5193bc5f53fe5cb98a236c55f841e"
+ }
+ Frame {
+ msec: 1840
+ hash: "77d5193bc5f53fe5cb98a236c55f841e"
+ }
+ Frame {
+ msec: 1856
+ hash: "77d5193bc5f53fe5cb98a236c55f841e"
+ }
+ Frame {
+ msec: 1872
+ hash: "77d5193bc5f53fe5cb98a236c55f841e"
+ }
+ Frame {
+ msec: 1888
+ hash: "77d5193bc5f53fe5cb98a236c55f841e"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 1904
+ hash: "77d5193bc5f53fe5cb98a236c55f841e"
+ }
+ Frame {
+ msec: 1920
+ image: "gridview2.1.png"
+ }
+ Frame {
+ msec: 1936
+ hash: "714711d7382ef8bba5fb39e2e44bd59c"
+ }
+ Frame {
+ msec: 1952
+ hash: "63deed0356e761f94f88be18a7d10053"
+ }
+ Frame {
+ msec: 1968
+ hash: "d5b4fc1b568a4a1b63a91b422272c704"
+ }
+ Frame {
+ msec: 1984
+ hash: "b6d2c80925cc6b4b7b297bd6ee903c7c"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 2000
+ hash: "38117482196360353586cb7ace593894"
+ }
+ Frame {
+ msec: 2016
+ hash: "2301f3a148bf4e311cc8ce011ddf65f8"
+ }
+ Frame {
+ msec: 2032
+ hash: "2a4982a0961f89a15618f8d4c2081f5a"
+ }
+ Frame {
+ msec: 2048
+ hash: "acf8666d6a8a29925f3895aa8e93f713"
+ }
+ Frame {
+ msec: 2064
+ hash: "967ed026bc92a6d2747c5227105543a6"
+ }
+ Frame {
+ msec: 2080
+ hash: "ff72f3fb95f25990c99c1c14cfef57da"
+ }
+ Frame {
+ msec: 2096
+ hash: "0874a4f863596c3860dcf5b1f7f6ceb2"
+ }
+ Frame {
+ msec: 2112
+ hash: "520445d8619ad9bdde0db0e61f17567c"
+ }
+ Frame {
+ msec: 2128
+ hash: "520445d8619ad9bdde0db0e61f17567c"
+ }
+ Frame {
+ msec: 2144
+ hash: "520445d8619ad9bdde0db0e61f17567c"
+ }
+ Frame {
+ msec: 2160
+ hash: "520445d8619ad9bdde0db0e61f17567c"
+ }
+ Frame {
+ msec: 2176
+ hash: "520445d8619ad9bdde0db0e61f17567c"
+ }
+ Frame {
+ msec: 2192
+ hash: "520445d8619ad9bdde0db0e61f17567c"
+ }
+ Frame {
+ msec: 2208
+ hash: "520445d8619ad9bdde0db0e61f17567c"
+ }
+ Frame {
+ msec: 2224
+ hash: "520445d8619ad9bdde0db0e61f17567c"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 2240
+ hash: "520445d8619ad9bdde0db0e61f17567c"
+ }
+ Frame {
+ msec: 2256
+ hash: "38e916aaa015643c8aa1a6b38b2ded11"
+ }
+ Frame {
+ msec: 2272
+ hash: "306e0c5da54956ae86664631254abaff"
+ }
+ Frame {
+ msec: 2288
+ hash: "6eb41a7488b2170ce804a323d04ee3ac"
+ }
+ Frame {
+ msec: 2304
+ hash: "53504cdfe0329c75167018d20aac4802"
+ }
+ Frame {
+ msec: 2320
+ hash: "04e2d7df00e043ee8420c12666e74cc3"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 2336
+ hash: "504baf54d9ea564beaa38dd1721d0d7f"
+ }
+ Frame {
+ msec: 2352
+ hash: "f1a159ad7d290ddd9aeb2a82c8daa005"
+ }
+ Frame {
+ msec: 2368
+ hash: "c2f8cdd35514a15eab07b58e95a42595"
+ }
+ Frame {
+ msec: 2384
+ hash: "d81105c661d57fefac2719c3f2e72195"
+ }
+ Frame {
+ msec: 2400
+ hash: "50c9cf40900cb5cca541b2f4f5c6f49d"
+ }
+ Frame {
+ msec: 2416
+ hash: "83ee765caeb775cf858735f2aab5712b"
+ }
+ Frame {
+ msec: 2432
+ hash: "3098d35f80f8c7a87b470b9dea86b8e5"
+ }
+ Frame {
+ msec: 2448
+ hash: "95419b34afde55f67e48686327be2bff"
+ }
+ Frame {
+ msec: 2464
+ hash: "fcc551cb390b8727147b5e8cdca4d589"
+ }
+ Frame {
+ msec: 2480
+ hash: "c49cc92b98904e7d27d45ac0ae3cc4a2"
+ }
+ Frame {
+ msec: 2496
+ hash: "336c908463796547dbf5a6459c56b62e"
+ }
+ Frame {
+ msec: 2512
+ hash: "94887e3dd76236972643db277943ea53"
+ }
+ Frame {
+ msec: 2528
+ hash: "fad61012614f65bc48e87a60cc50d31e"
+ }
+ Frame {
+ msec: 2544
+ hash: "40e6032e6352e62bf7ceea8c75f5d2ff"
+ }
+ Frame {
+ msec: 2560
+ hash: "9f382f5b18fe7ae619e6a6ec0634541b"
+ }
+ Frame {
+ msec: 2576
+ hash: "9ccda1ba0f636e6abee5ca4a005a9117"
+ }
+ Frame {
+ msec: 2592
+ hash: "b10afc5bf160b01d5567f7de26275460"
+ }
+ Frame {
+ msec: 2608
+ hash: "6e67fdc1773c6db11ca2827db4e12c64"
+ }
+ Frame {
+ msec: 2624
+ hash: "fc2bd8e7b3446c6c2da2f4ead51e4318"
+ }
+ Frame {
+ msec: 2640
+ hash: "ac0295495345987d1e000f6bb2436927"
+ }
+ Frame {
+ msec: 2656
+ hash: "ac0295495345987d1e000f6bb2436927"
+ }
+ Frame {
+ msec: 2672
+ hash: "ac0295495345987d1e000f6bb2436927"
+ }
+ Frame {
+ msec: 2688
+ hash: "ac0295495345987d1e000f6bb2436927"
+ }
+ Frame {
+ msec: 2704
+ hash: "ac0295495345987d1e000f6bb2436927"
+ }
+ Frame {
+ msec: 2720
+ hash: "ac0295495345987d1e000f6bb2436927"
+ }
+ Frame {
+ msec: 2736
+ hash: "ac0295495345987d1e000f6bb2436927"
+ }
+ Frame {
+ msec: 2752
+ hash: "ac0295495345987d1e000f6bb2436927"
+ }
+ Frame {
+ msec: 2768
+ hash: "ac0295495345987d1e000f6bb2436927"
+ }
+ Frame {
+ msec: 2784
+ hash: "ac0295495345987d1e000f6bb2436927"
+ }
+ Frame {
+ msec: 2800
+ hash: "ac0295495345987d1e000f6bb2436927"
+ }
+ Frame {
+ msec: 2816
+ hash: "ac0295495345987d1e000f6bb2436927"
+ }
+ Frame {
+ msec: 2832
+ hash: "ac0295495345987d1e000f6bb2436927"
+ }
+ Frame {
+ msec: 2848
+ hash: "ac0295495345987d1e000f6bb2436927"
+ }
+ Frame {
+ msec: 2864
+ hash: "ac0295495345987d1e000f6bb2436927"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 2880
+ image: "gridview2.2.png"
+ }
+ Frame {
+ msec: 2896
+ hash: "fc2bd8e7b3446c6c2da2f4ead51e4318"
+ }
+ Frame {
+ msec: 2912
+ hash: "6e67fdc1773c6db11ca2827db4e12c64"
+ }
+ Frame {
+ msec: 2928
+ hash: "b10afc5bf160b01d5567f7de26275460"
+ }
+ Frame {
+ msec: 2944
+ hash: "9ccda1ba0f636e6abee5ca4a005a9117"
+ }
+ Frame {
+ msec: 2960
+ hash: "9f382f5b18fe7ae619e6a6ec0634541b"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 2976
+ hash: "40e6032e6352e62bf7ceea8c75f5d2ff"
+ }
+ Frame {
+ msec: 2992
+ hash: "fad61012614f65bc48e87a60cc50d31e"
+ }
+ Frame {
+ msec: 3008
+ hash: "94887e3dd76236972643db277943ea53"
+ }
+ Frame {
+ msec: 3024
+ hash: "336c908463796547dbf5a6459c56b62e"
+ }
+ Frame {
+ msec: 3040
+ hash: "c49cc92b98904e7d27d45ac0ae3cc4a2"
+ }
+ Frame {
+ msec: 3056
+ hash: "fcc551cb390b8727147b5e8cdca4d589"
+ }
+ Frame {
+ msec: 3072
+ hash: "95419b34afde55f67e48686327be2bff"
+ }
+ Frame {
+ msec: 3088
+ hash: "1b7ebcf0e3d68e429cb04966120985e5"
+ }
+ Frame {
+ msec: 3104
+ hash: "1b7ebcf0e3d68e429cb04966120985e5"
+ }
+ Frame {
+ msec: 3120
+ hash: "1b7ebcf0e3d68e429cb04966120985e5"
+ }
+ Frame {
+ msec: 3136
+ hash: "1b7ebcf0e3d68e429cb04966120985e5"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 3152
+ hash: "1b7ebcf0e3d68e429cb04966120985e5"
+ }
+ Frame {
+ msec: 3168
+ hash: "9d5ee2458abc5dfd56abfd42c906270f"
+ }
+ Frame {
+ msec: 3184
+ hash: "c88c120d64171197e4050cb73b56a766"
+ }
+ Frame {
+ msec: 3200
+ hash: "2ce6de97a8dac08b338e1ce9f20d55f4"
+ }
+ Frame {
+ msec: 3216
+ hash: "99b2d2edbcacd660776ea62e1556043c"
+ }
+ Frame {
+ msec: 3232
+ hash: "1b60b4f0350304899d4dc787a9dc7450"
+ }
+ Frame {
+ msec: 3248
+ hash: "c037da8bc97ba8c391e616ff2b3aadd3"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 3264
+ hash: "cbb9a6cc0df3e76f46adca01e1ad2099"
+ }
+ Frame {
+ msec: 3280
+ hash: "9e2cc9298333f65cbc020c20665e01a9"
+ }
+ Frame {
+ msec: 3296
+ hash: "df31529d31b9f81aeeda0c249d0e0f2b"
+ }
+ Frame {
+ msec: 3312
+ hash: "c7034a0e8956c9f483c128a934d68fa7"
+ }
+ Frame {
+ msec: 3328
+ hash: "f0161b0d27757137bcb7fd3e6db2280c"
+ }
+ Frame {
+ msec: 3344
+ hash: "90dcbe13ea318bf970629bfd2d580a8d"
+ }
+ Frame {
+ msec: 3360
+ hash: "d4a48ee79a18cc5c0bc123fbb40c3efd"
+ }
+ Frame {
+ msec: 3376
+ hash: "d4a48ee79a18cc5c0bc123fbb40c3efd"
+ }
+ Frame {
+ msec: 3392
+ hash: "d4a48ee79a18cc5c0bc123fbb40c3efd"
+ }
+ Frame {
+ msec: 3408
+ hash: "d4a48ee79a18cc5c0bc123fbb40c3efd"
+ }
+ Frame {
+ msec: 3424
+ hash: "d4a48ee79a18cc5c0bc123fbb40c3efd"
+ }
+ Frame {
+ msec: 3440
+ hash: "d4a48ee79a18cc5c0bc123fbb40c3efd"
+ }
+ Frame {
+ msec: 3456
+ hash: "d4a48ee79a18cc5c0bc123fbb40c3efd"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 3472
+ hash: "d4a48ee79a18cc5c0bc123fbb40c3efd"
+ }
+ Frame {
+ msec: 3488
+ hash: "55050bc52a955a427e6d845f4c7adea3"
+ }
+ Frame {
+ msec: 3504
+ hash: "4a333ddc220f8da4f0fd8dfc7c0395a4"
+ }
+ Frame {
+ msec: 3520
+ hash: "7ee451bcd930dac49246b50831f236ea"
+ }
+ Frame {
+ msec: 3536
+ hash: "c04a389510e141185f72e9362a268794"
+ }
+ Frame {
+ msec: 3552
+ hash: "d57af1c1048a517c629761dca1879101"
+ }
+ Frame {
+ msec: 3568
+ hash: "0303941402e587a7a46c6ee76c93b33e"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 3584
+ hash: "ed13f12e4f3f2e80126ce921b213e9ba"
+ }
+ Frame {
+ msec: 3600
+ hash: "86b3cfd06900fb446c09748f41176dbe"
+ }
+ Frame {
+ msec: 3616
+ hash: "50b1cfef8e5c0e134c0825ab7a94a45f"
+ }
+ Frame {
+ msec: 3632
+ hash: "c84e56751463bc69b9ad7729bf5895e4"
+ }
+ Frame {
+ msec: 3648
+ hash: "fa846e78b01651191def27deab9665ea"
+ }
+ Frame {
+ msec: 3664
+ hash: "e9ad89402275acbe4f504ab65bba0e4a"
+ }
+ Frame {
+ msec: 3680
+ hash: "c7c4d839f5791578eda5a65b823e4d49"
+ }
+ Frame {
+ msec: 3696
+ hash: "8dde1718ff572566322d845e7167522d"
+ }
+ Frame {
+ msec: 3712
+ hash: "8fd9942e967d012e357a3dc5f83837a6"
+ }
+ Frame {
+ msec: 3728
+ hash: "c4da9fd821add0816d6d0a1aac4b4736"
+ }
+ Frame {
+ msec: 3744
+ hash: "119e88b3f87362b43d7b8c422dc87b7d"
+ }
+ Frame {
+ msec: 3760
+ hash: "942e48d515c3982c73739b3a270e6521"
+ }
+ Frame {
+ msec: 3776
+ hash: "623d099d333e663ff398566299f2287b"
+ }
+ Frame {
+ msec: 3792
+ hash: "cb23f7866992cfc44d240f4969b2f201"
+ }
+ Frame {
+ msec: 3808
+ hash: "e8d400b1c3f298817597c2602b2d8be6"
+ }
+ Frame {
+ msec: 3824
+ hash: "184587e1c69062c2324e5f001eb92a6b"
+ }
+ Frame {
+ msec: 3840
+ image: "gridview2.3.png"
+ }
+ Frame {
+ msec: 3856
+ hash: "66ba6777a409b055b9cbe94e80480e07"
+ }
+ Frame {
+ msec: 3872
+ hash: "cc3020c9b243b08f409a58d12b84dcb2"
+ }
+ Frame {
+ msec: 3888
+ hash: "cc3020c9b243b08f409a58d12b84dcb2"
+ }
+ Frame {
+ msec: 3904
+ hash: "cc3020c9b243b08f409a58d12b84dcb2"
+ }
+ Frame {
+ msec: 3920
+ hash: "cc3020c9b243b08f409a58d12b84dcb2"
+ }
+ Frame {
+ msec: 3936
+ hash: "cc3020c9b243b08f409a58d12b84dcb2"
+ }
+ Frame {
+ msec: 3952
+ hash: "cc3020c9b243b08f409a58d12b84dcb2"
+ }
+ Frame {
+ msec: 3968
+ hash: "cc3020c9b243b08f409a58d12b84dcb2"
+ }
+ Frame {
+ msec: 3984
+ hash: "cc3020c9b243b08f409a58d12b84dcb2"
+ }
+ Frame {
+ msec: 4000
+ hash: "cc3020c9b243b08f409a58d12b84dcb2"
+ }
+ Frame {
+ msec: 4016
+ hash: "cc3020c9b243b08f409a58d12b84dcb2"
+ }
+ Frame {
+ msec: 4032
+ hash: "cc3020c9b243b08f409a58d12b84dcb2"
+ }
+ Frame {
+ msec: 4048
+ hash: "cc3020c9b243b08f409a58d12b84dcb2"
+ }
+ Frame {
+ msec: 4064
+ hash: "cc3020c9b243b08f409a58d12b84dcb2"
+ }
+ Frame {
+ msec: 4080
+ hash: "cc3020c9b243b08f409a58d12b84dcb2"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 4096
+ hash: "cc3020c9b243b08f409a58d12b84dcb2"
+ }
+ Frame {
+ msec: 4112
+ hash: "66ba6777a409b055b9cbe94e80480e07"
+ }
+ Frame {
+ msec: 4128
+ hash: "398a769979b6adfbe42bd4ae61ffc9d5"
+ }
+ Frame {
+ msec: 4144
+ hash: "184587e1c69062c2324e5f001eb92a6b"
+ }
+ Frame {
+ msec: 4160
+ hash: "e8d400b1c3f298817597c2602b2d8be6"
+ }
+ Frame {
+ msec: 4176
+ hash: "cb23f7866992cfc44d240f4969b2f201"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 4192
+ hash: "623d099d333e663ff398566299f2287b"
+ }
+ Frame {
+ msec: 4208
+ hash: "942e48d515c3982c73739b3a270e6521"
+ }
+ Frame {
+ msec: 4224
+ hash: "119e88b3f87362b43d7b8c422dc87b7d"
+ }
+ Frame {
+ msec: 4240
+ hash: "c4da9fd821add0816d6d0a1aac4b4736"
+ }
+ Frame {
+ msec: 4256
+ hash: "8fd9942e967d012e357a3dc5f83837a6"
+ }
+ Frame {
+ msec: 4272
+ hash: "8dde1718ff572566322d845e7167522d"
+ }
+ Frame {
+ msec: 4288
+ hash: "c7c4d839f5791578eda5a65b823e4d49"
+ }
+ Frame {
+ msec: 4304
+ hash: "506283ccfe9670633ce0bf60b437b37b"
+ }
+ Frame {
+ msec: 4320
+ hash: "506283ccfe9670633ce0bf60b437b37b"
+ }
+ Frame {
+ msec: 4336
+ hash: "506283ccfe9670633ce0bf60b437b37b"
+ }
+ Frame {
+ msec: 4352
+ hash: "506283ccfe9670633ce0bf60b437b37b"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 4368
+ hash: "506283ccfe9670633ce0bf60b437b37b"
+ }
+ Frame {
+ msec: 4384
+ hash: "fb437f6c23561092a124e498f1604ff2"
+ }
+ Frame {
+ msec: 4400
+ hash: "402ba144bbb7260eec4553e68eb35cda"
+ }
+ Frame {
+ msec: 4416
+ hash: "76a983de9e85e0c81dfb8908252bd6c9"
+ }
+ Frame {
+ msec: 4432
+ hash: "09219f55fae47a0afed887ebf68a36bc"
+ }
+ Frame {
+ msec: 4448
+ hash: "344e81cc262093facef2f6a235a734dc"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 4464
+ hash: "8f1c5544eb537555b1c59a377b15e31d"
+ }
+ Frame {
+ msec: 4480
+ hash: "606b9bb549fe2e4bbd09d67b7dea0d1a"
+ }
+ Frame {
+ msec: 4496
+ hash: "63e239c97bd01a61cb31ef2869e7f47c"
+ }
+ Frame {
+ msec: 4512
+ hash: "f7c176550c39f8a1ad64590cf33a60a4"
+ }
+ Frame {
+ msec: 4528
+ hash: "8581cb14ed81efdf9abb638b5e542cc3"
+ }
+ Frame {
+ msec: 4544
+ hash: "7a1e9354ecc49d8bc27d303c7bdc81f9"
+ }
+ Frame {
+ msec: 4560
+ hash: "610288b97276ee03702ed8a814ef333d"
+ }
+ Frame {
+ msec: 4576
+ hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
+ }
+ Frame {
+ msec: 4592
+ hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
+ }
+ Frame {
+ msec: 4608
+ hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
+ }
+ Frame {
+ msec: 4624
+ hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
+ }
+ Frame {
+ msec: 4640
+ hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
+ }
+ Frame {
+ msec: 4656
+ hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 4672
+ hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
+ }
+ Frame {
+ msec: 4688
+ hash: "9713c6b9aff051dd0cc45c545d34b688"
+ }
+ Frame {
+ msec: 4704
+ hash: "1f8fd4d759e343720a8681b6ad126b72"
+ }
+ Frame {
+ msec: 4720
+ hash: "2d7c0164278a8a07117315f790224688"
+ }
+ Frame {
+ msec: 4736
+ hash: "8550d916d91a40b0c3a886b962e07ffc"
+ }
+ Frame {
+ msec: 4752
+ hash: "df0c2e474139e79429bfc19c79a65ef8"
+ }
+ Frame {
+ msec: 4768
+ hash: "acfb99d081d754276e5ed59bd590aeab"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 4784
+ hash: "2b34cd101b442f7a3de2893fd5514c16"
+ }
+ Frame {
+ msec: 4800
+ image: "gridview2.4.png"
+ }
+ Frame {
+ msec: 4816
+ hash: "dd39a8e6fa3784453461193a6da416cd"
+ }
+ Frame {
+ msec: 4832
+ hash: "5670e8f91ea2df451f0974a51cd77d7d"
+ }
+ Frame {
+ msec: 4848
+ hash: "74b97a09bfe7400872a2c6214e04a5ac"
+ }
+ Frame {
+ msec: 4864
+ hash: "cfd55b963506ab54cf09a7311e84bcc9"
+ }
+ Frame {
+ msec: 4880
+ hash: "59657ee9293c03f064d62de826931435"
+ }
+ Frame {
+ msec: 4896
+ hash: "31f6a4adf31be5ed0af0ea4097e3acee"
+ }
+ Frame {
+ msec: 4912
+ hash: "8f5bfc40c8cdb2f8ce69adb72e7efe76"
+ }
+ Frame {
+ msec: 4928
+ hash: "9dc38985113124130e2ca7950e0bd144"
+ }
+ Frame {
+ msec: 4944
+ hash: "786e6e8b9e74876a6f393d61a78b8fc7"
+ }
+ Frame {
+ msec: 4960
+ hash: "1f4d59a4e4684aab309363a711b30006"
+ }
+ Frame {
+ msec: 4976
+ hash: "a11e332de151b43051796e16dbcf75c3"
+ }
+ Frame {
+ msec: 4992
+ hash: "1a0e82029ae107cb2a018786752433ff"
+ }
+ Frame {
+ msec: 5008
+ hash: "b14c51977c7fbf51f9cf6fec309bff6a"
+ }
+ Frame {
+ msec: 5024
+ hash: "2b418f811992399c3f87c268db745632"
+ }
+ Frame {
+ msec: 5040
+ hash: "0e9a056207053ca98c4e9f42de244c62"
+ }
+ Frame {
+ msec: 5056
+ hash: "1945c3f9e3a1337e7d111e15adea345f"
+ }
+ Frame {
+ msec: 5072
+ hash: "d8cf36b6cc15a01ead815d814ae81cb4"
+ }
+ Frame {
+ msec: 5088
+ hash: "d8cf36b6cc15a01ead815d814ae81cb4"
+ }
+ Frame {
+ msec: 5104
+ hash: "d8cf36b6cc15a01ead815d814ae81cb4"
+ }
+ Frame {
+ msec: 5120
+ hash: "d8cf36b6cc15a01ead815d814ae81cb4"
+ }
+ Frame {
+ msec: 5136
+ hash: "d8cf36b6cc15a01ead815d814ae81cb4"
+ }
+ Frame {
+ msec: 5152
+ hash: "d8cf36b6cc15a01ead815d814ae81cb4"
+ }
+ Frame {
+ msec: 5168
+ hash: "d8cf36b6cc15a01ead815d814ae81cb4"
+ }
+ Frame {
+ msec: 5184
+ hash: "d8cf36b6cc15a01ead815d814ae81cb4"
+ }
+ Frame {
+ msec: 5200
+ hash: "d8cf36b6cc15a01ead815d814ae81cb4"
+ }
+ Frame {
+ msec: 5216
+ hash: "d8cf36b6cc15a01ead815d814ae81cb4"
+ }
+ Frame {
+ msec: 5232
+ hash: "d8cf36b6cc15a01ead815d814ae81cb4"
+ }
+ Frame {
+ msec: 5248
+ hash: "d8cf36b6cc15a01ead815d814ae81cb4"
+ }
+ Frame {
+ msec: 5264
+ hash: "d8cf36b6cc15a01ead815d814ae81cb4"
+ }
+ Frame {
+ msec: 5280
+ hash: "d8cf36b6cc15a01ead815d814ae81cb4"
+ }
+ Frame {
+ msec: 5296
+ hash: "d8cf36b6cc15a01ead815d814ae81cb4"
+ }
+ Frame {
+ msec: 5312
+ hash: "d8cf36b6cc15a01ead815d814ae81cb4"
+ }
+ Frame {
+ msec: 5328
+ hash: "d8cf36b6cc15a01ead815d814ae81cb4"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 5344
+ hash: "d8cf36b6cc15a01ead815d814ae81cb4"
+ }
+ Frame {
+ msec: 5360
+ hash: "1945c3f9e3a1337e7d111e15adea345f"
+ }
+ Frame {
+ msec: 5376
+ hash: "0e9a056207053ca98c4e9f42de244c62"
+ }
+ Frame {
+ msec: 5392
+ hash: "2b418f811992399c3f87c268db745632"
+ }
+ Frame {
+ msec: 5408
+ hash: "b14c51977c7fbf51f9cf6fec309bff6a"
+ }
+ Frame {
+ msec: 5424
+ hash: "1a0e82029ae107cb2a018786752433ff"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 5440
+ hash: "a11e332de151b43051796e16dbcf75c3"
+ }
+ Frame {
+ msec: 5456
+ hash: "1f4d59a4e4684aab309363a711b30006"
+ }
+ Frame {
+ msec: 5472
+ hash: "786e6e8b9e74876a6f393d61a78b8fc7"
+ }
+ Frame {
+ msec: 5488
+ hash: "9dc38985113124130e2ca7950e0bd144"
+ }
+ Frame {
+ msec: 5504
+ hash: "8f5bfc40c8cdb2f8ce69adb72e7efe76"
+ }
+ Frame {
+ msec: 5520
+ hash: "31f6a4adf31be5ed0af0ea4097e3acee"
+ }
+ Frame {
+ msec: 5536
+ hash: "59657ee9293c03f064d62de826931435"
+ }
+ Frame {
+ msec: 5552
+ hash: "23aa652a0de7fced4a780d72f0940a1b"
+ }
+ Frame {
+ msec: 5568
+ hash: "23aa652a0de7fced4a780d72f0940a1b"
+ }
+ Frame {
+ msec: 5584
+ hash: "23aa652a0de7fced4a780d72f0940a1b"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 5600
+ hash: "23aa652a0de7fced4a780d72f0940a1b"
+ }
+ Frame {
+ msec: 5616
+ hash: "d46eea049d6156a5e85d9c6811d9d367"
+ }
+ Frame {
+ msec: 5632
+ hash: "d5796ae85247cb8502f92f0d044e4e1f"
+ }
+ Frame {
+ msec: 5648
+ hash: "90987ac49c1a4e6b668436e3ff631e6c"
+ }
+ Frame {
+ msec: 5664
+ hash: "c38d69759ad80242b1fe83ba191cd421"
+ }
+ Frame {
+ msec: 5680
+ hash: "09d08aed76a04e492d8a39cc4dd2b8f5"
+ }
+ Frame {
+ msec: 5696
+ hash: "9671d2ff9a2ef46ce3c750a1965404a4"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 5712
+ hash: "f55857816d666ece4a7987a70883b3d1"
+ }
+ Frame {
+ msec: 5728
+ hash: "a2d80527b30316d9120b057bbfcfa666"
+ }
+ Frame {
+ msec: 5744
+ hash: "87ca69287c1469cbc7e65d1673016de7"
+ }
+ Frame {
+ msec: 5760
+ image: "gridview2.5.png"
+ }
+ Frame {
+ msec: 5776
+ hash: "917a9a171273fe9fd4c450eeed6f58ed"
+ }
+ Frame {
+ msec: 5792
+ hash: "6e7ade250a9a9692caee2a220dd2ac53"
+ }
+ Frame {
+ msec: 5808
+ hash: "ca2dcb16d553889a3a57b48700c2a595"
+ }
+ Frame {
+ msec: 5824
+ hash: "ca2dcb16d553889a3a57b48700c2a595"
+ }
+ Frame {
+ msec: 5840
+ hash: "ca2dcb16d553889a3a57b48700c2a595"
+ }
+ Frame {
+ msec: 5856
+ hash: "ca2dcb16d553889a3a57b48700c2a595"
+ }
+ Frame {
+ msec: 5872
+ hash: "ca2dcb16d553889a3a57b48700c2a595"
+ }
+ Frame {
+ msec: 5888
+ hash: "ca2dcb16d553889a3a57b48700c2a595"
+ }
+ Frame {
+ msec: 5904
+ hash: "ca2dcb16d553889a3a57b48700c2a595"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 5920
+ hash: "ca2dcb16d553889a3a57b48700c2a595"
+ }
+ Frame {
+ msec: 5936
+ hash: "024ee59c130eca0a6e935f4715510bba"
+ }
+ Frame {
+ msec: 5952
+ hash: "d478be3737e00319cc90e9c53fc8cdca"
+ }
+ Frame {
+ msec: 5968
+ hash: "4d392f0852a197d5875cad45427092c4"
+ }
+ Frame {
+ msec: 5984
+ hash: "b2a9d598fb16a331b1ae609839b02164"
+ }
+ Frame {
+ msec: 6000
+ hash: "c0db11e439225dc4b725a7f1d7ae9840"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 6016
+ hash: "9f5e1ef8af0aaf44c755f35304f5179b"
+ }
+ Frame {
+ msec: 6032
+ hash: "dee750b713080dd6c6191a82d7422161"
+ }
+ Frame {
+ msec: 6048
+ hash: "4f76165ee19bbcb8da190f206eb90c90"
+ }
+ Frame {
+ msec: 6064
+ hash: "3bc9e612703a5462b43aef4e7160b0ae"
+ }
+ Frame {
+ msec: 6080
+ hash: "8223bec3511bffcebdd6be81e2966767"
+ }
+ Frame {
+ msec: 6096
+ hash: "db636385d0e73fcb56bd7c0f0c0d7e10"
+ }
+ Frame {
+ msec: 6112
+ hash: "eeb33d29d7cf77b59372774ee795dd78"
+ }
+ Frame {
+ msec: 6128
+ hash: "7c1d76b6b3c9c9c39cb6f26cbfa7b5ff"
+ }
+ Frame {
+ msec: 6144
+ hash: "8efc144cfcc12e97db3d0359c57707eb"
+ }
+ Frame {
+ msec: 6160
+ hash: "7e8ea890b8ab2ed2a736a2fd108a24a6"
+ }
+ Frame {
+ msec: 6176
+ hash: "9886d9ebe7fe17ad487cf449882a0780"
+ }
+ Frame {
+ msec: 6192
+ hash: "2e62826b1fa6e0bdec3a93a6964ae501"
+ }
+ Frame {
+ msec: 6208
+ hash: "47c505867f2194100f4952a9548d7b44"
+ }
+ Frame {
+ msec: 6224
+ hash: "4326125610d9da145999e11c2417bf9e"
+ }
+ Frame {
+ msec: 6240
+ hash: "dcdb1a8765c16ba563421e36b30e6d33"
+ }
+ Frame {
+ msec: 6256
+ hash: "6d1486fd8d72564de5d936d66f177dd5"
+ }
+ Frame {
+ msec: 6272
+ hash: "e277649cde67f64b0e9b1a76d7878c8d"
+ }
+ Frame {
+ msec: 6288
+ hash: "54307b1f3b8ce30ea4f49e6c2b01a6c3"
+ }
+ Frame {
+ msec: 6304
+ hash: "853a09f007d7046f0d12b7a829029861"
+ }
+ Frame {
+ msec: 6320
+ hash: "d80a513529cb80658a7696c34c33a7dd"
+ }
+ Frame {
+ msec: 6336
+ hash: "d80a513529cb80658a7696c34c33a7dd"
+ }
+ Frame {
+ msec: 6352
+ hash: "d80a513529cb80658a7696c34c33a7dd"
+ }
+ Frame {
+ msec: 6368
+ hash: "d80a513529cb80658a7696c34c33a7dd"
+ }
+ Frame {
+ msec: 6384
+ hash: "d80a513529cb80658a7696c34c33a7dd"
+ }
+ Frame {
+ msec: 6400
+ hash: "d80a513529cb80658a7696c34c33a7dd"
+ }
+ Frame {
+ msec: 6416
+ hash: "d80a513529cb80658a7696c34c33a7dd"
+ }
+ Frame {
+ msec: 6432
+ hash: "d80a513529cb80658a7696c34c33a7dd"
+ }
+ Frame {
+ msec: 6448
+ hash: "d80a513529cb80658a7696c34c33a7dd"
+ }
+ Frame {
+ msec: 6464
+ hash: "d80a513529cb80658a7696c34c33a7dd"
+ }
+ Frame {
+ msec: 6480
+ hash: "d80a513529cb80658a7696c34c33a7dd"
+ }
+ Frame {
+ msec: 6496
+ hash: "d80a513529cb80658a7696c34c33a7dd"
+ }
+ Frame {
+ msec: 6512
+ hash: "d80a513529cb80658a7696c34c33a7dd"
+ }
+ Frame {
+ msec: 6528
+ hash: "d80a513529cb80658a7696c34c33a7dd"
+ }
+ Frame {
+ msec: 6544
+ hash: "d80a513529cb80658a7696c34c33a7dd"
+ }
+ Frame {
+ msec: 6560
+ hash: "d80a513529cb80658a7696c34c33a7dd"
+ }
+ Frame {
+ msec: 6576
+ hash: "d80a513529cb80658a7696c34c33a7dd"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 6592
+ hash: "d80a513529cb80658a7696c34c33a7dd"
+ }
+ Frame {
+ msec: 6608
+ hash: "853a09f007d7046f0d12b7a829029861"
+ }
+ Frame {
+ msec: 6624
+ hash: "54307b1f3b8ce30ea4f49e6c2b01a6c3"
+ }
+ Frame {
+ msec: 6640
+ hash: "e277649cde67f64b0e9b1a76d7878c8d"
+ }
+ Frame {
+ msec: 6656
+ hash: "6d1486fd8d72564de5d936d66f177dd5"
+ }
+ Frame {
+ msec: 6672
+ hash: "dcdb1a8765c16ba563421e36b30e6d33"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 6688
+ hash: "4326125610d9da145999e11c2417bf9e"
+ }
+ Frame {
+ msec: 6704
+ hash: "47c505867f2194100f4952a9548d7b44"
+ }
+ Frame {
+ msec: 6720
+ image: "gridview2.6.png"
+ }
+ Frame {
+ msec: 6736
+ hash: "9886d9ebe7fe17ad487cf449882a0780"
+ }
+ Frame {
+ msec: 6752
+ hash: "7e8ea890b8ab2ed2a736a2fd108a24a6"
+ }
+ Frame {
+ msec: 6768
+ hash: "8efc144cfcc12e97db3d0359c57707eb"
+ }
+ Frame {
+ msec: 6784
+ hash: "7c1d76b6b3c9c9c39cb6f26cbfa7b5ff"
+ }
+ Frame {
+ msec: 6800
+ hash: "8033aa34452963bf474c32357d657291"
+ }
+ Frame {
+ msec: 6816
+ hash: "8033aa34452963bf474c32357d657291"
+ }
+ Frame {
+ msec: 6832
+ hash: "8033aa34452963bf474c32357d657291"
+ }
+ Frame {
+ msec: 6848
+ hash: "8033aa34452963bf474c32357d657291"
+ }
+ Frame {
+ msec: 6864
+ hash: "8033aa34452963bf474c32357d657291"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 6880
+ hash: "8033aa34452963bf474c32357d657291"
+ }
+ Frame {
+ msec: 6896
+ hash: "85281bb31dd2a4a02dccc8ecab2c7d05"
+ }
+ Frame {
+ msec: 6912
+ hash: "83b05ae44a1e20426652ac75899492cb"
+ }
+ Frame {
+ msec: 6928
+ hash: "60ef7f46a0a2c9172f2bab8380f893fd"
+ }
+ Frame {
+ msec: 6944
+ hash: "278eb628024c7b8f4c101ae0c7ed6149"
+ }
+ Frame {
+ msec: 6960
+ hash: "92c830a5f89cf662413b127a06c605a3"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 6976
+ hash: "cee562140d9f2a3702fa6fd059f06473"
+ }
+ Frame {
+ msec: 6992
+ hash: "bd2c954c86c647d1e7d318ac8aa82127"
+ }
+ Frame {
+ msec: 7008
+ hash: "c5eaf6e4c8e1b43c87d9831e151acee4"
+ }
+ Frame {
+ msec: 7024
+ hash: "6e429382a6475cf10afcdb41bc2ceef7"
+ }
+ Frame {
+ msec: 7040
+ hash: "671a251d2e66a9f227006a2833df496e"
+ }
+ Frame {
+ msec: 7056
+ hash: "7d938be743cd72ffea5d0a4980e6edc6"
+ }
+ Frame {
+ msec: 7072
+ hash: "352193740b77a712e2c2ad330bf09d1d"
+ }
+ Frame {
+ msec: 7088
+ hash: "e488fb76fb550fba51b95bee3fee80d5"
+ }
+ Frame {
+ msec: 7104
+ hash: "e488fb76fb550fba51b95bee3fee80d5"
+ }
+ Frame {
+ msec: 7120
+ hash: "e488fb76fb550fba51b95bee3fee80d5"
+ }
+ Frame {
+ msec: 7136
+ hash: "e488fb76fb550fba51b95bee3fee80d5"
+ }
+ Frame {
+ msec: 7152
+ hash: "e488fb76fb550fba51b95bee3fee80d5"
+ }
+ Frame {
+ msec: 7168
+ hash: "e488fb76fb550fba51b95bee3fee80d5"
+ }
+ Frame {
+ msec: 7184
+ hash: "e488fb76fb550fba51b95bee3fee80d5"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 7200
+ hash: "e488fb76fb550fba51b95bee3fee80d5"
+ }
+ Frame {
+ msec: 7216
+ hash: "d32ef62f1983fb803c899298e3c77b17"
+ }
+ Frame {
+ msec: 7232
+ hash: "9f3596e95a7ba704c76948f1ecfc66fc"
+ }
+ Frame {
+ msec: 7248
+ hash: "48a9c4e774d10e1e88dda294adc5ab69"
+ }
+ Frame {
+ msec: 7264
+ hash: "18ec616a58098fec721e20b17e929b42"
+ }
+ Frame {
+ msec: 7280
+ hash: "a59607660cc32a4241f5af03eef49db6"
+ }
+ Frame {
+ msec: 7296
+ hash: "7eef7bbace7c9b73457cffdd3c45349e"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 7312
+ hash: "d9e460e54ed750f89e161b82f7c37526"
+ }
+ Frame {
+ msec: 7328
+ hash: "129d9c9ec225f142ac6e8fe523fd1aae"
+ }
+ Frame {
+ msec: 7344
+ hash: "44b0cb0a4167d8f5e826a361a1f223f8"
+ }
+ Frame {
+ msec: 7360
+ hash: "7f0e4ece9195f7f06175b299b10d3482"
+ }
+ Frame {
+ msec: 7376
+ hash: "822f4aac06674acbc8609d95c4fefe21"
+ }
+ Frame {
+ msec: 7392
+ hash: "9898ec32f6b9e11ff24d92473530694f"
+ }
+ Frame {
+ msec: 7408
+ hash: "4a530e8bfc58fbee76303b7d8a4ea62d"
+ }
+ Frame {
+ msec: 7424
+ hash: "3d1895d6a5d08ca3ceac1c7ef7b530a8"
+ }
+ Frame {
+ msec: 7440
+ hash: "e958eb57c09645e6f4b4f6a2a24be774"
+ }
+ Frame {
+ msec: 7456
+ hash: "8821380e50148c5b488918e8f75a986f"
+ }
+ Frame {
+ msec: 7472
+ hash: "42b500e9848f9989fe367d45a0523eaa"
+ }
+ Frame {
+ msec: 7488
+ hash: "d93ebd971e82a36d85c289cc564331ce"
+ }
+ Frame {
+ msec: 7504
+ hash: "4753d6c2a6b280b450176b3d3ba13c39"
+ }
+ Frame {
+ msec: 7520
+ hash: "24693e3a86aa8ebe8598ddad8aeb01d1"
+ }
+ Frame {
+ msec: 7536
+ hash: "14a2bd17a7b30bab0dfbf5f31cf31414"
+ }
+ Frame {
+ msec: 7552
+ hash: "0052b5abfd354a315ac2b43c6c3e3ef1"
+ }
+ Frame {
+ msec: 7568
+ hash: "dfd0060290351b57b0fd0221ed57384b"
+ }
+ Frame {
+ msec: 7584
+ hash: "921d73b58776bc9abafabdef0898bfc0"
+ }
+ Frame {
+ msec: 7600
+ hash: "b1d77d0f292de883cec9862e0b7a04e2"
+ }
+ Frame {
+ msec: 7616
+ hash: "b1d77d0f292de883cec9862e0b7a04e2"
+ }
+ Frame {
+ msec: 7632
+ hash: "b1d77d0f292de883cec9862e0b7a04e2"
+ }
+ Frame {
+ msec: 7648
+ hash: "b1d77d0f292de883cec9862e0b7a04e2"
+ }
+ Frame {
+ msec: 7664
+ hash: "b1d77d0f292de883cec9862e0b7a04e2"
+ }
+ Frame {
+ msec: 7680
+ image: "gridview2.7.png"
+ }
+ Frame {
+ msec: 7696
+ hash: "b1d77d0f292de883cec9862e0b7a04e2"
+ }
+ Frame {
+ msec: 7712
+ hash: "b1d77d0f292de883cec9862e0b7a04e2"
+ }
+ Frame {
+ msec: 7728
+ hash: "b1d77d0f292de883cec9862e0b7a04e2"
+ }
+ Frame {
+ msec: 7744
+ hash: "b1d77d0f292de883cec9862e0b7a04e2"
+ }
+ Frame {
+ msec: 7760
+ hash: "b1d77d0f292de883cec9862e0b7a04e2"
+ }
+ Frame {
+ msec: 7776
+ hash: "b1d77d0f292de883cec9862e0b7a04e2"
+ }
+ Key {
+ type: 6
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 7792
+ hash: "b1d77d0f292de883cec9862e0b7a04e2"
+ }
+ Frame {
+ msec: 7808
+ hash: "921d73b58776bc9abafabdef0898bfc0"
+ }
+ Frame {
+ msec: 7824
+ hash: "dfd0060290351b57b0fd0221ed57384b"
+ }
+ Frame {
+ msec: 7840
+ hash: "0052b5abfd354a315ac2b43c6c3e3ef1"
+ }
+ Frame {
+ msec: 7856
+ hash: "14a2bd17a7b30bab0dfbf5f31cf31414"
+ }
+ Frame {
+ msec: 7872
+ hash: "24693e3a86aa8ebe8598ddad8aeb01d1"
+ }
+ Frame {
+ msec: 7888
+ hash: "4753d6c2a6b280b450176b3d3ba13c39"
+ }
+ Key {
+ type: 7
+ key: 16777236
+ modifiers: 536870912
+ text: "1d"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 7904
+ hash: "d93ebd971e82a36d85c289cc564331ce"
+ }
+ Frame {
+ msec: 7920
+ hash: "42b500e9848f9989fe367d45a0523eaa"
+ }
+ Frame {
+ msec: 7936
+ hash: "8821380e50148c5b488918e8f75a986f"
+ }
+ Frame {
+ msec: 7952
+ hash: "e958eb57c09645e6f4b4f6a2a24be774"
+ }
+ Frame {
+ msec: 7968
+ hash: "3d1895d6a5d08ca3ceac1c7ef7b530a8"
+ }
+ Frame {
+ msec: 7984
+ hash: "4a530e8bfc58fbee76303b7d8a4ea62d"
+ }
+ Frame {
+ msec: 8000
+ hash: "916eaaf52ffde2b176a3e4a02c447409"
+ }
+ Frame {
+ msec: 8016
+ hash: "916eaaf52ffde2b176a3e4a02c447409"
+ }
+ Frame {
+ msec: 8032
+ hash: "916eaaf52ffde2b176a3e4a02c447409"
+ }
+ Frame {
+ msec: 8048
+ hash: "916eaaf52ffde2b176a3e4a02c447409"
+ }
+ Frame {
+ msec: 8064
+ hash: "916eaaf52ffde2b176a3e4a02c447409"
+ }
+ Frame {
+ msec: 8080
+ hash: "916eaaf52ffde2b176a3e4a02c447409"
+ }
+ Frame {
+ msec: 8096
+ hash: "916eaaf52ffde2b176a3e4a02c447409"
+ }
+ Frame {
+ msec: 8112
+ hash: "916eaaf52ffde2b176a3e4a02c447409"
+ }
+ Frame {
+ msec: 8128
+ hash: "916eaaf52ffde2b176a3e4a02c447409"
+ }
+ Frame {
+ msec: 8144
+ hash: "916eaaf52ffde2b176a3e4a02c447409"
+ }
+ Frame {
+ msec: 8160
+ hash: "916eaaf52ffde2b176a3e4a02c447409"
+ }
+ Frame {
+ msec: 8176
+ hash: "916eaaf52ffde2b176a3e4a02c447409"
+ }
+ Frame {
+ msec: 8192
+ hash: "916eaaf52ffde2b176a3e4a02c447409"
+ }
+ Key {
+ type: 6
+ key: 16777235
+ modifiers: 536870912
+ text: "1e"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 8208
+ hash: "916eaaf52ffde2b176a3e4a02c447409"
+ }
+ Frame {
+ msec: 8224
+ hash: "754ab9d39b63a37fff9438192b922dca"
+ }
+ Frame {
+ msec: 8240
+ hash: "57c269040d25924ac208692c687fcc9e"
+ }
+ Frame {
+ msec: 8256
+ hash: "78062136ee9f2ddae9c34e2ae66bfc49"
+ }
+ Frame {
+ msec: 8272
+ hash: "995fb06a454ce29db5d3c4433c2a93ec"
+ }
+ Key {
+ type: 7
+ key: 16777235
+ modifiers: 536870912
+ text: "1e"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 8288
+ hash: "ca89d735d9315377908c6e268eaff16b"
+ }
+ Frame {
+ msec: 8304
+ hash: "76bbf3fc1f0261fcaed5e0a245e99c56"
+ }
+ Frame {
+ msec: 8320
+ hash: "6c6cdb20b617ec634370efca554367b1"
+ }
+ Frame {
+ msec: 8336
+ hash: "f979473bd94f44db812795cdfee11bbe"
+ }
+ Frame {
+ msec: 8352
+ hash: "900faba9568c2d31df8773b872f13dbe"
+ }
+ Frame {
+ msec: 8368
+ hash: "d70076d643952efdeb1fce506623c33a"
+ }
+ Frame {
+ msec: 8384
+ hash: "2dbe655931825dd8af1d8b75a46a1d2d"
+ }
+ Frame {
+ msec: 8400
+ hash: "0162a9b00b9b7b69d487f9a1e85f6407"
+ }
+ Frame {
+ msec: 8416
+ hash: "7240727aedaf9f3d72c33a95175255a4"
+ }
+ Frame {
+ msec: 8432
+ hash: "7240727aedaf9f3d72c33a95175255a4"
+ }
+ Frame {
+ msec: 8448
+ hash: "7240727aedaf9f3d72c33a95175255a4"
+ }
+ Frame {
+ msec: 8464
+ hash: "7240727aedaf9f3d72c33a95175255a4"
+ }
+ Key {
+ type: 6
+ key: 16777235
+ modifiers: 536870912
+ text: "1e"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 8480
+ hash: "7240727aedaf9f3d72c33a95175255a4"
+ }
+ Frame {
+ msec: 8496
+ hash: "0cf200b277d35697e1dd785b051ee0d1"
+ }
+ Frame {
+ msec: 8512
+ hash: "a5d3f2ce5649466fa81073821d58b4c2"
+ }
+ Frame {
+ msec: 8528
+ hash: "c7ff1e80b4bffcb4e42e83e96f7b1231"
+ }
+ Frame {
+ msec: 8544
+ hash: "1d1358126ed02a890344d881a5e59fd5"
+ }
+ Key {
+ type: 7
+ key: 16777235
+ modifiers: 536870912
+ text: "1e"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 8560
+ hash: "371d29e0160a9060a1b84b36fdfc6178"
+ }
+ Frame {
+ msec: 8576
+ hash: "94a0b0b69d4891b6cea345225105b0f4"
+ }
+ Frame {
+ msec: 8592
+ hash: "8cb68d6d214044ee58dae2641bcab4d4"
+ }
+ Frame {
+ msec: 8608
+ hash: "93813fc46675f13d1d85a139710c0760"
+ }
+ Frame {
+ msec: 8624
+ hash: "d5da634c1e30ae7898699eaec638e205"
+ }
+ Frame {
+ msec: 8640
+ image: "gridview2.8.png"
+ }
+ Frame {
+ msec: 8656
+ hash: "e5a3c5a92e640e66c554f52469f47b31"
+ }
+ Frame {
+ msec: 8672
+ hash: "561a894707b154acf5a6beee16e014e5"
+ }
+ Frame {
+ msec: 8688
+ hash: "aacc636aa3658958a2d5046130ca422c"
+ }
+ Frame {
+ msec: 8704
+ hash: "aacc636aa3658958a2d5046130ca422c"
+ }
+ Frame {
+ msec: 8720
+ hash: "aacc636aa3658958a2d5046130ca422c"
+ }
+ Frame {
+ msec: 8736
+ hash: "aacc636aa3658958a2d5046130ca422c"
+ }
+ Frame {
+ msec: 8752
+ hash: "aacc636aa3658958a2d5046130ca422c"
+ }
+ Frame {
+ msec: 8768
+ hash: "aacc636aa3658958a2d5046130ca422c"
+ }
+ Frame {
+ msec: 8784
+ hash: "aacc636aa3658958a2d5046130ca422c"
+ }
+ Key {
+ type: 6
+ key: 16777235
+ modifiers: 536870912
+ text: "1e"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 8800
+ hash: "aacc636aa3658958a2d5046130ca422c"
+ }
+ Frame {
+ msec: 8816
+ hash: "cdceca4bc7b3a05fc8d0e1d90bd7c84e"
+ }
+ Frame {
+ msec: 8832
+ hash: "54758c6d678ab6fa000282e7c34dba81"
+ }
+ Frame {
+ msec: 8848
+ hash: "0b64560a1c0c5eb6f41eecf863581185"
+ }
+ Frame {
+ msec: 8864
+ hash: "d205b1421f61c09c4a380f1b71758fa9"
+ }
+ Key {
+ type: 7
+ key: 16777235
+ modifiers: 536870912
+ text: "1e"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 8880
+ hash: "87117d124480f50452451990d1e1f967"
+ }
+ Frame {
+ msec: 8896
+ hash: "4e2892234cbcd10cc6c3369bcd5a83c3"
+ }
+ Frame {
+ msec: 8912
+ hash: "81abd23f89029d33804f89dc65096994"
+ }
+ Frame {
+ msec: 8928
+ hash: "c516e9a6d29939b8be171e104e732f57"
+ }
+ Frame {
+ msec: 8944
+ hash: "64f6f8e3e952219542af56c71ca8456c"
+ }
+ Frame {
+ msec: 8960
+ hash: "258d650a1f92064f5f37eba5f36097e1"
+ }
+ Frame {
+ msec: 8976
+ hash: "66d06f8aa8a2783585be7589580acb22"
+ }
+ Frame {
+ msec: 8992
+ hash: "2b80eef9fafd5aa77b64144602a26ca5"
+ }
+ Frame {
+ msec: 9008
+ hash: "88e47e6aab5c39bde5bb088b4290ade7"
+ }
+ Frame {
+ msec: 9024
+ hash: "88e47e6aab5c39bde5bb088b4290ade7"
+ }
+ Frame {
+ msec: 9040
+ hash: "88e47e6aab5c39bde5bb088b4290ade7"
+ }
+ Frame {
+ msec: 9056
+ hash: "88e47e6aab5c39bde5bb088b4290ade7"
+ }
+ Frame {
+ msec: 9072
+ hash: "88e47e6aab5c39bde5bb088b4290ade7"
+ }
+ Frame {
+ msec: 9088
+ hash: "88e47e6aab5c39bde5bb088b4290ade7"
+ }
+ Key {
+ type: 6
+ key: 16777235
+ modifiers: 536870912
+ text: "1e"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 9104
+ hash: "88e47e6aab5c39bde5bb088b4290ade7"
+ }
+ Frame {
+ msec: 9120
+ hash: "c9856dbc374a487054e9930443617b51"
+ }
+ Frame {
+ msec: 9136
+ hash: "863f8a4336b9487fa6050920b5c5445f"
+ }
+ Frame {
+ msec: 9152
+ hash: "15966d5c44aad8d231d3b08fd879d06d"
+ }
+ Frame {
+ msec: 9168
+ hash: "294e1360ba8551963a873b4216a22268"
+ }
+ Key {
+ type: 7
+ key: 16777235
+ modifiers: 536870912
+ text: "1e"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 9184
+ hash: "6a051090b04631480cb4e61d5197495b"
+ }
+ Frame {
+ msec: 9200
+ hash: "6cec62afc9eaf4157553207b5de3186a"
+ }
+ Frame {
+ msec: 9216
+ hash: "5a75c18bf80d99901872cabac4c75c59"
+ }
+ Frame {
+ msec: 9232
+ hash: "caa915713b3996bc4f38faed7ef9692f"
+ }
+ Frame {
+ msec: 9248
+ hash: "95f561f70fa88bb9cc65ba8495361ffe"
+ }
+ Frame {
+ msec: 9264
+ hash: "902524e1adbbfa154f80938a731720d1"
+ }
+ Frame {
+ msec: 9280
+ hash: "618e53106212d428e891de289c6a09c9"
+ }
+ Frame {
+ msec: 9296
+ hash: "70ca177e13273b79da870072848616ce"
+ }
+ Frame {
+ msec: 9312
+ hash: "fad7be058489838a16234c13771da043"
+ }
+ Frame {
+ msec: 9328
+ hash: "fad7be058489838a16234c13771da043"
+ }
+ Frame {
+ msec: 9344
+ hash: "fad7be058489838a16234c13771da043"
+ }
+ Frame {
+ msec: 9360
+ hash: "fad7be058489838a16234c13771da043"
+ }
+ Frame {
+ msec: 9376
+ hash: "fad7be058489838a16234c13771da043"
+ }
+ Frame {
+ msec: 9392
+ hash: "fad7be058489838a16234c13771da043"
+ }
+ Frame {
+ msec: 9408
+ hash: "fad7be058489838a16234c13771da043"
+ }
+ Key {
+ type: 6
+ key: 16777235
+ modifiers: 536870912
+ text: "1e"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 9424
+ hash: "fad7be058489838a16234c13771da043"
+ }
+ Frame {
+ msec: 9440
+ hash: "6935dc4b1e3ec8cb994e424aa79be008"
+ }
+ Frame {
+ msec: 9456
+ hash: "2f303654e651ec5efd93e5d67ccf2bb0"
+ }
+ Frame {
+ msec: 9472
+ hash: "6f4134bceaef09336413634a90064df9"
+ }
+ Frame {
+ msec: 9488
+ hash: "6bcf0084c86f5b3643b858e5506d7541"
+ }
+ Key {
+ type: 7
+ key: 16777235
+ modifiers: 536870912
+ text: "1e"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 9504
+ hash: "cd4003c9c35971f0992140407ee4c1dc"
+ }
+ Frame {
+ msec: 9520
+ hash: "513809beb2d08ceb6e3dddc741c91ea6"
+ }
+ Frame {
+ msec: 9536
+ hash: "bb172a6667414a6152ea7be9ee001537"
+ }
+ Frame {
+ msec: 9552
+ hash: "5a90ce27ac85ea34120a2f4f44b71449"
+ }
+ Frame {
+ msec: 9568
+ hash: "344993181b11737f8fe95483dffeef4e"
+ }
+ Frame {
+ msec: 9584
+ hash: "4ca8d732a4922bb1d1a460ed561e90a8"
+ }
+ Frame {
+ msec: 9600
+ image: "gridview2.9.png"
+ }
+ Frame {
+ msec: 9616
+ hash: "5e510910df3236fe0f616276f1d30246"
+ }
+ Frame {
+ msec: 9632
+ hash: "9bd4d01ff09c0615af59ef664240bc9f"
+ }
+ Frame {
+ msec: 9648
+ hash: "9bd4d01ff09c0615af59ef664240bc9f"
+ }
+ Frame {
+ msec: 9664
+ hash: "9bd4d01ff09c0615af59ef664240bc9f"
+ }
+ Frame {
+ msec: 9680
+ hash: "9bd4d01ff09c0615af59ef664240bc9f"
+ }
+ Frame {
+ msec: 9696
+ hash: "9bd4d01ff09c0615af59ef664240bc9f"
+ }
+ Frame {
+ msec: 9712
+ hash: "9bd4d01ff09c0615af59ef664240bc9f"
+ }
+ Frame {
+ msec: 9728
+ hash: "9bd4d01ff09c0615af59ef664240bc9f"
+ }
+ Frame {
+ msec: 9744
+ hash: "9bd4d01ff09c0615af59ef664240bc9f"
+ }
+ Frame {
+ msec: 9760
+ hash: "9bd4d01ff09c0615af59ef664240bc9f"
+ }
+ Frame {
+ msec: 9776
+ hash: "9bd4d01ff09c0615af59ef664240bc9f"
+ }
+ Key {
+ type: 6
+ key: 16777235
+ modifiers: 536870912
+ text: "1e"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 9792
+ hash: "9bd4d01ff09c0615af59ef664240bc9f"
+ }
+ Frame {
+ msec: 9808
+ hash: "ed2f5376944bd2b113ca8a658f7e039a"
+ }
+ Frame {
+ msec: 9824
+ hash: "d0f89a274132600dd5080199a59d987d"
+ }
+ Frame {
+ msec: 9840
+ hash: "e4a48a016105d700ee77ee3b9a72915a"
+ }
+ Frame {
+ msec: 9856
+ hash: "738ac20b239f5adfc9a537e0ce2f422e"
+ }
+ Frame {
+ msec: 9872
+ hash: "422ce76c5ba7c0edb485436e3ad7bd8b"
+ }
+ Key {
+ type: 7
+ key: 16777235
+ modifiers: 536870912
+ text: "1e"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 9888
+ hash: "a24b4fee45a5c1cadd51dd5eeec4d785"
+ }
+ Frame {
+ msec: 9904
+ hash: "d183b814bed2b1324fdf673f9dde3c98"
+ }
+ Frame {
+ msec: 9920
+ hash: "ceb6626e581b7eb5560829768b9be444"
+ }
+ Frame {
+ msec: 9936
+ hash: "6384040fb8815701604e2c68ed5f19fe"
+ }
+ Frame {
+ msec: 9952
+ hash: "a80d8cbf0c6fe8383badbb2badb361ad"
+ }
+ Frame {
+ msec: 9968
+ hash: "c1a568599592a3f455ad550c2e4878a8"
+ }
+ Frame {
+ msec: 9984
+ hash: "1087cd3d8d5afbe101cabfc9ec3cd055"
+ }
+ Frame {
+ msec: 10000
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 10016
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 10032
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 10048
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 10064
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 10080
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 10096
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 10112
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 10128
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Key {
+ type: 6
+ key: 16777235
+ modifiers: 536870912
+ text: "1e"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 10144
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 10160
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 10176
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 10192
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 10208
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 10224
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 10240
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Key {
+ type: 7
+ key: 16777235
+ modifiers: 536870912
+ text: "1e"
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 10256
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 10272
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 10288
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 10304
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 10320
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 10336
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 10352
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 10368
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 10384
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 10400
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 10416
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 10432
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 10448
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 10464
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Key {
+ type: 6
+ key: 16777249
+ modifiers: 67108864
+ text: ""
+ autorep: false
+ count: 1
+ }
+ Frame {
+ msec: 10480
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 10496
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 10512
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 10528
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 10544
+ hash: "0d30916c7e05ff8609af5894f47a89bb"
+ }
+ Frame {
+ msec: 10560
+ image: "gridview2.10.png"
+ }
+}
diff --git a/tests/auto/declarative/visual/qmlgraphicsgridview/gridview.qml b/tests/auto/declarative/visual/qmlgraphicsgridview/gridview.qml
new file mode 100644
index 0000000..f8782a5
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsgridview/gridview.qml
@@ -0,0 +1,51 @@
+import Qt 4.6
+
+Rectangle {
+ width: 300; height: 400; color: "black"
+
+ ListModel {
+ id: appModel
+ ListElement { lColor: "red" }
+ ListElement { lColor: "yellow" }
+ ListElement { lColor: "green" }
+ ListElement { lColor: "blue" }
+ ListElement { lColor: "purple" }
+ ListElement { lColor: "orange" }
+ ListElement { lColor: "pink" }
+ ListElement { lColor: "brown" }
+ ListElement { lColor: "gray" }
+ ListElement { lColor: "red" }
+ ListElement { lColor: "yellow" }
+ ListElement { lColor: "green" }
+ ListElement { lColor: "blue" }
+ ListElement { lColor: "purple" }
+ ListElement { lColor: "orange" }
+ ListElement { lColor: "pink" }
+ ListElement { lColor: "brown" }
+ ListElement { lColor: "gray" }
+ }
+
+ Component {
+ id: appDelegate
+ Item {
+ width: 100; height: 100
+ Rectangle {
+ color: lColor; x: 4; y: 4
+ width: 92; height: 92
+ }
+ }
+ }
+
+ Component {
+ id: appHighlight
+ Rectangle { width: 100; height: 100; color: "white"; z: 3000 }
+ }
+
+ GridView {
+ anchors.fill: parent
+ cellWidth: 100; cellHeight: 100; cacheBuffer: 200
+ model: appModel; delegate: appDelegate
+ highlight: appHighlight
+ focus: true
+ }
+}
diff --git a/tests/auto/declarative/visual/qmlgraphicsgridview/gridview2.qml b/tests/auto/declarative/visual/qmlgraphicsgridview/gridview2.qml
new file mode 100644
index 0000000..b30e693
--- /dev/null
+++ b/tests/auto/declarative/visual/qmlgraphicsgridview/gridview2.qml
@@ -0,0 +1,57 @@
+import Qt 4.6
+
+Rectangle {
+ width: 300; height: 400; color: "black"
+
+ ListModel {
+ id: appModel
+ ListElement { lColor: "red" }
+ ListElement { lColor: "yellow" }
+ ListElement { lColor: "green" }
+ ListElement { lColor: "blue" }
+ ListElement { lColor: "purple" }
+ ListElement { lColor: "orange" }
+ ListElement { lColor: "pink" }
+ ListElement { lColor: "brown" }
+ ListElement { lColor: "gray" }
+ ListElement { lColor: "red" }
+ ListElement { lColor: "yellow" }
+ ListElement { lColor: "green" }
+ ListElement { lColor: "blue" }
+ ListElement { lColor: "purple" }
+ ListElement { lColor: "orange" }
+ ListElement { lColor: "pink" }
+ ListElement { lColor: "brown" }
+ ListElement { lColor: "gray" }
+ ListElement { lColor: "red" }
+ ListElement { lColor: "yellow" }
+ ListElement { lColor: "green" }
+ }
+
+ Component {
+ id: appDelegate
+ Item {
+ width: 100; height: 100
+ Rectangle {
+ color: lColor; x: 4; y: 4
+ width: 92; height: 92
+ }
+ }
+ }
+
+ GridView {
+ id: gridView; anchors.fill: parent
+ cellWidth: 100; cellHeight: 100; cacheBuffer: 200
+ model: appModel; delegate: appDelegate; focus: true
+
+ flickableData: [
+ Rectangle {
+ color: "transparent"; border.color: "white"; border.width: 8; z: 3000
+ height: 100; width: 100; x: 4; y: 4
+ x: EaseFollow { source: gridView.currentItem.x; velocity: 500 }
+ y: EaseFollow { source: gridView.currentItem.y; velocity: 500 }
+ }
+ ]
+ }
+
+}